Distributed cache system utilizing multiple erasure codes

US9817713B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9817713-B2
Application numberUS-201615016014-A
CountryUS
Kind codeB2
Filing dateFeb 4, 2016
Priority dateFeb 4, 2016
Publication dateNov 14, 2017
Grant dateNov 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.

One embodiment provides a method comprising, for at least one data block, selecting an erasure code from a plurality of erasure codes based on at least one property of the at least one data block and information relating to a data cache, and encoding, utilizing at least one hardware processor, the at least one data block with the selected erasure code. The information relating to the data cache includes cache space usage of the data cache.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: at a cache system supporting a plurality of erasure codes with different reliability and storage overhead requirements: adaptively coding at least one data block by: selecting an erasure code from the plurality of erasure codes based on at least one property of the at least one data block and information relating to a data cache of the cache system, wherein the information relating to the data cache includes cache space usage of the data cache; and encoding, utilizing at least one hardware processor, the at least one data block with the selected erasure code, wherein the encoded at least one data block is inserted into the data cache, and the encoded at least one data block results in one of increased recovery performance in the data cache, increased data redundancy in the data cache, or decreased storage overhead in the data cache. 2. The method of claim 1 , wherein the at least one property indicates at least one of the following: whether the at least one data block has at least one backup copy maintained on at least one hardware storage back-end device, and a number of times the at least one data block is accessed from the data cache. 3. The method of claim 1 , wherein the encoded at least one data block is inserted into a hardware cache of the data cache. 4. The method of claim 1 , wherein the plurality of erasure codes comprise at least one of the following: a high fault tolerance erasure code that increases data redundancy in the data cache, a low fault tolerance erasure code that decreases data redundancy in the data cache, a fast erasure code that increases recovery performance in the data cache, and a compact erasure code that decreases storage overhead in the data cache. 5. The method of claim 1 , the method further comprising: for at least one new data block for insertion into the data cache: encoding the at least one new data block with a high fault tolerance erasure code that increases data redundancy in the data cache; and inserting the at least one new data block encoded with the high fault tolerance erasure code into the data cache. 6. The method of claim 2 the method further comprising: in response to determining, based on the at least one property, the at least one data block does not have at least one backup copy maintained on at least one hardware storage back-end device: encoding the at least one data block with a high fault tolerance erasure code that increases data redundancy in the data cache; and inserting the at least one data block encoded with the high fault tolerance erasure code into the data cache. 7. The method of claim 1 , the method further comprising: in response to destaging of at least one additional data block encoded with a high fault tolerance erasure code that increases data redundancy in the data cache: converting the at least one additional data block to a low fault tolerance erasure code that decreases data redundancy in the data cache. 8. The method of claim 2 , the method further comprising: in response to determining, based on the at least one property, the at least one data block does have at least one backup copy maintained on at least one hardware storage back-end device: determining whether the at least one data block is a hot block based on the number of times the at least one data block is accessed in the data cache; and in response to determining the at least one data block is not a hot block, reclaiming cache space of the data cache by upcoding the at least one data block to a compact erasure code that decreases storage overhead in the data cache. 9. The method of claim 2 , the method further comprising: in response to determining, based on the at least one property, the at least one data block does have at least one backup copy maintained on at least one hardware storage back-end device: determining whether the at least one data block is a hot block based on the number of times the at least one data block is accessed in the data cache; and in response to determining the at least one data block is a hot block, minimizing traffic bandwidth during recovery by downcoding the at least one data block to a fast erasure code that increases recovery performance in the data cache. 10. The method of claim 2 , the method further comprising: for the at least one data block: determining whether the number of times the at least one data block is accessed in the data cache has increased; and in response to determining the number of times the at least one data block is accessed in the data cache has increased, minimizing traffic bandwidth during recovery by converting the at least one data block to a fast erasure code that increases recovery performance in the data cache. 11. The method of claim 1 , the method further comprising: in response to destaging of at least one additional data block: determining whether a first erasure code that the at least one additional data block is encoded with is the same as a second erasure code utilized at a hardware storage back-end device; and in response to determining that the first erasure code and the second erasure code are the same, destaging at least one parity block corresponding to the at least one additional data block. 12. A system comprising a computer processor, a computer-readable hardware storage device, and program code embodied with the computer-readable hardware storage device for execution by the computer processor to implement a method comprising: at a cache system supporting a plurality of erasure codes with different reliability and storage overhead requirements: adaptively coding at least one data block by: selecting an erasure code from the plurality of erasure codes based on at least one property of the at least one data block and information relating to a data cache of the cache system, wherein the information relating to the data cache includes cache space usage of the data cache; and encoding, utilizing at least one hardware processor, the at least one data block with the selected erasure code, wherein the encoded at least one data block is inserted into the data cache, and the encoded at least one data block results in one of increased recovery performance in the data cache, increased data redundancy in the data cache, or decreased storage overhead in the data cache. 13. The system of claim 12 , wherein the at least one property indicates at least one of the following: whether the at least one data block has at least one backup copy maintained on at least one hardware storage back-end device, and a number of times the at least one data block is accessed from the data cache. 14. The system of claim 13 , wherein the plurality of erasure codes comprise at least one of the following: a high fault tolerance erasure code that increases data redundancy in the data cache, a low fault tolerance erasure code that decreases data redundancy in the data cache, a fast erasure code that increases recovery performance in the data cache, and a compact erasure code that decreases storage overhead in the data cache. 15. The system of claim 14 , wherein the method further comprises: for at least one new data block for insertion into the data cache: encoding the at least one new data block with a high fault tolerance erasure code that increases data redundancy in the data cache; and inserting the at least one new data block encoded with the high fault tolerance erasure code into the data cache. 16. The system of claim 14 , wherein the method further comprises: in response to determining, based on the at least one p

Assignees

Inventors

Classifications

  • Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial · CPC title

  • in cache or content addressable memories · CPC title

  • Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches · CPC title

  • Reliability improvement, data loss prevention, degraded operation etc · CPC title

  • using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes · 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 US9817713B2 cover?
One embodiment provides a method comprising, for at least one data block, selecting an erasure code from a plurality of erasure codes based on at least one property of the at least one data block and information relating to a data cache, and encoding, utilizing at least one hardware processor, the at least one data block with the selected erasure code. The information relating to the data cache…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/1064. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 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 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).