Claims Analysis
Total Claims: 33
Claim 1
Independent Claim
238 words
A method of copying data sets from a first storage device to a second storage device, wherein the first storage device is managed by a first controller and the second storage device is managed by a second controller, comprising: receiving a command with the first controller to copy a plurality of data sets from the first storage device to the second storage device; generating first and second data structures including fields corresponding to the data sets and indicating in the fields that the data sets have not been copied; and for the data sets subject to the command, performing: (i) transferring a copy of the data set from the first controller to the second controller; (ii) storing with the second controller the copy of the data set received from the first controller in the second storage device; (iii) modifying the field in the first data structure corresponding to the data set copied to the second storage device to indicate that the data set was copied to the second storage device; and (iv) modifying the field in the second data structure corresponding to the data set the second controller stores in the second storage device to indicate that the data set was stored in the second storage device, wherein the first controller generates the first data structure and modifies the first data structure, and wherein the second controller generates the second data structure and modifies the second data structure.
Claim 2
Independent Claim
238 words
A method of copying data sets from a first storage device to a second storage device, wherein the first storage device is managed by a first controller and the second storage device is managed by a second controller, comprising: receiving a command with the first controller to copy a plurality of data sets from the first storage device to the second storage device; generating first and second data structures including fields corresponding to the data sets and indicating in the fields that the data sets have not been copied; and for the data sets subject to the command, performing: (i) transferring a copy of the data set from the first controller to the second controller; (ii) storing with the second controller the copy of the data set received from the first controller in the second storage device; (iii) modifying the field in the first data structure corresponding to the data set copied to the second storage device to indicate that the data set was copied to the second storage device; and (iv) modifying the field in the second data structure corresponding to the data set the second controller stores in the second storage device to indicate that the data set was stored in the second storage device, wherein the first controller generates the first data structure and modifies the first data structure, and wherein the second controller generates the second data structure and modifies the second data structure.
Claim 3
Dependent Claim
152 words
The method of claim 1 , wherein the first and second data structures are bit map tables, wherein for the data sets subject to the command there are addressable locations in the first and second data structures, wherein the step of generating the first and second data structures comprises setting the addressable locations to a first value, wherein the step of modifying the field in the first data structure corresponding to the data set copied to the second storage device comprises setting the addressable location in the first data structure corresponding to the data set copied to a second value, and wherein the step of modifying the field in the second data structure corresponding to the data set stored in the second storage device comprises the step of setting the addressable location in the second data structure corresponding to the data set copied to the second storage device to the second value.
Claim 4
Independent Claim
372 words
A method of copying data sets from a first storage device to a second storage device, wherein the first storage device is managed by a first controller and the second storage device is managed by a second controller, comprising of: receiving a command with the first controller to copy a range of sequential data sets from the first storage device to the second storage device; generating a first data structure comprising: (i) generating a first field indicating a location in the first storage device of the first data set in the sequence; and (ii) generating a pointer indicating a data set in the first extent to copy from the first storage device to the second storage device, wherein the first controller processes the first field and pointer to determine a data set to copy to the second controller, and wherein the pointer is incremented after transferring the copy of the data set to the second controller; and generating a second data structure comprising: (i) generating a first field indicating a location in the second storage device of where to store the first data set in the sequence; and (ii) generating a pointer indicating a location in the second storage device to store data received from the first storage device, wherein the second controller processes the first field and pointer to determine the location in the second storage device where to store the data set received from the first controller, and wherein the pointer is incremented after storing the data set in the second storage device; for the data sets subject to the command, performing: (i) transferring a copy of the data set from the first controller to the second controller; (ii) storing with the second controller the copy of the data set received from the first controller in the second storage device; (iii) modifying the field in the first data structure corresponding to the data set copied to the second storage device to indicate that the data set was copied to the second storage device; and (iv) modifying the field in the second data structure corresponding to the data set the second controller stores in the second storage device to indicate that the data set was stored in the second storage device.
Claim 5
Independent Claim
372 words
A method of copying data sets from a first storage device to a second storage device, wherein the first storage device is managed by a first controller and the second storage device is managed by a second controller, comprising of: receiving a command with the first controller to copy a range of sequential data sets from the first storage device to the second storage device; generating a first data structure comprising: (i) generating a first field indicating a location in the first storage device of the first data set in the sequence; and (ii) generating a pointer indicating a data set in the first extent to copy from the first storage device to the second storage device, wherein the first controller processes the first field and pointer to determine a data set to copy to the second controller, and wherein the pointer is incremented after transferring the copy of the data set to the second controller; and generating a second data structure comprising: (i) generating a first field indicating a location in the second storage device of where to store the first data set in the sequence; and (ii) generating a pointer indicating a location in the second storage device to store data received from the first storage device, wherein the second controller processes the first field and pointer to determine the location in the second storage device where to store the data set received from the first controller, and wherein the pointer is incremented after storing the data set in the second storage device; for the data sets subject to the command, performing: (i) transferring a copy of the data set from the first controller to the second controller; (ii) storing with the second controller the copy of the data set received from the first controller in the second storage device; (iii) modifying the field in the first data structure corresponding to the data set copied to the second storage device to indicate that the data set was copied to the second storage device; and (iv) modifying the field in the second data structure corresponding to the data set the second controller stores in the second storage device to indicate that the data set was stored in the second storage device.
Claim 6
Dependent Claim
225 words
The method of claim 1 , further comprising the steps of: receiving with the second controller a request from a host system for a data set in the second storage device; processing with the second controller the second data structure to determine whether the requested data set was copied from the first storage device to the second storage device; retrieving with the second controller the requested data set and transmitting the requested data set to the host system after determining that the requested data set was copied from the first storage device to the second storage device; and after determining that the requested data set was not copied from the first storage device to the second storage device, performing the steps of: (i) generating a message with the second controller to the first controller requesting the requested data set; (ii) transmitting the message to the first controller; (iii) accessing with the first controller the data set requested by the second controller in the message and transferring the requested data set to the second controller in response to processing the message; (iv) storing with the second controller the requested data set received from the first controller in the second storage device; and (v) transmitting to the host system with the second controller the requested data set after receiving the requested data set from the first controller.
Claim 7
Dependent Claim
79 words
The method of claim 4 , further including the steps of: modifying the field in the first data structure corresponding to the requested data set transferred to the second controller to indicate that the requested data set was copied to the second storage device; and modifying the field in the second data structure corresponding to the requested data set stored in the second storage device to indicate that the requested data set was copied to the second storage device.
Claim 8
Dependent Claim
177 words
The method of claim 1 , further comprising the steps of: receiving with the first controller an update to a data set in the first storage device; processing with the first controller the first data structure to determine whether the data set to update was copied from the first storage device to the second storage device; storing with the first controller the update to the data set in the first storage device after determining that the data set to update was copied from the first storage device to the second storage device; and after determining that the data set to update was not copied from the first storage device to the second storage device, performing the steps of: (i) accessing with the first controller the data set to update from the first storage device; (ii) transferring the accessed data set to the second controller; (iii) storing with the second controller the data set received from the first controller in the second storage device; and (iv) storing with the first controller the update in the first storage device.
Claim 9
Dependent Claim
73 words
The method of claim 6 , further including the steps of: modifying the field in the first data structure corresponding to the data set to update transferred to the second controller to indicate that the data set was copied to the second storage device; and modifying the field in the second data structure corresponding to the data set to update to indicate that the data set was copied to the second storage device.
Claim 10
Independent Claim
259 words
A system for copying data sets, comprising: a first controller; a first storage device managed by the first controller capable of storing data sets; a second controller; a second storage device managed by the second storage controller capable of storing data sets; a network communication line providing data communication between the first controller and the second controller; a first memory device for storing data for access by the first controller, including a first data structure stored in the first memory device, wherein the first data structure includes fields corresponding to the data sets, wherein the data fields indicate whether the data sets were copied from the first storage device to the second storage device, and wherein the first controller processes the first data structure to determine whether a data set was copied from the first storage device to the second storage device; and a second memory device for storing data for access by the first controller, including a second data structure stored in the second memory device, wherein the second data structure includes fields corresponding to the data sets, wherein the data fields indicate whether the data sets were copied from the first storage device to the second storage device, and wherein the second controller processes the second data structure to determine whether a data set was copied from the first storage device to the second storage device, wherein the first controller generates the first data structure and modifies the first data structure, and wherein the second controller generates the second data structure and modifies the second data structure.
Claim 11
Independent Claim
259 words
A system for copying data sets, comprising: a first controller; a first storage device managed by the first controller capable of storing data sets; a second controller; a second storage device managed by the second storage controller capable of storing data sets; a network communication line providing data communication between the first controller and the second controller; a first memory device for storing data for access by the first controller, including a first data structure stored in the first memory device, wherein the first data structure includes fields corresponding to the data sets, wherein the data fields indicate whether the data sets were copied from the first storage device to the second storage device, and wherein the first controller processes the first data structure to determine whether a data set was copied from the first storage device to the second storage device; and a second memory device for storing data for access by the first controller, including a second data structure stored in the second memory device, wherein the second data structure includes fields corresponding to the data sets, wherein the data fields indicate whether the data sets were copied from the first storage device to the second storage device, and wherein the second controller processes the second data structure to determine whether a data set was copied from the first storage device to the second storage device, wherein the first controller generates the first data structure and modifies the first data structure, and wherein the second controller generates the second data structure and modifies the second data structure.
Claim 12
Dependent Claim
169 words
The computer system of claim 8 , wherein the first and second data structures are bit map tables, wherein the data structures include an addressable location for the data sets subject to the command, wherein the first controller sets the addressable locations in the first data structure to a first value indicating that the data sets have not been copied from the first storage device to the second storage, wherein the first controller sets an addressable location to a second value indicating that a copy of the data set was transferred from the first storage device to the second controller, wherein the second controller sets the addressable locations in the second data structure to the first value indicating that the data sets have not been copied from the first storage device to the second storage device, and wherein the second controller sets an addressable location to the second value indicating that a copy of the data set transferred from the first controller was stored in the second storage device.
Claim 13
Dependent Claim
62 words
The computer system of claim 8 , wherein the network communication line is a high speed transmission line and wherein the first controller and first storage device are in a first location and the second controller and second storage device are in a second location, wherein the first location and second location are separated by a distance of at least one mile.
Claim 14
Independent Claim
435 words
A system for copying data sets, comprising: a first controller; a first storage device managed by the first controller capable of storing data sets; a second controller; a second storage device managed by the second storage controller capable of storing data sets; a network communication line providing data communication between the first controller and the second controller; a first memory device for storing data for access by the first controller, including a first data structure stored in the first memory device, wherein the first data structure includes fields corresponding to the data sets, wherein the data fields indicate whether sequential data sets were copied from the first storage device to the second storage device, and wherein the first controller processes the first data structure to determine whether a data set from sequential data sets was copied from the first storage device to the second storage device; and a second memory device for storing data for access by the first controller, including a second data structure stored in the second memory device, wherein the second data structure includes fields corresponding to the data sets, wherein the data fields indicate whether the sequential data sets were copied from the first storage device to the second storage device, and wherein the second controller processes the second data structure to determine whether a data set from, sequential data sets was copied from the first storage device to the second storage device; wherein the first data structure stored in the first memory includes: (i) a first field indicating a location in the first storage device of the first data set in the sequence; (ii) a pointer indicating a data set in the first extent to copy from the first storage device to the second storage device, wherein the first controller processes the first field and pointer to determine a data set to copy to the second controller, and wherein the pointer is incremented after transferring the copy of the data set to the second controller; and wherein the second data structure stored in the second memory includes: (i) a first field indicating a location in the second storage device of where to store the first data set in the sequence; and (ii) a pointer indicating a location in the second storage device of where to store data received from the first storage device, wherein the second controller processes the first field and pointer to determine the location in the second storage device of where to store the data set received from the first controller, and wherein the pointer is incremented after storing the data set in the second storage device.
Claim 15
Independent Claim
435 words
A system for copying data sets, comprising: a first controller; a first storage device managed by the first controller capable of storing data sets; a second controller; a second storage device managed by the second storage controller capable of storing data sets; a network communication line providing data communication between the first controller and the second controller; a first memory device for storing data for access by the first controller, including a first data structure stored in the first memory device, wherein the first data structure includes fields corresponding to the data sets, wherein the data fields indicate whether sequential data sets were copied from the first storage device to the second storage device, and wherein the first controller processes the first data structure to determine whether a data set from sequential data sets was copied from the first storage device to the second storage device; and a second memory device for storing data for access by the first controller, including a second data structure stored in the second memory device, wherein the second data structure includes fields corresponding to the data sets, wherein the data fields indicate whether the sequential data sets were copied from the first storage device to the second storage device, and wherein the second controller processes the second data structure to determine whether a data set from, sequential data sets was copied from the first storage device to the second storage device; wherein the first data structure stored in the first memory includes: (i) a first field indicating a location in the first storage device of the first data set in the sequence; (ii) a pointer indicating a data set in the first extent to copy from the first storage device to the second storage device, wherein the first controller processes the first field and pointer to determine a data set to copy to the second controller, and wherein the pointer is incremented after transferring the copy of the data set to the second controller; and wherein the second data structure stored in the second memory includes: (i) a first field indicating a location in the second storage device of where to store the first data set in the sequence; and (ii) a pointer indicating a location in the second storage device of where to store data received from the first storage device, wherein the second controller processes the first field and pointer to determine the location in the second storage device of where to store the data set received from the first controller, and wherein the pointer is incremented after storing the data set in the second storage device.
Claim 16
Dependent Claim
229 words
The computer system of claim 8 , further comprising: second controller logic for causing the second controller to: (i) process a request from a host system for a data set in the second storage device; (ii) process the second data structure to determine whether the requested data set was copied from the first storage device to the second storage device; (iii) retrieve the requested data set and transmit the requested data set to the host system after determining that the requested data set was copied from the first storage device to the second storage device; (iv) generate a message with the second controller to the first controller requesting the requested data set after determining that the requested data set was not copied from the first storage device to the second storage device; (v) transmit the message to the first controller; (vi) store with the second controller the data set requested in the message received from the first controller in the second storage device; and (vii) transmit to the host system the requested data set after receiving the requested data set from the first controller; and first controller logic for causing the first controller to process the message from second controller and access the data set requested by the second controller in the message and transferring the requested data set to the second controller in response to processing the message.
Claim 17
Dependent Claim
97 words
The computer system of claim 12 , wherein the first controller logic further causes the first controller to modify the field in the first data structure corresponding to the requested data set transferred to the second controller to indicate that the requested data set was copied to the second storage device, and wherein the second controller logic further causes the second controller to modify the field in the second data structure corresponding to the requested data set stored in the second storage device to indicate that the requested data set was copied to the second storage device.
Claim 18
Dependent Claim
199 words
The computer system of claim 8 , further comprising: first controller logic for causing the first controller to: (i) receive an update to a data set at a location in the first storage device; (ii) process the first data structure to determine whether the data set to update was copied from the first storage device to the second storage device; (iii) store the update to the data set in the location in the first storage device after determining that the data set to update was copied from the first storage device to the second storage device; (iv) access the data set in the location in the first storage device prior to the update to the data set after determining that the data set to update was not copied from the first storage device to the second storage device; (v) transfer the accessed data set to the second controller; (vi) store the update to the data set in the location in the first storage device after transferring the accessed data set to the second controller; and second controller logic for causing the second controller to store the accessed data set received from the first controller in the second storage device.
Claim 19
Dependent Claim
95 words
The computer system of claim 14 , wherein the first controller logic further causes the first controller to modify the field in the first data structure corresponding to the data set to update transferred to the second controller to indicate that the data set to update was copied to the second storage device, and wherein the second controller logic further causes the second controller to modify the field in the second data structure corresponding to the data set to update to indicate that the data set to update was copied to the second storage device.
Claim 20
Dependent Claim
231 words
A first memory and second memory for storing data for access by a first controller and second controller, wherein the first controller processes data in the first memory to copy data sets from a first storage device to the second controller, and wherein the second controller processes data in the second memory to store data sets received from the first controller in a second storage device, comprising: a first data structure stored in the first memory, including addressable locations corresponding to the data sets, wherein the addressable locations indicate whether the data sets were copied from the first storage device to the second storage device, and wherein the first controller processes the first data structure to determine whether a data set was copied from the first storage device to the second storage device; and a second data structure stored in the second memory, including addressable locations corresponding to the data sets, wherein the addressable locations indicate whether the data sets were copied from the first storage device to the second storage device, and wherein the second controller processes the second data structure to determine whether a data set was copied from the first storage device to the second storage device, wherein the first controller generates the first data structure and modifies the first data structure, and wherein the second controller generates the second data structure and modifies the second data structure.
Claim 21
Dependent Claim
231 words
A first memory and second memory for storing data for access by a first controller and second controller, wherein the first controller processes data in the first memory to copy data sets from a first storage device to the second controller, and wherein the second controller processes data in the second memory to store data sets received from the first controller in a second storage device, comprising: a first data structure stored in the first memory, including addressable locations corresponding to the data sets, wherein the addressable locations indicate whether the data sets were copied from the first storage device to the second storage device, and wherein the first controller processes the first data structure to determine whether a data set was copied from the first storage device to the second storage device; and a second data structure stored in the second memory, including addressable locations corresponding to the data sets, wherein the addressable locations indicate whether the data sets were copied from the first storage device to the second storage device, and wherein the second controller processes the second data structure to determine whether a data set was copied from the first storage device to the second storage device, wherein the first controller generates the first data structure and modifies the first data structure, and wherein the second controller generates the second data structure and modifies the second data structure.
Claim 22
Dependent Claim
155 words
The first and second memories of claim 16 , wherein the first and second data structures are bit map tables, wherein the first controller sets the addressable locations in the first data structure to a first value indicating that the data sets have not been copied from the first storage device to the second storage, wherein the first controller sets an addressable location to a second value indicating that a copy of the data set was transferred from the first storage device to the second controller, wherein the second controller sets the addressable locations in the second data structure to the first value indicating that the data sets have not been copied from the first storage device to the second storage device, and wherein the second controller sets an addressable location to the second value indicating that a copy of the data set transferred from the first controller was stored in the second storage device.
Claim 23
Dependent Claim
383 words
A first memory and second memory for storing data for access by a first controller and second controller, wherein the first controller processes data in the first memory to copy sequential data sets from a first storage device to the second controller, and wherein the second controller processes data in the second memory to store the sequential data sets received from the first controller in a second storage device, comprising: a first data structure stored in the first memory including addressable locations corresponding to the data sets, wherein the addressable locations indicate whether the data sets were copied from the first storage device to the second storage device, wherein the first controller processes the first data structure to determine whether a data set was copied from the first storage device to the second storage device, and further including: (i) a first field indicating a location in the first storage device of the first data set in the sequence; (ii) a pointer indicating a data set in the first extent to copy from the first storage device to the second storage device, wherein the first controller processes the first field and pointer to determine a data set to copy to the second controller, and wherein the pointer is incremented after transferring the copy of the data set to the second controller; and a second data structure stored in the second memory, including addressable locations corresponding to the data sets, wherein the addressable locations indicate whether the sequential data sets were copied from the first storage device to the second storage device, wherein the second controller processes the second data structure to determine whether a data set was copied from the first storage device to the second storage device, and further including: (i) a first field indicating a location in the second storage device of where to store the first data set in the sequence; and (ii) a pointer indicating a location in the second storage device of where to store data received from the first storage device, wherein the second controller processes the first field and pointer to determine the location in the second storage device of where to store the data set received from the first controller, and wherein the pointer is incremented after storing the data set in the second storage device.
Claim 24
Dependent Claim
383 words
A first memory and second memory for storing data for access by a first controller and second controller, wherein the first controller processes data in the first memory to copy sequential data sets from a first storage device to the second controller, and wherein the second controller processes data in the second memory to store the sequential data sets received from the first controller in a second storage device, comprising: a first data structure stored in the first memory including addressable locations corresponding to the data sets, wherein the addressable locations indicate whether the data sets were copied from the first storage device to the second storage device, wherein the first controller processes the first data structure to determine whether a data set was copied from the first storage device to the second storage device, and further including: (i) a first field indicating a location in the first storage device of the first data set in the sequence; (ii) a pointer indicating a data set in the first extent to copy from the first storage device to the second storage device, wherein the first controller processes the first field and pointer to determine a data set to copy to the second controller, and wherein the pointer is incremented after transferring the copy of the data set to the second controller; and a second data structure stored in the second memory, including addressable locations corresponding to the data sets, wherein the addressable locations indicate whether the sequential data sets were copied from the first storage device to the second storage device, wherein the second controller processes the second data structure to determine whether a data set was copied from the first storage device to the second storage device, and further including: (i) a first field indicating a location in the second storage device of where to store the first data set in the sequence; and (ii) a pointer indicating a location in the second storage device of where to store data received from the first storage device, wherein the second controller processes the first field and pointer to determine the location in the second storage device of where to store the data set received from the first controller, and wherein the pointer is incremented after storing the data set in the second storage device.
Claim 25
Dependent Claim
268 words
Code implemented in a computer readable medium for causing a first and second controllers to copy data sets from a first storage device to a second storage device, wherein the first storage device is managed by the first controller and the second storage device is managed by the second controller, wherein the code is capable of causing at least one of the first controller and second controllers to perform: receiving a command with the first controller to copy a plurality of data sets from the first storage device to the second storage device; generating first and second data structures including fields corresponding to the data sets and indicating in the fields that the data sets have not been copied; and for the data sets subject to the command, performing: (i) transferring a copy of the data set from the first controller to the second controller; (ii) storing with the second controller the copy of the data set received from the first controller in the second storage device; (iii) modifying the field in the first data structure corresponding to the data set copied to the second storage device to indicate that the data set was copied to the second storage device; and (iv) modifying the field in the second data structure corresponding to the data set the second controller stores in the second storage device to indicate that the data set was stored in the second storage device, wherein the first controller generates the first data structure and modifies the first data structure, and wherein the second controller generates the second data structure and modifies the second data structure.
Claim 26
Dependent Claim
268 words
Code implemented in a computer readable medium for causing a first and second controllers to copy data sets from a first storage device to a second storage device, wherein the first storage device is managed by the first controller and the second storage device is managed by the second controller, wherein the code is capable of causing at least one of the first controller and second controllers to perform: receiving a command with the first controller to copy a plurality of data sets from the first storage device to the second storage device; generating first and second data structures including fields corresponding to the data sets and indicating in the fields that the data sets have not been copied; and for the data sets subject to the command, performing: (i) transferring a copy of the data set from the first controller to the second controller; (ii) storing with the second controller the copy of the data set received from the first controller in the second storage device; (iii) modifying the field in the first data structure corresponding to the data set copied to the second storage device to indicate that the data set was copied to the second storage device; and (iv) modifying the field in the second data structure corresponding to the data set the second controller stores in the second storage device to indicate that the data set was stored in the second storage device, wherein the first controller generates the first data structure and modifies the first data structure, and wherein the second controller generates the second data structure and modifies the second data structure.
Claim 27
Dependent Claim
152 words
The code of claim 19 , wherein the first and second data structures are bit map tables, wherein for the data sets subject to the command there are addressable locations in the first and second data structures, wherein the step of generating the first and second data structures comprises setting the addressable locations to a first value, wherein the step of modifying the field in the first data structure corresponding to the data set copied to the second storage device comprises setting the addressable location in the first data structure corresponding to the data set copied to a second value, and wherein the step of modifying the field in the second data structure corresponding to the data set stored in the second storage device comprises the step of setting the addressable location in the second data structure corresponding to the data set copied to the second storage device to the second value.
Claim 28
Dependent Claim
402 words
Code implemented in a computer readable medium for causing a first and second controllers to copy data sets from a first storage device to a second storage device, wherein the first storage device is managed by the first controller and the second storage device is managed by the second controller, wherein the code is further capable of causing at least one of the first controller and second controllers to perform: receiving a command with the first controller to copy a range of sequential data sets from the first storage device to the second storage device; generating a first data structure comprising: (i) generating a first field indicating a location in the first storage device of the first data set in the sequence; and (ii) generating a pointer indicating a data set in the first extent to copy from the first storage device to the second storage device, wherein the first controller processes the first field and pointer to determine a data set to copy to the second controller, and wherein the pointer is incremented after transferring the copy of the data set to the second controller; and generating a second data structure comprising: (i) generating a first field indicating a location in the second storage device of where to store the first data set in the sequence; and (ii) generating a pointer indicating a location in the second storage device to store data received from the first storage device, wherein the second controller processes the first field and pointer to determine the location in the second storage device where to store the data set received from the first controller, and wherein the pointer is incremented after storing the data set in the second storage device; for the data sets subject to the command, performing: (i) transferring a copy of the data set from the first controller to the second controller; (ii) storing with the second controller the copy of the data set received from the first controller in the second storage device; (iii) modifying the field in the first data structure corresponding to the data set copied to the second storage device to indicate that the data set was copied to the second storage device; and (iv) modifying the field in the second data structure corresponding to the data set the second controller stores in the second storage device to indicate that the data set was stored in the second storage device.
Claim 29
Dependent Claim
402 words
Code implemented in a computer readable medium for causing a first and second controllers to copy data sets from a first storage device to a second storage device, wherein the first storage device is managed by the first controller and the second storage device is managed by the second controller, wherein the code is further capable of causing at least one of the first controller and second controllers to perform: receiving a command with the first controller to copy a range of sequential data sets from the first storage device to the second storage device; generating a first data structure comprising: (i) generating a first field indicating a location in the first storage device of the first data set in the sequence; and (ii) generating a pointer indicating a data set in the first extent to copy from the first storage device to the second storage device, wherein the first controller processes the first field and pointer to determine a data set to copy to the second controller, and wherein the pointer is incremented after transferring the copy of the data set to the second controller; and generating a second data structure comprising: (i) generating a first field indicating a location in the second storage device of where to store the first data set in the sequence; and (ii) generating a pointer indicating a location in the second storage device to store data received from the first storage device, wherein the second controller processes the first field and pointer to determine the location in the second storage device where to store the data set received from the first controller, and wherein the pointer is incremented after storing the data set in the second storage device; for the data sets subject to the command, performing: (i) transferring a copy of the data set from the first controller to the second controller; (ii) storing with the second controller the copy of the data set received from the first controller in the second storage device; (iii) modifying the field in the first data structure corresponding to the data set copied to the second storage device to indicate that the data set was copied to the second storage device; and (iv) modifying the field in the second data structure corresponding to the data set the second controller stores in the second storage device to indicate that the data set was stored in the second storage device.
Claim 30
Dependent Claim
240 words
The code of claim 19 , wherein the code is further capable of causing at least one of the first controller and second controllers to perform: receiving with the second controller a request from a host system for a data set in the second storage device; processing with the second controller the second data structure to determine whether the requested data set was copied from the first storage device to the second storage device; retrieving with the second controller the requested data set and transmitting the requested data set to the host system after determining that the requested data set was copied from the first storage device to the second storage device; and after determining that the requested data set was not copied from the first storage device to the second storage device, performing the steps of: (i) generating a message with the second controller to the first controller requesting the requested data set; (ii) transmitting the message to the first controller; (iii) accessing with the first controller the data set requested by the second controller in the message and transferring the requested data set to the second controller in response to processing the message; (iv) storing with the second controller the requested data set received from the first controller in the second storage device; and (v) transmitting to the host system with the second controller the requested data set after receiving the requested data set from the first controller.
Claim 31
Dependent Claim
94 words
The code of claim 22 , wherein the code is further capable of causing at least one of the first controller and second controllers to perform: modifying the field in the first data structure corresponding to the requested data set transferred to the second controller to indicate that the requested data set was copied to the second storage device; and modifying the field in the second data structure corresponding to the requested data set stored in the second storage device to indicate that the requested data set was copied to the second storage device.
Claim 32
Dependent Claim
192 words
The code of claim 19 , wherein the code is further capable of causing at least one of the first controller and second controllers to perform: receiving with the first controller an update to a data set in the first storage device; processing with the first controller the first data structure to determine whether the data set to update was copied from the first storage device to the second storage device; storing with the first controller the update to the data set in the first storage device after determining that the data set to update was copied from the first storage device to the second storage device; and after determining that the data set to update was not copied from the first storage device to the second storage device, performing the steps of: (i) accessing with the first controller the data set to update from the first storage device; (ii) transferring the accessed data set to the second controller; (iii) storing with the second controller the data set received from the first controller in the second storage device; and (iv) storing with the first controller the update in the first storage device.
Claim 33
Dependent Claim
88 words
The code of claim 24 , wherein the code is further capable of causing at least one of the first controller and second controllers to perform: modifying the field in the first data structure corresponding to the data set to update transferred to the second controller to indicate that the data set was copied to the second storage device; and modifying the field in the second data structure corresponding to the data set to update to indicate that the data set was copied to the second storage device.