KR20110023747A - 컨텐트 어드레스가능 메모리(cam) 어레이 - Google Patents
컨텐트 어드레스가능 메모리(cam) 어레이 Download PDFInfo
- Publication number
- KR20110023747A KR20110023747A KR1020100077264A KR20100077264A KR20110023747A KR 20110023747 A KR20110023747 A KR 20110023747A KR 1020100077264 A KR1020100077264 A KR 1020100077264A KR 20100077264 A KR20100077264 A KR 20100077264A KR 20110023747 A KR20110023747 A KR 20110023747A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- access
- coupled
- line
- value
- Prior art date
Links
Images
Classifications
-
- 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
- G11C15/046—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 using non-volatile storage elements
-
- 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/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5678—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using amorphous/crystalline phase transition storage elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital 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/0004—Digital 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 amorphous/crystalline phase transition cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
Landscapes
- Chemical & Material Sciences (AREA)
- Crystallography & Structural Chemistry (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Semiconductor Memories (AREA)
Abstract
하나 혹은 그 이상의 주소들을 저장하기 위한 메모리 장치는 매치 라인 그리고 2-비트 메모리 셀을 형성하는 제 1 및 제 2 메모리 셀들을 포함한다. 각각의 메모리 셀은 매치 라인에 결합된 두 개의 메모리 엘리먼트들 및 이들에 결합된 선택 라인들을 포함한다. 상기 선택 라인들은 적어도 두 개의 서로 다른 입력들의 논리 조합으로 이루어진 신호 표시를 제공한다.
Description
본 발명은, 메모리 장치들에 관한 것으로, 좀 더 구체적으로는, 컨텐트 어드레스가능 메모리(CAM; content addressable memory) 장치들에 관한 것이다.
랜덤 액세스 메모리(RAM; random access memory)는 주소로 데이터를 연관시키는데, 오늘날 컴퓨터들에는 동적 RAM(DRAM) 및 정적 RAM(SRAM)과 같은 휘발성 RAM들이 통상 사용되고 있다. 그러나, 무선 모바일 컴퓨팅 시스템들이 점차 보급됨에 따라, 이제는 메모리 분야에서 강도 높은 연구 및 개발이 새로운 비휘발성 메모리 분야로 집중되고 있다. 현재까지 알려진 주요 비휘발성 램들로는, 납-지르코니움-티타네이트 재료의 서로 다른 극성(different polarization of the lead-zirconium-titanate(PZT) material)에 기인한 비선형 캐패시턴스를 사용하는 강유전 RAM(ferroelectric RAM : FeRAM), 자기 극성으로 인한 자기 저항변화들을 사용하는 자기 RAM(MRAM), 및 정렬된 상들(ordered phases) (도전성(conductive)을 나타냄) 또는 정렬되지 않은 상들(disordered phases) (저항성(resistive)을 나타냄) 에서의 저항변화들을 사용하는 칼코제나이드 상변화 재료들(Chalcogenide phase change materials)이 있다.
컨텐트 어드레스가능 메모리(CAM)는 특정 초고속 검색 애플리케이션들에 사용되는 특수한 타입의 컴퓨터 메모리이다. 이러한 CAM은 또한 연관 메모리(associative memory) 또는 어소시에이티브 스토리지(associative storage)로도 알려져 있다. 대부분의 기존 CAM 제품들은 SRAM 혹은 DRAM 셀들에 기초한 휘발성 기술들을 이용한다. 따라서 CAM 형성에 있어서 밀도 향상을 고려하여 저항-변화 메모리 엘리먼트들 예를 들어, 칼코제나이드 상변화 재료들을 사용하는 CAM들이 개발되었다(found).
사용자가 메모리 주소를 제공하면(supply) 그 주소에 저장된 데이터 워드를 되돌려 주는(return) 표준 컴퓨터 메모리(예, RAM)와는 달리, CAM은 사용자가 데이터 워드를 제공하면 CAM 자신이 그 메모리 전체를 검색하여 그 데이터 워드가 메모리의 어느 곳에 저장되어 있는지를 찾아내도록 설계되어있다. 만일 데이터 워드가 발견되면, CAM은 그 워드가 발견된 곳의 하나 혹은 그 이상의 스토리지 주소들의 리스트를 되돌려 준다(그리고 일부 아키텍처들에서는, 그 데이터 워드, 또는 기타 연관된 데이터 조각들을 함께 되돌려 주기도 한다). 따라서, CAM은 소프트웨어 용어로는 연관 어레이(associative array)로 불리우는 것의 하드웨어 실시예에 해당한다.
이진(binary) CAM은 사용하는 데이터 검색 워드가 전부 1 과 0 들로 구성된 가장 간단한 종류의 CAM이다. 삼진(ternary) CAM은 저장된 데이터 워드의 하나 혹은 그 이상의 비트들에 대해 “X” 즉 “돈 캐어(Don’t Care)”의 제 3 의 매칭 상태를 허용함으로써, 검색에 대한 유연성(flexibility)을 추가한 CAM이다. 예를 들어, 삼진 CAM은“10XX0”로 저장된 워드를 가질 수 있는데, 이는 “10000”, “10010”, “10100”, 혹은 “10110”의 네 가지 검색 워드들 중 어떤 것과도 매치될 수 있다.
본 발명의 일 실시 예에 따르면, 하나 혹은 그 이상의 주소들을 저장하는 메모리 장치가 제공된다. 상기 메모리 장치는 매치 라인(a match line)과 제 1 및 제 2 메모리 셀들을 포함한다. 상기 제 1 메모리 셀은 제 2 메모리 엘리먼트 및 상기 매치 라인에 결합된 제 1 메모리 엘리먼트, 상기 제 1 메모리 엘리먼트에 결합되고 제 1 액세스 라인을 갖는 제 1 액세스 장치, 및 상기 제 2 메모리 엘리먼트에 결합되고 제 2 액세스 라인을 갖는 제 2 액세스 장치를 포함하되, 상기 제 1 메모리 셀은 제 1 값을 저장하도록 구성되어 있다. 상기 제 2 메모리 셀은 제 4 메모리 엘리먼트 및 상기 매치 라인에 결합된 제 3 메모리 엘리먼트, 상기 제 3 메모리 엘리먼트에 결합되고 제 3 액세스 라인을 갖는 제 3 액세스 장치, 및 상기 제 4 메모리 엘리먼트에 결합되고 제 4 액세스 라인을 갖는 제 4 액세스 장치를 포함하되, 상기 제 2 메모리 셀은 제 2 값을 저장하도록 구성되어 있다. 이 실시 예에서, 상기 액세스 라인들 중 적어도 하나는 상기 제 1 및 제 2 값들의 조합(combination)으로 이루어진 신호를 수신한다.
본 발명의 또 다른 실시 예에 따라, 컨텐트 어드레스가능 메모리(CAM)를 작동하는 방법이 제공된다. 이 실시 예의 방법은: 디코더(a decoder)에서 입력 벡터를 수신하는 단계; 상기 입력 벡터를 디코딩하는 단계 - 상기 디코딩하는 단계는 상기 입력 벡터를 복수의 2 비트 그룹핑들(groupings)로 나누는 단계 및 상기 그룹핑들 각각에 관한 논리 동작들을 수행하여 복수의 어드레싱 값들(addressing values)을 생성하는 단계를 포함함 -; 상기 어드레싱 값들을 상기 컨텐트 어드레스가능 메모리내의 메모리 셀들에 결합된 액세스 라인들로 전송하는 단계; 및 상기 컨텐트 어드레스가능 메모리내의 상기 메모리 셀들에 결합된 매치 라인의 저항 값(resistive value)을 측정하는 단계를 포함한다.
본 발명의 또 다른 실시 예는 메모리 시스템을 제공한다. 상기 시스템은, 매치 라인에 결합된 복수의 메모리 셀들을 포함하는 컨텐트 어드레스가능 메모리(CAM) 및 상기 CAM에 결합된 매치 체킹 장치(a match checking device)를 포함한다. 여기서, 상기 매치 체킹 장치는 상기 매치 라인의 저항 레벨(a resistive level)을 모니터링함으로써 상기 CAM에 제공된 특정 입력값(a particular input)이 상기 CAM에 포함되어 있는지를 결정한다. 그리고 이 실시 예의 메모리 시스템은 입력 주소를 수신하고 상기 주소로부터 적어도 두 개의 비트들을 네 개의 특정 출력들(unique outputs)로 디코드하는, 상기 CAM에 결합된 디코더(a decoder)를 또한 포함한다.
추가적인 특징들 및 장점들이 본 발명의 기술들을 통해 실현될 수 있다. 본 발명의 다른 실시 예들 및 측면들(aspects)은 이하에서 상세하게 기술될 것이며 이는 청구된 발명의 일부로서 고려될 수 있다. 상기 장점들 및 특징들을 포함하는 본 발명을 더 잘 이해하기 위해, 이하의 상세한 설명 및 도면들을 참조한다.
본 발명의 주제는 본 상세한 설명의 결론부의 청구항들에 분명하게 기재되어 있다. 앞서 말한 그리고 다른 본 발명의 특징들, 및 장점들은 첨부된 도면들을 참조하여 작성된 이하의 상세한 설명으로부터 명백하다:
도 1은 CAM에 사용되는 메모리 셀의 일 예시를 도시한다;
도 2는 하나의 매치 라인(a match line)에 결합된 두 개의 메모리 셀들의 일 예시를 도시한다;
도 3은 본 발명의 일 실시 예에 따라, 매치 라인에 결합된 2 비트 셀(a 2-bit cell)을 위한 두 개의 메모리 셀들의 일 예시를 도시한다;
도 4a 및 4b는, 각각, 도 2 및 3에 도시된 셀들에 대한 매치라인 전압 지연(matchline voltage delay)을 도시한다;
도 5는 본 발명의 일 실시 예에 따라 입력 벡터를 디코딩하는데 사용될 수 있는 로직(logic)의 일 예시를 도시한다;
도 6은 본 발명에 따라 CAM을 동작하는 하나의 방법을 보인 플로우 챠트이다; 그리고
도 7은 본 발명의 일 실시 예에 따른 시스템의 블록도이다.
도 1은 CAM에 사용되는 메모리 셀의 일 예시를 도시한다;
도 2는 하나의 매치 라인(a match line)에 결합된 두 개의 메모리 셀들의 일 예시를 도시한다;
도 3은 본 발명의 일 실시 예에 따라, 매치 라인에 결합된 2 비트 셀(a 2-bit cell)을 위한 두 개의 메모리 셀들의 일 예시를 도시한다;
도 4a 및 4b는, 각각, 도 2 및 3에 도시된 셀들에 대한 매치라인 전압 지연(matchline voltage delay)을 도시한다;
도 5는 본 발명의 일 실시 예에 따라 입력 벡터를 디코딩하는데 사용될 수 있는 로직(logic)의 일 예시를 도시한다;
도 6은 본 발명에 따라 CAM을 동작하는 하나의 방법을 보인 플로우 챠트이다; 그리고
도 7은 본 발명의 일 실시 예에 따른 시스템의 블록도이다.
CAM에서 사용되는 메모리 셀(100)의 한 예가 도 1에 도시된다. 한 실시 예에서 도 1에 도시된 메모리 셀(100)은 삼진(ternary) CAM 셀이 될 수 있다. 상기 메모리 셀(100)은 제 1 메모리 엘리먼트(102) 및 제 2 메모리 엘리먼트(104)를 포함한다. 제 1 저항성(resistive) 메모리 엘리먼트(102) 및 제 2 메모리 엘리먼트(104)는 매치 라인(110)에 전기적으로 병렬로 결합된다. 일부 실시 예들에서 매치 라인(110)은 또한 비트-라인으로 이용될 수도 있다. 그리고 상기 제 1 메모리 엘리먼트(102) 및 제 2 메모리 엘리먼트(104)는 예를 들어, 상 변화(phase change) 메모리 엘리먼트로 형성될 수 있다. 이때 상 변화 재료는 CAM 장치들에서 정보를 저장하기 위해 이용될 수 있으며, 따라서 일부 실시 예들에서는 메모리 엘리먼트들로 사용될 수도 있다. 상 변화 재료들은 서로 다른 상들 혹은 상태들로 조작될 수 있는데, 이때 각각의 상(phase)은 서로 다른 데이터 값을 나타낸다. 일반적으로, 각각의 상은 서로 다른 전기적 특성들을 나타낸다. 비정질(amorphous) 및 결정질(crystalline) 상들은 통상적인 두 개의 상들이며, 이들은 전기저항에서 감지 가능한 차이(detectable differences in electrical resistance)를 갖기 때문에 이진(binary) (1 및 0들) 데이터 스토리지용으로 사용된다. 본 발명의 특정 구성에서, 상기 제 1 및 제 2 메모리 엘리먼트들은 게르마늄-안티몬-텔루르(Germanium- Antimony-Tellurium : GST)와 같은 상 변화 재료로 구성된 상 변화 엘리먼트들로 될 수 있다. 상기 메모리 엘리먼트들은 두 상태들 중 어느 하나: 즉 결정질 상태 또는 비정질 상태 중 어느 하나로 프로그램될 수 있다. 결정질 상태(SET)에서, 상기 메모리 엘리멘트들은 비교적 낮은 저항을 나타내고 또한 프로그램 되기 위해서 적은 전류를 필요로 한다. 한편, 비정질 상태(RESET)에서, 상기 메모리 엘리멘트들은 비교적 높은 저항을 나타내고 또한 프로그램 되기 위해서 더 많은 전류를 필요로 한다. 이와 같은 제 1 및 제 2 메모리 엘리먼트들의 저항 상태는 데이터 워드의 데이터 비트를 저장하는데 사용된다. 예를 들어, 낮은 삼진(low ternary) 데이터 값을 갖는 데이터 비트를 저장하기 위해, 제 1 메모리 엘리먼트는 낮은 저항 상태로 프로그램되고 제 2 메모리 엘리먼트는 높은 저항 상태로 프로그램된다.
다른 가능한 메모리 엘리먼트들로는, 저항 메모리 엘리먼트들, 부동(floating) 게이트 전계효과트랜지스터들(부동 게이트 FET들), 자기저항 랜덤 액세스 메모리(MRAM들), 또는 챠지트래핑장치(a charge trapping device)가 포함되나, 이에 한정되는 것은 아니다.
메모리 셀(100)은 제 1 메모리 엘리먼트(102), 제 1 액세스 라인(112) 및 공통 그라운드(ground)에 전기적으로 결합된 제 1 액세스 장치(106)를 포함한다. 메모리 셀(100)은 또한 제 2 메모리 엘리먼트(104), 제 2 액세스 라인(114) 및 공통 그라운드에 전기적으로 결합된 제 2 액세스 장치(108)을 포함한다. 제 1 액세스 장치(106) 및 제 2 액세스 장치(108)은 전계효과트랜지스터들(FET), 혹은 바이폴라접합트랜지스터들(BJT)로 구성될 수 있으나, 이에 한정되는 것은 아니다. 본 발명의 일 구성에서, 액세스 장치들(106, 108)은 소스, 드레인 및 공통 터미널들을 포함한다. 상기 액세스 장치들(106, 108)의 소스 터미널들은 함께 전기적으로 공통 그라운드에 결합된다. 그리고 제 1 액세스 장치(106)의 드레인 터미널은 제 1 메모리 엘리먼트(102)와 전기적으로 결합되며, 제 2 액세스 장치(108)의 드레인 터미널은 제 2 메모리 엘리먼트(104)와 전기적으로 결합된다. 그리고 제 1 액세스 장치(106)의 게이트 터미널은 제 1 액세스 라인(112)와 전기적으로 결합되는데, 상기 제 1 액세스 라인은 데이터 저장(storage) 동작 동안 워드 라인으로 기능하며, 검색 동작 동안에는 컴플리멘터리(complementary) 검색 라인으로 기능한다. 제 2 액세스 장치(108)의 게이트 터미널은 제 2 액세스 라인(114)와 전기적으로 결합되는데, 이는 데이터 저장 동작 동안에는 컴플리멘터리(complementary) 워드 라인으로서 그리고 검색 동작 동안에는 검색 라인으로서 기능한다.
도시된 바와 같이 메모리 셀(100)은 제 1 메모리 엘리먼트(102) 및 제 2 메모리 엘리먼트(104)의 프로그래밍에 기초하여 4가지 가능한 상태들을 가질 수 있다. 이러한 조합들로 RR, Rr, rR, 그리고 rr 이 있는데, 여기서 R은 높은 저항을 그리고 r은 낮은 저항을 의미한다. 이 조합들은 이하에 도시된 테이블 1의 상태를 생성하는데 사용될 수 있는데 여기서 테이블의 셀 상태 X는 소위 “돈 캐어(Don’t Care)” 상태를 의미한다.
셀 상태 | 제 1 엘리먼트 저항 상태 | 제 2 엘리먼트 저항 상태 |
X | 하이(High) | 하이(High) |
O | 하이(High) | 로우(Low) |
1 | 로우(Low) | 하이(High) |
메모리 셀(100)의 상태를 읽기 위한(또는 매칭(matching)하기 위한) 동작에서, 먼저 매치 라인(110)이 프리챠지된다(pre-charged). 그 다음, 어떤 특정 값(x, 0, 또는 1)이 제 1 액세스 라인(112) 및 제 2 액세스 라인(114)에 인가된다. 대부분의 경우에서, 제 1 액세스 라인(112)는 제 2 액세스 라인(114)의 보수(complement)를 형성한다. 즉, 제 2 액세스 라인(114)에 “a”가 인가되면, 제 1 액세스 라인(112)에는 “a*” (a의 보수)가 인가된다. 여기에서 이를 컴플리멘터리 어드레싱(complementary addressing)이라 한다.
셀(100)에 저장된 값을 논리 “0”으로 하기 위해서는, 제 1 액세스 라인(112)는 하이(high) 그리고 제 2 선택(select) 라인(114)는 로우(low)로 드라이브된다. 그리고 셀(100)에 저장된 값을 논리 “1”로 하기 위해서는, 제 1 선택 라인(112)는 로우 그리고 제 2 선택 라인(114)는 하이로 드라이브된다. 저장된 값이 “돈 캐어(don’t care)”인 경우에는, 상기 선택 라인들에 놓이게 되는 값들은 어떤 값이든(1이든지 0이든지) 상관없다. 왜냐하면 두 저항기들(resistors) 모두가 하이 값을 갖고 상기 매치 라인의 저항의 저항값을 하이로 유지할 것이기 때문이다.
셀(100)에 저장된 값이 매치되지 않으면, 매치 라인(110)의 저항 레벨이 감소한다. 예를 들어, 셀(100)이 “1”의 값을 저장하고 있다면, 제 1 메모리 엘리먼트(102)는 낮은 저항 상태에 있고 제 2 메모리 엘리먼트(104)는 높은 저항 상태에 있다. 상기 액세스 라인들에 대해 논리 0을 인가하면(즉, 제 1 액세스 라인(112)는 하이, 제 2 액세스 라인(114)는 로우) 제 1 액세스 장치(106)은 오픈되는데(open), 제 1 저항기(102)가 낮은 저항 상태에 있기 때문에, 상기 매치 라인의 저항 레벨이 감소한다. 이와 같이 더 낮은 저항 상태는 매치(a match)가 발견되지 않았음을 의미한다.
물론, 대부분의 경우에, 많은 셀들이 특정 매치 라인(110)에 접속된다. 상기 셀들 중 하나라도 액세스 라인들(112 및 114) 상에 제공된 비트 값과 매치되지 않으면, 매치 라인(110)의 저항 레벨은 감소한다. 따라서, 매치 라인(110)의 저항 레벨을 모니터링함으로써 모든 셀(any cell)이 매치되었는지 아닌지를 결정할 수 있다.
상기에 기술한 것처럼, 저항-변화 메모리 엘리먼트들을 이용하는 CAM들은 극단적인 밀도 향상을 가능하게 할 수 있다. 그러나, 이 메모리 엘리먼트들은 일반적으로 저하된(degraded) 온/오프 저항 비(resistance ratio)를 겪게 되는데 특히 (저항분포에 명백한) 변화(variability)가 발생하는 경우가 그러하다. CAM 애플리케이션들의 잡음여유(noise margins)는 종래 메모리 애플리케이션들에 비해 훨씬 떨어지기 때문에, 저항-변화 메모리를 사용하여 로버스트(robust) CAM을 설계하는 것에 어려움이 있다.
간단히 말해서, 매치 라인(110)에서 “매치” 와 “노 매치(no match)” 조건(condition) 사이에 낮은 감지여유(a low sensing margin)를 가질 수 있다는 사실이 밝혀졌다. 여기서 매치 라인의 “조건(condition)”은 또한 매치 라인의 “저항(resistance)”으로도 부를 수 있다. 본 발명의 실시 예들은 CAM의 모든 2 비트들을 조합하여 그것들을 단일 유닛으로 어드레싱함으로써 저항여유(resistance margin)를 거의 두 배에 가깝게 할 수 있다(또는 적어도 증가시킬 수 있다).
도 2는 개별적으로 어드레스될 수 있는 두 개의 CAM 셀들의 일 예시를 도시한다. 제 1 셀(200) 및 제 2 셀(202)은 모두 매치 라인(204)와 접속된다. 그리고 일 실시예에서 각각의 셀은 메모리 엘리먼트들의 저항 특성을 강조하기 위해 저항기들(resistors)로 도시된 두 개의 메모리 엘리먼트들을 포함한다.
제 1 셀(200)의 액세스/선택 라인들에 대한 입력들로는 a 및 a* 신호들을 수신하는 것으로 도시되며 제 2 셀(202)의 액세스/선택 라인들에 대한 입력들로는 b 및 b* 신호들을 수신하는 것으로 도시된다. 이때 * 는 그 신호가 본래 신호의 보수(complement)임을 나타낸다. 상기 입력들과 두 셀들(200, 202) 모두에 저장된 비트 사이에 매치가 이루어지면, 매치 라인(204)로부터 그라운드까지 높은 저항의 저항기(a high resistance resistor)를 통해 하나의 경로(pathway)가 각각의 셀에 생성된다.
상기 설명에서 기술한 바와 같이, 수신되는 입력들이 매치할 때마다, 셀(cell)은 높은 저항 상태의 저항 엘리먼트를 통해 그라운드까지 하나의 경로(path)를 제공하는 것이 명백하다. 더 많은 셀들이 매치 라인(204)에 결합될 수록, 매치 라인의 저항 값은 매치 조건(a match condition) 때문에 감소하는데, 그 까닭은 저항기들이 매치 조건 때문에 병렬로 연결되어 있기 때문이다. 예를 들어, 도 2에서 두 개의 임의 경로들이 x 및 y로 도시된다. 간단히 말해서, 두 개의 하향(pull down) 경로들 중 하나는 모든 매칭 셀을 위해 매치 라인(204)에 결합된 각각의 1비트 셀에 대해 활성화된다. 저항 상태의 이러한 감소는 매치 및 노 매치 조건들을 더욱 가깝게 만들어서, 매치 및 노 매치 조건들을 차별화하는 것을 더 어렵게 한다.
도 3은 본 발명의 일 실시 예를 도시하는데, 제 1 메모리 셀(302) 및 제 2 메모리 셀(304)을 포함하며 이들 모두가 매치 라인(306)에 결합되어 있다. 일 실시 예에서, 메모리 셀들(302 및 304)의 저항 엘리먼트들은 상 변화 재료들(phase change materials)로 형성되며, 상기 두 메모리 셀들(302, 304)는 통칭하여 2비트 셀(305)로 부를 수 있다. 이 실시 예에서, 각각의 셀에 대한 선택 라인들은 상기 셀들을 개별적으로 선택하는데 사용될 수 있는 입력들의 조합을 포함할 수다. 예를 들어, 입력들은, a*b*, a*b, ab*, 및 ab 가 될 수 있다. 지금까지 사용한 것처럼, 두 변수들이 xy로 표현되는 경우, 그 표현은 두 값들에 대해 수행되는 동작이 “앤드(and)”임을 나타낸다. 예를 들어, a=1 이고 b=0 이면, ab=0 이고, 또한 a=1 이고 b=1 이면, ab=1 이 된다. 물론, 본 발명에 부합하는 다른 입력 기법들(input schemes) 또한 이용될 수 있다.
두 셀들 각각의 내부에 0 또는 1이 저장될 수 있다고 고려하면, 두 셀들에 총괄적으로 저장되는 값들의 가능한 조합은 다음과 같이 4가지: 즉, 00, 01, 10 및 11이 존재한다. 테이블 2는 두 셀들의 조합에 대한 가능한 바람직한 매치 값들(삼진 CAMS에서 사용되는 X 를 포함함, X 는 돈 캐어(don’t care)임)을 도시하며 그 결과 값들은 도 3에 도시된 실시 예의 선택 라인들에 인가될 수 있다. 상기 매치 값들은, 제 1 셀(302) 및 제 2 셀(304)에 대하여 각각 비교될 비트들의 순차 쌍(ordered pair)이다.
매치 값들 | a | a* | b | b* | a*b* | a*b | ab* | ab |
XX | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
00 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 |
01 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
10 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
11 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
테이블 2는 실질적으로 2 입력 대 4 출력 디코더(decoder)이다. 실제 디코딩은 예를 들어, 하드웨어, 소프트웨어, 혹은 그 둘의 조합으로 이루어질 수 있다. 물론, 본 발명을 벗어나지 않고도 본 발명에 이용될 수 있는 여러 정밀한 디코딩 설계가 있을 수 있다. 입력 검색 벡터에 X 값들이 포함되지 않는 경우에는, 테이블 2에 도시된 컨버젼(conversion)이 완벽하게 동작한다. 반면, 입력 검색 벡터가 X 값들을 포함한다면(예를 들어, TCAM의 경우), 또는 어떤 특정 입력 쌍들이 하나의 X 와 하나의 값을 포함한다면, 하나의 예외(an exception)가 발생될 수 있다.
도 4a 및 4b는, 각각, 도 2 및 3에 도시된 셀들에 대한 가능한 매치 라인 저항 커브들(resistance curves)의 예시를 도시한다. 각각의 매치 라인은 저항 엘리먼트들 및 스위칭 장치들을 통해서 결합되기 때문에, 오픈 스위치에 R이 접속되는 매치 케이스 및 노-매치 케이스 모두에서, 매치 라인 상의 전압은 매치 라인 및 그라운드 사이의 저항에 비례하여 시간이 지남에 따라(at a time) 감소한다. 이 커브들은 더 멀리 떨어질수록, 상기 매치 라인이 매치 조건을 나타내는지 혹은 노-매치 조건을 나타내는지를 결정하는 것이 더 쉬워진다. 일 실시 예에서, 정확한 결정(판정)을 위해 약 4 대 1 저항변화(resistance variation)가 필요하다는 사실이 밝혀졌다. 여기서 상기 변화(variation)는 가장 느린 노-매치 지연(no-match delay)과 가장 빠른 매치 지연(match delay) 사이가 되어야 함이 이해되어야 한다.
도 2의 1-비트 셀들 32개가 매치 라인에 결합되어 있다고 가정한다. 이 예에서, R=2M 옴(Ω) 이고 r=20k 옴(Ω)이라고 가정하자. 노-매치 조건의 가장 느린 지연은 활성화된(닫힌) 스위치들에 직렬로 연결된 저항 “r”의 PCM 장치가 존재하는 때에 발생하며, 여기서 상기 지연(delay)은 도 4a의 커브(350)으로 도시되어 있다. RC 지연은 Reff = R/31 || r 에 비례하는데 여기서 ||은 저항기가 병렬임을 나타내고, 이 예에서, Reff 는 대략 15k 옴(Ω)에 상당한다. 가장 빠른 지연 조건(condition)은 모든 32 셀들이 활성화된(닫힌) 스위치들에 결합된 R을 갖는 때에 발생하며, 그러한 상태의 커브(352)는 대략 63k 옴(Ω)에 상당하는 R/32의 유효한 저항을 갖는다. 두 커브들(350, 352)간의 시간차는 대략 4 대 1 이며, 매치 및 노-매치 조건을 결정하기 위해 바람직한 4 대 1 저항변화와 조화를 이룬다.
전술한 것처럼, 도 3에 도시된 2-비트 셀을 이용하면 두 개의 1-비트 셀들에 대해 오직 하나의 방전 경로(discharge path)만이 제공된다. 이는 도 2의 구성에서 허용된 방전 경로들의 절반에 해당한다. 따라서, 32 비트 입력에 대해, 단지 16 저항 엘리먼트들만이 어떤 특정 타임에(at any given time) 방전될 수 있다. 노-매치의 가장 느린 방전은, 도 4b에 커브(354)로 도시된 바와 같이 16 저항 엘리먼트들 중의 하나가 활성화된 스위치에 결합되는 때에 발생한다. 따라서, (상기 값들을 이용하면) 커브(354)에 대해서 Reff = 15/R || r 이며, 이때 Reff 는 대략 17k 옴(Ω)이다. 가장 빠른 매치 방전의 유효 저항(커브(356)으로 도시됨)은 Reff = R/16으로 결정될 수 있으며, 여기서 Reff 은 대략 125k 옴(Ω)에 상당한다. 두 커브들(354, 356)간의 시간차는 대략 7 대 1 이며, 이는 매치 및 노-매치 조건을 결정하기 위해 바람직한 4 대 1 저항변화를 훨씬 초과한다. 이는 다음과 같은 두 가지 결과를 가져온다. 첫째로, 매치 혹은 노-매치 조건을 결정하는데 있어서 도 3의 2-비트 셀들을 이용하는 것이 더 높은 확실성(certainty)을 달성할 수 있다. 둘째로, 도 3의 2-비트 셀들을 이용하는 것이 결정 가능성을 잃지 않으면서도 더 많은 셀들이 특정(particular) 매치 라인에 결합되게 할 수 있다.
지금까지 설명은 2-비트 셀에 대해서 다루었다. 그러나 여기서 설명들은 비트 셀들의 수에 제한 없이 적용될 수 있음을 이해할 수 있을 것이다. 예를 들어, 각각의 셀은 세 개의 1-비트 셀들을 포함할 수 있으며 3-8 디코더가 사용될 수 있다. 그러한 실시 예에서, 매치 대 노-매치의 저항 비(resistance ratio)는 그룹화된 비트들의 수가 증가하는 만큼 증가할 수 있다. 일반적으로, 그룹화될 수 있는 비트들의 수에는 제한이 없기 때문에, 디코더는 n 에서 2n 디코더가 사용될 수 있다. 여기서 n은 그룹화된 비트들의 수를 나타낸다.
도 5는 하드웨어에서 2-4 디코딩을 수행하는데 사용될 수 있는 회로(400)의 일 예를 도시한다. 물론, 상기 회로(400)은 이보다 간략하게 또는 이와 다르게 구현될 수 있다. 입력 신호들 a 및 b는, 각각, NOT 게이트들(410, 412)에 의해 생성된 그들의 보수(complements)인 a* 및 b* 를 갖는다. AND 게이트(402)는 a 및 b를 AND하여 ab 를 생성하고, AND 게이트(404)는 a 및 b* 를 AND하여 ab* 를 생성하며, AND 게이트(406)은 a* 및 b 를 AND하여 a*b 를 생성하고, AND 게이트(408)은 a* 및 b* 를 AND하여 a*b* 를 생성한다. 물론, 입력으로 X가 허용되는 경우, 그러한 입력에 대해서도 준비(provisions)가 될 수 있다. 예를 들어, 각각의 X는 디코더가 두 개의 상이한 주소들을 생성하도록 할 수 있는데, 하나는 X가 1 인 경우 그리고 다른 하나는 X가 0 인 경우이다.
도 6은 본 발명의 일 실시 예에 따라 특정 입력 벡터에 대해 CAM을 검색하는 하나의 방법을 보인 플로우 챠트이다. 블록(502)에서 하나의 검색 벡터가 수신된다. 일 실시 예에서, 이 검색 벡터는 짝수 비트들을 가질 수 있다. 물론, 짝수(an even number)는 구현될 어드레싱 기법에 기초하여 요구되는 것이 아니라 도 5의 설명의 나머지 부분 위해서 가정하는 것이며, 1-비트 셀들이 2-비트 셀들 그룹들로 그룹화되는 것을 가정하는 것이다.
블록(504)에서, 상기 입력 벡터는 2 비트 그룹들로 나누어진다. 예를 들어, 블록(502)에서 110100인 2비트 입력 벡터가 수신되었다고 가정하자. 이 입력 벡터는 (가장 낮은 자리에서 가장 높은 자리 순서로) 다음과 같은 그룹핑들: 즉, 00, 01, 및 11로 나누어질 것이다. 물론, 상기 그룹핑들은 특정 그룹핑의 셀들 수에 기초하여 이와는 다른 방법으로 나누어질 수 있다. 예를 들어, 3 개의 셀들이 그룹화되어 하나의 3비트 셀을 형성한다면, 그룹핑은 100 및 110 이 될 것이다.
어떤 경우이든지, 블록(506)에서는 상기 그룹핑들이 전술한 방식대로 디코드된다. 그리고 블록(508)에서는 매치 라인이 프리챠지된다(pre-charged). 블록(510)에서는 상기 디코드된 입력들이 전술한 것처럼 멀티-비트 셀들의 선택 라인들에 인가된다. 그리고 블록(512)에서는 매치가 이루어졌는지를 결정하기 위해 매치 라인의 저항 상태가 측정된다.
도 7은 본 발명이 구현될 수 있는 시스템(600)의 블록도를 도시한다. 상기 시스템은 디코더(602)를 포함한다. 상기 디코더(602)는 입력 벡터를 수신하여 그것을 메모리(606)내의 각각의 메모리 셀들을 위해 코드화된 입력들로 변환한다. 상기 디코더는 일 실시 예에서 n개 입력 비트들을 2n 입력 비트들로 변환한다는 사실을 이해해야 한다. 그러한 실시 예들에서, 각각의 비트들 그룹핑은 그 자신의 디코더를 포함할 수 있다. 따라서, 시스템(600)이 포함할 수 있는 디코더들의 수에는 제한이 없는데 도 7은 두 개의 디코더들(602, 604)를 도시한다. 상기 디코더들은 하드웨어, 소프트웨어, 혹은 이들 모두를 조합한 것들로 구현될 수 있다.
또한 시스템(600)은 메모리(606)을 포함할 수 있다. 일 실시 예에서, 메모리(606)은 CAM 이 될 수 있으며, 또 다른 실시 예에서는, 메모리(606)이 삼진 CAM이 될 수도 있다. 어떤 실시 예이던지, 상기 메모리는 도 1에 도시된 것들과 같은 셀들이 복수로 구성될 수 있으며 그들과 함께 결합하는 하나 혹은 그 이상의 매치 라인들을 가질 수 있다.
또한 시스템(600)은 상기 입력 벡터가 메모리(606)에 저장된 주소와 매치하는지를 결정하는 하나의 매치 체커(a match checker)(608)을 포함할 수 있다. 이는, 예를 들어, 메모리(606)에 포함된 하나 혹은 그 이상의 매치 라인들의 저항 레벨(a resistance level)을 측정함으로써 결정될 수 있다. 전술한 바와 같이, 지금까지의 설명들을 참고하면 매치/노-매치 저항 비(resistance ratio)를 증가시킬 수 있으며 매치가 존재하는지 여부를 결정하는 매치 체커(608)에 의한 결정의 정확도(accuracy)를 증가시킬 수 있다.
여기서 사용된 용어는 오로지 특정 실시 예들을 기술하기 위한 목적일 뿐이며, 본 발명을 한정하려는 의도는 아니다. 여기서 사용된 바와 같이, 상기 단수 용어 "하나", "한" 및 "상기"는 구문에서 명확하게 지시하지 않는 한 복수형 형태들도 포함하려는 의도이다. 또한 "포함하는" 및/또는 "포함" 용어들이, 본 상세한 설명에서 사용된 경우, 명시된 특징들, 정수들, 단계들, 동작들, 엘리먼트들, 및/또는 컴포넌트들의 존재를 나타내는 것이고 하나 또는 그 이상의 다른 특징들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들 및/또는 이들의 그룹들의 존재나 부가를 제한하려는 것은 아니라는 점도 이해되어야 한다.
이하의 청구항 내의 기능식 요소들을 포함하는 모든 수단들 및 단계들에 대응하는 구조들, 재료들, 동작들 및 균등물들은 특별히 청구된 다른 청구항의 요소와 결합하여 기능을 수행하는 모든 구조, 재료 또는 동작을 포함하는 것을 의도하였다. 본 발명의 상세한 설명은 개시 및 설명의 목적으로 표시되었으며, 개시된 형태로 본 발명을 총망라하거나 제한하려는 의도는 아니다. 많은 변경들이나 변형들이 본 발명의 권리범위나 사상을 벗어남이 없이 본 기술분야에서 통상의 기술을 가진 자에 의해 나타날 수 있다. 상기 실시 예들은 본 발명의 주제 및 실질적 응용을 가장 잘 설명하고, 그리고 본 기술분야에서 통상의 기술을 가진 자들이 특정 사용법에 적합한 다양한 변경들에 대해 본 발명을 이해할 수 있도록 선택되고 기술되었다.
여기에 도시된 플로우 도면들은 단지 하나의 예시에 불과하다. 따라서 여기에 도시된 이러한 도면 혹은 단계들(혹은 동작들)에 대한 많은 변경들이 본 발명의 사상을 벗어남이 없이도 이루어질 수 있다. 예를 들어, 단계들은 상이한 순서로 수행되거나 또는 추가되거나 삭제되거나 혹은 변경될 수 있다. 이러한 모든 변경들은 청구된 발명의 일부로써 고려된다.
비록 본 발명에 대해 바람직한 실시 예가 기술되었지만, 당해 기술분야의 숙련자들은 이하의 청구범위 내에 포함되는, 현재 그리고 가까운 미래에 이루어질, 다양한 개선 및 향상들을 이해할 수 있을 것이다. 따라서 이 청구항들은 처음 기술한 본 발명에 대해서 적절한 보호를 달성하기 위한 것으로 이해되어야 한다.
Claims (20)
- 하나 혹은 그 이상의 주소들을 저장하기 위한 메모리 장치에 있어서, 상기 메모리 장치는:
매치 라인(a match line);
제 1 메모리 셀 - 상기 제 1 메모리 셀은 제 2 메모리 엘리먼트 및 상기 매치 라인에 결합된 제 1 메모리 엘리먼트를 포함하며, 상기 제 1 메모리 셀은 또한 상기 제 1 메모리 엘리먼트에 결합되고 제 1 액세스 라인을 갖는 제 1 액세스 장치 그리고 상기 제 2 메모리 엘리먼트에 결합되고 제 2 액세스 라인을 갖는 제 2 액세스 장치를 포함하되, 상기 제 1 메모리 셀은 제 1 값을 저장하도록 구성됨 -; 및
제 2 메모리 셀 - 상기 제 2 메모리 셀은 제 4 메모리 엘리먼트 및 상기 매치 라인에 결합된 제 3 메모리 엘리먼트를 포함하며, 상기 제 2 메모리 셀은 또한 상기 제 3 메모리 엘리먼트에 결합되고 제 3 액세스 라인을 갖는 제 3 액세스 장치 그리고 상기 제 4 메모리 엘리먼트에 결합되고 제 4 액세스 라인을 갖는 제 4 액세스 장치를 포함하되, 상기 제 2 메모리 셀은 제 2 값을 저장하도록 구성됨 -; 을 포함하되,
상기 액세스 라인들 중 적어도 하나는 상기 제 1 및 제 2 값들의 조합으로 이루어진 신호를 수신하는,
메모리 장치.
- 제 1항에 있어서,
상기 메모리 장치는 컨텐트 어드레스가능 메모리(CAM)이고, 그리고 상기 제 1 값은 논리 1 또는 논리 0 이 될 수 있으며 상기 제 2 값은 논리 1 또는 논리 0 이 될 수 있는
메모리 장치.
- 제 1항에 있어서,
상기 메모리 장치는 삼진(ternary) 컨텐트 어드레스가능 메모리이고, 그리고 상기 제 1 값은 논리 1, 논리 0 또는 돈 캐어(don’t care)가 될 수 있으며 상기 제 2 값은 논리 1, 논리 0 또는 돈 캐어(don’t care)가 될 수 있는
메모리 장치.
- 제 1항에 있어서,
상기 제 1, 제 2, 제 3 및 제 4 메모리 엘리먼트들은 저항 메모리 엘리먼트들(resistive memory elements)인
메모리 장치.
- 제 4항에 있어서,
상기 제 1, 제 2, 제 3 및 제 4 메모리 엘리먼트들은 상 변화 재료(a phase change material)로 형성되는
메모리 장치.
- 제 1항에 있어서,
상기 액세스 라인들 모두는 상기 제 1 및 제 2 값들의 조합과 결합되는
메모리 장치.
- 제 6항에 있어서,
상기 제 1 액세스 라인은 상기 제 1 값의 보수(complement) 및 상기 제 2 값의 보수의 조합에 결합되고;
상기 제 2 액세스 라인은 상기 제 1 값의 보수 및 상기 제 2 값의 조합에 결합되고;
상기 제 3 액세스 라인은 상기 제 1 값 및 상기 제 2 값의 보수의 조합에 결합되고; 그리고
상기 제 4 액세스 라인은 상기 제 1 값 및 상기 제 2 값에 결합되는
메모리 장치.
- 제 1항에 있어서,
상기 제 1, 제 2, 제 3 및 제 4 액세스 장치들은 모두 게이트 터미널을 포함하는 트랜지스터들인
메모리 장치.
- 제 8항에 있어서,
상기 액세스 라인들은 각각이 게이트 터미널에 결합되는
메모리 장치.
- 제 1항에 있어서, 상기 메모리 장치는,
상기 매치 라인에 결합된 제 3 메모리 셀을 더 포함하는
메모리 장치.
- 컨텐트 어드레스가능 메모리(a content addressable memory; CAM)를 작동하는 방법에 있어서, 상기 방법은:
디코더(a decoder)에서 입력 벡터를 수신하는 단계;
상기 입력 벡터를 디코딩하는 단계 - 상기 디코딩하는 단계는 상기 입력 벡터를 복수의 2 비트 그룹핑들(groupings)로 나누는 단계 및 상기 그룹핑들 각각에 대한 논리 동작들을 수행하여 복수의 어드레싱 값들(addressing values)을 생성하는 단계를 포함함 -;
상기 어드레싱 값들을 상기 컨텐트 어드레스가능 메모리내의 메모리 셀들에 결합된 액세스 라인들로 전송하는 단계; 및
상기 컨텐트 어드레스가능 메모리 내의 상기 메모리 셀들에 결합된 매치 라인의 저항 값(resistive value)을 측정하는 단계를 포함하는
방법.
- 제 11항에 있어서, 상기 방법은,
상기 매치 라인을 프리챠지하는 단계(precharging)를 더 포함하는
방법.
- 제 11항에 있어서,
상기 디코딩하는 단계는:
복수의 2 비트 그룹핑들 중 제 1 그룹의 제 1 비트의 보수와 상기 복수의 2 비트 그룹핑들 중 상기 제 1 그룹의 제 2 비트의 보수를 앤드하여(ANDing) 제 1 액세스 신호를 형성하는 단계;
상기 제 1 비트의 보수와 상기 제 2 비트를 앤드하여 제 2 액세스 신호를 형성하는 단계;
상기 제 1 비트와 상기 제 2 비트의 보수를 앤드하여 제 3 액세스 신호를 형성하는 단계; 및
상기 제 1 비트 및 상기 제 2 비트를 앤드하여 제 4 액세스 신호를 형성하는 단계를 포함하는
방법.
- 제 13항에 있어서,
상기 액세스 신호를 형성하는 단계는
하드웨어 디코더(decoder)에 의해 수행되는
방법.
- 제 13항에 있어서,
상기 전송하는 단계는:
상기 제 1, 제 2, 제 3 및 제 4 액세스 신호들을 상기 액세스 라인들의 서로 다른 액세스 라인들에 대해 인가하는 단계를 포함하는
방법.
- 메모리 시스템에 있어서, 상기 시스템은:
매치 라인에 결합된 복수의 메모리 셀들을 포함하는 컨텐트 어드레스가능 메모리(a content addressable memory);
상기 매치 라인의 저항 레벨(a resistive level)을 모니터링 함으로써 상기 컨텐트 어드레스가능 메모리에 인가된 특정 입력값(a particular input)이 상기 컨텐트 어드레스가능 메모리에 포함되어 있는지를 결정하는, 상기 컨텐트 어드레스가능 메모리에 결합된 매치 체킹 장치(a match checking device); 및
입력 주소를 수신하여 상기 주소로부터 적어도 두 개의 비트들을 네 개의 특정 출력들(unique outputs)로 디코드하는, 상기 컨텐트 어드레스가능 메모리에 결합된 디코더(a decoder)를 포함하는
시스템.
- 제 16항에 있어서,
제 1 특정 출력은 제 1 액세스 라인에 결합되고 제 2 특정 출력은 제 2 액세스 라인에 결합되되, 상기 제 1 및 제 2 액세스 라인들은 모두 상기 컨텐트 어스레스가능 메모리 내의 제 1 메모리 셀과 접속되는
시스템.
- 제 17항에 있어서,
제 3 특정 출력은 제 3 액세스 라인에 결합되고 제 4 특정 출력은 제 4 액세스 라인에 결합되되, 상기 제 3 및 제 4 액세스 라인들은 모두 상기 컨텐트 어드레스가능 메모리 내의 제 2 메모리 셀과 접속되는
시스템.
- 제 16항에 있어서,
상기 복수의 메모리 셀들은 상 변화 재료들(phase change materials)로 형성되는
시스템.
- 제 17항에 있어서,
상기 컨텐트 어드레스가능 메모리는 삼진(ternary) 컨텐트 어드레스가능 메모리인
시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/549,752 US8054662B2 (en) | 2009-08-28 | 2009-08-28 | Content addressable memory array |
US12/549,752 | 2009-08-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110023747A true KR20110023747A (ko) | 2011-03-08 |
KR101547708B1 KR101547708B1 (ko) | 2015-08-26 |
Family
ID=43624683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100077264A KR101547708B1 (ko) | 2009-08-28 | 2010-08-11 | 컨텐트 어드레스가능 메모리(cam) 어레이 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8054662B2 (ko) |
JP (1) | JP5404559B2 (ko) |
KR (1) | KR101547708B1 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8908407B1 (en) * | 2011-07-30 | 2014-12-09 | Rambus Inc. | Content addressable memory (“CAM”) |
US9087572B2 (en) * | 2012-11-29 | 2015-07-21 | Rambus Inc. | Content addressable memory |
US9264808B2 (en) | 2013-06-14 | 2016-02-16 | Cirrus Logic, Inc. | Systems and methods for detection and cancellation of narrow-band noise |
JP6308216B2 (ja) * | 2013-06-26 | 2018-04-11 | 日本電気株式会社 | 連想メモリセル及び連想メモリ |
WO2016064404A1 (en) * | 2014-10-23 | 2016-04-28 | Hewlett-Packard Development Company, L.P. | Generating a representative logic indicator of grouped memristors |
US9431106B1 (en) * | 2015-06-09 | 2016-08-30 | Freescale Semiconductor, Inc. | Ternary content addressable memory (TCAM) with magnetic tunnel junction (MTJ) devices |
US10666438B2 (en) * | 2018-07-13 | 2020-05-26 | Taiwan Semiconductor Manufacturing Co., Ltd. | Balanced coupling structure for physically unclonable function (PUF) application |
CN111128278B (zh) * | 2018-10-30 | 2021-08-27 | 华为技术有限公司 | 内容寻址存储器、数据处理方法及网络设备 |
KR102221763B1 (ko) * | 2018-11-19 | 2021-02-26 | 포항공과대학교 산학협력단 | 이진 신경망에서의 저항성 메모리 기반 배치 정규화 장치 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6045507B2 (ja) * | 1980-01-09 | 1985-10-09 | 日本電信電話株式会社 | 連想メモリ |
US5394353A (en) * | 1993-09-20 | 1995-02-28 | Motorola, Inc. | Flipflop and control circuit in a content addressable memory |
US6166938A (en) * | 1999-05-21 | 2000-12-26 | Sandisk Corporation | Data encoding for content addressable memories |
JP2002237190A (ja) * | 2001-02-07 | 2002-08-23 | Kawasaki Microelectronics Kk | 連想メモリ装置およびその構成方法 |
EP1489622B1 (en) * | 2003-06-16 | 2007-08-15 | STMicroelectronics S.r.l. | Writing circuit for a phase change memory device |
US7499303B2 (en) * | 2004-09-24 | 2009-03-03 | Integrated Device Technology, Inc. | Binary and ternary non-volatile CAM |
US7130206B2 (en) * | 2004-09-30 | 2006-10-31 | Infineon Technologies Ag | Content addressable memory cell including resistive memory elements |
KR100564637B1 (ko) * | 2004-10-26 | 2006-03-29 | 삼성전자주식회사 | 반도체 메모리 장치와 그 프로그래밍 방법 |
US7365355B2 (en) * | 2004-11-08 | 2008-04-29 | Ovonyx, Inc. | Programmable matrix array with phase-change material |
US7319608B2 (en) * | 2005-06-30 | 2008-01-15 | International Business Machines Corporation | Non-volatile content addressable memory using phase-change-material memory elements |
US7675765B2 (en) * | 2005-11-03 | 2010-03-09 | Agate Logic, Inc. | Phase-change memory (PCM) based universal content-addressable memory (CAM) configured as binary/ternary CAM |
US20070247196A1 (en) | 2006-04-07 | 2007-10-25 | Thomas Niedermeier | Circuit and method for configuring a circuit |
US7397689B2 (en) * | 2006-08-09 | 2008-07-08 | Micron Technology, Inc. | Resistive memory device |
US7420841B2 (en) * | 2006-08-30 | 2008-09-02 | Qimonda Ag | Memory device and method for transforming between non-power-of-2 levels of multilevel memory cells and 2-level data bits |
JP2008218492A (ja) * | 2007-02-28 | 2008-09-18 | Elpida Memory Inc | 相変化メモリ装置 |
US7859893B2 (en) * | 2007-05-31 | 2010-12-28 | Micron Technology, Inc. | Phase change memory structure with multiple resistance states and methods of programming and sensing same |
KR100905170B1 (ko) * | 2007-08-10 | 2009-06-29 | 주식회사 하이닉스반도체 | 상 변화 메모리 장치의 구동 방법 |
US8120937B2 (en) * | 2009-03-06 | 2012-02-21 | International Business Machines Corporation | Ternary content addressable memory using phase change devices |
US8059438B2 (en) * | 2009-08-28 | 2011-11-15 | International Business Machines Corporation | Content addressable memory array programmed to perform logic operations |
-
2009
- 2009-08-28 US US12/549,752 patent/US8054662B2/en not_active Expired - Fee Related
-
2010
- 2010-08-11 KR KR1020100077264A patent/KR101547708B1/ko not_active IP Right Cessation
- 2010-08-11 JP JP2010180536A patent/JP5404559B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR101547708B1 (ko) | 2015-08-26 |
JP2011048894A (ja) | 2011-03-10 |
US8054662B2 (en) | 2011-11-08 |
US20110051483A1 (en) | 2011-03-03 |
JP5404559B2 (ja) | 2014-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101547708B1 (ko) | 컨텐트 어드레스가능 메모리(cam) 어레이 | |
US8059438B2 (en) | Content addressable memory array programmed to perform logic operations | |
US10910052B2 (en) | Material implication operations in memory | |
US7433253B2 (en) | Integrated circuit, method of operating an integrated circuit, method of manufacturing an integrated circuit, memory module, stackable memory module | |
KR102324591B1 (ko) | 프리차지를 갖는 메모리 감지 증폭기 | |
US10950312B2 (en) | Methods of operating a memory device comparing input data to data stored in memory cells coupled to a data line | |
US20110051485A1 (en) | Content addressable memory array writing | |
US20110134676A1 (en) | Resistive memory devices having a not-and (nand) structure | |
US7948782B2 (en) | Content addressable memory reference clock | |
JP2014506710A (ja) | 抵抗メモリ検出方法および装置 | |
EP4085463A1 (en) | Three-state programming of memory cells | |
TW201835907A (zh) | 非揮發性半導體記憶裝置 | |
US20220115051A1 (en) | Memory device and reference circuit thereof | |
US20240062815A1 (en) | Memory sense amplifier with precharge | |
US8169807B2 (en) | Content addressable memory device having match line equalizer circuit | |
CN109391259B (zh) | 可编程阵列逻辑电路及其操作方法 | |
JP6261041B2 (ja) | 不揮発性連想メモリセル及び不揮発性連想メモリ | |
Wang et al. | A novel content addressable memory based on hybrid memristor-CMOS architecture | |
US20230245699A1 (en) | Sense amplifier architecture for a non-volatile memory storing coded information | |
KR102490781B1 (ko) | 내용 주소화 기억 장치 및 이를 이용한 일치도 감지 방법 | |
JP5712681B2 (ja) | 半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |