KR20230106484A - 스파이킹 신경망 장치, 불휘발성 메모리 장치 및 그것의 동작 방법 - Google Patents

스파이킹 신경망 장치, 불휘발성 메모리 장치 및 그것의 동작 방법 Download PDF

Info

Publication number
KR20230106484A
KR20230106484A KR1020220056055A KR20220056055A KR20230106484A KR 20230106484 A KR20230106484 A KR 20230106484A KR 1020220056055 A KR1020220056055 A KR 1020220056055A KR 20220056055 A KR20220056055 A KR 20220056055A KR 20230106484 A KR20230106484 A KR 20230106484A
Authority
KR
South Korea
Prior art keywords
string
nand cell
word line
bit line
cell string
Prior art date
Application number
KR1020220056055A
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 삼성전자주식회사
Priority to US17/959,356 priority Critical patent/US20230215498A1/en
Priority to EP22217004.5A priority patent/EP4216218A1/en
Priority to CN202211731680.5A priority patent/CN116402098A/zh
Publication of KR20230106484A publication Critical patent/KR20230106484A/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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Neurology (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명의 실시 예에 따른 스파이킹 신경망 장치는, 비트 라인과 접지 선택 라인 사이에서 스트링 선택 트랜지스터와 복수의 불휘발성 메모리 셀들이 연결된 적어도 하나의 낸드 셀 스트링, 입력 스파이크에 응답하여 상기 스트링 선택 트랜지스터를 턴온시키는 스트링 선택 신호를 생성하는 스트링 제어 회로, 상기 입력 스파이크에 응답하여 상기 복수의 불휘발성 메모리 셀들 각각의 워드 라인을 선택하기 위한 워드 라인 선택 신호를 생성하는 워드 라인 디코더, 상기 비트 라인에 연결되고, 상기 복수의 워드 라인들 각각에 대응하며, 대응하는 워드 라인이 선택되면 상기 비트 라인을 통해서 전달되는 전류에 따라 출력 스파이크를 생성하는 복수의 감지 회로들, 스위치 선택 신호에 따라 상기 복수의 감지 회로들 중 어느 하나를 상기 비트 라인에 연결하는 복수의 스위치 트랜지스터들, 그리고 상기 워드 라인 선택 신호에 동기하여 상기 스위치 선택 신호를 생성하는 스위치 디코더를 포함한다.

Description

스파이킹 신경망 장치, 불휘발성 메모리 장치 및 그것의 동작 방법{SPIKING NEURAL NETWORK DEVICE, NONVOLATILE MEMORY DEVICE AND OPERATION METHOD THEREOF}
본 발명은 반도체 장치에 관한 것으로, 좀 더 구체적으로는 스파이킹 신경망 장치, 불휘발성 메모리 장치 및 그것의 동작 방법에 관한 것이다.
컴퓨팅 패러다임이 CPU 중심 시스템에서 데이터 중심 시스템으로 전환되고 있다. 현재의 폰 노이만 아키텍처(Von Neumann Architecture)의 성능 한계를 극복하기 위한 새로운 컴퓨팅 아키텍처가 요구되고 있다. 특히, 생물학적 뇌를 모방한 신경 모사 컴퓨팅(Neuromorphic computing)은 폰 노이만 아키텍쳐의 대안적 접근들 중 하나로 주목받고 있다. 소비 전력, 확장성 및 계산 속도 측면에서 높은 잠재력을 가지기 때문에 신경 모사 컴퓨팅(Neuromorphic computing)이 활발히 연구되고 있다.
스파이킹 신경망(Spiking Neural Network, 이하, SNN)은 자연에서의 뉴런을 가장 직접적으로 묘사하는 신경망이다. 스파이킹 신경망(SNN)은 가중치(Weight)를 저장하는 시냅스(Synapses) 배열과 활성화를 담당하는 뉴런(Neuron)으로 이루어져 있다. 또한, 스파이킹 신경망(SNN)은 입력 크기를 시간 개념을 활용한 코딩을 이용해 변환하여 사용한다. 따라서, 크기가 같은 입력 신호들이 코딩 방식에 따라 동시다발적으로 스파이킹 신경망(SNN)에 입력될 수 있다. 스파이킹 신경망(SNN)의 구성 요소 중 하나인 시냅스 배열은 동시 다발적인 입력들을 전압 형태로 받아 각각의 저장 장치(시냅스 메모리 셀)에 저장된 가중치에 해당하는 전류로 변환한다. 그리고 가중치에 따라 변환된 개별 시냅스 메모리 셀들의 전류는 배열 내에서 다시 합해진다. 합해진 개별 시냅스 메모리 셀들의 전류의 크기에 따라 출력이 생성된다.
최근, 하드웨어 기반의 머신 러닝(Machine learning)이나 인-메모리 컴퓨팅(In-memory computing) 기술의 발전에 따라, 스파이킹 신경망(SNN) 또한 복잡도가 커지고 있다. 스파이킹 신경망(SNN)의 구현을 위해 더 많은 시냅스 셀들이 필요하게 되고, 더 놓은 효율을 요구하게 되었다. 높은 데이터 용량과 집적도를 제공하는 NAND 플래시 배열은 개별 시냅스 셀들이 직렬로 연결된다. 따라서, 동시 다발적으로 입력되는 입력 스파이크에 가중치를 적용한 개별 시냅스 메모리의 전류가 하나의 스트링에서 합해지기 어려운 문제가 있다.
(1) 미국 공개특허공보 US2021/0166108 (2021.06.03) (2) 미국 등록특허공보 US 11,055,603 (2021.07.06) (3) 한국 공개특허공보 10-2021-0022982 (2021.03.04)
본 발명의 목적은 높은 집적도를 갖는 NAND 플래시 메모리를 시냅스 메모리로 사용하는 스파이킹 신경망(SNN) 장치, 불휘발성 메모리 장치 및 그것의 동작 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명에 따른 스파이킹 신경망 장치는, 비트 라인과 접지 선택 라인 사이에서 스트링 선택 트랜지스터와 복수의 불휘발성 메모리 셀들이 연결된 적어도 하나의 낸드 셀 스트링, 입력 스파이크에 응답하여 상기 스트링 선택 트랜지스터를 턴온시키는 스트링 선택 신호를 생성하는 스트링 제어 회로, 상기 입력 스파이크에 응답하여 상기 복수의 불휘발성 메모리 셀들 각각의 워드 라인을 선택하기 위한 워드 라인 선택 신호를 생성하는 워드 라인 디코더, 상기 비트 라인에 연결되고, 상기 복수의 워드 라인들 각각에 대응하며, 대응하는 워드 라인이 선택되면 상기 비트 라인을 통해서 전달되는 전류에 따라 출력 스파이크를 생성하는 복수의 감지 회로들, 스위치 선택 신호에 따라 상기 복수의 감지 회로들 중 어느 하나를 상기 비트 라인에 연결하는 복수의 스위치 트랜지스터들, 그리고 상기 워드 라인 선택 신호에 동기하여 상기 스위치 선택 신호를 생성하는 스위치 디코더를 포함한다.
상기 목적을 달성하기 위한 본 발명에 따른 불휘발성 메모리 장치는, 입력 스파이크에 응답하여 상기 비트 라인에 연결되는 낸드 셀 스트링, 상기 낸드 셀 스트링의 메모리 셀들의 읽기 전류를 워드 라인 단위로 감지하여 출력 스파이크를 생성하는 복수의 감지 회로들, 그리고 상기 낸드 셀 스트링의 워드 라인 선택에 동기하여 상기 비트 라인을 상기 복수의 감지 회로들 중 어느 하나에 연결하는 스위치 트랜지스터들을 포함하되, 상기 낸드 셀 스트링의 메모리 셀들에는 스파이킹 신경망(SNN) 연산을 위한 가중치들이 프로그램된다.
상기 목적을 달성하기 위한 본 발명에 따른 복수의 낸드 셀 스트링들에 시냅스 가중치를 저장하는 스파이킹 신경망 장치의 동작 방법은, 제 1 입력 스파이크를 검출하는 단계, 상기 입력 스파이크에 응답하여 제 1 낸드 셀 스트링의 제 1 스트링 선택 트랜지스터를 스트링 선택 시간 동안 턴온시키는 단계, 제 1 워드 라인을 선택하여 상기 제 1 낸드 셀 스트링의 셀 전류를 제 1 감지 회로를 통해서 감지하는 단계, 제 2 입력 스파이크를 검출하는 단계, 상기 제 2 입력 스파이크가 검출되면, 상기 입력 스파이크에 응답하여 제 2 낸드 셀 스트링의 제 2 스트링 선택 트랜지스터를 상기 스트링 선택 시간 동안 턴온시키는 단계, 그리고 제 2 워드 라인을 선택하여 상기 제 1 낸드 셀 스트링 및 상기 제 2 낸드 셀 스트링의 결합 셀 전류를 제 2 감지 회로를 통해서 감지하는 단계를 포함한다.
상술한 본 발명의 실시 예에 따르면, NAND 플래시 메모리를 시냅스 메모리 셀들로 활용하더라도 개별 시냅스 전류를 합산할 수 있어, 높은 복잡도의 스파이킹 신경망(SNN)을 구현할 수 있다.
도 1은 본 발명의 실시 예에 따른 스파이킹 신경망(SNN)을 간략히 보여주는 도면이다.
도 2는 본 발명의 실시 예에 따른 스파이킹 신경망을 구현하기 위한 뉴로모픽 장치를 보여주는 블록도이다.
도 3은 도 2의 시냅스 어레이를 구성하는 메모리 블록의 예시적인 구조를 보여주는 회로도이다.
도 4는 본 발명의 시냅스 어레이의 일 예를 보여주는 회로도이다.
도 5a 및 도 5b는 본 발명의 시냅스 가중치의 적용 방식을 보여주는 도면들이다.
도 6은 본 발명의 실시 예에 따른 스트링 제어 회로, 워드 라인 디코더, 그리고 스위치 디코더의 동작을 보여주는 순서도이다.
도 7 및 도 8은 본 발명의 실시 예에 따른 스트링 제어 회로, 워드 라인 디코더, 그리고 스위치 디코더의 동작을 보여주는 타이밍도들이다.
도 9는 본 발명의 다른 실시 예에 따른 시냅스 어레이와 감지 회로부를 보여주는 회로도이다.
도 10은 도 9의 감지 회로의 구체적인 구성을 예시적으로 보여주는 회로도이다.
도 11은 도 10의 감지 회로의 동작을 예시적으로 보여주는 타이밍도이다.
도 12는 본 발명의 다른 실시 예에 따른 스파이킹 신경망(SNN) 모델을 간략히 보여주는 도면이다.
도 13은 도 12의 스파이킹 신경망(SNN)을 구현하기 위한 시냅스 어레이의 재구성 방법을 보여주는 회로도이다.
도 14는 본 발명의 또 다른 실시 예에 따른 스파이킹 신경망(SNN) 모델을 간략히 보여주는 도면이다.
도 15는 도 14의 스파이킹 신경망(SNN)을 구현하기 위한 시냅스 어레이의 재구성 방법을 보여주는 회로도이다.
도 16은 본 발명의 또 다른 실시 예에 따른 스파이킹 신경망(SNN) 모델을 보여주는 도면이다.
도 17은 도 16의 스파이킹 신경망(SNN)의 입력 노드 확장을 구현하기 위한 시냅스 어레이의 재구성 방법을 보여주는 회로도이다.
도 18은 본 발명의 실시 예에 따른 스파이킹 신경망을 형성할 수 있는 불휘발성 메모리 장치의 COP 구조를 간략히 보여주는 단면도이다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다. 참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
이하에서는, 낸드(NAND)형 플래시 메모리가 본 발명의 특징 및 기능을 설명하기 위한 반도체 메모리 장치의 예로서 사용될 것이다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 본 발명은 다른 실시 예들을 통해 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고 관점 및 응용에 따라 수정되거나 변경될 수 있다.
도 1은 본 발명의 실시 예에 따른 스파이킹 신경망(SNN)을 간략히 보여주는 도면이다. 도 1을 참조하면, 스파이킹 신경망(10)은 시냅스-전 뉴런(12), 제어 회로(14), 시냅스 어레이(16), 시냅스-후 뉴런(18)으로 모델링될 수 있다.
시냅스-전 뉴런(12)은 입력 스파이크들(sp<j>, j는 0 이상의 정수)을 생성한다. 시냅스-전 뉴런(12)은 다중 레이어의 스파이킹 신경망(SNN)에서 이전 레이어의 시냅스-후 뉴런일 수도 있다.
제어 회로(14)는 동시다발적(Simultaneous and multiple)으로 발생하는 입력 스파이크들(sp<j>)을 스트링 선택 신호(S<j>, j는 0 이상의 정수)로 변환한다. 즉, 제어 회로(12)는 여러 입력 채널을 통해서 동시 다발적으로 발생하는 입력 스파이크들(sp<j>)을 해당 채널에 대응하는 주소의 스트링 선택 신호(S<j>)로 변환한다. 제어 회로(12)는 어느 하나의 입력 스파이크(sp<j>)에 응답하여 펄스 폭이 변환된 스트링 선택 신호(S<j>)를 생성할 수 있다. 즉, 제어 회로(12)는 하나의 낸드 셀 스트링의 메모리 셀들을 모두 읽을 수 있는 펄스 폭을 갖는 스트링 선택 신호(S<j>)를 생성한다. 따라서, 스트링 선택 신호(S<j>)의 펄스 폭은 하나의 메모리 셀을 읽는데 소요되는 시간을 스트링에 포함되는 메모리 셀들의 수(k 개)와 곱한 시간에 대응한다. 예를 들면, 첫 번째 입력 스파이크에 응답하여 제어 회로(12)가 스트링 선택 시간(Δ동안 활성화되는 스트링 선택 신호(S<0>)를 생성한 것으로 가정하자. 여기서, 스트링 선택 시간(Δ은 하나의 스트링에 포함되는 메모리 셀들 모두를 순차적으로 읽는데 소요되는 시간일 수 있다.
시냅스-후 뉴런(18)은 시냅스 어레이(16)를 통해서 전달되는 시냅스 가중치들(Ws)을 누적하기 위한 'k' 개의 뉴런들을 포함한다. 시냅스-후 뉴런(18)은 'p' 개의 스트링 선택 신호(S<j>)에 따라 시냅스 어레이(16)가 제공하는 시냅스 가중치(Ws)가 반영된 전류를 누적(Integrate)하고, 누적된 값에 따라 출력 스파이크를 발화(Fire)한다. 'k' 개의 뉴런들이 시냅스-후 뉴런(18)에 포함될 경우, 'k' 개의 출력 스파이크(Output_0 ~ Output_k-1)가 동시 다발적으로 발생할 수 있다. 다층 레이어로 스파이킹 신경망(10)이 구성되는 경우, 시냅스-후 뉴런(18)은 후속 레이어의 시냅스 전 뉴런(Pre-synaptic neuron)으로 간주될 수 있다.
본 발명의 스파이킹 신경망(10)은 NAND 플래시 메모리의 메모리 소자 배열을 시냅스 소자 배열로 사용할 수 있다. 즉, 제어 회로(14)에서 발생되는 스트링 선택 신호(S<j>)는 NAND 플래시 메모리의 스트링(String)을 선택하기 위한 신호로, 시냅스 가중치들(Ws)은 전달하기 위한 시냅스 어레이(16)는 메모리 셀들 각각에 저장된 데이터로 구현될 수 있다. 그리고 시냅스-후 뉴런(18)은 복수의 스트링에서 가중치에 따라 전달되는 전류를 누적하고, 누적된 전류의 크기에 따라 출력 스파이크를 생성하는 복수의 감지 회로들로 구현될 수 있다.
상술한 스파이킹 신경망(10)의 구현을 위해 수직으로 적층된 3차원 NAND 플래시 메모리(이하, V-NAND 플래시 메모리)가 사용될 수 있다. V-NAND 플래시 메모리를 사용하는 경우, 대용량의 메모리 용량에 의해 시냅스 가중치(Ws)의 확장이 용이한 스파이킹 신경망(10)이 구현될 수 있다.
도 2는 본 발명의 실시 예에 따른 스파이킹 신경망을 구현하기 위한 뉴로모픽 장치를 보여주는 블록도이다. 도 2를 참조하면, 본 발명의 뉴로모픽 장치(100)는 시냅스 어레이(110), 스트링 제어 회로(120), 워드 라인 디코더(130), 스위치 디코더(140), 그리고 감지 회로부(150)를 포함한다. 본 발명의 뉴로모픽 장치(100)는 도 1의 제어 회로(14), 시냅스 어레이(16), 그리고 시냅스-후 뉴런(18)을 구현하기 위한 구성들에 대응한다.
시냅스 어레이(110)는 행과 열로 배열되는 복수의 메모리 셀들을 포함한다. 메모리 셀들은 낸드 플래시 메모리 셀로 형성될 수 있다. 이 경우, 시냅스 어레이(110)는 비트 라인(BL)과 접지 선택 라인(GSL) 사이에 연결되는 복수의 낸드 셀 스트링들(NS<j>)을 포함할 수 있다. 복수의 낸드 셀 스트링들(NS<j>) 각각은 직렬 연결되는 복수의 플래시 메모리 셀들과 선택 트랜지스터를 포함할 수 있다. 그리고 시냅스 어레이(110)는 기판에 대해 수직으로 적층되는 복수의 워드 라인 층과 필라들에 의해서 3차원 배열로 메모리 셀들이 형성되는 V-NAND 구조일 수 있다. 하지만, 시냅스 어레이(110)의 구조는 V-NAND 구조에만 국한되지 않음은 잘 이해될 것이다.
스트링 제어 회로(120)는 입력 스파이크를 검출하고, 검출 결과에 따라 스트링 선택 신호(S<j>)를 생성한다. 스트링 제어 회로(120)는 동시 다발적으로 입력되는 입력 스파이크 각각에 응답하여 해당 스파이크의 채널 주소(예를 들면, 스트링)에 대응하는 스트링 선택 신호(S<j>)를 생성한다. 예를 들면, 스트링 제어 회로(120)는 시냅스-전 뉴런(12)의 복수의 뉴런들 중에서 '2'번 뉴런에서 입력 스파이크(sp<2>)가 발생하면, 대응하는 스트링을 선택하기 위한 스트링 선택 신호(S<2>)를 활성화한다. 스트링 제어 회로(120)는 복수의 입력 스파이크들(sp<0>~sp<p-1>) 중에서 제 1 입력 스파이크(sp<0>)가 검출되면, 스트링 제어 회로(120)는 하나의 낸드 셀 스트링에 포함된 메모리 셀들을 모두 읽을 수 있는 시간, 즉, 스트링 선택 시간(Δ동안 활성화되는 스트링 선택 신호(S<0>)를 생성할 수 있다. 스트링 선택 신호(S<0>)에 의해서 제 1 셀 스트링(NS<0>)이 비트 라인(BL)과 전기적으로 연결된다. 그리고 스트링 제어 회로(120)는 복수의 입력 스파이크들(sp<0>~sp<p-1>) 중에서 동시 다발적으로 입력된 제 2 입력 스파이크(sp<1>)가 검출되면, 스트링 제어 회로(120)는 스트링 선택 시간(ΔT) 동안 활성화되는 스트링 선택 신호(S<1>)를 생성한다. 그러면, 스트링 선택 신호(S<1>)에 의해서 제 2 셀 스트링(NS<1>)이 비트 라인(BL)과 전기적으로 연결된다.
워드 라인 디코더(130)는 입력 스파이크에 응답하여 메모리 셀들을 읽기 위한 워드 라인 선택 신호(WL<i>)를 생성한다. 워드 라인 디코더(130)는 스트링 선택 시간(Δ동안, 메모리 셀들을 순차적으로 읽기 위한 워드 라인 전압을 생성한다. 예를 들면, 스트링 선택 시간(Δ동안 64개의 메모리 셀들이 센싱되어야 하는 경우, 워드 라인 디코더(130)는 순차적으로 워드 라인을 선택한다. 이때, 선택된 워드 라인(Selected WL)에는 읽기 전압(Vrd)이, 나머지 비선택 워드 라인(Unselected WL)들에는 읽기 패스 전압(Vread)이 제공될 것이다. 워드 라인 디코더(130)에 의한 워드 라인의 선택은 순차적(Sequential) 또는 랜덤(Random) 순서로 이루어질 수 있다. 하지만, 워드 라인 디코더(130)는 스트링 선택 시간(Δ동안 모든 워드 라인들을 선택할 것이다. 후술하겠지만, 선택되는 워드 라인의 수는 감지 회로부(150)에 포함되는 감지 회로(Sub-Sensing Circuit)들의 수와 동일할 수 있다.
스위치 디코더(140)는 워드 라인 디코더(130)와 연계하여 스위치 선택 신호(SW<i>)를 생성한다. 예를 들면, 워드 라인 디코더(130)에서 워드 라인 선택 신호(WL<1>)를 생성하면, 스위치 디코더(140)는 스위치 선택 신호(SW<1>)를 생성하게 될 것이다. 스위치 디코더(140)는 선택된 워드 라인에 대응하는 가중치 전류를 감지하도록 해당 감지 회로를 선택한다.
감지 회로부(150)는 스위치 디코더(140)에 의해서 순차적으로 선택되는 복수의 감지 회로들을 포함한다. 감지 회로들 각각은 시냅스-후 뉴런(18, 도 1 참조)의 노드들 각각에 대응한다. 감지 회로들 각각은 대응하는 워드 라인의 선택에 의해서 제공되는 스트링 전류들을 합산한다. 그리고 감지 회로들 각각은 합산된 전류와 임계값을 비교하여 출력 스파이크들을 생성한다. 감지 회로부(150)를 구성하는 감지 회로들 각각의 회로 구성이나 기능은 후술하는 도면에서 상세히 설명하기로 한다.
이상에서 설명된 뉴로모픽 장치(100)에 따르면, 동시 다발적으로 제공되는 입력 스파이크가 복수의 낸드 셀 스트링들 각각 스트링 선택 라인들에 적용된다. 그리고 각 낸드 셀 스트링들의 스트링 선택 트랜지스터(SST)가 스트링 선택 시간(Δ동안 활성화된다. 그러면, 각 낸드 셀 스트링의 워드 라인들이 스트링 선택 시간(Δ동안 센싱되고, 이때 워드 라인별로 감지되는 셀 전류가 시냅스 가중치로 작용하여 각각의 감지 회로들에 의해서 합산될 수 있다.
도 3은 도 2의 시냅스 어레이를 구성하는 메모리 블록의 예시적인 구조를 보여주는 회로도이다. 도 3을 참조하면, 메모리 블록(BLK)을 구성하기 위해 비트 라인들(BL0, BL1, BL2, BL3)과 공통 소스 라인(CSL) 사이에는 셀 스트링들(NS)이 형성된다.
비트 라인(BL0) 및 공통 소스 라인(CSL) 사이에 셀 스트링들(NS10, NS20, …이 형성된다. 동일한 방식으로 비트 라인들(BL1, BL2, BL3)과 공통 소스 라인(CSL) 사이에도 복수의 셀 스트링들(NS11, NS21, NS12, NS22, NS13, NS23)이 형성된다. 셀 스트링들(NS)의 스트링 선택 트랜지스터(SST)는 대응하는 비트 라인(BL)과 연결된다. 셀 스트링들(NS)의 접지 선택 트랜지스터(GST)는 공통 소스 라인(CSL)과 연결된다. 셀 스트링(NS)의 스트링 선택 트랜지스터(SST) 및 접지 선택 트랜지스터(GST) 사이에 메모리 셀들(MCs)이 제공된다.
셀 스트링들(NS) 각각은 접지 선택 트랜지스터(GST)를 포함한다. 셀 스트링들(NS)에 포함되는 접지 선택 트랜지스터들은 접지 선택 라인(GSL)에 의해서 제어될 수 있다. 혹은 도시되지는 않았지만, 각 행들에 대응하는 셀 스트링들은 서로 다른 접지 선택 라인들에 의해서 제어될 수 있다.
상술한 메모리 블록(BLK)은 스파이킹 신경망(SNN)의 시냅스 어레이로 사용될 수 있다. 즉, 메모리 셀들(MCs)에는 시냅스 가중치를 반영하는 데이터가 프로그램될 수 있다. 시냅스-전 뉴런(14)의 'p' 개의 입력 노드는 스트링 선택 트랜지스터(SST)의 게이트에 대응할 수 있으며, 시냅스 어레이(16)는 복수의 셀 스트링들에 포함되는 메모리 셀들에 저장된 데이터 값으로 구현된다. 즉, 'k' 개의 시냅스 가중치는 'k' 개의 워드 라인들 중 선택된 어느 하나의 메모리 셀에 의해 흐르는 스트링 전류에 대응한다. 그리고 비트 라인(BL)에 연결된 'k' 개의 스위치(미도시)에 의해 'k'개의 감지 회로들이 출력 노드를 구성할 수 있다.
이상에서는 하나의 메모리 블록(BLK)에 포함되는 메모리 셀들의 회로 구조가 간략히 설명되었다. 하지만, 도시된 메모리 블록의 회로 구조는 설명의 편의를 위해 간략화한 구조일 뿐, 실제의 메모리 블록은 도시된 예에 국한되지 않는다. 즉, 하나의 물리 블록에는 보다 많은 반도체 레이어와 비트 라인(BLs)들, 그리고 스트링 선택 라인들(SSLs)이 포함될 수 있음은 잘 이해될 것이다.
도 4는 본 발명의 시냅스 어레이의 일 예를 보여주는 회로도이다. 도 4를 참조하면, 시냅스 어레이(110a)는 비트 라인(BL)에 연결되는 복수의 낸드 셀 스트링들(NS<0>~NS<p-1>), 감지 회로들(SC<0>~SC<k-1>)을 비트 라인(BL)과 연결하는 복수의 스위치 트랜지스터들(SWT)을 포함한다.
입력 스파이크에 응답하여 스트링 선택 회로(120, 도 2 참조)가 스트링 선택 신호(S<0>)를 활성화할 수 있다. 스트링 선택 신호(S<0>)에 의해서 스트링 선택 트랜지스터(SST)가 스트링 선택 시간(Δ동안 턴온된다. 그러면, 셀 스트링(NS<0>)이 비트 라인(BL)에 전기적으로 연결된다. 이어서, 워드 라인 디코더(130, 도 2 참조)가 스트링 선택 시간(Δ동안 순차적으로 워드 라인들(WL<0>~WL<k-1>)에 읽기 전압을 인가한다. 워드 라인들(WL<0>~WL<k-1>)의 선택에 동기하여 스위치 디코더(140, 도 2 참조)도 스위치 선택 신호(SW<0>~SW<k-1>)를 순차적으로 활성화할 것이다. 그러면, 셀 스트링(NS<0>)에 저장된 시냅스 가중치들에 대응하는 전류가 감지 회로들(SC<0>~SC<k-1>)에 순차적으로 전달된다.
만일, 또 다른 입력 스파이크에 의해서 스트링 선택 신호(S<1>)가 활성화되면, 셀 스트링(NS<1>)이 비트 라인(BL)과 스트링 선택 시간(Δ동안 연결된다. 스트링 선택 신호(S<1>)가 활성화된 시점으로부터 스트링 선택 시간(Δ동안 셀 스트링(NS<1>)의 모든 시냅스 가중치들에 대응하는 셀 전류가 감지 회로들(SC<0>~SC<k-1>)에 전달된다.
상술한 구조에 의해 동시 다발적으로 입력되는 입력 스파이크에 따라 직렬 연결된 메모리 셀들 각각에 저장된 시냅스 가중치(Ws)가 셀 전류로 변환되어 감지 회로들(SC<0>~SC<k-1>) 각각에 제공될 수 있다.
여기서, 시냅스 가중치(Ws)는 미리 학습된 파라미터로서 복수의 낸드 셀 스트링들(NS<0>~NS<p-1>) 각각의 메모리 셀들에 프로그램될 수 있다. 더불어, 스파이킹 신경망(SNN)의 학습 과정에서 시냅스 가중치(Ws)는 학습 결과를 반영하는 데이터 값으로 업데이트 될 수도 있다. 시냅스 가중치(Ws)의 업데이트 또는 프로그램을 위해서는 감지 회로들(SC<0>~SC<k-1>)과는 별개로 제공될 수 있는 페이지 버퍼 회로(Page buffer circuit)에서 지원될 수 있다.도 5a 및 도 5b는 본 발명의 시냅스 가중치의 적용 방식을 보여주는 도면들이다. 도 5a를 참조하면, 하나의 셀 스트링(NS<0>)에 저장된 시냅스 가중치(Ws_i)와 감지 회로들(SC<i>)의 배열이 간략히 도시되어 있다.
셀 스트링(NS<0>)은 스트링 선택 트랜지스터(SST0)와 메모리 셀들이 직렬로 연결된다. 스트링 선택 트랜지스터(SST0)는 비트 라인(BL)과 셀 스트링(NS<0>)을 스트링 선택 신호(S<0>)에 응답하여 연결한다. 스트링 선택 신호(S<0>)가 활성화되면, 스트링 선택 트랜지스터(SST0)는 스트링 선택 시간(Δ동안 턴온된다. 그러면 스트링 선택 시간(Δ동안, 워드 라인들(WL<0>~WL<k-1>)과 스위치 트랜지스터들(SWT)이 동기되어 순차적으로 턴온된다. 즉, 워드 라인(WL<0>)가 선택되어 셀에 저장된 시냅스 가중치(Ws_0)가 읽혀지면, 스위치 선택 신호(SW<0>)가 활성화되어 감지 회로(SC<0>)에 시냅스 가중치(Ws_0)가 전달된다. 또 워드 라인(WL<1>)가 선택되어 셀에 저장된 시냅스 가중치(Ws_1)가 읽혀지면, 스위치 선택 신호(SW<1>)가 활성화되어 감지 회로(SC<1>)에 시냅스 가중치(Ws_1)가 전달되는 방식이다.
즉, 게이트로 스트링 선택 신호(S<0>)를 수신하는 스트링 선택 트랜지스터(SST0)는 스파이킹 신경망(SNN)의 하나의 입력 노드 또는 시냅스-전 뉴런(Pre-synapse neuron)을 구성할 수 있다. 그리고 셀 스트링의 메모리 셀들은 출력 노드들(또는 감지 회로들)에 시냅스 가중치(Ws_i)를 전달하는 시냅스 어레이 기능을 수행한다.
도 5b를 참조하면, 도 5a의 회로를 스파이킹 신경망(SNN)으로 모델링한 예를 보여준다. 입력 스파이크에 의해서 스트링 선택 신호(S<0>)가 스트링 선택 트랜지스터(SST0)에 제공된다. 그러면, 셀 스트링(NS<0>)에 직렬 연결된 메모리 셀들에 저장된 시냅스 가중치들(Ws_i)이 시냅스-후 뉴런을 구성하는 감지 회로들(SC<i>)에 전달된다. 도 5b에서는 간략한 설명을 위해 하나의 입력 스파이크에 대응하는 스트링 선택 신호(S<0>)와 감지 회로들(SC<i>)에 대응하는 출력 노드들이 도시되었다. 하지만, 입력 스파이크는 동시 다발적으로 발생한다. 따라서, 또 다른 시냅스 가중치들이 저장된 셀 스트링들(NS<j>)이 동시 다발적으로 선택될 수 있고, 감지 회로들(SC<i>)에 시냅스 가중치에 대응하는 셀 전류들을 전달할 수 있다.
도 6은 본 발명의 실시 예에 따른 스트링 제어 회로, 워드 라인 디코더, 그리고 스위치 디코더의 동작을 보여주는 순서도이다. 도 6을 참조하면, 스트링 제어 회로(120, 도 2 참조)는 동시 다발적으로 발생하는 입력 스파이크의 채널 주소에 응답하여 스트링 선택 신호(S<j>)를 생성한다. 그리고 워드 라인 디코더(130, 도 2 참조)와 스위치 디코더(140, 도 2 참조)는 입력 스파이크에 응답하여 워드 라인(WLs)과 스위치 트랜지스터들(SWT)을 순차적으로 또는 랜덤하게 선택 또는 활성화한다.
S110 단계에서, 스트링 제어 회로(120)와 워드 라인 디코더(130)는 입력 스파이크(Input spike)를 검출한다. 입력 스파이크의 검출 결과에 따라 동작 분기가 발생한다. 입력 스파이크가 검출되면('Yes' 방향), 절차는 S120 단계로 이동한다. 반면에 입력 스파이크가 검출되지 않은 경우('No' 방향), 입력 스파이크의 검출을 위해 절차는 S110 단계로 복귀한다.
S120 단계에서, 검출된 입력 스파이크(sp<j>)에 대응하는 채널 주소의 스트링 선택 신호(S<j>)가 할당된다. 즉, 검출된 입력 스파이크(sp<j>)의 채널 주소에 대응하는 셀 스트링(NS<j>)이 선택될 수 있다. 입력 스파이크는 시냅스-전 뉴런(12, 도 1 참조) 출력의 채널 주소에 따라 동시 다발적으로 제공될 수 있다. 하나의 입력 스파이크가 검출되면, 검출된 입력 스파이크에 대응하는 채널 주소의 하나의 셀 스트링(NS<j>)이 선택되고, 셀 스트링(NS<j>)이 비트 라인(BL)과 전기적으로 연결되는 스트링 선택 시간(Δ동안 워드 라인(WLs)과 스위치 트랜지스터들(SWT)이 하나씩 선택되어야 한다.
S125 단계에서, 선택 변수(i)가 초기화된다. 예를 들면, 선택 변수(i)는 '0'으로 초기화될 수 있다. 여기서, 'i'는 복수의 워드 라인(WL) 및 워드 라인(WL)과 연계된 스위치 트랜지스터(SWT)를 지정하는 워드 라인 선택 변수이다. 선택 변수(i)는 0 이상의 정수이다.
S130 단계에서, 스트링 제어 회로(120)는 스트링 선택 신호(S<j>)를 활성화한다. 만일, 입력 스파이크(sp<0>)에 대응하는 채널 주소가 셀 스트링(NS<0>)에 해당되는 경우라면, 최초 입력 스파이크에 응답하여 스트링 선택 신호(S<0>)가 활성화될 것이다. 스트링 제어 회로(120)는 스트링 선택 신호(S<j>)를 셀 스트링(NS<0>)에 포함되는 모든 메모리 셀들을 읽을 수 있는 스트링 선택 시간(Δ동안 활성화한다. 예를 들면, 'nW' 개의 메모리 셀들이 셀 스트링(NS<0>)에 포함되는 경우, 스트링 선택 신호(S<0>)는 메모리 셀당 읽기 시간(read_time)에 'nW'를 곱한 시간 동안 활성화될 것이다. 여기서, 'nW'는 고정적인 상수값이다.
S140 단계에서, 워드 라인 디코더(130) 및 스위치 디코더(140)는 설정된 선택 변수(i) 값으로 워드 라인 카운트(WL_cnt) 및 스위치 카운트(SW_cnt)를 설정한다. 여기서, 하나의 셀 스트링에 시냅스 가중치가 저장된 메모리 셀들의 수 및 하나의 비트 라인에 연결된 감지 회로들의 수가 'k' 개인 것으로 가정하기로 한다. 그러면, 선택 변수(i)는 '0'에서 'k-1'까지 순차적으로 증가하거나 감소하도록 설정될 수 있다. 물론, 워드 라인(WL)과 스위치 트랜지스터(SWT)에 대한 선택 변수(i)는 랜덤하게 변화될 수도 있다.
S150 단계에서, 워드 라인 디코더(130) 및 스위치 디코더(140)는 S140 단계에서 설정된 워드 라인 카운트(WL_cnt) 및 스위치 카운트(SW_cnt)에 대응하는 워드 라인(WL)과 스위치 트랜지스터(SWT)를 선택한다. 즉, 워드 라인 디코더(130)는 현재의 워드 라인 카운트(WL_cnt)에 대응하는 워드 라인(WL<i>)에 읽기 전압(Vrd)을, 그리고 나머지 워드 라인들에는 읽기 패스 전압(Vread)을 인가할 것이다. 그리고 스위치 디코더(140)는 현재 스위치 카운트(SW_cnt)에 대응하는 스위치 트랜지스터(SWT)를 턴온(Turn-on)시키기 위한 스위치 선택 신호(SW<i>)를 생성한다. 그러면, 선택된 메모리 셀에 저장된 시냅스 가중치에 대응하는 셀 전류가 감지 회로(SC<i>)에 의해서 센싱된다.
S160 단계에서, 현재 워드 라인 카운트(WL_cnt) 또는 스위치 카운트(SW_cnt)가 'k'인지의 여부에 따라 동작 분기가 발생한다. 여기서, 'k'는 워드 라인의 수 또는 감지 회로들의 수에 해당할 수 있다. 만일, 현재 워드 라인 카운트(WL_cnt)가 'k'에 도달한 경우('Yes' 방향), 제반 절차는 종료된다. 반면에, 현재 워드 라인 카운트(WL_cnt)가 'k'가 아닌 경우('No' 방향), 절차는 S165 단계로 이동한다.
S165 단계에서, 워드 라인(WL)과 스위치 트랜지스터(SWT)의 선택 변수(i)는 '1'만큼 증가한다. 그리고 절차는 S170 단계로 이동한다.
S170 단계에서, 스트링 제어 회로(120)와 워드 라인 디코더(130)는 새로운 입력 스파이크(Input spike)를 검출한다. 그리고 새로운 입력 스파이크(Input spike)의 검출 결과에 따라 동작 분기가 발생한다. 새로운 입력 스파이크(Input spike)가 검출되지 않은 경우('No' 방향), 절차는 S150 단계로 이동한다. 반면, 새로운 입력 스파이크(Input spike)가 검출되면('Yes' 방향), 절차는 S172 단계로 이동한다.
S172 단계에서, 현재의 워드 라인 카운트(WL_cnt) 또는 스위치 카운트(SW_cnt)에 대응하는 워드 라인 선택 변수(i) 값은 추가 선택값 'R'로 저장된다. 추후, 새로 활성화되는 스트링 선택 신호(S<j'>) 하에서, 워드 라인 선택시 추가 선택값 'R' 만큼의 워드 라인 선택 동작이 추가될 것이다.
S174 단계에서, 새로 검출된 입력 스파이크(sp<j'>)에 대응하는 채널 주소의 스트링 선택 신호(S<j'>)가 할당된다. 즉, 검출된 입력 스파이크(sp<j'>)의 채널 주소에 대응하는 셀 스트링(NS<j'>)이 선택될 수 있다.
S176 단계에서, 스트링 제어 회로(120)는 스트링 선택 신호(S<j'>)를 활성화한다. 만일, 입력 스파이크(sp<3>)에 대응하는 채널 주소가 셀 스트링(NS<3>)에 해당되는 경우라면, 최초 입력 스파이크에 응답하여 스트링 선택 신호(S<3>)가 활성화될 것이다. 스트링 제어 회로(120)는 스트링 선택 신호(S<j'>)를 셀 스트링에 포함되는 모든 메모리 셀들을 읽을 수 있는 스트링 선택 시간(ΔT) 동안 활성화한다.
S178 단계에서, 워드 라인 디코더(130) 및 스위치 디코더(140)는 S165 단계에서 업데이트된 워드 라인 카운트(WL_cnt) 및 스위치 카운트(SW_cnt)에 대응하는 워드 라인(WL)과 스위치 트랜지스터(SWT)를 선택한다. 즉, 워드 라인 디코더(130)는 현재의 워드 라인 카운트(WL_cnt)에 대응하는 워드 라인(WL<i>)에 읽기 전압(Vrd)을, 그리고 나머지 워드 라인들에는 읽기 패스 전압(Vread)을 인가할 것이다. 그리고 스위치 디코더(140)는 현재 스위치 카운트(SW_cnt)에 대응하는 스위치 트랜지스터(SWT)를 턴온(Turn-on)시키기 위한 스위치 선택 신호(SW<i>)를 생성한다. 그러면, 선택된 메모리 셀에 저장된 시냅스 가중치에 대응하는 셀 전류가 감지 회로(SC<i>)에 의해서 센싱될 것이다.
S180 단계에서, 현재 워드 라인 카운트(WL_cnt) 또는 스위치 카운트(SW_cnt)가 'k'인지의 여부에 따라 동작 분기가 발생한다. 여기서, 'k'는 워드 라인의 수 또는 감지 회로들의 수에 해당할 수 있다. 만일, 현재 워드 라인 카운트(WL_cnt)가 'k'에 도달한 경우('Yes' 방향), 절차는 S182 단계로 이동한다. 반면에, 현재 워드 라인 카운트(WL_cnt)가 'k'가 아닌 경우('No' 방향), 절차는 S178 단계로 복귀한다.
S182 단계에서, 선택 변수(i)가 다시 초기화된다. 예를 들면, 선택 변수(i)는 '0'으로 초기화될 수 있다. 여기서, 'i'는 복수의 워드 라인(WL) 및 워드 라인(WL)과 연계된 스위치 트랜지스터(SWT)를 지정하는 워드 라인 선택 변수이다.
S184 단계에서, 워드 라인 디코더(130) 및 스위치 디코더(140)는 S182 단계에서 초기화된 워드 라인 카운트(WL_cnt) 및 스위치 카운트(SW_cnt)에 대응하는 워드 라인(WL)과 스위치 트랜지스터(SWT)를 선택한다. 예를 들면, 워드 라인 디코더(130)는 현재의 워드 라인 카운트(WL_cnt)에 대응하는 워드 라인(WL<0>)에 읽기 전압(Vrd)을, 그리고 나머지 워드 라인들에는 읽기 패스 전압(Vread)을 인가할 것이다. 그리고 스위치 디코더(140)는 현재 스위치 카운트(SW_cnt)에 대응하는 스위치 트랜지스터(SWT)를 턴온(Turn-on)시키기 위한 스위치 선택 신호(SW<0>)를 생성한다. 그러면, 선택된 메모리 셀에 저장된 시냅스 가중치에 대응하는 셀 전류가 감지 회로(SC<0>)에 의해서 센싱될 것이다.
S190 단계에서, 현재 워드 라인 카운트(WL_cnt) 또는 스위치 카운트(SW_cnt)가 S172 단계에서 저장된 추가 선택값 'R'인지의 여부에 따라 동작 분기가 발생한다. 만일, 현재 워드 라인 카운트(WL_cnt)가 'R'에 도달한 경우('Yes' 방향), 제반 절차는 종료될 수 있다. 반면에, 현재 워드 라인 카운트(WL_cnt)가 'R'이 아닌 경우('No' 방향), 절차는 S195 단계로 이동한다.
S195 단계에서, 워드 라인(WL)과 스위치 트랜지스터(SWT)의 선택 변수(i)는 '1'만큼 증가한다. 그리고 절차는 S184 단계로 복귀한다.
이상에서 설명된 스트링 제어 회로(120), 워드 라인 디코더(130), 그리고 스위치 디코더(140)의 동작에 따라 동시 다발적인 입력 스파이크들에 시냅스 가중치가 반영되어 감지 회로들(150)에 전달될 수 있다. 동시 다발적으로 입력되는 입력 스파이크의 특성상, 셀 스트링(NS<j>)의 선택도 동시 다발적으로 발생할 수 있다. 이러한 특징은 후술하는 타이밍도를 통해 보다 상세히 설명될 것이다.
도 7 및 도 8은 본 발명의 실시 예에 따른 스트링 제어 회로, 워드 라인 디코더, 그리고 스위치 디코더의 동작을 보여주는 타이밍도들이다. 도 7에서는, 워드 라인(WL)과 감지 회로들(SC)이 순차적(Sequential)으로 선택되는 실시 예가, 도 8에서는 랜덤하게 선택되는 실시 예가 도시되어 있다.
도 7을 참조하면, 시간 간격(Δ을 두고 2개의 입력 스파이크들(sp0, sp3)이 입력되는 것으로 가정하기로 한다. 즉, 입력 스파이크(sp0)가 발생하고 시간 간격(Δ이 경과한 후에 후속 입력 스파이크(sp3)가 발생할 수 있다. 2개의 입력 스파이크들(sp0, sp3) 간의 시간 간격(Δ은 하나의 낸드 셀 스트링의 메모리 셀들을 모두 센싱하는데 소요되는 스트링 선택 시간(Δ보다 짧은 것으로 가정하기로 한다.
T1 시점에서, 입력 스파이크(sp0)의 검출에 따라 스트링 제어 회로(120)는 스트링 선택 신호(S<0>)를 활성화(High)한다. 스트링 선택 신호(S<0>)의 활성화에 의해서 셀 스트링(NS<0>)이 비트 라인(BL)과 연결된다. 동시에, 워드 라인 디코더(130)와 스위치 디코더(140)는 스트링 선택 신호(S<0>)가 활성화되는 스트링 선택 시간(Δ동안, 워드 라인(WL)과 스위치 트랜지스터들(SWT)을 선택하기 위한 워드 라인 전압과 스위치 선택 신호(SW)를 생성한다. 워드 라인 디코더(130)는 스트링 선택 시간(Δ동안 순차적으로 선택되는 선택 워드 라인에는 읽기 전압(Vrd)을 제공하고, 나머지 워드 라인에는 읽기 패스 전압(Vread, Vrd<Vread)을 제공한다. 스위치 디코더(140)는 선택된 워드 라인(WL<i>)에 동기하여 감지 회로(SC<i>)를 선택하기 위한 스위치 선택 신호(SW<i>)를 생성할 것이다.
스트링 선택 신호(S<0>)의 활성화에 의해서 워드 라인 선택 신호(WL<i>) 및 스위치 선택 신호(SW<i>)의 생성은 스트링 선택 시간(Δ이 종료되는 T3 시점에 완료되어야 한다. 하지만, 스트링 선택 시간(ΔT)이 종료되기 전인 T2 시점에 새로운 입력 스파이크(sp3)가 발생할 수 있다. 따라서, T2 시점에서, 스트링 제어 회로(120)는 스트링 선택 신호(S<0>)가 활성화된 상태에서 스트링 선택 신호(S<3>)도 활성화한다. 스트링 선택 신호(S<3>)의 활성화에 의해서 셀 스트링(NS<3>)이 비트 라인(BL)에 연결된다. 따라서, T2와 T3 시점 사이에서는 2개의 셀 스트링들(NS<0>, NS<3>)이 동시에 비트 라인(BL)에 연결된다.
T2 내지 T3 구간에서, 워드 라인 디코더(130)와 스위치 디코더(140)는 T2 시점 이전에 진행되는 워드 라인(WL)과 스위치 트랜지스터들(SWT)을 선택 동작을 지속한다. 하지만, 스트링 선택 신호(S<3>)가 이미 활성화된 상태이기 때문에, 셀 스트링(NS<3>)의 메모리 셀들은 워드 라인(WL<4>)에서부터 시작하여 순차적으로 선택될 수 있다. 즉, 셀 스트링(NS<3>)의 워드 라인(WL)과 스위치 트랜지스터들(SWT)은 워드 라인(WL<4>)와 스위치 선택 신호(SW<4>)부터 활성화되기 시작한다.
T3 시점에서, 스트링 선택 신호(S<0>)가 비활성화(Low)되고, 셀 스트링(NS<0>)은 비트 라인과 차단된다. 하지만, 스트링 선택 신호(S<3>)는 여전히 활성화 상태이기 때문에, 셀 스트링(NS<3>)에 대한 센싱은 계속된다. 즉, T2 시점에서 셀 스트링(NS<3>)의 워드 라인(WL<4>)과 스위치 선택 신호(SW<4>)가 선택되기 시작했다. 따라서, 스트링 선택 시간(Δ의 남은 여분의 시간 동안, 워드 라인들(WL<0>~WL<3>)의 선택과 스위치 선택 신호들(SW<0>~SW<3>)의 적용이 더 진행되어야 한다. 이러한, 추가적인 워드 라인(WL) 및 스위치 선택 신호(SW<i>)의 생성은 스트링 선택 신호(S<3>)가 비활성화되는 T4 시점에 종료된다.
도 8을 참조하면, 워드 라인(WL)과 스위치 선택 트랜지스터(SWT)의 선택 순서가 반드시 순차적일 필요는 없음을 보여준다. 도 8의 타이밍도는 도 7의 타이밍도에 비해 워드 라인(WL)과 스위치 선택 트랜지스터(SWT)의 선택 순서가 랜덤(Random)하게 제공될 수 있음을 보여준다. 하나의 셀 스트링이 활성화되면, 해당 셀 스트링 내의 모든 워드 라인(WL)과, 감지 회로들에 셀 전류를 전달하기 위한 스위치 선택 트랜지스터들(SWT)이 스트링 선택 시간(Δ동안 모두 1번씩 선택되기만 하면 된다. 하지만, 이때 서로 연관된 워드 라인(WL)과 스위치 선택 트랜지스터(SWT)는 반드시 동기되어 선택 및 활성화되어야 한다.
도 9는 본 발명의 다른 실시 예에 따른 시냅스 어레이와 감지 회로부를 보여주는 회로도이다. 도 9를 참조하면, 시냅스 어레이(110b)는 비트 라인 쌍(BLe, BLo) 각각에 연결되는 복수의 셀 스트링들(NSe<0>~NSe<p-1>, NSo<0>~NSo<p-1>), 비트 라인쌍(BLe, BLo)을 각각 감지 회로부(150)에 연결하는 스위치 트랜지스터들(SWTe, SWTo)을 포함한다. 시냅스 어레이(110b)는 이븐 어레이(112e)와 오드 어레이(112o)의 페어(Pair) 형태로 제공될 수 있다.
입력 스파이크(Input spike)가 제공되면, 스트링 선택 회로(120, 도 2 참조)에 의해서 입력 스파이크(sp<j>)의 채널 주소에 대응하는 스트링 선택 신호(S<j>)가 활성화된다. 만일, 입력 스파이크(sp<0>)가 제공되면, 스트링 선택 신호(S<0>)가 활성화(또는, High)될 것이다. 스트링 선택 신호(S<0>)의 활성화에 의해서 셀 스트링(NSe<0>)과 셀 스트링(NSo<0>) 각각의 스트링 선택 트랜지스터(SST<0>)가 스트링 선택 시간(Δ동안 턴온된다. 그러면, 셀 스트링(NSe<0>)은 이븐 비트 라인(BLe)에 연결되고, 셀 스트링(NSo<0>)은 오드 비트 라인(BLo)에 각각 연결된다.
이어서, 워드 라인 디코더(130, 도 2 참조)가 스트링 선택 시간(Δ동안 순차적으로 워드 라인들(WL<0>~WL<k-1>) 각각에 읽기 전압을 인가한다. 동일한 층의 이븐 어레이(112e)와 오드 어레이(112o)의 워드 라인들(WL<i>)은 서로 전기적으로 연결되어 있다. 따라서, 셀 스트링(NSe<0>)과 셀 스트링(NSo<0>)의 동일 워드 라인 층에 위치하는 메모리 셀들은 워드 라인들(WL<0>~WL<k-1>)의 순차적 선택에 따라 동시에 선택된다.
워드 라인들(WL<0>~WL<k-1>)의 순차적 선택에 동기하여 스위치 디코더(140, 도 2 참조)도 스위치 선택 신호(SW<0>~SW<k-1>)를 순차적으로 활성화(또는, High)할 것이다. 그러면, 이븐 셀 스트링(NSe<0>)에 저장된 시냅스 가중치들에 대응하는 자극 전류( i exc )가 감지 회로들(SC<0>~SC<k-1>)에 순차적으로 전달된다. 동시에, 오드 셀 스트링(NSo<0>)에 저장된 시냅스 가중치들에 대응하는 억제 전류( i inh )가 감지 회로들(SC<0>~SC<k-1>)에 순차적으로 전달된다. 자극 전류( i exc )는 감지 회로들(SC<0>~SC<k-1>) 각각에서 전류의 누적에 따라 형성되는 막전위(Vmem)를 증가시키고, 억제 전류( i inh )는 감지 회로들(SC<0>~SC<k-1>) 각각에서 전류의 누적에 따라 형성되는 막전위(Vmem)를 감소시키는 기능을 갖는다. 자극 전류( i exc )의 크기는 이븐 셀 스트링(NSe<0>~NSe<p-1>)의 메모리 셀에 저장된 자극 가중치( i + (i,j))에 의해서 결정된다. 그리고 억제 전류( i inh )의 크기는 오드 셀 스트링(NSo<0>~NSo<p-1>)의 메모리 셀에 저장된 억제 가중치( i - (i,j))에 의해서 결정된다.
만일, 또 다른 입력 스파이크에 의해서 스트링 선택 신호(S<1>)가 활성화되면, 이븐 및 오드 낸드 셀 스트링들(NSe<1>, NSo<1>)이 비트 라인쌍(BLe, BLo)에 각각 스트링 선택 시간(Δ동안 연결된다. 그러면, 스트링 선택 시간(Δ동안 이븐 및 오드 낸드 셀 스트링들(NSe<1>, NSo<1>)의 자극 가중치( i + (i,j))와 억제 가중치( i - (i,j))에 대응하는 자극 전류( i exc )와 억제 전류( i inh )가 감지 회로들(SC<0>~SC<k-1>)에 전달된다.
감지 회로부(150)의 감지 회로들(SC<0>~SC<k-1>) 각각은 이븐 스위치 트랜지스터들(SWTe)을 통해서 순차적으로 제공되는 자극 전류( i exc )와 오드 스위치 트랜지스터들(SWTo)을 통해서 순차적으로 제공되는 억제 전류( i inh )를 누적한다. 즉, 감지 회로(151)의 경우, 워드 라인(WL<0>)의 선택시 이븐 비트 라인(BLe)에 발생하는 억제 전류( i inh )와 오드 비트 라인(BLo)에 발생하는 억제 전류( i inh )를 합산하여 출력 신호(Output_0)를 생성한다.
감지 회로들(SC<0>~SC<k-1>) 각각은 자극 전류( i exc )와 억제 전류( i inh )에 따라 형성되는 막전위(Vmem)의 레벨에 따라 출력 신호(Output_0~Output_k-1)를 생성한다. 즉, 감지 회로들(SC<0>~SC<k-1>) 각각은 막전위(Vmem)의 레벨이 임계치(Vsth)를 초과하면, 출력 스파이크(Output spike)를 생성한다. 감지 회로들(SC<0>~SC<k-1>) 각각은 구성 및 기능은 후술하는 도면을 통해서 상세히 설명하기로 한다.
상술한 구조에 의해 입력 스파이크에 따라 셀 스트링들 각각에 저장된 시냅스 가중치가 자극 전류( i exc )와 억제 전류( i inh )로 변환되어 감지 회로들(SC<0>~SC<k-1>) 각각에 제공될 수 있다. 감지 회로들(SC<0>~SC<k-1>)은 자극 전류( i exc )와 억제 전류( i inh )를 합산하여 출력 스파이크를 생성할 수 있다.
도 10은 도 9의 감지 회로의 구체적인 구성을 예시적으로 보여주는 회로도이다. 도 10을 참조하면, 감지 회로(151, SC<0>)는 커런트 미러들(151a, 151b, 151c)과 펄스 생성기(151d), 그리고 커패시터(C)를 포함할 수 있다. 감지 회로(151, SC<0>)는 워드 라인(WL<0>)의 메모리 셀들에 저장된 자극 가중치( i + (0,j))와 억제 가중치( i - (0,j))에 의한 자극 전류( i exc )와 억제 전류( i inh )를 센싱한다. 마찬가지로, 도시되지는 않았지만, 감지 회로(SC<k-1>)는 워드 라인(WL<k-1>)의 메모리 셀들에 저장된 자극 가중치( i + (k-1,j))와 억제 가중치( i - (k-1,j))에 의한 자극 전류( i exc )와 억제 전류( i inh )를 센싱하여, 출력 신호(Output_k-1)를 생성한다. 이하에서 설명되는 감지 회로(151, SC<0>)의 구성은 나머지 감지 회로들(SC<1>~SC<k-1>)과 동등하게 적용된다.
커런트 미러들(151a, 151b, 151c)은 이븐 및 오드 셀 스트링들(NSe<0>, NSo<0>) 각각으로부터 흐르는 자극 전류( i exc )와 억제 전류( i inh )를 막전위(Vmem) 노드에 전달한다. 자극 전류( i exc )와 억제 전류( i inh ) 각각은 자극 가중치( i + (0,j))와 억제 가중치( i - (0,j))에 의해 제공되는 시냅스 가중치 값에 대응한다. 2개의 PMOS 트랜지스터로 구성되는 커런트 미러(151a)는 이븐 비트 라인(BLe)을 통해 전달되는 자극 전류( i exc )를 미러링하여 막전위(Vmem) 노드를 충전시킨다. 자극 전류( i exc )의 크기가 커질수록 막전위(Vmem)의 레벨은 상승하게 될 것이다. 2개의 PMOS 트랜지스터와 2개의 NMOS 트랜지스터들로 구성되는 커런트 미러들(151b, 151c)은 오드 비트 라인(BLo)을 통해 전달되는 억제 전류( i inh )에 따라 막전위(Vmem) 노드를 방전시킨다. 억제 전류( i inh )의 크기가 커질수록 막전위(Vmem)의 레벨은 더 빨리 하강하게 될 것이다.
펄스 생성기(151d)는 막전위(Vmem)의 레벨이 임계치(Vsth)를 초과하는 경우, 출력 스파이크(Output spike)를 생성한다. 펄스 생성기(151d)는 막전위(Vmem)의 레벨을 임계치(Vsth)와 비교하는 제 1 인버터(P5, N5)와 제 2 인버터(P6, N6)를 포함할 수 있다. 그리고 펄스 생성기(151d)는 방전 트랜지스터(N3)를 포함한다. 방전 트랜지스터(N3)는 제 2 인버터(P6, N6)의 출력단에 형성되는 출력 전압(Vout)의 레벨에 따라 막전위(Vmem) 노드를 방전한다. 따라서, 막전위(Vmem)의 레벨이 임계치(Vsth)보다 높아지면, 출력 신호(Output_0)는 펄스 형태로 출력된다.
자극 전류( i exc )와 억제 전류( i inh )의 합이 막전위(Vmem)의 레벨이 제 1 인버터(P5, N5)의 트립 전압에 대응하는 임계치(Vsth)보다 높아지면, 출력 전압(Vout)이 하이 레벨로 천이된다. 이어서, 하이(High) 레벨로 천이된 출력 전압(Vout)에 응답하여 방전 트랜지스터(N3)가 턴온될 것이다. 그러면, 막전위(Vmem) 노드는 접지 레벨(Vss)로 방전되고, 출력 전압(Vout)은 다시 로우(Low) 레벨로 천이될 것이다. 이러한 방식에 따라 출력 신호(Output_0)는 막전위(Vmem)의 레벨에 따라 펄스 형태의 출력 스파이크로 형태로 제공될 수 있다.
상술한 바와 같이, 자극 전류( i exc )와 억제 전류( i inh )에 의해서 막전위(Vmem)를 형성하고, 막전위(Vmem)의 레벨에 따라 출력 스파이크를 생성하는 감지 회로(151, SC<0>)의 기능은 다양한 형태나 방식으로 변경될 수 있을 것이다.
도 11은 도 10의 감지 회로의 동작을 예시적으로 보여주는 타이밍도이다. 도 9 내지 도 11을 참조하면, 하나의 입력 스파이크(sp0)가 입력되면, 시냅스 어레이들(112e, 112o)에서 메모리 셀들이 선택되고, 선택된 메모리 셀들로부터 자극 전류( i exc )와 억제 전류( i inh )가 감지 회로(151, SC<0>)에 전달된다. 감지 회로(151, SC<0>)는 자극 전류( i exc )와 억제 전류( i inh )를 누적(Integrate)하고, 출력 스파이크로 발화(Fire)할 수 있다. 여기서, 하나의 입력 스파이크(sp0)만을 예로 들어 도시하였으나, 입력 스파이크가 동시 다발적으로 제공되더라도 후술하는 감지 회로(151, SC<0>)의 동작은 동일하게 적용될 것이다.
T1 시점에서, 입력 스파이크(sp0)의 검출에 따라 스트링 제어 회로(120)는 스트링 선택 신호(S<0>)를 활성화한다. 스트링 선택 신호(S<0>)의 활성화에 의해서 이븐 셀 스트링(NSe<0>)은 이븐 비트 라인(BLe)에, 오드 셀 스트링(NSo<0>)은 오드 비트 라인(BLo)에 연결된다. 워드 라인 디코더(130)와 스위치 디코더(140)는 스트링 선택 신호(S<0>)가 활성화되는 스트링 선택 시간(Δ동안, 워드 라인 전압(WL)과 스위치 선택 신호(SW)를 생성한다. 워드 라인 전압(WL)과 스위치 선택 신호(SW)는 시냅스 어레이들(112e, 112o) 각각에 동일하게 제공된다.
하나의 셀 스트링에 'k' 개의 메모리 셀들이 직렬로 연결된 경우, 워드 라인 디코더(130)는 스트링 선택 시간(Δ동안 선택 워드 라인에는 읽기 전압(Vrd)을, 나머지 워드 라인들에는 읽기 패스 전압(Vread)을 제공한다. 워드 라인의 선택에 동기하여 스위치 디코더(140)는 선택된 워드 라인(WL<i>)에 대응하는 감지 회로(SC<i>)를 선택하기 위한 스위치 선택 신호(SW<i>)를 생성할 것이다.
다시, T1 시점에서 감지 회로(SC<0>)가 선택된 워드 라인(WL<0>)에 연결된 메모리 셀들로부터 감지된 자극 전류( i exc )는 아래 수학식 1로 표현될 수 있다.
Figure pat00001
여기서, S(j)는 입력 스파이크에 의해서 턴온된 모든 스트링들의 스트링 선택 신호(S<j>)를 나타낸다. 예를 들면, S(j)는 턴온되는 경우에는 '1', 턴오프되는 경우에는 '0'일 수 있다. 'i+ (j, 0)'은 워드 라인(WL<0>)에 연결되는 이븐 어레이(112e)의 메모리 셀들 각각에 흐르는 셀 전류를 의미한다. 스트링 선택 신호(S<0>)만이 활성화된 상태에서는, 셀 스트링(NSe<0>)의 셀 전류만이 자극 전류( i exc )에 기여할 것이다.
반면, 감지 회로(SC<0>)가 감지하는 억제 전류( i inh )는 아래 수학식 2로 표현될 수 있다.
Figure pat00002
여기서, 'i- (j, 0)'은 워드 라인(WL<0>)에 연결되는 오드 어레이(112o)의 스트링들 각각의 셀 전류를 의미한다.
T1 시점에서, 워드 라인(WL<0>)의 메모리 셀들에 의한 자극 전류( i exc )의 크기가 억제 전류( i inh )보다 크게 나타나는 것을 알 수 있다. 이 경우, 감지 회로(SC<0>)에 형성되는 막전위(Vmem)는 도시된 바와 같이 점차적으로 증가하는 형태를 나타낸다. 하지만, 막전위(Vmem)의 크기는 임계치(Vsth)를 초과하지는 못한다. 따라서, T2 시점에서 워드 라인(WL<0>)의 메모리 셀들에 대한 센싱은 종료된다.
T3 시점에서는, 시냅스 어레이들(112e, 112o)의 워드 라인(WL<1>)의 메모리 셀들에 의한 자극 전류( i exc )와 억제 전류( i inh )가 센싱된다. 이 시점에서는 자극 전류( i exc )의 크기가 억제 전류( i inh )보다 작게 나타나는 것을 알 수 있다. 이 경우, 감지 회로(SC<0>)에 형성되는 막전위(Vmem)는 도시된 바와 같이 접지 레벨(또는, 0V)을 유지한다. 따라서, T3 내지 T4시점에서는 출력 스파이크는 발생하지 않는다.
T5 시점에서는 워드 라인(WL<k-1>)의 메모리 셀들에 의한 자극 전류( i exc )와 억제 전류( i inh )가 센싱된다. 특히, 이때에는 자극 전류( i exc )의 크기가 억제 전류( i inh )보다 훨씬 크게 나타나는 것을 알 수 있다. 이 경우, 감지 회로(SC<0>)에서 형성되는 막전위(Vmem)의 증가 기울기는 T1 시점에서보다 급격하다. 그리고, T6 시점에서 막전위(Vmem)의 크기는 임계치(Vsth)를 초과하게 된다. 따라서, T6 시점에서 감지 회로(SC<0>)의 펄스 생성기(151d)는 출력 스파이크를 생성한다. 그리고 방전 트랜지스터(N3)에 의해서 막전위(Vmem)는 초기화된다. 초기화된 막전위(Vmem)는 자극 전류( i exc )의 크기가 억제 전류( i inh )보다 큰 구간에서는 다시 상승하게 된다.
도 12는 본 발명의 다른 실시 예에 따른 스파이킹 신경망(SNN) 모델을 간략히 보여주는 도면이다. 도 12를 참조하면, 스파이킹 신경망(SNN)에서 시냅스-후 뉴런204의 수 또는 출력 노드의 수가 실제 워드 라인의 수(k)보다 적은 경우에도 가중치 프로그램을 통해서 수직 적층 플래시 메모리에서 구현될 수 있다.
스파이킹 신경망(200)은 스트링 선택 신호(S<j>)를 제공받는 시냅스 어레이(202)와 시냅스-후 뉴런(204)으로 모델링될 수 있다. 그리고 시냅스-후 뉴런(204)은 시냅스 가중치를 누적하고 발화를 담당하는 감지 회로들(SC<0>~SC<n>)에 대응할 수 있다. 여기서, 입력 스파이크를 생성하는 시냅스-전 뉴런(12, 도 1 참조)이나, 입력 스파이크로부터 스트링 선택 신호(S<j>)를 생성하는 제어 회로(14, 도 1 참조)의 구성은 실질적으로 도 1의 그것들과 동일하게 구현될 수 있다. 따라서, 이러한 구성들에 대한 도시와 설명은 생략하기로 한다.
스트링 선택 신호(S<j>)에 의해서 대응하는 낸드 셀 스트링이 비트 라인(BLe 또는 BLo)에 연결될 수 있다. 즉, 스트링 선택 신호(S<1>)이 활성화되면, 스트링 선택 트랜지스터(SST1)가 턴온되고, 해당 낸드 셀 스트링(NS<1>)이 비트 라인(BL)에 연결될 것이다. 그러면, 낸드 셀 스트링(NS<1>)에 관련된 시냅스 가중치들이 시냅스 어레이(202)를 통해 반영되고 시냅스-후 뉴런(204)에 전달된다.
시냅스-후 뉴런(204)은 시냅스 어레이(202)를 통해서 전달되는 시냅스 가중치들을 누적하기 위한 'k+1' 개의 뉴런들 또는 출력 노드를 포함할 수 있다. 시냅스-후 뉴런(204)은, 예를 들면, 시냅스 가중치가 반영된 셀 전류를 누적하고 발화하는 감지 회로들(SC<0>~SC<k>)로 구현될 수 있다. 시냅스-후 뉴런(204)은 누적된 셀 전류에 따라 출력 스파이크를 발화(Fire)한다. 여기서, 워드 라인(WL)의 수가 'k+1 '개인 경우, 감지 회로들(SC<0>~SC<k>)도 'k+1' 개로 형성될 수 있다. 그리고 'k+1' 개의 뉴런들이 시냅스-후 뉴런(204)에 포함될 경우, 'k+1' 개의 출력 스파이크(Output_0 ~ Output_k)가 동시 다발적으로 발생할 수 있다.
하지만, 메모리 셀들의 수나 워드 라인(WLs)의 수가 'k+1' 개의 시냅스-후 뉴런(204)을 지원할 수 있지만, 실제로 사용되는 시냅스-후 뉴런(204)의 출력 노드의 수가 이보다 적은 경우가 존재할 수 있다. 즉, 시냅스-후 뉴런(204)의 수가 'k+1'보다 적은 'n+1' 개만 사용되는 경우를 가정할 수 있다. 이때, 스파이킹 신경망(SNN)은 시냅스 어레이(202)의 사용되지 않는 시냅스 가중치를 더미값(Dummy)으로 프로그램함으로써 V-NAND 플래시 메모리에서 해당 스파이킹 신경망(SNN)의 구현이 가능하다.
더미 가중치(Dummy Weight)로 프로그램된 메모리 셀들이 선택되는 경우, 이븐 스트링과 오드 스트링에 동일한 전류가 흐르게 된다. 따라서, 자극 전류( i exc )와 억제 전류( i inh )의 크기가 동일하게 되고, 감지 회로들(SC<n+1>~SC<k>)의 출력은 발생하지 않는다. 결국, 더미 가중치(Dummy Weight)로 프로그램되지 않은 메모리 셀들(또는 워드 라인)을 감지하는 감지 회로들(SC<0>~SC<n>)은 유효 감지 회로(Valid SC)로, 더미 가중치(Dummy Weight)로 프로그램된 메모리 셀들(또는 워드 라인)을 감지하는 감지 회로들(SC<n+1>~SC<k>)은 무효 감지 회로(Invalid SC)로 지정될 수 있다.
상술한 방식과 같이 메모리 셀들을 더미 가중치(Dummy Weight)로 프로그램하는 방식으로 시냅스 어레이(202)를 재구성(Reconfiguration)하는 것이 가능하다. 이러한 기술을 사용하면, V-NAND 플래시 메모리를 기반으로 하는 스파이킹 신경망(SNN)에서 시냅스-후 뉴런(204)의 수 또는 출력 노드의 수를 자유롭게 조정할 수 있다.
도 13은 도 12의 스파이킹 신경망(SNN)을 구현하기 위한 시냅스 어레이의 재구성 방법을 보여주는 회로도이다. 도 13을 참조하면, 감지 회로 또는 시냅스-후 뉴런의 수가 워드 라인의 수보다 적은 경우에, 스파이킹 신경망(SNN)은 메모리 셀들의 더미(Dummy) 가중치를 프로그램함으로써 재구성(Reconfigure)될 수 있다.
시냅스 어레이(210)는 비트 라인 쌍(BLe, BLo) 각각에 연결되는 복수의 낸드 셀 스트링들(NSe<0>~NSe<p-1>, NSo<0>~NSo<p-1>), 비트 라인쌍(BLe, BLo)을 각각 감지 회로부(150)에 연결하는 스위치 트랜지스터들(SWTe, SWTo)을 포함한다. 시냅스 어레이(210)는 이븐 어레이(212e)와 오드 어레이(212o)의 페어(Pair) 형태로 제공될 수 있다. 시냅스 어레이(210)를 구성하는 워드 라인(WL)의 수 또는 감지 회로들(SC)의 수는 'k+1' 개이다. 하지만, 스파이킹 신경망(SNN)에서 실제 사용되는 시냅스-후 뉴런(204)의 수가 'k+1' 개보다 적은 'n+1' 개일 수 있다. 이 경우에는, 워드 라인들(WL<0>~WL<n>)의 메모리 셀들에는 정상적인 가중치(i+ (j, i), i- (j, i))가 저장될 수 있다. 반면, 워드 라인들(WL<n+1>~WL<k>)의 메모리 셀들에는 더미 가중치(i+ dumm, i- dumm)가 저장될 수 있다.
워드 라인들(WL<0>~WL<k>)의 순차적 선택에 동기하여 스위치 선택 신호(SW<0>~SW<k>)가 순차적으로 활성화될 것이다. 그러면, 이븐 셀 스트링(NSe<0>)에 저장된 시냅스 가중치들에 대응하는 자극 전류( i exc )가 감지 회로들(SC<0>~SC<k>)에 순차적으로 전달된다. 동시에, 오드 셀 스트링(NSo<0>)에 저장된 시냅스 가중치들에 대응하는 억제 전류( i inh )가 감지 회로들(SC<0>~SC<k>)에 순차적으로 전달된다. 자극 전류( i exc )는 감지 회로들(SC<0>~SC<k>) 각각에서 전류의 누적에 따라 형성되는 감지 회로(251)의 막전위(Vmem)를 증가시킨다. 그리고 억제 전류( i inh )는 감지 회로들(SC<0>~SC<k>) 각각에서 전류의 누적에 따라 형성되는 감지 회로(251)의 막전위(Vmem)를 감소시킨다. 하지만, 더미 가중치(i+ dumm, i- dumm)에 대응하는 워드 라인들(WL<n+1>~WL<k>)이 선택되는 경우, 자극 전류( i exc )와 억제 전류( i inh )가 동일한 값으로 제공된다. 따라서, 워드 라인들(WL<n+1>~WL<k>)이 선택되는 경우, 감지 회로들(SC<n+1>~SC<k>) 각각에 설정되는 막전위(Vmem)는 불변하고, 감지 회로들(SC<n+1>~SC<k>)의 출력은 무효화(Invalid) 또는 차단된다.
이상에서는 감지 회로들(SC<i>) 또는 시냅스-후 뉴런(204, 도 11 참조)의 수가 워드 라인의 수보다 적은 경우의 스파이킹 신경망(SNN)을 재구성하는 방법이 설명되었다. 즉, 시냅스 어레이(202, 도 11 참조)에 저장되는 시냅스 가중치(즉, 더미 가중치)의 설정을 통해, 출력 노드의 수를 줄일 수 있는 스파이킹 신경망(SNN)의 재구성(Reconfiguration)이 가능하다.
도 14는 본 발명의 또 다른 실시 예에 따른 스파이킹 신경망(SNN) 모델을 간략히 보여주는 도면이다. 도 14를 참조하면, 스파이킹 신경망(300, SNN)에서 시냅스-후 뉴런(304)의 수 또는 출력 노드의 수(예를 들면, 2k)가 워드 라인의 수(k)보다 많은 경우가 존재한다. 이런 경우에는, 시냅스 어레이(302)가 구현된 메모리 블록 내의 또 다른 비트 라인쌍(BL Pair)에 연결된 메모리 셀들을 시냅스 어레이로 사용하여 완전 연결 계층(Fully connected layer)으로 재구성(Reconfiguration)할 수 있다.
스파이킹 신경망(300)은 스트링 선택 신호(S<j>)를 제공받는 시냅스 어레이(302), 시냅스-후 뉴런(304)으로 모델링될 수 있다. 그리고 시냅스-후 뉴런(304)은 시냅스 가중치를 누적하고 발화를 담당하는 감지 회로부들(352, 354)에 대응할 수 있다. 여기서, 제 1 감지 회로부(352)는 k 개의 스위치 트랜지스터들(SWT) 및 감지 회로들(SC<0>~SC<k-1>)에 대응할 수 있다. 그리고 스파이킹 신경망(300)에서는 출력 노드 수(2k)가 워드 라인 수(k)보다 많기 때문에, 새로운 비트 라인쌍(BL2 pair)을 사용하는 제 2 감지 회로부(354)가 출력 노드로 추가될 수 있다. 재구성을 통해 추가 가능한 제 2 감지 회로부(354)는 k 개의 스위치 트랜지스터들(SWT) 및 감지 회로들(SC<k>~SC<2k-1>)에 대응할 수 있다.
도 15는 도 14의 스파이킹 신경망(SNN)을 구현하기 위한 시냅스 어레이의 재구성 방법을 보여주는 회로도이다. 도 15를 참조하면, 감지 회로 또는 시냅스-후 뉴런(304, 도 14 참조)의 수가 워드 라인의 수(k)보다 많은 경우, 동일 메모리 블록 내의 다른 비트 라인쌍(BL2e, BL2o)과 그에 연결된 메모리 어레이를 사용하여 출력 노드의 수를 확장할 수 있다. 그리고 확장된 출력 노드의 수에 대응하는 감지 회로들(354)의 수를 확장할 수 있다.
시냅스 어레이(330, 335)는 비트 라인 쌍(BL1e, BL1o) 각각에 연결되는 복수의 낸드 셀 스트링들, 비트 라인쌍(BLe, BLo)을 각각 감지 회로부(352)에 연결하는 스위치 트랜지스터들(SWTe, SWTo)을 포함한다. 시냅스 어레이(330, 335)의 비트 라인 쌍(BL1e, BL1o) 각각은 'k' 개의 출력 노드를 구성하도록 k 개의 감지 회로부(352)와 연결된다. 하지만, 출력 노드의 수가 더 필요한 경우, 시냅스 어레이(330, 335)와 동일한 메모리 블록에 포함되며, 다른 비트 라인쌍(BL2e, BL2o)에 연결되는 추가 셀 어레이가 사용될 수 있다. 즉, 다른 비트 라인쌍(BL2e, BL2o)에 연결되는 추가 시냅스 어레이(340, 345)와 감지 회로부(354)가 'k' 개의 추가적인 출력 노드를 제공할 수 있다.
여기서, 시냅스 어레이들(330, 335, 340, 345) 각각은 동일한 워드 라인 전압(WL<i>)과 스트링 선택 신호(S<j>)에 의해서 선택되고 감지된다. 반면, 시냅스 어레이(330, 335)와 추가 시냅스 어레이(340, 345)는 상이한 스위치 선택 신호들(SW<0>~SW<k-1>, SW<k>~SW<2k-1>)에 의해서 감지 회로부(352, 354)에 연결된다. 즉, 시냅스 어레이(330, 335)는 스위치 선택 신호들(SW<0>~SW<k-1>)에 의해서 감지 회로부(352)에 연결되는 반면, 추가 시냅스 어레이(340, 345)는 스위치 선택 신호들(SW<k>~SW<2k-1>)에 의해서 감지 회로부(354)에 연결된다. 따라서, 스위치 디코더(140, 도 2 참조)는 다른 비트 라인쌍(BL2e, BL2o)을 감지 회로부(354)에 연결하기 위한 추가 스위치 선택 신호들(SW<k>~SW<2k-1>)을 생성하도록 재구성되어야 한다.
이상의 실시 예에 따르면, 추가적인 출력 노드를 구성해야 하는 경우, 동일 메모리 블록 내에 구비된 다른 비트 라인에 대응하는 셀 어레이를 활용하여 스파이킹 신경망(SNN)의 재구성이 가능하다.
도 16은 본 발명의 또 다른 실시 예에 따른 스파이킹 신경망(SNN) 모델을 보여주는 도면이다. 도 16을 참조하면, 스파이킹 신경망(400)은 V-NAND 플래시 메모리의 셀 어레이를 활용하여 시냅스 어레이(440)의 입력 노드의 수를 증가시킬 수 있다. 여기서, 시냅스 어레이(440)의 입력 노드는 스트링 선택 라인(SSL) 또는 스트링 선택 트랜지스터(SST)의 게이트 단자에 대응할 수 있다.
만일, 입력 노드(410)만을 사용하는 스파이킹 신경망(SNN)에서, 추가적인 입력 노드(420, 430)들이 필요한 경우를 가정하자. 예를 들면, 스트링 선택 신호(S<j>)를 수신하기 위한 입력 노드의 수(예를 들면, 2k)가 스트링 선택 라인의 수(p)보다 많은 경우가 여기에 해당할 수 있다. 따라서, 'p' 개의 스트링 선택 신호(S<0>~S<p-1>)를 수신하는 입력 노드(410)에 더하여 추가적인 'p' 개의 입력 노드가 필요한 경우가 존재할 수 있다.
입력 노드(410)로 입력되는 스트링 선택 신호(S<0>~S<p-1>)에 시냅스 가중치를 반영하는 시냅스 어레이(440)가 제 1 메모리 블록(BLK0)에서 구현되었다고 가정하기로 하자. 이런 경우에는, V-NAND 불휘발성 메모리 장치에 포함되는 복수의 메모리 블록들 중 다른 하나의 제 2 메모리 블록(BLK1)을 선택하여 추가적인 스트링 선택 신호(S<p>~S<2p-1>)에 대한 시냅스 어레이를 구현할 수 있다. 더 많은 추가적인 입력 노드들(예를 들면, S<2p>~S<n>을 입력하기 위한)이 필요한 경우, 제 3 메모리 블록(예를 들면, BLK3)을 사용하여 입력 노드와 그에 동반되는 시냅스 어레이를 구현할 수 있다.
여기서, V-NAND 불휘발성 메모리 장치의 메모리 블록들은 스트링 선택 라인(SSL)을 공유하고 있어 동시에 복수의 메모리 블록이 선택되기 어려울 수 있다. 입력 노드(410, 420, 430)들 각각은 스트링 선택 라인(SSL)에 대응할 수 있다. 그리고 스트링 선택 라인(SSL)에 제공되는 스트링 선택 신호(S<0>~S<p-1>, S<p>~S<2p-1>, S<2p>~S<n>)는 메모리 블록들(BLK0, BLK1, BLK3) 각각에 독립적으로 제공되어야 한다. 따라서, 복수의 메모리 블록이 동시에 선택될 수 있는 구조(Multi-block selection)로 셀 어레이 및 제어 회로가 조정되어야 할 것이다. 이를 위해, 입력 노드(410, 420, 430)들 각각이 구현되는 메모리 블록들(BLK0, BLK1, BLK3)의 스트링 선택 라인(SSL)은 메모리 블록 단위로 분리되어야 한다. 이러한 스파이킹 신경망(SNN)의 입력 노드 확장은 COP(Cell On Peripheral) 구조로 형성되는 V-NAND 불휘발성 메모리 장치에서 좀더 쉽게 구현이 가능하다.
시냅스-후 뉴런을 구성하는 감지 회로부(450)는 메모리 블록들(BLK0, BLK1, BLK2) 각각에 공유되는 비트 라인을 매개로 용이하게 구현될 수 있다. 즉, 입력 노드(410, 420, 430)들에 대응하는 스트링 선택 라인(SSL)들과 워드 라인(WL)의 선택을 통해서 시냅스 전류 형태로 하나의 비트 라인(BL) 또는 하나의 비트 라인 쌍(BL Pair)에 전달된다. 그러면, 하나의 비트 라인(BL) 또는 하나의 비트 라인 쌍(BL Pair)에 연결되는 스위치 트랜지스터들(SWT)과 감지 회로부(450)를 통해서 'k'개의 출력 노드를 구성할 수 있다.
이상의 설명에서는, 추가적인 입력 노드를 구성해야 하는 경우에 스트링 선택 라인이 분리된 다른 메모리 블록을 사용하여 스파이킹 신경망(SNN)의 재구성이 가능함이 설명되었다.
도 17은 도 16의 스파이킹 신경망(SNN)의 입력 노드 확장을 구현하기 위한 시냅스 어레이의 재구성 방법을 보여주는 회로도이다. 하나의 메모리 블록(예를 들면, BLK0)에 존재하는 스트링 선택 라인(SSL)의 수가 'p' 개이고, 스파이킹 신경망(SNN)에서 요구되는 입력 노드의 수가 'p'보다 많은 경우를 가정하기로 한다. 스트링 선택 신호(S<j>)를 수신하기 위한 입력 노드들의 수(예를 들면, n+1)가 스트링 선택 라인(또는, 워드 라인)의 수(p)보다 많은 경우가 여기에 해당할 수 있다.
제 1 메모리 블록(BLK0)의 스트링 선택 라인(SSL)들 및 메모리 셀들은 스트링 선택 신호(S<0>~S<p-1>)를 수신하고 제 1 시냅스 가중치(WS_0)를 부가하는 제 1 시냅스 어레이(410e, 410o)를 구성할 수 있다. 그리고 제 2 메모리 블록(BLK1)의 스트링 선택 라인(SSL) 및 메모리 셀들은 스트링 선택 신호(S<p>~S<2p-1>) 를 수신하고 제 2 시냅스 가중치(WS_1)를 부가하는 제 2 시냅스 어레이(420e, 420o)를 구성할 수 있다. 또한, 제 3 메모리 블록(BLK2)의 스트링 선택 라인(SSL) 및 메모리 셀들은 스트링 선택 신호(S<2p>~S<n>)를 수신하고 제 3 시냅스 가중치(WS_2)를 부가하는 제 3 시냅스 어레이(430e, 430o)를 구성할 수 있다.
시냅스 어레이들(410, 420, 430)은 각각 분리된 스트링 선택 라인들을 갖는다. 하지만, 시냅스 어레이들(410, 420, 430)은 비트 라인(BL)을 공유한다. 예를 들면, 서로 다른 메모리 블록들(BLK0, BLK1, BLK2)에 대응하는 이븐 시냅스 어레이들(410e, 420e, 430e)도 하나의 이븐 비트 라인(BLe)에 연결된다. 또한, 서로 다른 메모리 블록들(BLK0, BLK1, BLK2)에 대응하는 오드 시냅스 어레이들(410o, 420o, 430o)도 하나의 오드 비트 라인(BLo)에 연결된다.
시냅스-후 뉴런(Post-synapse neuron)을 구현하기 위해, 비트 라인쌍(BLe, BLo)은 스위치 트랜지스터들(SWTe, SWTo)에 의해 'k' 개의 감지 회로들(450)과 연결된다. 즉, 이븐 비트 라인(BLe)은 이븐 스위치 트랜지스터들(SWTe)에 의해 감지 회로들(450)과 연결될 수 있다. 그리고 이븐 비트 라인(BLe)을 통해서 이븐 시냅스 어레이들(410e, 420e, 430e)에 흐르는 자극 전류( i exc )가 감지 회로들(450)에 전달될 것이다. 또한, 오드 비트 라인(BLo)은 오드 스위치 트랜지스터들(SWTo)에 의해 감지 회로들(450)과 연결될 수 있다. 그리고 오드 비트 라인(BLo)을 통해서 오드 시냅스 어레이들(410o, 420o, 430o)에 흐르는 억제 전류( i inh )가 감지 회로들(450)에 전달될 것이다.
이상의 실시 예에 따르면, 스파이킹 신경망(SNN)을 구성하기 위해 추가적인 입력 노드를 구성해야 하는 경우에는 동시 선택이 가능한 복수의 메모리 블록을 사용할 수 있다. 이러한 스파이킹 신경망(SNN)의 입력 노드 확장은 COP(Cell On Peripheral) 구조로 형성되는 V-NAND 불휘발성 메모리 장치에서 쉽게 재구성이 가능하다.
도 18은 본 발명의 실시 예에 따른 스파이킹 신경망을 형성할 수 있는 불휘발성 메모리 장치의 COP 구조를 간략히 보여주는 단면도이다. 도 18을 참조하면, 불휘발성 메모리 장치(500)는 주변 영역(570) 상에 셀 영역(510)이 적층된 COP(Cell on Peripheral) 구조를 가질 수 있다. 주변 영역(570)의 적어도 일부와 셀 영역(510)의 적어도 일부는 상하 오버랩될 수 있다. 편의상 셀 영역(510)의 전부와 주변 영역(570)의 전부가 상하 오버랩된 예에 대해 여기서 설명하며, 본 발명을 이에 한정하려는 의도는 전혀 아니다.
주변 영역(570)은 하부 기판(571) 상에 배치된 하나 이상의 주변 트랜지스터(574), 주변 트랜지스터(574)와 전기적으로 연결된 주변 회로 배선(572), 그리고 주변 회로 배선(572)과 주변 트랜지스터(574)를 덮는 하부 절연막(573)을 포함할 수 있다.
셀 영역(510)은 상부 기판(511), 상부 기판(511) 상에 배치된 셀 어레이(514), 그리고 셀 어레이(514)를 덮는 상부 절연막(513)을 포함할 수 있다. 셀 영역(510)은 셀 어레이(514)와 주변 회로 배선(572)을 전기적으로 연결하는 연결 회로 배선(512)을 더 포함할 수 있다. 셀 어레이(514)는 셀 어레이(514)를 연결 회로 배선(512)에 전기적으로 연결하는 금속 콘택(515)을 포함할 수 있다.
주변 영역(570)에 있어서, 하부 기판(571)은 가령 실리콘 웨이퍼와 같은 반도체 기판을 포함할 수 있다. 주변 회로 배선(572)은 일례로서 하부 기판(571) 상에 순차 적층된 하부 금속 배선(LM0), 중간 금속 배선(LM1), 그리고 상부 금속 배선(LM2)을 포함할 수 있다. 주변 회로 배선(572)은 주변 트랜지스터(574)를 하부 금속 배선(LM0)에 전기적으로 연결하는 하부 금속 콘택(LMC1), 하부 금속 배선(LM0)을 중간 금속 배선(LM1)에 전기적으로 연결하는 중간 금속 콘택(LMC2), 그리고 중간 금속 배선(LM1)을 상부 금속 배선(LM2)에 전기적으로 연결하는 상부 금속 콘택(LMC3)을 더 포함할 수 있다.
셀 영역(510)에 있어서, 셀 어레이(514)는 웰 구조를 갖는 상부 기판(511) 상에 복수의 셀이 수직 적층된 3차원 구조를 가질 수 있다. 금속 콘택(515)은 셀 어레이(514)의 복수의 셀과 상부 기판(511)을 연결 회로 배선(512)에 전기적으로 연결할 수 있다.
연결 회로 배선(512)은 주변 회로 배선(572)과 전기적으로 연결될 수 있다. 연결 회로 배선(512)은 셀 어레이(514) 상에 순차 적층된 하부 금속 배선(M0), 중간 금속 배선(M1), 그리고 상부 금속 배선(M2)을 포함할 수 있다. 연결 회로 배선(512)은 주변 회로 배선(572)을 연결 회로 배선(512)에 전기적으로 연결하는 연결 금속 콘택(MC0), 연결 금속 콘택(MC0)과 하부 금속 배선(M0)을 전기적으로 연결하는 하부 금속 콘택(MC1), 하부 금속 배선(M0)을 중간 금속 배선(M1)에 전기적으로 연결하는 중간 금속 콘택(MC2), 중간 금속 배선(M1)을 상부 금속 배선(M2)에 전기적으로 연결하는 상부 금속 콘택으로서 비아(VA)를 더 포함할 수 있다. 하부 금속 콘택(MC1)은 셀 어레이(514)를 중간 금속 배선(M0)에 연결할 수 있다. 중간 금속 배선(M1)은 셀 어레이(514)의 수직 채널과 전기적으로 연결된 비트 라인(BL)을 포함할 수 있다.
상술한 COP 구조의 불휘발성 메모리 장치(500)의 경우, 비트 라인(BL)에 연결되는 스위치 트랜지스터(SWT)와 감지 회로(Sensing Circuit)는 주변 영역(570)에 형성될 수 있다. 또는, 스위치 트랜지스터(SWT)의 경우 셀 영역(510)에 구비된 여분의 트랜지스터들을 조정하는 것으로 구현 가능하다.
이상에서와 같이 도면과 명세서에서 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허 청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허 청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (20)

  1. 비트 라인과 접지 선택 라인 사이에서 스트링 선택 트랜지스터와 복수의 불휘발성 메모리 셀들이 연결된 적어도 하나의 낸드 셀 스트링;
    입력 스파이크에 응답하여 상기 스트링 선택 트랜지스터를 턴온시키는 스트링 선택 신호를 생성하는 스트링 제어 회로;
    상기 입력 스파이크에 응답하여 상기 복수의 불휘발성 메모리 셀들 각각의 워드 라인을 선택하기 위한 워드 라인 선택 신호를 생성하는 워드 라인 디코더;
    상기 비트 라인에 연결되고, 상기 복수의 워드 라인들 각각에 대응하며, 대응하는 워드 라인이 선택되면 상기 비트 라인을 통해서 전달되는 전류에 따라 출력 스파이크를 생성하는 복수의 감지 회로들;
    스위치 선택 신호에 따라 상기 복수의 감지 회로들 중 어느 하나를 상기 비트 라인에 연결하는 복수의 스위치 트랜지스터들; 그리고
    상기 워드 라인 선택 신호에 동기하여 상기 스위치 선택 신호를 생성하는 스위치 디코더를 포함하는 스파이킹 신경망 장치.
  2. 제 1 항에 있어서,
    상기 스트링 제어 회로는 상기 입력 스파이크에 응답하여 상기 불휘발성 메모리 셀들을 읽기 위한 스트링 선택 시간 동안 상기 스트링 선택 신호를 활성화하는 스파이킹 신경망 장치.
  3. 제 2 항에 있어서,
    상기 적어도 하나의 낸드 셀 스트링은 제 1 낸드 셀 스트링과 제 2 낸드 셀 스트링을 포함하고,
    상기 스트링 제어 회로는 제 1 입력 스파이크에 응답하여 상기 제 1 낸드 셀 스트링의 제 1 스트링 선택 트랜지스터를 턴온시키고, 제 2 입력 스파이크에 응답하여 상기 제 2 낸드 셀 스트링의 제 2 스트링 선택 트랜지스터를 턴온시키는 스파이킹 신경망 장치.
  4. 제 3 항에 있어서,
    상기 워드 라인 디코더는 상기 제 1 스트링 선택 트랜지스터가 턴오프된 후에 상기 제 2 낸드 셀 스트링에서 비선택된 워드 라인들을 추가적으로 선택하도록 상기 워드 라인 선택 신호를 생성하는 스파이킹 신경망 장치.
  5. 제 1 항에 있어서,
    상기 비트 라인은 이븐 비트 라인과 오드 비트 라인을 포함하고, 상기 적어도 하나의 낸드 셀 스트링은 상기 이븐 비트 라인에 연결되는 이븐 낸드 셀 스트링 및 상기 오드 비트 라인에 연결되는 오드 낸드 셀 스트링을 포함하며,
    상기 이븐 및 오드 낸드 셀 스트링 각각은 상기 스트링 선택 신호에 응답하여 상기 이븐 비트 라인과 상기 오드 비트 라인에 연결되는 스파이킹 신경망 장치.
  6. 제 5 항에 있어서,
    상기 워드 라인 선택 신호가 활성화되면, 상기 이븐 낸드 셀 스트링에는 자극 전류가 생성되고, 상기 오드 낸드 셀 스트링에는 억제 전류가 생성되는 스파이킹 신경망 장치.
  7. 제 6 항에 있어서,
    상기 복수의 감지 회로들 중 어느 하나는:
    상기 자극 전류를 미러링하여 막전위 노드의 전압을 상승시키는 제 1 커런트 미러;
    상기 억제 전류를 미러링하여 상기 막전위 노드의 전압을 하강시키는 제 2 커런트 미러; 그리고
    상기 막전위 노드의 전압을 임계치와 비교하여 펄스를 생성하는 펄스 발생기를 포함하는 스파이킹 신경망 장치.
  8. 제 1 항에 있어서,
    상기 적어도 하나의 낸드 셀 스트링은 상기 불휘발성 메모리 셀들이 기판에 대해 수직으로 적층되는 V-NAND 구조로 형성되는 스파이킹 신경망 장치.
  9. 제 1 항에 있어서,
    스파이킹 신경망의 출력 노드 수를 줄이기 위해, 상기 복수의 불휘발성 메모리 셀들 중 일부는 더미 가중치가 저장되는 스파이킹 신경망 장치.
  10. 제 1 항에 있어서,
    스파이킹 신경망의 출력 노드 수를 증가시키기 위한 또 다른 비트 라인과 또 다른 감지 회로들을 더 포함하는 스파이킹 신경망 장치.
  11. 비트 라인;
    입력 스파이크에 응답하여 상기 비트 라인에 연결되는 낸드 셀 스트링;
    상기 낸드 셀 스트링의 메모리 셀들의 읽기 전류를 워드 라인 단위로 감지하여 출력 스파이크를 생성하는 복수의 감지 회로들; 그리고
    상기 낸드 셀 스트링의 워드 라인 선택에 동기하여 상기 비트 라인을 상기 복수의 감지 회로들 중 어느 하나에 연결하는 스위치 트랜지스터들을 포함하되,
    상기 낸드 셀 스트링의 메모리 셀들에는 스파이킹 신경망(SNN) 연산을 위한 가중치들이 프로그램되는 불휘발성 메모리 장치.
  12. 제 11 항에 있어서,
    상기 낸드 셀 스트링은 스트링 선택 트랜지스터 및 복수의 메모리 셀들을 포함하고,
    상기 스트링 선택 트랜지스터는 상기 복수의 메모리 셀들을 읽기 위한 스트링 선택 시간 동안 턴온되는 불휘발성 메모리 장치.
  13. 제 12 항에 있어서,
    상기 입력 스파이크의 펄스 폭을 연장하여 상기 스트링 선택 시간 동안 활성화되는 스트링 선택 신호를 생성하는 스트링 제어 회로를 더 포함하는 불휘발성 메모리 장치.
  14. 제 13 항에 있어서,
    상기 스트링 선택 시간 동안 상기 낸드 셀 스트링의 워드 라인들을 순차적으로 또는 랜덤하게 선택하는 워드 라인 디코더; 그리고
    상기 워드 라인 디코더에 동기하여 상기 스위치 트랜지스터들을 순차적으로 또는 랜덤하게 턴온시키는 스위치 디코더를 더 포함하는 불휘발성 메모리 장치.
  15. 제 11 항에 있어서,
    상기 비트 라인은 제 1 비트 라인과 제 2 비트 라인을 포함하고,
    상기 낸드 셀 스트링은 스트링 선택 라인 및 워드 라인들을 공유하는 제 1 낸드 셀 스트링 및 제 2 낸드 셀 스트링을 포함하며,
    상기 제 1 낸드 셀 스트링에는 자극 가중치가, 상기 제 2 낸드 셀 스트링에는 억제 가중치가 저장되는 불휘발성 메모리 장치.
  16. 제 15 항에 있어서,
    상기 복수의 감지 회로들은 상기 제 1 비트 라인을 통해 제공되는 자극 전류와 상기 제 2 비트 라인을 통해서 제공되는 억제 전류에 따라 상기 출력 스파이크를 생성하는 불휘발성 메모리 장치.
  17. 제 16 항에 있어서,
    상기 복수의 감지 회로들 각각은:
    상기 자극 전류에 따라 막전위 노드를 풀업하는 제 1 커런트 미러;
    상기 억제 전류에 따라 상기 막전위 노드를 풀다운하는 제 2 커런트 미러; 그리고
    상기 막전위 노드의 전압과 임계치를 비교하여 상기 출력 스파이크를 생성하는 펄스 생성기를 포함하는 불휘발성 메모리 장치.
  18. 복수의 낸드 셀 스트링들에 시냅스 가중치를 저장하는 스파이킹 신경망 장치의 동작 방법에 있어서:
    제 1 입력 스파이크를 검출하는 단계;
    상기 입력 스파이크에 응답하여 제 1 낸드 셀 스트링의 제 1 스트링 선택 트랜지스터를 스트링 선택 시간 동안 턴온시키는 단계;
    제 1 워드 라인을 선택하여 상기 제 1 낸드 셀 스트링의 셀 전류를 제 1 감지 회로를 통해서 감지하는 단계;
    제 2 입력 스파이크를 검출하는 단계;
    상기 제 2 입력 스파이크가 검출되면, 상기 입력 스파이크에 응답하여 제 2 낸드 셀 스트링의 제 2 스트링 선택 트랜지스터를 상기 스트링 선택 시간 동안 턴온시키는 단계; 그리고
    제 2 워드 라인을 선택하여 상기 제 1 낸드 셀 스트링 및 상기 제 2 낸드 셀 스트링의 결합 셀 전류를 제 2 감지 회로를 통해서 감지하는 단계를 포함하는 동작 방법.
  19. 제 18 항에 있어서,
    상기 제 2 입력 스파이크를 검출하는 단계에서 상기 제 2 입력 스파이크가 비검출되면, 상기 제 2 워드 라인의 선택시에 상기 제 1 낸드 셀 스트링의 셀 전류가 상기 제 2 감지 회로에 의해서 감지되는 동작 방법.
  20. 제 18 항에 있어서,
    상기 제 2 입력 스파이크를 검출하는 단계에서 상기 제 2 입력 스파이크가 검출되면, 상기 제 1 스트링 선택 트랜지스터가 턴오프된 후에 상기 제 1 워드 라인을 선택하는 단계를 더 포함하는 동작 방법.




KR1020220056055A 2022-01-06 2022-05-06 스파이킹 신경망 장치, 불휘발성 메모리 장치 및 그것의 동작 방법 KR20230106484A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/959,356 US20230215498A1 (en) 2022-01-06 2022-10-04 Spiking neural network device, nonvolatile memory device, and operation method thereof
EP22217004.5A EP4216218A1 (en) 2022-01-06 2022-12-28 Spiking neural network device, nonvolatile memory device, and operation method thereof
CN202211731680.5A CN116402098A (zh) 2022-01-06 2022-12-30 脉冲神经网络装置、非易失性存储器装置及其操作方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220002331 2022-01-06
KR20220002331 2022-01-06

Publications (1)

Publication Number Publication Date
KR20230106484A true KR20230106484A (ko) 2023-07-13

Family

ID=87160195

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220056055A KR20230106484A (ko) 2022-01-06 2022-05-06 스파이킹 신경망 장치, 불휘발성 메모리 장치 및 그것의 동작 방법

Country Status (1)

Country Link
KR (1) KR20230106484A (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210022982A (ko) 2019-08-21 2021-03-04 연세대학교 산학협력단 멀티 mac 동작을 수행하는 뉴로모픽 시스템 및 그 방법
US20210166108A1 (en) 2019-12-03 2021-06-03 Seoul National University R&Db Foundation Neural network with synapse string array
US11055603B2 (en) 2017-02-14 2021-07-06 Pusan National University Industry-University Cooperation Foundation Neuromorphic system and memory device having stacked synapse elements connected in parallel

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11055603B2 (en) 2017-02-14 2021-07-06 Pusan National University Industry-University Cooperation Foundation Neuromorphic system and memory device having stacked synapse elements connected in parallel
KR20210022982A (ko) 2019-08-21 2021-03-04 연세대학교 산학협력단 멀티 mac 동작을 수행하는 뉴로모픽 시스템 및 그 방법
US20210166108A1 (en) 2019-12-03 2021-06-03 Seoul National University R&Db Foundation Neural network with synapse string array

Similar Documents

Publication Publication Date Title
US11217302B2 (en) Three-dimensional neuromorphic device including switching element and resistive element
KR102099242B1 (ko) 재구성 가능한 뉴로모픽 시스템 및 이의 신경망 구성 방법
JP2019527449A (ja) 残留電子をパージするためのワード線減少スキーム
US10339989B2 (en) Page buffer, a memory device including the same and a read operation method thereof
US20190370639A1 (en) Multi-layer vector-matrix multiplication apparatus for a deep neural network
CN102314941A (zh) 非易失性存储器件、存储***和执行读操作的方法
CN111656371B (zh) 具有非易失性突触阵列的神经网络电路
CN101345085A (zh) 闪存设备以及擦除闪存设备的方法
KR102253836B1 (ko) 페이지 버퍼 및 이를 포함하는 비휘발성 메모리 장치
JP2013502023A (ja) メモリブロック・スイッチングを改善した半導体メモリ
JP2018513516A (ja) 不揮発性メモリのための多状態プログラミング
EP4216218A1 (en) Spiking neural network device, nonvolatile memory device, and operation method thereof
CN101026008A (zh) 页面缓冲器和用于在非易失性存储装置中驱动其的方法
TWI783538B (zh) 多階超低功率推理引擎加速器
KR20210151737A (ko) 신경망을 위한 시냅스 스트링 및 시냅스 스트링 어레이
KR20190075682A (ko) 3차원 크로스바 메모리 구조를 이용한 뉴로 모픽 소자
Choi et al. An in-flash binary neural network accelerator with SLC NAND flash array
CN112819134B (zh) 包括神经网络处理电路的存储器装置
CN114822643A (zh) 非易失性存储器装置及其操作方法和存储器***
US10249360B1 (en) Method and circuit for generating a reference voltage in neuromorphic system
KR20230106484A (ko) 스파이킹 신경망 장치, 불휘발성 메모리 장치 및 그것의 동작 방법
JP5925644B2 (ja) 半導体記憶装置
US11062773B2 (en) Near-memory computation system for analog computing
US11928579B2 (en) Synapse string array architectures for neural networks
JP7209068B1 (ja) 半導体記憶装置