KR102057246B1 - 메모리 중심 시스템 인터커넥트 구조 - Google Patents
메모리 중심 시스템 인터커넥트 구조 Download PDFInfo
- Publication number
- KR102057246B1 KR102057246B1 KR1020130107234A KR20130107234A KR102057246B1 KR 102057246 B1 KR102057246 B1 KR 102057246B1 KR 1020130107234 A KR1020130107234 A KR 1020130107234A KR 20130107234 A KR20130107234 A KR 20130107234A KR 102057246 B1 KR102057246 B1 KR 102057246B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- network
- system interconnect
- interconnect structure
- memory device
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1657—Access to multiple memories
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명에 따르면, 메모리 디바이스들이 인터커넥트 네트워크를 통해 상호 접속되고 프로세서들 사이에서 패킷을 라우팅 함으로써 프로세서의 대역폭을 최대한 활용할 수 있으며, 분산형 네트워크를 이용하여 프로세서들이 복수의 메모리 디바이스와 상호 접속되도록 구성함으로써 라우팅 패쓰의 다양성을 제공하고 패킷의 전송대기 시간을 최소화하여 레이턴시 현상을 감소시킬 수 있는 메모리 중심 시스템 인터커넥트 구조가 제공된다.
본 발명에 따른 메모리 중심 시스템 인터커넥트 구조는, 네트워크 기능을 가지는 복수의 메모리 디바이스; 상기 메모리 디바이스 간에 상호 접속되어 형성되는 메모리 네트워크; 및 상기 메모리 네트워크를 경유하여 연결 가능한 복수의 프로세서를 포함하며, 상기 프로세서는 각각 상기 메모리 네트워크를 구성하는 적어도 둘 이상의 메모리 디바이스에 접속되어 분산형 네트워크를 구성한다.
본 발명에 따른 메모리 중심 시스템 인터커넥트 구조는, 네트워크 기능을 가지는 복수의 메모리 디바이스; 상기 메모리 디바이스 간에 상호 접속되어 형성되는 메모리 네트워크; 및 상기 메모리 네트워크를 경유하여 연결 가능한 복수의 프로세서를 포함하며, 상기 프로세서는 각각 상기 메모리 네트워크를 구성하는 적어도 둘 이상의 메모리 디바이스에 접속되어 분산형 네트워크를 구성한다.
Description
본 발명은 메모리 중심 시스템 인터커넥트 구조에 관한 것으로서, 더욱 상세하게는 서로 다른 트래픽 패턴에 대하여 프로세서의 대역폭을 최대한 활용할 수 있으며 분산형 네트워크를 이용하여 패킷의 송수신 레이턴시를 감소시키는 새로운 시스템 인터커넥트 구조이다.
전통적으로, 프로세서의 성능은 메모리의 대역폭 증가에 비해 더욱 빠른 속도로 발전해왔으며, 메모리의 대역폭과 관련된 문제점은 시스템의 기능을 저하시키는 원인이 되고 있다.
도 1은 종래 프로세서 중심 시스템 인터커넥트 구조를 보여준다. 도 1을 참조하면, 전통적인 시스템 인터커넥트 구조에서, CPU(10)들은 인터커넥트 네트워크(14)를 통해 상호 접속되며, 복수의 종속된 메모리(12)들을 가질 수 있다.
도 2는 인텔(Intel)의 퀵패스 인터커넥트(QuickPath Interconnect) 아키텍처의 예를 보여준다. 네 개의 CPU(20)들은 고속의 점대점(point-to-point) 링크를 통해 다른 CPU(20)들과 상호 접속되어 고속의 대역폭을 제공한다. 각 CPU(20)들은 두 개의 메모리 채널을 가지며, 공유 버스를 통해 CPU(20)와 메모리 디바이스(30), 메모리 디바이스(30) 상호 간에 접속이 이루어진다. 메모리 디바이스(30)는 온 칩(on chip) 메모리 컨트롤러를 내장한 DRAM(Dynamic Random Access Memory) 장치일 수 있다.
한편, 최근에는 메모리 디바이스의 대역폭과 에너지 효율을 향상시키기 위한 많은 연구가 진행되고 있다. 예를 들어, 도 3에 도시한 바와 같이, 로직 다이(32) 위에 복수의 메모리 다이(32)들을 3차원으로 적층시킨 메모리 디바이스가 제안되었다. 이러한 메모리 디바이스(30)의 로직 다이는 도 2와 같은 인터커넥트 네트워크에서 프로세서 또는 다른 메모리 디바이스(30)와 인터페이싱을 수행하며, 많은 수의 독립 메모리 뱅크, 고 대역폭의 TSV(Through-Silicon Via), 및 고속 I/O 인터페이스 등에 의해 높은 대역폭을 제공한다.
그런데 종래의 시스템 인터커넥트 구조에서는, 메모리 디바이스(30)가 공유 버스를 통해 상호 인터페이싱을 수행할 뿐, CPU(20) 간에 송수신되는 패킷을 라우팅 하는 능력은 없었다. 이는 메모리 디바이스(30)에 비해 월등히 높은 CPU(20) 간에만 고속의 점대점 링크를 제공하여, 패킷의 소스(source)와 목적지(destination)간 패쓰를 줄이고 패킷의 전송 시에 발생하는 지연 현상(latency)을 최소화하기 위함이다.
하지만, 공유 버스를 통하여 CPU(20)에 메모리 디바이스(30)들을 접속하는 환경에서는, 접속 가능한 메모리 디바이스(30)들의 수가 제한적이다. 만약, 메모리 디바이스(30)의 접속 수를 무리하게 증가시킨다면, 네트워크의 크기(diameter)가 불가피하게 증가될 것이다. 또한, 공유 버스를 통해 많은 수의 메모리 디바이스(30)들이 연결되는 경우, 전통적인 문제점에서와 같이 메모리 디바이스(30)에서의 병목 현상에 의해 CPU의 대역폭을 충분히 활용하지 못하고 에너지 효율이 크게 저하되는 문제점이 발생된다. 특히, 대용량 데이터의 고속 스트리밍을 요구하는 서버 환경의 컴퓨팅 시스템에서 이러한 병목 현상에 기인한 대역폭 성능의 문제점이 크게 대두된다.
본 발명에 따르면, 메모리 디바이스들이 인터커넥트 네트워크를 통해 상호 접속되고 프로세서들 사이에서 패킷을 라우팅 함으로써, 프로세서의 대역폭을 최대한 활용할 수 있는 메모리 중심 시스템 인터커넥트 구조가 제공된다.
또한, 본 발명에 따르면, 분산형 네트워크를 이용하여 프로세서들이 복수의 메모리 디바이스와 상호 접속되도록 구성함으로써, 네트워크의 크기(diameter)를 감소시키면서 라우팅 패쓰의 다양성을 제공하고 패킷의 전송대기 시간을 최소화하여 레이턴시 현상을 감소시킬 수 있는 메모리 중심 시스템 인터커넥트 구조가 제공된다.
본 발명에 따른 메모리 중심 시스템 인터커넥트 구조는, 네트워크 기능을 가지는 복수의 메모리 디바이스; 상기 메모리 디바이스 간에 상호 접속되어 형성되는 메모리 네트워크; 및 상기 메모리 네트워크를 경유하여 연결 가능한 복수의 프로세서를 포함하며, 상기 프로세서는 각각 상기 메모리 네트워크를 구성하는 적어도 둘 이상의 메모리 디바이스에 접속되어 분산형 네트워크를 구성한다.
또한, 본 발명의 일 태양에 따르면, 상기 분산형 네트워크는, dMESH(distributed-based MESH) 네트워크로 구성된다.
또한, 본 발명의 다른 태양에 따르면, 상기 분산형 네트워크는, dFBFLY(distributed-based Flattened Butterfly) 네트워크로 구성된다.
또한, 본 발명의 또 다른 태양에 따르면, 상기 분산형 네트워크는, dDFLY(distributed-based Dragonfly) 네트워크로 구성된다.
또한, 본 발명의 일 태양에 따르면, 상기 복수의 프로세서 간에 상호 접속되는 프로세서 네트워크를 더 포함하며, 상기 메모리 네트워크와 상기 프로세서 네트워크가 혼재하여 하이브리드 네트워크를 구성한다.
또한, 본 발명의 일 태양에 따르면, 상기 메모리 디바이스는, 상기 복수의 프로세서 중 적어도 어느 하나 또는 상기 메모리 네트워크를 통해 연결되는 다른 메모리 디바이스에 대하여 라우터로서 동작한다.
또한, 본 발명의 다른 태양에 따르면, 상기 메모리 네트워크는, 상기 복수의 프로세서에 대하여 인트라 네트워크를 구성하는 인트라-메모리 네트워크이다.
또한, 본 발명의 일 태양에 따르면, 상기 메모리 디바이스는, 로직 다이 위에 복수의 메모리 다이가 적층되는 구조를 갖는다.
또한, 본 발명의 다른 태양에 따르면, 상기 메모리 다이는, DRAM으로 구성된다.
또한, 본 발명의 일 태양에 따르면, 상기 프로세서는, 트래픽 패턴에 대하여, 상기 메모리 디바이스 중 어느 하나로의 미니멀 패쓰(minimal path)가 혼잡할 때 상기 분산형 네트워크를 통해 접속된 다른 메모리 디바이스로 논-미니멀 패쓰(non-minimal path)를 통해 라우팅 하는 적응적 라우팅(adaptive routing)을 수행한다.
또한, 본 발명의 다른 태양에 따르면, 상기 메모리 디바이스는, 트래픽 패턴에 대하여, 상 메모리 디바이스 중 어느 하나로의 미니멀 패쓰(minimal path)가 혼잡할 때 상호 접속된 다른 메모리 디바이스로의 논-미니멀 패쓰(non-minimal path)를 통해 라우팅 하는 적응적 라우팅(adaptive routing)을 수행한다.
또한, 본 발명의 일 태양에 따르면, 상기 메모리 디바이스는, 적어도 하나의 메모리 컨트롤러; 및 패킷의 입력 측과 출력 측에 각각 배치되는 I/O 포트를 포함한다.
또한, 본 발명의 다른 태양에 따르면, 상기 메모리 디바이스는, 입력 측의 상기 I/O 포트와 출력 측의 상기 I/O 포트 사이에서 패킷을 바이패스 하는 패스 스루 패쓰(pass-thru path)와, 패킷을 다른 메모리 디바이스 또는 상기 프로세서로 라우팅하기 위한 폴 스루 패쓰(fall-thru path)를 별도로 구비한다.
또한, 본 발명의 또 다른 태양에 따르면, 상기 복수의 프로세서 중 소스 프로세서로부터 목적지 프로세서까지의 패스 스루 패쓰는 적어도 하나의 미리 지정된 상기 메모리 디바이스를 경유하여 형성된다.
또한, 본 발명의 또 다른 태양에 따르면, 상기 소스 프로세서는 상기 목적지 프로세서 각각에 대하여 독립된 패스 스루 패쓰를 갖는다.
또한, 본 발명의 또 다른 태양에 따르면, 상기 폴 스루 패쓰 상에는 입력되는 패킷을 역직렬화 하는 역직렬화부, 라우터 코어, 및 패킷을 원래대로 직렬화 하여 출력하는 직렬화부가 순차로 배치된다.
또한, 본 발명의 또 다른 태양에 따르면, 상기 I/O 포트의 출력 측에는 상기 패스 스루 패쓰로 바이패스 되는 패킷과 상기 폴 스루 패쓰를 지나 출력되는 패킷을 선택하는 제1 먹스(Mux)가 구비된다.
또한, 본 발명의 또 다른 태양에 따르면, 상기 제1 먹스(Mux)의 출력 측에는 상기 제1 먹스(Mux)의 출력을 직렬화 하여 시그널 레이트(signal rate)를 증배하는 제2 먹스(Mux)가 구비된다.
또한, 본 발명의 또 다른 태양에 따르면, 상기 패스 스루 패쓰로 라우팅 되는 패스 스루 패킷은 상기 제1 먹스의 셋업 시간을 위한 룩어헤드 플릿(lookahead flit)과 페이로드 플릿(payload flit)을 포함한다.
또한, 본 발명의 또 다른 태양에 따르면, 상기 라우터 코어는 상기 룩어헤드 플릿을 수신한 후, (a) 페이로드 패킷의 가상 채널 버퍼가 비어 있고, (b) 다운스트림 방향의 상기 메모리 디바이스에서 상기 가상 채널 버퍼가 충분히 확보되어 있고, (c) 상기 가상 채널 버퍼를 이용한 이전 패킷이 완전히 출력되었는지를 확인하여 해당 패킷을 패스 스루 패쓰로 라우팅 한다.
본 발명에 따르면, 메모리 중심 시스템 인터커넥트 구조에 따라 프로세서의 대역폭을 최대한 활용할 수 있으며, 프로세서와 메모리 디바이스 간에 분산형 네트워크를 구성하여 네트워크의 크기(diameter)를 감소시키면서 라우팅 패쓰의 다양성을 제공하고 패킷의 전송대기 시간을 최소화하여 레이턴시(latency) 현상을 감소시킬 수 있다.
도 1은 종래 프로세서 중심 시스템 인터커넥트 구조를 보인 블록도,
도 2는 인텔의 퀵패스 인터커넥트 아키텍처를 예시한 블록도,
도 3은 메모리 디바이스의 일예를 개념적으로 보인 도면,
도 4는 본 발명에 따른 메모리 중심 시스템 인터커넥트 구조를 보인 블록도,
도 5a 내지 5f는 메모리 네트워크의 실시례를 보인 블록도,
도 6은 본 발명에 따른 적응적 라우팅을 예시한 블록도,
도 7은 인트라-메모리 네트워크에서의 패스 스루 패쓰를 예시한 도면,
도 8은 메모리 디바이스 내의 라우터 I/O 패쓰를 예시한 회로도,
도 9는 패스 스루 패킷의 라우팅 과정을 예시한 타이밍 차트,
도 10은 프로세서 간의 패스 스루 패쓰의 형성 예를 보인 블록도,
도 11은 하이브리드 네트워크 구조를 보인 블록도, 및
도 12는 하이브리드 네트워크의 상호 접속 관계를 보인 블록도이다.
도 2는 인텔의 퀵패스 인터커넥트 아키텍처를 예시한 블록도,
도 3은 메모리 디바이스의 일예를 개념적으로 보인 도면,
도 4는 본 발명에 따른 메모리 중심 시스템 인터커넥트 구조를 보인 블록도,
도 5a 내지 5f는 메모리 네트워크의 실시례를 보인 블록도,
도 6은 본 발명에 따른 적응적 라우팅을 예시한 블록도,
도 7은 인트라-메모리 네트워크에서의 패스 스루 패쓰를 예시한 도면,
도 8은 메모리 디바이스 내의 라우터 I/O 패쓰를 예시한 회로도,
도 9는 패스 스루 패킷의 라우팅 과정을 예시한 타이밍 차트,
도 10은 프로세서 간의 패스 스루 패쓰의 형성 예를 보인 블록도,
도 11은 하이브리드 네트워크 구조를 보인 블록도, 및
도 12는 하이브리드 네트워크의 상호 접속 관계를 보인 블록도이다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시례를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합되는 의미와 개념으로 해석되어야만 한다. 따라서, 본 명세서에 기재된 실시례와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시례에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
명세서 전체에 걸쳐 유사한 구성 및 동작을 갖는 부분에 대해서는 동일한 도면 부호를 붙였다. 그리고 본 발명에 첨부된 도면은 설명의 편의를 위한 것으로서, 그 형상과 상대적인 척도는 과장되거나 생략될 수 있다. 실시례를 구체적으로 설명함에 있어서, 중복되는 설명이나 당해 분야에서 자명한 기술에 대한 설명은 생략되었다. 또한, 이하의 설명에서 어떤 부분이 다른 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 기재된 구성요소 외에 구성요소를 더 포함할 수 있는 것을 의미한다.
또한, 명세서에 기재된 "~부", "~기", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 어떤 부분이 다른 부분과 전기적으로 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐만 아니라 그 중간에 다른 구성을 사이에 두고 연결되어 있는 경우도 포함한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
이하, 본 발명에서 "PCN"(Processor-Centric Network)라 함은, 종래 기술에서 도 1을 참조하여 설명한 바와 같이, 프로세서들이 네트워크(또는 네트워크 노드)를 통해 상호 접속되어 통신 채널을 형성하고 메모리 디바이스들은 프로세서에 종속된 형태의 네트워크를 의미한다.
이하, 본 발명에서 "MCN"(Memory-Centric Network)라 함은, PCN에 대립되는 본 발명의 기술사상을 함축적으로 나타내는 용어로서, 도 4에 도시한 바와 같이, 메모리 디바이스들이 네트워크(또는 네트워크 노드)를 통해 상호 접속되고 프로세서들은 메모리 네트워크를 경유하여 통신 채널을 구성할 수 있는 네트워크를 의미한다.
이하, 본 발명에서 "하이브리드 네트워크"(Hybrid Network)라 함은, 본 발명의 기술사상이 확장된 개념으로서, 상기한 MCN과 PCN이 혼재하는 네트워크, 즉, 메모리 디바이스들이 상호 접속되어 프로세서에 대하여 인트라(intra) 네트워크를 구성함은 물론, 프로세서들 역시 상호 접속되어 프로세서 네트워크를 구성하는 혼재된 네트워크를 의미한다.
한편, 본 발명에서 프로세서들에 대하여 인트라 네트워크를 구성하는 메모리 디바이스들은 다른 용어로 "라우터"(router)로 표현될 수 있으며, 프로세서들에 대하여 메모리 디바이스들이 인트라 네트워크를 구성하는 것을 가리켜 "인트라-메모리 네트워크"라 칭할 수 있다.
이하, 본 발명에서 "분산형 네트워크"(distributed-based network)라 함은, 프로세서가 인트라-메모리 네트워크에서 하나의 메모리 디바이스에 연결되는 것이 아니라, 적어도 둘 이상의 메모리 디바이스에 연결되어 분산된 라우팅을 수행할 수 있는 네트워크를 의미한다.
한편, 이하의 설명에서 "프로세서"는 명령을 해독하고 실행하는 기능 단위를 의미하며, 하드웨어 관점으로는 "CPU"라고 표현될 수도 있다.
도 4는 본 발명에 따른 메모리 중심 시스템 인터커넥트 구조를 보여주는 것으로, 메모리 디바이스(100) 간에 상호 접속되어 메모리 네트워크를 형성하는 MCN 구조를 보여준다.
도 4를 참조하면, 네크워크 기능을 가지는 복수의 메모리 디바이스(100)가 인터커넥트 네트워크(120)를 통해 상호 접속된다. 예컨대, 메모리 디바이스(100)들은 고속의 점대점 링크(high speed point-to-point link)를 통해 상호 접속된다.
프로세서(110)들은 메모리 디바이스(100)에 접속되어, 메모리 디바이스(100)를 경유하여 상호 연결 가능하게 구성된다.
예를 들어, 메모리 디바이스(100)는 로직 다이 위에 복수의 메모리 다이가 적층된 입체적인 구조를 가질 수 있다. 로직 다이에는 메모리 컨트롤러 및 I/O 포트를 포함하는 구성품들이 올려진다.
로직 다이와 메모리 다이, 그리고, 메모리 다이 간은 TSV(Through-Silicon Via)를 통해 접속된다. 예를 들어, 메모리 다이는 DRAM으로 구성된다.
도 5a 내지 5f는 메모리 네트워크의 실시례를 보인 블록도로서, 4개의 프로세서(110, 또는 CPU 소켓)와 16개의 메모리 디바이스(100)가 MCN을 구성하는 예를 보여준다. 도 5a, 5c, 및 5e는 각각 MESH, FBFLY(Flattened Butterfly), 및 DFLY(Dragonfly) 네트워크 구성을 보여준다.
도 5a, 5c, 및 5e 각각에 대응하여, 도 5b, 5d, 및 5f는 각각 분산형 네트워크인 dMESH(distributed-based MESH), dFBFLY(distributed-based Flattened Butterfly), 및 dDFLY(distributed-based Dragonfly) 네트워크 구성을 보여준다.
도시한 바와 같이, MESH 네트워크에 비해 FBFLY 및 DFLY 네트워크는 메모리 디바이스 간의 상호 접속성이 향상되며, 추가적인 채널을 확보할 수 있다. 도 5b, 5d, 및 5f의 분산형 네트워크는 프로세서(110)에 복수의 메모리 디바이스(100)가 상호 접속된 구조를 갖는다.
분산형 네트워크는 그렇지 않은 네트워크와 비교하여 더 많은 채널을 갖게 되며, 동일한 수의 메모리 디바이스로 구성되는 경우 네트워크 지름을 줄일 수 있게 한다.
또한, CPU의 라우팅 패쓰가 증가되어 높은 CPU의 대역폭을 충분히 활용할 수 있으며, 홉 수(hop count)를 감소시킬 수 있다.
dFBFLY 네트워크는 dDFLY 네트워크에 비하여 네트워크 지름을 작게 할 수 있고, 홉 수를 더 줄일 수 있다. 반면 코스트가 증가하고 스케일링(scaling)이 복잡해진다.
도 5b, 5d, 및 5f에 도시된 분산형 네트워크는 각 프로세서(110)가 4개의 메모리 디바이스(100)에 직접 연결되어 4-way 채널을 구성한다. 즉, 프로세서(100)로부터의 최근접 라우팅 패쓰를 분산시킨다.
이러한 분산형 시스템은 대역폭 사용에 유연성을 제공하여 프로세서의 대역폭을 거의 온전히 활용할 수 있도록 한다.
한편, 분산형의 MCN에서 발생되는 트레이드오프(trade off)는 종래의 PCN에 비해 홉 수의 증가가 불가피함에 따라 프로세서 간에서의 레이턴시(latency)가 증가될 수 있다는 점이다.
이러한 문제를 해결하기 위하여, 본 발명에서는 적응적 라우팅(adaptive routing)과 패스 스루(pass-thru) 마이크로 아키텍처를 제공한다.
적응적 라우팅은 종래 시스템 인터커넥트 구조에서 지향하는 미니멀 라우팅(minimal routing)과 대립되는 개념으로 "non-minimal routing"이라 칭할 수도 있다.
패스 스루 마이크로 아키텍처는 메모리 디바이스의 내부를 경유하는 패쓰를 거치지 않고, 메모리 디바이스 외부의 바이패스 패쓰로 라우팅 하는 개념을 의미한다.
도 6은 본 발명에 따른 적응적 라우팅을 예시한 블록도이다. 도 6을 참조하면, 프로세서 "CPU0"에서 메모리 디바이스(또는 라우터) "H1"로의 미니멀 패쓰(minimal path)가 점선으로 도시되어 있다.
그리고 "CPU0"에서 "H1"로의 논-미니멀 패쓰(non-minimal path)가 곡선의 단방향 화살표로서 실선으로 도시되어 있다.
도 5a에서와 같이 "CPU0"이 하나의 메모리 디바이스(100)에만 접속되어 있거나, 미니멀 패쓰만을 지향하는 것으로 가정해보자.
"H1"에서 혼잡(congestion)이 발생될 경우, 소스로부터 송신되는 패킷은 전송대기에 있게 될 것이다.
그리고 해당 소스를 목적지로 하는 반대의 트래픽 패턴(adversarial traffic pattern)에 대하여 프로세서의 대역폭이 이용되지 못하는 현상이 발생될 것이다.
하지만, 도 6에서와 같이 미니멀 패쓰가 혼잡할 경우, 세 개의 논-미니멀 패쓰 중 한산한 패쓰를 이용하여 패킷을 라우팅 한다면, 반대로 라우팅 되는 트래픽 패턴을 적시에 처리할 수 있게 되며, 프로세서의 대역폭은 온전히 활용될 수 있다.
나아가, 이러한 적응적 라우팅에 의해 홉 수가 증가하여도 패킷의 전송대기 시간이 줄어들게 되어 네트워크에서의 레이턴시는 감소된다.
본 발명에 따른 메모리 중심 시스템 인터커넥트 구조는 프로세서 간에 직접 채널을 형성하는 대신에 인트라-메모리 네트워크를 경유하여 채널을 형성한다.
이에 따라 프로세서 간 패킷의 송수신 시간이 지연되는 레이턴시(latency)가 증가할 수 있다.
하지만, 홉 수의 증가가 총 채널 링크 레이턴시와 헤더 레이턴시를 비례적으로 증가시킨다.
즉, 홉별 레이턴시는 직렬화/역직렬화 레이턴시()와, 네트워크 레이턴시에 해당하는 온 칩 라우터 딜레이() 및 온 칩 와이어 딜레이()의 합으로 나타낼 수 있다. 따라서 위의 수학식1은 다음의 수학식2로 치환된다.
레이턴시에 민감한 부하에서, 수학식2에서와 같은 추가적인 레이턴시의 발생은 시스템 전체 기능에 영향을 줄 수 있다. 본 발명은 이러한 문제를 해결하기 위하여 패스 스루 마이크로 아키텍처를 제공한다.
패스 스루 마이크로 아키텍처는 인트라 메모리 디바이스(100)에서 입력 측 I/O 포트로부터 출력 측 I/O 포트로 패킷을 직접 포워딩하는(디바이스 내부의 라우터 코어를 거치지 않고) 것을 의미한다.
이와 같이 패스 스루 아키텍처를 이용하여 메모리 디바이스 내에서의 프로세싱을 제거함으로써, 칩 상에서 발생하는 , , 및 등의 딜레이를 제거할 수 있고 결국 레이턴시를 최소화 시킬 수 있다.
도 7은 인트라-메모리 네트워크에서의 패스 스루 패쓰를 보여주는 것으로, 4*4의 MESH 인트라-메모리 네트워크를 예시하고 있다.
도 7은 로직 레이어를 평면적으로 도시한 것으로서, 해칭 처리된 DRAM(106)은 실제로는 로직 레이어와 다른 레이어에 적층되어 있지만, 발명의 이해를 위해 함께 도시하였다.
메모리 디바이스 간의 통신 채널은 양방향 화살표로 도시하였다.
도 7을 참조하면, 메모리 디바이스의 로직 레이어 상에는 적어도 하나의 메모리 컨트롤러(102)와, 입력 측과 출력 측에 각각 I/O 포트(104)가 배치된다.
도 7에서 곡선 화살표로 묘사한 것과 같이, 메모리 디바이스의 입력 측 I/O 포트로 입력된 패킷이 내부의 구성품들을 거치지 않고 바로 출력 측 I/O 포트로 바이패스 되어 나가는 패스 스루 패쓰(pass-thru path)를 가진다.
도 8은 메모리 디바이스 내의 라우터 I/O 패쓰를 예시한 회로도이다. 도 8을 참조하면, 좌측은 I/O 포트 A의 입력단 중 라우터와 관련된 구성을 도시하였다. 또한, 우측은 I/O 포트 B의 출력단 중 라우터와 관련된 구성을 도시하였다.
도 8에서는 생략하였지만, 각각의 I/O 포트 측에는 반대 방향의 패킷을 라우팅 하기 위하여, 대향하는 측과 동일한 입출력 구성을 더 가진다.
도 8을 참조하면, 입력 포트에는 수신된 패킷을 1비트씩 받기 위해 플립플롭(202)이 설치된다. 플립플롭(202)는 패킷의 비트 수에 대응하는 수가 병렬로 연결된다. 소스 측과 라우터 내부의 클록 도메인이 다르기 때문에, 동기화를 위해 플립플롭(202)에 5GHz의 Rx 클록이 제공된다.
라우터 내부의 라우터 코어(206)에서의 적절한 프로세싱을 위하여, 역직렬화부(204)가 설치된다.
정상적인 플릿은 온 칩(on-chip) 네트워크 데이터 패쓰(입력 버터, 크로스바, 중재부 등과 같은)를 통해 지나간다. 그리고 출력 포트의 직렬화부(214)에서 원래대로 직렬화 하여 또 다른 노드로 전송한다.
도 8에서 실선 화살표(아래로 떨어졌다가 올라가는)로 도시한 것과 같이, 역직렬화부(204), 라우터 코어(206), 및 직렬화부(214)를 거쳐 폴 스루 패쓰(fall-thru path)가 형성된다.
노드 간의 레이턴시를 최소화 하기 위하여, 라우터 내에는 다른 데이터 패쓰(data path)가 더 형성된다. 도 8에서 점선 화살표로 도시한 것과 같이, 라우터 내부의 폴 스루 패쓰를 바이패스 하여 패스 스루 패쓰(pass-thru path)가 더 형성된다.
출력 포트에는 패스 스루 패쓰로 바이패스 되는 패킷과 폴 스루 패쓰를 지나 출력되는 패킷을 선택하기 위한 제1 먹스(Mux)가 설치된다. 제1 먹스의 출력 측에는 제1 먹스의 출력을 직렬화 하여 시그널 레이트(signal rate)를 증배하는 제2 먹스(Mux)가 설치된다.
여기서, 도 9에 도시된 바와 같이, 패스 스루 패쓰를 지나기 위한 패스 스루 패킷에 대하여 제1 먹스의 셋업 시간이 요구된다.
이를 위하여, 패스 스루 패킷은 룩어헤드 플릿(lookahead flit)을 포함한다.
도 9에서와 같이, 페이로드 플릿(payload flit)에 앞서 룩어헤드 플릿이 전송된다. 룩어헤드 플릿은 후속되는 패킷이 패스 스루 로직을 통해 전송될 것을 나타낸다.
패킷 인터리빙(interleaving)이 발생되지 않도록 하기 위하여, 패스 스루 패쓰의 예약은 다음의 세가지 조건이 만족되는 경우에만 달성된다.
(a) 페이로드 패킷의 가상 채널 버퍼가 비어 있는 경우
(b) 다운스트림 방향의 라우터에서 가상 채널 버퍼가 충분히 확보되어 있는 경우
(c) 가상 채널 버퍼를 이용한 이전 패키시 완전히 빠져나간 것이 확인된 경우
위의 3가지 조건 중 어느 하나의 조건이라도 만족되지 않는다면, 다음의 페이로드 패킷은 폴 스루 패쓰로 지나간다. 만약, 룩어헤드 플릿이 존재하지 않는다면, 후속되는 페이로드 패킷 역시 폴 스루 패쓰로 지나간다.
패스 스루 패쓰는 채널에 걸리는 부하가 작을 때 효과적이므로, 패스 스루 패쓰의 활용을 최대화 하기 위하여 독립된 가상 채널 세트들이 요구된다.
또한, 패스 스루 패쓰는 레이턴시를 최소화(특히 제로-부하 레이턴시) 하는 것을 목표로 하므로, 도 10에서 점선으로 도시한 바와 같이, 소스 프로세서로부터 목적지 프로세서까지의 패스 스루 패쓰를 각각에 대하여 독립적인 패쓰(중첩된 라우터를 사용하지 않는)로 구성할 필요가 있다.
도 11은 본 발명에 따른 하이브리드 네트워크 구조를 보인 블록도이고, 도 12는 하이브리드 네트워크의 상호 접속 관계를 보인 블록도이다.
도 12 역시 4개의 CPU(310)와 16개의 메모리 디바이스(300)가 인터커넥트 네트워크를 구성하는 것을 예시하였다. 또한, 도 12의 예시는 도 5f에 도시된 dDFLY 네트워크를 나타낸다.
도 11 및 12를 참조하면, CPU(310)와 메모리 디바이스(300)가 분산형의 MCN을 구성하는 것은 앞선 실시례와 동일하다. 도 11 및 12의 예시는 앞선 실시예들에 더하여, 일반적인 PCN 구조와 마찬가지로 CPU(310)들이 직접 상호 접속된다.
즉, MCN과 PCN이 혼재하는 네트워크이다. 이러한 하이브리드 네트워크에서도 앞서 설명한 MCN에서와 같이, 분산형 네트워크, 적응적 라우팅, 패스 스루 마이크로 아키텍처 등에 의한 기술적 장점을 그대로 누릴 수 있음은 물론이다.
전술한 본 발명의 메모리 중심 시스템 인터커넥트 구조는, 서버, 퍼스널 컴퓨터(PC), 데스크톱 컴퓨터, 셋톱박스, DVD 플레이어, 또는, 모바일 폰, 태블릿 PC, PDA, PMP, 및 디지털 카메라 등과 같은 이동 장치 등에 적용되어 구현될 수 있다.
예를 들어, 대용량의 미디어 데이터를 스트리밍 하는 서버 환경의 컴퓨팅 시스템에 적용될 경우, 네트워크 지름(diameter)을 작게 하면서도 프로세서의 대역폭을 최대한 활용할 수 있어 에너지를 효율적으로 관리할 수 있다.
또한, 라우팅 패쓰의 다양성을 부여하여 네트워크 레이턴시를 최소화 시킴에 따라, 대용량 데이터를 고속으로 처리할 수 있고, 런 타임을 감소시키면서, 에너지 비용을 절감시킬 수 있다.
이상과 같이, 본 발명은 비록 한정된 실시례와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형 가능함은 물론이다.
100 : 메모리 디바이스(라우터) 102 : 메모리 컨트롤러
104 : I/O 포트 106 : DRAM
110 : 프로세서(CPU) 120 : 인터커넥트 네트워크
202 : 플립플롭 204 : 역직렬화부
206 : 라우터 코어 214 : 직렬화부
222 : 제1 먹스 224 : 제2 먹스
300 : 메모리 디바이스(라우터) 310 : 프로세서(CPU)
320 : 인터커넥트 네트워크
104 : I/O 포트 106 : DRAM
110 : 프로세서(CPU) 120 : 인터커넥트 네트워크
202 : 플립플롭 204 : 역직렬화부
206 : 라우터 코어 214 : 직렬화부
222 : 제1 먹스 224 : 제2 먹스
300 : 메모리 디바이스(라우터) 310 : 프로세서(CPU)
320 : 인터커넥트 네트워크
Claims (20)
- 네트워크 기능을 가지는 복수의 메모리 디바이스;
상기 메모리 디바이스 간에 상호 접속되어 형성되는 메모리 네트워크; 및
상기 메모리 네트워크를 경유하여 연결 가능한 복수의 프로세서를 포함하며,
상기 프로세서는 각각 상기 메모리 네트워크를 구성하는 적어도 둘 이상의 메모리 디바이스에 접속되어 분산형 네트워크를 구성하고,
상기 프로세서는, 트래픽 패턴에 대하여, 상기 메모리 디바이스 중 어느 하나로의 미니멀 패쓰(minimal path)가 혼잡할 때 상기 분산형 네트워크를 통해 접속된 다른 메모리 디바이스로 논-미니멀 패쓰(non-minimal path)를 통해 라우팅 하는 적응적 라우팅(adaptive routing)을 수행하는
메모리 중심 시스템 인터커넥트 구조.
- 제1항에 있어서, 상기 분산형 네트워크는,
dMESH(distributed-based MESH) 네트워크로 구성되는 메모리 중심 시스템 인터커넥트 구조.
- 제1항에 있어서, 상기 분산형 네트워크는,
dFBFLY(distributed-based Flattened Butterfly) 네트워크로 구성되는 메모리 중심 시스템 인터커넥트 구조.
- 제1항에 있어서, 상기 분산형 네트워크는,
dDFLY(distributed-based Dragonfly) 네트워크로 구성되는 메모리 중심 시스템 인터커넥트 구조.
- 제1항에 있어서,
상기 복수의 프로세서 간에 상호 접속되는 프로세서 네트워크를 더 포함하며,
상기 메모리 네트워크와 상기 프로세서 네트워크가 혼재하여 하이브리드 네트워크를 구성하는 메모리 중심 시스템 인터커넥트 구조.
- 제1항에 있어서, 상기 메모리 디바이스는,
상기 복수의 프로세서 중 적어도 어느 하나 또는 상기 메모리 네트워크를 통해 연결되는 다른 메모리 디바이스에 대하여 라우터로서 동작하는 메모리 중심 시스템 인터커넥트 구조.
- 제1항에 있어서, 상기 메모리 네트워크는,
상기 복수의 프로세서에 대하여 인트라 네트워크를 구성하는 인트라-메모리 네트워크인 메모리 중심 시스템 인터커넥트 구조.
- 제1항에 있어서, 상기 메모리 디바이스는,
로직 다이 위에 복수의 메모리 다이가 적층되는 구조를 갖는 메모리 중심 시스템 인터커넥트 구조.
- 제8항에 있어서, 상기 메모리 다이는,
DRAM으로 구성되는 메모리 중심 시스템 인터커넥트 구조.
- 삭제
- 제1항 내지 제9항 중 어느 한 항에 있어서, 상기 메모리 디바이스는,
트래픽 패턴에 대하여, 상기 메모리 디바이스 중 어느 하나로의 미니멀 패쓰(minimal path)가 혼잡할 때 상호 접속된 다른 메모리 디바이스로의 논-미니멀 패쓰(non-minimal path)를 통해 라우팅 하는 적응적 라우팅(adaptive routing)을 수행하는 메모리 중심 시스템 인터커넥트 구조.
- 제1항 내지 제9항 중 어느 한 항에 있어서, 상기 메모리 디바이스는,
적어도 하나의 메모리 컨트롤러; 및
패킷의 입력 측과 출력 측에 각각 배치되는 I/O 포트
를 포함하는 메모리 중심 시스템 인터커넥트 구조.
- 제12항에 있어서, 상기 메모리 디바이스는,
입력 측의 상기 I/O 포트와 출력 측의 상기 I/O 포트 사이에서 패킷을 바이패스 하는 패스 스루 패쓰(pass-thru path)와, 패킷을 다른 메모리 디바이스 또는 상기 프로세서로 라우팅하기 위한 폴 스루 패쓰(fall-thru path)를 별도로 구비하는 메모리 중심 시스템 인터커넥트 구조.
- 제13항에 있어서,
상기 복수의 프로세서 중의 소스 프로세서로부터 목적지 프로세서까지의 패스 스루 패쓰는 적어도 하나의 미리 지정된 상기 메모리 디바이스를 경유하여 형성되는 메모리 중심 시스템 인터커넥트 구조.
- 제14항에 있어서,
상기 소스 프로세서는 상기 목적지 프로세서 각각에 대하여 독립된 패스 스루 패쓰를 갖는 메모리 중심 시스템 인터커넥트 구조.
- 제13항에 있어서,
상기 폴 스루 패쓰 상에는 입력되는 패킷을 역직렬화 하는 역직렬화부, 라우터 코어, 및 패킷을 원래대로 직렬화 하여 출력하는 직렬화부가 순차로 배치되는 메모리 중심 시스템 인터커넥트 구조.
- 제16항에 있어서,
상기 I/O 포트의 출력 측에는 상기 패스 스루 패쓰로 바이패스 되는 패킷과 상기 폴 스루 패쓰를 지나 출력되는 패킷을 선택하는 제1 먹스(Mux)가 구비되는 메모리 중심 시스템 인터커넥트 구조.
- 제17항에 있어서,
상기 제1 먹스(Mux)의 출력 측에는 상기 제1 먹스(Mux)의 출력을 직렬화 하여 시그널 레이트(signal rate)를 증배하는 제2 먹스(Mux)가 구비되는 메모리 중심 시스템 인터커넥트 구조.
- 제17항에 있어서,
상기 패스 스루 패쓰로 라우팅 되는 패스 스루 패킷은 상기 제1 먹스의 셋업 시간을 위한 룩어헤드 플릿(lookahead flit)과 페이로드 플릿(payload flit)을 포함하는 메모리 중심 시스템 인터커넥트 구조.
- 제19항에 있어서,
상기 라우터 코어는 상기 룩어헤드 플릿을 수신한 후,
(a) 페이로드 패킷의 가상 채널 버퍼가 비어 있고,
(b) 다운스트림 방향의 상기 메모리 디바이스에서 상기 가상 채널 버퍼가 충분히 확보되어 있고,
(c) 상기 가상 채널 버퍼를 이용한 이전 패킷이 완전히 출력되었는지
를 확인하여 해당 패킷을 상기 패스 스루 패쓰로 라우팅 하는 메모리 중심 시스템 인터커넥트 구조.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130107234A KR102057246B1 (ko) | 2013-09-06 | 2013-09-06 | 메모리 중심 시스템 인터커넥트 구조 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130107234A KR102057246B1 (ko) | 2013-09-06 | 2013-09-06 | 메모리 중심 시스템 인터커넥트 구조 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150028520A KR20150028520A (ko) | 2015-03-16 |
KR102057246B1 true KR102057246B1 (ko) | 2019-12-18 |
Family
ID=53023376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130107234A KR102057246B1 (ko) | 2013-09-06 | 2013-09-06 | 메모리 중심 시스템 인터커넥트 구조 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102057246B1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102338266B1 (ko) | 2015-09-15 | 2021-12-16 | 에스케이하이닉스 주식회사 | 메모리 네트워크 및 이를 포함하는 시스템 |
KR20180070034A (ko) | 2016-12-16 | 2018-06-26 | 에스케이하이닉스 주식회사 | 니어-데이터 처리를 수행하는 메모리 장치 및 이를 포함하는 시스템 |
KR102665997B1 (ko) | 2016-12-20 | 2024-05-13 | 에스케이하이닉스 주식회사 | 패킷을 부호화하는 장치 및 이를 포함하는 메모리 네트워크에서의 라우팅 방법 |
US20210223998A1 (en) * | 2021-04-05 | 2021-07-22 | Intel Corporation | Method and apparatus to reduce nand die collisions in a solid state drive |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0611507A1 (en) | 1991-11-08 | 1994-08-24 | Teledesic Corporation | Switching method and apparatus for satellite communication system |
KR100600928B1 (ko) * | 2003-04-28 | 2006-07-13 | 인터내셔널 비지네스 머신즈 코포레이션 | 프로세서 북 및 데이터 처리 시스템 |
US20070250604A1 (en) | 2006-04-21 | 2007-10-25 | Sun Microsystems, Inc. | Proximity-based memory allocation in a distributed memory system |
-
2013
- 2013-09-06 KR KR1020130107234A patent/KR102057246B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0611507A1 (en) | 1991-11-08 | 1994-08-24 | Teledesic Corporation | Switching method and apparatus for satellite communication system |
KR100600928B1 (ko) * | 2003-04-28 | 2006-07-13 | 인터내셔널 비지네스 머신즈 코포레이션 | 프로세서 북 및 데이터 처리 시스템 |
US20070250604A1 (en) | 2006-04-21 | 2007-10-25 | Sun Microsystems, Inc. | Proximity-based memory allocation in a distributed memory system |
Also Published As
Publication number | Publication date |
---|---|
KR20150028520A (ko) | 2015-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ahmad et al. | Architecture of a dynamically reconfigurable NoC for adaptive reconfigurable MPSoC | |
CN101834789B (zh) | 面向包-电路交换片上路由器的回退转向路由算法及所用路由器 | |
KR102057246B1 (ko) | 메모리 중심 시스템 인터커넥트 구조 | |
Rezaei et al. | Dynamic resource sharing for high-performance 3-D networks-on-chip | |
Ahmed et al. | Increasing interposer utilization: A scalable, energy efficient and high bandwidth multicore-multichip integration solution | |
CN104683242A (zh) | 一种二维片上网络的拓扑结构以及路由方法 | |
Mische et al. | Low power flitwise routing in an unidirectional torus with minimal buffering | |
Rahmani et al. | BBVC-3D-NoC: an efficient 3D NoC architecture using bidirectional bisynchronous vertical channels | |
Ellinidou et al. | MicroLET: A new SDNoC-based communication protocol for chipLET-based systems | |
CN114185840A (zh) | 一种三维多裸片互连网络结构 | |
US10289598B2 (en) | Non-blocking network | |
Cota et al. | NoC basics | |
Tran et al. | DLABS: A dual-lane buffer-sharing router architecture for networks on chip | |
González et al. | IPDeN: Real-Time deflection-based NoC with in-order flits delivery | |
Rezaei et al. | A three-dimensional networks-on-chip architecture with dynamic buffer sharing | |
Ghidini et al. | Buffer depth and traffic influence on 3D NoCs performance | |
Dananjayan et al. | Low Latency NoC Switch using Modified Distributed Round Robin Arbiter. | |
Fasiku et al. | Effect of routing algorithm on wireless network-on-chip performance | |
Aust et al. | Real-time processor interconnection network for fpga-based multiprocessor system-on-chip (mpsoc) | |
Rahmani et al. | An efficient hybridization scheme for stacked mesh 3D NoC architecture | |
US20210112019A1 (en) | Method and apparatus for improved data transfer in big data graph analytics | |
JP5943115B1 (ja) | 集積回路、半導体装置、カード及びデータ転送方法 | |
Tsai et al. | A scalable and fault-tolerant network routing scheme for many-core and multi-chip systems | |
Lanzar et al. | Buffers Sharing Switch Design Exploiting Dynamic Traffic Orientation in a NoC | |
Satish et al. | Comparative performance analysis of routing topology for noc architecture |
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 |