JP2008160633A - 誤り訂正符号回路 - Google Patents

誤り訂正符号回路 Download PDF

Info

Publication number
JP2008160633A
JP2008160633A JP2006349104A JP2006349104A JP2008160633A JP 2008160633 A JP2008160633 A JP 2008160633A JP 2006349104 A JP2006349104 A JP 2006349104A JP 2006349104 A JP2006349104 A JP 2006349104A JP 2008160633 A JP2008160633 A JP 2008160633A
Authority
JP
Japan
Prior art keywords
data
input
parity
fec
circuit
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.)
Granted
Application number
JP2006349104A
Other languages
English (en)
Other versions
JP4747085B2 (ja
Inventor
Masatoshi Yamada
正敏 山田
明宏 ▲高▼橋
Akihiro Takahashi
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
OF Networks Co Ltd
Oki Networks Co Ltd
Original Assignee
Fujikura Ltd
Oki Electric Industry Co Ltd
OF Networks Co Ltd
Oki Networks 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, OF Networks Co Ltd, Oki Networks Co Ltd filed Critical Fujikura Ltd
Priority to JP2006349104A priority Critical patent/JP4747085B2/ja
Publication of JP2008160633A publication Critical patent/JP2008160633A/ja
Application granted granted Critical
Publication of JP4747085B2 publication Critical patent/JP4747085B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】処理時間が短い誤り訂正符号回路を提供する。
【解決手段】データ遅延回路110はFEC入力データを遅延させて出力する。FEC入力位相制御回路120は、FEC入力データのデータフィールドを先頭から所定バイトずつ区切ってなるブロックの各先頭が検出された所定時間後に信号T1を出力し、該データフィールド終端が検出されると信号T2を生成し、且つ、FEC入力データ終端が入力されてから所定時間後に信号C0を出力する。RS入力位相制御回路130は、信号T1を入力したときは遅延データを出力し、信号T2を入力したときは次の信号T1が入力されるまでパディングを出力する。FEC演算回路141〜143は、入力データおよびパディングからパリティデータを演算してパリティ蓄積回路150に蓄積する。FEC出力位相制御回路160は信号C0が入力されると出力を遅延データから蓄積パリティデータに切り換える。
【選択図】図1

Description

この発明は、ブロック符号を用いて誤り訂正符号化を行う、誤り訂正符号回路に関する。この発明は、例えば、リードソロモン符号化されたデータをIEEE802.3勧告に準拠したフレームに格納する回路に適用することができる。
デジタルデータの通信や記録を行う場合には、ノイズ等に起因してビット誤りが発生する場合がある。このような誤りを検出・訂正するための技術の一つとして、前方誤り訂正(Forward Error Correction:FEC)が知られている。前方誤り訂正は、冗長ビットを用いて、伝送データに発生する誤りビットを訂正する技術である。以下、FECを採用した通信フレームを、FECフレームと記す。
また、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)で採用されている。
図7は、IEEE802.3ah勧告に準拠したFECフレームの構造を示す概念図である。図7において、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に開示されている。
特開2002−76909号公報 特開2004−120419号公報
しかし、上述の文献1、2に開示された誤り訂正符号回路は、処理時間が遅いという欠点がある。
特に、ブロック符号としてリードソロモン符号を使用する場合、上述のように処理が複雑であるため、転送のレイテンシ(ノードがフレームを入力してから出力するまでの時間)が非常に長くなり、ネットワーク輻輳等の原因になっていた。
また、IEEE802.3ahでは、データ長が239バイトに満たない場合は該データの前にパディング挿入(値‘0’を敷き詰めること)を施して239バイト化した後で誤り訂正符号化を実施するように規定されているため、データ長が239バイトのときと239バイト未満のときとで処理が異なり、処理時間が長くなる原因になっていた。
この発明の課題は、処理時間が短い誤り訂正符号回路を提供することにある。
この発明は、入力データ列のデータフィールドを先頭から所定データ長ずつ区切っていくことによってブロックを生成し、ブロック毎に誤り訂正符号演算を施すことによってパリティデータを生成し、パリティデータを入力データ列に挿入する誤り訂正符号回路に関する。
そして、データフィールドを入力し、所定遅延時間だけ遅延させて出力するデータ遅延回路と、ブロックの各先頭データが入力されたタイミングに基づいてデータ挿入タイミング信号を生成し、データフィールドの終端が入力されたタイミングに基づいてパディング挿入タイミング信号を生成し、且つ、入力データ列の終端が入力されたタイミングおよびブロックの個数に基づいてパリティリードタイミング制御信号を生成する第1入力位相制御回路と、データ挿入タイミング信号が与えるタイミングに基づいてデータ遅延回路からブロックを1個ずつ読み出すとともに出力する処理と、ブロックが所定データ長よりも短い場合にパディング挿入タイミング信号が与えるタイミングに基づいてパディングを出力する処理とを行う入力制御部を複数個有する第2入力位相制御回路と、対応する入力制御部が出力したブロックのパリティデータを算出する複数の演算回路と、パリティデータを蓄積するパリティ蓄積回路と、パリティリードタイミング制御信号に基づいて、データ遅延回路から出力されたデータフィールドとパリティ蓄積回路から読み出されたパリティデータとを含む出力データ列を生成する出力位相制御回路とを有する。
この発明に係る誤り訂正符号回路は、各ブロックのパリティ演算と並行して他のブロックのパディング付加やパリティ演算等を行うことができ、したがって処理時間が短い。
以下、この発明の実施の形態について、図面を用いて説明する。なお、図中、各構成成分の大きさ、形状および配置関係は、この発明が理解できる程度に概略的に示してあるにすぎず、また、以下に説明する数値的条件は単なる例示にすぎない。
第1の実施形態
この発明の第1の実施形態に係る誤り訂正符号回路について、図1〜図4を用いて説明する。この実施形態は、ブロック符号としてリードソロモン符号を採用した場合の例である。
図1は、この実施形態に係る誤り訂正符号回路100の構成を概略的に示すブロック図である。図1に示したように、この実施形態の誤り訂正符号回路100は、データ遅延回路110と、FEC入力位相制御回路120と、RS(リードソロモン、以下同じ)入力位相制御回路130と、第1〜第3FEC演算回路141〜143と、パリティ蓄積回路150と、FEC出力位相制御回路160とを備える。
データ遅延回路110は、外部からデータ列(FEC入力データ)を入力し、所定遅延時間だけ遅延させて、RS入力位相制御回路130およびFEC出力位相制御回路160に出力する。所定遅延時間は、1回の誤り訂正符号処理で使用するブロックのデータ長に対応する時間である。この実施形態では、該データ長を239バイトとし、該遅延時間を動作クロックの239サイクルとする。各ブロックは、FEC入力データのデータフィールド(図7のFRAME/FCSに格納されるデータの格納領域)に格納されたデータを先頭から239バイトずつ区切ることによって、得られる。なお、FEC入力データの最後のブロックが239バイトに満たない場合があるが、かかるブロックも1個のブロックとして扱われる。
FEC入力位相制御回路120は、データ挿入タイミング生成部121と、パディング挿入タイミング生成部122と、パリティリードタイミング生成部123とを有する。
データ挿入タイミング生成部121は、FEC入力データを用いて、データ挿入タイミング信号T1を生成・出力する。データ挿入タイミング信号T1は、誤り訂正符号処理で使用するブロックの各先頭バイトが入力されたタイミングに基づいて生成される。データ挿入タイミング生成部121は、各先頭バイトを入力してから、239サイクル経過後に、データ挿入タイミング信号T1を出力する。
パディング挿入タイミング生成部122は、パディング挿入タイミング信号T2を生成・出力する。パディング挿入タイミング信号T2は、データフィールドの終端が入力されたタイミングに基づいて生成される。パディング挿入タイミング生成部122は、FEC入力位相制御回路120にFEC入力データの終端が入力されたタイミングで、パディング挿入タイミング信号T2を出力する。
パリティリードタイミング生成部123は、パリティリードタイミング制御信号C0を生成・出力する。パリティリードタイミング制御信号C0は、FEC入力データの終端が入力されたタイミングを示す信号C1と、ブロックの個数を示す信号C2とを含む。この実施形態では、各ブロックの先頭バイトが入力された回数を検出することにより、ブロックの個数を判断する。信号C1は、FEC入力位相制御回路120にブロックD♯7の終端が入力されてから239サイクルが経過し、さらに、一番目のT_FECに対応するサイクル数(IEEE802.3では6サイクルまたは7サイクルと規定されいるが、ここでは6サイクルとする)経過した後に、出力される。
RS入力位相制御回路130は、データ挿入タイミング信号T1およびパディング挿入タイミング信号T2を入力する。このRS入力位相制御回路130は、第1〜第3RS入力制御部131〜133を有する。データ挿入タイミング信号T1がRS入力位相制御部130に入力されると、いずれかのRS入力制御部131〜133が、データ遅延回路110から出力されたブロック(239バイト)を入力して、対応するFEC演算回路141〜143に出力する。また、第1〜第3RS入力制御部131〜133は、パディング挿入タイミング信号T2のみが入力されたとき、パディングを生成・出力する。
第1〜第3FEC演算回路141〜143は、リードソロモン符号化技術を用いて、第1〜第3RS入力制御部131〜133が出力したブロックのリードソロモン符号演算処理を実施する。
パリティ蓄積回路150は、第1〜第3FEC演算回路141〜143が出力した被処理データからパリティデータを抜き出して蓄積する。
FEC出力位相制御回路160は、パリティリードタイミング制御信号C0(信号C1,C2)に基づいて、データ遅延回路110から出力されたFEC入力データに、パリティ蓄積回路150から読み出されたパリティデータを挿入する。FEC出力位相制御回路160は、パリティリード制御部161と、出力データ選択部162とを有する。出力データ選択部162は、パリティリード制御部161の制御に基づき、データ遅延回路110から出力されたFEC入力データまたはパリティ蓄積回路150から読み出されたパリティデータの一方を、選択的に出力する。また、FEC出力位相制御回路160は、出力されるフレームに、FEC符号化されたフレームであることを示すS_FEC、T_FEC(1番目)、T_FEC(2番目)を付加する。
次に、図1に示した誤り訂正符号回路100の全体的な動作について、図2〜図4を用いて説明する。ここでは、FEC入力データのデータフィールド長が、1543バイトの場合(IEEE802.3ah勧告に規定された最大フレーム長に対応する場合)と、239バイト以下である場合とに分けて説明する。
図2は、1543バイトのFEC入力データを符号化する場合の、誤り訂正符号回路100の動作を説明するためのタイミングチャートである。
まず、誤り訂正符号回路100に、FEC入力データが、入力される。図2に示したように、FEC入力データは、/I/パターン、データフィールド(プリアンブル7バイト+ユーザデータ1536バイト)、/T/パターン(1バイト)および/R/パターン(1バイト)を含む。ここで、プリアンブルには、1バイトの/S/パターンが含まれる。ユーザデータ1536バイトは、7個のブロックD♯1〜D♯7を含み、D♯1〜D♯6は239バイト、D♯7は109バイトである。
最初にFEC入力データが、データ遅延回路110およびFEC入力位相制御回路120に取り込まれる。
データ遅延回路110は、図2に示したように、FEC入力データを、ブロック1個分に相当する時間すなわち239サイクル遅延させて、出力する。
FEC入力位相制御回路120は、FEC入力データを、データ挿入タイミング生成部121と、パディング挿入タイミング生成部122と、パリティリードタイミング生成部123とに供給する。
データ挿入タイミング生成部121は、例えばプリアンブル内の/S/パターンを検出することにより、データフィールドの先頭バイト(すなわち最初のブロックD♯1の先頭バイト)を検出する。また、データ挿入タイミング生成部121は、ブロックD♯1の先頭バイトが検出された後のサイクル数から、ブロックD♯2〜D♯7の先頭バイトを検出する。そして、データ挿入タイミング生成部121は、各ブロックD♯1〜D♯7の先頭バイトが検出されたタイミングからそれぞれ239サイクル経過後に、データ挿入タイミング信号T1を出力する。したがって、データ挿入タイミング信号T1は、データ遅延回路110がブロックD♯1〜D♯7の先頭ビットを出力するタイミングと同じタイミングで、出力される。/S/パターンを検出することによってデータフィールドの先頭を検出する方法は、IEEE802.3に規定されている。
パディング挿入タイミング生成部122は、例えばFEC入力データの/T/、/R/の連続パターンを検出することにより、データフィールドの終端(すなわち、ブロックD♯7の終端)を検出する。そして、パディング挿入タイミング生成部122は、ブロックD♯7の終端検出タイミングで、パディング挿入タイミング信号T2を出力する(図2参照)。周知のように、IEEE802.3ahでは、ブロックのデータ長が239バイトに満たない場合は、そのブロックの先頭側にパディングを挿入することにより、該ブロックのデータ長を239バイトにする。この説明では、最後のブロックD♯7のデータ長は109バイトであり、したがって、ブロックD♯7には130バイトのパディングが挿入される。パディング挿入タイミング信号T2は、ブロックD♯7の終端検出後直ちに出力されるので、データ遅延回路110がブロックD♯7の先頭バイトを出力するよりも(したがってデータ挿入タイミング生成部121がデータ挿入タイミング信号T1を出力するよりも)130サイクル前に出力されることになる。/T/、/R/の連続パターンを検出することによってデータフィールドの終端を検出する方法は、IEEE802.3に規定されている。
パリティリードタイミング生成部123は、各ブロックD♯1〜D♯7の先頭バイトが入力された回数を検出することにより、ブロックの個数を判断する。パリティリードタイミング生成部123は、上述のように、ブロックD♯7の終端が入力されてから239サイクルが経過し、さらに、1番目のT_FECの長さに対応する時間(ここでは6サイクル)経過した後に、パリティリードタイミング制御信号C0(すなわち信号C1,C2)を出力する。したがって、パリティリードタイミング信号C0は、データ遅延回路110が最終ブロックD♯7の終端を出力した6サイクル後に出力されることになる。
RS入力位相制御回路130は、まず、先頭ブロックD♯1に対応するデータ挿入タイミング信号T1を受け取る。これにより、RS入力位相制御回路130は、第1RS入力制御部131を起動する。第1RS入力制御部131は、データ遅延回路110から239バイトのデータを順次入力し、第1FEC演算回路141に送る。上述のように、データ挿入タイミング信号T1とブロックD♯1の先頭バイトとは同じタイミングで出力される。したがって、第1RS入力制御部131は、先頭ブロックD♯1を、第1FEC演算回路141に送信することになる。
RS入力位相制御回路130は、2つめのデータ挿入タイミング信号T1を受け取ると、第2RS入力制御部132を起動する。第2RS入力制御部132は、データ遅延回路110から出力されたデータを239バイト入力し、第2FEC演算回路142に送る。これにより、2番目のブロックD♯2が、第2FEC演算回路142に送られることになる。
RS入力位相制御回路130は、3つめのデータ挿入タイミング信号T1を受け取ると、第3RS入力制御部133を起動して、3番目のブロックD♯3をデータ遅延回路110から第3FEC演算回路143に転送させる。
続いて、RS入力位相制御回路130は、4つめのデータ挿入タイミング信号T1を受け取ると、再び第1RS入力制御部131を制御して、4番目のブロックD♯4を第1FEC演算回路141に転送させる。さらに、第2、第3RS入力制御部132,133を順次制御して、5番目、6番目のブロックD♯5,D♯6を第2、第3FEC演算回路142,143に転送させる。
第3RS入力制御部133がブロックD♯6を転送している最中に、RS入力位相制御回路130は、パディング挿入タイミング信号T2を受信する(図2参照)。パディング挿入タイミング信号T2を受信すると、RS入力位相制御回路130は、第1RS入力制御部131を制御して、パディングを出力させる。
その後、7個目のデータ挿入タイミング信号T1が受信されると、RS位相制御回路130は、第1RS入力制御部131に、パディングの送信を停止させ、7個目のブロックD♯7の転送を開始させる。上述のように、パディング挿入タイミング信号T2が入力されてから7個目のデータ挿入タイミング信号T1が入力するまでの時間差は、130サイクルである。したがって、第1RS入力制御部131は、130バイトのパディングを送信することになる。
ブロックD♯1〜D♯7の転送終了後も、各RS入力制御部131〜133は、そのまま転送動作を続けていてもよい。無効区間のデータをそのまま転送しても、誤り訂正符号回路100全体の動作には影響しないからである。
第1〜第3FEC演算回路141〜143は、1個のブロックを受信するたびに、そのブロックの239バイトのデータを用いてリードソロモン符号演算を実施する。これにより、ブロックD♯1〜D♯7毎に、16バイトのパリティデータP♯1〜P♯7が算出される。この実施形態では、各FEC演算回路141〜143の演算レイテンシを1サイクルとする(図2参照)。各FEC演算回路141〜143は、演算レイテンシ経過後、リードソロモン符号演算処理後のデータ(各ブロックD♯1〜D♯7にパリティデータP♯1〜P♯7を付加してなるデータ)を、出力する。
パリティ蓄積回路150は、上述のように、被処理データからパリティデータを抜き出して、蓄積する。
FEC出力位相制御回路160は、データ遅延回路110からFEC入力データを入力する。FEC出力位相制御回路160は、FEC入力データに含まれる2バイトの/I/パターンと1バイトの/S/パターンを変換することによりS_FEC(図7参照)を生成する。また、FEC出力位相制御回路160は、ブロックD♯1〜D♯7のデータを、そのまま出力する。さらに、FEC出力位相制御回路160は、/T/パターンおよび/R/パターンを変換することにより1番目のT_FECを生成する。パリティリードタイミング制御信号C0を入力すると、FEC出力位相制御回路160は、信号C2が示す個数のパリティデータをパリティ蓄積回路150から読み出して出力し、さらに、2番目のT_FECを付加する。
以上のようにして、1543バイトのFEC入力データから、FECフレームが生成される。
図3は、239バイト以下のFEC入力データを符号化する場合の、誤り訂正符号回路100の動作を説明するためのタイミングチャートである。
データ遅延回路110は、図2の場合と同様、FEC入力データを、239サイクル遅延させて出力する。
データ挿入タイミング生成部121は、図2の場合と同様にして各ブロックD♯1〜D♯7の先頭バイトを検出し、239サイクル経過後にデータ挿入タイミング信号T1を出力する。
パディング挿入タイミング生成部122は、図2の場合と同様、データフィールドの終端データを検出したタイミングで、パディング挿入タイミング信号T2を出力する。
パリティリードタイミング生成部123は、FEC入力データのブロック数(図3の例ではすべて1個)を判断し、ブロックの終端(FEC入力データのデータフィールド終端)が入力されてから239サイクル+6サイクル経過した後に、パリティリードタイミング制御信号C0を出力する。
RS入力位相制御回路130は、まず、パディング挿入タイミング信号T2を受信し、第1RS入力制御部131を制御して、パディングの出力を開始させる。その後、データ挿入タイミング信号T1が受信されると、RS入力位相制御回路130は、第1RS入力制御部131に、パディングの送信を停止させ、ブロックD♯1の転送を開始させる。
次に、2回目のパディング挿入タイミング信号T2を受信すると、RS入力位相制御回路130は、第2RS入力制御部132を制御してパディングの出力を開始させ、その後、データ挿入タイミング信号T1が受信されると、第2RS入力制御部132にパディングの送信を停止させるとともにブロックD♯1の転送を開始させる。
その後のRS入力位相制御回路130の動作も、同様である。
FEC演算回路141〜143は、図2の場合と同様、1個のブロックを受信するたびにリードソロモン符号演算を実施し、演算レイテンシ(ここでは1サイクル)経過後、リードソロモン符号演算処理後の被処理データ(ブロックにパリティデータを付加してなるデータ)を出力する。
パリティ蓄積回路150は、図2の場合と同様、被処理データからパリティデータを抜き出して蓄積する。
FEC出力位相制御回路160は、図2の場合と同様にして、S_FEC、ブロック、1番目のT_FEC、パリティデータおよび2番目のT_FECを出力する。
上述の説明から解るように、データ遅延回路110から出力されたFEC入力データは、第1〜第3FEC演算回路141〜143およびFEC出力位相制御回路160に同時に入力される。ここで、第1〜第3FEC演算回路141〜143は、所定の演算レイテンシ経過後に被処理データをパリティ蓄積回路150に送る。一方、FEC出力位相制御回路160は、FEC入力データのデータフィールド後端に一番目T_FECを付加した後で、パリティ蓄積回路150からのパリティデータの読み出しを開始する。したがって、FEC入力データのデータフィールド長が239バイト未満の場合、パリティデータP♯1〜♯7がパリティ蓄積回路150に書き込まれてから読み出されるまでの時間は、(一番目T_FECのサイクル数)−(FEC演算回路の演算レイテンシ)で与えられる。上述のように、この実施形態では、一番目T_FECのサイクル数は6サイクルであり、且つ、FEC演算回路の演算レイテンシは1サイクルである。したがって、パリティデータP♯1〜♯7がパリティ蓄積回路150に書き込まれてから読み出されるまでの時間は、5サイクルである。
以上のようにして、239バイト未満のFEC入力データから、FECフレームが生成される。
図4は、FEC入力データの長さが239バイトの整数倍である場合の、誤り訂正符号回路100の動作を説明するための概念図である。
上述したように、データ挿入タイミング信号T1は各ブロックの先頭バイトが検出されてから239サイクル後に出力され、また、パディング挿入タイミング信号T2はFEC入力データの終端が入力されたときに直ちに出力される(図2および図3参照)。したがって、最終ブロックが239バイト未満の場合(すなわち、FEC入力データの長さが239バイトの整数倍でない場合)、当該最終ブロックの前に、(239バイト)−(最終ブロックのデータ長)と一致する個数のパディングを挿入することができる(図4(b)参照)。
これに対して、最終ブロックが239バイトの場合(すなわち、FEC入力データの長さが239バイトの整数倍である場合)、最終ブロックがFEC入力位相制御回路120に入力されたタイミングで、信号T1,T2が同時に出力されることになる(図4(a)参照)。しかし、この場合、RS入力位相制御回路130は、パディングを出力する必要はない。したがって、上述のように、この実施形態では、信号T1,T2が同時に入力された場合はパディングを出力しないように、RS入力位相制御回路130を構成した。
以上説明したように、この実施形態に係る誤り訂正符号回路100は、239サイクルの処理レイテンシで、FEC処理(誤り訂正符号処理)を行うことができる。この処理レイテンシは、パディングの最大挿入数が238バイトである(最終ブロックが1バイトのとき)ことを考えると、非常に小さい値である。
また、ブロックが239バイトの場合の処理と239バイト未満の場合の処理とを共通化できるので、装置コストを低減することが容易である。
第2の実施形態
この発明の第2の実施形態に係る誤り訂正符号回路について、図5および図6を用いて説明する。この実施形態も、ブロック符号としてリードソロモン符号を採用した場合の例である。
図5は、この実施形態に係る誤り訂正符号回路500の構成を概略的に示すブロック図である。図5において、図1と同じ符号を付した構成要素は、それぞれ図1の場合と同じものを示している。
図5に示したように、この実施形態の誤り訂正符号回路500は、2個のパリティ蓄積回路501,502を有している。パリティ蓄積回路501,502は、それぞれ、第1〜第3FEC演算回路141〜143が出力した被処理データからパリティデータを抜き出して蓄積するとともに、FEC出力位相制御回路160によってパリティデータが読み出される。パリティ蓄積回路501,502へのパリティデータ蓄積は、例えば、交互に行うことができる。
以下、この実施形態に係る誤り訂正符号回路500の動作について、FEC入力データのデータフィールドが2個のブロックを含む場合を例に採り、図6を用いて説明する。図6は、この実施形態に係る誤り訂正符号回路500の動作を説明するための概念図である。
FEC入力データが誤り訂正符号回路500に入力されると、第1の実施形態の場合と同様にして、データ遅延回路110がFEC入力データを出力し、また、FEC入力位相制御回路120がデータ挿入タイミング信号T1等を出力する。
RS入力位相制御回路130が最初のデータ挿入タイミング信号T1を受け取ると、第1RS入力制御部131がデータ遅延回路110からブロックD♯1(239バイト)を入力し、第1FEC演算回路141に送る。第1FEC演算回路141は、このブロックD♯1を用いてパリティデータ(16バイト)を演算する。算出されたパリティデータP♯1は、ブロックD♯1の後に付加され(図6(A)参照)、パリティ蓄積回路501,502に送られる。パリティ蓄積回路501は、入力データからパリティデータP♯1を抜き出して蓄積する。
このようにしてパリティデータP♯1を演算・蓄積する処理と並行して、パリティデータP♯2を演算・蓄積する処理も開始される。
2番目のブロックD♯2が239バイトの場合、ブロックD♯1の場合と同様の処理が、第2RS入力制御部132および第2FEC演算回路142によって行われ、パリティデータP♯2がパリティ蓄積回路502に蓄積される。ここで、ブロックD♯2が239バイトの場合、第1FEC演算回路141がパリティデータP♯1の演算を開始してから239サイクル後に、第2FEC演算回路142がパリティデータP♯2の演算を開始する。したがって、パリティデータP♯1,P♯2の蓄積動作(この実施形態ではパリティ蓄積回路501,502への書き込み動作)が重なることはない。
一方、2番目のブロックD♯2が239バイト未満の場合、第1の実施形態と同様にして、ブロックD♯1がデータ遅延回路110、RS入力制御部131、FEC演算回路141間を転送されている最中に、FEC入力位相制御回路120からパディング挿入タイミング信号T2が出力される。このとき、ブロックD♯2のバイト数が少ない場合ほど、パディング挿入タイミング信号T2の出力タイミングは早くなる。パディング挿入タイミング信号T2がFEC入力位相制御回路120に受信されると、ブロックD♯1の転送処理およびパリティデータ演算処理と並行して、第2RS入力制御部132から第2FEC演算回路142にパディングが送られ、さらに、ブロックD♯1の転送処理終了後直ちにブロックD♯2の転送処理およびパリティデータ演算処理が開始される。したがって、パリティデータP♯1の蓄積動作開始からパリティデータP♯2の蓄積動作開始までの時間差(サイクル差)は、ブロックD♯1,D♯2のバイト数差と一致する。ここで、パディングデータの長さは、ブロックの長さに拘わらず、常に16バイトである。その結果、ブロックD♯1,D♯2のバイト数差が16バイト以上であればパリティデータP♯1,P♯2の蓄積処理は重ならないが、該バイト数差が16バイト未満の場合は該蓄積処理が重なることになる(図6(B)参照)。したがって、パリティ蓄積回路が1個の場合、該バイト数差が16バイト未満のときに、パリティデータP♯1の蓄積処理が終了するまでパリティデータP♯2の蓄積処理を待たなければならず、処理レイテンシが増大する。
これに対して、この実施形態の誤り訂正符号回路500は、2個のパリティ蓄積回路501,502を有しているので、パリティデータP♯1,P♯2の蓄積処理を並行して行うことができ、したがって、処理レイテンシが増大することはない。
以上説明したように、この実施形態に係る誤り訂正符号回路500は、上述の第1の実施形態と同様の効果に加えて、最終ブロックの長さが16バイト未満であっても、処理レイテンシが増大しないという効果を有する。
第1の実施形態に係る誤り訂正符号回路の構成を概略的に示すブロック図である。 第1の実施形態に係る誤り訂正符号回路の動作を説明するためのタイミングチャートである。 第1の実施形態に係る誤り訂正符号回路の動作を説明するためのタイミングチャートである。 第1の実施形態に係る誤り訂正符号回路の動作を説明するための概念図である。 第2の実施形態に係る誤り訂正符号回路の構成を概略的に示すブロック図である。 第2の実施形態に係る誤り訂正符号回路の動作を説明するための概念図である。 IEEE802.3ah勧告に準拠したFECフレームの構造を示す概念図である。
符号の説明
100,500 誤り訂正符号回路
110 データ遅延回路
120 FEC入力位相制御回路
121 データ挿入タイミング生成部
122 パディング挿入タイミング生成部
123 パリティリードタイミング生成部
130 RS入力位相制御回路
131,132,133 RS入力制御部
141,142,143 FEC演算回路
150,501,502 パリティ蓄積回路
160 FEC出力位相制御回路
161 パリティリード制御部
162 出力データ選択部

Claims (5)

  1. 入力データ列のデータフィールドを先頭から所定データ長ずつ区切っていくことによってブロックを生成し、該ブロック毎に誤り訂正符号演算を施すことによってパリティデータを生成し、該パリティデータを該入力データ列に挿入する誤り訂正符号回路であって、
    前記データフィールドを入力し、所定遅延時間だけ遅延させて出力するデータ遅延回路と、
    前記ブロックの各先頭データが入力されたタイミングに基づいてデータ挿入タイミング信号を生成し、前記データフィールドの終端が入力されたタイミングに基づいてパディング挿入タイミング信号を生成し、且つ、前記入力データ列の終端が入力されたタイミングおよび前記ブロックの個数に基づいてパリティリードタイミング制御信号を生成する第1入力位相制御回路と、
    前記データ挿入タイミング信号が与えるタイミングに基づいて前記データ遅延回路から前記ブロックを1個ずつ読み出すとともに出力する処理と、該ブロックが前記所定データ長よりも短い場合に前記パディング挿入タイミング信号が与えるタイミングに基づいてパディングを出力する処理とを行う入力制御部を複数個有する第2入力位相制御回路と、
    対応する前記入力制御部が出力した前記ブロックの前記パリティデータを算出する複数の演算回路と、
    前記パリティデータを蓄積するパリティ蓄積回路と、
    前記パリティリードタイミング制御信号に基づいて、前記データ遅延回路から出力された前記データフィールドと前記パリティ蓄積回路から読み出された前記パリティデータとを含む出力データ列を生成する出力位相制御回路と、
    を有することを特徴とする誤り訂正符号回路。
  2. 前記所定遅延時間が、前記所定データ長に対応する伝送時間であることを特徴とする請求項1に記載の誤り訂正符号回路。
  3. 前記第1入力位相制御回路が、前記先頭データを入力してから、前記所定遅延時間経過後に、前記データ挿入タイミング信号を出力することを特徴とする請求項1または2に記載の誤り訂正符号回路。
  4. 前記第1入力位相制御回路が、前記データフィールドの終端を入力したタイミングで、前記パディング挿入タイミング信号を出力することを特徴とする請求項1〜3のいずれかに記載の誤り訂正符号回路。
  5. 前記第1入力位相制御回路が、前記入力データ列の終端が入力されてから、前記所定遅延時間が経過し且つ前記データフィールドの終端と前記パリティデータの先頭との間に挿入されるデータに対応する伝送所要時間が経過した後に、前記パリティリードタイミング制御信号を出力することを特徴とする請求項1〜4のいずれかに記載の誤り訂正符号回路。
JP2006349104A 2006-12-26 2006-12-26 誤り訂正符号回路 Active JP4747085B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006349104A JP4747085B2 (ja) 2006-12-26 2006-12-26 誤り訂正符号回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006349104A JP4747085B2 (ja) 2006-12-26 2006-12-26 誤り訂正符号回路

Publications (2)

Publication Number Publication Date
JP2008160633A true JP2008160633A (ja) 2008-07-10
JP4747085B2 JP4747085B2 (ja) 2011-08-10

Family

ID=39661017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006349104A Active JP4747085B2 (ja) 2006-12-26 2006-12-26 誤り訂正符号回路

Country Status (1)

Country Link
JP (1) JP4747085B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9201725B2 (en) 2012-11-01 2015-12-01 Samsung Electronics Co., Ltd. Memory module, memory system having the same, and methods of reading therefrom and writing thereto

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02288523A (ja) * 1989-04-28 1990-11-28 Canon Inc 符号伝送方法
JP2001094439A (ja) * 1999-09-24 2001-04-06 Sanyo Electric Co Ltd 誤り訂正回路および誤り訂正方法
WO2005122505A2 (en) * 2004-06-02 2005-12-22 Teknovus, Inc. Method and apparatus for delineating data in an fec-coded ethernet frame
JP2007295090A (ja) * 2006-04-21 2007-11-08 Of Networks:Kk 誤り訂正復号回路
JP2008067079A (ja) * 2006-09-07 2008-03-21 Oki Electric Ind Co Ltd 誤り訂正復号装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02288523A (ja) * 1989-04-28 1990-11-28 Canon Inc 符号伝送方法
JP2001094439A (ja) * 1999-09-24 2001-04-06 Sanyo Electric Co Ltd 誤り訂正回路および誤り訂正方法
WO2005122505A2 (en) * 2004-06-02 2005-12-22 Teknovus, Inc. Method and apparatus for delineating data in an fec-coded ethernet frame
JP2007295090A (ja) * 2006-04-21 2007-11-08 Of Networks:Kk 誤り訂正復号回路
JP2008067079A (ja) * 2006-09-07 2008-03-21 Oki Electric Ind Co Ltd 誤り訂正復号装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9201725B2 (en) 2012-11-01 2015-12-01 Samsung Electronics Co., Ltd. Memory module, memory system having the same, and methods of reading therefrom and writing thereto
US9483348B2 (en) 2012-11-01 2016-11-01 Samsung Electronics Co., Ltd. Memory module, memory system having the same, and methods of reading therefrom and writing thereto

Also Published As

Publication number Publication date
JP4747085B2 (ja) 2011-08-10

Similar Documents

Publication Publication Date Title
JP3549788B2 (ja) 多段符号化方法、多段復号方法、多段符号化装置、多段復号装置およびこれらを用いた情報伝送システム
TWI285310B (en) Method and apparatus for iterative hard-decision forward error correction decoding
KR101354288B1 (ko) 통신 시스템에서 에러 검출 방법 및 장치
US8468439B2 (en) Speed-optimized computation of cyclic redundancy check codes
TWI482167B (zh) 具有錯誤修正解碼器可以減少延遲並增加產率的記憶系統
JP4764973B2 (ja) Crc値の算出装置
US7870466B2 (en) Parallel cyclic code generation device and parallel cyclic code error detection device
CN101312387A (zh) 数据传输设备、数据发送和接收装置以及数据传输系统
JP4655006B2 (ja) Ipストリーム送受信システム、ipストリーム受信装置及びそれらに用いる受信処理タイミング同期化方法
JP4064928B2 (ja) 繰り返し硬判定順方向誤り訂正復号化用の装置
CN1849767B (zh) 前向纠错映射和去映射技术
JP4747085B2 (ja) 誤り訂正符号回路
JP5194747B2 (ja) データ伝送装置、データ送信装置、データ受信装置及びデータ伝送システム
JP2010034976A (ja) 誤り訂正符号化装置、誤り訂正復号装置及び誤り訂正符号化方法
JP2002335165A (ja) 組み合わせ回路、該組み合わせ回路を使用する符号化装置、復号装置、および半導体デバイス
JP4677639B2 (ja) 誤り訂正復号回路
JP4677638B2 (ja) 誤り訂正復号回路
US8745465B1 (en) Detecting a burst error in the frames of a block of data bits
US9748978B2 (en) CRC code calculation circuit and method thereof, and semiconductor device
JP2003078421A (ja) 符号系列の先頭位置検出方法とその装置、それを用いた復号方法とその装置
EP2285003B1 (en) Correction of errors in a codeword
JP5550413B2 (ja) Crc演算回路
US11309994B2 (en) Highly parallel and scalable cyclic redundancy check
Lee A VLSI design of a high-speed Reed-Solomon decoder
Juan et al. Utilization of High-Speed DSP Algorithms of Cyclic Redundancy Checking (CRC-15) Encoder and Decoder for Controller Area Network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091118

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20100708

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100708

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110215

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: 20110510

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: 20110516

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

Free format text: PAYMENT UNTIL: 20140520

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4747085

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140520

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: 20140520

Year of fee payment: 3

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

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