説明

適応型優先順位スキームを適用するためのクロスバー回路、およびそのようなクロスバー回路の動作方法

【課題】クロスバー回路のコンフリクトを解決する。
【解決手段】クロスバー回路はデータ入力経路12およびデータ出力経路50のアレイを有し、各交差点にはルーティング値を記憶するようにプログラム可能な構成記憶回路と、伝送回路と、アービトレーション回路とを備えるクロスバーセル20が提供される。アービトレーション回路は、適応型優先順位スキームを適用するために、同じデータ出力経路と関連する他のクロスバーセルのアービトレーション回路と組み合わせて動作して、該複数のビット線上の電圧を選択的に修正するように動作可能である。同じデータ出力経路に複数の伝送要求がある場合、同じデータ出力経路と関連する唯一のクロスバーセルの構成記憶回路は、第1の値にプログラムされるルーティング値を有し、適応型優先順位スキームに従い複数の伝送要求間のコンフリクトを解決する。さらに、各クロスバーセルは優先順位記憶回路を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、適応型優先順位スキームを適用するためのクロスバー回路、およびそのようなクロスバー回路の動作方法に関する。
【背景技術】
【0002】
クロスバー回路は、マトリクス様態で複数の入力を複数の出力に接続するためのスイッチ基盤である。故に、クロスバー回路は、複数のソース回路および複数の宛先回路を相互接続するために使用することができ、よって、複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、複数の宛先回路のうちのいずれかに出力することができる。クロスバー回路は、様々な実装で使用することができる。例えば、データ処理システムの実装では、このようなクロスバー回路は、データ値に対してデータ処理動作を実行するために使用される複数のプロセッサ、およびそれらのデータ値を記憶するために使用される複数のメモリデバイスを相互接続するために使用することができ、それによって、データ値を、任意のメモリデバイスから任意のプロセッサにルーティングすることを可能にする。
【0003】
クロスバー回路を生成するための周知の技法は、クロスバー回路を形成するために必要とされる構成要素に起因する、クロスバー回路のための大きな面積、および制御信号をそれらの構成要素にルーティングするために必要とされる多数の制御線を必要とし、また、大量の電力も消費する。さらに、それらの複雑さは、サイズとともに急激に増大し、周知の技法の大部分を、多数のソース回路を多数の宛先回路と相互接続するために必要とされるクロスバー回路とともに使用することについて、非実用的なものとする。いくつかの周知の技法を以下に論じる。
【0004】
K Chang他による論文「A 50Gb/s 32×32 CMOS Crossbar Chip using Asymmetric Serial Links」、1999 Symposium on VLSI Circuits、Digest of Technical Papers、19〜22ページ、およびT Wu他による論文「A 2Gb/s 256×256 CMOS Crossbar Switch Fabric Core Design using Pipelined MUX」、IEEE International Symposium on Circuits and System、2002、568〜571ページは、任意の入力ソースから任意の出力宛先へのデータのルーティングを可能にするように、マルチプレクサの階層的配設を使用したクロスバー回路を記載している。しかしながら、このようなMUXに基づくクロスバー回路は、比較的にサイズが大きく、電力消費が多い。さらに、該クロスバー回路は、典型的に、種々のマルチプレクサを制御するために、相当な数の制御線を必要とする。このようなMUXに基づく設計は、典型的に、少なくとも部分的には、サイズが大きくなるにつれて、必要な制御信号を種々のマルチプレクサにルーティングすることがますます困難になるので、サポートする入力および出力数の増加とともに拡張することができない。さらに、入力データが、入力バス上でルーティングされるマルチビットデータである場合、データ経路自体のルーティングが非常に複雑になる。
【0005】
R Golshan他による論文「A Novel Reduced Swing CMOS Bus Interface Circuit for High Speed Low Power VLSI Systems」、IEEE International Symposium on Circuits and System、351〜354ページ、1994は、入力経路が水平方向に通り、出力経路が垂直方向に通る、X−Y型のクロスバー回路を記載している。各入力経路と出力経路との間の交差点には、フリップフロップ回路の形態で記憶素子が提供され、その出力は、入力経路を出力経路に連結するために使用されるトランジスタを制御する。しかしながら、このような設計は、クロスバー回路が所要のルーティングを実行するために、種々のフリップフロップをプログラムするために多数の制御線を必要とする。さらに、入力データ経路上に提供される入力データは、関連する出力データ経路上の出力データを駆動するために使用される。多数の入力および出力に適応するようにクロスバー回路が大きくなるにつれて、出力データ経路の容量が増加し、それに応じて、静電容量の増加を克服するために、より大きい駆動トランジスタを入力に提供する必要がある。加えて、データ入力経路とデータ出力経路との間の交差点で、フリップフロップによって駆動される連結トランジスタは、クロスバー回路のサイズが増加した時に、サイズを増加させる必要もある。さらに、典型的に、クロスバー回路のサイズが増加した時には、データ出力経路の中に1つまたは複数のバッファを含めることが必要となる。これらの全ての要因は、特により多くの入力および出力に適応するようにクロスバー回路のサイズを増加させた時に、クロスバー回路の素子および関連する制御線のレイアウトに重大な問題を生じさせる。故に、この手法は、複雑になり、拡張することができない。
【0006】
P Wijetungaによる論文「High−Performance Crossbar Design for System−On−Chip」、Proceedings of the Third IEEE International Workshop on System−On−Chip for Real−Time Applications、2003は、データ入力経路とデータ出力経路との間の各交差点に位置付けられる伝送回路としてパストランジスタチェーンを採用する、クロスバー設計を記載している。入力データを出力データ経路へ連結するためにパストランジスタチェーンが必要とされる時には、出力データ経路上に位置付けられる電流感知回路を使用して、入力データ値を検出する。この設計の極めて不利な点は、電流感知デバイスを各出力経路上に位置付けるための要件に起因して、多量の電力を消費することである。さらに、クロスバー回路内で多数の制御信号をルーティングする必要があり、実際に、それらの制御信号は、より多くの入力および出力に適応するようにクロスバー回路のサイズを増加させるにつれて、ルーティング要件を支配するようになる。したがって、ここでも、この設計は、より大きいクロスバー回路の設計に、容易に拡張することができない。
【0007】
M Borgatti他による論文「A Multi−Context 6.4Gb/s/Channel On−Chip Communication Network using 0.18μm Flash−EEPROM Switches and Elastic Interconnects」、ISSCC 2003、Session 26、Embedded and Digital Systems、Paper 26.5は、改良したフラッシュEEPROMデバイスのマトリクスを使用して実現した、プログラム可能なクロスバーを記載している。しかしながら、図26.5.6から明らかなように、ソースデバイスから宛先デバイスへのデータ入力のルーティングに関与するメモリセルの数は、それらのデバイスがクロスバー内に接続される場所に依存し、故に、信号がクロスバーを通過するタイミングは、決定論的ではない。さらに、種々のフラッシュEEPROMセルのプログラミングを可能にするには、多数の制御線が必要となり、それらの種々のフラッシュEEPROMセルをプログラムするには、かなり多くの時間が必要となる。したがって、クロスバーデバイスのあらゆる再構成にも、かなり時間がかかる。
【0008】
故に、このようなクロスバーの設計は、複雑であり、また、必要とされる制御線の急増により、より多くの入力デバイスおよび出力デバイスをクロスバーによってサポートすることが必要になるので、複雑さが増加する。さらに、クロスバーのタイミングは、決定論的でないため、クロスバーの設計を、特定の実装には不適当なものとする。
【0009】
要約すると、前述の考察から、既存のクロスバー設計は、典型的に、制御信号の複雑なルーティングを伴い、その複雑さは、クロスバーのサイズが増加するにつれて、急激に増加することが理解されるであろう。必要とされる制御線の数に部分的に起因して、およびクロスバーのサイズが増加するにつれて、クロスバー内に提供される特定の構成要素のサイズを増加させる必要性に部分的に起因して、しばしば、該設計は、大量の電力を消費し、かつ拡張性に乏しい。
【0010】
共有の米国公開特許出願第2010/0211719号(参照することによりその内容全体が本願明細書に組み込まれる)は、ルーティングパターンが、クロスバーの中の交差点でローカルにキャッシュされ、次いで、データをルーティングするために使用される、クロスバー回路設計を記載している。これは、クロスバー回路のための配線レイアウトを生成する時に、ルーティングの輻輳をかなり低減する。該設計は、容易に拡張することができ、したがって、クロスバー回路は、クロスバー回路に接続されるソース回路および宛先回路の数が多い場合であっても、容易に利用することができる。さらに、該設計は、クロスバー回路を通したデータの転送に固定待ち時間を提供する、標準的なレイアウトを生成する。
【0011】
クロスバー設計における別の問題は、コリジョン検出および解決能力を伴うクロスバーをどのように提供するかということである。スイッチングファブリックにおける同じ宛先に対する複数の要求は、コリジョンと称される。ソースおよび宛先の数の増加とともに、コリジョンはより頻繁となる。このような状況では、アービトレーションは、クロスバー回路の全体的な効率のボトルネックとなる。
【0012】
最も現代的なスイッチングファブリックは、主として、データを伝送するクロスバー、およびクロスバーを構成するアービターの2つのモジュールから成る。そのような実装において、ソース回路は、チャネルの要求をアービターに送信する。アービターは、全ての要求をサンプリングし、いくつかの優先順位割り当てスキームを使用して要求の一部または全てを承諾し、それに応じてクロスバーを構成する。このスキームは、拡張性について2つの大きな問題を有する。
1)ソース回路からアービターに全ての要求信号をルーティングすること、および全ての承諾信号を返すことは、より大きなシステムではますます困難となる。
2)アービターは、決定を下すことができる前に、受信する全ての要求、ならびにクロスバーの現在の状態を知っている必要がある。サイクルごとにクロスバーの状態を監視するには、付加的な論理ならびに相互接続が必要である。これは付加的な遅延の一因となる。
【0013】
パケットスイッチングネットワークの拡張性およびアービトレーション遅延に対処するために、多くの試みがなされてきた。Chi H.他による論文「Decomposed Arbiters for Large Crossbars with Multi−Queue Input Buffers」、IEEE International Conference on Computer Design、14−16 Oct.1991、233〜238ページにおいて、著者は、アービトレーションプロセスが完了する前にいくつかの要求を承諾できるようなアービターの分解について述べている。しかしながら、最悪条件のアービトレーション遅延は、依然として同じままである。一般に、アービトレーション遅延は、サイズとともに直線的に増大する。
【0014】
Delgado−Frias他による論文「A VLSI Crossbar Switch with Wrapped Wave Front Arbitration」、IEEE Transactions on Circuits and Systems、Volume 50、Issue 1、Jan.2003、135〜141ページ、およびKavaldjiev N.他による論文「A Virtual Channel Router for On−chip Networks」、IEEE International SoC Conference、12−15 Sept.2004、289〜293ページでは、著者は、クロスバー内におけるアービトレーションの取り扱いについて論じている。しかしながら、開示された実装は、拡張性がなく、4×4のサイズのクロスバーに制限されている。
【0015】
Shin E.他による論文「Round−robin Arbiter Design and Generation」、International Symposium on System Synthesis、2002、243〜248ページでは、著者は、ラウンドロビンアービターを生成するツールを提案している。該アプローチは階層的であり、4×4のスイッチから32×32のスイッチを作製しようとしている。
【0016】
William W.Plummerによる論文「Asynchronous Arbiters」、IEEE Transactions on Computers Archive Volume 21、Issue 1 (January 1972)、37〜42ページ、Charles E.Molnar他による論文「Simple Circuits that Work for Complicated Reasons」、International Symposium on Advanced Research in Asynchronous Circuits and Systems、2000.(ASYNC 2000) Proceedings、およびMark B.Josephs他による論文「CMOS Design of the Tree Arbiter Element」、IEEE Transactions on VLSI systems、Volume 4、Issue 4、Dec 1996、472〜476ページでは、アービトレーションのためのいくつかの非同期的手法が記載されている。これらの設計は、無作為性を達成するために準安定性を利用する。しかしながら、準安定システムにおける遅延が時折高くなる可能性があり、それによって、確実なスループットを必要とするリアルタイムシステムにおけるその使用が制限されている。
【0017】
要約すると、文献に見られる多くの解決法は、2×2または4×4スイッチを使用した大型クロスバースイッチの作製に対する階層的アプローチを使用する。したがって、クロスバースイッチのサイズとともに遅延が直線的に増大する。これは、幅広い並列システム(SIMD/MIMD型アプリケーション)に対して、いかなる電圧スケーリングの余地も残さない。
【0018】
さらに、例えば前述の論文「A Virtual Channel Router for On−chip Networks」、IEEE International SoC Conference、12−15 Sept.2004、289〜293ページに論じられているような、アービターおよびクロスバーを互いに統合する以前の試みにおいては、それらを空間的に近接させることだけしか可能になっていない。しかしながら、両方の機能性のための論理および相互接続は、相容れないままであった。
【0019】
従来の実装において、コリジョン検出および解決は、階層的に行われる。これは、アービトレーション論理の複数の段階において達成され、各段階の後に、要求の数がある特定の割合だけ低減される。
【0020】
共有の米国公開特許出願第2010/0211720号(参照することによりその内容全体が本願明細書に組み込まれる)は、所定の優先順位スキームを適用することによって、コンフリクトの非常に有効な解決法を実行することを可能にする一方で、非常に標準的な設計を提供し、全ての経路にわたって均一な遅延を伴い、そして、典型的な従来技術のクロスバーが設計する制御線をほとんど必要としない、クロスバー回路の自己アービトレート設計を記載している。このようなクロスバー回路は、大きいクロスバーを形成するために、容易に拡張することができる。
【0021】
しかしながら、特定の種類の優先順位スキームは、それでも効率的に実装することが困難であり、例えば、ソース回路の関連する優先順位が適応型優先順位スキームの各適用の間に変化する、適応型優先順位スキームである。US2010/0211720は、優先順位割り当て動作モードで、クロスバーの選択された優先順位記憶回路で値を再プログラムすることが可能である、優先順位構成モジュールの使用を提案した。また、クロスバーの動作を監視して、その分析に依存してどのように優先順位記憶回路を更新するのかを決定することによって、そのような優先順位構成モジュールを適応型にすることが可能であることも確認された。しかしながら、そのようなアプローチは、多くの理由により、クロスバーの効率に影響を与える。
【0022】
第1に、優先順位記憶回路を再プログラムするために、専用の優先順位割り当て動作モードに入る必要があり、それによって、クロックサイクルが、単に優先順位更新プロセスを実行することだけに費やされてしまう。また、典型的に、一度に1つのデータ出力経路に接続されたクロスバーセルの記憶回路を再プログラムすることしか可能でない。さらに、適応型優先順位構成モジュールについては、第1に、クロスバーの動作を表す情報をクロスバーから取り出し、次いで、その取り出した情報を分析し、次いで、関連する優先順位記憶回路内に記憶するために、修正した優先順位データをクロスバーに入力することが必要であり、それによって、非効率的な更新プロセスをもたらす。
【0023】
従来、効率的に実装することが困難であった1つの種類の適応型優先順位スキームは、どのソース回路が現在のアービトレーションプロセスを得るのかに依存して、種々のソース回路の関連する優先順位が更新される、承諾後最長時間経過(LRG)優先順位スキームである。具体的には、ソース回路Xがアービトレーションプロセスを得た場合、LRGスキームに従って、ソースXよりも低い優先順位を有する全てのソースは、それらの優先順位を上昇させ、ソースXよりも高い優先順位を有する全てのソースは、それらの優先順位をそれらの現在のレベルに維持させ、ソースXは、最も低い相対的優先順位を有するように降格される。
【0024】
LRG優先順位スキームは、公正さ、および他の優先順位スキーム(例えば、ラウンドロビン、疑似ラウンドロビン、ランダムな優先順位割り当て等)よりも良好なサービスの質(QoS)を保証するが、そのハードウェア実装は、典型的に、クロスバー回路の領域、性能、およびエネルギー消費にかなりのオーバーヘッドをもたらす。加えて、ハードウェアの複雑さは、クロスバー回路の寸法とともに2次曲線的に増大する。
【0025】
LRGをサポートする現在のスイッチングファブリックにおいて、アービターは、ネットワークの中の全ての入力および承諾要求を記録することによって、異なるソースに割り当てられた優先順位を更新する。これは、ハードウェアにこれを実装するために、付加的なメモリ、処理素子、およびワイヤを必要とする。
【先行技術文献】
【特許文献】
【0026】
【特許文献1】米国公開特許出願第2010/0211719号
【特許文献2】米国公開特許出願第2010/0211720号
【非特許文献】
【0027】
【非特許文献1】K Chang他による論文「A 50Gb/s 32×32 CMOS Crossbar Chip using Asymmetric Serial Links」、1999 Symposium on VLSI Circuits、Digest of Technical Papers、19〜22ページ
【非特許文献2】T Wu他による論文「A 2Gb/s 256×256 CMOS Crossbar Switch Fabric Core Design using Pipelined MUX」、IEEE International Symposium on Circuits and System、2002、568〜571ページ
【非特許文献3】R Golshan他による論文「A Novel Reduced Swing CMOS Bus Interface Circuit for High Speed Low Power VLSI Systems」、IEEE International Symposium on Circuits and System、351〜354ページ、1994
【非特許文献4】P Wijetungaによる論文「High−Performance Crossbar Design for System−On−Chip」、Proceedings of the Third IEEE International Workshop on System−On−Chip for Real−Time Applications、2003
【非特許文献5】M Borgatti他による論文「A Multi−Context 6.4Gb/s/Channel On−Chip Communication Network using 0.18μm Flash−EEPROM Switches and Elastic Interconnects」、ISSCC 2003、Session 26、Embedded and Digital Systems、Paper 26.5
【非特許文献6】Chi H.他による論文「Decomposed Arbiters for Large Crossbars with Multi−Queue Input Buffers」、IEEE International Conference on Computer Design、14−16 Oct.1991、233〜238ページ
【非特許文献7】Delgado−Frias他による論文「A VLSI Crossbar Switch with Wrapped Wave Front Arbitration」、IEEE Transactions on Circuits and Systems、Volume 50、Issue 1、Jan.2003、135〜141ページ
【非特許文献8】Kavaldjiev N.他による論文「A Virtual Channel Router for On−chip Networks」、IEEE International SoC Conference、12−15 Sept.2004、289〜293ページ
【非特許文献9】Shin E.他による論文「Round−robin Arbiter Design and Generation」、International Symposium on System Synthesis、2002、243〜248ページ
【非特許文献10】William W.Plummerによる論文「Asynchronous Arbiters」、IEEE Transactions on Computers Archive Volume 21、Issue 1 (January 1972)、37〜42ページ
【非特許文献11】Charles E.Molnar他による論文「Simple Circuits that Work for Complicated Reasons」、International Symposium on Advanced Research in Asynchronous Circuits and Systems、2000.(ASYNC 2000) Proceedings
【非特許文献12】Mark B.Josephs他による論文「CMOS Design of the Tree Arbiter Element」、IEEE Transactions on VLSI systems、Volume 4、Issue 4、Dec 1996、472〜476ページ
【発明の概要】
【発明が解決しようとする課題】
【0028】
故に、適応型優先順位方式をサポートすることに関連する前述した問題を多少なりとも解消する、改善されたクロスバー設計を提供することが望ましい。
【課題を解決するための手段】
【0029】
第1の態様から見ると、本発明は、複数のソース回路と、複数の宛先回路とを相互接続し、よって、該複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、該複数の宛先回路のうちのいずれかに出力することができる、クロスバー回路であって、該クロスバー回路を通過する複数のデータ入力経路であって、各データ入力経路は、該複数のソース回路のうちの1つに接続することができ、かつ複数のワード線を提供する、複数のデータ入力経路と、複数のデータ入力経路を横断する該クロスバー回路を通過する複数のデータ出力経路であって、各データ出力経路は、該複数の宛先回路のうちの1つに接続することができ、かつ複数のビット線を提供する、複数のデータ出力経路と、該データ入力経路のうちの1つと、該データ出力経路のうちの1つとの間の各交差点と関連するクロスバーセルであって、各クロスバーセルは、該複数のビット線のうちの少なくとも1つの上の電圧に依存してルーティング値を記憶するように、アービトレーション動作モードでプログラムできる、構成記憶回路であって、ルーティング値は、データ入力経路のワード線に沿った関連する交差点へのデータ入力が、関連する交差点において、データ出力経路のビット線上に出力されることを、第1の値が示すようプログラムされ、ルーティング値は、データ入力経路のワード線に沿った関連する交差点へのデータ入力が、関連する交差点において、データ出力経路のビット線上に出力されないことを、第2の値が示すようにプログラムされる、構成記憶回路と、伝送動作モードで、データ入力経路のワード線に沿ったデータ入力を検出し、かつ関連する交差点において、そのデータの指示をデータ出力経路のビット線上に出力するように、該第1の値を有するルーティング値に応答する、伝送回路と、関連する交差点のデータ入力経路に接続されたソース回路からクロスバーセルによって受信された伝送要求に依存して、該アービトレーション動作モードで動作する、アービトレーション回路であって、該ソース回路が、関連する交差点において、データ入力経路からデータ出力経路にデータをルーティングしたいことを示すように、伝送要求がアサートされた場合、アービトレーション回路は、適応型優先順位スキームを適用するために、同じデータ出力経路と関連する他のクロスバーセルのアービトレーション回路と組み合わせて動作して、複数のビット線の電圧を選択的に修正するように配設され、よって、該同じデータ出力経路の複数のアサートされた伝送要求が存在する場合、該同じデータ出力経路と関連する唯一のクロスバーセルの構成記憶回路は、該第1の値にプログラムされるそのルーティング値を有し、それによって、該適応型優先順位スキームに従って、該複数のアサートされた伝送要求間のコンフリクトを解決する、アービトレーション回路と、適応型優先順位スキームを適用するために、複数のビット線のうちのどれが、関連するアービトレーション回路によってそれらの電圧を修正されるべきかを識別する優先順位データを記憶するように構成される、優先順位記憶回路であって、アービトレーション回路による適応型優先順位スキームの各適用の間に、複数のビット線のうちの少なくとも1つの電圧に依存して、それに記憶される優先順位データを自己更新するように構成される、優先順位記憶回路とを備える、クロスバーセルとを備える、クロスバー回路を提供する。
【0030】
本発明によれば、クロスバーセルは、データ入力経路とデータ出力経路との間の各交差点と関連し、各クロスバーセルは、伝送動作モードで、関連する構成記憶回路に記憶されたルーティング値に依存して、そのデータ入力経路上のデータをそのデータ出力経路に選択的に接続するように配設される、伝送回路と、アービトレーション動作モードで、複数のアサートされた伝送要求間のコンフリクトを解決するために、他のクロスバーセルのアービトレーション回路と組み合わせて動作する、アービトレーション回路とを備える。具体的には、伝送要求がソース回路からクロスバーセルにアサートされた場合、そのクロスバーセルのアービトレーション回路は、適応型優先順位スキームを適用するために、同じデータ出力経路と関連する他のクロスバーセルのアービトレーション回路と組み合わせて動作して、複数のビット線上の電圧を選択的に修正し、よって、その同じデータ出力経路の複数のアサートされた伝送要求が存在する場合、同じデータ出力経路と関連する唯一のクロスバーセルの構成記憶回路は、第1の値(すなわち、伝送動作モードで、クロスバーセルに、そのデータ入力経路をそのデータ出力経路に連結させる値)にプログラムされる、そのルーティング値を有する。
【0031】
加えて、各クロスバーセルは、適応型優先順位スキームを適用するために、複数のビット線のうちのどれが、関連するアービトレーション回路によってそれらの電圧を修正されるべきかを識別する優先順位データを記憶するように構成される、優先順位記憶回路であって、アービトレーション回路による適応型優先順位スキームの各適用の間に、複数のビット線のうちの少なくとも1つの電圧に依存して、それに記憶される優先順位データを自己更新するように構成される、優先順位記憶回路を有する。
【0032】
したがって、本発明によれば、アービトレーション動作モードで、特定のデータ出力経路のコンフリクトを検出するために、いずれかの時点で唯一のソース回路が特定のデータ出力経路へのアクセスを承諾されるようにそれらのコンフリクトを解決するために、および優先順位記憶回路に記憶された優先順位データを更新するために、データ出力経路のビット線が再利用されることが分かる。これは、クロスバー回路内に適応型優先順位スキームを実装するための、高速で拡張性のある技法を提供する。該手法は、従来技術の技法よりも大幅に拡張することができ(本発明の実施形態では、ハードウェアの複雑さは、クロスバーによって提供される相互接続ネットワークのサイズとともに直線的に増大する)、相互接続ネットワークに対するオーバーヘッドをほとんど伴わずに、また、パフォーマンスインパクトをほとんど伴わずに実装することができる。
【0033】
本発明の配設において、アービター機能およびクロスバー機能はどちらも、ともにクロスバー回路内に一体化される。アービターは、論理が大半を占めるが、クロスバーは、ルーティングが大半を占め、これらの2つの機能をクロスバー回路のクロスバーセル内に1つにまとめることによって、ルーティングトラックおよびチップ内のシリコン空間のより効率的な利用が達成される。加えて、従来クロスバーとアービターとの間で生じる通信オーバーヘッドは、これで、多少なりとも解消される。クロスバー回路内の各交差点と関連するクロスバーセルにクロスバー構成を記憶することによって、アービトレーションのためのデータ出力経路のビット線の再利用を可能にする。
【0034】
本発明によれば、クロスバー回路は、SRAMアレイトポロジーの形式でレイアウトすることができ、クロスバーセルは、アレイとしてレイアウトされ、データ入力経路は、ワード線を提供し、データ出力経路は、ビット線を提供する。そのような配設は、サイズの観点および必要とされる相互接続の数の観点の双方から、非常に効率的なレイアウトを可能にする。
【0035】
適応型優先順位スキームは、様々な形態を取ることができるが、一実施形態において、適応型優先順位スキームは、承諾後最長時間経過(LRG)スキームである。前述のように、LRGスキームは、従来、ハードウェアへの実装が複雑であり、したがって、本発明の実施形態を使用してLRGスキームを提供する能力は、周知の従来技術の手法に勝る非常に顕著な改善を呈する。
【0036】
一実施形態において、各データ出力経路は、n本のビット線を提供し、各構成記憶回路は、それを介してルーティング値が構成記憶回路にプログラムされる、該n本のビット線のうちの1本と関連し、よって、同じデータ出力経路と関連する最高n個のクロスバーセルについて、それらのクロスバーセルの構成記憶回路は、該n本のビット線のうちの異なる関連するビット線を有する。各クロスバーセル内で、アービトレーション回路および優先順位記憶回路は、そのクロスバーセルの構成記憶回路と関連する1本のビット線を除くn−1本のビット線と関連し、該適応型優先順位スキームを適用するために、優先順位記憶回路は、それらのn−1本のビット線のうちのどれが、アービトレーション回路によってそれらの電圧を修正されるべきかを識別する。
【0037】
特定の一実施形態において、優先順位記憶回路は、n−1個の優先順位記憶素子で形成されてもよく、n−1本のビット線のそれぞれについて1つが、優先順位記憶回路と関連する。優先順位記憶素子は、様々な形態を取ることができるが、一実施形態では、SRAMセルで形成される。
【0038】
このような一実施形態では、該アービトレーション動作モードで、該適応型優先順位スキームを適用するために、アサートされた伝送要求を受信する同じデータ出力経路と関連する任意のクロスバーセルのアービトレーション回路が、n本のビット線上の電圧を選択的に修正した後に、アサートされた伝送要求を受信するクロスバーセルの各構成記憶回路が、該ルーティング値をプログラムするために、その関連するビット線上の電圧をサンプリングするように構成される。
【0039】
一実施形態において、各クロスバーセルは、そのクロスバーセルの構成記憶回路と関連する1本のビット線に連結される、解放回路であって、アサートされた解放要求を受容すると、チャネル解放回路は、該ルーティング値として該第2の値をそのクロスバーセルの構成記憶回路に記憶させるレベルに、その1本のビット線上の電圧を修正させ、それによって、そのデータ出力経路の再割り当てを可能にするように、クロスバーセルに、関連するデータ出力経路を解放させる、解放回路をさらに備える。これは、ソース回路が、データの送信を終了した時に特定のデータ出力経路を解放することを可能にし、それによって、別のソース回路が、後にそのデータ出力経路を捕捉しようとすることを可能にするための、単純かつ有効な機構を提供する。
【0040】
一実施形態では、解放されたデータ出力経路と関連するそれらのクロスバーセルの中の優先順位記憶回路は、複数のビット線のうちの少なくとも1つの電圧に依存して、それに記憶された優先順位データを自己更新するように、アサートされた解放要求に応答する。したがって、そのような実施形態において、アサートされた解放要求は、自己更新プロセスの実行をトリガーするための好都合なイベントを提供し、かつアービトレーション回路によって適応型優先順位スキームの各用途の間に自己更新プロセスが実行されることを確実にする。
【0041】
一実施形態において、各優先順位記憶回路は、複数の優先順位記憶素子を備え、各優先順位記憶素子は、該複数のビット線のうちの1つと関連し、各優先順位記憶回路内で、複数の優先順位記憶素子の電流値は、関連するデータ出力経路について、その優先順位記憶回路を含有するクロスバーセルに連結されたソース回路の相対的優先順位レベルを示す。
【0042】
適応型優先順位スキームが承諾後最長時間経過(LRG)優先順位スキームである一実施形態では、その場合、解放されたデータ出力経路と関連するそれらのクロスバーセルの優先順位記憶回路内で、その電圧が解放回路によって修正されたビット線と関連するそれらの優先順位記憶素子は、第1の値に設定され、それによって、データ出力経路を解放するソース回路を除く各ソース回路の相対的優先順位レベルは、増加させられるか、または維持される。さらに、アサートされた解放要求を受信した解放回路を含有するクロスバーセルについて、優先順位記憶回路は、第2の値にクリアされたその優先順位記憶素子を有し、それによって、データ出力経路を解放するソース回路には、他のソース回路よりも低い相対的優先順位が割り当てられる。これは、LRGスキームを実行するための特に効率的な機構を提供し、ソース回路の相対的優先順位レベルは、そのデータ出力経路が解放された時に、各データ出力経路について独立に更新される。
【0043】
一実施形態において、初期化の時点で、各クロスバーセルの優先順位記憶回路は、複数のデータ出力経路のそれぞれに関して、複数のソース回路の初期の相対的優先順位レベルを提供するように、所定の値に初期化される。
【0044】
一実施形態において、初期の相対的優先順位レベルは、各データ出力経路について独立に特定することができる。さらに、一実施形態において、各優先順位記憶回路は、それ自体を所定の値に設定するために、初期化の時点でアサートされるリセット信号に応答する。特定の一実施形態において、各優先順位記憶回路の個々の優先順位記憶素子は、リセット信号を適用すると、それらの値が、それらの形態に依存して、論理1または論理0のうちのいずれかに更新されるように、2つの形態のうちの1つを取ることができる。
【0045】
特定の一実施形態において、ビット線のそれぞれは、第1の電圧レベルにプリチャージされ、該アサートされた解放要求を受信すると、解放回路は、そのクロスバーセルの構成記憶回路と関連する1本のビット線上の電圧をディスチャージする。さらに、各構成記憶回路は、関連する解放回路に対するアサートされた解放要求が存在する場合、ルーティング値を該第2の値に更新するために、その関連するビット線の電圧を感知し、続いて、解放回路によってディスチャージ動作を実行し、それによって、関連するデータ出力経路を解放する、感知増幅器有効化ラッチを備える。したがって、そのような実施形態では、クロスバーセルでチャネルを解放するために、感知増幅器有効化ラッチによって感知されたビット線は、ディスチャージされて、後にサンプリングされる。
【0046】
一実施形態において、各データ入力経路は、n本のワード線を提供し、同じデータ出力経路と関連する最高n個のクロスバーセルの解放要求は、その同じデータ出力経路のn本のワード線を介して、クロスバー回路に入力される。さらに、各解放回路は、該n本のワード線のうちの1本と関連し、よって、同じデータ入力経路と関連する最高n個のクロスバーセルについて、それらのクロスバーセルの解放回路は、それを介して解放要求を受信する該n本のワード線のうちの異なる関連するワード線を有する。したがって、そのような実施形態において、解放要求は、データ入力経路のワード線の再使用を通して、効率的な様態で発行することができる。
【0047】
特定の一実施形態において、解放要求は、該アービトレーション動作モードで発行され、制御信号は、関連するデータ入力経路のn本のワード線が、解放要求または伝送要求を搬送しているかどうかを識別するように、アービトレーション動作モードで、複数のソース回路によって発行される。したがって、そのような実施形態において、制御信号は、ワード線上でルーティングされた情報が、解放要求または伝送要求を識別するかどうか、したがって、アービトレーション回路または解放回路を起動させる必要があるかどうかを認めるために使用することができる。特定の一実施形態において、制御信号は、実際に、1つがrequest_channel信号であり、もう1つがrelease_channel信号である、2つの別個の信号回線という形態を取り、これらの2つの信号のうちの1つだけを、いずれかの時点で設定することが可能である。一実施形態において、これらの2つの信号は、1行あたりを基準に提供され、したがって、任意の特定の行内で、クロスバーセルは、いずれかの時点で、解放要求または伝送要求のうちのいずれかを処理していることになる。いくつかの実装では、制御信号のより緻密な細かさを提供することが可能であり、そのため、行の中の一部のクロスバーセルが解放要求を処理し得る一方で、他方が伝送要求を処理している。
【0048】
同じデータ出力経路の中の異なるクロスバーセルの構成記憶回路が、異なるビット線と関連し、アサートされた伝送要求を受信するそのデータ出力経路の中のそれらのクロスバーセルのアービトレーション回路が、n本のビット線上の電圧を選択的に修正するので、アサートされた伝送要求を受信する各クロスバーセルの構成記憶回路が、その関連するビット線上の電圧をサンプリングし、続いてアービトレーションプロセスを行う時点で、ビット線のうちの1つだけが、関連する構成記憶回路に、該第1の値をルーティング値として記憶させる値となることを確実にすることによって、適応型優先順位スキームを実装することが可能であり、それによって、単一のソース回路だけが、いずれかの時点で、データ出力経路へのアクセスを承諾されることを可能にする。
【0049】
アービトレーション回路が選択的に修正する様態では、n本のビット線上の電圧は、実装に依存して変化する可能性がある。しかしながら、一実施形態では、ビット線のそれぞれは、該適応型優先順位スキームを適用するために、第1の電圧レベルにプリチャージされ、次いで、アービトレーション動作モード中に、アサートされた伝送要求を受信する同じデータ出力経路と関連する任意のクロスバーセルのアービトレーション回路は、n本のビット線上の電圧を選択的にディスチャージする。したがって、そのような実施形態において、ビット線は、適応型優先順位スキームを適用するために、条件付きでディスチャージされ、それによって、アービトレーション動作モード中のいかなるコンフリクトも解決される。
【0050】
伝送要求をソース回路からクロスバーセルにアサートすることができる、多数の方法がある。しかしながら、一実施形態において、各データ入力経路は、n本のワード線を提供し、アービトレーション動作モードで、同じデータ入力経路と関連する最高n個のクロスバーセルの伝送要求は、その同じデータ入力経路のn本のワード線を介して、クロスバー回路に入力される。したがって、そのような実施形態において、データ入力経路は、アサートされた伝送要求の提供のために、アービトレーション動作モードで、それら自体を再利用する。
【0051】
特定の一実施形態において、各構成記憶回路は、該n本のワード線のうちの1本と関連し、よって、同じデータ入力経路と関連する最高n個のクロスバーセルについて、それらのクロスバーセルの構成記憶回路は、それを介して伝送要求を受信する該n本のワード線のうちの異なる関連するワード線を有する。
【0052】
データ入力経路のn本のワード線およびデータ出力経路のn本のビット線がアービトレーション動作モード中に再使用される実施形態では、コンフリクトの検出および解決を単一の段階で実行でき、それによって、コリジョンの検出および解決が複数の段階で階層的に行われる従来技術の手法と比較した時に、かなりの性能的な利益をもたらすことが分かる。
【0053】
具体的には、最高n×nのクロスバーセルのマトリクスを含有するクロスバー回路について、コンフリクトの検出および解決を単一の段階で実行できることが分かるであろう。
【0054】
しかしながら、本発明の実施形態の技法は、より大きいマトリクスのクロスバーセルを有するクロスバー回路とともに使用することもできる。具体的には、一実施形態では、mが2以上の整数である、mn×mn個のクロスバーセルのマトリクスが提供され、マトリクスは、複数のセクションに分割され、一連のアービトレーション動作は、該同じデータ出力経路と関連する唯一のクロスバーセルの構成記憶回路が、該第1の値にプログラムされるそのルーティング値を有するように適応型優先順位スキームを適用するために使用され、それによって、該適応型優先順位スキームに従って複数のアサートされた伝送要求間のコンフリクトを解決する。一連の中の各アービトレーション動作について、該複数のセクションの中のセクションのうちの1つまたは複数は、そのアービトレーション動作を受ける。
【0055】
特定の一実施形態において、各アービトレーション動作は、単一のセクション上で動作し、よって、該一連のアービトレーション動作を実行した後には、該複数のセクションの全てが該アービトレーション動作を受けている。したがって、例として、16ビットのデータ入力経路およびデータ出力経路を伴う64×64のクロスバー回路の場合、クロスバー回路は、4つのセクションに分割することができ、アービトレーション動作は、それらのセクションのそれぞれに順次実行される。一実施形態において、カウンタは、サイクルごとにインクリメントして、そのサイクルの中のアービトレーション中に処理するセクションを選択することができる(上記の例では2ビットカウンタで十分である)。そのような実装は、それでも最小限の配線および論理オーバーヘッドの利益を維持するが、所与の要求に対するアービトレーション待ち時間は、その要求が関連するセクションに依存して変動する可能性がある(上記の例において、待ち時間は、1サイクルから4サイクルまで変動する可能性がある)。次いで、全てのセクションが処理された後に、優先順位データの自己更新が行われる。
【0056】
代替の実施形態において、複数のセクションの全ては、一連のうちの第1のアービトレーション動作で、そのルーティング値が該第1の値にプログラムされる構成記憶回路を含有する、該複数のセクションのうちの1つを識別するために、第1のアービトレーション動作を受ける。次いで、一連のうちの第2のアービトレーション動作で、第1のアービトレーション動作によって識別されたセクションのうちの該1つは、そのルーティング値が該第1の値にプログラムされるそのセクション内の構成記憶回路を識別するように、第2のアービトレーション動作を受ける。そのような実施形態によれば、クロスバーは、再度セクションに分割されるが、その場合、アービトレーションは、2つのステップで、つまり、最初にセクションの間で、次いで所与のセクションの中の全ての要求の間で階層的に実行される。同じ群のビット線を両方のアービトレーションステップに使用することができる。次いで、両方のアービトレーションステップが行われた後に、優先順位データの自己更新が行われる。
【0057】
一実施形態において、各クロスバーセルは、2つの構成記憶回路を備え、第1のものは、関連するセクションが最も高い優先順位のアサートされた伝送要求を含有するかどうかを検出するために使用され、第2のものは、以降のアービトレーションステップで、最も高い優先順位のアサートされた伝送要求がその特定のクロスバーセルと関連するかどうかを検出するために使用される。
【0058】
例として、16ビットのデータ入力経路およびデータ出力経路を伴う64×64のクロスバーにおいて、クロスバーは、再度4つのセクションに分割され得る。セクション0が最も高い優先順位を有し、そのセクションと関連する少なくとも1つのソースが伝送要求をアサートする場合、アービトレーションの第1の段階において、そのセクションの各クロスバーセルの中の第1の構成記憶回路は、第1の値にプログラムされるルーティング値を有することになる一方で、他のセクションでは、第2の値にプログラムされるそれらのルーティング値を有することになる(どちらの場合でも、プログラムは、各第1の構成記憶回路と関連するビット線上の電圧の結果として生じる)。次のサイクルでは、セクション0に関してアサートされた伝送要求だけが検討され、ビット線は、アービトレーションに再度使用され、今度は、第2の構成記憶回路が関連するビット線を感知する。特定のクロスバーセルにおいて、どちらの構成記憶回路も、第1の値に設定されたそれらのルーティング値を有する場合、これは、関連するアサートされた伝送要求が優先されたこと、およびデータ伝送動作モードでそのクロスバーセルがその入力をその出力に接続することを意味する。
【0059】
そのような実装は、いくつかの付加的な論理は犠牲にするが、いかなる付加的な相互接続も犠牲にせずに、固定2サイクルのアービトレーション待ち時間を有する。データ出力経路の中に16本のビット線があることで、最高16のセクション間でアービトレートすることが可能であり、各セクションは、最高16のアサートされた伝送要求を受信することができる。したがって、アービトレーション待ち時間は、1つのクロスバーについて2つのサイクルで、最高256×256のクロスバーを保持することができる。
【0060】
一実施形態では、クロスバーセルが、アービトレーション動作モード中に第1の値にプログラムされるそのルーティング値を有する時には、アサートされた伝送要求が承諾されたことを確認するように、承諾信号が関連するソース回路にアサートされる。一実施形態において、ソース回路は、一度に単一の要求を送信することだけしかできず、そのような実施形態では、典型的に、1行あたり単一の承諾信号だけが発行される。しかしながら、代替の実施形態において、ソース回路は、一度に複数の要求を送信することが可能であり得、そのような実施形態では、1行あたり複数の承諾信号を提供することができ、1つの承諾信号が、各データ出力経路と関連する。
【0061】
伝送回路は、様々な方法で動作させることができる。しかしながら、一実施形態において、伝送動作モードで、クロスバーセルと関連する各データ出力経路は、データ伝送前に第1の論理レベルにプリチャージされ、各クロスバーセルの伝送回路は、データ出力経路と第2の論理レベルとの間で直列に接続される、第1および第2のスイッチを備え、伝送動作モードで、第1のスイッチは、関連する構成記憶回路に記憶されたルーティング値に依存して開かれるか、または閉じられ、第2のスイッチは、データ入力経路上でのデータ入力に依存して開かれるか、または閉じられる。特定の一実施形態において、第1の論理レベルは、供給電圧レベルVddであり、第2の論理レベルは、接地される。したがって、このような配設によって、入力データ経路上のデータは、出力データ経路上のデータを直接的に駆動せず、その代わりに、出力データ経路上のデータは、第1の論理レベルに留まるか、または、第1および第2のスイッチがどちらも閉じられている場合に、第2の論理レベルにディスチャージされる。
【0062】
このような伝送回路の配設によって、伝送回路は、クロスバー回路のサイズに関わらず、変化させる必要がなく、したがって、データ出力経路の長さ、さらには入力データ経路上で入力データを提供する駆動回路も、クロスバー回路のサイズが増加した時にサイズ変更する必要がない。よって、クロスバー回路のサイズが増加した場合、各クロスバーセルの回路を変更する必要がなく、その代わりに、クロスバーセルの数を増加させるだけでよい。したがって、このような設計を使用することによって、クロスバー回路の遅延は、サイズとともに直線的に増大し、そのようなクロスバー回路の設計を、(例えば、128×128または256×256の入力/出力を伴う)非常に大きいクロスバーとともに使用できるようにする。加えて、本設計は、非常に標準的であり、クロスバー回路を通しての全ての経路にわたる遅延は均一である。
【0063】
一実施形態において、各該データ入力経路は、伝送動作モード中にnビットの入力データ値を搬送するためのn本のワード線を備え、各該データ出力経路は、該伝送動作モード中にnビットのデータ値を搬送するためのn本のビット線を備え、少なくとも第2のスイッチは、各ビット線について複製される。故に、伝送回路の設計は、いかなるクロスバー回路の著しい複雑さの増加も伴わずに、種々のサイズのデータ入力経路およびデータ出力経路に容易に適応することができる。
【0064】
一実施形態では、伝送動作モードで、ルーティング値が該第1の値であり、かつ対応するワード線上の入力データビットが該第1の論理レベルである場合、データ出力経路のビット線は、第2の論理レベルにプルされる。したがって、構成記憶回路に記憶されたルーティング値が、データ入力経路を、データ出力経路に連結すべきであること、およびデータ入力経路上のデータが論理1レベルにあることを示している場合、データ出力経路は、第2の論理レベルにディスチャージされる。
【0065】
一実施形態において、各クロスバーセルは、関連するデータ出力経路を第1の論理レベルにプリチャージしている間に、ルーティング値に関わらず第1のスイッチをオフにするための、および第1のスイッチをルーティング値によって制御し、続いて、関連するデータ出力経路を第1の論理レベルにプリチャージすることを可能にするための、条件付きディスチャージ回路をさらに備える。故に、そのような条件付きディスチャージ回路は、データ出力経路のビット線がプリチャージされている間に、入力から該ビット線を分離し、それによって、プリチャージ動作の電力消費を低減する。また、そのような配設によって、データ入力経路は、その時の入力からデータ出力経路を分離させる条件付きディスチャージ回路により、プリチャージ動作と同時に駆動することができ、それによって、動作の速度を増加させることを可能にする。
【0066】
さらに、前述した伝送回路の配設を使用することによって、データ出力経路の全てのビット線を、第1の論理レベルにプリチャージし、次いで、データ入力経路の関連するワード線の入力値およびルーティング値に依存して、第1の論理レベルのままにするか、または第2の論理レベルに遷移させることに留意されたい。その結果、2つの隣接するビット線上の電圧が反対方向に移動するといった、いかなる状況も生じず、それによって、容量結合効果が低減され、それによって、動作の速度が向上する。
【0067】
データ出力経路が、データ転送前にプリチャージされ、次いで、ルーティング値およびデータ入力値に依存して、選択的にディスチャージされる実施形態では、感知増幅回路の使用を通してクロスバー回路の電力消費を低減することができる。具体的には、一実施形態において、クロスバー回路は、伝送動作モード中に、データ出力経路のビット線上のデータ出力を検出し、それによって、データ出力経路のビット線上の電圧が第2の論理レベルに到達する前に、第2の論理レベルへの遷移の検出を可能にする、感知増幅器回路をさらに備える。遷移の検出は、データ出力経路のビット線が第2の論理レベルに到達する前に生じるので、データ出力経路のビット線を第1の論理レベルにプリチャージするのに必要な電力が、大幅に低減される。
【0068】
よって、そのようなデータ出力経路のプリチャージが生じる実施形態では、クロスバー回路に提供される前に、入力データを好適に符合化することによって、さらなる省電力化を得ることができる。具体的には、一実施形態では、クロスバー回路は、該複数のソース回路のそれぞれと該複数のデータ入力経路との間の符号化回路と、該複数のデータ出力経路のそれぞれと該複数の宛先回路との間の復号回路と、をさらに備え、符号化回路は、各ソース回路によって提供される入力データを符号化形式に符号化するように、符号化動作を適用し、元の入力データがクロスバー回路を通過した場合に、データ出力経路を第2の論理レベルにプルすることが必要となり得る回数と比較した時に、データ出力経路を第2の論理レベルにプルし、続いて、それらを第1の論理レベルにプリチャージすることが必要である回数を低減し、復号回路は、データ出力経路上で符号化データ出力からソース回路によって提供される、元の入力データを識別するように、対応する復号動作を適用する。
【0069】
特定の一実施形態において、符合化動作は、入力データから生成される符号化形式が、入力データが変化する時に、論理1の値だけであり、それに応じて、データ出力経路が、入力が変化した時にだけディスチャージされることを確実にする。復号回路は、次いで、データ出力経路上で出力される符号化データから、元の入力データを再作成する。
【0070】
本発明の実施形態のクロスバー回路の標準的な設計、および各クロスバーセルの伝送回路が動作する様態のため、複数のソース回路は、複数のデータ入力経路のいずれかの端部に接続することができ、それによって、クロスバー回路およびソース回路が提供される装置のレイアウトを設計する時の柔軟性が大幅に向上する。同様に、複数の宛先回路は、複数のデータ出力経路のいずれかの端部に接続することができる。
【0071】
一実施形態では、データ入力値を、データ入力経路に沿って、それらのデータ入力経路に接続された種々のクロスバーセルに伝播させるために、一連のワード線ドライバを使用してもよい。マルチキャスティングがサポートされておらず、故に、各ソースが1度に単一の出力経路へのアクセスしか要求しない、単一の要求の実施形態では、それが必要とされない状況で、データ入力経路の全体に沿ってデータを伝播させる際にかなりの電力が消費され得る。一実施形態において、この電力消費は、部分的に起動するネットワーク配設の提供によって多少なりとも解消される。具体的には、一実施形態では、各データ入力経路は、ワード線ドライバによって分離された複数の入力経路部分から成り、各ワード線ドライバは、関連するデータ入力経路に沿って提供されるが、そのワード線ドライバよりもソース回路から遠くにある、クロスバーセルの構成記憶回路に記憶されるルーティング値に依存して起動される。その結果、各ワード線ドライバは、関連するデータ入力経路に沿って提供されるが、そのワード線ドライバよりもソース回路から遠くにある、少なくとも1つのクロスバーセルの構成記憶回路が、該第1の値に設定されたルーティング値を有する場合にだけ起動される。そのような手法は、かなりの省電力化をもたらすことができる。
【0072】
本発明の実施形態のクロスバー回路は、様々なシステムで利用されてもよい。しかしながら、本発明の第2の態様によれば、データ値を記憶するための、複数のメモリデバイスと、該複数のメモリデバイスに記憶された複数のデータ値に、データ処理動作を並列に実行するための、複数のプロセッサと、該複数のメモリデバイスのうちのいずれかから該複数のプロセッサのうちのいずれかにデータ値をルーティングするための、本発明の第1の態様に従うクロスバー回路とを備える、データ処理装置を提供する。
【0073】
本発明の実施形態のクロスバー回路は、メモリデバイスのうちのいずれかから、プロセッサのうちのいずれかにデータ値をルーティングするための、とりわけ単純で、拡張することができ、かつ電力効率の良い機構を提供する。
【0074】
第3の態様から見ると、本発明は、複数のソース手段と、複数の宛先手段とを相互接続し、よって、該複数のソース手段のうちのいずれかからクロスバー回路へのデータ入力を、該複数の宛先手段のうちのいずれかに出力することができる、クロスバー回路であって、該クロスバー回路を通過する複数のデータ入力経路手段であって、各データ入力経路手段は、該複数のソース手段のうちの1つに接続し、かつ複数のワード線手段を提供するためのものである、複数のデータ入力経路手段と、複数のデータ入力経路手段を横断する該クロスバー回路を通過する複数のデータ出力経路手段であって、各データ出力経路手段は、該複数の宛先手段のうちの1つに接続し、かつ複数のビット線手段を提供するためのものである、複数のデータ出力経路手段と、該データ入力経路手段のうちの1つと、該データ出力経路手段のうちの1つとの間の各交差点と関連するクロスバーセル手段であって、各クロスバーセル手段は、該複数のビット線手段のうちの少なくとも1つの上の電圧に依存してルーティング値を記憶するための、アービトレーション動作モードでプログラムできる、構成記憶手段であって、ルーティング値は、データ入力経路手段のワード線手段に沿った関連する交差点へのデータ入力が、関連する交差点において、データ出力経路手段のビット線手段上に出力されることを、第1の値が示すようにプログラムされ、ルーティング値は、データ入力経路手段のワード線手段に沿った関連する交差点へのデータ入力が、関連する交差点において、データ出力経路手段のビット線手段上に出力されないことを、第2の値が示すようにプログラムされる、構成記憶手段と、伝送動作モードで、データ入力経路手段のワード線手段に沿ったデータ入力を検出し、かつ関連する交差点において、そのデータの指示をデータ出力経路手段のビット線手段上に出力するように、該第1の値を有するルーティング値に応答する、伝送手段と、関連する交差点のデータ入力経路手段に接続されたソース手段からクロスバーセル手段によって受信される伝送要求に依存して、該アービトレーション動作モードで動作させるための、アービトレーション手段であって、該ソース手段が、関連する交差点において、データ入力経路手段からデータ出力経路手段にデータをルーティングしたいことを示すように、伝送要求がアサートされた場合、アービトレーション手段は、適応型優先順位スキームを適用するために、同じデータ出力経路手段と関連する他のクロスバーセル手段のアービトレーション手段と組み合わせて動作して、複数のビット線手段上の電圧を選択的に修正するためのものであり、よって、該同じデータ出力経路手段の複数のアサートされた伝送要求が存在する場合、該同じデータ出力経路手段と関連する唯一のクロスバーセル手段の構成記憶手段は、該第1の値にプログラムされるそのルーティング値を有し、それによって、該適応型優先順位スキームに従って、該複数のアサートされた伝送要求間のコンフリクトを解決する、アービトレーション手段と、適応型優先順位スキームを適用するために、複数のビット線手段のうちのどれが、関連するアービトレーション手段によってそれらの電圧を修正されるべきかを識別する優先順位データを記憶するための、優先順位記憶手段であって、アービトレーション手段による適応型優先順位スキームの各適用の間に、複数のビット線手段のうちの少なくとも1つの電圧に依存して、それに記憶される優先順位データを自己更新するための、優先順位記憶手段とを備える、クロスバーセル手段とを備える、クロスバー回路を提供する。
【0075】
第4の態様から見ると、本発明は、複数のソース回路と、複数の宛先回路とを相互接続し、よって、該複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、該複数の宛先回路のうちのいずれかに出力することができるように、クロスバー回路を動作させる方法であって、クロスバー回路は、該クロスバー回路を通過する複数のデータ入力経路であって、各データ入力経路は、該複数のソース回路のうちの1つに接続することができ、かつ複数のワード線を提供する、複数のデータ入力経路と、複数のデータ入力経路を横断する該クロスバー回路を通過する複数のデータ出力経路であって、各データ出力経路は、該複数の宛先回路のうちの1つに接続することができ、かつ複数のビット線を提供する、複数のデータ出力経路とを有し、方法は、該データ入力経路のうちの1つと、該データ出力経路のうちの1つとの間の各交差点と関連する、クロスバーセルを採用するステップと、アービトレーション動作モードで、ルーティング値を各クロスバーセルにプログラミングするステップであって、ルーティング値は、該複数のビット線のうちの少なくとも1つの上の電圧に依存してプログラムされ、ルーティング値は、データ入力経路のワード線に沿った関連する交差点へのデータ入力が、関連する交差点において、データ出力経路のビット線上に出力されることを、第1の値が示すようにプログラムされ、ルーティング値は、データ入力経路のワード線に沿った関連する交差点へのデータ入力が、関連する交差点において、データ出力経路のビット線上に出力されないことを、第2の値が示すようにプログラムされる、ステップと、伝送動作モードで、データ入力経路のワード線に沿ったデータ入力を検出し、かつ関連する交差点において、そのデータの指示をデータ出力経路のビット線上に出力するように、クロスバーセルを、該第1の値を有するルーティング値に応答させるステップと、該アービトレーション動作モードで、関連する交差点のデータ入力経路に接続されたソース回路からクロスバーセルによって受信される伝送要求に依存して、クロスバーセルの中のアービトレーション回路を動作させる、ステップであって、該ソース回路が、関連する交差点において、データ入力経路からデータ出力経路にデータをルーティングしたいことを示すように、伝送要求がアサートされた場合、アービトレーション回路は、適応型優先順位スキームを適用するために、同じデータ出力経路と関連する他のクロスバーセルのアービトレーション回路と組み合わせて動作して、複数のビット線の電圧を選択的に修正し、よって、該同じデータ出力経路の複数のアサートされた伝送要求が存在する場合、該同じデータ出力経路と関連する唯一のクロスバーセルの構成記憶回路は、該第1の値にプログラムされるそのルーティング値を有し、それによって、該適応型優先順位スキームに従って、該複数のアサートされた伝送要求間のコンフリクトを解決する、ステップと、適応型優先順位スキームを適用するために、複数のビット線のうちのどれが、関連するアービトレーション回路によってそれらの電圧を修正されるべきかを識別する優先順位データを、クロスバーセル内の優先順位記憶回路に記憶するステップと、アービトレーション回路による適応型優先順位スキームの各適用の間に、複数のビット線のうちの少なくとも1つの電圧に依存して、それに記憶される優先順位データを自己更新するように、優先順位記憶回路を構成するステップとを含む方法を提供する。
【0076】
以下、ほんの一例として、添付図面に示されているその実施形態を参照して、本発明をさらに説明する。
【図面の簡単な説明】
【0077】
【図1】一実施形態による、クロスバー回路のブロック図である。
【図2】各クロスバーセルに従って提供される優先順位記憶回路が、一実施形態でどのように使用され得るのかを示す図である。
【図3】クロスバーセルが、特定のデータ出力経路(本明細書では、チャネルとも称する)を解放することを可能にするために、解放回路が一実施形態でどのように使用され得るのかを示す図である。
【図4A】一実施形態に従って、LRG優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。
【図4B】一実施形態に従って、LRG優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。
【図4C】一実施形態に従って、LRG優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。
【図4D】一実施形態に従って、LRG優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。
【図4E】一実施形態に従って、LRG優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。
【図4F】一実施形態に従って、LRG優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。
【図4G】一実施形態に従って、LRG優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。
【図4H】一実施形態に従って、LRG優先順位スキームをサポートするように、優先順位記憶回路がどのように更新され得るのかを示す図である。
【図5A】列の中の多数のクロスバーセルに対して各クロスバーセル内に提供される回路を示す図である。
【図5B】列の中の多数のクロスバーセルに対して各クロスバーセル内に提供される回路を示す図である。
【図6A】行の中の多数のクロスバーセルに対して各クロスバーセル内に提供される回路を示す図である。
【図6B】行の中の多数のクロスバーセルに対して各クロスバーセル内に提供される回路を示す図である。
【図7】一実施形態による、各クロスバーセル内に提供され得る伝送回路、アービトレーション回路、および優先順位記憶回路をより詳細に示す図である。
【図8】一実施形態による、各クロスバーセル内に提供され得る伝送回路および解放回路をより詳細に示す図である。
【図9】一実施形態による、パケットスイッチングクロスバーの実装を概略的に例示する。
【図10A】一実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図10B】一実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図10C】一実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図10D】一実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図11A】代替の実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図11B】代替の実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図11C】代替の実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図11D】代替の実施形態による、クロスバー回路の各クロスバーセル内に提供される構成要素をより詳細に示す図である。
【図12】一実施形態による、各クロスバーセル内に提供される構成記憶素子の配設をより詳細に示す図である。
【図13A】一実施形態による、ディスチャージ信号およびセンスイネーブル(SE)信号を発生させるためのパルス発生器の構成を示す図である。
【図13B】一実施形態による、ディスチャージ信号およびセンスイネーブル(SE)信号を発生させるためのパルス発生器の構成を示す図である。
【図13C】一実施形態による、ディスチャージ信号およびセンスイネーブル(SE)信号を発生させるためのパルス発生器の構成を示す図である。
【図14】一実施形態に従って、channel_free信号がどのように発生するのかを示す図である。
【図15A】クロスバー回路内の電力消費を低減するために、クロスバー回路への入力前に入力データを符号化し、クロスバー回路からの出力データを復号するように、一実施形態で使用され得る、符号化回路および復号化回路を示す図である。
【図15B】クロスバー回路内の電力消費を低減するために、クロスバー回路への入力前に入力データを符号化し、クロスバー回路からの出力データを復号するように、一実施形態で使用され得る、符号化回路および復号化回路を示す図である。
【図15C】クロスバー回路内の電力消費を低減するために、クロスバー回路への入力前に入力データを符号化し、クロスバー回路からの出力データを復号するように、一実施形態で使用され得る、符号化回路および復号化回路を示す図である。
【図15D】クロスバー回路内の電力消費を低減するために、クロスバー回路への入力前に入力データを符号化し、クロスバー回路からの出力データを復号するように、一実施形態で使用され得る、符号化回路および復号化回路を示す図である。
【図15E】クロスバー回路内の電力消費を低減するために、クロスバー回路への入力前に入力データを符号化し、クロスバー回路からの出力データを復号するように、一実施形態で使用され得る、符号化回路および復号化回路を示す図である。
【図16】一実施形態に従って、狭データ入力経路およびデータ出力経路を伴うクロスバー回路が動作するためにどのように配設され得るのかを示す図である。
【図17A】代替の実施形態に従って、狭データ入力経路およびデータ出力経路を伴うクロスバー回路が動作するためにどのように配設され得るのかを示す図である。
【図17B】代替の実施形態に従って、狭データ入力経路およびデータ出力経路を伴うクロスバー回路が動作するためにどのように配設され得るのかを示す図である。
【図18】一実施形態に従って、部分的に有効化された構成において、クロスバー回路がどのように使用され得るかを示す図である。
【発明を実施するための形態】
【0078】
図1は、一実施形態によるクロスバー回路と、それに接続された複数のソース回路および宛先回路とを備える、提案されるスイッチングファブリックの上位図を示す。クロスバー回路は、クロスバー回路を通して第1の方向に延びる複数のデータ入力経路12と、第1の方向を横断する第2の方向に延びる複数のデータ出力経路50とを含む。図1の実施形態において、これらの経路は、どちらもマルチビットバスによって形成されており、特に、各データ入力経路は、複数のワード線を備え、各データ出力経路は、複数のビット線を備える。
【0079】
各データ入力経路とデータ出力経路との間の交差点には、クロスバーセル20が提供され、関連するデータ入力経路上で受信したデータを、関連するデータ出力経路上に選択的にルーティングするために使用される。各クロスバーセルは、各クロスバーセルのオン/オフ状態を記憶するための、構成記憶素子を含み、よって、クロスバーセルがオン状態にある場合は、データ入力経路上で受信した入力データをデータ出力経路にルーティングし、セルがオフ状態にある場合は、入力データは、関連するデータ出力経路上にルーティングされずに、単にセルを通過するだけである。
【0080】
各データ入力経路12は、そこから入力データ10を受信し得る、関連するソース回路30に連結され、各データ出力経路50は、そのデータ出力経路上に提供される出力データ70を受信するように配設される、関連する宛先回路40に連結される。
【0081】
示される実施形態において、各データ出力経路50のビット線は、プリチャージモジュール55を使用してプリチャージされ、次いで該ビット線は、ソース回路のうちの1つから、そのソース回路のデータをデータ出力経路に接続するクロスバーセルへのデータ入力に依存して、選択的にディスチャージされる。出力データ70を生成するために、このビット線の選択的なディスチャージは、感知増幅器回路65によって検出される。
【0082】
クロスバーが伝送動作モードにある時、データは、前述の様態でクロスバー回路を通してルーティングされるが、クロスバー回路は、必ずしも伝送動作モードにあるとは限らない。具体的には、種々のソース回路30によって発行される伝送要求間で何らかのコンフリクトを検出して解決する間、クロスバー回路はアービトレーション動作モードを有する。具体的には、スイッチングファブリックの中の同じ宛先回路に対する複数の要求は、コリジョンと称され、ソースおよび宛先の数が増加するにつれて、コリジョンはより頻繁になる。後により詳細に論じるように、各クロスバーセル20は、アービトレーション回路を含み、該アービトレーション回路は、アービトレーション動作モードで、複数のアサートされた伝送要求の存在を検出するように、およびそのような複数のアサートされた伝送要求の場合に、適応型優先順位スキームを実装してそれらのコンフリクトを解決するように、データ出力経路のビット線を再使用して、他のクロスバーセルのアービトレーション回路と組み合わせて動作する。提案される手法は、そのようなコリジョンを検出して解決するように、高速、低電力で、かつ高度に拡張性のある解決法を提供する。
【0083】
各クロスバーセルは、適応型優先順位スキームを実装した時に、アービトレーション回路によって参照される優先順位データを記憶するための、優先順位記憶回路を含み、該優先順位記憶回路は、アービトレーション回路によって、適応型優先順位スキームの各適用の間に、ビット線を再使用して、それらの中に記憶した優先順位データを自己更新するように構成される。
【0084】
図1では、ソース回路がクロスバーの左側に示され、宛先回路がクロスバーの底部に示されているが、ソース回路は、クロスバー回路のどちら側に提供することもでき、同様に、宛先回路は、データ出力経路のいずれかの端部に提供することができる。したがって、本発明の実施形態のクロスバー回路は、ソースをどちらかの水平端部に配置し、宛先をどちらかの垂直端部に配置するといった柔軟性を提供することを認識されるであろう。これは、ルーティングの輻輳を低減することによって、設計のフロアプランニングを単純化する。
【0085】
図2は、アービトレーション動作モード中のコンフリクトを検出して解決するために、データ出力経路のビット線がどのように再使用され得るのかを示す。この実施例では、伝送要求0〜15を発行し得る、クロスバー回路に接続された16のソース回路がある。任意の特定のデータ出力経路50について、各ソース回路は、感知増幅器およびラッチの形態で、その構成記憶回路内に組み込まれるクロスバーセル20と関連する。したがって、ソース0は、感知増幅器およびラッチ100を含有するクロスバーセルと関連し、ソース1は、感知増幅器およびラッチ105を含有するクロスバーセルと関連し、ソース2は、感知増幅器およびラッチ110を含有するクロスバーセルと関連し、残りのソース回路も同様に、ソース回路15は、感知増幅器およびラッチ115を含有するクロスバーセルと関連する。
【0086】
アービトレーション動作モードにおいて、プリチャージモジュール55は、各データ出力経路50の全てのビット線をプリチャージし、その後、それらのビット線は、アサートされた伝送要求に依存して、また適応型優先順位スキームに従って、選択的にディスチャージされる。この実施例では、各データ出力経路50は、16本のビット線を備え、感知増幅器およびラッチ回路のそれぞれは、それらのビット線のうちの異なる1つと関連することが分かる。ビット線のプリチャージに続いて、種々のソース回路によってアサートされた伝送要求が評価されるが、本実施形態では、アサートされた伝送要求は、論理1の値を取る。
【0087】
図2に示されるように、各クロスバーセルの優先順位記憶回路は、そのクロスバーセルの感知増幅器およびラッチが接続されるビット線を除く各ビット線について1つの、一連の優先順位記憶素子130を備える。具体的には、図2に示されるように、各クロスバーセルは、そのクロスバーセルの感知増幅器およびラッチ回路に接続されたビット線を除くビット線のそれぞれと関連する、一連のトランジスタ135を含む。次いで、アサートされた伝送要求が存在する場合は、それらの優先順位記憶素子にプログラムされた値に依存して、それらのトランジスタ135のゲートに値を提供するために、優先順位記憶素子130が使用される。
【0088】
図2に示されるように、濃い陰影を付けた優先順位記憶素子130の全ては、現在、論理1の値にプログラムされ、明るい陰影を付けた優先順位記憶素子130の全ては、現在、論理0の値にプログラムされている。したがって、アサートされた伝送要求がある場合には、論理1の値を記憶する優先順位記憶素子に取り付けられたトランジスタがビット線をディスチャージする一方で、論理0の値を記憶する優先順位記憶素子に取り付けられたトランジスタは、ディスチャージしない。図2に示される実施例では、適応型優先順位スキームの現在の適用について、ソース15が最も高い優先順位を有し、よって、該ソース15が伝送要求をアサートした場合、これは、その関連する感知増幅器およびラッチ回路115のビット線を除くビット線の全てのディスチャージを引き起こす。ソース14は、次に高い優先順位を有し、ソース13が次に高い優先順位を有する等、ソース0が最も低い優先順位を有する。具体的には、見て分かるように、ソース0からの伝送要求(すなわち、要求0)がアサートされた場合、これは、いかなるビット線もディスチャージさせない。
【0089】
選択的なディスチャージ動作に続いて、次いで、アサートされた伝送要求を受信する任意の感知増幅器およびラッチ回路は、関連するクロスバーセルが、伝送動作モードで、その入力をその出力に連結するかどうかを決定するルーティング値を記憶するために、その関連するビット線をサンプリングする。具体的には、ルーティング値が第1の値(一実施形態において、これは、論理1の値である)を有する場合にだけ、関連するクロスバーセルが伝送動作モード中にその入力データをその出力に接続し、また前述したスキームによって、アービトレーション動作モードの終了時には、1つのクロスバーセルだけが、論理1の値に設定された感知増幅器およびラッチ回路を有することが理解されるであろう。
【0090】
したがって、一例として、ソース1およびソース2の両方が、アサートされた伝送要求を発行した場合、アサートされた要求1およびアサートされた要求2の両方が、第1のビット線をディスチャージさせることが分かる。その結果、ソース0が要求をアサートする場合であっても、関連する感知増幅器およびラッチ回路100は、アービトレーション動作モードの終了時に、論理0の値をラッチするので、その要求は承諾されない。さらには、アサートされた要求2が、第2のビット線をディスチャージさせ、よって、アービトレーション動作モードの終了時に、ソース1と関連する感知増幅器およびラッチ回路105が論理0の値をラッチする。したがって、ソース1が伝送要求をアサートした場合であっても、ソース2もアサートされた伝送要求を発行していたのであれば、その伝送要求は承諾されない。そのサイクルでいずれの他のソース回路も伝送要求をアサートしていないと仮定すると、その場合、ソース回路2と関連する感知増幅器およびラッチ回路110は、アービトレーション動作モードの終了時に論理1の値をラッチし、それに応じて、ソース2からの伝送要求が承諾されることが分かるであろう。
【0091】
上記の説明から、受信するアサートされた伝送要求が、より低い優先順位のソースからの他のアサートされた伝送要求の抑止を引き起こすことが分かる。次いで、任意のアサートされた伝送要求に対する感知増幅器およびラッチ回路は、要求が承諾されたかどうかを判定するために、それらの関連するビット線をサンプリングする。この技法によって、単一のサイクルでコリジョンを検出して解決することができる。さらに、アービトレーション動作モード中にコンフリクトを検出して解決するために使用されるのと同じビット線が、それに続く伝送動作モードで、次いで、データの転送のために使用されることが分かる。
【0092】
アサートされた伝送要求は、多数の異なる方法でクロスバー回路の中に入力することができるが、一実施形態では、アサートされた伝送要求を入力するために、データ入力経路のワード線が使用される。したがって、各データ入力経路が16本のワード線を有する実施形態を検討した場合、任意の特定のソース回路が、それらのワード線を介して、最高16のデータ出力経路のうちのどれが、アービトレーション動作モードで、異なるデータ出力経路と関連している個々のワード線のそれぞれの伝送要求をアサートしたいのか特定することができることが分かる。
【0093】
図2には明確に示されていないが、優先順位記憶素子130に加えて、プリチャージモジュール55によって実行されるプリチャージ動作モード中に、トランジスタ135をオフにすることを確実にするように、典型的に、各トランジスタ135のためのいくつかの関連する分離回路も存在する。
【0094】
一実施形態では、各クロスバーセルには、もはや必要でなくなった時にチャネルを解放するための機構を提供するように、解放回路が提供される。具体的には、ソース回路30がチャネルへのアクセスを承諾されると、そのソース回路だけが、以降の異なるソース回路への割り当てのためにチャネルを解放することができ、このチャネルの解放は、現在そのチャネルへのアクセスが承諾されているソース回路からのアサートされた解放要求に応答して、解放回路によって実行される。あるチャネルが特定のソース回路に対して承諾されても、いかなる他のソース回路もそのチャネルへのアクセスを得ることはできず、また、他のソース回路によって発行されたそのチャネルに関して、いずれのアサートされた伝送要求も作用しない一方で、チャネルは、ソース回路に割り当てられる。
【0095】
図3は、一実施形態に従って加えられる、解放回路140を示す。優先順位記憶素子と同様の方法で、解放回路140は、関連するトランジスタ145を駆動するために使用され、この場合、トランジスタは、ルーティング値を決定するために同じクロスバーセルの感知増幅器およびラッチ回路によってサンプリングされる、ビット線に連結される。したがって、ソース回路がチャネルを解放したいと望む時には、解放要求を解放回路140に送信し、論理1の値をトランジスタ145に出力させて、関連するビット線をディスチャージさせる。その後、関連する感知増幅器およびラッチは、ビット線をサンプリングし、それによって、そこに論理0の値を記憶し、したがって、チャネルを解放する。ここでも、プリチャージモジュール55によって実行されるプリチャージ動作中に、トランジスタ145をオフにすることを確実にするように、いくつかの関連する分離回路が各トランジスタ145に提供される。
【0096】
一実施形態では、関連するデータ入力経路のワード線が解放要求または伝送要求を搬送しているかどうかを識別するために、アービトレーション動作モードで、解放要求が発行され、アービトレーション動作モードで、ソース回路によって制御信号が発行される。したがって、今回はアサートされた解放要求を関連する解放回路140に搬送するために、ここでも、データ入力経路のワード線を再使用することができ、それによって、以前に特定のソース回路に対して承諾されたチャネルを解放するために特に効率的な機構を提供する。
【0097】
前述のように、各クロスバーセルの優先順位記憶回路は、適応型優先順位スキームを実装した時にアービトレーション回路によって参照される優先順位データを記憶し、優先順位記憶回路は、アービトレーション回路によって、適応型優先順位スキームの各適用の間に、ビット線を再使用して、それに記憶される優先順位データを自己更新するように構成される。適応型優先順位スキームがLRG優先順位スキームである特定の実施形態についてこれが達成される様態を、図4A〜図4Hを参照してさらに論じる。
【0098】
図4Aは、チャネルの要求をアサートすることができる、5つのソース回路を伴う例を示す。この実施例では、各クロスバーセルの優先順位記憶回路は、クロスバーセルが連結されるチャネルに関して、その記憶された値が、関連するソース回路の優先順位を集合的に示す、4つの優先順位記憶素子から成る。図2を参照して前に論じたように、アービトレーション機構は、2つの段階で実装される。クロックの正相において、ビット線は、論理1のレベルにプリチャージされ、これに続いて、クロックの負相において、それらのビット線は、交差点に記憶される優先順位に基づいて、要求がソース回路によってアサートされる交差点で選択的にディスチャージされる。
【0099】
図4Aにおいて、各クロスバーセルの優先順位記憶回路は、各チャネルに関して、所定の初期の優先順位を各ソース回路に割り当てるように、リセット動作を受ける。図4Aに示されるチャネルの実施例について、優先順位は、昇順に割り当てられ、ソース4が最も高い優先順位を有する一方で、ソース0は、最も低い優先順位を有する。
【0100】
次いで、図4Bに示されるように、ソース回路のうちの1つまたは複数が、伝送要求をアサートする。図4Bの実施例では、ソース1および3は、示されるチャネルに関して、伝送要求をアサートすると仮定される。図4Cに示されるように、ビット線をプリチャージすると、アサートされた伝送要求は、記憶された優先順位データに依存して、ビット線のうちのいくつかをディスチャージさせる。具体的には、ソース3と関連する優先順位記憶素子160、162、および164に記憶される論理1の値は、それぞれ、ビット線170、172、および174をディスチャージさせる。ソース1と関連する優先順位記憶素子166の論理1の値も、ビット線170をディスチャージさせる。
【0101】
図4Dに示されるように、選択的なディスチャージプロセスに続いて、ソース回路1およびソース回路3と関連する感知増幅器およびラッチ(SAEL)回路180、182は、それぞれ、次いでそれらのビット線を評価する。SAEL回路182は、ビット線176がディスチャージされなかったので、論理1の値を感知し、ソース回路3のアサートされた伝送要求が成功したことを示す。一方、SAEL回路180は、ビット線172がディスチャージされたので、論理0の値を感知し、ソース回路1のアサートされた伝送要求が成功しなかったことを示す。ソース回路3は、ここで、チャネル上でデータを送信することができる。
【0102】
図4Eに示されるように、ソース回路3は、データの送信を終了した時に解放要求をアサートする。図4Fに示されるように、ビット線はプリチャージされ、その後、ビット線176は、ソース回路3からアサートされた解放要求が与えられる解放回路190によってディスチャージされる。次いで、SAEL回路182が論理0の値を感知し、それによって、チャネルを解放する。
【0103】
その後、図4Gに示されるように、優先順位記憶回路に記憶された優先順位が更新されるが、この更新プロセスは、ディスチャージされたビット線176に連結された優先順位記憶素子192の列、および解放要求を受信するクロスバーセル内に含有された優先順位記憶素子194の行の両方に影響を及ぼす。具体的には、図4Hに示されるように、列192内の全ての優先順位記憶素子には論理1の値が書き込まれる一方で、行194内の全ての優先順位記憶素子には論理0の値が書き込まれる。その結果、ソース回路3が現在最も低い優先順位を有することが分かる。ソース回路4の優先順位は、ソース回路3よりも高い優先順位であったので、元の状態に留まる。加えて、ソース回路0、1、および2は、それらの優先順位をアップグレードする。図4Hに列記される旧優先順位および新優先順位の比較によって、次にアービトレーションプロセスが適用される時には、アサートされた伝送要求を評価する時に新優先順位が使用されるので、この優先順位更新プロセスが、LRGの実装を達成することが分かる。
【0104】
例示目的だけのために5つの入力を検討してきたが、該技法は、任意の数の入力に使用できることを理解されるであろう。
【0105】
図5(図5A及びB)は、各クロスバーセル内に提供される主な構成要素を示し、具体的には、行0、1、および2に関して、列0に提供されるクロスバーセルを示す。したがって、クロスバーセル200は、行0と列0との間の交差点に提供され、クロスバーセル230は、行1と列0との間の交差点に提供され、クロスバーセル260は、行2と列0との間の交差点に提供される。
【0106】
最初に、クロスバーセル200を検討すると、これは、構成記憶回路205、伝送回路210、チャネル解放回路215、アービトレーション回路220、および優先順位記憶回路225から構成される。アービトレーション動作モードで、伝送要求は、データ入力経路(図5では、入力バスとも称する)上でアサートされ、それに応じて、ソース0が列0の伝送要求をアサートすることを望む場合は、入力バスのビット0を設定することによってそれを行う。見て分かるように、ビット0の値は、ANDゲート207に入力され、他の入力は、要求チャネル制御信号によって駆動される。アービトレーション動作モード中に、入力バス上で任意のアサートされた伝送要求を発行している場合、ソース回路は、要求チャネル制御信号をアサートする。つまり、ソース0がチャネル0のアサートされた伝送要求を発行している場合、ANDゲート207へのどちらの入力も論理1の値となり、それに応じて、アービトレーション回路220および構成記憶回路205の両方が起動される(構成記憶回路は、ORゲート208を介して起動される)。
【0107】
見て分かるように、構成記憶回路205は、チャネル0のためのデータ出力経路(図5では、出力バスとも称する)のビット0に接続され、アービトレーション動作モードの終了時に、そこに記憶されるルーティング値を決定するために、出力バスのビット0の値をサンプリングする。しかしながら、その時点の前に、アービトレーション回路220は、出力バスのビット線を選択的にディスチャージするために、アサートされた伝送要求を受信したその列と関連する任意の他のクロスバーセルのアービトレーション回路250、280等と関連して動作する。具体的には、図5で分かるように、クロスバーセル200のアービトレーション回路220は、ビット線0を除く出力バスの他のビット線の全てに接続され、優先順位記憶回路225にプログラムされた優先順位データに依存して、それらのビット線を選択的にディスチャージする。
【0108】
前述のように、アービトレーション回路220の選択的なディスチャージ動作に続いて、構成記憶回路205は、次いで、その関連する出力ビット線の値をサンプリングし、具体的には、そのビット線がまだプリチャージ電圧レベルにある場合は、ソース0がチャネル0へのアクセスを承諾されていることを示すように、構成記憶回路205内に論理1のルーティング値を記憶する。列の中のクロスバーセルのアービトレーション回路によって実装される適応型優先順位スキームの性質のため、アービトレーション動作モードの終了時に、任意の特定の列に対して1つのクロスバーセルだけが、その構成記憶回路を論理1の値に設定し、それに応じて、1つのソース回路だけが、いずれかの時点で特定の宛先回路へのアクセスを承諾され得る。
【0109】
アービトレーション動作モードに続いて、スイッチングファブリックは、伝送動作モードに入り、その間、特定のチャネルへのアクセスを承諾された各ソース回路は、入力バス上でその入力データを提供する。故に、ソース0が列0へのアクセスを承諾されたと仮定すると、入力バス上で伝送回路210にそのデータが発行され、構成記憶回路205に論理1の値が記憶されているとすれば、その場合、その入力をチャネル0のための出力バスに接続する。
【0110】
前述のように、アービトレーション動作モードでは、チャネルが以前に特定のソースに承諾されている場合、それらを解放することも可能である。したがって、例として、ソース0が以前にチャネル0へのアクセスを承諾されており、それに応じて、構成記憶回路205がそこに記憶された論理1のルーティング値を有する場合、アービトレーション動作モードで、チャネル0のアサートされた解放要求を特定するように、ソース0は、入力バスのビット0の論理1の値とともに、ANDゲート217への解放チャネル制御信号を発行することができる。これは、論理1の値をチャネル解放回路215に入力させ、ORゲート208を介して構成記憶回路を起動させる。この論理1の値に応答して、チャネル解放回路が、出力バスのビット0をディスチャージし、次いで、構成記憶回路205が、出力バスを再度サンプリングし、それによって、論理0の値を構成記憶回路205内に記憶させる。
【0111】
アサートされた解放要求はまた、それに記憶される優先順位データを自己更新するように、優先順位記憶回路を起動させる。前に論じ、図5に示されるように、優先順位記憶回路は、同じクロスバーセルの構成記憶回路が連結されるビット線以外の、出力バスの各ビット線に連結される。加えて、図10Dを参照して後により詳細に論じるように、優先順位記憶回路は、負荷優先順位信号を受信するが、これは、一実施形態では、自己更新プロセス中に、その値が更新される個々の優先順位記憶素子のうちの少なくともいくつかを識別するために(優先順位記憶回路に連結されるビット線の電圧と組み合わせて)使用される。
【0112】
一実施形態において、要求チャネル制御信号および解放チャネル制御信号の両方を2ビット信号に符号化することができ、その2ビット信号を用いて、アービトレーション動作モード中に、関連するソース回路が任意のアサートされた伝送要求を発行しているかどうか、任意のアサートされた解放チャネル要求を発行しているかどうか、または任意のアサートされた要求を発行していないかどうかを特定する。
【0113】
クロスバーセル230および260は、クロスバーセル200と同一の方法で構成されており、したがって、クロスバーセル230の素子235、237、238、240、245、247、250、および255、ならびにクロスバーセル260の素子265、267、268、270、275、277、280、および285は、それぞれ、クロスバーセル200の素子205、207、208、210、215、217、220、および225に対応する。しかしながら、図5から明らかなように、これらの種々の素子が種々のワード線およびビット線に接続される方法は、若干異なる。クロスバーセル200、230、260のそれぞれが列0と関連するので、アサートされた伝送要求およびアサートされた解放要求は、常時、関連する入力バスのビット0に提供され、故に、この目的のために、3つ全てのクロスバーセルがビット0(ワード線0)に接続される。しかしながら、ビット線への接続を検討すると、クロスバーセル200の構成記憶回路205は、出力バスのビット0に接続されているが、クロスバーセル230の構成記憶回路235は、ビット1に接続され、クロスバーセル260の構成記憶回路265は、ビット2に接続されていることが分かる。各クロスバーセルのチャネル解放回路は、関連する構成記憶回路と同じビット線に接続される。一方、アービトレーション回路および優先順位記憶回路は、関連する構成記憶回路に接続されたビット線を除くビット線の全てに接続される。伝送動作モードでは、関連する構成記憶回路のルーティング値が論理1の値に設定されている場合、伝送回路は、入力バス上のデータを関連する出力バスに接続するので、当然、伝送回路はワード線およびビット線の全てに接続される。
【0114】
図6(図6A及びB)は、図5と同様の図であるが、行0と、列0、列1、および列2との間の交差点にそれぞれ提供される、クロスバーセル200、300、330を示す。クロスバーセル200は、図5を参照して前述した通りであり、クロスバーセル300、330は、同じ方法で構成される。故に、クロスバーセル300の素子305、307、308、310、315、317、320、および325、ならびにクロスバーセル330の素子335、337、338、340、345、347、350、および355は、それぞれ、クロスバーセル200の素子205、207、208、210、215、217、220、および225に対応する。この実施例では、クロスバーセルの全てが同じ行と関連するので、該クロスバーセルは、同一の様態で、それらのそれぞれの出力バスのビット線に接続される。しかしながら、入力バスを検討した時に、チャネル0に対するアサートされた伝送要求または解放要求は、ワード線0に入力される一方で、チャネル1に対するアサートされた伝送または解放要求は、ワード線1に入力され、チャネル2に対するアサートされた伝送または解放要求は、ワード線2に入力される。故に、各クロスバーセルの構成記憶回路、チャネル解放回路、およびアービトレーション回路は、それに応じて、異なる入力ワード線によって駆動される。
【0115】
図7は、伝送回路およびアービトレーション回路が、各ビット線にどのように接続されているかをより詳細に示す。具体的には、素子420は、個々のビット線と関連する伝送回路の一部を示し、素子440は、個々のビット線と関連するアービトレーション回路の一部を示す。
【0116】
16ビット幅のチャネルを検討すると、アービトレーション回路は、そのクロスバーセルの構成記憶回路410が接続されるビット線を除くビット線の全てと関連するので、16本のビット線のうちの15本が図7に示す様態で接続される。図5および図6を参照して前述したように、構成記憶回路410は、クロスバーセルに提供されると、アサートされた伝送要求またはアサートされた解放要求が存在する場合、そのクロスバーセルに設定される、記憶構成信号を受信し、その設定された記憶構成信号に応答して、接続される特定のビット線上の値をその構成としてサンプリングする。これは、アービトレーション動作モード中に起こり、アービトレーション動作モードの終了時に、これが論理1のルーティング値を構成記憶回路410に記憶させる結果となる場合、クロスバー回路が続いてデータ伝送動作モードに入る時に、伝送回路420のトランジスタ422がオンになることが分かる。故に、対応するワード線上のデータ入力も論理1の値である場合、これは、トランジスタ424をオンにさせ、それに応じて、ビット線426をディスチャージさせ、このビット線は、プリチャージ回路400によって論理1のレベルに予めプリチャージされている。ビット線426のいずれのディスチャージも、感知増幅器回路430によって感知される。
【0117】
アービトレーション動作モードでは、伝送回路を使用せず、その代わりに、アービトレーション回路440を使用して、トランジスタ442によって受信されるANDゲート455からの入力に依存して、ビット線426を選択的にディスチャージする。具体的には、優先順位記憶素子450が論理1の値を記憶し、かつアサートされた伝送要求を対応するワード線上で受信した場合、論理1の値がトランジスタ442に入力され、ビット線426をディスチャージさせる。アービトレーション動作モードが終了するころに、アサートされた伝送要求を受信した別のクロスバーセルのビット線426に接続された任意の構成記憶回路は、そのクロスバーセルに適用可能なルーティング値の値を決定するために、ビット線上の値をサンプリングする。
【0118】
各関連するアービトレーション素子440には別個の優先順位記憶素子450が提供され、その値は、release_channel信号が存在する場合に更新される一方で、対応するワード線の解放入力も論理1の値である。後に図10Bを参照して論じるように、ビット線426上の負荷priority_b信号および電圧も、優先順位更新プロセス中に使用される。さらに、優先順位記憶素子は、リセット信号を受信するが、設定されると、所定の値(優先順位記憶素子の形態に依存して、1または0)を優先順位記憶素子に書き込ませる。
【0119】
図8は、一実施形態による伝送回路および関連する解放回路を示す。16ビットのチャネルを検討すると、1本のビット線が、この様態で各クロスバーセル内に接続される。伝送回路の動作は、図7を参照して論じたものと変わらず、故に、ここでは詳細に論じない。しかしながら、図7のアービトレーション回路440の代わりに、解放回路460が、このビット線462に接続されている。また、クロスバーセルの構成記憶回路410も、ビット線462に接続されていることにも留意されたい。ANDゲート470は、図5および図6においてチャネル解放回路に供給するように示されるANDゲートに対応し、したがって、解放チャネル制御信号がアサートされ、かつ関連する入力ワード線上のビットがアサートされた場合、これは、特定のチャネルのアサートされた解放要求の存在を示し、図8から分かるように、トランジスタ465をオンにして、ビット線462をディスチャージする結果となる。その後に、構成記憶回路410は、ビット線462上の値を再度サンプリングさせるアサートされた記憶構成信号を受信させられ、それによって、論理0のルーティング値がそこに記憶され、したがって、チャネルが解放される。
【0120】
上記の技法を使用すると、図9に概略的に示されるように、パケットスイッチングクロスバーを実装することが可能となる。パケットスイッチング環境において、ソースは、最初に要求を送信し、次いで、承諾された信号を受信するとデータを送信し、要求およびデータは、同じ入力線上で送信される。本発明の実施形態の前述の考察から、アサートされた伝送要求を、その後伝送動作モードで、データを搬送するために使用されるのと同じワード線上で入力することを可能にすることにより、本発明の実施形態のクロスバー回路が、このようなパケットスイッチングの実施形態に容易に役立つことが分かる。図5および図6を参照して前に論じた要求チャネルおよび解放チャネル制御信号は、2ビットの要求/解放入力線500を介して入力することができ、アサートされた伝送要求またはアサートされた解放要求は、関連するデータ入力経路12上で入力される。関連するソース回路が承諾されたことを示すように、アービトレーション動作モード中に、クロスバーセルの中の特定の構成記憶回路が論理1の値を記憶する時、承諾信号が線505上でソース回路へと返される。任意の特定のソース回路が、いずれかの時点で1つの出力チャネルを要求することしかできない、単一の要求の実装では、単一の承諾信号線505だけしか必要としない。しかしながら、マルチキャスティング(1つのソース回路が、任意の時点で複数のチャネル上でデータを同報通信することができる)をサポートする代替の実施形態では、その場合、ソース回路は、いずれかの時点で複数のアサートされた伝送要求を発行することができ、そのような実施形態では、マスターがどのチャネルのアクセスを承諾したのかを識別するために、マルチビットの承諾信号線505を提供することができる。
【0121】
アービトレーション動作モード中は、クロスバーセルのそれぞれも、関連するチャネルが要求中のソースに自由に割り付けられるかどうかを示す、チャネルフリー信号を線510上で受信するが、この信号の使用は、後に図10および11を参照して論じる。図10Dを参照して後により詳細に論じるように、負荷priority_b信号は、経路515上で提供されるが、これは、プリチャージモジュール55によってプリチャージされ、次いで、アサートされた解放要求に応答して、優先順位記憶素子の中の優先順位データが更新された時にディスチャージされる。
【0122】
したがって、図9および本発明の実施形態の前の考察から、このパケットスイッチングクロスバーの実装において、プリチャージおよび条件付きディスチャージスキームが、伝送動作モード中にクロスバー回路を通してデータを伝送するために使用されることが理解されるであろう。前述のアービトレーション動作モード中には、コリジョンの検出および解決のためにビット線が再使用され、アサートされた伝送要求を伝送するためにワード線が使用される。2ビットの要求/解放信号は、特定のアービトレーション動作モード中に、伝送要求または解放要求がアサートされるかどうかを特定するために使用することができる。伝送要求がアサートされたと仮定すると、その場合、その要求が要求されたチャネルを獲得することに成功したかどうかをソースに示すために、承諾信号が使用される。
【0123】
既存のワード線(入力バス)およびビット線(出力バス)は、前述した機能性の全てを実現するために使用され、それによって、これらの機能性の全てが、最小限のルーティングオーバーヘッドで達成されることを可能にする。
【0124】
図10A〜図10Dは、第1の実施形態に従って、各クロスバーセル20内に提供される回路をより詳細に示しており、ソース回路は、一度に単一の伝送要求を発行するだけであってもよい。図7および図8の前の考察から明らかなように、出力経路の各ビット線には、伝送回路を形成するために一対のトランジスタ710、715、720が提供され、これらのトランジスタのうちの一方は、その入力で、対応するワード線上の値を受信し、もう一方のトランジスタは、その入力で、関連する構成記憶素子700のルーティング値を受信する。プリチャージ動作段階中に、ディスチャージ信号は、論理0の値に設定され、条件付きディスチャージ回路705に、構成記憶回路700のコンテンツから各伝送回路のこれらのトランジスタ710、715、720を分離させる。しかしながら、プリチャージ動作が終了して、感知動作が開始したことを示すように、ディスチャージ信号がHighになる時、構成記憶素子700は、今度は、各伝送回路の第2のトランジスタ710、715、720を駆動するために使用される値を提供し、第1のトランジスタで受信される入力データに依存して、関連するビット線の選択的なディスチャージを引き起こすことが分かる。条件付きディスチャージ回路705もWL_b信号を使用し、図10Bは、WL_b信号がどのように発生し、図10Bの回路765がクロスバーセルあたり一度提供されるのかを示す。
【0125】
図10Aの右側に示されるように、ビット線のうちの1つは、ANDゲート732および関連するトランジスタ712によって形成される解放チャネル回路に接続される一方で、他の全てのビット線は、それぞれ、アービトレーション回路および関連する優先順位記憶素子717、742、および722、752に接続される。構成要素730、740、および750のそれぞれは、構成要素760と組み合わせて機能し、プリチャージ動作モード中に、関連するトランジスタ712、717、722を分離する、条件付きディスチャージ回路を提供する。具体的には、プリチャージ動作モード中は、ディスチャージ信号が低くなり、WL信号の値に関わらずブロック760からの出力を低くさせ、その結果、構成要素730、740、および750の出力を低くさせ、それによって、トランジスタ712、717、722をオフにする。
【0126】
しかしながら、ディスチャージ信号が高くなる時、よってWL信号が高くなる場合、これは、論理1の値を構成要素760から出力させる。したがって、アービトレーション回路ならびに関連する優先順位記憶素子717、742、および722、752を検討すると、関連する記憶素子742、752も論理1の値を記憶する状況でのアサートされた伝送要求の場合、Release_b信号が高くなり(アサートされた解放要求ではなく、アサートされた伝送要求があるため)、したがって、ANDゲート743、753からの出力が高くなり、関連するトランジスタ717、722をそれぞれディスチャージさせ、それによって、前に論じた優先順位スキームが実装される。しかしながら、優先順位記憶素子のうちのいずれかが論理0の値を記憶している場合、またはアサートされた伝送要求が存在しないのでWL信号がアサートされない場合は、対応するトランジスタ717、722はディスチャージしない。
【0127】
同様に、解放回路712、732を検討すると、アサートされた解放要求が存在する場合、解放信号および入力0のワード線の両方が高く設定された場合、これは、解放トランジスタ712をディスチャージさせ、その後に、構成記憶素子700によってビット線が再サンプリングされ、ルーティング値が0にリセットされる。解放信号が高く設定されている間は、release_b信号が低くなり、それに応じて、解放されている同じビット線に接続された他のクロスバーセルの優先順位記憶素子は、解放トランジスタ712を介して実行されている解放動作に干渉することができない。
【0128】
図10Bは、アサートされた要求チャネルまたは解放チャネルの信号を認めるために使用される回路を示す。それは、要求/解放チャネルの信号が認められた場合にだけ高く設定される、WL信号を生成する。このWL信号は、次いで、構成記憶素子700を起動させるために使用される。同じWL(およびWL_b)信号が、条件付き解放回路705およびアービトレーション回路760を適切に動作させるためにも使用される。
【0129】
図10Cは、記憶された値を更新させるために、およびその更新された値に依存して承諾信号を発生させるために、構成記憶素子700の感知増幅器およびラッチ回路775に関連して提供される回路を示す。具体的には、センスイネーブル(SE)信号が設定され、かつWL信号が設定される場合、これは、設定されたQSE(認められたSE)信号をANDゲート770に出力させる。QSE信号が設定された場合、これは、対応するビット線上の電流値を感知増幅器およびラッチ回路775にサンプリングさせ、この実施例では、感知増幅器およびラッチ回路は、ビット線0に接続される。
【0130】
承諾信号は、感知増幅器およびラッチ回路775の現在のコンテンツから発生する。具体的には、現在のコンテンツおよびWL信号に基づいて、NANDゲート780が、分離回路785にルーティングされる信号を出力する。分離回路785は、特定の行の中の1つのクロスバーセルだけが、承諾信号を駆動することを確実にする。具体的には、ソース回路が現在要求しようとしている列と関連するクロスバーセルだけが、承諾信号を生じさせることができる。したがって、この実施例では、伝送要求が高く設定され、かつワード線0上の入力が高く設定された場合、これは、論理1の値を、分離回路785の中のより低いトランジスタに提供させ、論理0の値を、より高いトランジスタに提供させ、それによって、インバータをオンにし、承諾信号を伝播させる(感知増幅器およびラッチ回路775が論理1の値を記憶している場合、承諾信号がアサートされる)。しかしながら、そうでない場合は、論理0の値がより下位のトランジスタに提供され、論理1の値がより上位のトランジスタに提供され、それによって、インバータをオフにさせ、いかなる承諾信号も伝播されない。
【0131】
図10Dは、一実施形態による各優先順位記憶素子742、752の構造を示す。アサートされた解放要求が存在する場合、解放信号および入力0のワード線がどちらも高く設定されると、ANDゲート790は、論理1の値を出力する。ディスチャージ信号も論理1のレベルになる時、これは、ANDゲート791に、論理1の値を出力させ、かつトランジスタ792を介して負荷priority_b信号をディスチャージさせる。
【0132】
通常動作中、リセット信号は、論理0の値となり、したがって、reset_b信号は、論理1のレベルとなる。したがって、アサートされた解放要求を受信するクロスバーセルの中の全ての優先順位記憶素子(例えば、前に論じた図4Gに示される行194の中の優先順位記憶素子)について、ANDゲート795は、ディスチャージ信号が高い時に、3つの論理1の入力を受信し、中間の論理1の入力は、ORゲート794を介してANDゲート790の出力に由来する。その結果、トランジスタ796をオンにし、ANDゲート790から供給された論理1の値に基づいて、優先順位記憶素子798に、論理0の値をそれに記憶させる。
【0133】
同様に、アサートされた解放要求によってディスチャージされるビット線に連結される全ての優先順位記憶素子(例えば、前に論じた図4Gに示される列192の中の優先順位記憶素子)について、ANDゲート795は、ディスチャージ信号が高い時に、3つの論理1の入力を受信し、中間の論理1の入力は、NANDゲート793の出力に由来する。具体的には、この時点で、負荷priority_b信号が論理0のレベルであるので、これは、NANDゲート793が、関連するビット線がディスチャージされた時に、論理1の出力だけしか生成しないことを確実にする。その結果、トランジスタ796をオンにし、ANDゲート790から供給された論理0の値に基づいて、優先順位記憶素子798に、論理1の値を記憶させる(優先順位記憶素子が、アサートされた解放要求を発行するソース回路に連結されていないクロスバーセル内に存在することになるので、この出力は、ディスチャージされたビット線に連結される優先順位記憶素子について、論理0の値である)。
【0134】
行194または列192の中にない他の全ての優先順位記憶素子について、ANDゲート795の中間の入力は、論理0の値となり、それに応じて、優先順位の値に対していかなる更新も行われない。
【0135】
図10Dに示されるように、各優先順位記憶素子は、ブロック798に示される形態、またはブロック799に示される形態のいずれかを取ることができる。通常の使用中、リセット信号が低く、かつreset_b信号が高い時には、形態798のNANDゲートおよび形態799のNORゲートのどちらもインバータとして動作するので、どちらの形態も同じ様態で動作する。しかしながら、リセット動作中に、リセット信号が論理1のレベルに遷移すると、reset_b信号を論理0のレベルに遷移させ、その結果、形態798の優先順位記憶素子は、論理0の値を記憶し、形態799の優先順位記憶素子は、論理1の値を記憶する。したがって、優先順位記憶素子は、リセット信号に応じて元の構成に設定することができ、その後に、チャネルが解放されるたびに、そのチャネルのためのLRG優先順位スキームを実装するように、そのチャネルのための優先順位データが更新される。前述のように実装されるLRGスキームは、クロスバー回路内の各チャネルについて、独立に動作することを理解されるであろう。
【0136】
図11A〜図11Dは、本発明の代替の実施形態に従って各クロスバーセル内に提供される回路を示しており、各ソースは同時に複数の要求を発行することができる。これは、クロスバー内でマルチキャスティングを実行するための、より効率的な実現形態を可能にする。具体的には、図10A〜図10Dの実施形態において、ソース回路は、一度に1つのチャネルだけしか要求できないので、マルチキャスティングが要求される場合は、複数のチャネルを獲得するために、複数のアービトレーションサイクルを要求する。しかしながら、図11A〜図11Dの実施形態において、ソース回路は、同時に複数のチャネルに対する要求を発行することができ、また潜在的に、1つのアービトレーションサイクルで複数のチャネルを得ることができ、それによって、マルチキャスティングをより効率的に達成することを可能にする。
【0137】
図11A、図11B、および図11Dは、図10A、図10B、および図10Dと同一であり、故に、ここでは詳細に論じない。しかしながら、図11Cに示されるように、分離回路の必要性が全くないので、構成記憶回路の構造は、かなり単純化されている。代わりに、各列と関連して別個の承諾線が提供され、したがって、感知増幅器およびラッチ回路775の現在のコンテンツは、設定されたWL信号が存在する場合、承諾信号を直接的に生成するために使用することができる。具体的には、WL信号が設定された場合、ソース回路は、アサートされた伝送要求を発行し、感知増幅器およびラッチ回路775の現在のコンテンツは、伝送要求が成功したことを示す論理1の値に設定され、次いで、論理1の承諾信号が発行されてソース回路に返される。
【0138】
図12は、一実施形態による、各クロスバーセル内に提供される構成記憶回路(すなわち、感知増幅器およびラッチ回路)の配設を示す。図10Cおよび図11CのANDゲート770によって発生させたQSE信号は、インバータ850を通過してQSE_b信号を生成する。故に、QSE信号が高くなると、感知増幅器(感知増幅器はトランジスタ805、810、815、820によって形成される)の感知動作を開始するように、PMOSトランジスタ800が開かれる。感知動作の開始時、トランジスタ815および820は、オフにされる。トランジスタ805にルーティングされた入力線がディスチャージし始めると、これは、トランジスタ805をオンにし、中間ノードIをVddに引き上げる。その結果、これは、トランジスタ810をオンにし、短期間の後に感知増幅器内に正のフィードバックループを作成し、その時点で、感知増幅器は、その出力を発生させるために、接地へと遷移する入力信号にはもはや依存しない。
【0139】
一連のトランジスタ825、830、835は、感知増幅器と、構成要素840および845から構成されるラッチとの間の転送機構として機能する。具体的には、動作の感知段階中に、トランジスタ830がオンになり、ラッチのコンテンツを、感知増幅器の中間ノードIの値によって決定することを可能にする。具体的には、感知増幅器への入力が論理0の値へと遷移する場合、これは、ラッチ内に論理0の値をラッチに記憶するために、中間ノードIをVddへと遷移させ、それによって、トランジスタ835をオンにさせることが分かるであろう。反対に、入力線がディスチャージしない場合、中間ノードの電圧は、論理0レベルに留まり、それによって、トランジスタ825をオンにし、ラッチ内に論理1の値を記憶させる。
【0140】
QSE信号が低くなるとすぐにトランジスタ830がオフになり、それによって、感知増幅器出力からラッチが分離されるため、ラッチは、QSE信号が高い期間中にだけ、その入力を更新することが理解されるであろう。
【0141】
図13A〜図13Cは、SE信号およびディスチャージ信号の両方を生成するために一実施形態で使用されるパルス発生器回路を示す。図13Aは、構成要素860によっていくつかの遅延が導入された後に、SE信号からどのようにディスチャージ信号が生成されるかを示す。実際には、図13Aの回路はANDゲートとしての役割を果たし、SE信号と遅延バージョンのSE信号とのANDを行う。
【0142】
図13Bは、SE信号を作成するために使用される、リング発振器の設計を示す。発振入力信号が高い時に、これは、リング発振器を起動させてクロック信号を生成し、SE信号は、いくつかの遅延回路870を介したクロック信号に由来する。
【0143】
図13Cに示されように、SE信号が低くなる期間、つまりd1期間は、構成要素870によって決定され、ディスチャージが高くなる期間、つまりd2期間は、図13Aの遅延回路860によって決定される。
【0144】
電圧Vb_SEおよびVb_Dischargeは、遅延期間d1およびd2を制御するために使用され、具体的には、これらの電圧が低減された場合、それに応じて遅延期間が長くなる。
【0145】
クロックのポジティブエッジでは、データがワード線上に立ち上げられる。この時点では「ディスチャージ」信号が低いため、ビット線はワード線から分離されている。「d1」期間中、データは、ワード線上に留まり、ビット線は、完全にプリチャージされる。「d2」は、ビット線が条件付きでディスチャージされる期間である。同時に、SE信号が高くなり、感知増幅器は、ビット線のサンプリングを開始する。ちょうど感知増幅器が検出するのに十分なだけ、ビット線がディスチャージされる。これは、節電のために行われる。したがって、時間「d2」の後、「ディスチャージ」信号が低くなる一方で、SE信号は高いままである。
【0146】
図14は、図10Bおよび図11Bに記載のchannel_free信号が、一実施形態に従ってどのように生成されるかを概略的に示す。具体的には、示されるように、特定の出力チャネルに接続されたクロスバーセル内の種々の構成記憶回路900、905、910からの出力が、ORゲート902、907、912によってともに論理的にORが行われ、次いで、インバータ915によってその結果が反転される。したがって、構成記憶回路のうちのいずれかが論理1のルーティング値を記憶する場合は、channel_free信号が論理0の値となり、該構成記憶回路の全てが論理0のルーティング値を記憶する場合にだけ、channel_free信号が1に設定されることが分かる。したがって、アービトレーション動作モードの開始時点で、構成記憶回路のうちの1つが既に論理1の値に設定されており、ソース回路が既にそのチャネルのオーナーシップを有することを示している場合、その時点ではどのアサートされた伝送要求も承諾されず、そのチャネルが解放された時にだけ、別のソースが要求を行うことを可能にし、そのチャネルが承諾される。
【0147】
前述の実施形態では、出力データ線が高くプリチャージされるので、静的な高い入力が、クロックサイクルごとにそれらのデータ線をディスチャージさせることになる。図15A〜図15Eは、これを軽減するために使用することができ、それによって、電力消費を低減する、符号化スキームを示す。具体的には、図15Aは、ソースとクロスバーの入力データ経路との間に配置されてもよい、符号化器回路を示し、図15Bは、感知増幅器65の出力と宛先回路との間に配置されてもよい、関連する復号器回路を示す。最初に図15Aの符号化器回路を検討すると、新しいデータの各アイテムは、フリップフロップ600内にラッチされ、古いデータは、NANDゲート605を介してフリップフロップ610に伝播される。次いで、比較器615が新しいデータを古いデータと比較し、差異があればいつでも論理0の値をインバータ620に出力させ、その結果、論理1の値が符号化器回路によって出力される。したがって、提供された入力データから、符号化器は、入力データが論理0の値から論理1の値に、または論理1の値から論理0の値に変化するたびに、論理1の値によって分離される論理0の値を生成する。クロスバーセルの前述の考察から、データ出力線は、このような論理1の値が現れた時にだけディスチャージされ、それによって、プリチャージ動作と関連する電力消費を大幅に低減することを認識されるであろう。
【0148】
第1のデータアイテムが入力された時には、それに対していかなる以前のデータも比較されず、それに応じて、フリップフロップ610内の初期状態を設定するために、sync信号を使用する。さらに、クロスバーを新しい構成に切り替えるたびに、符号化器ハードウェアを(クロックサイクルを費やさずに)再設定するように、同期化パルスを使用することができる。
【0149】
対応する復号器回路を図15Bに示す。構成要素630および635の構造は、構成要素660によって図15Cに概略的に示す。示されるように、このような構成要素は、実際に、直列に接続された一連のトランジスタ665、670、675、680から成る。
【0150】
sync_d信号は、sync信号と同じであるが、1クロックサイクルだけ遅延される。sync_d_b信号は、逆sync_d信号である。これらの3つの信号の関係を図15Eに示す。sync信号は、アクティブロー信号であり、したがって、通常動作の下で(回路が新しい構成に切り替えられていない時)、syncおよびsync_dは、高い論理1レベルになる一方で、sync_d_b信号は、低い論理0レベルになることに留意されたい。
【0151】
図15Bから分かるように、復号器は、感知増幅器、クロック信号、およびsync_d_b信号から出力を受信し、一連のNANDゲート645、650、655を介して、内部クロック信号をフリップフロップ640に提供する。フリップフロップ640からの出力は、出力を宛先回路に駆動し、感知増幅器を介して受信される符合化した出力から、元の入力データを再作成する。
【0152】
通常動作において、sync信号は、論理1のレベルであり、sync_d_b信号は、論理0のレベルであるので、構成要素635が起動される一方で、構成要素630が停止される。3つのNANDゲート645、650、655は、感知増幅器が遷移を検出して、高い信号を送信する時に、パルスをフリップフロップ640に提供する。新しい構成への切り替えが生じた時には、syncおよびsync_d信号が低くなる一方で、sync_d_b信号が高くなる。したがって、その時に、構成要素630が起動される一方で、構成要素635が停止される。その結果、インバータ635を介して以前のデータをトグルする代わりに、フリップフロップ640が、感知増幅器からデータを(構成要素630がそれを反転した後に)取り込む。
【0153】
図15Dは、符号化器回路への入力データ、結果として生じる符合化器回路からの符号化データ出力、符号化データが高くなるたびにディスチャージされる、対応するビット線の指示を示し、また、感知増幅器から受信した情報に基づいて、復号器回路によって生成される出力データを示す。出力データが、符号化器に渡された入力データを忠実に再生することが分かる。
【0154】
前述した実施形態では、クロスバー回路のサイズは、入力バスおよび出力バスのサイズに対応する。したがって、16本のワード線を提供する入力バスおよび16本のビット線を提供する出力バスを検討して、16×16のクロスバー回路を論じてきた。しかしながら、該技法は、入力バスおよび出力バスの幅よりも大きいクロスバーセルのアレイを有するクロスバー回路を用いて動作させるように適合させることもできる(本明細書では、狭チャネル設計と称する)。
【0155】
最初に狭チャネル設計を検討すると、図16はそのような狭チャネル設計を実装するための一実施形態を示す。この特定の実施例では、クロスバーセル20の64×64のアレイがクロスバー内に提供されており、ここでも、プリチャージモジュール55が、クロスバーを通るビット線をプリチャージするために使用されると仮定する。しかしながら、データ入力経路およびデータ出力経路は、わずか16ビットの幅しかなく、故に、単一のサイクルで前述のアービトレーションプロセスを実行することは不可能である。その代わりに、そのような実施形態では、クロスバーをいくつかのセクションに分割することができ、この実施例では、クロスバーが、4つのセクション1010、1020、1030に分割され、カウンタ1040は、現在どのセクションが起動しているのかを識別するために使用される。したがって、そのアービトレーションサイクルにおけるアービトレーション中に、どのセクションを機能させるかを選択するために、アービトレーションサイクルごとにカウンタをインクリメントすることができる。各セクションは、それでも各行に64のクロスバーセルを有するため、データ入力経路1000自体が、アサートされた伝送要求によって個々のデータ出力経路を識別することを可能にしないことは明らかである。したがって、一実施形態では、関連するソース回路によってどのデータ出力経路が要求されているのかを識別するために、伝送要求をアサートする時に、2ビットの付加的な信号1002が提供される。
【0156】
したがって、カウンタが00の値を有する時、ソース0〜15からのアサートされた伝送要求だけが検討され、各データ出力経路には、そのデータ出力経路へのアクセスを要求しているソース0〜15の中で最も高い優先順位のソースが、次の伝送サイクルでデータを転送するためのアクセスを承諾される。そのようなアービトレーションおよび伝送シーケンスの後、次いで、カウンタが01にインクリメントされ、次のアービトレーションサイクルでは、ソース16〜31からのアサートされた伝送要求だけが検討される。このプロセスは、各セクションについて順々に繰り返される。その結果、図16の実施例の寸法について、任意の所与のアサートされた伝送要求に対するアービトレーション待ち時間は、1サイクルから4サイクルまで変動することが理解されるであろう。例えば、カウントが00であるアービトレーションサイクルで、ソース0が伝送要求をアサートする場合、その要求はそのサイクルの中ですぐにアービトレートされ、セクション1の中で最も優先順位の高い要求である場合、該要求は承諾される。しかしながら、カウントが01の時にソース0が伝送要求をアサートする場合、カウンタが00に戻る(それに応じて、セクション1の1010がアービトレートされる)時に、次の第4のアービトレーションサイクルまで、その要求は、アービトレーションの候補にさえならない。
【0157】
そのような手法の利点は、配線および論理のオーバーヘッドが最小限であり、したがって、該解決法が、アービトレーション待ち時間の変動を許容することができる状況下で、良好な解決法を提供することである。しかしながら、セクションの数が増加するにつれて、最悪の場合のアービトレーション待ち時間も増加することに留意すべきである。
【0158】
図17Aおよび図17Bは、クロスバーがここでもセクションに分割されているが、その場合、アービトレーションが階層的に2つのステップで行われる、代替の実施形態を示す。第1のステップでは、セクションの間でアービトレーションが実行され、次いで第2のステップにおいて、アービトレーションは、所与のセクションの中の全てのアサートされた伝送要求の間で実行される。同じビット線群がどちらのアービトレーションステップにも使用される。この実施例では、クロスバーセルは、20’という数字で表され、クロスバーセルのそれぞれは、基本的に前述したように構成されているが、ここでは、各クロスバーセルが2つの感知増幅器有効化ラッチ(SAEL)を含み、第1のSAELは、第1のアービトレーションサイクルで使用され、第2のSAELは、第2のアービトレーションサイクルで使用される。
【0159】
したがって、アービトレーションサイクル1では、セクション1050、1060、1070、1080のそれぞれが検討されるが、所与のセクション内の特定のデータ出力経路に対する個々のクロスバーセル20’は、ボックス1052、1062、1072、1082によって概略的に示されるように、事実上組み合わせて検討される。具体的には、16ビットのチャネルを伴う図17Aの64×64クロスバーの例を検討すると、その場合、4つの別個のセクション1050、1060、1070、1080のそれぞれは、相対的な優先順位を有する。セクション1が最も高い優先順位を有する場合、ソース0〜15からの任意のアサートされた伝送要求が、セクション2、3、および4(すなわち、セクション1060、1070、1080)に対するビット線をディスチャージさせる。その結果、セクション1では第1の組のSAELが論理1の値をラッチし、他のセクションでは第1の組のSAELが論理0の値をラッチする。
【0160】
次のアービトレーションサイクルでは、図17Bに示されるように、セクション0の中の要求だけ(前述したイベントのシーケンスと仮定して)が、アービトレーションのためにビット線を使用する。現在、このセクション1050内で実行されるプロセスは、前述した通りであり、すなわち、ビット線は、プリチャージされ、次いで、各クロスバーセル内に記憶された優先順位情報に従って、選択的にディスチャージされる。図16で前述したように、どの出力経路が、ワード線1000上で16ビット値の入力によって要求されているかを認めるために、追加の2ビット信号1002が使用される。任意の特定のデータ出力線に対する複数の要求については、その場合、ソース0〜15の中で最も優先順位の高い要求がアクセスを承諾され、第2の組のSAELが標準的な様態でビット線を感知する。特定のソースに承諾が与えられたかどうかを判定するために、次いで、クロスバーセル20’のどちらのSAELも検討する必要があり、具体的には、それらの両方が論理1の値を記憶する場合に、承諾信号が生成されてソースへと返される。
【0161】
そのような手法は、何らかの付加的な論理を犠牲にして、固定2サイクルのアービトレーション待ち時間を有するが、いかなる付加的な相互接続構造も有さない。1チャネルの中に16本のビット線があることで、潜在的に16のセクション間でアービトレートすることが可能になり、各セクションは16の要求を含む。したがって、アービトレーション待ち時間は、1つのクロスバーについて2つのサイクルで、最高256×256のクロスバーを保持することができる。
【0162】
図17A/図17Bの手法の一実施形態では、2組の優先順位記憶素子を各クロスバーセルに提供することができ、1つの組は、第1のアービトレーションサイクルと関連して使用され(第1の組のSAELが使用される)、1つの組は、第2のアービトレーションサイクルと関連して使用される(第2の組のSAELが使用される)。
【0163】
図18は、データ入力経路に沿って、データ入力値をそれらのデータ入力経路に接続された種々のクロスバーセル20に伝播させるために、ワード線ドライバ1200、1205、1210のシーケンスが使用される、部分的に起動されたネットワークの実施形態を示す。このような部分的に起動されたネットワークがなければ、それが必要とされない状況でデータ入力経路全体に沿ってデータを伝播させる際に、かなりの電力が消費され得る。
【0164】
しかしながら、データ入力経路に沿って残りのクロスバーセルのそれぞれに記憶されるルーティング値に由来する信号に基づいて、ワード線ドライバのそれぞれが条件付きで起動される、図18に提示される、部分的に起動させたネットワーク手法を使用することによって、節電を達成することができる。具体的には、示されるように、特定のクロスバーセルに記憶されるルーティング値は、他の全てのクロスバーセルに保持されるルーティング値によって、特定の行の中でその右側に論理的にORされ、ワード線ドライバがそのチェーン内で到達する地点におけるその信号の値に依存して、各ワード線ドライバ1200、1205、1210が起動される。
【0165】
したがって、前述した実施例において、行0の中の最初の15のクロスバーセルのうちの少なくとも1つは、そのルーティング値が1に設定されており、対応するソースは、出力経路0〜15のうちの1つへのアクセスが承諾されているが、その行のさらに右側にある他のクロスバーセルは、いずれもルーティング値が1に設定されておらず、その場合、ワード線ドライバ1205および1210がどちらも論理0の起動信号を受信する一方で、ワード線ドライバ1200が論理1の起動信号を受信することを示している。図18の下半分の回路に示されるように、ワード線ドライバ(例示を目的として、ワード線ドライバ1200が検討されているが、ワード線ドライバの全てが同様に構成されている)のそれぞれには、ワード線ドライバを選択的に起動するために起動信号が使用される。具体的には、ワード線ドライバ内の主インバータ1260は、起動信号が高い場合にだけ起動され、これは、トランジスタ1250および1255の両方をオンにさせる。起動信号が低い時に、これらのトランジスタはオンにならず、インバータ1260は起動されない。起動されると、インバータ1260および1265は、データ入力経路に沿ってさらに伝播させるために入力データを増幅するように、一緒に作動する。
【0166】
したがって、図18を参照して論じられる実施形態において、その後に残りのクロスバーセルスイッチがオフにされるチャネルを超えて、データがワード線上で駆動されることはない。これは、有用な節電スキームを大きなクロスバーに提供することができ、めったにマルチキャスティングを行わない実装で特に良好な節電をもたらすことができる。
【0167】
実施形態の前述の説明から、このような実施形態は、マルチコアアプリケーションに必要とされ得るような、非常に大きいクロスバーを設計するために使用することができる、新規なクロスバー実装スキームを提供することが分かるであろう。本発明の実施形態のクロスバー回路は、コンフリクトを検出して解決し、それに応じて各クロスバーセル内の構成記憶素子をプログラムするように、アービトレーション動作モード中にデータ出力線を再使用する。提案した本発明の実施形態の実装は、クロスバーの設計が可能な最小の面積を使用する。交差点の数ならびに各交差点に組み込まれる論理の数の両方が増大する、典型的な従来技術の実装とは対照的に、本発明の実施形態によれば、交差点の数だけしか増大しない。
【0168】
クロスバーセルのアレイのサイズが入力および出力チャネルの幅を超えない実施形態の場合、単一のサイクルでアービトレーションを実行することが可能であり、それによって、アービトレーションを実行する際の遅延オーバーヘッドが最小限に抑えられる。さらに、実施形態は、アービトレーション回路によって、優先順位スキームの各適用の間に、ビット線に記憶される優先順位データを自己更新するように該ビット線を再使用する、優先順位記憶回路を提供し、それによって、LRG優先順位スキーム等の適応型優先順位スキームを実装するための、非常に効率的で、高速で、拡張性のある機構を提供する。
【0169】
さらに、アービターをクロスバーと統合することにより、その2つの間の通信オーバーヘッドが排除される。
【0170】
加えて、前述の実施形態のクロスバーセル構造を採用した時に、各入力データ経路上に入力データを提供するために使用される、伝送回路のサイズも、駆動回路のサイズも、クロスバー回路のサイズが増加した時に、サイズを増加させる必要がない。さらに、単一の入力データ値が複数の出力経路に同報通信される、マルチキャスティングをサポートするために、いかなる付加的なハードウェアまたはサイジングも不要である。
【0171】
さらに、前述の実施形態には標準的な構造が採用されるため、ルーティングは、典型的な従来技術の手法よりもかなり直接的になる。
【0172】
本発明の実施形態において、入力は、例えば、マルチプレクシング技法を採用している典型的な従来技術のクロスバーで必要とされ得るような、異なるバスからの同じビットを備えるパケットとしてではなく、バスとしてクロスバーの中に供給される。これは、ワイドバスの相互接続として、本発明の実施形態のクロスバー回路を利用し易くする。
【0173】
本発明の実施形態のクロスバー回路の設計により、クロスバーを通しての遅延は、サイズとともに直線的に増大する。これは、このような実施形態のクロスバー回路を、128×128または256×256入力/出力のクロスバー等の、非常に大きいクロスバーに容易に使用できるようにする。
【0174】
前述のように、本設計は、非常に標準的であり、全てのチャネルにわたる遅延は均一である。さらに、入力は、いずれの水平端部からも供給することができ、出力は、いずれの垂直端部でも利用できる。これは、ルーティングの輻輳を低減することによって、設計フロアプランニングを容易にする。
【0175】
本発明の実施形態のクロスバー回路の標準ビットセル様アーキテクチャに起因して、クロスバー回路の設計およびレイアウトは、既存のCAD(コンピュータ支援設計)フロープロセスに容易に統合することができる。
【0176】
従来技術の技法と比較すると、本発明の実施形態のクロスバー回路は、相互接続のサイズがより小さい、高速感知技法を採用したため、より迅速に動作しながらも、消費する電力はより少ない。
【0177】
本明細書では、本発明の特定の一実施形態を説明したが、本発明は、それに限定されるものではなく、本発明の範囲内で、多数の変更および追加が行われ得ることは明白であろう。例えば、本発明の範囲を逸脱しない範囲で、以下の従属請求項の特徴の、独立請求項の特徴との種々の組み合わせを行うことができる。
【符号の説明】
【0178】
10 入力データ
12 データ入力経路
20 クロスバーセル
30 ソース回路
40 宛先回路
50 データ出力経路
55 プリチャージモジュール
65 感知増幅器回路
70 出力データ

【特許請求の範囲】
【請求項1】
複数のソース回路と、複数の宛先回路とを相互接続し、よって、前記複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、前記複数の宛先回路のうちのいずれかに出力することができる、クロスバー回路であって、
前記クロスバー回路を通過する複数のデータ入力経路であって、各データ入力経路は、前記複数のソース回路のうちの1つに接続することができ、かつ複数のワード線を提供する、複数のデータ入力経路と、
前記複数のデータ入力経路を横断する前記クロスバー回路を通過する複数のデータ出力経路であって、各データ出力経路は、前記複数の宛先回路のうちの1つに接続することができ、かつ複数のビット線を提供する、複数のデータ出力経路と、
前記データ入力経路のうちの1つと、前記データ出力経路のうちの1つとの間の各交差点と関連するクロスバーセルであって、各クロスバーセルは、
前記複数のビット線のうちの少なくとも1つの上の電圧に依存してルーティング値を記憶するように、アービトレーション動作モードでプログラムできる、構成記憶回路であって、前記ルーティング値は、前記データ入力経路の前記ワード線に沿った前記関連する交差点へのデータ入力が、前記関連する交差点において、前記データ出力経路の前記ビット線上に出力されることを、第1の値が示すようにプログラムされ、前記ルーティング値は、前記データ入力経路の前記ワード線に沿った前記関連する交差点へのデータ入力が、前記関連する交差点において、前記データ出力経路の前記ビット線上に出力されないことを、第2の値が示すようにプログラムされる、構成記憶回路と、
伝送動作モードで、前記データ入力経路の前記ワード線に沿った前記データ入力を検出し、かつ前記関連する交差点において、そのデータの指示を前記データ出力経路の前記ビット線上に出力するように、前記第1の値を有する前記ルーティング値に応答する、伝送回路と、
前記関連する交差点の前記データ入力経路に接続された前記ソース回路から前記クロスバーセルによって受信された伝送要求に依存して、前記アービトレーション動作モードで動作する、アービトレーション回路であって、前記ソース回路が、前記関連する交差点において、前記データ入力経路から前記データ出力経路にデータをルーティングしたいことを示すように、前記伝送要求がアサートされた場合、前記アービトレーション回路は、適応型優先順位スキームを適用するために、同じデータ出力経路と関連する他のクロスバーセルの前記アービトレーション回路と組み合わせて動作して、前記複数のビット線の前記電圧を選択的に修正するように配設され、よって、前記同じデータ出力経路の複数のアサートされた伝送要求が存在する場合、前記同じデータ出力経路と関連する唯一のクロスバーセルの前記構成記憶回路は、前記第1の値にプログラムされるそのルーティング値を有し、それによって、前記適応型優先順位スキームに従って、前記複数のアサートされた伝送要求間のコンフリクトを解決する、アービトレーション回路と、
前記適応型優先順位スキームを適用するために、前記複数のビット線のうちのどれが、前記関連するアービトレーション回路によってそれらの電圧を修正されるべきかを識別する優先順位データを記憶するように構成される、優先順位記憶回路であって、
前記アービトレーション回路による前記適応型優先順位スキームの各適用の間に、前記複数のビット線のうちの少なくとも1つの前記電圧に依存して、それに記憶される前記優先順位データを自己更新するように構成される、優先順位記憶回路と、
を備える、クロスバーセルと、
を備える、クロスバー回路。
【請求項2】
前記適応型優先順位スキームは、承諾後最長時間経過(LRG)優先順位スキームである、請求項1に記載のクロスバー回路。
【請求項3】
各データ出力経路は、n本のビット線を提供し、
各構成記憶回路は、それを介して前記ルーティング値が前記構成記憶回路にプログラムされる、前記n本のビット線のうちの1本と関連し、よって、前記同じデータ出力経路と関連する最高n個のクロスバーセルについて、それらのクロスバーセルの前記構成記憶回路は、前記n本のビット線のうちの異なる関連するビット線を有し、
各クロスバーセル内で、前記アービトレーション回路および前記優先順位記憶回路は、そのクロスバーセルの前記構成記憶回路と関連する前記1本のビット線を除くn−1本のビット線と関連し、前記適応型優先順位スキームを適用するために、前記優先順位記憶回路は、それらのn−1本のビット線のうちのどれが、前記アービトレーション回路によってそれらの電圧を修正されるべきかを識別する、請求項1に記載のクロスバー回路。
【請求項4】
前記アービトレーション動作モードで、前記適応型優先順位スキームを適用するために、アサートされた伝送要求を受信する前記同じデータ出力経路と関連する任意のクロスバーセルの前記アービトレーション回路が、前記n本のビット線上の前記電圧を選択的に修正した後に、アサートされた伝送要求を受信するクロスバーセルの各構成記憶回路が、前記ルーティング値をプログラムするために、その関連するビット線上の前記電圧をサンプリングするように構成される、請求項3に記載のクロスバー回路。
【請求項5】
各クロスバーセルは、
そのクロスバーセルの前記構成記憶回路と関連する前記1本のビット線に連結される、解放回路であって、アサートされた解放要求を受容すると、前記解放回路は、前記ルーティング値として前記第2の値をそのクロスバーセルの前記構成記憶回路に記憶させるレベルに、その1本のビット線上の前記電圧を修正させ、それによって、そのデータ出力経路の再割り当てを可能にするように、前記クロスバーセルに、前記関連するデータ出力経路を解放させる、解放回路をさらに備える、請求項3に記載のクロスバー回路。
【請求項6】
前記解放されたデータ出力経路と関連するそれらのクロスバーセルの中の前記優先順位記憶回路は、前記複数のビット線のうちの少なくとも1つの前記電圧に依存して、それに記憶された前記優先順位データを自己更新するように、前記アサートされた解放要求に応答する、請求項5に記載のクロスバー回路。
【請求項7】
各優先順位記憶回路は、複数の優先順位記憶素子を備え、各優先順位記憶素子は、前記複数のビット線のうちの1つと関連し、各優先順位記憶回路内で、前記複数の優先順位記憶素子の電流値は、前記関連するデータ出力経路について、その優先順位記憶回路を含有する前記クロスバーセルに連結された前記ソース回路の相対的優先順位レベルを示し、
前記適応型優先順位スキームは、承諾後最長時間経過(LRG)優先順位スキームであり、
前記解放されたデータ出力経路と関連するそれらのクロスバーセルの前記優先順位記憶回路内で、その電圧が前記解放回路によって修正された前記ビット線と関連するそれらの優先順位記憶素子は、第1の値に設定され、それによって、前記データ出力経路を解放する前記ソース回路を除く各ソース回路の前記相対的優先順位レベルは、増加させられるか、または維持され、
前記アサートされた解放要求を受信した前記解放回路を含有する前記クロスバーセルについて、前記優先順位記憶回路は、第2の値にクリアされたその優先順位記憶素子を有し、それによって、前記データ出力経路を解放する前記ソース回路には、前記他のソース回路よりも低い相対的優先順位が割り当てられる、請求項6に記載のクロスバー回路。
【請求項8】
初期化の時点で、各クロスバーセルの前記優先順位記憶回路は、前記複数のデータ出力経路のそれぞれに関して、前記複数のソース回路の初期の相対的優先順位レベルを提供するように、所定の値に初期化される、請求項1に記載のクロスバー回路。
【請求項9】
前記ビット線のそれぞれは、第1の電圧レベルにプリチャージされ、
前記アサートされた解放要求を受信すると、前記解放回路は、そのクロスバーセルの前記構成記憶回路と関連する前記1本のビット線上の前記電圧をディスチャージし、
各構成記憶回路は、前記関連する解放回路に対するアサートされた解放要求が存在する場合、前記ルーティング値を前記第2の値に更新するために、その関連するビット線の前記電圧を感知し、続いて、前記解放回路によって前記ディスチャージ動作を実行し、それによって、前記関連するデータ出力経路を解放する、感知増幅器有効化ラッチを備える、請求項5に記載のクロスバー回路。
【請求項10】
各データ入力経路は、n本のワード線を提供し、
前記同じデータ入力経路と関連する最高n個のクロスバーセルの前記解放要求は、その同じデータ入力経路の前記n本のワード線を介して、前記クロスバー回路に入力され、
各解放回路は、前記n本のワード線のうちの1本と関連し、よって、前記同じデータ入力経路と関連する最高n個のクロスバーセルについて、それらのクロスバーセルの前記解放回路は、それを介して前記解放要求を受信する前記n本のワード線のうちの異なる関連するワード線を有する、請求項5に記載のクロスバー回路。
【請求項11】
前記解放要求は、前記アービトレーション動作モードで発行され、制御信号は、前記関連するデータ入力経路の前記n本のワード線が、解放要求または伝送要求を搬送しているかどうかを識別するように、前記アービトレーション動作モードで、前記複数のソース回路によって発行される、請求項10に記載のクロスバー回路。
【請求項12】
前記ビット線のそれぞれは、前記適応型優先順位スキームを適用するために、第1の電圧レベルにプリチャージされ、次いで、前記アービトレーション動作モード中に、アサートされた伝送要求を受信する前記同じデータ出力経路と関連する任意のクロスバーセルの前記アービトレーション回路は、前記n本のビット線上の前記電圧を選択的にディスチャージする、請求項1に記載のクロスバー回路。
【請求項13】
各構成記憶回路は、アサートされた伝送要求が存在する場合、その関連するビット線上の前記電圧を感知し、続いて、前記アービトレーション回路によって前記選択的ディスチャージ動作を実行する、感知増幅器有効化ラッチを備える、請求項12に記載のクロスバー回路。
【請求項14】
各データ入力経路は、n本のワード線を提供し、
前記アービトレーション動作モードで、同じデータ入力経路と関連する最高n個のクロスバーセルの前記伝送要求は、その同じデータ入力経路の前記n本のワード線を介して、前記クロスバー回路に入力される、請求項1に記載のクロスバー回路。
【請求項15】
各構成記憶回路は、前記n本のワード線のうちの1本と関連し、よって、前記同じデータ入力経路と関連する最高n個のクロスバーセルについて、それらのクロスバーセルの前記構成記憶回路は、それを介して前記伝送要求を受信する前記n本のワード線のうちの異なる関連するワード線を有する、請求項14に記載のクロスバー回路。
【請求項16】
mが2以上の整数である、mn×mn個のクロスバーセルのマトリクスが提供され、
前記マトリクスは、複数のセクションに分割され、
一連のアービトレーション動作は、前記同じデータ出力経路と関連する唯一のクロスバーセルの前記構成記憶回路が、前記第1の値にプログラムされるそのルーティング値を有するように前記適応型優先順位スキームを適用するために使用され、それによって、前記適応型優先順位スキームに従って複数のアサートされた伝送要求間のコンフリクトを解決し、
前記一連の中の各アービトレーション動作について、前記複数のセクションの中の前記セクションのうちの1つまたは複数は、そのアービトレーション動作を受ける、請求項15に記載のクロスバー回路。
【請求項17】
各アービトレーション動作は、単一のセクション上で動作し、よって、前記一連のアービトレーション動作を実行した後には、前記複数のセクションの全てが前記アービトレーション動作を受けている、請求項16に記載のクロスバー回路。
【請求項18】
前記一連のうちの第1のアービトレーション動作で、前記複数のセクションの全ては、そのルーティング値が前記第1の値にプログラムされる前記構成記憶回路を含有する、前記複数のセクションのうちの1つを識別するために、前記第1のアービトレーション動作を受け、
前記一連のうちの第2のアービトレーション動作で、前記第1のアービトレーション動作によって識別された前記セクションのうちの前記1つは、そのルーティング値が前記第1の値にプログラムされるそのセクション内の前記構成記憶回路を識別するように、前記第2のアービトレーション動作を受ける、請求項16に記載のクロスバー回路。
【請求項19】
その構成記憶回路が、前記アービトレーション動作モード中に前記第1の値にプログラムされるそのルーティング値を有する、前記同じデータ出力経路と関連する前記1つのクロスバーセルについて、前記アサートされた伝送要求が承諾されたことを確認するように、承諾信号が前記関連するソース回路にアサートされる、請求項1に記載のクロスバー回路。
【請求項20】
前記伝送動作モードで、クロスバーセルと関連する各データ出力経路は、データ伝送前に第1の論理レベルにプリチャージされ、各クロスバーセルの前記伝送回路は、
前記データ出力経路と第2の論理レベルとの間で直列に接続される、第1および第2のスイッチを備え、
前記伝送動作モードで、前記第1のスイッチは、前記関連する構成記憶回路に記憶された前記ルーティング値に依存して開かれるか、または閉じられ、前記第2のスイッチは、前記データ入力経路上での前記データ入力に依存して開かれるか、または閉じられる、請求項1に記載のクロスバー回路。
【請求項21】
各前記データ入力経路は、前記伝送動作モード中にnビットの入力データ値を搬送するためのn本のワード線を備え、各前記データ出力経路は、前記伝送動作モード中にnビットのデータ値を搬送するためのn本のビット線を備え、少なくとも前記第2のスイッチは、各ビット線について複製される、請求項20に記載のクロスバー回路。
【請求項22】
前記伝送動作モードで、前記ルーティング値が前記第1の値であり、かつ前記対応するワード線上の前記入力データビットが前記第1の論理レベルである場合、前記データ出力経路のビット線は、前記第2の論理レベルにプルされる、請求項20に記載のクロスバー回路。
【請求項23】
各クロスバーセルは、前記ルーティング値に関わらず前記第1のスイッチをオフにする一方で、前記関連するデータ出力経路を前記第1の論理レベルにプリチャージするための、および前記第1のスイッチを前記ルーティング値によって制御し、続いて、前記関連するデータ出力経路を前記第1の論理レベルにプリチャージすることを可能にするための、条件付きディスチャージ回路をさらに備える、請求項22に記載のクロスバー回路。
【請求項24】
前記伝送動作モード中に、前記データ出力経路の前記ビット線上の前記データ出力を検出し、それによって、前記データ出力経路のビット線上の電圧が前記第2の論理レベルに到達する前に、前記第2の論理レベルへの遷移の検出を可能にする、感知増幅器回路をさらに備える、請求項22に記載のクロスバー回路。
【請求項25】
前記複数のソース回路のそれぞれと前記複数のデータ入力経路との間の符号化回路と、
前記複数のデータ出力経路のそれぞれと前記複数の宛先回路との間の復号回路と、
をさらに備え、前記符号化回路は、各ソース回路によって提供される入力データを符号化形式に符号化するように、符号化動作を適用し、前記元の入力データが前記クロスバー回路を通過した場合に、前記データ出力経路を前記第2の論理レベルにプルすることが必要となり得る回数と比較した時に、前記データ出力経路を前記第2の論理レベルにプルし、続いて、それらを前記第1の論理レベルにプリチャージすることが必要である回数を低減し、
前記復号回路は、前記データ出力経路上で前記符号化データ出力から前記ソース回路によって提供される、前記元の入力データを識別するように、対応する復号動作を適用する、請求項22に記載のクロスバー回路。
【請求項26】
前記複数のソース回路は、前記複数のデータ入力経路のいずれかの端部に接続することができる、請求項1に記載のクロスバー回路。
【請求項27】
前記複数の宛先回路は、前記複数のデータ出力経路のいずれかの端部に接続することができる、請求項1に記載のクロスバー回路。
【請求項28】
各データ入力経路は、ワード線ドライバによって分離された複数の入力経路部分から成り、
各ワード線ドライバは、前記関連するデータ入力経路に沿って提供されるが、そのワード線ドライバよりもソース回路から遠くにある、クロスバーセルの前記構成記憶回路に記憶される前記ルーティング値に依存して起動され、
それによって、各ワード線ドライバは、前記関連するデータ入力経路に沿って提供されるが、そのワード線ドライバよりもソース回路から遠くにある、少なくとも1つのクロスバーセルの前記構成記憶回路が、前記第1の値に設定されたルーティング値を有する場合にだけ起動される、請求項1に記載のクロスバー回路。
【請求項29】
データ値を記憶するための、複数のメモリデバイスと、
前記複数のメモリデバイスに記憶された複数の前記データ値に、データ処理動作を並列に実行するための、複数のプロセッサと、
前記複数のメモリデバイスのうちのいずれかから前記複数のプロセッサのうちのいずれかに前記データ値をルーティングするための、請求項1に記載のクロスバー回路と、
を備える、データ処理装置。
【請求項30】
複数のソース手段と、複数の宛先手段とを相互接続し、よって、前記複数のソース手段のうちのいずれかからクロスバー回路へのデータ入力を、前記複数の宛先手段のうちのいずれかに出力することができる、クロスバー回路であって、
前記クロスバー回路を通過する複数のデータ入力経路手段であって、各データ入力経路手段は、前記複数のソース手段のうちの1つに接続し、かつ複数のワード線手段を提供するためのものである、複数のデータ入力経路手段と、
前記複数のデータ入力経路手段を横断する前記クロスバー回路を通過する複数のデータ出力経路手段であって、各データ出力経路手段は、前記複数の宛先手段のうちの1つに接続し、かつ複数のビット線手段を提供するためのものである、複数のデータ出力経路手段と、
前記データ入力経路手段のうちの1つと、前記データ出力経路手段のうちの1つとの間の各交差点と関連するクロスバーセル手段であって、各クロスバーセル手段は、
前記複数のビット線手段のうちの少なくとも1つの上の電圧に依存してルーティング値を記憶するための、アービトレーション動作モードでプログラムできる、構成記憶手段であって、前記ルーティング値は、前記データ入力経路手段の前記ワード線手段に沿った前記関連する交差点へのデータ入力が、前記関連する交差点において、前記データ出力経路手段の前記ビット線手段上に出力されることを、第1の値が示すようにプログラムされ、前記ルーティング値は、前記データ入力経路手段の前記ワード線手段に沿った前記関連する交差点へのデータ入力が、前記関連する交差点において、前記データ出力経路手段の前記ビット線手段上に出力されないことを、第2の値が示すようにプログラムされる、構成記憶手段と、
伝送動作モードで、前記データ入力経路手段の前記ワード線手段に沿った前記データ入力を検出し、かつ前記関連する交差点において、そのデータの指示を前記データ出力経路手段の前記ビット線手段上に出力するように、前記第1の値を有する前記ルーティング値に応答する、伝送回路手段と、
前記関連する交差点の前記データ入力経路手段に接続された前記ソース手段から前記クロスバーセル手段によって受信される伝送要求に依存して、前記アービトレーション動作モードで動作させるための、アービトレーション手段であって、前記ソース手段が、前記関連する交差点において、前記データ入力経路手段から前記データ出力経路手段にデータをルーティングしたいことを示すように、前記伝送要求がアサートされた場合、前記アービトレーション手段は、適応型優先順位スキームを適用するために、同じデータ出力経路手段と関連する他のクロスバーセル手段の前記アービトレーション手段と組み合わせて動作して、前記複数のビット線手段上の前記電圧を選択的に修正するためのものであり、よって、前記同じデータ出力経路手段の複数のアサートされた伝送要求が存在する場合、前記同じデータ出力経路手段と関連する唯一のクロスバーセル手段の前記構成記憶手段は、前記第1の値にプログラムされるそのルーティング値を有し、それによって、前記適応型優先順位スキームに従って、前記複数のアサートされた伝送要求間のコンフリクトを解決する、アービトレーション手段と、
前記適応型優先順位スキームを適用するために、前記複数のビット線手段のうちのどれが、前記関連するアービトレーション手段によってそれらの電圧を修正されるべきかを識別する優先順位データを記憶するための、優先順位記憶手段であって、
前記アービトレーション手段による前記適応型優先順位スキームの各適用の間に、前記複数のビット線手段のうちの少なくとも1つの前記電圧に依存して、それに記憶される前記優先順位データを自己更新するための、優先順位記憶手段と、
を備えるクロスバーセル手段と、
を備える、クロスバー回路。
【請求項31】
複数のソース回路と、複数の宛先回路とを相互接続し、よって、前記複数のソース回路のうちのいずれかからクロスバー回路へのデータ入力を、前記複数の宛先回路のうちのいずれかに出力することができるように、クロスバー回路を動作させる方法であって、前記クロスバー回路は、前記クロスバー回路を通過する複数のデータ入力経路であって、各データ入力経路は、前記複数のソース回路のうちの1つに接続することができ、かつ複数のワード線を提供する、複数のデータ入力経路と、前記複数のデータ入力経路を横断する前記クロスバー回路を通過する複数のデータ出力経路であって、各データ出力経路は、前記複数の宛先回路のうちの1つに接続することができ、かつ複数のビット線を提供する、複数のデータ出力経路とを有し、前記方法は、
前記データ入力経路のうちの1つと、前記データ出力経路のうちの1つとの間の各交差点と関連する、クロスバーセルを採用するステップと、
アービトレーション動作モードで、ルーティング値を各クロスバーセルにプログラミングするステップであって、前記ルーティング値は、前記複数のビット線のうちの少なくとも1つの上の電圧に依存してプログラムされ、前記ルーティング値は、前記データ入力経路の前記ワード線に沿った前記関連する交差点へのデータ入力が、前記関連する交差点において、前記データ出力経路の前記ビット線上に出力されることを、第1の値が示すようにプログラムされ、前記ルーティング値は、前記データ入力経路の前記ワード線に沿った前記関連する交差点へのデータ入力が、前記関連する交差点において、前記データ出力経路の前記ビット線上に出力されないことを、第2の値が示すようにプログラムされる、ステップと、
伝送動作モードで、前記データ入力経路の前記ワード線に沿った前記データ入力を検出し、かつ前記関連する交差点において、そのデータの指示を前記データ出力経路の前記ビット線上に出力するように、前記クロスバーセルを、前記第1の値を有する前記ルーティング値に応答させるステップと、
前記アービトレーション動作モードで、前記関連する交差点の前記データ入力経路に接続された前記ソース回路から前記クロスバーセルによって受信される伝送要求に依存して、前記クロスバーセルの中のアービトレーション回路を動作させる、ステップであって、前記ソース回路が、前記関連する交差点において、前記データ入力経路から前記データ出力経路にデータをルーティングしたいことを示すように、前記伝送要求がアサートされた場合、前記アービトレーション回路は、適応型優先順位スキームを適用するために、同じデータ出力経路と関連する他のクロスバーセルの前記アービトレーション回路と組み合わせて動作して、前記複数のビット線の前記電圧を選択的に修正し、よって、前記同じデータ出力経路の複数のアサートされた伝送要求が存在する場合、前記同じデータ出力経路と関連する唯一のクロスバーセルの前記構成記憶回路は、前記第1の値にプログラムされるそのルーティング値を有し、それによって、前記適応型優先順位スキームに従って、前記複数のアサートされた伝送要求間のコンフリクトを解決する、ステップと、
前記適応型優先順位スキームを適用するために、前記複数のビット線のうちのどれが、前記関連するアービトレーション回路によってそれらの電圧を修正されるべきかを識別する優先順位データを、前記クロスバーセル内の優先順位記憶回路に記憶するステップと、
前記アービトレーション回路による前記適応型優先順位スキームの各適用の間に、前記複数のビット線のうちの少なくとも1つの前記電圧に依存して、それに記憶される前記優先順位データを自己更新するように、前記優先順位記憶回路を構成するステップと、
を含む、方法。

【図1】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10D】
image rotate

【図11D】
image rotate

【図12】
image rotate

【図13A】
image rotate

【図13B】
image rotate

【図13C】
image rotate

【図14】
image rotate

【図15A】
image rotate

【図15B】
image rotate

【図15C】
image rotate

【図15D】
image rotate

【図15E】
image rotate

【図16】
image rotate

【図17A】
image rotate

【図17B】
image rotate

【図18】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図4C】
image rotate

【図4D】
image rotate

【図4E】
image rotate

【図4F】
image rotate

【図4G】
image rotate

【図4H】
image rotate

【図10A】
image rotate

【図10B】
image rotate

【図10C】
image rotate

【図11A】
image rotate

【図11B】
image rotate

【図11C】
image rotate


【公開番号】特開2012−114905(P2012−114905A)
【公開日】平成24年6月14日(2012.6.14)
【国際特許分類】
【外国語出願】
【出願番号】特願2011−252537(P2011−252537)
【出願日】平成23年11月18日(2011.11.18)
【出願人】(305024466)ザ リージェンツ オブ ザ ユニバーシティ オブ ミシガン (5)
【氏名又は名称原語表記】The Regents of the University of Michigan
【住所又は居所原語表記】Ann Arbor, MI 48109 (US)
【Fターム(参考)】