IP Library Granted Patent US 11,144,222
Granted Patent B2
US 11,144,222 · App. 16/882,116 · Granted Oct 12, 2021

System and method for auto-tiering data in a log-structured file system based on logical slice read temperature

Inventors: Nickolay Dalmatov (St. Petersburg, RU); Kirill Bezugly (St. Petersburg, RU)
Assignee: EMC IP Holding Company, LLC
G06F3/0631G06F3/0604G06F3/067G06F3/0653G06F3/0685
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,144,222
App. No.
16/882,116
Granted
Oct 12, 2021
Kind
B2
Abstract

A method, computer program product, and computing system for partitioning an address space of a storage object of a log-structured file system into a plurality of slices, wherein the log-structured file system includes a plurality of storage objects in a plurality of storage tiers. One or more physical data blocks of the storage object may be allocated to each of the plurality of slices. A read temperature associated with at least one slice of the plurality of slices may be determined. A read temperature associated with each physical data block allocated to the at least one slice may be determined. At least one physical data block allocated to the at least one slice may be retiered between the plurality of storage tiers based upon, at least in part, the read temperature associated with each physical data block of the one or more physical data blocks allocated to the at least one slice.

Claims (45)

1. A computer-implemented method, executed on a computing device, comprising:

partitioning an address space of a storage object of a log-structured file system into a plurality of slices, wherein the log-structured file system includes a plurality of storage objects in a plurality of storage tiers, wherein the plurality of storage objects are configured to receive read IO operations and write IO operations;

allocating one or more physical data blocks of the storage object to each of the plurality of slices;

determining a read temperature associated with at least one slice of the plurality of slices;

determining a read temperature associated with each physical data block of the one or more physical data blocks allocated to the at least one slice; and

retiering at least one physical data block of the one or more physical data blocks allocated to the at least one slice between the plurality of storage tiers based upon, at least in part, the read temperature associated with each physical data block of the one or more physical data blocks allocated to the at least one slice, wherein the retiering is not based on any write temperature associated with the log-structured file system.

2. The computer-implemented method of claim 1 , wherein partitioning the address space of the storage object into a plurality of slices includes one or more of:

aligning a size of each slice of the plurality of slices with a size of a physical data block, and

dynamically aligning the size of each slice of the plurality of slices based upon, at least in part, a threshold number of slices per storage object.

3. The computer-implemented method of claim 1 , wherein determining the read temperature associated with the at least one slice of the plurality of slices includes monitoring one or more read IO operations performed on the at least one slice.

4. The computer-implemented method of claim 1 , wherein determining the read temperature associated with each physical data block of the one or more physical data blocks allocated to the at least one slice includes dividing the read temperature associated with the at least one slice by the number of physical data blocks allocated to the at least one slice.

5. The computer-implemented method of claim 1 , wherein retiering the at least one physical data block of the one or more physical data blocks allocated to the at least one slice includes retiering a segment of physical data blocks from the storage object.

6. The computer-implemented method of claim 5 , wherein retiering the segment of physical data blocks includes one or more of:

demoting the segment of physical data blocks from a first tier to a second tier, and

promoting the segment of physical data blocks from the second tier to the first tier.

7. The computer-implemented method of claim 6 , wherein the first tier includes a plurality of solid state drives and the second tier includes a plurality of hard disk drives.

8. A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:

partitioning an address space of a storage object of a log-structured file system into a plurality of slices, wherein the log-structured file system includes a plurality of storage objects in a plurality of storage tiers, wherein the plurality of storage objects are configured to receive read IO operations and write IO operations;

allocating one or more physical data blocks of the storage object to each of the plurality of slices;

determining a read temperature associated with at least one slice of the plurality of slices;

determining a read temperature associated with each physical data block of the one or more physical data blocks allocated to the at least one slice; and

retiering at least one physical data block of the one or more physical data blocks allocated to the at least one slice between the plurality of storage tiers based upon, at least in part, the read temperature associated with each physical data block of the one or more physical data blocks allocated to the at least one slice, wherein the retiering is not based on any write temperature associated with the log-structured file system.

9. The computer program product of claim 8 , wherein partitioning the address space of the storage object into a plurality of slices includes one or more of:

aligning a size of each slice of the plurality of slices with a size of a physical data block, and

dynamically aligning the size of each slice of the plurality of slices based upon, at least in part, a threshold number of slices per storage object.

10. The computer program product of claim 8 , wherein determining the read temperature associated with the at least one slice of the plurality of slices includes monitoring one or more read IO operations performed on the at least one slice.

11. The computer program product of claim 8 , wherein determining the read temperature associated with each physical data block of the one or more physical data blocks allocated to the at least one slice includes dividing the read temperature associated with the at least one slice by the number of physical data blocks allocated to the at least one slice.

12. The computer program product of claim 8 , wherein retiering the at least one physical data block of the one or more physical data blocks allocated to the at least one slice includes retiering a segment of physical data blocks from the storage object.

13. The computer program product of claim 12 , wherein retiering the segment of physical data blocks includes one or more of:

demoting the segment of physical data blocks from a first tier to a second tier, and

promoting the segment of physical data blocks from the second tier to the first tier.

14. The computer program product of claim 13 , wherein the first tier includes a plurality of solid state drives and the second tier includes a plurality of hard disk drives.

15. A computing system comprising:

a memory architecture; and

a processor configured to partition an address space of a storage object of

a log-structured file system into a plurality of slices, wherein the log-structured file system includes a plurality of storage objects in a plurality of storage tiers, wherein the plurality of storage objects are configured to receive read IO operations and write IO operations, the processor further configured to allocate one or more physical data blocks of the storage object to each of the plurality of slices, the processor further configured to determine a read temperature associated with at least one slice of the plurality of slices, the processor further configured to determine a read temperature associated with each physical data block of the one or more physical data blocks allocated to the at least one slice, and the processor further configured to retier at least one physical data block of the one or more physical data blocks allocated to the at least one slice between the plurality of storage tiers based upon, at least in part, the read temperature associated with each physical data block of the one or more physical data blocks allocated to the at least one slice, wherein the retiering is not based on any write temperature associated with the log-structured file system.

16. The computing system of claim 15 , wherein partitioning the address space of the storage object into a plurality of slices includes one or more of:

aligning a size of each slice of the plurality of slices with a size of a physical data block, and

dynamically aligning the size of each slice of the plurality of slices based upon, at least in part, a threshold number of slices per storage object.

17. The computing system of claim 15 , wherein determining the read temperature associated with the at least one slice of the plurality of slices includes monitoring one or more read TO operations performed on the at least one slice.

18. The computing system of claim 15 , wherein determining the read temperature associated with each physical data block of the one or more physical data blocks allocated to the at least one slice includes dividing the read temperature associated with the at least one slice by the number of physical data blocks allocated to the at least one slice.

19. The computing system of claim 15 , wherein retiering the at least one physical data block of the one or more physical data blocks allocated to the at least one slice includes retiering a segment of physical data blocks from the storage object.

20. The computing system of claim 19 , wherein retiering the segment of physical data blocks includes one or more of:

demoting the segment of physical data blocks from a first tier to a second tier, and

promoting the segment of physical data blocks from the second tier to the first tier.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2020
From: DALMATOV, NICKOLAY; BEZUGLY, KIRILL
To: EMC IP HOLDING COMPANY, LLC
Reel/Frame 052739/0619 →