IP Library Granted Patent US 7,971,021
Granted Patent B2
US 7,971,021 · App. 12/970,795 · Granted Jun 28, 2011

Systems and methods for managing stalled storage devices

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 7,971,021
App. No.
12/970,795
Granted
Jun 28, 2011
Kind
B2
Abstract

Embodiments relate to systems and methods for managing stalled storage devices of a storage system. In one embodiment, a method for managing access to storage devices includes determining that a first storage device, which stores a first resource, is stalled and transitioning the first storage device to a stalled state. The method also includes receiving an access request for at least a portion of the first resource while the first storage device is in the stalled state and attempting to provide access to a representation of the portion of the first resource from at least a second storage device that is not in a stalled state. In another embodiment, a method of managing access requests by a thread for a resource stored on a storage device includes initializing a thread access level for an access request by a thread for the resource. The method also includes determining whether the storage device, which has a device access level, is accessible based at least in part on the thread access level and the device access level and selecting a thread operation based at least in part on the determination of whether the storage device is accessible. The thread operation may be selected from attempting the thread access request if the device is accessible and determining whether to restart the thread access request if the device is not accessible.

Claims (43)

1. A method of managing access requests for resources stored on a storage system, the method comprising:

under control of a storage system comprising a plurality of storage devices, each storage device comprising a device access level, the device access level comprising a normal access level and a stalled access level, the normal access level indicating that response to access requests to the storage device is normal and the stalled access level indicating that response to access requests to the storage device is slow,

directing a first access request by a thread for a resource stored on the storage system to one or more storage devices comprising normal access levels near the time of the first access request; and

if the first access request by the thread fails,

directing a second access request by the thread for the resource to one or more storage devices comprising normal access levels near the time of the second access request and one or more storage devices comprising stalled access levels near the time of the second access request.

2. The method of claim 1 , wherein at least one of the one or more storage devices comprising normal access levels near the time of the second access request is the same as at least one of the one or more storage devices comprising normal access levels near the time of the first access request.

3. The method of claim 1 , wherein the device access level further comprises a soft-failed access level that indicates that an error not related to resource access requests to the storage device has occurred on the storage device, the method further comprising:

if the second access request by the thread fails,

directing a third access request by the thread for the resource to one or more storage devices comprising normal access levels near the time of the third access request, one or more storage devices comprising stalled access levels near the time of the third access request, and one or more storage devices comprising soft-failed access levels near the time of the third access request.

4. The method of claim 3 , wherein if the third access request by the thread fails, the method further comprises returning an error to the thread.

5. The method of claim 1 , wherein a stalled access level for a storage device indicates that response by the storage device to access requests is longer than a first time period.

6. The method of claim 1 , further comprising performing a group change operation such that each of the storage devices in the storage system has information related to the current device access level of each of the other storage devices in the storage system.

7. The method of claim 6 , wherein the time of the first access request is before the performance of the group change operation, and the time of the second access request is after performance of the group change operation.

8. The method of claim 1 , wherein directing the first access request by the thread comprises:

initializing a thread access level for the first access request by the thread;

determining which of the plurality of storage devices to direct the first access request to based at least in part on the thread access level and the device access levels of the plurality of storage devices;

if at least one storage device is determined to be accessible, attempting the first access request from the at least one accessible storage device; and

if no storage devices are determined to be accessible, determining whether to attempt the second access request.

9. The method of claim 1 , wherein the storage system comprises a distributed file system.

10. A system of managing access requests for resources stored on a plurality of storage devices, the system comprising:

a plurality of storage devices configured to store a resource, each storage device comprising a device access level, the device access level comprising a normal access level and a stalled access level, the normal access level indicating that response to access requests to the storage device is normal and the stalled access level indicating that response to access requests to the storage device is slow,

a processor in communication with at least some of the plurality of storage devices, the processor configured to:

direct a first access request by a thread for the resource to one or more storage devices comprising normal access levels near the time of the first access request; and

if the first access request by the thread fails,

direct a second access request by the thread for the resource to one or more storage devices comprising normal access levels near the time of the second access request and one or more storage devices comprising stalled access levels near the time of the second access request.

11. The system of claim 10 , wherein at least one of the one or more storage devices comprising normal access levels near the time of the second access request is the same as at least one of the one or more storage devices comprising normal access levels near the time of the first access request.

12. The system of claim 10 , wherein the device access level further comprises a soft-failed access level that indicates an error that is not related to resource access requests to the storage device has occurred on the storage device, the processor further configured to:

if the second access request by the thread fails,

direct a third access request by the thread for the resource to one or more storage devices comprising normal access levels near the time of the third access request, one or more storage devices comprising stalled access levels near the time of the third access request, and one or more storage devices comprising soft-failed access levels near the time of the third access request.

13. The system of claim 12 , wherein if the third access request by the thread fails, the processor is configured to return an error to the thread.

14. The system of claim 10 , wherein a stalled access level for a storage device indicates that response by the storage device to access requests is longer than a first time period.

15. The system of claim 10 , wherein the processor is further configured to perform a group change operation such that each of the plurality of storage devices has information related to the current device access level of each of the other storage devices.

16. The system of claim 15 , wherein the time of the first access request is before the processor performs the group change operation, and the time of the second access request is after the processor performs of the group change operation.

17. The system of claim 10 , wherein to direct the first access request by the thread, the processor is configured to:

initialize a thread access level for the first access request by the thread;

determine which of the plurality of storage devices to direct the first access request to based at least in part on the thread access level and the device access levels of the plurality of storage devices;

if at least one storage device is determined to be accessible, attempt the first access request from the at least one accessible storage device; and

if no storage devices are determined to be accessible, determine whether to attempt the second access request.

18. The system of claim 10 , wherein the plurality of storage devices comprises a portion of a distributed file system.

19. A non-transitory computer-readable medium having stored thereon executable instructions that, when executed by a processor, cause the processor to perform a method of managing access requests for resources stored on a storage system, the storage system comprising a plurality of storage devices, each storage device comprising a device access level, the device access level comprising a normal access level and a stalled access level, the normal access level indicating that response to access requests to the storage device is normal and the stalled access level indicating that response to access requests to the storage device is slow, the method comprising:

directing a first access request by a thread for a resource stored on the storage system to one or more storage devices comprising normal access levels near the time of the first access request; and

if the first access request by the thread fails,

directing a second access request by the thread for the resource to one or more storage devices comprising normal access levels near the time of the second access request and one or more storage devices comprising stalled access levels near the time of the second access request.

Assignments (13)
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 (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
MERGER Recorded May 12, 2011
From: ISILON SYSTEMS, INC.
To: ISILON SYSTEMS LLC
Reel/Frame 026268/0232 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2011
From: IVY HOLDING, INC.
To: EMC CORPORATION
Reel/Frame 026267/0562 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2011
From: ISILON SYSTEMS LLC
To: IVY HOLDING, INC.
Reel/Frame 026267/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2011
From: DAUD, ASIF; AKIDAU, TYLER A.; MAYKOV, ILYA; PASSEY, AARON J.
To: ISILON SYSTEMS, INC.
Reel/Frame 026260/0617 →