NVMeoF Controller Routing for Disaggregated Storage Bandwidth
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current implementations of remote access to disaggregated memory devices via a common networking fabric architecture based on the NVMeoF specification suffer from reduced memory bandwidth due to the merging of sequential read/write requests into random streams, which negatively impacts performance.
Innovation Solution
The NVMeoF controller detects the type of access requests (sequential or random) and directs them to either dedicated or shared NVMe devices, ensuring that sequential requests are mapped to devices with adequate bandwidth, thereby optimizing memory bandwidth utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If sequential read/write requests are merged into a common stream for remote access, then resource utilization is improved, but memory bandwidth performance deteriorates
Solution Approach 1:
The patent segments the storage system into multiple dedicated storage devices, each handling specific access patterns. Sequential access requests are routed to storage devices dedicated to sequential access, while random access requests are routed to storage devices dedicated to random access. This segmentation prevents the merging of different access patterns into a single stream, preserving the high memory bandwidth performance of sequential accesses while maintaining efficient resource utilization through specialized handling of different request types.
2Device complexity
If sequential requests are directed to shared storage devices, then device complexity is reduced, but performance deteriorates due to bandwidth contention
Solution Approach 1:
The storage system is segmented into multiple dedicated storage devices rather than using a single shared device. This segmentation allows sequential requests to be directed to storage devices specifically dedicated to sequential access, eliminating bandwidth contention that would occur in a shared device scenario. The segmentation increases device complexity in terms of system configuration but resolves the performance issue by providing dedicated resources for sequential access workloads.
Solution Approach 2:
Different storage devices are assigned different specialized functions: some are optimized and dedicated for sequential access patterns, while others are dedicated for random access patterns. This local quality assignment ensures that each storage device operates in its optimal performance mode without interference from conflicting access patterns, thereby maintaining high memory bandwidth efficiency for sequential requests while managing overall system complexity through functional specialization.
3Ease of operation
If random access patterns are handled by the same storage devices as sequential requests, then ease of operation is improved, but memory bandwidth is wasted
Solution Approach 1:
The storage system is segmented into dedicated storage devices for sequential access and dedicated storage devices for random access. This segmentation prevents random access requests from interfering with sequential access operations, eliminating the memory bandwidth waste that would occur if both access patterns were handled by the same storage devices. While this increases system complexity, it preserves memory bandwidth resources by ensuring that sequential access operations are not disrupted by random access requests.
Solution Approach 2:
Storage devices are assigned specialized local qualities: some are optimized and dedicated for sequential access patterns to maximize bandwidth utilization, while others are dedicated for random access patterns. This specialization ensures that each storage device operates efficiently for its designated access pattern without causing bandwidth waste through conflicting operations. The system maintains ease of operation by automatically routing requests to the appropriate specialized storage device based on the access pattern.
Data Source
AI summary
Examples include techniques to direct access requests to storage or memory devices. Examples include receiving an access request to remotely access storage devices. The access request included in a fabric packet routed to a target host computing node coupled with the storage devices through a networking fabric. The access request directed to shared or dedicated storage devices based on whether the access request is characterized or define as a sequential stream or a random stream.


