IP Library Granted Patent US 6,996,691
Granted Patent B2
US 6,996,691 · App. 10/652,328 · Granted Feb 7, 2006

Method for transaction command ordering in a remote data replication system

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 6,996,691
App. No.
10/652,328
Granted
Feb 7, 2006
Kind
B2
Abstract

A disaster-tolerant data backup and remote copy system which is implemented as a controller-based replication of one or more LUNs (logical units) between two remotely separated pairs of array controllers connected by redundant links. The system provides a method for allowing a large number of commands to be ‘outstanding’ in transit between local and remote sites while ensuring the proper ordering of commands on remote media during asynchronous or synchronous data replication. In addition, the system provides a mechanism for automatic ‘tuning’ of links based on the distance between the array controllers.

Claims (27)

1. A method for copying data, written by a host computer to a local data storage array, to a backup copy of the data on a remote storage system, wherein a local array controller, connected to the local data storage array, is coupled to a remote array controller connected to the remote storage system, the method comprising the steps of:

assigning a first current sequence number as the look-ahead limit for a write command associated with the data;

upon command completion, storing a second current sequence number as the write command sequence number;

placing the command in a queue;

sending the command sequence number and look-ahead limit, with the command associated therewith, to the remote array controller;

on reception of the received command by the remote array controller,

if there are any outstanding writes in progress, then

if the sequence number of the received command is less than a present look-ahead fence, then replacing the current look-ahead fence with the minimum of the current look-ahead fence and the look-ahead limit for the command; otherwise,

if the sequence number of the received command is not less than the current look-ahead fence, then putting the command in a waiting queue;

if there were no writes in progress, then setting the current look-ahead fence for the remote array controller to the look-ahead limit for the command;

executing the command at the remote controller;

when a write operation completes at the remote array controller, then

if the look-ahead limit for the command is equal to the current look-ahead fence, then replacing the current look-ahead fence with the minimum value of the look-ahead limit of all currently outstanding said commands; and

continuing to process said outstanding commands by directing each said command in the waiting queue back to the sending step.

2. The method of claim 1 , wherein a sliding window protocol is used in said sending step to protect against out-of-order receptions at the remote site.

3. A method for copying data, written by a host computer to a local data storage array, to a remote storage system wherein a remote controller is coupled to a local array controller connected to the local data storage array, the method comprising the steps of:

establishing a current look-ahead fence equal to a maximum number of commands which are allowed to be outstanding between the local array controller and the remote array controller;

sending a command sequence number and look-ahead limit, with an associated write command, to the remote controller;

on reception of the received command by the remote controller,

if there are any outstanding writes in progress, then

if the sequence number of the received command is less than the present look-ahead fence, then replacing the current look-ahead fence with the minimum of the current look-ahead fence and the look-ahead limit for the command; otherwise,

if the sequence number of the received command is not less than the current look-ahead fence, then putting the command in a waiting queue;

if there are no writes in progress, then setting the current look-ahead fence for the remote controller to the look-ahead limit for the command;

executing the command at the remote controller; and

when the command completes at the remote controller, then

if the look-ahead limit for the command is equal to the current look-ahead fence, then replacing the current look-ahead fence with the minimum value of the look-ahead limit of all currently outstanding said commands.

4. The method of claim 3 , wherein a sliding window protocol is used in said sending step to protect against out-of-order receptions at the remote site.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
CHANGE OF NAME Recorded Dec 2, 2003
From: COMPAQ INFORMATION TECHNOLOGIES GROUP L.P.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 014177/0428 →