Method and system for storage address re-mapping for a memory device

US9396103B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9396103-B2
Application numberUS-3601408-A
CountryUS
Kind codeB2
Filing dateFeb 22, 2008
Priority dateJun 8, 2007
Publication dateJul 19, 2016
Grant dateJul 19, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method and system for storage address re-mapping is disclosed. The method includes allocating logical addresses in blocks of clusters and re-mapping logical addresses into storage address space, where short runs of data dispersed in logical address space are mapped in a contiguous manner into blocks in storage address space. Valid data is flushed from blocks having both valid and obsolete data to make new blocks available for receiving data when an available number of new blocks falls below a desired threshold. The system includes a host file system, processor executable instructions residing on a host separately from the host file system or residing on a flash memory device such as an embedded solid state disk, or a backend memory manager of the flash memory device that is configured to map data from a logical address space to complete blocks in storage address space in a contiguous manner.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of transferring data between a host system and a re-programmable non-volatile mass storage memory system, the method comprising: in the mass storage memory system, the mass storage memory system having re-programmable non-volatile memory cells arranged in a plurality of blocks of memory cells that are erasable together and a controller in communication with the plurality of blocks of memory cells, the controller, for any data that is associated with host logical block address (LBA) addresses and that is received at the mass storage memory system from the host system: allocating a block of contiguous storage LBA addresses for addressing the data associated with the host LBA addresses, the block of contiguous storage LBA addresses addressing only unwritten capacity upon allocation; and re-mapping each of the host LBA addresses for the received data to the block of contiguous storage LBA addresses, wherein each storage LBA address is sequentially assigned in a contiguous manner to the received data in an order the received data is received regardless of the host LBA address. 2. The method of claim 1 , further comprising allocating a second block of contiguous storage LBA addresses for re-mapping additional received data in a contiguous manner, the second block of contiguous storage LBA addresses associated with only unwritten capacity upon allocation, wherein the allocation of the second block is made only upon completely assigning the block of contiguous storage LBA addresses. 3. The method of claim 1 , wherein allocating a block of contiguous storage LBA addresses comprises allocating a block of contiguous storage LBA addresses for each of a plurality of ranges of host LBA addresses, wherein each block of contiguous storage LBA addresses is associated with only unwritten capacity upon allocation. 4. The method of claim 3 , wherein re-mapping comprises re-mapping each of the host LBA addresses for the received data in a respective one of the plurality of ranges of host LBA addresses to a respective allocated block of storage LBA addresses, wherein each storage LBA address in an allocated block of contiguous storage LBA addresses is sequentially assigned in a contiguous manner to received data falling within a respective one of the plurality of ranges in an order that the data is received regardless of the host LBA address within the respective one of the plurality of ranges. 5. The method of claim 4 , further comprising, for each of the plurality of ranges, allocating a second block of contiguous storage LBA addresses for re-mapping additional received data in a contiguous manner, the second block of contiguous storage LBA addresses associated with only unwritten capacity upon allocation, wherein allocation of the second block of contiguous storage LBA addresses is made for a particular range of host LBA addresses only upon completely assigning the block of contiguous storage LBA addresses currently associated with the particular range of host LBA addresses. 6. The method of claim 1 , further comprising writing the data associated with the block of contiguous storage LBA addresses to contiguous physical address locations in a physical block of addresses currently associated with the block of contiguous storage LBA addresses. 7. The method of claim 1 , wherein the mass storage memory system receives the data associated with the host LBA addresses, re-maps the host LBA addresses and writes the data associated with the storage LBA addresses without ever initiating a garbage collection operation. 8. The method of claim 1 , wherein the re-mapping step further comprises generating correlation data correlating host LBA address and storage LBA address locations and assigning respective contiguous storage LBA addresses to the correlation data in a second block of contiguous storage LBA addresses. 9. The method of claim 8 , wherein the block of contiguous storage LBA addresses is exclusively associated with data from the host system and the second block of contiguous storage LBA addresses is exclusively associated with correlation data. 10. The method of claim 1 , further comprising: identifying obsolete data associated with the block of contiguous storage LBA addresses, wherein the obsolete data represents host deallocated data; selecting a relocation block of contiguous storage LBA addresses with which to contiguously re-map valid data from the block of contiguous storage LBA addresses; and reassigning valid data associated with the block of contiguous storage LBA addresses to contiguous storage LBA addresses in the relocation block. 11. The method of claim 10 , further comprising: identifying obsolete data associated with an additional block of contiguous storage LBA addresses; reassigning storage LBA addresses for valid data from the additional block of contiguous storage LBA addresses to contiguous storage LBA addresses in the relocation block, wherein when the relocation block is full, a new relocation block having only unwritten capacity is selected and remaining valid data from the additional block is reassigned to contiguous storage LBA addresses in the new relocation block. 12. The method of claim 10 , wherein the relocation block of contiguous storage LBA addresses is exclusively associated with re-mapped valid host data. 13. The method of claim 9 , further comprising: identifying obsolete correlation data associated with the second block of contiguous storage LBA addresses; selecting a relocation block of contiguous storage LBA addresses with which to contiguously re-map valid correlation data from the second block of contiguous storage LBA addresses; and reassigning valid correlation data from the second block of contiguous storage LBA addresses to contiguous storage LBA addresses in the relocation block. 14. The method of claim 13 , further comprising: identifying obsolete correlation data associated with an additional block of contiguous storage LBA addresses exclusively associated with correlation data; and reassigning storage LBA addresses for valid correlation data from the additional block of contiguous storage LBA addresses to contiguous storage LBA addresses in the relocation block, wherein when the relocation block is full, a new relocation block having only unwritten capacity is selected and remaining valid correlation data associated with the additional block is reassigned to contiguous storage LBA addresses in the new relocation block. 15. The method of claim 1 , further comprising tracking a status of a plurality of blocks of contiguous storage LBA addresses having a white or pink status, wherein white status identifies any blocks associated with only unwritten capacity and pink status identifies any blocks associated with both valid and obsolete data. 16. The method of claim 15 , wherein tracking the status comprises maintaining a block information table comprising an initial block of contiguous storage LBA addresses for exclusively addressing block information table data relating to the status of each of the plurality of blocks of contiguous storage LBA addresses. 17. The method of claim 16 , wherein maintaining the block information table comprises allocating an additional block of contiguous storage LBA addresses for use in addressing block information table data in a contiguous manner, the additional block of contiguous storage LBA addresses addressing only unwritten capacity upon allocation, wherein the allocation of the additional block is made only upon completely assigning the initial block of contiguous storage L

Assignees

Inventors

Classifications

  • Cleaning, compaction, garbage collection, erase control · CPC title

  • in block erasable memory, e.g. flash memory · CPC title

  • Performance improvement · CPC title

  • Allocation control and policies · CPC title

  • Interleaved addressing · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9396103B2 cover?
A method and system for storage address re-mapping is disclosed. The method includes allocating logical addresses in blocks of clusters and re-mapping logical addresses into storage address space, where short runs of data dispersed in logical address space are mapped in a contiguous manner into blocks in storage address space. Valid data is flushed from blocks having both valid and obsolete dat…
Who is the assignee on this patent?
Sinclair Alan W, Wright Barry, Sandisk Technologies Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/0246. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 19 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).