Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3...

39
www.buildwindows.com Building great USB 3.0 devices Jane Lawrence Program Manager Microsoft Corporation HW-773T

Transcript of Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3...

Page 1: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

www.buildwindows.com

Building great USB 3.0 devices

Jane LawrenceProgram ManagerMicrosoft Corporation

HW-773T

Page 2: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

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

Page 3: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

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

Page 4: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

www.buildwindows.com

How fast is USB 3.0?

Yang YouProgram ManagerWindows USB Team

demo

Page 5: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

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

Page 6: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

www.buildwindows.com

USB 3.0 success hinges on compatibility between hardware and

software.

Page 7: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

www.buildwindows.com

Hardware development cycle

1. Component

2. Device

3.Driver

4. Certification

Page 8: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

Component

Page 9: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

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

Page 10: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

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

Page 11: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

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

Page 12: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

www.buildwindows.com

When developing USB 3.0 components, use USB-IF to achieve

high-quality interoperable implementation.

Page 13: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

Device

Page 14: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

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

Page 15: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

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

Page 16: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

www.buildwindows.com

Selective Suspend and Link Power Management can significantly

improve PC battery life and power consumption.

Page 17: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

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.

Page 18: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

Driver

Page 19: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

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

Page 20: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

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

Page 21: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

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

Page 22: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

www.buildwindows.com

Windows 8 class drivers can meet most USB device needs.

Page 23: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

Certification

Page 24: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

www.buildwindows.com

Compatibility challenge

Systems

Devices

USB Controllers

BIOS

Page 25: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

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

Page 26: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

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

Page 27: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

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

Page 28: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

www.buildwindows.com

Windows hardware certification ensures hardware quality and

Windows compatibility.

Page 29: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

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

Page 30: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

www.buildwindows.com

USB 3.0 is the bus of the future offering fast performance, better

power consumption and full compatibility with Windows 8.

Page 31: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

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

Page 32: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

www.buildwindows.com

• Feedback and questions http://forums.dev.windows.com

• Session feedbackhttp://bldw.in/SessionFeedback

thank you

Page 33: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

© 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.

Page 34: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

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

Page 35: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

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

Page 36: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

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

Page 37: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

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)

Page 38: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.

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

Page 39: Song/Pic256 Flash USB Flash SD Movie USB Flash HD Movie 4 MB256 MB1 GB6 GB16 GB25 GB USB 1.05.3 sec5.7 min22 min2.2 hr5.9 hr9.3 hr USB 2.00.1 sec8.5.