IP Library Granted Patent US 7,599,235
Granted Patent B2
US 7,599,235 · App. 11/982,532 · Granted Oct 6, 2009

Memory correction system and method

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,599,235
App. No.
11/982,532
Granted
Oct 6, 2009
Kind
B2
Abstract

An error correction system and method operable to identify and correct a memory module disposed within a computer memory system. In one embodiment, the memory system comprises a first memory module and a second memory module, each comprising a plurality of memory devices; and a memory controller operably coupled to the first memory module and the second memory module, the memory controller operable to use an error correction code (ECC) word, comprising data and redundant data, to detect module-level errors in the first and second memory modules.

Claims (26)

1. A memory system, comprising:

a first memory module and a second memory module, each comprising a plurality of memory devices; and

a memory controller operably coupled to said first memory module and said second memory module, said memory controller operable to use an error correction code (ECC) word, comprising data and redundant data, to detect module-level errors in said first and second memory modules.

2. The memory system as recited in claim 1 , wherein said memory controller is connected to read at least two locations in each of said first and second memory modules to provide said error correction word.

3. The memory system as recited in claim 1 , wherein said redundant data of said ECC word includes a checksum portion contributed by said first memory module and a checksum portion contributed by said second memory module for use by said memory controller to identify which of said first and second memory modules is defective.

4. The memory system as recited in claim 3 , wherein a defective one of said first and second memory modules is identified based on XORing addresses of each of said first and second memory modules into respective checksum portions and comparing bits read from said respective checksum portions against respective XORed addresses of said first and second memory modules.

5. The memory system as recited in claim 1 , further comprising a redundant memory module configured to be used with said first and second memory modules to recover corrupted data.

6. The memory system as recited in claim 5 , wherein a defective one of said first and second memory module's data is recovered based on XORing between said redundant memory module's data and data from a non-defective one of said first and second memory modules.

7. The memory system as recited in claim 1 , wherein said memory controller is further operable to detect device-level in said first and second memory modules.

8. A memory correction method operable with a memory system comprising first and second memory modules organized as an error correction code (ECC) domain, said ECC domain including a redundant memory module, each memory module having a plurality of memory devices, the method comprising:

reading an ECC word that comprises data and redundant data from said first and second memory modules; and

determining, based on said ECC word, whether one of said first and second memory modules is faulty.

9. The memory correction method as recited in claim 8 , wherein reading an ECC word comprises reading two locations of said first and second memory modules.

10. The memory correction method as recited in claim 8 , wherein if one of said first and second memory modules is faulty, recovering data from said faulty memory module using said redundant memory module.

11. The memory correction method as recited in claim 8 , wherein a checksum portion is provided as part of said redundant data.

12. The memory correction method as recited in claim 8 , further comprising determining whether one of said devices of said first and second memory modules is faulty, based on said redundant data.

13. The memory correction method as recited in claim 8 , wherein a defective one of said first and second memory modules is identified based on XORing of addresses of each of said memory modules into respective checksum portions and comparing bits read from said respective checksum portions against respective XORed addresses of said memory modules.

14. A computer system, comprising:

a processor complex operably coupled to a memory controller complex, said memory controller complex controlling memory operations with respect to first and second memory modules that are organized as an error correction code (ECC) domain, said first and second memory modules each comprising a plurality of memory devices; and

a module error correction engine operable with said memory controller complex, said module error correction engine operating to determine whether one of said first and second memory modules is defective.

15. The computer system as recited in claim 14 , wherein said memory controller complex is configured to read at least two locations of each of said first and second memory modules to recover an ECC word used by said module error correction engine.

16. The computer system as recited in claim 15 , wherein said ECC word comprises redundant data used by said module error correction engine to identify which of said memory modules is defective.

17. The computer system as recited in claim 14 , further comprising recovering a defective memory module's data based on said redundant memory module.

18. The computer system as recited in claim 14 , wherein said module error correction engine is further operable with said memory controller complex to determine whether a device of said first and second memory modules is defective.

19. The computer system as recited in claim 17 , wherein said module error correction engine is operable to identify a defective one of said first and second memory modules based on XORing addresses of each of said first and second memory modules into respective checksum portions and comparing bits read from said respective checksum portions against respective XORed addresses of said first and second memory modules.

20. The computer system as recited in claim 19 , wherein said module error correction engine is operable to recover said defective memory module's data based on XORing between said redundant memory module's data and data from a remaining non-defective memory module.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2021
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 057650/0537 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →