IP Library Granted Patent US 11,507,292
Granted Patent B2
US 11,507,292 · App. 17/071,188 · Granted Nov 22, 2022

System and method to utilize a composite block of data during compression of data blocks of fixed size

Inventors: Andrew Butcher (Cedar Park, TX); Shyamkumar Iyer (Cedar Park, TX); Glen Sescila (Austin, TX)
Assignee: Dell Products L.P.
G06F3/064G06F3/0608G06F3/0659G06F3/0673G06F9/30047
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,507,292
App. No.
17/071,188
Granted
Nov 22, 2022
Kind
B2
Abstract

An information handling system includes a processor that detects a cache flush request of a memory device within the processor, and identifies multiple blocks of data within an address space associated with the cache flush request. The processor groups the multiple blocks of data into a single composite block of data, and compresses the composite block of data. The processor stores the compressed composite block of data, and stores metadata for the compressed composite block of data. The metadata includes information for both the composite block of data and information for each of the multiple blocks of data.

Claims (47)

1. An information handling system comprising:

a storage device to store a compressed block of data; and

a processor to communicate with the storage device, the processor to:

in response to a flush command, identify multiple blocks of data within an address space of a memory device associated with the flush command, wherein a size of each of the multiple blocks of data is equal to a storage unit size block of data for the memory device;

group the multiple blocks of data into a single composite block of data;

compress the composite block of data, wherein a first compression ratio for the single composite block of data is greater than a second compression ratio for a single block of the multiple blocks of data;

store the compressed composite block of data in the storage device; and

store metadata for the compressed composite block of data, wherein the metadata includes information for both the composite block of data and information for each block of the multiple blocks of data.

2. The information handling system of claim 1 , wherein the processor includes a driver to retrieve the multiple blocks of data, and to perform the compression of the composite block of data.

3. The information handling system of claim 2 , wherein the identification of the multiple blocks includes the driver to analyze metadata of each of blocks of data in the memory device, to determine similarities in the metadata of each of the multiple blocks of data, and based on the similarities, identify the multiple blocks of data as blocks of data for the composite block of data.

4. The information handling system of claim 3 , wherein a size of each of the blocks of data in the memory device are the same.

5. The information handling system of claim 4 , wherein a size of the composite block of data varies based on a number of blocks of data identified as the multiple blocks of data.

6. The information handling system of claim 1 , wherein first metadata for a first block of the multiple blocks includes dependencies on other blocks of the multiple blocks.

7. The information handling system of claim 1 , wherein the compression of the composite block of data is performed by a distributed object manager of the processor.

8. The information handling system of claim 1 , wherein the multiple blocks of data are contiguous blocks of data within the memory device.

9. A method comprising:

in response to a flush command, identifying, by a processor, multiple blocks of data within an address space of a memory device associated with the flush command, wherein a size of each of the multiple blocks of data is equal to a storage unit size block of data for the memory device;

grouping the multiple blocks of data into a single composite block of data;

compressing the composite block of data, wherein a first compression ratio for the single composite block of data is greater than a second compression ratio for a single block of the multiple blocks of data;

storing the compressed composite block of data in a storage device of an information handling system; and

storing metadata for the compressed composite block of data, wherein the metadata includes information for both the composite block of data and information for each of the multiple blocks of data.

10. The method of claim 9 , the method further comprising:

retrieving, by a driver of the processor, the multiple blocks of data; and

performing, by the driver, the compression of the composite block of data.

11. The method of claim 10 , wherein the identifying of the multiple blocks includes:

analyzing, by the driver, metadata of each of blocks of data in the memory device;

determining similarities in the metadata of each of the multiple blocks of data; and

based on the similarities, identifying the multiple blocks of data as blocks of data for the composite block of data.

12. The method of claim 11 , wherein a size of each of the blocks of data in the memory device are the same.

13. The method of claim 12 , wherein a size of the composite block of data varies based on a number of blocks of data identified as the multiple blocks of data.

14. The method of claim 9 , wherein first metadata for a first block of the multiple blocks includes dependencies on other blocks of the multiple blocks.

15. The method of claim 9 , wherein the compressing of the composite block of data is performed by a distributed object manager of the processor.

16. The method of claim 9 , wherein the multiple blocks of data are contiguous blocks of data within the memory device.

17. A non-transitory computer-readable medium including code that when executed performs a method, the method comprising:

in response to a flush command, identifying multiple blocks of data within an address space of a memory device associated with the flush command, wherein a size of each of the multiple blocks of data is equal to a storage unit size block of data for the memory device;

grouping the multiple blocks of data into a single composite block of data;

compressing the composite block of data, wherein a first compression ratio for the single composite block of data is greater than a second compression ratio for a single block of the multiple blocks of data;

storing the compressed composite block of data in a storage device of the information handling system; and

storing metadata for the compressed composite block of data, wherein the metadata includes information for both the composite block of data and information for each of the multiple blocks of data.

18. The non-transitory computer-readable medium of claim 17 , wherein the method further comprises:

retrieving the multiple blocks of data; and

performing the compression of the composite block of data.

19. The non-transitory computer-readable medium of claim 18 , wherein the method further comprises:

analyzing metadata of each of blocks of data in the memory device;

determining similarities in the metadata of each of the multiple blocks of data; and

based on the similarities, identifying the multiple blocks of data as blocks of data for the composite block of data.

20. The non-transitory computer-readable medium of claim 17 , wherein the multiple blocks of data are contiguous blocks of data within the memory device.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2020
From: BUTCHER, ANDREW; IYER, SHYAMKUMAR; SESCILA, GLEN
To: DELL PRODUCTS, LP
Reel/Frame 054063/0478 →
Continuity (1)
Related Publication 20220121359A1 · Apr 21, 2022