USB-to-SD Bridge Command Wrapping and Batching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current solutions for interfacing USB devices with SDIO devices lack standardization, leading to performance issues due to host-side latency and inefficient command/data flow, and require significant driver development for each platform, making them cumbersome and inefficient.

Innovation Solution

A USB-to-SD bridge (UTSB) that enables communication between a USB bus and an SD interface by wrapping SD commands into USB packets, allowing for optimized command flow and execution, with the ability to modify commands for improved performance, such as reordering, aggregation, or elimination, and supporting SDIO functionality like WiFi.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If USB to SD bridge solutions are implemented without standardization, then platform-specific adaptability is achieved, but driver complexity and development time increase significantly

Engineering Contradiction:
Improveplatform-specific adaptabilityVSAvoiddriver complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal USB to SD bridge architecture that can operate across multiple platforms (Windows, Linux, macOS, embedded systems) using a standardized command protocol. The bridge device maintains platform-agnostic functionality while supporting various USB speeds and SD card types, eliminating the need for platform-specific driver implementations.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Ease of manufacture

If host-side command processing is used without optimization, then implementation simplicity is maintained, but performance and latency are degraded

Engineering Contradiction:
Improveimplementation simplicityVSAvoiddata transfer performance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The bridge device performs preliminary command optimization by buffering and batching SD commands before transmission over USB. It pre-processes command sequences to minimize host-side latency, aggregates multiple small commands into larger transfers, and maintains command queues to optimize data flow efficiency without requiring complex host-side processing.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If USB packet wrapping is implemented without command optimization, then protocol compatibility is maintained, but command flow efficiency decreases

Engineering Contradiction:
Improveprotocol compatibilityVSAvoidcommand execution time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The bridge maintains continuous USB data transfers by implementing a command queueing mechanism that keeps the USB pipeline full. It wraps SD commands in USB packets while maintaining continuous data flow, avoiding idle periods between commands, and ensures efficient utilization of USB bandwidth through sustained transfer operations.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8745304B2USB to SD bridge
Publication Date: 2014.06.03 MICROCHIP TECHNOLOGY INC
  • US8745304B2 patent drawing
  • US8745304B2 patent drawing
  • US8745304B2 patent drawing

AI summary

A USB-to-SDIO bridge (UTSB) to efficiently transmit SD/SDIO commands in USB packets. The UTSB may allow the majority of the device drivers for a given SD/SDIO device to remain intact, requiring changes only in the lowest hardware adaptation layer to put a USB wrapper around native SD commands. These commands may be sent over USB-to-SD card reader devices that may include various embodiments of a UTSB, where they may be unwrapped and transmitted to the SD port as if the port were native to the host controller. Additionally, the SD/SDIO commands may be packaged into groups of commands, or transactions, to optimize performance. The host driver may instruct the UTSB bridge device to repeatedly read data from the SDIO device until a communications FIFO on the device is empty (corresponding to a termination condition), and return the collected data to the host.