IP Library Granted Patent US 7,814,263
Granted Patent B2
US 7,814,263 · App. 11/727,986 · Granted Oct 12, 2010

Erase history-based flash writing method

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,814,263
App. No.
11/727,986
Granted
Oct 12, 2010
Kind
B2
Abstract

A method for writing into a flash memory device includes calculating a physical block for writing data thereto, checking whether the calculated physical block has been erased since a last power-up of the device and if it has been erased writing the data, or, if it has not been erased performing a refresh operation thereby obtaining a newly erased block since a last power-up that the data can be written to. The newly erased block may be the calculated block or another block of the flash memory.

Claims (46)

1. A method for writing into a flash memory device comprising the steps of:

a. receiving data to be written into the device;

b. selecting a physical block for writing the data thereto;

c. obtaining an indication whether the selected physical block has been erased since a last power-up of the device; and

d. if the indication is that the selected physical block has been erased since the last power-up, writing the data into the selected physical block.

2. The method of claim 1 , wherein, if the indication is that the selected physical block has not been erased since last power-up, the step of writing the data into the selected physical block is replaced by the steps of:

e. obtaining a physical block that was erased since last power-up; and

f. writing the data into the physical block that was erased since last power-up.

3. The method of claim 2 , wherein the physical block that was erased since last power-up has an address that is identical to an address of the selected physical block.

4. The method of claim 2 , wherein the physical block that was erased since last power-up is different from the selected physical block.

5. The method of claim 2 , wherein the steps of receiving data, selecting a physical block, obtaining an indication, obtaining a physical block and writing the data are controlled by a controller internal to the flash memory device.

6. The method of claim 2 , wherein the steps of receiving data, selecting a physical block, obtaining an indication, obtaining a physical block and writing the data are controlled by a controller external to the flash memory device.

7. The method of claim 1 further comprising a step of proactively refreshing logical blocks of the flash memory device.

8. The method of claim 1 , wherein the step of obtaining an indication includes obtaining an indication from an entry representing the selected physical block in a table.

9. The method of claim 8 , further comprising a step of resetting the table upon power-up to indicate that no physical block has been erased since last power-up.

10. The method of claim 1 , wherein the steps of receiving data, selecting a physical block, obtaining an indication and writing the data are controlled by a controller internal to the flash memory device.

11. The method of claim 1 , wherein the steps of receiving data, selecting a physical block, obtaining an indication and writing the data are controlled by a controller external to the flash memory device.

12. A method for writing into a flash memory device comprising the steps of:

a. selecting a physical block for writing data thereto;

b. obtaining an indication whether the selected physical block has been erased since a last power-up of the device; and

c. if the indication is that the selected physical block has been erased since the last power-up, writing the data into the selected physical block; or

d. if the indication is that the selected physical block has not been erased since last power-up, obtaining a physical block that was erased since last power-up and writing the data into the obtained physical block.

13. The method of claim 12 , wherein the physical block that was erased since last power-up has an address that is identical to an address of the selected physical block.

14. The method of claim 12 , wherein the physical block that was erased since last power-up is different from the selected physical block.

15. A memory device for storing data, comprising:

a. a flash memory that includes a plurality of physical blocks; and

b. a controller operative to:

i. select a physical block for writing data thereto;

ii. obtain an indication whether the selected physical block has been erased since a last power-up of the device; and

iii. if the indication is that the selected physical block has been erased since the last power-up, write the data into the selected physical block, or,

iv. if the indication is that the selected physical block has not been erased since last power-up, obtain a physical block that was erased since last power-up and write the data into the physical block that was erased since last power-up.

16. The memory device of claim 15 , further comprising a random access memory coupled to the controller and operative to provide the indication.

17. The memory device of claim 16 , wherein the indication is derived from an entry representing the selected physical block in a table stored in the random access memory.

18. A system for storing data, comprising:

a. a memory device that includes a flash memory having a plurality of physical blocks; and

b. a processor operative to:

i. select a physical block for writing data thereto;

ii. obtain an indication whether the selected physical block has been erased since a last power-up of the device; and

iii. if the indication is that the selected physical block has been erased since the last power-up, write the data into the selected physical block, or,

iv. if the indication is that the selected physical block has not been erased since last power-up, obtain a physical block that was erased since last power-up and write the data into the physical block that was erased since last power-up.

19. The system of claim 18 , further comprising a random access memory coupled to the processor and operative to provide the indication.

20. The system of claim 19 , wherein the indication is derived from an entry representing the selected physical block in a table stored in the random access memory.

21. A computer readable storage medium having computer readable code embodied thereon, the computer readable code for managing a flash memory having a plurality of physical blocks, the computer readable code comprising:

a. program code for selecting a physical block for writing data thereto;

b. program code for obtaining an indication whether the selected physical block has been erased since a last power-up of the device; and

c. program code for writing the data into the selected physical block if the indication is that the selected physical block has been erased since the last power-up and for obtaining a physical block that was erased since last power-up and writing the data into the physical block that was erased since last power-up if the indication is that the selected physical block has not been erased since last power-up.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2007
From: STERN, ORI; MOSEK, AMIR
To: SANDISK IL LTD.
Reel/Frame 019174/0377 →