(57)【要約】【課題】データ転送用のバッファ容量を抑制することができるとともに、伝送エラーが発生した場合にも伝送エラーを検出してデータの転送を正常に完了させる。【解決手段】送信側装置１０および受信側装置５０がシリアルデータの送受信を行うデータ送受信システム１００において、送信側装置１０は送信したアクセスデータを含むアクセス履歴データを保持するアクセス履歴保持バッファ１９を備え、受信側装置５０は受信したアクセス履歴データを保持するアクセス履歴保持バッファ５９を備えるとともに、送信側装置１０は、所定間隔毎に受信側装置５０に保持されたアクセス履歴データの応答を要求するとともに、応答を受けた受信側装置５０に保持されたアクセス履歴データと、該送信側装置１０に保持されたアクセス履歴データを比較して、比較結果に基づいて、アクセス履歴データの再送制御を行う。【選択図】図２
2015119272.tif 000002
【特許請求の範囲】
【請求項１】
送信側装置および受信側装置がシリアルデータの送受信を行うデータ送受信システムにおいて、
前記送信側装置は前記受信側装置へ送信したアクセスデータを含むアクセス履歴データを保持するアクセス履歴保持手段を備え、前記受信側装置は前記送信側装置から受信したアクセス履歴データを保持するアクセス履歴保持手段を備えるとともに、
前記送信側装置は、所定間隔毎に前記受信側装置の前記アクセス履歴保持手段に保持されたアクセス履歴データの応答を要求するアクセス履歴応答要求手段と、
応答を受けた前記受信側装置に保持されたアクセス履歴データと、該送信側装置の前記アクセス履歴保持手段に保持されたアクセス履歴データを比較するとともに、該比較結果に基づいて、アクセス履歴データの再送制御を行う再送アクセス制御手段と、を備えることを特徴とするデータ送受信システム。
【請求項２】
前記送信側装置と前記受信側装置は、１または２以上の中継装置を介して接続されることを特徴とする請求項１に記載のデータ送受信システム。
【請求項３】
前記アクセス履歴データは、前記送信側装置から前記受信側装置に送信される前記アクセスデータおよびアクセスデータ毎に付される一意のコードからなることを特徴とする請求項１または２のいずれかに記載のデータ送受信システム。
【請求項４】
前記再送アクセス制御手段は、２つのアクセス履歴データを比較した結果、一致しないアクセス履歴データについて、前記受信側装置へ再送することを特徴とする請求項１から３までのいずれかに記載のデータ送受信システム。
【請求項５】
前記送信側装置は、ノイズ発生頻度を示す値を保持するノイズ発生頻度保持手段を備えるとともに、
前記アクセス履歴応答要求手段は、前記ノイズ発生頻度保持手段が保持する値に基づいて、前記所定間隔を決定することを特徴とする請求項１から４までのいずれかに記載のデータ送受信システム。
【請求項６】
前記送信側装置は、１のアクセス履歴データに関連する他のアクセス履歴データを保持する再送時処理内容保持手段を備えると共に、
前記再送アクセス制御手段は、２つのアクセス履歴データを比較した結果、一致しないアクセス履歴データについて、該アクセス履歴データに関連する前記他のアクセス履歴データについても前記受信側装置へ再送することを特徴とする請求項１から５までのいずれかに記載のデータ送受信システム。
【請求項７】
前記送信側装置は、
前記アクセス履歴保持手段に任意の値を書き込む書込み手段と、
該任意の値を前記受信側装置に送信する送信手段と、を備えるとともに、
前記受信側装置は、
前記アクセス履歴保持手段に前記任意の値に対応した期待値を書き込む書込み手段と、
前記送信側装置から受信したデータを前記期待値と比較する比較手段と、を備えることを特徴とする請求項１から６までのいずれかに記載のデータ送受信システム。
【請求項８】
送信側装置および受信側装置がシリアルデータの送受信を行うデータ送受信方法において、
前記送信側装置が前記受信側装置へ送信したアクセスデータを含むアクセス履歴データを保持する処理と、
前記受信側装置が前記送信側装置から受信したアクセス履歴データを保持する処理と、
前記送信側装置が所定間隔毎に前記受信側装置に保持されたアクセス履歴データの応答を要求する処理と、
前記送信側装置が前記受信側装置から応答を受けた前記受信側装置に保持されたアクセス履歴データと、該送信側装置に保持されたアクセス履歴データを比較するとともに、該比較結果に基づいて、アクセス履歴データの再送制御を行う処理と、を行うようにしたことを特徴とするデータ送受信方法。
【請求項９】
受信側装置に対しシリアルデータを送信するデータ送信装置であって、
前記受信側装置へ送信したアクセスデータを含むアクセス履歴データを保持するアクセス履歴保持手段と、
所定間隔毎に前記受信側装置に保持されたアクセス履歴データの応答を要求するアクセス履歴応答要求手段と、
応答を受けた前記受信側装置に保持されたアクセス履歴データと、該データ送信装置の前記アクセス履歴保持手段に保持されたアクセス履歴データを比較するとともに、該比較結果に基づいて、アクセス履歴データの再送制御を行う再送アクセス制御手段と、を備えることを特徴とするデータ送信装置。
【請求項１０】
送信側装置からシリアルデータを受信するデータ受信装置であって、
前記送信側装置から受信したアクセスデータを含むアクセス履歴データを保持するアクセス履歴保持手段と、
前記送信側装置から前記アクセス履歴保持手段に保持されたアクセス履歴データの応答が要求された場合に、前記アクセス履歴保持手段に保持されたアクセス履歴データを前記送信側装置に応答する応答手段と、を備えることを特徴とするデータ受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ送受信システム、データ送受信方法、データ送信装置およびデータ受信装置に関する。さらに詳述すると、高速シリアル通信を行うデータ送受信システム、データ送受信方法、データ送信装置およびデータ受信装置に関する。
【背景技術】
【０００２】
近年のデータ転送量の増大に伴い、半導体装置間の通信において、ＰＣＩ（Peripheral  Component  Interconnect）などのパラレル転送ではなく、ＰＣＩ（Peripheral  Component  Interconnect）Ｅｘｐｒｅｓｓ（以下、ＰＣＩｅと称する）などの高速シリアル転送を行うインタフェース規格が実用化されている。このような高速シリアル通信のデータレートは、数百Ｍｂｐｓ（bits  per  second）〜５Ｇｂｐｓ程度に到達している。
【０００３】
一般に、高速シリアル通信では、２本の信号線を用いて、それらに正負の差動信号を送信し、受信時にそれらの信号の電位差をとることにより、周辺からのノイズの影響を少なくする仕様となっている。
【０００４】
しかしながら、半導体装置および伝送路のノイズを０にすることは実質的に不可能である。半導体装置および伝送路は、周辺伝送線からの電磁ノイズや、同一電源ドメイン上の他デバイスの動作に伴う電源変動などの影響を常に受けている。このため、電磁ノイズなどの影響を考慮した上でのシグナルインテグリティ（信号品質）や、電源変動などを考慮した上でのパワーインテグリティ（電源品質）を確保することが重要となる。また、高速シリアル通信における伝送品質の確保においては、ジッタ成分（データ遷移時刻の変動）を低減することも重要である。
【０００５】
このため、半導体装置の回路設計においては、ノイズやジッタ成分を最小限とするような設計を検討することとなるが、実装面積や実装コストの観点から、考え得る全てのノイズやジッタ成分に対応することは困難である。このため、所定量の伝送エラー（例えば、１０〜１２以下の伝送エラー）を基準にして、半導体装置の設計、基板設計、伝送路設計がなされているのが実情である。換言すれば、ある程度の伝送エラーは発生するものとして、その伝送エラーがデータ転送動作等に影響を与えないような半導体装置の回路設計、システム設計が検討されている。
【０００６】
ここで、ＰＣＩｅを例に高速シリアル通信のデータ伝送の例を説明する。ＰＣＩｅでは、通信内容をパケット化してデータ転送を行う。転送の手順としては、先ず、受信側装置（スレーブデバイス）のバッファに、これから送信するデータ量分の空きがあるかどうかを判断する。
【０００７】
受信側装置のバッファにデータ量分の空きがある場合は、送信側装置（マスタデバイス）は、データに通信に必要な所定の信号（ＴＡＧ信号など）を追加したパケットを送信する。このパケットには、誤り検出符号が付加されている。また、データ転送はパケット単位でなされる。
【０００８】
パケットを受信した受信側装置では、受信したデータを用いて誤り検出を行い、誤りが検出された場合には、ＮＡＣＫパケット（否定応答）を送信側装置へ返答する。送信側装置はＮＡＣＫパケットが返答された場合は、送信側装置の再送バッファに保持されたデータを再送する処理を行う。
【０００９】
一方、誤りが検出されない場合には、受信側装置はＡＣＫパケット（肯定応答）を送信側装置へ返答する。送信側装置はＡＣＫパケットが返答された場合は、正しく転送が終了したものとして、再送バッファ内に保持しておいたデータを破棄する処理を行う。以上が基本的なデータ転送処理の例である。
【００１０】
ところで、データ転送において、一部のデータが消失しても特段の問題が生じない場合がある。例えば、ディスプレイへの映像データの表示であれば、一部のデータが消失した場合であっても、次のフレームのデータが正しく受信されれば、画像表示は継続し、データの消失がシステム全体に影響を与えることは少ない。
【００１１】
しかしながら、制御用のデータ転送では、転送データの消失や誤転送がシステム全体に影響を与えるケースが多い。例えば、ＣＰＵからある動作を実行する際、半導体装置に対してあらかじめ規定された制御手順を踏むのが一般的であるが、その処理の一部が伝送路エラーにより消失してしまえば、その規定に違反し、誤動作の原因となる。
【００１２】
このように、ＰＣＩｅのように汎用性を要求されるインタフェースは、データ転送の脆弱性がある程度認容される場合と認容されない場合の両方のシステムに用いられる。
【００１３】
また、データ転送量についても、様々な場合を想定する必要がある。例えば、制御用のデータ転送、例えば、ある設定レジスタへの書き込み処理や、割り込み処理などの場合は、１回のデータ転送量は少ない。一方、画像転送のように大量のデータを送る場合には、１回のデータ転送量を多くなる。このため、送信側装置の再送バッファのサイズは、大量のデータの再送に対応可能に大きく確保しておく必要がある。
【００１４】
また、高速シリアル通信では、高速な差動信号を実現するために、振幅電圧を小さくして駆動負荷を小さくする必要があるため、送信側装置の送信インタフェースと受信側装置の受信インタフェースとは、１対１で繋がるピアツーピア接続となる。したがって、送信側装置に複数の受信側装置を接続するには中継装置（スイッチデバイス）が必要となる。中継装置では、送信側装置からピアツーピア接続で通信されたデータを、パケットの行き先に応じてルーティングし、中継装置が備える複数の送信インタフェースから、ピアツーピア通信で、他の中継装置や受信側装置へデータを転送する必要がある。この際、上述の転送処理手順は、ピアツーピア接続の経路毎に必要であり、また、再送バッファもピアツーピア接続の経路毎に必要となる。
【００１５】
したがって、ＰＣＩｅなどの高速シリアル通信では、受信側装置の数が増えれば増えるほどバッファの容量を大きく設けておく必要があり、また、データ転送量が小さい場合には相対的にそのバッファの無駄な領域が増えることになる。また、１つの経路の転送について複数の制御手順が必要になるため、通信完了に要するレイテンシが大きくなってしまう。
【００１６】
上記のような高速シリアル通信を用いた半導体装置であって、送信側装置が備えるバッファを用いてシステム全体の転送効率を向上させる技術として、特許文献１には、パケットデータを送受信する複数の通信ポートを備え、パケットデータを格納するメモリと、複数の通信ポートがパケットデータを送信してから当該パケットデータに対する応答を受信するまでに要する遅延時間に基づいて、遅延時間が大きい通信ポートほど大きいサイズのバッファ領域を確保するメモリ制御部を備えるデータ中継装置が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【００１７】
上記特許文献１によれば、高速シリアル通信を行う際、受信側装置からのレスポンス時間の大小に応じて、送信用のバッファの大きさを切り替えることにより、データの転送効率に影響を及ぼす応答時間の遅延を抑制することが可能となる。
【００１８】
しかしながら、特許文献１の発明では、伝送路等における電磁ノイズや電源変動などの影響により生じる伝送エラーに対して、特段の対策はなされておらず、伝送エラーが発生した場合には、データの転送効率が低下することについての対策はなされていない。
【００１９】
そこで本発明では、送信側装置でのデータ転送用のバッファ容量を抑制することができるとともに、電磁ノイズや電源変動などの影響により伝送エラーが発生した場合にも伝送エラーを検出してデータの転送を正常に完了させることができるデータ送受信システムを提供することを目的とする。
【課題を解決するための手段】
【００２０】
かかる目的を達成するため、本発明に係るデータ送受信システムは、送信側装置および受信側装置がシリアルデータの送受信を行うデータ送受信システムにおいて、前記送信側装置は前記受信側装置へ送信したアクセスデータを含むアクセス履歴データを保持するアクセス履歴保持手段を備え、前記受信側装置は前記送信側装置から受信したアクセス履歴データを保持するアクセス履歴保持手段を備えるとともに、前記送信側装置は、所定間隔毎に前記受信側装置の前記アクセス履歴保持手段に保持されたアクセス履歴データの応答を要求するアクセス履歴応答要求手段と、応答を受けた前記受信側装置に保持されたアクセス履歴データと、該送信側装置の前記アクセス履歴保持手段に保持されたアクセス履歴データを比較するとともに、該比較結果に基づいて、アクセス履歴データの再送制御を行う再送アクセス制御手段と、を備えるものである。
【発明の効果】
【００２１】
本発明によれば、データ転送用のバッファ容量を抑制することができるとともに、伝送エラーが発生した場合にも伝送エラーを検出してデータの転送を正常に完了させることができる。
【図面の簡単な説明】
【００２２】
【図１】データ送受信システムの基本構成を示す概略構成図である。
【図２】第１の実施形態に係るデータ送受信システムを示す概略構成図である。
【図３】図２に示したデータ送受信システムにデータ転送処理フローを付加した説明図である。
【図４】第２の実施形態に係るデータ送受信システムの送信側装置の機能ブロック図である。
【図５】第３の実施形態に係るデータ送受信システムの送信側装置の機能ブロック図である。
【図６】第４の実施形態に係るデータ送受信システムを示す概略構成図である。
【図７】図６に示したデータ送受信システムにデータ転送処理フローを付加した説明図である。
【発明を実施するための形態】
【００２３】
以下、本発明に係る構成を図１から図７に示す実施の形態に基づいて詳細に説明する。
【００２４】
［基本構成］
本発明に係るデータ送受信システムの前提となる高速シリアル通信を用いたデータ送受信システムの基本構成について説明する。
【００２５】
図１は、データ送受信システムの基本構成を示す概略構成図である。図１に示すデータ送受信システム２００は、送信側装置１０と中継装置３０、および中継装置３０と受信側装置５０が、それぞれ高速シリアル通信のケーブル、マイクロストリップラインなどである伝送路７０で接続されてなるデータ通信システムである。
【００２６】
なお、以下の説明では、送信側装置１０のデータ通信制御に係る半導体装置（マスタデバイス）をデータ通信部１２、中継装置３０のデータ通信制御に係る半導体装置（スイッチデバイス）をデータ通信部３２、受信側装置５０のデータ通信制御に係る半導体装置（スレーブデバイス）をデータ通信部５２と呼ぶ。
【００２７】
また、ここでは、説明を簡略化するために中継装置３０および受信側装置５０が各１台のシステム構成を示しているが、１の中継装置３０に対し複数の受信側装置５０が接続される構成、１の送信側装置１０に対し複数の中継装置３０が接続される構成、複数台の中継装置３０を経由して送信側装置１０と受信側装置５０が接続される構成、中継装置３０を介さずに送信側装置１０と受信側装置５０とが接続される構成等からなるシステムであっても良い。
【００２８】
送信側装置１０は、中継装置３０に対してデータ（パケット）を送信する。送信側装置１０において、データ通信部１２は、送信側装置１０の全体を制御するホストＣＰＵ１１と接続されている。データ通信部１２は、ホストＣＰＵ１１により制御される。なお、送信側装置１０におけるホストＣＰＵ１１、データ通信部１２を除く他の構成についての図示および説明は省略する。
【００２９】
データ通信部１２は、データ通信部１２における処理手順等の各種制御をする通信制御部１３と、送信データをパケット化するパケット生成部１４と、ピアツーピア接続の経路毎に設けられ、再送に対応するために送信データを保持しておく再送バッファ１６と、送受信部（Ｍ（マスタ側））１７と、を備えている。
【００３０】
また、パケット生成部１４は、８ビットのデータを１０ビットのデータに変換する８ｂ／１０ｂ変換部１４ａと、伝送路上を同じデータが連続した場合に特定の周波数の電磁波ノイズが強くなるのを避けるためにデータに乱数を足すスクランブル処理を行うスクランブル処理部１４ｂと、符号誤り（エラー）を検出可能とするために冗長ビットを付加するなどの処理を行う誤り検出符号生成部１４ｃと、ホストＣＰＵ１１からのアクセス内容についての所定の処理を行うアクセス内容処理部１４ｄと、を備えている。
【００３１】
データ通信部１２は、ホストＣＰＵ１１からアクセスされた内容を元に、高速シリアル通信に必要な信号生成を実行してパケットを生成し、再送バッファ１６に記憶するとともに、送受信部（Ｍ）１６から伝送路７０を介して、中継装置３０へ送信する。
【００３２】
中継装置３０は、送信側装置１０から送信されたデータを受信側装置５０へ中継する。中継装置３０において、データ通信部３２は、中継装置３０の他の集積回路（ＩＣ）３１と接続されている。なお、中継装置３０についても、集積回路（ＩＣ）３１、データ通信部３２を除く他の構成についての図示および説明は省略する。
【００３３】
中継装置３０は、データ通信部３２における処理手順等の各種制御をする通信制御部３３と、送信側装置１０からの受信データ（パケット）をデコードするパケット展開部３５と、送信データをパケット化するパケット生成部３４と、ピアツーピア接続の経路毎に設けられ、再送に対応するために送信データを保持しておく再送バッファ３６と、送受信部（Ｓ（スレーブ側））３８と、送受信部（Ｍ）３７と、を備えている。
【００３４】
パケット展開部３５は、１０ビットのデータを８ビットのデータに変換する１０ｂ／８ｂ変換部３５ａと、スクランブル処理を解除するデスクランブル処理部３５ｂと、符号誤り（エラー）を検出する誤り検出部３５ｃと、アクセス内容についての所定の処理を行うアクセス内容処理部３５ｄと、を備えている。
【００３５】
データ通信部３２は、送受信部（Ｓ）３８で送信側装置１０から受信したパケットを、パケット展開部３５でデコードして、元の制御信号を再生する。また、中継装置３０に接続される複数の受信側装置５０に対し、データを送信するためのパケット生成をパケット生成部３４にて行う。なお、パケット送信に係る構成（パケット生成部３４、再送バッファ３６、送受信部（Ｍ）３７）については、送信側装置１０のデータ通信部１２と同様である。
【００３６】
受信側装置５０は、中継装置３０からデータ（パケット）を受信する。受信側装置５０において、データ通信部５２は、受信側装置５０の他の集積回路（ＩＣ（スレーブＬＳＩ））５１と接続されている。なお、受信側装置５０についても、集積回路（ＩＣ）５１、データ通信部５２を除く他の構成についての図示および説明は省略する。
【００３７】
受信側装置５０は、データ通信部５２における処理手順等の各種制御をする通信制御部５３と、中継装置３０からの受信データ（パケット）をデコードするパケット展開部５５と、送受信部（Ｓ（スレーブ側））５８と、を備えている。
【００３８】
データ通信部５２は、送受信部（Ｓ）５８で中継装置３０から受信したパケットを、パケット展開部５５でデコードして、元の制御信号を再生する。
【００３９】
以上が、半導体装置による高速シリアル通信を用いたデータ送受信システム２００の基本構成例である。
【００４０】
［第１の実施形態］
以下、本発明に係るデータ送受信システムの実施形態について説明する。なお、上記基本構成と同様の点についての説明は適宜省略する。
【００４１】
第１の実施形態に係るデータ送受信システムは、送信側装置（送信側装置１０、データ送信装置）および受信側装置（受信側装置５０、データ受信装置）がシリアルデータの送受信を行うデータ送受信システム（データ送受信システム１００）において、送信側装置は受信側装置へ送信したアクセスデータを含むアクセス履歴データを保持するアクセス履歴保持手段（アクセス履歴保持バッファ１９）を備え、受信側装置は送信側装置から受信したアクセス履歴データを保持するアクセス履歴保持手段（アクセス履歴保持バッファ５９）を備えるとともに、送信側装置は、所定間隔毎に受信側装置のアクセス履歴保持手段に保持されたアクセス履歴データの応答を要求するアクセス履歴応答要求手段（アクセス履歴要求コマンド生成部２０、再送アクセス制御部２１）と、応答を受けた受信側装置に保持されたアクセス履歴データと、該送信側装置のアクセス履歴保持手段に保持されたアクセス履歴データを比較するとともに、該比較結果に基づいて、アクセス履歴データの再送制御を行う再送アクセス制御手段（再送アクセス制御部２１）と、を備えるものである。なお、括弧内は実施形態での符号、適用例を示す。
【００４２】
図２は、第１の実施形態に係るデータ送受信システム１００を示す概略構成図である。図２に示すデータ送受信システム１００は、送信側装置１０と中継装置３０、および中継装置３０と受信側装置５０が、それぞれ高速シリアル通信の伝送路７０で接続されてなるデータ通信システムである。
【００４３】
このデータ送受信システム１００は、図１に示したデータ送受信システム２００の送信側装置１０および中継装置３０が備えている再送バッファ１６，３６を必要としない構成となっている。
【００４４】
また、送信側装置１０のデータ通信部１２は、アクセス履歴保持バッファ１９と、アクセス履歴要求コマンド生成部２０と、再送アクセス制御部２１と、を備えている。また、受信側装置５０は、アクセス履歴保持バッファ５９を備えている。
【００４５】
データ通信部１２のアクセス履歴保持バッファ１９は、データ通信部１２が受信側装置５０へ通信したアクセス内容を保持する記憶手段である。ここで、アクセス内容とは、アドレスやライトデータなどのアクセス内容そのもの（アクセスデータ）に、アクセス内容毎に一意のコード（アクセス内容コードという）を付加したアクセス履歴データをいう。例えば、アクセス毎にカウントアップするカウンタの値を付加するようにすればよい。なお、アクセス履歴保持バッファ１９のハードウェア構成は、フリップフロップ回路や、ＳＲＡＭなどのメモリセルマクロなどを用いて構成することができる。
【００４６】
データ通信部１２のアクセス履歴要求コマンド生成部２０は、設定された所定間隔で、受信側装置５０のアクセス履歴保持バッファ５９の内容を読み込むための命令（アクセス履歴要求コマンドという）を生成する。
【００４７】
データ通信部１２の再送アクセス制御部２１は、アクセス履歴保持バッファ１９に保持されたアクセス内容と、アクセス履歴要求コマンドに対して受信側装置５０から応答されるアクセス履歴保持バッファ５９に保持されたアクセス内容と、を比較するとともに、比較結果に基づいて再アクセスの可否を決定し、再アクセスを実施する。
【００４８】
また、データ通信部５２のアクセス履歴保持バッファ５９は、送信側装置１０から受信したアクセス内容を保持する記憶手段である。なお、受信側装置５０のアクセス履歴保持バッファ５９のハードウェア構成についても、送信側装置１０のアクセス履歴保持バッファ１９と同様とすれば良い。
【００４９】
図３は、図２に示したデータ送受信システム１００にデータ転送処理フローを付加した説明図である。
【００５０】
先ず、送信側装置１０のデータ通信部１２は、ホストＣＰＵ１１から受信したアクセス内容について受信側装置５０へ通信する（Ｓ１０１）。この通信処理は上記基本構成について説明した処理と同様である。また、この通信処理（Ｓ１０１）と同時に、アクセス履歴保持バッファ１９に、ホストＣＰＵ１１から受信したアクセス内容を保持しておく（Ｓ１０２）。
【００５１】
次いで、中継装置３０は、伝送路７０を介して送信側装置１０から送信された受信データについて、デコード、再パケットを行って、受信側装置５０へ送信する（Ｓ１０３）。
【００５２】
受信側装置５０のデータ通信部５２は、伝送路７０を介して中継装置３０から受信した受信データについてデコードを行って、受信側装置５０の集積回路（ＩＣ）５１へアクセスする（Ｓ１０４）。また、この受信処理と同時に、アクセス履歴保持バッファ５９へアクセス内容を保持する（Ｓ１０５）。
【００５３】
一方、アクセス履歴要求コマンド生成部２０は、所定間隔で、受信側装置５０のアクセス履歴保持バッファ５９の内容をリードするアクセス履歴要求コマンドを生成する（Ｓ１０６）。ここで所定間隔は、予め設定される任意の値であり、例えば、何ミリ秒［ｍｓ］毎などの時間単位で設定されるものであっても、何アクセス毎などのアクセス単位で設定されるものであっても良い。
【００５４】
再送アクセス制御部２１は、アクセス履歴要求コマンド生成部２０からアクセス履歴要求コマンドを受けると、受信側装置５０に対し、アクセス履歴要求パケットを送信する（Ｓ１０７）。
【００５５】
受信側装置５０は、送信側装置１０からアクセス履歴要求パケットを受信すると、アクセス履歴保持バッファ５９から、それまでに保持したアクセス内容を、送信側装置１０へ送信する（Ｓ１０８）。また、受信側装置５０は、この送信完了後にアクセス履歴保持バッファ５９内に保持したアクセス履歴を消去する。
【００５６】
送信側装置１０の再送アクセス制御部２１は、受信側装置５０から送信されたアクセス履歴保持結果（アクセス履歴保持バッファ５９の保持内容）と、自己のアクセス履歴保持結果（アクセス履歴保持バッファ１９の保持内容）と、を比較する。
【００５７】
ここで、伝送エラーが発生せず、正しく送受信が完了している場合は、アクセス履歴保持バッファ１９の保持内容とアクセス履歴保持バッファ５９の保持内容の比較結果は等しくなる。
【００５８】
すなわち、再送アクセス制御部２１での比較の結果、双方の保持内容が等しくない場合、送信側装置１０から中継装置３０、中継装置３０から受信側装置５０にいたる伝送路７０の何処かで伝送エラーが発生したと判断することができる。
【００５９】
したがって、再送アクセス制御部２１は、双方の保持内容が等しくない場合、伝送エラーが発生したアクセス内容コードのアクセス内容について、アクセス履歴保持バッファ１９からアクセス内容を復元し、受信側装置５０への再送処理を行う（Ｓ１０９）。また、正しく伝送完了しているアクセス内容については、アクセス履歴保持バッファ１９からアクセス履歴を削除する。以上の処理により、伝送エラーが発生した場合でも、伝送エラーが発生したアクセス内容を検出してデータの送受信を正しく完了することができる。
【００６０】
以上説明したように、本実施形態に係るデータ送受信システム１００は、高速シリアル通信を行う半導体装置（マスタデバイス、スイッチデバイス、スレーブデバイス）を備え、マスタ側にアクセスログを保持するためのレジスタと、スレーブ側にアクセスログを保持するためのレジスタをそれぞれ設け、所定期間ごとに、双方のレジスタの保持内容を比較することで、アクセスの成立／不成立を判断し、不成立であったアクセスについては、再度アクセスを行うため再送アクセス制御を実施するものである。
【００６１】
したがって、再送バッファに替えて容量の小さいアクセス履歴保持バッファ１９，５９とすることができるとともに、従来、中継装置３０のデータ通信部３２にも必要であった再送バッファを削除することが可能となる。また、送信側と受信側のアクセス履歴保持バッファを比較することで伝送エラーを検出し、データの再送が可能となっている。
【００６２】
よって、データ通信部１２，３２を構成する半導体装置の回路規模を縮小することが可能となるとともに、伝送エラーを原因とするアクセスエラーを防止して通信レイテンシが少ない高速シリアル通信を行うことが可能となる。
【００６３】
特に、送信側装置１０から受信側装置５０までに１または複数の中継装置３０を有し論理的な距離が遠い場合や、１回のデータ転送量が小さい場合において、ＰＣＩｅに代表されるような高速シリアル通信回路と比較して、回路規模が小さく、通信レイテンシを小さいものとすることができる。
【００６４】
［第２の実施形態］
以下、本発明に係るデータ送受信システムの他の実施形態について説明する。なお、上記実施形態と同様の点についての説明は適宜省略する。
【００６５】
図４は、第２の実施形態に係るデータ送受信システムにおける送信側装置１０の機能ブロック図である。なお、中継装置３０および受信側装置５０については、第１の実施形態と同様の構成である。
【００６６】
第１の実施形態では、設定された所定間隔で、送信側装置１０のデータ通信部１２は、アクセス履歴要求コマンドを生成し、受信側装置５０に対しアクセス履歴要求パケットを送信している（図３のＳ１０６，Ｓ１０７）。
【００６７】
ここで、送信側装置１０が受信側装置５０に対してアクセス履歴を要求している期間にいては、他のバッファを設けておかなければ、通常のアクセスを実行することはできない。このため、ホストＣＰＵ１１からは通信不可状態と判断されるため、オーバーヘッドが生じるおそれがある。
【００６８】
また、伝送エラーは、定性的には周辺デバイスの動作状況や、温度、電圧に応じて、発生ノイズの大小が変わることにより、発生頻度が変化するものである。半導体装置では、一般に、温度、電圧について所定の推奨動作条件（ｔｙｐｉｃａｌ条件）で最も安定して動作するようにマージン設計が行われており、温度、電圧が変動することによりエラー頻度が上昇する。また、周辺デバイスが高負荷の場合は、頻繁に信号状態が変化し、電磁誘導によりノイズが大きくなる。
【００６９】
温度や電圧については、温度センサや電圧センサにより検出することが可能である。また、周辺デバイスの動作状況も、送信側装置１０のシステム（ソフトウェア）からスタンバイ状態であるのか高負荷状態であるのかを判定することができる。
【００７０】
そこで、本実施形態に係るデータ送受信システム１００では、データ通信部１２は、温度センサ、および／または電圧センサなどの各種センサ（温度／電圧センサ２３と呼ぶ）からの入力、または、システムから周辺の半導体の動作状況に応じた値（パラメータ）が設定される記憶手段（レジスタ）であるノイズ発生頻度検出部２２（ノイズ発生頻度保持手段）を備えるものである。なお、ノイズ発生頻度検出部２２は、少なくともノイズの発生頻度を表した値を保持するものであればよく、上記の構成に限られるものではない。
【００７１】
本実施形態では、このノイズ発生頻度検出部２２の値に基づいて、アクセス履歴要求コマンド生成部２０は、アクセス履歴要求発行頻度を変更する。
【００７２】
例えば、ノイズの発生頻度が少ないことを示す値がノイズ発生頻度検出部２２に保持されている場合は、伝送エラーの発生頻度も低くなることが予測されるため、アクセス履歴要求発行頻度を少なくすることで、送信側装置１０から受信側装置５０に対するアクセス履歴の要求回数を減少させることが可能である。
【００７３】
このように、周辺デバイスの動作状況や、温度、電圧に応じて、アクセス履歴要求コマンドの頻度を少なくすることができるので、アクセス履歴要求履歴を送信する際のオーバーヘッドの発生を抑制することができる。
【００７４】
また、ノイズの発生頻度が多いことを示す値がノイズ発生頻度検出部２２に保持されている場合は、伝送エラーの発生頻度も多くなることが予測されるため、アクセス履歴要求発行頻度を多くすることで、伝送エラーを高頻度で精度良く検出することが可能となる。
【００７５】
［第３の実施形態］
伝送エラーを検出した際の再送制御の他の例について説明する。図５は、第３の実施形態に係るデータ送受信システム１００の送信側装置１０の機能ブロック図である。なお、中継装置３０および受信側装置５０については、第１の実施形態と同様の構成である。
【００７６】
第１の実施形態では、再送アクセス制御部２１は、送信側装置１０と受信側装置５０におけるアクセス履歴データに差異がある場合に、正しく伝送されていないアクセス内容について再送する例を説明した。
【００７７】
ここで、アクセス内容は、それぞれ独立した処理内容である場合に限られず、他のアクセス内容と前後に相関を有する場合が多い、例えば、あるレジスタ（レジスタＡ）にライトすることで、他のレジスタ（レジスタＢ）の内容が変わってしまうような場合において、先ず、Ａレジスタへの書き込み処理を行った後、Ｂレジスタの読み込み処理の順番の制御順序であった場合は、Ａレジスタへの書き込み処理が伝送エラーとなってしまうと、Ｂレジスタの読み込み結果は、所望の値ではなくなってしまうこととなる。この場合は、再度、Ａレジスタへの書き込み処理を行った後、Ｂレジスタの読み込み処理を行うことで、正しい値が読み込めることとなる。
【００７８】
そこで、本実施形態に係る送信側装置１０は、伝送エラーの発生したアクセス内容に応じて、例えば、次の処理など関連する他の処理の内容を保持するレジスタとして再送時処理内容保持レジスタ２４（再送時処理内容保持手段）を備えるものである。
【００７９】
再送アクセス制御部２１は、送信側装置１０と受信側装置５０のアクセス履歴比較結果が異なり伝送エラーを検出すると、この再送時処理内容保持レジスタ２４を参照して、再送内容を変更するものである。そして、再送アクセス制御部２１は、再送時処理内容保持レジスタ２４に保持された処理内容について、再送のためのパケットの準備を行い、受信側装置５０へ送信する。
【００８０】
これにより、単に伝送エラーが生じたアクセス内容を再送するのではなく、例えば、次のアクセス内容と関連を有する場合には、伝送エラーが生じたアクセス内容と次のアクセス内容を再送することが可能となり、正しい処理順序で実行させることが可能となる。
【００８１】
本実施形態に係るデータ送受信システムによれば、伝送エラーが発生した際の関連するアクセス内容を、データ通信部１２内に保持することができる。本来必要な処理内容を保持することにより、他のアクセス結果に影響を及ぼすようなエラーが発生する場合においても、正しい制御を行うことが可能となる。
【００８２】
［第４の実施形態］
図６は、第４の実施形態に係るデータ送受信システム１００の機能ブロック図である。また、図７は、図６に示したデータ送受信システム１００にデータ転送処理フローを付加した説明図である。
【００８３】
高速シリアル通信に限らず異なるデバイス間、あるいは同一デバイス間で高速な通信を行う場合に、ＢＩＳＴ（Built-In  Self  Test）とよばれる、自己テスト機能が用いられる場合がある。ＢＩＳＴには種々の方法が提案されているが、例えば、あらかじめ送信用の送信データとは別に受信側装置に送信データについての期待値データを準備しておき、所定のトリガ信号をもとに送信データを送信し、受信側装置において受信したデータ（送信データ）と期待値データと比較することで通信品質を確認する手法が知られている。この自己テスト機能は、半導体装置の出荷時のテストや、電送路のビットエラーレートの測定などに用いられている。
【００８４】
本実施形態では、送信側装置１０のデータ通信部１２では、ホストＣＰＵ１１または不図示の外部端子などからアクセス履歴保持バッファ１９に任意の値（パターン）を書き込み可能となっている。すなわち、ホストＣＰＵ１１または外部端子が書込み手段として機能する。そして、アクセス履歴保持バッファ１９はアクセス履歴を保持するのではなく、任意の値を保持することが可能となっている。また、トリガ信号を出力するＢＩＳＴトリガ信号出力部２５を備えている。
【００８５】
また、受信側装置５０のアクセス履歴保持バッファ５９についても、任意の値（パターン）が書き込み可能であり、このための書込み手段（図示しないＣＰＵ、外部端子など）を有するものである。また、アクセス履歴保持バッファ５９の値と受信したデータとを比較する比較部（比較手段）６０およびエラーカウンタ６１を備えている。
【００８６】
本実施形態に係るデータ送受信システム１００によるＢＩＳＴ実行時の制御フローについて、図７を参照して説明する。先ず、送信側装置１０のアクセス履歴保持バッファ１９にＢＩＳＴに所定の値、パターンを入力する（Ｓ２０１）。なお、アクセス履歴保持バッファ１９への値の書き込みは、ホストＣＰＵ１１から書き込み処理をするものであっても、図示しない外部端子から書き込み処理をするものであっても良く、書き込み経路は特に限定されるものではない。
【００８７】
また、受信側装置５０のアクセス履歴保持バッファ５９に、ＢＩＳＴの期待値、期待値パターンを入力する（Ｓ２０２）。なお、アクセス履歴保持バッファ５９への値の書き込みについても、書き込み経路は特に限定されるものではない。
【００８８】
次いで、ＢＩＳＴトリガ信号出力部２５からＢＩＳＴトリガをアサートする（Ｓ２０３）。ＢＩＳＴトリガが有効になると、データ通信部１２は、アクセス履歴保持バッファ１９からデータを読み込み、受信側装置５０へ送信する（Ｓ２０４）。
【００８９】
このデータを受信（Ｓ２０５）した受信側装置５０の比較部６０は、アクセス履歴保持バッファ５９に予め設定された期待値データを読み込み、この期待値データと受信データとを比較する（Ｓ２０６）。比較の結果、一致しない場合は、エラーカウンタ６１をカウントアップする（Ｓ２０７）。
【００９０】
そして、予めＢＩＳＴのために規定された時間経過後に、エラーカウンタ６１の値をリードすることで、単位時間あたりの伝送エラーを求めることができる。
【００９１】
本実施形態に係るデータ送受信システム１００によれば、アクセス履歴保持バッファ５９に、任意のパターン（期待値データ）を保持させるとともに、受信側装置５０においてその任意のパターンと入力値との比較を可能とすることで、ＢＩＳＴテストを実行することが可能となる。なお、ＢＩＳＴテストの実行に際しては、送信側装置１０のアクセス履歴要求コマンド生成部２０、再送アクセス制御部２１は用いないため、これを備えない構成としても良い。
【００９２】
尚、上述の実施形態は本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変形実施可能である。
【符号の説明】
【００９３】
１０  送信側装置
１１  ホストＣＰＵ
１２  データ通信部（マスタデバイス）
１３  通信制御部
１４  パケット生成部
１４ａ  ８ｂ／１０ｂ変換部
１４ｂ  スクランブル処理部
１４ｃ  誤り検出符号生成部
１４ｄ  アクセス内容処理部
１６  再送バッファ
１７  送受信部（Ｍ）
１９  アクセス履歴保持バッファ
２０  アクセス履歴要求コマンド生成部
２１  再送アクセス制御部
２２  ノイズ発生頻度検出部
２３  温度／電圧センサ
２４  再送時処理内容保持レジスタ
２５  ＢＩＳＴトリガ信号出力部
３０  中継装置
３１  集積回路（ＩＣ）
３２  データ通信部（スイッチデバイス）
３３  通信制御部
３４  パケット生成部
３４ａ  ８ｂ／１０ｂ変換部
３４ｂ  スクランブル処理部
３４ｃ  誤り検出符号生成部
３４ｄ  アクセス内容処理部
３５  パケット展開部
３５ａ  １０ｂ／８ｂ変換部
３５ｂ  デスクランブル処理部
３５ｃ  誤り検出部
３５ｄ  アクセス内容処理部
３６  再送バッファ
３７  送受信部（Ｍ）
３８  送受信部（Ｓ）
５０  受信側装置
５１  集積回路（ＩＣ）
５２  データ通信部（スレーブデバイス）
５３  通信制御部
５５  パケット展開部
５５ａ  １０ｂ／８ｂ変換部
５５ｂ  デスクランブル処理部
５５ｃ  誤り検出部
５５ｄ  アクセス内容処理部
５８  送受信部（Ｓ）
５９  アクセス履歴保持バッファ
６０  比較部
６１  エラーカウンタ
７０  伝送路
１００，２００  データ送受信システム
【先行技術文献】
【特許文献】
【００９４】
【特許文献１】特開２０１１−８１７６９号公報
【図１】
2015119272.tif 000003
【図２】
2015119272.tif 000004
【図４】
2015119272.tif 000005
【図５】
2015119272.tif 000006
【図６】
2015119272.tif 000007
【図３】
2015119272.tif 000008
【図７】
2015119272.tif 000009