Claims
- 1. Data migration apparatus for use in a data processing system including an existing storage device for data elements connected to a host system that performs data element transfers with the existing storage device in response to data transfer requests and a replacement storage device, said data migration apparatus comprising:
A) connection means for forming the existing and replacement storage devices into a composite storage device with a path to the host system thereby enabling the composite storage device to respond to data transfer requests from the host system; and B) data migration means for migrating data from the existing storage device to the replacement storage device concurrently with data transfer requests from the host system.
- 2. Data migration apparatus as recited in claim 1 wherein said data migration means comprises:
i) first transfer means for producing data transfers between the host system and the composite storage device in response to data transfer requests from the host system; ii) second transfer means for producing data transfers from the existing storage device to the replacement storage device; and iii) control means in the replacement storage device for controlling said first and second transfer means until all the data elements have migrated from the existing storage device to the replacement storage device whereupon thereafter all host system transfer requests are processed in the replacement storage device.
- 3. Data migration apparatus as recited in claim 2 wherein the existing storage device stores data elements in sequentially addressed locations defining a data block and wherein said first and second transfer means include means for transferring, during each transfer, a data block from the existing storage device to the replacement storage device.
- 4. Data migration apparatus as recited in claim 3 additionally comprising a table that is initialized to indicate that all data blocks in the existing storage device require data migration, said control means updating said table in response to each data block migration thereby to terminate the data migration when all data elements have migrated to the replacement storage device.
- 5. Data migration apparatus as recited in claim 4 wherein the replacement volume comprises at least one logical volume and said table includes a portion allocated to each logical volume, said apparatus additionally comprising means for transferring each table portion to the replacement storage device periodically.
- 6. Data migration apparatus as recited in claim 4 wherein the replacement volume comprises a plurality of logical volumes and said table includes a portion allocated to each logical volume, said apparatus additionally comprising means for transferring each table portion to a corresponding logical volume in the replacement storage device after each migration of a data block from logical volume in the existing storage device to the corresponding logical volume in the replacement storage device.
- 7. Data migration apparatus as recited in claim 4 wherein said connection means includes:
i) means associated with said first transfer means for establishing a path between the host system and the replacement storage device, and ii) means associated with said second transfer means for establishing a second path between the existing and replacement storage devices.
- 8. Data migration apparatus as recited in claim 4 wherein said connection means includes:
i) means associated with said first transfer means for establishing a first path between the replacement storage device and the host system in lieu of the path between the existing storage device and the host system, and ii) means associated with said second transfer means for establishing a path between the existing and replacement storage devices whereby all data transfers in response to data transfer requests from the host system occur with the replacement storage device.
- 9. Data migration apparatus as recited in claim 4 wherein the host system includes a plurality of input-output connections available for connection to storage devices, wherein the existing storage device connects to a first input-output connection and wherein said connection means includes:
i) means associated with said first transfer means for establishing a first path between the replacement storage device and a second host system input-output connection whereby the first path is in parallel with the connection between the host system and the existing storage device, and ii) means associated with said second transfer means for establishing a second path between the existing and replacement storage devices, said control means effecting the data migration after the host system reroutes input-output operations to the other of the host system input-output connections.
- 10. Data migration apparatus as recited in claim 4 wherein said first and second transfer means effect transfers by controlling the operation of a copy subroutine for transferring data blocks from the existing storage device to the replacement storage device in response to control parameters, said first transfer means including a foreground mode controller for establishing first values for the control parameters in response to data transfer requests to data blocks located only in the existing storage device and said second transfer means including a background mode controller for establishing second values of the control parameters.
- 11. Data migration apparatus as recited in claim 10 additionally comprising:
A) means for determining the existence of a significant pattern of accesses to the existing storage device controlled by said foreground mode controller; and B) means for altering the control parameters from said background mode controller in response to the occurrence of the significant pattern.
- 12. Data migration apparatus as recited in claim 11 wherein said table in said control means includes a flag corresponding to each data block having a first value indicating that the corresponding data block is located only in the existing storage device and a second value indicating that the corresponding data block has migrated to the replacement storage device and wherein one of the control parameters is the address of a data block location, said copy subroutine including:
i) means for migrating a data block from the existing storage device to the replacement storage device when the corresponding flag is at the first value; and ii) means for establishing the second flag value in response to the migration.
- 13. Data migration apparatus as recited in claim 12 wherein said means for determining the existence of a significant pattern includes:
i) means for defining identifiable statistical blocks comprising a predetermined number of contiguous data blocks; and ii) means for counting successive data transfer requests initiated by said foreground controller that access a given statistical block for a predetermined number of data transfers; said altering means includes means for setting an interruption flag; and said background mode controller includes means responsive to the interruption flag for loading the address of the statistical block as a control parameter.
- 14. Data migration apparatus as recited in claim 13 additionally comprising an interruption flag:
said means for determining the existence of a significant pattern additionally including means for setting the interruption flag; and said background mode controller includes means responsive to the interruption flag for loading the address of the statistical block; and said altering means comprises:
i) means for monitoring the number of data transfers by the copy subroutine in response to the operation of said background controller; and ii) means for setting the interruption flag only after a predetermined number of iterations of the copy subroutine have been performed in response to the operation of said background controller.
- 15. Data migration apparatus as recited in claim 10 wherein said connection means includes:
i) means associated with said first transfer means for establishing a path between the host system and the replacement storage device, and ii) means associated with said second transfer means for establishing a second path between the existing and replacement storage devices.
- 16. Data migration apparatus as recited in claim 10 wherein said connection means includes:
i) means associated with said first transfer means for establishing a first path between the replacement storage device and the host system in lieu of the path between the existing storage device and the host system, and ii) means associated with said second transfer means for establishing a path between the existing and replacement storage devices whereby all data transfers in response to data transfer requests from the host system occur with the replacement storage device.
- 17. Data migration apparatus as recited in claim 10 wherein the host system includes a plurality of input-output connections available for connection to storage devices, wherein the existing storage device connects to a first input-output connection and wherein said connection means includes:
i) means associated with said first transfer means for establishing a first path between the replacement storage device and a second host system input-output connection whereby the first path is in parallel with the connection between the host system and the existing storage device, and ii) means associated with said second transfer means for establishing a second path between the existing and replacement storage devices, said control means effecting the data migration after the host system reroutes input-output operations to the other of the host system input-output connections.
- 18. Data migration apparatus as recited in claim 10 wherein the replacement volume comprises at least one logical volume and said table includes a portion allocated to each logical volume, said apparatus additionally comprising means for transferring each table portion to the replacement storage device periodically.
- 19. Data migration apparatus as recited in claim 10 wherein the replacement volume comprises a plurality of logical volumes and said table includes a portion allocated to each logical volume, said apparatus additionally comprising means for transferring each table portion to a corresponding logical volume in the replacement storage device after each migration of a data block from logical volume in the existing storage device to the corresponding logical volume in the replacement storage device.
- 20. Data migration apparatus as recited in claim 19 wherein said connection means includes:
i) means associated with said first transfer means for establishing a path between the host system and the replacement storage device, and ii) means associated with said second transfer means for establishing a second path between the existing and replacement storage devices.
- 21. Data migration apparatus as recited in claim 19 wherein said connection means includes:
i) means associated with said first transfer means for establishing a first path between the replacement storage device and the host system in lieu of the path between the existing storage device and the host system, and ii) means associated with said second transfer means for establishing a path between the existing and replacement storage devices whereby all data transfers in response to data transfer requests from the host system occur with the replacement storage device.
- 22. Data migration apparatus as recited in claim 19 wherein the host system includes a plurality of input-output connections available for connection to storage devices, wherein the existing storage device connects to a first input-output connections and wherein said connection means includes:
i) means associated with said first transfer means for establishing a first path between the replacement storage device and a second host system input-output connection whereby the first path is in parallel with the connection between the host system and the existing storage device, and ii) means associated with said second transfer means for establishing a second path between the existing and replacement storage devices, said control means effecting the data migration after the host system reroutes input-output operations to the other of the host system input-output connections.
- 23. Data migration apparatus as recited in claim 1 wherein said data migration means includes:
i) means for identifying data elements that have migrated from the existing storage device to the replacement storage device, and ii) means for copying said identification means to said replacement storage device periodically.
- 24. Data migration apparatus as recited in claim 23 wherein data elements are stored in the storage devices in data blocks and said identification means includes a table that identifies each data block to be migrated, said data migration means updating said table with each data block migration to the replacement storage device.
- 25. Data migration apparatus as recited in claim 1 wherein said data migration means includes:
i) a copy subroutine means for transferring data elements from the existing storage device to the replacement storage device in accordance with control parameters, ii) foreground mode controller means for calling said copy subroutine means by generating corresponding control parameters in response to a data transfer request from the host system for a data element that is only in the existing storage device, iii) background mode controller means for calling said copy subroutine means by generating corresponding control parameters when said foreground mode controller is idle, and iv) pattern recognition means for altering the control parameters generated by said background controller means in response to the detection of a pattern of accesses by said foreground mode controller means.
- 26. Data migration apparatus as recited in claim 1 wherein said data migration means includes:
i) means for establishing a first transfer path between the replacement storage device and the host system in lieu of the connection between the existing storage device and the host system, ii) means for establishing a second transfer path between the existing and replacement storage devices, iii) means for enabling the operation of said data migration means after the establishment of said first and second transfer paths.
- 27. Data migration apparatus as recited in claim 1 wherein each of the host system and replacement storage device includes plural connection means for communicating therebetween in response to data transfer requests, one of connection means on the host system being connected to the existing data storage device, said data migration means includes:
i) means for establishing a first transfer path between the replacement storage device and another of the connection means on the host system, ii) means for establishing a second transfer path between the existing and replacement storage devices, iii) means for enabling the operation of said data migration means after the establishment of said first and second transfer paths and the modification of the host system to route data transfer requests to the other of the connection means thereon.
- 28. A method for migrating data elements from an existing storage device to as replacement storage device in a data processing system that additionally includes a host system that performs data element transfers with the existing storage device in response to data transfer requests, said method comprising:
A) connecting the existing and replacement storage devices into a composite storage device with a path to the host system thereby enabling the composite storage device to respond to data transfer requests from the host system; and B) migrating data elements from the existing storage device to the replacement storage device concurrently with data transfer requests from the host system.
- 29. A method as recited in claim 28 wherein said step of migrating comprises:
i) performing first transfers between the host system and the composite storage device in response to data transfer requests from the host system; ii) performing second transfers from the existing storage device to the replacement storage device; and iii) controlling said first and second transfers until all the data elements have migrated from the existing storage device to the replacement storage device whereupon thereafter all host system transfer requests are processed in the replacement storage device.
- 30. A method as recited in claim 29 wherein the existing storage device stores data elements in sequentially addressed locations defining a data block and wherein each of said first and second transferring steps transfer a data block from the existing storage device to the replacement storage device.
- 31. A method as recited in claim 30 additionally comprising initializing a table to indicate that all data blocks in the existing storage device require data migration and updating said table in response to each data block migration thereby to terminate the data migration when all data elements have migrated to the replacement storage device.
- 32. A method as recited in claim 31 wherein the replacement volume comprises at least one logical volume and said table includes a portion allocated to each logical volume, said method comprising the additional step of transferring each table portion to the replacement storage device periodically.
- 33. A method as recited in claim 31 wherein the replacement volume comprises a plurality of logical volumes and said table includes a portion allocated to each logical volume, said method additionally comprising the step of transferring each table portion to a corresponding logical volume in the replacement storage device after each migration of a data block from logical volume in the existing storage device to the corresponding logical volume in the replacement storage device.
- 34. A method as recited in claim 31 wherein said step of connecting the existing and replacement storage devices includes:
i) establishing a first path between the host system and the replacement storage device, and ii) establishing a second path between the existing and replacement storage devices.
- 35. A method as recited in claim 31 wherein said step of connecting the existing and replacement storage devices includes:
i) establishing a first path between the replacement storage device and the host system in lieu of the path between the existing storage device and the host system, and ii) establishing a second path between the existing and replacement storage devices whereby all data transfers in response to data transfer requests from the host system occur with the replacement storage device.
- 36. A method as recited in claim 31 wherein the host system includes a plurality of input-output connections available for connection to storage devices, wherein the existing storage device connects to a first input-output connection and wherein said step of connecting includes:
i) establishing a first path between the replacement storage device and a second host system input-output connection whereby the first path is in parallel with the connection between the host system and the existing storage device, ii) establishing a second path between the existing and replacement storage devices, and iii) rerouting host system reroutes input-output operations to the second host system input-output connection.
- 37. A method as recited in claim 31 wherein said first and second transfers are effected by controlling the operation of a copy subroutine for transferring data blocks from the existing storage device to the replacement storage device in response to control parameters, said first transfer including foreground mode control for establishing first values for the control parameters in response to data transfer requests to data blocks located only in the existing storage device and said second transfer including background mode control for establishing second values of the control parameters.
- 38. A method as recited in claim 37 additionally comprising:
A) determining the existence of a significant pattern of accesses to the existing storage device controlled by said foreground mode controller; and B) altering the control parameters from said background mode controller in response to the occurrence of the significant pattern.
- 39. A method as recited in claim 38 wherein the table includes a flag corresponding to each data block having a first value indicating that the corresponding data block is located only in the existing storage device and a second value indicating that the corresponding data block has migrated to the replacement storage device and wherein one of the control parameters is the address of a data block location, said copy subroutine including the steps of:
i) migrating a data block from the existing storage device to the replacement storage device when the corresponding flag is at the first value; and ii) establishing the second flag value in response to the migration.
- 40. A method as recited in claim 39 wherein said step of determining the existence of a significant pattern includes:
i) defining identifiable statistical blocks comprising a predetermined number of contiguous data blocks; and ii) counting successive data transfer requests initiated by said foreground controller that access a given statistical block for a predetermined number of data transfers; said step of altering includes setting an interruption flag; and said background mode control includes responding to the interruption flag being set by loading the address of the statistical block as a control parameter.
- 41. A method as recited in claim 40 wherein:
said step of determining the existence of a significant pattern additionally includes setting the interruption flag; and said step of background mode control includes responding to the interruption flag by loading the address of the statistical block; and said step of altering comprises:
i) monitoring the number of data transfers by the copy subroutine in response to said background mode control; and ii) setting the interruption flag only after a predetermined number of iterations of the copy subroutine have been performed in response to said background mode control.
- 42. A method as recited in claim 37 wherein said step of connecting includes:
i) establishing a path between the host system and the replacement storage device, and ii) establishing a second path between the existing and replacement storage devices.
- 43. A method as recited in claim 37 wherein said step of connecting includes:
i) establishing a first path between the replacement storage device and the host system in lieu of the path between the existing storage device and the host system, and ii) establishing a path between the existing and replacement storage devices whereby all data transfers in response to data transfer requests from the host system occur with the replacement storage device.
- 44. A method as recited in claim 37 wherein the host system includes a plurality of input-output connections available for connection to storage devices, wherein the existing storage device connects to a first input-output connection and wherein said step of connecting means includes:
i) establishing a first path between the replacement storage device and a second host system input-output connection whereby the first path is in parallel with the connection between the host system and the existing storage device, ii) establishing a second path between the existing and replacement storage devices, and iii) rerouting input-output operations to the other of the host system input-output connections.
- 45. A method as recited in claim 37 wherein the replacement volume comprises at least one logical volume and the table includes a portion allocated to each logical volume, said method additionally comprising the step of transferring each table portion to the replacement storage device periodically.
- 46. A method as recited in claim 37 wherein the replacement volume comprises a plurality of logical volumes and the table includes a portion allocated to each logical volume, said method additionally comprising the step of transferring each table portion to a corresponding logical volume in the replacement storage device after each migration of a data block from logical volume in the existing storage device to the corresponding logical volume in the replacement storage device.
- 47. A method as recited in claim 37 wherein said step of connecting includes:
i) establishing a path between the host system and the replacement storage device, and ii) establishing a second path between the existing and replacement storage devices.
- 48. A method as recited in claim 46 wherein said step of connecting includes:
i) establishing a first path between the replacement storage device and the host system in lieu of the path between the existing storage device and the host system, and ii) establishing a second path between the existing and replacement storage devices whereby all data transfers in response to data transfer requests from the host system occur with the replacement storage device.
- 49. A method as recited in claim 46 wherein the host system includes a plurality of input-output connections available for connection to storage devices, wherein the existing storage device connects to a first input-output connection and wherein said step of connecting includes:
i) establishing a first path between from the replacement storage device and a second host system input-output connection whereby the first path is in parallel with the connection between the host system and the existing storage device, ii) establishing a second path between the existing and replacement storage devices, and iii) rerouting input-output operations to the other of the host system input-output connections.
- 50. A method as recited in claim 28 wherein said data migration means includes:
i) means for identifying data elements that have migrated from the existing storage device to the replacement storage device, and ii) means for periodically copying said identification means to said replacement storage device.
- 51. A method as recited in claim 23 wherein data elements are stored in the storage devices in data blocks and said identification means includes a table that identifies each data block to be migrated, said method comprising the step of updating the table each time a data block migrates to the replacement storage device.
- 52. A method as recited in claim 28 wherein a copy subroutine transfers data elements from the existing storage device to the replacement storage device in accordance with control parameters, said method comprising the additional steps of:
i) calling the copy subroutine in a foreground mode by generating corresponding control parameters in response to a data transfer request from the host system for a data element that is only in the existing storage device, ii) calling the copy subroutine in a background mode by generating corresponding control parameters in the absence of a foreground mode call, and iii) altering the control parameters generated by a background mode in response to the detection of a pattern of calls in the foreground mode.
- 53. A method as recited in claim 28 additionally comprising the steps of:
i) establishing a first transfer path between the replacement storage device and the host system in lieu of the connection between the existing storage device and the host system, ii) establishing a second transfer path between the existing and replacement storage devices, iii) enabling the migration of data elements after the establishment of the first and second transfer paths.
- 54. A method as recited in claim 28 wherein each of the host system and replacement storage device include plural connection means for communicating therebetween in response to data transfer requests, a first connection means on the host system being connected to the existing data storage device, said method comprising the additional steps of:
i) establishing a first transfer path between the replacement storage device and a second connection means on the host system, ii) establishing a second transfer path between the existing and replacement storage devices, iii) modifying the operation of the host system to route data transfer requests from the first connection means to the second connection means thereby enabling the migration of data elements after the establishment of said first and second transfer paths.
- 55. Data migration apparatus for use in a data processing system including an existing storage device for data elements connected to a host system that performs data element transfers with the existing storage device in response to data transfer requests and a replacement storage device, said data migration apparatus comprising:
A) connections for forming the existing and replacement storage devices into a composite storage device with a path to the host system thereby enabling the composite storage device to respond to data transfer requests from the host system; and B) a data migration system that migrates data from the existing storage device to the replacement storage device concurrently with data transfer requests from the host system.
- 56. Data migration apparatus as recited in claim 55 wherein said data migration system includes:
i) an identifier that stores the identity of data elements that have migrated from the existing storage device to the replacement storage device, and ii) a copier that replicates the contents of said identifier to said replacement storage device periodically.
- 57. Data migration apparatus as recited in claim 56 wherein data elements are stored in the storage devices in data blocks and said identifier includes a table that identifies each data block to be migrated and wherein said data migration system updates said table with each data block migration to the replacement storage device.
- 58. Data migration apparatus as recited in claim 1 wherein said data migration system includes:
i) a copy subroutine for transferring data elements from the existing storage device to the replacement storage device in accordance with control parameters, ii) a foreground mode controller that calls said copy subroutine by generating corresponding control parameters in response to a data transfer request from the host system for a data element that is only in the existing storage device, iii) a background mode controller for calling said copy subroutine means by generating corresponding control parameters when said foreground mode controller is idle, and iv) a pattern recognition system for altering the control parameters generated by said background mode controller in response to the detection of a pattern of accesses by said foreground mode controller.
- 59. Data migration apparatus as recited in claim 55 wherein said data migration system includes:
i) a first transfer path established between the replacement storage device and the host system in lieu of the connection between the existing storage device and the host system, ii) a second transfer path established between the existing and replacement storage devices, iii) a controller that enables the operation of said data migration system after the establishment of said first and second transfer paths.
- 60. Data migration apparatus as recited in claim 55 wherein each of the host system and replacement storage device includes plural connections for communicating therebetween in response to data transfer requests, a first connection on the host system being connected to the existing data storage device, said data migration system includes:
i) a first transfer path established between the replacement storage device and a second connection on the host system, ii) a second transfer path established between the existing and replacement storage devices, iii) a controller that enables the operation of said data migration system after the establishment of said first and second transfer paths and the modification of the host system to route data transfer requests to the second connection means.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This is a continuation-in-part of co-pending application for U.S. Pat. Ser. No. 08/522,903 filed Sep. 1, 1995 for a System and Method for On-Line, Real Time, Data Migration.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09363482 |
Jul 1999 |
US |
Child |
09735023 |
Dec 2000 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
08522903 |
Sep 1995 |
US |
Child |
09363482 |
Jul 1999 |
US |