IP Library Granted Patent US 11,100,027
Granted Patent B1
US 11,100,027 · App. 16/801,714 · Granted Aug 24, 2021

Storage device protocol dual personality

Inventors: Ian Wigmore (Westborough, MA); Mona S. Tse (Hudson, MA); Michael E. Specht (Bolton, MA); Sanjib Mallick (Bangalore, IN); Vinay G. Rao (Bangalore, IN); Arieh Don (Newton, MA)
Assignee: EMC IP Holding Company LLC
G06F13/4027G06F13/1668
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,100,027
App. No.
16/801,714
Granted
Aug 24, 2021
Kind
B1
Abstract

A storage entity of the data storage system may be visible to the host over a first path and a second path. The first path may operate in accordance with a first protocol and the second path may operate in accordance with a second different protocol. The storage entity may have a first protocol level personality and identity when presented to the host over the first path and a second protocol level personality and identity when presented to the host over the second path. A first native identifier associated of the storage entity on the first path and a second native identifier of the storage entity on the second path may be used to determine that the same storage entity is visible over the first and second paths even though the storage entity may have different protocol level identifiers on the first and second paths that operate using different protocols.

Claims (47)

1. A method of processing requests comprising:

configuring a plurality of paths between a host and a data storage system, wherein a same storage entity of the data storage system is visible to the host over the plurality of paths, wherein a first path of the plurality of paths is used to communicate using a first protocol and a second path of the plurality of paths is used to communicate using a second protocol that is different from the first protocol, wherein the same storage entity is configured to have a first protocol level personality and identity when presented to the host over the first path and wherein the same storage entity is configured to have a second protocol level personality and identity when presented to the host over the second path;

issuing a first request in accordance with the first protocol over the first path to the same storage entity to obtain a first device native identifier of the same storage entity;

responsive to the first request, receiving a first response including first information denoting the first device native identifier of the same storage entity;

issuing a second request in accordance with the second protocol over the second path to the same storage entity to obtain a second device native identifier of the same storage entity;

responsive to the second request, receiving a second response including second information denoting the second device native identifier of the same storage entity;

determining that the first device native identifier and the second device native identifier match; and

responsive to determining the first device native identifier and the second device native identifier match, performing processing on the host that recognizes that the same storage entity is visible on both the first path and the second path.

2. The method of claim 1 , wherein the first protocol level personality and identity include a first protocol level identifier used to identify the same storage entity in accordance with the first protocol.

3. The method of claim 2 , wherein the second protocol level personality and identity include a second protocol level identifier used to identify the same storage entity in accordance with the second protocol.

4. The method of claim 3 , wherein the first protocol level identifier and the second level protocol identifier are different.

5. The method of claim 2 , wherein the same storage entity is visible to the host over a third path of the plurality of paths, the first path and the third path both communicate using the first protocol, the same storage entity is configured to have a third protocol level personality and identity when presented to the host over the third path, the third protocol level personality and identity include a third protocol level identifier, and wherein the third protocol level identifier and the first protocol level identifier match.

6. The method of claim 5 , wherein a fourth path between the host and the data storage system operate using the first protocol, a second storage entity of the data storage system is visible to the host over the fourth path, the second storage entity has a fourth protocol level personality and identity including a fourth protocol level identifier, and wherein the method further comprises:

determining whether the first protocol level identifier and the fourth protocol level identifier match;

responsive to determining the first protocol level identifier and the fourth protocol level identifier match, determining that the second storage entity is the same storage entity; and

responsive to determining the first protocol level identifier and the fourth protocol level identifier do not match, determining that the second storage entity and the same storage entity are two different storage entities.

7. The method of claim 1 , further comprising:

determining the first device native identifier and the second device native identifier using one or more attributes of the data storage system upon which the same storage entity is configured.

8. The method of claim 7 , wherein said determining the first device native identifier and the second device native identifier use one or more local attributes of the same storage entity as defined in the data storage system upon which the same storage entity is configured.

9. The method of claim 8 , wherein the first device native identifier and the second device native identifier are each formed using a serial number or identifier of the data storage system.

10. The method of claim 9 , wherein the first device native identifier and the second device native identifier are each formed using a local device number of the same storage entity, wherein the local device number uniquely identifies the same storage entity with respect to other logical storage entities configured in the data storage system.

11. The method of claim 1 , wherein a multi-path (MP) driver of the host performs the processing that recognizes that the same storage entity is visible on both the first path and the second path.

12. The method of claim 11 , wherein the MP driver presents the same logical device to an application that issues a plurality of I/O operations to the same storage entity.

13. The method of claim 12 , wherein the MP driver transmits the plurality of I/O operations to the same storage entity over the plurality of paths.

14. The method of claim 13 , wherein, for each of the plurality of I/O operations, the MP driver selects, in accordance with a load balancing technique, one of the plurality of paths to send said each I/O operation from the host to the data storage system.

15. The method of claim 1 , wherein the first response is sent over the first path from the data storage system to the host, and wherein the second response is sent over the second path from the data storage system to the host.

16. A system comprising:

at least one processor; and

a memory comprising code stored thereon that, when executed, performs a method of processing requests comprising:

configuring a plurality of paths between a host and a data storage system, wherein a same storage entity of the data storage system is visible to the host over the plurality of paths, wherein a first path of the plurality of paths is used to communicate using a first protocol and a second path of the plurality of paths is used to communicate using a second protocol that is different from the first protocol, wherein the same storage entity is configured to have a first protocol level personality and identity when presented to the host over the first path and wherein the same storage entity is configured to have a second protocol level personality and identity when presented to the host over the second path;

issuing a first request in accordance with the first protocol over the first path to the same storage entity to obtain a first device native identifier of the same storage entity;

responsive to the first request, receiving a first response including first information denoting the first device native identifier of the same storage entity;

issuing a second request in accordance with the second protocol over the second path to the same storage entity to obtain a second device native identifier of the same storage entity;

responsive to the second request, receiving a second response including second information denoting the second device native identifier of the same storage entity;

determining that the first device native identifier and the second device native identifier match; and

responsive to determining the first device native identifier and the second device native identifier match, performing processing on the host that recognizes that the same storage entity is visible on both the first path and the second path.

17. A non-transitory computer readable medium comprising code stored thereon that, when executed, perform a method of processing requests comprising:

configuring a plurality of paths between a host and a data storage system, wherein a same storage entity of the data storage system is visible to the host over the plurality of paths, wherein a first path of the plurality of paths is used to communicate using a first protocol and a second path of the plurality of paths is used to communicate using a second protocol that is different from the first protocol, wherein the same storage entity is configured to have a first protocol level personality and identity when presented to the host over the first path and wherein the same storage entity is configured to have a second protocol level personality and identity when presented to the host over the second path;

issuing a first request in accordance with the first protocol over the first path to the same storage entity to obtain a first device native identifier of the same storage entity;

responsive to the first request, receiving a first response including first information denoting the first device native identifier of the same storage entity;

issuing a second request in accordance with the second protocol over the second path to the same storage entity to obtain a second device native identifier of the same storage entity;

responsive to the second request, receiving a second response including second information denoting the second device native identifier of the same storage entity;

determining that the first device native identifier and the second device native identifier match; and

responsive to determining the first device native identifier and the second device native identifier match, performing processing on the host that recognizes that the same storage entity is visible on both the first path and the second path.

18. The non-transitory computer readable medium of claim 17 , wherein the first protocol level personality and identity include a first protocol level identifier used to identify the same storage entity in accordance with the first protocol.

19. The non-transitory computer readable medium of claim 18 , wherein the second protocol level personality and identity include a second protocol level identifier used to identify the same storage entity in accordance with the second protocol.

20. The non-transitory computer readable medium of claim 19 , wherein the first protocol level identifier and the second level protocol identifier are different.

Assignments (13)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) 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 CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
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 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 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 CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2020
From: WIGMORE, IAN; TSE, MONA S.; SPECHT, MICHAEL E.; MALLICK, SANJIB; RAO, VINAY G.; DON, ARIEH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052022/0321 →