Claims
- 1. A method comprising:
storing data received from a host computer prior to a time TO on a primary storage; storing data received from the host computer after time TO on a secondary storage; maintaining a record of the data written to the secondary storage; and selectively reading data from the primary storage and the secondary storage based on the record.
- 2. The method of claim 1, wherein maintaining a record comprises storing the record in a computer-readable medium coupled to the host computer.
- 3. The method of claim 1, wherein maintaining a record comprises storing the record in a computer-readable medium of a controller coupled to the host computer via an input/output (I/O) bus.
- 4. The method of claim 1, wherein maintaining a record comprises:
defining a map designating corresponding logical storage units for the first and secondary storage; and updating the map to indicate whether data has been written to the logical storage units of the secondary storage.
- 5. The method of claim 4, wherein the map comprises a bitmap having a set of binary values, wherein each binary value corresponds to a respective logical storage unit, and further wherein updating the map includes changing a state of at least one of the binary values.
- 6. The method of claim 4, wherein selectively reading data comprises:
receiving a read command issued by the host computer; identifying a logical storage unit designated by the read command; and accessing the map to determine whether data has been written to the secondary storage within the identified logical storage unit.
- 7. The method of claim 6, further comprising:
reading data from the secondary storage device when data has been written within the identified logical storage unit; reading data from the primary storage device when data has not been written within the identified logical storage unit; and communicating the read data to the host computer.
- 8. The method of claim 1, further comprising initializing the record in response to a restore signal.
- 9. The method of claim 5, further comprising setting the binary values of the bitmap to a first state in response to a restore command.
- 10. The method of claim 9, further comprising receiving the restore signal from a hardware switch.
- 11. The method of claim 1, comprising:
receiving a reconcile command; copying data between the first and secondary storage devices in response to the reconcile command until the first and secondary storages store equivalent data; and resetting the record.
- 12. The method of claim 1, further comprising:
detecting free cycles for a bus in the host computer; and copying data from the primary storage to the secondary storage during the unused bus cycles.
- 13. The method of claim 12, further comprising
receiving a reconcile command at a time TR; determining a remaining amount of data to copy from the primary storage to the secondary storage; copying the remaining data from the primary storage to the secondary storage when the remaining amount of data is less than the data received from the host computer after time TO; and resetting the record.
- 14. The method of claim 13, further comprising storing data received from the host computer after time TR on the primary storage.
- 15. A method comprising:
receiving a first reconcile command from a reconcile hardware switch at a time TO; and establishing a To state in response to the reconcile command in which data received from the host computer prior to time TO is stored on a primary storage and data received from the host computer after time TO is stored on a secondary storage.
- 16. The method of claim 15, further comprising:
receiving a restore command from a restore hardware switch subsequent to time TO; and disregarding the data received from the host computer after time TO in response to the restore command.
- 17. The method of claim 15, further comprising:
receiving a second reconcile command at a time subsequent to time TO; and establishing a new TO state in response to receiving a second reconcile command.
- 18. The method of claim 15, further comprising:
defining a map designating corresponding logical storage units for the first and secondary storage; and updating the map to indicate whether data has been written to the logical storage units of the secondary storage.
- 19. A system comprising:
a host computer; a primary storage; a secondary storage; a controller to receive data from the host computer; and a first switch to generate a reconcile command upon activation, wherein the controller stores data received prior to the reconcile command on the primary storage, and data received after the reconcile command on the secondary storage.
- 20. The system of claim 19, further comprising a second switch to generate a restore command upon activation, wherein the controller discards the data stored on the secondary storage upon receiving the restore command.
- 21. The system of claim 20, wherein the first and second switches comprise hardware switches.
- 22. The system of claim 19, wherein the controller is coupled to the host computer via an input/output (I/O) bus.
- 23. The system of claim 19, wherein the controller includes a computer-readable medium storing a record of the data written to the secondary storage, and wherein the controller selectively reads data from the primary storage device and the secondary storage device based on the record.
- 24. The system of claim 19, wherein the controller defines a map designating corresponding logical storage units for the first and secondary storage, and updates the map to indicate whether data has been written to the logical storage units of the secondary storage.
- 25. A system comprising:
a connector adapted to provide an interface to a computer; primary storage connected to the connector, wherein the primary storage is adapted to store first data; secondary storage connected to the connector, wherein the secondary storage is adapted to store second data; and a restoration switch, wherein the first data is data stored prior to time TO; wherein the second data is data stored after TO; wherein after time TO and in response to a read command for the first data being received at the connector, the first data is sent from the primary storage to the computer; wherein after time TO and in response to a read command for the second data being received at the connector, the second data is sent from the secondary storage to the computer; and wherein actuating the restoration switch disregards the second data.
- 26. The storage device of claim 25, wherein the restoration switch includes a hardware switch.
- 27. The storage device of claim 25, wherein the restoration switch includes a virtual switch implemented via software such that actuation of the restoration switch comprises receiving a command at the connector.
- 28. The storage device of claim 25, further comprising a reconcile switch, wherein actuating the reconcile switch establishes a new TO.
- 29. The storage device of claim 25, further comprising a controller for controlling the primary storage and the secondary storage, the controller including a map for tracking the second data received at the connection point and stored on the secondary storage.
- 30. The storage device of claim 25, wherein the reconcile switch includes a hardware switch.
- 31. The storage device of claim 25, wherein the reconcile switch includes a virtual switch implemented via software such that actuation of the reconcile switch comprises receiving a command at the connector.
- 32. The storage device of claim 28, wherein the new TO is established by copying the second data from the secondary storage to the primary storage.
- 33. The storage device of claim 28, wherein the new TO is established by copying the first data from the primary storage to the secondary storage during free bus cycles before the reconcile switch is actuated, and copying any of the first data from the primary storage to the secondary storage that has not already been copied to the secondary storage when the reconcile switch is actuated.
- 34. A storage device for a computer, comprising:
a connector adapted to provide an interface to the computer; a single computer-readable medium, including:
primary storage connected to the connector, wherein the primary storage is adapted to store first data; and secondary storage connected to the connector, wherein the secondary storage is adapted to store second data, wherein the first data is data stored prior to time TO; wherein the second data is data stored after TO; wherein after time TO and in response to a read command for the first data being received at the connector, the first data is sent from the primary storage to the computer; and wherein after time TO and in response to a read command for the second data being received at the connector, the second data is sent from the secondary storage to the computer.
- 35. The storage device of claim 34, further comprising a restoration switch, wherein actuating the restoration switch places the secondary storage in a TO state.
- 36. The storage device of claim 34, further comprising a reconcile switch, wherein actuating the reconcile switch establishes a new TO state.
- 37. The storage device of claim 34, further comprising a controller for controlling the primary storage and the secondary storage, the controller including a map for tracking the second data received at the connection point and stored on the secondary storage.
- 38. A method, comprising:
in response to receiving a read command regarding first data after time TO, reading the first data from primary storage, wherein the first data is data stored prior to TO; in response to receiving a write command after TO, storing second data to secondary storage; in response to receiving a read command regarding the second data, reading the second data from secondary storage; and in response to a reconcile command, establishing a new TO.
- 39. The method of claim 38, wherein establishing a new TO includes establishing a new TO in response to actuating a reconcile switch.
- 40. The method of claim 38, further comprising in response to actuating a restoration switch, disregarding the second data.
- 41. The method of claim 38, wherein establishing a new TO includes copying second data from the secondary storage to the primary storage.
- 42. The method of claim 38, wherein establishing a new TO state includes:
prior to actuating a reconcile switch, copying first data from the primary storage to the secondary storage during free cycles; and in response to actuating a reconcile switch, copying any of the first data from the primary storage to the secondary storage that has not already been copied to the secondary storage.
- 43. An apparatus comprising:
a computer-readable medium with primary storage for storing first data and secondary storage for storing second data, wherein the first data is data stored prior to time TO and the second data is data stored after TO; and a restoration switch for disregarding the second data.
- 44. The apparatus of claim 43, wherein the computer-readable medium comprises a fixed computer-readable medium.
- 45. The apparatus of claim 43, wherein the computer-readable medium comprises a single computer-readable medium.
- 46. The apparatus of claim 43, wherein the computer-readable medium includes no more than one computer-readable medium.
- 47. The apparatus of claim 43, further comprising a reconcile switch for establishing a new TO.
- 48. The apparatus of claim 43, further comprising a controller for storing the first data to the primary storage prior to time TO, for storing the second data to the secondary storage after TO, for reading the first data from primary storage in response to receiving a read command regarding the first data, for reading the second data from secondary storage in response to receiving a read command regarding the second data, and for establishing a new time TO in response to an actuated reconcile switch.
Parent Case Info
[0001] This application is a continuation application of U.S. application Ser. No. 09/258,413 filed Feb. 26, 1999, now pending, the entire contents of which is incorporated herein by reference.
Continuations (1)
|
Number |
Date |
Country |
| Parent |
09258413 |
Feb 1999 |
US |
| Child |
09975628 |
Oct 2001 |
US |