JP4677638B2 - 誤り訂正復号回路 - Google Patents

誤り訂正復号回路 Download PDF

Info

Publication number
JP4677638B2
JP4677638B2 JP2006118036A JP2006118036A JP4677638B2 JP 4677638 B2 JP4677638 B2 JP 4677638B2 JP 2006118036 A JP2006118036 A JP 2006118036A JP 2006118036 A JP2006118036 A JP 2006118036A JP 4677638 B2 JP4677638 B2 JP 4677638B2
Authority
JP
Japan
Prior art keywords
data
circuit
error correction
input
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006118036A
Other languages
English (en)
Other versions
JP2007295089A (ja
Inventor
武史 小池
正敏 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujikura Ltd
Oki Electric Industry Co Ltd
Original Assignee
Fujikura Ltd
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujikura Ltd, Oki Electric Industry Co Ltd filed Critical Fujikura Ltd
Priority to JP2006118036A priority Critical patent/JP4677638B2/ja
Publication of JP2007295089A publication Critical patent/JP2007295089A/ja
Application granted granted Critical
Publication of JP4677638B2 publication Critical patent/JP4677638B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

この発明は、ブロック符号を用いて誤り訂正符号化されたデータを復号化する回路に関する。この発明は、例えば、リードソロモン符号化されたデータをIEEE802.3 勧告に準拠したフレームに格納して転送するシステムに採用することができる。
デジタルデータの通信や記録を行う場合には、ノイズ等に起因してビット誤りが発生する場合がある。このような誤りを検出・訂正するための技術の一つとして、前方誤り訂正(Forwarded Error Correction:FEC)が知られている。前方誤り訂正は、冗長ビットを用いて、伝送データに発生する誤りビットを訂正する技術である。以下、FECを採用した通信フレームを、FEC(Forwarded Error Correction)フレームと記す。
また、FECを行う技術の一つとして、ブロック符号を用いる技術が知られている。この技術では、通信或いは記録するデータをブロックに分割して、符号化処理を行う。ブロック符号を用いた誤り訂正技術は、例えばデータ通信等で採用されている。
さらに、ブロック符号の一つとして、リードソロモン符号が知られている。リードソロモン符号を用いた誤り訂正技術には、高度な誤り訂正能力を有する反面、演算処理が複雑で処理時間が長くなるという欠点がある。
リードソロモン符号等のブロック符号誤り訂正技術をデータ通信に用いた規格としては、例えば、IEEE(Institute of Electrical and Electronic Engineers)の802.3ah 勧告が知られている。IEEE802.3ah 勧告は、EFM(Ethernet(登録商標) in the First Mile)とも称され、例えばGE−PON(Gigabit Ethernet(登録商標)-Passive Optical Network)で採用されている。
図9は、IEEE802.3ah 勧告に準拠したFECフレームの構造を示す概念図である。図9において、S_FECは、FECフレームの開始を示す特殊符号である。PREAMBLE/SLDは、FECフレームの伝搬速度と受信側ノードの処理速度とを同期させるために使用するフィールドであり、‘0’と‘1’との繰り返しからなる部分と、‘1’が2ビット連続した部分とを有する。FRAME/FCS は、FECフレームが送信するユーザデータとCRC(Cyclic Redundancy Check) ビットとを格納するフィールドである。1番目のT_FECは、FRAME/FCS フィールドの終了を示す特殊符号である。PARITYは、誤り訂正符号(すなわちパリティ)を格納するフィールドである。そして、2番目のT_FECは、FECフレームの終了を示す特殊符号である。
ブロック符号を用いて誤り訂正符号化されたデータを復号する回路は、例えば下記特許文献1、2に開示されている。しかし、これらの文献1、2に開示された誤り訂正復号回路は、処理時間が遅いという欠点がある。特に、ブロック符号としてリードソロモン符号を使用する場合、上述のように処理が複雑であるため、転送のレイテンシ(ノードがフレームを入力してから出力するまでの時間)が非常に長くなり、ネットワーク輻輳等の原因になっていた。
特開2002−76909号公報 特開2004−120419号公報
転送時のレイテンシを短縮する方法として、例えば、S_FECから1番目のT_FECまでを受信した直後に誤り訂正復号処理を開始する方法が考えられる。
しかしながら、この方法には、以下のような欠点がある。
冗長フレームでは、1番目のT_FECに伝送ビット誤りが発生した場合に、2番目のT_FECを1番目のT_FECであると誤認してしまう場合がある。このような場合、当該T_FECが2番目のT_FECであることは、フレーム受信完了後でなければ、認識できない。したがって、1番目のT_FECまでを受信した直後に誤り訂正復号処理を開始する場合、誤り訂正復号処理を正常に行えないことになる。
また、フレームの伝送時に、2番目のT_FECに伝送ビット誤りが発生する場合もある。このような場合には、正常な誤り訂正復号処理を行える場合もある反面、該処理を正常に行えない場合もあり、処理の信頼性を確保できない。
この発明の課題は、処理の信頼性が高く且つ処理時間が短い誤り訂正復号回路を提供する点にある。
この発明に係る誤り訂正復号回路は、外部から入力したフレームを第1遅延時間だけ遅延させて出力する第1データ遅延回路と、第1データ遅延回路から入力したフレームを第2遅延時間だけ遅延させて出力する第2データ遅延回路と、フレームからパリティデータを抽出するとともに誤り訂正開始タイミング信号とフレーム出力タイミング信号とフレームの受信が正常に終了したか否かを示す判定信号とを生成・出力する第1入力位相制御回路と、第1入力位相制御回路が抽出したパリティデータを保存するパリティ蓄積回路と、誤り訂正開始タイミング信号を受信した後で第1データ遅延回路が出力したフレームから被訂正データを所定データ長ずつ読み出して出力し、さらにパリティ蓄積回路から読み出されたパリティデータから被訂正データに対応するものを出力する入力制御部を複数個有する第2入力位相制御回路と、対応する入力制御部から出力された被訂正データおよびパリティデータを用いて誤り訂正復号処理を行う誤り訂正デコーダを複数個有する演算回路と、フレーム出力タイミング信号を受信したタイミングで第2データ遅延回路からフレームを入力するとともに演算回路から訂正済データを入力し、判定信号が‘正常’を示すときは訂正済データを出力し且つ判定信号が‘異常’を示すときはフレームの被訂正データをそのまま出力する出力位相制御回路とを有する。
この発明によれば、被訂正データの読み出し開始直後から誤り訂正復号処理を開始するとともに、この誤り訂正復号処理と並行してフレームが正常に受信されたか否かを判定して、誤り訂正されたフレームの出力が開始される前に正常/異常を判断することができる。したがって、この発明によれば、処理の信頼性を向上させることができる。
また、この発明によれば、被訂正データの読み出し開始直後から誤り訂正復号処理を開始することおよび複数の誤り訂正復号処理を並行して行うことにより、レイテンシを短縮することができる。
したがって、この発明によれば、処理の信頼性が高く且つ処理時間が短い誤り訂正復号回路を実現することが可能になる。
以下、この発明の実施の形態について、図面を用いて説明する。なお、図中、各構成成分の大きさ、形状および配置関係は、この発明が理解できる程度に概略的に示してあるにすぎず、また、以下に説明する数値的条件は単なる例示にすぎない。
第1の実施形態
この発明の第1の実施形態に係る誤り訂正復号回路について、図1〜図3を用いて説明する。この実施形態は、ブロック符号としてリードソロモン符号を採用した場合の例である。
図1は、この実施形態に係る誤り訂正復号回路100の構成を概略的に示すブロック図である。図1に示したように、この実施形態の誤り訂正復号回路100は、第1データ遅延回路110と、第2データ遅延回路120と、FEC入力位相制御回路130と、パリティ蓄積回路140と、RS(リードソロモン、以下同じ)入力位相制御回路150と、FEC復号回路160と、FEC出力位相制御回路170とを備える。
第1データ遅延回路110は、外部から受信されたFECフレームを、所定時間τ1だけ遅延させて、第2データ遅延回路120およびRS入力位相制御回路150に送る。遅延時間τ1については、後述する。
第2データ遅延回路120は、第1データ遅延回路110から受信したFECフレームを、所定時間τ2だけ遅延させて、FEC出力位相制御回路170に送る。遅延時間τ2は、回路150,160のレイテンシと一致するように設定される。
FEC入力位相制御回路130は、外部から受信されたFECフレームからパリティデータを抽出・転送するとともに、RS入力位相制御回路150およびFEC出力位相制御回路170を制御するための信号Tin,Tout ,S0を生成・出力する。FEC入力位相制御回路130は、パリティライト制御部131、タイミング生成部132および正常受信判定部133を有する。
パリティライト制御部131は、FECフレームからパリティデータを所定バイトずつ読み出して、パリティ蓄積回路140に送る。一回の読み出し動作で読み出されるパリティデータ・バイト数は、FEC演算回路160内の各RSデコーダ161−0〜161−2(後述)が1回の誤り訂正復号処理で復号化するブロックのデータ長に応じて決定される。
タイミング生成部132は、FECフレームに含まれるS_FEC、1番目のT_FECおよび2番目のT_FECの受信タイミングに基づいて、RS入力タイミング信号TinおよびFEC出力タイミング信号Tout を生成・出力する。RS入力タイミング信号Tinは、RS入力位相制御回路150がFEC演算回路160に誤り訂正復号処理を開始させるタイミングを規定する(後述)。一方、FEC出力タイミング信号Tout は、FEC出力位相制御回路170内に設けられた出力データ選択部171のデータ出力タイミングを規定する(後述)。
正常受信判定部133は、1番目のT_FECおよび2番目のT_FECが正常に受信されたか否かを判定し、判定結果を示す信号(以下、判定信号)S0をFEC出力位相制御回路170に送る。
パリティ蓄積回路140は、パリティライト制御部131から受信したパリティデータを一時的に保存するFIFO(First In First Out)メモリである。
RS入力位相制御回路150は、リードソロモン符号を用いた誤り訂正復号処理を行うためのデータ(後述)を、FEC演算回路160に供給する。RS入力位相制御回路150は、パリティリード制御部151と、RS入力制御部152−0〜152−2とを有する。
パリティリード制御部151は、パリティ蓄積回路140に格納されたパリティデータを読み出して、RS入力制御部152−0〜152−2に順次供給する。
RS入力制御部152−0〜152−2は、それぞれ、第1データ遅延回路110から入力されたFECフレームの被訂正データ(PREAMBLE/SLDフィールドの格納データおよびFRAME/FCS フィールドの格納データ)から誤り訂正復号処理1回分のデータを読み出し、パリティリード制御部151から供給されたパリティデータと結合することにより、誤り訂正復号処理用のデータを生成する。生成されたデータは、対応するRSデコーダ161−0〜161−2に送信される。
FEC演算回路160は、リードソロモン符号を用いた復号処理すなわちFEC演算を行う。FEC演算回路160は、第1〜第3RSデコーダ161−0〜161−2を有する。RSデコーダ161−0〜161−2は、それぞれ、受信した復号処理用データを用いてFEC演算を行い、誤り訂正復号処理後のデータを出力する。
FEC出力位相制御回路170は、FEC演算回路160で誤り訂正復号処理されたデータまたは第2データ遅延回路120から受信した非処理FECフレームを出力する。FEC出力位相制御回路170は、出力データ選択部171を有する。出力データ選択部171は、FEC演算回路160から受信したデータまたは第2データ遅延回路120から受信したデータの一方を、選択的に出力する。この再生処理の手順は、判定信号S0の値に応じて切り換えられる(後述)。出力データ選択部171の信号出力タイミングは、FEC出力タイミング信号Tout に基づいて決定される。
次に、訂正復号回路100の全体的な動作について説明する。図2は、誤り訂正復号回路100が正常なFECフレームを受信した場合の動作を示す概念図である。また、図3は、誤り訂正復号回路100が異常なFECフレームを受信した場合の動作を示す概念図である。
ここでは、FECフレームの長さを、IEEE802.3ah 勧告で規定された最大フレーム長とする。この場合、PREAMBLE/SLDフィールド(図1参照)は7バイト、FRAME/FCS フィールドは1536バイトである。また、PARITYフィールドは、112バイトである。
この実施形態では、被訂正データ(7+1536バイト)を7ブロックに分けて、誤り訂正復号処理が行われる。最初の6ブロックD1〜D6のデータ長は239バイトであり、最後のブロックD7のデータ長は109バイトである。各ブロックの誤り訂正復号処理には、16バイトのパリティデータP1〜P7が使用される。
まず、誤り訂正復号回路100に、FECフレームが受信される。このFECフレームは、第1データ遅延回路110と、FEC入力位相制御回路130とに入力される。
パリティライト制御部131は、FECフレームを入力すると、パリティデータを16バイトずつ読み出して、パリティ蓄積回路140に送る。これにより、16バイト・パリティデータP1,P2,・・・,P7が、パリティ蓄積回路140内のFIFOに蓄積される。
これと並行して、第1データ遅延回路110が、受信したFECフレームを、遅延時間τ1(後述)だけ遅らせて、RS入力位相制御回路150に供給する。
タイミング生成部132は、第1データ遅延回路110からRS入力位相制御回路150にデータD1の先頭ビットが供給されるタイミングで、RS入力タイミング信号Tinを出力する。これにより、RS入力制御部152−0が、データD1の取り込みを開始する。RS入力制御部152−0は、取り込んだデータD1を、RSデコーダ161−0に、順次送る。そして、データD1の送信終了タイミングに合わせて、パリティリード制御部151が、パリティ蓄積回路140のFIFOからパリティデータP1を読み出す。このパリティデータP1も、データD1の最終ビットに続いて、RSデコーダ161−0に送られる。RSデコーダ161−0は、これらのデータD1,P1を用いて、誤り訂正復号処理を行う。
また、データD1の送信終了タイミングに合わせて、RS入力制御部152−1が、データD2の取り込みを開始する。RS入力制御部152−1は、取り込んだデータD2を、RSデコーダ161−1に、順次送る。そして、データD2の送信終了タイミングに合わせて、パリティリード制御部151が、パリティ蓄積回路140のFIFOからパリティデータP2を読み出す。このパリティデータP2も、データD2の最終ビットに続いて、RSデコーダ161−1に送られる。RSデコーダ161−1は、これらのデータD2,P2を用いて、誤り訂正復号処理を行う。
さらに、データD2の送信終了タイミングに合わせて、RS入力制御部152−2が、データD3の取り込みを開始する。RS入力制御部152−2は、取り込んだデータD3を、RSデコーダ161−2に、順次送る。そして、データD3の送信終了タイミングに合わせて、パリティリード制御部151が、パリティ蓄積回路140のFIFOからパリティデータP3を読み出す。このパリティデータP3も、データD3の最終ビットに続いて、RSデコーダ161−2に送られる。RSデコーダ161−2は、これらのデータD3,P3を用いて、誤り訂正復号処理を行う。
データD3の送信終了後に、RS入力制御部152−0が、データD4の取り込み・送信を開始する。さらに、データD4の送信終了タイミングに合わせて、パリティデータP4の読み出し・送信が開始される。以下、同様にして、データD5〜D7およびパリティデータP5〜P7が、対応するRSデコーダ161−0〜161−2に送られ、誤り訂正復号処理が実行される。なお、データD7を送信するときには、データ長を調整するためのパディングデータが付加される(図示せず)。
RSデコーダ161−0〜161−2は、データD1〜D7を誤り訂正することによって得られたデータd1〜d7を、順次出力する。
出力データ選択部171は、RSデコーダ161−0〜161−2からデータd1〜d7を順次受信するとともに、第2データ遅延回路120から、FECフレームを受信する。この実施形態では、第2データ遅延回路120を有しているので、出力データ選択部171において、データd1がRSデコーダ161−0から受信されるタイミングと、FECフレーム内のデータD1が受信されるタイミングとが、一致する。同様に、データd2〜d7が受信されるタイミングと、FECフレーム内のデータD2〜D7が受信されるタイミングとは、それぞれ一致する。
出力データ選択部171は、FEC出力タイミング信号Tout が与えるタイミングにしたがって、以下のような信号を出力する。
出力データ選択部171は、判定信号S0が2番目のT_FECが正常に受信されたことを示しているときは(図2参照)、特殊符号であるS_FEC、1番目のT_FEC、2番目のT_FECおよびPARITYフィールドのデータ(すなわちパリティデータ)に代えて、IEEE802.3 に規定されたアイドルパターン(すなわち、/I/ )を出力する。そして、出力データ選択部171は、PREAMBLE/SLDフィールドおよびFRAME/FCS フィールドの格納データを出力するタイミングで、RSデコーダ161−0〜161−2から受信したデータd1〜d7を順次出力する。一方、判定信号S0が2番目のT_FECが正常に受信されなかったことを示しているとき(図3参照)、出力データ選択部171は、第2データ遅延回路120から受信したFECフレームを、そのまま出力する。
上述のように、第2データ遅延回路120の遅延時間τ2は、回路150,160のレイテンシと一致するように設定される。また、第1、第2データ遅延回路110,120の総遅延時間τ1+τ2は、正常受信判定部133の判定結果が確定するタイミングと第2データ遅延回路120がS_FECを出力するタイミングとが一致するように設定される。したがって、第1データ遅延回路110の遅延時間τ1は、下式(1)のように設定される。下式(1)において、Lmax は受信フレームの最大長(PREAMBLE/SLDフィールドおよびFRAME/FCS フィールドの最大データ長)、L1は1番目のT_FECの長さ、LpはPARITYフィールドの長さ、L2は2番目のT_FECの長さである。この実施形態では、1バイトの受信時間を1サイクルとして、Lmax =1536+7サイクル、L1=7サイクル、Lp=16×7サイクル、L2=6サイクルであり、τ2は例えば331サイクルである。
τ1=(Lmax+L1+Lp+L2)−τ2 ・・・(1)
以上説明したように、この実施形態に係る誤り訂正復号回路100によれば、PARITYフィールドの読み出し開始直後から誤り訂正復号処理を開始するとともに、この誤り訂正復号処理と並行して1番目および2番目のT_FECが正常に受信されたか否かを判定し、誤り訂正されたフレームの出力が開始される前に正常/異常を判断することができる。したがって、この実施形態によれば、処理の信頼性を向上させることができる。
また、この実施形態によれば、PARITYフィールドの読み出し開始直後から誤り訂正復号処理を開始することと、複数の誤り訂正復号処理を並行して行うこととにより、レイテンシを短縮することができる。さらに、レイテンシが短いことにより、データ遅延回路の遅延時間を全体として短縮することができるので、遅延素子の削減等により回路規模の縮小や消費電力の低減を図ることもできる。
したがって、この実施形態によれば、処理の信頼性が高く且つ処理時間が短い誤り訂正復号回路を、小規模且つ低消費電力の回路で実現することが可能になる。
第2の実施形態
次に、この発明の第2の実施形態に係る誤り訂正復号回路について、図4〜図6を用いて説明する。
この実施形態は、この発明に係る誤り訂正復号回路に、FEC復号処理の実施/失敗を示す信号の出力機能を付加した例である。
図4は、この実施形態に係る誤り訂正復号回路400の構成を概略的に示すブロック図である。図4において、図1と同じ符号を付した構成要素は、それぞれ図1の場合と同じ物を示している。
図4に示したように、この実施形態に係る誤り訂正復号回路400は、FEC演算回路410およびFEC出力位相制御回路420の構成が、上述の第1の実施形態に係るFEC演算回路160およびFEC出力位相制御回路170と異なる。
FEC演算回路410は、第1〜第3RSデコーダ411−0〜411−2を有する。RSデコーダ411−0〜411−2は、FEC復号実施表示信号Se0〜Se2およびFEC復号失敗表示信号Sf0〜Sf2を出力するように構成されている点で、第1の実施形態に係るRSデコーダ161−0〜161−2と異なる。RSデコーダ411−0〜411−2は、誤り訂正復号処理が正常実施されたときハイレベルのFEC復号実施表示信号Se0〜Se2を1回出力し、誤り訂正復号処理が正常実施されなかったときFEC復号失敗表示信号Sf0〜Sf2を1回出力する(後述の図5、図6参照)。
FEC出力位相制御回路420は、復号実施表示信号生成部422および復号失敗信号生成部423を有している。
復号実施表示信号生成部422は、判定信号S0がハイレベルのとき(すなわち、1番目のT_FECおよび2番目のT_FECが正常に受信されたとき)はFEC演算回路410から入力したFEC復号実施表示信号Se0〜Se2をFEC復号実施表示信号Se3として出力し、且つ、判定信号S0がローレベルのとき(すなわち、1番目のT_FECまたは2番目のT_FECが正常に受信されなかったとき)は出力をローレベルに固定する。
復号失敗表示信号生成部423は、判定信号S0がハイレベルのときは、FEC演算回路410から入力したFEC復号失敗表示信号Sf0〜Sf2をFEC復号失敗表示信号Sf3として出力し、且つ、判定信号S0がローレベルのときは出力をローレベルに固定する。
次に、誤り訂正復号回路400の全体的な動作について説明する。図5は、誤り訂正復号回路400が正常なFECフレームを受信した場合の動作を示す概念図である。また、図6は、誤り訂正復号回路400が異常なFECフレームを受信した場合の動作を示す概念図である。FECフレームの各フィールドの長さや、誤り符号訂正処理のブロック長等は、第1の実施形態と同じとする。
まず、第1の実施形態と同様、FECフレームが受信されると、パリティライト制御部131がパリティデータを16バイトずつ読み出してパリティ蓄積回路140に送り、また、第1データ遅延回路110が、FECフレームを、遅延時間τ1だけ遅らせてRS入力位相制御回路150に供給する。さらに、タイミング生成部132が、データD1の先頭ビットがRS入力位相制御回路150に供給されるタイミングで、RS入力タイミング信号Tinを出力する。RS入力制御部152−0〜152−2は、第1の実施形態と同様にして、データを取り込み、取り込んだデータおよびパリティデータを、RSデコーダ411−0〜411−2に順次送る。なお、データD7を送信するときには、データ長を調整するためのパディングデータPADが付加される(後述の図5、図6参照)。
RSデコーダ411−0〜411−2は、受信したデータおよびパリティデータを用いて、誤り訂正復号処理を行う。このとき、RSデコーダ411−0〜411−2は、周知の方法を用いて、誤り訂正復号処理が正常に実施されたか或いは失敗したかを判断する。そして、RSデコーダ411−0〜411−2は、正常実施された場合には、FEC復号実施表示信号Se0〜Se2を出力する(図5、図6参照)。一方、誤り訂正復号処理に失敗した場合、RSデコーダ411−0〜411−2は、FEC復号失敗表示信号Sf0〜Sf2を出力する(図示せず)。
出力データ選択部171は、第1の実施形態と同様、FEC出力タイミング信号Tout が与えるタイミングにしたがって、誤り訂正復号処理されたデータを出力し、或いは、第2データ遅延回路120から入力したFECフレームをそのまま出力する。
復号実施表示信号生成部422および復号失敗表示信号生成部423は、判定信号S0がハイレベルのときにのみ、FEC復号実施表示信号Se0〜Se2またはFEC復号失敗表示信号Sf0〜Sf2を、信号Se3,Sf3として出力する。
復号実施表示信号Se3および復号失敗表示信号Sf3は、例えば通信システムの管理制御装置が、通信状態を統計的に監視するために使用される。したがって、FECフレームが正常に受信されなかったとき(すなわち、1番目のT_FECまたは2番目のT_FECが正常に受信されなかったとき)に、これらの信号Se3,Sf3が出力されるのは好ましくない。
これに対して、この実施形態では、誤り訂正されたフレームの出力が開始される前に正常/異常を判断することができるので、この判断結果S0に応じて信号Se3,Sf3の出力/非出力を切り換えることができる。したがって、この実施形態によれば、システム監視等の信頼性を向上させることができる。
加えて、この実施形態によれば、第1の実施形態と同様の理由により、処理の信頼性が高く且つ処理時間が短い誤り訂正復号回路を、小規模且つ低消費電力の回路で実現することが可能になる。
第3の実施形態
次に、この発明の第3の実施形態に係る誤り訂正復号回路について、図7および図8を用いて説明する。
この実施形態は、パリティライト制御部およびパリティリード制御部に、アドレスカウンタを設けた例である。
図7は、この実施形態に係る誤り訂正復号回路700の構成を概略的に示すブロック図である。図7において、図1と同じ符号を付した構成要素は、それぞれ図1の場合と同じ物を示している。
図7に示したように、この実施形態に係る誤り訂正復号回路700は、FEC入力位相制御回路130内のパリティライト制御部711と、RS入力位相制御回路150内のパリティリード制御部712とに、判定信号S0が入力される。
図8(A)は、パリティライト制御部711内に設けられたライトアドレスカウンタ回路810を示す回路図である。図8(A)に示したように、このライトアドレスカウンタ回路810は、アドレスカウンタ811と、アドレスポインタ812とを備えている。
アドレスカウンタ811は、ロードタイミング信号LOAD1を入力すると、アドレスポインタ812の出力値をロードする。さらに、アドレスカウンタ811は、クロックCLK1を入力するたびに、このロード値に‘1’を加算していく。また、アドレスカウンタ811の計数値は、リセット信号RSTの入力によりリセットされる。
アドレスポインタ812は、‘正常’を示す判定信号S0が入力されたときに、アドレスカウンタ811の出力値をロードする。アドレスポインタ812のロード値は、リセット信号RSTの入力によりリセットされる。
図8(B)は、パリティリード制御部712内に設けられたリードアドレスカウンタ回路820を示す回路図である。図8(B)に示したように、このリードアドレスカウンタ回路820は、アドレスカウンタ821と、アドレスポインタ822とを備えている。
アドレスカウンタ821は、アドレスカウンタ811と同様、ロードタイミング信号LOAD2を入力するとアドレスポインタ822の出力値をロードし、且つ、クロックCLK2を入力するたびにロード値に‘1’を加算していく。また、アドレスカウンタ821の計数値は、リセット信号RSTの入力によりリセットされる。
アドレスポインタ822は、アドレスポインタ812と同様、‘正常’を示す判定信号S0が入力されたときに、アドレスカウンタ821の出力値をロードする。アドレスポインタ822のロード値は、リセット信号RSTの入力によりリセットされる。
次に、誤り訂正復号回路700の全体的な動作について説明する。
まず、誤り訂正復号回路700に、1個目のFECフレームが受信されると、パリティライト制御部711は、PARITYフィールドの先頭をチェックする。そして、FECフレームが、PARITYフィールドの先頭に達すると、ロード信号LOAD1がアクティブになる。これにより、ライトアドレスカウンタ回路810内のアドレスカウンタ811が、アドレスポインタ812の格納値をロードする。その後、パリティライト制御部711は、クロックCLK1のタイミングで、パリティ蓄積回路140にパリティデータを1バイトずつ書き込む。これと並行して、アドレスカウンタ811は、クロックCLK1を入力するたびに、ロード値に‘1’を加算していく。したがって、パリティデータが1バイト書き込まれるたびに、アドレスカウンタの値に‘1’が加算されることになる。
1個目のFECフレームのPARITYフィールドに格納されたパリティデータがすべてパリティ蓄積回路140に書き込まれた後、ロード信号LOAD1はノンアクティブになる。これにより、アドレスカウンタ811の計数動作は停止する。正常受信判定部133は、1番目のT_FECおよび2番目のT_FECが正常に受信されたか否かを判定し、判定信号S0を出力する。上述のように、この実施形態では、判定信号S0は、パリティライト制御部711に入力される。アドレスポインタ812は、‘正常’を示す判定信号S0を入力すると、このときのアドレスカウンタ811の計数値をロードする。このロード値は、パリティライト制御部711が2個目のFECフレームからのパリティデータの読み込みを開始するときに、計数の初期値として、アドレスカウンタ811にロードされる。
一方、1個目のFECフレームのPARITYフィールドに格納されたパリティデータがすべてパリティ蓄積回路140に書き込まれた後、‘正常’を示す判定信号S0が入力されなかったとき(すなわち、当1個目のFECフレームが‘異常’であったとき)、アドレスポインタ812は、アドレスカウンタの計数値をロードしない。したがって、パリティライト制御部711が2個目のFECフレームからのパリティデータの読み込みを開始したとき、計数の初期値として、アドレスポインタ812から前回ロードした値と同じ値が、アドレスカウンタ811にロードされる。したがって、パリティ蓄積回路140では、1個目のFECフレームのパリティデータを格納したアドレスに、2個目のFECフレームのパリティデータが上書きされる。
また、第1の実施形態と同様、タイミング生成部132は、データD1の先頭ビットがRS入力位相制御回路150に供給されるタイミングで、RS入力タイミング信号Tinを出力する。これにより、RS入力制御部152−0が、データD1を取り込んで、RSデコーダ161−0に、順次送る。さらに、データD1の送信終了タイミングに合わせて、パリティリード制御部712が、パリティ蓄積回路140のFIFOからパリティデータP1を読み出す。このとき、ロード信号LOAD2がアクティブになる。これにより、リードアドレスカウンタ回路820内のアドレスカウンタ821が、アドレスポインタ822の格納値をロードする。その後、パリティリード制御部712は、クロックCLK2のタイミングで、パリティ蓄積回路140からパリティデータを順次読み出す。これと並行して、アドレスカウンタ821は、クロックCLK2を入力するたびに、ロード値に‘1’を加算していく。したがって、パリティデータが1バイト書き込まれるたびに、アドレスカウンタの値に‘1’が加算されることになる。
パリティリード制御部712は、正常受信判定部133から‘正常’を示す判定信号S0を入力した場合、パリティデータの読み出し終了後に、アドレスカウンタ821の計数値をアドレスポインタ822にロードさせる。このロード値は、パリティリード制御部712が2個目のFECフレームからパリティデータの読み込みを開始するときに、計数の初期値として、アドレスカウンタ821にロードされる。
一方、パリティリード制御部712が‘正常’を示す判定信号S0を入力しなかったとき、アドレスポインタ822は、アドレスカウンタ821の計数値をロードしない。したがって、パリティリード制御部712が2個目のFECフレームからのパリティデータの読み込みを開始したときに、計数の初期値として、アドレスポインタ822から前回ロードした値と同じ値が、アドレスカウンタ821にロードされる。したがって、パリティリード制御部712は、パリティライト制御部711が上書きしたパリティデータを、パリティ蓄積回路140から読み出すことになる。
他の動作は、上述の第1の実施形態と同様であるので、説明を省略する。
以上説明したように、この実施形態によれば、正常受信判定部133がFECフレームを‘異常’と判断した場合には、次のFECフレームから取り出されたパリティデータをパリティ蓄積回路140に上書きすることとしたので、異常なFECフレームが受信された場合でもその後の誤り訂正復号回路700の動作に異常をきたすおそれがない。したがって、この実施形態によれば、誤り訂正復号回路の動作を安定化させることができる。
加えて、この実施形態によれば、第1の実施形態と同様の理由により、処理の信頼性が高く且つ処理時間が短い誤り訂正復号回路を、小規模且つ低消費電力の回路で実現することが可能になる。
最後に、上述の各実施形態においてRS入力制御部およびRSデコーダをそれぞれ3個とした理由を説明する。
上述の各実施形態では、FECフレームの長さがIEEE802.3ah 勧告の最大フレーム長である場合を例に採って説明した。しかしながら、誤り訂正復号回路の処理速度が最も遅くなるのは、最小フレーム長のFECフレームが連続的に受信された場合である。ここで、IEEE802.3ah で勧告されたFECフレームの最小長は、全体で112バイト、そのうち被訂正データが64バイトである。
上述の各実施形態に係る誤り訂正復号回路では、第1データ遅延回路から入力された被訂正データ・ブロックのデータ長が239バイトに満たない場合は、先頭にパディングデータを挿入することにより該ブロックの長さを239バイトに調整する。したがって、最小フレーム長のFECフレームでは、175(=239−64)バイトのパディングデータが、該ブロックの先頭に挿入される。
誤り訂正復号化の処理時間を短くするためには、RS入力制御部は、該ブロックが第1データ遅延回路110から入力される前にパディングデータの挿入(すなわち、RSデコーダへの出力)を開始し、該ブロックの先頭バイトが入力されたタイミングでパディングデータの挿入を終了することが望ましい(図5のブロックD7参照)。したがって、RS入力制御部は、最小フレーム長FECフレームに係るブロックの出力を終えてから、該RS入力制御部にその次に割り当てられたFECフレームに係るブロックの先頭バイトを入力するまで、175サイクル以上の時間間隔を空ける必要がある。
ここで、RS入力制御部およびRSデコーダをそれぞれ2個とした場合を考える。この場合、各RS入力制御部に、最小フレーム長FECフレームが、交互に割り当てられる。したがって、各RS入力制御部は、ブロックの出力を終えてから次のブロックの先頭バイトを入力するまでの時間間隔が、最小で、最小フレーム長FECフレームの1個分(すなわち112バイト)になる。
一方、RS入力制御部およびRSデコーダをそれぞれ3個とした場合、各RS入力制御部には、3個に1個の割合で最小フレーム長FECフレームが割り当てられる。したがって、各RS入力制御部は、ブロックの出力を終えてから次のブロックの先頭バイトを入力するまでの時間間隔が、最小で、最小フレーム長FECフレーム2個分(すなわち224バイト)になる。
したがって、ブロックの入力前にパディングデータの出力を終えるためには、RS入力制御部およびRSデコーダを3個以上とすればよい。
その一方で、誤り訂正復号回路の回路規模や消費電力を小さくするためには、RS入力制御部およびRSデコーダの個数は少ないほどよい。
以上の理由から、RS入力制御部およびRSデコーダをそれぞれ3個とすることが望ましい。
なお、ここでは、IEEE802.3ah で勧告されたFECフレームの場合(非訂正データの最小長が64バイトの場合)を例に採って説明したが、他の規約に基づくフレームでも、入力制御部およびデコーダの個数を、被訂正データ・ブロックの出力を終えてから次の被訂正データ・ブロックの先頭バイトを入力するまでの時間間隔が最小フレーム長を超えるような個数の最小値とすることにより、同様の効果を得ることができる。
第1の実施形態に係る誤り訂正復号回路の構成を概略的に示すブロック図である。 第1の実施形態に係る誤り訂正復号回路が正常なFECフレームを受信した場合の動作を示す概念図である。 第1の実施形態に係る誤り訂正復号回路が異常なFECフレームを受信した場合の動作を示す概念図である。 第2の実施形態に係る誤り訂正復号回路の構成を概略的に示すブロック図である。 第2の実施形態に係る誤り訂正復号回路が正常なFECフレームを受信した場合の動作を示す概念図である。 第2の実施形態に係る誤り訂正復号回路が異常なFECフレームを受信した場合の動作を示す概念図である。 第3の実施形態に係る誤り訂正復号回路の構成を概略的に示すブロック図である。 第3の実施形態に係る誤り訂正復号回路の構成を概略的に示すブロック図である。 FECフレームの構造例を示す概念図である。
符号の説明
100 誤り訂正復号回路
110 第1データ遅延回路
120 第2データ遅延回路
130 FEC入力位相制御回路
131 パリティライト制御部
132 タイミング生成部
133 正常受信判定部
140 パリティ蓄積回路
150 RS入力位相制御回路
151 パリティリード制御部
152−0〜152−2 RS入力制御部
160 FEC演算回路
161−0〜161−2 RSデコーダ
170 FEC出力位相制御回路
171 出力データ選択部

Claims (5)

  1. 外部から入力したフレームを第1遅延時間だけ遅延させて出力する第1データ遅延回路と、
    該第1データ遅延回路から入力したフレームを第2遅延時間だけ遅延させて出力する第2データ遅延回路と、
    前記フレームからパリティデータを抽出するとともに、誤り訂正開始タイミング信号と、フレーム出力タイミング信号と、該フレームの受信が正常に終了したか否かを示す判定信号とを生成・出力する第1入力位相制御回路と、
    該第1入力位相制御回路が抽出した前記パリティデータを保存するパリティ蓄積回路と、
    前記誤り訂正開始タイミング信号を受信した後で、前記第1データ遅延回路が出力した前記フレームから被訂正データを所定データ長ずつ読み出して出力し、さらに前記パリティ蓄積回路から読み出された前記パリティデータから該被訂正データに対応するものを出力する入力制御部を、複数個有する第2入力位相制御回路と、
    対応する前記入力制御部から出力された前記被訂正データおよび前記パリティデータを用いて誤り訂正復号処理を行う誤り訂正デコーダを複数個有する演算回路と、
    前記フレーム出力タイミング信号を受信したタイミングで、前記第2データ遅延回路から前記フレームを入力するとともに前記演算回路から訂正済データを入力し、前記判定信号が‘正常’を示すときは該訂正済データを出力し且つ該判定信号が‘異常’を示すときは前記フレームの被訂正データをそのまま出力する出力位相制御回路と、
    を有することを特徴とする誤り訂正復号回路。
  2. 前記誤り訂正デコーダが、それぞれ、前記誤り訂正復号処理が正常実施されたことを示す復号実施表示信号と、該誤り訂正復号処理が失敗したことを示す復号失敗表示信号とを生成し、且つ、
    前記出力位相制御回路が、前記判定信号が‘正常’を示した場合にのみ、前記復号実施表示信号および前記復号失敗表示信号を外部に出力する、
    ことを特徴とする請求項1に記載の誤り訂正復号回路。
  3. 前記第1入力位相制御回路が、
    前記フレームからの前記パリティデータの抽出が開始されたことを示す第1ロードタイミング信号を入力すると、第1アドレスポインタ値をロードし、前記パリティ蓄積回路に所定データ長のパリティデータが書き込まれるたびに該第1アドレスポインタ値に‘1’ずつ加算していく第1アドレスカウンタと、
    ‘正常’を示す前記判定信号が入力されたときにのみ、前記第1アドレスカウンタの計数値を前記第1アドレスポインタ値として保存する第1アドレスポインタと、
    を備えることを特徴とする請求項1または2に記載の誤り訂正復号回路。
  4. 前記第2入力位相制御回路が、
    前記パリティ蓄積回路からの前記パリティデータの読み出しが開始されたことを示す第2ロードタイミング信号を入力すると、第2アドレスポインタ値をロードし、所定データ長のパリティデータが読み出されるたびに該第2アドレスポインタ値に‘1’ずつ加算していく第2アドレスカウンタと、
    ‘正常’を示す前記判定信号が入力されたときにのみ、前記第2アドレスカウンタの計数値を前記第2アドレスポインタ値として保存する第2アドレスポインタと、
    を備えることを特徴とする請求項3に記載の誤り訂正復号回路。
  5. 前記誤り訂正デコーダの個数を、それぞれの当該訂正デコーダが前記被訂正データの出力を終えてから次の被訂正データの先頭バイトを入力するまでの時間間隔が前記フレームの最小フレーム長を超えるような個数の最小値としたことを特徴とする請求項1〜4のいずれかに記載の誤り訂正復号回路。
JP2006118036A 2006-04-21 2006-04-21 誤り訂正復号回路 Active JP4677638B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006118036A JP4677638B2 (ja) 2006-04-21 2006-04-21 誤り訂正復号回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006118036A JP4677638B2 (ja) 2006-04-21 2006-04-21 誤り訂正復号回路

Publications (2)

Publication Number Publication Date
JP2007295089A JP2007295089A (ja) 2007-11-08
JP4677638B2 true JP4677638B2 (ja) 2011-04-27

Family

ID=38765291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006118036A Active JP4677638B2 (ja) 2006-04-21 2006-04-21 誤り訂正復号回路

Country Status (1)

Country Link
JP (1) JP4677638B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4677639B2 (ja) * 2006-04-21 2011-04-27 株式会社オー・エフ・ネットワークス 誤り訂正復号回路
US8543882B2 (en) * 2010-10-15 2013-09-24 Tyco Electronics Subsea Communications Llc Joint carrier phase estimation and forward error correction
CN116820832B (zh) * 2023-08-30 2023-12-12 芯耀辉科技有限公司 一种用于高速数据传输的错误校验方法、介质及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001094439A (ja) * 1999-09-24 2001-04-06 Sanyo Electric Co Ltd 誤り訂正回路および誤り訂正方法
JP2005011508A (ja) * 2004-06-21 2005-01-13 Toshiba Digital Media Engineering Corp 誤り訂正装置
JP2005277716A (ja) * 2004-03-24 2005-10-06 Sanyo Electric Co Ltd 誤り訂正回路
JP2007295090A (ja) * 2006-04-21 2007-11-08 Of Networks:Kk 誤り訂正復号回路

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6249735A (ja) * 1985-08-29 1987-03-04 Fuji Electric Co Ltd 伝送誤り制御方式
JPH01274530A (ja) * 1988-04-26 1989-11-02 Nec Corp ディジタル無線中継方式
JPH087497A (ja) * 1994-06-15 1996-01-12 Sony Corp 再生装置
US7152199B2 (en) * 2004-06-02 2006-12-19 Teknovus, Inc. Method and apparatus for delineating data in an FEC-coded Ethernet frame

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001094439A (ja) * 1999-09-24 2001-04-06 Sanyo Electric Co Ltd 誤り訂正回路および誤り訂正方法
JP2005277716A (ja) * 2004-03-24 2005-10-06 Sanyo Electric Co Ltd 誤り訂正回路
JP2005011508A (ja) * 2004-06-21 2005-01-13 Toshiba Digital Media Engineering Corp 誤り訂正装置
JP2007295090A (ja) * 2006-04-21 2007-11-08 Of Networks:Kk 誤り訂正復号回路

Also Published As

Publication number Publication date
JP2007295089A (ja) 2007-11-08

Similar Documents

Publication Publication Date Title
US8479085B2 (en) Memory system with error correction decoder architecture having reduced latency and increased throughput
JP3272903B2 (ja) 誤り訂正検出回路と半導体記憶装置
US9047082B2 (en) Instruction-set architecture for programmable Cyclic Redundancy Check (CRC) computations
JPH08330975A (ja) 誤り訂正符号復号化方法およびこの方法を用いる回路
JP2001175542A (ja) 記録再生装置および半導体メモリ
US20110154159A1 (en) Cyclic redundancy check code generating circuit and cyclic redundancy check code generating method
JP4677638B2 (ja) 誤り訂正復号回路
US6798707B2 (en) Memory control apparatus for serial memory
JP4677639B2 (ja) 誤り訂正復号回路
JP3345385B2 (ja) チェンサーチ装置
JP5194747B2 (ja) データ伝送装置、データ送信装置、データ受信装置及びデータ伝送システム
WO2022099967A1 (zh) 蓝牙接收机的译码实现方法
JP4747085B2 (ja) 誤り訂正符号回路
JP2003078421A (ja) 符号系列の先頭位置検出方法とその装置、それを用いた復号方法とその装置
US20110320907A1 (en) Data processing circuit and data processing method
JP3600561B2 (ja) 誤り訂正検出回路と半導体記憶装置
JP2008067079A (ja) 誤り訂正復号装置
US7275199B2 (en) Method and apparatus for a modified parity check
JP3600562B2 (ja) 半導体記憶装置
US20020004881A1 (en) Data transfer apparatus and data transfer method
JP4921216B2 (ja) メモリ制御回路、記憶システム、情報処理装置、および、メモリ制御方法
US20100070833A1 (en) Arithmetic circuit for concatenated codes and address control method
CN117714338A (zh) 一种基于fpga的关于ieee1149.10标准的高带宽测试数据的crc校验方法
EP1830471A1 (en) Apparatus and method for decoding data
US8095848B1 (en) Multi-byte cyclic redundancy check calculation circuit and method of operating the same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090409

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20090409

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100826

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110105

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110107

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110107

R150 Certificate of patent or registration of utility model

Ref document number: 4677638

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350