text:
|Publication number
|Publication type
|Application number
|Publication date
|Jun 27, 2006
|Filing date
|May 10, 2004
|Priority date
|Aug 10, 2001
|Fee status
|Also published as
|Publication number
|Gheorghe Stefan, Dominique Thiebaut, Dan Tomescu
|Original Assignee
|Connex Technology, Inc.
|Export Citation
|BiBTeX, EndNote, RefMan
|Patent Citations (25), Non-Patent Citations (10), Referenced by (13), Classifications (9), Legal Events (10)
|External Links: USPTO, USPTO Assignment, Espacenet
This application is a Continuation-in-Part of, and claims priority to, allowed U.S. patent application Ser. No. 09/928,151 entitled "A MEMORY ENGINE FOR THE INSPECTION AND MANIPULATION OF DATA", filed on Aug. 10, 2001, now U.S. Pat. No. 6,760,821, as well as including essential subject matter of U.S. patent application Ser. No. 10/728,234 entitled "DATA PROCESSING SYSTEM FOR A CARTESIAN CONTROLLER", filed Dec. 4,2003, and U.S. patent application Ser. No. 10/727,811 entitled "CELLULAR ENGINE FOR A DATA PROCESSING SYSTEM", filed Dec. 4, 2003, both of which are herein incorporated by reference in their entirety.
The invention relates generally to an associative memory support for data processing, and more particularly, to a memory engine which utilizes improved associative techniques to provide for greater data processing speed and flexibility.
Searching a buffer, or other memory device, comprised of symbols for strings that match a given or predetermined string of symbols is a basic operation found in many applications, such as but not limited to databases, the processing of genetic information, data compression, and the processing of computer languages. Modification of a string by inserting new sequences in it, or deleting sequences from it, is also a basic operation in these domains, and the time taken by these string operations influences directly the execution time of the main applications.
When a serial computation is performed, that is, a matching operation, to find all occurrences of strings of N symbols in a buffer containing M symbols, the maximum number of steps required is N*M. When an insertion of a character is necessary inside the buffer, on the average of half of the symbols in the buffer have to be moved one cell to the right or to the left to make room for the new cell. In this case, an average of N/2 steps are required.
Serial algorithms have been proposed to improve these operations, and they are based on several techniques including hashing, or tree data structures. Hashing is used when the strings of interests are words of fixed length. In this case each word is associated with a unique number that is used as the index where that word is stored in a dictionary. This method has the disadvantage that it works well only when the information is static, and does not change location during processing. Furthermore, generating this number is a costly operation, and sometimes several words may be associated with the same number, requiring additional work to find the word sought. Suffix trees may also be utilized and are tree structures in which all the substrings present in the buffer are stored. When one wants to see if a given string is located in the buffer, one only has to descend the tree, one character of the sought string at a time, until the string is either found, or not found. In either case, if the string contains M symbols, at most M steps are required to decide if the string is in the buffer of length L. Although this search method is fast, building the suffix tree is oftentimes computationally expensive.
The Content Addressable Memory, or CAM, is a parallel solution for finding the location of a given symbol or word in a single memory access. This method works well for fixed length words, but does not extend easily to variable length strings of symbols. When the search can be performed in parallel in the buffer, that is when M comparisons can be performed at the same time, then the number of steps is reduced to N. Buffers with parallel comparators and markers storing the result of each comparison with a given symbol have been proposed to speed up string searches. See, for example, Almy et al., U.S. Pat. No. 4,575,818; Mayer, U.S. Pat. No. 5,319,762; Eskandari-Gharnin et al., U.S. Pat. No. 5,602,764; or Satoh, et al., U.S. Pat. No. 5,448,733. These known devices typically associate a comparator with each cell of the buffer, along with a one-bit marker storing the result of the last comparison performed. The comparator, storage cell and marker operate in such a way that a symbol from the string to be located in the buffer is broadcast to all the comparators of the buffer. These comparators in turn compare the given symbol to that stored in their associated storage cell. The result of the comparison is stored in the marker associated with the comparator and storage cell.
Buffers implemented as shift registers allow their contents to be shifted to the left or to the right in parallel, synchronously to a clock signal. In this case the whole contents of the buffer can be shifted in just one step. These buffers, however, do not offer only a section of their contents to be shifted, but offer only global shift operations. Moreover, the integration of separate comparators for each cell of the buffer tends to increase the size and complexity of the device as a whole, thus leading to excessive cost and energy use.
With the forgoing problems and concerns in mind, the present invention therefore seeks to utilize a memory apparatus which allows for very fast character strings searches, insertions and deletions, wherein a new type of memory storage circuit called a Connex Memory (hereinafter, CM) is utilized.
In particular, the present invention proposes a Connex Memory device that operates in the manner of an associative memory, yet which includes a flexability not heretofore known in associative memory devices.
Known data processing systems most often utilize conventionally addressed memory devices. That is, known data systems utilize memory devices which include defined locales therein, each locale having its own particularized address. In this manner, should a system processor desire to add the value stored at address A with the value stored at address B, the conventional memory device will proceed to the specific, addressed locations, or cells, within the memory device, and communicate these values, via an interface, to the processor where the appropriate summation can occur. In such systems, the nature and capability of the integral components, that is, the nature and capabilities of the processor and the memory devices, are well defined and distinct from one another.
It is also known that data processing systems may include more than one processor and memory device, and further, that these multiple components may be part of a system that executes multiple streams of instructions. These multiple instruction streams, multiple data streams (MIMD) devices can be viewed as large collections of tightly coupled SISD devices where each processor in the system, although operating in overall concert with the other integrated processors, is responsible for a specific portion of a greater task. That is, the effectiveness of MIMD devices is typically limited to those specified arenas where the problem to be solved lends itself to being parsable into a plurality of similar and relatively independent sub-problems. The nature and capabilities of those integral components of MIMD devices are also well defined and distinct from one another.
Another known data processing system involves single instruction, multiple data streams (SIMD) devices. These SIMD devices utilize an arbitrary number of processors which all execute, in sync with one another, the same program, but with each processor applying the operator specified by the current instruction to different operands and thereby producing its own result. The processors in a SIMD device access integrated memory devices to get operands and to store results. Once again, the nature and capabilities of those integral components of a SIMD device are well defined and distinct from one another in that computations are executed by the processors that must have some type of access to a memory device to do their job.
While known data processing systems are therefore capable of processing large amounts of data, the defined and unchanging nature of the processors and memory devices limits the speed and efficiency at which various operations may be completed.
Thus, various architectures have also been constructed which utilize another class of memory devices which are not conventionally addressed. These memory devices are typically described as being 'associative' memory devices and, as indicated, do not catalog their respective bits of data by their physical location within the memory device. Rather, associative memory devices 'address' their data bits by the nature, or intrinsic quality, of the information stored therein. That is, data within associative memory devices are not identified by the name of their physical locations within the memory device, but rather from the properties of the data stored in each particular cell of the memory device.
A key field of a fixed, or limited, size is attached to all data stored in most associative memory devices. A search key may then be utilized to select a specific data field, or plurality of data fields, whose attached key field(s) match the search key, irrespective of their named location, for subsequent processing in accordance with directed instructions.
In these known associative memory devices, all data stored therein includes a key field and a corresponding data field. Known associative searching and data-manipulation techniques examine the key fields within an associative memory to determine which of the corresponding data fields includes data of particular interest for a predetermined command. Once identified, any data fields of continued interest may be 'tagged' or 'marked' by changing the state of one or more bits within the appropriate key field, thus leaving the associated data fields primed for subsequent searching or manipulative commands.
Therefore, known associative memory devices rely upon a controller capable of observing the content of key fields so as to identify those data fields of interest. While these known associative systems are useful to a certain degree, they still suffer from a lack of flexibility in the searching architecture, and thus their utility is correspondingly diminished while their processing time is increased.
With the foregoing problems and concerns in mind, the present invention seeks to increase the flexibility of known associative memory devices so as to increase their utility while simultaneously reducing their processing times.
It is an object of the present invention to provide an efficient data processing system.
It is another important aspect of the present invention to provide a cellular engine for a data processing system that implements an active associative memory, or associative engine device, in a manner which increases data processing speeds and efficiency.
It is another important aspect of the present invention to provide a cellular engine for a data processing system that implements an active associative memory, or associative engine device, capable of universally utilizing any cell in either the key field or the data field.
It is another important aspect of the present invention to provide a cellular engine for a data processing system that implements an active associative memory device, or associative engine, where there is no distinction between the key field and the data field of the associative memory device during the implementation of a predetermined command.
It is another important aspect of the present invention to provide a cellular engine for a data processing system that implements an active associative memory device, or associative engine, whose individual cells can selectively process, in parallel, a given instruction based upon their respective state, all within a single clock cycle.
It is another important aspect of the present invention to provide a cellular engine for a data processing system that implements an active memory device, or cellular engine, whose structure is homogeneous, thus allowing the very same piece of information stored in memory to be (part of) either the key field or data field at different times during the execution of a program.
It is another object of the present invention to provide a cellular engine for an efficient data processing system that enables the dynamic limitation of the search space within an active associative memory device.
According to one embodiment of the present invention, an associative memory support for a data processing system includes an associative memory device containing n-cells. A controller is provided for issuing an instruction to the associative memory device. A clock device outputs a synchronizing clock signal that includes a predetermined number of clock cycles per second, the clock device outputting the synchronizing clock signal to the associative memory device and the controller. The controller globally communicates the instruction to all of the n-cells simultaneously, within one of the clock cycles and the instruction is applied equally to each of the n-cells.
These and other objectives of the present invention, and their preferred embodiments, shall become clear by consideration of the specification, claims and drawings taken as a whole.
The CM is a physical support for storing strings of words each taking values from a finite set of memory symbols, each word augmented by 'setting' an additional bit, thereby marking the word with one of two states: marked or not marked. The term 'memory symbol' is interpreted herein to mean a fixedlength collection of consecutive bits, and whose length depends on the application and is not set a priori.
The structure of the present invention allows for the execution of all the CM commands in one clock cycle with a delay of approximately twice that of the delay typically encountered in current cache memory technology. The structure described herein is that of a stand-alone circuit, which can also be replicated in a more elaborate circuit.
As depicted in
As shown in block 304 of
After inspecting the portion of the character string in the CM 206 and, if necessary, setting one or more markers therein, the CE 205 then stores the contents of the CM 206 back in the first buffer of the line memory 200, loads the contents of the second buffer and performs the same operation. The CE 205 continues the pattern of loading a buffer into the CM 206, string-processing in the CM 206, and storing the contents of the CM 206 back to the buffer, until the whole character string has been processed. Because of the level of locality present in the string of symbols searched, the number of buffers loaded into the CM 206 quickly decreases as the number of search operations progresses, quickly limiting the bulk of operations to a small number of buffers.
It is therefore an important aspect of the present invention that the entirety of the character string data stored in the buffers of the line memory 200 need not be repetitively inspected in response to a command issued from the controller 255 as the presence (or absence) of set markers enables certain buffers to be eliminated from subsequent review. For example, if the command issued by the controller 255 instructs a search for a given set of data elements (as will be described in more detail later), the CM 206 will first go through each of the character strings in each of the buffers in the line memory 200, setting markers where appropriate as it searches for the first of the data elements. Subsequent inspection of the buffers in the line memory 200 will then be restricted to those buffers which include a set marker, while excluding those which do not have a set marker. In this manner, the CM 206 of the present invention need not repetitively search those buffers which cannot possibly include all components of the data elements to be searched, thereby significantly and progressively eliminating the review of large amounts of data and thus speeding response time.
It is another important aspect of the present invention that the CM 206 is capable of performing a number of operations in parallel with one another, all within one clock cycle. Therefore, with respect to
The next sections describe the operations of the CM 206 and the operation of the CE 205 in greater detail, in association with specific commands issued by the controller 255.
The CM 206 operates by receiving commands and data, typically from the controller 255. When commands require a data operand, such as a 'find' command which locates all the occurrences of a given symbol, or data element, in a character, or symbol, string currently stored in the CM 206, both the command and the symbol are fed to the CM 206 at the same time. The CM 206 supports several types of commands, divided into two main categories: forward commands, and reverse commands. Each group contains three types of commands: commands that set or reset the markers associated with the cells, commands that access words stored in cell whose marker is set, and commands that modify the word stored in a cell whose marker is set. Although the present design sports a one-bit marker associated with each storage word, several bits can be used to code the state of each word without departing from the broader aspects of the present invention.
We first describe commands belonging to the forward-command group. The instructions in the reverse group behave in a mirror-image fashion, as described later. In the discussion that follows, the term symbol represents any logical block of bits. For some applications, 8-bit bytes can be the preferred implementation. In others, such as biological processing of genomic strings, symbols can be 4-bit entities.
Forward Commands
For string search and insert operations, an input data string is fed to the CM 206 one symbol (e.g. character) at a time along with a command. When the command is a search, each symbol is simultaneously compared to all the symbols currently stored in the CM 206. Two types of comparisons, conditional and unconditional, can be performed. The first symbol of a string is searched unconditionally, while subsequent symbols are searched conditionally on the previous symbol having been found in the CM 206.
When the operation is an insert, the symbols in the CM 206 on the right hand-side of the insertion point are shifted right by one location, and the new symbol is stored at the insertion point. In one embodiment of the present invention, the insertion point is the location of the first symbol with a marker set.
It is another important object of the present invention that the search and insert operations operate both in one clock cycle only, owing to efficiency of the CE 205 system architecture, as discussed previously.
With string delete operations, successive symbols are read from the deletion point in the CM 206, and all the symbols on the right side of this point are shifted left by one position. Here again, the deletion point is the location of the first or last storage cell with a set marker. The read and shift components of this operation are done simultaneously and take one clock cycle only.
A description of the commands implementing the above operations will now be explained.
The find and cfind commands are access commands. As depicted in the flow diagrams of
The cfind command, for "conditional find", works similarly to find, in that a symbol is also fed to the CM 206 along with the command, and the CM 206 performs an associative search of this symbol, but in this case, only cells, or buffers of the line memory 200, that have a marker that is previously set are involved in the comparison, as depicted in
As explained herein, it will be readily appreciated that
It will readily be appreciated that by selectively bypassing the CE 205 and the line memory 200 in those situations where the CM 206 can accommodate the data to be inspected, processing time and expended energy may be correspondingly conserved.
Another proposed command is the read-forward command. The read-forward command makes the CM 206 return the symbol stored in the first, i.e. the left-most, cell which has a marker set. In the presented scheme, according to accepted practice, the left-most symbol of the CM 206 has Address 0, and the right-most Address M-1, assuming a storage capacity of M symbols.
As soon as a read operation is performed, the marker of the cell just read is reset, and the marker of the cell next to the one just read becomes set. Assume that the CM contains "RO[N] AND RO[B]ERT" again. The result of a read-forward command is the output by the CM of the symbol 'N', and the left-most marker changing as follows: "RON[ ]AND RO[B]ERT". The space symbol is now marked.
Another proposed command is the insert command. The insert command is applied to the CM 206 along with a symbol X. This command takes effect only on the first, or left-most, marked cell of the CM 206. When the symbol X is inserted, the contents and state of all the cells to the right of the first marked cell, including the markers, are shifted to the right by one position, and the symbol X is stored in the previous location of the first marked cell. The marker of the cell that just received the new symbol is reset. The marker of the cell that is directly to the right of this cell gets set. As an example, assuming that the CM 206 contains "R[O]N AND R[O]BERT", then insert(X) will cause the contents of the CM 206 to "RX[O]N AND R[O]BERT".
Another proposed command is the delete command. The delete command works by removing the symbol stored in the first marked cell, and by shifting left all the contents of all cells to the right of this cell. Assuming that the CM contains "RO[N] AND RO[B]ERT", then after the delete command takes effect, the CM contains "RO[ ]AND RO[B]ERT".
Another proposed command is the next command. The next command does not have a parameter, and resets the marker of the first, or left-most, marked cell. This way, when several markers are set, this command can be used repeatedly to allow access to all the marked cells of the CM 206. For example, assuming that the CM 206 contains "R[O]N AND R[O]BERT", the execution of next changes the contents of the CM 206 to "RON AND R[O]BERT".
Returning briefly to
Another proposed command is the write-one command. The write-one command is applied to the CM 206 along with a symbol S, which is written to the first or left-most marked cell of the CM 206. The marker of this cell is reset, and the marker of the cell that linearly follows is set.
Another proposed command is the write-all command. The write-all command is applied to the CM 206 along with a symbol S which is written simultaneously and in one clock cycle to all cells of the CM 206 that have a set marker. The markers of these cells are reset, and the markers of the cells that follow these cells are set.
Another proposed command is the write command. The write command is applied to the CM 206 along with an address A and a symbol S, which is stored in the cell of the CM 206 of address A. This command is similar to a write operation in a random-access memory. The marker associated with the cell of Address A is reset, and the marker of the cell that follows linearly is set.
The read command is applied to the CM 206 along with an address A, and makes the CM 206 output the contents of its cell located at Address A. This command is similar to the read operation of a random-access memory. The marker of the cell accessed by this operation is not modified.
Another proposed command is the jump command. The jump command is applied to the CM 206 to address those situations where character strings of varying lengths are stored in the CM 206, with identical prefixes and suffixes (i.e. same sequence starting the two strings, and same sequence ending the two strings), but with different mid sections, which can be of different length, and furthermore if the last symbol of the prefixes of all the strings are marked, then the CM 206 supports an operation called jump which takes one operand, and whose behavior is best illustrated by an example.
Assume the CM 206 contains two strings in different parts of its storage: "AAA%BB%CCCC" and "AAA%DDD%CCCC", where '%' represents a unique symbol used as a delimiter for the particular application at hand. Assume furthermore that the markers associated with the '%' following the AAA prefixes have been set, for example by executing the commands find(A), cfind(A), cfind(A): "AAA[%]BB%CCCC", and "AAA[%]DDD%CCCC". The purpose of the jump(s) command, where s is a symbol, is to migrate the markers from their present location to the unmarked '%' symbols starting the CCCC suffixes, and then to replace them by the s-symbol.
For example, after the first instantiation of the command jump($), the two strings in the CM 206 example above will have changed as follows: "AAA%[B]B%CCCC" and "AAA%[D]DD%CCCC". After issuing the second jump($) command, the strings become "AAA%B[B]%CCCC" and "AAA%D[D]D%CCCC". After a third jump($): "AAA%BB$CCCC" and "AAA%DD[D]%CCCC". After a fourth jump($): "AAA%BB$CCCC" and "AAA%DDD$CCCC". Hence, in response to the jump command, the CM 206 executes the following action: All cells whose marker is set compare their symbol to the special delimiter symbol (%-sign in our example). If a match is found, then replace the special delimiter by the symbol s provided with the command ($-sign in our example), and reset that cell's marker. Otherwise, if a match didn't occur, then reset the marker of the cell and set that of the cell directly to the right, in effect making the marker move one position to the right.
The jump command is important in database applications, where strings of symbols contain pairs of field identifiers, or delimiters, and data values, where the identifiers have fixed lengths, but the fields containing the data values do not. In this manner, the present invention advantageously provides a method for inspecting fields within a character string, each field containing randomly sized data values, while marking specific data fields in the character string irrespective of their content. Moreover, as each comparison of the marked cell in the character string is accomplished in one clock cycle, the inspection of the character string may be completed in a quick and efficient manner.
It is another important aspect of the present invention that the jump command replaces the delimiter symbols in a character string with a predetermined locator symbol. The locator symbol may therefore be utilized to mark the end of a specific data field regardless of length, or alternatively, may be utilized to enable the marking of a data field which follows a searched-for data field.
As described above, the jump command allows for the parallel inspection of a plurality of character strings stored in the CM 206, therefore permitting parallel identification of delimiter symbols in each of the character strings where each identification, and selectively substitution, of the delimiter symbols occurs in a single clock cycle.
Reverse Command
The search, insert, and delete mechanisms described so far always apply to the first marked cell of the CM 206, and, when they affect other cells, affect those on the right hand-side of the first marked cell. The CM 206 also supports backward or reverse find, insert, delete, next and index operations, where the operations apply to the last marked cell of the CM 206. Their behaviors mirror those of the forward find, insert, delete, next and index operations described above.
A Reverse-find command is a command that is fed to the CM 206 along with a symbol s and it sets the marker of the cells to the left of a cell containing the symbol s. All other markers are reset. If the CM 206 contains "JOHN AND JOHNNY", then reverse-find(N) sets the markers as follows: "JO[H]N [A]ND JO[H][N]NY".
A Reverse-cfind, command is a command for reverse conditional-find, is fed to the CM 206 with a symbol s, and the CM 206 associatively searches only the marked cells. All such cells that contain a copy of the symbol s have the marker of their left neighbor cell set. All other markers are reset. Assuming the CM 206 contains "JO[H]N [A]ND JO[H][N]NY", reverse-cfind(H) changes the markers as follows: "J[O]HN AND J[O]HNNY".
A Reverse-insert command is a command that is fed to the CM 206 along with a symbol s. The contents of the left-most marked cell and all the cells to its linear right are shifted right by one, and the symbol s is stored in the left-most marked cell. The marker of this cell does not change. For example, reverse-inserting 'X' in "JO[H]N AND JO[H]NNY" results in the new CM 206 contents: "JO[X]HN AND JO[H]NNY".
A Reverse-delete is a command which operates by reading, or removing the symbol in the left-most cell and shifting left the contents of all the cells to its right by one. The marker of the left-most marked cell is reset, and that of the cell to its left is set. For example, if the CM 206 contains "JO[H]N AND JO[H]NNY", then the result of reverse-delete is "J[O]N AND JO[H]NNY".
Limited-Range Commands
As indicated previously, the CM 206 also supports operations that affect only the cells whose address is larger than some number which can be set by two additional commands. Commands whose domain of operation is limited to cells that have addresses larger than the limit are referred to as limited commands. In this case the scope of the search, insert, and delete operations is not the whole M words in the CM 206, but a smaller section of it. In this case, when a find, cfind, insert, or delete operation is performed, only the cells in a contiguous block of cells of the CM 206 are affected. This block of cells is delimited on the left by a special address register located in the address decoding section of the CM 206, and extending to the very last, i.e. right-most, cell of the CM 206.
A Set-limit is a command that sets the lower limiting address for limited command to the address of the first, or left-most marked cell. For example, if the CM 206 contains the string "RO[N] AND RO[B]ERT", then the set-limit command sets the limiting address to 2, since the left-most marked symbol is 'N', at Address 2 in the CM 206.
A Set-limit-address is a command that is applied to the CM 206 along with an address A, and that stores this address in the internal storage where the limiting address is kept.
Limited-find, limited-cfind, limited-reverse-find, and limited-reverse-cfind are limited commands that work similarly to the find, cfind, reverse-find, and reverse-cfind commands, but only apply to cells whose address is greater than or equal to the limiting address.
The limited-write-all command is applied to the CM 206 along with a symbol s, and works in a manner consistent with the write-all command. It writes the symbol s in all the marked cells whose address is greater than or equal to the limiting address.
Several boolean signals are output by the CM 206 reflecting the status of its marked cells.
1) One signal is set to 1 by the CM 206 if there is a least one marked cell in the CM 206, and 0 otherwise.
2) One signal is set to 1 by the CM 206 if there is exactly one marked cell in the whole CM 206, and is set to 0 otherwise.
3) One signal is set to one if the last conditional-find type command (forward, reverse, or limited) was unsuccessful (no markers set), and the CM 206 automatically reverted to a find-type operation, which may have set some markers.
4) One signal is set to 1 by the CM 206 if one or several characters with a predetermined binary pattern get their associated markers set. These characters are used to represent empty or invalid symbol locations, and their markers being set by an operation represents an extraordinary condition that must be addressed by the outside controller 255.
5) One signal is set to 1 by the CE to indicate that none of the buffers contain symbols with set markers, or that the RAM controller has loaded all the buffers in the CM, and that no buffers are left to be loaded.
The Connex Engine
As mentioned previously, the Connex Engine (CE) 205 is illustrated in
In cases where not all the lines in the RAM contain valid information, but only a small part, where all the lines are stored contiguously, and starting at Line Address 0, the address of the last valid line can be specified to the RAM controller to limit its initial pass to the group of valid lines. This address is fed to the RAM controller by an outside processing device using the limit-address 207 signals.
The collection of L lines of LM 200 can be implemented on the same silicon chip that contains the CM 206, or outside the silicon chip using off-the-shelf memory circuitry. In both cases, the CE 205 is used to manage the information stored in the L lines by bringing information stored in the lines into the CM 206 where string commands such as the ones described in the previous sections are performed, bringing the contents of the CM 206 back into the lines, allowing string operations to be performed in strings much longer than the M-symbol storage capacity of the CM 206.
When insert and delete operations are required, the lines are not filled to capacity with symbols, but only partially, to allow expansion and contraction of the strings of symbols in the CM 206 under these operations. In such cases, the cells of the CM 206 that do not contain valid symbols are initialized with a predetermined binary pattern not found in the string being processed. The CM 206 generates a signal for the outside processing entity called interrupt, and labeled 101 in
The CM 206 and its External Connections
We differentiate between two type of connections. One type corresponds to the interconnection of the CM 206 with its environment, the other type corresponds to signals needed for the expansion of the circuit, i.e. if multiple CM 206 circuits are connected together to increase the amount of storage.
In the following presentation we assume that an elementary CM 206 block can store M words of memory, and that each word is N+1 bits in length, N bits for the symbol and one bit for the marker.
The system connections of the CM 206, as shown in
The signals data-in, addr, and corn have associated set-up and hold times relative to the active clock edge. The signals data-out, index, no-flag, no-eq, one-flag become stable after a delay associated with accessing the memory. This delay is measured relative to the active edge of the clock signal.
When several CM 206 circuits, or modules, are connected together, in a one-dimensional array extending the internal shift register, several signals are used to link the CM 206 modules together, in a linear fashion. These signals are shown in
The last four signal groups are defined in more details in the section titled Internal Structure. If these eight connections are not used for expanding the memory, then they must be properly connected and/or terminated using conventional techniques in order to allow the proper operation of the CM 206 system.
The Internal Structure of the CM 206
It will be readily appreciated that the CM 206 may be alternatively formed as a one-dimensional array of memory cells without departing from the broader aspects of the present invention.
The internal structure of the CM 206 as depicted in
The signals listed below operate on the internal parts of the CM 206 circuit. Because of the two-dimensionality of the array containing the M cells, and because the address of the lowest- or highest-address marked cell must be computed, the operation of the transcoder circuits rely on several key signals: line-out, line-in, column-out, and column-in.
For example, assume that we have an 8�8 two-dimensional array of cells with the contents shown below, and where brackets include symbols in marked cells. The numbers on the top row and first column represent the numbering system used to access the rows and columns of the CM 206, and are not symbols stored in the array.
Then the line-out signals 42, listed in order of rows 0, 1, 2, up to 7 are equal to 00001011. The line-in[1] signal of the line-in signals 43, in the same order, are 00001000, and the line-in[0] signals of the line-in signals 43 are 00001111.
Using the same example of an 8�8 two-dimensional array shown above, and listing the signals associated with the columns numbered 7 down to 0, the column-in signals 45 contain the values 00100000 and 00111111.
The External Structure of a Cell of the CM 206
In addition to the data-in, data-out, and corn signals already presented, the following signals connect the elementary cell containing a symbol and a marker with its environment, as depicted in
The internal structure of the cell is shown in
The PLA 63 generates the interrupt signal 15 which is activated when the register 60 contains a predefined symbol that is used to mark unused or invalid cells, and when the marker associated with the register is set.
The N-bit output of the register 60 representing the symbol stored in it are inverted by N tri-state inverting drivers 71 controlled by the signal c5 69, and they become the signals data-out 11. An open drain inverter 64 inverts the marker bit stored in the register REG 60, and generates the signal line-out 42. An open drain inverter generates the signal no-eq 16, which comes from the PLA 63. An open drain inverter 70 generates the signal column-out 44. Theoretically, all data-out 11 and no-eq 16 outputs from the different cells in the two-dimensional array are connected together, all the line-out 42 outputs belonging to a line are also connected together, and all the column-out signals 44 of the cells on the same column are also connected together.
The Transcoders
The Y-transcoder circuit 40 receives the following signals:
Both transcoders contain the following circuits:
The combination of AR, P-ENC, MUX-7, ADCD, the L XOR gates, and MUX-6 form a circuit that, when starting with a number K stored in binary form in AR, ouputs on line-address the successive powers of 2 whose sum is equal to K. Furthermore, this circuit generates each power of 2 in a constant time, under the control of the step-enable signal. When all the 1-bits have disappeared from the AR register, the priority encoder detects this condition and activates the signal stop 221 which is tested by the outside processing entity as a sign that no more lines need to be processed in the current phase. This device automatically generates the successive weights of all the bits set to 1 in a binary number, in a loop, and the output of each weight takes one cycle only.
While this successive elimination of 1's in the register AR takes place, lines are processed in the CM 206, and string operations performed. At the end of these operations, when the contents of the CM 206 is stored back in the line, the value of the no-flag signal 15, inverted and ored with the init signal 224, is recorded in a D-flip-flop which is one of L D-flip-flop 218. The address of the selected flip-flop in the group of L is the same as the address of the line in the RAM, and the selection of the flip-flop is performed by utilizing the output of the ADCD circuit 214, described below. These L flipflops contain a new pattern of 1s and 0s representing the next group of lines that must be processed in the next pass of operations.
The initialization of the RAM controller requires storing 1's in the bits of AR, in such a way that only the lines in the RAM that need to be processed have their associated AR bits set to 1. These valid lines are stored at consecutive addresses in the RAM, in a contiguous block, and such that the lowest address in the block is 0. For example, if only three lines in the RAM are valid, then the lowest 3 bits of the AR register must be set to 1, and all the others to 0. In this case the address of the highest-address line is 2, since the valid lines have address 0, 1, and 2. In this case, the controlling outside entity sends the address of the highest line to the RAM controller on the limit-address 207 signals, and activates the init signal 224. The resulting actions are that the log(L) address on the limit-address signals pass through multiplexer MUX-7, is decoded by ADCD into L signals, all 0 except for the one with weight equal to the contents of limit-address.
The output of MUX-7 is then fed to a prefix-OR circuit OR-PN 216 which transforms all the bits whose value is 0 and weight less than the weight of the only 1-bit in its input into 1s. For example, if the OR-PN circuit receives 00000100, where the weight of the 1-bit is 2, then its output is 00000111. These L signals are then passed through L OR-gates 219 and fed to the D-input of the L D-flip-flops 218. The L D-flip-flops 218 are individually enabled by the L signals generated by the ADCD circuits, individually OR-ed with the init signal 224. The contents of these L flip-flops where each output of 1 corresponds to a valid line in the RAM is then loaded into the Register AR 208 by activating the start signal controlling the multiplexer MUX-6 209.
As depicted in
The execution of code supplied to the CE 205 is driven by the controller 255. The CE 205/controller 255 interface makes use of four special registers, as also shown in
As further represented in
It will be readily appreciated that the present invention contemplates that the CE 205 may have any number of circuit-specific configurations without departing from the broader aspects of the present invention provided that the controller 255 is capable of issuing commands to, and receiving data from, the CE 205. An important aspect, therefore, of the present invention resides in the ability of each m-bit cell within the CM 206 to actively process data in addition to storing data. The processing of data may occur either within each m-bit cell, or by affecting the cell immediately to the left or right of a predetermined cell. It should be noted that by enhancing the functionality of each m-bit cell within the CM 206 in this manner, the present invention exhibits a system-level behavior that is more complex and, as such, exceeds the performance of other data processing systems.
It is another important aspect of the present invention that the ability to actively process data at the cell level within the CM 206 is accomplished, in part, by the ability of each cell to be 'marked', which is part of the condition, or predicate, designating it as a cell which will subsequently perform a task, or execute an operand, on itself, or an adjacent cell within the CM 206.
Yet another inherent advantage of the data processing system of the present invention involves the ability of each cell within the cellular engine to not only simultaneously execute instructions within a single clock cycle, but to also dynamically limit those cells which execute these globally broadcast instructions via the utilization of both local and global state information. In particular, by utilizing marker bits on an individual cell level, the actual cells within the associative memory are capable of affecting those cells either to the left or right of marked cells in a manner which is heretofore unknown. Therefore, at the system level, the present invention provides for the selective activation, or alteration, of the marked state, by associative mechanisms; that is, by the nature or property of the content of the individual cells within the CM 206, rather than a particular designated location address therein.
The present invention therefore combines processing and memory at a very intimate level, meaning that an individual cell of the CM 206 never has to access a separate memory block to do its job. Moreover, operands reside in their own local space at the cell level, therefore results are kept in place, saving communication and processing time, silicon area and power.
The increased flexibility of the CM 206 is also heightened by the capacity of the CM 206 to selectively characterize any portion of the bits stored within its n-cells as being a portion of either the key field or the data field. That is, as opposed to known associative memory architectures where the key field and the data field are strictly defined, the CM 206 is able to consider any of the bits stored within its memory as being a key field bit, or a data field bit, in dependence upon the nature of issued command and desired operation.
As shown in
In the memory engine of the present invention, however, the distinction between the key field and the data field has been removed, thus it is possible for the controller to universally consider and evaluate as part of a key any of the cells contained within either the field 502 or the field 504 in response to an issued command.
It should be noted that the distinction between known associative data processing systems and the present invention is not one of structure, but of software and the implementation of issued commands. That is, in accordance with the present invention, all cells within the associative memory device may be selectively considered by the controller to be either a portion of a 'key', or a portion of the 'data', in dependence upon the specific command issued. Therefore the 'key' or 'data' property of any particular cell is expressed in the command itself, and is not a function of the structural organization of the associative memory device.
As shown in
Indeed, because the present invention effectively eliminates the traditional distinction between the key field and the data field within the associative memory device, the programming capability of the memory engine is significantly increased.
Returning to the example above concerning the last names of employees, known associative memory systems are typically specialized, or tailored, to a particular use, and would therefore be incapable of searching or identifying data having a radically different structure (e.g. 16-column keys and 1024-column data). In stark contrast, because the present invention does not recognize any distinction between the key field and the data field, indeed because the present invention selectively re-defines the nature of what is considered a 'key' in connection with each separate command, the present invention is capable of enabling an essentially generic associative memory system.
By way of an example, an associative memory support for data processing in accordance with the present invention may first be controlled to identify all employees' last names by utilizing, e.g., a 5-cell key. The next command issued by the controller could then be utilized to locate another type of data based upon, e.g., a 2-cell key, or the like. Thus, the present invention avoids the necessity to re-design, or specialize, the machine for each particular use, as is the case with known associative memory systems. In contrast, the present invention's ability to individualize each key in accordance with each issued command, enables the present invention to support a non-specialized associative memory that may be selectively mined for specialized data merely by utilizing keys of selected lengths and content.
In this regard, it should be readily appreciated that the implementation of the commands previously discussed in connection with
It will also be readily appreciated that the ability of the controller 255 to globally broadcast a predetermined command to each of the n-cells in the CM 206 within one clock cycle, as well as the ability for each of the n-cells to process the issued command within a single clock cycle, is equally applicable to, and encouraged by, the ability of the memory device to make use of all bits within each of the n-cells regardless of their location or of any distinction between the key and data fields.
While the invention had been described with reference to the preferred embodiments, it will be understood by those skilled in the art that various obvious changes may be made, and equivalents may be substituted for elements thereof, without departing from the essential scope of the present invention. Therefore, it is intended that the invention not be limited to the particular embodiments disclosed, but that the invention includes all embodiments falling within the scope of the appended claims.
|Cited Patent
|Filing date
|Publication date
|Jun 7, 1983
|Mar 11, 1986
|Tektronix, Inc.
|Apparatus for in effect extending the width of an associative memory by serial matching of portions of the search pattern
|Feb 26, 1988
|Mar 6, 1990
|Alcatel U.S.A. Corp.
|Cellular array processor with individual cell-level data-dependent cell control and multiport input memory
|Jan 29, 1988
|Jan 8, 1991
|Intel Corporation
|Vector selectable coordinate-addressable DRAM array
|Jan 7, 1987
|Jun 16, 1992
|Bernard Strehler
|Parallel associative memory system
|Mar 15, 1991
|Sep 22, 1992
|The Board Of Trustees Of The Leland Stanford Junior University
|Lossless data compression circuit and method
|Sep 7, 1990
|Jun 7, 1994
|The Mitre Corporation
|Associative memory capable of matching a variable indicator in one string of characters with a portion of another string
|Nov 13, 1992
|Jul 12, 1994
|Codex Corporation
|Associative cam apparatus and method for variable length string matching
|Dec 23, 1992
|Dec 13, 1994
|Hewlett-Packard Corporation
|Apparatus and method for managing multiple dictionaries in content addressable memory based data compression
|Mar 11, 1994
|Aug 8, 1995
|Motorola, Inc.
|Variable length string matcher
|Jul 14, 1994
|Sep 5, 1995
|International Business Machines Corp.
|Data search and compression device and method for searching and compressing repeating data
|Mar 13, 1995
|Mar 5, 1996
|Hitachi, Ltd.
|System for parallel string search with a function-directed parallel collation of a first partition of each string followed by matching of second partitions
|Dec 22, 1993
|Feb 11, 1997
|Storage Technology Corporation
|Comparing prioritizing memory for string searching in a data compression system
|Aug 17, 1994
|Jun 17, 1997
|Intel Corporation
|Register stacking in a computer system
|Aug 3, 1992
|Oct 6, 1998
|Advanced Hardware Architectures, Inc.
|Single clock cycle data compressor/decompressor with a string reversal mechanism
|Nov 14, 1996
|Oct 27, 1998
|Northern Telecom Limited
|Large-capacity content addressable memory
|Jun 30, 1997
|Jun 1, 1999
|Sun Microsystems, Inc.
|Hardware-assisted central processing unit access to a forwarding database
|Jul 17, 1998
|Jul 18, 2000
|Display Edge Technology, Ltd.
|Article-information display system using electronically controlled tags
|Nov 14, 1997
|May 1, 2001
|Utmc Microelectronic Systems Inc.
|Content addressable memory (CAM) engine
|May 28, 1998
|Sep 25, 2001
|3Com Corporation
|Apparatus for maintaining an ordered list
|Feb 24, 1999
|Nov 13, 2001
|Steven G. Morton
|Digital signal processor containing scalar processor and a plurality of vector processors operating from a single instruction
|Jun 16, 2000
|Oct 29, 2002
|Aeroflex Utmc Microelectronic Systems, Inc.
|Content addressable memory (CAM) engine
|Jan 28, 2000
|Apr 1, 2003
|Koninklijke Philips Electronics N.V.
|Single instruction having op code and stack control field
|Jun 30, 1999
|Aug 26, 2003
|Cisco Technology, Inc.
|Programmable data packet parser
|May 6, 2002
|May 31, 2005
|Hywire Ltd.
|Variable key type search engine and method therefor
|May 6, 2002
|Nov 6, 2003
|Hywire Ltd.
|Variable key type search engine and method therefor
|Hascsi, Zoltan and Stefan, Gheorghe, "The Connex Content Addressable Memory (C2AM)" "Politehnica" University of Bucharest, Electronics & Telecommunications Dpt., pp. 422-425, Sep. 1995.
|Hascsi, Zoltan, Mitu, Bogdan, Petre, Mariana and Stefan Gheorghe, "High-Level Synthesis of an Enhanced Connex Memory" 1996 IEEE, pp. 163-166.
|Mitu et al., "A CMOS Implementation of a Connex Memory," pp 579-582, IEEE, 1997.
|Stefan, Denisa and Stefan, Gheorghe, "Bi-thread Microcontroller as Digital Signal Processor", 1997 IEEE.
|Stefan, G. and Dragnici, F., "Memory Management Unit With a PerformantLRU Circuit" Polytechnic Institute of Bucharesi, pp. 89-96, Jan 1991.
|Stefan, Gheorge and BENEA, Robert, "Connex Memories & Rewriting Systems", Politehnica Univ. of Bucharest, Dept. of Electronics, pp 1299-1303, 1998.
|Stefan, Gheorghe and Malita, Mihaela, "The Splicing Mechanism and the Connex Memory" Technical Univ. of Bucharest, Dept. of Electronics; Univ. of Bucharest, Fac. of Mathematics, pp. 225-229, 1997.
|Stefan, Gheorghe, "Silicon or Molecules? What's the Best for Splicing?", Technical Univ. of Bucharest, Dept. of Electronics, pp 158-181, 1998.
|Stefan, Gheorghe, The Connex Memory. "A Physical Support for Tree/List Processing", Technical Univ. of Bucharest, Dept. of Electronics, pp. 1-22, 1994.
|Thierbaut, Dominque and Stefan, Gheorghe, "Local Alignments of DNA Sequences with the Connex Engine" pp. 1-12, Sep. 2001.
|Citing Patent
|Filing date
|Publication date
|Dec 22, 2008
|Feb 9, 2010
|Netlogic Microsystems, Inc.
|Content addresable memory having selectively interconnected counter circuits
|Nov 12, 2009
|Oct 26, 2010
|Netlogic Microsystems, Inc
|Content addresable memory having programmable interconnect structure
|Nov 16, 2009
|Nov 2, 2010
|Netlogic Microsystems, Inc.
|Content addresable memory having selectively interconnected counter circuits
|Aug 31, 2010
|Jan 25, 2011
|Netlogic Microsystems, Inc.
|Content addressable memory having selectively interconnected rows of counter circuits
|Aug 31, 2010
|Feb 1, 2011
|Netlogic Microsystems, Inc.
|Power reduction in a content addressable memory having programmable interconnect structure
|Jul 27, 2010
|Mar 29, 2011
|Netlogic Microsystems, Inc.
|Reformulating regular expressions into architecture-dependent bit groups
|Jul 27, 2010
|Apr 12, 2011
|Netlogic Microsystems, Inc.
|Compiling regular expressions for programmable content addressable memory devices
|Jul 8, 2010
|Sep 3, 2013
|Netlogic Microsystems, Inc.
|Negative regular expression search operations
|Jun 3, 2008
|Jan 14, 2014
|Netlogic Microsystems, Inc.
|Content addressable memory having selectively interconnected shift register circuits
|Nov 12, 2009
|Mar 4, 2010
|Maheshwaran Srinivasan
|Content addresable memory having programmable interconnect structure
|Nov 16, 2009
|Mar 4, 2010
|Sachin Joshi
|Content addresable memory having selectively interconnected counter circuits
|Aug 31, 2010
|Dec 23, 2010
|Maheshwaran Srinivasan
|Content addressable memory having programmable interconnect structure
|Aug 31, 2010
|Dec 23, 2010
|Sachin Joshi
|Content addressable memory having selectively interconnected counter circuits
|U.S. Classification
|711/128, 711/108, 711/154, 365/49.1, 711/100
|International Classification
|Cooperative Classification
|European Classification
|Jun 4, 2004
Owner name: GEMICER, INC., NEW HAMPSHIRE
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:STEFAN, GHEORGHE;THIEBAUT, DOMINIQUE;TOMESCU, DAN;REEL/FRAME:014693/0753
Effective date: 20040601
|Sep 13, 2004
Owner name: CONNEX TECHNOLOGY, INC., NEW HAMPSHIRE
Free format text: CHANGE OF NAME;ASSIGNOR:GEMICER, INC.;REEL/FRAME:015134/0336
Effective date: 20040604
|Dec 11, 2006
Owner name: BRIGHTSCALE, INC., CALIFORNIA
Free format text: CHANGE OF NAME;ASSIGNOR:CONNEX TECHNOLOGY;REEL/FRAME:018688/0349
Effective date: 20061116
|Jan 11, 2008
Owner name: SILICON VALLEY BANK, CALIFORNIA
Free format text: SECURITY AGREEMENT;ASSIGNOR:BRIGHTSCALE, INC.;REEL/FRAME:020353/0462
Effective date: 20080110
|Jun 24, 2009
Owner name: BRIGHTSCALE, INC., CALIFORNIA
Free format text: RELEASE;ASSIGNOR:SILICON VALLEY BANK;REEL/FRAME:022868/0330
Effective date: 20090622
|Sep 17, 2009
Owner name: ALLSEARCH SEMI LLC, ILLINOIS
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BRIGHTSCALE, INC.;REEL/FRAME:023245/0424
Effective date: 20090810
|Dec 4, 2009
|Fee payment
Year of fee payment: 4
|Feb 7, 2014
|Maintenance fee reminder mailed
|Jun 26, 2014
|Surcharge for late payment
Year of fee payment: 7
|Jun 26, 2014
|Fee payment
Year of fee payment: 8


text:
A £10,000 reward is being offered to help catch a killer who battered a pensioner to death in her home.
Ruth Owens, 75, died in the hallway of the flat in Birkenhead after being hit over the head.
Her son Delwyn Owens, 47, returned home from work to find her.
He is devastated and is pleading with anyone who can help police catch the killer. Crimestoppers has put up the reward.
Mrs Owens was last seen outside the flat in Heather-field Court, Victoria Fields, at around 10am on Thursday December 4. Police believe she was killed between then and around 3pm.
The killer did not force their way in and officers are not ruling out the possibility the pensioner knew her attacker.
Another theory is that a bogus caller tricked their way in and were disturbed before they could steal anything.
Det Supt Russ Walsh said: "We need to trace everyone who visited Heatherfield Court on that day.
"It is likely that there were a number of people coming and going.
"People should cast their minds back and think about if they saw anything which may have been suspicious."
Anyone with information should call Crimestoppers on 0800 555 111 or police on 0151-777 8677.

subset: commoncrawl


text:
Edge of Twilight Ebook
You're about to purchase a Downloadable Ebook
Hi, sorry for the interruption!
We're repeating some important information here to ensure that you're making an informed purchase. Please review it.
- Don't get caught unaware. Preview ebook and open the sample ebook on each of your intended devices before continuing.
- You will need a Free 3rd-party application that can read the intermediate .acsm file you will receive as download. PDF/Epub format is downloaded automatically by the application thereafter. Please install the necessary software first on your intended device of use.
- e-Book can be copied on up to 6 devices that must have the same Adobe ID
- We can only keep the download on our site until the ebook publishers/distributors authorize us to do so. Please keep a backup.
- Printing is not permitted.
- You cannot copy text from file.
Refund Policy
Refunds are not allowed after the ebook is opened so please open the ebook directly on your intended device. Refund requests should be recieved within 7 days after download is made available. Of course, if you get an incorrect ebook ( different from what is mentioned in the title) or if the ebook doesn't open on the initial device, then we'll assist with fixing the issue or get you a refund if a timely fix isn't available.
Customer Service
We currently only provide ticket (online form submission) or email support. Rest assured that you're in good hands; customers like our professional service!
Publication Date: September 2015
File Size: 610 Kbytes
Restrictions set by Publisher:
- Text-to-speech feature not available.
- Printing is not permitted.
- You cannot copy text from file.
- Free application Adobe Digital Editions, Aldiko reader, or Bluefire reader required .
- Check Supported devices and software requirements .
- Ebooks once opened are non-refundable. View return policy .
- OnlineBookPlace.com Store Reviews on Google and Yahoo
Book 7 in Maggie Shayne's Bestselling Wings in the Night Series
In Pursuit of a Legend
They call him Edge, and he's determined to kill vampire hunter Frank Stiles, the obsessed vampire-hunter who murdered Edge's immortal companions, leaving him alone and possessed by his need for vengeance. But it's a vengeance he can carry out only with the help of the one they call the Golden Child.
Amber Lily is alone among the undead. Known as the Golden Child, she's half human and half vampire, the only one of her kind and immensely valuable to her vampire kin-but none moreso than Edge.
The moment they meet she finds him exciting, irresistible, and despite herself she's drawn into his hunt. But Amber Lily has a secret. Though she, too, has vowed to track down Stiles and confront him, she needs him alive, a desire Edge will see only as a betrayal. Will he be able to forgive her, or will their growing love be doomed for the long eternity of their lives?
Don't miss a single title in Maggie Shayne's Wings in the Night series:
Twilight Phantasies
Twilight Memories
Twilight Illusions, with bonus novella "Beyond Twilight"
Born in Twilight, with bonus novella "Twilight Vows"
Twilight Hunger
Embrace the Twilight, with bonus novella "Run from Twilight"
Edge of Twilight
Blue Twilight, with bonus novella" Before Blue Twilight"
Prince of Twilight
Demon's Kiss
Lover's Bite
Twilight Hunger
Bloodline, with bonus novella "Vampires in Paradise"
Twilight Prophecy
Twilight Fulfilled
Should you buy this Ebook?
We've put together a collection of resources to help you make a decision regarding whether you should buy this Ebook from us.
- Is your device one of these? Ebook reading software will work on the following devices: Windows, Mac, Android 2.2+ Devices, IPad (iOS 3+), IPhone (iOS 3+), Kindle Fire. Several other devices are also supported by the software.
- Compare prices. Our price is $4.99. If you would like to research our competitors to see their prices. Here're some places to look:
Why should you buy Ebooks from onlinebookplace.com?
We've had 1000s of downloads so far and with over 300000+ Ebooks to choose from, onlinebookplace.com is becoming a favorite Ebook Store for many. Allow us to win you over with our competitive pricing, upfront policies and diligent customer service.
We're Upfront:
- Every Ebook page on onlinebookplace.com has information on restrictions that publishers have placed on the Ebook along with a clear indication of software required to read the Ebooks.
- If ratings for an Ebook are available from one of several sources online, then we've attempted to get those to help you make a better purchasing decision about the Ebook. Reviews from Goodreads (a popular reviews site) are provided on the same if they're available.
- In most cases, we've also attempted to get you links to the Ebook on our competitor's site so that you can compare prices with relative ease.
- We use McAfee to scan for any vulnerabilities in the system to ensure that any information that you give us does not fall into the wrong hands.
- We use Paypal, a trusted 3rd party payment provider to accept Payments -- your payment information doen't reside with us. Any information that does end up with us is safe.
After installing the appropriate app for your device, try a Sample Download (Sherlock Holmes from Project Gutenberg) before purchase. The sample is only for checking device compatibility.
Check below for device compatibility and any free 3rd-party software requirements. Choice of what ebook reading app to use is yours, we only present a few common apps that several customers of ours have preferred. You should be able to transfer your purchase to more than one (upto 6) compatible devices as long as your ebook-reading apps have been registered with the same Adobe ID before opening the file.
Windows/Mac PC or Laptop
Free app Adobe Digital Editions required. Note that this software is not the same as Adobe Reader.
Android 2.1+
Free app Aldiko Reader or Bluefire Reader required.
Kindle Fire (and any Android based Kindle models)
Free Kindle Android app Bluefire Reader required.
IPad or IPhone
Free app Bluefire Reader required. Kindly review their tutorial for the requirement (note that while they're talking about library ebooks, same applies to your purchased .acsm file) -- feel free to use the sample download for testing. Tutorial .
Several Other devices supported
Devices like Nook are supported via the free application Adobe Digital Editions . This software is not the same as Adobe Reader. Please check compatibility of your device before purchase.


text:
Paul here. I wanted to tell you about a cool dating site I tried called X Press. It makes casual dating fun and easy, so give it a try and tell me how your experience went. Shoot me an email anytime you want!
- MyFavDating.sex
- Top Dating Sites
- X Press
- Geared toward professionals and busy people
- Photos are required, so no anonymous profiles
- Video chat with other members
- Support has been reported to be slow
- Photos required (is both pro and con!)
XPress is a nice online dating site for professionals, single parents and other busy types who just don't have a lot of time to waste browsing online for a hookup or a date. It does what it says it does pretty well and while there are a few things to dislike about it, it's still worth a shot if you are feeling horny and bored and you want to try a new online dating site to get some sex for tonight.
My Full X Press Review
If you are ready to try X Press, then you're probably feeling pretty horny and you're ready to get a hookup. As the name might suggest, this is a site for people who are kind of busy in life and don't have so much time to spend browsing the internet all the time. This is for people who are professionals who work all the time, busy single parents or parents who want to have an affair, or just people who don't have enough time to meet someone for sex. If you've been frustrated by how long it takes to set things up on other online dating sites, with long questionnaires and online profiles to fill out, try it out here and see how quick and easy it can be. Setting up your profile is fast, so you will be quick out of the gate on your search.
There is one feature about this site that is both a good thing and a bad thing. There will never be any completely anonymous profiles here because they require a profile photo. Many people like this feature because it gives the profiles an air of legitimacy. On other online dating sites that allow people to have blank profile pictures, there is always the possibility that they are not who they say they are or something like that, but when the photo is required, you can see what they look like and you will know whether or not they are being real when they meet you. However, some people do not like this because they would rather remain more anonymous in case someone from their personal life recognizes them on an online dating site. Personally, I like this feature because I hate staring at a sea of question marks or grey boxes on an online dating site.
I also love the fact that this dating site has video chat as one of the ways you can communicate with members. This really should become a requirement of any online dating site because video chat is becoming the gold standard that people want to use. That way they can check each other out before they even meet, so they don't have to waste time. People are busy and this is a site for busy people. They don't want you to waste your time meeting people with whom you have no chemistry. Give XPress a try when you need to hook up, but you're too busy to figure it out on your own!


text:
Wauwatosa, WI – Terri Leece, Emergency Disaster
Services Director for The Salvation Army in Wisconsin & Upper Michigan has
been deployed to Washington D.C. in anticipation of Hurricane Sandy. Leece
is part of the federal government's Mass Care Team in the National
Response Coordinating Center (NRCC). Leece arrived in D.C. on the
afternoon of Sunday, October 29 and will serve as the NRCC federal
Hurricane Sandy is forecast to hit along the Eastern Seaboard on Monday,
October 30 at 8:00 a.m. and last for 36 hours.
About The Salvation Army:
The Salvation Army, an evangelical part of the universal Christian church,
has been supporting those in need in His name without discrimination since
1865. Nearly 33 million Americans receive assistance from The Salvation
Army each year through the broadest array of social services that range
from providing food for the hungry, relief for disaster victims,
assistance for the disabled, outreach to the elderly and ill, clothing and
shelter to the homeless and opportunities for underprivileged children.
Nationally, approximately 84 cents of every dollar raised is used to
support those services in nearly 9,000 communities nationwide. For more
information, go to www.SAmilwaukee.org
Green bay race discrimination lawsuit settles
Green Bay, Wisconsin – Barbara Robinson and Shelia Walker have settled a federal lawsuit alleging illegal housing discrimination against Ken McCoy, the owner of multiple rental homes as well as a motorcycle dealership in Green Bay. McCoy will pay Robinson and Walker $35,000 to settle their lawsuit, which alleged that he denied them housing because they are African-American.
In August 2009, Shelia Walker saw an advertisement in the Green Bay Press-Gazette for a house for rent. She called the number in the ad and spoke with the owner, Ken McCoy. He told her that the house was located at 339 South Webster Avenue. He said that someone would be working there all day and that she could drop by anytime to see it. Walker and Robinson were happy to hear the home's address, since it was in an area they wanted to live in. Walker went to the home later that day, but no one was there. Walker called McCoy again and told him she'd tried to see it but no one was there, and asked if she could make an appointment to view it. He asked her where she was originally from, and she told him she was from Milwaukee. He told her that he would not rent to anyone from Milwaukee, and that he had had "problems" with people from Milwaukee in the past. A few days later, Walker called McCoy again and asked McCoy to reconsider, and he told her that the neighbors might have "trouble with it," and that it was a nice neighborhood and he wanted to keep it that way.
Concerned that McCoy had discerned Walker's race over the telephone and was discriminating against them because of it, Walker and Robinson contacted the Metropolitan Milwaukee Fair Housing Council (MMFHC) and each filed a complaint. MMFHC operates a satellite office in Appleton, the Fair Housing Center of Northeast Wisconsin, which serves the Fox Valley and Brown County. MMFHC counseled Walker and Robinson on their legal rights and conducted a testing investigation into their allegations. Testing is a controlled method of measuring and documenting differences in the quality, content and quantity of information and service afforded to different homeseekers by a housing provider. A white tester called McCoy and told him that she was moving to Green Bay from Milwaukee; she asked to make an appointment to see the home and McCoy agreed. The white tester called McCoy again later, to ask for the specific addresses of the homes available and to ask if McCoy would enter into a year-long lease. The white tester identified herself as the caller from Milwaukee, and again, McCoy had no negative response to the fact that she was moving from Milwaukee.
McCoy subsequently rented the home on South Webster Avenue to a white couple.
With assistance from MMFHC, Robinson and Walker filed housing discrimination complaints with the Wisconsin Equal Rights Division (ERD) and the US Department of Housing and Urban Development (HUD) in January 2010. MMFHC also referred Robinson and Walker to Attorney Michael Cohn, and in March 2010, they elected to file a federal lawsuit. Both ERD and HUD issued charges in favor of Walker and Robinson, determining that there was reasonable cause to find that McCoy had violated fair housing law.
In August 2012, Robinson, Walker and McCoy reached a settlement agreement in federal court. McCoy paid Robinson and Walker $35,000. Despite the settlement, "the experience still hurts," says Walker, "because it could happen again. People should know that discrimination still exists today. I don't want anyone to be treated like we were treated."
Robinson and Walker's attorney, Michael Cohn, notes that, "In the 21st century, it's unfortunate that people are still being denied housing because of their race, but it is more common than most people suspect."
Fair Housing Organizations Find Bank of America Discriminates in the Midwest
National Fair Housing Alliance and Member Agencies Allege Discrimination in Marketing and Maintenance of Foreclosed Homes in Chicago , Milwaukee and Indianapolis
CHICAGO – The National Fair Housing Alliance (NFHA), the HOPE Fair Housing Center , the South Suburban Housing Center , the Metropolitan Milwaukee Fair Housing Council and the Fair Housing Center of Central Indiana announced Tuesday a federal housing discrimination complaint against Bank of America Corporation, Bank of America, N.A., and BAC Home Loan Servicing, LP. This complaint is the result of an undercover investigation of Bank of America that found the financial giant maintains and markets foreclosed homes in White neighborhoods in a much better manner than in African-American and Latino neighborhoods in Chicago , Milwaukee and Indianapolis .
The complaint was filed with the US Department of Housing and Urban Development and is part of an amended complaint NFHA and seven member agencies filed October 10 that looks at how Bank of America has differently maintained and marketed properties in White, African-American, and Latino neighborhoods across the country.
Bank of America is one of the largest American banks that maintains and sells foreclosed properties and is one of the world's largest financial institutions. The investigation in 13 cities of 505 f or eclosed homes owned, serviced or managed by Bank of America demonstrates that it has engaged in a systemic practice of maintaining and marketing its f or eclosed , bank-owned homes (also known as Real Estate Owned or REO properties) in a state of disrepair in communities of col or while maintaining and marketing REO properties in predominantly White communities in a far superi or manner. The investigation has evaluated Bank of America REO properties in 13 cities including Atlanta , Charleston , SC , Chicago , Dallas , Dayton , OH , Grand Rapids , MI , Indianapolis , Miami/Fort Lauderdale, Milwaukee , Oakland/Concord/Richmond, CA, Orlando , Phoenix and the Washington , DC area.
Communities of color continue to experience foreclosure rates twice that of White communities and continue to see their REO properties left to deteriorate and sit vacant.
Fifty-one percent of Bank of America-owned homes in Milwaukee 's communities of color had more than five maintenance or marketing problems, and 87 percent did not have a "for sale" sign.
"Neighbors living near Bank of America properties in African-American and Latino neighborhoods often report having to mow the lawn of the bank-owned home or clean up trash that has spilled onto nearby properties," said William Tisdale, President and CEO of the Metropolitan Milwaukee Fair Housing Council. "Without the intervention of these responsible neighbors, we can only venture to guess how much worse the bank-owned homes would look. Bank of America-owned homes are not only eyesores, but they are health and safety hazards for neighboring families and young children. Through these, and other numerous examples of inaction and neglect, Bank of America has played a major role in destabilizing our neighborhoods."
"Good neighbors are considerate, they take care of their yards, pick up their trash and care for their neighborhoods," said Shanna L. Smith, President and CEO of the National Fair Housing Alliance . "Bank of America is not a good neighbor in communities of color. Instead, one of the nation's largest holders of foreclosed homes is busy making excuses and passing the buck when it comes to taking responsibility for the homes it owns or services. In many White neighborhoods, Bank of America's foreclosed properties fit in with most other homes for sale on the block, with manicured lawns and "for sale" signs. African-American and Latino neighborhoods deserve equal treatment."
NFHA and its member agencies are represented by Joseph M. Sellers and Peter Romer-Friedman of Cohen Milstein Sellers & Toll PLLC.
The National Fair Housing Alliance and four of its member organizations – HOPE Fair Housing Center in Wheaton, IL; South Suburban Housing Center in Homewood, IL; Metropolitan Milwaukee Fair Housing Council in Milwaukee, WI and the Fair Housing Center of Central Indiana in Indianapolis – evaluated the maintenance and marketing of REO properties f or the existence of 39 different types of maintenance or marketing deficiencies , such as broken windows and do or s , water damage , overgrown lawns , no "f or sale" sign , trash on the property , and other problems.
Without a "f or sale" sign, f or example, potential homebuyers would simply not know the property is available. Also, if there are unauth or ized occupants or storm damage, neighb or s have no one to call. With a "f or sale" sign, neighb or s can call a real estate agent to rep or t these kinds of problems. In Indianapolis, 100 percent of Bank of America REO properties in communities of color were missing a "for sale" sign as well as 79 percent in Chicago and 87 percent in Milwaukee.
Trash on a property is not only an eyesore for neighbors, but it makes a home unappealing to visitors and can be a potential health and safety hazard. Regular maintenance would correct this problem, but in Indianapolis 71 percent of all Bank of America REO properties in communities of color had substantial amounts of trash as well as 52 percent in Chicago and 33 percent in Milwaukee .
Broken locks or doors are an invitation to vagrants and possible criminal activity. Vagrants stay away from properties that are secured and regularly maintained and visited by responsible owners. In Indianapolis, 57 percent of properties in communities of color had broken doors or locks, while in Chicago the figure hit 55 percent and in Milwaukee 41 percent of properties had that deficiency.
Additional detailed statistics and photos are available at www.nationalfairhousing.org.
NFHA will continue its investigation into the practices of REO maintenance and marketing in the nation's banking system. In April, NFHA issued a report on the findings of its nationwide REO investigation , The Banks Are Back, Our Neighborhoods Are Not: Discrimination in the Maintenance and Marketing of REO Properties. The report offers disturbing evidence that the same banks that peddled unsustainable loans to communities of col or and triggered the current f or eclosure crisis are now exacerbating damage to those communities. It details the results of the evaluation of more than 1 , 000 REO properties nationwide.
NFHA filed HUD administrative complaints against Wells Fargo and U.S. Bancorp in April 2012. Both of these complaints are pending while HUD investigates these serious and pervasive allegations of discrimination.
The Fair Housing Act makes it illegal to discriminate based on race, color, national origin, religion, sex, disability or familial status, as well as the race or national origin of residents of a neighborhood. This law applies to housing and housing-related activities, which include the maintenance, appraisal, listing, marketing and selling of homes.
To read the most recent HUD administrative complaint against Bank of America and to view today's news conference presentation , please go to www.nationalfairhousing.org.
CDC: Meningitis Outbreak Growing, 14 People Dead
Of the 170 people sickened in the outbreak, all but one have a rare fungal form of meningitis after receiving suspect steroid shots for back pain, the CDC said. The other case is an ankle infection discovered in Michigan; steroid shots also can be given to treat aching knees, shoulders, or other joints.
Fungus has been found in at least 50 vials of an injectable steroid medication made at a specialty compounding pharmacy in Massachusetts, investigators said. Health authorities haven't yet said how they think the medication was contaminated, but they have ruled out other suspects – other products used in administering the shots – and the focus continues to be on that pharmacy, the New England Compounding Center.
Compounding pharmacies traditionally supply products that aren't commercially available, unlike the steroid at issue in the outbreak. And Dr. Madeleine Biondolillo of the Massachusetts Department of Public Health said it appears the company violated state law governing those pharmacies, which aren't supposed to do large-scale production like a drug manufacturer. Instead, they're supposed to produce medication for patient-specific prescriptions, she said.
"This organization chose to apparently violate the licensing requirements under which they were allowed to operate," she told reporters Thursday.
Company officials weren't immediately available to comment Thursday but earlier this week declined comment except to say they were cooperating with the investigation.
Idaho becomes the 11th state to report at least one illness. The others are Florida, Indiana, Maryland, Michigan, Minnesota, New Jersey, North Carolina, Ohio, Tennessee, and Virginia.
Last month, after illnesses began coming to light, the company recalled three lots of the steroid medicine – known as preservative-free methylprednisolone acetate- that were made in May, June, and August. The recall involved about 17,700 single-dose vials of the steroid sent to clinics in 23 states.
It's not known if all or just some of the vials were contaminated, or how many doses were administered for back pain or for other reasons. Those given joint injections are not believed to be at risk for fungal meningitis, which is an inflammation of the lining of the brain and spinal cord. A back injection would put any contaminant in more direct contact with that lining.
Symptoms of meningitis include severe headache, nausea, dizziness, and fever. The CDC said many of the cases have been mild, and some people had strokes. Symptoms have been appearing between one and four weeks after patients got the shots, but CDC officials on Thursday warned at least one illness occurred 42 days after a shot.
The fungus is difficult to grow in lab analyses, and health officials on Thursday issued an unusual piece of advice to doctors: If a patient who got the injection starts to develop meningitis symptoms, he or she should be treated, even if testing is negative for the fungus.
The fungus behind the outbreaks was initially identified as Aspergillus, but as more testing of patients has been completed, it's become clear that another fungus – a kind of black mold called Exserohilum – is the primary cause. As of Wednesday, CDC's fungal disease laboratory confirmed Exserohilum in 10 people with meningitis and Aspergillus in just one.
Exserohilum is common in dirt and grasses, but this is the first time it's been identified as the cause of meningitis, said Weber, who is managing the CDC's response to the outbreak.
Health officials are hurriedly trying to determine the best way to treat this kind of an illness, and have settled on two very strong anti-fungal medications. Consulting with experts, they're making a best guess as to the dosage and length of time patients will have to be treated.
"This is new territory," Weber said.
Fungal meningitis is not contagious like the more common forms.
Feds OK SC's Voter ID Law; Enforcement Begins AFTER Election
WASHINGTON — A panel of three federal judges upheld a South Carolina law requiring voters to show photo identification, but delayed enforcement until next year, in a decision announced Wednesday, less than a month before this year's presidential election.
In a unanimous ruling, the judges said there was no discriminatory intent behind the law, ruling that it would not diminish African-Americans' voting rights because people who face a "reasonable impediment" to getting an acceptable photo ID can still vote if they sign an affidavit.
The judge declined to let the law take effect immediately, "given the short time left before the 2012 elections and given the numerous steps necessary to properly implement the law … and ensure that the law would not have discriminatory" effects.
South Carolina voters who now lack the proper photo ID are disproportionately African-American, so proper and smooth functioning of the law "would be vital to avoid unlawfully racially discriminatory effects," according to the decision, written by Judge Brett M. Kavanaugh of the U.S. Court of Appeals for the District of Columbia Circuit. "There is too much of a risk to African-American voters for us to roll the dice," he said.
South Carolina is one of 16 states, mostly in the South, where election laws are subject to Justice Department approval under the federal Voting Rights Act because of a history of discrimination. South Carolina's was the first law to be refused federal OK in nearly 20 years, which led state officials to challenge that decision in federal court.
The state's Republican-controlled Legislature pushed the law through last year despite heavy opposition from African-American lawmakers. GOP Gov. Nikki Haley signed it last December.
Voter ID laws and other restrictions on voting became priority issues in mostly Republican legislatures and for governors after the 2008 elections. Opponents have described them as responses to the record turnouts of minorities and other Democratic-leaning constituencies that helped put Barack Obama, the first African-American president, in the White House.
Such laws have become a critical issue in this year's election because of the tight presidential race between Obama and Republican nominee Mitt Romney. Supporters have pitched these laws as necessary to deter voter fraud, although very few cases of impersonation have been found.
Officials from South Carolina could not cite a single case of such fraud during the trial, but they said the law would help enhance public confidence in the election system and prevent other types of fraud.
South Carolina's law requires voters to show a driver's license or other photo identification issued by the state Department of Motor Vehicles, or a passport, military photo identification or a voter registration card with a photo.
The other judges in the case were Colleen Kollar-Kotelly and John D. Bates of the U.S. District Court in Washington.
Kollar-Kotelly was appointed by President Bill Clinton. Bates and Kavanaugh were appointed by President George W. Bush.
The case number is 2012-203.
Wisconsin Receives Federal Approval to Improve Support for Foster Care Kids Statewide
Madison–The state Department of Children and Families (DCF) received on Friday federal approval of its waiver request to reinvest savings to assist kids in foster care statewide after they reunite with their families.
Under the federal waiver, the federal government agrees to allow Wisconsin to retain savings related to the safe reduction of foster care caseloads and reinvest the savings in the child welfare system throughout Wisconsin. Over the five-year project period, the Department expects to generate and reinvest approximately $10 million of federal funding.
In Milwaukee County, children and families currently receive support during the initial twelve months after a child in out-of-home care reunites with his or her family. This support helps the family stay stable during this critical period and provide a safe and loving home for their child. The waiver will allow the Department to expand this best practice so that children in out-of-home care in other parts of the state have a similar support available to them when reunifying with their family.
"We have been successful in improving outcomes for families and children in Milwaukee. The number of children in out-of-home care in Milwaukee is now under 2000 and continues to drop," said Eloise Anderson, Secretary of the Department of Children and Families. "The savings generated from these positive results allows us to replicate this practice in other counties."
Wisconsin was one of only a select number of states that received a federal waiver authorizing flexible use of federal funding. Wisconsin was the only state whose federal waiver project focuses exclusively on decreasing the number of children returning to foster care after reuniting with their families.
As part of the proposal, caseworkers will assist families in accessing all types of benefits and services they may need, including housing or childcare.
"The Department has been working with the First Lady, Mrs. Walker, in ending the cycle of harm families in the child welfare system experience," continued Secretary Anderson. "This ongoing support will increase the likelihood the family will stay together and reduce the likelihood the child will return to foster care. It is important to work with the family during the months following reunification to assist them with any unexpected challenges they may face."
UWM's McNair program one of the longest running in the country
The University of Wisconsin-Milwaukee's Ronald E. McNair Postbaccalaureate Achievement Program has received federal funding for an additional five years, according to an announcement from the U.S. Department of Education.
The McNair program is a federally funded initiative to prepare students from economically disadvantaged backgrounds for graduate-level study. It is named for the African American astronaut who died in the space shuttle Challenger explosion.
UWM's McNair program is one of the longest running in the country. However, continued funding was threatened earlier this year when the U.S. Department of Education announced plans to transfer $10 million from the McNair program to other programs to prepare young people for careers in science, technology, engineering and mathematics (STEM).
Of the 203 programs nationally, only 134 had their funding continued.
The University of Wisconsin System and UWM Chancellor Michael R. Lovell were vocal in their support of the McNair program, according to Carmen Aguilar, director, and Donte McFadden, associate director. The McNair program also received help and support from numerous members of the administration, faculty and staff in preparing and supporting the grant renewal proposal, they added.
UWM was one of 12 programs in the State of Wisconsin to receive continued funding through 2017, according to Aguilar and McFadden. "As one of the original 14 McNair programs nationally, our institution will continue to prepare low-income, first-generation and underrepresented students for graduate study," Aguilar added. "Special thanks to Senator Herb Kohl and Congresswoman Gwen Moore for their tireless support of the TRIO programs [McNair is part of TRIO], and the efforts of their staffs in voicing our concerns about these decisions to the Department of Education."
Milwaukee Police Department and DA's Office Must be Held Accountable Derek Williams Case
Madison -Representative Tamara Grigsby (D-Milwaukee) recently joined the chorus of Milwaukee officials calling for an independent federal criminal investigation into the Milwaukee Police Department's treatment of Derek Williams and the pattern of civil rights abuses by the Department. Grigsby released the following statement: "This is not about the sudden emergence of 'new information,' as District Attorney Chisolm termed it, on Mr. Williams' death. This is about the handling of information that already existed, and it is about a larger pattern of abuse and cover-ups over the years that have made it difficult to trust the Milwaukee Police Department. What else is the Department hiding? It's time for an independent federal investigation to find out.
"For the Department to respond to our outrage with lip service about training officers is offensive. No amount of training could overcome the brutal disregard of another human being that the video footage of Mr. Williams' death captures. If anything, it is the policies that allowed for a 14-month lag between his death and the release of the video footage that need to be reexamined. Reporters pressed for ten months before the Department finally relented. This was a drawn-out attempt to prevent Mr. Williams' family and the public from
ever knowing the truth about his death.
"I do not see how anyone who watched the video, as Police Chief Flynn and DA Chisolm did, could not have known that Mr. Williams was slowly and painfully dying. Furthermore, it is impossible to imagine a slender 22 year-old young white man–handcuffed in the back of a squad car, gasping for air, and pleading for his life—being disregarded as Mr. Williams was. This sort of treatment is wrong, regardless of race, socioeconomic status, neighborhood, or any other classification.
"It is time for Milwaukee to stop its rise in the ranks of cities characterized by police brutality and civil rights abuses. We must hold the Department and the DA's Office accountable for these injustices. Beyond this, the Department needs a complete overhaul, guided by the findings of independent federal investigators, to definitively end the corruption."
MPS, Junior Achievement Team Up To Bring Financial Literacy To All 5,000 MPS 8th graders
Three-year program tackles family financial issues as federal report shows financial literacy sorely lacking
Milwaukee, (Sept. 18, 2012) Managing an investment portfolio, calculating net income, building a nest egg for college and developing a family budget may seem advanced to eighth-grade students. But the importance of these challenges has life-long consequences; and it¹s not too soon to face them.
That¹s why Milwaukee Public Schools and Junior Achievement of Wisconsin have combined resources for an innovative learning experience, teaching the basics and benefits of personal finance to more than 5,000 teenagers this year in more than 120 MPS elementary and middle schools.
The announcement comes two and a half weeks after a report from the U.S. Securities and Exchange Commission found that even those Americans investing in financial markets have a "weak grasp" of basic financial concepts.
Dr. Gregory Thornton, Milwaukee Public Schools Superintendent and Tim Greinert, President of Junior Achievement of Wisconsin, presented details of the program, called JA Finance Park Learning Journey at the JA Kohl's Education Center, 11111 W. Liberty Dr. The JA Kohl's Education Center was created by many local supporters. Kohl's made the largest donation of $3 million over three years through the Kohl¹s Cares® program. Eighth-grade students from MPS' Burdick School will attend and participate in the program.
The comprehensive program will introduce personal finance and career exploration to all MPS 8th grade students. It includes a combination of classroom presentations, resource materials and day-long participation in a fully interactive, simulated town at JA Finance Park. In this environment students receive family and income scenarios then visit 19 businesses to purchase things like insurance, clothing, food, transportation and real estate.
All aspects of the program are designed to advance students¹ knowledge, skills, attitude and achievement in areas of personal finance. In the Learning Journey process, students are exposed to banking, budgeting, obtaining credit, paying taxes and making investment decisions.
"It¹s a real world experience in a real-world environment. The combination of presentations, materials and the use of JA Finance Park create a real-life interactive learning experience, one that will enlighten and enrich our students and lead to practical decision making," Dr. Thornton said.
He added the desired outcome is for students to be more interested and aware of the choices and considerations they are facing now and in the future. It will also give the students an appreciation for the economic situations and realities faced by their parents and grandparents each and every day.
Greinert said the significance of the subject matter and the number of students that will be exposed to it are positive developments that effectively blend education and experience.
"It will introduce personal finance and career exploration to a substantial number of teens and pre-teens. The subject matter needs to be presented, realized, experienced and reinforced both inside and outside the classroom.
"The students will create a budget, allocate expenses and make personal investments. They become the sole providers for a family and must accommodate the family needs without overspending," Greinert said.
Adding to the collaborative nature of the JA Finance Park Learning Journey, it will draw upon the expertise and experiences of participating educators, volunteers, Junior Achievement of Wisconsin staff and the students themselves. Educators will assist student learning at the JA Kohl's Education Center, preparing students before the day and summarizing the experience through post-visit activities.
The JA Finance Park Learning Journey is a three-year partnership between Junior Achievement of Wisconsin and MPS. The program is correlated to Common Core Standards and Wisconsin Model Academic Standards. It represents an extension and expansion of MPS' Learning Journey concept of collaborative classroom, corporate and community teaching programs. MPS Learning Journeys combine standards-based classroom instruction for students with real-world learning.
MPS is developing a common set of field-based enrichment experiences, specific to each grade and aligned to grade level standards and curricula in the core subjects. The Learning Journeys connect learning in the classroom with the greater community where students have the chance to have hands-on learning experiences, engage their senses and imagination and experience beyond their neighborhoods. The partnership with Junior Achievement of Wisconsin marks MPS' second Learning Journey following last year's announcement of a Discovery World partnership for all fourth-graders.