Storage Node I/O Request Routing via Virtual Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage control software is difficult to scale out due to hardware dependencies, limiting its ability to function in general-purpose server environments and preventing seamless data access across storage nodes.
Innovation Solution
A system with a cluster of storage nodes, each equipped with a storage control module and a frontend module that manages input/output requests, allowing virtual logical volumes to be created and mapped across nodes, enabling transparent data access without node awareness.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If storage control software is installed in bare metal servers with dedicated hardware configuration, then the software can perform I/O processes reliably, but the system cannot be scaled out to general-purpose server environments due to hardware architecture differences
Solution Approach 1:
The storage control software is segmented into a virtualization layer that abstracts hardware-specific operations from the I/O processing logic. This allows the software to maintain reliable I/O processes while adapting to different hardware architectures through virtualized storage devices that present a unified interface regardless of underlying hardware differences.
Solution Approach 2:
The storage control software is designed with universal compatibility across hardware platforms by implementing a hardware-agnostic virtual storage layer. This enables the same software to function reliably across dedicated storage hardware and general-purpose servers, achieving both reliability and hardware environment adaptability.
2Productivity
If storage control software is designed for dedicated storage devices only, then the I/O processes are optimized for those devices, but the software cannot function in scale-out configurations with multiple storage nodes
Solution Approach 1:
The system transitions from a single-storage-device model to a multi-dimensional scale-out architecture where storage nodes are organized in clusters. The virtualization layer manages I/O requests across multiple nodes, maintaining efficiency through intelligent request routing while enabling scale-out configurations by distributing storage capacity across numerous nodes.
Solution Approach 2:
A virtual storage device acts as an intermediary between the host and multiple physical storage nodes. This intermediary receives I/O requests, determines the appropriate target node based on data location and system state, and forwards requests accordingly, thereby enabling scale-out configurations while maintaining I/O process efficiency through centralized coordination.
3Speed
If the system uses hardware-dependent shared memory processes, then the processes can execute efficiently on dedicated hardware, but the same processes cannot be performed in general-purpose server apparatus
Solution Approach 1:
The system replaces hardware-dependent shared memory mechanisms with software-based virtual memory management. This substitution maintains fast process execution through efficient memory allocation and access control while achieving server platform compatibility by implementing memory management in the software layer rather than relying on specific hardware features.
4Ease of operation
If the host apparatus is configured to access specific storage nodes directly, then data access is straightforward, but the system lacks expandability when storage nodes are added or removed
Solution Approach 1:
The virtual storage device automatically manages data access by intercepting I/O requests from the host, determining the appropriate target storage node based on current system configuration and data location, and forwarding requests without host intervention. This self-service approach maintains data access simplicity while enabling system expandability, as the virtualization layer handles node additions and removals transparently.
Data Source
AI summary
Virtual first logical volumes are provided to a host, a virtual second logical volume correlated with any one of the first logical volumes is created in a storage node in correlation with a storage control module disposed in the storage node, a correspondence relationship between the first and second logical volumes is managed as mapping information, a storage node which is an assigning distribution of an I/O request is specified on the basis of the mapping information in a case where the I/O request in which the first logical volume is designated as an I/O destination is given from the host, the I/O request is assigned to the storage control module of its own node in a case where the specified storage node is its own node, and the I/O request is assigned to another storage node in a case where the specified storage node is another storage node.


