JP2012199724A - データ送信装置、データ受信装置、データ送受信装置及びデータ送受信装置の制御方法 - Google Patents

データ送信装置、データ受信装置、データ送受信装置及びデータ送受信装置の制御方法 Download PDF

Info

Publication number
JP2012199724A
JP2012199724A JP2011061820A JP2011061820A JP2012199724A JP 2012199724 A JP2012199724 A JP 2012199724A JP 2011061820 A JP2011061820 A JP 2011061820A JP 2011061820 A JP2011061820 A JP 2011061820A JP 2012199724 A JP2012199724 A JP 2012199724A
Authority
JP
Japan
Prior art keywords
data
transmission
error
divided
lane
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.)
Pending
Application number
JP2011061820A
Other languages
English (en)
Inventor
Kenji Uchida
健児 内田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011061820A priority Critical patent/JP2012199724A/ja
Priority to US13/343,191 priority patent/US8689091B2/en
Priority to EP12151215.6A priority patent/EP2503745B1/en
Publication of JP2012199724A publication Critical patent/JP2012199724A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/555Error detection

Abstract

【課題】複数の伝送路を用いてデータの送受信を行うシステムの運用中に、エラーが発生した伝送路を特定する技術を提供する。
【解決手段】送信側は、レーン毎に、そのレーンで送信したデータを用いてCRC符号を計算し、レーン毎に計算したCRC符号を格納したDLLPを送信する。受信側は、レーン毎に、そのレーンで受信したデータを用いてCRC符号を計算し、DLLPを受信すると、そのDLLPに格納されたCRC符号を、計算したCRC符号とレーン毎に比較する。それにより、システムの運用中であってもエラーが発生したレーンを受信側が検出可能にする。
【選択図】図6

Description

本発明は、データ送信装置、データ受信装置、データ送受信装置及びデータ送受信装置の制御方法に関する。
近年、サーバ等に用いられるコンピュータ(データ処理装置)では、複数のCPUをバスによって接続する構成が採用されるのが普通となっている。このような構成では、バスを介してデータを送受信するためにデータ送受信装置が搭載されたCPUが採用される。
バスは、複数の伝送路を備えた伝送路群である。各伝送路は、通常、2本の差動駆動される伝送線を備えた差動伝送路(レーン)である。この差動伝送路によるレーンは、データ幅が1ビットのシリアル接続に2本の伝送線を必要とするが、シングルエンド伝送路によるレーンと比較すると、ノイズ発生が少ないため高速化に適しているという利点を備えている。
CPUに搭載されたデータ送受信装置は、バスを介してデータを送信する場合、送信の対象となるデータをレーン毎に分け、レーン毎に分けたデータをシリアルで送信する。データの受信に発生したエラーを受信側が検出できるように、データ送受信装置は、送信対象とするデータにエラー検出用のエラー検出符号を付加するのが普通である。エラー検出符号としては、CRC(Cyclic Redundancy Check:巡回冗長検査)が広く用いられている。
このエラー検出符号は、通常、送信対象とするデータ全てを用いて生成される。このため、受信側は、エラー検出符号以外の受信データを用いてエラー検出符号を生成し、生成したエラー検出符号(CRC符号)を受信したエラー検出符号と比較する。この比較の結果、2つのエラー検出符号が一致した場合、エラーが発生していないと見なされ、2つのエラー検出符号が一致していない場合、エラーが発生したと見なされる。エラーが発生したと見なした場合、受信側は受信データを破棄し、送信側にデータの再送を要求する。
CPU間のデータ伝送は、CPUのデータ処理速度、更にはCPUを搭載したデータ処理装置(コンピュータ)の処理性能に大きく影響する。このこともあり、データの高速伝送に対する要求は非常に高い。しかし、伝送速度が高速化するほど、ノイズの影響が大きくなる。それにより、安定動作への要求も非常に高いものとなっている。
上記レーンはそれぞれ独立に動作させることが可能である。そのため、レーンのなかで故障したものが発生した場合、故障したレーンを停止させる縮退が行われる。これは、故障したレーンでのデータ伝送にはエラーが発生する可能性が極めて高いからである。
受信側では、エラー検出符号を用いてパケット単位のエラーを検出することはできる。しかし、そのエラーが実際に発生したレーンを特定することはできない。それにより、従来は、予め用意したデータ(パターン)の送受信により、故障(エラー)が発生したレーンの特定を行っていた。予め用意したデータとは、例えばPBRS(Pseudo Random Binary (bit) Sequence)パターンである。
そのような用意されたデータの送受信は、システム(データ処理装置)の運用を停止させた上で行わなければならない。データ処理装置の運用の停止は、データ処理装置の稼動可能時間を短くさせることから、データ処理装置の効率的な運用を阻害する。このことから、故障(エラー)が発生したレーンの特定は、データ処理装置の運用中に行えるようにすることが重要である。
各レーンにおけるデータの伝送波形の歪み方、つまりノイズの影響が同じであるとは限らない。また、プロセスのばらつき等により、レーン毎にデータの受信特性に違いがあることも考えられる。このようなことから、故障が発生していない何れかのレーンにエラーが集中するようなことも考えられる。そのようにエラーが発生する頻度の高いレーンを特定するうえでも、データ処理装置の運用中にレーン単位でエラーを検出できるようにする仕組みを用意することが望ましいと云える。
特開2010−61606号公報 特開2009−294853号公報 特開2010−11454号公報
本発明は、複数の伝送路を用いてデータの送受信を行うデータ処理装置(システム)の運用中に、エラーが発生した伝送路を特定する技術を提供することを目的とする。
本発明を適用した1システムでは、データ受信装置に複数の伝送路を介して接続されるデータ送信装置は、複数の伝送路のうちデータ伝送に使用する伝送路毎に、伝送対象のデータを分割した分割データを送信するデータ送信部と、データ送信部により送信される分割データから、データ受信装置が伝送路毎にエラーを検出するためのエラー検出情報を生成する情報生成部と、エラー検出情報を分割データに挿入した分割送信データを、データ送信部に送信させる送信制御部と、を具備し、データ受信装置は、分割送信データの受信に用いるタイミング信号を、伝送路毎に生成するタイミング信号生成部と、データ送信装置が送信した分割送信データを、タイミング信号生成部が生成したタイミング信号を用いて伝送路毎に受信するデータ受信部と、データ受信部が伝送路別に受信した分割送信データからエラー検出情報を抽出し、抽出したエラー検出情報を用いて分割送信データに含まれる送信データのエラーを検出するエラー検出部と、を具備する。
本発明を適用した場合には、複数の伝送路を用いてデータの送受信を行うシステムの運用中に、エラーが発生した伝送路を特定することができる。
本実施形態によるデータ送受信装置が適用されたデータ処理装置(コンピュータ)の構成例を説明する図である。 本実施形態によるデータ送信装置の構成を説明する図である。 本実施形態によるデータ受信装置の構成を説明する図である。 伝送系の詳細を説明する図である。 DFEの構成を説明する図である。 LANE−CRC−DLLPの構成、及びLANE−CRC−DLLPによってカバーされる送信範囲を説明する図である。 LANE−CRC−DLLPの挿入制御方法を説明する図である。 LANE−CRC−DLLPによってレーン毎に行われるエラー検出を説明する図である。 本実施形態におけるエラー計測方法を説明する図である。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図1は、本実施形態によるデータ送受信装置が適用されたデータ処理装置(コンピュータ)の構成例を説明する図である。このデータ処理装置1は、4つのCPU(Central Processing Unit)2を演算処理装置であるプロセッサとして備え、各CPU2間はバス3により接続されている。各CPU2には、図1中「DIMM」(Dual Inline Memory Module)と表記の複数のメモリモジュール4が接続されている。それにより、各CPU2には、本実施形態による複数のデータ送受信装置11、及びメモリモジュール4にアクセスするためのMC(Memory Controller)12が搭載されている。本実施形態によるプロセッサは、本実施形態によるデータ送受信装置11を複数、CPU2に搭載する形で実現されている。本実施形態によるデータ送受信装置11のデータ処理装置1への適用は、CPU2を複数、採用することで実現されている。
図1には表していないが、データ処理装置1は、データ処理の対象となるデータが格納されたストレージにアクセス可能か、或いは外部からデータを受信可能となっている。また、データ処理装置1には、外部から指示を行うための構成要素が存在する。しかし、これらの構成要素は説明上、重要でないため、これ以上の詳細は省略する。
上記バス3は、複数の伝送路を備え、各伝送路は双方向のデータの送受信が可能である。このため、CPU2に搭載された各データ送受信装置11は、データを送信するデータ送信装置11a、及びデータを受信するデータ受信装置11bを備えている。各伝送路は、2本の差動駆動される伝送線を備えた差動伝送路(レーン)である(図4)。ここでは、レーン数は8とする。
図1に表すデータ処理装置1では、各CPU2は自身が直接アクセス可能なメモリモジュール4を用いてデータ処理を行う。各CPU2は、そのデータ処理の実行に必要なデータを他のCPU2が保持している場合、その他のCPU2間を接続するバス3を介したデータの送受信により必要なデータを取得する。そのようにして、各CPU2は、バス3を介したデータの送受信を必要に応じて行いつつ、自身が管理するメモリモジュール4を用いたデータ処理を実行する。
CPU2間では、3種類のパケットが送受信される。3種類のパケットとは、データの送受信に用いられるTLP(Transaction Layer Packet)、TLPの送達確認、制御情報の送達などに補助的に用いられるDLLP(Data Link Layer Packet)、電力管理や位相調整など、送受信されるデータの処理よりも低負荷の処理を行わせるためのPLP(Physical Layer Packet)である。
何れの種類のパケットにも、先頭と最後にフレーミングキャラクターが付加される。以降、先頭に付加されるフレーミングキャラクターはSTP、最後に付加されるフレーミングキャラクターはENDと表記する。
何れの種類のパケットも、パケットの受信に発生したエラーを検出するためのエラー検出符号が含まれる。そのエラー検出符号により、エラーはパケット単位で検出することができる。本実施形態では、レーン毎にエラーを検出できるようにするために、送信側から、レーン毎にエラーを検出するためのエラー検出符号を格納したパケットを送信させるようにしている。レーン毎にエラーを検出するためのエラー検出符号はDLLPに格納するようにしている。以降、このDLLPは他のDLLPと区別するために「LANE−CRC−DLLP」と呼ぶことにする。
本実施形態によるデータ送信装置11aは、LANE−CRC−DLLPを生成して送信する。そのデータ送信装置11aには図2及び図4に表すような構成が採用されている。本実施形態によるデータ受信装置11bは、LANE−CRC−DLLPを受信し、エラーが発生したレーンを特定する。そのデータ受信装置11bには図3〜図5に表すような構成が採用されている。ここでは、理解を容易とするために、図2〜図5の説明の前に、図6〜図8を参照して、LANE−CRC−DLLPの生成方法、及びLANE−CRC−DLLPによるレーン毎のエラー検出の仕組みについて具体的に説明する。
図6は、LANE−CRC−DLLPの構成、及びLANE−CRC−DLLPによってカバーされる送信範囲を説明する図である。図6(a)は、LANE−CRC−DLLPの構成、図6(b)は1個のLANE−CRC−DLLPによりカバーされる送信範囲をそれぞれ表している。図6(b)中に表記の「#0」〜「#7」はそれぞれ、異なるレーンを表している。
ここでは、各レーンは8ビット単位でデータをシリアル送信すると想定している。LANE−CRC−DLLPに限らず、パケットの先頭の8ビットにはSTP、最後の8ビットにはENDが割り当てられる。エラー検出符号としてのCRC符号は16ビットのデータであり、このCRC符号はENDの前に配置されている。
図6中の「CRC16」は16ビットのCRC符号を表し、「CRC16−0」「CRC16−1」はそれぞれ先頭8ビット分のCRC符号、残りの8ビット分のCRC符号を表している。これは「CRC32」「CRC32−0」〜「CRC32−4」でも同様である。また、「TLP0」〜「TLP33」はSTP及びEND以外のTLPを分割して得られる8ビットのデータを表している。この8ビットのデータは、データ伝送上の単位データである。「DLLP0」〜「DLLP3」も同様に、STP及びEND以外のDLLPを分割して得られる8ビットのデータを表している。このようなことから、図6(b)における列はデータ伝送が行われるレーンを表し、図6(b)における行は1回のデータ伝送の対象となる単位データを表している。
図6(a)及び図6(b)に表すように、DLLPにはSTP、END及び16ビット分のCRC符号が格納されることから、8バイトのDLLPでは使用可能な領域はSTPとCRC符号間の4バイトとなる。このことから、本実施形態では、レーン毎に4ビットのCRC符号を計算し、STPとCRC符号間の4バイトのデータとして、8レーン分のCRC符号をLANE−CRC−DLLPに格納するようにしている。
TLPでは、STPとENDの間に、パケット特定用のシーケンス番号、ヘッダ部、データ部、及びCRC符号が配置される。DLLPの基本構成では、STPとENDの間に、種別を表す1バイトのタイプデータ、3バイトのデータ部、及び2バイトのCRC符号が配置される。本実施形態では、STPをタイプデータとしても用いるようにすることにより、LANE−CRC−DLLPに4バイト分のデータ部を確保している。
送信側は、LANE−CRC−DLLPの送信により、レーン毎のCRC符号の計算をリセットする。レーン毎のエラーの検出漏れを回避するために、送信側は、LANE−CRC−DLLPを送信した直後から、次のLANE−CRC−DLLPを送信する迄の間、レーン毎に、送信されるデータを用いてCRC符号を計算する。それにより、各LANE−CRC−DLLPは、直前のLANE−CRC−DLLPの直後に位置するパケットから直前のパケットまでをカバーする。
図7は、LANE−CRC−DLLPの挿入制御方法を説明する図である。
LANE−CRC−DLLPは、設定された挿入間隔が経過する毎に作成され送信される。挿入間隔は、時間、或いはパケット数により指定されるものであり、任意に変更可能となっている。それにより、LANE−CRC−DLLPは、設定された挿入間隔に従って随時、送信される。挿入間隔を任意に変更可能にしているのは、単位時間当たりに送受信されるパケット数、或いはエラーの発生頻度等に応じた調整を行えるようにするためである。エラーの発生頻度は、パケットに格納されたCRC符号を用いて特定することができる。
図8は、LANE−CRC−DLLPによってレーン毎に行われるエラー検出を説明する図である。図8中に表記の「伝送路」は図1のバス3に相当する。エラーが発生したデータ、及びエラーの発生を表すCRC符号はマーク81により表している。図6(b)と同様に、図8における列、及び行はそれぞれ、データ伝送が行われるレーン、1回のデータ伝送の対象となる単位データを表している。
図8は、「#0」により表すレーンに例えば一時的な故障が発生した場合を例にとったものである。このレーンに一時的な故障が発生し、同じTLPのデータTLP7、TLP15及びTLP23の伝送にエラーが発生すると、そのTLPのCRC32−0〜CRC32−3は、受信したデータTLP0〜TLP33から計算されるCRC符号と一致しなくなる。このため、受信側は、このTLPに発生したエラーを検出することができる。しかし、CRC32−0〜CRC32−3からは、エラーが発生したレーンを特定することができない。
受信側も送信側と同様に、レーン毎に、そのレーンで受信したデータを用いたCRC符号の計算を行う。それにより、受信側は、LANE−CRC−DLLPを受信した場合、レーン毎に計算したCRC符号を、受信したLANE−CRC−DLLPに格納されているレーン毎のCRC符号と対応付けて比較する。その比較により、CRC符号が不一致のレーンにエラーが発生したと見なす。一時的な故障によって「#0」のレーンでの伝送にエラーが発生している場合、「#0」のレーンで比較するCRC符号が一致しないことから、受信側は「#0」のレーンにエラーが発生していると特定することができる。他のパケット(ここではTLP)に格納されたCRC符号から、エラーが発生したパケットは特定することができる。LANE−CRC−DLLPの受信に発生したエラーは、このLANE−CRC−DLLPに格納されたCRC符号を用いて検出することができる。このため、受信側は、データTLP7、TLP15、TLP23、及びTLP31のうちの少なくとも一つにエラーが発生したことを認識できる。
高速シリアル送信では、ノイズ対策のために、データは送信側でスクランブルされ、受信側でデスクランブルされる。また、送信側では、データのパラレル−シリアル変換が行われ、受信側では、データのシリアル−パラレル変換が行われる。図8では便宜的に、これらの操作は省略している。
上記のように、送信側がLANE−CRC−DLLPを作成し送信することにより、受信側はエラーが発生したレーンを特定することができる。他のパケットにCRC符号が格納されていることから、エラーが発生したパケットを特定することができる。このため、エラーが発生したパケット、或いはそのパケットの正常受信されたものを保存するようにした場合には、エラーが発生したレーンを考慮した解析を行うことができる。
エラーが発生したレーン(故障したレーンを含む)の特定はパケットの送受信により行えることから、エラーが発生したレーンの特定のためにデータ処理装置1(システム)の運用を停止する必要はない。このため、エラーが発生したレーンへの対応に要する時間を最小限に抑えることができる。つまり、データ処理装置1の運用停止時間は最小限に抑えられ、運用稼動時間は最大化できる。この結果、データ処理装置1はより効率的に運用できることとなる。
以降は、上記のようなLANE−CRC−DLLPの送受信を可能にする本実施形態によるデータ送受信装置11、及びデータ送受信装置について詳細に説明する。
図2は、本実施形態によるデータ送信装置の構成を説明する図である。このデータ送信装置11aは、図2に表すように、パケット生成回路21、パケットCRC付与回路22、パラレル−シリアル変換回路23、レーン毎に用意された計8個のCRC計算回路24(24−0〜24−7)、LANE−CRCパケット生成回路25、及びセレクタ26を備える。
パケット生成回路21は、搭載されたCPU2の例えばCPUコアから送信対象とするデータ、及び送信指示を入力し、入力したデータを格納させたパケットを生成する。パケットCRC付加回路22は、パケット生成回路21が生成したパケットを入力し、入力したパケット全体を用いてエラー検出符号の一つであるCRC符号を計算し、得られたCRC符号をパケットに付加する。それにより、パケットCRC付加回路22は、CRC符号が付加されたパケットを出力する。なお、CRC符号を得るアルゴリズムには多くの種類が存在するが、種類は特に限定されるものではない。また、エラー検出符号自体もCRC符号に限定されるものではない。つまりパリティ符号、或いはチェックサム等の他の種類のエラー検出符号を採用しても良い。
パケットCRC付与回路22によりCRC符号が付加されたパケットは、8バイトの伝送路にパラレルに出力される。この8バイト単位のデータはセレクタ26、及びCRC計算回路24−0〜24−7にそれぞれ入力される。
各CRC計算回路24−0〜24−7は、8バイトのデータのなかから自身に対応する1バイトのデータを取り込み、4ビットのCRC符号を計算する。CRC符号の計算は、パケットCRC付与回路22が8バイトのデータを出力する度に行う。それにより、LANE−CRC−DLLPに格納される8レーン分のCRC符号は、各CRC計算回路24−0〜24−7によって計算される。
LANE−CRCパケット生成回路25は、上記LANE−CRC−DLLPを生成するものである。例えば、図7に表す挿入間隔を計時するためのカウンタを備えている。それにより、直前のLANE−CRC−DLLPを生成・出力してから挿入間隔が経過すると、LANE−CRCパケット生成回路25は、各CRC計算回路24−0〜24−7が計算したCRC符号を取り込む。それにより、LANE−CRCパケット生成回路25は、取り込んだCRC符号を用いて2バイトのCRC符号を計算し、取り込んだCRC符号(4バイトのデータ)、及び計算したCRC符号を用いて図6(a)に表すようなLANE−CRC−DLLPを生成する。
LANE−CRCパケット生成回路25は、上記挿入間隔が経過すると、パケット生成回路21に対し、LANE−CRC−DLLPを送信するためのLANE−CRCパケット挿入要求を行う。パケット生成回路21は、そのLANE−CRCパケット挿入要求により、セレクタ26にLANE−CRCパケット生成回路25を選択させる切り換えを行う。現在、送信中のパケットが存在する場合、その切り換えは、パケットの送信が終了するのを待って行われる。それにより、LANE−CRC−DLLPは、設定された挿入間隔に応じて送信側から送信される。パケット生成回路21によるセレクタ26の切り換えが必要なことから、LANE−CRCパケット生成回路25によるLANE−CRC−DLLPの生成は、その切り換えタイミングに合わせて行われる。
LANE−CRCパケット生成回路25は、LANE−CRC−DLLPをセレクタ26に出力した後、各CRC計算回路24−0〜24−7をリセットする。それにより、各CRC計算回路24−0〜24−7は、LANE−CRC−DLLPの送信後にパケットCRC付与回路22から入力されるデータを用いたCRC符号の計算を行う。
LANE−CRC−DLLPのパラレル−シリアル変換回路23への出力が終了した後、セレクタ26に対し、パケットCRC付与回路22を選択させる切り換えが行われる。このようなことから、セレクタ26によるLANE−CRCパケット生成回路25の選択は、LANE−CRC−DLLPの送信用に一時的に行われる。
パラレル−シリアル変換回路23は、8バイトのデータを1バイトのデータに分割し、分割後の各データにスクランブルを行い、スクランブルを行った後のデータに対してパラレル−シリアル変換を行う。それにより、レーン毎にデータをシリアル送信する。
このようにして、データ送信回路11aは、設定された挿入間隔に応じて、LANE−CRC−DLLPを送信する。次に図3を参照し、本実施形態によるデータ受信回路11bの構成について詳細に説明する。
図3に表すように、本実施形態によるデータ受信装置11bは、シリアル−パラレル変換回路31、パケットCRC検査回路32、回数カウント回路33、デコーダ34、レーン毎に用意されたCRC計算回路35(35−0〜35−7)、レーン毎に用意された比較回路36(36−0〜36−7)、レーン毎に用意された不一致回数カウント回路37(37−0〜37−7)、エラーレーン特定部38、及び設定変更指示回路39を備えている。
シリアル−パラレル変換回路31は、レーン毎にデータを受信してシリアル−パラレル変換を行い、変換後のデータをデスクランブルする。そのようにして得られた8バイトのデータをパラレルに出力する。
パケットCRC検査回路32は、シリアル−パラレル変換回路31から1パケット分のデータを入力する度に、1パケット分のデータのなかからCRC符号を抽出し、抽出したCRC符号、及びCRC符号以外のデータを用いてエラー検出を行う。CRC符号以外のデータは、1パケット分のデータのなかから、STP及びエンドを更に除いた部分であり、この部分を用いてCRC符号が計算され、計算されたCRC符号が抽出されたCRC符号と比較される。この比較の結果、両者が一致していない場合に、エラーが発生していると見なされ、パケットCRC検査回路32はエラー(error)信号をアクティブにする。
回数カウント回路33は、パケットCRC検査回路32がエラー信号をアクティブにした回数を計数する。計数した回数(カウント値)が予め設定された閾値を越えた場合に、その回数が閾値を越えたか否かを表すエラー閾値オーバー信号をアクティブにする。このエラー閾値オーバー信号は設定変更指示回路39に入力される。
シリアル−パラレル変換回路31からパラレルに出力される8バイトのデータは、各CRC計算回路35−0〜35−7に入力される。各CRC計算回路35−0〜35−7は、図2の各CRC計算回路24−0〜24−7と同様に、それぞれ対応する1バイトのデータを取り込み、4ビットのCRC符号を計算する。CRC符号の計算は、シリアル−パラレル変換回路31が8バイトのデータを出力する度に行う。それにより、LANE−CRC−DLLPに格納される8レーン分のCRC符号と比較する8レーン分のCRC符号は、各CRC計算回路35−0〜35−7によって計算される。
デコーダ34は、シリアル−パラレル変換回路31からのLANE−CRC−DLLPのデータの出力に対応する。シリアル−パラレル変換回路31からLANE−CRC−DLLPのデータが出力された場合、デコーダ34は、8レーン分のCRC符号を抽出し、各CRC符号を対応する比較回路36に出力する。それにより、各比較回路36−0〜36−7は、デコーダ34から入力したCRC符号と、対応するCRC計算回路35が計算したCRC符号とを比較し、その比較結果を出力する。各比較回路36−0〜36−7は、その比較結果として、両者が一致していない場合に、その旨(不一致)を対応する不一致回数カウント回路37に通知する。
デコーダ34は、各比較回路36−0〜36−7にCRC符号を出力する一方、各比較回路36−0〜36−7による比較に影響を及ぼさないタイミングで各CRC計算回路35−0〜35−7をリセットする。それにより、LANE−CRC−DLLPに続くパケットからCRC符号の計算を行わせる。
各不一致回数カウント回路37−0〜37−7は、対応する比較回路36から不一致が通知された回数を計数する。不一致が通知される度に、回数をインクリメントし、論理値が1の信号を出力する。それにより、各不一致回数カウント回路37−0〜37−7が出力する信号のなかで論理値が1の信号は、対応するレーンでエラーが発生したか否かを表す情報となる。このことから以降、各不一致回数カウント回路37−0〜37−7が出力する信号は「エラー情報」と呼ぶこととし、その信号として論理値が1の信号を出力することは、エラー情報をアクティブにする等と表現する。
エラーレーン特定部38は、各不一致回数カウント回路37−0〜37−7が出力するエラー情報を監視し、エラー情報をアクティブとした不一致回数カウント回路37を設定変更指示回路39に通知する。エラーレーン特定部38は、不一致回数カウント回路37毎に、エラー情報がアクティブになったか否かを表す信号であるエラーレーン情報を出力する。このことから、エラーレーン特定部38は、例えばエラー情報をアクティブにした不一致回数カウント回路37に対応するエラーレーン情報をアクティブにすることにより、その通知を行う。ここでは、アクティブのエラーレーン情報の論理値は1と想定する。
各エラーレーン情報は、それぞれ、対応するレーンでエラーが発生したか否かを表している。設定変更指示回路39は、各エラーレーン情報の他に、エラーレーン特定部38からエラー閾値オーバー信号を入力し、シリアル−パラレル変換回路31に対する設定変更を行う。
設定変更指示回路39は、設定指定部40を備える。この設定指定部40は、レーン毎に、そのレーンでのエラーの発生状況に応じて設定すべき内容を指定する。そのために、設定指定部40は、レーン毎に、設定すべき内容を出力する設定出力部41(41−0〜41−7)を備えている。
各設定出力部41は、レジスタ42〜44、セレクタ45、カウンタ46、及びANDゲート47を備えている。
各レジスタ42〜44には、それぞれ設定すべき内容(以降「設定情報」)が格納される。セレクタ45は、各レジスタ42〜44のなかから一つを選択し、選択したレジスタに格納されているデータを出力する。カウンタ46が出力するカウント値は、セレクタ45に選択させるレジスタを指定する。カウンタ46の初期値は0であり、カウンタ46のカウント値が0の場合、セレクタ45はレジスタ42を選択する。同様にセレクタ45は、カウンタ46のカウント値が1の場合にはレジスタ43、そのカウント値が2の場合にはレジスタ44をそれぞれ選択する。
カウンタ46のカウント値のインクリメントによってシリアル−パラレル変換回路31に対し、設定変更指示回路39から設定変更が指示される。インクリメントされたカウント値によってセレクタ45が新たに選択したレジスタの設定情報は、今回、エラーが検出されたレーンで新たに設定すべき設定情報として、シリアル−パラレル変換回路31に供給される。それにより、エラーが検出されたレーンの設定変更が行われる。回数カウント回路33のカウント値は、その設定変更の後、例えばシリアル−パラレル変換回路31によってリセットされる。
上記のように本実施形態では、エラーが発生したレーンを検出できることから、エラーが検出されたレーンの設定変更を必要に応じて行うようにしている。このため、エラーがより発生しないように、各レーンの設定を個別に最適化することができる。それにより、より適切なデータ伝送を実現させることができる。
カウンタ46は、ANDゲート47が出力する論理積の論理値が1となった回数を計数する。ANDゲート47は、回数カウント回路33から出力されるエラー閾値オーバー信号と、エラーレーン情報との論理積を出力する。エラー閾値オーバー信号は、パケット単位で検出されたエラーの回数が閾値を越えた場合にアクティブとなる。エラーレーン情報は、対応するレーンでエラーが検出された場合にアクティブとなる。このため、各設定出力部41−0〜41−7のカウンタ46が計数する回数(カウント値)は、閾値を越える数のパケットにエラーが発生した状況下において、対応するレーンに発生したエラーの検出回数となる。
本実施形態では、このようにして、エラー閾値オーバー信号がアクティブとなることを、設定変更を行ううえでの前提条件としている。これは、パケットの伝送において、エラーの発生を完全に防ぐことが困難であり、許容できる範囲内で発生するエラーによる設定変更を回避するためである。このような前提条件を設けることにより、実際には適切と見なせる設定を別の内容の設定に変更するようなことを抑えることができる。
図4は、伝送系の詳細を説明する図である。図4に表すように、図2のパラレル−シリアル変換回路23は、レーン3a毎に、Serdes(SERializer/DESerializer) Macro回路50(50−0〜50−7)を備えている。図3のシリアル−パラレル変換回路31も同様に、レーン3a毎に、Serdes Macro回路60(50−0〜50−7)を備えている。レーン3aは、一対の伝送線を含むものである。
パラレル−シリアル変換回路23の各Serdes Macro回路50−0〜50−7は、パラレルのデータをシリアルのデータに変換するシリアライザ(Serializer)51、及びシリアルでデータをレーン3a上に出力する送信回路52を含む。
一方のシリアル−パラレル変換回路31の各Serdes Macro回路60−0〜60−7は、LE(Linear Equalizer)61、DFE(Decision Feedback Equalizer)62、及びデシリアライザ(Deserializer)63を含む。
LE61は、極性毎の増幅率の設定に従い、レーン3aを介して受信したシリアルデータの減衰した高周波成分を極性別に増幅して信号品質を向上させる。DFE62は、過去の受信データ(信号)を用いて信号品質を向上させる。デシリアライザ63は、DFE62から出力されたシリアルデータをパラレルデータに変換する。それにより、シリアル−パラレル変換回路31は、8バイトのパラレルデータを出力する。
図5は、DFEの構成を説明する図である。図5に表すように、DFE62は、減算器71、3つのバッファ72〜74、及び3つの増幅器75〜77を含む。
各バッファ72〜74には、それぞれ時間が異なる減算器71の減算結果が格納される。各増幅器75〜77は、それぞれバッファ72〜75に格納された減算結果に対し、設定された増幅率であるタップ係数(図5中「DFE gain/tap」と表記)を乗算する。減算器71は、LE61から入力した1ビットの値から、各増幅器75〜77の出力する乗算結果を減算する。この減算結果が、DFE62の出力信号となり、バッファ72に格納される。そのようにしてDFE62は、現在の受信データから過去の受信データによる干渉成分を除去する。
図5に表すようなDFE62を備えたSerdes Macro回路60−0〜60−7をシリアル−パラレル変換回路31が搭載していた場合、図3の各レジスタ42〜44に格納される設定情報とは、LE61及びDFE62に係わる情報(共に増幅率を指定する情報等)である。カウンタ46の初期値は0であり、カウンタ46のカウント値が0のときにセレクタ46はレジスタ42を選択することから、レジスタ42には最初に設定すべき内容の設定情報(図3中「設定A(default)」と表記。以降「初期設定情報」と表記)が格納される。レジスタ43には、初期設定情報の次に設定すべき内容の設定情報(図3中「設定B(予備)」と表記。以降「第1の変更設定情報」と表記)が格納される。レジスタ44には、第1の変更設定情報の次に設定すべき内容の設定情報(図3中「設定C(予備)」と表記。以降「第2の変更設定情報」と表記)が格納される。
DFE62は、比較的に大きな電力を消費する。このことから、用意する設定情報は、DFE62を動作するか(イネーブルにするか)否かを指定する内容を含むものであっても良い。そのような設定情報を初期設定するような場合、DFE62は必要に応じて動作させることになるから、消費電力を抑えるのに効果的である。
その設定情報の内容は、パケットの受信側の構成に依存する。受信側の構成は、図4に表すようなものに限定されない。例えばイコライザとしては、LE、DFE以外の種類も存在する(例えばCTLE(Continuous-Time Linear Equalizer)。また、DFEのタップ係数を自動的に変更する機構(以降「自動変更機構」と表記)が搭載されることも多い。このため、タップ係数の変更の仕方を設定情報により変更するようにしても良い。これらのようなことから、設定情報も特に限定されるものではない。
本実施形態では、3つのレジスタ42〜44がそれぞれ設定情報を格納可能であることから、変更対象となる設定情報として第1及び第2の変更設定情報の2つを用意できるようにしている。しかし、変更対象とする設定情報は2つに限定されるものではない。
設定変更は、上記のように、エラー閾値オーバー信号がアクティブとなることを前提条件とすることにより、パケットCRC検査回路32が閾値を越えるエラーを検出した場合に行われる。しかし、たとえデータ伝送が適切に行われていたとしても、非常に長い時間が経過する間に、パケットCRC検査回路32が閾値を越えるエラーを検出することがありうる。また、DFE62、及び上記自動変更機構を備えている場合、エラーを発生させるデータ伝送は、後に続くデータ伝送にエラーを発生し易くすることから、短期間に多くのエラー(バーストエラー)を発生させる可能性がある。このようなことから本実施形態では、回数カウント回路33を用いたエラー計測は以下のようにして行うようにしている。図9を参照して詳細に説明する。
この図9は、本実施形態におけるエラー計測方法を説明する図である。図9中の「base_pulse」「interval[9:0]」「err_cnt[3:0]」は、それぞれ、予め設定した時間が経過する度にレベルがH(論理値が1)になるパルス信号、エラー計測の単位となる単位計測期間を特定するための値、回数カウント回路33のカウント値、をそれぞれ表している。また、マーク81が重ねられた矢印は時間の流れを表している。それによりマーク81はエラーが発生したタイミングをその位置で表している。
本実施形態では、パルス信号base_pulseを用いて回数カウント回路33の動作を制御することにより、そのパルス信号base_pulseのレベルがLとなっているL期間91に回数カウント回路33が計数可能なエラーを1つのみとしている。それにより、バーストエラーが発生したとしても、L期間91に回数カウント回路33はカウント値を1回インクリメントするだけとなる。このため、バーストエラーによる事実上、不必要な設定変更を抑えることができる。
LANE−CRC−DLLPは、図7に表すように、設定された挿入間隔で送信側から送信される。このため、LANE−CRC−DLLPによるエラーが発生したレーンの検出では、パルス信号base_pulseによるエラーの検出と同様に、バーストエラーに対応できるようになっている。
値interval[9:0]は、パルス信号base_pulseがHとなる度にデクリメントされる。図9中の「n」は初期値を表し、単位計測期間は、初期値n、及びパルス信号base_pulseの1周期によって特定される時間となる。0の値interval[9:0]は、単位計測期間の経過を意味し、デクリメントは0となることで終了する。
本実施形態では、より正確には、この単位計測期間内に発生するエラーの数が回数カウント回路33に与える閾値を越えるか否かを、設定変更における前提条件としている。それにより、回数カウント回路33のカウント値はBER(Bit Error Rate)の値として用いている。
このために、回数カウント回路33のカウント値は、値interval[9:0]が0となる前に回数カウント回路33がエラー閾値オーバー信号をアクティブにしない場合、初期値(=0)にリセットされる。また、回数カウント回路33がエラー閾値オーバー信号をアクティブにした場合、LE61、DFE62の設定変更が行われた後、回数カウント回路33のカウント値は初期値にリセットされる。そのリセットにより、エラー閾値オーバー信号はイナクティブとなる。
LE61、DFE62の設定変更を行った場合、DFE62のリトレーニングが続けて行われ、そのリトレーニングを行った後、通常のデータ伝送が再開される。このため、回数カウント回路33がエラー閾値オーバー信号をアクティブにした場合、回数カウント回路33のカウント値のリセットは、通常のデータ伝送の再開時に行われる。このリセットは、シリアル−パラレル変換回路31が例えばリトレーニングの終了により行う。
パルス信号base_pulseによる回数カウント回路33の動作制御は、例えばパケットCRC検査回路32がL期間91内にエラー信号をアクティブにした場合に、パルス信号base_pulseのレベルが次にHとなるまでその状態を維持させることで実現できる。
回数カウント回路33は、エラー信号がアクティブになる回数を計数し、その回数が閾値を越えた場合にエラー閾値オーバー信号をアクティブにする。このことから、値interval[9:0]のデクリメントは回数カウント回路33に行わせても良い。その場合、値interval[9:0]のデクリメントは、そのデクリメントを行っていない状況でエラー信号がアクティブになることを条件に開始させれば良い。エラー閾値オーバー信号をアクティブにすることなく、値interval[9:0]が0になれば、回数カウント回路33自身に計数したカウント値のリセット、値interval[9:0]への初期値nのセット及びデクリメントの停止を行わせれば良い。エラー閾値オーバー信号がアクティブになった際には、回数カウント回路33のカウント値のリセット時に、値interval[9:0]への初期値nのセット及びデクリメントの停止を合わせて行わせれば良い。
例えば10Gbpsで100秒間に8回のエラーまで許容できるとする場合、パルス信号base_pulseの1周期は、10シンボル(1シンボル=10ビット)分のデータの送受信に要する時間とし、初期値nとして100を設定すれば良い。エラー閾値オーバー信号をアクティブにするか否かを決定する閾値としては7を設定すれば良い。
なお、本実施形態では、データ送受信装置11をCPU2に搭載させているが、データ送受信装置を搭載する半導体装置(LSI:Large Scale Integration)はCPU2に眼底されるものではない。GPU(Graphics Processing Unit)等にデータ送受信装置11を搭載しても良い。
また、本実施形態では、受信側にレーン単位の設定変更を行わせているが、故障等の発生によりエラーの発生頻度が高いような場合、例えば許容範囲を超えるエラーが発生した場合、発生頻度の高いレーンを停止させる縮退を自動的に行わせるようにしても良い。例えば図3に表すような構成では、カウンタ46のカウント値が3以上となった場合に、縮退を行わせるようにしても良い。エラーが発生したレーンを検出するためのCRC符号(エラー検出符号)はLANE−CRC−DLLPに格納して送信側から受信側に送信するようにしているが、そのようなCRC符号は別の方法で受信側に送信するようにしても良い。例えば送信すべきパケットが無くなった、或いは比較的に少ない状況に、1つのレーン3aを用いて送信することも考えられる。
本実施形態では、システムの運用中に、エラーが発生したレーン(伝送路)の検出することを想定している。しかし、エラーが発生したレーンの検出は、レーン毎に設定を最適化することを可能にする。このことから、エラーが発生したレーンの検出は、システムの設定(調整)のために行うようにしても良い。つまり、エラーが発生したレーンの検出は、システムの運用中のみに行わなくとも良い。
上記システムは、本実施形態ではデータ処理装置1が相当する。しかし、本実施形態のようなデータ送受信装置11は、データ処理装置間のデータ伝送に用いることもできる。その場合、システムは、複数のデータ処理装置を含むものとなる。このことから、データ処理装置は、複数のデータ処理装置を接続したものであっても良い。
1 データ処理装置
2 CPU(プロセッサ)
3 バス
3a レーン
11 データ送受信装置
11a データ送信装置
11b データ受信装置
21 パケット生成回路
22 パケットCRC付与回路
23 パラレル−シリアル変換回路
24、24−0〜24−7、35、35−0〜35−7 CRC計算回路
25 LANE−CRCパケット生成回路
26、45 セレクタ
31 シリアル−パラレル変換回路
32 パケットCRC検査回路
33 回数カウンタ回路
34 デコーダ
36、36−0〜36−7 比較回路
37、37−0〜37−7 不一致回数カウント回路
38 エラーレーン特定部
39 設定変更指示回路
40 設定指定部
41、41−0〜41−7 設定出力部
42〜44 レジスタ
46 カウンタ
47 ANDゲート
50、50−0〜50−7、60、60−0〜60−7 Serdes Macro回路
61 LE
62 DFE

Claims (8)

  1. データ受信装置に複数の伝送路を介して接続されるデータ送信装置において、
    前記複数の伝送路のうちデータ伝送に使用する伝送路毎に、伝送対象のデータを分割した分割データを送信するデータ送信部と、
    前記データ送信部により送信される分割データから、前記データ受信装置が前記伝送路毎にエラーを検出するためのエラー検出情報を生成する情報生成部と、
    前記エラー検出情報を前記分割データに挿入した分割送信データを、前記データ送信部に送信させる送信制御部と、
    を具備することを特徴とするデータ送信装置。
  2. 複数の伝送路を介してデータ送信装置から送信される、前記複数の伝送路のうちデータ伝送に使用する伝送路毎に、伝送対象のデータを分割した分割データに、前記分割データから生成したエラーを検出するためのエラー検出情報を含めた分割送信データを受信するデータ受信装置において、
    前記分割送信データの受信に用いるタイミング信号を、前記伝送路毎に生成するタイミング信号生成部と、
    前記データ送信装置が送信した分割送信データを、前記タイミング信号生成部が生成したタイミング信号を用いて前記伝送路毎に受信するデータ受信部と、
    前記データ受信部が前記伝送路別に受信した分割送信データから前記エラー検出情報を抽出し、抽出したエラー検出情報を用いて前記分割送信データに含まれる送信データのエラーを検出するエラー検出部と、
    を具備することを特徴とするデータ受信装置。
  3. 前記データ受信装置はさらに、
    前記エラー検出部によるエラーの検出結果を基に、前記タイミング信号生成部が生成するタイミング信号の間隔を、伝送路毎に変更する設定部、
    を具備することを特徴とする請求項2記載のデータ受信装置。
  4. 前記データ受信装置はさらに、
    前記エラー検出部がエラーを検出したエラー検出回数を、前記伝送路毎に計数するエラー計数部を具備し、
    前記設定部は、
    前記タイミング信号生成部が生成するタイミング信号の間隔を、前記エラー計数部が前記伝送路毎に計数したエラー検出回数に応じて変更する、
    ことを特徴とする請求項3記載のデータ受信装置。
  5. 他のデータ送受信装置に伝送路を介して接続されるデータ送受信装置において、
    前記複数の伝送路のうちデータ伝送に使用する伝送路毎に、前記他の送受信装置への伝送対象のデータを分割した分割データを送信するデータ送信部と、
    前記データ送信部により送信される分割データに基づいて、前記他の送受信装置が前記伝送路毎にエラーを検出する場合に使用するエラー検出情報を生成するエラー検出情報生成部と、
    前記エラー検出情報を前記分割データに挿入した分割送信データを、前記データ送信部に送信させる送信制御部と、
    前記他の送受信装置からの分割送信データの受信に用いるタイミング信号を、前記伝送路毎に生成するタイミング信号生成部と、
    前記他のデータ送信装置が送信した分割送信データを、前記タイミング信号生成部が生成したタイミング信号に基づき、前記伝送路毎に受信するデータ受信部と、
    前記データ受信部が前記伝送路別に受信した分割送信データから抽出したエラー検出情報を用いて、前記分割送信データに含まれる送信データのエラーを検出するエラー検出部と、
    を具備することを特徴とするデータ送受信装置。
  6. 前記データ送受信装置はさらに、
    前記エラー検出部によるエラーの検出結果を基に、前記タイミング信号生成部が生成するタイミング信号の間隔を、前記伝送路毎に変更する設定部、
    を具備することを特徴とする請求項5記載のデータ送受信装置。
  7. 前記データ送受信装置はさらに、
    前記エラー検出部がエラーを検出したエラー検出回数を、前記伝送路毎に計数するエラー計数部を具備し、
    前記設定部は、
    前記タイミング信号生成部が生成するタイミング信号の間隔を、前記エラー計数部が前記伝送路毎に計数したエラー検出回数に応じて変更する、
    ことを特徴とする請求項6記載のデータ送受信装置。
  8. 他のデータ送受信装置に伝送路を介して接続されるデータ送受信装置の制御方法において、
    前記データ送受信装置から、前記複数の伝送路のうちデータ伝送に使用する伝送路毎に、他のデータ送受信装置への伝送対象のデータを分割した分割データを生成し、
    前記データ送受信装置が、生成した分割データに基づいて、前記他のデータ送受信装置が前記伝送路毎にエラーを検出するためのエラー検出情報を生成し、
    前記データ送受信装置から、前記エラー検出情報を前記分割データに挿入した分割送信データを、前記他のデータ送受信装置に送信し、
    前記他のデータ送受信装置が、前記データ送受信装置から受信する分割送信データの受信に用いるタイミング信号を、前記伝送路毎に生成し、
    前記他のデータ送受信装置が、前記データ送信装置から受信した分割送信データを、生成したタイミング信号を用いて前記伝送路毎に受信し、
    前記他のデータ送受信装置が、前記伝送路毎に受信した分割送信データから抽出したエラー検出情報を用いて、前記分割送信データに含まれる送信データのエラーを検出する、
    ことを特徴とするデータ送受信装置の制御方法。
JP2011061820A 2011-03-19 2011-03-19 データ送信装置、データ受信装置、データ送受信装置及びデータ送受信装置の制御方法 Pending JP2012199724A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011061820A JP2012199724A (ja) 2011-03-19 2011-03-19 データ送信装置、データ受信装置、データ送受信装置及びデータ送受信装置の制御方法
US13/343,191 US8689091B2 (en) 2011-03-19 2012-01-04 Data transmitting device, data receiving device, data transmitting/receiving device, and controlling method of data transmitting/receiving device
EP12151215.6A EP2503745B1 (en) 2011-03-19 2012-01-16 Error detection in a network device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011061820A JP2012199724A (ja) 2011-03-19 2011-03-19 データ送信装置、データ受信装置、データ送受信装置及びデータ送受信装置の制御方法

Publications (1)

Publication Number Publication Date
JP2012199724A true JP2012199724A (ja) 2012-10-18

Family

ID=45495803

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011061820A Pending JP2012199724A (ja) 2011-03-19 2011-03-19 データ送信装置、データ受信装置、データ送受信装置及びデータ送受信装置の制御方法

Country Status (3)

Country Link
US (1) US8689091B2 (ja)
EP (1) EP2503745B1 (ja)
JP (1) JP2012199724A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020166378A1 (ja) * 2019-02-15 2020-08-20 ソニーセミコンダクタソリューションズ株式会社 通信装置および通信方法、並びにプログラム

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130081388A (ko) * 2012-01-09 2013-07-17 삼성전자주식회사 메모리 장치와 이의 동작 방법
US8626974B2 (en) * 2012-01-19 2014-01-07 Lsi Corporation Methods and systems for reduced signal path count for interconnect signals within a storage system expander
US11018935B1 (en) * 2013-05-10 2021-05-25 Marvell Asia Pte Ltd Network traffic quality-based dynamic path change
US9397792B2 (en) * 2013-12-06 2016-07-19 Intel Corporation Efficient link layer retry protocol utilizing implicit acknowledgements
US9325449B2 (en) 2013-12-06 2016-04-26 Intel Corporation Lane error detection and lane removal mechanism to reduce the probability of data corruption
JP6332147B2 (ja) * 2015-05-28 2018-05-30 株式会社ダイフク 物品取扱設備
TWI588658B (zh) * 2015-10-20 2017-06-21 旺宏電子股份有限公司 I/o匯流排共用記憶體系統
US10784986B2 (en) 2017-02-28 2020-09-22 Intel Corporation Forward error correction mechanism for peripheral component interconnect-express (PCI-e)
JP7069936B2 (ja) * 2018-03-27 2022-05-18 富士通株式会社 送受信システム、データ受信装置、およびデータ受信方法
US10771189B2 (en) 2018-12-18 2020-09-08 Intel Corporation Forward error correction mechanism for data transmission across multi-lane links
US11637657B2 (en) 2019-02-15 2023-04-25 Intel Corporation Low-latency forward error correction for high-speed serial links
US10997111B2 (en) 2019-03-01 2021-05-04 Intel Corporation Flit-based packetization
US11249837B2 (en) 2019-03-01 2022-02-15 Intel Corporation Flit-based parallel-forward error correction and parity
US11296994B2 (en) 2019-05-13 2022-04-05 Intel Corporation Ordered sets for high-speed interconnects
US11740958B2 (en) 2019-11-27 2023-08-29 Intel Corporation Multi-protocol support on common physical layer

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07297803A (ja) * 1994-04-28 1995-11-10 Nec Eng Ltd データ速度変換装置
JP2003018138A (ja) * 2001-07-02 2003-01-17 Hitachi Ltd 並列データ転送装置及び並列データ転送方法
US20070005248A1 (en) * 2005-06-29 2007-01-04 Intel Corporation Data reconstruction in link-based interconnects
JP2008147960A (ja) * 2006-12-08 2008-06-26 Fujitsu Ltd 送信装置及び受信装置並びにデータ伝送方法
US20090024883A1 (en) * 2007-07-19 2009-01-22 Bethard Roger A Inter-asic data transport using link control block manager
JP2009294853A (ja) * 2008-06-04 2009-12-17 Fujitsu Ltd 情報処理装置、データ伝送装置及びデータ伝送方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5325376A (en) * 1990-02-23 1994-06-28 Canon Kabushiki Kaisha Communication system for detecting a communication error in information transmitted between a plurality of units and a main control unit
JPH0898284A (ja) * 1994-07-25 1996-04-12 Nippondenso Co Ltd データ受信装置,送信装置および通信装置
JP2856086B2 (ja) * 1994-12-26 1999-02-10 日本電気株式会社 衛星チャネルアクセス方式
US6263469B1 (en) * 1998-10-22 2001-07-17 Oak Technology, Inc. Methods and systems for accessing data from a DVD using a sync detector including a 26 state finite state machine
US6982974B1 (en) 1999-01-15 2006-01-03 Cisco Technology, Inc. Method and apparatus for a rearrangeably non-blocking switching matrix
US7283547B1 (en) 2000-08-11 2007-10-16 Ericsson Ab Switch fabrics logical synchronization utilizing propagation lockdown
US7525973B1 (en) 2003-02-04 2009-04-28 Cisco Technology, Inc. Flexible software-based packet switching path
US7570555B2 (en) * 2004-01-09 2009-08-04 Panasonic Corporation Digital data demodulator
US7649280B2 (en) * 2006-09-21 2010-01-19 Texas Instruments Incorporated Method and circuit for cross regulation in a power converter
JP4489127B2 (ja) * 2008-02-29 2010-06-23 株式会社東芝 半導体記憶装置
US7769048B2 (en) 2008-06-25 2010-08-03 Intel Corporation Link and lane level packetization scheme of encoding in serial links
JP5407230B2 (ja) 2008-09-08 2014-02-05 日本電気株式会社 Pciカード、マザーボード、pciバスシステム、制御方法、及びプログラム
US8040628B2 (en) * 2008-10-30 2011-10-18 Samsung Electronics Co., Ltd. Synchronous writing with timing error detection in bit patterned media disk drives

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07297803A (ja) * 1994-04-28 1995-11-10 Nec Eng Ltd データ速度変換装置
JP2003018138A (ja) * 2001-07-02 2003-01-17 Hitachi Ltd 並列データ転送装置及び並列データ転送方法
US20070005248A1 (en) * 2005-06-29 2007-01-04 Intel Corporation Data reconstruction in link-based interconnects
JP2008147960A (ja) * 2006-12-08 2008-06-26 Fujitsu Ltd 送信装置及び受信装置並びにデータ伝送方法
US20090024883A1 (en) * 2007-07-19 2009-01-22 Bethard Roger A Inter-asic data transport using link control block manager
JP2009294853A (ja) * 2008-06-04 2009-12-17 Fujitsu Ltd 情報処理装置、データ伝送装置及びデータ伝送方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020166378A1 (ja) * 2019-02-15 2020-08-20 ソニーセミコンダクタソリューションズ株式会社 通信装置および通信方法、並びにプログラム

Also Published As

Publication number Publication date
US8689091B2 (en) 2014-04-01
US20120240017A1 (en) 2012-09-20
EP2503745A1 (en) 2012-09-26
EP2503745B1 (en) 2014-03-19

Similar Documents

Publication Publication Date Title
JP2012199724A (ja) データ送信装置、データ受信装置、データ送受信装置及びデータ送受信装置の制御方法
US8898504B2 (en) Parallel data communications mechanism having reduced power continuously calibrated lines
US11088782B2 (en) Use of a cyclic redundancy code multiple-input shift register to provide early warning and fail detection
EP3327578B1 (en) Early identification in transactional buffered memory
JP4836794B2 (ja) シリアルメモリインターコネクトを介して複数のメモリモジュールに接続されたホストを含むシステム
US9552269B2 (en) Test logic for a serial interconnect
CN105373443B (zh) 具有存储器系统体系结构的数据系统和数据读取方法
US11907140B2 (en) Serial interface for semiconductor package
US10404623B2 (en) Multiple ethernet ports and port types using a shared data path
US20170068628A1 (en) Reducing ethernet latency in a multi-server chassis
US8356240B2 (en) Data transfering apparatus
US10530396B2 (en) Dynamically adjustable cyclic redundancy code types
EP3320635B1 (en) Minimum latency link layer metaframing and error correction
US20190044657A1 (en) Method and apparatus to manage undersized network packets in a media access control (mac) sublayer
US9298660B2 (en) Super speed USB hub and traffic management method thereof
US10530523B2 (en) Dynamically adjustable cyclic redundancy code rates
US9673931B2 (en) System and method of selective encoding for enhanced serializer/deserializer throughput
JP6567754B2 (ja) イーサネット(登録商標)フレーム検知回路
JP6299768B2 (ja) 情報処理システム、情報処理装置、及びデータ通信方法
EP4149032A2 (en) Selection of processing mode for receiver circuit
JP2011186791A (ja) Usbハブ及びusbハブの制御方法
JP5182417B2 (ja) 伝送データのエラーチェック装置および方法
JP2011186582A (ja) データ転送制御装置及び電子機器
JP2008109324A (ja) 通信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140930

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150303