IP Library Granted Patent US 8,793,554
Granted Patent B2
US 8,793,554 · App. 13/946,492 · Granted Jul 29, 2014

Switchable on-die memory error correcting engine

Inventors: Gurkirat Billing (Lincoln, CA); Stephen Bowers (Woodland, CA); Mark Leinwander (Folsom, CA); Samuel David Post (Folsom, CA)
Assignee: Micron Technology, Inc.
G11C29/42G11C29/44G06F11/08G06F11/1048
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,793,554
App. No.
13/946,492
Granted
Jul 29, 2014
Kind
B2
Abstract

Subject matter disclosed herein relates to a user-switchable error correction coding (ECC) engine residing on a memory die.

Claims (62)

1. A method of correcting data errors generated by a memory array of a memory die in a memory device, the method comprising:

reading data stored in the memory array;

detecting an error in the read data;

determining whether to correct the error using an on-die correction coding engine or using an error correction coding engine located externally from the memory die; and

correcting the error using the on-die error correction coding engine or using the error correction coding engine located externally from the memory die, the memory device comprising both the on-die error correction coding engine and the error correction coding engine located externally from the memory die.

2. The method of claim 1 , further comprising correcting errors in read data from at least one additional memory die using the error coding engine located externally from the memory die, the memory device comprising the at least one additional memory die.

3. A method of correcting data errors generated by a memory array of a memory die in a memory device, the method comprising:

reading data stored in the memory array;

detecting an error in the read data;

determining whether to bypass an on-die error correction coding engine or an error correction coding engine located externally from the memory die; and

correcting the error using the on-die error correction coding engine or using the error correction coding engine located externally, from the memory die, the memory device comprising both the on-die error correction coding engine and the error correction coding engine located externally from the memory die.

4. The method of claim 3 , further comprising performing the determining during reading the data stored in the memory array.

5. The method of claim 3 , further comprising performing the determining during a configuration process of the memory device.

6. The method of claim 3 , wherein the determining is based on at least one performance parameter of the memory device, the at least one performance parameter including: a number of detected errors in the read data, a latency performance of the on-die error correction coding engine, a latency performance of the error correction coding engine located externally from the memory die, an error type of the detected errors, and an error correction technique suitable for correcting the detected errors.

7. The method of claim 6 , further comprising tracking the at least one performance parameter in real-time.

8. A method of correcting data errors generated by a memory array of a memory die in a memory device, the method comprising:

reading, data stored in the memory array;

detecting an error in the read data; and

correcting the error using an on-die error correction coding engine or using an error correction coding engine located externally from the memory die, the memory device comprising both the on-die error correction coding engine and the error correction coding engine located externally from the memory die, and the error correction coding engine located externally from the memory die having a greater error correction capacity than an error correction capacity of the on-die error correction coding engine.

9. The method of claim 8 , wherein correcting the error is performed by the error correction coding engine located externally from the memory die when a number of errors generated by the memory array increases beyond the error correction capacity of the on-die error correction coding engine.

10. A memory device, the device comprising:

a memory die including a memory array; and

an on-die error correction coding engine and an error correction coding engine located externally from the memory die, each error correction coding engine configured to:

receive data read from the memory array;

detect errors in the data read from the memory array; and

correct the errors in the data read from the memory array; and

a memory controller configured to determine whether to correct the errors using the on-die correction coding engine or using the error correction coding engine located externally from the memory die.

11. A memory; device, the device comprising:

a memory die including a memory array;

an on-die error correction coding engine and an error correction coding engine located externally from the memory die, each error correction coding engine configured to:

receive data read from the memory array;

detect errors in the data read from the memory array; and

correct the errors in the data read from the memory array; and

a memory controller configured to determine whether to bypass the on-die error correction coding engine or the error correction coding engine located externally from the memory die.

12. A memory device, the device comprising:

a memory die including a memos array;

an on-die error correction coding engine and an error correction coding engine located externally from the memory die, the error correction coding engine located externally from the memory die having a greater error correction capacity than an error correction capacity of the on-die error correction coding engine, and each error correction coding engine configured to:

receive data read from the memory array;

detect errors in the data read from the memory array; and

correct the errors in the data read from the memory array.

13. The device of claim 10 , further comprising at least one additional memory die connected in parallel with the memory die.

14. The device of claim 13 , wherein the error correction coding engine located externally from the memory die is configured to provide data error correction for both the memory die and the at least one additional memory die.

15. The device of claim 11 , wherein the determining is performed during a runtime of the memory device.

16. The device of claim 11 , wherein the determining is performed during a configuration process of the memory device.

17. A system, comprising:

a memory die including a memory array;

a processor configured to process executable instructions to read data from the memory array; and

an on-die error correction coding engine and an error correction coding engine located externally from the memory die, each error correction coding engine configured to:

receive data read from the memory array;

detect errors in the data read from the memory array; and

correct the errors in the data read from the memory array; and

a memory controller configured to determine whether to correct the errors using the on-die correction coding engine or using the error correction coding, engine located externally from the memory die.

18. A system, comprising:

a memory die including a memory array;

a processor configured to process executable instructions to read data from the memory array; and

an on-die error correction coding engine and an error correction coding engine located externally from the memory die, each error correction coding engine configured to:

receive data read from the memory array;

detect errors in the data read from the memory array; and

correct the errors in the data read from the memory array; and

a memory controller configured to determine whether to bypass the on-die error correction coding engine or the error correction coding engine located externally from the memory die.

19. The system of claim 18 , wherein the determining is performed during a runtime of the system.

20. The system of claim 17 , further comprising at least one additional memory die, wherein the error correction coding engine located externally from the memory die is configured to provide data error correction for both the memory die and the at least one additional memory die.

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 (2)
Continuation 12495081 · Jun 30, 2009
Related Publication 20130305123A1 · Nov 14, 2013