기술 블로그 | Granite River Labs | Korea

PCIe® Electrical, Link 및 Protocol 설계 및 테스트 이해하기

Written by GRL Team | Jun 12, 2024 5:50:03 AM

PCI-SIG®에서 개발한 PCI Express®(PCIe®)는 고속 직렬 컴퓨터 확장 버스 표준으로 데이터 센터, AI/머신 러닝, HPC, 자동차, IoT, 군사/항공우주 등 데이터 집약적인 애플리케이션에서 사용되고 있습니다. 2019년과 2022년에 각각 PCIe 5.06.0이 출시된 이후 PCIe는 최신 마더보드와 SSD에서 더욱 보편화되었습니다. 하지만 모든 PCIe 설계가 똑같이 만들어지는 것은 아니므로, 오늘 설계 및 테스트 프로세스를 최적화하는 데 도움이 되는 주요 고려 사항과 방법론을 살펴보겠습니다.

PCIe 표준에 대한 간략한 개요

PCIe 1.0은 2003년에 2.5 GT/s로 처음 소개되었습니다. 이에 비해 2025년에 출시될 예정인 PCIe 7.0은 128 GT/s라는 놀라운 속도를 자랑하며, PCI-SIG가 데이터 전송 속도의 한계를 뛰어넘는 놀라운 진전을 이뤄냈습니다. PCIe 2.0과 3.0 사이의 8b/10b에서 128/132 인코딩으로의 전환, PCIe 6.0의 PAM4(펄스 진폭 변조 4) 채택과 같은 혁신 덕분에 PCI-SIG는 매 세대 출시마다 평균 3년의 간격을 두고 데이터 속도를 두 배로 끌어올릴 수 있었습니다.

Figure 1: Evolution of PCIe technology

지난 세 차례의 PCIe(4.0, 5.0, 6.0)의 반복 

지난 세 번의 PCIe 반복에 따른 주요 차이점을 비교해보면, PCIe 4.0과 5.0 사이에는 나이퀴스트 주파수가 두 배로 증가한 반면 PCIe 6.0에서는 변하지 않았다는 것을 알 수 있습니다. 그러나 다른 변조 방식을 채택함으로써 PCIe 6.0에서는 데이터 전송률이 두 배로 증가했습니다. 삽입 손실 채널도 PCIe 4.0에서 5.0 사이에는 증가한 반면 PCIe 6.0에서는 감소하여 두 배의 데이터 속도에 대한 유익한 절충안으로 여겨졌습니다.

레퍼런스 CTLE 및 DFE도 모든 반복에서 증가하여 더 높은 삽입 손실 또는 노이즈 수준을 수용하는 것으로 나타났습니다. 또한 최소 범위 대역폭 요구 사항도 증가했습니다. PCIe 4.0에서 수신기 아이 캘리브레이션 및 테스트에는 최소 25GHz의 스코프 대역폭만 필요합니다. 이 임계값은 PCIe 5.0의 송신기 및 수신기 테스트의 경우 33GHz까지 올라가지만, 동일한 표준에 대한 수신기 보정 및 링크 EQ 설정에는 50GHz가 필요합니다. PCIe 6.0의 경우, 캘리브레이션과 테스트 모두에 50GHz가 필수입니다.

3가지 PCIe 레이어에 대한 이해

Figure 2: PCIe layers

먼저 PCIe의 세 가지 핵심 하드웨어 계층의 역할을 이해해 보겠습니다:

  • Transaction Layer (TL): 스택의 맨 위에는 트랜잭션 흐름 제어 메커니즘을 구현하고 링크를 통한 데이터 패킷 전송을 관리하여 데이터 전송 및 수신을 조율하는 TL이 있습니다.
  • Data Link Layer (DLL): 중간에 있는 DLL은 최상위 TL과 최하위 물리 계층(PHY) 사이의 중개자 역할을 합니다. DLL은 데이터 프레임워크, 오류 감지, 흐름 제어를 관리하고 엔드포인트 간의 통신을 원활하게 합니다.
  • Physical Layer (PHY): 이 하위 계층은 데이터 교환을 용이하게 하는 차동 쌍 및 클록 분배 메커니즘과 같은 요소로 구성됩니다. 신호 전송 및 수신을 포함하여 PCIe 링크의 전기적 특성을 관리합니다

TL, DLL, PHY의 세 가지 핵심 레이어 위에는 드라이버와 구성 작업을 담당하는 소프트웨어 및 운영 체제 레이어가 있습니다. 소프트웨어 및 운영 체제 계층은 PCIe 장치의 전반적인 기능도 담당하지만, PCIe 하드웨어 계층과는 별개의 것으로 간주되며 일반적으로 PCIe 프로토콜 자체보다는 소프트웨어 아키텍처 및 장치 관리의 맥락에서 논의됩니다.

PCIe Physical Layer

Figure 3: PCIe physical layer

PHY 계층에서 단일 PCIe 링크는 두 지점 간 연결 사이의 두 개의 고유한 연결 차동 쌍으로 구성되어 임베디드 클록을 통한 동기화를 지원합니다. 이 아키텍처는 SRIS 및 SRNS 클록킹 체계를 지원하여 강력한 통신을 촉진합니다. 또한 PCIe는 x1, x2, x4, x8, x12, x16, x32 등 다양한 레인 폭을 지원하므로 다양한 상호 연결 요건을 충족할 수 있습니다.

Figure 4: Parameters for PCIe 4.0, 5.0, 6.0

PCIe Base vs CEM specifications

PCIe의 두 가지 주요 사양은 Base와 CEM입니다. 두 사양은 테스트 포인트 정의, 방법론, 형식적인 정도에서 큰 차이가 있습니다.

  • Base specification: 아키텍처, 프로토콜, 링크 계층, 물리 계층 및 소프트웨어 인터페이스에 대한 기술적 세부 사항을 포함하는 칩 수준에서 전기적 적합성을 정의합니다. 공식적인 규정 준수 프로그램이나 테스트 장비는 없습니다.
  • CEM (Card Electromechanical) specification: 완성된 제품, 즉 구성 요소(엔드 포인트, 브리지/스위치, 루트 컴플렉스), 애드인 카드 또는 시스템(일명 “호스트”)에 대한 기계적 요구 사항 및 전기적 규정 준수를 정의합니다. 테스트 픽스처와 테스트 도구는 PCI-SIG에서 잘 정의하고 제공합니다. 테스트 및 규정 준수는 CTS(컴플라이언스 테스트 사양)의 적용을 받습니다.

기본 사양을 따를지 CEM 사양을 따를지는 제품의 특성과 고객 기반에 따라 다릅니다. 칩 제조업체는 주로 실리콘 수준의 테스트 및 검증에 중점을 두고 기본 사양을 준수합니다. 최종 제품 제조업체는 PCIe 커넥터 표준 준수를 보장하는 CEM 사양을 따릅니다. 이 문서에서는 다루지 않는 기본 및 CEM 사양 이외의 폼 팩터에 사용할 수 있는 하위 사양도 있습니다.

PCIe 컴플라이언스 프로그램

PCIe 컴플라이언스 프로그램은 PCIe 제품의 인증을 감독하고 엄격한 PCI-SIG 표준을 충족하는지 확인합니다. 제품은 인증을 받기 위해 PCI-SIG 워크샵 또는 공인 테스트 랩에서 테스트를 거쳐야 하며, 모든 골드 스위트 테스트를 성공적으로 통과하고 상호 운용성 테스트에서 80%의 합격률을 달성하면 PCI-SIG 통합자 목록에 추가됩니다. 

현재 규정 준수 프로그램은 PCIe 4.0 및 5.0 제품에만 적용되며, 공식 통합자 목록 인증 테스트에는 CEM 폼 팩터만 지원됩니다. 다른 폼 팩터를 테스트하려는 경우, 테스트 중에 CEM으로 변환할 수 있는 적절한 어댑터를 지참해야 합니다.

다양한 제품 유형에 필요한 테스트는 다음과 같습니다:

Figure 5: Tests required for different product types

PCIe CEM 사양을 위한 transmitter 테스트 개요

PCIe 송신기 테스트는 다양한 데이터 속도에서 신호 무결성과 품질을 검증하는 데 중점을 둡니다.

테스트할 레인은 시스템 구성에 따라 다릅니다. 8, 16, 32 GT/s에 대한 모든 송신기 사전 설정은 PCIe 링크의 통신 및 구성에 사용되는 기본 레인인 0번 레인에서 테스트해야 합니다. 신호 품질 및 지터 테스트도 레인 0에서 수행되며, 적격 프리셋 하나를 사용하여 인접 레인(N-1)이 있는 경우 해당 레인에서도 수행됩니다. x4보다 큰 구성에서는 레인 0, N-1 및 N/2-1을 테스트해야 합니다. 적격 프리셋은 테스트 중에 관련된 모든 차선에 대해 송신기가 일관되게 구성되도록 보장하므로 차선 간 신호 품질을 정확하게 비교하고 평가할 수 있습니다.

예를 들어,

  • x1 구성의 경우, 테스트는 레인 0에서 수행됩니다.
  • x2 구성의 경우, 테스트는 0번 및 1번 레인에서 수행됩니다.
  • x4 구성의 경우, 테스트는 0번 및 3번 차선에서 수행됩니다.
  • x16 구성의 경우, 테스트는 0, 15, 7번 레인에서 수행됩니다.

RefCLK는 32 GT/s 시스템에 대해서만 개별 테스트를 거칩니다. 모든 낮은 데이터 전송률의 경우, 송신기 신호 품질을 테스트하는 동안 RefCLK를 간접적으로 테스트합니다. 따라서 16 GT/s 이하의 속도에서는 포괄적인 테스트를 위해 2볼트 테스트 구성이라고도 하는 4채널 오실로스코프가 필요합니다.

PLL 피킹 및 대역폭은 펄스 폭 지터(PWJ) 및/또는 P7 컴플라이언스 패턴을 사용하여 레인 0에서만 테스트됩니다.

Figure 6: Official PCI-SIG test fixtures that are required for PCIe CEM transmitter tests

Watch the full webinar to dive into PCIe CEM fixture characterization and PCIe 5.0 CEM specification transmitter testing

PCIe CEM 사양에 대한 receiver link equalization 테스트 개요

수신기 링크 이퀄라이제이션(Link EQ) 테스트의 목적은 테스트 대상 수신기가 비트 오류 없이 1E-12의 비트 오류율(BER)을 달성할 수 있는지 확인하는 것입니다. PCIe 수신기 링크 EQ 테스트 절차는 다음과 같습니다:

  • Step 1: 필요한 데이터 속도에 대해 스트레스 아이 보정을 수행합니다(그림 7).
    • Channel Loss by VNA
    • Eye Amplitude, Preset, SJ and RJ by BERT and RTO
    • DM-I and Eye Height/Eye Width by BERT and RTO
  • Step 2: 링크 트레이닝
    • Make DUT looped-back-mode by BERT through Recovery State
    • Troubleshooting
  • Step 3: 95% 신뢰 수준을 달성하기 위해 BER 측정 수행
    • Check BER <1E-12 with Stressed EYE (Mandatory)
    • Jitter Tolerance Testing (Optional)

Figure 7: Minimum and maximum eye height and eye width requirements for PCIe 4.0 and PCIe 5.0 during calibration in PCIe receiver link equalization test 

Watch the full webinar to see the test setup case studies in action

PCIe 링크 및 트랜잭션 레이어 테스트

PCIe 테스트는 물리적 계층을 넘어 링크 및 트랜잭션 계층으로 확장되어 오류 처리와 프로토콜 규정 준수를 다룹니다. 링크 및 트랜잭션 계층 테스트의 주요 목표는 논리적 물리 계층부터 시작하여 각 계층의 오류 처리를 검증하는 것입니다. 이러한 테스트는 기능의 구현을 검증하고 기능이 제대로 작동하는지 확인하는 것을 목표로 합니다. 

링크 및 트랜잭션 계층 테스트에는 다음이 포함됩니다:

  • Link layer tests
  • Transaction layer tests
  • Logical PHY layer tests (equalization protocol)
  • Logical PHY layer tests (reserved bits in training sequence)
  • Lane margining test - functional test

전기 PHY 계층은 디바이스의 아날로그 특성을 측정하여 적절한 신호 송수신을 보장하는 반면, 논리적 PHY 계층은 물리 계층에서 전기 신호를 조정하는 데 사용되는 프로토콜을 말하며, 실제로는 프로토콜 메커니즘입니다. 따라서 위에서 언급한 논리적 PHY 계층 테스트는 전기 테스트 도구가 아닌 프로토콜 테스트 도구를 사용하여 수행됩니다.

PCIe  링크 레이어 테스트

PCIe의 링크 레이어 테스트는 PCIe 링크에서 적절한 데이터 전송 및 복구를 보장하기 위한 다양한 메커니즘을 평가하는 데 중점을 둡니다. 이러한 테스트를 통해 링크가 데이터 전송률, 오류 감지 및 오류 수정 메커니즘을 포함하여 지정된 매개변수 내에서 작동하는지 확인합니다.

일반적으로 링크 계층에서 테스트되는 메커니즘은 다음과 같습니다:

  • Replay timer / replay number / replay on NAK
  • Bad data link layer packets (DLLP)
  • Replay counter
  • Bad Link Cyclic Redundancy Code (LCRC)

아래 표에서 링크 계층에 대한 더 많은 테스트 예시를 확인할 수 있습니다. 이러한 테스트는 프로토콜 테스트 카드(PTC) 또는 연습용 카드로 실행됩니다.

Figure 8: Examples of PCIe link layer tests

PCIe 트랜잭션 레이어 테스트

트랜잭션 계층 테스트에는 트랜잭션 계층 패킷(TLP)의 전송 오류를 확인하는 작업이 포함됩니다. 이러한 테스트는 TLP 내의 잘못된 정보와 같은 시나리오를 다루며 요청 완료를 보장합니다. 포이즌된 TLP, 잘못된 TLP 시퀀스 번호, 무효화된 TLP를 탐지하는 테스트는 PCIe 규정 준수 테스트에 필수이며 잘못된 엔드포인트 순환 중복 검사(ECRC) 탐지는 선택 사항입니다.

Figure 9: Examples of PCIe transaction layer tests

PCIe 이퀄라이제이션 테스트(3.0 이상)

PCIe 링크에 연결된 모든 장치가 PCIe 3.0 이상의 데이터 속도를 지원할 수 있는 경우, 링크 이퀄라이제이션이 수행되어 연결을 최적화하고 더 높은 데이터 속도로 가장 안정적인 PCIe 링크를 설정합니다. 따라서 장치가 지원하는 모든 데이터 속도에 대해 PCIe 3.0 이후부터 이퀄라이제이션 테스트를 수행해야 합니다.

  1. 사전 설정을 조정하여 훈련 시퀀스 내 응답이 올바른지 확인합니다.
  2. 디바이스의 풀 스윙(FS) 및 저주파(LF) 정보를 기반으로 55가지의 다양한 계수 조합을 실행합니다.

두 번째 단계에서는 잘못된 계수 세트는 거부하고 좋은 계수 세트가 반영되도록 하며, 디바이스에서 지원하는 각 데이터 속도에 대해 수행해야 합니다.

Figure 10: Examples of PCIe equalization tests

Watch the full webinar for more details on how PCIe 5.0 and 6.0 equalization tests differ

PCIe lane margining 테스트(4.0 이상)

레인 마진은 PCIe 4.0에서 통합자 목록에 포함되는 데 영향을 미치지 않는 선택적 테스트로 도입된 소프트웨어 메커니즘입니다. 그러나 이후 PCIe 5.0부터는 필수 항목이 되었습니다.

레인 마진을 제대로 구현하려면 수신기 내의 여러 샘플링 지점에서 여러 단계를 수행해야 합니다. 호스트가 엔드포인트에서 마진 정보를 요청하면, 반환된 숫자와 마진과의 관계를 검사하여 검증이 이루어집니다.

레인 마진 테스트는 전기(PHY) 테스트 사양에 정의되어 있지만, 애드인 카드에 대한 링크 및 트랜잭션 테스트는 세 가지 방식으로 실행됩니다:

  • Add-in card - no device driver required
  • Add-in card - device driver required
  • System lane margining testing

시스템 레인 마진 테스트에서는 엔드포인트의 전기적 특성을 변경하고 시스템에서 보고한 결과 마진을 측정합니다. 시스템에 리타이머 또는 스위치가 있는 경우, 테스트는 슬롯 또는 스위치 다운스트림 포트에 연결된 다운스트림 방향의 리타이머 포트를 측정해야 합니다.

 

GRL에서 당신의 PCIe 설계를 테스트하세요!

PCI-SIG®의 승인을 받은 최초의 PCIe 공인 테스트 랩인 GRL은 PCIe 1.0부터 6.0까지 사양을 준수할 수 있도록 도와드립니다. 온디맨드 웨비나를 시청하여 PCIe 테스트에 대해 알아보세요.