Storage systems with adaptive erasure code generation

US9292384B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9292384-B2
Application numberUS-201314125297-A
CountryUS
Kind codeB2
Filing dateAug 5, 2013
Priority dateAug 5, 2013
Publication dateMar 22, 2016
Grant dateMar 22, 2016

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.

Apparatuses, methods and storage medium associated with generating erasure codes for data to be stored in a storage system. In embodiments, a method may include launching, by storage system, a plurality of instances of an erasure code generation module, based at least in part on hardware configuration of the storage system. Additionally, the method may further include setting, by the storage system, operational parameters of the plurality of instances of the erasure code generation module, based at least in part on current system load of the storage system. Further, the method may include operating, by the storage system, the plurality of instances of the erasure code generation module to generate erasure codes for data to be stored in the storage system, in accordance with the operational parameters set. Other embodiments may be described and claimed.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus for storing data, comprising: a plurality of computer-storage nodes, wherein each computer-storage node includes at least one processor and at least one storage unit; an erasure code generation module to generate erasure codes for data to be stored across a plurality of the storage units of the computer-storage nodes; and a dispatch engine to: launch one or more execution threads of the erasure code generation module to be operated in parallel by one or more processors of the computer-storage nodes to generate the erasure codes for data to be stored across a plurality of the storage units of the computer-storage nodes, wherein the number of execution threads of the erasure code generation module launched is based at least in part on hardware configuration of the computer-storage nodes; and set one or more erasure code parameters for the plurality of execution threads of the erasure code generation module, wherein the one or more erasure code parameters are set based at least in part on current system workload of the computer-storage nodes. 2. The apparatus of claim 1 , wherein at least one of the processors comprises a plurality of processor cores. 3. The apparatus of claim 1 wherein the dispatch engine is to further retrieve the hardware configuration of the computer-storage nodes. 4. The apparatus of claim 1 , wherein the dispatch engine is to further receive, information about the current system workload. 5. The apparatus of claim 4 , further comprising a system workload monitor to monitor system workload, and provide information about current system workload to the dispatch engine. 6. The apparatus of claim 1 , wherein the one or more execution threads of the erasure code module are to cooperate and generate in parallel at least a first and a second parity of an erasure code from at least a first, a second and a third data block, and respectively store the first parity and the second parity at a first and a second storage units of a first and a second of the computer-storage nodes, with the first data block, the third data block, and the second data block respectively stored in a third, a fourth, and a fifth storage unit of a third, a fourth and a fifth of the computer-storage nodes. 7. One or more non-transitory computer-readable storage medium having a plurality of instructions, in response to execution of the instructions by a storage system, to cause a storage system to: launch a plurality of execution threads of an erasure code generation module to be executed in parallel to generate erasure codes for data to be stored across a plurality of the storage units of the computer-storage nodes, wherein the launching is based at least in part on hardware configuration of the storage system; set one or more erasure code parameters for the plurality of execution threads of the erasure code generation module, wherein the setting is based at least in part on current system workload of the storage system; and operate, the plurality of execution threads of the erasure code generation module to generate the erasure codes for data to be stored across the storage system, in accordance with the erasure code parameters set. 8. The storage medium of claim 7 , wherein the storage system is a scale out storage system having a plurality of computer-storage nodes, wherein at least one of the computer-storage nodes includes a microprocessor having a plurality of processor cores. 9. The storage medium of claim 7 , wherein launch comprises launch, using a dispatch engine of the storage system, the plurality of execution threads of the erasure code generation module, based at least in part on hardware configuration of the storage system, and wherein the storage system to further retrieve, using the dispatch engine, the hardware configuration of the storage system. 10. The storage medium of claim 7 , wherein set erasure code parameters comprises set one or more buffer sizes, erasure code sizes, number of k symbols to be encoded into n symbols. 11. The storage medium of claim 7 , wherein set comprises set, using a dispatch engine of the storage system, the erasure code parameters of the plurality of execution threads of the erasure code generation module, based at least in part on current system workload of the storage system; and wherein the storage system to further comprises receive, using the dispatch engine, information about the current system workload. 12. The storage medium of claim 11 , wherein receive comprises receive the information about the current system workload, using the dispatch engine, from a system workload monitor of the storage system, wherein the storage system to further monitor current system workload, using the system workload monitor. 13. The storage medium of claim 7 , wherein the storage system comprises a scale out storage system having a plurality of computer-storage nodes; wherein operate comprises operate the plurality of execution threads of the erasure code generation module to generate at least a first and a second parity of an erasure code from at least a first, a second and a third data block, and respectively store the first parity, the second parity, the first data block, the third data block, and the second data block in a first, a second, a third, a fourth, and a fifth of the computer-storage nodes.

Assignees

Inventors

Classifications

  • Adaptation to the channel · CPC title

  • with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes · CPC title

  • H03M13/05Primary

    using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits {(H03M13/2906 takes precedence)} · CPC title

  • Parity data used in redundant arrays of independent storages, e.g. in RAID systems · CPC title

  • using block codes (H03M13/2957 takes precedence) · 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 US9292384B2 cover?
Apparatuses, methods and storage medium associated with generating erasure codes for data to be stored in a storage system. In embodiments, a method may include launching, by storage system, a plurality of instances of an erasure code generation module, based at least in part on hardware configuration of the storage system. Additionally, the method may further include setting, by the storage sy…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification H03M13/05. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 22 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).