USB3.0 Discussion

advertisement
USB3.0 Discussion
Revision 1, Draft
Chapter 7 Link Layer
Vincent 2008.11.12
7.2 Link Management and Flow Control
 Packet formats:
 Link Management Packets (LMP)
 Transaction Packets (TP)
 Isochronous Time Stamp Packets (ITP)
 Data Packets (DP)
Anti-error: Header Packet is 20 symbols long
 3 SHP and 1 EPF in the front (HPSTART order set): single-bit error

tolerance.
2 CRC16 (Packet header) in the end

Link control word: 3-bit Header Sequence Number (under protection), 3-bit
Reserved, a 3-bit HUB Depth Index, a Delayed bit (DL), a Deferred bit
(DF), and a 5-bit CRC-5.

Data Packets:
 Data Packet Header (DPH):
 Data Packet Payload (DPP):
Anti-error:
 DPH is 20 Bytes of Framing, Header and Flow
1. 3 SHP and 1 EPF in the front.
1
2.

Data packet is protected by 4 bytes CRC32
3. 3 END and 1 EPF in the end
DPP is 8 symbols long
1. 3 SDP and 1 EPF in the front: DPPEND/DPPABORT ordered set
2. Data Packet is protected by CRC-32
3. 2 L control word in the end

Link Command: It is used for link level data integrity, flow control and link
power management.
Anti-error:
 Link command is eight symbols long and contains repeated symbols to
increase the error tolerance.




LGOOD_n: It contains the Header Sequence Number to guarantee the
consecutive transfer, which is protected by CRC5 and CRC16.
LBAD: Invalid packet length or CRC notice, which is protected by CRC5
and CRC16. Upon receipt of LBAD, a port shall send a single LRTY before
retransmitting all the header packets in the Tx Header Buffers that have not
been acknowledged with LGOOD_n. If it is fail, goto Recovery.
LCRD_x: Rx Header Buffer Credit Index, which should be sent in the order
of A, B, C, D and back to A. If it is fail, goto Recovery.
The link initialization guarantee that the Header Sequence Number
Advertisement and the Rx Header Buffer Credit Advertisement should be
equal.
2

Timer
 PENDING_HP_TIMER: The purpose of this time limit is to allow a port to
detect if the header packet acknowledgement sent by its link partner is lost



or corrupted.
CREDIT_HP_TIMER: The purpose of this timer is to make sure that a
Remote Rx Header Buffer Credit is returned within a reasonable time limit.
PM_LC_TIMER: It is designed to ensure a prompt entry to a low power
link state.
PM_ENTRY_TIMER: It is designed to ensure that both ports across the
link are in the same PM state regardless if the LAU or LPMA is lost or
corrupted.
3

Ux_EXIT_TIMER: It is specified to ensure that the duration of U1 or U2
exit is bounded and the latency of a header packet transmission is no
compromised.

Link Power Management: LGO_U1, LGO_U2 and LGO_U3.

Logical Idle: A special D-Symbol (00h) is defined for Idle Symbol (IS), which
should be expressed as “100111 0100” and “011000 1011” for RD- and RD+,
respectively after the 8b/10b encoding.
4
7.3 Link Error Rules/Recovery


The SuperSpeed timing budget is based on a link’s statistical random bit error
probability less that 10-12. Packet framings and link commands are tolerant to one
symbol error.
When symbol errors occur on the link, the integrity of a packet or a link
command can be compromised. Therefore, not only a packet or a link command
needs to be constructed to increase the error tolerance, but the link data integrity
handling also needs to be specified such that any errors that will invalidate or
corrupt a packet or a link command can be detected and a link error can be
recovered.
Anti-Error:
 Several types of header packet errors are detected.




Missing of a header packet.
Invalid header packet due to CRC errors.
Mismatch of a Rx Header Sequence Number.
Packet Framing Error: A packet framing ordered set is constructed such that any
single K-symbol corruption within the ordered set will not prevent its packet
framing recognition.
Anti-Error:
 At least three of the four K-symbols in the four consecutive symbol periods are
valid packet framing K-symbol periods are valid packet Framing K-symbols.
 The four symbols are in the order defined.
 If an HPSTART ordered set has two or more K-symbols corrupted, a header
packet will not be detectable and, therefore, result in missing of a header packet.

Header Packet Error:



CRC-5 or CRC-16
A port receiving the header packet shall send an LBAD if it detects a header
packet error.
Rx Header Sequence Number Error/ ACK Tx Header Sequence Number Error/
Header Sequence Number Advertisement Error: the Header Sequence Number
embedded in the header packet with the Rx Header Sequence Number stored in
its receiver.
5

Link Command Errors: any single-bit error in the two scrambled link command
words will not corrupt the correct paring of a link command.
Anti-Error:
 Missing LGOOD_n is declared when two consecutive LGOOD_n received are
not in numerical order.
 Missing LGOOD_n, LBAD or LRTY can also be inferred upon
PENDING_HP_TIMER timeout.
 Missing LCRD_x is delared when two consecutive LCRD_x received are not in
alphabetical order, or upon CREDIT_HP_TIMER times out and LCRD_x is not
received.
.

Training Sequence Error: TS1 and TS2 ordered sets are used in Polling.Active,
Polling.Configuration, Recovery.Active, and Recovery.Configuration substates
for the expection until the requirements are met to the next state.

8b/10b Errors:
 Disparity error: the running disparity of a received 8b/10 symbols is not +2,
or 0, or -2.
 Decode error: an unrecognized 8b/10b symbol is received.
Anti-Error:
6
7
7.5 Link Training and Status State Machine (LTSSM)

LTSSM is defined for link connectivity and the link power management: It
consists of 12 different link states
8

SS.Inactive: It is a link error state where a link is in a non-operable state and
software intervention.
9

Rx.Detect: It represents the initial power-on link state where a power is
attempting to determine if its SuperSpeed link partner is present.

Hot Reset: It is defined to allow a downstream port to reset its upstream port.
10

Polling: It is a link state that is defined for the two link partners to have their
SuperSpeed transmitters and receivers trained, synchronized, and ready for
packet transfer.

U1: It is low-power link state where no packet transfer is carried out and the
SuperSpeed link connectivity can be disabled to allow opportunities for saving
the link power.
11

U2: Compared with U1, U2 allows for further power saving opportunities with a
penalty of increased exit latency.

U3: It is a link suspend state where aggressive power saving opportunities are
possible..
12

Recovery: It is defined for retraining the link when the two link partners exit
from a low power link state, or when a link partner has detected that the link is
not operating in U0 properly and the link needs to be retrained, or when a link
partner decides to change the mode of link operation.
13

Loopback: It is introduced for bit error test and fault isolation. A 2-ms timer
shall be started, LFPS transmitter/receiver shall be enabled.
 Loopback master: It is the port requesting loopback. The loopback bit
should asserted in TS2 ordered sets.
 On loopback.Active, the data should be sent under 8b/10b coding with
SKPs.
 Loopback slave: It is the port that retransmits the symbols received from the
loopback master. Furthermore, it should check the incoming data for the
loopback data pattern.
 On loopback.Active, the loopback slave is either looping back the data
or detecting/executing the commands it received from the loopback

master.
The loopback slave should disable or bypass its own 8b/10
encoder/decoder and scrambler/descrambler.
14
Download