IP Library Granted Patent US 9,569,131
Granted Patent B2
US 9,569,131 · App. 14/814,280 · Granted Feb 14, 2017

Avoiding long access latencies in redundant storage systems

Inventors: Shobhit Dayal (San Francisco, CA); Edward K. Lee (Dublin, CA); Mark G. Gritter (Eagan, MN)
Assignee: Tintri Inc.
G06F3/0632G06F3/065G06F3/0611G06F3/0653G06F3/0689G06F11/0727G06F11/0757G06F11/1088G06F11/1092G06F11/22G06F11/3055G06F12/0246G06F12/0897G06F13/1694
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 9,569,131
App. No.
14/814,280
Granted
Feb 14, 2017
Kind
B2
Abstract

Avoiding long access latencies in redundant storage systems is disclosed, including: determining a first device associated with a request is in a slow access period; and reconstructing data associated with the request from one or more other devices comprising a redundant storage system in which the first device and the one or more other devices are included.

Claims (32)

1. A method of providing access to data, comprising:

dynamically determining a timeout duration associated with a request associated with a first device;

sending the request to the first device;

determining that a response to the request is not received from the first device prior to an end of the timeout duration associated with the request; and

in response to the determination that the response to the request is not received from the first device prior to the end of the timeout duration associated with the request, reconstructing data associated with the request from one or more other devices comprising a redundant storage system in which the first device and the one or more other devices are included.

2. The method of claim 1 , wherein the request comprises a read request.

3. The method of claim 1 , wherein the timeout duration is determined based at least in part on a size of data associated with the request.

4. The method of claim 1 , wherein the timeout duration is determined based at least in part on one or more of the following: a fixed timeout length assigned to the first device, a priority associated with the request, a priority associated with the first device, a priority associated with an entity that issued the request, and a current queue length associated with the first device.

5. The method of claim 1 , wherein the first device and the one or more other devices comprise at least a portion of a RAID group.

6. The method of claim 5 , wherein reconstructing data associated with the request from one or more other devices comprises using parity data stored on one or more of said other devices to reconstruct data stored on the first device.

7. A system of providing access to data, comprising:

one or more processors configured to:

dynamically determine a timeout duration associated with a request associated with a first device;

send the request to the first device;

determine that a response to the request is not received from the first device prior to an end of the timeout duration associated with the request; and

in response to the determination that the response to the request is not received from the first device prior to the end of the timeout duration associated with the request, reconstruct data associated with the request from one or more other devices comprising a redundant storage system in which the first device and the one or more other devices are included; and

a memory coupled with the one or more processors and configured to provide the one or more processors with instructions.

8. The system of claim 7 , wherein the request comprises a read request.

9. The system of claim 7 , wherein the timeout duration is determined based at least in part on a size of data associated with the request.

10. The system of claim 7 , wherein the timeout duration is determined based at least in part on one or more of the following: a fixed timeout length assigned to the first device, a priority associated with the request, a priority associated with the first device, a priority associated with an entity that issued the request, and a current queue length associated with the first device.

11. The system of claim 7 , wherein the first device and the one or more other devices comprise at least a portion of a RAID group.

12. The system of claim 11 , wherein reconstructing data associated with the request from one or more other devices comprises using parity data stored on one or more of said other devices to reconstruct data stored on the first device.

13. A computer program product for providing access to data, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

dynamically determining a timeout duration associated with a request associated with a first device;

sending the request to the first device;

determining that a response to the request is not received from the first device prior to an end of the timeout duration associated with the request; and

in response to the determination that the response to the request is not received from the first device prior to the end of the timeout duration associated with the request, reconstructing data associated with the request from one or more other devices comprising a redundant storage system in which the first device and the one or more other devices are included.

14. The computer program product of claim 13 , wherein the request comprises a read request.

15. The computer program product of claim 13 , wherein the timeout duration is determined based at least in part on a size of data associated with the request.

16. The computer program product of claim 13 , wherein the timeout duration is determined based at least in part on one or more of the following: a fixed timeout length assigned to the first device, a priority associated with the request, a priority associated with the first device, a priority associated with an entity that issued the request, and a current queue length associated with the first device.

17. The computer program product of claim 13 , wherein the first device and the one or more other devices comprise at least a portion of a RAID group.

18. The computer program product of claim 17 , wherein reconstructing data associated with the request from one or more other devices comprises using parity data stored on one or more of said other devices to reconstruct data stored on the first device.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2019
From: TINTRI INC.
To: TI ACQUISITION CORP.
Reel/Frame 048201/0666 →
CHANGE OF NAME Recorded Jan 31, 2019
From: TI ACQUISITION CORP.
To: TINTRI BY DDN, INC.
Reel/Frame 048211/0685 →
SECURITY INTEREST Recorded Oct 13, 2018
From: TI ACQUISITION CORP.
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 047229/0463 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO REMOVE APPLICATION NUMBER 14778982 PREVIOUSLY RECORDED AT REEL: 042380 FRAME: 0377. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT. Recorded Jul 14, 2017
From: TINTRI, INC.
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 043247/0727 →
FIRST AMENDMENT TO SECURITY AGREEMENT Recorded May 1, 2017
From: TINTRI, INC.
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 042380/0377 →
SECURITY INTEREST Recorded May 16, 2016
From: TINTRI, INC.
To: SILICON VALLEY BANK
Reel/Frame 038711/0505 →
Continuity (3)
Continuation 13421714 · Mar 15, 2012
Provisional Application 61453362 · Mar 16, 2011
Related Publication 20160034223A1 · Feb 4, 2016