Storage virtualization system and methods
First Claim
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.
11 Assignments
0 Petitions
Accused Products
Abstract
Storage virtualization systems and methods that allow customers to manage storage as a utility rather than as islands of storage which are independent of each other. A demand mapped virtual disk image of up to an arbitrarily large size is presented to a host system. The virtualization system allocates physical storage from a storage pool dynamically in response to host I/O requests, e.g., SCSI I/O requests, allowing for the amortization of storage resources-through a disk subsystem while maintaining coherency amongst I/O RAID traffic. In one embodiment, the virtualization functionality is implemented in a controller device, such as a controller card residing in a switch device or other network device, coupled to a storage system on a storage area network (SAN). The resulting virtual disk image that is observed by the host computer is larger than the amount of physical storage actually consumed.
-
Citations
15 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. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
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. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
Specification