Bidirectional Block Device Communication via Command Inversion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Legacy block device protocols are uni-directional, preventing target devices from sending commands to initiator devices, which limits bidirectional communication and data synchronization in certain applications.
Innovation Solution
Implementing a system with an initiator interface and a target interface that uses a dispatcher module to generate threads for sending read commands and an executor module to execute commands, enabling target devices to send commands back to initiator devices via a standard block device protocol using control devices that can deliver commands and control information in both directions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a standard block device protocol is used for communication between initiator device and target device, then compatibility and ease of operation are improved, but bidirectional communication capability deteriorates because the protocol only supports commands from initiator to target
Solution Approach 1:
The patent inverts the traditional block device communication model by enabling the target device to send commands to the initiator device. This is achieved by having the target device package commands as data within read response packets, effectively reversing the conventional command-initiation direction while maintaining protocol compatibility
Solution Approach 2:
The patent uses an intermediary mechanism where the target device embeds commands within data fields of standard protocol packets. The initiator device's dispatcher module acts as an intermediary that intercepts these embedded commands, parses them, and executes them appropriately, thereby enabling bidirectional communication without modifying the core protocol
2Adaptability or versatility
If bidirectional communication is implemented using sophisticated interfaces like PCIe, then adaptability and communication capability are improved, but device complexity increases
Solution Approach 1:
The patent makes the standard block device protocol multi-functional by enabling it to carry both traditional data transfers and commands in both directions. The protocol is extended to accommodate target-initiated commands without requiring a completely new interface, thereby achieving bidirectional communication with universal applicability across existing block device architectures
Solution Approach 2:
The patent creates a virtual bidirectional communication channel by copying the command structure into the data field of standard protocol packets. This allows commands to be transmitted through the existing unidirectional protocol framework without requiring new physical or logical interfaces, thereby avoiding the complexity of sophisticated interfaces like PCIe
Data Source
AI summary
A system includes an initiator device including an initiator interface. A target device includes a target interface that communicates with the initiator interface via a protocol. The protocol supports commands being sent from the initiator device to the target device. The protocol does not support commands being sent from the target device to the initiator device. The target interface is configured to send a command to the initiator device via the protocol. The initiator interface is configured to execute the command.


