IP Library › Granted Patent US 11,068,208
Granted Patent B2
US 11,068,208 · App. 16/666,729 · Granted Jul 20, 2021

Capacity reduction in a storage system

Inventors: Uri Shabi (Tel Mond, IL); Anton Kucherov (Dudley, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0661G06F3/0608G06F3/0673H03K19/21G06F3/067
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 11,068,208
App. No.
16/666,729
Filed
Oct 29, 2019
Granted
Jul 20, 2021
Kind
B2
Art Unit
2137
USPC
711/154
Abstract

An aspect includes implementing capacity reduction in a storage system includes for each of a candidate page and a target page in the storage system, identifying a subset of sectors having identical data or a minimum amount of non-identical data, performing a bit-wise exclusive OR (XOR) operation on sectors of the candidate page and the target page, determining entropy from results of the XOR operation. Upon determining the entropy is less than or equal to a threshold value, an aspect includes building a reference page from an XOR sector containing results of the bit-wise XOR operation, and performing a compression operation on the reference page.

Claims (61)

1. A method for implementing capacity reduction in a storage system, the method comprising:

for each of a candidate page and a target page in the storage system, identifying a subset of sectors having identical data or a minimum specified amount of non-identical data;

performing a bit-wise exclusive OR (XOR) operation on sectors of the candidate page and the target page;

determining entropy from results of the XOR operation; and

upon determining the entropy is less than or equal to a threshold value, building a reference page from an XOR sector containing results of the bit-wise XOR operation, wherein compression is performed on the reference page.

2. The method of claim 1 , further comprising:

upon determining the entropy is greater than a threshold value:

building the reference page from a corresponding sector of the candidate page; and

performing the compression on the reference page;

wherein the entropy indicates corresponding data between the candidate page and target page are different.

3. The method of claim 2 , wherein determining the entropy from results of the XOR operation includes determining a number of non-zero bytes per sector from the results of the XOR operation;

wherein upon determining the number of non-zero bytes is less than or equal to the threshold value, building the reference page from the XOR sector containing results of the bit-wise XOR operation; and

wherein upon determining the number of non-zero bytes is greater than the threshold value, building the reference page from the corresponding sector of the candidate page.

4. The method of claim 1 , wherein the candidate page and the target page are determined to be a partial match with respect to the identical or minimum amount of non-identical data.

5. The method of claim 1 , wherein identifying the subset of sectors having identical data or the minimum specified amount of non-identical data includes retrieving identifiers of the sectors from a hash table and comparing hashed values of the sectors, wherein the data in the sectors are considered a match when the hashed values are the same.

6. The method of claim 1 , wherein performing the bit-wise XOR operation on the sectors includes performing the bit-wise XOR operation on the non-identical data.

7. The method of claim 1 , wherein performing the bit-wise XOR operation on the sectors includes performing the bit-wise XOR operation on all sectors having the minimum specified amount of non-identical data.

8. The method of claim 1 , further comprising:

attempting to read a user page; and

upon determining the user page is the XOR sector:

reading the user page and corresponding reference page;

decompressing the XOR sector and the reference page; and

returning results of the decompressing to a requestor.

9. The method of claim 8 , further comprising:

upon determining the user page is not the XOR sector:

reading the user page;

decompressing the user page; and

returning results of the decompressing the user page to the requestor.

10. A system for implementing capacity reduction in a storage system environment, the system comprising:

a memory comprising computer-executable instructions; and

a processor executing the computer-executable instructions, the computer-executable instructions when executed by the processor cause the processor to perform operations comprising:

for each of a candidate page and a target page in the storage system, identifying a subset of sectors having identical data or a minimum specified amount of non-identical data;

performing a bit-wise exclusive OR (XOR) operation on sectors of the candidate page and the target page that are not in the subset;

determining entropy from results of the XOR operation; and

upon determining the entropy is less than or equal to a threshold value, building a reference page from an XOR sector containing results of the bit-wise XOR operation, wherein compression is performed on the reference page.

11. The system of claim 10 , wherein the operations further comprise:

upon determining the entropy is greater than a threshold value:

building the reference page from a corresponding sector of the candidate page; and

performing the compression operation on the reference page;

wherein the entropy indicates corresponding data between the candidate page and target page are different.

12. The system of claim 11 , wherein determining the entropy from results of the XOR operation includes determining a number of non-zero bytes per sector from the results of the XOR operation;

wherein upon determining the number of non-zero bytes is less than or equal to the threshold value, building the reference page from the XOR sector containing results of the bit-wise XOR operation; and

wherein upon determining the number of non-zero bytes is greater than the threshold value, building the reference page from the corresponding sector of the candidate page.

13. The system of claim 10 , wherein the candidate page and the target page are determined to be a partial match with respect to the identical or minimum amount of non-identical data.

14. The system of claim 10 , wherein identifying the subset of sectors having identical data or the minimum specified amount of non-identical data includes retrieving identifiers of the sectors from a hash table and comparing hashed values of the sectors, wherein the data in the sectors are considered a match when the hashed values are the same.

15. The system of claim 10 , wherein performing the bit-wise XOR operation on the sectors includes performing the bit-wise XOR operation on the non-identical data.

16. The system of claim 10 , wherein performing the bit-wise XOR operation on the sectors includes performing the bit-wise XOR operation on all sectors having the minimum specified amount of non-identical data.

17. A computer program product for implementing capacity reduction in a storage system environment, the computer program product embodied on a non-transitory computer readable medium, and the computer program product including instructions that, when executed by a computer, causes the computer to perform operations. The operations include:

for each of a candidate page and a target page in the storage system, identifying a subset of sectors having identical data or a minimum specified amount of non-identical data;

performing a bit-wise exclusive OR (XOR) operation on sectors of the candidate page and the target page that are not in the subset;

determining entropy from results of the XOR operation;

upon determining the entropy is less than or equal to a threshold value, building a reference page from an XOR sector containing results of the bit-wise XOR operation, wherein compression is performed on the reference page.

18. The computer program product of claim 17 , wherein the operations further comprise:

upon determining the entropy is greater than a threshold value:

building the reference page from a corresponding sector of the candidate page; and

performing the compression on the reference page;

wherein the entropy indicates corresponding data between the candidate page and target page are different.

19. The computer program product of claim 18 , wherein determining the entropy from results of the XOR operation includes determining a number of non-zero bytes per sector from the results of the XOR operation;

wherein upon determining the number of non-zero bytes is less than or equal to the threshold value, building the reference page from the XOR sector containing results of the bit-wise XOR operation; and

wherein upon determining the number of non-zero bytes is greater than the threshold value, building the reference page from the corresponding sector of the candidate page.

20. The computer program product of claim 17 wherein the candidate page and the target page are determined to be a partial match with respect to the identical or minimum amount of non-identical data.

Assignments (9)
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 (051302/0528) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.); SECUREWORKS CORP.
Reel/Frame 060438/0593 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST AT REEL 051449 FRAME 0728 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
Reel/Frame 058002/0010 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
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 Dec 31, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 051449/0728 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Dec 16, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 051302/0528 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2019
From: SHABI, URI; KUCHEROV, ANTON
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 050858/0516 →
Continuity (1)
Related Publication 20210124532A1 · Apr 29, 2021