TCAM (Ternary Content Addressable Memory)

1. 삼진수 기반 고속 메모리, TCAM의 개념 및 특징

  • TCAM: Ternary Content Addressable Memory (삼중 콘텐츠 주소 지정 메모리)
개념특징
0, 1, X(Don’t Care)의 3진 상태 기반 1 클럭으로 라우팅 테이블과 ACL 등을 검색하는 고속 메모리– 단일 클럭 고속 병렬 검색
– 0, 1, X의 삼진 상태 지원
– 대량 라우팅 테이블 고속 처리
– 데이터로 검색, SRAM 주소 출력
  • 1955년 MIT에서 CAM의 개념을 제안했고, 초고속 인터넷망 확산과 CIDR 도입 및 라우팅 테이블 폭증으로 인해, 기존 이진 검색 알고리즘의 속도 한계를 극복하고 단일 클럭으로 LPM(Longest Prefix Matching)과 ACL을 고속 처리하기 위해 사이프레스, IDT, IBM 등 반도체/네트워크 기업들이 3진 상태를 처리할 수 있는 TCAM으로 발전 및 상용화

 

2. TCAM의 아키텍처 및 핵심 기술

(1) TCAM의 아키텍처

TCAM 아키텍처
  • 비교할 데이터를 병렬로 입력하여 Match Line의 모든 Cell Match 시 해당 Address의 SRAM 정보(포트 번호, Next-Hop IP, 방화벽 액션 등)를 1 클럭만에 접근

(2) TCAM의 핵심 기술요소

구분기술요소역할
하드웨어
배선
SL (Search Line)– 외부 입력 검색어를 메모리 셀에 병렬 브로드캐스트
– 저장된 데이터(0, 1, X)와 실시간으로 비교 연산
ML (Match Line)– 메모리 셀들의 비교 결과를 취합하여 일치 여부 판정
– 모든 비트 일치 또는 마스크(X) 처리 시 Address 출력
검색 및
상태 처리
병렬 검색 메커니즘– 데이터 기반 저장된 주소를 동시 역탐색
– 데이터 양에 관계없이 1클럭으로 결과 도출
3진 마스크 로직– 0, 1, X(Don’t Care) 상태 지원, 특정 비트 무시 가능
– 서브넷 마스크, 와일드카드 규칙을 하드웨어 레벨 처리
패킷 처리LPM (Longest Prefix Matching) 하드웨어 가속– 최장 일치 경로 검색을 지연 없이 실시간으로 수행
– 패킷 목적지 IP처리, Prefix 기반 라우팅 경로 검색
ACL 필터링 병렬 매칭– ACL 규칙 동시 비교하여 효과적 패킷 제어
– 출발지/목적지 IP, 프로토콜, 포트 번호 등
  • TCAM은 대량의 발열과 전력 소모, 낮은 집적도의 제약이 있으므로, 이를 극복하기 위해 SRAM 기반 해시 검색, 알고리즘 기반 라우팅, 미사용 뱅크의 전력을 동적으로 차단하는 절전 기법 적용

 

3. TCAM과 BCAM 비교

비교 항목TCAM (Ternary CAM)BCAM (Binary CAM)
비교 범위삼항 비교 (0, 1, don’t care)이항 비교 (0, 1)
비교 결과일치 / 불일치 / Don’t Care일치 / 불일치
검색 속도매우 빠름TCAM 대비 느림
활용 사례대규모 라우팅 테이블, ACL 검색소규모 DB, 주소 검색
  • 현재 400G/800G 고속 네트워크 및 AI 데이터센터 확대로 전력과 비용 부담이 커지고 있어 TCAM은 프로그래머블 ASIC이나 SRAM/DPU 기반의 알고리즘 검색으로 대체되는 추세이며, 향후 테라비트급 장비에서 eTCAM 및 초저전력 하이브리드 NPU 형태 중심의 특수 검색 엔진으로 특화될 것으로 전망

 
[참고]

  • Ed Spitznagel 외, Packet Classification Using Extended TCAMs, 2003
  • Cisco Systems, Flexible Forwarding Table on Nexus 9000 White Paper, 2022

Add a Comment