Correction of block errors for a system having non-volatile memory
First Claim
Patent Images
1. A method for correcting data errors in a non-volatile memory (“
- NVM”
) comprising a plurality of blocks, the method comprising;
detecting an error in a first page of a block of the plurality of blocks of the NVM, the block having a pre-determined number of page-modulo XOR (“
PMX”
) parity pages;
identifying a first set of pages of the block having modulo value that is the same as the first page;
reading first data from the first set of pages of the block;
reading second data from a corresponding PMX parity page of the block; and
performing an XOR function based on the first data and the second data to recover third data stored in the first page,wherein the error is associated with one of a word line short in the NVM and a single-page uncorrectable error-correcting code (“
uECC”
).
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for correction block errors. In particular, a system can store a parity page per page-modulo, where a pre-determined number of pages of a block or a band of the NVM may be allocated as page-modulo XOR (“PMX”) parity pages. This can be a space efficient approach for recovering from single-block data errors such as, for example, single-page uncorrectable error-correcting codes (“uECCs”) and/or errors caused by word line shorts.
36 Citations
14 Claims
-
1. A method for correcting data errors in a non-volatile memory (“
- NVM”
) comprising a plurality of blocks, the method comprising;detecting an error in a first page of a block of the plurality of blocks of the NVM, the block having a pre-determined number of page-modulo XOR (“
PMX”
) parity pages;identifying a first set of pages of the block having modulo value that is the same as the first page; reading first data from the first set of pages of the block; reading second data from a corresponding PMX parity page of the block; and performing an XOR function based on the first data and the second data to recover third data stored in the first page, wherein the error is associated with one of a word line short in the NVM and a single-page uncorrectable error-correcting code (“
uECC”
). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
- NVM”
-
9. A system comprising:
-
non-volatile memory (“
NVM”
) comprising a band, wherein the band comprises a plurality of stripes; andmemory interface comprising control circuitry operative to; detect whether read errors are localized to a block of the band wherein the errors are associated with one of a word line short in the NVM and a single-page uncorrectable error-correcting code (“
uECC”
);in response to detecting that the read errors are localized to the block of the NVM, read first data associated with a set of stripes of the band, wherein the first data excludes a page with one of the read errors; read second data from a parity page of the band corresponding to the set of stripes; and perform a reversible function using the first data and the second data in order to recover third data on the page. - View Dependent Claims (10, 11, 12, 13, 14)
-
Specification