SuperSpeed USB Developers Conference San Jose, California November 17-18, 2008
Windows USB Technical Update & Design Considerations Lars Giusti Senior Program Manager Microsoft Corporation Randy Aull Principal Software Design Engineer Microsoft Corporation
Agenda Windows USB Architecture Windows 7 Investments around USB Microsoft s Commitment To SuperSpeed USB Windows SuperSpeed USB Planning Windows SuperSpeed Impact to 3 rd Party Drivers Windows USB 3.0 Support Considerations By OS Call To Action Thank You!!! CONFIDENTIAL USB Implementers Forum 2008 3
DST Team Mission & USB Core Group Vision CONFIDENTIAL USB Implementers Forum 2008 4
Windows USB Architecture Microsoft Confidential
USB Hardware Trends Over A Decade 1998 2008 # Devices Power Complexity
Windows 7 Pillars & USB Design Considerations Windows 7 Pillars: Specialized for Laptops Designed for Services Personalized Computing for Everyone Optimized for Entertainment Engineered for Ease of Ownership COMMON OEM NOTEBOOK INTEGRATED USB DEVICE LIST Finger Print Reader Bluetooth Radio Touch Pad Near Field SD Card Reader 3G Module Communication WWAN Optical Drive Web Camera TV Tuner WiMax Windows Device Experience Goals: Easy to find, install, and use the devices I care about The experience is simple and delightful Find accessories, consumables, options, & updates that make my experience better Easy to connect with the company that made my device CONFIDENTIAL USB Implementers Forum 2008 7
Windows 7 Key USB Investments Timer coalescing I/O transfer performance optimizations Improvements to overall system stability Selective Suspend (SS) fine tuning Vista suspends ALL hubs behind a HC at the same time New in Windows 7 Individually suspend hubs
Continuing To Build On USB Windows 7 Key Investments Event Tracing For Windows Instrumentation\Logging of USB events and error states in ETW Solves the issue of complexity in diagnosing USB problems Caveat: Capture and ordering of events is subject to change Minidumps New minidumps make debugging a crash more efficient We use minidumps to improve the stability of the USB stack in Windows
Windows 7 USB ETW Events Device A suspended active suspended active 0 1 0 Rundown Events 20 30 40 50 60 Tracing Stops time Device B active 0 1 0 20 30 40 50 60 time Start ETW tracing, enable USB ETW events Monitor USB ETW events for some amount of time (e.g., 60 seconds) Rundown event includes initial device suspend state Real-time events include suspend state change information Analysis can detect Percentage of time a device was suspended If a device never suspended CONFIDENTIAL USB Implementers Forum 2008 10
USB Inbox Class Drivers That Support Selective Suspend USB DEVICE CLASS SS SUPPORT IN XP SS SUPPORT IN VISTA SS SUPPORT IN WIN7 USB HID Class YES YES YES USB Audio Class NO NO YES USB Video Class NO YES YES USB MTP Class NO NO YES USB Smart Card Class NO NO YES WPAN: Bluetooth Radio Class NO YES YES USB Scanner Class NO NO YES WinUSB NO YES YES USB Biometric Class NO NO YES USB Sideshow NO YES YES USBHUB NO YES YES USBCCGP NO YES YES CONFIDENTIAL USB Implementers Forum 2008 11
Future Needs for USB Increasing Bandwidth Needs Multi-function Devices using Multiple Transports Reliability and Stability Energy Efficiency (Internal Devices) System and device Responsiveness UFD as primary boot drive Virtualization Support
Windows SuperSpeed USB (USB 3.0) Planning Windows SuperSpeed USB Support is coming but Limited SuperSpeed USB hardware available to test and develop on Microsoft is targeting this support post Windows 7 launch Windows SuperSpeed USB Dependencies Specification availability (USB3 + XHCI) Hardware availability Time to develop the new driver stack
Microsoft s Hardware Needs Prototyping Development Verification Host XHCI host controller sample «(for MS to develop XHCI validate tools and software) 1 Prototype analyzer for USB 3.0 «2 Independent host controller silicon «(certified by USB-IF) 1 shipping analyzer (retail quality) «Device 1+ Hub prototype «2+ Native Device prototypes «1 UASP devices prototypes «2 Independent hubs prototypes 3 Independent devices prototypes 2 Independent UASP devices prototypes «2 Independent shipping host controllers (unique silicon)» 2 independent certified hubs» 2+ independent certified devices» *Legend «Small Quantity(e.g 2-3)» Large Quantity (30-50) CONFIDENTIAL USB Implementers Forum 2008 14
USB Mass Storage Platform Investments Actively Investigating Support for UASP (USB Attached SCSI Protocol) Improved performance Actively Investigating Windows Boot Support Opportunity To Address User Pain Points Selective Suspend SPC Compliance Media Properties Storage PM Contact: KiranBan @ microsoft.com CONFIDENTIAL USB Implementers Forum 2008 15
Windows 7 Testing & Windows Logo Kit v1.3 USB Device tests are part of the system kit Run as part of system certification Unclassified program will run device tests Requested tests are being added to the optional section Double Click this box for Instructions on Manually Running a USB test 1. Go to the device manager of the client machine and make a note of the VID and PID of the device you would like to tests. (If you are not running a USB test then this is probably not needed, you will have to check what other parameters are needed to run the test) 2. Go to Explorers\Job Explorer and find the test you would like to run 3. Right click on the job and select schedule CONFIDENTIAL USB Implementers Forum 2008 16
USB 3.0 and Software Randy Aull Principal Software Design Engineer CONFIDENTIAL USB Implementers Forum 2008 17
Potential Software Support New stack proposal based on XHCI controller New controller driver and hub driver may be required Keep new stack and legacy stack side-by-side Key design goals of new stack Maintain compatibility w/ existing function drivers & devices Support USB 3.0 and 2.0 devices via XHCI Support booting from USB mass storage Efficient I/O path Power Efficiency Leverage KMDF
Features in USB 3.0 Affecting Function Drivers Streams Allows a device to target any one of multiple buffers queued to a single endpoint Function power management Link power management (potentially) Higher throughput may expose function driver inefficiencies
XHCI Overview Single host controller supports all device speeds (including SuperSpeed) Key points of interest No companion controllers Caches the schedules to reduce impact on battery life Supports SuperSpeed and Legacy Speeds Power management enhancements (LPM) Improved I/O efficiency Hardware virtualization enhancements Improved debugging over USB Improves experience for USB 2.0 and USB 3.0 devices For additional details: Extensible Host Controller Interface (xhci) Draft Specification for USB 3.0 http://www.intel.com/technology/usb/xhcispec.htm
Features in XHCI Affecting Drivers Power Management Selective Suspend motivation changed Link power management (LPM) Performance Chained MDLs / buffers
USB Experiences Enhanced in Windows 7 CONFIDENTIAL USB Implementers Forum 2008 22
Container View Of MFP Device Container
Device And Printers Folder Easier to find and use devices Good solution for Multi-function devices Multi-transport transport Solution Removable vs Non-Removable Devices
Issue 1: Multi-Transport Device Scenario 1: Device w/ USB and Bluetooth Scenario 2: USB 3.0 Hub USB 3.0 Core USB 2.0 Core Goal: Identify a unique device instance in both scenarios above Details ContainerID provides information to consolidate devices across multiple USB or other transports Specified in Container ID Descriptor in the BOS Descriptor Set 128bit globally unique ID (GUID) per device instance CONFIDENTIAL USB Implementers Forum 2008 25
Issue 2: Compound Devices Goal Compound devices should accurately represent the topology Helps identify how the user perceives a device Details Device Removable field in the Hub Descriptor should be accurate Windows Logo Test to validate accuracy of Device Removable field CONFIDENTIAL USB Implementers Forum 2008 26
Issue 3: Internal Devices Goal Differentiate and identify the internal vs external USB devices Details OEMs are integrating many USB devices internally ACPI information to identify internal vs external devices COMMON OEM NOTEBOOK INTEGRATED USB DEVICE LIST Finger Print Reader Bluetooth Radio Touch Pad Near Field SD Card Reader 3G Module Communication WWAN Optical Drive Web Camera TV Tuner WiMax CONFIDENTIAL USB Implementers Forum 2008 27
Lars Giusti Senior Program Manager 28
Microsoft s Commitment To SuperSpeed USB (USB 3.0) Microsoft has developed driver support for the USB industry standard since its inception and is committed to supporting the latest hardware technologies on the Windows platform Microsoft intends to deliver Windows support for hardware that is compliant with the xhci specification; this is a huge step forward in enabling the industry and our customers to easily connect SuperSpeed USB devices to their PCs for exciting new functionality and usages Extensible Host Controller Interface (xhci) provides a standardized method for USB 3.0 host controllers to communicate with the USB 3.0 Windows driver stack CONFIDENTIAL USB Implementers Forum 2008 29
USB 3.0 Support In Windows We are currently looking at which Operating Systems we want to support this technology Early input from some partners indicates they would like us to consider supporting it on Windows Vista and newer Windows OS We will gather more feedback and identify the list of potential operating system in the near future
USB Call To Action Test your USB devices and drivers on Windows 7 Evaluate new USB test using Windows Logo Kit Version 1.3 Share feedback on your experience with USB on Windows 7 USB 3.0 Share your USB product plans with the USB core team Submit and pass your devices with USB-IF and Windows Logo tests Build your PCs with only USB devices that pass USB-IF and Windows Logo tests Contacts: USB 3.0 Core Team : usb3fb @ microsoft.com USB Storage Team: KiranBan @ microsoft.com Thank you all for making USB the most useful, easy, and reliable connectivity technology ever! CONFIDENTIAL USB Implementers Forum 2008 31
Thank you! CONFIDENTIAL USB Implementers Forum 2008 32
SuperSpeed USB Developers Conference San Jose, California November 17-18, 2008