JP4163440B2 - メモリにアクセスする方法及び装置 - Google Patents
メモリにアクセスする方法及び装置 Download PDFInfo
- Publication number
- JP4163440B2 JP4163440B2 JP2002117193A JP2002117193A JP4163440B2 JP 4163440 B2 JP4163440 B2 JP 4163440B2 JP 2002117193 A JP2002117193 A JP 2002117193A JP 2002117193 A JP2002117193 A JP 2002117193A JP 4163440 B2 JP4163440 B2 JP 4163440B2
- Authority
- JP
- Japan
- Prior art keywords
- direct memory
- pci
- remote direct
- network
- transaction
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Computer And Data Communications (AREA)
Description
【発明の属する技術分野】
本発明はコンピュータネットワークの構築に関するものであり、更に詳しくは、コンピュータネットワークを介したダイレクトメモリアクセス(直接メモリ操作)に関する。
【0002】
【従来の技術】
高速ネットワークによって分散リソース(資源)の使用が容易になり、コンピュータネットワーク内の所定のノードに位置するデバイス(装置)から別のノードに位置するリモート(遠隔)メモリへの直接アクセスの重要性が高まっている。データ転送にリモートダイレクトメモリアクセス(RDMA、遠隔直接メモリ操作)を使用すると、コンピュータネットワーク内のプロセッサは、それぞれのユーザーメモリ間においてオペレーティングシステムの最小限の介入によりデータを直接交換することができる。この結果、起動に伴うレイテンシー(待ち時間)の削減と共にスループットの向上が可能となる。
【0003】
かかるRDMA動作とは、2つのデバイスのメモリ間におけるネットワークを介した直接的なデータ交換のことである。RDMA動作においては、ノード(例:サーバー)がメモリを割り当ててピンダウン(スワップ不能にする)し、そのメモリ内容を別のノード(例:クライアント)に送信すると、そのノード(クライアント)は該メモリ(サーバーのメモリ)に直接的に読み取り(リード)及び書き込み(ライト)を行うことができる。ここにおいて、「直接的」という言葉は、RDMA動作にはサーバー又はクライアントの中央処理装置(CPU)が関与しないことを意味している。かかるRDMA動作を使用すれば、クライアントは、サーバーが上述のように引き渡したメモリをもうひとつのページファイルとして使用できる。
【0004】
【発明が解決しようとする課題】
しかしながら、ネットワークを介したアクセスには常にエラーの可能性が存在する。RDMA動作によって書き込みアクセスが適切に行われたことを確認するには、書き込みアクセスを実行したデバイスは、書き込んだデータを読み取りアクセスを実行して読み取る必要がある。又、RDMA動作によって読み取りアクセスが適切に実行されたことを確認するには、読み取りアクセスを実行したデバイスは、再度読み取りアクセスを実行し、これら2回にわたる読み取りアクセスによって読み取ったデータを比較する必要がある。RDMA動作を検証するためのこれらの方法には、時間を所要すると共にネットワークのリソースを浪費するという欠点がある。
【0005】
以上のことから、前述のような手順を踏むことなく、RDMA動作が適切に実行されたというアクセスの確認、及び/又はRDMA動作のプロセスにおいてエラーが発生した場合にはエラー情報をRDMA動作のイニシエータ(起動側)が取得可能なシステム及びその方法の提供が要求されている。
【0006】
【課題を解決するための手段】
本発明は、コンピュータネットワークを介したRDMAトランザクション(RDMA処理)に関するアクセスの確認を提供する方法及びシステムからなる。
【0007】
本発明の一実施例においては、第1デバイス及び第2デバイスが第1及び第2PCI(Peripheral Component Interconnect)バスに各々個別に接続される。そして、該第1及び第2PCIバスを各々個別に第1及び第2PCIネットワークアダプタを介してコンピュータネットワークに接続する。該第1及び第2PCIネットワークアダプタは、コンピュータネットワークを介して第2PCIバスに伝達される第1PCIバス上のメモリマッピングされた読み取り又は書き込みを容易にする機能ユニットを備えている。第1デバイスが接続されている第1PCIバスのメモリ領域内には、RDMA領域及びこれと関連するアクセス確認領域が確保され、これらは第2デバイスに割り当てられている。第1デバイスは第2デバイスに割り当てられている該RDMA領域に対して直接書き込み、或いは読み取りすることにより、第2デバイスに対してRDMA動作を実行することができる。このRDMAトランザクションは、第1及び第2PCIネットワークアダプタが処理する。又、第2PCIネットワークアダプタは、第2デバイスをターゲットとして第1デバイスがイニシエート(起動)した個々のRDMAトランザクションに対して、対応するアクセス確認情報を準備し、該情報を応答パケットで第1PCIネットワークアダプタに送信する。このアクセス確認情報は、第1デバイスがチェックするまで第1PCIネットワークアダプタに保存される。RDMAトランザクションに関するこのアクセス確認情報を取得するには、第2デバイスに割り当てられている第1PCIバスのPCIメモリ領域内のRDMA領域に関連する確認領域に対して第1デバイスがPCI読み取りを実行する。
【0008】
【発明の実施の形態】
図1は本発明の一実施例によるシステム100のブロックダイアグラムである。該システム100は、ネットワークルーター103及び該ルーターに接続された3つのノードA〜Cからなるコンピュータネットワーク(ネットワーク)である。ノードAは、バス120Aに接続された1つ以上のデバイス(例:111A、112A、113A)を備えている。該バス120Aはネットワークアダプタ130Aを介してネットワークルーター103に接続されている。ノードBは、バス120Bに接続された1つ以上のデバイス(例:111B、112B)を備えている。該バス120Bはネットワークアダプタ130Bを介してネットワークルーター103に接続されている。ノードCは、バス120Cに接続された1つ以上のデバイス(例:111C、112C、113C)を備えている。該バス120Cはネットワークアダプタ130Cを介してネットワークルーター103に接続されている。
【0009】
システム100の各デバイス(例:111A、112A、113A、111B、112B、111C、112C、113C)を一般的にデバイス110と呼ぶことにする。該デバイス110は、ディスプレイ、ディスクドライブ、サウンドカード、スモールコンピュータ標準インターフェース(SCSI:Small Computer Standard Interface)アダプタ等の従来技術によるPCIデバイスであってよい。又、該デバイス110は、ネットワークに接続された従来技術によるワークステーションやパーソナルコンピュータであってもよく、更には1つのネットワークであってもよい。或いは又、該デバイス110は、特殊なノードであってもよい。例えば、該デバイス110は、ダイレクトメモリアクセス(DMA)デバイスを有するデータボールトや1つ以上のストレージデバイスに接続されたディスクコントローラカードであってもよい。更には、該デバイス110は、入出力(I/O)デバイス等のノンインテリジェント型のノードであってもよい。又、該デバイス110は、内蔵CPUを有するインテリジェント型のノードやある種のマイクロコントローラ装置であってもよい。即ち、該デバイス110は、どのようなデバイスやノード構成であってもよい。尚、該デバイス110をペリフェラル、或いはペリフェラルデバイスと呼ぶ場合がある。
【0010】
バス120A〜Cの各々には、2つ或いは3つのペリフェラルの接続が図示されているが、これらの各バスには、所望のアプリケーション及びシステム性能に応じて、より少数、或いはより多数のペリフェラルを接続することができる。
【0011】
又、120A〜Cの各バスは、PCIバス、AGP(Accelerated Graphics Port)、PCI−X等、読み取りのリトライ(再試行)をサポートするものであればどのようなバスであってもよい。本発明の一実施例においては、バス120A〜Cの各々はPCIバスであり、ネットワークアダプタ130A〜Cの各々は、従来技術によるPCIプロトコルと命令規則を実装したPCIインターフェイスを提供するPCIネットワークアダプタであり、ペリフェラルデバイス110は、該アダプタを使用してPCIプロトコルにより相互に通信可能になっている。又、ネットワーク100内の別のPCIバスに伝達されるPCIバス上のメモリマッピングされたPCI読み取り又は書き込みを該PCIネットワークアダプタ130A〜Cによって実行できる。更に、別の実施例においては、2つのPCIバスを1つのネットワークアダプタに接続し、該ネットワークアダプタをこれら2つのPCIバス間のブリッジとして機能させると共に、これら2つのPCIバスのいずれかとネットワーク103内の第3のPCIバスとの間のブリッジの一部として機能させることも可能である。
【0012】
システム100内のノードのデバイス110が、プロセッサ等のPCIマスタデバイスの場合には、該デバイスは自身が直接接続されているPCIバスのアドレス領域をアドレス指定する能力を保有する。該PCIアドレス領域には、入出力(I/O)領域とメモリ領域の2つがあり、これらはネットワーク100内のPCIバスごとに設けられている。このPCIバスと関連するメモリ領域のサイズは、xバイト又は2xである(ここで、xはxビットアドレス方式を表している)。例えば、64ビットアドレス方式を使用した場合、メモリ領域のサイズは4GB又は264である。ネットワーク100を従来技術による設定プログラムによって設定すると、ネットワーク100内のすべてのデバイスに対して各PCIバス120A〜Cのアドレス領域内に互いに排他的なアドレス領域が割り当てられる。コンピュータネットワークは、ノードA等の1つのマスタノードのプロセッサによって設定することも可能であり、ノードが異なる複数のプロセッサによって独立的に設定することもできる。ノードによって設定プログラムが実行されると、デバイスの存在、種類、アドレス領域要件を自動的に検出し、それらのデバイスのアドレスデコーダが割り当てられたアドレス範囲を識別できるようにプログラムすることにより、デバイスに領域が割り当てられる。
【0013】
PCIバス120Aにとっては、デバイス111B、112B、111C、112C、113CはPCIネットワークアダプタ130Aの背後に位置するデバイス群である。これらのデバイスはメモリ、I/O、又はメモリとI/Oデバイスの組み合わせであってよい。更に、I/Oデバイスには、メモリ領域に割り当てられたものとI/O領域に割り当てられたものがあってよい。PCIバス130Aのメモリ領域においては、PCIネットワークアダプタ130Aの背後に位置するすべてのメモリデバイス又はメモリマッピングされたI/O装置に対し、PCIネットワークアダプタ130Aに関連するメモリの共通全体範囲内に互いに排他的なメモリアドレス領域が割り当てられる。例として、図2はPCIバス120Aのメモリ領域200を示すブロックダイアグラムである。該メモリ領域200は、PCIネットワークアダプタ130Aと関連する全体アドレス範囲220を備えている。該アドレス範囲220は、リモートI/O動作用のアドレス領域250、RDMAトランザクション用のアドレス領域290、PCIネットワークアダプタ130Aの内部レジスタに割り当てられたメモリマッピングされたレジスタ領域230を備えている。又、メモリ領域200は、ノードAのローカルメモリデバイス又はメモリサブユニットへのアクセスに使用するアドレス領域260、予約済みのアドレス範囲210、1つ以上のその他のアドレス領域270を備えることができる。
【0014】
引き続き図2を参照すれば、RDMA領域290は、ノードAのデバイスがネットワークルーター103を介してメモリデバイスに直接アクセスするためのアクセス領域と、確認チェック動作用の確認領域280を備えている。PCIネットワークアダプタ130Aは、ターゲットアドレスがアクセス領域240内の場合に、PCIバス120A上にRDMAトランザクションとして検出されたメモリトランザクションを処理するようにプログラムされている。該アクセス領域240は、各々ノードBとノードCに対応するアドレス領域240B及びアドレス領域240Cを備えている。アドレス領域240Bは、ノードBに関連するメモリデバイス又はメモリサブユニットに割り当てられたサブ領域を備えており、アドレス領域240CはノードCに関連するメモリデバイス又はメモリサブユニットに割り当てられたサブ領域を備えている。確認領域280はアドレス領域280B及び280Cを備えている。アドレス領域280Bは、ノードBのメモリデバイス又はメモリサブユニットをターゲットとするRDMAトランザクションの各々に関するアクセス確認情報を取得するための複数のサブ領域を備えている。又、アドレス領域280Cも、ノードCのメモリデバイス又はメモリサブユニットをターゲットとするRDMAトランザクションの各々に関するアクセス確認情報を取得するための複数のサブ領域を備えている。例えば、図2に示すように、アドレス領域240Bは、デバイス111Bがメモリデバイスであればデバイス111Bに割り当てられると共にデバイス111Bがメモリサブユニットを含んでいればデバイス111Bの該メモリサブユニットに割り当てられるサブ領域241Bを備えている。そして、アドレス領域280Bは、サブ領域241Bに関連するサブ領域281Bを備えている。ノードAにおけるデバイス111BをターゲットとするRDMAトランザクションのイニシエータは、該サブ領域281BからPCI読み取りによってこのRDMAトランザクションに関するアクセス確認情報を取得することができる。
【0015】
PCIネットワークアダプタ130A等のネットワーク100内のPCIネットワークアダプタ130A〜Cの各々は、ネットワーク100の別のノード(例:ノードB及びノードC)のデバイスに割り当てたアドレス領域を定義するのに使用するレジスタを備えている。アドレス領域の定義は、ベースアドレスとアドレスオフセットによって行う。アドレス領域のベースアドレスは、そのアドレス領域内のアドレスの基準点として機能する。そして、アドレス領域内のアドレスは、ベースアドレスにオフセットを加算することによって指定する。アドレス領域内の最大のオフセットがそのアドレス領域のアドレスオフセットである。PCIネットワークアダプタ130A、130B、又は130Cは、通常、次に示すアドレス領域のベースアドレス及びアドレスオフセット用のレジスタを備えている。
a)メモリマッピングされたレジスタ領域(図2のアドレス領域230等)
b)ネットワーク100の別のノードに関連するリモートI/O領域(図2のアドレス領域250等)
c)ネットワーク100の別のノードに関連するリモートダイレクトメモリアクセス(RDMA)領域(RDMA領域290等)
【0016】
ノードA等のノードからの領域b)またはc)へのアクセスは、PCIネットワークアダプタ130A等のローカルPCIネットワークアダプタによって処理されてPCIネットワークアダプタ130B又は130C等のリモートPCIネットワークアダプタに転送される。領域c)へのアクセスは、リモートPCIバスにおいては、通常、該リモートPCIバスのメモリ領域内へのアクセスとして現れる。
【0017】
ノードAのデバイス111A等のコンピュータネットワーク100のノードにおけるPCIマスタデバイスは、PCIバス120A上に読み取り/書き込みアドレスと共に読み取り/書き込み命令を出力することによってRDMAトランザクションをイニシエートすることができる。この読み取り/書き込みアドレスは、個々の実装に応じてXビット(例:64ビット又は32ビット)であってよい。例として、図3に本発明の一実施例による64ビット読み取り/書き込みアドレス300を示している。この64ビット読み取り/書き込みアドレス300は、ベースアドレス(BA)フィールド310、書き込み又は読み取り確認(WA)フィールド320、ノードIDフィールド340、アドレスオフセットフィールド350等のいくつかのフィールドに分割されている。これらのフィールドへのビットの割り当ては実装に依存しており、変更可能である。本発明の一実施例においては、BAフィールド310はビット[63:58]を備えており、これらのビットはPCIネットワークアダプタ130AによってRDMA領域290のベースアドレスであるRDMA_BAと比較される(図2参照)。これが一致すれば、PCIネットワークアダプタ130AはこれがRDMAトランザクションであると認識し、PCIの仕様に従って値DEVSEL#をアサートする。WAフィールド320は確認ビットを備えており、この場合にはビット57が確認ビットである。このビットは通常のRDMAトランザクションでは0であり、書き込み又は読み取り確認チェックの場合には1(設定状態)となる。ノードIDフィールド340はビット[55:48]を備えており、PCI_IFネットワークアダプタはこれらのビットを使用して宛先ノードIDとPCIバス番号(宛先ノードに複数のPCIバスが存在する場合)を算出する。オフセットフィールド350内のビットは、リモートノードがそのリモートノードにおける特定のデバイスをRDMAトランザクションのターゲットとして識別するのに使用する。
【0018】
PCIバス120A等のローカルPCIバス上の書き込みトランザクションは、ネットワーク103を介してノードB等のリモートノードに対して、書き込みアドレス及び書き込みデータと共に書き込み要求パケットとして転送される。この書き込みパケットを受信すると、ノードBのPCIネットワークアダプタ130Bは書き込み命令を発行し、該書き込み命令はPCIバス120B上に出力される。PCIバス120A等のローカルPCIバス上の読み取りトランザクションは、ネットワーク103を介してノードB等のリモートノード(所望のデータが存在するノード)に対して、読み取り要求パケットとして転送される。この読み取り要求パケットを受信すると、ノードBのPCIネットワークアダプタ130Bは読み取り命令を発行し、要求された読み取りデータをノードAのPCIネットワークアダプタ130Aに返す。この読み取りトランザクションを処理する間、更なる読み取り要求を阻止するためにノードAにおいてリトライ信号が生成される。要求した読み取りデータをノードAが受信すると、PCIネットワークアダプタ130Aはその読み取りデータを該読み取りトランザクションのイニシエータに返し、該読み取りトランザクションを完了する。
【0019】
PCIネットワークアダプタ130AをターゲットとするPCI読み取りコマンドに確認ビットを設定すると、これは確認領域280への読み取りアクセス、即ち、確認チェックを意味している。PCI読み取り/書き込みトランザクションのイニシエータは、確認ビットが0ではなく1である点を除いて、PCI読み取り/書き込みトランザクションで使用するのと同じアドレスでPCIバス120A上にPCI読み取り命令を出力することにより、アクセス確認チェックを実行することができる。PCIネットワークアダプタ130Aは、この読み取りトランザクションが確認チェックであることを識別する。そして、リモートノードにおいて対象のPCI読み取り/書き込みトランザクションが完了すると、PCIネットワークアダプタ130Aは確認チェックを処理し、対象の読み取り/書き込みトランザクションの完了ステータスを表す値を返す。本発明の一実施例においては、RDMAトランザクションの完了ステータスは、RDMAトランザクションの間に応答パケットで送信され、イニシエートしたノードのPCIネットワークアダプタに保存される。エラーチェックの完了前にRDMA動作がエラーを伴って終了した場合は、アクセス確認チェックによってクリアされるまで、そのエラーステータスがPCIネットワークアダプタに無期限に保存される。
【0020】
PCIネットワークアダプタ130A、130B、又は130Cは、ネットワーク100内の1つのPCIバスに接続されているデバイスと別のPCIバスに接続されているデバイス間でのPCIトランザクション(例:PCI読み取り/書き込みトランザクション)を交換するための機能ユニットを備えている。又、PCIネットワークアダプタ130A、130B、又は130Cは、特定のPCI読み取りトランザクションを確認チェックトランザクションとして識別し、PCI読み取り/書き込み確認情報を提供するためにかかるトランザクションを処理するための機能ユニットをも備えている。
【0021】
図4は、PCIネットワークアダプタ130A及び130Bが備えている、デバイス111等のノードAのPCIマスタデバイスがノードBのデバイスをターゲットとしてイニシエートした読み取り/書き込みトランザクションを処理するための機能ユニットの一部を示している。この図4に示すように、PCIネットワークアダプタ130Aは、PCIバス120Aに接続されたPCIインターフェイス(PCI_IF)ターゲットユニット410、該PCI_IFユニット410に接続されたターゲット制御(TCTR)ユニット430、TCTRユニット430に接続された少なくとも1つのターゲット書き込みバッファ(TWB)440及び少なくとも1つのターゲットフェッチバッファ(TFB)445を備えている。又、PCIネットワークアダプタ130Aは、一端がMICインターフェイス(MIC_IF)ユニット460Aを介してTWB440とTFB445に接続され他端がネットワークルーター103に接続されたメッシュインターフェイスチップ(MIC)ユニット470Aをも備えている。
【0022】
更に、図4に示されているように、PCIネットワークアダプタ130BはPCIバス120Bに接続されたPCI_IFマスタユニット420、該PCI_IFマスタユニット420に接続されたマスタアクセスバッファ(MAB)ユニット450を備えている。更に、PCIネットワークアダプタ130Bは、一端がMICインターフェイス(MIC_IF)ユニット460Aを介してMBAユニット450に接続され他端がネットワークルーター103に接続されたMICユニット470Bをも備えている。
【0023】
PCI_IFターゲットユニット410は、PCIバス120AとPCIネットワークアダプタ130Aの中核機能間のインターフェイスを提供している。該ユニットは、PCIバス120A上に出力されPCIネットワークアダプタ130Aに割り当てられた全体アドレス範囲220内のアドレス領域をターゲットとするPCIトランザクションを識別及び受信する。又、PCI_IFターゲットユニット410は、PCIトランザクションのターゲットアドレスに基づいて宛先ノードIDの算出をも行う。
【0024】
TWB又はTFBが複数存在する場合は、各々のTWB又はTFBにバッファ番号を割り当てる。TWB440及びTFB450の各々は複数のメモリページを備えている。TCTRユニット430は、宛先ノードIDと読み取り/書き込みアドレスのアドレスオフセットに従ってTFB又はTWBのメモリページに読み取り又は書き込みブロックキューを形成する。該TCTRは、読み取り/書き込みトランザクションと関連するノードID及びアドレスオフセットと共に特定の読み取り/書き込みトランザクションを待ち行列に入れたメモリページのページアドレス等、読み取り/書き込みブロックキューのレコードを保存するためのタグランダムアクセスメモリ(タグRAM)を備えている。
【0025】
MICユニット470Aは、PCIネットワークアダプタ130Aとネットワークルータ103内の機能ユニット間のインターフェイスを提供することにより、PCIバス120Aに直接接続されているデバイスにネットワークルーター103へのアクセスを提供する。
【0026】
MICインターフェイスユニット460Aは、書き込みパケットを形成し、TFB/TWBユニット440/445とMICユニット470A間で読み取り/書き込みデータパケットを転送する。該読み取り又は書き込みパケットは、ヘッダとペイロードを備えている。このヘッダは、ソースノードID、宛先ノードID、命令の種類、パケット長等の情報を備えている。書き込みパケットの場合、ペイロードは書き込むデータである。読み取りパケットの場合、ペイロードはリモートノードからフェッチした読み取りデータである。
【0027】
MICユニット470Aは、ネットワークルーター103から読み取りパケットを受信すると共に、宛先ノードIDからのルーティング(経路選択)情報と順序を維持するためのシーケンス番号と共に書き込みパケットをネットワークルーター103に送信する。又、ネットワークルーター103から受信した読み取りパケットごとに、MICユニット470Aはサニティチェックとエラー訂正を実行し、読み取りパケットをMIC_IFユニット460Aに送信する。サニティチェックの例としては、パケット破損チェック、パケットシーケンスチェック、重複パケットの検出等が含まれる。
【0028】
ネットワークルーターは、PCIネットワークアダプタを読み取り/書き込みパケットの受信者として識別する各読み取り/書き込みパケット内のルーティング情報に基づいてネットワーク100内のノード間で読み取り/書き込みパケットを配送する。
【0029】
MICユニット470Bは、PCIネットワークアダプタ130Bとネットワークルーター103内の機能ユニット間のインターフェイスを提供する。該ユニットはネットワークルーター103からPCIネットワークアダプタ130Bに向けた書き込みパケットを受信すると共に、読み取りデータを読み取りパケットの受信者を示すルーティング情報と共にノードBからネットワークルーター103に送信する。又、ネットワークルーター103から受信した書き込みパケットごとに、MICユニット470Bはサニティチェックとエラー訂正を実行し、書き込みパケットをMIC_IFユニット460Bに送信する。
【0030】
MIC_IFユニット460Bは、ノードBからの読み取りデータを含む読み取りパケットを形成し、読み取り/書き込みデータパケットをMICユニットとMABユニット450間で転送する。書き込みパケットを受信すると、MIC_IFユニット460Bは、書き込みパケットのヘッダを含む書き込み要求をMABユニット450に送信し、書き込みパケットのペイロードをMABユニットのデータバッファに書き込む。
【0031】
MABユニット450は、ネットワーク100の他のノード(ノードA及びノードC)からの読み取り/書き込みトランザクションを処理する。該MABユニット450は、複数のメモリページを有するマスタアクセスデータバッファ(MAB)を備えており、受信した書き込み要求を受信した順序で処理する。書き込み動作の場合、MABは書き込みパケットのヘッダをデコード(解読)し、ソースノードID、宛先ノードID、アドレスオフセット、命令の種類等の情報を取得する。該宛先ノードID、アドレスオフセット、書き込みデータは、PCI_IFマスタユニット420に送信される。一方、読み取り動作の場合は、MAB450はMIC_IFユニット460Bから読み取り要求を受信し、書き込み動作と同様にパケット情報をデコードする。そして、読み取り要求はPCI_IFマスタユニット420に送信され、該ユニットがPCIバス120B上に読み取り要求を出力することによって読み取りデータを取得する。該読み取りデータはPCIネットワークアダプタ130Aに返送され、TFB445のバッファに保存される。
【0032】
PCI_IFマスタユニット420は、書き込みパケット内のアドレス情報をPCIバス120BのPCIメモリ領域内のPCIアドレスに変換する。又、該ユニットは、書き込みパケットの伝送において起こり得るエラーのチェックも行う。この結果、問題がなければ、PCI_IFマスタユニット420は書き込みデータを変換されたアドレスと共にPCIバス120B上に出力し、書き込みパケットの送信元であるPCIネットワークアダプタ130Aに応答パケットでアクノリッジ信号(ACK)を返信する。一方、エラーが検出された場合は、該エラーステータスが応答パケットでPCIネットワークアダプタ130Aに返送され、書き込みデータは破棄される。PCIネットワークアダプタ130Aにおいては、受信したACK又はRDMAトランザクションの完了/エラーステータスをエラーログの書式で保管し、TCTRユニット430内のエラーログ用のランダムアクセスメモリ(エラーRAM)に保存する。書き込み完了/エラーステータスはTWB_LOGとして保管され、読み取り完了/エラーステータスはTFB_LOGとして保管される。エラーRAM内の該エラーログには、元の読み取り/書き込みトランザクションを待ち行列に入れたTFB/TWBのバッファ番号によって索引が付けられる。
【0033】
PCIマスタデバイス111は、PCIバス120A上に読み取り命令を出力することによって確認チェックをイニシエートすることができる。PCI_IFターゲットユニット410は、読み取りアドレス内の確認ビットが設定されているかどうかをチェックする。該ビットが設定されている場合は、確認チェックを意味し、PCI_IFターゲットユニット410はTCTRユニット430に対し、タグRAMから対象の読み取り/書き込みトランザクションを待ち行列に入れたTFB/TWB内のメモリページのページアドレスを検索するように通知する。該ページアドレスからバッファ番号を導き出すことが可能であり、これを使用してエラーRAMに保存されている確認情報を取得することができる。ページアドレスがTWB440内のページに属している場合は、TWB内に出力されているすべての書き込みデータは、アクセス確認チェックに関連する読み取りがローカルPCIバス120A上で完了する前に、リモートPCIバスに出力される。
【0034】
本発明の一実施例においては、確認チェックトランザクションごとに、PCIネットワークアダプタ130Aが該確認チェックトランザクションに対応するRDMAトランザクションの完了ステータスを示す値を返す。この返される値は、RDMA動作におけるエラー発生の有無及び/又はエラーステータスを示す32ビットの数値である。アクセス確認チェックステータスワードの書式は次のとおりであり、
【外1】
ここで、ビット[31:16]は予約領域であり、ビット[15:8]は読み取りトランザクションに対応するエラーコードであり、ビット[7:0]は書き込みトランザクションに対応するエラーコードである。この数値は、TCTRユニット430のエラーRAMから読み取ることができる。
【0035】
【発明の効果】
上述の本発明による実施例によれば、コンピュータネットワーク内のプロセッサは該コンピュータネットワーク内の別のデバイスのメモリアドレスにリモートアクセスし、該リモートアクセスに関するアクセス確認情報を取得することができる。該アクセス確認情報はイニシエートしたデバイスのローカルノードに保存され、ローカルのPCIメモリ領域内の特定のアドレス範囲からPCI読み取りによって取得することができる。この結果、アクセスが適切に実行されたかどうかを確認するためにネットワークを介して再度リモートメモリアドレスにアクセスする必要がないため、本発明の実施例によれば、ネットワークの帯域幅を効率的に使用することができる。
【0036】
付記
本発明による好適な実施例は、次のとおりである。
【0037】
1.バスに接続されたコンピュータデバイスを有するコンピュータネットワークにおいて、該コンピュータデバイスが該コンピュータネットワークを介して送信されたダイレクトメモリアクセストランザクションに対応するアクセス確認情報を取得する方法であって、前記バスに関連するメモリ領域内に前記ダイレクトメモリアクセストランザクション用のアクセス領域を提供する段階と;前記バスに関連するメモリ領域内に前記アクセス領域に対応する確認領域を提供する段階と;前記確認領域から読み取って前記ダイレクトメモリアクセストランザクションに対応するアクセス確認情報を取得する段階と;を有することを特徴とする方法。
【0038】
2.第1デバイスに接続された第1バスとネットワーク間を接続する装置であって、ダイレクトメモリアクセストランザクションを処理する設定ユニットと;前記ネットワークから前記ダイレクトメモリアクセストランザクションに対応するアクセス確認情報を受信する受信ユニットと;を有することを特徴とする装置。
【0039】
3.第2デバイスに接続された第2バスとネットワーク間を接続する装置であって、ダイレクトメモリアクセストランザクションを処理して該ダイレクトメモリアクセストランザクションに対応するアクセス確認情報を判定する設定ユニットと;前記ネットワークを介して前記アクセス確認情報を送信する送信ユニットと;を有することを特徴とする装置。
【0040】
4.第1デバイスに接続された第1バスとネットワーク間を接続する装置であって、ダイレクトメモリアクセストランザクションに関連するアドレスが既定のアドレス範囲内にあるという判定に基づいて前記第1デバイスから受信したダイレクトメモリアクセストランザクションを識別するインターフェイスユニットと;前記ダイレクトメモリアクセストランザクションに関連するデータを待ち行列に入れるバッファユニットと;前記インターフェイスユニットと接続され、前記バッファユニットに前記ダイレクトメモリアクセストランザクションに関連するデータのブロックキューを形成する制御ユニットと;を有することを特徴とする装置。
【0041】
5.前記ダイレクトメモリアクセストランザクションは、前記アクセス領域内のターゲットアドレスにアクセスすることによって実行される付記1記載の方法。
【0042】
6.前記ターゲットアドレスはノードIDフィールド、確認フィールド、アドレスオフセットを備え、前記確認領域からの読み取り段階には、ノードIDフィールド及びアドレスオフセットが前記ターゲットアドレスと同一であり確認フィールドが前記ターゲットアドレスと異なる読み取りアドレスと共に読み取り命令を前記バス上に出力する段階;を含む付記5記載の方法。
【0043】
7.第1デバイスがネットワークを介して第2デバイスをターゲットとするダイレクトメモリアクセストランザクションに対応するアクセス確認情報を取得できるようにするシステムであって、前記第1デバイスに接続された第1PCIバスと;前記第1PCIバスと前記コンピュータネットワーク間に接続され、前記ダイレクトメモリアクセストランザクションを処理し、前記コンピュータネットワークから前記ダイレクトメモリアクセストランザクションに対応するアクセス確認情報を受信するように設定された第1PCIネットワークアダプタと;を有することを特徴とするシステム。
【0044】
8.前記第1PCIネットワークアダプタには前記第1PCIバスの前記PCIメモリ領域内に第1アドレス範囲が割り当てられ、前記第2デバイスには前記第1アドレス範囲内に第2アドレス範囲が割り当てられ、前記ダイレクトメモリアクセストランザクションは前記第2アドレス範囲内のターゲットアドレスを備える付記7記載のシステム。
【0045】
9.前記第1PCIネットワークアダプタは、前記第1PCIバスに接続され、前記ターゲットアドレスが前記第2アドレス範囲内にあるという判定に基づいて前記ダイレクトメモリアクセストランザクションを識別及び受信するように設定されたPCIインターフェイスターゲットユニットと;少なくとも1つのバッファと;前記PCIインターフェイスターゲットユニットと前記少なくとも1つのバッファの間に接続され、前記少なくとも1つのバッファに前記ダイレクトメモリアクセストランザクションに関連するデータの少なくとも1つのブロックキューを形成するように設定されたPCIターゲット制御ユニットと;を更に有する付記8記載のシステム。
【0046】
10.前記PCIターゲット制御ユニットは、前記少なくとも1つのバッファ内の前記ダイレクトメモリアクセストランザクションに関連する待ち行列に入れられたデータのメモリ位置を保存するように設定された第1メモリユニットと、前記ダイレクトメモリアクセストランザクションに対応するアクセス確認情報を保存するように設定された第2メモリユニットを有する付記9記載のシステム。
【0047】
11.前記第2メモリユニット内のアクセス確認情報には、前記ダイレクトメモリアクセストランザクションに関連する待ち行列に入れられたデータのメモリ位置によって索引が付けられる付記10記載のシステム。
【0048】
12.前記ターゲットデバイスに接続された第2PCIバスと;前記第2PCIバスと前記コンピュータネットワーク間に接続され、前記ダイレクトメモリアクセストランザクションを処理し、前記ダイレクトメモリアクセストランザクションに対応する前記アクセス確認情報を判定し、前記コンピュータネットワークを介して前記アクセス確認情報を前記第1PCIネットワークアダプタに送信するように設定された第2PCIネットワークアダプタと;を更に有する付記7記載のシステム。
【0049】
13.前記第2PCIネットワークアダプタは、前記ダイレクトメモリアクセストランザクションと関係するアドレス情報を判定するように設定されたマスタアクセスバッファと;前記マスタアクセスバッファと前記第2PCIバス間に接続され、前記アドレス情報をPCIアドレスに変換し、該PCIアドレスと共に前記ダイレクトメモリアクセストランザクションを前記PCIバス上に出力するように設定されたPCIインターフェイスマスタユニットと;を有する付記12記載のシステム。
【0050】
14.前記PCIインターフェイスマスタユニットは、前記ダイレクトメモリアクセストランザクションの前記アクセス確認情報を判定し、前記アクセス確認情報を含む応答パケットを形成し、該応答パケットを前記コンピュータネットワークを介して前記アドレス情報に従って前記第1PCIネットワークアダプタに送信する付記13記載のシステム。
【0051】
15.第1デバイスがネットワークを介して第2デバイスをターゲットとするダイレクトメモリアクセストランザクションに対応するアクセス確認情報を取得できるようにするシステムであって、前記第1デバイスに接続された第1バスと;前記バスに接続され、前記第1デバイスを前記コンピュータネットワークに接続するネットワークアダプタであって、前記ダイレクトメモリアクセストランザクションに関連するアドレスが既定のアドレス範囲内にあるという判定に基づいて前記ダイレクトメモリアクセストランザクションを識別及び受信するインターフェイス手段と、前記ダイレクトメモリアクセストランザクションに関連するデータを待ち行列に入れる少なくとも1つのバッファと、前記インターフェイス手段に接続され、前記少なくとも1つのバッファに前記ダイレクトメモリアクセストランザクションに関連するデータのブロックキューを形成する制御手段と、を更に備えるネットワークアダプタと;前記制御手段と接続され、前記コンピュータネットワークから受信したアクセス確認情報を保存するメモリと;を有することを特徴とするシステム。
【0052】
16.第1デバイスがネットワークを介して第2デバイスをターゲットとするダイレクトメモリアクセストランザクションに対応するアクセス確認情報を取得できるようにするシステムであって、前記第1デバイスに接続された第1PCIバスと;前記第1PCIバスと前記コンピュータネットワーク間に接続され、前記ダイレクトメモリアクセストランザクションを処理し、前記コンピュータネットワークから前記ダイレクトメモリアクセストランザクションに対応するアクセス確認情報を受信するように設定された第1PCIネットワークアダプタと;ターゲットデバイスに接続されたた第2PCIバスと;前記第2PCIバスと前記コンピュータネットワーク間に接続され、前記ダイレクトメモリアクセストランザクションを処理し、前記ダイレクトメモリアクセストランザクションに対応する前記アクセス確認情報を判定し、前記コンピュータネットワークを介して前記アクセス確認情報を前記第1PCIネットワークアダプタに送信するように設定された第2PCIネットワークアダプタと;を有することを特徴とするシステム。
【図面の簡単な説明】
【図1】本発明の一実施例によるコンピュータネットワークの概要を示すブロックダイアグラムである。
【図2】本発明の一実施例によるPCIメモリ領域のブロックダイアグラムである。
【図3】本発明の一実施例による送信ノードにおけるPCI読み取り/書き込みトランザクションに関連する64ビットPCI読み取り/書き込みアドレスのブロックダイアグラムである。
【図4】本発明の一実施例による受信ノードにおけるPCI読み取り/書き込みトランザクションに関連する64ビットPCI読み取り/書き込みアドレスのブロックダイアグラムである。
【符号の説明】
103…ネットワークルーター
120A〜C…PCIバス
130A〜C…PCIネットワークアダプタ
111A〜C、112A〜B、113A、113C…デバイス
Claims (6)
- 第1デバイスが、該第1デバイスが接続される第1バスとコンピュータネットワークとに接続される第1ネットワークアダプタと、前記コンピュータネットワークに接続される第2ネットワークアダプタと、を介して行う第2デバイスをターゲットとするリモートダイレクトメモリアクセストランザクションに対応するアクセス確認情報を取得する方法であって、
前記第1ネットワークアダプタ内の前記第1バスに関連するメモリ領域内に、前記第2デバイスに割り当てられた第1メモリ領域と前記第2デバイスに対する前記リモートダイレクトメモリアクセストランザクションに対応するアクセス確認情報を取得するための第2メモリ領域とを割り当てるステップと、
前記第1メモリ領域に対して前記リモートダイレクトメモリアクセストランザクション要求が行われると、前記第1ネットワークアダプタによって、前記第2デバイスが接続される前記コンピュータネットワーク上に前記リモートダイレクトメモリアクセストランザクションを発行するステップと、
前記第2ネットワークアダプタによって、前記発行されたリモートダイレクトメモリアクセストランザクションを処理するステップと、
前記第2ネットワークアダプタによって、前記リモートダイレクトメモリアクセストランザクションに対応する前記アクセス確認情報を判定するステップと、
前記第2ネットワークアダプタによって、前記コンピュータネットワークを介して前記アクセス確認情報を前記第1ネットワークアダプタの前記第2メモリ領域に送信するステップと、
前記第1ネットワークアダプタによって、前記コンピュータネットワークから前記リモートダイレクトメモリアクセストランザクションに対応するアクセス確認情報を前記第2メモリ領域に受信するステップと、
を備えたことを特徴とするアクセス確認情報を取得する方法。 - 第1デバイスがコンピュータネットワークを介して行う第2デバイスをターゲットとするリモートダイレクトメモリアクセストランザクションに対応するアクセス確認情報を取得できるようにするシステムであって、
前記第1デバイスが接続される第1バスと、
前記第1バスと前記コンピュータネットワーク間に接続され、前記第1バスに関連するメモリ領域内に、前記第2デバイスに割り当てられた第1メモリ領域と、前記第2デバイスに対する前記リモートダイレクトメモリアクセストランザクションに対応するアクセス確認情報を取得するための第2メモリ領域とを有し、前記第1メモリ領域に対して前記リモートダイレクトメモリアクセストランザクション要求が行われると前記第2デバイスが接続される前記コンピュータネットワーク上に前記リモートダイレクトメモリアクセストランザクションを発行し、前記コンピュータネットワークから前記リモートダイレクトメモリアクセストランザクションに対応するアクセス確認情報を前記第2メモリ領域に受信するように設定された第1ネットワークアダプタと、
前記ターゲットとなる第2デバイスに接続された第2バスと、
前記第2バスと前記コンピュータネットワーク間に接続され、前記発行されたリモートダイレクトメモリアクセストランザクションを処理し、前記リモートダイレクトメモリアクセストランザクションに対応する前記アクセス確認情報を判定し、前記コンピュータネットワークを介して前記アクセス確認情報を前記第1ネットワークアダプタの前記第2メモリ領域に送信するように設定された第2ネットワークアダプタと、
を備えたことを特徴とするシステム。 - 前記リモートダイレクトメモリアクセストランザクションは前記第1メモリ領域のアドレス範囲内のターゲットアドレスを備えることを特徴とする請求項2記載のシステム。
- 前記第1ネットワークアダプタは、
前記リモートダイレクトメモリアクセストランザクションのアドレスが、前記第1メモリ領域のアドレス範囲内にあるという判定に基づいて前記第1デバイスから受信したダイレクトメモリアクセストランザクションを識別するインターフェースユニットと、
前記リモートダイレクトメモリアクセストランザクションに関連するデータを待ち行列に入れるバッファユニットと、
前記インターフェースユニットと接続され、前記バッファユニットに前記リモートダイレクトメモリアクセストランザクションに関連するデータのブロックスキューを形成する制御ユニットと、
をさらに備えたことを特徴とする請求項3記載のシステム。 - 前記第1バスと前記第2バスはPCIバスであることを特徴とする請求項2から4のいずれか1項記載のシステム。
- 第1デバイスがコンピュータネットワークを介して第2デバイスをターゲットとするリモートダイレクトメモリアクセストランザクションに対応するアクセス確認情報を取得できるようにするシステムのネットワークアダプタであって、
前記第1デバイスが接続されるバスと前記コンピュータネットワークの間に接続され、前記バスに関連するメモリ領域内に前記第2デバイスに割り当てられた第1メモリ領域と前記第2デバイスに対する前記リモートダイレクトメモリアクセストランザクションに対応するアクセス確認情報を取得するための第2メモリ領域とを有し、
前記第1メモリ領域に対して前記リモートダイレクトメモリアクセストランザクション要求が行われると、前記第2デバイスが接続される前記コンピュータネットワーク上に前記リモートダイレクトメモリアクセストランザクションを発行し、
前記コンピュータネットワークから前記リモートダイレクトメモリアクセストランザクションに対応するアクセス確認情報を前記第2メモリ領域に受信するように設定されたことを特徴とするネットワークアダプタ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/839954 | 2001-04-19 | ||
US09/839,954 US6804673B2 (en) | 2001-04-19 | 2001-04-19 | Access assurance for remote memory access over network |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002351817A JP2002351817A (ja) | 2002-12-06 |
JP4163440B2 true JP4163440B2 (ja) | 2008-10-08 |
Family
ID=25281065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002117193A Expired - Fee Related JP4163440B2 (ja) | 2001-04-19 | 2002-04-19 | メモリにアクセスする方法及び装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6804673B2 (ja) |
JP (1) | JP4163440B2 (ja) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030046474A1 (en) * | 2001-06-21 | 2003-03-06 | International Business Machines Corporation | Mixed semantic storage I/O |
US7028132B2 (en) * | 2001-09-29 | 2006-04-11 | Hewlett-Packard Development Company, L.P. | Distributed peer-to-peer communication for interconnect busses of a computer system |
WO2003075166A1 (fr) * | 2002-03-06 | 2003-09-12 | Fujitsu Limited | Systeme de stockage et procede de transfert de donnees dans ledit systeme |
US7058780B2 (en) * | 2002-05-29 | 2006-06-06 | Intel Corporation | Device resource allocation |
US7631107B2 (en) * | 2002-06-11 | 2009-12-08 | Pandya Ashish A | Runtime adaptable protocol processor |
US7415723B2 (en) * | 2002-06-11 | 2008-08-19 | Pandya Ashish A | Distributed network security system and a hardware processor therefor |
US7627693B2 (en) * | 2002-06-11 | 2009-12-01 | Pandya Ashish A | IP storage processor and engine therefor using RDMA |
US7120858B2 (en) * | 2002-08-21 | 2006-10-10 | Sun Microsystems, Inc. | Method and device for off-loading message digest calculations |
US7376732B2 (en) * | 2002-11-08 | 2008-05-20 | Federal Network Systems, Llc | Systems and methods for preventing intrusion at a web host |
JP2004192179A (ja) * | 2002-12-10 | 2004-07-08 | Fujitsu Ltd | Rdma機能を持ったnicをハードウェアメモリ保護を行わないで、専用のモニタプロセスなしにシステムに組み込むための装置 |
US20040148360A1 (en) * | 2003-01-24 | 2004-07-29 | Hewlett-Packard Development Company | Communication-link-attached persistent memory device |
US20050108518A1 (en) * | 2003-06-10 | 2005-05-19 | Pandya Ashish A. | Runtime adaptable security processor |
US7685254B2 (en) | 2003-06-10 | 2010-03-23 | Pandya Ashish A | Runtime adaptable search processor |
US8730923B2 (en) * | 2003-06-11 | 2014-05-20 | Alcatel Lucent | Method for controlling resource allocation in a wireless communication system |
US7716290B2 (en) * | 2003-11-20 | 2010-05-11 | Microsoft Corporation | Send by reference in a customizable, tag-based protocol |
JP4408692B2 (ja) | 2003-12-19 | 2010-02-03 | 富士通株式会社 | 通信装置管理プログラム |
US7366872B2 (en) * | 2003-12-30 | 2008-04-29 | Intel Corporation | Method for addressing configuration registers by scanning for a structure in configuration space and adding a known offset |
US7293195B1 (en) * | 2004-01-29 | 2007-11-06 | Network Appliance, Inc. | System and method for coordinated bringup of a storage appliance in a cluster configuration |
US7478138B2 (en) * | 2004-08-30 | 2009-01-13 | International Business Machines Corporation | Method for third party, broadcast, multicast and conditional RDMA operations |
US7813369B2 (en) * | 2004-08-30 | 2010-10-12 | International Business Machines Corporation | Half RDMA and half FIFO operations |
US8364849B2 (en) | 2004-08-30 | 2013-01-29 | International Business Machines Corporation | Snapshot interface operations |
JP4564939B2 (ja) * | 2006-05-26 | 2010-10-20 | Necシステムテクノロジー株式会社 | データ処理装置、データ転送方法、データ転送プログラム |
JP4501916B2 (ja) | 2006-09-20 | 2010-07-14 | 日本電気株式会社 | I/o機器の共有システムと情報処理装置共有システム及びそれらに用いる方法 |
US7996348B2 (en) | 2006-12-08 | 2011-08-09 | Pandya Ashish A | 100GBPS security and search architecture using programmable intelligent search memory (PRISM) that comprises one or more bit interval counters |
US9141557B2 (en) | 2006-12-08 | 2015-09-22 | Ashish A. Pandya | Dynamic random access memory (DRAM) that comprises a programmable intelligent search memory (PRISM) and a cryptography processing engine |
ATE472476T1 (de) * | 2007-05-11 | 2010-07-15 | Sca Hygiene Prod Ab | Verpackungs- und versorgungsvorrichtung zum gruppieren von produktobjekten |
US7996482B1 (en) * | 2007-07-31 | 2011-08-09 | Qurio Holdings, Inc. | RDMA based real-time video client playback architecture |
US8244826B2 (en) * | 2007-10-23 | 2012-08-14 | International Business Machines Corporation | Providing a memory region or memory window access notification on a system area network |
US8762476B1 (en) | 2007-12-20 | 2014-06-24 | Qurio Holdings, Inc. | RDMA to streaming protocol driver |
US8060904B1 (en) | 2008-02-25 | 2011-11-15 | Qurio Holdings, Inc. | Dynamic load based ad insertion |
JP5280135B2 (ja) * | 2008-09-01 | 2013-09-04 | 株式会社日立製作所 | データ転送装置 |
US8122155B1 (en) * | 2009-06-23 | 2012-02-21 | Chelsio Communications, Inc. | RDMA write completion semantics |
US8700873B2 (en) | 2010-10-14 | 2014-04-15 | International Business Machines Corporation | Direct memory access memory management |
US10474625B2 (en) | 2012-01-17 | 2019-11-12 | International Business Machines Corporation | Configuring compute nodes in a parallel computer using remote direct memory access (‘RDMA’) |
US10157108B2 (en) * | 2014-05-27 | 2018-12-18 | International Business Machines Corporation | Multi-way, zero-copy, passive transaction log collection in distributed transaction systems |
US10372638B2 (en) * | 2017-10-20 | 2019-08-06 | Hewlett Packard Enterprise Development Lp | Interconnect agent |
JP6631742B1 (ja) * | 2019-04-23 | 2020-01-15 | 富士通クライアントコンピューティング株式会社 | 情報処理システム |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717952A (en) * | 1994-11-16 | 1998-02-10 | Apple Computer, Inc. | DMA controller with mechanism for conditional action under control of status register, prespecified parameters, and condition field of channel command |
US5878217A (en) * | 1994-11-21 | 1999-03-02 | Cirrus Logic, Inc. | Network controller for switching into DMA mode based on anticipated memory overflow and out of DMA mode when the host processor is available |
US5922046A (en) * | 1996-09-12 | 1999-07-13 | Cabletron Systems, Inc. | Method and apparatus for avoiding control reads in a network node |
US6170025B1 (en) | 1997-08-29 | 2001-01-02 | Intel Corporation | Distributed computer system supporting remote interrupts and lock mechanism |
US5941969A (en) * | 1997-10-22 | 1999-08-24 | Auspex Systems, Inc. | Bridge for direct data storage device access |
US6360220B1 (en) * | 1998-08-04 | 2002-03-19 | Microsoft Corporation | Lock-free methods and systems for accessing and storing information in an indexed computer data structure having modifiable entries |
US6145016A (en) * | 1998-09-03 | 2000-11-07 | Advanced Micro Devices, Inc. | System for transferring frame data by transferring the descriptor index data to identify a specified amount of data to be transferred stored in the host computer |
US6216193B1 (en) * | 1998-09-03 | 2001-04-10 | Advanced Micro Devices, Inc. | Apparatus and method in a network interface for recovering from complex PCI bus termination conditions |
US6233636B1 (en) | 1998-12-03 | 2001-05-15 | International Business Machines Corporation | Method and system for allowing PCI bus transactions to be performed at higher operating frequencies |
US6205508B1 (en) | 1999-02-16 | 2001-03-20 | Advanced Micro Devices, Inc. | Method for distributing interrupts in a multi-processor system |
US6487619B1 (en) * | 1999-10-14 | 2002-11-26 | Nec Corporation | Multiprocessor system that communicates through an internal bus using a network protocol |
US6883099B2 (en) * | 2001-01-04 | 2005-04-19 | Troika Networks, Inc. | Secure virtual interface |
US6665759B2 (en) * | 2001-03-01 | 2003-12-16 | International Business Machines Corporation | Method and apparatus to implement logical partitioning of PCI I/O slots |
US7013353B2 (en) * | 2001-03-30 | 2006-03-14 | Intel Corporation | Host-fabric adapter having an efficient multi-tasking pipelined instruction execution micro-controller subsystem |
-
2001
- 2001-04-19 US US09/839,954 patent/US6804673B2/en not_active Expired - Lifetime
-
2002
- 2002-04-19 JP JP2002117193A patent/JP4163440B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002351817A (ja) | 2002-12-06 |
US20030009432A1 (en) | 2003-01-09 |
US6804673B2 (en) | 2004-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4163440B2 (ja) | メモリにアクセスする方法及び装置 | |
US6813653B2 (en) | Method and apparatus for implementing PCI DMA speculative prefetching in a message passing queue oriented bus system | |
US6622193B1 (en) | Method and apparatus for synchronizing interrupts in a message passing queue oriented bus system | |
US6049889A (en) | High performance recoverable communication method and apparatus for write-only networks | |
CA2186598C (en) | Method and apparatus for maintaining transaction ordering and supporting deferred replies in a bus bridge | |
US6557048B1 (en) | Computer system implementing a system and method for ordering input/output (IO) memory operations within a coherent portion thereof | |
US7194517B2 (en) | System and method for low overhead message passing between domains in a partitioned server | |
US6286074B1 (en) | Method and system for reading prefetched data across a bridge system | |
US20020013868A1 (en) | Load/store micropacket handling system | |
US5857080A (en) | Apparatus and method for address translation in bus bridge devices | |
WO2001018988A1 (en) | Bridge between parallel buses over a packet-switched network | |
US6553439B1 (en) | Remote configuration access for integrated circuit devices | |
KR20050039859A (ko) | 저장 및 포워드 스위치 장치, 시스템 및 방법 | |
WO2002041157A2 (en) | Method and apparatus for converting address information between pci bus protocol and a message passing queue-oriented bus protocol | |
JP2004178570A (ja) | マルチコア通信モジュールを組み入れたデータ通信システム及び方法 | |
JP2002149592A (ja) | ネットワーク上でのpciブリッジ | |
US6684281B1 (en) | Fast delivery of interrupt message over network | |
US7469312B2 (en) | Computer system bus bridge | |
JP3664664B2 (ja) | バスシステム及びそのバス仲裁方法 | |
JP2008086027A (ja) | 遠隔要求を処理する方法および装置 | |
US8090892B2 (en) | Ordered queue and methods therefor | |
US6529999B1 (en) | Computer system implementing system and method for ordering write operations and maintaining memory coherency | |
US6898646B1 (en) | Highly concurrent DMA controller with programmable DMA channels | |
US6553430B1 (en) | Computer system implementing flush operation | |
EP1288785A2 (en) | Method and interface for improved efficiency in performing bus-to-bus read data transfers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050310 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070719 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071016 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071214 |
|
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: 20080624 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080724 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110801 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120801 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120801 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130801 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |