Systems and methods for performing adaptive host memory buffer caching of transition layer tables

US10007433B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10007433-B2
Application numberUS-201615168876-A
CountryUS
Kind codeB2
Filing dateMay 31, 2016
Priority dateJan 21, 2015
Publication dateJun 26, 2018
Grant dateJun 26, 2018

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.

Systems and methods for performing adaptive host memory buffer caching of transition layer tables (FTL tables) are disclosed. In one form a non-volatile memory system receives, in conjunction with receiving a first host command from a host system, hint information from the host system identifying a file stored at the non-volatile memory system that the host system will read data from. The non-volatile memory system identifies one or more FTL tables that are associated with data of the file identified in the hint information and sends the one or more FTL tables to the host system for storage in a host memory buffer at the host system. After sending the one or more FTL tables to the host system, the non-volatile memory system receives a second host command from the host system, the host command including an instruction to read data from one or more physical block addresses at the non-volatile memory system storing data of the file.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method comprising: receiving at a non-volatile memory system, in conjunction with receiving a first host command from a host system, hint information from the host system identifying a file stored at the non-volatile memory system that the host system will read data from; identifying at the non-volatile memory system, based on the file identified in the hint information, one or more transition layer tables (FTL tables) that include at least a portion of logical block addresses where data of the file identified in the hint information is stored mapped to physical block addresses at the non-volatile memory system where data of the file is stored; sending, via a host memory buffer interface, the one or more FTL tables to the host system for storage in a host memory buffer at the host system; and receiving, from the host system, at the non-volatile memory system, a second host command that includes one or more physical block addresses at the non-volatile memory system storing data of the file, the second host command including an instruction to read data from the one or more physical block addresses. 2. The method of claim 1 , wherein the hint information from the host system identifying the file is stored in payload data of the first host command. 3. The method of claim 1 , wherein the hint information from the host system identifying the file is stored in metadata associated with the first host command. 4. The method of claim 1 , further comprising: receiving the one or more FTL tables at the host system via the host memory buffer interface; storing the one or more FTL tables in the host memory buffer of the host system; accessing the one or more FTL tables in the host memory buffer to translate logical block addresses associated with the file to physical block addresses at the non-volatile memory system where data of the file is stored; and sending the second host command to the non-volatile memory system. 5. The method of claim 1 , wherein the non-volatile memory system receives the hint information from the host system through a pass-through application program interface (API). 6. The method of claim 1 , wherein the non-volatile memory system receives the hint information from a device driver present at the host system. 7. The method of claim 1 , wherein the hint information identifies whether or not data for a file will be frequently updated. 8. The method of claim 1 , wherein the hint information identifies a file format type of the file. 9. The method of claim 1 , wherein the hint information identifies sequences of logical block addresses associated with data of the file. 10. The method of claim 1 , wherein the one or more transition layer tables sent to the host system are divided into a plurality of regions, where each region is assigned a priority based on whether the region maps logical block addresses where data of the file identified in the hint information is stored, and wherein the host system determines whether to store a region of the one or more transition layer tables in the host memory buffer based on the priority of the region. 11. A non-volatile memory system comprising: a non-volatile memory; a host memory buffer interface; and a controller in communication with the non-volatile memory and the host memory buffer interface, the controller configured to: receive information from a host system identifying a file stored in the non-volatile memory that the host system will read data from; identify, based on the file identified in the hint information, a portion of a transition layer table (FTL table) stored in the non-volatile memory that include at least a portion of logical block addresses where data of the file identified in the information is stored are mapped to physical blocks addresses of the non-volatile memory where data of the file is stored; send via the host memory buffer interface the portion of the FTL table to the host system for storage in a host memory buffer at the host system; and receive a host command from the host system that includes one or more physical block addresses at the non-volatile memory system storing data of the file, the host command including an instruction to read data from the one or more physical block addresses. 12. The non-volatile memory system of claim 11 , wherein the information from the host system identifying the file is stored in payload data of a second host command. 13. The non-volatile memory system of claim 11 , wherein the information from the host system identifying the file is stored in metadata received from the host system. 14. A method comprising: determining, with a processor of a host system, whether the host system has initiated a procedure that will send a command to a non-volatile memory system; analyzing, with the processor, at least one of metadata or payload data associated with the command to determine whether the processor is able to generate hint information associated with the at least one of metadata or payload data; generating, with the processor, hint information based on the analysis of the at least one of metadata or payload data, the hint information indicating a file stored at the non-volatile memory system that the host system will read data from; sending, with the processor, the hint information to the non-volatile memory system; receiving, with the processor, a transition layer table (FTL table) from the non-volatile memory system after sending the hint information, the FTL table mapping logical block addresses where data of the file is stored to physical block addresses of the non-volatile memory system where data of the file is stored; storing, with the processor, the FTL table in a host memory buffer of the host system; accessing, with the processor, the FTL table in the host memory buffer to obtain at least a portion of the physical block addresses of the non-volatile memory system where data of the file is stored; and sending, with the processor, a host command to the non-volatile memory system comprising an instruction to read data from one or more specific physical block addresses at the non-volatile memory system storing data of the file, where the one or more specific physical block addresses are specified in the host command. 15. The method of claim 14 , wherein the hint information comprises an indication for the non-volatile memory system of a sequence of logical block addresses that is associated with a read command that the host system will subsequently send to the non-volatile memory system. 16. The method of claim 14 , wherein sending the hint information to the non-volatile memory system comprises sending the hint information to the non-volatile memory system as part of sending a host command to the non-volatile memory system. 17. The method of claim 16 , wherein the hint information is stored in payload data of the host command. 18. The method of claim 14 , wherein an application running on the processor that is not part of an operating system of the host system determines whether the host system has initiated the procedure that will send the command to the non-volatile memory system. 19. A non-volatile memory system comprising: a non-volatile memory; a host memory buffer interface; means for receiving information from a host system identifying a file stored in the non-volatile memory that the host system will read data from; means for identifying, based on the file identified in the hint information, a portion of a transition layer table (FTL table), stored in the

Assignees

Inventors

Classifications

  • G06F3/064Primary

    Management of blocks · CPC title

  • at area level, e.g. provisioning of virtual or logical volumes · CPC title

  • Physics · mapped topic

  • Virtualized environment, e.g. logically partitioned system · CPC title

  • in block erasable memory, e.g. flash memory · 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 US10007433B2 cover?
Systems and methods for performing adaptive host memory buffer caching of transition layer tables (FTL tables) are disclosed. In one form a non-volatile memory system receives, in conjunction with receiving a first host command from a host system, hint information from the host system identifying a file stored at the non-volatile memory system that the host system will read data from. The non-v…
Who is the assignee on this patent?
Sandisk Technologies Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/064. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 26 2018 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).