CodingBox 문서

VDM과 FEC 지표: PAM4 링크

레인당 50G 이상에서는 광파워만으로는 더 이상 충분한 상태 지표가 되지 못합니다: Rx 파워가 완벽한 PAM4 링크도 커넥터 하나만 오염되면 정정 불가능한 오류로 이어질 수 있으며, 그 첫 신호는 dBm이 아니라 비트 오류율입니다. 이 수치는 두 가지 출처에서 얻을 수 있습니다. 모듈 내부에서는 CMIS VDM(다목적 진단 모니터링)이 레인별로 pre-FEC BER, SNR, 레이저 상태를 보고하고, 호스트에서는 FEC 디코더가 정정된 코드워드와 정정되지 않은 코드워드를 셉니다. 두 값을 함께 보면 링크가 손실 없이 트래픽을 나르는 동안에도 장애까지 얼마나 남았는지 알 수 있습니다.

FEC가 진단 방식을 바꾼 이유

PAM4 기반 25G 이상의 모든 이더넷 PMD는(그리고 대부분의 25G NRZ도) Reed-Solomon FEC를 전제로 합니다. 옵틱스는 10⁻⁵–10⁻⁴의 원시 오류율을 내도 되는데, FEC가 이를 10⁻¹² 이하로 복구해 주기 때문입니다. 그 결과: 열화되고 있는 링크도 FEC 한계를 넘기 전까지는 MAC에 오류가 전혀 없는 것으로 보이다가, 그 순간 갑자기 장애가 발생합니다. pre-FEC BER만이 마진을 매끄럽게 보여주는 유일한 지표입니다.

FEC코드코드워드당 정정 능력10⁻¹² 출력을 위한 pre-FEC BER 한계(근사)사용처
BASE-R(“FC-FEC”, Clause 74)Fire code(2112, 2080)11비트 버스트≈ 10⁻⁷ … 10⁻⁸, 이득 ~2 dB10G/25G NRZ, CA-25G-S
RS-FEC KR4(Clause 91/108)GF(2¹⁰) 기반 RS(528, 514)심볼 7개≈ 5 × 10⁻⁵25GBASE-CR/SR/LR, 100GBASE-SR4/CWDM4/CR4
RS-FEC KP4(Clause 119/134)RS(544, 514)심볼 15개≈ 2.4 × 10⁻⁴모든 50G PAM4 레인: 50G/100G/200G/400G/800G
연쇄형/oFEC(코히어런트)내부+외부 코드≈ 10⁻² … 2 × 10⁻²400ZR(CFEC), OpenZR+(oFEC)

설정 불일치: FEC, 자동 협상, 링크 트레이닝.

VDM — 모듈이 보고하는 것

VDM은 CMIS 페이지 20h–2Fh에 있으며(8레인 단위로 뱅크 구성), 페이지 01h에 지원 여부가 표시됩니다. 각 관측값은 기존 모니터와 똑같이 디스크립터(종류, 레인), 실시간 샘플, 네 개의 임계값, 플래그를 갖습니다.

페이지내용
20h–23h디스크립터: 어떤 관측값인지, 어떤 레인인지, 어떤 임계값 세트인지
24h–27h샘플(각 2바이트)
28h–2Bh임계값: 하이/로우 알람, 하이/로우 경고
2Ch–2Fh플래그와 마스크

관측값 종류(CMIS 4.0/5.x)

ID관측값단위/형식의미
1레이저 노화도%(U16)벤더가 추정한 소모 수명
2TEC 전류최대치 대비 %(S16)냉각기 부하 — 온도와 전압
3레이저 주파수 오차MHz(S16)DWDM/ZR: 그리드로부터의 편차
4레이저 온도°C(S16, 1/256)냉각형 레이저
5/6eSNR, 미디어/호스트 입력dB(U16, 1/256)등화 이후의 전기적 SNR — PAM4의 “아이 높이”; > 18–20 dB면 여유, < 15 dB면 아슬아슬(벤더에 따라 다름)
7/8PAM4 레벨 전이 매개변수, 미디어/호스트dB네 레벨의 선형성
9/10Pre-FEC BER 최솟값, 미디어/호스트F16구간 내 최선값
11/12Pre-FEC BER 최댓값F16구간 내 최악값 — 경보에 사용할 수치
13/14Pre-FEC BER 평균값F16
15/16Pre-FEC BER 현재값F16최근 샘플
17–24프레임 오류율 카운트(FERC) 최소/최대/평균/현재, 미디어/호스트F16post-FEC 정정 불가 프레임 — 0이어야 함
128+코히어런트 세트(CMIS 5.x): 변조기 바이어스, CD, DGD, SOPMD, OSNR, eSNR, Q-factor, Rx 총/신호 파워, 반송파 주파수 오프셋 등다양400ZR/ZR+ 모듈

F16은 CMIS의 16비트 비율 형식입니다: 5비트 지수와 11비트 가수로 구성되며, 값 = 가수 × 10^(지수 − 24)입니다. 예를 들어 pre-FEC BER 1.5 × 10⁻⁶은 가수 1500, 지수 15로 저장됩니다. 미디어 쪽은 광 회선을, 호스트 쪽은 스위치 ASIC로 이어지는 전기 인터페이스를 뜻합니다 — 호스트 쪽 BER이 나쁘면 광섬유가 아니라 커넥터나 보드를 의심해야 합니다.

호스트 측 FEC 카운터

스위치나 NIC는 포트별로, 흔히 레인별로도 다음을 집계합니다:

카운터정상주의장애
정정된 코드워드서서히 증가(pre-FEC BER 10⁻⁸ … 10⁻⁶)빠르게 증가(KP4 기준 10⁻⁵)한계에 근접
정정 불가 코드워드0조금이라도 증가꾸준히 증가 = 프레임 손실
레인별 심볼 오류레인 간 균등한 레인에 집중해당 레인의 광섬유/커넥터/레이저
Pre-FEC BER(산출값)< 10⁻⁷10⁻⁶ … 10⁻⁵> 10⁻⁴(KP4)

확인 위치: 대부분의 NOS에서는 show interfaces … fec / phy detail(옵틱스 검증), Linux에서는 ethtool -S(fec_corrected_blocks, fec_uncorrectable_blocks)와 ethtool --show-fec, SONiC에서는 show interfaces counters fec. 카운터는 누적값입니다 — 초기화한 뒤 증가율을 지켜보십시오.

둘을 함께 읽기

Rx 파워Pre-FEC BER/eSNR정정 불가진단
범위 내< 10⁻⁷, eSNR 높음0마진 있는 정상 상태
범위 내10⁻⁵, 한 레인에서 eSNR 하락0그 레인이 열화 중: MPO 광섬유 오염, VCSEL 노화, 아슬아슬한 커넥터 — 장애가 나기 전에 조치(레인별 진단)
낮음높음일부버짓 문제 — Rx 파워와 링크 버짓
범위 내, 양쪽 끝 모두호스트 쪽에서 높음일부전기적 문제: 케이지/커넥터 접촉, 보드, DAC 품질, 잘못된 등화 설정
범위 내미디어 쪽에서 높음, 모든 레인일부분산, 잘못된 전송 거리 등급, 다중화기 파장 이탈, 부분적인 극성 오류
정상오류 0, 링크 플래핑0신호 문제가 아님 — FEC/AN 불일치, 열 문제, 소프트웨어

임계값과 경보

VDM 임계값은 벤더가 설정합니다; pre-FEC BER의 일반적인 하이 경고는 FEC 한계의 대략 10분의 1 수준입니다(KP4 기준 2 × 10⁻⁵). 경보에는 증가율과 추세를 사용하십시오: pre-FEC BER이 일주일 만에 한 자릿수(10배) 상승했다면 임계값과 무관하게 작업 지시가 필요합니다(모니터링). post-FEC 정정 불가 오류는 예외 없이 장애입니다.

VDM이 없는 경우

SFF-8472와 SFF-8636 모듈에는 VDM이 없습니다: 10G/25G/100G NRZ 링크는 호스트의 FEC 카운터와 Rx 파워에 의존합니다. 일부 SFF-8636 모듈은 페이지 20h–21h나 벤더 전용 바이트에 벤더 고유의 SNR이나 BER을 노출하지만 — 벤더의 도구로만 읽을 수 있습니다. FEC가 없는 NRZ(10G LR, 1G)의 경우, 인터페이스의 CRC/입력 오류 카운터가 비트 수준을 볼 수 있는 유일한 창입니다.

CodingBox에서

CMIS 모듈의 경우 CodingBox는 VDM 디스크립터와 샘플을 읽어 DDM에서 기존 모니터와 나란히 레인별로 보여주며, F16 비율을 일반 숫자로 디코딩합니다. 호스트의 FEC 카운터는 모듈과 프로그래머 바깥의 영역입니다 — 이는 스위치에서 나옵니다.


이 문서에서 부정확한 내용이나 오류를 발견하면 해당 부분을 선택하고 Ctrl+Enter를 눌러 해 주세요.