IP Library Granted Patent US 11,947,803
Granted Patent B2
US 11,947,803 · App. 17/079,968 · Granted Apr 2, 2024

Effective utilization of different drive capacities

Inventors: Daniel E. Cummins (Hudson, NH); Vamsi K. Vankamamidi (Hopkinton, MA); Shuyu Lee (Acton, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0613G06F3/0619G06F3/0631G06F3/064G06F3/0653G06F3/0689
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,947,803
App. No.
17/079,968
Granted
Apr 2, 2024
Kind
B2
Abstract

Techniques for providing effective utilization of different drive capacities in storage appliances. The techniques include providing a storage drive array that has a first set of storage drives and a second set of storage drives. Each storage drive in the first set has a first drive capacity and each storage drive in the second set has a second drive capacity. The first drive capacity is higher than the second drive capacity. The techniques include allocating, within the first drive capacity, at least a first sub-capacity and a second sub-capacity. The first sub-capacity is equal to the second drive capacity. The techniques include placing blocks of hot data in the first sub-capacities of the storage drives in the first set and/or the second drive capacities of the storage drives in the second set, and placing blocks of cold data in the second sub-capacities of the storage drives in the first set.

Claims (42)

1. A method of providing effective utilization of different drive capacities in a storage appliance, comprising:

providing a storage appliance that includes a storage drive array, the storage drive array including a first set of storage drives and a second set of storage drives, each of the storage drives in the first set having a first total storage capacity, each of the storage drives in the second set having a second total storage capacity, the first total storage capacity of the storage drives in the first set being higher than the second total storage capacity of the storage drives in the second set, the first total storage capacity having a first storage sub-capacity and a second storage sub-capacity, the first storage sub-capacity being equal to the second total storage capacity, the first storage sub-capacity corresponding to a first predetermined threshold percentage of the first total storage capacity, and the second storage sub-capacity corresponding to a second predetermined threshold percentage of the first total storage capacity;

allocating the first storage sub-capacity of each storage drive in the first set for storing hot data;

allocating the second total storage capacity of each storage drive in the second set for storing hot data, the allocated first storage sub-capacity of the storage drives in the first set and the allocated second total storage capacity of the storage drives in the second set collectively corresponding to a hot storage tier;

allocating the second storage sub-capacity of each storage drive in the first set for storing cold data, the allocated second storage sub-capacity of the storage drives in the first set corresponding to a cold storage tier;

determining free space in the allocated first storage sub-capacity of each storage drive in the first set;

determining blocks of cold data stored in the allocated second storage sub-capacity transitioning to blocks of hot data; and

in response to the blocks of cold data stored in the allocated second storage sub-capacity transitioning to the blocks of hot data:

reallocating the first storage sub-capacity of each storage drive in the first set, wherein reallocating the first storage sub-capacity comprises placing the blocks of hot data in the reallocated first storage sub-capacity in accordance with a RAID configuration that spans all the storage drives in the first set and all the storage drives in the second set, the reallocated first storage sub-capacity maintaining the first predetermined threshold percentage of the first total storage capacity; and

reallocating the second storage sub-capacity of each storage drive in the first set, wherein reallocating the second storage sub-capacity comprises including the free space in a portion of the reallocated second storage sub-capacity, the reallocated second storage sub-capacity maintaining the second predetermined threshold percentage of the first total storage capacity.

2. The method of claim 1 further comprising:

placing the blocks of hot data in the reallocated first storage sub-capacity of each storage drive in the first set in accordance with a RAID configuration.

3. The method of claim 2 further comprising:

scaling a performance level of the hot storage tier by placing the blocks of hot data in accordance with the RAID configuration that spans all the storage drives in the first set and all the storage drives in the second set.

4. The method of claim 1 wherein the reallocating of one or more of the first storage sub-capacity and the second storage sub-capacity is performed within contiguous storage space of the first storage capacity of each storage drive in the first set.

5. The method of claim 1 wherein the reallocating of one or more of the first storage sub-capacity and the second storage sub-capacity is performed within noncontiguous storage space of the first storage capacity of each storage drive in the first set.

6. A system for providing effective utilization of different drive capacities in a storage appliance, comprising:

a storage drive array including a first set of storage drives and a second set of storage drives, each of the storage drives in the first set having a first total storage capacity, each of the storage drives in the second set having a second total storage capacity, the first total storage capacity of the storage drives in the first set being higher than the second total storage capacity of the storage drives in the second set, the first total storage capacity having a first storage sub-capacity and a second storage sub-capacity, the first storage sub-capacity being equal to the second total storage capacity, the first storage sub-capacity corresponding to a first predetermined threshold percentage of the first total storage capacity, and the second storage sub-capacity corresponding to a second predetermined threshold percentage of the first total storage capacity;

a memory; and

processing circuitry configured to execute program instructions out of the memory to:

allocate the first storage sub-capacity of each storage drive in the first set for storing hot data;

allocate the second total storage capacity of each storage drive in the second set for storing hot data, the allocated first storage sub-capacity of the storage drives in the first set and the allocated second total storage capacity of the storage drives in the second set collectively corresponding to a hot storage tier;

allocate the second storage sub-capacity of each storage drive in the first set for storing cold data, the allocated second storage sub-capacity of the storage drives in the first set corresponding to a cold storage tier;

determine free space in the allocated first storage sub-capacity of each storage drive in the first set;

determine blocks of cold data stored in the allocated second storage sub-capacity transitioning to blocks of hot data; and

in response to the blocks of cold data stored in the allocated second storage sub-capacity transitioning to the blocks of hot data:

reallocate the first storage sub-capacity of each storage drive in the first set, wherein reallocating the first storage sub-capacity comprises placing the blocks of hot data in the reallocated first storage sub-capacity in accordance with a RAID configuration that spans all the storage drives in the first set and all the storage drives in the second set, the reallocated first storage sub-capacity maintaining the first predetermined threshold percentage of the first total storage capacity; and

reallocate the second storage sub-capacity of each storage drive in the first set, wherein reallocating the second storage sub-capacity comprises including the free space in a portion of the reallocated second storage sub-capacity, the reallocated second storage sub-capacity maintaining the second predetermined threshold percentage of the first total storage capacity.

7. The system of claim 6 wherein the processing circuitry is further configured to execute the program instructions out of the memory to reallocate one or more of the first storage sub-capacity and the second storage sub-capacity within contiguous storage space of the first total storage capacity of each storage drive in the first set.

8. The system of claim 6 wherein the processing circuitry is further configured to execute the program instructions out of the memory to reallocate one or more of the first storage sub-capacity and the second storage sub-capacity within noncontiguous storage space of the first total storage capacity of each storage drive in the first set.

9. The system of claim 6 wherein each of the storage drives in the first set and each of the storage drives in the second set correspond to the same type of storage drive.

10. The system of claim 6 wherein the blocks of cold data stored in the allocated second storage sub-capacity of each storage drive in the first set conform to a given RAID configuration.

11. A computer program product including a set of non-transitory, computer-readable media having instructions that, when executed by processing circuitry, cause the processing circuitry to perform a method of providing effective utilization of different drive capacities in a storage appliance, the method comprising:

providing a storage appliance that includes a storage drive array, the storage drive array including a first set of storage drives and a second set of storage drives, each of the storage drives in the first set having a first total storage capacity, each of the storage drives in the second set having a second total storage capacity, the first total storage capacity of the storage drives in the first set being higher than the second total storage capacity of the storage drives in the second set, the first total storage capacity having a first storage sub-capacity and a second storage sub-capacity, the first storage sub-capacity being equal to the second total storage capacity, the first storage sub-capacity corresponding to a first predetermined threshold percentage of the first total storage capacity, and the second storage sub-capacity corresponding to a second predetermined threshold percentage of the first total storage capacity;

allocating the first storage sub-capacity of each storage drive in the first set for storing hot data;

allocating the second total storage capacity of each storage drive in the second set for storing hot data, the allocated first storage sub-capacity of the storage drives in the first set and the allocated second total storage capacity of the storage drives in the second set collectively corresponding to a hot storage tier;

allocating the second storage sub-capacity of each storage drive in the first set for storing cold data, the allocated second storage sub-capacity of the storage drives in the first set corresponding to a cold storage tier;

determining free space in the allocated first storage sub-capacity of each storage drive in the first set;

determining blocks of cold data stored in the allocated second storage sub-capacity transitioning to blocks of hot data; and

in response to the blocks of cold data stored in the allocated second storage sub-capacity transitioning to the blocks of hot data:

reallocating the first storage sub-capacity of each storage drive in the first set, wherein reallocating the first storage sub-capacity comprises placing the blocks of hot data in the reallocated first storage sub-capacity in accordance with a RAID configuration that spans all the storage drives in the first set and all the storage drives in the second set, the reallocated first storage sub-capacity maintaining the first predetermined threshold percentage of the first total storage capacity; and

reallocating the second storage sub-capacity of each storage drive in the first set, wherein reallocating the second storage sub-capacity comprises including the free space in a portion of the reallocated second storage sub-capacity, the reallocated second storage sub-capacity maintaining the second predetermined threshold percentage of the first total storage capacity.

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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2020
From: CUMMINS, DANIEL E.; VANKAMAMIDI, VAMSI K.; LEE, SHUYU
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054774/0942 →
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 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 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 →