IP Library › Granted Patent US 8,397,129
Granted Patent B2
US 8,397,129 · App. 13/467,699 · Granted Mar 12, 2013

Memory array error correction apparatus, systems, and methods

Inventors: John F. Schreck (Lucas, TX); Todd A. Dauenbaugh (Richardson, TX)
Assignee: Micron Technology, Inc.
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 8,397,129
App. No.
13/467,699
Granted
Mar 12, 2013
Kind
B2
Abstract

Various embodiments include apparatus, methods, and systems that operate to extend the processes of reading, modifying, and writing data stored in or being provided to a memory array without interrupting a continual stream of data to be written into the memory array. Embodiments may include an apparatus comprising a memory array, and an error code module coupled to the memory array with a data buffer having a plurality of data burst registers operable to receive a plurality of data bursts to be written to the memory array on a corresponding plurality of consecutive clock cycles. The error code module is operable to perform a read/modify/write process on each of the plurality of data bursts within a time period no longer than a period of two consecutive cycles of the plurality of consecutive clock cycles.

Claims (41)

1. An apparatus comprising:

an error code module configured to receive a plurality of data bursts and perform a read/modify/write process on each of the plurality of data bursts within a time period no longer than a period of two consecutive clock cycles,

wherein the error code module is further configured to interleave operations of the read/modify/write processes such that read and write operations do not occur simultaneously.

2. The apparatus of claim 1 , wherein the error code module is further configured to perform modify and write operations simultaneously.

3. The apparatus of claim 1 , wherein the read/modify/write process includes generating an error correction code.

4. The apparatus of claim 1 , further comprising:

a clock circuit coupled to a processor and the error code module and configured to provide the two consecutive clock cycles to the error code module; and

a half-cycle clock circuit coupled to the clock circuit and the error code module, the half-cycle clock circuit configured to provide a plurality of clock cycles at a faster rate than the clock circuit.

5. The apparatus of claim 1 , wherein the error code module is further configured to interleave read operations, modify operations, and write operations.

6. The apparatus of claim 1 , wherein the error code module comprises:

a data combiner configured to generate a plurality of modified data bursts corresponding to the plurality of data bursts.

7. The apparatus of claim 6 , wherein the data combiner is further configured to generate each of the plurality of modified data bursts based, at least in part, on a respective data mask signal.

8. An error code module comprising:

an input data buffer configured to receive a plurality of data bursts during a plurality of consecutive clock cycles;

a data combiner configured to provide a plurality of modified data bursts responsive, at least in part, to performing a read/modify/write process on each of the plurality of data bursts;

a modified read data register configured to receive each of the plurality of modified data bursts; and

wherein each read/modify/write process is based, at least in part, on a respective set of read data and is performed within a time period no longer than a period of two consecutive clock cycles.

9. The error code module of claim 8 , wherein each set of read data is coupled to the data combiner from a memory over a plurality of global I/O lines.

10. The error code module of claim 8 , further comprising:

an error code computation unit coupled to the modified read data register and configured to generate a respective error correction code based, at least in part, on each of the plurality of modified data bursts.

11. The error code module of claim 10 , wherein the error code computation unit is further configured to store each of the plurality error correction codes in an error correction code register.

12. The error code module of claim 10 , wherein the error code computation unit is further configured to determine if one of the plurality of data bursts comprises an error, the error code computation unit further configured to correct the error responsive to determining that the error is correctable.

13. The error code module of claim 8 , wherein each read/modify/write process comprises a modify operation, wherein each modify operation is based, at least in part, on a respective mask signal.

14. The error code module of claim 8 , wherein the data combiner is further configured to interleave the read/modify/write processes performed on each of the plurality of data bursts.

15. A method, comprising:

reading from a first address;

after reading from the first address, generating a first set of write data;

reading from a second address;

after reading from the second address, generating a second set of write data;

after reading from the second address, providing the first set of write data to a data bus; and

wherein said reading from the first address and said providing the first set of write data do not occur simultaneously, and said reading from the second address and said providing the first set of write data do not occur simultaneously.

16. The method of claim 15 , wherein the first set of write data is based, at least in part, on a first plurality of data mask inputs and the second set of write data is based, at least in part, on a second plurality of data mask inputs.

17. The method of claim 15 , wherein said reading from the first address comprises:

gating data corresponding to the first address from a local bus to a global bus.

18. The method of claim 15 , wherein said generating the first set of write data comprises:

combining the first set of read data and a data burst to generate the first set of write data.

19. The method of claim 15 , wherein the first address is read during a first clock cycle and the second address is read during a second clock cycle, wherein the first and second clock cycles are consecutive.

20. The method of claim 15 , further comprising:

receiving an error correction code corresponding to the first address;

determining whether a first set of data corresponding to the first address includes an error; and

correcting at least one error in the first set of data responsive to determining that the first set of data includes an error.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Nov 12, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
Reel/Frame 051028/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050937/0001 →
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 047243/0001 →
SECURITY INTEREST Recorded Jul 13, 2018
From: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 047540/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REPLACE ERRONEOUSLY FILED PATENT #7358718 WITH THE CORRECT PATENT #7358178 PREVIOUSLY RECORDED ON REEL 038669 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Jun 8, 2017
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 043079/0001 →
PATENT SECURITY AGREEMENT Recorded Jun 2, 2016
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 038954/0001 →
SECURITY INTEREST Recorded May 12, 2016
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038669/0001 →
Continuity (3)
Continuation 13086137 · Apr 13, 2011
Continuation 11705190 · Feb 12, 2007
Related Publication 20120221916A1 · Aug 30, 2012