(57)【要約】  インターポーザ（２００）上の複数のホストデバイス（２０２，２０４）間の通信のための高帯域幅インターフェイス（ＨＢＩ）（２０６）に関する技術が記載される。ある例では、ＨＢＩ（２０６）は、物理層（４０２）のような、高帯域幅メモリ（ＨＢＭ）インターフェイスの部分を別の目的のために再利用する。コンピューティングシステムが提供される。コンピューティングシステムは、第１のホストデバイス（２０２）と、少なくとも第２のホストデバイス（２０４）とを含む。第１のホストデバイス（２０２）は、インターポーザ（２００）上の第１のダイであり、第２のホストデバイス（２０４）は、インターポーザ（２００）上の第２のダイである。第１のホストデバイス（２０２）および第２のホストデバイス（２０４）は、少なくとも１つのＨＢＩ（２０６）を介して相互接続される。ＨＢＩ（２０６）は、第１のホストデバイス（２０２）と第２のホストデバイス（２０４）との間の通信のための階層プロトコル（４０２，４０４，４０６）を実現する。階層プロトコル（４０２，４０４，４０６）は、ＨＢＭ物理層プロトコルに従って構成される物理層プロトコル（４０２）を含む。
2021531594.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングシステムであって、
インターポーザ上に第１のダイを含む第１のホストデバイスと、
前記インターポーザ上に第２のダイを含む少なくとも１つの第２のホストデバイスとを含み、
前記第１のホストデバイスおよび前記第２のホストデバイスは、前記第１のホストデバイスと前記第２のホストデバイスとの間の通信のための階層プロトコルを実現する少なくとも１つの高帯域幅インターフェイス（ＨＢＩ）を介して相互接続され、前記階層プロトコルは、高帯域幅メモリ（ＨＢＭ）物理層プロトコルに従って構成される物理層プロトコルを含む、コンピューティングシステム。
【請求項２】
前記第１および第２のホストデバイスは各々、マスタデバイス、スレーブデバイス、または、その両方として構成可能である、請求項１に記載のコンピューティングシステム。
【請求項３】
前記ＨＢＩは、複数の独立した方向性チャネルを提供する、請求項１に記載のコンピューティングシステム。
【請求項４】
前記第１のホストデバイスは、３Ｄプログラマブル集積回路（ＩＣ）を含み、前記第２のホストデバイスは、特定用途向けＩＣ（ＡＳＩＣ）を含む、請求項１に記載のコンピューティングシステム。
【請求項５】
前記物理層プロトコルは、入力／出力（Ｉ／Ｏ）ワードごとの連続データフローモード、および、４：１シリアライザ／デシリアライザ（ＳＥＲＤＥＳ）モードで構成される、請求項１に記載のコンピュータシステム。
【請求項６】
前記階層プロトコルは、前記トランスポート層プロトコルの入力チャネルによって使用されるクレジットを発行するように構成される出力チャネルを含むトランスポート層プロトコルをさらに含む、請求項１に記載のコンピュータシステム。
【請求項７】
前記階層プロトコルは、高レベルストリーミングまたはメモリマッピングされたアドバンスドエクステンシブルインターフェイス（ＡＸＩ）プロトコルを含むプロトコル層をさらに含む、請求項１に記載のコンピュータシステム。
【請求項８】
前記メモリマッピングされたＡＸＩプロトコルは、同時読出コマンドおよび書込コマンドのための混合コマンドチャネルパケットをサポートするか、または、前記メモリマッピングされたＡＸＩプロトコルは、同時読出応答および書込応答のための混合応答チャネルパケットをサポートする、請求項７に記載のコンピュータシステム。
【請求項９】
インターポーザ上のデバイス同士の間の通信のための方法であって、
高帯域幅インターフェイス（ＨＢＩ）を介して、前記インターポーザ上の第１のデバイスから前記インターポーザ上の第２のデバイスに少なくとも第１の信号を送信することを含み、前記ＨＢＩを介して前記第１の信号を送信することは、高帯域幅メモリ（ＨＢＭ）物理層プロトコルに従って構成される物理層プロトコルを含む階層プロトコルを使用して、前記第１の信号を送信することを含み、
前記方法はさらに、
前記ＨＢＩを介して、前記インターポーザ上の前記第２のデバイスから少なくとも第２の信号を受信することを含む、方法。
【請求項１０】
前記第１の信号は、第１の独立した方向性ＨＢＩチャネルを介して送信され、前記第２の信号は、第２の方向性ＨＢＩチャネルを介して受信される、請求項９に記載の方法。
【請求項１１】
前記第１のデバイスは、３Ｄプログラマブル集積回路（ＩＣ）を含み、前記第２のデバイスは、特定用途向けＩＣ（ＡＳＩＣ）を含む、請求項９に記載の方法。
【請求項１２】
前記物理層プロトコルは、入力／出力（Ｉ／Ｏ）ワードごとの連続データフローモード、および、４：１シリアライザ／デシリアライザ（ＳＥＲＤＥＳ）モードで構成される、請求項９に記載の方法。
【請求項１３】
前記階層プロトコルは、前記トランスポート層プロトコルの入力チャネルによって使用されるクレジットを発行するように構成される出力チャネルを含むトランスポート層プロトコルをさらに含む、請求項９に記載の方法。
【請求項１４】
前記階層プロトコルは、高レベルストリーミングまたはメモリマッピングされたアドバンスドエクステンシブルインターフェイス（ＡＸＩ）プロトコルを含むプロトコル層をさらに含む、請求項９に記載の方法。
【請求項１５】
前記第１または第２の信号は、同時読出コマンドおよび書込コマンドのための混合コマンドチャネルパケットを含むか、または、前記第１または第２の信号は、同時読出応答および書込応答のための混合応答チャネルパケットを含む、請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野
本開示の例は、一般に電子回路に関し、特に、高帯域幅メモリ（ＨＢＭ: high bandwidth memory）物理インターフェイスを使用する高帯域幅チップ・ツー・チップインターフェイス（high bandwidth chip-to-chip interface）に関する。
【背景技術】
【０００２】
背景
たとえば、タブレット、コンピュータ、コピー機、デジタルカメラ、スマートフォン、制御システムおよび現金自動預け払い機のような電子デバイスはしばしば、さまざまな相互接続構成要素によって接続されるダイのような電子構成要素を採用している。ダイは、メモリ、ロジックまたは他の集積回路（ＩＣ: integrated circuit）デバイスを含み得る。
【０００３】
ＩＣは、特定される機能を実行するように実現され得る。例示的なＩＣは、汎用ＩＣおよび特定用途向け集積回路（ＡＳＩＣ: application specific integrated circuit）などといったマスクプログラマブルＩＣと、フィールドプログラマブルゲートアレイ（ＦＰＧＡ: field programmable gate array）およびコンプレックスプログラマブルロジックデバイス（ＣＰＬＤ: complex programmable logic device）などといったフィールドプログラマブルＩＣとを含む。
【０００４】
ＩＣは、時間の経過とともに「高密度」になっている。すなわち、より多くのロジック機構がＩＣにおいて実現されている。より最近では、スタックドシリコンインターコネクト技術（「ＳＳＩＴ: Stacked-Silicon Interconnect Technology」）によって、１つよりも多い半導体ダイが単一のパッケージ内に配置されることが可能である。ＳＳＩＴ ＩＣは、単一のパッケージ内にさまざまなＩＣを有することに対する需要の増加に対処するために使用され得る。従来、ＳＳＩＴ製品は、シリコン貫通ビア（ＴＳＶ: through-silicon-via）を有するインターポーザ基板層と、インターポーザ基板層の上に構築される付加的なメタライゼーション層とを含むインターポーザを使用して実現される。インターポーザは、ＩＣダイとパッケージ基板との間の接続性を提供する。
【０００５】
チップ・ツー・チップインターフェイス（相互接続（interconnect）とも称される）は、ＩＣ同士、システムオンチップ（ＳｏＣ: system-on-chip）同士、ＦＰＧＡ同士、ＡＳＩＣ同士、中央処理装置（ＣＰＵ: central processing unit）同士、グラフィックスプロセッシングユニット（ＧＰＵ: graphic processing unit）同士といった、ホストデバイス同士の間のブリッジを提供する。
【０００６】
システムによって処理され得るデータレートが増加するにつれて、チップの処理速度に追従し得るインターフェイスを提供することが、ますます困難になっている。高パフォーマンスシステムのニーズを満たすためには、電力効率が良く、堅牢で、かつ、低コストのチップ・ツー・チップインターフェイスが望ましい。
【０００７】
高速チップ・ツー・チップインターフェイスは、ピンカウントと、入力／出力（Ｉ／Ｏ）ダイエリアと、電力との間などのトレードオフを時に伴う。チップ・ツー・チップインターフェイスのいくつかの例は、低電圧相補型金属酸化物半導体（ＬＶＣＭＯＳ: low voltage complementary metal oxide semiconductor）Ｉ／Ｏ、低電圧差動信号（ＬＶＤＳ: low voltage differential signaling）Ｉ／Ｏ、高速シリアライザ／デシリアライザ（ＳＥＲＤＥＳ）Ｉ／Ｏを含む。
【０００８】
高帯域メモリ（ＨＢＭ）は、３Ｄスタック型ダイナミックＲＡＭ（ＤＲＡＭ: dynamic RAM）のための高パフォーマンスランダムアクセスメモリ（ＲＡＭ: random access memory）インターフェイスであり、電子デバイス技術評議会（ＪＥＤＥＣ: Joint Electron Device Engineering Council）の標準化団体によって採用されている。ＨＢＭ規格は、ＨＢＭ ＤＲＡＭデバイスと、ＡＳＩＣ、ＣＰＵ、ＧＰＵまたはＦＰＧＡのようなホストデバイスとの間の通信のための新しいタイプの物理インターフェイスを定義する。ＨＢＭ物理インターフェイスは、ある他のインターフェイスと比較して、Ｉ／Ｏダイエリアおよび電力に関する限りはトレードオフポイントを改善し得る。ＨＢＭは、小さいフォームファクタにおいて、より少ない電力を使用して高い帯域幅を達成し得る。
【０００９】
いくつかのシステムの場合、単一のインターポーザ上に他の複数のホストデバイスを効率的に統合するために、高速インターフェイスが望ましい。したがって、高帯域幅チップ・ツー・チップインターフェイスのための技術が有用となるであろう。
【発明の概要】
【課題を解決するための手段】
【００１０】
概要
高帯域幅メモリ（ＨＢＭ）物理インターフェイスを使用する高帯域幅チップ・ツー・チップインターフェイスに関する技術が記載される。
【００１１】
一例では、コンピューティングシステムが提供される。コンピューティングシステムは、第１のホストデバイスと、少なくとも第２のホストデバイスとを含む。第１のホストデバイスは、インターポーザ上の第１のダイであり、第２のホストデバイスは、インターポーザ上の第２のダイである。第１のホストデバイスおよび第２のホストデバイスは、少なくとも１つの高帯域幅インターフェイス（ＨＢＩ）を介して相互接続される。ＨＢＩは、第１のホストデバイスと第２のホストデバイスとの間の通信のための階層プロトコルを実現する。階層プロトコルは、高帯域幅メモリ（ＨＢＭ）物理層プロトコルに従って構成される物理層プロトコルを含む。
【００１２】
いくつかの実施形態では、第１および第２のホストデバイスは各々、マスタデバイス、スレーブデバイス、または、その両方として構成可能であってもよい。
【００１３】
いくつかの実施形態では、ＨＢＩは、複数の独立した方向性チャネルを提供してもよい。
【００１４】
いくつかの実施形態では、第１のホストデバイスは、３Ｄプログラマブル集積回路（ＩＣ）を含んでもよく、第２のホストデバイスは、特定用途向けＩＣ（ＡＳＩＣ）を含んでもよい。
【００１５】
いくつかの実施形態では、物理層プロトコルは、入力／出力（Ｉ／Ｏ）ワードごとの連続データフローモード、および、４：１シリアライザ／デシリアライザ（ＳＥＲＤＥＳ）モードで構成されてもよい。
【００１６】
いくつかの実施形態では、階層プロトコルは、トランスポート層プロトコルの入力チャネルによって使用されるクレジットを発行するように構成される出力チャネルを含むトランスポート層プロトコルをさらに含んでもよい。
【００１７】
いくつかの実施形態では、階層プロトコルは、高レベルストリーミングまたはメモリマッピングされたアドバンスドエクステンシブルインターフェイス（ＡＸＩ）プロトコルを含むプロトコル層をさらに含んでもよい。
【００１８】
いくつかの実施形態では、メモリマッピングされたＡＸＩプロトコルは、１０ビット書込ストローブ信号を含んでもよい。最初の５ビットは、すべてのビットがゼロである書込ストローブの第１の領域におけるゼロの数を示し、２番目の５ビットは、すべてのビットが１である書込ストローブの第２の領域における１の数を示してもよい。書込ストローブはさらに、すべてのビットがゼロである第３の領域を含んでもよい。
【００１９】
いくつかの実施形態では、メモリマッピングされたＡＸＩプロトコルは、同時読出コマンドおよび書込コマンドのための混合コマンドチャネルパケットをサポートしてもよい。
【００２０】
いくつかの実施形態では、メモリマッピングされたＡＸＩプロトコルは、同時読出応答および書込応答のための混合応答チャネルパケットをサポートしてもよい。
【００２１】
いくつかの実施形態では、第１のダイおよびダイは、複数の配線を介して接続されてもよい。第１のダイ上のバンプは、第２のダイ上の対応する位置におけるバンプに接続されてもよい。トランスポート層は、ビットを並べ替えるようにさらに構成されてもよく、第１のダイおよび第２のダイは、インターポーザ上で互いに対して同じ方位または異なる方位を有してもよい。
【００２２】
別の例では、インターポーザ上のデバイス同士の間の通信のための方法が提供される。当該方法は、ＨＢＩを介して、インターポーザ上の第１のデバイスからインターポーザ上の第２のデバイスに少なくとも第１の信号を送信することを含む。ＨＢＩを介して第１の信号を送信することは、階層プロトコルを使用して第１の信号を送信することを含む。階層プロトコルは、ＨＢＭ物理層プロトコルに従って構成される物理層プロトコルを含む。当該方法は、ＨＢＩを介して、インターポーザ上の第２のデバイスから少なくとも第２の信号を受信することを含む。
【００２３】
いくつかの実施形態では、第１の信号は、第１の独立した方向性ＨＢＩチャネルを介して送信されてもよく、第２の信号は、第２の方向性ＨＢＩチャネルを介して受信されてもよい。
【００２４】
いくつかの実施形態では、第１のデバイスは、３Ｄプログラマブル集積回路（ＩＣ）を含んでもよく、第２のデバイスは、特定用途向けＩＣ（ＡＳＩＣ）を含んでもよい。
【００２５】
いくつかの実施形態では、物理層プロトコルは、入力／出力（Ｉ／Ｏ）ワードごとの連続データフローモード、および、４：１シリアライザ／デシリアライザ（ＳＥＲＤＥＳ）モードで構成されてもよい。
【００２６】
いくつかの実施形態では、階層プロトコルは、トランスポート層プロトコルの入力チャネルによって使用されるクレジットを発行するように構成される出力チャネルを含むトランスポート層プロトコルをさらに含んでもよい。
【００２７】
いくつかの実施形態では、階層プロトコルは、高レベルストリーミングまたはメモリマッピングされたアドバンスドエクステンシブルインターフェイス（ＡＸＩ）プロトコルを有するプロトコル層をさらに含んでもよい。
【００２８】
いくつかの実施形態では、第１または第２の信号は、１０ビット書込ストローブ信号を含んでもよい。最初の５ビットは、すべてのビットがゼロである書込ストローブの第１の領域におけるゼロの数を示し、２番目の５ビットは、すべてのビットが１である書込ストローブの第２の領域における１の数を示してもよい。書込ストローブはさらに、すべてのビットがゼロである第３の領域を含んでもよい。
【００２９】
いくつかの実施形態では、第１または第２の信号は、同時読出コマンドおよび書込コマンドのための混合コマンドチャネルパケットを含んでもよい。
【００３０】
いくつかの実施形態では、第１または第２の信号は、同時読出応答および書込応答のための混合応答チャネルパケットを含んでもよい。
【００３１】
これらの局面およびその他の局面は、以下の詳細な説明を参照して理解され得る。
上で記載された特徴が詳細に理解され得るように、上で簡単に概要が示されたより特定的な説明が、例示的な実現例を参照することによって提供され得、当該例示的な実現例のいくつかは、添付の図面に示される。しかしながら、添付の図面は、典型的な例示的な実現例のみを示しており、したがって、その範囲を限定すると考えられるべきではないことが留意されるべきである。
【図面の簡単な説明】
【００３２】
【図１】ある例に従った、インターポーザを利用する例示的なスタックドシリコンインターコネクト技術（ＳＳＩＴ）製品を示す概略断面図である。
【図２】ある例に従った、高帯域幅インターフェイス（ＨＢＩ）に接続されるホストデバイスの例の図である。
【図３】ある例に従った、ＨＢＭにおける単一の１２８ビットチャネルのインターフェイス信号の概要を示す表の図である。
【図４】ある例に従った、ＨＢＩ階層プロトコルのブロック図である。
【図５】ある例に従った、ＨＢＩ物理層（ＰＨＹ）のために利用可能なＨＢＭ信号のサブセットの概要を示す表の図である。
【図６】ある例に従った、ＨＢＩトランスポート層プロトコルを示す図である。
【図７】ある例に従った、ＨＢＩトランスポート層プロトコルによるチャネル内フレーミングおよびアライメントを示す図である。
【図８】ある例に従った、ＨＢＩトランスポート層プロトコルによるチャネル間フレーミングおよびアライメントを示す図である。
【図９】ある例に従った、ＨＢＩトランスポート層ユーザ側インターフェイスの概要を示す表の図である。
【図１０】ある例に従った、利用可能なＨＢＩ ＰＨＹ入力／出力（Ｉ／Ｏ）信号にトランスポート層信号をマッピングする表の図である。
【図１１Ａ】ある例に従った、マスタアウトバウンドスレーブインバウンドチャネルインターフェイスを有するインバウンドおよびアウトバウンドトランスポート層チャネルにマッピングされる、メモリマッピングされたＨＢＩプロトコル層を示す図である。
【図１１Ｂ】ある例に従った、マスタインバウンドスレーブアウトバウンドチャネルインターフェイスを有するインバウンドおよびアウトバウンドトランスポート層チャネルにマッピングされる、メモリマッピングされたＨＢＩプロトコル層を示す図である。
【図１２】ある例に従った、メモリマッピングされたＨＢＩプロトコル層インターフェイスの特徴の概要を示す表の図である。
【図１３】ある例に従った、メモリマッピングされたＨＢＩプロトコル層インターフェイスについての許可される書込ストローブ（ＷＳＴＲＢ）値を示す表の図である。
【図１４Ａ】ある例に従った、メモリマッピングされたＨＢＩプロトコル層書込コマンドパケットのためのパケットヘッダフォーマットを示す図である。
【図１４Ｂ】ある例に従った、メモリマッピングされたＨＢＩプロトコル層読出コマンドパケットのためのパケットヘッダフォーマットを示す図である。
【図１４Ｃ】ある例に従った、メモリマッピングされたＨＢＩプロトコル層ノーオペレーションパケットのためのパケットヘッダフォーマットを示す図である。
【図１５Ａ】ある例に従った、メモリマッピングされたＨＢＩプロトコル層コマンドチャネル書込コマンドパケットフォーマットを示す図である。
【図１５Ｂ】ある例に従った、メモリマッピングされたＨＢＩプロトコル層コマンドチャネル混合書込および読出コマンドパケットフォーマットを示す図である。
【図１５Ｃ】ある例に従った、メモリマッピングされたＨＢＩプロトコル層コマンドチャネル読出コマンドパケットフォーマットを示す図である。
【図１６Ａ】ある例に従った、メモリマッピングされたＨＢＩプロトコル層応答チャネル書込および読出応答フォーマットを示す図である。
【図１６Ｂ】ある例に従った、第１サイクルのためのメモリマッピングされたＨＢＩプロトコル層応答チャネル書込応答パケットフォーマットを示す図である。
【図１６Ｃ】ある例に従った、第２のサイクルのためのメモリマッピングされたＨＢＩプロトコル層応答チャネル書込応答パケットフォーマットを示す図である。
【図１７】ある例に従った、ストリーミングＨＢＩプロトコル層信号を示す表の図である。
【図１８】ある例に従った、ストリーミングＨＢＩ Ｌ２プロトコルのためのＴＫＥＥＰ信号の符号化を示す表の図である。
【図１９】ある例に従った、ストリーミングＨＢＭプロトコルのためのＴＩＤおよびＴＤＥＳＴのためのビット割り当てを示す表の図である。
【図２０】ある例に従った、データがチップからチップへ水平方向に流れる、ＨＢＩのための例示的なボールレイアウトを示す図である。
【図２１】ある例に従った、チップからチップへの垂直方向のデータの流れに従うＨＢＩのための例示的なボールレイアウトを示す図である。
【図２２】ある例に従った、マスタデバイスおよびスレーブデバイスのためのＨＢＩ ＰＨＹ信号方向を示す表の図である。
【図２３Ａ】ある例に従った、ＨＢＩのための異なる方位のダイ同士の間の配線接続を示す図である。
【図２３Ｂ】ある例に従った、ＨＢＩのための異なる方位のダイ同士の間の配線接続を示す図である。
【図２４】ある例に従った、インターポーザ上のデバイス同士の間の通信のための例示的な動作を示すフロー図である。
【発明を実施するための形態】
【００３３】
理解を容易にするために、可能である場合に、同一の参照番号が、図面に共通する同一の要素を指定するよう使用される。１つの例の要素が、他の例において有益に組み込まれてもよいことが企図される。
【００３４】
詳細な説明
以下、図面を参照してさまざまな特徴が記載される。なお、図面は、尺度決めされるよう描かれている場合も、または、描かれていない場合もあり、同様の構造または機能の要素は、図面全体にわたって同様の参照番号によって表される。なお、図は、特徴の説明を容易にすることのみを意図している。それらは、特許請求される発明の網羅的な説明として意図されず、または、特許請求される発明の範囲に対する限定として意図されない。さらに、示される例は、すべての示される局面または利点を有する必要はない。特定の例に関連して記載される局面または利点は、必ずしもその例に限定されず、そのように示されていなくても、または、そのように明示的に記載されていなくても、任意の他の例において実施され得る。
【００３５】
本開示の例は、単一のインターポーザ上に複数のホストデバイスを効率的に統合するために、高帯域幅メモリ（ＨＢＭ）物理インターフェイスを少なくとも部分的に使用する、高速チップ・ツー・チップインターフェイスのような高帯域幅インターフェイス（ＨＢＩ）のための技術および装置に関する。いくつかの例では、ＨＢＩインターフェイスは、物理層（ＰＨＹ）においてＨＢＭを使用し、他の層のために異なるプロトコルまたはＨＢＭの調整を使用する。
【００３６】
いくつかの図に例示的に示される例示的な実現例を記載する前に、さらなる理解のために、一般的なイントロダクションが提供される。
【００３７】
例示的なシリコンスタックインターコネクト技術（ＳＳＩＴ）製品
シリコンスタックドインターコネクト技術（ＳＳＩＴ）は、複数の集積回路（ＩＣ）ダイを、インターポーザとパッケージ基板とを含む単一のパッケージにパッケージングすることを伴う。ＳＳＩＴを利用することにより、ＦＰＧＡ製品および他のタイプの製品のようなＩＣ製品、および、ＦＰＧＡ製品および他のタイプの製品を含むＩＣ製品が、低コストかつ市場への迅速性の利点を有する、より高密度、より低電力、より高機能、かつ、特定用途向けであるプラットフォームソリューションに拡張される。
【００３８】
図１は、例示的な実現例に従った例示的なＳＳＩＴ製品（電子デバイス１００）を示す概略断面図である。電子デバイス１００は、ハウジング１０２内に配置される集積チップパッケージ１１０を含む。電子デバイス１００は、コンピュータ、タブレット、携帯電話、スマートフォン、コンシューマ電化製品、制御システム、現金自動預け払い機、プログラマブルロジックコントローラ、プリンタ、コピー機、デジタルカメラ、テレビ、モニター、ステレオ、ラジオ、レーダ、または、その他のデバイスにおいて使用され得る。
【００３９】
集積チップパッケージ１１０は、シリコン貫通ビア（ＴＳＶ: silicon-through-via）インターポーザ１１２（「インターポーザ１１２」とも称される）によってパッケージ基板１２２に随意に接続される複数のＩＣダイ１１４（たとえば、ＩＣダイ１１４（１）および１１４（２）が例により示される）を含む。チップパッケージ１１０はさらに、ＩＣダイ１１４（図示せず）を覆うオーバモールドを有し得る。インターポーザ１１２は、ＩＣダイ１１４をパッケージ基板１２２の回路（図示せず）に電気的に接続するための回路（図示せず）を含む。インターポーザ１１２の回路は、随意にトランジスタを含み得る。インターポーザ１１２の回路とパッケージ基板１２２の回路との間の電気的接続を提供するために、「Ｃ４バンプ」としても既知であるパッケージバンプ１３２が利用される。パッケージ基板１２２は、はんだボール１３４、ワイヤボンディング、または、他の好適な技術を利用して、プリント回路基板（ＰＣＢ: printed circuit board）１３６にマウントおよび接続され得る。ＰＣＢ１３６は、電子デバイス１００のハウジング１０２の内部にマウントされ得る。
【００４０】
ＩＣダイ１１４は、インターポーザ１１２の１つ以上の表面に、または代替的には、パッケージ基板１２２にマウントされる。ＩＣダイ１１４は、ＦＰＧＡ、メモリデバイス、光学デバイス、プロセッサ、または、他のＩＣロジック構造といったプログラマブルロジックデバイスであり得る。図１に示される例では、ＩＣダイ１１４は、複数のマイクロバンプ１１８によってインターポーザ１１２の頂面にマウントされる。マイクロバンプ１１８は、各ＩＣダイ１１４の回路をインターポーザ１１２の回路に電気的に接続する。インターポーザ１１２の回路は、マイクロバンプ１１８をパッケージバンプ１３２に接続するので、各ＩＣダイ１１４の選択回路をパッケージ基板１２２に接続し、これにより、チップパッケージ１１０が電子デバイス１００内にマウントされた後、ＰＣＢとのＩＣダイ１１４の通信が可能になる。インターポーザ１１２が存在しない場合、マイクロバンプ１１８は、各ＩＣダイ１１４の選択回路をパッケージ基板１２２に接続し、これにより、チップパッケージ１１０が電子デバイス１００内にマウントされた後、ＰＣＢとのＩＣダイ１１４の通信が可能になる。示されていないが、１つ以上の付加的なＩＣダイがＩＣダイ１１４の一方または両方の上にスタッキングされ得ることが企図される。
【００４１】
ＩＣダイ１１４のような集積チップパッケージ１１０の電気的構成要素は、電気的相互接続構成要素上に形成されるトレースを介して通信する。トレースを有する相互接続構成要素は、たとえば、ＰＣＢ１３６、パッケージ基板１２２、および、インターポーザ１１２のうちの１つ以上を含み得る。
【００４２】
上述のように、現在、ＨＢＭ規格は、ＨＢＭ ＤＲＡＭデバイスと、ＡＳＩＣ、ＣＰＵ、ＧＰＵまたはＦＰＧＡのようなホストデバイスとの間の通信のための新しいタイプの物理インターフェイスを定義する。一例では、プリント回路基板１３６は、グラフィックスカードであり、ＩＣ１１４（１）はＧＰＵである。この場合、ＩＣ１１４（１）は、３Ｄエンジン、ディスプレイコントローラおよびＨＢＭコントローラを含み得、ＩＣ１１４（２）は、シリコン貫通ビア（ＴＳＶ）およびマイクロバンプによって相互接続されるスタッキングされたＤＲＡＭダイおよび随意のベースＨＢＭコントローラダイを含み得る。当該インターフェイスは、各々がデータバスとして動作する独立したチャネルに分割される。
【００４３】
いくつかの例では、ＨＢＭデバイスは、８つまでの独立したＤＲＡＭチャネルを有する。各ＤＲＡＭチャネルは、擬似チャネル（ＰＣ: pseudochannel）として既知である２つの６４ビットデータチャネルと、２つのＰＣによって共有される１つのコマンド／アドレスチャネルとを含む。各ＰＣは、１０００ＭＨｚクロックを使用して、２０００ＭＴ／秒の最大データレートで、すなわち２倍のデータレートで、動作し得る。ＨＢＭの特徴は、典型的にはダイごとに１〜２チャネルを有するダイスタックと、８×１２８ｂの独立チャネルと、随意のバンクグルーピングを有する８または１６個のバンクと、１Ｋｂのページサイズと、チャネルごとに１〜８Ｇビットのストレージと、２Ｇｂｐｓ（１ＧＨｚ）の動作（１２８ビットチャネルごとに３２Ｇバイト／秒）と、４のバースト長（ＢＬ: burst length）(従って、ＰＣごとの最小アクセス単位は３２バイトである）と、１．２Ｖ（±５％）のＩ／Ｏおよびコア電圧（独立）と、２．５Ｖ（±５％）のポンプ電圧（ＶＰＰ）と、名目駆動電流６〜１８ｍＡを有する非終端Ｉ／Ｏと、書込データマスク（ＤＭ: data mask）のサポートと、１２８ｂのデータごとに１６ビットであるＤＭ信号を使用することによる誤り訂正コード（ＥＣＣ: error correcting code）のサポート（ＥＣＣが使用される場合、部分書込はサポートされない）と、データバス反転（ＤＢＩ: data bus inversion）のサポートと、別個の読出および書込データストローブ（ＤＱＳ）信号（差動）と、別個の行および列コマンドチャネルと、コマンド／アドレスパリティのサポートと、（両方向における）データパリティのサポートと、アドレス／データパリティエラーの指示とを含む。図３は、ある例に従った、ＨＢＭにおける単一の１２８ビットチャネルのインターフェイス信号の概要を示すテーブル３００の図である。
【００４４】
しかしながら、いくつかの場合では、たとえばインターポーザ１１２上（すなわち、ＤＲＡＭおよびホストデバイスではなく）に、複数のホストデバイスを相互接続するための高速インターフェイスを有することが望ましい場合がある。したがって、本開示の局面は、同じインターポーザ上に存在し得るホストデバイス同士間の高速相互接続として、ＨＢＭインターフェイスの部分を実現することに関する。
【００４５】
ＨＢＭを使用する例示的なチップ・ツー・チップ高帯域幅インターフェイス（ＨＢＩ）
図２は、ある例に従った、高帯域幅インターフェイス（ＨＢＩ）インターフェイスに接続されるホストデバイスの例である。図２に示されるように、インターポーザ２００は、ＨＢＩインターフェイス２０６．．．２０６ｎを介してホストデバイス２０４．．．２０４ｎと通信するホストデバイス１ ２０２を有し得る。ホストデバイス２０２，２０４．．．２０４ｎは、ＡＳＩＣ、ＣＰＵ、ＧＰＵまたはＦＰＧＡのような任意のタイプのホストデバイスであり得る。いくつかの例では、ホストデバイス１ ２０２は、オールプログラマブルデバイス（all programmable device）であり、ホストデバイス２０４．．．２０４ｎは、ＡＳＩＣである。いくつかの例では、ホストデバイス１ ２０２は、３Ｄ ＩＣであってもよい。いくつかの例では、ホストデバイス１ ２０２はさらに、インターポーザ２００上に存在し得るダミーデバイス、ＨＢＭ ＤＲＡＭ、または、他のデバイスと通信し得る。いくつかの例では、ホストデバイス１ ２０２は、同じホストデバイスとの複数の相互接続（たとえば、複数のＨＢＩインターフェイス）を有し得る。いくつかの例では、ホストデバイス２０４．．．２０４ｎは、クライアントカスタマー／ユーザデバイスであってもよい。
【００４６】
ＨＢＩ２０６．．．２０６ｎは、高パフォーマンスチップ・ツー・チップインターフェイスである。ＨＢＩ２０６．．．２０６ｎは、ＪＥＤＥＣ ＨＢＭ仕様に少なくとも部分的に基づき得る。いくつかの例では、ＨＢＩインターフェイスは、ＨＢＭ仕様によって定義されるように、物理層（ＰＨＹ）およびＩ／Ｏを使用するが、他の層についてはＨＢＭの異なるプロトコルまたは調整を使用する。たとえば、ＨＢＩは、ホストデバイスのための相互接続であるので、ＨＢＭのＤＲＡＭ固有のプロトコルを省略し得る。
【００４７】
ＨＢＭとのＨＢＩの互換性
ＨＢＩインターフェイス（たとえば、ＨＢＩ２０６．．．２０６ｎ）は、２０００ＭＴ／ｓまでのデートレート（date rate）において、ＨＢＭ ＰＨＹおよびＩ／Ｏと互換性があり得る。いくつかの例では、ＨＢＩは、「ビットスライスモード」でＰＨＹを使用する。
【００４８】
ＨＢＩインターフェイス（たとえば、ＨＢＩ２０６．．．２０６ｎ）は、ＨＢＭデータレートの４分の１（たとえば、５００ＭＨｚ）にてユーザ側インターフェイスをサポートし得る。本明細書において記載される名目ＨＢＭクロックレートは１０００ＭＨｚであり得、ＨＢＩユーザ側レートは５００ＭＨｚであり得るが、実際のデバイスレートとして他のレートが使用されてもよく、実現例、速度グレードなどに依存して変動し得る。
【００４９】
ＨＢＩデバイスの対称性
ＨＢＭインターフェイスの部分は、マスタ（たとえば、コントローラ）とスレーブ（たとえば、ＤＲＡＭ）との間で対称でなくてもよい。たとえば、コマンド／アドレスチャネルは単方向である。
【００５０】
マスタまたはスレーブＨＢＭ ＰＨＹのいずれか（または同時に両方）との対称性および相互運用性を保証するために、ＨＢＩインターフェイス（たとえばＨＢＩ２０６．．．２０６ｎ）は、対称的である、すなわち、いずれかの側がデータを送信または受信することを可能にする、ＨＢＭ規格インターフェイスのサブセットのみを使用し得る。たとえば、ＨＢＭ信号「コマンド／アドレス」、「ＤＥＲＲ」および「ＡＥＲＲ」信号は、ＨＢＩインターフェイスによって使用されなくてもよい。
【００５１】
ＨＢＩのマルチチャネルサポート
ＨＢＩインターフェイス（たとえば、ＨＢＩ２０６．．．２０６ｎ）は、複数の独立した通信チャネルをサポートし得る。
【００５２】
ＨＢＩの静的な構成
ＨＢＩインターフェイス（たとえば、ＨＢＩ２０６．．．２０６ｎ）は、開始時間において一度構成および較正され得る。いくつかの例では、ＨＢＩは、初期構成および較正の後、ほとんどまたは全くメンテナンスを必要とし得ない。
【００５３】
ＨＢＩのデュアルシンプレックス動作（Dual Simplex Operation）
上述したように、ＨＢＩインターフェイス（たとえば、ＨＢＩ２０６．．．２０６ｎ）は、複数のチャネルを提供し得る。各チャネルは１つの方向（たとえば、出力または入力）に動作し得る。
【００５４】
ＨＢＩのスケーラビリティ
上述したように、ＨＢＩインターフェイス（たとえば、ＨＢＩ２０６．．．２０６ｎ）は、複数のチャネルを提供し得る。ＨＢＩチャネルの数は、用途に依存して変動し得る。いくつかの例では、ＨＢＩは、８個の１２８ビットデータチャネルからなるＨＢＭ ＰＨＹを使用し得るが、異なる数のチャネルが使用されてもよい。８×１２８ビットチャネルを有するＨＢＭ ＰＨＹは、「ＨＢＭ ＰＨＹユニット」と称され得る。
【００５５】
ＨＢＩの階層プロトコル
ＨＢＩインターフェイス（たとえば、ＨＢＩ２０６．．．２０６ｎ）は、図４に示されるように、３つのプロトコル層をサポートし得る。階層プロトコルは、高レベルプロトコルを使用するシームレスなチップ・ツー・チップ通信を可能にし、たとえば、レイヤー２プロトコル（layer-2 protocol）を単に置き換えることにより、他の高レベルプロトコルを実現するようフレキシビリティを提供し得る。これらのプロトコル層は、ＰＨＹ層（たとえば、公開されるＨＢＭ ＰＨＹ）であるレイヤー０ ４０２と、基本的なデータトランスポート、パリティ、フレーミング、および、フロー制御を提供し得るトランスポート層であるレイヤー１ ４０４と、プロトコル層であるレイヤー２ ４０６とを含む。いくつかの例では、レイヤー０ ４０２は、ＨＢＭ ＰＨＹである。いくつかの例では、レイヤー２は、レイヤー１上へのＡＸＩ４−ＭＭまたはＡＸＩ４−Ｓのマッピングである。
【００５６】
ＨＢＩインターフェイス（たとえば、ＨＢＩ２０６．．．２０６ｎ）は、チップ同士（たとえば、インターポーザ２００上のホストデバイス２０２，２０４．．．２０４ｎ）間の汎用通信チャネルとして物理インターフェイスを使用し得る。ＰＨＹ層は、第１および最も低い層（レイヤー０とも称される）であり得、通信において物理層機能を実現する回路を指し得る。ＰＨＹは、データ接続の電気的および物理的な仕様を定義し得る。
【００５７】
ＨＢＩレイヤー０ ４０２は、ＨＢＭ ＰＨＹへの直接的なアクセスである。ＰＨＹ信号がＰＬに直接的に晒されるとともにデータが連続的に流れる「コントローラバイパス」モードが使用され得る。ＨＢＭ規格は、８個の１２８ビットレガシーチャネル、または、１６個の６４ビット疑似チャネルを定義している。レイヤー０ ４０２における基本的なデータ単位は、３２ビットデータワードである。したがって、ＨＢＭ ＰＨＹユニットごとに３２個のレイヤー０チャネルが利用可能である。ＨＢＭ ＰＨＹは、４：１ ＳＥＲＤＥＳ（シリアライザ／デシリアライザ）モードで動作し得る。これは、ユーザの観点から、４：１の比率でバス幅変換および対応するクロック速度変換を提供することを意味する。
【００５８】
いくつかの例では、Ｉ／Ｏ側では、各Ｌ０（すなわち、ＰＨＹ）チャネルは３２ビット幅であり、１０００ＭＨｚ ＤＤＲ（２０００ＭＴ／ｓ）で動作する。ユーザ側では、Ｌ０チャネルは、５００ＭＨｚで動作する単一データレートの１２８ビットチャネルとして見られる。Ｌ０について利用可能なＨＢＭ信号のサブセットは、図５に示されるテーブル５００において概要が示されている。ユーザ側では、各Ｌ０チャネルは、１６４ビットの単方向データパイプとして見られる（たとえば、データ（ＤＱ）、データビット反転（ＤＢＩ）、データマスク（ＤＭ）、およびパリティ（ＰＡＲ）信号がすべてＨＢＭ ＰＨＹによって同じ態様で扱われるからである）。
【００５９】
ＨＢＩ ＰＨＹインターネットプロトコル（ＩＰ）の場合、ＨＢＭ ＰＨＹのみが必要とされ得る。上で論じたように、ＨＢＭ ＰＨＹは、直接的にアクセス可能であり得、ＨＢＭ ＰＨＹは、３２ビットＩ／Ｏワードごとに連続的なデータフローを可能にする「ビットスライスモード」にあり得、Ｉ／Ｏ方向は、３２ビットＩ／Ｏワードごとに選択可能であり得、ＨＢＭ ＰＨＹは、４：１ ＳＥＲＤＥＳモードにあり得る。
【００６０】
図６は、ある例に従ったＨＢＩトランスポート層プロトコル４０４（すなわち、レイヤー１またはＬ１）を示す。図６に示されるように、ＨＢＩレイヤー１は、ＰＨＹ４０２の上にトランスポートプロトコル４０４を定義する。ＨＢＩ Ｌ１は、（ＨＢＭ ＰＨＹユニットごとに）１６個の２５６ビット単方向ユーザチャネルを有し得る。図６に示されるように、ＨＢＩ Ｌ１は、パリティ保護、ＤＢＩサポート、フロー制御、およびフレーミング／アライメントを提供し得る。図６に示されるように、各ＨＢＩ Ｌ１チャネルは、２つのＬ０チャネル６０２，６０４を使用し得、したがって、ＨＢＭ ＰＨＹユニットごとに合計１６個のＬ１（データ）チャネルが利用可能である。各ＨＢＩ Ｌ１チャネルは、入力または出力として構成可能であり得る。各ＨＢＩ Ｌ１チャネルは、たとえば、２つのＬ０チャネル６０２，６０４を使用することによって、一方向（すなわち、チャネルバス幅）において２５６ビットデータバスを提供し得る。
【００６１】
ＨＢＩ Ｌ１は、ＨＢＭ規格において定義されるようにＤＢＩ機能を提供し得る。ＤＢＩの目的は、データバス上での遷移の数を最小化することによってＩ／Ｏ電力を低減することである。
【００６２】
ＨＢＩ Ｌ１は、ＨＢＭ規格において定義されるようにパリティ保護を提供し得る。たとえば、各３２ビットワードは、１つのパリティビットにより保護される。ＨＢＩ Ｌ１は、送信側でパリティ生成を提供し、受信側でパリティチェック、エラーログ記録およびエラー報告を提供する。エラー回復は、ＨＢＩの外部で実現され得る。
【００６３】
図６に示されるように、ＨＢＩ Ｌ１は、クレジットベースのフロー制御メカニズムを提供し得る。各チャネルは単方向であるので、別の入力Ｌ１チャネルによって使用されるクレジットを発行するよう、出力Ｌ１チャネルが使用され得る。
【００６４】
図６に示されるように、ＨＢＩ Ｌ１は、フレーミングおよびアライメントを提供する。ＨＢＩ Ｌ１は、図７に示されるように、Ｌ０チャネル６０２，６０４内でチャネル内フレーミングおよびアラインメントを提供し得、かつ、図８に示されるように、Ｌ１チャネルによって使用される２つのＬ０チャネル６０２，６０４間のチャネル間フレーミングおよびアラインメントを提供し得る。いくつかの例では、フレーミングは、ＰＨＹ ＳＥＤＥＳ機能によって作成されるシリアル化されたシーケンス内の最初のワードのアラインメントおよび識別を提供するために、データとともに送信されるフレーミング信号を使用して達成される。
【００６５】
ＨＢＩ Ｌ１受信ロジックは、アライメントを達成および維持することと、アライメントエラーを検出することと、そのようなエラーから回復することとを担い得る。アライメントエラーは、ステータス／割込レジスタを介して報告され得る。
【００６６】
ＨＢＩ Ｌ１はたとえば、使用前に、Ｌ０からのビットを並べ替え得る。当該並べ替えは、ダイおよびＰＨＹの方位に依存し得る。
【００６７】
ＨＢＩ Ｌ１ユーザ側インターフェイスは、図９におけるテーブル９００に示されるように定義され得る。ＨＢＩ Ｌ１は、５００ＭＨｚの２８０ビットインターフェイスを提供する。すべての信号は、Ｌ１チャネルがどのように構成されるかに依存して、同じ方向（インまたはアウト）に流れる。図１０におけるテーブル１０００は、Ｌ１信号が、利用可能なＬ０ Ｉ／Ｏ信号にどのようにマッピングされるかを示す。各Ｌ０ Ｉ／Ｏ信号は、４つのＬ２ビットを搬送し得る。
【００６８】
ＨＢＩ Ｌ１ ＩＰについて、Ｌ１機能は、ホストデバイス１ ２０２側のＰＬにおけるソフトロジックＩＰとして実現され得る。
【００６９】
ユーザ側チャネルおよび他のオーバーヘッド信号を無視して、各ＨＢＩ Ｌ１チャネルは、約１６Ｇバイト／秒のスループットを維持し得る。したがって、（１ ＨＢＭ ＰＨＹユニットについて）ＨＢＩごとの合計ＨＢＩ Ｌ１スループットは、２５６Ｇバイト／秒または２．０４８Ｔビット／秒である。
【００７０】
図５に示されるように、ＨＢＩプロトコル層４０６（すなわち、レイヤー２またはＬ２）は、Ｌ１の上に存在する。ＨＢＩ Ｌ２は、Ｌ１の上に高レベルプロトコルをカプセル化するために使用される。フレキシブルな階層アプローチが与えられると、複数のＬ２実現例が可能である。（たとえば、異なるカスタマーについて）使用されるホストデバイス２０４．．．２０４ｎに依存して、異なるＬ２が実現され得る。Ｌ２の２つの例は、メモリマッピングされたプロトコル（たとえば、ＡＸＩ４（Ｌ２ｍ）Ｌ２プロトコル）およびストリーミングプロトコル（たとえば、ＡＸＩ４（Ｌ２ｓ）プロトコル）を含む。
【００７１】
メモリマッピングされたＨＢＩ Ｌ２プロトコルが、図１１Ａ〜図１１Ｂに示される。メモリマッピングされたＨＢＩ Ｌ２プロトコルは、５００ＭＨｚの２５６ビットＡＸＩ ＭＭインターフェイスを使用し得る。図１１Ａ〜図１１Ｂに示されるように、メモリマッピングされたＨＢＩ Ｌ２プロトコルは、２つのＬ１チャネル（１つはインバウンド、１つはアウトバウンド）にマッピングし得る。したがって、１つのＨＢＭ ＰＨＹユニットは、マスタＡＸＩまたはスレーブＡＸＩとして構成可能であり得る８つのＡＸＩ−ＭＭインターフェイスをサポートし得る。ＡＸＩコマンド／応答（たとえば、読出／書込）は、パケット化され得る。図１１Ａでは、ＡＸＩ−ＭＭインターフェイスは、ノードマスタユニット（ＮＭＵ: node master unit）として構成され、ローカルＡＸＩマスタは、他のダイ上のリモートＡＸＩスレーブにアクセスし得る。図１１Ｂでは、ＡＸＩ−ＭＭインターフェイスは、ノードスレーブユニット（ＮＳＵ: node slave unit）として構成され、他のダイ上のリモートＡＸＩマスタは、ローカルＡＸＩスレーブにアクセスし得る。各Ｌ２チャネルは、ＮＭＵまたはＮＳＵに関わらず、たとえば、上で定義されるように、２つのＬ１チャネルを使用する。
【００７２】
アウトバウンドマスタ（インバウンドスレーブ）チャネルは、読出および書込コマンドのために使用され、インバウンドマスタ（アウトバウンドスレーブ）チャネルは、読出および書込応答のために使用される。各ＨＢＩ Ｌ２チャネルは、２つの仮想チャネル（ＶＣ: virtual channel）をサポートし得る。ＶＣは、読出および書込トランザクションの独立した順方向の進行を保証し得る。ＶＣごとに別個のフロー制御クレジット管理が存在し得る。
【００７３】
ＨＢＩ Ｌ２は、読取タグまたは並べ替えバッファを採用しなくてもよい。ＨＢＩ Ｌ２は、ＥＣＣをサポートしなくてもよい。
【００７４】
ＨＢＩプロトコル層ＡＸＩ４インターフェイスの特徴は、図１２におけるテーブル１２００に概要が示される。
【００７５】
いくつかのシステムでは、書込ストローブ（ＷＳＴＲＢ）の任意の組合せを可能にするために、２５６ビットＡＸＩバス３２のためのデータビートごとに３２ビットの書込ストローブ（ＷＳＴＲＢ）が使用される。しかしながら、このようなフレキシビリティは、可能とされているが、ほとんど必要とされない。ストローブはしばしば、シングルビート部分書込またはアラインメントされていないバースト書込において使用され、両方の場合において、ＷＳＴＲＢパターンは、３２ビットよりもはるかに少ないビットにより符号化され得る。いくつかの例では、メモリマッピングされたＨＢＩ Ｌ２は、ゼロを含むＷＳＴＲＢのためのシングルビート部分書込のみをサポートし得る。ＷＳＴＲＢワードは、非ゼロのＷＳＴＲＢビットの１つの連続的な領域のみを有する。データビートにおいては、連続するストローブ領域が３つのみ存在する。すなわち、すべてのＷＳＴＲＢビットが０である領域１と、すべてのＷＳＴＲＢビットが１である領域２と、すべてのＷＳＴＲＢビットが０である領域３とが存在する。このような場合は、領域１（０〜３１）内の０の数を表す値Ｎ１と、領域２（１〜３２）内の１の数を表す値Ｎ２という２つの値を使用して、完全に表され得る。符号化のために、１０ビットが使用され得る。いくつかの例では、マルチビートトランザクションの場合、部分的な書込は許可されない。すなわち、すべてのＷＳＴＲＢビットがセットされなければならない。マルチビートのアラインメントされていない書込は、メモリマッピングされたＨＢＩ Ｌ２に入る前にチョップされる。メモリマッピングされたＨＢＩ Ｌ２ハードウェアは、ＷＳＴＲＢ制約の違反およびデバッグについての検出器を含み得る。許可されるＷＳＴＲＢ値は、図１３におけるテーブル１３００に示される。
【００７６】
メモリマッピングされたＨＢＩ Ｌ２における送信は、パケット化され得る。ＡＸＩ４プロトコルは、書込アドレス、書込データ、書込応答、読出アドレス、読出応答の５つのチャネルを有する。メモリマッピングされたＨＢＩ Ｌ２は、書込アドレスと書込データチャネルとを組み合わせ、かつ、トランザクションを、書込コマンドパケット（アドレスおよびデータの両方を含む）と、読出コマンドパケットと、書込応答パケットと、読出応答パケットとのパケットの４つのＶＣにパケット化し得る。コマンドパケットは、アウトバウンド（マスタからスレーブ）であるが、応答パケットは、インバウンド（スレーブからマスタ）である。
【００７７】
各ＶＣは、別個のフロー制御クレジット管理を有し、他のＶＣから独立して、順方向の進行を行い得る。たとえば、アウトバウンドチャネルは、２つのインバウンドＶＣについて各々１つずつ、サイクルごとに２つのクレジットを発行し得、インバウンドチャネルは、２つのアウトバウンドＶＣについて各々１つずつ、サイクルごとに２つのクレジットを発行し得る。いくつかの例では、クレジットは、パケットごとではなく、ワードごとである。書込コマンドおよび読出コマンドは、同じアウトバウンドのメモリマッピングされたＨＢＩ Ｌ２チャネルを共有するが、読出および書込応答は、同じインバウンドのメモリマッピングされたＨＢＩ Ｌ２チャネルを共有する。パケット化は、配線ごとのスループットを改善するとともに、ネットワークオンチップ（ＮｏＣ: network-on-chip）ソリューションにおいて広く使用されている。図１４Ａ〜図１４Ｃは、書込コマンドパケット、読出コマンドパケット、ノーオペレーションパケットについて、それぞれパケットヘッダフォーマット１４００Ａ，１４００Ｂ，１４００Ｃを示す。ＨＴＹＰＥフィールドの値（ヘッダタイプ）は、パケットヘッダのタイプを示し得る。たとえば、ＮｏＰについては０、読出については１、書込については２である。パケットヘッダは、１２８ビットワードであり得る。いくつかの例では、２つのパケットヘッダはたとえば、フロー制御クレジット可用性に従って、同じ２５６ビットワード上で同時に送信され得る。
【００７８】
図１５Ａ〜図１５Ｃは、それぞれ、書込コマンドパケットと、混合書込および読出コマンドパケット（読出および書込クレジットの両方を消費する）と、読出コマンドパケットとについて、メモリマッピングされたＨＢＩ Ｌ２コマンドチャネルパケットフォーマット１５００Ａ，１５００Ｂ，１５００Ｃを示す。コマンドチャネルパケットは、Ｌ１ ２０ビットユーザ側チャネルを使用しなくてもよい。マルチワードコマンドパケット（すなわち、書込コマンド）は、インターリーブされない。しかしながら、読出コマンドパケットは、書込コマンドパケットのワード間でインターリーブされ得る。Ｌ１ ＣＦＬＡＧ信号は、ヘッダワードとデータワードとを区別するように使用される。
【００７９】
応答チャネルは、読出データ、読出応答、および、書込応答パケットを搬送する。図１６Ａ〜図１６Ｃは、ある例に従った、メモリマッピングされたＨＢＩ Ｌ２応答チャネルパケットフォーマット１６００Ａ，１６００Ｂ，１６００Ｃを示す。応答パケットは、ヘッダを有しておらず、各ワードは、独立して識別およびルーティングされ得る。書込トラフィックの存在下で完全な読出スループットを達成するために、図１６Ａに示されるように、応答パケットにおいて、同時読出および書込応答が提供され得る。図１６Ａに示されるように、各読出応答ワードは、データについて２５６ビットを使用し得、ＡＸＩ読出ＩＤ（AXI Read ID）（ＲＩＤ）について８ビットを使用し得、応答タイプ（response type）（ＲＲＥＳＰ）について２ビットを使用し得、最後のワード指示（last word indication）（ＲＬＡＳＴ）について１ビットを使用し得、読出有効応答（read valid response）（ＲＶ）を示すために１ビットを使用し得る。図１６Ｂおよび図１６Ｃに示されるように、各書込応答ワードは、ＡＸＩ書込ＩＤ（AXI Write ID）（ＷＩＤ）について８ビットを使用し、応答タイプ（response type）（ＷＲＥＳＰ）について２ビットを使用し、書込有効応答（write valid response）（ＷＶ）を示すために１ビットを使用する。
【００８０】
最大読出スループットのために、メモリマッピングされたＨＢＩ Ｌ２応答チャネルは、サイクルごとに読出応答を維持し得る。読出応答には、データの２５６ビットと、Ｌ１ユーザ側チャネルの１２ビットとが割り当てられる。最大書込スループットのために、書込応答が２サイクルごとに最大で１回行われ得る。なぜならば、最も短い書込パケットは１つのヘッダワードと１つのデータワードとを有し、送信するのに２サイクルかかるからである。したがって、スループットの損失なしで、２サイクルにわたって書込応答が送信され得る。書込応答チャネルには、Ｌ１ユーザ側チャネルの７ビットと、応答開始をマークする１ビットと、１１ビットの書込応答の前半または後半のための６ビットとが割り当てられ得る。（たとえば、異なるＡＸＩ ＩＤを有する）読出応答ワードは、インターリーブされ得る。
【００８１】
上で論じたように、ＨＢＩ Ｌ２の別の例は、ストリーミングプロトコル（たとえば、ＡＸＩ４（Ｌ２）プロトコル）である。ストリーミングＨＢＩ Ｌ２プロトコルは、１つのＬ１チャネルにマッピングされた、５００ＭＨｚの２５６ビットＡＸＩ−Ｓインターフェイスを使用し得る。したがって、１つのＨＢＭ ＰＨＹユニットは、１６個のそのようなＡＸＩ−Ｓインターフェイスをサポートし得る。インターフェイスは、マスタ（アウトバウンド）またはスレーブ（インバウンド）として構成可能であり得る。ストリーミングＨＢＩ Ｌ２プロトコルは、クレジットベースのフロー制御、フルスループット（たとえば、パケット化オーバーヘッドなし）、２つの動作モード（たとえば、「ノーマル」モードおよび「シンプル」モード）をサポートし得る。ストリーミングＨＢＩ Ｌ２プロトコルは、２５６ビットのデータストリームを作成する。ＡＸＩバリッド・レディハンドシェイク（AXI valid-ready handshake）は、クレジットベースのフロー制御によって置き換えられ、他のすべてのＡＸＩ−Ｓ信号は、Ｌ１ユーザ側チャネルの利用可能な２０ビットを介して搬送される。図１７におけるテーブル１７００は、ストリーミングＨＢＩ Ｌ２プロトコル信号マッピングを示す。
【００８２】
ストリーミングＨＢＩ Ｌ２プロトコルは、ＴＳＴＲＢ信号をサポートしなくてもよい。ＴＫＥＥＰ信号はサポートされ得る。いくつかの例では、ＴＫＥＥＰ信号により、ストリーミングパケットが、アラインメントされていない境界上で開始および終了することが可能になるが、そうでなければ、パケットは、有効なバイトの連続したストリームを含まなければならない。ＡＸＩ−Ｓパケットの最初のワード（ＴＬＡＳＴ＝０）では、ＴＫＥＥＰは、最初の有効バイトの位置を示す。ＡＸＩ−Ｓパケットの最後のワード（ＴＬＡＳＴ＝１）では、ＴＫＥＥＰは最初の無効バイトの位置を示す。他のパケットワードでは、ＴＫＥＥＰは使用されるべきでない。図１８は、ストリーミングＨＢＩ Ｌ２プロトコルのためのＴＫＥＥＰ信号の符号化を示すテーブル１８００の図である。ＴＫＥＥＰ符号化は、ストリーミングＨＢＩ Ｌ２プロトコルによってなされるが、ユーザは制約への準拠を保証し得る。
【００８３】
ＴＩＤは、ソースＩＤであり得る。ＴＩＤは、複数のストリームが単一の物理チャネル上にインターリーブされる場合に有用であり得る。ＴＤＥＳＴはデスティネーションＩＤである。ＴＤＥＳＴは、ストリーミングパケットを最終のデスティネーションにルーティングするために使用され得る。用途に依存して、ＴＩＤまたはＴＤＥＳＴのいずれかが必要とされる場合もあれば、必要とされない場合もある。ＴＩＤおよびＴＤＥＳＴの両方のために合計８ビットが割り当てられる。ユーザは、用途に応じて、図１９におけるテーブル１９００に示される静的な構成のうちの１つを選択し得る。
【００８４】
ストリーミングＨＢＩ Ｌ２プロトコル「シンプル」モードは、フロー制御のみが提供されるＡＸＩ−Ｓのサブセットであり得る。いくつかの例では、シンプルモードは、ポイント・ツー・ポイントであってシングルソース・ツー・シングルデスティネーションストリームであり得、全ワードの連続的なフローを提供し得る。シンプルモードでは、ＴＩＤ／ＴＤＥＳＴ、ＴＳＴＲＢ／ＴＫＥＥＰ、および、ＴＬＡＳＴ信号が省略され得る。代わりに、ユーザは、任意の目的のために使用されるべきＴＵＳＥＲビットとして、サイドチャネルの完全な利用可能な２０ビットが与えられ得る。
【００８５】
ＨＢＩ Ｌ２ ＩＰについて、Ｌ２機能は、ホストデバイス１ ２０２側のＰＬにおけるソフトロジックＩＰとして実現され得る。
【００８６】
ＨＢＩのリセット、初期化および較正
ホストデバイス１ ２０２およびホストデバイス２０４．．．２０４ｎといったＨＢＩによって接続されるダイは、独立してリセットおよび初期化され得る。ＨＢＩの初期化、較正、およびデータフロー開始のために、プロセスをシーケンシングすることを担う１つ以上のコントローラエンティティ（たとえば、ＣＰＵ）が存在するとする。コントローラエンティティは、オンチップまたはオフチップであり得、２つのコントローラエンティティ間の通信は、帯域外で（すなわち、ＨＢＩを介さずに）行われる。たとえば、各ダイ上にシンプルなマイクロコントローラが存在し得、ダイ同士の間のインターフェイス（たとえば、Ｉ２Ｃ、ＳＰＩ、または、イーサネット（登録商標））を通過する何らかのメッセージが存在し得る。
【００８７】
ＨＢＩのアクティベーションステップは、初期化と、構成と、リンクトレーニングと、ＦＩＦＯトレーニングと、リンクアクティベーションとを含む。初期化ステップについて、ＨＢＩロジック（ＰＨＹを含む）は電力供給され、リセットされ、安定したクロックが提供され、リセットから出てアイドルの非アクティブ状態になる。構成ステップについて、ＨＢＩのランタイムプログラマブル機能が、所望の値で初期化され得る。たとえば、これは、チャネル方向と、パリティと、ＤＢＩと、ＰＨＹ初期化と、自己較正と、冗長配線割り当てなどとを含み得る。リンクトレーニングステップについて、出力として構成される各Ｌ０チャネルは、他のダイ上の受信Ｌ０チャネルがＤＱ（データ）アイ（eye）に対してＤＱＳエッジをセンタリングすることを可能にする特別なトレーニングパターンを送信する。ＦＩＦＯトレーニングステップについて、出力として構成される各Ｌ０チャネルは、ＦＩＦＯがフルポイントの半分の近傍で動作するように、他のダイ上の受信Ｌ０チャネルが受信ＦＩＦＯを調整することを可能にする特別なインクリメントパターンを送信し、これにより、ジッタに対する最も大きな許容性を提供する。低レイテンシーが所望される用途では、ＦＩＦＯレベルは、レイテンシーを低減するよう、異なる点までトレーニングされ得る。リンクアクティベーションステップについて、すべての以前のステップの完了が成功すると、データフローが開始され得る。Ｌ１機能は、アイドルデータワードの発行を開始し得、ＤＱＳは、連続的にトグルする。次いで、ユーザ側のトラフィックが有効化され、実際のデータがＨＢＩにわたって流れ始め得る。
【００８８】
ＨＢＩクロック
ＨＢＩベースのシステムは、メソクロナスネットワーク（mesochronous network）として動作し得る。たとえば、（ＨＢＩによって相互接続される）両方のダイ上のＨＢＭに関連するクロックは、同じ周波数で動作するが、未知の位相関係で動作し得る。これは、両方のダイがＨＢＭ ＰＨＹ（または同等物）におけるＰＬＬによって使用される同じ基準クロックを共有することによって達成され得る。
【００８９】
送信されるデータは、ソースに同期し得る。たとえば、クロックまたはＤＱＳは、送信機から受信機へデータと共に送信される。さらに、位相およびジッタの変動は、ＰＨＹの部分である受信ＦＩＦＯにおいて吸収され得る。ＨＢＭチャネルクロックおよびクロックイネーブル信号（ＣＫ＿ｔ、ＣＫ＿ｃおよびＣＫＥ）は、使用されなくてもよい。ダイ同士間の長期のジッタ変動は、ＰＨＹ受信ＦＩＦＯをオーバーフローまたはアンダーフローし得るレベルを超えないように制御され得る。たとえば、１．０ＧＨｚクロックの長期のジッタは、１ＵＩ（１０００ｐｓ）を超えないように維持され得る。
【００９０】
ＨＢＩの電力管理
ＨＢＩのための粒度の粗い電力管理が、外部コントローラエンティティが両方のダイ上でアクティビティを終了し、次いでＨＢＩリンクの電力供給を切ることによって達成され得る。
【００９１】
ＨＢＩのダイ・ツー・ダイの配線
ＨＢＭマイクロバンプおよびボールアウト構成は、マスタデバイスとＨＢＭスタックとの間のルーティングの容易さのために選択されている。ＨＢＩシステムでは、両方のデバイス（すなわち、ＨＢＩによって相互接続されるホストデバイス）が、インターポーザ上に配置される際に、ＰＨＹボールアウトの同じ方位を有する場合、ダイ・ツー・ダイの配線は、シンプルであり得る。たとえば、ダイ・ツー・ダイの配線は、マスタデバイスとＨＢＭスタックデバイスとの間のＨＢＭプロトコルにおけるように、信号ルーティングに従い得る。１つのダイが回転すると、配線はより複雑になる。ＨＢＩは、同じ方位および回転したダイの場合の両方をサポートし得る。図２０は、ＨＢＭプロトコルに従うＨＢＩのための例示的なボールレイアウトを示しており、データは、チップからチップへ水平方向に流れる。図２１は、４８個の配線を使用する単一のＨＢＭ ＤＷＯＲＤのためのＨＢＭプロトコルに従うＨＢＩのための例示的なボールレイアウトを示しており、データがチップからチップへ垂直方向に流れる。マスタとスレーブＰＨＹとの間の違いは、図２２におけるテーブル２２００に示されるように、単方向信号の方向のみである。
【００９２】
両方のダイが同じ方位を有する場合、接続は１〜−１であり得る（たとえば、ＤＱＳがＤＱＳに接続されるなど）るが、１つのチップのＷＤＱＳ＿ｔ／ｃが他のチップのＲＤＱＳ＿ｔ／ｃに接続され得、その逆もまた同様であることを除く。たとえば、読出および書込ＤＱＳは、交差され得る。ＨＢＩは、ＤＥＲＲを使用しなくてもよい。
【００９３】
１つのダイが回転される場合、同じ配線を維持することにより、配線が長くなり、インターポーザのルーティングが複雑になり得る。いくつかの例では、ＨＢＩは、図２３Ａと図２３Ｂにおけるテーブル２３００Ｂとに示されるように、インターポーザ上で１〜−１の配線を使用し得、インターポーザ上で行われたビットのスワッピングをアンドゥするよう、Ｌ１モジュールにおいてビット並べ替えが行われ得る。
【００９４】
ＨＢＩの冗長データ配線
ＨＢＩは、ＨＢＭ規格に従って冗長データ配線を取り扱い得る。ＨＢＭ規格は、１２８データビットごとに８つの冗長データ配線、または、ＤＷＯＲＤごとに２つの冗長ビットを定義する。以下に詳述されるように、２つのレーンリマッピングモード（lane remapping mode）が定義される。ＨＢＩでは、冗長データ配線は、両方のダイが同じ方位を有する場合にのみ、レーン修復（lane repair）のために使用され得る。
【００９５】
モード１では、バイトごとに１つのレーンをリマッピングすることが可能である。このモードでは冗長ピンは割り当てられず、ＤＢＩ機能はそのバイトについてのみ失われるが、他のバイトは、ＤＢＩ機能についてのモードレジスタ設定が有効化されている限り、ＤＢＩ機能をサポートし続ける。データパリティ機能がモードレジスタにおいて有効化され、レーンがリマッピングされる場合、ＤＲＡＭおよびホストの両方は、このモードでの読出および書込動作のためのパリティ計算のためにＤＢＩ入力を「０」と仮定し得る。モード１では、各バイトは独立して扱われる。
【００９６】
モード２では、ダブルバイトごとに１つのレーンがリマッピングされ得る。このモードでは、ダブルバイトごとに１つの冗長ピンが割り当てられ、ＤＢＩ機能は、ＤＢＩ機能についてのモードレジスタ設定が有効化されている限り、保持される。２つの隣接するバイト（たとえば、ＤＱ［１５：０］）はペア（ダブルバイト）として扱われ得るが、各ダブルバイトは独立して扱われる。
【００９７】
ＷＤＱＳ＿ｃ、ＷＤＱＳ＿ｔ、ＲＤＱＳ＿ｃ、ＲＤＱＳ＿ｔ、ＰＡＲ、および、ＤＥＲＲ信号といったある信号は、リマッピングされなくてもよい。モード１では、ＤＢＩ信号が失われるので、ＤＢＩピンは他のピンと交換可能であり得ない。したがって、ＤＢＩがＤＭに配線される回転されたダイの場合について、モード１は使用されなくてもよい。モード２では、機能は失われないが、ＰＡＲはリマッピングされ得ないので、モード２は、回転されたダイについて使用され得ない。
【００９８】
例示的な動作
図２４は、インターポーザ上のデバイス同士間の通信のための例示的な動作２４００を示すフロー図である。動作２４００は、２４０２において、ＨＢＩを介して、インターポーザ上の第１のデバイスからインターポーザ上の第２のデバイスに少なくとも第１の信号を送信することを含む。ＨＢＩを介して第１の信号を送信することは、階層プロトコルを使用して第１の信号を送信することを含む。階層プロトコルは、ＨＢＭ物理層プロトコルに従って構成される物理層プロトコルを含む。動作２４００は、２４０４において、ＨＢＩを介して、インターポーザ上の第２のデバイスから少なくとも第２の信号を受信することを含む。
【００９９】
上記は特定の例を対象としているが、他の例およびさらに別の例が、その基本的な範囲から逸脱することなく考案されてもよく、その範囲は、添付の請求の範囲によって決定される。
【図１】
2021531594.tif 000003
【図２】
2021531594.tif 000004
【図３】
2021531594.tif 000005
【図４】
2021531594.tif 000006
【図５】
2021531594.tif 000007
【図６】
2021531594.tif 000008
【図７】
2021531594.tif 000009
【図８】
2021531594.tif 000010
【図９】
2021531594.tif 000011
【図１０】
2021531594.tif 000012
【図１１Ａ】
2021531594.tif 000013
【図１１Ｂ】
2021531594.tif 000014
【図１２】
2021531594.tif 000015
【図１３】
2021531594.tif 000016
【図１４Ａ】
2021531594.tif 000017
【図１４Ｂ】
2021531594.tif 000018
【図１４Ｃ】
2021531594.tif 000019
【図１５Ａ】
2021531594.tif 000020
【図１５Ｂ】
2021531594.tif 000021
【図１５Ｃ】
2021531594.tif 000022
【図１６Ａ】
2021531594.tif 000023
【図１６Ｂ】
2021531594.tif 000024
【図１６Ｃ】
2021531594.tif 000025
【図１７】
2021531594.tif 000026
【図１８】
2021531594.tif 000027
【図１９】
2021531594.tif 000028
【図２０】
2021531594.tif 000029
【図２１】
2021531594.tif 000030
【図２２】
2021531594.tif 000031
【図２３Ａ】
2021531594.tif 000032
【図２３Ｂ】
2021531594.tif 000033
【図２４】
2021531594.tif 000034
【国際調査報告】
2021531594.tif 000035
2021531594.tif 000036
2021531594.tif 000037