Fast path caching
First Claim
1. A method executed in a computer system for performing virtual to physical address translation comprising:
- determining mapping tables used in performing said address translation, said mapping tables including an extent table corresponding to a logical block address range and a storage redirect table including physical storage location information associated with said logical block address range, said extent table being divided into a plurality of portions;
using a fast path in performing said virtual address translation if an associated data operation meets predetermined criteria independent of at least one of a general control path and another fast path, and otherwise using a general control path; and
loading into a memory local to said fast path a portion of said extent table corresponding to a current data operation, said portion of said extent table being included in a memory managed using a cache management technique.
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.
257 Citations
18 Claims
-
1. A method executed in a computer system for performing virtual to physical address translation comprising:
-
determining mapping tables used in performing said address translation, said mapping tables including an extent table corresponding to a logical block address range and a storage redirect table including physical storage location information associated with said logical block address range, said extent table being divided into a plurality of portions;
using a fast path in performing said virtual address translation if an associated data operation meets predetermined criteria independent of at least one of a general control path and another fast path, and otherwise using a general control path; and
loading into a memory local to said fast path a portion of said extent table corresponding to a current data operation, said portion of said extent table being included in a memory managed using a cache management technique. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer program product that performs virtual to physical address translation comprising:
-
machine executable code that determines mapping tables used in performing said address translation, said mapping tables including an extent table corresponding to a logical block address range and a storage redirect table including physical storage location information associated with said logical block address range, said extent table being divided into a plurality of portions;
machine executable code that uses a fast path in performing said virtual address translation if an associated data operation meets predetermined criteria independent of at least one of a general control path and another fast path, and otherwise using a general control path; and
machine executable code that loads into a memory local to said fast path a portion of said extent table corresponding to a current data operation, said portion of said extent table being included in a memory managed using a cache management technique. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification