Error handling during a memory compaction process
AssigneeSanDisk Technologies LLC
InventorsRavi Dutt Sharma, Tusarkanta Champatiray, Yogendra Sikarwar
Life of this patent
Estimating the term…
Abstract
A memory compaction process utilizes unused or reserved memory locations in an intermediate memory block to temporarily store data that has been read and/or corrected from a source memory block. As data may be read from the source memory block in different reading cycles, this process repeats until all of the data of the source memory block is ready to be written to a destination memory block. During a last or final reading cycle or phase, any data remaining in the source memory block is read from the source memory block and transferred to a destination memory block, along with the data that is stored in the reserved memory locations of the intermediate memory block.
Claims20
A method, comprising:
- performing a read operation on multiple pages of a source memory block;
- determining whether a read operation error has occurred with respect to a first page of the multiple pages;
- based, at least in part, on determining the read operation error has occurred, performing an error correction operation on data associated with the first page to generate corrected data;
- in response to successfully performing the error correction operation on the data associated with the first page, storing the corrected data in a reserved memory location in an intermediate memory block;
- and
- writing, in a destination memory block, the corrected data read from the reserved memory location in the intermediate memory block and data associated with a second page of the multiple pages read from the source memory block.
A system, comprising:
- a controller;
- and
- a memory communicatively coupled to the controller and storing instructions for performing operations, comprising:
- performing a read operation on a set of pages stored at a memory location of a source memory block, the set of pages including a first subset of pages, a second subset of pages, and a third subset of pages;
- determining whether a read operation error has occurred on the set of pages;
- performing an error correction operation on data associated with each page of the first subset of pages, to generate corrected data for each page of the first subset of pages, for which a read operation error has occurred;
- storing the corrected data of each page of the first subset of pages and data associated with each page of the second subset of pages in respective reserved memory locations in an intermediate memory block;
- and
- writing, at a memory location in a destination memory block, data stored in the intermediate memory block and data associated with the third subset of pages from the memory location in the source memory block.
A non-volatile data storage device, comprising:
- at least one memory die;
- means for performing a read operation on multiple pages of a first memory block of the at least one memory die;
- means for determining whether a read operation error has occurred with respect to a first page of the multiple pages;
- means for performing an error correction operation on data associated with the first page, based, at least in part, on a determination that the read operation error has occurred for the first page;
- means for storing corrected data in a reserved memory location in an intermediate memory block after the error correction operation on data associated with the first page is successfully performed;
- and
- means for writing, in a second memory block of the at least one memory die, the corrected data read from the reserved memory location in the intermediate memory block and data associated with a second page of the multiple pages read from the first memory block.
Dependencies are inferred from the claim text.