Programming error correction code into a solid state memory device with varying bits per cell
First Claim
1. A method for programming error correction code, at varying bits per cell, into a solid state memory device comprising a memory array, the method comprising:
- determining a first reliability level, at a bit level, for a memory area in which a block of data is stored;
storing the error correction code, having a second reliability level, in the memory area and at the bit level if the first reliability level is at least substantially equal to the second reliability level; and
writing the error correction code to another area of the memory array if the first reliability level is less than the second reliability level.
8 Assignments
0 Petitions
Accused Products
Abstract
Memory devices that, in a particular embodiment, receive and transmit analog data signals representative of bit patterns of two or more bits such as to facilitate increases in data transfer rates relative to devices communicating data signals indicative of individual bits. Programming error correction code (ECC) and metadata into such memory devices includes storing the ECC and metadata at different bit levels per cell based on an actual error rate of the cells. The ECC and metadata can be stored with the data block at a different bit level than the data block. If the area of memory in which the block of data is stored does not support the desired reliability for the ECC and metadata at a particular bit level, the ECC and metadata can be stored in other areas of the memory array at different bit levels.
-
Citations
20 Claims
-
1. A method for programming error correction code, at varying bits per cell, into a solid state memory device comprising a memory array, the method comprising:
-
determining a first reliability level, at a bit level, for a memory area in which a block of data is stored; storing the error correction code, having a second reliability level, in the memory area and at the bit level if the first reliability level is at least substantially equal to the second reliability level; and writing the error correction code to another area of the memory array if the first reliability level is less than the second reliability level. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for programming error correction code for a data block into a solid state memory device having a memory array, the method comprising:
-
generating a plurality of reliability levels, each with a corresponding bit level, for a plurality of representative cells of the memory array; determining a desired reliability level for the error correction code; determining an area of the memory array comprising the representative cell having the reliability level of the plurality of reliability levels that is at least substantially equal to the desired reliability level; writing the error correction code to the area of the memory array using the corresponding bit level; and linking the error code to the data block. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method for programming received data into a data block of a non-volatile memory array, the method comprising:
-
determining if the received data is error correction code; writing received data that is not error correction code to the data block at a bit level of at least two bits per cell; determining a desired reliability level for the received data that is error correction code; determining a reliability level for the data block at a first bit level; if the reliability level for the data block is at least substantially equal to the desired reliability level, writing the error correction code to the data block at the first bit level; if the reliability level for the data block is less than the desired reliability level, decreasing the first bit level to a decreased bit level in order to increase the reliability level to an increased reliability level; and if the increased reliability level is at least substantially equal to the desired reliability level, writing the correction code to the data block at the decreased bit level. - View Dependent Claims (14)
-
-
15. A solid state memory device, comprising:
-
an array of non-volatile memory cells having columns of memory cells coupled to bit lines and rows of memory cells coupled to word lines; and circuitry for control and access of the array of non-volatile memory cells wherein the circuitry for control and access is adapted to program error correction code and metadata for a block of data by determining a desired reliability level for the error correction code and metadata, determining a memory area reliability level, at a bit level, for the memory area of the memory array in which the block of data is stored, storing the error correction code and metadata with the block of data and at the bit level if the memory area reliability level is at least substantially equal to the desired reliability level, and writing the error correction code and metadata to another area of the memory array if the memory area reliability level is less than the desired reliability level. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification