KR20130105393A - 내용 참조 메모리 시스템 - Google Patents

내용 참조 메모리 시스템 Download PDF

Info

Publication number
KR20130105393A
KR20130105393A KR1020130024353A KR20130024353A KR20130105393A KR 20130105393 A KR20130105393 A KR 20130105393A KR 1020130024353 A KR1020130024353 A KR 1020130024353A KR 20130024353 A KR20130024353 A KR 20130024353A KR 20130105393 A KR20130105393 A KR 20130105393A
Authority
KR
South Korea
Prior art keywords
row
address
register
data
address register
Prior art date
Application number
KR1020130024353A
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 르네사스 일렉트로닉스 가부시키가이샤
Publication of KR20130105393A publication Critical patent/KR20130105393A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • 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
    • G11C15/046Digital 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 using non-volatile storage elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • GPHYSICS
    • 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/02Digital 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 magnetic elements
    • 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
    • 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
    • G11C15/043Digital 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 using capacitive charge storage elements

Landscapes

  • Static Random-Access Memory (AREA)

Abstract

[과제] CAM에 있어서 회로 면적의 고집적화와 고속화에 대응한다.
[해결 수단] 우선순위 인코더/로우 디코더부(5)는, 복수행으로 이루어진 로우 어드레스 레지스터(12)를 공유한다. 로우 어드레스 레지스터(12)의 각 행은, TCAM 어레이 매트(2)의 각 엔트리에 대응하여 각 어드레스를 보유하고 있다. 로우 어드레스 레지스터(12)의 각 행은, TCAM 어레이 매트(2)의 각 행의 워드 라인 및 매치 라인과 대응하고 있다. TCAM 어레이 매트(2)에 데이터가 기록될 때, 지정 어드레스에 대응하여 로우 어드레스 레지스터(12)에서 보유되고 있는 행의 워드 라인(WL)이 활성화한다. TCAM 어레이 매트(2)에 대해서 검색이 이루어지면, TCAM 어레이 매트(2)의 매치 라인이 활성화한다. 대응하는 행의 로우 어드레스 레지스터(12)에는, 검색 데이터에 일치하는 TCAM 어레이 매트(2)의 엔트리의 어드레스가 저장되어 있다.

Description

내용 참조 메모리 시스템{CONTENT ADDRESSABLE MEMORY SYSTEM}
본 발명은, 내용 참조 메모리 시스템에 관한 것으로, 특히, 고집적화, 고속화하기 위한 기술에 관한 것이다.
내용 참조 메모리(CAM:Content Addressable Memory)는, 데이터의 판독(read) 및 기록(write) 기능에 더하여, 그 기억 데이터에의 검색(search) 기능을 가진다.
CAM에 데이터의 기록은, 기록 데이터를 비트 라인(BL : bit line)에 전송하는 것과 함께, 기록 대상의 어드레스에 대응하는 워드 라인(WL : word line)을 로우 디코더(row decoder)에 의해 활성화함으로써 이루어진다.
CAM에서의 검색은, 검색 대상이 되는 데이터열에 근거하여 서치 라인(SL : search line)을 활성화시키고, CAM 어레이 내의 각 엔트리와의 일치, 불일치를 판정함으로써 이루어진다. 검색의 결과, 일치하는 엔트리의 어드레스를 출력한다. 1 엔트리에는, 검색 대상이 되는 데이터 워드가 저장되어 있고, 복수의 CAM 셀로 구성되어 있다. 각 엔트리에는, 매치 라인(ML : match line)이 각각 설치되어 있고, 매치 라인에는, 각 엔트리에 대응하는 CAM 셀이 병렬로 결합된다. 검색 대상의 데이터열과, 각 엔트리에 저장되어 있는 데이터 워드를 비교한 결과, 일치하고 있으면, 그 엔트리에 대응하는 매치 라인이 하이(high) "1"의 상태로 유지된다. 비교의 결과, 불일치의 경우는, 방전에 의해 그 엔트리의 매치 라인이 로(low) "0" 레벨로 된다.
이와 같이, 매치 라인의 전압 레벨을 식별하는 것에 의해, 검색 데이터에 대응하는 데이터가 CAM에 저장되어 있는지의 판정을 행할 수 있다.
또한, CAM에서의 검색시, 복수의 엔트리에 대해 일치로 판정되는 경우는, 우선순위 인코더(priority encoder)에 의해, 어느 하나의 엔트리가 우선되고, 대응하는 어드레스가 출력된다.
이러한 CAM은, 라우터(router)나 스위치 등, 네트워크 기기에서의 경로 검색이나, 캐시 메모리에서의 캐시 미스/히트(cache miss/hit)의 판정 등에 이용되고 있다. 예를 들면, 네트워크 라우터 등에서는 IP패킷의 라우팅이 행해지고 있다. 라우터 내에는 CAM이 저장되고, CAM에는 IP어드레스가 저장되어 있다. 라우팅은 CAM에 저장되어 있는 IP어드레스와 외부로부터 입력되는 IP어드레스를 조합하는 것에 의해 행해진다. 예를 들어, 이 라우터 내의 CAM에 있어서, 일치 상태의 매치 라인 정보(match line information)에 근거하여, 다음의 수신지(destination)를 나타내는 값을 IP패킷에 기록하고, 대응 포트로부터 송출한다.
[특허 문헌 1] 미국 특허 6967856호 공보 [특허 문헌 2] 일본 특개 2007-317342호 공보 [특허 문헌 3] 일본 특개 2003-100086호 공보 [특허 문헌 4] 미국 특허 7436688호 공보
최근, 네트워크 메모리 등으로 사용되는 대규모 고속 CAM에서는, 한층 더 검색 동작의 고속화가 요구되고 있다. 검색 동작의 고속화를 도모하려면, (1) CAM에 있어서의 기억 데이터와 검색 데이터가 일치하고 있는지 여부의 판정과, (2) 일치하는 엔트리가 복수인 경우에 우선순위가 높은 엔트리의 어드레스를 출력하는 우선순위 인코더의 동작에 대해 고속화할 필요가 있다.
상기 (1)에 대해서는, 미국 특허 6967856호 공보(특허 문헌 1)와 같이 매치 라인을 분할하는 기술이 있다. 그 밖에, 일본 특개 2007-317342호 공보(특허 문헌 2), 일본 특개 2003-100086호 공보(특허 문헌 3)와 같이 매치 라인의 미소 전위차를 검지할 수 있는 매치 앰프(match amplifier)를 이용한 검색 동작의 고속화 기술이 있다.
또한 (2) 우선순위 인코더의 동작의 고속화나, CAM에의 기록 동작의 고속화도 요구되고 있다. 예를 들면 네트워크 메모리에 이용되는 CAM에서는, 일정한 시간 간격으로 라우팅 테이블(routing table)를 갱신하는 것이 필요하기 때문에, 일정한 시간 간격으로 기록 동작을 행할 필요가 있다.
또한, CAM의 한층더 고집적화도 필요하게 되고 있다. CAM의 주변 회로가 고속화하는 것과 함께 주변 회로의 면적이 커지고 있어, 주변 회로의 레이아웃의 집적도가 악화되고 있는 등의 문제가 있다. 미국 특허 7436688호 공보(특허 문헌 4)는, 우선순위 인코더에 ROM을 이용하여 구성하는 것에 의해 고속화를 실현하고 있지만, 주변 회로를 고집적화 할 수 없다.
그 외의 과제와 신규한 특징은, 본 명세서의 기술 및 첨부 도면으로부터 밝혀질 것이다.
일 실시 형태에 의하면, 로우 디코더와 우선순위 인코더에 있어서, 복수 행으로 이루어진 어드레스 레지스터를 공유한다. 어드레스 레지스터의 각 행은, CAM 어레이의 각 행에 대응하여 CAM 어레이의 각 행의 어드레스를 보유(保持)하고 있다. 어드레스 레지스터의 각 행은, CAM 어레이의 각 행의 워드 라인 및 매치 라인과 대응하고 있다. 로우 디코더(row decoder)는, CAM 어레이에 데이터를 기록할 때, 어드레스의 지정을 받아들여, 어드레스 레지스터에서 보유되고 있는 행의 워드 라인을 활성화한다. 한편, CAM 어레이에 대해 검색이 이루어지면, 검색에 의해 CAM 어레이의 매치 라인이 활성화한다. 이 매치 라인에 대응하는 행의 어드레스 레지스터에는, 검색 데이터에 일치하는 CAM 어레이의 행의 어드레스가 저장되어 있다.
상기 일 실시 형태에 의하면, CAM에 있어서 회로 면적의 고집적화와 고속화를 실현할 수 있다.
[도 1] 본 실시 형태에 있어서 내용 참조 메모리 시스템(1)의 구성을 나타내는 블럭도이다.
[도 2] 우선순위 인코더로서 기능을 발휘하기 위한, 우선순위 연산부(4)와, 우선순위 인코더/로우 디코더부(5)의 일부 구성을 나타내는 도이다.
[도 3] 로우 디코더로서 기능을 발휘하기 위한, 우선순위 인코더/로우 디코더부(5)의 일부 구성을 나타내는 도이다.
[도 4] 우선순위 인코더와 로우 디코더가 어드레스 레지스터를 공용하지 않고, 각각 독립하고 있는 경우의 기능 블록을 나타내는 도이다.
[도 5] 관련 기술에 있어서의 우선순위 연산부(4), 우선순위 인코더부(55), 로우 디코더부(56)의 구성을 상세하게 나타내는 도이다.
[도 6] 불량 엔트리에 대응하여 로우 어드레스 레지스터(12)에 저장되는 어드레스를 나타내는 도이다.
[도 7] 불량 엔트리에 대응하여 로우 어드레스 레지스터(12)에 저장되는 어드레스를 나타내는 도이다.
[도 8] 실시예 1에 있어서, 기록시 신호의 동작 파형을 나타내는 도이다.
[도 9] 실시예 1에 있어서, 검색시 신호의 동작 파형을 나타내는 도이다.
[도 10] 실시예 2에 있어서, 로우 어드레스 레지스터(12)의 구성을 나타내는 도이다.
[도 11] 실시예 3에 있어서, 로우 어드레스 레지스터(12)와 FNH 레지스터(41)의 구성을 나타내는 도이다.
[도 12] 실시예 3에 있어서, 로우 어드레스 레지스터(12)와 FNH 레지스터(41)의 구성을 나타내는 도이다.
[도 13] 실시예 4에 있어서 구성의 일부를 나타내는 도이다.
[도 14] 실시예 4에 있어서 구성의 일부를 나타내는 도이다.
[도 15] 구제 시프트 회로(45), CAM 셀용 WL 드라이버(13)를 상세하게 나타내는 도이다.
[도 16] SRAM에 의해 TCAM을 구성하는 경우 TCAM 기본 셀을 나타내는 도이다.
[도 17] DRAM에 의해 TCAM을 구성하는 경우 TCAM 기본 셀을 나타내는 도이다.
[도 18] MRAM에 의해 TCAM을 구성하는 경우 TCAM 기본 셀을 나타내는 도이다.
[도 19] ROM에 의해 로우 어드레스 레지스터(12)를 구성하는 경우를 나타내는 도이다.
[도 20] 셀(71) 및 셀(72)의 구성을 나타내는 도이다.
이하, 도면을 이용해 각 실시 형태에 대해 설명한다. <실시예 1> 도 1은, 본 실시 형태에 있어서 내용 참조 메모리 시스템(1)의 구성을 나타내는 블럭도이다.
도 1에 나타내는 바와 같이, 내용 참조 메모리 시스템(1)은, TCAM 어레이 매트(2)와, 매치 앰프(3)와, 우선순위 연산부(4)와, 우선순위 인코더/로우 디코더부(5)와, SL 드라이버(6)와, BL 드라이버/리드 센스 앰프(7)와, 제어 회로(8)를 포함한다.
TCAM 어레이 매트(TCAM array mat : 2)는, 복수의 엔트리에 의해 기억 데이터를 보유한다. 각 엔트리는, 복수의 CAM 셀에 의해 구성된다(개개의 CAM 셀은 도시하고 있지 않다). 각 엔트리는, 각각 어드레스가 부여되고 있다. TCAM 어레이 매트(2)는, 검색 데이터의 입력을 받아들여 각 엔트리에 대해 기억 데이터와 일치하는지 불일치하는지를 병렬로 판정한다. TCAM 어레이 매트(2)는 3값(値) 연상 메모리(Ternary CAM)로서 구성되어 있다. 각 CAM 셀은, 하이("1"), 로("0"), 무정의(don't care)("X")의 3값을 취할 수 있다.
(TCAM 어레이 매트(2)에의 기록) 구체적으로, TCAM 어레이 매트(2)는, 기억 데이터의 기록을 행 단위(엔트리 단위)로 받아들인다. TCAM 어레이 매트(2)에의 기록 데이터에 근거하고, 후술하는 BL드라이버/리드 센스 앰프(7)에 의해 비트 라인(BL)이 활성화한다. 또한, 후술하는 우선순위 인코더/로우 디코더부(5)에 의해, TCAM 어레이 매트(2)에서의 기록 대상의 행의 어드레스의 워드 라인(WL)이 활성화한다. 내용 참조 메모리 시스템(1)은, 이 비트 라인 및 워드 라인에 의해, TCAM 어레이 매트(2)의 지정된 어드레스에 대해서 데이터를 기록한다.
(TCAM 어레이 매트(2)의 검색) TCAM 어레이 매트(2)는, TCAM 어레이 매트(2)에서 각 엔트리의 기억 데이터를 검색하기 위해서, 검색에 이용하는 검색 데이터를 서치 라인(SL)에 의해 받아들인다. 검색 데이터와 기억 데이터가 일치하는 엔트리에 대해서, 매치 라인(ML)이 하이 레벨을 보유한다.
매치 앰프(3)는, 제어 회로(8)의 매치 앰프 제어 신호에 의한 제어에 따라서 동작하고, TCAM 어레이 매트(2)의 검색에 있어서, 매치 라인의 출력을 증폭한다.
우선순위 연산부(4)는, 복수의 엔트리에 있어서 검색 데이터와 기억 데이터가 일치했을 경우, 소정의 연산에 따라 어느 하나를 우선하여 출력한다. 예를 들면, 값"X"를 이용한 검색이 이루어지면, 복수의 어드레스가 동시에 히트(Hit : 일치)할 수도 있다. 이 때, 우선순위 연산부(4)는, 예를 들면 어드레스가 가장 작은 엔트리를 우선하여 출력하는 등에 의해, 우선적으로 어느 하나의 엔트리의 검색 결과를 출력한다.
우선순위 인코더/로우 디코더부(5)는, 후술하는 로우 어드레스 레지스터(12)를 갖추고 있고, 우선순위 인코더로서의 기능과, 로우 디코더로서의 기능을 발휘한다. 즉, 우선순위 인코더와 로우 디코더가 로우 어드레스 레지스터(12)를 공유하고 있다. 자세한 구성은 후술한다. 개요는 이하와 같다. 즉, 우선순위 인코더로서 기능을 발휘하는 경우는, 우선순위 연산부(4)의 출력 결과를 받아, 검색에 의해 히트한 매치 라인에 대응하는 어드레스(매치 어드레스)를 제어 회로(8)에 출력한다. 로우 디코더로서 기능을 발휘하는 경우는, 제어 회로(8)의 리드/라이트(READ/WRITE) 제어 신호에 의해 동작하고, TCAM 어레이 매트(2)에의 데이터 판독/기록 대상이 되는 어드레스의 지정을 받아들여, 어드레스에 대응한 워드 라인을 활성화시킨다.
SL 드라이버(6)는, 제어 회로(8)의 서치 라인 드라이버 제어신호(SLDrv. 제어신호)에 따라서, 서치 라인을 구동한다. TCAM 어레이 매트(2)의 검색시, 서치 라인에 의해 검색 데이터가 TCAM 어레이 매트(2)에 출력된다.
BL 드라이버/리드 센스 앰프(BL driver/read sense amplifier : 7)는, 제어 회로(8)의 제어에 따라서, TCAM 어레이 매트(2)에 데이터를 기록하기 위한 비트 라인을 구동한다.
제어 회로(8)는, 제어 신호를 제어하는 것에 의해 내용 참조 메모리 시스템(1)의 동작을 통괄적으로 제어한다. 즉, 제어 회로(8)는, 외부에서 각종 커멘드(SEARCH 등)를 받아들여, 소정의 클럭(CLK)에 따라서 동작하며, TCAM 어레이 매트(2)의 검색 결과의 출력 등(MATCH_ADD)을 행한다.
여기서, 우선순위 연산부(4)와 우선순위 인코더/로우 디코더부(5)에 대해 자세하게 설명한다.
도 2는, 우선순위 인코더로서 기능을 발휘하기 위한, 우선순위 연산부(4)와, 우선순위 인코더/로우 디코더부(5)의 일부 구성을 나타내는 도이다.
우선순위 연산부(4)는, 연산 결과 출력 회로(21)를 포함하며, 매치 앰프(3)로부터의 복수의 매치 라인(match <0> - match <n>)의 출력을 받아들인다. 복수의 매치 라인이 히트(Hit)하고 있는 경우, 연산 결과 출력 회로(21)에 의해 어느 하나의 매치 라인을 우선하여 우선순위 인코더/로우 디코더부(5)에 출력한다(p_match).
우선순위 인코더/로우 디코더부(5)는, 로우 어드레스 레지스터용 WL 드라이버(11)와, 로우 어드레스 레지스터(12)와, CAM 셀용 WL 드라이버(13)를 포함한다. 도 2에서는, 로우 어드레스 레지스터용 WL 드라이버(11)와 로우 어드레스 레지스터(12)를 나타내고 있다.
로우 어드레스 레지스터(12)는, 본 실시 형태에서는 복수의 CAM 셀(CAM 셀 (23))에 의해 구성된다. 로우 어드레스 레지스터(12)는, 각 행에 있어서, TCAM 어레이 매트(2)의 어느 하나의 엔트리의 어드레스를 보유하고 있다. 로우 어드레스 레지스터(12)의 각 행은, 우선순위 연산부(4)나 CAM 셀용 WL 드라이버(13) 등을 경유하여, TCAM 어레이 매트(2)의 매치 라인의 출력을 받아들이고, 워드 라인을 활성화시킨다. 도시하는 예에서는, 로우 어드레스 레지스터(12)는, 도의 위에서부터 순서적으로, TCAM 어레이 매트(2)의 각 엔트리를 나타내는 어드레스 「0000」「0001」「0010」 ‥를 저장하고 있고, 각각이 TCAM 어레이 매트(2)의 대응하는 각 엔트리와 워드 라인 및 매치 라인에 의해 접속되고 있다.
로우 어드레스 레지스터용 WL 드라이버(11)는, 우선순위 인코더/로우 디코더부(5)에 우선순위 인코더로서 기능을 발휘시키기 위해, 인에이블 신호(pe_enable)에 따라서 로우 어드레스 레지스터(12)의 워드 라인을 활성화시킨다. 로우 어드레스 레지스터용 WL 드라이버(11)는, 구동 회로(22)를 포함하고, 우선순위 연산부(4)의 매치 라인의 출력 결과를 받아들인다. 로우 어드레스 레지스터용 WL 드라이버(11)는, 인에이블 신호(pe_enable)와 우선순위 연산부(4)의 출력 결과를 받아들이고, 로우 어드레스 레지스터(12)에 검색 결과를 출력시키는 동작을 제어한다.
우선순위 인코더/로우 디코더부(5)에 있어서, 우선순위 인코더로서의 기능은, 주로 로우 어드레스 레지스터용 WL 드라이버(11)와 로우 어드레스 레지스터(12)에 의해 발휘된다. TCAM 어레이 매트(2)를 검색한 검색 결과의 출력(peBL)은, 로우 어드레스 레지스터(12)의 비트 라인에 의해 이루어지고 레지스터용 BL센스 앰프/SL 드라이버(9)에 출력된다(peBL).
도 3은, 로우 디코더로서의 기능을 발휘하기 위한, 우선순위 인코더/로우 디코더부(5)의 일부 구성을 나타내는 도이다.
우선순위 인코더/로우 디코더부(5)에 있어서, 로우 디코더로서의 기능은, 주로 로우 어드레스 레지스터(12)와 CAM 셀용 WL 드라이버(13)에 의해 발휘된다. TCAM 어레이 매트(2)에의 기록 대상이 되는 어드레스의 지정(rw_add)은, 후술하는 레지스터용 BL센스 앰프/SL 드라이버(9)에 의해 받아들일 수 있고, 레지스터용 BL센스 앰프/SL 드라이버(9)에 의해 로우 어드레스 레지스터(12)의 서치 라인에 출력된다(AddSL). 로우 어드레스 레지스터(12)에서는, 지정된 어드레스에 일치하는 행의 매치 라인이 활성화하여 CAM 셀용 WL 드라이버(13)에 출력된다(addML).
CAM 셀용 WL 드라이버(13)는, 로우 어드레스 레지스터(12)와 함께 로우 디코더로서의 기능을 발휘한다. CAM 셀용 WL 드라이버(13)는, 로우 어드레스 레지스터(12)의 매치 라인의 출력 결과를 받아들이고, 제어 신호(add_mlpre_n)에 따라서 출력한다. CAM 셀용 WL 드라이버(13)는, 로우 어드레스 레지스터(12)의 매치 라인의 출력 결과를, 제어 신호(add_mllat)에 나타나는 타이밍에 따라 래치 회로(24)에 의해 보유한다. 래치 회로(24)에 보유된 내용은, 제어 신호(rw_enable)에 따라 구동 회로(25)에서 TCAM 어레이 매트(2)의 워드 라인에 출력된다.
레지스터용 BL센스 앰프/SL 드라이버(9)는, 제어 회로(8)의 일부를 구성한다. 레지스터용 BL센스 앰프/SL 드라이버(9)는, 우선순위 인코더/로우 디코더부(5) 등을 우선순위 인코더로서 기능시키기 위해, 로우 어드레스 레지스터(12)의 비트 라인으로부터의 신호를 증폭하는 센스 앰프 기능을 발휘한다(BL Sense Amp). 또한 레지스터용 BL센스 앰프/SL 드라이버(9)는, 우선순위 인코더/로우 디코더부(5) 등을 로우 디코더로서 기능시키기 위해, 제어 신호(add_sle)에 따라 로우 어드레스 레지스터(12)의 서치 라인의 동작을 제어하는 SL 드라이버(SL Drv.)이다. 또한 레지스터용 BL센스 앰프/SL 드라이버(9)는, TCAM 어레이 매트(2)에의 기록 대상이 되는 어드레스의 지정을 받아들인다(rw_add). 레지스터용 BL센스 앰프/SL 드라이버(9)는, 우선순위 인코더/로우 디코더부(5) 등이 우선순위 인코더로서 기능한 출력 결과를 받아들여 외부에 출력한다(hit_add).
이상의 구성에 의하면, 우선순위 인코더와 로우 디코더가, TCAM 어레이 매트(2)의 각 엔트리의 어드레스를 보유하는 로우 어드레스 레지스터(12)를 공유하고 있다. 그 때문에, 우선순위 인코더와 로우 디코더가 각각 디코더 회로 등을 갖추는 경우와 비교하여 고집적화를 실현할 수 있다.
<관련 기술과의 대비> 여기서, 관련 기술로서, 우선순위 인코더와 로우 디코더가 어드레스 레지스터를 공용하지 않는 경우에 대해 설명한다.
도 4는, 우선순위 인코더와 로우 디코더가 어드레스 레지스터를 공용하지 않고, 각각 독립하고 있는 경우의 기능 블록을 나타내는 도이다.
내용 참조 메모리 시스템(101)은, 우선순위 인코더부(55)와 로우 디코더부(56)가 어드레스 레지스터를 공용하지 않고, 각각 독립하고 있다. 제어 회로(57)는, TCAM 어레이 매트(2)에의 검색 결과의 출력인 매치 어드레스를 우선순위 인코더부(55)에서 받아들인다. 또한, 제어 회로(57)는, TCAM 어레이 매트(2)에의 기록 어드레스의 지정을 로우 디코더부(56)에 출력한다.
도 5는, 관련 기술에 있어서 우선순위 연산부(4), 우선순위 인코더부(55), 로우 디코더부(56)의 구성을 상세하게 나타내는 도이다.
도시하는 바와 같이, 우선순위 인코더로서의 기능은, 우선순위 연산부(4)와 우선순위 인코더부(55)에 의해 발휘된다.
로우 디코더로서의 기능은 로우 디코더부(56)에 의해 발휘된다. 우선순위 인코더로서 기능을 발휘하는 경우를 설명한다. 우선순위 연산부(4)에서의 연산 결과 출력 회로(21)의 연산에 의해, 우선순위 연산부(4)는, 어느 하나의 매치 라인의 출력을 우선순위 인코더부(55)에 출력한다.
우선순위 인코더부(55)는, 불량 구제 회로(不良救濟回路 : 62)와 인코더 회로(63)를 포함한다.
불량 구제 회로(62)는, TCAM 어레이 매트(2)에서의 불량 엔트리를 구제하기 위한 회로이다. 불량 구제 회로(62)는, 제어 회로(57)에서 출력되는 구제 어드레스 신호에 따라서, 연산 결과 출력 회로(21)에서의 출력 결과(p_match)를 시프트 시키는 등에 의해, 구제를 행한다.
인코더 회로(63)는, 불량 구제 회로(62)의 출력 결과를 받아서, 매치 라인에 대응하는 TCAM 어레이 매트(2)의 어드레스를 인코딩하고, 매치 어드레스(hit_add)로서 제어 회로(57)에 출력한다. 즉 매치 라인과 어드레스의 변환을 행한다.
다음으로, 로우 디코더로서 기능하는 경우에 대해 설명한다. 로우 디코더부(56)는, 디코더 회로(64)와 불량 구제 회로(65)와 WL 드라이버부(58)를 포함한다.
디코더 회로(64)는, 제어 회로(57)에서 TCAM 어레이 매트(2)의 기록처 어드레스(write destination address)의 지정(rw_add)을 받아들이고, 대응하는 워드 라인을 활성화시킨다. 즉 워드 라인과 어드레스의 변환을 행한다.
불량 구제 회로(65)는, TCAM 어레이 매트(2)에서의 불량 엔트리를 구제하기 위한 회로이다. 디코더 회로(64)의 출력을 시프트 시키는 등에 의해, 구제를 행한다.
WL 드라이버부(58)는, 디코더 회로(64)와 불량 구제 회로(65)의 출력 결과를 증폭 하는 것 등에 의해, 워드 라인(WL)을 활성화시키기 위한 구동부로서의 기능을 발휘한다.
상기와 같이 관련 기술과 본 실시 형태를 비교하면, 관련 기술에서는, 인코더 회로(63)와 디코더 회로(64)로 각각 TCAM 어레이 매트(2)에서의 어드레스의 변환이 행해지고 있다.
이것에 대해, 본 실시 형태에 의하면, 우선순위 인코더와 로우 디코더가 로우 어드레스 레지스터(12)를 공유하고 있다. 그 때문에, 본 실시 형태는, 관련 기술과 비교하여 레이아웃 면적의 삭감을 도모할 수 있어, 고집적화가 가능해진다. 또한 논리단수(論理段數)를 저감시킴으로써, 고속화를 도모할 수 있다.
<실시예 1에 있어서의 구제 회로> 여기서 실시예 1의 설명으로 돌아가, 실시예 1에서의, 불량 어드레스의 구제 기능에 대해 설명한다.
TCAM 어레이 매트(2)의 불량 엔트리를 구제하기 위해서, 로우 어드레스 레지스터(12)에는, 불량 구제 후의 어드레스가 저장되어 있다. 칩 테스트 등에 의해, TCAM 어레이 매트(2)의 불량 엔트리를 조사해 놓고, 로우 어드레스 레지스터(12)에 저장하는 값(구제 코드)을 퓨즈 등에 기억시켜 놓는다. 전원 투입시에, 로우 어드레스 레지스터(12)에 구제 코드가 판독되도록 구성한다.
도 6은, 불량 엔트리에 대응하여 로우 어드레스 레지스터(12)에 저장되는 어드레스를 나타내는 도이다. 도 7은, 불량 엔트리에 대응하여 로우 어드레스 레지스터(12)에 저장되는 어드레스를 나타내는 도이다. 도 6, 도 7에서는 주로 로우 어드레스 레지스터(12)의 일부를 나타내고 있다.
도 6(A)는, 불량 엔트리가 없는 경우에, 로우 어드레스 레지스터(12)에 저장되는 어드레스를 나타내고 있다. 구제가 없기 때문에, 동 도(同圖)의 위에서부터 순서적으로 어드레스의 값으로서 0000, 0001, 0010, 0011, ‥ 이 로우 어드레스 레지스터(12)의 각 행에 저장되고 있다.
도 6(B)는, 불량 엔트리가 있는 경우에, 로우 어드레스 레지스터(12)에 저장되는 어드레스를 나타내고 있다. 불량 엔트리 대응행(對應行)(31)이 있다고 한다(동 도의 match <2>). 이 경우, 예를 들면 하나 아래의 엔트리가 대체 엔트리가 되는 것으로서, 어드레스를 「-1」시프트 시킨 값이 이후의 행에 기록되어 간다. 동 도의 위에서부터 순서적으로 어드레스의 값으로서 0000, 0001, xxxx(불량 엔트리에 대응), 0010, 0011, ‥ 이 로우 어드레스 레지스터(12)의 각 행에 저장되고 있다.
도 7(A)는, 불량 엔트리가 없는 경우의 어드레스의 출력값를 나타내고 있다. 도 7(B)는, 불량 엔트리가 있는 경우의 어드레스의 출력값를 나타내고 있다.
도 7(B)에 나타내는 바와 같이, WL<2>에 대응하는 불량 엔트리 대응행(31)에 관해서는, 워드 라인의 활성화가 되지 않고, 어드레스 「0010」이 WL<3>에 시프트 하고 있는 것을 나타내고 있다.
<실시예 1의 동작의 상세> 실시예 1에서의 내용 참조 메모리 시스템(1)의 동작에 대해 설명한다.
<판독 또는 기록시의 동작> 우선 로우 디코더 기능에 의해 TCAM 어레이 매트(2)에 데이터를 판독 또는 기록하는 경우를 설명한다.
동작의 개요는, 이하와 같다. 즉, TCAM 어레이 매트(2)에의 판독 또는 기록시에, 기록처(write destination)의 어드레스를 나타내는 신호(rw_add)가 도 2에 나타내는 레지스터용 BL센스 앰프/SL 드라이버(9)에 입력된다. 레지스터용 BL센스 앰프/SL 드라이버(9)에 의해 로우 어드레스 레지스터(12)의 서치 라인이 활성화 된다(addSL). 로우 어드레스 레지스터(12)의 각 행의 값과, 기록처의 어드레스를 나타내는 신호(rw_add)가 일치하면, 일치한 행의 로우 어드레스 레지스터(12)의 매치 라인이 하이(high)가 되고, 그 이외는 로(low)가 된다. 이것에 의해, 기록처의 어드레스에 대응하는 워드 라인이 활성화한다.
도 8은, 실시예 1에 있어서, 기록시 신호의 동작 파형을 나타내는 도이다. 이 도의 예에서는, 기록 동작(WRITE)으로서 어드레스 「00000010」에의 기록(WL<2>가 활성화), 어드레스 「00000001」에의 기록(WL<1>이 활성화)이 이루어지고 있다. 이어서, TCAM 어레이 매트(2)의 서치 동작(SEARCH)이 이루어지는 연속 동작을 나타내고 있다.
기록처의 어드레스 「00000010」이 레지스터용 BL센스 앰프/SL 드라이버(9)에 입력되고(rw_add), 로우 어드레스 레지스터(12)에서 각 행이 보유하고 있는 값과 일치하는 행이 있는지가 검색된다(add_sle, addSL). 일치하는 행이 있으면, 로우 어드레스 레지스터(12)의 매치 라인이 하이가 되고(add_mlpre_n, addML<2>), CAM 셀용 WL 드라이버(13)의 래치 회로(24)에서 래치(latch)된다(add_mllat). 라이트 인에이블 신호(rw_enable)에 의해, 기록처의 어드레스의 워드 라인이 활성화한다(WL<2>).
다음의 어드레스 「00000001」에 대해서도 마찬가지이며, 기록처의 어드레스의 워드 라인이 활성화한다(WL<1>).
다음의 서치 동작때는, 검색에 따라 TCAM 어레이 매트(2)의 서치 라인(SL)이 활성화된다. 검색에 히트(Hit)하지 않는 매치 라인(ML)은 방전되어, 로(low)가 된다. 서치 개시까지 워드 라인이 비활성으로 되기 때문에, 기록을 위한 라이트 커맨드(write command) 후에, 검색을 위한 서치 커맨드(search command)를 입력할 수 있어, NOP(no operation) 커맨드를 필요로 하지 않는다.
<서치 동작> 다음으로, 실시예 1에 있어서의 TCAM 어레이 매트(2)에의 서치 동작에 대해 설명한다.
도 9는, 실시예 1에 있어서, 검색시 신호의 동작 파형을 나타내는 도이다. 제어 회로(8)는, 커맨드(SEARCH)에 따라, 소정의 클럭(camclk)의 타이밍에 의해 TCAM 어레이 매트(2)에의 서치 동작을 개시한다. 서치 라인이 활성화하고, 검색 데이터에 일치하는 엔트리의 매치 라인이 하이가 된다. 매치 라인의 출력 결과는, 제어 신호(MAE)에 따라서 동작하는 매치 앰프(3)에 의해 증폭된다. 매치 앰프(3)에 의해 증폭된 출력(match)이 우선순위 연산부(4)에 입력된다. 우선순위 연산부(4)는, 연산 결과 출력 회로(21)에 의해 어느 하나를 우선하여 검색 결과의 엔트리에 대응한 출력을 한다(p_match).
우선순위 인코더/로우 디코더부(5)에서는, 로우 어드레스 레지스터용 WL 드라이버(11)는, 인에이블 신호(pe_enable)에 따른 타이밍으로, 검색 결과에 근거하여, 로우 어드레스 레지스터(12)의 워드 라인을 활성화한다. 동 도에서는, 2번째의 엔트리와 127번째의 엔트리에 대응하는 워드 라인이 활성화 하고 있다(peWL<2>, peWL<127>). 활성화한 워드 라인에 대응하는 로우 어드레스 레지스터(12)의 값이, 비트 라인에 의해 레지스터용 BL센스 앰프/SL 드라이버(9)에 출력된다(peBL). 레지스터용 BL센스 앰프/SL 드라이버(9)는, 히트 엔트리(hit entry)의 어드레스를 외부에 출력한다(MATCH_ADD).
<실시예 2> 다른 실시 형태에 대해 설명한다.
도 10은, 실시예 2에 있어서의 로우 어드레스 레지스터(12)의 구성을 나타내는 도이다. 동 도에서는, 우선순위 인코더로서의 기능을 발휘하기 위한, 검색 결과를 출력하는 로우 어드레스 레지스터(12)의 비트 라인이 분할되어 있는 것을 나타내고 있다.
예를 들면 소정 범위의 엔트리를 대상으로 센스 앰프를 할당하는 것으로, 검색 결과의 출력이 고속화한다. 동 도에서는 제1 BL센스 앰프(32)와 제2 BL센스 앰프(33)의 2개를 나타내고 있다. 제1 BL센스 앰프(32)와 제2 BL센스 앰프(33)의 각각은, 일부 엔트리의 로우 어드레스 레지스터(12)와 대응하고 있다. 레지스터용 GBL 센스 앰프/SL 드라이버(34)는, 비트 라인으로부터의 출력을 증폭하는 센스 앰프이다. 각 BL센스 앰프의 출력을 받아들이고(gbl0, gbl1), 검색에 의해 히트한 어드레스를 출력한다(hit_add).
또한, 동 도에 나타내는 바와 같이, CAM 셀용 WL 드라이버(13)는, 차동 앰프(35)를 포함하고 있다. 로우 어드레스 레지스터(12)의 매치 라인의 출력을 차동 앰프로 받아들이는 것에 의해, 고속화를 실현하고 있다.
<실시예 3> 다른 실시 형태에 대해 설명한다. 실시예 3에서는, FNH(Force no-hit) 레지스터를 CAM 셀에 설치하고 있다.
도 11은, 실시예 3에 있어서의 로우 어드레스 레지스터(12)와 FNH 레지스터(41)의 구성을 나타내는 도이다.
도 12는, 실시예 3에 있어서의 로우 어드레스 레지스터(12)와 FNH 레지스터(41)의 구성을 나타내는 도이다.
이와 같이 로우 어드레스 레지스터(12)와 함께 CAM 셀에 의해 FNH 레지스터를 설치하고, 레지스터용 BL센스 앰프/SL 드라이버(42)의 제어에 의해 동작하는(fnh_bl) 것으로, 고속화를 도모할 수 있다. 예를 들면 서치 동작시에, 히트 어드레스의 출력과 FNH 리드 데이터의 출력까지의 대기시간(latency)을 삭감할 수 있다. 또한 FNH 디코더 회로도 불필요해져, 레이아웃 면적의 삭감으로 연결되어, 고집적화를 도모할 수 있다.
<실시예 4> 다른 실시 형태에 대해 설명한다. 실시예 4에서는, 구제 정보 데이터 레지스터를 설치하고 있다.
도 13은, 실시예 4에 있어서의 구성의 일부를 나타내는 도이다. 도 14는, 실시예 4에 있어서의 구성의 일부를 나타내는 도이다.
도 13 및 도 14에 나타내는 바와 같이, WL<1>에 대응하는 엔트리가 불량 엔트리로 하고, WL<1>에 대응하는 행을 불량 엔트리 대응행(47)으로 하여 나타낸다.
불량 엔트리를 구제하는 경우, 실시예 4에서는, 레지스터용 BL센스 앰프/SL 드라이버(43)는, 로우 어드레스 레지스터(12)의 기록변경(rewrite)을 행하지 않고, 제어 신호(sp_bl)에 의해 구제 정보 레지스터(44)를 기록변경한다. 로우 디코더로서 기능하는 경우는, 구제 정보 레지스터(44) 및 구제 시프트 회로(45)에 의해 구제가 행해진다. 또한 우선순위 인코더로서 기능하는 경우는, 로우 어드레스 레지스터(12)의 기록변경이 행해지지 않기 때문에, 어드레스 시프트 회로(46)에 의해 어드레스를 시프트하여 출력한다.
예를 들면 WL<1>에 대응하는 엔트리가 불량이라고 하면, WL<2>에 대응하는 엔트리의 어드레스를 「-1」시프트시켜, 「0001」로 한다. TCAM 어레이 매트(2)에의 검색 결과, 로우 어드레스 레지스터용 WL 드라이버(11)에 의해 워드 라인 peWL<2>가 활성화한다고 한다. 이 경우, 로우 어드레스 레지스터(12)의 값은 기록변경하지 않기 때문에, 어드레스 시프트 회로(46)는, 레지스터용 BL센스 앰프/SL 드라이버(43)에서 출력되는 매치 어드레스(hit_add0)를 시프트 시키고, 시프트 후의 어드레스를 출력한다(hit_add).
레지스터용 BL센스 앰프/SL 드라이버(43)는, 제어 신호(hft_en)에 의해, 우선순위 인코더로서 기능할 때의 시프트가 필요한 행의 정보(불량 엔트리에 대응하는 어드레스 등)를 어드레스 시프트 회로(46)에 통지한다. 어드레스 시프트 회로(46)는, 예를 들면 레지스터용 BL센스 앰프/SL 드라이버(43)로부터 통지되는 불량 엔트리에 대응하는 어드레스의 정보와, 레지스터용 BL센스 앰프/SL 드라이버(43)에서 출력되는 매치 어드레스(hit_add0)를 비교하고, 매치 어드레스(hit_add0)가, 불량 엔트리에 대응하는 어드레스(shft_en) 이후이면 어드레스를 시프트 한다.
도 15는, 구제 시프트 회로(45), CAM 셀용 WL 드라이버(13)를 상세하게 나타내는 도이다.
구제 정보 레지스터(44)는, 로우 어드레스 레지스터(12)의 각 행에 대응하여 레지스터를 갖추고 있다. 시프트가 필요한 행에 대해서, 값 「1」을 상기 레지스터 에 보유하고 있다.
구제 시프트 회로(45)는, 도시하는 바와 같이, 구제 정보 레지스터(44)의 각 행의 레지스터의 출력을 받아들이고, 신호(sft, dis)를 출력한다. 도시하는 바와 같이 신호(dis)는, 구제 정보 레지스터(44)의 레지스터의 인접하는 행의 값에 따라 출력이 정해지며, 인접하는 행의 값이 다른 경우에 「0」을 출력한다. 신호(dis)는, CAM 셀용 WL 드라이버(13)에서 불량 엔트리에 대응하는 워드 라인(도시하는 예에서는 WL<1>)을 불사용(不使用)으로 하기 위해서 이용된다.
구제 정보 레지스터(44)의 각 행의 레지스터의 값은 구제 시프트 회로(45)에서 이용된다. 예를 들면 구제 시프트 회로(45)에서, sft<2>가 입력되는 레지스터의 값은 「1」이다. 이 sft<2>가 입력되는 레지스터에는, 매치 라인 addML<1> 및 매치 라인 addML<2>가 접속되고 있고, sft<2>의 값에 따라(즉, 시프트가 필요한가 아닌가에 따라) 어느 하나의 매치 라인의 출력을 CAM 셀용 WL 드라이버(13)의 래치 회로에 입력한다.
상기와 같이 구성하는 것에 의해, 구제를 하면서 고속화를 도모할 수 있다.
<실시예 5> 다른 실시 형태에 대해 설명한다. 로우 어드레스 레지스터(12)에 있어서의 TCAM의 구성에 대해서, 실시예 5에서는, SRAM(Static Random Access Memory)나 DRAM(Dynamic Random Access Memory)나 MRAM(Magnetoresistive Random Access Memory)나 ROM(Read Only Memory)에 의해 구성한다.
도 16은, DRAM에 의해 TCAM을 구성하는 경우의 TCAM 기본 셀을 나타내는 도이다.
상기와 같이, 검색 데이터는 서치 라인(SL)에 의해 셀에 입력되고, 기억 데이터 X(SNX), 기억 데이터 Y(SNY)와 일치하는지가 판정된다. 기억 데이터 X, Y가 모두 「1」인 경우, 항상 불일치(always miss)로 된다. 기억 데이터 X, Y가 모두 「0」인 경우, 항상 일치(always hit)로 된다.
도 17은, DRAM에 의해 TCAM을 구성하는 경우의 TCAM 기본 셀을 나타내는 도이다. 상기와 같이, 검색 데이터(SL)와 기억 데이터(SNX, SNY)가 비교되어, 일치여부가 판정된다.
도 18은, MRAM에 의해 TCAM을 구성하는 경우의 TCAM 기본 셀을 나타내는 도이다. 판독와 기록에 사용하는 비트 라인(BL), 판독시에 트랜지스터를 온으로 하는 워드 라인(RWLX, RWLY), 기록시에 전류가 흐르는 디지트 라인(DL : digit line) 등이 배치되어 있다.
도 19는, ROM에 의해 로우 어드레스 레지스터(12)를 구성하는 경우를 나타내는 도이다. 각 CAM 셀이 ROM에 의해 구성되어 있다.
동 도에서는, 「0」을 보유하는 ROM 구성의 셀(71)과, 「1」을 보유하는 ROM 구성의 셀(72)을 나타내고 있다.
도 20은, 셀(71) 및 셀(72)의 구성을 나타내는 도이다. 도 20(A)에서, 셀(71)을 나타내며, 도 20(B)에서, 셀(72)을 나타내고 있다.
상기의 실시 형태에 의하면, 로우 어드레스 레지스터(12)에 있어서 기억 내용이 전원 오프시에 보유되는 메모리에 의해 구성하면, 전원 투입마다 구제 회로로서 기능시키기 위한 시퀀스가 불필요해진다.
상기의 예에서는, CAM에서의 인코더나 디코더에 있어서, 어드레스 레지스터를 공용하는 경우를 설명했지만, CAM 이외에 인코더나 디코더 회로에서 상기 구성을 이용하는 것으로 해도 좋다. 어드레스의 비트수가 많은 경우 또는, 인코더나 디코더의 논리단수가 많은 회로에 있어서, 고속화 및 레이아웃 면적의 삭감을 도모할 수 있다.
이와 같이 각 실시 형태에 대해 설명했지만, 이들 실시 형태를 조합해도 좋은 것은 말할 필요도 없다.
이상, 본 발명자에 의해서 이루어진 발명을 실시 형태에 근거하여 구체적으로 설명했지만, 본 발명은 상기 실시 형태로 한정되는 것이 아니고, 그 요지를 벗어나지 않는 범위에서 다양하게 변경 가능한 것은 말할 필요도 없다.
1 내용 참조 메모리 시스템, 2 TCAM 어레이 매트,
3 매치 앰프, 4 우선순위 연산부,
5 우선순위 인코더/로우 디코더부, 6 SL 드라이버,
7 BL드라이버/리드 센스 앰프, 8 제어 회로,
9 레지스터용 BL센스 앰프/SL 드라이버,
11 로우 어드레스 레지스터용 WL 드라이버,
12 로우 어드레스 레지스터, 13 CAM 셀용 WL 드라이버,
21 연산 결과 출력 회로, 22 구동 회로,
23 CAM 셀, 24 래치 회로,
25 구동 회로, 31 불량 엔트리,
32 제1 BL센스 앰프, 33 제2 BL센스 앰프,
34 레지스터용 GBL 센스 앰프/SL 드라이버,
35 차동 앰프, 41 FNH 레지스터,
42 레지스터용 BL센스 앰프/SL 드라이버,
43 레지스터용 BL센스 앰프/SL 드라이버,
44 구제 정보 레지스터, 45 구제 시프트 회로,
46 어드레스 시프트 회로, 47 불량 엔트리,
55 우선순위 인코더부, 56 로우 디코더부,
57 제어 회로, 58 WL 드라이버부,
61 연산 결과 출력 회로, 62 불량 구제 회로,
63 인코더 회로, 64 디코더 회로,
65 불량 구제 회로.

Claims (9)

  1. 내용 참조 메모리 시스템으로서,
    복수행으로 이루어진 CAM 셀을 포함하고, 행마다 기억 데이터를 보유하며, 검색 데이터의 입력을 받아들여 각 행 병렬로 기억 데이터를 검색 가능한 데이터 보유용 CAM 어레이와,
    상기 데이터 보유용 CAM 어레이에의 기록 대상의 행의 어드레스를 워드 라인에 의해 특정하여 해당 어드레스에 데이터를 기록하는 로우 디코더부와,
    상기 기억 데이터와 상기 검색 데이터의 각 행에 있어서의 비교 결과를 나타내는 매치 라인의 출력에 근거하여, 비교 결과가 일치하는 행의 어드레스를 출력하는 우선순위 인코더부를 포함하며,
    상기 로우 디코더부와 상기 우선순위 인코더부는, 복수행의 어드레스 레지스터를 갖추어 공유하고,
    상기 어드레스 레지스터의 각 행은, 각각 상기 데이터 보유용 CAM 어레이의 각 행과 대응하여 상기 워드 라인 및 상기 매치 라인에 의해 접속하고 있고,
    상기 데이터 보유용 CAM 어레이의 각 행의 어드레스를 보유하는, 내용 참조 메모리 시스템.
  2. 제 1 항에 있어서,
    상기 로우 디코더부는, 상기 기록 대상의 행의 어드레스의 지정을 받아들이면, 해당 지정으로 나타내는 어드레스를 검색 데이터로서 상기 어드레스 레지스터의 각 행과 비교하는 것에 의해, 비교 결과가 일치하는 행에서의 워드 라인을 활성화시키고,
    상기 우선순위 인코더부는, 상기 데이터 보유용 CAM 어레이의 매치 라인의 출력에 대응하는 상기 어드레스 레지스터의 행에 보유된 어드레스에 근거하여, 상기 검색 데이터와 상기 기억 데이터가 일치하는 행의 어드레스를 출력하는, 내용 참조 메모리 시스템.
  3. 제 1 항에 있어서,
    상기 어드레스 레지스터는, CAM 셀에 의해 구성되는, 내용 참조 메모리 시스템.
  4. 제 1 항에 있어서,
    상기 어드레스 레지스터는, 기록변경(rewrite)이 가능하며,
    상기 내용 참조 메모리 시스템은, 상기 데이터 보유용 CAM 어레이의 불량행(不良行)을 구제(救濟)한 구제 코드를 기억하기 위한 기억부를 포함하고,
    상기 어드레스 레지스터는, 상기 기억부에 기억된 구제 코드에 근거하여, 상기 기록변경에 의해 불량 구제(不良救濟) 후의 어드레스의 기록을 받아들이는, 내용 참조 메모리 시스템.
  5. 제 1 항에 있어서,
    상기 복수행의 어드레스 레지스터는, 상기 우선순위 인코더부에서의 출력 결과를 증폭하기 위한 센스 앰프를 복수 포함하고,
    상기 센스 앰프는, 소정 범위의 행의 어드레스 레지스터마다 할당되어 있는, 내용 참조 메모리 시스템.
  6. 제 1 항에 있어서,
    상기 복수행의 어드레스 레지스터는, 상기 데이터 보유용 CAM 어레이에의 기록 대상의 행의 어드레스를 입력으로서 받아들이고, 받아들인 어드레스에 일치하는 어드레스 레지스터에 대응하는 워드 라인을 활성화시키는 것에 의해 상기 로우 디코더부로서 기능하고,
    상기 어드레스 레지스터의 매치 앰프는 차동 앰프인, 내용 참조 메모리 시스템.
  7. 제 1 항에 있어서,
    상기 어드레스 레지스터는, 불휘발성 메모리에 의해 구성되는, 내용 참조 메모리 시스템.
  8. 제 1 항에 있어서,
    상기 어드레스 레지스터는, FNH(force no-hit) 레지스터를 상기 CAM 셀 어레이에 포함한, 내용 참조 메모리 시스템.
  9. 제 1 항에 있어서,
    상기 로우 디코더부는,
    상기 어드레스 레지스터의 각 행에 대해 불량 엔트리의 구제에 의한 출력의 시프트가 필요한가를 나타내는 구제 정보 데이터 레지스터와,
    불량행에 대응하는 워드 라인의 사용을 억지(抑止)하고, 상기 어드레스 레지스터의 각 행에서, 상기 어드레스 레지스터의 보유 내용과 상기 구제 정보 데이터 레지스터의 보유 내용에 근거하여 어드레스 연산하는 구제 시프트 회로를 포함한, 내용 참조 메모리 시스템.
KR1020130024353A 2012-03-14 2013-03-07 내용 참조 메모리 시스템 KR20130105393A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012057060A JP2013191255A (ja) 2012-03-14 2012-03-14 内容参照メモリシステム
JPJP-P-2012-057060 2012-03-14

Publications (1)

Publication Number Publication Date
KR20130105393A true KR20130105393A (ko) 2013-09-25

Family

ID=49135964

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130024353A KR20130105393A (ko) 2012-03-14 2013-03-07 내용 참조 메모리 시스템

Country Status (5)

Country Link
US (2) US8891272B2 (ko)
JP (1) JP2013191255A (ko)
KR (1) KR20130105393A (ko)
CN (1) CN103310838A (ko)
TW (1) TW201346911A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10395719B2 (en) 2017-10-27 2019-08-27 Samsung Electronics Co., Ltd. Memory device driving matching lines according to priority

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9177646B2 (en) * 2013-05-06 2015-11-03 International Business Machines Corporation Implementing computational memory from content-addressable memory
CN104200838B (zh) * 2014-08-28 2016-08-24 平湖凌云信息科技有限公司 内容可寻址存储器及相似度智能匹配方法
KR20160074920A (ko) * 2014-12-19 2016-06-29 에스케이하이닉스 주식회사 메모리 장치
US10622071B2 (en) 2015-09-04 2020-04-14 Hewlett Packard Enterprise Development Lp Content addressable memory
WO2017064758A1 (ja) * 2015-10-13 2017-04-20 富士通株式会社 制御システムおよび制御方法
JP2017097940A (ja) * 2015-11-26 2017-06-01 ルネサスエレクトロニクス株式会社 半導体装置
WO2017170340A1 (ja) 2016-03-28 2017-10-05 国立大学法人東北大学 メモリ装置
JP6888787B2 (ja) 2016-05-13 2021-06-16 国立大学法人東北大学 メモリ装置及びメモリシステム
CN106443115B (zh) * 2016-09-26 2023-12-29 广州致远电子股份有限公司 一种基于深度存储的示波器
US10599566B2 (en) * 2016-11-29 2020-03-24 Qualcomm Incorporated Multi-mode cache invalidation
US10431265B2 (en) * 2017-03-23 2019-10-01 Silicon Storage Technology, Inc. Address fault detection in a flash memory system
JP6840621B2 (ja) * 2017-05-24 2021-03-10 ルネサスエレクトロニクス株式会社 内容参照メモリ
JP2018206452A (ja) * 2017-05-30 2018-12-27 ルネサスエレクトロニクス株式会社 内容参照メモリ及び半導体装置
JP6824115B2 (ja) * 2017-06-19 2021-02-03 ルネサスエレクトロニクス株式会社 半導体装置の製造方法
US10930348B1 (en) * 2019-08-13 2021-02-23 Hewlett Packard Enterprise Development Lp Content addressable memory-encoded crossbar array in dot product engines
US11537319B2 (en) * 2019-12-11 2022-12-27 Advanced Micro Devices, Inc. Content addressable memory with sub-field minimum and maximum clamping
US11188480B1 (en) * 2020-05-12 2021-11-30 Hewlett Packard Enterprise Development Lp System and method for cache directory TCAM error detection and correction
CN112098770B (zh) * 2020-08-20 2024-06-14 深圳市宏旺微电子有限公司 针对动态耦合故障模拟极端环境下的测试方法和装置
CN112509620A (zh) * 2020-11-30 2021-03-16 安徽大学 基于平衡预充与组译码的数据读取电路
US11922032B1 (en) 2021-03-31 2024-03-05 DreamBig Semiconductor Inc. Content relocation and hash updates in algorithmic TCAM
US11875850B2 (en) 2022-04-27 2024-01-16 Macronix International Co., Ltd. Content addressable memory device, content addressable memory cell and method for data searching with a range or single-bit data

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002260389A (ja) * 2001-03-01 2002-09-13 Kawasaki Microelectronics Kk 連想メモリ
US6597595B1 (en) * 2001-08-03 2003-07-22 Netlogic Microsystems, Inc. Content addressable memory with error detection signaling
JP2003100086A (ja) 2001-09-25 2003-04-04 Fujitsu Ltd 連想メモリ回路
US6708250B2 (en) * 2001-09-28 2004-03-16 Mosaid Technologies Incorporated Circuit and method for performing variable width searches in a content addressable memory
US6967856B1 (en) 2002-04-10 2005-11-22 Integrated Device Technology, Inc. Content addressable memory (CAM) devices that utilize segmented match lines and word lines to support pipelined search and write operations and methods of operating same
JP2004355691A (ja) * 2003-05-28 2004-12-16 Hitachi Ltd 半導体装置
US7505295B1 (en) * 2004-07-01 2009-03-17 Netlogic Microsystems, Inc. Content addressable memory with multi-row write function
US7436688B1 (en) 2005-05-06 2008-10-14 Netlogic Microsystems, Inc. Priority encoder circuit and method
US20070247885A1 (en) 2006-04-25 2007-10-25 Renesas Technology Corp. Content addressable memory
JP2007317342A (ja) 2006-04-25 2007-12-06 Renesas Technology Corp 内容参照メモリ
JP2008257835A (ja) * 2007-03-13 2008-10-23 Renesas Technology Corp 半導体装置
US8630141B2 (en) * 2011-01-28 2014-01-14 Micron Technology, Inc. Circuits and methods for providing refresh addresses and alternate refresh addresses to be refreshed

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10395719B2 (en) 2017-10-27 2019-08-27 Samsung Electronics Co., Ltd. Memory device driving matching lines according to priority

Also Published As

Publication number Publication date
US8891272B2 (en) 2014-11-18
US20130242632A1 (en) 2013-09-19
CN103310838A (zh) 2013-09-18
US20150003138A1 (en) 2015-01-01
TW201346911A (zh) 2013-11-16
JP2013191255A (ja) 2013-09-26

Similar Documents

Publication Publication Date Title
KR20130105393A (ko) 내용 참조 메모리 시스템
US7502245B2 (en) Content addressable memory architecture
US7602629B2 (en) Content addressable memory
US9087572B2 (en) Content addressable memory
JP3599273B2 (ja) 内容参照可能メモリの改良
US8125810B2 (en) Low power ternary content-addressable memory (TCAM)
US20050152166A1 (en) Folded DRAM CAM cell
JP3898685B2 (ja) 半導体記憶装置
KR101155120B1 (ko) 데이터 손실을 최소화하는 바이너리 내용 주소화 메모리
JP6170718B2 (ja) 検索システム
US8787059B1 (en) Cascaded content addressable memory array having multiple row segment activation
JP2008192218A (ja) 内容参照メモリ
US20070103953A1 (en) CONTENT ADDRESSABLE MEMORIES (CAMs) BASED ON A BINARY CAM AND HAVING AT LEAST THREE STATES
JP2008010144A (ja) 連想メモリセル、連想メモリセルアレイ、アドレス検索メモリおよびネットワークアドレス検索装置
US7751219B2 (en) Three port content addressable memory
US6032233A (en) Storage array allowing for multiple, simultaneous write accesses
JP5632797B2 (ja) 連想メモリ、およびネットワークアドレス検索装置
KR20120035053A (ko) 데이터 손실을 최소화하는 터너리 내용 주소화 메모리
JPH08273399A (ja) メモリ
JP2004253023A (ja) 連想メモリ

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid