KR101056029B1 - 내부 내용주소메모리 모듈을 이용한 룩업 장치 - Google Patents

내부 내용주소메모리 모듈을 이용한 룩업 장치 Download PDF

Info

Publication number
KR101056029B1
KR101056029B1 KR1020060116871A KR20060116871A KR101056029B1 KR 101056029 B1 KR101056029 B1 KR 101056029B1 KR 1020060116871 A KR1020060116871 A KR 1020060116871A KR 20060116871 A KR20060116871 A KR 20060116871A KR 101056029 B1 KR101056029 B1 KR 101056029B1
Authority
KR
South Korea
Prior art keywords
address
lookup
content
memories
storage area
Prior art date
Application number
KR1020060116871A
Other languages
English (en)
Other versions
KR20080047036A (ko
Inventor
안정균
김대환
김성수
이춘영
Original Assignee
주식회사 쿠오핀
주식회사 케이티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 쿠오핀, 주식회사 케이티 filed Critical 주식회사 쿠오핀
Priority to KR1020060116871A priority Critical patent/KR101056029B1/ko
Publication of KR20080047036A publication Critical patent/KR20080047036A/ko
Application granted granted Critical
Publication of KR101056029B1 publication Critical patent/KR101056029B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 ASIC 칩 내부에 모듈화된 내용주소메모리(CAM)를 이용해 저비용으로 고속의 룩업 기능을 수행할 수 있는 룩업 장치에 관한 것으로, 임의의 자연수 N개가 병렬로 구비되며, 요청 신호와 함께 추출된 소스 주소 또는 목적지 주소를 모듈화된 다수개의 내부 내용주소메모리(CAM)로 출력하고, 상기 내용주소메모리(CAM)로부터 출력된 히트 신호가 하이인 경우 상기 내용주소메모리로부터 전달된 콘텐츠 주소를 해쉬 키 대신 사용하여 룩업을 수행하고, 히트 신호가 로우인 경우 해쉬 키를 이용해 룩업을 수행하는 룩업 엔진; 및 칩 내부에 모듈화되어 다수 개가 구비되어 상기 소스 주소 또는 목적지 주소에 대응되는 컨텐츠 데이터를 저장하는 다수개의 상기 내용주소메모리를 포함하되, 상기 내용주소메모리 각각은, 상기 컨텐츠 데이터를 저장하는 저장 영역과, 상기 룩업 엔진의 개수와 동일한 개수가 병렬로 구비되어, 상기 룩업 엔진으로부터 요청 신호와 함께 소스 주소 또는 목적지 주소를 입력받아, 상기 입력된 소스 주소 또는 목적지 주소와 상기 저장 영역에 저장된 콘텐츠 데이터를 비교하여, 매칭 여부를 나타내는 히트 신호와 함께 매칭된 콘텐츠 데이터를 상기 룩업 엔진으로 출력하는 비교기를 포함한다.
룩업, 장치, CAM, 내용, 주소, 메모리, 모듈, IP

Description

내부 내용주소메모리 모듈을 이용한 룩업 장치{Lookup apparatus using a internal contents addressable memory module}
도 1 은 본 발명에 따른 CAM을 이용한 룩업 장치의 블록 구성도.
도 2 는 본 발명에 따른 비교기의 상세 블록 구성도.
도 3 은 본 발명에 따른 룩업 엔진의 타이밍도.
*도면의 주요 부분에 대한 부호의 설명
11: 룩업 엔진
12: 내부 내용번지메모리(CAM)
13: 비교기
14: 저장 영역
본 발명은 내부 내용주소메모리(CAM: Contents Addressable Memory) 모듈을 이용한 룩업 장치에 관한 것으로, 더욱 자세하게는 ASIC 칩 내부에 모듈화된 내용주소메모리(CAM)를 이용해 저비용으로 고속의 룩업 기능을 수행할 수 있는 룩업 장치에 관한 것이다.
현재 고속 라우터의 개발을 위해서 제안되고 있는 룩업 기술은 크게 내용 주소 메모리(CAM)나 캐싱(cashing), 라지 메모리(large memory) 구조를 이용하는 하드웨어를 기반으로 하는 기술과, LC(Level Compressed)트리(trie), 해싱(hashing), 멀티비트 트리(multi-bit trie)와 같은 소프트웨어를 기반으로 하는 기술로 나눌 수 있다. 소프트웨어에 의한 IP 주소 룩업의 구현은 보다 유연하고 프로토콜의 수정으로 쉽게 적용될 수 있는 장점은 가지고 있지만, 고속의 패킷 처리속도에서 하드웨어 기반의 IP 룩업 기술보다는 느린 단점이 있다. 이에 따라 오늘날 주된 라우터들은 하드웨어에 의해 IP 주소 룩업을 행하는 형태로 제작된다.
해쉬를 이용한 룩업 방식을 살펴보면, 2 계층의 매체접근제어(MAC) 주소에 대한 룩업 방식은 48비트의 MAC 목적지 주소와 소스 주소를 CRC32와 같은 방식으로 압축한 후, 특정 영역의 비트 영역을 그 룩업 주소로 사용하는 방식이다. 또한, 3 계층의 IP 주소에 대한 룩업 방식은 32비트의 IP 소스 주소와 목적지에 대해 MAC 주소와 같이 해쉬를 이용하거나 가장 긴 프리픽스 매치를 이용하는 방식이다.
하지만, 이와 같이 내부 해쉬를 이용하는 경우에는 해쉬의 특성상 해쉬값의 충돌(collision) 문제가 발생될 가능성이 많고, 해쉬값의 충돌이 발생되는 경우 속도와 성능이 저하되는 문제점이 있다.
하드웨어에 의한 IP 룩업 기능을 구현하기 위해 사용되는 CAM은 정확한 매 치(match)검색 동작을 하나의 클럭 주기에 실행한다. CAM은 입력되는 검색 키(search key)를 CAM 내의 모든 엔트리들, 즉 CAM 내에서 물리적으로 분할된 세그먼트들에 저장된 모든 요소들과 병렬로 비교하고, 그 결과로서, 검색키와 매칭된 요소가 저장된 물리적 세그먼트들의 주소를 출력한다. 이때 매칭된 요소와 관련된 어떤 데이터가 있다면, 이 데이터 또한 출력된다. 이처럼 CAM은 검색키를 CAM 내의 모든 엔트리들과 병렬로 비교하여 출력함으로써, 신속한 검색이 가능하게 되는데, 통상적으로 10 ~ 20ns 이내의 매우 짧은 잠재(latency) 시간이 소요된다.
그런데, 종래의 라우터는 고가의 외부 CAM을 병렬로 설치하여 룩업의 성능 및 속도를 향상시키는 방식으로 제작되었다. 하지만, 이와 같은 룩업은 상용 CAM을 사용하기 때문에 고속으로 처리할 수는 있지만, 고가의 CAM을 사용하기 때문에 고비용으로, 많은 수의 룩업을 수행해야 하는 환경에서는 비용이 증가하는 문제점이 있었다.
따라서 본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위해 제안된 것으로, ASIC 칩 내부에 모듈화된 내용주소메모리(CAM)를 이용해 저비용으로 고속의 룩업 기능을 수행할 수 있는 룩업 장치를 제공하는데 그 목적이 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명은, 임의의 자연수 N개가 병렬로 구비되며, 요청 신호와 함께 추출된 소스 주소 또는 목적지 주소를 모듈화된 다수개의 내부 내용주소메모리(CAM)로 출력하고, 상기 내용주소메모리(CAM)로부터 출력된 히트 신호가 하이인 경우 상기 내용주소메모리로부터 전달된 콘텐츠 주소를 해쉬 키 대신 사용하여 룩업을 수행하고, 히트 신호가 로우인 경우 해쉬 키를 이용해 룩업을 수행하는 룩업 엔진; 및 칩 내부에 모듈화되어 다수 개가 구비되어 상기 소스 주소 또는 목적지 주소에 대응되는 컨텐츠 데이터를 저장하는 다수개의 상기 내용주소메모리를 포함하되, 상기 내용주소메모리 각각은, 상기 컨텐츠 데이터를 저장하는 저장 영역과, 상기 룩업 엔진의 개수와 동일한 개수가 병렬로 구비되어, 상기 룩업 엔진으로부터 요청 신호와 함께 소스 주소 또는 목적지 주소를 입력받아, 상기 입력된 소스 주소 또는 목적지 주소와 상기 저장 영역에 저장된 콘텐츠 데이터를 비교하여, 매칭 여부를 나타내는 히트 신호와 함께 매칭된 콘텐츠 데이터를 상기 룩업 엔진으로 출력하는 비교기를 포함한다.
또한, 상기 목적을 달성하기 위한 본 발명은, 임의의 자연수 N개가 병렬로 구비되며, 요청 신호와 함께 추출된 소스 주소 또는 목적지 주소를 모듈화된 다수개의 내부 내용주소메모리(CAM)로 출력하고, 상기 내용주소메모리(CAM)로부터 출력된 히트 신호가 하이인 경우 우선 순위 인코더를 이용해 가장 길게 매칭되는 컨텐 츠 데이터를 찾아 룩업을 수행하는 룩업 엔진; 및 칩 내부에 모듈화되어 다수 개가 구비되어 상기 소스 주소 또는 목적지 주소에 대응되는 컨텐츠 데이터를 저장하는 다수개의 상기 내용주소메모리를 포함하되, 상기 내용주소메모리 각각은, 상기 컨텐츠 데이터를 저장하는 저장 영역과, 상기 룩업 엔진의 개수와 동일한 개수가 병렬로 구비되어, 상기 룩업 엔진으로부터 요청 신호와 함께 소스 주소 또는 목적지 주소를 입력받아, 상기 입력된 소스 주소 또는 목적지 주소와 상기 저장 영역에 저장된 콘텐츠 데이터를 정해진 깊이까지 카운팅 하면서 비교하고, 정해진 깊이까지 카운팅이 완료되면, 매칭 여부를 나타내는 히트 신호 및 처리 완료 신호와 함께 매칭된 콘텐츠 데이터를 상기 룩업 엔진으로 출력하는 비교기를 포함한다.
바람직하게는 상기 비교기는, 상기 저장 영역에 저장된 데이터를 읽기 위한 주소를 생성하는 주소 생성수단; 클럭에 따라 카운터 값을 출력하는 카운팅수단; 및 상기 저장 영역으로부터 읽혀진 데이터와 상기 룩업 엔진으로부터 입력된 주소 데이터를 비교하여 그 비교 결과를 출력하는 비교수단을 포함한다.
바람직하게는 상기 룩업 엔진은, 현재 출력한 주소 데이터가 소스 주소인지 목적지 주소인지를 식별하기 위한 SD 지시신호를 생성하여 래치하는 것을 특징으로 한다.
바람직하게는 상기 룩업 엔진은 상기 SD 지시신호가 소스 주소를 식별하고, 상기 비교기로부터 처리 완료 신호가 입력되면, 요청 신호와 함께 목적지 주소를 즉시 상기 비교기로 출력한다.
바람직하게는 상기 저장 영역은 레지스터 파일을 사용하여 읽기 동작과 쓰기 동작이 별도 수행되는 것을 특징으로 한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시 예를 상세히 설명하기로 한다.
도 1은 본 발명에 따른 내부 모듈화된 내용주소메모리(CAM)를 이용한 룩업 장치의 블록 구성도이다.
2 계층의 경우 소스 주소 또는 목적지 주소 컨텐츠를 프레임에서 추출한 후 다음 프레임이 끝나기까지 최소 52 사이클(cycle)이 존재하고, 각각에 대해 매치 여부를 확인해야 하기 때문에 26 사이클을 필요로 한다. 또한 5개의 룩업 엔진(Lookup Engine)에서 하나의 내용주소메모리(CAM)를 사용하기 때문에 조정(arbitration)을 하게 되면 사이클을 더 줄일 수 있다. 이로 인해 현재의 SRAM을 사용하는 구조에서는 몇 개의 엔트리(entry)밖에는 사용할 수 없다. 이에 따라 본 발명은 도 1에 도시된 바와 같이 룩업 엔진의 입력을 조정과 래치(latch) 없이 최대한 많은 엔트리를 비교해 볼 수 있도록 하였다.
도 1에 도시된 바와 같이 본 발명에 따른 룩업 장치는 임의의 자연수 N개가 병렬로 구비되며, 패킷의 헤더로부터 소스 주소 또는 목적지 주소를 추출하여, 요청 신호와 함께 상기 추출된 소스 주소 또는 목적지 주소를 모듈화된 다수개의 내부 내용주소메모리(CAM; 12)로 출력하고, 상기 내용주소메모리(CAM; 12)로부터 출력된 히트 신호가 하이인 경우 상기 내용주소메모리(12)로부터 전달된 콘텐츠 주소를 해쉬 키 대신 사용하여 룩업을 수행하고, 히트 신호가 로우인 경우 해쉬 키를 이용해 룩업을 수행하는 룩업 엔진(11)과, 복수의 모듈로 구성된 상기 내용주소메모리 내에 구비되는 것으로, 컨텐츠 주소를 저장하는 저장 영역(14)과, 복수의 모듈로 구성된 상기 내용주소메모리 내에 구비되는 것으로, 상기 룩업 엔진의 개수와 동일한 임의의 자연수 N개가 구비되어, 상기 룩업 엔진(11)으로부터 요청 신호와 함께 소스 주소 또는 목적지 주소를 입력받아, 상기 입력된 소스 주소 또는 목적지 주소와 상기 저장영역에 저장된 콘텐츠 주소를 비교하여, 매칭 여부를 나타내는 히트 신호와 매칭된 콘텐츠 주소를 출력하는 비교기(13)를 포함한다.
이와 같은 구성을 갖는 본 발명에 따른 룩업 장치에 대해 보다 구체적으로 설명한다.
본 발명에서 룩업 엔진(11)은 임의의 자연수 N개가 병렬로 구비된다. 그리고, 도 1에 도시된 바와 같이 모듈화된 내부 내용주소메모리(CAM; 12)가 8개 구비된다. 물론, 상기 내용주소메모리(CAM)는 필요에 따라 그 개수가 정해질 수 있다.
각각의 내용주소메모리(CAM)는 룩업 엔진(11)의 개수에 대응되는 비교기(13)가 구비되며, 콘텐츠 주소를 저장하는 저장 영역(14)이 마련되어 있다.
도 3은 본 발명에 따른 룩업 엔진의 타이밍도로, 도 3을 참조하여 룩업 엔 진(11)의 동작을 설명하면 다음과 같다.
각각의 룩업 엔진(11)은 아이들(idle) 신호가 "하이"이고, 소스 주소 또는 목적지 주소가 패킷의 헤더로부터 추출되면, 요청 신호(req)를 1클럭 만큼 활성화시킴과 동시에 48비트의 해당되는 소스 주소 또는 목적지 주소(DT[47:0])를 복수의 내용주소메모리 내의 비교기(13)들로 출력한다. 이때 룩업 엔진(11)은 요청한 주소가 소스 주소인지 목적지 주소인지를 알 수 있는 SD 지시신호를 출력한다. 상기 SD 지시신호가 "로우"이면 소스 주소를 나타내고, "하이"이면 목적지 주소를 나타낸다.
이후, 룩업 엔진(11)은 SD 지시신호를 래치하고 있다가 각 내용주소메모리(12)로부터 처리 완료 신호와 함께 히트 신호를 입력받는다. 룩업 엔진(11)은 히트 신호가 "하이"인 경우에는 소스 주소 또는 목적지 주소에 대응되는 컨텐츠 주소가 저장영역에 저장된 경우로, 히트 신호와 함께 입력된 컨텐츠 주소를 해쉬 키 대신 사용하여 룩업을 수행한다. 그리고 히트 신호가 "로우"인 경우에는 매칭되는 주소가 저장 영역에 없기 때문에 종래 기술과 동일하게 해쉬 키를 사용하여 룩업을 수행한다.
룩업 엔진(11)은 현재의 처리 완료가 소스 주소에 대한 것일 경우 즉시 목적지 주소에 대해 내용주소메모리(12)로 매칭 여부를 요청한다.
저장 영역(14)은 2 계층(MAC 주소)용으로 사용되는 경우에는 레지스터 파일을 사용한 rf1p32×64를 8개 사용하여 최대 256 엔트리를 저장하도록 한다. 레지스터 파일을 사용하기 때문에 읽기/쓰기 동작이 별도로 수행된다. 읽기 동작의 경우, 0부터 정해진 깊이(depth)만큼 순환 반복한다. 예를 들어, 깊이가 127일 경우 각각의 메모리에 16 엔트리만큼 설정되어 있으므로 읽기 주소는 0부터 15까지 읽고, 128의 경우는 읽기 주소가 0부터 16까지 읽으며, 최대 255일 경우 0부터 31까지 읽기를 반복한다. 중앙처리장치(CPU)가 데이터를 읽기 시작할 때에도 순환하여 수행되는 도중에 해당되는 데이터를 래치하도록 한다.
도 2는 본 발명에 따른 비교기의 상세 블록 구성도이다.
도 2에 도시된 바와 같이 비교기는 저장 영역에 저장된 데이터를 읽기 위한 주소를 생성하는 주소 생성기(21)와, 클럭에 따라 카운터 값을 출력하는 카운터(22)와, 저장 영역으로부터 읽혀진 데이터와 룩업 엔진으로부터 입력된 주소 데이터를 비교하여 그 비교 결과를 출력하는 48비트 비교기(23)를 포함한다.
비교기(13)는 룩업 엔진(11)으로부터 입력된 소스 주소 또는 목적지 주소와 저장 영역(14)에 저장된 데이터를 비교하여 실제 매칭 여부를 판단한다.
처리 상태는 아이들 상태와 처리 완료 상태를 구분하기 위한 것이다. 처리 상태가 아이들 상태인 "하이" 상태에서 룩업 엔진으로부터 요청 신호가 입력되면 처리 상태는 "로우"가 된다. 그리고, 비교기는 룩업 엔진으로부터 입력된 주소 데이터와 저장영역으로부터 읽은 데이터를 비교하여 매칭 여부를 판단한다. 비교기는 입력된 주소 데이터와 읽은 데이터가 매칭되는 경우 히트 비트와 처리 상태를 "하이"로 하여 출력한다. 그리고, 읽은 데이터에서 SRAM 인덱스를 추출한다. 상기 SRAM 인덱스 값이 매칭된 컨텐츠 주소이다.
매칭 여부는 저장 영역으로부터 데이터가 매 클럭마다 입력되기 때문에 매번 비교하도록 하고, 비교를 하면서 카운터를 증가시켜 설정된 깊이까지 카운터하면, 히트 비트를 리셋 상태로 유지하고, 처리 상태를 "하이"로 하여 비교 결과 히트가 없음을 알린다.
한편, 3 계층인 IP 주소에 대한 룩업에 본 발명을 적용하는 경우에 대해 살펴본다.
IP 주소에 대한 가장 긴 프리픽스 매칭(LPM)을 위해서 비교기는 입력되는 주소 데이터와 마스크를 조합하여 저장 영역으로부터 읽은 데이터와 비교하고, MAC 주소에 대한 비교와 같이 히트 신호가 발생되면 처리 완료 상태로 하여 비교기를 종료하는 것이 아니라 히트 신호가 발생되더라도 정해진 깊이만큼 카운터를 완료한 후 처리 완료 신호를 출력한다. 그 이유는 가장 긴 프리픽스 매칭을 찾기 위함이다. 그리고 룩업 엔진은 입력되는 히트 신호를 우선순위 인코더를 이용하여 가장 길게 매칭되는 주소(컨텐츠)를 찾는다. 이에 따라 2계층 주소(MAC 주소)를 처리하는 룩업 장치에 우선 순위 인코더와 마스크 기능이 추가되어야 한다.
또한, 4 계층에 대한 레인지 필터링에 있어서 필요한 경우 3 계층의 마스크시키는 타이밍에 레인지 내에 입력된 주소 데이터가 속하는지 판단하도록 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
상기와 같은 본 발명은, ASIC 칩 내부에 내용주소메모리(CAM)를 모듈화 하여 다수개 구비시키고, 상기 내용주소메모리에 컨텐츠 주소를 저장한 후, 소스 주소 또는 목적지 주소와 비교하도록 함으로써, 저비용으로 고속의 룩업 기능을 수행할 수 있는 효과가 있다.

Claims (6)

  1. 임의의 자연수 N개가 병렬로 구비되고, 요청 신호와 함께 헤더로부터 추출된 소스 주소 또는 목적지 주소를 모듈화된 복수의 내부 내용주소메모리(CAM)로 출력하며, 상기 복수의 내부 내용주소메모리(CAM) 중 어느 하나로부터 출력된 히트 신호가 매칭 상태를 나타내는 경우 상기 히트 신호와 함께 전달된 콘텐츠 주소를 이용해 룩업을 수행하고, 상기 히트 신호가 비매칭 상태를 나타내는 경우 해쉬 키를 이용해 룩업을 수행하는 복수의 룩업 엔진; 및
    칩 내부에 모듈화되어 복수가 구비되고, 상기 소스 주소 또는 목적지 주소에 대응되는 콘텐츠 데이터를 저장하는 상기 복수의 내부 내용주소메모리를 포함하되,
    상기 복수의 내부 내용주소메모리 각각은,
    상기 콘텐츠 데이터를 저장하는 저장 영역과,
    상기 룩업 엔진의 개수와 동일한 개수가 구비되고, 상기 룩업 엔진으로부터 요청 신호와 함께 상기 소스 주소 또는 목적지 주소가 입력되면, 상기 저장 영역에 저장된 상기 콘텐츠 데이터를 읽기 주소를 이용해 순차적으로 읽어, 상기 입력된 소스 주소 또는 목적지 주소와 상기 저장 영역으로부터 읽은 콘텐츠 데이터의 비교 결과인 상기 히트 신호를 출력하고, 상기 히트 신호가 매칭 상태인 경우 룩업을 위한 상기 콘텐츠 주소를 상기 룩업 엔진으로 출력하는 복수의 비교기를 포함하는 룩업 장치.
  2. 임의의 자연수 N개가 병렬로 구비되고, 요청 신호와 함께 헤더로부터 추출된 소스 주소 또는 목적지 주소를 모듈화된 복수의 내부 내용주소메모리(CAM)로 출력하고, 상기 복수의 내부 내용주소메모리(CAM)로부터 출력된 히트 신호가 매칭 상태를 나타내는 경우 우선 순위 인코더를 이용해 가장 길게 매칭되는 콘텐츠 데이터를 찾아 룩업을 수행하는 룩업 엔진; 및
    칩 내부에 모듈화되어 복수가 구비되고, 상기 소스 주소 또는 목적지 주소에 대응되는 상기 콘텐츠 데이터를 저장하는 상기 복수의 내부 내용주소메모리를 포함하되,
    상기 복수의 내부 내용주소메모리 각각은,
    상기 콘텐츠 데이터를 저장하는 저장 영역과,
    상기 룩업 엔진의 개수와 동일한 개수가 구비되고, 상기 룩업 엔진으로부터 요청 신호와 함께 상기 소스 주소 또는 목적지 주소가 입력되면, 상기 입력된 소스 주소 또는 목적지 주소와 상기 저장 영역에 저장된 콘텐츠 데이터를 정해진 깊이까지 카운팅 하면서 비교하고, 정해진 깊이까지 카운팅이 완료되면, 매칭 여부를 나타내는 히트 신호 및 처리 완료 신호와 함께 룩업을 위한 콘텐츠 주소를 상기 룩업 엔진으로 출력하는 복수의 비교기를 포함하는 룩업 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 복수의 비교기 각각은,
    상기 저장 영역에 저장된 콘텐츠 데이터를 읽기 위한 주소를 생성하는 주소 생성수단;
    클럭에 따라 카운터 값을 출력하는 카운팅수단; 및
    상기 저장 영역으로부터 읽혀진 콘텐츠 데이터와 상기 룩업 엔진으로부터 입력된 소스 주소 또는 목적지 주소를 비교한 결과인 상기 히트 신호와 룩업을 위한 상기 콘텐츠 주소를 출력하는 비교수단을 포함하는 룩업 장치.
  4. 제 3 항에 있어서,
    상기 룩업 엔진은, 현재 출력한 주소 데이터가 소스 주소인지 목적지 주소인지를 나타내기 위한 SD 지시신호를 생성하여 래치하는 룩업 장치.
  5. 제 2 항에 있어서,
    상기 룩업 엔진은, 현재 출력한 주소 데이터가 소스 주소인지 목적지 주소인지를 나타내기 위한 SD 지시신호가 소스 주소를 나타내고, 상기 비교기로부터 상기 처리 완료 신호가 입력되면, 즉시 요청 신호와 함께 목적지 주소를 상기 비교기로 출력하는 룩업 장치.
  6. 제 1 항에 있어서,
    상기 저장 영역은 레지스터 파일을 사용하여 읽기 동작과 쓰기 동작이 별도 수행되는 것을 특징으로 하는 룩업 장치.
KR1020060116871A 2006-11-24 2006-11-24 내부 내용주소메모리 모듈을 이용한 룩업 장치 KR101056029B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060116871A KR101056029B1 (ko) 2006-11-24 2006-11-24 내부 내용주소메모리 모듈을 이용한 룩업 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060116871A KR101056029B1 (ko) 2006-11-24 2006-11-24 내부 내용주소메모리 모듈을 이용한 룩업 장치

Publications (2)

Publication Number Publication Date
KR20080047036A KR20080047036A (ko) 2008-05-28
KR101056029B1 true KR101056029B1 (ko) 2011-08-10

Family

ID=39663725

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060116871A KR101056029B1 (ko) 2006-11-24 2006-11-24 내부 내용주소메모리 모듈을 이용한 룩업 장치

Country Status (1)

Country Link
KR (1) KR101056029B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020067469A (ko) * 2002-07-25 2002-08-22 크로스반도체기술 주식회사 Ip 패킷의 목적지 어드레스 룩업 시스템 및 그 방법
KR20060083369A (ko) * 2005-01-14 2006-07-20 삼성전자주식회사 터너리 내용 주소화 메모리 관리 장치 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020067469A (ko) * 2002-07-25 2002-08-22 크로스반도체기술 주식회사 Ip 패킷의 목적지 어드레스 룩업 시스템 및 그 방법
KR20060083369A (ko) * 2005-01-14 2006-07-20 삼성전자주식회사 터너리 내용 주소화 메모리 관리 장치 및 그 방법

Also Published As

Publication number Publication date
KR20080047036A (ko) 2008-05-28

Similar Documents

Publication Publication Date Title
US8625604B2 (en) Hash-based prefix-compressed trie for IP route lookup
US7827218B1 (en) Deterministic lookup using hashed key in a multi-stride compressed trie structure
US8295286B2 (en) Apparatus and method using hashing for efficiently implementing an IP lookup solution in hardware
US7039764B1 (en) Near-perfect, fixed-time searching algorithm using hashing, LRU and cam-based caching
US20060248095A1 (en) Efficient RAM lookups by means of compressed keys
US7356663B2 (en) Layered memory architecture for deterministic finite automaton based string matching useful in network intrusion detection and prevention systems and apparatuses
US9367645B1 (en) Network device architecture to support algorithmic content addressable memory (CAM) processing
US8335780B2 (en) Scalable high speed relational processor for databases and networks
US7680806B2 (en) Reducing overflow of hash table entries
US20050242976A1 (en) Lookup engine
US20010042204A1 (en) Hash-ordered databases and methods, systems and computer program products for use of a hash-ordered database
WO2008119269A1 (fr) Procédé et dispositif de moteur de stockage et de consultation d'informations
US7117196B2 (en) Method and system for optimizing leaf comparisons from a tree search
US9306851B1 (en) Apparatus and methods to store data in a network device and perform longest prefix match (LPM) processing
WO2020144655A1 (en) Exact match and ternary content addressable memory (tcam) hybrid lookup for network device
Akhbarizadeh et al. A TCAM-based parallel architecture for high-speed packet forwarding
CN112667526B (zh) 一种访问控制列表电路实现方法及其电路
Yu et al. Forwarding engine for fast routing lookups and updates
KR20180080684A (ko) 메모리에 저장된 데이터 검색 방법 및 시스템
Kaxiras et al. Ipstash: A power-efficient memory architecture for ip-lookup
KR101056029B1 (ko) 내부 내용주소메모리 모듈을 이용한 룩업 장치
US20080281789A1 (en) Method and apparatus for implementing a search engine using an SRAM
KR100428247B1 (ko) 아이피 주소룩업에서 고속 엘피엠 탐색을 위한 파이프라인씨에이엠의 구성 방법
JP5631278B2 (ja) 内容参照メモリ
US11709776B2 (en) Methods and systems for a stripe mode cache pool

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150610

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160801

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180502

Year of fee payment: 7

R401 Registration of restoration
FPAY Annual fee payment

Payment date: 20180806

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190904

Year of fee payment: 9