IP Library Granted Patent US 9,003,021
Granted Patent B2
US 9,003,021 · App. 13/338,039 · Granted Apr 7, 2015

Management of storage system access based on client performance and cluser health

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,003,021
App. No.
13/338,039
Granted
Apr 7, 2015
Kind
B2
Abstract

In one embodiment, a method includes determining a previous client performance value in terms of a performance metric for a volume in a storage system. The previous client performance value is related to previous access for a client to the volume. Also, the storage system is storing data for a plurality of volumes where data for each of the plurality of volumes is striped substantially evenly across drives of the storage system. The method applies criteria to the previous performance value to determine a target performance value. Performance of the client with respect to access to the volume is regulated in terms of the performance metric based on the target performance value.

Claims (44)

1. A method comprising:

determining a previous client performance value in terms of a performance metric for a volume in a storage system, the previous client performance value related to previous access for a client to the volume, wherein the storage system is storing data for a plurality of volumes where data for each of the plurality of volumes is striped substantially evenly across drives of the storage system;

receiving a set of performance parameters comprising a maximum performance value, a minimum performance value, and a maximum burst value above the maximum value;

determining client performance is below the maximum performance value;

accumulating burst credits for the client based upon determining the client performance is below the maximum performance value;

determining a target performance value based on the previous client performance value, the set of performance parameters, and the burst credits for the client, wherein the target performance value is above the maximum performance value; and

regulating, by a computing device, performance of the client with respect to access to the volume in terms of the performance metric based on the target performance value.

2. The method of claim 1 , wherein regulating comprises restricting access to the volume for the client based on the target performance value.

3. The method of claim 2 , wherein restricting access comprises not allowing a client to perform access commands during a lockout time in a period of time.

4. The method of claim 2 , wherein:

if the target performance value is greater than the previous performance value, decreasing the lockout time for the period, and

if the target performance value is less than the previous performance value, increasing the lockout time for the period.

5. The method of claim 1 , wherein the performance metric comprises an input/output operations per second metric, a bandwidth metric, or a latency metric.

6. The method of claim 1 , further comprising:

receiving health information representing load in the storage system, wherein the target performance value is based on the health information.

7. The method of claim 1 , wherein the storage system comprises solid state drives.

8. The method of claim 1 , wherein load across drives in the storage system is substantially even due to the data for a plurality of volumes being striped substantially evenly across drives of the storage system.

9. The method of claim 1 , further comprising sending a notification message indicating performance guaranteed to clients across drives in the storage system is greater than a capacity threshold in the storage system before actual capacity reaches the capacity threshold.

10. The method of claim 1 , further comprising decreasing the burst credits based upon the target performance value being above the maximum performance value.

11. An apparatus comprising:

one or more computer processors; and

a computer-readable storage medium comprising instructions for controlling the one or more computer processors to be operable to:

determine a previous client performance value in terms of a performance metric for a volume in a storage system, the previous client performance value related to previous access for a client to the volume, wherein the storage system is storing data for a plurality of volumes where data for each of the plurality of volumes is striped substantially evenly across drives of the storage system;

receive a set of performance parameters comprising a maximum performance value, a minimum performance value, and a maximum burst value above the maximum value;

determine client performance is below the maximum performance value;

accumulate burst credits for the client based upon determining the client performance is below the maximum performance value;

determine a target performance value based on the previous client performance value, the set of performance parameters, and the burst credits for the client, wherein the target performance value is above the maximum performance value; and

regulate performance of the client with respect to access to the volume in terms of the performance metric based on the target performance value.

12. The apparatus of claim 11 , wherein to regulate performance of the client the one or more computer processors are operable to restrict access to the volume for the client based on the target performance value.

13. The apparatus of claim 12 , wherein to restrict access to the volume the one or more computer processors are operable to not allow a client to perform access commands during a lockout time in a period of time.

14. The apparatus of claim 11 , wherein the performance metric comprises an input/output operations per second metric, a bandwidth metric, or a latency metric.

15. The apparatus of claim 11 , wherein the computer-readable storage medium comprise further instructions for controlling the one or more computer processors to be operable to:

receiving health information representing load in the storage system, wherein the target performance value is based on the health information.

16. The apparatus of claim 11 , wherein the storage system comprises solid state drives.

17. The apparatus of claim 11 , wherein load across drives in the storage system is substantially even due to the data for a plurality of volumes being striped substantially evenly across drives of the storage system.

18. A non-transitory computer-readable storage medium containing instructions for controlling a computer system to be operable to:

determine a previous client performance value in terms of a performance metric for a volume in a storage system, the previous client performance value related to previous access for a client to the volume, wherein the storage system is storing data for a plurality of volumes where data for each of the plurality of volumes is striped substantially evenly across drives of the storage system;

receive a set of performance parameters comprising a maximum performance value, a minimum performance value, and a maximum burst value above the maximum value;

determine client performance is below the maximum performance value;

accumulate burst credits for the client based upon determining the client performance is below the maximum performance value;

determine a target performance value based on the previous client performance value, the set of performance parameters, and the burst credits for the client, wherein the target performance value is above the maximum performance value; and

regulate performance of the client with respect to access to the volume in terms of the performance metric based on the target performance value.

19. The non-transitory computer-readable storage medium of claim 18 , wherein to regulate performance of the client the computer system is operable to restrict access to the volume for the client based on the target performance value.

20. The non-transitory computer-readable storage medium of claim 19 , wherein to restrict access to the volume the computer system is operable to not allow a client to perform access commands during a lockout time in a period of time.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2016
From: SOLIDFIRE, INC.
To: NETAPP, INC.
Reel/Frame 037923/0268 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MANAGEMENT OF STORAGE SYSTEM ACCESS BASED ON CLIENT PERFORMANCE AND CLUSTER HEALTH PREVIOUSLY RECORDED ON REEL 027448 FRAME 0215. ASSIGNOR(S) HEREBY CONFIRMS THE MANAGEMENT OF STORAGE SYSTEM ACCESS BASED ON CLIENT PERFORMANCE AND CLUSTER HEALTH. Recorded Jan 23, 2012
From: WRIGHT, DAVID D.; XU, MICHAEL
To: SOLIDFIRE, INC.
Reel/Frame 027579/0933 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 27, 2011
From: WRIGHT, DAVID D.; XU, MICHAEL
To: SOLIDFIRE, INC.
Reel/Frame 027448/0215 →