Architecture for parallel distributed table driven I/O mapping
First Claim
1. A virtual storage system for linking a host to one or more storage devices over a network, the system comprising:
- an agent connected to the host, the agent having volatile memory for storing a first copy of a table, the table having entries to map virtual disk positions, to locations on the storage devices; 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 an input/output (I/O) operation, the host accesses one of the entries in the table stored on the agent to determine one of the storage device locations.
5 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a system and method for creating virtualized storage in a storage area network using distributed table-driven input/output mapping. The present invention distributes the virtualization mapping in multiple parallel, mapping agents that are separate from a controller. This allows the performance-sensitive mapping process to be parallelized and distributed optimally for performance, while the control of the mapping may be located in a controller chosen for optimal cost, management, and other implementation practicalities. The mapping agents store the virtual mapping tables in volatile memory, substantially reducing the cost and complexity of implementing the mapping agents. The controller is responsible for persistent storage of mapping tables, thereby consolidating the costs and management for persistent mapping table storage in a single component. Distributed virtualization also allows the controller to manage multiple virtual disks used by multiple host systems, and allows a single virtual disk to be shared by multiple host systems. The mapping agents preferably do not interact only with other mapping agents, thereby improving the scalability of the virtual storage system and the virtual storage system'"'"'s tolerance of component failures.
-
Citations
28 Claims
-
1. A virtual storage system for linking a host to one or more storage devices over a network, the system comprising:
-
an agent connected to the host, the agent having volatile memory for storing a first copy of a table, the table having entries to map virtual disk positions, to locations on the storage devices; 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 an input/output (I/O) operation, the host accesses one of the entries in the table stored on the agent to determine one of the storage device locations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for mapping a virtual disk segment to a storage location within a storage device, comprising:
-
a host computer to issue an I/O operation identifying a logical unit and a block identifier within the logical unit; an agent connected to a host computer, the agent having a volatile memory module for storing a first copy of a table having entries to map a virtual disk position to a storage location on the storage devices and a plurality of variables indicating states of the respective entries; 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. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
Specification