Host Driver I/O Request Routing in Multi-Controller Storage Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In single server high availability storage systems with multiple controllers, existing methods for handling input/output requests are computationally intensive and time-consuming, particularly due to the need for data transfer between storage controllers, which can misdirect requests and complicate processing.
Innovation Solution
The system employs a host driver to process input/output requests and directs commands between storage controllers, allowing one controller to retrieve data from another without transferring data across communication links, using PCIe or SAS connections for efficient command transfer and cache mirroring, thereby reducing processing time and complexity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is transferred between storage controllers through SAS connections for I/O request handling, then request routing reliability is improved, but processing time and computational complexity increase significantly
Solution Approach 1:
The patent introduces a host driver as an intermediary component that receives I/O requests and determines the appropriate storage controller to forward them to. This mediator approach allows the host driver to make intelligent routing decisions based on persistent reservations, avoiding the need for time-consuming data transfers between controllers when requests can be handled locally.
Solution Approach 2:
The patent segments the storage system into multiple independent storage controllers, each with exclusive access to specific logical volumes through persistent reservations. This segmentation allows each controller to handle requests independently without requiring coordination or data transfer with other controllers, thereby reducing processing time while maintaining reliability through the segmented architecture.
2Reliability
If storage controllers use persistent reservation to have exclusive access to logical volumes, then request misdirection is prevented, but system complexity increases
Solution Approach 1:
The patent implements persistent reservations where storage controllers pre-establish exclusive access rights to specific logical volumes before I/O requests arrive. This preliminary action of reserving volumes ensures that when requests come in, the host driver can immediately route them to the correct controller without needing complex real-time decision-making or data transfer coordination, thus maintaining reliability while managing complexity.
3Reliability
If cache mirroring is used for data transfer between storage controllers, then data availability is improved, but computational intensity and processing time increase
Solution Approach 1:
The patent enables storage controllers to serve themselves by allowing each controller to handle I/O requests for its reserved logical volumes independently without requiring data synchronization or mirroring with other controllers. This self-service capability eliminates the computationally intensive cache mirroring process while maintaining data availability through the persistent reservation mechanism that ensures each controller has exclusive access to its assigned volumes.
Data Source
AI summary
Systems and methods presented herein provide for input/output shipping between storage controllers in a storage system. One storage system comprises a plurality of logical volumes, a host driver operable to process input/output requests to the logical volumes, and a plurality of storage controllers coupled between the server and the logical volumes. A first of storage controllers is operable to receive an input/output request from the host driver for one of the logical volumes, and transfer a command to a second of the storage controllers to retrieve the data of the input/output request. The second storage controller processes the command from the first storage controller, and retrieves the data associated with the input/output request.