IP Library Granted Patent US 11,099,741
Granted Patent B1
US 11,099,741 · App. 15/799,070 · Granted Aug 24, 2021

Parallel access volume I/O processing with intelligent alias selection across logical control units

Inventors: Douglas Eric LeCrone (Hopkinton, MA); Paul Linstead (Shrewsbury, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0613G06F3/0665G06F3/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,099,741
App. No.
15/799,070
Granted
Aug 24, 2021
Kind
B1
Abstract

Techniques are provided for assigning alias devices in a parallel access volume storage environment. An exemplary method for assigning alias devices by a host in a parallel access volume storage environment comprises: obtaining a next I/O (input/output) operation from a queue; obtaining a utilization factor for a plurality of available I/O processing thread in the storage controller; and assigning the next I/O operation to an alias device associated with a given one of the plurality of available I/O processing threads based on the utilization factors.

Claims (40)

1. A method for assigning alias devices by a host in a parallel access volume storage environment, comprising:

converting an original I/O (input/output) operation of the parallel access volume storage environment into a plurality of subdivided I/O operations, wherein the parallel access volume storage environment comprises a plurality of logical control units, each logical control unit comprising (i) at least one base device comprising an I/O queue, and (ii) a plurality of alias devices;

obtaining, by at least one processing device, a given one of the subdivided I/O operations from a first I/O queue corresponding to a first one of the plurality of logical control units of the parallel access volume storage environment;

obtaining, by the at least one processing device, (i) a utilization factor for each of a plurality of available I/O processing threads in a storage controller and (ii) a performance measurement associated with one or more previous I/O operations of the parallel access volume storage environment; and

assigning, by the at least one processing device based on the utilization factors and the performance measurement, the given one of the subdivided I/O operations to one of the alias devices of a second one of the logical control units of the parallel access volume storage environment that corresponds to a given one of the plurality of available I/O processing threads, wherein at least one of the other subdivided I/O operations from the first I/O queue is assigned to one of the alias devices of the first logical control unit that corresponds to another one of the plurality of available I/O processing threads.

2. The method of claim 1 , wherein the given one of the subdivided I/O operations is assigned to the one of the alias devices associated with an I/O processing thread having a lowest utilization factor.

3. The method of claim 1 , wherein the given one of the subdivided I/O operations is assigned to the one of the alias devices associated with an I/O processing thread having a utilization factor below a predefined threshold.

4. The method of claim 1 , wherein the given one of the subdivided I/O operations is assigned to the one of the alias devices to balance the utilization factors for the plurality of available I/O processing threads.

5. The method of claim 1 , wherein the second logical control unit of the parallel access volume storage environment is associated with a second I/O queue that is different than the first I/O queue.

6. The method of claim 1 , wherein the given one of the subdivided I/O operations is assigned to the one of the alias devices associated with an I/O processing thread based on a prioritization of one or more of available hardware resources and data resources.

7. The method of claim 1 , wherein the given one of the subdivided I/O operations is assigned to the one of the alias devices associated with an I/O processing thread such that at least one of:

a predefined load target is maintained for one or more of hardware resources and logical components; and

a predefined resource capacity is preserved for one or more available hardware resources.

8. The method of claim 1 , comprising monitoring a performance of an execution of I/O operations.

9. The method of claim 1 , wherein the one or more previous I/O operations comprise at least one I/O operation that was assigned from an I/O queue corresponding to a given one of the plurality of logical control units to an alias device of a different one of the logical control units of the parallel access volume storage environment, and wherein the method comprises:

computing the performance measurement by monitoring an I/O throughput of the one or more previous I/O operations.

10. The method of claim 1 , comprising:

executing the plurality of subdivided I/O operations in parallel.

11. A system for assigning alias devices by a host in a parallel access volume storage environment, comprising:

a memory; and

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

converting an original I/O (input/output) operation of the parallel access volume storage environment into a plurality of subdivided I/O operations, wherein the parallel access volume storage environment comprises a plurality of logical control units, each logical control unit comprising (i) at least one base device comprising an I/O queue, and (ii) a plurality of alias devices;

obtaining, by the at least one processing device, a given one of the subdivided I/O operations from a first I/O queue corresponding to a first one of the plurality of logical control units of the parallel access volume storage environment;

obtaining, by the at least one processing device, (i) utilization factor for each of a plurality of available I/O processing threads in a storage controller and (ii) a performance measurement associated with one or more previous I/O operations of the parallel access volume storage environment; and

assigning, by the at least one processing device based on the utilization factors and the performance measurement, the given one of the subdivided I/O operations to one of the alias devices of a second one of the logical control units of the parallel access volume storage environment that corresponds to a given one of the plurality of available I/O processing threads, wherein at least one of the other subdivided I/O operations from the first I/O queue is assigned to one of the alias devices of the first logical control unit that corresponds to another one of the plurality of available I/O processing threads.

12. The system of claim 11 , wherein the given one of the subdivided I/O operations is assigned to the one of the alias devices associated with an I/O processing thread having a lowest utilization factor.

13. The system of claim 11 , wherein the given one of the subdivided I/O operations is assigned to the one of the alias devices associated with an I/O processing thread having a utilization factor below a predefined threshold.

14. The system of claim 11 , wherein the given one of the subdivided I/O operations is assigned to the one of the alias devices to balance the utilization factors for the plurality of available I/O processing threads.

15. The system of claim 11 , wherein the second logical control unit of the parallel access volume storage environment is associated with a second I/O queue that is different than the first I/O queue.

16. The system of claim 11 , wherein the given one of the subdivided I/O operations is assigned to the one of the alias devices associated with an I/O processing thread based on a prioritization of one or more of available hardware resources and data resources.

17. The system of claim 11 , wherein the given one of the subdivided I/O operations is assigned to the one of the alias devices associated with an I/O processing thread such that at least one of:

a predefined load target is maintained for one or more of hardware resources and logical components; and

a predefined resource capacity is preserved for one or more available hardware resources.

18. The system of claim 11 , wherein the at least one processing device is operative to implement the step of monitoring a performance of an execution of I/O operations.

19. A computer program product for assigning alias devices by a host in a parallel access volume storage environment, 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:

converting an original I/O (input/output) operation of the parallel access volume storage environment into a plurality of subdivided I/O operations, wherein the parallel access volume storage environment comprises a plurality of logical control units, each logical control unit comprising (i) at least one base device comprising an I/O queue, and (ii) a plurality of alias devices;

obtaining, by the at least one processing device, a given one of the subdivided I/O operations from a first I/O queue corresponding to a first one of the plurality of logical control units of the parallel access volume storage environment;

obtaining, by the at least one processing device, (i) utilization factor for each of a plurality of available I/O processing threads in a storage controller and (ii) a performance measurement associated with one or more previous I/O operations of the parallel access volume storage environment; and

assigning, by the at least one processing device based on the utilization factors and the performance measurement, the given one of the subdivided I/O operations to one of the alias devices of a second one of the logical control units of the parallel access volume storage environment that corresponds to a given one of the plurality of available I/O processing threads, wherein at least one of the other subdivided I/O operations from the first I/O queue is assigned to one of the alias devices of the first logical control unit that corresponds to another one of the plurality of available I/O processing threads.

20. The computer program product of claim 19 , wherein the given one of the subdivided I/O operations is assigned to the one of the alias devices associated with an I/O processing thread having a lowest utilization factor.

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 (044535/0109) 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0414 →
RELEASE OF SECURITY INTEREST AT REEL 044535 FRAME 0001 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0475 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 044535/0109 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 044535/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2017
From: LECRONE, DOUGLAS ERIC; LINSTEAD, PAUL
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 043994/0277 →