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.