IP Library Granted Patent US 7,911,836
Granted Patent B2
US 7,911,836 · App. 12/275,901 · Granted Mar 22, 2011

Data restoration in case of page-programming failure

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,911,836
App. No.
12/275,901
Granted
Mar 22, 2011
Kind
B2
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 (26)

1. A method for storing target data bits to a plurality of memory cells, the method comprising the steps of:

(a) setting a data buffer with the target data bits;

(b) programming the plurality of memory cells in accordance with the target data bits of said data buffer;

(c) modifying a target data bit in the data buffer of a corresponding cell of the pluarlity of memory cells that has been programmed to the target data bit, the target data bit being modifed to indicate no further programming for the corresponding cell; and

(d) upon failure in programming the plurality of memory cells to the target data bits, restoring said data buffer in accordance with the target data bits based on bits among said data buffer and 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 in said plurality of memory cells.

6. The method of claim 1 , wherein said step of restoring includes:

(i) detecting memory cells that have been successfully programmed during said programming step; and

(ii) copying bits in said memory cells to corresponding locations in said data buffer.

7. A memory device comprising:

(a) a plurality of memory cells; and

(b) a controller operative to store target data in said plurality of memory cells in parallel, including:

(i) setting a data buffer with the target data bits;

(ii) programming said plurality of memory cells in accordance with said data buffer;

(iii) modifying a target data bit in the data buffer corresponding to a cell that been programmed to the target data bit; and;

(iv) upon failure in programming the plurality of memory cells to the target data, restoring said data buffer in accordance with the bits of the target data based on current bits among said data buffer and said plurality of memory cells.

8. A system for storing target data bits to a plurality of memory cells, the system comprising:

(a) a memory device that includes a plurality of memory cells; and

(b) a processor operative to store target data in said pluarity of memory cells in parallel, including:

(i) setting a data buffer with the target data bits;

(ii) programming said plurality of memory cells in accordance with the target data bits of said data buffer;

(iii) modifying a target data bit in the data buffer of a corresponding cell of the pluarlity of memory cells that has been programmed to the target data bit; and

(iv) upon failure in programming the plurality of memory cells to the target data bits, restoring said data buffer in accordance with the target data bits based on bits among said data buffer and said plurality of memory cells.

Assignments (2)
CHANGE OF NAME Recorded Jun 10, 2025
From: WESTERN DIGITAL ISRAEL LTD.
To: SANDISK ISRAEL LTD.
Reel/Frame 071587/0836 →
CHANGE OF NAME Recorded Aug 21, 2020
From: SANDISK IL LTD
To: WESTERN DIGITAL ISRAEL LTD
Reel/Frame 053574/0513 →