Multi-Port NVMe Storage Device Namespace Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing non-volatile storage devices face challenges in providing secure multiple server access while maintaining data availability and efficiency, as current configurations either compromise on performance, latency, or introduce complexity and single points of failure.
Innovation Solution
A storage device with three or more ports, each connected to a different server via a storage controller, utilizing a logical namespace that isolates data access to prevent inter-server data access, employing NVMe or PCIe protocols for efficient communication.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a 2P 2X configuration with two separate storage controllers is used, then data availability and performance are improved, but device complexity and cost increase due to requiring switches for connectivity
Solution Approach 1:
The storage device is segmented into multiple independent port-controller units, where each port has its own dedicated storage controller. This segmentation allows each controller to independently manage its port's data paths, eliminating the need for external switches while maintaining multiple independent access paths for improved reliability and data availability.
Solution Approach 2:
Each storage controller is designed with multi-functionality to handle both data transmission and namespace management tasks. The controllers can operate independently yet cooperatively, providing universal access control across multiple ports without requiring additional switching infrastructure, thus reducing device complexity while maintaining reliability.
2Speed
If a 1P 4X configuration with a single storage controller is used, then latency is reduced and bandwidth is optimized, but reliability deteriorates due to creating a single point of failure
Solution Approach 1:
The single storage controller is segmented into multiple independent controller instances, with each instance dedicated to a specific port. This segmentation eliminates the single point of failure while maintaining high-speed data paths, as each controller-instance can independently process data at full bandwidth without contention, preserving speed while improving reliability.
Solution Approach 2:
Each storage controller is assigned local quality characteristics specific to its port's requirements, with dedicated resources and independent namespace management. This allows optimal performance for each port while providing fault isolation, ensuring that failures in one controller do not impact others, thus maintaining high speed with improved reliability.
3Reliability
If multiple copies of data are created across N nodes for data protection, then data availability is sustained through N-M failures, but storage efficiency deteriorates as efficiency is divided by the number of copies
Solution Approach 1:
The storage namespace is segmented into multiple independent logical namespaces, with each namespace accessible only through its designated port. This segmentation provides data isolation and protection without requiring multiple physical copies across nodes, maintaining storage efficiency while ensuring data availability through controlled access paths and redundancy at the namespace level rather than through costly data duplication.
4Productivity
If RAID designs are implemented to improve storage efficiency, then efficiency is improved compared to multiple copies, but device complexity and access delay increase
Solution Approach 1:
The storage system is segmented into independent port-controller-nam espace units that provide inherent data isolation and protection. This segmentation eliminates the need for complex RAID configurations by providing simpler, more direct access paths with built-in redundancy through multiple independent controllers, reducing device complexity while maintaining storage efficiency through logical namespace isolation rather than complex parity calculations.
Data Source
AI summary
An apparatus for secure multiple server access to a non-volatile storage device is disclosed. A method and storage device product also perform the functions of the apparatus. An apparatus includes a storage device with three or more ports. Each port includes at least one lane and each port is configured to connect to a different server over the at least one lane of the port. The storage device includes a storage controller in the storage device for each port. Each storage controller controls storage to non-volatile storage of the storage device. The storage device includes a logical namespace assigned to each port. Each logical namespace is assigned to a portion of the non-volatile storage of the storage device. The logical namespace of a first port of the three or more ports is inaccessible to a second port of the three or more ports.


