PCIe Ordered Set이란? 개념 정리

 


1. What is Ordered Set?

Link간의 communication은 Ordered Set을 통하여 이루어집니다. 모든 Ordered Set은 K character(comma, COM라고도 표기)로 시작하고, 전송되는 Ordered Set에 따라서 K or D chracter를 가지고 있을 수 있습니다. Ordered Set은 항상 four byte boundraries로 정렬되며, 아래의 다양한 상황들에서 전송됩니다.

  • Error Recovery, Initiating Events, Exit From Low Power States : TS1 or TS2(Training Sequence) 전송
  • Electrical Idle state에 진입 : Electrical Idle ordered set 전송
  • Link power state를 변경 : Fast Training Sequence(FTS) ordered set 전송
  • 전송할 packet이나 ordered set이 없으면 : 이 상태에서 link는 logically idle이고, receiver의 PLL이 transmitter의 frequency에 locked 되게 하기 위하여, transmitter가 지속적으로 무언가를 보내야됩니다. 이 때, Logical Idle characters는 00h로 이루어져있습니다.
  • Clock Tolerance Compenstation : Mux는 주기적으로 Clock Tolerance Compenstation을 위하여 SKIP ordered set 전송

2. Ordered Set 종류

Type Role
General Ordered Set의 정의는 TLP or DLLP가 아닌 characters series입니다. COM character로 항상 시작하며, Link Training, Clock tolerance compensation, Link Power Change에 사용됩니다.
TS1 and TS2 Ordered Set(TS1OS, TS2OS) Link 초기화 & Training에 사용됩니다. Bit lock & Symbol lock 획득, Link speed 설정 등에 사용됩니다.
FTS Ordered Set(FTSOS) Transmitter는 L0s low-power 상태에서 L0 상태로 가기 위하여 적절한 개수를 보냅니다(최소 개수는 training에 결정).
SKP Ordered Set(SOS) Clock Tolerance Compensation에 사용됩니다.
Electrical Idle Ordered Set(EIOS) low power link state로 들어가고 싶은 Transmitter는 EIOS를 전송합니다.
Electrical Idle Exit Ordered Set(EIEOS) EIEOS는 electrical idle Link state를 나갈 때 사용됩니다.

3. Control Character 리스트

Character Name 8b/10b name Description
COM K28.5 Ordered set의 첫 번째 character로 Symbol lock을 달성하기 위하여 사용
PAD K23.7 Packet filler
STP K27.7 TLP 시작점
SDP K29.7 DLLP 시작점
IDL K28.3 Link가 Electrical Idle 상태로 진입할 때 사용
EIE K28.7 Electrical Idle Exit Ordered Set이 Link를 full power로 가져오기 위하여 사용
SKP K28.0 Clock Tolerance Compensation을 위하여 SKIP ordered set에서 사용
END K30.7 Good Packet의 종료점
EDB K30.7 Bad Packet or ‘nullified’ TLP의 종료점
FTS K28.1 L0s 저전력 상태에서 L0로 exit 할 때 사용

출처

  • PCIe Spec