IP Library Granted Patent US 8,750,046
Granted Patent B2
US 8,750,046 · App. 14/041,219 · Granted Jun 10, 2014

Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N

Inventors: Ofir Shalvi (Ra'anana, IL); Naftali Sommer (Rishon Le-Zion, IL); Uri Perlmutter (Ra'anana, IL); Dotan Sokolov (Ra'anana, IL)
Assignee: Apple 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,750,046
App. No.
14/041,219
Granted
Jun 10, 2014
Kind
B2
Abstract

A method for data storage includes accepting data for storage in a memory that includes multiple analog memory cells and supports a set of built-in programming commands. Each of the programming commands programs a respective page, selected from a group of N pages, in a subset of the memory cells. The subset of the memory cells is programmed to store M pages of the data, M>N, by performing a sequence of the programming commands drawn only from the set.

Claims (34)

1. A system, comprising:

a host processor;

a memory device, wherein the memory device includes a plurality of analog memory cells;

a memory processor coupled to the memory device, wherein the memory processor is configured to:

read a voltage level from a given one of the plurality of analog memory cells, wherein each analog memory cell of the plurality of analog memory cells is configured to be programmed to one of a plurality of programming states;

compare the read voltage level to a first threshold voltage, wherein the first threshold voltage is greater than a voltage level corresponding to a first programming state of the plurality of programming states and less than a voltage level corresponding to a second programming state of the plurality of programming state;

compare the read threshold voltage to a second threshold voltage, wherein the second threshold voltage is dependent upon a result of the comparison of the read voltage level to the first voltage level.

2. The system of claim 1 , wherein a voltage level associated with a given programming state of the plurality of programming states corresponds to a respective one of a plurality of data bits combinations.

3. The system of claim 1 , wherein the memory processor is further configured to determine a combination of data bits stored in the given one of the plurality of analog memory cells dependent upon the comparison of the read voltage level to the first and second threshold voltages.

4. The system of claim 3 , wherein the memory processor is further configured to send the determined combination of data bits to the host processor.

5. The system of claim 1 , wherein the memory device is organized into a plurality of pages.

6. The system of claim 1 , wherein the memory device comprises a NAND Flash memory.

7. A computer-accessible non-transitory storage medium having instructions stored therein that, in response to execution by a processor, causes the processor to perform operations comprising:

reading a voltage level from a given one of the plurality of analog memory cells included in a memory, wherein each analog memory cell of the plurality of analog memory cells is configured to be programmed to one of a plurality of programming states;

comparing the read voltage level to a first threshold voltage, wherein the first threshold voltage is greater than a voltage level corresponding to a first programming state of the plurality of programming states and less than a voltage level corresponding to a second programming state of the plurality of programming state;

comparing the read threshold voltage to a second threshold voltage, wherein the second threshold voltage is dependent upon a result of the comparison of the read voltage level to the first voltage level.

8. The computer-accessible non-transitory storage medium of claim 7 , wherein a voltage level associated with a given programming state of the plurality of programming states corresponds to a respective one of a plurality of data bit combinations.

9. The computer-accessible non-transitory storage medium of claim 7 , wherein the operations further comprise determining a combination of data bits stored in the given one of the plurality of analog memory cells dependent upon the comparison of the read voltage level to the first and second threshold voltages.

10. The computer-accessible non-transitory storage medium of claim 9 , wherein the operations further comprise sending the determined combination of data bits to a host processor.

11. The computer-accessible non-transitory storage medium of claim 8 , wherein each data bit combination includes a plurality of data bits.

12. The computer-accessible non-transitory storage medium of claim 11 , wherein the memory is organized into a plurality of pages, and wherein each data bit of the plurality of data bits corresponds to a respective one of the plurality of pages.

13. The computer-accessible non-transitory storage medium of claim 7 , wherein the operations further comprise receiving data to be stored in a subset of the plurality of analog memory cells.

14. The computer-accessible non-transitory storage medium of claim 13 , wherein the operations further comprise programming each analog memory cell of the subset of the plurality of analog memory cells to a selected one of the plurality of programming states, wherein the selected one of the plurality of programming states corresponds to a portion of the received data.

15. An apparatus, comprising:

a memory including a plurality of analog memory cells;

a processor coupled to the memory, wherein the processor is configured to:

read a voltage level from a given one of the plurality of analog memory cells, wherein each analog memory cell of the plurality of analog memory cells is configured to be programmed to one of a plurality of programming states;

compare the read voltage level to a first threshold voltage, wherein the first threshold voltage is greater than a voltage level corresponding to a first programming state of the plurality of programming states and less than a voltage level corresponding to a second programming state of the plurality of programming state;

compare the read threshold voltage to a second threshold voltage, wherein the second threshold voltage is dependent upon a result of the comparison of the read voltage level to the first voltage level.

16. The apparatus of claim 15 , wherein a voltage level associated with a given programming state of the plurality of programming states corresponds to a respective one of a plurality of data bit combinations.

17. The apparatus of claim 15 , wherein the processor is further configured to determine a combination of data bits stored in the given one of the plurality of analog memory cells dependent upon the comparison of the read voltage level to the first and second threshold voltage.

18. The apparatus of claim 15 , wherein the processor is further configured to send the determined combination of data bits to a host processor.

19. The apparatus of claim 16 , wherein each data bit combination includes a plurality of data bits.

20. The apparatus of claim 19 , wherein the memory is organized into a plurality of pages, and wherein each data bit of the plurality of data bits corresponds to a respective one of the plurality of pages.

Continuity (6)
Continuation 13449326 · Apr 18, 2012
Continuation 12618732 · Nov 15, 2009
Provisional Application 61144566 · Jan 14, 2009
Provisional Application 61144629 · Jan 14, 2009
Provisional Application 61115086 · Nov 16, 2008
Related Publication 20140029338A1 · Jan 30, 2014