Chapter 16

SerDes와 고속 인터페이스

데이터센터의 스위치 칩 하나는 1초에 수십 테라비트를 주고받는다. 그런데 그 많은 데이터가 드나드는 길은 손톱만 한 칩 가장자리의 구리 배선 몇백 쌍뿐이다. 배선 한 쌍에 초당 1,000억 비트 넘게 밀어 넣어야 하는데, 그 속도에서 구리선은 신호를 뭉개고, 비틀고, 되튕긴다. 이 장은 그 뭉개진 신호에서 비트를 되살려 내는 회로, SerDes의 이야기다.

왜 병렬이 아니라 직렬인가

옛날 컴퓨터는 데이터를 여러 줄로 나란히 보냈다. 32비트를 보내려면 선 32가닥과 박자를 맞출 클럭선 하나를 깔고, 클럭이 “지금!” 하고 칠 때 32가닥을 한꺼번에 읽는다. 이것이 병렬 버스(parallel bus)다. 직관적으로는 선이 많을수록 빨라 보인다. 그런데 오늘날 PCIe, USB, 이더넷, SATA 같은 고속 인터페이스는 모두 반대로 갔다. 선 한 쌍에 비트를 한 줄로 세워 아주 빠르게 보낸다.

이유는 두 가지다. 첫째, 스큐(skew). 32가닥의 길이와 주변 환경이 조금씩 달라서 같은 순간 출발한 비트들이 도착하는 시각이 어긋난다. 1 GHz에서 1비트 시간은 1 ns인데, 기판 위 배선에서 신호는 1 ns에 15 cm쯤 간다. 길이가 몇 mm만 달라도 수십 ps가 어긋나고, 비트 시간이 짧아질수록 이 어긋남이 비트 시간 전체를 잡아먹는다. 둘째, 핀 수. 칩 패키지 바닥의 단자(볼)는 개수가 한정되어 있고, 선이 늘수록 기판 층수와 전력, 서로 간섭하는 잡음(동시 스위칭 잡음)도 늘어난다.

병렬 버스: 8가닥 + 클럭 직렬 링크: 차동 선 한 쌍 TX RX 클럭선 스큐 같이 출발했지만 도착 시각이 제각각. 비트 시간이 짧아지면 함께 읽을 순간이 사라진다. TX직렬화 RXCDR + / − 두 선에 반대 극성 클럭은 따로 없다. 데이터 전이에 녹아 있다. 스큐 걱정은 두 선 사이만. 외부 잡음은 두 선에 똑같이 실려서 빼면 사라진다. 레인 1개 = 송신 1쌍 + 수신 1쌍
그림 16-1. 병렬 버스와 직렬 링크. 병렬은 선마다 도착 시각이 달라지는 스큐 때문에 속도를 올리기 어렵다. 직렬 링크는 차동 신호(differential signaling) 한 쌍에 데이터를 보내고, 받는 쪽이 데이터 자체에서 박자를 뽑아낸다.
단체 행진과 고속열차

32명이 손을 잡지 않고 나란히 달려 결승선을 동시에 밟으라고 하면, 천천히 걸을 땐 되지만 전력 질주에서는 반드시 누군가 앞서고 누군가 처진다. 대신 선수 한 명이 엄청 빠르게 32번 왕복하면 줄 맞출 걱정이 없다. 직렬 링크는 택배 상자를 여러 트럭에 나눠 동시에 도착시키려 애쓰는 대신, 고속열차 한 편성에 일렬로 싣고 달리는 방식이다.

이렇게 병렬 데이터를 한 줄로 늘어세우는 회로를 직렬화기(serializer), 받는 쪽에서 다시 병렬로 펼치는 회로를 역직렬화기(deserializer)라 하고, 둘을 합쳐 SerDes(서데스)라 부른다. 하지만 이름과 달리 오늘날 SerDes의 일은 대부분 “늘어세우기”가 아니다. 망가진 신호를 미리 비틀어 보내고(송신 이퀄라이저), 받아서 고치고(수신 이퀄라이저), 박자를 찾아내고(CDR), 남은 오류를 수학으로 지우는(FEC) 일이 거의 전부다.

송신(TX) 수신(RX) 병렬 데이터예: 64비트 직렬화MUX FFE송신 등화 드라이버DAC 채널패키지·기판·커넥터·케이블 CTLE아날로그 ADC또는 비교기 DSP: FFE·DFE판정 CDR박자 복원 역직렬화→ FEC PLL: 기준 클럭 ×수십~수백 배 체배
그림 16-2. SerDes 한 레인의 구성(대략). 요즘의 100G·200G급 SerDes는 수신부에서 신호를 곧바로 ADC로 숫자로 바꾼 다음 디지털 신호 처리(DSP)로 등화와 판정을 한다. 레인 하나가 사실상 작은 모뎀이다.

그래서 SerDes는 칩에서 차지하는 비중이 크다. 수백 개 레인을 가진 스위치 칩에서는 SerDes가 다이 가장자리를 빙 둘러 차지하고, 칩 전체 면적과 전력에서 수십 %를 쓴다고 알려져 있다. 레인 하나가 비트당 몇 pJ(피코줄)을 쓰는데, 51.2 Tbps 칩이라면 4 pJ/bit만 잡아도 송수신에 200 W 가까이 된다. SerDes를 잘 만드는 것이 곧 네트워크 칩의 경쟁력인 이유다.

아직 병렬이 살아 있는 곳

모든 인터페이스가 직렬로 간 것은 아니다. PC의 DDR 메모리는 지금도 64비트 병렬 버스인데, 바이트(8줄)마다 별도의 박자 신호(스트로브)를 붙이고 전원을 켤 때마다 줄마다 지연을 재서 맞추는 “트레이닝”으로 스큐를 견딘다. GPU 옆의 HBM은 아예 1,024줄 이상의 넓은 병렬 버스를 쓰는데, 칩과 메모리가 같은 패키지 안에서 수 mm 거리에 붙어 있어 스큐가 문제 되지 않기 때문이다. 거리가 짧으면 병렬, 길면 직렬이라는 원칙은 이 장 끝의 칩렛 인터페이스에서 다시 나온다.

레인과 속도의 진화

직렬 링크의 기본 단위는 레인(lane)이다. 레인 하나는 송신용 차동 쌍 하나와 수신용 차동 쌍 하나, 즉 구리선 4가닥이다. 이더넷 포트나 PCIe 슬롯은 이 레인을 여러 개 묶어 만든다.

포트 속도 = 레인 수 × 레인 속도
예: 400GbE = 8 × 50G 또는 4 × 100G · 800GbE = 8 × 100G · 1.6TbE = 8 × 200G · PCIe x16 = 레인 16개

레인 속도를 정하는 숫자는 두 개다. 1초에 보내는 기호(심볼)의 수인 보 레이트(baud rate, Bd)와, 기호 하나에 싣는 비트 수다. 기호마다 전압 2단계(0/1)만 쓰면 NRZ(Non-Return-to-Zero), 4단계를 쓰면 기호당 2비트인 PAM4(4-level Pulse Amplitude Modulation)다. 신호가 0101…처럼 가장 빨리 바뀔 때의 주파수, 즉 보 레이트의 절반을 나이퀴스트 주파수(Nyquist frequency)라 하는데, 채널이 이 주파수를 얼마나 잘 통과시키느냐가 링크의 성패를 가른다.

레인 속도변조보 레이트나이퀴스트쓰이는 이더넷 포트보급 시기
10GNRZ10.3125 GBd≈ 5.2 GHz10GbE, 40GbE(4×10G)2000년대 후반
25GNRZ25.78 GBd≈ 12.9 GHz25GbE, 100GbE(4×25G)2010년대 중반
50G (“56G”)PAM426.56 GBd≈ 13.3 GHz200GbE(4×), 400GbE(8×)2018년 무렵
100G (“112G”)PAM453.125 GBd≈ 26.6 GHz400GbE(4×), 800GbE(8×)2020년대 초
200G (“224G”)PAM4106.25 GBd≈ 53 GHz800GbE(4×), 1.6TbE(8×)2024~2026

“56G”, “112G”, “224G”는 업계가 SerDes를 부르는 이름으로, FEC 등 부가 비트를 포함한 대략의 선로 속도다. 보 레이트가 소수점까지 딱 떨어지지 않는 이유는 데이터에 64b/66b 부호화(64비트마다 2비트 머리표를 붙여 전이를 보장하고 블록 경계를 표시)와 FEC 패리티가 더해지기 때문이다. 25G에서 50G로 갈 때 업계는 보 레이트를 올리는 대신 PAM4로 갈아탔다. 이 결정의 이유를 아래 두 시뮬레이터에서 확인한다.

PCIe 세대레인당 속도부호화·변조x16 한 방향 대역폭(약)
Gen38 GT/sNRZ, 128b/130b16 GB/s
Gen416 GT/sNRZ, 128b/130b32 GB/s
Gen532 GT/sNRZ, 128b/130b64 GB/s
Gen664 GT/sPAM4, FLIT + 가벼운 FEC128 GB/s
Gen7128 GT/sPAM4, FLIT256 GB/s

PCIe는 서버 안에서 CPU와 GPU·NIC·SSD를 잇는 내부 도로다. 세대마다 정확히 두 배씩 올랐고, Gen6부터 이더넷처럼 PAM4로 넘어갔다. 다만 PCIe는 메모리 접근처럼 지연에 민감한 용도라서 FEC를 수 ns 수준으로 가볍게 쓰고, 이더넷은 더 강한 FEC로 더 긴 거리를 버틴다(뒤에서 다룬다).

채널 손실: 구리는 고주파를 먹는다

칩에서 나온 신호는 패키지, 기판 배선, 커넥터, 케이블을 지나는데, 이 전체를 채널(channel)이라 부른다. 채널은 낮은 주파수는 잘 통과시키지만 높은 주파수일수록 많이 깎아 먹는다. 원인은 두 가지다. 주파수가 높으면 전류가 도체 표면의 얇은 층으로만 흐르는 표피 효과 때문에 저항이 √주파수에 비례해 늘고, 기판의 절연 재료(유리섬유+에폭시, FR4)가 전기장이 떨릴 때마다 에너지를 열로 빼앗는 유전 손실은 주파수에 비례해 는다. 그래서 신호가 빨라질수록 손실이 가파르게 커진다.

신호가 채널을 지나며 잃는 세기를 삽입 손실(insertion loss)이라 하고 데시벨(dB, 2장)로 쓴다. 20 dB는 진폭이 1/10, 30 dB는 약 1/32로 줄었다는 뜻이다. 엔지니어는 이 값을 나이퀴스트 주파수에서 따진다. 고속 SerDes의 장거리(LR) 규격은 칩과 칩 사이 나이퀴스트 손실 약 28~30 dB까지를 목표로 설계된다.

SIMULATOR

배선 길이와 속도에 따른 채널 손실

레인 속도
기판 재료
보 레이트—
나이퀴스트 주파수—
나이퀴스트 손실—
남은 진폭—
보정 없는 눈 높이—
왼쪽: 주파수별 손실(세로선이 나이퀴스트). 오른쪽: 이퀄라이저 없이 받은 눈 그림. 손실 모델은 dB/인치 = a·√f + b·f 꼴의 대략값에 패키지·커넥터 손실을 더한 것이며, 반사·누화는 뺐다. 해볼 것: 100G PAM4에서 FR4로 바꾸고 길이를 늘려 보자. 같은 길이를 10G NRZ로 보내면?

손실이 왜 그렇게 치명적일까? 비트 하나를 나타내는 네모난 펄스가 채널을 지나면 높은 주파수 성분(가파른 모서리)이 깎여 낮고 퍼진 언덕 모양이 된다. 퍼진 꼬리는 다음 비트, 그다음 비트 자리까지 흘러 들어가 그 비트들의 값을 헷갈리게 만든다. 이를 심볼 간 간섭(ISI, Inter-Symbol Interference)이라 한다. 여러 비트의 파형을 한 비트 시간 폭으로 잘라 겹쳐 그린 눈 그림(eye diagram, 4장)에서 가운데 빈 공간, 즉 “눈”이 ISI 때문에 닫힌다.

NRZ와 PAM4: 같은 박자에 두 배의 비트

레인 속도를 두 배로 올리는 방법은 둘이다. 보 레이트를 두 배로 올리거나(NRZ 유지), 보 레이트는 그대로 두고 기호당 비트를 두 배로 하거나(PAM4). 보 레이트를 올리면 나이퀴스트 주파수도 두 배가 되어 채널 손실이 크게 는다. PAM4는 같은 주파수 대역에 두 배의 비트를 싣지만, 같은 전압 범위를 4단계로 나누므로 단계 사이 간격이 1/3로 줄어든다. 눈이 세 개로 쪼개지고 각각의 높이가 1/3이 된다. 신호 대 잡음비로 치면 20·log₁₀3 ≈ 9.5 dB 손해다.

NRZ: 2단계, 기호당 1비트 PAM4: 4단계, 기호당 2비트 10 1 눈 하나, 높이 = 전체 진폭 10110100 1/3 눈 세 개, 각각 높이 1/3 (그레이 부호)
그림 16-3. NRZ와 PAM4. PAM4는 이웃한 단계끼리 비트 하나만 다르게 배치(그레이 부호: 00·01·11·10)해서, 잡음 때문에 옆 단계로 잘못 읽혀도 비트 오류가 하나로 끝나게 한다.
SIMULATOR

NRZ vs PAM4 눈 그림 비교

비교 기준
NRZ 보 레이트 · 손실—
NRZ 눈 높이 (전체 진폭 대비)—
PAM4 눈 높이 (전체 진폭 대비)—
비트 레이트 (NRZ : PAM4)—
‘같은 보 레이트’는 같은 채널에서 PAM4가 비트를 두 배로 싣는 경우, ‘같은 비트 레이트’는 NRZ가 PAM4와 같은 비트를 보내려고 보 레이트를 두 배로 올린 경우다(나이퀴스트가 두 배라 손실이 커지고, 잡음 대역도 넓어진다). 눈 높이는 잡음 여유(±3σ)를 뺀 값. 해볼 것: ‘같은 비트 레이트’에서 손실을 0 → 24 dB로 올리며 어느 쪽이 먼저 닫히는지 보자.
예측해 보기

같은 비트 레이트로 보낼 때, 채널 손실이 아주 크면(PAM4 기준 18~22 dB) 어느 쪽 눈이 더 많이 열려 있을까?

위 시뮬레이터에서 ‘같은 비트 레이트’를 고르고 손실을 18~22 dB로 올려 보자.

손실이 작을 때는 NRZ가 유리하지만, 손실은 주파수에 따라 가파르게 늘기 때문에 보 레이트를 두 배로 올린 NRZ는 PAM4보다 훨씬 많은 dB를 잃는다. 어느 지점에서 그 손해가 PAM4의 9.5 dB 손해를 넘어선다. 업계는 레인당 50G에서 이 갈림길을 만났고 PAM4를 택했다. 그 뒤 100G·200G 레인은 모두 PAM4다.

이퀄라이저: 닫힌 눈을 다시 연다

채널이 고주파를 깎아 먹는다면, 그만큼 고주파를 미리 키우거나 나중에 키우면 된다. 이것이 이퀄라이저(equalizer, 등화기)다. SerDes에는 세 종류가 함께 쓰인다.

메아리가 심한 강당에서 말하기

울림이 심한 강당에서는 앞 단어의 메아리가 다음 단어를 덮는다(ISI). 말하는 사람은 단어의 첫 자음을 또박또박 세게 발음하고(FFE), 듣는 사람은 낮게 웅웅대는 소리를 걸러 내는 귀마개를 끼고(CTLE), 방금 들은 단어의 메아리가 어떻게 들릴지 알고 머릿속에서 지운다(DFE). 셋을 함께 써야 긴 메아리 속에서도 말을 알아듣는다.

SIMULATOR

이퀄라이저 실험실: 펄스 응답과 눈 그림

채널 (나이퀴스트 손실)
변조
 
눈 높이 (이상적 눈 대비)—
눈 폭—
남은 ISI 합 / 메인 커서—
메인 커서 (원 신호 대비)—
왼쪽은 비트 하나(네모 펄스)를 보냈을 때 받은 파형, 즉 펄스 응답이다. 메인 커서 높이를 1로 맞춰 그렸고, 점은 한 비트 간격(UI)마다의 값이다. 0이 아닌 점 하나하나가 이웃 비트를 괴롭히는 ISI다. 회색 = 등화 전, 파랑 = 등화 후, 보라 고리 = DFE가 지운 커서. 해볼 것: 20 dB NRZ에서 CTLE만 올려 보고, 너무 올리면(과등화) 커서가 음수로 뒤집히는 것을 확인하자. 그다음 DFE 탭을 더해 보자. 모델은 최소 위상 손실 채널 + 1영점 2극점 CTLE + 이상적 DFE(오류 전파 없음)이며, 잡음 여유 ±3σ를 뺀 눈 높이를 보여 준다.

실제 100G·200G SerDes는 이 세 가지를 모두 쓰고, 수신부 디지털 FFE에 수십 개의 탭을 두기도 한다. 탭 값은 사람이 정하지 않는다. 링크가 켜질 때 양쪽 SerDes가 시험 패턴을 주고받으며 오류가 가장 적어지는 값을 스스로 찾는 링크 트레이닝을 거치고, 그 뒤에도 온도와 전압 변화를 따라 계속 미세 조정한다(적응 등화).

클럭 데이터 복원: 박자는 데이터에 숨어 있다

직렬 링크에는 클럭선이 없다. 받는 쪽은 언제 신호를 읽어야 할지 스스로 알아내야 한다. 이 일을 하는 회로가 CDR(Clock and Data Recovery, 클럭 데이터 복원)이다. 원리는 신호가 0→1, 1→0으로 바뀌는 전이를 지켜보는 것이다. 전이는 비트 경계에서 일어나므로, 전이 시각들의 한가운데가 곧 눈의 중심, 가장 안전하게 읽을 수 있는 순간이다.

CDR은 위상 고정 루프(PLL, 18장)의 한 종류다. 지금 샘플링 순간이 전이보다 이른지 늦은지(early/late)를 판정해서, 늦으면 박자를 조금 당기고 이르면 조금 미룬다. 송신 칩과 수신 칩은 각자 다른 수정 발진기를 쓰기 때문에 주파수가 정확히 같지 않다. 이더넷은 ±100 ppm(백만분의 100)까지 차이를 허용하는데, 100 ppm이면 1만 비트마다 한 비트 시간만큼 박자가 밀린다. CDR이 이 차이를 계속 따라잡지 못하면 샘플링 지점이 눈 밖으로 걸어 나간다.

박자가 들쭉날쭉 떨리는 현상을 지터(jitter)라 한다. 송신 PLL의 잡음, 전원 잡음, ISI가 모두 지터를 만든다. 200G 레인의 한 비트 시간(UI)은 약 9.4 ps이니, 지터는 수백 펨토초(fs) 수준으로 관리해야 한다. 또 0이나 1만 길게 이어지면 전이가 없어 CDR이 박자를 놓치므로, 송신 쪽에서 데이터를 의사 난수와 섞는 스크램블링과 64b/66b 부호화로 전이를 충분히 만들어 준다.

SIMULATOR

CDR이 샘플링 위치를 붙잡는 모습

샘플링 위치 (눈 중심 기준)—
눈 폭—
최근 비트 오류율(추정)—
위: 받은 눈 그림과 지금의 샘플링 위치(세로선), 지터 분포(아래 종 모양). 아래: 시간에 따른 샘플링 위치의 기록, 점선은 눈의 가장자리. 애니메이션 한 프레임은 약 200 UI다. 해볼 것: CDR을 끄면 주파수 차이만큼 샘플링 지점이 흘러가 눈 밖으로 나간다. 루프 이득을 너무 낮추면 따라가지 못하고, 너무 높이면 판정마다 크게 흔들려 그 자체가 지터가 된다. 뱅뱅(bang-bang) CDR을 단순화한 모델이며, 오류율은 가우시안 지터로 가정해 계산했다.

FEC: 남은 오류는 수학으로 지운다

이퀄라이저와 CDR을 아무리 잘 만들어도 200G 레인의 원시 비트 오류율(BER)은 대략 1만 비트에 하나(10⁻⁴) 수준까지 나빠질 수 있다. 400 Gbps 링크라면 1초에 4,000만 개의 오류다. 그래서 고속 이더넷은 순방향 오류 정정(FEC, Forward Error Correction)을 기본으로 쓴다. 보내는 쪽이 데이터에 계산된 여분(패리티)을 붙이면, 받는 쪽이 재전송 요청 없이 그 자리에서 오류를 찾아 고친다.

이더넷이 쓰는 대표 FEC는 리드-솔로몬 부호(Reed-Solomon code)다. 10비트를 한 “심볼”로 묶고, 데이터 심볼 514개에 패리티 심볼을 붙여 부호어 하나를 만든다. 25G NRZ 시대의 RS(528,514)(“KR4”)는 패리티 14개로 심볼 7개까지, 50G 이상 PAM4 시대의 RS(544,514)(“KP4”)는 패리티 30개로 심볼 15개까지 고친다. 심볼 단위로 고치므로, 한 심볼 안에서 비트 여러 개가 한꺼번에 틀리는 묶음 오류(DFE 오류 전파 등)에 강하다.

CALCULATOR

FEC 전후의 비트 오류율

부호
고칠 수 있는 심볼 수—
부가 비트(오버헤드)—
FEC 후 BER(추정)—
400G 링크에서 오류 비트 간격—
부호어 1개 도착 시간 (100G 레인)—
비트 오류가 서로 독립이라고 가정하고, 부호어 안의 틀린 심볼이 t개를 넘으면 정정에 실패한다고 계산했다(이항 분포). 실제로는 오류가 몰려 오는 경우가 있어 이보다 나쁠 수 있다. 해볼 것: KP4에서 FEC 전 BER 2.4×10⁻⁴ 근처를 보자. 이더넷이 KP4 FEC의 입력 오류율 한계로 잡는 값 근처이며, 정정 후 10⁻¹⁵ 안팎이 된다.

공짜는 아니다. 부호어 하나(544 × 10 = 5,440비트)를 다 받아야 복호를 시작할 수 있고, 오류 위치를 찾는 계산에도 시간이 든다. KP4 FEC는 링크 한 번 지날 때마다 대략 100 ns 수준의 지연을 더한다. 빛이 광섬유 20 m를 가는 시간이다. 스위치를 여러 단 지나는 AI 클러스터처럼 지연에 민감한 곳에서는 이 지연이 쌓이므로, 더 가벼운 FEC나 링크 계층 재전송을 쓰는 방안도 함께 연구된다. 200G 레인 세대에는 광 모듈 안에 내부 부호를 하나 더 겹쳐 쓰는(연접 FEC) 방식도 도입되었다.

전송선로와 신호 무결성: 되튕기는 신호

신호가 이렇게 빠르면 기판 위의 배선은 더 이상 “전기가 즉시 통하는 전선”이 아니다. 신호가 배선을 따라 파도처럼 진행하는 전송선로가 된다. 전송선로에는 선의 굵기, 간격, 절연체 두께로 정해지는 고유한 저항 같은 값, 특성 임피던스(Z₀)가 있다. 고속 기판은 보통 한 가닥 기준 50 Ω, 차동 쌍 기준 85~100 Ω에 맞춰 설계한다.

신호가 임피던스가 다른 곳을 만나면 일부가 되튕긴다. 끝에 붙은 저항(종단 저항(termination))이 Z₀와 같으면 신호는 모두 흡수되고, 다르면 반사 계수(reflection coefficient) Γ = (R − Z₀) / (R + Z₀)만큼 되돌아온다. 끝이 열려 있으면(R = ∞) Γ = +1로 전부 같은 극성으로, 단락이면(R = 0) Γ = −1로 전부 뒤집혀 돌아온다. 되돌아온 신호는 다음 비트들 위에 겹쳐 또 하나의 ISI가 된다.

SIMULATOR

종단 저항과 반사

송신단(소스) 임피던스
 
반사 계수 Γ—
되돌아가는 전압 비율—
반사 손실 (리턴 로스)—
수신단 첫 펄스 높이—
선로의 특성 임피던스 Z₀ = 50 Ω, 손실 없는 선로로 단순화했다. 위: 선로 위 전압의 순간 모습(오른쪽으로 가는 파 + 되돌아오는 파). 아래: 수신단에서 시간에 따라 본 전압. 해볼 것: R을 50 Ω에 맞추면 반사가 사라진다. 소스를 15 Ω로 바꾸고 R을 100 Ω로 하면 신호가 양 끝에서 계속 튕기며 울린다(링잉).

실제 기판에서 반사를 만드는 범인은 종단만이 아니다. 층을 건너는 구멍인 비아(via)는 쓰지 않는 아래쪽 토막(스텁)이 작은 안테나처럼 공진해 특정 주파수를 크게 먹는다. 그래서 고속 기판은 스텁을 드릴로 깎아 내는 백드릴(back-drilling)을 한다. 커넥터, 패키지 볼, 칩 안의 정전기 보호 회로(ESD) 용량도 모두 임피던스를 흔든다. 이런 것들을 통틀어 다루는 분야가 신호 무결성(SI, Signal Integrity)이다. 이웃 선끼리 새어 드는 누화(crosstalk, 4장)도 SI의 큰 숙제다.

예측해 보기

50 Ω 선로 끝에 100 Ω 저항을 달았다. 도착한 신호 전압의 몇 %가 되돌아갈까?

반사 시뮬레이터에서 R을 100 Ω로 맞춰 확인하자.

Γ = (100 − 50) / (100 + 50) = 1/3. 저항이 Z₀보다 크면 같은 극성, 작으면 반대 극성으로 반사된다. 그래서 수신단 첫 펄스는 1 + Γ ≈ 1.33배로 솟고, 되돌아간 1/3이 송신단에서 다시 튕기면 뒤따르는 비트를 오염시킨다.

구리의 한계, 그리고 그 너머

레인 속도가 두 배가 될 때마다 같은 손실 예산으로 갈 수 있는 구리 거리는 크게 줄어든다. 10G 시절에는 기판 위로 수십 cm, 케이블로 7 m를 갔지만, 200G 레인에서는 기판 배선을 극도로 아끼고 칩 바로 옆에서 케이블로 빠지는 설계가 등장했다. 그래서 거리에 따라 쓰는 기술이 나뉜다.

1 mm1 cm10 cm1 m10 m100 m+ 칩렛 사이 (UCIe 등)넓은 병렬, ≤1 pJ/bit 기판 위 칩–칩 · 칩–모듈 (SerDes)손실 예산 ~30 dB, 리타이머로 연장 DAC 구리 케이블수동, ~2–3 m AEC 능동 구리리타이머 내장, ~7 m 광 (19장)수 m ~ 수십 km
그림 16-4. 거리에 따른 인터페이스 영역(대략, 레인당 100~200G 기준). 수 mm 안쪽은 칩렛 인터페이스, 1 m 안팎은 SerDes와 구리 케이블, 그 너머는 광의 영역이다. 레인 속도가 오를수록 경계가 왼쪽으로 밀린다.

반도체 관점: 아날로그 설계의 정수

SerDes는 디지털 칩 한가운데 박힌 가장 까다로운 아날로그 회로다. 수십 GHz의 PLL, 수 ps 단위의 타이밍, 수십 mV의 신호를 다룬다. 최근에는 수신 신호를 초당 1,000억 번 넘게 6~8비트로 숫자화하는 고속 ADC를 앞단에 두고, 등화와 판정을 디지털 신호 처리로 하는 ADC·DSP 기반 SerDes가 주류가 되었다. 디지털 회로는 공정이 미세해질수록 작고 저전력이 되므로, 5 nm·3 nm 같은 첨단 공정의 이점을 최대한 살리는 구조다. 그래서 스위치 칩, GPU, AI 가속기 회사들은 SerDes를 직접 설계하거나 전문 IP 회사에서 사 오며, “세계 최초 200G SerDes 실리콘 검증” 같은 소식이 칩 업계의 큰 뉴스가 된다. 이 SerDes들이 모여 만드는 칩이 다음 장의 스위치 ASIC과 NIC다(17장).

핵심 정리

  1. 병렬 버스는 스큐와 핀 수 때문에 한계에 부딪혔다. 고속 인터페이스는 차동 쌍 하나에 비트를 일렬로 보내는 SerDes를 쓴다.
  2. 포트 속도 = 레인 수 × 레인 속도. 레인은 10G NRZ → 25G NRZ → 50G·100G·200G PAM4로 발전했고, PCIe도 Gen6부터 PAM4다.
  3. 구리 채널은 표피 효과와 유전 손실로 고주파를 깎는다. 나이퀴스트 주파수에서의 삽입 손실(dB)이 링크 설계의 핵심 숫자다.
  4. PAM4는 같은 보 레이트에 두 배 비트를 싣지만 눈 높이가 1/3(약 9.5 dB 손해)이다. 손실이 큰 채널에서는 그래도 NRZ보다 낫다.
  5. 손실이 만든 ISI는 송신 FFE, 수신 CTLE, DFE가 함께 지운다. 과하게 등화하면 오히려 눈이 닫힌다.
  6. CDR은 데이터 전이에서 박자를 뽑아 샘플링 위치를 눈 중심에 붙잡고, RS-FEC(KP4)는 10⁻⁴ 수준의 오류를 10⁻¹⁵ 수준으로 낮추는 대신 ~100 ns 지연을 더한다.
  7. 임피던스 불일치는 반사를 만든다(Γ = (R − Z₀)/(R + Z₀)). 구리의 거리가 줄어들수록 리타이머, AEC, 광, 칩렛 인터페이스로 역할이 나뉜다.

확인 퀴즈

고속 인터페이스가 넓은 병렬 버스 대신 직렬 링크를 쓰게 된 가장 큰 이유는?

비트 시간이 수십 ps로 줄면 선 길이의 작은 차이도 비트 시간 전체를 잡아먹는다. 직렬 링크는 박자를 데이터에서 뽑아 이 문제를 피한다.

800GbE 포트를 레인당 100G로 만들려면 레인이 몇 개 필요한가?

포트 속도 = 레인 수 × 레인 속도이므로 800 ÷ 100 = 8. 레인당 200G라면 4개면 된다.

100G PAM4 레인(53.125 GBd)의 나이퀴스트 주파수는 대략?

나이퀴스트 주파수는 보 레이트의 절반이다. PAM4는 기호당 2비트라 106 Gb/s를 53 GBd로 보내고, 나이퀴스트는 그 절반인 약 26.6 GHz다.

PAM4가 NRZ보다 불리한 점은?

PAM4는 같은 비트 레이트에서 보 레이트가 오히려 절반이다. 대가는 단계 간격이 1/3로 줄어드는 것, 즉 20·log₁₀3 ≈ 9.5 dB의 신호 대 잡음비 손해다.

DFE(판정 궤환 등화기)의 특징으로 옳은 것은?

DFE는 판정 결과로 이전 비트의 ISI를 계산해 빼므로 잡음을 증폭하지 않는다. 아직 판정하지 않은 다음 비트의 영향(프리커서)은 지울 수 없어서 FFE·CTLE가 맡는다.

이더넷의 RS(544,514) “KP4” FEC에 대한 설명으로 틀린 것은?

FEC는 ‘순방향’ 오류 정정이다. 받는 쪽이 패리티만으로 그 자리에서 오류를 고치며, 재전송 요청을 하지 않는다.