PCIe Switch Address Translation for Storage Controller Reliability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage devices with dual-controller architectures face performance variability and complex address translation issues due to the specification of PCI Express, which limits the ability to access any drive by multiple processors and complicates failure processing when abnormalities occur, especially with increasing numbers of processors.
Innovation Solution
A storage device configuration utilizing a PCIe switch for protocol translation between multiple storage controllers and drives, allowing uniform access to any drive and enabling prompt failure processing by using a physical switch instead of a virtual switch, with a message transmission management table to ensure all affected processors are notified of drive abnormalities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a dual-controller architecture is used to ensure availability, then system reliability is improved, but device complexity increases due to the need for redundant configurations and coordination between controllers
Solution Approach 1:
The system is divided into multiple independent controllers (first controller and second controller), each capable of independently managing storage drives. This segmentation allows failure isolation where one controller can fail without affecting the other, thereby maintaining system availability while managing complexity through modular design.
Solution Approach 2:
The patent changes the operational parameters of controllers by enabling them to operate in different modes (normal operation vs. abnormality handling). When an abnormality is detected in one controller, the system dynamically shifts workload to the other controller, maintaining availability through parameter-based operational flexibility rather than permanent complex configurations.
2Productivity
If multiple processors are used to improve performance and availability, then processing capability is improved, but address translation complexity increases due to PCI Express specifications limiting drive access
Solution Approach 1:
The patent implements universal drive accessibility where any storage drive can be accessed by any controller through a standardized interface. The first and second controllers both can access the first and second storage drives through the switch device, eliminating PCI Express domain limitations and simplifying address translation through unified access paths.
Solution Approach 2:
A switch device is introduced as an intermediary between controllers and storage drives. This mediator handles the address translation and routing between multiple controllers and multiple drives, simplifying the complexity by centralizing the translation function in the switch rather than requiring complex translation logic in each controller.
3Adaptability or versatility
If virtual switches are used for protocol translation between controllers and drives, then connectivity is improved, but processing time increases due to the overhead of virtualization layer
Solution Approach 1:
The patent extracts the protocol translation function from the virtual switch layer and implements it directly in the physical switch device. By taking out the virtualization overhead and performing protocol translation at the physical layer, the system maintains protocol compatibility while eliminating the time penalty associated with virtualization processing.
Solution Approach 2:
The patent replaces the software-based virtual switch mechanism with a hardware-based physical switch implementation. This substitution of mechanical/physical infrastructure for software abstraction eliminates the processing time overhead of virtualization while maintaining the necessary protocol translation capabilities through hardware-level switching.
Data Source
AI summary
To provide stable processing performance and perform an appropriate failure processing in a storage device. A storage device includes a plurality of controllers; a plurality of storage drives; and a switch device including a plurality of controller-side ports respectively connected to the plurality of controllers and a plurality of drive-side ports respectively connected to the plurality of storage drives. The switch device performs address translations between the plurality of controller-side ports and the plurality of drive-side ports.


