Data storage based on rank modulation in single-level flash memory
AssigneeEmpire Technology Development LLC
InventorEdwin Kan
Life of this patent
Estimating the term…
Abstract
Technologies are generally described to store data in single-level memory using rank modulation. In some examples, data to be encoded to single-level memory may be represented with a bit ranking for a group of bits. A program vector may then be determined from the bit ranking and partial program characteristics associated with the memory group(s). The memory group(s) may then be programmed according to the program vector. The encoded data may be subsequently retrieved by performing a series of partial programming operations on the memory group(s) to recover the bit ranking and derive the data represented.
Claims20
A method to encode data on single-level flash memory by use of rank modulation, the method comprising:
- determining a bit ranking within a group of bits based on the data to be encoded;
- determining a plurality of partial program parameters for a plurality of flash memory bits, wherein each partial program parameter is associated with a respective bit in the plurality of bits;
- determining a program vector based on the determined bit ranking and the determined plurality of partial program parameters;
- and
- encoding the data to the plurality of bits using partial programming based on the determined program vector.
An apparatus configured to write data in single-level flash memory by use of rank modulation, the apparatus comprising:
- a processing block configured to:
- determine a bit ranking based on a data to be written;
- determine a plurality of complete program durations for a plurality of bits of a flash memory, wherein each complete program duration indicates a respective program time duration to modify a respective bit in the plurality of bits from a first value to a second value;
- and
- determine a program vector based on the determined bit ranking and the determined plurality of complete program durations, the program vector being indicative of at least one partial program duration;
- and
- a memory interface module coupled to the processing block and configured to:
- receive the determined program vector from the processing block;
- and
- write the data to the plurality of bits by partial program of the plurality of bits according to the at least one partial program duration indicated by the received program vector.
A method to retrieve data encoded in single-level flash memory by use of rank modulation, the method comprising:
- performing a plurality of read operations on a plurality of bits of the flash memory, each read operation comprising:
- partially programming the plurality of bits based on at least one partial program parameter;
- and
- reading a state of the partially-programmed plurality of bits;
- determining a ranking associated with the plurality of bits based on at least the respective read states associated with the plurality of read operations;
- and
- deriving a final data based on the determined ranking.
An apparatus configured to retrieve data encoded in single-level flash memory by use of rank modulation, the apparatus comprising:
- a memory interface module coupled to a plurality of flash memory bits and configured to:
- read an initial state of the plurality of flash memory bits;
- and
- perform a plurality of read operations on the plurality of bits by:
- performance of a partial program of the plurality of bits based on at least one partial program duration, wherein the at least one partial program duration indicates a program time to partially modify at least one bit in the plurality of bits from a first value to a second value;
- and
- performance of a read of a state of the partially-programmed plurality of bits;
- and
- a processing block coupled to the memory interface module and configured to:
- receive, from the memory interface module, the respective read states associated with the plurality of read operations;
- determine a ranking associated with the plurality of bits based on the respective read states;
- and
- derive a final data based on the ranking.
Dependencies are inferred from the claim text.