Virtual ordered writes
First Claim
1. A method of ordering data writes, comprising:
- a host computer providing a plurality of data writes to a primary storage device;
the primary storage device assigning a first sequence number to data writes begun after a first time and before a second time;
the primary storage device assigning a second sequence number, different from the first sequence number, to data writes begun after the second time;
in response to completion of all writes assigned the first sequence number, the primary storage device transferring writes assigned the first sequence number to a secondary storage device; and
in response to the primary storage device transferring all writes assigned the first sequence number to the secondary storage device, the primary storage device sending a commit message to the secondary storage device.
9 Assignments
0 Petitions
Accused Products
Abstract
Ordering data writes include a host computer providing a plurality of data writes to a primary storage device, the primary storage device assigning a first sequence number to data writes begun after a first time and before a second time, the primary storage device assigning a second sequence number, different from the first sequence number, to data writes begun after the second time, in response to completion of all writes assigned the first sequence number, the primary storage device transferring writes assigned the first sequence number to a secondary storage device, and, in response to the primary storage device transferring all writes assigned the first sequence number to the secondary storage device, the primary storage device sending a commit message to the secondary storage device. Ordering data writes may also include, in response to receiving a commit message from the primary storage device, the secondary storage device storing the data writes having the first sequence number.
-
Citations
32 Claims
-
1. A method of ordering data writes, comprising:
-
a host computer providing a plurality of data writes to a primary storage device;
the primary storage device assigning a first sequence number to data writes begun after a first time and before a second time;
the primary storage device assigning a second sequence number, different from the first sequence number, to data writes begun after the second time;
in response to completion of all writes assigned the first sequence number, the primary storage device transferring writes assigned the first sequence number to a secondary storage device; and
in response to the primary storage device transferring all writes assigned the first sequence number to the secondary storage device, the primary storage device sending a commit message to the secondary storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of storing ordered writes to a remote storage device, comprising:
-
receiving a commit message for data associated with a first sequence number;
in response to data associated with a second sequence number different from said first sequence number not yet being stored, waiting for the data associated with the second sequence number to be stored; and
initiating storage of the data associated with the first sequence number. - View Dependent Claims (15, 16, 17)
-
-
18. Computer software that orders data writes, comprising:
-
executable code that assigns a first sequence number to data writes begun after a first time and before a second time;
executable code that assigns a second sequence number, different from the first sequence number, to data writes begun after the second time;
executable code that transfers writes assigned the first sequence number to a storage device in response to completion of all writes assigned the first sequence number; and
executable code that sends a commit message to the storage device after transferring all writes assigned the first sequence number. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. Computer software that stores ordered writes to a remote storage device, comprising:
-
executable code that receives a commit message for data associated with a first sequence number;
executable code that waits for the data associated with the second sequence number to be stored in response to data associated with a second sequence number different from the first sequence number not yet being stored; and
executable code that initiates storage of the data associated with the first sequence number. - View Dependent Claims (30, 31, 32)
-
Specification