NVMe-oF Storage Server Stack Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing high-speed, low-latency network storage systems, such as those using NVMe-oF, face challenges in data redundancy, locating data on NVMe-enabled SSDs without a file system, and load balancing.
Innovation Solution
A computer-implemented server stack is designed with a management server, compute servers, and storage servers equipped with NVMe-enabled SSDs. The server stack uses a mapping data structure to identify content storage locations and switches between SSDs for redundancy and load balancing, enabling direct content streaming over NVMe-oF paths.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is stored on multiple NVMe-enabled SSDs for redundancy, then system reliability is improved, but device complexity increases due to the need for mapping data structures and failover logic
Solution Approach 1:
The patent creates multiple copies of data across different NVMe-enabled SSDs to ensure redundancy. The mapping data structure tracks these copies, allowing the system to retrieve data from any available SSD, thus improving reliability while managing complexity through systematic duplication.
Solution Approach 2:
The mapping data structure acts as an intermediary between the host and multiple SSDs. It abstracts the complexity of data location and redundancy management, providing a simple interface for data access while handling the intricate details of which data resides on which SSD.
2Speed
If direct content streaming over NVMe-oF paths is implemented, then data transfer speed is improved, but ease of operation deteriorates due to the need for block-level data location without file system support
Solution Approach 1:
The mapping data structure is pre-populated with information about data block locations on each SSD before data transfer begins. This preliminary organization allows the system to directly access and stream data blocks over NVMe-oF paths without needing file system support during the transfer process, maintaining high speed while simplifying operation.
3Productivity
If load balancing is implemented by switching between SSDs, then productivity is improved, but device complexity increases due to monitoring and switching logic
Solution Approach 1:
The system implements load balancing by monitoring SSD performance and health status, then dynamically switching data access paths based on this feedback. The mapping data structure is updated to reflect current SSD availability and performance, enabling automatic load distribution across multiple SSDs to optimize content delivery efficiency.
Data Source
Figure 1
Figure 2
Figure 3~4
AI summary
Non-volatile memory over fabric (NVMe-oF) is used to stream video, computer games, and the like to client devices from network storage embodied by solid state storage devices (SSDs) (204, 212). To provide for redundancy, multiple copies of a single piece of content, e.g., a computer game or video file, are stored (800) on multiple SSDs. To provide information to address the block-level storage based on a client demand for the content, a data structure correlates (802) each content with the SSDs and related block numbers at which the content is stored. Sourcing of the content as it is being streamed may be dynamically switched (1012) between SSDs to provide for load balancing or loss of a SSD.