Transferring data in a digital data processing system
DCFirst Claim
1. A method of transferring data between two storage media in a shadow set of storage media accessible by one or more hose processors for I/O requests, said method comprising the steps of:
- A. receiving a command from one of said host processors, said command specifying data to be transferred from a first said storage medium to a second said storage medium;
B. transferring said data specified in said command from said first storage medium to said second storage medium in a series of subtransfers, each of said subtransfers transferring a portion of said specified data; and
C. processing one or more I/O requests received from said host processors for access to said shadow set by, for each received I/O request;
a. implementing said I/O request if said I/O request does not involve a section of said shadow set currently involved in one of said subtransfers; and
b. stalling said I/O request if said I/O request involves a section of said shadow set currently involved in one of said subtransfers, and implementing said I/O request when said one of said subtransfers has completed.
2 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A method and apparatus for transferring data between two storage media, and is used in an illustrative embodiment to transfer data between two storage media in a shadow set, the storage media being accessible to one or more host processors. The method of the preferred embodiment includes the steps of: A. receiving a command from one of the host processors, the command specifying data to be transferred from a first storage medium to a second storage medium; B. transferring the data specified in the command received from the host from the first storage medium to the second storage medium in a series of subtransfers, each of the subtransfers transferring a portion of the data; and C. processing one or more I/O requests to the shadow set received from one or more host processors by, for each received I/O request: a. implementing the I/O request if the I/O request does not involve a section of the shadow set currently involved in one of the subtransfers; and b. stalling the I/O request if the I/O request involves a section of said shadow set currently involved in one of the subtransfers, and implementing the I/O request when the subtransfer has completed.
69 Citations
40 Claims
-
1. A method of transferring data between two storage media in a shadow set of storage media accessible by one or more hose processors for I/O requests, said method comprising the steps of:
-
A. receiving a command from one of said host processors, said command specifying data to be transferred from a first said storage medium to a second said storage medium; B. transferring said data specified in said command from said first storage medium to said second storage medium in a series of subtransfers, each of said subtransfers transferring a portion of said specified data; and C. processing one or more I/O requests received from said host processors for access to said shadow set by, for each received I/O request; a. implementing said I/O request if said I/O request does not involve a section of said shadow set currently involved in one of said subtransfers; and b. stalling said I/O request if said I/O request involves a section of said shadow set currently involved in one of said subtransfers, and implementing said I/O request when said one of said subtransfers has completed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of transferring data from a first storage device to a second storage device, said first storage device and said second storage device respectively comprising first and second storage media and first and second processors and being accessible to one or more host processors for I/O operations to said storage media, said method comprising the steps of:
-
(a) transmitting a first command from a said host processor to said first processor, said command specifying data to be transferred from one of said storage media to another one of said storage media; (b) issuing a second command from said first processor to said second processor; (c) transmitting said data from said one of said storage media to another one of said storage media in accordance with said second command; and (d) controlling said transmitting of said data with said first and second processors.
-
-
14. A method of transferring data between two storage media in a shadow set of storage media accessible by one or more host processors for I/O requests, said method comprising the steps of:
-
A. receiving a command from one of said host processors, said command specifying data to be transferred from a first said storage medium to a second said storage medium; B. transferring said data from said first storage medium to said second storage medium in response to said command; and C. when said transferring is occurring, causing each of said host processors to transmit each said I/O request first to said first storage medium and, after said I/O request to said first storage medium has completed, then to said second storage medium, and thereafter allowing said host processors to transmit each said I/O request to said first storage medium and said second storage medium in any order.
-
-
15. An apparatus for transferring data between two storage media in a shadow set of storage media accessible by one or more host processors for I/O requests, said apparatus comprising:
-
a processor that manages access to a first said storage medium and operative to receive a command from one of said host processors, said command specifying data to be transferred between said first storage medium and a second said storage medium; means responsive to said processor that manages access to said first storage medium for transferring said data specified in said command between said first storage medium and said second storage medium in a series of substransfers, each of said subtransfers transferring a portion of said specified data; and means for processing one or more I/O requests received from said host processors for access to said shadow set by, for each received I/O request; a. implementing said I/O request if said I/O request does not involve a section of said shadow set currently involved in one of said subtransfers being performed by said means for transferring; and b. stalling said I/O request if said I/O request involves a section of said shadow set currently involved in one of said subtransfers, and implementing said I/O request when said one of said subtransfers has completed. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. An apparatus for transferring data between a first storage medium and a second storage medium, said storage media being accessible by one or more host processors for I/O operations to said storage media, said apparatus comprising:
-
a first processor that manages access to said first storage medium and operative to receive a command from one of said host processors, said command specifying data to be transferred between said storage media; a second processor that manages access to said second storage medium and operative to receive a second command from said first processor; and means controlled by said first processor and said second processor for transferring said specified data between said first storage medium and said second storage medium in accordance with said second command. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33)
-
-
34. An apparatus for transmitting data stored in a storage medium, said storage medium being accessible by one or more host processors for I/O requests, said apparatus comprising:
-
a processor that manages access to said storage medium and operative to receive a command specifying data to be transmitted from said storage medium; means responsive to said processor that manages access to said storage medium for transmitting said data specified in said command in a series of transmissions, each of said transmissions transmitting a portion of said specified data; and means for processing one or more I/O requests received from said host processors for access to said storage medium by, for each received I/O request; a. implementing said I/O request if said I/O request does not involve a section of said storage medium currently involved in one of said transmissions being performed by said means for transmitting; and b. stalling said I/O request if said I/O request involves a section of said storage medium currently involved in one of said transmissions, and implementing said I/O request when said one of said transmissions has completed. - View Dependent Claims (35, 36, 37, 38, 39, 40)
-
Specification