KR102441865B1 - 자가 치유 계산 어레이 - Google Patents

자가 치유 계산 어레이 Download PDF

Info

Publication number
KR102441865B1
KR102441865B1 KR1020197021259A KR20197021259A KR102441865B1 KR 102441865 B1 KR102441865 B1 KR 102441865B1 KR 1020197021259 A KR1020197021259 A KR 1020197021259A KR 20197021259 A KR20197021259 A KR 20197021259A KR 102441865 B1 KR102441865 B1 KR 102441865B1
Authority
KR
South Korea
Prior art keywords
data processing
data
processing unit
computational
memory
Prior art date
Application number
KR1020197021259A
Other languages
English (en)
Other versions
KR20190090042A (ko
Inventor
하비에르 에이. 드라크루즈
스티븐 엘. 테이그
데이비드 에드워드 피쉬
윌리엄 씨. 플랜츠
Original Assignee
엑셀시스 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엑셀시스 코포레이션 filed Critical 엑셀시스 코포레이션
Publication of KR20190090042A publication Critical patent/KR20190090042A/ko
Application granted granted Critical
Publication of KR102441865B1 publication Critical patent/KR102441865B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L24/00Arrangements for connecting or disconnecting semiconductor or solid-state bodies; Methods or apparatus related thereto
    • H01L24/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L24/26Layer connectors, e.g. plate connectors, solder or adhesive layers; Manufacturing methods related thereto
    • H01L24/31Structure, shape, material or disposition of the layer connectors after the connecting process
    • H01L24/32Structure, shape, material or disposition of the layer connectors after the connecting process of an individual layer connector
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L24/00Arrangements for connecting or disconnecting semiconductor or solid-state bodies; Methods or apparatus related thereto
    • H01L24/80Methods for connecting semiconductor or other solid state bodies using means for bonding being attached to, or being formed on, the surface to be connected
    • H01L24/83Methods for connecting semiconductor or other solid state bodies using means for bonding being attached to, or being formed on, the surface to be connected using a layer connector
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L24/00Arrangements for connecting or disconnecting semiconductor or solid-state bodies; Methods or apparatus related thereto
    • H01L24/93Batch processes
    • H01L24/94Batch processes at wafer-level, i.e. with connecting carried out on a wafer comprising a plurality of undiced individual devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/26Layer connectors, e.g. plate connectors, solder or adhesive layers; Manufacturing methods related thereto
    • H01L2224/31Structure, shape, material or disposition of the layer connectors after the connecting process
    • H01L2224/32Structure, shape, material or disposition of the layer connectors after the connecting process of an individual layer connector
    • H01L2224/321Disposition
    • H01L2224/32135Disposition the layer connector connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip
    • H01L2224/32145Disposition the layer connector connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being stacked
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/26Layer connectors, e.g. plate connectors, solder or adhesive layers; Manufacturing methods related thereto
    • H01L2224/31Structure, shape, material or disposition of the layer connectors after the connecting process
    • H01L2224/32Structure, shape, material or disposition of the layer connectors after the connecting process of an individual layer connector
    • H01L2224/321Disposition
    • H01L2224/32135Disposition the layer connector connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip
    • H01L2224/32145Disposition the layer connector connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being stacked
    • H01L2224/32146Disposition the layer connector connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being stacked the layer connector connecting to a via connection in the semiconductor or solid-state body
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/80Methods for connecting semiconductor or other solid state bodies using means for bonding being attached to, or being formed on, the surface to be connected
    • H01L2224/83Methods for connecting semiconductor or other solid state bodies using means for bonding being attached to, or being formed on, the surface to be connected using a layer connector
    • H01L2224/8312Aligning
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/80Methods for connecting semiconductor or other solid state bodies using means for bonding being attached to, or being formed on, the surface to be connected
    • H01L2224/83Methods for connecting semiconductor or other solid state bodies using means for bonding being attached to, or being formed on, the surface to be connected using a layer connector
    • H01L2224/838Bonding techniques
    • H01L2224/83894Direct bonding, i.e. joining surfaces by means of intermolecular attracting interactions at their interfaces, e.g. covalent bonds, van der Waals forces
    • H01L2224/83895Direct bonding, i.e. joining surfaces by means of intermolecular attracting interactions at their interfaces, e.g. covalent bonds, van der Waals forces between electrically conductive surfaces, e.g. copper-copper direct bonding, surface activated bonding
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/80Methods for connecting semiconductor or other solid state bodies using means for bonding being attached to, or being formed on, the surface to be connected
    • H01L2224/83Methods for connecting semiconductor or other solid state bodies using means for bonding being attached to, or being formed on, the surface to be connected using a layer connector
    • H01L2224/838Bonding techniques
    • H01L2224/83894Direct bonding, i.e. joining surfaces by means of intermolecular attracting interactions at their interfaces, e.g. covalent bonds, van der Waals forces
    • H01L2224/83896Direct bonding, i.e. joining surfaces by means of intermolecular attracting interactions at their interfaces, e.g. covalent bonds, van der Waals forces between electrically insulating surfaces, e.g. oxide or nitride layers
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • H01L25/18Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof the devices being of types provided for in two or more different subgroups of the same main group of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • H01L25/50Multistep manufacturing processes of assemblies consisting of devices, each device being of a type provided for in group H01L27/00 or H01L29/00
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/10Details of semiconductor or other solid state devices to be connected
    • H01L2924/11Device type
    • H01L2924/14Integrated circuits
    • H01L2924/143Digital devices
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/10Details of semiconductor or other solid state devices to be connected
    • H01L2924/11Device type
    • H01L2924/14Integrated circuits
    • H01L2924/143Digital devices
    • H01L2924/1432Central processing unit [CPU]
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/10Details of semiconductor or other solid state devices to be connected
    • H01L2924/11Device type
    • H01L2924/14Integrated circuits
    • H01L2924/143Digital devices
    • H01L2924/14335Digital signal processor [DSP]
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/10Details of semiconductor or other solid state devices to be connected
    • H01L2924/11Device type
    • H01L2924/14Integrated circuits
    • H01L2924/143Digital devices
    • H01L2924/1434Memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Detergent Compositions (AREA)
  • Saccharide Compounds (AREA)
  • Steroid Compounds (AREA)
  • Manufacturing & Machinery (AREA)

Abstract

본 개시는 인공 지능(AI), 기계 학습(ML), 디지털 신호 처리(DSP), 그래픽 처리 유닛(GPU), 및 기타 계산 집약적 응용과 같은 응용들을 위한 하드웨어 계산 어레이(때때로 시스톨릭 어레이로 지칭됨)에 관한 것이다. 보다 구체적으로, 이는 다수의 집적 회로들을 사용하여 그러한 어레이를 효율적으로 그리고 저렴하게 구현하기 위한 신규하고 유리한 아키텍처 혁신에 관한 것이다. 면-대-면 또는 웨이퍼-대-웨이퍼 접합 후에 그리고 임의의 사전-접합 테스트 없이 계산 어레이들이 테스트되도록 허용하는 하드웨어 및 방법이 개시된다. 사후-접합 테스트에서 발견된 결함은 완전히 또는 부분적으로 치유되어 수율을 증가시키고 비용을 감소시킬 수 있다.

Description

자가 치유 계산 어레이
관련 출원
본 특허 출원은 2017년 12월 20일자로 출원되고 발명의 명칭이 "Self healing compute array"인 미국 가출원 제15/849,468호, 및 2016년 12월 21일자로 출원되고 발명의 명칭이 "Self healing compute array architecture"인 미국 가특허 출원 제62/437,554호에 대해 우선권을 주장하며, 이는 전체적으로 본 명세서에 참고로 포함된다.
기술분야
본 개시는 인공 지능(AI), 기계 학습(ML), 디지털 신호 처리(DSP), 그래픽 처리 유닛(GPU), 및 기타 계산 집약적 응용과 같은 응용들을 위한 하드웨어 계산 어레이(때때로 시스톨릭 어레이(systolic array)로 지칭됨)에 관한 것이다. 보다 구체적으로, 이는 그러한 어레이를 효율적으로 그리고 저렴하게 구현하기 위한 신규하고 유리한 아키텍처 혁신에 관한 것이다.
최근 몇 년간, 이기종 컴퓨팅은 증가하는 수의 응용 영역들에서 두드러지게 되었다. 비디오 디스플레이 및 게이밍, 디지털 신호 처리(DSP), 이미지 처리, 기계 학습, 빅 데이터, 고성능 컴퓨팅, 네트워크 패킷 처리, 데이터 암호화 등과 같은 영역에서 메인스트림 계산 장비에서의 그래픽 처리 유닛(GPU) 및 다른 특수 코프로세서의 사용이 주목된다. 이들 코프로세서는 종종 시스템의 메인 프로세서로서 기능하는 중앙 처리 유닛(CPU) 또는 마이크로 처리 유닛(MPU)의 동종 클러스터를 지원하는 데 사용된다.
이기종 코프로세서들 중 다수는 동종 데이터 처리 유닛(DPU)들의 행들 및 열들을 포함하는 병렬 컴퓨팅 아키텍처들인 계산 어레이들을 사용하여 구현된다. 그 이득은, 부분 결과들에 대한 반복된 계산들이 DPU로부터 DPU로 전달될 수 있고 캐시, 메인 메모리, 버스 등과 같은 외부 자원에 액세스할 필요 없이 어레이 내에서 완전히 수행될 수 있다는 것이다. 이는, 보다 종래의 복합 명령어 세트 컴퓨팅(CISC) 또는 축소 명령어 세트 컴퓨팅(RISC) 계산 아키텍처들에 존재하는 많은 병목 현상들을 피한다.
도 1은 당업계에 공지된 유형의 예시적이고 단순화된 DPU(100)를 도시한다. DPU(100)는 다수의 값 입력들(102), 입력 멀티플렉서(104), 값 메모리(106), 계수 메모리(108), 곱셈 및 누산 회로(110), 및 값 출력(112)을 포함한다.
DPU(100)는 행들 및 열들로 배열된 많은 DPU들(100)의 어레이(도시되지 않음)의 일부이다. 값 입력들(102)은 어레이 내의 복수의 다른 DPU들(100) 내의 복수의 값 출력(112)에 결합된다. 유사하게, 값 출력(112)은 어레이 내의 다른 DPU들(100) 내의 하나 이상의 값 입력들(102)에 결합된다.
멀티플렉서(104)는 다양한 값 입력들(102)을 선택하고 이들을 값 메모리(106)로 보내며, 여기서 그들의 값들은 곱셈 및 누산 회로(110)에 의해 필요할 때까지 저장된다.
계수 메모리(108)는 값 메모리(106)에 저장된 값들과 함께 처리될 복수의 계수들을 저장한다. 예시적인 DPU(100)에서, 곱셈 및 누산 회로(110)는 값 메모리(106)로부터의 값 및 계수 메모리(108)로부터의 계수에 액세스하고, 이들을 함께 곱하고, 그 결과를 값-계수 쌍들의 이전 곱셈들의 합에 더한다. 값 메모리(106) 및 계수 메모리(108)는, 예를 들어, 랜덤 액세스 메모리들(RAM) 또는 선입선출(FIFO) 메모리들일 수 있다. FIFO들을 채용하는 실시예들에서, 계수 메모리(108) 주위의 루프백 연결은 계수 메모리(108)를 통해 반복적으로 동일한 계수들을 순환시키는 데 사용될 수 있는 반면, 새로운 세트들의 값들은 데이터 세트당 한번 값 메모리(106)를 통해 연속적으로 통과된다. 이어서, 곱셈 및 누산 회로(110)로부터의 결과는 값 출력(112)을 통해 어레이 내의 다른 DPU들(100)에 제시된다.
어레이의 목적은 다수의 곱셈 및 누산 연산들을 직렬 및 병렬 둘 다로 수행하는 것이다. 각각의 DPU(100)는 비교적 작은 회로이다. 값 메모리(106) 및 계수 메모리(108)의 깊이들 뿐만 아니라 값들 및 계수들의 비트들의 수는 응용에 의해 결정되고, 설계 선택의 문제이다. 당업자는 DPU(100)가 매우 포괄적인 계산 유닛이고, 당업계에 공지되어 있고 아직 발명되지 않은 유사하거나 다른 동작들을 수행하는 많은 가능한 계산 유닛들이 유사한 계산 어레이들 내에 조합될 수 있다는 것을 이해할 것이다.
휴대 전화, 태블릿, 센서, 보안 및 다른 카메라, 사물 인터넷(IOT), 및 다른 배터리 작동식 디바이스로부터의 데이터 처리 디바이스의 편재성은 작고, 저렴하고, 전력 소모가 낮은 계산 어레이를 갖는 것이 매우 바람직하게 한다. 특히, 계산 어레이 DPU들을 적절한 크기의, 저전력인, 저가의 메모리들과 쌍을 이루게 하는 것이 바람직하다. 불행하게도, 임베디드 정적 랜덤 액세스 메모리(eSRAM) 또는 임베디드 동적 랜덤 액세스 메모리(eDRAM)와 같은 모놀리식 해결책들에는 상당한 면적 오버헤드 비용이 따른다. 외부 메모리 칩들을 사용하는 것은 훨씬 더 고가이며, 외부 인터페이스들은 독립적인, 모바일, 및 기타 배터리 전력공급형 디바이스들에 대해 허용가능하지 않은 전력 레벨들을 사용한다.
도 1은 당업계에 공지된 유형의 예시적이고 단순화된 DPU를 도시한다.
도 2a는 본 발명의 일 실시예에 따른 예시적인 DPU를 도시한다.
도 2b는 본 발명의 일 실시예에 따른 계산 블록 및 메모리 블록으로 분할된 도 2a의 예시적인 DPU를 도시한다.
도 2c는 본 발명의 일 실시예에 따른 도 2a의 예시적인 DPU들의 어레이를 도시한다.
도 2d는 본 발명의 일 실시예에 따른, 메모리 블록이 제거된 도 2b의 예시적인 DPU들의 어레이를 도시한다.
도 2e는 본 발명의 일 실시예에 따른, 메모리 블록들이 DPU들의 나머지 부분 위에 위치된, 도 2b의 예시적인 DPU들의 어레이를 도시한다.
도 2f는 본 발명의 일 실시예에 따른 도 2d 및 도 2e의 구조체들의 측면도를 도시한다.
도 2g는 본 발명의 일 실시예에 따른 도 2d 및 도 2e의 구조체들의 측면도를 도시한다.
도 3a는 본 발명의 일 실시예에 따른 예시적인 DPU를 도시한다.
도 3b는 본 발명의 일 실시예에 따른 계산 블록 및 메모리 블록으로 분할된 도 3a의 예시적인 DPU를 도시한다.
도 3c는 본 발명의 일 실시예에 따른 도 3a의 예시적인 DPU들의 어레이를 도시한다.
도 3d는 본 발명의 일 실시예에 따른, 메모리 블록이 제거된 도 3a의 예시적인 DPU들의 어레이를 도시한다.
도 3e는 본 발명의 일 실시예에 따른, 도 3d의 어레이 내의 DPU들의 위치들 위에 위치된 메모리 블록들의 예시적인 어레이를 도시한다.
도 3f는 본 발명의 일 실시예에 따른, 각각 도 3d 및 도 3e의 조합된 구조체들의 측면도를 도시한다.
도 3g는 본 발명의 다른 실시예에 따른, 각각 도 3d 및 도 3e의 어레이들의 조합된 구조체들의 측면도를 도시한다.
도 4a는 본 발명의 일 실시예에 따른 예시적인 DPU들의 어레이를 도시한다.
도 4b는 본 발명의 일 실시예에 따른 예시적인 DPU들의 어레이를 도시한다.
도 4c는 본 발명의 일 실시예에 따른 예시적인 DPU들의 어레이를 도시한다.
도 4d는 본 발명의 일 실시예에 따른 예시적인 DPU들의 어레이를 도시한다.
당업자는 예시적인 실시예들 및 방법들의 다음의 도면들 및 설명들이 단지 예시적인 것이며 어떤 방식으로도 제한적인 것이 아님을 알 것이다. 본 개시를 검토한 후에 그러한 당업자에게 다른 실시예들이 자명할 것이다.
본 개시의 소정 실시예들은 계산 어레이 내의 DPU들에 대해 적절하게 크기설정된 메모리 어레이들의 면-대-면(F2F) 또는 웨이퍼-대-웨이퍼(W2W) 접합을 이용한다. 이는 메모리가 제거되거나 다른 집적 회로 또는 웨이퍼에 재위치될 수 있기 때문에 DPU들의 크기를 감소시킬 수 있고, 그것은 F2F/W2W 접합이 훨씬 더 작고 더 낮은 전력 I/O 아키텍처를 허용하기 때문에 전력을 해결한다. 일부 실시예들에서, 어레이 자가-치유 특성이 또한 활용되어, 결함있는 DPU들 및/또는 메모리 어레이들 주위의 또는 그를 통한 라우팅을 허용할 수 있다. 이는 어레이 무결성을 개선하고, 다른 식으로 불완전한 유닛들이 사용되고 판매되도록 허용한다.
도 2a는 본 발명의 일 실시예에 따른 예시적인 DPU(200)를 도시한다. DPU(200)는 입력 처리 회로(IPC)(204)에 결합된 복수의 데이터 입력 전도체들(202), 데이터 전도체들(206)을 통해 입력 처리 회로(204)에 결합된 데이터 메모리(DM)(208), 데이터 전도체들(210)을 통해 DM(208)에 결합된 계산 엔진(CE)(212), CE(212)에 결합된 데이터 출력 전도체들(214), 및 각각 제어 전도체들(217, 218, 219)을 통해 IPC(204), DM(208) 및 CE(212)에 결합된 제어 및 테스트 회로(CTC)(216)를 포함한다. 여기에서 사용되는 의미에서, "전도체들"은 "하나 이상의 전기 전도성 신호 라인들의 버스"를 의미한다.
DPU(200)의 동작은 도 1의 DPU(100)의 동작과 유사하지만, 보다 일반적이다. 예를 들어, 일부 실시예들에서, 입력 처리 회로(204)는 멀티플렉서(104)의 멀티플렉싱 기능과 유사한 멀티플렉싱 기능을 수행할 수 있지만, 입력 데이터를 처리하는 것뿐만 아니라 DPU(200)에 대한 테스트 기능 중 일부를 제공하는 데 사용되는 다른 회로부를 포함할 수 있다.
유사하게, 데이터 메모리(208)는 일부 실시예들에서 값 및 계수 데이터에 사용될 수 있지만, 계산 엔진(212)의 기능에 따라 다른 종류의 데이터를 저장하는 데 또한 사용될 수 있다.
계산 엔진(212)은 곱셈 및 누산 기능을 수행할 수 있지만, 다른 유형의 계산을 가능하게 하는 하드웨어 또는 소프트웨어를 또한 포함할 수 있다. CE(212)는 또한 설계 선택의 문제로서 상이한 시간에 상이한 계산을 수행하도록, 전력 공급, 시스템 리셋, 또는 온더플라이(on-the-fly) 시 재구성될 수 있다.
제어 및 테스트 회로(216)는 IPC(204), DM(208), 및 CE(212) 사이의 상호작용들을 조직할 수 있다. CTC(216)는 정상적인 어레이 처리 시간 동안 DPU(200)를 그의 정상적인 계산 모드로 동작시킬 수 있고, 적절한 시간에 테스트 기능들을 제어하고 필요에 따라 DPU(200)를 구성 또는 재구성할 수 있으며, DPU(200) 내외로의 데이터의 흐름을 조직할 수 있다.
DPU(200)의 출력 전도체들(214)이 다수의 DPU들(200)의 입력 데이터 전도체들(202)에 결합되어, 상이한 계산 어레이 구성들뿐만 아니라 계산 어레이 리던던시 및 수리를 허용할 수 있다는 것이 당업자에 의해 이해될 것이다. 유사하게, 충분한 수의 입력 데이터 전도체들(202)이 다른 DPU들(200)에 결합되어, 상이한 계산 어레이 구성들뿐만 아니라 계산 어레이 리던던시 및 수리를 허용할 것임이 당업자에 의해 이해될 것이다.
도 2b는 도 2a의 예시적인 DPU(200)를 도시하며, 이는 그것이 본 발명의 일 실시예에 따른 계산 블록(220) 및 메모리 블록(222)으로 분할되는 것을 도시한다. DPU(200)의 기능은 도 2a에서와 실질적으로 동일할 수 있다. 분할은 DPU(200)의 회로부의 일부가 2개의 상이한 반도체 웨이퍼들 상에 제조되고 이어서 단일 회로로서 함께 조립되도록 허용할 수 있다. 이는 다이 면적 및 패키징 비용을 절약할 수 있을 뿐만 아니라, 계산 블록(220) 및 메모리 블록(222)이 계산 및 메모리 기능들에 더 적합한 상이한 기술 노드들 및/또는 상이한 프로세스들을 사용하여 제조될 수 있게 한다.
도 2c는 본 발명의 일 실시예에 따른 도 2a의 예시적인 DPU들(200)의 어레이(230)를 도시한다. 어레이(230)는 DPU들(200)의 행들 및 열들을 포함한다. 계산 블록들(220) 및 메모리 블록들(222)이 더 도시된다. 이 실시예에서, DPU(200) 및 그의 계산 블록(220) 및 메모리 블록(222)의 각각의 인스턴스는 동일한 집적 회로 내에 구현된다.
DPU(200)들 사이의 라우팅(232)은 추상적으로 음영 영역으로서 도시되어 있다. 라우팅(232)이 도면에서 DPU들(200) 사이에 도시되어 있지만, 당업자는 상호연결부들이 DPU들(200) 주위에서 뿐만 아니라 그들을 통해 이어질 수 있다는 것을 이해할 것이다. 라우팅(232)은 데이터 입력 전도체들(202) 및 데이터 출력 전도체들(212)의 상호연결뿐만 아니라, 글로벌 제어 신호 전도체들, 클록 신호 전도체들, 전력 및 접지 공급 전도체들 등의 분배를 위해 사용된다. 당업자는 이들 상이한 전도체가 어레이(230)에 대한 의도된 응용들의 기능으로서 조직되고 상호연결될 수 있는 많은 방식이 있으며, 본 발명의 각각의 실시예에 대한 설계 선택의 문제라는 것을 이해할 것이다.
도 2d는 본 발명의 일 실시예에 따른, 메모리 블록(230)이 제거된, 도 2a의 예시적인 DPU들(200)의 어레이(240)를 도시한다. 도 2d는 어레이(240) 내의 DPU들(200)의 행들 및 열들을 도시한다. 또한, 계산 블록들(220) 및 라우팅(242)의 추상화가 도시되어 있다. 이들은 도 2c에서의 계산 블록들(220) 및 라우팅(232)과 유사할 수 있다. 각각의 DPU(200)에서, 3개의 작은 상호연결 패드들(내부 "X" 형상을 갖는 라벨링되지 않은 정사각형들)의 추상화들이 도시되어 있다. 이들은 도 2b에 도시된 전도체들(206, 210, 218)의 블록-간 부분들을 위한 플레이스홀더들이며, 궁극적으로 계산 블록(220)의 상부에 조립될 메모리 블록들(222)에 대한 연결점들을 나타낸다.
도 2e는 본 발명의 일 실시예에 따른, 도 2d의 어레이(240) 내의 DPU들(200)의 위치들 위에 위치된 메모리 블록들(222)(도시되지 않음)의 예시적인 어레이(250)를 도시한다. 각각의 메모리 블록(222)에서, 3개의 작은 상호연결 패드들(내부 "X" 형상을 갖는 라벨링되지 않은 정사각형들)의 추상화들이 도시되어 있다. 이들은 도 2b에 도시된 전도체들(206, 210, 218)을 위한 플레이스홀더들이며, 궁극적으로 메모리 블록들(222) 아래에 조립될 계산 블록들(220)에 대한 연결점들을 나타낸다. 일부 실시예들에서, 메모리 블록들(222) 사이에는 직접 상호연결부가 없을 수 있다. 이는 메모리 블록들(222) 사이의 모든 공간이 스크라이브 라인으로서 사용될 수 있게 하기 때문에 유리할 수 있다. 이는 메모리 블록들(222)의 전체 웨이퍼가 임의의 주어진 응용에서 도 2d의 어레이(240)의 크기에 따라 상이한 크기들의 어레이들로 소잉 절단되도록(sawn) 허용한다. 따라서, 하나의 마스크 세트는 어레이(240)가 상이하게 크기설정되고 계산 블록(220)이 상이한 응용들을 위해 상이하게 설계되거나 구성되는 디바이스들을 포함하는 부품들의 전체 군(family)에 대한 메모리 블록들(222) 모두를 제공할 수 있어서, 상당한 마스크 제조 비용을 절약한다. 다른 이점은, 메모리 블록들(222)이 격리되고 독립적이라는 것은, 예를 들어, 전력 및 접지 공급 단락 회로들과 같은 소정 유형의 고장들이 연관된 계산 블록(220)에 의해 단일 메모리 블록(222)으로 격리될 수 있고 다른 메모리 블록들(222)을 손상시키지 않을 수 있다는 것이다.
도 2f는 본 발명의 일 실시예에 따른, 각각 도 2d 및 도 2e의 어레이들(240, 250)의 조합된 구조체들의 측면도(260)를 도시한다. DPU들(200)의 계산 블록(220) 부분들 및 라우팅(242)은 집적 회로(262)의 기판 내에 제조된 것으로 도시되어 있는 반면, DPU들(200)의 메모리 블록(222) 부분들은 집적 회로(264)의 기판 내에 제조된 것으로 도시되어 있다. 소형의 라벨링되지 않은 수직 화살표들은 도 2b에 도시된 전도체들(206, 210, 218)의 블록-간 부분들을 위한 플레이스홀더들이며, 구조체가 완전히 조립될 때 계산 블록들(220)과 메모리 블록들(222) 사이의 연결점들을 나타낸다. 이러한 실시예에서, 조립체는 설계 선택의 문제로서 면-대-면(F2F) 또는 웨이퍼-대-웨이퍼(W2W) 연결을 이용하여 구현될 수 있다.
적합한 F2F 기술의 예는 인벤사스 본딩 테크놀로지 인크.(Invensas Bonding Technologies, Inc.)로부터의 DBI®(Direct Bond Interconnect)일 것이며, 이는 실온 유전체 접합 기술에 이은 저온 어닐링에 의해 집적 회로들을 웨이퍼들에 부착한다. 적합한 W2W 기술의 예는, 또한 인벤사스 본딩 테크놀로지 인크.로부터의 지본드(ZiBond)®일 것이며, 이는 동일하거나 상이한 열팽창 계수(CTE)를 갖는 웨이퍼들 또는 다이 사이에 강한 접합을 형성하는 저온 균질(예컨대, 산화물-대-산화물) 직접 접합 기술이다. 당업자는 다른 F2F 및 W2W 접합 기술들이 사용될 수 있으며 본 발명의 범주 내에 속할 수 있음을 알 것이다.
도 2g는 본 발명의 일 실시예에 따른, 각각 도 2d 및 도 2e의 어레이들(240, 250)의 조합된 구조체들의 측면도(270)를 도시한다. DPU들(200)의 계산 블록(220) 부분들 및 라우팅(242)은 집적 회로(272)의 기판 내에 제조된 것으로 도시되어 있는 반면, DPU들(200)의 메모리 블록 부분들은 집적 회로(274)의 기판 내에 제조된 것으로 도시되어 있다. 소형의 라벨링되지 않은 수직 화살표들은 도 2b에 도시된 전도체들(206, 210, 218)의 블록-간 부분들을 위한 플레이스홀더들이며, 구조체가 완전히 조립될 때 계산 블록들(220)과 메모리 블록들(222) 사이의 연결점들을 나타낸다. 이 실시예에서, 조립체는 규소-관통 비아(TSV)를 이용한 다이 스태킹 기술을 사용하여 구현될 것이다. 다수의 TSV가 이들을 채용하는 임의의 실시예에서 사용되지만, 단지 하나의 예시적인 TSV(276)만이 도 2g에 라벨링되어 있다. 당업자는 많은 다른 다이-간 접합(inter-die bonding) 및 TSV 제조 기술들이 사용될 수 있고 본 발명의 범주 내에 속할 수 있음을 알 것이다.
도 3a는 본 발명의 일 실시예에 따른 예시적인 DPU(300)를 도시한다. DPU(300)는 입력 처리 회로(IPC)(304)에 결합된 복수의 데이터 입력 전도체들(302), 데이터 전도체들(306)을 통해 IPC(304)에 결합된 데이터 메모리(DM)(308), 데이터 전도체들(310)을 통해 DM(308)에 결합된 계산 엔진(CE)(312), CE(312)에 결합된 데이터 출력 전도체들(314), 각각 제어 전도체들(317, 318, 319)을 통해 IPC(304), DM(308) 및 CE(312)에 결합된 제어 및 테스트 회로(CTC)(316), 및 데이터 전도체들(322)에 의해 DM(308)에 그리고 데이터 전도체들(323)에 의해 CE(312)에, 제어 전도체들(324)을 통해 CTC(316)에, 그리고 데이터 공유 전도체들(326)에 결합된 데이터 공유 회로(DSC)(320)를 포함한다. 여기에서 사용되는 의미에서, "전도체들"은 "하나 이상의 전기 전도성 신호 라인들의 버스"를 의미한다.
DPU(300)의 동작은 도 1의 DPU(100)의 동작과 유사하지만, 보다 일반적이다. 예를 들어, 일부 실시예들에서, 입력 처리 회로(304)는 멀티플렉서(104)의 멀티플렉싱 기능과 유사한 멀티플렉싱 기능을 수행할 수 있지만, 입력 데이터를 처리하는 것뿐만 아니라 입력 데이터 라인들(302)의 DPU-간 연결성을 포함하는 DPU(300)에 대한 테스트 기능 중 일부를 제공하는 데 사용되는 다른 회로부를 포함할 수 있다.
유사하게, 데이터 메모리(308)는 일부 실시예들에서 값 및 계수 데이터에 사용될 수 있지만, 계산 엔진(312)의 기능에 따라 다른 종류의 데이터를 저장하는 데 또한 사용될 수 있다.
계산 엔진(312)은 곱셈 및 누산 기능을 수행할 수 있지만, 다른 유형의 계산을 가능하게 하는 하드웨어 또는 소프트웨어를 또한 포함할 수 있다. CE(312)는 또한 설계 선택의 문제로서 상이한 시간에 상이한 계산을 수행하도록, 전력 공급, 시스템 리셋, 또는 온더플라이 시 구성 또는 재구성될 수 있다.
제어 및 테스트 회로(316)는 IPC(304), DM(308), CE(312), 및 DSC(320) 사이의 상호작용들을 조직할 수 있다. CTC(316)은 정상적인 어레이 처리 시간 동안 DPU(300)를 그의 정상적인 계산 모드로 동작시키고, 적절한 시간에 그의 테스트 기능들을 제어하고, 필요에 따라 DPU(300)의 임의의 부분을 구성 또는 재구성할 수 있고, 결함있는 DPU(300), 결함있는 DM 또는 결함있는 CE를 대체하기 위해 DSC(320)의 라우팅 상호연결 구성을 변화시킬 수 있고, DPU(300) 내외로의 데이터의 흐름을 조직할 수 있다.
DSC(320)는 DPU(300)로부터 동일한 계산 어레이 내의 다른 DPU들(300)로 스위칭 기능을 제공할 수 있다. 일부 실시예들에서, 공유 데이터 전도체들(326)과 조합된 DSC(320)는 하나의 DPU(300) 내의 계산 엔진(312)이 다른 DPU(300) 내의 데이터 메모리(308)에 액세스하도록 허용할 수 있다. 유사하게, 일부 실시예들에서, 예를 들어 오버플로우 데이터와 같은 데이터가 공유 데이터 전도체들(326)을 통해 상이한 DPU들(300) 내의 계산 엔진들(312) 사이에서 공유될 수 있다. 다른 실시예들에서, 전체 CE(312) 또는 DM(308)이 어레이 수리의 일부로서 완전히 교체될 수 있다.
DPU(300)의 출력 전도체들(314)이 다수의 DPU들(300)의 입력 데이터 전도체들(302)에 결합되어, 상이한 계산 어레이 구성들뿐만 아니라 계산 어레이 리던던시 및 수리를 허용할 수 있다는 것이 당업자에 의해 이해될 것이다. 유사하게, 충분한 수의 입력 데이터 전도체들(302)이 다른 DPU들(300)에 결합되어, 상이한 계산 어레이 구성들뿐만 아니라 계산 어레이 리던던시 및 수리를 허용할 수 있음이 당업자에 의해 이해될 것이다. 공유 데이터 전도체들(326)이 단방향성 또는 양방향성일 수 있고, 충분한 수의 공유 데이터 전도체들(326)이 다른 DPU들(300)의 데이터 공유 전도체들(326)에 결합되어 상이한 계산 어레이 구성들을 허용하여, 병렬 계산을 실행하는 DPU로 오버플로우 데이터를 전달하도록 하고, 그리고 계산 어레이 리던던시 및 수리를 허용하도록 하는 것이 그러한 당업자에 의해 또한 이해될 것이다. 그러한 당업자는 또한, 일부 실시예들에서, 상이한 컴퓨터 어레이 구성들, 리던던시, 및 수리를 단순화하기 위해 하나 초과의 출력 데이터 전도체(314)가 존재할 수 있다는 것을 이해할 것이다.
도 3b는 도 3a의 예시적인 DPU(300)를 도시하며, 이는 그것이 본 발명의 일 실시예에 따른 계산 블록(330) 및 메모리 블록(332)으로 분할되는 것을 도시한다. DPU(300)의 기능은 도 3a에서와 실질적으로 동일할 수 있다. 분할은 DPU의 회로부의 일부가 2개의 상이한 반도체 웨이퍼들 상에 제조되고 이어서 단일 회로로서 함께 조립되도록 허용할 수 있다. 이는 다이 면적 및 패키징 비용을 절약할 뿐만 아니라, 계산 블록(330) 및 메모리 블록(332)이 계산 및 메모리 기능들에 더 적합한 상이한 기술 노드들 및/또는 상이한 프로세스들을 사용하여 제조될 수 있게 한다. 일부 실시예들에서 CTC(316)는, 결함있는 메모리 블록(332)을 격리시키고, 계산 블록(330)이 데이터 전도체들(323), DSC(320) 및 데이터 공유 전도체들(326)을 통해 다른 DPU(300) 내의 메모리 블록(332)으로부터의 데이터에 액세스하는 것을 허용하도록, DPU(300)를 구성하는 데 사용될 수 있다. 유사하게, 일부 실시예들에서 CTC(316)는, 결함있는 계산 블록(330)을 격리시키고, 메모리 블록(332)이 데이터 전도체들(322), DSC(320) 및 데이터 공유 전도체들(326)을 통해 다른 DPU(300) 내의 계산 블록(330)으로부터 액세스되는 것을 허용하도록, DPU(300)를 구성하는 데 사용될 수 있다.
도 3c는 본 발명의 일 실시예에 따른 도 3a의 예시적인 DPU들(300)의 어레이(340)를 도시한다. 어레이(340)는 DPU들(300)의 행들 및 열들을 포함한다. 계산 블록들(330) 및 메모리 블록들(332)이 더 도시된다. 이 실시예에서, DPU(300) 및 그의 계산 블록(330) 및 메모리 블록(332)의 각각의 인스턴스는 동일한 집적 회로 내에 구현된다.
DPU(300)들 사이의 라우팅(342)은 추상적으로 음영 영역으로서 도시되어 있다. 라우팅(342)이 도면에서 DPU들(300) 사이에 도시되어 있지만, 당업자는 상호연결부들이 DPU들(300) 주위에서 뿐만 아니라 그들을 통해 이어질 수 있다는 것을 이해할 것이다. 라우팅(342)은 데이터 입력 전도체들(302), 데이터 출력 전도체들(312), 및 데이터 공유 전도체들(326)의 상호연결뿐만 아니라, 글로벌 제어 신호 전도체들, 클록 신호 전도체들, 전력 및 접지 공급 전도체들 등의 분배를 위해 사용된다. 당업자는 이들 상이한 전도체가 어레이(340)에 대한 의도된 응용들의 기능으로서 조직되고 상호연결될 수 있는 많은 방식이 있으며, 본 발명의 각각의 실시예에 대한 설계 선택의 문제라는 것을 이해할 것이다.
도 3d는 본 발명의 일 실시예에 따른, 메모리 블록이 제거된 도 3a의 예시적인 DPU들(300)의 어레이(350)를 도시한다. 도 3d는 어레이(350) 내의 DPU들(300)의 행들 및 열들을 도시한다. 또한, 계산 블록들(330) 및 라우팅(342)의 추상화가 도시되어 있다. 이들은 도 3c에서의 계산 블록들(330) 및 라우팅(342)과 유사할 수 있다. 각각의 DPU(300)에서, 4개의 작은 상호연결 패드들(내부 "X" 형상을 갖는 라벨링되지 않은 정사각형들)의 추상화들이 도시되어 있다. 이들은 도 3b에 도시된 전도체들(306, 310, 318, 324)의 블록-간 부분들을 위한 플레이스홀더들이며, 궁극적으로 계산 블록(330)의 상부에 조립될 메모리 블록들(332)에 대한 연결점들을 나타낸다.
도 3e는 본 발명의 일 실시예에 따른, 도 3d의 어레이(340) 내의 DPU들(300)의 위치들 위에 위치된 메모리 블록들(332)(도시되지 않음)의 예시적인 어레이(360)를 도시한다. 각각의 메모리 블록(332)에서, 4개의 작은 상호연결 패드들(내부 "X" 형상을 갖는 라벨링되지 않은 정사각형들)의 추상화들이 도시되어 있다. 이들은 도 3b에 도시된 전도체들(306, 310, 318, 324)을 위한 플레이스홀더들이며, 궁극적으로 메모리 블록들(332) 아래에 조립될 계산 블록들(330)에 대한 연결점들을 나타낸다. 이 실시예에서, 메모리 블록들(332) 사이에는 직접 상호연결부가 없다. 이러한 격리는 동일한 웨이퍼가 상이한 크기들의 어레이(360)를 포함하는 집적 회로들로 스크라이빙되도록 허용하여 상이한 응용들에 대해 상이한 크기들의 어레이(350)와 쌍을 이루도록 허용한다. 따라서, 하나의 마스크 세트는 어레이(350)가 상이하게 크기설정될 수 있고 계산 블록(220)이 상이한 응용들을 위해 상이하게 설계되거나 구성될 수 있는 디바이스들을 포함하는 부품들의 전체 군에 대한 메모리 블록들(322) 모두를 제공할 수 있어서, 상당한 마스크 제조 비용을 절약한다.
도 3f는 본 발명의 일 실시예에 따른, 각각 도 3d 및 도 3e의 어레이들(350, 360)의 조합된 구조체들의 측면도(370)를 도시한다. DPU들(300)의 계산 블록(330) 부분들 및 라우팅(352)은 집적 회로(372)의 기판 내에 제조된 것으로 도시되어 있는 반면, DPU들(300)의 메모리 블록(332) 부분들은 집적 회로(374)의 기판 내에 제조된 것으로 도시되어 있다. 소형의 라벨링되지 않은 수직 화살표들은 도 3b에 도시된 전도체들(306, 310, 318, 324)의 블록-간 부분들을 위한 플레이스홀더들이며, 구조체가 완전히 조립될 때 계산 블록들(330)과 메모리 블록들(332) 사이의 연결점들을 나타낸다. 이러한 실시예에서, 조립체는 설계 선택의 문제로서 임의의 면-대-면(F2F) 또는 웨이퍼-대-웨이퍼(W2W) 접합 연결을 이용하여 구현될 수 있다.
도 3g는 본 발명의 일 실시예에 따른, 각각 도 3d 및 도 3e의 어레이들(350, 360)의 조합된 구조체들의 측면도(380)를 도시한다. DPU들(300)의 계산 블록(330) 부분들 및 라우팅(352)은 집적 회로(382)의 기판 내에 제조된 것으로 도시되어 있는 반면, DPU들(300)의 메모리 블록 부분들은 집적 회로(384)의 기판 내에 제조된 것으로 도시되어 있다. 소형의 라벨링되지 않은 수직 화살표들은 도 3b에 도시된 전도체들(306, 310, 318, 324)의 블록-간 부분들을 위한 플레이스홀더들이며, 구조체가 완전히 조립될 때 계산 블록들(330)과 메모리 블록들(332) 사이의 연결점들을 나타낸다. 이 실시예에서, 조립체는 규소-관통 비아(TSV)를 이용한 다이 스태킹 기술을 사용하여 구현될 것이다. 다수의 TSV가 이들을 채용하는 임의의 실시예에서 사용되지만, 단지 하나의 예시적인 TSV(386)만이 도 3g에 라벨링되어 있다.
도 3b로 돌아가면, 데이터 공유 회로(320)는, 데이터 공유 전도체들(326)을 이용하여 도 3c 내지 도 3g에 도시된 것들과 같은 어레이들 내의 다수의 DPU들(300) 사이에서 데이터가 공유될 수 있게 하기 때문에, 유리하다. 그것이 제공하는 하나의 이점은 계산의 무결성을 보장하기 위해 오버플로우 결과를 인접한 DPU들로 전달하는 방식이다. 그것이 제공하는 다른 이점은 어레이가 자가-치유되는 것을 허용하는 것인데, 그 이유는 DPU(300)가 저장을 위해 다른 DPU(300) 내의 데이터 메모리(308)를 이용할 수 있기 때문이다. 세 번째 이점은, 예를 들어 단일, 더블, 쿼드러플 등을 사용하는 부동 소수점 계산들을 사용하는 것과 같이 DPU들(300) 사이에서 계산 입력 및 다른 데이터를 공유할 것을 요구하는 계산들에 대해, GPU들, DSP들 및 다른 어레이 프로세서들에서의 일부 SIMD(단일 명령, 다중 데이터) 계산 아키텍처들에서 행해지는 것과 같은 정밀도를 허용한다는 것이다. 네 번째 이점은, DPU들(300) 사이의 거리가 감소되어서 DPU-간 드라이버들이 더 작을 수 있기 때문에 3차원(3D) 구조체가 성능을 향상시킨다는 것이다. 다섯 번째 이점은, 3D 구조체가 또한, 특히 F2F 및 W2W 접합 기술을 채용하는 실시예들에서, 다이-간 연결부들에서의 커패시턴스를 감소시킨다는 것이다. 여섯 번째 이점은, 더 낮은 커패시턴스가 DPU 어레이들에서의 전체 전력을 감소시킨다는 것이다. 일곱 번째 이점은, 감소된 거리들이 결함있는 계산 블록들(330) 및 결함있는 메모리 블록들(332)의 교체를 용이하게 하다는 것이다. 당업자는 상이한 DPU들(300) 내의 DSC들(320)이 데이터 공유 전도체들(326)을 이용하여 서로 결합될 수 있는 많은 상이한 방식들이 있다는 것을 인식할 것이다.
도 4a는 본 발명의 일 실시예에 따른 도 3a의 예시적인 DPU들(300)의 어레이(400)를 도시한다. DPU들(300) 사이의 다양한 상호연결부들의 라우팅은 도면 부호(402)로 추상적으로 도시된다. DPU들은 데이터 공유 전도체들(326)의 논의를 용이하게 하기 위해 300A 내지 300H, 300J 내지 300N, 및 300P 내지 300Z로 라벨링된다. 이 실시예에서, DPU(300Q)는 하나 이상의 데이터 공유 전도체들(326)(라벨링되지 않음)을 포함하는 상이한 그룹들을 통해 그의 4개의 가장 가까운 이웃들인 DPU들(300J, 300P, 300R, 300W)에 결합된 것으로 도시된다. 데이터 공유 전도체들(326) 각각은 임의의 주어진 실시예에서 설계 선택의 문제로서 단방향 방식 또는 양방향 방식으로 데이터를 전달하도록 구성될 수 있다.
도 4b는 본 발명의 일 실시예에 따른 도 3a의 예시적인 DPU들(300)의 어레이(410)를 도시한다. DPU들(300) 사이의 다양한 상호연결부들의 라우팅은 도면 부호(412)로 추상적으로 도시된다. DPU들은 데이터 공유 전도체들(326)의 논의를 용이하게 하기 위해 300A 내지 300H, 300J 내지 300N, 및 300P 내지 300Z로 라벨링된다. 이 실시예에서, DPU(300Q)는 하나 이상의 데이터 공유 전도체들(326)(라벨링되지 않음)을 포함하는 상이한 그룹들을 통해 그의 8개의 가장 가까운 이웃들인 DPU들(300H, 300J, 300K 300P, 300R, 300V, 300W, 300X)에 결합된 것으로 도시된다. 데이터 공유 전도체들(326) 각각은 임의의 주어진 실시예에서 설계 선택의 문제로서 단방향 방식 또는 양방향 방식으로 데이터를 전달하도록 구성될 수 있다.
도 4c는 본 발명의 일 실시예에 따른 도 3a의 예시적인 DPU들(300)의 어레이(420)를 도시한다. DPU들(300) 사이의 다양한 상호연결부들의 라우팅은 도면 부호(422)로 추상적으로 도시된다. DPU들은 데이터 공유 전도체들(326)의 논의를 용이하게 하기 위해 300A 내지 300H, 300J 내지 300N, 및 300P 내지 300Z로 라벨링된다. 이 실시예에서, 각각의 행 상의 DPU들(300)은 데이터 공유 전도체들(326)(라벨링되지 않음)을 통해 수평 방향들로 그의 2개의 가장 가까운 이웃들에 결합된 것으로 도시된다. 예를 들어, 하나 이상의 데이터 공유 전도체들(326)을 포함하는 상이한 그룹들을 통해, DPU(300Q)는 DPU(300P) 및 DPU(300R)에 결합되고, DPU(300L)는 DPU(300K) 및 DPU(300M)에 결합된다. 이 실시예는 데이터 공유 전도체들(326)이 모든 방향으로 존재할 필요가 없다는 것을 예시한다. 데이터 공유 전도체들(326) 각각은 임의의 주어진 실시예에서 설계 선택의 문제로서 단방향 방식 또는 양방향 방식으로 데이터를 전달하도록 구성될 수 있다. 당업자는 추상적인 상호연결부(422)에 존재하는 입력 전도체들(302) 및 출력 전도체들(314)이 있고 이 실시예에서 이들 전도체를 통해 수직 통신이 가능하다는 것을 알 것이다.
도 4d는 본 발명의 일 실시예에 따른 예시적인 DPU들(300)의 어레이(430)를 도시한다. DPU들(300) 사이의 다양한 상호연결부들의 라우팅은 도면 부호(432)로 추상적으로 도시된다. DPU들은 데이터 공유 전도체들(326)의 논의를 용이하게 하기 위해 300A 내지 300H, 300J 내지 300N, 및 300P 내지 300Z로 라벨링된다. 이 실시예에서, 각각의 행 상의 DPU들(300)은 데이터 공유 전도체들(326)(라벨링되지 않음)의 그룹들을 통해 수평 방향들로 그의 2개의 가장 가까운 이웃들에 결합된 것으로 도시된다. 예를 들어, DPU(300Q)는 DPU(300P) 및 DPU(300R)에 결합되고, DPU(300L)는 DPU(300K) 및 DPU(300M)에 결합된다. 또한, 데이터 공유 전도체들(326)의 다른 그룹이, 각각의 DPU(300)를, 수평으로 2개의 열들만큼 우측으로 그리고 수직으로 하나의 행만큼 위에 있는 DPU(300)에 연결하는 것으로 도시된다. 예를 들어, 하나 이상의 데이터 공유 전도체들(326)을 포함하는 상이한 그룹들을 통해, DPU(300Q)는 DPU(300U) 및 DPU(300L)에 결합되고, DPU(300K)는 DPU(300P) 및 DPU(300F)에 결합된다. 이 실시예는 데이터 공유 전도체들(326)이 어레이(430) 내에서 수평으로나 수직으로 대칭적으로 배치될 필요가 없다는 것을 예시한다. 유사하게, 대각선, 원형 또는 임의의 다른 형태의 대칭이 필요하지 않다. 데이터 공유 전도체들(326) 각각은 임의의 주어진 실시예에서 설계 선택의 문제로서 단방향 방식 또는 양방향 방식으로 데이터를 전달하도록 구성될 수 있다.
당업자는, 수평 및 수직, 위 및 아래, 좌측 또는 우측 등과 같은 용어로 DPU들(300) 및 이들의 연관된 전도체들(302, 314, 326)의 상대 위치들을 기술하는 것이 추상적인 것이고 특정 도면에서 국부적으로 조건들을 기술하는 것임을 알 것이다. 예를 들어, 수평 및 수직은 단순히 어레이를 90°만큼 회전시킴으로써 교환될 수 있다. 유사하게, 어레이를 미러링하는 것은 좌측을 우측으로 그리고/또는 위를 아래로 교환할 수 있다. 이러한 당업자는 또한, 메모리 블록들(332)이 계산 블록들(330) 위에 배치된 실시예들에서, 이것 또한 추상적이었고, 위 및 아래는 조립체의 단순한 미러링 또는 회전에 의해 교환될 수 있다는 것을 이해할 것이다.
도 3e를 다시 참조하면, 일부 실시예들에서, 메모리 블록들(332) 사이에 상호연결부가 없을 수 있다. 이는 메모리 블록들이 조립 전에 완전히 독립적일 수 있음을 의미한다. 이들은, 프로빙(probing)에 의해 종래의 방식으로, 또는 이들이 도 3d에 도시된 계산 블록들(330)을 포함하는 다이와 함께 조립되어 DPU(300)의 완전한 인스턴스들을 형성한 후에, 테스트될 수 있다. 이는 또한, 계산 블록들(220)과 함께 조립되어 DPU(200)의 완전한 인스턴스들을 형성할 때 도 2e의 메모리 블록들(222)에 대해서도 그러할 수 있다.
다시 도 3b를 참조하면, 제어 및 테스트 회로(CTC)(316)는 IPC(304), DM(308), CE(312) 및 DSC(320)에 결합된 것으로 도시되어 있다. 테스트 모드에서, CTC(316)는 계산 블록(330) 내의 모든 회로부의 로컬 내장 자체-테스트(built-in self-test, BIST)를 실행할 수 있다. 메모리 블록(332)이 계산 블록(330)에 결합될 때, CTC(316)는 전체 DPU(300)의 로컬 BIST를 실행할 수 있다. 일부 실시예들에서, 이것은 메모리 블록(332)이 테스트될 수 있는 유일한 방법이다.
예를 들어 각각 도 3f 및 도 3g의 집적 회로들(374, 384)과 같이 제조될 때 집적 회로 메모리 블록들(332)을 프로빙 및 테스트하는 테스트 비용을 피하는 것이 바람직할 수 있다. 이러한 접근법이 취해지는 실시예들에서, 다양한 이점들이 증가될 수 있다.
일부 실시예들에서, 단지 메모리 블록들(332)(및 가능하게는 몇 개의 위치들 내의 일부 테스트 구조체들)만을 포함하는 전체 웨이퍼가 제조될 수 있다. 그러한 웨이퍼는 계산 블록들(330)의 상이한 크기의 어레이들을 갖는 집적 회로들을 위한 메모리 어레이들(360)을 제공하는 데 사용될 수 있다. 그러한 실시예에서, 메모리 블록(332) 웨이퍼는 면-대-면 또는 규소-관통 비아 접합 기법들의 사용에 의해 계산 블록들(330)의 특정 어레이에 맞도록 상이한 수의 행들 및 열들의 직사각형들로 스크라이빙될 수 있다.
일부 실시예들에서, 단지 메모리 블록들(332)(및 가능하게는 몇 개의 위치들 내의 일부 테스트 구조체들)만을 포함하는 전체 웨이퍼가 제조될 수 있고, 그리고 정확하게 정렬될 때, 이 웨이퍼는 웨이퍼-대-웨이퍼 접합 기술을 사용하여 계산 블록들(330)(및 다른 회로들)을 포함하는 계산 어레이들을 갖는 집적 회로들을 포함하는 웨이퍼에 접합될 수 있다. 계산 블록들(330)과 정렬되는 메모리 블록들(332)은 DPU들(300)을 형성할 것이지만, 메모리 블록들(332)의 나머지는 낭비될 수 있다. 메모리 블록(332) 웨이퍼의 미사용 부분을 에치-백(etch back)하거나 TSV들 또는 일부 다른 메커니즘들을 사용하여 계산 블록(330) 웨이퍼를 연결하는 것이 필요할 수 있다.
F2F 또는 W2W 기술은 상당한 비용 감소를 제공하지만, 이들은 또한 난제를 생성한다. 특히, 전체 DPU(300)가 조립된 후에만 메모리 블록(332)을 테스트하기 위해 CTC(316)를 사용하는 것은 조립 후에 검출된 결함을 보정하는 방법을 필요로 할 수 있다.
도 2a로부터의 DPU(200)를 이용하는 실시예들에서, 계산 블록(220) 또는 메모리 블록(222)에서의 결함은 전체 DPU(200)가 결함있는 것으로 라벨링되거나 사용되지 않을 것을 요구한다. 이를 달성하기 위한 많은 방법이 있다. 예를 들어, 일부 실시예들에서, DPU들(200)의 통상적으로 사용되지 않은 행들 및/또는 열들 및 스페어가 삽입될 수 있다. 결함있는 DPU(200)가 위치될 때, 행 또는 열 중 어느 하나는 비활성화되고 결함있는 행 또는 열을 통해 신호 다중화되어 어레이가 정상적으로 기능하도록 허용할 수 있다.
다른 실시예들에서, DPU들(200)의 어레이에서 사용되는 알고리즘은 계산의 전체 정확도를 파괴하지 않으면서 몇 개의 개별 DPU들(200)의 비-동작을 허용하기에 충분히 내성이 있을 수 있다. 이것이 달성될 수 있는 다양한 방법이 있다. 예를 들어, 계산 엔진(212)의 출력은 공칭 또는 평균 출력 값으로 설정될 수 있다. 이러한 방식으로, 데이터 출력 전도체들(214)은 어레이 내의 다른 DPU들(200)에 공칭 또는 평균 값을 제시할 것이고, 어레이의 전체 결과들은 충분히 정확할 수 있다.
도 3a로부터의 DPU(300)를 이용하는 실시예들에서, 계산 블록(330) 또는 메모리 블록(332)에서의 결함은 전체 DPU(300)가 결함있는 것으로 라벨링되거나 사용되지 않을 것을 요구하지 않을 수 있다. 데이터 공유 전도체들(326)과 조합된 데이터 공유 회로(320)는 결함있는 메모리 블록(332)을 갖는 계산 블록(330)이 인근의 DPU(300) 내의 데이터 메모리(308)의 일부 또는 전부를 사용하도록 허용할 수 있다. 이는 어레이가 더 우수한 자가-치유 작업을 수행하고 더 높은 수율로 F2F 또는 W2W 접합 후의 테스트를 허용할 잠재력을 갖는다. 유사한 방식으로, 결함있는 계산 블록(330)은 그의 메모리 블록(332)을 인접한 완전 기능 계산 블록(330)과 공유할 수 있다. 그러한 공유 및 자가-치유 기능의 정도 및 상호연결 패턴은 특정 계산 어레이 설계에 대한 설계 선택의 문제이다.
결함있는 DPU(300)를 수리하는 다른 방식은 계산 블록(330) 내부의 일부 프로그래밍가능 로직 및/또는 프로그래밍가능 라우팅을 포함하는 것일 수 있다. 일부 실시예들에서, 계산 블록(330)의 기능 부분은 적어도 부분적으로 프로그래밍가능 로직 및/또는 프로그래밍가능 라우팅으로 구현될 수 있다. 이러한 DPU(300)는 정상적인 동작의 상이한 부분들 동안 다수의 상이한 계산 기능들을 생성하기 위해 간격을 두고 재프로그래밍될 수 있다.
일부 실시예들에서, DPU(300)의 분할은 메모리 기능으로부터 계산 기능을 분리시키는 것 이외의 다른 이유로 행해질 수 있다. 예를 들어, DPU(330)는 계산 기능의 일부 및 메모리 기능의 일부가 부분적으로 각각의 파티션에 있도록 분할될 수 있다. 이는, 와이어 길이를 감소시키고 계산 속도를 증가시키기 위해 서로 바로 위 및 아래에 2개의 계산 기능 부분들을 가짐으로써 F2F 또는 W2W 구조체에서 이점들을 가질 수 있다. 유사한 이점들이, 단편적인 메모리 기능들 각각이 더 작아지고 따라서 단일의 더 큰 메모리 기능보다 개별적으로 더 빠르게 되는 것에 생길 수 있다.
일부 실시예들에서, 상이한 DPU들(300) 내의 계산 엔진들(312)은 상이한 계산 기능들을 가질 수 있다. 이들은 계산 엔진들(312) 내로 하드와이어될 수 있거나, 또는 스타트업 시, 시스템 리셋 동안, 상이한 동작 모드들 동안, 또는 요청 시에, 제어 및 테스트 회로들(316)에 의해 계산 엔진들(312) 내로 프로그래밍될 수 있다. 이는 또한 DPU(200), 계산 엔진(212) 및 제어 및 테스트 회로(216)를 이용하는 실시예들에서 행해질 수 있다.
당업자는 위의 도면들, 설명들이 단지 예시적인 것임을 알 것이다. 본 개시를 검토한 후에 그러한 당업자에게 많은 다른 실시예가 자명할 것이다. 따라서, 본 발명은 허여된 청구범위에 의한 것을 제외하고는 어떠한 방식으로도 제한되어서는 안 된다.

Claims (18)

  1. 데이터 처리 유닛들의 행들 및 열들을 포함하는 계산 어레이로서, 각각의 데이터 처리 유닛은,
    복수의 데이터 입력 전도체들 - 각각의 데이터 입력 전도체는 하나 이상의 전기 전도성 신호 라인들의 버스를 포함함 -;
    상기 복수의 데이터 입력 전도체들에 결합된 입력 처리 회로;
    상기 입력 처리 회로에 결합된 데이터 메모리;
    상기 데이터 메모리에 결합된 계산 엔진;
    상기 계산 엔진에 결합된 데이터 출력 전도체 - 상기 데이터 출력 전도체는 하나 이상의 전기 전도성 신호 라인들의 버스를 포함함 -; 및
    상기 입력 처리 회로, 상기 데이터 메모리, 및 상기 계산 엔진에 결합된 제어 및 테스트 회로를 포함하고, 각각의 데이터 입력 전도체는 다른 데이터 처리 유닛의 상기 데이터 출력 전도체에 결합되고, 각각의 데이터 출력 전도체는 다른 데이터 처리 유닛의 데이터 입력 전도체에 결합되는, 계산 어레이.
  2. 제1항에 있어서,
    각각의 데이터 처리 유닛은 상기 데이터 메모리를 실질적으로 포함하는 메모리 블록 및 상기 데이터 처리 유닛의 나머지를 포함하는 계산 블록으로 분할되고,
    동일한 데이터 처리 유닛 내의 각각의 메모리 블록 및 그의 연관된 계산 블록은 2개의 상이한 집적 회로들 내에 제조되고,
    동일한 데이터 처리 유닛 내의 각각의 메모리 블록 및 상기 계산 블록은 면-대-면 접합, 웨이퍼-대-웨이퍼 접합, 규소-관통 비아 연결부들, 유전체 접합 기술, 산화물-대-산화물 직접 접합, 및 하이브리드 접합으로 이루어진 군으로부터의 적어도 하나의 상호연결 기술에 의해 함께 결합되는, 계산 어레이.
  3. 제2항에 있어서, 각각의 제어 및 테스트 회로는,
    그의 데이터 처리 유닛을 기능에 대해 테스트하고,
    그의 데이터 처리 유닛에 결합된 상기 다른 데이터 처리 유닛들 사이의 상기 데이터 입력 전도체 연결부들 및 상기 데이터 출력 전도체 상호연결부들을 테스트하도록 구성되는, 계산 어레이.
  4. 제3항에 있어서, 각각의 제어 및 테스트 회로는 그의 데이터 처리 유닛 내의 상기 계산 엔진의 계산 기능을 프로그래밍하도록 구성되는, 계산 어레이.
  5. 제1항에 있어서, 각각의 데이터 처리 유닛은,
    복수의 다른 데이터 처리 유닛들의 데이터 공유 전도체들에 결합된 복수의 데이터 공유 전도체들 - 각각의 데이터 공유 전도체는 하나 이상의 전기 전도성 신호 라인들의 버스를 포함함 -; 및
    상기 데이터 공유 전도체들, 상기 데이터 메모리, 상기 계산 엔진, 및 상기 제어 및 테스트 회로에 결합된 데이터 공유 회로를 추가로 포함하며, 상기 데이터 공유 회로는,
    상기 데이터 메모리를 상기 복수의 데이터 공유 전도체들에 선택적으로 결합시키고,
    상기 계산 엔진을 상기 데이터 공유 전도체들에 선택적으로 결합시키도록 구성되는, 계산 어레이.
  6. 제5항에 있어서,
    각각의 데이터 처리 유닛은 상기 데이터 메모리를 실질적으로 포함하는 메모리 블록 및 상기 데이터 처리 유닛의 나머지를 실질적으로 포함하는 계산 블록으로 분할되고,
    동일한 데이터 처리 유닛 내의 각각의 메모리 블록 및 그의 연관된 계산 블록은 2개의 상이한 집적 회로들 내에 제조되고,
    동일한 데이터 처리 유닛 내의 각각의 메모리 블록 및 그의 연관된 계산 블록은 면-대-면 접합, 웨이퍼-대-웨이퍼 접합, 규소-관통 비아 연결부들, 유전체 접합 기술, 산화물-대-산화물 직접 접합, 및 하이브리드 접합으로 이루어진 군으로부터의 적어도 하나의 상호연결 기술에 의해 함께 결합되는, 계산 어레이.
  7. 제6항에 있어서, 각각의 제어 및 테스트 회로는,
    그의 연관된 데이터 처리 유닛을 기능에 대해 테스트하고,
    그의 데이터 처리 유닛에 그렇게 결합된 상기 다른 데이터 처리 유닛들 사이의 상기 데이터 입력 전도체 연결부들 및 상기 데이터 출력 전도체 상호연결부들을 테스트하고,
    그의 데이터 처리 유닛에 그렇게 결합된 상기 다른 데이터 처리 유닛들 사이의 상기 데이터 공유 상호연결부들을 테스트하도록 구성되는, 계산 어레이.
  8. 제7항에 있어서, 각각의 제어 및 테스트 회로는 그의 데이터 처리 유닛 내의 상기 계산 엔진의 계산 기능을 프로그래밍하도록 구성되는, 계산 어레이.
  9. 제6항에 있어서, 각각의 데이터 공유 회로는 동일한 데이터 처리 유닛 내의 상기 계산 엔진이 상이한 데이터 처리 유닛의 상기 데이터 메모리에 액세스하도록 허용하도록 구성될 수 있는, 계산 어레이.
  10. 제9항에 있어서, 상기 데이터 공유 회로와 동일한 데이터 처리 유닛 내의 상기 계산 엔진이 상이한 데이터 처리 유닛의 상기 데이터 메모리에 액세스하도록 허용하는 것은 동일한 데이터 처리 유닛의 상기 데이터 메모리를 완전히 대체할 수 있는, 계산 어레이.
  11. 제6항에 있어서, 각각의 데이터 공유 회로는 동일한 데이터 처리 유닛 내의 상기 데이터 메모리가 상이한 데이터 처리 유닛의 상기 계산 엔진에 액세스가능하게 하도록 허용하도록 구성될 수 있는, 계산 어레이.
  12. 제11항에 있어서, 상기 데이터 공유 회로와 동일한 데이터 처리 유닛 내의 상기 데이터 메모리가 상이한 데이터 처리 유닛의 상기 계산 엔진에 액세스가능하게 하도록 허용하는 것은 동일한 데이터 처리 유닛의 상기 계산 엔진을 완전히 대체할 수 있는, 계산 어레이.
  13. 제5항에 있어서, 각각의 데이터 공유 회로는 동일한 데이터 처리 유닛 내의 상기 계산 엔진이 상이한 데이터 처리 유닛의 상기 데이터 메모리에 액세스하도록 허용하도록 구성될 수 있는, 계산 어레이.
  14. 제13항에 있어서, 상기 데이터 공유 회로와 동일한 데이터 처리 유닛 내의 상기 계산 엔진이 상이한 데이터 처리 유닛의 상기 데이터 메모리에 액세스하도록 허용하는 것은 동일한 데이터 처리 유닛의 상기 데이터 메모리를 완전히 대체할 수 있는, 계산 어레이.
  15. 제5항에 있어서, 각각의 데이터 공유 회로는 동일한 데이터 처리 유닛 내의 상기 데이터 메모리가 상이한 데이터 처리 유닛의 상기 계산 엔진에 액세스가능하게 하도록 허용하도록 구성될 수 있는, 계산 어레이.
  16. 제15항에 있어서, 상기 데이터 공유 회로와 동일한 데이터 처리 유닛 내의 상기 데이터 메모리가 상이한 데이터 처리 유닛의 상기 계산 엔진에 액세스가능하게 하도록 허용하는 것은 동일한 데이터 처리 유닛의 상기 계산 엔진을 완전히 대체할 수 있는, 계산 어레이.
  17. 계산 어레이들을 조립하기 위한 방법으로서, 각각의 계산 어레이는 데이터 처리 유닛들의 행들 및 열들을 포함하고, 각각의 데이터 처리 유닛은 계산 블록 및 메모리 블록으로 분할되고, 상기 방법은,
    집적 회로들의 제1 웨이퍼를 제조하는 단계 - 상기 집적 회로들의 상당 부분은 복수의 데이터 처리 유닛들의 상기 계산 블록 부분들의 어레이들을 포함함 -;
    집적 회로들의 제2 웨이퍼를 제조하는 단계 -
    상기 집적 회로들의 상당 부분은 데이터 처리 유닛들의 상기 메모리 블록 부분들의 어레이를 포함하고,
    상기 메모리 블록 부분들의 어레이들 중 적어도 일부는, 그들이 상기 웨이퍼들이 정확하게 정렬될 때 상기 제1 웨이퍼 상의 상기 계산 어레이들 내의 상기 데이터 처리 유닛들의 상기 계산 블록 부분들과 정렬되도록, 크기설정되고 이격됨 -; 및
    면-대-면 접합, 웨이퍼-대-웨이퍼 접합, 규소-관통 비아 연결부들, 유전체 접합 기술, 산화물-대-산화물 직접 접합, 및 하이브리드 접합으로 이루어진 군으로부터의 적어도 하나의 상호연결 기술을 사용하여 복수의 계산 어레이들을 형성하기 위해 상기 제1 웨이퍼와 상기 제2 웨이퍼를 함께 접합하는 단계를 포함하며, 상기 정렬된 메모리 블록 부분들 및 상기 계산 블록 부분들은 전기적으로 결합되어 둘 모두가 존재하는 위치들에서 완전한 데이터 처리 유닛들을 형성하는, 방법.
  18. 계산 어레이들을 조립하기 위한 방법으로서, 각각의 계산 어레이는 데이터 처리 유닛들의 행들 및 열들을 포함하고, 각각의 데이터 처리 유닛은 계산 블록 및 메모리 블록으로 분할되고, 상기 방법은,
    집적 회로들의 제1 웨이퍼를 제조하는 단계 - 상기 집적 회로들의 상당 부분은 복수의 데이터 처리 유닛들의 상기 계산 블록 부분들의 어레이들을 포함함 -;
    집적 회로들의 제2 웨이퍼를 제조하는 단계 -
    상기 집적 회로들의 상당 부분은 데이터 처리 유닛들의 상기 메모리 블록 부분들의 어레이를 포함하고,
    상기 메모리 블록 부분들의 어레이들 중 적어도 일부는, 그들이 상기 웨이퍼들이 정확하게 정렬될 때 상기 제1 웨이퍼 상의 상기 계산 어레이들 내의 상기 데이터 처리 유닛들의 상기 계산 블록 부분들과 정렬되도록, 크기설정되고 이격되고,
    상기 제2 웨이퍼의 상기 메모리 블록 부분들 사이의 간격은 그들이 스크라이브 라인들로서 사용될 수 있도록 하고,
    상기 제1 웨이퍼는 X 행들 및 Y 열들(X 및 Y는 양의 정수임)을 갖는 계산 블록 부분들의 어레이를 포함하는 계산 집적 회로를 포함하고,
    상기 제2 웨이퍼는 X 행들 및 Y 열들을 갖는 메모리 블록 부분들의 어레이를 포함하는 메모리 집적 회로를 포함하는 집적 회로들로 스크라이빙되도록 구성됨 -;
    X 행들 및 Y 열들을 갖는 메모리 블록 부분들의 어레이를 포함하는 상기 계산 집적 회로를 포함하는 집적 회로들로 상기 제2 웨이퍼를 스크라이빙하는 단계; 및
    면-대-면 접합, 웨이퍼-대-웨이퍼 접합, 규소-관통 비아 연결부들, 유전체 접합, 산화물-대-산화물 직접 접합, 및 하이브리드 접합으로 이루어진 군으로부터의 적어도 하나의 상호연결 기술을 사용하여 X 행들 및 Y 열들을 갖는 데이터 처리 유닛들의 계산 어레이를 형성하기 위해 상기 메모리 집적 회로와 상기 계산 집적 회로를 함께 접합하는 단계를 포함하는, 방법.
KR1020197021259A 2016-12-21 2017-12-20 자가 치유 계산 어레이 KR102441865B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662437554P 2016-12-21 2016-12-21
US62/437,554 2016-12-21
PCT/US2017/067744 WO2018119156A1 (en) 2016-12-21 2017-12-20 Self healing compute array

Publications (2)

Publication Number Publication Date
KR20190090042A KR20190090042A (ko) 2019-07-31
KR102441865B1 true KR102441865B1 (ko) 2022-09-07

Family

ID=62561659

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197021259A KR102441865B1 (ko) 2016-12-21 2017-12-20 자가 치유 계산 어레이

Country Status (4)

Country Link
US (1) US10684929B2 (ko)
KR (1) KR102441865B1 (ko)
CN (2) CN110192188B (ko)
WO (1) WO2018119156A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11568229B2 (en) * 2018-07-11 2023-01-31 Silicon Storage Technology, Inc. Redundant memory access for rows or columns containing faulty memory cells in analog neural memory in deep learning artificial neural network
KR20210050243A (ko) 2019-10-28 2021-05-07 삼성전자주식회사 뉴로모픽 패키지 장치 및 뉴로모픽 컴퓨팅 시스템
US11315613B2 (en) 2020-03-02 2022-04-26 International Business Machines Corporation Mixed mode multiply and accumulate array
CN116830267A (zh) * 2021-02-10 2023-09-29 松下知识产权经营株式会社 Ai模块
KR102398845B1 (ko) 2022-03-15 2022-05-17 (주)인정보기술 해상인명구조 스마트부표시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150242308A1 (en) * 2014-02-24 2015-08-27 Electronics And Telecommunications Research Institute Acceleration system in 3d die-stacked dram

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3537074A (en) * 1967-12-20 1970-10-27 Burroughs Corp Parallel operating array computer
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5915231A (en) * 1997-02-26 1999-06-22 Micron Technology, Inc. Method in an integrated circuit (IC) manufacturing process for identifying and redirecting IC's mis-processed during their manufacture
US6226735B1 (en) * 1998-05-08 2001-05-01 Broadcom Method and apparatus for configuring arbitrary sized data paths comprising multiple context processing elements
US6202182B1 (en) * 1998-06-30 2001-03-13 Lucent Technologies Inc. Method and apparatus for testing field programmable gate arrays
US6423558B1 (en) * 2000-02-25 2002-07-23 Advantest Corporation Method for fabricating integrated circuit (IC) dies with multi-layered interconnect structures
US7085982B2 (en) * 2002-01-18 2006-08-01 Hitachi, Ltd. Pulse generation circuit and semiconductor tester that uses the pulse generation circuit
US6816952B1 (en) * 2002-05-31 2004-11-09 Unisys Corporation Lock management system and method for use in a data processing system
US7363432B2 (en) * 2004-03-25 2008-04-22 International Business Machines Corporation Method and apparatus for directory-based coherence with distributed directory management
US7337425B2 (en) * 2004-06-04 2008-02-26 Ami Semiconductor, Inc. Structured ASIC device with configurable die size and selectable embedded functions
US8140297B2 (en) 2009-01-16 2012-03-20 International Business Machines Corporation Three dimensional chip fabrication
US8900169B2 (en) * 2013-03-15 2014-12-02 Tbi Innovations, Llc Methods and devices to reduce the likelihood of injury from concussive or blast forces

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150242308A1 (en) * 2014-02-24 2015-08-27 Electronics And Telecommunications Research Institute Acceleration system in 3d die-stacked dram

Also Published As

Publication number Publication date
CN110192188A (zh) 2019-08-30
CN118093464A (zh) 2024-05-28
US20180173600A1 (en) 2018-06-21
KR20190090042A (ko) 2019-07-31
US10684929B2 (en) 2020-06-16
WO2018119156A1 (en) 2018-06-28
CN110192188B (zh) 2024-04-09

Similar Documents

Publication Publication Date Title
KR102441865B1 (ko) 자가 치유 계산 어레이
US20220068890A1 (en) 3d processor
US10672743B2 (en) 3D Compute circuit with high density z-axis interconnects
US10672744B2 (en) 3D compute circuit with high density Z-axis interconnects
TWI745626B (zh) 具有高密度z軸互連的三維計算電路
US8736068B2 (en) Hybrid bonding techniques for multi-layer semiconductor stacks
US8445918B2 (en) Thermal enhancement for multi-layer semiconductor stacks
US20100140750A1 (en) Parallel Plane Memory and Processor Coupling in a 3-D Micro-Architectural System
JP2007529894A (ja) ダイ素子が積層された再構成可能なプロセッサモジュール
Xu et al. Yield enhancement for 3D-stacked ICs: Recent advances and challenges
Zhao et al. Overview of 3-D architecture design opportunities and techniques
JP2022549787A (ja) アクティブブリッジ結合gpuチップレットの製造
Franzon et al. Computing in 3D
CN112805820A (zh) 芯片制造方法及芯片结构
Franzon 3D Design Styles
Franzon et al. Design for 3D Stacked Circuits
JP2024511776A (ja) モジュール式並列プロセッサのためのダイ積層
Song et al. Fault and self-repair for high reliability in die-to-die interconnection of 2.5 D/3D IC
Franzon et al. 3D specific systems design and CAD
Wu et al. Intra-channel Reconfigurable Interface for TSV and Micro Bump Fault Tolerance in 3-D RAMs

Legal Events

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