JP5800565B2 - データ転送装置及びデータ転送方法 - Google Patents

データ転送装置及びデータ転送方法 Download PDF

Info

Publication number
JP5800565B2
JP5800565B2 JP2011106403A JP2011106403A JP5800565B2 JP 5800565 B2 JP5800565 B2 JP 5800565B2 JP 2011106403 A JP2011106403 A JP 2011106403A JP 2011106403 A JP2011106403 A JP 2011106403A JP 5800565 B2 JP5800565 B2 JP 5800565B2
Authority
JP
Japan
Prior art keywords
data
valid
bits
valid information
character
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.)
Active
Application number
JP2011106403A
Other languages
English (en)
Other versions
JP2012238158A5 (ja
JP2012238158A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2011106403A priority Critical patent/JP5800565B2/ja
Priority to US13/465,712 priority patent/US8769166B2/en
Priority to EP12167363.6A priority patent/EP2523118B1/en
Priority to CN201210146271.9A priority patent/CN102981988B/zh
Publication of JP2012238158A publication Critical patent/JP2012238158A/ja
Publication of JP2012238158A5 publication Critical patent/JP2012238158A5/ja
Application granted granted Critical
Publication of JP5800565B2 publication Critical patent/JP5800565B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Description

本発明は、パケットを使用してデータ転送を行うデータ転送装置及びデータ転送方法に関する。
パケットを使用してデータ転送を行う技術が様々な分野に適用されている。TCP/IP(Transmission Control Protocol/Internet Protocol)はインターネット上のデータ転送をパケットベースで行う技術である。また、PCI−Express(Peripheral Component Interconnect−Express)は集積回路間のデータ転送をパケットベースで行う技術である。また、NoC(Network On Chip)は集積回路内のデータ転送をパケットベースで行う技術である。
パケットベースでデータ転送を行うメリットは、アドレスやデータ等の転送に必要な様々な情報を少ない信号線で転送できることにある。例えば、PCI−Expressでは、2対の差動線路のみで、データ転送を行うことができる。また、転送レートを上げやすいというメリットがある。しかし、パケットベースの転送方式にあっては、様々な情報を時間軸上に展開して送信するため、非パケットベースの転送方式に比べて転送に要するサイクル数が多いという問題点がある。そのため、パケット構造を工夫し、転送する情報量を削減することで、転送に要するサイクル数を減らし、転送効率を上げる技術が提案されている。
転送する情報を減らす工夫として、非特許文献1に開示されているPCI−Expressでは、メモリリクエスト時のデータペイロード中の最終の4バイトデータ、及び、先頭の4バイトデータ以外は全て有効データとして取り扱うプロトコルにし、パケット構成の中でデータペイロード中の最終の4バイトデータ、及び、先頭の4バイトデータに対応したバイトイネーブル識別情報(Last DW BE、1st DW BE)以外を割愛することで、パケット上の情報を減らす工夫をしている。
また、特許文献1では、シリアルバス上に転送すべきデータについてバイト単位で付加されているバイトイネーブルに基づいて有効なデータのみを転送することで、無効データの転送を抑制し、転送効率の向上を図っている。
特開平11−102341号公報
一方で、集積回路内のデータ転送には、非パケットベースのパラレルバスが主流である。集積回路内のパラレルバスのプロトコルは、一転送単位中(例えば、64バイト=64ビットバス幅 × 8バースト転送)のどのデータが有効であるか否かを示すバイトイネーブル(例えば8ビット)を、データ単位(バス幅である64ビット)毎に有していることが多い。同様に記憶装置として主流であるDRAMを対象としたデータ転送に関するプロトコルにおいてもバイトイネーブルを有している。集積回路内/間を含むシステム全体におけるマスタからスレーブ(例えば、DRAM)へのデータ転送は、パケットベースの転送や、非パケットベースでバイトイネーブルを用いた転送を相互に利用することで実現される。
ここで、集積回路内のパラレルバスから集積回路間のPCI−Expressへの転送経路において、パラレスバスからの一転送単位のデータにおいて、先頭と末尾の4バイト以外に無効データがある場合について詳細を述べる。PCI−Expressのプロトコルは、データペイロード(一転送単位)中の最終と先頭以外のデータは有効な転送対象のデータとして扱うため、PCI−Expressへデータを転送する際には、少なくとも向こうデータがある箇所で転送を分割し、分割した分だけヘッダーを追加する必要がある。例えば、64ビットのデータバス幅のパラレスバスからの一転送のデータが64バイト(64ビットバス幅 × 8バースト転送)で、かつ、8バイトおきに無効なデータが1バイト含まれるようなデータをPCI−Expressへ転送する場合は、例えば、8バイト毎に分割し其々にヘッダーを追加する必要がある。従って、転送帯域を占有するので転送効率が損なわれてしまう。
一方で、特許文献1のように、バイトイネーブルをシリアルバス上に転送するデータについてバイト単位で付与するため、転送対象のデータについて有効なデータを含む割合が多い場合は、バイトイネーブル自体のデータ量で逆に転送効率が損なわれてしまう。
以上の課題を解決するために本発明に係るデータ転送装置は、データと、当該データについてバイト単位で有効であるか否かを示す有効情報と、を含む信号を受信する受信手段と、前記受信手段により受信したデータのうちの対応する第1のビット数分のデータが有効であるか否かを示す部分有効情報と、当該部分有効情報が有ることを示す識別子と、前記第1のビット数分のデータと、を対応付けて送信する送信手段と、を備えるデータ転送装置であって、前記送信手段は前記データのうち、前記第1のビット数分のデータが有効である際には、当該第1のビット数分のデータに対応する部分有効情報の送信を省略することを特徴とする。
有効データ情報を含むデータ転送にあたって、転送効率を上げることができる。
システムの構成図である。 本発明の実施形態の構成を示す図である。 本発明の実施形態のパケットのフォーマットを示す図である。 キャラクタ生成部1034の処理フローを説明する図である。 本発明の実施形態における転送データを示す図である。 本発明の実施形態におけるシリアルバス300上のデータフォーマット例を示す図である。 キャラクタ判別部2033の処理フローを説明する図である。
(実施形態1)
図1は、本発明の実施形態に関わるシステムの構成例である。ASIC_A100とASIC_B200がシリアルバス300で接続されているシステムの構成を示す。(ASICはApplication Specific Integrated Circuitの略称である。)
シリアルバス300上では、パケットによるデータ転送が行われる。ASIC_A100は第一バスマスタA101、第一バスマスタB102、第一バスとシリアルバス間のブリッジである第一ブリッジ103、DRAMコントローラA104を有しており、各モジュールは、第一バス105によって接続されている。第一バス105は、アドレスやデータ等がそれぞれ専用線で接続されているパラレルバスである。第一バスマスタA101及び第一バスマスタB102は第一バス105を介して、第一ブリッジ103とDRAMコントローラA104との間でデータ転送を行う。DRAMコントローラA104はDRAM I/F A107を介してDRAM_A106との間でデータ転送を行う。第一ブリッジ103は第一バス105からの転送をシリアルバス300の転送に変換して、接続先のASIC_B200内の第二ブリッジ203へ転送を行う。
一方、ASIC_B200は第二バスマスタA201、第二バスマスタB202、第二ブリッジ203、DRAMコントローラB204を有しており、各モジュールは、第二バス205によって接続されている。第二バス205は、アドレスやデータ等がそれぞれ専用線で接続されているパラレルバスである。第二ブリッジ203はシリアルバス300からの転送を第二バス205の転送に変換して、第二バス205を介してDRAMコントローラB204に転送する。第二バスマスタA201及び第二バスマスタB202は第二バス205を介して、DRAMコントローラB204との間でデータ転送を行う。DRAMコントローラB204はDRAM I/F B207を介してDRAM_B206との間でデータ転送を行う。なお、本例では、第一バス、第二バスとも、データのバス幅は64ビットとする。
図2は本実施形態の転送方式を実現するための第一ブリッジ103及び第二ブリッジ203の構成図である。以下にそれぞれの処理について説明する。
〔リクエスト送信処理〕
まず、リクエストの送信処理について説明する。第一バスリクエスト受信部1030は第一バス105を介して、第一バスマスタA101や第一バスマスタB102からのリクエストを受信する。各バスマスタは、転送先のアドレス(Address)、Write転送かRead転送かを示すフラグ、転送データのサイズ、書き込みデータ(Wdata)、ライトストローブ(Wstrb)、及び、転送にまつわる属性情報(ReqAtrb)を含むリクエストを出力する。
第一バスリクエスト受信部1030は、リクエストのタイミングを制御する信号に従い、上述したリクエストからアドレス、Write転送かRead転送かを示すフラグ、Write転送の場合は書き込みデータ、ライトストローブを抽出し、リクエストパケット変換部1031に渡す。
リクエストパケット変換部1031は、受信したリクエストをパケットに変換する。リクエストパケット変換部1031には、データイネーブルパターン認識部1033、及び、キャラクタ生成部1034から構成される。
データイネーブルパターン認識部1033は、第一バスリクエスト受信部1030からのリクエストのうち、1byte毎に有効なデータの有無を示しているライトストローブ(Wstrb:有効情報)を受信する。そして、連続する所定数の単位毎(第1のビット数毎)にライトストローブ(Wstrb)が全て真であるかどうかを判定するブロックである。本実施形態では、64bitのデータ単位(8byte単位)でライトストローブ(Wstrb)が連続して真か否かを判定するものとする。キャラクタ生成部1034は、第一バスリクエスト受信部1030からのリクエスト、及び、データイネーブルパターン認識部1033の判定結果を受けて、後述する各キャラクタを生成する。
図3に、キャラクタ生成部1034が生成する複数のキャラクタを有するパケットの例を示す。パケットはヘッダーおよびデータ部を有する。本実施形態のパケットではヘッダーおよびデータ部共に一キャラクタあたり33bitとしているとしているが、その他のビット数でもよい。ただし、データ転送の利便性を高めるためにキャラクタは所定長であることが好ましい。ヘッダー及びデータ共に32bit単位(第2のビット数毎)の要素に分割され、各要素について1bitのデータイネーブルキャラクタであるかどうかを示す識別子としてのフラグを付与されて複数の33bitのキャラクタを有するパケットとなっている。なお、データイネーブルキャラクタは64bitのデータ(第1のビット数分のデータ)についてのバイトイネーブル(ここでは、部分有効情報とする)を有しているので、データイネーブルキャラクタであることを示すフラグは部分有効情報の有無を示していることに相当する。バイトイネーブルはバイト単位でデータが有効であるか否かを示している。
図3(a)は、ライトリクエストのパケットの例である。ヘッダーは、パケットの種類を示す識別子(Type)や転送属性情報(ReqAtrb:Request Attribution)を含むキャラクタと転送先のアドレス(Address)を含むキャラクタとを有する。また、データ部は書き込みデータ(Wdata)やWrite転送時にのみ生成されるデータイネーブルキャラクタ(ライトストローブ用のキャラクタ)を有する。また、各キャラクタの先頭bitは其々のキャラクタがデータイネーブルキャラクタであるかデータキャラクタであるかを示す識別子としてのデータイネーブルキャラクタフラグである。図3(a)に示す例では先頭から3番目及び6番目のキャラクタのフラグが“1”なのでデータイネーブルキャラクタであり、その他は“0”なのでデータキャラクタである。なお、転送データの全てのバイトが有効でない限り、データ部はデータイネーブルキャラクタとデータキャラクタのセットを少なくとも1つ以上有する。
以下、リクエストパケット変換部1031内のキャラクタ生成部1034によるキャラクタ生成処理について、図4で示すフローチャートを用いて詳細に説明する。
リクエストパケット変換部1031内のキャラクタ生成部1034は、第一バスリクエスト受信部1030から転送されるリクエストを受けて、処理を開始する(ステップS400)。次に、このタイミングで受信したリクエストの成分がヘッダーを構成する成分であるか判断する(ステップS401)。受信したリクエストの成分がヘッダーを構成する成分である場合は、図3(a)に示すヘッダー部を生成する(ステップS402)。ステップS401において、受信したリクエストの成分がヘッダーを構成する成分でない場合、受信したリクエストの成分はデータを生成する成分であるとして、ステップS403に移行する。データイネーブルパターン認識部1033の結果を受けて、ライトストローブのキャラクタを生成するかどうかを判断する(ステップS403)。
図5は、本実施形態においてバスマスタからのリクエストについてデータイネーブルパターン認識部1033が生成した32bit単位のライトデータ(Wdata)とバイト毎のライトストローブ(Wstrb)の一例である。
まず、本実施形態のデータイネーブルキャラクタは後続する2キャラクタ分のデータキャラクタのライトストローブ信号を有している。
Wdata0に対応するライトストローブ(Wstrb)は“0111“、Wdata1に対応するライトストローブ(Wstrb)は“1111”であるので、Wdata0〜1の範囲で64bitのデータ単位(8byte単位)でライトストローブ(Wstrb)が連続して“真”ではない。このライトストローブ情報をデータイネーブルパターン認識部1033から受け取り、ライトストローブ情報(Wstrb0)と予約領域(Reserved)とを含むデータイネーブルキャラクタを生成する(ステップS404)。ここでは、Wdata0〜1に対応して図3(a)に示す3番目のキャラクタを生成する(ステップS405)。次に、Wdata0〜1データキャラクタを生成し(ステップS405)、図3(a)に示す4番目、5番目のキャラクタを生成する。なお、予約領域は次のキャラクタのアライメントをするための情報であり、予約領域のbit数は、(1キャラクタのbit数)−(キャラクタフラグのbit数)−(ライトストローブのbit数)で決定される。本実施形態であると、33−8−1=24となり予約領域は24bitである。次の、Wdata2、Wdata3に関しても8byte単位でライトストローブが連続して“真”ではないので、Wdata0、Wdata1と同様の処理を繰り返す。
一方で、Wdata4、5に対応するライトストローブ(Wstrb)はともに“1111”であるので、Wdata2〜3の範囲で64bitのデータ単位(8byte単位)でライトストローブ(Wstrb)が連続して“真”になる。この情報をデータイネーブルパターン認識部1033から受け取り、データイネーブルキャラクタの生成を省き、ステップS405に移行し、図3(a)に示す9番目、10番目のキャラクタを生成する。以上の処理を一連のリクエストが終わるまで繰り返し(ステップS406)、処理を終了する。
なお、リードリクエストの場合、書き込みデータ(Wdata)、ライトストローブ(Wstrb)がなく、転送先のアドレス(Address)、Write転送かRead転送かを示すフラグ、及び、転送にまつわる属性情報(ReqAtrb)のみを処理することになる。ライトリクエストの処理と比較して、書き込みデータ(Wdata)、ライトストローブ(Wstrb)の処理(図4のステップS403、404、405)がなくなるだけであるので、ここでは説明を省略する。
リクエストパケット変換部1031でパケット化された各キャラクタは、リクエストパケット送信部1032からクロックとともにシリアルバス300を介して、受信側のASIC_B200に送信される。図6に、本実施形態においてシリアルバス300上でクロックに同期して転送されるデータのフォーマットを示す。キャラクタ毎にキャラクタの先頭を示すスタートビットが付与されている構成で、データ転送がない場合は、NOP(ノーオペレーション)を示すデータが転送される。
〔リクエスト受信処理〕
続いて、ASIC_B200によるリクエストの受信処理について説明する。
リクエストパケット受信部2030はシリアルバス300を介してASIC_A100から送信されたシリアルデータ内のスタートビットを検出し、スタートビットに続く33bitのシリアルデータから33bitのキャラクタを生成し、リクエストパケット逆変換部2031に転送する。
次に、リクエストパケット逆変換部2031内のキャラクタ判別部2033の動作を図7のフローチャートを用いて説明する。まず、最初に転送されるヘッダー部の2個のキャラクタから転送の種類を示す識別子(Type)、転送属性情報(ReqAtrb)、アドレスを抽出し、其々を第二バスリクエスト送信部2032に送信する(ステップS700)。さらに、後続するデータ部のキャラクタがあるか否か判定し(ステップS701)、データ部のキャラクタがある場合は、転送属性情報(ReqAtrb)内に含まれる転送サイズ情報から、データの数(データキャラクタの数に相当する)を記憶する(ステップS702)。データ部のキャラクタがない場合は、処理を完了し、次のキャラクタが転送された際は、再びステップS700においてヘッダー処理を行う。
データ部のキャラクタがあると判定された場合、後続するキャラクタのデータイネーブルキャラクタフラグから、各キャラクタがデータイネーブルキャラクタとデータキャラクタのどちらであるかを判定する(ステップS703)。
データキャラクタである場合は、データ成分を第二バスリクエスト送信部2032へ転送するとともに、データイネーブル生成部2034に今回のキャラクタがデータキャラクタであったことを通知する(ステップS704)。次にステップS705において、処理したデータの数がステップS702において記憶したデータの数に満たない場合は、ステップS703に戻り、データの数と一致した場合は、処理を完了し、次のキャラクタが転送された際は、ステップS700においてヘッダー処理を行う。
ステップS703において、データキャラクタでなくデータイネーブルキャラクタの場合、前記キャラクタ内のWstrb成分(第1の有効情報)をデータイネーブル生成部2034にそのまま転送し(ステップS706)、ステップS703へ戻る。
データイネーブル生成部2034は、キャラクタ判定部2033から受信する情報から、ライトストローブ(第2の有効情報)を生成する。本実施形態では、2キャラクタ分のデータ、つまり、64ビットのデータ毎にWstrb成分を生成する。
以下に、Wstrb成分の生成方法を示す。
データイネーブル生成部2034は、キャラクタ判定部2033からWstrb成分を受信した場合は、そのまま、第二バスリクエスト送信部2032に送信する。また、データイネーブル生成部2034はキャラクタ判定部2033からWstrb成分の受信を受けずにキャラクタがデータであったことの通知を2回連続(所定数連続)で受けた場合に、2キャラクタ分のデータについて全て真のWstrb成分を生成し、第二バスリクエスト送信部2032に送信する。
第二バスリクエスト送信部2032は、リクエストパケット逆変換部2031からの転送情報をもとに、第二バスへのリクエスト形式に変換し、前記リクエストパケット逆変換部2031により取得したライトストローブを含むリクエストをDRAMコントローラB204へ第二バス205を介して送信する。
〔レスポンス送信処理〕
続いて、バスマスタからのリクエストに対するDRAMからのレスポンスの送信処理について説明する。第二バスレスポンス受信部2035は第二バス205を介して、DRAMコントローラB204からのレスポンスを受信する。レスポンスは、エラーか否かを示すステータス情報(RespSt)、読み出しデータ(Rdata)、及び転送長や転送のプライオリティーを示す転送属性情報(RespAtrb)を有する。
レスポンスパケット変換部2036は、第二バスレスポンス受信部2035が受信したレスポンスをパケットに変換する。本実施形態においてリクエストを変換したパケットを図3(b)に示す。パケットはヘッダー及びデータ部を有する。ヘッダー及びデータ共に32bit単位の要素に分割され、各要素について1bitのデータイネーブルキャラクタのフラグを付与されて複数の33bitのキャラクタを有するパケットとなっている。
ヘッダーは、転送の種類を示す識別子(Type)やステータス(RespSt)を含むキャラクタを有する。また、データ部は読み出しデータ(Rdata)を含むキャラクタを有する。レスポンスパケット変換部2036の動作は、リクエストパケット変換部1031と同様であり、異なる点は、図4のステップS401において第2バスレスポンス受信部2035からのレスポンスに応じて処理を開始する点、図4のステップS403、404がない点であるので、ここでは説明を省略する。
レスポンスパケット送信部2037は、パケットに変換されたレスポンスをパラレル−シリアル変換し、シリアルバス300へ送信する。パラレル−シリアル変換の動作は、リクエストパケット送信部1032の動作と同様である。パラレル−シリアル変換されたキャラクタはクロックとともにシリアルバス300を介して、受信側のASIC_A100に送信される。
〔レスポンス受信処理〕
続いて、ASIC_A100によるレスポンスの受信処理について説明する。レスポンスパケット受信部1035はシリアルバス300を介してASIC_B200から送信されたシリアルデータ内のスタートビットを検出し、スタートビットに続く33bitのシリアルデータをキャラクタに変換し、レスポンスパケット逆変換部1036に転送する。
レスポンスパケット逆変換部1036は、キャラクタに応じてヘッダー処理、データ部の処理を行う。レスポンスパケット逆変換部1036の動作はリクエストパケット逆変換部2031の動作と同様であり、違いはWstrbの処理(図7のステップS703、706)がないだけであるので説明を省略する。
第一バスレスポンス送信部1037は、レスポンストパケット逆変換部1036からの転送情報をもとに、第一バスへのレスポンス形式に変換し、レスポンスに対応するリクエストを発行した第一バスマスタへ第一バス105を介して送信する。
以上説明したように本実施形態によると、有効データ情報(ライトストローブ)を含むデータを効率的に転送することができる。
また、上述の実施形態の説明のように集積回路(チップ)間の転送が好ましいが、同一集積回路内でのデータ転送にあっても本発明を適用できる。また、上述の実施形態においては、64bitのデータ単位でデータイネーブルキャラクタを生成するという規則したが、任意のビット数単位でデータイネーブルキャラクタを生成してもよ。ただし、第2のビット数としてのキャラクタのビット数は、部分有効情報に対応するデータの第1のビット数以下である必要がある。
また、上述の実施形態においては、レスポンス側には有効データ情報を含まない構成としたが、リクエスト側と同じように有効データ情報を含む構成でもよい。
また、上述の実施形態においては、転送情報としてアドレス等を含んでいるが、データと有効データ情報のみを含む構成でもよい。また、本発明は出力データをパケット化して出力する技術であれば広く適用できる。
また、上述の実施形態では詳細を省略しているが、データ転送装置が転送するデータはCPU(Central Processing Unit)やDMAC(Direct Memory Access Controller)その他の周辺機器、外部デバイスなどから供給される。データ転送機能の起動はCPUが所定のプログラムに従って行えばよい。CPUは図1のASIC_A/Bの中に組み込まれていてもよいし、ASIC外にあってもよい。

Claims (15)

  1. データと、当該データについてバイト単位で有効であるか否かを示す有効情報と、を含む信号を受信する受信手段と、
    前記受信手段により受信したデータのうちの対応する第1のビット数分のデータが有効であるか否かを示す部分有効情報と、当該部分有効情報が有ることを示す識別子と、前記第1のビット数分のデータと、を対応付けて送信する送信手段と、を備えるデータ転送装置であって、
    前記送信手段は前記データのうち、前記第1のビット数分のデータが有効である際には、当該第1のビット数分のデータに対応する部分有効情報の送信を省略することを特徴とするデータ転送装置。
  2. パケットを受信するパケット受信手段と、
    前記パケットに含まれている第1の有効情報に基づいて第2の有効情報を生成する生成手段と、
    前記生成手段で生成した第2の有効情報と前記パケットに含まれるデータとを送信する送信手段と、を備えるデータ転送装置であって、
    前記生成手段は、前記受信手段の受信したパケットに含まれている識別子が対応する前記パケットに含まれている第1のビット数分のデータが有効であることを示す第1の有効情報が無い事を示していると、当該識別子に対応する第1のビット数分のデータが有効であることを示す第2の有効情報を生成することを特徴とするデータ転送装置。
  3. 前記生成手段は、前記受信手段の受信したパケットに含まれている識別子が前記パケットに含まれている第1のビット数分のデータに対応する第1の有効情報が有る事を示していると、当該有効情報に基づいて第2の有効情報を生成することを特徴とする請求項2に記載のデータ転送装置。
  4. 所定長の複数のキャラクタを有するパケットを用いてデータ転送を行うデータ転送装置であって、
    データと、当該データについてバイト単位で有効であるか否かを示す有効情報と、を含む信号をバスから受信する受信手段と、
    前記バスから取得した有効情報のうちの対応する第1のビット数分のデータが有効であるか否かを示す部分有効情報と、当該部分有効情報が有ることを示す識別子とを含むイネーブルキャラクタと、前記受信手段の受信したデータのうちの第1のビット数分のデータを含むデータキャラクタ、とを生成する生成手段と、
    前記生成手段の生成したイネーブルキャラクタとデータキャラクタとをセットとして含むパケットを送信する送信手段と、を備え、
    前記生成手段は前記バスから受信した有効情報が所定のパターンであると前記イネーブルキャラクタの生成を省略することを特徴とするデータ転送装置。
  5. データを受信する受信手段と、
    前記データについて第1のビット数のデータが有効であるか否かを示す有効情報を生成する生成手段と、
    前記生成手段で生成した有効情報と前記有効情報の有無を示す識別子と前記データとを送信する送信手段と、を備えるデータ転送装置であって、
    前記生成手段は、前記データのうち第1のビット数分のデータが有効である際に、当該第1のビット数分のデータに対応する前記有効情報の生成を省略することを特徴とするデータ転送装置。
  6. 前記生成手段は前記有効情報の有無を示す識別子を第2のビット数毎に生成することを特徴とする請求項4乃至5のいずれか1項に記載のデータ転送装置。
  7. 所定長の複数のキャラクタを有するパケットを受信する受信手段と、
    受信したパケットに含まれる複数のキャラクタそれぞれがデータキャラクタであるか、イネーブルキャラクタであるかを判別する判別手段と、
    前記判別手段の判別したキャラクタがイネーブルキャラクタである場合、当該イネーブルキャラクタに対応するデータキャラクタが有効であるか否かを示す有効情報を抽出し、前記判別手段の判別したキャラクタがデータキャラクタであり且つ所定数連続している場合、当該所定数連続しているデータキャラクタに含まれるデータは有効であることを示す有効情報を生成する変換手段と、
    前記変換手段による有効情報と前記パケットに含まれるデータとをバスに送信する送信手段とを有することを特徴とするデータ転送装置。
  8. 前記送信手段は、前記判別手段がイネーブルキャラクタであると判別すると、当該イネーブルキャラクタに含まれる部分有効情報と、当該イネーブルキャラクタに後続して前記受信手段の受信する第1のビット数分のデータキャラクタとを関連付ける請求項7に記載のデータ転送装置。
  9. データと、当該データについて第2のビット数毎に有効であるか否かを示す有効情報と、を受信する受信手段と、
    前記受信手段の受信したデータを、前記第2のビット数より大きい第1のビット数毎に送信する送信手段と、を備えるデータ転送装置であって、
    前記送信手段は、当該送信手段が送信しようとする第1のビット数分のデータに無効なデータが含まれるたびに、対応する第1のビット数分のデータが有効であるか否かを示す有効情報と、当該有効情報が有ることを示す識別子と、を前記第1のビット数分のデータに対応づけて送信することを特徴とするデータ転送装置。
  10. データと、当該データについてバイト単位で有効であるか否かを示す有効情報と、を含む信号を受信する受信工程と、
    前記受信手段により受信したデータのうちの対応する第1のビット数分のデータが有効であるか否かを示す部分有効情報と、当該部分有効情報が有ることを示す識別子と、前記第1のビット数分のデータと、を対応付けて送信する送信工程と、を有するデータ転送方法であって、
    前記送信工程において前記データのうち、前記第1のビット数分のデータが有効である際には、当該第1のビット数分のデータに対応する部分有効情報の送信を省略することを特徴とするデータ転送方法。
  11. パケットを受信するパケット受信工程と、
    前記パケットに含まれている第1の有効情報に基づいて第2の有効情報を生成する生成工程と、
    前記生成工程で生成した第2の有効情報と前記パケットに含まれるデータとを送信する送信工程と、を有するデータ転送方法であって、
    前記生成工程において、前記受信工程で受信したパケットに含まれている識別子が対応する前記パケットに含まれている第1のビット数分のデータが有効であることを示す第1の有効情報が無い事を示していると、当該識別子に対応する第1のビット数分のデータが有効であることを示す第2の有効情報を生成することを特徴とするデータ転送方法。
  12. 所定長の複数のキャラクタを有するパケットを用いてデータ転送を行うデータ転送方法であって、
    データと、当該データについてバイト単位で有効であるか否かを示す有効情報と、を含む信号をバスから受信する受信工程と、
    前記バスから取得した有効情報のうちの対応する第1のビット数分のデータが有効であるか否かを示す部分有効情報と、当該部分有効情報が有ることを示す識別子とを含むイネーブルキャラクタと、前記受信工程で受信したデータのうちの第1のビット数分のデータを含むデータキャラクタ、とを生成する生成工程と、
    前記生成工程で生成したイネーブルキャラクタとデータキャラクタとをセットとして含むパケットを送信する送信工程と、を有し、
    前記生成工程において前記バスから受信した有効情報が所定のパターンであると前記イネーブルキャラクタの生成を省略することを特徴とするデータ転送方法。
  13. データを受信する受信工程と、
    前記データについて第1のビット数のデータが有効であるか否かを示す有効情報を生成する生成工程と、
    前記生成工程で生成した有効情報と前記有効情報の有無を示す識別子と前記データとを送信する送信工程と、を有するデータ転送方法であって、
    前記生成工程は、前記データのうち第1のビット数分のデータが有効である際に、当該第1のビット数分のデータに対応する前記有効情報の生成を省略することを特徴とするデータ転送方法。
  14. 所定長の複数のキャラクタを有するパケットを受信する受信工程と、
    受信したパケットに含まれる複数のキャラクタそれぞれがデータキャラクタであるか、イネーブルキャラクタであるかを判別する判別工程と、
    前記判別工程の判別したキャラクタがイネーブルキャラクタである場合、当該イネーブルキャラクタに対応するデータキャラクタが有効であるか否かを示す有効情報を抽出し、前記判別手段の判別したキャラクタがデータキャラクタであり且つ所定数連続している場合、当該所定数連続しているデータキャラクタに含まれるデータは有効であることを示す有効情報を生成する変換工程と、
    前記変換工程による有効情報と前記パケットに含まれるデータとをバスに送信する送信工程とを有することを特徴とするデータ転送方法。
  15. データと、当該データについて第2のビット数毎に有効であるか否かを示す有効情報と、を受信する受信工程と、
    前記受信工程の受信したデータを、前記第2のビット数より大きい第1のビット数毎に送信する送信工程と、を有するデータ転送方法であって、
    前記送信工程は、当該送信手段が送信しようとする第1のビット数分のデータに無効なデータが含まれるたびに、対応する第1のビット数分のデータが有効であるか否かを示す有効情報と、当該有効情報が有ることを示す識別子と、を前記第1のビット数分のデータに対応づけて送信することを特徴とするデータ転送方法。
JP2011106403A 2011-05-11 2011-05-11 データ転送装置及びデータ転送方法 Active JP5800565B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2011106403A JP5800565B2 (ja) 2011-05-11 2011-05-11 データ転送装置及びデータ転送方法
US13/465,712 US8769166B2 (en) 2011-05-11 2012-05-07 Data transfer apparatus and data transfer method
EP12167363.6A EP2523118B1 (en) 2011-05-11 2012-05-09 Data transfer apparatus and data transfer method
CN201210146271.9A CN102981988B (zh) 2011-05-11 2012-05-11 数据传送设备和数据传送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011106403A JP5800565B2 (ja) 2011-05-11 2011-05-11 データ転送装置及びデータ転送方法

Publications (3)

Publication Number Publication Date
JP2012238158A JP2012238158A (ja) 2012-12-06
JP2012238158A5 JP2012238158A5 (ja) 2014-06-26
JP5800565B2 true JP5800565B2 (ja) 2015-10-28

Family

ID=46146659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011106403A Active JP5800565B2 (ja) 2011-05-11 2011-05-11 データ転送装置及びデータ転送方法

Country Status (4)

Country Link
US (1) US8769166B2 (ja)
EP (1) EP2523118B1 (ja)
JP (1) JP5800565B2 (ja)
CN (1) CN102981988B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10505837B1 (en) * 2013-07-09 2019-12-10 Altera Corporation Method and apparatus for data re-packing for link optimization
US9696920B2 (en) 2014-06-02 2017-07-04 Micron Technology, Inc. Systems and methods for improving efficiencies of a memory system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2545936B2 (ja) * 1988-07-18 1996-10-23 日本電気株式会社 バスインターフェースユニット
US5519839A (en) * 1992-10-02 1996-05-21 Compaq Computer Corp. Double buffering operations between the memory bus and the expansion bus of a computer system
JPH11102341A (ja) * 1997-09-29 1999-04-13 Nec Eng Ltd データ転送システム、データ送信装置、データ受信装置、データ転送方法及びバス調停方法
JP2002278924A (ja) 2001-03-19 2002-09-27 Oki Electric Ind Co Ltd データの転送制御システム,転送制御方法およびそのプログラム
DE50212162D1 (de) * 2001-10-17 2008-06-05 Siemens Ag Teilnehmergerät für ein hochperformantes kommunikationssystem
EP1367763A1 (de) * 2002-05-31 2003-12-03 Alcatel Verfahren der asynchronen Datenpaketübertragung sowie zugehörige Sender und Empfänger
US20050034045A1 (en) * 2003-08-08 2005-02-10 Lueck Andrew W. System for optimizing PCI-Express communications
US20050237329A1 (en) * 2004-04-27 2005-10-27 Nvidia Corporation GPU rendering to system memory
JP2007265108A (ja) * 2006-03-29 2007-10-11 Fujitsu Ltd バスブリッジ
US20100191814A1 (en) * 2008-12-23 2010-07-29 Marco Heddes System-On-A-Chip Employing A Network Of Nodes That Utilize Receive Side Flow Control Over Channels For Messages Communicated Therebetween
JP2010238150A (ja) * 2009-03-31 2010-10-21 Toshiba Corp PCIExpress通信システム、及びその通信方法

Also Published As

Publication number Publication date
EP2523118A3 (en) 2013-07-31
CN102981988B (zh) 2015-09-09
US8769166B2 (en) 2014-07-01
CN102981988A (zh) 2013-03-20
US20120290746A1 (en) 2012-11-15
JP2012238158A (ja) 2012-12-06
EP2523118A2 (en) 2012-11-14
EP2523118B1 (en) 2015-04-08

Similar Documents

Publication Publication Date Title
CN103490852B (zh) 用于处理与点到点数据链路有关的数据的方法和装置
JP4917671B2 (ja) マスタ装置とスレーブ装置との間でのデータ伝送方法
US20200192842A1 (en) Memory request chaining on bus
JP2018509715A (ja) デカルトアドレス指定を使用した低電力および低待ち時間デバイスのエニュメレーション
JP5800565B2 (ja) データ転送装置及びデータ転送方法
JPH10171750A (ja) メモリ間データ転送システム
CN107957971A (zh) 一种基于fpga的多处理器之间的通信系统及通信方法
US7386626B2 (en) Bandwidth, framing and error detection in communications between multi-processor clusters of multi-cluster computer systems
JP2003198356A (ja) 半導体チップおよび集積回路
CN1993946A (zh) 用于在信息存储器中存储信息的方法和信息存储器
JP2007529815A (ja) 信号送信装置及び信号送信のための方法
CN121079943A (zh) 用于通信网络中的设备识别的方法和装置
JP5906078B2 (ja) データ転送装置及びデータ転送方法
JP5865067B2 (ja) データ転送装置及びデータ転送方法
JP2013130952A (ja) データ転送装置及びデータ転送方法
CN120371753B (zh) 应用于信号链芯片的串行多芯片通讯装置及对应方法
CN120389918B (zh) 基于计算链接协议的网卡、数据传输方法、设备及产品
TWI906702B (zh) 基於車載乙太網的資料傳輸方法及相關設備
JP2002247001A (ja) 擬似ランダムパターン送信装置
CN106484626B (zh) 内存访问的方法、系统及本地节点
KR20050065177A (ko) 차량의 통신 프로토콜 설계 방법
JP2021036630A (ja) 通信装置、制御方法、およびプログラム
JP2002366508A (ja) データ転送方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140512

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150507

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150825

R151 Written notification of patent or utility model registration

Ref document number: 5800565

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151