JP6000732B2 - データ転送装置及びその制御方法、プログラム - Google Patents

データ転送装置及びその制御方法、プログラム Download PDF

Info

Publication number
JP6000732B2
JP6000732B2 JP2012173280A JP2012173280A JP6000732B2 JP 6000732 B2 JP6000732 B2 JP 6000732B2 JP 2012173280 A JP2012173280 A JP 2012173280A JP 2012173280 A JP2012173280 A JP 2012173280A JP 6000732 B2 JP6000732 B2 JP 6000732B2
Authority
JP
Japan
Prior art keywords
transfer
data
processing unit
mode
reading
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.)
Expired - Fee Related
Application number
JP2012173280A
Other languages
English (en)
Other versions
JP2014032564A (ja
JP2014032564A5 (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 JP2012173280A priority Critical patent/JP6000732B2/ja
Publication of JP2014032564A publication Critical patent/JP2014032564A/ja
Publication of JP2014032564A5 publication Critical patent/JP2014032564A5/ja
Application granted granted Critical
Publication of JP6000732B2 publication Critical patent/JP6000732B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Transfer Systems (AREA)

Description

本発明は、複数種類のデータ転送モードを装備した通信技術において、該データ動作モードに最適な転送処理、及び供給クロックの制御を行うデータ転送技術に関するものである。
TCP(Transmission Control Protocol)/IP(Internet Protocol)の通信プロトコルを使用してネットワークに接続し、通信相手とデータ転送を行う通信機器がある。近年、このような通信機器間での映像データのストリーミング転送のような広帯域なデータ転送を行う利用形態が増えてきている。そして、この広帯域なデータ転送を可能とするためには、通信機器における通信プロトコル処理の高速化が不可欠となってくる。
そこで、TOE(TCP/IPオフロードエンジン)といった通信プロトコル処理に特化した補助的デバイスを通信機器の内部に装備し、広帯域なデータ転送を実現することが一般化している。TOEは、通信プロトコル処理を専用のソフトウエア/ハードウエアで実行して通信機器のCPU負荷を軽減するものである。そして、ネットワークと通信機器の間で高速なデータ転送を実現するDMA(Direct Memory Access)コントローラを内部に装備して通信プロトコル処理の高速化に利用している。
そして、TCP/IPの通信プロトコル処理を前提としたDMAコントローラの制御方法についての提案が特許文献1に記載されている。
特開2003−319014号公報
特許文献1に記載のDMAコントローラは、DMA転送とディスクリプタの読込処理は独立したタイミングで実行されることが示されている。このディスクリプタは、DMA転送のストア先の複数のアドレス情報をチェーン情報として記述されたものである。さらに、各アドレス情報には転送サイズも合わせて記述されている。そして、DMAコントローラはこのディスクリプタに記述された情報に従ってDMA転送を実行する。
しかしながら、特許文献1に記載のDMAコントローラはネットワークに対しパケットを送信する時とネットワークからパケットを受信する時の双方とも同じDMA転送方式を使用してDMA転送を実行している。
ネットワーク上ではTCP/IPの通信プロトコルで定義されるパケット単位でデータ転送が行われる。通信機器からネットワーク上にデータを送信する場合は、通信機器が決定する所定のパケットサイズで送信するため、DMAコントローラを使用する際に所定の転送サイズのDMA転送を実行する。
ネットワークからデータを受信する場合は、送信相手機器の都合やネットワーク上のルータ等の中継機器の都合によって受信パケットサイズは様々な量で送信されてくる。そのため、受信する側である通信機器のネットワークインターフェース部分にある受信バッファに受信パケットの受信完了を待たないと受信パケットのサイズは確認できない。
従って、特許文献1に記載のDMAコントローラの制御方法であると、受信パケットの受信完了後に所定の転送サイズを指定してDMAコントローラを起動する。そのため、受信パケットがバッファに蓄積されるまで、つまり、受信完了までの期間、通信プロトコル処理の開始が遅延するという課題がある。
本発明は上記の課題を解決するためになされたものであり、回路規模を増大させることなく、高速転送と省電力の両立をデータ転送モードの種別に応じて適応的に実現するデータ転送技術を提供することを目的とする。
上記の目的を解決するための本発明によるデータ転送装置は以下の構成を備える。即ち、
記憶装置から転送データを読み出す転送データロード処理部と、前記記憶装置へ転送データを書き込む転送データストア処理部を有するデータ転送装置であって、
ネットワークを介してデータを送受信するためのデータ記憶部を用いて、該データの送受信を制御する制御手段と、
前記転送データロード処理部と前記転送データストア処理部のそれぞれの動作を制御して、前記記憶装置と前記データ記憶部との間のデータ転送を制御するデータ転送制御手段を備え、
前記データ転送制御手段は、
データ転送を行う転送データ量が確定している転送モードである第1の転送モードでは、前記データ転送による転送データの総量が指定されたデータ転送量に達した場合に、該データ転送が完了した判定し、
データ転送を行う転送データ量が確定していない転送モードである第2の転送モードでは、前記データ転送による転送データの最後を示す情報を検出した場合に、該データ転送が完了したと判定し、
前記転送データロード処理部は、前記記憶装置の複数の不連続な記憶領域を連結して転送データを読み出すための第1の転送情報であって、前記転送データの転送モードが前記第1の転送モードあるいは前記第2の転送モードであることを示す情報を含む第1の転送情報を用いて前記記憶装置から転送データを読出し、
前記転送データストア処理部は、前記記憶装置の複数の不連続な記憶領域を連結して転送データを書き込むための第2の転送情報であって、前記転送データの転送モードが前記第1の転送モードあるいは前記第2の転送モードであることを示す情報を含む第2の転送情報を用いて前記記憶装置へ転送データを書き込む
本発明によれば、回路規模を増大させることなく、高速転送と省電力の両立をデータ転送モードの種別に応じて適応的に実現することができる。
通信装置の内部構成を示すブロック図である。 ディスクリプタファーマット図である。 チェーンリストフォーマット図である。 データ送信時のデータ転送シーケンス図である。 データ受信時のデータ転送シーケンス図である。 データ受信時のデータ転送シーケンス図である。 データ送信時のクロック制御とデータ転送シーケンス図である。 データ受信時のクロック制御とデータ転送シーケンス図である。 データ受信時のクロック制御とデータ転送シーケンス図である。 チェーンリスト内部キャッシュ構成図である。 動作クロック停止タイミングフローチャート図である。
以下、本発明の実施の形態について図面を用いて詳細に説明する。
<実施形態1>
図1は実施形態1の通信装置の内部構成を示すブロック図である。データ転送装置である通信装置は、メインCPU14の制御によって各機能ブロックの制御を行っている。機能ブロックには通信プロトコル処理を行うTOE部11とメモリ等で構成する記憶装置13があり、これらはシステムバス12で相互に接続されている。
TOE部11は、通信プロトコル処理を行う機能ブロックであり、TOE制御部100によって内部の各処理部が制御される。図1では、通信プロトコル処理の中でも、特に、データ転送処理を行う処理部について詳細に示したものとなっている。TOE制御部100は、バスブリッジ107を介して記憶装置13にもアクセスが可能となっており、この記憶装置13を使用してメインCPU14との情報交換も可能である。
バスブリッジ107は、TOE部11とシステムバス12とを相互接続するバス変換処理を行う。バスブリッジ107を使用することでメインCPU14がTOE部11内部の各種レジスタへのアクセス、あるいはTOE部11が記憶装置13からデータの読出や書込が可能となる。
データ転送制御部101は、通信プロトコル処理の中でデータ転送処理の制御を行う。データ転送制御部101は、TOE制御部100の指示によってデータ転送処理を起動し、データ転送処理の終了をTOE制御部100へ通知する。また、データ転送制御部101は、データ転送処理に関わる各処理部に対して制御を行うための制御線で接続されている。データ転送に関わる各処理部は、ディスクリプタロード処理部104、転送データロード処理部102、転送データストア処理部103、クロック制御部106、及びMAC制御部105である。
データ転送制御部101は、データ転送処理内容を記述したディスクリプタを内部キャッシュに記憶する機能も装備している。このディスクリプタは、TOE制御部100あるいはメインCPU14によって作成される。そして、データ転送制御部101は、このディスクリプタに記述されている内容に従ってデータ転送制御を実行する。ディスクリプタにはチェーンリストの情報が含まれている。このチェーンリストは、複数の不連続な記憶領域に対するデータを1回の転送処理で連結して転送することを可能とするための情報(転送情報)である。
ディスクリプタロード処理部104は、記憶装置13内に記憶されている指定されたディスクリプタを読み出してデータ転送制御部101へ送信する処理を行う。読出対象のディスクリプタの指定は、データ転送制御部101からディスクリプタロード処理部104へ通知される。また、ディスクリプタロード処理部104は、ディスクリプタの読出が完了した時点でデータ転送制御部101に完了通知も行う。
MAC制御部105は、MAC(Media Access Control)層の制御を行い、通信プロトコルの階層ではデータリンク層にあたるプロトコル処理を実行する。MAC制御部105は、ネットワークから受信した受信パケットにおいてMACアドレスが自分宛であれば、受信パケットとして内部のバッファに取り込む処理を実行する。また、ネットワークにパケットを送信する場合は、MAC制御部105は、相手先のMACアドレスを送信パケットに付加してネットワークに送出する処理を行う。MAC制御部105の、データを送受信するためのデータ記憶部である内部バッファの構造は、FIFO(First In First Out)の構造となっており、最初に入力されたデータを最初に出力する構造となっている。
転送データロード処理部102は、複数の不連続な記憶領域に対するデータを1回の転送処理で連結して転送する(読み出す)ことを可能とするための情報であるチェーンリスト(第1の転送情報)を内部キャッシュ(第1のキャッシュ)に一時的に記憶する機能を装備している。そして、転送データロード処理部102は、このチェーンリストに従って、データ転送処理を行う場合に転送するデータのソース側から指定のデータを読み出して(ロードして)、転送データストア処理部103へ引き渡す。
転送データロード処理部102では、チェーンリストの読出処理(第1の読込)によって転送するデータの読出処理速度に影響が出ないようにそれぞれ専用のインターフェースを装備してデータ転送の効率化を図っている。特に、転送データロード処理部102は、チェーンリストの読出専用には経路102aを使用し、データの読出専用には経路102bを使用する。このように、転送データロード処理部102は、チェーンリストの読出とデータの読出とを非同期に行うことができる。
読出ソース側が記憶装置13とチェーンリストに記述されている場合は、転送データロード処理部102は、記憶装置13の所定のアドレスから所定の転送サイズ分のデータをチェーンリストに従って読出処理を行う。また、読出ソース側がMAC制御部105とチェーンリストに記述されている場合は、転送データロード処理部102は、MAC制御部105の受信バッファに記憶されている受信パケットを順次読み出す読出処理を行う。このとき、転送データロード処理部102は、受信パケット内のEOF(End Of File)を検出して受信パケットの最後を検出する機能も装備しているので、このEOF(つまり、データの最後を示す情報)を検出して読出処理の終了が可能となる。このように、転送データロード処理部102は、データの読出元となるソース側装置(第1の記憶装置(記憶装置13)あるいは第2の記憶装置(MAC制御部105のバッファ))から転送データを読み出す(ロードする)機能を有する。
また、MAC制御部105ではEOFを受信パケットに付加する機能が装備されている。そのため、MAC制御部105が、受信パケットをネットワークから受信して内部バッファに取り込んでいる最中でも転送データロード処理部102によってデータの読出が可能となる。また、転送データロード処理部102は、転送データを全て転送データストア処理部103へ引き渡した時点でデータ転送制御部101に完了通知も行う。
尚、転送データロード処理部102の内部キャッシュに記憶できるチェーンリストの数には限りがある。従って、データ転送の進行に応じて、内部キャッシュのチェーンリストが全て使用済となる前に随時新しいチェーンリストに更新する必要がある。
転送データストア処理部103は、複数の不連続な記憶領域に対するデータを1回の転送処理で連結して転送する(書き込む)ことを可能とするための情報であるチェーンリスト(第2の転送情報)を内部キャッシュ(第2のキャッシュ)に記憶する機能を装備している。そして、転送データストア処理部103は、このチェーンリストに従って、データ転送処理を行う場合に転送データロード処理部102から引き渡されたデータを指定のディスティネーション側へ書き込む(ストアする)。
転送データストア処理部103では、チェーンリストの読出処理(第2の読込)によって転送するデータの書込処理速度に影響が出ないようにそれぞれ専用のインターフェースを装備してデータ転送の効率化を図っている。特に、転送データストア処理部103は、チェーンリストの読出専用には経路103aを使用し、データの書込専用には経路103bを使用する。このように、転送データストア処理部103は、チェーンリストの読出とデータの書込とを非同期で行うことができる。
書込ディスティネーション側が記憶装置13とチェーンリストに記述されている場合は、転送データストア処理部103は、以下で説明する2通りのデータ転送処理を選択して実行する。また、書込ディスティネーション側がMAC制御部105とチェーンリストに記述されている場合は、転送データストア処理部103は、MAC制御部105の送信バッファにデータの書出を行う。このように、転送データストア処理部103は、データの書込先となるディスティネーション側装置(第1の記憶装置(記憶装置13)あるいは第2の記憶装置(MAC制御部105のバッファ))へ転送データを書き込む(ストアする)機能を有する。
さて、書込ディスティネーション側が記憶装置13とチェーンリストに記述されている場合に、転送データストア処理部103が行う2通りのデータ転送処理を以下のようになる。
1つは、チェーンリストに転送サイズが確定していると記述されている場合である。このときは、転送データストア処理部103は、所定のアドレスから所定の転送サイズ分のデータをチェーンリストに従って書込処理を行い、確定している転送サイズまでデータ転送を実行して完了する。
もう1つは、チェーンリストに転送サイズが確定していないと記述されている場合である。このときは、転送データストア処理部103は、所定のアドレスから所定の転送サイズ分のデータをチェーンリストに従って書込処理を開始する。また、転送データストア処理部103は、転送データ内のEOF(End Of File)を検出する機能も装備しているので、このEOFを検出してデータ転送を完了する。データ転送完了後は、転送データストア処理部103は、ディスティネーション側にデータの書込が完了した時点でデータ転送制御部101に完了通知も行う。
尚、転送データストア処理部103の内部キャッシュに記憶できるチェーンリストの数には限りがある。従って、データ転送の進行に応じて、内部キャッシュのチェーンリストが全て使用済となる前に随時新しいチェーンリストに更新する必要がある。
クロック制御部106は、TOE部11内に供給される動作クロックのオン/オフを制御する。動作クロックの制御の対象となるのは、転送データロード処理部102と転送データストア処理部103とディスクリプタロード処理部104となる。データ転送制御部101の指示に従って、データ転送処理が実行されていない期間に動作クロックの供給をオフとする制御を行う。
図2は、TOE部11のデータ転送において使用されるディスクリプタを示したものである。このディスクリプタに示された情報からデータ転送制御部101の制御でデータ転送が行われる。このディスクリプタは、記憶装置13に記憶されているものである。
201は、ディスクリプタのID(データ転送ID)を示す。このデータ転送IDによって複数のディスクリプタを作成しても管理が可能となり、データ転送が終了していなくても次のデータ転送を実行するためのディスクリプタを用意することができる。
202は、データ転送を行う場合のソース側のアドレス情報(データロード側アドレス)を記述する。実際にはチェーンリストが記述されているアドレス情報となり、記憶装置13のアドレス情報が記述される。
203は、データ転送を行う場合のソース側の転送サイズ情報(データロード側転送サイズ)を記述する。つまり、転送するデータの総量を記述する。ソース側がMAC制御部105の受信バッファである場合は、データ転送開始時に転送データサイズが確定していないので、“FFFF”等の特定の固定値を明示的に記述する。
204は、データ転送を行う場合のディスティネーション側のアドレス情報(データストア側アドレス)を記述する。実際にはチェーンリストが記述されているアドレス情報となり、記憶装置13のアドレス情報が記述される。
205は、データ転送を行う場合のディスティネーション側の転送サイズ情報(データストア側転送サイズ)を記述する。つまり、転送するデータの総量を記述する。ディスティネーション側が記憶装置13でデータ転送サイズが未定である場合は、データ転送開始時に転送データサイズが確定していないので、“FFFF”等の特定の固定値を明示的に記述する。
206は、チェーンリストを使用する場合の不連続な記憶領域を連結する数をそれぞれソース側(ロード側ユニット数)とディティネーション側(ストア側ユニット数)についてそれぞれ記述する。
図3は、TOE部11のデータ転送において使用されるチェーンリストを示したものである。このチェーンリストに示された情報からデータ転送制御部101の制御でデータ転送が行われる。このチェーンリストは、記憶装置13に記憶されているものである。また、このチェーンリストはソース側とディティネーション側のそれぞれに対し作成することが可能であり、記憶装置13上の複数の不連続な記憶領域に対するデータを1回の転送処理で連結して転送することを可能とするものである。
301は、アドレス情報を記述する。複数の不連続な記憶領域の1つ目の記憶領域を指定するアドレス情報となる。
302は、メモリタイプとデータ転送サイズを記述する。メモリタイプは、記憶装置13あるいはMAC制御部105のバッファ(受信バッファ/送信バッファ)を指定する情報を記述する。また、データ転送サイズは、複数の不連続な記憶領域の1つ目の記憶領域のデータの転送サイズを記述する。また、データ転送開始時に転送データサイズが確定していない場合は、“FFFF”等の特定の固定値を明示的に記述する。つまり、データ転送サイズは、転送データサイズ(転送データ量)が確定している場合での転送モード(第1の転送モード)と、転送データサイズ(転送データ量)が確定していない場合での転送モード(第2の転送モード)を示すものである。
そして、メモリタイプ301とデータ転送サイズ302を合わせた情報をユニットと定義する。このユニットの数が上記の複数の不連続な記憶領域の1つ1つを表現したものとなる。チェーンリストにはこのユニットが複数記述される。そして、この複数のユニット情報が複数の不連続な記憶領域に対するデータを1回の転送処理で連結して転送するための情報となる。また、このユニット数(1〜n)が図2の206に記述される。
図4は実施形態1のデータ転送のシーケンス図であり、特に、ネットワークに対してパケットを送信する場合に行われるデータ転送について示したものである。図1に示す通信装置におけるデータ転送処理について、各制御部の制御や処理部の処理の流れが分かるように示したものである。
401:
TOE制御部100からネットワークに対して送信パケットを送信するためのデータ転送処理を開始する指示が、データ転送制御部101に通知される。この通知にはデータ転送の内容を記述したディスクリプタを記述した記憶装置13内のアドレス情報も含まれる。
402〜405:
401の通知を受けたデータ転送制御部101は、ディスクリプタロード処理部104に対して、ディスクリプタの読出を通知する(402)。この通知にはデータ転送の内容を記述したディスクリプタを記憶した記憶装置13内のアドレス情報も含まれる。402の通知を受けたディスクリプタロード処理部104は、記憶装置13の所定の場所からディスクリプタの読出要求(403)を行ってディスクリプタを取得する(404)。そして、取得したディスクリプタをデータ転送制御部101に通知する(405)。
406、407:
ディスクリプタを内部キャッシュに記憶したデータ転送制御部101は、転送データロード処理部102と転送データストア処理部103に対してデータ転送開始を通知する(406、407)。ここで通知される情報は、ディスクリプタに記述されているデータ転送処理の転送データの総量とチェーンリストが記憶されている記憶装置13のアドレス情報も含まれる。
408、409:
406の通知を受けた転送データロード処理部102は、記憶装置13に対して経路102aを使用してチェーンリストの読取処理を開始する(408)。その後、記憶装置13から所定のチェーンリストを内部キャッシュに記憶できる容量だけ読取を行う(409)。
410、411:
407の通知を受けた転送データストア処理部103は、記憶装置13に対して経路103aを使用してチェーンリストの読取処理を開始する(410)。その後、記憶装置13から所定のチェーンリストを内部キャッシュに記憶できる容量だけ読取を行う(411)。
412〜414:
チェーンリストを取得した転送データロード処理部102は、記憶装置13からチェーンリストのユニット単位でデータの読出を行う(412)。その後、転送データストア処理部103に該データの引き渡しを実行する(413)。転送データを受け取った転送データストア処理部103は、MAC制御部105の送信バッファにデータの書出を行う(414)。412〜414の一連のデータ転送は、ユニット単位で転送を繰り返し継続し、最終的にはチェーンリストに記述されている転送サイズまでデータ転送が完了するまで継続する(419)。
415、416:
412〜414のデータ転送を継続していると、転送データロード処理部102の内部キャッシュに記憶しているチェーンリストが転送済となって追加でチェーンリストを読み出さないとデータ転送が継続できなくなる場合もある。このような場合は、チェーンリストが枯渇する前に、転送データロード処理部102は、記憶装置13に対して経路102aを使用してチェーンリストの追加読込処理を開始する(415)。その後、記憶装置13から所定のチェーンリストを内部キャッシュに記憶できる容量だけ読込を行う(416)。
尚、チェーンリストの追加読込には、データ転送開始時に通知(406)によって取得した転送データサイズの総量をユニット毎の転送サイズの和が超えることが無いようにチェーンリストを追加で読み出す制御も行われる。
417、418:
412〜414のデータ転送を継続していると、転送データストア処理部103の内部キャッシュに記憶しているチェーンリストが転送済となって追加でチェーンリストを読み出さないとデータ転送が継続できなくなる場合もある。このような場合は、チェーンリストが枯渇する前に、転送データストア処理部103は、記憶装置13に対して経路103aを使用してチェーンリストの追加読込処理を開始する(417)。その後、記憶装置13から所定のチェーンリストを内部キャッシュに記憶できる容量だけ読込を行う(418)。
尚、チェーンリストの追加読込には、データ転送開始時に通知(407)によって取得した転送データサイズの総量をユニット毎の転送サイズの和が超えることが無いようにチェーンリストを追加で読み出す制御も行われる。
420:
転送データロード処理部102及び転送データストア処理部103の処理によって412〜414のデータ転送を継続し、また、必要に応じてチェーンリストの追加読込(415〜418)も行いながらデータ転送が継続される。その後、転送データストア処理部103は、407にて通知された転送データの総量に転送データのデータ転送量が達したことを検出すると、データ転送処理を終了(419)させて、データ転送制御部101にその旨の通知を行う(420)。
421:
データ転送制御部101は、420の通知を受けて401の指示で開始されたデータ転送処理の終了をTOE制御部100に通知する。
図5は実施形態1のデータ転送のシーケンス図であり、特に、ネットワークに対してパケットを受信する場合に行われるデータ転送について示したものである。図1に示す通信装置におけるデータ転送処理について、各制御部の制御や処理部の処理の流れが分かるように示したものである。
501:
TOE制御部100からネットワークから送信されてくるパケットを受信して通信装置内部に該受信パケットを取り込むためのデータ転送処理を開始する指示が、データ転送制御部101に通知される。この通知にはデータ転送の内容を記述したディスクリプタを記述した記憶装置13内のアドレス情報も含まれる。
502〜505:
501の通知を受けたデータ転送制御部101は、ディスクリプタロード処理部104に対して、ディスクリプタの読出を通知する(502)。この通知にはデータ転送の内容を記述したディスクリプタを記憶した記憶装置13内のアドレス情報も含まれる。502の通知を受けたディスクリプタロード処理部104は、記憶装置13の所定の場所からディスクリプタの読出要求(503)を行ってディスクリプタを取得する(504)。そして、取得したディスクリプタをデータ転送制御部101に通知する(505)。
506、507:
ディスクリプタを内部キャッシュに記憶したデータ転送制御部101は、転送データロード処理部102と転送データストア処理部103に対してデータ転送開始を通知する(506、507)。ここで通知される情報は、ディスクリプタに記述されているデータ転送処理の転送データの総量とチェーンリストが記憶されている記憶装置13のアドレス情報も含まれる。
508、509:
506の通知を受けた転送データロード処理部102は、記憶装置13に対して経路102aを使用してチェーンリストの読取処理を開始する(508)。その後、記憶装置13から所定のチェーンリストを内部キャッシュに記憶できる容量だけ読取を行う(509)。
510、511:
507の通知を受けた転送データストア処理部103は、記憶装置13に対して経路103aを使用してチェーンリストの読取処理を開始する(510)。その後、記憶装置13から所定のチェーンリストを内部キャッシュに記憶できる容量だけ読取を行う(511)。
512〜514:
チェーンリストを取得した転送データロード処理部102は、MAC制御部105の受信バッファからチェーンリストのユニット単位でデータの読出を行う(512)。その後、転送データストア処理部103に該データの引き渡しを実行する(513)。転送データを受け取った転送データストア処理部103は、チェーンリストで指定される、記憶装置13のアドレスに対してデータの書出を行う(514)。512〜514の一連のデータ転送は、ユニット単位で転送を繰り返し継続し、最終的には転送データ内のEOFを検出するまでチェーンリストに従ってデータ転送を継続する(519)。
515、516:
512〜514のデータ転送を継続していると、転送データロード処理部102の内部キャッシュに記憶しているチェーンリストが転送済となって追加でチェーンリストを読み出さないとデータ転送が継続できなくなる場合もある。このような場合は、チェーンリストが枯渇する前に、転送データロード処理部102は、記憶装置13に対して経路102aを使用してチェーンリストの追加読込処理を開始する(515)。その後、記憶装置13から所定のチェーンリストを内部キャッシュに記憶できる容量だけ読込を行う(516)。
尚、ネットワークからのパケットを受信する場合は、チェーンリストに転送データの総量が未定のままでデータ転送が開始されている。従って、読み出したチェーンリスト分のデータ転送を終了する前に転送データ内にEOFがあればデータ転送は終了する場合もある。
517、518:
512〜514のデータ転送を継続していると、転送データストア処理部103の内部キャッシュに記憶しているチェーンリストが転送済となって追加でチェーンリストを読み出さないとデータ転送が継続できなくなる場合もある。このような場合は、チェーンリストが枯渇する前に、転送データストア処理部103は、記憶装置13に対して経路103aを使用してチェーンリストの追加読込処理を開始する(517)。その後、記憶装置13から所定のチェーンリストを内部キャッシュに記憶できる容量だけ読込を行う(518)。
尚、ネットワークからのパケットを受信する場合は、チェーンリストに転送データの総量が未定のままでデータ転送が開始されている。従って、読み出したチェーンリスト分のデータ転送を終了する前に転送データ内にEOFがあればデータ転送は終了する場合もある。
520:
転送データロード処理部102及び転送データストア処理部103の処理によって512〜514のデータ転送を継続し、また、必要に応じてチェーンリストの追加読込(515〜518)も行いながらデータ転送が継続される。その後、転送データストア処理部103は、転送データ内部にEOFを検出すると、データ転送処理を終了(519)させて、データ転送制御部101にその旨の通知を行う(520)。
図5に示したように、データ転送中にチェーンリストの読込処理(517、518)を実行している最中において、転送データ内にEOFを検出して転送データ処理を終了する場合もある。このようなタイミングが発生した場合は、最後のデータ書出を行った(519)後、518のチェーンリストの読込処理が終了した後で520の通知を出すように制御されている。
521:
データ転送制御部101は、520の通知を受けて501の指示で開始されたデータ転送処理の終了をTOE制御部100に通知する。
図10は、転送データロード処理部102と転送データストア処理部103の内部に装備しているチェーンリストのキャッシュ構成を示す図である。転送データロード処理部102と転送データストア処理部103の内部のキャッシュ構成と該キャッシュの制御方法は同じである。
このキャッシュは、チェーンリストのユニット単位で構成されており、ユニット数として複数個(最大16個分)のユニット数のチェーンリストをキャッシュできる構造(階層構造)となっている。読み出されたチェーンリストは、図中の下段から順に蓄積される。また、FIFOの構成でもあるので図中の下段から順にデータ転送処理が進むにつれてチェーンリストも消費されていく仕組みになっている。
次に、キャッシュの使用方法について説明する。図4及び図5に示すタイミングでは、408、410、508、510が実行されると、ユニット数が1001のレベル(第1のレベル)までキャッシュにチェーンリストが読み込まれる。その後、データ転送処理が開始されると徐々に蓄積されているチェーンリストが減り、1002のレベル(第2のレベル)のユニット数まで消費された段階で、追加のチェーンリストの読込処理が実行される。このタイミングは図4及び図5に示すタイミングでは、415、417、515、517のタイミングである。そして、追加でチェーンリストを読み込んだ場合は1003のユニット数のところまでキャッシュに読み込まれる。更に、データ転送が継続する場合は、上記の1002のレベルのユニット数までチェーンリストが消費されると、1003のレベル(第3のレベル)のユニット数までチェーンリストが新たに読み込まれる処理が繰り返される。
以上のような制御によって、転送データロード処理部102と転送データストア処理部103の内部キャッシュは使用される仕組みとなっている。
以上説明したように、実施形態1によれば、同一のディスクリプタ及びチェーンリストのフォーマットを用いて、転送データの総量が既知である転送と未定である転送を選択して実行することが可能となる。これにより、2種類のデータ転送モードに対応するためにデータ転送装置の回路規模を増大させること無く、最小の回路構成で実装できる。
また、ネットワークから受信するパケットを一旦受信バッファに蓄積完了する前に、データ転送処理を実行するので通信プロトコル処理の開始が早くなる。これにより、ネットワークから受信するパケットの通信プロトコル処理を高速化することができる。
また、転送データの総量が既知である転送と未定である転送のそれぞれにおいて、データ転送完了を最適なタイミングで検出することが可能となる。これにより、複数のデータ転送モードが混在したデータ転送要求が発生してもデータ転送装置を効率的に使用することができる。
<実施形態2>
図6は実施形態2のデータ転送のシーケンス図であり、特に、ネットワークに対してパケットを受信する場合に行われるデータ転送について示したものである。図1に示す通信装置におけるデータ転送処理について、各制御部の制御や処理部の処理の流れが分かるように示したものである。
尚、実施形態2では、実施形態1の図5のデータ転送に対して、データ転送の終了処理が異なっている。また、図6の中の501〜517及び519〜521は上記にて説明したものと同等であるため、その詳細については省略する。
601:
501によってデータ転送(512〜514)が開始され、転送データストア処理部103が転送データ内にEOFを検出した時に、既に517のチェーンリストの読出要求を行っていた場合は、その読出要求の中断処理(601)を実施する。この中断処理(601)を実施した後に、520の通知を出すように制御されている。
以上説明したように、実施形態2によれば、実施形態1で説明した効果に加えて、不要なチェーンリストの読出を禁止することができる。
<実施形態3>
図7は実施形態3のデータ転送のシーケンス図であり、特に、ネットワークに対してパケットを送信する場合に行われるデータ転送について示したものである。図1に示す通信装置におけるデータ転送処理について、各制御部の制御や処理部の処理の流れが分かるように示したものである。
実施形態3では、実施形態1の図4のデータ転送に対して、供給クロックの制御タイミングを追加した部分が異なっている。また、図7の中の401〜421は図4にて説明したものと同等であるため、その詳細については省略する。
701:
401によってデータ転送(412〜414)を開始する通知を受信したデータ転送制御部101は、クロック制御部106に対して動作クロックの供給を開始する通知(701)を行う。その後、データ転送制御部101は、ディスクリプタロード処理部104に対して、ディスクリプタの読出を通知する(402)。
701の通知を受信したクロック制御部106は、所定の処理部に対する動作クロックの供給を開始する。ここで、動作クロックの供給対象となる処理部は、転送データロード処理部102と転送データストア処理部103、そして、ディスクリプタロード処理部104である。
702:
転送データストア処理部103は、チェーンリストに記述された転送データの総量に転送データが達したことを検出すると、データ転送処理を終了(419)させて、データ転送制御部101にその旨の通知を行う(420)。
420の通知を受信したデータ転送制御部101は、クロック制御部106に対して動作クロックの供給を停止する通知(702)を行う。702の通知を受信したクロック制御部106は、所定の処理部に対する動作クロックの供給を停止する。ここで、動作クロックの停止対象となる処理部は、転送データロード処理部102と転送データストア処理部103、そして、ディスクリプタロード処理部104である。
このように動作クロックを停止することで、データ転送処理が実行されていない期間の電力消費を低減することが可能となる。
以上説明したように、実施形態3によれば、データ転送処理の停止中は、動作クロックの供給を停止して消費電力の低減を行う。この場合に、データ転送完了を最適なタイミングで検出して、最適なタイミングで動作クロックの供給のオン/オフ制御が可能となる。これにより、複数のデータ転送モードが混在したデータ転送要求が発生してもデータ転送装置の消費電力を効率的に低減することができる。
<実施形態4>
図8は実施形態4のデータ転送のシーケンス図であり、特に、ネットワークに対してパケットを受信する場合に行われるデータ転送について示したものである。図1に示す通信装置におけるデータ転送処理について、各制御部の制御や処理部の処理の流れが分かるように示したものである。
実施形態4では、実施形態1の図5のデータ転送に対して、供給クロックの制御タイミングを追加した部分が異なっている。また、図8の中の501〜521は図5にて説明したものと同等であるため、その詳細については省略する。
801:
501によってデータ転送(512〜514)を開始する通知を受信したデータ転送制御部101は、クロック制御部106に対して動作クロックの供給を開始する通知(801)を行う。その後、データ転送制御部101は、ディスクリプタロード処理部104に対して、ディスクリプタの読出を通知する(502)。
801の通知を受信したクロック制御部106は、所定の処理部に対する動作クロックの供給を開始する。ここで、動作クロックの供給対象となる処理部は、転送データロード処理部102と転送データストア処理部103、そして、ディスクリプタロード処理部104である。
802:
転送データストア処理部103は、転送データ内部にEOFを検出して転送データ処理を終了する場合もある。このようなタイミングが発生した場合は、最後のデータ書出を行った(519)後、518のチェーンリストの読込処理が終了した後で、520の通知を出すように制御されている。
520の通知を受信したデータ転送制御部101は、クロック制御部106に対して動作クロックの供給を停止する通知(802)を行う。802の通知を受信したクロック制御部106は、所定の処理部に対する動作クロックの供給を停止する。ここで、動作クロックの停止対象となる処理部は、転送データロード処理部102と転送データストア処理部103、そして、ディスクリプタロード処理部104である。
このように動作クロックを停止することで、データ転送処理が実行されていない期間の電力消費を低減することが可能となる。
図11は、データ転送開始時に予めデータ転送サイズが確定している場合(図7)とデータ転送サイズが未定の場合(図8)のデータ転送完了から動作クロックの供給を停止するまでの時間差を示すフローチャートである。このフローチャートには、TOE部11におけるデータ転送について予めデータ転送サイズが確定しているのか、あるいは未定なのかの判定を実行する。そして、データ転送を開始して該データ転送完了を検出してから動作クロックの供給を停止するまでの処理を示している。
S1101(端子記号):
この端子記号S1101は、このフローチャートのスタートを示している。401(あるいは501)の通知を受けてデータ転送制御部101がデータ転送処理を開始した状態を示している。また、701(あるいは801)の通知を受けてクロック制御部106は、所定の処理部に対する動作クロックの供給を開始する。
S1102(条件判断記号):
この条件判断記号S1102は、これから開始するデータ転送において予め転送サイズが確定しているかどうかを条件として経路選択を行うことを示している。転送サイズが確定している場合(S1102でYES)、処理記号S1103へ移行する。一方、転送サイズが確定していない場合(S1102でNO)、処理記号S1106へ移行する。
ここでは、転送データストア処理部103が、411(あるいは511)によってチェーンリストの読込を行った後にそのチェーンリストの記述内容に従って、転送サイズの確定の有無が判断される。具体的には、図3のチェーンリストにおいて、302の欄に転送サイズが確定していない意味を持つ“FFFF”等の特定の固定値が記述されているかどうかで判断する。転送サイズが確定している場合は、図7に示すシーケンスを実行し、転送サイズが確定していない場合は図8に示すシーケンスを実行することになる。
S1103(処理記号):
この処理記号S1103は、データ転送を実行する処理を示している。412〜414に記述の一連のデータ転送処理を実行する。
S1104(条件判断記号):
この条件判断記号S1104は、データ転送が完了したかどうかを条件として経路選択を行うことを示している。データ転送の完了を検出した場合(S1104でYES)、処理記号S1105へ移行する。一方、データ転送の完了を検出していない場合(S1104でNO)、現在の状態を継続する。
転送データストア処理部103は、407で通知されたディスクリプタに記述されている転送データの総量にデータ転送量が達した場合に完了したと判断する。
S1105(処理記号):
この処理記号S1105は、クロック制御部106によって所定の処理部に対する動作クロックの供給を停止する処理を示している。転送データストア処理部103は、データ転送が終了したことをデータ転送制御部101に通知(420)する。そして、この通知(420)を受信したデータ転送制御部101は、クロック制御部106に対して動作クロックの供給を停止する通知(702)を行う。702の通知を受信したクロック制御部106は、転送データロード処理部102と転送データストア処理部103、そして、ディスクリプタロード処理部104に対して動作クロックの供給を停止する処理(クロックゲートオン)を行う。
S1106(処理記号):
この処理記号S1106は、データ転送を実行する処理を示している。512〜514に記述の一連のデータ転送処理を実行する。
S1107(条件判断記号):
この条件判断記号S1107は、データ転送が完了したかどうかを条件として経路選択を行うことを示している。データ転送の完了を検出した場合(S1107でYES)、条件判断記号S1108へ移行する。一方、データ転送の完了を検出していない場合(S1106でNO)、現在の状態を継続する。
転送データストア処理部103は、転送データ内にEOFを検出した場合に完了したと判断する。
S1108(条件判断記号):
この条件判断記号S1108は、チェーンリストの読込処理が終了しているかどうかを条件として経路選択を行うことを示している。チェーンリストの読込処理が完了している場合(S1108でYES)、処理記号S1109へ移行する。一方、チェーンリストの読込処理が完了していない場合(S1108でNO)、現在の状態を継続する。
転送データストア処理部103が転送データ内にEOFを検出した時点でチェーンリストの読込処理が完了していれば、チェーンリストの読込処理は完了していると判断して処理記号S1109へ移行する。
また、転送データストア処理部103が転送データ内にEOFを検出した時点でチェーンリストの読込処理が完了していなければ、チェーンリストの読込処理の完了を待って処理記号S1109へ移行する。
また、転送データストア処理部103が転送データ内にEOFを検出した時点でチェーンリストの読込処理が終了していなければ、チェーンリストの読込処理の中断処理(901)を行って処理記号S1109へ移行する。
S1109(処理記号)
この処理記号S1109は、クロック制御部106によって所定の処理部に対する動作クロックの供給を停止する処理を示している。転送データストア処理部103は、データ転送が終了したことをデータ転送制御部101に通知(520)する。そして、この通知(520)を受信したデータ転送制御部101は、クロック制御部106に対して動作クロックの供給を停止する通知(802)を行う。802の通知を受信したクロック制御部106は、転送データロード処理部102と転送データストア処理部103、そして、ディスクリプタロード処理部104に対して動作クロックの供給を停止する処理(クロックゲートオン)を行う。
S1110(端子記号)
この端子記号S1110は、このフローチャートのストップを示している。421(あるいは521)の通知をTOE制御部100に送信してデータ転送処理がすべて終了し、データ転送制御部101がアイドル状態に戻ったことを示している。また、702(あるいは802)の通知を受けてクロック制御部106は、所定の処理部に対する動作クロックの供給を停止する。
上記の動作フロー(1101〜1110)において、処理記号S1105で供給クロックが停止するタイミングと処理記号S1109で供給クロックが停止するタイミングが条件判断記号S1108の処理時間に相当する時間t(1111)だけ差分がある。
この差分(1111)は、データ転送処理において転送サイズが予め確定しているデータ転送とそうでないデータ転送を実行した場合におけるデータ転送終了を検出する時間差となる。
以上説明したように、実施形態4によれば、データ転送処理の停止中は、動作クロックの供給を停止して消費電力の低減を行う。この場合に、データ転送完了を最適なタイミングで検出して、最適なタイミングで動作クロックの供給オン/オフ制御が可能となる。これにより、複数のデータ転送モードが混在したデータ転送要求が発生してもデータ転送装置の消費電力を効率的に低減することができる。
<実施形態5>
図9は実施形態5のデータ転送のシーケンス図であり、特に、ネットワークに対してパケットを受信する場合に行われるデータ転送について示したものである。図1に示す通信装置におけるデータ転送処理について、各制御部の制御や処理部の処理の流れが分かるように示したものである。
実施形態5では、実施形態4の図8のデータ転送に対して、データ転送の終了処理が異なっている。尚、図9の中の501〜521及び801、802はそれぞれ図5及び図8にて説明したものと同等であるため、その詳細については省略する。
901:
501によってデータ転送(512〜514)が開始され、転送データストア処理部103が転送データ内にEOFを検出した時に、既に517のチェーンリストの読出要求を行っていた場合は、その読出要求の中断処理(901)を実施する。この中断処理(901)を実施した後に、520の通知を出すように制御されている。
520の通知を受信したデータ転送制御部101は、クロック制御部106に対して動作クロックの供給を停止する通知(802)を行う。802の通知を受信したクロック制御部106は、所定の処理部に対する動作クロックの供給を停止する。ここで、動作クロックの停止対象となる処理部は、転送データロード処理部102と転送データストア処理部103、そして、ディスクリプタロード処理部104である。
このように、動作クロックを停止することで、データ転送処理が実行されていない期間の電力消費を低減することが可能となる。
以上説明したように、実施形態5によれば、実施形態4で説明した効果に加えて、不要なチェーンリストの読出要求を既に行っていた場合は、その読出要求の中断処理を実行して、所定の処理部に対する動作クロックの供給を停止する。これにより、最適なタイミングで動作クロックの供給オン/オフ制御が可能となる。
尚、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウエア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (10)

  1. 記憶装置から転送データを読み出す転送データロード処理部と、前記記憶装置へ転送データを書き込む転送データストア処理部を有するデータ転送装置であって、
    ネットワークを介してデータを送受信するためのデータ記憶部を用いて、該データの送受信を制御する制御手段と、
    前記転送データロード処理部と前記転送データストア処理部のそれぞれの動作を制御して、前記記憶装置と前記データ記憶部との間のデータ転送を制御するデータ転送制御手段を備え、
    前記データ転送制御手段は、
    データ転送を行う転送データ量が確定している転送モードである第1の転送モードでは、前記データ転送による転送データの総量が指定されたデータ転送量に達した場合に、該データ転送が完了した判定し、
    データ転送を行う転送データ量が確定していない転送モードである第2の転送モードでは、前記データ転送による転送データの最後を示す情報を検出した場合に、該データ転送が完了したと判定し、
    前記転送データロード処理部は、前記記憶装置の複数の不連続な記憶領域を連結して転送データを読み出すための第1の転送情報であって、前記転送データの転送モードが前記第1の転送モードあるいは前記第2の転送モードであることを示す情報を含む第1の転送情報を用いて前記記憶装置から転送データを読出し、
    前記転送データストア処理部は、前記記憶装置の複数の不連続な記憶領域を連結して転送データを書き込むための第2の転送情報であって、前記転送データの転送モードが前記第1の転送モードあるいは前記第2の転送モードであることを示す情報を含む第2の転送情報を用いて前記記憶装置へ転送データを書き込む
    ことを特徴とするデータ転送装置。
  2. 前記転送データロード処理部は、
    前記1の転送情報を読み込む第1の読込手段と、
    前記第1の転送情報を記憶する第1のキャッシュ手段と、
    前記第1の転送情報に従って、前記第1の読込手段の読込とは非同期に、前記転送データを前記記憶装置から読み出す読出手段とを備え、
    前記転送データストア処理部は、
    前記2の転送情報を読み込む第2の読込手段と、
    前記第2の転送情報を記憶する第2のキャッシュ手段と、
    前記第2の転送情報に従って、前記第2の読込手段の読込とは非同期に、前記転送データを前記記憶装置へ書き込む書込手段とを備える
    ことを特徴とする請求項1に記載のデータ転送装置。
  3. 前記データ転送制御手段は、
    前記第2の転送モードでは、前記データ転送による転送データの最後を示す情報を検出した後でも、前記第2の読込手段による前記第2の転送情報の読込処理が完了してない場合には、その完了を待って、該データ転送が完了したと判定する
    ことを特徴とする請求項2に記載のデータ転送装置。
  4. 前記転送データストア処理部は、
    前記転送データの最後を示す情報を、該転送データ内から検出する検出手段を更に備え、
    前記データ転送制御手段は、
    前記第2の転送モードでのデータ転送中に、前記検出手段が前記転送データの最後を示す情報を検出したことを示す通知を、前記転送データストア処理部から受信した場合に、該データ転送が完了したと判定する
    ことを特徴とする請求項2に記載のデータ転送装置。
  5. 前記転送データストア処理部は、
    前記第2の転送モードでのデータ転送中に、前記検出手段が前記転送データの最後を示す情報を検出した時点で、前記第2の読込手段による前記第2の転送情報の読込が完了していない場合には、その読込を中断する中断手段と、
    前記中断手段による中断処理を実施した後に、前記通知を前記データ転送制御手段へ送信する送信手段と
    を更に備えることを特徴とする請求項4に記載のデータ転送装置。
  6. 前記転送データロード処理部と前記転送データストア処理部への動作クロックの供給のオン/オフを制御するクロック制御手段を更に備え、
    前記クロック制御手段は、
    前記第1の転送モードでは、前記データ転送による転送データの総量が指定されたデータ転送量に達して、前記転送データストア処理部による前記指定されたデータ転送量の転送データの書込が完了したことで、該データ転送が完了したという前記データ転送制御手段による判定に応じて、前記動作クロックの供給を停止し、
    前記第2の転送モードでは、前記第2の転送モードでのデータ転送中に、前記転送データの最後を示す情報を検出して、前記第2の読込手段による前記第2の転送情報の読込が完了したことで、該データ転送が完了したという前記データ転送制御手段による判定に応じて、前記動作クロックの供給を停止する
    ことを特徴とする請求項2に記載のデータ転送装置。
  7. 前記クロック制御手段は、
    前記第2の転送モードでのデータ転送中に、前記転送データの最後を示す情報を検出した時点で、前記第2の読込手段による前記第2の転送情報の読込が完了していないために該読込が中断されたことで、該データ転送が完了したという前記データ転送制御手段による判定に応じて、前記動作クロックの供給を停止する
    ことを特徴とする請求項6に記載のデータ転送装置。
  8. 前記第2のキャッシュ手段は、複数個の前記第2の転送情報を順にキャッシュする階層構造となっており、
    前記転送データストア処理部は、
    前記階層構造の第1のレベルになるまで、前記第2の転送情報を前記第2のキャッシュ手段に読み込み、前記データ転送の進行に応じて、前記第2のキャッシュ手段がキャッシュする前記第2の転送情報の数が前記第1のレベルから第2のレベルまで減ると、前記第1のレベルより大きい第3のレベルになるまで、追加の前記第2の転送情報を読み込む処理を、前記データ転送が終了するまで繰り返す
    ことを特徴とする請求項2に記載のデータ転送装置。
  9. 記憶装置から転送データを読み出す転送データロード処理部と、前記記憶装置へ転送データを書き込む転送データストア処理部を有するデータ転送装置の制御方法であって、
    ネットワークを介してデータを送受信するためのデータ記憶部を用いて、該データの送受信を制御する制御工程と、
    前記転送データロード処理部と前記転送データストア処理部のそれぞれの動作を制御して、前記記憶装置と前記データ記憶部との間のデータ転送を制御するデータ転送制御工程を備え、
    前記データ転送制御工程は、
    データ転送を行う転送データ量が確定している転送モードである第1の転送モードでは、前記データ転送による転送データの総量が指定されたデータ転送量に達した場合に、該データ転送が完了した判定し、
    データ転送を行う転送データ量が確定していない転送モードである第2の転送モードでは、前記データ転送による転送データの最後を示す情報を検出した場合に、該データ転送が完了したと判定し、
    前記転送データロード処理部は、前記記憶装置の複数の不連続な記憶領域を連結して転送データを読み出すための第1の転送情報であって、前記転送データの転送モードが前記第1の転送モードあるいは前記第2の転送モードであることを示す情報を含む第1の転送情報を用いて前記記憶装置から転送データを読出し、
    前記転送データストア処理部は、前記記憶装置の複数の不連続な記憶領域を連結して転送データを書き込むための第2の転送情報であって、前記転送データの転送モードが前記第1の転送モードあるいは前記第2の転送モードであることを示す情報を含む第2の転送情報を用いて前記記憶装置へ転送データを書き込む
    ことを特徴とするデータ転送装置の制御方法。
  10. 記憶装置から転送データを読み出す転送データロード処理部と、前記記憶装置へ転送データを書き込む転送データストア処理部を有するデータ転送装置の制御をコンピュータに機能させるためのプログラムであって、
    前記コンピュータを、
    ネットワークを介してデータを送受信するためのデータ記憶部を用いて、該データの送受信を制御する制御手段と、
    前記転送データロード処理部と前記転送データストア処理部のそれぞれの動作を制御して、前記記憶装置と前記データ記憶部との間のデータ転送を制御するデータ転送制御手段して機能させ、
    前記データ転送制御手段は、
    データ転送を行う転送データ量が確定している転送モードである第1の転送モードでは、前記データ転送による転送データの総量が指定されたデータ転送量に達した場合に、該データ転送が完了した判定し、
    データ転送を行う転送データ量が確定していない転送モードである第2の転送モードでは、前記データ転送による転送データの最後を示す情報を検出した場合に、該データ転送が完了したと判定し、
    前記転送データロード処理部は、前記記憶装置の複数の不連続な記憶領域を連結して転送データを読み出すための第1の転送情報であって、前記転送データの転送モードが前記第1の転送モードあるいは前記第2の転送モードであることを示す情報を含む第1の転送情報を用いて前記記憶装置から転送データを読出し、
    前記転送データストア処理部は、前記記憶装置の複数の不連続な記憶領域を連結して転送データを書き込むための第2の転送情報であって、前記転送データの転送モードが前記第1の転送モードあるいは前記第2の転送モードであることを示す情報を含む第2の転送情報を用いて前記記憶装置へ転送データを書き込む
    ことを特徴とするプログラム。
JP2012173280A 2012-08-03 2012-08-03 データ転送装置及びその制御方法、プログラム Expired - Fee Related JP6000732B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012173280A JP6000732B2 (ja) 2012-08-03 2012-08-03 データ転送装置及びその制御方法、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012173280A JP6000732B2 (ja) 2012-08-03 2012-08-03 データ転送装置及びその制御方法、プログラム

Publications (3)

Publication Number Publication Date
JP2014032564A JP2014032564A (ja) 2014-02-20
JP2014032564A5 JP2014032564A5 (ja) 2015-08-20
JP6000732B2 true JP6000732B2 (ja) 2016-10-05

Family

ID=50282336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012173280A Expired - Fee Related JP6000732B2 (ja) 2012-08-03 2012-08-03 データ転送装置及びその制御方法、プログラム

Country Status (1)

Country Link
JP (1) JP6000732B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5999525A (ja) * 1982-11-30 1984-06-08 Toshiba Corp Dma転送制御方式
JPS6072057A (ja) * 1983-09-28 1985-04-24 Nec Corp Dmaコントロ−ラ
JPH07219712A (ja) * 1994-01-31 1995-08-18 Fujitsu Ltd 非同期転送型磁気ディスク制御装置の入出力制御システム
JP2000276435A (ja) * 1999-03-25 2000-10-06 Matsushita Electric Ind Co Ltd データ転送装置及びデータ転送方法
CN101685381B (zh) * 2008-09-26 2013-07-24 美光科技公司 固态大容量存储装置的数据串流

Also Published As

Publication number Publication date
JP2014032564A (ja) 2014-02-20

Similar Documents

Publication Publication Date Title
JP2011505037A (ja) 読出しデータバッファリングのシステム及び方法
CN112711550A (zh) Dma自动配置模块和片上***soc
WO2003102805A2 (en) Inter-chip processor control plane
JP2000083053A (ja) プログラム内蔵方式パケット処理装置
JP5741245B2 (ja) 画像処理装置、画像処理制御方法及び画像処理制御プログラム
JP4882935B2 (ja) 通信情報処理装置、通信情報処理システム、及び通信情報処理プログラム
JP5209535B2 (ja) Usbホストコントローラ及びusbホストコントローラの制御方法
JP6000732B2 (ja) データ転送装置及びその制御方法、プログラム
JP5734034B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
US20160261484A9 (en) Chip multi processor and router for chip multi processor
CN114157619A (zh) 报文缓存管理方法、装置及网络处理器
JP4708818B2 (ja) ネットワーク装置及びその制御方法
JP2011173378A (ja) 印刷装置
JP5508098B2 (ja) プログラマブルコントローラ、データ通信方法及びコンピュータプログラム
JP2007316699A (ja) データ処理装置
JP4373887B2 (ja) パケット処理方法
JP7027145B2 (ja) 通信装置、通信装置の制御方法およびプログラム
JP5780768B2 (ja) 情報処理装置、その制御方法、およびプログラム
JP4411138B2 (ja) データフロー制御方式、その回路、およびその方法
JP5587530B2 (ja) エンジン・プロセッサ連携システム及び連携方法
JP2006338409A (ja) 圧縮データ転送方式及び圧縮データ転送システム
JP6488756B2 (ja) 通信制御装置及び画像形成装置
JP5645630B2 (ja) 情報処理装置、停止方法、及びプログラム
JP5070609B2 (ja) 通信装置、通信システム及び通信方法
JP2000285087A (ja) ノード間データ通信方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150702

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150702

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160705

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160831

R151 Written notification of patent or utility model registration

Ref document number: 6000732

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees