KR19990023987A - 내용 어드레서블 메모리 시스템 - Google Patents
내용 어드레서블 메모리 시스템 Download PDFInfo
- Publication number
- KR19990023987A KR19990023987A KR1019980035171A KR19980035171A KR19990023987A KR 19990023987 A KR19990023987 A KR 19990023987A KR 1019980035171 A KR1019980035171 A KR 1019980035171A KR 19980035171 A KR19980035171 A KR 19980035171A KR 19990023987 A KR19990023987 A KR 19990023987A
- Authority
- KR
- South Korea
- Prior art keywords
- chip
- signal
- cam
- self
- hit
- Prior art date
Links
- 230000007704 transition Effects 0.000 claims description 27
- 238000000034 method Methods 0.000 claims description 25
- 230000000630 rising effect Effects 0.000 claims description 17
- 238000003491 array Methods 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 8
- 238000011144 upstream manufacturing Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 6
- 230000003111 delayed effect Effects 0.000 claims description 4
- 230000001902 propagating effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 239000000872 buffer Substances 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital 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/04—Digital 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
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
본 발명은 복수개의 CAM 칩이 케스케이드-접속된 내용 어드레서블 메모리(content addrssable memory : CAM) 시스템에 관한 것이다.
공지된 CAM에서, 데이터는 물리적 위치보다는 내용에 기초하여 선택된다. 이러한 기능은 많은 응용, 특히 긴 식별 단어에서 보다 짧은 단어로 맵핑하기 위한 목적으로 색인(look-up)을 수행하는 경우에 유용하다. 이러한 동작은 비동기 전송 모드 어드레스 변환을 포함한, 많은 텔레콤 기능에서 필요로 한다.
종종, 시스템 기억 요건은 단일 CAM 칩상에 기억된 엔트리(entries)의 수를 초과한다. 이때 다중 칩이 요구되고, 그것들이 단일 엔티티(entity)로서 검색될 수 있도록 이러한 다중 칩을 케스케이드하기 위한 수단이 개발될 필요가 있다. 적절한 유저-프렌드리(user-friendly) 케스케이드 능력은 동일 칩이 다른 용량 요건을 가지는 시스템의 범위에 사용될 수 있게 하고, 또한 용이한 확장력 및 확장성(expandability and scalabiliy)을 가능하게 한다.
1996년 10월 22일 Kawana 등에게 허여된 미국 특허 번호 제5,568,416은 다중 CAM 칩이 케스케이드 내의 모든 칩을 통하여 결과 어드레스 및 상태를 전파함으로써 케스케이드된 연관 메모리를 개시한다. 각 칩은 그 자체로 상태 레지스터를 포함하고, 모든 업스트림 칩에 대해 다른 것을 포함한다. 그것은 또한 케스케이드 내의 최종 디바이스를 식별하는 수단과, 공통 및 유일한 데이터 엔트리에 대한 별도의 기억 영역을 개시한다.
본 발명의 목적은 개선된 내용 어드레서블 메모리 시스템을 제공하는데 있다.
본 발명의 하나의 특징에 따르면, 공통 버스; 및 상기 버스에 케스케이드되어 연결되는 복수개의 내용 어드레서블 메모리(content addressable memory : CAM) 칩 - 상기 CAM 칩의 각각은 w 워드 × b 비트의 코어 셀 어레이 및 인코딩 수단을 구비하고, 상기 코어 셀은 데이터 기억 수단을 구비하며, 상기 CAM 칩은 상기 인코딩 수단을 통해 검색 동작으로부터의 결과인 히트 및 정합 어드레스 신호를 제공할 수 있슴 - 을 구비하되, 상기 CAM 칩의 각각은, 칩에서 칩으로 히트 신호를 전파하기 위한 신호; 및 상기 버스에 상기 어드레스 신호를 제공하기 위한 수단을 구비하는 시스템이 제공된다.
시스템에서, 상기 CAM 칩의 검색 동작으로부터의 결과인 시스템 히트 신호는 칩에서 칩으로 전파된다. 시스템 히트 결과는 다운 스트림 CAM 칩으로부터 주어지고 시스템 정합 어드레스 결과는 공통 버스로부터 주어진다. 시스템은 n × w 워드를 가지는 단일 다중-칩 CAM으로서 기능을 하고, n은 CAM 칩의 수이다.
CAM 칩의 각각은 버스에 정합 어드레스 신호를 제공하는 것이 허용되는 상기 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 : 비트 라인
지금부터 본 발명의 실시예가 첨부하는 도면을 참조로 예로서 서술될 것이다.
단일 칩 CAM으로서 동일한 간단한 세 가지 결과 출력(즉, 히트(hit), 정합 어드레스 및 다중 정합(match address and 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) 다중 칩의 조합이 단일 엔티티로서 나타나도록 하기 위해, 복수개의 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), 및 전파-인 다중 정합 핀들의 연결은 데이지 체인을 구현한다.
주어진 히트 및 다중 정합 쌍은 그 특정 쌍의 (좌측으로의) 전체 시스템 업스트림의 상태를 가리킨다.
Ⅴ. 다중 칩 CAM 시스템의 실시예
본 발명의 실시예에 따른 시스템을 도시하는 도 2를 참조하면, 시스템은 케스케이드된 n CAM 칩(120)을 포함하고 CAM 칩(120)의 각각은 공통 공유 버스(122)에 정합 어드레스 신호 SA를 제공한다. CAM 칩(120)의 각각은 업스트림 CAM 칩(120)으로부터 히트 및 다중 정합 신호(오프-칩 신호) HTI 및 MTI를 각각 수신하기 위한 히트 및 다중 정합 입력 단자와, 다운스트림 CAM 칩(120)에 히트 및 다중 정합 신호 HT 및 MT를 각각 제공하기 위한 히트 및 다중 정합 출력 단자를 가진다. 가장 먼 업스트림 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에 도시된 신호가 주어지면, 시스템 히트 상태가 전파되고 단일 칩만이 공유 결과 버스를 구동시키는 것이 확증된다. 이는 내부-칩 신호가 어떻게 발생되는지를 도시하는 도 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의 온-칩 전달이다.
알 수 있는 바와 같이, 선택 해제가 온-칩을 발생시키고, 선택만이 업스트림 오프-칩 신호에 의해 게이트되기 때문에, 정확한 동작은 (a) 칩 사이의 속도 차 및 (b) 칩 내부의 루팅 지연에 무관하다. 이러한 특징은 또한 시스템에 부가된 추가적인 칩이 서로 다른 처리 조건으로 처리되거나, 또는 완전히 다른 제조 기술에서 조차도, 확장성을 지원한다.
최악의 경우의 타이밍이 특징화될 때, 선택으로의 가장 느린 경로는 전파-인 히트 신호 HTI 입력으로부터 일 것이다. 전파-인 히트 신호 HTI로의 하향 천이는 전파-아웃 히트 신호 HT(ht=0라고 가정)로 더 전파할 수 있어서, 최악의 경우의 시스템 성능은 홀로 지탱하는 단일 칩의 성능, 더하기 (n-2) 곱하기 전파-인 히트 신호 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 예를 도시한다. 그것은 가변 히트 지연을 추적하는 모델미스(modelmiss) 신호를 생성하고, 상기 기술된 (그리고 도 9에 도시된) 제1 CAM 어레이의 연장이다. 도 12는 첨부하는 자체-시간 설정 신호 발생기를 도시한다.
자체-시간 설정 신호 st의 하강 에지는 클럭 신호 ck의 상승 에지에 의해 (직접적으로 또는 간접적으로) 초기화되며, 자체-시간 설정 신호 st의 상승 에지는 신호 모델미스에 의해 초기화된다. 나머지 행은 타이밍 정보를 발생시키기 위한 목적으로 CAM 어레이에 제공된다. 이러한 행을 따르는 코어 셀은 표준 코어 셀(410)(도 9에서 코어 셀(230)과 동일함)의 변형이다. 올웨이즈미스(alwaysmiss) 코어 셀(420)은 인코더(418)로부터 가장 먼 모델 정합 라인의 단부에 배치되는 반면, 행의 나머지는 올웨이즈-정합 코어 셀(430)로 채워진다. 표준 NOR 정합 라인 구현에서의 가장 느린 (단일-워드) 검색 결과는 단일-비트 미스이며, 그것은 이러한 배열에 의해 모델화된다. 모델미스 신호로의 하향 천이는 유효 데이터가 히트 신호 ht에 보장되는 예와 대응한다. 이전의 타이밍 도에 도시된 히트 단일 극성을 발생시키기 위해, 히트 신호는 또한 클럭 신호 ck의 상승 에지 직후의 선조건화 천이에서 초기에 로우로 구동되어야 한다는 것을 알아야 한다.
Ⅷ-4. 제4 예
제4 예는 상기 기술된 (그리고 도 10에 도시된) 제2 CAM 어레이에 따라 구현된 CAM 어레이에서의 히트 지연을 추적하기 위한 회로를 포함한다. 이것은 도 13에 도시된다. 첨부하는 자체-시간 설정 신호 발생기는 도 14a 및 14b에 도시된다. 자체-시간 설정 st의 하강 에지는 클럭 신호 ck의 상승 에지에 의해 (직접적으로 또는 간접적으로) 초기화되며, 자체-시간 설정 신호 st의 상승 에지는 신호 모델히트에 의해 초기화된다. 나머지 행는 타이밍 정보를 생성하기 위한 목적으로 CAM 어레이에 제공된다. 이러한 행을 따르는 코어 셀은 표준 코어 셀(510)(도 10에서 코어 셀(330)과 동일함)의 변형이다. 올웨이즈-정합(alwaysmiss) 코어 셀(512)은 모델 정합 라인 체인(514)의 전체에 사용된다. 이러한 NAND 정합 라인 구현에서의 가장 느릴수 있는 (단일-워드) 검색 결과는 정합이며, 그것은 이러한 배열에 의해 모델이 된다. 모델히트 신호 상의 위로의 천이는 유효 데이터가 히트 신호 ht에 보장되는 예에 대응한다. 이전의 타이밍 도에 도시된 히트 신호 극성을 발생시키기 위해, 히트 신호는 클럭 신호 ck의 상승 에지 직후의 선조건화 천이에서 초기에 로우로 구동되어야 한다는 것을 알아야 한다. 모델히트가 자체-시간 설정 신호 st로서 동일한 극성을 가지기 때문에, 자체-시간 설정 구동 회로는 제거될 수 있으며, 모델히트는 도 14b에 도시된 바와 같이, 자체-시간 설정 신호 st로서 사용될 수 있다.
Ⅷ-5. 제5 예
도 15는 이러한 장치에서의 자체-시간 설정 신호 발생이 모델 글로벌 데이터 라인을 이용하는 제2 CAM 어레이와 동일한 정합 논리를 사용하여 복수개의 워드 슬라이스(slices)를 사용한 회로의 블럭도이다.
자체-시간 설정 신호 발생기의 제5 예는 도 15에 도시된 바와 같이, 제2 CAM 어레이에 이용된 복수개의 수직 워드 슬라이스를 가지는 CAM 어레이에서 히트 지연을 추적하는데 사용될 수 있다. 복수개의 워드 슬라이스는 보다 큰 용량의 실현을 가능하게 한다. 컴퍼런드 D의 모든 비트는 모든 워드 슬라이스에 버스되어야 하기 때문에, 글로벌 데이터 버스(622)가 사용된다. 타이밍 정보가 모델 글로벌 데이터 라인(624)의 형태로 글로벌 데이터 버스(622)에 내장될 수 있다. 모델 글로벌 데이터 라인(624)은 그의 제1 천이가 히트 신호 ht의 하향 천이와 거의 일치하도록 구동된다. 모델 글로벌 데이터 라인(624)은 또한 이러한 일치를 보장하기 위해 CAM 어레이에 타이밍 정보를 제공하는데 사용된다. 자체-시간 설정 신호 st의 하강 에지는 모델 데이터 라인의 제1 천이에 의해 초기화되고, 자체-시간 설정 신호 st의 상승 에지는 신호 모델히트에 의해 초기화된다. 나머지 행은 타이밍 정보를 발생시키기 위해, 인코더로부터 가장 먼 CAM 어레이의 워드 슬라이스에 제공된다. 이러한 행을 따르는 코어 셀은 표준 코어 셀(610)(도 10에서 코어 셀(330)과 동일함)의 변형이다. 올웨이즈-정합(always-match) 코어 셀(612)은 모델 정합 라인 체인(614)의 전체에 사용된다. 이러한 NAND 정합 라인 구현에서의 가장 느린 (단일-워드) 검색 결과는 정합이며, 그것은 이러한 배열에 의해 모델화된다. 모델히트 신호로의 상향 천이는 유효 데이터가 히트 신호 ht에 보장되는 예에 대응한다. 이전의 타이밍 도에 도시된 히트 신호 극성을 발생시키기 위해, 히트 신호 ht는 또한 클럭 신호 ck의 상승 에지 다음의 선조건화 천이에서 초기에 로우로 구동되어야 하고, 그의 타이밍은 모델 글로벌 데이터 라인에 의해 관할된다는 것을 알아야 한다. 이전의 두 실시예에서와 같이, 인코더를 통하는 모델히트 신호의 지연은 인코더를 통하여 히트 신호 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 어레이는 참증으로 본 명세서에 일체화되고, K.J. Schultz 등에 의해 1996년 11월 14일자 출원된 Large-Capacity Content Addressable Memory라는 제목의 미국 특허 출원 번호 08/748,928에 기술되어 있다.
복수개의 CAM 칩이 본 발명의 실시예에 따라 케스케이드된 시스템에서, 상태 레지스터, 어드레스 결과 전달, 최종 디바이스 식별, 또는 공통 엔트리의 기억은 사용되지 않는다.
다른 신호 극성, 균등한 부울(Boolean) 게이트-레벨 구현, 작은 타이밍 변형 등을 포함하여, 이러한 본 발명의 개시에 의해 논리적으로 포함되는 상세한 실시예에 많은 가능할 수 있는 변형이 있다는 것을 알 수 있다.
본 발명은 케스케이드된 CAM 칩 시스템에서 복수개의 CAM 칩을 효과적인 방법으로 연결할 수 있도록 칩을 설계함으로써 보다 용이하게 확장력 및 확장성을 가능하게 하는 효과가 있다.
Claims (23)
- 시스템에 있어서,공통 버스; 및상기 버스에 케스케이드되어 연결된 복수개의 내용 어드레서블 메모리(content addressable memory : CAM) 칩 - 상기 CAM 칩의 각각은 w 워드 × b 비트의 코어 셀 어레이 및 인코딩 수단을 구비하고, 상기 코어 셀은 데이터 기억 수단을 구비하며, 상기 CAM 칩은 상기 인코딩 수단을 통해 검색 동작으로부터의 결과인 히트 및 정합 어드레스 신호를 제공할 수 있슴 -을 구비하되,상기 CAM 칩의 각각은,칩에서 칩으로 히트 신호를 전파하기 위한 수단; 및상기 버스에 상기 어드레스 신호를 제공하기 위한 수단을 구비하는 시스템.
- 제1항에 있어서,상기 CAM 칩은 어떤 CAM 칩이 상기 버스에 상기 어드레스 신호를 제공하도록 허용되었는지를 결정하기 위한 구동 수단을 더 구비하는 시스템.
- 제2항에 있어서,상기 구동 수단은 하나 이상의 CAM 칩이 상기 버스에 상기 어드레스 신호를 동시에 제공하는 것을 방지하기 위한 수단을 구비하는 시스템.
- 제2항에 있어서,상기 칩은 상기 구동 수단으로 하여금 온-칩(on-chip)시 발생된 신호에 기초하여 디스에이블되게 하고 케스케이드에서 업스트림(upstream)으로부터 전파하는 신호에 의해 인에이블되도록 하기 위한 수단을 구비하는 시스템.
- 제1항에 있어서,가장 먼 다운스트림 칩의 상기 히트 신호 및 상기 버스 상의 정합 어드레스 신호로부터 상기 케스케이드된 CAM 칩에 대한 검색 결과를 관측하기 위한 수단을 더 구비하는 시스템.
- 제1항에 있어서,상기 케스케이드된 CAM 칩에서 보다 먼 업스트림 칩이 보다 높은 우선 순위가 되도록 칩의 우선 순위를 위치에 의해 결정하기 위한 수단을 더 구비하는 시스템.
- 제1항에 있어서,상기 CAM 칩의 각각은 상기 인코딩 수단을 통해 검색 동작에 대한 다중 정합 지시를 제공하고, 칩에서 칩으로 상기 다중 정합 지시를 전파하기 위한 수단을 더 구비하는 시스템.
- 제7항에 있어서,가장 먼 다운스트림 칩의 다중 정합 출력에서 상기 케스케이드된 CAM 칩의 다중 정합 상태를 관측하기 위한 수단을 더 구비하는 시스템.
- 제1항에 있어서,상기 CAM 칩은 하나 이상의 정합 어드레스의 경우에 후속하는 주기의 순서로 상기 버스에 상기 정합 어드레스 신호를 제공하기 위한 수단을 더 구비하는 시스템.
- 제1항에 있어서,상기 케스케이드된 다중 CAM 칩들 중에서 정합하는 가장 높은 우선 순위의 서열 위치를 인코딩하기 위한 수단을 더 구비하는 시스템.
- 제10항에 있어서,상기 정합 어드레스 신호, 인코드된 서열 위치, 및/또는 연관된 데이터를 제공하기 위한 수단을 더 구비하는 시스템.
- 제1항에 있어서,상기 CAM 칩은 클럭 신호에 응답하여, 상기 칩의 동작에 대한 자체-시간 설정 신호를 발생시키기 위한 자체-시간 설정 수단(self-timing means)을 더 구비하는 시스템.
- 제12항에 있어서,상기 자체-시간 설정 수단은 상기 클럭 신호에 응답하여 자체-시간 설정 신호의 제1 천이를 수행하기 위한 수단을 더 구비하는 시스템.
- 제12항에 있어서,상기 자체-시간 설정 수단은 온-칩시 검색 결과가 제2 천이 이전에 발생되도록 보장되는 시간에서 상기 자체-시간 설정 신호의 제2 천이를 수행하기 위한 수단을 구비하는 시스템.
- 제12항에 있어서,상기 자체-시간 설정 수단은 시간 지연 체인을 구비하되, 상기 자체-시간 설정 신호의 제1 에지가 상기 클럭 신호에 의해 초기화되고, 제2 에지가 지연된 클럭 신호에 의해 초기화되는 시스템.
- 제12항에 있어서,상기 자체-시간 설정 수단은 NOR-형 CAM 어레이에 변형된 코어 셀로 구성된 모델 행으로 연장하는 모델 정합 라인을 구비하고, 이로 인해 상기 인코딩 수단으로부터의 가장 먼 비트만이 부정합이고, 다른 모든 비트들은 정합이며, 가장 느린 정합 라인 천이가 발생되는 시스템.
- 제12항에 있어서,상기 자체-시간 설정 수단은 복수개의 워드 슬라이스중 하나에 상기 인코딩 수단을 통해 지연을 모델링하고, 상기 자체-시간 설정 신호의 상승 에지를 초기화하는 NOR-형 모델 행의 모델 정합 라인을 구비하되, 상기 하강 에지는 검색 결과 신호로의 천이를 간접적으로 초기화하는 모델 글로벌 데이터 라인(model global data line)에 의해 초기화되는 시스템.
- 제12항에 있어서,상기 자체-시간 설정 수단은 NAND-형 CAM 어레이에 모델 행을 통해 연장하는 적어도 하나의 모델 정합 라인 체인을 구비하되, 정합인 가장 느린 정합 라인 천이를 발생시키고, 항상 정합하는 변형된 코어 셀을 구비하는 시스템.
- 제12항에 있어서,상기 자체-시간 설정 수단은 복수개의 워드 슬라이스중 하나에 상기 인코딩 수단을 통해 지연을 모델링하고, 상기 자체-시간 설정 신호의 상승 에지를 초기화하는 NAND-형 모델 행의 모델 정합 라인을 구비하되, 상기 하강 에지는 검색 결과 신호로의 천이를 간접적으로 초기화하는 모델 글로벌 데이터 라인(model global data line)에 의해 초기화되는 시스템.
- 제12항에 있어서,상기 CAM 칩은 상기 공통 정합 어드레스 버스 상에 인에이블이 자체-시간 설정 신호, 반전된 히트-전달 입력 신호 및 온-칩 히트 결과를 입력으로서 갖는 세가지 입력 AND 게이트에 의해 논리적으로 제어되는 3-상 구동기(tri-state drivers)를 구비하는 시스템.
- 제12항에 있어서, 상기 CAM 칩은,반전된 자체-시간 설정 신호;히트 입력 신호; 및온-칩 히트 결과라는 세 가지 신호의 논리적 OR로서 논리적으로 결정되는 각 CAM 칩의 히트 출력을 결정하기 위한 수단을 더 구비하는 시스템.
- 제21항에 있어서,네 개의 입력 OR 게이트를 더 구비하되, 상기 자체-시간 설정 신호는 한 입력이 다중 온-칩 CAM 어레이들 중에서의 검색 결과의 조합에 기인한 지연을 고려하도록 상기 자체-시간 설정 신호 펄스를 넓히기 위해 지연된 자체-시간 설정 신호인 상기 네 개의 입력 OR 게이트의 두 입력으로 선택적으로 분해되는 시스템.
- 제21항에 있어서,상기 CAM 칩은 복수개의 CAM 어레이를 구비하고, 상기 자체-시간 설정 신호는,상기 CAM 어레이중 하나에 의해 직접 발생된 고속 자체-시간 설정 신호; 및히트 신호 논리 회로에 의해 생긴 지연을 모델화하는 논리 회로에 의해 발생되는 저속 자체-시간 설정 신호의 논리적 OR인 시스템.
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 |
US08/919,227 | 1997-08-28 | ||
US8/919,227 | 1997-08-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990023987A true KR19990023987A (ko) | 1999-03-25 |
KR100562806B1 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)
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 |
US7305574B2 (en) | 2004-10-29 | 2007-12-04 | International Business Machines Corporation | System, method and storage medium for bus calibration 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 |
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 |
US7356737B2 (en) * | 2004-10-29 | 2008-04-08 | International Business Machines Corporation | System, method and storage medium for testing a memory module |
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 |
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 |
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 |
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 |
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 |
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 |
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 | ルネサスエレクトロニクス株式会社 | 連想メモリおよび半導体装置 |
Family Cites Families (18)
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 | 松下電器産業株式会社 | 変換バツフア装置 |
KR950008676B1 (ko) * | 1986-04-23 | 1995-08-04 | 가부시기가이샤 히다찌세이사꾸쇼 | 반도체 메모리 장치 및 그의 결함 구제 방법 |
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 |
JPH06251589A (ja) * | 1993-03-02 | 1994-09-09 | Hitachi Ltd | 連想メモリ入出力制御回路 |
JP3083064B2 (ja) * | 1994-03-24 | 2000-09-04 | 川崎製鉄株式会社 | 連想メモリ |
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 |
-
1997
- 1997-08-28 US US08/919,227 patent/US6230236B1/en not_active Expired - Lifetime
-
1998
- 1998-06-18 DE DE69827714T patent/DE69827714T2/de not_active Expired - Lifetime
- 1998-06-18 EP EP98202045A patent/EP0899743B1/en not_active Expired - Lifetime
- 1998-08-17 JP JP10230454A patent/JPH11120775A/ja active Pending
- 1998-08-28 KR KR1019980035171A patent/KR100562806B1/ko not_active IP Right Cessation
-
2000
- 2000-05-18 US US09/572,861 patent/US6301636B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69827714D1 (de) | 2004-12-30 |
EP0899743B1 (en) | 2004-11-24 |
US6230236B1 (en) | 2001-05-08 |
DE69827714T2 (de) | 2005-04-28 |
EP0899743A3 (en) | 1999-08-04 |
EP0899743A2 (en) | 1999-03-03 |
JPH11120775A (ja) | 1999-04-30 |
KR100562806B1 (ko) | 2006-05-25 |
US6301636B1 (en) | 2001-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100562806B1 (ko) | 내용어드레서블메모리시스템 | |
US5859791A (en) | Content addressable memory | |
US6148364A (en) | Method and apparatus for cascading content addressable memory devices | |
US6199140B1 (en) | Multiport content addressable memory device and timing signals | |
USRE43359E1 (en) | System and method for low power searching in content addressable memories using sampling search words to save power in compare lines | |
US4831586A (en) | Content-addressed memory | |
US5542067A (en) | Virtual multi-port RAM employing multiple accesses during single machine cycle | |
JP2009009695A (ja) | Cam、cam内で使用するためのダミー一致線チェーン、およびコアセル | |
US4852061A (en) | High density, high performance register file having improved clocking means | |
KR100619204B1 (ko) | 내용번지화메모리시스템 | |
US7187606B1 (en) | Read port circuit for register file | |
WO1999023663A1 (en) | Synchronous content addressable memory with single cycle operation | |
US20070041262A1 (en) | Register file | |
US5524226A (en) | Register file system for microcomputer including a decoding system for concurrently activating source and destination word lines | |
JPH04229488A (ja) | 仮想マルチポートram構造 | |
EP0288774B1 (en) | High density, high performance register file circuit | |
US6002858A (en) | Cycle time optimization for self-timed read only memory compilers | |
KR0154737B1 (ko) | 멀티포트 레지스터 화일 | |
JPH01116991A (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 |