JP2005190268A - 共通バッファ管理手段 - Google Patents

共通バッファ管理手段 Download PDF

Info

Publication number
JP2005190268A
JP2005190268A JP2003432173A JP2003432173A JP2005190268A JP 2005190268 A JP2005190268 A JP 2005190268A JP 2003432173 A JP2003432173 A JP 2003432173A JP 2003432173 A JP2003432173 A JP 2003432173A JP 2005190268 A JP2005190268 A JP 2005190268A
Authority
JP
Japan
Prior art keywords
buffer
target
message
command
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003432173A
Other languages
English (en)
Other versions
JP4258372B2 (ja
Inventor
Takashi Nishi
岳志 西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2003432173A priority Critical patent/JP4258372B2/ja
Publication of JP2005190268A publication Critical patent/JP2005190268A/ja
Application granted granted Critical
Publication of JP4258372B2 publication Critical patent/JP4258372B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

【課題】 ホストからターゲットへの共通バッファを介したデータ供給処理において、コマンド/メッセージの通信シーケンスが異常になった場合でも、エラー検出とリカバリ処理を行ってデータ供給処理を停止させないようにする。
【解決手段】 ホスト1は、ターゲット2に出力する一連のコマンドについて照会可能なように管理されたコマンド管理部11と、ターゲット2から供給されたメッセージにつき少なくとも最新のメッセージと1回前のメッセージとをそれぞれ一時記憶するメッセージ受信部12と、前記管理された一連のコマンドと前記一時記憶されたメッセージとの比較に基づき、ホスト1とターゲット2間の通信エラーを検出するエラー検出部14と、前記通信エラーを検出した場合に前記通信シーケンスをリカバリするコマンド制御部14とを具備する共通バッファ管理手段。
【選択図】 図1

Description

本発明は、共通バッファメモリを介して行うデータ送信元から受信先へのデータ伝送における、共通バッファメモリのバッファ管理手段に関する。
データ送信元(以下、ホストという。)からデータ受信先(以下、ターゲットという。)へのデータ伝送において、従来はデータバス等のデータ通信路のみを設けて単純なバス伝送を行うだけでなく、特許文献1(特公平7−7380号公報)のようにホストとターゲットとの間に(本文献ではプロセッサP1とP2との間に)共通メモリCMを備え、この共通メモリCMを前記両プロセッサの共通リソースとして使用するバッファ管理方法が知られている。このバッファ管理方法は、共通メモリCMの内部に共通バッファ管理領域を設けると共に、この領域の参照に必要な排他制御の実行回数を削減して両プロセッサの処理能力低下を防ぐことを目的としたものである。
また、特許文献2(特許第3312361号公報)のように複数のプロセッサモジュール間のデータ通信路上に分散共有メモリを設け、特に大規模分散処理システムにおける効率的なデータ送受信を行う分散共有メモリシステムが考えられている。
上述の従来技術によれば、例えばホストからターゲットへ共通バッファを介してデータを引渡す場合、ホストはターゲットから空きバッファのアドレスを示すメッセージを得て前記供給するデータを前記空きバッファに格納してこのバッファアドレスを示すコマンドを前記ターゲットに送信し、このターゲットは前記供給されたコマンドに基づいて前記バッファのみを処理するといった機能を有することを前提としたものである。
ここで、本願が解決すべき従来技術について、上述の従来技術を用いた共通バッファ管理について更に具体的な例をあげて説明する。図5は、それを説明するためのホストとターゲットとのデータ通信路の構成例である。同図において、ホスト51、ターゲット52、及び共通メモリ54はデータバス53で接続される。更に、ホスト51は、ターゲット52から供給された前記メッセージを受信するメッセージ受信部51aと、この受信したメッセージに基づき次にアクセスすべき共通メモリ54の所定のバッファアドレスを取得し、この取得したアドレスについて次に発行すべきコマンドを設定してターゲット52に出力するコマンド制御部51bと、前記取得した所定のバッファのアドレスを参照して該当するバッファにデータバス53を介してデータの書き込みを行うメモリ制御部51cとから構成されている。
また、ターゲット52は、ホスト51から供給された前記コマンドを受信するコマンド受信部52aと、この受信したコマンドに基づきアクセスすべき共通メモリ54の所定のバッファのアドレスを取得すると共に、既に処理を終了させた空きバッファのアドレスを示すメッセージをホスト51に出力するメッセージ制御部52bと、前記取得した所定のバッファのアドレスを参照して該当するバッファにデータバス53を介してデータの読み出しを行うメモリ制御部52cとから構成されている。
そしてまた、共通メモリ54の内部は固有のアドレスを有した1つ以上の前記バッファに区分され、同図においてはバッファ54−1,バッファ54−2乃至バッファ54−n(nは自然数)と区分している。
なお、説明を容易にするために、便宜上上記バッファを2つ(バッファ54−1及びバッファ54−2)として説明する。
図6は、ホスト51からターゲット52への共通メモリ54を介したデータ供給動作を説明するための図で、データバス53上で送受されるバッファ指定コマンド及び空きバッファメッセージの送受シーケンスを示したものである。同図において、StatusBuffer[I](Iは0以上の整数。以下同じ。)は、既に処理が終了した空きバッファのバッファアドレスを指定するようターゲット52のメッセージ制御部52bで制御されて発行される空きバッファメッセージ、HostBuffer[I]はアクセスすべきバッファアドレスを指定するようホスト51のコマンド制御部51bで制御されて発行されるバッファ指定コマンド、TargetBuffer[I]はターゲット52のコマンド受信部52aで受信され、アクセスすべきバッファアドレスを取得するよう管理されるバッファ指定コマンド、addr_buf_Aはバッファ54aを指定する第1のバッファアドレス、addr_buf_Bはバッファ54bを指定する第2のバッファアドレスである。
まず、ホスト51のコマンド制御部51bは、初期化処理としてHostBuffer[0]=addr_buf_A及びHostBuffer[1]=addr_Buf_Bを自身に設定し、そしてバッファ指定コマンドとしてデータバス53を介してターゲット52に出力する。そして、ターゲット52は供給された前記バッファ指定コマンドをTargetBuffer[0]=addr_buf_A及びTargetBuffer[1]=addr_buf_Bとしてコマンド受信部52aで受信する。
そして、上記初期化処理に続くホスト51からターゲット52への共通メモリ54を介したデータ供給は、一連のバッファ指定コマンド及び空きバッファメッセージの送受信をもって以下のように行われる。つまり、ターゲット52のメッセージ制御部52bは、前記第1のアドレスaddr_buf_Aで示されるバッファ54−1又は前記第2のアドレスaddr_buf_Bで示されるバッファ54−2の内、既に処理が終了した空きバッファであって所定の順番に基づく1つのバッファにつき、そのバッファアドレスを示した空きバッファメッセージStatusBuffer[J]=バッファアドレス(Jは0以上の整数。以下同じ。)をデータバス53を介してホスト51に送信するようにしている。
ホスト51のメッセージ受信部51aでは、前記空きバッファメッセージを受信してコマンド制御部51bに供給し、メモリ制御部51cがコマンド制御部51bから供給された前記空きバッファメッセージを参照してそれに示されたバッファにターゲット52に供給すべきデータを格納すると共に、コマンド制御部51bは前記バッファアドレスを指定したバッファ指定コマンドHostBuffer[J+2]=バッファアドレスをデータバス53を介してターゲット52に送信する。
さらに、ターゲット52のコマンド受信部52aは前記送信されたバッファ指定コマンドをTargetBuffer[J+2]として受信してメッセージ制御部52bに供給し、メモリ制御部52cがメッセージ制御部52bに供給された前記バッファアドレスを参照して該当するバッファから受け取るべきデータを読み出すと共に、メッセージ制御部52bは前述したように既に処理が終了した空きバッファであって所定の順番に基づく1つバッファにつき、そのバッファアドレスを示した空きバッファメッセージの処理に移行する。
以上のように、ホスト51からターゲット52への共通メモリ54を介したデータ供給が行われる構成とされているものである。
特公平7−7380号公報 特許第3312361号公報
しかしながら、上述した従来技術によるバッファ管理の例によると、データバス53上の何らかの障害によってターゲット52がバッファ指定コマンドを受信できないエラーが発生した場合、ターゲット52が管理するバッファ指定コマンドTargetBuffer[J]のコマンド数の不足が発生し、更に前記エラーの回数が増えると最終的にはターゲット52が管理するバッファ指定コマンドが無くなるため、ホスト51〜ターゲット52間のデータ供給ができなくなるという問題がある。また、ホスト51がターゲット52からのメッセージを処理できなかった場合、データ通信が途絶えたり間違ったバッファの受け渡しになる等の問題がある。
そして、前述の従来技術によるバッファ管理の例においては、上記のようなエラーが発生した場合のデータ供給について次のような問題が発生する。図7はその動作を説明するための図で、ホスト51からターゲット52へ共通メモリ54を介してデータを供給する際の、ホスト51とターゲット52間で送受されるバッファ指定コマンド及び空きバッファメッセージの送受シーケンスを示したもののうち、ターゲット52で前記バッファ指定コマンドの受信エラーが発生した場合について図示したものである。
71はターゲット52がバッファ指定コマンドを最初に取得できなかった第1の受信エラー、72は第1の受信エラー71によりバッファアドレスがずれてしまったミスバッファ指定コマンド、73は第1の受信エラー71によりバッファアドレスがずれて発生したミス空きバッファメッセージ、74は第1の受信エラー71と同様に2回目に発生した第2の受信エラーを示したものである。同図が示すように、ターゲット52で第1の受信エラー71が発生すると、本来コマンド受信部52aが受信すべきバッファ指定コマンドTargetBuffer[3]=addr_buf_Bを受信できないこととなる。このため、ミスバッファ指定コマンド72は本来設定されるべきTargetBuffer[4]=addr_buf_AでなくTargetBuffer[3]=addr_buf_Aが設定されることとなり、メッセージ制御部52bが管理する空きバッファ数がホスト51の管理する空きバッファ数よりも1つ少なくなる。
これにより、同図の例ではミスバッファ指定コマンド72に基づき本来ホスト51に供給すべき空きバッファメッセージStatusBuffer[3]=addr_buf_Bが発行できずアドレスがaddr_buf_Aにずれてしまうこととなり(ミス空きバッファメッセージ73)、それ以降はバッファ54−1のみを使用し続けることとなる。
更に第2の受信エラー74が発生すると、本来コマンド受信部52aが受信すべきバッファ指定コマンドTargetBuffer[7]=addr_buf_Aが受信できないこととなる。この場合、ターゲット52にはついに空きバッファがなくなってしまったためメッセージ制御部52bはホスト51への空きバッファメッセージの送信ができなくなる。そして、ついにはホスト51もターゲット52へ新たなバッファ指定コマンドの送信ができなくなり、ホスト51からターゲット52へのデータ供給が停止することとなる。
本発明は、上述したようなホスト51とターゲット52間に発生する通信エラー等によるデータ供給の停止問題を解決するためになされたものであり、ターゲット52がバッファ指定コマンドの受け取りに失敗した場合や、ホスト51が空きバッファメッセージの処理に失敗した場合等について、このようなエラー事象を的確に検出してリカバリ処理を行うことにより、バッファ指定コマンド及び空きバッファメッセージの通信を途絶えさせないように制御して、信頼性の高いデータ供給の処理を実現させる共通バッファ管理手段を提供することを目的とする。
すなわち、本発明は上述した課題を解決するために以下の手段より構成したものである。
ホストと、ターゲットと、1つ以上のバッファメモリから構成された共通メモリとがデータバスを介してそれぞれ接続され、前記ターゲットが発行する空きバッファのアドレスを示したメッセージと前記ホストが発行するアクセスすべきバッファのアドレスを示したコマンドとの通信制御によって、前記ホストから前記ターゲットに対してデータを供給するよう構成された共通バッファ管理手段において、前記ホストは、前記ターゲットに発行する一連のコマンドをその発行する順番で予め記憶したコマンド管理部と、前記ターゲットから供給されたメッセージについて少なくとも最新のメッセージと1回前のメッセージとをそれぞれ一時記憶するメッセージ受信部と、前記コマンド管理部に記憶された一連のコマンドと前記メッセージ受信部に一時記憶されたメッセージとの同一発行順番位置で各アドレス比較を行ってエラーの有無を検出するエラー検出部と、この検出結果に基づき次にアクセスするバッファメモリを指定してこれに係るコマンドか、又は前記ホストとターゲット間の通信異常を正常復帰させるコマンドかのいずれかを発行するよう制御するコマンド制御部とを具備し、前記コマンド制御部は、前記エラー検出部において検出結果にエラーが無かった場合には、前記コマンド及びメッセージの通信シーケンスは正常であると判断され、前記メッセージ受信部に一時記憶された最新のメッセージに基づき、前記次にアクセスするバッファメモリを指定してこの指定したバッファメモリに係るコマンドを前記ターゲットに出力する一方、前記エラー検出部における検出結果にエラーが検出された場合には、前記通信異常を正常復帰させるための新たなコマンドをターゲットに設定し直すよう制御することを特徴とする共通バッファ管理手段。
本発明によれば、ホストからターゲットへの共通メモリを介したデータ供給における前記ホストからのコマンド発行と、このコマンドを受信した前記ターゲットからの空きバッファメモリに係るメッセージの返信において、前記ホストが発行したコマンドが前記ターゲットに伝わらない、又は前記ターゲットから返信されたメッセージが処理できない等の前記コマンド及びメッセージの通信シーケンス異常に基づくデータ供給の処理停止という致命的な問題を回避できる格別な効果を有するものである。
以下、本発明を実施するための最良の形態につき図を用いて詳細に説明する。まず、図1は本発明に係る共通バッファ管理を実現するための構成例を示した図である。同図において、ホスト1、ターゲット2、及び共通メモリ4はデータバス3で接続される。更にホスト1は、後述するコマンド制御部14が発行するバッファ指定コマンドを予め発行する順番で記憶したコマンド管理部11と、ターゲット2から供給された空きバッファメッセージを一時記憶するメッセージ受信部12と、コマンド管理部11及びメッセージ受信部12から供給される比較情報に基づきホスト1とターゲット2間の通信エラーを検出するエラー検出部13と、前記空きバッファメッセージに基づき次にアクセスすべきバッファを指定するバッファ指定コマンドを発行し、また前記通信エラーが検出された場合は前記通信を正常復帰させるためのコマンド制御部14と、前記次にアクセスすべき共通メモリ4のバッファにデータの書き込み又は読み出しを行うメモリ制御部15とから構成される。
また、ターゲット2は前述した背景技術で述べたように、ホスト1から供給された前記バッファ指定コマンドを受信するコマンド受信部2aと、この受信したバッファ指定コマンドに基づき共通メモリ4の所定のバッファアドレスを取得すると共に空きバッファのバッファアドレスを示す空きバッファメッセージをホスト1に出力するメッセージ制御部2bと、前記取得したバッファアドレスで示されるバッファにデータの書き込み又は読み出しを行うメモリ制御部2cとから構成される。
そしてまた、上述したように共通メモリ4の内部は固有のバッファアドレスを有した1つ以上のバッファに区分され、同図においてはバッファ4−1,バッファ4−2乃至バッファ4−n(nは自然数)と区分されるものとする。
なお、本形態例では説明を容易にするために、便宜上上記バッファを2つ(バッファ4−1及びバッファ4−2)として以下を説明する。
次に、上記の構成例におけるホスト1からターゲット2への共通メモリ4を介したデータ供給動作について図2及び図3を用いて説明する。図2はホスト1からターゲット2へ共通メモリ4を介してデータを供給する際のデータバス3上で送受させるバッファ指定コマンド及び空きバッファメッセージの送受シーケンスを示したものである。また、図3は図2の例におけるコマンド管理部11、メッセージ受信部12、及びエラー検出部13の手順及び内部データ構造を示した図である。
まず、図2において、StatusBuffer[I](Iは0以上の整数、以下同じ。)は、ターゲット2において初期化されたか又は既にアクセス処理が完了して空きバッファとなった空きバッファアドレスを指定するようターゲット2のメッセージ制御部2bで制御されて発行される空きバッファメッセージ、HostBuffer[I]はターゲット2がアクセスすべきバッファの指定バッファアドレスを指定するようホスト1のコマンド制御部14で制御されて発行されるバッファ指定コマンド、TargetBuffer[I]はターゲット2のコマンド受信部2aで受信され、ターゲット2が次にアクセスすべきバッファの指定バッファアドレスを示すバッファ指定コマンド、addr_buf_Aはバッファ4−1を指定する第1の指定バッファアドレス、addr_buf_Bはバッファ4−2を指定する第2の指定バッファアドレスを示したものである。
まず、ホスト1のコマンド制御部14は、初期化処理としてHostBuffer[0]=addr_buf_A及びHostBuffer[1]=addr_Buf_Bを自身に設定してバッファ指定コマンドとしてターゲット2に出力する。そして、ターゲット2は入来した前記バッファ指定コマンドをそれぞれTargetBuffer[0]=addr_buf_A及びTargetBuffer[1]=addr_buf_Bとしてコマンド受信部2aで受信する。
次に、上記初期化処理に続くホスト1からターゲット2への共通メモリ4を介したデータ供給は、一連のバッファ指定コマンド及び空きバッファメッセージの送受信をもって以下のように行われる。つまり、ターゲット2のメッセージ制御部2bは、前記第1の指定バッファアドレスaddr_buf_Aで示されるバッファ4−1又は前記第2の指定バッファアドレスaddr_buf_Bで示されるバッファ4−2の内、前記初期化されたか又は既にアクセス処理が終了した空きバッファであって前記アクセス処理の古い順番による1つのバッファにつき、その空きバッファアドレスを示した空きバッファメッセージStatusBuffer[J]=前記空きバッファアドレス(Jは0以上の整数。以下同じ。)をデータバス3を介してホスト1に送信する。
次に、ホスト1のメッセージ受信部12は、図3に示すように前記空きバッファメッセージを受信してその空きバッファアドレスを最新のメッセージとして記憶する。このとき、予め記憶されていた最新のメッセージは1回前のメッセージとして記憶し直させる。そして、前記最新のメッセージに格納された空きバッファアドレスとコマンド管理部11に予め発行する順番で記憶されたバッファ指定コマンド、すなわち指定バッファアドレスとを前記発行する順番位置に対応させて比較し、また同様に前記1回前のメッセージとして記憶し直した空きバッファメッセージについても、コマンド管理部11に予め発行する順番で記憶されたバッファ指定コマンドに係る指定バッファアドレスとを前記発行する順番位置に対応させて比較する。つまり、例えば図3における前記最新のメッセージについてはHostBuffer[3]とStatusBuffer[3]との比較であり、前記1回前のメッセージについてはHostBuffer[2]とStatusBuffer[2]との比較である。
上記のようなそれぞれのアドレス比較において、エラー検出部13は前記各メッセージに示された空きバッファアドレスとコマンド管理部11で管理された同一順番位置に該当するバッファ指定コマンドで示された指定バッファアドレスとが両方とも一致した場合、ホスト1とターゲット2間の前記通信シーケンスは正常であると判断し、その正常を示す結果を前記最新のメッセージと共にコマンド制御部14に供給する。
一方、前記1回前のメッセージに記憶された空きバッファアドレスとコマンド管理部11で管理された同一順番位置に該当するバッファ指定コマンドで示された指定バッファアドレスとは一致したが、前記最新のメッセージに記憶された空きバッファアドレスとコマンド管理部11で管理された同一順番位置に該当するバッファ指定コマンドで示された指定バッファアドレスとが一致しなかった場合、1回前の通信シーケンスまでは正常であったが今回の通信シーケンスは正常ではなく、これに係るバッファ領域は正常に処理されていないと判断し、その異常を示す結果を前記最新のメッセージと共にコマンド制御部14に供給する。
次に、コマンド制御部14は、エラー検出部13から供給された前記判断結果に基づき以下のような処理を行う。つまり、前記判断結果が正常であった場合は、コマンド制御部14はエラー検出部13から供給された前記最新のメッセージに係る空きバッファアドレスを次の指定バッファアドレスとしてメモリ制御部15に参照させ、後述するようにメモリ制御部15から共通メモリ4へのアクセスを終了したステータスを受信した後、前記指定バッファアドレスを示したバッファ指定コマンドHostBuffer[J+2]=前記指定バッファアドレスをデータバス3を介してターゲット2に発行する。これにおいては、上述したようにメモリ制御部15はコマンド制御部14の前記空きバッファメッセージを参照して、それに示されたバッファにターゲット2に供給すべきデータを格納し、アクセスを終了した後前記ステータスをコマンド制御部14に返す。
そして、ターゲット2のコマンド受信部2aは前記発行されたバッファ指定コマンドをTargetBuffer[J+2]として受信してメッセージ制御部2bに供給し、メモリ制御部2cは前記供給されたバッファアドレスを参照して該当するバッファから受け取るべきデータを読み出した後、メッセージ制御部2bへアクセスを終了したステータスを出力し、メッセージ制御部2bは前述したように既に処理が終了した空きバッファであってバッファアドレスの所定の順番、例えばバッファアドレスの小さい順番に基づく1つのバッファにつき、そのバッファアドレスを示した空きバッファメッセージの処理に移行する。
一方、前述したエラー検出部13での判断結果が異常であった場合、通信シーケンスを正常化させるために復帰処理を行う。その際の動作について図3及び図4を用いて説明する。図4は、ホスト1からターゲット2へ共通メモリ4を介してデータを供給する際のホスト1とターゲット2間で送受されるバッファ指定コマンド及び空きバッファメッセージの送受シーケンスを示したもののうち、ターゲット2で前記バッファ指定コマンドの受信エラーが発生した場合について図示したものである。同図において、41はターゲット2がバッファ指定コマンドを取得できなかった受信エラー、42は受信エラー41によりバッファアドレスがずれてしまったミスバッファ指定コマンド、43は受信エラー41によりバッファアドレスがずれて発生したミス空きバッファメッセージ、44はエラー検出部13が受信エラーを検出した後コマンド制御部14が発行する再初期化データを示したものである。
同図が示すように、ターゲット2で受信エラー41が発生すると、本来コマンド受信部2aが受信すべきバッファ指定コマンドTargetBuffer[3]=addr_buf_Bを受信できないこととなる。このため、ミスバッファ指定コマンド42は本来設定されるべきTargetBuffer[4]=addr_buf_AでなくTargetBuffer[3]=addr_buf_Aが設定されることとなり、メッセージ制御部2bが管理する空きバッファ数がホスト1の管理する空きバッファ数よりも1つ少なくなる。これにより、同図の例ではミスバッファ指定コマンド42に基づき本来ホスト1に供給すべき空きバッファメッセージStatusBuffer[3]=addr_buf_Bが発行できず、アドレスがaddr_buf_Aにずれてしまうこととなり(ミス空きバッファメッセージ43)、以降はバッファ4−1のみを使用し続けることとなる。
そして、ターゲット2が発行したミス空きバッファメッセージ43を受信したホスト1では、メッセージ受信部12の内部データ構造が図3に例示したように設定され、エラー検出部13での最新のメッセージについてのHostBuffer[3]とStatusBuffer[3]との比較において、HostBuffer「3」=addr_buf_BとStatusBuffer[3]=addr_buf_Aとはバッファアドレスが異なるため、エラーを検出することとなる。
前記エラーを検出したエラー検出部13は、異常を知らせる情報とミス空きバッファメッセージ43をコマンド制御部14に出力し、コマンド制御部14はミス空きバッファメッセージ43が含まれるグループの次のグループを再初期化データとして自身に設定し、そしてターゲット2に対して新たなバッファ指定コマンドとして出力する。図4の例においては、エラー検出部13からエラー検出結果と一緒に供給されるメッセージはStatusBuffer[3]=addr_buf_Aであるので、StatusBuffer[3]が含まれるグループの次のグループであるHostBuffer[4]=addr_buf_A及びHostBuffer[5]=addr_Buf_Bが前記再初期化データ44として設定されることとなる。
これにおいて、本例では前述したようにバッファ数を2つとした場合であるため前記グループの組み合わせは(0,1),(2,3),(4,5)...となるが、バッファ数がn個である場合の前記グループは、説明するまでもなく(0,1,2...n−1),(n,n+1,n+2...2*n−1)...となる。
以上のように、本実施の形態のバッファ管理手段によれば、ホスト1からターゲット2へのデータ供給が、通信エラーを検出しながら共通メモリ4を介して行われることにより、ターゲット2がバッファ指定コマンドの受け取りに失敗した場合や、ホスト1が空きバッファメッセージの処理に失敗した場合について、このような通信エラーをホスト1のエラー検出部13にて的確に検出してその結果に基づきコマンド制御部14にてリカバリ処理を行うことにより、バッファ指定コマンド及び空きバッファメッセージの通信シーケンスを途絶えさせなずに、信頼性の高いデータ供給の処理を実現させる共通バッファ管理手段を提供することができる。
なお、本実施の形態において、共通メモリ4を介したデータの供給はホスト1からターゲット2への供給についてのみ述べたが、ホスト1及びターゲット2共にコマンド管理部11とエラー検出部13とをそれぞれ具備した構成とすることでターゲット2からホスト1へのデータ供給も可能となり、これによって双方向の通信においてエラーを検出可能とすることができる。
以上のように、本発明に係る共通バッファ管理手段は共通メモリを介して特に連続データを送受するマルチプロセッサシステムの通信路に有効であり、特にコマンド/メッセージによる通信シーケンスが通信路の障害等によって途絶えてしまうことを防ぐべき高信頼なデータ通信路の提供に有用である。
本発明の実施の形態に係る共通バッファ管理を実現するための構成例を示した図である。 ホスト1からターゲット2へ共通メモリ4を介してデータを供給する際の、データバス3上で送受させるバッファ指定コマンド及び空きバッファメッセージの送受シーケンスを示した図である。 図2の例におけるコマンド管理部11、メッセージ受信部12、及びエラー検出部13の手順及び内部データ構造を示した図である。 ホスト1からターゲット2へ共通メモリ4を介してデータを供給する際の、ホスト1〜ターゲット2間で送受されるバッファ指定コマンド及び空きバッファメッセージの送受シーケンスを示したもののうち、ターゲット2で前記バッファ指定コマンドの受信エラーが発生した場合について図示したものである。 ホストからターゲットへの共通メモリを介したデータ供給における、ホスト〜ターゲット間データ通信路の従来の構成例である。 ホスト51からターゲット52へ共通メモリ54を介してデータを供給する際の、データバス53上で送受されるバッファ指定コマンド及び空きバッファメッセージの送受シーケンスを示した図である。 ホスト51からターゲット52へ共通メモリ54を介してデータを供給する際の、ホスト51〜ターゲット52間で送受されるバッファ指定コマンド及び空きバッファメッセージの送受シーケンスを示したもののうち、ターゲット52で前記バッファ指定コマンドの受信エラーが発生した場合について図示したものである。
符号の説明
1 ホスト
2 ターゲット
2a コマンド受信部
2b メッセージ制御部
2c メモリ制御部
3 データバス
4 共通メモリ
4−1 第1のバッファ
4−2 第2のバッファ
4−n 第nのバッファ
11 コマンド管理部
12 メッセージ受信部
13 エラー検出部
14 コマンド制御部
15 メモリ制御部

Claims (1)

  1. ホストと、ターゲットと、1つ以上のバッファメモリから構成された共通メモリとがデータバスを介してそれぞれ接続され、前記ターゲットが発行する空きバッファのアドレスを示したメッセージと前記ホストが発行するアクセスすべきバッファのアドレスを示したコマンドとの通信制御によって、前記ホストから前記ターゲットに対してデータを供給するよう構成された共通バッファ管理手段において、
    前記ホストは、前記ターゲットに発行する一連のコマンドをその発行する順番で予め記憶したコマンド管理部と、前記ターゲットから供給されたメッセージについて少なくとも最新のメッセージと1回前のメッセージとをそれぞれ一時記憶するメッセージ受信部と、前記コマンド管理部に記憶された一連のコマンドと前記メッセージ受信部に一時記憶されたメッセージとの同一発行順番位置で各アドレス比較を行ってエラーの有無を検出するエラー検出部と、この検出結果に基づき次にアクセスするバッファメモリを指定してこれに係るコマンドか、又は前記ホストとターゲット間の通信異常を正常復帰させるコマンドかのいずれかを発行するよう制御するコマンド制御部とを具備し、
    前記コマンド制御部は、前記エラー検出部において検出結果にエラーが無かった場合には、前記コマンド及びメッセージの通信シーケンスは正常であると判断され、前記メッセージ受信部に一時記憶された最新のメッセージに基づき、前記次にアクセスするバッファメモリを指定してこの指定したバッファメモリに係るコマンドを前記ターゲットに出力する一方、
    前記エラー検出部における検出結果にエラーが検出された場合には、前記通信異常を正常復帰させるための新たなコマンドをターゲットに設定し直すよう制御する
    ことを特徴とする共通バッファ管理手段。

JP2003432173A 2003-12-26 2003-12-26 共通メモリ管理方法 Expired - Fee Related JP4258372B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003432173A JP4258372B2 (ja) 2003-12-26 2003-12-26 共通メモリ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003432173A JP4258372B2 (ja) 2003-12-26 2003-12-26 共通メモリ管理方法

Publications (2)

Publication Number Publication Date
JP2005190268A true JP2005190268A (ja) 2005-07-14
JP4258372B2 JP4258372B2 (ja) 2009-04-30

Family

ID=34789957

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003432173A Expired - Fee Related JP4258372B2 (ja) 2003-12-26 2003-12-26 共通メモリ管理方法

Country Status (1)

Country Link
JP (1) JP4258372B2 (ja)

Also Published As

Publication number Publication date
JP4258372B2 (ja) 2009-04-30

Similar Documents

Publication Publication Date Title
US8051325B2 (en) Multiprocessor system and failure recovering system
US7124244B2 (en) Storage system and a method of speeding up writing data into the storage system
US7853767B2 (en) Dual writing device and its control method
US20010032301A1 (en) Multiplexed computer system
CN110580235B (zh) 一种sas扩展器通信方法及装置
JPH08227344A (ja) 二重磁気ディスク制御装置間の通信制御装置
CN101156144A (zh) Dma控制器、节点、数据传送控制方法、及程序
JP4451837B2 (ja) データ転送装置およびデータ転送方法
US20070006025A1 (en) Sending device, receiving device, communication control device, communication system, and communication control method
JP2009053734A (ja) 数値制御装置に接続されたioユニットの断線と電源断の検出方法
EP1703392A2 (en) Method and apparatus for detecting failures in a partitioned large scale computer system
JP2008152552A (ja) 計算機システム及び障害情報管理方法
US20060129714A1 (en) Method and apparatus for transferring data
JP4258372B2 (ja) 共通メモリ管理方法
JPH0341522A (ja) メッセージ紛失検出処理方式
US7243257B2 (en) Computer system for preventing inter-node fault propagation
JP2007206949A (ja) ディスクアレイ装置、ディスクアレイ装置の制御方法、ディスクアレイ装置の制御プログラム
JP2007334668A (ja) メモリダンプ方法、クラスタシステム、それを構成するノードおよびプログラム
JPH0895614A (ja) 制御装置
JPWO2007096987A1 (ja) エラー制御装置
JP5544099B2 (ja) コントローラ通信方法およびコントローラ通信装置
JP2001007893A (ja) 情報処理システム及びそれに用いる障害処理方式
JP2006309292A (ja) サーバ装置、サーバシステム、及びサーバシステムでの系切り換え方法
KR20180065881A (ko) 멀티 코어 프로세서 및 그것의 캐시 관리 방법
KR101776329B1 (ko) 접근권한코드를 이용한 디바이스 보호 시스템 및 그 보호 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20060331

Free format text: JAPANESE INTERMEDIATE CODE: A621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080606

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080930

A131 Notification of reasons for refusal

Effective date: 20081024

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20081212

Free format text: JAPANESE INTERMEDIATE CODE: A523

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Effective date: 20090113

Free format text: JAPANESE INTERMEDIATE CODE: A01

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090126

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 3

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 3

Free format text: PAYMENT UNTIL: 20120220

LAPS Cancellation because of no payment of annual fees