Data storage in analog memory cells using a non-integer number of bits per cell
First Claim
1. A method for data storage, comprising:
- in a first programming phase, storing first data in a first plurality of analog memory cells, wherein storing the first data includes programming each analog memory cell of the first plurality of analog memory cells to a given one of a set of initial programming levels dependent upon the first data; and
in a second programming phase, that is subsequent to the first programming phase, storing second data in the plurality of analog memory cells wherein storing the second data includes;
reading the stored first data in each analog memory cell of the plurality of analog memory cells;
identifying, dependent upon the read stored first data, analog memory cells of the first plurality of analog memory cells that were programmed, in the first programming phase, to a level included in a designated partial subset of the set of initial programming levels; and
programming at least one of the identified analog memory cells to a given one of one or more additional programming levels dependent upon the second data, wherein each one of the one or more additional programming levels is different from each one of the set of initial programming levels.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for data storage includes, in a first programming phase, storing first data in a group of analog memory cells by programming the memory cells in the group to a set of initial programming levels. In a second programming phase that is subsequent to the first programming phase, second data is stored in the group by: identifying the memory cells in the group that were programmed in the first programming phase to respective levels in a predefined partial subset of the initial programming levels; and programming only the identified memory cells with the second data, so as to set at least some of the identified memory cells to one or more additional programming levels that are different from the initial programming levels.
-
Citations
40 Claims
-
1. A method for data storage, comprising:
-
in a first programming phase, storing first data in a first plurality of analog memory cells, wherein storing the first data includes programming each analog memory cell of the first plurality of analog memory cells to a given one of a set of initial programming levels dependent upon the first data; and in a second programming phase, that is subsequent to the first programming phase, storing second data in the plurality of analog memory cells wherein storing the second data includes; reading the stored first data in each analog memory cell of the plurality of analog memory cells; identifying, dependent upon the read stored first data, analog memory cells of the first plurality of analog memory cells that were programmed, in the first programming phase, to a level included in a designated partial subset of the set of initial programming levels; and programming at least one of the identified analog memory cells to a given one of one or more additional programming levels dependent upon the second data, wherein each one of the one or more additional programming levels is different from each one of the set of initial programming levels. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. An apparatus for data storage, comprising:
-
a memory, wherein the memory includes an array of analog memory cells; and storage circuitry, which is configured to; store first data in a first portion of the array of analog memory cells in a first programming phase, wherein to store the first data the storage circuitry is further configured to program each analog memory cell of the first portion of the array memory cells to a given one of a set of initial programming levels dependent upon the first data; and in a second programming phase that is subsequent to the first programming phase, store second data in the portion of the array of analog memory cells, wherein to store the second data, the storage circuit is further configured to; reading the stored first data from each analog memory cell of the portion of the array of analog memory cells; identify, dependent upon the read stored data, analog memory cells included in the portion of the array of analog memory cells that were programmed, in the first programming phase, to a level included in a designated partial subset of the set initial programming levels; and program at least one of the identified memory cells to a given one of one or more additional programming levels dependent upon the second data, wherein each one of the one or more additional programming levels is different from each one of the set initial programming levels. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
Specification