IP Library › Granted Patent US 8,838,921
Granted Patent B2
US 8,838,921 · App. 13/474,081 · Granted Sep 16, 2014

Determining whether to extend a drain time to copy data blocks from a first storage to a second storage

Inventors: Theodore T. Harris, Jr. (Tucson, AZ); Paul A. Jennas, II (Tucson, AZ); Jason L. Peipelman (Vail, AZ); Joshua M. Rhoades (Idaho Falls, ID); Matthew J. Ward (Vail, AZ)
Assignee: International Business Machines Corporation
G06F3/065G06F11/3485G06F3/0619G06F3/067G06F11/2064G06F11/3409G08F3/0611G06F11/2071
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 8,838,921
App. No.
13/474,081
Granted
Sep 16, 2014
Kind
B2
Abstract

Provided are a computer program product, system, and method for determining whether to extend a drain time to copy data blocks from a first storage to a second storage. A data structure indicates data blocks in the first storage to copy to the second storage. A drain operation copies the data blocks indicated in the first storage to the second storage for a drain time period. Write requests to the data blocks indicated in the data structure are queued during the drain time period, wherein the queued write requests are not completed while queued. Metric information based on the writes that occur to data blocks in the first storage are gathered during the drain time period; and in response to expiration of the drain time period, a determination is made from the gathered metric information of whether to continue the drain operation or terminate the drain operation.

Claims (41)

1. A method, comprising:

generating a data structure indicating data blocks in a first storage to copy to a second storage;

initiating a drain operation to copy the data blocks indicated in the first storage to the second storage for a drain time period;

queuing write requests to the data blocks indicated in the data structure during the drain time period, wherein the queued write requests are not completed while queued;

gathering metric information based on a number of collisions of the write requests, wherein collisions comprise write requests directed to data blocks being drained that are delayed until the blocks are copied; and

gathering metric information based on a number of collisions of the write requests, wherein collisions comprise write requests directed to data blocks being drained that are delayed until the blocks are copied; and

in response to expiration of the drain time period, determining from the gathered metric information whether to continue the drain operation or terminate the drain operation.

2. The method of claim 1 , wherein the determining from the gathered metric information of whether to continue the drain operation comprises:

providing a performance metric threshold;

determining a metric value based on the gathered metric information; and

comparing the determined metric value to the performance metric threshold to determine whether to continue the drain operation.

3. The method of claim 2 , wherein the performance metric threshold comprises a first performance metric threshold, wherein the drain time period comprises a first drain time period, wherein the determined metric value comprises a first metric value, wherein the drain operation is continued for a second drain time period in response to the continuing of the drain operation, further comprising:

continuing to gather metric information during the second drain time period;

in response to the second drain time period expiring, determining a second metric value based on the gathered metric information; and

comparing the determined second metric value to a second performance metric to determine whether to continue the drain operation.

4. The method of claim 3 , until the drain operation has completed resulting in all the data blocks indicated in the data structure copied to the second storage, performing iterations of the following operations:

continuing the drain operation for an additional drain time period in response to determining to continue the drain in response to comparing the second metric value or subsequently calculated additional metric value with the second performance metric;

continuing to gather metric information during the additional drain time period;

in response to the additional drain time period expiring before all the data blocks indicated in the data structure have been copied to the second storage, determining an additional metric value based on the gathered metric information;

determining whether the determined additional metric value is less than the second performance metric threshold; and

returning to the continuing of the drain operation for the additional time period.

5. The method of claim 2 , wherein the gathered metric information indicates received write requests and collisions, wherein the performance metric threshold indicates a collision ratio threshold, wherein the determined metric value comprises a determined collision ratio of the number of collisions and number of received write requests indicated in the gathered metric information, and wherein the drain operation is continued in response to determining that the determined collision ratio is less than the collision ratio threshold.

6. The method of claim 5 , wherein the collision ratio threshold comprises a first collision ratio threshold, wherein the drain time period comprises a first drain time period, wherein the determined collision ratio comprises a first collision ratio, wherein the drain operation is continued for a second drain time period in response to the continuing of the drain operation, further comprising:

continuing to gather metric information indicating write requests received and write requests directed to data blocks indicated in the data structure as not copied to the second storage during the second drain time period;

in response to the second drain time period expiring, determining a second collision ratio based on the gathered metric information;

determining whether the determined second collision ratio is less than a second collision ratio threshold; and

continuing the drain operation in response to determining that the determined second collision ratio is less than the second collision ratio.

7. The method of claim 6 , wherein the second collision ratio threshold is less than the first collision ratio threshold.

8. The method of claim 2 , wherein the gathered metric information indicates a time to complete received write requests, wherein the performance metric threshold indicates a write time threshold, wherein the determined metric value comprises a determined average write time based on the gathered metric information, further comprising:

continuing the drain operation in response to determining that the determined average write time is less than the collision ratio; and

terminating the drain operation in response to determining that the determined average write time is greater than the collision ratio.

9. The method of claim 2 , wherein the gathered metric information indicates a number of blocks indicated in the data structure not yet copied to the second storage and the number of collisions, wherein the performance metric threshold indicates a collision number threshold and a blocks-to-drain threshold, wherein the determined metric value comprises a determined blocks-to-drain and determined number of collisions, further comprising:

continuing the drain operation in response to determining that the determined blocks-to-drain is less than the blocks-to-drain threshold and the determined number of collisions is less than the collision number threshold.

10. The method of claim 2 , wherein the data blocks indicated in the data structure are part of a consistency group of updated data in the first storage consistent as of a point of time, further comprising:

in response to the comparing of the determined metric value to the performance metric threshold indicating to not continue the drain operation by performing:

terminating the drain operation; and

failing the copy operation of the data blocks indicated in the data structure from the first storage to the second storage.

11. The method of claim 1 , further comprising:

updating the data structure to indicate that a data block indicated in the data structure was copied to the second storage in response to copying the data block from the first storage to the second storage;

determining whether a received write request is directed to a data block indicated in the data structure as not copied to the second storage, wherein the write request to the data block indicated in the data structure as not copied to the second storage is queued; and

performing the write request to the data block in response to determining that the data structure does not indicate the data block as not copied to the second storage.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2014
From: HARRIS, THEODORE T., JR.; JENNAS, PAUL A., II; PEIPELMAN, JASON L.; RHOADES, JOSHUA M.; WARD, MATTHEW J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 033271/0189 →
Continuity (2)
Continuation 12948652 · Nov 17, 2010
Related Publication 20120254568A1 · Oct 4, 2012