(57)【要約】【課題】マルチキャスト転送のデータ転送先のメモリ制御部からデータ転送元のメモリ制御部へのマルチキャスト転送のリプライを不用とし、リプライによるネットワークの負荷を無くす。【解決手段】メモリとメモリ制御部とネットワークを保持したメモリ分散方式のシステムにおいて、メモリ制御部内に受信したマルチキャスト転送の数を示す命令数カウンタを設けて、ソフトウェアが複数のマルチキャスト転送を実行後にデータ転送先の命令数カウンタを読み出してマルチキャスト転送の終了を認識する。【選択図】図２
2010231474.tif 000002
【特許請求の範囲】
【請求項１】
メモリと、
前記メモリのアクセス制御を行い、マルチキャスト転送による前記メモリへのアクセスに対するリプライの送受信を防止するメモリ制御手段と、
前記メモリ及び前記メモリ制御手段を管理するソフトウェアの実行手段と
を含み、
前記メモリ制御手段は、
前記メモリからデータを読み出して、データ転送先にマルチキャスト転送で前記データを送信する命令送出手段と、
マルチキャスト転送のデータを受信する命令受付手段と、
前記命令受付手段により受信されたマルチキャスト転送の数を示す命令数カウンタと、
前記命令受付手段により受信されたマルチキャスト転送のデータに付与されたエラー情報を登録するためのエラー情報レジスタと
を具備し、
前記実行手段は、前記ソフトウェアを実行し、複数のマルチキャスト転送を実行した後に、前記ソフトウェアのシーケンスのチェックポイント毎に、データ転送先のメモリ制御手段が持つ命令数カウンタとエラー情報レジスタを読み出して、マルチキャスト転送の終了と転送の成否を認識する
メモリアクセス制御装置。
【請求項２】
請求項１に記載のメモリアクセス制御装置であって、
前記実行手段は、
前記メモリ制御手段にマルチキャスト転送の発行を指示する手段と、
前記ソフトウェアのシーケンスがチェックポイントであるか確認する手段と、
前記ソフトウェアのシーケンスがチェックポイントでない場合、前記ソフトウェアのシーケンスがチェックポイントとなるまで、前記メモリ制御手段に対して、マルチキャスト転送の発行指示を繰り返す手段と、
前記ソフトウェアのシーケンスがチェックポイントである場合、マルチキャスト転送のデータ転送先のメモリ制御手段が持つエラー情報レジスタと命令数カウンタを読み出す手段と、
前記読み出された全ての命令数カウンタが、前記発行されたマルチキャスト転送の数と一致したか確認する手段と、
前記読み出された全ての命令数カウンタが、前記発行されたマルチキャスト転送の数と不一致である場合には、再度、前記マルチキャスト転送のデータ転送先の前記エラー情報レジスタと前記命令数カウンタを読み出す手段と、
前記読み出された全ての命令数カウンタが、前記発行されたマルチキャスト転送の数と一致した場合には、前記読み出された全てのエラー情報レジスタのエラー情報がエラー無しである場合には正常終了と認識して終了し、１つでもエラーが存在した場合には異常終了と認識してエラー処理を行う手段と
を具備する
メモリアクセス制御装置。
【請求項３】
請求項１又は２に記載のメモリアクセス制御装置であって、
前記命令送出手段は、
前記メモリからデータを読み出してネットワークへ送出する手段
を具備し、
前記ネットワークは、
マルチキャスト転送のデータをコピーして、データ転送先であるメモリ制御手段へ送出する手段と、
マルチキャスト転送のデータ転送が正常に行われない場合には、前記エラー情報を付与してデータ転送先であるメモリ制御手段へ送出する手段と
を具備する
メモリアクセス制御装置。
【請求項４】
メモリのアクセス制御を行い、マルチキャスト転送による前記メモリへのアクセスに対するリプライの送受信を防止し、
前記メモリからデータを読み出して、データ転送先にマルチキャスト転送で前記データを送信し、
マルチキャスト転送のデータを受信し、
前記受信されたマルチキャスト転送の数を示す命令数カウンタを保持し、
前記受信されたマルチキャスト転送のデータに付与されたエラー情報をエラー情報レジスタに登録し、
前記メモリ及び前記メモリ制御手段を管理するソフトウェアを実行し、複数のマルチキャスト転送を実行した後に、前記ソフトウェアのシーケンスのチェックポイント毎に、データ転送先のメモリ制御手段が持つ命令数カウンタとエラー情報レジスタを読み出して、マルチキャスト転送の終了と転送の成否を認識する
メモリアクセス制御方法。
【請求項５】
請求項４に記載のメモリアクセス制御方法であって、
マルチキャスト転送の発行を指示し、
前記ソフトウェアのシーケンスがチェックポイントであるか確認し、
前記ソフトウェアのシーケンスがチェックポイントでない場合、前記ソフトウェアのシーケンスがチェックポイントとなるまで、前記メモリ制御手段に対して、マルチキャスト転送の発行指示を繰り返し、
前記ソフトウェアのシーケンスがチェックポイントである場合、マルチキャスト転送のデータ転送先が持つエラー情報レジスタと命令数カウンタを読み出し、
前記読み出された全ての命令数カウンタが、前記発行されたマルチキャスト転送の数と一致したか確認し、
前記読み出された全ての命令数カウンタが、前記発行されたマルチキャスト転送の数と不一致である場合には、再度、前記マルチキャスト転送のデータ転送先の前記エラー情報レジスタと前記命令数カウンタを読み出し、
前記読み出された全ての命令数カウンタが、前記発行されたマルチキャスト転送の数と一致した場合には、前記読み出された全てのエラー情報レジスタのエラー情報がエラー無しである場合には正常終了と認識して終了し、１つでもエラーが存在した場合には異常終了と認識してエラー処理を行う
メモリアクセス制御方法。
【請求項６】
請求項４又は５に記載のメモリアクセス制御方法であって、
前記メモリからデータを読み出してネットワークへ送出し、
前記ネットワーク上で、マルチキャスト転送のデータをコピーして、データ転送先であるメモリ制御手段へ送出し、
前記ネットワーク上で、マルチキャスト転送のデータ転送が正常に行われない場合には、前記エラー情報を付与してデータ転送先であるメモリ制御手段へ送出する
メモリアクセス制御方法。
【請求項７】
メモリのアクセス制御を行い、マルチキャスト転送による前記メモリへのアクセスに対するリプライの送受信を防止するステップと、
前記メモリからデータを読み出して、データ転送先にマルチキャスト転送で前記データを送信するステップと、
マルチキャスト転送のデータを受信するステップと、
前記受信されたマルチキャスト転送の数を示す命令数カウンタを保持するステップと、
前記受信されたマルチキャスト転送のデータに付与されたエラー情報をエラー情報レジスタに登録するステップと、
前記メモリ及び前記メモリ制御手段を管理するソフトウェアが実行された場合、複数のマルチキャスト転送を実行した後に、前記ソフトウェアのシーケンスのチェックポイント毎に、データ転送先のメモリ制御手段が持つ命令数カウンタとエラー情報レジスタを読み出して、マルチキャスト転送の終了と転送の成否を認識するステップと
をコンピュータに実行させるための
メモリアクセス制御用プログラム。
【請求項８】
請求項７に記載のメモリアクセス制御用プログラムであって、
マルチキャスト転送の発行を指示するステップと、
前記ソフトウェアのシーケンスがチェックポイントであるか確認するステップと、
前記ソフトウェアのシーケンスがチェックポイントでない場合、前記ソフトウェアのシーケンスがチェックポイントとなるまで、前記メモリ制御手段に対して、マルチキャスト転送の発行指示を繰り返すステップと、
前記ソフトウェアのシーケンスがチェックポイントである場合、マルチキャスト転送のデータ転送先が持つエラー情報レジスタと命令数カウンタを読み出すステップと、
前記読み出された全ての命令数カウンタが、前記発行されたマルチキャスト転送の数と一致したか確認するステップと、
前記読み出された全ての命令数カウンタが、前記発行されたマルチキャスト転送の数と不一致である場合には、再度、前記マルチキャスト転送のデータ転送先の前記エラー情報レジスタと前記命令数カウンタを読み出すステップと、
前記読み出された全ての命令数カウンタが、前記発行されたマルチキャスト転送の数と一致した場合には、前記読み出された全てのエラー情報レジスタのエラー情報がエラー無しである場合には正常終了と認識して終了し、１つでもエラーが存在した場合には異常終了と認識してエラー処理を行うステップと
を更にコンピュータに実行させるための
メモリアクセス制御用プログラム。
【請求項９】
請求項７又は８に記載のメモリアクセス制御用プログラムであって、
前記メモリからデータを読み出してネットワークへ送出するステップと、
前記ネットワーク上で、マルチキャスト転送のデータをコピーして、データ転送先であるメモリ制御手段へ送出するステップと、
前記ネットワーク上で、マルチキャスト転送のデータ転送が正常に行われない場合には、前記エラー情報を付与してデータ転送先であるメモリ制御手段へ送出するステップと
を更にコンピュータに実行させるための
メモリアクセス制御用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリアクセス制御装置に関し、特にマルチキャスト転送を制御するメモリアクセス制御装置に関する。
【背景技術】
【０００２】
図１に、従来のマルチキャスト転送機能を持つメモリアクセス制御装置の例を示す。このメモリアクセス制御装置は、ノード１（１−ｘ、ｘ＝１〜Ａ：Ａはノード数）と、ネットワーク２を含む。
【０００３】
ノード１（１−ｘ、ｘ＝１〜Ａ）は、ソフトウェアが管理する最小単位である。
【０００４】
ノード１（１−ｘ、ｘ＝１〜Ａ）の各々は、メモリ制御部１１（１１−ｉ、ｉ＝１〜ｎ：ｎは任意）と、メモリ１２（１２−ｉ、ｉ＝１〜ｎ）と、ソフトウェア１３（１３−ｘ、ｘ＝１〜Ａ）を含む。
【０００５】
メモリ制御部１１（１１−ｉ、ｉ＝１〜ｎ）は、ノード１（１−ｘ、ｘ＝１〜Ａ）内でメモリのアクセス制御を行う。
【０００６】
メモリ１２（１２−ｉ、ｉ＝１〜ｎ）は、メモリ制御部１１（１１−ｉ、ｉ＝１〜ｎ）の各々が管理する分散メモリである。ここでは、メモリ制御部１１（１１−ｉ、ｉ＝１〜ｎ）とメモリ１２（１２−ｉ、ｉ＝１〜ｎ）は、１対１で対応している。
【０００７】
ソフトウェア１３（１３−ｘ、ｘ＝１〜Ａ）は、ノード１（１−ｘ、ｘ＝１〜Ａ）を管理する。
【０００８】
ネットワーク２は、ノード１（１−ｘ、ｘ＝１〜Ａ）に関係無く、メモリ制御部１１（１１−ｉ、ｉ＝１〜ｎ）の各々の間を接続する通信回線、及びネットワーク機器である。
【０００９】
メモリ制御部１１（１１−ｉ、ｉ＝１〜ｎ）の各々は、命令送出部１１１（１１１−ｉ、ｉ＝１〜ｎ）と、命令受付部１１２（１１２−ｉ、ｉ＝１〜ｎ）と、リプライ生成部１１３（１１３−ｉ、ｉ＝１〜ｎ）と、リプライ受付部１１４（１１４−ｉ、ｉ＝１〜ｎ）と、リプライ数カウンタ１１５（１１５−ｉ、ｉ＝１〜ｎ）と、エラー情報レジスタ１１６（１１６−ｉ、ｉ＝１〜ｎ）を含む。
【００１０】
メモリ制御部１１−１は、ノード１−１内のマルチキャスト転送のデータ転送元である。命令送出部１１１−１は、メモリ制御部１１−１の配下のメモリ１２−１からデータを読み出してネットワーク２へ送出する。
【００１１】
ネットワーク２は、マルチキャスト転送のデータをコピーして、ノード１−２〜１−ｎ内のデータ転送先であるメモリ制御部１１−２〜１１−ｎへ送出する。
【００１２】
また、ネットワーク２は、故障等によりデータ転送が正常に行われない場合には、マルチキャスト転送のデータにエラー情報を付与してメモリ制御部１１−２〜１１−ｎへ送出する。故障等によりデータ転送が正常に行われない場合とは、マルチキャスト転送のデータ転送元であるメモリ制御部１１−１や、データを転送するネットワーク２が、自身や経路上において発生している異常を知らせるためのエラー情報をマルチキャスト転送のデータに付与して送出する場合のように、データの正当性が保証できない場合を示す。例えば、ＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）において、２ビット以上の誤りを含む場合等が考えられる。なお、故障等によりデータ転送が正常に行われない場合には、メモリ制御部１１−２〜１１−ｎが故障した場合は含まれないものとする。メモリ制御部１１−２〜１１−ｎ自体が、転送されるデータを受信できないためである。
【００１３】
メモリ制御部１１−２〜１１−ｎは、ノード１−２〜１−ｎ内のデータ転送先である。命令受付部１１２−２〜１１２−ｎは、マルチキャスト転送のデータを受信すると、メモリ制御部１１−２〜１１−ｎの配下のメモリ１２−２〜１２−ｎに受信されたデータを記憶し、リプライ生成部１１３−２〜１１３−ｎにリプライ生成要求を通知する。
【００１４】
リプライ生成部１１３−２〜１１３−ｎは、リプライ生成要求に応じて、データ転送元であるメモリ制御部１１−１へリプライ（応答）を返却する。
【００１５】
リプライ受付部１１４−１は、リプライ（応答）を受信すると、リプライ数カウンタ１１５−１を「＋１」（ｉｎｃｒｅｍｅｎｔ）する。
【００１６】
また、リプライ受付部１１４−１は、データ転送にエラー情報が付与されていた場合には、エラー情報レジスタ１１６−１にエラー情報を登録する。
【００１７】
このように、従来、図１に示すマルチキャスト転送機能を持つメモリアクセス制御装置のような大規模構成で高信頼性のマルチプロセッサシステムでは、データ転送先がデータ転送元へリプライ（応答）を返却する必要があった。
【００１８】
例えば、マルチキャスト転送機能を持つメモリアクセス制御装置の一例として、特開平０８−３２９０３０号公報（特許文献１）に、マルチプロセッサシステムにおけるプロセッサ通信制御が開示されている。この従来のマルチキャスト転送機能を持つメモリアクセス制御装置では、マルチキャスト転送によりデータを送出するプロセッサと、データ転送先のプロセッサと、データ転送先のプロセッサ内のデータ転送元へリプライを返却するリプライ通信送出制御部とから構成されており、マルチキャスト転送のデータを受信したプロセッサは、必ずデータ転送元へリプライを返却する必要がある。
【００１９】
このような従来の技術には、以下のような問題点がある。
【００２０】
第１の問題点は、マルチキャスト転送の転送先が多い大規模構成の場合にはリプライ数が大量に発生してしまうことである。そのために転送経路に負荷をかけてしまい性能が低下してしまう。また、マルチキャスト転送のデータを送出したプロセッサは受信したリプライを処理する必要があるため、プロセッサ自身の命令処理性能が低下する可能性がある。
【００２１】
また、第２の問題点は、ソフトウェアが１つのマルチキャスト転送を行う度にマルチキャスト転送の完了確認を行う必要があることである。そのためにソフトウェアの動作が煩雑になってしまう。
【００２２】
また、第３の問題点は、データ転送先のメモリを管理するそれぞれのソフトウェアが個別に管理内でのマルチキャスト転送の完了を確認できないことである。そのためにマルチキャスト転送を行ったソフトウェアが他のソフトウェアにマルチキャスト転送の完了を通知する必要がある。
【００２３】
なお、関連する技術として、特開２００２−３２４０１３号公報（特許文献２）に、データ転送システムの受信側装置が開示されている。この関連技術では、１パケット分のデータを受信すると、受信したデータ数が調べられる。データ数が正しければ、そのデータをメモリに格納し、全データの受信が終了するまで処理を繰り返す。データ数が誤っていれば、送信側装置へ同じデータの再送を要求する。再送されたデータを受信すると、再度、そのデータ数が調べられる。データ数が正しければ、そのデータをメモリに格納する。一方、再送されたデータのデータ数が誤っていれば、送信側装置へパケット方式とは異なる方式でリセットコマンドを送信する。リセットコマンドの送信後、エラー処理を実行し、この処理を終了する。
【先行技術文献】
【特許文献】
【００２４】
【特許文献１】特開平０８−３２９０３０号公報
【特許文献２】特開２００２−３２４０１３号公報
【発明の概要】
【発明が解決しようとする課題】
【００２５】
従来は、マルチキャスト転送のデータ転送先のメモリ制御部は、データ転送元のメモリ制御部へリプライを返却していた。
【００２６】
また、データ転送元のメモリ制御部は、内部に１つのマルチキャスト転送に対するリプライの受信数をカウントするリプライ数カウンタを持っていた。
【００２７】
また、ソフトウェアは、マルチキャスト転送を実行する度にデータ転送元のリプライ数カウンタを読み出してマルチキャスト転送の終了を認識していた。
【００２８】
このために、ソフトウェアは、マルチキャスト転送を実行する度に終了確認を行う必要がある。
【００２９】
また、全てのデータ転送先からデータ転送元へのリプライが、ネットワークに負荷をかけていた。
【課題を解決するための手段】
【００３０】
本発明のメモリアクセス制御装置は、メモリと、前記メモリのアクセス制御を行い、マルチキャスト転送による前記メモリへのアクセスに対するリプライの送受信を防止するメモリ制御手段と、前記メモリ及び前記メモリ制御手段を管理するソフトウェアの実行手段とを含む。
【００３１】
前記メモリ制御手段は、前記メモリからデータを読み出して、データ転送先にマルチキャスト転送で前記データを送信する命令送出手段と、マルチキャスト転送のデータを受信する命令受付手段と、前記命令受付手段により受信されたマルチキャスト転送の数を示す命令数カウンタと、前記命令受付手段により受信されたマルチキャスト転送のデータに付与されたエラー情報を登録するためのエラー情報レジスタとを具備する。
【００３２】
前記実行手段は、前記ソフトウェアを実行し、複数のマルチキャスト転送を実行した後に、前記ソフトウェアのシーケンスのチェックポイント毎に、データ転送先のメモリ制御手段が持つ命令数カウンタとエラー情報レジスタを読み出して、マルチキャスト転送の終了と転送の成否を認識する。
【００３３】
本発明のメモリアクセス制御方法では、メモリのアクセス制御を行い、マルチキャスト転送による前記メモリへのアクセスに対するリプライの送受信を防止する。また、前記メモリからデータを読み出して、データ転送先にマルチキャスト転送で前記データを送信する。また、マルチキャスト転送のデータを受信する。また、前記受信されたマルチキャスト転送の数を示す命令数カウンタを保持する。また、前記受信されたマルチキャスト転送のデータに付与されたエラー情報をエラー情報レジスタに登録する。また、前記メモリ及び前記メモリ制御手段を管理するソフトウェアを実行し、複数のマルチキャスト転送を実行した後に、前記ソフトウェアのシーケンスのチェックポイント毎に、データ転送先のメモリ制御手段が持つ命令数カウンタとエラー情報レジスタを読み出して、マルチキャスト転送の終了と転送の成否を認識する。
【００３４】
本発明のメモリアクセス制御用プログラムは、メモリのアクセス制御を行い、マルチキャスト転送による前記メモリへのアクセスに対するリプライの送受信を防止するステップと、前記メモリからデータを読み出して、データ転送先にマルチキャスト転送で前記データを送信するステップと、マルチキャスト転送のデータを受信するステップと、前記受信されたマルチキャスト転送の数を示す命令数カウンタを保持するステップと、前記受信されたマルチキャスト転送のデータに付与されたエラー情報をエラー情報レジスタに登録するステップと、前記メモリ及び前記メモリ制御手段を管理するソフトウェアが実行された場合、複数のマルチキャスト転送を実行した後に、前記ソフトウェアのシーケンスのチェックポイント毎に、データ転送先のメモリ制御手段が持つ命令数カウンタとエラー情報レジスタを読み出して、マルチキャスト転送の終了と転送の成否を認識するステップとをコンピュータに実行させるためのプログラムである。
【発明の効果】
【００３５】
大規模構成で高信頼性のマルチプロセッサシステムにおいて、マルチキャスト転送のリプライ（応答）が不用となる。
【図面の簡単な説明】
【００３６】
【図１】従来のメモリアクセス制御装置の構成例を示す概念図である。
【図２】本発明のメモリアクセス制御装置の構成例を示す概念図である。
【図３】本発明のメモリアクセス制御装置におけるデータ転送の例を示す図である。
【図４Ａ】本発明のメモリアクセス制御装置におけるデータ転送のタイミングの例を示す図である。
【図４Ｂ】従来のメモリアクセス制御装置におけるデータ転送のタイミングの例を示す図である。
【図５】本発明のメモリアクセス制御装置におけるソフトウェアの動作フローの例を示す図である。
【発明を実施するための形態】
【００３７】
以下に、本発明の実施形態について添付図面を参照して説明する。
図２に示すように、本発明のメモリアクセス制御装置は、ノード１（１−ｘ、ｘ＝１〜Ａ：Ａはノード数）と、ネットワーク２を含む。
【００３８】
ノード１（１−ｘ、ｘ＝１〜Ａ）は、ソフトウェアが管理する最小単位である。
【００３９】
ノード１（１−ｘ、ｘ＝１〜Ａ）の各々は、メモリ制御部１１（１１−ｉ、ｉ＝１〜ｎ：ｎは任意）と、メモリ１２（１２−ｉ、ｉ＝１〜ｎ）と、ソフトウェア１３（１３−ｘ、ｘ＝１〜Ａ）を含む。
【００４０】
メモリ制御部１１（１１−ｉ、ｉ＝１〜ｎ）は、ノード１（１−ｘ、ｘ＝１〜Ａ）内でメモリのアクセス制御を行う。
【００４１】
メモリ１２（１２−ｉ、ｉ＝１〜ｎ）は、メモリ制御部１１（１１−ｉ、ｉ＝１〜ｎ）の各々が管理する分散メモリである。ここでは、メモリ制御部１１（１１−ｉ、ｉ＝１〜ｎ）とメモリ１２（１２−ｉ、ｉ＝１〜ｎ）は、１対１で対応している。
【００４２】
ソフトウェア１３（１３−ｘ、ｘ＝１〜Ａ）は、ノード１（１−ｘ、ｘ＝１〜Ａ）を管理する。ソフトウェア１３（１３−ｘ、ｘ＝１〜Ａ）の例として、ノード１（１−ｘ、ｘ＝１〜Ａ）として機能する仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ（ＶＭ））環境等が考えられる。なお、ソフトウェア１３（１３−ｘ、ｘ＝１〜Ａ）は、当該ソフトウェアを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のハードウェア装置を示す。すなわち、ここでいうソフトウェア１３（１３−ｘ、ｘ＝１〜Ａ）は、ソフトウェアとハードウェア装置を含む概念である。但し、実際には、これらの例に限定されない。
【００４３】
ネットワーク２は、ノード１（１−ｘ、ｘ＝１〜Ａ）に関係無く、メモリ制御部１１（１１−ｉ、ｉ＝１〜ｎ）の各々の間を接続する通信回線、及びネットワーク機器である。
【００４４】
メモリ制御部１１（１１−ｉ、ｉ＝１〜ｎ）の各々は、命令送出部１１１（１１１−ｉ、ｉ＝１〜ｎ）と、命令受付部１１２（１１２−ｉ、ｉ＝１〜ｎ）と、エラー情報レジスタ１１６（１１６−ｉ、ｉ＝１〜ｎ）と、命令数カウンタ１１７（１１７−ｉ、ｉ＝１〜ｎ）を含む。
【００４５】
メモリ制御部１１−１は、ノード１−１内のマルチキャスト転送のデータ転送元である。命令送出部１１１−１は、メモリ制御部１１−１の配下のメモリ１２−１からデータを読み出してネットワーク２へ送出する。
【００４６】
ネットワーク２は、マルチキャスト転送のデータをコピーして、ノード１−２〜１−ｎ内のデータ転送先であるメモリ制御部１１−２〜１１−ｎへ送出する。
【００４７】
また、ネットワーク２は、故障等によりデータ転送が正常に行われない場合には、マルチキャスト転送のデータにエラー情報を付与してメモリ制御部１１−２〜１１−ｎへ送出する。
【００４８】
メモリ制御部１１−２〜１１−ｎは、ノード１−２〜１−ｎ内のデータ転送先である。命令受付部１１２−２〜１１２−ｎは、マルチキャスト転送のデータを受信すると、メモリ制御部１１−２〜１１−ｎの配下のメモリ１２−２〜１２−ｎに受信されたデータを記憶し、命令数カウンタ１１７−２〜１１７−ｎを「＋１」（ｉｎｃｒｅｍｅｎｔ）する。すなわち、命令数カウンタ１１７（１１７−ｉ、ｉ＝１〜ｎ）は、受信されたマルチキャスト転送の数を示す。ここでは、説明の簡略化のため、命令数カウンタ１１７（１１７−ｉ、ｉ＝１〜ｎ）は、カウントされた数の数値情報自体を示すものとする。
【００４９】
また、命令受付部１１２−２〜１１２−ｎは、データ転送にエラー情報が付与されていた場合には、エラー情報レジスタ１１６−２〜１１６−ｎにエラー情報を登録する。ここでは、説明の簡略化のため、エラー情報レジスタ１１６（１１６−ｉ、ｉ＝１〜ｎ）は、エラー情報等の登録された情報自体を示すものとする。
【００５０】
ソフトウェア１３−１は、データ転送元のノード１−１を管理する。
【００５１】
ソフトウェア１３−１は、複数のマルチキャスト転送を実行した後に、ノード１−２〜１−ｎ内のデータ転送先であるメモリ制御部１１−２〜１１−ｎ内の命令数カウンタ１１７−２〜１１７−ｎとエラー情報レジスタ１１６−２〜１１６−ｎを読み出してマルチキャスト転送の終了と転送の成否を認識する。
【００５２】
また、データ転送先のノード１−２〜１−Ａを管理する各ソフトウェア１３−２〜１３−Ａが、自身が管理するノード１−２〜１−Ａ内でのマルチキャスト転送の終了の認識を行う場合、各ソフトウェア１３−２〜１３−Ａは、複数のマルチキャスト転送を実行された後に、それぞれのソフトウェア１３−２〜１３−Ａが管理するメモリ制御部１１−２〜１１−ｎ内の命令数カウンタ１１７−２〜１１７−ｎと、エラー情報レジスタ１１６−２〜１１６−ｎからデータを読み出して、マルチキャスト転送の終了と転送の成否を認識する。
【００５３】
次に、図３の転送図、図４Ａのタイムチャート、及び図５のソフトウェア動作フローを参照して、本実施形態の動作について説明する。
【００５４】
なお、図３の転送図、及び図４Ａのタイムチャートは、データ転送元のメモリ制御部１１−１と、データ転送先の２つのメモリ制御部（メモリ制御部１１−２及び１１−ｎ）とでマルチキャスト転送を行う場合について示している。また、図４Ｂのタイムチャートは、図１に示すような、従来のマルチキャスト転送機能を持つメモリアクセス制御装置でマルチキャスト転送を行う場合について示している。図４Ｂのタイムチャートは、図４Ａのタイムチャートとの比較のために示している。
【００５５】
図４Ａ及び図４Ｂのタイムチャートにおいて、「Ｍ１」〜［Ｍ４］は、命令を示す。また、図４Ｂのタイムチャートにおいて、「ＲＰＹ」は、リプライを示す。
【００５６】
＜データ転送が正常に行われる場合＞
最初に、図４Ａのタイムチャートを参照して、データ転送が正常に行われる場合の動作を説明する。
【００５７】
（１）時刻「Ｔ２」
ノード１−１内のデータ転送元であるメモリ制御部１１−１内の命令送出部１１１−１は、時刻「Ｔ２」において、配下のメモリから読み出したデータをネットワーク２へ送出する。
【００５８】
（２）時刻「Ｔ３」
ネットワーク２は、時刻「Ｔ３」において、メモリ制御部１１−１から受信したデータをコピーしてノード１−１及び１−Ａ内のデータ転送先であるメモリ制御部１１−２及び１１−ｎへ送出する。
【００５９】
（３）時刻「Ｔ４」
ノード１−１及び１−Ａ内のデータ転送先であるメモリ制御部１１−２及び１１−ｎ内の命令受付部１１２−２及び１１２−ｎは、時刻「Ｔ４」において、ネットワーク２からのデータを、メモリ制御部１１−２及び１１−ｎの配下のメモリ１２−２及び１２−ｎへ送出する。
【００６０】
（４）時刻「Ｔ５」
メモリ制御部１１−２及び１１−ｎ内の命令数カウンタ１１７−２及び１１７−ｎは、時刻「Ｔ５」において、命令受付部１１２−２及び１１２−ｎからメモリ１２−２及び１２−ｎへのデータ送出を契機に「＋１」する。
【００６１】
＜従来事例１＞
また、図４Ｂのタイムチャートを参照して、同時刻での、従来のマルチキャスト転送機能を持つメモリアクセス制御装置でデータ転送が行われる場合の動作を説明する。
【００６２】
（１）時刻「Ｔ２」
ノード１−１内のデータ転送元であるメモリ制御部１１−１内の命令送出部１１１−１は、時刻「Ｔ２」において、配下のメモリから読み出したデータをネットワーク２へ送出する。
【００６３】
（２）時刻「Ｔ３」
ネットワーク２は、時刻「Ｔ３」において、メモリ制御部１１−１から受信したデータをコピーしてノード１−１及び１−Ａ内のデータ転送先であるメモリ制御部１１−２及び１１−ｎへ送出する。
【００６４】
（３）時刻「Ｔ４」
ノード１−１及び１−Ａ内のデータ転送先であるメモリ制御部１１−２及び１１−ｎ内の命令受付部１１２−２及び１１２−ｎは、時刻「Ｔ４」において、ネットワーク２からのデータを、メモリ制御部１１−２及び１１−ｎの配下のメモリ１２−２及び１２−ｎへ送出する。ここまでは、本発明と同じである。従来のメモリアクセス制御装置では、これと同時に、命令受付部１１２−２及び１１２−ｎは、リプライ生成部１１３−２及び１１３−ｎにリプライ生成要求を通知する。
【００６５】
（４）時刻「Ｔ５」
リプライ生成部１１３−２及び１１３−ｎは、時刻「Ｔ５」において、リプライ生成要求に応じて、リプライ「ＲＰＹ（２）」及び「ＲＰＹ（ｎ）」を生成し、データ転送元であるメモリ制御部１１−１へリプライ「ＲＰＹ（２）」及び「ＲＰＹ（ｎ）」を返却するために、ネットワーク２に送出する。
【００６６】
（５）時刻「Ｔ６」
ネットワーク２は、時刻「Ｔ６」において、リプライ生成部１１３−２から受け取ったリプライ「ＲＰＹ（２）」をメモリ制御部１１−１へ転送する。
【００６７】
（６）時刻「Ｔ７」
データ転送元であるメモリ制御部１１−１内のリプライ受付部１１４−１は、時刻「Ｔ７」において、リプライ「ＲＰＹ（２）」に応じて、リプライ数カウンタ１１５−１を「＋１」する。このとき、リプライ数カウンタ１１５−１の値は、「０」から「１」になる。また、ネットワーク２は、時刻「Ｔ７」において、リプライ生成部１１３−ｎから受け取ったリプライ「ＲＰＹ（ｎ）」をメモリ制御部１１−１へ転送する。
【００６８】
（７）時刻「Ｔ８」
データ転送元であるメモリ制御部１１−１内のリプライ受付部１１４−１は、時刻「Ｔ８」において、リプライ「ＲＰＹ（ｎ）」に応じて、リプライ数カウンタ１１５−１を「＋１」する。このとき、リプライ数カウンタ１１５−１の値は、「１」から「２」になる。
【００６９】
＜データ転送が正常に行われない場合＞
次に、図４Ａのタイムチャートを参照して、故障によりネットワーク２からメモリ制御部１１−２へのデータ転送が正常に行われない場合の動作を説明する。
【００７０】
（１）時刻「Ｔ１３」
ノード１−１内のデータ転送元であるメモリ制御部１１−１内の命令送出部１１１−１は、時刻「Ｔ１３」において、配下のメモリから読み出したデータをネットワーク２へ送出する。
【００７１】
（２）時刻「Ｔ１４」
ネットワーク２は、時刻「Ｔ１４」において、メモリ制御部１１−１から受信したデータをコピーしてノード１−１及び１−Ａ内のデータ転送先であるメモリ制御部１１−２及び１１−ｎへ送出する。同時に、ネットワーク２は、故障によりメモリ制御部１１−２へのデータ転送が正常に行われない場合、メモリ制御部１１−２へのデータにエラー情報を付与して送出する。
【００７２】
（３）時刻「Ｔ１５」
ノード１−１及び１−Ａ内のデータ転送先であるメモリ制御部１１−２及び１１−ｎ内の命令受付部１１２−２及び１１２−ｎは、時刻「Ｔ１５」において、ネットワーク２からのデータを、メモリ制御部１１−２及び１１−ｎの配下のメモリ１２−２及び１２−ｎへ送出する。
【００７３】
（４）時刻「Ｔ１６」
メモリ制御部１１−２内の命令数カウンタ１１７−２は、時刻「Ｔ１６」において、命令受付部１１２−２からメモリ１２−２へのデータ送出を契機に「＋１」する。
【００７４】
（５）時刻「Ｔ１６」
また、メモリ制御部１１−２内のエラー情報レジスタ１１６−２は、時刻「Ｔ１６」において、エラー情報を受信したことを契機にエラー情報を保持する。
【００７５】
（６）時刻「Ｔ１６」
更に、メモリ制御部１１−ｎ内の命令数カウンタ１１７−ｎは、時刻「Ｔ１６」において、命令受付部１１２−ｎからメモリ１２−ｎへのデータ送出を契機に「＋１」する。
【００７６】
＜従来事例２＞
また、図４Ｂのタイムチャートを参照して、同時刻での、従来のマルチキャスト転送機能を持つメモリアクセス制御装置でデータ転送が行われる場合の動作を説明する。ここでの動作は、基本的に、＜従来事例１＞と同じである。
【００７７】
（１）時刻「Ｔ１３」
ノード１−１内のデータ転送元であるメモリ制御部１１−１内の命令送出部１１１−１は、時刻「Ｔ１３」において、配下のメモリから読み出したデータをネットワーク２へ送出する。
【００７８】
（２）時刻「Ｔ１４」
ネットワーク２は、時刻「Ｔ１４」において、メモリ制御部１１−１から受信したデータをコピーしてノード１−１及び１−Ａ内のデータ転送先であるメモリ制御部１１−２及び１１−ｎへ送出する。また、ネットワーク２は、故障等によりデータ転送が正常に行われない場合には、メモリ制御部１１−１から受信したデータにエラー情報を付与してメモリ制御部１１−２及び１１−ｎへ送出する。
【００７９】
（３）時刻「Ｔ１５」
ノード１−１及び１−Ａ内のデータ転送先であるメモリ制御部１１−２及び１１−ｎ内の命令受付部１１２−２及び１１２−ｎは、時刻「Ｔ１５」において、ネットワーク２からのデータを、メモリ制御部１１−２及び１１−ｎの配下のメモリ１２−２及び１２−ｎへ送出する。ここまでは、本発明と同じである。従来のメモリアクセス制御装置では、これと同時に、命令受付部１１２−２及び１１２−ｎは、リプライ生成部１１３−２及び１１３−ｎにリプライ生成要求を通知する。
【００８０】
（４）時刻「Ｔ１６」
リプライ生成部１１３−２及び１１３−ｎは、時刻「Ｔ１６」において、リプライ生成要求に応じて、リプライ「ＲＰＹ（２）」及び「ＲＰＹ（ｎ）」を生成し、データ転送元であるメモリ制御部１１−１へリプライ「ＲＰＹ（２）」及び「ＲＰＹ（ｎ）」を返却するために、ネットワーク２に送出する。なお、リプライ生成部１１３−２及び１１３−ｎは、ネットワーク２からのデータにエラー情報が付与されている場合、エラー情報レジスタ１１６−２及び１１６−ｎにエラー情報を登録する。また、メモリ制御部１１−２及び１１−ｎは、故障等によりメモリ制御部１１−２及び１１−ｎへのデータ転送が正常に行われなかった場合には、リプライ「ＲＰＹ（２）」及び「ＲＰＹ（ｎ）」にエラー情報を付与して、メモリ制御部１１−１へ送出する。これにより、データ転送元であるメモリ制御部１１−１内のリプライ受付部１１４−１は、リプライ「ＲＰＹ（２）」及び「ＲＰＹ（ｎ）」を受信する。
【００８１】
（５）時刻「Ｔ１７」
ネットワーク２は、時刻「Ｔ１７」において、リプライ生成部１１３−２から受け取ったリプライ「ＲＰＹ（２）」をメモリ制御部１１−１へ転送する。
【００８２】
（６）時刻「Ｔ１８」
データ転送元であるメモリ制御部１１−１内のリプライ受付部１１４−１は、時刻「Ｔ１８」において、リプライ「ＲＰＹ（２）」に応じて、リプライ数カウンタ１１５−１を「＋１」する。このとき、リプライ数カウンタ１１５−１の値は、「０」から「１」になる。また、データ転送元であるメモリ制御部１１−１内のリプライ受付部１１４−１は、リプライ「ＲＰＹ（２）」にエラー情報が付与されている場合、エラー情報レジスタ１１６−１にエラー情報を登録する。更に、ネットワーク２は、時刻「Ｔ１８」において、リプライ生成部１１３−ｎから受け取った「ＲＰＹ（ｎ）」をメモリ制御部１１−１へ転送する。
【００８３】
（７）時刻「Ｔ１９」
データ転送元であるメモリ制御部１１−１内のリプライ受付部１１４−１は、時刻「Ｔ１９」において、リプライ「ＲＰＹ（ｎ）」に応じて、リプライ数カウンタ１１５−１を「＋１」する。このとき、リプライ数カウンタ１１５−１の値は、「１」から「２」になる。また、データ転送元であるメモリ制御部１１−１内のリプライ受付部１１４−１は、リプライ「ＲＰＹ（ｎ）」にエラー情報が付与されている場合、エラー情報レジスタ１１６−１にエラー情報を登録する。
【００８４】
図５のソフトウェア動作フローは、ソフトウェア（１３−ｘ、ｘ＝１〜Ａ）の制御の例を示す。
【００８５】
（１）手順１
ソフトウェア１３（１３−ｘ、ｘ＝１〜Ａ）は、メモリ制御部１１（１１−ｉ、ｉ＝１〜ｎ）にマルチキャスト転送の発行を指示する。このとき、メモリ制御部１１（１１−ｉ、ｉ＝１〜ｎ）の命令送出部１１１（１１１−ｉ、ｉ＝１〜ｎ）は、マルチキャスト転送の発行指示に応じて、配下のメモリ１２（１２−ｉ、ｉ＝１〜ｎ）から読み出したデータをネットワーク２へ送出する。
【００８６】
（２）手順２
ソフトウェア１３（１３−ｘ、ｘ＝１〜Ａ）は、当該ソフトウェアのシーケンスがチェックポイントであるか確認する。ソフトウェア１３（１３−ｘ、ｘ＝１〜Ａ）は、当該ソフトウェアのシーケンスがチェックポイントでない場合には、再度、メモリ制御部１１（１１−ｉ、ｉ＝１〜ｎ）にマルチキャスト転送の発行を指示する。すなわち、ソフトウェア１３（１３−ｘ、ｘ＝１〜Ａ）は、当該ソフトウェアのシーケンスがチェックポイントとなるまで、メモリ制御部１１（１１−ｉ、ｉ＝１〜ｎ）に対して、マルチキャスト転送の発行指示を繰り返す。
【００８７】
（３）手順３
ソフトウェア１３（１３−ｘ、ｘ＝１〜Ａ）は、当該ソフトウェアのシーケンスがチェックポイントである場合、マルチキャスト転送のデータ転送先の各メモリ制御部１１（１１−ｉ、ｉ＝１〜ｎ）内のエラー情報レジスタ１１６（１１６−ｉ、ｉ＝１〜ｎ）と命令数カウンタ１１７（１１７−ｉ、ｉ＝１〜ｎ）を読み出す。
【００８８】
（４）手順４
ソフトウェア１３（１３−ｘ、ｘ＝１〜Ａ）は、読み出した全ての命令数カウンタが、発行したマルチキャスト転送の数（期待値）と一致したか確認する。ソフトウェア１３（１３−ｘ、ｘ＝１〜Ａ）は、読み出した全ての命令数カウンタが、発行したマルチキャスト転送の数（期待値）と不一致である場合には、再度、マルチキャスト転送のデータ転送先の各メモリ制御部１１（１１−ｉ、ｉ＝１〜ｎ）内のエラー情報レジスタ１１６（１１６−ｉ、ｉ＝１〜ｎ）と命令数カウンタ１１７（１１７−ｉ、ｉ＝１〜ｎ）を読み出す。
【００８９】
（５）手順５
ソフトウェア１３（１３−ｘ、ｘ＝１〜Ａ）は、読み出した全ての命令数カウンタが、発行したマルチキャスト転送の数（期待値）と一致した場合には、読み出した全てのエラー情報レジスタ１１６（１１６−ｉ、ｉ＝１〜ｎ）のエラー情報の内容を確認する。このとき、ソフトウェア１３（１３−ｘ、ｘ＝１〜Ａ）は、読み出した全てのエラー情報レジスタ１１６（１１６−ｉ、ｉ＝１〜ｎ）のエラー情報がエラー無しである場合には正常終了と認識して終了し、１つでもエラーが存在した場合には異常終了と認識してエラー処理を行う。
【００９０】
本発明により、マルチキャスト転送のリプライ（応答）が不用となる。このため、リプライによるネットワークの負荷を無くすことができる。
【００９１】
また、本発明により、複数のマルチキャスト転送の実行に対して１回の（命令数カウンタ及びエラー情報レジスタ）の期待値確認で転送の終了を認識できる。このため、ソフトウェアの動作が簡略化できる。
【００９２】
更に、本発明により、データ転送先のメモリを管理するそれぞれのソフトウェアが個別に管理内でのマルチキャスト転送の終了を確認できる。このため、ソフトウェアの動作が簡略化できる。
【００９３】
本発明は、１：ｎ転送を行うメモリアクセス制御装置に適用できる。
【００９４】
本発明のメモリアクセス制御装置は、マルチキャスト転送のリプライを無くしたことを特徴とする。
【００９５】
本発明のメモリアクセス制御装置は、マルチキャスト転送の命令数をカウントする機能を備えたことを特徴とする。
【００９６】
本発明のメモリアクセス制御装置は、複数のマルチキャスト転送の完了確認を１度に行えることを特徴とする。
【００９７】
本発明のメモリアクセス制御装置は、各ソフトウェアが個別に管理内でのマルチキャスト転送の完了を認識できることを特徴とする。
【００９８】
本発明のメモリアクセス制御装置は、マルチキャスト転送のネットワーク負荷の軽減機能を保有したことを特徴としている。
【００９９】
本発明のメモリアクセス制御装置は、メモリとメモリ制御部とネットワークを保持したメモリ分散方式のシステムにおいて、メモリ制御部内に受信したマルチキャスト転送の数を示す命令数カウンタを設けて、ソフトウェアが複数のマルチキャスト転送を実行後にデータ転送先の命令数カウンタを読み出してマルチキャスト転送の終了を認識することを特徴としている。
【０１００】
本発明のメモリアクセス制御装置は、マルチキャスト転送のデータ転送先のメモリ制御部からデータ転送元のメモリ制御部へのマルチキャスト転送のリプライを不用とし、リプライによるネットワークの負荷を無くすことを特徴としている。
【０１０１】
すなわち、本発明のメモリアクセス制御装置は、データ転送先のメモリ制御部内に、受信したマルチキャスト転送の数を示す命令数カウンタと、データ転送が正常に行われなかった場合のエラー情報を示すエラー情報レジスタを持ち、ソフトウェアが複数のマルチキャスト転送を実行後にデータ転送先の命令数カウンタとエラー情報レジスタを読み出すことでマルチキャスト転送の終了及び転送エラーを認識する。
【０１０２】
本発明のメモリアクセス制御装置では、パケット内データ数ではなく、命令数をカウントすることにより、ソフトウェアによる転送完了確認は、命令毎ではなく、プログラムのチェックポイントでのみ行えば良いため、転送完了確認によるプロセッサ間ネットワーク上の負荷を軽減できる。
【０１０３】
また、従来技術では、複数の命令のパケットが混在して受信する様な場合にチェックできなかったが、本発明では、異なる命令のパケットが混在しても転送完了確認が可能である。
【０１０４】
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【符号の説明】
【０１０５】
１（−ｘ、ｘ＝１〜Ａ）…  ノード
１１（−ｉ、ｉ＝１〜ｎ）…  メモリ制御部
１１１（−ｉ、ｉ＝１〜ｎ）…  命令送出部
１１２（−ｉ、ｉ＝１〜ｎ）…  命令受付部
１１３（−ｉ、ｉ＝１〜ｎ）…  リプライ生成部
１１４（−ｉ、ｉ＝１〜ｎ）…  リプライ受付部
１１５（−ｉ、ｉ＝１〜ｎ）…  リプライ数カウンタ
１１６（−ｉ、ｉ＝１〜ｎ）…  エラー情報レジスタ
１１７（−ｉ、ｉ＝１〜ｎ）…  命令数カウンタ
１２（−ｉ、ｉ＝１〜ｎ）…  メモリ
１３（−ｘ、ｘ＝１〜Ａ）…  ソフトウェア
２…  ネットワーク
【図１】
2010231474.tif 000003
【図２】
2010231474.tif 000004
【図３】
2010231474.tif 000005
【図４Ａ】
2010231474.tif 000006
【図４Ｂ】
2010231474.tif 000007
【図５】
2010231474.tif 000008