JP5151567B2 - データ通信システムのデットロック回避方法及びそのシステム並びにその制御プログラム - Google Patents

データ通信システムのデットロック回避方法及びそのシステム並びにその制御プログラム Download PDF

Info

Publication number
JP5151567B2
JP5151567B2 JP2008058814A JP2008058814A JP5151567B2 JP 5151567 B2 JP5151567 B2 JP 5151567B2 JP 2008058814 A JP2008058814 A JP 2008058814A JP 2008058814 A JP2008058814 A JP 2008058814A JP 5151567 B2 JP5151567 B2 JP 5151567B2
Authority
JP
Japan
Prior art keywords
node
write
write command
receiving
information
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
JP2008058814A
Other languages
English (en)
Other versions
JP2009217407A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2008058814A priority Critical patent/JP5151567B2/ja
Publication of JP2009217407A publication Critical patent/JP2009217407A/ja
Application granted granted Critical
Publication of JP5151567B2 publication Critical patent/JP5151567B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Description

この発明は、データ通信システムのデットロック回避方法及びそのシステム、データ処理システムのデットロック回避方法及びそのシステム並びにその制御プログラムに関し、詳しくはデータ通信システムのデットロック回避に有効なデータ通信システムでのデットロック回避方法及びそのシステム、データ処理システムのデットロック回避方法及びそのシステム並びにその制御プログラムに関する。
データ処理システムの信頼性がより高度に要求されるにつれて、そのシステムでデータが確実にメモリに書き込まれたか否かを保証することが極めて重要になる。
例えば、パーソナルコンピュータシステムでは、CPU(Central Processing Unit)と入出力装置との間のデータ転送にシリアル転送インタフェースであるPCI Express(Peripheral Component Interconnect Express)が広く用いられている。このPCI Expressは、データをメモリに書き込むときにその書き込みの到達保証をする手段を備えていない。
特許文献1には、書き込みの到達保証を行う1つの技術的手段が開示されている。この技術的手段は、ライト命令のアドレス内にライト転送元のノード情報を埋め込み、ライト命令を受け取った受信ノードがアドレス情報に基づいてライト命令送信元にライト命令を送出することをその特徴部分として有する。
そのシステムの構成例を示せば、図3に示すようになる。ノード41からノード42へデータを書き込むとき、ノード41のDMA Engine41からPCI Expressスイッチ43を介してノード42のバッファ42へライト命令が転送されてデータのメモリ42への書き込みを行うように構成されている。この書き込みにおいて、上述した特徴部分が機能して書き込みの到達保証を為さんとするものである。
特開2006−302250号公報
上述の特許文献1に開示される技術的手段には、書き込みの到達保証が図れるとはいうものの、ライト命令のデットロツクが発生する可能性がある。
それは、自己のDMA Engineから大量のライト命令が発行される状態が発生すると、それだけで、自己のバッファが一杯になり、PCI Express43を介して送り込まれる他のノードからのライト命令を受け付けられなくなり、メモリへのライト命令も発行できず、ライト命令がデットロックしてしまうという技術的問題である。
この問題は、PCI ExpressのTransaction Ordering Rulesでの同じTraffic Class(以下、TCという)に属するライト命令は、Relaxed Ordering Attribute Bitを設定しない場合には、同じTCに属するライト命令を追い越すことができないことに起因する。
上記問題を解決する手段としては、書き込み到達保証のためのライト命令とメモリへのライト命令とを別のTCに割り当てるようにするか、それぞれの命令を完全に別の通路を通るようにするか、若しくはDMA Engineから来るすべてのライト命令を溜め込むことができるバッファを設ける方法がある。
しかし、これらの手段は、ハードウェア量の大幅な増大を招来してしまうという技術的課題が生ずる。
この発明は、上述の事情に鑑みてなされたもので、データ通信システムのデットロック回避を達成し得るデータ通信システムのデットロック回避方法及びそのシステム、データ処理システムのデットロック回避方法及びそのシステム並びにその制御プログラムを提供することを目的としている。
上記課題を解決するために、この発明の第1の構成は、複数のノード間が所定のプロトコルで接続されるデータ通信(処理)システムの各ノードで生ずるライト命令のデットロックを回避する方法に係り、複数の前記ノードのうちの任意の送信ノードからライト命令を受け取った任意の受信ノードにおいて、前記ライト命令の実行結果に基づいて、メモリへのライト完了情報であってライト命令以外の命令との区別をし得る識別情報と書き込んだデータの冗長コードとを含み、かつ、ライト命令を追い越すことができる到達保証情報を生成し、生成された前記到達保証情報を前記受信ノードから前記送信ノードへ返すことを特徴としている。
この発明の第2の構成は、データ通信(処理)システムのノードに係り、ライト命令を受信ノードへ送信する送信手段と、前記ライト命令の実行結果に基づいて、メモリへのライト完了情報であってライト命令以外の命令との区別をし得る識別情報と書き込んだデータの冗長コードとを含み、かつ、ライト命令を追い越すことができる到達保証情報を前記受信ノードから受信する受信手段と、該受信手段によって受信した前記到達保証情報に基づいて前記ライト命令の処理完了を認識する認識手段とを備えてなることを特徴としている。
この発明の第3の構成は、データ通信(処理)システムのノードに係り、送信ノードからライト命令を受け取る受信手段と、該受信手段で受け取ったライト命令の実行結果に基づいて、メモリへのライト完了情報であってライト命令以外の命令との区別をし得る識別情報と書き込んだデータの冗長コードとを含み、かつ、ライト命令を追い越すことができる到達保証情報を生成する生成手段と、該生成手段によって生成された前記到達保証情報を前記送信ノードへ送信する送信手段とを備えてなることを特徴としている。
この発明によれば、データ通信(処理)システムの各ノードで生ずるライト命令のデットロックを回避するために、複数のノードのうちの任意の送信ノードからライト命令を受け取った任意の受信ノードにおいてライト命令の実行結果に基づいて、メモリへのライト完了情報であってライト命令以外の命令との区別をし得る識別情報と書き込んだデータの冗長コードとを含み、かつ、ライト命令を追い越すことができる到達保証情報を生成し、生成された到達保証情報を受信ノードから送信ノードへ返すようにしたので、デットロックを起こすことなく、また、ハードウェア量を増大させることなく、ライト命令に対する到達保証を達成することができる。
さらに、到達保証受信のデータとして書き込みデータの冗長コードを組み込んでいるので、データの書き込みを確認することができ、それゆえ、書いたデータの信頼性を高めることができる。
この発明は、データ通信システムのノードで生ずるライト命令のデットロックを回避するために、受信ノードにおいてライト命令に対する到達保証情報であってライト命令以外の命令との区別をし得る識別情報を含む到達保証情報を生成することと、生成された到達保証情報を受信ノードから送信ノードへ返送することを含んで構成される。
実施形態1
図1は、この発明の実施形態1であるデータ処理システムの電気的構成の細部を示すブロック図、また、図2は、同データ処理システムの動作例を説明する図である。
この実施例のデータ処理システム1は、複数のノードの中の任意の送信ノードから他の受信ノードへライト命令が発行されたときに該ライト命令に対する確実な応答を返すようにしたシステムに係り、図1に示すように、データ処理システム1の各ノードNi(i=1,2,…,N)は、ヘッダ解析部Ni1は、メモリ制御部Ni2は、レスポンス生成部Ni3及びDMA統御部(DMA Engine)Ni4から概略構成され、これらのノードNiの各各は、PCI ExpressスイッチSWを介して接続可能に構成されている。
ヘッダ解析部Ni1は、受信パケットのヘッダの解析及び該解析に基づくメモリライト命令の発行、レスポンス生成部Ni3へのレスポンス生成要求及びRequester ID情報(送信ノードID情報)の送出、並びに受信ノードからの応答に書き込み到達保証専用のTag ID[識別情報]を持ったCompletion With Data(以下、Cpl IDという)又はCompletion (以下、Cplという){到達保証情報}である場合にDMA Engine Ni4に対する書き込み完了の通知を行う機能部である。
メモリ制御部Ni2は、ヘッダ解析部Ni1からのライト命令の実行と、その実行完了及び書き込んだデータの冗長コードのレスポンス生成部Ni3への通知とを行う機能部である。
レスポンス生成部Ni3は、ヘッダ解析部Ni1からのレスポンス生成要求の受け付け後にメモリ制御部Ni2からライト命令完了報告を受け付けたら、書き込み到達保証専用のTag ID及び冗長コーを付与したCplID又はCplを送信ノード(送信ノードID情報で識別されるノード)へ送信する機能部である。
DMA Engine Ni4は、ヘッダ解析部Ni1からライト完了命令を受け付けたときに冗長コードの検査、該検査により書き込んだデータに間違いがなければライト完了、ライト完了命令の受け付けなし又は冗長コードに誤りがあったときエラーありの検出を行う機能部である。
データ処理システム1の各ノードNiの、ヘッダ解析部Ni1、メモリ制御部Ni2、レスポンス生成部Ni3及びDMA Engine Ni4は、プログラムで制御可能に構成されている。
次に、図1乃至図3を参照して、この実施形態の動作について説明する。
ノードN1のメモリのデータをノードN2のメモリにコピーする例について説明する。
この例の説明の都合上、ノードN1のBus Number(Bus Num)を0、Device Number(Device Num)を0、Function Number(Function Num)を0とし、ノードN2のBus Number(Bus Num)を2、Device Number(Device Num)を0、Function Number(Function Num)を0とする。また、ノードN1の書き込み保証用のTag IDを16とする(この例では、書き込み保証用のTag IDを1つしか定義していないが、書き込み保証用のTag IDは1つである必要はない)。
ファームウェアの命令によって起動されたDMA Engineは、ノードN1のメモリからデータをリードし、ノードN2のメモリに対してライトを行う。
ノードN1からライト命令を受け取ったノードN2のヘッダ解析部N21は、メモリへのライト命令であるので、Requester ID情報(この場合Bus Number=1、Device Number=0、Function Number=0)をレスポンス生成部N23に通達し、同時にメモリ制御部N22に対してライト命令を発行する。
この時、レスポンス生成部N23に通達したRequester ID情報とライト命令との間の相関が保たれるようにライト命令にタグを付けておく。
メモリ制御部N22には、メモリへのライトを行い、無事完了したらレスポンス生成部N23に対して完了したライト命令及び書き込んだデータの冗長コードを通知する。
ライトの完了を受け取ったレスポンス生成部N23は、当該ライトに対する到達保証を行うためにTag IDを16としたCplID又はCplをヘッダ解析部N21から渡されたRequester ID情報で識別されるノードであるノードN1にPCI ExpressスイッチSWを介して送信する。
こうして送られて来るCplID又はCplは、Transaction Ordering Rulesによれば、ライト命令を追い越すことができる。
したがって、上述したようなバッファのライト命令の蓄積量が増大して一杯になったとしてもライト命令がデットロツクすることはない。また、このデットロツク回避のためのハードウェア量の増大も生じない。
CplIDを受け取ったノードN1のヘッダ解析部N11は、Cpl IDのTag IDが16であることからライト命令に対する到達保証命令であると判断し、DMA Engine N14に対してライト命令が完了したことを報告する。
完了報告を受けたDMAは、冗長コードをチェックし、問題がなければファームウェアに対してライトの完了を報告する。
このように、この実施形態の構成によれば、ライト命令に対する到達保証をCpl ID又はCpl で行うようにしたので、デットロックを起こすことなく、また、ハードウェア量を増大させることなく、ライト命令に対する到達保証を達成することができる。さらに、Cp1ID又はCplのデータとして書き込みデータの冗長コードを組み込み確認することにより書いたデータの信頼性を高めることができる。
以上、この発明の実施例を、図面を参照して詳述してきたが、この発明の具体的な構成は、これらの実施例に限られるものではなく、この発明の要旨を逸脱しない範囲の設計の変更等があってもそれらはこの発明に含まれる。
例えば、Tag IDは、ライト命令の実行結果に応じてこれを識別し得る識別情報として構成されてもよい。
また、PCI Express以外のプロトコルで、ライト命令に対する応答の規定を定めてないプロトコルでもこの発明を実施することができる。
ここに開示しているデータ通信システムのデットロック回避方法及びそのシステム並びにその制御プログラムは、ライト命令に対する応答の規定を書く通信プロトコルで動作する各種の通信システムの中で利用し得る。
この発明の実施形態1であるデータ処理システムの電気的構成の細部を示すブロック図である。 同データ処理システムの動作例を説明する図である。 従来のPCI Expressを用いたデータ処理システムの電気的構成を示すブロック図である。
符号の説明
1 データ処理システム(データ通信システム)
i1 ヘッダ解析部(受信手段)
i2 メモリ制御部(生成手段の一部)
i3 レスポンス生成部(生成手段の残部、送信手段)
i4 DMA Engine(送信手段、認識手段)
SW PCI Expressスイッチ

Claims (13)

  1. 複数のノード間が所定のプロトコルで接続されるデータ通信システムの各ノードで生ずるライト命令のデットロックを回避する方法であって、
    複数の前記ノードのうちの任意の送信ノードからライト命令を受け取った任意の受信ノードにおいて、前記ライト命令の実行結果に基づいて、メモリへのライト完了情報であってライト命令以外の命令との区別をし得る識別情報と書き込んだデータの冗長コードとを含み、かつ、ライト命令を追い越すことができる到達保証情報を生成し、
    生成された前記到達保証情報を前記受信ノードから前記送信ノードへ返すことを特徴とするデータ通信システムのデットロック回避方法。
  2. 複数のノードをPCI Expressスイッチを介して接続するデータ処理システムのデットロック回避方法であって、
    複数の前記ノードのうちの任意の送信ノードからライト命令を受け取った、任意の受信ノードにおいて、前記ライト命令の実行結果に基づいて、メモリへのライト完了情報であってライト命令以外の命令との区別をし得る識別情報と書き込んだデータの冗長コードとを含み、かつ、ライト命令を追い越すことができる到達保証情報を生成し、
    生成された前記到達保証情報を前記受信ノードから前記送信ノードへ返すことを特徴とするデータ処理システムのデットロック回避方法。
  3. 前記識別情報は、ライト命令到達保証専用のタグIDであることを特徴とする請求項記載のデータ処理システムのデットロック回避方法。
  4. データ通信システムのノードであって、
    ライト命令を受信ノードへ送信する送信手段と、
    前記ライト命令の実行結果に基づいて、メモリへのライト完了情報であってライト命令以外の命令との区別をし得る識別情報と書き込んだデータの冗長コードとを含み、かつ、ライト命令を追い越すことができる到達保証情報を前記受信ノードから受信する受信手段と、
    該受信手段によって受信した前記到達保証情報に基づいて前記ライト命令の処理完了を認識する認識手段とを備えてなることを特徴とするデータ通信システムのノード。
  5. データ通信システムのノードであって、
    送信ノードからライト命令を受け取る受信手段と、
    該受信手段で受け取ったライト命令の実行結果に基づいて、メモリへのライト完了情報であってライト命令以外の命令との区別をし得る識別情報と書き込んだデータの冗長コードとを含み、かつ、ライト命令を追い越すことができる到達保証情報を生成する生成手段と、
    該生成手段によって生成された前記到達保証情報を前記送信ノードへ送信する送信手段とを備えてなることを特徴とするデータ通信システムのノード。
  6. 複数のノードと、複数の前記ノード間が所定のプロトコルで接続されるデータ通信システムであって、
    複数の前記ノードのうちの送信ノードを請求項記載のノードで構成し、複数の前記ノードのうちの受信ノードを請求項記載のノードで構成したことを特徴とするデータ通信システム。
  7. データ処理システムのノードであって、
    ライト命令を受信ノードへ送信する送信手段と、
    前記ライト命令の実行結果に基づいて、メモリへのライト完了情報であってライト命令以外の命令との区別をし得る識別情報と書き込んだデータの冗長コードとを含み、かつ、ライト命令を追い越すことができる到達保証情報を前記受信ノードから受信する受信手段と、
    該受信手段によって受信した前記到達保証情報に基づいて前記ライト命令の処理完了を認識する認識手段とを備えてなることを特徴とするデータ処理システムのノード。
  8. データ処理システムのノードであって、
    送信ノードからライト命令を受け取る受信手段と、
    該受信手段で受け取ったライト命令の実行結果に基づいて、メモリへのライト完了情報であってライト命令以外の命令との区別をし得る識別情報と書き込んだデータの冗長コードとを含み、かつ、ライト命令を追い越すことができる到達保証情報を生成する生成手段と、
    該生成手段によって生成された前記到達保証情報を前記送信ノードへ送信する送信手段とを備えてなることを特徴とするデータ処理システムのノード。
  9. 複数のノードと、複数の前記ノード間を接続するPCI Expressスイッチとを有するデータ処理システムであって、
    複数の前記ノードのうちの送信ノードを請求項記載のノードで構成し、複数の前記ノードのうちの受信ノードを請求項記載のノードで構成したことを特徴とするデータ処理システム。
  10. コンピュータに請求項1記載のデータ通信システムのデットロック回避方法を実行させることを特徴とする制御プログラム。
  11. コンピュータに請求項2又は3記載のデータ処理システムのデットロック回避方法を実行させることを特徴とする制御プログラム。
  12. コンピュータを、請求項4又は5記載のデータ通信システムのノードとして機能させることを特徴とする制御プログラム。
  13. コンピュータを、請求項7又は8記載のデータ処理システムのノードとして機能させることを特徴とする制御プログラム。
JP2008058814A 2008-03-07 2008-03-07 データ通信システムのデットロック回避方法及びそのシステム並びにその制御プログラム Expired - Fee Related JP5151567B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008058814A JP5151567B2 (ja) 2008-03-07 2008-03-07 データ通信システムのデットロック回避方法及びそのシステム並びにその制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008058814A JP5151567B2 (ja) 2008-03-07 2008-03-07 データ通信システムのデットロック回避方法及びそのシステム並びにその制御プログラム

Publications (2)

Publication Number Publication Date
JP2009217407A JP2009217407A (ja) 2009-09-24
JP5151567B2 true JP5151567B2 (ja) 2013-02-27

Family

ID=41189210

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008058814A Expired - Fee Related JP5151567B2 (ja) 2008-03-07 2008-03-07 データ通信システムのデットロック回避方法及びそのシステム並びにその制御プログラム

Country Status (1)

Country Link
JP (1) JP5151567B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6252654A (ja) * 1985-08-30 1987-03-07 Mitsubishi Electric Corp メモリ装置
EP1728170A2 (en) * 2004-03-19 2006-12-06 Koninklijke Philips Electronics N.V. Signaling arrangement and approach therefor
JP2006065697A (ja) * 2004-08-27 2006-03-09 Hitachi Ltd 記憶デバイス制御装置
JP2006293969A (ja) * 2005-03-17 2006-10-26 Fujitsu Ltd データ転送装置
JP4410190B2 (ja) * 2005-03-24 2010-02-03 富士通株式会社 PCI−Express通信システム
JP4992296B2 (ja) * 2006-05-30 2012-08-08 株式会社日立製作所 転送処理装置

Also Published As

Publication number Publication date
JP2009217407A (ja) 2009-09-24

Similar Documents

Publication Publication Date Title
JP4658122B2 (ja) Dmaコントローラ、ノード、データ転送制御方法、及びプログラム
JP4410190B2 (ja) PCI−Express通信システム
US6826123B1 (en) Global recovery for time of day synchronization
US7668923B2 (en) Master-slave adapter
US7395362B2 (en) Method for a slave device to convey an interrupt and interrupt source information to a master device
US20050081080A1 (en) Error recovery for data processing systems transferring message packets through communications adapters
US20050091383A1 (en) Efficient zero copy transfer of messages between nodes in a data processing system
TWI572166B (zh) 操作一通訊裝置的方法
EP3542276B1 (en) Flow control in remote direct memory access data communications with mirroring of ring buffers
US20070168712A1 (en) Method and apparatus for lockstep processing on a fixed-latency interconnect
US20050080920A1 (en) Interpartition control facility for processing commands that effectuate direct memory to memory information transfer
US9473273B2 (en) Memory system capable of increasing data transfer efficiency
JP3996928B2 (ja) 破損データを処理する方法
JP2010050742A (ja) 伝送システム、伝送装置および伝送方法
CN109154925A (zh) 通信设备、通信方法、程序和通信系统
US7765357B2 (en) PCI-express communications system
JP5151567B2 (ja) データ通信システムのデットロック回避方法及びそのシステム並びにその制御プログラム
KR20170117326A (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
JP4918284B2 (ja) PCI−Express通信システム
US20140052879A1 (en) Processor, information processing apparatus, and interrupt control method
US8433952B2 (en) Memory access control device, memory access control method and memory access control program
JP4572138B2 (ja) サーバ装置、サーバシステム、及びサーバシステムでの系切り換え方法
JP6136754B2 (ja) 通信制御装置及び画像形成装置
WO2008062511A1 (fr) Système multiprocesseur
CN115525935B (zh) 多安全芯片的并发数据运算方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111121

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120829

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120911

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121119

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151214

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5151567

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