Method, system, and program for determining a number of write operations to execute
First Claim
Patent Images
1. A method for executing write operations, comprising:
- initiating a first number of write operations;
gathering performance data indicating a total time for a second number of the initiated write operations to complete;
after at least one initiated write operation has completed, initiating at least one additional write operation if a number of outstanding write operations is less than a maximum number of write operations; and
adjusting the maximum number of write operations if the performance data meets at least one threshold.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed is a method, system, program, and data structure for executing write operations. A first number of write operations is initiated. Performance data is gathered indicating a total time for a second number of the initiated write operations to complete. After at least one initiated write operation has completed, at least one additional write operation is initiated if a number of outstanding write operations is less than a maximum number of write operations. The maximum number of write operations is adjusted if the performance data meets at least one threshold.
35 Citations
33 Claims
-
1. A method for executing write operations, comprising:
-
initiating a first number of write operations;
gathering performance data indicating a total time for a second number of the initiated write operations to complete;
after at least one initiated write operation has completed, initiating at least one additional write operation if a number of outstanding write operations is less than a maximum number of write operations; and
adjusting the maximum number of write operations if the performance data meets at least one threshold. - View Dependent Claims (2)
-
-
3. A method for executing write operations, comprising:
-
initiating a first number of write operations, wherein the write operations are part of a series of write operations;
gathering performance data indicating a total time for a second number of the initiated write operations to complete;
after at least one initiated write operation has completed, initiating at least one additional write operation if a number of outstanding write operations is less than a maximum number of write operations; and
adjusting the maximum number of write operations if the performance data meets at least one threshold, wherein performance data is gathered and adjustments to the maximum number considered each time the second number of write operations are completed while there are further write operations in the series of write operations to perform.
-
-
4. A method for executing write operations, comprising:
-
initiating a first number of write operations;
gathering performance data indicating a total time for a second number of the initiated write operations to complete;
after at least one initiated write operation has completed, initiating at least one additional write operation if a number of outstanding write operations is less than a maximum number of write operations;
comparing the total time for the second number of write operations to complete with a previous best time for the second number of write operations to complete; and
adjusting the maximum number of write operations if the time for the write operations to complete meets at least one threshold with respect to the previous best time. - View Dependent Claims (5, 6, 7, 8)
setting the best time to the total time if the total time exceeds the best time, wherein the adjusted best time is used when determining whether to adjust the maximum number.
-
-
9. A method for executing write operations, comprising:
-
initiating a first number of write operations;
gathering, performance data indicating a total time for a second number of the initiated write operations to complete by;
(i) starting a timer for each initiated write operation when the write operation is initiated;
(ii) adding a time value of one timer to the total time after receiving acknowledgment that the write operation for the timer has completed; and
(iii) resetting the total time to zero after gathering the performance data for the second number of write operations after at least one initiated write operation has completed, initiating at least one additional write operation if a number of outstanding write operations is less than a maximum number of write operations; and
adjusting the maximum number of write operations if the performance data meets at least one threshold. - View Dependent Claims (11)
transferring, with the first controller, the initiated write operations to a second controller, wherein the second controller executes the write operations against the second storage device.
-
-
10. A method for executing write operations, comprising:
-
initiating a first number of write operations, wherein a controller initiates write operations to copy data from a first storage device to a second storage device;
gathering performance data indicating a total time for a second number of the initiated write operations to complete;
after at least one initiated write operation has completed, initiating at least one additional write operation if a number of outstanding write operations is less than a maximum number of write operations; and
adjusting the maximum number of write operations if the performance data meets at least one threshold.
-
-
12. A system for executing write operations, comprising:
-
means for initiating a first number of write operations;
means for gathering performance data indicating a total time for a second number of the initiated write operations to complete;
means for initiating at least one additional write operation if, after at least one initiated write operation has completed, a number of outstanding write operations is less than a maximum number of write operations; and
means for adjusting the maximum number of write operations if the performance data meets at least one threshold. - View Dependent Claims (13, 22)
a second controller;
means for transferring the initiated write operations from the first controller to the second controller, wherein the second controller executes the write operations against the second storage device.
-
-
14. A system for executing write operations, comprising:
-
means for initiating a first number of write operations, wherein the write operations are part of a series of write operations;
means for gathering performance data indicating a total time for a second number of the initiated write operations to complete;
means for initiating at least one additional write operation if, after at least one initiated write operation has completed, a number of outstanding write operations is less than a maximum number of write operations; and
means for adjusting the maximum number of write operations if the performance data meets at least one threshold, wherein performance data is gathered and adjustments to the maximum number considered each time the second number of write operations are completed while there are further write operations in the series of write operations to perform.
-
-
15. A system for executing write operations, comprising:
-
means for initiating a first number of write operations;
means for gathering performance data indicating a total time for a second number of the initiated write operations to complete;
means for initiating at least one additional write operation if, after at least one initiated write operation has completed, a number of outstanding write operations is less than a maximum number of write operations;
means for comparing the total time for the second number of write operations to complete with a previous best time for the second number of write operations to complete; and
adjusting the maximum number of write operations if the time for the write operations to complete meets at least one threshold with respect to the previous best time. - View Dependent Claims (16, 17, 18, 19)
means for setting the best time to the total time if the total time exceeds the best time, wherein the adjusted best time is used when determining whether to adjust the maximum number.
-
-
20. A system for executing write operations, comprising:
-
means for initiating a first number of write operations;
means for gathering performance data indicating a total time for a second number of the initiated write operations to complete by;
(i) starting a timer for each initiated write operation when the write operation is initiated;
(ii) adding a time value of one timer to the total time after receiving acknowledgment that the write operation for the timer has completed; and
(iii) resetting the total time to zero after gathering the performance data for the second number of write operations; and
means for initiating at least one additional write operation if, after at least one initiated write operation has completed, a number of outstanding write operations is less than a maximum number of write operations; and
means for adjusting the maximum number of write operations if the performance data meets at least one threshold.
-
-
21. A system for executing write operations, comprising:
-
a first storage device;
a second storage device; and
a controller, wherein the controller performs;
(i) initiating a first number of write operations to copy data from the first storage device to the second storage device;
(ii) gathering performance data indicating a total time for a second number of the initiated write operations to complete;
(iv) initiating at least one additional write operation if, after at least one initiated write operation has completed, a number of outstanding write operations is less than a maximum number of write operations; and
(v) adjusting the maximum number of write operations if the performance data meets at least one threshold.
-
-
23. An information bearing medium for executing write operations, wherein the information bearing medium includes code capable of causing a processor to perform:
-
initiating a first number of write operations;
gathering performance data indicating a total time for a second number of the initiated write operations to complete;
after at least one initiated write operation has completed, initiating at least one additional write operation if a number of outstanding write operations is less than a maximum number of write operations; and
adjusting the maximum number of write operations if the performance data meets at least one threshold. - View Dependent Claims (24, 32)
-
-
25. An information bearing medium for executing write operations, wherein the information bearing medium includes code capable of causing a processor to perform:
-
initiating a first number of write operations, wherein the write operations are part of a series of write operations;
gathering performance data indicating a total time for a second number of the initiated write operations to complete;
after at least one initiated write operation has completed, initiating at least one additional write operation if a number of outstanding write operations is less than a maximum number of write operations; and
adjusting the maximum number of write operations if the performance data meets at least one threshold, wherein performance data is gathered and adjustments to the maximum number considered each time the second number of write operations are completed while there are further write operations in the series of write operations to perform.
-
-
26. An information bearing medium for executing write operations, wherein the information bearing medium includes code capable of causing a processor to perform:
-
initiating a first number of write operations;
gathering performance data indicating a total time for a second number of the initiated write operations to complete;
after at least one initiated write operation has completed, initiating at least one additional write operation if a number of outstanding write operations is less than a maximum number of write operations;
comparing the total time for the second number of write operations to complete with a previous best time for the second number of write operations to complete; and
adjusting the maximum number of write operations if the time for the write operations to complete meets at least one threshold with respect to the previous best time. - View Dependent Claims (27, 28, 29, 30)
setting the best time to the total time if the total time exceeds the best time, wherein the adjusted best time is used when determining whether to adjust the maximum number.
-
-
31. An information bearing medium for executing write operations, wherein the information bearing medium includes code capable of causing a processor to perform:
-
initiating a first number of write operations;
gathering performance data indicating a total time for a second number of the initiated write operations to complete by;
(i) starting a timer for each initiated write operation when the write operation is initiated;
(ii) adding a time value of one timer to the total time after receiving acknowledgment that the write operation for the timer has completed; and
(iii) resetting the total time to zero after gathering the performance data for the second number of write operations; and
after at least one initiated write operation has completed, initiating at least one additional write operation if a number of outstanding write operations is less than a maximum number of write operations; and
adjusting the maximum number of write operations if the performance data meets at least one threshold. - View Dependent Claims (33)
transferring, with the first controller, the initiated write operations to a second controller, wherein the second controller executes the write operations against the second storage device.
-
Specification