[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5233165B2 - データ伝送装置 - Google Patents

データ伝送装置 Download PDF

Info

Publication number
JP5233165B2
JP5233165B2 JP2007138255A JP2007138255A JP5233165B2 JP 5233165 B2 JP5233165 B2 JP 5233165B2 JP 2007138255 A JP2007138255 A JP 2007138255A JP 2007138255 A JP2007138255 A JP 2007138255A JP 5233165 B2 JP5233165 B2 JP 5233165B2
Authority
JP
Japan
Prior art keywords
frame
unit
error correction
correction code
ecc
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.)
Expired - Fee Related
Application number
JP2007138255A
Other languages
English (en)
Other versions
JP2008294757A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2007138255A priority Critical patent/JP5233165B2/ja
Priority to CN2008100811824A priority patent/CN101312387B/zh
Priority to US12/055,474 priority patent/US8103942B2/en
Publication of JP2008294757A publication Critical patent/JP2008294757A/ja
Application granted granted Critical
Publication of JP5233165B2 publication Critical patent/JP5233165B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Error Detection And Correction (AREA)

Description

本発明は、データ伝送装置に関する。
一般的に、伝送帯域を上げるには、伝送路のビット幅を増やすか、伝送周波数を上げる方法が考えられる。また、近年、半導体技術の向上と共に、CPUや主記憶メモリの動作周波数が高くなっている。このような事情から、ホスト装置と記憶装置をつなぐ伝送路では、ビット幅を増やして伝送帯域を上げるSCSI等のパラレルバスに代わって、ビット数を少なくして伝送周波数を上げるPCI Express等のシリアルバスが主流になってきている。
このシリアルバス等の伝送周波数が高いデータ伝送においては、伝送エラーを防いで信頼性を向上することが重要である。例えば、ノイズに弱い直流成分を除去し、シンボル間干渉等の伝送品質の劣化要因を除くために、伝送データが適度に0と1が含まれるようにDCバランス調整を行う。8B10Bとして知れらる方式では、8ビットごとのデータの塊をあらかじめ決められた0と1の割合が50%に近い10ビットのデータに変換することによってDCバランスを調整している。しかしながら、システムによってそれ以上の伝送品質を要求される場合には、エラー訂正機能は不可欠になる。例えば、ハミング符号のように元のデータにエラー検出用の冗長ビットを付加し、伝送後にエラーの有無を検出し、エラーがあった場合は訂正を行うといった方法が知られている(例えば、特許文献1参照。)。
ところで、データ転送方式には、主に3つの方式がある。
(1)固定長パケットを用いて、エラー検出/訂正を行い、エラー発生時でもデータ再送を行わない方式(固定長パケット方式)。この方式(1)は、構成が単純で1ビット誤りまでのエラー訂正が可能であるが、コマンド毎にフレーム(伝送単位)長を変更して伝送帯域を有効に使用することができない。
(2)可変長パケットを用いて、パケットに含まれるエラー検出符号によりエラー検出を行い、エラー発生時は再送を行う方式(可変長パケット方式)。この方式(2)は、コマンド毎にフレーム長を変更して伝送帯域を有効に使用することができるが、再送処理が非常に複雑となる。また、パケットの先頭を示すデータがビット誤りにより解釈できなかった場合は、パケット全体を見落とすことになる。
(3)上記(1)および上記(2)を組み合わせて、再送せずにエラー訂正を行う方式。
この方式(3)は、(1)、(2)の短所を補う方法である。
上記方式(1)に属するデータ伝送システムとして、固定長(100バイト)のパケットにパケットECC(Error Correcting Code)を付加し、パケットECCが付加された複数のパケットからなるブロックにブロックECCを付加して送信するパケットベース通信システムが提案されている(例えば、特許文献2参照。)。
この構成によれば、一部のパケットが消失した場合でも、消失していない他のパケットとブロックECCによって消失したパケットの誤り検出および訂正を行うことができる。
特開2003−318865号公報 特表2005−512352号公報
本発明の目的は、可変長パケット方式と比べて伝送帯域を有効利用することができ、パ
ケット全体をエラー訂正することができるデータ伝送装置を提供することにある。
本発明は、上記目的を達成するため、以下のデータ伝送装置を提供する。
[1]要求に応じたパケットを生成するパケット生成部と、生成された前記パケットを分割またはダミーデータの付加により所定の長さのフレームを形成し、これに誤り訂正符号を付加して誤り訂正符号付きフレームを生成するフレームエンコード部と、生成された前記誤り訂正符号付きフレームを伝送路を介して送信する送信部と、前記伝送路を介して前記誤り訂正符号付きフレームを受信する受信部と、受信された前記誤り訂正符号付きフレームについて誤り検出および訂正を行うフレームデコード部と、誤り検出および訂正された前記誤り訂正符号付きフレームから前記誤り訂正符号を除去して前記パケットを抽出するパケット抽出部とを備えたデータ伝送装置であって、前記フレームエンコード部は、前記所定の長さのフレームを形成するフレーム形成部と、形成された前記フレームについてDCバランス変換を施すDCバランス変換部と、DCバランス変換されたフレームに誤り訂正符号を付加して前記送信部に出力する誤り訂正符号付加部とを備えるとともに、前記誤り訂正符号にクロック補償用の制御シンボルと区別するための情報を追加し、かつ前記フレームデコート部は、前記誤り訂正符号付きフレームについて誤り検出および訂正を行う誤り検出・訂正部と、誤り検出および訂正された前記誤り訂正符号付きフレームから前記誤り訂正符号を除去する誤り訂正符号除去部と、前記誤り訂正符合が除去されたフレームについてDC逆バランス変換を施して前記パケット抽出部に出力するDC逆バランス変換部とを備えたデータ伝送装置であって、前記フレームエンコード部は、前記誤り訂正符号付きフレーム間にクロック補償用の制御シンボルを含むシーケンスを挿入して受信タイミングを補正するための前記クロック補償シーケンス時に2以上の所定数の前記クロック補償用の制御シンボルが1組となったデータを生成して前記送信部により送信し、かつ前記フレームデコード部は、前記クロック補償シーケンス時に受信した前記所定数のシンボルが一部が前記クロック補償用の制御シンボルに一致し、かつ前記所定数のシンボルのうち前記クロック補償用の制御シンボルでないシンボルと前記クロック補償用の制御シンボルとの違いが1ビット以下のとき、受信タイミングの補正を行うことを特徴とするデータ伝送装置
]前記フレームエンコード部は、前記誤り訂正符号付きフレーム間に所定のシンボルを含むシーケンスを挿入して受信タイミングを補正するためのクロック補償シーケンス後の最初に前記誤り訂正符号付きフレームを生成するとき、前記最初の誤り訂正符号付きフレームの先頭に、クロック補償用の制御シンボルとハミング距離が2以上離れた制御シンボルを設けることを特徴とする前記[1]に記載のデータ伝送装置。
請求項1に係るデータ伝送装置によれば、可変長パケット方式と比べて伝送帯域を有効利用することができ、パケット全体をエラー訂正することができる。また、伝送路で発生したビット誤りがDC逆バランス変換で拡大されることがない。また、誤り訂正符号と他の制御シンボルとの混同が生じない。さらに、クロック補償フレームに1ビットの誤りがあっても、クロックを補償することができる。
請求項に係るデータ伝送装置によれば、誤り訂正符号付きフレームの先頭部分に1ビトのビット誤りがあっても、クロック補償シーケンスと判断されることがない。
本発明のデータ伝送装置を適用したストレージシステムについて説明する。
(ストレージシステムの構成)
図1は、本発明の実施の形態に係るストレージシステムを示す。このストレージシステム100は、ホストコンピュータ101と、半導体ディスク装置102とから構成される。
半導体ディスク装置102は、ホストコンピュータ101に接続されたホストバスインタフェース(I/F)2と、ホストバスI/F2にPCI Express等のシリアル伝送路3によって接続されたメモリコントローラ4と、データが格納される半導体メモリ5とを備える。
ホストバスI/F2およびメモリコントローラ4は、それぞれに設けられた高速シリアル伝送技術を応用したデータ伝送装置1により接続されている。データ伝送装置1は、データ送信装置とデータ受信装置とから構成され、ホストバスI/F2およびメモリコントローラ4の一方のデータ送信装置と、シリアル伝送路3と、一方のデータ受信装置とからデータ伝送システム10を構成している。
ホストバスI/F2は、ホストコンピュータ101から発行されたコマンドを解釈して、データ伝送装置1を介してメモリコントローラ4に半導体メモリ5をアクセスするよう指示をする。また、ホストバスI/F2は、メモリコントローラ4からアクセス結果が返されると、ホストコンピュータ101に処理が終了したことを通知する。
メモリコントローラ4は、指示を受けると半導体メモリ5をアクセスし、その結果を再びデータ伝送装置1を介してホストバスI/F2に返す。
(データ伝送装置の構成)
図2は、ホストバスI/F2に設けられたデータ伝送装置1の構成を示す。メモリコントローラ4に設けられたデータ伝送装置1も、図2と同様に構成されているので、その説明を省略する。データ伝送装置1は、前述したようにデータ送信装置1aと、データ受信装置1bとから構成されている。
データ伝送装置1aは、ホストバスI/F2を制御する制御部20からの要求に応じたパケットを生成するパケットエンコーダ(パケット生成部)11と、生成されたパケットからECC(Error Correcting Code)フレーム(誤り訂正符号付きフレーム)を生成するECCフレームエンコーダ(フレームエンコード部)12と、ECCフレームをパラレルデータからシリアルデータに変換して送出するトランスミッタ(送信部)13とを備える。
データ受信装置1bは、受信したECCフレームをシリアルデータからパラレルデータに変換するレシーバ(受信部)14と、ECCに基づいてエラー検出および訂正を行うECCフレームデコーダ(フレームデコード部)15と、ECCフレームからパケットを抽出するパケットデコーダ(パケット抽出部)16とを備える。
(ECCフレームエンコーダ)
ECCフレームエンコーダ12は、ECCエンコード部120と、IDLEシンボル付加部121とを備える。
ECCエンコード部120は、固定長フレーム形成部120a、8B10B符号化部120b、およびECC付加部120cを備える。
固定長フレーム形成部120aは、パケットエンコーダ11によって生成されたパケットを分割またはダミーデータの付加により所定の長さ(例えば8バイト)のフレーム(固定長フレームという。)を形成する。
8B10B符号化部120bは、固定長フレーム形成部120aによって形成された固定長フレームを8B10Bエンコード(DCバランス変換)して80ビットのフレームを形成する。なお、8B10Bエンコードの他に、4B5B、64B66B等のDCバランス変換を用いてもよい。
ECC付加部120cは、8B10BエンコードされたフレームにECCを付加して100ビットのECCフレームを作成する。ECCとしては、例えば、ハミング符号、マンチェスタ符号、リードソロモン符号等の公知の訂正符号を用いることができる。
IDLEシンボル付加部121は、クロック補償シーケンスの際にIDLEシンボル(IDLE符号)を出力するものである。ここで、クロック補償シーケンスとは、EECフレーム間に所定のシンボル(例えばアイドルシンボル)を含むシーケンスを挿入して受信タイミングを補正するためのものである。
(ECCフレームデコーダ)
ECCフレームデコータ15は、IDLEシンボルを検出するIDLEシンボル検出部150と、ECCデコード部151と、エラスティックバッファ・クロック補償処理部152と、IDLEシンボル削除部153とを備える。
ECCデコード部151は、レシーバ14からのパラレルデータに含まれるECCを用いて、ECCエラー検出/訂正を行うECCエラー検出/訂正部151aと、ECCエラー検出/訂正後にECCを除去するECC除去部151bと、ECCが除去された80ビットのデータを64ビットのデータに10B8Bデコード処理を行う10B8B復号化部151cとを備える。
(パケットの構成)
次に、パケットエンコーダ11が生成するパケットについて図3、図4を参照して説明する。
図3は、パケットエンコーダ11が生成するパケットの構成例を示す。パケット200は全て「パケット構成」に示すように、1バイトのSOP(Start of Packet)で始まり、それにパケット本体が続き、1バイトのEOP(End of Packet)で終わる構成をとる。SOP及びEOPは、送信前に8B10Bエンコードされ、特定のKキャラクタに変換されるため、受信側で容易にパケットを抽出できるようになる。
パケット本体は、処理及び送信者に応じて、メモリライトリクエスト、メモリライトコンプリーション、メモリリードリクエスト、メモリリードコンプリーションのいずれかの形式をとる。
メモリライトリクエストは、ホストバスI/F2が、ホストコンピュータ101から書き込み要求を受け取った際に、ホストバスI/F2から発行されるパケットである。
メモリライトコンプリーションは、メモリコントローラ4が、ホストバスI/F2からメモリライトリクエストを受け取った場合に、メモリライトリクエストのアドレスフィールドで指定されたアドレスへ、データフィールドに格納されたデータを書き込んだ後、処理の完了を通知するために、メモリコントローラ4から発行されるパケットである。
メモリリードリクエストは、ホストバスI/F2が、ホストコンピュータ101から読み出し要求を受け取った際に、ホストバスI/F2から発行されるパケットである。
メモリリードコンプリーションは、メモリコントローラ4が、ホストバスI/F2からメモリライトリクエストを受け取った場合に、半導体メモリ5から、メモリリードリクエストのアドレスフィールドで指定されたアドレスのデータを読み出した後、処理が完了したことを通知すると共に、読み出したデータをデータフィールドに格納して、メモリコントローラ4から発行されるパケットである。
ヘッダは、4ビットのタイプと、4ビットのコンプリーションステータスとを合わせた1バイトで構成される。なお、コンプリーションステータスは、メモリライトコンプリーション及びメモリリードコンプリーションのヘッダの場合のみ有効であり、データ送受が正常に行われたかどうかを判定するために用いられる。
コンプリーションステータスは、予約フィールド、CフィールドおよびUフィールドからなる。Uフィールドは、致命的なエラーを示し、ホストコンピュータ101にこのままでは処理が継続できないことを通知する。Cフィールドは、訂正可能なエラーを示し、ホストコンピュータ101に通知することで、例えば、訂正可能なメモリエラーを検出後に訂正データで再書き込みすることにより、訂正不可能なエラーに発展することを防ぐ。
図4は、タイプの意味と2進符号の割り当てを示す。メモリライトリクエスト、メモリライトコンプリーション、メモリリードリクエスト、メモリリードコンプリーションには、それぞれ2進符号の(1000)、(1100)、(0000)、(0100)が割り当てられる。
(ストレージシステムの全体の動作)
次に、ストレージシステム100の全体の動作を説明する。ホストコンピュータ101が、半導体ディスク装置102に対してアクセスコマンドを発行すると、ホストバスI/F2は、ホストコンピュータ101からのコマンドを解釈し、データ伝送装置1を介してメモリコントローラ4に半導体メモリ5をアクセスするよう指示をする。
メモリコントローラ4は、指示を受けると、半導体メモリ5をアクセスし、その結果を再びデータ伝送装置1を介してホストバスI/F2に返す。ホストバスI/F2は、メモリコントローラ4からアクセス結果が返されると、ホストコンピュータ101に処理が終了したことを通知する。
(データ伝送装置の全体の動作)
(1)送信側の処理動作
次に、データ伝送装置1の送信側(データ送信装置1a)の処理動作を図5〜図9を参照して説明する。図5(a)〜(d)は、シリアル伝送前のECCフレームエンコーダ12における符号化の流れの一例を示す。
データ伝送装置1のパケットエンコーダ11は、ホストバスI/F2を制御する制御部20からの要求に応じたパケットを生成する。
ECCエンコード部120の固定長フレーム形成部120aは、パケットエンコーダ11によって生成されたパケットを分割またはダミーデータの付加により、図5(a)に示すように、8バイトの固定長フレーム201を形成する。8バイトの固定長フレーム201は、転送したいパケットがある/なしに関わらず、一定の周期で構成され、送出される。このとき、送りたいパケットがない場合は、NOP2シンボル(受信側で無視されるシンボル)を詰めて8バイトを構成する。送りたいパケットがある場合は、これを含んだ8バイトを構成する。パケットが8バイトを超える場合は、最初の8バイトまでをまとめて処理し、次のタイミングで残りをやはり8バイトにまとめて処理する。
8B10B符号化部120bは、固定長フレームを8B10Bエンコードし、図5(b)に示すように、80ビットの固定長フレーム202を形成する。ここでは、シリアル伝送にCDR技術を用いるため、この8バイトをそれぞれ8B10Bエンコードし、80ビットに変換する。この時、SOP、EOP、NOP2などの特殊なシンボルは、それぞれ対応するKキャラクタに変換される。その特殊シンボルとKキャラクタの対応関係を、図6に示す。
ECC付加部120cは、8B10Bエンコードされた80ビットのフレームにECCを追加し、図5(c)に示すように、ECCフレーム203を形成し、伝送時に1ビット誤りが発生しても受信側で訂正できるようにする。
図7は、ECC付加部120cにより追加されるECCの一例を示す。80ビットに対するECCは8ビットで十分であるが、これは8B10Bエンコードの対象とはならないため、DCバランスを考慮して反転した8ビットを合わせて追加する。この時、それぞれの8ビットに、図7に示すような2ビットを追加し、クロック補償シーケンスに用いるK28.5シンボルと区別できるようにする。これを全て合わせた100ビットを、以下「ECCフレーム」という。
図8は、ECC付加部120cによって形成されるECCフレームの一例を示す。同図中、A1〜A4は、それぞれ1バイトのアドレスを示す。D1〜D256は、それぞれ1バイトのデータを示す。時間tのECCフレーム(t)は、時間tに形成されたものを示す。ECCフレームには、ECCフレーム(t)からECCフレーム(t+1)のように、1つのパケットの内容が2つのECCフレームに渡る場合もあり、ECCフレーム(t+1)のように、1つのECCフレームに複数のパケットの一部が含まれる場合もある。また、ECCフレーム(t+3)、ECCフレーム(t+k)、およびECCフレーム(t+k+35)のように、パケットが含まれない場合もある。ECCフレーム(t+k+1)、ECCフレーム(t+k+2)、ECCフレーム(t+k+33)およびECCフレーム(t+k+34)のように、1つのパケットが複数のECCフレームに渡る場合もある。
続いてECC付加部120cは、ECCフレーム203を、図5(d)に示すように、20ビットずつ5回に分けてクロック毎にトランスミッタ13に出力する。
図9は、図8のECCフレームを20ビットずつ出力する様子を示す。トランスミッタ13は、この20ビットをパラレル/シリアル変換し、順次伝送路に出力する。
(2)受信側の処理動作
シリアル伝送後のデータ伝送装置1の受信側(データ受信装置1b)における復号処理は、以上の逆の処理を行う。レシーバ14は、伝送路から入力されたシリアルデータを、シリアル/パラレル変換し、20ビットのパラレルデータとしてクロック毎にECCフレームデコーダ15に出力する。
ECCフレームデコーダ15のECCエラー検出/訂正部151aでは、IDLEシンボル検出部150を介して20ビットのパラレルデータを受け取ると、それを5サイクル分まとめて100ビットとし、これに含まれるECCを用いて、ECCエラー検出/訂正処理される。
その後、ECC除去部151bでECCが除かれた80ビットは、10B8B復号化部151cにて8B10Bデコード処理が施され、64ビットが復元される。ECCフレームデコーダ15は、復元された64ビットの各8ビットから、NOP1、NOP2を削除し、残りをエラスティックバッファ・クロック補償処理部152およびIDLEシンボル削除部153を介してパケットデコーダ16に送る。
(3)クロック補償シーケンス
データ伝送装置1の送信側と受信側にそれぞれに図示しないクロック発振器を設け、クロック発振器をリファレンスクロックとして用いている。しかし、同じ周波数のクロック発信器を用いたとしても発振器間にわずかな周波数偏差があるために、レシーバ14のエラスティックバッファがオーバーフローまたはアンダーフローを起こす可能性がある。このため、レシーバ14で認識可能な特別なKキャラクタを割り当てたクロック補償シーケンスというデータ列を用いて、バッファ調整を行う。このシーケンスは、レシーバ14内で認識され、バッファ調整のためにデータが増減されるため、ECCフレーム内に含めることはできない。そのため、必要に応じてECCフレーム間に埋め込む。つまり、このシーケンスは、ECCによるエラー訂正を適用することができない。
図10は、クロック補償シーケンス挿入時のフレームの一例を示す。ECCフレームエンコーダ12のIDLE付加部121は、クロック補償シーケンス210を4000サイクル毎に出力するよう制御される。1つのクロック補償シーケンス210は、2つのIDLEシンボル211を1サイクルとして連続する2サイクルから構成される。1サイクルの周期は、使用するトランシーバと、使用するリファレンス用のクロック発振器の周波数ばらつきにより規定される。クロック補償シーケンスを2サイクルで構成したのは、1サイクルに例え1ビット誤りが発生しても、ビット誤りが発生していないサイクルが少なくとも1つは残るようにするためである。これにより、1ビット誤りにより、致命的なエラスティックバッファのオーバーフローやアンダーフローが発生することはなくなる。
また、ECCエンコード部120は、IDLEシンボル211を出力した後の最初のECCフレーム203’の先頭に、必ずNOP1シンボルを含めるようにする。これは、IDLEシンボル211直後のデータにIDLEシンボル211とハミング距離が近いデータが配置されることを防ぐためである。
(3−1)クロック補償シーケンスの通常の動作
レシーバ14に入力されたシリアルデータは、レシーバ14内のシリアル/パラレル変換部でパラレルデータに変換され、ECCフレームデコーダ15のECCデコード部151に入力される。ECCデコード部151でエラー訂正された後、8B10Bデコードされたデータは、エラスティックバッファ・クロック補償処理部152に入力される。
エラスティックバッファ・クロック補償処理部152では、バッファ(FIFO)のハーフフル状態が維持されるよう、定期的にトランスミッタ13から出力されるクロック補償シーケンス用シンボル(IDLEシンボル)の削除または複製が行われる。
レシーバ14、ECCデコード部151、及びエラスティックバッファの書き込み処理部はレシーバ14で入力シリアルデータから抽出されたリカバリクロック(つまりトランスミッタ13側のクロック)に同期させ、エラスティックバッファの読み出し処理部以降はローカルクロックに同期させる。これにより、送信側と受信側のクロック周波数偏差を吸収することができる。
エラスティックバッファ・クロック補償処理部152から出力されたデータは、IDLEシンボル削除部153で、パケットに無関係なIDLEシンボルが削除された後、パケットデコーダ16に入力される。
以上により、クロック補償シーケンス(IDLEシンボル)のエラー訂正のための特別な処理は不要になり、通常のデータと同様に一括してECCデコード部151でエラー訂正することができる。
(3−2)クロック補償シーケンスにビット誤りが発生した場合の動作
図11は、クロック補償シーケンスにビット誤りが発生した場合の対処フローの一例を示す。クロック補償シーケンスに1ビット誤りが発生すると、該当シーケンスは、レシーバ14内ではクロック補償シーケンスとしては認識されず、そのままECCフレームデコーダ15に渡される。
ECCフレームデコーダ15は、レシーバ14から20ビットを受け取ると(S1)、IDLEシンボル検出部150は、受信した20ビットのうち、下位10ビットまたは上位10ビットがIDLEシンボルか否かを判断し(S2)、下位10ビットまたは上位10ビットがIDLEシンボルのとき(S2:Yes)、下位10ビットおよび上位10ビットの両方がIDLEシンボルか否かを判断し(S3)、下位10ビットまたは上位10ビットの両方がIDLEシンボルであるとき(S3:Yes)、受信した20ビットはクロック補償シーケンスであると判断し、ECCデコード部151のタイミングを次の受信データがフレームの先頭になるように補正し(S4)、受信した20ビットをECCデコード部151へ出力する(S5)。両方のIDLEシンボルは、IDLEシンボル削除部153で削除される。
また、IDLEシンボル検出部150は、受信した20ビットのうち、上位10ビットおよび下位10ビットのいずれもがIDLEシンボルでないとき(S2:No)、ECCデコード部151のタイミングを補正せずに受信した20ビットをECCデコード部151へ出力する(S5)。
また、IDLEシンボル検出部150は、上位10ビットおよび下位10ビットのいずれかがIDLEシンボルであるが(S2:Yes)、両方がIDLEシンボルでないとき(S3:No)、(1)もう一方の10ビットとIDLEシンボルとのハミング距離が1以下、すなわち両者の違いが1ビット以下であり、(2)IDLEシンボルが受信されるべきタイミングであった場合に(S6:Yes)、この20ビットはクロック補償シーケンスであると判断し、1ビットエラーを訂正し(S7)、ECCデコード部151のタイミングを次の受信データがフレームの先頭になるように補正して(S4)、ECCデコード部151へ出力する(S5)。
なお、上記条件のうち(2)の条件は、更に以下のいずれかの条件が成立するとき、成立したと判断してもよい。
(a)<リンク初期化中>
リンク初期化中は、まだ同期が取れていない可能性があるため、強制的に条件(2)を成立させる。
(b)<IDLE受信タイミング一致>
4000サイクル毎に一致するタイミングかどうかを判定する。すなわち、送信側と受信側で同期をとった後、一定のサイクルまでは、一致していると判断して、強制的に条件(2)を成立させる。
(c)<直前のクロックサイクルでIDLEシンボルを受信した場合>
クロック補償シーケンスは、通常2つのサイクルが連続して送信され、またレシーバ14で認識されると、エラスティックバッファの状態により更に複製されてECCフレームデコーダ15に出力される可能性があるため、直前のクロックサイクルがクロック補償シーケンスであった場合は、次のサイクルもクロック補償シーケンスである可能性が高いため、強制的に条件(2)を成立させる。
以上の処理により、クロック補償シーケンスに1ビット誤りが発生しても問題なく訂正することができる。また、IDLEシンボルの後には必ずNOP1シンボルが配置されるため、これが1ビット誤りにより変化してもクロック補償シーケンスと誤認識されることはない。なお、上述した図11のステップS6の条件判断に代えて、IDLEシンボルでない方の10ビットとIDLEシンボルとのハミング距離が1以下、すなわち両者の違いが1ビット以下の場合に、S6:Yesとし、S7の処理に進む対処フローとしてもよい。
図12は、図11のフローを実現するためのIDLEシンボル検出部150の構成の一例を示す。IDLEシンボル検出部150は、第1乃至第4の比較器50A〜50Dと、第1乃至第5のAND回路51A〜51Eと、第1および第2のOR回路52A,52Bと、クロックコレクションタイミング検出器53と、第1および第2のマルチプレクサ(MUX)54A,54Bと、ECCフレームタイミング生成器55とを有して構成されている。
第1の比較器50Aで上位10ビットがIDLEシンボルか否かが判断され、第2の比較器50Bで上位10ビットとハミング距離が1ビット以下か否かが判断される。第3の比較器50Cで下位10ビットがIDLEシンボルか否かが判断され、第4の比較器50Dで下位10ビットとハミング距離が1ビット以下か否かが判断される。上位10ビットおよび下位10ビットが共にIDLEシンボルのとき、およびIDLEシンボルでない方の10ビットとハミング距離が1ビット以下のときは、ECCフレームタイミング生成器55からIDLEシンボルに基づくタイミング信号が出力される。1ビットエラー訂正の通知は、第4のAND回路51Dから出力される。
(クロック補償シーケンスの他の例)
図13は、クロック補償シーケンスの他の例を示す図である。上記実施の形態では、ECCフレーム間にクロック補償シーケンスを挿入したが、図13に示すように、ECCフレーム203に通常のデータと同様にIDLEシンボル211からなるクロック補償シーケンスを組み込んでもよい。これよっても、前述したのと同様に、エラー訂正が可能になる。エラー訂正後にエラスティックバッファに挿入されるため、IDLEシンボル211は、上位10ビットと下位10ビットの1組でもよい。この構成によれば、エラー訂正前にIDLEシンボル211の検出をする必要がないため、直後にIDLEシンボル211とハミング距離が離れたデータを置く必要がない。
なお、上述のクロック補償シーケンスでは、2つのIDLEシンボルによってビット誤りに対応しているが、IDLEシンボルの数は2つに限らず、3つ以上のIDLEシンボルを利用してビット誤りに対応してもよい。例えば、IDLE付加部121は4つのIDLEシンボル(各5ビット)を送信し、ECCフレームデコーダ15では受信したシンボルの全てがIDLEシンボルであるか、少なくとも一部がIDLEシンボルに一致し且つIDLEシンボルに一致しない5ビットのIDLEシンボルとのハミング距離が1以下である場合に、受信した20ビットはクロック保証シーケンスであると判断してECCでコードタイミング処理を実施する構成でもよい。
図14は、1対多の通信を行う例を示す。例えば、システムを1つの無線通信放送装置300と複数の無線通信受信端末301A〜301Cとから構成する。
無線通信放送装置300は、図2のデータ伝送装置1のうち送信側の機能のみを有するデータ伝送装置1aを備える。無線通信受信端末301A〜301Cは、図2のデータ伝送装置1のうち受信側の機能のみを有するデータ伝送装置1bを備える。同図に示すトランスミッタ13およびレシーバ14は、無線通信機能を有する。
このシステムによれば、エラー発生時に、受信側から送信側に再送要求をする必要がないので、一方的にデータを送受する応用例が考えられる。例えば、1つの無線通信放送装置300から、複数の無線通信受信端末301A〜301Cに同じ情報をブロードキャストするような応用例(デジタル音声データや動画像データなどの送受)が考えられる。
図15は、多対多の通信を行う例を示す。1対多通信を拡張し、互いに送信部と受信部を設け、相互通信をする応用例が考えられる。例えば、システムを無線により相互に接続された複数の無線通信端末302A〜302Dから構成する。
無線通信端末302A〜302Dは、図2のデータ伝送装置1と同様に送信側および受信側の両方の機能を有するデータ伝送装置1を備える。
このシステムでは、無線通信端末302A〜302Dが送信したパケットは、他の全ての無線通信端末302A〜302Dで受信されるが、必要に応じて無線受信端末302A〜302D内で取捨すればよい。このようにすれば、全ての端末同士が相互通信できる。例えば、無線LANなどに応用することができる。
図1は、本発明の実施の形態に係るストレージシステムのブロック図である。 図2は、ホストバスI/Fに設けられたデータ伝送装置のブロック図である。 図3は、パケットエンコーダが生成するパケットの構成例を示す図である。 図4は、パケットのヘッダに含まれるタイプの意味と2進符号の割り当てを示す図である。 図5(a)〜(d)は、シリアル伝送前のECCフレームエンコーダにおける符号化の流れの一例を示す図である。 図6は、特殊シンボルとKキャラクタの対応を示す図である。 図7は、ECC付加部により追加されるECCの一例を示す図である。 図8は、ECCフレームの一例を示す図である。 図9は、図8のECCフレームを20ビットずつ出力する様子を示す図である。 図10は、クロック補償シーケンス挿入時のフレームの一例を示す図である。 図11は、クロック補償シーケンスにビット誤りが発生した場合の対処フローの一例を示す図である。 図12は、IDLEシンボル検出部の構成の一例を示す図である。 図13は、クロック補償シーケンスの他の例を示す図である。 図14は、1対多の通信を行う例を示す図である。 図15は、多対多の通信を行う例を示す図である。
符号の説明
1 データ伝送装置
1a データ送信装置
1b データ受信装置
2 ホストバスI/F
3 シリアル伝送路
4 メモリコントローラ
5 半導体メモリ
10 データ伝送システム
11 パケットエンコーダ
12 ECCフレームエンコーダ
13 トランスミッタ
14 レシーバ
15 ECCフレームデコーダ
16 パケットデコーダ
20 制御部
50A〜50D 比較器
51A〜51E AND回路
52A,52B OR回路
53 クロックコレクションタイミング検出器
54A,54B MUX
55 フレームタイミング生成器
100 ストレージシステム
101 ホストコンピュータ
102 半導体ディスク装置
120 エンコード部
120a 固定長フレーム形成部
120b 8B10B符号化部
120c ECC付加部
121 IDLEシンボル付加部
150 IDLEシンボル検出部
151 ECCデコード部
151a ECCエラー/訂正部
151b ECC除去部
151c 10B8B復号化部
152 エラスティックバッファ・クロック補償処理部
153 IDLEシンボル削除部
200 パケット
201 固定長フレーム
202 固定長フレーム
203 ECCフレーム
203’ クロック補償シーケンス直後のECフレーム
204 出力データ
210 クロック補償シーケンス
211 IDLEシンボル
300 無線通信放送装置
301A〜301C 無線通信受信端末
302A〜302D 無線通信端末

Claims (2)

  1. 要求に応じたパケットを生成するパケット生成部と、
    生成された前記パケットを分割またはダミーデータの付加により所定の長さのフレームを形成し、これに誤り訂正符号を付加して誤り訂正符号付きフレームを生成するフレームエンコード部と、
    生成された前記誤り訂正符号付きフレームを伝送路を介して送信する送信部と、
    前記伝送路を介して前記誤り訂正符号付きフレームを受信する受信部と、
    受信された前記誤り訂正符号付きフレームについて誤り検出および訂正を行うフレームデコード部と、
    誤り検出および訂正された前記誤り訂正符号付きフレームから前記誤り訂正符号を除去して前記パケットを抽出するパケット抽出部とを備えたデータ伝送装置であって、
    前記フレームエンコード部は、前記所定の長さのフレームを形成するフレーム形成部と、形成された前記フレームについてDCバランス変換を施すDCバランス変換部と、DCバランス変換されたフレームに誤り訂正符号を付加して前記送信部に出力する誤り訂正符号付加部とを備えるとともに、前記誤り訂正符号にクロック補償用の制御シンボルと区別するための情報を追加し、かつ
    前記フレームデコート部は、前記誤り訂正符号付きフレームについて誤り検出および訂正を行う誤り検出・訂正部と、誤り検出および訂正された前記誤り訂正符号付きフレームから前記誤り訂正符号を除去する誤り訂正符号除去部と、前記誤り訂正符合が除去されたフレームについてDC逆バランス変換を施して前記パケット抽出部に出力するDC逆バランス変換部とを備えたデータ伝送装置であって、
    前記フレームエンコード部は、前記誤り訂正符号付きフレーム間にクロック補償用の制御シンボルを含むシーケンスを挿入して受信タイミングを補正するための前記クロック補償シーケンス時に2以上の所定数の前記クロック補償用の制御シンボルが1組となったデータを生成して前記送信部により送信し、かつ
    前記フレームデコード部は、前記クロック補償シーケンス時に受信した前記所定数のシンボルが一部が前記クロック補償用の制御シンボルに一致し、かつ前記所定数のシンボルのうち前記クロック補償用の制御シンボルでないシンボルと前記クロック補償用の制御シンボルとの違いが1ビット以下のとき、受信タイミングの補正を行うことを特徴とするデータ伝送装置
  2. 前記フレームエンコード部は、前記誤り訂正符号付きフレーム間に所定のシンボルを含むシーケンスを挿入して受信タイミングを補正するためのクロック補償シーケンス後の最初に前記誤り訂正符号付きフレームを生成するとき、前記最初の誤り訂正符号付きフレームの先頭に、クロック補償用の制御シンボルとハミング距離が2以上離れた制御シンボルを設けることを特徴とする請求項1に記載のデータ伝送装置。
JP2007138255A 2007-05-24 2007-05-24 データ伝送装置 Expired - Fee Related JP5233165B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007138255A JP5233165B2 (ja) 2007-05-24 2007-05-24 データ伝送装置
CN2008100811824A CN101312387B (zh) 2007-05-24 2008-03-18 数据传输设备、数据发送和接收装置以及数据传输系统
US12/055,474 US8103942B2 (en) 2007-05-24 2008-03-26 Data transmission apparatus, data transmission device, data reception device and data transmission system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007138255A JP5233165B2 (ja) 2007-05-24 2007-05-24 データ伝送装置

Publications (2)

Publication Number Publication Date
JP2008294757A JP2008294757A (ja) 2008-12-04
JP5233165B2 true JP5233165B2 (ja) 2013-07-10

Family

ID=40100823

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007138255A Expired - Fee Related JP5233165B2 (ja) 2007-05-24 2007-05-24 データ伝送装置

Country Status (2)

Country Link
JP (1) JP5233165B2 (ja)
CN (1) CN101312387B (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5446935B2 (ja) * 2010-01-28 2014-03-19 富士ゼロックス株式会社 送信装置、通信システム、画像形成システム、及びプログラム
JP2011216962A (ja) * 2010-03-31 2011-10-27 Sony Corp 伝送装置、伝送方法、及びプログラム
CN101882974A (zh) * 2010-06-12 2010-11-10 中兴通讯股份有限公司 一种高速串行信号实时在线检测的方法和系统
JP2012124643A (ja) 2010-12-07 2012-06-28 Fuji Xerox Co Ltd 受信装置及びデータ転送装置
JP2012124642A (ja) 2010-12-07 2012-06-28 Fuji Xerox Co Ltd 受信装置、データ転送装置、及びプログラム
JP5677336B2 (ja) * 2011-08-01 2015-02-25 株式会社東芝 メモリ・デバイス
JP5982869B2 (ja) * 2012-02-28 2016-08-31 富士ゼロックス株式会社 送受信システム及びプログラム
JP5952072B2 (ja) * 2012-04-26 2016-07-13 ルネサスエレクトロニクス株式会社 符号化装置、復号化装置及び伝送システム
JP5293860B1 (ja) * 2012-05-16 2013-09-18 富士ゼロックス株式会社 シリアル通信システム、画像形成システム及び送信装置
CN103577112B (zh) * 2012-07-23 2017-05-10 群联电子股份有限公司 弹性缓冲器模块及传输接口的弹性缓冲方法
JP6095768B2 (ja) * 2013-03-04 2017-03-15 富士機械製造株式会社 データベース、データベースの構築方法、通信装置及び電子部品装着装置
JP5689498B2 (ja) * 2013-05-08 2015-03-25 ファナック株式会社 シリアル通信制御回路
CN104184543B (zh) * 2013-05-24 2018-10-30 华为技术有限公司 一种数据传输的方法、装置和系统
JP6221388B2 (ja) * 2013-06-18 2017-11-01 富士ゼロックス株式会社 送信装置及び送受信装置
US10298271B2 (en) 2015-02-03 2019-05-21 Infineon Technologies Ag Method and apparatus for providing a joint error correction code for a combined data frame comprising first data of a first data channel and second data of a second data channel and sensor system
US10289508B2 (en) 2015-02-03 2019-05-14 Infineon Technologies Ag Sensor system and method for identifying faults related to a substrate
JP6510835B2 (ja) * 2015-02-23 2019-05-08 ルネサスエレクトロニクス株式会社 Bmc処理回路及びusbパワーデリバリコントローラ
JP6414497B2 (ja) * 2015-03-25 2018-10-31 アイシン・エィ・ダブリュ株式会社 メモリコントローラ
JP6657690B2 (ja) 2015-09-10 2020-03-04 富士ゼロックス株式会社 復号化装置、プログラム、及び情報伝送システム
DE102017223776A1 (de) * 2017-12-22 2019-06-27 Robert Bosch Gmbh Teilnehmerstation für ein serielles Kommunikationsnetzwerk und Verfahren zur Korrektur von Einzelfehlern in einer Nachricht eines seriellen Kommunikationsnetzwerks
CN114885175B (zh) * 2021-12-01 2025-04-08 慷智集成电路(上海)有限公司 一种数据传输方法、装置、系统及车辆

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH022768A (ja) * 1988-06-16 1990-01-08 Fujitsu Ltd 光通信方法
JPH02189663A (ja) * 1989-01-18 1990-07-25 Fuji Electric Co Ltd 入出力データ転送方式
AU618680B2 (en) * 1989-07-17 1992-01-02 Digital Equipment Corporation Data and forward error control coding techniques for digital signals
JPH03250935A (ja) * 1990-02-28 1991-11-08 Victor Co Of Japan Ltd 可変長データ伝送方式及びその送受信装置
EP0523969B1 (en) * 1991-07-18 1997-12-29 Canon Kabushiki Kaisha Error correction encoding and decoding system
JPH07288515A (ja) * 1994-04-20 1995-10-31 Sekisui Chem Co Ltd データ伝送方法
TWI257085B (en) * 2002-01-21 2006-06-21 Koninkl Philips Electronics Nv Method of encoding and decoding
EP1414176B1 (en) * 2002-10-24 2010-03-31 Panasonic Corporation Communication device and communication method immune to burst error, program for executing the method, and computer-readable storage medium storing the program
KR100556844B1 (ko) * 2003-04-19 2006-03-10 엘지전자 주식회사 동영상 전송 시스템의 에러 검출 방법
JP3880542B2 (ja) * 2003-05-19 2007-02-14 松下電器産業株式会社 誤り訂正符号化/復号化装置および誤り訂正符号化/復号化方法
JP4321175B2 (ja) * 2003-08-13 2009-08-26 富士ゼロックス株式会社 誤り訂正符号付き信号伝送システム
JP4235914B2 (ja) * 2004-06-30 2009-03-11 株式会社デンソー データ通信システム

Also Published As

Publication number Publication date
CN101312387B (zh) 2012-05-23
CN101312387A (zh) 2008-11-26
JP2008294757A (ja) 2008-12-04

Similar Documents

Publication Publication Date Title
JP5233165B2 (ja) データ伝送装置
US8103942B2 (en) Data transmission apparatus, data transmission device, data reception device and data transmission system
CN114374470B (zh) 数据传输方法、系统和计算机可读存储介质
KR100608042B1 (ko) 멀티 미디어 데이터의 무선 송수신을 위한 인코딩 방법 및그 장치
US10372527B2 (en) Method of encoding data
US10129371B2 (en) Serial communication device and serial communication method
CN101882096B (zh) Sata主控装置及sata外围装置之间所传送的损坏控制字元的检测及修正方法
EP3671720B1 (en) Real-time on-chip data transfer system
JP5936030B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US12009919B2 (en) Error-tolerant forward error correction ordered set message decoder
JP5761551B2 (ja) 送信装置、送信方法、受信装置、受信方法、プログラム、および伝送システム
US8638823B2 (en) Sending apparatus, receiving apparatus, and transmission system
JP5982869B2 (ja) 送受信システム及びプログラム
JP2013017090A (ja) 送受信装置およびこれを中継するシステム
US8750423B2 (en) Receiving apparatus, data transfer apparatus, data receiving method and non-transitory computer readable recording medium
JP6172355B2 (ja) 送受信システム及びプログラム
JP2012034267A (ja) データ伝送システムにおける通信装置および通信方法
CN111769906B (zh) 一种自适应降低编码层和链路层处理延迟的数据传输方法及装置
US20220385959A1 (en) Transmission device, reception device, and transmission system
JP2017050734A (ja) シリアル通信装置、通信システム及び通信方法
CN101477507B (zh) Usb纠错编解码装置及方法、usb传输系统及方法
JP6922259B2 (ja) 画像転送システム、画像転送装置、及び画像転送方法
JP6107119B2 (ja) 画像データ転送システム
JP2009065255A (ja) データ伝送装置、データ送信装置、データ受信装置及びデータ伝送システム
CN102571268A (zh) 接收设备和数据传输设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100423

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121001

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130311

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5233165

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

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees