Data reduction techniques in a flash-based key/value cluster storage

US9606870B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9606870-B1
Application numberUS-201414230405-A
CountryUS
Kind codeB1
Filing dateMar 31, 2014
Priority dateMar 31, 2014
Publication dateMar 28, 2017
Grant dateMar 28, 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.

In one aspect, a method includes splitting empty RAID stripes into sub-stripes and storing pages into the sub-stripes based on a compressibility score. In another aspect, a method includes reading pages from 1-stripes, storing compressed data in a temporary location, reading multiple stripes, determining compressibility score for each stripe and filling stripes based on the compressibility score. In a further aspect, a method includes scanning a dirty queue in a system cache, compressing pages ready for destaging, combining compressed pages in to one aggregated page, writing one aggregated page to one stripe and storing pages with same compressibility score in a stripe.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: splitting empty RAID stripes into sub-stripes; storing pages into the sub-stripes based on a compressibility score; reading pages from 1-stripes; writing to a free location in a S-stripe compressed pages, wherein S>0; testing each page for compressibility; giving each page a compressibility score, S; and finding S*N pages with the same compressibility score, wherein each 1-stripe comprises N pages of data and K pages of parity, where K>1 and N>1 and N equals the number of disks minus K, wherein each S-stripe comprises includes S*N+S*K sub-pages, and wherein storing pages into the sub-stripes based on a compressibility score comprises storing pages with the same compressibility score in the same sub-stripe. 2. The method of claim 1 , wherein for 4 KB pages each 1-stripe consumes a total of 4*(N+K) KB of flash storage. 3. The method of claim 2 , wherein K equals 2. 4. The method of claim 2 , wherein S equals one of 1, 2, 4, or 8. 5. The method of claim 4 , wherein a 2-stripe comprises 2N+2K sub-pages of 2 KB, wherein a 4-stripe comprises 4N+4K sub-pages of 1 KB, and wherein an 8-stripe comprises 8N+8K sub-pages of 512 B. 6. An apparatus, comprising: electronic hardware circuitry configured to: split empty RAID stripes into sub-stripes; store pages into the sub-stripes based on a compressibility score; read pages from 1-stripes; and write to a free location in a S-stripe compressed pages, wherein S>0; test each page for compressibility; give each page a compressibility score, S; and find S*N pages with the same compressibility score, wherein each 1-stripe comprises N pages of data and K pages of parity, where K>1 and N>1 and N equals the number of disks minus K, wherein each S-stripe comprises includes S*N+S*K sub-pages, and wherein storing pages into the sub-stripes based on a compressibility score comprises storing pages with the same compressibility score in the same sub-stripe. 7. The apparatus of claim 6 , wherein the circuitry comprises at least one of a processor, a memory, a programmable logic device or a logic gate. 8. The apparatus of claim 6 , wherein for 4 KB pages each 1-stripe consumes a total of 4*(N+K) KB of flash storage. 9. The apparatus of claim 8 , wherein K equals 2. 10. The apparatus of claim 8 , wherein S equals one of 1, 2, 4, or 8. 11. The apparatus of claim 10 , wherein a 2-stripe comprises 2N+2K sub-pages of 2 KB, wherein a 4-stripe comprises 4N+4K sub-pages of 1 KB, and wherein an 8-stripe comprises 8N+8K sub-pages of 512 B. 12. An article comprising: a non-transitory computer-readable medium that stores computer-executable instructions, the instructions causing a machine to: split empty RAID stripes into sub-stripes; store pages into the sub-stripes based on a compressibility score; read pages from 1-stripes; write to a free location in a S-stripe compressed pages, wherein S>0; test each page for compressibility; give each page a compressibility score, S; and find S*N pages with the same compressibility score, wherein each 1-stripe comprises N pages of data and K pages of parity, where K>1 and N>1 and N equals the number of disks minus K, wherein each S-stripe comprises includes S*N+S*K sub-pages, and wherein storing pages into the sub-stripes based on a compressibility score comprises storing pages with the same compressibility score in the same sub-stripe. 13. The article of claim 12 , wherein for 4 KB pages each 1-stripe consumes a total of 4*(N+K) KB of flash storage. 14. The article of claim 13 , wherein K equals 2. 15. The article of claim 13 , wherein S equals one of 1, 2, 4, or 8. 16. The article of claim 15 , wherein a 2-stripe comprises 2N+2K sub-pages of 2 KB, wherein a 4-stripe comprises 4N+4K sub-pages of 1 KB, and wherein an 8-stripe comprises 8N+8K sub-pages of 512 B.

Assignees

Inventors

Classifications

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

  • Protection of memory contents; Detection of errors in memory contents · CPC title

  • Compression or decompression of data before storage · CPC title

  • Compression, i.e. RAID systems with parity using compression techniques · CPC title

  • Parity data distribution in semiconductor storages, e.g. in SSD · 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 US9606870B1 cover?
In one aspect, a method includes splitting empty RAID stripes into sub-stripes and storing pages into the sub-stripes based on a compressibility score. In another aspect, a method includes reading pages from 1-stripes, storing compressed data in a temporary location, reading multiple stripes, determining compressibility score for each stripe and filling stripes based on the compressibility scor…
Who is the assignee on this patent?
Emc Corp, Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F11/1076. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 28 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).