KR20230076760A - 아날로그-디지털 하이브리드 컴퓨팅 방법 및 이를 이용하는 뉴로모픽 시스템 - Google Patents

아날로그-디지털 하이브리드 컴퓨팅 방법 및 이를 이용하는 뉴로모픽 시스템 Download PDF

Info

Publication number
KR20230076760A
KR20230076760A KR1020220148121A KR20220148121A KR20230076760A KR 20230076760 A KR20230076760 A KR 20230076760A KR 1020220148121 A KR1020220148121 A KR 1020220148121A KR 20220148121 A KR20220148121 A KR 20220148121A KR 20230076760 A KR20230076760 A KR 20230076760A
Authority
KR
South Korea
Prior art keywords
electrode line
input signal
output electrode
output
unit
Prior art date
Application number
KR1020220148121A
Other languages
English (en)
Inventor
김준성
윤상훈
Original Assignee
인텔리전트 에이치 떠블유 아이엔씨.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔리전트 에이치 떠블유 아이엔씨. filed Critical 인텔리전트 에이치 떠블유 아이엔씨.
Publication of KR20230076760A publication Critical patent/KR20230076760A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06JHYBRID COMPUTING ARRANGEMENTS
    • G06J1/00Hybrid computing arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/061Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals
    • 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/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/109Control signal input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/16Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods

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)
  • Molecular Biology (AREA)
  • Neurology (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • Fuzzy Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Semiconductor Memories (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 복수의 메모리 셀을 포함하는 시냅스 유닛에서 아날로그적 출력 신호를 디지털화하는 뉴로모픽 시스템 및 그 작동 방법을 제공하는 것을 목적으로 한다. 이와 같은 목적을 달성하기 위해서 본 발명에서 제공하는 뉴로모픽 시스템은, 입력 신호를 발생시키는, 입력 신호부, 상기 입력 신호를 받아 설정된 가중치에 따라 전류를 흘리는 복수의 시냅스 유닛을 포함하고, 상기 복수의 시냅스 유닛 각각은 선택적으로 논리 상태를 저장할 수 있는 복수의 비휘발성 메모리 셀을 포함하고, 상기 비휘발성 메모리 셀은 서로 교차하는 입력 전극라인과 출력 전극라인을 포함하는 메모리 어레이에 배치되며, 상기 입력 신호에 의해 상기 출력 전극라인별로 출력 신호를 발생키는 시냅스부, 상기 출력 전극라인별로 발생되는 출력 신호를 디지털화하고, 상기 디지털화된 출력 신호의 합을 계산하는 디지털 계산부 및 상기 입력 신호부, 상기 시냅스부 및 디지털 계산부를 제어하는 컨트롤러부를 포함하고, 상기 컨트롤러부는, 상기 출력 전극라인별로 디지털화된 자릿수를 지정하고 상기 복수의 시냅스 유닛 각각에 미리 정해진 가중치에 따라 상기 복수의 비휘발성 메모리 셀에 논리 상태를 저장하고, 상기 입력 신호부에서 발생된 상기 입력 신호가 상기 입력 전극라인을 통해 상기 복수의 시냅스 유닛 각각의 복수의 비휘발성 메모리 셀 각각에 인가되도록 하고, 상기 인가되는 입력 신호에 의해 상기 복수의 시냅스 유닛 각각의 복수의 비휘발성 메모리 셀들 각각으로부터 흐르는 전류에 대한 상기 출력 전극라인별 합을 상기 출력 신호로 발생시키고, 상기 디지털 계산부에서는 상기 출력 전극라인별로 발생되는 상기 출력 신호를 상기 자릿수에 따라 디지털화하고, 상기 디지털화된 출력 신호의 합을 계산하도록 할 수 있다.

Description

아날로그-디지털 하이브리드 컴퓨팅 방법 및 이를 이용하는 뉴로모픽 시스템 {ANALOG-DIGITAL HYBRID COMPUTING METHOD AND NEUROMORPHIC SYSTEM USING THE SAME}
본 발명은 뉴로모픽 시스템을 구현함에 있어서 점진적 저항 변화를 제어할 수 있는 메모리 장치를 활용하는 것에 관한 것이다. 보다 구체적으로는 선택된 복수의 메모리 셀이 하나의 시냅스 유닛으로 인식되어 작동하도록 하면서 복수의 메모리 셀로부터 흐르는 전류를 아날로그-디지털 하이브리드 컴퓨팅 방법으로 검출하는 뉴로모픽 시스템 및 작동 방법에 관한 것이다.
인공지능 반도체 산업은 현재 태동기라고 할 수 있다. 최근 반도체 설계 및 제조 회사들이 시제품 또는 초기 제품을 출시하기 시작한 상태이다. 이들 시제품이나 초기 제품은 모두 CMOS에 기반한 1세대 인공지능 반도체 제품으로 메모리 관점에서는 기존의 반도체 제품과 다를 것이 없고, 2세대 인공지능 반도체에서는 새로운 메모리가 본격적으로 도입되고 사용될 것으로 예상된다.
생물학적 신경망과 유사한 집적도를 갖는 2세대 인공지능 반도체를 위해서는 생물학적 시냅스의 핵심 특성을 모두 갖는 인공 시냅스를 하나의 소자로 구현해야 한다. 생체 시스템의 시냅스는 뉴런으로부터 전달된 신호를 처리하는 과정에서 시냅스 가중치(synaptic weight)의 변화를 수반하고 이를 통하여 학습 및 기억기능을 발휘하게 된다. 따라서, 인공 시냅스 소자는 이를 모사하여 시냅스 가중치의 변화가 전류(또는 저항)으로 표현되도록 하여 학습 및 기억 기능을 발휘하도록 하는 것을 목표로 한다. 따라서, 이러한 목적을 달성하기 위해서는 제어 가능하고 구별가능한 점진적 전류(또는 저항)의 변화가 이루어질 수 있는 소자의 개발이 매우 중요하다. 가장 이상적인 인공 시냅스 소자에 있어서 점진적인 전류(또는 저항) 변화는 인가되는 펄스의 횟수에 따라 정확하게 비례하여 전류(또는 저항)의 변화가 있는 것이다.
이러한, 목적을 달성하기 위해 다양한 인공 시냅스 소자가 제안되고 제작되어 왔는데, 현재 시냅스 소자를 위해 반도체 분야에서 연구되어 왔던 기술은 RRAM, PRAM, MRAM과 같은 저항을 변하게 할 수 있는 소자를 이용한 메모리 어레이에서 저저항 상태와 고저항 상태를 구별하여 각 셀에 정보를 저장하는 방식으로, 온-오프 형태의 디지털 방식의 높은 저항 변화를 구현하고 이러한 저항 변화에 따라 메모리 어레이에서 셀의 로직 상태를 읽는 방향으로 연구가 진행되어 왔다.
하지만, 인공 시냅스 소자를 위해서는 하나의 소자가 매우 다양한 저항 상태를 가질 필요가 있을 뿐만 아니라 이러한 저항 상태도 그 제어가 가능할 필요가 있다. 이러한 소자에 대해 상술한 RRAM 소자, PRAM 소자 등을 이용하여 많은 연구 개발이 이루어지고 있으나, 비대칭성을 가지거나 반복 재현성이 부족하여 변별력있는 저항상태를 만들면서 동시 제어가 가능한 수준이 되기에는 아직 많이 부족한 실정이다.
본 발명은 복수의 메모리 셀을 포함하는 시냅스 유닛에서 아날로그적 출력 신호를 디지털화하는 뉴로모픽 시스템 및 그 작동 방법을 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위해서 본 발명에서 제공하는 뉴로모픽 시스템은, 입력 신호를 발생시키는, 입력 신호부, 상기 입력 신호를 받아 설정된 가중치에 따라 전류를 흘리는 복수의 시냅스 유닛을 포함하고, 상기 복수의 시냅스 유닛 각각은 선택적으로 논리 상태를 저장할 수 있는 복수의 비휘발성 메모리 셀을 포함하고, 상기 비휘발성 메모리 셀은 서로 교차하는 입력 전극라인과 출력 전극라인을 포함하는 메모리 어레이에 배치되며, 상기 입력 신호에 의해 상기 출력 전극라인별로 출력 신호를 발생키는 시냅스부, 상기 출력 전극라인별로 발생되는 출력 신호를 디지털화하고, 상기 디지털화된 출력 신호의 합을 계산하는 디지털 계산부 및 상기 입력 신호부, 상기 시냅스부 및 디지털 계산부를 제어하는 컨트롤러부를 포함하고, 상기 컨트롤러부는, 상기 출력 전극라인별로 디지털화된 자릿수를 지정하고 상기 복수의 시냅스 유닛 각각에 미리 정해진 가중치에 따라 상기 복수의 비휘발성 메모리 셀에 논리 상태를 저장하고, 상기 입력 신호부에서 발생된 상기 입력 신호가 상기 입력 전극라인을 통해 상기 복수의 시냅스 유닛 각각의 복수의 비휘발성 메모리 셀 각각에 인가되도록 하고, 상기 인가되는 입력 신호에 의해 상기 복수의 시냅스 유닛 각각의 복수의 비휘발성 메모리 셀들 각각으로부터 흐르는 전류에 대한 상기 출력 전극라인별 합을 상기 출력 신호로 발생시키고, 상기 디지털 계산부에서는 상기 출력 전극라인별로 발생되는 상기 출력 신호를 상기 자릿수에 따라 디지털화하고, 상기 디지털화된 출력 신호의 합을 계산하도록 할 수 있다.
또한, 본 발명에 따르는 뉴로모픽 시스템에서, 상기 컨트롤러부는 상기 입력 신호부에서 발생되는 상기 입력 신호는 폭과 높이가 동일한 하나 이상의 펄스가 되도록 해서, 상기 하나 이상의 펄스가 발생 순서에 따라 순차적으로 상기 시냅스부로 인가되고, 상기 하나 이상의 펄스는 상기 발생 순서에 따라 서로 다른 디지털화된 펄스 자릿수가 지정되도록 하고, 상기 출력 신호는 상기 순차적으로 인가되는 펄스 각각에 대해서 차례로 발생되도록 하고, 상기 디지털 계산부에서는 상기 펄스 각각에 대해 상기 출력 전극라인별로 발생되는 상기 출력 신호를 상기 펄스의 발생순서에 따른 펄스 자릿수와 상기 출력 전극라인의 자릿수에 따라 디지털화하고, 상기 디지털화된 출력 신호의 합을 계산하도록 할 수 있다.
본 발명에 따라, 입력 신호를 발생시키는, 입력 신호부, 상기 입력 신호를 받아 설정된 가중치에 따라 전류를 흘리는 복수의 시냅스 유닛을 포함하고, 상기 복수의 시냅스 유닛 각각은 선택적으로 논리 상태를 저장할 수 있는 복수의 비휘발성 메모리 셀을 포함하고, 상기 비휘발성 메모리 셀은 서로 교차하는 입력 전극라인과 출력 전극라인을 포함하는 메모리 어레이에 배치되며, 상기 입력 신호에 의해 상기 출력 전극라인별로 출력 신호를 발생키는 시냅스부, 상기 출력 전극라인별로 발생되는 출력 신호를 디지털화하고, 상기 디지털화된 출력 신호의 합을 계산하는 디지털 계산부 및 상기 입력 신호부, 상기 시냅스부 및 디지털 계산부를 제어하는 컨트롤러부를 포함하는 뉴로모픽 시스템의 작동 방법에 있어서, (a) 상기 출력 전극라인별로 디지털화된 자릿수를 지정하하고 상기 복수의 시냅스 유닛 각각에 미리 정해진 가중치에 따라 상기 복수의 비휘발성 메모리 셀에 논리 상태를 저장하는 단계, (b) 상기 입력 신호부에서 입력 신호를 발생시키고, 상기 입력 신호가 상기 입력 전극라인을 통해 상기 복수의 시냅스 유닛 각각의 복수의 비휘발성 메모리 셀 각각에 인가되도록 하는 단계, (c) 상기 인가되는 입력 신호에 의해 상기 복수의 비휘발성 메모리 셀들 각각으로부터 흐르는 각 전류의 상기 출력 전극라인별 합을 상기 출력 전극라인별 출력 신호로 발생시키는 단계, (d) 상기 출력 전극라인별 자릿수에 따라 상기 출력 신호를 디지털화하는 단계 및 (e) 상기 디지털화된 출력 신호의 합을 계산하는 단계를 포함할 수 있다.
또한, 본 발명에 따라, 상기 (b) 단계에서 상기 입력 신호는 발생 순서에 따라 서로 다른 디지털화된 자릿수가 지정되는, 폭과 높이가 동일한 하나 이상의 펄스이어서, 상기 하나 이상의 펄스가 상기 발생 순서에 따라 순차적으로 상기 복수의 비휘발성 메모리 셀에 인가되고, 상기 (c) 단계에서 상기 출력 신호는 상기 순차적으로 인가되는 펄스 각각에 대해서 차례로 발생되고, 상기 (d) 단계에서 상기 펄스의 발생 순서에 따른 펄스 자릿수 및 상기 출력 전극라인의 자릿수에 따라 상기 출력 신호를 디지털화하는, 뉴로모픽 시스템의 작동 방법을 제공할 수 있다.
본 발명을 통해, 정확도가 높고 크기가 소형화되며 전력 소비가 적은 새로운 뉴로모픽 시스템이 가능하게 된다.
도 1은 이미지 인식을 위한 벡터 행렬 곱셈을 설명하는 개념도이다.
도 2는 메모리 어레이를 이용한 벡터 행렬 곱셈을 설명하는 개념도이다.
도 3은 라이팅 펄스(writing pulse)에 따라 셀의 전도도가 변하는 것을 설명하는 그래프이다.
도 4는 하나의 시냅스가 복수의 메모리 셀로 표현될 때 셀의 턴-온 숫자에 따른 전도도 변화를 설명하는 그래프이다.
도 5는 본 발명에 따른 뉴로모픽 시스템의 구조를 설명하는 도면이다.
도 6은 본 발명에 따라 복수의 메모리 셀이 하나의 시냅스를 이루는 일 실시예를 설명하는 도면이다.
도 7은 본 발명에 따라 하나의 시냅스를 이루는 복수의 메모리 셀의 조합을 통해 전도도의 변화가 나타나는 것을 설명하는 그래프이다.
도 8은 본 발명에 따른 일 실시예를 통해 벡터 행렬 곱셈이 이루어지는 것을 설명하는 도면이다.
도 9는 본 발명에 따른 일 실시예를 통해 벡터 행렬 곱셈이 이루어지는 것을 설명하는 도면이다.
도 10은 본 발명에 따른 일 실시예를 통해 벡터 행렬 곱셈이 이루어지는 것을 설명하는 도면이다.
도 11은 본 발명에 따른 일 실시예에서 시냅스를 이루는 메모리 셀에 따른 시냅스 가중치 설정을 설명하는 도면이다.
도 12는 본 발명에 따른 일 실시예에서 시냅스를 이루는 메모리 셀에 따른 시냅스 가중치 설정을 설명하는 도면이다.
도 13은 본 발명에 따른 일 실시예를 통해 벡터 행렬 곱셈이 이루어지는 것을 설명하는 도면이다.
도 14는 본 발명에 따른 일 실시예를 통해 벡터 행렬 곱셈이 이루어지는 것을 설명하는 도면이다.
도 15는 본 발명에 따른 일 실시예에서 선택소자로 트랜지스터가 사용될 때 메모리 셀에 흐르는 전류를 제한하는 것을 설명하는 그래프이다.
도 16은 종래 기술에서 선택소자로 투-터미널 스위칭 소자 또는 셀렉티브-메모리 소자가 사용될 때 리딩 전압을 인가하는 방법을 설명하는 그래프이다.
도 17은 본 발명에 따른 일 실시예에서 선택소자로 투-터미널 스위칭 소자 또는 셀렉티브-메모리 소자가 사용될 때 리딩 전압을 인가하는 방법을 설명하는 그래프이다.
도 18은 본 발명에 따른 일 실시예에서 하나의 시냅스 유닛에 속하는 복수의 메모리 셀이 복수의 메모리 어레이에 배치되는 것을 설명하는 도면이다.

이하 본 발명의 실시예에 대하여 첨부된 도면을 참고로 그 구성 및 작용을 설명하기로 한다. 하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 어떤 부분이 어떤 구성요소를 '포함'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 발명에서는 새로운 뉴로모픽 시스템과 그 동작 방법에 대해서 설명한다.
딥 러닝 알고리즘에서 벡터 행렬 곱셈(vector-matrix multiplication, VMM) 연산은 훈련(learning) 및 추론(inference)을 위한 핵심 컴퓨팅 연산이다.
이미지를 인식하기 위한 VMM 방법에 대해 도 1을 통해 설명하면 이미지를 N x N으로 구역을 분할하고 이들 각각에 가중치를 설정한 후 명암 등의 정보를 다양한 입력 신호로 입력한다. 이를 뉴로모픽 시스템으로 표현하면 입력 신호(Xi)는 프리 뉴런(pre-neuron)으로부터의 신호이고 출력되는 전류인 Itot는 포스트 뉴런(post-neuron)으로의 출력 신호 그리고 Wi는 입력 신호에 시냅스를 통해 곱해지는 가중치가 된다. 이렇게 입력 신호와 가중치의 곱의 합을 통해 나타나는 전류인 Itot를 기준값과 비교하고 가장 근접한 가중치를 가지는 시냅스를 찾아 이미지를 인식하게 된다.
하지만, 이러한 동작을 기존 컴퓨팅 시스템에서 구현하기에는 전력소모의 문제, 장치의 크기 문제 등 현실화하기에 많은 문제가 있다.
이러한 문제를 해결하기 위해 최근 비휘발성 메모리인 RRAM(resistive random access memory), PRAM(phase change random access memory), MRAM(magnetic random access memory), FeRAM(Ferroelectric Randon Access Memory)과 같은 뉴메모리를 이용하여 이를 해결하고자 하는 연구가 활발하다.
일반적으로 뉴메모리를 이용하는 메모리 어레이는 입력 전극라인과 출력 전극라인이 서로 교차하고, 이렇게 서로 교차하는 교차지점에서 메모리 셀을 통해 입력 전극라인과 출력 전극라인이 연결되는 구조가 된다.
이러한 메모리 어레이를 통한 VMM은 도 2에서 설명하였다. 도 2에서 컬럼(column) 금속 라인(121)을 접지된 상태로 유지하면서 로우(row) 금속 라인(122)에 벡터 Xi로 표현될 수 있는 입력 신호를 인가하면 크로스-포인트(i,j) 위치의 각 메모리 셀을 통해 흐르는 전류는 XiWij(Xi는 인가되는 전압, Wij는 메모리 셀의 전도도)가 된다. 이들 컬럼 라인(121)에 흐르는 전류는 동일한 컬럼 라인(121)에 위치하는 메모리에 흐르는 전류의 합이 되므로, Ij =X1 *W1j + X2 *W2j + X3 *W3j +...+ Xn *Wnj 이 된다(도 2에서 j는 1~m).
이렇게 컬럼 라인(121)을 통해 출력되는 m개의 전류(I1~Im) 각각을 기준값과 비교함으로써 추론(inference) 과정을 거치게 된다.
여기서 입력 신호 Xi는 아날로그 신호로서 폭은 일정하고 높이를 달리하는 펄스, 높이는 일정하고 폭을 달리하는 펄스 또는 폭과 높이는 일정하고 횟수를 달리하는 펄스가 될 수 있다. 그리고 가중치인 Wij는 메모리 어레이의 각 지점에서 메모리 셀의 전도도를 통해 표현될 수 있다.
그런데, 여기서 가중치인 Wij는 메모리 셀의 전도도에 해당하는데, 추론의 정확도를 높이기 위해서는 단계적으로 다양한 값, 즉 다양한 전도도가 메모리 셀에 저장될 수 있어야 한다. 다양성이 높아질 수록 추론의 정확도도 높아지기 때문에, 이를 위해 다양한 단계의 전도도를 저장할 수 있는 뉴메모리의 개발이 활발하지만 아직까지 만족할 만한 결과는 얻지 못하고 있다.
이는 도 3에서 나타냈는데, RRAM과 같은 메모리 셀에서 시냅스 가중치에 해당하는 전도도를 변화시키기 위해 라이팅 펄스(wrighting pulse)를 증가시키면서 전도도를 측정하면 메모리 셀의 전도도가 변하지만 이상적인 직선(도 3에서 점선)으로 변화하지 않고 곡선(도 3에서 실선)을 그리게 된다. 더욱이 이러한 곡선도 반복적으로 동일한 곡선을 나타내지 못하고 계속 변화하게 된다. 즉, 단일의 RRAM과 같은 메모리 셀을 사용한 시냅스 유닛의 경우 가중치에 해당하는 메모리 셀의 전도도가 선형적으로 증감하지 않을 뿐만 아니라, 전도도의 변화도 측정할 때마다 달라지게 되어 추론의 정확도를 높이는 것이 실질적으로 불가능하게 된다.
이와 같은 현상을 극복하기 위해 주변 회로 등을 통해 메모리 셀의 전도도 변화를 추론이 용이한 형태가 되도록 제어하고자 하는 시도는 있으나, 이는 뉴로모픽 시스템을 복잡하게 하고 연산 속도를 저하시킬 뿐만 아니라, 만족할 만한 수준으로 제어되지도 못하고 있다.
이러한 종래 기술의 문제를 개선하기 위해서, 시냅스 유닛으로서 하나의 메모리 셀이 아닌 복수의 메모리 셀을 이용하여 다양한 전도도의 변화를 나타낼 수 있는 새로운 뉴로모픽 시스템과 이를 이용하는 동작 방법을 제안되었다. 시냅스 유닛으로 하나의 셀을 사용하는 것이 아니라 복수의 셀을 활용함으로써 직선적이고 예측 가능한 저항 변화를 통해 시냅스 유닛의 가중치를 다양하게 표현할 수 있도록 하는 것이다(도 4 참조).
복수의 메모리 셀을 포함하는 시냅스 유닛은, 복수의 메모리 셀 중에서 온 셀(on cell), 즉 저항이 낮은 상태의 메모리 셀 갯수의 증가와 감소에 따라 점진적으로 시냅스 유닛의 전도도를 변화시킬 수 있게 되고, 이러한 변화는 직선적이고 예측 가능하게 된다.
한편, 이렇게 하나의 시냅스 유닛으로서 복수의 메모리 셀을 이용함으로써 복수의 메모리 셀에 흐르는 전류의 합을 통해 시냅스 유닛의 가중치를 다양하게 표현할 수 있지만, 활용되는 메모리 셀의 갯수가 증가하는 문제가 있다.
만약 시닙스 유닛이 1~256 범위의 가중치를 나타내기 위해서는 메모리 셀이 1비트의 논리상태를 저장할 수 있다면 256개의 메모리 셀이 필요하게 된다.
이렇게 시냅스 유닛에 복수의 메모리 셀을 활용하면 직선적이고 예측가능한 저항 변화가 가능하지만, 사용되는 메모리 셀의 갯수가 증가함에 따라 장치의 크기와 제조 비용이 증가하는 문제가 있게 된다.
이에 따라 사용되는 메모리 셀의 갯수를 적절한 수준으로 줄일 필요가 있는데, 이를 위해 본 발명에서는 시냅스 유닛으로 복수의 메모리 셀을 이용하면서, 복수의 메모리 셀로부터 흐르는 아날로그 형태의 전류의 합을 디지털 신호로 출력함으로써 사용되는 메모리 셀의 갯수를 줄일 수 있게 되었다.
이를 상세하게 설명하면, 본 발명에서는, 입력 신호를 발생시키는, 입력 신호부, 상기 입력 신호를 받아 설정된 가중치에 따라 전류를 흘리는 복수의 시냅스 유닛을 포함하고 상기 복수의 시냅스 유닛 각각은 선택적으로 논리 상태를 저장할 수 있는 복수의 비휘발성 메모리 셀을 포함하며 상기 비휘발성 메모리 셀은 서로 교차하는 입력 전극라인과 출력 전극라인을 포함하는 메모리 어레이에 배치되고 상기 입력 신호에 의해 상기 출력 전극라인별로 출력 신호를 발생키는 시냅스부, 상기 출력 전극라인별로 발생되는 출력 신호를 디지털화하고 상기 디지털화된 출력 신호의 합을 계산하는 디지털 계산부 및 상기 입력 신호부, 상기 시냅스부와 디지털 계산부를 제어하는 컨트롤러부를 포함하고, 상기 컨트롤러부는 상기 출력 전극라인별로 디지털화된 자릿수를 지정하고 상기 복수의 시냅스 유닛 각각에 미리 정해진 가중치에 따라 상기 복수의 비휘발성 메모리 셀에 논리 상태를 저장하고, 상기 입력 신호부에서 발생된 상기 입력 신호가 상기 입력 전극라인을 통해 상기 복수의 시냅스 유닛 각각의 복수의 비휘발성 메모리 셀 각각에 인가되도록 하고, 상기 시냅스 부에서 상기 출력 전극라인 별로 디지털화된 자릿수를 지정하고, 상기 인가되는 입력 신호에 의해 상기 복수의 시냅스 유닛 각각의 복수의 비휘발성 메모리 셀들 각각으로부터 흐르는 전류에 대한 상기 출력 전극라인별 합을 상기 출력 신호로 발생시키고, 상기 디지털 계산부에서는 상기 출력 전극라인별로 발생되는 상기 출력 신호를 상기 자릿수에 따라 디지털화하고, 상기 디지털화된 출력 신호의 합을 계산하도록 하는 뉴로모픽 시스템을 제공할 수 있다.
본 발명에 따른 뉴로모픽 시스템은 다양한 가중치를 가질 수 있는 복수의 시냅스 유닛을 포함하고, 이들 시냅스 유닛 각각은 다시 논리 상태를 저장할 수 있는 복수의 비휘발성 메모리 셀을 포함하게 된다. 이들 비휘발성 메모리 셀은 출력 전극라인과 입력 전극라인이 교차하는 부분에 배치되어 메모리 어레이를 이루게 된다. 우선 이들 출력 전극라인별로는 디지털화된 자릿수가 지정되고, 메모리 어레이에 배치되는 복수의 비휘발성 메모리에는 미리 정해진 시냅스 유닛별 가중치에 따라 전극 라인별 자릿수에 따른 논리 상태가 저장된다.
이렇게 논리 상태가 저장된 복수의 메모리 셀을 포함하는 시냅스 유닛을 복수개 포함하는 시냅스부에 입력 신호를 인가하면 시냅스부에서는 저장된 가중치에 따라 인가된 입력 신호를 출력 신호로 변환하여 발생시킨다. 이때 출력 신호는 비휘발성 메모리 셀이 배치되는 출력 전극라인별로 발생된다.
따라서, 하나의 출력 전극라인에서 발생되는 출력 신호는 그 출력 전극라인 상에 있는 비휘발성 메모리 셀을 통과해 흐르는 전류의 합이 된다. 이렇게 출력 전극라인별로 발생되는 출력 신호는 여러 메모리 셀로부터 흐르는 전류의 합이 되어 아날로그 형태로 나타나게 된다. 한편, 출력 전극라인별로는 디지털화된 자릿수가 정해지는데, 발생되는 출력 신호가 해당하는 출력 전극라인의 자릿수에 따라 아날로그 형태의 출력 신호는 다시 디지털 계산기에서 디지털 신호로 변환되고, 이렇게 출력 전극라인별로 발생되어 디지털 신호로 변환된 출력 신호들을 합하여 계산함으로써 인공지능 추론에 필요한 데이터를 얻을 수 있게 된다.
이러한 뉴로모픽 시스템과 이를 통한 계산 단계를 도 5 내지 7을 통해 보다 상세히 설명한다.
본 발명에 따른 뉴로모픽 시스템은 입력 신호(210)를 발생시키는 입력 신호부(200), 입력 신호부(200)로부터 입력 신호(210)를 받아 설정된 가중치에 따라 출력 전극라인별로 출력 신호(310)를 발생시키는 시냅스부(300), 출력 전극라인별로 발생되는 출력 신호(310)를 디지털화하여 디지털 신호(410)를 전송하는 디지털 계산부(400) 그리고 전체 시스템을 제어하는 컨트롤러부(100)를 포함한다.
도 6은 출력 전극라인별로 자릿수가 지정되고 이에 따라 점진적 저항변화를 통해 시냅스 가중치를 나타내는 것을 설명하는 그림이다.
시냅스부는 하나 이상의 메모리 어레이를 포함하는데, 이러한 메모리 어레이는 서로 교차하는 입력 전극라인(301)과 출력 전극라인(302) 그리고 이들 전극라인의 교차점에 형성되어 서로 연결하는 메모리셀(303)을 포함한다.
시냅스부에 포함되는 시냅스 유닛(320, 330)은 이러한 크로스포인트 구조의 메모리 어레이에 배치되는 복수의 메모리 셀(303)을 포함하게 되는데, 도 6에서는 하나의 시냅스 유닛에 포함되는 N개의 메모리 셀이 하나의 입력 라인에 일렬로 배치되는 경우(320)와 2N개의 메모리 셀이 두 개의 입력 전극라인에 배치되는 경우(330)를 나타내었다. 하지만 이들은 실시예 중 하나일 뿐이어서 3N개의 메모리 셀(303)이 3 개의 입력 전극라인에 배치되는 경우 또는 N개의 메모리 셀(303)이 하나의 출력 전극라인에서 N개의 입력 전극라인에 배치되는 경우 등 메모리 어레이 상에서 다양한 경우로 배치될 수 있다.
하나의 입력 라인에 N개의 메모리 셀(303)을 포함하는 시냅스 유닛(320)의 경우에서 N개의 메모리 셀(C0~CN-1)은 배치되는 출력 전극라인(302)별로 디지털화된 자릿수가 설정되어 출력 전극라인(302)별로 서로 다른 디지털화된 자릿수(20~2N-1)를 가지게 된다. 이들 메모리 셀(C0~CN-1)들은 저항이 높고 낮은 상태를 통해 시냅스 유닛의 가중치를 표현할 수 있는데, 같은 온-셀 상태(즉, 저항이 낮은 상태)이어서 출력 전극라인을 따라 흐르는 전류는 같아도 이를 출력 신호로 전달받아 디지털 계산부에서 계산할 때는 디지털화된 자릿수(20~2N-1)에 따라 서로 다른 값으로 계산하게 된다. 즉, 첫 번째 자릿수의 메모리 셀(C0)만 온-셀 상태인 경우는 이로부터 흐르는 전류를 개별 전류(i)라 할때, 이러한 개별 전류(i)가 출력 신호로 해서 디지털 계산부로 전달되고 디지털 계산부에서는 이 출력 신호를 20 ×i로 인식하여 디지털화게 된다. 하지만 두 번째 자릿수의 메모리 셀(C1)만 온-셀인 경우에는 이 경우에도 메모리 셀을 통과해 흐르는 전류는 개별 전류(i)로 동일하지만 이러한 개별 전류(i)가 디지털 계산부로 전달되면 디지털 계산부에서는 이 출력 신호를 21 ×i로 인식하여 디지털화게 된다. 이는 세 번째 메모리 셀(C3)이 온-셀인 경우도 마찬가지이어서 디지털 계산부에서는 세 번째 메모리 셀이 온-셀인 경우 흐르는 전류를 통해 나타나는 출력 신호에 대해서 22 ×i로 인식하여 디지털화하게 된다.
이렇게 단계적으로 시냅스 유닛(320)의 가중치를 표현할 수 있게 되는데, 최종적으로 도 7에서와 같이 시냅스 유닛(320)은 N개의 셀로도 2N개에 달하는 가중치를 표현할 수 있게 된다.
이에 반해, 시냅스 유닛이 복수의 메모리 셀을 가지더라도 각 메모리 셀이 자릿수를 가지지 않는 경우에는 하나의 시냅스 유닛이 2N개에 달하는 가중치를 표현하기 위해서는 2N개의 메모리 셀이 필요하게 된다.
본 발명에 따른 뉴로모픽 시스템에 있어서 시냅스 유닛이 복수개로 있는 경우 VMM이 계산되는 예를 도 8을 통해 보다 상세히 설명한다.
도 8은 입력 신호로 (1, 3, 6)의 신호가 입력되고 시냅스의 가중치는 (2, 5, 1)을 가지고 있는 경우를 설명한다. 이러한 입력 신호와 시냅스 유닛이 가지는 가중치의 곱을 통해 VMM이 계산되는데, 이를 계산하면 최종적으로 23의 신호가 계산되어야 한다.
도 8에서는 각각 네 개의 메모리 셀을 가지는 세 개의 시냅스 유닛(W11, W21, W31)이 크로스포인트 구조의 메모리 어레이에 배치되어 있는 것을 나타낸다. 여기서 출력 전극라인을 디지털화된 자릿수를 가지게 되는데, L0는 이진법에 따라 20의 자릿수, L1은 21의 자릿수, L2는 22의 자릿수, L3는 23의 자릿수를 각각 가지게 된다.
시냅스 유닛(W11)은 21 의 자릿수를 가지는 출력 전극라인에 배치되는 메모리 셀(C13)이 온-셀 상태이고, 시냅스 유닛(W21)은 20 의 자릿수를 가지는 출력 전극라인과 22 의 자릿수를 가지는 출력 전극라인에 배치되는 메모리 셀(C22, C24)이 온-셀 상태이며, 시냅스 유닛(W31)은 20 의 자릿수를 가지는 출력 전극라인에 배치되는 메모리 셀(C34)이 온-셀 상태인 경우이다. 온-셀인 경우 각 메모리 셀의 전도도는 동일한 수준이고, 오프-셀인 경우에는 전류를 통과시키지 않게 된다.
여기에 입력 신호(X1, X2, X3)이 1, 3, 6의 크기로 들어오는 것을 나타내는데, 도 8은 입력 신호의 크기가 높이와 폭이 동일한 펄스의 갯수로 표현되는 경우에 대한 것이다. 하지만, 다양한 입력 신호는 펄스의 갯수만이 아니라 펄스의 폭의 차이 또는 펄스의 높이의 차이로도 표현될 수 있다.
입력 신호(X1)는 시냅스 유닛(W11)에 인가되어 출력 전극라인(L1)을 통해 온-셀(C13)로부터 전류(X1*C13)가 흐르게 된다. 여기서 각 온-셀 상태의 메모리 셀은 동일 수준의 전도도를 가지고 있어서 출력 신호가 복수의 펄스를 가지고 있으면 이중 하나의 펄스에 대해서는 동일한 전류를 흘리게 되므로 하나의 펄스가 온-셀인 메모리 셀에 인가되었을 때 메모리 셀을 통과해 흐르는 전류를 i라고 하면, 메모리 셀(C13)로부터 흐르는 전류(X1*C13)는 1*i의 크기가 된다.
마찬가지로 3개의 펄스를 가지는 입력 신호(X2)가 시냅스 유닛(W21)에 인가될 때는 출력 전극라인(L2)를 통해 3*i 크기의 전류가 흐르고 출력 전극라인(L0)를 통해 3*i 크기의 전류가 흐르게 된다. 마지막으로 6개의 펄스를 가지는 입력 신호(X3)가 시냅스 유닛(W31)에 인가될 때는 출력 전극라인(L0)을 통해 6*i 크기의 전류가 흐르게 된다.
이렇게 입력 신호에 의해 각 시냅스 유닛을 통과해 흐르는 전류는 출력 전극라인별로 합해지게 되는데, 이는 아래와 같이 나타낼 수 있다.
L0 : X2*C24 + X3*C34 = 3*i+6*i =9*i
L1 : X1*C13 = 1*i
L2 : X2*C22 = 3*i
이와 같이 각 출력 전극라인별로 흐르는 전류는 각각 출력 신호로 디지털 계산부로 전송되는데, 디지털 계산부에서는 출력 전극라인별로 지정된 자릿수에 따라 출력 신호를 평가하여 계산하게 된다. 출력 전극라인(L0)를 통해 흐르는 전류는 20을 곱하고, 출력 전극라인(L1)를 통해 흐르는 전류는 21을 곱하고, 출력 전극라인(L2)를 통해 흐르는 전류는 22을 곱하여 이들 디지털화된 신호를 합하게 된다. 이에 따라 전체 디지털화된 출력 신호의 합은 (9*20 +1*21 +3*22) = 23이 된다.
이처럼 본 발명에 따른 뉴로모픽 시스템에서는 시냅스부의 출력 전극라인별로 전류의 합을 통해 아날로그 형태로 표현되는 출력 신호를 각 라인별 디지털화된 자릿수에 따라 디지털화한다. 이러한 아날로그-디지털 하이브리 컴퓨팅 시스템을 통해 메모리 셀의 수를 적게 활용하면서 동시에 직선적이고 예측가능한 시냅스 가중치의 변화를 나타낼 수 있게 된다.
한편, 본 발명의 일 실시예에서는 비휘발성의 메모리 셀은 2 비트 이상의 정보를 저장할 수 있는 멀티 비트(Multi-bit) 메모리 셀일 수 있다. 본 명세서에서 멀티 비트 메모리 셀은 복수의 저항 상태를 통해 2 비트 이상의 정보를 저장할 수 있는 셀을 의미한다. 따라서, 일반적으로 플래시 메모리에서 2 비트의 정보를 저장할 수 있는 MLC 뿐만 아니라 3 비트의 TLC, 4 비트의 QLC 등을 포함한다. 또한, 다중 저항 상태를 통해 2 비트 이상의 정보를 저장할 수 있는 RRAM(Resistive Random Access Memory), PRAM(Phase-change Random Access Memory), MRAM(Magnetoresistive Random Access Memory), FeRAM(Ferroelectric Random Access Memory), 셀렉티브-메모리(Selective-Memory)도 포함하여 의미한다.
이러한 멀티 비트 메모리 셀을 이용함에 따라 사용되는 메모리 셀의 수를 줄일 수 있어서 메모리 어레이의 크기를 줄여 전체 시스템의 면적과 작동 시 소모되는 전력량을 줄여줄 수 있게 된다.
도 9는 비휘발성 메모리 셀이 플래시 메모리인 경우로 1 비트의 정보를 저장할 수 있는 SLC(Single-Level Cell)인 경우의 실시예이고, 도 10은 2 비트의 정보를 저장할 수 있는 MLC(Multi-Level Cell)인 경우의 실시예를 나타내고 있다.
도 9에서는 도 8에서 설명한 것과 마찬가지로 입력 신호들(X1, X2, X3)은 각각 시냅스 유닛(W11, W21, W31)에 인가되어 출력 전극라인을 통해 온-셀들로부터 전류가 흐르게 된다. 여기서 각 온-셀 상태의 메모리 셀은 동일 수준의 전도도를 가지고 있어서 출력 신호가 복수의 펄스를 가지고 있으면 이중 하나의 펄스에 대해서는 동일한 전류를 흘리게 되므로 하나의 펄스가 온-셀인 메모리 셀에 인가되었을 때 메모리 셀을 통과해 흐르는 전류를 i라고 하면, 입력 펄스 하나로 인해 메모리 셀 하나로부터 흐르는 전류는 1*i의 크기가 된다.
이를 통해 도 8에서와 동일한 방법으로 입력 신호에 대해 각 출력 전극라인별로 출력 신호가 발생하고 각 출력 전극라인별 지정된 자릿수에 따라 디지털 신호를 출력하게 된다. 이를 통해 계산되는 디지털 신호 값은 89가 된다.
이에 비해 도 10에서의 각 메모리 셀은 세 단계의 저항 상태(R1, R2, R3)를 나타낼 수 있게 된다. 이로 인해 입력 신호들(X1, X2, X3)의 하나의 펄스에 대해 각 저항 상태(R1, R2, R3)의 메모리 셀을 통과하여 흐르는 전류는 각기 다르게 된다(i1, i2, i3). 이렇게 3가지의 서로 다른 저항 상태를 나타낼 수 있게 됨에 따라 각 출력 전극라인의 자릿수는 사진법에 따른 자리를 표현할 수 있게 된다. L0는 사진법에 따라 40의 자릿수, L1은 41의 자릿수, L2는 42의 자릿수, L3는 43의 자릿수를 각각 나타내게 된다.
도 10에서 시냅스 유닛(W11)은 40 의 자릿수를 가지는 출력 전극라인에 배치되는 메모리 셀(C14)이 온-셀 상태이면서 저항 상태(R2)이고, 시냅스 유닛(W21)은 41 의 자릿수를 가지는 출력 전극라인과 40의 자릿수를 가지는 출력 전극라인에 배치되는 메모리 셀(C23, C24)이 온-셀 상태이면서 각각 R1, R3의 저항 상태를 가지며, 시냅스 유닛(W31)은 41 의 자릿수를 가지는 출력 전극라인과 40 의 자릿수를 가지는 출력 전극라인에 배치되는 메모리 셀(C33, C34)이 온-셀 상태이면서 각각 R2, R3의 저항 상태를 가지는 경우이다.
여기에 도 9와 동일하게 입력 신호(X1, X2, X3)가 크기가 높이와 폭이 동일한 펄스의 갯수로 표현되어 1, 3, 6의 크기로 들어오면 각 출력 전극라인에는 다양한 저항을 가지는 온-셀로 부터 전류가 흐르게 된다.
우선 하나의 펄스를 가지는 입력 신호(X1)가 시냅스 유닛(W11)에 인가되면 R2의 저항 상태를 가지는 메모리 셀(C14)로 부터 전류(1*i2)가 흐르게 된다. 또한, 세 개의 펄스를 가지는 입력 신호(X2)가 시냅스 유닛(W21)에 인가되면 R1의 저항 상태를 가지는 메모리 셀(C23)로부터 전류(3*i1)와 R3의 저항 상태를 가지는 메모리 셀(C24)로부터 전류(3*i3)가 흐르게 된다. 또한, 여섯 개의 펄스를 가지는 입력 신호(X3)가 시냅스 유닛(W31)에 인가되면 R2의 저항 상태를 가지는 메모리 셀(C33)로부터 전류(6*i2)와 R3의 저항 상태를 가지는 메모리 셀(C34)로부터 전류(6*i3)가 흐르게 된다.
이에 따라 출력 전극라인(L1)으로부터 전류(3*i1+6*i2)가 흐르게 되고 출력 전극라인(L0)으로부터 전류(1*i2+9*i3)가 흐르게 된다. 이를 디지털 신호로 전환하면 i1은 1로 i2는 2로 i3는 3으로 인식하고, 출력 전극라인(L1)은 41으로 출력 전극라인(L0)는 40으로 인식하여 계산하게 된다.
이렇게 계산되는 디지털 신호는 도 9와 마찬가지로 89의 값을 출력하게 되는데, 도 9에서는 4개의 출력 전극라인(L0, L1, L2, L3)에서 7개의 메모리 셀을 이용하여 계산이 이루어지는 것에 비해 도 10에서는 2개의 출력 전극라인(L0, L1)에서 4개의 메모리 셀을 이용하여 계산이 이루어질 수 있다.
이처럼 멀티 비트 메모리 셀을 이용하면 메모리 어레이의 면적과 이에 따른 전체 뉴로모픽 시스템의 면적을 줄일 수 있고 소비되는 전력도 줄일 수 있게 된다.
이렇게 멀티 비트 메모리 셀을 사용함에 따라 메모리 어레이 면적이 줄어들게 되는 것을 하나의 시냅스 가중치 설정과 관련하여 도 11을 통해 더 설명한다. 만일 시냅스(Ws)가 137인 시냅스 가중치를 가지고 이들 시냅스의 메모리 셀은 1 비트의 정보를 저장할 수 있는 SLC(Single-Level cell)인 셀로 이루어지게 되면 2진법에 따른 8개의 출력 전극라인(20~27)을 통해 (10001001)의 값을 나타낼 수 있다(도 11(a)). 이에 비해 2 비트의 정보를 나타낼 수 있는 MLC로 이루어지는 시냅스(Wm)을 통해 동일한 시냅스 가중치를 나타내면 4진법에 따른 4개의 출력 전극라인(40~43)을 통해 (2021)의 값을 통해 시냅스 가중치를 표현할 수 있게 된다(도 11(b)). 더 나아가 3 비트의 정보를 나타낼 수 있는 TLC로 이루어지는 시냅스(Wt)에서 동일한 시냅스 가중치 137을 나타내기 위해서는 3개의 출력 전극라인(80~82)을 통해 (211)의 값으로 표현될 수 있다(도 11(c)).
한편, 본 발명에서 컨트롤러부는 출력 전극라인별로 멀티 비트 메모리 셀의 비트 수준을 설정할 수 있다. 예를 들어 낮은 자릿수를 나타내는 출력 전극라인에는 3 비트의 정보를 저장할 수 있는 TLC를 사용하고, 높은 자릿수를 나타내는 출력 전극라인에는 1 비트의 정보를 저장할 수 있는 SLC 또는 2 비트의 정보를 저장할 수 있는 MLC를 사용할 수 있다. 이러한 비트 수준의 설정은 컨트롤러부에서 논리 상태 저장 시에 결정하게 된다.
이러한 방법은 높은 자릿수에서는 에러가 발생하면 VMM 연산에 미치는 영향이 크기 때문에 높은 자릿수에서는 1 비트 또는 2 비트와 같이 낮은 정보를 저장하지만 정확도가 높은 메모리 셀을 이용하고, 낮은 자릿수에서는 3 비트나 4 비트와 같이 더 많은 정보를 저장할 수 있는 멀티 비트 메모리 셀을 이용함에 따라 전체 메모리 어레이의 면적을 줄여줄 수 있게 된다.
따라서, 컨트롤러에 의해 각 출력 전극라인별로 결정되는 비트 수준은 출력 전극라인에 따라 자릿수가 높아질 수록 같거나 더 낮은 수준인 것이 바람직하다.
도 12를 통해 출력 전극라인별로 서로 다른 수준의 비트가 설정된 시냅스의 가중치가 결정되는 실시예를 설명한다. 도 12(a)에서 시냅스(Wh1)의 첫 번째와 두 번째 출력 전극라인(L10, L11)에 배치되는 메모리 셀에는 3 비트의 정보를 저장할 수 있도록 설정되면서 각각 80과 81의 자릿수가 지정되고 세 번째 출력 전극라인(L12)에 배치되는 메모리 셀은 2 비트의 정보를 저장할 수 있도록 설정되고 43의 자릿수가 지정되도록 하면 이들의 조합인 (211)을 통해 137의 가중치를 표현할 수 있게 된다.
또한 도 12(b)에서와 같이 시냅스(Wh2)의 첫 번째와 두 번째 출력 전극라인(L20, L21)에 배치되는 메모리 셀에는 3 비트의 정보를 저장할 수 있도록 설정되면서 각각 80과 81의 자릿수가 지정되고 세 번째 및 네 번째 출력 전극라인(L22, L23)에 배치되는 메모리 셀은 1 비트의 정보를 저장할 수 있도록 설정되고 각각 26과 27의 자릿수가 지정되도록 하면 이들의 조합인 (1011)을 통해 마찬가지로 137의 가중치를 표현할 수 있게 된다.
도 12(c)에서는 시냅스(Wh3)의 첫 번째, 두 번째 및 세 번째 출력 전극라인(L30, L31, L32)에 배치되는 메모리 셀에는 2 비트의 정보를 저장할 수 있도록 설정되면서 각각 40, 41 및 42의 자릿수가 지정되고 네 번째 및 다섯 번째 출력 전극라인(L33, L34)에 배치되는 메모리 셀은 1 비트의 정보를 저장할 수 있도록 설정되고 각각 26과 27의 자릿수가 지정되도록 하면 이들의 조합인 (10021)을 통해 동일하게 137의 가중치를 표현할 수 있게 된다.
이와 같이 멀티 비트 메모리 셀을 이용하여도 낮은 자릿수에서는 출력에서 오류가 있어도 미치는 영향이 크지 않기 때문에 높은 비트 수준의 멀티 비트 메모리 셀을 이용하고 높은 자릿수에서는 정확도가 높은 낮은 비트 수준의 멀티 비트 메모리 셀을 이용함으로써 계산 정확도를 유지하면서도 효과적으로 전체 뉴로모픽 시스템의 면적을 줄일 수 있게 된다.
또한, 본 발명의 일 실시예에서는 상기 디지털화된 자릿수별로 각각 양의 출력 전극라인과 음의 출력전극라인이 쌍으로 지정될 수 있다.
시냅스 가중치가 양의 정수뿐만 아니라 음의 정수를 표현할 수 있게 되면 학습과 추론 과정에서 그 정확도를 높일 수 있게 된다. 이를 위해 동일한 자릿수의 출력 전극라인을 두 개로 서로 쌍을 이루게 하고 하나의 출력 전극라인은 양의 값을 나타내고 다른 하나의 출력 전극라인은 음의 값을 나타내도록 하면 음의 시냅스 가중치를 표현할 수 있게 된다.
이를 도 13에서 나타냈는데, 21을 나타내는 출력 전극라인은 두 개이지만 그 중 하나는 양의 값을 나타내고 다른 하나는 음의 값을 나타내게 된다. 따라서, 음의 값인 -2 값을 표현하기 위해서는 시냅스(W11)에서 21의 자릿수를 나타내는 출력 전극라인 중에 음의 값을 나타내는 출력 전극라인의 셀(-C13)을 온-셀 상태로 만들어 이를 표현할 수 있게 된다.
각각의 출력 전극라인을 통해 흐르는 전류는 디지털 신호로 변환하는 과정에서 음의 출력 전극라인의 전류는 음의 값으로 변환되어 이들 변환된 신호의 합을 계산하게 된다. 따라서, 도 13에서 -L1 라인에서 흐르는 전류는 1*i만큼의 크기로 흐르지만 2차 출력 신호로 변환될 때는 -1*21 로 계산된다. 한편 동일한 자릿수이지만 양의 값을 나타내는 +L1 라인에서는 6*i만큼의 전류가 흐르게 되고 이는 2차 출력 신호에서는 6*21 로 계산된다. 이들 라인별 흐르는 전류를 합하면 5*i 만큼의 전류가 흐르는 것으로 계산되고 이를 최종 디지털 신호로 변환하면 21의 자릿수를 가지는 출력 전극라인에서는 5*21의 디지털 신호가 계산될 수 있다. 최종적으로 이들 라인별 신호를 합하면 31의 값이 출력되게 된다.
이러한 방법을 통해 기생 전류에 의한 실제 계산의 오류를 줄일 수 있게 되는 장점이 있다. 전체 메모리 어레이에서는 오프-셀을 통해서도 미세하게 기생 전류가 흐르게 되는데 축적되는 기생 전류가 많아지면 온-셀의 갯수를 평가하는데 오류가 발생할 수 있게 되는 문제가 있다. 도 13에서의 실시예는 오프-셀을 통해서도 미세하게 흐르는 기생 전류를 효율적으로 제어할 수 있는 방법으로, 이러한 오프-셀을 통해 흐르는 기생 전류는 양의 출력 전극라인에서 흐르는 전류와 음의 출력 전극라인에서 흐르는 전류를 각각 양과 음으로 인식하여 합하면 서로 상쇄되어 그 크기를 줄일 수 있게 된다.
예를 들어 도 13에서의 출력 전극라인인 +L3와 -L3에는 오프-셀 만이 배치되지만 이들 오프-셀로도 미세하게 기생 전류는 흐르게 된다. 하지만 +L3에 흐르는 전류를 양으로 -L3에 흐르는 전류를 음으로 하여 서로의 합을 계산하면 이론적으로는 0이 계산되고 오류의 가능성도 없어지게 된다.
한편, 시냅스 유닛에서만 디지털 자릿수를 정하는 것에 더해서 출력 신호에도 자릿수를 정함으로써 보다 효율적으로 VMM을 수행할 수 있다.
이를 위해 본 발명에서 제공하는 뉴로모픽 시스템의 일 실시예에서, 상기 입력 신호부에서 발생되는 상기 입력 신호는 폭과 높이가 동일한 하나 이상의 펄스가 되도록 해서, 상기 하나 이상의 펄스가 발생 순서에 따라 순차적으로 상기 시냅스부로 인가되고, 상기 하나 이상의 펄스는 상기 발생 순서에 따라 서로 다른 디지털화된 펄스 자릿수가 지정되도록 하고, 상기 출력 신호는 상기 순차적으로 인가되는 펄스 각각에 대해서 차례로 발생되도록 하고, 상기 디지털 계산부에서는 상기 펄스 각각에 대해 상기 출력 전극라인별로 발생되는 상기 출력 신호를 상기 펄스의 발생순서에 따른 펄스 자릿수와 상기 출력 전극라인의 자릿수에 따라 디지털화하고 상기 디지털화된 출력 신호의 합을 계산하도록 할 수 있다.
시냅스 유닛에 배치되는 복수의 메모리 셀은 상술한 예와 같이 배치되는 출력 전극라인별로 디지털화된 자릿수를 가지게 되고, 이에 더해 입력 신호는 폭과 높이가 동일한 하나 이상의 펄스이어서 이러한 펄스의 발생 순서에 따라 디지털화된 펄스 자릿수를 가지게 되어 이들의 조합을 통해 디지털 계산부에서 출력 신호를 디지털화하고 그 합을 계산함으로써 VMM을 수행하게 된다.
이를 도 14에서 보다 상세히 설명한다. 시냅스 유닛은 도 8에서와 마찬가지로 각각 네 개의 메모리 셀을 가지는 세 개의 시냅스 유닛(W11, W21, W31)이 메모리 어레이에 배치되어 있는 것을 나타낸다. 여기서 출력 전극라인(L0)은 20의 자릿수, 출력 전극라인(L1)은 21의 자릿수, 출력 전극라인(L2)은 22의 자릿수, 출력 전극라인(L3)은 23의 자릿수를 각각 가지게 된다. 배치되는 메모리 셀의 온-셀, 오프-셀도 도 8에서의 경우와 동일하다.
여기에 입력되는 입력 신호는 펄스의 발생 순서에 따라 디지털화된 서로 다른 펄스 자릿수를 가지게 되는데, 첫 번째 발생 펄스(P0)는 20의 자릿수, 두 번째 펄스(P1)는 21의 자릿수, 세 번째 펄스(P2)는 22의 자릿수, 네 번째 펄스(P3)는 23의 자릿수를 각각 가지게 된다. 이에 따라 도 8의 경우와 동일하게 입력 신호가 (1, 3, 6)이 입력된다면, 입력 신호(X1)는 첫 번째 펄스 만으로 이진법에 따른 (0001)을 표현하여 1이 입력되도록 하고, 입력 신호(X2)은 첫 번째 펄스와 두 번째 펄스가 생성됨으로써 이진법에 따른 (0011)을 표현하여 3이 입력되도록 하고, 입력 신호(X3)은 두 번째 펄스와 세 번째 펄스가 생성됨으로써 이진법에 따른 (0110)을 표현하여 6이 입력되도록 한다.
이에 따라 펄스의 발생 순서에 따라 인가되는 입력 신호와 출력 신호가 발생되는 출력 전극라인에 따라서 출력 신호를 디지털화하고 이들 디지털화된 출력 신호의 합을 계산하게 된다.
하나의 펄스에 의한 메모리 셀에 인가되는 전류 값을 χ라 하고 온-셀에 하나의 펄스가 인가되었을 때 흐르는 전류를 i라하면, 우선 첫 번째 펄스(P0)에 의해서는 출력 전극라인 L0 에서는 입력 신호 X2에 의해 메모리 셀(C24)에서 1*i의 전류가, 출력 전극라인 L1 에서는 입력 신호 X1에 의해 메모리 셀(C13)에서 1*i의 전류가, 그리고 출력 전극라인 L2 에서는 입력 신호 X2에 의해 메모리 셀(C22)에서 1*i의 전류가 흐르게 된다.
이렇게 펄스 발생 순서별과 출력 전극라인별로 발생되는 출력 신호를 도 14에서 나타내었는데, 출력 전극라인(L0)에서는 첫 번째 펄스(P0)에서 1*i의 전류가, 두 번째 펄스(P1)에서 2*i의 전류가 그리고 세 번째 펄스(P2)에서 1*i의 전류가 흐르게 되고 이들 전류가 출력 신호로 발생된다. 이들 출력 신호가 디지털 계산부로 전송되면 디지털 계산부에서는 첫 번째 펄스의 출력 신호에 대해 20의 자릿수, 두 번째 펄스의 출력 신호에 대해 21의 자릿수, 세 번째 펄스의 출력 신호에 대해 22의 자릿수를 인식하고, 출력 전극라인인 L0에 대해서도 20의 자릿수를 부여하여 계산하게 된다. 이렇게 계산하여 출력 전극라인 L0에서의 출력 신호는 각 펄스에 따라 디지털화된 출력 신호로 9(4+4+1=9)의 값을 가지게 된다.
이와 같은 방법으로 나머지 출력 전극라인으로부터의 출력 신호를 디지털화된 출력 신호로 변환하면 출력 전극라인 L1에서는 2, 출력 전극라인 L2에서는 12의 디지털화된 출력 신호가 계산된다. 이들 출력 전극라인별 디지털화된 출력 신호의 합은 도 8에서와 마찬가지로 23이 된다.
이렇게 펄스 발생순서에 따라 디지털화된 자릿수를 지정함으로써 제한된 펄스의 갯수, 폭, 높이 또는 이들의 조합을 통해서 다양한 크기의 입력 신호를 표현할 수 있게 된다. 결국 이를 통해 뉴로모픽 시스템에서 입력 신호를 발생시키기 위한 에너지 소모는 크게 줄어들 수 있게 된다.
본 발명에서의 메모리 셀은 비휘발성 메모리 셀로서 논리 상태의 저장이 가능하게 된다. 이러한 비휘발성 메모리 셀은 비휘발성 메모리 소자와 선택 소자를 포함하고, 상기 비휘발성 메모리 소자는 플래시 메모리(Flash Memory) 소자, RRAM(Resistive Random Access Memory) 소자, PRAM(Phase-change Random Access Memory), MRAM(Magnetoresistive Random Access Memory) 소자, FeRAM(Ferroelectric Random Access Memory) 소자, 셀렉티브-메모리(Selective-Memory) 소자 중 어느 하나일 수 있다.
한편, 선택 소자는 트랜지스터 또는 다이오드일 수 있다. 트랜지스터 또는 다이오드가 연결되어 선택된 셀일 경우 입력 신호가 인가되면 메모리 셀을 통해 비휘발성 메모리 소자의 저항 상태에 따라 전류가 흐를 수 있도록 하고, 비선택 셀인 경우에는 전류의 흐름을 차단할 수 있게 된다. 이를 통해 선택된, 즉 VMM을 통해 계산하고자 하는 시냅스 소자에 해당하는 메모리 셀로만 전류가 흐르게 함으로써 불필요한 전류의 흐름을 방지할 수 있게 된다. 이에 반해 선택소자가 투터미널 소자 등이 사용되면 트랜지스터 등이 사용되는 경우에 비해 장치를 소형화할 수 있는 장점이 있지만 메모리 어레이에 있어도 계산에 필요없는 메모리 셀로도 미량이지만 전류가 흐르는 것을 막을 수 없기 때문에 전력 소비가 나타나게 된다.
한편, 선택 소자로 트랜지스터 또는 다이오드가 연결되면, 메모리 어레이에서 계산에 필요하여 선택된 메모리 셀로만 입력 신호가 흐르도록 하면서 입력 신호에 의해 선택된 시냅스 유닛의 메모리 셀로부터 흐르는 전류를 소정의 전류 크기로 제어되도록 할 수 있다. 선택된 셀의 비휘발성 메모리 소자가 온-셀 상태인 경우에 각 메모리 소자의 저항은 일정 부분 편차가 있을 수 있고 이에 따른 오차는 불가피하게 된다. 이러한 편차를 최소화하기 위해 입력 신호에 의해 메모리 소자로부터 흐르는 전류를 소정의 크기로 제어함으로쎄 메모리 소자간 편차에 따른 출력 신호의 오차 범위를 최소화할 수 있게 된다. 특히 메모리 셀의 디지털 자릿수가 큰 경우, 예를 들어 27인 경우 미세한 오차도 27으로 증폭되기 때문에 온-셀에서 흐르는 전류가 일정한 수준으로 정확하게 제어되는 것이 매우 중요하다.
또한, 온-셀의 경우 흐르는 전류가 매우 크게 나타나기 때문에 이를 일정 범위 이하로 제한함으로써 전력 소모를 줄일 수 있게 된다.
이는 도 15에서 나타내었는데, 선택소자로 트랜지스터가 없는 상태에서 메모리 셀에 입력 전압(V1)이 인가되면 메모리 셀을 통과하는 전류는 온-셀 또는 오프-셀 상태에 따라 각각 Ion 또는 Ioff의 크기가 된다. 특히 온-셀 상태의 전류인 Ion은 그 크기가 매우 크고 메모리 셀에 따라 오차가 있게 된다. 이러한 오차는 자릿수가 큰 전극라인에 배치되는 메모리 셀의 경우에는 큰 오류를 나타낼 수 있게 때문에 일정하게 유지될 필요가 있다.
이를 위해 선택소자로 트랜지스터가 포함되어 전류를 일정 범위로 제한하면 메모리 어레이에서 선택되지 않은 셀에서는 아무런 전류가 흐르지 않게 되고, 선택된 셀에서도 오프-셀 상태의 메모리 셀에는 여전해 Ioff 크기의 전류가 흐르지만 온-셀 상태의 전류를 도 15에서와 같이 ITR로 제한할 수 있게 된다.
이처럼 선택소자로 트랜지스터를 사용하면 계산에 필요하여 선택된 시냅스 소자로만 전류가 흐르게 할 수 있고 온-셀의 전류 크기를 제한함으로써 전력 소모를 크게 줄일 수 있는 장점이 있고, 온-셀에 흐르는 전류도 일정한 수준으로 제어함으로써 에러 요인을 최소화할 수 있게 된다.
또한, 선택 소자는 투-터미널 스위칭 소자일 수 있는데, 이렇게 메모리 셀의 선택을 위한 선택 소자로서 투-터미널 스위칭 소자를 적용함으로써 집적도를 높이고 전력 소비를 줄일 수 있게 된다. 투-터미널 스위칭 소자는 오보닉문턱스위치(Ovonic Threshold Switch), 전이금속산화물 스위치, MIEC(Mixed Ion-Electron Conductor) 스위치, 상보형 저항 스위치, 도핑된 비정질 실리콘 등과 같은 소자가 될 수 있다. 이러한 투-터미널 스위칭 소자는 일정 전압, 즉 문턱 전압(threshold voltage)을 기준으로 큰 저항 변화를 나타내는 특징을 가지고 있어 이를 통해 메모리 어레이에서 셀의 선택을 가능하게 할 수 있다.
또한, 본 발명에서 시냅스 유닛의 복수의 메모리 셀은 논리 상태 저장과 셀 선택 기능을 동시에 할 수 있는 셀렉티브-메모리(Selective-Memory) 소자를 포함할 수 있다.
셀렉티브-메모리 소자는 비휘발성 메모리 특성을 가지면서 동시에 선택 소자 특성을 가지는 소자를 의미한다. 저항변화에 의해 논리상태를 저장할 수 있으면서 동시에 일정한 전압, 즉 문턱 전압을 기준으로 저항의 변화를 일으켜 선택 소자로서 작동할 수 있는 것을 의미한다.
예를 들어, 칼코게나이드 물질인 오보닉문턱스위치의 경우 극성을 달리하여 라이팅 전압을 인가하면 서로 다른 저항 상태를 만들 수 있으며, 이를 이용한 논리 상태를 저장하고 읽을 수 있다. 따라서, 상변화가 없는 칼코게나이드 물질도 가변 저항 소자가 될 수 있고 동시에 고유의 스위치 특성, 즉 문턱 전압을 기준으로 그 전후에서 일정한 저항의 변화가 일어나는 특징을 가질 수 있다.
이와 같이, 기존의 오보닉문턱스위치 소자와 같이 상변화가 없는 칼코게나이드 물질을 포함하는 가변 저항 소자를 활용하면, 스위치 특성을 통해 하나 이상의 메모리 셀을 선택하고 가변 저항 특성을 통해 각각에 논리 상태를 저장할 수 있게 된다.
이러한 소자는 셀렉티브-메모리 소자라고 표현될 수 있고 이 경우 추가적인 메모리 소자 또는 선택 소자가 필요 없기 때문에 메모리 장치의 고밀도화를 가능하게 하고 전력소비를 줄일 수 있게 된다. 이러한 칼코게나이드 물질로는 In-Ge-As-Se 합금, Te-Se합금, As-Se 합금, Ge-Te 합금, Ge-Se 합금, As-Se-Te 합금, Ge-As-Se 합금, Ge-As-Sb 합금, Ge-Sb-Te 합금, Ge-Sb-Se 합금, Ge-As-Te 합금, Si-Ge-As-Se 합금, Si-Te-As-Ge 합금, In-Sb-Te 합금, In-Sb-Se 합금, In-Ge-As 합금, In-Ge-Te 합금, In-Te 합금 등이 사용될 수 있다. 하지만, 상기 물질 이외에도 저항변화에 의해 논리상태 저장이 가능하면서 동시에 스위칭 기능이 가능한 물질이라면 특별히 제한하지 않는다.
또한, 본 발명에서 비휘발성 메모리 셀은 논리상태 저장과 셀 선택 기능을 모두 할 수 있는 셀렉티브 메모리 소자 또는 셀 선택 기능을 위한 선택 소자로서 투-터미널 스위칭 소자를 사용하는 경우에, 상기 입력 신호의 전압은 상기 복수의 비휘발성 메모리 셀 모두가 턴-온되지 않는 범위에 있고, 동시에 상기 복수의 비휘발성 메모리 셀의 저항 상태를 구분할 수 있는 범위일 수 있다.
본 발명에서와 같은 메모리 어레이에서 스위칭 기능을 이용한 일반적인 셀 선택 과정은 선택되지 않은 셀에는 스위치 소자의 특성을 이용하여 매우 낮은 전류만이 흐르게 하고 선택된 셀에는 셀의 로직 상태를 구분할 수 있는 전압을 인가하여 이루어지게 된다.
투-터미널 스위치 소자 또는 셀렉티브-메모리 소자를 포함한 메모리 어레이에 배치되는 메모리 셀들의 전류를 리딩하는 일반적인 방법을 도 16을 통해 설명한다. 메모리 어레이에 배치되는 비휘발성 메모리 셀의 논리 상태, 즉 온-셀인지 오프-셀인이 알기 위해서는 논리 상태를 알고자 하는 메모리 셀에 리딩 전압인 Vread1 이 인가되는데, Vread1 은 저항이 낮은 셀에서 급격한 저항 변화가 나타나는 임계 전압(Vth_A)과 저항이 높은 셀에서 급격한 저항 변화가 나타나는 임계 전압(Vth_B)의 사이(Vth_A < Vread1 < Vth_B)에 위치하도록 한다. 즉 저항이 낮은 셀(온-셀)은 급격한 저항 변화가 나타나 턴-온(turn-on)되고, 저항이 높은 셀(오프-셀)은 급격한 저항 변화가 없도록 하여, 선택된 셀에 흐르는 전류로부터 로직 상태를 구분할 수 있다. 도 16에서는 Vread1 이 인가됨에 따라 저항이 높은 셀에서는 Itarget,off의 전류가 흐르고 저항이 낮은 셀에서는 Itarget,on 전류가 흐르게 된다. 이러한 방법은 메모리 어레이에서 하나의 셀만을 선택하여 디지털적인 온, 오프 상태만을 리딩할 수 있다. 그 이유는 온 상태에서의 전류 흐름이 너무 커서 하나의 셀이 일단 온 상태에서 리딩 전압이 인가되면 흐르는 전류가 너무 커서 같은 메모리 어레이에서 그 외의 다른 셀에 대해서는 전류 측정이 어렵기 때문이다. 이러한 이유로, 일반적인 리딩 방법은 메모리 어레이를 구성하는 선택된 2 이상의 메모리 셀의 전류를 동시에 측정하는 것이 필요한 본 발명의 뉴로모픽 시스템의 동작에 적용하기에는 적절하지 않을 수 있다
본 발명의 뉴로모픽 시스템을 작동시킴에 있어서, 투-터미널 스위치 소자 또는 셀렉티브-메모리 소자를 포함하는 크로스포인트 구조의 메모리 어레이에서 복수의 메모리 셀을 포함하는 시냅스 유닛의 전류를 리딩하는데 적합한 방법을 도 17을 통해 설명한다.
시냅스 유닛에 포함되는 복수의 메모리 셀에 인가되는 입력 신호의 전압은, 도 17에 'Vread2' 로 표시된 바와 같이, 시냅스 유닛에 포함되는 복수의 비휘발성 메모리 셀 모두가 턴-온되지 않는 서브쓰레쉬홀드(subthreshold) 영역 전압 범위(Vth1 미만)에 있고, 상기 복수의 비휘발성 메모리 셀의 저항 상태를 구분할 수 있는 범위(Vsep 초과)에 있게 된다. 즉, 도 17에서 리딩전압인 Vread2는 Vsep 보다 크면서 Itarget과 같이 메모리 소자의 고저항 상태와 저저항 상태를 구분할 수 있고, 선택된 셀들 중 가장 저저항 상태인 셀의 임계 전압인 Vth1 보다 작은 범위에 있게 된다. 이러한 범위는 도 17에서 Vinput 으로 표시하였다.
이와 같이 서브쓰레쉬홀드 영역에서 입력 신호의 전압이 인가되면 동시에 여러 셀에 대한 리딩이 가능하게 되는데, 상술한 일반적인 방법과 달리 온-셀에 입력 신호가 인가되어도 그를 통해 흐르는 전류는 크지 않아서 여러 개의 비휘발성 메모리 셀들을 통해 흐르는 전류의 합을 쉽게 측정할 수 있기 때문이다.
본 발명에서 시냅스 유닛의 복수의 비휘발성 메모리 셀은 서로 다른 출력 전극라인에 배치되어 복수의 메모리 셀 각각은 모두 서로 다른 자릿수를 가지게 될 수 있다. 이러한 예는 도 8 내지 14에서 나타내었다.
또한, 본 발명의 일 실시예에서 시냅스 유닛의 복수의 비휘발성 메모리 셀은 복수의 메모리 어레이에 배치될 수도 있다. 여기서 메모리 어레이는 크로스 포인트 구조의 메모리 어레이를 의미할 수도 있다.
예를 들면, 도 18에서와 같이 시냅스 유닛(W11)의 복수의 메모리 셀은 k개의 메모리 어레이에 하나씩 배치될 수 있다.
본 발명에서 디지털 계산부는 출력 전극라인 각각과 연결되는 아날로그-디지털 변환기(ADC, Analog-to-Digital Converter)를 포함할 수 있다. 상술한 바와 같이 출력 전극라인 각각에서는 아날로그 형태의 신호인 전류가 흐르게 되는데 이를 출력 전극라인별, 입력 신호의 펄스별로 디지털화하기 위해서는 개별 출력 전극라인에는 아날로그-디지털 변환기를 연결할 필요가 있다.
또한, 디지털 계산부는 출력 전극라인 각각과 순차적으로 연결되는 전류 경로 쉬프터(current path shifter), 커패시터 및 아날로그-디지털 변환기를 포함할 수 있다. 펄스의 발생 순서에 따라 디지털 자릿수가 지정되는 경우에는 출력 전극라인별로 순차적으로 인가되는 펄스 각각에 의해 차례로 발생되는 출력신호 각각은 펄스의 발생순서에 따른 자릿수에 따라 전류 경로 쉬프터에 의해 디지털화된 자릿수를 가지는 커패시터에 저장되고, 이러한 커패시터에 저장된 출력 신호의 합은 상기 아날로그-디지털 변환기를 통해 디지털 신호로 변환될 수 있다.
펄스의 발생 순서에 따라 디지털 자릿수가 지정되는 경우에 본 발명의 또 다른 예로 디지털 계산부는 출력 전극라인 각각과 순차적으로 연결되는 아날로그-디지털 변환기와 디지트 쉬프터(digit shifter) 및 디지털 계산기를 포함할 수 있다.
순차적으로 인가되는 펄스 각각에 의해 출력 전극라인별로 차례로 발생되는 아날로그 형태의 출력신호 각각은 아날로그-디지털 변환기에 의해 제 1 디지털 신호로 변환되고, 변환된 제 1 디지털 신호는 펄스의 발생순서에 따른 자릿수에 따라 디지트 쉬프터에 의해 다시 제 2 디지털 신호로 변환된다. 이렇게 변환된 제 2 디지털 신호들에 대해서 디지털 계산기에서 합을 계산하게 된다.

Claims (20)

  1. 입력 신호를 발생시키는, 입력 신호부;
    상기 입력 신호를 받아 설정된 가중치에 따라 전류를 흘리는 복수의 시냅스 유닛을 포함하고, 상기 복수의 시냅스 유닛 각각은 선택적으로 논리 상태를 저장할 수 있는 복수의 비휘발성 메모리 셀을 포함하며, 상기 비휘발성 메모리 셀은 서로 교차하는 입력 전극라인과 출력 전극라인을 포함하는 메모리 어레이에 배치되고, 상기 입력 신호에 의해 상기 출력 전극라인별로 출력 신호를 발생키는 시냅스부;
    상기 출력 전극라인별로 발생되는 출력 신호를 디지털화하고, 상기 디지털화된 출력 신호의 합을 계산하는 디지털 계산부; 및
    상기 입력 신호부, 상기 시냅스부 및 디지털 계산부를 제어하는 컨트롤러부를 포함하고,
    상기 컨트롤러부는,
    상기 출력 전극라인별로 디지털화된 자릿수를 지정하고 상기 복수의 시냅스 유닛 각각에 미리 정해진 가중치에 따라 상기 복수의 비휘발성 메모리 셀에 논리 상태를 저장하고,
    상기 입력 신호부에서 발생된 상기 입력 신호가 상기 입력 전극라인을 통해 상기 복수의 시냅스 유닛 각각의 복수의 비휘발성 메모리 셀 각각에 인가되도록 하고,
    상기 인가되는 입력 신호에 의해 상기 복수의 시냅스 유닛 각각의 복수의 비휘발성 메모리 셀들 각각으로부터 흐르는 전류에 대한 상기 출력 전극라인별 합을 상기 출력 신호로 발생시키고,
    상기 디지털 계산부에서는 상기 출력 전극라인별로 발생되는 상기 출력 신호를 상기 디지털화된 자릿수에 따라 디지털화하고, 상기 디지털화된 출력 신호의 합을 계산하도록 하는, 뉴로모픽 시스템.
  2. 제 1 항에 있어서,
    상기 비휘발성 메모리 셀은 비휘발성 메모리 소자와 선택 소자를 포함하고, 상기 비휘발성 메모리 소자는 플래시 메모리(Flash Memory) 소자, RRAM(Resistive Random Access Memory) 소자, PRAM(Phase-change Random Access Memory), MRAM(Magnetoresistive Random Access Memory) 소자, FeRAM(Ferroelectric Random Access Memory) 소자, 셀렉티브-메모리(Selective-Memory) 소자 중 어느 하나인, 뉴로모픽 시스템.
  3. 제 1 항에 있어서,
    상기 비휘발성 메모리 셀은 2 비트 이상의 정보를 저장할 수 있는 멀티 비트(Multi-bit) 메모리 셀을 포함하는, 뉴로모픽 시스템.
  4. 제 3 항에 있어서,
    상기 컨트롤러부에 의해 상기 출력 전극라인별로 상기 멀티 비트 메모리 셀의 비트 수준이 결정되고, 상기 결정되는 비트 수준은 서로 다른 둘 이상인, 뉴로모픽 시스템.
  5. 제 4 항에 있어서,
    상기 비트 수준은 상기 디지털화된 자릿수가 높아질수록 같거나 더 낮아지게 되는, 뉴로모픽 시스템.
  6. 제 1 항에 있어서,
    상기 비휘발성 메모리 셀은 셀렉티브-메모리 소자를 포함하고 선택 소자는 포함하지 않는, 뉴로모픽 시스템.
  7. 제 2 항에 있어서,
    상기 선택 소자는 투-터미널 스위치 소자인, 뉴로모픽 시스템.
  8. 제 2 항에 있어서,
    상기 선택 소자는 트랜지스터 또는 다이오드인, 뉴로모픽 시스템.
  9. 제 6 항 또는 제 7 항 중 어느 한 항에 있어서,
    상기 입력 신호의 전압은 상기 복수의 비휘발성 메모리 셀 모두가 턴-온되지 않는 범위에 있고, 동시에 상기 복수의 비휘발성 메모리 셀의 저항 상태를 구분할 수 있는 범위인, 뉴로모픽 시스템.
  10. 제 8 항에 있어서,
    상기 컨트롤러부는, 상기 시냅스 유닛에서 상기 복수의 비휘발성 메모리 셀 각각에 포함되는 상기 트랜지스터 또는 다이오드를 제어하여 선택된 시냅스 유닛의 메모리 셀로만 상기 입력 신호가 흐르도록 하면서 상기 입력 신호에 의해 상기 선택된 시냅스 유닛의 메모리 셀 각각으로부터 흐르는 전류를 소정의 전류 크기로 제어되도록 하는, 뉴로모픽 시스템.
  11. 제 1 항에 있어서,
    상기 시냅스 유닛의 복수의 비휘발성 메모리 셀은 서로 다른 출력 전극라인에 배치되어 상기 복수의 메모리 셀 각각은 서로 다른 상기 디지털화된 자릿수를 가지는, 뉴로모픽 시스템.
  12. 제 1 항에 있어서,
    상기 시냅스 유닛의 복수의 비휘발성 메모리 셀이 배치되는 메모리 어레이는 둘 이상인, 뉴로모픽 시스템.
  13. 제 1 항에 있어서,
    상기 입력 신호는 펄스 형태이고, 상기 입력 신호는 상기 펄스의 주파수, 갯수, 높이, 폭 또는 이들의 조합으로 표현되는, 뉴로모픽 시스템.
  14. 제 1 항에 있어서,
    상기 디지털 계산부는 상기 출력 전극라인 각각과 연결되는 아날로그-디지털 변환기(ADC, Analog-to-Digital Converter)를 포함하는, 뉴로모픽 시스템.
  15. 제 1 항에 있어서,
    상기 디지털화된 자릿수별로 각각 양의 출력 전극라인과 음의 출력전극라인이 쌍으로 지정되는, 뉴로모픽 시스템.
  16. 제 1 항에 있어서,
    상기 컨트롤러부는,
    상기 입력 신호부에서 발생되는 상기 입력 신호는 폭과 높이가 동일한 하나 이상의 펄스가 되도록 해서, 상기 하나 이상의 펄스가 발생 순서에 따라 순차적으로 상기 시냅스부로 인가되고, 상기 하나 이상의 펄스는 상기 발생 순서에 따라 서로 다른 디지털화된 펄스 자릿수가 지정되도록 하고,
    상기 출력 신호는 상기 순차적으로 인가되는 펄스 각각에 대해서 차례로 발생되도록 하고,
    상기 디지털 계산부에서는 상기 펄스 각각에 대해 상기 출력 전극라인별로 발생되는 상기 출력 신호를 상기 펄스의 발생순서에 따른 펄스 자릿수와 상기 출력 전극라인의 자릿수에 따라 디지털화하고, 상기 디지털화된 출력 신호의 합을 계산하도록 하는, 뉴로모픽 시스템.
  17. 제 16 항에 있어서,
    상기 디지털 계산부는 상기 출력 전극라인 각각과 순차적으로 연결되는 아날로그-디지털 변환기(ADC, Analog-to-Digital Converter), 디지트 쉬프터(digit shifter) 및 디지털 계산기를 포함하여,
    상기 출력 전극라인별로 상기 순차적으로 인가되는 펄스 각각에 의해 차례로 발생되는 상기 출력신호 각각은 상기 아날로그-디지털 변환기에 의해 제 1 디지털 신호로 변환되고, 상기 변환된 제 1 디지털 신호는 상기 펄스의 발생순서에 따른 자릿수에 따라 상기 디지트 쉬프터에 의해 제 2 디지털 신호로 변환되고,
    상기 디지털 계산기에서 상기 하나 이상의 펄스에 의해 상기 출력 전극라인별로 발생되는 상기 제 2 디지털 신호의 합을 계산하여,
    상기 디지털화된 출력 신호의 값을 계산하는, 뉴로모픽 시스템.
  18. 제 16 항에 있어서,
    상기 디지털 계산부는 상기 출력 전극라인 각각과 순차적으로 연결되는 전류 경로 쉬프터(current path shifter), 커패시터 및 아날로그-디지털 변환기를 포함하여,
    상기 출력 전극라인별로 상기 순차적으로 인가되는 펄스 각각에 의해 차례로 발생되는 상기 출력신호 각각은 상기 펄스의 발생순서에 따른 자릿수에 따라 상기 전류 경로 쉬프터에 의해 상기 커패시터에 저장되고, 상기 커패시터에 저장된 상기 출력 신호의 합은 상기 아날로그-디지털 변환기를 통해 상기 디지털 신호로 변환되어,
    상기 디지털화된 출력 신호의 값을 계산하는, 뉴로모픽 시스템.
  19. 입력 신호를 발생시키는, 입력 신호부;
    상기 입력 신호를 받아 설정된 가중치에 따라 전류를 흘리는 복수의 시냅스 유닛을 포함하고, 상기 복수의 시냅스 유닛 각각은 선택적으로 논리 상태를 저장할 수 있는 복수의 비휘발성 메모리 셀을 포함하고, 상기 비휘발성 메모리 셀은 서로 교차하는 입력 전극라인과 출력 전극라인을 포함하는 메모리 어레이에 배치되며, 상기 입력 신호에 의해 상기 출력 전극라인별로 출력 신호를 발생키는 시냅스부;
    상기 출력 전극라인별로 발생되는 출력 신호를 디지털화하고, 상기 디지털화된 출력 신호의 합을 계산하는 디지털 계산부; 및
    상기 입력 신호부, 상기 시냅스부 및 디지털 계산부를 제어하는 컨트롤러부를 포함하는 뉴로모픽 시스템의 작동 방법에 있어서,
    (a) 상기 출력 전극라인별로 디지털화된 자릿수를 지정하고 상기 복수의 시냅스 유닛 각각에 미리 정해진 가중치에 따라 상기 복수의 비휘발성 메모리 셀에 논리 상태를 저장하는 단계;
    (b) 상기 입력 신호부에서 입력 신호를 발생시키고, 상기 입력 신호가 상기 입력 전극라인을 통해 상기 복수의 시냅스 유닛 각각의 복수의 비휘발성 메모리 셀 각각에 인가되도록 하는 단계;
    (c) 상기 인가되는 입력 신호에 의해 상기 복수의 비휘발성 메모리 셀들 각각으로부터 흐르는 각 전류의 상기 출력 전극라인별 합을 상기 출력 전극라인별 출력 신호로 발생시키는 단계;
    (d) 상기 출력 전극라인별 자릿수에 따라 상기 출력 신호를 디지털화하는 단계; 및
    (e) 상기 디지털화된 출력 신호의 합을 계산하는 단계를 포함하는,
    뉴로모픽 시스템의 작동 방법.
  20. 제 19 항에 있어서,
    상기 (b) 단계에서 상기 입력 신호는 발생 순서에 따라 서로 다른 디지털화된 펄스 자릿수가 지정되는, 폭과 높이가 동일한 하나 이상의 펄스이어서, 상기 하나 이상의 펄스가 상기 발생 순서에 따라 순차적으로 상기 복수의 비휘발성 메모리 셀에 인가되고,
    상기 (c) 단계에서 상기 출력 신호는 상기 순차적으로 인가되는 펄스 각각에 대해서 차례로 발생되고,
    상기 (d) 단계에서 상기 펄스의 발생 순서에 따른 펄스 자릿수 및 상기 출력 전극라인의 자릿수에 따라 상기 출력 신호를 디지털화하는,
    뉴로모픽 시스템의 작동 방법.
KR1020220148121A 2021-11-24 2022-11-08 아날로그-디지털 하이브리드 컴퓨팅 방법 및 이를 이용하는 뉴로모픽 시스템 KR20230076760A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210163223 2021-11-24
KR20210163223 2021-11-24

Publications (1)

Publication Number Publication Date
KR20230076760A true KR20230076760A (ko) 2023-05-31

Family

ID=84359246

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220148121A KR20230076760A (ko) 2021-11-24 2022-11-08 아날로그-디지털 하이브리드 컴퓨팅 방법 및 이를 이용하는 뉴로모픽 시스템

Country Status (4)

Country Link
US (1) US20230162787A1 (ko)
EP (1) EP4198828A3 (ko)
KR (1) KR20230076760A (ko)
CN (1) CN116167420A (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019012533A1 (en) * 2017-07-11 2019-01-17 Technion Research & Development Foundation Limited RECONFIGURABLE DAC IMPLEMENTED BY A NEURONAL NETWORK BASED ON A MEMORIST
US11693626B2 (en) * 2019-06-18 2023-07-04 Cirrus Logic, Inc. Variable accuracy computing system

Also Published As

Publication number Publication date
US20230162787A1 (en) 2023-05-25
EP4198828A3 (en) 2023-10-11
CN116167420A (zh) 2023-05-26
EP4198828A2 (en) 2023-06-21

Similar Documents

Publication Publication Date Title
CN110825345B (zh) 使用非易失性存储器单元的乘法
US10643119B2 (en) Differential non-volatile memory cell for artificial neural network
Sun et al. XNOR-RRAM: A scalable and parallel resistive synaptic architecture for binary neural networks
KR102497675B1 (ko) 비휘발성의 시냅스 배열을 가지는 신경망 회로
CN111095417B (zh) 使用非易失性半导体存储元件的神经网络运算电路
US20190122105A1 (en) Training of artificial neural networks
CN111052154B (zh) 使用非易失性半导体存储元件的神经网络运算电路
US11449740B2 (en) Synapse circuit with memory
CN113554160A (zh) 神经形态计算设备及其操作方法
EP4006906A1 (en) Apparatus and method for controlling gradual resistance change in synaptic element
EP4198828A2 (en) Analog-digital hybrid computing method and neuromorphic system using the same
US10943649B2 (en) Apparatus and method for controlling gradual conductance change in synaptic element
EP4266218A1 (en) Neuromorphic system using memory array with cross-point structure
WO2020204628A1 (ko) 투-터미널 스위칭 물질을 포함하는 크로스 포인트 타입의 메모리 어레이를 리딩하는 방법
US20220366211A1 (en) Dropout in neutral networks using threshold switching selectors in non-volatile memories
Liu et al. ReRAM-based Circuit and System Design for Future Storage and Computing
US11881260B2 (en) Neuromorphic computing device and method of designing the same
EP4095759A1 (en) Method for training a binarized neural network and related electronic circuit
US20220164638A1 (en) Methods and apparatus for neural network arrays
Lee et al. Neuromorphic Technology Utilizing Nand Flash Memory Cells
KR20240070025A (ko) 심층 신경망을 위한 상변이 메모리 기반 메모리내 컴퓨팅 장치 및 방법
KR20210114898A (ko) 비휘발성 메모리 장치 및 이의 동작 방법
CN116935929A (zh) 互补式存储电路及存储器
CN113921059A (zh) 纵横式数组装置及其写入方法