Method for cache page copy in a non-volatile memory
First Claim
1. In a non-volatile memory having an array of memory cells, wherein individual memory cells are each programmable to one of multiple memory states, a method of copying a group of data from a first memory cell group to a second memory cell group, comprising:
- providing a multi-bit code having multiple code bits for encoding each of the multiple memory states;
predetermining a bit order of the code bits such that as more of the higher order code bits are available, more of the higher programmed states are decodable;
reading from memory cells of the first memory cell group to determine the memory states therein;
encoding each read memory state as multi-bit data with the multi-bit code;
latching the multi-bit data of every memory cell of the first memory cell group;
grouping the latched data into as many data groups as the number of code bits, each data group collecting a same code bit from every memory cell of the first memory cell group;
processing the data groups, data group by data group according to the predetermined code bit order, by outputting the bits of each data group to a controller for data-processing and returning any modified bits to update each data group;
if any data group has been processed, simultaneously with any additional data group processing, programming individual memory cells of the second memory cell group up to a highest memory state decodable by available code bits from the processed data groups; and
repeating said processing and said programming until all code bits of the multi-bit code are available to complete said programming.
3 Assignments
0 Petitions
Accused Products
Abstract
A non-volatile memory and methods include cached page copying using a minimum number of data latches for each memory cell. Multi-bit data is read in parallel from each memory cell of a group associated with a first word line. The read data is organized into multiple data-groups for shuttling out of the memory group-by-group according to a predetermined order for data-processing. Modified data are returned for updating the respective data group. The predetermined order is such that as more of the data groups are processed and available for programming, more of the higher programmed states are decodable. An adaptive full-sequence programming is performed concurrently with the processing. The programming copies the read data to another group of memory cells associated with a second word line, typically in a different erase block and preferably compensated for perturbative effects due to a word line adjacent the first word line.
51 Citations
24 Claims
-
1. In a non-volatile memory having an array of memory cells, wherein individual memory cells are each programmable to one of multiple memory states, a method of copying a group of data from a first memory cell group to a second memory cell group, comprising:
-
providing a multi-bit code having multiple code bits for encoding each of the multiple memory states; predetermining a bit order of the code bits such that as more of the higher order code bits are available, more of the higher programmed states are decodable; reading from memory cells of the first memory cell group to determine the memory states therein; encoding each read memory state as multi-bit data with the multi-bit code; latching the multi-bit data of every memory cell of the first memory cell group; grouping the latched data into as many data groups as the number of code bits, each data group collecting a same code bit from every memory cell of the first memory cell group; processing the data groups, data group by data group according to the predetermined code bit order, by outputting the bits of each data group to a controller for data-processing and returning any modified bits to update each data group; if any data group has been processed, simultaneously with any additional data group processing, programming individual memory cells of the second memory cell group up to a highest memory state decodable by available code bits from the processed data groups; and repeating said processing and said programming until all code bits of the multi-bit code are available to complete said programming. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
Specification