IP Library Granted Patent US 8,566,505
Granted Patent B2
US 8,566,505 · App. 12/103,273 · Granted Oct 22, 2013

Flash management using sequential techniques

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,566,505
App. No.
12/103,273
Granted
Oct 22, 2013
Kind
B2
Abstract

Disclosed are techniques for flash memory management, including receiving data from a host, writing the data to a flash memory device in the order it was received from the host, and providing at least one data structure configured to locate the data written to the flash memory device.

Claims (64)

1. A method for flash memory management, comprising:

receiving payload data from a host;

writing the payload data in the order it was received to an erase block in a flash memory device; and

providing a logical to physical (L2P) table and a physical erase block (PEB) table configured to locate the payload data written to the flash memory device, wherein the L2P table and the PEB table are contained entirely in a random access memory;

wherein writing the payload data includes:

locating a target page in the erase block,

combining the payload data with metadata,

writing the payload data and the metadata to the target page in the erase block,

updating the L2P table,

updating the PEB table, and

responsive to page offset information indicating all pages in the erase block except an index page are full, writing index information for the erase block to the index page in the erase block.

2. The method of claim 1 , wherein writing the payload data in the order it was received includes writing the payload data in a sequential manner within the erase block.

3. The method of claim 1 , wherein the erase block includes an index page that stores erase block index information for the payload data written to the erase block.

4. The method of claim 3 , further comprising using the index page to construct at least one of the L2P table and the PEB table when the flash memory device is powered on.

5. The method of claim 3 , wherein the index page is the last physical page in the erase block.

6. The method of claim 1 , wherein the PEB table includes information that maps consecutive pages of the payload data to different flash chips.

7. The method of claim 1 , wherein the PEB table includes a bitfield indicating if a page is obsolete.

8. The method of claim 1 , wherein the PEB table is configured to prevent at least one erase block from being used.

9. The method of claim 1 , wherein the writing the payload data in the order it was received includes:

writing a first page of the payload data received from the host to a first erase block in the flash memory device;

writing a second page of the payload data received from the host to a second erase block in the flash memory device; and

writing a third page of the payload data received from the host to the first erase block in the flash memory device;

wherein the first page of the payload data, the second page of the payload data, and the third page of the payload data are received in sequential order from the host, and wherein the third page of the payload data is written to the first erase block in a location following the first page of the payload data.

10. A method for data management on a flash memory device, comprising:

providing payload data to a flash memory device;

writing the payload data to an erase block on the flash memory device in the order it was received; and

mapping a location of the payload data on the flash memory device, wherein the mapping includes providing a logical to physical (L2P) table and a physical erase block (PEB) table contained entirely in a random access memory, and wherein the L2P table and the PEB table are configured to locate the payload data written to the flash memory device;

wherein writing the payload data includes:

locating a target page in the erase block,

combining the payload data with metadata,

writing the payload data and the metadata to the target page in the erase block,

updating the L2P table,

updating the PEB table, and

responsive to page offset information indicating all pages in the erase block except an index page are full, writing index information for the erase block to the index page in the erase block.

11. The method of claim 10 , wherein the erase block containing the payload data includes an index page that stores erase block index information for the payload data written to pages in the erase block.

12. The method of claim 10 , wherein the erase block containing the payload data includes an index page that stores erase block index information for the payload data written to pages in a different erase block.

13. The method of claim 10 , wherein all data structures needed to locate the payload data written to the flash memory device are located in their entirety in the random access memory.

14. A solid state drive, comprising:

a flash controller configured to communicate with a host;

a random access memory containing a logical to physical (L2P) table and a physical erase block (PEB) table, wherein the L2P table and the PEB table are configured to locate payload data written to the solid state drive, and wherein the L2P table and the PEB table are contained entirely in the random access memory; and

at least one flash chip configured to receive the payload data from the flash controller,

wherein the flash controller is configured to write the payload data to the at least one flash chip in a manner which preserves time order of the payload data including:

locating a target page in the erase block,

combining the payload data with metadata,

writing the payload data and the metadata erase block,

updating the L2P table,

updating the PEB table, and

responsive to page offset information indicating all pages in the erase block except an index page are full, writing index information for the erase block to the index page in the erase block.

15. The solid state drive of claim 14 , wherein the flash controller includes a buffer-host machine, a media-buffer machine, a data buffer, a local buffer, and a sequence and control machine.

16. The solid state drive of claim 14 , wherein the flash controller is configured to write the payload data in a sequential manner within an erase block.

17. A data storage system, comprising:

a memory configured for block-based erase operations;

a controller coupled to the memory, wherein the controller is configured to write incoming payload data to the memory in the order the payload data is received; and

a random access memory containing a logical to physical (L2P) table and a physical erase block (PEB) table, wherein the L2P table and the PEB table are configured to locate the payload data written to the data storage system, and wherein the L2P table and the PEB table are contained entirely in the random access memory;

wherein the controller is for:

locating a target page in the erase block,

combining the payload data with metadata,

writing the payload data and the metadata to the target page in the erase block,

updating the L2P table,

updating the PEB table, and

responsive to page offset information indicating all pages in the erase block except an index page are full, writing index information for the erase block to the index page in the erase block.

18. The data storage system of claim 17 , wherein the controller includes a buffer-host machine, a media-buffer machine, a data buffer, a local buffer, and a sequence and control machine.

19. The data storage system of claim 17 , wherein the controller is configured to write the incoming payload data in a sequential manner within an erase block.

20. The data storage system of claim 17 , wherein the PEB table tracks pages within erase blocks of the memory such that when a particular page is deemed unusable for storing the payload data, other pages within the same erase block of the memory may still be used for storing the payload data.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2025
From: SANDISK TECHNOLOGIES, INC.
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 070778/0175 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038809/0600 →
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 30, 2013
From: SMART MODULAR TECHNOLOGIES (AZ), INC.
To: SMART STORAGE SYSTEMS (AZ), INC.
Reel/Frame 030518/0666 →
CHANGE OF NAME Recorded May 30, 2013
From: SMART STORAGE SYSTEMS (AZ), INC.
To: SMART STORAGE SYSTEMS, INC.
Reel/Frame 030518/0697 →
NUNC PRO TUNC ASSIGNMENT Recorded Jul 13, 2011
From: KILZER, KEVIN L.; ELLIS, ROBERT W.; STERBENZ, RUDOLPH J.
To: ADTRON CORPORATION
Reel/Frame 026583/0865 →
CHANGE OF NAME Recorded Jul 13, 2011
From: ADTRON CORPORATION
To: SMART MODULAR TECHNOLOGIES (AZ), INC.
Reel/Frame 026584/0866 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2008
From: KILZER, KEVIN L; ELLIS, ROBERT W; FITZGERALD, ALAN A; STERBENZ, RUDOLPH J
To: ADTRON, INC.
Reel/Frame 021164/0959 →