JPWO2011148621A1 - リング伝送システムにおけるノード装置、集積回路及び制御方法 - Google Patents

リング伝送システムにおけるノード装置、集積回路及び制御方法 Download PDF

Info

Publication number
JPWO2011148621A1
JPWO2011148621A1 JP2012517135A JP2012517135A JPWO2011148621A1 JP WO2011148621 A1 JPWO2011148621 A1 JP WO2011148621A1 JP 2012517135 A JP2012517135 A JP 2012517135A JP 2012517135 A JP2012517135 A JP 2012517135A JP WO2011148621 A1 JPWO2011148621 A1 JP WO2011148621A1
Authority
JP
Japan
Prior art keywords
symbol
loopback
output
mode
data
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
JP2012517135A
Other languages
English (en)
Other versions
JP5696308B2 (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2012517135A priority Critical patent/JP5696308B2/ja
Publication of JPWO2011148621A1 publication Critical patent/JPWO2011148621A1/ja
Application granted granted Critical
Publication of JP5696308B2 publication Critical patent/JP5696308B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/437Ring fault isolation or reconfiguration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

シリアルリンクを介して複数のノード装置がリング状に接続されたリング伝送システムにおけるノード装置が備えるPHYは、通常モードにて後段側のシリアルリンクに出力する送信指示に基づくアイドルフレームとループバックモードにて後段側のシリアルリンクに折り返して出力する前段のノード装置からのアイドルフレームとの間でシンボル同期が維持されるタイミングで通常モードからループバックモードに移行し、前記ループバックモードにて他装置宛のデータパケットの中継処理を行う。

Description

本発明は、シリアルリンクを介してリング状に接続された例えば複数のノード装置間或いは集積回路間のデータ転送技術に関する。
近年の半導体の微細化技術や高速化技術の進展に伴い、機器間或いは機器内に搭載されるLSI(Large Scale Integration)間で通信するデータ量は益々増加傾向にある。一方においては、パッケージコストに影響するLSIの端子(パッド)数には厳しい制約がある。そこで、より少ないLSIの端子数で高速なデータ通信を実現するために、シリアル伝送を採用したインタフェース規格が広く普及している。
一般に、シリアル伝送ではバス接続が困難であり、複数のノード装置を接続するためのトポロジとしてリングトポロジが挙げられる。リングトポロジにおいては、データの送信元のノード装置と宛先のノード装置との間に接続されて中継局となるノード装置は、データの中継処理のために常にアクティブである必要がある。このような中継局としてのノード装置における消費電力を削減するために、中継処理に不必要な論理層(リンクコントローラ)をリセット状態に維持し、物理層(PHY)による中継処理を行う従来技術が、例えば特許文献1に開示されている。
特開2005−065216号公報
しかしながら、上記の従来技術におけるノード装置は、物理層(PHY)による中継処理の際に、論理層(リンクコントローラ)のリセット状態を維持する必要がある。このため、論理層(リンクコントローラ)を用いた処理を再開するには、リセット解除とその後の初期化処理に伴う処理オーバヘッドが発生する。また、論理層(リンクコントローラ)からの送信データと物理層(PHY)による中継データとの間の出力切替え時には、データの連続性が維持されない。このため、結果としてシンボル同期の再獲得に伴う処理オーバヘッドの増大やデータ転送の信頼性の低下を招く。
そこで、本発明は、リング伝送システムにおいて、データ転送の信頼性を維持しつつ、処理オーバヘッドを削減した中継処理を行うことが可能なノード装置、集積回路及び制御方法を提供することを目的とする。
上記目的を達成するために本発明のノード装置は、シリアルリンクを介して複数のノード装置がリング状に接続されたリング伝送システムにおけるノード装置において、宛先情報を含むパケットの送受信及び中継処理を行うリンクコントローラと、前記シリアルリンクを介して入出力するシリアルデータと前記リンクコントローラが扱うパラレルデータとの間の相互変換を行う通常モードと、前段側のシリアルリンクを介して入力されるシリアルデータを前記リンクコントローラに受け渡す前に折り返して後段側のシリアルリンクに出力するループバックモードとの通信モードを切替えて動作を行うPHYと、を備え、前記リンクコントローラは、前記PHYに対し、送信要求パケットからデータパケットまでのプレギャップにおいて、シンボル同期を維持するためのアイドルフレームの送信指示を行うシンボル生成部と、前記PHYに対し、前記通常モードにて他装置宛の送信要求パケットの中継処理後の前記プレギャップにおいて、他装置宛のデータパケットを折り返して出力するために、前記通常モードから前記ループバックモードに移行させるための移行指示を行うループバック制御部と、を備え、前記PHYは、前記通常モードにて前記シンボル生成部の送信指示に基づいて前記アイドルフレームを前記後段側のシリアルリンクに出力し、前記移行指示に基づき、前記通常モードにて前記後段側のシリアルリンクに出力する前記送信指示に基づくアイドルフレームと前記ループバックモードにて前記後段側のシリアルリンクに折り返して出力する前段のノード装置からのアイドルフレームとの間でシンボル同期が維持されるタイミングで前記通常モードから前記ループバックモードに移行し、前記ループバックモードにて前記前段のノード装置からのアイドルフレームを折り返して前記後段側のシリアルリンクに出力し、前記ループバックモードにて他装置宛のデータパケットの中継処理を行う。
本発明の集積回路は、シリアルリンクを介して複数の集積回路がリング状に接続されたリング伝送システムにおける集積回路において、宛先情報を含むパケットの送受信及び中継処理を行うリンクコントローラと、前記シリアルリンクを介して入出力するシリアルデータと前記リンクコントローラが扱うパラレルデータとの間の相互変換を行う通常モードと、前段側のシリアルリンクを介して入力されるシリアルデータを前記リンクコントローラに受け渡す前に折り返して後段側のシリアルリンクに出力するループバックモードとの通信モードを切替えて動作を行うPHYと、を備え、前記リンクコントローラは、前記PHYに対し、送信要求パケットからデータパケットまでのプレギャップにおいて、シンボル同期を維持するためのアイドルフレームの送信指示を行うシンボル生成部と、前記PHYに対し、前記通常モードにて他装置宛の送信要求パケットの中継処理後の前記プレギャップにおいて、他装置宛のデータパケットを折り返して出力するために、前記通常モードから前記ループバックモードに移行させるための移行指示を行うループバック制御部と、を備え、前記PHYは、前記通常モードにて前記シンボル生成部の送信指示に基づいて前記アイドルフレームを前記後段側のシリアルリンクに出力し、前記移行指示に基づき、前記通常モードにて前記後段側のシリアルリンクに出力する前記送信指示に基づくアイドルフレームと前記ループバックモードにて前記後段側のシリアルリンクに折り返して出力する前段の集積回路からのアイドルフレームとの間でシンボル同期が維持されるタイミングで前記通常モードから前記ループバックモードに移行し、前記ループバックモードにて前記前段の集積回路からのアイドルフレームを折り返して前記後段側のシリアルリンクに出力し、前記ループバックモードにて他装置宛のデータパケットの中継処理を行う。
本発明の制御方法は、シリアルリンクを介して複数のノード装置がリング状に接続されたリング伝送システムにおけるノード装置を制御する制御方法であって、前記ノード装置は、宛先情報を含むパケットの送受信及び中継処理を行うリンクコントローラと、前記シリアルリンクを介して入出力するシリアルデータと前記リンクコントローラが扱うパラレルデータとの間の相互変換を行う通常モードと、前段側のシリアルリンクを介して入力されるシリアルデータを前記リンクコントローラに受け渡す前に折り返して後段側のシリアルリンクに出力するループバックモードとの通信モードを切替えて動作を行うPHYと、を備え、前記リンクコントローラは、前記PHYに対し、送信要求パケットからデータパケットまでのプレギャップにおいて、シンボル同期を維持するためのアイドルフレームの送信指示を行うシンボル生成ステップと、前記PHYに対し、前記通常モードにて他装置宛の送信要求パケットの中継処理後の前記プレギャップにおいて、他装置宛のデータパケットを折り返して出力するために、前記通常モードから前記ループバックモードに移行させるための移行指示を行うループバック制御ステップと、を備え、前記PHYは、前記通常モードにて前記シンボル生成ステップにおける送信指示に基づいて前記アイドルフレームを前記後段側のシリアルリンクに出力し、前記移行指示に基づき、前記通常モードにて前記後段側のシリアルリンクに出力する前記送信指示に基づくアイドルフレームと前記ループバックモードにて前記後段側のシリアルリンクに折り返して出力する前段のノード装置からのアイドルフレームとの間でシンボル同期が維持されるタイミングで前記通常モードから前記ループバックモードに移行し、前記ループバックモードにて前記前段のノード装置からのアイドルフレームを折り返して前記後段側のシリアルリンクに出力し、前記ループバックモードにて他装置宛のデータパケットの中継処理を行う。
上記ノード装置、集積回路及び制御方法の夫々によれば、データパケット前のプレギャップにおいて、リンクコントローラのリセット状態を維持することなく、アイドルフレームのシンボル同期を維持したままループバックモードに移行することができ、データ転送の信頼性を維持しつつ、処理オーバヘッドを削減した中継処理を行うことができる。
上記のノード装置において、前記リンクコントローラは、前記アイドルフレームの送信指示として、8b/10b方式におけるシンボル同期のためのコンマシンボルで始まり、アイドルシンボルを含む制御シンボルセットに係るデータ列を前記PHYに受け渡し、前記PHYは、前記通常モードにおける前記アイドルフレームの出力を、前記制御シンボルセットに係るデータ列を8b/10b方式に基づく符号化を行うことによって行い、前記移行指示に基づく前記通常モードから前記ループバックモードへの移行を、前記通常モードにて前記後段側のシリアルリンクに出力する前記送信指示に基づくアイドルフレームと前記ループバックモードにて前記後段側のシリアルリンクに折り返して出力する前記前段のノード装置からのアイドルフレームとの間で、前記コンマシンボルの位置とランニング・ディスパリティとが一致するタイミングで行うとしてもよい。
これにより、PHYが8b/10b方式を採用する場合、ループバックモードへの移行前後で、ランニング・ディスパリティとシンボル同期を確実に維持できる。
上記のノード装置において、前記リンクコントローラは、前記アイドルフレームの送信指示として、所定のワード長に複数のアイドルシンボルを束ねたデータ列を前記PHYに受け渡し、前記PHYは、前記通常モードにおける前記アイドルフレームの出力を、前記データ列を所定のスクランブル方式に基づいてスクランブル化し、前記所定のワード長毎の先頭にシンボル同期のための同期ヘッダを付加して符号化を行うことによって行い、前記移行指示に基づく前記通常モードから前記ループバックモードへの移行を、前記通常モードにて前記後段側のシリアルリンクに出力する前記送信指示に基づくアイドルフレームと前記ループバックモードにて前記後段側のシリアルリンクに折り返して出力する前記前段のノード装置からのアイドルフレームとの間で、前記同期ヘッダの位置を合わせたタイミングで行うとしてもよい。
これによれば、PHYが例えば64b/66b方式のようなスクランブルと同期ヘッダ付加による符号化方式を採用する場合、ループバックモードへの移行前後で、シンボル同期を確実に維持できる。
上記のノード装置において、前記リンクコントローラは、前記アイドルフレームの送信指示として、8b/10b方式におけるシンボル同期のためのコンマシンボルで始まり、アイドルシンボルを含む制御シンボルセットに係るデータ列を前記PHYに受け渡し、前記PHYは、前記制御シンボルセットに係るデータ列を8b/10b方式に基づく符号化を行うことによって前記通常モードにて前記後段側のシリアルリンクに出力する前記アイドルフレームを生成して出力する符号化部と、前記通常モードでは前記符号化部が出力するアイドルフレームを選択して前記後段側のシリアルリンクに出力し、前記ループバックモードでは前記前段のノード装置からのアイドルフレームを選択して前記後段側のシリアルリンクに出力するループバックセレクタと、を備え、前記アイドルフレームのコンマシンボルには、“0”と“1”の数が異なるシンボルタイプのみがあり、前記アイドルフレームのアイドルシンボルには、“0”と“1”の数が異なるシンボルタイプと、“0”と“1”の数が同じシンボルタイプとがあり、前記ループバックセレクタは、前記符号化部から入力されたコンマシンボルと、入力された前記前段のノード装置からのコンマシンボルとのランニング・ディスパリティが一致する場合には、ランニング・ディスパリティが一致するコンマシンボルの直後で前記通常モードから前記ループバックモードに移行するための出力の切替えを行い、前記符号化部から入力されたコンマシンボルと、入力された前記前段のノード装置からのコンマシンボルとのランニング・ディスパリティが一致しない場合において、前記符号化部から入力された前記コンマシンボルの次のアイドルシンボルと入力された前記前段のノード装置からのコンマシンボルの次のアイドルシンボルとのシンボルタイプが一致しないときは、シンボルタイプが一致しないアイドルシンボルの直後で前記通常モードから前記ループバックモードに移行するための出力の切替えを行い、前記符号化部から入力されたコンマシンボルと、入力された前記前段のノード装置からのコンマシンボルとのランニング・ディスパリティが一致しない場合において、前記符号化部から入力された前記コンマシンボルの次のアイドルシンボルと入力された前記前段のノード装置からのコンマシンボルの次のアイドルシンボルとのシンボルタイプが一致するときは、前記符号化部から入力された前記コンマシンボルの次のアイドルシンボルのランニング・ディスパリティをそのままでそのシンボルタイプをもう一方のシンボルタイプに置き換えて出力し、シンボルタイプが一致するアイドルシンボルの直後で前記通常モードから前記ループバックモードに移行するための出力の切替えを行う、としてもよい。
これによれば、アイドルフレームに含まれるコンマシンボルやアイドルシンボルのランニング・ディスパリティがランダムに切り替わるような場合でも、ループバックモードへの移行前後で、ランニング・ディスパリティとシンボル同期を確実に維持できる。
上記のノード装置において、前記リンクコントローラは、更に、初期化時に前記PHYに対する省電力制御の有無を設定し、前記シンボル制御部は、前記プレギャップ前のパケットギャップにおいて、前記省電力制御が有効に設定された場合、後段側のシリアルリンクを電気的アイドル状態とするための送信ディセーブル指示を行い、前記省電力制御が無効に設定された場合、シンボル同期を維持するための他のアイドルフレームの送信指示を行うとしてもよい。
これにより、プレギャップ前のパケットギャップにおいて、シリアルリンクを電気的アイドル状態とすることで消費電力を削減するか、他のアイドルシンボルを送信続けてシンボル同期を維持することでパケット送受信のレイテンシを削減することを選択することができる。
本発明のノード装置は、シリアルリンクを介して複数のノード装置がリング状に接続されたリング伝送システムにおけるノード装置において、宛先情報を含むパケットの送受信及び中継処理を行うリンクコントローラと、前記シリアルリンクを介して入出力するシリアルデータと前記リンクコントローラが扱うパラレルデータとの間の相互変換を行う通常モードと、前段側のシリアルリンクを介して入力されるシリアルデータを前記リンクコントローラに受け渡す前に折り返して後段側のシリアルリンクに出力するループバックモードとの通信モードを切替えて動作を行うPHYと、を備え、前記リンクコントローラは、前記PHYに対し、データパケット後のポストギャップにおいて、シンボル同期を維持するためのアイドルフレームの送信指示を行うシンボル生成部と、前記PHYに対し、前記ループバックモードにて他装置宛のデータパケットの折り返し出力後の前記ポストギャップにおいて、前記ループバックモードから前記通常モードに復旧させるための復旧指示を行うループバック制御部と、を備え、前記PHYは、前記ループバックモードにて前記前段のノード装置からのアイドルフレームを折り返して前記後段側のシリアルリンクに出力し、前記復旧指示に基づき、前記ループバックモードにて前記後段側のシリアルリンクに折り返して出力する前段のノード装置からのアイドルフレームと前記通常モードにて前記後段側のシリアルリンクに出力する前記送信指示に基づくアイドルフレームとの間でシンボル同期が維持されるタイミングで前記ループバックモードから前記通常モードに復旧し、前記通常モードにて前記シンボル生成部の送信指示に基づいて前記アイドルフレームを前記後段側のシリアルリンクに出力する。
本発明の集積回路は、シリアルリンクを介して複数の集積回路がリング状に接続されたリング伝送システムにおける集積回路において、宛先情報を含むパケットの送受信及び中継処理を行うリンクコントローラと、前記シリアルリンクを介して入出力するシリアルデータと前記リンクコントローラが扱うパラレルデータとの間の相互変換を行う通常モードと、前段側のシリアルリンクを介して入力されるシリアルデータを前記リンクコントローラに受け渡す前に折り返して後段側のシリアルリンクに出力するループバックモードとの通信モードを切替えて動作を行うPHYと、を備え、前記リンクコントローラは、前記PHYに対し、データパケット後のポストギャップにおいて、シンボル同期を維持するためのアイドルフレームの送信指示を行うシンボル生成部と、前記PHYに対し、前記ループバックモードにて他装置宛のデータパケットの折り返し出力後の前記ポストギャップにおいて、前記ループバックモードから前記通常モードに復旧させるための復旧指示を行うループバック制御部と、を備え、前記PHYは、前記ループバックモードにて前記前段の集積回路からのアイドルフレームを折り返して前記後段側のシリアルリンクに出力し、前記復旧指示に基づき、前記ループバックモードにて前記後段側のシリアルリンクに折り返して出力する前段の集積回路からのアイドルフレームと前記通常モードにて前記後段側のシリアルリンクに出力する前記送信指示に基づくアイドルフレームとの間でシンボル同期が維持されるタイミングで前記ループバックモードから前記通常モードに復旧し、前記通常モードにて前記シンボル生成部の送信指示に基づいて前記アイドルフレームを前記後段側のシリアルリンクに出力する。
本発明の制御方法は、シリアルリンクを介して複数のノード装置がリング状に接続されたリング伝送システムにおけるノード装置を制御する制御方法であって、前記ノード装置は、宛先情報を含むパケットの送受信及び中継処理を行うリンクコントローラと、前記シリアルリンクを介して入出力するシリアルデータと前記リンクコントローラが扱うパラレルデータとの間の相互変換を行う通常モードと、前段側のシリアルリンクを介して入力されるシリアルデータを前記リンクコントローラに受け渡す前に折り返して後段側のシリアルリンクに出力するループバックモードとの通信モードを切替えて動作を行うPHYと、を備え、前記リンクコントローラは、前記PHYに対し、データパケット後のポストギャップにおいて、シンボル同期を維持するためのアイドルフレームの送信指示を行うシンボル生成ステップと、前記PHYに対し、前記ループバックモードにて他装置宛のデータパケットの折り返し出力後の前記ポストギャップにおいて、前記ループバックモードから前記通常モードに復旧させるための復旧指示を行うループバック制御ステップと、を備え、前記PHYは、前記ループバックモードにて前記前段のノード装置からのアイドルフレームを折り返して前記後段側のシリアルリンクに出力し、前記復旧指示に基づき、前記ループバックモードにて前記後段側のシリアルリンクに折り返して出力する前段のノード装置からのアイドルフレームと前記通常モードにて前記後段側のシリアルリンクに出力する前記送信指示に基づくアイドルフレームとの間でシンボル同期が維持されるタイミングで前記ループバックモードから前記通常モードに復旧し、前記通常モードにて前記シンボル生成ステップにおける送信指示に基づいて前記アイドルフレームを前記後段側のシリアルリンクに出力する。
上記ノード装置、集積回路及び制御方法の夫々によれば、データパケット後のポストギャップにおいて、アイドルフレームのシンボル同期を維持したまま通常モードに復旧することができる。
上記のノード装置において、前記リンクコントローラは、前記アイドルフレームの送信指示として、8b/10b方式におけるシンボル同期のためのコンマシンボルで始まり、アイドルシンボルを含む制御シンボルセットに係るデータ列を前記PHYに受け渡し、前記PHYは、前記通常モードにおける前記アイドルフレームの出力を、前記制御シンボルセットに係るデータ列を8b/10b方式に基づく符号化を行うことによって行い、前記復旧指示に基づく前記ループバックモードから前記通常モードへの復旧を、前記ループバックモードにて前記後段側のシリアルリンクに折り返して出力する前記前段のノード装置からのアイドルフレームと前記通常モードにて前記後段側のシリアルリンクに出力する前記送信指示に基づくアイドルフレームとの間で、前記コンマシンボルの位置とランニング・ディスパリティとが一致するタイミングで行うとしてもよい。
これにより、PHYが8b/10b方式を採用する場合、通常モードへの復旧前後で、ランニング・ディスパリティとシンボル同期を確実に維持できる。
上記のノード装置において、前記リンクコントローラは、前記アイドルフレームの送信指示として、所定のワード長に複数のアイドルシンボルを束ねたデータ列を前記PHYに受け渡し、前記PHYは、前記通常モードにおける前記アイドルフレームの出力を、前記データ列を所定のスクランブル方式に基づいてスクランブル化し、前記所定のワード長毎の先頭にシンボル同期のための同期ヘッダを付加して符号化を行うことによって行い、前記復旧指示に基づく前記ループバックモードから前記通常モードへの復旧を、前記ループバックモードにて前記後段側のシリアルリンクに折り返して出力する前記前段のノード装置からのアイドルフレームと前記通常モードにて前記後段側のシリアルリンクに出力する前記送信指示に基づくアイドルフレームとの間で、前記同期ヘッダの位置を合わせたタイミングで行うとしてもよい。
これによれば、PHYが例えば64b/66b方式のようなスクランブルと同期ヘッダ付加による符号化方式を採用する場合、通常モードへの復旧前後で、シンボル同期を確実に維持できる。
上記のノード装置において、前記リンクコントローラは、前記アイドルフレームの送信指示として、8b/10b方式におけるシンボル同期のためのコンマシンボルで始まり、アイドルシンボルを含む制御シンボルセットに係るデータ列を前記PHYに受け渡し、前記PHYは、前記制御シンボルセットに係るデータ列を8b/10b方式に基づく符号化を行うことによって前記通常モードにて前記後段側のシリアルリンクに出力する前記アイドルフレームを生成して出力する符号化部と、前記通常モードでは前記符号化部が出力するアイドルフレームを選択して前記後段側のシリアルリンクに出力し、前記ループバックモードでは前記前段のノード装置からのアイドルフレームを選択して前記後段側のシリアルリンクに出力するループバックセレクタと、を備え、前記アイドルフレームのコンマシンボルには、“0”と“1”の数が異なるシンボルタイプのみがあり、前記アイドルフレームのアイドルシンボルには、“0”と“1”の数が異なるシンボルタイプと、“0”と“1”の数が同じシンボルタイプとがあり、前記ループバックセレクタは、入力された前記前段のノード装置からのコンマシンボルと、前記符号化部から入力されたコンマシンボルとのランニング・ディスパリティが一致する場合には、ランニング・ディスパリティが一致するコンマシンボルの直後で前記ループバックモードから前記通常モードに復旧するための出力の切替えを行い、入力された前記前段のノード装置からのコンマシンボルと、前記符号化部から入力されたコンマシンボルとのランニング・ディスパリティが一致しない場合において、入力された前記前段のノード装置からのコンマシンボルの次のアイドルシンボルと、前記符号化部から入力された前記コンマシンボルの次のアイドルシンボルとのシンボルタイプが一致しないときは、シンボルタイプが一致しないアイドルシンボルの直後で前記ループバックモードから前記通常モードに復旧するための出力の切替えを行い、入力された前記前段のノード装置からのコンマシンボルと、前記符号化部から入力されたコンマシンボルとのランニング・ディスパリティが一致しない場合において、入力された前記前段のノード装置からのコンマシンボルの次のアイドルシンボルと、前記符号化部から入力された前記コンマシンボルの次のアイドルシンボルとのシンボルタイプが一致するときは、入力された前記前段のノード装置からのコンマシンボルの次のアイドルシンボルのランニング・ディスパリティをそのままでそのシンボルタイプをもう一方のシンボルタイプに置き換えて出力し、シンボルタイプが一致するアイドルシンボルの直後で前記ループバックモードから前記通常モードに復旧するための出力の切替えを行う、としてもよい。
これによれば、アイドルフレームに含まれるコンマシンボルやアイドルシンボルのランニング・ディスパリティがランダムに切り替わるような場合でも、通常モードへの復旧前後で、ランニング・ディスパリティとシンボル同期を確実に維持できる。
上記のノード装置において、前記リンクコントローラは、更に、初期化時に前記PHYに対する省電力制御の有無を設定し、前記シンボル制御部は、前記ポストギャップ後のパケットギャップにおいて、前記省電力制御が有効に設定された場合、後段側のシリアルリンクを電気的アイドル状態とするための送信ディセーブル指示を行い、前記省電力制御が無効に設定された場合、シンボル同期を維持するための他のアイドルフレームの送信指示を行うとしてもよい。
これにより、ポストギャップ前のパケットギャップにおいて、シリアルリンクを電気的アイドル状態とすることで消費電力を削減するか、他のアイドルシンボルを送信続けてシンボル同期を維持することでパケット送受信のレイテンシを削減することを選択することができる。
上記のノード装置において、前記リンクコントローラは、前記PHYに対して、前段側のシリアルリンクの電気的アイドル状態又は他のアイドルフレームを検出するまで、前記アイドルフレームの送信指示に基づく前記アイドルフレームの前記後段側のシリアルリンクへの出力を継続して行わせるとしてもよい。
これによれば、リンク後段のノード装置が通常モードに復旧するための、ポストギャップのアイドルフレーム期間を確保することができる。
上記のノード装置において、前記リンクコントローラは、前記ループバックモードにて他装置宛のデータパケットの折り返し出力しているときに、当該データパケットの終端シンボルを検出すると前記復旧指示を行い、当該終端シンボルを検出する前に前段側のシリアルリンクの電気的アイドル状態又は他のアイドルフレームを検出すると前記復旧指示を行うとしてもよい。
これによれば、復旧指示のトリガーであるデータパケットの終端シンボルを検出できなかった場合でも、通常モードに復旧することが可能になって、受信パケットを受信できない状態が継続することを回避することができる。
本発明の実施の形態に係るリング伝送システムの全体構成図。 図1のノード装置間で送受信されるパケットのパケットフォーマットの概略と、そのヘッダの詳細構成の一例を示す図。 (a)は制御コマンドパケットのパケットフォーマットの一例を示す図であり、(b)はデータコマンドパケットのパケットフォーマットの一例を示す図であり、(c)はレスポンスパケットのパケットフォーマットの一例を示す図であり、(d)はデータパケットのパケットフォーマットの一例を示す図であり、(e)はメッセージパケットのパケットフォーマットの一例を示す図。 図1のノード装置が用いる8b/10b方式の特殊シンボルの機能割当の一例を示す図。 図1のノード装置が用いる制御シンボルセットの一例を示す図。 (a)は図1のノード装置が用いるパケットのフレーミングルールの一例を示す図であり、(b)は図1のノード装置が用いるデータパケットをウインドウサイズ分束ねたデータバーストのフレーミングルールの一例を示す図。 図1のノード装置の構成図。 図1のマスタのノード装置(マスタ装置)の動作の流れを示すフローチャート。 図1のスレーブのノード装置(スレーブ装置)の動作の流れを示すフローチャート。 図9の中継処理ステップの詳細を示すフローチャート。 図1のマスタのノード装置(マスタ装置)と通信相手のノード装置(スレーブ装置)との間における書込みのデータコマンドの処理シーケンスの一例を示す図。 図1のマスタのノード装置(マスタ装置)と通信相手のノード装置(スレーブ装置)との間における読出しのデータコマンドの処理シーケンスの一例を示す図。 図7のループバックセレクタのループバックモード移行前後における出力の切替えタイミングを示す図。 実施の形態の変形例におけるループバックセレクタのループバックモード移行前後における出力の切替えタイミングを示す図。 図7のループバックセレクタの通常モード復旧前後における出力の切替えタイミングを示す図。 図1に示すリング伝送システムにおける書込みのデータコマンドに関する全体動作を示す図。 図1に示すリング伝送システムにおける読出しのデータコマンドに関する全体動作を示す図。 64b/66b方式を採用した場合のノード装置の構成図。 64b/66b方式を採用した場合のループバックセレクタのループバックモード移行前後における出力の切替えタイミングを示す図。 64b/66b方式を採用した場合のループバックセレクタの通常モード復旧前後における出力の切替えタイミングを示す図。 図1のノード装置が用いる制御シンボルセットの他の例を示す図。 (a)〜(c)は図21の制御シンボルセット利用時のループバックセレクタの出力の切替えルールを示す図。
≪実施の形態≫
以下、本発明の実施の形態について、図面を参照しつつ説明する。
<リング伝送システムの全体構成>
図1は、本発明の実施の形態に係るリング伝送システムの全体構成図である。
図1のリング伝送システムには、4つのノード装置100a〜100dが含まれており、ノード装置100a〜100dがシリアルリンク101a〜101dを介してリング状に接続されている。なお、図1などに記載された“0”〜“3”はノード装置101a〜101dに割り当てられたデバイスIDを示している。
ノード装置100a〜100dは、夫々、PHY102a〜102dと、リンクコントローラ103a〜103dを備える。本実施の形態では、ノード装置100aをマスタのノード装置(マスタ装置)とし、それ以外のノード装置100b〜100dをスレーブのノード装置(スレーブ装置)とする。
各ノード装置100a〜100dのPHY102a〜102dは、シリアルリンク101a〜101dを介して入出力するシリアルデータと、リンクコントローラ103a〜103dが扱うパラレルデータとの間の相互変換を行う、物理層で機能する処理ブロックである。各ノード装置100a〜100dのリンクコントローラ103a〜103dは、所定のプロトコルに基づいてパケットの送受信を行う、論理層で機能する処理ブロックである。
各ノード装置100a〜100dのPHY102a〜102dは、シリアルリンク101a〜101dを介してシリアルデータを出力するためのシリアル送信部(Tx)104a〜104dと、シリアルリンク101d、101a〜101cを介してシリアルデータを入力するためのシリアル受信部(Rx)105a〜105dとを含む。
ここで、ノード装置100aのシリアル送信部104aと、その一つ後段のノード装置100bのシリアル受信部105bとは、シリアルリンク101aを介して接続されている。同様に、ノード装置100b、100c、100dのシリアル送信部104b、104c、104dと、その一つ後段のノード装置100c、100d、100aのシリアル受信部105c、105d、105aとは、シリアルリンク101b、101c、101dを介して接続されている。このように、ノード装置101a〜101dがシリアルリンク101a〜101dにリング状に接続されることにより、リング伝送システムが形成される。なお、シリアルリンク101a〜101dでは、図1に“順方向”として示す方向にシリアルデータが伝送するものとする。
ここで、リンクコントローラ103a〜103dが送受信するパケットは宛先情報を含む。リンクコントローラ103a〜103dは、受信パケットの宛先情報が自装置宛を示す場合、その受信パケットを所定のプロトコルに基づいて解釈する受信処理を行う。一方、リンクコントローラ103a〜103dは、受信パケットの宛先情報が他装置宛を示す場合、その受信パケットをリング後段のノード装置に受け渡す中継処理を行う。このように、送信元のノード装置と宛先のノード装置との間のノード装置が中継局となることで、マスタ装置と任意のスレーブ装置との間のパケットの送受信が実現される。
<パケットフォーマット>
以下、図1のノード装置100a〜100d間で送受信されるパケットのパケットフォーマットについて、図2及び図3(a)〜(e)を参照しつつ説明する。
図2は、図1のノード装置100a〜100d間で送受信されるパケットのパケットフォーマットの概略と、そのヘッダの詳細構成の一例を示す図である。図2に示すように、パケットフォーマットは、ヘッダ(Header)200と、アーギュメント(Argument)201と、ペイロード(Payload)202とを含む。ここで、アーギュメント201とペイロード203との有無はパケットの種類に応じて決まり、その詳細については後述する。なお、アーギュメント201とペイロード202が存在しないこともあるので、図2では、[Argument]と[Payload]として表記している。
ヘッダ200は、図2に示すように、パケットタイプ(TYPE)210と、上記宛先情報としての宛先ID(DID:Destination ID)211と、送信元ID(SID:Source ID)212と、トランザクションID(TID:Transaction ID)213とを含む。
パケットタイプ210は、パケットの詳細種別を示す。本実施の形態では、パケットの詳細種別として、IO空間にマッピングされたレジスタ等にアクセスするためにマスタ装置が発行する制御コマンドパケット(CCMD:Control Command)、メモリ空間のバルクデータにアクセスするためにマスタ装置が発行するデータコマンドパケット(DCMD:Data Command)、上記の制御コマンドパケット及びデータコマンドパケットの応答としてそれらの宛先のスレーブ装置が発行するレスポンスパケット(RES:Response)、データコマンドパケットによりマスタ装置とスレーブ装置間で転送されるバルクデータを含むデータパケット(DATA)、シリアルリンクを介して他のノード装置に自装置の状態を通知するためのメッセージパケット(MSG:Message)が定義されている。
宛先ID211と送信元ID212は、各ノード装置に割り当てられたデバイスID等により指定し、リング接続できるノード装置の総数は宛先ID211と送信元ID212のフィールド長により制約される。なお、図2の宛先ID211と送信元ID212のフィールド長を何れも4ビットとすると、デバイスIDとして“0”〜“15”までの値が利用可能であり、ここでは、マスタ装置100aのデバイスIDは常に“0”とし、スレーブ装置100b〜100dのデバイスIDは初期化時にユニークな値が割り当てられるものとする。図1の例では、スレーブ装置100b〜100dにデバイスIDとして“1”〜“3”が割り当てられている。
また、一組のマスタ装置とスレーブ装置間で複数のデータコマンドパケットを同時に発行し、それらデータコマンドパケットによるデータ転送(トランザクション)を時分割で切替えながら実行する場合、宛先ID211と送信元ID212とからではそれらトランザクションの識別ができない。そこで、トランザクションID213は、複数のデータコマンドパケットによるトランザクションを識別するために用いられる。
次に、図3(a)〜(e)を参照しつつ、パケットタイプ210で定義される各パケットの詳細フォーマットを説明する。なお、図3(a)〜(e)におけるヘッダは図2のヘッダ200と同様であるので、ここではその詳細説明を省略する。
図3(a)は、制御コマンドパケットのパケットフォーマットの一例を示す図である。
制御コマンドパケットのアーギュメントは、データ転送の読出し(Read)と書込み(Write)のデータ転送種別を示すR/Wフラグ300と、制御コマンドで転送されるIOデータのサイズを示すペイロード長(PLEN:Payload Length)301と、IO空間上のアクセス対象のアドレスを示すIOアドレス302とを含む。制御コマンドパケットのペイロードは、R/Wフラグ300が書込みに設定された場合にのみ、ペイロード長301で指定されたサイズのIOライトデータ303が含まれる。なお、R/Wフラグ300が読出しに設定された場合、IOリードデータは制御コマンドパケットに対するレスポンスパケットに含まれるため、制御コマンドパケットにはIOリードデータは含まれない。なお、制御コマンドパケットにペイロードが存在しないこともあるので、図3(a)では[Payload]として表記している。
図3(b)は、データコマンドパケットのパケットフォーマットの一例を示す図である。
データコマンドパケットのアーギュメントは、データ転送の読出し(Read)と書込み(Write)のデータ転送種別を示すR/Wフラグ310を含み、以降の拡張アーギュメントとして、メモリ空間におけるデータ転送の開始アドレスであるメモリアドレス311とデータ転送のトータルサイズを示す転送サイズ312を含む。ここで、各パケットにおけるアーギュメントのサイズを固定長とするため、アーギュメントに収まらないメモリアドレス311と転送サイズ312については、拡張アーギュメントとして定義している。ヘッダは全てのパケットで共通であるため、アーギュメントのサイズについても全てのパケットで固定長とすることで、リンクコントローラ103a〜103dにおける受信パケットの解釈が容易となる。
図3(c)は、レスポンスパケットのパケットフォーマットの一例を示す図である。
レスポンスパケットのアーギュメントは、制御コマンドパケットあるいはデータコマンドパケットがそれらの宛先ID212で指定されたノード装置(通信相手のスレーブ装置)において正しく受付けられたか否かを示すNACK(Negative Acknowledge)フラグ320を含む。レスポンスパケットのペイロードは、制御コマンドパケットのR/Wフラグ300が読出しに設定されていた場合にのみ、その制御コマンドパケットで読み出されたIOリードデータ321(制御コマンドパケットのペイロード長301で指定されたサイズ分)を含む。但し、制御コマンドパケットのR/Wフラグ300が書込みに設定された場合、上述したようにIOライトデータは制御コマンドパケットに含まれるため、レスポンスパケットにはIOライトデータは含まれない。なお、レスポンスパケットにペイロードが存在しないこともあるので、図3(c)では[Payload]として表記している。
図3(d)は、データパケットのパケットフォーマットの一例を示す図である。
データパケットには、アーギュメントが存在せず、ペイロードにはデータコマンドパケットでアクセスされるデータを所定のブロックサイズで断片化したデータブロック330が含まれる。本実施の形態では、ブロックサイズを512バイトとし、データコマンドパケットの転送サイズ312はブロックサイズである512バイトの倍数を指定するものとする。この場合、転送サイズ312で指定されたトータルサイズのデータは512バイト毎に断片化され、それぞれヘッダを付加したデータパケットとして転送されることになる。なお、ブロックサイズは512バイト以外の固定サイズであってもよく、また、可変サイズであってもよい。
図3(e)は、メッセージパケットのパケットフォーマットの一例を示す図である。
メッセージパケットのアーギュメントは、メッセージ種別を示すメッセージインデックス(Index)340と、メッセージ種別毎の付加情報を示すメッセージコード(Code)341とを含む。
メッセージインデックス340で指定するメッセージ種別としては、フロー制御リクエスト(FCREQ:Flow Control Request)、フロー制御レディ(FCRDY:Flow Control Ready)、ステータス(STAT:Status)などがある。
フロー制御リクエストとフロー制御レディは、データ転送開始前に送信元のノード装置と宛先のノード装置との間で交換されるフロー制御情報である。ステータスは、データ転送完了後にデータ転送の宛先のノード装置から送信元のノード装置に対してデータ受信エラーを通知するために用いられる。ここで、メッセージインデックス340がステータスを示す場合、メッセージコード341には、データ受信エラーの有無が含まれることになる。
なお、上記のパケットフォーマットは、プロトコルに応じて異なる構成が考えられ、フィールドの削除や追加等、必要に応じて適宜変更されてもよい。
<8b/10b方式の制御シンボル>
以下、図1のノード装置100a〜100dが用いる8b/10b方式の特殊シンボルについて、図4を参照しつつ説明する。図4は、図1のノード装置100a〜100dが用いる8b/10b方式の特殊シンボルの機能割当の一例を示す図である。
8b/10b方式では、8ビットを10ビットに変換する冗長性を生かして通常の8ビット(バイト)データを表現するDシンボルの他に、12種類の制御用の特殊なKシンボル(制御シンボル)を利用できる。図4では、“シンボル名”と、“ニーモニック”と、“機能”と、元データ(16進数)と、“符号化シンボル(2進数)”とを対応づけて示している。元データ(16進数)は8b/10b方式に基づく符号化前の8ビットデータを示し、符号化シンボル(2進数)は8b/10b方式に基づく符号化後の10ビットデータを示す。
ここで、8b/10b方式においては、8ビットを10ビットに変換する冗長性を生かし、元データの夫々に対して“−”と“+”の属性を持つ2つの符号化シンボルを割り当てている。そして、8b/10b方式の符号化の際には、符号化シンボル内の“0”と“1”の数のバランスに関する状態であるランニング・ディスパリティ(RD:Ranning Disparity)を管理する。ランニング・ディスパリティは、“RD−”と“RD+”の状態を取り得て、“0”の多い符号化シンボル生成後に“RD−”に遷移し、“1”の多い符号化シンボル生成後に“RD+”に遷移し、“0”と“1”とが同数の符号化シンボル生成後は前回の符号化シンボル生成後の状態を維持する。そして、ランニング・ディスパリティが“RD−”か“RD+”に応じて、それぞれ図4に示す“Current RD−”か“Current RD+”に対応する符号化シンボルが生成される。
例えば、ランニング・ディスパリティが“RD−”の場合、“Current RD−”の符号化シンボルが選択され、選択された“Current RD−”の符号化シンボルが“1”の多い符号化シンボルの場合には、ランニング・ディスパリティは“RD−”から“RD+”に遷移し、選択された“Current RD−”の符号化シンボルが“0”と“1”が同数の符号化シンボルの場合には、ランニング・ディスパリティは“RD−”を維持する。
また、ランニング・ディスパリティが“RD+”の場合、“Current RD+”の符号化シンボルが選択され、選択された“Current RD+”の符号化シンボルが“0”の多い符号化シンボルの場合には、ランニング・ディスパリティは“RD+”から“RD−”に遷移し、選択された“Current RD+”の符号化シンボルが“0”と“1”が同数の符号化シンボルの場合には、ランニング・ディスパリティは“RD+”を維持する。
8b/10b方式の復号化の際にも、ランニング・ディスパリティの管理を行い、“0”の多い符号化シンボルの復号後に“RD−”に遷移し、“1”の多い符号化シンボルの復号後に“RD+”に遷移し、“0”と“1”とが同数の符号化シンボルの復号後は前回の符号化シンボルの復号後の状態を維持する。例えば、ランニング・ディスパリティが“RD−”であるにもかかわらず、“Current RD+”の符号化シンボルを受信した場合など、上記の符号化ルールに従わない符号化シンボルを受信した場合に、ランニング・ディスパリティエラーとして検知する。
図4では、8b/10b方式の制御シンボルの一部に、SDB(Start of DATA Burst)シンボル、SOP(Start of Packet)シンボル、LIDL(Logical Idle)シンボル、COM(Comma)シンボル、DIDL(Data Idle)シンボル、EDB(End of DATA Burst)シンボル、EOP(End of Packet)シンボルが割り当てられている。
COMシンボル(K28.5)は、8b/10b方式の符号化シンボル列からなるシリアルデータ内で、他の2つの符号化シンボルのいかなる組合せからも生成されないユニークな信号パターンを有するため、シンボル同期を行うための区切り文字として用いられる。ここで、8b/10b方式におけるシンボル同期とは、シリアルデータから符号化シンボルの区切り位置(先頭ビット)を正しく認識してパラレルデータに変換することが可能になっている状態を示す。
SOPシンボル(K28.1)及びEDPシンボル(K29.7)は、それぞれパケットの先頭及び末尾に付加され、パケットの区切りの位置を識別するために用いられる。
SDBシンボル(K28.0)及びEDBシンボル(K27.7)は、データ転送の単位として、データパケットをフロー制御のウインドウサイズ分だけ束ねたデータバーストの先頭及び末尾にそれぞれ付加され、データバーストの区切り位置を識別するために用いられる。
LIDLシンボル(K28.3)及びDIDLシンボル(K28.6)は、いずれも送信パケット間の間隔を埋めて、シンボル同期を維持するために用いられるアイドルシンボルである。なお、LIDLシンボルとDIDLシンボルの使い分けについては後述する。
なお、図4の例では、COMシンボル(K28.5)とLIDLシンボル(K28.3)とDIDLシンボル(K28.6)の各シンボルは、ともに、“0”と“1”の数が異なるUnbalanceシンボルである。
シンボル同期が伝送エラーによって予期せずに外れてしまった場合、再度シンボル同期を獲得するためには、COMシンボルを検知する必要がある。このため、COMシンボルは定期的に伝送されることが望ましい。そこで、本実施の形態では、COMシンボル以外の制御シンボルを、常にCOMシンボルと組み合わせた制御シンボルセットとして用いることとし、図5に本実施の形態で用いる制御シンボルセットの一例を示す。図5の制御シンボルセットは、第1シンボルで始まり、それに第2シンボルが続くものであり、第1シンボルはシンボル同期のためのCOMシンボル(K28.5)である。ここで、SYNは、COMシンボル(K28.5)と特定のDシンボル(D31.5)とからなり、初期化時やパケット送信前にシンボル同期を確立させるために送信される。なお、以下では、SDB、SOP、EDP、EDB、LIDL、DIDLはそれぞれ図5で定義した制御シンボルセットを表すこととする。
<パケットフレーミング>
上記の制御シンボルセットの内、SDB、SOP、EOP、EDBは、フレーミングシンボルセットであり、図2及び図3(a)〜(e)に示した各種パケットの先頭と末尾を識別するためのパケットフレーミングに用いられる。
図6(a)は、図1のノード装置100a〜100dが用いるパケットのフレーミングルールの一例を示す図である。
図2及び図3(a)〜(e)に示したパケット600には、そのデータの完全性の確認のために算出されたCRC(Cyclic Redundancy Check)601が付加される。そして、更に、パケット600にCRC601を付加したものの先頭と末尾のそれぞれにSOPの制御シンボルセット602とEOPの制御シンボルセット603が付加されることにより、フレーミングされたパケットを形成する。
図6(b)は、図1のノード装置100a〜100dが用いるデータパケットをウインドウサイズ分束ねたデータバーストのフレーミングルールの一例を示す図である。データバースト内の各データパケット610の各々は、図3(d)に示した通りであり、図6(a)を用いて説明したパケットのフレーミングルールに従ってフレーミングされる。そして、フレーミングされたデータパケット(DATA Packet(framed))620(データパケット610にCRC611が付加され、更にSOPの制御シンボルセット612とEOPの制御シンボルセット613が付加されたもの)がウインドウサイズ分束ねられた上で、その先頭と末尾のそれぞれにSDBの制御シンボルセット621とEDBの制御シンボルセット622が付加されることにより、フレーミングされたデータバーストを形成する。
<ノード装置の構成>
次に、図1のノード装置100a〜100dの構成について図7を参照しつつ説明する。図7は、図1のノード装置100a〜100d(ノード装置700)の構成図である。
ノード装置700は、PHY701と、リンクコントローラ702とを備える。PHY701は、図1のPHY102a〜102dに相当し、リンクコントローラ702は、図1のリンクコントローラ103a〜103dに相当する。
〔PHY〕
PHY701は、シリアル受信部(Rx)710と、復号化部711と、符号化部712と、ループバックセレクタ713と、シリアル送信部(Tx)714とを備える。シリアル受信部710は図1のシリアル受信部105a〜105dに相当し、シリアル送信部714は図1のシリアル送信部104a〜104dに相当する。
シリアル受信部710は、レシーバ720と、デシリアライザ(DES)721とを備える。レシーバ720は、シリアルリンク(シリアルリンク101a〜101d)から入力されるシリアルデータからシリアル受信データを生成する。デシリアライザ721は、レシーバ720からのシリアル受信データのビット列から、上述したCOMシンボルのような区切り文字を検出することでシンボルの先頭ビット位置を検出し、8b/10b方式のシンボル長(10ビット幅)のパラレル受信データに変換する。デシリアライザ721から出力されるパラレル受信データは、復号化部711に入力されるとともに、ループバック経路715によって分岐されてループバックセレクタ713に入力される。なお、以下において、ループバック経路715によって分岐されてループバックセレクタ713に入力されるパラレル受信データを「パラレルループバックデータ」と言うことにする。
復号化部711は、パラレル受信データを構成する10ビットのシンボルデータのそれぞれを、8b/10b方式に基づいて8ビット(バイト)幅のRawデータに復号し、復号の結果得られたRawデータ(以下、「受信Rawデータ」と称する。)をリンクコントローラ702へ出力する。なお、復号化部711は、ランニング・ディスパリティの管理を行い、例えば、受け取った10ビットのシンボルデータが管理しているランニング・ディスパリティに適合しなければランニング・ディスパリティエラーとして検知する。
符号化部712は、リンクコントローラ702から入力されるRawデータ(以下、「送信Rawデータ」と称する。)を、8b/10b方式に基づいて、8ビット(バイト)単位で、10ビット幅のシンボルデータに符号化し、10ビット幅のシンボルデータによって構成されるパラレル送信データをループバックセレクタ713へ出力する。なお、符号化部712は、ランニング・ディスパリティの管理を行いながら、8b/10b方式に基づく符号化を行う。
ループバックセレクタ713は、リンクコントローラ702の後述するループバック制御部757からの指示を受け、所定のタイミングで出力選択を切替えて、パラレル送信データとパラレルループバックデータの一方をシリアル送信部714へ出力する。なお、このループバックセレクタ713における出力の切替えの詳細は後述する。
ここで、ノード装置700は、ループバックセレクタ713の出力として、リンクコントローラ702の出力に関するパラレル送信データを選択した状態を“通常モード”とし、ループバック経路715で分岐されたパラレルループバックデータを選択した状態を“ループバックモード”であるとする。
シリアル送信部714は、シリアライザ(SER)725と、ドライバ726とを備える。シリアライザ725は、8b/10b方式のシンボル長(10ビット幅)のパラレル送信データ又はパラレルループバックデータをシリアル送信データ又はシリアルループバックデータに変換する。ドライバ726は、シリアライザ725からのシリアル送信データ又はシリアルループバックデータからシリアルデータを生成してシリアルリンク(シリアルリンク101a〜101d)へ出力する。
なお、リンクコントローラ702は、省電力化のために、シリアル送信部714の動作を停止させ、動作中では起こり得ない電気的アイドル(ハイインピーダンス)状態とすることができる。電気的なアイドル状態では、シリアルリンク101a〜101dをプルアップ又はプルダウンし、シリアル受信部710は、そのようなプルアップ状態又はプルダウン状態を検知することで、自動的にその動作を停止させることができる。
〔リンクコントローラ〕
リンクコントローラ702は、シンボル検知部751と、バイパス制御部752と、パケット受信部753と、パケット送信部754と、バイパスセレクタ755と、シンボル生成部756と、ループバック制御部757とを備える。
シンボル検知部751は、PHY701からの入力である受信Rawデータから、図6(a)、(b)に示すフレーミングルールに従って、パケットやデータバーストの先頭及び末尾を検出し、正しく受信できたものに含まれるパケット600のみバイパス制御部752へ出力する。この際に、シンボル検知部751は、受信RawデータからEDBシンボルを検出すると、EDBシンボルを検出したことをループバック制御部757に通知する。ここで、シンボル検知部751は、図6(a)、(b)に示すフレーミングルールに違反したことを確認した場合や、CRCチェックにて伝送エラーを確認した場合、パケット600の正しい受信ができないので、そのようなパケット600を破棄する。また、図5に示したLIDL、DIDL、SYNなどの制御シンボルセットは、パケットの実データを伝送するために用いられるものではないため、シンボル検知部751にて除去されることになる。
バイパス制御部752は、シンボル検知部751からの入力である受信パケットのヘッダ200に含まれる宛先ID212に基づいて、受信パケットをノード装置700内で受理するか、バイパス経路758を介してリング後段のノード装置に中継するか判定する。但し、バイパス制御部752は、受信パケットが自装置宛であれば受信パケットを受理と判定して受信パケットをパケット受信部753へ出力し、受信パケットが他装置宛であれば受信パケットを中継と判定して受信パケットをバイパス経路758を介してバイパスセレクタ755へ出力する。
バイパス制御部752は、受信パケットが他装置宛と判定した場合、更に、他装置宛の受信パケットが送信要求を示すフロー制御リクエストのメッセージパケット(本実施の形態では、送信要求パケットに該当する。)であるか判定し、判定結果をループバック制御部757に通知する。
パケット受信部753は、バイパス制御部752によって受信パケットを受理と判定された場合、所定のプロトコルに基づいて受信パケットに応じた受信処理を行う。
パケット送信部754は、データ伝送を開始させるためのコマンドパケット(制御コマンドパケット、データコマンドパケット)の発行、パケット受信部753によってコマンドパケットが受信された場合のレスポンスパケットの発行、データパケットの発行、メッセージパケットの発行などの送信処理を行う。
バイパスセレクタ755は、バイパス経路758を介して中継される受信パケットと、パケット送信部754で生成された送信パケットとの一方を、バイパス制御部752による判定結果に基づいて選択してシンボル生成部756へ出力する。但し、バイパスセレクタ755は、バイパス制御部755による判定結果が受信パケットを中継と判定した場合に、バイパス経路758を介して入力される受信パケットを選択して出力する。
シンボル生成部756は、図6(a)、(b)に示すフレーミングルールに従って、バイパスセレクタ755から入力されるパケット(パケット生成部754で発行された送信パケット又はバイパス経路758を用いて中継処理するパケット)のフレーミングを行い、フレーミングされたパケットの送信RawデータをPHY701へ出力する。また、シンボル生成部756は、パケットが無い期間において、PHY701に対してアイドルフレームの送信指示を行うか、又は、シリアル送信部714の動作を停止させてシリアルリンクを電気的アイドル状態とするか制御する。ここで、シンボル生成部714は、PHY701に対するアイドルフレームの送信指示を、例えば、LIDLやDIDLのような制御シンボルセットの送信RawデータをPHY701に出力することにより行う。
ループバック制御部757は、バイパス制御部752の判定結果とシンボル検知部751の検知結果に応じて、ループバックセレクタ713に対して、ループバックセレクタ713が出力選択を切替えるよう指示する。本実施の形態では、ループバック制御部757は、受信パケットが他装置宛であり、受信パケットが送信要求を示すフロー制御リクエストのメッセージパケットであるとのバイパス制御部752による判定を受けて、ループバックセレクタ713に対して、ループバックセレクタ713の出力を、パラレル送信データからパラレルループバックデータに切替えるように指示する。また、ループバック制御部757は、シンボル検知部756がEDBシンボルを検出したことを受けて、ループバックセレクタ713に対して、ループバックセレクタ713の出力を、パラレルループバックデータからパラレル送信データに切替えるように指示する。
なお、ノード装置700は、通常のデータ転送を行う場合には初期化直後に通常モードである必要があるが、PHY701のテストのためにシリアル受信部710とシリアル送信部714のみを用いたBER(Bit Error Rate)を計測する場合には初期化直後にループバックモードである必要がある。
<ノード装置の動作>
以下、図1のリング伝送システムにおけるマスタのノード装置(マスタ装置)100aとスレーブのノード装置(スレーブ装置)100b〜100dとの夫々の動作について図8〜図10を参照しつつ説明する。但し、図8は、図1のマスタ装置100aの動作の流れを示すフローチャートであり、図9及び図10は図1のスレーブ装置100b〜100dの動作の流れを示すフローチャートである。なお、以下では、説明の便宜上、図8のフローチャートと、図9のフローチャートとを適宜まとめて説明する。
初期設定ステップにおいて、マスタ装置100aは初期設定を行い(ステップS100)、スレーブ装置100b〜100dは初期設定を行う(ステップS200)。初期設定では、例えば、フロー制御のウインドウサイクル(すなわち、データバーストの転送サイズ)やパケットギャップ(図11及び図12を参照して後述)においてシリアルリンク101a〜101dを電気的アイドル状態とするかどうかを示す電力制御設定等、ノード装置100a〜100dの動作を規定する動作パラメータを設定する。ここで、マスタ装置100aは、図2及び図3(a)にパケットフォーマットを示す読出しの制御コマンドパケット(CCMD)により、スレーブ装置100b〜100dの夫々の動作パラメータを取得し、適切な動作パラメータの値を決定し、図2及び図3(a)にパケットフォーマットを示す書込みの制御コマンドパケット(CCMD)により、各スレーブ装置100b〜100dの夫々に決定した動作パラメータの値を設定する。
マスタ装置100aは、データコマンド送信ステップにおいて、データ転送を開始するために、通信相手のスレーブ装置宛に、図2及び図3(b)にパケットフォーマットを示すデータコマンドパケット(DCMD)の送信を行う(ステップS101)。このとき、スレーブ装置100b〜100dは、データコマンド受信待ちステップにあり、パケットを受信し、バイパス制御部752により、受信パケットのヘッダのパケットタイプ210と宛先ID211とに基づいて受信パケットが自装置宛のデータコマンドパケット(DATA)であるか判定する(ステップS201)。
スレーブ装置100b〜100dは、自装置宛のデータコマンドパケットを受信すると(S201:Yes)、レスポンス送信ステップにおいて、マスタ装置100a宛に、図2及び図3(c)にパケットフォーマットを示すレスポンスパケット(RES)の送信を行い(ステップS202)、ステップS203の処理に移行する。ステップS101でデータコマンドパケットの送信を行ったマスタ装置100aは、レスポンス受信待ちステップにあり、データコマンドパケットの宛先のスレーブ装置(通信相手のスレーブ装置)から送信されたレスポンスパケットを受信し(ステップS102)、ステップS103の処理に移行する。これにより、マスタ装置100aとデータコマンドの宛先のスレーブ装置(通信相手のスレーブ装置)との間でコマンド−レスポンスのハンドシェークが成立する。以降、マスタ装置100aと通信相手のスレーブ装置は、それぞれステップS103〜S112とステップS203〜212に示した対称的なプロトコルによりデータバーストの送信又は受信を行う。
通信相手以外のスレーブ装置は、データコマンド受信待ちステップにおいて他装置宛のパケットを受信することになり、他装置宛のパケットを受信すると(S201:No)、中継処理ステップにて、他装置宛のパケットの中継処理などを行い(ステップ213)、ステップS201の処理に戻る。なお、ステップS213の中継処理ステップの詳細については図10を参照して後述する。
マスタ装置100aと通信相手のスレーブ装置との間で、コマンド−レスポンスのハンドシェークが成立した後、マスタ装置100aは、データ送信側判定ステップにおいて、通信相手のスレーブ装置との間で交換したデータコマンドパケットのR/Wフラグ310に応じて、自装置がデータバーストの送信側であるかを判定する(ステップS103)。また、通信相手のスレーブ装置は、データ送信側判定ステップにおいて、マスタ装置100aとの間で交換したデータコマンドパケットのR/Wフラグ310に応じて、自装置がデータバーストの送信側であるかを判定する(ステップS203)。ここで、R/Wフラグ310が書込みの設定であった場合、マスタ装置100aは自装置がデータバーストの送信側であると判定し、通信相手のスレーブ装置は自装置がデータバーストの送信側ではない(データバーストの受信側である)と判定する。一方、R/Wフラグ310が読出しであった場合、マスタ装置100aは自装置がデータバーストの送信側ではない(データバーストの受信側である)と判定し、通信相手のスレーブ装置は自装置がデータバーストの送信側であると判定する。
マスタ装置100aは、自装置がデータバーストの送信側であると判定した場合(S103:Yes)、ステップS104〜S107に従ってデータバーストの送信を行い、通信相手のスレーブ装置は、自装置がデータバーストの受信側であると判定した場合(S203:No)、ステップS208〜S211に従ってデータバーストの受信を行う。一方、マスタ装置100aは、自装置がデータバーストの受信側であると判定した場合(S103:No)、ステップS108〜S111に従ってデータバーストの受信を行い、通信相手のスレーブ装置は、自装置がデータバーストの送信側であると判定した場合(S203:Yes)、ステップS204〜S207に従ってデータバーストの送信を行う。なお、本実施の形態におけるフロー制御は、固定サイズのウインドウ方式を用いることとし、そのウインドウサイズは初期設定ステップ(S100、S200)にてマスタ装置100aとスレーブ装置100b〜100dとの間で共有されていることとするが、これ以外であってもよい。
以下、マスタ装置100aがデータバーストの送信側であり、通信相手のスレーブ装置がデータバーストの受信側である場合の処理を記載する。
マスタ装置100aは、送信要求ステップにおいて、ウインドウサイズ分のデータ送信準備を行い、データ送信準備の完了後、フロー制御の送信要求として、通信相手のスレーブ装置宛に、図2及び図3(e)にパケットフォーマットを示すフロー制御リクエスト(FCREQ)のメッセージパケットを送信する(ステップS104)。通信相手のスレーブ装置は、送信要求待ちステップにおいて、ウインドウサイズ分のデータ受信準備を行い、マスタ装置100aから送信されたフロー制御の送信要求を示すフロー制御リクエストのメッセージパケットを受信する(ステップS208)。
通信相手のスレーブ装置は、フロー制御リクエストのメッセージパケットを受信し、ウインドウサイズ分のデータ受信準備の完了後、送信応答ステップにおいて、フロー制御の送信応答として、マスタ装置100a宛に、図2及び図3(e)にパケットフォーマットを示すフロー制御レディ(FCRDY)のメッセージパケットを送信する(ステップS209)。マスタ装置100aは、送信応答待ちステップにあり、通信相手のスレーブ装置から送信されたフロー制御の送信応答を示すフロー制御レディのメッセージパケットを受信する(ステップS105)。
フロー制御レディのメッセージパケットを受信したマスタ装置100aは、データバースト送信ステップにおいて、データバーストの送信を行う(ステップS106)。そして、通信相手のスレーブ装置は、データバースト受信ステップにおいて、マスタ装置100aから送信されたデータバーストの受信を行い、図6(b)に示すフレーミングルールに違反していないか(すなわちフレーミングエラーの有無)、或いは各データパケット620についてのCRC611にエラーがないか(すなわちCRCエラーの有無)を確認する(ステップS210)。通信相手のスレーブ装置は、ステータス通知ステップにおいて、マスタ装置100a宛に、それらエラーの有無を図2及び図3(e)にパケットフォーマットを示すステータス(STAT)のメッセージパケットに含めて送信する(ステップS211)。マスタ装置100aは、ステータス通知待ちステップにあり、通信相手のスレーブ装置から送信されたステータスのメッセージパケットを受信する(ステップS107)。
マスタ装置100aは、コマンド完了判定ステップにおいて、データコマンドパケットの転送サイズ312で指定したデータサイズ分のデータ転送を完了したか判定する(ステップS112)。マスタ装置100aは、データコマンドパケットの転送サイズ312で指定したデータサイズ分のデータ転送を完了していない場合(S112:No)、データコマンドパケットの転送サイズ312で指定したデータサイズ分のデータ転送が完了するまで、ステップS103、ステップS104〜S107、ステップS112の処理を繰り返す。そして、マスタ装置100aは、データコマンドパケットの転送サイズ312で指定したデータサイズ分のデータ転送が完了すると(S112:Yes)、ステップS101で送信したデータコマンドパケットに関するデータバースト転送処理を終了する。
通信相手のスレーブ装置は、コマンド完了判定ステップにおいて、データコマンドパケットの転送サイズ312で指定されたデータサイズ分のデータ転送を完了したか判定する(ステップS212)。通信相手のスレーブ装置は、データコマンドパケットの転送サイズ312で指定されたデータサイズ分のデータ転送を完了していない場合(S212:No)、データコマンドパケットの転送サイズ312で指定されたデータサイズ分のデータ転送が完了するまで、ステップS203、ステップS208〜S211、ステップS212の処理を繰り返す。そして、通信相手のスレーブ装置は、データコマンドパケットの転送サイズ312で指定されたデータサイズ分のデータ転送が完了すると(S212:Yes)、ステップS201で受信したデータコマンドパケットに関するデータバースト転送処理を終了する。
以下、マスタ装置100aがデータバーストの受信側であり、通信相手のスレーブ装置がデータバーストの送信側である場合の処理を記載する。
通信相手のスレーブ装置は、送信要求ステップにおいて、ウインドウサイズ分のデータ送信準備を行い、データ送信準備の完了後、フロー制御の送信要求として、マスタ装置100a宛に、図2及び図3(e)にパケットフォーマットを示すフロー制御リクエスト(FCREQ)のメッセージパケットを送信する(ステップS204)。マスタ装置100aは、送信要求待ちステップにおいて、ウインドウサイズ分のデータ受信準備を行い、通信相手のスレーブ装置から送信されたフロー制御の送信要求を示すフロー制御リクエストのメッセージパケットを受信する(ステップS108)。
マスタ装置100aは、フロー制御リクエストのメッセージパケットを受信し、ウインドウサイズ分のデータ受信準備の完了後、送信応答ステップにおいて、フロー制御の送信応答として、通信相手のスレーブ装置宛に、図2及び図3(e)にパケットフォーマットを示すフロー制御レディ(FCRDY)のメッセージパケットを送信する(ステップS109)。通信相手のスレーブ装置は、送信応答待ちステップにあり、マスタ装置100aから送信されたフロー制御の送信応答を示すフロー制御レディのメッセージパケットを受信する(ステップS205)。
フロー制御レディのメッセージパケットを受信した通信相手のスレーブ装置は、データバースト送信ステップにおいて、データバーストの送信を行う(ステップS206)。そして、マスタ装置100aは、データバースト受信ステップにおいて、通信相手のスレーブ装置から送信されたデータバーストの受信を行い、図6(b)に示すフレーミングルールに違反していないか(すなわちフレーミングエラーの有無)、或いは各データパケット620についてのCRC611にエラーがないか(すなわちCRCエラーの有無)を確認する(ステップS110)。マスタ装置100aは、ステータス通知ステップにおいて、通信相手のスレーブ装置宛に、それらエラーの有無を図2及び図3(e)にパケットフォーマットを示すステータス(STAT)のメッセージパケットに含めて送信する(ステップS111)。通信相手のスレーブ装置は、ステータス通知待ちステップにあり、マスタ装置100aから送信されたステータスのメッセージパケットを受信する(ステップS207)。
通信相手のスレーブ装置は、コマンド完了判定ステップにおいて、データコマンドパケットの転送サイズ312で指定されたデータサイズ分のデータ転送を完了したか判定する(ステップS212)。通信相手のスレーブ装置は、データコマンドパケットの転送サイズ312で指定されたデータサイズ分のデータ転送を完了していない場合(S212:No)、データコマンドパケットの転送サイズ312で指定されたデータサイズ分のデータ転送が完了するまで、ステップS203、ステップS204〜S207、ステップS212の処理を繰り返す。そして、通信相手のスレーブ装置は、データコマンドパケットの転送サイズ312で指定したデータサイズ分のデータ転送が完了すると(S212:Yes)、ステップS201で受信したデータコマンドパケットに関するデータバースト転送処理を終了する。
マスタ装置100aは、コマンド完了判定ステップにおいて、データコマンドパケットの転送サイズ312で指定したデータサイズ分のデータ転送を完了したか判定する(ステップS112)。マスタ装置100aは、データコマンドパケットの転送サイズ312で指定したデータサイズ分のデータ転送を完了していない場合(S112:No)、データコマンドパケットの転送サイズ312で指定したデータサイズ分のデータ転送が完了するまで、ステップS103、ステップS108〜S111、ステップS112の処理を繰り返す。そして、マスタ装置100aは、データコマンドパケットの転送サイズ312で指定したデータサイズ分のデータ転送が完了すると(S112:Yes)、ステップS101で送信したデータコマンドパケットに関するデータバースト転送処理を終了する。
以下、マスタ装置100aと通信相手のスレーブ装置との間における書込みと読出しのデータコマンドの処理シーケンスについて図11及び図12を参照しつつ説明する。図11は、図1のマスタ装置100aと通信相手のスレーブ装置との間における書込みのデータコマンドの処理シーケンスの一例を示す図であり、図12は、図1のマスタ装置100aと通信相手のスレーブ装置との間における読出しのデータコマンドの処理シーケンスの一例を示す図である。
ここで、書込みと読出しの何れに依らず、フロー制御リクエスト(FCREQ)のメッセージパケットの送信完了からデータバーストの送信開始までの期間をプレギャップ1100、1200とし、データバーストの送信完了からステータス(STAT)のメッセージパケットの受信完了までの期間をポストギャップ1101、1201とし、それ以外の送信パケット間隔をパケットギャップ1102、1202として識別する。
リンクコントローラ702のシンボル生成部756は、プレギャップ1100、1200、ポストギャップ1101、1201、及びパケットギャップ1102、1202のように送信パケットが無い期間、下記に記載するPHY701への送信指示を行う。
シンボル生成部756は、プレギャップ1100、1200とポストギャップ1101、1201とにおいて、第1のアイドルフレームとして図5に示すDIDLの制御シンボルセット(これは、シンボル同期のためのCOMシンボルで始まり、アイドルシンボルとしてのDIDLシンボルを含む。)の送信指示をPHY701に対して繰り返し行う。例えば、シンボル生成部756は、この送信指示を、シンボル同期用のCOMシンボル(元データ)で始まり、アイドルシンボルであるDIDLシンボル(元データ)を含む制御シンボルセットをPHY701に受け渡すことにより行う。
一方、パケットギャップ1102、1202において、シンボル生成部756は、初期設定ステップ(S100、S200)にて設定した省電力設定に応じて、第2のアイドルフレームの送信指示をPHY701に繰り返し行い、又は、シリアル送信部714の動作を停止させるための送信ディセーブル指示をPHY701に対して行う。省電力設定が無効に設定された場合、シンボル生成部756は、第2のアイドルフレームとして図5に示すLIDLの制御シンボルセット(これは、シンボル同期のためのCOMシンボルで始まり、アイドルシンボルとしてのLIDLシンボルを含む。)の送信指示をPHY701に対して繰り返し行う。例えば、シンボル生成部756は、この送信指示を、シンボル同期用のCOMシンボル(元データ)で始まり、アイドルシンボルであるLIDLシンボル(元データ)を含む制御シンボルセットをPHY701に受け渡すことにより行う。また、省電力設定が有効に設定された場合、シンボル生成部756は、シリアル送信部714の動作を停止させるための送信ディセーブル指示をPHY701に対して行い、シリアルリンクを電気的アイドル状態とする。なお、この場合、パケットギャップ1102、1202を抜けて再びパケット送信を行う前に、電気的アイドル状態とすることで失われたシンボル同期を回復するために、図5に示すSYNの制御シンボルセットを所定期間繰り返して送信する必要がある。
上記では、マスタ装置100aとマスタ装置100aの通信相手のスレーブ装置との間のパケットの送受信について説明してきたが、通信相手以外のスレーブ装置は送受信されるパケットを中継処理することによって、それを宛先のノード装置まで伝達する必要がある。以下では、通信相手以外のスレーブ装置の動作について図10を参照しつつ説明する。
スレーブ装置100b〜100dは、上述したように、図9のデータコマンド受信待ちステップにおいて、他装置宛のパケットを受信すると(S201:No)、図10に詳細を示すステップS213の中継処理ステップに移行する。
図10は、図9の中継処理ステップS213の詳細を示すフローチャートである。
他装置宛のパケットを受信したスレーブ装置(通信相手以外の通信装置)では、パケット中継ステップにおいて、リンクコントローラ702のバイパスセレクタ755は、バイパス制御部752の判定結果に基づいて、バイパス経路758経由で入力される受信パケットを選択して出力し、これによって、受信パケットの中継を行う(ステップS300)。
パケット種別判定ステップにおいて、通信相手以外の通信装置は、中継処理した受信パケットが、送信要求を示すフロー制御リクエストのメッセージパケットであるかを、そのヘッダのパケットタイプ210に基づいて、バイパス制御部752によって、判定する(ステップS301)。通信相手以外の通信装置は、中継処理した受信パケットが送信要求を示すフロー制御リクエストのメッセージパケットである場合(S301:Yes)、ステップ302の処理に進み、フロー制御リクエスト以外のパケットである場合(S301:No)には中継処理を終了し、図9のステップS201に戻る。
バイパス経路758を用いたフロー制御リクエストのメッセージパケットの中継後、図11に示すプレギャップ1100又は図12に示すプレギャップ1200になる。このため、ループバック移行ステップにおいて、通信相手以外のスレーブ装置では、シンボル生成部756がPHY701に対して第1のアイドルフレームとしてのDIDLの制御シンボルセットの送信指示を行うことによって、通信相手以外のスレーブ装置は、第1のアイドルフレームとしてのDIDLの制御シンボルセットの送信を開始し、第1のアイドルフレームとしてのDIDLの制御シンボルセットの送信を繰り返す。そして、通信相手以外のスレーブ装置では、ループバック制御部757がループバックセクレタ713に対して通常モードからループバックモードへの移行を指示し、ループバックセレクタ713はパラレル送信データからパラレルループバックデータに出力を切替える(ステップS302)。
ここで、ループバックセレクタ713のループバックモード移行前後における出力の切替えタイミングについて図13を参照しつつ説明する。図13は、図7のループバックセレクタ713のループバックモード移行前後における出力の切替えタイミングを示す図である。
フロー制御リクエストのメッセージパケットの中継処理を完了するまでのパケットギャップでは、ループバックセレクタ713からの出力は、例えば、LIDLの制御シンボルセット1301のような第2のアイドルフレーム(符号化部712の出力)である。そして、フロー制御リクエストのメッセージパケット1302の中継出力後のプレギャップでは、第1のアイドルフレームであるDIDLの制御シンボルセット1303(符号化部712の出力)がループバックセレクタ713から出力される。
ループバックセレクタ713は、フロー制御リクエストのメッセージパケットの中継出力後に通常モードからループバックモードへの移行指示をループバック制御部757から受けると、出力をパラレル送信データからパラレルループバックデータに切替えてループバックモードに移行し、ループバック経路715を介して折り返されたDIDLの制御シンボルセット1304の出力を開始する。ここで、パラレル送信データとパラレルループバックデータとの間で、COMシンボルの位置が1シンボル分ずれていた場合、ループバックセレクタ713内でパラレルループバックデータを1シンボル分遅延させてから出力の切替えを行えばよい。
また、図4に示すように、本実施の形態1のLIDLシンボルとDIDLシンボルの各シンボルは、COMシンボルと同様に、いずれも“0”と“1”の数が異なるUnbalancedシンボルである。このため、図5に示すような制御シンボルセットをアイドルフレームとして連続的に送信する場合、COMシンボルによって反転されたランニング・ディスパリティは後続のLIDLシンボルやDIDLシンボルによって元に戻り、結果的にアイドルフレームのランニング・ディスパリティは常に維持されることになる。ここで、初期化後のパケットギャップにおいて送信するアイドルフレームのランニング・ディスパリティを、“RD−”か“RD+”のいずれかに統一させると、伝送するパケット依存で、以降のアイドルフレームのランニング・ディスパリティは変化するが、同一パケットの伝送経路におけるアイドルフレームのランニング・ディスパリティは一致することになる。ゆえに、マスタ装置100aと通信相手のスレーブ装置との間で、データコマンド(DCMD)やレスポンス(RES)等を中継する通信相手以外のスレーブ装置において、受信するアイドルフレームと送信するアイドルフレームのランニング・ディスパリティは一致する。これにより、COMシンボルの位置を合わせるのみで、ループバックセレクタ713の出力の切替え前後のシンボル同期及びランニング・ディスパリティを維持することができる。
なお、LIDLの制御シンボルセットやDIDLの制御シンボルセットは、図5に示した定義に限定されず、第2シンボルとして“0”と“1”の数が等しいBalancedシンボルについても選択可能とし、UnbalanceシンボルとBalancedシンボルのいずれかをランダム順で切替えながら出力してもよい。このような場合、連続するLIDLの制御シンボルセットにおけるCOMシンボルのランニング・ディスパリティと連続するDIDLの制御シンボルセットにおけるCOMシンボルのランニング・ディスパリティが夫々ランダム順で切替わるため、周期的な信号パターンによるEMI(Electro−Magnetic Interference)ノイズを軽減することができる。
このように、LIDLの制御シンボルセットとDIDLの制御シンボルセットの何れのCOMシンボルのランニング・ディスパリティについてもランダム順で切替わるように定義した場合、ループバックセレクタ713は、パラレル送信データのDIDLの制御シンボルセットとパラレルループバックデータのDIDLの制御シンボルセットにおけるCOMシンボルのランニング・ディスパリティが一致したタイミングで出力切替えを行う必要がある。しかしながら、それらDIDLの制御シンボルセットにおけるCOMシンボルのランニング・ディスパリティは、互いにランダム順で切替わるため、一致するタイミングを保証することができない。そこで、図14に示すように、ループバック経路715Aを復号化部711の後段に設けるようにしても良い。この場合のループバックセレクタ713Aは、復号済みのパラレルループバックデータとシンボル生成部756から入力される符号化前のパラレル送信データ(リンクコントローラからPHYに入力される送信Rawデータ)との間で出力切替えを行い、ループバックセレクタ713Aの出力を符号化部712Aに入力するようにし、符号化部712Aはループバックセレクタ713Aの出力に対して8b/10b方式に基づく符号化を行う。但し、符号化前のパラレル送信データと復号済みのパラレルループバックデータとの間でCOMシンボルの位置が1シンボル分ずれていた場合、ループバックセレクタ713A内で復号済みのパラレルループバックデータを1シンボル分遅延させてから出力の切替えを行えばよい。この場合、ランニング・ディスパリティは常に符号化部712Aで管理されるため、ランニング・ディスパリティの連続性に関する考慮が不要となる。
次に、通信相手以外のスレーブ装置は、データバースト中継ステップにおいて、ループバックモードを維持しつつ、ループバック経路715を介したデータバーストの中継を行う(ステップS303)。このデータバースト中継ステップでは、通信相手以外のスレーブ装置は、リンクコントローラ702の介在なしにデータバーストの中継処理を行うが、通信相手以外のスレーブ装置におけるシンボル検知部751は動作を継続しており、データバーストの終端を示すEDBシンボルの検出処理を行う。そして、シンボル検知部751がEDBシンボルを検出すると、ステップS304の通常モード復旧ステップに移行する。
通常モード復旧ステップにおいて、EDBシンボルを検出した通信相手以外のスレーブ装置では、EDBシンボル検出後は図11に示すポストギャップ1101又は図12に示すポストギャップ1201となるため、シンボル生成部756がPHY701に対して第1のアイドルフレームとしてのDIDLの制御シンボルセットの送信指示を行い、これによって、符号化部712は、第1のアイドルフレームとしてのDIDLの制御シンボルセットの出力を開始し、第1のアイドルフレームとしてのDIDLの制御シンボルセットの出力を繰り返す。そして、通信相手以外のスレーブ装置では、ループバック制御部757はループバックセレクタ713に対してループバックモードから通常モードへの復旧指示を行い、ループバックセレクタ713はパラレルループバックデータからパラレル送信データに出力を切替え、符号化部712から出力される第1のアイドルフレームとしてのDIDLの制御シンボルセットがシリアルリンクに出力される(ステップS304)。
ここで、ループバックセレクタ713の通常モード復旧前後における出力の切替えタイミングについて図15を参照しつつ説明する。図15は、図7のループバックセレクタ713の通常モード復旧前後における出力の切替えタイミングを示す図である。
シンボル検知部751は、復号化部711の入力からEDBシンボルを検出すると、ループバック制御部757とシンボル生成部756に対してEDBシンボルを検出したことを通知する。それにより、ループバック制御部757は、ループバックセレクタ713に対して、通常モードからループバックモードへの復旧指示を行う。また、シンボル生成部756は、符号化部712に対して、COMシンボルがEDBシンボル検出後のDIDLの制御シンボルセットにおけるCOMシンボルと同じランニング・ディスパリティを有するDIDLの制御シンボルセットの送信指示を行い、符号化部712はシンボル生成部756からの送信指示に従い、COMシンボルがEDBシンボル検出後のDIDLの制御シンボルセットにおけるCOMシンボルと同じランニング・ディスパリティを有するDIDLの制御シンボルセットの出力を行う。ループバックセレクタ713は、ループバック経路715を介して入力されるEDBの制御シンボルセット1501及びDIDLの制御シンボルセット1502の中継出力を行った後、ループバック制御部757から復旧指示を受けると、出力をパラレルループバックデータからパラレル送信データに切替えて通常モードに復旧する。そして、通信相手以外のスレーブ装置は、符号化部712で生成されたDIDLの制御シンボルセット1503のシリアルリンクへの出力を開始する。ここで、パラレルループバックデータとパラレル送信データとの間でCOMシンボルの位置が1シンボル分ずれていた場合、ループバックセレクタ713内でパラレル送信データを1シンボル分遅延させてから出力を切替えればよい。また、符号化部712が出力するDIDLの制御シンボルセット1502は、ループバックモードで中継出力するDIDLの制御シンボルセット1503と同じランニング・ディスパリティを有するため、ループバックセレクタ713の出力切替え前後のランニング・ディスパリティの連続性が維持される。
以下に、シンボル生成部756が符号化部712に対してCOMシンボルがEDBシンボル検出後のDIDLの制御シンボルセットにおけるCOMシンボルと同じランニング・ディスパリティを有するDIDLの制御シンボルセットの送信指示を行う仕組みの一例を記載する。
復号化部711は、ランニング・ディスパリティ(“RD+”か“RD−”)を管理しており、復号結果とともに復号後のランニング・ディスパリティをシンボル検知部751へ出力する。シンボル検知部751は、復号化部711の入力からEDBシンボルを検出すると、EDBシンボルを検出したことと、EDBシンボル復号後のランニング・ディスパリティをシンボル生成部756に通知する。シンボル生成部756は、EDBシンボルを検出したことの通知を受けると、符号化部712に対してEDBシンボル復号後のランニング・ディスパリティを含めたDIDLの制御シンボルセットの送信指示を行う。符号化部712は、管理しているランニング・ディスパリティを通知されたランニング・ディスパリティに置き換えて8b/10b方式に基づく符号化を行い、ループバックセレクタ713へのDIDLの制御シンボルセットの出力を行う。
なお、図14で示した構成と同様に、ループバックセレクタ713Aを復号化部711の後段に設け、ループバックセレクタ713Aの出力を符号化部712Aに入力する構成とした場合、通常モードへの復旧前後でのループバックモード出力でのDIDLの制御シンボルセットと通常モード出力でのDIDLの制御シンボルセットにおけるシンボルのランニング・ディスパリティの連続性を維持するための考慮は不要となる。
ポストギャップ完了待ちステップにおいて、通信相手以外のスレーブ装置のシンボル検知部751が、受信シンボルが、ポストギャップのDIDLの制御シンボルセットから、パケットギャップのLIDLの制御シンボルセット又は電気的アイドル状態に切替わったことを検出する。この検出を受けて、シンボル生成部756は、PHY701に対する指示を、DIDLの制御シンボルセットの送信指示から、LIDLの制御シンボルの送信指示或いは電気的なアイドル状態とするための送信ディセーブル指示に切替える(ステップS305)。図15の例においては、シリアル受信部710からの出力がポストギャップのDIDLの制御シンボルセット1511からパケットギャップのLIDLの制御シンボルセット1512への変化をシンボル検知部751が検出すると、それ以降、通常モードにおけるシンボル生成部756からの出力も、DIDLの制御シンボルセットからLIDLの制御シンボルセットに切り替わることになる。
なお、通常モード復旧ステップ(ステップS304)にて、伝送エラー等によってEDBシンボルを検出できなかった場合、ループバックモードから通常モードへの復旧ができず、以降はパケットを受信できなくなる。これを回避するため、EDBシンボルを検出できなかった場合も、DIDLの制御シンボルセットからLIDLの制御シンボルセットあるいは電気的アイドル状態への入力変化を検知すると、ループバック制御部757はループバックセレクタ713に対してループバックモードから通常モードへの復旧指示を行うことが望ましく、このようにしてもよい。
<リング伝送システムの全体動作>
以下では、図1に示すリング伝送システムの全体動作について、図16及び図17を参照しつつ説明する。
図16は図1に示すリング伝送システムの書込みのデータコマンド処理の全体動作を示す図であり、図17は図1に示すリング伝送システムの読出しのデータコマンド処理の全体動作を示す図である。
図16及び図17において、ノード装置100a〜100dは、夫々、デバイスIDとして“0”〜“3”が割り当てられているものとする。
また、マスタ装置であるノード装置100a(デバイスID=0)との間でデータ転送を行うスレーブ装置(データコマンドの宛先ID211で指定されるノード装置)をノード装置100c(デバイスID=2)とする。故に、スレーブ装置100b(デバイスID=1)とスレーブ装置100d(デバイスID=3)は、ノード装置100a(マスタ装置)とノード装置100c(通信相手のスレーブ装置)との間で送受信されるパケットの中継局となる。また、初期化設定ステップS100、S200にて、全てのノード装置100a〜100dの省電力設定が無効にされ、パケットギャップでは第2のアイドルフレームであるLIDLの制御シンボルセットを繰り返し送信するものとする。
なお、図16及び図17における(“0”→“2”)は宛先ID211にデバイスID“2”が設定され、送信元ID212にデバイスID“0”が設定されたパケットであることを示し、(“2”→“0”)は宛先ID212にデバイスID“0”が設定され、送信元ID212にデバイスID“2”が設定されたパケットであることを示す。
〔書込みのデータコマンド処理〕
まず、図16に示した書込みのデータコマンドに関する図1のリング転送システムの全体動作について説明する。
(時刻T1〜時刻T2)
ノード装置100a〜100dは、パケットギャップにおいて、第2のアイドルフレームであるLIDLの制御シンボルセットの送信を繰り返して行っている。ノード装置100aは、データコマンド送信ステップにある時刻T1において、ノード装置100c宛に、書込みのデータコマンドパケット(DCMD)を送信する。このデータコマンドパケットはシリアルリンク101aを介してノード装置100bに入力される。なお、データコマンドパケット送信後はパケットギャップであるので、ノード装置100aはLIDLの制御シンボルセットの送信を繰り返す。
データコマンド受信待ちステップにあるノード装置100bは、データコマンドパケットを受信し、受信したデータコマンドパケットが他装置(ノード装置100c)宛であると判定し、パケット中継ステップにおいて、リンクコントローラ702内のバイパス経路758を用いて他装置宛のデータコマンドパケットの中継処理を行う。この中継処理されたデータコマンドパケットはシリアルリンク101bを介してノード装置100cに入力される。ノード装置100bは、パケット種別判定ステップにおいて、中継処理したパケットが送信要求を示すフロー制御リクエストのメッセージパケットでないと判定してデータコマンド受信待ちステップに戻る。なお、データコマンドパケット中継後はパケットギャップであるので、ノード装置100bはLIDLの制御シンボルセットの送信を繰り返す。
データコマンド受信待ちステップにあるノード装置100cは、データコマンドパケットを受信し、受信したデータコマンドパケットが自装置宛であると判定し、レスポンス送信ステップにて、ノード装置100a宛にレスポンスパケット(RES)を送信する。このレスポンスパケットはシリアルリンク101cを介してノード装置100dに入力される。なお、レスポンス送信後はパケットギャップであるので、ノード装置100cはLIDLの制御シンボルセットの送信を繰り返す。
データコマンド受信待ちステップにあるノード装置100dは、レスポンスパケットを受信し、受信したレスポンスパケットが他装置(ノード装置100a)宛であると判定し、パケット中継ステップにおいて、リンクコントローラ702内のバイパス経路758を用いて他装置宛のレスポンスパケットの中継処理を行う。この中継処理されたレスポンスパケットはシリアルリンク101dを介してノード装置100aに入力される。ノード装置100dは、パケット種別判定ステップにおいて、中継処理したパケットが送信要求を示すフロー制御リクエストのメッセージパケットでないと判定してデータコマンド受信待ちステップに戻る。なお、レスポンスパケット中継後はパケットギャップであるので、ノード装置100dはLIDLの制御シンボルセットの送信を繰り返す。
レスポンス受信待ちステップにあるノード装置100aは、レスポンスパケットを受信する。
(時刻T2〜時刻T3)
データ送信側判定ステップにおいて、レスポンスパケットを受信したノード装置100aは自装置がデータバーストの送信側であると判定し、通信相手のノード装置100cは自装置がデータバーストの送信側でない(自装置がデータバーストの受信側である)と判定する。
ノード装置100aは、送信要求ステップにおいて、データ送信準備を開始し、データ送信準備ができた時刻T2において、ノード装置100c宛に送信要求を示すフロー制御リクエスト(FCREQ)のメッセージパケットを送信する。このフロー制御リクエストのメッセージパケットはシリアルリンク101aを介してノード装置100bに入力される。フロー制御リクエストのメッセージパケット送信後はプレギャップであるので、ノード装置100aはDIDLの制御シンボルセットを繰り返し送信する。
データコマンド受信待ちステップにあるノード装置100bは、フロー制御リクエストのメッセージパケットを受信し、受信したフロー制御リクエストのメッセージパケットが他装置(ノード装置100c)宛であると判定し、パケット中継ステップにおいて、リンクコントローラ702内のバイパス経路758を用いてフロー制御リクエストのメッセージパケットの中継処理を行う。この中継処理されたフロー制御リクエストのメッセージパケットはシリアルリンク101bを介してノード装置100cに入力される。ノード装置100bは、パケット種別判定ステップにおいて、中継処理したパケットが送信要求を示すフロー制御リクエストのメッセージパケットであると判定する。そして、ノード装置100bは、ループバック移行ステップに移行し、フロー制御リクエストのメッセージパケットの中継処理後のプレギャップにおいて、通常モードからループバックモードに移行する。ノード装置100bは、フロー制御リクエストのメッセージパケット中継後、ループバックモードに切替わる前までのプレギャップでは自装置で生成したDIDLの制御シンボルセットをシリアルリンク101bに繰り返し出力し、ループバックモードに切り替わった後のプレギャップではループバック経路715を用いてDIDLの制御シンボルセットをシリアルリンク101bに中継出力する。
送信要求待ちステップにあるノード装置100cは、送信要求を示すフロー制御リクエストのメッセージパケットを受信し、データ受信準備ができると、送信応答ステップにて、ノード装置100a宛に送信応答を示すフロー制御レディ(FCRDY)のメッセージパケットを送信する。このフロー制御レディのメッセージパケットは、シリアルリンク101cを介してノード装置100dに入力される。なお、フロー制御レディのメッセージパケット送信後はパケットギャップであるので、ノード装置100cは、LIDLの制御シンボルセットの送信を繰り返す。
データコマンド受信待ちステップにあるノード装置100dは、フロー制御レディのメッセージパケットを受信し、受信したフロー制御レディのメッセージパケットが他装置(ノード装置100a)宛であると判定し、パケット中継ステップにおいて、リンクコントローラ702内のバイパス経路758を用いてフロー制御レディのメッセージパケットの中継処理を行う。この中継処理されたフロー制御レディのメッセージパケットはシリアルリンク101dを介してノード装置100aに入力される。ノード装置100dは、パケット種別判定ステップにおいて、中継処理したパケットが送信要求を示すフロー制御リクエストのメッセージパケットでないと判定してデータコマンド受信待ちステップに戻る。なお、フロー制御レディのメッセージパケット中継後はパケットギャップであるので、ノード装置100dは、LIDLの制御シンボルセットの送信を繰り返す。
送信応答待ちステップにあるノード装置100aは、送信応答を示すフロー制御レディのメッセージパケットを受信する。
(時刻T3〜時刻T4)
送信応答を示すフロー制御レディのメッセージパケットを受信したノード装置100aは、データバースト送信ステップにおいて、時刻T3からデータバーストの送信を開始する。このデータバーストはシリアルリンク101aを介してノード装置100bに入力される。なお、データバーストの送信完了後はポストギャップであるので、ノード装置100aは、DIDLの制御シンボルセットの送信を繰り返す。
ループバックモードにあるノード装置100bは、データバースト中継ステップにおいて、PHY701のループバック経路715を用いたデータバーストの中継処理を行う。この中継処理されたデータバーストはシリアルリンク101bを介してノード装置100cに入力される。ノード装置100bは、データバーストの終端を示すEDBシンボル検知後のポストギャップでは、通常モード復旧ステップにてループバックモードから通常モードに復旧する。
データバースト受信待ちステップにあるノード装置100cはデータバーストの受信を開始する。
(時刻T4〜時刻T5)
ノード装置100cは、データバーストの受信を完了すると、ステータス通知ステップにおいて、その受信エラーを通知するため、ノード装置100a宛にステータス(STAT)のメッセージパケットを時刻T4に送信する。このステータスのメッセージパケットはシリアルリンク101cを介してノード装置100dに入力される。なお、ステータスのメッセージパケット送信後はパケットギャップであるので、ノード装置100cは、LIDLの制御シンボルセットの送信を繰り返す。
データコマンド受信待ちステップにあるノード装置100dは、ステータスのメッセージパケットを受信し、ステータスのメッセージパケットが他装置(ノード装置100a)宛であると判定し、パケット中継ステップにおいて、リンクコントローラ702内のバイパス経路758を用いてステータスのメッセージパケットの中継処理を行う。この中継処理されたステータスのメッセージパケットはシリアルリンク101dを介してノード装置100aに入力される。ノード装置100dは、パケット種別判定ステップにおいて、中継処理したパケットが送信要求を示すフロー制御リクエストのメッセージパケットでないと判定してデータコマンド受信待ちステップに戻る。なお、ステータスのメッセージパケット中継後はパケットギャップであるので、ノード装置100dは、LIDLの制御シンボルセットの送信を繰り返す。
(時刻T5〜時刻T6)
ステータス通知待ちステップにあるノード装置100aは、ステータスのメッセージパケットを受信し、ステータスのメッセージパケットを受信した時刻T5においてポストギャップを完了し、DIDLの制御シンボルセットの送信から通常のパケットギャップのLIDLの制御シンボルセットの送信に切替える。
ポストギャップ完了待ちステップにあるノード装置100bは、シンボル検知部751によって、DIDLの制御シンボルセットからLIDLの制御シンボルセットに切り替わったことを検知すると、ノード装置100bでのポストギャップを完了し、DIDLの制御シンボルセットの送信からLIDLの制御シンボルセットの送信に切替える。
(時刻T6以降)
ノード装置100aは、コマンド完了判定ステップにおいて、データコマンドで指定した転送サイズ分のデータ転送が完了したと判定するまで、再び送信要求ステップに戻って時刻T2からの処理を繰り返す。
〔読出しのデータコマンド処理〕
次に、図17に示した読出しのデータコマンドに関する図1のリング転送システムの全体動作について説明する。
(時刻T1〜時刻T2)
時刻T1〜時刻T2におけるリング伝送システムにおける動作は、書込みのコマンドが読出しのコマンドに変わった点を除くと、本発明に関連する部分では同様の動作となる。
(時刻T2〜時刻T3)
データ送信側判定ステップにおいて、レスポンスパケットを受信したノード装置100aは自装置がデータ送信側でない(自装置がデータ受信側である)と判定し、通信相手のノード装置100cは自装置がデータ送信側であると判定する。
ノード装置100cは、送信要求ステップにおいて、データ送信準備を開始し、データ送信準備ができた時刻T2において、ノード装置100a宛に送信要求を示すフロー制御リクエスト(FCREQ)のメッセージパケットを送信する。このフロー制御リクエストのメッセージパケットはシリアルリンク101cを介してノード装置100dに入力される。フロー制御リクエストのメッセージパケット送信後はプレギャップであるので、ノード装置100cはDIDLの制御シンボルセットを繰り返し送信する。
データコマンド受信待ちステップにあるノード装置100dは、フロー制御リクエストのメッセージパケットを受信し、受信したフロー制御リクエストのメッセージパケットが他装置(ノード装置100a)宛であると判定し、パケット中継ステップにおいて、リンクコントローラ702内のバイパス経路758を用いてフロー制御リクエストのメッセージパケットの中継処理を行う。この中継処理されたフロー制御リクエストのメッセージパケットはシリアルリンク101dを介してノード装置100aに入力される。ノード装置100dは、パケット種別判定ステップにおいて、中継処理したパケットが送信要求を示すフロー制御リクエストのメッセージパケットであると判定する。そして、ノード装置100dは、ループバック移行ステップに移行し、フロー制御リクエストのメッセージパケットの中継処理後のプレギャップにおいて、通常モードからループバックモードに移行する。ノード装置100dは、フロー制御リクエストのメッセージパケットの中継後、ループバックモードに切替わる前までのプレギャップでは自装置で生成したDIDLの制御シンボルセットをシリアルリンク101dに繰り返し出力し、ループバックモードに切替わった後のプレギャップではループバック経路715を用いてDIDLの制御シンボルセットをシリアルリンク101dに中継出力する。
送信要求待ちステップにあるノード装置100aは、送信要求を示すフロー制御リクエストのメッセージパケットを受信し、データ受信準備ができると、送信応答ステップにて、ノード装置100c宛に送信応答を示すフロー制御レディ(FCRDY)のメッセージパケットを送信する。このフロー制御レディのメッセージパケットは、シリアルリンク101aを介してノード装置100bに入力される。なお、フロー制御レディのメッセージパケット送信後はパケットギャップであるので、ノード装置100aは、LIDLの制御シンボルセットの送信を繰り返す。
データコマンド受信待ちステップにあるノード装置100bは、フロー制御レディのメッセージパケットを受信し、受信したフロー制御レディのメッセージパケットが他装置(ノード装置100c)宛であると判定し、パケット中継ステップにおいて、リンクコントローラ702内のバイパス経路758を用いてフロー制御レディのメッセージパケットの中継処理を行う。この中継処理されたフロー制御レディのメッセージパケットはシリアルリンク101bを介してノード装置100cに入力される。ノード装置100bは、パケット種別判定ステップにおいて、中継処理したパケットが送信要求を示すフロー制御リクエストのメッセージパケットでないと判定してデータコマンド受信待ちステップに戻る。なお、フロー制御レディのメッセージパケットの中継後はパケットギャップであるので、ノード装置100bは、LIDLの制御シンボルセットの送信を繰り返す。
送信応答待ちステップにあるノード装置100cは、送信応答を示すフロー制御レディのメッセージパケットを受信する。
(時刻T3〜時刻T4)
送信応答を示すフロー制御レディのメッセージパケットを受信したノード装置100cは、データバースト送信ステップにおいて、時刻T3からデータバーストの送信を開始する。このデータバーストはシリアルリンク101cを介してノード装置100dに入力される。なお、データバーストの送信完了後はポストギャップであるので、ノード装置100cは、DIDLの制御シンボルセットの送信を繰り返す。
ループバックモードにあるノード装置100dは、データバースト中継ステップにおいて、PHY701のループバック経路715を用いたデータバーストの中継処理を行う。この中継処理されたデータバーストはシリアルリンク101dを介してノード装置100aに入力される。ノード装置100dは、データバーストの終端を示すEDBシンボル検知後のポストギャップでは、通常モード復旧ステップにてループバックモードから通常モードに復旧する。
データバースト受信待ちステップにあるノード装置100aはデータバーストの受信を開始する。
(時刻T4〜時刻T5)
ノード装置100aは、データバーストの受信を完了すると、ステータス通知ステップにおいて、その受信エラーを通知するため、ノード装置100c宛に、ステータス(STAT)のメッセージパケットを時刻T4に送信する。このステータスのメッセージパケットはシリアルリンク101aを介してノード装置100bに入力される。なお、ステータスのメッセージパケット送信後はパケットギャップであるので、ノード装置100aは、LIDLの制御シンボルセットの送信を繰り返す。
データコマンド受信待ちステップにあるノード装置100bは、ステータスのメッセージパケットを受信し、ステータスのメッセージパケットが他装置(ノード装置100c)宛であると判定し、パケット中継ステップにおいて、リンクコントローラ702内のバイパス経路758を用いてステータスのメッセージパケットの中継処理を行う。この中継処理されたステータスのメッセージパケットはシリアルリンク101bを介してノード装置100cに入力される。ノード装置100bは、パケット種別判定ステップにおいて、中継処理したパケットが送信要求を示すフロー制御リクエストのメッセージパケットでないと判定してデータコマンド受信待ちステップに戻る。なお、ステータスのメッセージパケット中継後はパケットギャップであるので、ノード装置100bは、LIDLの制御シンボルセットの送信を繰り返す。
(時刻T5〜時刻T6)
ステータス通知待ちステップにあるノード装置100cは、ステータスのメッセージパケットを受信し、ステータスのメッセージパケットを受信した時刻T5においてポストギャップを完了し、DIDLの制御シンボルセットの送信から通常のパケットギャップのLIDLの制御シンボルセットの送信に切替える。
ポストギャップ完了待ちステップにあるノード装置100dは、シンボル検知部751によってDIDLの制御シンボルセットからLIDLの制御シンボルセットに切り替わったことを検知すると、ノード装置100dでのポストギャップを完了し、DIDLの制御シンボルセットの送信からLIDLの制御シンボルセットの送信に切替える。
(時刻T6以降)
ノード装置100cは、コマンド完了判定ステップにおいて、データコマンドで指定された転送サイズ分のデータ転送が完了したと判定するまで、再び送信要求ステップに戻って時刻T2からの処理を繰り返す。
≪変形例≫
本発明は上記の実施の形態で説明した内容に限定されず、本発明の目的とそれに関連又は付随する目的を達成するためのいかなる形態においても実施可能であり、例えば、以下であってもよい。
(1)上記の実施の形態では、符号化方式として8b/10b方式を利用する場合を例に挙げて説明しているが、符号化方式はこれに限定されるものではなく、64b/66b方式のようなスクランブル方式を用いてもよい。例えば、ノード装置が64b/66b方式を採用する場合のノード装置の構成を図18に示す。
シンボル生成部756は、符号化部712Bに対して、8b/10b方式における8シンボル(8バイト)分を束ねた64ビットをワード長とする送信Rawデータを出力する。そして、符号化部712Bは、その64ビット幅のRawデータを所定のスクランブル多項式によってスクランブルを行い、その先頭に2ビットの同期ヘッダを付加することによって、符号化した64b/66b方式におけるパラレル送信データを生成し、ループバックセレクタ713Bへ出力する。
ループバックセレクタ713Bは、ループバック制御部757からの指示を受け、所定のタイミングで出力選択を切替えて、パラレル送信データとパラレルループバックデータの一方をシリアル送信部714Bへ出力する。
シリアル送信部714Bにおけるシリアライザ725Bは、ループバックセレクタ713Bから入力される64b/66b方式のパラレル送信データ又はパラレルループバックデータをシリアル送信データ又はシリアルループバックデータに変換する。
また、シリアル受信部710Bにおけるデシリアライザ721Bは、複数の連続する66ビット幅のシリアル受信データから、それらの先頭に付加された同期ヘッダを検出することで、シンボル同期(フレーム同期)を行い、64b/66b方式のパラレル受信データを復号化部711Bに出力する。復号化部711Bは、パラレル受信データの先頭に付加された同期ヘッダを除去し、符号化部712Bにおけるスクランブル多項式と対をなす多項式によるデスランブルで64ビット幅の受信Rawデータを生成し、シンボル検知部751へ出力する。
ここで、64b/66b方式を用いる場合、ループバックセレクタ713Bは、通常モードにおいては、符号化部712Bからの入力である64b/66b方式のパラレル送信データを選択し、ループバックモードにおいては、ループバック経路715経由で入力される64b/66b方式のパラレルループバックデータを選択して出力する必要がある。
以下、符号化方式として64b/66b方式を採用した場合の、ループバックモード移行前後におけるループバックセレクタ713Bの出力の切替えタイミング、及び通常モード復旧前後におけるループバックセレクタ713Bの出力の切替えタイミングの夫々について、図19及び図20を参照して説明する。
図19は、符号化方式として64b/66b方式を採用した場合の、ループバックセレクタ713Bのループバックモード移行前後における出力の切替えタイミングを示す図である。ここで、64b/66b方式においても、図4に示した8b/10b方式の制御シンボルと対応する全ての制御シンボルを用いることができるため、DIDLシンボルからなる64b/66b方式のパラレルデータをDIDLとして示す。
ループバックセレクタ713Bは、通常モードにおいて、符号化部756から入力する64b/66b方式のパラレル送信データを出力する。ループバック制御部757は、受信パケットが、他装置宛であり、且つ、送信要求を示すフロー制御リクエストのメッセージパケットである場合に、ループバックセレクタ713Bに対して、通常モードからループバックモードの移行指示を行う。ループバックセレクタ713Bは、この移行指示を受け取ると、通常モードからループバックモードに移行し、符号化部712Bから入力される64b/66b方式のパラレル送信データからループバック経路715を介して入力される64b/66b方式のパラレルループバックデータに出力を切替える。この出力の切替えを、パラレル送信データとパラレルループバックデータの双方の先頭に付加された同期ヘッダ(Sync)の位置を合わせたタイミングで行うことにより、出力の切替え前後でのデータ連続性を維持することができる。なお、パラレル送信データとパラレルループバックデータとの間で、同期ヘッダ(Sync)の位置がずれている場合、ループバックセレクタ713B内でパラレルループバックデータを適宜遅延させ、同期ヘッダ(Sync)の位置合わせを行うようにすればよい。
図20は、符号化方式として64b/66b方式を採用した場合の、ループバックセレクタ713Bの通常モード復旧前後における出力の切替えタイミングを示す図である。
ループバックセレクタ713Bは、ループバックモードにおいて、ループバック経路715を介して入力される64b/66b方式のパラレルループバックデータを出力する。ループバック制御部757は、EDBシンボルが検出された場合に、ループバックセレクタ713Bに対して、ループバックモードから通常モードの復旧指示を行う。ループバックセレクタ713Bは、この復旧指示を受け取ると、ループバックモードから通常モードに復旧し、ループバック経路715を介して入力される64b/66b方式のパラレルループバックデータから符号化部712Bから入力される64b/66b方式のパラレル送信データに出力を切替える。この出力の切替えを、パラレル送信データとパラレルループバックデータの双方の先頭に付加された同期ヘッダ(Sync)の位置を合わせたタイミングで行うことにより、出力の切替え前後でのデータ連続性を維持することができる。なお、パラレル送信データとパラレルループバックデータとの間で、同期ヘッダ(Sync)の位置がずれている場合、ループバックセレクタ713B内でパラレル送信データを適宜遅延させ、同期ヘッダ(Sync)の位置合わせを行うようにすればよい。
なお、伝送エラー等によってEDBシンボルを検出ができなかった場合、ループバックモードから通常モードへの復旧ができず、以降はパケットを受信できなくなる。これを回避するため、EDBシンボルを検出できなかった場合も、DIDLシンボルからLIDLシンボルあるいは電気的アイドル状態への入力変化を検知すると、ループバック制御部757はループバックセレクタ713に対してループバックモードから通常モードへの復旧指示を行うことが望ましく、このようにしてもよい。
なお、本実施の形態1の変形例における、ノード装置100a〜100dの動作フローチャートは、実施の形態1における図8、図9、図10と実質的に同様であり、それらリング伝送システム全体の動作フローチャートについても、実施の形態1における図16及び図17と実質的に同様であるため、説明は省略する。
(2)上記の実施の形態1では、図5に示す制御シンボルセットを利用する場合を例に挙げて説明したが、実施の形態1で記載したように、制御シンボルセットは図5で定義される制御シンボルセットに限定されるものではない。
以下に、LIDLの制御シンボルセットにおけるLIDLシンボルとして“0”と“1”の数が異なるシンボルタイプと“0”と“1”の数が同じシンボルタイプとを定義し、DIDLの制御シンボルセットにおけるDIDLシンボルとして“0”と“1”の数が異なるシンボルタイプと“0”と“1”の数が同じシンボルタイプとを定義した場合における、ループバックセレクタの出力の切替えルールについて、図21及び図22(a)〜(c)を参照して説明する。
図21は変形例において図1のノード装置が用いる制御シンボルセットの一例を示す図である。
図21の例では、LIDLの制御シンボルセットとして、第1シンボルがCOMシンボル(K28.5)であり、第2シンボルがLIDL0シンボル(K28.3)であるLIDLの制御シンボルセットと、第1シンボルがCOMシンボル(K28.5)であり、第2シンボルがLIDL1シンボル(D16.7)であるLIDLの制御シンボルセットとが定義されている。
ここで、LIDL0シンボル(K28.3)では、符号化シンボル(2進数)の“Current RD −”が“0011110011”、“Current RD +”が“1100001100”である。LIDL0シンボル(K28.3)は、“0”と“1”の数が異なるシンボルタイプのUnbalanceシンボルであり、このため、次のランニング・ディスパリティを反転させる。
また、LIDL1シンボル(D16.7)では、符号化シンボル(2進数)の“Current RD −”が“0110110001”、“Current RD +”が“1001001110”である。LIDL1シンボル(D16.7)は、“0”と“1”の数が同じシンボルタイプのBalancedシンボルであり、このため、次のランニング・ディスパリティを反転させない。
COMシンボル(K28.5)では、符号化シンボル(2進数)の“Current RD −”が“0011111010”、“Current RD +”が“1100000101”である。COMシンボル(K28.5)は、“0”と“1”の数が異なるシンボルタイプのUnbalanceシンボルであり、このため、次のランニング・ディスパリティを反転させる。
上記のルールに則り、LIDL0シンボルとLIDL1シンボルとがランダムに選択されると、
COM+→LIDL0−→COM+→LIDL0−→COM+→LIDL1−→COM−→LIDL1+→COM+→LIDL0−→COM+→LIDL0−→
のように、LIDL0シンボルの前後ではCOMシンボルのランニング・ディスパリティは維持され、LIDL1シンボルの前後ではCOMシンボルのランニング・ディスパリティは反転する。
このように、COMシンボルのランニング・ディスパリティもランダムに切り替わり、データ列のランダム性が向上し、放射ノイズの低減が可能になる。
図21の例では、DIDLの制御シンボルセットとして、第1シンボルがCOMシンボル(K28.5)であり、第2シンボルがDIDL0シンボル(K28.6)であるDIDLの制御シンボルセットと、第1シンボルがCOMシンボル(K28.5)であり、第2シンボルがDIDL1シンボル(D12.2)であるLIDLの制御シンボルセットとが定義されている。
ここで、DIDL0シンボル(K28.6)では、符号化シンボル(2進数)の“Current RD −”が“0011110110”、“Current RD +”が“1100001001”である。DIDL0シンボル(K28.6)は、“0”と“1”の数が異なるシンボルタイプのUnbalanceシンボルであり、このため、次のランニング・ディスパリティを反転させる。
また、DIDL1シンボル(D12.2)では、符号化シンボル(2進数)の“Current RD −”が“0011010101”、“Current RD +”が“1100101010”である。DIDL1シンボル(D12.2)は、“0”と“1”の数が同じシンボルタイプのBalancedシンボルであり、このため、次のランニング・ディスパリティを反転させない。
上記のルールに則り、DIDL0シンボルとDIDL1シンボルとがランダムに選択されると、
COM+→DIDL0−→COM+→DIDL0−→COM+→DIDL1−→COM−→DIDL1+→COM+→DIDL0−→COM+→DIDL0−→
のように、DIDL0シンボルの前後ではCOMシンボルのランニング・ディスパリティは維持され、DIDL1シンボルの前後ではCOMシンボルのランニング・ディスパリティは反転する。
図22(a)〜(c)は、DIDLの制御シンボルセットにおけるDIDLシンボルとして“0”と“1”の数が異なるシンボルタイプと“0”と“1”の数が同じシンボルタイプとを定義した場合(例えば、図21の制御シンボルセット)における、ループバックモード移行前後におけるループバックセレクタの出力の切替えルールを示す図である。
(ルールA)図22(a)に示すように、ループバックセレクタでの符号化部によって生成されたDIDLの制御シンボルセットにおけるCOMシンボルのランニング・ディスパリティとループバック経路を介して入力されたDIDLの制御シンボルセットにおけるCOMシンボルのランニング・ディスパリティとが一致する場合には、ループバックセレクタは、ランニング・ディスパリティが一致するCOMシンボルの直後でパラレル送信データからパラレルループバックデータに出力を切り替える。
(ルールB)図22(b)に示すように、ループバックセレクタでの符号化部によって生成されたDIDLの制御シンボルセットにおけるCOMシンボルのランニング・ディスパリティとループバック経路を介して入力されたDIDLの制御シンボルセットにおけるCOMシンボルのランニング・ディスパリティとが一致しない場合において、ループバックセレクタでの符号化部によって生成されたDIDLの制御シンボルセットにおけるDIDLシンボルのシンボルタイプとループバック経路を介して入力されたDIDLの制御シンボルセットにおけるDIDLシンボルのシンボルタイプが一致しないときは、ループバックセレクタは、シンボルタイプが一致しないDIDLシンボルの直後でパラレル送信データからパラレルループバックデータに出力を切替える。
(ルールC)図22(c)に示すように、ループバックセレクタでの符号化部によって生成されたDIDLの制御シンボルセットにおけるCOMシンボルのランニング・ディスパリティとループバック経路を介して入力されたDIDLの制御シンボルセットにおけるCOMシンボルのランニング・ディスパリティとが一致しない場合において、ループバックセレクタでの符号化部によって生成されたDIDLの制御シンボルセットにおけるDIDLシンボルのシンボルタイプとループバック経路を介して入力されたDIDLの制御シンボルセットにおけるDIDLシンボルのシンボルタイプが一致するときは、ループバックセレクタは、符号化部によって生成されたDIDLシンボルを出力する代わりに、符号化部によって生成されたDIDLシンボルのランニング・ディスパリティをそのままでそのDIDLシンボルのシンボルタイプをもう一方のシンボルタイプに置き換えて出力し、シンボルタイプが一致するDIDLシンボルの直後でパラレル送信データからパラレルループバックデータに出力を切替える。
なお、DIDLの制御シンボルセットにおけるDIDLシンボルとして“0”と“1”の数が異なるシンボルタイプと“0”と“1”の数が同じシンボルタイプとを定義した場合(例えば、図21の制御シンボルセット)における、通常モード復旧前後におけるループバックセレクタの出力の切替えルールとして、上記の(ルールA)〜(ルールC)を利用することができる。なお、(ルールC)におけるシンボルタイプの置き換えは、ループバック経路経由で入力されるDIDLシンボルに対して行われる。
具体的に記載すれば、以下の(ルールa)〜(ルールc)に記載する通りとなる。
(ルールa)ループバックセレクタでの符号化部によって生成されたDIDLの制御シンボルセットにおけるCOMシンボルのランニング・ディスパリティとループバック経路を介して入力されたDIDLの制御シンボルセットにおけるCOMシンボルのランニング・ディスパリティとが一致する場合には、ループバックセレクタは、ランニング・ディスパリティが一致するCOMシンボルの直後でパラレルループバックデータからパラレル送信データに出力を切り替える。
(ルールb)ループバックセレクタでの符号化部によって生成されたDIDLの制御シンボルセットにおけるCOMシンボルのランニング・ディスパリティとループバック経路を介して入力されたDIDLの制御シンボルセットにおけるCOMシンボルのランニング・ディスパリティとが一致しない場合において、ループバックセレクタでの符号化部によって生成されたDIDLの制御シンボルセットにおけるDIDLシンボルのシンボルタイプとループバック経路を介して入力されたDIDLの制御シンボルセットにおけるDIDLシンボルのシンボルタイプが一致しないときは、ループバックセレクタは、シンボルタイプが一致しないDIDLシンボルの直後でパラレルループバックデータからパラレル送信データに出力を切替える。
(ルールC)ループバックセレクタでの符号化部によって生成されたDIDLの制御シンボルセットにおけるCOMシンボルのランニング・ディスパリティとループバック経路を介して入力されたDIDLの制御シンボルセットにおけるCOMシンボルのランニング・ディスパリティとが一致しない場合において、ループバックセレクタでの符号化部によって生成されたDIDLの制御シンボルセットにおけるDIDLシンボルのシンボルタイプとループバック経路を介して入力されたDIDLの制御シンボルセットにおけるDIDLシンボルのシンボルタイプが一致するときは、ループバックセレクタは、ループバック経路経由で入力されるDIDLシンボルを出力する代わりに、ループバック経路経由で入力されるDIDLシンボルのランニング・ディスパリティをそのままでそのDIDLシンボルのシンボルタイプをもう一方のシンボルタイプに置き換えて出力し、シンボルタイプが一致するDIDLシンボルの直後でパラレルループバックデータからパラレル送信データに出力を切替える。
(3)上記の実施の形態及び変形例のノード装置の各構成要素は、集積回路であるLSIで実現してもよい。このとき、各構成要素は、個別に1チップ化されてもよいし、一部もしくは全てを含むように1チップ化されてもよい。また、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。また、集積回路化の手法はLSIに限られるものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセサを利用してもよい。さらに、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然その技術を用いて機能ブロックの集積化を行ってもよい。
本発明は、シリアルリンクを介してリング接続された複数のノード装置間でパケットの送受信を行う際に、パケットの送受信に関するデータ転送の信頼性を維持しつつ、処理オーバヘッドを削減した中継処理を行うノード装置、集積回路、及び制御方法を提供することができ、有用である。
700 ノード装置
701 PHY
702 リンクコントローラ
710 シリアル受信部
711 復号化部
712 符号化部
713 ループバックセレクタ
714 シリアル受信部
720 レシーバ
721 デシリアライザ
725 シリアライザ
726 ドライバ
751 シンボル検知部
752 バイパス制御部
753 パケット受信部
754 パケット送信部
755 バイパスセレクタ
756 シンボル生成部
757 ループバック制御部
758 バイパス経路

Claims (16)

  1. シリアルリンクを介して複数のノード装置がリング状に接続されたリング伝送システムにおけるノード装置において、
    宛先情報を含むパケットの送受信及び中継処理を行うリンクコントローラと、
    前記シリアルリンクを介して入出力するシリアルデータと前記リンクコントローラが扱うパラレルデータとの間の相互変換を行う通常モードと、前段側のシリアルリンクを介して入力されるシリアルデータを前記リンクコントローラに受け渡す前に折り返して後段側のシリアルリンクに出力するループバックモードとの通信モードを切替えて動作を行うPHYと、
    を備え、
    前記リンクコントローラは、
    前記PHYに対し、送信要求パケットからデータパケットまでのプレギャップにおいて、シンボル同期を維持するためのアイドルフレームの送信指示を行うシンボル生成部と、
    前記PHYに対し、前記通常モードにて他装置宛の送信要求パケットの中継処理後の前記プレギャップにおいて、他装置宛のデータパケットを折り返して出力するために、前記通常モードから前記ループバックモードに移行させるための移行指示を行うループバック制御部と、
    を備え、
    前記PHYは、
    前記通常モードにて前記シンボル生成部の送信指示に基づいて前記アイドルフレームを前記後段側のシリアルリンクに出力し、
    前記移行指示に基づき、前記通常モードにて前記後段側のシリアルリンクに出力する前記送信指示に基づくアイドルフレームと前記ループバックモードにて前記後段側のシリアルリンクに折り返して出力する前段のノード装置からのアイドルフレームとの間でシンボル同期が維持されるタイミングで前記通常モードから前記ループバックモードに移行し、
    前記ループバックモードにて前記前段のノード装置からのアイドルフレームを折り返して前記後段側のシリアルリンクに出力し、
    前記ループバックモードにて他装置宛のデータパケットの中継処理を行う
    ことを特徴とするノード装置。
  2. 前記リンクコントローラは、
    前記アイドルフレームの送信指示として、8b/10b方式におけるシンボル同期のためのコンマシンボルで始まり、アイドルシンボルを含む制御シンボルセットに係るデータ列を前記PHYに受け渡し、
    前記PHYは、
    前記通常モードにおける前記アイドルフレームの出力を、前記制御シンボルセットに係るデータ列を8b/10b方式に基づく符号化を行うことによって行い、
    前記移行指示に基づく前記通常モードから前記ループバックモードへの移行を、前記通常モードにて前記後段側のシリアルリンクに出力する前記送信指示に基づくアイドルフレームと前記ループバックモードにて前記後段側のシリアルリンクに折り返して出力する前記前段のノード装置からのアイドルフレームとの間で、前記コンマシンボルの位置とランニング・ディスパリティとが一致するタイミングで行う
    ことを特徴とする請求項1記載のノード装置。
  3. 前記リンクコントローラは、
    前記アイドルフレームの送信指示として、所定のワード長に複数のアイドルシンボルを束ねたデータ列を前記PHYに受け渡し、
    前記PHYは、
    前記通常モードにおける前記アイドルフレームの出力を、前記データ列を所定のスクランブル方式に基づいてスクランブル化し、前記所定のワード長毎の先頭にシンボル同期のための同期ヘッダを付加して符号化を行うことによって行い、
    前記移行指示に基づく前記通常モードから前記ループバックモードへの移行を、前記通常モードにて前記後段側のシリアルリンクに出力する前記送信指示に基づくアイドルフレームと前記ループバックモードにて前記後段側のシリアルリンクに折り返して出力する前記前段のノード装置からのアイドルフレームとの間で、前記同期ヘッダの位置を合わせたタイミングで行う
    ことを特徴とする請求項1記載のノード装置。
  4. 前記リンクコントローラは、
    前記アイドルフレームの送信指示として、8b/10b方式におけるシンボル同期のためのコンマシンボルで始まり、アイドルシンボルを含む制御シンボルセットに係るデータ列を前記PHYに受け渡し、
    前記PHYは、
    前記制御シンボルセットに係るデータ列を8b/10b方式に基づく符号化を行うことによって前記通常モードにて前記後段側のシリアルリンクに出力する前記アイドルフレームを生成して出力する符号化部と、
    前記通常モードでは前記符号化部が出力するアイドルフレームを選択して前記後段側のシリアルリンクに出力し、前記ループバックモードでは前記前段のノード装置からのアイドルフレームを選択して前記後段側のシリアルリンクに出力するループバックセレクタと、
    を備え、
    前記アイドルフレームのコンマシンボルには、“0”と“1”の数が異なるシンボルタイプのみがあり、
    前記アイドルフレームのアイドルシンボルには、“0”と“1”の数が異なるシンボルタイプと、“0”と“1”の数が同じシンボルタイプとがあり、
    前記ループバックセレクタは、
    前記符号化部から入力されたコンマシンボルと、入力された前記前段のノード装置からのコンマシンボルとのランニング・ディスパリティが一致する場合には、ランニング・ディスパリティが一致するコンマシンボルの直後で前記通常モードから前記ループバックモードに移行するための出力の切替えを行い、
    前記符号化部から入力されたコンマシンボルと、入力された前記前段のノード装置からのコンマシンボルとのランニング・ディスパリティが一致しない場合において、前記符号化部から入力された前記コンマシンボルの次のアイドルシンボルと入力された前記前段のノード装置からのコンマシンボルの次のアイドルシンボルとのシンボルタイプが一致しないときは、シンボルタイプが一致しないアイドルシンボルの直後で前記通常モードから前記ループバックモードに移行するための出力の切替えを行い、
    前記符号化部から入力されたコンマシンボルと、入力された前記前段のノード装置からのコンマシンボルとのランニング・ディスパリティが一致しない場合において、前記符号化部から入力された前記コンマシンボルの次のアイドルシンボルと入力された前記前段のノード装置からのコンマシンボルの次のアイドルシンボルとのシンボルタイプが一致するときは、前記符号化部から入力された前記コンマシンボルの次のアイドルシンボルのランニング・ディスパリティをそのままでそのシンボルタイプをもう一方のシンボルタイプに置き換えて出力し、シンボルタイプが一致するアイドルシンボルの直後で前記通常モードから前記ループバックモードに移行するための出力の切替えを行う、
    ことを特徴とする請求項1記載のノード装置。
  5. 前記リンクコントローラは、更に、
    初期化時に前記PHYに対する省電力制御の有無を設定し、
    前記シンボル制御部は、
    前記プレギャップ前のパケットギャップにおいて、
    前記省電力制御が有効に設定された場合、後段側のシリアルリンクを電気的アイドル状態とするための送信ディセーブル指示を行い、
    前記省電力制御が無効に設定された場合、シンボル同期を維持するための他のアイドルフレームの送信指示を行う
    ことを特徴とする請求項1記載のノード装置。
  6. シリアルリンクを介して複数のノード装置がリング状に接続されたリング伝送システムにおけるノード装置において、
    宛先情報を含むパケットの送受信及び中継処理を行うリンクコントローラと、
    前記シリアルリンクを介して入出力するシリアルデータと前記リンクコントローラが扱うパラレルデータとの間の相互変換を行う通常モードと、前段側のシリアルリンクを介して入力されるシリアルデータを前記リンクコントローラに受け渡す前に折り返して後段側のシリアルリンクに出力するループバックモードとの通信モードを切替えて動作を行うPHYと、
    を備え、
    前記リンクコントローラは、
    前記PHYに対し、データパケット後のポストギャップにおいて、シンボル同期を維持するためのアイドルフレームの送信指示を行うシンボル生成部と、
    前記PHYに対し、前記ループバックモードにて他装置宛のデータパケットの折り返し出力後の前記ポストギャップにおいて、前記ループバックモードから前記通常モードに復旧させるための復旧指示を行うループバック制御部と、
    を備え、
    前記PHYは、
    前記ループバックモードにて前記前段のノード装置からのアイドルフレームを折り返して前記後段側のシリアルリンクに出力し、
    前記復旧指示に基づき、前記ループバックモードにて前記後段側のシリアルリンクに折り返して出力する前段のノード装置からのアイドルフレームと前記通常モードにて前記後段側のシリアルリンクに出力する前記送信指示に基づくアイドルフレームとの間でシンボル同期が維持されるタイミングで前記ループバックモードから前記通常モードに復旧し、
    前記通常モードにて前記シンボル生成部の送信指示に基づいて前記アイドルフレームを前記後段側のシリアルリンクに出力する、
    ことを特徴とするノード装置。
  7. 前記リンクコントローラは、
    前記アイドルフレームの送信指示として、8b/10b方式におけるシンボル同期のためのコンマシンボルで始まり、アイドルシンボルを含む制御シンボルセットに係るデータ列を前記PHYに受け渡し、
    前記PHYは、
    前記通常モードにおける前記アイドルフレームの出力を、前記制御シンボルセットに係るデータ列を8b/10b方式に基づく符号化を行うことによって行い、
    前記復旧指示に基づく前記ループバックモードから前記通常モードへの復旧を、前記ループバックモードにて前記後段側のシリアルリンクに折り返して出力する前記前段のノード装置からのアイドルフレームと前記通常モードにて前記後段側のシリアルリンクに出力する前記送信指示に基づくアイドルフレームとの間で、前記コンマシンボルの位置とランニング・ディスパリティとが一致するタイミングで行う
    ことを特徴とする請求項6記載のノード装置。
  8. 前記リンクコントローラは、
    前記アイドルフレームの送信指示として、所定のワード長に複数のアイドルシンボルを束ねたデータ列を前記PHYに受け渡し、
    前記PHYは、
    前記通常モードにおける前記アイドルフレームの出力を、前記データ列を所定のスクランブル方式に基づいてスクランブル化し、前記所定のワード長毎の先頭にシンボル同期のための同期ヘッダを付加して符号化を行うことによって行い、
    前記復旧指示に基づく前記ループバックモードから前記通常モードへの復旧を、前記ループバックモードにて前記後段側のシリアルリンクに折り返して出力する前記前段のノード装置からのアイドルフレームと前記通常モードにて前記後段側のシリアルリンクに出力する前記送信指示に基づくアイドルフレームとの間で、前記同期ヘッダの位置を合わせたタイミングで行う
    ことを特徴とする請求項6記載のノード装置。
  9. 前記リンクコントローラは、
    前記アイドルフレームの送信指示として、8b/10b方式におけるシンボル同期のためのコンマシンボルで始まり、アイドルシンボルを含む制御シンボルセットに係るデータ列を前記PHYに受け渡し、
    前記PHYは、
    前記制御シンボルセットに係るデータ列を8b/10b方式に基づく符号化を行うことによって前記通常モードにて前記後段側のシリアルリンクに出力する前記アイドルフレームを生成して出力する符号化部と、
    前記通常モードでは前記符号化部が出力するアイドルフレームを選択して前記後段側のシリアルリンクに出力し、前記ループバックモードでは前記前段のノード装置からのアイドルフレームを選択して前記後段側のシリアルリンクに出力するループバックセレクタと、
    を備え、
    前記アイドルフレームのコンマシンボルには、“0”と“1”の数が異なるシンボルタイプのみがあり、
    前記アイドルフレームのアイドルシンボルには、“0”と“1”の数が異なるシンボルタイプと、“0”と“1”の数が同じシンボルタイプとがあり、
    前記ループバックセレクタは、
    入力された前記前段のノード装置からのコンマシンボルと、前記符号化部から入力されたコンマシンボルとのランニング・ディスパリティが一致する場合には、ランニング・ディスパリティが一致するコンマシンボルの直後で前記ループバックモードから前記通常モードに復旧するための出力の切替えを行い、
    入力された前記前段のノード装置からのコンマシンボルと、前記符号化部から入力されたコンマシンボルとのランニング・ディスパリティが一致しない場合において、入力された前記前段のノード装置からのコンマシンボルの次のアイドルシンボルと、前記符号化部から入力された前記コンマシンボルの次のアイドルシンボルとのシンボルタイプが一致しないときは、シンボルタイプが一致しないアイドルシンボルの直後で前記ループバックモードから前記通常モードに復旧するための出力の切替えを行い、
    入力された前記前段のノード装置からのコンマシンボルと、前記符号化部から入力されたコンマシンボルとのランニング・ディスパリティが一致しない場合において、入力された前記前段のノード装置からのコンマシンボルの次のアイドルシンボルと、前記符号化部から入力された前記コンマシンボルの次のアイドルシンボルとのシンボルタイプが一致するときは、入力された前記前段のノード装置からのコンマシンボルの次のアイドルシンボルのランニング・ディスパリティをそのままでそのシンボルタイプをもう一方のシンボルタイプに置き換えて出力し、シンボルタイプが一致するアイドルシンボルの直後で前記ループバックモードから前記通常モードに復旧するための出力の切替えを行う、
    ことを特徴とする請求項6記載のノード装置。
  10. 前記リンクコントローラは、更に、
    初期化時に前記PHYに対する省電力制御の有無を設定し、
    前記シンボル制御部は、
    前記ポストギャップ後のパケットギャップにおいて、
    前記省電力制御が有効に設定された場合、後段側のシリアルリンクを電気的アイドル状態とするための送信ディセーブル指示を行い、
    前記省電力制御が無効に設定された場合、シンボル同期を維持するための他のアイドルフレームの送信指示を行う
    ことを特徴とする請求項6記載のノード装置。
  11. 前記リンクコントローラは、
    前記PHYに対して、前段側のシリアルリンクの電気的アイドル状態又は他のアイドルフレームを検出するまで、前記アイドルフレームの送信指示に基づく前記アイドルフレームの前記後段側のシリアルリンクへの出力を継続して行わせる
    ことを特徴とする請求項10記載のノード装置。
  12. 前記リンクコントローラは、
    前記ループバックモードにて他装置宛のデータパケットの折り返し出力しているときに、当該データパケットの終端シンボルを検出すると前記復旧指示を行い、当該終端シンボルを検出する前に前段側のシリアルリンクの電気的アイドル状態又は他のアイドルフレームを検出すると前記復旧指示を行う
    ことを特徴とする請求項10記載のノード装置。
  13. シリアルリンクを介して複数の集積回路がリング状に接続されたリング伝送システムにおける集積回路において、
    宛先情報を含むパケットの送受信及び中継処理を行うリンクコントローラと、
    前記シリアルリンクを介して入出力するシリアルデータと前記リンクコントローラが扱うパラレルデータとの間の相互変換を行う通常モードと、前段側のシリアルリンクを介して入力されるシリアルデータを前記リンクコントローラに受け渡す前に折り返して後段側のシリアルリンクに出力するループバックモードとの通信モードを切替えて動作を行うPHYと、
    を備え、
    前記リンクコントローラは、
    前記PHYに対し、送信要求パケットからデータパケットまでのプレギャップにおいて、シンボル同期を維持するためのアイドルフレームの送信指示を行うシンボル生成部と、
    前記PHYに対し、前記通常モードにて他装置宛の送信要求パケットの中継処理後の前記プレギャップにおいて、他装置宛のデータパケットを折り返して出力するために、前記通常モードから前記ループバックモードに移行させるための移行指示を行うループバック制御部と、
    を備え、
    前記PHYは、
    前記通常モードにて前記シンボル生成部の送信指示に基づいて前記アイドルフレームを前記後段側のシリアルリンクに出力し、
    前記移行指示に基づき、前記通常モードにて前記後段側のシリアルリンクに出力する前記送信指示に基づくアイドルフレームと前記ループバックモードにて前記後段側のシリアルリンクに折り返して出力する前段の集積回路からのアイドルフレームとの間でシンボル同期が維持されるタイミングで前記通常モードから前記ループバックモードに移行し、
    前記ループバックモードにて前記前段の集積回路からのアイドルフレームを折り返して前記後段側のシリアルリンクに出力し、
    前記ループバックモードにて他装置宛のデータパケットの中継処理を行う
    ことを特徴とする集積回路。
  14. シリアルリンクを介して複数の集積回路がリング状に接続されたリング伝送システムにおける集積回路において、
    宛先情報を含むパケットの送受信及び中継処理を行うリンクコントローラと、
    前記シリアルリンクを介して入出力するシリアルデータと前記リンクコントローラが扱うパラレルデータとの間の相互変換を行う通常モードと、前段側のシリアルリンクを介して入力されるシリアルデータを前記リンクコントローラに受け渡す前に折り返して後段側のシリアルリンクに出力するループバックモードとの通信モードを切替えて動作を行うPHYと、
    を備え、
    前記リンクコントローラは、
    前記PHYに対し、データパケット後のポストギャップにおいて、シンボル同期を維持するためのアイドルフレームの送信指示を行うシンボル生成部と、
    前記PHYに対し、前記ループバックモードにて他装置宛のデータパケットの折り返し出力後の前記ポストギャップにおいて、前記ループバックモードから前記通常モードに復旧させるための復旧指示を行うループバック制御部と、
    を備え、
    前記PHYは、
    前記ループバックモードにて前記前段の集積回路からのアイドルフレームを折り返して前記後段側のシリアルリンクに出力し、
    前記復旧指示に基づき、前記ループバックモードにて前記後段側のシリアルリンクに折り返して出力する前段の集積回路からのアイドルフレームと前記通常モードにて前記後段側のシリアルリンクに出力する前記送信指示に基づくアイドルフレームとの間でシンボル同期が維持されるタイミングで前記ループバックモードから前記通常モードに復旧し、
    前記通常モードにて前記シンボル生成部の送信指示に基づいて前記アイドルフレームを前記後段側のシリアルリンクに出力する、
    ことを特徴とする集積回路。
  15. シリアルリンクを介して複数のノード装置がリング状に接続されたリング伝送システムにおけるノード装置を制御する制御方法であって、
    前記ノード装置は、
    宛先情報を含むパケットの送受信及び中継処理を行うリンクコントローラと、
    前記シリアルリンクを介して入出力するシリアルデータと前記リンクコントローラが扱うパラレルデータとの間の相互変換を行う通常モードと、前段側のシリアルリンクを介して入力されるシリアルデータを前記リンクコントローラに受け渡す前に折り返して後段側のシリアルリンクに出力するループバックモードとの通信モードを切替えて動作を行うPHYと、
    を備え、
    前記リンクコントローラは、
    前記PHYに対し、送信要求パケットからデータパケットまでのプレギャップにおいて、シンボル同期を維持するためのアイドルフレームの送信指示を行うシンボル生成ステップと、
    前記PHYに対し、前記通常モードにて他装置宛の送信要求パケットの中継処理後の前記プレギャップにおいて、他装置宛のデータパケットを折り返して出力するために、前記通常モードから前記ループバックモードに移行させるための移行指示を行うループバック制御ステップと、
    を備え、
    前記PHYは、
    前記通常モードにて前記シンボル生成ステップにおける送信指示に基づいて前記アイドルフレームを前記後段側のシリアルリンクに出力し、
    前記移行指示に基づき、前記通常モードにて前記後段側のシリアルリンクに出力する前記送信指示に基づくアイドルフレームと前記ループバックモードにて前記後段側のシリアルリンクに折り返して出力する前段のノード装置からのアイドルフレームとの間でシンボル同期が維持されるタイミングで前記通常モードから前記ループバックモードに移行し、
    前記ループバックモードにて前記前段のノード装置からのアイドルフレームを折り返して前記後段側のシリアルリンクに出力し、
    前記ループバックモードにて他装置宛のデータパケットの中継処理を行う
    ことを特徴とする制御方法。
  16. シリアルリンクを介して複数のノード装置がリング状に接続されたリング伝送システムにおけるノード装置を制御する制御方法であって、
    前記ノード装置は、
    宛先情報を含むパケットの送受信及び中継処理を行うリンクコントローラと、
    前記シリアルリンクを介して入出力するシリアルデータと前記リンクコントローラが扱うパラレルデータとの間の相互変換を行う通常モードと、前段側のシリアルリンクを介して入力されるシリアルデータを前記リンクコントローラに受け渡す前に折り返して後段側のシリアルリンクに出力するループバックモードとの通信モードを切替えて動作を行うPHYと、
    を備え、
    前記リンクコントローラは、
    前記PHYに対し、データパケット後のポストギャップにおいて、シンボル同期を維持するためのアイドルフレームの送信指示を行うシンボル生成ステップと、
    前記PHYに対し、前記ループバックモードにて他装置宛のデータパケットの折り返し出力後の前記ポストギャップにおいて、前記ループバックモードから前記通常モードに復旧させるための復旧指示を行うループバック制御ステップと、
    を備え、
    前記PHYは、
    前記ループバックモードにて前記前段のノード装置からのアイドルフレームを折り返して前記後段側のシリアルリンクに出力し、
    前記復旧指示に基づき、前記ループバックモードにて前記後段側のシリアルリンクに折り返して出力する前段のノード装置からのアイドルフレームと前記通常モードにて前記後段側のシリアルリンクに出力する前記送信指示に基づくアイドルフレームとの間でシンボル同期が維持されるタイミングで前記ループバックモードから前記通常モードに復旧し、
    前記通常モードにて前記シンボル生成ステップにおける送信指示に基づいて前記アイドルフレームを前記後段側のシリアルリンクに出力する、
    ことを特徴とする制御方法。
JP2012517135A 2010-05-27 2011-05-24 リング伝送システムにおけるノード装置、集積回路及び制御方法 Active JP5696308B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012517135A JP5696308B2 (ja) 2010-05-27 2011-05-24 リング伝送システムにおけるノード装置、集積回路及び制御方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010121091 2010-05-27
JP2010121091 2010-05-27
JP2012517135A JP5696308B2 (ja) 2010-05-27 2011-05-24 リング伝送システムにおけるノード装置、集積回路及び制御方法
PCT/JP2011/002892 WO2011148621A1 (ja) 2010-05-27 2011-05-24 リング伝送システムにおけるノード装置、集積回路及び制御方法

Publications (2)

Publication Number Publication Date
JPWO2011148621A1 true JPWO2011148621A1 (ja) 2013-07-25
JP5696308B2 JP5696308B2 (ja) 2015-04-08

Family

ID=45003621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012517135A Active JP5696308B2 (ja) 2010-05-27 2011-05-24 リング伝送システムにおけるノード装置、集積回路及び制御方法

Country Status (5)

Country Link
US (1) US8660125B2 (ja)
EP (1) EP2579513B1 (ja)
JP (1) JP5696308B2 (ja)
CN (1) CN102474438B (ja)
WO (1) WO2011148621A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8909230B2 (en) 2011-12-06 2014-12-09 Qualcomm Incorporated Apparatus and methods for performing handover of user equipment between different radio access networks
US20150128117A1 (en) * 2013-11-07 2015-05-07 Netronome Systems, Inc. Linker that statically allocates non-memory resources at link time
US20150222384A1 (en) * 2014-02-03 2015-08-06 Valens Semiconductor Ltd. Changing receiver configuration by replacing certain idle words with bitwise complement words
CN106302261B (zh) * 2016-08-02 2019-09-17 青岛海信电器股份有限公司 一种控制命令转发的方法和装置
DE102016125128B3 (de) * 2016-12-21 2018-03-29 Beckhoff Automation Gmbh Datenübertragungsverfahren, Kommunikationsnetzwerk und Master-Teilnehmer
JP6984199B2 (ja) * 2017-07-07 2021-12-17 オムロン株式会社 制御システム、および、制御方法
CN112019239B (zh) * 2019-05-30 2021-11-19 华为技术有限公司 传输数据的方法、节点和存储介质
US12008259B1 (en) * 2021-09-29 2024-06-11 Ethernovia Inc. Data processing and transmission using hardware serialization and deserialization functions

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2693612B1 (fr) * 1992-07-10 1994-08-19 Cit Alcatel Dispositif de raccordement d'une station à un réseau local comportant au moins un anneau.
US20020154633A1 (en) * 2000-11-22 2002-10-24 Yeshik Shin Communications architecture for storage-based devices
JP3606229B2 (ja) * 2001-05-30 2005-01-05 日本電気株式会社 プロテクション方式、レイヤ2機能ブロック、ノードおよびリングネットワーク
CA2392123A1 (en) * 2001-06-28 2002-12-28 Telecommunications Research Laboratories Evolution of a telecommunications network from ring to mesh structure
GB2384405B (en) * 2002-01-19 2004-10-06 Ibm Method and apparatus for detection of port name in a loop network
US20070143328A1 (en) * 2002-07-10 2007-06-21 Sonic Solutions Method and apparatus for formatting and initialization of an optical media
JP3783960B2 (ja) * 2003-07-29 2006-06-07 松下電器産業株式会社 データ伝送方法、データ伝送システム、およびデータ伝送装置
US20050027876A1 (en) * 2003-07-29 2005-02-03 Toshitomo Umei Data transmission method, data transmission system, and data transmission apparatus
US8050183B2 (en) * 2005-05-06 2011-11-01 Cisco Technology, Inc. System and method for implementing reflector ports within hierarchical networks
US7652992B2 (en) * 2005-06-06 2010-01-26 Fujitsu Limited Two tier traffic shaper approach for resilient packet ring stations
CN101043267B (zh) * 2006-03-24 2010-05-12 上海交通大学 弹性光突发环的保护与恢复方法及其装置
JP4778056B2 (ja) * 2006-06-30 2011-09-21 三菱電機株式会社 通信ノードおよび通信システムのリング確立確認方法

Also Published As

Publication number Publication date
EP2579513A4 (en) 2015-04-08
WO2011148621A1 (ja) 2011-12-01
CN102474438A (zh) 2012-05-23
US20120120960A1 (en) 2012-05-17
EP2579513A1 (en) 2013-04-10
US8660125B2 (en) 2014-02-25
CN102474438B (zh) 2015-01-28
JP5696308B2 (ja) 2015-04-08
EP2579513B1 (en) 2017-03-15

Similar Documents

Publication Publication Date Title
JP5696308B2 (ja) リング伝送システムにおけるノード装置、集積回路及び制御方法
US7751442B2 (en) Serial ethernet device-to-device interconnection
US4567590A (en) Message stripping protocol for a ring communication network
US8103869B2 (en) Distributed (modular) internal architecture
EP1494400B1 (en) Physical layer device method and system having a media independent interface for connecting to either media access control entries or other physical layer devices
US8903000B2 (en) Transmission circuit, reception circuit, transmission method, reception method, communication system and communication method therefor
JP2002135359A (ja) 装置状態制御回路、及び装置状態制御方法
US10366039B2 (en) USB link bridge
JP4071117B2 (ja) 送受信回路及び送受信方法並びに送受信装置
CN114442514B (zh) 一种基于fpga的usb3.0/3.1控制系统
JP2009516978A (ja) 同期受信機
EP3671720B1 (en) Real-time on-chip data transfer system
EP1668832B1 (en) Scalable device-to-device interconnection
JP2011114625A (ja) 通信システムおよび通信装置
JP3672845B2 (ja) インターフェース装置及びこれを備えた通信機器並びに通信方法
US8576704B2 (en) Communication system, communication device, integrated circuit, and communication method
WO2017000737A1 (zh) 一种传输校验方法、节点、系统与计算机存储介质
JP2012104868A (ja) 通信システム、通信装置およびその通信方法
JP2010239313A (ja) 半2重−全2重変換装置
CN115277299A (zh) 一种适用于级联型变换器拓扑的同步环路通信系统
KR100270703B1 (ko) 랜 패킷용 버스 프로토콜 및 핸드쉐이킹을 위한 이더넷 패킷송수신 방법 및 장치
JP2003298609A (ja) 電源断通知方法
JP2002344556A (ja) 並列データ伝送制御方式および並列データ伝送制御装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140930

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20141008

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141017

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141225

R151 Written notification of patent or utility model registration

Ref document number: 5696308

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151