NVMe Storage Interface Controller for Cloud Storage Offload
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud storage protocols in cloud computing platforms utilize significant compute resources, leading to limited throughput and increased economic and resource costs, particularly in CPU time and I/O operations.
Innovation Solution
A storage interface controller is used to establish connections with storage nodes, utilizing session tokens and brokers to manage clusters, enabling efficient access to storage objects through hardware-level interfaces, offloading operations from processors, and implementing data transformations and policy enforcement.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If cloud storage protocols are used to access storage data, then data access functionality is provided, but compute resources (CPU time and I/O operations) are heavily utilized
Solution Approach 1:
A storage access accelerator is introduced as an intermediary device between the host and storage system. The accelerator receives storage commands from the host, translates them into storage protocol commands, and manages the communication with the storage system. This offloads the protocol translation and command management tasks from the host CPU, reducing compute resource overhead while maintaining data access functionality.
Solution Approach 2:
The patent replaces software-based protocol translation and command management (which consume CPU cycles) with a hardware-based storage access accelerator. This substitution moves the processing from the mechanical/software domain to the hardware domain, significantly reducing the compute resources required for storage operations.
2Adaptability or versatility
If protocol translation is performed by the host system, then compatibility between different storage systems is achieved, but I/O operations are increased
Solution Approach 1:
The storage access accelerator acts as an intermediary that handles protocol translation between the host and storage system. By performing translation in hardware rather than software, the accelerator reduces the time required for protocol conversion while maintaining compatibility across different storage protocols.
Solution Approach 2:
The accelerator pre-translates host commands into storage protocol commands before transmission to the storage system. This preliminary action in hardware eliminates the need for time-consuming software-based translation during actual data operations, reducing overall I/O operation time.
3Productivity
If storage commands are processed by the host CPU, then command execution flexibility is maintained, but processing speed is limited
Solution Approach 1:
The patent replaces CPU-based command processing with a dedicated storage access accelerator that operates in hardware. This substitution significantly increases command processing speed by utilizing specialized hardware circuits designed for storage operations, while the host system only needs to interface with the accelerator through simple registers or memory-mapped I/O.
Solution Approach 2:
The system is segmented into distinct functional components: the host system, the storage access accelerator, and the storage system. The accelerator handles all storage protocol-specific processing, allowing the host to maintain simplicity while achieving high processing speeds through the specialized accelerator component.
Data Source
AI summary
Systems, methods, devices, and computer readable storage media described herein provide network storage acceleration techniques. In an aspect, a command is received from an application by a storage interface controller. The command is configured to establish a connection with a storage node of a storage service of a storage system. The command comprises a session token corresponding to a session between the application and the storage service. The session token is provided to a broker at a first endpoint. The broker is configured to manage a cluster of storage nodes. The cluster of storage nodes comprises the storage node. A response is received from the broker. The response comprises a second endpoint associated with the storage node. A connection with the second endpoint is established. The second endpoint is mapped to a storage object. In a further aspect, the storage interface controller is a non-volatile memory express (NVMe) controller.


