JP4658122B2 - Dmaコントローラ、ノード、データ転送制御方法、及びプログラム - Google Patents
Dmaコントローラ、ノード、データ転送制御方法、及びプログラム Download PDFInfo
- Publication number
- JP4658122B2 JP4658122B2 JP2007514345A JP2007514345A JP4658122B2 JP 4658122 B2 JP4658122 B2 JP 4658122B2 JP 2007514345 A JP2007514345 A JP 2007514345A JP 2007514345 A JP2007514345 A JP 2007514345A JP 4658122 B2 JP4658122 B2 JP 4658122B2
- Authority
- JP
- Japan
- Prior art keywords
- message
- node
- destination node
- firmware
- completion
- 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
- 238000012546 transfer Methods 0.000 title claims description 76
- 238000000034 method Methods 0.000 title claims description 30
- 230000004044 response Effects 0.000 claims description 78
- 230000005540 biological transmission Effects 0.000 claims description 39
- 230000010365 information processing Effects 0.000 claims description 12
- 230000015654 memory Effects 0.000 description 46
- 230000008569 process Effects 0.000 description 23
- 238000012545 processing Methods 0.000 description 23
- 238000003860 storage Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 101100129499 Arabidopsis thaliana MAX2 gene Proteins 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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
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)
- Information Transfer Systems (AREA)
Description
図示の情報処理システムは、RAIDを構成する複数のストレージ・モジュール50が、PCI_Expressのシリアルバス70とPCI_Expressスイッチ80を介して、相互に接続されている。PCI_Expressスイッチ80は、各シリアルバスを接続する各ポート(不図示)を有し、任意のポート間のパケットルーティングを行う。
まず、図9のデータ転送シーケンスに示すように、任意のDATAの転送処理は、実際にDATAを転送する処理の前後に、ローカルノード−リモードノード間で各種メッセージ送受信を行う。ローカルノードのファームウェア101は、1つのメッセージをDMAコントローラ102によって送信させる毎に、このメッセージとディスクリプタとをローカルメモリに格納してからDMAコントローラ102を起動することで、当該メッセージの送信をDMAコントローラ102に依頼する。これより、DMAコントローラ102は、ディスクリプタを読出し・解析することで(ディスクリプタの格納位置は決まっている)、上記メッセージをリモートノードに転送する。これは、リモートノード側においても同様である。また、メッセージ送信の場合だけでなく、DATA送信の場合も同様である。
本発明の課題は、ファームウェアから見たレイテンシを改善するものであって、特にデータ転送前後に行われるメッセージ交換の際、送信したメッセージの種類によっては、応答を待つことなく擬似的に応答をファームウェアに通知することで、応答待ち時間を減少させて別処理を実行させることが可能となるDMAコントローラ、そのプログラム等を提供することである。
尚、本実施の形態の説明では、DMAコントローラ間の接続にPCI_Expressアーキテクチャを用いる場合を例にして説明するが、本発明は、従来の任意のシリアルインタフェースやパラレルインタフェースを用いる構成であっても適用可能である。
本例の情報処理システム全体の構成は、図8で説明した従来の構成と略同様である。図1には、図8の様な情報処理システムにおける各ノードの構成例を示すものである。
メモリ12は、CPU11配下のローカルメモリであり、CPU11は、メモリハブ13を介してメモリ12へのデータ・リード/ライトを行う。DMAコントローラ14も、メモリハブ13を介してメモリ12へのデータ・リード/ライトを行う。以下の説明では、メモリハブ13に関しては特に言及しないが、メモリ12に対するデータ・リード/ライトは、常にメモリハブ13に介して行っている。
以上述べた動作自体は、従来と略同様であるが、本例では、送信依頼する(メモリ12に格納する)データがメッセージである場合には、そのディスクリプタに“データ転送先からのレスポンスを待つ必要があるもの”であるか否かを示す情報(フラグ等)が含まれており、DMAコントローラ14の転送制御部14aが、このフラグを参照して、後述する転送制御処理を実行する点が、従来とは異なる。すなわち、転送するメッセージの種類によっては、DMAコントローラ14は、データ転送先からのレスポンスを待たずに、擬似的にファームウェアに対して完了通知する点が、従来とは異なる。
図2に、複数のノードがPCI_Expressのようなシリアルインタフェースを用いて相互に接続された、RAID等の情報処理システム全体の構成例を示す。この全体構成自体は、図8で説明した従来の構成と略同様であり、ここでは、各ノードについてはファームウェア(CPU11)とDMAコントローラ14のみを示している。
図4(a)には、ある実データ(DATA)のデータ送信に伴う各種メッセージのデータ転送シーケンスの具体例を示す。
図4(a)に示したメッセージの種類は、cmd、adr、done、及びcmpの4種類である。これら各種メッセージ・タイプの機能は、既に従来で説明してあり、図4(b)に示す通りである。すなわち、cmpは、ローカルノードからリモートノードに対するリソース(メモリ)確保要求である。adrは、リモートノードから返信されてくる、確保したメモリアドレスの通知である。doneは、ローカルノードからリモートノードに対するデータ転送終結通知である。cmpは、リモードノードから返信されてくる、データ受信完了通知である。
図6に示す処理は、ハードウェアによって実現してもよいし、ソフトウェアによって実現してもよい。ハードウェアで実現する場合には、従来のハードウェア構成に、上記フラグを参照して、フラグがOFFであって場合には従来通りの動作を行い、フラグがONであった場合にはメッセージ送信後直ちにファームウェアに対する割込みを発生させる回路構成が加わるだけである。
図7において、ローカル側ノード20のファームウェア21(CPU)がDMAコントローラ22を起動すると、DMAコントローラ22は、ディスクリプタを参照して、メッセージ“cmd”をリモート側ノード30に送信すると共に、このメッセージ“cmd”に対応する上記フラグがONであることから、リモート側ノード30からの完了応答を待つことなく、ファームウェア21に対する割込み(完了通知)を実行する。これによって、ファームウェア21は、例えば別の他ノードに対する処理等を実行することができる。その後、DMAコントローラ22は、リモート側ノード30からの完了応答を受信したら、これを破棄する。
上記メッセージ“adr”を受信したDMAコントローラ22は、ファームウェア21に対する割込み(メッセージ“adr”受信の通知)を実行し、その後DATA転送が行われることになる。しかし、もし、何等かの理由で、上記メッセージ“cmd”送信依頼してから所定時間経過しても、メッセージ“adr”を受信しなかった場合には、ファームウェア21はタイムアウト検出することになる。この様に、データ転送シーケンスとして、あるメッセージの送信に対して、送信先から応答メッセージが返信されることが決まっている場合には、応答メッセージが送られてこないことを以って、当該送信したメッセージが相手先に届いていない、と間接的に判断できる。
Claims (5)
- DMAコントローラを有する複数のノードがバスにより接続された情報処理システムにおける該各DMAコントローラにおいて、
自ノードのファームウェアからメッセージ送信依頼を受けると、該ファームウェアから渡される、該メッセージが送信先ノードから送信される完了応答の受信が必要なものであるか否かを示す情報であって、該メッセージ送信後に該送信先ノードから該メッセージに対する応答メッセージが送られてくることが決められているメッセージは該送信先ノードから送信される完了応答の受信を待つ必要無いメッセージであることを示す該情報から、該メッセージが送信先ノードから送信される完了応答の受信が必要なものであるか否かを判定し、該完了応答の受信が必要無いものであると判定した場合には、該メッセージを前記バスを介して送信先ノードのDMAコントローラに送信すると共に、該送信先ノードから送信される完了応答を受信することを待たずに、前記自ノードのファームウェアに対して完了通知するデータ転送制御手段を有することを特徴とするDMAコントローラ。 - 前記ファームウェアは、前記メッセージ送信依頼において、前記メッセージと共に、該メッセージのディスクリプタとして、該メッセージが送信先ノードから送信される完了応答の受信が必要なものであるか否かを示すフラグ情報を含むディスクリプタを前記データ転送制御手段に渡し、
前記データ転送制御手段は、該フラグ情報を参照することで、前記送信先ノードから送信される完了応答の受信が必要なものであるか否かを判定することを特徴とする請求項1記載のDMAコントローラ。 - 複数のノードがバスにより接続された情報処理システムにおける該各ノードにおいて、
自ノードのファームウェアからメッセージ送信依頼を受けると、該ファームウェアから渡される、該メッセージが送信先ノードから送信される完了応答の受信が必要なものであるか否かを示す情報であって、該メッセージ送信後に該送信先ノードから該メッセージに対する応答メッセージが送られてくることが決められているメッセージは該送信先ノードから送信される完了応答の受信を待つ必要無いメッセージであることを示す該情報から、該メッセージが送信先ノードから送信される完了応答の受信が必要なものであるか否かを判定し、該完了応答の受信が必要無いものであると判定した場合には、該メッセージを前記バスを介して送信先ノードのDMAコントローラに送信すると共に、該送信先ノードから送信される完了応答を受信することを待たずに、前記自ノードのファームウェアに対して完了通知するDMAコントローラを有することを特徴とするノード。 - DMAコントローラを有する複数のノードがバスにより接続された情報処理システムにおける該各DMAコントローラによるデータ転送制御方法であって、
自ノードのファームウェアからメッセージ送信依頼を受けると、該ファームウェアから渡される、該メッセージが送信先ノードから送信される完了応答の受信が必要なものであるか否かを示す情報であって、該メッセージ送信後に該送信先ノードから該メッセージに対する応答メッセージが送られてくることが決められているメッセージは該送信先ノードから送信される完了応答の受信を待つ必要無いメッセージであることを示す該情報から、該メッセージが送信先ノードから送信される完了応答の受信が必要なものであるか否かを判定し、該完了応答の受信が必要無いものであると判定した場合には、該メッセージを前記バスを介して送信先ノードのDMAコントローラに送信すると共に、該送信先ノードから送信される完了応答を受信することを待たずに、前記自ノードのファームウェアに対して完了通知することを特徴とするデータ転送制御方法。 - DMAコントローラを有する複数のノードがバスにより接続された情報処理システムにおける該各DMAコントローラのコンピュータに、
自ノードのファームウェアからメッセージ送信依頼を受けると、該ファームウェアから渡される、該メッセージが送信先ノードから送信される完了応答の受信が必要なものであるか否かを示す情報であって、該メッセージ送信後に該送信先ノードから該メッセージに対する応答メッセージが送られてくることが決められているメッセージは該送信先ノードから送信される完了応答の受信を待つ必要無いメッセージであることを示す該情報から、該メッセージが送信先ノードから送信される完了応答の受信が必要なものであるか否かを判定し、該完了応答の受信が必要無いものであると判定した場合には、該メッセージを前記バスを介して送信先ノードのDMAコントローラに送信すると共に、該送信先ノードから送信される完了応答を受信することを待たずに、前記自ノードのファームウェアに対して完了通知する機能を実現させる為のプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2005/006504 WO2006114822A1 (ja) | 2005-04-01 | 2005-04-01 | Dmaコントローラ、ノード、データ転送制御方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2006114822A1 JPWO2006114822A1 (ja) | 2008-12-11 |
JP4658122B2 true JP4658122B2 (ja) | 2011-03-23 |
Family
ID=37214462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007514345A Expired - Fee Related JP4658122B2 (ja) | 2005-04-01 | 2005-04-01 | Dmaコントローラ、ノード、データ転送制御方法、及びプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US7849235B2 (ja) |
JP (1) | JP4658122B2 (ja) |
KR (1) | KR100958685B1 (ja) |
CN (1) | CN100538684C (ja) |
WO (1) | WO2006114822A1 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8687639B2 (en) | 2009-06-04 | 2014-04-01 | Nvidia Corporation | Method and system for ordering posted packets and non-posted packets transfer |
US8532098B2 (en) * | 2009-11-30 | 2013-09-10 | Nvidia Corporation | System and method for virtual channel communication |
FR2953307B1 (fr) * | 2009-12-01 | 2011-12-16 | Bull Sas | Controleur d'acces direct a une memoire pour le transfert direct de donnees entre memoires de plusieurs dispositifs peripheriques |
FR2953308B1 (fr) | 2009-12-01 | 2011-12-09 | Bull Sas | Systeme autorisant des transferts directs de donnees entre des memoires de plusieurs elements de ce systeme |
US9176909B2 (en) * | 2009-12-11 | 2015-11-03 | Nvidia Corporation | Aggregating unoccupied PCI-e links to provide greater bandwidth |
US9331869B2 (en) | 2010-03-04 | 2016-05-03 | Nvidia Corporation | Input/output request packet handling techniques by a device specific kernel mode driver |
US9330031B2 (en) | 2011-12-09 | 2016-05-03 | Nvidia Corporation | System and method for calibration of serial links using a serial-to-parallel loopback |
JP6070357B2 (ja) * | 2013-03-28 | 2017-02-01 | 富士通株式会社 | ストレージ装置 |
JPWO2018037510A1 (ja) | 2016-08-24 | 2018-12-06 | 株式会社日立製作所 | 計算機システム、通信デバイス、及び、記憶制御方法 |
KR101948163B1 (ko) * | 2017-01-10 | 2019-02-14 | 충북대학교 산학협력단 | Pci 익스프레스 기반의 연결통신망에서 배리어 구현 방법 |
FR3070514B1 (fr) * | 2017-08-30 | 2019-09-13 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Controleur d'acces direct en memoire, dispositif et procede de reception, stockage et traitement de donnees correspondants |
US10657087B2 (en) * | 2018-05-31 | 2020-05-19 | Toshiba Memory Corporation | Method of out of order processing of scatter gather lists |
JP7326863B2 (ja) * | 2019-05-17 | 2023-08-16 | オムロン株式会社 | 転送装置、情報処理装置、および、データ転送方法 |
JP7318423B2 (ja) * | 2019-08-30 | 2023-08-01 | 富士通株式会社 | 通信制御装置、通信制御方法及び通信制御プログラム |
CN112835823B (zh) * | 2021-01-25 | 2022-03-01 | 无锡众星微***技术有限公司 | 存储控制器应答发送方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0619816A (ja) * | 1992-07-06 | 1994-01-28 | Nippon Telegr & Teleph Corp <Ntt> | デ−タ書き込み方法 |
JP2004005382A (ja) * | 2002-03-29 | 2004-01-08 | Fujitsu Ltd | データ転送装置および方法 |
JP2004326782A (ja) * | 2003-04-25 | 2004-11-18 | Internatl Business Mach Corp <Ibm> | 暗黙の通知を伴うデータ転送 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05334260A (ja) | 1992-06-03 | 1993-12-17 | Fujitsu Ltd | プロセッサ間データ転送制御方式 |
JPH0793233A (ja) | 1993-09-20 | 1995-04-07 | Fujitsu Ltd | ファームウェア・トレースデータ取得方式 |
US6105080A (en) * | 1997-12-30 | 2000-08-15 | Lsi Logic Corporation | Host adapter DMA controller with automated host reply capability |
US6353619B1 (en) * | 1998-02-13 | 2002-03-05 | Paradyne Corporation | Circuit to integrate a host processor with special packet-handling logic for use with a DSL modem |
JP3884862B2 (ja) | 1998-04-30 | 2007-02-21 | キヤノン株式会社 | データ転送装置、データ転送装置の制御方法、記憶媒体 |
US6538758B1 (en) | 1998-05-15 | 2003-03-25 | Canon Kabushiki Kaisha | Image output apparatus and method thereof, and image output system |
JPH11327814A (ja) | 1998-05-15 | 1999-11-30 | Canon Inc | 画像出力装置及びその方法、及び画像出力システム |
JP2002163203A (ja) * | 2000-11-22 | 2002-06-07 | Net System Kk | 情報提供装置、情報処理装置及び記録媒体 |
JP2002163239A (ja) | 2000-11-22 | 2002-06-07 | Toshiba Corp | マルチプロセッサシステムおよびその制御方法 |
US20050232298A1 (en) * | 2004-04-19 | 2005-10-20 | Beverly Harlan T | Early direct memory access in network communications |
-
2005
- 2005-04-01 WO PCT/JP2005/006504 patent/WO2006114822A1/ja not_active Application Discontinuation
- 2005-04-01 JP JP2007514345A patent/JP4658122B2/ja not_active Expired - Fee Related
- 2005-04-01 KR KR1020077023490A patent/KR100958685B1/ko active IP Right Grant
- 2005-04-01 CN CNB2005800493845A patent/CN100538684C/zh not_active Expired - Fee Related
-
2007
- 2007-09-28 US US11/905,373 patent/US7849235B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0619816A (ja) * | 1992-07-06 | 1994-01-28 | Nippon Telegr & Teleph Corp <Ntt> | デ−タ書き込み方法 |
JP2004005382A (ja) * | 2002-03-29 | 2004-01-08 | Fujitsu Ltd | データ転送装置および方法 |
JP2004326782A (ja) * | 2003-04-25 | 2004-11-18 | Internatl Business Mach Corp <Ibm> | 暗黙の通知を伴うデータ転送 |
Also Published As
Publication number | Publication date |
---|---|
US20080104341A1 (en) | 2008-05-01 |
US7849235B2 (en) | 2010-12-07 |
JPWO2006114822A1 (ja) | 2008-12-11 |
KR20070116102A (ko) | 2007-12-06 |
CN101156144A (zh) | 2008-04-02 |
CN100538684C (zh) | 2009-09-09 |
KR100958685B1 (ko) | 2010-05-20 |
WO2006114822A1 (ja) | 2006-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4658122B2 (ja) | Dmaコントローラ、ノード、データ転送制御方法、及びプログラム | |
US7526592B2 (en) | Interrupt control system and storage control system using the same | |
JP3807250B2 (ja) | クラスタシステム、コンピュータ及びプログラム | |
US20060218336A1 (en) | PCI-Express communications system | |
US7631226B2 (en) | Computer system, bus controller, and bus fault handling method used in the same computer system and bus controller | |
JP2009266119A (ja) | ストレージ装置及びデータ転送方法 | |
JP2006190257A (ja) | データ転送装置およびデータ転送方法 | |
US20170277456A1 (en) | Apparatus and method to reduce a response time for writing data to redundant storage devices | |
JP5151500B2 (ja) | コンピュータシステム、障害処理方法および障害処理プログラム | |
WO2016135919A1 (ja) | ストレージ装置 | |
US7765357B2 (en) | PCI-express communications system | |
US20050256998A1 (en) | Bus bridge device | |
US20060265523A1 (en) | Data transfer circuit and data transfer method | |
JP5516411B2 (ja) | 情報処理システム | |
US8151028B2 (en) | Information processing apparatus and control method thereof | |
US7336657B2 (en) | Inter-nodal data transfer system and data transfer apparatus | |
JP4572138B2 (ja) | サーバ装置、サーバシステム、及びサーバシステムでの系切り換え方法 | |
US8423699B2 (en) | Information processing apparatus and method for controlling information processing apparatus | |
US8984193B1 (en) | Line speed sequential transaction packet processing | |
JP6384359B2 (ja) | 分散共有メモリを有する情報処理装置、方法、および、プログラム | |
JP4439295B2 (ja) | データ転送制御装置 | |
JPH08328990A (ja) | 計算機システムおよびその処理方法 | |
JP3056169B2 (ja) | データ送受信方式とその方法 | |
JP5120765B2 (ja) | 並列計算機システム | |
KR19980037621A (ko) | 전송 응답 처리 제어기 및 그 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100223 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100420 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100706 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101005 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20101021 |
|
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: 20101221 |
|
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: 20101222 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140107 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4658122 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |