Computer data is stored on disks and solid state media for availability over days, months or years. In small systems, such as a personal computer there is a CPU and one or two hard disks. When a disk fails or runs out of space another disk has to be manually added, and, the data has to be placed on that disk. In large systems, there can be hundreds of disks and digital storage systems systems, and, the complexity of managing the information increases considerably. Storage virtualization is the grouping of storage devices such that it seamlessly appears to be one large storage device.
In a simple system, whenever a program needs to access a file it makes a request to the operating system. The operating system maps this to a specific location on a disk. If a disk has, say, 10 gigabytes of capacity then the disk cannot handle data beyond that size. With storage virtualization, a request for space greater than the disk size is routed automatically behind the scenes to another disk.
Storage virtualization can be handled by hardware or software, or a combination of the two. It has a number of benefits. Data may be moved from one device to another device behind the scenes while the system is making requests, and the request is automatically routed to the new location. When a storage device has to be added or removed, this can be done without bringing down the system. This increases the availability of the system to the ultimate users.
With storage virtualization, information can be intelligently managed; for example, data that is accessed less frequently can be moved to a slower device. Utilization of storage space could be improved. Each storage device by itself may have unused space, but that unused space might be too small to be utilized for a single file that the operating system wants to place. With storage virtualization, unused space on multiple devices is automatically “accumulated” because parts of the file can be stored on separate devices.
The physical group of storage devices is seen as a single device from the operating system’s viewpoint. As a result the operating system does not have to keep track of multiple devices and how to access them. Consequently, storage devices from multiple manufacturers can be smoothly used provided they support storage virtualization. For protection against data loss, data is often replicated. Such replication is also smoothly handled.
Storage virtualization thus provides the system with the storage it needs without getting bogged down by the limitations of the individual devices. Of course, now, a significant amount of information has been virtualized. It is very important that this information is retained in a fail-proof manner, usually by storing it in multiple locations.