IP Library Granted Patent US 11,403,036
Granted Patent B2
US 11,403,036 · App. 16/790,257 · Granted Aug 2, 2022

Recover time improvement mechanism after device path failure in a storage system

Inventors: Lior Kamran (Rishon LeZion, IL); Alex Soukhman (Raanana, IL)
Assignee: EMC IP Holding Company LLC
G06F3/0659G06F3/0604G06F3/067G06F16/2379
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,403,036
App. No.
16/790,257
Granted
Aug 2, 2022
Kind
B2
Abstract

A method comprising: receiving, by a first storage node, an instruction to designate a first device file as the first storage node's primary device file for accessing a storage device designating, by the first storage node, the first device file as the first storage node's primary device file for accessing the storage device, the first device file being designated as the first storage node's primary device file for accessing the storage device in response to the first instruction; receiving, at the first storage node, an I/O command that is associated with the storage device; making a first attempt to complete the I/O command by using the first device file, detecting, by the first storage node, an error that is generated in response to the first attempt; designating, by the first storage node, a second device file as the first storage node's primary device file for accessing the storage device.

Claims (58)

1. A method comprising:

receiving, by a first storage node, a first instruction to designate a first device file as the first storage node's primary device file for accessing a storage device, the first instruction being received from a management system;

designating, by the first storage node, the first device file as the first storage node's primary device file for accessing the storage device, the first device file being designated as the first storage node's primary device file for accessing the storage device in response to the first instruction;

receiving, at the first storage node, an I/O command that is associated with the storage device;

making, by the first storage node, a first attempt to complete the I/O command by using the first device file to access the storage device, the first device file being selected for use in the first attempt based on the first device file being designated as the storage node's primary device file for accessing the storage device,

detecting, by the first storage node, an error that is generated in response to the first attempt;

designating, by the first storage node, a second device file as the first storage node's primary device file for accessing the storage device, the second device file being designated as the first storage node's primary device file for accessing the storage device in response to the error, the designation of the second device file as the first storage node's primary device file being performed autonomously of the management system; and

making a second attempt to complete the I/O command by using the second device file, the second device file being selected for use in the second attempt based on the second device file being designated as the first storage node's primary device file for accessing the storage device,

wherein each of the first device file and each of the second device file is associated with a different interface of the storage device.

2. The method of claim 1 , wherein only one of the first device file and the second device file is designated as the first storage node's primary device file for accessing the storage device at any given time during an operation of the first storage node.

3. The method of claim 1 , wherein both the first device file and the second device file are stored in a memory of the first storage node at any given time during an operation of the first storage node.

4. The method of claim 1 , wherein:

designating the first device file as the first storage node's primary device file for accessing the storage device includes causing a configuration setting of the first storage node to indicate that the first device file is the first storage node's primary device file for accessing the storage device; and

designating the second device file as the first storage node's primary device file for accessing the storage device includes causing the configuration setting to indicate that the second device file is the first storage node's primary device file for accessing the storage device.

5. The method of claim 1 , further comprising transmitting, from the first storage node to the management system, a notification that the second device file has been designated as the first storage node's primary device file for accessing the storage device.

6. The method of claim 5 , wherein the notification is transmitted to the management system after the second attempt is made.

7. The method of claim 5 , wherein

the management system is configured to maintain a database including at least (i) a first entry that identifies the first storage node's primary device for accessing the storage device, and (ii) a second entry that identifies a second storage node's primary device file for accessing the storage device; and

in response to receiving the notification, the management system is configured to update the first entry to indicate that the second device file is the first storage node's primary device file for accessing the storage device.

8. An apparatus comprising:

a memory storing at least a first device file for accessing a storage device and a second device file for accessing the storage device; and

at least one processor that is operatively coupled to the memory, the at least one processor being configured to perform the operations of:

receiving a first instruction to designate a first device file as a primary device file for accessing a storage device, the first instruction being received from a management system;

designating the first device file as a primary device file for accessing the storage device, the first device file being designated as a primary device file for accessing the storage device in response to the first instruction;

receiving an I/O command that is associated with the storage device;

making a first attempt to complete the I/O command by using the first device file to access the storage device, the first device file being selected for use in the first attempt based on the first device file being designated as the primary device file for accessing the storage device,

detecting an error that is generated in response to the first attempt;

designating a second device file as the primary device file for accessing the storage device, the second device file being designated as a primary device file for accessing the storage device in response to the error, the designation of the second device file as the first storage node's primary device file being performed autonomously of the management system; and

making a second attempt to complete the I/O command by using the second device file, the second device file being selected for use in the second attempt based on the second device file being designated as the primary device file for accessing the storage device,

wherein each of the first device file and each of the second device file is associated with a different interface of the storage device.

9. The apparatus of claim 8 , wherein only one of the first device file and the second device file is designated as a primary device file for accessing the storage device.

10. The apparatus of claim 8 , wherein the at least one processor further configured to perform the operation of receiving the first device file and the second device file from the management system.

11. The apparatus of claim 8 , wherein:

designating the first device file as a primary device file for accessing the storage device includes causing a configuration setting of the apparatus to indicate that the first device file is a primary device file for accessing the storage device; and

designating the second device file as a primary device file for accessing the storage device includes causing the configuration setting to indicate that the second device file is a primary device file for accessing the storage device.

12. The apparatus of claim 8 , the at least one processor is further configured to perform the operation of transmitting, to the management system, a notification that the second device file has been designated as a primary device file for accessing the storage device.

13. The apparatus of claim 12 , wherein the notification is transmitted to the management system after the second attempt is made.

14. A storage system, comprising:

a management system; and

a first storage node that is configured to perform the operations of:

receiving a first instruction to designate a first device file as the first storage node's primary device file for accessing a storage device, the first instruction being received from the management system;

designating the first device file as the first storage node's primary device file for accessing the storage device, the first device file being designated as the first storage node's primary device file for accessing the storage device in response to the first instruction;

receiving an I/O command that is associated with the storage device;

making, by the first storage node, a first attempt to complete the I/O command by using the first device file to access the storage device, the first device file being selected for use in the first attempt based on the first device file being designated as the storage node's primary device file for accessing the storage device,

detecting an error that is generated in response to the first attempt;

designating a second device file as the first storage node's primary device file for accessing the storage device, the second device file being designated as the first storage node's primary device file for accessing the storage device in response to the error, the designation of the second device file as the first storage node's primary device file being performed autonomously of the management system; and

making a second attempt to complete the I/O command by using the second device file, the second device file being selected for use in the second attempt based on the second device file being designated as the first storage node's primary device file for accessing the storage device,

wherein each of the first device file and each of the second device file is associated with a different interface of the storage device.

15. The storage system of claim 14 , wherein only one of the first device file and the second device file is designated as the first storage node's primary device file for accessing the storage device at any given time during an operation of the first storage node.

16. The storage system of claim 14 , wherein both the first device file and the second device file are stored in a memory of the first storage node at any given time during an operation of the first storage node.

17. The storage system of claim 14 , wherein:

designating the first device file as the first storage node's primary device file for accessing the storage device includes causing a configuration setting of the first storage node to indicate that the first device file is the first storage node's primary device file for accessing the storage device; and

designating the second device file as the first storage node's primary device file for accessing the storage device includes causing a configuration setting of the storage system to indicate that the second device file is the first storage node's primary device file for accessing the storage device.

18. The storage system of claim 14 , wherein the first storage node is configured to perform the operation of transmitting, to the management system, a notification that the second device file has been designated as the first storage node's primary device file for accessing the storage device.

19. The storage system of claim 18 , wherein the notification is transmitted to the management system after the second attempt is made.

20. The storage system of claim 18 , wherein the management system is configured to perform the operations of:

storing, in a memory of the management system, a database including at least (i) a first entry that identifies the first storage node's primary device for accessing the storage device, and (ii) a second entry that identifies a second storage node's primary device file for accessing the storage device; and

in response to receiving the notification, updating the first entry to indicate that the second device file is the first storage node's primary device file for accessing the storage device.

Assignments (13)
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 (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 (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 (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 (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 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 052851/0917 →
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
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 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 14, 2020
From: KAMRAN, LIOR; SOUKHMAN, ALEX
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051824/0554 →
Continuity (1)
Related Publication 20210255798A1 · Aug 19, 2021