Method, system, and program for transferring data
First Claim
1. A method for transferring data from source storage units to target storage units, wherein the source and target storage units are configured within a computer mass storage system, comprising:
- processing a data transfer operation to transfer data from source storage blocks in one source storage unit to corresponding target storage blocks in one target storage unit; and
for each source storage block, performing;
(i) before transferring data from one source storage block to the corresponding target storage block, indicating that the source storage block is in a locked state and transmitting a message to host systems capable of requesting data from the source storage block to invalidate information for the source storage block maintained in the host systems, wherein data in the source storage block in the locked state is not accessible to a host data request, and wherein data in storage blocks that are not in the locked state is accessible to the host data request while the data transfer operation is pending; and
(ii) indicating that the source storage block is not in the locked state after transferring the data in the source storage block to the corresponding target storage block.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided are a method, system, and program for transferring data from a source storage unit, wherein storage units are configured within a storage system. A data transfer operation is processed to transfer data from source storage blocks in a source storage unit to corresponding target storage blocks in a target storage unit. For each source storage block, before transferring data from one source storage block to the corresponding target storage block, indication is made that the source storage block is in a locked state. Data in the source storage block in the locked state is not accessible to a host data request, and wherein data in storage blocks that are not in the locked state is accessible to a host data request while the data transfer operation is pending. Indication is further made that the source storage block is not in the locked state after transferring the data in the source storage block to the corresponding target storage block the data in the source storage block to the corresponding target storage block.
26 Citations
36 Claims
-
1. A method for transferring data from source storage units to target storage units, wherein the source and target storage units are configured within a computer mass storage system, comprising:
-
processing a data transfer operation to transfer data from source storage blocks in one source storage unit to corresponding target storage blocks in one target storage unit; and for each source storage block, performing; (i) before transferring data from one source storage block to the corresponding target storage block, indicating that the source storage block is in a locked state and transmitting a message to host systems capable of requesting data from the source storage block to invalidate information for the source storage block maintained in the host systems, wherein data in the source storage block in the locked state is not accessible to a host data request, and wherein data in storage blocks that are not in the locked state is accessible to the host data request while the data transfer operation is pending; and (ii) indicating that the source storage block is not in the locked state after transferring the data in the source storage block to the corresponding target storage block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for processing data requests at a host system in communication with a computer mass storage system, comprising:
-
receiving a data request from a requestor for requested data within the computer mass storage system, wherein data in the computer mass storage system is configured into a plurality of storage blocks, and wherein a plurality of locks are associated with the storage blocks, and wherein each of the locks indicates whether one corresponding storage block is being accessed as part of a pending data transfer operation; receiving a message to invalidate information for an indicated storage block in response to one other host system obtaining the lock to the indicated storage block to perform a data transfer operation with respect to storage blocks in the storage unit including the indicated storage block; determining whether the locks associated with the storage blocks that include the requested data indicate that the storage blocks are being accessed as part of one pending data transfer operation; and accessing the requested data to return to the requestor if the locks associated with the storage blocks that include the requested data do not indicate that at least one of the storage blocks are being accessed as part of one pending data transfer operation. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A system for transferring data from source storage units to target storage units, wherein the source and target storage units are configured within a computer mass storage system, and wherein the system is in communication with host systems that include information on storage units within the computer mass storage system to use to transmit data requests to the computer mass storage system, comprising:
-
means for processing a data transfer operation to transfer data from source storage blocks in one source storage unit to corresponding target storage blocks in one target storage unit; and means for performing for each source storage block; (i) before transferring data from one source storage block to the corresponding target storage block, indicating that the source storage block is in a locked state and transmitting a message to the host systems capable of requesting data from the source storage block to invalidate information for the source storage block maintained in the host systems, wherein data in the source storage block in the locked state is not accessible to a host data request, and wherein data in storage blocks that are not in the locked state is accessible to the host data request while the data transfer operation is pending; and (ii) indicating that the source storage block is not in the locked state after transferring the data in the source storage block to the corresponding target storage block. - View Dependent Claims (16, 17)
-
-
18. The system 15, wherein invalidating the information for the source storage block in the host systems causes the host systems to request updated information for the source storage block indicating whether the source storage block is in the locked state in response to the host attempting to access the source storage block.
-
19. A system for processing data requests from a requestor to data within a computer mass storage system configured into a plurality of storage blocks, wherein the system is in communication with the computer mass storage system and wherein host systems are also in communication with the computer mass storage system, comprising:
-
means for receiving a data request from the requestor for requested data within the computer mass storage system; means for associating a plurality of locks with the storage blocks, wherein each of the locks indicates whether one corresponding storage block is being accessed as part of a pending data transfer operation; means for receiving a message to invalidate information for an indicated storage block in response to one of the host systems obtaining the lock to the indicated storage block to perform a data transfer operation with respect to storage blocks in the storage unit including the indicated storage block; means for determining whether the locks associated with the storage blocks that include the requested data indicate that the storage blocks are being accessed as part of one pending data transfer operation; and means for accessing the requested data to return to the requestor if the locks associated with the storage blocks that include the requested data do not indicate that at least one of the storage blocks are being accessed as part of one pending data transfer operation. - View Dependent Claims (20, 21, 22)
-
-
23. An article of manufacture implemented in a computer readable medium including code executed to transfer data from source storage units to target storage units, wherein the source and target storage units are configured within a computer mass storage system, wherein host systems include information on the storage units within the computer mass storage system to use to transmit data requests to the storage system, and wherein the code causes operations to be performed, the operations comprising:
-
processing a data transfer operation to transfer data from source storage blocks in one source storage unit to corresponding target storage blocks in one target storage unit; and for each source storage block, performing; (i) before transferring data from one source storage block to the corresponding target storage block, indicating that the source storage block is in a locked state and transmitting a message to the host systems capable of requesting data from the source storage block to invalidate information for the source storage block maintained in the host systems, wherein data in the source storage block in the locked state is not accessible to a host data request, and wherein data in storage blocks that are not in the locked state is accessible to the host data request while the data transfer operation is pending; and (ii) indicating that the source storage block is not in the locked state after transferring the data in the source storage block to the corresponding target storage block. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. An article of manufacture implemented in a computer readable medium including code executed to process data requests from a requestor and communicate with a computer mass storage system and wherein host systems are in communication with the computer mass storage system, wherein the code is executed to perform operations comprising:
-
receiving a data request from the requestor for requested data within the computer mass storage system, wherein data in the storage system is configured into a plurality of storage blocks, and wherein a plurality of locks are associated with the storage blocks, and wherein each of the locks indicates whether one corresponding storage block is being accessed as part of a pending data transfer operation; receiving a message to invalidate information for an indicated storage block in response to one of the host systems obtaining the lock to the indicated storage block to perform a data transfer operation with respect to storage blocks in the storage unit including the indicated storage block; determining whether the locks associated with the storage blocks that include the requested data indicate that the storage blocks are being accessed as part of one pending data transfer operation; and accessing the requested data to return to the requestor if the locks associated with the storage blocks that include the requested data do not indicate that at least one of the storage blocks are being accessed as part of one pending data transfer operation. - View Dependent Claims (33, 34, 35, 36)
-
Specification