IP Library Granted Patent US 11,379,138
Granted Patent B2
US 11,379,138 · App. 16/863,552 · Granted Jul 5, 2022

Method, device, and computer program product for managing access request in storage system

Inventor: Bing Liu (Tianjin, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0644G06F3/0608G06F3/0611G06F3/0652G06F3/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,379,138
App. No.
16/863,552
Granted
Jul 5, 2022
Kind
B2
Abstract

The present disclosure relates to a method, device and program product for managing an access request in a storage system. In the method, based on an access request to the storage system, an address range of a data object involved in the access request is obtained. An access type of the access request is identified in accordance with determining that a garbage collection operation is performed on a data extent within the address range. The access request is responded to based on the access type by using a data extent within an address range in the storage system on which no garbage collection operation is performed.

Claims (102)

1. A method for managing an access request in a storage system, the method comprising:

obtaining, based on an access request to the storage system, an address range of a data object involved in the access request;

determining whether a garbage collection operation is performed on any data extent within the address range, based on an association relationship between a group of address ranges and a group of operations being performed on a group of data extents within the group of address ranges;

identifying an access type of the access request in accordance with determining that the garbage collection operation is performed on the data extent within the address range;

responding to the access request based on the access type by using a data extent within an address range in the storage system on which no garbage collection operation is performed;

obtaining a group of performance features associated with the group of data extents and the group of operations being performed on the group of data extents; and

training the association relationship based on the group of operations and the group of performance features associated with the group of data extents, so that a group of operation state estimates obtained based on the trained association relationship and the group of performance features match the group of operations,

wherein the performance feature in the group of performance features comprises a payload in the data amount,

wherein determining the payload comprises:

determining a difference between the data amount accessed in the data extent and a target data object in the storage system, and

determining the payload based on the difference.

2. The method of claim 1 ,

wherein the storage system is a Redundant Array of Independent Disks,

wherein the storage system comprising a plurality of stripes; and

wherein responding to the access request based on the access type by using the data extent within the address range in the storage system on which no garbage collection operation is performed comprises:

in accordance with determining that the access type is a read type,

determining a stripe where the data extent resides within the address range;

reading a group of data from a group of data extents other than the data extent in the stripe; and

rebuilding the data object based on the read group of data.

3. The method of claim 1 ,

wherein the storage system is a Redundant Array of Independent Disks,

wherein the storage system comprising a plurality of stripes; and

wherein responding to the access request based on the access type by using the data extent within the address range in the storage system on which no garbage collection operation is performed comprises:

in accordance with determining that the access type is a write type,

selecting from the storage system a temporary data extent on which no garbage collection operation is performed;

writing the data object to the selected temporary data extent; and

updating an address mapping corresponding to the data object, so as to set an address of the data object as a second address range to which the data object is written.

4. The method of claim 3 , wherein selecting from the storage system the temporary data extent on which no garbage collection operation is performed comprises:

determining a stripe where the data extent resides;

determining a group of data extents other than the data extent in the stripe; and

selecting the temporary data extent from a storage device other than a group of storage devices where the group of data extents reside in the storage system.

5. The method of claim 3 , further comprising:

migrating the data object from the temporary data extent to the address range in accordance with determining that the garbage collection operation has been completed; and

updating the address mapping so as to set the address of the data object as the address range.

6. The method of claim 1 ,

wherein the storage system is a Redundant Array of Independent Disks,

wherein the storage system comprising a plurality of stripes; and

wherein responding to the access request based on the access type by using the data extent within the address range in the storage system on which no garbage collection operation is performed comprises:

in accordance with determining that the access type is a space allocation type,

selecting from the storage system a group of data extents on which no garbage collection operation is performed; and

allocating the selected group of data extents to a requester of the access request.

7. The method of claim 1 , wherein a performance feature in the group of performance features further comprises at least one of:

latency time in accessing a data extent in the group of data extents, a change of the latency time within a predetermined time period, and a data amount accessed in the data extent.

8. The method of claim 1 , wherein determining whether the garbage collection operation is performed on the data extent within the address range comprises:

determining a performance feature associated with the data extent within the address range; and

obtaining the operation state estimate associated with the determined performance feature based on the performance feature and the association relationship.

9. An electronic device, comprising:

at least one processor; and

a memory coupled to the at least one processor, the memory having instructions stored thereon, the instructions, when executed by the at least one processor, causing the electronic device to perform a method for managing an access request in a storage system, the method comprising:

obtaining, based on an access request to the storage system, an address range of a data object involved in the access request;

determining whether a garbage collection operation is performed on a data extent within the address range, based on an association relationship between a group of address ranges and a group of operations being performed on a group of data extents within the group of address ranges;

identifying an access type of the access request in accordance with determining that the garbage collection operation is performed on the data extent within the address range;

responding to the access request based on the access type by using a data extent within an address range in the storage system on which no garbage collection operation is performed;

obtaining a group of performance features associated with the group of data extents and the group of operations being performed on the group of data extents; and

training the association relationship based on the group of operations and the group of performance features associated with the group of data extents, so that a group of operation state estimates obtained based on the trained association relationship and the group of performance features match the group of operations,

wherein the performance feature in the group of performance features comprises a payload in the data amount,

wherein determining the payload comprises:

determining a difference between the data amount accessed in the data extent and a target data object in the storage system, and

determining the payload based on the difference.

10. The electronic device of claim 9 ,

wherein the storage system is a Redundant Array of Independent Disks,

wherein the storage system comprising a plurality of stripes; and

wherein responding to the access request based on the access type by using the data extent within the address range in the storage system on which no garbage collection operation is performed comprises:

in accordance with determining that the access type is a read type,

determining a stripe where the data extent resides within the address range;

reading a group of data from a group of data extents other than the data extent in the stripe; and

rebuilding the data object based on the read group of data.

11. The electronic device of claim 9 ,

wherein the storage system is a Redundant Array of Independent Disks,

wherein the storage system comprising a plurality of stripes; and

wherein responding to the access request based on the access type by using the data extent within the address range in the storage system on which no garbage collection operation is performed comprises:

in accordance with determining that the access type is a write type,

selecting from the storage system a temporary data extent on which no garbage collection operation is performed;

writing the data object to the selected temporary data extent; and

updating an address mapping corresponding to the data object, so as to set an address of the data object as a second address range to which the data object is written.

12. The electronic device of claim 11 , wherein selecting from the storage system the temporary data extent on which no garbage collection operation is performed comprises:

determining a stripe where the data extent resides;

determining a group of data extents other than the data extent in the stripe; and

selecting the temporary data extent from a storage device other than a group of storage devices where the group of data extents reside in the storage system.

13. The electronic device of claim 11 , the method further comprising:

migrating the data object from the temporary data extent to the address range in accordance with determining that the garbage collection operation has been completed; and

updating the address mapping so as to set the address of the data object as the address range.

14. The electronic device of claim 9 ,

wherein the storage system is a Redundant Array of Independent Disks,

wherein the storage system comprising a plurality of stripes; and

wherein responding to the access request based on the access type by using the data extent within the address range in the storage system on which no garbage collection operation is performed comprises:

in accordance with determining that the access type is a space allocation type,

selecting from the storage system a group of data extents on which no garbage collection operation is performed; and

allocating the selected group of data extents to a requester of the access request.

15. The electronic device of claim 9 , wherein a performance feature in the group of performance features further comprises at least one of:

latency time in accessing a data extent in the group of data extents, a change of the latency time within a predetermined time period, and a data amount accessed in the data extent.

16. A computer program product, tangibly stored on a non-transitory computer-readable medium and comprising machine-executable instructions, which are used to perform a method, the method comprising:

obtaining, based on an access request to the storage system, an address range of a data object involved in the access request;

determining whether a garbage collection operation is performed on any data extent within the address range, based on an association relationship between a group of address ranges and a group of operations being performed on a group of data extents within the group of address ranges;

identifying an access type of the access request in accordance with determining that the garbage collection operation is performed on the data extent within the address range;

responding to the access request based on the access type by using a data extent within an address range in the storage system on which no garbage collection operation is performed;

obtaining a group of performance features associated with the group of data extents and the group of operations being performed on the group of data extents; and

training the association relationship based on the group of operations and the group of performance features associated with the group of data extents, so that a group of operation state estimates obtained based on the trained association relationship and the group of performance features match the group of operations,

wherein the performance feature in the group of performance features comprises a payload in the data amount,

wherein determining the payload comprises:

determining a difference between the data amount accessed in the data extent and a target data object in the storage system, and

determining the payload based on the difference.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) Recorded Jun 23, 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 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) Recorded Jun 23, 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 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) Recorded Jun 23, 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 060436/0582 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2020
From: LIU, BING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052542/0765 →