特許
J-GLOBAL ID:200903076127811611

データ転送方法及び装置

発明者:
出願人/特許権者:
代理人 (1件): 志賀 正武 (外2名)
公報種別:公開公報
出願番号(国際出願番号):特願2002-106736
公開番号(公開出願番号):特開2003-304248
出願日: 2002年04月09日
公開日(公表日): 2003年10月24日
要約:
【要約】【課題】 DMA転送で、アプリケーションがユーザ空間のデータを、OSメモリ空間を介さず直接ネットワークアダプタとの間で転送するデータ転送手段を提供する。【解決手段】 本発明のネットワークアダプタ9は、アダプタ制御部40、DMA制御部12、送信バッファ11、受信バッファ10、送信制御部30、受信制御部20、ネットワーク送受信部50を有している。アダプタ制御部40は、送信DMA制御情報保持部42、受信DMA制御情報保持部41、バッファ送信制御情報保持部44、バッファ受信制御情報保持部43、送信バッファ管理情報保持部45、自アドレス保持部46、分割ブロック情報保持部47を有し、プロセッサ6とのデータの送受信の制御情報等を通知する処理と、送信制御部30のデータ送信を起動する処理と、受信制御部20が受信したデータの管理と、メモリ2から又は送信バッファ11,受信バッファ10からメモリ2ヘDMA転送処理の際、送信DMA制御情報,受信DMA制御情報の作成を行う。
請求項(抜粋):
プロセッサと、メモリと、ネットワークアダプタを少なくとも含む計算機を、それぞれのネットワークアダプタを介して、少なくとも2以上接続して構成されるネットワークにおいて、ヘッダ部とデータ部を有するパケットを用いて、計算機間のデータの転送を行う方法であって、データの転送に先立ち、送信側計算機のメモリ上にデータの送信元となる送信元バッファと、受信側計算機のメモリ上にデータの受信先となる受信先バッファを用意する手順と、データの転送に先立ち、送信側計算機において、送信対象となるデータに対して、通信プロトコル終端を施さずに、該データを送信元バッファに格納する手順と、データの転送に先立ち、送信側計算機において、送信元バッファとアダプタとの間のデータ転送単位であるブロックのサイズ、およびブロックをアダプタ内で分割する単位であるセグメントのサイズを、プロセッサがアダプタに設定する手順と、送信側計算機のプロセッサが、受信先バッファと一意に対応する識別子情報と、送信元バッファのアドレス、サイズの情報と、受信側を識別するネットワークアドレスとを通知して、送信元バッファ単位でアダプタのデータ送信動作を起動する手順と、送信側計算機のネットワークアダプタが、前記ブロックのサイズ情報に基づいて、データを送信元バッファから1個もしくは複数個のブロックに分けて順次読み出し、読み出した該ブロックに送信元バッファ内での格納位置と一意に対応するブロック識別番号を付与する手順と、送信側計算機のネットワークアダプタが、前記ブロックを、さらに複数個のセグメントに分割し、該セグメントに送信元バッファ内での格納位置と一意に対応するオフセットアドレスを付与する手順と、送信側計算機のネットワークアダプタが、前記セグメント毎に、前記受信先バッファ識別子情報と、前記ブロック識別番号と、前記オフセットアドレスと、セグメントサイズとをヘッダ部に付与し、該セグメントをパケット化してネットワークに送出する手順と、受信側計算機のプロセッサが、受信先バッファを一意に識別する識別子情報と、受信先バッファのメモリアドレス、サイズの情報とを通知して、受信先バッファ単位でアダプタのデータ受信動作を起動する手順と、受信側計算機のネットワークアダプタが、パケットを受信した際に、ヘッダ部から前記受信先バッファ識別子情報を取り出し、プロセッサから受信動作を指示された受信先バッファ識別子情報と比較する手順と、受信側計算機のネットワークアダプタが、前記手順において、比較した受信先バッファ識別子情報が一致する場合に、ヘッダ部から前記ブロック識別番号、前記オフセットアドレス、前記セグメントサイズを取り出し、取り出した情報に基づいて前記ブロックをネットワークアダプタ内で再構成する手順と、受信側計算機のネットワークアダプタが、再構成した前記ブロックを前記受信先バッファ識別子情報と、前記オフセットアドレスが指定する受信先バッファの所定の領域に直接転送する手順を有することを特徴とするデータ転送方法。
IPC (3件):
H04L 12/28 200 ,  G06F 13/28 310 ,  G06F 13/28
FI (3件):
H04L 12/28 200 Z ,  G06F 13/28 310 E ,  G06F 13/28 310 J
Fターム (7件):
5B061BA03 ,  5B061DD08 ,  5B061DD09 ,  5K033BA05 ,  5K033CC02 ,  5K033DB13 ,  5K033EC03

前のページに戻る