IP Library › Granted Patent US 10,156,998
Granted Patent B1
US 10,156,998 · App. 15/418,035 · Granted Dec 18, 2018

Reducing a number of storage devices in a storage system that are exhibiting variable I/O response times

Inventors: John Colgrove (Los Altos, CA); John Hayes (Mountain View, CA); Bo Hong (Palo Alto, CA); Feng Wang (Sunnyvale, CA); Ethan Miller (Santa Cruz, CA); Craig Harmer (San Francisco, CA)
Assignee: Pure Storage, Inc.
G06F3/0611G06F3/0619G06F3/0665G06F3/0689
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 10,156,998
App. No.
15/418,035
Granted
Dec 18, 2018
Kind
B1
Abstract

A system and method for effectively scheduling read and write operations among a plurality of solid-state storage devices. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array comprises an I/O scheduler. The characteristics of corresponding storage devices are used to schedule I/O requests to the storage devices in order to maintain relatively consistent response times at predicted times. Should a device exhibit an unscheduled behavior which may be indicative of the device being in an unknown state, the scheduler may schedule one or more reactive operations on the device configured to cause the device to enter a known state.

Claims (29)

1. A method of reducing a number of storage devices in a storage system that are exhibiting variable I/O response times, the method comprising:

determining a number of storage devices in a storage system that are servicing high latency operations;

determining whether the number of storage devices in the storage system that are servicing high latency operations exceeds a predetermined target number of storage devices within the device group that may simultaneously service high latency operations; and

responsive to determining that the number of storage devices in the storage system that are servicing high latency operations exceeds the predetermined target number of storage devices within the device group that may simultaneously service high latency operations, halting execution of high latency operations on at least one of the storage devices.

2. The method of claim 1 wherein the predetermined target number of storage devices within the device group that may simultaneously service high latency operations is determined in dependence upon a data redundancy policy.

3. The method of claim 1 further comprising initiating execution of one or more low latency operations on at least one of the storage devices.

4. The method of claim 3 wherein the one or more low latency operations include one or more read requests.

5. The method of claim 1 wherein the high latency operations include at least one write request.

6. The method of claim 1 wherein the high latency operations include at least one cache flush.

7. The method of claim 1 wherein the high latency operations include at least one erase request.

8. A storage system configured for reducing a number of storage devices that are exhibiting variable I/O response times, the storage system including a computer memory and a computer processor, the computer processor including computer program instructions that, when executed by the computer processor, cause the storage system to carry out the steps of:

determining a number of storage devices in a storage system that are servicing high latency operations;

determining whether the number of storage devices in the storage system that are servicing high latency operations exceeds a predetermined target number of storage devices within the device group that may simultaneously service high latency operations; and

responsive to determining that the number of storage devices in the storage system that are servicing high latency operations exceeds the predetermined target number of storage devices within the device group that may simultaneously service high latency operations, halting execution of high latency operations on at least one of the storage devices.

9. The storage system of claim 8 wherein the predetermined target number of storage devices within the device group that may simultaneously service high latency operations is determined in dependence upon a data redundancy policy.

10. The storage system of claim 8 further comprising computer program instructions that, when executed by the computer processor, cause the storage system to carry out the step of initiating execution of one or more low latency operations on at least one of the storage devices.

11. The storage system of claim 10 wherein the one or more low latency operations include one or more read requests.

12. The storage system of claim 8 wherein the high latency operations include at least one write request.

13. The storage system of claim 8 wherein the high latency operations include at least one cache flush.

14. The storage system of claim 8 wherein the high latency operations include at least one erase request.

15. An apparatus for reducing a number of storage devices in a storage system that are exhibiting variable I/O response times, the apparatus including a computer memory and a computer processor, the computer processor including computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

determining a number of storage devices in a storage system that are servicing high latency operations;

determining whether the number of storage devices in the storage system that are servicing high latency operations exceeds a predetermined target number of storage devices within the device group that may simultaneously service high latency operations; and

responsive to determining that the number of storage devices in the storage system that are servicing high latency operations exceeds the predetermined target number of storage devices within the device group that may simultaneously service high latency operations, halting execution of high latency operations on at least one of the storage devices.

16. The apparatus of claim 15 wherein the predetermined target number of storage devices within the device group that may simultaneously service high latency operations is determined in dependence upon a data redundancy policy.

17. The apparatus of claim 15 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of initiating execution of one or more low latency operations on at least one of the storage devices.

18. The apparatus of claim 17 wherein the one or more low latency operations include one or more read requests.

19. The apparatus of claim 17 wherein the high latency operations include at least one write request.

20. The apparatus of claim 17 wherein the high latency operations include at least one cache flush.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2017
From: COLGROVE, JOHN; HAYES, JOHN; HONG, BO; WANG, FENG; MILLER, ETHAN; HARMER, CRAIG
To: PURE STORAGE, INC.
Reel/Frame 041108/0956 →
Continuity (3)
Continuation 15004500 · Jan 22, 2016
Continuation 14260059 · Apr 23, 2014
Continuation 12882864 · Sep 15, 2010
Cited By (2)
US 12,353,716 US 12,468,589