IP Library Granted Patent US 11,455,116
Granted Patent B2
US 11,455,116 · App. 17/123,347 · Granted Sep 27, 2022

Reservation handling in conjunction with switching between storage access protocols

Inventors: Amit Pundalik Anchi (Bangalore, IN); Vinay G. Rao (Bangalore, IN); Sanjib Mallick (Bangalore, IN); Arieh Don (Newton, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0655G06F3/0604G06F3/0679
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,455,116
App. No.
17/123,347
Granted
Sep 27, 2022
Kind
B2
Abstract

At least one processing device is configured to register a logical storage device of a storage system for a first set of paths associated with a first access protocol using a host identifier, to send a first reservation command in the first access protocol over each of the paths in the first set of paths, to register the logical storage device of the storage system for a second set of paths associated with a second access protocol using the same host identifier used in registering the logical storage device for the first set of paths, to receive an additional reservation command in the first access protocol, and responsive to receipt of the additional reservation command in the first access protocol, to translate the additional reservation command to the second access protocol, and to send the additional reservation command in the second access protocol to the storage system.

Claims (81)

1. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

said at least one processing device being configured:

to register a logical storage device of a storage system for a first set of paths associated with a first access protocol using a host identifier;

to send a first reservation command in the first access protocol over each of the paths in the first set of paths;

to register the logical storage device of the storage system for a second set of paths associated with a second access protocol using the same host identifier used in registering the logical storage device for the first set of paths;

to receive an additional reservation command in the first access protocol; and

responsive to receipt of the additional reservation command in the first access protocol, to translate the additional reservation command to the second access protocol, and to send the additional reservation command in the second access protocol to the storage system;

wherein said at least one processing device is further configured:

to receive multi-protocol configuration information from the storage system; and

wherein the multi-protocol configuration information comprises at least one of:

(a) an indication as to whether or not multiple access protocols are supported by the storage system; and

(b) an indication as to whether or not multiple access protocols reservations are supported by the storage system.

2. The apparatus of claim 1 wherein the first access protocol comprises a Small Computer System Interface (SCSI) access protocol and the second access protocol comprises a Non-Volatile Memory Express (NVMe) access protocol.

3. The apparatus of claim 2 wherein the SCSI access protocol comprises a SCSI over Fibre Channel (SCSI-FC) access protocol and the NVMe access protocol comprises an NVMe over Fabrics (NVMeF) access protocol.

4. The apparatus of claim 1 wherein said at least one processing device comprises at least a portion of at least one host device coupled to a storage system via at least one network.

5. The apparatus of claim 4 wherein the paths are associated with respective initiator-target pairs and wherein each of a plurality of initiators of the initiator-target pairs comprises a corresponding host bus adaptor of said at least one host device and each of a plurality of targets of the initiator-target pairs comprises a corresponding port of the storage system.

6. The apparatus of claim 4 wherein said at least one host device comprises a multi-path layer, the multi-path layer comprising at least one multi-path input-output driver configured to control delivery of input-output operations from said at least one host device to the storage system over selected paths through the network.

7. The apparatus of claim 1 wherein the host identifier comprises a host name of a particular host device.

8. The apparatus of claim 1 wherein registering the logical storage device for the first set of paths associated with the first access protocol comprises:

for each path in the first set of paths:

sending a vendor unique registration command to the storage system for the path; and

sending a registered key for the path with the vendor unique registration command, the registered key having a key type specified in the first access protocol;

wherein the storage system associates the host identifier with the registered keys for the respective paths of the first set of paths.

9. The apparatus of claim 8 wherein the key type specified in the first access protocol comprises a randomly-generated key.

10. The apparatus of claim 1 wherein registering the logical storage device for the second set of paths associated with the second access protocol comprises:

for each path in the second set of paths:

sending a vendor unique registration command to the storage system for the path; and

sending a registered key for the path with the vendor unique registration command, the registered key having a key type specified in the second access protocol;

wherein the storage system associates the host identifier with the registered keys for the respective paths of the second set of paths.

11. The apparatus of claim 10 wherein the key type specified in the second access protocol comprises a host identifier.

12. The apparatus of claim 1 wherein said at least one processing device is further configured:

to send a sense command to the storage system;

wherein the multi-protocol configuration information is received in response to the sending of the sense command.

13. The apparatus of claim 1 wherein receiving an additional reservation command in the first access protocol comprises receiving a read reservation keys command.

14. The apparatus of claim 1 wherein said at least one processing device is further configured:

to receive from the storage system, in response to the additional reservation command sent to the storage system in the second access protocol, reservation information of a type specified in the second access protocol; and

to provide the reservation information to a requesting application.

15. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code, when executed by at least one processing device comprising a processor coupled to a memory and configured to communicate over a network with a storage system, causes said at least one processing device:

to register a logical storage device of a storage system for a first set of paths associated with a first access protocol using a host identifier;

to send a first reservation command in the first access protocol over each of the paths in the first set of paths;

to register the logical storage device of the storage system for a second set of paths associated with a second access protocol using the same host identifier used in registering the logical storage device for the first set of paths;

to receive an additional reservation command in the first access protocol; and

responsive to receipt of the additional reservation command in the first access protocol, to translate the additional reservation command to the second access protocol, and to send the additional reservation command in the second access protocol to the storage system;

wherein the program code, when executed by said at least one processing device, further causes said at least one processing device:

to receive multi-protocol configuration information from the storage system; and

wherein the multi-protocol configuration information comprises at least one of:

(a) an indication as to whether or not multiple access protocols are supported by the storage system; and

(b) an indication as to whether or not multiple access protocols reservations are supported by the storage system.

16. The computer program product of claim 15 wherein registering the logical storage device for the first set of paths associated with the first access protocol comprises:

for each path in the first set of paths:

sending a vendor unique registration command to the storage system for the path; and

sending a registered key for the path with the vendor unique registration command, the registered key having a key type specified in the first access protocol;

wherein the storage system associates the host identifier with the registered keys for the respective paths of the first set of paths.

17. The computer program product of claim 15 wherein registering the logical storage device for the second set of paths associated with the second access protocol comprises:

for each path in the second set of paths:

sending a vendor unique registration command to the storage system for the path; and

sending a registered key for the path with the vendor unique registration command, the registered key having a key type specified in the second access protocol;

wherein the storage system associates the host identifier with the registered keys for the respective paths of the second set of paths.

18. A method comprising:

registering a logical storage device of a storage system for a first set of paths associated with a first access protocol using a host identifier;

sending a first reservation command in the first access protocol over each of the paths in the first set of paths;

registering the logical storage device of the storage system for a second set of paths associated with a second access protocol using the same host identifier used in registering the logical storage device for the first set of paths;

receiving an additional reservation command in the first access protocol; and

responsive to receipt of the additional reservation command in the first access protocol, translating the additional reservation command to the second access protocol, and sending the additional reservation command in the second access protocol to the storage system;

the method further comprising:

receiving multi-protocol configuration information from the storage system;

wherein the multi-protocol configuration information comprises at least one of:

(a) an indication as to whether or not multiple access protocols are supported by the storage system; and

(b) an indication as to whether or not multiple access protocols reservations are supported by the storage system; and

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

19. The method of claim 18 wherein registering the logical storage device for the first set of paths associated with the first access protocol comprises:

for each path in the first set of paths:

sending a vendor unique registration command to the storage system for the path; and

sending a registered key for the path with the vendor unique registration command, the registered key having a key type specified in the first access protocol;

wherein the storage system associates the host identifier with the registered keys for the respective paths of the first set of paths.

20. The method of claim 18 wherein registering the logical storage device for the second set of paths associated with the second access protocol comprises:

for each path in the second set of paths:

sending a vendor unique registration command to the storage system for the path; and

sending a registered key for the path with the vendor unique registration command, the registered key having a key type specified in the second access protocol;

wherein the storage system associates the host identifier with the registered keys for the respective paths of the second set of paths.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0342) 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/0460 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0051) 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/0663 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056136/0752) 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/0771 →
RELEASE OF SECURITY INTEREST AT REEL 055408 FRAME 0697 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0553 →
SECURITY INTEREST Recorded Mar 3, 2021
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 056136/0752 →
SECURITY INTEREST Recorded Mar 3, 2021
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 055479/0051 →
SECURITY INTEREST Recorded Mar 3, 2021
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 055479/0342 →
SECURITY AGREEMENT Recorded Feb 25, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 055408/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2020
From: ANCHI, AMIT PUNDALIK; RAO, VINAY G.; MALLICK, SANJIB; DON, ARIEH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054664/0238 →