IP Library Granted Patent US 7,861,138
Granted Patent B2
US 7,861,138 · App. 11/566,774 · Granted Dec 28, 2010

Error correction in memory devices

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,861,138
App. No.
11/566,774
Granted
Dec 28, 2010
Kind
B2
Abstract

Embodiments of the invention generally provide a method and apparatus for correcting errors in a memory device. In one embodiment, the method includes receiving a read command and a read address for the read command and reading data from a first location of the memory device corresponding to the read address. The method also includes reading error correction information corresponding to the read address. If the error correction information indicates an error in the data, the error in the data is corrected to produce corrected data and the corrected data is output from the memory device. The corrected data is also written back to a second location in the memory device corresponding to the read address.

Claims (80)

1. A method of correcting errors in a memory device, comprising:

receiving a read command and a read address for the read command;

reading data from a first location of the memory array corresponding to the read address;

reading error correction information corresponding to the read address;

producing corrected data when the error correction information indicates an error in the data; and

writing the corrected data to a second location corresponding to the read address in a nonvolatile memory separate from the memory array.

2. The method of claim 1 , wherein the memory device is a dynamic random access memory device.

3. The method of claim 1 , wherein reading error correction information corresponding to the read address comprises:

reading the error correction information from a location in a memory array of the memory device corresponding to the read address.

4. The method of claim 1 , wherein the error correction information provides single bit error correction for a group of four data addresses in the memory device.

5. The method of claim 4 , wherein the memory device is configured to provide write accesses for single data addresses.

6. A method of correcting errors in a memory device, comprising:

receiving a read command and a read address for the read command;

reading data from a location in a memory array of the memory device corresponding to the read address;

reading error correction information corresponding to the read address;

producing corrected data when the error correction information indicates an error in the data; and

writing the corrected data to a location corresponding to the read address in a nonvolatile memory separate from the memory array.

7. The method of claim 6 , wherein the memory device is a dynamic random access memory device.

8. The method of claim 6 , wherein the memory array includes a first port and a second port, wherein reading the data from the location in the memory array comprises reading the data from the first port, and wherein writing the corrected data to the location in the memory array comprises writing the corrected data to the second port.

9. The method of claim 6 , wherein reading error correction information corresponding to the read address comprises:

reading the error correction information from the location in the memory array corresponding to the read address.

10. The method of claim 7 , wherein the error correction information provides single bit error correction for a group of four data addresses in the memory array.

11. The method of claim 10 , wherein the memory device is configured to provide write accesses for single data addresses in the memory array.

12. A memory device, comprising:

a memory array;

a nonvolatile memory separate from the memory array; and

circuitry configured to:

receive a read command and a read address for the read command;

retrieve data from a location in the memory array corresponding to the read address;

read error correction information corresponding to the read address;

produce corrected data when the error correction information indicates an error in the data; and

write the corrected data to a location corresponding to the read address in the nonvolatile memory separate from the memory array.

13. The memory device of claim 12 , wherein the memory device is a dynamic random access memory device.

14. The memory device of claim 12 , wherein the memory array includes a first port and a second port, and wherein the circuitry is configured to read the data from the first port and write the corrected data back to the location in the memory array via the second port.

15. The memory device of claim 12 , wherein reading error correction information corresponding to the read address comprises:

reading the error correction information from the location in the memory array corresponding to the read address.

16. The memory device of claim 12 , wherein the error correction information provides single bit error correction for a group of four data addresses in the memory array.

17. The memory device of claim 16 , wherein the memory device is configured to provide write accesses for single data addresses in the memory array.

18. A method of correcting errors in a memory device, comprising:

receiving a read command and a read address for the read command;

reading data from a location in a memory array of the memory device corresponding to the read address;

reading error correction information corresponding to the read address;

producing corrected data when the error correction information indicates an error in the data;

storing the corrected data to a nonvolatile memory storage location of the memory device separate from the memory array; and

storing the read address to an address storage location of the memory device associated with the memory storage location of the memory device to indicate the read address of the corrected data in the nonvolatile memory storage location.

19. The method of claim 18 , wherein the memory array comprises dynamic random access memory, and wherein the memory storage location comprises static random access memory.

20. The method of claim 18 , further comprising:

receiving an access command and an access address for the access command; and in response to receiving the access command:

determining if the access address matches the read address stored in the address storage location;

using the access command to access the corrected data stored in the memory storage location if the access address matches the read address; and

using the access command to access the first location in the memory array of the memory device if the access address does not match the read address.

21. The method of claim 18 , wherein the address storage location is a register.

22. The method of claim 18 , wherein reading error correction information corresponding to the read address comprises:

reading the error correction information from the location in the memory array corresponding to the read address.

23. The method of claim 18 , wherein the error correction information provides single bit error correction for a group of four data addresses in the memory array.

24. The method of claim 23 , wherein the memory device is configured to provide write accesses for single data addresses in the memory array.

25. The method of claim 18 , wherein the address storage location of the memory device comprises non-volatile memory configured to store the read address.

26. A memory device, comprising:

a memory array;

a nonvolatile memory separate from the memory array; and

circuitry configured to:

receive a read command and a read address for the read command;

retrieve data from a first location in the memory array corresponding to the read address;

read error correction information corresponding to the read address;

produce corrected data when the error correction information indicates an error in the data;

store the corrected data to a memory storage location in the nonvolatile memory separate from the memory array; and

store the read address to an address storage location of the memory device associated with the memory storage location of the memory device to indicate the read address of the corrected data.

27. The memory device of claim 26 , wherein the memory array comprises dynamic random access memory, and wherein the memory storage location comprises static random access memory.

28. The memory device of claim 26 , wherein the circuitry is further configured to:

receive an access command and an access address for the access command; and

in response to receiving the access command:

determine if the access address matches the read address stored in the address storage location;

use the access command to access the corrected data stored in the memory storage location if the access address matches the read address; and

use the access command to access the first location in the memory array of the memory device if the access address does not match the read address.

29. The memory device of claim 26 , wherein the address storage location is a register.

30. The memory device of claim 26 , wherein reading error correction information corresponding to the read address comprises:

reading the error correction information from the location in the memory array corresponding to the read address.

31. The memory device of claim 26 , wherein the error correction information provides single bit error correction for a group of four data addresses in the memory array.

32. The memory device of claim 31 , wherein the memory device is configured to provide write accesses for single data addresses in the memory array.

33. The memory device of claim 26 , wherein the address storage location of the memory device comprises non-volatile memory configured to store the read address.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2015
From: INFINEON TECHNOLOGIES AG
To: POLARIS INNOVATIONS LIMITED
Reel/Frame 037171/0719 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2015
From: INFINEON TECHNOLOGIES AG
To: POLARIS INNOVATIONS LIMITED
Reel/Frame 037147/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2015
From: QIMONDA AG
To: INFINEON TECHNOLOGIES AG
Reel/Frame 035623/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2011
From: QIMONDA NORTH AMERICA CORP
To: QIMONDA AG
Reel/Frame 026138/0613 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ADDRESS OF THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 018583 FRAME 0136. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECT ADDRESS OF THE ASSIGNEE IS 3000 CENTREGREEN WAY, CARY, NORTH CAROLINA 27513. Recorded Mar 6, 2007
From: OH, JONG-HOON
To: QIMONDA NORTH AMERICA CORP.
Reel/Frame 018968/0556 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2006
From: OH, JONG HOON
To: QIMONDA NORTH AMERICA CORP.
Reel/Frame 018583/0136 →