KR100562806B1 - 내용어드레서블메모리시스템 - Google Patents

내용어드레서블메모리시스템 Download PDF

Info

Publication number
KR100562806B1
KR100562806B1 KR1019980035171A KR19980035171A KR100562806B1 KR 100562806 B1 KR100562806 B1 KR 100562806B1 KR 1019980035171 A KR1019980035171 A KR 1019980035171A KR 19980035171 A KR19980035171 A KR 19980035171A KR 100562806 B1 KR100562806 B1 KR 100562806B1
Authority
KR
South Korea
Prior art keywords
chip
cam
signal
self
timing
Prior art date
Application number
KR1019980035171A
Other languages
English (en)
Other versions
KR19990023987A (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 노오텔 네트웍스 리미티드
Publication of KR19990023987A publication Critical patent/KR19990023987A/ko
Application granted granted Critical
Publication of KR100562806B1 publication Critical patent/KR100562806B1/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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Static Random-Access Memory (AREA)
  • Logic Circuits (AREA)

Abstract

시스템은 공통 버스에 직렬로 연결된 복수개의 내용 어드레서블 메모리(content addressable memory : CAM) 칩을 포함한다. CAM 칩의 각각은 검색 결과(히트, 정합 어드레스 및 다중 정합)를 제공한다. 히트 신호 및 다중 정합 신호는 칩에서 칩으로 전달된다. 시스템 히트 결과는 가장 먼 다운 스트림 CAM 칩으로부터 주어진다. 시스템의 정합 어드레스 결과는 온-칩의 셀프-타이밍 신호가 버스 에 대한 구동 경쟁이 존재하지 않는 것을 보장하는 공통 버스로부터 주어진다.

Description

내용 어드레서블 메모리 시스템{CONTENT ADDRESSABLE MEMORY SYSTEM}
본 발명은 복수개의 CAM 칩이 케스케이드-접속된 내용 어드레서블 메모리(content addrssable memory : CAM) 시스템에 관한 것이다.
공지된 CAM에서, 데이터는 물리적 위치보다는 내용(content)에 기초하여 선택된다. 이러한 기능은 많은 응용예, 특히 긴 식별 단어에서 보다 짧은 단어로 맵핑하기 위한 목적으로 룩업(look-up) 기능을 수행하는 경우에 유용하다. 이러한 동작은 비동기 전송 모드 어드레스 변환을 포함한, 많은 텔레콤 기능에서 필요로 한다.
종종, 시스템 저장장치의 요구사항은 단일 CAM 칩상에 기억되는 엔트리(entries)의 수를 초과한다. 이때 다중 칩이 요구되고, 그것들이 단일 엔티티(entity)로서 검색될 수 있도록 이러한 다중 칩을 케스케이드하기 위한 수단이 개발될 필요가 있다. 적절한 "사용자 친화적(user-friendly)" 케스케이드 능력은 동일 칩이 서로 다른 용량 조건을 가지는 시스템들에 사용될 수 있게 하고, 또한 용이한 확장력 및 확장성(expandability and scalability)을 가능하게 한다.
1996년 10월 22일 Kawana 등에게 허여된 미국 특허 번호 제5,568,416은 다중 CAM 칩이 케스케이드 내의 모든 칩을 통하여 결과 어드레스 및 상태를 전파함으로써 케스케이드되는 관계 메모리(associative memory)를 개시한다. 각 칩은 자신을 위한 상태 레지스터를 포함하고, 모든 업스트림 칩을 위한 또 다른 상태 레지스터를 포함한다. 상기 문헌은 또한 케스케이드 내의 최종 디바이스를 식별하는 수단과 공통의 고유한 데이터 엔트리들에 대한 별도의 기억 영역을 개시한다.
본 발명의 목적은 개선된 내용 어드레서블 메모리 시스템을 제공하는데 있다.
본 발명의 하나의 특징에 따르면, 공통 버스; 및 상기 버스에 케스케이드되어 연결되는 복수개의 내용 어드레서블 메모리(content addressable memory : CAM) 칩 - 상기 CAM 칩의 각각은 w 워드 × b 비트의 코어 셀 어레이 및 인코딩 수단을 구비하고, 상기 코어 셀은 데이터 기억 수단을 구비하며, 상기 CAM 칩은 상기 인코딩 수단을 통해 검색 동작으로부터의 결과인 히트 및 정합 어드레스 신호를 제공할 수 있슴 - 을 구비하되, 상기 CAM 칩의 각각은, 칩에서 칩으로 히트 신호를 전파하기 위한 신호; 및 상기 버스에 상기 어드레스 신호를 제공하기 위한 수단을 구비하는 시스템이 제공된다.
시스템에서, 상기 CAM 칩의 검색 동작으로부터의 결과인 시스템 히트 신호는 칩에서 칩으로 전파된다. 시스템 히트 결과는 다운 스트림 CAM 칩으로부터 주어지고 시스템 정합 어드레스 결과는 공통 버스로부터 주어진다. 시스템은 n × w 워드를 가지는 단일 다중-칩 CAM으로서 기능을 하고, n은 CAM 칩의 수이다.
CAM 칩의 각각은 버스에 정합 어드레스 신호를 제공하는 것이 허용되는 상기 CAM 칩을 결정하기 위한 구동 수단을 더 구비할 수 있다. 상기 구동 수단은 하나 이상의 CAM 칩이 상기 버스에 상기 어드레스 신호를 동시에 제공하는 것을 방지하기 위한 수단을 구비한다.
지금부터 본 발명의 실시예가 첨부하는 도면을 참조로 예로서 서술될 것이다.
바람직하게는, 단일 칩 CAM과 동일한 세 개의 간단한 결과 출력(즉, 히트(hit), 정합 어드레스(match address) 및 다중 정합(multiple match))을 갖는 다중-칩 CAM을 구현한다. 또한, 동일한 칩의 n 개의 복수의 인스턴스들만을 이용하여 하나의 칩에서 n개의 칩 시스템까지의 간편한 확장성을 가능하게 하는 것이 더 바람직하다.
Ⅰ. CAM 어레이의 개념
도 1a는 단일 CAM 어레이를 개념적으로 나타낸다. CAM 어레이(110)는 세 개의 출력: 즉, 히트 ht, 다중 정합 mt 및 정합 어드레스 sa를 가진다. 다른 온-칩 신호뿐만 아니라, 어레이 출력들은 본 명세서에서 소문자로 표시된다. (핀을 경유하여) 온 및 오프 칩을 통과하는 신호는 대문자로 표시된다. 이하, CAM 칩이 도시될 때마다, 도 1b에 도시된 바와 같이 어레이가 CAM 칩(120)상에 내장되는 것을 암시한다. 어레이 출력 및 칩 출력 사이의 가장 간단한 연결이 도 1c에 도시되어 있다.
Ⅱ. 다중 CAM 칩의 효과적인 연결 방법
본 발명의 취지는 복수개의 CAM 칩을 효과적인 방법으로 연결할 수 있도록 하는 것이다.
간단한 확장성으로 케스케이드 능력(cascadability)을 달성하기 위해서, 칩 설계시 다음과 같은 요건이 필요하다.
(1) 다중 칩은, 각각의 추가적인 칩에 대한 새로운 보드-레벨 신호(board-level signal)가 필요없도록, 가능한 한 많은 제어 신호 및 버스들을 공유할 수 있어야 한다.
(2) 다중 칩의 조합이 단일 개체(entity)로서 나타나도록 하기 위해, 복수개의 CAM 칩이 케스케이드된 시스템 내의 소정의 위치에서 전체적인 검색 결과를 알 수 있어야 한다. 만약 한 위치가 제공되면, 이것은 인코드된 정합 어드레스, 히트 지시, 및 다중 정합 지시에 적용된다. 만약 (소정의 위치에 결과를 제공하는) 이러한 능력이 있다면, 검색 결과를 결정하기 위해 다중 칩을 순차적으로 폴링(poll)할 필요가 없게 된다.
(3) 케스케이드된 모든 칩은
(a) 실제 물리적 조성
(b) 프로그램된 능력, 특히 "우선 순위"의 관점에서 동일할 필요가 있다. 칩의 우선 순위는 본질적으로 케스케이드에서의 그 위치에 의해 정의되어야 하고, 온-칩 레지스터의 프로그래밍을 필요로 해서는 안된다.
(4) 케스케이드 형태로 연결된 칩에서 칩으로 구동되는 신호의 수는 최소화되어야 한다.
(a) 인코드된 정합 어드레스는 너무 넓어서 이러한 형태로 전달할 수 없다.
(b) 칩-대-칩 "데이지-체인(daisy-chain)" 신호는 칩-대-칩 시그널링(signalling)시의 그 용도 이외에, 이상적으로 사용자에게 어떤 의미를 가져야 한다.
(5) 케스케이드의 모든 칩이 단일의 버스 상으로 그들 개개의 정합 어드레스 결과를 구동할 수 있다는 것이 상기 설계 요건으로부터 명확하다.
(a) 이러한 버스에 대한 어떠한 경쟁(contention)의 문제가 있어서는 안된다.
(b) 온-칩 회로는 어떤 칩이 버스를 구동시킬지를 결정해야 한다.; 인에이블시키기 위해 칩을 선택하는 수단을 가질 필요는 없다.
Ⅲ. 공유 신호 수의 최대화
공유 신호 수를 최대화하기 위해, 다중-칩 케스케이드된 CAM에서의 모든 칩은
(1) 기록 데이터용 공통 입력 데이터 버스.
(2) 판독 데이터용 공통 출력 데이터 버스.
(3) 랜덤하게 어드레스가능한 기록 및 판독용 공통 어드레스 버스.
(4) 전체적으로, 다중-칩 CAM에 대해 어떤 동작(기록, 판독,또는 검색)이 수행되고 있는 지를 결정하기 위한, 공통 세트의 모드 제어 신호.
(5) 검색 입력 (또는 "컴퍼런드(comparand)")용 공통 입력 버스.
(6) 검색결과, 즉 통상적으로 인코드된 정합의 어드레스를 위한 공통 출력 버스, "결과"는 또한 컴퍼런드와 함께 기억되고 그와 관련되는 데이터 항목일 수 있다. 이는 또한 다음과 같은 일련의 데이터 항목이 될 수 있다.
(a) 다중 정합의 검색 결과의 경우에, 다중 인코드된 어드레스들.
(b) 관련 데이터의 다수의 항목들.
(c) 상기의 조합
상기 버스 (1), (2), (5)는 용이하게 2중 또는 3중 사용할 수 있슴을 알 수 있다.
메모리 판독 및 기록용 버스 및 제어 신호의 공유는 널리 공지되어 있고 문헌에 기록되어 있기 때문에, 다음에는 케스케이드된 CAM의 검색 기능을 다룬다.
Ⅳ. 다중 칩 CAM 시스템의 개념
시스템 히트 및 다중 정합 결과는 다운스트림의 끝(낮은 우선 순위 끝)에서 이용 가능하다.
다중 정합 기능이 반드시 제공될 필요는 없다.
인코드된 어드레스는 공유된 결과 버스 상에서 이용 가능하다. 이는 이하를 포함한다.
(a) 상기 공통 출력 버스 설명 (6)에 의해 기술된 바와 같이, 버스를 구동시키도록 인에이블되는 특정 칩에 의해 결정되는 바와 같은 결과.
(b) 결과 및 선택된 칩을 유일하게 식별하는 인코드된 어드레스.
상기 인코드된 어드레스는 다중 칩을 통해 전파될 필요가 없다.
모든 칩은 (상기 언급된 임의의 선택적 식별 인코딩 능력과는 별도로) 동일하며, 우선 순위는 케스케이드에서 위치에 의해 결정된다. 보다 먼 업스트림이거나 또는 보다 좌측에 있을 수록 우선 순위가 더 높게 된다. 보다 높은 우선 순위 정합은 보다 낮은 우선 순위 정합이 결과 버스를 구동시키는 것을 디스에이블시킨다.
도 2에 도시된 바와 같이 히트, 다중 정합, 내부 전파 히트(propagation-in hit), 및 내부 전파 다중 정합 핀들의 연결은 "데이지 체인(daisy chaine)"을 구현한다.
주어진 히트 및 다중 정합의 쌍은 그 특정 쌍의 (좌측으로의) 전체 시스템 업스트림의 상태를 가리킨다.
Ⅴ. 다중 칩 CAM 시스템의 실시예
본 발명의 일실시예에 따른 시스템을 나타내는 도 2를 참조하면, 시스템은 케스케이드된 n개의 CAM 칩(120)을 포함하며, 그 CAM 칩(120)의 각각은 공통 공유 버스(122)에 정합 어드레스 신호 SA를 제공한다. CAM 칩(120)의 각각은 업스트림 CAM 칩(120)으로부터 히트 및 다중 정합 신호(오프-칩 신호) HTI 및 MTI를 각각 수신하기 위한 히트 및 다중 정합 입력 단자와, 하향(downstream)의 CAM 칩(120)에 히트 및 다중 정합 신호 HT 및 MT를 각각 제공하기 위한 히트 및 다중 정합 출력 단자를 가진다. 가장 상향(upstream)의 CAM 칩(120)의 히트 및 다중 정합 입력 단자는 논리 0 단자에 연결된다. CAM 칩(120)은 후에 기술될 다수의 변형을 갖는다. 시스템 히트 및 다중 정합 결과 SHT 및 SMT는 가장 우측(가장 먼 다운스트림 CAM 칩(120))에서 이용 가능하다. 클럭 발생기(124)는 CAM 칩(120)에 클럭 신호 ck를 제공한다. 검색 결과 관측 회로(126)는 버스(122) 및 가장 먼 다운스트림 CAM 칩(120)의 히트 및 다중 정합 출력 단자에 연결된다.
히트 및 다중 정합 결과 HT 및 MT가 단일 칩의 상태보다는 시스템의 모든 또는 일부의 상태에 대한 정보를 제공하기 때문에, 소정의 칩의 상태를 결정하기 위한 다른 수단이 제공되어야 한다. 상태 정보의 이용 가능한 일부는 버스(122)상으로 그 결과를 구동시킨 칩의 서열 위치(즉, 정합하는 가장 높은 우선 순위 칩)이다. 칩 서열의 이진 표현은, 하나의 가능한 방식으로는, 도 3에 도시된 논리 회로에 의해 결정될 수 있다. 이러한 방법은 히트 신호를 입력으로서 사용하여, 케스케이드를 형성하는 CAM 칩에 대해 외부의 논리 회로를 필요로 한다.
도 3은 어떤 CAM 칩이 공통 버스를 구동시키는 가를 결정하기 위한 n 개의 AND 게이트를 포함하는 외부 논리 회로를 갖는, 케스케이드된 CAM 칩을 도시한다. 도 3을 참조하면, AND 게이트(128)의 각각은 반전 및 비반전 입력 단자를 가진다. CAM 칩(120)의 히트 입력 및 출력 단자는 각 AND 게이트(128)의 반전 및 비반전 입력 단자에 연결된다. AND 게이트(128)로부터 n 출력 신호는 n 대 log2n 인코더(130)에 입력된다.
대안으로서, AND 게이트(128)는, CAM 칩(120) 상에 어떤 특정 칩이 최고-우선 순위 히트를 갖는지, 어느 특정 칩이 버스(122)를 구동하는지의 여부를 나타내도록 추가적인 핀이 제공된 집적된 온-칩일 수 있다. 또한, 검색 어드레스 결과는 온-칩의 레지스터(도시 생략)에 기억될 수 있다. 인코더(130)의 출력은 칩의 결과 레지스터가 판독되는지를 결정하는데 사용될 수 있다.
상기에서, 온-칩 회로가 공통 버스에 대한 어떠한 경쟁도 초래하지 않는다는 것을 보장해야만 한다는 것, 즉, 결코 하나 이상의 칩이 한 번에 버스(122)를 구동시키려고 시도하지 않도록 보장하여야 한다고 설계 요건 (5)에서 설명하였다. 이러한 기능의 온-칩을 구현하기 위해, 내부 셀프-타이밍 신호(self-timed signal)가 도입된다. 이러한 신호는 검색 동작을 초기화하는 클럭 신호 ck의 상승 에지 다음에 로우가 된다. 또한, 유효 데이터가 내부 어드레스 버스 상에, 그리고 내부 히트 상태 신호 ht에 나타난 후 상승한다. 그러므로, 셀프-타이밍 신호상의 천이는 히트 신호 ht상의 천이를 모델링하도록 이루어질 수 있다. 이러한 천이의 타이밍이 도 4에 도시된다.
도 4에 도시된 신호가 주어지면, 시스템 히트 상태가 전파되고 단일 칩만이 공유 결과 버스를 구동시키는 것이 보장된다. 이는 칩간 신호(inter-chip signals)들이 어떻게 발생되는지를 나타내는 도 5에 도시된 논리로 수행된다.
도 5는 칩간 신호를 발생시키기 위한 논리 회로를 갖는 CAM 어레이를 도시한다. 도 5를 참조하면, CAM 칩(120)은 CAM 어레이(110), 하나의 반전 입력을 갖는 AND 게이트(132), 전달 게이트(134), 하나의 반전 입력을 갖는 OR 게이트(136) 및 버퍼(138)를 포함한다. 오프-칩 신호 HTI로부터의 내부 전파(propagation-in) 히트 신호 hti가 AND 게이트(132)의 반전 입력 단자 및 OR-게이트(136)에 입력된다. 내부 셀프-타이밍 신호 st는 AND 게이트(132)에 및 OR-게이트(136)의 반전 입력 단자에 제공된다. CAM 어레이(110)로부터의 히트 신호 ht가 AND 게이트(132) 및 OR 게이트(136)에 입력된다. 정합 어드레스 인에이블 신호 sae는 AND 게이트(132)에서 전달 게이트(134)로 입력된다. CAM 어레이(110)로부터의 어드레스 신호 sa는 전달 게이트(134)에 입력되는데, 이로 인해 인에이블 신호 sae가 로우일 때 어드레스 신호가 게이트를 통과하는 것을 방지한다. 오프-칩 어드레스 신호 SA는 전달 게이트(134)에 의해 제공된다. OR 게이트(136)로부터의 외부 전파 히트 신호(propagation-out hit signal) hto는 오프-칩 히트 신호 HT를 제공하는 버퍼(138)에 입력된다.
시스템의 모든 칩 상에서 st=0일 때의 시간 간격 동안에는, 어떠한 칩도 버스(122)를 구동시키도록 인에이블되지 않는다. 동일 간격 동안, 케스케이드된 모든 히트 신호 HT는 st=0이므로, 논리 1에 있고, 이는 내부 전파 히트 신호 hti를 통해 SA 출력 구동기를 이중으로 디스에이블시킨다. 이러한 부분적 리던던시는 신호들의 타이밍을 재설정하고, 게이트에 대한 입력의 수를 감소시킴으로써 제거될 수 있다. 이와 같은 접근 방법으로 설계가 보다 용이하게 된다는 것을 알 수 있다.
내부 전파 히트 신호 hti의 네 가지 상이한 경우(0에서 0, 1에서 0, 0에서 1, 및 1에서 1로의 천이)에 대하여, 단일 칩 상의 모든 적절한 신호의 파형이 도 6a - 6d에 도시되어 있다. 내부 전파 히트 신호 hti는 오프-칩 신호 HTI의 온-칩 전파이다.
알 수 있는 바와 같이, 선택 해제신호가 해당 칩상에서(on-chip) 발생하고, 선택신호만이 업스트림 오프-칩 신호에 의해 게이트되기 때문에, 올바른 동작은 (a) 칩 사이의 속도 차 및 (b) 칩간의 경로 지연(routing delay)에 무관하다. 이러한 특징은 또한 시스템에 부가된 추가적인 칩들이 서로 다른 처리 조건으로, 또는 완전히 다른 제조 기술에서도 처리될 수 있으므로, 또한 확장성을 지원한다.
최악의 경우의 타이밍을 특성화 한다면, 선택신호의 가장 느린 경로는 내부 전파 히트 신호 HTI 입력이 될 것이다. 내부 전파 히트 신호 HTI 상의 하향 천이는 외부 전파 히트 신호 HT(ht=0라고 가정)로 더욱 전파할 수 있어서, 최악의 경우의 시스템 성능은 독립형의 단일 칩의 성능, (n-2) x 내부 전파 히트 신호 HTI - HT 지연, 내부 전파 히트 신호 HTI - SA 지연의 합과 같다. 시스템 성능은 다음 표현으로 특성화된다.
tCH-SAV = tCH-HTV + (n-2) × tHTIL-HTL + tHTIL-SAV
tCH-SAVSYS = tCH-HITV + (n-2) × tHITIL-HITL + tHITIL-SAV
tCH-SHTV = tCH-HTV + (n-1) × tHTIL-tHTL
tCH-HITVSYS = tCH-HITV + (n-1) × tHITIL-HITL
셀프-타이밍 신호 st 없이도, SA 드라이브를 디스에이블 및 인에이블 하는 것은 HTI 타이밍에 좌우될 수 있다는 것을 알 수 있다. 버스 경쟁은 방지하기에 어렵고, 디스에이블 타이밍은 케스케이드 내의 칩의 위치에 의존할 것이다.
케스케이드된 CAM에 MT 전파를 구현하는 논리 게이트를 도시한 도 7의 일실시예에서, 존재한다면, 다중 정합 신호 MT는 각 칩 상의 논리에 따라 유사한 방식으로 전파하여야 한다. 도 7을 참조하면, CAM 어레이(110)로부터의 히트 신호 ht 및 다중 정합 신호 mt는 AND 게이트(142) 및 OR 게이트(144)에 각각 입력된다. 내부 전파 히트 신호 hti는 AND 게이트(142)에 입력되고, 그 출력 신호는 OR 게이트(144)에 입력된다. 다중 정합 신호 mt는 OR 게이트(144)에 입력되고, 그 출력 신호는 버퍼(146)에 입력된다. 오프-칩 다중 정합 신호 MT는 버퍼(146)에 의해 제공된다.
Ⅵ. 셀프-타이밍 신호 발생기
셀프-타이밍 신호 발생기의 가능한 많은 회로들이 존재한다. 결과의 셀프-타이밍 신호 st가 상기 기술된 바와 같이 경쟁 없는 버스 공유가 가능하도록 사용된다면, 본 발명의 의도된 범위는 임의의 이와 같은 회로를 포함한다.
셀프-타이밍 신호 발생기의 예가 이하의 설명에서 개시된다. 이러한 예들은 구현 가능성의 넓은 관점을 제공하도록 의도되고, 그 설명은 본 특허 개시의 후술하는 범위를 결코 제한하지 않는다.
도 8에 도시된 셀프-타이밍 신호 발생기의 제1 예에서, 단순한 지연 라인이 히트 신호의 발생시 예상되는 지연을 모델링한다. 도 8을 참조하면, 클럭 신호 ck는 플립 플롭(152)의 리셋 입력 단자 R에 입력된다. 또한, 클럭 신호 ck는 네 개의 버퍼(154)의 체인을 통해 플립 플롭(152)의 설정된 입력 단자 S에 입력된다.
셀프-타이밍 신호 st의 하강 에지는 클럭 신호 ck의 상승 에지에 의해 발생되는 반면, 셀프-타이밍 신호 st의 상승 에지는 클럭 신호 ck의 상승 에지가 지연되어 발생된다. 본 명세서에 도시된 S/R(셋/리셋) 래치 및 후속하는 도면은 논리 기능을 표현하며, 반드시 물리적인 실현은 아니다. 클럭 신호 ck의 상승 에지로부터 셀프-타이밍 신호 st의 상승 및 하강 에지를 타이밍시키는 것은 듀티 사이클(duty cycle)의 독립성을 가져온다. 지연 체인의 지연은 클럭 신호 ck 및 히트 신호 ht의 상승 에지 사이의 지연과 동등하게 설정될 수 있다. 대안으로, 만약 클럭 신호 ck 듀티 사이클을 알고 있고 잘 제어된다면, 셀프-타이밍 신호 st의 상승 에지의 타이밍은 클럭 신호 ck의 하강 에지에 의해 제어될 수 있다. 이러한 예를 채용하기 위해서는, 히트 타이밍이 예측 가능하여야 하는데, 이는 히트 신호가 구현시마다 변화할 수도 있는 모듈러 또는 스케일러블(modular or scalable) 설계에는 적합하지 않는다는 점에 유의한다.
Ⅶ. CAM 어레이의 예
Ⅶ-1. 제1 예
도 9는 CAM 칩(220)에 구현된 CAM 어레이의 제1 예를 도시한다. CAM 어레이에서, w(=4) 워드 × b(=4) 비트의 단일 칩 CAM은 w 행 및 b 열을 가지는 어레이로서 구현된다. CAM 어레이는 w × b (=16) 코어 셀(230)을 포함하고, 각 셀은 정합 라인(232)과 한 쌍의 비트 라인(234)의 교차점에 있다. 한 쌍의 비트 라인(234)은 두 비트의 데이터보다, 단일 비트를 나타내는 차동 데이터를 전달한다. 각 코어 셀(230)은 데이터의 단일 비트를 기억하도록 동작하고, 그 비트 기억 능력이외에도, 단일 비트 비교(논리적인 배타적 NOR(XNOR)) 동작을 수행할 수 있다. 도 9에서, 주어진 워드에 해당하는 셀(230)은 논리적 NOR 유형으로 그 워드의 정합 라인에 연결된다. CAM 어레이의 구조는 공지되어 있다. 참조로서 본 명세서에 포함되는 K.J. Schultz 등의 "Architectures for Large-Capacity CAMs"(VLSI Journal, vol. 18, pp. 151-171, 1995)라는 논문을 참조하기 바란다.
차동 데이터용 비트 라인은 CAM 어레이의 내용을 로딩하고 검색 기준 워드를 위한 입력 데이터 D를 수신하는 기준 워드 기억 및 비트 라인 드라이버(236)에 연결된다. 어레이의 코어 셀(230)에 기억된 데이터는 비트 라인(234) 상에 기준 워드를 적용함으로써 검색된다.
검색 동작에서, 차동 데이터가 비트 라인 쌍(234)에 나타나면, 코어 셀(230)은 자신의 기억된 데이터 비트를 이 차동 데이터(기준 데이터 또는 단일 비트의 컴퍼런드)와 비교한다. 기억 데이터가 기준 데이터와 같지 않을 때, 코어 셀(230)은 (논리 하이 상태로 프치차지된) 정합 라인(232)을 로우 상태로 풀 다운시킨다. 기억 데이터가 기준 데이터와 같을 때, 셀(230)은 그것이 연결된 정합 라인(232)에 어떠한 영향도 미치지 않는다. 주어진 워드에서 모든 b 코어 셀(230)이 동일한 방식으로 정합 라인(232)에 연결되기 때문에, 만약 그 워드에서의 어떠한 비트도 대응하는 기준 비트와 같지 않다면(또는 부정합하다면), 정합 라인(232)은 로우로 풀(pulled)될 것이다. 정합 라인(232)은 그 워드에서의 모든 비트가 그들의 대응하는 기준 비트와 정합할 때만 논리적 하이 상태로 남는다.
CAM 어레이는 정합 라인(234)에 연결되는 인코더(238)를 포함한다. 인코더(238)는 검색 동작의 결과를 나타내는 세 가지의 출력을 생성한다. 만약 임의의 w 워드가 기준 데이터와 정합한 데이터를 기억하면, "ht" 신호가 논리 하이 상태로 나타난다. 이러한 정합 워드의 이진 어드레스는 "sa" 출력으로 인코드된다. 복수개의 워드가 기준 데이터에 정합된 경우에, 다중 정합 신호 "mt"가 논리 하이 상태로 나타난다. 이 경우에, 인코더(238)의 어드레스 sa 출력은 (a) 무효한 결과, (b) 다중 정합 중의 하나의 위치를 나타내는 어드레스, 또는 (c) 정합 워드의 각각의 위치를 나타내는 출력의 시퀀스를 생성할 수 있다. 어떤 응용예에서는 다중 정합 결과를 필요로 하지 않을 수 있고, 다중 정합 기능에 대한 모든 기준이 유용성을 잃지 않고 본 실시예로부터 삭제될 수 있다는 것을 알 수 있다.
Ⅶ-2. 제2 예
도 10은 CAM 칩(320)에 구현된 CAM 어레이의 제2 예를 도시한다. CAM 어레이에서, 워드는 두 개의 절반으로 분할되고, 각 절반 워드에 대한 정합의 결과가 조합된다. 두 개의 절반의 각각에는 4 행 × 4 열의 어레이가 제공된다. 어레이는 16개의 코어 셀(330)을 포함하고, 각각은 정합 라인(332) 및 단일 비트를 나타내는 차동 데이터를 전달하는 비트 라인 쌍(234)의 교차점에 있다. 차동 데이터용 비트 라인(334)은 CAM 어레이의 내용을 로딩하고 검색 기준 워드용 입력 데이터 D를 수신하는 기준 워드 기억 장치 및 비트 라인 구동기(336)에 연결된다. 어레이의 코어 셀(330)에 기억된 데이터는 비트 라인(334) 상의 기준 워드를 이용함으로써 검색된다.
각 코어 셀(330)은 단일 비트의 데이터를 기억하는 역할을 하고, 그 비트 기억 능력이외에도, 단일 비트 비교(논리적인 배타적 NOR(XNOR)) 연산을 수행할 수 있다. 도 10에서, 소정의 워드에 속하는 셀(330)은 논리적 NAND 방식으로 그 워드의 정합 라인에 연결된다. 각 워드의 코어 셀(330)은 각 정합 라인(332)에 연결된다. 하나의 절반의 정합 라인(332)의 각각은 인버터(338)를 통해 AND 게이트(320)에 연결되고, 그 출력 단자는 다중 정합 라인(342)을 통해 인코더(344)에 연결된다.
도 10에서, (각 절반의 워드에서의) 연결은 논리적 NAND로 되어 있다. 정합 라인(332)은 만약 절반 워드에서의 모든 비트가 기준 데이터와 같다면, 하향 천이만을 가질 것이다. 그러므로, 정합 라인(332)을 위한 접지에의 경로는 병렬보다는 직렬("정합 라인 체인")이며, 부정합보다는 정합의 경우에, 경로는 도전성(즉, "회로가 폐쇄됨")이 된다.
이러한 기술의 이점은 각 검색 동작시 천이되는 훨씬 작은 수의 정합 라인(332): 도 10에 도시된 종래 기술 회로에서 부정합당 하나에 비해, 도 10에 도시된 예에서 정합당 하나에 기인한다. 이것은 전력 손실을 상당히 감소시켜, 보다 큰 기억 용량을 실현할 수 있게 한다. 절반으로 워드를 분할하는 것은 NAND 체인의 길이를 감소시켜 속도를 증가시킨다.
도 10에 도시된 CAM 어레이의 예는 또한 다중 정합 라인(342)을 위한 코어 셀 위에 상부 금속층을 이용함으로써, 다중 워드를 물리적 행으로 배치하는 수단을 포함한다. 이것은 실현될 수 있는 기억 용량을 더욱 증가시킨다.
CAM 어레이는 검색 동작의 결과를 나타내는 세 가지의 출력 ht, sa 및 mt를 생성시키고, 이들은 모두 인코더(344)에 의해 발생될 수 있다. 만약 임의의 w 워드가 기준 데이터와 정합된 데이터를 기억하면, "ht" 신호가 논리 하이 상태로 나타난다. 이러한 정합 워드의 이진 어드레스는 "sa" 출력으로 인코드된다. 복수개의 워드가 기준 데이터와 정합되는 경우에, 다중 정합 신호 "mt"가 논리 하이 상태로 나타난다. 이 경우에, 인코더의 어드레스 (sa) 출력은 (a) 무효한 출력 (b) 다중 정합중 하나의 위치를 나타내는 어드레스 또는 (c) 정합된 워드의 각각의 위치를 나타내는 출력의 시퀀스를 생성할 수 있다.
많은 다른 가능한 CAM 어레이가 있다는 것과, 본 명세서에 기술된 발명이 임의의 이러한 예에 케스케이드화 가능성(cascadability)을 부가하는데 사용될 수 있슴을 알아야 한다.
단일 CAM 어레이의 기본 기능은, (복수개의 칩 상의) 복수개의 어레이가 단일 칩 상의 단일 어레이에 의해 실현될 수 있는 것보다 더 큰 용량을 실현하기 위해 함께 케스케이드될 때의 경우에, 상기 기술된 예의 것으로부터 변화하지 않는다.
Ⅷ-3. 제3 예
도 11은 CAM 어레이의 제3 예를 도시한다. 제3예의 CAM 어레이는 가변 히트 지연을 추적하는 "모델미스(modelmiss)" 신호를 생성하며, 전술한 (그리고 도 9에 도시된) 제1 CAM 어레이의 연장이다. 도 12는 이에 수반하는 셀프-타이밍 신호 발생기를 나타낸다.
셀프-타이밍 신호 st의 하강 에지는 클럭 신호 ck의 상승 에지에 의해 (직접적으로 또는 간접적으로) 초기화되며, 셀프-타이밍 신호 st의 상승 에지는 신호 modlemiss에 의해 초기화된다. 타이밍 정보를 발생시키기 위한 목적으로 여분의 행이 CAM 어레이에 제공된다. 이러한 행을 따르는 코어 셀들은 표준 코어 셀(410)(도 9에서 코어 셀(230)과 동일함)의 변형이다. 올웨이즈미스(always miss) 코어 셀(420)은 인코더(418)로부터 가장 먼 모델 정합 라인의 끝에 배치되는 반면, 행의 나머지는 올웨이즈-정합(always-match) 코어 셀(430)로 채워진다. 표준 NOR 정합 라인 구현에서의 가장 느린 (단일-워드) 검색 결과는 단일-비트 미스이며, 그것은 이러한 배열에 의해 모델화된다. 모델미스 신호로의 하향 천이는 유효 데이터가 히트 신호 ht에 보장되는 예와 대응한다. 이전의 타이밍 도에 도시된 히트 단일 극성을 발생시키기 위해, 히트 신호는 또한 클럭 신호 ck의 상승 에지 직후의 선조건화 천이에서 초기에 로우로 구동되어야 한다는 것을 알아야 한다.
Ⅷ-4. 제4 예
제4 예는 상기 기술된 (그리고 도 10에 도시된) 제2 CAM 어레이에 따라 구현된 CAM 어레이에서의 히트 지연을 추적하기 위한 회로를 포함한다. 이는 도 13에 도시되어 있다. 이에 수반하는 셀프-타이밍 신호 발생기는 도 14a 및 14b에 도시되어 있다. 셀프-타이밍 신호 st의 하강 에지는 클럭 신호 ck의 상승 에지에 의해 (직접적으로 또는 간접적으로) 개시되며, 셀프-타이밍 신호 st의 상승 에지는 신호 modelhit에 의해 초기화된다. 타이밍 정보를 생성하기 위한 목적으로 여분의 행이 CAM 어레이에 제공된다. 이 행을 따르는 코어 셀들은 표준 코어 셀(510)(도 10에서 코어 셀(330)과 동일함)의 변형이다. 올웨이즈-정합(always-match) 코어 셀(512)은 모델 정합 라인 체인(514)의 전체에 사용된다. 이러한 NAND 정합 라인 구현에서의 가장 느릴수 있는 (단일-워드) 검색 결과는 정합(match)이며, 그것은 이러한 구성에 의해 모델링 된다. 모델히트 신호 상의 상향의 천이는 유효 데이터가 히트 신호 ht에 있다는 것을 보장하는 인스턴스(instance)에 해당한다. 이전의 타이밍 도에 도시된 히트 신호의 극성을 발생시키기 위해, 히트 신호는 클럭 신호 ck의 상승 에지 직후의 프리컨디셔닝 천이(preconditioning transition)에서 초기에 로우(low)로 구동되어야 한다. 모델히트(modelhit)가 셀프-타이밍 신호 st와 동일한 극성을 가지기 때문에, 셀프-타이밍 구동 회로는 제거될 수 있으며, 모델히트(modelhit) 신호는 도 14b에 도시된 바와 같이, 셀프-타이밍 신호 st로서 사용될 수 있다.
Ⅷ-5. 제5 예
도 15는 제2 CAM 어레이와 동일한 정합 논리를 사용하는 복수의 워드 슬라이스들을 이용한 회로의 블록도로서, 이러한 구성의 셀프-타이밍 신호의 생성은, 모델 글로벌 데이터 라인을 채용한다.
제5 예의 셀프-타이밍 신호 발생기는, 도 15에 도시된 바와 같이, 제2 CAM 어레이에 채용되는 복수개의 수직 워드 슬라이스들을 갖는 CAM 어레이에서 히트 지연을 추적하는데 사용될 수 있다. 복수개의 워드 슬라이스는 보다 큰 용량의 실현을 가능하게 한다. 컴퍼런드(comparand) D의 모든 비트는 모든 워드 슬라이스에 버스되어야 하기 때문에, 글로벌 데이터 버스(622)가 사용된다. 타이밍 정보가 모델 글로벌 데이터 라인(624)의 형태로 글로벌 데이터 버스(622)에 내장될 수 있다. 모델 글로벌 데이터 라인(624)은 그의 제1 천이가 히트 신호 ht의 하향 천이와 거의 일치하도록 구동된다. 모델 글로벌 데이터 라인(624)은 또한 CAM 어레이에 타이밍 정보를 제공하는데 사용되어, 이러한 일치를 보장한다. 셀프-타이밍 신호 st의 하강 에지는 모델 데이터 라인의 제1 천이에 의해 개시되고, 셀프-타이밍 신호 st의 상승 에지는 신호 모델히트에 의해 개시된다. 타이밍 정보를 발생시키기 위해, 인코더로부터 가장 먼 CAM 어레이의 워드 슬라이스에 여분의 행이 제공된다. 이러한 행을 따르는 코어 셀들은 표준 코어 셀(610)(도 10에서 코어 셀(330)과 동일함)의 변형이다. 올웨이즈-정합(always-match) 코어 셀(612)은 모델 정합 라인 체인(614)의 전체에 사용된다. 이러한 NAND 정합 라인 구현에서의 가장 느린 (단일-워드) 검색 결과는 정합(match)으로서, 그것은 이러한 구성에 의해 모델링된다. modelhit 신호상의 상향 천이는 유효 데이터가 히트 신호 ht에 있다는 것을 보장하는 인스턴스에 해당한다. 이전의 타이밍 도에 도시된 히트 신호 극성을 발생시키기 위해, 히트 신호 ht는 또한 클럭 신호 ck의 상승 에지 다음의 프리컨디셔닝 천이에서 초기에 로우(low)로 구동되어야 하고, 그의 타이밍은 모델 글로벌 데이터 라인에 의해 통제된다. 이전의 두 실시예에서와 같이, 인코더를 통하는 모델히트 신호의 지연은 인코더를 통하여 히트 신호 ht의 지연을 추적하는 것을 의미한다. 인코더가 랜덤 논리로 실현된 경우, 이는 지연 체인에 의해 달성될 수 있다. 인코더가 ROM으로서 실현될 때, 지연 정합은 모델 ROM 비트 라인으로 달성될 수 있다.
NOR 정합 라인 CAM 어레이도 역시 보다 큰 용량을 달성하기 위해 워드 슬라이스 형태로 구현될 수 있다. 셀프-타이밍 신호는 도 11로부터 모델 정합 라인과 도 15로부터 모델 글로벌 데이터 라인을 조합함으로써 발생될 수 있다.
도 16은 CAM 칩이 다중 CAM 어레이를 포함하는 경우에, 셀프-타이밍 신호 st의 적절한 전체 칩의 타이밍을 구현하기 위한 논리 게이트를 나타낸다.
각 칩 상의 CAM이 다중 어레이로 구성될 때, 각 CAM 어레이(710)는 그 자신의 "htj" 및 "stj" 신호를 가지며, 개별 신호들을 히트 신호 ht로 조합하는데 있어서의 지연을 허용하도록, 셀프-타이밍 신호 st의 펄스의 지속 시간을 넓힐 필요가 있다. 도 16은 이러한 펄스-확장의 예를 도시하고, 여기서 단일 stj 신호는 동일한 stj의 지연된 버전("stm"으로서 지칭됨)을 가지는 OR 게이트(712)에 의해 논리적으로 OR되며, 상기 버전은 어레이 히트 신호 htj 내지 ht의 것과 유사한 지연을 통해 전달된다.
도 17에 도시된 또 다른 예에서는, stm 및 stj 모두를 외부 전파 히트 신호 hto 게이트로 가져온다(도 5를 참조). 도 16 및 17의 두 실시예 모두는 내부 전파 히트 신호 hti=0 이고, 히트가 stj 다음에 상향 천이를 일으킬 때, 외부 전파 히트 신호 hto 상의 하향 글리치(glitch)를 방지한다. 이러한 천이의 동일 시퀀스는 도 5의 sae 게이트에 결과로서 일어나는 것은 아니며, 도 17과 유사하게, 그것에 대한 어떠한 변화도 요구되지 않는다.
CAM 어레이는 도 9, 10, 11, 13 및 15에 도시된 것에 제한되지 않는다. 많은 변형이 존재한다. 예를 들어, CAM 어레이의 데이터 비교 기능은 코어 셀에 의해 수행되지 않으며, 코어 셀에 인접하여 배치된 별도의 비교기에 의해 수행된다. 이와 같은 CAM 어레이는 참조로 본 명세서에 포함된 미국 특허 출원 제08/748,928호 "Large-Capacity Content Addressable Memory" (K.J. Schultz, 1996년 11월 14일자 출원)에 기술되어 있다.
복수개의 CAM 칩이 본 발명의 실시예에 따라 케스케이드된 시스템에서, 상태 레지스터, 어드레스 결과 전달, 최종 디바이스 식별, 또는 공통 엔트리의 기억은 사용되지 않는다.
다른 신호 극성, 균등한 부울(Boolean) 게이트-레벨 구현, 작은 타이밍 변형 등을 포함하여, 이러한 본 발명의 개시에 의해 논리적으로 포함되는 상세한 실시예에 많은 가능할 수 있는 변형이 있다는 것을 알 수 있다.
본 발명은 케스케이드된 CAM 칩 시스템에서 복수개의 CAM 칩을 효과적인 방법으로 연결할 수 있도록 칩을 설계함으로써 보다 용이하게 확장력 및 확장성을 가능하게 하는 효과가 있다.
도 1a는 단일 CAM(content addressable memory) 어레이 및 그 출력 신호의 개념도를 도시하는 도면.
도 1b는 단일 CAM 칩 내에 CAM 어레이의 암시된 위치를 도시하는 도면.
도 1c는 칩 핀에 CAM 어레이를 가장 간단하게 연결하는 것을 도시하는 도면.
도 2는 본 발명의 실시예에 따라, 케스케이드된 복수개의 CAM 칩을 포함하는 시스템의 블럭도.
도 3은 버스 구동 CAM 칩을 결정하기 위한 회로를 갖는 시스템을 도시하는 도면.
도 4는 셀프-타이밍 신호(self-timed signal) 및 온-칩(on-chip) 검색 결과를 도시하는 타이밍 챠트.
도 5는 CAM 어레이를 케스케이드하는 것을 구현하기 위한 논리 게이트를 도시하는 도면.
도 6a는 내부 전파 히트 신호의 0에서 0으로의 천이에 응답하는 온-칩 신호의 상대적인 타이밍을 도시하는 타이밍 챠트.
도 6b는 내부 전파 히트 신호의 1에서 0으로의 천이에 응답하는 온-칩 신호의 상대적인 타이밍을 도시하는 타이밍 챠트.
도 6c는 내부 전파 히트 신호의 0에서 1로의 천이에 응답하는 온-칩 신호의 상대적인 타이밍을 도시하는 타이밍 챠트.
도 6d는 내부 전파 히트 신호의 1에서 1로의 천이에 응답하는 온-칩 신호의 상대적인 타이밍을 도시하는 타이밍 챠트.
도 7은 시스템에서 다중 정합 전파를 구현하기 위한 논리 게이트를 도시하는 도면.
도 8은 셀프-타이밍 신호 발생기의 블럭도.
도 9는 CAM 칩의 제1 예의 회로도.
도 10은 CAM 칩의 제2 예의 회로도.
도 11은 CAM 칩의 제3 예의 회로도.
도 12는 셀프-타이밍 신호 발생기를 도시하는 도면.
도 13은 CAM 칩의 제4 예의 회로도.
도 14a 및 14b는 셀프-타이밍 신호 발생기를 도시하는 도면.
도 15는 CAM 칩의 제5 예의 블럭도.
도 16은 다중 CAM 어레이에 셀프-타이밍 신호의 적절한 전체-칩 타이밍을 구현하기 위한 논리 게이트를 도시하는 도면.
도 17은 외부 전파 히트 신호를 발생시키기 위한 논리 게이트를 도시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
110 : CAM 어레이
120 : CAM 칩
122 : 버스
124 : 클럭 발생기
126 : 검색 결과 관측 회로
130 : 인코더
230, 330 : 코어 셀
232, 332 : 정합 라인
234, 334 : 비트 라인

Claims (22)

  1. 공통 버스(122);
    상기 버스에 케스케이드되어 연결된 복수의 내용 어드레서블 메모리(content addressable memory : CAM) 칩(120)
    - 상기 CAM 칩 각각은 w 워드 × b 비트의 코어 셀 어레이(230, 330) 및 인코딩 수단(238, 344, 418)을 포함하고, 상기 코어 셀 각각은 데이터 기억 수단을 포함하며, 상기 CAM 칩은 상기 인코딩 수단을 통해 검색 동작으로부터의 결과인 히트 신호 및 정합 어드레스 신호를 제공할 수 있으며, 상기 CAM 칩 각각은,
    칩에서 칩으로 상기 히트 신호를 전파하기 위한 수단(138); 및
    상기 버스에 상기 어드레스 신호를 제공하기 위한 수단(134)을 포함함 -; 및
    상기 케스케이드된 CAM 칩에서 보다 먼 업스트림 칩이 보다 높은 우선 순위가 되도록 상기 칩의 우선 순위를 위치에 의해 결정하기 위한 수단(128)
    을 포함하는 CAM 시스템.
  2. 제1항에 있어서,
    상기 CAM 칩은 어느 CAM 칩이 상기 버스에 상기 어드레스 신호를 제공하도록 허용되는지를 결정하기 위한 구동 수단(236, 336, 416)을 더 포함하는 CAM 시스템.
  3. 제2항에 있어서,
    상기 구동 수단(236, 336, 416)은 하나 이상의 CAM 칩이 상기 버스에 상기 어드레스 신호를 동시에 제공하는 것을 방지하기 위한 수단을 포함하는 CAM 시스템.
  4. 제2항에 있어서,
    상기 칩은 상기 구동 수단이 온-칩(on-chip)으로 발생된 신호에 기초하여 디스에이블되게 하고, 상기 케스케이드의 업스트림(upstream)으로부터 전파하는 신호에 의해 인에이블되도록 하기 위한 수단(238)을 포함하는 CAM 시스템.
  5. 제1항에 있어서,
    가장 먼 다운스트림 칩의 상기 히트 신호 및 상기 버스 상의 정합 어드레스 신호로부터 상기 케스케이드된 CAM 칩에 대한 검색 결과를 관측하기 위한 수단(126)을 더 포함하는 CAM 시스템.
  6. 제1항에 있어서,
    상기 CAM 칩 각각은, 상기 인코딩 수단을 통해 검색 동작에 대한 다중 정합 표시를 제공하고,
    상기 CAM 칩 각각은, 칩에서 칩으로 상기 다중 정합 표시를 전파하기 위한 수단(142, 144)을 더 포함하는 CAM 시스템.
  7. 제6항에 있어서,
    가장 먼 다운스트림 칩의 다중 정합 출력에서 상기 케스케이드된 CAM 칩의 다중 정합 상태를 관측하기 위한 수단(126)을 더 포함하는 CAM 시스템.
  8. 제1항에 있어서,
    상기 CAM 칩은 하나 이상의 정합 어드레스의 경우에 일련의 후속 주기들에서 상기 버스에 상기 정합 어드레스 신호를 제공하기 위한 수단(236, 336, 416)을 더 포함하는 CAM 시스템.
  9. 제1항에 있어서,
    상기 케스케이드된 다중 CAM 칩들 중에서 정합하는 가장 높은 우선 순위의 서열 위치를 인코딩하기 위한 수단(130)을 더 포함하는 CAM 시스템.
  10. 제9항에 있어서,
    상기 정합 어드레스 신호, 인코드된 서열 위치, 및/또는 관련 데이터를 제공하기 위한 수단(130)을 더 포함하는 CAM 시스템.
  11. 제1항에 있어서,
    상기 CAM 칩은 클럭 신호에 응답하여, 상기 칩의 동작에 대한 셀프-타이밍 신호를 발생시키기 위한 셀프-타이밍 수단(self-timing means)(152, 154)을 더 포함하는 CAM 시스템.
  12. 제11항에 있어서,
    상기 셀프-타이밍 수단(152, 154)은 상기 클럭 신호에 응답하여 상기 셀프-타이밍 신호의 제1 천이를 수행하기 위한 수단을 더 포함하는 CAM 시스템.
  13. 제11항에 있어서,
    상기 셀프-타이밍 수단(152, 154)은 온-칩의 검색 결과가 제2 천이 이전에 발생되도록 하는 시간에서 상기 셀프-타이밍 신호의 제2 천이를 수행하기 위한 수단을 포함하는 CAM 시스템.
  14. 제11항에 있어서,
    상기 셀프-타이밍 수단(152, 154)은 시간 지연 체인을 포함하되, 상기 셀프-타이밍 신호의 제1 에지가 상기 클럭 신호에 의해 개시되고, 제2 에지가 지연된 클럭 신호에 의해 개시되는 CAM 시스템.
  15. 제11항에 있어서,
    상기 셀프-타이밍 수단(152, 154)은, 상기 인코딩 수단으로부터의 가장 먼 비트만이 부정합이고, 다른 모든 비트들은 정합이며, 가장 느린 정합 라인 천이가 발생되도록, 변형된 코어 셀로 구성된 모델 행을 따라 연장되는, NOR-형 CAM 어레이의 모델 정합 라인을 포함하는 CAM 시스템.
  16. 제11항에 있어서,
    상기 셀프-타이밍 수단(152, 154)은 복수개의 워드 슬라이스 중 하나에, 상기 인코딩 수단을 통한 지연을 모델링하고 상기 셀프-타이밍 신호의 상승 에지를 개시하는, NOR-형 모델 행의 모델 정합 라인을 포함하되, 하강 에지는 모델 글로벌 데이터 라인(model global data line)에 의해 개시되고, 상기 모델 글로벌 데이터 라인은 또한 검색 결과 신호 상의 천이를 간접적으로 개시하는 CAM 시스템.
  17. 제11항에 있어서,
    상기 셀프-타이밍 수단(152, 154)은, 모델 행을 따라 연장되며, 항상 정합하는 변형된 코어 셀을 포함하며, 천이가 정합이며, 가장 느린 정합 라인 천이를 발생시키는, NAND-형 CAM 어레이내의 적어도 하나의 모델 정합 라인 체인을 포함하는 CAM 시스템.
  18. 제11항에 있어서,
    상기 셀프-타이밍 수단(152, 154)은, 복수개의 워드 슬라이스중 하나에, 상기 인코딩 수단을 통한 지연을 모델링하고, 상기 셀프-타이밍 신호의 상승 에지를 개시하는, NAND-형 모델 행의 모델 정합 라인을 포함하되, 하강 에지는 모델 글로벌 데이터 라인(model global data line)에 의해 개시되고, 상기 모델 글로벌 데이터 라인은 검색 결과 신호 상의 천이를 간접적으로 개시하는 CAM 시스템.
  19. 제11항에 있어서,
    상기 CAM 칩(120)은 상기 공통 정합 어드레스 버스 상으로의 3-상태 구동기(tri-state drivers)를 포함하되, 상기 구동기의 인에이블은 상기 셀프-타이밍 신호, 반전된 상기 히트-전달 입력 신호, 및 상기 온-칩 히트 결과를 입력으로서 갖는 3-입력의 AND 게이트에 의해 논리적으로 제어되는 CAM 시스템.
  20. 제11항에 있어서,
    상기 CAM 칩(120)은,
    반전된 상기 셀프-타이밍 신호; 상기 히트 입력 신호; 및 상기 온-칩 히트 결과의 논리적 OR에 의해 논리적으로 결정되는 각 CAM 칩의 히트 출력을 결정하기 위한 수단(136)을 더 포함하는 CAM 시스템.
  21. 제20항에 있어서,
    4-입력 OR 게이트를 더 포함하되,
    상기 셀프-타이밍 신호는, 상기 4-입력 OR 게이트 중 두 입력으로 선택적으로 분해되며, 다수의 온-칩 CAM 어레이들 중에서의 검색 결과의 조합에 기인한 지연을 허용하기 위해 상기 셀프-타이밍 신호 펄스를 넓게 하도록 하나의 입력이 지연된 셀프-타이밍 신호인 CAM 시스템.
  22. 제20항에 있어서,
    상기 CAM 칩은 복수개의 CAM 어레이(110)를 포함하고,
    상기 셀프-타이밍 신호는,
    상기 CAM 어레이 중 하나에 의해 직접 발생된 고속 셀프-타이밍 신호; 및
    히트 신호 논리 회로에 의해 생긴 상기 지연을 모델링 하는 논리 회로에 의해 발생되는 저속 셀프-타이밍 신호
    의 논리적 OR 인 CAM 시스템.
KR1019980035171A 1997-08-28 1998-08-28 내용어드레서블메모리시스템 KR100562806B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/919,227 US6230236B1 (en) 1997-08-28 1997-08-28 Content addressable memory system with cascaded memories and self timed signals
US8/919,227 1997-08-28
US08/919,227 1997-08-28

Publications (2)

Publication Number Publication Date
KR19990023987A KR19990023987A (ko) 1999-03-25
KR100562806B1 true KR100562806B1 (ko) 2006-05-25

Family

ID=25441738

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980035171A KR100562806B1 (ko) 1997-08-28 1998-08-28 내용어드레서블메모리시스템

Country Status (5)

Country Link
US (2) US6230236B1 (ko)
EP (1) EP0899743B1 (ko)
JP (1) JPH11120775A (ko)
KR (1) KR100562806B1 (ko)
DE (1) DE69827714T2 (ko)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6122707A (en) * 1997-09-04 2000-09-19 Nortel Networks Corporation Content addressable memory system with self-timed signals and cascaded memories for propagating hit signals
US6392910B1 (en) 1999-09-10 2002-05-21 Sibercore Technologies, Inc. Priority encoder with multiple match function for content addressable memories and methods for implementing the same
JP4298104B2 (ja) 2000-01-18 2009-07-15 Okiセミコンダクタ株式会社 連想メモリ
US6539466B1 (en) * 2000-02-21 2003-03-25 Hewlett-Packard Company System and method for TLB buddy entry self-timing
US6957272B2 (en) 2000-05-24 2005-10-18 Alcatel Internetworking (Pe), Inc. Stackable lookup engines
US6493793B1 (en) * 2000-06-16 2002-12-10 Netlogic Microsystems, Inc. Content addressable memory device having selective cascade logic and method for selectively combining match information in a CAM device
US6614675B1 (en) * 2000-10-10 2003-09-02 Ati International, Srl Pipelined content addressable memory with read only element encoding scheme
US6718432B1 (en) * 2001-03-22 2004-04-06 Netlogic Microsystems, Inc. Method and apparatus for transparent cascading of multiple content addressable memory devices
US6538911B1 (en) * 2001-08-24 2003-03-25 Sibercore Technologies, Inc. Content addressable memory with block select for power management
US6763426B1 (en) * 2001-12-27 2004-07-13 Cypress Semiconductor Corporation Cascadable content addressable memory (CAM) device and architecture
US7230841B1 (en) 2002-03-29 2007-06-12 Netlogic Microsystems, Inc. Content addressable memory having dynamic match resolution
US6661686B1 (en) 2002-03-29 2003-12-09 Netlogic Microsystems, Inc. Content addressable memory having dynamic match resolution
US7401181B1 (en) * 2002-05-29 2008-07-15 Core Networks Llc System and method for comparand reuse
US6842358B2 (en) * 2002-08-01 2005-01-11 Netlogic Microsystems, Inc. Content addressable memory with cascaded array
KR100455392B1 (ko) * 2002-08-10 2004-11-06 삼성전자주식회사 동작속도를 향상시키고 칩 면적을 감소시킬 수 있는워드라인 드라이버 회로를 구비하는 캐쉬 메모리장치 및이의 워드라인 구동방법
US6775166B2 (en) * 2002-08-30 2004-08-10 Mosaid Technologies, Inc. Content addressable memory architecture
US6924994B1 (en) 2003-03-10 2005-08-02 Integrated Device Technology, Inc. Content addressable memory (CAM) devices having scalable multiple match detection circuits therein
US7043600B2 (en) * 2003-05-12 2006-05-09 Integrated Silison Solution, Inc. Cascading content addressable memory devices with programmable input/output connections
US7257670B2 (en) * 2003-06-18 2007-08-14 Micron Technology, Inc. Multipurpose CAM circuit
US6944039B1 (en) 2003-12-12 2005-09-13 Netlogic Microsystems, Inc. Content addressable memory with mode-selectable match detect timing
US7337267B1 (en) * 2004-02-10 2008-02-26 Netlogic Microsystems, Inc Hierarchical, programmable-priority content addressable memory system
US7296129B2 (en) * 2004-07-30 2007-11-13 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
US7539800B2 (en) * 2004-07-30 2009-05-26 International Business Machines Corporation System, method and storage medium for providing segment level sparing
US7389375B2 (en) 2004-07-30 2008-06-17 International Business Machines Corporation System, method and storage medium for a multi-mode memory buffer device
US7299313B2 (en) 2004-10-29 2007-11-20 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
US7277988B2 (en) * 2004-10-29 2007-10-02 International Business Machines Corporation System, method and storage medium for providing data caching and data compression in a memory subsystem
US7441060B2 (en) 2004-10-29 2008-10-21 International Business Machines Corporation System, method and storage medium for providing a service interface to a memory system
US7356737B2 (en) * 2004-10-29 2008-04-08 International Business Machines Corporation System, method and storage medium for testing a memory module
US7331010B2 (en) * 2004-10-29 2008-02-12 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US7395476B2 (en) * 2004-10-29 2008-07-01 International Business Machines Corporation System, method and storage medium for providing a high speed test interface to a memory subsystem
US7512762B2 (en) 2004-10-29 2009-03-31 International Business Machines Corporation System, method and storage medium for a memory subsystem with positional read data latency
US7305574B2 (en) 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration in a memory subsystem
US7486531B2 (en) * 2004-11-09 2009-02-03 Integrated Device Technology, Inc. Low power content addressable memory array (CAM) and method of operating same
US7196922B2 (en) 2005-07-25 2007-03-27 Stmicroelectronics, Inc. Programmable priority encoder
US7478259B2 (en) * 2005-10-31 2009-01-13 International Business Machines Corporation System, method and storage medium for deriving clocks in a memory system
US7685392B2 (en) 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
JP4945125B2 (ja) * 2005-12-21 2012-06-06 ラピスセミコンダクタ株式会社 メモリ制御装置
US7636813B2 (en) 2006-05-22 2009-12-22 International Business Machines Corporation Systems and methods for providing remote pre-fetch buffers
US7640386B2 (en) 2006-05-24 2009-12-29 International Business Machines Corporation Systems and methods for providing memory modules with multiple hub devices
US7594055B2 (en) 2006-05-24 2009-09-22 International Business Machines Corporation Systems and methods for providing distributed technology independent memory controllers
US7584336B2 (en) 2006-06-08 2009-09-01 International Business Machines Corporation Systems and methods for providing data modification operations in memory subsystems
US7493439B2 (en) 2006-08-01 2009-02-17 International Business Machines Corporation Systems and methods for providing performance monitoring in a memory system
US7669086B2 (en) 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US7581073B2 (en) 2006-08-09 2009-08-25 International Business Machines Corporation Systems and methods for providing distributed autonomous power management in a memory system
US7587559B2 (en) 2006-08-10 2009-09-08 International Business Machines Corporation Systems and methods for memory module power management
US7490217B2 (en) 2006-08-15 2009-02-10 International Business Machines Corporation Design structure for selecting memory busses according to physical memory organization information stored in virtual address translation tables
US7539842B2 (en) 2006-08-15 2009-05-26 International Business Machines Corporation Computer memory system for selecting memory buses according to physical memory organization information stored in virtual address translation tables
US7477522B2 (en) * 2006-10-23 2009-01-13 International Business Machines Corporation High density high reliability memory module with a fault tolerant address and command bus
US7870459B2 (en) * 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
US7822916B1 (en) 2006-10-31 2010-10-26 Netlogic Microsystems, Inc. Integrated circuit search engine devices having priority sequencer circuits therein that sequentially encode multiple match signals
US7721140B2 (en) 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
US7606988B2 (en) 2007-01-29 2009-10-20 International Business Machines Corporation Systems and methods for providing a dynamic memory bank page policy
US7603526B2 (en) 2007-01-29 2009-10-13 International Business Machines Corporation Systems and methods for providing dynamic memory pre-fetch
JP2015225675A (ja) * 2014-05-26 2015-12-14 ルネサスエレクトロニクス株式会社 連想メモリおよび半導体装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR870010552A (ko) * 1986-04-23 1987-11-30 미다 가쓰시게 반도체 메모리장치
JPH06251589A (ja) * 1993-03-02 1994-09-09 Hitachi Ltd 連想メモリ入出力制御回路
JPH08138384A (ja) * 1994-03-24 1996-05-31 Kawasaki Steel Corp 連想メモリ

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4670858A (en) * 1983-06-07 1987-06-02 Tektronix, Inc. High storage capacity associative memory
JPH071636B2 (ja) * 1986-03-20 1995-01-11 松下電器産業株式会社 変換バツフア装置
JPH0748309B2 (ja) * 1987-12-16 1995-05-24 日本電気株式会社 記号列照合メモリおよびそのカスケード接続方式
US5018111A (en) * 1988-12-27 1991-05-21 Intel Corporation Timing circuit for memory employing reset function
JPH02308499A (ja) * 1989-05-23 1990-12-21 Toshiba Corp 連想メモリ
US5031141A (en) * 1990-04-06 1991-07-09 Intel Corporation Apparatus for generating self-timing for on-chip cache
US5440715A (en) * 1990-06-27 1995-08-08 Advanced Micro Devices, Inc. Method and apparatus for expanding the width of a content addressable memory using a continuation bit
US5289403A (en) * 1991-07-08 1994-02-22 Hewlett-Packard Company Self-timed content addressable memory access mechanism with built-in margin test feature
US5555397A (en) * 1992-01-10 1996-09-10 Kawasaki Steel Corporation Priority encoder applicable to large capacity content addressable memory
US5568416A (en) * 1994-03-24 1996-10-22 Kawasaki Steel Corporation Associative memory
US5517441A (en) * 1994-12-14 1996-05-14 International Business Machines Corporation Content addressable memory circuitry and method of operation
JP3703518B2 (ja) * 1995-03-30 2005-10-05 川崎マイクロエレクトロニクス株式会社 連想メモリシステム
US5828593A (en) * 1996-07-11 1998-10-27 Northern Telecom Limited Large-capacity content addressable memory
US5859791A (en) * 1997-01-09 1999-01-12 Northern Telecom Limited Content addressable memory
US6022707A (en) * 1997-09-22 2000-02-08 Incyte Pharmaceuticals, Inc. Ras-like protein

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR870010552A (ko) * 1986-04-23 1987-11-30 미다 가쓰시게 반도체 메모리장치
JPH06251589A (ja) * 1993-03-02 1994-09-09 Hitachi Ltd 連想メモリ入出力制御回路
JPH08138384A (ja) * 1994-03-24 1996-05-31 Kawasaki Steel Corp 連想メモリ

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE Journal of Solid-State Circuit Vol.27, No.12, December 1992, T. Yamagata *

Also Published As

Publication number Publication date
EP0899743A2 (en) 1999-03-03
JPH11120775A (ja) 1999-04-30
DE69827714D1 (de) 2004-12-30
DE69827714T2 (de) 2005-04-28
KR19990023987A (ko) 1999-03-25
EP0899743A3 (en) 1999-08-04
US6301636B1 (en) 2001-10-09
US6230236B1 (en) 2001-05-08
EP0899743B1 (en) 2004-11-24

Similar Documents

Publication Publication Date Title
KR100562806B1 (ko) 내용어드레서블메모리시스템
US5859791A (en) Content addressable memory
US6148364A (en) Method and apparatus for cascading content addressable memory devices
US6430088B1 (en) Embedded static random access memory for field programmable gate array
US4712190A (en) Self-timed random access memory chip
USRE43359E1 (en) System and method for low power searching in content addressable memories using sampling search words to save power in compare lines
WO1999023664A1 (en) Synchronous content addressable memory with single cycle operation
JP4603103B2 (ja) 内容参照メモリ
US4831586A (en) Content-addressed memory
JP2009009695A (ja) Cam、cam内で使用するためのダミー一致線チェーン、およびコアセル
US4852061A (en) High density, high performance register file having improved clocking means
JP4347439B2 (ja) 内容アドレスメモリシステム
WO1999023663A1 (en) Synchronous content addressable memory with single cycle operation
US7248491B1 (en) Circuit for and method of implementing a content addressable memory in a programmable logic device
US6046931A (en) Method and apparatus for a RAM circuit having N-nary output interface
US7242633B1 (en) Memory device and method of transferring data in memory device
US5524226A (en) Register file system for microcomputer including a decoding system for concurrently activating source and destination word lines
JP3581364B2 (ja) ランダムアクセス比較アレイ
JPH05198163A (ja) 半導体記憶装置におけるアドレスポインタ
EP0471932A2 (en) Virtual multi-port ram
Ng et al. A novel adiabatic register file design
EP0288774B1 (en) High density, high performance register file circuit
US6069836A (en) Method and apparatus for a RAM circuit having N-nary word line generation
KR0154737B1 (ko) 멀티포트 레지스터 화일
JPH07273640A (ja) フィールドプログラマブルゲートアレー素子

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: 20120228

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee