Storage Interface Module with Virtual Queues for Protocol Adaptation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing interface modules struggle to adapt to new communication protocols effectively.
Innovation Solution
An interface module with multiple computing cores and virtual queues that convert and relay communication between hosts and storage controllers using different protocols, allowing for seamless protocol adaptation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional interface modules are used with fixed protocol processing units, then device complexity is reduced, but adaptability to new communication protocols deteriorates
Solution Approach 1:
The interface module employs multiple computing cores that can execute different protocol processing functions, allowing a single device to handle multiple communication protocols (PCIe, USB 3.0, SATA, SAS, etc.) simultaneously. Each computing core can be configured to process specific protocols, making the interface module universal and adaptable to various storage devices without requiring separate dedicated hardware for each protocol.
Solution Approach 2:
The interface module uses dynamic protocol processing where the computing cores can adaptively select and switch between different communication protocols based on the connected storage device. The protocol processing is not fixed but can be dynamically adjusted through configuration, allowing the system to optimize performance and compatibility for different device types and protocol requirements.
2Ease of manufacture
If protocol processing is handled by dedicated hardware units, then processing speed is improved, but ease of updating protocol support deteriorates
Solution Approach 1:
The interface module replaces traditional dedicated hardware protocol processing units with software-based computing cores that execute protocol processing instructions. This substitution allows protocol support to be updated simply by loading new software firmware onto the computing cores, without requiring hardware changes or remanufacturing the entire interface module.
Solution Approach 2:
The interface module changes the state of protocol processing from fixed hardware configuration to dynamic software configuration. By storing multiple protocol processing programs in memory and allowing the computing cores to load and execute different protocols as needed, the system can rapidly adapt to new protocols by changing software parameters rather than hardware architecture.
3Adaptability or versatility
If multiple protocol processing units are provided, then adaptability is improved, but device complexity and cost increase
Solution Approach 1:
The interface module merges multiple protocol processing capabilities into a single integrated architecture using shared computing cores and common memory resources. Instead of providing separate dedicated processing units for each protocol, the system combines multiple protocol handlers that can execute on the same hardware platform, reducing overall device complexity while maintaining broad protocol compatibility.
Data Source
AI summary
An interface module connected to a storage controller and relaying communication between a host and the storage controller. The host and the storage controller use different communication protocols, include computing cores and a memory. At least one of the computing cores is a IO core in communication with the host, each of the IO cores has a virtual queue in the memory and the IO core is configured to execute a reception process of converting communication data including a command to the storage controller outputted by the host into a storage interface command and store the communication data in the virtual queue. The IO core executes a sending process for sending to the host by converting to communication data takes out a storage interface command from the virtual queue, and in same session, same IO core performs the reception process and the transmission process.


