(57)【要約】【課題】ＳＰＩ−４インタフェースのフロー制御を行う通信システムにおいて、ＦＩＦＯ情報の送信を優先度に基づいて行うことを可能とし、ワースト応答時間のカレンダー長への依存性をなくす。【解決手段】リンクレイヤ・デバイス１は、ＲＳＴＡＴにより受信されたペイロードデータを格納するＦＩＦＯバッファ１２１乃至１２５と、ＦＩＦＯバッファ１２１乃至１２５の使用状態を示すＦＩＦＯ情報を周期的にＲＳＴＡＴに出力するＦＩＦＯ情報出力部１２６と、ＦＩＦＯ情報の優先度に応じて、ＦＩＦＯ情報をペイロードデータの間に選択的に挿入し、ＴＤＡＴに出力するＦＩＦＯ情報挿入部１１３とを有する。ＰＨＹデバイス２は、ＲＳＴＡＴ及びＴＤＡＴを介して受信されるＦＩＦＯ情報に基づいて、ＲＤＡＴへのペイロードデータの出力を制御する。【選択図】図１
2008187336.tif 000002
【特許請求の範囲】
【請求項１】
ＳＰＩ−４ Ｐｈａｓｅ２規格の通信システムであって、
自局デバイスと、
対向デバイスと、
前記自局デバイスから前記対向デバイスにペイロードデータを転送する第１のデータ信号チャネルと、
前記対向デバイスから前記自局デバイスにペイロードデータを転送する第２のデータ信号チャネルと、
前記自局デバイスから前記対向デバイスにデータ転送可能な第１のステータス信号チャネルと、
を備える通信システムであって、
前記自局デバイスは、
前記第２のデータ信号チャネルにより受信されたペイロードデータを格納するデータバッファと、
前記データバッファの使用状態を示すバッファ状態情報を周期的に前記第１のステータス信号チャネルに出力するバッファ状態情報出力部と、
前記バッファ状態情報の優先度に応じて、前記バッファ状態情報を前記ペイロードデータの間に選択的に挿入し、前記第１のデータ信号チャネルに出力するバッファ状態情報挿入部とを有し、
前記対向デバイスは、
前記第１のステータス信号チャネル及び前記第１のデータ信号チャネルを介して受信される前記バッファ状態情報に基づいて、前記第２のデータ信号チャネルへのペイロードデータの出力を制御するフロー制御手段を有する通信システム。
【請求項２】
前記フロー制御手段は、
前記第１のステータス信号チャネルより受信したデータから前記バッファ状態情報を受信するバッファ状態情報受信部と、
前記第１のデータ信号チャネルより受信したデータから前記バッファ状態情報を抽出するバッファ状態情報抽出部と、
前記バッファ状態情報受信部及び前記バッファ状態情報抽出部により取得された前記バッファ状態情報に基づいて、前記第２のデータ信号チャネルへのペイロードデータの出力を停止可能なデータ出力部とを有する請求項１に記載の通信システム。
【請求項３】
前記ペイロードデータ間への前記バッファ状態情報の挿入は、前記データバッファに格納されたデータ量が予め定められた閾値を超えたことに応じて実行される請求項１又は２に記載の通信システム。
【請求項４】
前記バッファ状態情報挿入部は、前記バッファ状態情報に加えて、前記データバッファを識別するための識別情報を前記ペイロードデータに挿入する請求項１に記載の通信システム。
【請求項５】
前記ペイロードデータ間への前記バッファ状態情報の挿入が周期的に実行される請求項１又は２に記載の通信システム。
【請求項６】
前記ペイロードデータに挿入される前記バッファ状態情報の単位時間当たりの送信データ量は、前記第１のステータス信号チャネルに出力される前記バッファ状態情報の前記単位時間当たりの送信データ量より大きいことを特徴とする請求項１に記載の通信システム。
【請求項７】
前記ペイロードデータに挿入される前記バッファ状態情報によって識別可能な前記データバッファの状態数は、前記第１のステータス信号チャネルに出力される前記バッファ状態情報によって識別可能な前記データバッファの状態数より大きいことを特徴とする請求項１に記載の通信システム。
【請求項８】
前記バッファ状態情報は、少なくともバッファアドレスと前記データバッファの使用状況を示すバッファ蓄積情報とを含み、
前記バッファ状態情報挿入部は、前記バッファアドレスと前記バッファ蓄積情報とをExtension Controlに割り当てて前記バッファ状態情報を転送する請求項１記載の通信システム。
【請求項９】
前記データバッファがＦＩＦＯバッファである請求項１乃至７のいずれかに記載の通信システム。
【請求項１０】
対向装置との間でデータ送受信を行うＳＰＩ−４ Ｐｈａｓｅ２規格の通信装置であって、
前記対向装置にペイロードデータを送信するためのデータ送信ポートと、
前記対向装置からペイロードデータを受信するためのデータ受信ポートと、
前記データ受信ポートにより受信されたペイロードデータを格納するデータバッファと、
前記データバッファの使用状態を示すバッファ状態情報を周期的に前記対向装置に送信するために設けられ、前記データ送信ポートよりデータ転送レートが低いステータス送信ポートと、
前記バッファ状態情報を前記第１のステータス信号ポートに出力するバッファ状態情報出力部と、
前記バッファ状態情報を前記ペイロードデータの間に挿入して前記データ送信ポートに出力するバッファ状態情報挿入部と、
を備える通信装置。
【請求項１１】
前記バッファ状態情報挿入部は、前記データバッファに格納されたデータ量が予め定められた閾値を超えた場合に、前記ペイロードデータ間への前記バッファ状態情報の挿入を行う請求項１０に記載の通信装置。
【請求項１２】
前記バッファ状態情報挿入部は、前記バッファ状態情報の優先度に基づいて、前記ペイロードデータ間へ前記バッファ状態情報を挿入するか否かを決定する請求項１０に記載の通信装置。
【請求項１３】
前記バッファ状態情報挿入部は、前記バッファ状態情報に加えて、前記データバッファを識別するための識別情報を前記ペイロードデータに挿入する請求項１０に記載の通信装置。
【請求項１４】
前記ペイロードデータに挿入される前記バッファ状態情報の単位時間当たりの送信データ量は、前記ステータス送信ポートより送信される前記バッファ状態情報の前記単位時間当たりの送信データ量より大きいことを特徴とする請求項１０乃至１３のいずれかに記載の通信装置。
【請求項１５】
前記ペイロードデータに挿入される前記バッファ状態情報によって識別可能な前記データバッファの状態数は、前記ステータス送信ポートより送信される前記バッファ状態情報によって識別可能な前記データバッファの状態数より大きいことを特徴とする請求項１０乃至１３のいずれかに記載の通信装置。
【請求項１６】
前記データバッファがＦＩＦＯバッファである請求項１０乃至１５のいずれかに記載の通信装置。
【請求項１７】
自局デバイスと、対向デバイスと、前記自局デバイスから前記対向デバイスにペイロードデータを転送する第１のデータ信号チャネルと、前記対向デバイスから前記自局デバイスにペイロードデータを転送する第２のデータ信号チャネルと、前記自局デバイスから前記対向デバイスにデータ転送可能な第１のステータス信号チャネルとを備えるＳＰＩ−４ Ｐｈａｓｅ２規格の通信システムにおけるフロー制御方法であって、
前記自局デバイスが、前記第２のデータ信号チャネルにより受信されたペイロードデータを格納するデータバッファの使用状態を示すバッファ状態情報を前記第１のステータス信号チャネルに周期的に送信し、
前記自局デバイスが、前記バッファ状態情報の優先度に応じて、前記バッファ状態情報を前記ペイロードデータの間に選択的に挿入して前記第１のデータ信号チャネルに出力し、
前記対向デバイスが、前記第１のステータス信号チャネル及び前記第１のデータ信号チャネルを介して受信される前記状態情報に基づいて、前記第２のデータ信号チャネルへのペイロードデータの出力を制御する、フロー制御方法。
【請求項１８】
前記自局デバイスによる前記ペイロードデータ間への前記バッファ状態情報の挿入は、前記データバッファに格納されたデータ量が予め定められた閾値を超えたことに応じて実行される請求項１７に記載のフロー制御方法。
【請求項１９】
前記自局デバイスが、前記バッファ状態情報の優先度に基づいて、前記ペイロードデータ間へ前記バッファ状態情報を挿入するか否かを決定する請求項１７に記載のフロー制御方法。
【請求項２０】
前記自局デバイスは、前記バッファ状態情報に加えて、前記データバッファを識別するための識別情報を前記ペイロードデータに挿入する請求項１７に記載のフロー制御方法。
【請求項２１】
前記ペイロードデータに挿入される前記バッファ状態情報の単位時間当たりの送信データ量は、前記第１のステータス信号チャネルに出力される前記バッファ状態情報の前記単位時間当たりの送信データ量より大きいことを特徴とする請求項１７に記載のフロー制御方法。
【請求項２２】
前記ペイロードデータに挿入される前記バッファ状態情報により識別可能な前記データバッファの状態数は、前記第１のステータス信号チャネルに出力される前記バッファ状態情報によって識別可能な前記データバッファの状態数より大きいことを特徴とする請求項１７に記載のフロー制御方法。
【請求項２３】
前記データバッファがＦＩＦＯバッファである請求項１７乃至２２のいずれかに記載のフロー制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信装置に関し、特に、対向する通信装置の間でフロー制御を実行する通信装置に関する。
【背景技術】
【０００２】
異なる製造者により製造される通信デバイス間の相互接続性を保障することを目的として、ＯＩＦ（Optical Internetworking Forum）により規定された通信インタフェース規格にＳＰＩ−４ Ｐｈａｓｅ２規格がある。ＳＰＩ−４ Ｐｈａｓｅ２規格の詳細は、非特許文献１に規定されている。以下では、ＳＰＩ−４ Ｐｈａｓｅ２規格により規定される通信インタフェースをＳＰＩ−４インタフェースと呼ぶ。
【０００３】
ＳＰＩ−４インタフェースは、リンクレイヤ・デバイスとＰＨＹデバイスを相互接続するために規定されたインタフェースである。ＳＰＩ−４インタフェースにより接続されるリンクレイヤ・デバイス及びＰＨＹデバイスのブロック図を図８に示す。図８に示すリンクレイヤ・デバイス７は、対向するＰＨＹデバイスにペイロードデータ（Payload Data）を送信するための送信部７１及びＰＨＹデバイス８から送信されたペイロードデータを受信する受信部７２を有する。なお、ＳＰＩ−４ Ｐｈａｓｅ２規格では、ペイロードデータがリンクレイヤ・デバイス７からＰＨＹデバイス８に向かう方向を"送信方向"と定義し、ＰＨＹデバイス８からリンクレイヤ・デバイス７に向かう方向を"受信方向"と定義している。
【０００４】
図８に示すように、ＳＰＩ−４インタフェースは、送信データ信号チャネル（ＴＤＡＴ）、送信コントロール信号チャネル（ＴＣＴＬ）、及び送信データクロックチャネル（ＴＤＣＬＫ）を含む。ＴＤＡＴは、送信部７１からＰＨＹデバイス８にペイロードデータを送信するための１６ビット幅を有するチャネルである。ＴＣＴＬは、送信部７１からＰＨＹデバイス８にコントロール信号を送信するためのチャネルである。ＴＣＴＬは、ＴＤＡＴで転送されるデータの種別をＰＨＹデバイス８に通知するための信号である。具体的には、ＴＣＴＬがＨｉｇｈレベルであるときは、ＴＤＡＴにコントロールワードが存在することを意味する。一方、ＴＣＴＬがＬＯＷレベルであるときは、ＴＤＡＴにペイロードデータが存在することを意味する。ＴＤＣＬＫは、ＴＤＡＴ及びＴＣＴＬの送信クロックを転送するチャネルである。ＴＤＡＴ及びＴＣＴＬの各信号チャネルは、ＴＤＣＬＫの立ち上がり及び立ち下がりの両方のエッジに同期して値が変化する。
【０００５】
ＴＤＡＴ、ＴＣＴＬ及びＴＤＣＬＫの送信波形の一例を図９に示す。図９において、"Ｄ"はペイロードデータを示し、"ＰＣ"はＳＩＰ−４ Ｐｈａｓｅ２規格に規定されるペイロード・コントロールワードを示している。ＴＤＡＴのペイロードデータ部分には、ＰＨＹデバイス８に送信されるＡＴＭセルやＩＰパケット等がマッピングされる。なお、ペイロードデータについては、非特許文献１にその詳細が示されている（例えば図５．２を参照）。
【０００６】
さらに、ＳＰＩ−４インタフェースは、送信ステータス信号チャネル（ＴＳＴＡＴ）及び送信ステータスクロックチャネル（ＴＳＣＬＫ）を含む。ＴＳＴＡＴは、ＰＨＹデバイス８から送信部７１にＦＩＦＯ情報を送信するための２ビット幅を有するチャネルである。ＴＳＴＡＴにより送信されるＦＩＦＯ情報は、ＰＨＹデバイス８がＴＤＡＴにより受信したペイロードデータを格納するために有するＦＩＦＯバッファの使用状態を示す情報である。ＴＳＣＬＫは、ＴＳＴＡＴの送信クロックを転送するチャネルである。ＴＳＴＡＴの各信号チャネルは、ＴＳＣＬＫの立ち上がりエッジに同期して値が変化する。
【０００７】
ＴＳＴＡＴ及びＴＳＣＬＫの送信波形の一例を図１０に示す。図１０において、"Ｆ"は、ＴＳＴＡＴで送信されるデータフレームの先頭位置を示すとともにデータフレームの同期を取るためのフレーミング・パタンである。"Ｓ０乃至Ｓ１５"は、ＦＩＦＯ情報がマッピングされるステータスワードである。ステータスワードとは、ＦＩＦＯバッファに格納されたデータ量を示す情報（ＦＩＦＯ情報）であって、ＳＰＩ−４ Ｐｈａｓｅ２規格では、２ビットのデータとしてあらわされる。図１０に示す例では、ＴＳＴＡＴの１フレーム内に１６個のステータスワード（Ｓ０乃至Ｓ１５の）が含まれるため、１６個のＦＩＦＯバッファに関するＦＩＦＯ情報を転送可能である。また、"ＤＩＰ２"は、誤り検出用のパリティ・ビットである。ＴＳＴＡＴの１フレーム内に含まれるステータスワードの数（長さ）は、送信すべきＦＩＦＯ情報の数、つまりＦＩＦＯバッファの数に応じて決定される。なお、ＳＰＩ−４ Ｐｈａｓｅ２規格では、ＴＳＴＡＴの１フレーム内に含まれるステータスワード長をカレンダー長と呼ぶ。また、各ＦＩＦＯバッファに関するＦＩＦＯ情報は、１フレーム毎に周期的に転送される。つまり、複数のＦＩＦＯバッファには、各ＦＩＦＯバッファの識別子に応じてＴＳＴＡＴのフレーム内の特定のタイムスロット（ステータスワード）が割り付けられ、１フレーム毎に周期的に転送される。
【０００８】
ＳＰＩ−４インタフェースは、ペイロードデータがＰＨＹデバイス８からリンクレイヤ・デバイス７に向かう受信方向についても上述した送信方向と同様のチャネルを有する。具体的に述べると、ＳＰＩ−４インタフェースは、受信データ信号チャネル（ＲＤＡＴ）、受信コントロール信号チャネル（ＲＣＴＬ）、及び受信データクロックチャネル（ＲＤＣＬＫ）を含む。さらに、ＳＰＩ−４インタフェースは、受信ステータス信号チャネル（ＲＳＴＡＴ）及び受信ステータスクロックチャネル（ＲＳＣＬＫ）を含む。これらのチャネルの用途及び送信波形は、送信方向の対応するチャネルと同様であるため説明を省略する。
【０００９】
なお、上述したデータクロック（ＴＤＣＬＫ及びＲＤＣＬＫ）の周波数は、ステータスクロック（ＴＳＣＬＫ及びＲＳＣＬＫ）の周波数の４倍に規定されている。このため、ステータスクロック（ＴＳＣＬＫ及びＲＳＣＬＫ）の１周期を単位時間とすると、図１１に示すように、ステータス信号チャネル（ＴＳＴＡＴ及びＲＳＴＡＴ）で１つのステータスワードが転送される間に、データ信号チャネル（ＴＤＡＴ及びＲＤＡＴ）で８つのデータワードを転送可能である。ステータ信号チャネル（ＴＳＴＡＴ及びＲＳＴＡＴ）は２ビット幅であり、データ信号チャネル（ＴＤＡＴ及びＲＤＡＴ）は１６ビット幅であるから、つまり、データ信号チャネルはステータス信号チャネルの３２倍のデータ転送レートを有する。
【００１０】
次に、図８に示すリンクレイヤ・デバイス７に含まれる構成要素について説明する。受信部７２は、ＲＤＡＴにより受信したデータを格納するための４つのＦＩＦＯバッファ１２２乃至１２５を有している。なお、受信部７２が備えるべきＦＩＦＯバッファ数がＳＰＩ−４ Ｐｈａｓｅ２規格において規定されているわけではなく、図８に示すＦＩＦＯバッファ数が一例であることはもちろんである。ＲＤＡＴにより受信されたデータは、受信データ分配部１２１により４つのＦＩＦＯバッファ１２２乃至１２５に振り分けられる。ＦＩＦＯ情報出力部１２６は、ＦＩＦＯバッファ１２２乃至１２５による受信データの格納状況に応じたＦＩＦＯ情報を生成し、生成されたＦＩＦＯ情報をＲＳＴＡＴに出力する。
【００１１】
送信部７１が有するデータ出力部７１１は、ＴＤＡＴにペイロードデータ及びコントロールワードを出力する。また、ＦＩＦＯ情報受信部１１２は、対向するＰＨＹデバイス８よりＴＳＴＡＴを介して取得したＦＩＦＯ情報に基づいて、データ出力部７１１に停止信号を出力する。なお、ＦＩＦＯ情報を用いたフロー制御の詳細については後述する。停止信号を受信したデータ出力部７１１は、停止信号が解除されるまでの間、ＴＤＡＴに接続されたデータ送信ポートに対するデータ出力を停止する。
【００１２】
続いて以下では、従来のＳＰＩ−４インタフェースにおけるＦＩＦＯ情報を用いたフロー制御について説明する。ＳＰＩ−４ Ｐｈａｓｅ２規格では、データ信号チャネル（ＴＤＡＴ及びＲＤＡＴ）を介して受信されたデータを格納するためのＦＩＦＯバッファの使用状態を、ＳＴＡＲＶＩＮＧ、ＨＵＮＧＲＹ、及びＳＡＴＩＳＦＩＥＤの３つの状態のいずれかに分類している。また、これら３つの使用状態に対して、２ビットのＦＩＦＯ情報によりユニークなビットパタンが割り当てられている。ＦＩＦＯバッファの使用状態とＦＩＦＯ情報の関係を図１２に示す。ＳＴＡＲＶＩＮＧ状態は、バッファ・アンダーフローが発生しそうな状況を示しており、ＦＩＦＯの格納データ量が第１の閾値ＡＥを下回る場合にＳＴＡＲＶＩＮＧ状態と判定される。ＳＴＡＲＶＩＮＧ状態を示すＦＩＦＯ情報のビットパタンは、"００"である。ＳＡＴＩＳＦＩＥＤ状態は、ＦＩＦＯが殆ど一杯であることを示しており、ＦＩＦＯの格納データ量が第２の閾値ＡＦを上回る場合にＳＡＴＩＳＦＩＥＤ状態と判定される。なお、第２の閾値ＡＦが第１の閾値ＡＥより大きい値であることはもちろんである。ＳＡＴＩＳＦＩＥＤ状態を示すＦＩＦＯ情報のビットパタンは、"１０"である。最後に、ＨＵＮＧＲＹ状態は、ＳＴＡＲＶＩＮＧ状態とＳＡＴＩＳＦＩＥＤ状態の間の状態を示している。ＨＵＮＧＲＹ状態を示すＦＩＦＯ情報のビットパタンは、"０１"である。
【００１３】
リンクレイヤ・デバイス７及びＰＨＹデバイス８は、ステータス信号チャネル（ＴＳＴＡＴ及びＲＳＴＡＴ）により対向するデバイスから受信したＦＩＦＯ情報に応じて、自らのデータ送信レートを調整するフロー制御を実行する。具体的には、受信したＦＩＦＯ情報がＳＴＡＲＶＩＮＧ状態を示す場合は、データ信号チャネル（ＴＤＡＴ及びＲＤＡＴ）に最も高いデータ送信レートを適用する。受信したＦＩＦＯ情報がＨＵＮＧＲＹ状態を示す場合は、データ信号チャネル（ＴＤＡＴ及びＲＤＡＴ）のデータ送信レートをＳＴＡＲＶＩＮＧ状態の場合に比べて低下させる。また、受信したＦＩＦＯ情報がＳＡＴＩＳＦＩＥＤ状態を示す場合は、次にＦＩＦＯ情報が変化するまでの間、少なくともＳＡＴＩＳＦＩＥＤ状態であるＦＩＦＯバッファに対するデータ信号チャネル（ＴＤＡＴ及びＲＤＡＴ）によるデータ送信を停止させる。
【非特許文献１】"OIF-SPI4-02.10, OIF System Packet Interface Level4 (SPI-4) Phase 2 Revision 1: OC-192 System Interface for Physical and Link Layer Devices"、[online]、2003年10月15日、[平成19年1月19日検索]、インターネット＜URL： http://www.oiforum.com/public/documents/OIF-SPI4-2.01.pdf＞
【特許文献１】米国特許第６５２２２７１号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１４】
上述した従来のＳＰＩ−４インタフェースにおけるＦＩＦＯ情報を用いたフロー制御には、以下に述べる２つの問題点がある。
【００１５】
まず第１に、ＦＩＦＯ情報に優先度をつけることができないという問題点がある。従来のＳＰＩ−４インタフェースでは、複数のＦＩＦＯバッファそれぞれの状態を示すＦＩＦＯ情報は、全て一律に、ステータス信号チャネル（ＴＳＴＡＴ及びＲＳＴＡＴ）によって定期的に対向側に転送される。このため、従来のＳＰＩ−４インタフェースは、突発的に発生する緊急性の高いＦＩＦＯ情報の転送要求に対応することが困難である。
【００１６】
第２に、カレンダー長が長くなるに応じて、ＦＩＦＯバッファの状態変化の発生から対向側のデバイスにてフロー制御が実行されるまでに要する時間の最大値（以下、ワースト応答時間と呼ぶ）が長くなるという問題点がある。ワースト応答時間が長いほど第２の閾値ＡＦを低く設定する必要があるため、上述した第２の問題点はＦＩＦＯバッファの使用効率の低下を招く。
【００１７】
図１３及び１４を参照して、第２の問題点について詳しく説明する。図１３は、ＲＳＴＡＴにより転送されるデータフレームの一例を示している。図１３の例によれば、１０個のステータスワード（Ｓ１〜Ｓ１０）によって１０個のＦＩＦＯバッファに関するＦＩＦＯ情報が周期的に転送される。また、図１３は、リンクレイヤ・デバイスが有する識別番号＃５のＦＩＦＯバッファの状態がＨＵＮＧＲＹ状態からＳＡＴＩＳＦＩＥＤ状態に変化し、これに応じて、ＰＨＹデバイスによるＲＤＡＴへのデータ送信が停止されるまでの応答時間を示している。この応答時間は、図１３に示す遅延時間Ｌａｔ＿ａ、ＴＳ、及びＬａｔ＿ｃの和により定まる。つまりこの応答時間は、ＦＩＦＯ情報Ｓ５（識別番号＃５のＦＩＦＯバッファの状態を示す情報）が更新されない最長時間（ワーストケース）を示すものである。
【００１８】
図１３において、遅延時間Ｌａｔ＿ａは、ＦＩＦＯバッファ＃５の状態が変化してからＦＩＦＯ情報が生成・更新されるまでの時間である。ＴＳは、フレーミング・パタンが繰り返される期間の１周期分の時間である（図１０においては、１８×ＴＳＴＡＴクロックの１周期の時間）。また、遅延時間Ｌａｔ＿ｃは、更新されたＦＩＦＯ情報がリンクレイヤ・デバイスにより送信されてから対向するＰＨＹデバイスがフロー制御を実行するまでの時間である。なお、図１３及び１４に示すＬａｔ＿ｂは、カレンダー長×ステータス・クロック１周期の時間（ＴＳＴＡＴクロックの１周期の時間)である。
【００１９】
上述した３つの遅延時間のうち、Ｌａｔ＿ａ及びＬａｔ＿ｃは一定である。一方、遅延時間Ｌａｔ＿ｂは、カレンダー長に依存して変動する時間である。このため、従来のＳＰＩ−４インタフェースにおけるワースト応答時間ＬＷＰは、図１３に示すように、Ｌａｔ＿ａ、Ｌａｔ＿ｃ及びＴＳの和で表される。ＴＳＴＡＴのデータフレーム周期ＴＳはカレンダー長が大きくなるにしたがって大きくなるため、ワースト応答時間ＬＷＰもカレンダー長が大きくなるにしたがって大きくなる。
【課題を解決するための手段】
【００２０】
本発明にかかる通信システムは、ＳＰＩ−４ Ｐｈａｓｅ２規格の通信システムであって、自局デバイスと、対向デバイスと、前記自局デバイスから前記対向デバイスにペイロードデータを転送する第１のデータ信号チャネルと、前記対向デバイスから前記自局デバイスにペイロードデータを転送する第２のデータ信号チャネルと、前記自局デバイスから前記対向デバイスにデータ転送可能な第１のステータス信号チャネルとを有する通信システムである。さらに、前記自局デバイスは、前記第２のデータ信号チャネルにより受信されたペイロードデータを格納するデータバッファと、前記データバッファの使用状態を示すバッファ状態情報を周期的に前記第１のステータス信号チャネルに出力するバッファ状態情報出力部と、前記バッファ状態情報の優先度に応じて、前記バッファ状態情報を前記ペイロードデータの間に選択的に挿入し、前記第１のデータ信号チャネルに出力するバッファ状態情報挿入部とを有する。また、前記対向デバイスは、前記第１のステータス信号チャネル及び前記第１のデータ信号チャネルを介して受信される前記バッファ状態情報に基づいて、前記第２のデータ信号チャネルへのペイロードデータの出力を制御するフロー制御手段を有する。
【００２１】
本発明の通信システムをＳＰＩ−４インタフェースと対応させると、例えば、第１のデータ信号チャネルがＴＤＡＴに相当し、第２のデータ信号チャネルがＲＤＡＴに相当し、第１のステータス信号チャネルがＲＳＴＡＴに相当し、バッファ状態情報がＦＩＦＯ情報に相当する。
【００２２】
上述のように本発明にかかる通信システムは、バッファ状態情報（ＦＩＦＯ情報）の優先度に応じて、バッファ状態情報（ＦＩＦＯ情報）をペイロードデータの間に選択的に挿入し、第１のデータ信号チャネル（ＴＤＡＴ）に出力する。このため、優先的に緊急に送信すべきバッファ状態情報を、第１のステータス信号チャネル（ＲＳＴＡＴ）による送信を待つことなく、第１のデータ信号チャネル（ＴＤＡＴ）を使用して送信することができる。つまり、従来のＳＰＩ−４インタフェースにおいて、全てのＦＩＦＯ情報をステータス信号チャネルによって周期的に転送する構成とは異なり、ＦＩＦＯ情報に優先度をつけ、このような優先度の高いＦＩＦＯ情報に従って速やかにフロー制御を行うことができる。
【００２３】
また、優先的に緊急に送信すべきバッファ状態情報を、第１のステータス信号チャネル（ＲＳＴＡＴ）による送信を待つことなく、第１のデータ信号チャネル（ＴＤＡＴ）を使用して送信することによってデータバッファ（ＦＩＦＯバッファ）の状態変化が発生してから対向側のデバイスにおいてフロー制御が実行されるまでのワースト応答時間は、カレンダー長に依存しないという利点がある。つまり、カレンダー長が長くなってもワースト応答時間は悪化しないため、データバッファ（ＦＩＦＯバッファ）の使用効率を向上させることができる。
【発明の効果】
【００２４】
本発明により、ＳＰＩ−４インタフェースのようにフロー制御を行う通信システムにおいて、ＦＩＦＯ情報の送信を優先度に基づいて行うことができ、ワースト応答時間のカレンダー長への依存性をなくすことができる。
【発明を実施するための最良の形態】
【００２５】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。なお、以下に示す実施の形態では、ペイロードデータを格納するデータバッファをＦＩＦＯバッファとした場合について説明する。
【００２６】
発明の実施の形態１．
本実施の形態にかかる通信システムのブロック図を図１に示す。図１に示す通信システムは、本発明により改良されたＳＰＩ−４インタフェースにより接続されるリンクレイヤ・デバイス１及びＰＨＹデバイス２を含んで構成される。
【００２７】
リンクレイヤ・デバイス１は、送信部１１及び受信部１２を有する。受信部１２が有する受信データ分配部１２１、ＦＩＦＯバッファ１２２乃至１２５、並びにＦＩＦＯ情報（バッファ状態情報）出力部１２６はそれぞれ、上述した従来の受信部７２が有する各構成要素と同一でよい。
【００２８】
送信部１１が有するデータ出力部１１１は、ＴＤＡＴにペイロードデータ及びコントロールワードを出力する点と、ＦＩＦＯ情報（バッファ状態情報）受信部１１２より出力される停止信号に応じてデータ出力を停止する点においては、従来の送信部７１が有するデータ出力部７１１と同様である。これらに加えてデータ出力部１１１は、ＦＩＦＯ情報挿入部１１３を有している。
【００２９】
ＦＩＦＯ情報（バッファ状態情報）挿入部１１３は、ＦＩＦＯバッファ１２２乃至１２５のデータ格納状況を示すＦＩＦＯ情報（バッファ状態情報）をペイロードデータの間に挿入してＴＤＡＴに出力することができる。なお、ＦＩＦＯ情報をペイロードデータの間に挿入してＴＤＡＴに出力するか否かを決定するためのトリガ要因は様々に設定可能であるが、本実施の形態では、ＦＩＦＯ情報をＴＤＡＴに出力するか否かをＦＩＦＯ情報の優先度に応じて決定することとする。例えば、ＦＩＦＯバッファ１２１乃至１２５のうちのいずれかの使用状態がＳＡＴＩＳＦＩＥＤ状態に変化した場合に、この状態変化を示すＦＩＦＯ情報と、状態変化のあったＦＩＦＯバッファを一意に識別可能な識別情報（以下では、ＦＩＦＯアドレスと呼ぶ）をＴＤＡＴに出力すればよい。また、別の例として、ＦＩＦＯバッファ１２１乃至１２５のうち、予め高い優先度を設定されたＦＩＦＯバッファの状態変化に応じて、この状態変化を示すＦＩＦＯ情報及び対応するＦＩＦＯアドレスをＴＤＡＴに出力してもよい。
【００３０】
一方、図１に示すＰＨＹデバイス２は、図８に示したＰＨＹデバイス８と比較して、リンクレイヤ・デバイス１からＴＤＡＴを用いて転送されるＦＩＦＯ情報に基づいてフロー制御を実行できるように改良されている点が異なる。
【００３１】
ＰＨＹデバイス２が有する送信部２１は、データ出力部２１１及びＦＩＦＯ情報受信部２１２を含んで構成される。データ出力部２１１は、ＲＤＡＴにペイロードデータ及びコントロールワードを出力する。また、ＦＩＦＯ情報受信部２１２は、対向するリンクレイヤ・デバイス１よりＲＳＴＡＴを介して取得したＦＩＦＯ情報に基づいて、データ出力部２１１に停止信号Ｓ１を出力する。停止信号Ｓ１の出力は、例えば、ＦＩＦＯ情報により示されるＦＩＦＯバッファ１２１乃至１２５のいずれかの使用状態がＳＡＴＩＳＦＩＥＤ状態である場合に行われる。停止信号Ｓ１を受信したデータ出力部２１１は、停止信号が解除されるまでの間、ＲＤＡＴに接続されたデータ送信ポートに対するデータ出力を停止する。より具体的に述べると、データ出力部２１１は、ＦＩＦＯバッファ１２１乃至１２５のうち、少なくともＳＡＴＩＳＦＩＥＤ状態であるＦＩＦＯバッファに対するペイロードデータの送信を停止する。
【００３２】
ＰＨＹデバイス２が有する受信部２２は、ＦＩＦＯ情報抽出部２２１を含んで構成されている。ＦＩＦＯ情報抽出部２２１は、ＴＤＡＴを転送されるペイロードデータの間に挿入されたＦＩＦＯ情報を抽出し、抽出されたＦＩＦＯ情報に基づいて、データ出力部２１１に停止信号Ｓ２を出力する。なお、停止信号Ｓ２の出力は、例えば、ＦＩＦＯ情報により示されるＦＩＦＯバッファ１２１乃至１２５のいずれかの使用状態がＳＡＴＩＳＦＩＥＤ状態である場合に行われる。停止信号Ｓ２を受信したデータ出力部２１１の動作は、上述した停止信号Ｓ１を受信した場合と同様である。
【００３３】
続いて以下では、ＦＩＦＯ情報挿入部１１３により行われるペイロードデータへのＦＩＦＯ情報の挿入処理について、図２を用いて説明する。図２は、ＴＤＡＴに転送されるペイロードデータにＦＩＦＯ情報を挿入する際の波形図を示している。図２の上段に示す３つの信号ＴＤＣＬＫ、ＴＣＴＬ及びＴＤＡＴは、ＴＤＡＴにＦＩＦＯ情報が挿入されていない場合の信号波形図である。一方、図２の下段に示す２つの信号ＴＣＴＬ及びＴＤＡＴは、ＴＤＡＴにＦＩＦＯ情報３２が挿入された場合の信号波形図である。ＦＩＦＯ情報３２の挿入によって、ペイロードデータが前半部分３１と後半部分３３に分割される。また、ＦＩＦＯ情報が挿入されていることを対向するＰＨＹデバイス２に伝達するために、ＦＩＦＯ情報の挿入に応じてＴＣＴＬがＨｉｇｈレベルに設定される。
【００３４】
なお、図２において、"ＰＣ"は、ＳＰＩ−４ Ｐｈａｓｅ２規格で規定されたペイロード・コントロールワードを示している。また、"ＥＯＥ"は、ＳＰＩ−４ Ｐｈａｓｅ２規格Ａｐｐｅｎｄｉｘ Ｅに規定された"End of Control Word Extension"を示している。図２に示した例では、ＰＣ及びＥＯＥの組合せによってＦＩＦＯ情報を転送している。
【００３５】
ＰＣ及びＥＯＥの４バイトによって１つのＦＩＦＯバッファに関するＦＩＦＯ情報を転送する場合のビット割り当ての一例を図３に示す。図３に示す例では、ＰＣの第４ビットから第１１ビットまでをＦＩＦＯアドレスの転送のために割り当て、ＥＯＥの第４ビットから第１１ビットまでをＦＩＦＯバッファの使用状況を示すＦＩＦＯ蓄積情報の転送のために割り当てている。これら以外のＰＣ及びＥＯＥの各ビットの内容は、ＳＰＩ−４ Ｐｈａｓｅ２規格により規定されている。
【００３６】
図３に示すビット割り当てによれば、ＥＯＥに含まれる８ビットをＦＩＦＯの使用状態を示すＦＩＦＯ蓄積情報に割り当てている。このため、最大２５６通りの詳細なＦＩＦＯバッファの使用状態を対向するデバイスに伝達することができる。したがって、従来の３通りの状態の区別に基づくフロー制御に比べて、より詳細なフロー制御を行うことができる。また、図３に示す例では、ＦＩＦＯアドレスを併せて転送しているため、データ停止の対象とすべきＦＩＦＯバッファを特定し、当該ＦＩＦＯバッファに対するデータ送信のみを選択的に停止することができる。
【００３７】
なお、ＰＣ及びＥＯＥの４バイトによってＦＩＦＯ情報を転送する図２及び３に示した構成は一例に過ぎない。例えば、図４に示すように、ＰＣ及びＥＯＥだけではなく、ＳＰＩ−４ Ｐｈａｓｅ２規格Ａｐｐｅｎｄｉｘ Ｅに規定された"ＥＸＴ（Extension Control）"をＦＩＦＯ情報の転送に使用してもよい。
【００３８】
また、図５に示すように、ＰＣ及びＥＯＥそれぞれによって、１つのＦＩＦＯバッファに関するＦＩＦＯ情報が転送されてもよい。このような構成によれば、図３に示す例に比べて、対向するデバイスに対するＦＩＦＯ情報の伝達をより短時間で行うことができる。
【００３９】
上述したように、本実施の形態では、リンクレイヤ・デバイス１が、優先的に緊急に送信すべきＦＩＦＯ情報を、ステータス信号チャネル（ＲＳＴＡＴ）による送信を待つことなく、データ信号チャネル（ＴＤＡＴ）を使用して送信することとしている。また、ＰＨＹデバイス２は、データ信号チャネル（ＴＤＡＴ）より受信したＦＩＦＯ情報に応じてフロー制御を実行する。つまり、従来のＳＰＩ−４インタフェースにおいて、全てのＦＩＦＯ情報をステータス信号チャネルによって周期的に転送する構成とは異なり、ＦＩＦＯ情報に優先度をつけ、このような優先度の高いＦＩＦＯ情報に従って速やかにフロー制御を行うことができる。
【００４０】
また、本実施の形態では、優先的に緊急に送信すべきＦＩＦＯ情報を、ステータス信号チャネル（ＲＳＴＡＴ）による送信を待つことなく、データ信号チャネル（ＴＤＡＴ）を使用して送信する。このため、ＦＩＦＯバッファの状態変化が発生してから対向側のデバイスにおいてフロー制御が実行されるまでのワースト応答時間は、カレンダー長に依存しないという利点がある。つまり、本実施の形態におけるワースト応答時間ＬＷＮは、図６に示すようにカレンダー長に拠らず一定となる。このように、ワースト応答時間ＬＷＮを固定遅延成分のみによって推定することができれば、上述した第１の閾値ＡＥ及び第２の閾値ＡＦを決定する等のシステム設計が容易となる。また、カレンダー長が長くなってもワースト応答時間は悪化しないため、ＦＩＦＯバッファ１２１乃至１２５の使用効率を向上させることができる。
【００４１】
またさらに、ステータス信号チャネル（ＲＳＴＡＴ）に比べてデータ送信レートが高いデータ信号チャネル（ＴＤＡＴ）を使用してＦＩＦＯ情報を送信するため、対向側のデバイスによるフロー制御が実行されるまでの応答時間を短縮することができる。加えて、図３乃至５に示したように、ステータス信号チャネルを使用する場合に比べて、従来のＦＩＦＯ情報より詳細な情報を短い時間で転送可能である。
【００４２】
なお、本実施の形態に関する上述した説明では、説明の簡略化のために、受信方向のフロー制御をデータ信号チャネル（ＴＤＡＴ）により転送されるＦＩＦＯ情報を用いて行う構成について示した。しかしながら、送信方向のフロー制御をデータ信号チャネル（ＲＤＡＴ）により転送されるＦＩＦＯ情報を用いて行うこともできる。
【００４３】
発明の実施の形態２．
発明の実施の形態１では、突発的に発生する緊急性の高いＦＩＦＯ情報の転送を、データ信号チャネル（ＴＤＡＴ及びＲＤＡＴ）を用いて行うことした。このような発明の実施の形態１の動作に代えて、又は、発明の実施の形態１の動作に加えて、データ信号チャネル（ＴＤＡＴ及びＲＤＡＴ）を用いて周期的にＦＩＦＯ情報を転送してもよい。
【００４４】
図７は、データ信号チャネル（ＴＤＡＴ及びＲＤＡＴ）を用いて周期的にＦＩＦＯ情報を転送する例を示す波形図である。予めＦＩＦＯ情報の送信順序を決定しておけば、周期的にＦＩＦＯ情報を送信する際にＦＩＦＯアドレスを併せて転送することは不要となる。すなわち、図７に示すように、ＦＩＦＯ情報の転送に使用可能なコントロールワードの第４ビットから第１１ビットを全てＦＩＦＯ蓄積情報の転送に使用することができる。図７の例では、各ＦＩＦＯバッファの使用状態を示すためのＦＩＦＯ蓄積情報のビット数は、従来と同様に２ビットとしている。上述したように、ＳＰＩ−４ Ｐｈａｓｅ２において、データクロック（ＲＤＣＬＫ及びＴＤＣＬＫ）はステータスクロック（ＲＳＣＬＫ及びＴＳＣＬＫ）の４倍の周波数とされている。さらに、データクロック（ＲＤＣＬＫ及びＴＤＣＬＫ）の立ち上がり及び立ち下がりの両方のエッジを使用してＴＤＡＴにデータ信号が送信される。このため、本実施の形態におけるＦＩＦＯ情報の転送レートは、従来に比べて３２倍に高速化される。
【００４５】
その他の実施の形態．
上述した発明の実施の形態１及び２において、ＦＩＦＯ情報の転送に、データ信号チャネル（ＴＤＡＴ及びＲＤＡＴ）のみを使用するか、ステータス信号チャネル（ＴＳＴＡＴ及びＲＳＴＡＴ）のみを使用するか、又は、これら両方のチャネルを併用するかを選択可能としてもよい。
【００４６】
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施の形態にかかるＳＰＩ−４．２インタフェースにより接続されるリンクレイヤ・デバイスとＰＨＹデバイスの構成図である。
【図２】データ信号チャネルを用いたフロー制御を説明するための図である。
【図３】データ信号チャネルに挿入されるＦＩＦＯ情報の一例を示す図である。
【図４】データ信号チャネルに挿入されるＦＩＦＯ情報の一例を示す図である。
【図５】データ信号チャネルに挿入されるＦＩＦＯ情報の一例を示す図である。
【図６】本発明の実施の形態にかかるデータ信号チャネルを用いたフロー制御を行う場合のワースト応答時間を示すグラフである。
【図７】データ信号チャネルに挿入されるＦＩＦＯ情報の一例を示す図である。
【図８】従来のＳＰＩ−４．２インタフェースにより接続されるリンクレイヤ・デバイスとＰＨＹデバイスの構成図である。
【図９】データ信号チャネルにより送信されるデータ信号（ペイロードデータ及びコントロールワード）を示す図である。
【図１０】ステータス信号チャネルにより送信されるステータス信号を示す図である。
【図１１】ステータス信号チャネルとデータ信号チャネルのデータ転送レートの違いを説明するための図である。
【図１２】ＦＩＦＯの使用状態とＦＩＦＯ情報のフォーマットの関係を示す図である。
【図１３】従来のＳＰＩ−４．２インタフェースによるフロー制御によるワースト応答時間を説明するための図である。
【図１４】従来のＳＰＩ−４．２インタフェースによるフロー制御を行う場合のワースト応答時間を示すグラフである。
【符号の説明】
【００４８】
１  リンクレイヤ・デバイス
１１  送信部
１２  受信部
１１１  データ出力部
１１２  ＦＩＦＯ情報受信部
１１３  ＦＩＦＯ情報挿入部
１２１  受信データ分配部
１２２乃至１２５  ＦＩＦＯバッファ
１２６  ＦＩＦＯ情報出力部
２  ＰＨＹデバイス
２１  送信部
２２  受信部
２１１  データ出力部
２１２  ＦＩＦＯ情報受信部
２２１  ＦＩＦＯ情報抽出部
【図１】
2008187336.tif 000003
【図２】
2008187336.tif 000004
【図３】
2008187336.tif 000005
【図４】
2008187336.tif 000006
【図５】
2008187336.tif 000007
【図６】
2008187336.tif 000008
【図７】
2008187336.tif 000009
【図８】
2008187336.tif 000010
【図９】
2008187336.tif 000011
【図１０】
2008187336.tif 000012
【図１１】
2008187336.tif 000013
【図１２】
2008187336.tif 000014
【図１３】
2008187336.tif 000015
【図１４】
2008187336.tif 000016