IP Library › Granted Patent US 9,252,922
Granted Patent B2
US 9,252,922 · App. 13/736,431 · Granted Feb 2, 2016

System and method for improved error response in data mirroring

Inventors: Nicolas M. Clayton (Cheshire, GB); Theodore T. Harris, Jr. (Tucson, AZ); Gail A. Spear (Tucson, AZ)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
H04L1/08H04L1/22
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,252,922
App. No.
13/736,431
Filed
Jan 8, 2013
Granted
Feb 2, 2016
Kind
B2
Art Unit
2114
USPC
714/6.3
Abstract

Systems and methods are provided to improve performance in backup data storage systems by improving response to errors. The system and method provide for transferring data from a primary storage controller to a secondary storage controller, where the secondary storage controller is linked to the primary storage controller by a plurality of links. The system and method includes transmitting a first transaction from the primary storage controller to the secondary storage controller using a first of a plurality of links. Then, in response to the first transaction crossing a first timeout boundary without completing, the system and method includes transmitting a second transaction from the primary storage controller to the secondary storage controller using a second of the plurality of links, the second of the plurality of links preferentially selected to be on a different network failure boundary from the first of the plurality of links.

Claims (55)

1. A method for transferring data from a primary storage controller to a secondary storage controller linked to the primary storage controller by a plurality of links, the method comprising:

transmitting a first transaction from the primary storage controller to the secondary storage controller using a first of a plurality of links, where the plurality of links includes at least two links implemented with at least one different network hardware component such that the at least two links are on different network failure boundaries;

in response to the first transaction crossing a first timeout boundary without completing:

transmitting a second transaction from the primary storage controller to the secondary storage controller using a second of the plurality of links, the second of the plurality of links preferentially selected to be on a different network failure boundary from the first of the plurality of links; and

in response to an indication that the first transaction reached the secondary storage controller but failed to complete in a timely manner:

retransmitting the first transaction from the primary storage controller to the secondary storage controller using the first of the plurality of links and using a third timeout boundary, the third timeout boundary longer than the first timeout boundary.

2. The method of claim 1 further comprising:

in response to the first transaction crossing a second timeout boundary without completing:

retransmitting the first transaction from the primary storage controller to the secondary storage controller using the second of the plurality of links, the second of the plurality of links preferentially selected to be on a different network failure boundary from the first of the plurality of links.

3. The method of claim 2 further comprising:

in response to the retransmitting of the first transaction again crossing the second timeout boundary without completing:

continuing retransmitting the first transaction from the primary storage controller to the secondary storage controller using selected other of the plurality of links, the selected other of the plurality of links preferentially selected to try one link in each network failure boundary.

4. The method of claim 3 further comprising:

suspending transferring data from the primary storage controller to the secondary storage controller after one link in each network failure boundary has been tried for retransmission.

5. The method of claim 2 further comprising:

in response to the retransmitting of the first transaction again crossing the second timeout boundary without completing:

retransmitting the first transaction from the primary storage controller to the secondary storage controller using a third of the plurality of links, the third of the plurality of links preferentially selected to be on a different network failure boundary from the first of the plurality of links and the second of the plurality of links.

6. The method of claim 1 wherein the third timeout boundary is selectable by a user.

7. The method of claim 1 wherein the indication that the first transaction reached the secondary storage controller but failed to complete in a timely manner comprises a specific error message from the secondary storage controller indicating that the transaction is delayed.

8. A primary storage controller operable by a processor, the primary storage controller linked to a secondary storage controller by a plurality of links, where the plurality of links includes at least two links implemented with at least one different network hardware component such that the at least two links are on different network failure boundaries, wherein the primary storage controller is configured to:

in response to the first transaction crossing a first timeout boundary without completing:

transmit a second transaction from the primary storage controller to the secondary storage controller using a second of the plurality of links, the second of the plurality of links preferentially selected to be on a different network failure boundary from the first of the plurality of links; and

in response to an indication that the first transaction reached the secondary storage controller but failed to complete:

retransmit the first transaction from the primary storage controller to the secondary storage controller using the first of the plurality of links and using a third timeout boundary, the third timeout boundary longer than the first timeout boundary.

9. The primary storage controller of claim 8 wherein the primary storage controller is further configured to:

in response to the first transaction crossing a second timeout boundary without completing:

retransmit the first transaction from the primary storage controller to the secondary storage controller using the second of the plurality of links, the second of the plurality of links preferentially selected to be on a different network failure boundary from the first of the plurality of links.

10. The primary storage controller of claim 9 wherein the primary storage controller is further configured to:

in response to the retransmitting of the first transaction again crossing the second timeout boundary without completing:

continue to retransmit the first transaction from the primary storage controller to the secondary controller using selected other of the plurality of links, the links selected to try one link in each network failure boundary.

11. The primary storage controller of claim 10 wherein the primary storage controller is further configured to:

suspend transferring data from a primary storage controller to a secondary storage controller after one link in each network failure boundary has been tried for retransmission.

12. The primary storage controller of claim 9 wherein the primary storage controller is further configured to:

in response to the retransmitting of the first transaction again crossing the second timeout boundary without completing:

retransmit the first transaction from the primary storage controller to the secondary storage controller using a third of the plurality of links, the third of the plurality of links preferentially selected to be on a different network failure boundary from the first of the plurality of links and the second of the plurality of links.

13. The primary storage controller of claim 8 wherein the third timeout boundary is selectable by a user.

14. The primary storage controller of claim 8 wherein the indication that the first transaction reached the secondary storage controller but failed to complete comprises an error message from the secondary storage controller.

15. A storage system, comprising:

a primary storage controller operable by a processor;

a secondary storage controller;

a plurality of links linking the primary storage controller to the secondary storage controller, where the plurality of links includes at least two links implemented with at least one different network hardware component such that the at least two links are on different network failure boundaries

wherein the primary storage controller is configured to:

in response to the first transaction crossing a first timeout boundary without completing:

transmit a second transaction from the primary storage controller to the secondary storage controller using a second of the plurality of links, the second of the plurality of links preferentially selected to be on a different network failure boundary from the first of the plurality of links;

in response to the first transaction crossing a second timeout boundary without completing:

retransmit the first transaction from the primary storage controller to the secondary storage controller using the second of the plurality of links, the second of the plurality of links preferentially selected to be on a different network failure boundary from the first of the plurality of links; and

in response to an error message from the secondary storage controller indicating that the first transaction reached the secondary storage controller but failed to complete:

retransmit the first transaction from the primary storage controller to the secondary storage controller using the first of the plurality of links and using a third timeout boundary, the third timeout boundary longer than the first timeout boundary, and wherein the third timeout boundary is selectable by a user.

16. The storage system of claim 15 wherein the primary storage controller is further configured to:

in response to the retransmitting of the first transaction again crossing the second timeout boundary without completing:

continue to retransmit the first transaction from the primary storage controller to the secondary storage controller using selected other of the plurality of links, the selected other of the plurality of links preferentially selected to try one link in each network failure boundary; and

suspend transferring data from a primary storage controller to a secondary storage controller after one link in each network failure boundary has been tried for retransmission.

17. The storage system of claim 15 wherein the primary storage controller is further configured to:

in response to the retransmitting of the first transaction again crossing the second timeout boundary without completing:

retransmit the first transaction from the primary storage controller to the secondary storage controller using a third of the plurality of links, the third of the plurality of links preferentially selected to be on a different network failure boundary from the first of the plurality of links and the second of the plurality of links.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2013
From: CLAYTON, NICOLAS M.; HARRIS, THEODORE T.; SPEAR, GAIL A.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 029587/0469 →
Continuity (1)
Related Publication 20140195871A1 · Jul 10, 2014