IP Library › Granted Patent US 10,922,027
Granted Patent B2
US 10,922,027 · App. 16/179,256 · Granted Feb 16, 2021

Managing data storage in storage systems

Inventors: Philippe Armangau (Acton, MA); Ivan Bassov (Brookline, MA); John Didier (Westboro, MA); Ajay Karri (South Grafton, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0661G06F3/067G06F3/0608G06F3/0631G06F3/0643G06F3/0647G06F12/10G06F16/137G06F16/1727H04L9/0643G06F2212/1044G06F2212/152G06F2212/154G06F2212/657
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,922,027
App. No.
16/179,256
Granted
Feb 16, 2021
Kind
B2
Abstract

There is disclosed techniques for use in managing data storage in storage systems. For example, in one embodiment, there is disclosed a method comprising receiving a request to store data of a data object in a storage system. The method also comprising determining that at least a portion of the data is to be stored in an uncompressed format in the storage system in response to receiving the request. The method also comprising storing at least a portion of the data in the uncompressed format in an allocation unit of a segment in the storage system such that the stored data in the uncompressed format emulates stored data in a compressed format based on the said determination.

Claims (32)

1. A method, comprising:

receiving a request to store data of a data object in a storage system;

determining that at least a portion of the data is to be stored in an uncompressed format in the storage system;

in response to the said determination, applying an additional segment to an allocation unit of a segment in the storage system, wherein the additional segment precedes the allocation unit of the segment in the storage system and the allocation unit appears as an inflated allocation unit to system components outside of a compression engine; and

storing at least a portion of the data in the uncompressed format in the inflated allocation unit of the segment in the storage system such that the stored data in the uncompressed format emulates stored data in a compressed format.

2. The method as claimed in claim 1 , wherein the stored data in the uncompressed format in the allocation unit of the segment emulates stored data in the compressed format by increasing the size of the allocation unit with respect to one or more other allocation units in the compressed format in the segment.

3. The method as claimed in claim 2 , wherein the increased size of the allocation unit stores a header and a SHA (Secure Hash Algorithm) hash value such that it precedes the uncompressed data in the allocation unit of the segment.

4. The method as claimed in claim 1 , wherein the request includes a write I/O request to write data of a file of a file system organized on the storage system.

5. The method as claimed in claim 4 , wherein the file system is organized as a file system hierarchy of file system blocks, wherein the file system blocks include a set of indirect data blocks, each indirect data block including a set of data blocks.

6. The method as claimed in claim 4 , wherein a mapping pointer is associated with a file system block of a file, wherein the mapping pointer of the file system block refers to a segment virtual block pointer, wherein the segment virtual block pointer includes an extent list including information regarding a set of allocation units either compressed or uncompressed in a segment, wherein a file system block number included in the segment virtual block pointer refers to the segment, wherein the segment includes a set of contiguous file system data blocks in a compressed or uncompressed format.

7. An apparatus, comprising:

memory; and

processing circuitry coupled to the memory, the memory storing instructions which, when executed by the processing circuitry, cause the processing circuitry to:

receive a request to store data of a data object in a storage system;

determine that at least a portion of the data is to be stored in an uncompressed format in the storage system;

in response to the said determination, apply an additional segment to an allocation unit of a segment in the storage system, wherein the additional segment precedes the allocation unit of the segment in the storage system and the allocation unit appears as an inflated allocation unit to system components outside of a compression engine; and

store at least a portion of the data in the uncompressed format in the inflated allocation unit of the segment in the storage system such that the stored data in the uncompressed format emulates stored data in a compressed format.

8. The apparatus as claimed in claim 7 , wherein the stored data in the uncompressed format in the allocation unit of the segment emulates stored data in the compressed format by increasing the size of the allocation unit with respect to one or more other allocation units in the compressed format in the segment.

9. The apparatus as claimed in claim 8 , wherein the increased size of the allocation unit stores a header and a SHA (Secure Hash Algorithm) hash value such that it precedes the uncompressed data in the allocation unit of the segment.

10. The apparatus as claimed in claim 7 , wherein the request includes a write I/O request to write data of a file of a file system organized on the storage system.

11. The apparatus as claimed in claim 10 , wherein the file system is organized as a file system hierarchy of file system blocks, wherein the file system blocks include a set of indirect data blocks, each indirect data block including a set of data blocks.

12. The apparatus as claimed in claim 10 , wherein a mapping pointer is associated with a file system block of a file, wherein the mapping pointer of the file system block refers to a segment virtual block pointer, wherein the segment virtual block pointer includes an extent list including information regarding a set of allocation units either compressed or uncompressed in a segment, wherein a file system block number included in the segment virtual block pointer refers to the segment, wherein the segment includes a set of contiguous file system data blocks in a compressed or uncompressed format.

13. A computer program product having a non-transitory computer readable medium which stores a set of instructions, the set of instructions, when carried out by processing circuitry, causing the processing circuitry to perform a method of:

receiving a request to store data of a data object in a storage system;

determining that at least a portion of the data is to be stored in an uncompressed format in the storage system;

in response to the said determination, applying an additional segment to an allocation unit of a segment in the storage system, wherein the additional segment precedes the allocation unit of the segment in the storage system and the allocation unit appears as an inflated allocation unit to system components outside of a compression engines; and

storing at least a portion of the data in the uncompressed format in the inflated allocation unit of the segment in the storage system such that the stored data in the uncompressed format emulates stored data in a compressed format.

14. The computer program product as claimed in claim 13 , wherein the stored data in the uncompressed format in the allocation unit of the segment emulates stored data in the compressed format by increasing the size of the allocation unit with respect to one or more other allocation units in the compressed format in the segment.

15. The computer program product as claimed in claim 14 , wherein the increased size of the allocation unit stores a header and a SHA (Secure Hash Algorithm) hash value such that it precedes the uncompressed data in the allocation unit of the segment.

16. The computer program product as claimed in claim 13 , wherein the request includes a write I/O request to write data of a file of a file system organized on the storage system.

17. The computer program product as claimed in claim 16 , wherein the file system is organized as a file system hierarchy of file system blocks, wherein the file system blocks include a set of indirect data blocks, each indirect data block including a set of data blocks.

18. The computer program product as claimed in claim 16 , wherein a mapping pointer is associated with a file system block of a file, wherein the mapping pointer of the file system block refers to a segment virtual block pointer, wherein the segment virtual block pointer includes an extent list including information regarding a set of allocation units either compressed or uncompressed in a segment, wherein a file system block number included in the segment virtual block pointer refers to the segment, wherein the segment includes a set of contiguous file system data blocks in a compressed or uncompressed format.

Assignments (4)
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 →
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 Nov 2, 2018
From: ARMANGAU, PHILIPPE; BASSOV, IVAN; DIDIER, JOHN; KARRI, AJAY
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 047397/0009 →
Continuity (1)
Related Publication 20200142643A1 · May 7, 2020
Cited By (1)
US 12,418,310