Dynamic reserve capacity in storage systems
US-2024354015-A1 · Oct 24, 2024 · US
US12561065B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12561065-B2 |
| Application number | US-202418736861-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 7, 2024 |
| Priority date | Jun 7, 2024 |
| Publication date | Feb 24, 2026 |
| Grant date | Feb 24, 2026 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
in relation to life time, e.g. increasing Mean Time Between Failures [MTBF] · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.