Providing endurance to solid state device storage via querying and garbage collection

US12561065B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12561065-B2
Application numberUS-202418736861-A
CountryUS
Kind codeB2
Filing dateJun 7, 2024
Priority dateJun 7, 2024
Publication dateFeb 24, 2026
Grant dateFeb 24, 2026

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 technique provides endurance to solid state device (SSD) storage. Such a technique involves querying the SSD storage for locations which are about to be refreshed by the SSD storage. Such a technique further involves identifying storage objects that include the locations which are about to be refreshed in response to querying the SSD storage. Such a technique further involves, prior to the locations which are about to be refreshed being refreshed by the SSD storage, garbage collecting at least some of the identified storage objects to increase endurance of the SSD storage.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method of providing endurance to solid state device (SSD) storage, the method comprising: querying the SSD storage for locations which are about to be refreshed by the SSD storage; identifying storage objects that include the locations which are about to be refreshed in response to querying the SSD storage; and prior to the locations which are about to be refreshed being refreshed by the SSD storage, garbage collecting at least some of the identified storage objects to increase endurance of the SSD storage; wherein querying the SSD storage includes: sending a query command to a SSD which forms at least some of the SSD storage, and receiving a set of addresses from the SSD in response to sending the query command. 2 . The method of claim 1 wherein sending the query command to the SSD includes: providing, as part of the query command, a time parameter identifying an amount of time. 3 . The method of claim 2 wherein receiving the set of addresses from the SSD includes: acquiring, as the set of addresses from the SSD, a set of logical block addresses (LBAs) which the SSD maps to a set of physical blocks that are scheduled to be refreshed via SSD internal garbage collection within the amount of time identified by the time parameter. 4 . The method of claim 1 wherein the SSD storage includes SSDs; wherein the storage objects are physical large blocks (PLBs) formed by segments of the SSDs; wherein a table descriptor table includes PLB descriptors corresponding to the PLBs formed by the segments of the SSDs; and wherein identifying the storage objects includes: translating the locations which are about to be refreshed to PLBs which include the locations which are about to be refreshed, and updating particular PLB descriptors of the PLB descriptor table with upcoming refresh times in response to querying the SSD storage, the particular PLB descriptors corresponding to the PLBs which include the locations which are about to be refreshed. 5 . The method of claim 4 wherein identifying the storage objects further includes: after the particular PLB descriptors of the PLB descriptor table are updated, computing refresh scores for the PLB descriptors of the PLB descriptor table based on the upcoming refresh times. 6 . The method of claim 5 wherein identifying the storage objects further includes: after the refresh scores for the PLB descriptors of the PLB descriptor table are computed, queuing a set of PLBs for garbage collection based on the refresh scores for the PLB descriptors. 7 . The method of claim 1 wherein the SSD storage includes SSDs; wherein the storage objects are physical large blocks (PLBs) formed by segments of the SSDs; wherein garbage collecting at least some of the identified storage objects includes: performing system-level garbage collection on PLBs which include the locations which are about to be refreshed. 8 . The method of claim 7 wherein the SSDs include mapped segments which are scheduled to be refreshed and unmapped segments where are not scheduled to be refreshed; and wherein performing system-level garbage collection on the PLBs includes: reading data from at least some of the mapped segments which are scheduled to be refreshed, and writing the data to at least some of the unmapped segments which are not scheduled to be refreshed. 9 . The method of claim 8 wherein reading the data from at least some of the mapped segments which are scheduled to be refreshed includes: reading the data from a first number of SSD locations; and wherein writing the data to at least some of the unmapped segments which are not scheduled to be refreshed includes: writing the data to a second number of SSD locations, the second number being less than the first number. 10 . The method of claim 7 wherein the SSDs include mapped segments which are scheduled to be refreshed; and wherein performing system-level garbage collection on the PLBs includes: reading data from at least some of the mapped segments which are scheduled to be refreshed, the at least some of the mapped segments being scheduled to be refreshed at an upcoming refresh time, and the data being read from the at least some of the mapped segments prior to the upcoming refresh time. 11 . The method of claim 10 , further comprising: prior to the upcoming refresh time, sending unmap commands to the SSDs to prevent the at least some of the mapped segments from being refreshed at the upcoming refresh time. 12 . The method of claim 1 wherein garbage collecting at least some of the identified storage objects includes: based on refresh time information obtained in response to querying the SSD storage, generating refresh scores that correspond to the identified storage objects. 13 . The method of claim 12 wherein a system-level garbage collection service is constructed and arranged to perform system-level garbage collection on storage objects based on storage object identifiers residing in a set of queues; wherein the system-level garbage collection service is currently in an active state; and wherein garbage collecting at least some of the identified storage objects further includes: in response to particular refresh scores corresponding to particular storage objects being lower than a predefined refresh score threshold, placing storage object identifiers corresponding to the particular storage objects in the set of queues to direct the system-level garbage collection service to garbage collect the particular storage objects based on the storage object identifiers placed in the set of queues. 14 . The method of claim 12 wherein a system-level garbage collection service is constructed and arranged to perform system-level garbage collection on storage objects based on storage object identifiers residing in a set of queues; wherein the system-level garbage collection service is currently in an idle state; and wherein garbage collecting at least some of the identified storage objects further includes: in response to particular refresh scores corresponding to particular storage objects being lower than a predefined refresh score threshold, placing storage object identifiers corresponding to the particular storage objects in the set of queues and transitioning the system-level garbage collection service from the idle state to an active state to direct the system-level garbage collection service to garbage collect the particular storage objects based on the storage object identifiers placed in the set of queues. 15 . Data storage equipment, comprising: memory; and control circuitry coupled to the memory, the memory storing instructions which, when carried out by the control circuitry, cause the control circuitry to perform a method of: querying solid state device (SSD) storage for locations which are about to be refreshed by the SSD storage; identifying storage objects that include the locations which are about to be refreshed in response to querying the SSD storage; and prior to the locations which are about to be refreshed being refreshed by the SSD storage, garbage collecting at least some of the identified storage objects to increase endurance of the SSD storage; wherein querying the SSD storage includes: sending a query command to a SSD which forms at least some of the SSD storage, and receiving a set of addresses from the SSD in response to sending the query command. 16 . The data storage equipment of claim 15 wherein the SSD storage includes SSDs; wherein the storage objects are physical large blocks (PLBs) f

Assignees

Inventors

Classifications

  • G06F3/0659Primary

    Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

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

  • G06F3/0616Primary

    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 US12561065B2 cover?
A technique provides endurance to solid state device (SSD) storage. Such a technique involves querying the SSD storage for locations which are about to be refreshed by the SSD storage. Such a technique further involves identifying storage objects that include the locations which are about to be refreshed in response to querying the SSD storage. Such a technique further involves, prior to the lo…
Who is the assignee on this patent?
Dell Products Lp
What technology area does this patent fall under?
Primary CPC classification G06F3/0659. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 24 2026 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 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).