TECHNIQUES FOR BALANCING WRITE COMMANDS ON SOLID STATE STORAGE DEVICES (SSDs)
US-2022326877-A1 · Oct 13, 2022 · US
US12360692B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12360692-B2 |
| Application number | US-202318447738-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 10, 2023 |
| Priority date | Jun 27, 2023 |
| Publication date | Jul 15, 2025 |
| Grant date | Jul 15, 2025 |
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.
Systems, methods, and data storage devices for dynamic mode selection for hybrid MLC/SLC data storage devices are described. Storage operations at a plurality of storage devices from a host device may be processed, wherein each storage device of the plurality of storage devices comprises a plurality of partitions including multi-level cell blocks and single-level cell blocks and multi-level cell blocks may be selectively written in a single-level write operation. A usage value is determined for each partition of the plurality of partitions at each storage device of the plurality of storage devices. A storage device of the plurality of storage devices may be dynamically selected based on the usage value for single-level cell blocks of the selected storage device having available single level cell blocks. New data may then be stored at the dynamically selected storage device of the plurality of storage devices.
Opening claim text (preview).
The invention claimed is: 1. A system comprising: at least one host processor configured to, alone or in combination: process a plurality of storage operations at a plurality of storage devices, wherein: each storage device of the plurality of storage devices comprises a host interface configured to receive host data requests for a plurality of partitions in that storage device; each partition of the plurality of partitions comprises at least one memory device of a type selected from: a multi-level cell memory device; and a single-level cell memory device; single-level cell memory devices are configured to be written in a single-level erase block for each single-level cell block; and multi-level memory devices are configured to be selectively written in a write operation selected from: a multi-level erase block for each multi-level cell block; and a single-level erase block for each multi-level cell block that writes to a single level of that multi-level memory device; receive, from each storage device of the plurality of storage devices and through the host interface of that storage device, a usage value for single-level cell memory devices of that storage device; dynamically select a storage device of the plurality of storage devices based on the usage value for single-level cell memory devices of the selected storage device indicating a plurality of available single-level cell memory devices; and store new data at the selected storage device of the plurality of storage devices for an operating period, wherein the dynamically selected storage device is configured to store new data in excess of the plurality of available single-level cell memory devices received during the operating period as single-level erase blocks in multi-level cell memory devices. 2. The system of claim 1 , wherein the usage value is determined from a set of indicators provided through the host interface and including: a single-level cell memory device partition usage indicator; a single-level cell blocks written to multi-level cell memory devices partition usage indicator; and a multi-level cell memory device partition usage indicator. 3. The system of claim 1 , wherein the at least one host processor is further configured to, alone or in combination: determine, based on the usage value, a partition usage period for single-level cell memory devices of the selected storage device; and detect an increase in storage operations over the partition usage period. 4. The system of claim 1 , wherein the at least one host processor is further configured to, alone or in combination: set, through the host interface of the selected storage device, a partition usage threshold value; and receive, through the host interface of the selected storage device, a notification responsive to the selected storage device detecting an increase in storage operations corresponding to the partition usage threshold value. 5. The system of claim 4 , wherein the at least one host processor is further configured to, alone or in combination: determine, based on the increase in storage operations at the selected storage device, another storage device of the plurality of storage devices having another plurality of available single-level cell memory devices; and cause, based on the increase in storage operations at the selected storage device, new storage operations to be performed at the another storage device during the operating period. 6. The system of claim 1 , wherein the dynamically selected storage device is selected from the plurality of storage devices based on the usage value for single-level cell memory devices of the selected storage device having a highest number of available single-level cell memory devices. 7. The system of claim 1 , wherein the at least one host processor is further configured to, alone or in combination, configure a data write mode associated with the selected storage device to write data at one or more addresses of the plurality of available single-level cell memory devices. 8. The system of claim 1 , wherein multi-level cell blocks comprise at least two bits per cell. 9. The system of claim 1 , wherein the at least one host processor is further configured to, alone or in combination: set, through the host interface of the selected storage device, an internal data movement policy; set, through the host interface of the selected storage device, a usage reporting event trigger; and receive, responsive to internal data movement in the selected storage device resulting in a change in usage values, a notification of the change in usage values responsive to the usage reporting event trigger. 10. The system of claim 1 , wherein the at least one host processor is further configured to, alone or in combination: initialize each storage device of the plurality of storage devices; establish, responsive to initializing each storage device, a partition usage interface through the host interface of each storage device; set, through the partition usage interface, at least one partition usage monitoring parameter selected from: a partition usage value; a partition usage threshold value; a partition usage period value; a policy for handling a substantial change in partition usage; a notification type; and a reporting period; determine, responsive to each storage device being initialized and based on the storage operations sent to the selected storage device, a current partition usage value for each partition of the selected storage device; determine that at least one of the current partition usage values for the partitions of the selected storage device meets a partition usage threshold value; dynamically select a second storage device of the plurality of storage devices based on the usage value for single-level cell memory devices of the selected second storage device indicating a second plurality of available single-level cell memory devices; and store additional new data at the selected second storage device during a next operating period. 11. A computer-implemented method, comprising: processing, by a host device, a plurality of storage operations at a plurality of storage devices, wherein: each storage device of the plurality of storage devices comprises a host interface configured to receive host data requests for a plurality of partitions in that storage device; each partition of the plurality of partitions comprises at least one memory device of a type selected from: a multi-level cell memory device; and a single-level cell memory device; single-level cell memory devices are configured to be written in a single-level erase block for each single-level cell block; and multi-level memory devices are configured to be selectively written in a write operation selected from: a multi-level erase block for each multi-level cell block; and a single-level erase block for each multi-level cell block that writes to a single level of that multi-level memory device; receiving, from each storage device of the plurality of storage devices and through the host interface of that storage device, a usage value for single-level cell memory devices of that storage device; dynamically selecting a storage device of the plurality of storage devices based on the usage value for single-level cell memory devices of the selected storage device indicating a plurality of available single-level cell memory devices; and storing new data at the selected storage device of the plurality of storage devices for an operating period, wherein new data in excess of the plurality of available single-level cell memory devices received during the operating period is stored as single-level erase block
Improving or facilitating administration, e.g. storage management · CPC title
Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays · CPC title
Management of space entities, e.g. partitions, extents, pools · CPC title
by changing the state or mode of one or more devices · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.