USB 3.0 SuperSpeed




MCCI Abstract USB 3.0 API Specification

USB 3.0 introduces new features that are not part of the Microsoft standard USBD for USB 2.0. Each host stack vendor therefore has to implement these features and will implement them differently. As part of our standards efforts, and in order to support our class driver development efforts, MCCI has designed a host-stack independent, abstract USB 3.0 API that allows class drivers to work with any host stack. It is available here:

Synopsys and MCCI at IDF 2010
click to watch
MCCI Universal Serial Bus Windows Kernel Bus Interface for USB 3.0 Streams Device Drivers (Revision 1.0rc1, March 22, 2010).

Introduction to SuperSpeed USB 3.0

At ten times the speed of USB 2.0, SuperSpeed USB 3.0 opens whole new categories of applications, like 20-second DVD downloads and streaming HD video from storage devices to displays. USB 3.0 is a 5 GB/sec upgrade to USB 2.0. All older devices continue to work in USB 3.0 systems, new devices work in old systems, and existing class drivers also continue to work. USB 3.0 applications include consumer entertainment, such as media download, HD video streaming, 3G/4G data card connection, and PC peripherals. In addition to mass storage BOT, a new USB Attached SCSI Protocol (UASP), optimized for USB 3, is supported. By eliminating VGA and Ethernet connectors, Netbooks, Ultra-Mobile PCs (UMPC), accessories and docking stations can reduce cost and weight.

USB 3.0 Architecture
The performance and flexibility of USB 3.0 derives from its dual-bus architecture and includes packet routing and stream support. The USB 3.0 link and protocol are optimized for power management, improving battery life for both hosts and devices. Taken together, these considerations ensure a smooth transition to USB 3.0 and a long-term evolutionary path for SuperSpeed USB 3.0.

USB_solution


MCCI USB 3.0 Solution
MCCI is working closely with Silicon OEMs and USB 3.0 IP Providers to maximize reliability, performance, and interoperability. Our offering spans the range from PC Host drivers to Embedded Device and Embedded Host support, as well as supporting the new UASP high performance mass storage class and advanced development and validation tools. MCCI offers off-the-shelf USB class drivers, custom solutions, and development licenses with flexible production licensing terms. MCCI offers: MCCI USB DataPump® for USB 3.0 Devices
The MCCI USB DataPump is a complete embedded USB 3.0 Host/Device stack for high volume embedded applications. It is portable across CPUs, little/big-endian, HW platforms, OS, compilers, and development platforms.

MCCI USB DataPump for USB 3.0 Devices — Features and Supported Device Classes
  • Simultaneous USB 2.0 and USB 3.0 operation
  • Support for many embedded device classes
  • Link power management and selective suspend
  • Stream support
  • Command queuing and out of order command execution
  • USB Resource Compiler (USBRC) tool generates USB descriptors, including composite devices
  • Audio Class 1.0
  • Video Class
  • CDC 1.1 Ethernet Control Model (ECM), for Ethernet-like networking
  • Mass Storage Bulk-Only Transport
  • Human Interface Device (HID) 1.1
  • CDC 1.1 Abstract Control Model (ACM) for traditional modems and modem emulation
  • Device Firmware Update (DFU) 1.0 for firmware update over USB
  • Wireless Mobile Communications subclass (WMC) for multi-function phones
  • MCPC GL-004/005 for multifunction phones
  • MCCI Virtual Serial Port (VSP), for migrating RS-232 devices to USB
  • MCCI Loopback, for test and performance evaluation
MCCI USB DataPump for USB 3.0 Devices — Deliverables
  • Integration of MCCI DataPump USB 3.0 core and required protocols into the customer target device platform/OS environment. It is usually configured with MCCI USB DataPump for USB 2.0
  • MCCI Catena hardware with sample MCCI USB DataPump device running in Win32 environment for prototyping and comparison purposes
  • Optional USB3.0 WMCDVT (or equivalent) tool available for USB3.0 system level verification
Embedded Host/OTG DataPump Support
The embedded host USB 3.0 DataPump parallels the MCCI USB DataPump for the PC Host. Embedded host supported device classes are listed below. MCCI provides the On-the-Go capability for dynamic device/host switching, providing for USB 3.0/2.0 OTG deployments.

Embedded Host/OTG DataPump — Features and Supported Device Classes
  • Simultaneous USB 2.0 and USB 3.0 operation
  • Many host device classes are supported
  • Link power management and selective suspend
  • Stream support
  • Hub support
  • Mass Storage Class
  • HID support
  • Composite Device
  • ACM/WMC
  • OBEX
  • USBSIM Classes (UICC, EEM)
Embedded Host/OTG DataPump — Deliverables
  • Integration of MCCI DataPump USB 3.0 Host/OTG core and required host and device protocols into one customer target device platform/OS environment
  • Optional USB3.0 HCDVT, or equivalent, for USB3.0 host protocol verification
  • MCCI Catena® hardware with sample MCCI DataPump device applications running in Win32 environment for prototyping and comparison purposes
UASP Windows Function Driver and Embedded Host Support
USB Attached SCSI Protocol (UASP) is a complete, MSC back-compatible replacement for Mass Storage Class and Bulk Only Transfers (BOT). UASP must be implemented in both the host and the device. UASP is being standardized by the USB-IF and SCSI T-10 committees. UASP provides throughput improvements of up to 20% of the channel capacity vs. MSC/BOT. MCCI currently offers an Early UASP (EUASP) version that will be easily upgradable to the final version.

UASP
  • Uses Windows high performance Storport interface, or functional equivalent
  • Supports XP-32, XP-64, Vista, and Win 7
  • Uses full-duplex capability of USB 3.0
  • USB selective suspend support for the UASP drivers
  • Maintains MSC/BOT device back compatibility by recognizing UASP as an alternate interface
  • USB 2.0 support operates in xHCI and EHCI driver modes
  • Embedded host UASP support available, e.g. for non-Windows PCs, and non-PC applications like Personal Video Recorders (PVRs)


UASP Embedded Device Support
MCCI UASP embedded stack is a portable implementation of the device side UASP protocol for the MCCI USB DataPump. For support of third-party USB stacks, please inquire. Embedded UASP supports all UASP commands and is optimized for high performance.

UASP Embedded Device Support — Features
  • Supports both UASP and BOT
  • Supports all commands
  • Supports command queuing
  • Validated by MCCI MSCDVT tool
UASP Embedded Device Support — Deliverables
  • UASP embedded device class, including BOT
  • Typically configured with MCCI USB DataPump
Advanced Development and Validation Tools
MCCI offers advanced development and validation tools for USB Device, Host/OTG, and UASP:
  • xHCI (PC) and Embedded Host / OTG Host Verification Tools
    • MCCI Catena devices (LS, FS and HS) for USB application simulation and verification, optional SuperSpeed Catena, pending availability
    • HCDVT (HCD verification tool)
    • USBDVT (USBD verification tool)
  • MCCI USB DataPump for USB 3.0 Devices Verification Tools
    • MSCDVT (Mass Storage Class Device Verification Tool) for single step verification of UASP2.0, UASP3.0, and BOT commands
    • Sample MCCI UASP 2.0/3.0 DataPump device application with MCCI Catena HS device, optional SuperSpeed Catena, pending availability
  • UASP Verification Tool
    • MSCDVT (Mass Storage Class Device Verification Tool) for single step verification of UASP2.0, UASP3.0, and BOT commands
USB 3.0 Development Licensing Program
For customers interested in performing their own hardware and OS porting, and other customization, MCCI offers an annual developer seat licensing program. This program is separate from production licensing. Please inquire for details and a quotation on this program.

  • xHCI Windows host driver annual developer seat program
  • USB 3.0 UASP function annual developer seat program
  • USB 3.0 device firmware annual developer seat program


Back to top