Centralized fine-grained enhancements for distributed table driven I/O mapping
First Claim
1. A virtual storage system for mapping virtual storage segments of differing sizes to storage locations, comprising:
- an agent coupled to a host, the agent having volatile memory for storing a first table, the table having entries to map the virtual storage segments to the storage locations; and
a controller coupled to the agent, the controller having non-volatile memory for storing a second table, the controller intermittently causing contents of the first table to be replaced by contents of the second table,whereby during an input/output (I/O) operation, the host accesses one of the entries in the first table to determine one of the storage locations.
3 Assignments
0 Petitions
Accused Products
Abstract
A virtual storage system comprises an agent to store a first table to map virtual storage segments to storage locations, and a controller to store a second table and to intermittently cause contents of the first table to be replaced by contents of the second table. During an I/O operation, one of the entries in the first table can be accessed by a host to determine one of the storage locations. Also, a method for performing an I/O operation on a virtual storage segment, defined by first table that maps a storage segment to a first storage location, comprises turning off I/O operations at the first storage location, identifying portions of the virtual storage segment to be effected during a write operation, storing a record of identified portions at a second table not the first table, and writing to portions of the second storage location associated with the identified portions.
-
Citations
16 Claims
-
1. A virtual storage system for mapping virtual storage segments of differing sizes to storage locations, comprising:
-
an agent coupled to a host, the agent having volatile memory for storing a first table, the table having entries to map the virtual storage segments to the storage locations; and a controller coupled to the agent, the controller having non-volatile memory for storing a second table, the controller intermittently causing contents of the first table to be replaced by contents of the second table, whereby during an input/output (I/O) operation, the host accesses one of the entries in the first table to determine one of the storage locations. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for mapping a virtual disk segment to a storage location within a storage device, such that a host queries said system to determine said storage location for input/output operations, said system comprising:
-
a first table having a first table entry mapping the virtual disk segment to the storage location; a second table having a second table entry corresponding to said storage location and to an alternate storage location, and block bitmap information identifying blocks of data having differing sizes within the alternate storage location; a plurality of variables indicating states of an entry in the first table or the second table; an offset for the entry, wherein the offset includes a logic unit number identifier and a block identifier; a first memory to store the first table; and a second memory to store the second table. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A method for performing an input/output operation on a virtual storage segment defined by a first table that maps a storage segment to a first storage location, the method comprising:
-
turning off input/output operations at the first storage location; identifying portions of the virtual storage segment to be effected during a write operation; storing a record of the identified portions at a second table and not at the first table; and writing to a second storage location, whereby the writing operation occurs at portions of the second storage location associated with the identified portions. - View Dependent Claims (13, 14, 15, 16)
-
Specification