Claims
- 1. A system comprising:
a plurality of first error-handling modules each comprising a first and second mode of operation, wherein each of the plurality of first error-handling modules is configured to detect data errors in each of a 4 bit wide memory device when the first error-handling module is in the first mode of operation and configured to detect data errors in an 8-bit wide memory device when the first error-handling module is operating in the second mode of operation, and wherein each of the plurality of first error-handling modules produces a first output signal; and a second error-handling module electrically coupled to each of the plurality of first error-handling modules and configured to correct the data errors detected in any of the plurality of first error-handling modules, wherein the second error-handling module produces a second output signal.
- 2. The system, as set forth in claim 1, comprising a plurality of switches corresponding to each of the plurality of first error-handling modules, each of the plurality of switches having a first and second state, wherein each of the plurality of switches is coupled to a respective one of the plurality of first error-handling modules and the second module, and wherein each of the plurality of switches is configured to receive each of the corresponding first output signal and the second output signal and configured to transmit only one of the first output signal and the second output signal depending on the state of the switch.
- 3. The system, as set forth in claim 1, wherein the each of the plurality of first error-handling modules comprises ECC code.
- 4. The system, as set forth in claim 3, wherein the first error-handling module is configured to correct data errors detected by the ECC code.
- 5. The system, as set forth in claim 1, wherein the second module comprises an exclusive-or (XOR) module.
- 6. The system, as set forth in claim 2, wherein the respective switch is set to the first state when no errors are detected by the first corresponding error-handling module.
- 7. The system, as set forth in claim 2, wherein the switch is set to the second state when a data error is detected by the first corresponding error-handling module.
- 8. The system, as set forth in claim 7, wherein each of the plurality of first error handling modules is configured to produce a corresponding flag if an error is detected in the corresponding first-error handling module.
- 9. The system, as set forth in claim 8, wherein the second-error handling module comprises a compare circuit configured to receive the error flags from each of the plurality of first error-handling modules and configured to reset the corresponding switch to the first state if more than one error flag received.
- 10. A method for handling errors in an X8 memory device comprising the acts of:
detecting errors in each of a plurality of 8-bit wide data words issued on a transaction using an ECC algorithm; and correcting the errors using an XOR engine.
- 11. The method for handling errors in an X8 memory device, as set forth in claim 10, wherein the act of detecting comprises the act of detecting single-bit errors in each of the plurality of 8-bit wide data words, and wherein the act of correcting comprises the act of correcting the single-bit errors.
- 12. The method for handling errors in aX8 memory device, as set forth in claim 10, comprises the act of:
generating an error flag if an error is detected in any of the plurality of data words; and comparing each of the error flags generated on the transaction.
- 13. The method for handling errors in a X8 memory device, as set forth in claim 12, comprising the act of if more than one error flag is generated on the transaction:
determining the error type, wherein the error type comprises one of a single-bit error and a multi-bit error; and correcting any single-bit errors detected using single-bit error correction code.
- 14. The method for handling errors in a X8 memory device, as set forth in claim 13, comprising the act of initiating a non-maskable interrupt (NMI) if more than one multi-bit error is detected on the transaction..
- 15. A system comprising:
a plurality of memory devices; an error handling module adapted to operate in one of a first mode and a second mode and configured to receive data from the plurality of 5 memory devices and to detect one of single bit errors and multi-bit errors in the data; and an error correction module coupled to the error handling module and configured to correct each of the single bit errors and multi bit errors detected and delivered by the error handling routine; wherein, the error hand lilg module is configured to correct the single bit errors detected in the data to produce corrected data if the error handling module is operating in a first mode; and wherein, the error handling module is configured to deliver the data to the error correction module if the error handling module is operating in the second mode.
- 16. The system, as set forth in claim 15, wherein the error handling module comprises ECC code.
- 17. The system, as set forth in claim 15, wherein the error correction module comprises an exclusive-or (XOR) module.
- 18. The system, as set forth in claim 15, wherein the error handling module is configured to operate in the first mode of operation if the plurality of memory modules comprise 4-bit wide memory devices.
- 19. The system, as set forth in claim 15, wherein the error handling module is configured to operate in the second mode of operation if the plurality of memory modules comprise 8-bit wide memory devices.
- 20. The system, as set forth in claim 15, wherein the error correction module comprises a compare circuit configured to receive error flags from each of a plurality of memory modules and to determine whether more than one error flag for a respective cacheline of data is received.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The following commonly owned application is hereby incorporated by reference for all purposes:
[0002] U.S. patent application Ser. No.______, filed concurrently herewith, entitled “Technique for Implementing Chipkill in a Memory System” by Sompong P. Olarig.