Data restoration in case of page-programming failure
Abstract
The present invention discloses systems and methods for restoring data in flash memory after an operational failure. The method includes: setting bits of a data buffer in accordance with the data; programming a plurality of memory cells in accordance with the data buffer; and upon failure of the programming step, restoring the data buffer to be set in accordance with the data, wherein the restoring is based only on a present state of the data buffer and on a present state of the plurality of memory cells. A memory device includes: at least one cell; and a controller operative to store data in at least one cell by steps including those described in the method above. The system includes: a memory device that includes at least one cell; and a processor operative to store data in at least one cell by steps including those described in the method above.
Claims
exact text as granted — not AI-modified1 . A method for storing data, the method comprising the steps of:
(a) setting bits of a data buffer in accordance with the data; (b) programming a plurality of memory cells in accordance with said data buffer; and (c) upon failure of said programming step, restoring said data buffer to be set in accordance with the data, wherein said restoring is based only on a present state of said data buffer and on a present state of said plurality of memory cells.
2 . The method of claim 1 , wherein said memory cells are flash memory cells.
3 . The method of claim 1 , wherein said memory cells are single-level memory cells.
4 . The method of claim 1 , wherein said memory cells are multi-level memory cells.
5 . The method of claim 1 , wherein said step of restoring is performed by applying a logic operation between said bits in said data buffer and corresponding memory cell bits.
6 . The method of claim 1 , wherein said step of restoring includes:
(i) detecting memory cell bits that have been successfully programmed during said programming step; and (ii) copying said memory cell bits to corresponding locations in said data buffer.
7 . A memory device comprising:
(a) at least one cell; and (b) a controller operative to store data in said at least one cell by steps including:
(i) setting bits of a data buffer in accordance with said data;
(ii) programming a plurality of memory cells in accordance with said data buffer; and
(iii) upon failure of said programming step, restoring said data buffer to be set in accordance with said data, wherein said restoring is based only on a present state of said data buffer and on a present state of said plurality of memory cells.
8 . A system for storing data, the system comprising:
(a) a memory device that includes at least one cell; and (b) a processor operative to store data in said at least one cell by steps including:
(i) setting bits of a data buffer in accordance with said data;
(ii) programming a plurality of memory cells in accordance with said data buffer; and
(iii) upon failure of said programming step, restoring said data buffer to be set in accordance with said data, wherein said restoring is based only on a present state of said data buffer and on a present state of said plurality of memory cells.Join the waitlist — get patent alerts
Track US2007086244A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.