Claims
- 1. A method for copying the contents of a first virtual disk defined by a first table having one or more entries that associate original segments of the virtual disk with location in one or more storage containers, the method comprising the step of copying the entries of the first table to a second table to create a second virtual disk.
- 2. The method of claim 1, further comprising the step of modifying the first table to prevent write operations to the first virtual disk.
- 3. The method of claim 2, wherein the step of modifying the first table comprises activation of a Nw state.
- 4. The method of claim 2, wherein the step of modifying the first table comprises activation of an invalid state.
- 5. The method of claim 1, further comprising the step of delaying input/output (I/O) operations to the first or second virtual disk.
- 6. The method of claim 5 wherein in the step of delaying I/O operations comprises delaying I/O operation for a prespecified time period.
- 7. The method of claim 5 further comprising the step of canceling the delay of I/O operations.
- 8. The method of claim 1 further comprising the steps of:
receiving a write operation to one of the original segments; creating a new segment; copying the contents at the original segment to the new segment; and completing the write operation to the new segment.
- 9. The method of claim 8, wherein a controller stores a first copy of the first table, an agent stores a second copy of the first table, and the step of creating a new segment further comprises creating a new segment in the first copy and transferring data from the first copy to the second copy so that the new segment is created in the second copy.
- 10. The method of claim 1 further comprising the steps of:
receiving a write operation to one of the original segments; creating a new segment; copying the contents at the original segment to the new segment; and completing the write operation to the original segment.
- 11. The method of claim 10, wherein a controller stores a first copy of the first table, an agent stores a second copy of the first table, and the step of creating a new segment further comprises creating a new segment in the first copy and transferring data from the first copy to the second copy so that the new segment is created in the second copy.
- 12. A method for mapping a virtual disk segment to a storage location within a storage device, said method comprising the steps of:
allocating a new segment of storage space; copying an existing virtual segment of data into said storage space; updating at least one mapping table corresponding to the existing virtual segment of data, said table having an entry corresponding to the new segment of storage space; and store the table in memory.
- 13. The system of claim 12, wherein the memory is volatile.
- 14. The system of claim 12, wherein said storage location comprises a block of data within the storage device.
- 15. The system of claim 14, wherein the segment of data is about 1 MB.
- 16. The system of claim 12, wherein the memory resides on an agent coupled to the host.
- 17. A method for maintaining a table for mapping virtual disk blocks to storage locations on storage devices within a network, comprising:
receiving a command from a controller at an agent storing the table; activating states within entries of the table; completing operations at the table; and updating the table in response to the command.
- 18. The method of claim 17, further comprising setting a blocking flag until operations are completed.
- 19. The method of claim 17, further comprising obtaining mapping information from one of the entries in the table.
- 20. A computer program product comprising a computer useable medium having computer readable code embodied therein for maintaining a table for mapping virtual disk blocks to storage locations on storage devices within a network, the computer program product adapted when run on a computer to effect steps including:
specifying a block on the virtual disk within the operation; accessing a table mapping the block to a storage location on a storage device; copying a corresponding virtual segment of data to the storage device; and updating the corresponding mapping agents.
RELATED APPLICATIONS
[0001] This application claims priority from U. S. Provisional Application Nos. 601209,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 |