(57)【特許請求の範囲】
【請求項１】
複数の単位領域をチェーン化してデータの書込み、読出しを行う共通バッファを管理する共通バッファ管理装置に於いて、
前記共通バッファの複数の単位領域を入力データに対応してチェーン化してデータの書込み、読出しの制御を行う管理部と、
前記共通バッファの単位領域対応の１ビット又は複数ビットのフラグと所定期間毎に反転する監視フラグ値とを、前記単位領域に対するデータ書込み、読出しによる単位領域の使用毎に比較して、異なる時に前記フラグを前記監視フラグ値と同一となるように更新してカウントアップするフラグカウンタ手段と、前記所定期間経過毎に、前記フラグカウンタ手段のカウント値と設定値とを比較して、前記カウント値が前記設定値より小さい時にエラーと判断するエラー判断手段とを含む共通バッファ故障検出部と
を備えたことを特徴とする共通バッファ管理装置。
【請求項２】
前記管理部は、前記単位領域対応の１ビット又は複数ビットのフラグを、前記共通バッファの単位領域のアドレス管理と共に管理、制御する構成を備えたことを特徴とする請求項１記載の共通バッファ管理装置。
【請求項３】
前記共通バッファ故障検出部は、前記共通バッファの単位領域対応にデータの書込み、読出しを監視する入出力監視手段と、前記共通バッファの単位領域対応の１ビット又は複数ビットのフラグと監視フラグ値とを比較して異なる時にカウントアップすると共に、同一となるように前記フラグを更新処理するフラグ処理手段と、所定期間経過毎に、前記監視フラグ値の反転処理と前記カウントアップしたカウント値をリセットする監視フラグ値制御手段と、前記カウント値と設定値とを前記所定期間経過毎に比較し、前記カウント値が前記設定値より小さい時にエラーとするエラー判断手段とを含むことを特徴とする請求項１記載の共通バッファ管理装置。
【請求項４】
複数の単位領域をチェーン化してデータの書込み、読出しを行う共通バッファを管理する共通バッファ管理方法に於いて、
前記共通バッファの複数の単位領域を入力データに対応してチェーン化してデータの書込み、読出しの制御を行い、前記共通バッファの単位領域対応の１ビット又は複数ビットのフラグと所定期間毎に更新する監視フラグ値とを、前記単位領域に対するデータ書込み、読出しによる単位領域の使用毎に比較して、異なる時に前記フラグを前記監視フラグ値と同一となるように更新してカウントアップしたカウント値と設定値とを、前記所定期間経過毎に比較して、前記カウント値が前記設定値より小さい時にエラーと判断する処理過程を含む
ことを特徴とする共通バッファ管理方法。
【請求項５】
前記共通バッファの単位領域対応にデータの書込み、読出しを監視し、前記共通バッファの単位領域対応の１ビット又は複数ビットのフラグと監視フラグ値とを比較して異なる時にカウントアップすると共に、同一となるように前記フラグを更新処理し、所定期間経過毎に、前記カウントアップしたカウント値と設定値とを前記所定期間経過毎に比較し、前記カウント値が前記設定値より小さい時にエラーと判断する処理過程を含むことを特徴とする請求項４記載の共通バッファ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数組の入力データに対して、それぞれのデータ量に対応した記憶領域を形成し、ＦＩＦＯ（Ｆｉｒｓｔ−ｉｎ  Ｆｉｒｓｔ−ｏｕｔ）形式でデータの書込み、読出しを可能とする共通バッファを管理し、且つ正常か否かを監視する共通バッファ管理装置及び共通バッファ管理方法に関する。
【背景技術】
【０００２】
共通バッファは、一時的にデータを保持するメモリであり、各種のデータ処理装置に適用されている。例えば、通信システムを構成するデータ送受信装置に於いては、入力されたデータ毎に、データ長情報が付加されている場合、そのデータ長に対応した記憶領域を共通バッファ内に形成し、その先頭アドレスと最後尾のアドレスとを管理し、ＦＩＦＯ（先入れ先出し）形式でデータの書込み及び読出しを可能として、データに対するバッファリング機能を実現する構成が適用されている。
【０００３】
例えば、図３の（Ａ）に示すように、共通バッファに、複数の単位領域を形成し、各単位領域の後尾アドレス領域に次の単位領域の先頭アドレス（次のアドレス）を格納するか、又は単位領域以外の領域に単位領域の先頭アドレスを管理して、順次単位領域のチェーンを形成し、チェーン先頭の単位領域の先頭アドレスを、データ格納領域の先頭アドレスとし、チェーン後尾の単位領域の次のアドレスを、最後尾アドレス（最後のアドレス）として、データ格納領域を管理する。このデータの読出しが終了すると、先頭のアドレスは、空きの先頭アドレスとすることにより、他のデータを書込む場合、この空きの先頭アドレスを指定し、データ長に従った個数の単位領域を、前述のように、チェーン化して、データ格納領域を確保する。又複数の入力データに対応して、それぞれを一時的に保持する為に、チェーン化による複数のデータ格納領域を確保する構成が一般的である。
【０００４】
又前述のように、単位領域のアドレス指定によりチェーンを形成して、データ長に対応した領域を確保する共通バッファに於いて、何らかの原因により、チェーン障害が発生した場合を検出する為に、管理テーブルを設け、チェーンの先頭アドレス（開始アドレス）と、最後尾アドレス（終了アドレス）と、データを書込む為の確保済の単位領域数（ブロック数）と、残単位領域数（空き単位領域数）とを管理し、データ読出しにより、チェーンを解放し、解放単位領域数と、確保済単位領域数とを比較し、解放単位領域数が大きい時にチェーン障害発生と判断し、又データ入力により、そのデータ長に対応した領域を確保する為の要求単位領域数と、残単位領域数とを比較し、要求単位領域数が小さいにもかかわらず、チェーン形成の過程に於いて、形成し得るチェーンの最後尾のアドレスとなる場合にも、チェーン障害発生と判断する破壊検出手段が提案されている（例えば、特許文献１参照）。
【特許文献１】特許第３３４６４８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
データが入力された時に、そのデータ長に対応した個数の単位領域を確保して、それぞれの単位領域の後尾により、次の単位領域の先頭アドレスを示すように構成してチェーン化し、そのチェーンの先頭アドレスと、最後尾アドレスとの間に、所望の大きさの記憶領域を形成し、その記憶領域の先頭アドレス側からデータを書込んで保持し、又その先頭アドレス側からデータを読出し、その読出し完了により、そのチェーンを解放するもので、このような処理を、データ入力毎に繰り返す過程に於いて、アドレスデータの異常等により、誤りを含むチェーンが形成される場合がある。例えば、図３の（Ｂ）に示すように、丸印で示す単位領域を、矢印で示すようにチェーン化して、入力されたデータ毎のＦＩＦＯ１〜ＦＩＦＯ４を形成し、それぞれの先頭から終端として示す方向にデータを書込み、又データの読出しもそれぞれの先頭から終端として示す方向に行うものであるが、アドレス関連のエラー等により、点線で示す経路のチェーンが形成されると、ＦＩＦＯ２の終端側の単位領域内のデータは読出されなくなる。それにより、斜線を施した単位領域は、使用中の状態で残存したままとなる。このような残存単位領域が、全体の単位領域数に比較して少ない状態では、他の単位領域をチェーン化してデータを書込むことができるから、共通バッファとして使用可能である。
【０００６】
しかし、残存単位領域が増加すると、実際にデータを書込むことが可能の単位領域が減少し、データ長の大きいデータが入力された場合のバッファ処理ができなくなる問題がある。又データ書込みの為に確保した単位領域数と、データ読出しにより解放する単位領域数とを比較することにより、チェーン異常の有無を判定し、又チェーン形成過程に、最後尾アドレスがチェーンの途中に指定される状態か否かを判定して、チェーン破壊を検出する前述の特許文献１に示されている従来例に於いては、複数のデータ対応に複数の記憶領域を確保する場合の異常発生の検出ができない問題がある。
【０００７】
本発明は、前述の問題点を解決するもので、比較的簡単な構成により、複数の入力データ対応の記憶領域を形成した共通バッファが使用可能状態か否かを判断できるように管理することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の共通バッファ管理装置は、複数の単位領域をチェーン化してデータの書込み、読出しを行う共通バッファを管理する共通バッファ管理装置に於いて、前記共通バッファの複数の単位領域を入力データに対応してチェーン化してデータの書込み、読出しの制御を行う管理部と、前記共通バッファの単位領域対応の１ビット又は複数ビットのフラグと所定期間毎に更新する監視フラグ値とを、前記単位領域に対するデータ書込み、読出しによる単位領域の使用毎に比較して、異なる時に前記フラグを前記監視フラグ値と同一となるように更新してカウントアップするフラグカウンタ手段と、前記所定期間経過毎に、前記フラグカウンタ手段のカウント値と設定値とを比較して、前記カウント値が前記設定値より小さい時にエラーと判断するエラー判断手段とを含む共通バッファ故障検出部とを備えている。
【０００９】
又前記管理部は、前記単位領域対応の１ビット又は複数ビットのフラグを、前記共通バッファの単位領域のアドレス管理と共に管理、制御する構成を備えている。
【００１０】
又前記共通バッファ故障検出部は、前記共通バッファの単位領域対応にデータの書込み、読出しを監視する入出力監視手段と、前記共通バッファの単位領域対応の１ビット又は複数ビットのフラグと監視フラグ値とを比較して異なる時にカウントアップすると共に、同一となるように前記フラグを更新処理するフラグ処理手段と、所定期間経過毎に、前記監視フラグ値の更新処理と前記カウントアップしたカウント値をリセットする監視フラグ値制御手段と、前記カウント値と設定値とを前記所定期間経過毎に比較し、前記カウント値が前記設定値より小さい時にエラーとするエラー判断手段とを含む構成を有する。
【００１１】
又本発明の共通バッファ管理方法は、複数の単位領域をチェーン化してデータの書込み、読出しを行う共通バッファを管理する共通バッファ管理方法に於いて、前記共通バッファの複数の単位領域を入力データに対応してチェーン化してデータの書込み、読出しの制御を行い、前記共通バッファの単位領域対応の１ビット又は複数ビットのフラグと所定期間毎に更新する監視フラグ値とを、前記単位領域に対するデータ書込み、読出しによる単位領域の使用毎に比較して、異なる時に前記フラグを前記監視フラグ値と同一となるように更新してカウントアップしたカウント値と設定値とを、前記所定期間経過毎に比較して、前記カウント値が前記設定値より小さい時にエラーと判断する処理過程を含むものである。
【００１２】
又前記共通バッファの単位領域対応にデータの書込み、読出しを監視し、前記共通バッファの単位領域対応の１ビット又は複数ビットのフラグと監視フラグ値とを比較して異なる時にカウントアップすると共に、同一となるように前記フラグを更新処理し、所定期間経過毎に、前記カウントアップしたカウント値と設定値とを前記所定期間経過毎に比較し、前記カウント値が前記設定値より小さい時にエラーと判断する処理過程を含むものである。
【発明の効果】
【００１３】
共通バッファの単位領域を使用したか否かを１ビット又は複数ビットのフラグを利用して、所定期間内で使用した単位領域の個数をカウントすることにより、そのカウント値は、所定期間内に入力されたデータ量に相当する値となる筈であるから、カウント値が少ない場合、共通バッファの一部の単位領域が使用されなかった可能性がある。従って、所定期間を共通バッファの使用環境に従って定め、カウント値と比較する設定値を、所定期間の長さに対応して定めることにより、共通バッファの単位領域のチェーン化のエラー等を検出することができる。
【発明を実施するための最良の形態】
【００１４】
本発明の共通バッファ管理装置は、図１を参照して説明すると、複数の単位領域をチェーン化してデータの書込み、読出しを行う共通バッファ１を管理する共通バッファ管理装置に於いて、共通バッファ１の複数の単位領域を入力データに対応してチェーン化したデータ格納領域ＦＩＦＯ１〜ＦＩＦＯｎにデータの書込み、読出しの制御を行う管理部２と、共通バッファ１の単位領域対応の１ビットのフラグＦと所定期間毎に更新する監視フラグ値とを、単位領域に対するデータ書込み、読出しによる単位領域の使用毎に比較して、異なる時にフラグＦを、監視フラグ値と同一となるように更新してカウントアップするフラグカウンタ手段と、所定期間経過毎に、フラグカウンタ手段のカウント値と設定値とを比較して、カウント値が設定値より小さい時にエラーと判断するエラー判断手段とを含む共通バッファ故障検出部３とを備えている。
【００１５】
本発明の共通バッファ管理方法は、複数の単位領域をチェーン化してデータの書込み、読出しを行う共通バッファ１を管理する共通バッファ管理方法に於いて、共通バッファ１の複数の単位領域を入力データに対応してチェーン化して構成したデータ格納領域ＦＩＦＯ１〜ＦＩＦＯｎにデータの書込み、読出しの制御を行い、共通バッファ１の単位領域対応の１ビットのフラグＦと所定期間毎に更新する監視フラグ値とを、単位領域に対するデータ書込み、読出しによる単位領域の使用毎に比較して、異なる時に、フラグＦを監視フラグ値と同一となるように更新してカウントアップしたカウント値と設定値とを、所定期間経過毎に比較して、カウント値が設定値より小さい時にエラーと判断する処理過程を含むものである。
【実施例１】
【００１６】
図１は、本発明の実施例１の説明図であり、１は共通バッファ、２は管理部、３は共通バッファ故障検出部を示し、管理部２と共通バッファ故障検出部３とにより、共通バッファ１を管理、監視する管理装置を構成している。共通バッファ１は、それぞれ複数の単位領域のチェーン化により、入力データのデータ長にそれぞれ対応したＦＩＦＯ形式の複数のデータ格納領域ＦＩＦＯ１〜ＦＩＦＯｎを形成して、データの書込み、読出しを行う構成であり、既に知られている構成を適用することが可能であるが、実施例１に於いては、共通バッファ１の各単位領域に、右上に示すように、データを書込む領域と共に、１ビットのフラグＦを設ける。
【００１７】
又管理部２は、共通バッファ１のデータ格納領域ＦＩＦＯ１〜ＦＩＦＯｎを形成する為の単位領域の先頭アドレスＡ０〜Ａｎと後尾アドレスＢ１〜Ｂｎとの管理と、チェーン化の処理と、データの書込み、読出しの制御との機能を含み、又共通バッファ故障検出部３は、データ入出力監視Ａと、フラグの処理Ｂと、監視フラグ値制御Ｃと、エラー判断Ｄとの機能を含むものである。この共通バッファ故障検出部３の機能を、管理部２に設けることも可能であり、又共通バッファ１の各単位領域のフラグＦを、各単位領域の先頭アドレスの管理と共に、管理部２に設定して処理することも可能である。
【００１８】
共通バッファ１の単位領域対応のフラグＦは、初期状態では、例えば“０”として、初期状態から所定の期間内の単位領域に対するデータの書込み、読出しにより“１”とし、この“０”から“１”としたフラグＦをカウントする。次の所定期間内に於いては、フラグＦが“１”の単位領域に対するデータの書込み、読出しにより、フラグＦを“０”とし、この“１”から“０”としたフラグＦをカウントする。
【００１９】
更新させたフラグＦをカウントしたカウント値と設定値とを比較する所定期間を、共通バッファ１の全単位領域にデータ書込み、読出しに使用される可能性のある時間より充分長く設定する。この場合、カウント値は、共通バッファ１が正常ならば、単位領域数に相当する値となる筈である。従って、単純には、所定時間を全単位領域が使用される可能性のある時間とし、カウント値が全単位領域数より少ない場合は、共通バッファ１に何らかの障害が発生したと判定することができる。この場合、共通バッファ１を引き続き使用可能と判断する為の単位領域数が、例えば、全単位領域数の７０％以上であれば良いとする場合、カウント値と比較する設定値を、例えば、全単位領域数の７０％の値として、所定期間毎に比較判定することができる。
【００２０】
又障害となった単位領域を、使用不可能領域として積極的に管理部２の管理から除外することも可能である。この場合、所定時間内のフラグＦのカウント値が、これと比較する設定値を下回るまで、障害となった単位領域を保有したまま、共通バッファ１を使用することが可能である。
【００２１】
図２は、図１に於ける共通バッファ故障検出部３のデータ入出力監視Ａと、フラグ処理Ｂと、監視フラグ値制御Ｃと、エラー判断Ｄとの機能を、それぞれ（Ａ），（Ｂ），（Ｃ），（Ｄ）のフローチャートとして示すものである。図２の（Ａ）のデータ入出力監視は、共通バッファ１に対するデータ入出力（データ書込み、読出し）の有無を判定し、データ入出力有りの場合、フラグ処理Ｂと監視フラグ値制御Ｃとを実行する。
【００２２】
フラグ処理Ｂは、図２の（Ｂ）に示すように、フラグ値と監視フラグ値とが同一か否かを判定し、相違する場合は、同一内容として、フラグカウンタをカウントアップする（ｆｌｇ．ｃｎｔｒ＝ｆｌｇ．ｃｎｔｒ＋１）。即ち、或る所定期間に於ける監視フラグ値を“１”とした場合に、フラグＦが“０”の単位領域にデータを書込むことにより、その単位領域のフラグＦ（“０”）と監視フラグ値（“１”）とを比較すると、フラグ値≠監視フラグ値となるから、フラグ値＝監視フラグ値として示すように、単位領域のフラグＦを“０”から“１”に変更し、フラグカウンタをカウントアップする。従って、フラグカウンタは、データを書込んだ単位領域数だけ増加することになり、又所定期間内に於ける同一の単位領域について２回以上データの書込み、読出しを行っても、使用した単位領域数は１としてカウントしていることになる。なお、フラグカウンタは、図示を省略しているように、プログラム制御によるソフトカウンタとして構成した場合を示すが、ハード構成として、共通バッファ故障検出部３に設けることも可能である。
【００２３】
監視フラグ値制御Ｃは、図２の（Ｃ）に示すように、前述の所定時間経過か否かの判断と、監視フラグ値更新と、エラー判断のタイミングとの制御を実行するもので、所定時間経過か否かを、時間カウンタにより行う場合、ｏｕｔ．ｃｎｔｒ＝ｏｕｔ．ｃｎｔｒ＋１として示すように、単位時間をカウントアップし、そのカウント値により所定時間経過か否かを判定し、所定時間経過した場合は、エラー判断Ｄに対して、判断処理タイミングを通知して、エラー判断の実行と、監視フラグ値の更新と、時間カウンタのリセットと、フラグカウンタのリセット（ｏ．ｃｎｔｒ＝０、ｆｌｇ．ｃｎｔｒ＝０）とを行う。従って、監視フラグ値は、所定時間経過毎に、“０”から“１”に、又その反対となるように、更新処理を行う。なお、前述の時間カウンタもソフトカウンタとして構成した場合を示し、従って、図示を省略しているが、ハード構成として、共通バッファ故障検出部３に設けることも可能である。
【００２４】
エラー判断Ｄは、図２の（Ｄ）に示すように、監視フラグ値制御Ｃによる所定時間経過の判定によるエラー判断のタイミング通知に従って、フラグカウンタのカウント値と設定値とを比較し（ｆｌｇ．ｃｎｔｒ＜設定値）、カウント値が設定値より小さい値の場合にエラー発生と判断する。このエラー発生判断によるエラー処理は、チェーン化の過程に於けるアドレスのエラー等による場合が多いから、共通バッファ１の使用可能単位領域数が極端に少なって、データのバッファリングが不可能となる前に、再起動等を適用することにより、以前の正常な状態に復帰させることができる。
【００２５】
なお、或る所定期間に、共通バッファ１の単位領域にデータを書込み、次の所定期間にそのデータを読出して空き単位領域とした場合、その単位領域は、１回使用したことになるが、フラグＦが１ビットの場合のデータ書込み時の監視フラグ値は、データ読出し時にはオーバーフローして元の監視フラグ値に戻っており、従って、その単位領域のフラグＦと監視フラグ値とは同一となっているから、フラグカウンタにはカウントされない状態となる。即ち、データの書込み、読出しが、異なる所定期間にまたがって行われた場合、フラグカウンタのカウント値は、単位領域の使用数を正確に示すものとはならない。しかし、共通バッファ１の単位領域の使用数の傾向を把握することができるから、フラグカウンタのカウント値と比較する設定値の選定により、共通バッファ１が正常か否かの判定は可能である。なお、データ書込み、読出しが、異なる所定期間にまたがって行われることが多い場合は、所定期間を長くするか、フラグＦを複数ビットにすることで、より正確な所定期間内の単位領域の使用数を把握できる。
【００２６】
又データ書込み、読出しに使用した単位領域対応のフラグＦを、監視フラグ値と同じくなるように更新すると共に、カウントすることにより、所定期間内で２回以上使用した場合も、所定期間内で使用した単位領域は１とするもので、所定期間毎のカウント値は、その所定期間内でデータの書込み、読出しに使用した単位領域数を示し、例えば、データを書込んでも、エラー等によりそのデータが残存した状態を継続する単位領域は、未使用単位領域とするから、所定期間毎のカウント値により、共通バッファ１の状態を判定することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施例１の説明図である。
【図２】本発明の実施例１の各部のフローチャートである。
【図３】従来例の説明図である。
【符号の説明】
【００２８】
１  共通バッファ
２  管理部
３  共通バッファ故障検出部
Ｆ  フラグ
ＦＩＦＯ１〜ＦＩＦＯｎ  データ格納領域
【図１】
0004772587.tif 000002
【図２】
0004772587.tif 000003
【図３】
0004772587.tif 000004