Storage Virtualization Split-Path Architecture
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional storage applications are monolithic, handling both control and data functions on a single processor, leading to slower performance due to the lack of distinction between control and data paths in storage area networks (SANs).
Innovation Solution
The splitting of storage applications and functions into a control path (CP) and a data path (DP) components, where the CP handles control functions, such as discovery and exception handling, while the DP handles data functions like reads and writes, utilizing a virtualization device with an intelligent network processor and random access memory to manage virtual disks and mappings between virtual and physical storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If storage applications are monolithic and handle both control and data functions on a single processor, then device complexity is reduced, but performance and throughput deteriorate
Solution Approach 1:
The patent segments storage applications into two distinct paths: a control path (CP) that handles control functions (discovery, configuration, exception handling) and a data path (DP) that handles data functions (reads, writes). This segmentation allows data operations to be processed independently without being blocked by control operations, thereby improving data throughput while maintaining manageable system complexity through clear functional separation.
Solution Approach 2:
The patent extracts data path functionality from the monolithic control processor and implements it as a separate data path component. This extraction enables data operations to be handled by dedicated hardware or software modules that can operate in parallel with control functions, eliminating the performance bottleneck of sequential processing and improving overall system productivity.
2Productivity
If control and data functions are handled by the same processor, then ease of operation is maintained, but data function performance deteriorates
Solution Approach 1:
The patent introduces a virtualization device as an intermediary between initiators and targets in the storage network. This virtualization device contains both the control path and data path components and manages the mapping between virtual and physical storage resources. The intermediary handles the complexity of path separation and resource mapping, allowing initiators to operate with simplified virtual device names while the underlying complex architecture is managed automatically by the virtualization device.
3Productivity
If a split-path architecture is implemented, then data throughput improves, but device complexity increases
Solution Approach 1:
The virtualization device is designed as a universal component that can perform multiple functions: it acts as an initiator to physical storage devices, presents virtual storage devices to host initiators, and provides both control and data path processing. This multi-functionality consolidates what would otherwise require multiple separate components, reducing overall system complexity while maintaining the performance benefits of path separation.
Data Source
AI summary
The splitting of storage applications and functions into a control path (CP) component and a data path (DP) component is disclosed. Reads and writes may be handled primarily in the DP. The CP may be responsible for discovery, configuration, and exception handling. The CP can also be enabled for orchestrating complex data management operations such as snapshots and migration. Storage virtualization maps a virtual I/O to one or more physical I/O. A virtual target (vTarget) in the virtual domain is associated with one physical port in the physical domain. Each vTarget may be associated with one or more virtual LUNs (vLUNs). Each vLUN includes one or more vExtents. Each vExtent may point to a region table, and each entry in the region table may contain a pointer to a region representing a portion of a pExtent, and attributes (e.g. read/write, read only, no access) for that region.


