KR20230147961A - 메모리 장치, 메모리 장치의 동작 방법, 및 이를 포함하는 메모리 시스템 - Google Patents

메모리 장치, 메모리 장치의 동작 방법, 및 이를 포함하는 메모리 시스템 Download PDF

Info

Publication number
KR20230147961A
KR20230147961A KR1020220046984A KR20220046984A KR20230147961A KR 20230147961 A KR20230147961 A KR 20230147961A KR 1020220046984 A KR1020220046984 A KR 1020220046984A KR 20220046984 A KR20220046984 A KR 20220046984A KR 20230147961 A KR20230147961 A KR 20230147961A
Authority
KR
South Korea
Prior art keywords
memristor
correction
memristor array
memory device
array cells
Prior art date
Application number
KR1020220046984A
Other languages
English (en)
Other versions
KR102650005B1 (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 국민대학교산학협력단
Priority to KR1020220046984A priority Critical patent/KR102650005B1/ko
Publication of KR20230147961A publication Critical patent/KR20230147961A/ko
Application granted granted Critical
Publication of KR102650005B1 publication Critical patent/KR102650005B1/ko

Links

Images

Classifications

    • 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
    • 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
    • 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/0004Digital 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Semiconductor Memories (AREA)

Abstract

본 발명의 실시 예에 따른 메모리 장치는 복수의 멤리스터 어레이 셀들 포함하는 멤리스터 어레이 및 상기 복수의 멤리스터 어레이 셀들이 배열된 로우 라인들로 입력되는 입력 전압 또는 상기 복수의 멤리스터 어레이 셀들이 배열된 컬럼 라인들로 출력되는 출력 전류를 보정하기 위한 보정 회로를 포함하며, 상기 보정 회로는, 각각이, 상기 복수의 멤리스터 어레이 셀들이 프로그램될 상태에 기초하여 저항값이 설정되는 복수의 보정 멤리스터들을 포함할 수 있다.

Description

메모리 장치, 메모리 장치의 동작 방법, 및 이를 포함하는 메모리 시스템{MEMORY DEVICE, OPERATING METHOD OF THE MEMORY DEVICE, AND MEMORY SYSTEM INCLUDING THE SAME}
본 발명은 메모리 장치, 메모리 장치의 동작 방법, 및 이를 포함하는 메모리 시스템에 관한 것으로, 보다 상세하게는 복수의 멤리스터 어레이 셀들이 프로그램될 상태에 기초하여 저항값이 설정되는 보정 멤리스터를 포함하는 보정 회로를 구비하는 메모리 장치, 메모리 장치의 동작 방법, 및 이를 포함하는 메모리 시스템에 관한 것이다.
종래에는 저항기, 인덕터, 그리고 커패시터와 같은 세가지 유형의 회로부품만이 존재해왔으나, 1972년 UC 버클리대 연구원인 레온 추아(Leon Chua)는 4번째 유형의 회로부품인 멤리스터가 존재할 수 있음을 이론화했다.
멤리스터(memristor)는 메모리(memory)와 레지스터(registor)의 합성어로써, 멤리스터는 얼마나 많은 양의 전류가 통과했는지를 기억할 수 있다.
멤리스터의 특징은 전원 공급이 중단된 상태에서도 직전에 통과한 전류의 방향과 양을 기억할 수 있다는 점이고, 이 점이 오늘날의 플래시 메모리를 대체할 수 있는 차세대 소자로 주목받는 이유이다.
멤리스터는 가격이 싸고, 데이터 처리 속도가 빠르며, 높은 밀도로 구성되어 저장용량이 큰 메모리를 만드는 데에 활용될 수 있다.
(특허문헌 1) 한국 공개특허공보 제10-2011-0020973호(2011.03.04)
본 발명이 이루고자 하는 기술적 과제는 복수의 멤리스터 어레이 셀들이 프로그램될 상태에 기초하여 저항값이 설정되는 보정 멤리스터를 포함하는 보정 회로를 구비하는 메모리 장치, 메모리 장치의 동작 방법, 및 이를 포함하는 메모리 시스템을 제공하는 것이다.
본 발명의 일 실시 예에 따른 메모리 장치는 복수의 멤리스터 어레이 셀들 포함하는 멤리스터 어레이 및 상기 복수의 멤리스터 어레이 셀들이 배열된 로우 라인들로 입력되는 입력 전압 또는 상기 복수의 멤리스터 어레이 셀들이 배열된 컬럼 라인들로 출력되는 출력 전류를 보정하기 위한 보정 회로를 포함하며, 상기 보정 회로는, 각각이, 상기 복수의 멤리스터 어레이 셀들이 프로그램될 상태에 기초하여 저항값이 설정되는 복수의 보정 멤리스터들을 포함할 수 있다.
실시 예에 따라, 상기 보정 회로는, 상기 멤리스터 어레이에 발생하는 기생 저항(parasitic resistance)에 의한 오차를 보정할 수 있다.
실시 예에 따라, 상기 보정 회로는, 상기 복수의 멤리스터 어레이 셀들이 배열된 로우 라인들 각각의 입력단에 구성될 수 있다.
실시 예에 따라, 상기 보정 회로는, 각각이, 상기 입력 전압을 비반전 단자로 입력받는 연산 증폭기를 포함하는 복수의 비반전 증폭기 회로들로 구성될 수 있다.
실시 예에 따라, 상기 복수의 비반전 증폭기 회로들 각각을 구성하는 복수의 저항 소자들 중 어느 하나는 상기 보정 멤리스터로 구성될 수 있다.
실시 예에 따라, 상기 보정 멤리스터의 저항값은, 상기 복수의 로우 라인들 중에서 상기 보정 멤리스터에 상응하는 로우 라인에 배열된 멤리스터 어레이 셀들이 프로그램될 상태에 기초하여 설정될 수 있다.
실시 예에 따라, 상기 보정 멤리스터의 저항값은, 상기 복수의 로우 라인들 중에서 상기 보정 멤리스터에 상응하는 로우 라인에 배열된 멤리스터 어레이 셀들 중에서, HRS(High Resistance State)로 프로그램될 멤리스터 어레이 셀들의 개수 또는 LRS(Low Resistance State)로 프로그램로 프로그램될 멤리스터 어레이 셀들의 개수에 기초하여 설정될 수 있다.
실시 예에 따라, 상기 보정 회로는, 상기 복수의 멤리스터 어레이 셀들이 배열된 컬럼 라인들 각각의 출력단에 구성될 수 있다.
실시 예에 따라, 상기 보정 회로는, 각각이, 상기 출력 전류에 의해 형성되는 출력 전압이 비반전 단자로 입력되는 연산 증폭기를 포함하는 복수의 비반전 증폭기 회로들로 구성될 수 있다.
실시 예에 따라, 상기 복수의 비반전 증폭기 회로들 각각을 구성하는 복수의 저항 소자들 중 어느 하나는 상기 보정 멤리스터로 구성될 수 있다.
실시 예에 따라, 상기 보정 멤리스터의 저항값은, 상기 복수의 컬럼 라인들 중에서 상기 보정 멤리스터에 상응하는 컬럼 라인에 배열된 멤리스터 어레이 셀들이 프로그램될 상태에 기초하여 설정될 수 있다.
실시 예에 따라, 상기 보정 멤리스터의 저항값은, 상기 복수의 컬럼 라인들 중에서 상기 보정 멤리스터에 상응하는 컬럼 라인에 배열된 멤리스터 어레이 셀들 중에서, HRS(High Resistance State)로 프로그램될 멤리스터 어레이 셀들의 개수 또는 LRS(Low Resistance State)로 프로그램로 프로그램될 셀들의 개수에 기초하여 설정될 수 있다.
실시 예에 따라, 상기 복수의 멤리스터 어레이 셀들이 프로그램될 상태는, 학습된 인공신경망(Artificail Neural Network(ANN)) 내의 시냅스 가중치(synaptic weight)에 상응할 수 있다.
본 발명의 일 실시 예에 따른 메모리 장치의 동작 방법은 복수의 멤리스터 어레이 셀들이 프로그램될 상태를 결정하는 단계, 결정된 상기 복수의 멤리스터 어레이 셀들이 프로그램될 상태에 기초하여, 상기 복수의 멤리스터 어레이 셀들이 배열된 로우 라인들로 입력되는 입력 전압 또는 상기 복수의 멤리스터 어레이 셀들이 배열된 컬럼 라인들로 출력되는 출력 전류를 보정하기 위한 보정 회로에 포함된 복수의 보정 멤리스터들의 저항 값을 설정하는 단계 및 저항 값이 설정된 상기 복수의 보정 멤리스터들을 포함하는 상기 보정 회로를 이용하여, 상기 입력 전압 또는 상기 출력 전류를 보정하는 단계를 포함할 수 있다.
본 발명의 일 실시 예에 따른 메모리 시스템은 메모리 장치 및 메모리 장치를 제어하기 위한 제어신호를 생성하는 메모리 컨트롤러를 포함하며, 상기 메모리 장치는, 복수의 멤리스터 어레이 셀들 포함하는 멤리스터 어레이 및 상기 복수의 멤리스터 어레이 셀들이 배열된 로우 라인들로 입력되는 입력 전압 또는 상기 복수의 멤리스터 어레이 셀들이 배열된 컬럼 라인들로 출력되는 출력 전류를 보정하기 위한 보정 회로를 포함하며, 상기 보정 회로는, 각각이, 상기 복수의 멤리스터 어레이 셀들이 프로그램될 상태에 기초하여 저항값이 설정되는 복수의 보정 멤리스터들을 포함할 수 있다.
본 발명의 실시 예에 따른 방법과 장치는 복수의 멤리스터 어레이 셀들이 프로그램될 상태에 기초하여 저항값이 설정되는 보정 멤리스터를 포함하는 보정 회로를 통하여, 기생 저항에 따른 입력 전압의 오류 또는 출력 전류의 오류를 정확하게 보정할 수 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 따른 메모리 장치의 블록도이다.
도 2는 도 1에 도시된 메모리 장치에 정보가 저장될 수 있는 뉴럴네트워크의 예시도이다.
도 3은 도 1에 도시된 멤리스터 어레이에 도 2에 도시된 뉴럴네트워크의 정보가 저장되는 형태를 나타내는 예시도이다.
도 4는 도 1에 도시된 멤리스터 어레이 회로의 일 실시 예에 따른 회로도이다.
도 5는 도 4에 도시된 제1보정 회로에 포함된 비반전 증폭기 회로의 일 실시 예이다.
도 6은 도 5에 도시된 보정 멤리스터를 프로그램하기 위한 제어신호들의 일 실시 예에 따른 타이밍도이다.
도 7은 도 5에 도시된 비반전 증폭기 회로에 포함된 보정 멤리스터의 일 실시 예에 따른 단면도이다.
도 8은 도 5에 도시된 보정 멤리스터가 프로그램됨에 따라 컨덕턴스가 조절되는 과정을 나타낸 그래프이다.
도 9는 도 4에 도시된 제2보정 회로에 포함된 비반전 증폭기 회로의 일 실시 예이다.
도 10 내지 도 13은 멤리스터 어레이 회로의 특정 로우 라인에 LRS로 프로그램되는 셀들의 비율 또는 특정 컬럼 라인에 LRS로 프로그램되는 셀들의 비율 별로 보상 회로의 효과를 비교한 그래프이다.
도 14 내지 도 16은 멤리스터 어레이 회로에서 보상 회로가 존재하는 경우와 존재하지 않는 경우에 입력 전압과 출력 전류의 에러 비율을 비교하기 위한 도면이다.
도 17는 복수의 멤리스터 어레이들이 조합되어 구현되는 실시 예를 나타낸 도면이다.
도 18과 도 19는 멤리스터 어레이 회로에서 보상 회로가 존재하는 경우와 존재하지 않는 경우에 인식률을 비교하기 위한 그래프이다.
도 20은 본 발명의 일 실시 예에 따른 메모리 장치를 포함하는 메모리 시스템이다.
도 21은 본 발명의 일 실시 예에 따른 메모리 장치의 동작 방법의 플로우차트이다.
본 발명의 기술적 사상은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세히 설명하고자 한다. 그러나, 이는 본 발명의 기술적 사상을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 기술적 사상의 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명의 기술적 사상을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에 기재된 "~부", "~기", "~자", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 프로세서(Processor), 마이크로 프로세서(Micro Processer), 마이크로 컨트롤러(Micro Controller), CPU(Central Processing Unit), GPU(Graphics Processing Unit), APU(Accelerate Processor Unit), DSP(Drive Signal Processor), ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등과 같은 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있으며, 적어도 하나의 기능이나 동작의 처리에 필요한 데이터를 저장하는 메모리(memory)와 결합되는 형태로 구현될 수도 있다.
그리고 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
도 1은 본 발명의 일 실시 예에 따른 메모리 장치의 블록도이다. 도 2는 도 1에 도시된 메모리 장치에 정보가 저장될 수 있는 뉴럴네트워크의 예시도이다. 도 3은 도 1에 도시된 멤리스터 어레이에 도 2에 도시된 뉴럴네트워크의 정보가 저장되는 형태를 나타내는 예시도이다. 도 4는 도 1에 도시된 멤리스터 어레이 회로의 일 실시 예에 따른 회로도이다.
도 1을 참조하면, 메모리 장치(10)는 메모리 컨트롤러(memory controller, 100), 멤리스터 어레이 제어 회로(memrister array controlling circuit, 200), 멤리스터 어레이 회로(memrister array circuit 230), 및 출력 회로(output circuit, 240)를 포함할 수 있다.
메모리 컨트롤러(100)는 메모리 장치(10)로 입력되는 입력 데이터를 멤리스터 어레이 회로(230)에 프로그램(program)하기 위한 제어 신호를 생성하고, 생성된 제어 신호를 멤리스터 어레이 제어 회로(200)로 전송할 수 있다.
실시 예에 따라, 메모리 컨트롤러(100)는 복수의 프로그램 전압 패턴들 중에서 입력 데이터에 상응하는 프로그램 전압 패턴을 선택하고, 선택된 프로그램 전압 패턴에 상응하는 제어 신호를 생성할 수 있다.
메모리 컨트롤러(100)는 멤리스터 어레이 회로(230)에 저장되어 있는 데이터를 리드(read)하기 위한 제어 신호를 생성하고, 생성된 제어 신호를 멤리스터 어레이 제어 회로(200)로 전송할 수 있다.
메모리 컨트롤러(100)의 제어 신호에 따라 멤리스터 어레이 회로(230)로부터 리드된 데이터는 출력 회로(240)를 통하여 메모리 컨트롤러(240)로 전달될 수 있다.
메모리 컨트롤러(100)는 리드된 데이터를 프로세서(processor, 미도시) 측으로 전달할 수 있다.
멤리스터 어레이 제어 회로(200)는 게이트 제어 회로(gate controlling circuit, 210)과 입력 회로(input circuit, 220)를 포함할 수 있다.
게이트 제어 회로(210)는 메모리 컨트롤러(100)의 제어 신호에 따라 멤리스터 어레이 회로(230)에 포함된 멤리스터 어레이 셀들을 선택하기 위한 선택 신호를 생성하여 출력할 수 있다.
입력 회로(220)는 메모리 컨트롤러(100)의 제어 신호에 따라, 입력 데이터에 상응하는 전압 패턴을 생성하고, 생성된 전압 패턴을 멤리스터 어레이 회로(230)에 제공할 수 있다.
멤리스터 어레이 회로(230)는 메모리 컨트롤러(100)의 제어에 따라 입력 데이터를 저장할 수 있다.
도 2를 함께 참조하면, 본 발명의 실시 예에 따른 메모리 장치(10)가 적용될 수 있는 멀티레이어 뉴럴네트워크(예컨대, 인공 뉴럴 네트워크(Artificial Neural Network(ANN))의 개념도가 도시된다. 멀티레이어 뉴럴네트워크는 처음 입력되는 값에 해당하는 입력 레이어(또는 입력 뉴런들(input neurons)), 입력되는 값을 처리하는 내부 층에 해당하는 히든 레이어(또는 히든 뉴런들(hidden neurons)), 및 결과가 출력되는 출력 레이어(또는 출력 뉴런들(output neurons)로 구분될 수 있다.
입력 레이어, 히든 레이어, 및 출력 레이어 간에는 시냅스 가중치(synaptic weight, 예컨대, w111, w121, w112, w1k2, ??)가 적용될 수 있으며, 실시 예에 따라 시냅스 가중치는 "-1", "1", 또는 "0"의 값을 가질 수 있다.
본 발명의 실시 예에 따른 메모리 장치(10)는 뉴럴 네트워크에서의 "-1", "1", 또는 "0"의 값을 갖는 시냅스 가중치(예컨대, 예컨대, w111, w121, w112, w1k2, ??)를 저장할 수 있다.
도 3을 함께 참조하면, 본 발명의 실시 예에 따른 멤리스터 어레이 회로(230)는 m개의 로우 라인들과 n개의 컬럼 라인들에 배열된 복수의 멤리스터 어레이 셀들을 구비할 수 있으며, 복수의 멤리스터 어레이 셀들에는 도 2에 도시된 뉴럴 네트워크에서 입력 레이어와 히든 레이어 간의 시냅스 가중치가 저장될 수 있다. 예컨대, 제1멤리스터(MR11)에는 제1가중치(w111)가 저장되고, 제2멤리스터(MR12)에는 제2가중치(w121)가 저장될 수 있다.
실시 예에 따라, 멀티레이어 뉴럴 네트워크에서의 시냅스 가중치들은 본 발명의 실시 예에 따른 멤리스터 어레이 회로(230)를 복수개 조합하여 저장할 수 있다. 이 경우 첫번째 멤리스터 어레이 회로에는 입력 레이어와 히든 레이어 간의 시냅스 가중치가 저장되고, 두번째 멤리스터 어레이 회로에는 히든 레이어와 출력 레이어 간의 시냅스 가중치가 저장될 수 있다.
도 4를 함께 참조하면, 도 4에서는 설명의 편의를 위하여 멤리스터 어레이 회로(230)와 함께 게이트 제어 회로(210)가 도시된다. 멤리스터 어레이 회로(230)는 멤리스터 어레이(232), 제1보정 회로(234), 및 제2보정 회로(236)를 포함할 수 있다.
멤리스터 어레이(232)는 n 개의 컬럼 라인들(예컨대, COL1~COLn)과 m개의 로우 라인들(예컨대, ROW1~ROWm)에 배열된 복수의 멤리스터 어레이 셀들(MC11, MC12, ??)을 포함할 수 있다.
각 멤리스터 어레이 셀들(MC11, MC12, ??)은 설정된 저항 값에 따라 데이터를 저장하는 멤리스터(MR11, MR12, ??)와, 게이트 제어 회로(210)로부터 출력된 선택 신호(SEL1~SELn)에 따라 온(on) 또는 오프(off)되어 멤리스터 어레이 셀들(MC11, MC12, ??)을 선택할 수 있는 게이트(GT11, GT12, ??)를 포함할 수 있다.
실시 예에 따라, 멤리스터 어레이(232)에 포함된 복수의 멤리스터 어레이 셀들(MC11, MC12, ??)은 2가지 상태로 프로그램될 수 있는 바이너리(binary) 멤리스터 어레이로 구현될 수 있다. 예컨대, 복수의 멤리스터 어레이 셀들(MR1, MR2, ??) 각각은 "0"에 상응하는 입력 데이터를 저장할 수 있는 고 저항 상태(High Resistance State(HRS)) 또는 "1" 혹은 "-1"에 상응하는 입력 데이터를 저장할 수 있는 저 저항 상태(Low Resistance State(LRS))로 프로그램 될 수 있다.
실시 예에 따라, 멤리스터 어레이 셀들(예컨대, MR1, MR2)은 뉴럴 네트워크에서의 "1", "0", 또는 "-1"의 값을 갖는 시냅스 가중치를 저장할 수 있다.
다른 실시 예에 따라, 인접한 복수의 멤리스터 어레이 셀들의 조합으로 시냅스 가중치를 저장할 수도 있다. 예컨대, 상기 2개의 멤리스터 어레이 셀들이 모두 HRS로 프로그램 된 경우 상기 2개의 멤리스터 어레이 셀들에 저장된 값은 "0"으로 구분되고, 상기 2개의 멤리스터 어레이 셀들 중 일측에 위치한 멤리스터 어레이 셀은 LRS로 프로그램되고, 타측에 위치한 멤리스터 어레이 셀은 HRS로 프로그램 된 경우 상기 2개의 멤리스터 어레이 셀들에 저장된 값을 "1"로 구분하고, 상기 2개의 멤리스터 어레이 셀들 중 상기 일측에 위치한 멤리스터 어레이 셀은 HRS로 프로그램되고, 상기 타측에 위치한 멤리스터 어레이 셀은 LRS로 프로그램 된 경우 상기 2개의 멤리스터 어레이 셀들에 저장된 값을 "-1"로 구분될 수 있다.
제1보정 회로(234)는 복수의 멤리스터 어레이 셀들이 배열된 로우 라인들(ROW1~ROWm) 각각의 입력단에 구성되어, 입력 회로(220)를 통해 입력된 입력 전압(VIN,1~VIN,m)을 보정할 수 있다.
실시 예에 따라, 멤리스터 어레이(232)에는 기생 저항(parasitic resistance), 예컨대 소스 저항(source resistance, RS), 라인 저항(line resistance, RW), 및 뉴런 저항(neuron resistance, RN) 중 적어도 어느 하나에 의하여 의도치 않는 전압 강하가 발생할 수 있으며, 이로 인해 멤리스터 어레이 셀들(MC11, MC12,??)에 실제 인가되는 입력전압에는 오차가 발생할 수 있다. 제1보정 회로(234)는 상기 오차를 보정할 수 있다.
제1보정 회로(234)를 구성하는 복수의 비반전 증폭기 회로들 각각의 세부적인 구조와 동작에 대해서는 도 5 내지 도 8을 참조하여 후술하도록 한다.
제2보정 회로(236)는 복수의 멤리스터 어레이 셀들이 배열된 컬럼 라인들(COL1~COLn) 각각의 출력단에 구성되어, 컬럼 라인들(COL1~COLn) 각각으로 출력되는 출력 전류(I1~In)를 보정할 수 있다. 출력 전류(I1~In)의 보정에 따라 출력 전압(VN,1~VN,n)도 함께 보정될 수 있다.
실시 예에 따라, 제2보정 회로(236)는 기생 저항, 예컨대 소스 저항(RS), 라인 저항(RW), 및 뉴런 저항(RN) 중 적어도 어느 하나에 의하여 의도치 않게 발생하는 출력 전류(I1~In)의 오차를 보정할 수 있다.
제2보정 회로(236)를 구성하는 복수의 비반전 증폭기 회로들 각각의 세부적인 구조와 동작에 대해서는 도 9을 참조하여 후술하도록 한다.
도 1로 돌아와서, 출력 회로(240)는 출력 신호를 출력 신호에 상응하는 데이터 값으로 처리하여 메모리 컨트롤러(100)로 출력할 수 있다.
도 5는 도 4에 도시된 제1보정 회로에 포함된 비반전 증폭기 회로의 일 실시 예이다. 도 6은 도 5에 도시된 보정 멤리스터를 프로그램하기 위한 제어신호들의 일 실시 예에 따른 타이밍도이다. 도 7은 도 5에 도시된 비반전 증폭기 회로에 포함된 보정 멤리스터의 일 실시 예에 따른 단면도이다. 도 8은 도 5에 도시된 보정 멤리스터가 프로그램됨에 따라 컨덕턴스가 조절되는 과정을 나타낸 그래프이다.
도 4와 도 5를 참조하면, 도 5에서는 도 4에 도시된 제1보정 회로(234)에 포함된 복수의 비반전 증폭기 회로들 중에서 어느 하나를 예시적으로 도시하였다.
비반전 증폭기 회로에는 입력 전압(VIN,i ; i는 1~m 사이의 자연수)이 연산증폭기의 비반전 단자로 입력되도록 구성될 수 있다.
비반전 증폭기 회로를 구성하는 복수의 저항 소자들 중에 어느 하나는 보정 멤리스터(RR,i)로 구성되고, 비반전 증폭기 회로를 구성하는 복수의 저항 소자들 중에 다른 하나는 저항 소자(R1)로 구성될 수 있다.
보정 멤리스터(RR,i)는 복수의 멤리스터 어레이 셀들(MC11, MC12, ??)이 프로그램될 상태에 기초하여 저항값이 설정(프로그램)될 수 있다. 보정 멤리스터(RR,i)의 주변에는 보정 멤리스터(RR,i)의 저항값을 설정하기 위한 추가적인 회로가 구비될 수 있다.
도 6을 함께 참조하면, 프로그램 단계(programming phase)에서, "온" 상태의 스위칭 신호(SW)가 인가되고, 제1스위치(S1)는 "온" 상태로 제어되고, 제2스위치(S2)는 "오프" 상태로 제어됨에 따라, 보정 멤리스터(RR,i)의 저항값을 설정하기 위한 프로그램 전압(VP)이 보정 멤리스터(RR,i)에 인가될 수 있다. 이에 따라 보정 멤리스터(RR,i)의 컨덕턴스(저항 값의 역수)는 설정 목표값까지 증가할 수 있다.
리드 단계(read phase)에서, "오프" 상태의 스위칭 신호(SW)가 인가되고, 제1스위치(S1)는 "오프" 상태로 제어되고, 제2스위치(S2)는 "온" 상태로 제어됨에 따라, 저항값이 설정된 보정 멤리스터(RR,i)가 연산 증폭기의 반전 단자로 연결될 수 있다.
실시 예에 따라, 프로그램 전압(VP)은 입력 회로(220)에서 입력 전압(VIN,i)과 별도로 보정 멤리스터(RR,i)로 인가되고, 스위칭 신호(SW)는 게이트 제어 회로(210)에서 선택 신호(SEL1~SELn)와 별도로 보정 멤리스터(RR,i) 주변의 스위치들(S1, S2)로 인가될 수 있다. 다른 실시 예에 따라, 메모리 장치(10)는 프로그램 전압(VP)과 스위칭 신호(SW)를 생성하기 위한 별도의 구성을 포함할 수도 있다.
도 7을 함께 참조하면, 실시 예에 따라 보정 멤리스터(RR,i)의 단면은 도 7과 같은 형태를 나타낼 수 있다. 이 경우 보정 멤리스터(RR,i)는 Pt 층, LaAlO3 층, Nb가 첨가된 SrTiO(Nb-doped SrTiO) 층이 적층된 구조를 가질 수 있다.
도 8(A)를 함께 참조하면, 보정 멤리스터(RR,i)의 베릴로그(Verilog)-A 모델에서의 전류-전압 관계와 보정 멤리스터(RR,i)에서 실제 측정된 전류-전압 관계를 비교한 그래프가 도시되어 있다. 베릴로그-A 모델에서의 전류-전압 관계와 보정 멤리스터(RR,i)에서 실제 측정된 전류-전압 관계가 상당부분 일치하는 것을 확인할 수 있다.
도 8(B)를 함께 참조하면, 보정 멤리스터(RR,i)에 순차적으로 펄스 크기가 점진적으로 커지는 프로그램 전압 패턴이 인가되었을 때의 보정 멤리스터(RR,i)의 컨덕턴스를 나타낸 그래프가 도시되어 있다. 펄스 크기가 점진적으로 커지는 프로그램 전압 패턴이 인가됨에 따라 보정 멤리스터(RR,i)의 컨덕턴스도 함께 커지는 것을 확인할 수 있다.
도 5로 돌아와서, 보정 멤리스터(RR,i)의 저항 값은 복수의 로우 라인들(ROW1~ROWm) 중에서 보정 멤리스터(RR,i)에 상응하는 로우 라인(ROWi)에 배열된 멤리스터 어레이 셀들이 프로그램될 상태에 기초하여 설정될 수 있다.
실시 예에 따라, 제1보정 멤리스터(RR,1)의 저항 값은 복수의 로우 라인들(ROW1~ROWm) 중에서 제1보정 멤리스터(RR,1)에 상응하는 로우 라인(ROW1)에 배열된 멤리스터 어레이 셀들(MC11, MC12, ??, MC1n)이 프로그램될 상태에 기초하여 설정될 수 있다.
실시 예에 따라, 제1보정 멤리스터(RR,1)의 저항 값은 복수의 로우 라인들(ROW1~ROWm) 중에서 제1보정 멤리스터(RR,1)에 상응하는 로우 라인(ROW1)에 배열된 멤리스터 어레이 셀들(MC11, MC12, ??, MC1n) 중에서 HRS로 프로그램될 멤리스터 어레이 셀들의 개수, LRS로 프로그램될 멤리스터 어레이 셀들의 개수, 또는 HRS로 프로그램될 멤리스터 어레이 셀들과 LRS로 프로그램될 멤리스터 어레이 셀들의 비율에 기초하여 설정될 수 있다.
도 4와 도 5를 함께 참조하면, i번째 로우 라인(ROWi)에서 최초 입력 전압(VIN,i)에 대하여 멤리스터 어레이 셀에 인가되는 실제 입력 전압(VS,i)는 기생 저항(예컨대, 소스 저항(RS), 라인 저항(RW), 및 뉴런 저항(RN))에 의해, 하기의 수식 1과 같이 표현될 수 있다.
(수식 1)
상기 수식 1에서, GS는 소스 저항 RS의 역수, li는 i번째 로우 라인(ROWi)에서 LRS로 프로그램될 멤리스터 어레이 셀들의 개수, (n-li)는 li는 i번째 로우 라인(ROWi)에서 HRS로 프로그램될 멤리스터 어레이 셀들의 개수, RLRS는 LRS 상태의 멤리스터 어레이 셀의 저항값, RHRS는 HRS 상태의 멤리스터 어레이 셀의 저항값, RN은 멤리스터 어레이 셀의 뉴런 저항값, G1은 저항 R1의 역수, GR,i는 i번째 로우 라인(ROWi)에 상응하는 보정 멤리스터(RR,i)의 역수를 의미할 수 있다.
실시 예에 따라, i번째 로우 라인(ROWi)에 상응하는 보정 멤리스터(RR,i)의 컨덕턴스 값(GR,i)은 R1의 컨덕턴스와 하기의 (수식 2)의 비율을 가질 때, 최적의 보상이 이루어질 수 있으며, 상기 비율은 i번째 로우 라인(ROWi)에서 HRS로 프로그램될 멤리스터 어레이 셀들의 개수에 기초하여 결정될 수 있다.
(수식 2)
실시 예에 따라, i번째 로우 라인(ROWi)에 상응하는 보정 멤리스터(RR,i)의 컨덕턴스 값(GR,i)은 R1의 컨덕턴스(G1), 소스 저항 RS의 컨덕턴스(GS), 멤리스터 어레이 셀의 뉴런 저항값(RN), LRS 상태의 멤리스터 어레이 셀의 저항값(RLRS), 및 HRS 상태의 멤리스터 어레이 셀의 저항값(RHRS)에 기초하여 결정될 수 있다.
도 9는 도 4에 도시된 제2보정 회로에 포함된 비반전 증폭기 회로의 일 실시 예이다.
도 4, 도 5, 및 도 9를 참조하면, 도 9에서는 도 4에 도시된 제2보정 회로(236)에 포함된 복수의 비반전 증폭기 회로들 중에서 어느 하나를 예시적으로 도시하였다.
비반전 증폭기 회로에는 출력 전류(Ij ; j는 1~n 사이의 자연수)에 의해 형성되는 출력 전압(VN,j)이 연산증폭기의 비반전 단자로 입력되도록 구성될 수 있다.
비반전 증폭기 회로를 구성하는 복수의 저항 소자들 중에 어느 하나는 제2보정 멤리스터(RC,j)로 구성되고, 비반전 증폭기 회로를 구성하는 복수의 저항 소자들 중에 다른 하나는 제2저항 소자(R2)로 구성될 수 있다.
실시 예에 따라, 제1보정 회로(234)에 포함된 제1저항 소자(R1)의 저항값과 제2보정 회로(236)에 포함된 제2저항 소자(R2)의 저항값은 서로 동일할 수도 있고 서로 다를 수도 있다.
제2보정 멤리스터(RC,j)는 복수의 멤리스터 어레이 셀들이 프로그램될 상태에 기초하여 저항값이 설정(프로그램)될 수 있다. 제2보정 멤리스터(RC,j)의 주변에는 제2보정 멤리스터(RC,j)의 저항값을 설정하기 위한 추가적인 회로가 구비될 수 있다. 제2보정 멤리스터(RC,j)의 저항값을 설정하기 위한 추가적인 회로는 도 5의 제1보정 멤리스터(RR,i)와 실질적으로 동일한 형태로 구비될 수 있다.
제2보정 멤리스터(RC,j)의 저항값을 설정하기 위한 프로그램 전압(Vp')과 스위칭 신호(SW')는 제1보정 멤리스터(RR,i)의 저항값을 설정하기 위한 프로그램 전압(Vp)과 스위칭 신호(SW)과는 별개의 신호일 수 있으며, 보정 제2멤리스터(RC,j)의 저항값은 제1보정 멤리스터(RR,i)와 실질적으로 동일한 방식으로 프로그램될 수 있다.
실시 예에 따라, 프로그램 전압(VP')은 입력 회로(220)에서 입력 전압(VN,j)과 별도로 제2보정 멤리스터(RC,j)로 인가되고, 스위칭 신호(SW')는 게이트 제어 회로(210)에서 선택 신호(SEL1~SELn)와 별도로 제2보정 멤리스터(RC,j) 주변의 스위치들(S3, S4)로 인가될 수 있다. 다른 실시 예에 따라, 메모리 장치(10)는 프로그램 전압(VP')과 스위칭 신호(SW')를 생성하기 위한 별도의 구성을 포함할 수도 있다.
실시 예에 따라, 제2보정 멤리스터(RC,j)의 저항 값은 복수의 컬럼 라인들(COL1~COLn) 중에서 제2보정 멤리스터(RC,j)에 상응하는 컬럼 라인(COLj)에 배열된 멤리스터 어레이 셀들 중에서 HRS로 프로그램될 멤리스터 어레이 셀들의 개수, LRS로 프로그램될 멤리스터 어레이 셀들의 개수, 또는 HRS로 프로그램될 멤리스터 어레이 셀들과 LRS로 프로그램될 멤리스터 어레이 셀들의 비율에 기초하여 설정될 수 있다.
도 4와 도 9를 함께 참조하면, j번째 컬럼 라인(COLj)에서의 출력 전류(Ij)에 대한 실제 출력 전압(VN,j)은 기생 저항(예컨대, 소스 저항(RS), 라인 저항(RW), 및 뉴런 저항(RN))에 의해, 하기의 (수식 3)과 같이 표현될 수 있다.
(수식 3)
상기 수식 3에서, G2은 저항 R2의 역수, GC,j는 j번째 컬럼 라인(COLj)에 상응하는 보정 멤리스터(RC,j)의 역수, m은 전체 로우 라인의 개수, GN는 멤리스터 어레이 셀의 뉴런 저항값(RN)의 역수, kj는 j번재 컬럼 라인(COLj)에서 LRS로 프로그램될 멤리스터 어레이 셀들의 개수, (m-kj)는 j번째 컬럼 라인(COLj)에서 HRS로 프로그램될 멤리스터 어레이 셀들의 개수, RLRS는 LRS 상태의 멤리스터 어레이 셀의 저항값, RHRS는 HRS 상태의 멤리스터 어레이 셀의 저항값을 의미할 수 있다.
실시 예에 따라, j번째 컬럼 라인(COLj)에 상응하는 보정 멤리스터(RC,j)의 컨덕턴스 값(GC,j)은 R2의 컨덕턴스(G2)와 하기의 (수식 4)의 비율을 가질 때, 최적의 보상이 이루어질 수 있다.
(수식 4)
실시 예에 따라, j번째 컬럼 라인(COLj)에 상응하는 보정 멤리스터(RC,j)의 컨덕턴스 값(GC,j)은 R2의 컨덕턴스(G2), 멤리스터 어레이 셀의 뉴런 저항(RN)의 컨덕턴스(GN), 소스 저항의 저항값(RS), LRS 상태의 멤리스터 어레이 셀의 저항값(RLRS), 및 HRS 상태의 멤리스터 어레이 셀의 저항값(RHRS)에 기초하여 결정될 수 있다.
도 10 내지 도 13은 멤리스터 어레이의 특정 로우 라인에 LRS로 프로그램되는 셀들의 비율 또는 특정 컬럼 라인에 LRS로 프로그램되는 셀들의 비율 별로 보상 회로의 효과를 비교한 그래프이다.
도 10은 멤리스터 어레이의 특정 로우 라인에 LRS로 프로그램되는 셀들의 비율에 따라 이상적인 경우(ideal crossbar), 비 이상적이고 본 발명에 따른 보상 처리가 없는 경우(nonideal crossbar without compensation), 및 비 이상적이고 본 발명에 따른 보상 처리가 있는 경우(nonideal crossbar with compensation)의 입력 전압(source voltage)을 서로 비교한 그래프이다. 이 때, 비 이상적인 것은 기생 저항에 따라 오차가 발생하는 경우를 의미할 수 있다.
도 10에서 볼 수 있듯이 해당 로우 라인에 LRS 상태의 멤리스터 어레이 셀들의 비율이 20% 존재할 때, 비 이상적이고 본 발명에 따른 보상 처리가 없는 경우는 이상적인 경우에 비하여 입력 전압이 38.9%의 값이 되는 것을 확인할 수 있다.
반면, LRS 상태의 멤리스터 어레이 셀들의 비율이 20% 존재할 때, 비 이상적이고 본 발명에 따른 보상 처리가 있는 경우는 해당 로우 라인에 이상적인 경우에 비하여 입력 전압이 99.7%의 값을 가지므로 오차가 0.3% 수준으로 현저히 감소하는 것을 확인할 수 있다.
도 11은 멤리스터 어레이의 특정 컬럼 라인에 LRS로 프로그램되는 셀들의 비율에 따라 이상적인 경우, 비 이상적이고 본 발명에 따른 보상 처리가 없는 경우, 및 비 이상적이고 본 발명에 따른 보상 처리가 있는 경우의 출력 전압(output voltage)을 서로 비교한 그래프이다. 이 때, 비 이상적인 것은 기생 저항에 따라 오차가 발생하는 경우를 의미할 수 있다.
도 11에서 볼 수 있듯이 해당 컬럼 라인에 LRS 상태의 멤리스터 어레이 셀들의 비율이 20% 존재할 때, 비 이상적이고 본 발명에 따른 보상 처리가 없는 경우는 이상적인 경우에 비하여 출력 전압이 21.5%의 값이 되는 것을 확인할 수 있다.
반면, 해당 컬럼 라인에 LRS 상태의 멤리스터 어레이 셀들의 비율이 20% 존재할 때, 비 이상적이고 본 발명에 따른 보상 처리가 있는 경우는 이상적인 경우에 비하여 출력 전압이 98.5%의 값을 가지므로 오차가 1.5% 수준으로 현저히 감소하는 것을 확인할 수 있다.
도 12은 라인 저항(RW)의 값이 2Ω인 경우의 멤리스터 어레이 회로의 특정 로우 라인에 LRS로 프로그램되는 셀들의 비율에 따라 이상적인 경우, 비 이상적이고 본 발명에 따른 보상 처리가 없는 경우, 및 비 이상적이고 본 발명에 따른 보상 처리가 있는 경우의 입력 전압을 서로 비교한 그래프이다. 다소간의 오차 감소 효과에 차이는 있으나 도 10과 같이 본 발명에 따른 보상 처리에 의해 오차가 현저히 줄어드는 것을 확인할 수 있다.
도 13은 라인 저항(RW)의 값이 2Ω인 경우의 멤리스터 어레이 회로의 특정 컬럼 라인에 LRS로 프로그램되는 셀들의 비율에 따라 이상적인 경우, 비 이상적이고 본 발명에 따른 보상 처리가 없는 경우, 및 비 이상적이고 본 발명에 따른 보상 처리가 있는 경우의 출력 전압을 서로 비교한 그래프이다. 다소간의 오차 감소 효과에 차이는 있으나 도 11과 같이 본 발명에 따른 보상 처리에 의해 오차가 현저히 줄어드는 것을 확인할 수 있다.
도 14 내지 도 16은 멤리스터 어레이 회로에서 보상 회로가 존재하는 경우와 존재하지 않는 경우에 입력 전압과 출력 전류의 에러 비율을 비교하기 위한 도면이다.
도 14는 멤리스터 어레이 회로에서 보상 회로가 존재하는 경우와 존재하지 않는 경우에 입력 전압과 출력 전류의 에러 비율을 비교하기 위하여 64개의 로우라인들과 64개의 컬럼라인들로 구성된 멤리스터 셀 어레이에서 흰색은 LRS로 프로그래밍되고, 검은색은 HRS로 프로그래밍된 상태를 나타낸다.
도 15는 도 14와 같은 상태의 멤리스터 어레이에서 각 로우라인에서의 입력 전압의 에러 비율을 나타낸 그래프이다. 보상이 이루어지지 않은 경우 평균 에러 비율은 36.7%인 반면, 본 발명에 따라 보상이 이루어진 경우 평균 에러 비율은 7.5%로 현저히 줄어드는 것을 확인할 수 있다.
도 16은 도 14와 같은 상태의 멤리스터 어레이에서 각 컬럼라인에서의 출력 전압의 에러 비율을 나타낸 그래프이다. 보상이 이루어지지 않은 경우 평균 에러 비율은 65.5%인 반면, 본 발명에 따라 보상이 이루어진 경우 평균 에러 비율은 8.6%로 현저히 줄어드는 것을 확인할 수 있다.
도 17는 복수의 멤리스터 어레이들이 조합되어 구현되는 실시 예를 나타낸 도면이다.
도 17을 참조하면, 본 발명의 실시 예에 따른 멤리스터 어레이는 도 17과 같은 복수의 서브 멤리스터 어레이(sub-crossbar)의 조합으로 구성될 수도 있다.
도 18과 도 19는 멤리스터 어레이 회로에서 보상 회로가 존재하는 경우와 존재하지 않는 경우에 인식률을 비교하기 위한 그래프이다.
도 18(a)는 라인 저항(RW)의 값이 1Ω인 경우의 멤리스터 어레이 회로에서 보상 회로가 존재하는 경우와 존재하지 않는 경우에 인식률을 MNIST 데이터 셋으로 비교한 그래프이다. 뉴런 저항(RN)이 1kΩ에서 3kΩ으로 커짐에 따라 인식율이 전체적으로 떨어지긴 하지만, 보상 회로가 존재하는 경우는 보상회로가 존재하지 않는 경우에 비하여 인식율이 2.9% 내지 4.7% 범위에서 향상되는 것을 확인할 수있다.
도 18(b)는 라인 저항(RW)의 값이 2Ω인 경우의 멤리스터 어레이 회로에서 보상 회로가 존재하는 경우와 존재하지 않는 경우에 인식률을 MNIST 데이터 셋으로 비교한 그래프이다. 마찬가지로, 뉴런 저항(RN)이 1kΩ에서 3kΩ으로 커짐에 따라 인식율이 전체적으로 떨어지긴 하지만, 보상 회로가 존재하는 경우는 보상회로가 존재하지 않는 경우에 비하여 인식율이 약 4.9% 향상되는 것을 확인할 수 있다.
도 20은 본 발명의 일 실시 예에 따른 메모리 장치를 포함하는 메모리 시스템이다.
도 20에 도시된 메모리 시스템(1000)의 구성은 일 실시 예에 불과하며, 일부 구성이 생략되거나, 일부 구성이 추가되는 형태로 구현될 수 있다.
프로세서(1010)는 메모리 시스템(1000) 내의 전반적인 동작을 제어하며, 메모리 시스템(1000) 내의 데이터 처리를 수행할 수 있다.
메모리 장치(1020)는 메모리 시스템(1000)에서 수집된 데이터와 프로세서(1010)에 의한 데이터 처리 과정에서 생성되는 데이터를 저장할 수 있다.
실시 예에 따라, 메모리 장치(1020)는 본 발명의 실시 예에 따른 메모리 장치(예컨대, 도 1의 10)와 같은 형태로 구현될 수 있다.
센서 장치(1030)는 다양한 형태의 센서들(예컨대 이미지 센서, 온도 센서, 습도 센서, 초음파 센서, 가속도 센서, 적외선 센서, 바이오 센서 등)을 포함하는 형태로 구현될 수 있다.
센서 장치(1030)는 다양한 종류의 센싱 데이터를 수집하고, 수집된 센싱 데이터를 메모리 장치(1020)로 전달하여 저장할 수 있다.
뉴럴네트워크 시스템(1040)은 센싱 데이터를 학습하기 위한 별도의 시스템으로 구현될 수도 있고, 메모리 장치(1020)와 결합되어 센싱 데이터의 저장 과정에서 센싱 데이터 또는 뉴럴네트워크 내의 시냅스 가중치를 직접 학습시킬 수도 있다.
유저 인터페이스(1050)는 사용자가 메모리 시스템(1000)을 조작하기 위한 구성으로, 실시 예에 따라 물리적 버튼 등으로 구현되거나 디스플레이를 통하여 터치 입력을 받을 수 있는 형태로 구현될 수 있다.
통신 인터페이스(1060)는 메모리 시스템(1000)에 의해 저장, 처리, 또는 학습된 데이터를 타 전자 장치와 송신하거나 또는 타 전자 장치로부터의 데이터 또는 제어 명령을 수신하기 위한 구성으로, 통신 수행을 위한 안테나를 포함하여 구성될 수 있다.
도 21은 본 발명의 일 실시 예에 따른 메모리 장치의 동작 방법의 플로우차트이다.
도 1 내지 도 21을 참조하면, 본 발명의 일 실시 예에 따른 메모리 장치(10)는 메모리 장치(10) 내의 복수의 멤리스터 어레이 셀들(예컨대, MC11, MC12, ??)이 프로그램될 상태를 결정할 수 있다(S10).
실시 예에 따라, 복수의 멤리스터 어레이 셀들(예컨대, MC11, MC12, ??) 각각은 HRS 또는 LRS로 프로그램될 수 있다.
본 발명의 일 실시 예에 따른 메모리 장치(10)는 S10 단계에서 결정된 복수의 멤리스터 어레이 셀들(예컨대, MC11, MC12, ??)이 프로그램될 상태에 기초하여, 보정 회로(예컨대, 제1보정 회로(234) 또는 제2보정 회로(236))에 포함된 복수의 보정 멤리스터들(예컨대, RR,1~RR,m, 또는 RC,1~RC,n)의 저항 값을 설정할 수 있다(S20).
실시 예에 따라, S20 단계에서 보정 회로(예컨대, 제1보정 회로(234))에 포함된 복수의 보정 멤리스터들(예컨대, 제1보정 멤리스터(RR,1~RR,m)) 각각의 저항 값은 복수의 로우 라인들(ROW1~ROWm) 중에서 해당 보정 멤리스터(RR,i)에 상응하는 로우 라인(ROWi)에 배열된 멤리스터 어레이 셀들이 프로그램될 상태(예컨대, HRS로 프로그램될 멤리스터 어레이 셀들의 개수, LRS로 프로그램될 멤리스터 어레이 셀들의 개수, 또는 HRS로 프로그램될 멤리스터 어레이 셀들과 LRS로 프로그램될 멤리스터 어레이 셀들의 비율)에 기초하여 설정될 수 있다.
실시 예에 따라, S20 단계에서 보정 회로(예컨대, 제2보정 회로(236))에 포함된 복수의 보정 멤리스터들(예컨대, 제2보정 멤리스터(RC,1~RC,n)) 각각의 저항 값은 복수의 컬럼 라인들(COL1~COLn) 중에서 보정 멤리스터(RC,j)에 상응하는 컬럼 라인(COLj)에 배열된 멤리스터 어레이 셀들이 프로그램될 상태(예컨대, HRS로 프로그램될 멤리스터 어레이 셀들의 개수, LRS로 프로그램될 멤리스터 어레이 셀들의 개수, 또는 HRS로 프로그램될 멤리스터 어레이 셀들과 LRS로 프로그램될 멤리스터 어레이 셀들의 비율)에 기초하여 설정될 수 있다.
본 발명의 일 실시 예에 따른 메모리 장치(10)는 S20 단계에서 저항 값이 설정된 복수의 보정 멤리스터들(예컨대, 제1보정 멤리스터(RR,1~RR,m) 또는 제2보정 멤리스터(RC,1~RC,n))을 포함하는 보정 회로(예컨대, 제1보정 회로(234) 또는 제2보정 회로(236))를 이용하여, 입력 전압 또는 출력 전류를 보정할 수 있다(S30).
이상, 본 발명을 바람직한 실시 예를 들어 상세하게 설명하였으나, 본 발명은 상기 실시 예에 한정되지 않고, 본 발명의 기술적 사상 및 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러가지 변형 및 변경이 가능하다.
10 : 메모리 장치
100 : 메모리 컨트롤러
200 : 멤리스터 어레이 제어 회로
210 : 게이트 제어 회로
220 : 입력 회로
230 : 멤리스터 어레이 회로
240 : 출력 회로

Claims (15)

  1. 복수의 멤리스터 어레이 셀들 포함하는 멤리스터 어레이; 및
    상기 복수의 멤리스터 어레이 셀들이 배열된 로우 라인들로 입력되는 입력 전압 또는 상기 복수의 멤리스터 어레이 셀들이 배열된 컬럼 라인들로 출력되는 출력 전류를 보정하기 위한 보정 회로를 포함하며,
    상기 보정 회로는,
    각각이, 상기 복수의 멤리스터 어레이 셀들이 프로그램될 상태에 기초하여 저항값이 설정되는 복수의 보정 멤리스터들을 포함하는, 메모리 장치.
  2. 제1항에 있어서,
    상기 보정 회로는,
    상기 멤리스터 어레이에 발생하는 기생 저항(parasitic resistance)에 의한 오차를 보정하는, 메모리 장치.
  3. 제2항에 있어서,
    상기 보정 회로는,
    상기 복수의 멤리스터 어레이 셀들이 배열된 로우 라인들 각각의 입력단에 구성되는, 메모리 장치.
  4. 제3항에 있어서,
    상기 보정 회로는,
    각각이, 상기 입력 전압을 비반전 단자로 입력받는 연산 증폭기를 포함하는 복수의 비반전 증폭기 회로들로 구성되는, 메모리 장치.
  5. 제4항에 있어서,
    상기 복수의 비반전 증폭기 회로들 각각을 구성하는 복수의 저항 소자들 중 어느 하나는 상기 보정 멤리스터로 구성되는, 메모리 장치.
  6. 제5항에 있어서,
    상기 보정 멤리스터의 저항값은,
    상기 복수의 로우 라인들 중에서 상기 보정 멤리스터에 상응하는 로우 라인에 배열된 멤리스터 어레이 셀들이 프로그램될 상태에 기초하여 설정되는, 메모리 장치.
  7. 제6항에 있어서,
    상기 보정 멤리스터의 저항값은,
    상기 복수의 로우 라인들 중에서 상기 보정 멤리스터에 상응하는 로우 라인에 배열된 멤리스터 어레이 셀들 중에서, HRS(High Resistance State)로 프로그램될 멤리스터 어레이 셀들의 개수 또는 LRS(Low Resistance State)로 프로그램로 프로그램될 멤리스터 어레이 셀들의 개수에 기초하여 설정되는, 메모리 장치.
  8. 제2항에 있어서,
    상기 보정 회로는,
    상기 복수의 멤리스터 어레이 셀들이 배열된 컬럼 라인들 각각의 출력단에 구성되는, 메모리 장치.
  9. 제8항에 있어서,
    상기 보정 회로는,
    각각이, 상기 출력 전류에 의해 형성되는 출력 전압이 비반전 단자로 입력되는 연산 증폭기를 포함하는 복수의 비반전 증폭기 회로들로 구성되는, 메모리 장치.
  10. 제9항에 있어서,
    상기 복수의 비반전 증폭기 회로들 각각을 구성하는 복수의 저항 소자들 중 어느 하나는 상기 보정 멤리스터로 구성되는, 메모리 장치.
  11. 제10항에 있어서,
    상기 보정 멤리스터의 저항값은,
    상기 복수의 컬럼 라인들 중에서 상기 보정 멤리스터에 상응하는 컬럼 라인에 배열된 멤리스터 어레이 셀들이 프로그램될 상태에 기초하여 설정되는, 메모리 장치.
  12. 제11항에 있어서,
    상기 보정 멤리스터의 저항값은,
    상기 복수의 컬럼 라인들 중에서 상기 보정 멤리스터에 상응하는 컬럼 라인에 배열된 멤리스터 어레이 셀들 중에서, HRS(High Resistance State)로 프로그램될 멤리스터 어레이 셀들의 개수 또는 LRS(Low Resistance State)로 프로그램로 프로그램될 셀들의 개수에 기초하여 설정되는, 메모리 장치.
  13. 제1항에 있어서,
    상기 복수의 멤리스터 어레이 셀들이 프로그램될 상태는,
    학습된 인공신경망(Artificail Neural Network(ANN)) 내의 시냅스 가중치(synaptic weight)에 상응하는, 메모리 장치.
  14. 복수의 멤리스터 어레이 셀들이 프로그램될 상태를 결정하는 단계;
    결정된 상기 복수의 멤리스터 어레이 셀들이 프로그램될 상태에 기초하여, 상기 복수의 멤리스터 어레이 셀들이 배열된 로우 라인들로 입력되는 입력 전압 또는 상기 복수의 멤리스터 어레이 셀들이 배열된 컬럼 라인들로 출력되는 출력 전류를 보정하기 위한 보정 회로에 포함된 복수의 보정 멤리스터들의 저항 값을 설정하는 단계; 및
    저항 값이 설정된 상기 복수의 보정 멤리스터들을 포함하는 상기 보정 회로를 이용하여, 상기 입력 전압 또는 상기 출력 전류를 보정하는 단계를 포함하는, 메모리 장치의 동작 방법.
  15. 메모리 장치; 및
    메모리 장치를 제어하기 위한 제어신호를 생성하는 메모리 컨트롤러를 포함하며,
    상기 메모리 장치는,
    복수의 멤리스터 어레이 셀들 포함하는 멤리스터 어레이; 및
    상기 복수의 멤리스터 어레이 셀들이 배열된 로우 라인들로 입력되는 입력 전압 또는 상기 복수의 멤리스터 어레이 셀들이 배열된 컬럼 라인들로 출력되는 출력 전류를 보정하기 위한 보정 회로를 포함하며,
    상기 보정 회로는,
    각각이, 상기 복수의 멤리스터 어레이 셀들이 프로그램될 상태에 기초하여 저항값이 설정되는 복수의 보정 멤리스터들을 포함하는, 메모리 시스템.
KR1020220046984A 2022-04-15 2022-04-15 메모리 장치, 메모리 장치의 동작 방법, 및 이를 포함하는 메모리 시스템 KR102650005B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220046984A KR102650005B1 (ko) 2022-04-15 2022-04-15 메모리 장치, 메모리 장치의 동작 방법, 및 이를 포함하는 메모리 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220046984A KR102650005B1 (ko) 2022-04-15 2022-04-15 메모리 장치, 메모리 장치의 동작 방법, 및 이를 포함하는 메모리 시스템

Publications (2)

Publication Number Publication Date
KR20230147961A true KR20230147961A (ko) 2023-10-24
KR102650005B1 KR102650005B1 (ko) 2024-03-22

Family

ID=88515377

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220046984A KR102650005B1 (ko) 2022-04-15 2022-04-15 메모리 장치, 메모리 장치의 동작 방법, 및 이를 포함하는 메모리 시스템

Country Status (1)

Country Link
KR (1) KR102650005B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120127780A1 (en) * 2010-02-09 2012-05-24 John Paul Strachan Memory resistor adjustment using feedback control
US20190279078A1 (en) * 2018-03-09 2019-09-12 Arizona Board Of Regents On Behalf Of Northern Arizona University Artificial neuron synaptic weights implemented with variable dissolvable conductive paths
US20200110991A1 (en) * 2017-06-19 2020-04-09 Denso Corporation Method for adjusting output level of multilayer neural network neuron
KR20210090082A (ko) * 2020-01-09 2021-07-19 국민대학교산학협력단 전자 장치 및 전자 장치의 동작 방법
KR20210157049A (ko) * 2020-06-19 2021-12-28 포항공과대학교 산학협력단 저항 변화 메모리 어레이 기반의 가중 시냅스를 이용한 뉴럴 네트워크

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120127780A1 (en) * 2010-02-09 2012-05-24 John Paul Strachan Memory resistor adjustment using feedback control
US20200110991A1 (en) * 2017-06-19 2020-04-09 Denso Corporation Method for adjusting output level of multilayer neural network neuron
US20190279078A1 (en) * 2018-03-09 2019-09-12 Arizona Board Of Regents On Behalf Of Northern Arizona University Artificial neuron synaptic weights implemented with variable dissolvable conductive paths
KR20210090082A (ko) * 2020-01-09 2021-07-19 국민대학교산학협력단 전자 장치 및 전자 장치의 동작 방법
KR20210157049A (ko) * 2020-06-19 2021-12-28 포항공과대학교 산학협력단 저항 변화 메모리 어레이 기반의 가중 시냅스를 이용한 뉴럴 네트워크

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
T. V. Nguyen 외, "Hybrid Circuit of Memristor and Complementary Metal-Oxide-Semiconductor for Defect-Tolerant Spatial Pooling with Boost-Factor Adjustment," Materials, vol. 12, no. 13, 2019. 07.* *

Also Published As

Publication number Publication date
KR102650005B1 (ko) 2024-03-22

Similar Documents

Publication Publication Date Title
US11361215B2 (en) Neural network circuits having non-volatile synapse arrays
JP6477924B2 (ja) メモリスタ神経形態学的回路及びメモリスタ神経形態学的回路をトレーニングするための方法
US20200020393A1 (en) Neural network matrix multiplication in memory cells
US11620505B2 (en) Neuromorphic package devices and neuromorphic computing systems
US10446231B2 (en) Memory cell structure
WO2019202427A1 (en) Resistive processing unit architecture with separate weight update and inference circuitry
CN112992226A (zh) 神经形态器件和存储器件
KR20190075682A (ko) 3차원 크로스바 메모리 구조를 이용한 뉴로 모픽 소자
US11321608B2 (en) Synapse memory cell driver
KR102650005B1 (ko) 메모리 장치, 메모리 장치의 동작 방법, 및 이를 포함하는 메모리 시스템
KR20180116637A (ko) 듀얼 멤리스터들을 가진 시냅스 및 상기 시냅스를 포함하는 뉴로모픽 소자의 시냅스 어레이
CN109359734B (zh) 一种基于忆阻器单元的神经网络突触结构及其调节方法
KR102114356B1 (ko) 3차원 크로스바 메모리 구조를 이용한 뉴로 모픽 소자
KR102657030B1 (ko) 메모리 장치, 메모리 장치의 동작 방법, 및 이를 포함하는 메모리 시스템
US11244720B2 (en) Electronic device and operating method of electronic device
KR102398354B1 (ko) 전자 장치 및 전자 장치의 동작 방법
US20220058406A1 (en) More flexible iterative operation of artificial neural networks
US11556765B2 (en) Neuromorphic system and operating method thereof
Pescianschi et al. Analog and digital modeling of a scalable neural network
US11988555B1 (en) Configurable sensor units and sensor apparatus
WO2024048704A1 (ja) 人工知能処理装置および人工知能処理装置の重み係数書き込み方法
US11475946B2 (en) Synapse weight update compensation
KR102419201B1 (ko) 멀티 비트 특성을 갖는 뉴로모픽 시냅스 소자 및 이의 동작 방법
Tu et al. A novel programming circuit for memristors
US20200134438A1 (en) Dynamic range and linearity of resistive elements for analog computing

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant