Provided are a method, system, and program for managing data. A data request is received to a target track in a relationship, wherein the relationship associates a source track with the target track. A destage request to destage the source track is submitted in response to the data request to the target track, wherein executing the data request to the target track is conditioned on receiving a completion response to the destage request. If the source track is not in cache, then a complete response is returned to the destage request. If the source track was in cache when the relationship was established, then the destage request is added to an Input/Output (I/O) queue for the source track. After the source track is destaged in response to processing the destage request in the I/O queue, the complete response is returned to the destage request.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer implemented method for managing data, comprising: receiving a data request to a target track in a copy relationship, wherein the copy relationship associates a source track with the target track, wherein the source and target tracks are maintained in at least one storage medium; submitting a destage request to destage the source track in response to the data request to the target track, wherein executing the data request to the target track is conditioned on receiving a complete response to the destage request; if the source track is not in a cache, returning the complete response to the destage request, wherein the cache is implemented in at least one computer readable medium; if the source track was in the cache when the copy relationship was established, adding the destage request to an Input/Output (I/O) queue for the source track; and after the source track is destaged in response to processing the destage request in the I/O queue, returning the complete response to the destage request.
2. The method of claim 1 , further comprising: staging the destaged source track to the target track in the cache after receiving the complete response to the destage request; and performing the data request to the target track after staging the destaged source track.
3. The method of claim 1 , wherein the destage request indicates the target track and the copy relationship, further comprising: processing copy relationship information for the copy relationship indicated in the destage request to determine the source track corresponding to the target track.
4. The method of claim 3 , wherein I/O requests to the source track are handled by a first processor and I/O requests to the target track are handled by a second processor, wherein the first and second processors maintain the copy relationship information on the copy relationships including tracks they manage.
5. The method of claim 1 , further comprising: determining whether any source and target tracks in the cache when the copy relationship was established have been removed from the cache, wherein the request to destage the source track is submitted if the source and target tracks in the cache when the copy relationship was established are determined to have not been removed from the cache.
6. The method of claim 5 , wherein the source tracks are made unmodified in the cache by destaging the source tracks from the cache and wherein the target tacks are removed from the cache by discarding the target tracks in the cache.
7. The method of claim 1 , further comprising: if the source track is in the cache but was added to the cache after the copy relationship was established, then returning the complete response to the destage request.
8. The method of claim 1 , further comprising: acquiring a lock on the source I/O queue for the source track when receiving the destage request to the source I/O queue; and releasing the lock on the source I/O queue after returning the complete response or after adding the destage request to the source I/O queue.
9. The method of claim 1 , further comprising: completing a request to destage the source track from the cache; determining whether there is at least one destage request in the I/O queue for the source track submitted in response to the data request to the target track; and returning the complete response to the destage request submitted in response to the data request to the target track.
10. The method of claim 9 , wherein the processed request to destage the source track is not submitted in response to one data request to one target track.
11. The method of claim 9 , wherein there are multiple requests to destage the source track in the I/O queue submitted in response to data requests to at least one target track corresponding to the source track in at least one copy relationship, and wherein the complete response is returned to each determined destage request in the I/O queue submitted in response to one data request to one target track.
12. The method of claim 9 , wherein the processed request to destage the source track was submitted in response to one data request to one target track corresponding to the source track, and wherein the complete response is returned to the destage request after processing the request to destage the source track that was submitted in response to one data request to one target track.
13. The method of claim 1 , wherein the copy relationship comprises a point-in-time copy relationship between source and target tracks.
14. A system for managing data, comprising: a source storage including source tracks; a target storage including target tracks, wherein the source and target tracks are implemented in at least one storage medium; a cache implemented in at least one computer readable medium; means for receiving a data request to one target track in a copy relationship, wherein the copy relationship associates one source track with the target track; means for submitting a destage request to destage the source track in response to the data request to the target track, wherein executing the data request to the target track is conditioned on receiving a complete response to the destage request; means for returning the complete response to the destage request if the source track is not in the cache; means for adding the destage request to an Input/Output (I/O) queue for the source track if the source track was in the cache when the copy relationship was established; and means for returning the complete response to the destage request after the source track is destaged in response to processing the destage request in the I/O queue.
15. The system of claim 14 , further comprising: means for staging the destaged source track to the target track in the cache after receiving the complete response to the destage request; and means for performing the data request to the target track after staging the destaged source track.
16. The system of claim 14 , further comprising: a first processor, wherein I/O requests to the source track are handled by the first processor; and a second processor, wherein I/O requests to the target track are handled by a second processor, wherein the first and second processors maintain copy relationship information on copy relationships including tracks they manage.
17. The system of claim 14 , further comprising: means for determining whether any source and target tracks in the cache when the copy relationship was established have been removed from the cache, wherein the request to destage the source track is submitted if the source and target tracks in the cache when the copy relationship was established are determined to have not been removed from the cache.
18. The system of claim 14 , further comprising: means for completing a request to destage the source track from the cache; means for determining whether there is at least one destage request in the I/O queue for the source track submitted in response to the data request to the target track; and means for returning the complete response to the destage request submitted in response to the data request to the target track.
19. The system of claim 18 , wherein there are multiple requests to destage the source track in the I/O queue submitted in response to data requests to at least one target track corresponding to the source track in at least one copy relationship, and wherein the complete response is returned to each determined destage request in the I/O queue submitted in response to one data request to one target track.
20. A device implementing code for managing data in source and target tracks and in a cache implemented in at least one computer readable medium, wherein the source and target tracks are implemented in at least one storage medium, and wherein the code causes computer implemented operations to be performed, the operations comprising: receiving a data request to one target track in a copy relationship, wherein the copy relationship associates one source track with the target track; submitting a destage request to destage the source track in response to the data request to the target track, wherein executing the data request to the target track is conditioned on receiving a complete response to the destage request; if the source track is not in the cache, returning the complete response to the destage request; if the source track was in the cache when the copy relationship was established, adding the destage request to an Input/Output (I/O) queue for the source track; and after the source track is destaged in response to processing the destage request in the I/O queue, returning the complete response to the destage request.
21. The device of claim 20 , wherein the operations further comprise: staging the destaged source track to the target track in the cache after receiving the complete response to the destage request; and performing the data request to the target track after staging the destaged source track.
22. The device of claim 20 , wherein the destage request indicates the target track and the copy relationship, wherein the operations further comprise: processing copy relationship information for the copy relationship indicated in the destage request to determine the source track corresponding to the target track.
23. The device of claim 22 , wherein I/O requests to the source track are handled by a first processor and I/O requests to the target track are handled by a second processor, wherein the first and second processors maintain copy relationship information on copy relationships including tracks they manage.
24. The device of claim 20 , wherein the operations further comprise: determining whether any source and target tracks in the cache when the copy relationship was established have been removed from the cache, wherein the request to destage the source track is submitted if the source and target tracks in the cache when the copy relationship was established are determined to have not been removed from the cache.
25. The device of claim 24 , wherein the source tracks are made unmodified in the cache by destaging the source tracks from the cache and wherein the target tracks are removed from the cache by discarding the target tracks in the cache.
26. The device of claim 20 , wherein the operations further comprise: if the source track is in the cache but was added to the cache after the copy relationship was established, then returning the complete response to the destage request.
27. The device of claim 20 , wherein the operations further comprise: acquiring a lock on the source I/O queue for the source track when receiving the destage request to the source I/O queue; and releasing the lock on the source I/O queue after returning the complete response or after adding the destage request to the source I/O queue.
28. The device of claim 20 , wherein the operations further comprise: completing a request to destage the source track from the cache; determining whether there is at least one destage request in the I/O queue for the source track submitted in response to the data request to the target track; and returning the complete response to the destage request submitted in response to the data request to the target track.
29. The device of claim 28 , wherein the processed request to destage the source track is not submitted in response to one data request to one target track.
30. The device of claim 28 , wherein there are multiple requests to destage the source track in the I/O queue submitted in response to data requests to at least one target track corresponding to the source track in at least one copy relationship, and wherein the complete response is returned to each determined destage request in the I/O queue submitted in response to one data request to one target track.
31. The device of claim 28 , wherein the processed request to destage the source track was submitted in response to one data request to one target track corresponding to the source track, and wherein the complete response is returned to the destage request after processing the request to destage the source track that was submitted in response to one data request to one target track.
32. The device of claim 20 , wherein the copy relationship comprises a point-in-time copy relationship between source and target tracks.
33. The device of claim 20 , wherein the device comprises at least one of a computer readable storage medium implementing the code that is executed to perform the operations and a hardware device implementing the code as hardware logic.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
June 17, 2003
October 17, 2006
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.