IP Library › Granted Patent US 10,055,161
Granted Patent B1
US 10,055,161 · App. 15/001,784 · Granted Aug 21, 2018

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

Inventors: David Meiri (Cambridge, MA); Anton Kucherov (Milford, MA); Vladimir Shveidel (Pardes-Hana, IL)
Assignee: EMC IP Holding Company LLC
G06F3/0638G06F3/0608G06F3/0619G06F3/0661G06F3/0688G06F11/2069G06F2201/85
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,055,161
App. No.
15/001,784
Filed
Jan 20, 2016
Granted
Aug 21, 2018
Kind
B1
Art Unit
2133
USPC
711/114
Abstract

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.

Claims (78)

1. A method, comprising:

reading pages from 1-stripes, wherein 1-stripes are not compressed;

storing compressed data in a temporary location;

reading j 1-stripes, where j is greater than or equal to one;

determining compressibility score, S, for each 1-stripe of j stripes; and

filling S-stripes based on the compressibility score by writing compressed pages to S-stripes corresponding to the compressibility score, S, comprising:

filling 8-stripes before 4-stripes if 8-stripes exist by locating 8N pages with a score greater than or equal to 8;

filling 4-stripes before 2-stripes if 4-stripes exits by locating 4N pages with a score greater than or equal to 4;

filling 2-stripes before 1-stripes if 2-stripes exist by locating 2N pages with a score greater than or equal to 2,

wherein N>1 and N equals the number of disks minus K, and K is the number of parity disks where K>1.

2. The method of claim 1 , further comprising:

storing in the system's data cache uncompressed; and

after the data reaches the persistent uncompressed data cache; acknowledging the write to a user.

3. The method of claim 1 , further comprising adding a queue for each compressibility score.

4. The method of claim 1 , further comprising:

adding a queue; and

destaging smaller pages to one larger page using the queue.

5. The method of claim 1 , further comprising assigning the S-stripes differing widths based on the compressibility score, S.

6. The method of claim 1 , further comprising:

determining a page cannot be decompressed;

declaring the page as being corrupt;

using RAID mechanisms to rebuild the page;

fixing a corrupt page after the page is rebuilt;

returning correct data to a user; and

if the rebuild fails, returning an error message to the user.

7. An apparatus, comprising:

electronic hardware circuitry configured to:

read pages from 1-stripes, wherein 1-stripes are not compressed;

store compressed data in a temporary location;

read j 1-stripes, where j is greater than or equal to one;

determine compressibility score, S, for each 1-stripe of j stripes; and

fill S-stripes based on the compressibility score by writing compressed pages to S-stripes corresponding to the compressibility score, S, comprising:

fill 8-stripes before 4-stripes if 8-stripes exist by locating 8N pages with a score greater than or equal to 8;

fill 4-stripes before 2-stripes if 4-stripes exits by locating 4N pages with a score greater than or equal to 4;

fill 2-stripes before 1-stripes if 2-stripes exist by locating 2N pages with a score greater than or equal to 2,

wherein N>1 and N equals the number of disks minus K, and K is the number of parity disks where K>1.

8. The apparatus of claim 7 , wherein the circuitry comprises at least one of a processor, a memory, a programmable logic device or a logic gate.

9. The apparatus of claim 7 , further comprising circuitry to:

store in the system's data cache uncompressed; and

after the data reaches the persistent uncompressed data cache; acknowledge the write.

10. The apparatus of claim 7 , further comprising circuitry to add a queue for a different compression level.

11. The apparatus of claim 7 , further comprising circuitry to:

add a queue; and

destage smaller pages to one larger page using the queue.

12. The apparatus of claim 7 , further comprising circuitry to assign stripes of different widths.

13. The apparatus of claim 7 , further comprising circuitry to:

determine a page cannot be decompressed;

declare the page as being corrupt;

use RAID mechanisms to rebuild the page;

fix corrupt page after the page is rebuilt;

return correct data to a user; and

if the rebuild fails, return an error message to the user.

14. An article comprising:

a non-transitory computer-readable medium that stores computer-executable instructions, the instructions causing a machine to:

read pages from 1-stripes, wherein 1-stripes are not compressed;

store compressed data in a temporary location;

read j 1-stripes, where j is greater than or equal to one;

determine compressibility score, S, for each 1-stripe of j stripes; and

fill S-stripes based on the compressibility score by writing compressed pages to S-stripes corresponding to the compressibility score, S, comprising:

fill 8-stripes before 4-stripes if 8-stripes exist by locating 8N pages with a score greater than or equal to 8;

fill 4-stripes before 2-stripes if 4-stripes exits by locating 4N pages with a score greater than or equal to 4;

fill 2-stripes before 1-stripes if 2-stripes exist by locating 2N pages with a score greater than or equal to 2,

wherein N>1 and N equals the number of disks minus K, and K is the number of parity disks where K>1.

15. The article of claim 14 , further comprising instructions causing the machine to:

store in the system's data cache uncompressed; and

after the data reaches the persistent uncompressed data cache; acknowledge the write.

16. The article of claim 14 , further comprising instructions causing the machine to add a queue for a different compression level.

17. The article of claim 14 , further comprising instructions causing the machine to:

add a queue; and

destage smaller pages to one larger page using the queue.

18. The article of claim 14 , further comprising instructions causing the machine to assign stripes of different widths.

19. The article of claim 14 , further comprising instructions causing the machine to:

determine a page cannot be decompressed;

declare the page as being corrupt;

use RAID mechanisms to rebuild the page;

fix a corrupt page after the page is rebuilt;

return correct data to a user; and

if the rebuild fails, return an error message to the user.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2016
From: MEIRI, DAVID; KUCHEROV, ANTON; SHVEIDEL, VLADIMIR
To: EMC CORPORATION
Reel/Frame 037556/0476 →
Continuity (1)
Division 14230405 · Mar 31, 2014