Method and system for reading data during control sync operations

US10732896B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10732896-B2
Application numberUS-201815949036-A
CountryUS
Kind codeB2
Filing dateApr 9, 2018
Priority dateJun 12, 2017
Publication dateAug 4, 2020
Grant dateAug 4, 2020

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 apparatus for optimizing read operations during a control sync operation on a data storage device are disclosed. The data storage device contains a management table used for mapping memory addresses to a non-volatile memory. A control sync operation makes a copy of the management table to the non-volatile memory. The control sync operation is non-blocking—the sync operation allows read and write operations in parallel with making a copy of or updating the management table. During the control sync operation, the read operations are optimized through a CUQ and an overlap range table. The CUQ may act as a temporary management table while also containing updates to be consolidated to the management table. The overlap range table is used to allow skipping searches within the CUQ by identifying then mapping entries that reside within CUQ.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, in a controller including a flash translation layer (FTL) and one or more management tables coupled to a non-volatile memory, comprising: maintaining a control update queue (CUQ) and an overlap range table comprising recent access information to the non-volatile memory; receiving a read request and checking if an update of the one or more management tables in non-volatile memory is ongoing; reading data from the non-volatile memory using the overlap range table and the CUQ if the update of the one or more management tables is ongoing; and evicting control updates in response to receiving an indication that the update of the one or more management tables has been stored in the non-volatile memory. 2. The method of claim 1 , wherein the update of the one or more management tables in the non-volatile memory is part of a non-blocking control sync operation. 3. The method of claim 2 , further comprising evacuating the CUQ after a non-blocking control sync operation and after updating these entries in the one or more management tables. 4. The method of claim 3 , further comprising performing flash management functions. 5. The method of claim 4 , wherein the flash management functions comprise logical to physical address mapping, even-wear leveling, garbage collection, and write amplification. 6. The method of claim 1 , further comprising: identifying an address value of the read request in the overlap range table; and either: locating, in response to the identifying the address value of the read request in the overlap range table, a physical address of the read request in the CUQ; or in case where the address is not identified in the overlap range table, locating the physical address of the read request from other memory management tables. 7. The method of claim 6 , wherein the CUQ includes a list of logical to physical mapping pairs, according to recent updates ordered chronologically by the FTL. 8. The method of claim 6 , wherein the overlap range table includes a list of address values of recent accesses to the non-volatile memory allowing efficient LBA range searches. 9. The method of claim 6 , wherein the overlap range table includes an indication flag that an entry exists in the CUQ and optionally further includes a pointer to the relevant CUQ entry. 10. The method of claim 1 , wherein while the controller writes one or more management tables to flash, the tables are not updated. 11. The method of claim 10 , further comprising sending the read data to a host device. 12. A system, comprising: a non-volatile memory; an FTL; one or more management tables; and at least one controller coupled to the non-volatile memory, the at least one controller configured to check an overlap range table for a read address value and evict control updates in response to receiving an indication that an update of the one or more management tables has been stored in the non-volatile memory. 13. The system of claim 12 , wherein the at least one controller is configured to read data from the non-volatile memory using the overlap range table and a CUQ while one or more management tables are updated. 14. The system of claim 13 , wherein the at least one controller is configured to check the overlap range table for a read address value in response to receiving a read request. 15. The system of claim 14 , wherein the at least one controller locates a physical address corresponding to the read address value and wherein the physical address value is in the CUQ in response to logical address is found in overlap table. 16. The system of claim 15 , wherein the at least one controller retrieves the data using the physical address from the CUQ. 17. The system of claim 16 , wherein the at least one controller is configured to return the data to a host device. 18. The system of claim 12 , wherein the at least one controller is further configured to identify an address value of a read request in the overlap range table, wherein the at least one controller tries to locate, in response to identifying the address value of the read request in an overlap range table, a physical address of the read request in a CUQ; and in case where the address is not identified in the overlap range table or not found within the CUQ, locate the physical address of the read request from other memory management tables. 19. A system, comprising: a non-volatile memory; an FTL; one or more management tables; means to receive an indication that an update of the one or more management tables has been stored in the non-volatile memory; and means to evict control updates in response to receiving the indication. 20. The system of claim 19 , further comprising means to automatically evict the control updates. 21. The system of claim 20 , further comprising means to initiate a control sync operation. 22. A device, comprising: a controller configured to: identify an address value of a read request in an overlap range table; and either: locate, in response to the identifying the address value of the read request in the overlap range table, a physical address of the read request in a CUQ; or in case where the address is not identified in the overlap range table, locate the physical address of the read request from other memory management tables; and evict control updates in response to receiving an indication that an update of one or more management tables has been stored in non-volatile memory. 23. The device of claim 22 , wherein the controller is further configured to initiate a control sync operation. 24. The device of claim 23 , wherein the controller is further configured to write mapping tables to non-volatile memory during the control sync operation. 25. The device of claim 23 , wherein the controller is configured to not update the management tables during the control sync operation. 26. The device of claim 23 , wherein the control sync operation is done in a non-blocking manner, so that new host write operations are being processed, and new updates to the management table need to be stored. 27. The device of claim 23 , wherein new updates to the management table during the control sync operation are stored in the CUQ, and a matching entry is also added to the overlap range table. 28. The device of claim 22 , wherein the controller is further configured to evict data from the CUQ after a control sync operation. 29. The device of claim 22 , wherein the controller is further configured to retrieve data of the read request from non-volatile memory using the physical address located in the CUQ. 30. A device, comprising: a non-volatile memory device; means for mapping physical addresses; means to receive a read request during an update of the means for mapping physical addresses during a non-blocking control sync; means to read data from the non-volatile memory using a temporary means for mapping physical addresses during the update of the means for mapping physical addresses during the non-blocking control sync; and means to evict control updates in response to receiving an indication that an update of one or more management tables has been stored in the non-volatile memory device. 31. The device of claim 30 , further comprising: means to identify a means for identifying physical addresses of the r

Assignees

Inventors

Classifications

  • in relation to response time · CPC title

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

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

  • Latency reduction · 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 US10732896B2 cover?
A method and apparatus for optimizing read operations during a control sync operation on a data storage device are disclosed. The data storage device contains a management table used for mapping memory addresses to a non-volatile memory. A control sync operation makes a copy of the management table to the non-volatile memory. The control sync operation is non-blocking—the sync operation allows …
Who is the assignee on this patent?
Western Digital Tech 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 Aug 04 2020 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).