may 16, 20001. 2 high speed protocol additions john garney usb2.0 hub working group chair intel...

17
May 16, 2000 1

Upload: jodie-mosley

Post on 29-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: May 16, 20001. 2 High Speed Protocol Additions John Garney USB2.0 Hub Working Group Chair Intel Corporation John Garney USB2.0 Hub Working Group Chair

May 16, 2000 1

Page 2: May 16, 20001. 2 High Speed Protocol Additions John Garney USB2.0 Hub Working Group Chair Intel Corporation John Garney USB2.0 Hub Working Group Chair

May 16, 2000 2

High SpeedProtocol Additions

High SpeedProtocol Additions

John GarneyJohn GarneyUSB2.0 Hub Working Group ChairUSB2.0 Hub Working Group Chair

Intel Corporation Intel Corporation

John GarneyJohn GarneyUSB2.0 Hub Working Group ChairUSB2.0 Hub Working Group Chair

Intel Corporation Intel Corporation

Page 3: May 16, 20001. 2 High Speed Protocol Additions John Garney USB2.0 Hub Working Group Chair Intel Corporation John Garney USB2.0 Hub Working Group Chair

May 16, 2000 3

HS Protocol AdditionsHS Protocol Additions

High Speed Ping Flow ControlHigh Speed Ping Flow Control Split TransactionsSplit Transactions

Additions to Chapter 8Additions to Chapter 8

Page 4: May 16, 20001. 2 High Speed Protocol Additions John Garney USB2.0 Hub Working Group Chair Intel Corporation John Garney USB2.0 Hub Working Group Chair

May 16, 2000 4

HS PING Flow Control (HS OUT Endpoints only)HS PING Flow Control (HS OUT Endpoints only)– Required for all bulk/control HS OUT transactionsRequired for all bulk/control HS OUT transactions– No PING for control SETUP transactionsNo PING for control SETUP transactions

Issue: Devices That NAK OutsIssue: Devices That NAK Outs– NAK is provided for bus-level flow controlNAK is provided for bus-level flow control– USB1.0 idea was NAK would occur ‘hardly ever’USB1.0 idea was NAK would occur ‘hardly ever’

Reality is that many applications use/need frequentlyReality is that many applications use/need frequently

– Frequently NAKing OUTs decrease throughputFrequently NAKing OUTs decrease throughput Bulk (async) traffic is scheduled round-robin (more or less)Bulk (async) traffic is scheduled round-robin (more or less) NAKing Out can easily reduce throughput by more than 50%NAKing Out can easily reduce throughput by more than 50%

New PIDs for PINGNew PIDs for PING– PING token: “Are you ready?”PING token: “Are you ready?”– NYET handshake: Accept data, I’m now full (“Not Yet”)NYET handshake: Accept data, I’m now full (“Not Yet”)

High Speed PINGFlow ControlHigh Speed PINGFlow Control

Page 5: May 16, 20001. 2 High Speed Protocol Additions John Garney USB2.0 Hub Working Group Chair Intel Corporation John Garney USB2.0 Hub Working Group Chair

May 16, 2000 5

Host Pipe Initial ConditionHost Pipe Initial Conditionis “PING”is “PING”

PING (No data phase)PING (No data phase)– NAK response indicates noNAK response indicates no

room for dataroom for data– ACK response indicates roomACK response indicates room

for at least one MaxPacketfor at least one MaxPacket OUT with Data0/1OUT with Data0/1

– ACK allows next OUT transactionACK allows next OUT transaction– NAK says data not accepted, returnNAK says data not accepted, return

to PING stateto PING state Not normal caseNot normal case

– NYET says data accepted, no more room, go to PING stateNYET says data accepted, no more room, go to PING state Same scheduling for PING/OUT as normalSame scheduling for PING/OUT as normal

– ““Next opportunity”Next opportunity”

PING - Host State MachinePING - Host State Machine

PingPing PID PID

Data 0/1Data 0/1 PID PID

NAKNAK

ACKACK

ACK,ACK,Advance to NextAdvance to NextTransactionTransactionNAKNAK

NYETNYET

OUTOUT PID PID

Page 6: May 16, 20001. 2 High Speed Protocol Additions John Garney USB2.0 Hub Working Group Chair Intel Corporation John Garney USB2.0 Hub Working Group Chair

May 16, 2000 6

OUT/DATAxOUT/DATAx

NAKNAK

SpaceSpaceAvailableAvailable

AcceptAcceptDataData NYETNYET

ACKACK

PINGPING

SpaceSpaceAvailableAvailable

Space NotSpace NotAvailableAvailable

OUT/DATAxOUT/DATAxor PINGor PING

SpaceSpaceAvailableAvailable

SpaceSpaceNotNot

AvailableAvailable

PING - Device State MachinePING - Device State Machine

ACK if have spaceACK if have space NYET if had space, but now don’tNYET if had space, but now don’t NAK if no spaceNAK if no space

Page 7: May 16, 20001. 2 High Speed Protocol Additions John Garney USB2.0 Hub Working Group Chair Intel Corporation John Garney USB2.0 Hub Working Group Chair

May 16, 2000 7

Split TransactionsSplit Transactions

Defined only for Host Controller & Hub @ HSDefined only for Host Controller & Hub @ HS– Enables isolation of full/low speed signalingEnables isolation of full/low speed signaling– Improves overall bus throughput and utilizationImproves overall bus throughput and utilization

Start-SplitStart-Split– Host tells Hub to initiate full/low speed transactionHost tells Hub to initiate full/low speed transaction

Complete-SplitComplete-Split– Host asks Hub for results of previous full/lowHost asks Hub for results of previous full/low

speed transactionspeed transaction SPLIT Tokens defined for Start/CompleteSPLIT Tokens defined for Start/Complete New PIDs and transaction state machines New PIDs and transaction state machines

Page 8: May 16, 20001. 2 High Speed Protocol Additions John Garney USB2.0 Hub Working Group Chair Intel Corporation John Garney USB2.0 Hub Working Group Chair

May 16, 2000 8

Still three (or less) phase transactionsStill three (or less) phase transactions– Token phase has 2 packets: SPLIT special token & regular tokenToken phase has 2 packets: SPLIT special token & regular token

– Start-OUT:Start-OUT: SPLIT(start)_token + token, data { ,handshake}SPLIT(start)_token + token, data { ,handshake}– Start-IN:Start-IN: SPLIT(start)_token + token { ,handshake}SPLIT(start)_token + token { ,handshake}

Start-SplitStart-Split

SPLITSPLITStartStart

ClassicClassicTokenToken DATAxDATAx HandshakeHandshake

Token PhaseToken Phase

Split TransactionExtended TokensSplit TransactionExtended Tokens

– Complete-OUT: SPLIT(complete)_token + token, handshake – Complete-IN: SPLIT(complete)_token + token, {data, } handshake

Complete-SplitComplete-Split

SPLITSPLITCompleteComplete

ClassicClassicTokenToken

Token PhaseToken Phase

DATAxDATAx HandshakeHandshake

Page 9: May 16, 20001. 2 High Speed Protocol Additions John Garney USB2.0 Hub Working Group Chair Intel Corporation John Garney USB2.0 Hub Working Group Chair

May 16, 2000 9

HostHostHostHost DeviceDeviceHubHubHubHub

ClassicClassicBusBusHigh SpeedHigh Speed

BusBus

Example SplitTransaction (IN)Example SplitTransaction (IN)

11StartStartSplitSplit

SPLIT-sSPLIT-sSPLIT-sSPLIT-s

IN TokenIN TokenIN TokenIN Token

33CompleteComplete

SplitSplit

SPLIT-cSPLIT-cSPLIT-cSPLIT-c

Data0Data0Data0Data0

IN TokenIN TokenIN TokenIN Token

22ClassicClassic

IN TokenIN TokenIN TokenIN Token

Data0Data0Data0Data0

ACKACKACKACK

Page 10: May 16, 20001. 2 High Speed Protocol Additions John Garney USB2.0 Hub Working Group Chair Intel Corporation John Garney USB2.0 Hub Working Group Chair

May 16, 2000 10

HostHostHostHost DeviceDeviceDeviceDeviceHubHubHubHub

ClassicClassicBusBusHigh SpeedHigh Speed

BusBus

Example SplitTransaction (OUT)Example SplitTransaction (OUT)

11StartStartSplitSplit

SPLIT-sSPLIT-sSPLIT-sSPLIT-s

OUT TokenOUT TokenOUT TokenOUT Token

Data0Data0Data0Data0

22ClassicClassic

OUT TokenOUT TokenOUT TokenOUT Token

Data0Data0Data0Data0

ACKACKACKACK33

CompleteCompleteSplitSplit OUT TokenOUT TokenOUT TokenOUT Token

SPLIT-cSPLIT-cSPLIT-cSPLIT-c

ACKACKACKACK

Page 11: May 16, 20001. 2 High Speed Protocol Additions John Garney USB2.0 Hub Working Group Chair Intel Corporation John Garney USB2.0 Hub Working Group Chair

May 16, 2000 11

Classic BULK OUTClassic BULK OUT

High Speed BusHigh Speed BusuSOFuSOF uSOFuSOF uSOFuSOF

SOFSOF

SS = Start SplitSS = Start Split

125us125usCSCSSSSS CSCSSSSS CSCSSSSS CSCSSSSS

CS = Complete SplitCS = Complete SplitFull Speed BusFull Speed Bus

Page 12: May 16, 20001. 2 High Speed Protocol Additions John Garney USB2.0 Hub Working Group Chair Intel Corporation John Garney USB2.0 Hub Working Group Chair

May 16, 2000 12

uSOFuSOF uSOFuSOF uSOFuSOF

SOFSOF

SS = Start SplitSS = Start Split

125us125us

CS = Complete Split

CSCSSSSS CSCSSSSS CSCSSSSS CSCSSSSS

Full Speed BusFull Speed Bus

High Speed BusHigh Speed Bus

Classic BULK INClassic BULK IN

Page 13: May 16, 20001. 2 High Speed Protocol Additions John Garney USB2.0 Hub Working Group Chair Intel Corporation John Garney USB2.0 Hub Working Group Chair

May 16, 2000 13

Classic ISOCH OUTClassic ISOCH OUT

Full Speed BusFull Speed Bus

uSOFuSOF

1ms1ms

uSOFuSOF uSOFuSOF uSOFuSOF uSOFuSOF uSOFuSOF uSOFuSOF uSOFuSOF uSOFuSOF

SOFSOF SOFSOF

SSSSSSSS SSSS SSSS

SS = Start SplitSS = Start Split

125us125us

High Speed BusHigh Speed Bus

Page 14: May 16, 20001. 2 High Speed Protocol Additions John Garney USB2.0 Hub Working Group Chair Intel Corporation John Garney USB2.0 Hub Working Group Chair

May 16, 2000 14

Classic ISOCH INClassic ISOCH IN

uSOFuSOF

1ms1ms

uSOFuSOF uSOFuSOF uSOFuSOF uSOFuSOF uSOFuSOF uSOFuSOF uSOFuSOF uSOFuSOF

SOFSOF SOFSOF

SSSS

SS = Start SplitSS = Start Split

CSCS CSCS CSCS CSCS

125us125us

CS = Complete SplitCS = Complete Split

High Speed BusHigh Speed Bus

Full Speed BusFull Speed Bus

Page 15: May 16, 20001. 2 High Speed Protocol Additions John Garney USB2.0 Hub Working Group Chair Intel Corporation John Garney USB2.0 Hub Working Group Chair

May 16, 2000 15

Example Split Transaction Bus TracesExample Split Transaction Bus Traces

PINGPING Simple SplitSimple Split

Page 16: May 16, 20001. 2 High Speed Protocol Additions John Garney USB2.0 Hub Working Group Chair Intel Corporation John Garney USB2.0 Hub Working Group Chair

May 16, 2000 16

High Speed ProtocolAdditions SummaryHigh Speed ProtocolAdditions Summary

Required Bulk/Control PING Flow ControlRequired Bulk/Control PING Flow Control– Delivers better bus utilizationDelivers better bus utilization

Split-TransactionsSplit-Transactions– Only affect HC and Hub; not devicesOnly affect HC and Hub; not devices– Allows High Speed transactions to run independentlyAllows High Speed transactions to run independently

of Full/Low-Speed transactions in a systemof Full/Low-Speed transactions in a system

Page 17: May 16, 20001. 2 High Speed Protocol Additions John Garney USB2.0 Hub Working Group Chair Intel Corporation John Garney USB2.0 Hub Working Group Chair