Multi-Controller Storage Access Priorities for Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multi-controller storage systems suffer from load imbalance and reduced performance due to traditional strategies that specify a single controller for all inputs and outputs, leading to inefficient use of hardware resources and poor user experience.
Innovation Solution
Implementing a method and apparatus that sets access priorities for controller nodes based on their relationship with data segments, using custom private query commands to determine optimal nodes for data requests, thereby balancing load across controllers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a traditional strategy specifies a single most suitable controller node for all inputs and outputs, then the data access path is simplified and easy to manage, but load imbalance occurs among controller nodes and hardware resources are wasted
Solution Approach 1:
The patent segments the monolithic data access path into multiple parallel paths through different controller nodes. By dividing the controller pool and establishing accessible relationships between data segments and multiple controllers, the system enables load distribution across nodes while maintaining manageable access paths.
Solution Approach 2:
The patent introduces dynamic access priority information that allows the system to adaptively select controller nodes based on current load conditions. The host side dynamically determines optimal controller nodes using access priority data, enabling the system to balance load in real-time rather than using a static single-controller approach.
2Device complexity
If all inputs and outputs are issued through a single controller node, then the controller selection logic is simplified, but load imbalance occurs and other controllers remain idle
Solution Approach 1:
The patent performs preliminary establishment of accessible relationships between data segments and controller nodes, and pre-calculates access priority information. This allows the host side to quickly determine optimal controllers without complex real-time decision-making, simplifying the selection logic while enabling multiple controllers to be utilized effectively.
Solution Approach 2:
The patent introduces access priority information as an intermediary that mediates between the host side and controller nodes. This intermediary data structure simplifies the selection logic by providing pre-processed guidance on optimal controller choices, while still enabling load distribution across multiple controllers to improve resource utilization.
3Device complexity
If a single controller handles all data requests, then the controller node management is simplified, but the system cannot handle high load efficiently and user experience deteriorates
Solution Approach 1:
The patent segments the controller pool into multiple nodes with distinct accessible relationships to data segments. This segmentation allows the system to distribute data requests across multiple controllers, improving load handling capability and system stability while maintaining simplified management through the access priority information mechanism.
Solution Approach 2:
The patent changes the management approach from selecting a single controller to using access priority information that ranks multiple controllers. This parameter change enables the system to adapt to varying load conditions by selecting from multiple available controllers, improving reliability under high load while keeping management straightforward through the priority-based selection.
Data Source
AI summary
The present disclosure discloses a method and apparatus for requesting data, a device and a non-transitory readable storage medium. The method is applied to a storage side and includes: a private query command sent by a host side is acquired; access priority information of each controller node on the storage side is generated according to the private query command, and the access priority information represents an access state of the controller node for a data segment having an access relationship therewith; and the access priority information of each controller node is sent to the host side, so that the host side requests data through one controller node according to the access priority information.


