IP Library Granted Patent US 8,271,722
Granted Patent B2
US 8,271,722 · App. 13/207,670 · Granted Sep 18, 2012

Circular wear leveling

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,271,722
App. No.
13/207,670
Granted
Sep 18, 2012
Kind
B2
Abstract

A method for flash memory management comprises providing a head pointer configured to define a first location in a flash memory, and a tail pointer configured to define a second location in a flash memory. The head pointer and tail pointer define a payload data area. Payload data is received from a host, and written to the flash memory in the order it was received. The head pointer and tail pointer are updated such that the payload data area moves in a circular manner within the flash memory.

Claims (29)

1. A method for flash memory management, comprising:

providing a head pointer configured to define a first location in a flash memory;

providing a tail pointer configured to define a second location in the flash memory, wherein the head pointer and tail pointer define the beginning and end of a payload data area, respectively, and wherein the tail pointer and head pointer define the beginning and end of an antipayload area, respectively; and

writing payload data to the payload data area, wherein the writing the payload data to the payload data area takes place when the size of the antipayload area exceeds a no-defragmentation size.

2. The method of claim 1 , further comprising pausing a write request from a host when the size of the payload data area falls below a threshold value.

3. The method of claim 1 , wherein the size of the flash memory reported to a host is smaller than the size of the payload area.

4. The method of claim 1 , further comprising relocating at least a portion of existing payload data in the payload data area where the existing payload data is stored substantially contiguously in the payload data area.

5. The method of claim 4 , wherein relocating existing payload data comprises operations on erase blocks located behind the head pointer and ahead of the tail pointer.

6. The method of claim 4 , wherein relocating existing payload data comprises operations on erase blocks located ahead of the head pointer.

7. The method of claim 4 , wherein relocating existing payload data comprises merging at least two partially obsolete erase blocks into a single erase block.

8. The method of claim 1 , further comprising providing at least one data structure constructed using erase block index information stored in the final page of each erase block in the flash memory.

9. The method of claim 1 , wherein updating the head pointer and the tail pointer causes the flash memory to wear substantially uniformly.

10. A solid state drive, comprising:

a flash memory controller configured to receive payload data from a host; and

at least one flash chip configured as a circular storage space,

wherein the flash memory controller comprises at least two head pointers where consecutively received pages of payload data are stored in different erase blocks in the circular storage space.

11. The solid state drive of claim 10 , further comprising a random access memory containing a logical to physical (L2P) table and a physical erase block (PEB) table, wherein the logical to physical (L2P) table and a physical erase block (PEB) table are configured to locate data written to the solid state drive, and wherein the logical to physical (L2P) table and a physical erase block (PEB) table are contained entirely in the random access memory.

12. A solid state drive, comprising:

a flash memory controller configured to receive payload data from a host; and

at least one flash chip configured as a circular storage space, wherein the circular storage space is divided into a payload data area and an antipayload area,

wherein the flash memory controller is configured to write payload data to the payload data area when the size of the antipayload area exceeds a no-defragmentation size.

13. The solid state drive of claim 12 , wherein a head pointer and a tail pointer define the beginning and end of the payload data area, respectively, and wherein the tail pointer and head pointer define the beginning and end of the antipayload area, respectively.

14. A solid state drive, comprising

a flash memory controller configured to receive payload data from a host; and

at least one flash chip configured as a circular storage space, wherein the circular storage space contains a payload data area and an antipayload area, and

wherein:

the flash memory controller includes the flash memory controller configured to pause a write request from the host when the size of the antipayload area falls below a threshold value,

the size of the payload data area includes the size of the payload data area variably defined by a first head pointer and a first tail pointer, and

the circular storage space includes the circular storage space containing a second payload data area and the size of the second payload data area is variably defined by a second head pointer and a second tail pointer.

Assignments (6)
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038807/0850 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2016
From: SMART STORAGE SYSTEMS, INC
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 038290/0033 →
CHANGE OF NAME Recorded May 29, 2013
From: ADTRON CORPORATION
To: SMART MODULAR TECHNOLOGIES (AZ), INC.
Reel/Frame 030508/0867 →
CHANGE OF NAME Recorded May 29, 2013
From: SMART MODULAR TECHNOLOGIES (AZ), INC.
To: SMART STORAGE SYSTEMS (AZ), INC.
Reel/Frame 030508/0872 →
CHANGE OF NAME Recorded May 29, 2013
From: SMART STORAGE SYSTEMS (AZ), INC.
To: SMART STORAGE SYSTEMS, INC.
Reel/Frame 030508/0878 →
NUNC PRO TUNC ASSIGNMENT Recorded Aug 11, 2011
From: KILZER, KEVIN L.; ELLIS, ROBERT W.; STERBENZ, RUDOLPH J.
To: ADTRON CORPORATION
Reel/Frame 026737/0898 →