These and other features of this invention will be more readily understood from the following detailed description of the various aspects of the invention taken in conjunction with the accompanying drawings in which:
The drawings are merely schematic representations, not intended to portray specific parameters of the invention. The drawings are intended to depict only typical embodiments of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represents like elements.
As detailed above, the present invention is directed to a memory configuration that provides multi-bit (e.g., double bit) error correction and hot replace without requiring memory mirroring. The memory configuration maintains system availability, for example, in the event of a catastrophic DIMM (Dual In-line Memory Module) failure.
An illustrative memory configuration 10 in accordance with an embodiment of the present invention is depicted in
In accordance with the present invention, a data word is read/written on all DIMMs 12A, 12B, 12C, 12D, 12ECC at the same time and in parallel. Specifically, data segments are directed by multiplexer 22 and read/written in parallel on sequential DIMMs. For example, bits 0-3 of a 16-bit data word can be written on DIMM 12A, bits 4-7 written on DIMM 12B, bits 8-11 written on DIMM 12C, and bits 12-15 written on DIMM 12D. An ECC code for every address contained on the DIMMs 12A, 12B, 12C, 12D, provided in any now known or later developed manner, is written to the DIMM 12ECC. The multiplexer 22, positioned before each DIMM 12A, 12B, 12C, 12D, 12ECC, determines which memory component 20 from each DIMM 12A, 12B, 12C, 12D, 12ECC has access to the data bus 18 at any given time, therefore directing different data segments into/from different memory components 20 on the DIMMs. An example of this is represented in
Using the memory configuration 10, one of the DIMMs 12A, 12B, 12C, 12D can be removed or fail (e.g., due to a multi-bit error), and the system can still correct the error using ECC correction techniques and the ECC code stored on the DIMM 12ECC. Similarly, the failing DIMM 12A, 12B, 12C, 12D can be identified (e.g., using known techniques) and hot-replaced without having to bring the system down. This is done without the use of memory mirroring.
The foregoing description of the embodiments of this invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and many modifications and variations are possible.