Method, device and computer program for data storage

US11709596B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11709596-B2
Application numberUS-202017025306-A
CountryUS
Kind codeB2
Filing dateSep 18, 2020
Priority dateMar 26, 2020
Publication dateJul 25, 2023
Grant dateJul 25, 2023

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.

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.

First claim

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

Assignees

Inventors

Classifications

  • G06F3/061Primary

    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

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 US11709596B2 cover?
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 t…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/061. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 25 2023 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 11 related publications on this page (citations in our corpus or others sharing the same primary CPC).