IP Library Granted Patent US 9,823,964
Granted Patent B2
US 9,823,964 · App. 14/963,067 · Granted Nov 21, 2017

Method for memory scrub of DRAM with internal error correcting code (ECC) bits during either memory activate and/or precharge operation

Inventors: David Reed (Saratoga, CA); Alok Gupta (Fremont, CA)
Assignee: NVIDIA CORPORATION
G06F11/1068G06F3/064G06F3/0619G06F3/0688G11C7/02G11C11/4082G11C11/4087G11C11/4093G11C11/40615G11C29/04G11C2029/0409G11C2029/0411G11C2029/4402G11C2211/4062
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 9,823,964
App. No.
14/963,067
Granted
Nov 21, 2017
Kind
B2
Abstract

A method for updating a DRAM memory array is disclosed. The method comprises: a) receiving a command from a memory controller to initiate an active cycle for activating a memory row in a DRAM memory array; b) performing an Error Correction Code (ECC) scrub on the memory row prior to reading data from the memory row into sense amplifiers in the DRAM memory array in accordance with the command to activate; c) activating the memory row; and d) writing corrected data following the ECC scrub back into memory from the sense amplifiers during a pre-charge cycle of the DRAM memory array.

Claims (54)

1. A method for updating a DRAM memory array, said method comprising:

a) receiving a command from a memory controller to initiate an active cycle for activating a memory row in a DRAM memory array;

b) performing an Error Correction Code (ECC) scrub on the memory row in the DRAM memory array in accordance with the command to activate;

c) activating the memory row; and

d) writing corrected data following the ECC scrub back into the memory row of the DRAM memory array from the sense amplifiers during a pre-charge cycle of the DRAM memory array.

2. The method of claim 1 , further comprising:

e) incrementing a column counter internal to the DRAM memory array to track columns scrubbed of the DRAM memory array.

3. The method of claim 2 , further comprising:

repeating the a), b), c), d) and e) for a subsequent row in the DRAM memory array.

4. The method of claim 3 , wherein the command to activate comprises a tagged extension to indicate that an ECC scrub is to be performed during the activate cycle.

5. The method of claim 3 , wherein the DRAM is configured to perform the ECC scrub of a memory row during every activate cycle.

6. The method of claim 1 , wherein the DRAM memory array is configured with a plurality of error correction modules operable to scrub a plurality of columns of the memory row at the same time.

7. The method of claim 6 , wherein the ECC scrub comprises:

reading in data from the memory row;

checking ECC bits corresponding to the plurality of columns in the memory row;

correcting the data for the plurality of columns if the ECC bits indicate an error;

re-computing the ECC bits for the plurality of columns; and

writing corrected data and the ECC bits back into the DRAM memory array.

8. A method for updating a DRAM memory array, said method comprising:

a) activating a memory row in a DRAM memory array during an activate cycle;

b) receiving a command from the memory controller to initiate a precharge cycle for precharging the memory row in the DRAM memory array;

c) performing an Error Correction Code (ECC) scrub on the memory row prior to writing corrected data from the sense amplifiers back into the DRAM memory array in accordance with the precharge command; and

d) writing corrected data following the ECC scrub back into the memory row of the DRAM memory array from the sense amplifiers during a pre-charge cycle of the DRAM memory array.

9. The method of claim 8 , further comprising:

e) incrementing a column counter internal to the DRAM memory array to track columns that have been scrubbed in the DRAM memory array.

10. The method of claim 9 , further comprising:

repeating the a), b), c), d), and e) for a subsequent row in the DRAM memory array.

11. The method of claim 10 , wherein the command to precharge comprises a tagged extension to indicate that an ECC scrub should be performed during the precharge cycle.

12. The method of claim 10 , wherein the DRAM is configured to perform the ECC scrub during every precharge cycle.

13. The method of claim 10 , wherein the DRAM memory array is configured with a plurality of error correction modules operable to scrub a plurality of columns of the memory row at the same time.

14. The method of claim 10 , wherein the ECC scrub comprises:

reading in data from the memory row;

checking ECC bits corresponding to the plurality of columns in the memory row;

correcting the data for the plurality of columns if the ECC bits indicate an error;

re-computing the ECC bits for the plurality of columns; and

writing corrected data and the ECC bits back into the DRAM memory array.

15. An apparatus for updating a DRAM memory array, said apparatus comprising:

a memory controller; and

the DRAM memory array, wherein the DRAM memory array is configured to:

a) receive a command from a memory controller to initiate an active cycle for activating a memory row in a DRAM memory array;

b) perform an Error Correction Code (ECC) scrub on the memory row in the DRAM memory array in accordance with the command to activate;

c) activate the memory row; and

d) write corrected data following the ECC scrub back into the memory row of the DRAM memory array from the sense amplifiers during a pre-charge cycle of the DRAM memory array.

16. The apparatus of claim 15 , wherein the DRAM memory array is further configured to:

repeat the a), b), c), and d) for a subsequent row in the DRAM memory array.

17. The apparatus of claim 15 , wherein the command to activate comprises a tagged extension to indicate that an ECC scrub is to be performed during the activate cycle.

18. The apparatus of claim 15 , wherein the DRAM memory array is configured to perform the ECC scrub of a memory row during every activate cycle.

19. The apparatus of claim 15 , wherein the DRAM memory array is configured with a plurality of error correction modules operable to scrub a plurality of columns of the memory row at the same time.

20. The apparatus of claim 15 , wherein in order to perform the ECC scrub the DRAM memory array is configured to:

read in data from the memory row;

check ECC bits corresponding to the plurality of columns in the memory row;

correct the data for the plurality of columns if the ECC bits indicate an error;

re-compute the ECC bits for the plurality of columns; and

write corrected data and the ECC bits back into the DRAM memory array.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2015
From: REED, DAVID; GUPTA, ALOK
To: NVIDIA CORPORATION
Reel/Frame 037242/0503 →
Continuity (1)
Related Publication 20170161144A1 · Jun 8, 2017