Stream classification based on logical regions
US-10877691-B2 · Dec 29, 2020 · US
US11709596B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11709596-B2 |
| Application number | US-202017025306-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 18, 2020 |
| Priority date | Mar 26, 2020 |
| Publication date | Jul 25, 2023 |
| Grant date | Jul 25, 2023 |
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.
Techniques involve: selecting a stream from a plurality of streams having respective update frequencies, the update frequency of the selected stream matching an update frequency of to-be-written data; determining a label of the data based on a label of the selected stream; and sending a write request for the data to a storage system, the write request comprising the label of the data, so that the storage system performs a write operation for the data based on the stream identified by the label. Accordingly, a write amplification factor can be reduced, thereby increasing the effective life of a storage device and improving read and write performance of the storage system.
Opening claim text (preview).
The invention claimed is: 1. A method for data storage, comprising: selecting a stream from a plurality of streams having respective update frequencies, the update frequency of the selected stream matching an update frequency of to-be-written data, wherein a total number of streams in the plurality of streams is equal to a total number of streams supported by a solid state storage device; determining a label of the data that both i) is a label of the selected stream and ii) indicates one of a plurality of update frequency levels, wherein a total number of update frequency levels in the plurality of update frequency levels is equal to the total number of streams in the plurality of streams, wherein each update frequency level corresponds to a respective one of a plurality of types of metadata; and sending a write request for the data to a storage drive, at least in part by a file system setting a field of a block buffer that stores the data to the label of the data, so that the storage drive stores a stream identifier corresponding to the stream identified by the label of the data into the field of the block buffer and then sends the write request to the solid state storage device to cause the solid state storage device to perform a write operation for the data based on the stream identified by the stream identifier. 2. The method of claim 1 , wherein the data comprises metadata, and selecting the stream from the plurality of streams comprises: selecting the stream based on a type of the metadata, wherein the type of the metadata is associated with an update frequency of the metadata. 3. The method of claim 2 , wherein selecting the stream from the plurality of streams comprises: selecting a first stream in the plurality of streams as the stream in response to determination that the type of the metadata is a journal; selecting a second stream in the plurality of streams as the stream in response to determination that the type of the metadata is a virtual block mapping (VBM); selecting a third stream in the plurality of streams as the stream in response to determination that the type of the metadata is an indirect block (IB); and selecting a fourth stream in the plurality of streams as the stream in response to determination that the type of the metadata is a superblock, a bitmap, or a per-block metadata (BMD). 4. The method of claim 1 , wherein the storage drive comprises a fast non-volatile memory (NVMe) storage drive. 5. The method of claim 1 , wherein each update frequency level has a single corresponding one of the plurality of streams. 6. The method of claim 1 , wherein the stream identifier is one of a plurality of stream identifiers; wherein a total number of stream identifiers in the plurality of stream identifiers is equal to the total number of streams in the plurality of streams; and wherein a total number of update frequency levels in the plurality of update frequency levels is equal to the total number of streams in the plurality of streams. 7. The method of claim 6 , further comprising: classifying individual types of metadata into the plurality of update frequency levels, based on update frequencies of the individual types of metadata, wherein each individual type of metadata is classified into one of the update frequency levels in the plurality of update frequency levels. 8. An electronic device, comprising: a processor; and a memory coupled to the processor and comprising instructions stored thereon, wherein when executed by the processor, the instructions cause the electronic device to perform actions comprising: selecting a stream from a plurality of streams having respective update frequencies, the update frequency of the selected stream matching an update frequency of to-be-written data, wherein a total number of streams in the plurality of streams is equal to a total number of streams supported by a solid state storage device; determining a label of the data that both i) is a label of the selected stream and ii) indicates one of a plurality of update frequency levels, wherein a total number of update frequency levels in the plurality of update frequency levels is equal to the total number of streams in the plurality of streams, wherein each update frequency level corresponds to a respective one of a plurality of types of metadata; and sending a write request for the data to a storage drive, at least in part by a file system setting a field of a block buffer that stores the data to the label of the data, so that the storage drive stores a stream identifier corresponding to the stream identified by the label of the data into the field of the block buffer and then sends the write request to the solid state storage device to cause the solid state storage device to perform a write operation for the data based on the stream identified by the label. 9. The electronic device of claim 8 , wherein the data comprises metadata, and selecting the stream from the plurality of streams comprises: selecting the stream based on a type of the metadata, wherein the type of the metadata is associated with an update frequency of the metadata. 10. The electronic device of claim 9 , wherein selecting the stream from the plurality of streams comprises: selecting a first stream in the plurality of streams as the stream in response to determination that the type of the metadata is a journal; selecting a second stream in the plurality of streams as the stream in response to determination that the type of the metadata is a virtual block mapping (VBM); selecting a third stream in the plurality of streams as the stream in response to determination that the type of the metadata is an indirect block (IB); and selecting a fourth stream in the plurality of streams as the stream in response to determination that the type of the metadata is a superblock, a bitmap, or a per-block metadata (BMD). 11. The electronic device of claim 8 , wherein the storage drive comprises a fast non-volatile memory (NVMe) storage drive. 12. A computer program product having a non-transitory computer readable medium which stores a set of instructions to perform data storage; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of: selecting a stream from a plurality of streams having respective update frequencies, the update frequency of the selected stream matching an update frequency of to-be-written data, wherein a total number of streams in the plurality of streams is equal to a total number of streams supported by a solid state storage device; determining a label of the data that both i) is a label of the selected stream, and ii) indicates one of a plurality of update frequency levels, wherein a total number of update frequency levels in the plurality of update frequency levels is equal to the total number of streams in the plurality of streams, wherein each update frequency level corresponds to a respective one of a plurality of types of metadata; and sending a write request for the data to a storage drive, at least in part by a file system setting a field of a block buffer that stores the data to the label of the data, so that the storage drive stores a stream identifier corresponding to the stream identified by the label of the data into the field of the block buffer and then sends the write request to the solid state storage device to cause the solid state storage device to perform a write operation for the data based on the stream identified by the label. 13. The computer program of claim 12 , wherein the data comprises metadata, and selecting the stream from the plurality of streams comp
Improving I/O performance · CPC title
Management of blocks · CPC title
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
Garbage collection, i.e. reclamation of unreferenced memory · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.