KR101422431B1 - 통신용 멀티칩 모듈 - Google Patents

통신용 멀티칩 모듈 Download PDF

Info

Publication number
KR101422431B1
KR101422431B1 KR1020137015587A KR20137015587A KR101422431B1 KR 101422431 B1 KR101422431 B1 KR 101422431B1 KR 1020137015587 A KR1020137015587 A KR 1020137015587A KR 20137015587 A KR20137015587 A KR 20137015587A KR 101422431 B1 KR101422431 B1 KR 101422431B1
Authority
KR
South Korea
Prior art keywords
die
protocol logic
transceiver
logic block
protocol
Prior art date
Application number
KR1020137015587A
Other languages
English (en)
Other versions
KR20130083473A (ko
Inventor
에프럼 씨 우
Original Assignee
자일링크스 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 자일링크스 인코포레이티드 filed Critical 자일링크스 인코포레이티드
Publication of KR20130083473A publication Critical patent/KR20130083473A/ko
Application granted granted Critical
Publication of KR101422431B1 publication Critical patent/KR101422431B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/12Mountings, e.g. non-detachable insulating substrates
    • H01L23/14Mountings, e.g. non-detachable insulating substrates characterised by the material or its electrical properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • 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
    • 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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/40Constructional details, e.g. power supply, mechanical construction or backplane
    • H04L49/405Physical details, e.g. power supply, mechanical construction or backplane of ATM switches
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/10Bump connectors; Manufacturing methods related thereto
    • H01L2224/15Structure, shape, material or disposition of the bump connectors after the connecting process
    • H01L2224/16Structure, shape, material or disposition of the bump connectors after the connecting process of an individual bump connector
    • H01L2224/161Disposition
    • H01L2224/16151Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive
    • H01L2224/16221Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked
    • H01L2224/16225Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/12Mountings, e.g. non-detachable insulating substrates
    • H01L23/14Mountings, e.g. non-detachable insulating substrates characterised by the material or its electrical properties
    • H01L23/147Semiconductor insulating substrates
    • 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/0655Assemblies 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 the devices being arranged next to each other
    • 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/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/151Die mounting substrate
    • H01L2924/1517Multilayer substrate
    • H01L2924/15192Resurf arrangement of the internal vias
    • 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/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/151Die mounting substrate
    • H01L2924/156Material
    • H01L2924/157Material with a principal constituent of the material being a metal or a metalloid, e.g. boron [B], silicon [Si], germanium [Ge], arsenic [As], antimony [Sb], tellurium [Te] and polonium [Po], and alloys thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Logic Circuits (AREA)
  • Transceivers (AREA)

Abstract

멀티칩 모듈(500)의 실시예가 개시된다. 멀티칩 모듈(500)의 이러한 실시예를 위해, 트랜스시버 다이(501)는 트랜스시버들(511)을 갖는다. 크로스바 스위치 다이(503)는 적어도 하나의 크로스바 스위치(513)를 갖는다. 프로토콜 로직 블록 다이(502)는 프로토콜 로직 블록들(512)을 갖는다. 트랜스시버 다이(501), 크로스바 스위치 다이(503), 및 프로토콜 로직 블록 다이(502)는 모두 인터포저에 결합된다. 인터포저(510)는 트랜스시버들(511)과 프로토콜 로직 블록들(512)을 상호 연결시키고, 프로토콜 로직 블록들(512)과 적어도 하나의 크로스바 스위치(513)를 상호 연결시킨다.

Description

통신용 멀티칩 모듈{MULTICHIP MODULE FOR COMMUNICATIONS}
본 발명의 실시예는 집적 회로 디바이스(IC)에 관한 것이다. 보다 구체적으로, 본 발명의 실시예는 통신용 멀티칩 모듈에 관한 것이다.
고처리율 스위치 패브릭(fabric) 집적 회로들은 통상적으로 단일 모노리식 집적 회로로 형성되는데, 이것은 실질적으로 커다란 집적 회로가 되려는 경향이 있다. 그러므로, 다양한 응용 환경들을 위해 이러한 집적 회로들을 제조하는 것과 관련한 반도체 프로세스 복잡도 및/또는 비용은 비교적 높다. 더군다나, 프로토콜이 충분히 변경되면, 이러한 커다란 모노리식 집적 회로들은 교체되어야 할 수 있는데, 이는 비용을 추가시킨다. 따라서, 이러한 비용을 감소시키는 고처리율 스위치 패브릭을 제공하는 것이 바람직하다.
하나 이상의 실시예들은 일반적으로 통신용 멀티칩 모듈에 관한 것이다.
실시예는 일반적으로 멀티칩 모듈에 관한 것이다. 이러한 실시예에서, 트랜스시버 다이는 트랜스시버들을 갖는다. 크로스바(crossbar) 스위치 다이는 적어도 하나의 크로스바 스위치를 갖는다. 프로토콜 로직 블록 다이는 프로토콜 로직 블록들을 갖는다. 트랜스시버 다이, 크로스바 스위치 다이, 및 프로토콜 로직 블록 다이는 모두 인터포저에 결합된다. 인터포저는 트랜스시버들과 프로토콜 로직 블록들을 상호 연결시키고, 프로토콜 로직 블록들과 적어도 하나의 크로스바 스위치를 상호 연결시킨다.
선행구문에서 기술된 실시예의 다른 다양한 실시예들에서, 이러한 멀티칩 모듈은 다음 중 하나 이상을 더 포함할 수 있다. 제2 트랜스시버들을 갖는 제2 트랜스시버 다이. 제2 프로토콜 로직 블록들을 갖는 제2 프로토콜 로직 블록 다이. 제2 트랜스시버 다이와 제2 프로토콜 로직 블록 다이는 인터포저에 결합될 수 있다. 인터포저는 제2 트랜스시버들과 제2 프로토콜 로직 블록들을 상호 연결시킬 수 있다. 인터포저는 또한 제2 프로토콜 로직 블록들과 적어도 하나의 크로스바 스위치를 상호 연결시킬 수 있다. 제1 트랜스시버 다이, 제1 프로토콜 로직 블록 다이, 제2 트랜스시버 다이, 및 제2 프로토콜 로직 블록 다이는 모두 제1 배향으로 인터포저에 탑재된 직사각형 다이들일 수 있다. 제1 트랜스시버 다이와 제1 프로토콜 로직 블록 다이는 크로스바 스위치 다이의 좌측상에 위치할 수 있다. 제2 트랜스시버 다이와 제2 프로토콜 로직 블록 다이는 크로스바 스위치 다이의 우측상에 위치할 수 있다. 제1 트랜스시버 다이는 가장 좌측에 있는 외각 다이일 수 있다. 제2 트랜스시버 다이는 가장 우측에 있는 외각 다이일 수 있다. 제3 트랜스시버 다이는 제3 트랜스시버들을 가질 수 있다. 제3 프로토콜 로직 블록 다이는 제3 프로토콜 로직 블록들을 가질 수 있다. 제3 트랜스시버 다이와 제3 프로토콜 로직 블록 다이는 인터포저에 결합될 수 있다. 인터포저는 제3 트랜스시버들과 제3 프로토콜 로직 블록들을 상호 연결시킬 수 있다. 인터포저는 또한 제3 프로토콜 로직 블록들과 적어도 하나의 크로스바 스위치를 상호 연결시킬 수 있다. 제4 트랜스시버 다이는 제4 트랜스시버들을 가질 수 있다. 제4 프로토콜 로직 블록 다이는 제4 프로토콜 로직 블록들을 가질 수 있다. 제4 트랜스시버 다이와 제4 프로토콜 로직 블록 다이는 인터포저에 결합될 수 있다. 인터포저는 제4 트랜스시버들과 제4 프로토콜 로직 블록들을 상호 연결시킬 수 있다. 인터포저는 또한 제4 프로토콜 로직 블록들과 적어도 하나의 크로스바 스위치를 상호 연결시킬 수 있다. 제1 프로토콜 로직 블록들, 제2 프로토콜 로직 블록들, 제3 프로토콜 로직 블록들, 및 제4 프로토콜 로직 블록들은 모두 필드 프로그램가능할 수 있다. 제3 트랜스시버 다이, 제4 트랜스시버 다이, 제3 프로토콜 로직 블록 다이, 및 제4 프로토콜 로직 블록 다이는 모두 제2 배향으로 인터포저에 탑재된 직사각형 다이들일 수 있다. 제2 배향은 제1 배향에 대해 적어도 실질적으로 수직할 수 있다. 제3 트랜스시버 다이와 제3 프로토콜 로직 블록 다이는 크로스바 스위치 다이의 윗면 상에 위치할 수 있다. 제4 트랜스시버 다이와 제4 프로토콜 로직 블록 다이는 크로스바 스위치 다이의 바닥면 상에 위치할 수 있다. 제3 트랜스시버 다이는 가장 윗쪽에 있는 외각 다이일 수 있다. 제4 트랜스시버 다이는 가장 아래쪽에 있는 외각 다이일 수 있다. 제1 트랜스시버 다이, 제2 트랜스시버 다이, 제3 트랜스시버 다이, 및 제4 트랜스시버 다이는 각각 제1 프로토콜 로직 블록 다이, 제2 프로토콜 로직 블록 다이, 제3 프로토콜 로직 블록 다이, 및 제4 프로토콜 로직 블록 다이보다 실질적으로 길 수 있다. 멀티칩 모듈은 시스템 내에 있을 수 있다. 시스템은 백플레인(backplane), 라인 카드, 및 스위치 카드를 갖는 네트워크 스위치를 포함할 수 있다. 멀티칩 모듈은 라인 카드 또는 스위치 카드 중 어느 한쪽상에 탑재될 수 있다.
또다른 실시예는 일반적으로 통신 방법에 관한 것이다. 이 방법은 예컨대 선행구문들에서 기술된 것들 중 임의의 것과 같은 멀티칩 모듈을 이용하여 실시될 수 있다. 이러한 실시예에서, 패킷은 멀티칩 모듈의 트랜스시버 다이에 의해 수신된다. 패킷은 인터포저를 통해 멀티칩 모듈의 트랜스시버 다이로부터 프로토콜 로직 블록 다이에 제공된다. 인터포저는 트랜스시버 다이와 프로토콜 로직 블록 다이를 상호 연결시킨다. 패킷은 인터포저를 통해 멀티칩 모듈의 프로토콜 로직 블록 다이로부터 크로스바 스위치 다이에 제공된다. 인터포저는 프로토콜 로직 블록 다이와 크로스바 스위치 다이를 상호 연결시킨다.
선행구문에서 기술된 실시예의 다른 다양한 실시예들에서, 이러한 통신 방법은 다음 중 하나 이상을 더 포함할 수 있다. 패킷은 인터포저를 통해 멀티칩 모듈의 크로스바 스위치 다이로부터 제2 프로토콜 로직 블록 다이에 제공될 수 있다. 인터포저는 제2 프로토콜 로직 블록 다이와 크로스바 스위치 다이를 상호 연결시킬 수 있다. 패킷은 인터포저를 통해 멀티칩 모듈의 제2 프로토콜 로직 블록 다이로부터 제2 트랜스시버 다이에 제공될 수 있다. 인터포저는 제2 프로토콜 로직 블록 다이와 제2 트랜스시버 다이를 상호 연결시킬 수 있다. 패킷은 제2 트랜스시버 다이로부터 멀티칩 모듈 밖으로 보내질 수 있다. 제1 인입(ingress) 프로세싱 블록은 제1 프로토콜에 따라 패킷을 인입 프로세싱하기 위해 제1 프로토콜 로직 블록 다이에서 인스턴스화(instantiate)될 수 있다. 제1 배출(egress) 프로세싱 블록은 제1 프로토콜에 따라 패킷을 배출 프로세싱하기 위해 제2 프로토콜 로직 블록 다이에서 인스턴스화될 수 있다. 제2 인입 프로세싱 블록은 제2 프로토콜에 따라 또다른 패킷을 인입 프로세싱하기 위해 제1 프로토콜 로직 블록 다이에서 인스턴스화될 수 있다. 제2 배출 프로세싱 블록은 제2 프로토콜에 따라 상기 또다른 패킷을 배출 프로세싱하기 위해 제2 프로토콜 로직 블록 다이에서 인스턴스화될 수 있다. 제1 프로토콜과 제2 프로토콜은 상이한 프로토콜들일 수 있다. 제1 인입 프로세싱 블록은 제1 인입 프로세싱 블록 구성 비트스트림에 응답하여 제1 프로그램가능한 자원들에서 인스턴스화될 수 있다. 제2 인입 프로세싱 블록은 제2 인입 프로세싱 블록 구성 비트스트림에 응답하여 제2 프로그램가능한 자원들에서 인스턴스화될 수 있다. 제1 배출 프로세싱 블록은 제1 배출 프로세싱 블록 구성 비트스트림에 응답하여 제3 프로그램가능한 자원들에서 인스턴스화(instantiate)될 수 있다. 제2 배출 프로세싱 블록은 제2 배출 프로세싱 블록 구성 비트스트림에 응답하여 제4 프로그램가능한 자원들에서 인스턴스화될 수 있다. 크로스바 스위치 다이로부터의 패킷은 인터포저를 통해 멀티칩 모듈의 제1 프로토콜 로직 블록 다이로 역제공될 수 있다. 제1 프로토콜 로직 블록 다이로부터의 패킷은 인터포저를 통해 멀티칩 모듈의 제1 트랜스시버 다이로 역제공될 수 있다. 제1 트랜스시버 다이로부터의 패킷은 멀티칩 모듈 밖으로 보내질 수 있다. 인입 프로세싱 블록은 프로토콜에 따라 패킷을 인입 프로세싱하기 위해 제1 프로토콜 로직 블록 다이에서 인스턴스화될 수 있고, 배출 프로세싱 블록은 프로토콜에 따라 패킷을 배출 프로세싱하기 위해 제1 프로토콜 로직 블록 다이에서 인스턴스화될 수 있다.
또다른 실시예는 일반적으로 멀티칩 모듈에 관한 것이다. 이러한 실시예에서, 적어도 하나의 통신 다이, 적어도 하나의 프로토콜 로직 블록 다이, 및 크로스바 스위치 다이는 인터포저 상에 탑재된다. 인터포저는 멀티칩 모듈 안과 밖으로의 정보의 통신을 위해 적어도 하나의 통신 다이, 적어도 하나의 프로토콜 로직 블록 다이, 및 크로스바 스위치 다이를, 적어도 하나의 통신 다이, 적어도 하나의 프로토콜 로직 블록 다이, 및 크로스바 스위치 다이에 의해 표현되는 세가지 유형의 다이 각각 중 적어도 하나를 통해 상호 연결시킨다.
선행구문에서 기술된 실시예의 다른 다양한 실시예들에서, 이러한 멀티칩 모듈은 다음 중 하나 이상을 더 포함할 수 있다. 제1 갯수의 적어도 하나의 통신 다이 및 적어도 하나의 프로토콜 로직 블록 다이가 제1 배향으로 인터포저 상에 탑재될 수 있다. 제2 갯수의 적어도 하나의 통신 다이 및 적어도 하나의 프로토콜 로직 블록 다이가 제2 배향으로 인터포저 상에 탑재될 수 있다. 제1 배향은 제2 배향에 대해 수직하거나 또는 실질적으로 수직할 수 있다. 적어도 하나의 통신 다이는 제1 반도체 프로세스를 이용하여 제조될 수 있다. 적어도 하나의 프로토콜 로직 블록 다이는 제1 반도체 프로세스보다 많이 진보된 제2 반도체 프로세스를 이용하여 제조될 수 있다. 크로스바 스위치 다이는 제2 반도체 프로세스를 이용하여 제조될 수 있다.
첨부 도면들은 본 발명의 하나 이상의 양태들에 따른 예시적인 실시예들을 도시한다. 하지만, 첨부 도면들은 본 발명을 도시된 실시예들로 한정시키는 것으로서 받아들여져서는 안되며, 단지 설명과 이해를 위한 것으로서 받아들여져야한다.
도 1은 설명된 하나 이상의 실시예들이 구현될 수 있는 기둥형(columnar) 필드 프로그램가능 게이트 어레이(Field Programmable Gate Array; "FPGA") 아키텍쳐의 예시적인 실시예를 도시하는 단순화된 블럭도이다.
도 2는 네트워크 스위치의 예시적인 실시예를 도시하는 블록 사시도이다.
도 3은 스위칭 시스템의 예시적인 실시예를 도시하는 블럭도이다.
도 4는 단일 보드 스위칭 시스템의 예시적인 실시예를 도시하는 블럭도이다.
도 5는 멀티칩 모듈의 예시적인 실시예를 도시하는 블럭도이다.
도 6은 멀티칩 모듈의 다른 예시적인 실시예를 도시하는 블럭도이다.
도 7은 멀티칩 모듈의 또다른 예시적인 실시예를 도시하는 블럭도이다.
도 8은 멀티칩 모듈의 예시적인 실시예를 도시하는 블록 사시도이다.
도 9는 도 8의 멀티칩 모듈의 인터포저의 예시적인 실시예를 도시하기 위해 일부 투시도를 갖는 블록 사시도이다.
도 10은 상위층 컴포넌트들을 갖는 도 9의 블록 사시도이다.
도 11은 재구성가능한 시스템의 예시적인 실시예를 도시하는 블럭도이다.
도 12는 통신용 프로세스의 예시적인 실시예를 도시하는 흐름도이다.
도 13은 인스턴스화 흐름의 예시적인 실시예를 도시하는 흐름도이다.
도 14는 고속 직렬 트랜스시버(highspeed serial transceiver; "HST")의 예시적인 실시예를 도시하는 회로도이다.
도 15는 프로토콜 락 블록(protocol lock block; "PLB")에 결합된 HST의 예시적인 실시예를 도시하는 회로도이다.
도 16은 크로스바 스위치의 예시적인 실시예를 도시하는 블럭/회로도이다.
도 17은 재구성가능한 시스템의 다른 예시적인 실시예를 도시하는 블럭도이다.
이하의 설명에서는, 본 발명의 특정 실시예들의 보다 완전한 설명을 제공하기 위해 수 많은 특정 상세한 설명들이 기술된다. 하지만, 본 발명은 아래에서 주어진 모든 특정 상세한 설명들없이 실시될 수 있다는 것이 본 발명분야의 당업자에게 분명해져야한다. 다른 예시들에서, 본 발명을 애매모호하게 하지 않도록 하기 위해, 잘 알려진 특징들은 상세한 설명에서는 기술되지 않았다. 용이한 설명을 위해, 여러 도면들에서 동일한 항목들을 가리키기 위해 동일한 번호 라벨들이 이용되지만, 대안적인 실시예들에서는 항목들이 달라질 수 있다. 더 나아가, 객체들의 단일 인스턴스(instance)들은 명료화를 위해 이들의 다중 인스턴스들을 가리키도록 이용될 수 있다.
프로그램가능 논리 디바이스(Programmable logic device; "PLD")는 특정한 논리 기능을 수행하도록 프로그램될 수 있는 잘 알려져 있는 유형의 집적 회로이다. 하나의 유형의 PLD, 즉 필드 프로그램가능 게이트 어레이(field programmable gate array; "FPGA")는 일반적으로 프로그램가능 타일들의 어레이를 포함한다. 이러한 프로그램가능 타일들에는, 예컨대, 입력/출력 블럭(input/output block; "IOB"), 구성가능 논리 블럭(configurable logic block; "CLB"), 전용 랜덤 액세스 메모리 블럭(dedicated random access memory block; "BRAM"), 승산기, 디지털 신호 프로세싱 블럭(digital signal processing block; "DSP"), 프로세서, 클럭 관리기, 지연 로크 루프(delay lock loop; "DLL") 등이 포함된다. 본 명세서에서 이용된, "포함된"과 "포함하는"은 한정을 갖지않고 포함한다는 것을 의미한다.
각각의 프로그램가능 타일은 일반적으로 프로그램가능 상호접속부와 프로그램가능 로직 모두를 포함한다. 프로그램가능 상호접속부는 일반적으로 프로그램가능 상호접속점(programmable interconnect point; "PIP")에 의해 상호연결된 다양한 길이의 방대한 갯수의 상호접속 라인들을 포함한다. 프로그램가능 로직은 예컨대, 함수 생성기, 레지스터, 연산논리장치 등을 포함할 수 있는 프로그램가능 엘리먼트들을 이용하여 사용자 설계의 로직을 구현한다.
프로그램가능 상호접속부 및 프로그램가능 로직은 일반적으로 구성 데이터의 스트림을 내부 구성 메모리 셀들에 로딩시킴으로써 프로그램되며, 이 내부 구성 메모리 셀들은 프로그램가능 엘리먼트들 구성시키는 방법을 정의한다. 구성 데이터는 메모리(예컨대, 외부 PROM)으로부터 판독될 수 있거나, 또는 외부 디바이스에 의해 FPGA내로 기입될 수 있다. 그런 후 개별적인 메모리 셀들의 총체적 상태들은 FPGA의 기능을 결정한다.
또다른 유형의 PLD는 복합 프로그램가능 로직 디바이스(Complex Programmable Logic Device; CPLD)이다. CPLD는 상호접속 스위치 매트릭스에 의해 입력/출력(input/output; "I/O") 자원들에 함께 연결된 두 개 이상의 "기능 블럭들"을 포함한다. CPLD의 각각의 기능 블럭에는 프로그램가능 로직 어레이(Programmable Logic Array; PLA) 및 프로그램가능 어레이 로직(Programmable Array Logic; PAL) 디바이스들에서 이용된 것과 유사한 투 레벨(two-level) AND/OR 구조가 포함될 수 있다. CPLD에서, 구성 데이터는 일반적으로 비휘발성 메모리내 온 칩에 저장된다. 몇몇 CPLD들에서, 구성 데이터는 비휘발성 메모리내 온 칩에 저장되고, 그런 후 초기 구성(프로그래밍) 시퀀스의 일부로서 휘발성 메모리에 다운로딩된다.
이러한 프로그램가능 로직 디바이스들("PLD") 모두의 경우, 디바이스의 기능은 이러한 제어 목적으로 디바이스에 제공된 데이터 비트들에 의해 제어될 수 있다. 데이터 비트들은 휘발성 메모리(예컨대, FPGA 및 몇몇의 CPLD와 같은, 정적 메모리 셀), 비휘발성 메모리(예컨대, 몇몇의 CPLD와 같은, FLASH 메모리), 또는 이와 다른 임의의 유형의 메모리 셀내에 저장될 수 있다.
다른 PLD들은 디바이스상에서 다양한 엘리먼트들을 프로그램가능하게 상호연결해주는, 금속층과 같은, 프로세싱층을 적용시킴으로써 프로그램된다. 이러한 PLD는 마스크 프로그램가능 디바이스로서 알려져 있다. PLD는 또한 예컨대 퓨즈 또는 안티퓨즈 기술을 이용하여 다른 방법들로 구현될 수 있다. 용어 "PLD" 및 "프로그램가능 로직 디바이스"에는, 비제한적인 예시로서, 이러한 예시적인 디바이스들이 포함될 수 있을 뿐만이 아니라, 오직 부분적으로 프로그램가능한 디바이스들이 망라될 수 있다. 예를 들어, 하나의 유형의 PLD에는 하드 코딩된 트랜지스터 로직을 프로그램가능하게 상호연결한 프로그램가능 스위치 패브릭 및 하드 코딩된 트랜지스터 로직의 조합이 포함된다.
상기한 바와 같이, 진보된 FPGA는 어레이내에 여러가지 상이한 유형들의 프로그램가능 로직 블럭들을 포함할 수 있다. 예를 들어, 도 1은 멀티 기가비트 트랜스시버(multi-gigabit transceiver; "MGT")(101), 구성가능 로직 블럭(configurable logic block; "CLB")(102), 랜덤 액세스 메모리 블럭(random access memory block; "BRAM")(103), 입력/출력 블럭(input/output block; "IOB")(104), 구성 및 클럭 로직(configuration and clocking logic; "CONFIG/CLOCKS")(105), 디지털 신호 프로세싱 블럭(digital signal processing block; "DSP")(106), (예컨대, 구성 포트 및 클럭 포트와 같은) 특수화된 입력/출력 블럭(input/output block; "I/O")(107), 및 디지털 클럭 관리기, 아날로그-디지털 컨버터, 시스템 모니터링 로직 등과 같은 기타 프로그램가능 로직(108)을 포함한 방대한 갯수의 상이한 프로그램가능 타일들을 포함한 FPGA 아키텍쳐(100)를 도시한다. 몇몇의 FPGA는 또한 전용 프로세서 블럭("PROC")(110)을 포함한다.
몇몇의 FPGA에서, 각각의 프로그램가능 타일에는 각각의 인접한 타일내의 대응하는 상호접속 엘리먼트에 대한 표준화된 접속부들을 갖는 프로그램가능 상호접속 엘리먼트("INT")(111)가 포함된다. 그러므로, 취해진 프로그램가능 상호접속 엘리먼트들은 도시된 FPGA에 대한 프로그램가능 상호접속 구조를 함께 구현한다. 도 1의 상단부에 포함된 예시들에 의해 도시된 바와 같이, 프로그램가능 상호접속 엘리먼트(111)는 또한 동일 타일내의 프로그램가능 로직 엘리먼트에 대한 접속부들을 포함한다.
예를 들어, CLB(102)는 사용자 로직을 구현하도록 프로그램될 수 있는 구성가능 로직 엘리먼트(configurable logic element; "CLE")(112) 및 단일 프로그램가능 상호접속 엘리먼트("INT")(111)를 포함할 수 있다. BRAM(103)은 하나 이상의 프로그램가능 상호접속 엘리먼트들에 더하여 BRAM 로직 엘리먼트("BRL")(113)를 포함할 수 있다. 일반적으로, 타일내에 포함된 상호접속 엘리먼트들의 갯수는 타일의 높이에 좌우된다. 도시된 실시예에서, BRAM 타일은 다섯 개의 CLB와 동일한 높이를 가지지만, 다른 갯수들(예컨대, 네 개)이 또한 이용될 수 있다. DSP 타일(106)은 적절한 갯수의 프로그램가능 상호접속 엘리먼트들에 더하여 DSP 로직 엘리먼트("DSPL")(114)를 포함할 수 있다. IOB(104)는, 예컨대 프로그램가능 상호접속 엘리먼트들(111)의 하나의 인스턴스에 더하여 입력/출력 엘리먼트("IOL")(115)의 두 개의 인스턴스들을 포함할 수 있다. 본 발명분야의 당업자에게 자명한 바와 같이, 일반적으로 I/O 로직 엘리먼트(115)에 연결된 실제의 I/O 패드들은 입력/출력 로직 엘리먼트(115)의 영역으로 한정되지 않는다.
도시된 실시예에서, (도 1에서 도시된) 다이의 중심 근처의 수평 영역은 구성 로직, 클럭 로직, 및 기타 제어 로직을 위해 이용된다. 이러한 수평 영역으로부터 연장하는 수직 컬럼들(109)은 FPGA의 폭에 걸쳐 클록 및 구성 신호들을 분배하는데 이용된다.
도 1에서 도시된 아키텍쳐를 활용한 몇몇의 FPGA들은 FPGA의 대부분을 구성하는 정규의 기둥형 구조를 분열시키는 추가적인 로직 블록들을 포함한다. 추가적인 로직 블럭들은 프로그램가능 블럭들 및/또는 전용 로직일 수 있다. 예를 들어, 프로세서 블럭(110)은 CLB 및 BRAM의 여러 컬럼들에 뻗쳐있다.
도 1은 단지 예시적인 FPGA 아키텍쳐를 도시하려고 의도한 것임을 주목하라. 예를 들어, 행 내의 로직 블럭들의 갯수, 행들의 상대적 폭, 행들의 갯수 및 순서, 행들 내에 포함된 로직 블럭들의 유형, 로직 블럭들의 상대적 크기, 및 도 1의 최상단에서 포함된 상호접속/로직 구현부들은 단순한 예시에 불과하다. 예를 들어, 실제의 FPGA에서는, 일반적으로 사용자 로직의 효율적인 구현을 촉진시키기 위해, CLB가 나타나는 곳이라면 어디라도 CLB들의 하나 보다 많은 인접한 행이 포함되지만, 인접한 CLB 행들의 갯수는 FPGA의 총체적인 크기에 따라 달라진다.
고처리율 스위치 패브릭은 하나 이상의 크로스바 스위치("XBAR")들을 갖는 모노리식 집적 회로일 수 있다. 이러한 모노리식 집적 회로들은 다중 반복 프로토콜 엘리먼트(protocol element ;"PE")들을 가질 수 있는데, 각각의 PE는 하나 이상의 고속 직렬 트랜스시버("HST")들과 하나의 프로토콜 로직 블록(protocol logic block; "PLB")으로 구성될 수 있다. 이러한 모노리식 집적 회로는 응용 특정 집적 회로(application specific integrated circuit; "ASIC") 또는 경화된 PE들을 갖는 응용 특정 표준 제품(Application Specific Standard Product; "ASSP")일 수 있다.
이와는 대비되어, 아래에서는 고처리율의 필드 프로그램가능한 네트워크 스위치를 제공하기 위한, 멀티칩 모듈(multichip module; "MCM")과 같은, 패키지 내 스케일러블 시스템 다중 다이 디바이스를 추가적으로 상세하게 설명한다. 이러한 패키지 내 스케일러블 시스템 다중 다이 디바이스는 다중 고속 직렬 트랜스시버들을 포함할 수 있다. 또한, 이러한 패키지 내 스케일러블 시스템 다중 다이 디바이스는 멀티 프로토콜 네트워크 스위치를 제공하기 위해 이용될 수 있다.
도 2는 네트워크 스위치(200)의 예시적인 실시예를 도시하는 블록 사시도이다. 네트워크 스위치(200)는 하나 이상의 라인 카드들(201), 백플레인(202), 및 하나 이상의 스위치 카드들(203)을 포함할 수 있다. 이러한 네트워크 스위치(200)는 새시, 열전달 디바이스, 또는 다른 컴포넌트들을 더 포함할 수 있는데, 이것들은 명료화 및 비제한성을 목적으로 여기서는 도시되지 않거나 또는 설명되지 않는다.
도 3은 스위칭 시스템(300)의 예시적인 실시예를 도시하는 블럭도이다. 스위칭 시스템(300)은 예컨대 도 2의 네트워크 스위치(200)와 같은, 네트워크 스위치로서 구현될 수 있다. 스위칭 시스템(300)은 새시 기반 스위칭 시스템이지만, 다른 유형들의 스위칭 시스템들이 여기서 설명한 바에 따라 이용될 수 있다.
스위칭 시스템(300)은 백플레인(302) 및 라인 카드들(301-1 내지 301-P)("301")과 같은 하나 이상의 라인 카드들을 포함하며, 여기서 P는 1 이상의 양의 정수이다. 스위칭 시스템(300)은 스위치 카드들(303-1 내지 303-Q)("303")과 같은 하나 이상의 스위치 카드들을 더 포함하며, 여기서 Q는 1 이상의 양의 정수이다. 적어도 하나의 라인 카드(301)는 백플레인(302)을 거쳐 적어도 하나의 스위치 카드(303)에 상호연결된다. 보다 구체적으로, 두 개 이상의 라인 카드들(301)은 백플레인(302)을 거쳐 적어도 하나의 스위치 카드(303)에 상호연결될 수 있다.
각각의 라인 카드(301)는 예컨대 라인 카드(301-1)의 물리층 디바이스들(311)과 같은, 하나 이상의 물리층 디바이스("PHY")들을 포함할 수 있다. 물리층 디바이스들(311)은 라인 인터페이스들과 직접적으로 통신할 수 있으며, 이러한 라인 인터페이스들은 광섬유들, 동축 케이블들, 금속 와이어 컨덕터들, 또는 신호를 전달하기 위한 다른 매체일 수 있다. 이러한 라인 인터페이스들은 일반적으로 알려진 것들이며 도 3에서는 명료화 및 비제한성을 목적으로 도시되지 않는다. 물리층 디바이스들(311)은 예컨대 프로토콜 프로세서들(312)과 같은, 하나 이상의 라인 카드 프로토콜 프로세서들에 연결될 수 있다. 예를 들어, 원격통신 시스템에서, 프로토콜 프로세서(312)는 프레이머(framer)로서 지칭될 수 있으며, 이러한 프레이머는 SONET, SDH, OTN, 또는 다른 유형들의 프레임들을 프로세싱하기 위해 이용될 수 있다. 또한, 예컨대, 이더넷 기반 시스템에서, 프로토콜 프로세서(312)는 매체 액세스 제어기(media access controller; "MAC")로서 지칭될 수 있다.
라인 카드 프로토콜 프로세서(312)는 백플레인(302)을 통해 스위치 카드(303)와 직접적으로 통신할 수 있다. 택일적 사항으로서, 프로토콜 프로세서(312)는 또다른 라인 카드 디바이스 또는 다른 라인 카드 디바이스들(313)을 통해 스위치 카드(303)와 통신할 수 있다. 이러한 디바이스들(313)은 예컨대, 네트워크 프로세서들, 트래픽 관리기들, 메모리 모듈들, 및/또는 백플레인 인터페이스 디바이스들을 포함할 수 있다. 예를 들어, 메모리는 검색 테이블에서의 패킷 버퍼링을 위해 이용될 수 있다. 다시, 하나보다 많은 스위치 카드(303)가 존재할 수 있다는 것을 이해해야 하며, 다중 스위치 카드들은 확장성(scalability) 및/또는 리던던시(redundancy)를 스위칭하기 위해 이용될 수 있다.
도 3에서의 양방향 화살표들(341 내지 343)은 일반적으로 다중 트레이스들을 포함할 수 있는 전기적 링크들을 나타낸다. 이러한 링크들 각각에 대해, 고속 직렬 송신기는 링크의 하나의 말단에서부터 링크의 다른 말단으로 심볼을 보낼 수 있으며, 고속 직렬 수신기는 이러한 심볼을 수신하고 해석한다. 다른 인스턴스들에서, 다이간 링크들은 병렬로 구동될 수 있다.
스위치 카드들(303) 각각은 예컨대 백플레인 스위치들(330-1 내지 330-Q)("330")과 같은, 적어도 하나의 백플레인 스위치를 포함한다. 백플레인 스위치들(330)은 아래에서 추가적으로 상세하게 설명되는 바와 같이 멀티칩 모듈들("MCM")로 구현될 수 있다.
도 4는 단일 보드 스위칭 시스템(400)의 예시적인 실시예를 도시하는 블럭도이다. 데스크탑 스위치들, 스택형 스위치들 등으로서 구현되는 스위칭 시스템들을 위해, 일반적으로 예컨대 마더보드(401)와 같은 단일 마더보드가 이용된다. 마더보드(401)는 명료화 및 비제한성을 목적으로 여기서는 예시적으로 도시되지 않은 다른 컴포넌드들 중에서 스위치 디바이스(402), 메모리(403), 및 물리층 디바이스들(311)을 포함할 수 있다.
스위치 디바이스(402)는 아래에서 추가적으로 상세하게 설명되는 바와 같이, 멀티칩 모듈들로 구현될 수 있다. 스위치 디바이스(402)는 메모리(403)와의 통신을 위해 결합될 수 있고 물리층 디바이스들(311)과의 통신을 위해 결합될 수 있다.
도 4에서의 양방향 화살표들(441)은 일반적으로 다중 트레이스들을 포함할 수 있는 전기적 링크들을 나타낸다. 이러한 링크들 각각에 대해, 고속 직렬 송신기는 링크의 하나의 말단에서부터 링크의 다른 말단으로 심볼을 보낼 수 있으며, 고속 직렬 수신기는 이러한 심볼을 수신하고 해석한다.
도 5는 멀티칩 모듈(500)의 예시적인 실시예를 도시하는 블럭도이다. 멀티칩 모듈(500)은 세가지 유형들의 집적 회로 다이, 즉 트랜스시버 다이, 프로토콜 로직 블록 다이, 및 크로스바 스위치 다이를 포함하며, 이들 모두는 인터포저(510)에 결합된다. 멀티칩 모듈(500)은 예컨대, 도 4의 스위치 디바이스(402)와 물리층 디바이스들(311)과 같은, 연관된 물리층 인터페이스들을 갖는 스위치 디바이스; 도 3의 백플레인 스위치(330)와 같은, 백플레인 스위치; 및/또는 도 3의 프로토콜 프로세서(312)와 물리층 디바이스들(311)과 같은, 연관된 물리층 인터페이스들을 갖는 프로토콜 프로세서로서 이용될 수 있다.
이러한 예시적인 실시예에서는, 네 개의 트랜스시버 다이들(501-1 내지 501-4)("501")이 인터포저(510) 상에 탑재되거나 또는 그렇지 않고 인터포저(510)에 결합된다. 이러한 예시적인 실시예에서, 각각의 트랜스시버 다이(501)는 다중 고속 직렬 트랜스시버들("HST")(511)을 갖는다. 각각의 HST(511)는 아래에서 추가적으로 자세하게 설명되는 바와 같이, 하나 이상의 고속 직렬 송신기들, 하나 이상의 고속 직렬 수신기들, 및 하나 이상의 연관된 클록 증배 및 클록 분배 회로 블록들을 포함할 수 있다. 트랜스시버 다이보다는 개별적인 송신기 다이와 개별적인 수신기 다이가 이용될 수 있다는 것을 이해해야 한다. 따라서, 트랜스시버 다이들(501)은 보다 일반적으로, 양방향 또는 단방향 통신용인지에 상관없이, 통신 다이들로서 간주될 수 있다.
이러한 예시적인 실시예에서는, 네 개의 프로토콜 로직 블록 다이들(502-1 내지 502-4)("502")이 인터포저(510) 상에 탑재되거나 또는 그렇지 않고 인터포저(510)에 결합된다. 프로토콜 로직 블록 다이들(502)의 각각의 다이는 프로토콜 프로세싱 로직 기능들을 구현하기 위한 다중 프로토콜 로직 블록(protocol logic block; "PLB")(512)을 갖는다. 하지만, 프로토콜 로직 블록 다이들(502)은 각각 PLD와 연관될 수 있는 다른 컴포넌트들 중에서, 비HST I/O들과 같은, 추가적인 컴포넌트들을 포함할 수 있다는 것을 이해해야 한다. 이러한 예시적인 실시예에서, 프로토콜 로직 블록 다이들(502)은 FPGA 기반 PLB들(512)이다. 따라서, 프로토콜 로직 블록 다이들(502)은 프로그램가능한 자원들을 포함하며, 이 자원들은 예컨대 하드웨어로 프로토콜 프로세싱 로직 기능들을 제공하기 위해, 하나 이상의 구성 비트스트림들로 프로그램될 수 있다는 것을 이해해야 한다.
대체로 직사각형이거나 또는 정사각형일 수 있는 다이들(501-1, 501-2, 502-1, 502-2)은 "나란한 집적" 또는 "2D 집적"을 위해 서로 병렬로 있거나 또는 실질적으로 병렬로 있도록 하기 위해 모두 인터포저(510) 상에 탑재된다는 것을 이해해야 한다. 마찬가지로, 대체로 직사각형이거나 또는 정사각형일 수 있는 다이들(501-3, 501-4, 502-3, 502-4)은 "나란한 집적" 또는 "2D 집적"을 위해 서로 병렬로 있거나 또는 실질적으로 병렬로 있도록 하기 위해 모두 인터포저(510)에 탑재된다. 하지만, 다이들(501-1, 501-2, 502-1, 502-2)은 인터포저(510) 상에 탑재될 때 다이들(501-3, 501-4, 502-3, 502-4)에 대해 수직하게 또는 실질적으로 수직하게 배향된다.
이러한 예시적인 실시예에서, 단일 크로스바 스위치 다이(503)가 인터포저(510) 상에 탑재되거나 또는 그렇지 않고 인터포저(510)에 결합된다. 크로스바 스위치 다이(503)는 하나 이상의 크로스바 스위치들("XBAR")(513)을 포함할 수 있다. 또한, 또다른 실시예에서, 크로스바 스위치들(513)은 보다 작은 크로스바 컴포넌트들의 어레이를 포함할 수 있고, 이러한 크로스바 컴포넌트들은 연관된 글로벌 제어 시그널링을 이용하여 제어될 수 있다.
이 예시적인 실시예에서의 인터포저(510)는 수동 인터포저이다. 다시 말하면, 인터포저(510)는 아래에서 추가적으로 상세하게 설명되는 바와 같이 단지 상호연결만을 제공한다. 인터포저(510)는 양방향 통신을 위해 각각의 쌍들에서의 각각의 다이들(501, 502)을 상호연결하고 양방향 통신을 위해 다이들(502, 503)을 상호연결한다.
트랜스시버 다이(501-1)의 HST들(511)은 멀티칩 모듈(500)의 좌측 물리층 인터페이스를 제공한다. 인터포저(510)는 트랜스시버 다이(501-1)의 HST들(511)을 프로토콜 로직 블록 다이(502-1)의 PLB들(512)에 상호 연결시킨다. 프로토콜 로직 블록 다이(502-1)의 PLB들(512)은 인터포저(510)에 의해 크로스바 스위치 다이(503)의 적어도 하나의 크로스바 스위치(513)에 상호 연결된다.
트랜스시버 다이(501-2)의 HST들(511)은 멀티칩 모듈(500)의 우측 물리층 인터페이스를 제공한다. 인터포저(510)는 트랜스시버 다이(501-2)의 HST들(511)을 프로토콜 로직 블록들(502-2)의 PLB들(512)에 상호 연결시킨다. 프로토콜 로직 블록 다이(502-2)의 PLB들(512)은 인터포저(510)에 의해 크로스바 스위치 다이(503)의 적어도 하나의 크로스바 스위치(513)에 상호 연결된다.
트랜스시버 다이(501-3)의 HST들(511)은 멀티칩 모듈(500)의 최상단측 물리층 인터페이스를 제공한다. 인터포저(510)는 트랜스시버 다이(501-3)의 HST들(511)을 프로토콜 로직 블록들(502-3)의 PLB들(512)에 상호 연결시킨다. 프로토콜 로직 블록 다이(502-3)의 PLB들(512)은 인터포저(510)에 의해 크로스바 스위치 다이(503)의 적어도 하나의 크로스바 스위치(513)에 상호 연결된다.
트랜스시버 다이(501-4)의 HST들(511)은 멀티칩 모듈(500)의 바닥측 물리층 인터페이스를 제공한다. 인터포저(510)는 트랜스시버 다이(501-4)의 HST들(511)을 프로토콜 로직 블록들(502-4)의 PLB들(512)에 상호 연결시킨다. 프로토콜 로직 블록 다이(502-4)의 PLB들(512)은 인터포저(510)에 의해 크로스바 스위치 다이(503)의 적어도 하나의 크로스바 스위치(513)에 상호 연결된다.
트랜스시버 다이들(501)은 모두 동일한 마스킹 층들의 세트로 제조될 수 있다는 것을 이해해야 한다. 보다 일반적으로, 동일 웨이퍼상의 다이들 간에도 변동들이 존재한다는 것을 이해하면서, 트랜스시버 다이들(501)은 모두 동일하게 제조될 수 있다는 것을 이해해야 한다. 마찬가지로, 프로토콜 로직 블록 다이들(502)은 모두 동일하게 제조될 수 있다는 것을 이해해야 한다. 게다가, 크로스바 스위치 다이들은 다중 멀티칩 모듈들(500)을 위해 대량으로 제조될 수 있다는 것을 이해해야 한다. 더 나아가, 다중 멀티칩 모듈들(500)의 제조를 위해, 다이들(501 내지 503) 뿐만이 아니라 인터포저(510)는 모두 대량으로 생산될 수 있다.
다이들(501 내지 503)의 각각의 다이는 모노리식 다이이지만, 다이들(501 내지 503)의 이러한 각각의 다이는 도 3의 전체 백플레인 스위치(330), 도 4의 물리층 디바이스들(311)을 갖는 전체 스위치 디바이스(402), 또는 도 3의 물리층 디바이스들(311)을 갖는 전체 프로토콜 프로세서(312)를 제공하기 위해 이용되는 단일 모노리식 다이(총체적으로 및 단일하게 "전체 모노리식 스위칭 디바이스")보다 실질적으로 작을 수 있다는 것을 또한 이해해야 한다. 따라서, 웨이퍼 당 보다 많은 다이들이 산출을 위한 후보들일 수 있으며, 산출율은 이러한 전체 모노리식 스위칭 디바이스에서보다 멀티칩 모듈(500)에서 보다 높을 수 있다는 것을 이해해야 한다.
이러한 라인들을 따라, 다양한 제한된 컴포넌트들로 다이를 반복적으로 제조하는 능력은 모노리식 하이브리드 다이에서의 이러한 회로, 즉 예컨대 트랜시빙, 프로토콜 프로세싱, 및 크로스바 스위칭과 같은 기능들을 포함한 회로의 필적한 구현보다 높은 산출과 보다 작은 다이 크기를 초래시킬 수 있다는 것을 이해해야 한다. 다이들(501 내지 503)은 상이한 반도체 프로세스들을 이용하여 제조될 수 있다는 것을 또한 이해해야 한다. 예를 들어, 다이들(501)의 HST들(511)은 아날로그 설계를 위한 보다 성숙하고 안정적인 프로세스로 제조될 수 있으며, 다이들(502)의 PLB들(512) 뿐만이 아니라 다이(503)의 크로스바 스위치들(513)은 보다 진보된 반도체 프로세스들, 즉 보다 과격한 리소그래피들을 갖는 반도체 프로세스들을 이용하여 제조될 수 있다. 보다 과격한 리소그래피들에 의해, 진보된 반도체 프로세스는 일반적으로 덜 진보된 반도체 프로세스보다 작은 최소 치수 피처 크기를 갖는다는 것을 일반적으로 이해해야 한다.
비제한적인 예시를 통한 명확화를 목적으로, 멀티칩 모듈(500)에 의해 제공된 스위칭 패브릭의 예시적인 실시예를 설명한다. 하지만, 수치적 변동들을 비롯한, 많은 변동들이 이러한 예시적인 실시예로부터 이용될 수 있다는 것을 이해해야 한다. 초당 1.28 테라비트("Tbps") 실시예의 경우, 예컨대 실리콘 인터포저일 수 있는 인터포저(510)는 32개의 초당 10 기가비트("Gbps") HST들(511)을 각각 갖춘 네 개의 트랜스시버 다이들(501); 네 개의 프로토콜 로직 블록 다이들(502); 및 두 개의 크로스바 스위치들(513)을 갖춘 하나의 크로스바 스위치 다이(503)에 탑재될 수 있다.
따라서, 일반적으로, 스위치 패브릭 제품을 형성하기 위해 네 개의 I/O-PLD 쌍들은 각각 일반적으로 크로스바 스위치 다이(503)의 "가장자리들" 또는 "측면들"에서, 네 개의 인터페이스들 중 하나에 결합될 수 있다. 택일적 사항으로서, 이러한 스위치 패브릭 제품은 극소수이지만 보다 높은 속도의 트랜스시버들로 구현될 수 있다. 예를 들어, 네 개의 트랜스시버 다이들(501)은 각각 16개의 20 Gbps HST들(511)을 가질 수 있다. 더 나아가, HST들(511)은 모두 트랜스시버 다이(501) 상에서 동일할 필요는 없다는 것을 이해해야 한다. 예를 들어, 동일 트랜스시버 다이(501) 상에서 25 Gbps 및 10 Gbps HST들(511)이 존재할 수 있으며, 이러한 HST들 모두는 이러한 두 개의 상이한 유형들의 HST들간에 데이터를 스위칭하는, 동일한 병렬 인터페이스를 이용하여 PLB들(512)과 통신할 수 있다.
HST(511)와 PLB들(512) 사이의 인터페이스는 병렬 인터페이스일 필요는 없다는 것을 또한 이해해야 한다. 예를 들어, 실리콘 인터포저 와이어들을 구동하기 위한 이용과 같은, 저전력 직렬 트랜스시버들은 이러한 인터페이스를 위해 이용될 수 있다. 추가적으로, 하나의 HST(511)는 하나보다 많은 PLB들(512)과 결합될 수 있다. 마찬가지로, 하나의 PLB(512)는 하나보다 많은 HST(511)와 결합될 수 있다.
다이들(501 내지 503)의 상이한 내부 구성들을 비롯하여, 이러한 다이들의 상이한 조합들은 상이한 스위치 패브릭 제품들을 제공하기 위해 이용될 수 있다는 것을 이해해야 한다. 더 나아가, PLB들(512)은 FPGA 기반 프로그램가능한 자원들과 같은, 프로그램가능한 자원들을 포함할 수 있고, 이러한 스위치 패브릭 제품들은 공장에서의 재구성과 대비되는 고객 또는 필드 재구성을 비롯한, 각자의 PLB들 하드웨어를 재구성시킬 수 있다.
따라서, 프로토콜 프로세싱에 대한 유연성은 PLB들(512)을 재구성하기 위한 이러한 능력을 제공받을 수 있다는 것을 이해해야 한다. 더 나아가, 전체 모노리식 스위칭 디바이스들의 다수의 상이한 구성들은 단일 멀티칩 모듈(500)로 대체될 수 있다는 것을 이해해야 한다. 추가적으로, 요구된 스위치 패브릭 제품들을 제공하기 위해, 즉 고객이 구매할 때 또는 이와 달리 이러한 제품 구성을 요청할 때 멀티칩 모듈(500)의 제조는 이후의 어셈블리를 위한 다양한 구성들로 다이들(501 내지 503)의 각각의 다이를 개별적으로 설계할 수 있으므로, 대형의 모노리식 디바이스들과 연관된 기나긴 설계 리드 타임은 회피될 수 있다는 것을 이해해야 한다.
80 나노미터 미만의 리소그래피를 이용하는 현재의 반도체 제조에서, 다이의 트랜지스터들은 통상적으로 단일 배향으로 형성된다는 것을 이해해야 한다. 트랜지스터들을 다중 배향들로 형성하는 것은 통상적으로 제조의 보다 낮은 수율 또는 다른 추가적인 비용들을 야기시킨다. 예를 들어, 진보된 리소그래피 프로세싱을 이용하는 모노리식 반도체 제조된 집적 회로들을 위한 레이아웃 매크로(macro)들은 모두 동일한 방향으로 구동하는 트랜지스터 게이트들을 가질 수 있다. 집적 회로들의 일부 판매자들은 두 개의 매크로들, 즉 게이트들의 각각의 배향 또는 방향을 위한 매크로를 생성시킬 수 있지만, 이것은 이전에 설명한 바와 같이, 상당한 비용을 추가시킬 수 있다.
하지만, 예컨대 다이들(501, 502)과 같은, 다수의 직사각형 다이들을 가짐으로써, 전체 다이는 예컨대 인터포저(510)의 여러 측면들을 따른 접속성과 같은, 상이한 방향들로부터 보다 적절하게 데이터 흐름들을 도모하기 위해, 예컨대 90°만큼 회전될 수 있다. 보다 구체적으로, 예컨대 트랜스시버 다이들(501)의 각각의 다이 내의 트랜지스터들은 동일한 배향을 가질 수 있지만, 트랜스시버 다이들(501)은 서로 상이하게 배향될 수 있다.
예를 들어, 트랜스시버 다이(501-1)는 가장 좌측에 있는 외각 다이이며, 여기서 물리층 인터페이스들은 인터포저(510)의 가장 좌측 가장자리에 대응하여 위치할 수 있다. 트랜스시버 다이(501-3)는 가장 위쪽에 있는 외각 다이이며, 여기서 물리층 인터페이스들은 인터포저(510)의 가장 위쪽에 있는 가장자리에 대응하여 위치할 수 있다. 트랜스시버 다이(501-1)와 트랜스시버 다이(501-3)는 동일한 트랜지스터 배향으로 동일한 웨이퍼 상에서 형성될 수 있지만, 이러한 다이들은 물리적 인터페이스들을 연결시키기 위한 보다 나은 위치를 제공하기 위해 서로에 대해 90°회전될 수 있다. 이러한 라인들을 따라, 트랜스시버 다이(501-2)는 가장 우측에 있는 외각 다이이며, 여기서 물리층 인터페이스들은 인터포저(510)의 가장 우측 가장자리에 대응하여 위치할 수 있다. 다시, 트랜스시버 다이(501-1)와 트랜스시버 다이(501-2)는 동일한 트랜지스터 배향으로 동일한 웨이퍼 상에서 형성될 수 있지만, 이러한 다이들은 물리적 인터페이스들을 연결시키기 위한 보다 나은 위치를 제공하기 위해 서로에 대해 180°회전될 수 있다. 마지막으로, 트랜스시버 다이(501-4)는 가장 아래쪽에 있는 외각 다이이며, 여기서 물리층 인터페이스들은 인터포저(510)의 가장 아래에 있는 가장자리에 대응하여 위치할 수 있다. 또다시, 트랜스시버 다이(501-1)와 트랜스시버 다이(501-4)는 동일한 트랜지스터 배향으로 동일한 웨이퍼 상에서 형성될 수 있지만, 이러한 다이들은 물리적 인터페이스들을 연결시키기 위한 보다 나은 위치를 제공하기 위해 서로에 대해 -90°회전될 수 있다. 마찬가지로, 프로토콜 로직 블록 다이들(502-1 내지 502-4)은 트랜스시버 다이들(501-1 내지 501-4)에 각각 상호 연결되도록 대응하게 회전될 수 있다.
일반적으로, 크로스바 스위치의 최대 대역폭은 이러한 크로스바 스위치에 결합된 트랜스시버들의 최대 대역폭보다 실질적으로 크다. 따라서, 트랜스시버들은 멀티칩 모듈(500)의 제한된 대역폭 컴포넌트일 수 있다.
도 6은 멀티칩 모듈(500)의 다른 예시적인 실시예를 도시하는 블럭도이다. 이러한 예시적인 실시예에서, 트랜스시버 다이들(501)은 인터포저(510)의 길이와 폭의 장점을 보다 완전하게 누리기 위해 길어진다. 따라서, 트랜스시버 다이들(501)은 멀티칩 모듈(500)의 대역폭을 증가시키기 위해 보다 많은 송신 및 수신 자원들을 가질 수 있다. 예를 들어, 실리콘 기판과 같은, 반도체 기판을 이용하여 제조된 수동 인터포저는 상호연결들을 제공하기 위해 다중 트레이스들을 수용하기 위한 상당한 공간을 가질 수 있다는 것을 이해해야 한다. 하지만, 길어진 트랜스시버 다이들(501)은 몇몇의 응용들에서 산출시키기가 보다 어려울 수 있고 및/또는 물리적으로 맞지 않을 수 있다.
도 7은 멀티칩 모듈(500)의 또다른 예시적인 실시예를 도시하는 블럭도이다. 이러한 예시적인 실시예에서, 트랜스시버 다이들(501)은 인터포저(510)의 길이와 폭의 장점을 보다 완전하게 누리기 위해 짧아진다. 하지만, 인터포저(510)의 각각의 가장자리에서의 단일 트랜스시버 다이(501) 보다는, 두 개의 트랜스시버 다이들(501)이 인터포저(510)의 각각의 가장자리에서 이용된다. 다시, 각각의 트랜스시버 다이들(501)은 동일한 웨이퍼로부터 제조될 수 있고, 인터포저(510)에 탑재하기 위해 단지 회전될 수 있다는 것을 이해해야 한다. 두 개의 트랜스시버 다이들(501)의 예시가 각각의 가장자리에서 이용되지만, 두 개보다 많은 다이들이 이용될 수 있다는 것을 이해해야 한다.
도 8은 멀티칩 모듈(500)의 예시적인 실시예를 도시하는 블록 사시도이다. 다이들(501 내지 503)은 멀티칩 모듈(500)의 상위층 컴포넌트들일 수 있다는 것과, 인터포저(510)는 멀티칩 모듈(500)의 하위층 컴포넌트일 수 있다는 것을 이해해야 한다.
도 9는 도 8의 멀티칩 모듈(500)의 인터포저(510)의 예시적인 실시예를 도시하기 위해 일부 투시도를 갖는 블록 사시도이다. 도 10은 다이들(501, 502)의 쌍 또는 다이들(502, 503)의 쌍을 대체로 표현하는 상위층 컴포넌트들(910, 911)을 갖는 도 9의 블록 사시도이다. 도 8과 도 9를 동시에 참조하여 인터포저(510)를 추가적으로 설명한다.
인터포저(510)는 예컨대 쓰루 실리콘 비아(through-silicon via; "TSV")들(901)로 대체로 표현되는, 다중 쓰루 도전성 비아들로 형성될 수 있다. 인터포저(510)에서, 예컨대 금속 와이어들(902)과 같은, 도전성 트레이스들이 형성될 수 있다. 단지 단일의 도전층이 인터포저(510) 내에서 예시적으로 도시되지만, 다수의 도전층들이 구현될 수 있다는 것을 이해해야 한다. 인터포저(510)의 윗면에서부터 아래쪽으로 금속 와이어들(902)까지 연결하기 위해 비아들(903)이 이용될 수 있다. 비아들(901, 903)을 상위층 컴포넌트들(910, 911)에 상호연결하기 위해 마이크로범프들(904)이 이용될 수 있다.
도 11은 재구성가능한 시스템(1100)의 예시적인 실시예를 도시하는 블럭도이다. 재구성가능한 시스템(1100)은 저장소(1101)와 멀티칩 모듈(500)을 포함한다. 저장소(1101)는 아래에서 추가적으로 자세하게 설명되는 바와 같은 인입 프로세싱 기능과 배출 프로세싱 기능을 제공하기 위해, 다이들(502)의 PLB들(512)을 구성하기 위해 다이들(502)에 결합된다. 저장소(1101)는 하나 이상의 구성 비트스트림들(1110)을 저장할 수 있다. 재구성가능한 시스템(1100)을 예시를 통한 명료화를 목적으로 멀티칩 모듈(500)을 이용하는 스위치 카드를 갖는다는 측면에서 설명하였지만, 여기서 설명한 멀티칩 모듈(500)은 라인 카드 또는 재구성가능한 시스템의 다른 실시예들에서의 다른 유형의 회로 보드 상에 존재할 수 있다는 것을 이해해야 한다.
비제한적인 예시를 통한 명확화를 목적으로, 화살표(1123)에 의해 대체로 나타난 바와 같이, 멀티칩 모듈(500)에 걸쳐 좌측으로부터 우측으로의 방향만을 상세하게 설명한다. 하지만, 통신 트래픽은 화살표들(1121 내지 1124)에 의해 대체로 표시된 바와 같이, 멀티칩 모듈(500)의 임의의 측면을 따라 수신될 수 있고 멀티칩 모듈(500)의 임의의 다른 측면으로 스위칭될 수 있다는 것을 이해해야 한다.
패킷(1125)은 트랜스시버 다이(501-1)에 의해 수신될 수 있다. 이러한 패킷은 인터포저(510)를 통해 트랜스시버 다이(501-1)로부터 프로토콜 로직 블록 다이(502-1)로 전달될 수 있다. 프로토콜 로직 블록 다이들(502-1, 502-2)에 제공된 하나 이상의 구성 비트스트림들(1110)에 응답하여, 인입 프로세싱 블록(1130)과 배출 프로세싱 블록(1131)은 프로토콜 로직 블록 다이들(502-1, 502-2)의 프로그램가능한 자원들에서 각각 인스턴스화될 수 있다. 다시 말하면, 인입 프로세싱 블록(1130)과 배출 프로세싱 블록(1131)은 "제1" 프로토콜에 따라 실행되도록 각각 인스턴스화될 수 있다. 이러한 제1 프로토콜은 예컨대 네트워크 스위치 또는 라우터의 제조와 같은, 소비자에 의해 규정될 수 있다. 이러한 인스턴스화는 멀티칩 모듈(500)의 이러한 소비자에 의해 또는 멀티칩 모듈(500)의 제조에 의해 수행될 수 있다.
패킷(1125)은 트랜스시버 다이(501-1)로부터 인입 프로세싱 블록(1130)에 제공된다. 인입 프로세싱 블록(1130)은 이러한 제1 프로토콜에 따라 패킷(1125)에 대해 인입 프로세싱을 수행할 수 있다. 비제한적인 예시를 통한 명확화를 목적으로, 이러한 인입 프로세싱은 래퍼(wrapper)에서 이러한 패킷(1125)을 래핑(wrapping)하는 것을 포함한다는 것을 가정할 것이다. 이러한 래핑된 패킷(1125)은 프로토콜 로직 블록 다이(502-1)로부터 크로스바 스위치 다이(503)로 전달되고 크로스바 스위치 다이(503)로부터 배출 프로세싱 블록(1131)으로 전달될 수 있다. 배출 프로세싱 블록(1131)은 이러한 인입 프로세싱된 패킷(1125)에 대해 배출 프로세싱을 수행할 수 있다. 다시, 비제한적인 예시를 통한 명확화를 목적으로, 이러한 래핑해제된 패킷(1125)을 트랜스시버 다이(501-2)에 제공하기 위해 이러한 배출 프로세싱은 이러한 래핑된 패킷(1125)을 래핑해제하는 것을 포함하는 것을 가정할 것이다. 트랜스시버 다이(501-2)는 멀티칩 모듈(500) 밖으로 패킷(1125)을 전달할 수 있다. 따라서, 다른 실시예들에서, 이러한 인입 및 배출 프로세싱은 각각 래핑 및 래핑해제를 포함하거나 또는 포함하지 않을 수 있다는 것을 이해해야 한다.
제1 프로토콜이 변경되면, 인입 프로세싱 블록(1130)과 배출 프로세싱 블록(1131)은 이러한 변경된 프로토콜을 수용하기 위해 재구성될 수 있다. 다른 프로토콜, 즉 제2 프로토콜이 제1 프로토콜을 대신하여 또는 이에 더하여 지원될 경우, 프로토콜 로직 블록 다이들(502-1, 502-2)의 프로그램가능한 자원들은 다시 이러한 지원을 제공하기 위해 구성될 수 있다.
도 11을 계속 참조하면, 패킷(1126)은 화살표들에 의해 대체로 표시되는 바와 같이 멀티칩 모듈(500)에 걸쳐 우측에서 좌측으로 프로세싱하기 위해 트랜스시버 다이(501-2)에 의해 수신되는 것으로서 예시적으로 도시된다. 따라서, 인입 프로세싱 블록(1132)은 제1 프로토콜과는 상이한 "제2" 프로토콜을 지원하기 위해 프로토콜 로직 블록 다이(502-2)의 프로그램가능한 자원들에서 인스턴스화될 수 있고, 배출 프로세싱 블록(1133)은 이러한 제2 프로토콜을 지원하기 위해 프로토콜 로직 블록 다이(502-1)에서 인스턴스화될 수 있다. 따라서, 이러한 인입 프로세싱 블록(1132)과 배출 프로세싱 블록(1133)은 멀티칩 모듈(500)의 제공자에 의해 또는 멀티칩 모듈(500)의 소비자에 의해 인스턴스화될 수 있다. 따라서, 프로토콜 스택은 하나 이상의 크로스바 스위치들(513)에 걸쳐 다중 프로토콜들을 지원하기 위해 멀티칩 모듈(500)에서 구현될 수 있다는 것을 이해해야 한다.
멀티칩 모듈(500)은 필드 프로그램가능한 스위치 패브릭을 제공한다는 것을 이해해야 한다. PLB 컴포넌트들은 필드 프로그램가능하기 때문에, 멀티칩 모듈(500)에 의해 제공되는 스위치 패브릭은 상이한 프로토콜들을 위해 재구성될 수 있고, 따라서 단일 스위치 디바이스는 상이한 응용들에서 이용될 수 있다. 다시 말하면, 다양한 응용 환경들을 위해 다양한 전체 모노리식 스위칭 디바이스들을 갖는 것 보다는, 이러한 갯수의 다양한 전체 모노리식 스위칭 디바이스들의 서브세트인 복수의 멀티칩 모듈들(500)은 이러한 응용 환경들을 포괄할 수 있다. 더 나아가, 상이한 갯수들의 HST들을 결합함으로써, PLB들과 크로스바 스위치들은 다양한 응용 환경들을 수용하기 위해 상이한 스위칭 처리율을 산출시킬 수 있다.
멀티칩 모듈(500)은 트랜스시버 다이들(501)의 두 개의 인스턴스들과 프로그램가능한 로직 블록 다이들(502)의 두 개의 인스턴스들로 구현될 수 있다는 것을 이해해야 한다. 더 나아가, 보다 적은 연결들을 갖고 및/또는 보다 적은 대역폭을 소모시키는 저전력 응용들의 경우, 트랜스시버 다이(501) 및 프로토콜 로직 블록 다이(502)의 인스턴스들은 박스들(1151, 1152)에 의해 대체로 도시된 것과 같은, 단일 HST-PLB 다이 내로 효과적으로 결합될 수 있다. 다른 실시예들에서, 트랜스시버 다이(501)의 단일 인스턴스와 프로토콜 로직 블록 다이(502)의 단일 인스턴스는 인터포저(510)를 통해 상호 연결될 수 있고, 이러한 프로토콜 로직 블록 다이(502)의 이러한 단일 인스턴스는 이러한 인터포저(510)를 통해 크로스바 스위치 다이(503)에 상호 연결될 수 있으며, 인터포저(510)에서 뿐만이 아니라, 다이들(501 내지 503)의 이러한 단일 인스턴스들은 멀티칩 모듈(500)을 제공한다.
도 12는 통신용 프로세스(1200)의 예시적인 실시예를 도시하는 흐름도이다. 단계(1201)에서, 패킷이 멀티칩 모듈의 제1 트랜스시버 다이에 의해 수신된다. 예를 들어, 여기서 이전에 설명한 바와 같이, 멀티칩 모듈(500)은 멀티칩 모듈(500)의 트랜스시버 다이(501)로 패킷을 수신할 수 있다. 단계(1202)에서, 이러한 패킷은 인터포저를 통해 이러한 멀티칩 모듈의 제1 트랜스시버 다이로부터 제1 프로토콜 로직 블록 다이에 제공된다. 예를 들어, 여기서 이전에 설명한 바와 같이, 트랜스시버 다이(501)는 이러한 멀티칩 모듈(500)의 인터포저(510)를 통해 이러한 멀티칩 모듈(500)의 프로토콜 로직 블록 다이(502)에 패킷을 전달할 수 있다.
단계(1203)에서, 제1 프로토콜 로직 블록 다이로부터의 패킷은 인터포저를 통해 멀티칩 모듈의 크로스바 스위치 다이에 제공된다. 예를 들어, 여기서 이전에 설명한 바와 같이, 프로토콜 로직 블록 다이(502)는 이러한 멀티칩 모듈(500)의 인터포저(510)를 통해 패킷을 크로스바 스위치 다이(503)에 전달할 수 있다. 단계(1204)에서, 크로스바 스위치 다이로부터의 패킷은 인터포저를 통해 멀티칩 모듈의 제2 프로토콜 로직 블록 다이에 제공된다. 예를 들어, 여기서 이전에 설명한 바와 같이, 이러한 패킷은 이러한 멀티칩 모듈(500)의 이러한 인터포저를 통해 이러한 크로스바 스위치 다이(503)로부터 또다른 프로토콜 로직 블록 다이(502)에 전달될 수 있다.
단계(1205)에서, 제2 프로토콜 로직 블록 다이로부터의 패킷은 인터포저를 통해 멀티칩 모듈의 제2 트랜스시버 다이에 제공된다. 예를 들어, 여기서 이전에 설명한 바와 같이, 이러한 패킷은 이러한 멀티칩 모듈(500)의 이러한 인터포저를 통해 이러한 다른 프로토콜 로직 블록 다이(502)로부터 또다른 트랜스시버 다이(501)에 전달될 수 있다. 단계(1206)에서, 여기서 이전에 설명한 바와 같이, 제2 트랜스시버 다이로부터의 패킷은 멀티칩 모듈 밖으로 보내진다. 예를 들어, 이러한 패킷은 이러한 다른 트랜스시버 다이(502)를 통해 이러한 멀티칩 모듈(500) 밖으로 보내질 수 있다.
또다른 실시예에서, 이러한 패킷은 이러한 멀티칩 모듈(500)의 이러한 인터포저(510)를 통해 이러한 크로스바 스위치 다이(503)로부터 이러한 프로토콜 로직 블록 다이(502)에 역전달될 수 있다. 이러한 다른 실시예에서, 도 17을 참조하여 아래에서 추가적으로 상세하게 설명되는 바와 같이, 역전달된 이러한 패킷은 이러한 멀티칩 모듈(500)의 이러한 인터포저(510)를 통해 이러한 프로토콜 로직 블록 다이(502)로부터 이러한 트랜스시버 다이(501)에 추가적으로 역전달될 수 있다. 이러한 다른 실시예에서, 제1 트랜스시버 다이와 제2 트랜스시버 다이는 하나의 동일한 트랜스시버 다이일 수 있고, 제1 프로토콜 로직 블록 다이와 제2 프로토콜 로직 블록 다이는 하나의 동일한 프로토콜 로직 블록 다이일 수 있다.
도 13은 인스턴스화 흐름(1300)의 예시적인 실시예를 도시하는 흐름도이다. 단계(1301)에서, 인입 프로세싱 블록은 제1 프로토콜 로직 블록 다이에서 인스턴스화된다. 이러한 인입 프로세싱 블록은 예컨대 제1 프로토콜에 따라 하나 이상의 패킷들을 랩핑하는 것과 같은, 인입 프로세싱하기 위한 것이다. 이러한 인스턴스화는 여기서 이전에 설명한 바와 같이, 이러한 제1 프로토콜 로직 블록 다이의 프로그램가능한 자원들의 필드 프로그래밍을 포함할 수 있다. 단계(1302)에서, 배출 프로세싱 블록은 제2 프로토콜 로직 블록 다이에서 인스턴스화된다. 이러한 배출 프로세싱 블록은 예컨대 이러한 제1 프로토콜에 따라 단계(1301)에서 랩핑된 후, 이러한 하나 이상의 패킷들을 예컨대 랩핑해제하는 것과 같은, 배출 프로세싱하기 위한 것이다. 이러한 인스턴스화는 여기서 이전에 설명한 바와 같이, 이러한 제2 프로토콜 로직 블록 다이의 프로그램가능한 자원들의 필드 프로그래밍을 포함할 수 있다.
단계(1303)에서, 또다른 인입 프로세싱 블록은 제1 프로토콜 로직 블록 다이에서 인스턴스화된다. 이러한 다른 인입 프로세싱 블록은 예컨대 제2 프로토콜에 따라 하나 이상의 패킷들을 랩핑하는 것과 같이, 인입 프로세싱하기 위한 것이다. 제2 프로토콜은 제1 프로토콜과는 상이하다. 이러한 인스턴스화는 여기서 이전에 설명한 바와 같이, 제2 프로토콜 로직 블록 다이의 프로그램가능한 자원들의 필드 프로그래밍을 포함할 수 있다. 단계(1304)에서, 또다른 배출 프로세싱 블록은 이러한 제2 프로토콜 로직 블록 다이에서 인스턴스화된다. 이러한 다른 배출 프로세싱 블록은 예컨대 이러한 제2 프로토콜에 따라 단계(1303)에서 랩핑된 후, 이러한 하나 이상의 패킷들을 예컨대 랩핑해제하는 것과 같이, 배출 프로세싱하기 위한 것이다. 이러한 인스턴스화는 여기서 이전에 설명한 바와 같이, 이러한 제2 프로토콜 로직 블록 다이의 프로그램가능한 자원들의 필드 프로그래밍을 포함할 수 있다.
도 14는 HST(511)의 예시적인 실시예를 도시하는 회로도이다. HST(511)는 메조크로노스(mesochronous) 동기화기(1401), 병렬-직렬 컨버터("P/S")(1402), 하나 이상의 차동 송신기들(1403), 하나 이상의 클록 증배기 및 분배 블록들(1404), 하나 이상의 차동 수신기들(1405), 클록 데이터 복구(clock data recovery; "CDR") 블록(1406), 직렬-병렬 컨버터("S/P")(1407), 버퍼들(1408 내지 1410), 및 택일적인 물리적 코딩 서브층(physical-coding sublayer; "PCS") 로직 블록(1411)을 포함할 수 있다.
병렬 데이터(1420)는 메조크로노스 동기화기(1401)를 위한 HST(511)에 입력될 수 있는데, 이 동기화기(1401)는 클록 증배기 분배 블록(1404)으로부터의 클록 신호에 응답하여 클록킹될 수 있다. 메조크로노스 동기화기(1401)의 출력은 P/S(1402)에 제공될 수 있으며, P/S(1402)는 클록 증배기 및 분배 블록(1404)으로부터의 클록 신호에 응답하여 클록킹될 수 있다. 고속 차동 직렬 출력(1421)을 제공하기 위해 P/S(1402)로부터 출력되는 직렬 데이터는 차동 송신기(1403)에 대한 입력으로서 제공될 수 있다. 출력용 클록 신호들의 생성을 위해 기준 클록 신호들(1422)이 클록 증배기 및 분배 블록(1404)에 대한 입력으로서 제공될 수 있다.
고속 차동 직렬 데이터(1423)는 CDR 블록(1406)에 대한 출력을 위해 차동 수신기(1405)에 의해 수신될 수 있으며, 이 CDR 블록(1406)은 클록 증배기 및 분배 블록(1404)으로부터의 클록 신호에 응답하여 클록킹될 수 있다. 복구된 클록 신호(1424)를 출력으로서 제공하기 위해 복구된 클록 신호는 버퍼(1410)에 대한 입력용으로 CDR 블록(1406)으로부터 출력될 수 있다.
CDR 블록(1406)으로부터 출력된 복구된 비트스트림은 S/P(1407)에 입력될 수 있으며, S/P(1407)는 CDR 블록(1406)으로부터의 클록 신호에 응답하여 클록킹된다. 복구된 병렬 데이터는 버퍼(1409)에 대한 입력용으로 S/P(1407)로부터 출력될 수 있다. 버퍼(1409)의 출력은 복구된 병렬 데이터 비트스트림들(1425)일 수 있다.
버퍼(1408)에 대한 입력용으로 기준 클록 신호는 클록 증배기 및 분배 블록(1404)으로부터 출력될 수 있고, 버퍼(1408)로부터의 출력은 기준 클록 신호(1426)로서 제공될 수 있다. 명료화 및 비제한성을 목적으로 여기서 도시되지 않은 전력 및 그라운드 공급기들 뿐만이 아니라, 기준 클록 신호들(1422)은 예컨대 멀티칩 모듈(500)의 패키지 핀들을 위한 TSV들을 이용하여 HST(511)에 연결될 수 있다.
복구된 병렬 데이터 비트스트림들(1425) 및 복구된 클록 신호(1424)는 후속 프로세싱을 위한 하나 이상의 프로토콜 로직 블록들에 의해 이용될 수 있다. 인터페이스(1450)는 인터포저(510)를 통해 도 5의 프로토콜 로직 블록 다이(502)의 하나 이상의 PLB들(512)에 상호 연결될 수 있다.
택일적인 PCS 로직 블록(1411)은 통신 트래픽의 사전 프로세싱과 사후 프로세싱을 위한 로직을 포함할 수 있다. PCS 로직 블록(1411)은 표준 셀들 또는 프로그램가능한 자원 패브릭과 같은, 프로그램가능한 자원들 및/또는 전용 회로들을 이용하여 구현될 수 있다. 표준 셀들을 이용한 경화 구현은 보다 작은 반도체 영역을 수반할 수 있지만, 필드에서 재구성될 수 있는 능력이 부족할 수 있다.
도 15는 PLB(512)에 결합된 HST(511)의 예시적인 실시예를 도시하는 회로도이다. PLB(512)는 클록 증배기 분배 블록(1501), 레지스터(register)(1502) 및 레지스터(1503)를 포함할 수 있다. 병렬 데이터(1420)는 HST(511)에 대한 입력을 위한 병렬 데이터(1420)로서의 출력을 위해 레지스터(1502)에 대한 입력으로서 제공될 수 있다. 레지스터(1502)는 클록 증배기 분배 블록(1501)으로부터의 클록 신호에 의해 클록킹될 수 있다. 클록 증배기 분배 블록(1501)은 기준 클록으로서 기준 클록 신호(1426)를 수신할 수 있다. 레지스터(1503)는 복구된 병렬 데이터 비트스트림들(1425)을 수신할 수 있다. 레지스터(1503)는 복구된 병렬 데이터 비트스트림들(1425)의 입력과 출력을 위해 복구된 클록 신호(1424)에 대해 응답하여 클록킹될 수 있다.
실시예에서, 레지스터들(1502, 1503) 뿐만이 아니라, 클록 증배기 분배 블록(1501)은 프로그램가능한 자원들을 이용하여 구현될 수 있다. 하지만, 다른 실시예에서, 성능을 개선하고, 전력을 절감시키거나, 또는 보다 나은 면적 효율성을 갖는 것과 같이, 레지스터들(1502, 1503) 뿐만이 아니라, 클록 증배기 분배 블록(1501)은 전용 회로를 이용하여 구현될 수 있다. 더 나아가, 현재 인기를 끌고 있는 프로토콜들은 프로토콜 로직 블록 다이들(502)에서 경화될 수 있으면서, 다른 프로토콜들을 위한 프로그램가능한 자원들을 갖는다.
도 16은 크로스바 스위치(513)의 예시적인 실시예를 도시하는 블럭/회로도이다. 크로스바 스위치(513)는 단일 클록 도메인, 즉 동기화 크로스바 스위치에서 동작할 수 있다. 하지만, 상이한 클록 도메인들과 함께 동작하는 하나 이상의 크로스바 스위치들이 이용될 수 있다. 더 나아가, 크로스바 스위치(513)는 버퍼링된 동기화 크로스바 스위치, 즉 각각의 교차점에서 상대적으로 작은 FIFO를 갖는 크로스바 스위치일 수 있다. 다른 실시예에서, 비동기화 크로스바 스위치(이것은 때때로 교차점 스위치라고 불리어진다)가 이용될 수 있다. 비동기화 크로스바 스위치는 각각의 입력 데이터 스트림을 위한 임베딩된 클록을 운송할 수 있다. 비동기화 크로스바 스위치들은 예컨대 광학 스위칭 및 비디오 스위칭에서 이용될 수 있다.
크로스바 스위치(513)는 출력 멀티플렉서 블록들(1601-1 내지 1601-M)("1601")을 포함하며, 여기서 M는 1보다 큰 양의 정수이다. 출력 멀티플렉서 블록들(1601) 각각은 다중 멀티플렉서들(1602)을 포함한다. 포트로서 지정된 각각의 멀티플렉서(1602) 마다, 각각의 입력 포트(1610)가 존재할 수 있다. 따라서, 출력 멀티플렉서 블록들(1601) 각각은 입력 포트들(1610-1 내지 1610-N)을 가지며, 여기서 N은 1보다 큰 양의 정수이고, 이러한 각각의 포트는 B 비트이며, 여기서 B는 1이상의 양의 정수이다.
멀티플렉서 선택 신호들(1611-1 내지 1611-M)("1611")은 각각 제어 선택 신호들로서 출력 멀티플렉서 블록들(1601-1 내지 1601-M)에 제공된다. 멀티플렉서 선택 신호들(1611)의 비트폭은 [log2 N]의 값과 동일한 것으로서 표현될 수 있다. 출력 멀티플렉서 블록들(1601)은 각각 출력 포트들(1615-1 내지 1615-M)을 가지며, 여기서 이러한 포트들 각각은 B 비트 폭을 갖는다. 다시 말하면, 크로스바 스위치(513)는 N x M x B 크로스바 스위치이다.
실시예에서, 이에 따라 밸런싱된 멀티플렉서 선택 신호들의 갯수로 임의의 버스 폭이 지원될 수 있도록 B는 1로 설정될 수 있다. 이러한 실시예에서는, 데이터 신호들보다 많은 멀티플렉서 선택 신호들이 존재할 수 있다.
프로그램가능한 자원들에서 인스턴스화된 HST들과 PLB들 사이의 각각의 와이어를 통한 데이터 레이트들간의 커다란 차이들로 인해, HST들의 병렬측 데이터경로 폭들은 예컨대 32, 40, 64, 80, 128, 또는 160일 수 있다. 물론, 다른 데이터경로 폭들이 이용될 수 있다. 단일 오차 보정 및 이중 오차 보정 검출(single error correction and double error correction detection; "SECDED")을 갖는 오차 보정 코딩(error correction coding; "ECC") 오버헤드를 고려하여, 대응하는 HST 데이터경로 폭들은 39, 47, 72, 88, 137, 및 169이다. 따라서, 스위칭 혼잡을 감소시키기 위해, 각각의 크로스바 스위치(513)는 이중 데이터경로 폭들을 위해 구현될 수 있는 것과 같이, 수신 데이터의 속도에 대해 대략 두 배 이상의 속도로 각각의 포트를 구동시킬 수 있다. 크로스바 스위치(513)는 ECC 및/또는 SECDED를 포함할 수 있지만, 이것은 명료화 및 비제한성을 목적으로 도시되지 않는다는 것을 이해해야 한다.
도 17은 재구성가능한 시스템(1700)의 다른 예시적인 실시예를 도시하는 블럭도이다. 재구성가능 시스템(1700)은 도 11의 재구성가능 시스템(1100)과 유사하며, 따라서 명료화 및 비제한성을 목적으로 단지 차이들만을 설명한다. 멀티칩 모듈(500)의 이러한 예시적인 실시예에서, 단일 트랜스시버 다이(501-1), 단일 프로토콜 로직 블록 다이(502-1), 및 단일 크로스바 스위치 다이(503)가 이용된다. 따라서, 패킷(1125)은 인입 프로세싱 블록(1130)으로부터 크로스바 스위치 다이(503)의 크로스바 스위치에 제공될 수 있고, 이러한 패킷(1125)은 크로스바 스위치 다이(503)로부터 프로토콜 로직 블록 다이(502-1)에 역전달될 수 있다. 보다 구체적으로, 배출 프로세싱 블록(1131)은 크로스바 스위치 다이(503)로부터의 인입 프로세싱된 패킷(1125)의 수신을 위해 프로토콜 로직 블록 다이(502-1)에서 인스턴스화될 수 있다. 인입 프로세싱 블록(1130)과 배출 프로세싱 블록(1131) 모두는 하나 이상의 구성 비트스트림들(1110)에 응답하여 프로그램가능 로직 블록 다이(502-1)에서 인스턴스화될 수 있다는 것을 이해해야 한다.
전술한 것은 본 발명의 하나 이상의 양태들에 따른 예시적인 실시예들을 설명한 것이지만, 본 발명의 하나 이상의 양태들에 따른 이와 다른 실시예들 및 추가적인 실시예들이 본 발명의 범위로부터 이탈하지 않고서 고안될 수 있으며, 본 발명의 범위는 아래의 청구항들 및 이것의 등가물에 의해 결정된다. 단계들을 열거한 청구항들은 단계들의 임의적인 순서를 암시하지 않는다. 상표는 각 소유자의 재산이다.

Claims (15)

  1. 멀티칩 모듈에 있어서,
    제1 트랜스시버들을 갖는 제1 트랜스시버 다이(die);
    제2 트랜스시버들을 갖는 제2 트랜스시버 다이;
    적어도 하나의 크로스바(crossbar) 스위치를 갖는 크로스바 스위치 다이;
    제1 프로토콜 로직 블록들을 갖는 제1 프로토콜 로직 블록 다이;
    제2 프로토콜 로직 블록들을 갖는 제2 프로토콜 로직 블록 다이; 및
    상기 제1 트랜스시버 다이, 상기 제2 트랜스시버 다이, 상기 크로스바 스위치 다이, 상기 제1 프로토콜 로직 블록 다이, 및 상기 제2 프로토콜 로직 블록 다이와 결합(couple)된 인터포저(interposer)를 포함하고,
    상기 제1 트랜스시버 다이, 상기 제2 트랜스시버 다이, 상기 제1 프로토콜 로직 블록 다이, 상기 제2 프로토콜 로직 블록 다이, 및 상기 크로스바 스위치 다이는 상기 인터포저 상에 탑재(mount)되고,
    상기 인터포저는, 상기 제1 트랜스시버들과 상기 제1 프로토콜 로직 블록들을 상호 연결시키고, 상기 제2 트랜스시버들과 상기 제2 프로토콜 로직 블록들을 상호 연결시키고, 상기 제1 프로토콜 로직 블록들과 상기 적어도 하나의 크로스바 스위치를 상호 연결시키며, 또한 상기 제2 프로토콜 로직 블록들과 상기 적어도 하나의 크로스바 스위치를 상호 연결시키는 것인, 멀티칩 모듈.
  2. 제1항에 있어서,
    상기 제1 트랜스시버 다이, 상기 제1 프로토콜 로직 블록 다이, 상기 제2 트랜스시버 다이, 및 상기 제2 프로토콜 로직 블록 다이는 모두 제1 배향(orientation)으로 상기 인터포저에 탑재된 직사각형 다이들이고,
    상기 제1 트랜스시버 다이와 상기 제1 프로토콜 로직 블록 다이는 상기 크로스바 스위치 다이의 좌측상에 위치하고,
    상기 제2 트랜스시버 다이와 상기 제2 프로토콜 로직 블록 다이는 상기 크로스바 스위치 다이의 우측상에 위치하고,
    상기 제1 트랜스시버 다이는 가장 좌측에 있는 외각 다이이며,
    상기 제2 트랜스시버 다이는 가장 우측에 있는 외각 다이인 것인, 멀티칩 모듈.
  3. 제2항에 있어서,
    제3 트랜스시버들을 갖는 제3 트랜스시버 다이; 및
    제3 프로토콜 로직 블록들을 갖는 제3 프로토콜 로직 블록 다이를 더 포함하고,
    상기 제3 트랜스시버 다이와 상기 제3 프로토콜 로직 블록 다이는 상기 인터포저에 결합되고,
    상기 인터포저는, 상기 제3 트랜스시버들과 상기 제3 프로토콜 로직 블록들을 상호 연결시키고, 또한 상기 제3 프로토콜 로직 블록들과 상기 적어도 하나의 크로스바 스위치를 상호 연결시키는 것인, 멀티칩 모듈.
  4. 제3항에 있어서,
    제4 트랜스시버들을 갖는 제4 트랜스시버 다이; 및
    제4 프로토콜 로직 블록들을 갖는 제4 프로토콜 로직 블록 다이를 더 포함하고,
    상기 제4 트랜스시버 다이와 상기 제4 프로토콜 로직 블록 다이는 상기 인터포저에 결합되며,
    상기 인터포저는, 상기 제4 트랜스시버들과 상기 제4 프로토콜 로직 블록들을 상호 연결시키고, 또한 상기 제4 프로토콜 로직 블록들과 상기 적어도 하나의 크로스바 스위치를 상호 연결시키는 것인, 멀티칩 모듈.
  5. 제4항에 있어서, 상기 제1 프로토콜 로직 블록들, 상기 제2 프로토콜 로직 블록들, 상기 제3 프로토콜 로직 블록들, 및 상기 제4 프로토콜 로직 블록들은 모두 필드 프로그램가능한(programmable) 것인, 멀티칩 모듈.
  6. 제5항에 있어서,
    상기 제3 트랜스시버 다이, 상기 제4 트랜스시버 다이, 상기 제3 프로토콜 로직 블록 다이, 및 상기 제4 프로토콜 로직 블록 다이는 모두 제2 배향으로 상기 인터포저에 탑재된 직사각형 다이들이고,
    상기 제2 배향은 상기 제1 배향에 대해 수직하고,
    상기 제3 트랜스시버 다이와 상기 제3 프로토콜 로직 블록 다이는 상기 크로스바 스위치 다이의 윗면 상에 위치하고,
    상기 제4 트랜스시버 다이와 상기 제4 프로토콜 로직 블록 다이는 상기 크로스바 스위치 다이의 바닥면 상에 위치하고,
    상기 제3 트랜스시버 다이는 가장 위쪽에 있는 외각 다이이며,
    상기 제4 트랜스시버 다이는 가장 아래쪽에 있는 외각 다이인 것인, 멀티칩 모듈.
  7. 제6항에 있어서, 상기 제1 트랜스시버 다이, 상기 제2 트랜스시버 다이, 상기 제3 트랜스시버 다이, 및 상기 제4 트랜스시버 다이는 각각 상기 제1 프로토콜 로직 블록 다이, 상기 제2 프로토콜 로직 블록 다이, 상기 제3 프로토콜 로직 블록 다이, 및 상기 제4 프로토콜 로직 블록 다이보다 긴 것인, 멀티칩 모듈.
  8. 통신 시스템에 있어서,
    제1항의 멀티칩 모듈을 포함하고,
    상기 시스템은 백플레인(backplane), 라인 카드, 및 스위치 카드를 갖는 네트워크 스위치를 포함하며,
    상기 멀티칩 모듈은 상기 라인 카드 또는 상기 스위치 카드 중 어느 한 쪽 상에 탑재되는, 통신 시스템.
  9. 통신을 위한 방법에 있어서,
    멀티칩 모듈의 제1 트랜스시버 다이에 의해 패킷을 수신하는 단계;
    상기 패킷을 인터포저를 통해 상기 제1 트랜스시버 다이로부터 상기 멀티칩 모듈의 제1 프로토콜 로직 블록 다이에 제공하는 단계 - 상기 인터포저는 상기 제1 트랜스시버 다이와 상기 제1 프로토콜 로직 블록 다이를 상호 연결시킴 -;
    상기 패킷을 상기 인터포저를 통해 상기 제1 프로토콜 로직 블록 다이로부터 상기 멀티칩 모듈의 크로스바 스위치 다이에 제공하는 단계 - 상기 인터포저는 상기 제1 프로토콜 로직 블록 다이와 상기 크로스바 스위치 다이를 상호 연결시킴 -;
    상기 패킷을 상기 인터포저를 통해 상기 크로스바 스위치 다이로부터 상기 멀티칩 모듈의 제2 프로토콜 로직 블록 다이에 제공하는 단계 - 상기 인터포저는 상기 제2 프로토콜 로직 블록 다이와 상기 크로스바 스위치 다이를 상호 연결시킴 -;
    상기 패킷을 상기 인터포저를 통해 상기 제2 프로토콜 로직 블록 다이로부터 상기 멀티칩 모듈의 제2 트랜스시버 다이에 제공하는 단계 - 상기 인터포저는 상기 제2 프로토콜 로직 블록 다이와 상기 제2 트랜스시버 다이를 상호 연결시킴 -; 및
    상기 패킷을 상기 제2 트랜스시버 다이로부터 상기 멀티칩 모듈 밖으로 보내는 단계를 포함하는, 통신을 위한 방법.
  10. 제9항에 있어서,
    상기 제1 프로토콜 로직 블록 다이에서 제1 프로토콜에 따라 상기 패킷을 인입 프로세싱(ingress processing)하기 위해 제1 인입 프로세싱 블록을 인스턴스화(instantiating)하는 단계; 및
    상기 제2 프로토콜 로직 블록 다이에서 상기 제1 프로토콜에 따라 상기 패킷을 배출 프로세싱(egress processing)하기 위해 제1 배출 프로세싱 블록을 인스턴스화하는 단계를 더 포함하는, 통신을 위한 방법.
  11. 제10항에 있어서,
    상기 제1 프로토콜 로직 블록 다이에서 제2 프로토콜에 따라 다른 패킷을 인입 프로세싱하기 위해 제2 인입 프로세싱 블록을 인스턴스화하는 단계; 및
    상기 제2 프로토콜 로직 블록 다이에서 상기 제2 프로토콜에 따라 또다른 패킷을 배출 프로세싱하기 위해 제2 배출 프로세싱 블록을 인스턴스화하는 단계를 더 포함하며,
    상기 제1 프로토콜과 상기 제2 프로토콜은 상이한 프로토콜들인, 통신을 위한 방법.
  12. 제11항에 있어서,
    상기 제1 인입 프로세싱 블록은 제1 인입 프로세싱 블록 구성 비트스트림에 응답하여 제1 프로그램가능한 자원들에서 인스턴스화되고;
    상기 제2 인입 프로세싱 블록은 제2 인입 프로세싱 블록 구성 비트스트림에 응답하여 제2 프로그램가능한 자원들에서 인스턴스화되고;
    상기 제1 배출 프로세싱 블록은 제1 배출 프로세싱 블록 구성 비트스트림에 응답하여 제3 프로그램가능한 자원들에서 인스턴스화되며;
    상기 제2 배출 프로세싱 블록은 제2 배출 프로세싱 블록 구성 비트스트림에 응답하여 제4 프로그램가능한 자원들에서 인스턴스화되는 것인, 통신을 위한 방법.
  13. 제9항에 있어서,
    상기 패킷을 상기 인터포저를 통해 상기 크로스바 스위치 다이로부터 다시 상기 멀티칩 모듈의 제1 프로토콜 로직 블록 다이에 제공하는 단계;
    상기 패킷을 상기 인터포저를 통해 상기 제1 프로토콜 로직 블록 다이로부터 다시 상기 멀티칩 모듈의 제1 트랜스시버 다이에 제공하는 단계; 및
    상기 패킷을 상기 제1 트랜스시버 다이로부터 상기 멀티칩 모듈 밖으로 보내는 단계를 더 포함하는, 통신을 위한 방법.
  14. 삭제
  15. 삭제
KR1020137015587A 2010-11-17 2011-07-12 통신용 멀티칩 모듈 KR101422431B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/948,000 2010-11-17
US12/948,000 US8417867B2 (en) 2010-11-17 2010-11-17 Multichip module for communications
PCT/US2011/043743 WO2012067679A1 (en) 2010-11-17 2011-07-12 Multichip module for communications

Publications (2)

Publication Number Publication Date
KR20130083473A KR20130083473A (ko) 2013-07-22
KR101422431B1 true KR101422431B1 (ko) 2014-07-22

Family

ID=44534614

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137015587A KR101422431B1 (ko) 2010-11-17 2011-07-12 통신용 멀티칩 모듈

Country Status (7)

Country Link
US (1) US8417867B2 (ko)
EP (1) EP2641270B1 (ko)
JP (1) JP5736463B2 (ko)
KR (1) KR101422431B1 (ko)
CN (1) CN103460656B (ko)
TW (1) TWI442537B (ko)
WO (1) WO2012067679A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9270542B2 (en) 2009-07-31 2016-02-23 Ixia Apparatus and methods for forwarding data packets captured from a network
EP2561645B1 (en) 2010-04-23 2020-02-26 Keysight Technologies Singapore (Sales) Pte. Ltd. Integrated network data collection arrangement
US9565132B2 (en) * 2011-12-27 2017-02-07 Intel Corporation Multi-protocol I/O interconnect including a switching fabric
US8704384B2 (en) * 2012-02-17 2014-04-22 Xilinx, Inc. Stacked die assembly
US8704364B2 (en) 2012-02-08 2014-04-22 Xilinx, Inc. Reducing stress in multi-die integrated circuit structures
WO2013155566A1 (en) * 2012-04-18 2013-10-24 Zomojo Pty Ltd A networking apparatus and a method for networking
US8957512B2 (en) 2012-06-19 2015-02-17 Xilinx, Inc. Oversized interposer
US8869088B1 (en) 2012-06-27 2014-10-21 Xilinx, Inc. Oversized interposer formed from a multi-pattern region mask
US10904075B2 (en) * 2012-07-02 2021-01-26 Keysight Technologies Singapore (Sales) Pte. Ltd. Preconfigured filters, dynamic updates and cloud based configurations in a network access switch
US9026872B2 (en) 2012-08-16 2015-05-05 Xilinx, Inc. Flexible sized die for use in multi-die integrated circuit
US9547034B2 (en) 2013-07-03 2017-01-17 Xilinx, Inc. Monolithic integrated circuit die having modular die regions stitched together
US9967150B2 (en) 2014-04-30 2018-05-08 Keysight Technologies Singapore (Holdings) Pte. Ltd. Methods and apparatuses for implementing network visibility infrastructure
US9915869B1 (en) 2014-07-01 2018-03-13 Xilinx, Inc. Single mask set used for interposer fabrication of multiple products
US9819345B2 (en) * 2014-10-02 2017-11-14 Altera Corporation Scalable 2.5D interface architecture
US9971733B1 (en) 2014-12-04 2018-05-15 Altera Corporation Scalable 2.5D interface circuitry
US9887863B2 (en) * 2015-10-16 2018-02-06 Taiwan Semiconductor Manufacturing Company Ltd. Transceiver group and associated router
US10784121B2 (en) 2016-08-15 2020-09-22 Xilinx, Inc. Standalone interface for stacked silicon interconnect (SSI) technology integration
CN109564914B (zh) * 2016-08-15 2020-06-30 赛灵思公司 用于堆叠硅互连(ssi)技术集成的独立接口
US10599603B1 (en) * 2017-12-29 2020-03-24 Barefoot Networks, Inc. Forwarding element integrated circuit chip with separate I/O and switching tiles
US10642946B2 (en) 2018-12-28 2020-05-05 Intel Corporation Modular periphery tile for integrated circuit device
US10985118B2 (en) 2019-02-22 2021-04-20 Xsight Labs Ltd. High-frequency module
US11101226B2 (en) * 2019-02-22 2021-08-24 DustPhotonics Ltd. Method for conveying high frequency module and a high-frequency module
US11036660B2 (en) * 2019-03-28 2021-06-15 Intel Corporation Network-on-chip for inter-die and intra-die communication in modularized integrated circuit devices
US11722435B2 (en) * 2021-11-18 2023-08-08 United States Of America As Represented By The Secretary Of The Navy System with layer-one switch for flexible communication interconnections

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721313B1 (en) * 2000-08-01 2004-04-13 International Business Machines Corporation Switch fabric architecture using integrated serdes transceivers
US20100059898A1 (en) * 2008-09-11 2010-03-11 Micron Technology, Inc. Signal delivery in stacked device

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530813A (en) * 1994-08-04 1996-06-25 Pattern Processing Technology Field-programmable electronic crossbar system and method for using same
US6034541A (en) * 1997-04-07 2000-03-07 Lattice Semiconductor Corporation In-system programmable interconnect circuit
US6181159B1 (en) 1997-05-06 2001-01-30 Altera Corporation Integrated circuit incorporating a programmable cross-bar switch
US6060903A (en) 1997-05-06 2000-05-09 Altera Corporation Programmable logic device architecture incorporating a dedicated cross-bar switch
EP1243142A1 (en) * 1999-12-30 2002-09-25 Conexant Systems, Inc. Crossbar integrated circuit with parallel channels for a communication device
CN1284082C (zh) * 2001-01-19 2006-11-08 株式会社日立制作所 电子电路装置
US7421509B2 (en) * 2001-09-28 2008-09-02 Emc Corporation Enforcing quality of service in a storage network
US7864758B1 (en) * 2001-09-28 2011-01-04 Emc Corporation Virtualization in a storage system
US7707304B1 (en) * 2001-09-28 2010-04-27 Emc Corporation Storage switch for storage area network
US7404000B2 (en) * 2001-09-28 2008-07-22 Emc Corporation Protocol translation in a storage system
US7126214B2 (en) * 2001-12-05 2006-10-24 Arbor Company Llp Reconfigurable processor module comprising hybrid stacked integrated circuit die elements
US7187709B1 (en) 2002-03-01 2007-03-06 Xilinx, Inc. High speed configurable transceiver architecture
US7239669B2 (en) * 2002-04-30 2007-07-03 Fulcrum Microsystems, Inc. Asynchronous system-on-a-chip interconnect
US6759869B1 (en) 2002-06-05 2004-07-06 Xilinx, Inc. Large crossbar switch implemented in FPGA
US7062586B2 (en) * 2003-04-21 2006-06-13 Xilinx, Inc. Method and apparatus for communication within a programmable logic device using serial transceivers
US7149996B1 (en) 2003-07-11 2006-12-12 Xilinx, Inc. Reconfigurable multi-stage crossbar
WO2006048921A1 (ja) * 2004-11-01 2006-05-11 Mitsubishi Denki Kabushiki Kaisha 半導体装置の設計支援装置
JP4398386B2 (ja) * 2005-01-28 2010-01-13 富士通株式会社 複数の処理ノードをシリアルバスにより相互接続する装置
US7525340B2 (en) * 2005-09-19 2009-04-28 Altera Corporation Programmable logic device architecture for accommodating specialized circuitry
US7310459B1 (en) 2005-10-25 2007-12-18 Xilinx, Inc. On-chip programmable optical crossbar switch
US7786738B2 (en) * 2007-09-19 2010-08-31 Robert Bosch Gmbh Cancelling low frequency errors in MEMS systems
US7919845B2 (en) * 2007-12-20 2011-04-05 Xilinx, Inc. Formation of a hybrid integrated circuit device
US8120958B2 (en) * 2007-12-24 2012-02-21 Qimonda Ag Multi-die memory, apparatus and multi-die memory stack
US8006021B1 (en) * 2008-03-27 2011-08-23 Xilinx, Inc. Processor local bus bridge for an embedded processor block core in an integrated circuit
US7912997B1 (en) * 2008-03-27 2011-03-22 Xilinx, Inc. Direct memory access engine
US7673087B1 (en) * 2008-03-27 2010-03-02 Xilinx, Inc. Arbitration for an embedded processor block core in an integrated circuit
US7730244B1 (en) * 2008-03-27 2010-06-01 Xilinx, Inc. Translation of commands in an interconnection of an embedded processor block core in an integrated circuit
US8250280B1 (en) * 2008-07-15 2012-08-21 Marvell Israel (M.I.S.L.) Ltd. Bus transaction maintenance protocol
US8489792B2 (en) * 2010-03-12 2013-07-16 Lsi Corporation Transaction performance monitoring in a processor bus bridge

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721313B1 (en) * 2000-08-01 2004-04-13 International Business Machines Corporation Switch fabric architecture using integrated serdes transceivers
US20100059898A1 (en) * 2008-09-11 2010-03-11 Micron Technology, Inc. Signal delivery in stacked device

Also Published As

Publication number Publication date
JP5736463B2 (ja) 2015-06-17
TW201222769A (en) 2012-06-01
US20120124257A1 (en) 2012-05-17
JP2013546275A (ja) 2013-12-26
EP2641270B1 (en) 2023-01-11
US8417867B2 (en) 2013-04-09
EP2641270A1 (en) 2013-09-25
WO2012067679A1 (en) 2012-05-24
CN103460656B (zh) 2017-03-01
KR20130083473A (ko) 2013-07-22
TWI442537B (zh) 2014-06-21
CN103460656A (zh) 2013-12-18

Similar Documents

Publication Publication Date Title
KR101422431B1 (ko) 통신용 멀티칩 모듈
KR102381158B1 (ko) 적층형 실리콘 상호 연결(ssi) 기술 통합을 위한 독립형 인터페이스
US10916516B2 (en) High bandwidth memory (HBM) bandwidth aggregation switch
US7779177B2 (en) Multi-processor reconfigurable computing system
US7490189B2 (en) Multi-chip switch based on proximity communication
US10884964B2 (en) Multichip package with protocol-configurable data paths
US9911465B1 (en) High bandwidth memory (HBM) bandwidth aggregation switch
US20090072858A1 (en) Heterogeneous configurable integrated circuit
CN116368481A (zh) 具有数据处理引擎阵列的多裸片集成电路
Rahmani et al. BBVC-3D-NoC: an efficient 3D NoC architecture using bidirectional bisynchronous vertical channels
Stow et al. Investigation of cost-optimal network-on-chip for passive and active interposer systems
Hermsmeyer et al. Towards 100G packet processing: Challenges and technologies
Matos et al. Performance evaluation of hierarchical NoC topologies for stacked 3D ICs
Ghidini et al. Lasio 3D NoC vertical links serialization: Evaluation of latency and buffer occupancy
US7965705B2 (en) Fast and fair arbitration on a data link
Kologeski et al. Combining fault tolerance and serialization effort to improve yield in 3D networks-on-chip
Sundaram et al. A reconfigurable asynchronous SERDES for heterogenous chiplet interconnects
Matos et al. A power-efficient hierarchical network-on-chip topology for stacked 3D ICs
Choudhary Migration of on-chip networks from 2 dimensional plane to 3 dimensional plane
Rahmani et al. Exploring a low-cost inter-layer communication scheme for 3d networks-on-chip
Arjunan et al. Noise tolerant and faster on chip communication using Binoc model

Legal Events

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

Payment date: 20170710

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180710

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190709

Year of fee payment: 6