(57)【要約】【課題】メモリの故障に伴いアドレス制御に問題が生じた場合にもエラーを検出することである。【解決手段】エラー検出装置１０は、書込みデータ変換部１３と読出しデータ変換部１６と誤り判定符号チェック部１７とを有する。書込みデータ変換部１３は、異なるエラー検出ルールがメモリ１１内のアドレスに対応付けて適用された誤り判定符号をデータに付加し、上記データを上記アドレスに書き込む。読出しデータ変換部１６は、メモリ１１から上記データを読み出す。誤り判定符号チェック部１７は、読出しデータ変換部１６により読み出された上記データに付加された上記誤り判定符号を用いて、エラー発生の有無を判定する。【選択図】図２
2016042218.tif 000002
【特許請求の範囲】
【請求項１】
異なるエラー検出ルールが格納部内のアドレスに対応付けて適用された誤り判定符号をデータに付加し、前記データを前記アドレスに書き込む書込み部と、
前記格納部から前記データを読み出す読出し部と、
前記読出し部により読み出された前記データに付加された前記誤り判定符号を用いて、エラー発生の有無を判定する判定部と
を有することを特徴とするエラー検出装置。
【請求項２】
前記判定部は、前記書込み部により前記データに付加された誤り判定符号と、前記読出し部により読み出されたデータから所定のエラー検出ルールにより生成された誤り判定符号とを比較し、該比較の結果に基づき、前記エラー発生の有無を判定することを特徴とする請求項１に記載のエラー検出装置。
【請求項３】
前記書込み部は、前記データの書込み先のアドレスが偶数アドレスの場合には、前記データに奇数パリティを付加し、前記データの書込み先のアドレスが奇数アドレスの場合には、前記データに偶数パリティを付加し、
前記判定部は、前記偶数アドレスのデータに対し、奇数パリティによるエラー検出ルールを適用して前記エラー発生の有無を判定すると共に、前記奇数アドレスのデータに対し、偶数パリティによるエラー検出ルールを適用して前記エラー発生の有無を判定することを特徴とする請求項１に記載のエラー検出装置。
【請求項４】
前記誤り判定符号は、パリティであり、
前記格納部は、前記パリティの付加された前記データをソフトウェアから書込み可能なテーブルを有することを特徴とする請求項１に記載のエラー検出装置。
【請求項５】
前記書込み部は、前記データの書込み先のアドレスが偶数アドレスの場合には、ＥＣＣ（Error  Check  and  Correct）コードを前記データに付加し、前記データの書込み先のアドレスが奇数アドレスの場合には、パリティビットを反転させたＥＣＣコードを前記データに付加することを特徴とする請求項１に記載のエラー検出装置。
【請求項６】
前記書込み部は、前記データの書込み先のアドレスが偶数アドレスの場合には、ＥＣＣ（Error  Check  and  Correct）コードを前記データに付加し、前記データの書込み先のアドレスが奇数アドレスの場合には、ハミング符号の下位２ビットを反転させたＥＣＣコードを前記データに付加することを特徴とする請求項１に記載のエラー検出装置。
【請求項７】
前記書込み部は、前記データの書込み先のアドレスが偶数アドレスの場合には、ＥＣＣ（Error  Check  and  Correct）コードを前記データに付加し、前記データの書込み先のアドレスが奇数アドレスの場合には、ＭＳＢ（Most  Significant  Bit）とＬＳＢ（Least  Significant  Bit）とを逆にしたＥＣＣコードを前記データに付加することを特徴とする請求項１に記載のエラー検出装置。
【請求項８】
前記誤り判定符号は、ＥＣＣ（Error  Check  and  Correct）コードであり、
前記格納部は、前記ＥＣＣコードの付加された前記データをソフトウェアから書込み可能なテーブルを有することを特徴とする請求項１に記載のエラー検出装置。
【請求項９】
前記誤り判定符号は、ハミング符号の下位ビット数が３ビット以上のＥＣＣコードであることを特徴とする請求項８に記載のエラー検出装置。
【請求項１０】
エラー検出装置が、
異なるエラー検出ルールが格納部内のアドレスに対応付けて適用された誤り判定符号をデータに付加し、前記データを前記アドレスに書き込み、
前記格納部から前記データを読み出し、
読み出された前記データに付加された前記誤り判定符号を用いて、エラー発生の有無を判定する
ことを特徴とするエラー検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エラー検出装置及びエラー検出方法に関する。
【背景技術】
【０００２】
従来、パケット等のデータを受信して送信するエラー検出装置では、基準クロックから個別クロックへの変換、スケジューリング、経路の決定に際し、メモリが使用される。エラー検出装置がメモリを使用する場合、メモリへのデータ書込みとメモリからのデータ読出しとが正常に行われていることを確認するため、データに対し、パリティ等の誤り判定符号を付加する。
【０００３】
エラー検出装置は、メモリとしてＦＩＦＯ（First  In  First  Out）を使用する場合、書込み用と読出し用の２つのポートを有する。エラー検出装置は、データを書き込む際、書込みデータの値を参照して誤り判定符号を生成し、書込みデータと誤り判定符号とを同一アドレスに書き込む。一方、データを読み出す際、エラー検出装置は、読出しデータの値を参照して誤り判定符号を生成した後、該誤り判定符号と、書込み時に生成された上記誤り判定符号とを比較する。これにより、エラー検出装置は、メモリから読み出されたデータに誤りが有るか否かを判定し、有る場合にはエラーとして検出する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−２０２９６３号公報
【特許文献２】特開平１０−１３５９６１号公報
【特許文献３】特開平５−２６５８６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した技術は、メモリへの書込みやメモリからの読出しが可能であることを前提としていることから、以下の様な問題点があった。すなわち、通信中に、データの書込みや読出しができないといったメモリ故障が発生した場合、エラー検出装置は、データに対する誤り判定を正常に行うことができない。例えば、書込み回路が破損して書込みができなくなった場合、過去に書き込まれたデータがメモリから読み出されることになるが、読み出されたデータには誤り判定符号が正しく付加されているため、エラーは検出されない。一方、読出し回路が破損して読出しができなくなった場合、直前に読み出された別アドレスのデータが誤り判定の対象となるが、該データには誤り判定符号が正しく付加されているため、同様にエラーは検出されない。
【０００６】
一つの側面では、メモリの故障に伴いアドレス制御に問題が生じた場合にもエラーを検出することのできるエラー検出装置及びエラー検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの態様では、前記エラー検出装置は、書込み部と読出し部と判定部とを有する。前記書込み部は、異なるエラー検出ルールが格納部内のアドレスに対応付けて適用された誤り判定符号をデータに付加し、前記データを前記アドレスに書き込む。前記読出し部は、前記格納部から前記データを読み出す。前記判定部は、前記読出し部により読み出された前記データに付加された前記誤り判定符号を用いて、エラー発生の有無を判定する。
【発明の効果】
【０００８】
一つの態様では、メモリの故障に伴いアドレス制御に問題が生じた場合にもエラーを検出することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施例に係る通信装置の構成を示す図である。
【図２】図２は、本実施例に係るエラー検出装置の構成を示す図である。
【図３Ａ】図３Ａは、従来例における通常時の動作を示すタイムチャートである。
【図３Ｂ】図３Ｂは、本実施例における通常時の動作を示すタイムチャートである。
【図４Ａ】図４Ａは、従来例における読出し故障発生時の動作を示すタイムチャートである。
【図４Ｂ】図４Ｂは、本実施例における読出し故障発生時の動作を示すタイムチャートである。
【図５Ａ】図５Ａは、従来例における特定アドレスからの読出し故障発生時の動作を示すタイムチャートである。
【図５Ｂ】図５Ｂは、本実施例における特定アドレスからの読出し故障発生時の動作を示すタイムチャートである。
【図６】図６は、変形例１に係るエラー検出装置の構成を示す図である。
【図７】図７は、変形例２に係るエラー検出装置の構成を示す図である。
【図８】図８は、変形例３に係るエラー検出装置の構成を示す図である。
【図９】図９は、変形例４に係るエラー検出装置の構成を示す図である。
【図１０】図１０は、変形例５に係るエラー検出装置の構成を示す図である。
【図１１】図１１は、変形例６に係るエラー検出装置の構成を示す図である。
【図１２】図１２は、変形例７に係るエラー検出装置の構成を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示するエラー検出装置及びエラー検出方法の実施例を、図面を参照しながら詳細に説明する。なお、以下の実施例により本願の開示するエラー検出装置及びエラー検出方法が限定されるものではない。
【００１１】
まず、本願の開示する一実施例に係るエラー検出装置を適用した通信装置について説明する。図１は、本実施例に係る通信装置１の構成を示す図である。図１に示す様に、通信装置１は、インタフェース盤２とスイッチ盤３とを有する。これら各構成部分は、一方向又は双方向に、信号やデータの入出力が可能な様に接続されている。
【００１２】
インタフェース盤２は、ＯＥ（Optical  to  Electrical）変換部２ａとフレーム終端部２ｂとバックプレッシャ部２ｃと一時保持部２ｄとスケジューリング部２ｅとクロック乗換部２ｆとＳＥＲＤＥＳ２ｇとクロック乗換部２ｈと一時保持部２ｉとフレーム付与部２ｊとＥＯ（Electrical  to  Optical）変換部２ｋとを有する。これら各構成部分は、一方向又は双方向に、信号やデータの入出力が可能な様に接続されている。
【００１３】
インタフェース盤２は、受信されたパケットデータをＯＥ変換部２ａにより電気信号に変換した後、フレーム終端部２ｂにより終端する。バックプレッシャ部２ｃから帯域制御情報が通知されている場合、フレーム終端部２ｂから出力されたパケットデータは、一時保持部２ｄに保持された後、スケジューリング部２ｅによるスケジューリング結果に従い、クロック乗換部２ｆに入力される。スケジューリングは、例えばＯＨ（OverHead）の情報や過去の出力状況を基に、パケットデータの優先判定を行う処理である。クロック乗換部２ｆは、入力データから抽出されたクロックから、通信装置１側で生成されたクロック（内部クロック）へ、動作クロックを変換する。その後、パケットデータは、ＳＥＲＤＥＳ（SERializer／DESerializer）２ｇにより、スイッチ盤３に高速転送される。
【００１４】
なお、インタフェース盤２に入力されるデータは、パケットデータに限らず、ＯＴＮ（Optical  Transport  Network）やＳＯＮＥＴ（Synchronous  Optical  NETwork）等のフレームデータであってもよい。
【００１５】
インタフェース盤２は、パケットデータの送信時には、パケットデータの受信時とは逆の順序で、同様の処理を行う。すなわち、ＳＥＲＤＥＳ２ｇから出力されたパケットデータは、クロック乗換部２ｈによるクロック乗換えを経て、一時保持部２ｉに一旦保持される。その後、パケットデータは、フレーム付与部２ｊによりＯＨ等を付与され、ＥＯ変換部２ｋにより光信号に変換されて、外部の装置宛に送信される。
【００１６】
スイッチ盤３は、ＳＥＲＤＥＳ３ａとクロック乗換部３ｂと一時保持部３ｃとクロック乗換部３ｄと方路設定テーブル３ｅとＳＥＲＤＥＳ３ｆとクロック乗換部３ｇとクロック乗換部３ｈとを有する。これら各構成部分は、一方向又は双方向に、信号やデータの入出力が可能な様に接続されている。
【００１７】
スイッチ盤３は、インタフェース盤２から高速転送されてきたパケットデータの方路を切り替えて、別のインタフェース盤２から、外部装置宛に送信する。スイッチ盤３は、ＳＥＲＤＥＳ３ａによりパケットデータを受信すると、クロック乗換部３ｂにより、基準クロックとのクロック乗換えを行い、一時保持部３ｃにパケットデータを一旦保持させた後、スケジューリング部３ｉによるスケジューリング結果に従い、クロック乗換部３ｄ、または、クロック乗換部３ｈに入力させる。クロック乗換部３ｄ、３ｈは、基準クロックからＳＥＲＤＥＳ３ａ、３ｆ送信クロックへの乗換えを行う。送信時には反対に、スイッチ盤３は、クロック乗換部３ｄによるクロック乗換えを行う。また、スイッチ盤３は、方路設定テーブル３ｅを参照し、パケットデータのＯＨ（OverHead）値に対応する方路（出力先）の情報を取得する。スケジューリング部３ｉは、方路設定テーブル３ｅから得た方路情報から、出力先毎にスケジューリングを行う。
【００１８】
なお、スイッチ盤３のＳＥＲＤＥＳ３ｆ、クロック乗換部３ｇ、３ｈは、上述したＳＥＲＤＥＳ３ａ、クロック乗換部３ｂ、３ｄと、それぞれ同様の構成要素であるので、その詳細な説明は省略する。
【００１９】
以上、通信装置１の構成を説明したが、図１の斜線を施したブロックの処理にメモリが使用される。例えば、一時保持部２ｄ、２ｉ、３ｃやクロック乗換部２ｆ、２ｈ、３ｂ、３ｄ、３ｇ、３ｈでは、パケットデータ自体を格納するためにメモリが使用される。また、スケジューリング部２ｅでは、一時的に保持されているパケットの格納先を示す情報を格納するためにメモリが使用される。また、方路設定テーブル３ｅでは、膨大な方路情報を格納するためにメモリが使用される。
【００２０】
上述した通信装置１では、近年の高速化に対応するため、高密度化が進んでおり、メモリ等のハードウェア障害が他の構成部分に与える影響も増大しつつある。また、通信装置１が、メモリを構成する書込み回路や読出し回路の破損が発生した際に、警報を発することなく異常状態に陥り、原因究明に多大な時間や費用を投じる事例も発生している。このため、特に通信装置においては、後述するエラー検出装置により、メモリの書込みと読出しとが正常に行われていないこと（エラー）を正確かつ迅速に検出することが重要である。
【００２１】
次に、本願の開示する一実施例に係るエラー検出装置の構成を説明する。図２は、本実施例に係るエラー検出装置１０の構成を示す図である。図２に示す様に、エラー検出装置１０は、データ（例えば、パケットデータ）を保持するメモリ１１と、データ書込み用のＡポートと、データ読出し用のＢポートとを有する。エラー検出装置１０は、Ａポート側に、誤り判定符号生成部１２と書込みデータ変換部１３と書込みアドレス生成部１４とデータ定義切替え制御部１５とを有する。エラー検出装置１０は、Ｂポート側に、読出しデータ変換部１６と誤り判定符号チェック部１７とデータ定義切替え制御部１８と読出しアドレス生成部１９とを有する。これら各構成部分は、一方向又は双方向に、信号やデータの入出力が可能な様に接続されている。
【００２２】
メモリ１１は、書込みデータ変換部１３から入力されたデータを一時的に保持し、読出しデータ変換部１６に出力する。誤り判定符号生成部１２は、入力された書込みデータから、誤り判定符号を生成する。書込みデータ変換部１３は、セレクタ１３ａを有し、データ定義切替え制御部１５からの制御信号に従い、パリティの定義（エラー検出ルール）を切り替える。例えば、上記制御信号が“０”である場合、書込みデータ変換部１３は、書込み先アドレスが偶数アドレスの時にパリティ定義を奇数パリティとし、奇数アドレスの時にパリティ定義を偶数パリティとする。これに対し、上記制御信号が“１”である場合、書込みデータ変換部１３は、書込み先アドレスが偶数アドレスの時にパリティ定義を偶数パリティとし、奇数アドレスの時にパリティ定義を奇数パリティとする。
【００２３】
書込みアドレス生成部１４は、データの書込み先となるメモリ１１内アドレスを生成する。データ定義切替え制御部１５は、書込みアドレスがフルカウント値となったことを契機として、切替指示信号を反転させ、反転後の切替指示信号と書込みアドレスのＬＳＢ（Least  Significant  Bit）との排他的論理和を、制御信号として書込みデータ変換部１３に出力する。データ定義切替え制御部１５は、上記制御信号を書込みアドレス毎に切り替える制御を行う。
【００２４】
データ定義切替え制御部１５は、デコード部１５ａとＦＦ（Flip−Flop）部１５ｂとＸＯＲ部１５ｃとを有する。デコード部１５ａは、書込みアドレス生成部１４の生成した書込みアドレスが最大値となったことを検出する。ＦＦ部１５ｂは、デコード部１５ａが上記最大値を検出する毎に、値を“０”から“１”または“１”から“０”に変化させ、その状態を維持する。ＸＯＲ部１５ｃは、排他的論理和回路であり、上記書込みアドレスの最下位アドレス値とＦＦ部１５ｂからの出力値（上記“０”または“１”）とが一致する場合には、“０”を出力し、不一致の場合には、“１”を出力する。なお、上記書込みアドレスの最下位アドレス値では、“０”は偶数アドレスを示し、“１”は奇数アドレスを示す。
【００２５】
読出しデータ変換部１６は、セレクタ１６ａを有し、データ定義切替え制御部１８からの制御信号に従い、パリティの定義を切り替える。例えば、上記制御信号が“０”である場合、読出しデータ変換部１６は、読出し元アドレスが偶数アドレスの時にパリティ定義を奇数パリティとし、奇数アドレスの時にパリティ定義を偶数パリティとする。これに対し、上記制御信号が“１”である場合、読出しデータ変換部１６は、読出し元アドレスが偶数アドレスの時にパリティ定義を偶数パリティとし、奇数アドレスの時にパリティ定義を奇数パリティとする。誤り判定符号チェック部１７は、読出しデータと誤り判定符号との関係が書込み時と同一であるか否かをチェック（誤り判定）し、異なる場合にはエラーを検出する。
【００２６】
データ定義切替え制御部１８は、読出しアドレスがフルカウント値となったことを契機として、ＦＦ部１５ｂから出力される上記切替指示信号を入力し、該切替指示信号と読出しアドレスのＬＳＢとの排他的論理和を、制御信号として読出しデータ変換部１６に出力する。データ定義切替え制御部１８は、上記制御信号を読出しアドレス毎に切り替える制御を行う。
【００２７】
データ定義切替え制御部１８は、デコード部１８ａとＦＦ部１８ｂとＸＯＲ部１８ｃとを有する。デコード部１８ａは、読出しアドレス生成部１９の生成した読出しアドレスが最大値となったことを検出する。ＦＦ部１８ｂは、デコード部１８ａが上記最大値を検出する毎に、データ定義切替え制御部１５からの切替指示信号を入力し、その状態を維持する。ＸＯＲ部１８ｃは、排他的論理和回路であり、上記読出しアドレスの最下位アドレス値とＦＦ部１８ｂからの出力値（上記“０”または“１”）とが一致する場合には、“０”を出力し、不一致の場合には、“１”を出力する。なお、上記読出しアドレスの最下位アドレス値では、“０”は偶数アドレスを示し、“１”は奇数アドレスを示す。
【００２８】
読出しアドレス生成部１９は、データの読出し元となるメモリ１１内アドレスを生成する。
【００２９】
次に、本実施例に係るエラー検出装置１０に対し、誤り判定符号としてパリティを適用した場合を例に採り、エラー検出装置１０の動作を、従来例と比較しながら説明する。説明の前提として、従来例における奇数パリティと偶数パリティとの切替え条件は、本実施例と同様に、アドレスが一周したこととする。また、データの属性として、８ビット幅かつＡＬＬ０固定を想定し、アドレスとして“０”〜“７”を想定する。
【００３０】
図３Ａは、従来例における通常時の動作を示すタイムチャートである。図３Ａに示す様に、書込みアドレスと読出しアドレスとは共に３ビットであり、書込みデータと読出しデータとは共に８ビットである。また、書込みアドレスが一周したことに伴い、制御信号により、書込みパリティが、奇数から偶数または偶数から奇数に切り替えられる。同様に、読出しアドレスが一周したことに伴い、制御信号により、読出しパリティが、奇数から偶数または偶数から奇数に切り替えられる。この時点では、エラーが発生していないため、パリティエラーは“０”の状態を維持する。
【００３１】
図３Ｂは、本実施例における通常時の動作を示すタイムチャートである。図３Ｂに示す様に、本実施例に係るタイムチャートでは、従来例と異なり、書込みアドレスが奇数であるか偶数であるかによって、書込みパリティが異なる値に設定されている。また、読出しパリティに関しても同様に、読出しアドレスが奇数であるか偶数であるかによって、異なる値が設定されている。しかしながら、この時点では、未だエラーが発生していないため、パリティエラーは、従来例と同様に“０”の状態を維持する。
【００３２】
例えば、制御信号が“０”である場合、図３Ａに示す従来例では、書込み先アドレスが偶数アドレス（例えば、０、２、４、６）であるか奇数アドレス（例えば、１、３、５、７）であるかに拘らず、パリティ定義（エラー検出ルール）は奇数パリティである。これに対し、図３Ｂに示す本実施例では、書込み先アドレスが偶数アドレスの時、パリティ定義は奇数パリティであるが、書込み先アドレスが奇数アドレスの時、パリティ定義は偶数パリティである。一方、上記制御信号が“１”である場合、書込み先アドレスが偶数アドレスの時、パリティ定義は偶数パリティであるが、書込み先アドレスが奇数アドレスの時、パリティ定義は奇数パリティである。すなわち、書込み先アドレスに対応してエラー検出ルールが異なる様に、書込みパリティが定義されている。
【００３３】
読出しについても同様に、例えば、制御信号が“０”である場合、図３Ａに示す従来例では、読出し元アドレスが偶数アドレス（例えば、０、２、４、６）であるか奇数アドレス（例えば、１、３、５、７）であるかに拘らず、パリティ定義（エラー検出ルール）は奇数パリティである。これに対し、図３Ｂに示す本実施例では、読出し元アドレスが偶数アドレスの時、パリティ定義は奇数パリティであるが、読出し元アドレスが奇数アドレスの時、パリティ定義は偶数パリティである。一方、上記制御信号が“１”である場合、読出し元アドレスが偶数アドレスの時、パリティ定義は偶数パリティであるが、読出し元アドレスが奇数アドレスの時、パリティ定義は奇数パリティである。すなわち、読出し元アドレスに対応してエラー検出ルールが異なる様に、読出しパリティが定義されている。
【００３４】
図４Ａは、従来例における読出し故障発生時の動作を示すタイムチャートである。なお、図４Ａにおいて、読出しアドレスに付された斜線部分（ハッチング）は、読出し回路の破損等により、読出しのできなくなったアドレスを示す。図４Ａに示す様に、３つ目のデータの読出しアドレス“２”以降の読出しができなくなったことに伴い、後続するデータの先頭アドレス“０”のタイミング（切替えタイミング）ｔ１において、最初のパリティエラーが検出される。すなわち、図４Ａに示す従来例では、読出しができなくなる故障が発生しても、制御信号が“１”から“０”に変化するタイミングｔ１までは、エラーは検出されない。
【００３５】
図４Ｂは、本実施例における読出し故障発生時の動作を示すタイムチャートである。なお、図４Ｂにおいて、読出しアドレスに付された斜線部分は、読出し回路の破損等により、読出しのできなくなったアドレスを示す。図４Ｂに示す様に、３つ目のデータの読出しアドレス“２”以降の読出しができなくなったことに伴い、該読出しアドレス“２”のタイミングｔ２において、最初のパリティエラーが検出される。すなわち、図４Ｂに示す本実施例では、読出しができなくなる故障が発生すると、読出しのできなくなったアドレスの内、先頭のアドレス“２”から直ちに、エラーの検出が可能となる。
【００３６】
図５Ａは、従来例における特定アドレス（例えば、奇数アドレス）からの読出し故障発生時の動作を示すタイムチャートである。なお、図５Ａにおいて、読出しアドレスに付された斜線部分は、読出し回路の破損等により、読出しのできなくなったアドレスを示す。図５Ａに示す様に、３つ目のデータの読出しアドレス“３”以降の奇数アドレスからの読出しができなくなったことに伴い、読出しデータ変換部１６からは、１つ前のアドレス（偶数アドレス）の値が見えることとなる。しかしながら、図５Ａに示す例では、１つ前の読出しアドレス“２”からは正常に読出し可能であり、かつ、１つ前の読出しアドレス“２”に対しても読出しアドレス“３”と同一の読出しパリティが付されている。従って、エラー検出装置１０は、特定アドレス（例えば、奇数アドレス）からの読出し故障が発生した場合、パリティエラーを検出することができない。
【００３７】
図５Ｂは、本実施例における特定アドレス（例えば、奇数アドレス）からの読出し故障発生時の動作を示すタイムチャートである。なお、図５Ｂにおいて、読出しアドレスに付された斜線部分は、読出し回路の破損等により、読出しのできなくなったアドレスを示す。図５Ｂに示す様に、３つ目のデータの読出しアドレス“３”以降の奇数アドレスからの読出しができなくなったことに伴い、読出しデータ変換部１６からは、１つ前のアドレス（偶数アドレス）の値が見えることとなる。図５Ｂに示す例では、１つ前の読出しアドレス“２”からは正常に読出し可能であるが、１つ前の読出しアドレス“２”に対しては読出しアドレス“３”と異なる読出しパリティが付されている。換言すれば、本実施例では、従来例と異なり、異なるエラー検出ルールがアドレスに対応付けて適用されたパリティがデータに付されている。従って、エラー検出装置１０は、特定アドレス（例えば、奇数アドレス）からの読出し故障が発生した場合であっても、パリティエラーを検出することができる。
【００３８】
以上説明した様に、エラー検出装置１０は、書込みデータ変換部１３と読出しデータ変換部１６と誤り判定符号チェック部１７とを有する。書込みデータ変換部１３は、異なるエラー検出ルールがメモリ１１内のアドレスに対応付けて適用された誤り判定符号をデータに付加し、上記データを上記アドレスに書き込む。読出しデータ変換部１６は、メモリ１１から上記データを読み出す。誤り判定符号チェック部１７は、読出しデータ変換部１６により読み出された上記データに付加された上記誤り判定符号を用いて、上記データにおけるエラー発生の有無を判定する。
【００３９】
これにより、エラー検出装置１０は、データの定義（データと誤り判定符号との関係性）を、メモリアドレスに対応付けて変更する。従って、メモリ１１から読み出されたデータに付されたパリティは、上記データの定義に応じて、例えば、偶数、奇数、偶数、奇数という様に交互に変化する。その結果、メモリ１１の故障に伴いアドレス制御に問題が生じた場合（例えば、読出し回路の破損等により前回読み出したデータを再び読み出してしまう様な壊れ方をした場合）でも、エラー検出が可能となる。
【００４０】
例えば、誤り判定符号チェック部１７は、書込みデータ変換部１３により上記データに付加された誤り判定符号と、読出しデータ変換部１６により読み出されたデータから所定のエラー検出ルールにより生成された誤り判定符号とを比較し、該比較の結果に基づき、上記エラー発生の有無を判定する。これにより、エラー検出装置１０は、メモリ１１の故障に伴いアドレス制御に問題が生じた場合にも、事前に付加した誤り判定符号が、データ読出し後に生成された誤り判定符号と一致しないことを以って、エラーの発生を検知することができる。
【００４１】
例えば、書込みデータ変換部１３は、上記データの書込み先のアドレスが偶数アドレスの場合には、上記データに奇数パリティを付加し、上記データの書込み先のアドレスが奇数アドレスの場合には、上記データに偶数パリティを付加する。また、誤り判定符号チェック部１７は、上記偶数アドレスのデータに対し、奇数パリティによるエラー検出ルールを適用して上記エラー発生の有無を判定する。更に、誤り判定符号チェック部１７は、上記奇数アドレスのデータに対し、偶数パリティによるエラー検出ルールを適用して上記エラー発生の有無を判定する。従って、メモリ１１の故障に伴い、例えば、過去に書き込まれたデータがメモリ１１から読み出された場合に、読み出されたデータにはパリティが正しく付加されていないこととなる（偶数と奇数が逆になる）ため、エラーの検出が可能となる。同様に、メモリ１１の故障に伴い、例えば、直前に読み出された別アドレスのデータが誤り判定の対象となった場合に、該データにはパリティが正しく付加されていないこととなる（偶数と奇数が逆になる）ため、エラーの検出が可能となる。
【００４２】
特に、上述したエラー検出装置１０を通信装置１に適用することで、メモリを構成する書込み回路や読出し回路の破損に伴いアドレス制御に問題が生じた場合でも、エラーの発生を正確かつ迅速に検出することができる。このため、通信装置１は、メモリの故障が通信に与える影響（例えば、中断や遅延）あるいは他のハードウェアに与える影響を抑制し、パケット等の高速通信を維持することが可能となる。なお、図１では、通信装置１を例示したが、エラー検出装置１０は、通信機能をもたない装置（例えば、情報処理装置）にも適用可能である。
【００４３】
（変形例１）
次に、変形例１について説明する。変形例１に係るエラー検出装置は、誤り判定符号としてパリティを用いる点では上記実施例と共通するが、メモリの使用方法が異なる。すなわち、上記実施例では、エラー検出装置は、メモリとしてＦＩＦＯを例示したが、変形例１では、メモリとしてテーブルを例示する。以下、上記実施例との相違点を中心として説明する。
【００４４】
図６は、変形例１に係るエラー検出装置の構成を示す図である。図６に示す様に、変形例１に係るエラー検出装置は、図２に示した実施例に係るエラー検出装置１０と同様の構成要素を複数有する。従って、変形例１では、上記実施例と共通する構成要素には、同一の参照符号を用いると共に、その図示及び詳細な説明は省略する。具体的には、変形例１に係るエラー検出装置１０の読出しデータ変換部１６１、１６２は、図２に示した読出しデータ変換部１６にそれぞれ対応し、誤り判定符号チェック部１７１、１７２は、図２に示した誤り判定符号チェック部１７にそれぞれ対応する。
【００４５】
データ定義切替え制御部１５は、読出しデータ変換部１６１に対し、書込みアドレスのＬＳＢを、制御信号として出力する。書込みデータ変換部１３は、データ定義切替え制御部１５から入力される上記制御信号により、パリティの定義を、奇数または偶数に切り替える。書込みデータ変換部１３は、例えば、上記制御信号が“０”である場合、パリティの定義を奇数パリティとし、上記制御信号が“１”である場合、パリティの定義を偶数パリティとする。
【００４６】
同様に、データ定義切替え制御部１８は、読出しデータ変換部１６２に対し、読出しアドレスのＬＳＢを、制御信号として出力する。読出しデータ変換部１６２は、データ定義切替え制御部１８から入力される上記制御信号により、パリティの定義を、奇数または偶数に切り替える。読出しデータ変換部１６２は、例えば、上記制御信号が“０”である場合、パリティの定義を奇数パリティとし、上記制御信号が“１”である場合、パリティの定義を偶数パリティとする。
【００４７】
変形例１に係るエラー検出装置１０によれば、データの書込みを、ソフトウェアから行うことができるため、ソフトウェア以外から書込みが行われることはなく、書込みができなくなる故障に対しては、書込み時に行う読出し確認により認識できる為、対策を必要としない。従って、変形例１に係るエラー検出装置１０は、回路の破損等によりメモリ１１が故障した場合にもエラーを検出することのできる機能を、より簡易な構成により実現することができる。
【００４８】
（変形例２）
次に、変形例２について説明する。変形例１の様にメモリとしてテーブルを使用する場合、ＦＩＦＯを使用する場合と異なり、偶数アドレスと奇数アドレスとが交互に読み出されるとは限らない。このため、変形例１に係るエラー検出装置１０は、データの格納位置によっては、エラーを検出できる確率が低くなる。そこで、変形例２に係るエラー検出装置１０は、パリティビットを２ビット以上に増加させる。以下、変形例１との相違点を中心として説明する。
【００４９】
図７は、変形例２に係るエラー検出装置の構成を示す図である。図７に示す様に、変形例２に係るエラー検出装置は、図６に示した変形例１に係るエラー検出装置１０と同様の構成要素を複数有する。従って、変形例２では、変形例１と共通する構成要素には、同一の参照符号を用いると共に、その図示及び詳細な説明は省略する。具体的には、変形例２に係るエラー検出装置１０のセレクタ１３ｂ、１６１ｂ、１６２ｂは、図６に示したセレクタ１３ａ、１６１ａ、１６２ａにそれぞれ対応する。
【００５０】
データ定義切替え制御部１５は、読出しデータ変換部１６１に対し、書込みアドレスのＬＳＢ側の２ビット分を、制御信号として出力する。書込みデータ変換部１３は、データ定義切替え制御部１５から入力される上記制御信号により、パリティの定義を４種類に切り替える。すなわち、書込みデータ変換部１３は、パリティビットを２つのグループに分け、例えば、上記制御信号が“００”である場合、パリティの定義を「奇数＋奇数パリティ」とし、上記制御信号が“０１”である場合、パリティの定義を「奇数＋偶数パリティ」とする。更に、書込みデータ変換部１３は、例えば、上記制御信号が“１０”である場合、パリティの定義を「偶数＋奇数パリティ」とし、上記制御信号が“１１”である場合、パリティの定義を「偶数＋偶数パリティ」とする。
【００５１】
同様に、データ定義切替え制御部１８は、読出しデータ変換部１６２に対し、読出しアドレスのＬＳＢ側の２ビット分を、制御信号として出力する。読出しデータ変換部１６２は、データ定義切替え制御部１８から入力される上記制御信号により、パリティの定義を４種類に切り替える。すなわち、読出しデータ変換部１６２は、上記制御信号が“００”である場合にパリティの定義を「奇数＋奇数パリティ」とし、“０１”である場合に「奇数＋偶数パリティ」とし、“１０”である場合に「偶数＋奇数パリティ」とし、“１１”である場合に「偶数＋偶数パリティ」とする。
【００５２】
変形例２に係るエラー検出装置１０によれば、パリティ定義の種類が増加するため、偶数アドレスと奇数アドレスとが交互に読み出されるとは限らないテーブルにメモリを使用する場合でも、エラー検出の確率が向上する。
【００５３】
なお、パリティビットのビット数は、必ずしも２ビットでなくてもよく、エラー検出装置１０の回路規模を過度に増大させない範囲で、３ビット以上のビット数を採ることもできる。これにより、エラー検出装置１０は、テーブル使用に伴うエラー検出確率の低下を、更に抑制することが可能となる。
【００５４】
（変形例３）
次に、変形例３について説明する。メモリとしてＦＩＦＯを使用する点では上記実施例と共通するが、誤り判定符号が異なる。すなわち、上記実施例では、エラー検出装置は、誤り判定符号としてパリティを使用したが、変形例３では、ＥＣＣ（Error  Check  and  Correct）コードとして、ハミング符号とパリティビットとを使用する。以下、上記実施例との相違点を中心として説明する。
【００５５】
図８は、変形例３に係るエラー検出装置の構成を示す図である。図８に示す様に、変形例３に係るエラー検出装置は、図２に示した実施例に係るエラー検出装置１０と同様の構成要素を複数有する。従って、変形例３では、上記実施例と共通する構成要素には、同一の参照符号を用いると共に、その図示及び詳細な説明は省略する。具体的には、変形例３に係るエラー検出装置１０のＥＣＣ生成部１２１は、図２に示した誤り判定符号生成部１２に対応し、ＥＣＣチェック部１７３は、図２に示した誤り判定符号チェック部１７に対応する。
【００５６】
データ定義切替え制御部１５は、書込みアドレスがフルカウント値となると、切替指示信号を反転させ、反転後の切替指示信号と書込みアドレスのＬＳＢとの排他的論理和を、制御信号として書込みデータ変換部１３に出力する。書込みデータ変換部１３は、データ定義切替え制御部１５からの上記制御信号の入力に伴い、ＥＣＣの定義を切り替える。例えば、書込みデータ変換部１３は、上記制御信号が“０”である場合、書込み先のアドレスが偶数アドレスのとき、ＥＣＣコードをそのままとし、書込み先のアドレスが奇数アドレスのとき、ＥＣＣコードのパリティビットを反転させる。これに対し、上記制御信号が“１”である場合、書込みデータ変換部１３は、書込み先のアドレスが偶数アドレスのとき、ＥＣＣコードのパリティビットを反転させ、書込み先のアドレスが奇数アドレスのとき、ＥＣＣコードをそのままとする。
【００５７】
同様に、データ定義切替え制御部１８は、読出しアドレスがフルカウント値となると、データ定義切替え制御部１５からの切替指示信号を入力し、該切替指示信号と読出しアドレスのＬＳＢとの排他的論理和を、制御信号として読出しデータ変換部１６に出力する。読出しデータ変換部１６は、データ定義切替え制御部１８からの上記制御信号の入力に伴い、ＥＣＣの定義を切り替える。例えば、読出しデータ変換部１６は、上記制御信号が“０”である場合、読出し元のアドレスが偶数アドレスのとき、ＥＣＣコードをそのままとし、読出し元のアドレスが奇数アドレスのとき、ＥＣＣコードのパリティビットを反転させる。これに対し、上記制御信号が“１”である場合、読出しデータ変換部１６は、読出し元のアドレスが偶数アドレスのとき、ＥＣＣコードのパリティビットを反転させ、読出し元のアドレスが奇数アドレスのとき、ＥＣＣコードをそのままとする。
【００５８】
変形例３に係るエラー検出装置１０は、誤り判定符号がＥＣＣコードである場合にも、メモリ故障の発生時に、エラー（ＥＣＣ１ビットエラー）を検出及び通知することができる。
【００５９】
（変形例４）
次に、変形例４について説明する。メモリとしてＦＩＦＯを使用し、誤り判定符号としてＥＣＣコードを使用する点では変形例３と共通するが、ＥＣＣコードのハミング符号のビット数が異なる。すなわち、変形例３では、エラー検出装置は、パリティビットを反転させてＥＣＣ１ビットエラーを検出したが、変形例４では、ハミング符号の下位２ビットを反転させてＥＣＣ２ビットエラーを検出する。以下、変形例３との相違点を中心として説明する。
【００６０】
図９は、変形例４に係るエラー検出装置の構成を示す図である。図９に示す様に、変形例４に係るエラー検出装置は、図８に示した変形例３に係るエラー検出装置１０と同様の構成要素を複数有する。従って、変形例４では、変形例３と共通する構成要素には、同一の参照符号を用いると共に、その図示及び詳細な説明は省略する。具体的には、変形例４に係るエラー検出装置１０のＥＣＣ生成部１２２は、図８に示したＥＣＣ生成部１２１に対応し、ＥＣＣチェック部１７４は、図８に示したＥＣＣチェック部１７３に対応する。
【００６１】
データ定義切替え制御部１５は、書込みアドレスがフルカウント値となると、切替指示信号を反転させ、反転後の切替指示信号と書込みアドレスのＬＳＢとの排他的論理和を、制御信号として書込みデータ変換部１３に出力する。書込みデータ変換部１３は、データ定義切替え制御部１５からの上記制御信号の入力に伴い、ＥＣＣの定義を切り替える。例えば、書込みデータ変換部１３は、上記制御信号が“０”である場合、書込み先のアドレスが偶数アドレスのとき、ＥＣＣコードをそのままとし、書込み先のアドレスが奇数アドレスのとき、ＥＣＣコードのハミング符号の下位２ビットを反転させる。これに対し、上記制御信号が“１”である場合、書込みデータ変換部１３は、書込み先のアドレスが偶数アドレスのとき、ＥＣＣコードのハミング符号の下位２ビットを反転させ、書込み先のアドレスが奇数アドレスのとき、ＥＣＣコードをそのままとする。
【００６２】
同様に、データ定義切替え制御部１８は、読出しアドレスがフルカウント値となると、データ定義切替え制御部１５からの切替指示信号を入力し、該切替指示信号と読出しアドレスのＬＳＢとの排他的論理和を、制御信号として読出しデータ変換部１６に出力する。読出しデータ変換部１６は、データ定義切替え制御部１８からの上記制御信号の入力に伴い、ＥＣＣの定義を切り替える。例えば、読出しデータ変換部１６は、上記制御信号が“０”である場合、読出し元のアドレスが偶数アドレスのとき、ＥＣＣコードをそのままとし、読出し元のアドレスが奇数アドレスのとき、ＥＣＣコードのハミング符号の下位２ビットを反転させる。これに対し、上記制御信号が“１”である場合、読出しデータ変換部１６は、読出し元のアドレスが偶数アドレスのとき、ＥＣＣコードのハミング符号の下位２ビットを反転させ、読出し元のアドレスが奇数アドレスのとき、ＥＣＣコードをそのままとする。
【００６３】
変形例４に係るエラー検出装置１０は、誤り判定符号がＥＣＣコードである場合にも、メモリ故障の発生時に、エラー（ＥＣＣ２ビットエラー）を検出及び通知することができる。
【００６４】
（変形例５）
次に、変形例５について説明する。メモリとしてＦＩＦＯを使用し、誤り判定符号としてＥＣＣコードを使用する点では変形例４と共通するが、エラー検出を行うためのＥＣＣコードの切替え方法が異なる。すなわち、変形例４では、エラー検出装置は、ＥＣＣコードの定義を切り替えて（ハミング符号の下位２ビットを反転させて）ＥＣＣ２ビットエラーを検出したが、変形例５では、ＥＣＣコードの並びを切り替えてエラー検出を行う。以下、変形例４との相違点を中心として説明する。
【００６５】
図１０は、変形例５に係るエラー検出装置の構成を示す図である。図１０に示す様に、変形例５に係るエラー検出装置は、図９に示した変形例４に係るエラー検出装置１０と同様の構成要素を複数有する。従って、変形例５では、変形例４と共通する構成要素には、同一の参照符号を用いると共に、その図示及び詳細な説明は省略する。具体的には、変形例５に係るエラー検出装置１０の書込みデータ変換部１３１は、図９に示した書込みデータ変換部１３に対応し、読出しデータ変換部１６３は、図９に示した読出しデータ変換部１６に対応する。
【００６６】
データ定義切替え制御部１５は、書込みアドレスがフルカウント値となると、切替指示信号を反転させ、反転後の切替指示信号と書込みアドレスのＬＳＢとの排他的論理和を、制御信号として書込みデータ変換部１３１に出力する。書込みデータ変換部１３１は、データ定義切替え制御部１５からの上記制御信号の入力に伴い、ＥＣＣコードの並びを切り替える。例えば、書込みデータ変換部１３１は、上記制御信号が“０”である場合、書込み先のアドレスが偶数アドレスのとき、ＥＣＣコードをそのままとし、書込み先のアドレスが奇数アドレスのとき、ＥＣＣコードのＭＳＢ（Most  Significant  Bit）とＬＳＢとを逆にする。これに対し、上記制御信号が“１”である場合、書込みデータ変換部１３１は、書込み先のアドレスが偶数アドレスのとき、ＥＣＣコードのＭＳＢとＬＳＢとを逆にし、書込み先のアドレスが奇数アドレスのとき、ＥＣＣコードをそのままとする。
【００６７】
同様に、データ定義切替え制御部１８は、読出しアドレスがフルカウント値となると、データ定義切替え制御部１５からの切替指示信号を入力し、該切替指示信号と読出しアドレスのＬＳＢとの排他的論理和を、制御信号として読出しデータ変換部１６３に出力する。読出しデータ変換部１６３は、データ定義切替え制御部１８からの上記制御信号の入力に伴い、ＥＣＣコードの並びを切り替える。例えば、読出しデータ変換部１６３は、上記制御信号が“０”である場合、読出し元のアドレスが偶数アドレスのとき、ＥＣＣコードをそのままとし、読出し元のアドレスが奇数アドレスのとき、ＥＣＣコードのＭＳＢとＬＳＢとを逆にする。これに対し、上記制御信号が“１”である場合、読出しデータ変換部１６３は、読出し元のアドレスが偶数アドレスのとき、ＥＣＣコードのＭＳＢとＬＳＢとを逆にし、読出し元のアドレスが奇数アドレスのとき、ＥＣＣコードをそのままとする。
【００６８】
変形例５に係るエラー検出装置１０は、誤り判定符号がＥＣＣコードである場合にも、メモリ故障の発生時に、エラー（ＥＣＣ１ビットエラーまたはＥＣＣ２ビットエラー）を検出及び通知することができる。
【００６９】
（変形例６）
次に、変形例６について説明する。変形例６に係るエラー検出装置は、誤り判定符号としてＥＣＣコードを用いる点では変形例４と共通するが、メモリの使用方法が異なる。すなわち、変形例４では、エラー検出装置は、メモリとしてＦＩＦＯを例示したが、変形例６では、メモリとしてテーブルを例示する。以下、変形例４との相違点を中心として説明する。
【００７０】
図１１は、変形例６に係るエラー検出装置の構成を示す図である。図１１に示す様に、変形例６に係るエラー検出装置は、図９に示した変形例４に係るエラー検出装置１０と同様の構成要素を複数有する。従って、変形例６では、変形例４と共通する構成要素には、同一の参照符号を用いると共に、その図示及び詳細な説明は省略する。具体的には、変形例６に係るエラー検出装置１０の読出しデータ変換部１６４、１６５は、図９に示した読出しデータ変換部１６にそれぞれ対応し、ＥＣＣチェック部１７４、１７５は、図９に示したＥＣＣチェック部１７４にそれぞれ対応する。
【００７１】
データ定義切替え制御部１５は、読出しデータ変換部１６４に対し、書込みアドレスのＬＳＢを、制御信号として出力する。書込みデータ変換部１３は、データ定義切替え制御部１５から入力される上記制御信号により、ＥＣＣの定義を、そのまままたは反転に切り替える。書込みデータ変換部１３は、例えば、上記制御信号が“０”である場合、ＥＣＣコードをそのままとし、上記制御信号が“１”である場合、ＥＣＣコードのハミング符号の下位２ビットを反転させる。
【００７２】
同様に、データ定義切替え制御部１８は、読出しデータ変換部１６５に対し、読出しアドレスのＬＳＢを、制御信号として出力する。読出しデータ変換部１６５は、データ定義切替え制御部１８から入力される上記制御信号により、ＥＣＣの定義を、そのまままたは反転に切り替える。読出しデータ変換部１６５は、例えば、上記制御信号が“０”である場合、ＥＣＣコードをそのままとし、上記制御信号が“１”である場合、ＥＣＣコードのハミング符号の下位２ビットを反転させる。
【００７３】
変形例６に係るエラー検出装置１０によれば、データの書込みを、ソフトウェアから行うことができるため、ソフトウェア以外から書込みが行われることはなく、書込みができなくなる故障に対しては、書込み時に行う読出し確認により認識できる為、対策を必要としない。従って、変形例６に係るエラー検出装置１０は、回路の破損等によりメモリ１１が故障した場合にもエラーを検出することのできる機能を、より簡易な構成により実現することができる。併せて、変形例６に係るエラー検出装置１０は、誤り判定符号がＥＣＣコードである場合にも、メモリ故障の発生時に、エラー（ＥＣＣ２ビットエラー）を検出及び通知することができる。
【００７４】
（変形例７）
次に、変形例７について説明する。変形例６の様にメモリとしてテーブルを使用する場合、ＦＩＦＯを使用する場合と異なり、連続したアドレスが順番に読み出されるとは限らない。このため、変形例６に係るエラー検出装置１０は、データの格納位置によっては、エラーを検出できる確率が低くなる。そこで、変形例７に係るエラー検出装置１０は、ＥＣＣコードのハミング符号の下位ビット数を３ビット以上に増加させる。以下、変形例６との相違点を中心として説明する。
【００７５】
図１２は、変形例７に係るエラー検出装置の構成を示す図である。図１２に示す様に、変形例７に係るエラー検出装置は、図１１に示した変形例６に係るエラー検出装置１０と同様の構成要素を複数有する。従って、変形例７では、変形例６と共通する構成要素には、同一の参照符号を用いると共に、その図示及び詳細な説明は省略する。具体的には、変形例７に係るエラー検出装置１０のセレクタ１３ｂ、１６４ｂ、１６５ｂは、図１１に示したセレクタ１３ａ、１６４ａ、１６５ａにそれぞれ対応する。
【００７６】
データ定義切替え制御部１５は、読出しデータ変換部１６４に対し、書込みアドレスのＬＳＢ側の２ビット分を、制御信号として出力する。書込みデータ変換部１３は、データ定義切替え制御部１５から入力される上記制御信号により、ＥＣＣの定義を切り替える。すなわち、上記制御信号が“００”である場合には、書込みデータ変換部１３は、ＥＣＣコードのハミング符号の下位３ビットである［２］、［１］、［０］をそのままとする。また、上記制御信号が“０１”である場合には、書込みデータ変換部１３は、上記ハミング符号の下位３ビットの内、下位２ビット（［１］、［０］）を反転させる。上記制御信号が“１０”である場合には、書込みデータ変換部１３は、上記ハミング符号の下位３ビットの内、２ビット（［２］、［０］）を反転させる。また、上記制御信号が“１１”である場合には、書込みデータ変換部１３は、上記ハミング符号の下位３ビットの内、上位２ビット（［２］、［１］）を反転させる。
【００７７】
変形例７に係るエラー検出装置１０によれば、連続したアドレスが順番に読み出されるとは限らないテーブルにメモリを使用する場合でも、エラー（ＥＣＣ２ビットエラー）の検出確率が向上する。
【００７８】
なお、上記実施例及び変形例１、２に係るエラー検出装置１０は、奇数パリティと偶数パリティの様に、パリティビットを反転の対象としたが、書込みデータを反転の対象としても、同様の効果を得ることができる。同様に、変形例３〜７に係るエラー検出装置１０は、奇数パリティと偶数パリティの様に、ＥＣＣコードを反転の対象としたが、書込みデータを反転の対象としても、同様の効果を得ることができる。
【００７９】
また、上記実施例及び変形例では、ＰＤＵ（Protocol  Data  Unit）として、パケットを想定したが、これに限らない。例えば、ネットワーク種別に応じて、フレーム、ＡＴＭ（Asynchronous  Transfer  Mode）のセル等、他のＰＤＵに対して、上記実施例及び変形例を適用してもよい。
【００８０】
更に、エラー検出装置１０の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は、図示のものに限らず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することもできる。例えば、誤り判定符号生成部１２と書込みデータ変換部１３、あるいは、データ定義切替え制御部１８と読出しアドレス生成部１９を、それぞれ１つの構成要素として統合してもよい。反対に、データ定義切替え制御部１５に関し、反転後の切替指示信号と書込みアドレスのＬＳＢとの排他的論理和を出力する部分と、制御信号を書込みアドレス毎に切り替える制御を行う部分とに分散してもよい。また、メモリ１１を、エラー検出装置１０の外部装置として、ネットワークやケーブル経由で接続する様にしてもよい。
【００８１】
また、上記説明では、実施例及び個々の変形例毎に個別の構成、及び動作を説明した。しかしながら、実施例及び各変形例に係るエラー検出装置１０は、実施例や他の変形例に特有の構成要素を併せて有するものとしてもよい。また、実施例、変形例毎の組合せについても、２つに限らず、３つ以上の組合せ等、任意の形態を採ることが可能である。例えば、変形例５に係るＥＣＣコードの並べ替え技術は、変形例４に限らず、他の変形例３、６、７に対して適用することもできる。また、変形例７に係るＥＣＣ改善技術は、変形例６に限らず、変形例３〜５に対して適用するものとしてもよい。更に、１つのエラー検出装置が、各構成要素の機能を阻害しない範囲内で、上記実施例及び変形例１〜７において説明した複数の構成要素を併有するものとしてもよい。更に、ＥＣＣコードとしてハミング符号とパリティとを記載したが、アドレス単位に処理できるコードであれば、これらに限定されるものではない。
【００８２】
以上の実施例に関し、更に以下の付記を開示する。
【００８３】
（付記１）異なるエラー検出ルールが格納部内のアドレスに対応付けて適用された誤り判定符号をデータに付加し、前記データを前記アドレスに書き込む書込み部と、
前記格納部から前記データを読み出す読出し部と、
前記読出し部により読み出された前記データに付加された前記誤り判定符号を用いて、エラー発生の有無を判定する判定部と
を有することを特徴とするエラー検出装置。
【００８４】
（付記２）前記判定部は、前記書込み部により前記データに付加された誤り判定符号と、前記読出し部により読み出されたデータから所定のエラー検出ルールにより生成された誤り判定符号とを比較し、該比較の結果に基づき、前記エラー発生の有無を判定することを特徴とする付記１に記載のエラー検出装置。
【００８５】
（付記３）前記書込み部は、前記データの書込み先のアドレスが偶数アドレスの場合には、前記データに奇数パリティを付加し、前記データの書込み先のアドレスが奇数アドレスの場合には、前記データに偶数パリティを付加し、
前記判定部は、前記偶数アドレスのデータに対し、奇数パリティによるエラー検出ルールを適用して前記エラー発生の有無を判定すると共に、前記奇数アドレスのデータに対し、偶数パリティによるエラー検出ルールを適用して前記エラー発生の有無を判定することを特徴とする付記１に記載のエラー検出装置。
【００８６】
（付記４）前記誤り判定符号は、パリティであり、
前記格納部は、前記パリティの付加された前記データをソフトウェアから書込み可能なテーブルを有することを特徴とする付記１に記載のエラー検出装置。
【００８７】
（付記５）前記書込み部は、前記データの書込み先のアドレスが偶数アドレスの場合には、ＥＣＣ（Error  Check  and  Correct）コードを前記データに付加し、前記データの書込み先のアドレスが奇数アドレスの場合には、パリティビットを反転させたＥＣＣコードを前記データに付加することを特徴とする付記１に記載のエラー検出装置。
【００８８】
（付記６）前記書込み部は、前記データの書込み先のアドレスが偶数アドレスの場合には、ＥＣＣ（Error  Check  and  Correct）コードを前記データに付加し、前記データの書込み先のアドレスが奇数アドレスの場合には、ハミング符号の下位２ビットを反転させたＥＣＣコードを前記データに付加することを特徴とする付記１に記載のエラー検出装置。
【００８９】
（付記７）前記書込み部は、前記データの書込み先のアドレスが偶数アドレスの場合には、ＥＣＣ（Error  Check  and  Correct）コードを前記データに付加し、前記データの書込み先のアドレスが奇数アドレスの場合には、ＭＳＢ（Most  Significant  Bit）とＬＳＢ（Least  Significant  Bit）とを逆にしたＥＣＣコードを前記データに付加することを特徴とする付記１に記載のエラー検出装置。
【００９０】
（付記８）前記誤り判定符号は、ＥＣＣ（Error  Check  and  Correct）コードであり、
前記格納部は、前記ＥＣＣコードの付加された前記データをソフトウェアから書込み可能なテーブルを有することを特徴とする付記１に記載のエラー検出装置。
【００９１】
（付記９）前記誤り判定符号は、ハミング符号の下位ビット数が３ビット以上のＥＣＣコードであることを特徴とする付記８に記載のエラー検出装置。
【００９２】
（付記１０）前記誤り判定符号は、２ビット以上のパリティであることを特徴とする付記４に記載のエラー検出装置。
【００９３】
（付記１１）前記データは、前記エラー検出装置の外部から受信され、前記エラー検出装置の外部へ送信されるパケットデータであることを特徴とする付記１に記載のエラー検出装置。
【００９４】
（付記１２）エラー検出装置が、
異なるエラー検出ルールが格納部内のアドレスに対応付けて適用された誤り判定符号をデータに付加し、前記データを前記アドレスに書き込み、
前記格納部から前記データを読み出し、
読み出された前記データに付加された前記誤り判定符号を用いて、エラー発生の有無を判定する
ことを特徴とするエラー検出方法。
【符号の説明】
【００９５】
１  通信装置
２  インタフェース盤
２ａ  ＯＥ変換部
２ｂ  フレーム終端部
２ｃ  バックプレッシャ部
２ｄ、２ｉ  一時保持部
２ｅ  スケジューリング部
２ｆ、２ｈ  クロック乗換部
２ｇ  ＳＥＲＤＥＳ
２ｊ  フレーム付与部
２ｋ  ＥＯ変換部
３  スイッチ盤
３ａ、３ｆ  ＳＥＲＤＥＳ
３ｂ、３ｄ、３ｇ、３ｈ  クロック乗換部
３ｃ  一時保持部
３ｅ  方路設定テーブル
３ｉ  スケジューリング部
１０  エラー検出装置
１１  メモリ
１２  誤り判定符号生成部
１３  書込みデータ変換部
１３ａ、１３ｂ  セレクタ
１４  書込みアドレス生成部
１５  データ定義切替え制御部
１５ａ  デコード部
１５ｂ  ＦＦ部
１５ｃ  ＸＯＲ部
１６  読出しデータ変換部
１６ａ  セレクタ
１７  誤り判定符号チェック部
１８  データ定義切替え制御部
１８ａ  デコード部
１８ｂ  ＦＦ部
１８ｃ  ＸＯＲ部
１９  読出しアドレス生成部
１２１、１２２  ＥＣＣ生成部
１３１  書込みデータ変換部
１３１ａ  セレクタ
１６１、１６２、１６３、１６４、１６５  読出しデータ変換部
１６１ａ、１６１ｂ、１６２ａ、１６２ｂ、１６４ａ、１６４ｂ、１６５ａ、１６５ｂ  セレクタ
１７１、１７２  誤り判定符号チェック部
１７３、１７４、１７５  ＥＣＣチェック部
Ｐ１〜Ｐ４  読出しパリティ
ｔ１〜ｔ４  読出しタイミング
【図１】
2016042218.tif 000003
【図２】
2016042218.tif 000004
【図３Ａ】
2016042218.tif 000005
【図３Ｂ】
2016042218.tif 000006
【図４Ａ】
2016042218.tif 000007
【図４Ｂ】
2016042218.tif 000008
【図５Ａ】
2016042218.tif 000009
【図５Ｂ】
2016042218.tif 000010
【図６】
2016042218.tif 000011
【図７】
2016042218.tif 000012
【図８】
2016042218.tif 000013
【図９】
2016042218.tif 000014
【図１０】
2016042218.tif 000015
【図１１】
2016042218.tif 000016
【図１２】
2016042218.tif 000017