KR101714559B1 - 연산을 수행하기 위해 기억 셀을 이용하는 장치 및 방법 - Google Patents

연산을 수행하기 위해 기억 셀을 이용하는 장치 및 방법 Download PDF

Info

Publication number
KR101714559B1
KR101714559B1 KR1020167032306A KR20167032306A KR101714559B1 KR 101714559 B1 KR101714559 B1 KR 101714559B1 KR 1020167032306 A KR1020167032306 A KR 1020167032306A KR 20167032306 A KR20167032306 A KR 20167032306A KR 101714559 B1 KR101714559 B1 KR 101714559B1
Authority
KR
South Korea
Prior art keywords
row
data
cell
memory
column
Prior art date
Application number
KR1020167032306A
Other languages
English (en)
Other versions
KR20160136463A (ko
Inventor
아비단 아케립
오렌 아감
일라이 어만
모셰 메야세드
Original Assignee
쥐에스아이 테크놀로지 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쥐에스아이 테크놀로지 인코포레이티드 filed Critical 쥐에스아이 테크놀로지 인코포레이티드
Publication of KR20160136463A publication Critical patent/KR20160136463A/ko
Application granted granted Critical
Publication of KR101714559B1 publication Critical patent/KR101714559B1/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/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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C29/34Accessing multiple bits simultaneously
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Landscapes

  • Memory System (AREA)
  • Dram (AREA)
  • Static Random-Access Memory (AREA)

Abstract

인-메모리 프로세서는, 데이터를 저장하는 메모리 어레이와 메모리 어레이의 한 행 내에서 적어도 2개의 셀을 거의 동시에 활성화시킴으로써 적어도 2개의 셀의 데이터에 대한 불리안 함수 출력을 생성하는 활성화 유닛을 포함한다. 또 다른 실시예에서는, 메모리 어레이 셀을 이용하는 컨텐츠 어드레서블 메모리(CAM)를 제공한다.

Description

연산을 수행하기 위해 기억 셀을 이용하는 장치 및 방법{USING STORAGE CELLS TO PERFORM COMPUTATION}
본 출원은, 본 명세서에 참조에 의해 전체로서 병합된 것으로서, 2009년 7월 16일에 출원된 미국 특허 출원 12/503,916호에 대한 우선권을 주장한다.
본 발명은 일반적으로 메모리 셀과 관련되며, 특히 연산을 위한 메모리 셀의 이용에 관련된 발명이다.
많은 양의 데이터를 저장하는 메모리 어레이(memory array)가 해당 기술 분야에서 알려져 있다. 몇 년에 걸쳐, 생산자와 설계자들은 어레이를 물리적으로 더 작게 만들면서도 그곳에 저장되는 데이터의 양은 더 많게 해왔다.
연산 장치는 전형적으로 데이터의 저장과 중앙 처리 장치(central processing unit, CPU) 및 다른 하드웨어의 데이터 처리를 위한 하나 이상의 메모리 어레이를 가진다. CPU는 전형적으로 버스를 통해 메모리 어레이와 연결된다. 공교롭게도, CPU 속도가 최근 몇 년간 무서운 속도로 증가하는 동안에, 버스 속도는 같은 비율로 증가하지 않았다. 따라서, 버스 연결은 구동 속도의 증가를 방해하는 병목으로서 작용한다.
본 발명의 바람직한 실시예에 따르면, 데이터를 저장하는 복수의 메모리 셀(cell)과, 하나의 열(column)의 적어도 2개의 메모리 셀을 대체로 동시에 활성화시킴으로써 상기 적어도 2개의 메모리 셀의 데이터에 대한 NOR 출력을 생성하는 활성화 유닛을 포함하는 NOR 장치가 제공된다.
나아가, 본 발명의 바람직한 실시예에 따르면, 상기 복수의 메모리 셀은 한 열의 메모리 셀이고, NOR 장치는 NOR 게이트를 구현한다.
더 나아가, 본 발명의 바람직한 실시예에 따르면, 상기 복수의 메모리 셀은 메모리 셀의 어레이고, NOR 장치는 복수의 NOR 게이트를 구현한다.
본 발명의 바람직한 실시예에 따르면, 데이터를 저장하는 메모리 어레이와, 상기 메모리 어레이의 한 열의 적어도 2개의 셀을 대체로 동시에 활성화시킴으로써 상기 적어도 2개의 셀의 데이터에 대한 불리안(boolean) 함수 출력을 생성하는 활성화 유닛을 포함하는 인-메모리(in-memory) 프로세서도 제공된다.
나아가, 본 발명의 바람직한 실시예에 따르면, 상기 활성화 유닛은 한 번에 메모리 셀의 하나 이상의 행의 각 행에서의 적어도 하나의 셀을 활성화시키는 다중 행 디코더(multiple row decoder)와 활성화된 셀의 적어도 하나의 열에서의 NOR 연산된 출력을 메모리 셀에 적어도 기록하는 출력 유닛을 포함한다.
더 나아가, 본 발명의 바람직한 실시예에 따르면, 상기 메모리 어레이는 데이터를 저장하기 위한 제1 부분과 프로세싱을 위해 이용 가능한 제2 부분을 적어도 가진다.
더욱이, 본 발명의 바람직한 실시예에 따르면, 상기 메모리 셀은 산업계에 알려진 표준 메모리 셀로서 이하에서 3T DRAM으로 칭하는 셀이다. 다르게는, 상기 메모리 셀은 SRAM 셀, DRAM 셀 또는 비파괴 셀일 수도 있다.
다르게는, 본 발명의 바람직한 실시예에 따르면, 상기 메모리 셀은 다수의 셀이 함께 판독될 때 확실한 결과(를 제공하는 것일 수 있다.
나아가, 본 발명의 바람직한 실시예에 따르면, 출력 유닛은 선택적으로 활성화 가능한 인버터(selectively activatable inverter)를 포함하고, 본 발명의 인-메모리 프로세서는 행 디코더에 어떤 셀을 활성화시킬지 지시하고, 상기 출력 유닛에게 언제 인버터를 활성화시킬지를 지시함으로써 불리안 함수를 생성하는 제어기(controller)를 더 포함한다.
더 나아가, 본 발명의 바람직한 실시예에 따르면, 불리안 함수는 OR, NOR, AND 및 NAND 중 하나이다.
본 발명의 바람직한 실시예에 따르면, 메모리 어레이, 다중 행 디코더, 제어기 및 출력 유닛을 포함하는, 컨텐츠 어드레서블 메모리(content addressable memory, CAM) 유닛도 제공된다. 메모리 어레이는 데이터 행과 상보 행(complement row)으로 배열된 메모리 셀을 가진다. 다중 행 디코더는 한 번에 메모리 어레이의 하나 이상의 행을 활성화시키고, 제어기는 매치될 입력 패턴의 함수로 데이터 행 또는 상보 행을 활성화시키도록 다중 행 디코더에 지시한다. 출력 유닛은 신호를 생성한 열과 패턴에 매치하는 열을 지시한다.
나아가, 본 발명의 바람직한 실시예에 따르면, 메모리 셀은 3T DRAM 셀, SRAM 셀, DRAM 셀, 비파괴 셀 또는 다수의 셀이 함께 판독될 때 확정적 결과(determinate result)를 제공하는 셀일 수 있다.
더 나아가, 본 발명의 바람직한 실시예에 따르면, 출력 유닛은 메모리 어레이에 결과를 기록하기 위한 기록 유닛을 포함한다.
더욱이, 본 발명의 바람직한 실시예에 따르면, 메모리 어레이는 데이터를 저장하기 위한 적어도 제1 부분과 출력 유닛이 기록하는 적어도 제2 부분을 가진다.
본 발명의 바람직한 실시예에 따르면, 순수 메모리 셀의 적어도 2개의 행을 활성화시키는 단계와 활성화된 메모리 셀의 적어도 하나의 열을 판독하는 단계를 포함하고, 상기 판독하는 단계에서는 활성화된 메모리 셀에 저장된 데이터의 이진 함수를 생성하는 방법도 제공된다.
나아가, 본 발명의 바람직한 실시예에 따르면, 이 방법은 이진 함수를 메모리 셀의 하나 이상의 행에 기록하는 단계도 포함한다.
더 나아가, 본 발명의 바람직한 실시예에 따르면, 상기 활성화하는 단계는 매치될 입력 패턴의 함수로 데이터 행과 상보 행을 활성화하는 단계를 포함하고, 본 발명의 방법은 어떤 열이 패턴에 매치되었는지 지시하는 단계를 더 포함한다.
더욱이, 이 방법은 한 데이터 행의 하나의 셀 및 그 상보 셀에 0을 저장하는 단계를 더 포함한다. 선택적으로, 이 방법은 한 데이터 행의 하나의 셀 및 상보 셀에 1을 저장하는 단계를 더 포함한다.
본 발명의 바람직한 실시예에 따르면, 비트를 저장하는 제1 셀과 상보 비트(complement bit)를 저장하는 제2 셀을 포함하는 CAM 셀이 제공된다. 각 셀은 3T 다이내믹(dynamic) RAM 셀, 매치 라인(match line) 및 매치 라인과 평행인 기록 라인(write line)을 포함한다. 제1 셀의 매치 라인은 구동적으로 제2 셀의 매치 라인과 연결된다.
마지막으로, 본 발명의 바람직한 실시예에 따르면, 비트를 저장하기 위한 복수의 트랜지스터, 매치 라인 및 매치 라인과 평행인 기록 라인을 포함하는 CAM 셀도 제공된다. 해당 셀의 매치 라인은 구동적으로 다른 셀들의 매치 라인과 연결되고, 이들 다른 셀들 중 적어도 하나는 해당 비트의 상보 비트를 저장하는 셀이다.
본 발명으로 간주되는 청구 대상은 본 명세서의 결론 부분에서 특히 지적되며 명확하게 청구된다. 그러나 본 발명은, 구동의 구성 및 방법 모두에 관하여, 물건, 특징 및 그것에 관한 유용성과 함께, 수반하는 도면 및 이하의 상세한 설명을 참조하는 것에 의해 최선으로 이해될 수 있다.
도 1은, 예시적인 메모리 셀에 대한 회로도를 도시한 것이다.
도 2는, 도 1의 복수의 셀의 다중 판독에 대한 회로도를 도시한 것이다.
도 3은, 본 발명의 바람직한 실시예에 따라 구성되고 실시되는 인-메모리 프로세서에 대한 개략적인 도면이다.
도 4는, 풀 애더(full adder)를 구현하기 위한 도 3의 프로세서의 동작의 예시들에 대한 진리표를 도시한 것이다.
도 5a는, 본 발명의 바람직한 실시예에 따라 구성되고 실시되는 인-메모리 컨텐츠 어드레서블 메모리(CAM) 유닛을 개략적으로 도시한 것이다.
도 5b는, 도 5a의 CAM의 예시적인 동작을 개략적으로 도시한 것이다.
도면에서 보이는 구성요소가 스케일에 맞춰서 그려지지 않았음은 도시를 통해 단순하고 명백하게 충분히 인식될 것이다. 예를 들면, 몇몇 구성요소의 크기는 다른 구성요소의 명확함을 위해 과장될 수 있다. 더 나아가, 적절한 경우에, 참조 번호는 대응되는 또는 유사한 구성요소를 지시하기 위해 도면들 사이에서 반복될 수 있다.
이하의 상세한 설명에서, 많은 수의 특정한 상세 설명들이 본 발명의 완전한 이해를 제공하기 위해 개시된다. 그러나, 본 발명은 이러한 특정의 상세한 설명이 없이도 실시될 수 있음은 당해 기술분야의 통상의 지식을 가진 자에 의해 이해될 수 있을 것이다. 다른 예에서, 본 발명을 불명확하게 하지 않게 하기 위해 잘 알려진 방법, 과정 및 구성은 상세하게 설명되지 않았다.
본 출원인은 연산 동작이 메모리 어레이 내에서 수행될 수 있다는 것을 인식하였다. 도시된 바와 같이, 도 1은 3개의 트랜지스터 T1, T2, T3와 하나의 커패시터 C1으로 형성된 표준 3T DRAM 메모리 셀을 도시한다. 트랜지스터 T1의 입력단은 판독(R) 라인에 연결되는 한편, 게이트단은 판독 이네이블(read enable, RE) 워드 라인에 연결된다. 트랜지스터 T3의 입력단은 트랜지스터 T1의 출력단에 연결되는 한편, 게이트는 커패시터 C1의 입력단인 트랜지스터 T2의 출력단에 연결된다. 트랜지스터 T2의 출력단은 커패시터 C1의 출력단과 접지 모두에 연결된다. 트랜지스터 T2의 입력단은 기록(W) 라인에 연결되는 한편, 게이트는 기록 이네이블(write enable, WE) 워드 라인에 연결된다.
도 1의 셀을 판독하기 위해, 프리-차지(pre-charge)는 판독 라인 R에 인가되고, 워드 라인 RE이 활성화된다(예컨대, 전압 레벨이 올라간다). 워드 라인 RE가 활성화되면, 트랜지스터 T1이 활성화되어, 결국 트랜지스터 T3에 입력을 제공한다. 만약, 커패시터 C1이 전하를 가지고 있으면(이 실시예에서는 로직(logic) "1"), 트랜지스터 T3이 활성화될 것이며, 접지까지 경로가 형성될 것이고(트랜지스터 T1과 T3을 거쳐서), 그 결과로, 판독 라인 R을 방전할 것이다. 만약 커패시터 C1이 전하를 가지지 않으면(이 실시예에서는 로직 "0"), 이후 T3은 폐쇄된 상태(closed)로 남고, 판독 라인 R은 충전된(charged) 상태로 남는다.
메모리 어레이 내에 구현된 도 1의 다중 셀을 도시한 도 2를 참조한다. 행(row)을 구성하는 다중 워드 라인 REi 및 WEi와, 열(column)을 구성하는 다중 판독 라인 Rj 및 기록 라인 Wj이 있으며, 각 판독 라인 Rj는 감지 회로부(sensing circuitry) SA에 출력단이 연결된다.
3개의 행, 즉 행 0, 1, 2와 함께 열 0-N이 도시되어 있다. 각 셀은 워드 라인와 판독 라인의 교차점에 형성된다. 그러므로, 셀 M2N은 제2행, 제N열에 있다.
본 출원인은, 만약 다중 워드 라인 RE가 동시에 활성화된다면, 도시된 바와 같이, 감지 회로부 SA는, 그 열의 셀들 중 어느 것이든 라인을 방전하는 때에(예컨대, 그 열의 셀들 중 어느 것이 '1'인 때), 판독 라인(R)의 방전을 감지할 것이라는 것을 인식하였다. 감지 회로부 SA는 그 열의 모든 셀이 충전되지 않았을 때에(예컨대 모두 '0'인 때), 오직 충전(charge)을 감지할 것이다. 본 출원인은, 셀이 모두 0일 때에 그것이 오직 신호를 생산하는 것은, 그 열의 활성화된 셀들의 자연스러운 NOR가 되는 것을 인식하였다. 이러한 인식이 저장된 데이터의 값을 결정하는 데에는 유용하지 않을 수 있지만(어떤 셀이 바뀌지 않았는지 알 수 없기 때문에), 본 출원인은 모든 연산 장치의 중심에 있는 불리안 연산의 구현을 위해 유용하다는 것을 인식하였다.
도 2에서, 워드 라인 RE0 및 RE1이 활성화되고, 모든 판독 라인 Rj도 마찬가지로 활성화된다. 셀 M00-M0N 및 셀 M10-M1N이 활성화되며, 그들의 신호를 그들의 판독 라인 Rj에 제공한다. 각 감지 회로부 SAj는 M1j와 M0j의 NOR를 생성할 수 있다. 그러므로, 다중 NOR 연산이 열마다 1개씩 수행될 수 있다. 이러한 NOR 연산은 어떠한 비교 회로 없이도 수행될 수 있음이 충분하게 인식될 수 있을 것이다.
만약 감지 회로부 SA가 인버터로 구현되거나, 만약 감지 회로부 SA에 인버터가 추가된다면, 셀의 OR를 생성할 수 있다. 다르게는, 만약 메모리 셀의 전하가 0으로 정의되면(그리고, 전하의 부족은 "1"로 정의된다), 그 열의 어떤 셀들이 0인 때에는 감지 회로부 SA의 출력은 방전이고(예컨대, 본 실시예에서는 '1'), 그 열의 모든 셀이 1인 때에만 충전이다(예컨대, 0). 이는 모든 활성화된 셀들의 NAND이다. 이러한 구성으로, 구현되는 감지 회로부 SA와 인버터는 AND를 생성한다. 그러므로, 모든 4가지 불리안 연산이 메모리 어레이의 다중 행의 판독을 통해 구현될 수 있다.
어떤 회로 또는 로직이 NAND 게이트와 AND 게이트만으로 설계될 수 있음은 잘 알려져 있다. 그러므로, 특정 진리표의 구현을 위해 요구되는 AND 및 OR 연산의 최적화된 조합을 생성하는, Karnuagh Map Analysis를 적용할 수 있다. Karnuagh Map Analysis는 로직의 어떤 하드웨어 구현을 위한 표준 툴(tool)이다.
진리표, 대조표, 드-모르간의 법칙 등과 같은 회로 이론의 모든 툴은 본 발명에 적용될 수 있다.
본 발명의 바람직한 실시예에 따라 구성되고 실시되는 인-메모리 프로세서(10)를 도시한 도 3을 참조한다. 프로세서(10)는 메모리 어레이(12), 다중 행 디코더(14), 선택 사항인 YMUX(16), 감지 회로부(18), 불리안 함수 기록 유닛(20) 및 제어기(21)를 포함할 수 있다. 메모리 어레이(12)는, 순수 메모리 셀일 수 있는 RAM, DRAM, SRAM 등과 같은 휘발성 또는 비휘발성, 오직 데이터의 저장을 위해 설계되고 어레이(12) 내에 부가적인 회로가 없는, 어떤 적합한 메모리 어레이라도 좋다.
본 발명의 바람직한 실시예에 따라, 메모리 어레이(12)는 단일 메모리 어레이일 수 있거나, 데이터가 저장될 수 있는 데이터 섹션(22)과 데이터 섹션(22)의 데이터의 프로세싱에 대한 다양한 형태의 결과를 수신할 수 있는 프로세싱 세션(24)의 두 섹션으로 나누어질 수 있다. 도 3의 예에서는, 메모리 어레이(12)가 두 섹션(22 및 24)으로 나누어진 것으로 한다.
다중 행 디코더(14)는 이하에 상세하게 설명되는 것과 같이 한 번에 하나 이상의 행을 디코드할 수 있는 어떠한 적합한 행 디코더일 수도 있다. 이와 같이, 행 디코더(14)는 한 번에 둘 이상의 메모리 어레이(12)의 행을 활성화할 수 있다. 만약 대규모 병렬 연산으로 모든 열이 한 번에 처리된다면, YMUX(16)는 필요하지 않다. 그러나, 만약 오직 몇몇의 열만이 처리된다면, YMUX(16)는 선택된 판독 라인을 활성화할 것이다. 제어기(21)는 현재의 연산을 위해 활성화되어야 하는 워드 라인이 어느 것인지를 행 디코더(14)에 지시할 수 있다. 개별적인 또는 선택된 열의 연산에 대해, 제어기(21)는 활성화되어야 하는 리드 또는 기록 라인이 어느 것인지를 YMUX(16)에 지시하게 될 수도 있다.
감지 회로부(18)는 어떠한 적합한 감지 회로부로도 형성될 수 있으며, 현재 활성화된 판독 라인이 방전되었는지 아닌지 여부를 결정할 수 있다. 행 디코더(14)가 다중 행을 활성화했을 수 있기 때문에, 각 판독 라인은, 메모리 셀의 한 열에 연결된 모든 활성화된 메모리 셀이 충전되지 않은 커패시터를 가진 경우에만, 충전된 상태로 유지될 것이다. 만약 그 열의 어느 메모리 셀들이 충전된 커패시터를 가졌다면, 판독 라인은 방전된 상태로 유지될 것이다. 그러므로, 전술한 바와 같이, 각 감지 회로부의 출력은 각 열의 메모리 셀의 상태에 대한 불리안 함수일 수 있다(불리안 함수는, 데이터가 어떻게 인지되는지의 여부(예컨대, 어떤 상태가 0 상태로 간주되는지) 및/또는 감지 회로부가 인버터를 포함하는지 아닌지 여부에 의존한다). 그러므로, 만약 데이터 세션(22)의 행 R1 및 R2가 판독되어 진다면, 감지 회로부(18)는 행 R1 및 R2의 불리안 함수 BF(R1,R2)를 생성할 수 있다.
상술한 바와 같이, 기록 유닛(20)은 필요한 경우 감지 회로부(18)의 출력을 반전시키기 위한 인버터를 포함할 수 있다. 그러한 인버터는, 제어기(21)로부터의 명령에 의해 선택적으로 실시될 수 있다.
제어기(21)는, 감지 회로부(18)의 출력(반전된 또는 그렇지 않은)을, 예컨대 프로세싱 세션(24)과 같이, 메모리 어레이(12)에 후기입하도록 불리안 기록 유닛(20)에 지시할 수 있다. 만약, 출력이 방전이라면, 이후 불리안 기록 유닛(20)은 기록 대상인 셀의 커패시터를 방전할 수 있다. 거꾸로, 만약 출력이 충전이라면, 기록 유닛(20)은 기록 대상인 셀의 커패시터를 충전할 수 있다. 행 R1 및 R2를 프로세싱 하는 예에서, 기록 유닛(20)은 BF(R1,R2)를 프로세싱 세션(24)에 기록할 수 있다.
도 1의 셀에 대해, 기록 동작에 영향을 주기 위해, 제어기(21)는 행 디코더(14)에 대해(점선 23) 프로세싱 세션(24)의 소망의 행을 위한 기록 이네이블(WE) 워드 라인을 활성화시키도록, 선택 사항인 YMUX(16)에 대해(점선 25) 적절한 기록(W) 라인(다르게는, 모든 기록 라인(W)이 활성화될 수 있다)을 활성화시키도록, 그리고 기록 유닛(20)에 대해(점선 27) 수신되고 반전되었을 수도 있는 BF(R1,R2)를 제공하도록 지시할 수 있다. 다른 형태의 셀이라면 활성화될 다른 형태의 라인이 요구될 수 있다는 것은 충분히 인식될 수 있을 것이다.
연산 메모리 유닛(10)은, 메모리 장치로부터 프로세싱 장치로 데이터를 이동시키기 위한 버스의 사용 없이, 메모리 어레이(12)에 저장된 데이터에 대해 불리안 연산을 수행할 수 있고, 많은 열에서 연산할 때 대규모 병렬 프로세싱 장치처럼 될 수 있다는 것은 충분히 인식될 수 있을 것이다. 판독 동작의 결과로서, 메모리 어레이에서 연산이 일어난다. 그러므로, 연산 메모리 유닛(10)은 어떠한 불리안 게이트(NOR 또는 그 밖의) 및 어떠한 불리안 연산도, 단일의 열, 다중의 열 또는 어레이의 모든 열에서 수행될 수 있으며, 대규모 병렬 연산도 수행될 수 있다. 메모리 어레이(12)는 대규모 병렬 연산을 수행하기 위해 큰 것일 수 있으며, 또는 단일 불리안 게이트를 구현하기 위한 단일의 열일 수 있다.
본 발명의 바람직한 실시예에 따르면, 다중 행 디코더(14)는 필요한 임의의 그룹의 행을 활성화시킬 수 있다. 어떤 연산은 오직 활성화된 데이터 행(데이터 섹션(22)의)만을 요구할 수 있는 반면에, 다른 연산은 활성화될 하나 이상의 행이 프로세싱 섹션(24)의 하나 이상의 행일 것을 요구할 수 있다.
표준의 행 디코더는 한 번에 하나의 행을 활성화시킨다. 다중 행 디코더(14)는 다수의 행 디코더의 조합으로 형성될 수 있다. 다르게는, 64-비트 레지스터와 같은 멀티-비트(multi-bit) 레지스터가 적합할 수 있다. 그러한 레지스터는 패턴을 저장할 수 있고, 이때 비트 값 1이 판독 라인 RE 또는 기록 라인 WE를 활성화시킬 수 있다.
또 다른 실시예에서, 기록 유닛(20)은 데이터를 행 단위로 기록할 수 있다. 이러한 실시예를 위해, 기록 유닛(20)은, 2008년 5월 1일의 미국 특허 출원 12/113,474에 설명되고 본 출원의 공동 양수인으로 양도된 것과 같은 선택적 기록 유닛일 수 있다. 그러한 유닛은 각각의 셀에 대한 태그 플래그(tag flag)를 생성할 수 있고, 이 태그 플래그는 기록 유닛(20)의 출력이 1일 때 1로 세트되고 출력이 0일 때 0으로 세트되거나 그 반대일 수 있다. 선택적 기록 동작은, 태그 플래그 1을 가진 기록 라인만을 활성화시키고, 그 셀에 1 또는 0 중 하나를 적절히 기록할 수 있다.
다른 실시예에서, 기록 유닛(20)은, 메모리 어레이(12)에 기록할 때, 데이터를 하나 이상의 행 단위로 기록할 수 있다. 선택적으로 또는 부가적으로, 기록 ㅇ유닛(20)은 수신한 결과의 상보를 기록할 수도 있다.
풀 애더(full adder)(예컨대, 이전 연산으로부터의 캐리(carry) C를 가지고 비트 A 및 B를 더할 수 있는 가산기)를 구현하기 위한 진리표를 도시한 도 4를 참조한다. 비트 A와 B 및 캐리 C는 동일한 열의 상이한 행에 저장된다. 도 4의 열 A, B 및 C는, 입력 A와 B 및 캐리 C가 가질 수 있는 가능한 값을 나열한다. 도 4의 열 ~C, ~B 및 ~A는, 열 C, B 및 A의 상보를 나열한다. 새로운 캐리 C1을 생성하기 위해, 제어기(21)는 이하의 예시적인 연산을 실행할 수 있다.
T = NOR(~C,A,B)
T1 = NOR(~C,T)
T2 = NOR(C,~A,~B)
C1 = OR(T1,T2)
달리 표현하면, 제1 사이클에서, ~C, A 및 B가 메모리 어레이(12)로부터 판독될 수 있고, 이후 전형적으로 프로세싱 세션(24)에 위치된 T로 후기입(written back)될 수 있다. 제2 사이클에서, ~C 및 T가 판독될 수 있고, 이후 T1로 기록될 수 있다. 제3 사이클에서, C, ~A 및 ~B가 판독될 수 있고, 이후 T2로 기록될 수 있다. 마지막으로, 다음 연산을 위한 새로운 캐리 C1을 생성하기 위해, T1과 T2가 판독되고 반전될 수도 있으며(OR 연산을 수행하기 위해), 이후 C1으로 기재될 수 있다. 비록 도 4가 진리표를 보여주고, 상기 논의가 단일 비트에 대한 연산에 대한 설명을 제공하나, 제어기(21)의 명령으로서 상기 연산 및 이하의 연산은 단일 비트, 다중 비트 또는 데이터의 전제 행에서 수행될 수 있는 것으로 충분히 인식될 것이다. 각 감지 회로부는 하나의 열의 출력인 하나의 연산 결과의 출력을 수신하고, 그러므로 전체 행에서의 연산은 대규모 병렬 연산이다.
새로운 합 S1을 생성하기 위해, 제어기(21)는 이하의 예시적인 연산을 실행할 수 있다.
T1 = NOR(C,B,A)
T2 = NOR(T1,T)
T1 = NOR(~C,~B,~A)
S1 = OR(T1,T2)
달리 표현하면, 제5 사이클에서, C, B 및 A가 메모리 어레이(12)로부터 판독될 수 있고, 이후 T1으로 후기입될 수 있다. 제6 사이클에서, T1 및 T가 읽혀질 수 있고, T2로 기록될 수 있다. 제7 사이클에서, ~C, ~B 및 ~A가 판독될 수 있고, 이후 T1으로 기록될 수 있다. 마지막으로, 새로운 S1을 생성하기 위해, T1 및 T2는 판독되고 반전될 수 있으며, 이후 S1으로 기록될 수 있다. S1 및 C1은, 제어기(21)의 요구 및 지시에 따라, 프로세싱 세션(2) 또는 데이터 세션(22)에 저장될 수 있다.
도 4에서 도시되고 위에서 논의된 동작은 오직 예시일 뿐이며, 다른 같은 종류의 불리안 연산이 더 많은 또는 더 적은 사이클에서 같은 또는 유사한 결과를 생성하도록 수행될 수 있음이 충분히 인식될 것이다. 본 발명은 표준 회로에서 어떠한 로직 게이트 및/또는 로직 게이트의 집합이든지 이를 대체하도록 이용될 수 있다. 나아가, 그것이 대규모 병렬 로직 게이트를 구현할 수 있다.
만약, 상보 값이 미리 저장되어 있지 않았다면, 적은 사이클로 그들을 생성할 수 있다. 상보 값을 생성하기 위해, 기록 유닛(20)의 인버터를 통해 필요한 데이터가 판독되고 반전될 수 있다. 결과는 프로세싱 세션(24)으로 기록될 수 있다. 상보 연산은 한 번 수행될 수 있으며, 상보 데이터는 필요한 만큼의 연산에서 재활용될 수 있다.
인버터는 반드시 요구되는 것은 아니다. OR 연산은 NOR 연산을 두 번 수행하는 것에 의해 구현될 수 있다(NOR의 단일 입력 NOR이 OR이기 때문에). 그러므로, OR 연산된 데이터가 판독되고, 그것의 NOR 연산된 결과는 메모리 어레이(12)의 셀에 기록될 수 있다(상기 설명된 선택적 기록 동작과 함께 또는 선택적 기록 동작 없이). 처리된 셀의 데이터는 이후 판독될 수 있고, 그 결과는 OR일 수 있다.
상술한 선택적 기록 동작은 어떠한 하드웨어 없이 수행될 수 있다는 것도 충분히 더 인식될 것이다. 상술한 선택적 기록에서, 비교 연산은, 연산의 목적이 데이터 행 DR의 어떤 비트가 변경되어야 하는지, 어떤 값으로 변경되어야 하는지 및 데이터 행 DR의 어떤 비트가 변경되지 않은 채로 남아야 하는지를 결정하기 위해 결과 행 RR의 결과를 이용하기 위한 것인 경우, 데이터 행 DR과 결과 행 RR 사이에서 수행되었다. 결과 행 RR은 전형적으로 하나 이상의 행에서 수행되는 하나 이상의 불리안 함수의 결과이다.
본 발명으로, 다양한 연산이 원하는 연산의 형태에 따라 데이터 행 DR과 결과 행 RR에서 수행될 수 있다. 예를 들면, 만약 결과 행 RR에 1이 있기만 하면 어디에 있든지 관계없이 데이터 행에 1을 기록하는 것으로 데이터 행 DR을 수정하는 것이 요구된다면, 제어기(21)는 OR(RR,DR)의 연산을 지시할 수 있다. 결과 행 RR에 0이 있기만 하면 어디에 있든지 관계없이 1을 기록하는 것으로 데이터 행 DR을 수정하기 위해, 제어기(21)는 OR(~RR,DR)의 연산을 지시할 수 있다. AND(RR,DR)를 명령하는 것은 결과 행 RR에 0이 있기만 하면 어디에 있든지 관계없이 데이터 행 DR에 0을 기록할 수 있고, AND(~RR,DR)를 지시하는 것은 결과 행 RR에 1이 있기만 하면 어디에 있든지 관계없이 데이터 행에 0을 기록할 수 있다.
연산 장치에 필요한 여기 개시된 연산 및 다른 연산에서, 레지스터와 프로세싱 장치 사이에서 데이터를 복사하는 것에 소요되는 사이클이 없다는 것과 연산 속도를 느리게 하는 버스가 없다는 것은 충분히 인식될 것이다. 나아가, 프로세싱 장치도 없으므로, 연산 시스템을 구현하기 위해 요구되는 칩의 면적이 현저히 더 작게 될 수 있다.
도 1의 메모리 셀은 3T DRAM 셀로 알려져 있다. 이는 본 발명이 적용 가능한 하나의 예시적인 메모리 셀의 형태일 뿐이다. 본 발명은 메모리 어레이의 판독 동작을 수행하기 위해 라인 방전에 의존하는 어떠한 메모리 어레이에도 적용이 가능하다. 부가적으로, 방전과 함께 작동하는 쌍안정 SRAM 셀을 만드는 것도 가능할 수 있다.
본 발명은 다중 행이 함께 판독될 수 있는 때에 확정적 결과를 생산할 수 있는 어떠한 메모리 어레이에도 적용이 가능하다. 비록, DRAM은 판독할 때 그 전하가 떨어지지만, DRAM에도 마찬가지로 적용이 가능할 수 있다. 저장된 값은 확정적이나, 판독하는 동안 전하가 제거된다. 따라서, DRAM은 판독 행을 복구하기 위한 회로부를 포함한다. 그러나, 이는 한 번에 하나의 행이 판독되는 경우에만 적용 가능하다. 만약, 다중 행이 한 번에 판독된다면, 데이터를 복구할 수 있는 방법은 없다.
본 발명에 있어서, DRAM 및 판독시에 데이터를 파괴할 수 있는 다른 메모리 어레이 형태로 작동하는 때에, 열과, 기록 유닛(20)에 의해 저장된, 출력 행에 저장된 값을 AND 연산하기 위한 AND 게이트가 메모리 어레이의 각 열에 추가될 수 있다. 각 행은 개별로 활성화될 수 있으며, 활성화된 열에 대한 AND 게이트에서 그것의 출력이 판독될 수 있다. AND 게이트는, 모든 개별로 활성화된 행들에 대해 행들의 활성화 사이에서의 결과를 유지하는, 셀들의 출력을 AND 연산할 수 있다. 출력 행은 각 연산의 종료시점에 새로이 리프레시(refresh) 될 수 있다. 이러한 구성에서, 어레이는 NOR 연산이 아니라 AND 연산을 수행할 수 있다. 다르게는, 다중 행이 판독될 수 있으나, 이때 본래의 데이터는 상실된다. 이러한 기술은, 데이터의 상실이 용인될 수 있거나 파괴될 데이터가 장래의 사용을 위해 상이한 위치에 먼저 복사된 경우의 상황에 한정된다.
다른 실시예에서, 감지 회로부(18)는 필요하지 않을 수 있다. 행 디코더(14)는 판독을 위한 다중 행을 활성화시킬 수 있고, 대체로 동시에 기록을 위한 행을 활성화시킬 수 있다. 이는, 분리된 판독 및 기록 이네이블 라인과 분리된 판독 및 기록 열 라인을 가지는 3T DRAM 셀에, 특히 적합하다. 기록 유닛(20)은 판독 라인을 먼저 활성화시킬 수 있으며, 이후 기록 라인을 활성화시킬 수 있다. 따라서, 본 발명의 다른 실시예는, 판독 및 기록 라인이 단일 라인으로 합쳐진 경우에, 변형된 3T 셀을 이용할 수 있다.
본 발명의 바람직한 실시예에 따라 구성되고 실시되는 인-메모리 컨텐츠 어드레서블 메모리(CAM) 유닛(30)을 도시한 도 5a 및 1001의 패턴을 찾기 위한 그것의 동작을 도시한 도 5b를 참조한다.
CAM 유닛(30)은 메모리 어레이(32), 다중 행 디코더(34), CAM 제어기(36), 감지 회로부(38) 및 CAM 출력 장치(40)를 포함할 수 있다. 메모리 어레이(32)는, 상기 논의된 형태의 메모리 어레이와 같은 어떠한 적합한 메모리 어레이로도 형성될 수 있으며, 컨텐츠가 검색되는 CAM 데이터를 저장할 수 있다. 전형적으로, 라우터의 주소, 전화 번호, 또는 하드웨어 검색이 유용한 어떠한 다른 정보와 같은 데이터의 각 항목은, 메모리 어레이(32)의 열에 저장될 수 있다. 전형적으로, 메모리 어레이(32)는 상당한 수의 열을 포함할 수 있으므로, 데이터의 상당한 수의 항목을 저장할 수 있다.
CAM 제어기(36)는, 매치를 위해 CAM 패턴을 수신할 수 있고, 이하에 더욱 자세히 설명되는 것에 따라, 다중 행 디코더(34)에 어레이(32)의 적당한 행을 활성화시키도록 지시할 수 있다. 감지 회로부(38)는 다중 활성화 행, 전형적으로 모든 열에 대한 불리안 함수 출력을 감지할 수 있고, CAM 출력 유닛(40)에 출력을 제공할 수 있다. CAM 출력 유닛(40)은 입력 패턴에 매치되는 열이 어느 것인지를 지시할 수 있다.
CAM에 있어서, 입력 패턴과 특정한 열에 저장된 데이터 사이의 매치는, 그 특정한 열에 대한 출력으로서 1을 생성할 것이다. 그러나, 이를 상기하면, 본 발명의 일 실시예에서, 단일 행을 판독할 때, 본 발명은 그 행의 NOR 연산을 수행한다. 특히, 활성화된 셀이 전하를 저장한 때(예컨대, 1), 본 발명은, CAM에 대해 바람직하지 않은 결과로, 전체 열에 대해 0을 생성(예컨대, 판독 라인의 방전)할 것이다.
본 출원인은 만약, 상보 셀이(전하를 가지지 않은 셀(예컨대, 0)) 활성화되면, 본 발명은 1을 생성할 것이라는 것을 인식하고 있다. CAM에 있어서, 입력 패턴과 열에 저장된 데이터 사이의 매치가 항상 1을 생성하고 본 발명에서 오직 매치된 0이 1을 생성할 수 있기 때문에, CAM 제어기(36)는 행의 데이터 비트에 0을 매치하는 행은 어느 것이든 활성화할 수 있다. 그러므로, CAM 제어기(36)는 CAM 패턴 비트가 0일 때 데이터 행을 활성화시킬 수 있고(그 데이터 행에서 0이 저장된 곳이면 어디든 1을 생성하기 위해), 데이터 행이 현재 1일 때 상보 행(데이터 행에 1 값이 있는 때면 언제든 0을 가지는)을 활성화시킬 수 있다.
그러므로, 본 발명의 바람직한 실시예에 따라, 실제 데이터의 각 행은 행 및 그 상보 행으로 저장될 수 있다. 따라서, 도 5b는 W 및 ~W, X 및 ~X 등의 열을 보여준다.
도 5b는 1001의 입력 패턴 WXYZ에 대한 예시적인 도시를 제공한다. 3, 4 비트 주소들은 열에 저장될 수 있고, 각 비트는, 행 W와 같은 데이터 행, 행 ~W와 같은 상보 행에 2 비트로 저장되고 있다. 열 1은 패턴 1001(10,01,01,10 같은)을 저장할 수 있고, 열 2는 패턴 0101(01,10,01,10 같은)을 저장할 수 있으며, 열 3은 패턴 1011(10,01,10,10 같은)을 저장할 수 있다. CAM 제어기(36)는 입력 패턴 1001을 수신할 수 있으며, 다중 행 디코더(34)에 행 패턴 ~W, X, Y, ~Z(예컨대, 1을 찾기 위한 상보 행 ~W 및 ~Z와 0을 찾기 위한 데이터 행 X 및 Y)을 활성화시키도록 지시할 수 있다. 활성화된 행은 도 5b에서 박스 처리가 되었다.
활성화 행 ~W, X, Y 및 ~Z에서 패턴 0000이 판독되는 열 1은, 어떠한 활성화된 셀도 판독 라인을 방전하지 않음으로써(활성화된 셀이 모두 0이다), 매치를 생성한다. 패턴 1100 및 0010이 판독할 수 있는 열에 대한 열 2 및 3은, 그 패턴들이 적어도 하나의 1을 포함함으로써, 그들의 판독 라인을 방전하는 매치를 생성하지 않는다. 결과는, 오직 하나의 성공적인 매치인 열 1에 귀착하는 입력 CAM 패턴에 대한 3개 열의 동시 매칭이다.
CAM 출력 유닛(40)은 매치가 있었던 각 열에 대해 1을 가지는 출력 신호를 생성할 수 있다.
이진법의 데이터(1 및 0)를 저장하는 CAM과 삼진법의 데이터(1, 0 및 X(즉,무엇이든 상관없는))를 저장하는 CAM이 있다. 본 발명은 데이터 행과 상보 행 모두의 셀에 0을 저장하는 것에 의해 X를 저장할 수 있다(이러한 구성에 대해, 상보 행은 완전한 상보가 아니다). 그러므로, 만약 저장된 데이터가 10X라면, 데이터 행은 100을 저장할 수 있고, 상보 행은 010을 저장할 수 있다. 저장된 X값에 기인하여, CAM 장치(30)는 100 및 101 입력 패턴 모두에 대한 매치를 찾을 수 있다.
본 발명은, 비트 값 1, 0, X 및 Y로 사진법(quadrary)의 데이터를 저장할 수도 있다. 이러한 구성에서, Y 데이터는 데이터 행과 상보 행 모두의 셀에 1을 저장하는 것에 의해 저장될 수 있다. 그러므로, 만약 패턴이 10Y라면, 데이터 행은 101을 저장할 수 있고, 상보 행은 011을 저장할 수 있다. 저장된 Y값에 기인하여, CAM 장치(30)는 100 또는 101 입력 패턴 중 어느 것이든 매치를 찾을 수 없다.
이런 얼웨이즈-페일 기능(always-fail funtionality)은, if/else의 조건문 기능을 이행하는 하나의 방법으로서 유용할 수 있다. CAM 장치(30)에서, 메모리 어레이(32)의 각 열은, 풀 비트-와이즈 튜링 머신 프로세서(full bit-wise Turing machine processor)가 산술 로직 유닛(arithmetic logic unit)를 더한 것으로 보일 수 있다. 상기 설명된 인-메모리 프로세서는 데이터를 판독할 수 있고, 데이터를 기록할 수 있으며, 열의 데이터에서 산술 연산을 수행할 수 있다. 그러므로, 기본적인 if/else 조건문 또는 분기 로직(branching logic)을 구현하기 위한 필요성이 있다. 이것 또는 동일한 열의 다른 값에 의존하여, 분기 로직은 특정한 열이 특정한 연산에 참여하지 않도록 요구할 수 있다. 이러한 결정을 구현하는 하나의 방법은 데이터 및 그것의 상보 행 모두에 1을 기록하는 것일 수 있다. 결과적으로, 특정한 열(그것의 데이터 및 상보 행에 1이 있는)은 그 행이 검색의 부분이기만 하면, 입력 패턴과 상관없이 항상 실패할 수 있다.
또, 아마도 얼웨이즈-페일 특징의 이용에 대한 더욱 단순한 예시는 유효하지 않은 숫자들에 대한 것이다. 여기에는 검색을 위해 CAM을 이용할 수 있는 많은 데이터베이스 애플리케이션이 있고, 이들 애플리케이션은 유효하지 않은 또는 범위를 벗어나는 숫자의 개념을 포함하는 것을 필요로 할 수 있다.
CAM 유닛(30)이 CAM을 구현할 수 있으나, 표준 메모리 어레이에서는, 결국 특히 작은 CAM 셀로 된다는 것은 충분히 인식될 것이다. 본 발명은, 일반적인 매치 라인과 기록 라인이 수직인 선행 기술의 CAM 셀과 달리 매치 라인(예컨대, 판독 라인)이 기록 라인과 평행한 CAM 셀을 최초로 만들어 낸 것이다. 이는 결과적으로 특히 작은 삼진법 CAM(TCAM) 셀을 제공한다.
상기 논의된 것과 같이, 본 발명이 기록 라인을 따라 메모리 어레이(12 또는 32)에 후기입될 수 있는 츨력을 기록 라인에 제공하는 것도 충분히 인식될 것이다. CAM 셀을 이용하는 통합된 프로세싱 접근법에 기초한 머신 비젼(machine vision)의 병렬 아키텍쳐는, 본 명세서에 참조에 의해 병합된, "Associative Real-Time Vision Machine."으로 명명된 Department of Applied Mathematics and Computer Science, Weizmann Institute of Science, Rehovot, Israel, March, 1992, 의 Akerib에 의한 PhD 논문에서 설명된다. 논문은 CAM 어레이를 이용하여 총괄적인 형태의 대규모 병렬 프로세싱을 만들어내는 방법을 설명하고, CAM 어레이 및 연산의 결과를 CAM 어레이에 후기입(write back)하는 것을 이용하여 ALU 및 IF 연산을 수행하는 방법을 보여준다. PhD 논문에 설명된 통합된 프로세싱은 CAM 유닛(30)과 함께 수행될 수 있다는 것도 충분히 인식될 것이다.
본 발명이 대규모 병렬의 총괄적인 프로세싱을 제공할 수 있다는 것은 충분히 인식될 것이다. 도 3의 구성에서, 메모리 어레이(12)의 각 열은 불리안 연산을 수행할 수 있으며, 이러한 연산은 대체로 동시에 다중 열에서 수행될 수 있다. 다중 불리안 연산은 어떠한 연산 동작도 구현할 수 있다. Akerib의 논문에서 설명된 통합된 프로세싱은 대규모 병렬 프로세싱도 제공하며, 도 5의 구성을 이용하여 수행될 수 있다.
본 발명의 명백한 특징들이 본 명세서에 도시되고 설명되는 동안, 많은 수정물, 대체물, 변경물 및 등가물이 당해 기술 분야의 통상의 기술자의 머리에 떠오를 것이다. 그러므로, 수반된 청구항들은, 본 발명의 진실된 의도의 범위에 포함되는 것으로서의 모든 그러한 수정물 및 변경물을 포함하도록 의도되는 것으로 이해되는 것이다.
10: 인-메모리 프로세서
12: 메모리 어레이
14: 다중 행 디코더
16: YMUX
18: 감지 회로부
20: 불리안 함수 기록 유닛
21: 제어기

Claims (4)

  1. 메모리 어레이 내의 행과 열로 배열된 순수 메모리 셀의 적어도 2개의 행을 동시에 활성화시키는 단계;
    동시에 활성화시키는 단계 후에 상기 메모리 어레이 내의 각 열의 상태를 감지하는 단계로서, 상기 상태는 동시에 활성화된 메모리 셀에 저장된 데이터의 이진 함수인 것인, 각 열의 상태를 감지하는 단계; 및
    상기 이진 함수를 상기 메모리 어레이의 하나 이상의 다른 행에 기록하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 동시에 활성화시키는 단계는 매치될 입력 패턴의 함수로서 데이터 행 또는 상보 행을 활성화시키는 단계를 포함하고,
    상기 방법은, 상기 입력 패턴으로 활성화되는 때에 각 열의 출력을 감지하고, 상기 입력 패턴에 매치된 열이 어느 것인지 지시하는 단계를 더 포함하는, 방법.
  3. 제2항에 있어서,
    데이터 행의 셀 및 상기 셀에 대응하는 상보 셀에 0을 저장하는 단계를 더 포함하는 방법.
  4. 제2항에 있어서,
    데이터 행의 셀 및 상기 셀에 대응하는 상보 셀에 1을 저장하는 단계를 더 포함하는 방법.
KR1020167032306A 2009-07-16 2010-07-11 연산을 수행하기 위해 기억 셀을 이용하는 장치 및 방법 KR101714559B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/503,916 US8238173B2 (en) 2009-07-16 2009-07-16 Using storage cells to perform computation
US12/503,916 2009-07-16
PCT/IB2010/053168 WO2011007304A1 (en) 2009-07-16 2010-07-11 Using storage cells to perform computation

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020167021313A Division KR101714558B1 (ko) 2009-07-16 2010-07-11 연산을 수행하기 위해 기억 셀을 이용하는 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20160136463A KR20160136463A (ko) 2016-11-29
KR101714559B1 true KR101714559B1 (ko) 2017-03-09

Family

ID=43448996

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020167021313A KR101714558B1 (ko) 2009-07-16 2010-07-11 연산을 수행하기 위해 기억 셀을 이용하는 장치 및 방법
KR1020167032307A KR101714560B1 (ko) 2009-07-16 2010-07-11 연산을 수행하기 위해 기억 셀을 이용하는 장치 및 방법
KR1020127004150A KR101647086B1 (ko) 2009-07-16 2010-07-11 연산을 수행하기 위해 기억 셀을 이용하는 장치 및 방법
KR1020167032306A KR101714559B1 (ko) 2009-07-16 2010-07-11 연산을 수행하기 위해 기억 셀을 이용하는 장치 및 방법

Family Applications Before (3)

Application Number Title Priority Date Filing Date
KR1020167021313A KR101714558B1 (ko) 2009-07-16 2010-07-11 연산을 수행하기 위해 기억 셀을 이용하는 장치 및 방법
KR1020167032307A KR101714560B1 (ko) 2009-07-16 2010-07-11 연산을 수행하기 위해 기억 셀을 이용하는 장치 및 방법
KR1020127004150A KR101647086B1 (ko) 2009-07-16 2010-07-11 연산을 수행하기 위해 기억 셀을 이용하는 장치 및 방법

Country Status (3)

Country Link
US (3) US8238173B2 (ko)
KR (4) KR101714558B1 (ko)
WO (1) WO2011007304A1 (ko)

Families Citing this family (183)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10832746B2 (en) * 2009-07-16 2020-11-10 Gsi Technology Inc. Non-volatile in-memory computing device
US8780635B2 (en) 2012-11-09 2014-07-15 Sandisk Technologies Inc. Use of bloom filter and improved program algorithm for increased data protection in CAM NAND memory
US8780632B2 (en) 2012-11-09 2014-07-15 Sandisk Technologies Inc. De-duplication techniques using NAND flash based content addressable memory
US8811085B2 (en) 2012-11-09 2014-08-19 Sandisk Technologies Inc. On-device data analytics using NAND flash based intelligent memory
US8792279B2 (en) * 2012-11-09 2014-07-29 Sandisk Technologies Inc. Architectures for data analytics using computational NAND memory
US8817541B2 (en) 2012-11-09 2014-08-26 Sandisk Technologies Inc. Data search using bloom filters and NAND based content addressable memory
US8773909B2 (en) 2012-11-09 2014-07-08 Sandisk Technologies Inc. CAM NAND with or function and full chip search capability
WO2014074483A2 (en) * 2012-11-09 2014-05-15 Sandisk Technologies Inc. On-device data analytics using nand flash based intelligent memory
US8780633B2 (en) 2012-11-09 2014-07-15 SanDisk Technologies, Inc. De-duplication system using NAND flash based content addressable memory
US8780634B2 (en) 2012-11-09 2014-07-15 Sandisk Technologies Inc. CAM NAND with OR function and full chip search capability
US9116796B2 (en) 2012-11-09 2015-08-25 Sandisk Technologies Inc. Key-value addressed storage drive using NAND flash based content addressable memory
US9214231B2 (en) 2013-01-31 2015-12-15 Hewlett-Packard Development Company, L.P. Crossbar memory to provide content addressable functionality
US9158667B2 (en) 2013-03-04 2015-10-13 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9075424B2 (en) 2013-03-06 2015-07-07 Sandisk Technologies Inc. Compensation scheme to improve the stability of the operational amplifiers
US8964496B2 (en) 2013-07-26 2015-02-24 Micron Technology, Inc. Apparatuses and methods for performing compare operations using sensing circuitry
US8971124B1 (en) 2013-08-08 2015-03-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9153305B2 (en) 2013-08-30 2015-10-06 Micron Technology, Inc. Independently addressable memory array address spaces
US9019785B2 (en) 2013-09-19 2015-04-28 Micron Technology, Inc. Data shifting via a number of isolation devices
US9449675B2 (en) 2013-10-31 2016-09-20 Micron Technology, Inc. Apparatuses and methods for identifying an extremum value stored in an array of memory cells
US9430191B2 (en) 2013-11-08 2016-08-30 Micron Technology, Inc. Division operations for memory
US10153042B2 (en) * 2013-11-28 2018-12-11 Gsi Technology Inc. In-memory computational device with bit line processors
US9418719B2 (en) * 2013-11-28 2016-08-16 Gsi Technology Israel Ltd. In-memory computational device
US9859005B2 (en) * 2014-01-12 2018-01-02 Gsi Technology Inc. Memory device
US9934856B2 (en) 2014-03-31 2018-04-03 Micron Technology, Inc. Apparatuses and methods for comparing data patterns in memory
US9910787B2 (en) 2014-06-05 2018-03-06 Micron Technology, Inc. Virtual address table
US9779019B2 (en) 2014-06-05 2017-10-03 Micron Technology, Inc. Data storage layout
US9830999B2 (en) 2014-06-05 2017-11-28 Micron Technology, Inc. Comparison operations in memory
US9711206B2 (en) * 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9449674B2 (en) 2014-06-05 2016-09-20 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9496023B2 (en) * 2014-06-05 2016-11-15 Micron Technology, Inc. Comparison operations on logical representations of values in memory
US9704540B2 (en) 2014-06-05 2017-07-11 Micron Technology, Inc. Apparatuses and methods for parity determination using sensing circuitry
US9711207B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9455020B2 (en) * 2014-06-05 2016-09-27 Micron Technology, Inc. Apparatuses and methods for performing an exclusive or operation using sensing circuitry
US10074407B2 (en) 2014-06-05 2018-09-11 Micron Technology, Inc. Apparatuses and methods for performing invert operations using sensing circuitry
US9786335B2 (en) 2014-06-05 2017-10-10 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
WO2015188299A1 (zh) 2014-06-09 2015-12-17 华为技术有限公司 一种数据处理方法及装置
US9904515B2 (en) 2014-09-03 2018-02-27 Micron Technology, Inc. Multiplication operations in memory
US9747961B2 (en) * 2014-09-03 2017-08-29 Micron Technology, Inc. Division operations in memory
US9740607B2 (en) 2014-09-03 2017-08-22 Micron Technology, Inc. Swap operations in memory
US9847110B2 (en) 2014-09-03 2017-12-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector
US9589602B2 (en) 2014-09-03 2017-03-07 Micron Technology, Inc. Comparison operations in memory
US10068652B2 (en) 2014-09-03 2018-09-04 Micron Technology, Inc. Apparatuses and methods for determining population count
US9898252B2 (en) 2014-09-03 2018-02-20 Micron Technology, Inc. Multiplication operations in memory
US9836218B2 (en) 2014-10-03 2017-12-05 Micron Technology, Inc. Computing reduction and prefix sum operations in memory
US9940026B2 (en) 2014-10-03 2018-04-10 Micron Technology, Inc. Multidimensional contiguous memory allocation
US10163467B2 (en) 2014-10-16 2018-12-25 Micron Technology, Inc. Multiple endianness compatibility
US10147480B2 (en) 2014-10-24 2018-12-04 Micron Technology, Inc. Sort operation in memory
US9779784B2 (en) 2014-10-29 2017-10-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9747960B2 (en) 2014-12-01 2017-08-29 Micron Technology, Inc. Apparatuses and methods for converting a mask to an index
US10073635B2 (en) 2014-12-01 2018-09-11 Micron Technology, Inc. Multiple endianness compatibility
US10032493B2 (en) 2015-01-07 2018-07-24 Micron Technology, Inc. Longest element length determination in memory
US10061590B2 (en) 2015-01-07 2018-08-28 Micron Technology, Inc. Generating and executing a control flow
US9583163B2 (en) 2015-02-03 2017-02-28 Micron Technology, Inc. Loop structure for operations in memory
CN107408404B (zh) 2015-02-06 2021-02-12 美光科技公司 用于存储器装置的设备及方法以作为程序指令的存储
WO2016126472A1 (en) 2015-02-06 2016-08-11 Micron Technology, Inc. Apparatuses and methods for scatter and gather
CN107408405B (zh) 2015-02-06 2021-03-05 美光科技公司 用于并行写入到多个存储器装置位置的设备及方法
US10522212B2 (en) 2015-03-10 2019-12-31 Micron Technology, Inc. Apparatuses and methods for shift decisions
US9741399B2 (en) 2015-03-11 2017-08-22 Micron Technology, Inc. Data shift by elements of a vector in memory
US9898253B2 (en) 2015-03-11 2018-02-20 Micron Technology, Inc. Division operations on variable length elements in memory
US10365851B2 (en) 2015-03-12 2019-07-30 Micron Technology, Inc. Apparatuses and methods for data movement
US10146537B2 (en) 2015-03-13 2018-12-04 Micron Technology, Inc. Vector population count determination in memory
US10049054B2 (en) 2015-04-01 2018-08-14 Micron Technology, Inc. Virtual register file
US10140104B2 (en) 2015-04-14 2018-11-27 Micron Technology, Inc. Target architecture determination
US9959923B2 (en) * 2015-04-16 2018-05-01 Micron Technology, Inc. Apparatuses and methods to reverse data stored in memory
CN106796811B (zh) * 2015-05-05 2019-07-30 Gsi科技公司 Sram多单元操作
US10073786B2 (en) 2015-05-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for compute enabled cache
US9704541B2 (en) 2015-06-12 2017-07-11 Micron Technology, Inc. Simulating access lines
US9921777B2 (en) 2015-06-22 2018-03-20 Micron Technology, Inc. Apparatuses and methods for data transfer from sensing circuitry to a controller
US9996479B2 (en) 2015-08-17 2018-06-12 Micron Technology, Inc. Encryption of executables in computational memory
US9905276B2 (en) 2015-12-21 2018-02-27 Micron Technology, Inc. Control of sensing components in association with performing operations
US9952925B2 (en) 2016-01-06 2018-04-24 Micron Technology, Inc. Error code calculation on sensing circuitry
US10048888B2 (en) 2016-02-10 2018-08-14 Micron Technology, Inc. Apparatuses and methods for partitioned parallel data movement
US9892767B2 (en) 2016-02-12 2018-02-13 Micron Technology, Inc. Data gathering in memory
US9971541B2 (en) 2016-02-17 2018-05-15 Micron Technology, Inc. Apparatuses and methods for data movement
US10956439B2 (en) 2016-02-19 2021-03-23 Micron Technology, Inc. Data transfer with a bit vector operation device
US9899070B2 (en) 2016-02-19 2018-02-20 Micron Technology, Inc. Modified decode for corner turn
US9697876B1 (en) 2016-03-01 2017-07-04 Micron Technology, Inc. Vertical bit vector shift in memory
US9997232B2 (en) 2016-03-10 2018-06-12 Micron Technology, Inc. Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations
US10262721B2 (en) 2016-03-10 2019-04-16 Micron Technology, Inc. Apparatuses and methods for cache invalidate
US10379772B2 (en) 2016-03-16 2019-08-13 Micron Technology, Inc. Apparatuses and methods for operations using compressed and decompressed data
US9910637B2 (en) 2016-03-17 2018-03-06 Micron Technology, Inc. Signed division in memory
US11074988B2 (en) 2016-03-22 2021-07-27 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US10120740B2 (en) 2016-03-22 2018-11-06 Micron Technology, Inc. Apparatus and methods for debugging on a memory device
US10388393B2 (en) 2016-03-22 2019-08-20 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
CN116842306A (zh) 2016-03-23 2023-10-03 Gsi 科技公司 存储器内矩阵乘法及其在神经网络中的使用
US10474581B2 (en) 2016-03-25 2019-11-12 Micron Technology, Inc. Apparatuses and methods for cache operations
US10977033B2 (en) 2016-03-25 2021-04-13 Micron Technology, Inc. Mask patterns generated in memory from seed vectors
US10430244B2 (en) 2016-03-28 2019-10-01 Micron Technology, Inc. Apparatuses and methods to determine timing of operations
US10074416B2 (en) 2016-03-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for data movement
US10453502B2 (en) 2016-04-04 2019-10-22 Micron Technology, Inc. Memory bank power coordination including concurrently performing a memory operation in a selected number of memory regions
US10607665B2 (en) 2016-04-07 2020-03-31 Micron Technology, Inc. Span mask generation
US9818459B2 (en) 2016-04-19 2017-11-14 Micron Technology, Inc. Invert operations using sensing circuitry
US9659605B1 (en) 2016-04-20 2017-05-23 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
US10153008B2 (en) 2016-04-20 2018-12-11 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
US10042608B2 (en) 2016-05-11 2018-08-07 Micron Technology, Inc. Signed division in memory
US9659610B1 (en) 2016-05-18 2017-05-23 Micron Technology, Inc. Apparatuses and methods for shifting data
US10049707B2 (en) 2016-06-03 2018-08-14 Micron Technology, Inc. Shifting data
US10387046B2 (en) 2016-06-22 2019-08-20 Micron Technology, Inc. Bank to bank data transfer
US10037785B2 (en) 2016-07-08 2018-07-31 Micron Technology, Inc. Scan chain operation in sensing circuitry
US12073328B2 (en) 2016-07-17 2024-08-27 Gsi Technology Inc. Integrating a memory layer in a neural network for one-shot learning
CN108351974B (zh) 2016-07-17 2024-06-18 Gsi科技公司 在恒定的处理时间内查找k个极值
US10388360B2 (en) 2016-07-19 2019-08-20 Micron Technology, Inc. Utilization of data stored in an edge section of an array
US10387299B2 (en) 2016-07-20 2019-08-20 Micron Technology, Inc. Apparatuses and methods for transferring data
US10733089B2 (en) 2016-07-20 2020-08-04 Micron Technology, Inc. Apparatuses and methods for write address tracking
US9767864B1 (en) 2016-07-21 2017-09-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in a sensing circuitry element
US9972367B2 (en) 2016-07-21 2018-05-15 Micron Technology, Inc. Shifting data in sensing circuitry
US10303632B2 (en) 2016-07-26 2019-05-28 Micron Technology, Inc. Accessing status information
US10468087B2 (en) 2016-07-28 2019-11-05 Micron Technology, Inc. Apparatuses and methods for operations in a self-refresh state
US9990181B2 (en) 2016-08-03 2018-06-05 Micron Technology, Inc. Apparatuses and methods for random number generation
US11029951B2 (en) 2016-08-15 2021-06-08 Micron Technology, Inc. Smallest or largest value element determination
US10606587B2 (en) 2016-08-24 2020-03-31 Micron Technology, Inc. Apparatus and methods related to microcode instructions indicating instruction types
US10466928B2 (en) 2016-09-15 2019-11-05 Micron Technology, Inc. Updating a register in memory
US10387058B2 (en) 2016-09-29 2019-08-20 Micron Technology, Inc. Apparatuses and methods to change data category values
US10014034B2 (en) 2016-10-06 2018-07-03 Micron Technology, Inc. Shifting data in sensing circuitry
US10529409B2 (en) 2016-10-13 2020-01-07 Micron Technology, Inc. Apparatuses and methods to perform logical operations using sensing circuitry
US9805772B1 (en) 2016-10-20 2017-10-31 Micron Technology, Inc. Apparatuses and methods to selectively perform logical operations
US10242728B2 (en) * 2016-10-27 2019-03-26 Samsung Electronics Co., Ltd. DPU architecture
US10732866B2 (en) 2016-10-27 2020-08-04 Samsung Electronics Co., Ltd. Scaling out architecture for DRAM-based processing unit (DPU)
US10373666B2 (en) 2016-11-08 2019-08-06 Micron Technology, Inc. Apparatuses and methods for compute components formed over an array of memory cells
US10423353B2 (en) 2016-11-11 2019-09-24 Micron Technology, Inc. Apparatuses and methods for memory alignment
US9761300B1 (en) 2016-11-22 2017-09-12 Micron Technology, Inc. Data shift apparatuses and methods
US10534836B2 (en) * 2016-12-06 2020-01-14 Gsi Technology Inc. Four steps associative full adder
US10489480B2 (en) 2017-01-22 2019-11-26 Gsi Technology Inc. Sparse matrix multiplication in associative memory device
US10402340B2 (en) 2017-02-21 2019-09-03 Micron Technology, Inc. Memory array page table walk
US10268389B2 (en) 2017-02-22 2019-04-23 Micron Technology, Inc. Apparatuses and methods for in-memory operations
US10403352B2 (en) 2017-02-22 2019-09-03 Micron Technology, Inc. Apparatuses and methods for compute in data path
US10838899B2 (en) 2017-03-21 2020-11-17 Micron Technology, Inc. Apparatuses and methods for in-memory data switching networks
US10185674B2 (en) 2017-03-22 2019-01-22 Micron Technology, Inc. Apparatus and methods for in data path compute operations
US11222260B2 (en) 2017-03-22 2022-01-11 Micron Technology, Inc. Apparatuses and methods for operating neural networks
US10049721B1 (en) 2017-03-27 2018-08-14 Micron Technology, Inc. Apparatuses and methods for in-memory operations
US10043570B1 (en) 2017-04-17 2018-08-07 Micron Technology, Inc. Signed element compare in memory
US10147467B2 (en) 2017-04-17 2018-12-04 Micron Technology, Inc. Element value comparison in memory
US9997212B1 (en) 2017-04-24 2018-06-12 Micron Technology, Inc. Accessing data in memory
US10942843B2 (en) 2017-04-25 2021-03-09 Micron Technology, Inc. Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes
US10236038B2 (en) 2017-05-15 2019-03-19 Micron Technology, Inc. Bank to bank data transfer
US10068664B1 (en) 2017-05-19 2018-09-04 Micron Technology, Inc. Column repair in memory
US10013197B1 (en) 2017-06-01 2018-07-03 Micron Technology, Inc. Shift skip
US10262701B2 (en) 2017-06-07 2019-04-16 Micron Technology, Inc. Data transfer between subarrays in memory
US10152271B1 (en) 2017-06-07 2018-12-11 Micron Technology, Inc. Data replication
US10318168B2 (en) 2017-06-19 2019-06-11 Micron Technology, Inc. Apparatuses and methods for simultaneous in data path compute operations
US10162005B1 (en) 2017-08-09 2018-12-25 Micron Technology, Inc. Scan chain operations
US10514914B2 (en) * 2017-08-29 2019-12-24 Gsi Technology Inc. Method for min-max computation in associative memory
US10402165B2 (en) 2017-08-30 2019-09-03 Gsi Technology Inc. Concurrent multi-bit adder
US10534553B2 (en) 2017-08-30 2020-01-14 Micron Technology, Inc. Memory array accessibility
US10956432B2 (en) 2017-08-30 2021-03-23 Gsi Technology Inc. One by one selection of items of a set
US10741239B2 (en) 2017-08-31 2020-08-11 Micron Technology, Inc. Processing in memory device including a row address strobe manager
US10346092B2 (en) 2017-08-31 2019-07-09 Micron Technology, Inc. Apparatuses and methods for in-memory operations using timing circuitry
US10416927B2 (en) 2017-08-31 2019-09-17 Micron Technology, Inc. Processing in memory
US10409739B2 (en) 2017-10-24 2019-09-10 Micron Technology, Inc. Command selection policy
US10522210B2 (en) 2017-12-14 2019-12-31 Micron Technology, Inc. Apparatuses and methods for subarray addressing
US10332586B1 (en) 2017-12-19 2019-06-25 Micron Technology, Inc. Apparatuses and methods for subrow addressing
US10614875B2 (en) * 2018-01-30 2020-04-07 Micron Technology, Inc. Logical operations using memory cells
US10437557B2 (en) 2018-01-31 2019-10-08 Micron Technology, Inc. Determination of a match between data values stored by several arrays
US11194477B2 (en) 2018-01-31 2021-12-07 Micron Technology, Inc. Determination of a match between data values stored by three or more arrays
US10635397B2 (en) * 2018-03-08 2020-04-28 Gsi Technology Inc. System and method for long addition and long multiplication in associative memory
US10725696B2 (en) 2018-04-12 2020-07-28 Micron Technology, Inc. Command selection policy with read priority
US10440341B1 (en) 2018-06-07 2019-10-08 Micron Technology, Inc. Image processor formed in an array of memory cells
US10803141B2 (en) 2018-07-05 2020-10-13 Gsi Technology Inc. In-memory stochastic rounder
US10755766B2 (en) 2018-09-04 2020-08-25 Micron Technology, Inc. Performing logical operations using a logical operation component based on a rate at which a digit line is discharged
US10769071B2 (en) 2018-10-10 2020-09-08 Micron Technology, Inc. Coherent memory access
US11175915B2 (en) 2018-10-10 2021-11-16 Micron Technology, Inc. Vector registers implemented in memory
US10483978B1 (en) 2018-10-16 2019-11-19 Micron Technology, Inc. Memory device processing
US10891991B2 (en) * 2018-11-26 2021-01-12 Gsi Technology Inc. Massively parallel, associative multiplier accumulator
US11184446B2 (en) 2018-12-05 2021-11-23 Micron Technology, Inc. Methods and apparatus for incentivizing participation in fog networks
US10817370B2 (en) * 2018-12-17 2020-10-27 Gsi Technology Inc. Self correcting memory device
KR102703432B1 (ko) * 2018-12-31 2024-09-06 삼성전자주식회사 메모리 장치를 이용한 계산 방법 및 이를 수행하는 메모리 장치
US11043259B2 (en) 2019-04-12 2021-06-22 The Trustees Of Princeton University System and method for in-memory compute
US12118056B2 (en) 2019-05-03 2024-10-15 Micron Technology, Inc. Methods and apparatus for performing matrix transformations within a memory array
US11520791B2 (en) 2019-05-19 2022-12-06 Gsi Technology Inc. In-memory efficient multistep search
US11941407B2 (en) 2019-05-20 2024-03-26 Gsi Technology Inc. Pipeline architecture for bitwise multiplier-accumulator (MAC)
US11094376B2 (en) 2019-06-06 2021-08-17 Stmicroelectronics International N.V. In-memory compute array with integrated bias elements
US10867655B1 (en) 2019-07-08 2020-12-15 Micron Technology, Inc. Methods and apparatus for dynamically adjusting performance of partitioned memory
US11360768B2 (en) 2019-08-14 2022-06-14 Micron Technolgy, Inc. Bit string operations in memory
US11449577B2 (en) 2019-11-20 2022-09-20 Micron Technology, Inc. Methods and apparatus for performing video processing matrix operations within a memory array
US11853385B2 (en) 2019-12-05 2023-12-26 Micron Technology, Inc. Methods and apparatus for performing diversity matrix operations within a memory array
DE102020130253A1 (de) * 2019-12-30 2021-07-01 Taiwan Semiconductor Manufacturing Co., Ltd. Speichervorrichtung
US11398271B2 (en) * 2019-12-30 2022-07-26 Taiwan Semiconductor Manufacturing Company, Ltd. Memory device having a comparator circuit
CN113391788B (zh) * 2020-03-11 2024-01-26 芯立嘉集成电路(杭州)有限公司 存储器内算术处理器及存储器内算术处理方法
CN113407809B (zh) * 2020-03-17 2024-01-09 Gsi 科技公司 高效的相似性搜索
US11645292B2 (en) 2020-03-17 2023-05-09 Gsi Technology Inc. Efficient similarity search
US11227641B1 (en) 2020-07-21 2022-01-18 Micron Technology, Inc. Arithmetic operations in memory
US12027238B2 (en) 2020-10-01 2024-07-02 Gsi Technology Inc. Functional protein classification for pandemic research
US20220318508A1 (en) * 2021-03-30 2022-10-06 Gsi Technology Inc. N-gram based classification with associative processing unit

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004159314A (ja) 2002-10-15 2004-06-03 Sony Corp メモリ装置、動きベクトルの検出装置および検出方法
JP2009259193A (ja) 2008-02-20 2009-11-05 Renesas Technology Corp 半導体信号処理装置

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4996666A (en) * 1988-08-12 1991-02-26 Duluk Jr Jerome F Content-addressable memory system capable of fully parallel magnitude comparisons
US5072422A (en) 1989-05-15 1991-12-10 E-Systems, Inc. Content-addressed memory system with word cells having select and match bits
US5426602A (en) * 1993-03-31 1995-06-20 Mentor Graphics Corporation Detection of multiple hits within a device having multiple sense outputs
US5450351A (en) * 1993-11-19 1995-09-12 International Business Machines Corporation Content addressable memory implementation with random access memory
US5428565A (en) * 1994-03-11 1995-06-27 Intel Corporation Single stage sensing apparatus for a content addressable memory
US5446686A (en) * 1994-08-02 1995-08-29 Sun Microsystems, Inc. Method and appartus for detecting multiple address matches in a content addressable memory
US6741494B2 (en) 1995-04-21 2004-05-25 Mark B. Johnson Magnetoelectronic memory element with inductively coupled write wires
US5691946A (en) * 1996-12-03 1997-11-25 International Business Machines Corporation Row redundancy block architecture
US5859791A (en) * 1997-01-09 1999-01-12 Northern Telecom Limited Content addressable memory
US6199177B1 (en) * 1998-08-28 2001-03-06 Micron Technology, Inc. Device and method for repairing a semiconductor memory
US6023434A (en) 1998-09-02 2000-02-08 Micron Technology, Inc. Method and apparatus for multiple row activation in memory devices
EP1182577A1 (en) * 2000-08-18 2002-02-27 SER Systeme AG Produkte und Anwendungen der Datenverarbeitung Associative memory
US20020108073A1 (en) 2001-02-02 2002-08-08 Hughes Brian William System for and method of operating a programmable column fail counter for redundancy allocation
US6421265B1 (en) 2001-03-22 2002-07-16 Integrated Devices Technology, Inc. DRAM-based CAM cell using 3T or 4T DRAM cells
US6732238B1 (en) 2001-06-08 2004-05-04 Tensilica, Inc. Set-associative cache memory having variable time decay rewriting algorithm
US6959358B2 (en) * 2001-07-06 2005-10-25 Micron Technology, Inc. Distributed content addressable memory
US6781856B2 (en) * 2001-09-25 2004-08-24 Micron Technology, Inc. Tertiary CAM cell
US6697276B1 (en) * 2002-02-01 2004-02-24 Netlogic Microsystems, Inc. Content addressable memory device
US7474553B2 (en) * 2002-09-02 2009-01-06 Nxp B.V. Device writing to a plurality of rows in a memory matrix simultaneously
US7082044B2 (en) * 2003-03-12 2006-07-25 Sensory Networks, Inc. Apparatus and method for memory efficient, programmable, pattern matching finite state machine hardware
US7181568B2 (en) * 2004-03-25 2007-02-20 Intel Corporation Content addressable memory to identify subtag matches
US7523251B2 (en) 2005-01-18 2009-04-21 Cisco Technology, Inc. Quaternary content-addressable memory
JP4861012B2 (ja) * 2005-03-31 2012-01-25 ルネサスエレクトロニクス株式会社 Cam装置
KR100666174B1 (ko) 2005-04-27 2007-01-09 삼성전자주식회사 3-레벨 불휘발성 반도체 메모리 장치 및 이에 대한구동방법
US7349230B2 (en) 2005-10-18 2008-03-25 Cisco Technology, Inc. Associative memory cells configured to selectively produce binary or ternary content-addressable memory lookup results
JP4989900B2 (ja) * 2006-01-31 2012-08-01 ルネサスエレクトロニクス株式会社 並列演算処理装置
US7369422B2 (en) * 2006-02-23 2008-05-06 Laurence Hager Cooke Serial content addressable memory
US7539030B2 (en) 2006-03-28 2009-05-26 Applied Wireless Identification Group, Inc. Attribute cache memory
US7752412B2 (en) * 2006-09-29 2010-07-06 Sandisk Corporation Methods of managing file allocation table information
US7965564B2 (en) * 2007-09-18 2011-06-21 Zikbit Ltd. Processor arrays made of standard memory cells
US20090141530A1 (en) * 2007-12-03 2009-06-04 International Business Machines Corporation Structure for implementing enhanced content addressable memory performance capability
US20090254694A1 (en) * 2008-04-02 2009-10-08 Zikbit Ltd. Memory device with integrated parallel processing
US20120246380A1 (en) * 2009-10-21 2012-09-27 Avidan Akerib Neighborhood operations for parallel processing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004159314A (ja) 2002-10-15 2004-06-03 Sony Corp メモリ装置、動きベクトルの検出装置および検出方法
JP2009259193A (ja) 2008-02-20 2009-11-05 Renesas Technology Corp 半導体信号処理装置

Also Published As

Publication number Publication date
KR20160099111A (ko) 2016-08-19
US20110013442A1 (en) 2011-01-20
US8238173B2 (en) 2012-08-07
US20120243283A1 (en) 2012-09-27
KR101714558B1 (ko) 2017-03-09
KR101714560B1 (ko) 2017-03-09
WO2011007304A1 (en) 2011-01-20
KR20120049271A (ko) 2012-05-16
US20120243284A1 (en) 2012-09-27
US8711638B2 (en) 2014-04-29
KR20160136464A (ko) 2016-11-29
KR20160136463A (ko) 2016-11-29
KR101647086B1 (ko) 2016-08-09
US8908465B2 (en) 2014-12-09

Similar Documents

Publication Publication Date Title
KR101714559B1 (ko) 연산을 수행하기 위해 기억 셀을 이용하는 장치 및 방법
US9076527B2 (en) Charge sharing in a TCAM array
KR101789611B1 (ko) Sram 다중-셀 작동 방법
US20200381026A1 (en) In-memory computing device for 8t-sram memory cells
US6137707A (en) Method and apparatus for simultaneously performing a plurality of compare operations in content addressable memory device
US9543015B1 (en) Memory array and coupled TCAM architecture for improved access time during search operation
US8125810B2 (en) Low power ternary content-addressable memory (TCAM)
US7848128B2 (en) Apparatus and method for implementing matrix-based search capability in content addressable memory devices
JP2005190543A5 (ko)
JPH1050076A (ja) 連想メモリ
CN114464223A (zh) 用于产生刷新地址的设备和方法
Chen et al. Reconfigurable 2T2R ReRAM with split word-lines for TCAM operation and in-memory computing
US20120243285A1 (en) Multiple write during simultaneous memory access of a multi-port memory device
Datti et al. Performance evaluation of content addressable memories
CN112735506A (zh) 从低阶mux设计衍生出高阶mux的电路架构
US20160358654A1 (en) Low-power ternary content addressable memory
JP3508849B2 (ja) 半導体装置および半導体装置の検査方法
US5524226A (en) Register file system for microcomputer including a decoding system for concurrently activating source and destination word lines
US6580628B2 (en) Associative memory
CN118280410B (zh) 10t1c-sram存算单元、存算阵列、及存算电路
KR20190081885A (ko) 전치 읽기를 지원하는 sram 구조
Tiwari et al. Fast and Energy Efficient (0.01-2.78 aJ) Logic In Memory Module using SRAM Cells
JP5632797B2 (ja) 連想メモリ、およびネットワークアドレス検索装置
CN117497024A (zh) 一种10t-mosfet-sram单元、及基于该单元的运算电路结构
Pavithra et al. Increasing the speed and reducing a sensing delay of content addressable memory

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
GRNT Written decision to grant