Innovations In Wired And Wireless USB Fred Bhesania Program Manager Windows Device Experience Group Microsoft Corporation Agenda Recent USB Innovations USB Advances in Windows Vista Wireless USB Trends Wireless USB Support on Windows Market Convergence Internet Broadcast Personal Computing Mobile Multimedia Consumer Electronics USB Landscape And Trends Most widely used PC peripheral interface Installed base is over 2 billion units and growing Adoption virtually 100% in most PC and peripheral categories Rapidly penetrating Mobile and CE markets; Also being used for charging Certified Wireless USB adopting the successes of wired USB to keep progress Amendments to spec to allow dual-role devices as well as inter-chip USB Wired USB Attach Rates for Key Peripheral Device Types Number of Wired USB Products Shipped per Year (Millions) 800 700 Over 2 Billion units in the installed base today, growing to 3.5 Billion by 2006 600 Digital Cameras Camcorders External Storage 96% 95% 95+% USB enabled by ‘06 500 400 300 200 100 Source: Cahners In-Stat Group, 2002 USB enabled by ‘06 USB enabled by ‘06 Source: In-Stat/MDR Group, 2004 PCs 2002 2003 Peripherals 2004 2005 2006 Consumer Electronics “USB is the most successful interface in the history of the PC” Source: Brian O’Rourke/Instat-MDR USB Enhancements In Windows USB continues to grow and evolve so what's new in Windows Vista and beyond? WinUSB and WDF Simpler APIs/DDIs in Kernel and now USER; available down level Power Management Updates Selective Suspend update and ability to turn individual ports off Developer Docs Tons of new content on USB in WDK Group Policy for Devices Give IT managers ability to control type of devices that attach to PCs ReadyBoostTM and USB Kernel Debugging Debug system using USB2 debug cable USB Storage enhancements Improved performance, power savings and management features USB Perf Counters Integration of USB counters in PerfMon Wireless USB* Ability to use wired USB software and experiences wirelessly; fast to market More to follow… Ability to boost system performance using USB storage devices * Wireless USB is not in Windows Vista, but is being developed to run on Windows Vista Kernel Mode Driver Foundation (KMDF) Motivation Legend Too many Rules that every WDM driver must implement Behaviors to get right Details to effectively test In the end, not easy to get right IHV or ISV Component Microsoft New Component Application Solution Encapsulate hard problems into one location Provide a solution which has known good behavior U K Driver WDF.SYS Device UMDF making significant strides, when you don’t need to be in Kernel WinUSB Architecture Kernel mode SYS driver handles Complex logging and I/O Power management PnP events, etc. User mode DLL exposes Simpler USER Mode API Incorrect implementation leads to application hang/crash (not PC crash) Solutions like HID are inefficient (need special H/W) IHVs don’t want/need to be experts in complex driver models Due to DDC 2005 feedback, downlevel being considered in late 2006! Legend IHV or ISV Component New Microsoft Components Existing Microsoft Components WinUSB Application . DLL U K WinUSB.SYS Existing USB Stack Device Should IHV use WinUSB or WDF? (See appendix) Power Management Enhancements Power Management is now more reliable in Windows Vista Selective Suspend (SS) – an individual USB port is suspended Old DDI for Selective Suspend still work Selective Suspend is integrated with power management Global Suspend – a USB controller is suspended CPU can drop to C3 once all controllers suspended Remote wake handling Ports can be separately armed for wake on connect/disconnect Device driver IRP_MN_WAIT_WAKE indicate which device generated remote wake signaling We did not stop there Additional support for multi-config devices Faster resume from suspend LOTS of documentation in Windows Vista WDK! USB Performance Counters Windows Vista introduces ways to track USB performance counters Host Controller Counters % Bandwidth used for Isoc, Bulk, Interrupt Control Average latency for ISOC devices PCI Interrupts per second Device Specific Counters Bandwidth per endpoint measured (Mbps) ReadyBoost™ And USB Get the benefits of adding more RAM, now by using USB Mass Storage devices Disk size Read throughput Write throughput Minimal requirement 256 MB free space 2.5 MBps 1.5 Mps Logo requirement Device > 500 MB 5 MBps 3 MBps * These are still raw and subject to change during Windows Vista pre-release validation Device Installation Management Goals Reduce cost of ownership Mitigate against data theft Two deliverables for IT Pro customer “Group Policy for Device Installation” Per machine Can be specified by device setup class and/or HWID “Group Policy for Removable Storage Device Usage” Allow different users on same machine to get different rights USB devices without serial number are second class citizens for such scenarios Windows Vista Changes Impacting IHVs Here are some areas to keep in mind as they may impact IHVs developing USB devices Driver installation changes and enhancements User Account Protection (UAP…used to be LUA) WDK related changes/updates Windows Logo program requirements Certified Wireless USB Jeff Ravencraft President & Chairman USB-IF Technology Strategist Intel Corporation The Future Of Mobility… Access to Anything You want… Delivered to you Easily… When You want it… Reliably… Where You want it And Securely Standards And Regulatory Paths Paved Standards Progress ECMA approval in December 2005 Standards submitted for ISO approval in January 2006 ISO approval expected in Q3 IEEE 802.15.3a PAR closed Regulatory U.S. FCC approved for commercial use – March 2005 Europe and Japan likely to issue rules in June/July timeframe Specifications Certified Wireless USB 1.0 ratified May 2005 Wireless USB Association Model 1.0 ratified March 2006 WiMedia MAC and Phy ratified in 2005 Standards And Ecosystem Support +200 Companies A Big Opportunity Wireless USB Estimates (K units) Number of Wired USB Products Shipped per Year (Millions) 800 150,000 Over 1 Billion units in the installed base today, growing to 3.5 Billion by 2006 Citigroup 100,000 700 600 500 400 300 200 100 In-Stat WR Hambrecht Techno Systems 50,000 SG Cowen 0 Source: Cahners In-Stat Group 2002 PCs 2003 2004 Peripherals 2005 2006 2007 2008 Citigroup 17,000 62,600 142,800 2009 0 In-Stat 13,004 34,505 67,266 140,678 WR Hambrecht 13,900 50,300 126,900 0 Techno Systems 2,700 8,800 30,600 0 SG Cow en 2,700 13,100 56,300 0 2006 Wireless USB Market Estimates Consumer Electronics (K units) (In-Stat, Jan 05) 160,000 Wired USB Attach Rates for Key Device Types Camcorders External Storage 96% USB enabled by ‘06 95% USB enabled by ‘06 Digital Cameras 95+% USB enabled by ‘06 140,000 120,000 CE Devices (w/ WUSB) PC Peripherals (w/ WUSB) PC (w/ WUSB) (incl adapters) 100,000 80,000 60,000 40,000 20,000 “USB is the most successful interface in the history of the PC” –Brian O’Rourke/Instat-MDR Big existing base of USB 0 2004 2005 2006 2007 2008 2009 Big market opportunity for WUSB Certified Wireless USB Technology Overview USB Wire Replacement Technology Matches data rate of USB 2.0 (480 Mbps) Hub-and-spoke connection relationship Connection model is a wire replacement Up to 127 devices Point-to-point connections Between Certified wireless USB host and peripheral Certified wireless USB cluster Wireless USB Host with one or more peripherals (up to 127 addressable devices) Certified Wireless USB clusters may co-exist within an overlapping spatial environment Support for legacy USB host and devices Host scheduled data communications Dual Role Devices Enabling The Market USB 2.0 Certified Wireless USB Host Wire Adaptor: HWA USB 2.0 Certified Wireless USB Device Wire Adapter: DWA Certified Wireless USB Performance Protocol designed from the ground up, optimized for a wireless medium Power management Security and association Operating System support/class driver protocol maintained Data throughput Bandwidth allocation/isochronous support 75% efficient (352 Mbps) in dedicated environment 66% efficient (160 Mbps out of 240 Mbps) in shared environment Certified Wireless USB delivers excellent performance Certified Wireless USB Compliance USB-IF provides one-stop-shopping for WUSB certification Workshops and 3rd party test houses Test specs are released (www.usb.org) First Compliance Workshop in 2H ‘06 Logo from the USB-IF communicates brand promise to OEMs/ODMs, the channel, and the consumer What's Coming In 2006 Certified Wireless USB Developers Conferences San Jose (U.S.): June 19 – 21 at San Jose convention center Taipei (Taiwan): July 24-26, Location TBD Complete Intel Wireless Host Controller Interface (WHCI) specification Industry standard for WHCI The WHCI specification is at Rev 0.91 Public release targeted for Q1 ‘06 USB-IF to hold first Certified Wireless USB compliance and certification workshop First WiMedia compliant Silicon Q2 ‘06 First certified Wireless USB products 2H ’06 WiNet-WUSB Combo Architecture Legend USB Client Driver + Software TCP/IP Stack PC Radio Components WiNet Filter Driver USB Core Stack System Software System Software Hardware WiNet Host Controller Miniport UWB Radio Controller Driver Winet Radio Controller (WinetRCI) UWB Radio Controller (URCI) WUSB Host Controller Miniport Wireless USB Host Controller (WHCI) MAC and Convergence Layer UWB Radio PHY PEER WiNet Device Hardware PEER WUSB Device Hardware UWB PC side Radio Hardware Call To Action 64-bit Ensure that your device and driver work on all 64-bit enabled Windows operating systems 64-bit Windows is huge! Test Existing Devices on Windows Vista Follow the details on www.microsoft.com/whdc to test your device/driver using latest WDK and get WHQL qualification! Test all your drivers with the new Windows Vista USB stack Certified Wireless USB Attend industry trade shows (especially Wireless USB Developers Conference in summer 2006: U.S. plus Asia) Validate Microsoft’s preproduction UWB stack on your prototypes Please send sample devices to Windows Team Visit WUSB Community in Exhibition Hall Additional Resources Web resources Specs: http://www.usb.org/developer Whitepapers: http://www.microsoft.com/WHDC Microsoft UWB Website: http://www.microsoft.com/whdc/system/bus/UWB/default.mspx Communities: www.microsoft.com/communities/products/default.mspx Related sessions “Ultrawide Band Architecture for Windows” – Tues 17:30 “Windows Vista Performance Technologies” – Tues 14:00 “User-Mode Driver Framework: Introduction and Overview” – Wed 15:15 “Using the Device Simulation Framework for Software Simulation of USB Devices” – Wed 16:30 Email address: usbfb @ microsoft.com Appendix Which WDF Model Is Right For You? WinUSB w/out UMDF WinUS with UMDF KMDF User mode User mode Kernel mode Supports expose/sharing device with multiple applications No Yes Yes Supports isolation of driver from application No Yes No Supports USB Bulk, Interrupt and Control Transfers? Yes Yes Yes Supports USB ISOC Transfers? No No Yes Allows kernel mode stacks to be built on top of IHV component? No No Yes Does Microsoft request IHV code be WHQL tested? Yes Yes Yes Common examples of devices USB rain gauge USB <-> serial dongle USB NIC Where does the IHV need to write code? Power Management Enhancements Extra Details Enhanced composite device support Selective suspend now fully supported Limited support for multiple configuration devices EHCI 1.0 support FSTN and i-bit support planned EHCI bios handoff support planned USBBiosX key is gone System suspend states are controller by the controller’s power capabilities Most systems will now use S3 by default Automatic reset of transient over-current errors Selective Suspend Selective suspend An individual USB port is suspended; a device can draw no more than 2.5 MA while suspended Global suspend A USB controller is suspended; this will allow a processor to enter low power states(C3); all ports must be suspended before the controller is suspended On Windows XP this can only happen if all drivers have submitted an IDLE IRP Windows XP Conditions for Selective Suspend Conditions for Global Suspend Windows Vista 1) Driver requests a D2/D3 power IRP 2) Driver sends an IDLE IRP and waits for its callback before powering down to D2/D3 All drivers have sent an IDLE IRP to the bus driver and powered down from their IDLE IRP callback Same as Windows XP All devices are in a low power state Which Selective Suspend Method To Use? Windows XP All drivers should use IDLE IRPs Complicated, see appendix for examples Windows Vista Only composite devices that are enabled for remote wake need to use IDLE IRPs IDLE IRPs are fully supported for all devices IDLE IRPs WDM power request Windows XP Windows Vista 1. Allows Global Suspend 1. Allows Global Suspend 2. Device’s IDLE callback is not invoked until all drivers have submitted an IDLE IRP to the bus driver 2. Device’s IDLE callback is invoked as soon as possible 1. Prevents controller from using global suspend 1. Allows Global Suspend 2. Device’s upstream port is immediately suspended 2. Device’s upstream port is immediately suspended USB Debugging Architecture U U K K KDUSB.dll No Hubs allowed USB2DBG.SYS Hubs allowed USBHUB.SYS Std A DBG Cable USB HUB Std A Host can support multiple targets Debug cable must be connected to a special port on the target machine © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.