(57)【要約】【課題】誤り訂正処理に要する遅延時間を短くする誤り訂正復号装置を提供。【解決手段】転送フレームを受信したフレームデータを所定の遅延量にて遅延し、フレームデータからパリティフィールドを抽出して格納し、FEC (Forwarded Error Correction)演算単位ごとにパリティを出力し、データフレームとパリティとによりFEC演算処理を行って誤り訂正処理後のデータを生成し、誤り訂正後のデータから新たなデータフレームを生成する際に、所定の遅延量をフレームデータの最大長とフレームデータの終了を示す特殊符号の長さとの和から、誤り訂正符号を適用する固定長のデータ長を減算した遅延量とする構成。【選択図】図１
2008067079.tif 000002
【特許請求の範囲】
【請求項１】
転送フレームを受信して誤り訂正処理を行う誤り訂正復号装置において、前記転送フレームは、誤り訂正符号の適用の可否を示す第１の特殊符号と、誤り訂正符号を適用するフレームデータと、前記フレームデータの終了を示す第２の特殊符号と、誤り訂正符号のパリティデータと、前記パリティデータの終了を示す第３の特殊符号とを連接してフレームを構成し、前記誤り訂正符号として固定長のデータ毎にパリティデータを算出するブロック符号を採用し、前記固定長のデータを複数まとめてフレームデータを構成し、前記固定長のデータ毎のパリティデータをまとめてパリティデータを生成し、前記フレームデータと前記パリティデータとにより構成してデータ転送された転送フレームであり、該装置は、
前記転送フレームを受信したフレームデータを所定の遅延量にて遅延する第１のデータ遅延手段と、
前記フレームデータからパリティフィールドを抽出して格納し、FEC (Forwarded Error Correction)演算単位ごとにパリティを出力するパリティ蓄積手段と、
前記第１のデータ遅延手段から出力されるデータフレームと前記パリティとによりFEC演算処理を行うデータを生成するとともに、該データの位相を制御する入力位相制御手段と、
前記データをFEC演算処理して誤り訂正処理後のデータを生成する複数の演算処理手段と、
前記誤り訂正後のデータから新たなデータフレームを生成する出力位相制御手段とを含み、
前記入力位相制御手段は、前記複数の演算処理手段の起動を制御し、
前記第１のデータ遅延手段の遅延量は、前記フレームデータの最大長と該フレームデータの終了を示す特殊符号の長さとの和から前記誤り訂正符号を適用する固定長のデータ長を減算した遅延量とすることを特徴とする誤り訂正復号装置。
【請求項２】
請求項１に記載の装置において、該装置は、
前記第１の遅延手段の出力を遅延する第２の遅延手段を含み、
前記FEC出力位相制御手段は、前記第２のデータ遅延手段の出力データおよび前記複数の演算処理手段の出力データのいずれかを選択する選択手段を有し、
前記第２のデータ遅延手段の遅延量をそれぞれ演算処理手段の演算に要する遅延時間と等価な遅延量に設定して、第２のデータ遅延手段の出力データと、前記複数の演算処理手段から出力される誤り訂正後の出力データとの位相を前記出力位相制御手段の入力側にて揃えることを特徴とする誤り訂正復号装置。
【請求項３】
請求項１に記載の装置において、前記入力される転送フレームは、IEEE 802.3ah勧告にて定義されたデータフレームであることを特徴とする誤り訂正復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば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"フィールドを付与する構成である。
【０００３】
リードソロモン符号は、一般的に固定長のデータと対応する固定長のパリティバイトとにより構成され、復号の際に固定長のデータと固定長のパリティバイト単位に実行される。特許文献１には、リードソロモン符号を処理するリードソロモン誤り訂正回路が開示されている。
【０００４】
IEEE 802.3ahでは受信したフレームの固定長バイト分の受信データと、後に受信されるパリティフィールドの受信データとを組み合わせて復号処理を実行することになる。
【特許文献１】特開平10-13250号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、このようなフレームを転送するシステムにおいて、誤り訂正回路にて最後の"T_FEC"フィールドまで受信し、その後に誤り訂正復号処理を開始すると、とくに受信フレームが長い場合に、処理の遅延時間（レイテンシ）が増加し、ネットワーク全体の遅延の増加要因となるという問題があった。
【０００６】
本発明はこのような従来技術の欠点を解消し、誤り訂正処理に要する遅延時間を短くする誤り訂正復号装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は上述の課題を解決するために、転送フレームを受信して誤り訂正処理を行う誤り訂正復号装置において、転送フレームは、誤り訂正符号の適用の可否を示す第１の特殊符号と、誤り訂正符号を適用するフレームデータと、フレームデータの終了を示す第２の特殊符号と、誤り訂正符号のパリティデータと、パリティデータの終了を示す第３の特殊符号とを連接してフレームを構成し、誤り訂正符号として固定長のデータ毎にパリティデータを算出するブロック符号を採用し、固定長のデータを複数まとめてフレームデータを構成し、固定長のデータ毎のパリティデータをまとめてパリティデータを生成し、フレームデータとパリティデータとにより構成してデータ転送された転送フレームであり、この装置は、転送フレームを受信したフレームデータを所定の遅延量にて遅延する第１のデータ遅延手段と、フレームデータからパリティフィールドを抽出して格納し、FEC (Forwarded Error Correction)演算単位ごとにパリティを出力するパリティ蓄積手段と、第１のデータ遅延手段から出力されるデータフレームとパリティとによりFEC演算処理を行うデータを生成するとともに、データの位相を制御する入力位相制御手段と、データをFEC演算処理して誤り訂正処理後のデータを生成する複数の演算処理手段と、誤り訂正後のデータから新たなデータフレームを生成する出力位相制御手段とを含み、入力位相制御手段は、複数の演算処理手段の起動を制御し、第１のデータ遅延手段の遅延量は、フレームデータの最大長とフレームデータの終了を示す特殊符号の長さとの和から誤り訂正符号を適用する固定長のデータ長を減算した遅延量とすることを特徴とする。
【０００８】
この場合、この装置は、第１の遅延手段の出力を遅延する第２の遅延手段を含み、FEC出力位相制御手段は、第２のデータ遅延手段の出力データおよび複数の演算処理手段の出力データのいずれかを選択する選択手段を有し、第２のデータ遅延手段の遅延量をそれぞれ演算処理手段の演算に要する遅延時間と等価な遅延量に設定して、第２のデータ遅延手段の出力データと、複数の演算処理手段から出力される誤り訂正後の出力データとの位相を出力位相制御手段の入力側にて揃えるとよい。また、入力される転送フレームは、IEEE 802.3ah勧告にて定義されたデータフレームであるとよい。
【発明の効果】
【０００９】
本発明によれば、誤り訂正信号処理に要する遅延時間（レイテンシ）を短くすることができ、さらに遅延素子などの記憶素子を削減することが可能となる。この結果、小規模で低消費電力化が可能な誤り訂正復号装置を提供することが可能となる。
【発明を実施するための最良の形態】
【００１０】
次に添付図面を参照して本発明による誤り訂正復号装置の実施例を詳細に説明する。図１を参照すると、本発明が適用された誤り訂正復号装置の実施例が示されている。本実施例における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バイトの誤り訂正処理済みデータを出力するリードソロモン復号回路である。第１のFEC演算回路であるRSデコーダ(#0) 52では、239バイトのデータ入力が完了した時点でパリティ蓄積回路24から16バイトのパリティを読み出して入力するとともに、第２のFEC演算回路であるRSデコーダ(#1) 52を起動し、RSデコーダ(#1) 52におけるデータ入力を開始させる。このRSデコーダ(#1) 52への239バイトのデータ入力が完了した時点で、パリティ蓄積回路24から16バイトのパリティを読み出してRSデコーダ(#1) 52に入力するとともに、第３の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の動作を図２を参照して説明すると、同図にはFEC演算装置10の動作を表すタイミングチャートが示されている。図示の例では、受信フレームがIEEE 802.3ah勧告で規定される最大フレーム長（データフィールド長＝1536バイト）である場合の動作を示している。入力されるFEC入力データ12は、特殊符号・S_FECと、データ(D#1〜D#7)に７バイトのプリアンブルを加えたデータフィールド（1536＋７バイト）と、特殊符号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勧告のフレーム構成を処理する例について説明したが、これに限らず同種の他のフレーム単位のデータを受信する受信回路に適用可能である。
【図面の簡単な説明】
【００２９】
【図１】本発明が適用されたFEC演算装置の実施例を示すブロック図である。
【図２】FEC演算装置の動作を示すタイミングチャートである。
【符号の説明】
【００３０】
10  FEC演算装置
14  FEC入力位相制御回路
16、34  データ遅延回路
24  パリティ蓄積回路
28  RS入力位相制御回路
36  FEC出力位相制御回路
52  RSデコーダ（#0,#1,#2）
【図１】
2008067079.tif 000003
【図２】
2008067079.tif 000004