Dynamic and variable length extents
First Claim
1. A computer implemented method for performing virtual to physical address mapping of a virtual address comprising:
- determining a volume descriptor of a logical volume associated with said virtual address, said volume descriptor including a variable size extent table, said variable size extent table including a plurality of extents, each of said extents being associated with a varying size and range of virtual addresses;
determining a first extent included in said variable size extent table corresponding to said virtual address; and
determining a corresponding physical address for said virtual address using mapping table information associated with said first extent, wherein a portion of said mapping table information is included in a storage redirect table having at least one entry, each of said extents being associated with an entry in said storage redirect table, said entry indicating whether a particular type of data operation for an associated extent is performed using a first fast path or a second central path.
3 Assignments
0 Petitions
Accused Products
Abstract
Described are techniques used in a computer system for handling data operations to storage devices. A switching fabric includes one or more fast paths for handling lightweight, common data operations and at least one control path for handling other data operations. A control path manages one or more fast paths. The fast path and the control path are utilized in mapping virtual to physical addresses using mapping tables. The mapping tables include an extent table of one or more entries corresponding to varying address ranges. The size of an extent may be changed dynamically in accordance with a corresponding state change of physical storage. The fast path may cache only portions of the extent table as needed in accordance with a caching technique. The fast path may cache a subset of the extent table stored within the control path. A set of primitives may be used in performing data operations. A locking mechanism is described for controlling access to data shared by the control paths.
120 Citations
24 Claims
-
1. A computer implemented method for performing virtual to physical address mapping of a virtual address comprising:
-
determining a volume descriptor of a logical volume associated with said virtual address, said volume descriptor including a variable size extent table, said variable size extent table including a plurality of extents, each of said extents being associated with a varying size and range of virtual addresses;
determining a first extent included in said variable size extent table corresponding to said virtual address; and
determining a corresponding physical address for said virtual address using mapping table information associated with said first extent, wherein a portion of said mapping table information is included in a storage redirect table having at least one entry, each of said extents being associated with an entry in said storage redirect table, said entry indicating whether a particular type of data operation for an associated extent is performed using a first fast path or a second central path. - View Dependent Claims (2, 3, 4)
-
-
5. A computer implemented method for performing virtual to physical address mapping of a virtual address comprising:
-
determining a volume descriptor associated with said virtual address, said volume descriptor including a variable size extent table, said variable size extent table including a plurality of portions, each of said portions associated with a varying range of virtual addresses;
determining a first extent included in said variable size extent table corresponding to said virtual address; and
determining a corresponding physical address for said virtual address using mapping table information associated with said first extent, wherein said variable size extent table includes a first extent and a second extent, said first extent corresponding to a first range of virtual addresses, said second extent corresponding to a second range of virtual addresses, said first and second ranges of virtual addresses being of different sizes, said second extent being created in response to a state change of physical storage associated with said second extent, and wherein a portion of said mapping table information is included in a storage redirect table having at least one entry. - View Dependent Claims (6, 7, 8, 9, 10)
-
-
11. A computer program product on a computer readable medium that performs virtual to physical address mapping of a virtual address comprising:
-
machine executable code that determines a volume descriptor of a logical volume associated with said virtual address, said volume descriptor including a variable size extent table, said variable size extent table including a plurality of extents, each of said extents being associated with a varying size and range of virtual addresses;
machine executable code that determines a first extent included in said variable size extent table corresponding to said virtual address; and
machine executable code that determines a corresponding physical address for said virtual address using mapping table information associated with said first extent, wherein a portion of said mapping table information is included in a storage redirect table having at least one entry, each of said extents being associated with an entry in said storage redirect table, said entry indicating whether a particular type of data operation for an associated extent is performed using a first fast path or a second central path. - View Dependent Claims (12, 13, 14)
-
-
15. A computer program product on a computer readable medium that performs virtual to physical address mapping of a virtual address comprising:
-
machine executable code that determines a volume descriptor associated with said virtual address, said volume descriptor including a variable size extent table, said variable size extent table including a plurality of portions, each of said portions associated with a varying range of virtual addresses;
machine executable code that determines a first extent included in said variable size extent table corresponding to said virtual address;
machine executable code that determines a corresponding physical address for said virtual address using mapping table information associated with said first extent;
wherein said variable size extent table includes a first extent and a second extent, said first extent corresponding to a first range of virtual addresses, said second extent corresponding to a second range of virtual addresses, said first and second ranges of virtual addresses being of different sizes; and
machine executable code that creates said second extent in response to a state change of physical storage associated with said second extent, wherein a portion of said mapping table information is included in a storage redirect table having at least one entry. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A computer implemented method for performing virtual to physical address mapping of a virtual address comprising:
-
determining a volume descriptor of a logical volume associated with said virtual address, said volume descriptor including a variable size extent table, said variable size extent table including a plurality of extents, each of said extents being associated with a varying size and range of virtual addresses;
determining a first extent included in said variable size extent table corresponding to said virtual address; and
determining a corresponding physical address for said virtual address using mapping table information associated with said first extent, wherein a portion of said mapping table information is included in an entry of a storage redirect table, said entry including state information about said corresponding physical address. - View Dependent Claims (22)
-
-
23. A computer program product on a computer readable medium that performs virtual to physical address mapping of a virtual address comprising:
-
machine executable code that determines a volume descriptor of a logical volume associated with said virtual address, said volume descriptor including a variable size extent table, said variable size extent table including a plurality of extents, each of said extents being associated with a varying size and range of virtual addresses;
machine executable code that determines a first extent included in said variable size extent table corresponding to said virtual address; and
machine executable code that determines a corresponding physical address for said virtual address using mapping table information associated with said first extent, wherein a portion of said mapping table information is included in an entry of a storage redirect table, said entry including state information about said corresponding physical address. - View Dependent Claims (24)
-
Specification