CAM과 TCAM: 내용으로 찾는 병렬 검색 메모리
CAM과 TCAM의 병렬 검색 원리, 일반 메모리와의 차이, 네트워크 장비·캐시·데이터베이스 활용 및 전력 제약을 정리한다.
2026-08-14 · 최초 발행 2026-01-06
주소가 아니라 값으로 찾는 메모리
CAM(Content Addressable Memory)은 저장 위치의 주소를 읽는 대신, 찾으려는 데이터 자체를 검색 키로 넣는 메모리다. 각 저장 엔트리가 검색 키와 동시에 비교되며, 일치한 위치는 매치 신호와 주소로 반환된다.
이 방식은 연관 메모리(Associative Memory)라고도 한다. 한 번의 클럭에 검색을 끝내는 단일 사이클 검색, 다중 매치가 발생했을 때 최우선 주소를 고르는 우선순위 인코더가 CAM 동작의 핵심이다.
일반 메모리는 주소를 입력해 데이터를 얻지만, CAM은 데이터를 입력해 주소를 얻는다.
검색은 검색 키 입력, 전체 엔트리의 동시 비교, 일치 엔트리 표시, 매치 위치의 주소 인코딩, 매치 주소 또는 매치 플래그 출력 순서로 진행된다.
정확한 일치와 마스크를 다루는 방식
BCAM(Binary CAM)은 모든 비트가 정확히 같을 때만 매치한다. 각 셀은 SRAM과 비교 로직으로 구성되며, 완전 일치 검색만 처리하는 대신 구조가 단순하고 빠르다. 복잡도가 낮아 전력 효율도 상대적으로 높지만, 검색 조건의 표현력은 제한적이다.
TCAM(Ternary CAM)은 0과 1에 더해 X(Don't Care) 상태를 저장한다. X가 지정된 비트는 비교에서 무시할 수 있어, IP 주소 서브넷이나 와일드카드 패턴 같은 조건을 다룰 수 있다.
마스크와 범위 검색을 지원하는 대신 TCAM 셀은 2개 SRAM과 비교 로직을 사용한다. BCAM 대비 2배의 전력을 소모한다는 특성도 함께 고려해야 한다.
Range CAM은 특정 값의 범위를 매칭한다. 크거나 작은 값을 찾는 부등호 연산과 연속 범위의 압축 표현에 적합하며, 방화벽의 포트 범위 매칭이나 QoS 트래픽 분류 기준에 활용된다.
패킷 처리 경로에서 CAM이 맡는 일
네트워크 장비는 짧은 시간 안에 많은 검색을 처리해야 한다. L2 스위치는 MAC 주소 테이블을, L3 라우터는 IP 라우팅 테이블을 조회한다. 방화벽은 ACL(Access Control List)을 매칭하고, 침입 탐지와 QoS 정책 적용도 패킷 패턴 및 분류 기준의 신속한 판별을 요구한다.
프로세서 내부에서도 CAM 성격의 검색은 쓰인다. TLB는 가상-물리 주소 변환 캐시로 동작하며, 브랜치 예측의 분기 타겟 주소 캐시와 캐시 태그 비교도 관련된다. VIVT 캐시와 작은 완전 연관 필터 캐시 역시 이러한 검색 방식이 필요한 영역이다.
데이터베이스 시스템에서는 해시 조인, 인덱스 검색, 중복 값 탐지, 비교 연산의 병렬화, 정규식 검색 가속에 활용할 수 있다.
셀 구성과 성능의 교환 관계
BCAM 셀은 SRAM 셀, XOR 비교 로직, 매치 라인으로 구성된다. TCAM 셀은 2개 SRAM 셀과 더 복잡한 비교 로직으로 0, 1, X 상태 및 마스크를 표현한다.
각 워드에는 매치 라인이 있고 모든 워드가 병렬 비교를 수행한다. 여러 엔트리가 일치하면 우선순위 인코더가 최소 또는 최대 매치 주소를 선택한다. 선택된 주소는 연관 데이터를 읽기 위한 SRAM 접근으로 이어진다.
| 특성 | CAM | 일반 메모리 |
|---|---|---|
| 검색 시간 | O(1) | O(n) 또는 O(log n) |
| 전력 소모 | 매우 높음 | 낮음 |
| 집적도 | 낮음 (12~18T/cell) | 높음 (6T/cell) |
| 비용 | 매우 높음 | 낮음 |
| 응용 | 고속 검색 | 일반 저장 |
| 확장성 | 제한적 | 우수 |
CAM은 엔트리 수와 무관하게 일정한 검색 시간을 제공하고, 단일 사이클 병렬 검색과 파이프라인을 통한 연속 검색이 가능하다. 소프트웨어 대비 1000배 이상 빠른 하드웨어 가속과 나노초 단위 응답 시간도 이 구조의 장점이다.
반대로 모든 셀을 동시에 활성화하기 때문에 전력 소모가 크다. 복잡한 셀 구조는 집적도를 낮추고 특수 공정 필요성은 비용을 높인다. 용량도 일반적으로 수백 KB로 제한된다.
운영 환경에서는 검색 범위를 미리 좁히는 사전 분류, 필요한 뱅크만 켜는 뱅크 분할, 비대칭 셀 구조를 쓰는 저전력 TCAM, 자주 검색되는 엔트리의 우선 배치, 미사용 블록의 클럭을 차단하는 클럭 게이팅으로 전력 부담을 줄일 수 있다.
고속 검색을 넓히는 CAM 계열
CAM의 제약을 보완하려는 방식으로 SRAM과 알고리즘을 결합해 TCAM을 에뮬레이션하는 Algorithmic TCAM, SRAM과 CAM을 섞는 Hybrid CAM, 수직 적층으로 집적도를 높이는 3D CAM이 제시되고 있다. 광신호로 병렬 비교를 수행하는 광학 CAM과 신경망 기반 연관 메모리인 뉴로모픽 CAM도 확장 방향에 포함된다.
AI/ML의 근사 최근접 이웃 검색, 그래프 처리의 노드 연결 탐색, 유전체학의 DNA 서열 매칭, 이미지 검색의 특징 벡터 비교, 추천 시스템의 유사 아이템 검색은 이러한 고속 검색 구조가 적용될 수 있는 영역이다. 고속 검색의 필요성이 커지면서 Algorithmic CAM 같은 형태는 더 다양한 분야로 확산될 전망이다.