Virtual Storage Controller Parallel Command Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data storage systems face challenges in scalability and redundancy, particularly in managing and presenting a unified virtual storage space across multiple storage elements, which affects data throughput and reliability.
Innovation Solution
The implementation of a virtual storage space formed across a plurality of storage elements, utilizing multiple storage element aggregators (SEAs) and intelligent storage elements (ISEs) that work in parallel to issue commands, manage data I/O operations, and provide redundant connections through loop switch modules, enabling efficient data distribution and scaling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single controller manages storage elements, then system complexity is reduced, but data throughput rates are limited
Solution Approach 1:
The controller is segmented into multiple storage element aggregators (SEAs), each capable of independently managing storage elements. This segmentation allows parallel command processing across multiple SEAs, thereby increasing data throughput rates while maintaining manageable system complexity through modular architecture.
Solution Approach 2:
The system transitions from a single-dimensional controller architecture to a multi-dimensional parallel architecture where multiple SEAs operate simultaneously. This dimensional expansion enables concurrent command processing and significantly boosts data throughput without proportionally increasing system complexity.
2Adaptability or versatility
If storage elements are aggregated into a virtual storage space, then scalability is enhanced, but system complexity increases
Solution Approach 1:
Each storage element aggregator (SEA) is designed with universal functionality to manage multiple storage elements independently. This multi-functionality enables flexible scalability where SEAs can be added or removed without redesigning the entire system, enhancing adaptability while keeping individual component complexity low.
Solution Approach 2:
The virtual storage space management is segmented across multiple independent SEAs, each handling specific storage elements. This segmentation allows incremental scalability where the system can grow by adding individual SEAs rather than requiring complex system-wide reconfiguration.
3Productivity
If multiple SEAs issue commands concurrently, then data throughput increases, but coordination complexity increases
Solution Approach 1:
Each SEA is designed with autonomous capability to issue and manage commands to storage elements independently. This self-service approach eliminates the need for complex centralized coordination mechanisms, allowing concurrent command issuance while keeping coordination complexity manageable through decentralized autonomous operation.
4Reliability
If redundant connections are implemented through loop switch modules, then system reliability is improved, but device complexity increases
Solution Approach 1:
Redundant connections are pre-configured through loop switch modules that establish alternative data paths before failures occur. This preliminary action ensures high availability and reliability by having backup pathways ready, while the modular switch architecture keeps the added device complexity manageable through standardized components.
Data Source
AI summary
Apparatus and method for aggregating storage elements. In accordance with various embodiments, a virtual storage space is formed across a plurality of storage elements each comprising an array of data storage devices. A virtual controller comprises a first storage element aggregator (SEA) configured to issue a first command to a selected storage element in response to receipt by the first SEA of a first host command. The virtual controller further comprises a second SEA configured to concurrently issue a second command to the selected storage element in response to receipt by the second SEA of a second host command.


