(57)【特許請求の範囲】
【請求項１】
第１のソースノードと第１のターゲットノードとの間、および第２のソースノードと第２のターゲットノードとの間でデータパケットを送信するためのスイッチであって、
複数の記憶ブロックを備え、前記データパケットをキャッシュするように構成された記憶ユニットと、
前記記憶ブロックを管理する制御ユニットと、
第１のポートを介して前記第１のソースノードと前記制御ユニットとの間に第１の通信リンクが確立される第１のポートと、
第２のポートを介して前記第１のターゲットノードと前記制御ユニットとの間に第２の通信リンクが確立される第２のポートと、
第３のポートを介して前記第２のソースノードと前記制御ユニットとの間に第３の通信リンクが確立される第３のポートと、
第４のポートを介して前記第２のターゲットノードと前記制御ユニットとの間に第４の通信リンクが確立される第４のポートとを備え、
前記第１のソースノードおよび前記第２のソースノードは、前記第１の通信リンクおよび前記第３の通信リンクを介して、前記記憶ユニットの前記記憶ブロックをそれぞれ使用して、前記第１のソースノードおよび前記第２のソースノードから送信された前記データパケットをキャッシュし、前記第１のターゲットノードおよび前記第２のターゲットノードは、前記第２の通信リンクおよび前記第４の通信リンクを介して、前記第１のソースノードおよび前記第２のソースノードからそれぞれ送信された前記データパケットを受信し、前記データパケットに含まれる情報を前記記憶ユニットに記憶して、それに対応する記憶アドレスを生成し、第１のソースノードと第２のソースノードのうちの少なくとも１つから選択された対応するソースノードに記憶アドレスを返し、バイパスチャネルを介して、前記第１のターゲットノードまたは前記第２のターゲットノードから選択された対応するターゲットノードに前記記憶アドレスを送信することを特徴とするスイッチ。
【請求項２】
前記記憶ユニットは、データブロックと、ヘッダブロックと、エラー訂正ブロックとを備え、前記制御ユニットは、データブロック制御ユニットと、ヘッダブロック制御ユニットと、エラー訂正ブロック制御ユニットとを備え、前記データブロック制御ユニットは、前記第１のソースノードおよび前記第２のソースノードの少なくとも一方から送信された前記データパケットに含まれるデータ情報を前記データブロックに記憶し、前記ヘッダブロック制御ユニットは、前記データパケットに含まれるヘッダ情報を前記ヘッダブロックに記憶し、前記エラー訂正ブロック制御ユニットは、前記データパケットに含まれるエラー訂正情報を前記エラー訂正ブロックに記憶することを特徴とする請求項１に記載のスイッチ。
【請求項３】
前記ヘッダブロックは、複数のエントリを備え、前記ヘッダブロック制御ユニットは、ヘッダ利用可能エントリマーキングユニットを備え、前記ヘッダ利用可能エントリマーキングユニットは、前記ヘッダブロック内の利用可能エントリをマーキングするように構成され、前記ヘッダブロック制御ユニットは、前記ヘッダ利用可能エントリマーキングユニットによってマーキングされた前記利用可能エントリに従って、前記ヘッダ情報を対応する利用可能エントリに記憶するように構成されることを特徴とする請求項２に記載のスイッチ。
【請求項４】
前記エラー訂正ブロックは複数のエントリを備え、前記エラー訂正ブロック制御ユニットは、前記ヘッダブロック制御ユニットの前記ヘッダ利用可能エントリマーキングユニットによってマーキングされた利用可能エントリに従って、前記エラー訂正情報を前記対応する利用可能エントリに記憶するように構成され、前記ヘッダ情報と前記エラー訂正情報は、対応する利用可能エントリにそれぞれ同期して記憶されることを特徴とする請求項３に記載のスイッチ。
【請求項５】
前記データブロックは複数のエントリを備え、前記データブロック制御ユニットは、データエントリリンクユニットとデータ利用可能エントリマーキングユニットとを備え、前記データ利用可能エントリマーキングユニットは、前記データブロック内の利用可能エントリをマーキングするように構成され、前記データブロック制御ユニットは、前記データ利用可能エントリマーキングユニットによってマーキングされた利用可能エントリに従って、前記データ情報を対応する利用可能エントリに記憶するように構成され、前記データエントリリンクユニットは、前記データブロック内の複数のエントリ内のエントリの次に使用されるエントリを指すように構成されることを特徴とする請求項２に記載のスイッチ。
【請求項６】
前記データパケットに含まれる前記データ情報は、前記データブロック内の複数のエントリを占有することを特徴とする請求項５に記載のスイッチ。
【請求項７】
前記第１のソースノードおよび前記第２のソースノードのうちの少なくとも１つから選択された前記対応するソースノードが、前記第１の通信リンクおよび前記第３の通信リンクのうちの少なくとも１つを介して前記スイッチに前記データパケットを送信する時、前記ヘッダブロック制御ユニット、前記エラー訂正ブロック制御ユニットおよび前記データブロック制御ユニットは、前記ヘッダ情報、前記エラー訂正情報および前記データ情報を前記対応するエントリに記憶して前記記憶アドレスを生成し、前記記憶アドレスは前記対応するソースノードに返されることを特徴とする請求項２に記載のスイッチ。
【請求項８】
前記記憶アドレスは、データ開始アドレスとヘッダアドレスとを含むことを特徴とする請求項７に記載のスイッチ。
【請求項９】
前記対応するソースノードは、前記第２の通信リンクおよび前記第４の通信リンクのうちの少なくとも１つを介して前記スイッチから前記データパケットを取り出す時、前記対応するターゲットノードは、前記記憶アドレスに従って前記データブロック内の対応するエントリから前記データ情報を取り出し、データ取り出しの結果に応じて前記スイッチにクリア情報を返し、前記スイッチは、前記クリア情報に従って前記ヘッダブロック、前記エラー訂正ブロック及び前記データブロックの対応するエントリに記憶された前記ヘッダ情報、前記エラー訂正情報及び前記データ情報をクリアするか否かを判定することを特徴とする請求項８に記載のスイッチ。
【請求項１０】
前記クリア情報は、前記データ開始アドレスと、前記ヘッダアドレスと、前記対応するソースノードの識別情報と、データパケットフォーマット情報と、データパケット長さ情報と、ポート動作情報と、ポート状態情報とを含むことを特徴とする請求項９に記載のスイッチ。
【請求項１１】
第１のソースノードと第１のターゲットノードとの間、および第２のソースノードと第２のターゲットノードとの間でデータパケットを送信するためのスイッチのデータアクセス方法であって、前記スイッチは、第１のソースノードと第１のターゲットノードとの間、および第２のソースノードと第２のターゲットノードとの間でデータパケットを送信するためのスイッチのデータアクセス方法であって、前記スイッチは、記憶ユニットと、制御ユニットと、第１のポートと、第２のポートと、第３のポートと、第４のポートと、前記第１のポートを介して前記第１のソースノードと前記制御ユニットとの間に確立された第１の通信リンクと、前記第２のポートを介して前記第１のターゲットノードと前記制御ユニットとの間に確立された第２の通信リンクと、前記第３のポートを介して前記第２のソースノードと前記制御ユニットとの間に確立される第３の通信リンクと、前記第４のポートを介して前記第２のターゲットノードと前記制御ユニットとの間に確立された第４の通信リンクとを備え、前記データアクセス方法は、
前記第１の通信リンクおよび前記第３の通信リンクのうちの少なくとも１つを介して前記スイッチにデータパケットを送信し、前記制御ユニットを前記データパケットに含まれる情報を前記記憶ユニットに記憶するように構成するステップと、
前記第２の通信リンクおよび前記第４の通信リンクのうちの少なくとも１つを介して、前記記憶ユニットから前記データパケットに含まれる情報を取り出すステップと、
前記データパケットに含まれる情報を前記記憶ユニットに記憶し、それに対応する記憶アドレスを生成するステップと、
第１のソースノードと第２のソースノードのうちの少なくとも１つから選択された対応するソースノードに記憶アドレスを返すステップと、
バイパスチャネルを介して、前記第１のターゲットノードまたは前記第２のターゲットノードから選択された対応するターゲットノードに前記記憶アドレスを送信するステップと、を備えることを特徴とするデータアクセス方法。
【請求項１２】
受信した前記記憶アドレスに従って、前記第２の通信リンクおよび前記第４の通信リンクのうちの少なくとも１つを介して、前記記憶ユニットから前記データパケットに含まれる情報を取り出すステップをさらに備えることを特徴とする請求項１１に記載のデータアクセス方法。
【請求項１３】
前記データパケットに含まれる情報の取り出しが成功したかどうかを判定するステップと、
前記データパケットに含まれる情報の取り出しが成功した場合、前記第２の通信リンク及び前記第４の通信リンクのうちの少なくとも1つを介して、前記制御ユニットにクリア情報を発行し、前記クリア情報に従って前記記憶ユニットに記憶された前記データパケットに含まれる情報をクリアするように前記制御ユニットを構成するステップをさらに備えることを特徴とする請求項１２に記載のデータアクセス方法。
【請求項１４】
前記記憶ユニットは、データブロックと、ヘッダブロックと、エラー訂正ブロックとを備え、前記制御ユニットは、データブロック制御ユニットと、ヘッダブロック制御ユニットと、エラー訂正ブロック制御ユニットとを備え、前記データパケットに含まれる前記情報は、ヘッダ情報、エラー訂正情報及びデータ情報を含み、前記ヘッダブロック制御ユニットは、前記データパケットに含まれる前記ヘッダ情報を前記ヘッダブロックに記憶し、前記エラー訂正ブロック制御ユニットは、前記データパケットに含まれる前記エラー訂正情報をエラー訂正ブロックに記憶し、前記データブロック制御ユニットは、前記データパケットに含まれる前記データ情報を前記データブロックに記憶するように構成されることを特徴とする請求項１１に記載のデータアクセス方法。
【請求項１５】
前記ヘッダブロックは、複数のエントリを備え、前記ヘッダブロック制御ユニットは、ヘッダ利用可能エントリマーキングユニットを備え、前記ヘッダ利用可能エントリマーキングユニットは、前記ヘッダブロック内の利用可能エントリをマーキングするように構成され、前記ヘッダブロック制御ユニットは、前記ヘッダ利用可能エントリマーキングユニットによってマーキングされた前記利用可能エントリに従って、前記ヘッダ情報を前記対応する利用可能エントリに記憶するように構成されることを特徴とする請求項１４に記載のデータアクセス方法。
【請求項１６】
前記エラー訂正ブロックは複数のエントリを備え、前記エラー訂正ブロック制御ユニットは、前記ヘッダブロック制御ユニットの前記ヘッダ利用可能エントリマーキングユニットによってマーキングされた利用可能エントリに従って、前記対応する利用可能エントリに前記エラー訂正情報を記憶するように構成され、前記ヘッダ情報と前記エラー訂正情報は、前記対応する利用可能エントリにそれぞれ同期して記憶されることを特徴とする請求項１５に記載のデータアクセス方法。
【請求項１７】
前記データブロックは複数のエントリを備え、前記データブロック制御ユニットは、データエントリリンクユニットとデータ利用可能エントリマーキングユニットとを備え、前記データ利用可能エントリマーキングユニットは、前記データブロック内の利用可能エントリをマーキングするように構成され、前記データブロック制御ユニットは、前記データ利用可能エントリマーキングユニットによってマーキングされた利用可能エントリに従って、前記データ情報を前記対応する利用可能エントリに記憶するように構成され、前記データエントリリンクユニットは、前記データブロック内の前記複数のエントリ内のエントリの次に使用されるエントリを指すように構成されることを特徴とする請求項１４に記載のデータアクセス方法。
【請求項１８】
前記データパケットに含まれる前記データ情報は、前記データブロック内の複数のエントリを占有することを特徴とする請求項１７に記載のデータアクセス方法。
【請求項１９】
前記第１のソースノードおよび前記第２のソースノードのうちの少なくとも１つから選択された対応するソースノードが、前記第１の通信リンクおよび前記第３の通信リンクのうちの少なくとも１つを介して前記スイッチに前記データパケットを送信する時、前記ヘッダブロック制御ユニット、前記エラー訂正ブロック制御ユニットおよび前記データブロック制御ユニットは、前記ヘッダ情報、前記エラー訂正情報および前記データ情報を対応するエントリに記憶して記憶アドレスを生成し、前記記憶アドレスは前記対応するソースノードに返されることを特徴とする請求項１４に記載のデータアクセス方法。
【請求項２０】
前記記憶アドレスは、データ開始アドレスとヘッダアドレスとを備えることを特徴とする請求項１９に記載のデータアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はスイッチに関し、より詳細には、記憶リソースを集中管理することができるスイッチ及びそのデータアクセス方法に関する。
【背景技術】
【０００２】
図１は、従来のスイッチのブロック図である。図示のように、従来のスイッチ１００は複数の送信ポート１１を含み、これを介してスイッチ１００は複数の計算ノード１０とのデータ伝送を行うことができる。各送信ポート１１は、特定の記憶スペースを有する記憶ユニットに対応する。具体的には、各送信ポート１１は、データ受信記憶ユニット１２と、データ送信記憶ユニット１３とを備える。前記データ受信記憶ユニット１２および前記データ送信記憶ユニット１３は、それぞれ前記スイッチ１００が受信して送信する前記データパケットを記憶するように構成される。一般的に、従来のスイッチの各送信ポートは、専用の記憶スペースを有する。従って、記憶スペースの使用に影響を与える可能性のあるデータパケットの伝送速度、帯域幅および読出し遅延の要因のような、送信ポートの様々な記憶状態を満たすために、各記憶スペースができるだけ大きく設計される。しかし、すべてのデータパケット送信が記憶スペースのすべてを使用するわけではなく、すべての送信ポートが同時にデータパケットを送信するわけではない。即ち、従来のスイッチが動作している時、一部の送信ポートのみが使用され、他の送信ポートがアイドリングされてもよい。したがって、従来のスイッチは、記憶スペースがアイドリングしていることによって、リソースが無駄になるという問題が発生する可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の１つの目的は、背景技術で述べた問題を解決するスイッチを提供することである。
【０００４】
本発明の別の目的は、上記のスイッチで使用されるデータアクセス方法を提供することである。
【０００５】
本発明は、第１のソースノードと第１のターゲットノードとの間、および第２のソースノードと第２のターゲットノードとの間でデータパケットを送信するように構成されたスイッチを提供する。前記スイッチは、記憶ユニットと、制御ユニットと、第１のポートと、第２のポートと、第３のポートと、第４のポートとを含む。前記記憶ユニットは、複数の記憶ブロックを含み、データパケットをキャッシュするように構成される。前記制御ユニットは、前記記憶ブロックを管理するように構成される。第１の通信リンクは、前記第１のポートを介して前記第１のソースノードと前記制御ユニットとの間に確立される。第２の通信リンクは、前記第２のポートを介して前記第１のターゲットノードと前記制御ユニットとの間に確立される。第３の通信リンクは、前記第３のポートを介して前記第２のソースノードと前記制御ユニットとの間に確立される。第４の通信リンクは、前記第４のポートを介して前記第２のターゲットノードと前記制御ユニットとの間に確立される。前記第１のソースノードおよび前記第２のソースノードは、それぞれ、前記第１の通信リンクおよび前記第３の通信リンクを介して、前記第１のソースノードおよび前記第２のソースノードから送信されたデータパケットをキャッシュするために、前記記憶ユニットの前記記憶ブロックを使用する。前記第１のターゲットノードおよび前記第２のターゲットノードは、それぞれ、前記第２の通信リンクおよび前記第４の通信リンクを介して、前記第１のソースノードおよび前記第２のソースノードから送信された前記データパケットを受信する。
【０００６】
本発明は、さらに、上記のスイッチと共に使用されるように適用されたデータアクセス方法を提供する。前記データアクセス方法は、前記第１の通信リンク及び前記第３の通信リンクのうちの少なくとも１つを介して、前記スイッチにデータパケットを送信するステップと、前記データパケットに含まれる情報を前記記憶ユニットに記憶するように前記制御ユニットを構成するステップと、前記第２の通信リンクおよび前記第４の通信リンクのうちの少なくとも１つを介して、前記記憶ユニットから前記データパケットに含まれる情報を取り出すステップとを含む。
【０００７】
要約すると、複数のソースノードとターゲットノードが同じ記憶ユニットを共有するように構成することによって、複数のソースノードが、それぞれの通信リンクを介して前記記憶ユニットにデータパケットをキャッシュすることができ、複数のターゲットノードは、それぞれの通信リンクを介して記憶ユニットからデータパケットを取り出すことができる。本発明のスイッチは、従来のスイッチと比較して、記憶資源の割り当てが改善され、より多くのキャッシュスペースを節約することができる。また、前記記憶ユニットを管理するように前記制御ユニットを構成することにより、本発明のデータアクセスがより効率的になる。
【０００８】
本発明の他の利点、目的および特徴は、添付の図面を参照した以下の説明から明らかになるであろう。
【図面の簡単な説明】
【０００９】
【図１】図１は、従来のスイッチのブロック図である。
【図２】図２は、本発明の一実施形態に係るスイッチのブロック図である。
【図３】図３は、本発明の一実施形態に係るスイッチのさらに詳細なブロック図である。
【図４】図４は、本発明の一実施形態に係るデータにアクセスする時のスイッチを示すブロック図である。
【図５】図５は、本発明の一実施形態に係るデータにアクセスする時のスイッチを示すブロック図である。
【図６】図６は、本発明の一実施形態に係るデータアクセス方法のフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明を実施例により具体的に説明する。本発明の好ましい実施形態の以下の説明は、例示および説明のみを目的として本明細書に提示されることに留意されたい。包括的であること、または開示された正確な形態に限定されることを意図するものではない。
【００１１】
図２は、本発明の一実施形態によるスイッチのブロック図である。図２に示すように、本実施形態のスイッチ２００は、第１のソースノード２６と第１のターゲットノード２７との間、および第２のソースノード２８と第２のターゲットノード２９との間でデータパケットを送信するように適合される。スイッチ２００は、記憶ユニット２０と、制御ユニット２１と、第１ポート２２と、第２ポート２３と、第３ポート２４と、第４ポート２５とを含む。前記記憶ユニット２０は、複数の記憶ブロックを含み、前記データパケットをキャッシュするように構成される。前記制御ユニット２１は、前記記憶ブロックを管理するように構成される。第１の通信リンクは、前記第１のポート２２を介して前記第１のソースノード２６と前記制御ユニット２１との間に確立される。第２の通信リンクは、前記第２のポート２３を介して前記第１のターゲットノード２７と前記制御ユニット２１との間に確立される。第３の通信リンクは、前記第３のポート２４を介して前記第２のソースノード２８と前記制御ユニット２１との間に確立される。第４の通信リンクは、前記第４ポート２５を介して前記第２のターゲットノード２９と前記制御ユニット２１との間に確立される。前記第１のソースノード２６および前記第２のソースノード２８は、前記第１の通信リンクおよび前記第３の通信リンクを介して、前記記憶ユニット２０の前記記憶ブロックをそれぞれ使用して、前記第１のソースノード２６および前記第２のソースノード２８から送信された前記データパケットをキャッシュする。前記第１のターゲットノード２７および前記第２のターゲットノード２９は、前記第１のソースノード２６および前記第２のソースノード２８からそれぞれ前記第２の通信リンクおよび前記第４の通信リンクを介して送信された前記データパケットを、前記記憶ユニット２０を介して受信する。本発明の実施形態では、各データパケットは、前記記憶ユニット２０の異なるデータブロックに順次キャッシュされるヘッダ情報、データ情報およびエラー訂正情報を含むが、これに限定されるものではない。一例として、第１のポート２２、第２のポート２３、第３のポート２４および第４のポート２５をＰＣＩＥ（Ｐｅｒｉｐｈｅｒａｌ Ｃｏｍｐｏｎｅｎｔ Ｉｎｔｅｒｃｏｎｎｅｃｔ Ｅｘｐｒｅｓｓ）標準ポートとすることにより、データパケットはＴＬＰ（Ｔｒａｎｓａｃｔｉｏｎ Ｌａｙｅｒ Ｐａｃｋｅｔ）とすることができ、前記ヘッダ情報は、 前記データパケットがどのターゲットポートに送信されるか、および他の関連するヘッダ情報に関する。複数のスイッチ２００が直列に結合される一実施形態では、すべてのポートに一様に番号が付けられ、従って、中継ポートは、ヘッダ情報に従って前記データパケットが最終的にどのターゲットポートに送信されるかを知ることができる。
【００１２】
前記記憶ユニット２０は、データブロック２０１と、ヘッダブロック２０２と、エラー訂正ブロック２０３とを含む。前記制御ユニット２１は、データブロック制御ユニット２１１と、ヘッダブロック制御ユニット２１２と、エラー訂正ブロック制御ユニット２１３とを含む。前記データブロック制御ユニット２１１は、前記第１のソースノード２６および前記第２のソースノード２８の少なくとも一方から送信された前記データパケットに含まれる前記データ情報を前記データブロック２０１に記憶するように構成される。前記ヘッダブロック制御ユニット２１２は、 前記データパケットに含まれる前記ヘッダ情報を前記ヘッダブロック２０２に記憶するように構成される。前記エラー訂正ブロック制御ユニット２１３は、前記データパケットに含まれる前記エラー訂正情報を前記エラー訂正ブロック２０３に記憶するように構成される。本発明の実施形態において、前記制御ユニット２１は、複数のロジックゲートで構成されるロジック回路で実現されてもよく、即ち、本発明の前記制御ユニット２１は、様々なロジック回路構造を介して実現することができ、ここでは詳細な説明を省略する。
【００１３】
図３は、本発明の一実施形態に係るスイッチの詳細なブロック図である。図２に示された構成要素と同一の図３の構成要素には同じ番号が付されている。図３に示すように、前記ヘッダブロック２０２は、複数のエントリ０,１,２,…,Ｙ−１,Ｙを含む。前記ヘッダブロック制御ユニット２１２は、ヘッダ利用可能エントリマーキングユニット２１２１を含む。前記ヘッダ利用可能エントリマーキングユニット２１２１は、前記ヘッダブロック２０２内の利用可能エントリをマーキングするように構成される。前記ヘッダブロック制御ユニット２１２は、前記ヘッダ利用可能エントリマーキングユニット２１２１によってマーキングされた利用可能エントリに従って、対応する利用可能エントリに前記ヘッダ情報を記憶するように構成される。例えば、前記ヘッダ利用可能エントリマーキングユニット２１２１が、利用可能な状態（つまり、記憶されたデータがまだない）として前記エントリ０をマーキングする場合、前記ヘッダブロック制御ユニット２１２は、前記ソースノード（前記第１のソースノード２６または前記第２のソースノード２８）から送信された前記データパケットに含まれる前記ヘッダ情報を、前記ヘッダブロック２０１の前記エントリ０にキャッシュする。本実施形態では、前記ヘッダブロック２０２内の各エントリの前記キャッシュスペースは、例えば１９２ビットまでの長さのヘッダ情報の１レコードを記憶するように設計されている。即ち、ヘッダ情報の各レコードは、最大でも１つのエントリの前記キャッシュスペースを占有する。
【００１４】
引き続き図３を参照する。前記エラー訂正ブロック２０３は、複数のエントリ０,１,２, …,Ｙ−１,Ｙを含む。前記エラー訂正ブロック制御ユニット２１３は、前記ヘッダブロック制御ユニット２１２の前記ヘッダ利用可能エントリマーキングユニット２１２１によってマーキングされた前記利用可能エントリに従って、前記対応する利用可能エントリに前記エラー訂正情報を記憶するように構成される。即ち、本発明では、前記ヘッダ情報と前記エラー訂正情報は、前記対応する利用可能エントリに同期して記憶される。例えば、前記ヘッダ利用可能エントリマーキングユニット２１２１が、利用可能な状態（つまり、記憶されたデータがまだない）として前記エントリ０をマーキングする場合、前記ヘッダブロック２０２内の前記エントリ０〜Ｙの数/量は、前記エラー訂正ブロック２０３内の前記エントリ０〜Ｙの数/量と等しいことによって、前記ヘッダブロック制御ユニット２１２は、前記ソースノード（前記第１のソースノード２６または前記第２のソースノード２８）から送信された前記データパケットに含まれる前記ヘッダ情報を前記ヘッダブロック２０２の前記エントリ０にキャッシュするだけでなく、前記エラー訂正ブロック制御ユニット２１３も、前記ソースノードから送信された前記データパケットに含まれる前記エラー訂正情報を前記エラー訂正ブロック２０３の前記エントリ０にキャッシュする。本実施形態では、前記エラー訂正ブロック２０３内の各エントリの前記キャッシュスペースは、例えば、３２ビットまでのエラー訂正情報の１レコードを記憶するように設計されており、即ち、エラー訂正情報の各レコードは、最大でも１つのエントリの前記キャッシュスペースを占有する。従って、前記ヘッダブロック制御ユニット２１２の前記ヘッダ利用可能エントリマーキングユニット２１２１によってマーキングされた前記利用可能エントリを利用することにより、前記ヘッダブロック制御ユニット２１２および前記エラー訂正ブロック制御ユニット２１３は、前記データパケットに含まれる前記ヘッダ情報および前記エラー訂正情報を、それぞれ前記ヘッダブロック２０２および前記エラー訂正ブロック２０３の前記対応するエントリに同期してキャッシュすることができ、これによって前記スイッチシステムの計算負荷を軽減することができるが、本発明はこれに限定されるものではない。
【００１５】
引き続き図３を参照する。前記データブロック２０１は、複数のエントリ０,１,２, …,Ｘ−１,Ｘを含む。前記データブロック制御ユニット２１１は、データエントリリンクユニット２１１１と、データ利用可能エントリマーキングユニット２１１２とを含む。前記データ利用可能エントリマーキングユニット２１１２は、前記データブロック２０１内の前記利用可能エントリをマーキングするように構成される。前記データブロック制御ユニット２１１は、前記データ利用可能エントリマーキングユニット２１１２によってマーキングされた前記利用可能エントリに従って、前記データブロック２０１内の前記対応する利用可能エントリに前記データ情報を記憶するように構成される。前記データエントリリンクユニット２１１１は、前記データブロック２０１の対応する位置のエントリの次の使用済みエントリを指すように構成される。例えば、前記第１のソースノード２６からの前記データパケットに含まれる前記データ情報がキャッシュのために前記データブロック２０１内に３つのエントリを必要とし、前記データ利用可能エントリマーキングユニット２１１２が前記データブロック２０１内の前記エントリ０〜２を利用可能とマーキングする場合、前記データパケットに含まれる前記データ情報は３つのレコードに分割され、次に前記データ情報の３つのレコードが前記エントリ０〜２に順次キャッシュされる。これに対応して、前記データ情報の３つのレコードを取り出そうとする時、前記第１のターゲットノード２７は、前記データエントリリンクユニット２１１１によって指された前記エントリに従って、前記対応するデータ情報を順次取り出す。具体的には、前記データ利用可能エントリマーキングユニット２１１２が、前記データブロック２０１内の前記エントリ０〜２を利用可能とマーキングする場合、前記データ情報の第１のレコードが前記エントリ０にキャッシュされ、前記データ情報の第２のレコードが前記エントリ１にキャッシュされ、前記データエントリリンクユニット２１１１は、前記エントリ１を指して、前記データ情報の第１のレコードの後にキャッシュされた前記データ情報の第２のレコードが前記エントリ１にキャッシュされていることを示す。同様に、前記データ情報の第２のレコードが前記エントリ１にキャッシュされ、前記データ情報の第３のレコードが前記エントリ２にキャッシュされる時、前記データエントリリンクユニット２１１１は、前記エントリ２を指して、前記データ情報の第２のレコードの後にキャッシュされた前記データ情報の第３のレコードが前記エントリ２にキャッシュされていることを示す。なお、上記実施形態では、前記データ情報のレコードは連続したエントリ０〜２に隣接して順次キャッシュされているが、本発明はこれに限定されるものではない。即ち、前記データ情報がキャッシュされる前記エントリは、連続した順序ではなく、前記データ利用可能エントリマーキングユニット２１１２によってマーキングされた前記利用可能エントリに従って決定される。本発明では、前記データブロック制御ユニット２１１は、前記データパケットに含まれる前記データ情報をエントリ単位でキャッシュする。一例として、第１のポート２２、第２のポート２３、第３のポート２４および第４のポート２５をＰＣＩＥ標準ポートとすることにより、前記データパケットに含まれるデータ情報の１レコードの長さは固定されていない。前記ＴＬＰパケットに含まれるデータ情報の長さは、ＰＣＩＥ仕様に従って、最大１０２４ダブルワード（ＤＷ）である。一例として、前記データブロック２０１の各エントリの前記キャッシュスペースを３２ダブルワード（１０２４ビット）に設計することにより、１つのＴＬＰパケットに含まれる前記データ情報は、最大３２のエントリを占有してもよい。一実施形態では、前記データブロック２０１は８つの１２８ビットメモリから構成される。本発明では、前記データブロック制御ユニット２１１は、１クロックサイクル当たり最大１エントリ（即ち、３２ダブルワード）のデータ情報をキャッシュすることができる。従って、１つのＴＬＰパケットに含まれる前記データ情報が１０２４ダブルワードの場合、１つのキャッシュを完了するために３２クロックサイクルが必要である。要するに、本発明では、前記データブロック制御ユニット２１１は、前記データ利用可能エントリマーキングユニット２１１２に従って、前記ソースノード（前記第１のソースノード２６または前記第２のソースノード２８）からの前記データパケットに含まれる前記データ情報を前記データブロック２０１に記憶し、前記データエントリリンクユニット２１１１に従って、前記データブロック２０１から前記データパケットに含まれる前記データ情報を、前記ターゲットノード（前記第１のターゲットノード２７または前記第２のターゲットノード２９）に記憶順に取り出す。
【００１６】
図４は、本発明の一実施形態に係るデータにアクセスする時のスイッチを示すブロック図である。図４および図３で同じ番号を付けられているものは同一の構成要素および信号である。図４に示すように、本実施形態のスイッチ４００は、複数のポート４０１を含む。複数の通信リンクが、前記複数のポート４０１を介して制御ユニット２１と前記ソースノード４０,４１,４２,４３,４４,４５,４６,４７および４８との間にそれぞれ確立される。上述のように、一実施形態では、前記ソースノード４０〜４８からの各データパケットに含まれる前記ヘッダ情報は、前記ヘッダブロック２０２内の１つのエントリのみを占有し、前記ソースノード４０〜４８からの各データパケットに含まれる前記エラー訂正情報も、前記エラー訂正ブロック２０３内の１つのエントリのみを占有し、重複する説明は本明細書では示されない。しかしながら、前記ソースノード４０〜４８からの各データパケットに含まれる前記データ情報の長さは固定されず、前記データ情報は前記データブロック２０１内の複数のエントリを占有してもよく、従って、キャッシュされる各データパケットに含まれる前記複数のデータ情報のレコードが関連するエントリをリンクするためには、前記データエントリリンクユニット２１１１の指示が必要である。その結果、前記データ情報のアクセス効率が向上し、前記スイッチ４００の演算負荷が軽減される。本実施形態では、前記ソースノード４０〜４８が前記データパケットに含まれる前記データ情報を前記データブロック２０１に同時に書込むことができるようにするために、初期期間（前記ソースノードがまだデータパケットを書込んでいない期間）中に、前記データブロック２０１は各ソースノード４０〜４８にエントリを予め保留する。例えば、前記エントリ０は前記ソースノード４０のために予め保留され、前記エントリ１は前記ソースノード４１のために予め保留され、前記エントリ２は前記ソースノード４２のために予め保留され…、前記エントリ８は前記ソースノード４８のために予め保留される。従って、前記スイッチ４００にデータパケットを同時に送信することを望む場合、前記ソースノード４０〜４８は、それぞれのデータ情報を前記予め保留されたエントリ０〜８にそれぞれ書込む。しかしながら、実際には、前記ソースノード４０〜４８のすべてが同時にデータパケットを前記スイッチ４００に送信するわけではなく、いずれかのソースノードがデータパケットを送信していない場合、それぞれの予め保留されたエントリは依然保留されており、他のソースノードによって送信された前記データ情報によって占有されていない。
【００１７】
図４に示すように、前記ソースノード４０〜４８のすべてが、前記データブロック２０１内の前記予め保留されたエントリ０〜８にデータ情報をそれぞれ書込む場合、前記データ利用可能エントリマーキングユニット２１１２は、リードポインタに従って前記利用可能エントリをエントリ９に指す。即ち、前記ソースノード４０〜４８が次の書込まれるデータ情報のレコードを有する場合、前記リードポインタに従って、このデータ情報のレコードが前記データブロック２０１の前記エントリ９に書込まれることがわかる。詳細は、図５と併せて次の段落で説明する。ほかに、前記データ利用可能エントリマーキングユニット２１１２は、さらにライトポインタを使用して、解放されたキャッシュスペースを有する前記利用可能エントリを指す。こっちの詳細も、図５と併せて次の段落で説明する。本実施形態では、前記ソースノード４０〜４８のすべてが、前記初期期間中に前記データブロック２０１内の前記予め保留されたエントリ０〜８にそれぞれのデータ情報を書込むので、前記データエントリリンクユニット２１１１の前記エントリ０〜８の位置は、前記エントリ１〜９を順番に指定することによって、前記エントリ０に対する次の使用済みエントリはエントリ１であること、前記エントリ１に対する次の使用済みエントリはエントリ２であること等を示す。
【００１８】
図５は、本発明の別の実施形態に係るデータにアクセスする時のスイッチを示すブロック図である。図５および図４で同じ番号を付けられているものは同一の構成要素および信号である。具体的には、図５のブロック図は、前記初期期間中に、図４の前記スイッチ４００の前記ソースノード４０〜４８が前記データパケットに含まれるそれぞれのデータ情報を前記データブロック２０１内の前記エントリ０〜８に書込んだ後の書込み期間を示す。前記ソースノード４０〜４８によって送信された前記データパケットに含まれる前記データ情報は、前記データブロック２０１内の複数のエントリを占有してもよく、詳細は図５に記載されることに留意されたい。
【００１９】
引き続き図５を参照する。前記書込み期間中に、前記ソースノード４０〜４８のうちの前記ソースノード４０,４２,４４,４５によって送信された前記データパケットが書込まれるデータ情報の第２のレコードをまだ有する場合、図４の前記データ利用可能エントリマーキングユニット２１１２によってマーキングされた前記利用可能エントリ９に従って（前記リードポインタを介して）、前記データブロック２０１のエントリ９〜１２に書込まれる。一実施形態では、前記ソースノード４０〜４８であっても、前記初期期間中にそれぞれ前記エントリ０〜８にそれぞれのデータ情報を書込まないことに留意されたい。前記エントリ０〜８は、前記ソースノード４０〜４８に対してまだ保留されており、他のソースノードのデータによってそれぞれ占有されていない。 即ち、前記データ利用可能エントリマーキングユニット２１１２によってマーキングされた前記利用可能エントリはまだ前記エントリ９である。この時、前記エントリ０〜１２にそれぞれのデータ情報が記憶されているため、前記データ利用可能エントリマーキングユニット２１１２の前記リードポインタはエントリ１３を指し、前記データ利用可能エントリマーキングユニット２１１２は、前記リードポインタに従って前記エントリ１３を利用可能とマーキングする。
【００２０】
図４および図５を参照する。具体的には、前記ソースノード４０は、各データパケットに含まれる前記データ情報の第１のレコードを前記データブロック２０１内の前記利用可能エントリ０に書込み、前記データ情報の第２のレコードを前記データブロック２０１内の前記利用可能エントリ９に書込む。従って、前記データエントリリンクユニット２１１１は、前記エントリ０の位置の前記エントリ９である前記使用済みエントリ０に対する次の使用済みエントリをマーキングし、それによって前記データパケットを読込む時、前記データエントリリンクユニット２１１１の指示に従って、前記ターゲットノード（図示せず）が、前記エントリ０にキャッシュされた前記データ情報を読込み、次に前記エントリ９にキャッシュされた前記データ情報を読込むことを容易にする。同様に、前記ソースノード４２は、それぞれのデータパケットに含まれる前記データ情報の第１のレコードを前記データブロック２０１の前記利用可能エントリ２に書込み、前記データ情報の第２のレコードを前記データブロック２０１の前記利用可能エントリ１０に書込む。従って、前記データエントリリンクユニット２１１１は、前記エントリ２の位置の前記エントリ１０である前記使用済みエントリ２に対する次の使用済みエントリをマーキングし、それによって前記データパケットを読込む時、前記データエントリリンクユニット２１１１の指示に従って、前記ターゲットノード（図示せず）が、前記エントリ２にキャッシュされたデータ情報を読込み、次に前記エントリ１０にキャッシュされたデータ情報を読込むことを容易にする。同様に、前記ソースノード４４は、それぞれのデータパケットに含まれる前記データ情報の第１のレコードを、前記データブロック２０１の前記利用可能エントリ４に書込み、前記データ情報の第２のレコードを、前記データブロック２０１の前記利用可能エントリ１１に書込む。従って、前記データエントリリンクユニット２１１１は、前記エントリ４の位置の前記エントリ１１である前記使用済みエントリ４に対する次の使用済みエントリをマーキングし、それによって前記データパケットを読込む時、前記データエントリリンクユニット２１１１の指示に従って、前記ターゲットノード（図示せず）が、前記エントリ４にキャッシュされた前記データ情報を読込み、次に前記エントリ１１にキャッシュされた前記データ情報を読込むことを容易にする。同様に、前記ソースノード４５は、それぞれのデータパケットに含まれる前記データ情報の第１のレコードを前記データブロック２０１の前記利用可能エントリ５に書込み、前記データ情報の第２のレコードを前記データブロック２０１の前記利用可能エントリ１２に書込む。従って、前記データエントリリンクユニット２１１１は、前記エントリ５の位置の前記エントリ１２である前記使用済みエントリ５に対する次の使用済みエントリをマーキングし、それによって前記データパケットを読込む時、前記データエントリリンクユニット２１１１の指示に従って、前記ターゲットノード（図示せず）が、前記エントリ５にキャッシュされた前記データ情報を読込み、次に前記エントリ１２にキャッシュされた前記データ情報を読込むことを容易にする。
【００２１】
一般に、複数のソースノードは、それぞれのデータパケットに含まれるそれぞれのデータ情報を同時に前記データブロック２０１に書込むので、各ソースノードによって送信された前記データパケットに含まれる前記データ情報の第２のレコード（前記データ情報の第２のレコードが存在する場合）または前記第２のレコードよりも大きい前記データ情報（前記第２のレコードよりも大きい前記データ情報が存在する場合）は、前記データ情報の第１のレコードを有する前記エントリに隣接する前記エントリに書込まれない。従って、前記データエントリリンクユニット２１１１は、順番に従って読出すのではなく、前記データブロック２０１の前記複数のエントリの中で現在のエントリの次の使用済みエントリを指し、前記ターゲットノードが前記対応するデータ情報をより迅速かつ正確に読取ることを容易にする。
【００２２】
例えば、前記ソースノード４０、４５が前記データブロック２０１にキャッシュされた前記データ情報を読出す時、前記ターゲットノードは、前記エントリ０、９にキャッシュされた前記データ情報を順次読出し、前記ソースノード４０から送信された前記データパケットを取得し、前記エントリ５、１２にキャッシュされた前記データ情報を順次読出し、前記ソースノード４５から送信された前記データパケットを取得する。前記データブロック２０１の前記エントリ０、９、５および１２にキャッシュされた前記データ情報が読込まれた後、前記エントリ０、９、５および１２に対応する前記キャッシュスペースが別のキャッシュに対して解放される。データ情報をキャッシュできる現在のデータブロック２０１内の現在の利用可能エントリ（例えば、エントリ１３）を指すために前記リードポインタを使用することに加えて、本実施形態の前記データ利用可能エントリマーキングユニット２１１２は、解放されたキャッシュスペースを有する前記エントリ（例えば、エントリ０、９、５、１２）の数／量が４であることを指すためにライトポインタを使用することに留意されたい。例えば、前記エントリ０、９、５および１２の前記キャッシュスペースが解放された時（図５に示されず）、前記ライトポインタは０から４まで加算され、前記空きエントリが前記位置４から前記データ利用可能エントリマーキングユニット２１１２に追加されることを示す。対応して、前記データ利用可能エントリマーキングユニット２１１２の位置０?３は、前記解放されたエントリ０、９、５および１２のエントリ番号を記憶する。本発明の実施形態では、前記記憶ユニット２０の前記データブロック２０１〜２０３はスタティックランダムアクセスメモリ（ＳＲＡＭ）で実現されているが、本発明はこれに限定されるものではない。
【００２３】
本実施形態について、図２を参照してさらに説明する。図２を参照する。前記ソースノード２６および／または前記ソースノード２８が通信リンクを介して前記スイッチ２００に前記データパケットを送信すると、前記ヘッダブロック制御ユニット２１２、前記エラー訂正ブロック制御ユニット２１３および前記データブロック制御ユニット２１１は、前記データパケットに含まれる前記ヘッダ情報、前記エラー訂正情報および前記データ情報をそれぞれ対応するエントリに記憶する。前記スイッチ２００は対応して記憶アドレスを生成し、前記生成された記憶アドレスを対応する前記ソースノード２６および／または前記ソースノード２８に返す。具体的には、前記記憶アドレスには、データ開始アドレスとヘッダアドレスを含む（詳細は下記表１を参照）。前記各ソースノードのポート（例えば、前記第１のポート２２および前記第３のポート２４）には、前記ヘッダブロック２０２内の前記ヘッダ情報、前記エラー訂正ブロック２０３内の前記エラー訂正情報、前記データブロック２０１内の前記データ情報にそれぞれ関連する前記スイッチ２００から返された前記記憶アドレスを記憶するためのアドレスキュー（図示せず）が配置されることは明らかである。前記ソースノード２６および／または２８は、前記アドレスキューに登録された前記記憶アドレスを、バイパスチャネル（図示せず）を介して前記対応するターゲットノード２７および／または２９に送信する。前記ターゲットノード２７および／または２９は、前記スイッチ２００から前記対応する通信リンクを介して前記データパケットを検索する時、前記記憶アドレスおよび送信命令に含まれる制御情報（詳細な仕様については以下の表２を参照）に従って前記データブロック２０１内の前記対応するエントリから前記データ情報を取り出す。次に、前記データブロック２０１内の前記対応するエントリから前記データ情報の取り出しに成功すると、前記ターゲットノード２７および／または２９は、前述のデータ検索の結果に従ってクリア情報（詳細な仕様については以下の表３を参照）を返す。前記スイッチ２００は、前記ヘッダブロック２０２、前記エラー訂正ブロック２０３、および前記データブロック２０１の前記対応するエントリに記憶された前記ヘッダ情報、前記エラー訂正情報および前記データ情報をそれぞれクリア情報に従ってクリアする。前記制御情報および前記クリア情報は、前記データ開始アドレス、前記ヘッダアドレス、前記ソースノードの識別情報、データパケットフォーマット情報、データパケット長さ情報、ポート動作情報およびパケット状態情報を含む。
【００２４】
表１は、前記記憶アドレスの例示的なフォーマットを示す。例えば、記憶アドレスの長さは２０ビット（例えば、ビット０〜２０）である。具体的には、ビット０?１０は、前記記憶ユニット２０の前記データブロック２０１にキャッシュされた前記データ情報の前記ヘッダアドレスを記録し、ビット１１〜２０は、前記記憶ユニット２０の前記ヘッダブロック２０２にキャッシュされた前記ヘッダ情報の前記アドレスを記録する。なお、上述した記憶アドレス長さのビット数／量は一例であり、本発明はこれに限定されるものではない。また、本実施形態では、前記記憶アドレスには、前記エラー訂正ブロック２０３にキャッシュされた前記データパケットの前記エラー訂正情報の前記アドレスが含まれておらず、前記エラー訂正情報と前記ヘッダ情報の長さが固定されているので（具体的には、前記データ情報の全長のみに制限があるが、データ情報の各レコードの長さに制限はない）、前記エラー訂正情報は、前記エラー訂正ブロック２０３内の前記利用可能エントリに前記エラー訂正情報を同時にキャッシュするために、前記ヘッダ情報と共に前記ヘッダ利用可能エントリマーキングユニット２１２１によってマーキングされた前記利用可能エントリを共有することができる。
即ち、前記エラー訂正ブロック２０３における前記エラー訂正情報の前記記憶アドレスは、前記ヘッダブロック２０２における前記ヘッダ情報の前記記憶アドレスと同じであるが、これに限定されるものではない。
【００２５】
【表１】
0006718798.tif 000002
【００２６】
表２は、前記制御情報の例示的なフォーマットを示す。例えば、前記制御情報の長さは４２ビット（例えば、ビット０〜４１）である。
具体的には、ビット０〜１０は、前記データブロック２０１にキャッシュされた前記データ情報の前記開始アドレスを記録する。ビット１１〜２０は、前記ヘッダブロック２０２にキャッシュされた前記ヘッダ情報の前記アドレスを記録する。ビット２１〜２６は、各ソースノードの番号を記録して、これらのソースノードを識別可能にする。具体的には、複数のスイッチ２００が直列に接続された一実施形態では、すべてのポートが一様な番号を有し、従って、中継ポートは、前記ヘッダ情報に従って前記データパケットが最終的にどのターゲットポートに送信されるかを知ることができる。ビット２７〜２８は、前記データパケットのタイプを記録する。例えば、前記ＰＣＩＥ標準を採用する前記ポート２２〜２５の実施形態では、前記データパケットのタイプは、Ｎｏｎ−ｐｏｓｔｅｄ、ＣＰＬおよびＰｏｓｔｅｄ  ｗｒｉｔｅを含むが、本発明はこれに限定されない。ビット２９〜３８は、前記データパケットの長さを記録する。ビット３９〜４０は、（アクセス情報またはクリア情報に属する）前記制御情報の状態を記録する。例えば、前記ビット３９〜４０のバイナリ情報コードが１１である場合、前記制御情報はクリア情報状態にあり、前記ビット３９〜４０のバイナリ情報コードが１０である場合、前記制御情報はアクセス状態にある。一実施形態では、ビット３９〜４０のバイナリ情報コード１１は、前記データパケットの読出しが完了したことを示す確認メッセージと呼ばれ、前記記憶ユニット２０内の前記対応するエントリの前記キャッシュスペースを解放することができる。ビット４１は、前記データパケットがデータ情報を含むかどうかを示す情報を記録する。例えば、前記ビット４１のバイナリ情報コードが０である場合、前記データパケットは前記データ情報を含まないことを示し、前記ビット４１のバイナリ情報コードが１である場合、前記データパケットは前記データ情報を含むことを示す。前記制御情報の長さに対する前述のビット数／量は一例に過ぎず、本発明はこれに限定されるものではない。
【００２７】
【表２】
0006718798.tif 000003
【００２８】
表３は、前記クリア情報の例示的なフォーマットを示す。例えば、前記クリア情報の長さは４２ビット（例えば、ビット０〜４１）である。具体的には、ビット０〜１０は、前記データブロック２０１にキャッシュされた前記データ情報の前記開始アドレスを記録する。ビット１１〜２０は、前記ヘッダブロック２０２にキャッシュされた前記ヘッダ情報のアドレスを記録する。ビット２１〜２６は、各ソースノードの番号を記録し、これにより、これらのソースノードを区別する。ビット２７〜２８は、前記データパケットのタイプを記録する。ビット２９〜３８は、前記データパケットの長さを記録する。ビット３９〜４０は、前記クリア情報の状態を記録する。例えば、前記ビット３９〜４０のバイナリ情報コードが１１である場合、前記クリア情報はクリア情報状態にあり、前記ビット３９〜４０のバイナリ情報コードが１０である場合、前記クリア情報は保留された状態にある。一実施形態では、前記受信されたクリア情報内の前記ビット３９〜４０のバイナリ情報コードが１１である場合、前記スイッチ２００は、次のキャッシュのために前記記憶ユニット２０内の前記対応するエントリの前記キャッシュスペースをクリアし、解放する。または、前記受信されたクリア情報内の前記ビット３９〜４０のバイナリ情報コードが１１でない場合、前記スイッチ２００は、前記対応するエントリに記憶された情報を前記記憶ユニット２０に保留する。ビット４１は、前記データパケットが前記データ情報を含むかどうかを示す情報を記録する。例えば、前記ビット４１のバイナリ情報コードが０である場合、前記データパケットはデータ情報を含まないことを示し、前記ビット４１のバイナリ情報コードが１である場合、前記データパケットはデータ情報を含むことを示す。前記制御情報の長さに対する前述のビット数／量は一例に過ぎず、本発明はこれに限定されるものではない。
【００２９】
さらに、本実施形態の表２および表３では、前記制御情報と前記クリア情報との唯一の違いは、前記ビット３９〜４０によって表される意味である。しかし、前記制御情報に記録された前記ビット３９〜４０のバイナリ情報コードが１１である場合、前記クリア情報に記録された前記ビット３９〜４０のバイナリ情報コードも１１であり、それによって、前記スイッチ２００に前記記憶ユニット２０内の前記対応するエントリの前記キャッシュスペースをクリアし、解放するように通知する。
【００３０】
【表３】
0006718798.tif 000004
【００３１】
図６は、本発明の一実施形態に係るデータアクセス方法のフローチャートである。本実施形態のデータアクセス方法は、スイッチ（例えば、図２のスイッチ２００）と共に使用されるように適合される。前記スイッチ２００は、前記第１のソースノードと前記第１のターゲットノードとの間、および前記第２のソースノードと前記第２のターゲットノードとの間で前記データパケットを送信するように構成される。前記スイッチ２００は、前記記憶ユニット２０と、前記制御ユニット２１と、前記第１のポート２２と、前記第２のポート２３と、前記第３のポート２４と、前記第４のポート２５とを含む。第１の通信リンクは、前記第１のポート２２を介して前記第１のソースノード２６と前記制御ユニット２１との間に確立される。第２の通信リンクは、前記第２のポート２３を介して前記第１のターゲットノード２７と前記制御ユニット２１との間に確立される。第３の通信リンクは、前記第３のポート２４を介して前記第２のソースノード２８と前記制御ユニット２１との間に確立される。第４の通信リンクは、前記第４のポート２５を介して前記第２のターゲットノード２９と前記制御ユニット２１との間に確立される。
【００３２】
図６に示すように、本実施形態のデータアクセス方法は、ステップ６０１〜６０７を含む。ステップ６０１：第１の通信リンクおよび第３の通信リンクのうちの少なくとも１つを介してスイッチ２００にデータパケットを送信し、制御ユニット２１を構成してデータパケットに含まれる情報を記憶ユニット２０に記憶する。ステップ６０２：データパケットに含まれる情報（ヘッダ情報、エラー訂正情報及びデータ情報を含む）を記憶ユニット２０に記憶し、それに対応して記憶アドレスを生成する。ステップ６０３：記憶アドレスを対応するソースノード（第１のソースノード２６または第２のソースノード２８）に返す。ステップ６０４：記憶アドレスを、対応するバイパスチャネルを介して対応するターゲットノード（第１のターゲットノード２７または第２のターゲットノード２９）に送信する。ステップ６０５：受信した記憶アドレスに従って、第２の通信リンクおよび第４の通信リンクのうちの少なくとも１つを介して、記憶ユニット２０からデータパケットに含まれる情報を取り出す。ステップ６０６：データパケットに含まれる情報の取り出しが成功したかどうかを判定する。ステップ６０７：データパケットに含まれる情報の取り出しが成功した場合、第２の通信リンクおよび第４の通信リンクの少なくとも１つを介して制御ユニット２１にクリア情報を発行して、クリア情報に従って記憶ユニット２０に記憶されたデータパケットに含まれる情報（ヘッダ情報、誤り訂正情報およびデータ情報を含む）をクリアするように制御ユニット２１を構成する。
【００３３】
要約すると、複数のソースノードとターゲットノードが同じ記憶ユニットを共有するように構成することによって、複数のソースノードが、それぞれの通信リンクを介して前記記憶ユニットにデータパケットをキャッシュすることができ、複数のターゲットノードは、それぞれの通信リンクを介して前記記憶ユニットからデータパケットを取り出すことができる。本発明のスイッチは、従来のスイッチと比較して、記憶資源の割り当てが改善され、より多くのキャッシュスペースを節約することができる。また、前記記憶ユニットを管理するように前記制御ユニットを構成することにより、本発明のデータアクセスがより効率的になる。
【００３４】
本発明は、現在最も実用的で好ましい実施形態であると考えられるものの観点から説明されているが、本発明は開示された実施形態に限定される必要はないことを理解されたい。 逆に、最も広い解釈に従う添付の特許請求の範囲の精神および範囲内に含まれる様々な改変および同様の構成を包含し、そのような改変および類似の構造の全てを包含することが意図される。
【符号の説明】
【００３５】
１００…スイッチ
１０…計算ノード
１１…送信ポート
１２…データ受信記憶ユニット
１３…データ送信記憶ユニット
２００…スイッチ
２０…記憶ユニット
２０１…データブロック
２０２…ヘッダブロック
２０３…エラー訂正ブロック
２１…制御ユニット
２１１…データブロック制御ユニット
２１２…ヘッダブロック制御ユニット
２１３…エラー訂正ブロック制御ユニット
２２…第１のポート
２３…第２のポート
２４…第３のポート
２５…第４のポート
２６…第１のソースノード
２７…第１のターゲットノード
２８…第２のソースノード
２９…第２のターゲットノード
２１１…１データエントリリンクユニット
２１１２…データ利用可能エントリマーキングユニット
２１２１…ヘッダ利用可能エントリマーキングユニット
４０１…ポート
４０、４１、４２、４３、４４、４５、４６、４７、４８…ソースノード
６０１、６０２、６０３、６０４、６０５、６０６、６０７…ステップ
【図１】
0006718798.tif 000005
【図２】
0006718798.tif 000006
【図３】
0006718798.tif 000007
【図４】
0006718798.tif 000008
【図５】
0006718798.tif 000009
【図６】
0006718798.tif 000010