1. 기본 개념
PCIe에서 전송되는 모든 Transaction Layer Packet(TLP)은 순서(Ordering) 규칙을 따릅니다.
즉, 패킷이 도착하는 순서가 시스템 동작에 영향을 미치므로, 어떤 경우에는 엄격한 순서 유지(Strict Ordering) 가 필요하고, 어떤 경우에는 순서를 완화(Relaxed Ordering, RO) 해도 무방합니다.
- Strict Ordering (RO=0): 전송된 순서 그대로 도착·처리되어야 함
- Relaxed Ordering (RO=1): 특정 조건에서 순서를 바꿔도 무방함 → 성능 최적화 가능
2. Relaxed Ordering이 필요한 이유
- PCIe는 고성능 인터커넥트이므로, 무조건 순서를 지키면 병목이 발생할 수 있습니다.
- 특히 메모리 읽기/쓰기 요청에서 독립적인 트랜잭션 간에는 순서를 유지할 필요가 없음 → 허용하면 성능 개선.
- 예: SSD에서 호스트로 데이터를 보낼 때, 서로 다른 주소 공간에 대한 요청이라면 굳이 순서를 지킬 필요가 없음.
3. PCIe Ordering Rules 요약 (Spec Table 2-40 기반)


- Posted Request: 주로 Memory Write, Request에 대한 Completion 불필요
- Non-Posted Request: Memory Read 같은 요청, Request에 대한 Completion 필요
- Completion: Non-Posted 요청에 대한 응답
표 해석의 핵심:
- Strict에서는 Read/Write 순서가 반드시 보장되어야 함.
- Relaxed에서는 서로 다른 주소, 독립적인 요청은 순서 무시 가능.
표 해석(표 읽는 법):
(1) 행(Row)과 열(Column)의 의미
▪︎ Row (From / Producer)
→ "앞서 전송된 TLP(패킷)의 유형"
즉, 이미 발행된 트랜잭션이 어떤 종류인가를 나타냄.
Posted Request (주로 Memory Write)
Non-Posted Request (주로 Memory Read)
Non-Posted w/ Data (I/O Write 등)
Completion (응답 TLP)
▪︎ Column (To / Follower)
→ "그 다음 전송될 TLP(패킷)의 유형"
즉, 뒤이어 나오는 트랜잭션이 어떤 종류인가를 나타냄.
(2) 표 안의 셀 값의 의미
각 셀에는 "순서 유지 여부"가 기록되어 있음.
Strict Ordering = Yes (또는 Y)
→ 앞서 보낸 Row 트랜잭션이 완료되기 전에는 Column에 해당하는 트랜잭션을 발행할 수 없음.
→ 반드시 순서 지켜야 한다.
Strict Ordering = No (또는 N)
→ Row 트랜잭션보다 Column 트랜잭션이 먼저 처리되어도 무방.
Relaxed Ordering = Y/N
→ RO 비트가 세트된 경우에만 순서 완화 가능.
→ 조건부 허용.
(3) 해석 예시
예시 1:
Row = Posted Request,
Column = Non-Posted Read Request
표에서 Strict는 Yes
즉, "Memory Write 이후에는 반드시 Memory Read 요청이 순서대로 가야 한다."
하지만 Relaxed Ordering(RO=1)이면 → 순서를 무시할 수 있음.
예시 2:
Row = Posted Request,
Column = Posted Request
Strict는 "No"
즉, 두 개의 Memory Write는 순서 지킬 필요 없음 (어차피 같은 Posted Request).
예시 3: Row = Completion, Column = Posted Request
Strict는 "Y/N" (조건부)
즉, 어떤 상황에서는 Completion이 먼저 처리되어야 하지만, 경우에 따라 Posted가 먼저 처리돼도 됨.
이는 주소/트랜잭션 독립성 여부에 따라 다름.
정리하자면:
Row = 먼저 발행된 TLP 종류
Column = 나중에 발행될 TLP 종류
셀 값 = 두 트랜잭션의 순서가 강제되는지 여부
4. SSD 관점에서 해석
SSD 컨트롤러 입장에서 이 표는 호스트가 보낸 IO 순서를 반드시 지켜야 하는지, 아니면 바꿔도 되는지를 알려줌.
예:
Read-After-Write 상황: 반드시 순서 유지 필요 → 데이터 일관성 보장
서로 다른 주소에 대한 Write와 Read: Relaxed Ordering 허용 → 더 빠른 처리 가능
요약
- PCIe는 기본적으로 Ordering Rule을 통해 전송 순서를 정의.
- Relaxed Ordering(RO) 비트로 순서 제약을 풀 수 있어 성능 향상 가능.
'Tech' 카테고리의 다른 글
엔비디아 암페어 vs 호퍼 차이, 블랙웰·GB까지 한눈에 정리 (0) | 2025.08.18 |
---|---|
Spark급 AI 워크스테이션, 어떤 하드웨어가 있을까? 사양·가격 비교 (4) | 2025.08.16 |
엔비디아 DGX Spark 하드웨어 분석 — 가격, 사양, 활용 정리 (1) | 2025.08.16 |
[논문 리뷰] On-Device Training Under 256KB Memory — Tiny Training, 256KB 메모리로 AI 학습 (2) | 2025.08.09 |
AMD GPU 라인업 조사 정리 — MI100 부터 MI300X 까지, 그리고 MI308 (2) | 2025.08.08 |