Reverse map logging in physical media

US10229052B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10229052-B2
Application numberUS-201715609198-A
CountryUS
Kind codeB2
Filing dateMay 31, 2017
Priority dateMay 31, 2017
Publication dateMar 12, 2019
Grant dateMar 12, 2019

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.

Method and apparatus for managing data such as in a flash memory. In some embodiments, a memory module electronics (MME) circuit writes groups of user data blocks to consecutive locations within a selected section of a non-volatile memory (NVM), and concurrently writes a directory map structure as a sequence of map entries distributed among the groups of user data blocks. Each map entry stores address information for the user data blocks in the associated group and a pointer to a subsequent map entry in the sequence. A control circuit accesses a first map entry in the sequence and uses the address information and pointer in the first map entry to locate the remaining map entries and the locations of the user data blocks in the respective groups. Lossless data compression may be applied to the groups prior to writing.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus comprising: a non-volatile memory (NVM) comprising solid-state memory cells arranged to store user data blocks from a host device; a memory module electronics (MME) circuit configured to write groups of user data blocks to consecutive locations within a selected section of the NVM and to concurrently write a directory map structure to the selected section of the NVM comprising a sequence of map entries distributed among the groups of user data blocks, the map entries storing address information associated with the groups of user data blocks and a plurality of pointers that identify address information associated with other map entries in the sequence; and a control circuit configured to locate a selected one of the user data blocks by accessing a first map entry in the sequence, using the pointers in the first map entry and in the remaining map entries to successively locate each of the map entries in turn, to use the address information in the associated map entry to locate the selected one of the user data blocks. 2. The apparatus of claim 1 , wherein the first map entry in the sequence is written at a predetermined location within the selected section of the NVM, wherein the control circuit accesses the first map entry responsive to the predetermined location and locates a second map entry in the sequence responsive to the pointer in the first map entry, and wherein the address information stored in the first map entry describes the corresponding group of user data blocks disposed between the first and second map entries in the selected section of the NVM. 3. The apparatus of claim 1 , wherein the control circuit directs the MME circuit to transfer a copy of the groups of user data blocks and the sequence of map entries to a local memory as a bit sequence, searches the bit sequence to locate the first map entry responsive to a predetermined location at which the first map entry is stored in the NVM, and to use the pointer and address information in the first map entry to locate corresponding bits in the bit sequence that represent the remaining map entries and groups of user data blocks. 4. The apparatus of claim 1 , wherein the section of the NVM comprises a page of memory in a flash memory array. 5. The apparatus of claim 1 , wherein the groups of user data blocks each comprise the same total number of user data blocks. 6. The apparatus of claim 1 , wherein the control circuit is further configured to apply lossless data compression to the groups of data blocks prior to writing thereof to the section of the NVM. 7. The apparatus of claim 5 , wherein the control circuit further comprises a reverse map entry generator circuit which generates each map entry in turn as each group of user data blocks is compressed using the lossless data compression. 8. The apparatus of claim 1 , wherein each of the groups of user data blocks is written to a different consecutive number of immediately adjacent flash memory cells, and each of the corresponding map entries is written to a second different consecutive number of immediately adjacent flash memory cells following the associated group. 9. The apparatus of claim 1 , wherein the controller circuit comprises a programmable processor having associated program instructions stored in a local memory executed by the programmable processor to arrange the groups of user data blocks and map entries in sequential order for writing by the MME circuit. 10. A solid state drive (SSD), comprising: a non-volatile memory (NVM) comprising solid-state flash memory cells arranged into pages to store user data blocks from a host device; a memory module electronics (MME) circuit configured to write groups of user data blocks to consecutive locations within a selected page and to embed map entries of a distributed directory map structure to the selected page among the groups of user data blocks, the map entries sequentially arranged from a first map entry to a last map entry, each map entry storing address information associated with a corresponding one of the groups of user data blocks and a pointer that identifies address information associated with an immediately successive map entry in the sequence, the first map entry stored at a predetermined location within the selected page; and a control circuit configured to locate at least a selected one of the user data blocks by accessing the first map entry responsive to the predetermined location, using the pointers in the first map entry and in the remaining map entries to successively access each of the map entries in turn, to use the address information in the associated map entry to locate the selected one of the user data blocks, and to direct a transfer the at least a selected one of the user data blocks to a host device responsive to a read request from the host device for the at least a selected one of the user data blocks. 11. The SSD of claim 10 , wherein the control circuit further comprises a compression circuit configured to apply lossless data compression to each of the user data blocks in each group in turn, and a reverse directory map generator circuit configured to generate a corresponding map entry responsive to the lossless data compression for each group. 12. The SSD of claim 10 , further comprising a read buffer memory, wherein the control circuit is further configured to direct the MME circuit to transfer a copy of the groups of user data blocks and the sequence of map entries to a local memory as a bit sequence, search the bit sequence to locate the first map entry responsive to the predetermined location at which the first map entry is stored in the NVM, and to use the pointer and address information in the first map entry to locate corresponding bits in the bit sequence that represent the remaining map entries and groups of user data blocks. 13. The SSD of claim 10 , wherein the pointer of the last map entry in the sequence has a null value to indicate the last map entry is the final map entry in the sequence. 14. A method comprising: writing groups of user data blocks to each of a number of consecutive locations within a selected section of a non-volatile memory (NVM) comprising solid-state memory cells; concurrently writing a distributed directory map structure to the selected section of the NVM comprising a sequence of map entries distributed between the groups of user data blocks, each map entry in the sequence storing address information associated with a corresponding one of the groups of user data blocks and a pointer that identifies address information associated with an immediately successive map entry in the sequence, the map entries in a sequential order from a first map entry to a last map entry, the first map entry written at a predetermined location within the selected section of the NVM; and retrieving at least a subset of the user data blocks stored in the selected section of the NVM by accessing the first map entry in the sequence, using the pointers in the first map entry and in the remaining map entries to successively locate each of the map entries in turn, and using the address information in the associated map entry to locate and decode the at least a subset of the user data blocks. 15. The method of claim 14 , further comprising applying lossless data compression to each of the groups of user data blocks prior to the writing thereof to the selected section of the NVM, and subsequently applying lossless data decompression to the at least a subset of the user data blocks. 16. The method of claim 14 , wherein each map entry immediately follows the corresponding

Assignees

Inventors

Classifications

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

  • Improving I/O performance · CPC title

  • Replication mechanisms · CPC title

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

  • Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices · 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 US10229052B2 cover?
Method and apparatus for managing data such as in a flash memory. In some embodiments, a memory module electronics (MME) circuit writes groups of user data blocks to consecutive locations within a selected section of a non-volatile memory (NVM), and concurrently writes a directory map structure as a sequence of map entries distributed among the groups of user data blocks. Each map entry stores …
Who is the assignee on this patent?
Seagate Technology 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 Mar 12 2019 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).