P
US8116133B2ExpiredUtilityPatentIndex 63

Maintenance operations for multi-level data storage cells

Assignee: CORNWELL MICHAEL JPriority: May 15, 2006Filed: Nov 23, 2009Granted: Feb 14, 2012
Est. expiryMay 15, 2026(expired)· nominal 20-yr term from priority
Inventors:CORNWELL MICHAEL JDUDTE CHRISTOPHER P
G11C 2211/5641G11C 16/3431G11C 16/34G11C 29/00G11C 16/30G11C 16/04G11C 11/5628G11C 16/349G11C 16/3418G11C 11/5642G11C 16/26
63
PatentIndex Score
4
Cited by
147
References
20
Claims

Abstract

Systems and methods, including computer software, for reading data from a flash memory cell involve detecting voltages from a group of memory cells. The group of memory cells have associated metadata for error detection, and each memory cell stores a voltage representing a data value selected from a plurality of possible data values. Each possible data value corresponds to one range of multiple non-overlapping ranges of analog voltages. Memory cells having uncertain data values are identified based on the detected voltages. Alternative data values for the memory cells having the uncertain data values are determined. A combination of alternative data values is selected, and an error detection test is performed using the metadata associated with the memory cells and the selected combination of alternative data values.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. An article of manufacture comprising machine-readable instructions that, when executed, cause operations to be performed, the operations comprising:
 determining whether to perform a maintenance operation; 
 identifying error information associated with a first page of memory cells in response to determining that a maintenance operation should be performed; 
 determining if the error information meets an error criteria; and 
 adjusting one or more resolution registers corresponding to the first page of memory cells from a first resolution to a second resolution, the first and the second resolutions each defining a plurality of voltage ranges, each voltage range corresponding to a possible data value, the first resolution having more voltage ranges than the second resolution. 
 
     
     
       2. The article of manufacture of  claim 1 , wherein determining whether to perform the maintenance operation includes determining if a host device has a power supply that meets a predetermined condition. 
     
     
       3. The article of manufacture of  claim 2 , wherein the predetermined condition includes the host device receiving AC power. 
     
     
       4. The article of manufacture of  claim 2 , wherein the predetermined condition includes the host device having a battery charged to a predetermined charge level. 
     
     
       5. The article of manufacture of  claim 1 , wherein determining whether to perform the maintenance operation includes determining if a processor has unused bandwidth exceeding a predetermined threshold. 
     
     
       6. The article of manufacture of  claim 1 , the operations further comprising logically associating a second page of memory cells that is configured to store data at the second resolution with the first page of memory cells such that the first page of memory cells and the second page of memory cells are treated as a single logical page of memory cells. 
     
     
       7. The article of manufacture of  claim 6 , the operations further comprising updating logical addressing code to treat the first page of memory cells and the second page of memory cells as a single logical page of memory cells, wherein the logical addressing code provides conversion of logical addresses into physical addresses for memory cells. 
     
     
       8. A system for data storage, the system comprising:
 a plurality of memory cells, each memory cell adapted to receive charge during a write operation to a voltage level corresponding to a data value having a specified number of bits; 
 a resolution register associated with the plurality of memory cells, the resolution register including entries each indicating a number of bits stored in one or more corresponding memory cells; 
 a host interface adapted to receive signals from a host device indicating a power supply condition for the host device; and 
 a processor adapted to rewrite data values to the plurality of memory cells and to adjust the resolution registers from indicating a first number of bits to indicating a second number of bits in response to a signal indicating a predetermined power supply condition. 
 
     
     
       9. The system of  claim 8 , further comprising:
 logical addressing software code adapted to, when executed by the processor, translate logical addresses received from the host device into physical addresses to access data. 
 
     
     
       10. The system of  claim 8 , wherein the host interface is further adapted to receive commands from a host device and to exchange data with the host device. 
     
     
       11. The system of  claim 8 , wherein the plurality of memory cells include NAND flash memory cells. 
     
     
       12. The system of  claim 8 , wherein the predetermined power supply condition includes the host device receiving AC power. 
     
     
       13. The system of  claim 8 , wherein the predetermined power supply condition includes the host device having a battery charged to a predetermined charge level. 
     
     
       14. A method of managing a flash memory device, the method comprising:
 determining whether to perform a maintenance operation; 
 identifying error information associated with a first page of memory cells in response to determining that a maintenance operation should be performed; 
 determining if the error information meets an error criteria; and 
 adjusting one or more resolution registers corresponding to the first page of memory cells from a first resolution to a second resolution, the first and the second resolutions each defining a plurality of voltage ranges, each voltage range corresponding to a possible data value, the first resolution having more voltage ranges than the second resolution. 
 
     
     
       15. The method of  claim 14 , wherein determining whether to perform the maintenance operation includes determining if a host device has a power supply that meets a predetermined condition. 
     
     
       16. The method of  claim 15 , wherein the predetermined condition includes the host device receiving AC power. 
     
     
       17. The method of  claim 15 , wherein the predetermined condition includes the host device having a battery charged to a predetermined charge level. 
     
     
       18. The method of  claim 14 , wherein determining whether to perform the maintenance operation includes determining if a processor has unused bandwidth exceeding a predetermined threshold. 
     
     
       19. The method of  claim 14 , wherein the operations further comprise logically associating a second page of memory cells that is configured to store data at the second resolution with the first page of memory cells such that the first page of memory cells and the second page of memory cells are treated as a single logical page of memory cells. 
     
     
       20. The method of  claim 19 , further comprising updating logical addressing code to treat the first page of memory cells and the second page of memory cells as a single logical page of memory cells, wherein the logical addressing code provides conversion of logical addresses into physical addresses for memory cells.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.