JP2011065451A - フォルトトレラントコンピュータシステム及びデータ管理方法 - Google Patents
フォルトトレラントコンピュータシステム及びデータ管理方法 Download PDFInfo
- Publication number
- JP2011065451A JP2011065451A JP2009215904A JP2009215904A JP2011065451A JP 2011065451 A JP2011065451 A JP 2011065451A JP 2009215904 A JP2009215904 A JP 2009215904A JP 2009215904 A JP2009215904 A JP 2009215904A JP 2011065451 A JP2011065451 A JP 2011065451A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- read
- ram
- computer system
- 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.)
- Pending
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
【課題】ロックステップ方式のフォルトトレラントコンピュータシステムで、一時退避用のメモリをリセットすることなく、一時退避用のメモリのデータを同期させることができるようにする。
【解決手段】データの一時的な退避用として実装されているRAM50に対して、書込データバッファ51と、書込キューバッファ52と、読出データバッファ53と、読出キューバッファ54a、54bとを設ける。書込キューバッファ52は、RAM50中で、データの書き込み可能なアドレスを順番に格納し、RAM50へのデータの書き込みの順番を保証する。読出キューバッファ54a、54bは、RAM50からの読み出し可能なアドレスを順番に格納し、RAM50からのデータの読み出しの順番を保証する。
【選択図】図2
【解決手段】データの一時的な退避用として実装されているRAM50に対して、書込データバッファ51と、書込キューバッファ52と、読出データバッファ53と、読出キューバッファ54a、54bとを設ける。書込キューバッファ52は、RAM50中で、データの書き込み可能なアドレスを順番に格納し、RAM50へのデータの書き込みの順番を保証する。読出キューバッファ54a、54bは、RAM50からの読み出し可能なアドレスを順番に格納し、RAM50からのデータの読み出しの順番を保証する。
【選択図】図2
Description
本発明は、同一構成の複数のコンピュータシステムを同期して動作させるフォルトトレラントコンピュータシステム及びそのデータ管理方法に関するもので、特に、内部のデータを一時的に退避させるメモリの管理に関する。
ロックステップ方式のフォルトトレラントコンピュータシステムでは、例えば特許文献1に示されるように、同一のデバイスで構成された複数のコンピュータシステムを並列に動作させることで、障害の発生に対処している。このようなロックステップ方式のフォルトトレラントコンピュータシステムにおいては、全てのメモリのデータ、CPU(Central Processing Unit)のステートなど、全ての状態を複数のコンピュータシステムで同一にする必要がある。またCPUが全ての命令、アドレス等を同一クロックで発行し続けるためには、メモリやIO(Input / Output)内部の状態も複数のコンピュータシステムで同一にする必要がある。このため、メモリやIOのデータを一時的に退避させるRAM(Random Access Memory)に対しても、クロック同期のリセットを用いて一旦リセットを行い、タイミングを合わせる必要がある。
つまり、図4は、ロックステップ方式のフォルトトレラントコンピュータシステムを構成する2つのコンピュータシステムにおいて、内部のデータを一時的に退避させるRAM550及び650の制御を示すものである。
図4において、RAM550及びRAM650には、”1”〜”5”のアドレスがあるものとする。コンピュータシステムを同期させるために、RAM550及びRAM650は同期リセットしておく。このように、RAM550及びRAM650を同期リセットしておくことで、RAM550及びRAM650の同一アドレスに同一のデータが書き込まれることになる。図4の例では、RAM550にデータを書き込む場合には、アドレス”3”にデータが書き込まれ、これと同様に、RAM650でも、アドレス”3”にデータが書き込まれる。また、RAM550からデータを読み出す場合には、アドレス”5”からデータが読み出され、これと同様に、RAM650のアドレス”5”からデータが読み出される。
しかしながら、従来のフォルトトレラントコンピュータシステムでは、メモリやIOの内部の状態を一致させるために、それぞれのコンピュータシステムのメモリの状態を一致させた後、一時的に両方のコンピュータを止め、データを退避させるRAMに対して同期リセットを発行する必要がある。このため、同期リセットを行うリセット回路が必要であり、また同期リセットによる処理が複雑化してしまうという問題がある。
上述の課題を鑑み、本発明は、同期リセットを行うことなく、一時退避用のメモリに対する同期を確保でき、同期リセットを簡略化できるフォルトトレラントコンピュータシステム及びデータ管理方法を提供することを目的とする。
上述の課題を解決するために、本発明は、同一構成の複数のコンピュータシステムを同期して動作させるフォルトトレラントコンピュータシステムであって、内部のデータを一時的に退避させるメモリと、メモリへのデータの書き込みの順番のアドレスを格納する書込キューバッファと、メモリへの読み出しの順番のアドレスを格納する読出キューバッファとを備え、メモリにデータを書き込む場合に、書込キューバッファで示されるアドレスにデータを書き込み、メモリからデータを読み出す場合に、読出キューバッファで示されるアドレスからデータを読み出すことを特徴とする。
本発明は、同一構成の複数のコンピュータシステムを同期して動作させるフォルトトレラントコンピュータで、内部のデータを一時的に退避させるメモリのデータ管理方法であって、書込キューバッファにメモリへのデータの書き込みの順番のアドレスを格納し、読出キューバッファにメモリからのデータの読み出しの順番のアドレスを格納しておき、メモリにデータを書き込む場合に、書込キューバッファで示されるアドレスでメモリにデータを書き込み、メモリからデータを読み出す場合に、読出キューバッファで示されるアドレスでメモリからデータを読み出すことを特徴とする。
本発明によれば、一時データ退避用のメモリへのデータの書き込みの順番を保証する書込キューバッファ及びその読み出しの順番を保証する読出キューバッファが設けられる。このため、メモリのアドレスが異なっていても、メモリに書き込み及び読み出されるデータは同期することになり、同期化を図るためのリセット回路を省略できる。
以下、本発明の実施の形態について図面を参照しながら説明する。図1は、本発明が適用できるロックステップ方式のフォルトトレラントコンピュータシステムの構成を示すものである。
図1において、コンピュータシステム101は、CPU102a及び102b、メインメモリ103、コントローラ104、IOポート105a及び105bを備えている。コントローラ104は、メモリ・IOコントローラ106とFT(Fault Tolerant:フォルトトレラント)コントローラ107とを含んでいる。メモリ・IOコントローラ106は、メインメモリ103やIOポート105a、105bの制御を行う。FTコントローラ107は、コンピュータシステム101とコンピュータシステム201との同期状態を制御する。
コンピュータシステム201は、CPU202a及び202b、メインメモリ203、コントローラ204、IOポート205a及び205bを備えている。コントローラ204は、メモリ・IOコントローラ206とFTコントローラ207とを含んでいる。メモリ・IOコントローラ206は、メインメモリ203やIOポート205a、205bの制御を行う。FTコントローラ207は、コンピュータシステム201とコンピュータシステム101との同期状態を制御する。
コンピュータシステム101とコンピュータシステム201とは、メモリ・IOコントローラ106及びFTコントローラ107、メモリ・IOコントローラ206及びFTコントローラ207とを介して接続されている。このコンピュータシステムでは、コンピュータシステム101とコンピュータシステム201とをクロックに同期させて動作させることで、ロックステップ方式にフォルトトレラントコンピュータシステムを実現している。
図1に示す本発明の第1の実施形態のロックステップ方式のフォルトトレラントコンピュータシステムにおいて、コントローラ104及びコントローラ204内には、メモリやIOのデータの一時的な退避用としてRAMが実装されている。図2は、このようなコントローラ104及び204内のそれぞれに設けられるRAM及びその周辺回路のブロック図を示すものである。
図2において、RAM50は、データの一時的な退避用として実装されているRAMである。RAM50に対して、書込データバッファ51と、書込キューバッファ52と、読出データバッファ53と、読出キューバッファ54a、54bとが設けられる。
書込データバッファ51は、RAM50に書き込むデータを格納するバッファである。書込キューバッファ52は、RAM50中で、データの書き込み可能なアドレスを順番に格納するキューバッファである。読出データバッファ53は、RAM50から読み出したデータを格納するバッファである。読出キューバッファ54a、54bは、RAM50からの読み出し可能なアドレスを順番に格納するキューバッファである。なお、キューバッファは、データを先入れ先出しのリスト構造で保持するものである。
RAM50にデータを書き込む場合、メモリ・IOコントローラ106または206は、書込データバッファ51に格納されているデータを読み出し、書込キューバッファ52に格納されているアドレスに従って、RAM50にデータを書き込む。また、RAM50からデータを読み出す場合、メモリ・IOコントローラ106または206は、読出キューバッファ54a、54bに格納されているアドレスに従って、RAM50からデータを読み出し、読出データバッファ53に格納する。
本発明の第1の実施形態では、このように、RAM50のアドレスを直接使用せず、RAM50へのデータの書き込みの順番のアドレスを示す書込キューバッファ52及びその読み出しの順番のアドレスを示す読出キューバッファ54a、54bを設けている。このため、同期リセットが不要になる。このことについて、図3を用いて説明する。
図3において、RAM150は、コンピュータシステム101のコントローラ104内に設けられている一時退避用のRAMを示し、RAM250は、コンピュータシステム201のコントローラ204内に設けられている一時退避用のRAMを示している。RAM150及び250は、図2におけるRAM50に対応している。また、書込キューバッファ152及び書込キューバッファ252は、それぞれ、図2における書込キューバッファ52に対応している。また、読出キューバッファ154及び読出キューバッファ254は、それぞれ、図2における読出キューバッファ54a、54bに対応している。
ここでは、RAM150及び250には、”1”〜”5”のアドレスがあり、これらのアドレスに対応してデータが書き込まれ、また、これらのアドレスに対応してデータが読み出されるものとする。
図3において、コンピュータシステム101のRAM150にデータを書き込む順番は、書込キューバッファ152により、”1”、”2”の順に示されている。この場合、CPU102a、102b、またはコンピュータシステム201のFTコントローラ207が、RAM150にデータを書き込む指示を出力すると、メモリ・IOコントローラ106は、RAM150のアドレス”1”にデータ”AAA”を格納し、アドレス”2”にデータ”BBB”を格納する。また、コンピュータシステム101のRAM150からデータを読み出す順番は、読出キューバッファ154により、”3”、”4”、”5”の順に示されている。この場合、CPU102a、102b、またはコンピュータシステム201のFTコントローラ207が、RAM150からデータを読み出す指示を出力すると、メモリ・IOコントローラ106は、アドレス”3”、”4”、”5”に格納されているデータ”CCC”、”DDD”、”EEE”の順に、RAM150からデータを読み出す。
一方、コンピュータシステム201のRAM205にデータを書き込む順番は、書込キューバッファ252により、”4”、”5”の順に示されている。この場合、CPU202a、202b、またはコンピュータシステム101のFTコントローラ107が、RAM250にデータを書き込む指示を出力すると、メモリ・IOコントローラ206は、RAM250のアドレス”4”にデータ”AAA”を格納し、アドレス”5”にデータ”BBB”を格納する。また、コンピュータシステム201のRAM250からデータを読み出す順番は、読出キューバッファ254により、”1”、”2”、”3”の順に示されている。この場合、CPU202a、202b、またはコンピュータシステム101のFTコントローラ107が、RAM250からデータを読み出す指示を出力すると、メモリ・IOコントローラ206は、アドレス”1”、”2”、”3”に格納されているデータ”CCC”、”DDD”、”EEE”の順に、RAM250からデータを読み出す。
図3に示すように、本発明の第1の実施形態では、コンピュータシステム101のRAM150と、コンピュータシステム201のRAM250とでは、データが格納されるアドレスが異なっている。しかしながら、RAM150及び250へのデータの書き込みの順番を保証する書込キューバッファ152、252、及び、その読み出しの順番を保証する読出キューバッファ154、254が設けられているので、RAM150、250に書き込み及び読み出されるデータは、同期することになる。
以上説明したように、本発明の実施形態では、一時退避用のRAMにデータを書き込み及び読み出す場合に、キューバッファによりデータの書き込み及び読み出しの順番が保証される。このため、同期リセットが不要になる。また、CPUの命令の転送先が複数あった場合でも、RAMへの読み出し順を保存しているために、ある1箇所の転送先が待ち状態になった場合でも、別の転送先も一緒にデータ転送待ち状態になることがなく、別の転送先がデータを受け付ける場合には、RAMへ書かれた順番を追い越して、先にデータを読み出すことができる。このため、RAMの使用効率が上昇し、全体の性能向上が図れる。
本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
51:書込データバッファ
52:書込キューバッファ
53:読出データバッファ
54a,54b:読出キューバッファ
101,102:コンピュータシステム
103,203:メインメモリ
104,204 コントローラ
105a,105b,205a,205b:IOポート
106,206:メモリ・IOコントローラ
107,207:FTコントローラ
52:書込キューバッファ
53:読出データバッファ
54a,54b:読出キューバッファ
101,102:コンピュータシステム
103,203:メインメモリ
104,204 コントローラ
105a,105b,205a,205b:IOポート
106,206:メモリ・IOコントローラ
107,207:FTコントローラ
Claims (4)
- 同一構成の複数のコンピュータシステムを同期して動作させるフォルトトレラントコンピュータシステムであって、
内部のデータを一時的に退避させるメモリと、
前記メモリへのデータの書き込みの順番のアドレスを格納する書込キューバッファと、
前記メモリへの読み出しの順番のアドレスを格納する読出キューバッファと、
前記メモリにデータを書き込む場合に、前記書込キューバッファで示されるアドレスにデータを書き込み、前記メモリからデータを読み出す場合に、前記読出キューバッファで示されるアドレスからデータを読み出すコントローラと、
を備えることを特徴とするフォルトトレラントコンピュータシステム。 - 前記コントローラは、前記書込キューバッファに、前記メモリでデータの書き込み可能なアドレスを順番に格納することを特徴とする請求項1に記載のフォルトトレラントコンピュータシステム。
- 前記コントローラは、前記読出キューバッファに、前記メモリでデータの読み出し可能なアドレスを順番に格納することを特徴とする請求項1に記載のフォルトトレラントコンピュータシステム。
- 同一構成の複数のコンピュータシステムを同期して動作させるフォルトトレラントコンピュータを用いて、内部のデータを一時的に退避させるメモリのデータ管理方法であって、
書込キューバッファに前記メモリへのデータの書き込みの順番のアドレスを格納し、読出キューバッファに前記メモリからのデータの読み出しの順番のアドレスを格納しておき、
前記メモリにデータを書き込む場合に、前記書込キューバッファで示されるアドレスで前記メモリにデータを書き込み、前記メモリからデータを読み出す場合に、前記読出キューバッファで示されるアドレスで前記メモリからデータを読み出す
ことを特徴とするデータ管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009215904A JP2011065451A (ja) | 2009-09-17 | 2009-09-17 | フォルトトレラントコンピュータシステム及びデータ管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009215904A JP2011065451A (ja) | 2009-09-17 | 2009-09-17 | フォルトトレラントコンピュータシステム及びデータ管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011065451A true JP2011065451A (ja) | 2011-03-31 |
Family
ID=43951624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009215904A Pending JP2011065451A (ja) | 2009-09-17 | 2009-09-17 | フォルトトレラントコンピュータシステム及びデータ管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011065451A (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63238655A (ja) * | 1987-03-26 | 1988-10-04 | Nec Corp | 情報処理装置 |
JPH01296352A (ja) * | 1988-05-24 | 1989-11-29 | Nec Corp | 二重化処理装置 |
JPH02194446A (ja) * | 1989-01-24 | 1990-08-01 | Nippon Telegr & Teleph Corp <Ntt> | 二重化情報処理システムにおけるモジュール修復方法 |
JPH02228740A (ja) * | 1989-03-01 | 1990-09-11 | Mitsubishi Electric Corp | 二重系処理システム |
JP2009176094A (ja) * | 2008-01-25 | 2009-08-06 | Fujitsu Ltd | 転送装置、転送装置の制御方法及び情報処理装置 |
-
2009
- 2009-09-17 JP JP2009215904A patent/JP2011065451A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63238655A (ja) * | 1987-03-26 | 1988-10-04 | Nec Corp | 情報処理装置 |
JPH01296352A (ja) * | 1988-05-24 | 1989-11-29 | Nec Corp | 二重化処理装置 |
JPH02194446A (ja) * | 1989-01-24 | 1990-08-01 | Nippon Telegr & Teleph Corp <Ntt> | 二重化情報処理システムにおけるモジュール修復方法 |
JPH02228740A (ja) * | 1989-03-01 | 1990-09-11 | Mitsubishi Electric Corp | 二重系処理システム |
JP2009176094A (ja) * | 2008-01-25 | 2009-08-06 | Fujitsu Ltd | 転送装置、転送装置の制御方法及び情報処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3598321B2 (ja) | 異なる周波数で動作するバス間でやりとりされるバッファリングデータ | |
JP4734003B2 (ja) | ソフトエラー訂正方法、メモリ制御装置及びメモリシステム | |
JP2008158804A (ja) | メモリコントローラ、コンピュータ、データ読み出し方法 | |
JPWO2008155806A1 (ja) | バリア同期方法、装置、及びマルチコアプロセッサ | |
US20140244949A1 (en) | Asynchronous Data Mirroring in Memory Controller | |
JP6029737B2 (ja) | 制御装置 | |
JP2016177478A (ja) | 信号転送装置、情報処理装置、及び信号転送方法 | |
JP2007219678A (ja) | マルチレイヤバス・システム | |
EP2216720B1 (en) | Parameter copying method and parameter copying device | |
TWI475383B (zh) | Memory control device | |
JP2011065451A (ja) | フォルトトレラントコンピュータシステム及びデータ管理方法 | |
JPWO2004046926A1 (ja) | イベント通知方法、デバイス及びプロセッサシステム | |
WO2014002222A1 (ja) | リードリクエスト処理装置 | |
US20100211704A1 (en) | Data Processing Apparatus | |
JP3615219B2 (ja) | システムコントローラ、コントロールシステムおよびシステムコントロール方法 | |
JP5556086B2 (ja) | 二重化システム、及び、二重化方法 | |
US10996659B2 (en) | Method and redundant automation system with a plurality of processor units per hardware unit | |
JP5748214B2 (ja) | 二重化情報処理システム | |
JP2006285872A (ja) | マルチcpuシステム | |
JP4569163B2 (ja) | データ入出力装置およびデータ入出力方法 | |
JP2007316880A (ja) | デュアルポートメモリのアクセス権調停方式 | |
JP6233868B2 (ja) | 情報処理装置、及び情報処理方法 | |
JP5403665B2 (ja) | データ転送方法 | |
JP4118249B2 (ja) | メモリシステム | |
JP4117685B2 (ja) | フォルトトレラント・コンピュータとそのバス選択制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121120 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130326 |