(57)【要約】【課題】ソフトエラーが回路の動作に与える影響を低減することに寄与する半導体装置を提供する。【解決手段】半導体装置は、計算回路と、訂正回路と、選択回路と、を備える。計算回路は、入力信号から誤り訂正符号を計算する。訂正回路は、誤り訂正符号に基づき、入力信号の誤りを訂正する。選択回路は、入力信号を出力するか、誤りが訂正された入力信号を出力するか、を選択する。選択回路は、誤り訂正符号が誤りの存在を示していない場合に、入力信号を選択して出力する。【選択図】図１
2018101329.tif 000002
【特許請求の範囲】
【請求項１】
入力信号から誤り訂正符号を計算する、計算回路と、
前記誤り訂正符号に基づき、前記入力信号の誤りを訂正する、訂正回路と、
前記入力信号を出力するか、前記誤りが訂正された入力信号を出力するか、を選択する、選択回路と、
を備え、
前記誤り訂正符号が誤りの存在を示していない場合に、前記選択回路は、前記入力信号を選択して出力する、半導体装置。
【請求項２】
前記誤り訂正符号が誤りの存在を示す場合に、前記選択回路は、前記誤りが訂正された入力信号を選択して出力する、請求項１の半導体装置。
【請求項３】
前記誤り訂正符号に基づき、前記入力信号における誤りの位置を特定する、特定回路をさらに備え、
前記訂正回路は、前記特定回路により特定された位置の誤りを訂正する、請求項１又は２の半導体装置。
【請求項４】
前記訂正回路と前記選択回路の入力信号を選択する側の入力に接続され、前記入力信号を所定の時間遅延する、メモリ回路をさらに備える、請求項１乃至３のいずれか一項に記載の半導体装置。
【請求項５】
前記計算回路、前記訂正回路、前記選択回路及び前記メモリ回路は、ＦＰＧＡ（Field Programmable Gate Array）により実現される、請求項４の半導体装置。
【請求項６】
前記メモリ回路は、前記ＦＰＧＡのＥＣＣ（Error Check and Correct）機能によりソフトエラーが訂正される、請求項５の半導体装置。
【請求項７】
前記計算回路が計算する誤り訂正符号は、前方誤り訂正符号である、請求項１乃至６のいずれか一項に記載の半導体装置。
【請求項８】
前記計算回路は、少なくとも３回路以上に冗長化され、
前記少なくとも３回路以上の冗長化された計算回路から計算された複数の誤り訂正符号のうち、多数を示す誤り訂正符号を判定する、多数判定回路をさらに備え、
前記選択回路は、前記多数判定回路により多数であると判定された誤り訂正符号に基づき、前記入力信号を出力するか、前記誤りが訂正された入力信号を出力するか、を選択する、請求項１乃至７のいずれか一項に記載の半導体装置。
【請求項９】
請求項１乃至８のいずれか一項に記載の半導体装置を含む、受信装置。
【請求項１０】
入力信号から計算された誤り訂正符号に基づき、前記入力信号の誤りを訂正する、訂正回路を備える半導体装置において、
前記入力信号に誤りが存在するか否かを判定するステップと、
前記入力信号に誤りが存在しない場合に、前記訂正回路をバイパスして前記入力信号を出力するステップと、
を含む、信号出力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置、受信装置及び信号出力方法に関する。特に、前方誤り訂正符号（ＦＥＣ；Forward Error Correction）を処理する、半導体装置に関する。
【背景技術】
【０００２】
高速ディジタル通信装置の通信エラー訂正方法として、ＦＥＣ訂正技術が広く用いられている。また、通信エラー訂正技術は、装置間の通信だけでなく、装置内部のデバイス間の通信やデバイス内の回路間の通信にも適用される。例えば、特許文献１には、光ディスク記憶装置において、ＥＣＣ（Error Correction Code）により転送データの誤りが訂正されることが記載されている。また、特許文献２には、半導体記憶装置内部の通信に誤り訂正符号を用いることが記載されている。
【０００３】
高速ディジタル通信装置の進歩は激しく、最近のディジタル光通信機器においては、１００Ｇｂｐｓ容量の機器開発が一巡し、２００Ｇｂｐｓ容量、さらにその上位の４００Ｇｂｐｓ容量と進む勢いである。この様な状況において、ディジタル回路実現デバイスとして、主に高速・大容量ＦＰＧＡ（Field Programmable Gate Array）が用いられることが多い。
【０００４】
ＦＰＧＡは自由に配線を切り替え、所望の回路構成をプログラマブルに実現できることに特徴がある。より具体的には、ＦＰＧＡ内のＣｏｎｆｉｇ−ＲＡＭ（Random Access Memory）に回路データを書き込むことで所望の回路が実現される。つまり、Ｃｏｎｆｉｇ−ＲＡＭに設定された値（「１」又は「０」）によりＦＰＧＡ内の配線を自由に接続することが可能となり目的とする回路が実現される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−３０１７２２号公報
【特許文献２】特開２００９−５９４２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。
【０００７】
メモリには、保持している値が変化するソフトエラー問題がある。ＦＰＧＡのＣｏｎｆｉｇ−ＲＡＭにおいても、このソフトエラー問題は避けることができない。即ち、ソフトエラーによりＣｏｎｆｉｇ−ＲＡＭの保持値が反転し、ＦＰＧＡの回路が書き換わってＦＰＧＡの動作に影響することが懸念される。
【０００８】
ＦＥＣ回路に限って考えた場合、具体的には、以下の２つの影響が挙げられる。
【０００９】
第１の影響としては、被訂正信号にエラーが存在しないのに、ＦＥＣエラー検出・訂正回路による誤動作で、エラー有と誤認識して被訂正信号を訂正してしまう症状である。このような症状は誤訂正と呼ばれ、被訂正信号のエラーが増加する。本来、エラー訂正を行い、エラーを減らす目的のＦＥＣ回路がエラーを増加させる事は、ＦＥＣ回路としては望まれない症状である。とりわけ、被訂正信号に連続的にエラーを挿入するような症状に陥った場合は致命的な欠陥となる可能性がある。
【００１０】
第２の影響としては、被訂正信号にエラーが発生しているにも関わらずＦＥＣエラー検出・訂正回路による誤動作で、被訂正信号にエラーなしと判断し、被訂正信号のエラー訂正が行われない症状である。この場合、ＦＥＣエラー訂正能力が失われたことになり、ＦＥＣ回路としては望まれない症状ではある。しかし、当該症状が顕在化したとしても、ＦＥＣエラー検出・訂正回路がエラーを増加させているわけではないので致命的な欠陥とはならないことが多い。しかし、被訂正信号のエラー訂正ができないので、ＦＥＣ回路としての機能を発揮しておらず、この点では問題がある。
【００１１】
ここで、ＦＰＧＡに構成されるＦＥＣ回路におけるソフトエラーの影響を正確に把握するためには、ＦＥＣ回路の特性に対する理解が不可欠である。そこで、ＦＥＣ回路の特異性に関して考察する。
【００１２】
ＦＥＣ回路に適用される誤り訂正符号には、ＲＳ（Reed-Solomon）符号やＢＣＨ（Bose-Chaudhuri-Hocquenghem）符号が代表的なものとして例示される。このような誤り訂正符号は演算量が多く、どのような方式を用いたとしてもＦＰＧＡデバイスにおけるかなりの面積をＦＥＣ回路が占有することになる。発明者らが鋭意検討したところ、１００Ｇｂｐｓ容量や４００Ｇｂｐｓ容量の場合、おおよそチップ面積の１／３をＦＥＣ回路が占有することが判明している。
【００１３】
続いて、ソフトエラーの影響を具体的な数字により計算する。近年の２０ｎｍプロセスによる大規模ＦＰＧＡにおいては、当該大規模ＦＰＧＡのＣｏｎｆｉｇ−ＲＡＭのｂｉｔ数は３００Ｍｂｉｔ程度である。また、１Ｍｂｉｔ当たりのソフトエラーＦＩＴ数（１０の９乗時間（１０億時間）あたりの不良発生数率）は、約３３ＦＩＴ／Ｍｂｉｔ程度である。従って、Ｃｏｎｆｉｇ−ＲＡＭのソフトエラーＦＩＴ数は、３００Ｍｂｉｔ×３３ＦＩＴ／Ｍｂｉｔ＝約１００００ＦＩＴと算出される。
【００１４】
なお、ＦＰＧＡは配線の容易性を考慮して、縦配線領域と横配線領域の配線本数を潤沢に用意している。縦配線の本数をｎ（ｎは正の整数、以下同じ）、横配線の本数をｍ（ｍは正の整数、以下同じ）とした場合、スイッチマトリクスの交点はｎ×ｍ個となり、スイッチマトリクスに当該個数のＣｏｎｆｉｇ−ＲＡＭのｂｉｔ数が必要となる。ＦＰＧＡのベンダによれば、ＦＰＧＡの領域をほぼ使用可能上限まで使用した場合でも、スイッチマトリクスにて具体的に使用される交点は、搭載数の１／１０程度との指針が開示されている。つまり、Ｃｏｎｆｉｇ−ＲＡＭにおけるソフトエラーＦＩＴ数は上記の１／１０（１０００ＦＩＴ）と見積もることが、ＦＰＧＡの実情に沿うものである。
【００１５】
上記見積もり等を反映すると、最新プロセスの大規模ＦＰＧＡのＦＩＴ数は約１０００ＦＩＴと３ケタ台の数値を取ることになる。なお、以降は、ＦＰＧＡ上のＦＥＣ部（ＦＥＣ回路）に限定した説明であるため、ＦＥＣ部がチップ面積全体に占める割合（１／３）を考慮して、ＦＥＣ部のＦＩＴ数は３３３ＦＩＴ（１０００／３）とする。
【００１６】
仮に、当該ＦＥＣ回路を有するＦＰＧＡを搭載した装置を５０００台出荷し、１０年間使用したとすると、部品稼働時間の合計は以下の式（１）により求まる。
５０００台×１０年×３６５日×２４時間＝４．３８Ｅ（＋８）時間  ・・・（１）
【００１７】
従って、予測ソフトエラー故障数は下記の式（２）となる。
３３３Ｅ（−９）×４．３８Ｅ（＋８）＝１４６台  ・・・（２）
式（２）から５０００台の装置のうち、１０年で１４６台程度のソフトエラー故障が見込まれる。
【００１８】
この１４６台は、出荷母体の３％（１４６／５０００＝０．０２９２）程度である。通常、通信機器においては、予期せぬ故障に備え、システム全体として対応する場合が多く、冗長設計が行われる。しかし、出荷母体の３％近い故障が予想されるような装置は冗長構成を採用し通信品質を確保したとしても、故障対応の費用が増加する。その結果、適正な品質を適正なコストで提供する事が困難となる。
【００１９】
そのため、上記のような装置の冗長構成に替えて、ＦＰＧＡ内に組み込まれたＣｏｎｆｇ−ＲＡＭの自律エラー訂正機能を活用する設計が増えてきた。当該機能は、ＦＰＧＡのＣｏｎｆｉｇ−ＲＡＭにＣＲＣ（Cyclic Redundancy Check）機能を付加し、常時ＣＲＣエラーを検出するといった動作を行う。ＣＲＣエラー検出の結果、万一、Ｃｏｎｆｉｇ−ＲＡＭにソフトエラーが発生し、結果としてＣＲＣエラーが発生した場合は、Ｃｏｎｆｉｇ−ＲＡＭのエラーｂｉｔの訂正が自律的に実行される。
【００２０】
ここで、Ｃｏｎｆｉｇ−ＲＡＭがソフトエラーにより反転し、ＣＲＣ処理が行われて訂正が行われるまでの時間を検討する必要がある。例えば、大規模・高速向きの２０ｎｍプロセスＦＰＧＡの場合、ＣＲＣの並列処理数を多くするなどの工夫が組み込まれ、３０ｍｓｅｃオーダの時間で訂正（以下  訂正時間と称する）が可能となっている。
【００２１】
そこで、Ｃｏｎｆｉｇ−ＲＡＭの訂正時間を考慮して、もう一度ＦＥＣ回路の影響を考える。上述のように、Ｃｏｎｆｉｇ−ＲＡＭにソフトエラーが発生すると、２つの影響（症状）が想定される。
【００２２】
第１の影響は、所謂、誤訂正であり、被訂正信号のエラーが増加する症状である。エラーを減らす目的のＦＥＣ回路がエラーを増加させる事は、ＦＥＣ回路としては望まれない症状である。とりわけ、被訂正信号に連続的にエラーを挿入するような場合は、Ｃｏｎｆｉｇ−ＲＡＭのソフトエラーが訂正される数十ｍｓｅｃに限った現象であっても致命的となる場合が多い。
【００２３】
第２の影響は、被訂正信号のエラーを検出できず、ＦＥＣ回路のエラー訂正能力が失われている場合である。この場合、回路のＦＥＣエラー訂正能力が失われたためＦＥＣ回路としては望まれない状況ではあるが、エラーを増加させるわけではないので、大きな問題と認識されないことがある。また、Ｃｏｎｆｉｇ−ＲＡＭのソフトエラーが訂正される数十ｍｓｅｃに限った場合には、その影響は極めて限定的であり、通常、当該現象が問題となることは少ない。
【００２４】
上記考察を総括すると、Ｃｏｎｆｉｇ−ＲＡＭのエラー自律訂正機能が「有効」且つＦＥＣ回路のＣｏｎｆｉｇ−ＲＡＭにソフトエラーが発生した場合、ソフトエラーの発生部位がＦＥＣ回路のどの部分かにより症状は異なる（顕在化する症状はソフトエラー発生箇所に依存する）。つまり、問題視されない軽微な場合から致命的な欠陥として扱われる場合など、種々のケースが想定される。
【００２５】
以上のような状況の下、Ｃｏｎｆｉｇ−ＲＡＭにてソフトエラーが発生した際、ＦＥＣ回路のように、回路が誤動作すると深刻な結果（例えば、エラーを増幅）を招く回路領域において、簡便な対策で当該ソフトエラーの影響が低減（隠蔽）されるような機能の実現が強く望まれている。
【００２６】
なお、上記した特許文献１、２は、当該要望を満たす技術を開示するものではない。例えば、特許文献２に開示された技術は、エラーがない場合に限り誤り訂正部への電源供給を停止する、あるいは、クロック信号の供給を停止することによって動作（処理）を停止している。当該処理（動作の停止）は、半導体装置の消費電力低減を目的としたものであり、ソフトエラーの影響を低減することとは無関係である。
【００２７】
本発明は、ソフトエラーが回路の動作に与える影響を低減することに寄与する、半導体装置、受信装置及び信号出力方法を提供することを目的とする。
【課題を解決するための手段】
【００２８】
本発明の第１の視点によれば、入力信号から誤り訂正符号を計算する、計算回路と、前記誤り訂正符号に基づき、前記入力信号の誤りを訂正する、訂正回路と、前記入力信号を出力するか、前記誤りが訂正された入力信号を出力するか、を選択する、選択回路と、を備え、前記誤り訂正符号が誤りの存在を示していない場合に、前記選択回路は、前記入力信号を選択して出力する、半導体装置が提供される。
【００２９】
本発明の第２の視点によれば、上述の半導体装置を含む受信装置が提供される。
【００３０】
本発明の第３の視点によれば、入力信号から計算された誤り訂正符号に基づき、前記入力信号の誤りを訂正する、訂正回路を備える半導体装置において、前記入力信号に誤りが存在するか否かを判定するステップと、前記入力信号に誤りが存在しない場合に、前記訂正回路をバイパスして前記入力信号を出力するステップと、を含む、信号出力方法が提供される。
【発明の効果】
【００３１】
本発明の各視点によれば、ソフトエラーが回路の動作に与える影響を低減することに寄与する、半導体装置、受信装置及び信号出力方法が、提供される。
【図面の簡単な説明】
【００３２】
【図１】一実施形態の概要を説明するための図である。
【図２】第１の実施形態に係る通信システムの構成の一例を示す図である。
【図３】ＦＥＣデコーダの内部構成の一例を示すブロック図である。
【図４】入力信号にエラーが存在しない場合のＦＥＣデコーダの動作の一例を示す図である。
【図５】入力信号にエラーが存在しない場合のＦＥＣデコーダの動作の一例を示す図である。
【図６】入力信号にエラーが存在する場合のＦＥＣデコーダの動作の一例を示す図である。
【図７】入力信号にエラーが存在する場合のＦＥＣデコーダの動作の一例を示す図である。
【図８】入力信号にエラーが存在する場合のＦＥＣデコーダの動作の一例を示す図である。
【図９】ＦＥＣデコーダの動作の一例を示すフローチャートである。
【図１０】ＦＥＣデコーダの一構成を示す図である。
【図１１】第２の実施形態に係るＦＥＣデコーダの内部構成の一例を示す図である。
【図１２】ＯＴＮにおけるＦＥＣフレーム構成（バイト数）を示す図である。
【発明を実施するための形態】
【００３３】
初めに、一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
【００３４】
一実施形態に係る半導体装置１００は、計算回路１０１と、訂正回路１０２と、選択回路１０３と、を備える。計算回路１０１は、入力信号から誤り訂正符号を計算する。訂正回路１０２は、誤り訂正符号に基づき、入力信号の誤りを訂正する。選択回路１０３は、入力信号を出力するか、誤りが訂正された入力信号を出力するか、を選択する。さらに、選択回路１０３は、誤り訂正符号が誤りの存在を示していない場合に、入力信号を選択して出力する。
【００３５】
このように、半導体装置１００は、計算回路１０１により計算される誤り訂正符号により、被訂正信号（入力信号）にエラーが存在するか否かを判定する。判定結果が、「エラーなし」の場合には、訂正回路１０２はバイパスされる。つまり、ＦＥＣ回路の計算回路１０１で、入力信号（通信回線）にエラーがないと判断されている間は、ＦＰＧＡのＣｏｎｆｉｇ−ＲＡＭに生じ得るソフトエラーにより計算結果が誤っている可能性がある訂正回路１０２の出力を使用せず、当該回路をバイパスした入力信号が選択され、出力される。その結果、半導体装置１００におけるソフトエラーの影響を低減することができる。とりわけ、光回線通信等のエラー発生頻度が低い高品質回線において、上記ソフトエラー低減の効果は顕著であり、ソフトエラーに強い半導体装置（回路）が提供される。
【００３６】
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。なお、各実施形態において同一構成要素には同一の符号を付し、その説明を省略する。また、各図におけるブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号（データ）の流れを模式的に示すものであり、双方向性を排除するものではない。
【００３７】
［第１の実施形態］
第１の実施形態について、図面を用いてより詳細に説明する。
【００３８】
図２は、第１の実施形態に係る通信システムの構成の一例を示す図である。図２を参照すると、通信システムは、送信器１０と受信器２０を含んで構成される。送信器１０と受信器２０は、光ファイバにより接続されたデータセンタ等に配置される機器であり、光伝送ネットワーク（ＯＴＮ；Optical Transport Network）に対応した装置である。
【００３９】
送信器１０は、ＯＴＮ（Optical Transport Network）装置１１と、ＦＥＣエンコーダ１２と、電気光変換器１３と、を含んで構成される。
【００４０】
ＯＴＮ装置１１は、データセンタ内の端末等から取得したデータをＦＥＣエンコーダ１２に出力する。ＦＥＣエンコーダ１２は、取得したデータに対して前方誤り訂正符号（ＦＥＣ）を付加し、電気光変換器１３に出力する。電気光変換器１３は、誤り訂正符号（ＦＥＣ）が付加されたデータを、電気信号から光信号に変換し、光ファイバを介して受信器２０に向けて出力する。
【００４１】
受信器２０は、送信器１０と対となる装置であり、ＯＴＮ装置２１と、ＦＥＣデコーダ２２と、光電気変換器２３と、を含んで構成される。送信器１０から受信した光信号は、光電気変換器２３により電気信号に変換されてＦＥＣデコーダ２２に出力される。ＦＥＣデコーダ２２は、必要に応じて受信信号に付加されたＦＥＣに基づきデータを訂正し、受信信号をＯＴＮ装置２１に出力する。ＯＴＮ装置２１は、受信信号の宛先となる端末等に送信する。
【００４２】
なお、図２においては、便宜上、送信器１０と受信器２０は異なる構成を備えるものとして説明しているが、実際には、１つの送受信器が送信器と受信器の役割を兼ねることが多い。その場合、送受信機は、図２に示す送信器１０と受信器２０の構成要素を備えていればよい。
【００４３】
［ＦＥＣデコーダの構成］
次に、第１の実施形態に係るＦＥＣデコーダ２２の構成について説明する。ＦＥＣデコーダ２２は、ＦＰＧＡにより実現される半導体装置であって、上述の半導体装置１００に相当する。
【００４４】
図３は、ＦＥＣデコーダ２２の内部構成の一例を示すブロック図である。図３を参照すると、ＦＥＣデコーダ２２は、シンドローム計算回路２０１と、ＲＡＭ２０２と、誤り位置特定回路２０３と、誤り訂正回路２０４と、セレクタ２０５と、を含んで構成される。
【００４５】
シンドローム計算回路２０１は、入力信号から誤り訂正符号を計算する計算回路である。具体的には、シンドローム計算回路２０１は、入力信号を受け付け、送信器１０のＦＥＣエンコーダ１２と同一のＣＲＣ多項式によりＣＲＣ計算を実行する。仮に、光ファイバ通信回線（以下、単に光回線とも称する）にエラーが生じた場合は、ＣＲＣ値が「０」とならず、「０」以外の値となる。通常、ＣＲＣ計算値はシンドロームと呼ばれ、誤り位置の特定やエラー訂正に利用される。シンドローム計算回路２０１によるＣＲＣ値は誤り位置特定回路２０３に出力される。
【００４６】
また、シンドローム計算回路２０１は、計算したＣＲＣ値によりエラー有無信号を生成し、当該信号をセレクタ２０５に出力する。具体的には、シンドローム計算回路２０１は、光回線にエラーが生じていれば（ＣＲＣ値が０以外であれば）、エラー有無信号に「１」を設定し、エラーの発生をセレクタ２０５に通知する。一方、シンドローム計算回路２０１は、光回線にエラーが生じていなければ（ＣＲＣ値が０であれば）、エラー有無信号に「０」を設定し、エラー非発生をセレクタ２０５に通知する。このように、シンドローム計算回路２０１は、計算したＣＲＣ値（シンドローム）が「０」であるか否かに応じて、エラー有無信号を生成する。
【００４７】
ＲＡＭ２０２は、入力信号を受け付け、当該入力信号を一時的に記憶するバッファメモリである。ＲＡＭ２０２は、シンドローム計算回路２０１や誤り位置特定回路２０３による遅延時間を吸収するメモリ回路である。ＲＡＭ２０２に入力された入力信号は、所定の時間差を有して誤り訂正回路２０４及びセレクタ２０５に出力される。つまり、ＲＡＭ２０２の出力は、誤り訂正回路２０４とセレクタ２０５の入力信号を選択する側の入力に接続され、ＦＥＣによるエラー訂正等により生じる遅延を吸収するために入力信号を所定の時間遅延するために設けられる。なお、遅延時間を吸収するためには、ＲＡＭ２０２に対応して設けられたメモリコントローラ（図示せず）が、誤り訂正回路２０４に向けて出力するデータを読み出すアドレスと、セレクタ２０５に向けて出力するデータを読み出すアドレスと、が異なるように設定しておけばよい。これら２つのアドレスは、エラー訂正等に要する時間に応じて適宜調整する。
【００４８】
あるいは、誤り訂正回路２０４には入力信号を直接入力しつつ、ＦＩＦＯ（First In First Out）構造を有するメモリを用意し、当該メモリにより遅延時間の吸収（エラー訂正時間等の確保）を実現してもよい。なお、後述するように、ＲＡＭ２０２のソフトエラーは、ＦＰＧＡのＥＣＣ（Error Check and Correct）機能により訂正される。
【００４９】
誤り位置特定回路２０３は、シンドローム計算回路２０１により計算された誤り訂正符号（シンドローム）に基づき入力信号におけるエラー位置を特定する回路である。誤り位置特定回路２０３は、エラー位置の特定結果を誤り訂正回路２０４に出力する。
【００５０】
誤り訂正回路２０４は、シンドローム計算回路２０１により計算された誤り訂正符号に基づき、入力信号の誤りを訂正する訂正回路である。具体的には、誤り訂正回路２０４は、誤り位置特定回路２０３によるエラー位置特定結果に応じてＲＡＭ２０２から出力された入力信号のエラーを訂正する回路である。誤り訂正回路２０４は、訂正された入力信号をセレクタ２０５に出力する。
【００５１】
セレクタ２０５は、エラー有無信号に応じて、ＲＡＭ２０２から出力された入力信号を出力するか、誤り訂正回路２０４によりエラー訂正された入力信号を出力するか切り替える回路である。
【００５２】
具体的には、エラー有無信号が「０」を示している場合（光回線にエラーが生じていない場合）には、セレクタ２０５は、ＲＡＭ２０２から出力された入力信号を出力信号として出力する。エラー有無信号が「１」を示している場合（光回線にエラーが生じている場合）には、セレクタ２０５は、誤り訂正回路２０４から出力された入力信号を出力信号として出力する。
【００５３】
［動作の説明］
次に、図４〜図９を参照しつつ、第１の実施形態に係るＦＥＣデコーダ２２の動作を説明する。
【００５４】
図４は、入力信号にエラーが存在しない場合のＦＥＣデコーダ２２の動作の一例を示す図である。図４において、入力信号にエラーが存在しないので、エラー有無信号は「０」を指し示す。その結果、セレクタ２０５はＲＡＭ２０２側の入力を選択し、出力信号として出力する。
【００５５】
従って、図４に示すソフトエラー発生区間において、誤り訂正回路２０４にソフトエラーが発生した場合であっても、ＦＥＣデコーダ２２の最終的な出力信号にエラーが現れることがない。即ち、ＦＥＣデコーダ２２は、誤り訂正回路２０４に生じたソフトエラーの影響を受けない。
【００５６】
また、ＦＰＧＡの場合は「ＲＡＭ」にはＥＣＣ（Error Check and Correct）回路が適用されるので、ソフトエラーでＲＡＭ内部のｂｉｔが反転した場合（ＲＡＭにエラーが発生した場合）、ＲＡＭに搭載されているＥＣＣ回路でエラーが訂正されるので、ＥＣＣ適用ＲＡＭはソフトエラーの考慮は不要というのがＦＰＧＡを使用する際の定着した考え方になっている。本願開示においても、上記考えに従い、ＲＡＭ２０２にはソフトエラーの影響は存在しないものとしている。
【００５７】
また、図５に示すように、ソフトエラー発生区間にてエラーが多発する場合もあり得る。このような場合、当該エラーに対して何らの対策を施さなければ、システムにとって重大な結果を及ぼす可能性がある（致命傷となる可能性がある）。しかし、図４を参照して説明した場合と同様に、第１の実施形態に係るＦＥＣデコーダ２２では、その出力信号にエラーが現れることはない。エラー有無信号が「０」を示すためである。
【００５８】
図６は、入力信号にエラーが存在する場合のＦＥＣデコーダ２２の動作の一例を示す図である。エラーがあるフレーム（入力信号）がＦＥＣデコーダ２２に入力されると、シンドローム計算回路２０１は、エラー有無信号を「１」に設定する（図６のＴ１）。また、この場合、シンドローム計算回路２０１、誤り位置特定回路２０３及び誤り訂正回路２０４の動作により、エラーが訂正された信号が生成される。
【００５９】
その後、エラー有無信号が「１」であるため、セレクタ２０５は、誤り訂正回路２０４の出力を選択し、出力する。一方、エラーが存在しないフレームでは、エラー有無信号が「０」であるため、ＲＡＭ２０２側の出力がセレクタ２０５により選択され、出力信号として出力される。結果として、入力信号にエラーが存在したとしても、エラーデータが出力されることはない。
【００６０】
また、図７に示すように、ソフトエラー発生区間にて入力信号にエラーが発生する場合もあり得る。この場合、図７を参照すると、ソフトエラー発生区間で誤り訂正回路２０４の出力にエラーが存在しても、ソフトエラーによるエラーのフレーム（誤り訂正回路２０４の出力）と入力信号のエラーによるエラーフレームが異なっている場合には、出力信号にエラーが現れることはない。セレクタ２０５はエラー有無信号に応じて動作し、セレクタ２０５がソフトエラーによるエラーフレームを選択することがないためである。
【００６１】
換言すれば、図８に示すように、ソフトエラー発生区間にて誤り訂正回路２０４の出力信号にエラーが発生し、且つ、ソフトエラーによるエラーのフレームと入力信号エラーによるエラーフレームが同一の場合（１つのフレームに信号エラー「×」が２つある存在する場合）に限り、出力信号にエラーが現れることになる。つまり、入力信号にエラーが発生しているため、エラー有無信号が「１」に設定され、誤り訂正回路２０４の出力が選択される。その際、ソフトエラーにより誤り訂正回路２０４が正常動作できず、入力信号のエラーが訂正されず（エラーが残り）、訂正されないエラー信号がそのまま出力されてしまう。
【００６２】
ＦＥＣデコーダ２２の動作を機能的な面から説明すると、図９に示すフローチャートのとおりとなる。
【００６３】
初めに、ＦＥＣデコーダ２２は、入力信号に誤りが存在するか否かを判定する（ステップＳ０１）。具体的には、シンドローム計算回路２０１が計算したシンドロームに基づき、誤りが存在するか否かを判定する。
【００６４】
シンドローム（誤り訂正符号）が入力信号に誤りが存在しないことを示している場合（ステップＳ０１、Ｎｏ分岐）には、ＦＥＣデコーダ２２は、誤り位置特定回路２０３や誤り訂正回路２０４をバイパスして入力信号を出力する（ステップＳ０２）。
【００６５】
シンドロームが（誤り訂正符号）が入力信号に誤りが存在することを示している場合（ステップＳ０１、Ｙｅｓ分岐）には、ＦＥＣデコーダ２２は、誤り位置特定回路２０３や誤り訂正回路２０４によるエラー訂正結果を出力する（ステップＳ０３）。
【００６６】
ここで、通常、ＦＥＣデコーダは、図１０に示すような構成により実現される。つまり、通常のＦＥＣデコーダ２２ａは、セレクタ２０５を備えておらず、また、シンドローム計算回路２０１ａは「エラー有無信号」を出力しない。対して、第１の実施形態に係るＦＥＣデコーダ２２では、シンドローム計算回路２０１がエラー有無信号を出力し、セレクタ２０５は当該信号に基づいて入力信号（ＲＡＭ２０２の出力、誤り訂正回路２０４の出力）を切り替える。
【００６７】
被訂正信号（入力信号）にエラーが存在するかどうかの判定は、シンドローム計算回路２０１で確認される。シンドローム計算回路２０１は、ＣＲＣ演算の機能を実現する回路であり、その回路規模は極めて小さい。発明者らの知見によれば、シンドローム計算回路２０１の回路規模は、ＦＥＣ部全体の１／１０以下である。そのため、以下、シンドローム計算回路２０１の回路規模は、ＦＥＣ部（ＦＥＣデコーダ２２）の１／１０であると仮定して以下の考察を行う。
【００６８】
具体的には、シンドローム計算回路２０１において被訂正信号にエラーが確認されたＦＥＣフレームに限定して、セレクタ２０５をＦＥＣエラーの誤り訂正回路２０４側に切り替える本願開示の場合、ソフトエラーにより誤り位置特定回路２０３、誤り訂正回路２０４が故障した際の影響がシステムに現れる確率を考える。
【００６９】
ＦＥＣデコーダ２２では、予期せぬエラーに備えてＦＥＣ機能を適用しているが、現実的には被訂正信号にエラーが発生しないような回線の場合は、セレクタ２０５は、常時、ＲＡＭ２０２側の入力を選択することになる。第１の実施形態では、図３の回路（エラー訂正システム）がソフトエラーで故障する要因は、シンドローム計算回路２０１の故障に限ると絞り込むことができる。なぜならば、シンドローム計算回路２０１が正常に動作し、正しいエラー有無信号を出力している間は、上記説明したとおり、誤り訂正回路２０４等に生じたソフトエラーの影響は顕在化しないためである。
【００７０】
また、上述のように、シンドローム計算回路２０１の回路規模は、ＦＥＣデコーダ２２全体の１／１０である。このような前提の下、具体的な故障数を考える。例えば、５０００台の装置が１０年間稼働した場合であって、第１の実施形態にて説明した対策を施さない場合（図１０に示すようなＦＥＣデコーダ２２ａの場合）のソフトエラーに起因する故障数は、上記説明したように１４６台である。
【００７１】
一方、第１の実施形態では、ソフトエラーに起因する故障は、シンドローム計算回路２０１の故障に限定できるため、５０００台の装置のうちソフトエラーによる故障数は１４６×１／１０＝１５台となり、出荷母体の０．３％  （１５／５０００＝０．００３）と大幅に改善される。
【００７２】
以上のように、第１の実施形態に係るＦＥＣデコーダ２２では、誤り位置特定回路２０３や誤り訂正回路２０４にソフトエラーが発生することで誤動作の要因が生じても、入力信号そのものにエラーが存在しなければ、セレクタ２０５のＲＡＭ２０２側の入力が選択されるので、出力信号には正常な信号が出力されることになる。即ち、ソフトエラーが回路の動作に与える影響が低減されたＦＥＣデコーダ２２を得ることができる。
【００７３】
［第２の実施形態］
続いて、第２の実施形態について図面を参照して詳細に説明する。
【００７４】
第１の実施形態に係るＦＥＣデコーダ２２は、ソフトエラーによる影響を大幅に低減できるものであるが、ソフトエラーの影響が僅かに残る。上記の例では、５０００台のうち１５台には、シンドローム計算回路２０１がソフトエラーの影響を受けてＦＥＣデコーダ２２の動作に影響を与える。第２の実施形態では、当該シンドローム計算回路２０１にて発生するソフトエラーの影響も排除したＦＥＣデコーダ２２ｂを説明する。
【００７５】
図１１は、第２の実施形態に係るＦＥＣデコーダ２２ｂの内部構成の一例を示す図である。第１の実施形態に係るＦＥＣデコーダ２２と第２の実施形態に係るＦＥＣデコーダ２２ｂの相違点は、シンドローム計算回路２０１が３回路に冗長化されている点と、多数判定回路２０６を備える点である。
【００７６】
ＦＥＣデコーダ２２ｂは、第１の実施形態にて説明したシンドローム計算回路２０１と同等の機能を持つ回路を３つ備える。各シンドローム計算回路２０１の出力は、多数判定回路２０６に入力される。
【００７７】
多数判定回路２０６は、３台のシンドローム計算回路２０１が出力する信号値（シンドローム、エラー有無信号）のうち多数の信号値を選択し、後段の回路に出力する。より具体的には、多数判定回路２０６は、計算された３つのシンドロームのうち、多数を占めるシンドロームを誤り位置特定回路２０３に出力する。また、多数判定回路２０６は、３つのエラー有無信号のうち、多数を占めるエラー有無信号をセレクタ２０５に出力する。
【００７８】
ＲＡＭ２０２やセレクタ２０５の動作は、第１の実施形態にて説明した動作と相違しないので、詳細な説明は省略する。なお、図１１では、３回路にシンドローム計算回路２０１を冗長化することを説明したが、これは例示であり、３回路以上にシンドローム計算回路を冗長化できることは勿論である。なお、冗長化したシンドローム計算回路の数が偶数である場合や各シンドローム計算回路２０１が出力するシンドロームがそれぞれ異なっている場合等、多数を示す信号を決定することが困難である場合には、複数のシンドローム計算回路２０１のうちいずれの回路が出力する信号を優先するかを予め定める等の対応をすればよい。
【００７９】
以上のように、第２の実施形態では、シンドローム計算回路２０１は、少なくとも３回路以上に冗長化され、３回路以上の冗長化されたシンドローム計算回路２０１から計算された複数のエラー有無信号のうち、多数を示す誤りエラー有無信号を判定する、多数判定回路２０６を備える。セレクタ２０５は、多数判定回路２０６により多数であると判定されたエラー有無信号に基づき、入力信号を出力するか、誤りが訂正された入力信号を出力するか、を選択する。つまり、第２の実施形態では、シンドローム計算回路２０１に対して、所謂、Ｔｒｉｐｌｅ−Ｒｅｄｕｎｄａｎｃｙ方式を適用し、当該回路を冗長化する。その結果、シンドローム計算回路２０１がソフトエラーの影響を受けることがなくなり、シンドローム計算回路２０１の故障は０となる。即ち、ＦＥＣデコーダ２２ｂの故障（装置故障）も発生しないことになる。
【００８０】
上記の例でいえば、５０００台の装置のうち、１０年間の故障台数は、第１の実施形態では１５台であったものが、Ｔｒｉｐｌｅ−Ｒｅｄｕｎｄａｎｃｙの効果で０台となる。
【００８１】
また、本来の回路規模が１／１０の回路に限り、Ｔｒｉｐｌｅ−Ｒｅｄｕｎｄａｎｃｙ方式を適用するので、ＦＥＣデコーダそのものの回路規模が３倍以上となるのではなく、限られた回路領域が多少広がるに留まり、コストが大幅に上昇することもない。
【００８２】
以上、第１の実施形態ではソフトエラーにより故障と判定される装置を大幅に減少させ、第２の実施形態ではソフトエラーの影響が顕在化する装置をなくすことができる。しかし、第１及び第２の実施形態のいずれにおいても、ごく僅かにソフトエラーの影響が生じることがある。
【００８３】
以下、上記僅かに生じるソフトエラーの影響を説明する。
【００８４】
例えば、具体的な数値例として、被訂正信号のエラーレートが１Ｅ（−６）程度と通信回線としては、かなり劣悪な状態を仮定する。１００ＧｂｐｓのＯＴＮ回線であれば、１秒間に１００Ｇｂｉｔ（１００Ｅ（＋９）ｂｉｔ）の信号が存在し、被訂正信号に発生するエラー数は１００Ｅ（＋９）×１Ｅ（−６）＝１０００００ｂｉｔ／ｓｅｃとなる。
【００８５】
また、ＯＴＮフレームのバイト数を示す図１２を参照すると、当該フレームのバイト数は、４０８０バイトであり、ｂｉｔ数に換算すると  ４０８０×８＝３２６４０ｂｉｔとなる。従って、１秒間のフレーム数は１００Ｅ（＋９）／３２６４０＝３０６３７２５フレームとなる。
【００８６】
ここで、エラーレートが１Ｅ（−６）の場合、１秒間の光回線のエラー数が１０００００ｂｉｔであり、１００Ｇ信号のフレーム数が３０６３７２５であるので、平均すると３０フレームに１回、被訂正信号にエラーが入ることになる（３０６３７２５／１０００００＝３０）。
【００８７】
当該事実は、ソフトエラーが発生した場合、Ｃｏｎｆｉｇ−ＲＡＭの自律エラー訂正機能による訂正完了までの約３０ｍｓｅｃの間、ソフトエラーによる影響を１／３０に減少させることはできるが完全に排除することはできないことを示す。
【００８８】
即ち、第１の実施形態に係るＦＥＣデコーダ２２では、１０年間の装置故障の台数は、シンドローム計算回路２０１の影響で故障になる台数が１４６×１／１０＝１５台となる。一方、本来、ソフトエラーの影響を受けるはずの１４６台のうちの１３１台（１４６−１５＝１３１）は、明確な故障が顕在化することはないが、ソフトエラーの影響が継続する約３０ｍｓｅｃ間において、ソフトエラーによる影響が僅かに残る。
【００８９】
この点は、第２の実施形態でも同様であり、シンドローム計算回路２０１以外の回路がソフトエラーを受ける確率（全体の９０％）による１３１台は明確な故障は発生しないが、ソフトエラーの影響が継続する約３０ｍｓｅｃ間において、ソフトエラーによる影響が僅かに残る。但し、当該影響は、エラーを増幅する等の深刻な現象ではないため、通常の運用において問題となることはない。
【００９０】
以上説明したように、本願開示の方式は、光回線にエラーが無いほど有効であると言える。また、エラーレートが劣悪な回線ではソフトエラーの影響を完全に排除できないが、その影響は極めて限定的である。なお、上記説明した計算は平均的な数値を使用している。その理由は、光ファイバ回線ではホワイトノイズに伴うランダムなエラー発生が前提なためである。つまり、無線通信のようなバーストエラーの考慮は不要であり、平均値を使用する事により、平均的な事象の説明が可能である。
【００９１】
第１及び第２の実施形態にて説明したＦＥＣデコーダ２２は例示であって、種々の変形が可能である。例えば、誤り訂正回路２０４の内部にセレクタを設け、当該回路にエラー有無信号を供給し、誤り訂正回路２０４がエラー有無信号に基づき、出力信号に設定する入力信号を選択してもよい。あるいは、シンドローム計算回路２０１からエラー有無信号をセレクタ２０５に出力するのではなく、計算されたシンドロームを直接セレクタ２０５に出力し、セレクタ２０５にエラー有無を判定する機能を設けても良い。即ち、シンドロームに基づいて入力信号のエラーを判定し、エラーが存在しない場合に、誤り位置特定回路２０３、誤り訂正回路２０４をバイパスできる構成であれば、どのような回路構成であってもよい。
【００９２】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
［付記１］
上述の第１の視点に係る半導体装置のとおりである。
［付記２］
前記誤り訂正符号が誤りの存在を示す場合に、前記選択回路は、前記誤りが訂正された入力信号を選択して出力する、付記１の半導体装置。
［付記３］
前記誤り訂正符号に基づき、前記入力信号における誤りの位置を特定する、特定回路をさらに備え、
前記訂正回路は、前記特定回路により特定された位置の誤りを訂正する、付記１又は２の半導体装置。
［付記４］
前記訂正回路と前記選択回路の入力信号を選択する側の入力に接続され、前記入力信号を所定の時間遅延する、メモリ回路をさらに備える、付記１乃至３のいずれか一に記載の半導体装置。
［付記５］
前記計算回路、前記訂正回路、前記選択回路及び前記メモリ回路は、ＦＰＧＡ（Field Programmable Gate Array）により実現される、付記４の半導体装置。
［付記６］
前記メモリ回路は、前記ＦＰＧＡのＥＣＣ（Error Check and Correct）機能によりソフトエラーが訂正される、付記５の半導体装置。
［付記７］
前記計算回路が計算する誤り訂正符号は、前方誤り訂正符号である、付記１乃至６のいずれか一に記載の半導体装置。
［付記８］
前記計算回路は、少なくとも３回路以上に冗長化され、
前記少なくとも３回路以上の冗長化された計算回路から計算された複数の誤り訂正符号のうち、多数を示す誤り訂正符号を判定する、多数判定回路をさらに備え、
前記選択回路は、前記多数判定回路により多数であると判定された誤り訂正符号に基づき、前記入力信号を出力するか、前記誤りが訂正された入力信号を出力するか、を選択する、付記１乃至７のいずれか一に記載の半導体装置。
［付記９］
上述の第２の視点に係る受信装置のとおりである。
［付記１０］
上述の第３の視点に係る信号出力方法のとおりである。
［付記１１］
入力信号から計算された誤り訂正符号に基づき、前記入力信号の誤りを訂正する、訂正回路を備え、
前記入力信号に誤りが存在しない場合に、前記訂正回路をバイパスして前記入力信号を出力する、半導体装置。
【００９３】
なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００９４】
１０  送信器
１１、２１  ＯＴＮ装置
１２  ＦＥＣエンコーダ
１３  電気光変換器
２０  受信器
２２、２２ａ、２２ｂ  ＦＥＣデコーダ
２３  光電気変換器
１００  半導体装置
１０１  計算回路
１０２  訂正回路
１０３  選択回路
２０１、２０１ａ、２０１−１〜２０１−３  シンドローム計算回路
２０２  ＲＡＭ
２０３  誤り位置特定回路
２０４  誤り訂正回路
２０５  セレクタ
２０６  多数判定回路
【図１】
2018101329.tif 000003
【図２】
2018101329.tif 000004
【図３】
2018101329.tif 000005
【図４】
2018101329.tif 000006
【図５】
2018101329.tif 000007
【図６】
2018101329.tif 000008
【図７】
2018101329.tif 000009
【図８】
2018101329.tif 000010
【図９】
2018101329.tif 000011
【図１０】
2018101329.tif 000012
【図１１】
2018101329.tif 000013
【図１２】
2018101329.tif 000014