(57)【特許請求の範囲】
【請求項１】
入力されたデータから演算により誤り検出符号を生成する誤り検出符号生成手段を備える情報処理装置において、
予め設定した期間以上の期間、前記誤り検出符号生成手段への入力データが存在しない場合には、それ以前に入力されたデータに基づいて検査用データを生成し、前記誤り検出符号生成手段に当該検査用データを受け渡す検査用データ生成手段をさらに備えていることを特徴とする情報処理装置。
【請求項２】
入力データに対する誤り検出符号の期待値を記憶する期待値記憶部と、記憶されている期待値と前記誤り検出符号生成手段で生成された誤り検出符号とを比較する比較器とを備える請求項１記載の情報処理装置。
【請求項３】
前記検査用データ生成手段は、前記誤り検出符号生成手段に受け渡すデータ中のビットの０／１の出現確率が５０％に近づくよう検査用データの調整を行うことを特徴とする請求項１または２に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの通信時や保管時における誤り検出のための誤り検出符号を生成する手段を備える情報処理装置に関する。
【背景技術】
【０００２】
デジタルデータの送受信や格納データの書き込み、読み出し時のエラー（誤り）を検出する手法として、データにチェックサム等のデータ自体から算出可能な誤り検出符号を付加しておき、受信後や書き込み、読み出し後のデータから求めた誤り検出符号の値と付加されている符号とを比較する手法が知られている。
【０００３】
データ送受信における具体例を図８に示す。通信データ７０をチェックサム生成回路４に入力し（図８（ａ））、データのビット値を加算してその総和の下位ビットをチェックサム７１として通信データ７０に付加し（図８（ｂ））、受信した側では、チェックサム７１を除いた通信データ７０を取り出し、（図８（ｃ））、受信側のチェックサム生成回路４ａへと入力して、生成したチェックサム７１’を受信したチェックサム７１と比較する（図８（ｄ））。両者が一致しない場合に、データ通信に誤りが発生したと判定するものである。
【０００４】
しかしながら、誤り検出符号を生成する回路自体が故障して間違った誤り検出符号が付加されてしまうと、データ自体に誤りがないにもかかわらず、誤りがあると誤判定してしまう。そこでこうした誤り検出符号を生成する回路について故障判定を行う必要性がある。
【０００５】
このような回路の故障判定手法として、特許文献１に記載されているように検査パターンを演算装置に入力し、その出力値を検査パターンに対する期待値と比較することで演算回路の故障を検出する手法がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−３１９０５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、この手法では、検査パターンによっては、演算回路が故障している場合であっても出力値が期待値に偶然一致してしまう可能性がある。
【０００８】
そこで本発明は、誤り検出符号を生成する回路の故障検出確率をよりいっそう向上させることを可能とした情報処理装置を提供することを課題とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明にかかる情報処理装置は、入力されたデータから演算により誤り検出符号を生成する誤り検出符号生成手段を備える情報処理装置において、予め設定した期間以上の期間、誤り検出手段への入力データが存在しない場合には、それ以前に入力されたデータに基づいて検査用データを生成し、誤り検出符号生成手段に当該検査用データを受け渡す検査用データ生成手段をさらに備えていることを特徴とする。
【００１０】
入力データに対する誤り検出符号の期待値を記憶する期待値記憶部と、記憶されている期待値と誤り検出符号生成手段で生成された誤り検出符号とを比較する比較器とを備えるとよい。
【００１１】
検査用データ生成手段は、誤り検出符号生成手段に受け渡すデータ中のビットの０／１の出現確率が５０％に近づくよう検査用データの調整を行うとよい。
【発明の効果】
【００１２】
本発明によれば、予め定めた期間以上、誤り検出符号生成手段へのデータ入力がない空白状態が続いた場合には、それ以前のデータに基づいて新たな検査用データを作成して誤り検出手段で誤り検出符号を生成することにより、誤り検出符号生成手段の検証を行うための多様な検証データを取得することができる。この検証データを用いて検証を行うことで誤り検出符号生成手段の故障を早期に発見することができる。
【００１３】
誤り検出符号の期待値を記憶しておき、これと生成された誤り検出符号とを比較することで、誤り検出符号生成手段の故障を確実に把握することができる。
【００１４】
検査用データ生成の際に、誤り検出手段に受け渡すデータ中のビットの０／１の出現確率を５０％に近づくよう調整することで、網羅性の高い検査用データを生成して、誤り検出符号の生成回路の故障を早期に判定することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明にかかる情報処理装置の第１の実施形態を示すブロック構成図である。
【図２】図１の装置における誤り検出符号生成処理を示すフローチャートである。
【図３】図１の装置における処理における生成データ例を示す表である。
【図４】図３の処理の変形例である。
【図５】図１の装置において通信データ送信部に送られるデータ列の構成を示す図である。
【図６】本発明にかかる情報処理装置の第２の実施形態を示すブロック構成図である。
【図７】図６の装置における誤り検出符号生成処理を示すフローチャートである。
【図８】生成された通信データの送受信時の処理を示す図である。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照して本発明の好適な実施の形態について詳細に説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の参照番号を附し、重複する説明は省略する。
【００１７】
図１に、本発明にかかる情報処理装置１００の第１の実施形態のブロック構成を示す。ここでは、別途処理されたデータを他のシステムに送信する送信部のみを記す。なお、この送受信は、情報処理装置の外部の別の情報処理装置との送受信に限るものではなく、情報処理装置に接続される記憶装置等の外部機器、内蔵機器とのデータ送受信を含む。
【００１８】
この情報処理装置１００は、後述する検査データを生成し、検査用データ生成手段として機能する検証データ生成部１と、送信される通信生データを取得する通信生データ受信部２と、通信生データと検査データのいずれかを選択するデータ選択部３と、入力データから誤り検出符号であるチェックサムを生成し、誤り検出符号生成手段として機能するチェックサム生成部４と、通信データにチェックサムを付加して送信する通信データ送信部５とを備える。検証データ生成部１には、データの検証を行うデータ検証手段１０と、乱数を発生する乱数発生手段１１とを備えている。
【００１９】
この装置における誤り検出符号生成処理のフローチャートを図２に示す。この処理は検証データ生成部１を中心に所定のタイミングで繰り返し実行される。
【００２０】
最初に、通信生データ受信部２により通信生データを取得し、データ検証手段１０へ送る（ステップＳ１）。当該タイムステップで生データが存在するか否かを判定し（ステップＳ２）、生データがある場合には、ステップＳ３へと移行する。ステップＳ３では、データ検証手段１０が、過去の一定期間（所定期間）の生データのビット中の１の出現率を算出する。続いて、データ選択部３は、生データか検証用データかを区別するフラグ値に生データであることを示す０をセットしてデータをチェックサム生成部４へ受け渡す（ステップＳ４）。生データを受け取ったチェックサム生成部４は、チェックサム値を算出し（ステップＳ５）、生データ、フラグ値とともに通信データ送信部５へと受け渡し、通信データ送信部５は、受け取ったデータから通信データを生成して、データ送信を実行する（ステップＳ６）。送信データ７は、図５に示されるように通信データ本体７０にチェックサム７１とフラグ７２を付加したものとなる。受信側はフラグ７２を参照することで、生データか検証データかを判定することができる。
【００２１】
一方、生データがない場合には、ステップＳ７へと移行して、前回までのタイムステップで求めた過去の一定期間の生データのビット中の１の出現率に基づいて、乱数発生手段１１を用いて検査用データを生成し、データ選択部３へと送り、例えば、生データが記憶されるバッファに格納する。あわせて、データ選択部３は、生データか検証用データかを区別するフラグ値に検証用データであることを示す１をセットしてデータをチェックサム生成部４へ受け渡し（ステップＳ８）、ステップＳ５へと移行する。その後の処理は、生データが存在する場合と同様である。
【００２２】
ステップＳ７における検証用データの生成処理について、以下、具体例を挙げて説明する。図３は、データ生成を説明する表である。ここでは、通信される生データは、bit0からbit3までの４ビットのデータであり、タイムステップｔ１からｔ１０までのうち、ｔ６とｔ１０に通信データがないと仮定する（上段左の表参照）。
【００２３】
各段の中央の表は、時刻ｔ１からの累積での通信生データ中の各ビットの１の出現率を示している。例えば、ｔ５におけるbit0の累積１出現率は、それまでの通信データ中では、１が５回中３回出現しているため、６０％になる。同様に、bit2からbit4の出現率は０％，４０％、８０％となる。この累積は、直前のタイムステップｎ回分として行うほかに、ｎ回周期でリセットするようにしてもよい。いずれの場合でもｎを十分に大きくとることで、短期的なデータの偏在の影響を抑制することができる。
【００２４】
通信データが存在しない場合は、検証データ生成部で生成したデータを挿入する。挿入するデータの作成に際しては、各ビットの値は重み付け乱数により生成する。このとき、本例では、前回までのビット中の１出現率に応じた確率で０が発生するよう重み付けを行う。例えば、乱数発生手段１１は０から１の間の数値をランダムに発生するものとし、６０％の確率で０を発生したい場合には、０．６以下の乱数値が返された場合には、０を、０．６を超える乱数値が返された場合には、１をビットに挿入するようにすればよい。
【００２５】
具体的には、丸２に示すｔ５時点の１発生確率に応じて、丸３で示すｔ６時点の検証用データが挿入され、丸５に示すｔ９時点の１発生確率に応じて、丸６で示すｔ１０時点の検証用データが挿入される。これにより、丸４、丸７で示すようにｔ１０時点の１出現率は挿入前に比較していずれのビットも５０％に近づく。このように０／１の出現確率を５０％に近づけるよう調整することで、検証用データの網羅性が高まり、チェックサム生成部４の故障を早期、かつ、確実に判断することが容易になる。
【００２６】
この例では、挿入されるデータについて、０を発生する確率が５０％以上のときには、０が、５０％未満のときには１が各ビットに挿入されているが、重み付け乱数を使用した場合には、いずれかのビットに逆の値が挿入される場合もある。このように逆の値が挿入されることがあっても、長期的には累積の発生確率は５０％に収束していくことになる。
【００２７】
あるいは、図４に示されるように、１の出現確率が５０％以上の場合には、α％の確率で０を発生し、１の出現確率が５０％未満の場合には、（１００−α）％の確率で０を発生するようにする。ここで、αは５１〜９９に設定されるが、低い確率で設定すると、収束が遅くなり、高い確率で設定すると収束が早くなる反面、収束した数値が逆にはずれて発散する可能性があるため、６０程度が好ましい。
【００２８】
なお、ここでは、１の出現確率が５０％に近づくように検査データを作成しているが、出現確率が５０％以外の所定の確率（例えば、４０％や７０％等）に近づくように検査データを作成してもよい。
【００２９】
次に、本発明にかかる情報処理装置の第２の実施形態を、図６のブロック構成図を参照して説明する。この第２の実施形態の情報処理装置１０１は、第１の実施形態の情報処理装置１００に、チェックサム検証部６を追加したものである。このチェックサム検証部６は、と、比較器６１とを備えている。
【００３０】
具体的なチェックサム検証部６の処理を図７のフローチャートを参照して説明する。最初に、期待値記憶部６０から入力データに対応するチェックサム値の期待値を読み込む（ステップＳ１１）。次に、チェックサム生成部４で生成したチェックサム値とこの期待値とを比較器６１で比較する（ステップＳ１２）。両者が一致する場合は、チェックサム生成部４に異常はないと判定する（ステップＳ１３）、一方、両者が一致しない場合には、チェックサム生成部４に異常ありと判定する。このように、チェックサムの検証を行うことで、チェックサム生成部４の異常を早期に判定することが可能となる。
【００３１】
以上の説明では、誤り検出符号としてチェックサム値を用いる場合を例に説明したが、その他の誤り検出符号、例えば、パリティビット、巡回符号、ハッシュ関数等を用いる場合にも適用可能である。
【符号の説明】
【００３２】
１…検証データ生成部、２…通信生データ受信部、３…データ選択部、４…チェックサム生成部、４ａ…チェックサム生成回路、５…通信データ送信部、６…チェックサム検証部、１０…データ検証手段、１１…乱数発生手段、６０…期待値記憶部、６１…比較器、７０…通信データ、７０…通信データ本体、７１…チェックサム、７２…フラグ、１００、１０１…情報処理装置。
【図１】
0005589995.tif 000002
【図２】
0005589995.tif 000003
【図３】
0005589995.tif 000004
【図４】
0005589995.tif 000005
【図５】
0005589995.tif 000006
【図６】
0005589995.tif 000007
【図７】
0005589995.tif 000008
【図８】
0005589995.tif 000009