JP2015014951A - データ転送システム、計算機システム及びプログラム - Google Patents
データ転送システム、計算機システム及びプログラム Download PDFInfo
- Publication number
- JP2015014951A JP2015014951A JP2013141823A JP2013141823A JP2015014951A JP 2015014951 A JP2015014951 A JP 2015014951A JP 2013141823 A JP2013141823 A JP 2013141823A JP 2013141823 A JP2013141823 A JP 2013141823A JP 2015014951 A JP2015014951 A JP 2015014951A
- Authority
- JP
- Japan
- Prior art keywords
- data size
- computer
- communication
- communication section
- 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.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
- Information Transfer Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】データ転送の通信区間のつなぎ目でデータサイズの変換のための遅延時間を抑制する。【解決手段】第1の装置と第2の装置が複数の通信区間で接続されてデータの転送を行うデータ転送システムであって、第1の装置は、第1の装置内の通信区間と、第1の装置と第2の装置を接続する通信区間のそれぞれについて通信可能な最大のデータサイズをそれぞれ設定し、第2の装置は、第2の装置内の通信区間に、通信可能な最大のデータサイズを設定し、第1の装置は、第2の装置内の通信区間に設定されたデータサイズを取得して、第1の装置内の通信区間のデータサイズと、第1の装置と第2の装置を接続する通信区間のデータサイズと比較して、最小のデータサイズを共通のデータサイズとして選択し、前記通信区間のそれぞれについて共通のデータサイズで再設定する。【選択図】図1A
Description
本発明は、計算機のデータ転送制御に関する。
コンピュータで使用されるデータ転送システムは、PCI Expressや、Fibre Channel及びInfinibandに代表されるように、広帯域及び低遅延のものが要求されている。近年のデータ転送システムの転送速度は各世代毎に約2倍に高速化されているものの、遅延時間については大きな改善はない。それは、データ転送時には複数のデータ転送区間が存在し、区間をまたがるつなぎ目の部分の処理が大きいためである。このつなぎ目とは、プロトコル変換やデータサイズ変換等が含まれる。
現在のコンピュータで使用されている内部バス(またはインターコネクト)はPCI Express(非特許文献1)に代表されるシリアル通信が多い。従来のパラレル通信で採用されていたバーストモードのようなデータが延々と続くデータ転送は、シリアル通信では無くなり、必ず、ある固定長のデータサイズでデータ転送することになる。このデータ転送は、1つのパケットに所定のデータサイズでデータを格納し、このパケット単位でシリアル通信を行う。1回(1パケット)あたりに送受信可能なデータサイズをペイロードサイズ(Payload Size)と呼んでいる。PCI Expressでは、仕様上、ペイロードサイズは128、256、512、1,024、2,048、4,096バイトの6種が存在するが、I/Oコントローラの実装上、128バイトや256バイトを採用する例が多い。一方、外部バスであるFibre Channelでは、ペイロードサイズは2,048バイトである。
また、シリアル通信では1Gbpsを超えるビットレートで通信することを前提に検討されているために、このペイロードサイズのデータに対してCRC(Cyclic Redundancy Check)が付加されていたり、全体のパケットに対してもCRCが付加されている。
さらに、シリアル通信ではクロック信号を内包するために、符号化/復号化(Encode/Decode)という作業が必要になる。PCI ExpressのGeneration−1(2.5Gbps)/−2(5.0Gbps) では 8b/10b符号、Generation−3(8.0Gbps)では、128b/130b符号が採用されている。
シリアル通信では受信したデータを解釈するまでに、復号化(Decode)、Link CRCのチェック、パケットのアンカプセル(Un−Capsule)、データの取り出し、Data CRCのチェックの処理が行われる。送信の際には、Data CRCの生成・付加、パケットのカプセル、Link CRCの生成・付加、暗号化(Encode)の処理が行われる。
例えば、ペイロードサイズが256バイトのコンピュータAからペイロードサイズが128バイトのコンピュータBに対して、2,048バイトのペイロードサイズの通信経路(Channel)C経由で、4,096バイトのデータを転送する場合には、次のような手順になる。
コンピュータAのI/OコントローラはCPUからの4,096バイトのデータを256バイト×16個のデータに分割して、ネットワークコントローラへ送信する。コンピュータAのネットワークコントローラでは通信経路Cのペイロードサイズに応じて、コンピュータAのI/Oコントローラから受信した256バイト×16個の分割データを、2,048バイト×2個のデータにまとめ、コンピュータBのネットワークコントローラへ送信する。
コンピュータBのネットワークコントローラではコンピュータBのI/Oコントローラのペイロードサイズに応じて、受信した2,048バイト×2個のデータを128バイト×32個のデータに分割して送信する。
PCI Express Base Specification Revision 3.0, Nov.10,2010, page608-609,613-618.
上記従来の技術では、1回の送信で送付可能なデータサイズ(ペイロードサイズ)が通信の区間ごとに異なるために、通信区間のつなぎ目でデータサイズを毎回変換しなければならず、コンピュータAのネットワークコントローラでは、細切れになったデータを集約するための処理時間が必要となり、コンピュータBのネットワークコントローラでは、大きなデータを細分化するための処理時間が必要となり、これらの処理時間が積算されることによって通信の遅延時間が増大する、という問題があった。
そこで本発明は、上記問題点に鑑みてなされたもので、データ転送の通信区間のつなぎ目でデータサイズの変換のための遅延時間を抑制することを目的とする。
本発明は、第1の装置と第2の装置が複数の通信区間で接続されてデータの転送を行うデータ転送システムであって、前記第1の装置は、前記第1の装置内の通信区間と、前記第1の装置と第2の装置を接続する通信区間のそれぞれについて通信可能な最大のデータサイズをそれぞれ設定し、前記第2の装置は、前記第2の装置内の通信区間に、通信可能な最大のデータサイズを設定し、前記第1の装置は、前記第2の装置内の通信区間に設定されたデータサイズを取得して、前記第1の装置内の通信区間のデータサイズと、前記第1の装置と第2の装置を接続する通信区間のデータサイズと比較して、最小のデータサイズを共通のデータサイズとして選択し、前記通信区間のそれぞれについて前記共通のデータサイズで再設定する。
したがって、本発明によれば、通信区間のつなぎ目となるデバイスで生じるデータサイズ変換のための遅延時間を最小限に抑えることが可能になる。
以下、本発明の一実施形態を添付図面に基づいて説明する。
図1Aは、本発明の第1の実施例を示し、計算機システムの一例を示すブロック図である。
図1Aにおいて、コンピュータA1001は、CPU1002、メモリ1003、I/Oコントローラ(第1のデバイス)1011、ネットワークコントローラ(第2のデバイス)1021、I/Oコントローラ1011とネットワークコントローラ1021を接続するチャネル(Channel)A1005と、を含む。
コンピュータB2001はコンピュータA1001と同様に構成され、CPU2002、メモリ2003、I/Oコントローラ2011、ネットワークコントローラ(第3のデバイス)2021、I/Oコントローラ2011とネットワークコントローラ2021を接続するチャネルB2005と、を含む。コンピュータA1001とコンピュータB2001はチャネルC1006で接続される。各チャネルA1005〜C1006は、シリアル通信でデータの転送を行い、データはパケットに格納されて送受信される。
ここで、コンピュータA1001、B2001内のチャネルA1005と、チャネルB2005は、シリアル通信の通信経路で構成され、例えば、PCI Expressが採用され、コンピュータA1001とコンピュータB2001間のチャネルCもシリアル通信の通信経路で構成され、例えば、Fibre Channel(FC)が採用された例を示す。
コンピュータAのI/OコントローラはチャネルA1005でのデータ転送時に使用するペイロードサイズ1013を格納するコントロールレジスタ(Control Register)1012と、チャネルA1005のハードウェアで転送可能なペイロードサイズの最大値(Maxペイロードサイズ)1016を格納する性能レジスタ(Capabilities Register)1015を具備する。なお、ペイロードサイズは、1回のパケット通信で送受信可能なデータのサイズを示す。
ネットワークコントローラ1021は、チャネルA1005でのデータ転送に使用するペイロードサイズ1023を格納する上り(InBound)コントロールレジスタ1022と、チャネルAのハードウェアで転送可能なペイロードサイズの最大値(Max ペイロードサイズ)1026を格納する上り性能レジスタ(InBound Capabilities Register)1025を具備する。
さらに、ネットワークコントローラ1021は、チャネルC1006でデータ転送に使用するペイロードサイズ1028を格納する下り(OutBound)コントロールレジスタ1027と、チャネルC1006のハードウェアが転送可能なペイロードサイズの最大値(Maxペイロードサイズ)1031を格納する下り性能レジスタ(OutBound Capabilities Register)1030を具備する。なお、ネットワークコントローラ1021では、チャネルC1006からチャネルA1005へ向かう通信(パケット)を上り(InBound)とし、チャネルA1005からチャネルC1006へ向かう通信(パケット)を下り(OutBound)とする。
さらに、ネットワークコントローラ1021は、データ転送先のコンピュータB2001の内部通信経路(チャネルB2005)でのデータ転送に使用するペイロードサイズ1033を格納するリモート(Remote)コントロールレジスタ1032を具備する。
各コントロールレジスタ1012、1022、1027、1032には初期化の完了または未完を示すValidビット1014、1024、1029、1034が含まれる。Validビット1014〜1034は複数のビットで構成することができる。本実施例では、Validビット1014〜1034は、ペイロードサイズの算出処理が完了しているか否かを示す値であり、ペイロードサイズの算出をソフトウェアで実現している場合、これらのValidビットがコントロールレジスタ内にある必要はない。
なお、メモリ1003には、OS100がロードされCPU1002によって実行される。後述するパケットの送信は、OS100が実行する例を示す。
図1Bは、コンピュータB2001の詳細を示すブロック図である。コンピュータB2001のI/Oコントローラ2011とネットワークコントローラ2021は、上記図1AのコンピュータA1001と同様であり、各レジスタの符号は異なるが、機能は同一である。
図10は、Validビットの一例を示すテーブルである。Validビット1014〜1034は、16進で“0b00”のときには初期化が未完であることを示す。Validビット1014〜1034は、“0b01”のときにはコンピュータ内部の初期化が完了したことを示し、“0b11”のときには当該コンピュータに接続された他のコンピュータの初期化が完了したことを示す。
図8は、MAXペイロードサイズの一例を示すテーブルである。各性能レジスタ1015、1025、1030のMaxペイロードサイズ1016、1026、1031の値は、図8のテーブルで定義されたビットで表現される。Maxペイロードサイズ1016、1026、1031の値が“0b000”のときにMAXペイロードサイズは64バイトを示し、“0b111”のときにMAXペイロードサイズは8192バイトになることを示す。
なお、各性能レジスタ1015、1025、1030のMaxペイロードサイズ1016、1026、1031は、ハードウェアが転送可能な値を当該性能レジスタのハードウェアで保持しており、外部からは上書きできない。
また、各コントロールレジスタ1012、1022、1027、1032のペイロードサイズは各チャネルAの両側(上流及び下流)のデバイスのMaxペイロードサイズから算出され、一般的には2つのMaxペイロードサイズのうちのどちらか小さいほうの値がペイロードサイズとして設定される。
図9は、ペイロードサイズの一例を示すテーブルである。各コントロールレジスタ1012、1022、1027、1032のペイロードサイズ1013、1023、1028、1033は、値が“0b000”のときにペイロードサイズは64バイトに設定されたことを示し、“0b111”のときにペイロードサイズが8192バイトに設定されたことを示す。
なお、上記図8〜10の各テーブルは、メモリ1003や図示しないストレージ装置に格納することができる。
また、以下の説明では、コンピュータA1001では、I/Oコントローラ1011の性能レジスタ1015のMAXペイロードサイズ1016と、ネットワークコントローラ1021の上り性能レジスタ1025のMAXペイロードサイズ1026が256バイトで、下り性能レジスタ1030のMAXペイロードサイズ1031が2048バイトの例を示す。また、コンピュータB2001では、I/Oコントローラ2011の性能レジスタ2015のMAXペイロードサイズ2016と、ネットワークコントローラ2021の上り性能レジスタ2025のMAXペイロードサイズ2026が128バイトで、下り性能レジスタ2030のMAXペイロードサイズ2031が2048バイトの例を示す。
図2にシリアル通信のパケット構造の一例を示す。図2は、PCI Express等のシリアル通信で使用するパケットを物理層で見た例を示す。ひとつのパケットは、スタートフレーム201と、シーケンス番号202と、ヘッダ203と、データ(ペイロード)204と、データCRC205と、リンクCRC206及びエンドフレーム207から構成される。スタートフレーム201からエンドフレーム207までが物理層を構成する。シーケンス番号202からリンクCRC206までがデータリンク層を構成する。ヘッダ203からデータCRC205トランザクション層を構成する。
図3は、計算機システムの初期化処理の一例を示すフローチャートの前半部である。図4は同じく初期化処理の一例を示すフローチャートの後半部である。この処理は、コンピュータA1001、コンピュータB2001の起動時にそれぞれ実行される。以下では、コンピュータA1001で行う処理について説明するが、コンピュータB2001についても同様の処理が行われる。また、以下ではCPU1002がメモリ1003にロードした初期化プログラムで本発明の処理を実行する例を示す。
まず、CPU1002は、I/Oコントローラ1011とネットワークコントローラ1021間のチャネルA1005について初期化を開始する。CPU1002は、I/Oコントローラ1011の性能レジスタ1015のMAXペイロードサイズ1016と、ネットワークコントローラ1021の上り性能レジスタ1025のMAXペイロードサイズ1026を取得する。そして、MAXペイロードサイズ1016と1026のうち設定可能な最大値を算出する(S12)。この処理は、例えば、I/OコントローラのMAXペイロードサイズ1016と、ネットワークコントローラ1021のMAXペイロードサイズ1026のうち、CPU1002は、値の小さいデータサイズを選択する。
CPU1002は、ステップS12で算出した値を、I/Oコントローラ1011のコントロールレジスタ1012のペイロードサイズ1013と、ネットワークコントローラ1021の上りコントロールレジスタ1022のペイロードサイズ1023にそれぞれ設定する(S13)。
CPU1002は、コンピュータA1001のI/Oコントローラ1011のValidビット1014と、ネットワークコントローラ1021の上りコントロールレジスタ1022のValidビット1024にローカル(計算機内)な初期化が完了したことを示す“0b01”を設定する(S14)。
次に、CPU1002は、コンピュータA1001とコンピュータB2001の間を接続するチャネルC1006の初期化を実行する(S15)。
CPU1002は、コンピュータA1001のネットワークコントローラ1021の下り性能レジスタ1030のMAXペイロードサイズ1031と、コンピュータB2001のネットワークコントローラ2021の下り性能レジスタ2030のMAXペイロードサイズ2031を取得する。
そして、CPU1002は、コンピュータA1001のMAXペイロードサイズ1031と、コンピュータB2001のMAXペイロードサイズ2031のうち設定可能な最大値を算出する。つまり、コンピュータA1001のMAXペイロードサイズ1031と、ネットワークコントローラ2021のMAXペイロードサイズ2031のうち、CPU1002は、値の小さい方を選択する。
CPU1002は、選択した値を、ネットワークコントローラ1021の下りコントロールレジスタ1027のペイロードサイズ1028に設定する(S16)。
下りコントロールレジスタ1027のペイロードサイズ1028に値を設定したので、CPU1002は、下りコントロールレジスタ1027のValidビット1029に、ローカル(計算機内)な初期化が完了したことを示す“0b01”を設定する(S17)。
次に、コンピュータA1001のネットワークコントローラ1021は、上りコントロールレジスタ1022の値を、コンピュータB2001のネットワークコントローラ2021のリモートコントロールレジスタ2032へコピーする(S18)。
コンピュータB2001のネットワークコントローラ2021は、上りコントロールレジスタ2022の値を、コンピュータA1001のネットワークコントローラ1021のリモートコントロールレジスタ1032へコピーする(S19)。
ステップS18、S19の処理により、コンピュータA1001のチャネルA1005のペイロードの設定を格納した上りコントロールレジスタ1022の値が、コンピュータB2001のネットワークコントローラ2021のリモートコントロールレジスタ2032のペイロードサイズ2033にコピーされ、コンピュータB2001のチャネルB2005のペイロードの設定を格納した上りコントロールレジスタ2022のペイロードサイズ2023が、コンピュータA1001のネットワークコントローラ1021のリモートコントロールレジスタ1032のペイロードサイズ1033にコピーされる。
これにより、コンピュータA1001は、接続先のコンピュータB2001の内部の通信経路(チャネルB2005)のペイロードサイズを取得し、コンピュータB1001は、接続先のコンピュータA1001の内部の通信経路(チャネルA1005)のペイロードサイズを取得することができる。
コンピュータA1001のCPU1002は、通信先のコンピュータB2001とのペイロードサイズの交換が終了したので、ネットワークコントローラ1021のリモートコントロールレジスタ1032のValidビット1034にリモート(接続先)の初期化が完了したことを示す“0b11”を設定する(図4のS20)。
CPU1002は、リモートコントロールレジスタ1032のペイロードサイズ1033を参照して、I/Oコントローラ1011とネットワークコントローラ1021間のチャネルA1005の再設定を行う(S21)。すなわち、CPU1002は、リモートコントロールレジスタ1032のペイロードサイズ1033と、上りコントロールレジスタ1022のペイロードサイズ1023とを比較して、小さい方を上りコントロールレジスタ1022のペイロードサイズ1023と、コントロールレジスタ1012のペイロードサイズ1023に設定する。
本実施例の場合、コンピュータB2001のI/Oコントローラ2011の性能レジスタ(2015)とネットワークコントローラ2021の上り性能レジスタ(2025)のMAXペイロードサイズ2016、2026が128バイトであるので、チャネルB2005のペイロードサイズは128バイトに設定される。
これに対して、コンピュータA1001のネットワークコントローラ1021では、性能レジスタ1015と上り性能レジスタ1025のMAXペイロードサイズ1026は256バイトであり、チャネルA1005のペイロードサイズは256バイトに設定されている。したがって、CPU1002は、リモートコントロールレジスタ1032のペイロードサイズ1033の方が、上りコントロールレジスタ1022のペイロードサイズ1023よりも小さいので、ペイロードサイズ1033の値を、I/Oコントローラ1011のコントロールレジスタ1012のペイロードサイズ1013と、ネットワークコントローラ1021の上りコントロールレジスタ1022のペイロードサイズ1023に設定する。
次に、CPU1002は、リモートコントロールレジスタ1032のペイロードサイズ1033を参照して、コンピュータA1001とコンピュータB2001間のチャネルC1006の再設定を行う(S22)。すなわち、CPU1002は、リモートコントロールレジスタ1032のペイロードサイズ1033と、下りコントロールレジスタ1027のペイロードサイズ1028とを比較して、小さい方を下りコントロールレジスタ1027のペイロードサイズ1028と、接続先であるコンピュータB2001のネットワークコントローラ1021の下りコントロールレジスタ2027のペイロードサイズ2028に設定する(S23)。
次に、CPU1002は、I/Oコントローラ1011のコントロールレジスタ1012のValidビット1014と、ネットワークコントローラ1021の上りコントロールレジスタ1022のValidビット1024と、下りコントロールレジスタ1027のValidビット1029に、リモート(接続先)の初期化が完了したことを示す“0b11”を設定する(S24)。
上記ステップS11〜S24の処理はコンピュータB2001でも実行され、I/Oコントローラ2011とネットワークコントローラ2021間のチャネルB2005のペイロードサイズ2013、2023が決定される。
以上の処理により、コンピュータA1001からコンピュータB2001に至る複数の通信経路のペイロードサイズは、チャネルA1005、チャネルB2005、チャネルC1006のそれぞれについて最大のペイロードサイズを設定する。そして、コンピュータA1001で、複数の通信経路のペイロードサイズのうち最も小さいペイロードサイズを共通のペイロードサイズ(データサイズ)として選択する。実施例1の場合では、最もペイロードサイズが小さいチャネルBの値(=128バイト)が共通のデータサイズとして各チャネルA〜Cに再設定されることになる。
これにより、通信区間(チャネルA〜C)の接続箇所(つなぎ目)となるデバイスとしての、ネットワークコントローラ1021、2021では、ペイロードサイズの変換が不要となって、変換に要する処理時間を短縮することができる。これにより、前記従来例の遅延時間を低減することができるのである。
上記実施例では初期化プログラムをCPU1002が実行することで処理を実現する例を示したが、各装置で処理の一部(または全て)を実施してもよい。
例えば、I/Oコントローラ1011のコントロールレジスタ1012のペイロードサイズ1013と、ネットワークコントローラ1021の上りコントロールレジスタ1022のペイロードサイズ1023が確定すると、I/Oコントローラ1011とネットワークコントローラ1021はValidビット1014、1024をそれぞれ設定する。
ネットワークコントローラ1021は、上りコントロールレジスタ1022のValidビット1024が設定されたのを検知して、上りコントロールレジスタ1022のペイロードサイズ1023を他方のネットワークコントローラ2021のリモートコントロールレジスタ内のペイロードサイズへコピーする。コピーした後に、リモートコントロールレジスタ1032のValidビット1034を設定する。
一方で、ネットワークコントローラ1021、2021はコンピュータA、B同士でペイロードサイズを算出し、下りコントロールレジスタ1027のペイロードサイズ1028を確定する。
ネットワークコントローラ1021は、リモートコントロールレジスタ1032のValidビット1034が設定されたのを検知して、上りコントロールレジスタ1022のペイロードサイズ、下りコントロールレジスタ1027のペイロードサイズ1028、及びリモートコントロールレジスタ1032内のペイロードサイズ1033の3つを比較して、取りうる最大値、つまり、それらのペイロードサイズのうちの最小の値、を3つのコントロールレジスタに書き込む。
I/Oコントローラ1011は、ネットワークコントローラ1021の上りコントロールレジスタ1022のペイロードサイズ1023を自身のコントロールレジスタ1012のペイロードサイズ1013へコピーする。
本実施例では、説明のために、ネットワークコントローラ1021、2021内にすべての通信経路のペイロードサイズを格納するレジスタを具備しているが、レジスタを格納する場所は問わず、他の場所、もしくはメモリ1003上でも構わない。
また、チャネルA〜Cの3つのペイロードサイズから、全チャネルA〜Cに共用可能なペイロードサイズの算出、及び算出した結果をチャネルA〜Cにコピーする手段はハードウェアでもソフトウェアでもどちらでもよい。
図5は、シリアルデータ通信のパケットの転送処理の一例を示すフローチャートを示す。この処理は、パケットの送受信を行うコントローラで実行され、例えば、コンピュータA1001では、I/Oコントローラ1011またはネットワークコントローラ1021が実行する。以下の説明では、I/Oコントローラ1011及びネットワークコントローラ1021の総称として、単にコントローラとする。
まず、コントローラがパケットを受信し(S31)、所定の復号処理(128b/130b符号等)によってパケットを復号する(S32)。次に、コントローラは復号したパケットのリンクCRC206を検証する(S33)。そしてコントローラは、パケットからヘッダ203とデータ204を抽出するアンカプセルを実行する(S34)。
コントローラは、抽出したヘッダ203を読み込んで、送信先との送信先のデバイスに応じたプロトコルを解析する(S35)。次に、コントローラは、送信先に応じてヘッダ203のプロトコルを変換する(S36)。このプロトコルの変換は、例えば、PCI ExpressとFibre Channelのプロトコル変換となる。
また、コントローラは、抽出したデータを読み込んで、データCRCを検証する(S41)。そして、コントローラは、ステップS5のヘッダ解析に基づく送信先からペイロードを取得して、データサイズの変換が必要であるか否かを判定する(S42)。
データサイズの変換が必要な場合には、コントローラはペイロードに格納するデータのサイズの変換し(S43)、変換後のデータCRC205を作成する(S44)。コントローラは、プロトコルを変換したヘッダ203と、データ及びデータCRC205をカプセル化して転送先のパケットに格納する(S37)。そして、コントローラは格納したヘッダ203〜データCRC205に対してリンクCRC206を作成してパケットに付加する(S38)。コントローラは、生成されたパケットを、送信先の所定の符号により符号化し(S39)、送信する(S40)。
以上の処理のように、コントローラでは、転送先のペイロードに応じて、データサイズの変換が不要な場合には、そのままのデータサイズでカプセル化を実施することで、処理時間を短縮することができる。
一方、データサイズの変換が必要な場合には、前記従来例で述べたとおり、データサイズの変換とデータCRC205の生成を実施する。
したがって、本実施例では、各通信経路(チャネルA〜C)のペイロードサイズは最も小さい値に統一されるので、ステップS43、S44の処理が不要となって、データサイズの変換に起因する処理時間の遅延を最小限に抑えることが可能になる。
なお、初期化プログラムは、図示しないストレージサブシステムや不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
図7は従来例を示し、データ転送の一例を示すシーケンス図である。従来例では、通信区間の接続箇所となるデバイスで、データサイズの変換を上記図5のステップS43、S44で行うものでとなる。
図7では、ペイロードサイズが256バイトのコンピュータA1001から、ペイロードサイズが128バイトのコンピュータB2001に対して、2、048バイトのペイロードサイズの通信経路(チャネルC)経由で、4、096バイトのデータを転送する場合を示し、次のような手順になる。
コンピュータA1001のI/Oコントローラ1011はCPU1002からの4、096バイトのデータを、256バイト×16個のデータに分割して、ネットワークコントローラ1021へ送信する。
コンピュータA1001のネットワークコントローラ1021では、通信経路となるチャネルCのペイロードサイズに応じて、コンピュータA1001のI/Oコントローラ1011から受信した256バイト×16個の分割データを、2、048バイト×2個のデータにまとめて、コンピュータB2001のネットワークコントローラ2021へ送信する。
コンピュータB2001のネットワークコントローラ2021ではコンピュータB2001のI/Oコントローラ2011のペイロードサイズに応じて、受信した2、048バイト×2個のデータを128バイト×32個のデータに分割してから送信する。
上記従来例では、コンピュータAのネットワークコントローラ1021が、16のパケットを2つのパケットにまとめ、コンピュータBのネットワークコントローラ2021では、2つのパケットを32に分割するデータサイズの変換を繰り返す。
1つのパケットで送信可能なデータサイズ(ペイロードサイズ)が通信区間ごとに異なるために、通信区間のつなぎ目でデータサイズを毎回変換しなければならず、コンピュータAのネットワークコントローラで1021は細切れになったデータの集約を行うための処理時間を要し、コンピュータBのネットワークコントローラ2021では大きなデータの細分化のための処理時間が必要となり、遅延時間が増大している。
図6は本発明の実施例1を示し、データ転送の一例を示すシーケンス図である。本発明では、複数の通信区間のペイロードサイズを、複数の通信区間のうち最も小さい値に統一することで、上記図5のステップS43、S44を実施することなくパケットの転送を実現することができるのである。
実施例1では、複数の通信区間(チャネルA〜C)のそれぞれについて設定可能な最大のペイロードサイズ(データサイズ)を設定してから、各通信区間のペイロードサイズを比較して最小のペイロードサイズを、共通のペイロードサイズとして選択する。コンピュータA1001では、チャネルA、Bに共通のペイロードサイズを設定してから、コンピュータB2001へ共通のペイロードサイズを通知する。
コンピュータB2001はチャネルB2005のペイロードサイズを、コンピュータA1001から受信した共通のペイロードサイズに更新する。これにより、複数の通信区間のペイロードサイズは共通のペイロードサイズに統一されるので、データサイズの変換は不要となる。
実施例1の場合は、3つの通信区間(チャネルA〜C)のうち、コンピュータB2001のチャネルB2005のデータサイズが128バイトに設定されて最小である。そこで、他の通信区間も最小のデータサイズ=128バイトで統一することで、通信区間を接続するデバイスはデータサイズを変換する処理が不要となって、演算処理に要していた遅延時間(レイテンシ)を短縮することが可能になる。
なお、上記実施例1では、CPU1002とI/Oコントローラ1011が独立した構成の例を示したが、I/Oコントローラ1011がCPU1002に含まれて入れも良い。
図11〜図13は、実施例2を示す。図11は、第2の実施例の計算機システムの一例を示すブロック図である。図12は、コンピュータAで行われる初期化処理の一例を示すフローチャートである。図13は、コンピュータBで行われる初期化処理の一例を示すフローチャートである。
実施例2では、前記実施例1のコンピュータA1001のネットワークコントローラ1021からリモートコントロールレジスタ1032を削除し、コンピュータB2001のネットワークコントローラ2021を削除して、コンピュータA1001のネットワークコントローラ1021とコンピュータB2001のI/Oコントローラ1011をチャネルBで接続する。その他の構成は前記実施例1と同様である。
図11において、コンピュータA1001’は、CPU1002、メモリ1003、I/Oコントローラ1011、ネットワークコントローラ1021Aと、I/Oコントローラ1011とネットワークコントローラ1021Aを接続するチャネルA1005から構成される。コンピュータB2001’は、コンピュータA1001’と同様に、CPU2002とメモリ2003とI/Oコントローラ2011Bから構成される。
そして、コンピュータA1001’とコンピュータB2001’はチャネルB2005で接続される。
コンピュータA1001’のI/Oコントローラ1011は前記実施例1の図1と同様である。
ネットワークコントローラ1021Aには、チャネルA1005でのデータ転送に必要なペイロードサイズ1023を格納する上りコントロールレジスタ1022と、チャネルA1005で転送可能なペイロードサイズの最大値(Maxペイロードサイズ)1026を格納する上り性能レジスタ1025と、チャネルB2005でのデータ転送に必要なペイロードサイズ1028を格納する下りコントロールレジスタ1027と、チャネルB2005で転送可能なペイロードサイズの最大値(Maxペイロードサイズ)1031を格納する下り性能レジスタ1030とを具備する。なお、各レジスタの値の定義は前記実施例1の図8〜図10と同一である。
本実施例2では、チャネルA1005は前記実施例1と同様にPCI expressであるが、チャネルB2005は、前記実施例1のFCに代わってPCI expressが採用される。
このため、ネットワークコントローラ1021Aは、コンピュータA1001’のPCI expressのエンドポイントと、コンピュータB2001’のPCI expressのエンドポイントの2つのエンドポイントの機能を有する。ネットワークコントローラ1021Aが、外部のコンピュータB2001’と接続可能なエンドポイントを提供することで、外部のコンピュータB2001’はI/Oコントローラ2011BをチャネルB2005を介してネットワークコントローラ1021Aへ接続できるのである。
図12の初期化処理のフローチャートは、コンピュータA1001’で実行される。以下では、コンピュータA1001’のCPU1002で実行する例を示す。
ステップS11〜S15は、前記実施例1のステップS11〜S15と同一であり、CPU1002は、I/Oコントローラ1011とネットワークコントローラ1021AのMAXペイロードサイズ1016、1026のうち値の小さい方をチャネルA1005のペイロードサイズ1013、1023として設定し、チャネルA1005を初期化する。
次に、CPU1002は、I/Oコントローラ1011のコントロールレジスタ1012のペイロードサイズ1013と、ネットワークコントローラ1021Aの下りコントロールレジスタ1027のペイロードサイズ1028とを取得する。ただし、下りコントロールレジスタ1027の読み込みは、Validビット1029がローカルの初期化が完了するまで待機する。後述するように、下りコントロールレジスタ1027のペイロードサイズ1028は、コンピュータB2001’のI/Oコントローラ2011Bによって設定されるためである。
次に、CPU1002は、下りコントロールレジスタ1027のペイロードサイズ1028とI/Oコントローラ2011のペイロードサイズ1013のうち小さい値(設定可能な最大値)を選択し、当該選択した値で、下りコントロールレジスタ1027のペイロードサイズ1028とI/Oコントローラ2011のペイロードサイズ1013を更新する(S40)。
CPU1002は、I/Oコントローラ2011のコントロールレジスタ1012と、ネットワークコントローラ1021Aの上りコントロールレジスタ1022のValidビット1014、1024にリモート(接続先)の初期化が完了したことを示す“0b11”を設定して(S41)初期化を完了する。
図13は、コンピュータBで行われる初期化処理の一例を示すフローチャートである。コンピュータB2001’のCPU2002は、I/Oコントローラ2011とコンピュータA1001’のネットワークコントローラ1021Aを接続するチャネルB2005の初期化を行う(S51)。
次に、CPU2002は、I/Oコントローラ2011の性能レジスタ2015のMAXペイロードサイズ2016と、コンピュータA1001’のネットワークコントローラ1021Aの下り性能レジスタ1030のMAXペイロードサイズ1031とを比較して、値の小さい方(設定可能な最大値)を選択する(S52)。
そして、CPU2002は、選択した値をI/Oコントローラ2011のコントロールレジスタ2012のペイロードサイズ2013と、コンピュータA1001’のネットワークコントローラ1021Aの下りコントロールレジスタ1027のペイロードサイズ1028に設定する(S53)。
CPU2002は、I/Oコントローラ2011のコントロールレジスタ2012のValidビット2014と、コンピュータA1001’のネットワークコントローラ1021Aの下りコントロールレジスタ1027のValidビット1029に、ローカルな初期化が完了したことを示す“0b01”を設定する(S54)
CPU2002は、コンピュータA1001’のネットワークコントローラ1021Aと、コンピュータB2001’のI/Oコントローラ2011を接続するチャネルB2005の設定を開始する(S55)。
CPU2002は、コンピュータA1001’のネットワークコントローラ1021Aと、コンピュータB2001’のI/Oコントローラ2011を接続するチャネルB2005の設定を開始する(S55)。
CPU2002は、コンピュータB2001’のI/Oコントローラ2011のコントロールレジスタ2012のペイロードサイズ2013と、コンピュータA1001’のネットワークコントローラ1021Aの上りコントロールレジスタ1022のペイロードサイズ1023を比較して値の小さい方(設定可能な最大値)を選択する。そして、CPU2002は、選択した値をI/Oコントローラ2011のコントロールレジスタ2012のペイロードサイズ2013と、コンピュータA1001’のネットワークコントローラ1021Aの上りコントロールレジスタ1022のペイロードサイズ1023にそれぞれ書き込む(S56)。
最後に、CPU2002は、I/Oコントローラ2011のコントロールレジスタ2012のValidビット2014と、コンピュータA1001’のネットワークコントローラ1021Aの下りコントロールレジスタ1027のValidビット1029に、リモートの初期化が完了したことを示す値“0b11”を設定する(S54)
以上の処理によって、コンピュータA1001’のI/Oコントローラ1011とネットワークコントローラ1021A間のチャネルA1005と、コンピュータA1001’とコンピュータB2001’を接続するチャネルB2005のペイロードサイズを、複数の通信区間のうち最小の値に設定することで、通信区間のつなぎ目となるデバイスで、データサイズの変換を行うことなくパケットの転送を行うことが可能となって、実施例1と同様に、遅延時間を抑制することが可能となる。
以上の処理によって、コンピュータA1001’のI/Oコントローラ1011とネットワークコントローラ1021A間のチャネルA1005と、コンピュータA1001’とコンピュータB2001’を接続するチャネルB2005のペイロードサイズを、複数の通信区間のうち最小の値に設定することで、通信区間のつなぎ目となるデバイスで、データサイズの変換を行うことなくパケットの転送を行うことが可能となって、実施例1と同様に、遅延時間を抑制することが可能となる。
本実施例2では、説明のために、ネットワークコントローラ内にすべて経路のペイロードサイズを格納するレジスタを具備しているが、レジスタを格納する場所は問わず、他の場所、もしくはメモリ上でも構わない。
また、チャネルA1005と、チャネルB2005の2つのペイロードサイズから、全チャネルに設定可能なペイロードサイズの算出と、算出した結果をチャネルA1005とチャネルB2005に設定する手段はハードウェアでもソフトウェアでもどちらでもよい。
なお、本発明において説明した計算機等の構成、処理部及び処理手段等は、それらの一部又は全部を、専用のハードウェアによって実現してもよい。
また、本実施例で例示した種々のソフトウェアは、電磁的、電子的及び光学式等の種々の記録媒体(例えば、非一時的な記憶媒体)に格納可能であり、インターネット等の通信網を通じて、コンピュータにダウンロード可能である。
また、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明をわかりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
1002、2002 CPU
1005 チャネルA
1006 チャネルC
1011、2011 I/Oコントローラ
1012、2012 コントロールレジスタ
1015、2015 性能レジスタ
1021、2021 ネットワークコントローラ
1022、2022 上りコントロールレジスタ
1025、2025 上り性能レジスタ
1027、2027 下りコントロールレジスタ
1030、2030 下り性能レジスタ
1032、2032 リモートコントロールレジスタ
2005 チャネルB
1005 チャネルA
1006 チャネルC
1011、2011 I/Oコントローラ
1012、2012 コントロールレジスタ
1015、2015 性能レジスタ
1021、2021 ネットワークコントローラ
1022、2022 上りコントロールレジスタ
1025、2025 上り性能レジスタ
1027、2027 下りコントロールレジスタ
1030、2030 下り性能レジスタ
1032、2032 リモートコントロールレジスタ
2005 チャネルB
Claims (12)
- 第1の装置と第2の装置が複数の通信区間で接続されてデータの転送を行うデータ転送システムであって、
前記第1の装置は、
前記第1の装置内の通信区間と、前記第1の装置と第2の装置を接続する通信区間のそれぞれについて通信可能な最大のデータサイズをそれぞれ設定し、
前記第2の装置は、
前記第2の装置内の通信区間に、通信可能な最大のデータサイズを設定し、
前記第1の装置は、
前記第2の装置内の通信区間に設定されたデータサイズを取得して、前記第1の装置内の通信区間のデータサイズと、前記第1の装置と第2の装置を接続する通信区間のデータサイズと比較して、最小のデータサイズを共通のデータサイズとして選択し、前記通信区間のそれぞれについて前記共通のデータサイズで再設定することを特徴とするデータ転送システム。 - 請求項1に記載のデータ転送システムであって、
前記第1の装置内の通信区間は、前記第1の装置内でシリアル通信を行う第1の通信区間を含み、
前記第2の装置内の通信区間は、前記第2の装置内でシリアル通信を行う第2の通信区間を含み、
前記第1の装置と第2の装置を接続する通信区間は、前記第1の装置と第2の装置でシリアル通信を行う第3の通信区間を含み、
前記第1の装置は、
前記第1の通信区間において1回の通信で送受信する第1のデータサイズを保持する第1のデータサイズ記憶部と、
前記第2の通信区間において1回の通信で送受信する第2のデータサイズを保持する第2のデータサイズ記憶部と、
前記第3の通信経路において1回の通信で送受信する第3のデータサイズを保持する第3のデータサイズ記憶部と、を有し、
前記第1の通信経路で設定可能な最大値を第1のデータサイズとして前記第1のデータサイズ記憶部に格納し、
前記第3の通信経路で設定可能な最大値を第3のデータサイズとして前記第3のデータサイズ記憶部に格納し、
前記第2の装置から前記第2のデータサイズを取得して前記第2のデータサイズ記憶部に格納し、
前記第2の装置は、
前記第2の通信経路で設定可能な最大値を第2のデータサイズとして設定し、
前記第1の装置は、
前記第1のデータサイズと、前記第2のデータサイズ及び前記第3のデータサイズを比較して、最も値の小さいデータサイズを前記共通のデータサイズとして前記第1のデータサイズ記憶部と第3のデータサイズ記憶部に格納し、前記共通のデータサイズを前記第2の装置に通知し、
前記第2の装置は、
前記第1の装置から受信した共通のデータのサイズを第2の通信経路で送受信するデータのサイズとして再設定することを特徴とするデータ転送システム。 - 請求項2に記載のデータ転送システムであって、
前記第1の通信区間は、第1のデバイスと第2のデバイスを接続し、
前記第1のデバイスは、1回の通信で送受信するデータサイズの最大値が予め設定され、
前記第2のデバイスは、1回の通信で送受信するデータサイズの最大値が予め設定され、
前記第1の装置は、
前記第1のデバイスの前記データサイズの最大値と、前記第2のデバイスの前記データサイズの最大値のうち小さい方を、前記第1の通信区間のデータサイズとして設定することを特徴とするデータ転送システム。 - 請求項2に記載のデータ転送システムであって、
前記第3の通信区間は、第1の装置の第2のデバイスと、第2の装置の第3のデバイスとを接続し、
前記第2のデバイスは、1回の通信で送受信するデータサイズの最大値が予め設定され、
前記第3のデバイスは、1回の通信で送受信するデータサイズの最大値が予め設定され、
前記第1の装置は、
前記第2のデバイスの前記データサイズの最大値と、前記第3のデバイスの前記データサイズの最大値のうち小さい方を、前記第3の通信区間のデータサイズとして設定することを特報とするデータ転送システム。 - 第1の計算機と第2の計算機が複数の通信区間で接続されてデータの転送を行う計算機システムであって、
前記第1の計算機は、
前記第1の計算機内の通信区間と、前記第1の計算機と第2の計算機を接続する通信区間のそれぞれについて通信可能な最大のデータサイズをそれぞれ設定し、
前記第2の計算機は、
前記第2の計算機内の通信区間に、通信可能な最大のデータサイズを設定し、
前記第1の計算機は、
前記第2の計算機内の通信区間に設定されたデータサイズを取得して、前記第1の計算機内の通信区間のデータサイズと、前記第1の計算機と第2の計算機を接続する通信区間のデータサイズと比較して、最小のデータサイズを共通のデータサイズとして選択し、前記通信区間のそれぞれについて前記共通のデータサイズで再設定することを特徴とする計算機システム。 - 請求項5に記載の計算機システムであって、
前記第1の計算機内の通信区間は、前記第1の計算機内でシリアル通信を行う第1の通信区間を含み、
前記第2の計算機内の通信区間は、前記第2の計算機内でシリアル通信を行う第2の通信区間を含み、
前記第1の計算機と第2の計算機を接続する通信区間は、前記第1の計算機と第2の計算機でシリアル通信を第3の通信区間を含み、
前記第1の計算機は、
前記第1の通信区間において1回の通信で送受信する第1のデータサイズを保持する第1のデータサイズ記憶部と、
前記第2の通信区間において1回の通信で送受信する第2のデータサイズを保持する第2のデータサイズ記憶部と、
前記第3の通信経路において1回の通信で送受信する第3のデータサイズを保持する第3のデータサイズ記憶部と、を有し、
前記第1の通信経路で設定可能な最大値を第1のデータサイズとして前記第1のデータサイズ記憶部に格納し、
前記第3の通信経路で設定可能な最大値を第3のデータサイズとして前記第3のデータサイズ記憶部に格納し、
前記第2の計算機から前記第2のデータサイズを取得して前記第2のデータサイズ記憶部に格納し、
前記第2の計算機は、
前記第2の通信経路で設定可能な最大値を第2のデータサイズとして設定し、
前記第1の計算機は、
前記第1のデータサイズと、前記第2のデータサイズ及び前記第3のデータサイズを比較して、最も値の小さいデータサイズを前記共通のデータサイズとして前記第1のデータサイズ記憶部と第3のデータサイズ記憶部に格納し、前記共通のデータサイズを前記第2の計算機に通知し、
前記第2の計算機は、
前記第1の計算機から受信した共通のデータのサイズを第2の通信経路で送受信するデータのサイズとして再設定することを特徴とする計算機システム。 - 請求項6に記載の計算機システムであって、
前記第1の通信区間は、第1のデバイスと第2のデバイスを接続し、
前記第1のデバイスは、1回の通信で送受信するデータサイズの最大値が予め設定され、
前記第2のデバイスは、1回の通信で送受信するデータサイズの最大値が予め設定され、
前記第1の計算機は、
前記第1のデバイスの前記データサイズの最大値と、前記第2のデバイスの前記データサイズの最大値のうち小さい方を、前記第1の通信区間のデータサイズとして設定することを特徴とする計算機システム。 - 請求項6に記載の計算機システムであって、
前記第3の通信区間は、第1の計算機の第2のデバイスと、第2の計算機の第3のデバイスとを接続し、
前記第2のデバイスは、1回の通信で送受信するデータサイズの最大値が予め設定され、
前記第3のデバイスは、1回の通信で送受信するデータサイズの最大値が予め設定され、
前記第1の計算機は、
前記第2のデバイスの前記データサイズの最大値と、前記第3のデバイスの前記データサイズの最大値のうち小さい方を、前記第3の通信区間のデータサイズとして設定することを特徴とする計算機システム。 - 第1の計算機が第2の計算機と複数の通信区間を介して接続されてデータの転送を行うプログラムであって、
前記第1の計算機内の通信区間で、通信可能な最大のデータサイズを設定する第1のステップと、
前記第1の計算機と第2の計算機を接続する通信区間で、通信可能な最大のデータサイズを設定する第2のステップと、
前記第2の計算機から、前記第2の計算機内の通信区間に設定されたデータサイズを取得する第3のステップと、
前記第1の計算機内の通信区間のデータサイズと、前記第1の計算機と第2の計算機を接続する通信区間のデータサイズと比較して、最小のデータサイズを共通のデータサイズとして選択する第4のステップと、
前記通信区間のそれぞれについて前記共通のデータサイズを再設定する第5のステップと、
を前記第1の計算機に実行させることを特徴とするプログラム。 - 請求項9に記載のプログラムであって、
前記第1の計算機内の通信区間は、前記第1の計算機内でシリアル通信を行う第1の通信区間を含み、
前記第2の計算機内の通信区間は、前記第2の計算機内でシリアル通信を行う第2の通信区間を含み、
前記第1の計算機と第2の計算機を接続する通信区間は、前記第1の計算機と第2の計算機でシリアル通信を第3の通信区間を含み、
前記第1のステップは、
前記第1の通信経路で設定可能な最大値を第1のデータサイズとして設定し、
前記第2のステップは、
前記第3の通信経路で設定可能な最大値を第3のデータサイズとして設定し、
前記第3のステップは、
前記第2の計算機から、前記第2の装置内でシリアル通信を行う第2の通信区間に設定された第2のデータサイズを取得し、
前記第4のステップは、
前記第1のデータサイズと、前記第2のデータサイズ及び前記第3のデータサイズを比較して、最も値の小さいデータサイズを前記共通のデータサイズとして選択し、
前記第5のステップは、
前記第1の通信区間に前記共通のデータサイズを再設定し、前記第3の通信区間に前記共通のデータサイズを再設定し、前記共通のデータサイズを前記第2の計算機に通知することを特徴とするプログラム。 - 請求項10に記載のプログラムであって、
前記第1の通信区間は、第1のデバイスと第2のデバイスを接続し、
前記第1のデバイスは、1回の通信で送受信するデータサイズの最大値が予め設定され、
前記第2のデバイスは、1回の通信で送受信するデータサイズの最大値が予め設定され、
前記第1のステップは、
前記第1のデバイスの前記データサイズの最大値と、前記第2のデバイスの前記データサイズの最大値のうち小さい方を、前記第1の通信区間のデータサイズとして設定することを特徴とするプログラム。 - 請求項10に記載のプログラムであって、
前記第3の通信区間は、第1の計算機の第2のデバイスと、第2の計算機の第3のデバイスとを接続し、
前記第2のデバイスは、1回の通信で送受信するデータサイズの最大値が予め設定され、
前記第3のデバイスは、1回の通信で送受信するデータサイズの最大値が予め設定され、
前記第2のステップは、
前記第2のデバイスの前記データサイズの最大値と、前記第3のデバイスの前記データサイズの最大値のうち小さい方を、前記第3の通信区間のデータサイズとして設定することを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013141823A JP2015014951A (ja) | 2013-07-05 | 2013-07-05 | データ転送システム、計算機システム及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013141823A JP2015014951A (ja) | 2013-07-05 | 2013-07-05 | データ転送システム、計算機システム及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015014951A true JP2015014951A (ja) | 2015-01-22 |
Family
ID=52436640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013141823A Pending JP2015014951A (ja) | 2013-07-05 | 2013-07-05 | データ転送システム、計算機システム及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015014951A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018173796A1 (ja) * | 2017-03-23 | 2018-09-27 | ソニーセミコンダクタソリューションズ株式会社 | 通信装置、通信方法、プログラム、および、通信システム |
-
2013
- 2013-07-05 JP JP2013141823A patent/JP2015014951A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018173796A1 (ja) * | 2017-03-23 | 2018-09-27 | ソニーセミコンダクタソリューションズ株式会社 | 通信装置、通信方法、プログラム、および、通信システム |
CN110447020A (zh) * | 2017-03-23 | 2019-11-12 | 索尼半导体解决方案公司 | 通信装置、通信方法、程序和通信系统 |
KR20190131016A (ko) * | 2017-03-23 | 2019-11-25 | 소니 세미컨덕터 솔루션즈 가부시키가이샤 | 통신 장치, 통신 방법, 프로그램 및 통신 시스템 |
JPWO2018173796A1 (ja) * | 2017-03-23 | 2020-01-23 | ソニーセミコンダクタソリューションズ株式会社 | 通信装置、通信方法、プログラム、および、通信システム |
EP3605348A4 (en) * | 2017-03-23 | 2020-03-11 | Sony Semiconductor Solutions Corporation | COMMUNICATION DEVICE, COMMUNICATION METHOD, PROGRAM, AND COMMUNICATION SYSTEM |
US11010328B2 (en) | 2017-03-23 | 2021-05-18 | Sony Semiconductors Solutions Corporation | Communication apparatus, communication method, program, and communication system |
JP7123905B2 (ja) | 2017-03-23 | 2022-08-23 | ソニーセミコンダクタソリューションズ株式会社 | 通信装置、通信方法、プログラム、および、通信システム |
KR102515186B1 (ko) * | 2017-03-23 | 2023-03-29 | 소니 세미컨덕터 솔루션즈 가부시키가이샤 | 통신 장치, 통신 방법, 프로그램 및 통신 시스템 |
US11714778B2 (en) | 2017-03-23 | 2023-08-01 | Sony Semiconductor Solutions Corporation | Communication apparatus, communication method, program, and communication system |
CN110447020B (zh) * | 2017-03-23 | 2024-03-26 | 索尼半导体解决方案公司 | 通信装置、通信方法、程序和通信系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11789892B2 (en) | Recalibration of PHY circuitry for the PCI express (PIPE) interface based on using a message bus interface | |
US10365965B2 (en) | High performance interconnect link layer | |
US10755156B2 (en) | Configurable integrity protected link for secure accelerator communication | |
US9430412B2 (en) | NVM express controller for remote access of memory and I/O over Ethernet-type networks | |
KR101593029B1 (ko) | 하드웨어 구동 알고리즘에 의한 이퀄라이제이션을 향상시키기 위한 장치, 시스템, 및 방법 | |
JP6626119B2 (ja) | マルチギガビット無線トンネリングシステム | |
US20160350250A1 (en) | Input output data alignment | |
US11928071B2 (en) | System communication technique over PCIe® (peripheral component interconnect express) link | |
JP2015014951A (ja) | データ転送システム、計算機システム及びプログラム | |
US10958595B2 (en) | Cut-through bridge error isolation | |
CN109213710B (zh) | 高速串行接口装置与其数据传输方法 | |
US11636061B2 (en) | On-demand packetization for a chip-to-chip interface | |
US11892927B2 (en) | Method for error handling of an interconnection protocol, controller and storage device | |
US10176135B2 (en) | Multi-packet processing with ordering rule enforcement | |
US20130051494A1 (en) | Method and system for responder side cut through of received data | |
TW202114359A (zh) | 用於解碼極化碼的方法及使用者設備 | |
JP6011727B2 (ja) | データ転送装置、データ転送方法及び情報処理装置 | |
US20220405223A1 (en) | Method and system for data transactions on a communications interface | |
JP6107499B2 (ja) | 通信制御装置及び画像形成装置 | |
WO2019000196A1 (zh) | 一种咬尾卷积码编码方法、装置及系统 |