PCIe Gen3 물리 계층 분석

개요

PCIe Gen3 물리 계층의 핵심 특성과 동작 메커니즘을 살펴본다.

속도 전환 메커니즘

링크 훈련 초기에는 반드시 Gen1(2.5GT/s) 속도로 시작한다. 훈련 과정에서 양단 장치가 더 높은 속도 지원을 알리면(advertise), 상태 머신은 즉시 Recovery 상태로 전환하여 양측이 공동 지원하는 최고 속도로 협상한다.

세대별 레인 속도는 다음과 같다:

  • Gen1: 2.5Gbps
  • Gen2: 5Gbps
  • Gen3: 8Gbps

단방향 유효 대역폭 계산:

// Gen1 (8b/10b 인코딩)
2500Mbps ÷ 10 × 8 = 2000Mbps = 250MB/s

// Gen2 (동일 인코딩, 속도 2배)
500MB/s

// Gen3 (128b/130b 인코딩)
8000Mbps ÷ 130 × 128 ≈ 7876.9Mbps ≈ 984.6MB/s

Gen3는 Gen2 대비 약 2배의 유효 대역폭을 달성한다.

Gen3 핵심 변화

  1. 인코딩 방식: 8b/10b → 128b/130b 전환
  2. 신호 균형화: 더 정교한 이퀄라이제이션 모델 적용

128b/130b 인코딩 및 블록 구조

블록 단위 전송

Gen3는 심볼(symbol) 단위가 아닌 블록(block) 단위로 데이터를 처리한다. 각 블록은 130비트로 구성된다:

크기설명
Sync Header2비트블록 유형 식별
Payload128비트 (16바이트)실제 데이터

동기 헤더 값에 따른 블록 분류:

  • 10: 데이터 블록 (Data Block)
  • 01: 정렬 집합 (Ordered Set)

직렬 출력 시 LSB 우선이므로, 실제 라인에서 01 패턴으로 관찰된다. 16바이트 페이로드 내부의 8비트 단위를 "심볼"로 부르는데, 이는 8b/10b의 10비트 심볼과 혼동하지 않도록 주의해야 한다.

정렬 집합(Ordered Sets)

모든 레인에서 동시 전송되어야 하며, 대부분 단일 블록(16바이트) 크기를 따른다. 단, SKPOS는 4바이트 단위로 가변 길이(8/12/16/20/24바이트)를 가진다.

Gen3 정의된 7가지 정렬 집합:

집합용도특이사항
SKPOS클록 보정가변 길이, 데이터 패리티 포함
EIOS전기적 유휴 진입-
EIEOS유휴 탈출 + 블록 정렬Gen1/2의 COM 대체
TS1OS훈련 시퀀스 1-
TS2OS훈련 시퀀스 2-
FTSOS빠른 훈련 시퀀스-
SDS데이터 스트림 시작Gen3 신규 추가

SKPOS 상세 구조:

  • 데이터 패리티 비트: 최근 SDS 또는 SOS 이후 전송된 모든 데이터 블록의 스크램블 바이트에 대한 수 패리티
  • 레인별 독립 계산, 수신측 검증 필수
  • 패리티 불일치 시 해당 레인의 Lane Error Status 레지스터 설정 (수신 오류로 간주하지 않으며 재훈련 없음)
  • Error_Status 필드는 Polling.Compliance 상태에서만 유효

블록 정렬 잠금

비트 잠금(Bit Lock) 이후 블록 경계를 식별해야 한다. EIEOS가 이 역할을 수행한다—00FF가 교차하는 독특한 패턴으로 블록 시작점을 명확히 표시한다.

// EIEOS 패턴 예시 (16바이트)
[Sync: 01] [00][FF][00][FF][00][FF][00][FF][00][FF][00][FF][00][FF][00][FF]

데이터 스트림 구조

SDS 정렬 집합 전송으로 L0 상태에서 데이터 스트림이 개시된다. EDS(End Data Stream) 토큰이 나타나기 전까지 연속적인 데이터 블록이 흐른다. SKPOS는 특정 조건 하에서 스트림을 중단하지 않는 예외로 처리된다.

데이터 스트림 종료 조건:

  • EDS 토큰 수신
  • 오류로 인한 조기 종료
  • L0에서 Recovery 등 다른 상태로 전환

프레임 마커(토큰)

SDS와 EDS 사이의 데이터 스트림 내에서 TLP/DLLP를 구분하는 5가지 토큰이 정의된다:

토큰크기기능
STP4 심볼TLP 시작, DWORD 수 필드 추가
SDP2 심볼DLLP 시작
EDB4 심볼TLP 무효화 (Gen1/2 END 토큰 대체)
EDS-데이터 스트림 종료
IDL-유휴 상태 표시

주목할 점: Gen3에서는 "정상 종료"를 나타내는 END 토큰이 사라졌다. EDB가 명시되지 않으면 TLP는 자동으로 유효한 것으로 간주된다.

태그: PCIe Gen3 128b/130b 물리계층 LTSSM

6월 4일 00:18에 게시됨