1. 8B/10B 선로부호
ㅇ 8 비트 단위를 10 비트의 코드로 변환시키는 블록 코딩방식
- 28=256개의 데이터코드 이외, 210-28=788개 중 12개를 특수코드(제어)로 할당
. 25% 정도가 오버헤드로써 이들을 통해 제어 및 오류검출 등에 활용
ㅇ 1980년대 중반 IBM에서 Fiber Channel에 사용하기 위해 개발 및 특허 등록
- 지금은 특허 만료에 따라 여러 분야에 많이 쓰임
- 파이버채널 표준 : ANSI X3T11/Project 755D/Rev 4.3
2. 8B/10B 특징
ㅇ 비트 동기화에 유리
- 비트 반전이 충분히 많게 함
. 연속적으로 같은 비트가 나오는 것을 최소화시켜 비트 동기를 도와줌
. `1` 또는 `0` 비트가 연속으로 최대 4번까지만 발생 가능토록 함
- 1024개 가능 코드 중 비트 반전이 많은 260여개의 코드들만 유효한 코드로 활용
ㅇ DC Balance 코드
- `0` 과 `1` 발생비율을 평균적으로 같게 함
- 코드그룹화된 10 비트 중 다른 비트 갯수가 최소한 1개 차이 만 같게함
. 즉, `0` 과 `1` 갯수가 같거나(각 5개씩), 최소한 1개 차이(4개 및 6개)
ㅇ 코드 그룹 간 경계 구분 용이
- 특수코드그룹을 사용
ㅇ 1 이상의 비트 오류 검출 가능
- 여분의 특수 코드를 많이 사용할 수 있음
ㅇ 5B/6B 및 3B/4B 방식을 결합한 것
ㅇ 비교적 간단하고 신뢰성있게 저가로 구현 가능
3. 8B/10B에서 사용하는 주요 전문용어
ㅇ Run Length(RL) : 연속되는 비트들의 최대갯수
ㅇ Running Digital Sum(RDS) : 한 코드그룹에서 `0`(+1)과 `1`(-1) 갯수차(+1 및 -1의 합)
ㅇ Running Disparity(RD) : 주어진 기간 동안의 코드그룹에서 계산된 RDS 부호(+ 또는 -)
- 코드 변환 표 例
. 위 표의 우측, 10B 변환 코드그룹에 있는 상이한 비트열 2개 중에
이전 RD가 (-) 또는 (+) 에 따라 하나가 선택되어짐 (전체적인 RDS가 0이 되도록)
4. 응용 例
ㅇ 주요 활용 기술
- Fibre Channel, 1000Base-X (Gigabit Ethernet), Infiniband, PCI-Express,
Serial ATA, SAS, FireWire, MIPI M-PHY, HDMI, DisplayPort, CIPRI, OBSAI,
XAUI, USB3.0 등
ㅇ 기가비트 이더넷 例