IP Library Granted Patent US 9,519,546
Granted Patent B2
US 9,519,546 · App. 14/215,637 · Granted Dec 13, 2016

Striping cache blocks with logical block address scrambling

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 9,519,546
App. No.
14/215,637
Granted
Dec 13, 2016
Kind
B2
Abstract

A method for information handling systems includes receiving a storage operation to be applied to a cache block in a location in a distributed storage system. The location is defined by a logical block address (LBA). The method further includes swapping a first portion of the LBA with a second portion of the LBA, resulting in a modified LBA, and performing the storage operation with the modified LBA. The first portion and the second portion are both x bits wide.

Claims (66)

1. A method for information handling systems, comprising:

receiving a storage operation to be applied to a cache block in a location in a distributed storage system, the location defined by a logical block address (LBA);

swapping a first portion of the LBA that includes the highest x bits of an offset definition with a second portion of the LBA, wherein the first portion and the second portion are both x bits wide, resulting in a modified LBA; and

performing the storage operation with the modified LBA.

2. The method of claim 1 , wherein the second portion of the LBA is from a cache block identifier in the LBA.

3. The method of claim 2 , wherein the second portion includes the lowest x bits of the cache block identifier in the LBA.

4. The method of claim 1 , wherein swapping the first portion of the second portion causes the modified LBA to indicate a different offset and a different cache block identifier than the LBA.

5. The method of claim 1 , wherein memories used to implement the distributed storage system include flash devices of different sizes.

6. The method of claim 1 :

wherein upon a failure of a node within the distributed storage system, the results of the storage operation are persistently stored in one or more attached memory devices and are available for client access; and

further comprising, after the failure of the node within the distributed storage system:

providing read and write access for clients to the results of the storage operation; and

replicating the results of the storage operation to another location within the distributed storage system.

7. The method of claim 1 , further comprising concurrently allowing a first access and a second access to a logical unit including the results of the storage operation, the first access and the second access each including a read or write operation.

8. The method of claim 1 , wherein:

the cache block is included in a plurality of cache blocks of a logical unit; and

the method further comprises provisioning the logical unit without use of auxiliary storage for flushing.

9. The method of claim 1 , wherein:

the cache block is implemented in a first attached memory;

the distributed storage system comprises a second cache block implemented in a second cache memory; and

the method further comprises adding or removing the second cache memory while the storage operation is received and performed.

10. An article of manufacture, comprising:

a non-transitory machine-readable medium; and

instructions on the computer-readable medium, when read by a processor, are configured to cause the processor to:

receive a storage operation to be applied to a cache block in a location in a distributed storage system, the location defined by a logical block address (LBA);

swap a first portion of the LBA that includes the highest x bits of an offset definition with a second portion of the LBA, wherein the first portion and the second portion are both x bits wide, resulting in a modified LBA; and

perform the storage operation with the modified LBA.

11. The article of claim 10 , wherein the second portion of the LBA is from a cache block identifier in the LBA.

12. The article of claim 11 , wherein the second portion includes the lowest x bits of the cache block identifier in the LBA.

13. The article of claim 10 , wherein swapping the first portion of the second portion causes the modified LBA to indicate a different offset and a different cache block identifier than the LBA.

14. The article of claim 10 , wherein memories used to implement the distributed storage system include flash devices of different sizes.

15. The article of claim 10 :

wherein upon a failure of a node within the distributed storage system, the results of the storage operation are persistently stored in one or more attached memory devices and are available for client access; and

the processor is further configured to, after the failure of the node within the distributed storage system:

provide read and write access for clients to the results of the storage operation; and

replicate the results of the storage operation to another location within the distributed storage system.

16. The article of claim 10 , wherein the processor is further configured to concurrently allow a first access and a second access to a logical unit including the results of the storage operation, the first access and the second access each including a read or write operation.

17. The article of claim 10 , wherein:

the cache block is included in a plurality of cache blocks of a logical unit; and

the processor is further configured to provision the logical unit without use of auxiliary storage for flushing.

18. The article of claim 10 , wherein:

the cache block is implemented in a first attached memory;

the distributed storage system comprises a second cache block implemented in a second cache memory; and

the processor is further configured to add or remove the second cache memory while the storage operation is received and performed.

19. An information handling system, comprising:

a processor;

a machine-readable medium comprising instructions, when read and executed by the processor, are configured to cause the processor to:

receive a storage operation to be applied to a cache block in a location in a distributed storage system, the location defined by a logical block address (LBA);

swap a first portion of the LBA that includes the highest x bits of an offset definition with a second portion of the LBA, wherein the first portion and the second portion are both x bits wide, resulting in a modified LBA; and

perform the storage operation with the modified LBA.

20. The information handling system of claim 19 , wherein the second portion of the LBA is from a cache block identifier in the LBA.

21. The information handling system of claim 20 , wherein the second portion includes the lowest x bits of the cache block identifier in the LBA.

22. The information handling system of claim 19 , wherein swapping the first portion of the second portion causes the modified LBA to indicate a different offset and a different cache block identifier than the LBA.

23. The information handling system of claim 19 :

wherein upon a failure of a node within the distributed storage system, the results of the storage operation are persistently stored in one or more attached memory devices and are available for client access; and

the processor is further configured to, after the failure of the node within the distributed storage system:

provide read and write access for clients to the results of the storage operation; and

replicate the results of the storage operation to another location within the distributed storage system.

24. The information handling system of claim 19 , wherein the processor is further configured to concurrently allow a first access and a second access to a logical unit including the results of the storage operation, the first access and the second access each including a read or write operation.

25. The information handling system of claim 19 , wherein:

the cache block is included in a plurality of cache blocks of a logical unit; and

the processor is further configured to provision the logical unit without use of auxiliary storage for flushing.

26. The information handling system of claim 19 , wherein:

the cache block is implemented in a first attached memory;

the distributed storage system comprises a second cache block implemented in a second cache memory; and

the processor is further configured to add or remove the second cache memory while the storage operation is received and performed.

Assignments (15)
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 →
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 →
RELEASE OF REEL 032809 FRAME 0987 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, INC.
Reel/Frame 040026/0953 →
RELEASE OF REEL 032810 FRAME 0038 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, INC.
Reel/Frame 040027/0686 →
RELEASE OF REEL 032810 FRAME 0023 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, INC.
Reel/Frame 040014/0320 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded May 1, 2014
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 032810/0038 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded May 1, 2014
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 032809/0987 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded May 1, 2014
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032810/0023 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2014
From: PETERSON, SCOTT; KRUEGER, PHILLIP
To: DELL PRODUCTS L.P.
Reel/Frame 032453/0779 →