Claims
- 1. A method of dynamically mapping addresses between a virtual disk address and one or more physical block addresses for a storage system in response to a write operation requested by a host system, the method comprising:
receiving a write request from a host, said write request including a virtual memory address and one or more blocks of data; determining whether memory space in the storage system has been allocated for the one or more blocks of data based on the virtual memory address; if it is determined that memory space has been allocated, completing the write operation to the allocated memory space; and if it is determined that no memory space has been allocated:
automatically allocating memory space in the storage system for the one or more blocks of data; and completing the write operation to the allocated memory space.
- 2. The method of claim 1, wherein determining includes determining whether a mapping table includes a link between the virtual address and one or more physical block addresses of the storage system.
- 3. The method of claim 1, wherein automatically allocating includes automatically updating a mapping table to include an entry linking the virtual address and one or more physical block addresses of the storage system.
- 4. The method of claim 1, wherein if it is determined that no memory space has been allocated, the method further comprises:
determining the number of blocks of memory space in the storage system to be allocated.
- 5. The method of claim 4, wherein the number of blocks allocated is greater than the number of data blocks included with the write request.
- 6. The method of claim 1, wherein the storage system includes a plurality of storage devices.
- 7. A method of dynamically mapping addresses between a virtual disk address and one or more physical block addresses for a storage system in response to a request from a host system to perform an operation on the storage system, the method comprising:
receiving a request from a host to perform an operation on one or more blocks of the storage system, said request including a virtual memory address; determining from a mapping table whether memory space in the storage system has been allocated for the virtual memory address; if it is determined that memory space has been allocated, completing the operation on the allocated memory space; and if it is determined that no memory space has been allocated:
automatically allocating memory space in the storage system for the virtual address; and completing the operation on the allocated memory space.
- 8. The method of claim 7, wherein the operation is a read operation, and wherein if it is determined that memory space has been allocated, completing the operation includes retrieving the data from the allocated memory space.
- 9. The method of claim 8, wherein the operation is a read operation, and wherein if it determined that no memory space has been allocated, completing the operation includes returning a default formatted page without retrieving any data from the storage system.
- 10. The method of claim 7, wherein the operation is a write operation and wherein the request includes one or more blocks of data to be written to the storage system.
- 11. The method of claim 10, wherein if it is determined that no memory space has been allocated, the method further comprises:
determining the number of blocks of memory space in the storage system to be allocated.
- 12. The method of claim 11, wherein the number of blocks allocated is greater than the number of data blocks included with the write request.
- 13. The method of claim 7, wherein determining includes determining whether a mapping table includes a link between the virtual address and one or more physical block addresses of the storage system.
- 14. The method of claim 7, wherein automatically allocating includes automatically updating a mapping table to include an entry linking the virtual address and one or more physical block addresses of the storage system.
- 15. The method of claim 7, wherein the storage system includes a plurality of storage devices.
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. patent application Ser. No. 60/261,140, filed Jan. 11, 2001, entitled, “Storage Virtualization System & Methods,” the disclosure of which is hereby incorporated by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60261140 |
Jan 2001 |
US |