KR102203669B1 - NoC 구조의 반도체 장치 및 그의 라우팅 방법 - Google Patents
NoC 구조의 반도체 장치 및 그의 라우팅 방법 Download PDFInfo
- Publication number
- KR102203669B1 KR102203669B1 KR1020140164403A KR20140164403A KR102203669B1 KR 102203669 B1 KR102203669 B1 KR 102203669B1 KR 1020140164403 A KR1020140164403 A KR 1020140164403A KR 20140164403 A KR20140164403 A KR 20140164403A KR 102203669 B1 KR102203669 B1 KR 102203669B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- throttling
- temperature
- communication path
- semiconductor device
- Prior art date
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 113
- 238000000034 method Methods 0.000 title claims description 33
- 238000004891 communication Methods 0.000 claims abstract description 81
- 229910052710 silicon Inorganic materials 0.000 claims abstract description 5
- 239000010703 silicon Substances 0.000 claims abstract description 5
- 238000007726 management method Methods 0.000 description 20
- 230000007423 decrease Effects 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000015556 catabolic process Effects 0.000 description 4
- 238000006731 degradation reaction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005265 energy consumption Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L25/00—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
- H01L25/03—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes
- H01L25/04—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers
- H01L25/065—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H01L27/00
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7825—Globally asynchronous, locally synchronous, e.g. network on chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L23/00—Details of semiconductor or other solid state devices
- H01L23/34—Arrangements for cooling, heating, ventilating or temperature compensation ; Temperature sensing arrangements
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L25/00—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
- H01L25/18—Assemblies 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
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2225/00—Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
- H01L2225/03—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
- H01L2225/04—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers
- H01L2225/065—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L2225/06503—Stacked arrangements of devices
- H01L2225/06513—Bump or bump-like direct electrical connections between devices, e.g. flip-chip connection, solder bumps
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2225/00—Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
- H01L2225/03—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
- H01L2225/04—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers
- H01L2225/065—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L2225/06503—Stacked arrangements of devices
- H01L2225/06541—Conductive via connections through the device, e.g. vertical interconnects, through silicon via [TSV]
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2225/00—Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
- H01L2225/03—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
- H01L2225/04—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers
- H01L2225/065—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L2225/06503—Stacked arrangements of devices
- H01L2225/06589—Thermal management, e.g. cooling
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L25/00—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
- H01L25/03—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes
- H01L25/04—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers
- H01L25/065—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L25/0657—Stacked arrangements of devices
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L27/00—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
- H01L27/02—Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
- H01L27/0203—Particular design considerations for integrated circuits
- H01L27/0248—Particular design considerations for integrated circuits for electrical or thermal protection, e.g. electrostatic discharge [ESD] protection
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2924/00—Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
- H01L2924/0001—Technical content checked by a classifier
- H01L2924/0002—Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Human Computer Interaction (AREA)
- Power Engineering (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Semiconductor Integrated Circuits (AREA)
- Multi Processors (AREA)
Abstract
본 발명은 수직으로 적층되며, TSV(Through Silicon Via)를 통해 상호 전기적으로 연결된 복수개의 반도체 칩들; 상기 각 반도체 칩에 형성된 복수개의 반도체 소자들; 상기 반도체 소자들을 연결하는 복수개의 노드들; 및 상기 노드들 각각에 구비되며, 상기 노드의 온도에 따라 상기 노드의 통신 접속 여부를 결정하여 상기 반도체 소자들 사이의 최단 통신 경로를 설정하는 노드 제어 장치를 구비하는 하는 반도체 장치를 제공한다.
Description
본 발명은 반도체 장치에 관한 것으로, 특히 NoC(network-on-chip) 구조를 가지며 동적 열 관리에 기반하여 동작하는 반도체 장치 및 그의 라우팅 방법에 관한 것이다.
일반적인 NoC 구조를 갖는 반도체 장치의 경우, 스로틀링(throttling)을 통해 각 노드의 성능을 일괄적으로 제한하여 반도체 장치의 열 관리를 실행한다. 그러나, 이러한 열 관리 방식의 경우, 스로틀링이 적용된 노드는 통신이 불가능하여 반도체 장치의 전체적인 성능이 저하된다.
이러한 문제를 해결하기 위하여 다양한 스로틀링 방식이 제공되고 있으나, 근본적인 해결책을 제시하지 못하여 여전히 반도체 장치의 성능 저하가 큰 문제로 작용하고 있다. 예컨대, 기존의 방식은 라우팅 도중에 스로틀링이 발생할 경우, 처음부터 라우팅을 다시 설정하며, 이 경우 상기 재 라우팅 현상으로 인하여 라우팅 신뢰도 또한 감소한다.
참증 문서(미국등록특허 번호: 8743703)는 스로틀링을 통한 열 관리 방법을 개시하고 있으나, NoC 구조를 갖는 반도체 장치의 열 관리를 효율적으로 실행하기 위한 해결책은 개시하지 않고 있다.
본 발명은 안정적인 열 관리로 성능이 향상되는 반도체 장치 및 그의 라우팅 방법을 제공한다.
상기 과제를 해결하기 위하여 본 발명은,
수직으로 적층되며, TSV(Through Silicon Via)를 통해 상호 전기적으로 연결된 복수개의 반도체 칩들; 상기 각 반도체 칩에 형성된 복수개의 반도체 소자들; 상기 반도체 소자들을 연결하는 복수개의 노드들; 및 상기 노드들 각각에 구비되며, 상기 노드의 온도에 따라 상기 노드의 통신 접속 여부를 결정하여 상기 반도체 소자들 사이의 최단 통신 경로를 설정하는 노드 제어 장치를 구비하는 반도체 장치를 제공한다.
상기 노드 제어 장치는, 인접한 노드들의 IP(Internet Protocol) 정보를 공유하고, 목표 노드를 검출하는 라우터; 노드의 온도를 감지하는 프로세서; 및 상기 라우터와 상기 프로세서에 연결되며, 상기 노드의 온도를 관리하고, 상기 노드의 온도에 따라 해당 노드와 목표 노드 사이의 통신 경로 설정 및 연결을 제어하는 스로틀링 컨트롤러를 구비할 수 있다.
상기 스로틀링 컨트롤러는, 프로세서로부터 노드의 온도를 수신하고, 상기 노드의 온도에 관련된 파라메타들을 산출하는 온도정보 산출부; 상기 온도정보 산출부에서 산출하는 파라메타를 이용하여 노드의 온도가 특정 온도에 도달 가능 여부를 예측하는 열 예측부; 및 노드가 상기 특정 온도에 도달할 경우에 상기 노드를 스로틀링 노드로 설정하는 것을 제어하는 스로틀링 관리부를 구비할 수 있다.
상기 과제를 해결하기 위하여 본 발명은 또한,
반도체 장치에 구비된 복수개의 반도체 소자들 사이의 통신 경로를 설정하는 반도체 장치의 라우팅 방법에 있어서, (a) 목표 노드를 설정하는 단계; (b) 상기 목표 노드와 특정 노드 사이의 최단 통신 경로를 설정하는 단계; (c) 상기 통신 경로상에, 임계 온도에 도달하여 비상 스로틀링 노드로 설정된 노드가 존재하는지 확인하는 단계; (d) 상기 비상 스로틀링 노드가 존재하지 않으면 상기 설정된 노드를 상기 통신 노드로써 확정하고, 상기 비상 스로틀링 노드가 존재하면, 상기 비상 스로틀링 노드를 회피하여 상기 통신 경로를 재설정하는 반도체 장치의 라우팅 방법을 제공한다.
상기 반도체 장치는, 상기 임계 온도보다 낮은 특정 온도에 도달한 노드에 대해 설정되는 보통 스로틀링 노드를 포함하여 상기 비상 스로틀링 노드들이 표시된 스로틀링 테이블을 저장하며, 또한, 상기 스로틀링 테이블을 체크하여 상기 (c) 단계의 상기 비상 스로틀링 노드의 존재 여부를 확인할 수 있다.
상술한 바와 같이 본 발명에 따르면, 반도체 장치의 노드에 노드 제어 장치를 구비하며, 상기 노드 제어 장치가 안정적인 열 관리를 수행하고, 스로틀링된 노드를 통신 경로로 사용하게 한다.
따라서, 노드들의 재 라우팅을 최소화하며, 최단 통신 경로 설정이 가능함으로, 반도체 장치의 전체적인 성능이 향상된다.
도 1은 본 발명의 일 실시예에 따른 반도체 장치의 측단면도이다.
도 2는 도 1에 도시된 반도체 장치의 통신 구조를 설명하기 위하여 도시한 도면이다.
도 3은 도 2에 도시된 노드에 구비되는 노드 제어 장치의 구성을 도시한 블록도이다.
도 4는 실시예에 따른 스로틀링 테이블의 일 예를 보여준다.
도 5는 본 발명의 일 실시예에 따른 반도체 장치의 라우팅 방법을 도시한 흐름도이다.
도 6은 도 5에 도시된 제1 단계를 상세히 도시한 흐름도이다.
도 7은 본 실시예에 따라 최단 통신 경로를 설정하는 방법을 보여준다.
도 8은 본 실시예에 따른 반도체 장치의 에너지 소모량과 전력 소모량을 종래 기술과 비교하기 위하여 도시한 표이다.
도 9은 본 실시예에 따른 노드들의 처리량을 종래 기술과 비교하기 위하여 도시한 그래프이다.
도 10은 본 실시예에 따른 반도체 장치의 발열량을 종래 기술과 비교하기 위하여 도시한 표이다.
도 2는 도 1에 도시된 반도체 장치의 통신 구조를 설명하기 위하여 도시한 도면이다.
도 3은 도 2에 도시된 노드에 구비되는 노드 제어 장치의 구성을 도시한 블록도이다.
도 4는 실시예에 따른 스로틀링 테이블의 일 예를 보여준다.
도 5는 본 발명의 일 실시예에 따른 반도체 장치의 라우팅 방법을 도시한 흐름도이다.
도 6은 도 5에 도시된 제1 단계를 상세히 도시한 흐름도이다.
도 7은 본 실시예에 따라 최단 통신 경로를 설정하는 방법을 보여준다.
도 8은 본 실시예에 따른 반도체 장치의 에너지 소모량과 전력 소모량을 종래 기술과 비교하기 위하여 도시한 표이다.
도 9은 본 실시예에 따른 노드들의 처리량을 종래 기술과 비교하기 위하여 도시한 그래프이다.
도 10은 본 실시예에 따른 반도체 장치의 발열량을 종래 기술과 비교하기 위하여 도시한 표이다.
이하, 첨부한 도면들을 참고하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예에 대하여 상세히 설명하기로 한다. 각 도면에 제시된 참조부호들 중 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 반도체 장치(101)의 측단면도이고, 도 2는 도 1에 도시된 반도체 장치(101)의 통신 구조를 설명하기 위하여 도시한 도면이다. 도 1 및 도 2를 참조하여 반도체 장치의 구조에 대해 설명하기로 한다.
도 1을 참조하면, 반도체 장치(101)는 복수개의 반도체 칩들(111,121,131), 예컨대 3개의 칩들(111,121,131)이 적층된 구조를 갖는다. 3개의 반도체 칩들(111,121,131)은 각각 TSV (through silicon via)(113,123)를 통해 상호 전기적으로 연결된다. 즉, 최상층의 반도체 칩(111)과 중간의 반도체 칩(121)에 형성된 TSV(113,123)를 통해, 최상층의 반도체 칩(111)은 중간의 반도체 칩(121) 및 최하층의 반도체 칩(131)과 데이터 통신을 수행할 수 있다.
3개의 반도체 칩들(111,121,131) 각각에는 복수개의 반도체 소자들(211) 즉, 코아(core)들과 복수개의 스위칭 소자들(S1∼S7)이 형성된다. 반도체 소자(211)는 컨트롤러(controller), 메모리 등과 같이, 특정한 기능을 수행하는 수단으로써 구성된다. 스위칭 소자들(S1∼S7)은 전송 게이트, 논리 게이트, 인버터 등과 같이 스위칭 기능을 갖는 소자를 포함하며, 이 외에도 특정한 기능을 수행하는 소자를 포함할 수 있다. 1개의 스위칭 소자에는 복수개의 반도체 소자들(211)이 전기적으로 연결될 수 있다. 따라서, 1개의 반도체 소자(211)는 적어도 하나의 스위칭 소자를 통해서 다른 반도체 소자(211)와 데이터 통신을 수행할 수 있다. 즉, 반도체 소자들(211)과 스위칭 소자들(S1∼S7)은 네트워크를 형성하여 상호 데이터 통신을 수행한다. 여기서, 스위칭 소자들(S1∼S7)은 네트워크상에서 노드의 역할을 수행함으로 이하에서는 노드(node)로 표현될 수 있다.
각 반도체 칩의 상부면과 하부면 중 하나에 복수개의 반도체 소자들(211)과 스위칭 소자들이 형성될 수도 있고, 상부면과 하부면 모두에 반도체 소자들(211)과 스위칭 소자들이 형성될 수도 있다. 이러한 선택은 반도체 장치(101)의 설계시에 정해진다.
최상층 반도체 칩(111)의 하부면과 최하층 반도체 칩(131)의 상부면에만 반도체 소자들(211)과 스위칭 소자들이 형성될 경우에는, 최상층 칩(111)과 최하층 칩(131)은 TSV 구조를 갖지 않아도 된다.
도 1에는 설명의 편의상 3개의 반도체 칩들(111,121,131)이 적층되어 있는 것으로 도시되어 있으나, 이는 예시에 불과하며, 상기 2개 또는 4개 이상의 적층된 반도체 칩들로 구성될 수 있다.
도 2를 참조하면, 각 반도체 칩에는 복수개의 반도체 소자들(211)과 복수개의 노드들(S1∼S7)이 구비된다.
복수개의 노드들(S1∼S7)은 복수개의 반도체 소자들(211)이 상호간에 데이터 통신을 수행할 수 있도록 통신 경로를 제공한다. 복수개의 노드들(S1∼S7)은 2차원 노드와 3차원 노드로 구분된다. 2차원 노드와 3차원 노드는 각각 복수개로 구성된다.
2차원 노드는 수평 통신을 위해 사용된다. 즉, 2차원 노드는 동일한 공간 예컨대, 1개의 반도체 칩 내에서 반도체 소자들(211)이 서로 데이터 통신을 수행할 수 있도록 통신 경로를 제공한다.
3차원 노드는 수직 통신을 위해 사용된다. 즉, 3차원 노드는 다른 공간, 예컨대, 수직으로 적층된 복수개의 반도체 칩들에 있어서, 어느 하나의 반도체 칩에 형성된 반도체 소자(211)가 다른 반도체 칩에 형성된 반도체 소자(211)와 데이터 통신을 수행할 수 있도록 통신 경로를 제공한다.
이와 같이, 반도체 소자들(211)은 복수개의 노드들(S1∼S7)을 통해서 1개의 반도체 칩 내에서 수평으로 데이터 통신을 수행할 수도 있고, 수직으로 적층된 반도체 칩들간에 수직으로 데이터 통신을 수행할 수도 있다.
도 3은 도 2에 도시된 노드에 구비되는 노드 제어 장치의 구성을 도시한 블록도이다. 도 3을 참조하면, 노드 제어 장치(300)는 라우터(router)(310), 프로세서(processor)(330) 및 스로틀링 컨트롤러(throttling controller)(320)를 구비한다.
라우터(310)는 인접한 노드 제어 장치들의 IP(Internet Protocol)들의 정보를 공유하고, 연결된 노드들을 조사하여 목표 노드를 검출한다.
프로세서(330)는 온도 센서(도시안됨)를 구비한다. 상기 온도 센서는 노드의 온도를 감지한다. 프로세서는(330) 상기 온도 센서가 감지한 노드의 온도를 스로틀링 컨트롤러(320)로 전송한다.
스로틀링 컨트롤러(320)는 라우터(310)와 프로세서(330)에 연결된다. 스로틀링 컨트롤러(320)는 노드의 온도를 관리하고, 노드의 온도에 따라 해당 노드와 목표 노드 사이의 통신 경로 설정 및 연결을 제어한다. 스로틀링 컨트롤러(320)는 온도정보 산출부(321), 열 예측부(322), 및 스로틀링 관리부(330)를 구비한다.
온도정보 산출부(321)는 프로세서(330)로부터 노드의 온도를 수신하고, 상기 노드의 온도를 이용하여 노드의 온도에 관련된 파라메타들, 예컨대, 시간별 온도, 특정 온도에 도달하는데 걸리는 시간, 속도, 노드에 흐르는 전류에 의한 온도의 변화량, 주위 온도와 노드의 온도의 차이, 주위 온도와 노드의 온도와의 상관관계, 노드의 온도로 인한 노드의 열의 양 등을 산출한다.
열 예측부(322)는 온도정보 산출부(321)에서 산출하는 파라메타를 이용하여 노드가 특정 온도에 도달 가능 여부를 예측한다. 예컨대, 열 예측부(322)는 언제 발동 온도(trigger temperature)에 도달할 것이지, 또는 언제 임계 온도에 도달할 것인지 등을 예측한다. 열 예측부(322)는 외부의 요청에 의해 상기 예측 데이터를 생성할 수도 있고, 내부적으로 미리 산출하여 저장할 수도 있다.
스로틀링 관리부(323)는 노드가 특정 온도 즉, 발동 온도에 도달할 경우에 상기 노드를 스로틀링 노드로 설정하는 것을 제어한다. 즉, 스로틀링 관리부(323)는 노드의 스로틀링 즉, 라우터(310)의 스로틀링을 제어한다. 스로틀링 관리부(323)는 열 예측부(322)로부터 데이터를 받아서, 노드에 열이 발생할 경우에, 노드를 일반 노드, 보통 스로틀링 노드, 및 비상 스로틀링 노드로 설정한다.
일반 노드는 노드의 열이 스로틀링 상태에 도달하기 전의 상태 즉, 상기 발동 온도에 도달하기 전의 상태이며, 정상적으로 동작하는 노드를 나타낸다.
보통 스로틀링 노드는 노드의 온도가 특정 온도, 발동 온도에 도달할 때 설정된다. 스로틀링 관리부(323)는 가능한 한 보통 스로틀링 노드가 통신 경로에 접속되는 것을 억제한다.
비상 스로틀링 노드는 노드의 온도가 상기 특정 온도를 초과하여 임계 온도에 도달할 때 설정된다. 스로틀링 관리부(323)는 상기 비상 스로틀링 노드가 통신 경로에 접속되는 것을 금지한다.
이와 같이, 스로틀링 컨트롤러(320)는 프로세서(330)로부터 받은 신호를 분석하여 노드의 온도를 파악하고, 그에 따라 노드의 스로틀링을 제어한다. 즉, 온도가 발동 온도에 도달하면, 노드를 보통 스로틀링 노드로 설정하고, 온도가 임계 온도에 도달하면, 노드를 비상 스로틀링 노드로 설정한다. 비상 스로틀링 노드로 설정된 노드는 열 위험 상태로 분류되어 통신 노드로서 사용되지 않는다. 즉, 비상 스로틀링 노드는 다른 노드와 연결되지 않는다.
이와 같이, 스로틀링 컨트롤러(320)는 상기 온도 센서를 이용하여 노드의 온도를 신속히 파악하고, 노드의 온도가 발동 온도에 도달하면, 즉, 스로틀링의 발동 조건(trigger condition)을 만족하면, 노드의 사용을 제한하여 노드의 열 관리를 실행한다. 그러다가, 노드의 온도가 임계 온도에 도달할 경우에 스로틀링 컨트롤러는 해당 노드를 비상 노드로 설정하여 사용되지 못하게 한다. 따라서, 노드의 열 위험 상태에 대한 즉각적인 열관리의 실행이 가능하다.
비상 스로틀링 노드의 수가 증가하면, 라우팅 경로가 그만큼 제한되어 반도체 장치(101)의 전체 트래픽 속도가 늦어지게 되고, 그 결과, 반도체 장치(101)의 성능 저하로 귀결된다.
따라서, 노드 제어 장치(300)는 통신 경로 설정시 비상 스로틀링 노드들을 피하고, 보통 스로틀링 노드를 연결시켜서, 빠른 통신을 가능하게 하고, 트래픽을 감소시킨다.
노드 제어 장치(300)는 빠른 응답속도와 높은 신뢰성, 그리고 온도와의 선형성을 갖는 동적 주파수 스케일링(Dynamic Frequency Scaling) 기반의 스로틀링 기법을 스로틀링 컨트롤러(320)에 적용하여 적은 부하로 효과적인 열관리를 수행할 수가 있다.
스로틀링 컨트롤러(320)는 또한, 라우터(310)가 목표 노드까지 최소 경로 및 최단 경로로 라우팅을 실행 할 수 있도록 제어하며, 동시에 열적인 문제에 대한 고려가 가능하여 부담이 가장 적은 노드들을 선택할 수 있다.
반도체 장치(101)는 상기 노드들의 스로틀링 설정 상태를 나타내는 스로틀링 테이블을 저장하는 스로틀링 테이블 저장부(도시안됨)를 더 구비할 수 있다. 여기서, 스로틀링 테이블은 특정한 장치에만 저장되는 것이 필요에 따라서 반도체 장치(101) 내의 다른 소자에도 저장될 수 있다.
도 4는 본 발명에 따른 스로틀링 테이블(401)의 일 예를 보여준다. 도 4를 참조하면, 스로틀링 테이블(401)은 스로틀링 노드들를 보여준다. 스로틀링 노드들은 보통 스로틀링 노드와 비상 스로틀링 노드로 구분된다.
스로틀링 테이블(401)은 통신 경로상의 노드들의 스로틀링 상태를 파악하고 이를 토대로 보통 스로틀링 노드와 비상 스로틀링 노드들을 체크한다. 노드의 성능을 100% 제한하는 스로틀링이 단계적 열관리를 거치지 않고 실행되면 그 노드는 비상 스로틀링 노드로 인식된다. 그러나, 스로틀링 컨트롤러(320)를 통해 단계적으로 열 관리를 거친 경우는 어댑티브 스로틀링이 가능한 노드이므로 통신 경로로 이용이 가능하다. 따라서 이러한 구분을 스로틀링 테이블(401)을 통하여 공유하여 라우팅(routing)을 수행한다. 위와 같은 관리를 통하여 노드 제어 장치(300)는 목표 노드까지 최단 경로로 라우팅을 실행 할 수 있으며 동시에 열적인 문제에 대한 고려가 가능하여 부담이 가장 적은 노드들을 선택할 수 있다.
노드 제어 장치(300)는 스로틀링 테이블(401)을 체크하여, 노드와 목표 노드 사이의 최단 통신 경로를 설정한다. 최단 통신 경로 설정시에, 보통 스로틀링 노드와 상기 비상 스로틀링 노드를 포함하지 않고, 일반 노드를 통과하는 통신 경로를 설정한다. 그러나, 보통 스로틀링 노드와 비상 스로틀링 노드가 증가하여 일반 노드들만을 이용하여 최단 통신 경로를 설정할 경우에, 상기 최단 통신 경로는 보통 스로틀링 노드와 비상 스로틀링 노드를 우회하도록 설정될 수가 있으며, 이로 인하여 통신 시간과 통신 속도가 느려지게 된다. 따라서, 최단 통신 경로가 보통 스로틀링 노드와 비상 스로틀링 노드를 우회하여 설정될 경우에, 본 실시예에서는 이를 사용하지 않고, 보통 스로틀링 노드를 포함하여 최단 통신 경로를 설정함으로, 보통 스로틀링 노드가 증가하더라도 이에 영향을 받지 않는다.
따라서, 본 발명에 따른 반도체 장치(101)의 경우, 온도가 올라가서, 스로틀링 노드의 수가 증가할지라도, 통신 속도가 저하되지 않고, 빠른 통신 속도를 유지할 수 있다.
도 5는 본 발명의 일 실시예에 따른 반도체 장치(101)의 라우팅 방법을 도시한 흐름도이고, 도 7은 본 실시예에 따라 최단 통신 경로를 설정하는 방법을 보여준다. 다. 도 1 내지 도 4, 및 도 7을 참조하여 도 5에 도시된 라우팅 방법을 설명하기로 한다. 도 5를 참조하면, 반도체 장치(101)가 라우팅하는 방법은 제1 내지 제4 단계(511∼541)를 포함한다.
제1 단계(511)로써, 연결하고자하는 목표 노드(도 7의 D)를 설정한다. 즉, 특정 노드, 예컨대 소스 노드(도 7의 S)로부터 통신하고자하는 목표 노드(도 7의 D)를 설정한다.
제2 단계(521)로써, 목표 노드(도 7의 D)와 소스 노드 사이(도 7의 S)의 최단 통신 경로(도 7의 (b)의 화살표 방향)를 설정한다.
제3 단계(531)로써, 상기 최단 통신 경로상에, 비상 스로틀링 노드(도 7 참조)가 존재하는지 확인한다. 이 때, 비상 스로틀링 노드(도 7 참조)가 존재하면, 제4 단계(541)를 수행하고, 비상 스로틀링 노드가 존재하지 않으면, 상기 최단 통신 경로를 이용하여 반도체 소자들(211) 사이의 데이터 통신을 수행한다.
제4 단계(541)로써, 최단 통신 경로를 재설정한다. 즉, 상기 비상 스로틀링 노드를 포함하지 않도록 최단 통신 경로(도 7의 (C)의 화살표)를 재설정한다.
이 후에는 상기 제1 단계 내지 제3 단계를 수행하여 비상 스로틀링 노드가 포함되지 않는 최단 통신 경로를 찾아낸다.
도 5에 도시된 과정들을 거쳐서 소스 노드(도 7의 S)로부터 목표 노드(도 7의 D)까지 최단 통신 경로의 라우팅이 수행될 경우, 종래의 라우팅 방법에 비해 최소한의 홉(hop)수로 반도체 소자들(211) 사이의 통신이 가능하게 되어 통신 속도가 빨라진다. 따라서, 반도체 장치(101)의 전체 네트워크 성능이 향상된다. 이러한 성능 향상은 스로틀링 노드의 수가 증가함에 따라 더욱 향상되며, 이에 따라 동일한 워크로드(workload)에 대하여, 종래 기술에 비해 빠른 처리가 가능하다.
상술한 바와 같이, 본 실시예에 따른 어댑티브 스로틀링 기법의 적용을 통해 반도체 장치(101)에 구비되는 NoC(Network on Chip) 상의 모든 노드들은 비상 스로틀링 노드를 제외하고, 라우팅 경로에 적용될 수 있다.
본 발명에 따르면, 노드 제어 장치(300)는 초기에 스로틀링 테이블(401)을 체크하여, 노드와 목표 노드 사이에서 스로틀링 노드들을 포함하지 않고, 일반 노드들만을 통하여 최단 통신 경로를 설정할 수 있다. 이 때, 상기 최단 통신 경로가 도 7의 (a)에 도시된 바와 같이, 우회할 경우에는 보통 스로틀링 노드를 포함하는 최단 통신 경로를 설정한다.
도 6은 도 5에 도시된 제1 단계(511) 즉, 목표 노드(도 7의 D)를 설정할 때의 과정을 상세히 도시한 흐름도이다. 도 6을 참조하면, 목표 노드(도 7의 D)를 설정한 후에 다음 2개의 단계들(513,515)을 더 실행할 수 있다.
첫 번째 단계(513)로써, 스로틀링 테이블(401)을 확인한다. 즉, 도 5에 도시된 목표 노드를 설정하는 단계(511)를 진행한 후에 스로틀링된 노드가 있는지 체크하기 위해 스로틀링 테이블(401)을 확인한다.
두 번째 단계(515)로써, 스로틀링 테이블(401) 확인 결과, 목표 노드(도 7의 D)가 스로틀링된 노드이면 통신 경로를 재설정한다(517). 즉, 목표 노드(도 7의 D)까지의 스로틀링 상태를 재확인한다. 이 과정에서 소스 노드(도 7의 S)와 목표 노드(도 7의 D) 사이에 존재하는 노드들의 스로틀링이 재설정된다. 이러한 재설정 과정에서 스로틀링 상태가 변화된 노드가 있으면, 스로틀링 테이블(401)도 재설정된다. 따라서, 상기 두 번째 단계(515)가 끝나면 스로틀링 테이블(401)을 다시 확인하여 목표 노드(도 7의 D)의 스로틀링 상태를 확인한다. 이 후에는 도 5에 도시된 제2 단계(521)를 수행한다
도 8은 본 실시예에 따른 반도체 장치(101)의 에너지 소모량과 전력 소모량을 종래 기술과 비교하기 위하여 도시한 표이다. 도 8을 참조하면, 본 실시예에 따른 반도체 장치(101)의 에너지 소모량(94 pJ)은 종래 기술의 에너지 소모량(113 pJ)에 비해 17% 정도 감소하며, 본 실시예에 따른 반도체 장치(101)의 전력 소모량(479 mW)도 종래 기술의 전력 소모량(577 mW)에 비해 17% 정도 감소한다. 이러한 전력 소모는 추가적인 부하나, 제시된 어댑티브 스로틀링을 통하여 재 라우팅으로 인한 부하가 감소하게 되며, 동일 워크 로드(work load)에 대한 처리가 종래 기술에 비해 빠르게 처리됨으로, 반도체 장치(101)의 전체적인 성능이 향상되고, 신뢰성면에서 우수하다.
본 실시예에 따른 어댑티브 스로틀링 적용 방식은 스로틀링 노드들의 라우팅 동작을 이용하기 때문에 반도체 장치(101)의 전력을 소모하게 된다. 여기서, 노드들은 스로틀링을 실행중이기 때문에 반도체 소자들과의 패킷 입출력은 불가능하다. 따라서, 라우터(310)가 갖는 기능의 일부를 사용하지 않게 됨으로, 정상적으로 작동할 때와 비교하여 적은 전력소모량을 갖게 된다.
도 9은 본 실시예에 따른 노드들의 처리량을 종래 기술과 비교하기 위하여 도시한 그래프이다. 도 9를 참조하면, 노드들의 수가 증가함에 따라 종래 기술에 따른 노드들의 처리량(921)은 점점 크게 감소하는데 반해, 본 실시예에 따른 노드들의 처리량(911)은 노드들의 수가 증가하여도 매우 적게 감소함을 알 수 있다. 즉, 본 실시예에 따르면, 노드들의 수의 증가에 따른 노드들의 처리량의 감소율이 낮다. 노드들의 처리량의 감소율이 낮다는 것은 그만큼 반도체 장치(101)의 성능이 향상됨을 나타낸다. 즉, 본 실시예에 따른 반도체 장치(101)의 성능은 종래 기술의 반도체 장치에 비해, 5%에서 최대 72%까지 향상된다.
노드들의 처리량은 패킷 입력 수준(injection rate)이 높아짐에 따라 증가한다. 소스 노드에서 목표 노드까지 우회하는 통신 경로가 감소함에 따라 스로틀링 노드에 의한 성능 저하가 빠르게 작용한다. 우회 통신 경로가 증가하면, 상대적으로 성능 저하 속도가 감소하나, 스로틀링 노드의 수가 증가함에 따라 동일한 수준의 성능 감소율을 보인다. 그러나, 본 실시예에 따른 어댑티브 스로틀링 기법을 적용함에 따라 이러한 성능 저하는 도 9에 도시된 바와 같이, 감소하게 된다.
도 10은 본 실시예에 따른 반도체 장치(101)의 발열량을 종래 기술과 비교하기 위하여 도시한 표이다. 도 10을 참조하면, 본 실시예에 따른 반도체 장치(101)의 발열량은 종래 기술에 따른 반도체 장치에 비해, 10 내지 11% 정도의 발열량 감소율을 나타낸다. 80-core processor 모델의 경우, 평균 성능으로 동작시 80℃의 발열량을 가지며, 이를 1,000,000 사이클동안 시뮬레이션한 결과, 도 10과 같은 결과를 얻을 수 있다.
상술한 바와 같이, 본 실시예에 따라 반도체 장치(101)의 노드들의 라우팅 경로를 개선하여, 최단 통신 경로의 라우팅이 설정됨으로써, 종래 기술에 비해 많은 노드 처리량과 적은 발열량을 나타낸다.
본 발명은 도면들에 도시된 실시예들을 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이들로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
Claims (12)
- 수직으로 적층되며, TSV(Through Silicon Via)를 통해 상호 전기적으로 연결된 복수개의 반도체 칩들;
상기 각 반도체 칩에 형성된 복수개의 반도체 소자들;
상기 반도체 소자들을 연결하는 복수개의 노드들; 및
상기 노드들 각각에 구비되며, 상기 노드의 온도에 따라 상기 노드의 통신 접속 여부를 결정하여 상기 반도체 소자들 사이의 최단 통신 경로를 설정하는 노드 제어 장치를 구비하고,
특정 온도에 도달한 노드는 보통 스로틀링 노드로 설정되고, 상기 특정 온도보다 높은 임계 온도에 도달한 노드는 비상 스로틀링 노드로 설정되며,
상기 노드 제어 장치는 상기 노드와 목표 노드 사이의 최단 통신 경로 설정 시 상기 보통 스로틀링 노드와 상기 비상 스로틀링 노드를 포함시키지 않으며, 상기 최단 통신 경로가 우회할 경우에는 상기 보통 스로틀링 노드를 통하여 상기 목표 노드까지 최단 경로를 설정하는 것을 특징으로 하는 반도체 장치. - 제1항에 있어서,
상기 노드 제어 장치는 상기 노드의 온도가 특정 온도에 도달하면 상기 노드를 보통 스로틀링 노드로 설정하여 통신 경로에 접속되는 것을 억제하고, 상기 노드의 온도가 상기 특정 온도보다 높은 임계 온도에 도달하면 상기 노드를 비상 스로틀링 노드로 설정하여 통신 경로에 접속되는 것을 금지하는 것을 특징으로 하는 반도체 장치. - 제1항에 있어서, 상기 노드 제어 장치는
인접한 노드들의 IP(Internet Protocol) 정보를 공유하고, 목표 노드를 검출하는 라우터;
노드의 온도를 감지하는 프로세서; 및
상기 라우터와 상기 프로세서에 연결되며, 상기 노드의 온도를 관리하고, 상기 노드의 온도에 따라 해당 노드와 목표 노드 사이의 통신 경로 설정 및 연결을 제어하는 스로틀링 컨트롤러를 구비하는 것을 특징으로 하는 반도체 장치. - 제3항에 있어서, 상기 스로틀링 컨트롤러는
프로세서로부터 노드의 온도를 수신하고, 상기 노드의 온도에 관련된 파라메타들을 산출하는 온도정보 산출부;
상기 온도정보 산출부에서 산출하는 파라메타를 이용하여 노드의 온도가 특정 온도에 도달 가능 여부를 예측하는 열 예측부; 및
노드가 상기 특정 온도에 도달할 경우에 상기 노드를 스로틀링 노드로 설정하는 것을 제어하는 스로틀링 관리부를 구비하는 것을 특징으로 하는 반도체 장치. - 제1항에 있어서,
상기 보통 스로틀링 노드로 설정된 상태 및 상기 비상 스로틀링 노드로 설정된 상태를 나타내는 스로틀링 테이블을 저장하는 스로틀링 테이블 저장부를 더 구비하는 것을 특징으로 하는 반도체 장치. - 삭제
- 제1항에 있어서,
상기 반도체 장치는 복수개의 적층된 반도체 칩들을 구비하고,
상기 반도체 칩들에는 각각 TSV(Through Silicon Via)가 형성되고,
상기 반도체 칩들은 상기 TSV를 통해 상호 데이터 통신을 수행하는 것을 특징으로 하는 반도체 장치. - 제1항에 있어서,
상기 복수개의 노드들은 상기 반도체 칩들 각각에서 수평으로 통신하는 2차원 노드들과, 수직으로 적층된 상기 반도체 칩들 사이에서 수직으로 통신하는 3차원 노드들로 구분되는 것을 특징으로 하는 반도체 장치. - 반도체 장치에 구비된 복수개의 반도체 소자들 사이의 통신 경로를 설정하는 반도체 장치의 라우팅 방법에 있어서,
(a) 목표 노드를 설정하는 단계;
(b) 상기 목표 노드와 특정 노드 사이의 최단 통신 경로를 설정하는 단계;
(c) 상기 최단 통신 경로상에 비상 스로틀링 노드가 존재하는지 확인하는 단계, 상기 비상 스로틀링 노드는 임계 온도에 도달한 노드에 대해 설정되는;
(d) 상기 비상 스로틀링 노드가 존재하지 않으면 상기 최단 통신 경로를 확정하고, 상기 비상 스로틀링 노드가 존재하면 상기 비상 스로틀링 노드를 회피하여 상기 최단 통신 경로를 재설정하며,
상기 임계 온도보다 낮은 특정 온도에 도달한 노드는 보통 스로틀링 노드로 설정되고,
상기 목표 노드와 상기 특정 노드 사이의 상기 최단 통신 경로 설정 시 상기 보통 스로틀링 노드와 상기 비상 스로틀링 노드를 포함시키지 않으며, 상기 최단 통신 경로가 우회할 경우에는 상기 보통 스로틀링 노드를 통하여 상기 목표 노드까지 최단 경로를 설정하는 것을 특징으로 하는 반도체 장치의 라우팅 방법. - 제9항에 있어서,
상기 반도체 장치는, 상기 보통 스로틀링 노드들과 상기 비상 스로틀링 노드들을 나타내는 스로틀링 테이블을 저장하며,
상기 반도체 장치는 상기 스로틀링 테이블을 체크하여 상기 (c) 단계의 상기 비상 스로틀링 노드의 존재 여부를 확인하는 것을 특징으로 하는 반도체 장치의 라우팅 방법. - 제9항에 있어서,
상기 최단 통신 경로가 복수개이며, 이들 중 하나는 상기 보통 스로틀링 노드를 포함하지 않는 경우, 반도체 장치는 상기 보통 스로틀링 노드를 포함하지 않는 경로를 상기 최단 통신 경로로써 설정하는 것을 특징으로 하는 반도체 장치의 라우팅 방법. - 제9항에 있어서,
상기 목표 노드가, 상기 보통 스로틀링 노드로 설정되어 있을 경우에는 상기 최단 통신 경로를 재설정하는 것을 특징으로 하는 반도체 장치의 라우팅 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140164403A KR102203669B1 (ko) | 2014-11-24 | 2014-11-24 | NoC 구조의 반도체 장치 및 그의 라우팅 방법 |
US14/667,255 US10025506B2 (en) | 2014-11-24 | 2015-03-24 | Semiconductor device having network-on-chip structure and routing method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140164403A KR102203669B1 (ko) | 2014-11-24 | 2014-11-24 | NoC 구조의 반도체 장치 및 그의 라우팅 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160061697A KR20160061697A (ko) | 2016-06-01 |
KR102203669B1 true KR102203669B1 (ko) | 2021-01-14 |
Family
ID=56010234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140164403A KR102203669B1 (ko) | 2014-11-24 | 2014-11-24 | NoC 구조의 반도체 장치 및 그의 라우팅 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10025506B2 (ko) |
KR (1) | KR102203669B1 (ko) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10261690B1 (en) * | 2016-05-03 | 2019-04-16 | Pure Storage, Inc. | Systems and methods for operating a storage system |
US11494682B2 (en) | 2017-12-29 | 2022-11-08 | Intel Corporation | Quantum computing assemblies |
US11335663B2 (en) | 2017-12-29 | 2022-05-17 | Intel Corporation | Microelectronic assemblies |
DE112017008326T5 (de) | 2017-12-29 | 2020-10-08 | Intel Corporation | Mikroelektronische Anordnungen |
WO2019132968A1 (en) * | 2017-12-29 | 2019-07-04 | Intel Corporation | Microelectronic assemblies with communication networks |
EP3732717A4 (en) | 2017-12-29 | 2021-09-01 | Intel Corporation | MICROELECTRONIC ARRANGEMENTS WITH COMMUNICATION NETWORKS |
US11335665B2 (en) | 2017-12-29 | 2022-05-17 | Intel Corporation | Microelectronic assemblies |
US11469206B2 (en) | 2018-06-14 | 2022-10-11 | Intel Corporation | Microelectronic assemblies |
US11868309B2 (en) | 2018-09-06 | 2024-01-09 | Pure Storage, Inc. | Queue management for data relocation |
US20230214149A1 (en) * | 2021-12-30 | 2023-07-06 | Micron Technology, Inc. | Modifying access operations based on temperature projections |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8144587B2 (en) | 2006-08-22 | 2012-03-27 | Embarq Holdings Company, Llc | System and method for load balancing network resources using a connection admission control engine |
US8743703B2 (en) | 2006-08-22 | 2014-06-03 | Centurylink Intellectual Property Llc | System and method for tracking application resource usage |
US8250383B2 (en) * | 2008-04-25 | 2012-08-21 | International Business Machines Corporation | Temperature threshold application signal trigger for real-time relocation of process |
US9230940B2 (en) * | 2013-09-13 | 2016-01-05 | Globalfoundries Inc. | Three-dimensional chip stack for self-powered integrated circuit |
US10855605B2 (en) * | 2013-10-16 | 2020-12-01 | Itron Networked Solutions, Inc. | Throttling to control thermal properties through a node |
JP6183168B2 (ja) * | 2013-11-13 | 2017-08-23 | 富士通株式会社 | イベント収集方法、情報処理装置、情報処理システム、及び情報処理プログラム |
-
2014
- 2014-11-24 KR KR1020140164403A patent/KR102203669B1/ko active IP Right Grant
-
2015
- 2015-03-24 US US14/667,255 patent/US10025506B2/en active Active
Non-Patent Citations (2)
Title |
---|
Gaoming Du et al.,‘A Temperature Gradient based Routing Algorithm on 3D NoC’, Computing Communication and Networking Technologies (ICCCNT) 2014 International Conference, pp 1-5 (2014.07.11.)* |
Kun-Chih Chen et al.,‘RC-Based Temperature Prediction Scheme for Proactive Dynamic Thermal Management in Throttle-Based 3D NoCs’, IEEE Trans. Parallel and Distributed Systems, vol. 26(1), pp 206-218 (2014.02.25.)* |
Also Published As
Publication number | Publication date |
---|---|
US20160147463A1 (en) | 2016-05-26 |
KR20160061697A (ko) | 2016-06-01 |
US10025506B2 (en) | 2018-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102203669B1 (ko) | NoC 구조의 반도체 장치 및 그의 라우팅 방법 | |
US11336577B2 (en) | Method and apparatus for implementing load sharing | |
US8321561B2 (en) | Information sharing method between neighboring nodes, node and information sharing program | |
KR20180021831A (ko) | 전자 디바이스들의 열 스로틀링 | |
US20160112502A1 (en) | Distributed computing based on deep packet inspection by network devices along network path to computing device | |
KR101380452B1 (ko) | 버퍼리스 온칩 네트워크의 전력 소모 감소를 위한 목적지 기반 크레딧 흐름 제어 방법 및 장치 | |
US10374943B2 (en) | Routing packets in dimensional order in multidimensional networks | |
KR101609288B1 (ko) | 무버퍼 noc 및 noc 전자요소의 데이터 처리 방법 | |
US11252076B2 (en) | Data forwarding method and apparatus | |
US9866469B2 (en) | Shutdown response system | |
US11113116B2 (en) | Task mapping method of network-on-chip semiconductor device | |
US8046602B2 (en) | Controlling connection status of network adapters | |
US10447585B2 (en) | Programmable and low latency switch fabric for scale-out router | |
Taheri et al. | Cool elevator: A thermal-aware routing algorithm for partially connected 3D NoCs | |
CN104202242A (zh) | 控制网络确定方法及装置 | |
US10158546B2 (en) | System and method for power reduction in network equipment | |
JP6186287B2 (ja) | システムの管理サーバ及び制御方法 | |
US20150288596A1 (en) | Systems and methods for selecting a router to connect a bridge in the network on chip (noc) | |
JP2015149537A (ja) | 経路制御装置及びシステム及び方法 | |
TW201911956A (zh) | 裝置對裝置網路之群組主機選擇方法與選擇群組主機的控制平台 | |
US20190394143A1 (en) | Forwarding data based on data patterns | |
Mohammed et al. | Buffer Occupancy Threshold Selection Strategy for Optimal Traffic Distribution Across a Hierarchical Network Onchip Structure | |
Nan et al. | Adaptive Cross-layer Resources Optimization Strategy for Hybrid Optical and Wireless Network | |
WO2016150314A1 (zh) | 一种实现服务器内部网口负载均衡的方法及系统 | |
US20180074959A1 (en) | Node-based computing devices with virtual circuits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |