(57)【要約】【目的】不規則なタイミング及びデータサイズで使用されるバッファメモリの正常性を効率よく監視可能なことを課題とする。【構成】不規則に到来する可変長の主信号データを一時的に記憶して読出可能な所定サイズからなるバッファメモリ１０のメモリ監視装置において、主信号データのメモリアクセスに係る信号が所定時間以上存在しないことによりメモリアクセスの空き状態を検出する検出手段１と、該空き状態を検出した時点の主信号データの書込アドレスＷＡＤと読出アドレスＲＡＤとに基づきバッファメモリ１０の空き領域を求める演算手段２と、前記検出した空き状態の間に前記求めた空き領域に対してデータの書読検査を行う検査手段３とを備える。【選択図】　　図１
2004030037.tif 000002
【特許請求の範囲】
【請求項１】
不規則に到来する可変長の主信号データを一時的に記憶して読出可能な所定サイズからなるバッファメモリのメモリ監視装置において、
主信号データのメモリアクセスに係る信号が所定時間以上存在しないことによりメモリアクセスの空き状態を検出する検出手段と、
前記空き状態を検出した時点の主信号データの書込アドレスと読出アドレスとに基づきバッファメモリの空き領域を求める演算手段と、
前記検出した空き状態の間に前記求めた空き領域に対してデータの書読検査を行う検査手段とを備えることを特徴とするメモリ監視装置。
【請求項２】
検査手段は主信号データのアクセス要求が発生したことにより書読検査を停止することを特徴とする請求項１に記載のメモリ監視装置。
【請求項３】
不規則に到来する可変長の主信号データを一時的に記憶して読出可能な所定サイズからなるバッファメモリのメモリ監視方法において、
主信号データのメモリアクセスに係る信号が所定時間以上存在しないことによりメモリアクセスの空き状態を検出するステップと、
前記空き状態を検出した時点の主信号データの書込アドレスと読出アドレスとに基づきバッファメモリの空き領域を求めるステップと、
前記検出した空き状態の間に前記求めた空き領域に対してデータの書読検査を行うステップとを備えることを特徴とするメモリ監視方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はメモリ監視装置及び方法に関し、更に詳しくは、不規則に到来する可変長の主信号データを一時的に記憶して読出可能な所定サイズからなるバッファメモリのメモリ監視装置及び方法に関する。
【０００２】
【従来の技術】
例えば、ＳＴＭ多重伝送方式では、一定周期（１２５μｓ）のなかで、各チャネルの情報が一定のタイムスロット毎に割り当てられ、未使用チャネルの場合は、空のタイムスロットとして送信される。従って、クロック乗換えのためのバッファメモリに書き込むデータ容量も常に一定であり、この種のメモリの故障有／無は比較的容易に監視できる。
【０００３】
【発明が解決しようとする課題】
一方、イーサネット（Ｅｔｈｅｒｎｅｔ）等を利用したデータ（パケット）通信では、回線の未使用時に空データを送信することは無く、必要な時に必要な数のデータのみを送信する方式をとっている。このため、バッファメモリの使用態様も不規則なものとなり、常に使用される領域もあれば，比較的長い時間使用されない領域も存在する。常に使用される領域については、主信号データの書込、読出チェックによりその正常性を常時監視できるが、比較的長い時間使用されない領域については、その正常性が監視されないため、使用時になって障害検出され、しばしばシステムに障害を与えていた。
【０００４】
本発明は上記従来技術の問題点に鑑みなされたもので、その目的とする所は、不規則なタイミング及びデータサイズで使用されるバッファメモリの正常性を効率よく監視可能なメモリ監視装置及び方法を提供することにある。
【０００５】
【課題を解決するための手段】
上記の課題は例えば図１の構成により解決される。即ち、本発明（１）のメモリ監視装置は、不規則に到来する可変長の主信号データを一時的に記憶して読出可能な所定サイズからなるバッファメモリ１０のメモリ監視装置において、主信号データのメモリアクセスに係る信号が所定時間以上存在しないことによりメモリアクセスの空き状態を検出する検出手段１と、前記空き状態を検出した時点の主信号データの書込アドレスＷＡＤと読出アドレスＲＡＤとに基づきバッファメモリ１０の空き領域を求める演算手段２と、前記検出した空き状態の間に前記求めた空き領域に対してデータの書読検査を行う検査手段３とを備えるものである。
【０００６】
ここで、上記主信号データのメモリアクセスに係る信号には、データ毎のリード／ライト信号、又は各ブロックアクセスの先頭で発生するようなアクセス要求信号等が含まれる。
【０００７】
本発明（１）においては、不規則なタイミングで使用されるバッファメモリ１０であっても、そのメモリアクセスに係る信号が所定時間以上存在しないことを検出することで、その空き状態を容易かつ確実に検出できる。また、不規則なデータサイズで使用されるバッファメモリ１０であっても、前記空き状態を検出した時点の書込アドレスＷＡＤと読出アドレスＲＡＤとに基づき、バッファメモリ１０の空き領域を確実に求められる。そして、この空き領域は、主信号データの新たなメモリアクセスが発生するまでは変らない。そこで、検査手段３は、前記検出した空き状態の間に前記求めた空き領域に対してデータの書読検査を行う。
従って、本発明（１）によれば、不規則なタイミング及びデータサイズで使用されるバッファメモリ１０でも、常にその正常性を効率よく監視可能となる。
【０００８】
本発明（２）では、上記本発明（１）において、検査手段３は主信号データのアクセス要求が発生したことにより書読検査を停止する。従って、主信号データのアクセスには何らの邪魔にもならない。
【０００９】
また、本発明（１）のメモリ監視方法は、不規則に到来する可変長の主信号データを一時的に記憶して読出可能な所定サイズからなるバッファメモリのメモリ監視方法において、主信号データのメモリアクセスに係る信号が所定時間以上存在しないことによりメモリアクセスの空き状態を検出するステップと、前記空き状態を検出した時点の主信号データの書込アドレスと読出アドレスとに基づきバッファメモリの空き領域を求めるステップと、前記検出した空き状態の間に前記求めた空き領域に対してデータの書読検査を行うステップとを備えるものである。
【００１０】
【発明の実施の形態】
以下、添付図面に従って本発明に好適なる実施の形態を詳細に説明する。なお、全図を通して同一符号は同一又は相当部分を示すものとする。
【００１１】
図２は実施の形態によるデータ通信システムの構成を示す図で、本発明のギガビット・イーサネット・システムへの適用例を示している。図において、６０はノード、４０はギガビット・イーサネット（ＧｂＥ）の光インタフェースを行うＧｂＥＩ／Ｆ盤（１０００ＢＡＳＥ−ＳＸ／ＬＸ）、４１は受信データ（パケット）の書込制御部、１０は本発明によるメモリ監視機能を備えるバッファメモリ部，５１は送信データの読出制御部、５０はＧｂＥのパケットを多重して送信する２．４ＧＩ／Ｆ盤である。
【００１２】
ＧｂＥＩ／Ｆ盤４０では、受信信号のＭＡＣ終端後、受信データをＳＯＮＥＴのＳＴＳ−１２フレームにマッピングし、２．４ＧＩ／Ｆ盤５０へ送信する。このバッファメモリ部１０は、ＭＡＣフレームの終端後、ＳＴＳ−１２フレームへのマッピングの際に使用される。２．４ＧＩ／Ｆ盤５０では、ＳＴＳ−４８へのマッピングの後、２．４Ｇの光伝送を行う。
【００１３】
図３は実施の形態によるバッファメモリ部のブロック図で、図において、１０はバッファメモリ部、１１は主信号データを一時的に記憶するデュアルポートＲＡＭ（ＤＰＲＡＭ）、１２，１３はＤＰＲＡＭ１１へのアクセス（リード／ライト）信号の選択を行うセレクタ（ＳＬ）、１４は主信号データの書込カウンタ（ＷＣ）、１５は主信号データの読出カウンタ（ＲＣ）、１６はＤＰＲＡＭ１１の記憶容量を監視する容量監視部、１７は加算器（＋）、１８　は減算器（−）、１９　はデコーダ（ＤＥＣ）、ＦＦ　はフリップフロップ（ＦＦ）、Ａ　はＡＮＤゲート回路、３１はＤＰＲＡＭ１１の検査を行うＣＰＵ、３２はＣＰＵ３１が使用する主メモリ（ＭＭ）、３３はＣＰＵ３１の共通バス、４１は主信号データの書込制御部、５１は主信号データの読出制御部である。
【００１４】
セレクタ１２，１３は、通常は、主信号データの書込制御部４１及び読出制御部４２の側を選択しており、これにより、不規則に到来する可変長の主信号データは、一時的にＤＰＲＡＭ１１に記憶され、その後読み出される。即ち、書込制御部４１より書込データＷＤ及び書込パルスＸＷを加えると、ＤＰＲＡＭ１１はその時点の書込アドレスＷＡに書込データＷＤを書き込み、その後、書込カウンタ１４の書込アドレスＷＡＤは＋１される。一方、読出制御部４２より読出パルスＸＲを加えると、ＤＰＲＡＭ１１はその時点の読出アドレスＲＡより読出データＲＤを読み出し、その後、読出カウンタ１５の読出アドレスＲＡＤは＋１される。
【００１５】
容量監視部１６において、減算回路１８は、通常は、ＤＰＲＡＭ１１の有効蓄積データ数Ｄを、
Ｄ＝ＷＡＤ´−ＲＡＤ＝ＷＡＤ−ＲＡＤ
により求める。デコーダ１９は、蓄積データ数Ｄをデコードしており、Ｄ＝ＢＬ（バッファメモリサイズ）の場合はバッファフル信号ＢＦ＝１を出力し、またＤ＝０の場合はバッファエンプティー信号ＢＥ＝１を出力する。書込制御部４１は、ＢＦ＝１（バッファフル）の場合はそれ以上のデータ書込を停止し、また読出制御部４２は、ＢＥ＝１（バッファエンプティー）の場合はそれ以上のデータ読出を停止する。
【００１６】
書込カウンタ１４は、ＤＰＲＡＭ１１の最大アドレス（即ち、ＢＬ−１）へのデータ書込を行うとキャリー信号ＣＡＷを出力すると共にＷＡＤ＝０に戻る。ＦＦ　は、このキャリー信号ＣＡＷにより強制セットされ、オーバフロー信号ＯＶＦ＝１になる。即ち、ＤＰＲＡＭ１１へのデータ書込が一巡したことを表す。また、この状態では、加算器１７　はＷＡＤ´＝ＷＡＤ＋ＢＬの演算を行い、その結果、減算回路１８は、ＤＰＲＡＭ１１の有効蓄積データ数Ｄを、
Ｄ＝ＷＡＤ´−ＲＡＤ＝（ＷＡＤ＋ＢＬ）−ＲＡＤ
により求める。こうして、有効蓄積データ数Ｄは、ＤＰＲＡＭ１１へのデータ書込が一巡した状態でも正しく維持される。
【００１７】
その後、読出制御部４２からのデータ読出が進み、読出カウンタ１５は、ＤＰＲＡＭ１１の最大アドレス（即ち、ＢＬ−１）からのデータ読出を行うと、キャリー信号ＣＡＲを出力すると共にＲＡＤ＝０に戻る。ＦＦ　は、このキャリー信号ＣＡＲにより強制リセットされ、オーバフロー信号ＯＶＦ＝０になる。即ち、ＤＰＲＡＭ１１からのデータ読出も一巡したことを表す。また、この状態では、加算器１７　はＷＡＤ´＝ＷＡＤ＋０の演算を行うため、減算回路１８は、この時点のＤＰＲＡＭ１１の有効蓄積データ数Ｄを、
Ｄ＝ＷＡＤ´−ＲＡＤ＝ＷＡＤ−ＲＡＤ
により求める。こうして、常に正しい有効蓄積データ数Ｄが求められる。
【００１８】
この状態で、ＣＰＵ３１は、ＤＰＲＡＭ１１へのメモリアクセスの空き状態を監視しており、やがて，空き状態を検出すると、その空き時間を利用してＤＰＲＡＭ１１の空き領域に対するメモリ検査処理を行う。
【００１９】
図４，図５は実施の形態によるメモリ監視処理のフローチャート（１），（２）で、ＣＰＵ３１により実行される。また図６は実施の形態によるメモリ監視処理を説明するイメージ図であり、以下、これらの図を参照して、実施の形態によるメモリ検査処理を説明する。
【００２０】
図６（Ａ）にＤＰＲＡＭ１１の空き時間検出処理に係る一例のタイムチャートを示す。書込制御部４１からは任意タイミングに任意サイズの書込フレームデータＷＤ▲１▼〜▲５▼が到来しており、夫々はＤＰＲＡＭ１１に順次書き込まれる。その後、これらのデータは読出制御部４２の制御下で、例えば読出データＲＤ▲１▼〜▲５▼として読み出される。
【００２１】
このとき、本実施の形態では、書込制御部４１では各フレームデータの書込開始に同期（先行）して書込要求信号を発生し、また読出制御部４２では各フレームデータの読出開始に同期（先行）して読出要求信号を発生する。これらは、ＣＰＵ３１に対するアクセス要求信号となっており、ＣＰＵ３１がアクセス要求信号による割込を受付けると、図４のタイマリスタート処理に入力し、ＤＰＲＡＭ１１の空き状態を検出するためのタイマがリスタート（再起動）される。そして、やがて、ＤＰＲＡＭ１１へのアクセス要求が所定時間ＴＭ（例えば、システムの最大フレーム時間長＋所定の微小時間α）以上行われないと、タイマがタイムアウトし、ＤＰＲＡＭ１１の空き状態が検出される。これにより、図５のメモリ検査処理に割込入力し、このＤＰＲＡＭ１１の空き時間を利用して該ＤＰＲＡＭ１１の検査を行う。
【００２２】
図４はＤＰＲＡＭ１１の空き状態を検出するためのタイマリスタート処理を示しており、書込制御部４１からのフレームデータの書込要求又は読出制御部４２からのフレームデータの読出要求があるとこの処理に割込入力する。ステップＳ１１では、その後の主信号データのリード／ライトに備えて、セレクタ１２，１３を主信号データ側に接続する。ステップＳ１２ではこの割込処理を終えた（抜ける）時のプログラムの戻り先アドレスを調整する。即ち、通常、このＲ／Ｗ割込が発生する前は、図５のメモリ検査処理を繰り返し実行しているため、そのままでは、この割込処理の終了後に図５のメモリ検査を再開してしまうことになるが、上記ステップＳ１２で戻り先アドレスを他の処理のアドレスに調整するため、これ以降はメモリ検査処理を行わなくなる。即ち、Ｒ／Ｗ割込が発生した以降は、専ら、書込制御部４１及び又は読出制御部４２からのメモリアクセスが行われることになる。ステップＳ１３ではＣＰＵ３１内のタイマ（不図示）をリスタートし、この処理を抜ける。
【００２３】
図５はメモリ検査処理を示しており、上記タイマがタイムアウトするとこの処理に割込入力する。ステップＳ２０では、その後のメモリ検査用データのリード／ライトに備えて、セレクタ１２，１３をＣＰＵ３１の側に接続する。ステップＳ２１では現時点の書込アドレスＷＡＤ及び読出アドレスＲＡＤを取得する。ステップＳ２２ではＷＡＤ≧ＲＡＤ（即ち、ＯＶＦ＝０）か否かを判別し、ＹＥＳ（ＯＶＦ＝０）の場合はステップＳ２３でＤＰＲＡＭ１１の空き領域のサイズＫを、
Ｋ＝（ＬＭ−ＷＡＤ＋１）＋ＲＡＤ
により求める。
【００２４】
図６（Ｂ）にＷＡＤ≧ＲＡＤの場合のメモリの空き領域の具体的なイメージを示す。但し、ＬＭ＝７の場合を示す。今、次データの書込アドレスＷＡＤ＝５、次データの読出アドレスＲＡＤ＝３とすると、メモリアドレスＡＤＤ＝３．４の各データＤ３，Ｄ４が有効データであり、それ以外の領域は空きである。空き領域のサイズＫは、
Ｋ＝（７−５＋１）＋３＝６
であり、該空き領域の内訳はＡＤＤ＝５〜７及びＡＤＤ＝０〜２の合計６となる。
【００２５】
また上記ステップＳ２２の判別がＮＯ（ＯＶＦ＝１）の場合はステップＳ２４でＤＰＲＡＭ１１の空き領域のサイズＫを、
Ｋ＝ＲＡＤ−ＷＡＤ
により求める。
【００２６】
図６（Ｃ）にＷＡＤ＜ＲＡＤの場合のメモリの空き領域の具体的なイメージを示す。今、次データの書込アドレスＷＡＤ＝３、次データの読出アドレスＲＡＤ＝５とすると、メモリアドレスＡＤＤ＝５〜７及びＡＤＤ＝０〜２の各データＤ５〜Ｄ７及びＤ８〜Ｄ１０が有効データであり、それ以外の領域は空きである。空き領域のサイズＫは、
Ｋ＝５−３＝２
であり、該空き領域の内訳はＡＤＤ＝３，４の２つとなる。
【００２７】
ステップＳ２５では、モードフラグＦ＝０（書込モード）に初期化する。ステップＳ２６ではデータ数カウンタＩ＝０に初期化する。ステップＳ２７では、モードフラグＦ＝０か否かを判別し、最初はＦ＝０（書込モード）であるので、ステップＳ９に進み、その時点における空き領域の最初のアドレスＷＡＤに検査用データＣ０を書き込む。これにより、空き領域のうち、次に主信号データの書込対象となる部分を他の領域に優先してテスト可能となる。
【００２８】
この検査用データとしては、予め設定（用意）した、又は任意の規則で生成するデータを使用できる。例えば、メモリ１１の隣り合うアドレス間で互いに相関の無いような擬似ランダム（ＰＮ：Ｐｓｅｕｄｏ−ｒａｎｄｏｍ　Ｎｏｉｓｅ）符号データを生成し、これに垂直パリティービットを付加して検査用データとする。更には、所定数のデータ毎に水平パリティービットを付加しても良い。又は水平パリティービットに代えてＣＲＣ検査ビットを付加しても良い。
【００２９】
ステップＳ３２ではカウンタＩに＋１し、ステップＳ３３ではＩ＝Ｋ（空き領域サイズ）か否かを判別する。Ｉ＜Ｋの場合はステップＳ２７に戻り、次のアドレスに次のデータＣ１を書き込む。以下、同様にして進み、やがて、ステップＳ３３の判別でＩ＝Ｋになると、ステップＳ３４ではモードフラグＦに＋１し、その最下位ビット（＝１）を抽出して、これを新たなモードフラグＦ＝１（読出モード）とする。そして、ステップ２６に戻る。即ち、今度は上記空き領域に書き込んだ検査用データの読み出しチェックを行う。
【００３０】
即ち、ステップＳ２７の判別ではＦ＝１（読出モード）になるため、ステップＳ２８に進み、空き領域の最初の検査用データＣ０から読み出し、検査を行う。これにより、空き領域のうち、次に主信号データの書読対象となる部分を他の領域に優先して検査可能となる。この検査としては、例えば垂直パリティーの検査を行う。更には、所定数のデータ毎に水平パリティーの検査を行う。又は水平パリティーの検査に代えて、ＣＲＣの検査を行う。又は既知の所定パターンの書込データと比較をするような検査を行っても良い。
【００３１】
ステップＳ３０では検査結果がエラーか否かを判別し、エラーの場合はステップＳ３１でエラーの内容（エラーアドレス、エラーデータ等）をＭＭ３２に記録する。またエラーでない場合はステップＳ３１の処理をスキップする。以後の処理は、上記データ書込処理の場合と同様である。
【００３２】
そして、やがて、ステップＳ３３の判別でＩ＝Ｋになると、ステップＳ３４ではモードフラグＦに＋１（ｍｏｄ２の加算）を行い、再び検査用データの書込モード（Ｆ＝０）になる。こうして、メモリ１１が空き状態である間は、該メモリ１１の空き領域に対するデータ書込／読出の検査を繰り返し行う。
【００３３】
そして、やがて、書込制御部４１又は読出制御部４２からのブロックアクセスの要求信号が発生すると、その時点でメモリの検査処理を中断する。但し、それまでの検査結果はＭＭ３２に記録されており、これに基づきＤＰＲＡＭ１１の正常／異常を判断できる。
【００３４】
なお、上記実施の形態では、ＤＰＲＡＭ１１における空き領域サイズＫ分のリードアフタライトテストを交互に繰り返す場合を述べた（図５のステップＳ３３参照）が、これに限らない。例えば、上記領域サイズＫに代えて、主信号データの１ブロックサイズＢ（≦Ｋ）分のリードアフタライトテストを交互に行うように構成しても良い。こうすれば、空き領域のうち、次に主信号データの書読対象となるブロック領域部分を他の領域に優先して効率良くリードアフタライトテスト可能となる。
【００３５】
また、上記実施の形態では、バッファメモリ部１０にデュアルポートＲＡＭ（ＤＰＲＡＭ）１１を用いたが、これに限らない。通常のＲＡＭを使用しても同様のバッファメモリ機能を実現できる。
【００３６】
また、上記実施の形態ではＣＰＵ３１に内蔵のタイマ（不図示）が時間ＴＭ（システムの最大フレーム時間長＋所定微小時間α）を計数すると共に、該タイマが書込制御部４１又は読出制御部４２からのブロックアクセスの要求信号によりリスタートされる場合を述べたが、これに限らない。タイマは、例えば書込パルス信号及び読出パルス信号によりリスタートされると共に、これらの各パルス信号間隔を計測し、所定の最大間隔ＴＭ’を超える場合はタイムアウトするように構成しても良い。その場合の空き状態検出のタイミングチャートを図６（Ａ）の下端に付記する。また、図示しないが、このようなタイマはハードウェアにより構成できる。
【００３７】
また、上記実施の形態では、ＤＰＲＡＭ１１の検査をＣＰＵ３１（ソフトウェア）により実現したが、これに限らない。同様の検査機能をハードウェア構成で実現しても良い。
【００３８】
また、上記本発明に好適なる実施の形態を述べたが、本発明思想を逸脱しない範囲内で各部の構成、制御、処理及びこれらの組み合わせの様々な変更が行えることは言うまでも無い。
【００３９】
【発明の効果】
以上述べた如く本発明によれば、不規則なタイミング及びデータサイズで使用されるバッファメモリの正常性を効率よく適正に監視可能となり、よって、バッファメモリを使用する主信号データの信頼性向上に付与するところが極めて大きい。
【図面の簡単な説明】
【図１】本発明の原理を説明する図である。
【図２】実施の形態によるデータ通信システムの構成を示す図　である。
【図３】実施の形態によるバッファメモリ部のブロック図である。
【図４】実施の形態によるメモリ監視処理のフローチャート（１）である。
【図５】実施の形態によるメモリ監視処理のフローチャート（２）である。
【図６】実施の形態によるメモリ監視処理を説明する図である。
【符号の説明】
１０　バッファメモリ部
１１　デュアルポートＲＡＭ（ＤＰＲＡＭ）
１２，１３　セレクタ（ＳＥＬ）
１４　書込カウンタ（ＷＣ）
１５　読出カウンタ（ＲＣ）
１６　容量監視部
１７　加算器
１８　　減算器
１９　　デコーダ（ＤＥＣ）
３１　ＣＰＵ
３２　主メモリ（ＭＭ）
３３　共通バス
４１　書込制御部
５１　読出制御部
【図１】
2004030037.tif 000003
【図２】
2004030037.tif 000004
【図３】
2004030037.tif 000005
【図４】
2004030037.tif 000006
【図５】
2004030037.tif 000007
【図６】
2004030037.tif 000008