IP Library › Granted Patent US 8,719,665
Granted Patent B2
US 8,719,665 · App. 14/056,031 · Granted May 6, 2014

Programming error correction code into a solid state memory device with varying bits per cell

Inventors: Frankie F. Roohparvar (Monte Sereno, CA); Vishal Sarin (Saratoga, CA); Jung S. Hoei (Fremont, CA)
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,719,665
App. No.
14/056,031
Granted
May 6, 2014
Kind
B2
Abstract

Memory devices that, in a particular embodiment, receive and transmit analog data signals representative of bit patterns of two or more bits such as to facilitate increases in data transfer rates relative to devices communicating data signals indicative of individual bits. Programming error correction code (ECC) and metadata into such memory devices includes storing the ECC and metadata at different bit levels per cell based on an actual error rate of the cells. The ECC and metadata can be stored with the data block at a different bit level than the data block. If the area of memory in which the block of data is stored does not support the desired reliability for the ECC and metadata at a particular bit level, the ECC and metadata can be stored in other areas of the memory array at different bit levels.

Claims (48)

1. An electronic system, comprising:

a host processor;

a communication bus coupled to the host processor;

a bulk storage device having a bus interface for communication with the communication bus; and

a memory device, comprising:

an array of memory cells; and

control circuitry coupled to the array of memory cells wherein the control circuitry is configured to calibrate a controller to a reliability of an area of the array of memory cells and change a bit level of ECC data and/or metadata programmed into the area of the array of memory cells based on the calibration and a desired level of reliability.

2. The system of claim 1 , wherein the control circuitry is further configured to control calibration of the controller by controlling writing a first voltage to a center memory cell of the array of memory cells, writing a second voltage to memory cells surrounding the center memory cell, reading the center memory cell at a first time, varying threshold voltages of the surrounding memory cells, reading the center memory cell at a second time, and generating a table comprising an indication of an ability of the center memory cell to retain the first voltage responsive to the varying of the threshold voltages of the surrounding memory cells.

3. The system of claim 2 , wherein the control circuitry is further configured to calibrate the controller by storing calibration data in memory that is accessible by the controller.

4. The system of claim 3 , wherein the memory that is accessible by the controller is the array of memory cells.

5. The system of claim 1 , wherein the control circuitry is further configured to calibrate the controller to a reliability of an area of the memory array by:

writing a first voltage to a center memory cell;

writing a second voltage to memory cells surrounding the center memory cell;

reading the center memory cell at a first time;

varying threshold voltages of the surrounding memory cells;

reading the center memory cell at a second time; and

generating a table comprising an indication of an ability of the center memory cell to retain the first voltage responsive to the varying of the threshold voltages of the surrounding memory cells.

6. The system of claim 1 , wherein the control circuitry is further configured to calibrate the controller by performing a calibration method on representative memory cells of different areas of the memory array.

7. The system of claim 1 , wherein the control circuitry is further configured to calibrate the controller by calibrating the controller at power-up of a memory device including the memory array.

8. The system of claim 1 , wherein the control circuitry is further configured to change the bit level by programming ECC data into the area of the memory array at a bit level per memory cell determined by an actual error rate of the area.

9. The system of claim 1 , wherein the control circuitry is further configured to change the bit level by programming metadata into the area of the memory array at a bit level per memory cell determined by an actual error rate of the area.

10. A bulk storage system, comprising:

a digital bus interface for communication with an external bus; and

at least one memory device, each at least one memory device comprising an array of memory cells, and control circuitry coupled to the array of memory cells wherein the control circuitry is configured to calibrate a controller to a reliability of an area of the array of memory cells and change a bit level of ECC data and/or metadata programmed into the area of the array of memory cells based on the calibration and a desired level of reliability.

11. The device of claim 10 , wherein the control circuitry of each of the at least one memory device is further configured to control calibration of the controller by controlling writing a first voltage to a center memory cell of the array of memory cells, writing a second voltage to memory cells surrounding the center memory cell, reading the center memory cell at a first time, varying threshold voltages of the surrounding memory cells, reading the center memory cell at a second time, and generating a table comprising an indication of an ability of the center memory cell to retain the first voltage responsive to the varying of the threshold voltages of the surrounding memory cells.

12. The device of claim 11 , wherein the control circuitry is further configured to calibrate the controller by storing calibration data in memory that is accessible by the controller.

13. The device of claim 12 , wherein the memory that is accessible by the controller is the array of memory cells.

14. The device of claim 10 , wherein the control circuitry is further configured to calibrate the controller to a reliability of an area of the memory array by:

writing a first voltage to a center memory cell;

writing a second voltage to memory cells surrounding the center memory cell;

reading the center memory cell at a first time;

varying threshold voltages of the surrounding memory cells;

reading the center memory cell at a second time; and

generating a table comprising an indication of an ability of the center memory cell to retain the first voltage responsive to the varying of the threshold voltages of the surrounding memory cells.

15. The device of claim 10 , wherein the control circuitry is further configured to calibrate the controller by performing a calibration method on representative memory cells of different areas of the memory array.

16. The device of claim 10 , wherein the control circuitry is further configured to calibrate the controller by calibrating the controller at power-up of a memory device including the memory array.

17. The device of claim 10 , wherein the control circuitry is further configured to change the bit level by programming ECC data into the area of the memory array at a bit level per memory cell determined by an actual error rate of the area.

18. The device of claim 10 , wherein the control circuitry is further configured to change the bit level by programming metadata into the area of the memory array at a bit level per memory cell determined by an actual error rate of the area.

19. A bulk storage system, comprising:

a digital bus interface for communication with an external bus; and

at least one memory device, each at least one memory device comprising:

an array of memory cells; and

control circuitry coupled to the array of memory cells wherein the control circuitry is configured to determine a respective error rate for each of a plurality of areas of the array of memory cells and determine in which of the plurality of areas to store ECC data and/or metadata based on the determined respective error rates.

20. The bulk storage system of claim 19 , wherein the control circuitry is further configured to determine the respective error rate by accessing calibration data from a table in memory.

21. The method of claim 19 , wherein the control circuitry is further configured to determine the respective error rate by performing a calibration method on representative memory cells of the plurality of areas of the memory array.

22. A device comprising:

an array of memory cells; and

control circuitry coupled to the array of memory cells wherein the control circuitry is configured to determine an actual error rate of a memory cell in an area of the array of memory cells and store ECC data and/or metadata in the area of the array of memory cells at a bit level per memory cell determined by the actual error rate of the memory cell.

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 (5)
Continuation 13633158 · Oct 2, 2012
Continuation 13345896 · Jan 9, 2012
Division 13195977 · Aug 2, 2011
Continuation 11761608 · Jun 12, 2007
Related Publication 20140053033A1 · Feb 20, 2014