SATA Link Layer Virtualization for Multi-Domain Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional computer systems face increased latency and CPU overhead when sharing data among multiple computer domains using existing resource sharing technologies, leading to higher hardware ownership and development costs.
Innovation Solution
A SATA-compatible storage controller with multiple virtual storage controllers and a virtualization mechanism implementing link layer virtualization, along with a split SATA protocol stack, is used to route control and data traffic between virtual storage controllers and the virtualization mechanism, partitioning protocol processing between them.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If known resource sharing technologies (NFS, FC, NAS, SAN) or MR-IOV specification are used to share data among multiple computer domains, then data sharing capability is improved, but latency increases and CPU overhead increases
Solution Approach 1:
The patent segments the SATA protocol stack into two parts: upper layers (application, command, transport) handled by virtual storage controllers, and lower layers (link, physical) handled by the virtualization mechanism. This segmentation enables direct access paths for data transfer while maintaining protocol compliance, thereby reducing latency compared to conventional resource sharing technologies.
Solution Approach 2:
The virtualization mechanism acts as an intermediary between multiple virtual storage controllers and the physical storage device. It manages link layer virtualization and coordinates access without requiring high-level protocol processing, enabling efficient data sharing with reduced latency and CPU overhead.
2Adaptability or versatility
If known resource sharing technologies or MR-IOV specification are used to share data among multiple computer domains, then data sharing capability is improved, but CPU overhead increases
Solution Approach 1:
By segmenting the protocol stack and assigning link layer virtualization to a dedicated virtualization mechanism rather than processing it in software on the CPU, the patent reduces CPU overhead. The virtual storage controllers handle upper layers while the virtualization mechanism manages lower layers, distributing processing load efficiently.
Solution Approach 2:
The virtualization mechanism autonomously manages link layer virtualization and coordinates access between multiple virtual storage controllers without requiring CPU intervention for each data transfer operation. This self-service capability reduces CPU overhead while maintaining data sharing functionality.
3Adaptability or versatility
If conventional resource sharing technologies are used, then data sharing among multiple computer domains is achieved, but hardware ownership and development costs increase
Solution Approach 1:
The patent implements a universal virtualization mechanism that can serve multiple virtual storage controllers and support multiple computer domains accessing the same physical storage device. This multi-functional approach eliminates the need for separate hardware for each domain, reducing hardware ownership and development costs.
Solution Approach 2:
The patent merges multiple virtual storage controllers and their protocol processing functions into a single integrated controller unit with a shared virtualization mechanism. This consolidation reduces hardware complexity and costs while maintaining the ability to serve multiple computer domains.
Data Source
AI summary
A SATA-compatible storage controller that can be configured to allow computers assigned to multiple different computer domains connected by at least one switch fabric to share resources of a common set of storage devices. The storage controller includes a plurality of virtual storage controllers, each providing an interface to a respective computer domain connected to the switch fabric, a virtualization mechanism configured to implement link layer virtualization for the common set of storage devices, and a split serial advanced technology attachment (SATA) protocol stack, the processing of which is partitioned between the respective virtual storage controllers and the virtualization mechanism.


