IP Library › Granted Patent US 8,706,990
Granted Patent B2
US 8,706,990 · App. 13/435,338 · Granted Apr 22, 2014

Adaptive internal table backup for non-volatile memory system

Inventors: Robert C. Chang (Danville, CA); Bahman Qawami (San Jose, CA); Farshid Sabet-Sharghi (San Jose, CA)
Assignee: SanDisk Technologies Inc.
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 8,706,990
App. No.
13/435,338
Granted
Apr 22, 2014
Kind
B2
Abstract

Methods and apparatus for allowing tables to be adaptively backed up are disclosed. According to one aspect of the present invention, a method for operating a memory system with a non-volatile memory that includes a reserved memory area, a plurality of physical blocks and a plurality of data structures including an erase count block involves determining when contents associated with at least one data structure of the plurality of data structures are to be substantially backed up. A request to substantially back up the contents associated with the at least one data structure is executed when it is determined that the contents associated with the at least one data structure are to be substantially backed up. Executing the request allows contents associated with the at least one data structure are substantially backed up in the reserved memory area.

Claims (34)

1. A method for operating a memory system, the memory system having a non-volatile memory, the non-volatile memory having a reserved memory area, a plurality of physical blocks, and a plurality of data structures containing memory management data for the memory system, the method comprising:

determining whether contents associated with one of the plurality of data structures containing memory management data are to be updated;

queueing a request to update one of the plurality of data structures containing memory management data responsive to determining that the contents associated with the one of the plurality of data structures is to be updated; and

processing, at a later scheduled maintenance time, the queued request to update the contents associated with one of the plurality of data structures containing memory management data, wherein at least some of the contents associated with the one of the plurality of data structures containing memory management data are updated by storing a copy of the contents in the reserved memory area.

2. The method of claim 1 , wherein the memory comprises a NAND flash memory containing the reserved memory area, plurality of physical blocks and plurality of data structures.

3. The method of claim 2 , wherein the later scheduled maintenance time comprises a time of day.

4. The method of claim 2 , wherein the later scheduled maintenance time comprises an elapsed time from a prior internal memory maintenance operation.

5. The method of claim 2 , wherein determining whether contents associated with the one of the plurality of data structures containing memory management data are to be updated comprises determining whether a counter value tracking a number of updates to blocks of memory is substantially equal to an update threshold.

6. The method of claim 2 , wherein the plurality of data structures include an erase count block, the erase count block containing a status of each physical block of the plurality of physical blocks, and a least frequently erased block table, the least frequently erased block table containing a list of least frequently written blocks.

7. The method of claim 6 , wherein queueing comprises queueing a request to update the erase count block and the least frequently erased block table responsive to determining that the contents associated with the erase count block and the least frequently erased block table are to be updated.

8. The method of claim 7 , wherein the reserved memory area comprises information used by the memory system when the memory system is powered up.

9. The memory system of claim 7 , wherein the reserved memory area comprises a power management block.

10. A memory system comprising:

a non-volatile memory, the non-volatile memory including the non-volatile memory having a reserved memory area, a plurality of physical blocks, and a plurality of data structures containing memory management data for the memory system; and

a controller in communication with the non-volatile memory, the controller configured to:

determine whether contents associated with one of the plurality of data structures containing memory management data are to be updated;

queue a request to update one of the plurality of data structures containing memory management data responsive to determining that the contents associated with the one of the plurality of data structures is to be updated; and

process, at a later scheduled maintenance time, the queued request to update the contents associated with one of the plurality of data structures containing memory management data, wherein at least some of the contents associated with the one of the plurality of data structures containing memory management data are updated by storing a copy of the contents in the reserved memory area.

11. The memory system of claim 10 , wherein the memory comprises a NAND flash memory containing the reserved memory area, plurality of physical blocks and plurality of data structures.

12. The memory system of claim 11 , wherein the later scheduled maintenance time comprises a time of day.

13. The memory system of claim 11 , wherein the later scheduled maintenance time comprises an elapsed time from a prior internal memory maintenance operation.

14. The memory system of claim 11 , wherein the controller is configured to determine whether contents associated with the one of the plurality of data structures containing memory management data are to be updated by determining whether a counter value tracking a number of updates to blocks of memory is substantially equal to an update threshold.

15. The memory system of claim 11 , wherein the plurality of data structures include an erase count block, the erase count block containing a status of each physical block of the plurality of physical blocks, and a least frequently erased block table, the least frequently erased block table containing a list of least frequently written blocks.

16. The memory system of claim 15 , wherein the controller is configured to queue the request by queueing a request to update the erase count block and the least frequently erased block table in response to determining that the contents associated with the erase count block and the least frequently erased block table are to be updated.

17. The memory system of claim 16 , wherein the reserved memory area comprises information used by the memory system when the memory system is powered up.

18. The memory system of claim 16 , wherein the reserved memory area comprises a power management block.

19. A host system configured for controlling a memory, the host system comprising:

an interface arranged to communicate with the memory, wherein the memory comprises a non-volatile memory, the non-volatile memory including the non-volatile memory having a reserved memory area, a plurality of physical blocks, and a plurality of data structures containing memory management data for the memory; and

a processor in communication with the memory via the interface, the processor configured to execute instructions to:

determine whether contents associated with one of the plurality of data structures containing memory management data are to be updated;

queue a request to update one of the plurality of data structures containing memory management data responsive to determining that the contents associated with the one of the plurality of data structures is to be updated; and

process, at a later scheduled maintenance time, the queued request to update the contents associated with one of the plurality of data structures containing memory management data, wherein at least some of the contents associated with the one of the plurality of data structures containing memory management data are updated by storing a copy of the contents in the reserved memory area.

20. The host system of claim 19 , wherein the processor is configured to execute instructions from an operating system of the host system to control the memory.

21. The host system of claim 19 , wherein the processor is configured to execute instructions from a host application in the host system to control the memory.

Assignments (1)
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038807/0898 →
Continuity (2)
Continuation 10696685 · Oct 28, 2003
Related Publication 20120331208A1 · Dec 27, 2012