Storage system and method for automatic defragmentation of memory

US11520695B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11520695-B2
Application numberUS-202117215898-A
CountryUS
Kind codeB2
Filing dateMar 29, 2021
Priority dateMar 2, 2021
Publication dateDec 6, 2022
Grant dateDec 6, 2022

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 storage system determines whether its memory is fragmented (e.g., based on a host read pattern that indicates that a sequential file is being read, but the number of data sense operations required to perform this read indicates that file is stored non-sequentially in the memory). If the storage system determines that its memory is fragmented, the storage system can perform a defragmentation operation on the memory. This defragmentation operation can be done invisibly to the host (i.e., without receiving any hint or instruction from the host to perform the defragmentation operation).

First claim

Opening claim text (preview).

What is claimed is: 1. A storage system comprising: a memory; an interface configured to communicate with a host; and a controller configured to communicate with the memory and the interface and further configured to: determine whether an area of the memory is fragmented based on a number of data sense operations required to perform a host read of the area of the memory; and in response to determining that the area of the memory is fragmented, determine whether a defragmentation operation is permitted during the host read based on a ratio of host reads and defragmentation operations; and in response to determining that the defragmentation operation is permitted during the host read, perform the defragmentation operation on the area of the memory during the host read, wherein the defragmentation operation is performed without receiving an instruction from the host to perform the defragmentation operation. 2. The storage system of claim 1 , wherein the controller is configured to perform the defragmentation operation autonomously without receiving a hint or instruction from the host to perform the defragmentation operation. 3. The storage system of claim 2 , wherein the controller is further configured to: determine whether the number of data sense operations required to read a page exceeds a threshold; and in response to determining that the number of data sense operations required to read the page operation exceeds the threshold, mark the page for defragmentation. 4. The storage system of claim 1 , wherein the controller is further configured to update the host with a new logical-to-physical address map that reflects a result of the defragmentation operation. 5. The storage system of claim 1 , wherein the controller is further configured to determining a frequency for performing defragmentation operations during host reads. 6. The storage system of claim 1 , wherein the controller is further configured to aggregate pages for defragmentation and perform the defragmentation operations for the aggregated pages during a garbage collection operation. 7. The storage system of claim 6 , wherein the controller is further configured to limit a number of the aggregated pages on which the defragmentation operations are performed. 8. The storage system of claim 6 , wherein the controller is further configured to generate a list of the aggregated pages and optimize the list using run length compression. 9. The storage system of claim 1 , wherein the controller is further configured to consider at least one of the following in determining whether to perform the defragmentation operation: a hot/cold classification of data stored in the memory, a number of bits stored per memory cell, an endurance impact caused by performing the defragmentation operation, and write amplification impact caused by performing the defragmentation operation. 10. The storage system of claim 1 , wherein the controller is further configured to disable automatic defragmentation in response to a program/erase count exceeding a threshold. 11. The storage system of claim 1 , wherein the controller is further configured to determine that the memory is fragmented in response to a host read pattern indicating that a group of logical block addresses belonging to a same file and residing sequentially on a host logical address range is being read but that data of this group of logical block addresses is stored non-sequentially in the memory. 12. The storage system of claim 1 , wherein the controller is further configured to determine whether the memory is fragmented on-the-fly without using an offline analysis. 13. The storage system of claim 1 , wherein the storage system is configured to be integrated in the host. 14. The storage system of claim 1 , wherein the memory comprises a three-dimensional memory. 15. In a storage system comprising a memory, a method comprising: determining whether an area of the memory is fragmented based on a host read pattern; and in response to determining that the area of the memory is fragmented, determining whether a defragmentation operation is permitted during a host read based on a ratio of host reads and defragmentation operations; and in response to determining that the defragmentation operation is permitted during the host read, performing the defragmentation operation on the area of the memory during the host read, wherein the defragmentation operation is performed without receiving an instruction from the host to perform the defragmentation operation. 16. The method of claim 15 , wherein the memory is determined to be fragmented when the host read pattern indicates a sequential or sequential portion of a file is being read but data of the file in stored non-sequentially in the memory. 17. The method of claim 15 , wherein the defragmentation operation is performed autonomously without receiving a hint or instruction from the host to perform the defragmentation operation. 18. The method of claim 15 , further comprising updating the host with a new logical-to-physical address map that reflects a result of the defragmentation operation. 19. The method of claim 15 , further comprising disabling automatic defragmentation in response to a program/erase count exceeding a threshold. 20. A storage system comprising: a memory; means for determining whether an area of the memory is fragmented based on a number of data sense operations required to perform a host read of the area of the memory; means for determining whether a defragmentation operation is permitted during the host read based on a ratio of host reads and defragmentation operations in response to determining that the area of the memory is fragmented; and means for performing the defragmentation operation on the area of the memory during the host read, wherein the defragmentation operation is performed without receiving an instruction from the host to perform the defragmentation operation in response to determining that the defragmentation operation is permitted during the host read.

Assignees

Inventors

Classifications

  • Details of free space management performed by the file system (saving storage space on storage systems G06F3/0608; management of blocks in storage devices G06F3/064) · CPC title

  • Space efficiency improvement · CPC title

  • Multiple device management, e.g. distributing data over multiple flash devices · CPC title

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

  • Performance improvement · 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 US11520695B2 cover?
A storage system determines whether its memory is fragmented (e.g., based on a host read pattern that indicates that a sequential file is being read, but the number of data sense operations required to perform this read indicates that file is stored non-sequentially in the memory). If the storage system determines that its memory is fragmented, the storage system can perform a defragmentation o…
Who is the assignee on this patent?
Western Digital Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0673. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 06 2022 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 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).