SuperSpeed USB
Developers Conference
San Jose, California
Windows USB Technical Update &
Design Considerations
Lars Giusti
Senior Program Manager
Microsoft Corporation
Randy Aull
Principal Software Design Engineer
Microsoft Corporation
3
Agenda
Agenda
•
Windows USB Architecture
•
Windows 7 Investments around USB
•
Microsoft’s Commitment To SuperSpeed USB
•
Windows SuperSpeed USB Planning
•
Windows SuperSpeed Impact to 3
rdParty Drivers
•
Windows USB 3.0 Support Considerations By OS
•
Call To Action
•
Thank You!!!
DST Team Mission & USB Core
Group Vision
DST Team Mission & USB Core
Group Vision
CONFIDENTIAL | USB Implementers Forum ©2008
Windows USB Architecture
Windows USB Architecture
USB Hardware Trends Over A Decade
USB Hardware Trends Over A Decade
# Devices
Complexity
1998 2008
Windows 7 Pillars & USB Design
Considerations
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
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
COMMON OEM NOTEBOOK INTEGRATED USB DEVICE LIST
Finger Print Reader Bluetooth Radio Touch Pad SD Card Reader 3G Module
Near Field Communication WWAN Optical Drive Web Camera TV Tuner WiMax
Windows 7 Key USB Investments
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
Continuing To Build On USB
Windows 7 Key Investments
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
Windows 7 USB ETW Events
Windows 7 USB ETW Events
• 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 D e v ic e A D e v ic e B time time 0 0 1 0 20 30 40 50 60 1 0 20 30 40 50 60 Rundown Events suspended suspended active active active Tracing Stops
USB Inbox Class Drivers That
Support Selective Suspend
USB Inbox Class Drivers That
Support Selective Suspend
CONFIDENTIAL | USB Implementers Forum ©2008
11
USB DEVICE CLASS
SS SUPPORT IN
XP
SS SUPPORT INVISTA
SS SUPPORT INWIN7
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
Future Needs for USB
Future Needs for USB
Increasing Bandwidth Needs
Multi-function Devices using
Multiple Transports
Reliability and Stability
Energy Efficiency (Internal Devices)
UFD as primary boot drive
Virtualization Support
Windows SuperSpeed USB (USB
3.0) Planning
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
Microsoft’s Hardware Needs
Microsoft’s Hardware Needs
CONFIDENTIAL | USB Implementers Forum ©2008
14
Host Device
Prototyping XHCI host controller sample «
(for MS to develop XHCI validate tools and software) 1 Prototype analyzer for USB 3.0«
1+ Hub prototype «
2+ Native Device prototypes « 1 UASP devices prototypes «
Development 2 Independent host controller silicon «
(certified by USB-IF)
1 shipping analyzer (retail quality) «
2 Independent hubs prototypes «» 3 Independent devices prototypes «» 2 Independent UASP devices prototypes «
Verification 2 Independent shipping host controllers (unique silicon) » 2 independent certified hubs »
2+ independent certified devices »
USB Mass Storage Platform
Investments
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
Windows 7 Testing & Windows
Logo Kit v1.3
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
CONFIDENTIAL | USB Implementers Forum ©2008
16
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
17
USB 3.0 and Software
Randy Aull
Potential Software Support
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
Features in USB 3.0 Affecting
Function Drivers
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
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
Features in XHCI Affecting Drivers
Features in XHCI Affecting Drivers
•
Power Management
•
Selective Suspend motivation changed
•
Link power management (LPM)
•
Performance
CONFIDENTIAL | USB Implementers Forum ©2008
22
USB Experiences Enhanced
in Windows 7
Container View Of MFP
Container View Of MFP
Device And Printers Folder
Device And Printers Folder
Easier to find and use devices
Easier to find and use devices
Good solution for
Good solution for
Multi
Multi--function devicesfunction devices
Multi
Multi--transport Solutiontransport Solution
Removable
Removable vsvs NonNon--Removable Removable Devices
Issue 1: Multi-Transport Device
Issue 1: Multi-Transport Device
•
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
Scenario 1: Device w/ USB and Bluetooth Scenario 2: USB 3.0 Hub
USB 3.0 Core
USB 2.0 Core
Issue 2: Compound Devices
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
Issue 3: Internal Devices
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
CONFIDENTIAL | USB Implementers Forum ©2008
27
COMMON OEM NOTEBOOK INTEGRATED USB DEVICE LIST
Finger Print Reader Bluetooth Radio Touch Pad SD Card Reader 3G Module
Near Field Communication WWAN Optical Drive Web Camera TV Tuner WiMax
28
Lars Giusti
Microsoft’s Commitment To
SuperSpeed USB (USB 3.0)
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
USB 3.0 Support In Windows
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
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
Thank you!
Thank you!
CONFIDENTIAL | USB Implementers Forum ©2008