USB Stream Side Channel Access via LUN Arbiter
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing USB environments face complications in side channel access, particularly when using devices that do not support USB streams, as it requires holding off all USB packets for processing, which can lead to system performance issues and increased complexity, especially when using separate interfaces like SPI, I2C, or UART.
Innovation Solution
A system comprising a USB device controller, a logical unit number (LUN) arbiter, and a secondary interface, which allows for efficient side channel access by routing USB requests and side channel requests through a LUN arbiter to determine access priority, enabling coherent out-of-order processing and simplifying arbitration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If USB streams are not supported, then packet processing is simple, but all USB packets must be held off during side channel access, reducing productivity
Solution Approach 1:
The patent segments the packet processing into multiple independent USB streams (Stream 0, Stream 1, etc.), allowing side channel access to occur on one stream while other streams continue processing packets independently. This eliminates the need to hold off all packets during side channel operations.
Solution Approach 2:
The patent introduces a new dimension by adding a secondary interface (SPI, I2C, UART) that operates independently from the USB interface. This allows side channel access to occur in parallel with USB packet processing, transforming the single-channel sequential processing into multi-channel parallel processing.
2Adaptability or versatility
If separate interfaces (SPI, I2C, UART) are used for side channel access, then interface versatility is improved, but hardware and software complexity increases
Solution Approach 1:
The patent makes the LUN arbiter a universal component that handles both USB packet routing and side channel request routing. By giving the LUN arbiter multi-functionality, the patent avoids adding separate arbitration logic for each interface type, thereby reducing overall system complexity despite supporting multiple interface types.
Solution Approach 2:
The patent introduces the LUN arbiter as an intermediary component that mediates between multiple interfaces (USB, SPI, I2C, UART) and the internal bus. This single intermediary point simplifies the system architecture compared to having separate arbitration logic for each interface type.
3Productivity
If USB streams are supported, then packet processing efficiency is improved, but communication and synchronization between side channel logic and USB device controller becomes complicated
Solution Approach 1:
The patent merges the side channel request handling with the existing USB stream arbitration logic by using the same LUN arbiter for both. This consolidation eliminates the need for separate synchronization mechanisms between side channel logic and USB device controller, as both interfaces share the same arbitration infrastructure.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A system may provide side channel access of a Universal Serial Bus (USB) device using USB streams. The system may include a USB interface with a USB device controller, an internal bus, a logical unit number (LUN) arbiter coupled between the USB controller and the internal bus, and a secondary interface coupled with the LUN arbiter. The system may include a plurality of storage devices coupled to the internal bus. The system may provide access to the storage devices via both the USB device controller and the secondary interface. The LUN arbiter may accept a plurality of USB streams (e.g., storage device access requests) from the USB device controller and at least one additional USB stream (e.g., storage device access request) from the secondary interface. The LUN arbiter may determine a priority of access between USB streams originating from the USB device controller and the secondary interface.