Fast data copy using a data copy track table
First Claim
Patent Images
1. A computer-implemented method to copy data from a source volume to a target volume, comprising the steps of:
- providing a storage controller comprising memory, a source volume, a target volume, and a data copy track table written to said memory, wherein said data copy track table comprises, for each of said source volume and said target volume, a control structure comprising a first pointer comprising a physical location pointer, a second pointer comprising a physical location pointer reserved flag, a third pointer comprising a forward target pointer, and a fourth pointer comprising a backward source pointer;
receiving by said storage controller a request to copy data from said source volume to said target volume;
if the physical location pointer reserved flag for said source volume is not set, setting said physical location pointer for said source volume to indicate the location of the data in the source volume;
setting the physical location pointer reserved flag for said source volume;
setting the forward target pointer of said source volume to said the data copy track table control structure for said target volume;
unsetting the physical location pointer reserved flag of said target volume;
setting the forward target pointer of the target volume to a null value;
setting the backward source pointer of the source volume to a null value; and
,setting the backward source pointer of the target volume to the data copy track table control structure for said source volume.
1 Assignment
0 Petitions
Accused Products
Abstract
A data structure, method, and computer system for fast data copy is provided which uses control structures in a data copy track table. The control structures include a physical location pointer, a physical location pointer flag, a forward track pointer and a backward source pointer. These control structures are used in an update-in-place architecture. Requests for source or target data updates do not require additional write cycles.
9 Citations
14 Claims
-
1. A computer-implemented method to copy data from a source volume to a target volume, comprising the steps of:
-
providing a storage controller comprising memory, a source volume, a target volume, and a data copy track table written to said memory, wherein said data copy track table comprises, for each of said source volume and said target volume, a control structure comprising a first pointer comprising a physical location pointer, a second pointer comprising a physical location pointer reserved flag, a third pointer comprising a forward target pointer, and a fourth pointer comprising a backward source pointer; receiving by said storage controller a request to copy data from said source volume to said target volume; if the physical location pointer reserved flag for said source volume is not set, setting said physical location pointer for said source volume to indicate the location of the data in the source volume; setting the physical location pointer reserved flag for said source volume; setting the forward target pointer of said source volume to said the data copy track table control structure for said target volume; unsetting the physical location pointer reserved flag of said target volume; setting the forward target pointer of the target volume to a null value; setting the backward source pointer of the source volume to a null value; and
,setting the backward source pointer of the target volume to the data copy track table control structure for said source volume. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An article of manufacture comprising memory, a source volume, a target volume, and a data copy track table written to said memory, wherein said data copy track table comprises, for each of said source volume and said target volume, a control structure comprising a first pointer comprising a physical location pointer, a second pointer comprising a physical location pointer reserved flag, a third pointer comprising a forward target pointer, a fourth pointer comprising a backward source pointer, and a computer useable medium having computer readable program code disposed therein to copy data from a source volume to a target volume, the computer readable program code comprising a series of computer readable program steps to effect:
-
receiving a request to copy data from said source volume to said target volume; if the physical location pointer reserved flag for said source volume is not set, setting said physical location pointer for said source volume to indicate the location of the data in the source volume; setting the physical location pointer reserved flag for said source volume; setting the forward target pointer of said source volume to said the data copy track table control structure for said target volume; unsetting the physical location pointer reserved flag of said target volume; setting the forward target pointer of the target volume to a null value; setting the backward source pointer of the source volume to a null value; and
,setting the backward source pointer of the target volume to the data copy track table control structure for said source volume. - View Dependent Claims (7, 8, 9)
-
-
10. A computer program product usable with a programmable computer processor having computer readable program code embodied therein to copy data using a storage controller comprising memory, a source volume, a target volume, and a data copy track table written to said memory, wherein said data copy track table comprises, for each of said source volume and said target volume, a control structure comprising a first pointer comprising a physical location pointer, a second pointer comprising a physical location pointer reserved flag, a third pointer comprising a forward target pointer, and a fourth pointer comprising a backward source pointer, comprising:
-
computer readable program code which causes said programmable computer processor to receive a request to copy data from said source volume to said target volume; computer readable program code which, if the physical location pointer reserved flag for said source volume is not set, causes said programmable computer processor to set said physical location pointer for said source volume to indicate the location of the data in the source volume; computer readable program code which causes said programmable computer processor to set the physical location pointer reserved flag for said source volume; computer readable program code which causes said programmable computer processor to set the forward target pointer of said source volume to said the data copy track table control structure for said target volume; computer readable program code which causes said programmable computer processor to unset the physical location pointer reserved flag of said target volume; computer readable program code which causes said programmable computer processor to set the forward target pointer of the target volume to a null value; computer readable program code which causes said programmable computer processor to set the backward source pointer of the source volume to a null value; and
,computer readable program code which causes said programmable computer processor to set the backward source pointer of the target volume to the data copy track table control structure for said source volume. - View Dependent Claims (11, 12, 13, 14)
-
Specification