Claims
- 1. A virtual storage system comprising:
a virtual storage segment; a first and a second physical storage segments; a mapping between from the virtual storage segment to the primary and the secondary physical storage segments; and a bitmap representing storage blocks in the first physical storage segment, wherein a first input/output (I/O) operation occurs to the first physical storage segment unless the physical storage segments is unavailable, and wherein the first I/O operation occurs to the second physical storage segment when the first physical storage segments is unavailable and the bitmap designates the storage blocks in the first physical storage segment that would have been effected by the first I/O operation.
- 2. The system of claim 1, wherein the first and second physical storage segments have the same size.
- 3. The system of claim 1, wherein a second I/O operation occurs to the first storage segment except for the blocks designated by the bitmap.
- 4. The system of claim 1, further comprising:
an agent having volatile memory for storing a first copy of a table having entries that identify the virtual storage segment and the first physical storage segment; and a controller coupled to the agent, the controller having non-volatile memory for storing a second copy of the table, the controller intermittently causing contents of the first copy of the table to be replaced by contents of the second copy of the table, whereby during the first and second I/O operation to the virtual storage segment, the host accesses the entries in the table stored on the agent to determine one of the storage locations.
- 5. The system of claim 4, whereby use of the second physical storage area is initiated by the agent.
- 6. The system of claim 4, wherein the table also contains a Boolean no-write state variable.
- 7. The system of claim 6, wherein one value for the no-write state variable prevents a write operation to the virtual storage segment.
- 8. The system of claim 7, wherein the agent produces a fault message when the write operation is prevented, the fault message including the bitmap.
- 9. The system of claim 8, wherein the controller commands the agent to write to the second physical location in response to the fault message.
- 10. The system of claim 4, wherein the table is a first table and further includes a Boolean second-table state variable and one value for the second-table state variable, indicates the existence of a second table having entries specifying a location for the second physical storage segment.
- 11. The system of claim 10, wherein the second table further stores the bitmap.
- 12. A method for performing a write operation to a virtual storage segment mapped to first physical segment while the first physical storage segment is unavailable, the method comprising the steps of:
identifying blocks in the first physical segment that would be effected by the writing operation; storing a record of identified blocks; writing to a second physical segment; remapping the virtual storage segment disk to the second physical segment for the identified blocks.
- 13. The method of claim 12, wherein the first physical segment is being copied.
- 14. The method of claim 13 wherein none of the data in the first physical segment is being copied to the second physical segment.
RELATED APPLICATIONS
[0001] This application claims priority from U.S. Provisional Application Nos. 60/209,109 and 60/209,326, filed on Jun. 2, 2000, the disclosures of which are hereby incorporated by reference in full.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60209109 |
Jun 2000 |
US |
|
60209326 |
Jun 2000 |
US |