KR20180011016A - 멤리스터 기반 내용 지정 메모리 - Google Patents

멤리스터 기반 내용 지정 메모리 Download PDF

Info

Publication number
KR20180011016A
KR20180011016A KR1020170092234A KR20170092234A KR20180011016A KR 20180011016 A KR20180011016 A KR 20180011016A KR 1020170092234 A KR1020170092234 A KR 1020170092234A KR 20170092234 A KR20170092234 A KR 20170092234A KR 20180011016 A KR20180011016 A KR 20180011016A
Authority
KR
South Korea
Prior art keywords
voltage
memristor
bit
applying
transistor
Prior art date
Application number
KR1020170092234A
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 KR20180011016A publication Critical patent/KR20180011016A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • GPHYSICS
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories
    • G06F17/30982
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0007Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising metal oxide memory material, e.g. perovskites
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Materials Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

예시적인 내용 어드레스 지정 가능 메모리. 메모리의 비트셀은 제 1 데이터 라인과 제 2 데이터 라인 사이에서 직렬로 연결된 멤리스터 및 스위칭 트랜지스터를 포함할 수 있다. 또한, 비트셀은 매치 라인과 레일 사이에 연결된 매치 라인 트랜지스터를 포함할 수 있다. 매치 라인 트랜지스터의 게이트는 멤리스터 및 스위칭 트랜지스터의 공통 노드에 연결될 수 있다. 스위칭 트랜지스터는, 온일 때의 채널 저항값이 멤리스터의 저저항 상태와 연관된 저항값과 멤리스터의 고저항 상태와 연관된 저항값 사이에 있도록 크기가 정해질 수 있다.

Description

멤리스터 기반 내용 지정 메모리{MEMRISTOR BASED CONTENT ADDRESSABLE MEMORIES}
내용 지정 메모리(CAM; content addressable memory)는 데이터 스트링이 검색 내용으로서 입력될 수 있고, 매칭 데이터(존재하는 경우)를 저장하는 메모리에서의 위치의 어드레스가 결과적인 출력으로 되는 검색 동작을 수행할 수 있는 메모리 유형이다. 이는, 어드레스가 입력되고, 검색된 어드레스에 대응하는 메모리 위치에 저장된 데이터가 결과적인 출력으로 되는 판독 동작과는 대조적이다. 소정의 CAM은 상기한 검색 동작과 상기한 판독 동작의 양쪽을 수행할 수 있는 반면에, 비-CAM 메모리는 검색 동작이 아니라 판독 동작을 수행할 수 있다.
도 1(a)는 예시적인 CAM의 예시적인 비트셀을 도시하는 회로도이다.
도 1(b)는 예시적인 저항 분배기를 도시하는 회로도이다.
도 2는 저항값 상태와 저장값 사이의 연관성을 나타내는 표이다.
도 3은 검색 기준과 저장값의 조합에 대한 검색 결과를 나타내는 표이다.
도 4는 기록 동작 및 판독 동작을 수행하기 위해 예시적인 CAM의 배선에 인가되는 전압을 나타내는 표이다.
도 5(a)는 검색 동작을 수행하기 위해 예시적인 CAM의 배선에 인가되는 전압을 나타내는 표이다.
도 5(b)는 검색 동작을 수행하기 위해 예시적인 CAM의 배선에 인가되는 전압뿐만 아니라, 검색 기준 및 저장값의 각 조합에 대한 이러한 검색 동작으로부터 발생되는 예시적인 비트셀의 상태를 나타내는 신호도이다.
도 6은 다수 비트셀의 어레이를 갖는 예시적인 CAM을 나타내는 도면이다.
도 7은 특정 값들을 저장하는 비트셀의 어레이를 갖는 예시적인 CAM을 나타내는 도면이다.
도 8은 예시적인 CAM을 그 구성요소로서 포함하는 예시적인 디바이스를 나타내는 도면이다.
본 명세서에서는 멤리스터를 저장 소자로서 포함하는 예시적인 CAM을 설명한다. 또한, 본 명세서에서는 CAM을 그 구성요소로서 가질 수 있는 예시적인 디바이스뿐만 아니라, CAM을 동작시키는 예시적인 방법을 설명한다.
[CAM의 예 - 개요]
본 명세서에서 설명되는 예시적인 CAM은 멤리스터를 저장 소자로서 포함할 수 있다. 저장 소자로서 멤리스터의 사용은, 예를 들어 SRAM 또는 DRAM을 사용하는 것과는 달리, 여기서 개시되는 예시적인 CAM이 비휘발성 메모리 디바이스로 되도록 하게 한다. 또한, 멤리스터 기반 저장 소자를 사용한 결과, 여기서 개시되는 예시적인 CAM은 저장 소자로서 SRAM 또는 DRAM을 사용하는 비교가능한 CAM보다 높은 저장 밀도 및 낮은 전력 소비를 가질 수 있다.
또한, 여기서 개시되는 예시적인 CMA 중 일부는 3개의 검색 기준(예를 들어, 0, 1, 및 와일드카드)을 기초로 검색될 수 있고, 이는 2개의 검색 기준(예를 들어, 0 및 1)을 기초로 검색가능한 CAM에 비해, 검색 동작에 있어서 향상된 유연성 및 속도를 제공할 수 있다.
또한, 여기서 개시되는 예시적인 CAM은 다른 CAM 비트셀 레이아웃보다 작은 레이아웃 공간에 적합할 수 있는 비트셀 회로 레이아웃을 가질 수 있고, 이는 예시적인 CAM이 다른 비교가능한 CAM보다 더욱 밀도 있게 팩킹된 메모리 어레이(즉, 단위 면적 당 보다 많은 비트셀)를 갖게 할 수 있다. 소정 예에서, 예를 들어 CAM 기능성을 제공하기 위해 다른 회로 레이아웃에서 요구될 수 있는 비트셀 당 3 이상의 FET 대신에, 비트셀 당 단지 2개의 FET의 사용을 가능하게 하는 비트셀 회로 레이아웃의 결과로서, 비트셀 레이아웃 공간의 이러한 절약이 달성될 수 있다. 비트셀 레이아웃 공간의 이러한 절약이 어떻게 달성될 수 있는지에 대한 다른 예로서, 여기서 개시되는 예시적인 CAM 중 일부에서, CAM의 비트셀에서의 모든 트랜지스터는 서로 동일한 채널 타입(예를 들어, 모두 NFET)일 수 있고; 이는 그와 달리 필요로 될 수 있는 비트셀 어레이로부터 웰(a well)이 생략되게 할 수 있어, 웰을 위해 사용되었던 레이아웃 공간을 자유롭게 할 수 있다. 레이아웃 공간 절약에 부가하여, 모두 동일한 채널 타입을 갖는 트랜지스터의 사용은 또한 CAM의 제작 비용 및/또는 복잡성을 감소시킬 수 있다.
특히, 여기서 개시되는 일부 예시적인 CMA에서, 비트셀은 멤리스터, 스위칭 트랜지스터, 및 매치 라인(match-line) 트랜지스터를 포함할 수 있다. 멤리스터 및 스위칭 트랜지스터는 제 1 데이터 라인과 제 2 데이터 라인 사이에서 직렬로 연결될 수 있다. 매치 라인 트랜지스터는 매치 라인과 레일 사이에서 연결될 수 있다. 매치 라인 트랜지스터의 게이트는 멤리스터와 스위칭 트랜지스터의 공통 노드에 연결될 수 있다. 스위칭 트랜지스터는 온일 때(오믹일 때)의 채널 저항값이 멤리스터의 저저항 상태와 연관된 저항값과 멤리스터의 고저항 상태와 연관된 저항값 사이에 있도록 크기가 정해질 수 있다. 스위칭 트랜지스터의 게이트는 워드 라인에 연결될 수 있다.
또한, 예시적인 CAM 중 일부는 제 1 검색 기준(예를 들어, 0), 제 2 검색 기준(예를 들어, 1), 및 와일드카드 검색 기준에 기초하여 비트셀을 검색하는 제어 회로를 포함할 수도 있다. 비트셀이 검색 기준에 매치되지 않는 값을 저장하면, 검색시에 공통 노드의 전압은 매치 라인 트랜지스터를 턴온하는 전압으로 될 수 있어, 매치 라인을 레일에 연결하여 매치 라인의 전압(프리차지되어 있었음)이 그 프리차지된 전압 밑으로 내려가게 된다. 비트셀이 검색 기준에 매치되는 값을 저장하면, 공통 노드의 전압은 매치 라인 트랜지스터의 오프를 유지하는 전압으로 될 수 있어서 매치 라인의 전압은 내려가지 않는다(적어도 그 비트셀에 의해서는 아님. 일부 다른 비트셀에 의해 하락될 수는 있음). 따라서, 검색 기준의 매치(matches) 또는 미스(misses)는 매치 라인을 모니터링하여 그 전압이 하락되는지 여부를 판정함으로써 결정될 수 있다.
제어 회로는 매치 라인을 프리차지하고, 제 1 데이터 라인에 제 1 전압을 인가하고, 제 2 데이터 라인에 접지 전압을 인가하고, 레일에 제 3 전압을 인가함으로써 제 1 검색 기준을 기초로 비트셀을 검색할 수 있다. 제어 회로는 매치 라인을 프리차지하고, 제 1 데이터 라인에 접지 전압을 인가하고, 제 2 데이터 라인에 제 1 전압을 인가하고, 레일에 제 4 전압을 인가함으로써 제 2 검색 기준을 기초로 비트셀을 검색할 수 있다. 제어 회로는 제 1 및 제 2 데이터 라인의 양쪽에 접지 전압을 인가함으로써 와일드카드 검색 기준을 기초로 비트셀을 검색할 수 있다.
비트셀의 스위칭 트랜지스터 및 멤리스터는 저항 분배기를 형성할 수 있다. 저항 분배기의 출력 전압(즉, 멤리스터와 스위칭 트랜지스터 사이의 공통 노드의 전압)은 매치 라인 트랜지스터의 게이트에 인가되고, 그에 따라 저항 분배기의 출력 전압은 매치 라인 트랜지스터가 온 또는 오프인지를 제어할 수 있다. 멤리스터 및 스위칭 트랜지스터의 상대적 저항값 및, 검색 동작시에 비트셀에 인가되는 전압은, 검색 동작시에 저항 분배기의 출력 전압이, 검색 기준에 매치되는 값을 멤리스터가 저장할 때에는 오프-전압(저전압)이고, 검색 기준에 매치되는 값을 멤리스터가 저장할 때에는 온-전압(고전압)이도록 설정될 수 있다. 검색 기준이 와일드카드 검색 기준이면, 저항 분배기에 무슨 값이 저장되는지에 상관없이 저항 분배기의 출력 전압은 낮다.
소정의 예시적인 CAM은 행 및 열로 배열될 수 있는 상기 예시적인 비트셀의 다수의 사례를 포함할 수 있다. 소정 예에서, 각각의 제 1 및 제 2 데이터 라인은 동일 열의 각 비트셀에 연결될 수 있고, 각 워드 라인은 동일 행의 각 비트셀에 연결될 수 있다. 각 매치 라인은 서로 동일한 행에 있는 다수의 비트셀에 연결될 수 있고, 여기서 매치 라인 당 비트셀의 개수는 CAM에 대한 검색 단위 사이즈(즉, 워드 사이즈)와 같고, 서로 동일한 매치 라인에 연결되어 있는 비트셀은 워드 저장 블록을 형성한다. 워드 저장 블록의 비트셀은 워드 저장 블록의 워드 비트셀에 저장된 데이터가 입력 검색 워드에 매치되는지를 보기 위해 검색될 수 있다. 주어진 워드 저장 블록에 대한 매치 라인은, 그 비트셀 중 어느 하나가 그 개개의 검색 기준에 어긋나는 경우에 내려가게 될 수 있기 때문에, 대응하는 매치 라인이 내려가게 되는지를 모니터링함으로써 검색 워드에 매치되는 데이터를 상기 주어진 워드 저장 블록이 저장하는지를 판정할 수 있다. 각 행은 단일 워드 저장 블록(이 경우에 행마다 하나의 워드 라인이 존재할 수 있음)을 포함할 수 있고, 또는 각 행은 P>1개의 워드 저장 블록(이 경우에 행마다 P개의 매치 라인이 존재할 수 있음)을 포함할 수 있다.
[비트셀-상세 예]
도 1(a)는 예시적인 CAM의 예시적인 비트셀(110)을 도시한다. 예시적인 비트셀(110)은 멤리스터 M, 트랜지스터 T1, 및 매치 라인 트랜지스터 T2를 포함할 수 있다. 멤리스터 M은 제 1 데이터 라인 DL1과 노드 G 사이에 연결될 수 있다. 트랜지스터 T1은 노드 G와 제 2 데이터 라인 DL2 사이에 연결될 수 있다. 따라서, 멤리스터 M 및 트랜지스터 T1은 공통 노드, 즉 노드 G를 거쳐서 연결될 수 있다. 매치 라인 트랜지스터 T2는 레일 RL과 매치 라인 ML 사이에 연결될 수 있다. 매치 라인 트랜지스터 T2의 게이트는 노드 G에 연결될 수 있으므로, 노드 G의 전압은 매치 라인 트랜지스터 T2의 도전 상태를 제어할 수 있다. 트랜지스터 T1의 게이트는 워드 라인 WL에 연결될 수 있으므로, 워드 라인 WL의 전압은 트랜지스터 T1의 도전 상태를 제어할 수 있다.
멤리스터 M은 비트셀(110)의 저장 소자로서 기능할 수 있다. 멤리스터 M은 멤리스터 M에 걸쳐 소정의 전압차를 인가하거나 멤리스터 M을 통해 소정의 전류를 흐르게 함으로써 다수의 저항 상태들 사이에서 저항값이 변할 수 있는 디바이스일 수 있고, 여기서 멤리스터 M은 가장 최근의 저항 상태로 진입하게 한 전압/전류가 제거되었더라도 그 가장 최근의 저항 상태를 "기억하거나" 또는 유지한다. 즉, 멤리스터의 전류 저항 상태는 과거에 멤리스터에 걸쳐 인가되었던 전압차의 극성 및 크기에 의존하거나, 또는 과거에 멤리스터 M을 통해 어떤 방향으로 얼마나 많은 전류가 흘렀는지에 의존할 수 있다.
예컨대, 멤리스터 M은 멤리스터 M이 비교적 저저항값을 나타내는 저저항 상태와 멤리스터 M이 비교적 고저항값을 나타내는 고저항 상태 사이에서 변할 수 있다. 멤리스터 M은 제 1 극성을 갖고서 충분한 크기의 설정 전압차를 멤리스터에 걸쳐 인가함으로써 저저항 상태로 변하게 될 수 있고, 멤리스터 M은 제 2 극성을 갖고서 멤리스터에 걸쳐 충분한 크기의 재설정 전압차를 인가함으로써 고저항 상태로 변하게 될 수 있다.
멤리스터 M이 한번 설정 또는 재설정되면, 다시 재설정 또는 설정될 때까지 그 전류 저항 상태를 유지하고자 할 것이다. 그 결과, 멤리스터 M의 저항 상태는 데이터 값을 저장하는 데 사용될 수 있다. 예컨대, 멤리스터 M의 고저항 상태는 제 1 데이터 값을 나타낼 수 있고, 멤리스터 M의 저저항 상태는 제 2 데이터 값을 나타낼 수 있다. 여기서, 도 2의 표에 도시된 바와 같이 고저항 상태가 디지털 0을 나타내고, 저저항 상태가 디지털 1을 나타내는 것으로 가정하되, 저항 상태와 저장된 값 사이의 논리적 연관성은 임의로 선택될 수 있음을 이해해야 한다.
멤리스터 M은, 도 4에 도시된 바와 같이, 스위칭 트랜지스터 T1을 턴온하고(예를 들어, 워드 라인 WL에 VDD를 인가하고), 제 1 데이터 라인 DL1에 설정 전압 Vset을 인가하고, 제 2 데이터 라인 DL2에 접지 전압 GND를 인가함으로써 저저항 상태로 설정될 수 있다. 멤리스터 M은, 도 4에 도시된 바와 같이, 스위칭 트랜지스터 T1을 턴온하고(예를 들어, 워드 라인 WL에 VDD를 인가하고), 제 2 데이터 라인 DL2에 재설정 전압 Vreset을 인가하고, 제 1 데이터 라인 DL1에 접지 전압 GND를 인가함으로써 고저항 상태로 재설정될 수 있다. Vset 및 Vreset의 크기는, 각각, 멤리스터 M을 설정 및 재설정할 수 있도록 요구되는 최소값보다 큰 임의의 값으로 설정될 수 있다. 특히, Vset _min이 멤리스터 M의 설정을 야기하는 최소 전압이고 Vreset _min이 멤리스터 M의 재설정을 야기하는 최소 전압이면, Vset은 Vset _min과 같거나 클 수 있고, Vreset은 Vreset _min과 같거나 클 수 있다. Vset _min이 Vreset _min과 반드시 동일하지 않기 때문에, Vset 및 Vreset은 반드시 동일한 크기를 가질 필요는 없다. 그러나, Vset 및 Vreset은 그 값이 Vset _min 및 Vreset _min의 양쪽보다 크거나 같으면 동일한 값으로 설정될 수 있다. 소정의 예에서, VDD=Vset=Vreset, 여기서 VDD는 TCAM의 최고 전압 레벨이다. Vset _min 및 Vreset _min의 값은, 멤리스터 M의 모델에 기초하여 이론적으로 결정되거나 실험적으로 결정되는 사전에 공지된 멤리스터 M의 파라미터일 수 있다.
비트셀(110)에 저장된 값은 멤리스터 M에 걸쳐 판독 전압차를 인가하고, 멤리스터 M을 통해 흐르는 전류를 측정함으로써 판독될 수 있다. 고저항 상태는 낮은 전류를 야기하는 반면에 저저항 상태는 높은 전류를 야기하기 때문에, 멤리스터 M에 흐르는 전류의 크기는 멤리스터 M의 저항 상태를 결정하는 데 사용될 수 있다. 특히, 비트셀에 저장된 값은, 도 4에 도시된 바와 같이, 스위칭 트랜지스터 T1을 턴온하고(예를 들어, 워드 라인 WL에 VDD를 인가하고), 제 1 및 제 2 데이터 라인 DL1/DL2 중 하나에 판독 전압 Vread를 인가하고, 제 1 및 제 2 데이터 라인 DL1/DL2 중 다른 하나에 접지 전압 GND를 인가함으로써 판독될 수 있다. 멤리스터 M를 통해 흐르는 전류는 데이터 라인 DL1/DL2 중 하나에서 감지될 수 있고, 또는 매치 라인 ML에 흐르는 전류가 감지될 수 있다. 일반적으로, 설정/재설정 전압차에 비해 크기가 비교적 작은 멤리스터 M에 걸쳐 전압차를 인가하는 것은 멤리스터 M의 저항 상태에 심각하게 영향을 미치지 못할 것이다. 따라서, 비트셀(110)에 저장된 값의 판독이 멤리스터 M의 저항 상태를 변화시키지 못한다는 것을 확실히 하기 위해, 판독 전압차는 멤리스터 M을 설정 또는 재설정할 최소 전압 미만인 값으로 설정될 수 있다.
멤리스터 M의 저항 상태를 결정하기 위해 제 1 및 제 2 데이터 라인 DL1/DL2를 거쳐서 전류를 측정하는 대신에, 멤리스터 M의 저항 상태는 판독 동작시에 매치 라인 ML의 전압을 측정함으로써 결정될 수 있다. 매치 라인 트랜지스터 T2는 증폭기(예를 들어, 공통 소스 증폭기 또는 소스-팔로워 증폭기)로서 동작하도록 설정될 수 있고, 매치 라인 ML의 전압은 노드 G의 전압에 따라 변할 수 있다. 판독 동작시의 노드 G의 전압이 멤리스터의 저항 상태에 의존하기 때문에, 매치 라인 ML의 전압은 멤리스터의 저항 상태에도 의존할 것이다.
비트셀(110)은 저항 분배기(111)의 저항기(resistor)로서 기능하는 스위칭 트랜지스터 T1 및 멤리스터 M을 갖고 있는 저항 분배기(111)를 포함하는 것으로 생각될 수 있다. 일반적으로, 저항 분배기는 2개의 저항기가 직렬로 연결되어 있을 때에 형성되고, 입력 전압은 저항기의 대향하고 있는 입력 단자에 인가되고, 출력 전압은 저항기 사이의 공통 노드로부터 취해진다. 특히, 도 1(b)는 저항 분배기의 일반적인 형태를 도시하고 있고, 여기서 저항기 R1 및 R2는 직렬로 연결되어 있고, 입력 전압 VIN_1 및 VIN_2는 입력 단자에 인가되고, 출력 전압 VOUT는 저항기 R1 및 R2 사이의 공통 노드(출력 단자로 지칭될 수 있음)로부터 취해진다. 도 1(b)의 라벨을 사용하는 경우, 일반적인 저항 분배기의 출력 전압은 다음에 의해 제공될 수 있다.
Figure pat00001
(식 1)
멤리스터 M 및 스위칭 트랜지스터 T1은 저항 분배기(111)의 저항기인 것으로 간주될 수 있고, 또한 일반적인 저항 분배기의 저항기 R1 및 R2에 각각 대응할 수 있다. 소정 의미에서, 멤리스터는 시간 경과에 따라 변하는 저항값을 가질 수 있는 반면에 저항기는 일반적으로 불변 저항값을 가짐에 따라, 멤리스터는 저항기와 동일한 타입의 회로 구성요소가 아니다. 그러나, 설정 또는 재설정 전압차보다 적은 전압차가 멤리스터에 걸쳐 인가되는 기간 동안에, 멤리스터는 대략적으로 불변의 저항값을 갖기 때문에, 멤리스터 M은 이들 기간 동안에 저항기로서 대략적으로 모델링될 수 있다. 스위칭 트랜지스터 T1은 트랜지스터 T1이 온일 때(즉, 오믹일 때)에 무시할 수 없는 채널 저항값을 갖도록 크기가 정해질 수 있으므로, 이 채널 저항값은 저항기로서 모델링될 수 있다.
특히, 스위칭 트랜지스터 T1은 온일 때의 채널 저항값(RT1)이 멤리스터 M의 저저항 상태와 연관된 저항값(RLRS)보다 크지만 멤리스터 M의 고저항 상태와 연관된 저항값(RHRS)보다 작도록 - 즉, RLRS<RT1<RHRS - 크기가 정해질 수 있다. 채널 저항값 RT1을 위해 설정되는 특정 값은 검색 동작과 관련해서 이하에서 보다 상세히 설명되는 고려사항에 기초하여 결정될 수 있다.
저항 분배기(111)에서, 그 2개의 입력 단자는 제 1 데이터 라인 DL1에 연결된 멤리스터 M의 단자 및 제 2 데이터 라인 DL2에 연결된 트랜지스터 T1의 단자로부터 형성된다. 따라서, 저항 분배기(111)의 입력 전압은 제 1 데이터 라인 DL1에 의해 운반되는 전압(VDL1) 및 제 2 데이터 라인 DL2에 의해 운반되는 전압(VDL2)이다. 저항 분배기(111)의 입력 전압 VDL1 및 VDL2는 일반적인 저항 분배기의 입력 전압 VIN_1 및 VIN_2에 각각 대응한다. 저항 분배기(111)의 출력 단자는 노드 G이고, 저항 분배기(111)의 출력 전압은 일반적인 저항 분배기의 출력 전압 VOUT에 대응하는 노드 G의 전압(VG)이다. 따라서, 트랜지스터 T1이 턴온되었을 때의 노드 G의 전압은 (대응하는 변수를 식 1에 대입하여 얻어지는) 다음에 의해 제공될 수 있고,
Figure pat00002
(식 2)
여기서 RM은 멤리스터 M의 현재 저항값이다.
예시적인 비트셀(110)은 3개의 기준 - 즉, 0, 1, 및 와일드카드(여기서는 편의를 위해 Y로 표시함) - 에 기초하여 검색될 수 있다. 비트셀(110)의 구성, 및 검색 동작시에 비트셀에 인가되는 전압은 검색 동작이 도 3의 표에 의해 도시된 검색 결과를 생성하도록 설정된다. 특히, 비트셀(110)이 0 검색 기준에 기초하여 검색되는 경우, 결과는 비트셀(110)이 0을 저장할 때(즉, RM
Figure pat00003
RHRS일 때)에는 매치이고, 비트셀(110)이 1을 저장할 때(즉, RM
Figure pat00004
RLRS일 때)에는 미스이다. 비트셀(110)이 1 검색 기준에 기초하여 검색되는 경우, 결과는 비트셀(110)이 0을 저장할 때(즉, RM
Figure pat00005
RHRS일 때)에는 미스이고, 비트셀(110)이 1을 저장할 때(즉, RM
Figure pat00006
RLRS일 때)에는 매치이다. 비트셀(110)이 와일드카드 검색 기준(Y)에 기초하여 검색되는 경우, 결과는 비트셀(110)에 의해 어떤 값이 저장되는지에 상관없이 매치이다.
도 5(a) 및 도 5(b)는 상기한 검색 기준에 기초한 검색 동작이 어떻게 수행될 수 있는지뿐만 아니라, 검색 기준 및 저장값의 각 조합에 대한 이러한 검색 동작에 따른 비트셀의 상태를 나타낸다.
0 검색 기준을 기초로 비트셀(110)을 검색하기 위해, 도 5(a) 및 5(b)에 도시된 바와 같이, 매치 라인 ML은 프리차지 전압 Vpre으로 프리차지될 수 있고, 제 1 트랜지스터 T1은 워드 라인 WL에 VDD를 인가함으로써 턴온될 수 있고, 검색 전압 Vsearch는 접지 전압 GND가 제 2 데이터 라인 DL2에 인가되는 동안에 제 1 데이터 라인 DL1에 인가될 수 있고, 전압 V0는 레일 RL에 인가될 수 있다. 이러한 검색시에, 저항 분배기(111)의 입력 전압은 VDL1=Vsearch 및 VDL2=GND이다. 따라서, 식 2에서 0 검색 기준을 기초로 검색시에 노드 G의 전압(VG|S=0으로 표시됨)은
Figure pat00007
(식 3)
으로 된다.
1 검색 기준을 기초로 비트셀(110)을 검색하기 위해, 매치 라인 ML은 프리차지 전압 Vpre으로 프리차지될 수 있고, 제 1 트랜지스터 T1은 워드 라인 WL에 VDD를 인가함으로써 턴온될 수 있고, 접지 전압 GND는 검색 전압 Vsearch가 제 2 데이터 라인 DL2에 인가되는 동안에 제 1 데이터 라인 DL1에 인가될 수 있고, 전압 V1은 레일 RL에 인가될 수 있다. 이러한 검색시에, 저항 분배기(111)의 입력 전압은 VDL1=GND 및 VDL2=Vsearch이다. 따라서, 식 2에서 1 검색 기준에 기초한 검색시에 노드 G의 전압(VG|S=1으로 표시됨)은
Figure pat00008
(식 4)
으로 된다.
노드 G의 전압은 매치 라인 트랜지스터 T2의 도전 상태를 제어할 수 있고, 특히, 매치 라인 트랜지스터 T2는 게이트-소스 전압이 임계 전압(Vth)보다 크면 턴온될 수 있고, 게이트-소스 전압이 Vth보다 작으면 오프로 유지될 수 있다. 식 3 및 4에서 알 수 있는 바와 같이, 검색 동작시의 노드 G의 전압은 멤리스터 M의 저항 상태에 의존할 것이다. 따라서, 검색 동작시의 매치 라인 트랜지스터 T2의 도전 상태는 멤리스터 M의 저항 상태에 기초하여 제어될 수 있다. 특히, 비트셀(110)의 다양한 저항 및 검색 동작시에 인가되는 전압을 적절히 설정함으로써, 도 3에 도시된 검색 결과가 획득되는 것이 확실하다.
특히, 검색 기준이 0이고 비트셀(110)이 0을 저장하면, 식 3 및 RM
Figure pat00009
RHRS을 이용하여, 이 상태에서의 노드 G의 전압(
Figure pat00010
로 표시됨)은
Figure pat00011
(식 5)
로 될 것이다. 이 상태는 "검색 기준=0"으로 라벨링된 열 및 "저장 비트=0"으로 라벨링된 행으로 도 5(b)에 도시되어 있다. 도 5(b)에 도시된 바와 같이, RT1<RHRS이므로
Figure pat00012
는 비교적 낮은 전압에 대응한다. 특히,
Figure pat00013
이다. 따라서, V0가 적절히 설정되면, 매치 라인 트랜지스터 T2의 게이트-소스 전압은 임계 전압 Vth 미만으로 유지될 수 있으므로, 매치 라인 트랜지스터 T2는 오프로 유지될 수 있다. 그 결과, 비트셀(110)은 매치 라인 ML의 전압을 하락시키지 못함으로써 매치를 표시한다.
검색 기준이 0이고 비트셀(110)이 1을 저장하면, 식 3 및 RM
Figure pat00014
RLRS을 이용하여, 이 상태에서의 노드 G의 전압(
Figure pat00015
로 표시됨)은
Figure pat00016
(식 6)
으로 될 것이다. 이 상태는 "검색 기준=0"으로 라벨링된 열 및 "저장 비트=1"로 라벨링된 행에서 도 5(b)에 도시되어 있다. 도 5(b)에 도시된 바와 같이, RLRS<RT1이므로
Figure pat00017
는 비교적 높은 전압에 대응한다. 특히,
Figure pat00018
이다. 따라서, V0가 적절히 설정되면, 이 상태에서의 매치 라인 트랜지스터 T2의 게이트-소스 전압은 임계 전압 Vth 이상으로 상승될 수 있고, 매치 라인 트랜지스터 T2는 턴온될 수 있다. 그 결과, 매치 라인 ML은 레일 RL에 연결되어 방전하기 시작하므로, 매치 라인 ML의 전압을 하락시킨다(이로써 미스를 표시함).
검색 기준이 1이고 비트셀(110)이 0을 저장하면, 식 4 및 RM
Figure pat00019
RHRS을 이용하여, 이 상태에서의 노드 G의 전압(
Figure pat00020
로 표시됨)은
Figure pat00021
(식 7)
로 된다. 이 상태는 "검색 기준=1"으로 라벨링된 열 및 "저장 비트=0"로 라벨링된 행에서 도 5(b)에 도시되어 있다. 도 5(b)에 도시된 바와 같이, RT1<RHRS이므로
Figure pat00022
는 비교적 높은 전압에 대응한다. 특히,
Figure pat00023
이다. 따라서, V1가 적절히 설정되면, 이 상태에서의 매치 라인 트랜지스터 T2의 게이트-소스 전압은 임계 전압 Vth 이상으로 상승될 수 있고, 매치 라인 트랜지스터 T2는 턴온될 수 있다. 그 결과, 매치 라인 ML은 레일 RL에 연결되어 방전하기 시작하므로, 매치 라인 ML의 전압을 하락시킨다(이로써 미스를 표시함).
검색 기준이 1이고 비트셀(110)이 1을 저장하면, 식 4 및 RM
Figure pat00024
RLRS을 이용하여, 이 상태에서의 노드 G의 전압(
Figure pat00025
로 표시됨)은
Figure pat00026
(식 8)
로 된다. 이 상태는 "검색 기준=1"으로 라벨링된 열 및 "저장 비트=1"로 라벨링된 행에서 도 5(b)에 도시되어 있다. 도 5(b)에 도시된 바와 같이, RHRS<RT1이므로
Figure pat00027
는 비교적 낮은 전압에 대응한다. 특히,
Figure pat00028
이다. 따라서, V0가 적절히 설정되면, 매치 라인 트랜지스터 T2의 게이트-소스 전압은 임계 전압 Vth 미만으로 유지될 수 있고, 매치 라인 트랜지스터 T2는 오프로 유지될 수 있다. 그 결과, 비트셀(110)은 매치 라인 ML의 전압을 하락시키지 못함으로써 매치를 표시한다.
미스에 의해 매치 라인 트랜지스터 T2가 턴온되고 매치에 의해 매치 라인 트랜지스터 T2가 오프로 유지되는 것을 확실히 하기 위해, 전압 V0, V1, 및 Vsearch, 저항 RT1, RHRS, RLRS, 및 임계 전압 Vth
Figure pat00029
Figure pat00030
(식 9)
로 되도록 설정될 수 있다. 소정 예에서, 저항 RT1, RHRS, RLRS 및/또는 임계 전압 Vth는 다른 고려사항들에 기초하여 설정될 수 있으며, 이 경우에 식 9의 조건은 V0, V1, 및 Vsearch을 설정함으로써 만족될 수 있다. 소정 예에서, V0=V1=1/2Vsearch-Vth이다.
소정 예에서, 검색 동작이 멤리스터 M를 부주의하게 설정 또는 재설정하지 않도록 Vsearch가 Vset _min보다 작고 또한 Vreset _min보다 작은 것이 바람직할 수 있다. 예컨대, Vread가 Vset _min 및 Vreset _min보다 작기 때문에 Vsearch는 Vread와 동일한 값일 수 있다. Vread 및 Vsearch에 대해 동일 전압을 사용하면 생성되어야 할 개별 전압의 개수가 줄어들 수 있으므로 비트셀(110)에 전압을 공급하는 데 사용되는 드라이버들의 복잡성을 줄일 수 있다.
와일드카드(Y) 검색 기준에 기초하여 비트셀(110)을 검색하기 위해, 매치 라인 ML은 프리차지 전압 Vpre로 프리차지될 수 있고, 제 1 트랜지스터 T1은 워드 라인 WL에 VDD를 인가함으로써 턴온될 수 있으며, 접지 전압 GND는 제 1 데이터 라인 DL1, 제 2 데이터 라인 DL2, 및 레일 RL에 인가될 수 있다. 이러한 검색시에, 저항 분배기(111)의 입력 전압은 VDL1=GND 및 VDL2=GND이다. 따라서, Y 검색 기준에 기초한 검색시에 노드 G의 전압은 비트셀(110)에 어떤 값이 저장되는지에 상관없이 GND로 된다. Y 검색시에 노드 G의 전압이 항상 GND이고 GND가 레일 RL에 인가되기 때문에, 매치 라인 트랜지스터 T2는 비트셀(110)에 저장된 값에 상관없이 오프를 유지한다(매치를 표시함).
도 5(b)에 도시된 바와 같이, 검색 동작시에, 접지 전압 GND가 데이터 라인 DL1/DL2에 인가되는 동안에 또한 검색 전압 Vsearch가 데이터 라인 DL1/DL2 중 하나에 인가되기 전에 트랜지스터 T1을 턴온하는 것이 바람직할 수 있다. 이는 VG가 적절한 값으로 안정화하기 전에 노드 G에 Vsearch가 일시적으로 나타나지 못하게 하여, 실수로 매치 라인 트랜지스터 T2를 일시적으로 턴온시키고 가능한 한 매치 라인 ML을 방전시킨다. GND가 데이터 라인 DL1/DL2 양쪽에 인가되는 동안에 트랜지스터 T1을 턴온함으로서, 검색 동작의 시작시에 노드 G에 GND가 인가되는 것을 확실히 한다.
[CAM-상세 예]
도 6은 다수의 비트셀(110)의 어레이(140)를 포함하는 예시적인 CAM(100)을 도시한다. 비트셀(110)은 W개의 행 및 N개의 열로 배열될 수 있다. 도 6에서, 각 행은 워드 저장 블록(예를 들어, 워드 0 내지 워드 W-1)에 대응하고, 여기서 주어진 행에서의 각 비트셀(110)은 비트 포지션(예를 들어, 비트 0 내지 비트 N-1)에 대응한다. CAM(100)은 다수의 워드 라인 WL(예를 들어, WL0 내지 WLW -1), 다수의 매치 라인 ML(예를 들어, ML0 내지 MLW -1), 다수의 제 1 데이터 라인 DL1(예를 들어, DL10 내지 DL1N -1), 다수의 제 2 데이터 라인 DL2(예를 들어, DL20 내지 DL2N -1), 및 다수의 레일 RL(예를 들어, RL0 내지 RLN-1)을 포함할 수 있다. 주어진 행에서의 각각의 비트셀(110)은 동일 워드 라인 WL 및 동일 매치 라인 ML에 서로 연결될 수 있다. 따라서, 주어진 워드에 대응하는 워드 라인 WL을 턴온함으로써 주어진 행에서의 모든 비트셀(110)이 기록/판독을 위해 동시에 선택될 수 있다. 또한, 검색 동작시에, 주어진 워드의 매치 라인 ML은 워드에 대응하는 비트셀(110) 중 어느 하나가 미스이면 아래로 내려갈 수 있다. 주어진 열에서의 각각의 비트셀(110)은 동일 제 1 데이터 라인 DL1, 동일 제 2 데이터 라인 DL2, 및 동일 레일 RL에 서로 연결될 수 있다. 따라서, 동일 열에서의 각각의 비트셀(110)은 동일 검색 기준에 기초하여 동시에 검색될 수 있다.
CAM(100)은 판독, 기록, 및 검색 동작과 같은 비트셀의 동작들을 제어하도록 상기한 다수의 라인에 신호를 인가하는 제어 회로(150)를 포함할 수 있다. 제어 회로(150)는 어레이(140)의 다수의 배선에 연결되어 있는 드라이버, 시프트 레지스터, 디코더, 등을 포함할 수 있다. 제어 회로(150)는 제어 회로(150)가 어떤 동작을 수행해야 하는지를 지시하는 제어 신호 Ctrl을 수신할 수 있다. 제어 회로(150)는 판독 동작 또는 기록 동작을 위한 타겟 워드 저장 블록을 표시하는 판독/기록 어드레스를 또한 수신할 수 있다. 제어 회로(150)는 판독 동작을 수행한 결과로서 출력 워드를 출력할 수 있고, 여기서 출력 워드는 어드레스가 판독/기록 어드레스에 대응하는 워드 저장 블록에 저장된 워드에 대응한다. 또한, 제어 회로(150)는 검색 동작중에 CAM(100)이 검색되어야 하는 워드 또는 기록 동작중에 특정한 워드 저장 블록에 기록되어야 하는 워드를 표시하는 입력 워드를 수신할 수 있다. 또한, 제어 회로(150)는 검색 동작을 수행한 결과로서 출력 어드레스를 출력할 수 있고, 여기서 출력 어드레스는 저장된 워드가 입력 검색 워드에 일치하는 임의의 워드 저장 블록(들)의 어드레스(또는 어드레스들)에 대응한다.
도 6에서, 제어 회로(150)는 행 드라이버(151) 및 열 드라이버(152)를 포함하는 것으로 도시되어 있다. 행 드라이버(151)는 워드 라인 WL0 내지 WLW -1 및 매치 라인 ML0 내지 MLW -1에 연결되어 있고, 이들 배선에 전기 신호를 공급하고 및/또는 배선에서 운반되는 전기 신호를 감지할 수 있다. 열 드라이버(152)는 제 1 데이터 라인 DL10 내지 DL1N -1, 제 2 데이터 라인 DL20 내지 DL2N -1, 및 레일 RL0 내지 RLN -1-1에 연결되어 있고, 이들 배선에 전기 신호를 공급하고 및/또는 배선에서 운반되는 전기 신호를 감지할 수 있다. 제어 회로(150)의 이러한 표현은 단지 설명의 편의를 위한 것이며, 제어 회로(150)가 반드시 도시된 구성에서의 정확히 2개의 드라이버로 이루어지는 것으로 의미하지 않음을 이해해야 한다. 예컨대, 제어 회로(150)는 배선의 각 타입에 대한 개별 드라이버, 모든 배선에 대한 단일 드라이버, 또는 드라이버들의 임의의 조합을 포함할 수 있다. 다른 예로서, 어레이(140)에 관련된 드라이버의 도시된 위치는 의미 있는 것이 아니며, 또한 어레이(140)의 임의의 측면 또는 측면들의 조합에 드라이버가 위치될 수 있도 있음을 이해해야 한다.
제어 회로(150)는 워드 단위로 판독 동작 및 기록 동작을 수행하도록 CAM(100)을 제어할 수 있다. 특히, 제어 신호 Ctrl는 제어 회로(150)에게 판독 동작 또는 기록 동작이 수행되어야 한다고 지시하는 경우, 행 드라이버(151)는 대응하는 워드 라인 WL에 VDD를 인가함으로써 입력 판독/기록 어드레스에 기초하여 타겟 워드 저장 블록을 선택할 수 있고, 그 후에 열 드라이버(152)는 선택된 워드 저장 블록에서의 각 비트셀(110)에 대한 판독/기록 동작을 수행하기 위해 열 라인에 전압을 인가하도록 진행될 수 있다.
특히, 판독 동작시에, 열 드라이버(152)는 도 4에 도시된 표에 따라 제 1 및 제 2 데이터 라인 DL1/DL2와, 레일 RL 각각에 전압을 인가할 수 있다. 타겟 워드 저장 블록의 N개의 비트셀(110) 각각을 통해 흐르는 전류는 (예를 들어, 제 1 또는 제 2 데이터 라인 DL1/DL2을 거쳐서) 열 드라이버(152)에 의해 감지될 수 있다. 열 드라이버(152)는 이를 통해 흐르는 전류에 기초하여 각 비트셀(110)에 저장된 비트 값을 결정할 수 있고, 이들 N개의 비트 값은 열 드라이버(152)로부터 출력되는 출력 워드에 결합될 수 있다.
기록 동작시에, 열 드라이버(152)는 입력 워드에 기초하여, 타겟 워드 저장 블록에서의 N개의 비트셀(110) 각각이 설정 또는 재설정되어야 하는지를 결정할 수 있고, 이 결정에 따라, 대응하는 제 1 및 제 2 데이터 라인 DL1/DL2와 레일 RL에 적절한 전압을 인가함으로써 타겟 워드 저장 블록에서의 N개의 비트셀(110) 각각을 설정 또는 재설정할 수 있다. 소정 예에서, 설정 및 재설정 동작은 타겟 워드 저장 블록에서 동시에 수행될 수 있다. 소정의 다른 예에서, 설정 및 재설정 동작은 구분된 단계에서 수행될 수 있다. 예컨대, 타겟 워드 저장 블록에서의 모든 비트셀(110)이 먼저 재설정될 수 있고, 그 후에 설정되어야 하는 이들 비트셀(110)은 이어서 설정될 수 있다.
판독 및 기록 동작이 워드 단위로 수행된다고 위에서 설명되어 있지만, 다른 단위로 기록이 수행될 수도 있음을 이해해야 한다. 예컨대, 임의의 개수의 비트셀(110)은 동일 워드 저장 블록에서의 다른 비트셀(110)에 반드시 기록 또는 판독하지 않고서도 판독 또는 기록 동작시에 기록되거나 판독될 수도 있다. 이러한 예에서, 타겟 비트셀(들)(110)을 포함하는 워드 저장 블록의 워드 라인 WL이 선택될 수 있고, 타겟 비트셀(들)이 아닌 비트셀(110)에 대응하는 모든 제 1 및 제 2 데이터 라인 DL1/DL2에 접지 전압 GND가 인가될 수 있으며, 기록/판독 동작에 대한 전압은 타겟 비트셀(들)(110)의 제 1 및 제 2 데이터 라인 DL1/DL2에 인가될 수 있다. 따라서, 전체 워드 저장 블록이 그 대응하는 워드 라인 WL에 의해 선택되더라도, 기록 또는 판독되길 원하지 않는 임의의 비트셀(110)은 단순히 대응하는 데이터 라인 DL1/DL2에 GND를 인가함으로써 기록/판독 동작으로부터 빠질 수 있다.
제어 회로(150)는 전체 어레이(140)에 걸쳐 검색 동작을 동시에 수행하도록 CAM(100)을 제어할 수 있다. 특히, 제어 신호 Ctrl가 검색 동작이 수행되어야 함을 제어 회로(150)에 지시하면, 행 드라이버(151)는 모든 워드 라인 WL에 VDD를 인가함으로써 타겟 워드 저장 블록들 모두를 동시에 선택할 수 있고, 모든 매치 라인 ML을 프리차지할 수 있다. 그 후에 열 드라이버(152)는 입력 검색 워드에 기초하여 각 비트 포지션에 대한 검색 동작을 수행하기 위해 열 라인에 전압을 인가하도록 진행될 수 있다. 특히, 열 드라이버(152)는 입력 검색 워드에 기초하여, 각 비트 포지션을 검색하는 데 어떤 검색 기준이 사용되어야 하는지를 결정할 수 있고, 이 결정에 따라, 대응하는 제 1 및 제 2 데이터 라인 DL1/DL2 및 레일 RL에 적절한 전압을 인가할 수 있다. 그 후에 행 드라이버(151)는 매치 라인을 모니터링하여, 어떤 것이 아래로 내려갔는지(대응하는 워드 저장 블록이 미스인 워드를 저장하는 것을 표시함) 또한 어떤 것이 계속해서 충전되고 있는지(대응하는 워드 저장 블록이 매치인 워드를 저장하는 것을 표시함)를 결정할 수 있다. 행 드라이버(151)는 매치 라인 ML로부터 미스/매치의 결과를 디코딩하여, 매칭 워드 저장 블록(또는 매칭 워드 저장 블록들)의 어드레스(또는 어드레스들)를 출력할 수 있다.
예컨대, 3개 행 및 3개 열의 비트셀(110)을 갖는 어레이(140)를 포함하고 있는 도 7에 도시된 예시적인 CAM(100)을 고려하되, 여기서 비트셀(110)은 각각 도면에 표시된 바와 같이 값을 저장하고 있다. "Y10"의 입력 검색 워드를 갖고서 이러한 예시적인 CAM(100)이 검색된다고 가정한다. 열 드라이버(152)는 검색 동작을 나타내는 제어 신호 Ctrl 및 입력 검색 워드를 수신할 것이고, 이에 기초하여, 비트-0 열이 (검색 워드의 0번째 비트가 Y이기 때문에) 와일드카드 검색 기준을 기초로 검색되어야 하고, 비트-1 열이 (검색 워드의 1번째 비트가 1이기 때문에) 1 검색 기준을 기초로 검색되어야 하며, 비트-2 열이 (검색 워드의 2번째 비트가 0이기 때문에) 0 검색 기준을 기초로 검색되어야 한다고 결정할 것이다. 따라서, 열 드라이버(152)는 이하와 같은 다수의 배선에 전압을 인가함으로써 검색 동작을 수행할 수 있다.
Figure pat00031
비트-0 열이 와일드카드 기준을 기초로 검색되기 때문에, 이 열에서의 비트셀(110) 중 어느 것도 미스가 아닐 것이므로, 이들 비트셀(110) 중 어느 것도 그들 각각의 매치 라인 ML을 아래로 내리지 않을 것이다. 특히, DL10 및 DL20의 양쪽에 GND가 인가되기 때문에 비트-0 열에서의 각 비트셀(110)의 노드 G의 전압은 GND일 것이다. GND가 RL0에도 인가되기 때문에, 비트-0 열에서의 각 비트셀(110)의 매치 라인 트랜지스터 T2의 게이트-소스 전압은 제로일 것이므로, 비트-0 열에서의 각 비트셀(110)의 매치 라인 트랜지스터 T2는 오프를 유지할 것이다.
[비트-1, 워드-0] 비트셀(110)은 1을 저장하고 1 검색 기준을 기초로 검색되므로, 식 8로부터 노드 G의 전압은 낮은 값인
Figure pat00032
로 된다. 따라서, 매치 라인 트랜지스터 T2는 오프를 유지하고, [비트-1, 워드-0] 비트셀(110)은 매치 라인 ML0을 아래로 내리지 않는다.
[비트-2, 워드-0] 비트셀(110)은 0을 저장하고, 0 검색 기준에 기초하여 검색되므로, 식 5로부터 노드 G의 전압은 낮은 값인
Figure pat00033
로 된다. 따라서, 매치 라인 트랜지스터 T2는 오프를 유지하고, [비트-2, 워드-0] 비트셀(110)은 그 매차 라인 ML0을 내리지 못한다.
워드 0에서의 비트셀(110) 중 어느 것도 매치 라인 ML0을 내리지 못하기 때문에, 행 드라이버(151)는 워드 0이 검색 워드에 있어서 매치라고 판정한다. 따라서, 워드 0의 어드레스는 출력 어드레스로서 행 드라이버(151)로부터 출력된다.
[비트-1, 워드-1] 비트셀(110)은 0을 저장하고, 1 검색 기준에 기초하여 검색되므로, 식 6으로부터 노드 G의 전압은 높은 값인
Figure pat00034
로 된다. 따라서, 매치 라인 트랜지스터 T2는 턴온되고 [비트-1, 워드-1] 비트셀(110)은 그 매치 라인 ML1을 내려가게 한다.
[비트-2, 워드-1] 비트셀(110)은 1을 저장하고, 0 검색 기준을 기초로 검색되므로, 식 7로부터 노드 G의 전압은 높은 값인
Figure pat00035
로 된다. 따라서, 매치 라인 트랜지스터 T2는 턴온되고 [비트-2, 워드-1] 비트셀(110)은 그 매치 라인 ML1을 내려가게 한다.
[비트-1, 워드-1] 및 [비트-2, 워드-1] 비트셀(110)이 매치 라인 ML1을 내려가게 하기 때문에, 행 드라이버(151)는 워드 1이 검색 워드에 있어서 미스라고 판정한다. 따라서, 워드 1의 어드레스는 출력 어드레스로서 행 드라이버(151)로부터 출력되지 않는다.
[비트-1, 워드-2] 및 [비트-2, 워드-2] 비트셀(110)은 상기한 [비트-1, 워드-0] 및 [비트-2, 워드-0] 비트셀(110)의 상태와 유사하므로, 이들은 상세히 설명되지 않을 것이다. 요컨대, [비트-1, 워드-2] 및 [비트-2, 워드-2] 비트셀(110)이 매치이므로, 어느 쪽도 매치 라인 ML2를 내리지 못하고, 그에 따라 행 드라이버(151)는 워드 2가 검색 워드에 있어서 매치라고 판정한다. 따라서, 워드 2의 어드레스는 출력 어드레스로서 행 드라이버(151)로부터 출력된다.
[CAM을 갖는 예시적인 디바이스]
여기서 설명되는 예시적인 CAM은 메모리가 사용될 수 있는 임의의 전자 디바이스, 예를 들어 퍼스널 컴퓨터, 서버, 스마트폰, 태블릿, 네트워크 디바이스 등에서 사용될 수 있다. 특히, 예시적인 CAM은 데이터를 CAM에 기록함으로써 디바이스에 대한 데이터를 저장하는 데 사용될 수 있고, 디바이스는 CAM으로부터 판독함으로써 저장된 데이터에 액세스할 수 있다. 또한, 예시적인 CAM은 디바이스가 입력 검색 워드에 기초하여 CAM을 검색하도록 하게 할 수도 있어, 다양한 애플리케이션에서 특히 유용할 수 있다. 예컨대, 예시적인 디바이스에 의해 실행되는 데이터베이스 애플리케이션은 예시적인 CAM을 이용하는 디바이스에 의해 크게 혜택을 받을 수 있다. 다른 예로서, CAM에 의해 제공되는 높은 검색 속도가 네트워크 디바이스로 하여금 달리 가능할 수 있는 빠른 속도로 동작하게 할 수도 있음에 따라, (라우터, 스위치, 게이트웨이 등과 같은) 네트워크 디바이스는 예시적인 CAM을 이용하는 것으로부터 크게 혜택을 받을 수 있다.
도 8은 예시적인 CAM을 포함하는 예시적인 디바이스(500)를 도시한다. 설명의 편의를 위해, 예시적인 디바이스(500)가 네트워크 디바이스로서 동작한다는 가정과 함께 예시적인 디바이스(500)의 소정 측면이 이하에 설명될 것이지만, 예시적인 디바이스(500)가 전자 디바이스의 임의의 타입일 수 있음을 이해해야 한다. 또한, 이하에 설명되는 특징들 중 일부는 예시적인 디바이스(500)에서 생략될 수 있고, 이하에 설명되지 않은 다른 것들이 추가될 수 있다.
디바이스(500)는 CAM(100), 프로세싱 회로(510), 통신 회로(520), 및 머신 판독가능 매체(530)를 포함할 수 있다. CAM(100)은 상기한 예시적인 CAM(100)의 실례일 수 있고, 비트셀(110)의 어레이 및 제어 회로(150)를 포함할 수 있다.
프로세싱 회로(510)는 제어 회로(150)에 제어 신호 Ctrl를 공급할 수 있다. 프로세싱 회로(510)는 입력 워드 및 판독/기록 어드레스를 제어 회로(150)에 공급할 수도 있다. 프로세싱 회로(510)는 CPU, 마이크로프로세서, 마이크로컨트롤러 디바이스, DSP, 등과 같은, 머신 판독가능 인스트럭션을 실행할 수 있는 임의의 회로일 수 있다. 또한, 프로세싱 회로(510)는 ASIC(application-specific integrated circuit), FPGA(field-programmable gate array), ASIP(application-specific instruction set processor) 등일 수 있고, 판독, 기록, 및 검색 동작과 같이 여기서 설명되는 소정의 동작들을 수행하도록 구성된다.
머신 판독가능 매체(530)는 휘발성 저장 매체(예를 들어, DRAM, SRAM, 등) 및/또는 비휘발성 저장 매체(예를 들어, PROM, EPROM, EEPROM, NVRAM, 하드 드라이브, 광학 디바이스, 등)를 포함할 수 있는 임의의 비일시적 머신 판독가능 매체일 수 있다. 머신 판독가능 매체(530)는, 프로세싱 회로(510)에 의한 실행시에, 디바이스(500)로 하여금, 판독, 기록, 및 검색 동작과 같이 여기서 설명되는 동작들 중 일부 또는 전부를 수행하도록 하게 하는 머신 판독가능 인스트럭션을 저장할 수 있다.
통신 회로(520)는 입력 데이터 통신을 수신하고 출력 데이터 통신을 전송하기 위한 회로일 수 있다. 예컨대, 통신 회로(520)는 네트워크 인터페이스 카드를 포함할 수 있다. 소정 예에서, 통신 회로(520)는 다수의 통신 포트(521)를 포함할 수 있고, 디바이스(500)를 거쳐서 다수의 다른 전자 디바이스를 서로 연결시키도록 할 수 있다. 예컨대, 디바이스(500)는 네트워크 라우터, 네트워크 스위치, 네트워크 게이트웨이 등일 수 있고, 라우팅, 스위칭 등과 같은 다양한 트래픽 제어 작업을 수행할 수 있다. 소정 예에서, 통신 회로(520)는 (IP 어드레스와 같은) 목적지 어드레스를 포함하는 통신을 수신할 수 있고, 또한 통신 회로(520)는 목적지 어드레스에 기초하여 수신된 통신을 전달할 통신 포트(521)를 결정할 수 있다.
특히, 통신 회로(520)는 통신에 포함되어 있던 목적지 어드레스에 기초하여 CAM(100)을 검색함으로써 수신된 통신을 전달할 포트(521)를 결정할 수 있다. 예컨대, 디바이스(500)에 연결된 각 디바이스는 (IP 어드레스와 같은) 고유한 디바이스 어드레스를 가질 수 있고, 또한 디바이스(500)는 연결된 각 디바이스의 디바이스 어드레스를 CAM(100)에 저장할 수 있어, CAM(100) 내에 저장된 디바이스 어드레스의 위치는 디바이스가 연결되어 있는 통신 포트(521)에 대응한다. 특히, CAM(100)의 각 워드 저장 블록은 디바이스(500)의 상이한 포트(521)에 대응할 수 있고, 디바이스(500)에 새로운 디바이스가 연결될 때마다 새로운 디바이스의 디바이스 어드레스는 새로운 디바이스가 연결되어 있는 포트(521)에 대응하는 워드 저장 블록에 기록될 수 있다. 이어서, 통신 회로(520)에 의해 통신이 수신되면, 통신의 목적지 어드레스는 입력 검색 워드로서 CAM(100)에 전송될 수 있고; 그 후에 CAM(100)은 매칭 워드 저장 블록의 메모리 어드레스를 (직접 또는 프로세싱 회로(510)를 거쳐서) 통신 회로(520)에 되돌려 보낼 수 있다. 이 예에서의 각 워드 저장 블록이 특정 포트(521)에 대응하기 때문에, 워드 저장 블록의 메모리 어드레스는 특정 포트(521)를 식별하도록 통신 회로(520)에 의해 이해될 수 있고, 그에 따라 통신 회로(520)는 CAM(100)의 출력 어드레스에 기초하여 통신을 전달할 포트(521)를 결정할 수 있다. 소정 예에서, 각 워드 저장 블록의 메모리 어드레스는 포트들(521) 중 하나의 어드레스와 동일할 수 있어, 어떤 포트(521)가 대응하는지를 통신 회로(520)가 출력 메모리 어드레스로부터 쉽게 결정하게 할 수 있다.
이러한 예에서, CAM(100)은 어떤 포트가 어떤 목적지 어드레스에 대응하는지를 표시하는 일종의 룩업 테이블로서 동작할 수 있다. 그러나, CAM(100)의 전체 어레이(140)가 동시에 검색되고 또한 하드웨어 레벨로 검색될 수 있기 때문에, 어떤 포트로 통신을 전달할지를 디바이스(500)가 결정하는 데 걸리는 시간양은 크게 감소될 수 있다.
상기한 소정 예에서, 예시적인 멤리스터 M은 바이폴라 멤리스터 - 즉, 이는 하나의 극성을 갖는 전압차/전류에 의해 설정되고, 상이한 극성을 갖는 전압차/전류에 의해 재설정됨 - 이다. 그러나, 다른 예에서 멤리스터 M은 유니폴라 멤리스터 - 즉, 동일 극성에 의해 설정 및 재설정되는 멤리스터 - 일 수 있다. 유니폴라 멤리스터를 사용하는 예에서, 바이폴라 멤리스터와 관련해서 위에서 설명된 동일한 판독 및 검색 동작이 이용될 수 있고, 상기한 기록 방법 대신에 임의의 공지된 유니폴라 멤리스터 기록 방법이 이용될 수 있다.
상기 설명에서, 비트셀(110)의 메모리 소자는 멤리스터로서 설명된다. 당업계에서, "멤리스터"라는 용어는 넓은 의미로 특정 상황에서 사용될 수 있고 또한 좁은 의미로 특정 상황에서 사용될 수 있다. 하나의 좁은 의미로, "멤리스터"는 전하와 자속 사이의 비선형 관계를 나타내는(또는 전류의 시간 적분과 전압의 시간 적분 사이의 관계를 나타내는) 회로 소자를 구체적으로 지칭할 수 있다. 넓은 의미로, "멤리스터"는 변화하는 저항 상태에 기초하고 그 저항값에 의해 판독되는 임의의 비휘발성 메모리 소자를 광범위하게 지칭한다. 본 명세서 및 첨부된 청구범위에서, "멤리스터"는 달리 구체적으로 표시되지 않는 한 항상 넓은 의미로 사용되며; 구체적으로, 여기서 사용되는 바와 같이, "멤리스터"는 변화하는 저항 상태에 기초하고 그 저항값에 의해 판독되는 임의의 비휘발성 메모리 소자를 광범위하게 지칭한다. 따라서, 여기서 사용되는 바와 같이 멤리스터 M은, 예컨대, 용어의 좁은 의미에서의 멤리스터, 유전체 고체 상태 물질에 걸쳐 저항값을 변화시키는 메모리 소자, 상변화 메모리 소자(종종 PCM 또는 PCRAM으로 지칭됨), 도전성 브리징 메모리 소자(종종 CBRAM 또는 PCM(programmable metallization cell)로 지칭됨), 자기 저항 메모리 소자(종종 MRAM으로 지칭됨) 등일 수 있다.
예시적인 CAM이 여기서 설명되며, 이해를 돕기 위해 개념적 또는 개략적 방식으로 도면에 도시되어 있다. 특히, 예시적인 CAM의 물리적 구조는 회로 구성요소로서 지칭되고 및/또는 여기서 개념적으로 도시되고, 이들 회로 구성요소 간의 관계는 당업계의 통상적인 관행에 따라 회로도에 도시된다. 회로 구성요소는 소정의 기능을 수행하고 및/또는 소정의 특성을 갖는 물리적 구조 또는 디바이스의 클래스에 대한 개념적 표현이다. 이러한 회로 구성요소의 예는 저항기, 캐패시터, 멤리스터 등과 같은 수동형 디바이스; 트랜지스터, 다이오드 등과 같은 능동형 디바이스; 단자, 전극, 게이트, 소스, 드레인 등과 같은 능동형/수동형 디바이스의 구성 소자; 배선, 노드 등과 같이 디바이스를 연결하는 소자; 등을 포함한다. 예시적인 CAM의 실제 물리적 구현에서의 단일의 물리 구조(또는 물리 구조 세트)가 다수의 기능을 제공하고 및/또는 다수의 속성을 가질 수 있으므로, 단일 물리적 구조(또는 물리 구조 세트)가 다수의 개별 회로 구성요소로서 설명 및/또는 도시될 수 있음을 이해해야 한다. 예컨대, 예시적인 CAM의 특정 물리적 구현에서의 금속의 단일 피스는 트랜지스터의 게이트 전극 및 배선의 양쪽으로서 기능할 수 있다. 따라서, 2 이상의 회로 구성요소가 개별 구성요소로서 여기서 지칭되거나 도시될 수 있다는 사실은, 예시적인 CAM의 물리적 구현에서의 대응하는 물리적 구조가 개별 구조라고 의미하도록 해석되지 않아야 한다.
본 명세서 또는 첨부된 청구범위에서 제 2 회로 구성요소에 "연결된" 제 1 회로 구성요소가 언급되는 경우, 이는 (1) 제 1 및 제 2 구성요소에 대응하는 물리적 구조가 그들 사이에 전류 경로가 존재하도록 배치되는 것, 및/또는 (2) 단일의 물리적 구조가 제 1 및 제 2 회로 구성요소 양쪽 중 적어도 일부로서 기능하는 것을 의미한다. 이러한 정의에 비추어 볼 때, 서로 "연결된" 다수의 회로 구성요소의 도면에서의 예시 또는 그에 대한 본 명세서에서의 언급은 회로 구성요소가 반드시 구분된 물리적 개체임을 의미하지 않는다는 것에 유의한다. 예컨대, 제 2 회로 구성요소에 "연결된" 제 1 회로 구성요소의 참조는, (A) 제 1 회로 구성요소의 단자로서 기능하는 물리적 구조가 제 2 회로의 단자로서 기능하는 물리적 구조와 직접 물리적으로 접촉한다는 시나리오; (B) 제 1 회로 구성요소의 단자로서 기능하는 물리적 구조가, 제 2 회로의 단자로서 기능하는 물리적 구조와 직접 물리적으로 접촉하고 있는 전기 도체(예를 들어, 배선)와 직접 물리적으로 접촉한다는 시나리오; (C) 제 1 회로 구성요소의 단자로서 기능하는 동일한 물리적 구조가 또한 제 2 회로 구성요소의 단자로서 기능한다는 시나리오; 등을 포함할 수 있다.
본 명세서 또는 첨부된 청구범위에서 제 2 및 제 3 구성요소 "사이에 연결된" 제 1 구성요소가 언급되는 경우, 이는 제 1 구성요소의 2개의 마주보고 있는 단자가 제 2 구성요소 및 제 3 구성요소에 각각 연결되어 있음을 의미한다. 특히, 본 명세서 또는 첨부된 청구범위에서 2개의 소자 "사이에 연결된" 트랜지스터가 언급되는 경우, 이는 트랜지스터의 소스 단자(소스 전국, 소스 영역, 소스, 등으로도 지칭됨)가 2개의 소자 중 하나에 연결되고, 트랜지스터의 드레인 단자(드레인 전극, 드레인 영역, 드레인, 등으로도 지칭됨)가 2개의 소자 중 다른 하나에 연결되어 있음을 의미한다.
본 명세서 또는 첨부된 청구범위에서 제 1 소자와 제 2 소자 "사이에 직렬로 연결된" 다수의 회로 구성요소가 언급되는 경우, 이는 다수의 회로 구성요소가 그것들이 언급되는 동일한 순서로 직렬로 단대단(end-to-end) 연결되는 것, 및 직렬의 제 1 회로 구성요소가 제 1 소자에 연결되고 직렬의 마지막 회로 구성요소가 제 2 소자에 연결되어 있는 것을 의미한다. 예컨대, "A, B, 및 C가 D와 E 사이에 직렬로 연결되어 있음"은 D가 A에 연결되고, A가 B에 연결되고, B가 C에 연결되고, C가 E에 연결되어 있음을 의미하고, 이는 D-{A-B-C}-E와 같이 그래픽으로 표현될 수 있으며, 여기서 대시("-")는 연결을 표시하고 중괄호{"{}")는 직렬을 표시한다.
여기서 사용되는 바와 같이, (멤리스터 M과 같은) 회로 구성요소에 걸쳐 소정의 전압차를 인가하는 것은, 인가된 전압 중 보다 큰 전압-인가된 전압 중 보다 작은 전압이 소정의 전압차와 같도록 회로 구성요소의 2개의 단자에 전압을 인가하는 것을 의미한다. 전압차가 회로 구성요소에 걸쳐 인가되는 극성은 인가된 전압차의 결과로서 전류가 회로 구성 요소를 통해 흐르는 경향이 있는(그렇게 하도록 허용된 경우) 방향에 대응하며, 이는 회로 구성요소의 어느 단자가 인가된 전압 중 보다 큰 전압을 갖는지에 의존할 것이다. 특히, 인가된 전압 중 보다 큰 전압을 회로 구성요소의 제 1 단자에 인가하고 또한 인가된 전압 중 보다 작은 전압을 회로 구성요소의 제 2 단자에 인가함으로써 소정의 전압차가 회로 구성요소에 걸쳐 인가되는 경우, 이는 제 1 극성을 갖고서 소정의 전압차를 인가하는 것으로 언급될 수 있고; 인가된 전압 중 보다 큰 전압을 제 2 단자에 인가하고 또한 인가된 전압 중 보다 작은 전압을 제 1 단자에 인가함으로써 소정의 전압차가 회로 구성요소에 걸쳐 인가되는 경우, 이는 제 2 극성을 갖고서 소정의 전압차를 인가하는 것으로 언급될 수 있다.
멤리스터 M의 저저항 상태와 연관된 저항값 RLRS에 대한 본 명세서에서의 언급은, 저저항 상태로 설정될 때마다 각 멤리스터 M이 저항값 RLRS로 정확하게 설정되는 것으로 의미한다고 해석되지 말아야 한다. 소정 예에서, 멤리스터 M의 저저항 상태는 단 하나의 특정 저항값보다는 저항값의 범위를 포함할 수 있다. 특히, 멤리스터 M의 저항값은 멤리스터 M이 저저항 상태로 설정될 때마다 반드시 정확히 동일한 값은 아니다. 이는, 예컨대 멤리스터 M 간의 피할 수 없는 제조 편차뿐만 아니라, 설정/재설정 동작을 위해 인가되는 전압의 발명가능한 편차의 결과로서 발생할 수 있다. 대신에, 저항값 RLRS은 멤리스터 M의 저저항 상태를 포함하는 저항값 범위와 연관된 특정한 저항값이다.
마찬가지로, 멤리스터 M의 고저항 상태와 연관된 저항값 RHRS에 대한 본 명세서에서의 언급은, 고저항 상태로 재설정될 때마다 각 멤리스터 M이 저항값 RHRS로 정확하게 설정되는 것으로 의미한다고 해석되지 말아야 한다. 소정 예에서, 멤리스터 M의 고저항 상태는 단 하나의 특정 저항값보다는 저항값의 범위를 포함할 수 있다. 특히, 멤리스터 M의 저항값은 멤리스터 M이 고저항 상태로 설정될 때마다 반드시 정확히 동일한 값은 아니다. 대신에, 저항값 RHRS은 멤리스터 M의 고저항 상태를 포함하는 저항값 범위와 연관된 특정한 저항값이다.
저항값 RLRS 및 RHRS는 다양한 방법에 의해 결정될 수 있다. 예컨대, 멤리스터 M을 반복해서 설정 및 재설정하고 매번 그 저항값을 측정하고, 또한 이들 측정에 기초하여 값의 범위를 결정함으로써 저저항 상태에서의 저항값 범위 및 고저항 상태에서의 저항값 범위가 결정될 수 있고, 그 후에 저항 RLRS 및 RHRS는 그들의 대응하는 범위 내에서 특정 값으로 되도록 결정될 수 있다. 예컨대, 저항값 RLRS는 저저항 상태 값들의 범위 중 최고값일 수 있고, 저항값 RHRS는 고저항 상태 값들의 범위 중 최저값일 수 있다. 소정 예에서, 저항값 RLRS 및 RHRS는 각각 설정 및 재설정 상태에서 멤리스터 M의(또는 다수의 멤리스터 M의) 측정된 저항값들의 통계적 집합인 것으로 결정될 수 있고; 예를 들어 저항값 RLRS 및 RHRS는 각각의 대응하는 측정된 저항값들의 평균, 중앙값, 모드, 등으로 결정될 수 있다. 소정 예에서, 멤리스터(들) M은 반복적으로 설정 및 재설정될 수 있고, 이들의 저항값이 측정되고, RLRS 및 RHRS는 이 프로세스에서 측정된 최저 저항값 및 최고 저항값으로 각각 결정될 수 있다.
상기 설명에서, 비트셀의 트랜지스터들은 모두 NFET 트랜지스터로서 설명되었지만, 모든 PFET 트랜지스터가 대신 사용될 수 있음을 이해해야 한다. 이러한 경우에, 트랜지스터의 턴온 및 턴오프를 야기하는 전압은 서로 반대로 될 것이므로(낮은 게이트-소스 전압은 PFET를 턴온하고, 높은 데이트-소스 전압은 PFET를 턴오프함), 검색 동작시에 인가되는 전압은 원하는 검색 결과를 지키기 위해 반대로 될 수 있다.
본 명세서 및 첨부된 청구범위 전체에 걸쳐서, 때때로 "다수의" 항목을 언급할 수 있다. "수"에 대한 이러한 언급은 1보다 크거나 같은 임의의 정수를 의미한다. "수"가 이러한 방식으로 사용되는 경우, 항목(들)을 설명하는 단어는 문법상의 일관성을 위해 복수화된 "들"과 함께 쓰여질 수 있지만, 이는 다수의 항목들이 지칭되고 있음을 반드시 의미하는 것은 아니다. 따라서, 예를 들어 "다수의 비교기"는 하나의 비교기 및 다수의 비교기의 양쪽을 포함할 수 있다.
상기 명세서는 앞서의 예들을 참조하여 도시 및 설명되었지만, 본 발명의 정신 및 범위에서 벗어나지 않고서 다른 형태, 세부사항, 및 구현이 이루어질 수 있음을 이해해야 한다.

Claims (19)

  1. 비트셀을 포함하는 내용 지정 메모리(CAM)로서,
    상기 비트셀은,
    제 1 데이터 라인과 제 2 데이터 라인 사이에서 직렬로 연결된 멤리스터 및 스위칭 트랜지스터와,
    매치 라인(a match line)과 레일(a rail) 사이에 연결된 매치 라인 트랜지스터를 포함하고,
    상기 매치 라인 트랜지스터의 게이트는 상기 멤리스터 및 상기 스위칭 트랜지스터의 공통 노드에 연결되고,
    상기 스위칭 트랜지스터는, 온(on)일 때의 채널 저항값이 상기 멤리스터의 저저항 상태와 연관된 저항값과 상기 멤리스터의 고저항 상태와 연관된 저항값 사이에 있도록 크기가 정해지는
    내용 지정 메모리.
  2. 제 1 항에 있어서,
    제 1 검색 기준에 기초하여 상기 비트셀을 검색하고, 제 2 검색 기준에 기초하여 상기 비트셀을 검색하고, 와일드카드 검색 기준에 기초하여 상기 비트셀을 검색하는 제어 회로를 더 포함하는
    내용 지정 메모리.
  3. 제 1 항에 있어서,
    상기 매치 라인을 프리차지하고, 상기 제 1 데이터 라인에 제 1 전압을 인가하고, 상기 제 2 데이터 라인에 접지 전압을 인가하고, 상기 레일에 제 3 전압을 인가함으로써 제 1 검색 기준에 기초하여 상기 비트셀을 검색하고,
    상기 매치 라인을 프리차지하고, 상기 제 1 데이터 라인에 상기 접지 전압을 인가하고, 상기 제 2 데이터 라인에 상기 제 1 전압을 인가하고, 상기 레일에 제 4 전압을 인가함으로써 제 2 검색 기준에 기초하여 상기 비트셀을 검색하는 제어 회로를 더 포함하는
    내용 지정 메모리.
  4. 제 3 항에 있어서,
    상기 제 3 전압은, 상기 비트셀이 상기 제 1 검색 기준에 기초하여 검색되는 경우,
    상기 비트셀에 저장된 값이 매치(a match)이면 상기 매치 라인 트랜지스터가 오프로 되고,
    상기 비트셀에 저장된 값이 미스(a miss)이면 상기 매치 라인 트랜지스터가 온으로 되도록 설정되는
    내용 지정 메모리.
  5. 제 4 항에 있어서,
    상기 제 3 전압은 상기 제 1 전압을
    Figure pat00036
    과 곱하고 상기 매치 라인 트랜지스터의 임계 전압을 차감해서 나온 값보다 크도록 설정되며, RH는 상기 멤리스터의 고저항 상태와 연관된 저항값이고, RT는 온일 때에 상기 스위칭 트랜지스터의 채널 저항값인
    내용 지정 메모리.
  6. 제 5 항에 있어서,
    상기 제 3 전압은 상기 제 1 전압을
    Figure pat00037
    과 곱하고 상기 매치 라인 트랜지스터의 상기 임계 전압을 차감해서 나온 값보다 작도록 설정되고, RL은 상기 멤리스터의 저저항 상태와 연관된 저항값인
    내용 지정 메모리.
  7. 제 3 항에 있어서,
    상기 제 4 전압은, 상기 비트셀이 상기 제 2 검색 기준에 기초하여 검색되는 경우,
    상기 비트셀에 저장된 값이 매치이면 상기 매치 라인 트랜지스터가 오프로 되고,
    상기 비트셀에 저장된 값이 미스이면 상기 매치 라인 트랜지스터가 온으로 되도록 설정되는
    내용 지정 메모리.
  8. 제 7 항에 있어서,
    상기 제 4 전압은 상기 제 1 전압을
    Figure pat00038
    과 곱하고 상기 매치 라인 트랜지스터의 임계 전압을 차감해서 나온 값보다 크도록 설정되며, RL은 상기 멤리스터의 저저항 상태와 연관된 저항값이고, RT는 온일 때에 상기 스위칭 트랜지스터의 채널 저항값인
    내용 지정 메모리.

  9. 제 8 항에 있어서,
    상기 제 4 전압은 상기 제 1 전압을
    Figure pat00039
    과 곱하고 상기 매치 라인 트랜지스터의 상기 임계 전압을 차감해서 나온 값보다 작도록 설정되고, RH는 상기 멤리스터의 고저항 상태와 연관된 저항값인
    내용 지정 메모리.
  10. 제 3 항에 있어서,
    상기 제어 회로는 상기 제 1 데이터 라인, 상기 제 2 데이터 라인, 및 상기 레일에 상기 접지 전압을 인가함으로써 와일드카드 검색 기준에 기초하여 상기 비트셀을 검색하는
    내용 지정 메모리.
  11. 내용 지정 메모리로서,
    행 및 열로 배열된 복수의 비트셀과,
    서로 동일한 행에 있는 N개의 비트셀에 각각 대응하는 복수의 매치 라인 - N은 상기 내용 어드레스 지정 가능 메모리의 워드 사이즈임 - 과,
    비트셀의 열들 중 하나에 각각 대응하는 복수의 제 1 데이터 라인과,
    비트셀의 열들 중 하나에 각각 대응하는 복수의 제 2 데이터 라인과,
    비트셀의 열들 중 하나에 각각 대응하는 복수의 레일을 포함하고,
    복수의 비트셀 각각은,
    상기 복수의 제 1 데이터 라인 중 대응하는 하나와 상기 복수의 제 2 데이터 라인 중 대응하는 하나 사이에 직렬로 연결된 멤리스터 및 스위칭 트랜지스터와,
    복수의 매치 라인 중 대응하는 하나와 상기 복수의 레일 중 대응하는 하나 사이에 연결된 매치 라인 트랜지스터 - 상기 매치 라인 트랜지스터의 게이트는 상기 멤리스터 및 상기 스위칭 트랜지스터의 공통 노드에 연결됨 - 를 포함하는
    내용 지정 메모리.
  12. 제 11 항에 있어서,
    상기 복수의 매치 라인, 상기 복수의 제 1 데이터 라인, 상기 복수의 제 2 데이터 라인, 및 상기 복수의 레일에 전압을 인가함으로써, 상기 복수의 비트셀에 데이터를 기록하고, 상기 복수의 비트셀에 저장된 데이터를 판독하고, 상기 복수의 비트셀에 저장된 워드를 검색하는 제어 회로를 더 포함하며,
    상기 제어 회로는 제 1 검색 기준, 제 2 기준, 및 와일드카드 기준에 기초하여 상기 복수의 비트셀에 저장된 워드를 검색하는
    내용 지정 메모리.
  13. 제 12 항에 있어서,
    상기 제어 회로는 상기 복수의 비트셀에 저장된 워드를 검색할 때에 상기 복수의 비트셀 전부를 동시에 검색하는
    내용 지정 메모리.
  14. 제 11 항에 있어서,
    상기 복수의 비트셀 각각에 대해, 상기 스위칭 트랜지스터는, 온일 때의 채널 저항값이 상기 멤리스터의 저저항 상태와 연관된 저항값과 상기 멤리스터의 고저항 상태와 연관된 저항값 사이에 있도록 크기가 정해지는
    내용 지정 메모리.
  15. 제 11 항에 있어서,
    상기 복수의 비트셀에 데이터를 기록하고, 상기 복수의 비트셀로부터 저장된 데이터를 판독하고, 상기 복수의 비트셀에 저장된 워드를 검색하는 제어 회로를 더 포함하며,
    상기 제어 회로는, 상기 복수의 비트셀에 저장된 워드를 검색할 때에, 제 1 검색 기준에 기초하여 복수의 열들 중에서 주어진 열의 비트셀을, 상기 주어진 열의 비트셀에 대응하는 상기 복수의 매치 라인의 각각을 프리차지하고, 상기 복수의 제 1 데이터 라인 중 대응하는 하나에 제 1 전압을 인가하고, 상기 복수의 제 2 데이터 라인 중 대응하는 하나에 접지 전압을 인가하고, 상기 복수의 레일 중 대응하는 하나에 제 3 전압을 인가함으로써 검색하며,
    상기 제어 회로는, 상기 복수의 비트셀에 저장된 워드를 검색할 때에, 제 2 검색 기준에 기초하여 복수의 열 중에서 두 번째로 주어진 열의 비트셀을, 상기 두 번째로 주어진 열의 비트셀에 대응하는 상기 복수의 매치 라인의 각각을 프리차지하고, 상기 복수의 제 1 데이터 라인 중 대응하는 하나에 상기 접지 전압을 인가하고, 상기 복수의 제 2 데이터 라인 중 대응하는 하나에 상기 제 1 전압을 인가하고, 상기 복수의 레일 중 대응하는 하나에 제 4 전압을 인가함으로써 검색하는
    내용 지정 메모리.
  16. 출력 전압이 매치 라인 트랜지스터를 제어하는 저항 분배기를 각각 포함하는 복수의 비트셀을 포함하는 내용 어드레스 지정 가능 메모리(CAM)를 포함하되,
    상기 CAM은 제 1 극성을 갖고서 상기 저항 분배기에 걸쳐 제 1 전압차를 인가함으로써 제 1 검색 기준에 기초하여 상기 복수의 비트셀 중 주어진 비트셀을 검색하고,
    상기 CAM은 제 2 극성을 갖고서 상기 저항 분배기에 걸쳐 상기 제 1 전압차를 인가함으로써 제 2 검색 기준에 기초하여 상기 주어진 비트셀을 검색하는
    전자 디바이스.
  17. 제 16 항에 있어서,
    상기 CAM은 상기 저항 분배기의 양쪽의 입력 단자에 접지 전압을 인가함으로써 와일드카드 기준에 기초하여 상기 주어진 비트셀을 검색하는
    전자 디바이스.
  18. 제 16 항에 있어서,
    상기 복수의 비트셀 각각에 대해, 상기 저항 분배기는 제 1 데이터 라인과 제 2 데이터 라인 사이에 직렬로 연결된 멤리스터 및 스위칭 트랜지스터를 포함하는
    전자 디바이스.
  19. 제 18 항에 있어서,
    상기 복수의 비트셀 각각에 대해, 상기 스위칭 트랜지스터는, 온일 때의 채널 저항값이 상기 멤리스터의 저저항 상태와 연관된 저항값과 상기 멤리스터의 고저항 상태와 연관된 저항값 사이에 있도록 크기가 정해지는
    전자 디바이스.
KR1020170092234A 2016-07-21 2017-07-20 멤리스터 기반 내용 지정 메모리 KR20180011016A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/216,011 2016-07-21
US15/216,011 US9721661B1 (en) 2016-07-21 2016-07-21 Content addressable memories

Publications (1)

Publication Number Publication Date
KR20180011016A true KR20180011016A (ko) 2018-01-31

Family

ID=59382797

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170092234A KR20180011016A (ko) 2016-07-21 2017-07-20 멤리스터 기반 내용 지정 메모리

Country Status (2)

Country Link
US (1) US9721661B1 (ko)
KR (1) KR20180011016A (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201617631D0 (en) * 2016-10-18 2016-11-30 Univ Southampton Method and system for processing data from a sensor
US10366747B2 (en) * 2017-11-30 2019-07-30 Micron Technology, Inc. Comparing input data to stored data
DE112018007019T5 (de) * 2018-04-30 2020-11-05 Hewlett Packard Enterprise Development Lp Aktualisierung des musters für reguläre ausdrücke im ternären inhaltsadressierbaren speicher
JP7127454B2 (ja) * 2018-09-26 2022-08-30 Tdk株式会社 メモリスタ回路、メモリスタ制御システム、アナログ積和演算器、及びニューロモーフィックデバイス
US10998047B1 (en) * 2020-01-15 2021-05-04 Hewlett Packard Enterprise Development Lp Methods and systems for an analog CAM with fuzzy search
US11615827B2 (en) 2020-10-15 2023-03-28 Hewlett Packard Enterprise Development Lp Hardware accelerator with analog-content addressable memory (a-CAM) for decision tree computation
US11561607B2 (en) 2020-10-30 2023-01-24 Hewlett Packard Enterprise Development Lp Accelerating constrained, flexible, and optimizable rule look-ups in hardware
US11551771B2 (en) * 2021-05-20 2023-01-10 Hewlett Packard Enterprise Development Lp Analog content addressable memory for storing and searching arbitrary segments of ranges
CN113658627B (zh) * 2021-07-26 2024-03-29 安徽大学 一种能区分阻态交叉的10t4r单元电路
US11783907B2 (en) * 2021-10-29 2023-10-10 Hewlett Packard Enterprise Development Lp Iterative programming of analog content addressable memory

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606263B1 (en) 2002-04-19 2003-08-12 Taiwan Semiconductor Manufacturing Company Non-disturbing programming scheme for magnetic RAM
US8179739B2 (en) 2007-08-10 2012-05-15 Renesas Electronics Corporation Semiconductor device and its manufacturing method
KR102149882B1 (ko) 2012-01-01 2020-08-31 고쿠리츠다이가쿠호진 도호쿠다이가쿠 집적회로
US9087572B2 (en) * 2012-11-29 2015-07-21 Rambus Inc. Content addressable memory
US10037801B2 (en) 2013-12-06 2018-07-31 Hefei Reliance Memory Limited 2T-1R architecture for resistive RAM
US9502113B2 (en) * 2015-01-14 2016-11-22 Flashsilicon Incorporated Configurable non-volatile content addressable memory
US9431106B1 (en) * 2015-06-09 2016-08-30 Freescale Semiconductor, Inc. Ternary content addressable memory (TCAM) with magnetic tunnel junction (MTJ) devices

Also Published As

Publication number Publication date
US9721661B1 (en) 2017-08-01

Similar Documents

Publication Publication Date Title
KR20180011016A (ko) 멤리스터 기반 내용 지정 메모리
US9847132B1 (en) Ternary content addressable memories
US9934857B2 (en) Ternary content addressable memories having a bit cell with memristors and serially connected match-line transistors
US10896731B1 (en) Content addressable memory circuits with threshold switching memristors
US9230649B2 (en) Non-volatile ternary content-addressable memory 4T2R cell with RC-delay search
US8107276B2 (en) Resistive memory devices having a not-and (NAND) structure
US10847224B1 (en) Low power and area ternary content addressable memory circuit
US9087572B2 (en) Content addressable memory
US9704576B2 (en) Complementary RRAM applications for logic and ternary content addressable memory (TCAM)
US8837210B2 (en) Differential sensing method and system for STT MRAM
US20110051485A1 (en) Content addressable memory array writing
CN108962316B (zh) 基于忆阻器和cmos的内容可寻址存储单元及数据搜索匹配方法
US8908407B1 (en) Content addressable memory (“CAM”)
US8320148B1 (en) PMC-based non-volatile CAM
KR20210013635A (ko) 프리차지를 갖는 메모리 감지 증폭기
KR20170078596A (ko) 불휘발성 메모리 장치
US8054662B2 (en) Content addressable memory array
US7948782B2 (en) Content addressable memory reference clock
Zheng et al. Memristors-based ternary content addressable memory (mTCAM)
US9761309B2 (en) Sensing circuit for resistive memory array
US9312006B2 (en) Non-volatile ternary content-addressable memory with resistive memory device
KR101723723B1 (ko) 비휘발성 메모리 디바이스
KR102367338B1 (ko) Tcam 장치 및 그것의 동작 방법
US10395719B2 (en) Memory device driving matching lines according to priority
KR101897389B1 (ko) 자기 저항 메모리를 사용하는 내용 주소화 기억 장치