Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3...
-
Upload
brook-dickerson -
Category
Documents
-
view
219 -
download
0
Transcript of Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3...
www.buildwindows.com
Building great USB 3.0 devices
Jane LawrenceProgram ManagerMicrosoft Corporation
HW-773T
www.buildwindows.com
Agenda
• USB 3.0 overview • Windows 8 guidelines for building and certifying
USB devices
What you will leave with• You are excited about USB 3.0 and new Windows
8 inbox support• You know how to carry forward “Just works”
experience for USB 3.0 hardware
www.buildwindows.com
USB 3.0 is here!
• USB 3.0 is a new generation of device connectivity offering up to 10x the performance and 1/3 the power consumption of USB 2.0 and full Windows 8 inbox support
Song/Pic
256 Flash
USB Flash
SD Movie
USB Flash
HD Movie
4 MB 256 MB 1 GB 6 GB 16 GB 25 GB
USB 1.0 5.3 sec 5.7 min 22 min 2.2 hr 5.9 hr 9.3 hr
USB 2.0 0.1 sec 8.5 sec 33 sec 3.3 min 8.9 min 13.9 min
USB 3.0 0.01 sec
0.8 sec 3.3 sec 20 sec 53.3 sec
70 sec
www.buildwindows.com
How fast is USB 3.0?
Yang YouProgram ManagerWindows USB Team
demo
www.buildwindows.com
USB 3.0 projections
2009 2010 2011 2012 2013 2014 20150.0%
20.0%
40.0%
60.0%
80.0%
100.0%
Worldwide PC Shipments with USB 3.0
In-Stat, May 2011
2009 2010 2011 2012 2013 2014 20150.0
1.0
2.0
3.0
4.0
5.0
6.0
Worldwide USB Device Shipments (in billions)
Low or Full Speed (USB 1.1)
High Speed (USB 2.0)
SuperSpeed (USB 3.0)
Total USB Devices
www.buildwindows.com
USB 3.0 success hinges on compatibility between hardware and
software.
www.buildwindows.com
Hardware development cycle
1. Component
2. Device
3.Driver
4. Certification
Component
www.buildwindows.com
USB implementers forum
• Supports and promotes USB standards• Issues vendor ID to USB manufacturers• Certifies USB hardware through the compliance
program • Over 200 certified products
• Maintains an integrator’s list of certified components
www.buildwindows.com
Should I build my own USB 3.0 components?• Option 1: create your own USB 3.0 components
• Market opportunities beyond your device• Unique feature set directly in silicon • Easier integration with your firmware• Cost, Expertise, Time
OR• Option 2: Use one of the certified USB 3.0 chipsets
• Faster to market• Licensing cost, reduced customizability
www.buildwindows.com
Is USB-IF testing required for Windows Certification?
• Option 1: device can either be fully certified by USB-IF • Full USB IF certification is optional
OR
• Option 2: subset of USB-IF tests (Interop and CV) are passing• Download and run USB-IF tests independently
www.buildwindows.com
When developing USB 3.0 components, use USB-IF to achieve
high-quality interoperable implementation.
Device
www.buildwindows.com
Save battery life by using the lowest USB power
state
Suspend individual functions while the
device is not idle
Place idle links into lower
power states
Power management
Selective suspendFunction suspend Link power
management
www.buildwindows.com
Broader selective suspend support
• Many devices are only actively used intermittently• Suspending devices when idle reduces overall
power consumption• New support in Windows 8
• Mass storage (BOT and UASP)• NDIS/RNDIS
• All class drivers for internally connected devices support Selective Suspend
www.buildwindows.com
Selective Suspend and Link Power Management can significantly
improve PC battery life and power consumption.
www.buildwindows.com
MS OS container ID descriptor
• Identification string generated by USB stack that enables grouping of all functional devices associated with the physical device.
Driver
www.buildwindows.com
Software
USB class drivers
• 16 USB inbox drivers to cover major classes of devices
• 93% of all devices use inbox class drivers in Windows
• Devices that use inbox class drivers will be accessible to all Metro style apps
Kernel Mode
User mode
Device
Device Class Driver
Physical Boundary
USB Stack
www.buildwindows.com
SATA UASP BOT0%
20%
40%
60%
80%
100%
120%
4K Concurrent Transfer Comparison
4K Large Concurrent Reads
USB attached SCSI protocol
• Similar to SATA drives, UASP Storage devices offer faster performance and full USB boot support in Windows 8
www.buildwindows.com
WinUSB class driver
• WinUSB is a generic inbox USB driver to enable access to simple USB devices through a software library
• You can avoid INF File by using MS-OS descriptor in Windows 8
Software
Kernel Mode
User mode
Device
WinUSB.sys
Physical Boundary
WinUSB.dll
USB Stack
www.buildwindows.com
Windows 8 class drivers can meet most USB device needs.
Certification
www.buildwindows.com
Compatibility challenge
Systems
Devices
USB Controllers
BIOS
www.buildwindows.com
Certification guidance
Test devices on USB 2.0 and USB 3.0 controllers
Verify your devices and drivers with Windows 8• Should just work!
Use different configurations (hubs, 2.0 and 3.0 cables)
Incorporate Windows Certification and USB-IF tests
www.buildwindows.com
Windows hardware certification
• Everything you need to certify your hardware for Windows and ensure the best experience for your customers.
Be a show off!You’ve earned it
www.buildwindows.com
Windows USB certification
Pass USB-IF Tests
Be aggressive with Power
Management
Implement MS
Container ID correctly
Support UASP
Ensure Backwards Compatible
www.buildwindows.com
Windows hardware certification ensures hardware quality and
Windows compatibility.
www.buildwindows.com
Call to action
• Utilize USB 3.0 power management and performance features
• Test your hardware with Windows 8 build• Provide feedback and tell us about bugs• Run Windows Hardware Certification tests on devices in various configurations
• Obtain USB-IF and Windows Hardware Certifications • Participate in industry events• Share your USB products plans with us
www.buildwindows.com
USB 3.0 is the bus of the future offering fast performance, better
power consumption and full compatibility with Windows 8.
www.buildwindows.com
For more information
• Understanding USB 3.0 in Windows 8 (HW-256T)
• Running Windows from an external USB drive with Windows To Go (HW-245T)
• Windows Certification: improvements to the logo program (HW-260T)
• Windows 8 kernel debugging: New protocols and certification requirements (HW-98P)
Related sessions• Universal Serial Bus (USB) Dri
vers • Windows Hardware Developm
ent• USB Core Blog
Documentation & articles
www.buildwindows.com
• Feedback and questions http://forums.dev.windows.com
• Session feedbackhttp://bldw.in/SessionFeedback
thank you
© 2011 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.
USB DEVICE CLASS SS SUPPORT
IN XPSS SUPPORT IN
VISTASS SUPPORT IN
WIN7SS Support in
Win8USB HID Class YES YES YES Yes (On in CS)USB Audio Class NO NO YES YesUSB Video Class NO YES YES YesUSB MTP Class NO NO YES YesUSB Smart Card Class NO NO YES YesWPAN: Bluetooth Radio Class NO YES YES YesUSB Scanner Class NO NO YES YesWinUSB NO YES YES YesUSB Biometric Class NO NO YES YesUSBHUB NO YES YES YesUSBCCGP NO YES YES YesUSB Mass Storage Class NO NO NO
Yes (Off by Default)
USB Attached SCSI Class N/A N/A N/A YesUSB Networking/MBB (NDIS/RNDIS) NO NO NO Yes
Inbox Class Drivers that support Select Suspend
www.buildwindows.com
Do I need to provide a Container ID?
• Provide container ID in the Microsoft OS ContainerID Descriptor• If the device supports multiple transports, the device will be represented the
same when it’s connected over different transport • ex. WiFi and USB
• If the device changes PnP IDs, the device will be perceived the same no matter what mode it’s in • ex. Storage device over USB 2.0 -> BOT, over USB 3.0 -> UASP
• Microsoft USB bus driver generates a unique container ID for a device when:• The device is not removable
• ex. A compound device• The device has a valid serial number • The device does not provide the Microsoft OS ContainerID descriptor
CONFIDENTIAL | USB Implementers Forum ©2008 35
www.buildwindows.com
How to implement Container ID
• Container ID must be a GUID, unique for each device
• Use Microsoft OS Descriptor’s ContainerID descriptor
OR• USB3 offers Binary device Object Store descriptor
(BOS)• Use guidgen.exe in WDK and Visual Studio
CONFIDENTIAL | USB Implementers Forum ©2008 36
Windows Requirements
• Performance:• Connect – 0126: USB HC and devices work without a forced HC reset on resume (June 1, 2010)• Connect – 0131: USB 3.0 devices correctly implement Function Suspend and Selective Suspend (Dec 1, 2010)• Connect – 0140: Devices should signal attach within 500ms after system resumes. (June 1, 2011)• Connect – 0142: USB devices should not disconnect from the upstream port while going to or resuming from
selective suspend. (June 1, 2011)
• Compatibility:• Connect – 0120; USB multifunction devices which implement the MS OS Container ID descriptor implement it
correctly. (June 1, 2011)• Connect – 0130: USB 3.0 devices are backwards compatible with down-level controllers and hubs (Dec 1, 2010)• Connect – 0139: All USB devices must enumerate and operate on EHCI and xHCI controllers as well as
downstream of full speed, a high speed and SuperSpeed USB hubs (June 1, 2011)
• User Experience:• Connect – 0123: USB Devices allow alternate driver to load (June 1, 2010)
• Compliance:• Connect – 0135: If the software enables SuperSpeed and then resets the 2.0 port, device should correctly move
over (June 1, 2011)• Connect – 0141: If the upstream SuperSpeed termination is on, devices should always connect on the 3.0 port
and never connect on the 2.0 port (June 1, 2011)• Connect – 0093: USB-IF Tests are passing or device is USB-IF certified (June 1, 2011)
www.buildwindows.com
WLK 1.6Certify your
devices on USB 2.0
WLK 2.0Run preview
tests on USB 3.0
Validate your USB
functionality
Windows Certification