KR102203669B1 - NoC 구조의 반도체 장치 및 그의 라우팅 방법 - Google Patents

NoC 구조의 반도체 장치 및 그의 라우팅 방법 Download PDF

Info

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
Application number
KR1020140164403A
Other languages
English (en)
Other versions
KR20160061697A (ko
Inventor
한태희
황준선
Original Assignee
에스케이하이닉스 주식회사
성균관대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이하이닉스 주식회사, 성균관대학교산학협력단 filed Critical 에스케이하이닉스 주식회사
Priority to KR1020140164403A priority Critical patent/KR102203669B1/ko
Priority to US14/667,255 priority patent/US10025506B2/en
Publication of KR20160061697A publication Critical patent/KR20160061697A/ko
Application granted granted Critical
Publication of KR102203669B1 publication Critical patent/KR102203669B1/ko

Links

Images

Classifications

    • 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/03Assemblies 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/04Assemblies 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/065Assemblies 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System 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/7825Globally asynchronous, locally synchronous, e.g. network on chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/34Arrangements for cooling, heating, ventilating or temperature compensation ; Temperature sensing arrangements
    • 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
    • H01L2225/00Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
    • H01L2225/03All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
    • H01L2225/04All 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/065All 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/06503Stacked arrangements of devices
    • H01L2225/06513Bump or bump-like direct electrical connections between devices, e.g. flip-chip connection, solder bumps
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2225/00Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
    • H01L2225/03All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
    • H01L2225/04All 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/065All 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/06503Stacked arrangements of devices
    • H01L2225/06541Conductive via connections through the device, e.g. vertical interconnects, through silicon via [TSV]
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2225/00Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
    • H01L2225/03All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
    • H01L2225/04All 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/065All 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/06503Stacked arrangements of devices
    • H01L2225/06589Thermal management, e.g. cooling
    • 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/03Assemblies 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/04Assemblies 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/065Assemblies 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/0657Stacked arrangements of devices
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices 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/0203Particular design considerations for integrated circuits
    • H01L27/0248Particular design considerations for integrated circuits for electrical or thermal protection, e.g. electrostatic discharge [ESD] protection
    • 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/0001Technical content checked by a classifier
    • H01L2924/0002Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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 구조의 반도체 장치 및 그의 라우팅 방법 {Semiconductor device having network-on-chip structure and routing method thereof}
본 발명은 반도체 장치에 관한 것으로, 특히 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은 본 실시예에 따른 반도체 장치의 발열량을 종래 기술과 비교하기 위하여 도시한 표이다.
이하, 첨부한 도면들을 참고하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예에 대하여 상세히 설명하기로 한다. 각 도면에 제시된 참조부호들 중 동일한 참조부호는 동일한 부재를 나타낸다.
도 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)

  1. 수직으로 적층되며, TSV(Through Silicon Via)를 통해 상호 전기적으로 연결된 복수개의 반도체 칩들;
    상기 각 반도체 칩에 형성된 복수개의 반도체 소자들;
    상기 반도체 소자들을 연결하는 복수개의 노드들; 및
    상기 노드들 각각에 구비되며, 상기 노드의 온도에 따라 상기 노드의 통신 접속 여부를 결정하여 상기 반도체 소자들 사이의 최단 통신 경로를 설정하는 노드 제어 장치를 구비하고,
    특정 온도에 도달한 노드는 보통 스로틀링 노드로 설정되고, 상기 특정 온도보다 높은 임계 온도에 도달한 노드는 비상 스로틀링 노드로 설정되며,
    상기 노드 제어 장치는 상기 노드와 목표 노드 사이의 최단 통신 경로 설정 시 상기 보통 스로틀링 노드와 상기 비상 스로틀링 노드를 포함시키지 않으며, 상기 최단 통신 경로가 우회할 경우에는 상기 보통 스로틀링 노드를 통하여 상기 목표 노드까지 최단 경로를 설정하는 것을 특징으로 하는 반도체 장치.
  2. 제1항에 있어서,
    상기 노드 제어 장치는 상기 노드의 온도가 특정 온도에 도달하면 상기 노드를 보통 스로틀링 노드로 설정하여 통신 경로에 접속되는 것을 억제하고, 상기 노드의 온도가 상기 특정 온도보다 높은 임계 온도에 도달하면 상기 노드를 비상 스로틀링 노드로 설정하여 통신 경로에 접속되는 것을 금지하는 것을 특징으로 하는 반도체 장치.
  3. 제1항에 있어서, 상기 노드 제어 장치는
    인접한 노드들의 IP(Internet Protocol) 정보를 공유하고, 목표 노드를 검출하는 라우터;
    노드의 온도를 감지하는 프로세서; 및
    상기 라우터와 상기 프로세서에 연결되며, 상기 노드의 온도를 관리하고, 상기 노드의 온도에 따라 해당 노드와 목표 노드 사이의 통신 경로 설정 및 연결을 제어하는 스로틀링 컨트롤러를 구비하는 것을 특징으로 하는 반도체 장치.
  4. 제3항에 있어서, 상기 스로틀링 컨트롤러는
    프로세서로부터 노드의 온도를 수신하고, 상기 노드의 온도에 관련된 파라메타들을 산출하는 온도정보 산출부;
    상기 온도정보 산출부에서 산출하는 파라메타를 이용하여 노드의 온도가 특정 온도에 도달 가능 여부를 예측하는 열 예측부; 및
    노드가 상기 특정 온도에 도달할 경우에 상기 노드를 스로틀링 노드로 설정하는 것을 제어하는 스로틀링 관리부를 구비하는 것을 특징으로 하는 반도체 장치.
  5. 제1항에 있어서,
    상기 보통 스로틀링 노드로 설정된 상태 및 상기 비상 스로틀링 노드로 설정된 상태를 나타내는 스로틀링 테이블을 저장하는 스로틀링 테이블 저장부를 더 구비하는 것을 특징으로 하는 반도체 장치.
  6. 삭제
  7. 제1항에 있어서,
    상기 반도체 장치는 복수개의 적층된 반도체 칩들을 구비하고,
    상기 반도체 칩들에는 각각 TSV(Through Silicon Via)가 형성되고,
    상기 반도체 칩들은 상기 TSV를 통해 상호 데이터 통신을 수행하는 것을 특징으로 하는 반도체 장치.
  8. 제1항에 있어서,
    상기 복수개의 노드들은 상기 반도체 칩들 각각에서 수평으로 통신하는 2차원 노드들과, 수직으로 적층된 상기 반도체 칩들 사이에서 수직으로 통신하는 3차원 노드들로 구분되는 것을 특징으로 하는 반도체 장치.
  9. 반도체 장치에 구비된 복수개의 반도체 소자들 사이의 통신 경로를 설정하는 반도체 장치의 라우팅 방법에 있어서,
    (a) 목표 노드를 설정하는 단계;
    (b) 상기 목표 노드와 특정 노드 사이의 최단 통신 경로를 설정하는 단계;
    (c) 상기 최단 통신 경로상에 비상 스로틀링 노드가 존재하는지 확인하는 단계, 상기 비상 스로틀링 노드는 임계 온도에 도달한 노드에 대해 설정되는;
    (d) 상기 비상 스로틀링 노드가 존재하지 않으면 상기 최단 통신 경로를 확정하고, 상기 비상 스로틀링 노드가 존재하면 상기 비상 스로틀링 노드를 회피하여 상기 최단 통신 경로를 재설정하며,
    상기 임계 온도보다 낮은 특정 온도에 도달한 노드는 보통 스로틀링 노드로 설정되고,
    상기 목표 노드와 상기 특정 노드 사이의 상기 최단 통신 경로 설정 시 상기 보통 스로틀링 노드와 상기 비상 스로틀링 노드를 포함시키지 않으며, 상기 최단 통신 경로가 우회할 경우에는 상기 보통 스로틀링 노드를 통하여 상기 목표 노드까지 최단 경로를 설정하는 것을 특징으로 하는 반도체 장치의 라우팅 방법.
  10. 제9항에 있어서,
    상기 반도체 장치는, 상기 보통 스로틀링 노드들과 상기 비상 스로틀링 노드들을 나타내는 스로틀링 테이블을 저장하며,
    상기 반도체 장치는 상기 스로틀링 테이블을 체크하여 상기 (c) 단계의 상기 비상 스로틀링 노드의 존재 여부를 확인하는 것을 특징으로 하는 반도체 장치의 라우팅 방법.
  11. 제9항에 있어서,
    상기 최단 통신 경로가 복수개이며, 이들 중 하나는 상기 보통 스로틀링 노드를 포함하지 않는 경우, 반도체 장치는 상기 보통 스로틀링 노드를 포함하지 않는 경로를 상기 최단 통신 경로로써 설정하는 것을 특징으로 하는 반도체 장치의 라우팅 방법.
  12. 제9항에 있어서,
    상기 목표 노드가, 상기 보통 스로틀링 노드로 설정되어 있을 경우에는 상기 최단 통신 경로를 재설정하는 것을 특징으로 하는 반도체 장치의 라우팅 방법.
KR1020140164403A 2014-11-24 2014-11-24 NoC 구조의 반도체 장치 및 그의 라우팅 방법 KR102203669B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 富士通株式会社 イベント収集方法、情報処理装置、情報処理システム、及び情報処理プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
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