Multiple erasure codes for distributed storage

US9595979B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9595979-B2
Application numberUS-201514600532-A
CountryUS
Kind codeB2
Filing dateJan 20, 2015
Priority dateJan 20, 2015
Publication dateMar 14, 2017
Grant dateMar 14, 2017

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.

Embodiments relate to a system with multiple erasure codes, and selecting and encoding for a write file with one of the codes to mitigate costs associated with storage recovery. The codes include a fast recovery code for frequently accessed data and a higher storage efficiency code for less frequently accessed data. State data is tracked to ascertain frequency of access to the file. One of the erasure codes is dynamically selected based on the tracked data, with the focus of the code select to lower recovery costs, and the data is encoded with the selected erasure code. Accordingly, the original coding of the write file is subject to change based on the tracked state data.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for dynamically selecting an erasure code in a storage system, comprising: tracking a state of data access; adaptively selecting between at least two erasure codes based on the tracked data access state, including a fast recovery code for frequently accessed data and a higher storage efficiency code for less frequently accessed data; dynamically converting between the at least two erasure codes based on a global state; dynamically converting a set of one or more fast erasure coded files to a compact erasure code responsive to the global state exceeding a threshold or the tracked data access state demonstrating a decrease; and encoding the data with the selected erasure code. 2. The method of claim 1 , further comprising dynamically converting between the at least two erasure codes based on the tracked data state. 3. The method of claim 1 , wherein the global state includes system storage capacity. 4. The method of claim 1 , further comprising dynamically converting a set of one or more compact encoded data files to a fast erasure code responsive to the tracked data access state demonstrating an increase in data access and the global state being below a threshold. 5. The method of claim 1 , wherein the data access state includes data selected from the group consisting of: last modification time, size, read counts, coding state, and combinations thereof. 6. The method of claim 1 , wherein the two erasure codes may be employed with a product code and a local reconstruction code family. 7. A computer program product for dynamically selecting an erasure code in a storage system, the computer program product comprising a computer readable storage device having program code embodied therewith, the program code executable by a processing unit to: track a state of data access; adaptively selecting between at least two erasure codes based on the tracked data access state, including a fast recovery code for frequently accessed data and a higher storage efficiency code for less frequently accessed data; dynamically convert between the at least two erasure codes based on a global state; dynamically convert a set of one or more fast erasure coded files to a compact erasure code responsive to the global state exceeding a threshold or the tracked data access state demonstrating a decrease; and encode the data with the selected erasure code. 8. The computer program product of claim 7 , further comprising program code to dynamically convert between the at least two erasure codes based on the tracked data state. 9. The computer program product of claim 7 , wherein the global state includes system storage capacity. 10. The computer program product of claim 7 , further comprising program code to dynamically convert a set of one or more compact encoded data files to a fast erasure code responsive to the tracked data access state demonstrating an increase in data access and the global state being below a threshold. 11. The computer program product of claim 7 , further comprising program code to select an initial erasure code for data blocks based on a file state and encode the data blocks with the initial erasure code, and convert the encoded data blocks to a second erasure code different from the initial erasure code, wherein the conversion is based on both the file state and a global state. 12. The computer program product of claim 7 , wherein the data access state includes data selected from the group consisting of: last modification time, size, read counts, coding state, and combinations thereof. 13. The computer program product of claim 7 , wherein the two erasure codes may be employed with a product code and a local reconstruction code family. 14. A computer system comprising: a processor in communication with data storage; a tool in communication with the processor to dynamically select an erasure code, including: a system states module to track a state of data access; an adaptive coding module to adaptively select between at least two erasure codes based on the data access state tracked by the system states module, including a fast recovery code for frequently accessed data and a higher storage efficiency code for less frequently accessed data, the adaptive coding module to dynamically convert between the at least two erasure code based on a global state and dynamically convert a set of one or more fast erasure coded files to a compact erasure code responsive to the system states module having a global state exceeding a threshold or the tracked data access state demonstrating a decrease; and a coding module to encode the data with the erasure code selected by the adaptive coding module. 15. The system of claim 14 , further comprising the adaptive coding module to dynamically convert between at least two erasure codes based on the tracked data state. 16. The system of claim 14 , wherein the global state includes system storage capacity. 17. The system of claim 14 , further comprising the adaptive coding module to dynamically convert a set of one or more compact encoded data files to a fast erasure code responsive to the system states module demonstrating an increase in data access and the global state being below a threshold.

Assignees

Inventors

Classifications

  • H03M13/373Primary

    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

  • Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code · CPC title

  • Management of blocks · CPC title

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

  • Single storage device · 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 US9595979B2 cover?
Embodiments relate to a system with multiple erasure codes, and selecting and encoding for a write file with one of the codes to mitigate costs associated with storage recovery. The codes include a fast recovery code for frequently accessed data and a higher storage efficiency code for less frequently accessed data. State data is tracked to ascertain frequency of access to the file. One of the …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification H03M13/373. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 14 2017 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).