Disaggregated Storage Architecture for Scalable Low-Latency SSD Arrays
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional data center storage systems face inefficiencies due to the coupling of computing and storage resources, high costs of enterprise-grade SSDs, and the limitations of using consumer-grade SSDs, which have poor endurance and write latency, leading to single points of failure and increased costs.
Innovation Solution
A disaggregated software-defined storage architecture decouples computing and storage resources, utilizing consumer-grade SSDs with non-volatile random-access memory (NVRAM) to manage write operations, reduce write-erase cycles, and implement data resiliency schemes like N+K erasure correction, ensuring enterprise-grade performance with lower-cost SSDs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data is striped across multiple drives in a traditional storage array, then storage capacity is increased, but the system lacks scalability beyond a single array unit
Solution Approach 1:
The storage system is segmented into multiple independent storage arrays, each capable of independent operation. These arrays are grouped into storage array networks where each array can be independently managed, expanded, or replaced without affecting others, enabling scalable growth from single-array to multi-array configurations.
Solution Approach 2:
Storage arrays are nested within storage array networks, which are in turn nested within the broader storage system architecture. This hierarchical nesting allows smaller storage units to be combined into larger networks, providing scalable capacity expansion while maintaining manageable organizational structures at each level.
2Ease of operation
If a single storage array is used, then the system is simple to manage, but it cannot be expanded to meet growing storage needs
Solution Approach 1:
The storage system is divided into independent storage arrays that can be individually managed. Each array operates as a discrete unit with its own management interface, allowing administrators to manage small numbers of arrays independently while the system can grow to accommodate hundreds or thousands of arrays through standardized management protocols.
Solution Approach 2:
The storage arrays are designed with universal interfaces and standardized protocols that allow them to function independently or in coordinated networks. This universality enables the same array design to be deployed singly or in large networks, maintaining ease of management through consistent interfaces regardless of system scale.
3Speed
If storage arrays are connected in parallel to a host, then data access speed is improved, but the system complexity increases significantly
Solution Approach 1:
A storage array network acts as an intermediary layer between hosts and individual storage arrays. This intermediary manages data routing, load balancing, and coordination across multiple arrays, providing high-speed parallel access to hosts while shielding them from the underlying complexity of managing numerous individual array connections.
Solution Approach 2:
Multiple storage arrays are merged into a coordinated network that presents a unified interface to hosts. The arrays work together as a combined system, distributing data access operations across multiple devices to achieve high-speed performance while the network management layer consolidates control functions to reduce overall system complexity.
Data Source
Figure 1
Figure 2A~2B
Figure 3
AI summary
A large-scale storage system is provided. The large-scale system includes a plurality of compute nodes; a plurality of storage nodes; and a communication fabric for providing a communication infrastructure between the plurality of compute nodes and the plurality of storage nodes; wherein each compute node of the plurality of compute nodes is configured to independently perform at least a storage operation on any of the storage nodes in a persistent manner, and wherein each storage node of the plurality of storage nodes provides physical storage space of the large-scale storage system.