IP Library Granted Patent US 9,098,396
Granted Patent B2
US 9,098,396 · App. 12/706,474 · Granted Aug 4, 2015

Enhancement of efficiency in power failure handling in flash memory

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 9,098,396
App. No.
12/706,474
Granted
Aug 4, 2015
Kind
B2
Abstract

A method and system for enhancing efficiency in power failure handling in flash memory devices is disclosed. The method includes the controller of a storage device receiving a page of data, selecting a block having a desired back-up cost and copying previously stored data in the selected block to a back-up block prior to writing the received page to the selected block based on a category of the previously stored data. The system includes non-volatile memory having a plurality of operative blocks, at least one spare block and a controller. The controller is configured to receive a page of data, select an operative block in the memory having a desired back-up cost, and copy previously stored data in the selected block to a spare block based on a category of the previously stored data prior to writing the received page to the selected block.

Claims (36)

1. A method of managing backup of physical blocks in a storage system, the method comprising a controller of the storage system:

receiving a page of data for writing to a non-volatile memory in the storage system;

selecting a block in the non-volatile memory having a desired back-up cost;

determining a category of previously stored data in the selected block; and

copying, depending on the determination of the category, the previously stored data in the selected block to a back-up block prior to writing the received page of data to the selected block;

wherein when the determination of the category comprises determining a file type, the copying is only when the determined file type is different than a file type associated with the received page of data.

2. The method of claim 1 , wherein selecting the block in the non-volatile memory having the desired back-up cost comprises selecting a block in the non-volatile memory containing a fewest number of pages to copy into the back-up block based on the category of the previously stored data in each block.

3. The method of claim 1 , wherein selecting the block in the non-volatile memory having the desired back-up cost comprises selecting a first block determined to contain less than a threshold number of pages that need copying into the back-up block based on the category of the previously stored data in the first block.

4. The method of claim 1 , wherein the category of data comprises a type of data, wherein one type of data comprises data that is always backed-up.

5. The method of claim 4 , wherein the category of data comprises a type of data that is never backed-up, wherein the category is indicative of a file being disposable after a power failure and not requiring backup prior to writing a new page.

6. The method of claim 5 , wherein the type of data for each page of received data is determined internally at the storage device based on an address of the received data.

7. The method of claim 1 , wherein received data is received from a host along with a data tag identifying the category of data for the received page.

8. The method of claim 1 , wherein the category of data includes file identifying information associating a page of data with a particular file.

9. The method of claim 1 , wherein the category of data comprises an address region of the memory.

10. The method of claim 1 , wherein the file type comprises one of a ordinary file, a log file or a temporary file.

11. The method of claim 10 , wherein copying previously stored data comprises:

copying a page of previously stored data from the identified block to the back-up block only when the file type of the page of previously stored data identifies a log file or an ordinary file associated with a host file different than that associated with the received page of data.

12. The method of claim 11 , wherein the file identifying information of the previously stored data is stored in an index table in the non-volatile memory and identifying the block in the non-volatile memory having the lowest back-up cost comprises determining which block requires a fewest number of pages copied to the back-up block based on the index table.

13. The method of claim 1 , further comprising the controller tagging each received page of data with a respective category.

14. A storage system comprising:

non-volatile memory having a plurality of operative blocks and at least one spare block; and

a controller configured to:

receive a page of data for writing to the non-volatile memory in the storage system;

select an operative block in the non-volatile memory having a desired back-up cost;

determine a category of previously stored data in the selected block, wherein the determined category comprises a type of data, a file type, or file identifying information; and

copy, depending on the determination of the category, previously stored data in the selected block to a spare block prior to writing the received page of data to the selected block, wherein the copy is only when the determined category is different than a category associated with the received page of data.

15. The storage system of claim 14 , wherein to select the operative block in the non-volatile memory having the desired back-up cost the controller is further configured to determine which operative block in the non-volatile memory contains a fewest number of pages to copy into the back-up block based on the category of previously stored data in each operative block.

16. The storage system of claim 14 , wherein to select the operative block in the non-volatile memory having the desired back-up cost the controller is further configured to select a first operative block determined to contain less than a threshold number of pages that need copying into the back-up block based on the category of the previously stored data in the first operative block.

17. The storage system of claim 14 , wherein the type of data comprises a type of data that is always backed-up.

18. The storage system of claim 14 , wherein the type of data comprises a type of data that is never backed-up, wherein the category is indicative of a file being disposable after a power failure and not requiring backup prior to writing a new page.

19. The storage system of claim 14 , wherein the file identifying information associates a page of data with a particular file.

20. The storage system of claim 14 , wherein the category further comprises information identifying an address region in the memory the received page of data is assigned to.

21. The storage system of claim 4 , wherein the file type comprises one of an ordinary file, a log file or a temporary file.

22. The storage system of claim 21 , wherein the controller is further configured to copy previously stored data from the selected operative block to the back-up block only when the file type of the page of previously stored data identifies a log file or an ordinary file associated with a file different than that associated with the received page of data.

23. The storage system of claim 22 , further comprising an index table in the non-volatile memory containing the file identifying information of the previously stored data is stored in and wherein the controller is configured to identify the operative block in the non-volatile memory having the lowest back-up cost based on a review of the index table to determine which block requires a fewest number of pages copied to the back-up block.

24. The storage system of claim 14 , wherein the controller is further configured to tag each received page of data with a respective category.

Assignments (5)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2024
From: WESTERN DIGITAL ISRAEL, LTD.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069267/0794 →
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 May 28, 2010
From: HELLER, TAL; PERRY, NIR; STERN, ORI; DUZLY, YACOV
To: SANDISK IL LTD.
Reel/Frame 024458/0726 →