NAND flash memory having internal ECC processing and method of operation thereof
First Claim
1. A method of sequentially reading data from a digital memory device comprising a NAND memory array and a page buffer coupled thereto, the page buffer being partitioned into at least a first part and a second part, comprising:
- accessing a page of data from the NAND memory array;
establishing first error correction code (“
ECC”
) processed data in the first part of the page buffer from the page of data;
determining a first ECC status for the first ECC processed data;
outputting the first ECC processed data from the first part of the page buffer;
establishing second ECC processed data in the second part of the page buffer from the page of data, in an overlapping time relationship with the first ECC processed data outputting step;
determining, from the first ECC status for the first ECC processed data and during the second ECC processed data establishing step, a second ECC status for a page of data comprising the first ECC processed data and the second ECC processed data;
storing the second ECC status in a status register;
accessing a first sequential page of data from the NAND memory array, in an overlapping time relationship with the first ECC processed data outputting step;
outputting the second ECC processed data from the second part of the page buffer;
establishing third ECC processed data in the first part of the page buffer from the first sequential page of data, in an overlapping time relationship with the second ECC processed data outputting step;
determining a third ECC status for the third ECC processed data;
outputting the third ECC processed data from the first part of the page buffer;
establishing fourth ECC processed data in the second part of the page buffer from the first sequential page of data, in an overlapping time relationship with the third ECC processed data outputting step;
determining, from the third ECC status for the third ECC processed data and during the fourth ECC processed data establishing step, a fourth ECC status for a page of data comprising the third ECC processed data and the fourth ECC processed data;
storing the fourth ECC status in the status register; and
accessing a second sequential page of data from the NAND memory array, in an overlapping time relationship with the third ECC processed data outputting step.
1 Assignment
0 Petitions
Accused Products
Abstract
A continuous read operation may be achieved by using a data buffer having a partitioned data register and a partitioned cache register, user configurable internal ECC associated with the cache register, and fast bad block management. During a data read operation, the ECC status may be indicated by ECC status bits. The status (1:1), for example, may indicate for the Continuous Read Mode that the entire data output contains more than 4 bits errors/page in multiple pages. However, one may wish to know the ECC status of each page or of each page partition. For the former, the ECC status for the entire page may be determined and made in the status register at the end of the output of the page. For the latter, the ECC status of each page partition may be determined and output before output of the corresponding page partition.
39 Citations
7 Claims
-
1. A method of sequentially reading data from a digital memory device comprising a NAND memory array and a page buffer coupled thereto, the page buffer being partitioned into at least a first part and a second part, comprising:
-
accessing a page of data from the NAND memory array; establishing first error correction code (“
ECC”
) processed data in the first part of the page buffer from the page of data;determining a first ECC status for the first ECC processed data; outputting the first ECC processed data from the first part of the page buffer; establishing second ECC processed data in the second part of the page buffer from the page of data, in an overlapping time relationship with the first ECC processed data outputting step; determining, from the first ECC status for the first ECC processed data and during the second ECC processed data establishing step, a second ECC status for a page of data comprising the first ECC processed data and the second ECC processed data; storing the second ECC status in a status register; accessing a first sequential page of data from the NAND memory array, in an overlapping time relationship with the first ECC processed data outputting step; outputting the second ECC processed data from the second part of the page buffer; establishing third ECC processed data in the first part of the page buffer from the first sequential page of data, in an overlapping time relationship with the second ECC processed data outputting step; determining a third ECC status for the third ECC processed data; outputting the third ECC processed data from the first part of the page buffer; establishing fourth ECC processed data in the second part of the page buffer from the first sequential page of data, in an overlapping time relationship with the third ECC processed data outputting step; determining, from the third ECC status for the third ECC processed data and during the fourth ECC processed data establishing step, a fourth ECC status for a page of data comprising the third ECC processed data and the fourth ECC processed data; storing the fourth ECC status in the status register; and accessing a second sequential page of data from the NAND memory array, in an overlapping time relationship with the third ECC processed data outputting step. - View Dependent Claims (2, 3)
-
-
4. A digital memory device comprising:
-
a NAND flash memory array; a row decoder coupled to the NAND flash memory array; a data register coupled to the NAND flash memory array and comprising at least a first part and a second part; a cache register coupled to the data register and comprising at least a first part and a second part corresponding to the first and second parts of the data register; an error correction code (“
ECC”
) circuit coupled to the cache register;a column decoder coupled to the cache register; and a control circuit coupled to the row decoder, the column decoder, the data register, the cache register, and the ECC circuit, wherein the control circuit comprises logic and register elements for executing the functions of; loading a page of data from the NAND memory array into the data register; replicating a first portion of the page of data from the first part of the data register to the first part of the cache register; establishing first ECC processed data in the first part of the cache register from the first portion of the page of data; determining a first ECC status for the first ECC processed data; outputting the first ECC processed data from the first part of the cache register; replicating a second portion of the page of data from the second part of the data register to the second part of the cache register; establishing second ECC processed data in the second part of the cache register from the second portion of the page of data, in an overlapping time relationship with the first ECC processed data outputting function; determining, from the first ECC status for the first ECC processed data and as part of the second ECC processed data establishing function, a second ECC status for a page of data comprising the first ECC processed data and the second ECC processed data; storing the second ECC status in a status register; loading a first sequential page of data from the NAND memory array into the data register, in an overlapping time relationship with the first ECC processed data outputting function; outputting the second ECC processed data from the second part of the cache register; replicating a first portion of the first sequential page of data from the first part of the data register to the first part of the cache register; establishing third ECC processed data in the first part of the cache register from the first portion of the first sequential page of data, in an overlapping time relationship with the second ECC processed data outputting function; determining a third ECC status for the third ECC processed data; outputting the third ECC processed data from the first part of the cache register; replicating a second portion of the first sequential page of data from the second part of the data register to the second part of the cache register; establishing fourth ECC processed data in the second part of the cache register from the second portion of the first sequential page of data, in an overlapping time relationship with the third ECC processed data outputting function; determining, from the third ECC status for the third ECC processed data and as part of the fourth ECC processed data establishing function, a fourth ECC status for a page of data comprising the third ECC processed data and the fourth ECC processed data; storing the fourth ECC status in the status register; and loading a second sequential page of data from the NAND memory array into the data register, in an overlapping time relationship with the third ECC processed data outputting function.
-
-
5. A method of sequentially reading data from a digital memory device comprising a NAND memory array and a page buffer coupled thereto, the page buffer being partitioned into at least a first part and a second part, comprising:
-
accessing a page of data from the NAND memory array; establishing first error correction code (“
ECC”
) processed data in the first part of the page buffer from the page of data;determining a first ECC status for the first ECC processed data; outputting the first ECC processed data from the first part of the page buffer; establishing second ECC processed data in the second part of the page buffer from the page of data, in an overlapping time relationship with the first ECC processed data outputting step; determining, from the first ECC status for the first ECC processed data and during the second ECC processed data establishing step, a second ECC status for a page of data comprising the first ECC processed data and the second ECC processed data; storing the second ECC status; accessing a first sequential page of data from the NAND memory array, in an overlapping time relationship with the first ECC processed data outputting step; outputting the second ECC processed data from the second part of the page buffer, and the second ECC status from the second ECC status storing step; establishing third ECC processed data in the first part of the page buffer from the first sequential page of data, in an overlapping time relationship with the second ECC processed data outputting step; determining a third ECC status for the third ECC processed data; outputting the third ECC processed data from the first part of the page buffer; establishing fourth ECC processed data in the second part of the page buffer from the first sequential page of data, in an overlapping time relationship with the third ECC processed data outputting step; determining, from the third ECC status for the third ECC processed data and during the fourth ECC processed data establishing step, a fourth ECC status for a page of data comprising the third ECC processed data and the fourth ECC processed data; storing the fourth ECC status; accessing a second sequential page of data from the NAND memory array, in an overlapping time relationship with the third ECC processed data outputting step; and outputting the fourth ECC processed data from the second part of the page buffer, and the fourth ECC status from the fourth ECC status storing step.
-
-
6. A method of sequentially reading data from a digital memory device comprising a NAND memory array and a page buffer coupled thereto, the page buffer being partitioned into at least a first part and a second part, comprising:
-
accessing a page of data from the NAND memory array; establishing first error correction code (“
ECC”
) processed data in the first part of the page buffer from the page of data;determining a first ECC status for the first ECC processed data; outputting the first ECC status; outputting the first ECC processed data from the first part of the page buffer, following the first ECC status outputting step; accessing a first sequential page of data from the NAND memory array, in an overlapping time relationship with the first ECC processed data outputting step; establishing second ECC processed data in the second part of the page buffer from the page of data, in an overlapping time relationship with the first ECC processed data outputting step; determining a second ECC status for the second ECC processed data; outputting the second ECC status; outputting the second ECC processed data from the second part of the page buffer, following the second ECC status outputting step; establishing third ECC processed data in the first part of the page buffer from the first sequential page of data, in an overlapping time relationship with the second ECC processed data outputting step; determining a third ECC status for the third ECC processed data; outputting the third ECC status; outputting the third ECC processed data from the first part of the page buffer, following the third ECC status outputting step; accessing a second sequential page of data from the NAND memory array, in an overlapping time relationship with the third ECC processed data outputting step; and establishing fourth ECC processed data in the second part of the page buffer from the first sequential page of data, in an overlapping time relationship with the third ECC processed data outputting step. - View Dependent Claims (7)
-
Specification