KR102297069B1 - 크로스바 어레이를 이용한 전자 장치 및 데이터 처리 방법 - Google Patents
크로스바 어레이를 이용한 전자 장치 및 데이터 처리 방법 Download PDFInfo
- Publication number
- KR102297069B1 KR102297069B1 KR1020200053290A KR20200053290A KR102297069B1 KR 102297069 B1 KR102297069 B1 KR 102297069B1 KR 1020200053290 A KR1020200053290 A KR 1020200053290A KR 20200053290 A KR20200053290 A KR 20200053290A KR 102297069 B1 KR102297069 B1 KR 102297069B1
- Authority
- KR
- South Korea
- Prior art keywords
- row
- column
- output
- input
- line
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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/0021—Auxiliary circuits
-
- 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/0021—Auxiliary circuits
- G11C13/0023—Address circuits or decoders
- G11C13/0026—Bit-line or column circuits
-
- 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/54—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
-
- 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
- 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/0007—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 metal oxide memory material, e.g. perovskites
-
- 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/0021—Auxiliary circuits
- G11C13/0023—Address circuits or decoders
-
- 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/0021—Auxiliary circuits
- G11C13/0023—Address circuits or decoders
- G11C13/0028—Word-line or row circuits
-
- 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/0021—Auxiliary circuits
- G11C13/003—Cell access
-
- 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/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
-
- 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/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
-
- 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/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
- G11C2013/0045—Read using current through the cell
-
- 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/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
- G11C2013/0078—Write using current through the cell
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2213/00—Indexing scheme relating to G11C13/00 for features not covered by this group
- G11C2213/70—Resistive array aspects
- G11C2213/72—Array wherein the access device being a diode
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2213/00—Indexing scheme relating to G11C13/00 for features not covered by this group
- G11C2213/70—Resistive array aspects
- G11C2213/77—Array wherein the memory element being directly connected to the bit lines and word lines without any access device being used
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Theoretical Computer Science (AREA)
- Biophysics (AREA)
- Neurology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Chemical & Material Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Crystallography & Structural Chemistry (AREA)
- Materials Engineering (AREA)
- Computer Hardware Design (AREA)
- Semiconductor Memories (AREA)
- Electronic Switches (AREA)
- Logic Circuits (AREA)
- Memory System (AREA)
Abstract
[과제] 고속화가 가능하고 또한 신뢰성이 높은 처리를 실시할 수 있는 크로스바 어레이를 이용한 전자 장치를 제공한다.
[해결수단] 본 발명의 연산 처리 장치(100)는, 크로스바 어레이(110)와, 행 라인에 전기적으로 접속된 행 선택/구동 회로(120)와, 열 라인에 전기적으로 접속된 열 선택/구동 회로(130)와, 각 부를 제어하는 제어부(140)를 포함한다. 제어부(140)는, 행 선택/구동 회로(120)에서 수취한 출력 신호를 행 선택/구동 회로(120)로부터 인가하는 것, 혹은 열 선택/구동 회로(130)에서 수취한 출력 신호를 열 선택/구동 회로(130)로부터 인가하는 것을 가능하게 한다.
[해결수단] 본 발명의 연산 처리 장치(100)는, 크로스바 어레이(110)와, 행 라인에 전기적으로 접속된 행 선택/구동 회로(120)와, 열 라인에 전기적으로 접속된 열 선택/구동 회로(130)와, 각 부를 제어하는 제어부(140)를 포함한다. 제어부(140)는, 행 선택/구동 회로(120)에서 수취한 출력 신호를 행 선택/구동 회로(120)로부터 인가하는 것, 혹은 열 선택/구동 회로(130)에서 수취한 출력 신호를 열 선택/구동 회로(130)로부터 인가하는 것을 가능하게 한다.
Description
본 발명은, 크로스바 어레이(Crossbar array)를 이용한 전자 장치에 관한 것으로, 특히, 크로스바 어레이의 크로스 포인트(Cross point)에 저항 변화형의 불휘발성(non-volatile) 기억 소자를 포함하는 크로스바 어레이에 관한 것이다.
이제, AI(인공지능)는, 여러가지 분야에서의 이용이 연구되어 그 실용화가 진행되고 있다. 반도체 메모리의 제조업자는, 시냅스 및 뉴런을 구조적으로 시뮬레이트(simulate)하는 AI 하드웨어로서, 뉴럴 네트워크(neural network)를 실현하려 하고 있다. 이러한 뉴럴 네트워크를 실현하는 하나의 디바이스로서, 크로스바 어레이가 검토되고 있다.
도 1에, 크로스바 어레이 또는 크로스바 메모리의 일례를 나타낸다. 동 도면에 도시한 것처럼, 크로스바 어레이는, 행 방향으로 연재(延在)하는 복수의 행 라인(10)과, 이와 직교하도록 열 방향으로 연재하는 복수의 열 라인(20)과, 각 행 라인(10)과 열 라인(20)과의 교차부에 접속된 멤리스터(Memristor)(30)를 포함하여 구성된다. 멤리스터(30)는, 예를 들어 전압 또는 전류를 더하는 것으로, 상이한 저항 상태를 프로그램 하는 불휘발성의 저항 변화형 메모리 소자이다. 저항 변화형 메모리 소자에 소망하는 저항값을 프로그램 함으로써, 각 행 라인(10)에 인가된 입력 전압은, 저항 변화형 메모리 소자의 컨덕턴스(저항값)에 의해 가중치 부여되고, 열 라인(20)을 흐르는 합산된 전류로서 출력된다. 이러한 크로스바 어레이는, 고속이고 효율이 좋은 벡터 행렬 연산 처리에 적절하고, 예를 들면, 뉴럴 네트워크, 데이터 압축, 암호화, 디지털 데이터 처리 등의 벡터 연산 처리에 이용된다.
예를 들면, 특허문헌 1은, 크로스바 어레이를 이용한 벡터 처리를 위한 닷프로덕트 엔진(Dot-Product Engine)을 개시하고 있다. 닷프로덕트 엔진은, 도 2에 도시한 것처럼, N행×M열의 크로스바 어레이(40)를 포함하고, 벡터 입력부(50)가 각 행 전극(52)에 접속되고, 벡터 출력부(60)가 각 열 전극(62)에 접속되고, 각 행 전극(52)과 각 열 전극(62)과의 교차부에 멤리스터(70)가 접속된다. 벡터 입력부(50)는, 어드레스 디코더를 이용하여 행 전극(52)을 선택하고, 선택한 행 전극(52)에 대응하는 드라이버를 구동한다. 벡터 출력부(60)는, 열 전극(62)의 전류를 전압으로 변환하기 위한 센스 회로(64)를 갖추고 있다. N×M의 크로스바 어레이의 각 행 전극(52)에 1세트의 전압을 인가해, 열 전극(62)을 흐르는 전류를 수집하여, 출력 전압을 측정함으로써, 벡터 행렬 곱셈이 실행된다. 각 열 전극(62)에서, 모든 입력 전압이 대응하는 멤리스터의 컨덕턴스로 가중치 부여되고, 이들 가중치 부여된 총계가 출력 전압에 반영된다.
예를 들면, 뉴럴 네트워크를 이용한 오토 인코더(Auto Encoder)는, 도 3에 도시한 것처럼, 예를 들면, 인식하려는 물체의 특징을 입력하고, 그 특징에 근거해 그것이 무엇인지를 높은 확률로 출력시키는 구조를 가진다. 오토 인코더는, 입력과 출력과의 사이에, 복수 인코더의 레이어와 복수 디코더의 레이어를 포함하고, 인코더 및 디코더의 가중치 부여 또는 부호는 학습 결과 등에 근거해 조정된다. 예를 들면, 오토 인코더 또는 그 일부를 크로스바 어레이로 실현하는 경우, 크로스바 어레이는, 입력과 출력과의 사이에서, 인코더 및 디코더의 각 레이어의 처리를 실시한다. 즉, i번째 레이어에서 처리한 출력 신호를, 다음의 i+1번째 레이어에 입력하고, i+1번째 레이어에서 처리한 출력 신호를 다음의 i+2번째 레이어에 입력하고, 이러한 처리를 순차적으로 반복할 필요가 있다.
그렇지만, 크로스바 어레이는, 도 2에 도시한 것처럼, 어레이의 행 방향의 일방(一方)의 단부에 입력부를 갖추고, 열 방향의 일방의 단부에 출력부를 갖추는 구성이고, 열 방향의 출력부에서 수취한 출력 신호를 다음의 레이어의 입력부에 인가하기 위해서는, 열 방향의 출력부로부터 행 방향의 입력부까지의 신호를 반송(搬送)해야 한다. 크로스바 어레이의 출력 신호는, 멤리스터에 의한 저항의 가중치 부여를 반영하기 때문에, 신호 반송에 의한 신호의 열화(예를 들면, 전압 저하나 노이즈 등)를 피하는 것이 매우 바람직하다. 또, 열 방향의 출력부로부터 행 방향의 입력부까지의 신호 반송에 따른 지연은, 크로스바 어레이의 처리 시간에도 영향을 미친다.
본 발명은, 이러한 종래의 과제를 해결하는 것으로서, 고속화가 가능하고 또한 신뢰성이 높은 처리를 실시할 수 있는 크로스바 어레이를 이용한 전자 장치 및 데이터 처리 방법을 제공하는 것을 목적으로 한다.
본 발명에 따른 크로스바 어레이를 이용한 전자 장치는, 행 방향으로 연재하는 m개의 행 라인(行線)과, 열 방향으로 연재하는 n개의 열 라인(列線)과, m개의 행 라인과 n개의 열 라인과의 각 교차부에 접속된 저항 변화형 메모리 소자를 포함하는 크로스바 어레이와, m개의 행 라인에 전기적으로 접속된 행측 회로와, n개의 열 라인에 전기적으로 접속된 열측 회로와, 상기 행측 회로 및 상기 열측 회로를 제어하는 제어 수단을 포함하고, 행측 회로는, 선택된 행 라인에 입력 신호를 인가하는 행 입력부와, 선택된 행 라인으로부터 출력 신호를 수취(receive)하는 행 출력부를 포함하고, 열측 회로는, 선택된 열 라인에 입력 신호를 인가하는 열 입력부와, 선택된 열 라인으로부터 출력 신호를 수취하는 열 출력부를 포함하고, 상기 제어 수단은, 상기 행 출력부로부터 수취한 출력 신호를 상기 행 입력부로부터 인가하는 것, 혹은 상기 열 출력부로부터 수취한 출력 신호를 상기 열 입력부로부터 인가하는 것을 가능하게 한다.
어느 실시 형태에서는, 상기 행 입력부가 제1 선택된 행 라인에 제1 입력 신호를 인가해, 상기 열 출력부가 제1 선택된 열 라인으로부터 제1 입력 신호에 대응하는 제1 출력 신호를 수취했을 경우에, 상기 열 입력부는, 상기 열 출력부에서 수취한 제1 출력 신호에 대응하는 제2 입력 신호를 제2 선택된 열 라인에 인가한다. 어느 실시 형태에서는, 상기 열 입력부가 제2 선택된 열 라인에 제2 입력 신호를 인가해, 상기 행 출력부가 제2 선택된 행 라인으로부터 제2 입력 신호에 대응하는 제2 출력 신호를 수취했을 경우에, 상기 행 입력부는, 상기 행 출력부에서 수취한 제2 출력 신호에 대응하는 제3 입력 신호를 제3 선택된 행 라인에 인가한다. 어느 실시 형태에서는, 상기 행측 회로는, 상기 행 출력부에서 수취한 출력 신호 또는 상기 제어 수단으로부터 공급된 입력 신호의 어느 하나를 상기 행 입력부에 공급하는 제1 입력 절체 회로를 더 포함하고, 상기 열측 회로는, 상기 열 출력부에서 수취한 출력 신호 또는 상기 제어 수단으로부터 공급된 입력 신호의 어느 하나를 상기 열 입력부에 공급하는 제2 입력 절체 회로를 더 포함한다. 어느 실시 형태에서는, 상기 행측 회로는, 상기 행 출력부에서 수취한 출력 신호를 상기 행 입력부 또는 상기 제어 수단으로 출력하는 제1 출력 절체 회로를 더 포함하고, 상기 열측 회로는, 상기 열 출력부에서 수취한 출력 신호를 상기 열 입력부 또는 상기 제어 수단으로 출력하는 제2 출력 절체 회로를 더 포함한다. 어느 실시 형태에서는, 상기 행측 회로는, 행 선택 신호에 근거해 행 라인을 선택하는 행 선택 회로를 더 포함하고, 상기 열측 회로는, 열 선택 신호에 근거해 열 라인을 선택하는 열 선택 회로를 더 포함한다. 어느 실시 형태에서는, 상기 행 출력부는, 선택된 하나 또는 복수의 행 라인에 흐르는 전류를 합산하는 합산부와, 상기 합산부에서 합산된 전류에 대응하는 아날로그 전압을 디지털 신호로 변환하는 AD 변환기와, AD 변환기에서 변환된 디지털 신호를 보관유지 하는 보관유지 회로를 포함하고, 상기 행 입력부는, 입력된 디지털 신호에 근거해 아날로그 전압을 생성하는 DA 변환기를 포함하고, 상기 열 출력부는, 선택된 하나 또는 복수의 열 라인에 흐르는 전류를 합산하는 합산부와, 상기 합산부에서 합산된 전류에 대응하는 아날로그 전압을 디지털 신호로 변환하는 AD 변환기와, AD 변환기에서 변환된 디지털 신호를 보관유지 하는 보관유지 회로를 포함하고, 상기 열 입력부는, 입력된 디지털 신호에 근거해 아날로그 전압을 생성하는 DA 변환기를 포함한다. 어느 실시 형태에서는, 상기 크로스바 어레이는, 행렬 방향으로 배치된 복수의 어레이와, 인접하는 어레이 사이에 배치되어, 행 방향 및 열 방향의 어레이 사이의 전기적인 접속 또는 비접속의 절체(switching)를 실시하는 절체 회로를 포함한다. 어느 실시 형태에서는, 상기 크로스바 어레이의 행 방향의 일방의 단부에 상기 행측 회로가 배치되고, 상기 크로스바 어레이의 열 방향의 일방의 단부에 상기 열측 회로가 배치된다. 어느 실시 형태에서는, 상기 제어 수단은, 선택된 행 라인 및 선택된 열 라인을 통해, 저항 변화형 메모리 소자의 저항값을 프로그램 하는 프로그램 수단을 포함한다. 어느 실시 형태에서는, 상기 프로그램 수단은, 선택된 행 라인 및 선택된 열 라인을 통하여, 저(低) 저항 변화형 메모리 소자에, 선택된 극성의 프로그램 펄스를 인가한다. 어느 실시 형태에서는, 상기 제어 수단은, 상기 저항 변화형 메모리 소자의 가중치 부여에 따라, 프로그램 수단을 제어한다.
본 발명에 따른 크로스바 어레이를 이용한 전자 장치에서의 신호의 처리 방법은, 상기 크로스바 어레이는, 행 방향으로 연재하는 m개의 행 라인과, 열 방향으로 연재하는 n개의 열 라인과, m개의 행 라인과 n개의 열 라인과의 각 교차부에 접속된 저항 변화형 메모리 소자를 포함하고, 상기 크로스바 어레이의 m개의 행 라인에는 행측 회로가 전기적으로 접속되고, n개의 열 라인에는 열측 회로가 전기적으로 접속되어 있고, 상기 행측 회로의 제1 선택된 행 라인에 제1 입력 신호를 인가해, 상기 열측 회로의 제1 선택된 열 라인으로부터 제1 입력 신호에 대응하는 제1 출력 신호를 출력시키고, 상기 열측 회로의 제2 선택된 열 라인에 제1 출력 신호에 대응하는 제2 입력 신호를 인가해, 상기 행측 회로의 제2 선택된 행 라인으로부터 제2 입력 신호에 대응하는 제2 출력 신호를 출력시킨다.
어느 실시 형태에서는, 처리 방법은, 상기 행측 회로의 제3 선택된 행 라인에 제2 출력 신호에 대응하는 제3 입력 신호를 더 인가해, 상기 열측 회로의 제3 선택된 열 라인으로부터 제3 입력 신호에 대응하는 제3 출력 신호를 출력시키고, 상기 열측 회로의 제4 선택된 열 라인에 제3 출력 신호에 대응하는 제4 입력 신호를 더 인가해, 상기 행측 회로의 제4 선택된 행 라인으로부터 제4 입력 신호에 대응하는 제4 출력 신호를 출력시킨다. 어느 실시 형태에서는, 처리 방법은, 선택된 행 라인과 선택된 열 라인에 프로그램 전압을 인가함으로써, 저항 변화형 메모리 소자의 저항값을 프로그램 하는 것을 더 포함한다.
본 발명에 의하면, 행 출력부로부터 수취한 출력 신호를 행 입력부로부터 인가하는 것, 혹은 열 출력부로부터 수취한 출력 신호를 열 입력부로부터 인가 가능하게 함으로써, 입출력 신호의 신호 열화를 억제하고, 신뢰성이 높은 고속 처리를 실시할 수 있다.
[도 1] 종래의 멤리스터를 이용한 크로스바 어레이의 일례를 도시한 사시도이다.
[도 2] 종래의 크로스바 어레이를 이용한 행렬 연산 회로의 일례를 도시한 도면이다.
[도 3] 뉴럴 네트워크를 이용한 오토 인코더의 일례를 도시한 도면이다.
[도 4] 본 발명의 실시예에 따른 연산 처리 장치의 일례를 도시한 블록도이다.
[도 5] 본 발명의 실시예에 따른 크로스바 어레이의 동작 원리를 설명하는 도면이다.
[도 6] 본 발명의 실시예에 따른 행 선택/구동 회로 및 열 선택/구동 회로의 구성을 도시한 도면이다.
[도 7] 본 발명의 제2 실시예에 따른 크로스바 어레이의 구성 예를 도시한 도면이다.
[도 8] 도 7에 도시한 크로스바 어레이를 이용했을 때의 동작 예를 도시한 도면이다.
[도 2] 종래의 크로스바 어레이를 이용한 행렬 연산 회로의 일례를 도시한 도면이다.
[도 3] 뉴럴 네트워크를 이용한 오토 인코더의 일례를 도시한 도면이다.
[도 4] 본 발명의 실시예에 따른 연산 처리 장치의 일례를 도시한 블록도이다.
[도 5] 본 발명의 실시예에 따른 크로스바 어레이의 동작 원리를 설명하는 도면이다.
[도 6] 본 발명의 실시예에 따른 행 선택/구동 회로 및 열 선택/구동 회로의 구성을 도시한 도면이다.
[도 7] 본 발명의 제2 실시예에 따른 크로스바 어레이의 구성 예를 도시한 도면이다.
[도 8] 도 7에 도시한 크로스바 어레이를 이용했을 때의 동작 예를 도시한 도면이다.
다음으로, 본 발명의 실시 형태에 대해 도면을 참조해 상세히 설명한다. 바람직한 실시 형태에서는, 크로스바 어레이는, AI 하드웨어로서의 뉴럴 네트워크를 구성하기 위한 디바이스로서 사용된다. 또, 크로스바 어레이는, 행렬의 교차부에 멤리스터로서의 저항 변화형 메모리 소자를 포함하고, 저항 변화형 메모리 소자는, 극성(極性)이 상이한 전류 또는 전압을 인가함으로써, 상이한 저항 상태를 기억할 수 있다. 기억되는 저항 상태는, 2값을 나타내는 것이어도 무방하고, 혹은 다값을 나타내는 것이어도 무방하고, 아날로그적인 저항값이어도 무방하다. 바람직한 실시 형태에서는, 크로스바 어레이는, 컴퓨터 장치 혹은 컴퓨터 시스템에 조입되어, 마이크로 프로세서 혹은 CPU 등에 의한 데이터 처리 또는 연산 처리의 적어도 일부를 담당한다.
[실시예]
도 4는, 본 실시예의 연산 처리 장치의 구성 예를 도시한 블록도이다. 본 실시예의 연산 처리 장치(100)는, 크로스바 어레이(110), 행 선택/구동 회로(120), 열 선택/구동 회로(130), 제어부(140) 및 입출력(I/O)부(150)를 포함하여 구성된다. 연산 처리 장치(100)는, 예를 들면, AI칩 또는 반도체 집적회로에 실장(實裝)된다.
크로스바 어레이(110)는, 예를 들면, 도 1에 도시한 것처럼, 행 방향으로 연재하는 복수의 행 라인과, 열 방향으로 연재하는 복수의 열 라인과, 행 라인과 열 라인과의 교차부에 접속된 멤리스터(저항 변화형 메모리 소자)를 포함하여 구성된다. 행 라인 및 열 라인의 수, 형상, 도전성 재료 등은 임의이다. 또, 크로스바 어레이(110)는, 도 1에 도시한 크로스바 어레이를 1쌍으로 해서, 이를 수직 방향으로 복수 쌍 적층하는 것이어도 무방하다.
행 선택/구동 회로(120)는, 제어부(140)로부터의 행 선택 신호에 근거해 크로스바 어레이(110)의 행 라인을 선택하고, 선택한 행 라인에 입력 전압을 인가하거나, 혹은 선택한 행 라인을 흐르는 전류를 센스한다. 본 실시예의 행 선택/구동 회로(120)는, 후술하는 것처럼, 입력 신호를 선택된 행에 인가해, 선택된 행으로부터 출력 신호를 수취하고, 이 출력 신호를 선택된 행에 인가하는 입출력 기능을 갖추고, 이 입출력 기능은, 제어부(140)에 의해 제어된다.
열 선택/구동 회로(130)는, 제어부(140)로부터의 열 선택 신호에 근거해 크로스바 어레이(110)의 열 라인을 선택하고, 선택한 열 라인에 입력 전압을 인가하거나, 혹은 선택한 열 라인을 흐르는 전류를 센스한다. 본 실시예의 열 선택/구동 회로(130)는, 입력 신호를 선택된 열에 인가해, 선택된 열로부터 출력 신호를 수취하고, 이 출력 신호를 선택된 열에 인가하는 입출력 기능을 갖추고, 이 입출력 기능은, 제어부(140)에 의해 제어된다.
제어부(140)는, 하드웨어 및/또는 소프트웨어에 의해 구성되어, 각 부의 동작을 제어한다. 어느 실시 형태에서는, 제어부(140)는, ROM/RAM을 포함하는 마이크로 컨트롤러, 마이크로 프로세서, 혹은 스테이트 머신(State machine) 등을 포함하고, 예를 들면, ROM/RAM에 저장된 소프트웨어를 실행함으로써 각 부의 동작을 제어한다. 제어부(140)는, 크로스바 어레이(110)를 이용해 연산 처리를 하기 위한 여러가지 제어를 실시한다. 예를 들면, 행 선택/구동 회로(120)에 행을 선택시키기 위한 행 선택 신호를 출력하거나, 열 선택/구동 회로(130)에 열을 선택시키기 위한 열 선택 신호를 출력하거나, 연산을 위한 입력 신호나 저항 변화형 메모리 소자를 프로그램하기 위한 제어 신호를 행 선택/구동 회로(120)나 열 선택/구동 회로(130)에 출력하거나, 혹은 행 선택/구동 회로(120)나 열 선택/구동 회로(130)로부터 연산 처리된 출력 신호를 수취한다.
입출력부(150)는, 예를 들면, 내부 데이터 버스를 통하여 제어부(140)와 접속되고, 외부로부터 수취한 데이터를 제어부(140)로 제공하거나, 제어부(140)로부터 수취한 데이터를 외부에 출력한다.
다음으로, 본 실시예의 크로스바 어레이의 동작 원리에 대해 도 5를 참조해 설명한다. 여기에서는, 크로스바 어레이(110)가 6개의 행 라인(ROW1~ROW6)과 8개의 열 라인(COL1~COL8)을 가지고, 이들 행 라인과 열 라인과의 교차부에 저항 변화형 메모리 소자가 접속되어 있는 것으로 한다. 어느 동작 예로서, 행 라인(ROW2, ROW3)이 선택되고, 선택된 행 라인(ROW2, ROW3)에 "입력 1"로서 입력 전압이 인가되었을 때, 제어부(140)에 의해 열 라인(COL1, COL2)이 선택되고, 선택된 열 라인(COL1, COL2)으로부터 "출력 1"로서 전류가 출력된다. 열 라인(COL1)의 출력 전류(ICOL1)는, 행 라인(ROW2)으로부터 저항 변화형 메모리 소자를 통해 흘러 드는 전류(I21)와, 행 라인(ROW3)으로부터 저항 변화형 메모리 소자를 통해 흘러 드는 전류(I31)와의 합계이며, 열 라인(COL2)의 출력 전류(ICOL2)는, 행 라인(ROW2)으로부터 저항 변화형 메모리 소자를 통해 흘러 드는 전류(I22)와, 행 라인(ROW3)으로부터 저항 변화형 메모리 소자를 통해 흘러 드는 전류(I32)와의 합계이다.
전류(I21)는, 옴의 법칙에 따라, 행 라인(ROW2)에 인가되는 전압(V2)과, 저항 변화형 메모리 소자의 저항값(R21)(여기서는, 편의상, 라인의 저항을 무시한다)에 따라 결정되고(I21 = V2/R21), 마찬가지로, 전류(I31)는, 행 라인(ROW3)에 인가되는 전압(V3)과, 저항 변화형 메모리 소자의 저항값(R31)에 따라 결정된다(I31 = V3/R31). 따라서, 열 라인(COL1)의 출력 전류 ICOL1 = I21 + I31 = V2/R21 + V3/R31이며, 마찬가지로, 열 라인(COL2)의 출력 전류 ICOL2 = I22 + I32 = V2/R22 + V3/R32이다.
다음으로, 열 라인(COL5)이 선택되고, 선택된 열 라인(COL5)에 "입력 2"로서 입력 전압이 인가된다. "입력 2"의 입력 전압은, "출력 1"의 출력 전류에 대응한다. 즉, "출력 1"은, 출력 전류 ICOL1와 ICOL2의 합계 전류이며, 이 합계 전류를 전압으로 변환한 것이 "입력 2"의 입력 전압이다. 선택된 열 라인(COL5)에 "입력 2"가 인가되었을 때, 제어부(140)에 의해 행 라인(ROW4, ROW5)이 선택되고, 선택된 행 라인(ROW4, ROW5)으로부터 "출력 2"로서 전류가 출력된다. "출력 2"는, 행 라인(ROW4)의 출력 전류(IROW4)와 행 라인(ROW5)의 출력 전류(IROW5)의 합계 전류이다.
다음으로, 행 라인(ROW6)이 선택되고, 선택된 행 라인(ROW6)에 "입력 3"으로서 입력 전압이 인가된다. "입력 3"의 입력 전압은, "출력 2"의 출력 전류에 대응하고, "출력 2"의 출력 전류를 전압으로 변환한 것이 "입력 3"의 입력 전압이다. 선택된 행 라인(ROW6)에 "입력 3"의 전압이 인가되었을 때, 제어부(140)에 의해 열 라인(COL6, COL7, COL8)이 선택되고, 선택된 열 라인(COL6, COL7, COL8)으로부터 "출력 3"으로서 전류가 출력된다. "출력 3"은, 열 라인(COL6, COL7, COL8)의 출력 전류(ICOL6, ICOL7, ICOL8)의 합계 전류이다.
다음으로, 열 라인(COL3, COL4)이 선택되고, 선택된 열 라인(COL3, COL4)에 "입력 4"로서 입력 전압이 인가된다. "입력 4"의 입력 전압은, "출력 3"의 출력 전류에 대응하고, "출력 3"의 출력 전류를 전압으로 변환한 것이 "입력 4"의 입력 전압이다. 선택된 열 라인(COL3, COL4)에 "입력 4"가 인가되었을 때, 제어부(140)에 의해 행 라인(ROW1)이 선택되고, 선택된 행 라인(ROW1)으로부터 "출력 4"로서 전류가 출력된다. "출력 4"는, 열 라인(COL3, COL4)으로부터 행 라인(ROW1)에 흘러 드는 전류의 합계 전류이다.
여기서, "입력 1"은, 입력 레이어에 대응하고, "출력 4"는 출력 레이어에 대응하고, "입력 2", "입력 3", "출력 2", "출력 3"은, 입력 레이어와 출력 레이어 사이의 중간 레이어에 대응한다.
이와 같이 본 실시예에서는, 크로스바 어레이는, 행 라인으로부터의 입력 및 출력을 가능하게 하고, 열 라인으로부터의 입력 및 출력을 가능하게 한다. 이에 따라, 행 라인으로부터 출력된 출력 신호를 다음의 레이어로서의 행 라인에 직접 입력하거나, 열 라인으로부터 출력된 출력 신호를 다음의 레이어로서의 열 라인에 직접 입력하는 것이 가능하게 된다. 이 때문에, 행 라인으로부터 열 라인 또는 열 라인으로부터 행 라인으로 출력 신호를 반송할 필요가 없어져, 출력 신호 또는 입력 신호의 열화(전압 저하나 노이즈)를 억제하고, 출력 신호를 입력할 때까지의 시간을 단축시킴으로써, 나아가서는 연산 처리 시간을 단축할 수 있다. 게다가, 크로스바 어레이의 유연한 사용이 가능해지기 때문에, 어레이의 미사용 영역을 줄여서 어레이의 유효 이용을 도모할 수 있다.
다음으로, 행 선택/구동 회로(120)의 구체 예를 도 6의 (A)에 도시한다. 동 도면에 도시한 것처럼, 행 선택/구동 회로(120)는, 행 선택 신호(SEL_X)에 근거해 하나 또는 복수의 행 라인을 선택하는 행 선택 회로(200)와, 입력된 k비트의 디지털 신호에 근거해 아날로그 전압을 생성하는 DAC(디지털/아날로그 변환기)(210)와, DAC(210)에서 생성된 아날로그 전압을 입력 전압으로서 선택된 행 라인에 인가하는 구동부(220)와, 선택된 행 라인을 흐르는 출력 전류를 수취하고, 선택된 행 라인이 복수인 경우에는 복수의 출력 전류를 합산하고, 합산한 출력 전류에 대응하는 전압을 생성하는 가산부(230)와, 가산부(230)에서 생성된 아날로그 출력 전압을 k비트의 디지털 신호로 변환하는 ADC(아날로그/디지털 변환기)(240), ADC(240)로부터 출력되는 디지털 신호를 보관유지 하는 보관유지부(예를 들면, 레지스터 등)(250)와, 입출력 절체부(260)와, 프로그램 회로(270)를 포함한다.
입출력 절체부(260)는, 입력의 절체를 실시하는 스위치(SW1)와, 출력의 절체를 실시하는 스위치(SW2)를 포함하고, 제어부(140)로부터의 절체 제어 신호(SW_X)에 근거하여 스위치(SW1, SW2)의 절체를 실시한다. 스위치(SW1)는, 제어부(140)로부터 출력되는 디지털 신호를 입력하는 제1 입력 단자와, 스위치(SW2)로부터 출력되는 디지털 신호를 입력하는 제2 입력 단자와, 제1 입력 단자 또는 제2 입력 단자로부터의 디지털 신호를 DAC(210)에 출력하는 출력 단자를 포함한다. 스위치(SW2)는, 보관유지부(250)에 접속된 입력 단자와, 제어부(140)에 접속된 제1 출력 단자와, 스위치(SW1)의 입력 단자에 접속된 제2 출력 단자를 포함하고, 입력 단자에 입력된 디지털 신호를 스위치(SW1) 또는 제어부(140)로 출력한다.
프로그램 회로(270)는, 크로스바 어레이의 선택된 저항 변화형 메모리 소자를, 저(低) 저항 상태 또는 고(高) 저항 상태로 프로그램 할 때, 제어부(140)로부터의 프로그램 제어 신호(PRG_X)에 근거하여, 행 선택 회로(200)에 의해 선택된 행 라인에 소망하는 바이어스 전압을 인가한다. 이 경우, 열 선택/구동 회로(130)의 프로그램 회로(370)도 또한 제어부(140)로부터의 프로그램 제어 신호(PRG_Y)에 근거하여, 열 선택 회로(300)에 의해 선택된 열 라인에 소망하는 바이어스 전압을 인가한다. 이에 따라, 선택된 1개의 행 라인과 선택된 1개의 열 라인과의 교차부의 저항 변화형 메모리 소자에, 바이어스 전압이 인가된다. 바이어스 전압의 극성을 다르게 함으로써, 저항 변화형 메모리 소자는 저 저항 상태 또는 고 저항 상태로 프로그램 된다.
저항 변화형 메모리 소자의 저항값은, 예를 들면, 오토 인코더와 같은 뉴럴 네트워크의 가중치 부여 또는 가중치 부여 계수를 생성한다. 예를 들면, 프로그램 회로(270)에 의해 바이어스 전압을 펄스 신호로서 인가하는 경우, 제어부(140)는, 펄스 신호의 인가 시간, 펄스 신호의 인가 횟수를 제어하는 것으로 가중치 부여를 조정 또는 가변한다.
다음으로, 열 선택/구동 회로(130)의 구체 예를 도 6의 (B)에 도시한다. 동 도면에 도시한 것처럼, 열 선택/구동 회로(130)는, 기본적으로 행 선택/구동 회로(120)와 마찬가지로 구성된다. 즉, 열 선택/구동 회로(130)는, 열 선택 신호(SEL_Y)에 근거해 하나 또는 복수의 열 라인을 선택하는 열 선택 회로(300)와, 입력된 k비트의 디지털 신호에 근거해 아날로그 전압을 생성하는 DAC(디지털/아날로그 변환기)(310)와, DAC(310)에서 생성된 아날로그 전압을 입력 전압으로서 선택된 열 라인에 인가하는 구동부(320)와, 선택된 열 라인을 흐르는 출력 전류를 수취하고, 선택된 열 라인이 복수인 경우에는 복수의 출력 전류를 합산하고, 합산한 출력 전류에 대응하는 전압을 생성하는 가산부(330)와, 가산부(330)에서 생성된 아날로그 출력 전압을 k비트의 디지털 신호로 변환하는 ADC(아날로그/디지털 변환기)(340), ADC(340)로부터 출력되는 디지털 신호를 보관유지 하는 보관유지부(예를 들면, 레지스터 등)(350)와, 제어부(140)로부터의 절체 제어 신호(SW_Y)에 근거하여 스위치(SW1, SW2)의 절체를 실시하는 입출력 절체부(360)와, 제어부(140)로부터의 프로그램 제어 신호(PRG_Y)에 근거하여 선택된 저항 변화형 메모리 소자의 저항값의 프로그램을 실시하는 프로그램 회로(370)를 포함한다.
행 선택/구동 회로(120)는, 행 방향으로부터 출력 전류를 수취하고, 이 출력 전류에 따른 입력 전압을 행 방향으로부터 인가하는 것이 가능하고, 마찬가지로, 열 선택/구동 회로(130)는, 열 방향에서 출력 전류를 수취하고, 이 출력 전류에 따른 입력 전압을 열 방향에서 인가하는 것이 가능하다.
다음으로, 도 5의 동작 예를 참조하면서, 행 선택/구동 회로(120) 및 열 선택/구동 회로(130)의 동작을 설명한다. 도 5에 도시한 것처럼, 크로스바 어레이에 "입력 1"을 실시할 때, 제어부(140)는, 입력 전압을 나타내는 k비트의 디지털 신호를 입출력 절체부(260)의 스위치(SW1)를 통해 DAC(210)에 공급하고, DAC(210)는, k비트의 디지털 신호를 아날로그 전압으로 변환한다. 행 선택 회로(200)는, 제어부(140)로부터의 행 선택 신호(SEL_X)에 근거하여, 2개의 행 라인(ROW2, ROW3)을 선택하고, 구동부(220)는, DAC(210)에서 생성된 아날로그 전압을 "입력 1"로서 선택된 2개의 행 라인(ROW2, ROW3)에 인가한다.
제어부(140)는 게다가, "입력 1"에 대한 "출력 1"을 얻기 위해, 열 선택 회로(300)에 열 선택 신호(SEL_Y)를 출력하고, 열 선택 회로(300)는, 열 라인(COL1, COL2)을 선택한다. 열 라인(COL1)에는, 행 라인(ROW2, ROW3)에 인가된 입력 전압과, 행 라인(ROW2, ROW3)과의 교차부의 저항 변화형 메모리 소자의 저항값에 따른 출력 전류(ICOL1)가 생성되고, 열 라인(COL2)에는, 행 라인(ROW2, ROW3)에 인가된 입력 전압과, 행 라인(ROW2, ROW3)과의 교차부의 저항 변화형 메모리 소자의 저항값에 따른 출력 전류(ICOL2)가 생성된다. 가산부(330)는, 열 선택 회로(300)를 통하여 열 라인(COL1, COL2)을 흐르는 2개의 출력 전류(ICOL1, ICOL2)를 수취하고, 이들 출력 전류를 합산해(ICOL1 + ICOL2), 합산한 출력 전류에 대응하는 출력 전압을 생성한다.
다음으로, ADC(340)는, 출력 전압을 k비트의 디지털 신호로 변환하고, 보관유지부(350)는, 이 k비트 데이터를 "출력 1"로서 보관유지 한다. 여기서, 도 5에 도시한 것처럼, "출력 1"은, 다음에 "입력 2"로서 열 라인(COL5)에 인가된다. 그러므로, 제어부(140)는, 절체 제어 신호(SW_Y)에 따라 입출력 절체부(360)의 스위치(SW1, SW2)를 제어하여, 보관유지부(350)에서 보관유지된 k비트의 디지털 신호가 DAC(310)에 공급되도록 한다. 이렇게 해서, DAC(310)는, 보관유지부(350)에서 보관유지된 "출력 1"인 k비트의 디지털 신호를 수취하고, 이를 아날로그 전압으로 변환해, "입력 2"를 생성한다. 제어부(140)는, "입력 2"의 처리를 실행하기 위해, 열 선택 신호(SEL_Y)에 의해 열 선택 회로(300)의 열 라인(COL5)을 선택하게 하고, 선택된 열 라인(COL5)에 "입력 2"를 나타내는 입력 전압이 인가된다.
제어부(140)는, 열 선택 신호(SEL_Y)와 동기하는 타이밍에 행 선택 신호(SEL_X)를 행 선택 회로(200)에 출력하고, 행 선택 회로(200)는, 행 선택 신호(SEL_X)에 응답하여 행 라인(ROW4, ROW5)을 선택한다. 선택된 행 라인(ROW4, ROW5)을 흐르는 출력 전류(IROW4, IROW5)가 가산부(230)에 의해 합산되고, 가산부(230)는, 합산된 출력 전류에 대응하는 출력 전압을 생성하고, 이를 ADC(240)에 출력한다. ADC(240)는, 입력한 아날로그 출력 전압을 k비트의 디지털 신호로 변환하고, 보관유지부(250)는, 변환된 k비트의 디지털 신호를 "출력 2"로서 보관유지 한다.
다음으로, "출력 2"는, "입력 3"으로서 행 라인(ROW6)에 인가된다. 그러므로, 제어부(140)는, 절체 제어 신호(SW_X)에 따라 입출력 절체부(260)의 스위치(SW1, SW2)를 제어하여, 보관유지부(250)에서 보관유지된 k비트의 디지털 신호가 DAC(210)에 공급되도록 한다. 이렇게 해서, DAC(210)는, 보관유지부(250)에서 보관유지된 "출력 2"인 k비트의 디지털 신호를 수취하고, 이를 아날로그 전압으로 변환해, "입력 3"을 생성한다. 제어부(140)는, "입력 3"의 처리를 실행하기 위해, 행 선택 신호(SEL_X)에 의해 행 선택 회로(200)의 행 라인(ROW6)을 선택하게 하고, 선택된 행 라인(ROW6)에 "입력 3"을 나타내는 입력 전압이 인가된다.
이후, "출력 3", "입력 4"의 처리가 상기와 마찬가지로 실시된다. 그리고, 최후의 "출력 4"를 처리할 때, 보관유지부(250)에 보관유지된 k비트의 디지털 신호가 제어부(140)에 공급되도록, 제어부(140)는, 절체 제어 신호(SW_X)에 따라 스위치(SW1, SW2)를 제어한다.
다음으로, 본 발명의 제2 실시예에 대해 설명한다. 도 7은, 제2 실시 예의 크로스바 어레이의 개략 평면도이다. 동 도면에 도시한 것처럼, 본 실시예의 크로스바 어레이(400)는, 행렬 방향으로 배치된 복수의 어레이(410_1~416_3)(도면에는, 3행×4열의 어레이를 예시한다)와, 인접하는 어레이의 사이에 배치된 스위치(SW)와, 크로스바 어레이(400)의 행 방향의 일단에 배치된 행 선택/구동 회로(420(420_1~420_4))와, 열 방향의 일단에 배치된 열 선택/구동 회로(430(430_1~430_3))를 포함한다.
어레이의 각각은, 도 5에 도시한 크로스바 어레이를 구성한다. 또, 행 방향의 스위치(SW)는, 행 방향의 어레이 사이의 각 행 라인의 접속/비접속의 절체를 실시하고, 열 방향의 스위치(SW)는, 열 방향의 어레이 사이의 각 열 라인의 접속/비접속의 절체를 실시한다. 스위치(SW)의 절체는, 제어부(140)에 의해 제어된다.
제어부(140)는, 크로스바 어레이(400)에서 연산에 사용하는 하나 또는 복수의 어레이를 선택하고, 이때, 선택된 어레이의 각 행 라인이 행 선택/구동 회로(420)에 전기적으로 접속되고 또한 열 라인이 열 선택/구동 회로(430)에 전기적으로 접속되도록, 스위치(SW)를 제어한다. 예를 들면, 어레이(410_1)를 사용하는 경우에는, 행 방향의 스위치(450, 452)가 온(On) 하여, 어레이(410_1)의 행 라인이 행 선택/구동 회로(420_1)에 전기적으로 접속되고, 열 방향의 스위치(460, 462, 464)가 온 하여, 어레이(410_1)의 열 라인이 열 선택/구동 회로(430_1)에 전기적으로 접속된다. 그 밖에 불사용(不使用)의 어레이(412_2, 412_3, 414_2, 414_3, 416_2, 416_3)가 행 선택/구동 회로(420_2~420_4) 및 열 선택/구동 회로(430_2, 430_3)로부터 격리된다. 사용하는 어레이에 따라, 행 선택/구동 회로(420) 및 열 선택/구동 회로(430)를 선택적으로 동작시킴으로써, 소비 전력의 저감을 도모할 수 있다.
도 8에, 도 7에 도시한 크로스바 어레이의 연산의 이용 예를 나타낸다. 도면 중 (1), (2), (3), (4), (5)는 처리 순서를 나타내고, 화살표는 사용하는 어레이를 나타내고 있다. 예를 들면, 처리(1)는, 어레이(410_1, 412_1)를 사용하고, 처리(2)는, 어레이(414_2)를 사용하고, 처리(3)는, 어레이(416_2)를 사용하고, 처리(4)는, 어레이(414_3)를 사용하고, 처리(5)는, 어레이(412_3)를 사용한다. 제어부(140)는, 이러한 처리 시퀀스에 따라 스위치(SW)의 온/오프를 제어하고, 또한 선택된 행 선택/구동 회로 및 선택된 열 선택/구동 회로의 제어를 실시한다.
이와 같이 본 실시예에 의하면, 크로스바 어레이의 행 선택/구동 회로가 선택된 행 라인으로부터 출력된 신호를 선택된 행 라인에 입력하는 기능을 갖추고, 또한 열 선택/구동 회로가 열 라인으로부터 출력된 신호를 선택된 열 라인에 입력하는 기능을 갖춤으로써, 출력을 열화시키지 않고 입력시킬 수 있어, 연산 처리의 신뢰성 및 처리 속도의 향상을 도모할 수 있다.
상기 실시예에서는, 상층에 행 라인이 형성되고 하층에 열 라인이 형성된 크로스바 어레이를 예시했지만, 이는 일례이며, 크로스바 어레이는, 상층에 열 라인이 형성되고 하층에 행 라인이 형성된 것이어도 무방하다. 게다가, 크로스바 어레이는, 2차원적인 구성으로 한정되지 않고, 3차원적인 구성이어도 무방하다. 예를 들면, 3차원 구조의 크로스바 어레이에서는, 수평 방향으로 늘어나는 행 라인이 수직 방향으로 복수 배치되고, 수직 방향으로 늘어나는 열 라인이 수평 방향으로 복수 배치되어, 행 라인과 열 라인과의 교차부에 저항 변화형 메모리 소자가 형성된다.
본 발명의 바람직한 실시 형태에 대해 상술했지만, 본 발명은, 특정의 실시 형태로 한정되지 않으며, 청구범위에 기재된 본 발명의 요지의 범위 내에서, 다양한 변형ㆍ변경이 가능하다.
100:연산 처리 장치
110:크로스바 어레이
120:행 선택/구동 회로
130:열 선택/구동 회로
140:제어부
150:입출력부
200:행 선택 회로
210, 310:DAC
220, 320:구동부
230, 330:가산부
240, 340:ADC
250, 350:보관유지부
260, 360:입출력 절체부
270, 370:프로그램 회로
110:크로스바 어레이
120:행 선택/구동 회로
130:열 선택/구동 회로
140:제어부
150:입출력부
200:행 선택 회로
210, 310:DAC
220, 320:구동부
230, 330:가산부
240, 340:ADC
250, 350:보관유지부
260, 360:입출력 절체부
270, 370:프로그램 회로
Claims (15)
- 크로스바 어레이를 이용한 전자 장치에 있어서,
행 방향으로 연재하는 m개의 행 라인과, 열 방향으로 연재하는 n개의 열 라인과, m개의 행 라인과 n개의 열 라인과의 각 교차부에 접속된 저항 변화형 메모리 소자를 포함하는 크로스바 어레이와,
m개의 행 라인에 전기적으로 접속된 행측 회로와,
n개의 열 라인에 전기적으로 접속된 열측 회로와,
상기 행측 회로 및 상기 열측 회로를 제어하는 제어 수단
을 포함하고,
상기 행측 회로는,
선택된 행 라인에 입력 신호를 인가하는 행 입력부와,
선택된 행 라인으로부터 출력 신호를 수취하는 행 출력부
를 포함하고,
상기 열측 회로는,
선택된 열 라인에 입력 신호를 인가하는 열 입력부와,
선택된 열 라인으로부터 출력 신호를 수취하는 열 출력부
를 포함하고,
상기 제어 수단은,
상기 행 출력부로부터 수취한 출력 신호를 상기 행 입력부로부터 인가하는 것, 또는 상기 열 출력부로부터 수취한 출력 신호를 상기 열 입력부로부터 인가하는 것을 가능하게 하는
전자 장치. - 제1항에 있어서,
상기 행 입력부가 제1 선택된 행 라인에 제1 입력 신호를 인가해, 상기 열 출력부가 제1 선택된 열 라인으로부터 제1 입력 신호에 대응하는 제1 출력 신호를 수취했을 경우에,
상기 열 입력부는,
상기 열 출력부에서 수취한 제1 출력 신호에 대응하는 제2 입력 신호를 제2 선택된 열 라인에 인가하는
전자 장치. - 제2항에 있어서,
상기 열 입력부가 제2 선택된 열 라인에 제2 입력 신호를 인가해, 상기 행 출력부가 제2 선택된 행 라인으로부터 제2 입력 신호에 대응하는 제2 출력 신호를 수취했을 경우에,
상기 행 입력부는,
상기 행 출력부에서 수취한 제2 출력 신호에 대응하는 제3 입력 신호를 제3 선택된 행 라인에 인가하는
전자 장치. - 제1항에 있어서,
상기 행측 회로는,
상기 행 출력부에서 수취한 출력 신호 또는 상기 제어 수단으로부터 공급된 입력 신호의 어느 하나를 상기 행 입력부에 공급하는 제1 입력 절체 회로
를 더 포함하고,
상기 열측 회로는,
상기 열 출력부에서 수취한 출력 신호 또는 상기 제어 수단으로부터 공급된 입력 신호의 어느 하나를 상기 열 입력부에 공급하는 제2 입력 절체 회로
를 더 포함하는 전자 장치. - 제1항에 있어서,
상기 행측 회로는,
상기 행 출력부에서 수취한 출력 신호를 상기 행 입력부 또는 상기 제어 수단으로 출력하는 제1 출력 절체 회로
를 더 포함하고,
상기 열측 회로는,
상기 열 출력부에서 수취한 출력 신호를 상기 열 입력부 또는 상기 제어 수단으로 출력하는 제2 출력 절체 회로
를 더 포함하는 전자 장치. - 제1항에 있어서,
상기 행측 회로는,
행 선택 신호에 근거해 행 라인을 선택하는 행 선택 회로
를 더 포함하고,
상기 열측 회로는,
열 선택 신호에 근거해 열 라인을 선택하는 열 선택 회로
를 더 포함하는 전자 장치. - 제1항에 있어서,
상기 행 출력부는,
선택된 하나 또는 복수의 행 라인에 흐르는 전류를 합산하는 합산부와,
상기 합산부에서 합산된 전류에 대응하는 아날로그 전압을 디지털 신호로 변환하는 AD 변환기와,
AD 변환기에서 변환된 디지털 신호를 보관유지 하는 보관유지 회로
를 포함하고,
상기 행 입력부는,
입력된 디지털 신호에 근거해 아날로그 전압을 생성하는 DA 변환기
를 포함하고,
상기 열 출력부는,
선택된 하나 또는 복수의 열 라인에 흐르는 전류를 합산하는 합산부와,
상기 합산부에서 합산된 전류에 대응하는 아날로그 전압을 디지털 신호로 변환하는 AD 변환기와,
AD 변환기에서 변환된 디지털 신호를 보관유지 하는 보관유지 회로
를 포함하고,
상기 열 입력부는,
입력된 디지털 신호에 근거해 아날로그 전압을 생성하는 DA 변환기
를 포함하는 전자 장치. - 제1항에 있어서,
상기 크로스바 어레이는,
행렬 방향으로 배치된 복수의 어레이와, 인접하는 어레이 사이에 배치되어, 행 방향 및 열 방향의 어레이 사이의 전기적인 접속 또는 비접속의 절체를 실시하는 절체 회로
를 포함하는 전자 장치. - 제8항에 있어서,
상기 크로스바 어레이의 행 방향의 일방의 단부에, 상기 행측 회로가 배치되고,
상기 크로스바 어레이의 열 방향의 일방의 단부에, 상기 열측 회로가 배치되는
전자 장치. - 제1항에 있어서,
상기 제어 수단은,
선택된 행 라인 및 선택된 열 라인을 통해, 저항 변화형 메모리 소자의 저항값을 프로그램 하는 프로그램 수단
을 포함하는 전자 장치. - 제10항에 있어서,
상기 프로그램 수단은,
선택된 행 라인 및 선택된 열 라인을 통하여, 저(低) 저항 변화형 메모리 소자에, 선택된 극성의 프로그램 펄스를 인가하는
전자 장치. - 제10항 또는 제11항에 있어서,
상기 제어 수단은,
상기 저항 변화형 메모리 소자의 가중치 부여에 따라, 프로그램 수단을 제어하는
전자 장치. - 크로스바 어레이를 이용한 전자 장치에서의 신호의 처리 방법에 있어서,
상기 크로스바 어레이는,
행 방향으로 연재하는 m개의 행 라인과, 열 방향으로 연재하는 n개의 열 라인과, m개의 행 라인과 n개의 열 라인과의 각 교차부에 접속된 저항 변화형 메모리 소자를 포함하고,
상기 크로스바 어레이의 m개의 행 라인에는, 행측 회로가 전기적으로 접속되고, n개의 열 라인에는, 열측 회로가 전기적으로 접속되어 있고,
상기 행측 회로의 제1 선택된 행 라인에 제1 입력 신호를 인가해, 상기 열측 회로의 제1 선택된 열 라인으로부터 제1 입력 신호에 대응하는 제1 출력 신호를 출력시키고,
상기 열측 회로의 제2 선택된 열 라인에 제1 출력 신호에 대응하는 제2 입력 신호를 인가해, 상기 행측 회로의 제2 선택된 행 라인으로부터 제2 입력 신호에 대응하는 제2 출력 신호를 출력시키는
처리 방법. - 제13항에 있어서,
처리 방법은,
상기 행측 회로의 제3 선택된 행 라인에 제2 출력 신호에 대응하는 제3 입력 신호를 더 인가해, 상기 열측 회로의 제3 선택된 열 라인으로부터 제3 입력 신호에 대응하는 제3 출력 신호를 출력시키고,
상기 열측 회로의 제4 선택된 열 라인에 제3 출력 신호에 대응하는 제4 입력 신호를 더 인가해, 상기 행측 회로의 제4 선택된 행 라인으로부터 제4 입력 신호에 대응하는 제4 출력 신호를 출력시키는
처리 방법. - 제13항에 있어서,
처리 방법은,
선택된 행 라인과 선택된 열 라인에 프로그램 전압을 인가함으로써, 저항 변화형 메모리 소자의 저항값을 프로그램 하는 것
을 더 포함하는 처리 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2019-211474 | 2019-11-22 | ||
JP2019211474A JP6818116B1 (ja) | 2019-11-22 | 2019-11-22 | クロスバーアレイを用いた電子装置およびデータ処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210064021A KR20210064021A (ko) | 2021-06-02 |
KR102297069B1 true KR102297069B1 (ko) | 2021-09-02 |
Family
ID=74164678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200053290A KR102297069B1 (ko) | 2019-11-22 | 2020-05-04 | 크로스바 어레이를 이용한 전자 장치 및 데이터 처리 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11100983B2 (ko) |
JP (1) | JP6818116B1 (ko) |
KR (1) | KR102297069B1 (ko) |
CN (1) | CN112836810B (ko) |
TW (1) | TWI722834B (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240312516A1 (en) * | 2021-01-29 | 2024-09-19 | Jun-Sung Kim | Neuromorphic system using memory array with cross-point structure |
EP4402680A1 (en) * | 2021-09-17 | 2024-07-24 | Hopkins, Michael Wynn | Computer memory |
JP7209068B1 (ja) | 2021-10-19 | 2023-01-19 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018501536A (ja) | 2014-10-30 | 2018-01-18 | ヒューレット パッカード エンタープライズ デベロップメント エル ピーHewlett Packard Enterprise Development LP | ベクトル処理のためのダブルバイアスメムリスティブドット積エンジン |
US20180321942A1 (en) | 2016-01-18 | 2018-11-08 | Huawei Technologies Co.,Ltd. | Memory device, and data processing method based on multi-layer rram crossbar array |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6154157A (en) * | 1998-11-25 | 2000-11-28 | Sandisk Corporation | Non-linear mapping of threshold voltages for analog/multi-level memory |
FR2977351B1 (fr) * | 2011-06-30 | 2013-07-19 | Commissariat Energie Atomique | Methode d'apprentissage non supervise dans un reseau de neurones artificiel a base de nano-dispositifs memristifs et reseau de neurones artificiel mettant en oeuvre la methode. |
US9401473B2 (en) * | 2012-11-20 | 2016-07-26 | Globalfoundries Singapore Pte. Ltd. | Compact RRAM structure with contact-less unit cell |
US9846644B2 (en) * | 2013-01-14 | 2017-12-19 | Hewlett Packard Enterprise Development Lp | Nonvolatile memory array logic |
US9911788B2 (en) * | 2014-05-05 | 2018-03-06 | Hewlett Packard Enterprise Development Lp | Selectors with oxide-based layers |
US9633724B2 (en) | 2014-07-07 | 2017-04-25 | Crossbar, Inc. | Sensing a non-volatile memory device utilizing selector device holding characteristics |
US20180075904A1 (en) | 2015-04-27 | 2018-03-15 | Hewlett Packard Enterprise Development Lp | Memristive crossbar array having multi-selector memristor cells |
WO2017026989A1 (en) * | 2015-08-07 | 2017-02-16 | Hewlett Packard Enterprise Development Lp | Crossbar arrays for calculating matrix multiplication |
WO2017052598A1 (en) * | 2015-09-25 | 2017-03-30 | Hewlett Packard Enterprise Development Lp | Crossbar arrays for calculating matrix multiplication |
CN105424095B (zh) * | 2016-01-04 | 2017-07-28 | 东南大学 | 二维阻性传感器阵列的快速读出电路及其读出方法 |
CN108780492B (zh) * | 2016-02-08 | 2021-12-14 | 斯佩罗设备公司 | 模拟协处理器 |
JP6481667B2 (ja) * | 2016-07-20 | 2019-03-13 | 株式会社デンソー | ニューラルネットワーク回路 |
DE112017003660B4 (de) * | 2016-07-21 | 2024-08-01 | Mitsubishi Electric Corp. | Siliciumcarbid-halbleitereinheit und verfahren zur herstellung einer siliciumcarbid-halbleitereinheit |
AU2017348380A1 (en) | 2016-10-27 | 2019-05-16 | University Of Florida Research Foundation, Inc. | Learning algorithms for oscillatory memristive neuromorphic circuits |
US11315009B2 (en) * | 2017-03-03 | 2022-04-26 | Hewlett Packard Enterprise Development Lp | Analog multiplier-accumulators |
JP2019054200A (ja) * | 2017-09-19 | 2019-04-04 | 東芝メモリ株式会社 | 抵抗変化型メモリ |
US11763139B2 (en) * | 2018-01-19 | 2023-09-19 | International Business Machines Corporation | Neuromorphic chip for updating precise synaptic weight values |
KR102151675B1 (ko) * | 2018-03-29 | 2020-09-03 | 국민대학교산학협력단 | 이진값 기반 신경회로망을 위한 단일 컬럼 멤리스터 크로스바 및 cmos 활성화 함수 회로 |
-
2019
- 2019-11-22 JP JP2019211474A patent/JP6818116B1/ja active Active
-
2020
- 2020-03-17 TW TW109108662A patent/TWI722834B/zh active
- 2020-04-10 CN CN202010280604.1A patent/CN112836810B/zh active Active
- 2020-04-27 US US16/860,022 patent/US11100983B2/en active Active
- 2020-05-04 KR KR1020200053290A patent/KR102297069B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018501536A (ja) | 2014-10-30 | 2018-01-18 | ヒューレット パッカード エンタープライズ デベロップメント エル ピーHewlett Packard Enterprise Development LP | ベクトル処理のためのダブルバイアスメムリスティブドット積エンジン |
US20180321942A1 (en) | 2016-01-18 | 2018-11-08 | Huawei Technologies Co.,Ltd. | Memory device, and data processing method based on multi-layer rram crossbar array |
Also Published As
Publication number | Publication date |
---|---|
CN112836810B (zh) | 2023-09-29 |
KR20210064021A (ko) | 2021-06-02 |
JP2021082371A (ja) | 2021-05-27 |
US11100983B2 (en) | 2021-08-24 |
TW202121260A (zh) | 2021-06-01 |
JP6818116B1 (ja) | 2021-01-20 |
TWI722834B (zh) | 2021-03-21 |
US20210158869A1 (en) | 2021-05-27 |
CN112836810A (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102297069B1 (ko) | 크로스바 어레이를 이용한 전자 장치 및 데이터 처리 방법 | |
US11934480B2 (en) | NAND block architecture for in-memory multiply-and-accumulate operations | |
US9910827B2 (en) | Vector-matrix multiplications involving negative values | |
US10497442B1 (en) | Memristor arrays in crossbars | |
US10529418B2 (en) | Linear transformation accelerators | |
JP6281024B2 (ja) | ベクトル処理のためのダブルバイアスメムリスティブドット積エンジン | |
US11495289B2 (en) | Neural network computation circuit including semiconductor memory element, and method of operation | |
WO2015065443A1 (en) | Three dimensional resistive memory architectures | |
CN110383282A (zh) | 用于混合信号计算的系统和方法 | |
US11886972B2 (en) | Non-volatile memory accelerator for artificial neural networks | |
CN111062463A (zh) | 运用交叉开关矩阵实施多层神经网络 | |
US20200286553A1 (en) | In-memory computation device with inter-page and intra-page data circuits | |
US11133058B1 (en) | Analog computing architecture for four terminal memory devices | |
JP2002100991A (ja) | D/aコンバータ | |
WO2021038228A1 (en) | Refactoring mac operations | |
CN114429199A (zh) | 可扩展的仿神经电路 | |
JPWO2020046474A5 (ko) | ||
CN113222131B (zh) | 基于1t1r的可实现带符号权重系数的突触阵列电路 | |
Papandroulidakis et al. | Multi-state memristive nanocrossbar for high-radix computer arithmetic systems | |
US20200343304A1 (en) | Vector-matrix multiplication accelerator implemented using folded resistive crossbars | |
WO2021048542A1 (en) | Physical implementation of artificial neural networks | |
KR102560900B1 (ko) | 어레이 장치 및 그 기입 방법 | |
US11942148B2 (en) | Mixed-signal interface circuit for non-volatile memory crossbar array | |
JP6899024B1 (ja) | 抵抗変化型シナプスアレイ装置 | |
US20240192921A1 (en) | Fixed asymmetry compensation for multiply and accumulate operations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |