Storage deveice that garbage collects specific areas based on a host specified context

US11907569B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-11907569-B1
Application numberUS-202217948161-A
CountryUS
Kind codeB1
Filing dateSep 19, 2022
Priority dateSep 9, 2014
Publication dateFeb 20, 2024
Grant dateFeb 20, 2024

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 host stores “context” metadata for logical block addresses (LBAs) in a manner tied to physical location. Notwithstanding log-structured or copy on write processes, the host is then provided with immediate context when the host is called upon to assist a memory controller with data identified by physical location, for example, for memory reconfiguration, garbage collection, wear leveling or other processes. The metadata for example can provide the host with insight as to which data may be moved to enhance performance optimization and where that data can be placed. In one embodiment, the host writes back one or more references that span multiple layers of indirection in concert with write of the underlying data; in another embodiment, the context can point to other metadata.

First claim

Opening claim text (preview).

We claim: 1. A storage device comprising: flash memory having erase units, wherein the flash memory is to have one or more namespaces at a first hierarchical level, and groups of one or more of the erase units at a second hierarchical level; a host interface to receive a write request and, in association with the write request, a designation of a specified namespace of the one or more namespaces, write data, and an associated handle that indicates context for the write data; logic to cause the storage device to select one of the groups, dependent on the handle, the selected one of the groups being associated with the specified namespace, store the write data in the one or more erase units of the flash memory which are associated with the selected one of the groups, track write data validity information for the one or more erase units of flash memory which are associated with the selected one of the groups; and dependent on the validity information, perform garbage collection in a manner dedicated to the selected one of the groups; wherein, as part of garbage collection performed for the selected group, the logic is to cause the storage device to copy the write data to a destination erase unit of the flash memory, the destination erase unit being selected dependent on the associated handle; wherein the said logic comprises at least one of (1) instructional logic stored on a physical storage medium and (2) hardware logic. 2. The storage device of claim 1 , wherein the storage device is further to receive a query from a host, and wherein the logic is further to cause the storage device to process the query and responsively: identify the associated handle; and transmit to the host information representing the associated handle. 3. The storage device of claim 2 , wherein the information transmitted to the host explicitly identifies the associated handle. 4. The storage device of claim 1 , wherein the flash memory comprises address subspaces at a third hierarchical level, each of the groups of one or more of the erase units being associated with no more than one of the address subspaces. 5. The storage device of claim 4 , wherein the storage device is further to receive a request from a host to provide to the host information identifying a number of the address subspaces. 6. The storage device of claim 5 , wherein the information explicitly identifies a specific one of the address subspaces. 7. The storage device of claim 5 , wherein the storage device is further to receive address information with the write request, and wherein the logic is further to cause the storage device to responsively: derive a first portion from the address information, and identify from the first portion the specific namespace; perform one or more operations to subdivide the address information and identify therefrom a second portion and a third portion; and identify a specific one of the address subspaces from the second portion. 8. The storage device of claim 1 , wherein the logic is further to cause the storage device to store metadata for the selected one of the groups, the metadata representing a time associated with the selected one of the groups. 9. The storage device of claim 8 , wherein the storage device is further to receive a request from the host for status information associated with the groups, and wherein the logic is further to cause the storage device to responsively: identify the status information from the metadata; and transmit the status information to the host. 10. The storage device of claim 8 , wherein the time is associated with programming of the write data into the flash memory. 11. The storage device of claim 8 , wherein the time is associated with an amount of time since data was programmed. 12. The storage device of claim 1 , wherein the logic is further to cause the storage device to store metadata for the selected group, the metadata representing an extent to which additional write data can be programmed into the one or more erase units of flash memory which are associated with the selected one of the groups without erasure of the one or more erase units. 13. The storage device of claim 1 , wherein the storage device is further to receive, from a host, a request, and wherein the logic is further to cause the storage device to responsively: identify a size corresponding to the selected one of the groups; and transmit to a host information representing the size corresponding to the selected one of the groups. 14. The storage device of claim 13 , wherein the amount of storage space exactly corresponds to a non-power of two number of storage locations in the flash memory. 15. The storage device of claim 13 , wherein the size corresponds to a maximum writeable capacity corresponding to the selected one of the groups. 16. The storage device of claim 1 , wherein the flash memory comprises planes, and wherein at least one of the groups comprises erase units on different ones of the planes. 17. The storage device of claim 1 , wherein the logic is further to cause the storage device to track an extent to which additional write data can be programmed into the one or more erase units of flash memory which are associated with the selected one of the groups without erasure of the one or more erase units. 18. The storage device of claim 17 , wherein the storage device is further to receive a request, and wherein the logic is to further cause the storage device to responsively: identify the extent to which additional write data can be programmed into the one or more erase units of flash memory which are associated with the selected one of the groups without erasure of the one or more erase units; and transmit to a host information representing the extent to which additional write data can be programmed into the one or more erase units of flash memory which are associated with the selected one of the groups without erasure of the one or more erase units. 19. The storage device of claim 1 , wherein: the one or more groups include two groups, including the selected one of the groups and another group; the logic is further to cause the storage device to: track metadata for each of the two groups, and to transmit to the host status information for each of the two groups, dependent on the metadata; receive at least one command relating to performance of garbage collection that causes the storage device to perform said garbage collection for the selected one of the groups in a manner triggered by the host; and the at least one command causes the time to be selectively different for flash memory associated with the selected group relative to flash memory associated with the other of the two groups. 20. The storage device of claim 1 , wherein the logic is further to cause the storage device to: store a value that represents a size corresponding to the selected one of the groups; track metadata for each corresponding one of the groups, wherein the metadata for each corresponding one of the groups represents an extent to which the corresponding one of the groups can continue to receive writeable data without erasure; receive a maintenance command from a host, wherein the maintenance command specifies the selected one of the groups; and perform maintenance, responsive to the maintenance command, a which changes the extent the corresponding one of the groups can continue to receive writeable data without erasure of the one or more erase units corresponding to the selected one of the groups.

Assignees

Inventors

Classifications

  • G06F3/0655Primary

    Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices · CPC title

  • Improving I/O performance · CPC title

  • Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title

  • G06F3/0685Primary

    Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays · CPC title

  • in relation to life time, e.g. increasing Mean Time Between Failures [MTBF] · 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 US11907569B1 cover?
A host stores “context” metadata for logical block addresses (LBAs) in a manner tied to physical location. Notwithstanding log-structured or copy on write processes, the host is then provided with immediate context when the host is called upon to assist a memory controller with data identified by physical location, for example, for memory reconfiguration, garbage collection, wear leveling or ot…
Who is the assignee on this patent?
Radian Memory Systems Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0655. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 20 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).