States encoding in multi-bit flash cells for optimizing error rate
First Claim
Patent Images
1. A method of storing N input bits of data, comprising the steps of:
- (a) providing ┌
N/M┐
cells, wherein M is at least 2;
(b) interleaving the N input bits, thereby providing N interleaved bits; and
(c) programming each said cell with up to M of said interleaved bits.
4 Assignments
0 Petitions
Accused Products
Abstract
To store N bits of M≧2 logical pages, the bits are interleaved and the interleaved bits are programmed to ┐N/M└ memory cells, M bits per cell. Preferably, the interleaving puts the same number of bits from each logical page into each bit-page of the ┐N/M└ cells. When the bits are read from the cells, the bits are de-interleaved. The interleaving may be deterministic or random, and may be effected by software or by dedicated hardware.
-
Citations
34 Claims
-
1. A method of storing N input bits of data, comprising the steps of:
-
(a) providing ┌
N/M┐
cells, wherein M is at least 2;
(b) interleaving the N input bits, thereby providing N interleaved bits; and
(c) programming each said cell with up to M of said interleaved bits. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A memory device comprising:
-
(a) a memory that includes at least K cells; and
(b) a controller operative to store N input bits of data in said cells by steps including;
(i) interleaving said N input bits, thereby providing N interleaved bits, and (ii) programming each of K cells of said memory with up to M=┌
N/K┐
of said interleaved bits;
wherein M is at least 2. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A system for storing data, comprising:
-
(a) a memory device that includes a memory, said memory including at least K cells;
(b) a host of said memory device, for providing N input bits of data to store; and
(c) an interleaving mechanism for interleaving said N input bits, thereby providing N interleaved bits, each of K cells of said memory then being programmed with up to M=┌
N/K┐
of said interleaved bits;
wherein M is at least 2. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A method of storing N data bits, comprising the steps of:
-
(a) partitioning the N data bits among M input logical pages, wherein M is at least 2;
(b) appending at least one redundancy bit to each said input logical page, thereby providing L≧
N+M input bits;
(c) providing ┌
L/M┐
cells;
(d) interleaving said L input bits, thereby providing L interleaved bits; and
(e) programming each said cell with up to M of said interleaved bits. - View Dependent Claims (27, 28, 29)
-
-
30. A memory device for storing N data bits partitioned among M≧
- 2 logical pages, the memory device comprising;
(a) a mechanism for appending at least one redundancy bit to each said logical page, thereby providing L≧
N+M input bits;
(b) a memory that includes at least K=┐
L/M└
cells; and
(c) a controller operative to;
(i) interleave said L input bits, thereby providing L interleaved bits, and (ii) program each of K cells of said memory with up to M of said interleaved bits. - View Dependent Claims (31, 32)
- 2 logical pages, the memory device comprising;
-
33. A system for storing data, comprising:
-
(a) a host that provides N data bits partitioned among M logical pages, wherein M is at least 2;
(b) an error correction mechanism for appending at least one redundancy bit to each said logical page, thereby providing L≧
N+M input bits;
(c) a memory device that includes a memory, said memory including at least K=┌
L/M┐
cells; and
(d) an interleaving mechanism for interleaving said L input bits, thereby providing L interleaved bits, each of K cells of said memory then being programmed with up to M of said interleaved bits. - View Dependent Claims (34)
-
Specification