KR20200076571A - 메모리내 승산 누적 연산들을 위한 nand 블록 아키텍처 - Google Patents

메모리내 승산 누적 연산들을 위한 nand 블록 아키텍처 Download PDF

Info

Publication number
KR20200076571A
KR20200076571A KR1020190093404A KR20190093404A KR20200076571A KR 20200076571 A KR20200076571 A KR 20200076571A KR 1020190093404 A KR1020190093404 A KR 1020190093404A KR 20190093404 A KR20190093404 A KR 20190093404A KR 20200076571 A KR20200076571 A KR 20200076571A
Authority
KR
South Korea
Prior art keywords
nand
block
bit lines
coupled
lines
Prior art date
Application number
KR1020190093404A
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 KR20200076571A publication Critical patent/KR20200076571A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • 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/10Programming or data input 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/24Bit-line control circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4818Threshold devices
    • G06F2207/4824Neural networks
    • 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/045Combinations of networks
    • 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/048Activation functions
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

메모리내 승산 누적 함수들을 위한 회로는 복수의 NAND 블록들을 포함한다. NAND 블록은 B 컬럼들 및 S 로우들 및 L 레벨의 메모리 셀들의 L 레벨들을 포함하는 NAND 스트링의 어레이를 포함한다. W 워드 라인들은 L 레벨들내의 개별 레벨들에서 (B*S) 메모리 셀들에 결합된다. 소스 라인은 블록 내의 (B*S) NAND 스트링들에 결합된다. 스트링 선택 라인 드라이버들은 다수의 스트링 선택 라인들 상의 NAND 스트링들을 대응하는 비트 라인들에 동시에 연결하는 전압들을 공급한다. 워드 라인 드라이버는 선택된 레벨의 워드 라인 또는 워드 라인들에 워드 라인 전압들을 인가하도록 결합된다. 복수의 비트 라인 드라이버들은 입력 데이터를 B 비트 라인들에 동시에 인가한다. 전류 센싱 회로는 소스 라인에 결합된다.

Description

메모리내 승산 누적 연산들을 위한 NAND 블록 아키텍처{NAND BLOCK ARCHITECTURE FOR IN-MEMORY MULTIPLY-AND-ACCUMULATE OPERATIONS}
우선권 출원
본 출원은 2018 년 12 월 18 일자로 출원된 미국 가특허 출원 번호 62/780,938 호의 이익을 주장하며; 또한 2019 년 1 월 11 일자로 출원된 미국 가특허 출원 번호 62/791,037 호의 이익을 주장하며; 이들 출원들은 본 출원에 참고로 통합된다.
기술 분야
본 발명은 곱의 합(sum-of-product) 연산을 수행하는데 사용될 수 있는 회로에 관한 것이다.
선형 대수학에 기초한 계산의 일부 유형에 사용되는 뉴로모픽(neuromorphic) 컴퓨팅 시스템, 기계 학습 시스템 및 회로부에서, 곱의 합 함수는 중요한 컴포넌트가 될 수 있다. 이 함수는 다음과 같이 표현될 수 있다 :
Figure pat00001
이 표현에서, 각 곱(product)의 항(term)은 변수 입력 Xi 와 가중치 Wi 의 곱이다. 가중치 Wi는 항들 사이에서 변할 수 있으며, 예를 들어 변수 입력 Xi의 계수에 대응한다.
곱의 합 함수는 어레이의 셀의 전기적 특성이 해당 함수를 수행하는 크로스 포인트 어레이 아키텍처(cross-point array architecture)를 사용하는 회로 연산으로 실현될 수 있다.
고속 구현의 경우, 많은 연산이 병렬로 실행될 수 있거나 매우 큰 곱의 합 시리즈가 수행될 수 있도록 매우 큰 어레이를 갖는 것이 바람직하다. 일부 시스템에서, 매우 많은 수의 입력 및 출력이 있을 수 있으므로, 총 전류 소모가 커질 수 있다.
또한, 인공 지능 AI 기능은 매우 고 밀도 메모리 및 고 대역폭 데이터 통신을 필요로 할 수 있는 멀티 비트 가중치(multi-bit weight)를 사용하여 승산 누적(multiply-and-accumulate) MAC 단계들(즉, 곱의 합)을 수반하는 큰 스케일 매트릭스 곱셈을 포함한다.
AI 하드웨어의 최근 발전은 고성능 및 저전력 해결책들에 관한 것이었다. 이러한 요구를 충족시키기 위해서, "메모리내 계산(in-memory computation)" 또는 "메모리내 프로세서(processor-in-memory)" 구현들이 제안되어 왔다. 이들 기술들은 데이터 이동 요건들을 줄여서 전력 및 레이턴시를 절감할 수 있다.
큰 어레이에서 구현하기에 적합하고, 가요적이고, 대용량이며, 에너지 효율적일 수 있는 곱의 합(sum-of-product) 연산을 위한 구조를 제공하는 것이 바람직하다.
대규모 곱의 합 연산들을 위한 승산 누적 기술이 복수의 NAND 블록을 이용하는 메모리내 계산에 기초하여 설명된다. 본 출원에 설명된 실시예에 사용된 NAND 블록들은 3D NAND 플래시 기술을 사용하여 구현될 수 있다.
복수의 NAND 블록 내의 NAND 블록에 결합된 비트 라인들의 멀티-멤버 세트(multi-member set)에 입력 신호를 인가하고, 비트 라인들의 세트내 개별 비트 라인들에 NAND 블록내 NAND 스트링들의 세트를 연결하고 그리고 NAND 스트링의 개별 세트들을 통해 비트 라인들의 세트로부터 소스 라인상의 전류의 합을 센싱하기 위한 수단이 설명된다. NAND 스트링들의 세트들의 컨덕턴스(또는 역수, 저항)는 NAND 스트링들 상의 메모리 셀들에 저장된 데이터에 의해 결정된다.
본 출원에 설명된 실시예에 대하여 상기 복수의 NAND 블록들내의 NAND 블록은 상기 NAND 블록에 대한 소스 라인 및 비트 라인들의 멀티-멤버 세트내 비트 라인들 사이에 배치된 NAND 스트링들을 포함한다. NAND 스트링은 NAND 스트링들을 대응하는 비트 라인들에 선택적으로 연결하기 위한 스트링 선택 스위치들을 갖는다. 상기 NAND 스트링들은 상기 스트링 선택 스위치들과 상기 NAND 스트링이 소스에 연결되는 접지 선택 스위치 사이에 직렬로 배열된 복수의 메모리 셀들을 포함한다. 워드 라인들은 상기 NAND 블록의 대응하는 워드 라인 레벨들의 메모리 셀들의 게이트들에 결합된다. 마찬가지로, 스트링 선택 라인들은 NAND 스트링들의 대응하는 로우들내 스트링 선택 스위치들의 게이트에 결합된다.
특정 NAND 블록에 대하여, 비트 라인들의 멀티-멤버 세트는 B 멤버들을 포함할 수 있고, NAND 블록은 적어도 S 멤버들을 갖는 스트링 선택 라인들의 세트를 포함할 수 있다. 이 구성에서, NAND 블록은 NAND 스트링들의 B 컬럼들과 S 로우들을 포함하는 B*S NAND 스트링들의 어레이를 포함한다. 스트링 선택 드라이버들의 세트는 NAND 블록의 컬럼 내의 S NAND 스트링(각각의 로우으로부터의 하나)을 비트 라인들 멀티-멤버 세트 내의 각각의 비트 라인에 결합하도록 계산 모드에서 동작 가능하다. 이 방식에서, 소스 라인상에 계산 모드 전류는 B 곱의 항들의 합이며, 각각의 곱의 항은 비트 라인들의 멀티-멤버 세트내의 비트 라인들 중 하나 상의 입력 신호 곱하기 비트 라인에 연결된 S NAND 스트링들의 컨덕턴스의 함수이다.
계산 모드 및 메모리 모드로 각각 동작 가능한 복수의 NAND 블록들을 포함하는 회로가 설명된다. 버스 시스템은 복수의 NAND 블록의 입력들 및 출력들에 연결되어서, 곱의 합연산에 대한 입력 데이터가 NAND 블록들에 인가될 수 있고, 곱의 합 연산에 대한 계수가 NAND 블록들에 저장될 수 있다.
계산 모드 및 메모리 모드에서 사용되는 입력 및 출력 회로들은 공유될 수 있으며, 일부 경우들에서 상이한 회로들이 상이한 모드에 대하여 사용될 수 있다. 주어진 NAND 블록의 계산 모드 입력은 주어진 NAND 블록의 비트 라인들에 병렬로 입력 데이터를 인가하는 비트 라인 드라이버 세트를 포함할 수 있다. 주어진 NAND 블록의 계산 모드 출력은 주어진 NAND 블록의 소스 라인 상의 출력 데이터를 센싱하기 위한 멀티 비트 감지 증폭기를 포함할 수 있다. 주어진 NAND 블록의 메모리 모드 입력은 계산 모드의 입력 드라이버를 포함할 수 있고, 또는 별개의 회로일 수 있는 페이지 버퍼 회로를 포함할 수 있다.
본 기술의 다른 양태에서, 승산 누적 가속기의 사용에 적절한 NAND 블록의 구조가 설명된다. 또한, 상기 기술의 다른 양태에서, 집적 회로는 복수의 승산 누적 타일들을 포함하고, 각각의 타일은 상술된 바와 같이 복수의 NAND 블록들을 포함한다.
메모리내 곱의 합의 계산을 위한 방법이 설명되고, 상기 방법은,
a) 비트 라인 BL(i)에 결합된 스트링 선택 라인들 SSL(i)상의 NAND 스트링들의 컬럼 C(i) 내의 NAND 블록의 레벨 L(k) 상의 셀들에 곱의 항 X(i)*W(i)에 대한 계수 데이터 w(i,j)를 저장하는 단계로서, i는 1에서부터 B까지 진행하고, j는 1에서부터 S까지 진행하고 그리고 k는 선택된 워드 라인 레벨과 동일한, 상기 저장하는 단계;
b) 비트 라인들 BL(1) 내지 BL(B)에 입력들 X(i)을, 스트링 선택 라인들 SSL(1) 내지 SSL(S)에 스트링 선택 전압들을 그리고 상기 선택된 워드 라인 레벨내의 셀들에 워드 라인 계산 전압을 인가하는 단계(센싱을 위해 상기 셀들에 바이어스하는 시간에 중첩하여 결합하거나 또는 동시에);
c) 상기 NAND 블록의 소스 라인상의 비트 라인들 BL(1) 내지 BL(B)에 결합된 NAND 스트링들의 컬럼들 C(1) 내지 C(B)를 통해 전류들을 결합하는 단계; 및
d) 곱의 합을 나타내는 출력 신호를 생성하기 위해 상기 소스 라인상의 전류의 크기를 센싱하는 단계를 포함한다.
본 출원에서 설명된 배열된 NAND 블록들의 어레이는 기계 학습 시스템들의 추론 모드 동작에 사용 가능한 것과 같은 고 스루풋 동작을 지원하는 파이프라인 방식으로 동작될 수 있다.
본 출원에 설명된 기술들을 적용한, 고밀도 및 에너지 효율적인 승산 누적 가속기가 제공된다. 실시예들은 와트 당 테라 동작 TOPS를 실행하도록 구성될 수 있다.
본 발명의 다른 양태들 및 장점들은 이하의 도면, 상세한 설명 및 청구 범위를 검토함으로써 알 수 있다.
도 1은 곱의 합 연산의 다이어그램이다.
도 2는 본 출원에 설명된 메모리 모드 및 계산 모드에 대해 구성 가능한 NAND 블록에 대한 회로도이다.
도 3은 도 2의 블록들과 같은 복수의 NAND 블록을 예시하는 회로도이다.
도 4는 본 출원에서 설명된 NAND 블록에서의 사용에 적절한 대안 NAND 스트링(string) 구현예를 예시한다.
도 5는 본 출원에서 설명된 NAND 블록의 간략화된 예시이다.
도 6은 메모리 모드 및 계산 모드를 갖는 복수의 NAND 블록을 포함하는 집적 회로를 예시한다.
도 7은 복수의 타일(tile)을 포함하는 대규모 집적 회로를 예시하며, 각각의 타일은 본 출원에서 설명된 NAND 블록 어레이를 포함한다.
도 8은 NAND 블록 어레이 MAC 가속기를 포함하는 집적 회로의 간략화된 블록도이다.
도 9는 본 출원에서 설명된 NAND 블록 어레이를 포함할 수 있는 곱의 합 가속기 어레이를 포함하는 시스템의 구성의 예시이다.
도 10은 본 출원에 설명된 NAND 블록 어레이를 포함할 수 있는 곱의 합 가속기 어레이를 포함하는 시스템의 대안 구성의 예시이다.
도 11은 본 출원에서 설명된 메모리내 승산 누적 연산들을 위한 방법의 흐름도이다.
이하의 설명은 전형적으로 특정 구조적 실시예 및 방법을 참조하여 이루어진다. 기술을 구체적으로 개시된 실시예들 및 방법들로 한정하려는 의도는 없지만, 이 기술은 다른 특징들, 요소들, 방법들 및 실시예들을 사용하여 실시될 수 있음을 이해해야 한다. 바람직한 실시예는 본 기술을 예시하기 위해 설명된 것이지, 청구 범위에 의해 정의되는 본 기술의 범위를 제한하는 것은 아니다. 당업자는 이하의 설명에 대한 여러 가지 동등한 변형들을 인식할 것이다.
본 출원에 사용되는, 용어 "결합된(coupled)"은 동작 가능하게 결합된 것을 의미한다. 이 의미로 결합된 항목은 반드시 직접 연결되는 것은 아니며, 결합된 항목 사이에 중간 항목이 있을 수 있다.
도 1은 곱의 합 연산의 다이어그램이고, 여기서, 합산 항들은 이 예에서, 입력 Xi와 가중치 Wi의 곱이고, 여기서, i는 1에서부터 7까지 진행한다. 가중치 Wi는 합산 항들에 대하여 상이할 수 있다. 연산시에, 가중치는 계수들의 세트로 할당될 수 있으며, 입력이 변경되면 변화하는 합산을 계산하기 위해 입력이 인가된다. 또한, 학습 절차를 실행하는 알고리즘에서, 학습 절차가 사용 가능한 결과를 달성하는 합산으로부터 학습하기 위해 계수를 변경함에 따라 때때로 가중치가 변경될 수 있다.
예시된 예제에서, 합산의 출력은 시그모이드(sigmoid) 함수에 적용되어 예컨대, 0과 1 사이의 최소와 최대 사이의 비선형 방식으로 범위를 갖는 출력을 생성한다. 예컨대, 로짓(logit) 함수 또는 정류기 함수(rectifier function)와 같은 다른 활성화 함수들이 또한 사용될 수 있다. 곱의 합 연산은 뉴로모픽이 아니거나 또는 그렇지 않으면, 신경 시스템을 모델링하는 것으로 간주되지 않는 구성에서도 적용될 수 있다.
컨벌루션 신경망(convolutional neural network) 및 다른 유형의 신경망을 포함하는 신경망은 종종 계층으로 구조화된 로직을 포함하는데, 여기서 각각의 계층은 어쩌면 활성화 기능의 대상인 이전 계층의 출력을 입력으로 수신할 수 있고, 또는 수백 도는 수천의 곱의 합 연산을 병렬로 수행할 수 있으며, 이의 출력은 후속 활성화 기능 또는 다른 로직 유닛에 인가된다.
도 2는 로우(row)들 및 컬럼(column)들로 배열된 수직 NAND 스트링들의 어레이를 포함하는 NAND 블록의 개략도이다. 이 설명의 목적을 위해 NAND 블록 내의 로우는 공통 스트링 선택 라인 및 공통 워드 라인을 갖는 NAND 스트링 세트이며, 각각이 공통 스트링 선택 라인에 응답하여 상이한 비트 라인에 결합되어, 그것들은 공통의 스트링 선택 라인 및 워드 라인을 따라 하나의 로우에 논리적으로 배치된다. 이 설명의 목적을 위한 NAND 블록 내의 컬럼은 공통 비트 라인을 갖는 NAND 스트링의 세트이며, 각각이 상이한 비트 라인에 결합되어 그것들은 공통 비트 라인을 따라 하나의 컬럼에 논리적으로 배치된다. 물리적 레이아웃에서, 컬럼 또는 로우는 트위스트 되거나 허니컴 패턴(honeycomb pattern)으로 배열되거나 적용된 제조 방법에 따라 고밀도를 위해 또는 다른 이유로 레이 아웃될 수 있다. 다이어그램에서, 어레이의 제 1 컬럼의 NAND 스트링(200) 및 NAND 스트링(201)은 블록에 대한 제 1 비트 라인 BL(1) 및 소스 라인 SL1에 결합된다. 또한, 어레이의 제 2 컬럼의 NAND 스트링(202) 및 NAND 스트링(203)은 블록에 대한 제 2 비트 라인 BL(2) 및 소스 라인 SL1에 결합된다. 예시된 예에서, 도면의 단순화를 위해 2 개의 비트 라인이 도시된다. 주어진 구현예에서 수십, 수백 또는 수천의 비트 라인을 포함하여 i가 1에서 부터 B로 진행하여 주어진 NAND 블록이 많은 비트 라인 BL(i)에, 그리고 NAND 스트링의 어레이내 NAND 스트링의 대응하는 컬럼의 수와 함께 결합될 수 있다는 것이 고려된다.
NAND 스트링들의 어레이 내의 NAND 스트링들의 각각은 대응하는 NAND 스트링을 그 비트 라인에 연결(connect)하고 연결해제(disconnect)하는데 사용되는 대응하는 스트링 선택 라인 SSL(1) 및 SSL(S)에 결합된 스트링 선택 스위치를 포함한다. 어레이의 제 1 로우에 NAND 스트링(200) 및 NAND 스트링(202)은 블록에 대한 제 1 스트링 선택 라인 SSL(1) 에 결합된다. 어레이의 NAND 스트링(201)과 NAND 스트링(203) 그리고 S 번째 로우가 S번째 스트링 선택 라인 SSL(S)에 결합된다. 예시된 예에서, 도면의 단순화를 위해 2 개의 스트링 선택 라인이 도시된다. 주어진 구현예에서 주어진 NAND 블록은 다수의 스트링 선택 라인에 그리고 NAND 스트링의 어레이 내의 NAND 스트링의 대응하는 로우의 수와 함께 결합될 수 있다는 것이 고려된다.
NAND 스트링의 어레이 내의 NAND 스트링의 각각은 NAND 스트링들의 어레이 내의 대응하는 NAND 스트링을 블록에 대한 소스 라인 SL1에 연결하는데 사용되는, 블록에 대한 접지 선택 라인 GSL1에 결합된 접지 선택 스위치(ground select switch)를 포함한다. 일부 실시예에서, NAND 스트링에 대응하는 접지 선택 스위치는 본 출원에 설명된 메모리 모드와 연산 모드를 지원하는 적절한 디코딩 회로부와 별개의 접지 선택 라인에 의해 제어될 수 있다.
NAND 스트링의 어레이 내의 NAND 스트링의 각각은 대응하는 워드 라인에 결합된 스트링 선택 스위치와 접지 선택 스위치 사이에 직렬로 배열된 복수의 메모리 셀을 포함한다. 이 예에서, 주어진 레벨의 NAND 블록 내의 모든 워드 라인은 단일 워드 라인 도전체에 공통으로 결합되거나, 또는 단일 워드 라인 디코더에 의해 공통으로 제어되는 별개의 워드 라인 도전체에 결합되어, NAND 블록의 주어진 레벨의 메모리 셀들의 모든 또는 선택된 복수의 로우는 동일한 워드 라인 신호를 수신할 수 있다. 이 예에서, NAND 블록의 NAND 스트링은 32 개의 워드 라인 WL0-WL31에 결합된 32 레벨의 메모리 셀을 포함하는 수직 NAND 스트링이다.
메모리 동작 모드에서, 데이터는 블록의 복수의 비트 라인에 결합된 페이지 버퍼(미도시)에 의해 지원되는 프로그램 및 소거 동작을 사용하여 개별 메모리 셀에 기록될 수 있다. 메모리 모드 동작에서, 전형적으로, NAND 스트링들의 어레이 내의 NAND 스트링들의 로우들 중 하나는 선택된 스트링 선택 라인을 사용하여 선택된다. 이 경우에, NAND 스트링 들의 어레이의 각각의 컬럼 내의 NAND 스트링 들 중 하나는 비트 라인들 중 하나에 결합된다. 페이지 버퍼(page buffer)는 NAND 블록의 각각의 레벨에서 병렬로 복수의 비트 라인에 결합된 NAND 스트링의 어레이의 선택된 로우에서 개별 NAND 스트링으로 데이터 패턴을 프로그래밍하는데 이용될 수 있다. 또한, 메모리 모드의 페이지 버퍼는 NAND 블록의 각각의 레벨에서 NAND 스트링들의 어레이의 선택된 로우 내의 메모리 셀들에 저장된 데이터를 판독하는데 이용될 수 있다.
메모리 모드에서, 곱의 합 연산의 계수는 NAND 블록에 저장될 수 있다. 셀 당 단일 비트(single-bit-per-cell) 기술, 또는 셀 당 다수 비트(multiple-bit-per-cell) 기술을 이용하여 NAND 블록의 NAND 셀들이 구현될 수 있다. 일부 실시예에서 셀 당 단일 비트 기술은 후술하는 바와 같이 복수의 NAND 스트링에 걸쳐 분산된 방식으로 저장될 때 선호될 수 있다. 다른 실시예에서, 셀 당 다수 비트 기술은 NAND 블록으로의 계수의 프로그래밍에 보다 큰 정밀도를 제공하는데 사용될 수 있다.
도 1의 예시와 관련하여, 입력 신호 X1 및 X2는 비트 라인 BL(1) 및 BL(2)에 인가된 전압 VBL(1), VBL2에 의해 표현될 수 있다. 계수 W1는 제 1 비트 라인 BL(1)에 결합된 스트링 선택 스위치에 대한 대응하는 스트링 선택 라인에 의해 선택된 하나 이상의 선택된 NAND 스트링의 전도도(conductivity)에 의해 표현될 수 있다. 계수 W2는 제 2 비트 라인 BL(2)에 결합된 스트링 선택 스위치에 대한 대응하는 스트링 선택 라인에 의해 선택된 하나 이상의 선택된 NAND 스트링의 전도도에 의해 표현될 수 있다.
선택된 NAND 스트링의 전도도는 NAND 블록의 선택된 레벨에서 메모리 셀에 저장된 데이터에 의해 결정된다. 예시에서, 워드 라인 WL1의 레벨에서 NAND 스트링들이 선택된다. 따라서, 예시된 바와 같이, 곱의 항 W1*X1의 제 1 계수 W1은 모든 S 의 스트링 선택 라인이 그것들의 대응하는 NAND 스트링을 제 1 비트 라인 BL(1)에 연결하도록 구동되는 경우에 계수 값 w(1-1):w(1-S)의 조합에 대응한다. 곱의 항 W2*X2의 제 2 계수 W2는 모든 S 의 스트링 선택 라인이 그것들의 대응하는 NAND 스트링을 제 2 비트 라인 BL(2)에 연결하도록 구동되는 경우에 계수 값 w(2-1):w(2-S)의 조합에 대응한다.
본 출원에서 설명된 계산 모드에서, NAND 블록의 곱의 합 연산의 결과로서 생성된 신호 OUTPUT(Y1)은 블록에 대한 소스 라인 SL1 상에 제공된다. NAND 스트링의 어레이 내 N 개의 스트링 선택 라인 및 N 개의 로우의 NAND 스트링과 함께 NAND 스트링의 어레이에서 2 개의 비트 라인 및 2 개의 컬럼의 NAND 스트링을 포함하는 도 2에 예시된 예에서, 출력 OUTPUT Y1은 NAND 블록 내의 NAND 스트링내 곱의 합 전류에 대응하는 전류 경로(290)에 의해 축적된 전류이다.
예시된 바와 같이, 전류 경로(290)는 소스 라인 SL1으로의 NAND 스트링(200)을 통한 비트 라인 BL(1)상의 전류, 더하기 소스 라인 SL1으로의 NAND 스트링(201)을 통한 비트 라인 BL(1)상의 전류, 더하기 소스 라인 SL1으로의 NAND 스트링(202)을 통한 비트 라인 BL2 상의 전류, 더하기 소스 라인 SL1으로의 NAND 스트링(203)을 통한 비트 라인 BL2상의 전류를 포함한다.
경로(290)로부터 축적된 이 전류는 곱의 합 항들, W1*X1 및 W2*X2에 대응한다. 계수 W1은 워드 라인 WL1 및 비트 라인 BL(1)에 결합된 메모리 셀들의 컬럼에서의 데이터 값 w(1-1):w(1-S)의 함수이며, 계수 W2는 워드 라인 WL2 및 비트 라인 BL(2))에 결합된 메모리 셀들의 컬럼에서의 데이터 값 w(2-1):w(2-S)의 함수이다. 곱의 항의 계수를 표현하기 위해 주어진 비트 라인에 결합된 메모리 셀의 각각의 컬럼에 S 메모리 셀을 사용하는 것은 계수를 표현하기 위해 고 정밀 데이터(예를 들어, 다수의 유효 자리수를 갖는)의 사용을 가능하게 한다. 계산 모드 동작 동안 동시에 스트링 선택 라인들에 의해 선택된 로우들의 수를 제어하고, 그렇게 함으로써 계수를 표현하기 위해 사용되는 메모리 셀들의 수를 제어함으로써, 계수의 정밀도는 특정 구현예의 필요에 따라 변화될 수 있다. 따라서, 스트링 선택 라인의 수 S를 포함하는 블록에 대하여, 입력 데이터 값이 단일 비트 라인상의 전압에 의해 표현되는 경우, 단일 계수는 1 내지 S까지의 범위에 이르는 많은 메모리 셀에 저장된 데이터에 의해 표현될 수 있다.
계산 모드 동작 동안, 본 출원에 설명된 NAND 블록 내의 단일 NAND 스트링에서 생성된 전류는 비교적 작을 수 있다. 따라서, NAND 블록의 NAND 스트링의 어레이 내의 모든 NAND 스트링으로부터의 전류의 조합은 블록에 대한 소스 라인 SL1에 결합된 전류 센싱 감지 증폭기를 사용하여 효율적으로 센싱된 전류 값의 범위 내에 남아 있을 수 있다.
본 출원에서 설명된 NAND 블록은 3D NAND 메모리 기술을 사용하여 구현될 수 있다. 수직 NAND 스트링을 포함하는 NAND 블록의 당업계에 공지된 여러 가지 대안들 중 일부 예가 2017 년 7 월 4 일에 발행된 Lue에 의한 VERTICAL THIN CHANNEL MEMORY라는 제목의 U. S. 특허 번호 9,698,156; 2016 년 12 월 20 에 발행된 Lue에 의한 U-SHAPED VERTICAL THIN CHANNEL MEMORY라는 제목의 U. S. 특허 번호 9,524,980에 설명되고; 이들 특허들은 본 출원에서 완벽하게 개시된 것처럼 참고로 통합된다. NAND 블록이 복수의 2D NAND 어레이에 걸쳐 논리적으로 정의되는 2D NAND 기술을 사용하여 구현예들이 이루어질 수도 있다.
도 3은 신경망들에 사용 가능한 대규모 곱의 합 계산 용도용 곱의 합 가속기로서 도 1의 것과 같은 복수의 NAND 블록들을 포함하는 회로가 NAND 블록의 단일 어레이로 상호 연결될 수 있는 일례를 예시하는 개략도이다. 도 3에서, 블록 1은 도 2와 관련하여 전술한 방식으로 구현된다. 마찬가지로, 블록 2는 동일한 방식으로 구현된다. 블록은 비트 라인을 공유한다. 따라서, 비트 라인 BL(1)은 블록 1의 NAND 스트링들의 어레이 내의 NAND 스트링들의 제 1 컬럼에 결합되고, 블록 2의 NAND 스트링들의 어레이 내의 NAND 스트링들의 제 1 컬럼에 결합된다. 마찬가지로, 비트 라인 BL(2)은 블록 1의 NAND 스트링들의 어레이 내의 NAND 스트링들의 제 2 컬럼에 결합되고, 블록 2의 NAND 스트링들의 어레이 내의 NAND 스트링들의 제 2 컬럼에 결합된다. NAND 블록은 곱의 합 계산을 위해 순차적으로 동작될 수 있다. 따라서, 비트 라인 BL(1) 및 BL(2)상의 입력 X1 및 X2는 스트링 선택 라인 및 접지 선택 라인에 의해 인에이블(enable)된 블록 1을 이용하여 곱의 합 연산을 위해 사용될 수 있다. 이어서, 비트 라인 BL(1) 및 BL(2)상의 입력 X1 및 X2는 블록 2를 이용하여 곱의 합 연산을 위해 사용될 수 있다. 워드 라인은 각 블록에 대해 개별적으로 동작 및 디코딩될 수 있다.
예시된 예에서, 블록 1에 저장된 계수 W1은 블록의 선택된 레벨에서 NAND 스트링들의 컬럼 내의 메모리 셀들에 저장된 데이터 값들에 의해 표현된다. 따라서, 블록 1에서, 워드 라인 WL1의 레벨에서 선택된 레벨에 대해, 블록 1, 비트 라인 BL(1) 및 스트링 선택 라인 SSL(1):SSL(N)의 계수 W1은 데이터 값 w(1-1,1):w(1-N, 1)의 조합에 대응한다. 마찬가지로, 워드 라인 WL1의 레벨에서 선택된 레벨에 대해, 블록 1, 비트 라인 BL(2) 및 스트링 선택 라인 SSL(1):SSL(N)의 계수 W2는 데이터 값 w(2-1,1):w(2-N, 1)의 조합에 대응한다. 블록 2에서, 워드 라인 WL1의 레벨에서 선택된 레벨에 대해, 블록 2, 비트 라인 BL(1) 및 스트링 선택 라인 SSL(1):SSL(N)의 계수 W1은 데이터 값 w(1-1,2):w(1-N, 2)의 조합에 대응한다. 마찬가지로, 워드 라인 WL1의 레벨에서 선택된 레벨에 대해, 블록 2, 비트 라인 BL(2) 및 스트링 선택 라인 SSL(1):SSL(N)의 계수 W2는 데이터 값 w(2-1,2):w(2-N, 2)의 조합에 대응한다.
도 3에 예시된 NAND 블록의 패턴은 NAND 블록의 임의의 실제 수에 대한 비트 라인을 따라, 그리고 NAND 블록의 임의의 실제 수에 대한 워드 라인을 따라 반복될 수 있다. 이러한 방식으로, 다수의 NAND 블록을 포함하는 회로가 곱의 합 연산의 대규모 계산을 위해 구현될 수 있다.
도 4는 본 출원에서 설명된 NAND 블록에서 이용될 수 있는 대안 NAND 스트링 구성을 예시한다. 도 2 및 도 3에서, NAND 스트링은 스트링 선택 게이트가 NAND 스트링의 최상부(top)에 비트 라인에 결합되고, 접지 선택 게이트가 NAND 스트링의 바닥(bottom)에 소스 라인에 결합된 직선(straight) NAND 스트링이다. 도 4에 도시된 대안에서, U자-형상(U-shaped) NAND 스트링이 도시된다. U자-형상 NAND 스트링을 사용하여, 소스 라인 및 비트 라인은 NAND 스트링의 3D 블록 위에 라우팅될 수 있다. 따라서, 도 4에 도시된 바와 같이, 비트 라인(401)은 스트링 선택 스위치(405)에 의해 U자-형상 NAND 스트링의 제 1 측면에 결합된다. U자-형상 NAND 스트링의 제 1 측면의 바닥에 보조 게이트(403)는 U자-형상 NAND 스트링의 제 2 측면에 결합된다. U자-형상 NAND 스트링의 제 2 측면의 최상부에서, 접지 선택 스위치(406)는 NAND 스트링을 소스 라인(402)에 연결한다. 비트 라인 및 소스 라인은 집적 회로상의 패터닝된 금속의 상이한 계층들로 라우팅될 수 있다.
도 5는 본 출원에 설명된 바와 같이 구성된 NAND 블록의 개념적인 예시이다. 도 1에 도시된 것과 같은 복수의 수직 NAND 스트링을 포함하는 NAND 블록(1)이 도시된다. 메모리 셀의 레벨에서의 NAND 블록의 깊이는 워드 라인 레벨들 WL(1:L)의 수 L에 대응한다. NAND 블록 내의 NAND 스트링의 컬럼의 수는 비트 라인들 BL(1:B)의 수 B에 대응한다. NAND 블록의 NAND 스트링의 로우의 수는 스트링 선택 라인들 SSL(1:S)의 수 S에 대응한다.
페이지 버퍼 및 입력 드라이버(510)는 복수의 비트 라인들 BL(1:B)에 결합된다. 페이지 버퍼는 복수의 비트 라인들의 비트 라인들에 결합된 비트 라인 드라이버와, 복수의 비트 라인들의 비트 라인들에 결합된 감지 증폭기를 포함한다. 페이지 버퍼/입력 드라이버(510)는 블록에 계수를 기록하는데 사용되는 데이터를 유지하기 위해 메모리 모드에서 사용된다. 메모리 모드에서, 페이지 버퍼는 예를 들어, NAND 플래시 어레이에서 프로그램 및 소거 동작 동안 비트 라인 전압을 인가하는 목적으로 이용된다. 계산 모드에서, 입력 드라이버는 곱의 합 연산의 입력 데이터에 대응하는 비트 라인 전압을 인가하는데 사용된다. 일부 실시예들에서, 페이지 버퍼는 입력 데이터 값의 데이터 패턴을 정의하는 수단으로서 계산 모드에서 이용될 수 있다. 다른 실시예에서, 입력 데이터 값은 대안 메모리 경로 및 디코더를 이용하여 입력 드라이버들에 인가될 수 있다. 마찬가지로, 계산 모드에서 사용되는 입력 드라이버는 일부 실시예에서 메모리 모드에서 사용되는 페이지 버퍼의 비트 라인 드라이버에 포함될 수 있다. 다른 실시예에서, 메모리 모드용 비트 라인 드라이버는 계산 모드용 입력 드라이버와 상이하다.
워드 라인 및 스트링 선택 라인/접지 선택 라인 디코더(512)는 복수의 워드 라인 및 NAND 블록의 복수의 스트링 선택 라인들 및 접지 선택 라인들에 결합된다. 디코더(512)는 대응하는 비트 라인에 NAND 스트링 연결을 위해 복수의 스트링 선택 라인 중 하나 또는 하나 초과의 선택 라인을 선택하도록 동작 가능하다. 또한, 디코더(512)는 블록의 특정 레벨에서, 선택된 워드 라인 WL(SEL)를 구동시킴으로써, 메모리 셀의 레벨을 선택하도록 동작 가능하다. 메모리 모드에서, 디코더(512)는 전형적으로 페이지 판독 또는 페이지 기입 동작을 위해 하나의 스트링 선택 라인 및 하나의 워드 라인을 선택한다. 계산 모드에서, 디코더(512)는 모든 스트링 선택 라인을 포함하여 복수의 스트링 선택 라인 및 곱의 합 연산을 위한 하나의 워드 라인을 선택하여 어레이 내의 선택된 NAND 스트링의 컨덕턴스의 합에 대응하는 소스 라인(515)상에 전류를 생성한다.
소스 라인(515)은 디지털 출력값 Y1의 소스 라인(515)상에 전류를 변환하는 감지 증폭기(514)에 결합된다. 감지 증폭기(514)는 메모리 모드 동안 디스에이블(disable)될 수 있다. 페이지 버퍼/입력 드라이버(510) 및 감지 증폭기(514)는 대규모 곱의 합을 위해 NAND 블록들 간의 입력 및 출력 데이터를 라우팅하기 위한 데이터 버스 시스템(520)에 결합될 수 있다. 시퀀싱 제어기(sequencing controller)(미도시)는 메모리 모드 동작 및 계산 모드의 동작을 위해 디코더(512), 페이지 버퍼/입력 드라이버(510) 및 감지 증폭기(514)의 동작을 조정하기 위해 사용될 수 있다.
이들 요소(510, 512, 및 514) 및 본 출원에 설명된 다양한 실시예는, 복수의 NAND 블록 내의 NAND 블록에 결합된 복수의 비트 라인들내의 비트 라인들의 멀티-멤버 세트(multi-member set)에 입력 신호를 인가하고, 비트 라인들의 세트내 개별 비트 라인들에 NAND 블록내 NAND 스트링들의 세트를 연결하고 그리고 NAND 스트링의 개별 세트를 통해 비트 라인들의 세트로부터 전류의 합을 센싱하기 위한 수단을 포함한다.
도 5는 단일 NAND 블록을 예시한다. 도 6은 NAND 블록의 어레이(600)를 포함하는 회로 타일(circuit tile)(650)의 블록도이다. 이 예에서, NAND 블록의 어레이(600)는 8x8 어레이의 64개의 블록을 포함한다. 워드 라인 및 스트링 선택 라인 디코더들(612)이 타일 내에 배치된다. 개별 블록에 대한 워드 라인 디코더 및 워드 라인은 독립적으로 제어될 수 있다. 또한, 개별 블록에 대한 스트링 선택 디코더 및 스트링 선택 라인은 개별 회로로 구현될 수 있고, 독립적으로 제어될 수 있다.
일부 실시예에서, 워드 라인 디코더 및 워드 라인들 및 스트링 선택 라인 디코더 및 스트링 선택 라인들이 수평 레인(lane)에 배열되어 수평 레인내 NAND 블록들의 일부 또는 전부는 동일 워드 라인 도전체 및 워드 라인 디코더, 및 동일한 스트링 선택 라인 및 스트링 선택 라인 디코더를 공유할 수 있다. 이 8×8 어레이에서, 예를 들어 NAND 블록들의 8 개의 수평 레인들이 있을 수 있다.
타일의 비트 라인들은 대규모 NAND 메모리 디바이스에서 사용되는 것과 같은 회로 세트에 결합된다. 회로들의 세트는 비트 라인 상에 프로그램 및 소거 동작을 지원하기 위해 비트 라인에 결합된 고전압 스위치(622)를 포함한다. 또한, 회로들의 세트는 곱의 합 연산의 입력 값에 대응하는 비트 라인 전압들을 포함하여 비트 라인에 전압을 인가하도록 배열된 계산 모드 동안 로직 입력을 위한 비트 라인 입력 드라이버(621)를 포함한다. 회로들의 세트는 프로그램 검증 동작들 동안 데이터를 저장하는데 사용되고, 메모리 어레이로부터의 데이터의 전송을 위한 판독 동작에 사용되는 프로그램 동작에 대한 데이터 세트를 정의하는데 사용되는 페이지 버퍼(620)를 또한 포함한다. 또한, 페이지 버퍼(620)이 주어진 곱의 합 연산의 복수의 비트 라인상에서의 계산 모드 동안에 인가될 전압 레벨을 선택하는 데에 로직 경로의 일부로서 이용될 수 있다.
페이지 버퍼(620), 비트 라인 입력 드라이버(621), 고전압 스위치(622)는 복수의 수직 레인들로 배열되어 수직 레인내 NAND 블록의 전부가 동일한 비트 라인 및 관련 회로부를 공유할 수 있다. 일 예시 구현예에서, NAND 블록의 어레이(600)은 이 예에서 여덟 개 NAND 블록의 컬럼에 결합된 비트 라인의 여덟 개 1K 레인으로 구성된 8K 비트 라인을 포함할 수 있다.
감지 증폭기(614)는 NAND 블록의 어레이(600)에 결합된다. 예를 들어, 64 개의 전류 센싱 감지 증폭기들이 있을 수 있고, 각각은 어레이(600)의 복수의 NAND 블록내 64 개 NAND 블록들 중 하나에 결합될 수 있다. 다른 실시예에서, 감지 증폭기들의 세트(614)는 어레이(600)의 각각의 수평 레인에 대하여 하나의 감지 증폭기를 포함할 수 있다. 다른 실시예들에서, 감지 증폭기들의 세트(614)은 각각의 수직 레인에 대하여 하나의 감지 증폭기를 포함할 수 있다.
도 6에 예시된 바와 같이, 디지털 입력/출력 데이터를 운반하는 데이터 경로들(X 디지털 IO)은 페이지 버퍼(620) 및 비트 라인 입력 드라이버(621)에 결합되고, 및 타일이 구현되는 집적 회로상의 데이터 버스 시스템 또는 입력/출력 IO 회로부에 연결될 수 있다. 마찬가지로, 감지 증폭기로부터(614)로부터 디지털 출력들(Y n-비트 출력)을 운반하는 데이터 경로는 타일이 구현되는 집적 회로상의 데이터 버스 시스템 또는 I/O 회로부에 연결될 수 있다.
도 7은 도 6에 도시된 것과 같은 복수의 타일을 포함하는 실시예를 도시한다. 따라서, 3×3 격자로 배열된 타일 TILE1 내지 TILE9를 포함하는 집적 회로(700)이 예시된다. 집적 회로(700)상의 타일간(inter-tile) 버스 시스템(750)은 복수의 승산 누적 가속기(multiply-and-accumulate accelerator) 타일상의 데이터 경로에 결합된다. 시퀀싱 제어기(703)는 복수의 타일 간의 데이터 흐름을 제어하고, 예를 들어, 버스 시스템(750)에 의해 전달된 메모리 모드 동작 및 전달된 계산 모드 동작에 대한 명령 시퀀스를 사용하여 타일의 동작을 구성하기 위해 버스 시스템(750)을 통해 타일 격자에 결합된다. 입력/출력 인터페이스(705)는 예를 들어 대용량 DDR DRAM 인터페이스, 대용량 직렬 인터페이스, 대용량 PCIe 인터페이스 및 대용량의 데이터를 격자 안팎으로 이동시키기 위한 다른 산업 표준 또는 맞춤형 인터페이스를 포함하는 복수의 입력 인터페이스(710)를 포함할 수 있는 시퀀싱 제어기(703)에 결합된다.
도 8은 예컨대, 도 6 및 도 9에 예시된 것과 같은 다양한 실시예들에서 예를 들어 도 2에 도시된 플래시 메모리 셀들의 NAND 블록 어레이(860)를 포함하는 MAC 가속기 메모리 어레이를 포함하는 집적 회로 디바이스(800)의 다른 실시 예의 간략화된 칩 블록도이다. 이 예에서 디바이스(800)는 상기에서 논의된 바와 같이 메모리 모드에서 예를 들어, 메모리 동작을 위한 또는 계산 모드에서 곱의 합 연산들 위한 상태 머신들을 포함하는 제어기(810)을 포함한다. 또한, 이 예에서 제어기(810)는 디바이스의 내부 및 외부로의 데이터 흐름 동작 및 NAND 블록 어레이(860)를 수반하는 대규모 AI 기능의 디바이스(800)의 사용을 제어하기 위한 시퀀서를 포함한다.
집적 회로 디바이스(800)는 어레이(860)의 대응하는 NAND 블록에 결합된 소스 라인들(855)의 세트, 및 어레이(860)의 대응한 NAND 블록에 결합된 비트 라인들(865)의 세트를 포함한다.
워드 라인들의 세트는 NAND 블록의 대응하는 레벨에서 메모리 셀들의 게이트에 결합되고, 워드 라인의 세트 내의 워드 라인상의 신호는 메모리 셀의 개별 레벨들을 선택한다. 워드 라인 드라이버(840)는 워드 라인의 세트(845)에 결합된다.
센싱 회로의 세트(850)는 소스 라인 세트내 개별 소스 라인에 결합된다. 어레이를 사용하는 곱의 합 연산에 대하여, 소스 라인 센싱 회로(850)는 메모리 어레이(860)로부터의 소스 라인(855)에서의 전류를 센싱할 수 있다. 소스 라인들의 세트내 특정 소스 라인에서 센싱된 전류는 상기에서 논의된 바와 같이 곱의 합을 나타낼 수 있다. 소스 라인 센싱 회로들(850)로부터 센싱된 데이터는 데이터 라인들(853)을 통해 입력/출력 회로들(891)에 공급된다.
회로들내의 비트 라인 드라이버들(870)은 페이지 버퍼(875), 및 비트 라인들(865)에 결합된다. 어레이를 이용하는 곱의 합 연산들에 대하여, 회로내 비트 라인 드라이버들(870)은 각각의 선택된 비트 라인에 대하여 입력 x(m)을 생성할 수 있다.
어드레스들이 제어 로직(제어기)(810)로부터 페이지 버퍼(875), 회로들내의 비트 라인 드라이버들(870) 및 워드 라인 드라이버들(840)로 버스(830)상에 공급된다. 페이지 버퍼(875), 회로들내의 비트 라인 드라이버들(870) 및 소스 라인 감지 회로들(850)은 라인들(853, 885)에 의해 입력/ 출력 회로들(891)에 결합된다.
입력/출력 회로들(891)은 집적 회로 디바이스(800) 외부의 목적지로 데이터를 드라이브한다. 입력/출력 데이터 및 제어 신호들은 입력/출력 회로들(891), 제어 로직(810) 과 집적 회로 디바이스(800)상의 입력/출력 포트 또는 예컨대, 메모리 어레이(860)에 의해 지원되는 시스템-온-칩(system-on-a-chip) 기능을 제공하는 범용 프로세서 또는 특정 용도 애플리케이션 회로부 또는 모듈들의 조합과 같은 집적 회로 디바이스(800)의 내부 또는 외부의 다른 데이터 소스 사이의 데이터 버스(805)를 통해 이동된다.
도 8에 도시된 예에서, 바이어스 배열 상태 머신을 사용하는 제어 로직(810)은 계산 모드에 곱의 합 연산들을 위해 그리고 메모리 모드에서의 판독 및 기록(프로그램 및 소거) 동작을 위해 블록(820)에서 전압 공급 또는 공급들을 통해 생성되거나 제공된 서플라이 전압의 인가를 제어한다.
제어 로직(810)은 당해 분야에 공지된 특정 용도의 로직 회로부를 이용하여 구현될 수 있다. 대안 실시예에서, 제어 로직은 디바이스의 동작을 제어하기 위해 컴퓨터 프로그램을 실행하는 동일한 집적 회로 상에 구현될 수 있는 범용 프로세서를 포함한다. 또 다른 실시예에서, 특정 용도 로직 회로부 및 범용 프로세서의 조합이 제어 로직의 구현예를 위해 이용될 수 있다.
제어 로직(810)은 또한 디바이스의 계산 모드에서 파이프라인 동작을 지원하는 회로를 구현할 수 있다. 예를 들어, 이하의 표는 블록의 출력을 수신하고 출력에 연산되는 로직에 의해 지원되는 SRAM을 갖는 3 개의 블록에 대한 파이프라인 동작을 도시한다.
Figure pat00002
도 9는 외부 버스 시스템(910)에 라인들(911)에 의해 데이터 경로 제어기(903)를 이용하여 상호 연결된 곱의 합 가속기 어레이(901)(또는 MAC 가속기)를 포함하는 제 1 집적 회로(900)를 포함하는 시스템의 구성을 도시한다. 곱의 합 가속기 어레이(901)는 상술된 바와 같이 NAND 블록들의 어레이 또는 NAND 블록들의 어레이들의 타일들의 어레이를 이용하여 구현될 수 있다. 제 2 집적 회로(950)는 제어기로서 동작하며, 곱의 합 가속기 어레이(901)와 협력하여 사용하기 위한 버퍼(905) 및 지원 로직(906)을 포함한다. 제 2 집적 회로(950)는 라인들(912)에 의해 버스 시스템(910)에 결합된다. 제 2 집적 회로(950)의 버퍼(905)는 SRAM 어레이, DRAM 어레이, NOR 플래시 어레이, 또는 곱의 합 가속기 어레이(901)와 협력하여 사용될 수 있는 다른 유형의 메모리를 포함할 수 있다. 로직(906)은 신경망의 동작을 관리하기 위한 시퀀싱 로직을 포함할 수 있다. 로직(906)은 또한 활성화 기능 로직 및 디바이스의 계산 모드를 지원하는 다른 로직을 포함할 수 있다. 또한, 로직(906)은 디지털 곱의 합 연산 및 대규모 신경망을 지원하는 다른 동작을 형성하는 대형 프로세서를 포함할 수 있다.
제 1 집적 회로(900) 및 제 2 집적 회로(950)는 일부 실시예들에서, 멀티칩 모듈 또는 다른 콤팩트한 구성으로 적층된 칩 구성으로 장착될 수 있고, 여기서 버스 시스템(910, 911, 912)의 상호연결 라인은 예를 들어 실리콘 비아, 볼 그리드 연결 등을 포함하는 칩간 연결(inter-chip connection)을 포함한다.
도 10은 단일 집적 회로(1000)상에 제어기와 함께 곱의 합 가속기 어레이(1001)를 포함하는 대안 실시예를 예시한다. 이 예에서, 데이터 경로 제어기(1003)는 곱의 합 가속기 어레이(1001)와 함께 집적 회로상에 구현된다. 데이터 경로(1005)는 데이터 경로 제어기를 동일한 집적 회로(1000)상의 로직(1008)에 차례로 결합되는 버퍼(1006)에 결합시킨다. 도 10에 나타낸 바와 같이, 버퍼(1006)로부터의 데이터는 데이터 경로 제어기(1003)를 사용하여 제어될 수 있는 직접 데이터 경로를 사용하여 곱의 합 가속기 어레이(1001)로 전송될 수 있다.
도 11은 본 출원에 설명된 NAND 블록을 이용하여 곱의 합을 계산하기 위한 방법을 예시하는 흐름도이다. 도 8의 예에서 제어 로직(810)은 이 방법을 지원하는 상태 머신을 포함할 수 있다. 도 11의 방법은 단일 NAND 블록에 적용된다. 방법은 대규모 승산 누적 연산들을 지원하기 위해 상술된 NAND 블록들의 어레이, 및 타일들의 어레이로 확장될 수 있다.
따라서, 숫자 B의 곱 항들에 대한 곱의 합을 계산하기 위해, 방법은 B 비트 라인, 숫자 S 스트링 선택 라인 및 숫자 L의 워드 라인 레벨을 갖는 NAND 블록을 선택하는 단계를 포함한다(1100). 메모리 모드에서 NAND 블록을 동작시키는 계산을 셋 업하기 위해, 방법은 비트 라인 BL(i)에 결합된 스트링 선택 라인 SSL(j) 상의 NAND 스트링들 중 컬럼 C(i)의 레벨 L(k)에서의 메모리 셀들의 세트내 곱 항 W(i)*X(i)에 대한 계수 데이터 W(i-j)를 저장하는 단계를 포함하고, 비트 라인의 지수 i는 1부터 B까지 진행하고, SSL 라인의 지수 j는 1부터 S까지 진행하고, 워드 라인 레벨들에 대한 지수 k는 일정한 선택 워드 라인 레벨에서 유지된다. NAND 페이지 프로그래밍 동작을 이용하여, 계수 데이터는 단일 SSL 라인 SSL(i)에 결합된 NAND 스트링상의 메모리 셀에 저장될 수 있다. NAND 페이지 프로그래밍 동작은 SSL 라인들 SSL(1) 내지 SSL(들)의 세트 내의 각각의 SSL 라인에 대해 반복된다(1101).
이러한 방식으로, 계수 W(i)는 스트링 선택 라인 SSL(1) 내지(S)상의 스트링 선택 스위치에 결합된 NAND 스트링의 컬럼 C(i)내의 워드 라인 레벨 k에서 메모리 셀들의 세트에 저장된 데이터 값의 숫자 S로 표시된다(1에서부터 S까지 진행하는 j에 대하여 w(i-j)).
일반적으로, 숫자 S는 스트링 선택 라인들의 물리적 번호와 같을 수 있다. 일부 실시예에서, 특정 계수를 저장하기 위해 사용되는 숫자 S는 1에서 최대 스트링 선택 라인들의 최대 물리적 번호까지의 임의의 숫자일 수 있다. 마찬가지로, 비트 라인의 숫자 B는 NAND 블록에서 합산될 곱 항의 숫자에 대응한다. 숫자 B는 블록에 결합된 비트 라인의 최대 물리적인 수 또는 특정 수의 곱의 항들에 대해 선택된 다수의 비트 라인에 동일할 수 있다.
데이터가 일단 저장되면, 디바이스가 계산 모드로 진입할 수 있다. 계산 모드에서 비트 라인 전압 VBLi로 표시된 입력 X(i)는 병렬로 비트 라인 BL(i)에 인가되고, i는 1에서부터 B까지 진행하고, 비트 라인들에 동시에 인가될 수 있다. 또한, 비트 라인을 대응하는 NAND 스트링에 연결하는 스트링 선택 스위치를 턴 온 시키도록 설정된 스트링 선택 라인 선택 전압은 병렬로 스트링 선택 라인 SSL(j)의 전부에 동시에 인가되고, j는 1에서부터 S까지 진행한다. 또한, 계산될 특정 곱의 항에 대응하는 워드 라인 레벨 k의 워드 라인 또는 워드 라인들에 워드 라인 전압이 인가된다(1102).
이것은 숫자 S의 NAND 스트링들을 각각의 비트 라인 BL(i)에 병렬로 연결하고, 선택된 워드 라인 레벨 k의 워드 라인 또는 워드 라인들에 계산 레벨 워드 라인 전압을 인가하는 효과를 갖는다. 동시에, 접지 선택 라인은 NAND 스트링을 소스 라인에 연결시키는 접지 선택 스위치를 턴 온하기 위해 선택 전압 레벨로 설정된다. 선택된 워드 라인 레벨에서의 셀 내의 데이터 값은 저장된 계수들에 따라 NAND 스트링들의 컨덕턴스를 설정하는 효과를 갖는다.
또한, 계산 모드에서, 비트라인들 BL(1) 내지 BL(B)에 연결된 NAND 스트링들 중 컬럼 C(1) 내지 C(B)내 숫자 S의 NAND 스트링들을 통한 전류가 NAND 블록에 대한 소스 라인상에 결합된다 (1103).
결과적으로, 소스 라인상의 전류는 계산중인 B 곱의 항의 합에 대응한다.
마지막으로, 계산 모드에서는, 곱의 합의 출력은 소스 라인(1104)상의 전류 크기를 센싱하여 생성된다. 이 출력은 실행되는 계산 시퀀스에 따라 라우팅하기 위해 버스 시스템에 전달되는 멀티 비트 디지털 출력일 수 있다.
흐름도는 본 출원에 설명된 메모리 제어기에 의해 또는 메모리 디바이스에 의해 실행되는 로직을 예시한다. 로직은 프로세서들에 의해, 필드 프로그램 가능한 집적 회로를 포함하는 전용 로직 하드웨어에 의해 및 전용 로직 하드웨어 및 컴퓨터 프로그램들의 조합에 의해 그리고 컴퓨터 시스템에 액세스 가능한 메모리에 저장된 컴퓨터 프로그램을 사용하여 프로그래밍된 프로세서를 사용하여 구현될 수 있다. 달성되는 기능에 영향을 미치지 않으면서 다수의 단계가 결합되거나, 병렬로 수행되거나, 상이한 시퀀스로 수행될 수 있다는 것을 이해할 것이다. 일부 경우들에서, 독자가 이해할 수 있는 것처럼, 특정 다른 변경이 또한 행해지는 경우에만, 단계들의 재배치는 동일한 결과를 달성할 것이다. 다른 경우에는, 독자가 이해할 수 있는 바와 같이, 특정 조건이 만족되는 경우에만 단계의 재배치는 동일한 결과를 달성할 것이다. 더욱이, 흐름도는 기술의 이해와 적절한 단계만을 도시하고, 다른 기능들을 달성하기 위한 다수의 추가 단계가 도시된 것 이전에, 이후에 및 그것들 사이에 수행될 수 있음을 이해할 것이다.
일반적으로, 고성능, 저전력 승산 누적 가속기 회로가 설명되었다. 가속 회로의 구현예는 곱의 합 연산들의 고용량 계산을 위해 배열된 3D NAND 플래시 블록을 포함할 수 있다. 본 출원에 설명된 구조를 활용하여, 곱의 합 계산에 필요한 전류 크기는 매우 작고, 엄격하게 제어될 수 있다. 본 출원에서 설명된 실시예에서, 수천 및 수만의 셀들은 고 스루풋, 저전력 곱의 합 연산을 지원하기 위해 함께 동작될 수 있다.
본 출원에서 설명된 예들에서, 각각의 블록은 복수의 비트 라인들 및 스트링 선택 라인들상의 다수의 NAND 스트링들로부터 전류를 동시에 수집할 수 있는 별개의 소스 라인을 갖는다. 소스 라인상의 전류는 넓은 동적 범위를 갖는 전류 센싱 감지 증폭기에 결합될 수 있고, 블록 당 평균 전류는 멀티 비트 센싱(예를 들어, 2 비트, 3 비트, 4 비트)으로 10μA 내지 100μA의 평균의 범위에 이른다. 적절한 임계 전압을 설정하고 가능한 작게 전압을 구동시킴으로써 각 스트링의 전류가 예컨대, 스트링 당 50 나노 암페어의 미만의 범위에서 조절될 수 있어서 단일 감지 증폭기에서 병렬로 1000 내지 10,000 스트링들의 센싱을 가능하게 한다. 예를 들어, 워드 라인은 플래시 메모리 셀의 소거 상태를 검증하는 프로그램의 중간에 가깝게 바이어스될 수 있고, 비트 라인 전압은 스트링 전류 당 작게 0.3 V 미만의 레벨까지 감소될 수 있다.
NAND 블록에 병렬로 입력하기 위해 사용되는 비트 라인 및 계수를 저장하기 위한 목적으로 사용되는 스트링 선택 라인의 수는 특정 구현에 대해 원하는 대로 설정될 수 있다. 또한, 주어진 연산에 사용되는 비트 라인 및 스트링 선택 라인의 수는 연산의 각각의 사이클에서 논리적으로 결정될 수 있다.
다수의 스트링 선택 라인의 사용 및 그에 따른 단일 비트 라인에 병렬로 결합된 다수의 NAND 스트링 때문에, 각각의 곱의 항의 계수 또는 가중치는 NAND 블록의 다수의 메모리 셀로 분배될 수 있다. 이것은 셀들의 각각이 NAND 플래시 프로그래밍 동작을 이용하여 개별적으로 높은 정확도로 조절될 수 있기 때문에, 계수들의 또는 효과적인 아날로그 가중치의 높은 분해능을 가능하게 한다. 결과적으로, 계산의 신뢰성이 매우 높아질 수 있다.
본 발명은 상술한 바람직한 실시예 및 예들을 참조하여 개시되었지만, 이들 예들은 제한적인 의미가 아니라 예시적인 것으로 이해되어야 한다. 수정예 및 조합이 당업자에게 용이하게 발견될 수 있고, 이의 수정예 및 조합은 본 발명의 사상 및 이하의 청구 범위의 범위 내에 있다고 간주된다.

Claims (20)

  1. 회로에 있어서,
    대응하는 블록 소스 라인들을 갖는 복수의 NAND 블록들로서, 상기 복수의 NAND 블록들내의 특정 NAND 블록은 비트 라인들의 멀티-멤버 세트(multi-member set)와 상기 특정 블록의 대응하는 블록 소스 라인 사이에 배치된 NAND 스트링들의 블록을 포함하는, 상기 복수의 NAND 블록들; 및
    상기 복수의 NAND 블록들에 결합된 상기 비트 라인들의 멀티-멤버 세트에 입력 신호들을 인가하는 입력 회로; 및
    상기 블록 소스 라인들에 결합된 센싱 회로(sensing circuit)들로서, 상기 센싱 회로들은 선택된 NAND 블록내 상기 NAND 스트링들의 블록을 통한 상기 비트 라인들의 세트로부터의 상기 선택된 NAND 블록내 상기 블록 소스 라인상의 전류들의 합을 센싱하는, 상기 센싱 회로들을 포함하는, 회로.
  2. 제 1 항에 있어서, 상기 비트 라인들의 멀티-멤버 세트를 포함하는 상기 복수의 NAND 블록들에 결합된 복수의 비트 라인들을 포함하고, 상기 입력 회로는 상기 복수의 비트 라인들내의 비트 라인들에 결합된 페이지 버퍼(page buffer)들을 포함하는, 회로.
  3. 제 2 항에 있어서, 상기 복수의 비트 라인들내의 개별 비트 라인들에 결합된 NAND 스트링들을 프로그래밍하는 수단을 포함하는, 회로.
  4. 제 1 항에 있어서, 상기 복수의 NAND 블록들내의 NAND 블록은,
    그것의 비트 라인들의 멀티-멤버 세트와 그것의 블록 소스 라인 사이에 있는복수의 NAND 스트링들로서, 상기 NAND 스트링들은 상기 NAND 스트링들을 그것의 비트 라인들의 멀티-멤버 세트내 대응하는 비트 라인들 및 직렬로 배열된 복수의 메모리 셀들에 선택적으로 연결하기 위한 스트링 선택 스위치들을 갖고, 그것의 비트 라인들의 멀티-멤버 세트 내의 비트 라인들은 상기 복수의 NAND 스트링들내의 NAND 스트링들의 개별 세트들에 결합되는, 상기 복수의 NAND 스트링들;
    상기 NAND 블록의 대응하는 워드 라인 레벨내의 메모리 셀들의 게이트들에 결합된 워드 라인들; 및
    상기 복수의 NAND 스트링들내의 NAND 스트링들의 대응하는 로우(row)들에서 스트링 선택 스위치들의 게이트들에 결합된 스트링 선택 라인들을 포함하는, 회로.
  5. 제 4 항에 있어서, 상기 NAND 블록에 대해, 상기 비트 라인들의 멀티-멤버 세트는 B 멤버들을 포함하고, 상기 NAND 블록은 적어도 S 멤버들을 갖는 스트링 선택 라인들의 세트를 포함하고, 상기 스트링 선택 드라이버들은 상기 NAND 블록의 컬럼(column)내 S NAND 스트링들을 상기 비트 라인들의 멀티-멤버 세트내 각각의 비트 라인에 연결하여, 상기 NAND 블록의 소스 라인 상의 전류가 B 곱의 항(term)들의 합이 되도록 동작 가능하고, 각각의 곱의 항은 하나의 비트 라인에 연결된 상기 S NAND 스트링의 컨덕턴스(conductance) 곱하기 상기 비트 라인들의 세트내 비트 라인들 중 하나 상에 입력 신호의 함수인, 회로.
  6. 제 1 항에 있어서, 상기 입력 회로는 입력 데이터를 상기 주어진 NAND 블록의 비트 라인들에 병렬로 인가하는 비트 라인 드라이버들의 세트를 포함하고, 상기 센싱 회로들은 대응하는 소스 라인상의 출력 데이터를 센싱하기 위한 멀티 비트(multibit) 감지 증폭기를 포함하는, 회로.
  7. 제 1 항에 있어서, 상기 복수의 NAND 블록들내의 각각의 NAND 블록은 계산 모드 입력 및 출력을 가지며, 각각은 메모리 모드 입력 및 출력을 갖고, 및
    상기 복수의 NAND 블록들의 상기 계산 모드 입력들 및 출력들에 그리고 상기 메모리 모드 입력들 및 출력들에 연결된 버스 시스템(bus system)을 포함하는, 회로.
  8. 제 7 항에 있어서, 상기 복수의 NAND 블록들내의 주어진 NAND 블록의 상기 메모리 모드 입력은 상기 주어진 NAND 블록의 비트 라인들을 통하여 데이터를 판독 및 기록하는 페이지 버퍼 회로를 포함하는, 회로.
  9. 제 1 항에 있어서, 상기 복수의 NAND 블록들내의 블록들 각각은 NAND 스트링들의 B 컬럼들 및 S 로우들 및 메모리 셀들의 L레벨들을 포함하는 B*S NAND 스트링들을 포함하고, 여기서, B, S 및 L은 정수들이고, 상기 NAND 스트링들은 상기 L 레벨들의 개별 레벨들에 직렬로 연결된 L 메모리 셀들을 포함하고;
    B 비트 라인들 세트 내의 대응하는 비트 라인들에 결합된 상기 B 컬럼들내의 개별 컬럼들의 (S) NAND 스트링들의 세트;
    S 스트링 선택 라인들의 세트 내의 대응하는 스트링 선택 라인에 결합된 S 로우들내의 개별 로우들의 (B) NAND 스트링들의 세트 내의 스트링 선택 스위치들;
    상기 L 레벨들내의 대응하는 워드 라인 또는 워드 라인들에 동작 가능하게 결합된 상기 L 레벨들내 개별 레벨들의 (B*S) 메모리 셀들의 세트; 및
    상기 블록 내의 상기 B*S NAND 스트링들에 동작 가능하게 결합된 소스 라인을 포함하는, 회로.
  10. 제 1 항에 있어서, 파이프라인 방식(pipeline fashion)으로 상기 복수의 NAND 블록들을 동작시키는 제어기를 포함하는, 회로.
  11. 회로에 있어서,
    NAND 스트링들의 B 컬럼들 및 S 로우들 및 메모리 셀들의 L레벨들을 포함하는 NAND 스트링들의 블록으로서, 여기서, B, S 및 L은 정수들이고, 상기 NAND 스트링들은 상기 L 레벨들의 개별 레벨들에 직렬로 연결된 L 메모리 셀들을 포함하는, 상기 블록;
    상기 B 컬럼들의 개별 컬럼들내의 S NAND 스트링들에 결합된 B 비트 라인들;
    상기 S 로우들내의 개별 로우들에 B NAND 스트링들에 결합된 S 스트링 선택 라인들;
    상기 L 레벨들내의 개별 레벨들에서 (B*S) 메모리 셀들에 동작 가능하게 결합된 W 워드 라인들;
    상기 블록 내의 상기 NAND 스트링들에 동작 가능하게 결합된 소스 라인;
    다수의 스트링 선택 라인들 상의 NAND 스트링들을 동시에 대응하는 비트 라인에 연결하기 위해 스트링 선택 전압들을 공급하는 S 스트링 선택 라인에 결합된 스트링 선택 라인 드라이버들;
    선택된 레벨의 워드 라인 또는 워드 라인들에 워드 라인 전압들을 인가하도록 결합된 워드 라인 드라이버들;
    상기 복수의 B 비트 라인들에 입력 데이터 신호들을 인가하기 위해 상기 B 비트 라인들내의 비트 라인들에 결합된 복수의 비트 라인 드라이버들; 및
    상기 소스 라인에 결합된 전류 센싱 회로를 포함하는, 회로.
  12. 제 11 항에 있어서, 프로그램 모드에서 상기 블록내 상기 NAND 스트링들을 프로그래밍하기 위해 입력 데이터 신호들을 인가하도록 상기 B 비트 라인들내의 비트 라인들에 동작 가능하게 결합된 페이지 버퍼를 포함하는, 회로.
  13. 메모리내 곱의 합(sum-of-product) 계산을 위한 방법에 있어서,
    비트 라인 BL(i)에 결합된 스트링 선택 라인들 SSL(i)상의 NAND 스트링들의 컬럼 C(i) 내의 NAND 블록의 레벨 L(k) 상의 셀들에 곱의 항 X(i)*W(i)에 대한 계수 데이터 w(i,j)를 저장하는 단계로서, i는 1에서부터 B까지 진행하고, j는 1에서부터 S까지 진행하고 그리고 k는 선택된 워드 라인 레벨과 동일한, 상기 저장하는 단계;
    비트 라인들 BL(1) 내지 BL(B)에 입력들 X(i)을, 스트링 선택 라인들 SSL(1) 내지 SSL(S)에 스트링 선택 전압들을 그리고 상기 선택된 워드 라인 레벨내의 셀들에 워드 라인 계산 전압을 동시에 인가하는 단계;
    상기 NAND 블록의 소스 라인상의 비트 라인들 BL(1) 내지 BL(B)에 결합된 NAND 스트링들의 컬럼들 C(1) 내지 C(B)를 통해 전류들을 결합하는 단계; 및
    곱의 합을 나타내는 출력 신호를 생성하기 위해 상기 소스 라인상의 전류의 크기를 센싱하는 단계를 포함하는, 방법.
  14. 회로에 있어서,
    집적 회로내에 복수의 승산 누적 가속기(multiply-and-accumulate accelerator) 타일(tile)들에 있어서, 각각의 타일은,
    각각의 블록이 입력들 및 출력들을 갖는 복수의 NAND 블록들; 및
    상기 입력들 및 출력들에 연결된 데이터 경로들; 및
    상기 복수의 승산 누적 가속기 타일들의 데이터 경로들에 결합된 상기 집적 회로상에 타일간 버스 시스템(inter-tile bus system); 및
    상기 타일간 버스 시스템에 결합된 상기 집적 회로상의 입력/출력 회로들을 포함하는, 회로.
  15. 제 14 항에 있어서, 상기 복수의 타일들간에 데이터의 흐름을 제어하는 시퀀서 로직을 포함하는, 회로.
  16. 제 14 항에 있어서, 각각의 타일은,
    상기 복수의 NAND 블록들에 결합된 복수의 비트 라인들, 및 상기 복수의 NAND 블록들에 결합된 복수의 소스 라인들을 포함하고,
    상기 복수의 비트 라인들내의 비트 라인들에 결합된 입력 드라이버들,
    상기 복수의 소스 라인들내의 소스 라인들에 결합된 감지 증폭기들; 및
    상기 복수의 비트 라인들내의 비트 라인들에 결합된 페이지 버퍼들을 포함하는, 회로.
  17. 제 14 항에 있어서, 각각의 타일은,
    상기 복수의 NAND 블록들에 결합된 복수의 비트 라인들, 및 상기 복수의 NAND 블록들에 결합된 복수의 소스 라인들을 포함하고, 상기 복수의 비트 라인들내의 비트 라인들의 멀티-멤버 세트는 상기 복수의 NAND 블록들내 각각의 NAND 블록에 결합되고; 및
    상기 복수의 NAND 블록들내의 NAND 블록은,
    그것의 비트 라인들의 멀티-멤버 세트와 그것의 소스 라인 사이에 있는 복수의 NAND 스트링들로서, 상기 NAND 스트링들은 상기 NAND 스트링들을 그것의 비트 라인들의 멀티-멤버 세트내 대응하는 비트 라인들 및 직렬로 배열된 복수의 메모리 셀들에 선택적으로 연결하기 위한 스트링 선택 셀들을 갖고, 그것의 비트 라인들의 멀티-멤버 세트 내의 비트 라인들은 상기 복수의 NAND 스트링들내 NAND 스트링들의 개별 세트에 결합되는, 상기 복수의 NAND 스트링들;
    상기 NAND 블록의 대응하는 워드 라인 레벨내의 메모리 셀들의 게이트들에 결합된 워드 라인들; 및
    상기 복수의 NAND 스트링들내의 NAND 스트링들의 대응하는 로우들에서 스트링 선택 셀들의 게이트들에 결합된 스트링 선택 라인들을 포함하는, 회로.
  18. 제 17 항에 있어서, 상기 NAND 블록에 대해, 상기 비트 라인들의 멀티-멤버 세트는 B 멤버들을 포함하고, 상기 NAND 블록은 적어도 S 멤버들을 갖는 스트링 선택 라인들의 세트를 포함하고, 상기 스트링 선택 드라이버들은 NAND 블록의 컬럼내의 S NAND 스트링들을 상기 비트 라인들의 멀티-멤버 세트내 각각의 비트 라인에 연결하여, 상기 소스 라인 상의 전류가 B 곱의 합이 되도록 동작 가능하고, 각각의 곱은 하나의 비트 라인에 연결된 상기 S NAND 스트링의 컨덕턴스 곱하기 상기 비트 라인들의 세트내 비트 라인들 중 하나 상에 입력 신호의 함수인, 회로.
  19. 제 14 항에 있어서, 각각의 타일 내의 상기 복수의 NAND 블록들내의 주어진 NAND 블록의 입력은 상기 주어진 NAND 블록의 비트 라인들에 병렬로 입력 데이터를 인가하는 비트 라인 드라이버들의 세트를 포함하고, 상기 복수의 NAND 블록들내의 주어진 NAND 블록의 출력은 상기 주어진 NAND 블록의 소스 라인 상의 출력 데이터를 센싱하기 위한 멀티 비트 감지 증폭기를 포함하는, 회로.
  20. 제 14 항에 있어서, 각각의 타일에 대하여, 상기 복수의 NAND 블록들내의 블록들 각각은 NAND 스트링들의 B 컬럼들 및 S 로우들 및 메모리 셀들의 L레벨들을 포함하는 B*S NAND 스트링을 포함하고, 여기서, B, S 및 L은 정수들이고, 상기 NAND 스트링들은 상기 L 레벨들의 개별 레벨들에 직렬로 연결된 L 메모리 셀들을 포함하고;
    B 비트 라인들 세트 내의 대응하는 비트 라인들에 결합된 상기 B 컬럼들내의 개별 컬럼들의 (S) NAND 스트링들의 세트;
    S 스트링 선택 라인들의 세트 내의 대응하는 스트링 선택 라인에 결합된 S 로우들내의 개별 로우들의 (B) NAND 스트링들의 세트 내의 스트링 선택 스위치들;
    상기 L 레벨들의 대응하는 워드 라인 또는 워드 라인들에 동작 가능하게 결합된 상기 L 레벨들내 개별 레벨들의 (B*S) 메모리 셀들의 세트; 및
    상기 블록 내의 상기 B*S NAND 스트링들에 동작 가능하게 결합된 소스 라인을 포함하는, 회로.
KR1020190093404A 2018-12-18 2019-07-31 메모리내 승산 누적 연산들을 위한 nand 블록 아키텍처 KR20200076571A (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201862780938P 2018-12-18 2018-12-18
US62/780,938 2018-12-18
US201962791037P 2019-01-11 2019-01-11
US62/791,037 2019-01-11
US16/508,189 2019-07-10
US16/508,189 US11934480B2 (en) 2018-12-18 2019-07-10 NAND block architecture for in-memory multiply-and-accumulate operations

Publications (1)

Publication Number Publication Date
KR20200076571A true KR20200076571A (ko) 2020-06-29

Family

ID=67742216

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190093404A KR20200076571A (ko) 2018-12-18 2019-07-31 메모리내 승산 누적 연산들을 위한 nand 블록 아키텍처

Country Status (6)

Country Link
US (1) US11934480B2 (ko)
EP (1) EP3671433A1 (ko)
JP (1) JP7041654B2 (ko)
KR (1) KR20200076571A (ko)
CN (1) CN111338601B (ko)
TW (1) TWI757645B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230023430A (ko) 2021-08-10 2023-02-17 백은지 블루투스 연동 장치가 포함된 손목시계

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112151095A (zh) * 2019-06-26 2020-12-29 北京知存科技有限公司 存算一体芯片、存储单元阵列结构
US11049586B2 (en) 2019-11-26 2021-06-29 Mythic, Inc. Systems and methods for implementing redundancy for tile-based intelligence processing computing architecture
US11586900B2 (en) 2020-04-20 2023-02-21 Macronix International Co., Ltd. Training algorithm in artificial neural network (ANN) incorporating non-ideal memory device behavior
US11189339B1 (en) * 2020-05-29 2021-11-30 Macronix International Co., Ltd. Performing in-memory computing based on multiply-accumulate operations using non-volatile memory arrays
US11604645B2 (en) * 2020-07-22 2023-03-14 Flex Logix Technologies, Inc. MAC processing pipelines having programmable granularity, and methods of operating same
US11309028B2 (en) * 2020-09-03 2022-04-19 Macronix International Co., Ltd. Inference operation method and controlling circuit of 3D NAND artificial intelligence accelerator
CN112153139B (zh) * 2020-09-23 2022-06-14 成都市深思创芯科技有限公司 基于传感器网络和存内计算神经网络的控制系统及方法
WO2022165350A2 (en) * 2021-01-31 2022-08-04 Redpine Signals Inc Architecture for multiplier accumulator using unit elements for multiplication, bias, accumulation, and analog to digital conversion over a shared charge transfer bus
US11476866B2 (en) 2021-02-01 2022-10-18 Ceremorphic, Inc. Successive approximation register using switched unit elements
US12026479B2 (en) 2021-01-31 2024-07-02 Ceremorphic, Inc. Differential unit element for multiply-accumulate operations on a shared charge transfer bus
US11469770B2 (en) 2021-01-31 2022-10-11 Ceremorphic, Inc. Architecture for multiplier accumulator using unit elements for multiplication, bias, accumulation, and analog to digital conversion over a shared charge transfer bus
US11567730B2 (en) 2021-01-31 2023-01-31 Ceremorphic, Inc. Layout structure for shared analog bus in unit element multiplier
TWI788128B (zh) * 2021-04-16 2022-12-21 旺宏電子股份有限公司 記憶體裝置及其操作方法
US11996137B2 (en) * 2021-05-21 2024-05-28 Taiwan Semiconductor Manufacturing Company, Ltd. Compute in memory (CIM) memory array
WO2022256293A1 (en) * 2021-05-31 2022-12-08 Ceremorphic, Inc Architecture for analog multiplier-accumulator with binary weighted charge transfer capacitors
US11687738B2 (en) 2021-05-31 2023-06-27 Ceremorphic, Inc. Chopper stabilized bias unit element with binary weighted charge transfer capacitors
US12014152B2 (en) 2021-05-31 2024-06-18 Ceremorphic, Inc. Multiplier-accumulator unit element with binary weighted charge transfer capacitors
US12032926B2 (en) 2021-05-31 2024-07-09 Ceremorphic, Inc. Chopper stabilized analog multiplier accumulator with binary weighted charge transfer capacitors
US20230022516A1 (en) * 2021-07-23 2023-01-26 Taiwan Semiconductor Manufacturing Company, Ltd. Compute-in-memory systems and methods with configurable input and summing units
US11694733B2 (en) 2021-08-19 2023-07-04 Apple Inc. Acceleration of in-memory-compute arrays
US11789646B2 (en) * 2021-09-24 2023-10-17 Intel Corporation Methods, apparatus, and articles of manufacture to increase data reuse for multiply and accumulate (MAC) operations
US12094568B2 (en) 2022-07-18 2024-09-17 Macronix International Co., Ltd. Content addressable memory for large search words

Family Cites Families (160)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2619663C3 (de) 1976-05-04 1982-07-22 Siemens AG, 1000 Berlin und 8000 München Feldeffekttransistor, Verfahren zu seinem Betrieb und Verwendung als schneller Schalter sowie in einer integrierten Schaltung
US4987090A (en) 1987-07-02 1991-01-22 Integrated Device Technology, Inc. Static ram cell with trench pull-down transistors and buried-layer ground plate
US5029130A (en) 1990-01-22 1991-07-02 Silicon Storage Technology, Inc. Single transistor non-valatile electrically alterable semiconductor memory device
JPH0451382A (ja) 1990-06-20 1992-02-19 Hitachi Ltd 情報処理装置
JP3073645B2 (ja) 1993-12-27 2000-08-07 株式会社東芝 不揮発性半導体記憶装置およびその動作方法
US7089218B1 (en) 2004-01-06 2006-08-08 Neuric Technologies, Llc Method for inclusion of psychological temperament in an electronic emulation of the human brain
US6107882A (en) 1997-12-11 2000-08-22 Lucent Technologies Inc. Amplifier having improved common mode voltage range
US6960499B2 (en) 1998-02-24 2005-11-01 Texas Instruments Incorporated Dual-counterdoped channel field effect transistor and method
US6313486B1 (en) 2000-06-15 2001-11-06 Board Of Regents, The University Of Texas System Floating gate transistor having buried strained silicon germanium channel layer
US6829598B2 (en) 2000-10-02 2004-12-07 Texas Instruments Incorporated Method and apparatus for modeling a neural synapse function by utilizing a single conventional MOSFET
US6703661B2 (en) 2001-12-27 2004-03-09 Ching-Yuan Wu Contactless NOR-type memory array and its fabrication methods
US6856542B2 (en) * 2002-06-04 2005-02-15 Stmicroelectronics, Inc. Programmable logic device circuit and method of fabricating same
JP4620943B2 (ja) 2003-10-16 2011-01-26 キヤノン株式会社 積和演算回路及びその方法
US6937523B2 (en) * 2003-10-27 2005-08-30 Tower Semiconductor Ltd. Neighbor effect cancellation in memory array architecture
US7057216B2 (en) 2003-10-31 2006-06-06 International Business Machines Corporation High mobility heterojunction complementary field effect transistors and methods thereof
US6906940B1 (en) 2004-02-12 2005-06-14 Macronix International Co., Ltd. Plane decoding method and device for three dimensional memories
US20050287793A1 (en) 2004-06-29 2005-12-29 Micron Technology, Inc. Diffusion barrier process for routing polysilicon contacts to a metallization layer
JP2006127623A (ja) 2004-10-28 2006-05-18 Sony Corp 半導体記憶装置とそのアクセス方法
US7400533B2 (en) 2006-05-04 2008-07-15 Micron Technology, Inc. Mimicking program verify drain resistance in a memory device
US7688635B2 (en) * 2006-07-14 2010-03-30 Micron Technology, Inc. Current sensing for Flash
US7372753B1 (en) 2006-10-19 2008-05-13 Unity Semiconductor Corporation Two-cycle sensing in a two-terminal memory array having leakage current
US8058636B2 (en) 2007-03-29 2011-11-15 Panasonic Corporation Variable resistance nonvolatile memory apparatus
JP2009080892A (ja) 2007-09-26 2009-04-16 Toshiba Corp 半導体記憶装置
KR20090037690A (ko) 2007-10-12 2009-04-16 삼성전자주식회사 비휘발성 메모리 소자, 그 동작 방법 및 그 제조 방법
US8000151B2 (en) 2008-01-10 2011-08-16 Micron Technology, Inc. Semiconductor memory column decoder device and method
JP5275052B2 (ja) * 2009-01-08 2013-08-28 株式会社東芝 不揮発性半導体記憶装置
US8860124B2 (en) 2009-01-15 2014-10-14 Macronix International Co., Ltd. Depletion-mode charge-trapping flash device
JP5462490B2 (ja) 2009-01-19 2014-04-02 株式会社日立製作所 半導体記憶装置
JP5317742B2 (ja) 2009-02-06 2013-10-16 株式会社東芝 半導体装置
US8203187B2 (en) 2009-03-03 2012-06-19 Macronix International Co., Ltd. 3D memory array arranged for FN tunneling program and erase
TWI433153B (zh) 2009-08-17 2014-04-01 Ind Tech Res Inst 記憶體單元之讀取方法
US9099181B2 (en) 2009-08-19 2015-08-04 Grandis, Inc. Non-volatile static ram cell circuit and timing method
JP2011065693A (ja) 2009-09-16 2011-03-31 Toshiba Corp 不揮発性半導体記憶装置
US8275728B2 (en) 2009-11-05 2012-09-25 The United States Of America As Represented By The Secretary Of The Air Force Neuromorphic computer
US8311965B2 (en) 2009-11-18 2012-11-13 International Business Machines Corporation Area efficient neuromorphic circuits using field effect transistors (FET) and variable resistance material
TWI427636B (zh) 2009-11-27 2014-02-21 Macronix Int Co Ltd 於一記憶積體電路上進行抹除操作之方法與裝置
SG10201700467UA (en) 2010-02-07 2017-02-27 Zeno Semiconductor Inc Semiconductor memory device having electrically floating body transistor, and having both volatile and non-volatile functionality and method
KR101658479B1 (ko) 2010-02-09 2016-09-21 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8331127B2 (en) 2010-05-24 2012-12-11 Macronix International Co., Ltd. Nonvolatile memory device having a transistor connected in parallel with a resistance switching device
US8547720B2 (en) 2010-06-08 2013-10-01 Sandisk 3D Llc Non-volatile memory having 3D array of read/write elements with efficient decoding of vertical bit lines and word lines
US8890233B2 (en) 2010-07-06 2014-11-18 Macronix International Co., Ltd. 3D memory array with improved SSL and BL contact layout
WO2012015450A1 (en) 2010-07-30 2012-02-02 Hewlett-Packard Development Company, L.P. Systems and methods for modeling binary synapses
US20120044742A1 (en) 2010-08-20 2012-02-23 Micron Technology, Inc. Variable resistance memory array architecture
US8432719B2 (en) 2011-01-18 2013-04-30 Macronix International Co., Ltd. Three-dimensional stacked and-type flash memory structure and methods of manufacturing and operating the same hydride
US8630114B2 (en) 2011-01-19 2014-01-14 Macronix International Co., Ltd. Memory architecture of 3D NOR array
US8759895B2 (en) 2011-02-25 2014-06-24 Micron Technology, Inc. Semiconductor charge storage apparatus and methods
JP2013069356A (ja) 2011-09-20 2013-04-18 Toshiba Corp 半導体記憶装置
JP5722180B2 (ja) 2011-09-26 2015-05-20 株式会社日立製作所 不揮発性記憶装置
US9698185B2 (en) 2011-10-13 2017-07-04 Omnivision Technologies, Inc. Partial buried channel transfer device for image sensors
US9430735B1 (en) 2012-02-23 2016-08-30 Micron Technology, Inc. Neural network in a memory device
US8981445B2 (en) 2012-02-28 2015-03-17 Texas Instruments Incorporated Analog floating-gate memory with N-channel and P-channel MOS transistors
JP5998521B2 (ja) 2012-02-28 2016-09-28 セイコーエプソン株式会社 不揮発性半導体メモリー及び不揮発性半導体メモリーの製造方法
US8730724B2 (en) * 2012-08-07 2014-05-20 Sandisk Technologies Inc. Common line current for program level determination in flash memory
JP2014053056A (ja) 2012-09-06 2014-03-20 Toshiba Corp 半導体記憶装置
WO2014062543A2 (en) 2012-10-15 2014-04-24 Rambus Inc. Memory rank and odt configuration in a memory system
US9019771B2 (en) 2012-10-26 2015-04-28 Macronix International Co., Ltd. Dielectric charge trapping memory cells with redundancy
US20140149773A1 (en) 2012-11-29 2014-05-29 Agency For Science, Technology And Research Latch circuit and data processing system
KR20140113024A (ko) 2013-03-15 2014-09-24 에스케이하이닉스 주식회사 저항 변화 메모리 장치 및 그 구동방법
KR102179899B1 (ko) 2013-08-05 2020-11-18 삼성전자주식회사 뉴로모픽 시스템 및 그 구현 방법
US9502133B2 (en) 2013-10-11 2016-11-22 Sharp Kabushiki Kaisha Semiconductor device
KR102139944B1 (ko) 2013-11-26 2020-08-03 삼성전자주식회사 3차원 반도체 메모리 장치
KR20150070819A (ko) 2013-12-17 2015-06-25 에스케이하이닉스 주식회사 반도체 메모리 소자 및 그 제조방법
US9535831B2 (en) 2014-01-10 2017-01-03 Advanced Micro Devices, Inc. Page migration in a 3D stacked hybrid memory
CN103778468B (zh) 2014-01-16 2016-09-07 北京大学 一种基于rram的新型神经网络电路
US9698156B2 (en) 2015-03-03 2017-07-04 Macronix International Co., Ltd. Vertical thin-channel memory
US9147468B1 (en) 2014-05-21 2015-09-29 Macronix International Co., Ltd. Multiple-bit-per-cell, independent double gate, vertical channel memory
US9391084B2 (en) 2014-06-19 2016-07-12 Macronix International Co., Ltd. Bandgap-engineered memory with multiple charge trapping layers storing charge
US9536969B2 (en) 2014-09-23 2017-01-03 Taiwan Semiconductor Manufacturing Co., Ltd. Self-aligned split gate flash memory
US9607692B2 (en) 2014-10-03 2017-03-28 Micron Technology, Inc. Threshold voltage distribution determination
WO2016060617A1 (en) 2014-10-15 2016-04-21 Agency For Science, Technology And Research Flip-flop circuit, method of controlling a flip-flop circuit and memory device
US9460792B2 (en) 2014-10-20 2016-10-04 Micron Technology, Inc. Apparatuses and methods for segmented SGS lines
US9431099B2 (en) 2014-11-11 2016-08-30 Snu R&Db Foundation Neuromorphic device with excitatory and inhibitory functionalities
US9356074B1 (en) 2014-11-17 2016-05-31 Sandisk Technologies Inc. Memory array having divided apart bit lines and partially divided bit line selector switches
KR20160073847A (ko) 2014-12-17 2016-06-27 에스케이하이닉스 주식회사 전자 장치 및 그 제조 방법
KR102396422B1 (ko) 2015-02-11 2022-05-11 삼성전자주식회사 불휘발성 메모리 및 불휘발성 메모리를 포함하는 스토리지 장치
US10403363B2 (en) 2015-02-11 2019-09-03 Samsung Electronics Co., Ltd. Nonvolatile memory and storage device including nonvolatile memory
US9524980B2 (en) 2015-03-03 2016-12-20 Macronix International Co., Ltd. U-shaped vertical thin-channel memory
US9379129B1 (en) 2015-04-13 2016-06-28 Macronix International Co., Ltd. Assist gate structures for three-dimensional (3D) vertical gate array memory structure
KR20160122531A (ko) 2015-04-14 2016-10-24 에스케이하이닉스 주식회사 전자 장치
TWI580087B (zh) 2015-04-28 2017-04-21 旺宏電子股份有限公司 記憶裝置及其製造方法
US10074661B2 (en) 2015-05-08 2018-09-11 Sandisk Technologies Llc Three-dimensional junction memory device and method reading thereof using hole current detection
US9934463B2 (en) 2015-05-15 2018-04-03 Arizona Board Of Regents On Behalf Of Arizona State University Neuromorphic computational system(s) using resistive synaptic devices
US9805303B2 (en) 2015-05-21 2017-10-31 Google Inc. Rotating data for neural network computations
US10438117B1 (en) 2015-05-21 2019-10-08 Google Llc Computing convolutions using a neural network processor
US10049322B2 (en) 2015-05-21 2018-08-14 Google Llc Prefetching weights for use in a neural network processor
KR102445662B1 (ko) 2015-07-01 2022-09-22 삼성전자주식회사 스토리지 장치
CN105718994B (zh) 2015-07-29 2019-02-19 上海磁宇信息科技有限公司 细胞阵列计算系统
KR101701250B1 (ko) 2015-08-03 2017-02-01 서울대학교산학협력단 딥 빌리프 네트워크를 위한 복수 레이어가 적층된 뉴런 어레이 및 뉴런 어레이 동작 방법
KR102311916B1 (ko) 2015-08-17 2021-10-15 삼성전자주식회사 스토리지 장치
US10020317B2 (en) 2015-08-31 2018-07-10 Cypress Semiconductor Corporation Memory device with multi-layer channel and charge trapping layer
US10037167B2 (en) 2015-09-11 2018-07-31 Sandisk Technologies Llc Multiple scheduling schemes for handling read requests
US9589982B1 (en) 2015-09-15 2017-03-07 Macronix International Co., Ltd. Structure and method of operation for improved gate capacity for 3D NOR flash memory
US10157012B2 (en) 2015-09-29 2018-12-18 Sandisk Technologies Llc Zero read on trimmed blocks in a non-volatile memory system
US9892800B2 (en) 2015-09-30 2018-02-13 Sunrise Memory Corporation Multi-gate NOR flash thin-film transistor strings arranged in stacked horizontal active strips with vertical control gates
US9842651B2 (en) 2015-11-25 2017-12-12 Sunrise Memory Corporation Three-dimensional vertical NOR flash thin film transistor strings
US10418369B2 (en) 2015-10-24 2019-09-17 Monolithic 3D Inc. Multi-level semiconductor memory device and structure
TWI571875B (zh) 2015-10-30 2017-02-21 華邦電子股份有限公司 電阻式記憶體裝置及其寫入方法
US9767028B2 (en) 2015-10-30 2017-09-19 Advanced Micro Devices, Inc. In-memory interconnect protocol configuration registers
KR102412781B1 (ko) 2015-11-03 2022-06-24 삼성전자주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 독출 방법
JP6867387B2 (ja) 2015-11-25 2021-04-28 サンライズ メモリー コーポレイション 3次元垂直norフラッシュ薄膜トランジスタストリング
US9983829B2 (en) 2016-01-13 2018-05-29 Sandisk Technologies Llc Physical addressing schemes for non-volatile memory systems employing multi-die interleave schemes
SG11201805489YA (en) 2016-01-18 2018-07-30 Huawei Tech Co Ltd Memory device, and data processing method based on multi-layer rram crossbar array
US10725860B2 (en) 2016-03-04 2020-07-28 Sandisk Technologies Llc Storage system and method for handling a burst of errors
CN108701474B (zh) 2016-03-18 2022-12-30 株式会社半导体能源研究所 半导体装置及使用该半导体装置的系统
CN107533459B (zh) 2016-03-31 2020-11-20 慧与发展有限责任合伙企业 使用电阻存储器阵列的数据处理方法和单元
CN105789139B (zh) 2016-03-31 2018-08-28 上海新储集成电路有限公司 一种神经网络芯片的制备方法
JP2017195275A (ja) 2016-04-20 2017-10-26 東芝メモリ株式会社 半導体記憶装置およびその製造方法
KR102508532B1 (ko) 2016-05-02 2023-03-09 삼성전자주식회사 감지 증폭기 및 이를 포함하는 메모리 장치
US11308383B2 (en) 2016-05-17 2022-04-19 Silicon Storage Technology, Inc. Deep learning neural network classifier using non-volatile memory array
US9773553B1 (en) 2016-08-19 2017-09-26 Micron Technology, Inc. Segmented memory and operation
US10381094B2 (en) * 2016-10-11 2019-08-13 Macronix International Co., Ltd. 3D memory with staged-level multibit programming
CN106530210B (zh) 2016-10-31 2019-09-06 北京大学 基于阻变存储器件阵列实现并行卷积计算的设备和方法
US10649665B2 (en) 2016-11-08 2020-05-12 Micron Technology, Inc. Data relocation in hybrid memory
US10733505B2 (en) 2016-11-10 2020-08-04 Google Llc Performing kernel striding in hardware
US20180144240A1 (en) 2016-11-21 2018-05-24 Imec Vzw Semiconductor cell configured to perform logic operations
US10725777B2 (en) 2016-12-06 2020-07-28 Gsi Technology, Inc. Computational memory cell and processing array device using memory cells
US10985777B2 (en) 2016-12-09 2021-04-20 William Marsh Rice University Signal recovery via deep convolutional networks
US10296224B2 (en) 2016-12-21 2019-05-21 Intel Corporation Apparatus, system and method for increasing the capacity of a storage device available to store user data
US10565494B2 (en) 2016-12-31 2020-02-18 Via Alliance Semiconductor Co., Ltd. Neural network unit with segmentable array width rotator
US10360499B2 (en) 2017-02-28 2019-07-23 Anixa Diagnostics Corporation Methods for using artificial neural network analysis on flow cytometry data for cancer diagnosis
US10269824B2 (en) 2017-04-01 2019-04-23 Intel Corporation Non-volatile memory structures having multi-layer conductive channels
WO2018189619A1 (ja) 2017-04-10 2018-10-18 株式会社半導体エネルギー研究所 半導体装置、電子部品、及び電子機器
US20210019609A1 (en) 2017-04-27 2021-01-21 The Regents Of The University Of California Mixed signal neuromorphic computing with nonvolatile memory devices
US10460817B2 (en) 2017-07-13 2019-10-29 Qualcomm Incorporated Multiple (multi-) level cell (MLC) non-volatile (NV) memory (NVM) matrix circuits for performing matrix computations with multi-bit input vectors
US10482929B2 (en) * 2017-07-13 2019-11-19 Qualcomm Incorporated Non-volative (NV) memory (NVM) matrix circuits employing NVM matrix circuits for performing matrix computations
US10790828B1 (en) * 2017-07-21 2020-09-29 X Development Llc Application specific integrated circuit accelerators
JP2019028569A (ja) 2017-07-26 2019-02-21 株式会社東芝 メモリシステム、半導体記憶装置及び信号処理システム
US10073733B1 (en) 2017-09-01 2018-09-11 Purdue Research Foundation System and method for in-memory computing
US10580492B2 (en) 2017-09-15 2020-03-03 Silicon Storage Technology, Inc. System and method for implementing configurable convoluted neural networks with flash memories
US11410028B2 (en) 2017-09-20 2022-08-09 Look Dynamics, Inc. Photonic neural network system
US11521046B2 (en) 2017-11-08 2022-12-06 Samsung Electronics Co., Ltd. Time-delayed convolutions for neural network device and method
US10777566B2 (en) 2017-11-10 2020-09-15 Macronix International Co., Ltd. 3D array arranged for memory and in-memory sum-of-products operations
US11361215B2 (en) 2017-11-29 2022-06-14 Anaflash Inc. Neural network circuits having non-volatile synapse arrays
US10748630B2 (en) 2017-11-29 2020-08-18 Silicon Storage Technology, Inc. High precision and highly efficient tuning mechanisms and algorithms for analog neuromorphic memory in artificial neural networks
US10552510B2 (en) 2018-01-11 2020-02-04 Mentium Technologies Inc. Vector-by-matrix multiplier modules based on non-volatile 2D and 3D memory arrays
US10957392B2 (en) 2018-01-17 2021-03-23 Macronix International Co., Ltd. 2D and 3D sum-of-products array for neuromorphic computing system
US20190244662A1 (en) 2018-02-02 2019-08-08 Macronix International Co., Ltd. Sum-of-products array for neuromorphic computing system
US10719296B2 (en) 2018-01-17 2020-07-21 Macronix International Co., Ltd. Sum-of-products accelerator array
US10242737B1 (en) 2018-02-13 2019-03-26 Macronix International Co., Ltd. Device structure for neuromorphic computing system
US10635398B2 (en) 2018-03-15 2020-04-28 Macronix International Co., Ltd. Voltage sensing type of matrix multiplication method for neuromorphic computing system
JP6721136B2 (ja) 2018-03-16 2020-07-08 Tdk株式会社 積和演算器、ニューロモーフィックデバイスおよび積和演算器の使用方法
US11188814B2 (en) 2018-04-05 2021-11-30 Arm Limited Systolic convolutional neural network
US20190311749A1 (en) 2018-04-09 2019-10-10 Anaflash Inc. Logic Compatible Embedded Flash Memory
US10741246B2 (en) 2018-04-23 2020-08-11 Arm Limited Method, system and device for integration of volatile and non-volatile memory bitcells
WO2019212466A1 (en) 2018-04-30 2019-11-07 Hewlett Packard Enterprise Development Lp Resistive and digital processing cores
US20190363131A1 (en) 2018-05-25 2019-11-28 Gyrfalcon Technology Inc. Memory architecture having different type of memory devices and logic circuit disposed over a semiconductor substrate
US11461621B2 (en) 2018-06-26 2022-10-04 Vishal Sarin Methods and systems of implementing positive and negative neurons in a neural array-based flash memory
JP7070190B2 (ja) 2018-07-18 2022-05-18 株式会社デンソー ニューラルネットワーク回路
US10528643B1 (en) 2018-08-01 2020-01-07 Sandisk Technologies Llc Vector-matrix multiplication using non-volatile memory cells
US10534840B1 (en) 2018-08-08 2020-01-14 Sandisk Technologies Llc Multiplication using non-volatile memory cells
US10860918B2 (en) 2018-08-21 2020-12-08 Silicon Storage Technology, Inc. Analog neural memory system for deep learning neural network comprising multiple vector-by-matrix multiplication arrays and shared components
US10877752B2 (en) 2018-09-28 2020-12-29 Intel Corporation Techniques for current-sensing circuit design for compute-in-memory
US10831446B2 (en) 2018-09-28 2020-11-10 Intel Corporation Digital bit-serial multi-multiply-and-accumulate compute in memory
US10748603B2 (en) 2018-09-28 2020-08-18 Intel Corporation In-memory multiply and accumulate with global charge-sharing
US10642922B2 (en) 2018-09-28 2020-05-05 Intel Corporation Binary, ternary and bit serial compute-in-memory circuits
US11574694B2 (en) 2018-10-11 2023-02-07 International Business Machines Corporation Kernel sets normalization with capacitor charge sharing
US20200117986A1 (en) 2018-10-12 2020-04-16 International Business Machines Corporation Efficient processing of convolutional neural network layers using analog-memory-based hardware
US10643713B1 (en) 2019-02-08 2020-05-05 Sandisk Technologies Llc Toggling power supply for faster bit line settling during sensing
US10825510B2 (en) 2019-02-09 2020-11-03 Purdue Research Foundation Multi-bit dot product engine
US10783963B1 (en) 2019-03-08 2020-09-22 Macronix International Co., Ltd. In-memory computation device with inter-page and intra-page data circuits

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230023430A (ko) 2021-08-10 2023-02-17 백은지 블루투스 연동 장치가 포함된 손목시계

Also Published As

Publication number Publication date
EP3671433A1 (en) 2020-06-24
TW202024898A (zh) 2020-07-01
JP2020098658A (ja) 2020-06-25
US20200192971A1 (en) 2020-06-18
JP7041654B2 (ja) 2022-03-24
US11934480B2 (en) 2024-03-19
TWI757645B (zh) 2022-03-11
CN111338601A (zh) 2020-06-26
CN111338601B (zh) 2023-06-13

Similar Documents

Publication Publication Date Title
CN111338601B (zh) 用于存储器内乘法及累加运算的电路及其方法
US10643119B2 (en) Differential non-volatile memory cell for artificial neural network
US10643705B2 (en) Configurable precision neural network with differential binary non-volatile memory cell structure
US11568200B2 (en) Accelerating sparse matrix multiplication in storage class memory-based convolutional neural network inference
EP3637326B1 (en) Shifting architecture for data reuse in a neural network
US20200034697A1 (en) Realization of binary neural networks in nand memory arrays
US20190369873A1 (en) Peripheral Circuit and System Supporting RRAM-Based Neural Network Training
WO2022006733A1 (en) Apparatus and method for matrix multiplication using processing-in-memory
US11397886B2 (en) Vertical mapping and computing for deep neural networks in non-volatile memory
CN110729011B (zh) 用于类神经网路的存储器内运算装置
CN111128279A (zh) 基于NAND Flash的存内计算芯片及其控制方法
US12026601B2 (en) Stacked artificial neural networks
US20200286553A1 (en) In-memory computation device with inter-page and intra-page data circuits
CN211016545U (zh) 基于NAND Flash的存内计算芯片、存储装置以及终端
US11663471B2 (en) Compute-in-memory deep neural network inference engine using low-rank approximation technique
US12079733B2 (en) Multi-precision digital compute-in-memory deep neural network engine for flexible and energy efficient inferencing
US11556311B2 (en) Reconfigurable input precision in-memory computing
CN113553028B (zh) 基于概率比特电路的问题求解优化方法及系统
CN114171087A (zh) 忆阻器阵列结构及其操作方法、神经网络稀疏化装置
Liu et al. An 1-bit by 1-bit high parallelism in-RRAM macro with co-training mechanism for DCNN applications
CN116386687B (zh) 一种平衡电压降影响的存储器阵列
CN117271435B (zh) 基于忆阻器的存内逻辑电路及全阵列并行计算方法
US20240303037A1 (en) Memory device having bonded integrated circuit dies used for multiplication
KR20230078024A (ko) 삼항 정밀도 xor 논리 연산을 기반으로 하는 반도체 소자 및 이를 포함하는 뉴로모픽 컴퓨팅 시스템
CN116434803A (zh) 存内计算装置、神经网络加速器、电子设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal