Method and system for dynamic compression of address tables in a memory

US9229876B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9229876-B2
Application numberUS-201414274310-A
CountryUS
Kind codeB2
Filing dateMay 9, 2014
Priority dateDec 17, 2013
Publication dateJan 5, 2016
Grant dateJan 5, 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 are disclosed for handling logical-to-physical mapping and increasing the amount of mapping table information that may be stored in a cache in volatile memory. The method includes the storage device storing in fast access memory, such as RAM, a copy of only a portion of the complete mapping information for non-volatile memory of the storage device using a compressed format by compressing the mapping data when a skip pattern of interleaved sequential writes to non-volatile memory are found in the mapping information. The system includes a storage device having volatile memory, non-volatile memory and a controller in communication with the volatile and non-volatile memory that is configured to carry out the method noted above.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of managing a memory device comprising: in a memory device having a non-volatile memory, a volatile memory and a controller in communication with the non-volatile memory and the volatile memory, the controller: receiving a host command identifying a logical block address for data stored in non-volatile memory of the memory device; determining if mapping information regarding a physical address in the non-volatile memory associated with the logical block address resides in the volatile memory; when no mapping information associated with the logical block address resides in the volatile memory: retrieving a segment of mapping information from a logical-to-physical mapping structure in the non-volatile memory, the segment associated with the logical block address in the host command; compressing the segment of mapping information into a compressed logical group address entry based on a logical address skip pattern in physical address entries associated in the segment; and storing the compressed segment of mapping information in the volatile memory. 2. The method of claim 1 , wherein the logical address skip pattern comprises a plurality of groups of sequential runs of logical addresses associated with sequential physical addresses in a first row of the segment that is contiguous with a second plurality of groups of sequential runs of logical addresses associated with sequential physical addresses in a second row of the segment. 3. The method of claim 1 , wherein the segment comprises a portion having the logical address skip pattern and a portion without the logical address skip pattern, and wherein storing the compressed segment of mapping information comprises storing mapping information for the portion having the logical address skip pattern in a compressed format and storing the portion without the logical address skip pattern in an uncompressed format. 4. The method of claim 1 , wherein the segment comprises a portion having the logical address skip pattern and a portion without the logical address skip pattern, and wherein storing the compressed segment of mapping information comprises: storing mapping information for the portion having the logical address skip pattern in a compressed format; determining if the portion without the logical address skip pattern is compressible using a different compression method; storing any of the portion without the logical address skip pattern that is compressible using the different compression method; and storing in an uncompressed format any remainder of the portion without the skip pattern that is not compressible using the different compression format. 5. The method of claim 1 , wherein retrieving the segment of mapping information from the logical-to-physical mapping structure in the non-volatile memory comprises first determining if room is available in the volatile memory for the segment of mapping information and, if insufficient room is available, ejecting a previously retrieved segment of mapping information from the volatile memory prior to retrieving the segment of mapping information associated with the logical block address in the host command. 6. The method of claim 5 , wherein ejecting the previously retrieved segment comprises selecting the least recently used segment of mapping data in the volatile memory for ejection and erasing the least recently used segment from the volatile memory. 7. A memory device comprising: a non-volatile memory; a volatile memory; and a controller in communication with the non-volatile memory and the volatile memory, wherein the controller is configured to: receive a host command identifying a logical block address for data stored in non-volatile memory of the memory device; determine if mapping information regarding a physical address in the non-volatile memory associated with the logical block address resides in the volatile memory; when no mapping information associated with the logical block address resides in the volatile memory: retrieve a segment of mapping information from a logical-to-physical mapping structure in the non-volatile memory, the segment associated with the logical block address in the host command; compress the segment of mapping information into a compressed logical group address entry based on a logical address skip pattern in physical address entries associated in the segment; and store the compressed segment of mapping information in the volatile memory. 8. The memory device of claim 7 , wherein the volatile memory comprises random access memory (RAM) and the non-volatile memory comprises flash memory. 9. The memory device of claim 8 , wherein the logical address skip pattern comprises a plurality of groups of sequential runs of logical addresses associated with sequential physical addresses in a first row of the segment that is contiguous with a second plurality of groups of sequential runs of logical addresses associated with sequential physical addresses in a second row of the segment. 10. The memory device of claim 9 , wherein the segment comprises a portion having the logical address skip pattern and a portion without the logical address skip pattern, and wherein to store the compressed segment of mapping information the controller is configured to store mapping information for the portion having the logical address skip pattern in a compressed format and store the portion without the logical address skip pattern in an uncompressed format. 11. The memory device of claim 7 , wherein the segment comprises a portion having the logical address skip pattern and a portion without the logical address skip pattern, and wherein to store the compressed segment of mapping information the controller is further configured to: store mapping information for the portion having the logical address skip pattern in a compressed format; determine if the portion without the logical address skip pattern is compressible using a different compression method; store any of the portion without the logical address skip pattern that is compressible using the different compression method; and store in an uncompressed format any remainder of the portion without the skip pattern that is not compressible using the different compression format. 12. The memory device of claim 11 , wherein the different compression method comprises a run-length compression method. 13. The memory device of claim 7 , wherein to retrieve the segment of mapping information from the logical-to-physical mapping structure in the non-volatile memory, the controller is configured to first determine if room is available in the volatile memory for the segment of mapping information and, if insufficient room is available, to eject a previously retrieved segment of mapping information from the volatile memory prior to retrieving the segment of mapping information associated with the logical block address in the host command. 14. The memory device of claim 7 , wherein the controller is configured to, in order to eject the previously retrieved segment, select the least recently used segment of mapping data in the volatile memory for ejection and erase the least recently used segment from the volatile memory.

Assignees

Inventors

Classifications

  • Logical to physical mapping or translation of blocks or pages · CPC title

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

  • Virtual address space management · CPC title

  • Improving I/O performance · CPC title

  • Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · 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 US9229876B2 cover?
A method and system are disclosed for handling logical-to-physical mapping and increasing the amount of mapping table information that may be stored in a cache in volatile memory. The method includes the storage device storing in fast access memory, such as RAM, a copy of only a portion of the complete mapping information for non-volatile memory of the storage device using a compressed format b…
Who is the assignee on this patent?
Sandisk Technologies Inc
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 Jan 05 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).