IP Library Granted Patent US 10,949,107
Granted Patent B1
US 10,949,107 · App. 15/664,248 · Granted Mar 16, 2021

Fragment filling for storage system with in-line compression

Inventors: Ivan Basov (Brookline, MA); Philippe Armangau (Acton, MA); Yining Si (Sherborn, MA); Christopher Alan Seibel (Walpole, MA)
Assignee: EMC IP Holding Company LLC
G06F3/064G06F3/067G06F3/0608
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,949,107
App. No.
15/664,248
Filed
Jul 31, 2017
Granted
Mar 16, 2021
Kind
B1
Art Unit
2137
USPC
711/171
Abstract

Methods and apparatus are provided for reporting fragment filling in storage systems. An exemplary method comprises obtaining at least one compressed allocation unit of data in a storage system; reserving space for the at least one compressed allocation unit in a compressed segment based on a greater of (i) a size of the at least one compressed allocation unit, and (ii) a minimum target fragment length specified for at least one write operation class; and writing the at least one compressed allocation unit to the reserved space. An attempt is optionally first made to fill the at least one compressed allocation unit of data in a free extent and/or a hidden fragment of at least one compressed segment prior to reserving the space. The reserving the space is optionally only performed if the attempt to fill the at least one compressed allocation unit of data is not successful.

Claims (40)

1. A method, comprising:

obtaining a plurality of minimum target fragment lengths, each minimum target fragment length specified for a respective one of a plurality of classes of write operations;

compressing one or more allocation units of data associated with a write operation to obtain at least one compressed allocation unit of data in a storage system, wherein the write operation corresponds to one of the classes of write operations;

determining that at least one existing allocation unit of at least one compressed segment of said storage system cannot be filled with said at least one compressed allocation unit of data, wherein said at least one existing allocation unit comprises at least one of a free fragment and a hidden fragment; and

in response to said determining:

reserving space for said at least one compressed allocation unit in a compressed segment of said storage system, wherein a size of said reserved space is a greater of (i) a size of said at least one compressed allocation unit, and (ii) the minimum target fragment length specified for the write operation class corresponding to said write operation, wherein the plurality of minimum target fragment lengths comprises a first minimum target fragment length specified for a class of full write operations and a second minimum target fragment length specified for a class of partial write operations, wherein said first minimum target fragment length is different than said second minimum target fragment length; and

writing said at least one compressed allocation unit of data to at least a portion of said reserved space in the compressed segment.

2. The method of claim 1 , wherein a third minimum target fragment length is specified for a class of allocated write operations.

3. The method of claim 2 , wherein the third minimum target fragment length is different from both the first minimum target fragment length and the second minimum target fragment length.

4. The method of claim 1 , wherein the step of compressing one or more allocation units associated with said write operation is selectively performed based on one or more heuristics.

5. The method of claim 1 , wherein the step of reserving space is only performed if it is determined that the at least one existing allocation unit of at least one compressed segment of said storage system cannot be filled.

6. The method of claim 1 , wherein the storage system is enabled with inline compression.

7. The method of claim 1 , wherein the compressed segment comprises a set of contiguous allocation units having at least two different sizes.

8. The method of claim 1 , wherein each of the first minimum target fragment length and the second minimum target fragment length have a fixed size.

9. A computer program product, comprising a non-transitory machine-readable storage medium having encoded therein executable code of one or more software programs, wherein the one or more software programs when executed by at least one processing device perform the following steps:

obtaining a plurality of minimum target fragment lengths, each minimum target fragment length specified for a respective one of a plurality of classes of write operations;

compressing one or more allocation units of data associated with a write operation to obtain at least one compressed allocation unit of data in a storage system, wherein the write operation corresponds to one of the classes of write operations;

determining that at least one existing allocation unit of at least one compressed segment of said storage system cannot be filled with said at least one compressed allocation unit of data, wherein said at least one existing allocation unit comprises at least one of a free fragment and a hidden fragment; and

in response to said determining:

reserving space for said at least one compressed allocation unit in a compressed segment of said storage system, wherein a size of said reserved space is a greater of (i) a size of said at least one compressed allocation unit, and (ii) the minimum target fragment length specified for the write operation class corresponding to said write operation, wherein the plurality of minimum target fragment lengths comprises a first minimum target fragment length specified for a class of full write operations and a second minimum target fragment length specified for a class of partial write operations, wherein said first minimum target fragment length is different than said second minimum target fragment length; and

writing said at least one compressed allocation unit of data to at least a portion of said reserved space in the compressed segment.

10. The computer program product of claim 9 , wherein the step of compressing one or more allocation units associated with said write operation is selectively performed based on one or more heuristics.

11. The computer program product of claim 9 , wherein the step of reserving space is only performed if it is determined that the at least one existing allocation unit of at least one compressed segment of said storage system cannot be filled.

12. The computer program product of claim 9 , wherein the storage system is enabled with inline compression.

13. The computer program product of claim 9 , wherein a third minimum target fragment length is specified for a class of allocated write operations.

14. The computer program product of claim 9 , wherein the compressed segment comprises a set of contiguous allocation units having at least two different sizes.

15. A system, comprising:

a memory; and

at least one processing device, coupled to the memory, operative to implement the following steps:

obtaining a plurality of minimum target fragment lengths, each minimum target fragment length specified for a respective one of a plurality of classes of write operations;

compressing one or more allocation units of data associated with a write operation to obtain at least one compressed allocation unit of data in a storage system, wherein the write operation corresponds to one of the classes of write operations;

determining that at least one existing allocation unit of at least one compressed segment of said storage system cannot be filled with said at least one compressed allocation unit of data, wherein said at least one existing allocation unit comprises at least one of a free fragment and a hidden fragment; and

in response to said determining:

reserving space for said at least one compressed allocation unit in a compressed segment of said storage system, wherein a size of said reserved space is a greater of (i) a size of said at least one compressed allocation unit, and (ii) the minimum target fragment length specified for the write operation class corresponding to said write operation, wherein the plurality of minimum target fragment lengths comprises a first minimum target fragment length specified for a class of full write operations and a second minimum target fragment length specified for a class of partial write operations, wherein said first minimum target fragment length is different than said second minimum target fragment length; and

writing said at least one compressed allocation unit of data to at least a portion of said reserved space in the compressed segment.

16. The system of claim 15 , wherein a third minimum target fragment length is specified for a class of operations.

17. The system of claim 16 , wherein the third minimum target fragment length is different from both the first minimum target fragment length and the second minimum target fragment length.

18. The system of claim 15 , wherein the step of compressing one or more allocation units associated with said write operation is selectively performed based on one or more heuristics.

19. The system of claim 15 , wherein the step of reserving space is only performed if it is determined that the at least one existing allocation unit of at least one compressed segment of said storage system cannot be filled.

20. The system of claim 15 , wherein the storage system is enabled with inline compression.

Assignments (8)
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 (043775/0082) Recorded May 20, 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 060958/0468 →
RELEASE OF SECURITY INTEREST AT REEL 043772 FRAME 0750 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0606 →
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 28, 2017
From: BASOV, IVAN; ARMANGAU, PHILIPPE; SI, YINING; SEIBEL, CHRISTOPHER ALAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 043724/0193 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Sep 6, 2017
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 043775/0082 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043772/0750 →
Cited By (2)
US 12,254,197 US 12,271,615