KR20030014385A - 최장 정합을 검색하기 위한 기억장치 시스템 - Google Patents

최장 정합을 검색하기 위한 기억장치 시스템 Download PDF

Info

Publication number
KR20030014385A
KR20030014385A KR1020027013469A KR20027013469A KR20030014385A KR 20030014385 A KR20030014385 A KR 20030014385A KR 1020027013469 A KR1020027013469 A KR 1020027013469A KR 20027013469 A KR20027013469 A KR 20027013469A KR 20030014385 A KR20030014385 A KR 20030014385A
Authority
KR
South Korea
Prior art keywords
word
sub
words
signal
data
Prior art date
Application number
KR1020027013469A
Other languages
English (en)
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 KR1020027013469A priority Critical patent/KR20030014385A/ko
Publication of KR20030014385A publication Critical patent/KR20030014385A/ko

Links

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
    • G11C15/04Digital 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 using semiconductor elements

Abstract

본 발명은 검색된 데이타에 대하여 최장 정합을 갖는 단어를 검색하기 위하여 내용 주소화 기억장치에 적용될 방법 및 회로에 관한 것이다. 데이타의 단어는 각각의 기억장치 셀에 저장되며, 데이타의 단어는 예정된 순서로 일군의 부-단어로 구성되고, 각각의 부-단어는 기억장치의 하나 이상의 비트로 구성된다. 각각의 단어의 부-단어 순서내에 동일한 위치를 갖는 모든 부-단어는 동일한 횡단 라인과 관련되며, 상기 방법은 다음과 같은 단계로 구성되어 있다.
a) 검색된 데이타를 정합하는 제1의 부-단어에 대하여 스틸 정합 신호를 세팅하고,
b) 예정된 순서로 동일한 단어의 모든 부-단어에 대하여 모든 이전의 정합 신호가 세트된 경우에 부-단어에 대하여 스틸 정합 신호를 세팅하고,
c) 횡단 라인이 관련되는 부-단어에 대하여 스틸 정합이 세트되는 경우 논리1에 횡단 라인을 세팅하고,
d) 상기 부-단어의 스틸 정합 신호가 세트되고, 단어에서 그 다음의 부-단어위치에 횡단 라인이 세트되지 않는다는 조건이 만족되는 경우 단어의 마지막 연속정합 부-단어에 최장 정합 신호를 세팅하고,
e) 상기 단어의 부-단어에 대한 최장 정합 신호가 세트되는 경우 단어 정합 신호를 세팅 한다.

Description

최장 정합을 검색하기 위한 기억장치 시스템{Memory system for searching a longest match}
PCT WO 00070832 A1에는 경제적이고 고속의 최장 전위 검색 시스템에 대한 필요성이 잘 설명되어 있다.
현존하는 루팅 시스템에서, 여러가지 알고리즘이 수개의 기억장치 검색 주기를 사용하여 최장 전위 검색을 달성한다. 많은 루팅 시스템에서, 내용 주소화 기억장치는 주어진 길이를 갖는 전위를 검색하는데 사용되며, 최장 정합이 검색될 때까지 검색을 위한 가변크기를 사용함으로서 소프트웨어 또는 하드웨어에서 수개의 반복검색이 이루어진다. 그와 같은 시스템의 예가 미국특허 제6067574호, 제5983223호 및 제6052683호에 기술되어 있다.
내용 주소화 기억장치 배열에서 하나의 기억장치 셀의 위치를 높은 전자속도에서 검색하기 위한 수단을 제공하는 것이 바람직할 수 있는데, 상기 기억장치 셀은 상기 배열에서 모든 기억장치 셀 가운데 최대수의 연속 정합 비트를 갖는 데이타의 단어를 저장한다. 단일 기억장치 셀에서 그와 같은 "최장 정합 검색" 동작의 실행을 가능하게 하는 것이 또한 바람직할 수 있다.
전자 회로에 의하여 전자속도로 "최장 정합 검색" 동작을 실행하는 것이 유리할 수 있다.
본 발명은 최장 정합(longest match)을 검색하기 위한 기억장치 시스템에 관한 것으로서, 보다 상세하게는 단일 검색 주기에서 최장 정합단어를 검색하기 위하여 내용 주소화 기억장치(CAM) 또는 콜 아웃 기억장치(COM)에 조합될 수 있는 전자회로 및 시스템에 관한 것이다.
통신 시스템에서, 그의 월드 와이드 웹(World Wide Web)이 일예이며, 다수의 메시지(패킷)가 전송된다. 각각의 메시지는 수신국 어드레스를 포함하며, 수신국에 따라 루팅 시스템에 의하여 보내어진다. 수신국의 어드레스는 고정길이를 단어에 저장될 수 있다. 통상적으로 공통 전위(prefix)를 갖는 어드레스의 그룹은 동일한 도메인에 지정되며, 따라서 동일한 루팅을 요한다. 그러나 이들 도메인 어드레스는 상이한 길이를 가질 수도 있다. 일반적으로 루팅 시스템은 기억장치에 다수의 도메인 전위의 테이블을 포함하며, 입력 메세지의 어드레스가 주어진 도메인에 속하는가를 검사하기 위하여 검색을 실행한다. 어드레스가 검색되는 경우, 루팅 정보가 관련 테이블로 부터 검색된다. 루팅 시스템은 고속으로 출발시키기 위한 다량의 메시지를 가질 수도 있기 때문에, 테이블의 저장된 전위을 정합하는 어드레스의 최장전위를 검색하기 위한 시스템을 디자인하는 것이 바람직할 수 있으며, 상기 시스템은 고속에서 작용한다.
도 1 은 최장 정합 검색 시스템에서 구성 요소로서 흔히 사용되는 내용 주소화 기억장치의 전형적인 블록도를 나타낸 것이고,
도 2 는 전형적인 내용 주소화 기억장치에서 단어 정합 신호가 어떻게 발생되는가를 나타낸 것이고,
도 3 은 CAM 또는 COM에 조합되는 본 발명의 바람직한 실시예를 나타낸 것이며,
도 4 는 바람직한 실시예에서 하나의 부-단어에 관련된 회로의 상세도 이며,
도 5 는 바람직한 실시예에서 모든 단어의 주어진 위치(j)에서 모든 부-단어가 횡단 라인(Tj)을 어떻게 활성화시키는 가를 보여주는 것이고,
도 6 은 부-단어의 하나가 최장 정합 출력을 활성화 시키는 경우 단어(Wi)의 단어 정합 라인이 어떻게 활성화되는 가를 보여주는 것이며,
도 7 은 VLSI 회로에서 바람직한 실시예의 실행의 일반적인 예를 나타낸 것이고,
도 8 은 부-단어 위치(1, 2, 3)에 대한 VLSI 회로를 보여주는 것이며,
도 9 는 대시 라인에 의하여 둘러 쌓인 도8의 영역의 회로의 상세도이다.
본 발명의 기억장치 시스템의 목적은 내용 주소화 기억장치 배열에서 하나의 기억장치 셀의 위치를 전자속도에서 검색하기 위한 수단을 제공하는데 있으며, 상기 기억장치 셀은 상기 배열에서 모든 기억장치 셀 가운데 최대수의 연속 정합 비트를 갖는 데이타의 단어를 저장한다. 오직 전자 회로에 의하여 이루어지는 최장정합 검색 동작은 하기 구성으로 이루어지는 방법을 사용함으로서 단일 기억장치주기에서 이루어질 수 있다.
각각의 단어 데이타는 예정된 순서로 배열된 일군의 부-단어(sub word)를 포함하고, 주어진 부-단어(Bij)의 부-단어 정합 신호(Mij)는 상기 부-단어의 비교기의 출력에 따라 세트된다.
단어(Wi)의 연속 정합 부-단어는 각각의 부-단어에서 독립적으로 발생되는 "스틸 정합(Still Match)"신호에 의하여 검출된다.
부-단어의 각각의 "정합" 출력은 AND 논리 게이트에 의하여 동일한 단어의 이전의 부-단어의 "스틸 정합" 신호와 조합되는데, 단어의 제1의 부-단어는 예외이며, 이 경우 "스틸 정합" 신호는 "정합" 신호와 동일한 신호에 세트된다.
스틸 정합 신호는 현재의 부-단어 이전의 모든 부-단어가 정합 데이타를 포함하는 경우 세트(논리1)되며, 이에 의하여 최소한 제1의 부-단어 정합을 갖는 각각의 단어에 대하여 세트된 신호의 "정합 체인(Matching Chain)"이 달성된다.
최장 정합이 최장 정합 체인을 검색함으로서 검색된다.
최장 정합 체인의 길이를 검색하는 임무는 다음 방식으로 수행된다.
제1위치를 제외하고, 부-단어의 각각의 가능한 위치에 대하여, 횡단 라인이 관련된다. 그리고 각각의 횡단 라인은 기억장치 배열의 모든 단어 가운데 최소한 하나의 스틸 정합 신호가 논리 수준1에 세트되는 경우 및 경우에만 논리 수준1에세트된다. 이는 주어진 부-단어 위치에 대한 모든 단어의 모든 스틸 정합 신호의 "OR" 조합에 의하여 이루어진다.
이와 같이하여, 각각의 단어는 정합 체인의 최대길이를 횡단 라인에 마크한다. 마지막으로 최고 위치에서 논리 수준1을 갖는 라인은 최장 정합 체인의 길이를 나타낸다.
최장 정합 체인의 단부에서 부-단어는 제1 횡단 라인에 신호가 세트되지만 그 다음 횡단 라인에 신호가 세트되지 않는 경우에 "최장 정합" 신호가 달성되도록 부-단어와 관련된 횡단 라인상의 신호와 그 다음 횡단 라인상의 신호를 논리 게이트에서 조합함으로서 검출된다.
스틸 정합 신호가 단어의 마지막 부-단어를 위해 세트되는 경우, 이는 명백하게 최장 정합 체인에 있다. 따라서 마지막 부-단어를 위하여 최장 정합 신호는 스틸 정합 신호와 동일하게 세트된다.
마지막으로, 단어 정합 신호는 최장 길이를 갖는 정합 체인이 검출된 각각의 단어에 대하여 활성화된다. 이는 넓은 OR 게이트에 의하여 단어를 위해 모든 최장 정합 신호를 집합시키므로서 이루어진다.
표준 CAM의 경우에서와 같이, 기억장치의 수개의 단어는 단어 정합 신호를 활성화시킬 수 있으며, 각각의 하나의 단어는 최장 정합 조건을 만족시킨다. 그러나 CAM 또는 COM은 출력을 위해 하나의 셀의 어드레스만을 선택하기 위하여 우선순위 인코더 또는 우선순위 마스크를 포함할 수 있으며, 상기 선택은 CAM 또는 COM의 특정 형태의 우선순위 시스템에 따라 이루어진다. 그와 같은 우선순위 마스크는PCT/IL00/00121호에 상세히 기술되어 있다.
본 발명은 예컨대 데이타 베이스 및 데이타 압축 시스템에서와 같은 기타 시스템에서는 물론 통신 시스템에서 유리하게 사용될 수 있다.
본 발명은 단일 검색 주기에서 최장 정합 단어를 검색하기 위하여 내용 주소화 기억장치(CAM) 또는 콜 아웃 기억장치(COM)에 조합될 수 있는 전자 회로 및 시스템에 관한 것이다. 또한 본 발명의 원리는 세트된 횡단 라인의 수에 따라 최장정합의 크기를 기록하는 CAM 또는 COM을 디자인하는데 사용될 수 있다. 그와 같은 CAM에 있어서, 최장 정합의 크기가 검색된 후, 정확한 검색은 최장 정합을 넘어서 비트를 마스크하면서 공통 형태의 제2의 CAM 또는 COM을 사용하거나, 또는 공통 CAM또는 COM 모드에서 작용하는 동일한 CAM 또는 COM을 사용함으로서 이루어질 수 있다.
CAM, COM 또는 기타 결합 기억장치에서, 기억장치에 나타난 기준 데이타로 기억장치 셀의 내용의 정합을 검출하는 비교기가 각각의 기억장치 셀에 제공되어 있다. 하나의 기억장치 셀의 내용이 기준 데이타(정합 셀)로 주어진 관계를 검증할때는 언제나, 비교기는 논리 신호를 출력한다. 이 논리 신호는 특정 CAM 또는 COM의 우선순위 시스템에 따라 정합 셀 중의 하나의 위치를 출력하는 시스템을 활성화시킨다.
본 발명에 따른 기억장치 시스템의 목적은 내용 주소화 기억장치 배열에 하나의 기억장치 셀의 위치를 전자 속도에서 검색하기 위한 수단을 제공하는데 있으며, 상기 기억장치 셀은 상기 배열에서 모든 기억장치 셀 가운데 연속 정합 비트의 최대수를 갖는 데이타의 단어를 저장한다.
본 발명의 시스템에 의하면, 그와 같은 최장 정합 검색 동작은 단지 전자 회로에 의하여 이루어지며, 이는 단일 기억장치 주기에서 이루어질 수 있다.
본 발명은 예컨대 데이타 베이스 및 데이타 압축 시스템에서와 같은 기타 시스템에서는 물론 통신 시스템에서 유리하게 사용될 수 있다.
특별한 적용에 따라, 비트는 그룹(부-단어)에 지정될 수도 있으며, 최장 정합 기능은 이들 부-단어에 적용될 수도 있다. 이 경우 최장 정합 단어를 연속 정합부-단어의 최장 체인을 갖는 데이타의 단어라고 칭한다. 그와 같은 적용의 예는 최장 정합을 텍스트 문자열의 테이블에서 검색하고자 하는 경우이며, 이 경우 문자열의 각각의 문자는 여덟 개의 비트 단어를 점유한다.
본 발명은 CAM에 조합하고자 하는 시스템에 관한 것이기 때문에, 이하 첨부도면과 관련하여 전형적인 CAM을 설명하고자 한다. 첨부 도면은 직선 기하학적 라인을 사용한 전자 회로의 개략도 이며, 이들 회로의 실제형상은 첨부도면과 일치하지 않을 수도 있음은 물론이다.
도1은 일반적으로 사용되는 내용 주소화 기억장치를 도시한 것이다. 각각 데이타의 단어를 저장할 수 있는 다수의 기억장치 셀 (W1- Wn)이 어드레스 디코더를 통하여 어드레스 버스에, 다수의 비트라인에 의하여 데이타 버스에 연결되어 있다.
CAM은 두 개의 동작 모드를 갖고 있다. 제1의 판독/기록 모드에서, 데이타는 기억장치 셀에 기록되거나 또는 기록장치 셀로부터 검색될 수 있다. 제2의 CAM 모드에서, 데이타는 데이타 버스에 적용되고, 기억장치는 정합 데이타를 저장하는 기억장치 셀의 어드레스를 복귀시킨다. 이 목적을 위하여, 또한 각각의 기억장치 셀은 비교기 회로를 포함한다. 상기 비교기는 시스템이 CAM 모드에 놓일 때 단어에저장된 데이타와 데이타 버스에 적용된 데이타 사이에서 예정된 관계가 검증되는 경우 정합 단어 신호를 출력한다. 하나 또는 그 이상의 단어가 단어 정합 신호를 출력하는 경우, 우선순위 시스템 또는 회로는 출력을 위한 하나의 단어만의 어드레스를 선택하는데 사용되며, 이 선택은 CAM에 대하여 정해진 특정 규칙에 따라 이루어진다.
도1은 내용 주소화 기억장치의 하나의 유형을 보여주는 것으로서, 본 발명의 회로가 적용될 수 있는 그와 같은 CAM의 구성에 대하여 여러 가지 변형이 가능함은 물론이다. 본 발명 원리의 실행은 기억장치 구성의 유형에 달려있지 않으며, 본 발명의 회로는 여러 가지 유형의 CAM 또는 COM에 조합될 수 있다.
도2는 종래기술의 내용 주소화 기억장치에서 정합 단어 신호의 발생을 도시한 것이다. 이 실시예에서 기억장치 셀은 데이타의 단어( WN)를 저장하며, 상기 단어는 부-단어{Bi,l... Bi,j... Bi,w}의 부호(w)로 구성되어 있다. 전형적으로 각각의 부-단어는 하나의 비트 또는 다수의 비트로 구성되게 된다.
각각의 부-단어(Bi,j)에, 비교기가 결합된다. 비교기는 부-단어에 저장된 데이타와 비트라인에 세트된 데이타를 비교하여 예정된 관계가 검증되는 경우 부-단어 정합 신호를 세트한다. 전형적으로, 상기 관계는 동등할 수 있지만 이와는 다른 관계가 예상될 수 있다.
하나의 단어의 모든 부-단어 정합 신호는 단어 정합 신호를 형성하도록 AND 논리 게이트에 입력된다. 따라서 단어 정합 신호는 모든 부-단어가 정합을 이루고있는 것으로 검색되는 경우 논리 수준1에 세트되게 된다.
그와 같은 시스템에서 모든 부-단어는 단어 정합 신호를 활성화시키기 위하여 정합하고 있음은 물론이다.
본 발명의 목적은 모든 부-단어가 정합하고 있지 않는 경우에도 새로운 조건에 따라 단어 정합 신호를 활성화시키는 시스템을 제공하는데 있다. 상기 새로운 조건은 제1의 부-단어로부터 출발하여 다수의 연속 정합 부-단어가 검색된 기억장치에 저장된 모든 단어 가운데 최고인 경우 단어 정합 신호를 활성화시키게 된다. 이 조건은 최장 정합 조건으로 언급되게 된다.
도3 및 4는 상기 새로운 조건의 실행을 위한 바람직한 실시예를 나타낸 것이다. 기억장치의 단어의 배열이 도시되어 있으며, 각각의 단어(Wi)는 부-단어(Bi,j){Bi,l-Bi,w}의 번호(w)로 구성되어 있다. 도3에서, 세 개의 단어(W1, W2및 Ww)만이 도시되어 있으며, 각각의 단어에 대하여 세 개의 부-단어가 위치(1, 2 및 w)에 도시되어 있다.
부호(Bi,j)는 위치(J)에서 단어(Wi)의 부-단어를 기술하는데 사용되며, 부-단어(Bi,j)의 각각과 관련된 회로는 도4에 도시되어 있다.
각각의 부-단어(Bi,j)는 주어진 크기의 디지탈 데이타를 저장할 수 있는 기억장치의 요소이다. 또한 각각의 부-단어(Bi,j)는 도4에 도시한 바와 같이 그리고 도2와 관련하여 상술한 바와 같이 비교기를 포함한다. 상기 비교기는 부-단어 데이타 및 비트라인에 세트된 데이타가 주어진 관계를 검증하는 경우 정합 신호를 출력한다. 기억장치 구성요소의 상세는 도시되어 있지 않으며, 기억 및 검색수단은 공지된 형태의 것이다. 상술한 바와 같이, 기억장치 구성요소는 판독 또는 기록을 위해 각각의 기억장치 셀을 어드레스 하기 위한 수단을 제공한다. 각각의 부-단어는 부-단어에 저장된 데이타를 비트라인에 의하여 기억장치에 나타나는 데이타와 비교하기 위한 비교기를 또한 포함한다. 우선순위 인코더 회로(도시되지 않음)는 수개의 단어 정합 신호가 활성화 되는 경우 하나의 독특한 셀을 선택하여 그의 어드레스를 출력하는데 사용될 수도 있다. 그와 같은 우선순위 인코더 회로 또는 우선순위 마스크 회로는 PCT/IL00/ 00121호에 기술되어 있다.
도4와 관련하여, 주어진 부-단어(Bi,j)의 부-단어 정합 신호(Mi,j)는 상기 부-단어의 비교기의 출력에 따라 세트된다.
제1의 부-단어(Bi,l)로부터 출발하여 단어(Wi)의 연속 정합 부-단어를 검출하기 위하여, "스틸 정합" 신호(SMi,j)는 각각의 부-단어에 지정된다.
부-단어(Bi,j)의 각각의 "정합" 출력(Mi,j)은 AND 논리 게이트에 의하여 동일한 단어의 이전의 부-단어 ""스틸 정합" 신호(SMi,j-1)와 조합된다. 단어(Wi)의 제1의 부-단어(Bi,j)는 예외이며, 이 경우 SMi,j는 Mi,j과 동일한 신호로 세트된다.
스틸 정합 신호(SMi,j)는 k≤j를 갖는 모든 부-단어(Bi,k)가 정합 데이타를 포함하는 경우 세트된다(논리1). 최소한 제1의 부-단어 정합을 갖는 각각의 단어에 대하여, 세트된 스틸 정합 신호(SMi,j)의 체인을 갖는다. 또한 상기 체인은 정합체인이라고 칭한다. 그리고 최장 정합을 검색하는 작업은 최장 정합 체인을 검색함으로서 수행된다.
도3 및 4에 도시된 바와 같이 정합 체인을 형성하기 위한 논리적 배치는 바람직한 실시예의 예이고, 논리 게이트의 다른 조합은 동일한 결과를 달성하는데 사용될 수 있음은 물론이다. 예컨대, 모든 부-단어(Bi,k)가 정합 데이타를 갖는다는 것을 검증하기 위하여 k≤j를 갖는 모든 이전의 Mi, k를 정합하는 넓은 AND 게이트를사용할 수 있다. 논리 게이트의 그와 같은 조합 또는 부가는 예컨대 시스템의 응답시간을 단축시키기 위하여 이용될 수 있다. 이들 조합에서 Mi,k의 동일한 논리기능이 얻어지게 된다. 즉 SMi,j 신호는 k≤j를 갖는 부-단어(Bi,k)의 전체 체인이 정합 데이타를 갖는 경우에만 세트된다.
도3과 관련하여, 최장 정합 체인의 길이를 검색하는 작업은 다음 방식으로 수행된다.
제1위치를 제외하고, 부-단어의 각각의 가능 위치(j)에 대하여 횡단 라인(Tj)이 관련된다. 따라서 전체적으로 횡단 라인의 수(W-1)는 정의된다(T2- Tw). 그 다음 각각의 라인(Tj)은 상기 위치에서 모든 부-단어 가운데 위치(j)에서 최소한 하나의 부-단어가 스틸 정합 신호(SMi,j)을 발생하는 경우 및 경우에만 논리 수준1에 세트된다. 이는 주어진 부-단어 위치(j)에 대하여 모든 단어(Wi)의 모든 SMi,j 신호의 "OR" 조합에 의하여 이루어진다. 이러한 OR 연결(도3에 도시됨)은 도5에서 확대되어 있다.
이와 같은 방식으로, 각각의 단어는 정합 체인의 최대길이를 횡단 라인에 마크한다. 마지막으로, 최고(j)를 갖는 논리 수준1에서 Tj 라인은 최장 정합 체인의 길이를 나타낸다.
최장 정합 체인의 단부에서 부-단어를 검출하는 작업은 도4에 도시되어 있다. 각각의 부-단어(Bi,j)에서 관련 횡단 라인(Tj)의 신호와 그 다음의 횡단 라인(Tj+1)의 신호는 다음의 조건이 검증되는 경우 "최장 정합" 신호(LMi,j)을 형성하도록 논리 게이트에서 조합된다.
라인(Tj)의 신호는 세트되고, 라인(Tj+1)의 신호는 세트되지 않는다.
이 조건은 도4에서 도시한 바와 같이 스틸 정합 신호(SMi,j)와 횡단 라인(Tj+1)의 역 상태를 AND 게이트에서 조합함으로서 실행된다. 이 특별한 경우는 단어(Wi)의 마지막 부-단어(Bi,w)에 대하여 한정된다. 이 경우, 스틸 정합 신호(SMi,w)가 세트되는 경우, w는 단어에서 부-단어의 최대수 이기 때문에 최장 정합체인에서 뚜렷하다. 따라서 상기 마지막 부-단어(Biw)에 대하여 신호(LMi,j)는 신호(SMi,j)와 동일하게 세트된다.
최장 길이를 갖는 정합 체인이 검출된 각각의 단어에 대하여 단어 정합 신호를 활성화시키는 작업이 남아있다. 도6에 도시된 바로부터 알 수 있는 바와 같이, 단어(Wi)의 모든 LMi,j는 단어 정합 신호(WMi,j)을 세트하도록 "넓은 OR" 논리 게이트로 집합된다.
도면과 관련하여 상술한 바와 같이, 본 발명의 회로 및 시스템은 최장 정합조건에 따라 단어(Wi)의 단어 정합 신호(WMi)를 활성화시키는데 사용된다. 표준 CAM의 경우에서와 같이, 기억장치의 수 개의 단어는 단어 정합 신호를 활성화시킬수 있으며, 각각은 최장 정합 조건을 만족시킨다. 그러나 CAM 또는 COM은 출력을 위해 하나의 셀의 어드레스만을 선택하기 위하여 우선순위 인코더 또는 우선순위마스크를 포함할 수도 있으며, 선택은 CAM 또는 COM의 특별한 형태의 우선순위 시스템에 따라 이루어진다.
본 발명은 바람직한 실시예에 대하여 상술하였지만 본 발명은 이에 한정되는 것이 아니며 본 발명의 정신 및 범위 내에서 여러 가지 변형이 가능하다. 따라서 예컨대 바람직한 실시예의 라인 대신에 여러 가지 요소를 연결하기 위하여 다른 구성요소가 이용될 수 있다.
VLSI 실행의 예
도8은 상술한 바와 같이 횡단 라인이 실행되지 않는 제1, 제2 및 제3 부-단어(Bi-1,1 ; Bil 및 Bi+1,1)에 대한 실시예를 도시한 것이다.
도7 및 8에서, VLSI 실행을 위한 바람직한 실시예가 도시되어 있으며, 이 경우 OR 기능은 라인을 방전하기 위하여 트랜지스터를 사용하므로서 실행되고, 정합체인은 직렬 트랜지스터에 의하여 실행된다.
도8은 각각 세 개의 부-단어(j, j+1 및 j+2)를 갖는 단어(Wi-1, Wi 및 W+1)에 대한 일반적인 배치를 보인 것이다.
제9도는 하나의 부-단어(Bi,j)에 관련된 회로를 도시한 것이다. 도9에서 보는 바와 같이, 각각의 부-단어(Bl,j)에 네 개의 트랜지스터(Q1-Q4)가 관련되어 있다. 스틸 정합 신호(SMi,j)는 스틸 정합 신호(SMij-1및 SMi,j)에 대하여 도9에 도시된 바와 같이 각각의 부-단어에 각각 관련된 라인의 부분에 세트된다. 라인의 이들 부분은 SMi,j 라인으로 칭하여 진다. 하나의 단어의 모든 SMi,j 라인은 직렬로 연결되고. 트랜지스터(Q2)에 의하여 각각의 SMi,j 라인의 하나의 단부는 그 이전의 SMi,j-1라인에 연결되고, 다른 단부는 동일한 단어의 그 다음의 SMi,j+1에 연결된다.
Smi,j 라인을 SMi,j-1와 연결시키는 부-단어(Bi,j)의 트랜지스터(Q2)의 게이트는 부-단어(Bi,j)의 부-단어 정합 신호에 연결되므로, 부-단어가 정합 데이타를 갖는 경우, 트랜지스터는 전도되고, 라인(SMi,j)은 라인(SMi,j-1)에 연결된다. 또한 도8은 단어(Wi)의 제1의 부-단어(Bi,l)에 대한 특별한 경우를 보여주고 있다. 상기 제1의 부-단어(Bi,l)의 라인(SMi,l)은 트랜지스터에 의하여 접지(제로볼트)에 연결되고, 그의 게이트는 부-단어 정합 신호(Bi,l)에 연결되어 있다.
초기화 단계에서, 모든 SMi,j 라인, 모든 횡단 라인(Tj) 및 모든 단어 정합 라인은 사전 전하된다. 사전 전하도 VLSI에서 일반적인 기술이다. 또한 클럭 신호는 먼저 제로볼트에 세트된다. 역 논리를 사용하면 단어 정합 라인은 알려진 바와같이 사전 전하되는 대신에 사전 방전되게 된다는 것을 알 수 있다.
최장 정합 검출을 위해 기억장치를 활성화하면, 부-단어 정합 신호는 정합신호를 갖는 모든 부-단어에 대하여 세트되게 된다. 도9에 도시된 부-단어(Bi,j)를 고려하면, 부-단어 정합 신호는 트랜지스터(Q2)가 전도되게 하고, 이전의부-단어(SMi,j-1) 라인의 퍼텐셜에 SMi,j 라인의 퍼텐셜을 동일하게 한다. 도8과 관련하여, k≤j를 갖는 이전의 모든 부-단어(Bi,k)가 정합하고 있는 경우, 제1의 부-단어에서, 스틸 정합 신호(SMi,l)는 접지에 연결된게 되고, 모든 SMi,k 라인은 트랜지스터(Q2)를 통하여 접지에 방전되게 된다.
이와 같은 방식으로, 라인 부분(SMi,j)은 모든 부-단어(Bi,l-Bi,j)가 정합 데이타를 포함하는 경우에만 접지에 방전되게 된다. 이들 SMi,j 라인에 대한 논리 수준1에 제로 퍼텐셜을 한정하면, 이는 상술한 정합 체인에 해당하는 기능을 수행한다.
다시 도7 및 8과 관련하여, 상술한 본 발명의 원리에 의하면, 횡단 라인(Tj)은 각각의 부-단어 위치에 지정되고, 단어(Wi)의 정합 체인이 부-단어(Bi,j)에 도달하는 경우, 상기 부-단어(Bi,j)에 지정된 라인(Tj)은 논리1에 세트된다. 이는 도9에서 부-단어(Bi,j)에 대하여 도시된 바와 같이 다음과 같은 방식으로 이루어진다.
각각의 횡단 라인(Tj)은 트랜지스터(Q1)를 통하여 각각의 부-단어(Bi,j)에서 SMi,j 라인에 연결되고, 트랜지스터의 게이트는 상기 부-단어(Bi,j)의 부-단어 정합 신호(Mi,j)에 연결된다.
SMi,j가 방전(논리 수준1) 되는 경우, 횡단 라인(Tj)은 정합 신호(Mi,j)에 의하여 전도하는 트랜지스터(Q1)를 통하여, 그리고 k≤j를 갖는 모든 SMi,k 라인의 체인을 통하여 또한 방전하게되고, 도5에 도시된 OR 기능의 등가를 수행한다.
도9는 대시 라인에 의하여 둘러 쌓인 도8의 영역의 확대도를 나타낸 것이다. 트랜지스터(Q4 및 Q3)는 단어 정합 라인을 SMi,j 라인에 연결시킨다.
모든 정합 신호가 세트된 후, 클럭 신호는 고 퍼텐셜에 세트되고 모든 트랜지스터에 적용되어 전도되게 한다. 부-단어(Bj,j)의 트랜지스터(Q3)의 게이트는 그다음의 횡단 라인(Tj+1)에 연결된다. 이 횡단 라인(T3+1)이 방전되지 않은 경우(즉, 논리 수준0)(정합 체인이 부-단어 j+1에 도달하지 않음을 의미), 트랜지스터(Q3)는 전도상태로 유지되고, 그의 게이트는 라인(Tj+1)에 연결되었다. 스틸 정합 신호 (SMi,j)가 접지에 방전되는 경우(정합 체인이 부-단어 Bi,j에 도달하였음을 의미), 또한 단어 정합 라인은 트랜지스터(Q3 및 Q4)를 통하여 접지에 방전되게 된다.
환언하면, 단어 정합 라인은 다음의 조건이 실행되는 경우 방전되게 된다.
하나의 부-단어 위치(Bi,j-)에서, SMi,j는 방전된다(k≤j를 갖는 모든 부-단어 Bi,k가 정합 데이타를 가짐을 뜻함).
횡단 라인(Tj+1)은 방전되지 않았다(다른 단어는 부-단어 j+1까지 연속 정합 데이타를 갖지 않음을 의미함).
이는 단어 정합 라인이 정합 부-단어의 최장 체인을 갖는 단어에 대해서만 방전되게 되는 것을 확실하게 한다.
따라서 상기 도시된 시스템 및 회로는 기억장치의 각각의 단어가 기억장치의 모든 단어 가운데 연속 정합 부-단어의 최장 체인을 포함하는 경우에 기억장치의각각의 단어에 대하여 신호를 선택적으로 세트하는 수단을 제공하여주며, 상기 체인은 주어진 단어 위치에서 시작된다.
동일한 논리 기능이 클럭 신호의 유무에 관계없이 수개의 상이한 방식으로 실행될 수 있으며, 게이트 및/또는 방전 회로의 상이한 조합이 본 발명을 이루는데 사용될 수 있음은 물론이다. 그러나 본 발명의. 방법 및 원리는 실행을 가능하게 하는 회로 디자인의 상이한 방식 및 모드를 포함하는 일반적인 기술을 제공하여 준다.
첨부도면은 직선 기하학적 라인을 사용한 전자 회로의 개략도 이며, 본 발명의 회로의 실제형상은 첨부도면과 일치하지 않을 수도 있다.
본 발명은 예컨대 데이타 베이스 및 데이타 압축 시스템에서와 같은 기타 시스템에서는 물론 통신 시스템에서 유리하게 사용될 수 있다.

Claims (12)

  1. 각각의 기억장치 셀이 데이타의 단어를 저장할 수 있고, 상기 단어는 예정된 순서로 일군의 부-단어로 구성되고, 각각의 부-단어는 기억장치 회로 및 비교기 회로를 포함하며, 각각의 부-단어는 기억장치의 하나 이상의 비트로 구성되고, 각각의 부-단어는 상기 부-단어의 모든 정합 신호를 통하여 논리 AND 기능을 수행하는 제1회로에 의하여 상기 예정된 순서로 상기 부-단어에 선행하는 모든 부-단어와 함께 스틸 정합 라인에 연결되고, 개개의 단어의 상기 예정된 부-단어 순서내에 동일한 위치를 갖는 모든 부-단어로부터 상기 논리기능으로 부터 얻어지는 모든 스틸정합 신호는 제1의 넓은 OR 회로를 경유하여 상기 횡단 라인에 연결되고, 각각의 부-단어 위치에서 제2의 AND 회로는 상기 스틸 정합 회로 및 그 다음의 부-단어와 관련된 횡단 라인의 역신호를 연결하고, 하나의 단어의 모든 부-단어에 대한 상기 제2의 AND 회로의 모든 출력은 제2의 넓은 OR 회로에 연결되며, 이에 의하여 기억장치의 주어진 단어는 최다수의 연속 정합 부-단어를 갖는 곳에 단어 정합 신호를 출력하는 것을 특징으로 하는 검색 데이타에 대해 최장 정합을 갖는 단어를 검색하기 위해 내용 주소화 기억장치에서 실행되는 회로.
  2. 제1항에 있어서, 상기 제1의 AND 회로는 일련의 AND 게이트에 의하여 실행되고, 하나의 AND 게이트는 각각의 부-단어와 관련되고, 상기 AND 게이트는 상기 부-단어의 정합 신호 및 그 이전의 부-단어의 스틸 정합 신호를 입력으로서 수신하는것을 특징으로 하는 회로.
  3. 제1항에 있어서, 하나 이상의 상기 AND 회로는 사전 방전된 또는 사전 하전된 라인을 각각 하전 또는 방전하기 위하여 트랜지스터를 직렬로 포함하는 것을 특징으로 하는 VLSI 장치에서 실행되는 회로.
  4. 제1항에 있어서, 하나 이상의 상기 OR 회로는 사전 방전된 또는 사전 하전된 라인을 각각 하전 또는 방전하기 위하여 트랜지스터를 병렬로 포함하는 것을 특징으로 하는 VLSI 장치에서 실행되는 회로.
  5. 제1항, 제3항 또는 제4항에 있어서, 클럭 신호는 동작 주기를 동기화하는데 사용됨을 특징으로 하는 회로.
  6. 검색데이타에 대해 최장 정합을 갖는 단어를 검색하기 위해 내용 주소화 기억장치에 적용되며, 데이타의 단어가 각각의 기억장치 셀에 저장되고, 데이타의 상기 단어는 예정된 순서로 일군의 부-단어로 구성되고, 각각의 부-단어는 기억장치의 하나 이상의 비트로 구성되며 그들 개개의 단어의 부-단어 순서내에 동일한 위치를 갖는 모든 부-단어는 하나의 횡단 라인과 관련되는 방법에 있어서,
    a) 검색된 데이타를 정합하는 제1의 부-단어에 대하여 스틸 정합 신호를 세팅하고,
    b) 예정된 순서로 동일한 단어의 모든 부-단어에 대하여 모든 이전의 정합신호가 세트된 경우에 부-단어에 대하여 스틸 정합 신호를 세팅하되, 상기 스틸 정합 신호는 상기 예정된 순서로 모든 이전의 스틸 정합 신호 및 관련 부-단어 정합신호의 AND 논리 조합이며,
    c) 횡단 라인이 관련되는 부-단어에 대하여 스틸 정합이 세트되는 경우 논리 1에 횡단 라인을 세팅하고,
    d) 상기 부-단어의 스틸 정합 신호가 세트되고, 단어에서 그 다음의 부-단어위치에 횡단 라인이 세트되지 않는다는 조건이 만족되는 경우 단어의 마지막 연속 정합 부-단어에 최장 정합 신호를 세팅하고,
    e) 상기 단어의 부-단어에 대한 최장 정합 신호가 세트되는 경우 단어 정합 신호를 세팅하는 것으로 구성됨을 특징으로 하는 방법.
  7. 제6항에 있어서, 상기 내용 주소화 기억장치는 세트된 횡단 라인의 수에 따라 최장 정합의 크기를 기록하고, 정확한 검색은 공통 형태의 제2의 내용 주소화 기억장치를 사용함으로서 이루어 질수 있으며, 최장 정합을 넘어서 비트를 마스크하는 것을 특징으로 하는 방법.
  8. 제6항에 있어서, 상기 내용 주소화 기억장치는 세트된 횡단 라인의 수에 따라 최장 정합의 크기를 기록하고, 정확한 검색은 공통 CAM 또는 COM 모드에서 작용하는 동일한 CAM 또는 COM을 사용함으로서 이루어 질 수 있음을 특징으로 하는 방법.
  9. 다수의 데이타 단어를 갖는 기억장치에서의 스틸 정합 신호로서, 각각의 데이타 단어는 예정된 순서로 일군의 부-단어를 포함하고, 상기 스틸 정합 신호는 상기 부-단어의 각각에 대하여 개별적으로 세트되고, 상기 스틸 정합 신호는 상기 예정된 순서에 따라 동일한 데이타 단어의 모든 이전의 부-단어의 또든 이전의 스틸정합 신호가 세트된 경우에 세트되고, 각각의 스틸 정합 신호는 관련 부-단어 정합신호 및 예정된 순서로 이전의 스틸 정합 신호의 AND 기능의 출력임을 특징으로 하는 스틸 정합 신호.
  10. 다수의 데이타의 단어를 갖는 내용 주소화 기억장치에서의 횡단 라인의 세트로서, 각각의 데이타의 단어는 일군의 부-단어를 포함하고, 상기 부-단어는 예정된 순서로 가능 위치의 순서를 점유하고, 상기 횡단 라인의 하나는 각각의 상기 단어내에서 상기 가능 부-단어 위치의 각각에 관련되고, 횡단 라인은 상기 횡단 라인과 관련된 부-단어의 위치에 선행하는 데이타의 상기 단어중의 하나의 단어내에서 모든 부-단어와 상기 부-단어 그 자체가 검색된 정보를 정합하고 있는 경우에 세트됨을 특징으로 하는 횡단 라인의 세트.
  11. 다수의 데이타 단어를 갖는 기억장치에서의 최장 정합 신호로서, 각각의 데이타 단어는 예정된 순서로 일군의 부-단어를 포함하고, 상기 최장 정합 신호는 상기 부-단어의 각각에 개별적으로 관련되고, 상기 최장 정합 신호는 상기 스틸 정합신호가 상기 단어의 부-단어에 대하여 세트되고, 상기 단어에서 그 다음의 부-단어위치에 상기 횡단 라인이 세트되지 않는 경우에 데이타 단어에 대하여 세트됨을 특징으로 하는 최장 정합 신호.
  12. 다수의 데이타 단어를 갖는 기억장치에서의 단어 정합 라인의 세트로서, 각각의 데이타 단어는 예정된 순서로 일군의 부-단어를 포함하고, 하나의 단어 정합신호는 상기 부-단어의 각각에 개별적으로 관련되고, 상기 최장 정합 신호는 상기 스틸 정합 신호가 상기 단어의 부-단어에 대하여 세트되고, 상기 단어에서 그 다음의 부-단어 위치에 상기 횡단 라인이 세트되지 않는 경우에 데이타 단어에 대하여 세트됨을 특징으로 하는 단어 정합 라인의 세트.
KR1020027013469A 2002-10-01 2001-02-01 최장 정합을 검색하기 위한 기억장치 시스템 KR20030014385A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020027013469A KR20030014385A (ko) 2002-10-01 2001-02-01 최장 정합을 검색하기 위한 기억장치 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020027013469A KR20030014385A (ko) 2002-10-01 2001-02-01 최장 정합을 검색하기 위한 기억장치 시스템

Publications (1)

Publication Number Publication Date
KR20030014385A true KR20030014385A (ko) 2003-02-17

Family

ID=49322864

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027013469A KR20030014385A (ko) 2002-10-01 2001-02-01 최장 정합을 검색하기 위한 기억장치 시스템

Country Status (1)

Country Link
KR (1) KR20030014385A (ko)

Similar Documents

Publication Publication Date Title
US6381673B1 (en) Method and apparatus for performing a read next highest priority match instruction in a content addressable memory device
US6961810B2 (en) Synchronous content addressable memory
US6246601B1 (en) Method and apparatus for using an inter-row configurable content addressable memory
US6499081B1 (en) Method and apparatus for determining a longest prefix match in a segmented content addressable memory device
US6460112B1 (en) Method and apparatus for determining a longest prefix match in a content addressable memory device
US6240485B1 (en) Method and apparatus for implementing a learn instruction in a depth cascaded content addressable memory system
CN100401425C (zh) 用于在按内容寻址的存储器中执行可变宽度搜索的电路和方法
US6219748B1 (en) Method and apparatus for implementing a learn instruction in a content addressable memory device
US6243281B1 (en) Method and apparatus for accessing a segment of CAM cells in an intra-row configurable CAM system
US6137707A (en) Method and apparatus for simultaneously performing a plurality of compare operations in content addressable memory device
US7230840B2 (en) Content addressable memory with configurable class-based storage partition
US6539455B1 (en) Method and apparatus for determining an exact match in a ternary content addressable memory device
US7872890B1 (en) Counter circuit for regular expression search engines
US20030028713A1 (en) Method and apparatus for determining an exact match in a ternary content addressable memory device
US6252789B1 (en) Inter-row configurability of content addressable memory
US6707692B2 (en) Content addressable memory device capable of being used as binary CAM device or as ternary CAM device and structure method therefor
US6751701B1 (en) Method and apparatus for detecting a multiple match in an intra-row configurable CAM system
WO1999023663A1 (en) Synchronous content addressable memory with single cycle operation
US20030163637A1 (en) Memory system for searching a longest match
US6799243B1 (en) Method and apparatus for detecting a match in an intra-row configurable cam system
US7272684B1 (en) Range compare circuit for search engine
US6892272B1 (en) Method and apparatus for determining a longest prefix match in a content addressable memory device
US11894054B2 (en) Methods for writing ternary content addressable memory devices
US6813680B1 (en) Method and apparatus for loading comparand data into a content addressable memory system
US6795892B1 (en) Method and apparatus for determining a match address in an intra-row configurable cam device

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination