Flash storage system with write/erase abort detection mechanism
AssigneeSanDisk Corporation
InventorsJason Lin, Kevin M. Conley, Robert C. Chang
Life of this patent
Estimating the term…
Abstract
The present invention presents a non-volatile memory and method for its operation that ensures reliable mechanism for write and erase abort detection in the event of lost of power during non-volatile memory programming and erasing with minimized system performance penalty. During a multi-sector write process, an indication of a successful write in one sector is written into the overhead of the following sector at the same time as the following sector's data content is written. The last sector written will additionally have an indication of its own successful write written into its overhead. For erase, an erase abort flag in the first sector of the block can be marked after a successful erase operation.
Claims20
A non-volatile memory comprising a plurality of data storage areas, each of the data storage areas containing:
- a user data portion;
- and
- an overhead data portion, wherein the overhead data portion of each data storage area contains a first flag for indicating that another one of the data storage areas is correctly written and a second flag for indicating that the data storage area itself is correctly written,
- wherein the data storage areas are organized into a plurality of units of erase, and wherein each of said blocks further contains an additional data storage area, the overhead data portion of which having said second flag and not having said first flag.
A memory, comprising:
- a non-volatile memory comprising a plurality of data storage areas;
- and
- a controller for the reading and writing of data to the memory, wherein during a sequential write process of data into two or more of said data storage areas, for each data storage area subsequent to the first, an indication of the write of the preceding data storage area is written into the current data storage area as part of its write process.
A method of operating a non-volatile memory, comprising:
- programming first content including user data into a first data storage area;
- verifying that the first content is correctly programmed in the first data storage area;
- subsequently programming second content including user data into a second data storage area;
- and
- concurrently with said programming second content, writing to the second data storage area an indication that the first data storage area is correctly programmed.
A method of determining if a plurality of sequentially written sectors have been correctly programmed, comprising:
- determining if every sector but the initial sector in the sequence was correctly programmed based on the content of the following sector;
- finding a first sector not indicated to be correctly programmed based upon content of the subsequent sector;
- and
- based on the content of the first sector itself, determining if the first sector is correctly programmed.
A method of operating a non-volatile memory having a plurality of sectors each having a data portion and an overhead portion, comprising:
- altering the data content of at least a first sector;
- subsequently verifying that said altering the data content of at least a first sector is successfully completed;
- and
- subsequently recording in the overhead portion of a second sector an indication that said altering the data content of at least a first sector is successfully completed.
Dependencies are inferred from the claim text.