NVMe-oF Storage Server Stack Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata redundancyVSAvoidmapping data structure
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #26Copying

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvedata transfer rateVSAvoiddata location
Core Design Contradiction:
SpeedVSEase of operation

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.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If load balancing is implemented by switching between SSDs, then productivity is improved, but device complexity increases due to monitoring and switching logic

Engineering Contradiction:
Improvecontent delivery efficiencyVSAvoidload balancing logic
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3721334B1Ultra high-speed low-latency network storage
Publication Date: 2025.06.18 SONY INTERACTIVE ENTERTAINMENT LLC
  • EP3721334B1 patent drawingFigure 1
  • EP3721334B1 patent drawingFigure 2
  • EP3721334B1 patent drawingFigure 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.