説明

エラー訂正回路及びエラー訂正方法

【課題】固定的に生じているエラーを含む場合は、訂正能力を超えて訂正を行う。
【解決手段】エラー訂正回路は、入力データに含まれるエラーの種別を判別する第1のエラー検出回路1と、エラー種別が1バイトエラーか、2バイトエラーである場合に、当該エラーが特定のバイトに固定的に発生している固定エラーであるか否かを判定する固定エラー検出回路2と、2バイトエラーに固定エラーが含まれる場合に、固定エラーが発生しているバイトの代わりとなる代替バイトを繰り返し発生するデータ発生回路4と、2バイトエラーに固定エラーが含まれる場合に、代替バイトで固定エラーが発生しているバイトを置き換えて、2バイトエラーが1バイトエラーとなるまで誤り検出を繰り返す第2のエラー検出回路3と、第2のエラー検出回路3で入力データが1バイトエラーとなったことを検出したら、当該入力データのエラー訂正を実行するエラー訂正回路5とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、伝送路等で発生したエラーを訂正するエラー訂正回路及びエラー訂正方法に関し、特に、固定的に発生するエラーを含むデータに対するエラー訂正回路及び方法に関する。
【背景技術】
【0002】
データ伝送において、伝送中に発生したエラーを訂正するには、本来伝送するデータに加えて、エラー訂正に必要な情報として検査バイトを付加して伝送する。例えば、8ビットを1バイトとするデータ構成において、1バイトのエラーを訂正し、2バイトのエラーを検出するエラー訂正符号S8EC−D8ED(Single 8bit-byte Error Correcting - Double 8bit-byte Error Detecting)では、データ8バイトを伝送するために付加する検査バイトには3バイトが必要となり、結果、伝送する情報は、11バイトとなる。2バイトエラーを訂正する場合、データ8バイトに対し、検査バイトは5バイトが必要となり、結果、伝送する情報は13バイトになる。1バイトのエラー訂正の場合、データ伝送効率(伝送する情報の内、本来伝送すべきデータが占める割合)は73%であるが、2バイトエラー訂正では62%と悪化する。データの伝送効率が悪化すると、データ伝送のために必要となるLSIのI/O部の面積、伝送媒体などのハードウエハ資源が多く必要となり、装置の原価を引き上げる方向に働く。エラー訂正能力をどこまで高めるかは、データ伝送品質と装置原価のトレードオフとなり、データ伝送品質を高め、かつ、原価を抑えるという課題がある。
【0003】
特許文献1では、固定的に発生している1ビットエラーと間欠的に発生したほかのビットのエラーの合計2ビットエラーを訂正する回路について記載されている。すなわち、1ビット誤りを検出する1ビット誤り検出回路からの指示によりシンドロームを記憶する1ビット誤りシンドローム記憶回路を設け、2ビット誤り検出回路が2ビット誤りを検出したときに、XOR回路によりソフトエラーによる1ビット誤りシンドロームを生成し、選択回路を介してそのシンドロームをデコード回路がソフトエラーによる誤りを訂正する信号を生成する。同時に、1ビット誤りシンドローム記憶回路が記憶しているシンドロームを、固定故障による1ビット誤り時のシンドロームと考えて、デコード回路が、固定故障による誤りを訂正する信号を生成し、訂正回路がデコード回路の指示により2ビット誤りを訂正する。
【0004】
また、特許文献2には、ビット線の固着不良に起因する1ビットのビット誤りを含む2ビットの誤りを訂正する装置が記載されている。特許文献2においては、固着不良が生じているビットをインバータにより反転することで、誤り訂正している。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平5‐197580号公報
【特許文献2】特開2009‐295252号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載の方法は、固定的にエラーが発生しているビットを補間する方法は、シンドロームを計算しておこなっており、この方法では、バイトエラー訂正に応用することは困難である。すなわち、従来のエラー訂正回路では、例えば、1バイトエラー訂正/2バイトエラー検出回路とした場合、2バイトエラーの訂正は不可能であった。
【0007】
また、特許文献2に記載の技術は、固着不良が生じているビット線を予め調査し、それを反転する。これをバイトデータに拡張した場合を考えると、1バイトデータの全ビット又は固定ビットを常に反転することになる。しがしながら、伝送路によっては、固定的にエラーは生じるものの、どのビットでエラーが生じているかわからない、といった状況があり、単に固定エラーが生じているデータ(全ビット又は固定ビット)を反転してもエラー訂正できないという問題点がある。
【0008】
本発明は、このような問題点を解決するためになされたものであり、固定的に生じているエラーを含む場合は、訂正能力を超えて訂正を行うことができるエラー訂正回路及び方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明に係るエラー訂正回路は、複数のビット/バイトで構成される入力データに含まれるエラーの種別を判別する第1のエラー検出部と、エラー種別が前記入力データに1ビット/バイトのエラーが含まれる1ビット/バイトエラーである場合に、その入力データの誤りを訂正する誤り訂正部と、エラー種別が前記1ビット/バイトエラーか、又は入力データに2ビット/バイトのエラーが含まれる2ビット/バイトエラーである場合に、当該エラーが特定のビット/バイトに固定的に発生している固定エラーであるか否かを判定する固定エラー検出部と、前記2ビット/バイトエラーが発生し、かつ当該エラーに前記固定エラーが含まれる場合に、前記固定エラーが発生しているビット/バイトの代わりとなる代替ビット/バイトを繰り返し発生するデータ発生部と、前記2ビット/バイトエラーが発生し、かつ当該エラーに前記固定エラーが含まれる入力データについて、前記代替ビット/バイトで前記固定エラーが発生しているビット/バイトを置き換えて、前記2ビット/バイトエラーが1ビット/バイトエラーとなるまで誤り検出を繰り返す第2のエラー検出部と、を有し、前記誤り訂正部は、前記第2のエラー検出部で前記入力データが1ビット/バイトエラーとなったことを検出したら、当該入力データのエラー訂正を実行するものである。
【0010】
本発明に係るエラー訂正方法は、複数のビット/バイトで構成される入力データに含まれるエラーの種別を判別する第1のエラー検出工程と、エラー種別が前記入力データに1ビット/バイトのエラーが含まれる1ビット/バイトエラーか、又は入力データに2ビット/バイトのエラーが含まれる2ビット/バイトエラーである場合に、当該エラーが特定のビット/バイトに固定的に発生している固定エラーであるか否かを判定する固定エラー検出工程と、前記2ビット/バイトエラーが発生し、かつ当該エラーに前記固定エラーが含まれる場合に、前記固定エラーが発生しているビット/バイトの代わりとなる代替ビット/バイトを繰り返し発生するデータ発生工程と、前記2ビット/バイトエラーが発生し、かつ当該エラーに前記固定エラーが含まれる入力データについて、前記代替ビット/バイトで前記固定エラーが発生しているビット/バイトを置き換えて、前記2ビット/バイトエラーが1ビット/バイトエラーとなるまで誤り検出を繰り返す第2のエラー検出工程と、前記第2のエラー検出部で前記入力データが1ビット/バイトエラーとなったことを検出したら、当該入力データのエラー訂正を実行する誤り訂正工程とを有するものである。
【発明の効果】
【0011】
本発明によれば、固定的に生じているエラーを含む場合は、訂正能力を超えて訂正を行うことができるエラー訂正回路及び方法を提供することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施の形態1にかかるエラー訂正回路17を示す図である。
【図2】本発明の実施の形態1にかかる伝送モデルを示す図である。
【図3】本発明の実施の形態1にかかるエラー訂正方法を示すフローチャートである。
【図4】本発明の他の実施の形態にかかる誤り訂正回路を示す図である。
【図5】本発明の他の実施の形態にかかる光伝送モデルを示す図である。
【発明を実施するための形態】
【0013】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、1バイトのエラー訂正能力を有する入力データについて、あるデータ線で固定的に発生しているエラーと、それとは別のデータ線で間欠的に発生しているエラーの合計2バイトのエラーを訂正することができる誤り訂正回路に適用したものである。
【0014】
本発明の実施の形態1.
図1は、本発明の実施の形態にかかるエラー訂正回路17を示す図である。本実施の形態にかかるエラー訂正回路17は、第1のエラー検出回路1、固定エラー検出回路2、第2のエラー検出回路3、データ発生回路4、エラー訂正回路5を有する。
【0015】
第1のエラー検出回路1は、複数のビット/バイトで構成される入力データに含まれるエラーの種別を判別する。エラー訂正回路5は、エラー種別が入力データに1ビット/バイトのエラーが含まれる1ビット/バイトエラーである場合に、その入力データの誤りを訂正する。固定エラー検出回路2は、エラー種別が1ビット/バイトエラーか、又は入力データに2ビット/バイトのエラーが含まれる2ビット/バイトエラーである場合に、当該エラーが特定のビット/バイトに固定的に発生している固定エラーであるか否かを判定する。データ発生回路4は、2ビット/バイトエラーが発生し、かつ当該エラーに固定エラーが含まれる場合に、固定エラーが発生しているビット/バイトの代わりとなる代替ビット/バイトを繰り返し発生する。第2のエラー検出回路3は、2ビット/バイトエラーが発生し、かつ当該エラーに固定エラーが含まれる入力データについて、代替ビット/バイトで固定エラーが発生しているビット/バイトを置き換えて、2ビット/バイトエラーが1ビット/バイトエラーとなるまで誤り検出を繰り返す。ここで、エラー訂正回路5は、第2のエラー検出回路3で入力データが1ビット/バイトエラーとなったことを検出したら、当該入力データのエラー訂正を実行する。なお、以下の説明では、入力データは、複数のバイトからなる伝送データとして説明する。
【0016】
次に、本実施の形態において、前提となる伝送モデルについて説明する。図2は、本実施の形態にかかる伝送モデルを示す図である。伝送するデータの構成は、8ビットを1バイトとし、#00から#07の8バイトとする。これら8バイトのデータは、エラー訂正符号発生回路(Error Correction code Generation circuit:ECG)11に入力され、エラー訂正符号を付加する。エラー訂正のために付加される検査バイトは3バイトとする。ECG11からは、データ#00−#07に加え、検査バイト#08−#10が出力される。ECG11から出力された11バイトのデータは、符号化回路12にてシリアル伝送に適した符号化が施される。ここでは、8B10B符号を付加し、8ビットのデータを10ビットに拡張している。符号化回路12の出力は、各バイト毎にシリアル化回路13に入力されてシリアル化される。シリアル化されたデータは伝送路14上を伝送され、パラレル化回路15に入力される。パラレル化回路15では、入力されたシリアルデータをシリアル化回路13の入力と同一となる10ビットのパラレルデータに変換する。パラレル化回路15から出力された10ビットのデータは、復号回路16にて8ビットのデータに復号される。復号回路16から出力された11バイトのデータは、本実施の形態にかかるエラー訂正回路17に入力され、エラー訂正がおこなわれ、データ8バイトを出力する。
【0017】
ここで、本実施の形態にかかるエラー訂正回路17は、1バイトのエラー訂正と、1バイトの固定エラーの訂正を行う。この固定エラーとは、例えば、図2においては、データ#00から#07の伝送路14のうち、いずれか特定の伝送路において、固定的に生じるエラーを示す。例えば、#02のデータを伝送する伝送路14で固定エラーが生じる場合、#02の1バイトのデータは、固定的にエラーは生じるが、伝送路14の伝送状態に応じていずれのビットにエラーが生じるかはわからない。そこで、データ発生回路4が、#02の正しいデータを発生するため、例えば0から順に、最高256通りのデータを生成するのである。
【0018】
次に、本実施の形態のエラー訂正回路17にかかる各ブロックについて詳細に説明する。伝送路14を経た伝送データは、第1のエラー検出回路1、第2のエラー検出回路3、エラー訂正回路5に入力される。
【0019】
第1のエラー検出回路1は、伝送されたデータに含まれるエラーの種別を判定し、後段の固定エラー検出回路2、データ発生回路4、エラー訂正回路5へ、その情報を伝達する。エラーの種別は、エラー無し、1バイトエラー、2バイトエラーの3種類である。なお、3バイト以上のエラーについては、どのエラー種類に区分されるかはエラー訂正方式に依存し、特に限定されない。
【0020】
固定エラー検出回路2は、第1のエラー検出回路1からの1バイトエラーの発生情報を受け、エラーしたデータ線が固定的にエラーしているかどうかを判定する。第1のエラー検出回路1は、1バイトエラーは発生している場合、その1バイトエラーがどのデータ線で発生しているかも判断することができる。よって、固定的にエラーは発生しているか否かは、同一のデータ線で、一定以上の頻度でエラーが発生していた場合等に固定エラーと判定すればよい。固定エラーと判定された場合、そのデータ線のアドレスを記憶する。そして、固定エラーしているデータ線のアドレス情報をデータ発生回路4へ提供する。
【0021】
2バイトエラーが発生した場合、第1のエラー検出回路1は、いずれのデータ線でエラーが発生しているかを判断することはできない。したがって、2バイトエラーが発生していることが判明した場合は、先ず、固定エラーのアドレスが記憶されているかチェックし、記憶されている場合は、2バイトエラーでかつ、固定エラーが含まれていると判定し、その旨、及び固定エラーしているデータ線のアドレス情報をデータ発生回路4へ提供する。一方、固定エラーのアドレスが記憶されていない場合、固定エラーが発生していない、任意の2バイトエラーが発生していると判定し、その旨エラー訂正回路5に通知する。任意の2バイトエラーは訂正することができない。
【0022】
データ発生回路4は、第2のエラー検出回路3と共に、2バイトエラーでかつ、そのうち1バイトが固定エラーである場合にのみ動作する。第1のエラー検出回路1からの固定エラーの発生情報を受け、固定的にエラーが発生しているデータ線の1バイト分のデータを擬似的に発生する。発生したデータは、第2のエラー検出回路3へ提供される。このデータ発生回路4は、第2のエラー検出回路3からの要求により、異なるデータを順次発生し、第2のエラー検出回路3へ発生したデータを提供する。
【0023】
第2のエラー検出回路3は、固定エラーを含む2バイトエラーを有する入力データ(本実施の形態においては、11バイト)とデータ発生回路4で発生したデータ(1バイト)を入力情報とする。入力された11バイトのデータのうち、固定的にエラーが発生しているデータ線のデータ(1バイト)は、データ発生回路4が発生した代替データ(1バイト)で置き換え、新たな11バイトのデータを生成する。この生成した11バイトのデータが1バイトエラーになるかどうかを、ここで判定する。生成したデータが1バイトエラーにならなければ、固定的にエラーが発生しているデータ線のデータを補間するための新たなデータを再度データ発生回路4へ要求する。2バイトエラーが1バイトエラーとなるまで、これを繰り返す。
【0024】
エラー訂正回路5は、第1のエラー検出回路1で判定したエラーの種別で、入力するデータを切り替える。エラーなし、及び1バイトエラーの場合は、データ入力から入力された入力データを使用し、エラー訂正を実施する。2バイトエラーの場合であって、固定エラーが含まれる場合は、第2のエラー検出回路3からのデータを使用する。2バイトエラーではあるけれども、第2のエラー検出回路3から入力されるデータは、1バイトエラーに変更されたデータであるので、エラー訂正回路5は、通常通り1バイトエラー訂正を行いエラー訂正されたデータを出力する。そして、任意の2バイトエラーを含む入力データである旨の通知を第1のエラー検出回路1から受け取った場合は、データ入力からの入力データをそのまま出力し、同時にエラー訂正不能である旨も出力する。
【0025】
次に、図1に示した本実施の形態にかかるエラー訂正回路17の動作について説明する。図3は、本発明の実施の形態にかかるエラー訂正方法を示すフローチャートである。本実施の形態にかかるエラー訂正回路17に入力されるデータは、データ8バイトと検査バイト3バイトの合計11バイトである。この11バイトのデータは、第1のエラー検出回路1に入力され、ここでエラーの種別を判定する(ステップS1)。エラーの種別は、エラーなし、1バイトエラー、2バイトエラーの3種類である。
【0026】
エラーなしの場合、第1のエラー検出回路1からエラー訂正回路5へ信号を送り、第1のエラー訂正回路5は、これを受け取ると、入力データの内のデータの8バイトを出力する。入力されたデータにエラーはないので、エラー訂正回路5は、入力されたデータをそのまま出力する。
【0027】
次に、第1のエラー検出回路1で1バイトエラーが検出された場合、該当のデータ線に対してエラーが固定的に発生しているかどうかを固定エラー検出回路2で判断する(ステップS2)。例えば、各データ線のエラー頻度を記憶し、頻度が設定した閾値より高ければ、固定エラーと判断する。固定エラーと判断した場合、固定エラー検出回路2は、そのデータ線のアドレスを記憶する(ステップS3)。なお、ステップS2で、すでに固定エラーを発生するアドレスが記憶されている場合は、固定エラーと判定し、ステップS3は、飛ばしてステップS4に進む。
【0028】
第1のエラー検出回路1で1バイトエラーが検出された入力データは、固定エラーであろうがなかろうが、1バイトエラーが生じている旨の信号がエラー訂正回路5へ送られ、エラー訂正回路5は、入力されたデータに対して、1バイトのエラー訂正を行い、エラーを訂正した正しいデータを出力する(ステップS4)。
【0029】
次に、第1のエラー検出回路1で2バイトエラーが検出された場合、固定エラーが発生しているか否かを、固定エラー検出回路2に固定エラーのアドレスが記憶されているか否かで判断する(ステップS5)。固定エラーのアドレスが記憶されてなければ、任意の2バイトでのエラーと判断し、エラー訂正回路5へそれを知らせる信号を送り、エラー訂正回路5は、入力されたデータをそのまま出力し、同時にエラー情報として2バイトエラー(訂正不可能エラー)が発生したことを後段の回路に知らせる。
【0030】
一方、第1のエラー検出回路1で2バイトエラーが検出され、かつ、そのうち1バイトのエラーが固定エラーである場合(ステップS5:あり)、すなわち、固定エラー検出回路2に固定エラーのアドレスが記憶されている場合、固定エラーが発生しているアドレスのデータ線のデータを、データ発生回路4が発生した代替データで置き換える。置き換える代替データをデータ発生回路4で発生し、固定エラーが発生しているアドレスのデータを代替データで置き換え、新たな11バイトのデータを生成する。
【0031】
例えば、バイト#03のデータで固定的にエラーが発生しているのなら、バイト#03のデータをデータ発生回路4で発生した8ビットのデータと置き換え、新たな11バイトのデータを生成する。この新しく生成された11バイトのデータに対して、第2のエラー検出回路3においてエラー検出をおこなう。もし、データ発生回路4で発生したデータが、伝送すべき真の値であれば、入力したデータの2バイトエラーは、1バイトエラーに変化する。すなわち、2バイトエラーを1バイトエラーにすることができたことになる。
【0032】
本実施の形態においては、誤り訂正対象のデータは、8バイトであるので、n=1〜28(=256)とし、n=1(回)から1ずつインクリメントしながら(ステップS6:n=1,28,1)データがn=256(回)(ステップS9:n=28)になるまでデータ(データ=0〜255)を発生すればよい。データ発生回路4で発生した代替データで固定エラーを置き換えた新しく生成された11バイトのデータで、第2のエラー検出回路3で再び2バイトエラーが検出された場合、データ発生回路4で発生したデータは、伝送すべき真の値ではないことがわかる。この場合は、データ発生回路4に対して新たなデータの発生を要求する。データ発生回路4では、新たな8ビットのデータを発生し、第2のエラー検出回路3に入力する。第2のエラー検出回路2においては、この新たな代替データでエラーが発生しているデータ線のアドレスのデータを置き換え、再度新たな11バイトのデータを生成する。そして、当該新たな11バイトのデータが1バイトエラーになったかどうかを判定する。1バイト固定エラーが訂正され、2バイトエラーが1バイトエラーに変更されたら(ステップS8)、その新たに生成された入力データをデータ訂正回路5に送る。データ訂正回路5は、1バイトとなったエラーの訂正を実施し(ステップS4)、訂正した8バイトのデータを出力する。
【0033】
このように、2バイトエラーに、特定のデータ線で固定的にエラーが発生している固定エラーが含まれる場合は、この固定エラーは、データ発生回路4に生成した代替データにより訂正することができる。つまり、データ発生回路4において、1バイトが取り得る全データを発生させれば、何れかの値が伝送すべき真のデータに合致する。本例の場合は、1バイト8ビットなので、0から順に255までの値を発生させればよい。真のデータを発生させれば、固定的にエラーが発生しているデータ線のアドレスのデータを当該真のデータと置き換えた新しく生成した11バイトのデータは、当然ながら固定エラーが訂正されるので、2バイトエラーから1バイトエラーに変化する。
【0034】
なお、データ発生回路4で取り得る全データ(256種類)を発生させても、第2のエラー検出回路3で1バイトエラーが検出できない場合がありえる。すなわち、固定エラーが発生しているデータ線のデータが、偶然伝送すべき真のデータであり、他の2本のデータ線でエラーが発生した2バイトエラーか、又は3バイト以上のエラーが発生している場合である。この場合は、エラー訂正能力を超えるエラーが発生したことになり、エラー訂正回路5から訂正が不可能なエラーが発生したことをエラー情報として出力する。
【0035】
以上説明した本実施の形態においては、以下に記載する効果を奏する。先ず、固定的にエラーが発生しているデータ線を検出し、そのデータを、取り得る全てのデータ種と置き換えることでエラーを訂正する。したがって、あるデータ線が固定的にエラーしている時に、固定的にエラーが発生しているデータ線とは別のデータ線で間欠的にエラーが発生した場合の合計2バイトのエラーを、上記の方法で固定エラーの訂正をして、間欠的に発生したエラーのみの1バイトエラーにすることができる。これにより、1バイトエラー訂正回路5で、あるデータ線が固定的にエラーしている時に、固定的にエラーが発生しているデータ線とは別のデータ線で間欠的にエラーが発生した場合の合計2バイトのエラーを訂正することができる。
【0036】
本実施の形態においては、1バイトエラー訂正回路5を用いているので、検査バイトを2バイトエラー訂正回路に必要な分だけ増やすことなく、すなわち、検査バイトの伝送のために必要となるLSIのI/O部の面積、伝送媒体等のハードウエハ資源を増やすことなく、固定エラーと、通常のエラーの2バイトエラーを、1バイトエラー訂正回路5により訂正することができる。
【0037】
その他の実施の形態.
次に、本発明の他の実施の形態について説明する。図4は、本発明の他の実施の形態にかかる誤り訂正回路を示す図である。上述の実施の形態においては、例えば、1バイトが8ビットの場合、データ発生回路4で発生するデータの種類は、最大256種類になる。256種類のデータを発生させ、1バイトエラーになるかどうかを照合するには、時間を要する。そこで、照合時間を短縮するために、図4のように、図1におけるデータ発生回路4及び第2のエラー検出回路3の組を複数組(第1のデータ発生回路41及び第2のエラー検出回路31乃至第1のデータ発生回路4n及び第2のエラー検出回路3n)用意し、データ発生及び照合を並列処理する。このことにより、処理時間を短縮することができる。
【0038】
また、上述の実施の形態においては、8ビットを1バイトとした1バイトエラー訂正/2バイトエラー検出のエラー訂正回路17の例について説明したが、1バイトの構成は8ビットに限らず、例えば2ビットでも4ビットでもよく、本発明は、1バイトのビット構成には依存しない。
【0039】
また、エラー訂正方式も1バイトエラー訂正/2バイトエラー検出以外のエラー訂正方式においても有効であることは明らかである。例えば、2バイトエラー訂正/3バイトエラー検出であれば、2バイトのエラー訂正符号で、固定エラーを含む3バイトのエラーを訂正することができる。
【0040】
さらに、上記実施の形態においては、バイトエラー訂正について説明したが、ビットエラー訂正のエラー訂正回路とすることもできる。この場合、固定的に発生している1ビットエラーを検出し、そのデータを0又は1で置き換えて、2ビットエラーを1ビットエラーになるようにすればよい。
【0041】
さらにまた、上述の実施の形態においては、データ伝送について説明したが、本発明は、記憶装置のエラー訂正においても有効である。その場合、エラー訂正符号発生回路で、データ8バイトに対し、例えば1バイトエラー訂正/2バイトエラー検出符号を3バイトを付加した11バイトデータを生成し、メモリに書き込む。そして、メモリからエラー訂正符号が付加された11バイトデータを読み出したとき、この読み出した11バイトデータにおいて、固定的に1バイトのエラーが発生していれば、他に間欠的に発生したエラーが1バイトあっても、すなわち、合計2バイトのエラーがあっても固定エラーが含まれていれば1バイトのエラー訂正符号で、2バイトエラーを訂正することができる。
【0042】
また、伝送モデルの他の例として、光伝送がある。図5は、光伝送モデルを示す図である。図5に示すように、図2の伝送路の送端側に電気/光変換回路(E/O(Electric/Optical)変換回路)19を付加し、伝送信号を光信号に変換する。光信号は、光ファイバを経由して受端側に伝送される。受端側では、光/電気変換回路(O/E変換回路)20にて光信号を電気信号に変換する。電気/光変換回路19及び光/電気変換回路20は、一般にDC信号を伝送することができないため、電気信号の入力部及び出力部には、AC結合用のコンデンサ18が挿入される。
【0043】
ここで、例えば、電気/光変換回路19が故障し、発光しなくなった場合、光/電気変換回路20は、データ出力をシャットダウンし、固定レベルの信号を出力するのが一般である。光/電気変換回路20から出力された固定レベルのデータは、DC信号であるため、AC結合用コンデンサ18を通ることができず、パラレル化回路15へは不定値が入力される。このように、電気/光変換回路19が故障し、発光しなくなった場合は、そのデータ線は固定エラーになるが、不定値となるため、上述のように、取り得るデータを全て発生させることにより、真のデータを生成することができる。なお、特定の伝送路14で固定エラーが発生する場合、シリアル回路13、AC結合コンデンサ18、O/E変換回路20、及びパラレル変換回路15のうちいずれか1以上に故障が生じた場合も、固定エラーが生じうる。
【0044】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【0045】
例えば、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【0046】
1 第1のエラー検出回路
2 固定エラー検出回路
3 第2のエラー検出回路
4 データ発生回路
5 エラー訂正回路
11 エラー訂正符号発生回路
12 符号化回路
13 シリアル化回路
14 伝送路
15 パラレル化回路
16 復号回路
17 エラー訂正回路

【特許請求の範囲】
【請求項1】
複数のビット/バイトで構成される入力データに含まれるエラーの種別を判別する第1のエラー検出部と、
エラー種別が前記入力データに1ビット/バイトのエラーが含まれる1ビット/バイトエラーである場合に、その入力データの誤りを訂正する誤り訂正部と、
エラー種別が前記1ビット/バイトエラーか、又は入力データに2ビット/バイトのエラーが含まれる2ビット/バイトエラーである場合に、当該エラーが特定のビット/バイトに固定的に発生している固定エラーであるか否かを判定する固定エラー検出部と、
前記2ビット/バイトエラーが発生し、かつ当該エラーに前記固定エラーが含まれる場合に、前記固定エラーが発生しているビット/バイトの代わりとなる代替ビット/バイトを繰り返し発生するデータ発生部と、
前記2ビット/バイトエラーが発生し、かつ当該エラーに前記固定エラーが含まれる入力データについて、前記代替ビット/バイトで前記固定エラーが発生しているビット/バイトを置き換えて、前記2ビット/バイトエラーが1ビット/バイトエラーとなるまで誤り検出を繰り返す第2のエラー検出部と、を有し、
前記誤り訂正部は、前記第2のエラー検出部で前記入力データが1ビット/バイトエラーとなったことを検出したら、当該入力データのエラー訂正を実行する、エラー訂正回路。
【請求項2】
前記入力データは、N(Nは自然数)ビット/バイトのエラー訂正能力と(N+1)ビット/バイトのエラー検出能力を有するデータであり、前記エラー訂正回路は、前記固定エラーを含む(N+1)ビット/バイトのエラーを訂正が可能である、請求項1記載のエラー訂正回路。
【請求項3】
前記入力データは、データ線からなる伝送路により伝送されるものであって、
前記固定エラー検出部は、ある特定のデータ線にエラーが発生していることを検出する、請求項1又は2記載のエラー訂正回路。
【請求項4】
前記入力データは、バイト単位のデータであって、パラレルデータがシリアル変換され伝送される、請求項1乃至3のいずれか1項記載のエラー訂正回路。
【請求項5】
前記固定エラー検出回路は、前記入力データに発生した誤りビット/バイトの履歴に基づき、前記固定エラーを検出する、請求項1乃至4のいずれか1項記載のエラー訂正回路。
【請求項6】
前記データ発生部及び第2のエラー検出部の組を複数有し、複数の前記第2のエラー検出部での前記2ビット/バイトエラーが1ビット/バイトエラーとなるまで誤り検出を繰り返すデータ照合処理を並列に実行する、請求項1乃至5のいずれか1項記載のエラー訂正回路。
【請求項7】
複数のビット/バイトで構成される入力データに含まれるエラーの種別を判別する第1のエラー検出工程と、
エラー種別が前記入力データに1ビット/バイトのエラーが含まれる1ビット/バイトエラーか、又は入力データに2ビット/バイトのエラーが含まれる2ビット/バイトエラーである場合に、当該エラーが特定のビット/バイトに固定的に発生している固定エラーであるか否かを判定する固定エラー検出工程と、
前記2ビット/バイトエラーが発生し、かつ当該エラーに前記固定エラーが含まれる場合に、前記固定エラーが発生しているビット/バイトの代わりとなる代替ビット/バイトを繰り返し発生するデータ発生工程と、
前記2ビット/バイトエラーが発生し、かつ当該エラーに前記固定エラーが含まれる入力データについて、前記代替ビット/バイトで前記固定エラーが発生しているビット/バイトを置き換えて、前記2ビット/バイトエラーが1ビット/バイトエラーとなるまで誤り検出を繰り返す第2のエラー検出工程と、
前記第2のエラー検出部で前記入力データが1ビット/バイトエラーとなったことを検出したら、当該入力データのエラー訂正を実行する誤り訂正工程とを有する、エラー訂正方法。
【請求項8】
前記入力データは、N(Nは自然数)ビット/バイトのエラー訂正能力と(N+1)ビット/バイトのエラー検出能力を有するデータであり、前記エラー訂正回路は、前記固定エラーを含む(N+1)ビット/バイトのエラーを訂正が可能である、請求項7記載のエラー訂正方法。
【請求項9】
前記入力データは、データ線からなる伝送路により伝送されるものであって、
前記固定エラー検出工程では、ある特定のデータ線にエラーが発生していることを検出する、請求項7又は8記載のエラー訂正方法。
【請求項10】
前記データ発生工程及び第2のエラー検出工程では、前記2ビット/バイトエラーが1ビット/バイトエラーとなるまで、新たなデータを発生し誤り検出を繰り返すデータ照合処理を複数の回路で並列的に実行する、請求項7乃至9のいずれか1項記載のエラー訂正方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−119813(P2012−119813A)
【公開日】平成24年6月21日(2012.6.21)
【国際特許分類】
【出願番号】特願2010−266135(P2010−266135)
【出願日】平成22年11月30日(2010.11.30)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】