JP2008067079A - 誤り訂正復号装置 - Google Patents
誤り訂正復号装置 Download PDFInfo
- Publication number
- JP2008067079A JP2008067079A JP2006243124A JP2006243124A JP2008067079A JP 2008067079 A JP2008067079 A JP 2008067079A JP 2006243124 A JP2006243124 A JP 2006243124A JP 2006243124 A JP2006243124 A JP 2006243124A JP 2008067079 A JP2008067079 A JP 2008067079A
- Authority
- JP
- Japan
- Prior art keywords
- data
- frame
- error correction
- output
- parity
- 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.)
- Withdrawn
Links
Images
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
【課題】誤り訂正処理に要する遅延時間を短くする誤り訂正復号装置を提供。
【解決手段】転送フレームを受信したフレームデータを所定の遅延量にて遅延し、フレームデータからパリティフィールドを抽出して格納し、FEC (Forwarded Error Correction)演算単位ごとにパリティを出力し、データフレームとパリティとによりFEC演算処理を行って誤り訂正処理後のデータを生成し、誤り訂正後のデータから新たなデータフレームを生成する際に、所定の遅延量をフレームデータの最大長とフレームデータの終了を示す特殊符号の長さとの和から、誤り訂正符号を適用する固定長のデータ長を減算した遅延量とする構成。
【選択図】図1
【解決手段】転送フレームを受信したフレームデータを所定の遅延量にて遅延し、フレームデータからパリティフィールドを抽出して格納し、FEC (Forwarded Error Correction)演算単位ごとにパリティを出力し、データフレームとパリティとによりFEC演算処理を行って誤り訂正処理後のデータを生成し、誤り訂正後のデータから新たなデータフレームを生成する際に、所定の遅延量をフレームデータの最大長とフレームデータの終了を示す特殊符号の長さとの和から、誤り訂正符号を適用する固定長のデータ長を減算した遅延量とする構成。
【選択図】図1
Description
本発明は、たとえばIEEE (Institute of Electrical and Electronics Engineers) 802.3勧告で規定されるようなフレームベースのデータ転送方式において、とくに、リードソロモン符号などのブロック符号による誤り訂正を適用した誤り訂正復号装置に関するものである。
イーサネット(商標)などのフレームベースのデータ転送方式にリードソロモン符号のようなブロック符号による誤り訂正機能を適用した例として、たとえばIEEE 802.3ahがある。IEEE 802.3ahにおいて誤り訂正符号を適用したフレーム構成は、特殊符号である"S_FEC"フィールドをフレームの先頭に付与して転送することにより、転送されるフレームが誤り訂正符号を適用しているか否かを示す。"S_FEC"フィールドの後には、通常のフレームと同様にプリアンブルフィールド、SLD (Start of LLID Delimiter)フィールド、転送するデータに相当するフレームフィールド、FCS (Frame Check Sequence)フィールド、これらのフィールドの送信終了を示す特殊符号であるT_FECフィールドおよび誤り訂正符号のパリティフィールドを付与し、最後に再度、フレームの終了を示す特殊符号である"T_FEC"フィールドを付与する構成である。
リードソロモン符号は、一般的に固定長のデータと対応する固定長のパリティバイトとにより構成され、復号の際に固定長のデータと固定長のパリティバイト単位に実行される。特許文献1には、リードソロモン符号を処理するリードソロモン誤り訂正回路が開示されている。
IEEE 802.3ahでは受信したフレームの固定長バイト分の受信データと、後に受信されるパリティフィールドの受信データとを組み合わせて復号処理を実行することになる。
特開平10-13250号公報
しかしながら、このようなフレームを転送するシステムにおいて、誤り訂正回路にて最後の"T_FEC"フィールドまで受信し、その後に誤り訂正復号処理を開始すると、とくに受信フレームが長い場合に、処理の遅延時間(レイテンシ)が増加し、ネットワーク全体の遅延の増加要因となるという問題があった。
本発明はこのような従来技術の欠点を解消し、誤り訂正処理に要する遅延時間を短くする誤り訂正復号装置を提供することを目的とする。
本発明は上述の課題を解決するために、転送フレームを受信して誤り訂正処理を行う誤り訂正復号装置において、転送フレームは、誤り訂正符号の適用の可否を示す第1の特殊符号と、誤り訂正符号を適用するフレームデータと、フレームデータの終了を示す第2の特殊符号と、誤り訂正符号のパリティデータと、パリティデータの終了を示す第3の特殊符号とを連接してフレームを構成し、誤り訂正符号として固定長のデータ毎にパリティデータを算出するブロック符号を採用し、固定長のデータを複数まとめてフレームデータを構成し、固定長のデータ毎のパリティデータをまとめてパリティデータを生成し、フレームデータとパリティデータとにより構成してデータ転送された転送フレームであり、この装置は、転送フレームを受信したフレームデータを所定の遅延量にて遅延する第1のデータ遅延手段と、フレームデータからパリティフィールドを抽出して格納し、FEC (Forwarded Error Correction)演算単位ごとにパリティを出力するパリティ蓄積手段と、第1のデータ遅延手段から出力されるデータフレームとパリティとによりFEC演算処理を行うデータを生成するとともに、データの位相を制御する入力位相制御手段と、データをFEC演算処理して誤り訂正処理後のデータを生成する複数の演算処理手段と、誤り訂正後のデータから新たなデータフレームを生成する出力位相制御手段とを含み、入力位相制御手段は、複数の演算処理手段の起動を制御し、第1のデータ遅延手段の遅延量は、フレームデータの最大長とフレームデータの終了を示す特殊符号の長さとの和から誤り訂正符号を適用する固定長のデータ長を減算した遅延量とすることを特徴とする。
この場合、この装置は、第1の遅延手段の出力を遅延する第2の遅延手段を含み、FEC出力位相制御手段は、第2のデータ遅延手段の出力データおよび複数の演算処理手段の出力データのいずれかを選択する選択手段を有し、第2のデータ遅延手段の遅延量をそれぞれ演算処理手段の演算に要する遅延時間と等価な遅延量に設定して、第2のデータ遅延手段の出力データと、複数の演算処理手段から出力される誤り訂正後の出力データとの位相を出力位相制御手段の入力側にて揃えるとよい。また、入力される転送フレームは、IEEE 802.3ah勧告にて定義されたデータフレームであるとよい。
本発明によれば、誤り訂正信号処理に要する遅延時間(レイテンシ)を短くすることができ、さらに遅延素子などの記憶素子を削減することが可能となる。この結果、小規模で低消費電力化が可能な誤り訂正復号装置を提供することが可能となる。
次に添付図面を参照して本発明による誤り訂正復号装置の実施例を詳細に説明する。図1を参照すると、本発明が適用された誤り訂正復号装置の実施例が示されている。本実施例におけるFEC演算装置10は、FEC (Forwarded Error Correction)入力データを復号する際に誤り訂正演算処理を施す復号回路であり、受信したFEC入力データが入力する入力12にはFEC入力位相制御回路14と、FEC入力データを遅延させるデータ遅延回路16とが接続されている。データ遅延回路16は、FEC入力データの最大データフレーム長と特殊符号T_FECの長さとの和から、後述するRSデコーダ52にデータが入力されるまでの時間を減算した量に相当する時間を遅延する遅延回路である。なお、以下の説明において本発明に直接関係のない部分は、図示およびその説明を省略し、また、信号の参照符号はその現われる接続線の参照符号で表す。
FEC入力位相制御回路14は、パリティライト制御部18とタイミング生成部20とを有する。パリティライト制御部18は、FEC入力データ12の受信フレームから本FEC演算回路10の復号単位に応じたバイト数単位でパリティフィールドを抽出する。パリティライト制御部18の出力22はパリティ蓄積回路24に接続され、パリティライト制御部18は、パリティ蓄積回路24のFIFO機能のライト動作を制御するためのパリティライトデータを生成し、受信フレームのパリティフィールドとともに出力22に出力する。この出力22はFEC入力位相制御回路の出力を形成している。
パリティ蓄積回路24は、受信フレームのパリティフィールドをパリティライトデータに応じて蓄積する記憶回路であり、蓄積したデータを出力26に出力する。この出力26はリードソロモン入力位相制御回路28(以下、RS入力位相制御回路28と呼ぶ)に接続されている。
また、FEC入力位相制御回路14のタイミング生成部20は、FEC入力データ12の受信フレームから、リードソロモン符号をデコードするための入力タイミング情報であるリードソロモン入力タイミング情報(以下、RS入力タイミング情報と呼ぶ)を生成し、生成したRS入力タイミング情報を出力30に出力する。詳しくはタイミング生成部20は、FEC入力データの位相でS_FEC/T_FECの位置を検出し、これに基づいてデータ遅延回路16における遅延と等しい遅延を付加した複数のRS入力タイミング情報をRS入力位相制御回路28の起動タイミングとして出力する。データ遅延回路16の出力32は、RS入力位相制御回路28と、データ遅延回路16の出力を遅延する遅延回路34とに接続され、タイミング生成部20は、同様にして、データ遅延回路16、34の遅延の合計と等しい遅延を付加させた複数のFEC出力タイミング情報をFEC出力位相制御回路36の起動タイミング、つまりFEC出力のFEC出力タイミング情報として出力38に出力する。この出力38はFEC出力位相制御回路36に接続されている。データ遅延回路34の出力40は、FEC出力位相制御回路36に接続されている。
パリティ蓄積回路24の出力26が接続されたRS入力位相制御回路28は、パリティリード制御部42と複数のリードソロモン(RS)入力制御部(#0,#1,#2) 44とを有している。パリティリード制御部42は、パリティ蓄積回路24に対してFIFO機能のリード動作を制御するとともに、FEC演算を行うRSデコーダ52の復号単位に応じたバイト数単位でパリティ蓄積回路24の出力26からパリティフィールドを抽出する。
RS入力制御部(#0,#1,#2) 44は、FEC入力位相制御回路14から出力されるRS入力タイミング情報30に従って、データ遅延回路16から出力されるデータフィールド32から239バイト単位のRSデコーダ52への入力データを切り出し、さらに、パリティリード制御部42から出力される16バイトのパリティと入力データとを結合し、複数のRSデコーダ52に出力する。
複数のRSデコーダ(#0,#1,#2) 52は、本実施例では239バイトのデータと16バイトのパリティとによりFECの演算処理を実行して誤り訂正処理し、239バイトの誤り訂正処理済みデータを出力するリードソロモン復号回路である。第1のFEC演算回路であるRSデコーダ(#0) 52では、239バイトのデータ入力が完了した時点でパリティ蓄積回路24から16バイトのパリティを読み出して入力するとともに、第2のFEC演算回路であるRSデコーダ(#1) 52を起動し、RSデコーダ(#1) 52におけるデータ入力を開始させる。このRSデコーダ(#1) 52への239バイトのデータ入力が完了した時点で、パリティ蓄積回路24から16バイトのパリティを読み出してRSデコーダ(#1) 52に入力するとともに、第3のFEC演算回路であるRSデコーダ(#2) 52を起動し、RSデコーダ(#2) 52におけるデータ入力を開始させる。RSデコーダ(#2) 52への239バイトのデータ入力が完了した時点で、パリティ蓄積回路24から16バイトのパリティを読み出してRSデコーダ(#2) 52に入力するとともに、RSデコーダ(#0) 52を起動してデータ入力を開始させる。このとき、RSデコーダ(#0)では誤り訂正演算を完了し、次の演算を開始できる状態にある。複数のRS入力制御部(#0〜#2) 44はそれぞれその出力46、48、50に接続される複数のRSデコーダ(#0〜#2) 52に対応する制御回路である。
複数のRSデコーダ(#0〜#2) 52は、処理レイテンシ時間経過後、誤り訂正処理後のデータをそれぞれ出力54、56、58に出力して、FEC出力位相制御回路36に誤り訂正処理後のデータを供給する。これによりFEC出力位相制御回路36の入力では、データ遅延回路34から出力される誤り訂正前のデータフレームとRSデコーダ52から出力される誤り訂正後のデータとの位相が等しい状態となる。
データ遅延回路34は、RSデコーダ52の遅延に相当する固定長の遅延量をデータ遅延回路16から出力されるデータフレーム信号に付与してその出力40に出力する遅延回路である。データ遅延回路34の出力40はFEC出力位相制御回路36に接続されている。
FEC出力位相制御回路36は、データ遅延回路40から出力される誤り訂正前のデータフレームと複数のRSデコーダ(#0〜#2) 52からそれぞれ出力される誤り訂正後のデータの位相を等しい状態に制御する回路である。FEC出力位相制御回路36は、複数のRSデコーダ(#0〜#2) 52に出力データのうち所望のデータを選択する出力データ選択部60を備えている。
詳しくは出力データ選択部60は、FEC入力位相制御回路14から出力されるFEC出力タイミング情報38に従って、S_FEC/T_FEC(1番目)/T_FEC(2番目)の特殊符号およびパリティフィールドをIEEE 802.3にて示されるIdleパターン(/I/)に変換し、各RSデコーダ(#0〜#2) 52から出力される誤り訂正後のデータ54、56、58を選択してデータ遅延回路34から出力される誤り訂正前のデータ40の位置に挿入する。出力データ選択部60は、それ以外のフレームIdle区間(/I/)や、FEC符号化処理が施されていないフレームを受信したときには、各RSデコーダ(#0〜#2) 52の出力データを採用せず、データ遅延回路34の出力データ(誤り訂正前のデータ)40を選択してそのまま出力信号62として出力する。
以上の構成でFEC演算装置10の動作を図2を参照して説明すると、同図にはFEC演算装置10の動作を表すタイミングチャートが示されている。図示の例では、受信フレームがIEEE 802.3ah勧告で規定される最大フレーム長(データフィールド長=1536バイト)である場合の動作を示している。入力されるFEC入力データ12は、特殊符号・S_FECと、データ(D#1〜D#7)に7バイトのプリアンブルを加えたデータフィールド(1536+7バイト)と、特殊符号T_FECと、112バイトのパリティフィールド(P#1〜P#7)と、特殊符号T_FECとを連接して構成される。
FEC入力データ12は、最大データフレーム長と特殊符号T_FECの長さとの和からRSデコーダ52にデータが入力されるまでの時間を減算した量に相当する時間データ遅延回路16にて遅延されて出力32に出力される(時間t1〜t2)。
RS入力制御部44では、FEC入力位相制御回路14から出力されるRS入力タイミング情報30に従って、データフィールド32から239バイト単位のRSデコーダ52への入力データを切り出し、また、この切り出したデータ(D#1〜D#7)にパリティリード制御部42から出力される16バイトのパリティ(P#1〜P#7)をそれぞれ結合する。
RSデコーダ(#0) 52への239バイトのデータ(D#1)の入力が完了した時点で、パリティ蓄積回路24から16バイトのパリティ(P#1)を読み出してRSデコーダ(#0)52に入力するとともに、次段のRSデコーダ(#1) 52を起動し、データの入力を開始する。RSデコーダ(#1) 52へのデータ入力が完了した時点で、パリティ蓄積回路24からパリティ(P#2)を読み出してRSデコーダ(#1) 52に入力するとともに、さらに次段のRSデコーダ(#2) 52を起動して、データ入力を開始する。次にRSデコーダ(#2) 52へのデータ入力が完了した時点で、パリティ蓄積回路24からパリティ(P#3)を読み出してRSデコーダ(#2) 52に入力するとともに、初段のRSデコーダ(#0) 52を起動して、データ入力を開始する。このとき、RSデコーダ(#0) 52はそれまで実行していた誤り訂正演算処理を完了し、次の演算開始を許諾できる状態にある。
このように本動作例では、各RSデコーダ(#0〜#2) 52には239バイトのデータ(D#1〜D#7)と16バイトのパリティ(P#1〜P#7)とが連続して入力され(時間t2)、これらデータによりリードソロモン復号処理が行われて、処理レイテンシ時間経過後に処理結果が誤り訂正処理済みデータとしてそれぞれ出力54、56、58に出力される(時間t3)。
一方、データ遅延回路34では、RSデコーダ52におけるFEC演算処理の遅延に相当する固定長の遅延量がデータ遅延回路16の出力に付与されて、FEC出力位相制御回路36の入力側では、データ遅延回路34の出力である誤り訂正前のデータフレーム40と、RSデコーダ52から出力される誤り訂正後のデータ54〜58との位相はそれぞれ等しい状態となる。
FEC出力位相制御回路36では、FEC入力位相制御回路14から供給されるFEC出力タイミング情報38に従って、S_FEC/T_FEC(1番目)/T_FEC(2番目)の特殊符号およびパリティフィールドがIEEE 802.3に示されるIdleパターン(/I/)に変換され、各RSデコーダ52から出力される誤り訂正後のデータがデータ遅延回路34の出力データの位置に挿入される。それ以外のフレームIdle区間(/I/)や、FEC符号化処理が施されていないフレームについては、各RSデコーダ52の出力データを採用せず、データ遅延回路40から出力される誤り訂正前のデータがそのまま出力される。
以上説明したように、上記実施例によれば、誤り訂正信号処理に要する遅延時間(レイテンシ)が短く、さらには遅延素子などの記憶素子を削減することが可能となり、小規模で低消費電力化が可能なFEC演算回路を提供することが可能となる。なお、上記実施例ではIEEE 802.3ah勧告のフレーム構成を処理する例について説明したが、これに限らず同種の他のフレーム単位のデータを受信する受信回路に適用可能である。
10 FEC演算装置
14 FEC入力位相制御回路
16、34 データ遅延回路
24 パリティ蓄積回路
28 RS入力位相制御回路
36 FEC出力位相制御回路
52 RSデコーダ(#0,#1,#2)
14 FEC入力位相制御回路
16、34 データ遅延回路
24 パリティ蓄積回路
28 RS入力位相制御回路
36 FEC出力位相制御回路
52 RSデコーダ(#0,#1,#2)
Claims (3)
- 転送フレームを受信して誤り訂正処理を行う誤り訂正復号装置において、前記転送フレームは、誤り訂正符号の適用の可否を示す第1の特殊符号と、誤り訂正符号を適用するフレームデータと、前記フレームデータの終了を示す第2の特殊符号と、誤り訂正符号のパリティデータと、前記パリティデータの終了を示す第3の特殊符号とを連接してフレームを構成し、前記誤り訂正符号として固定長のデータ毎にパリティデータを算出するブロック符号を採用し、前記固定長のデータを複数まとめてフレームデータを構成し、前記固定長のデータ毎のパリティデータをまとめてパリティデータを生成し、前記フレームデータと前記パリティデータとにより構成してデータ転送された転送フレームであり、該装置は、
前記転送フレームを受信したフレームデータを所定の遅延量にて遅延する第1のデータ遅延手段と、
前記フレームデータからパリティフィールドを抽出して格納し、FEC (Forwarded Error Correction)演算単位ごとにパリティを出力するパリティ蓄積手段と、
前記第1のデータ遅延手段から出力されるデータフレームと前記パリティとによりFEC演算処理を行うデータを生成するとともに、該データの位相を制御する入力位相制御手段と、
前記データをFEC演算処理して誤り訂正処理後のデータを生成する複数の演算処理手段と、
前記誤り訂正後のデータから新たなデータフレームを生成する出力位相制御手段とを含み、
前記入力位相制御手段は、前記複数の演算処理手段の起動を制御し、
前記第1のデータ遅延手段の遅延量は、前記フレームデータの最大長と該フレームデータの終了を示す特殊符号の長さとの和から前記誤り訂正符号を適用する固定長のデータ長を減算した遅延量とすることを特徴とする誤り訂正復号装置。 - 請求項1に記載の装置において、該装置は、
前記第1の遅延手段の出力を遅延する第2の遅延手段を含み、
前記FEC出力位相制御手段は、前記第2のデータ遅延手段の出力データおよび前記複数の演算処理手段の出力データのいずれかを選択する選択手段を有し、
前記第2のデータ遅延手段の遅延量をそれぞれ演算処理手段の演算に要する遅延時間と等価な遅延量に設定して、第2のデータ遅延手段の出力データと、前記複数の演算処理手段から出力される誤り訂正後の出力データとの位相を前記出力位相制御手段の入力側にて揃えることを特徴とする誤り訂正復号装置。 - 請求項1に記載の装置において、前記入力される転送フレームは、IEEE 802.3ah勧告にて定義されたデータフレームであることを特徴とする誤り訂正復号装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006243124A JP2008067079A (ja) | 2006-09-07 | 2006-09-07 | 誤り訂正復号装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006243124A JP2008067079A (ja) | 2006-09-07 | 2006-09-07 | 誤り訂正復号装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008067079A true JP2008067079A (ja) | 2008-03-21 |
Family
ID=39289380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006243124A Withdrawn JP2008067079A (ja) | 2006-09-07 | 2006-09-07 | 誤り訂正復号装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008067079A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008160633A (ja) * | 2006-12-26 | 2008-07-10 | Oki Electric Ind Co Ltd | 誤り訂正符号回路 |
-
2006
- 2006-09-07 JP JP2006243124A patent/JP2008067079A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008160633A (ja) * | 2006-12-26 | 2008-07-10 | Oki Electric Ind Co Ltd | 誤り訂正符号回路 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8522116B2 (en) | Systems and methods for performing forward error correction | |
US8479085B2 (en) | Memory system with error correction decoder architecture having reduced latency and increased throughput | |
JP4764973B2 (ja) | Crc値の算出装置 | |
MY132105A (en) | Intra-decoder component block messaging | |
US8433974B2 (en) | Cyclic redundancy check code generating circuit and cyclic redundancy check code generating method | |
CN1849767B (zh) | 前向纠错映射和去映射技术 | |
USRE39252E1 (en) | Instruction dependent clock scheme | |
JP2008154298A (ja) | 低密度パリティ検査(ldpc)デコーダに応用する演算方法、及び、その回路 | |
JP2008067079A (ja) | 誤り訂正復号装置 | |
TWI288349B (en) | Apparatus and method for dynamic program decompression | |
JP4677638B2 (ja) | 誤り訂正復号回路 | |
JP4677639B2 (ja) | 誤り訂正復号回路 | |
JP2010034976A (ja) | 誤り訂正符号化装置、誤り訂正復号装置及び誤り訂正符号化方法 | |
CN209946888U (zh) | 数据高电平宽度稳定转发芯片 | |
CN113821370B (zh) | 一种用于数据传输错误校验的高速crc产生方法和装置 | |
WO2022099967A1 (zh) | 蓝牙接收机的译码实现方法 | |
JP2009141453A (ja) | データ伝送装置、データ送信装置、データ受信装置及びデータ伝送システム | |
JP4747085B2 (ja) | 誤り訂正符号回路 | |
US20080320365A1 (en) | Providing an initial syndrome to a crc next-state decoder independently of its syndrome feedback loop | |
KR20070084983A (ko) | 디지털 통신 시스템의 rs 복호기 | |
CN110297792B (zh) | 数据高电平宽度稳定转发芯片及级联方法 | |
JP2000196467A (ja) | 誤り訂正符号化器および誤り訂正復号器 | |
CN107919876B (zh) | 用以寻找一码字中错误位置的方法及电子装置 | |
US20040243875A1 (en) | Instruction dependent clock scheme | |
KR970068184A (ko) | 리드 솔로몬 부호기 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20091110 |