Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4030951B2 - データ二重化装置及び方法 - Google Patents
[go: Go Back, main page]

JP4030951B2 - データ二重化装置及び方法 - Google Patents

データ二重化装置及び方法 Download PDF

Info

Publication number
JP4030951B2
JP4030951B2 JP2003382370A JP2003382370A JP4030951B2 JP 4030951 B2 JP4030951 B2 JP 4030951B2 JP 2003382370 A JP2003382370 A JP 2003382370A JP 2003382370 A JP2003382370 A JP 2003382370A JP 4030951 B2 JP4030951 B2 JP 4030951B2
Authority
JP
Japan
Prior art keywords
data
memory
active
control device
cpu
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
JP2003382370A
Other languages
English (en)
Other versions
JP2005148910A (ja
Inventor
宗徳 深町
Original Assignee
埼玉日本電気株式会社
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 埼玉日本電気株式会社 filed Critical 埼玉日本電気株式会社
Priority to JP2003382370A priority Critical patent/JP4030951B2/ja
Publication of JP2005148910A publication Critical patent/JP2005148910A/ja
Application granted granted Critical
Publication of JP4030951B2 publication Critical patent/JP4030951B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、現用系と予備系を有するデータの二重化装置及び方法に関する。
情報通信システム等において、信頼性が要求されるシステムでは、障害発生時、システムの停止を回避する必要性があることから、現用系/予備系の冗長構成をとり、現用系に障害が発生した時、予備系への切替が行われる。予備系から現用系に切り替わった際に、例えばデータの整合性を保ち信頼性を向上した運用を実現するため、従来より、各種手法が用いられている。
現用系のCPU(Central Processing Unit;中央処理装置)上のファイルメモリの内容を予備系CPUにコピーしている途中で現用系ファイルメモリに故障が発生したとき、主メモリについて既に二重化済みの予備系CPUを現用系に切り替えて再開し、その後、予備系の主メモリからファイルメモリにファイルバックアップをとり、予備系CPUのファイルメモリだけは片肺運転状態でサービスを続行するようにした方法が知られている(例えば後記特許文献1参照)。
また、現用系処理装置が共有データ書き込み中に障害となっても、待機系処理装置内に保持される共有データが破壊されることなく、待機系処理装置の現用系処理装置に切り替える装置及び方法も知られている(例えば後記特許文献2参照)。この装置・方法によれば、現用系処理装置から待機系処理装置の記憶装置に書き込まれる共有データは、待機系処理装置のバッファに一旦蓄積され、共有データがバッファに正常に書き込まれたときのみ、バッファ内の共有データが待機系処理装置の記憶装置に転送されて書き込まれ、現用系処理装置が共有データ書き込み中に障害となっても、系切り替え前の状態を完全に引き継ぐことができるようにしている。
上記した従来の手法(後記特許文献1、2に記載された手法)は、現用系/予備系上に存在する記憶装置に、常に、最新データを二重化するというものである。これらの構成の場合、メモリコントローラから、一旦、汎用バスを介してメモリへ書き込むものと、共有バスを経由して、書き込むものがある。しかしながら、かかる構成においては、現用系と予備系の2つの制御装置間におけるデータ伝送は、ノイズ等の対策により、ある程度低い周波数で行わなければならず、この結果、データ転送処理速度が、低下し、システム処理能力も低下することになる。
また、無中断運転を補償するための二重化構成をとる交換システムの制御系に関して、現用系と、予備系と、現用系と予備系との間で共有が必要なデータを記憶する領域を有する外部記憶装置と、外部記憶装置の接続する系を切り替える切替スイッチを備え、現用系と予備系間の運転情報の転送を二重化系間で共通の外部記憶装置に切替により行う方式も知られている(例えば後記特許文献3参照)。
さらに共用メモリを備えた二重化システムにおいて、共用メモリ内に主系システムの状態情報領域と従系システムの状態情報領域を備え、主系システムが定期的に共用メモリ内の主系システムの状態情報領域に定期的に更新されるデータを書き込み、従系システムが、定期的に共用メモリ内の主系システムの状態情報領域を読み出し、該データ値の更新状況を検査し、主系システムの正常性を判定するようにした共用メモリ二重化システムも知られている(例えば後記特許文献4参照)。
これらのシステム(後記特許文献3、4に記載された構成)は、系の切り替え発生時に、ソフトウェア制御にて、データを復元するものであり、特別なソフトウェア制御が必要とされ、さらに、系切り替えの発生から、データ復元まで時間を要する為、その間、システム停止する可能性もある。
さらに、共有の記憶装置を有する二重化系切替装置として、運用系、待機系のそれぞれが、CPU、共用メモリ、アービタ回路を有し、運用系の障害発生時、バスを切断することなく、運用系から待機系に切り替える系切替手段を備え、バス通信を停止することなく、処理中のデータの紛失量を抑えた系切替を行う装置及び方法も知られている(例えば後記特許文献5参照)。さらに、運用系サーバと待機系サーバの間に共有ディスクを備え、各サーバは、当該サーバが運用系か待機系か識別するための運用モード情報を管理する運用モード管理部と、自己の障害発生時には、他のサーバ及びクライアントに障害発生を通知する構成制御管理部を備え、運用系サーバに障害が発生した場合の待機系サーバへの引き継ぎが迅速かつ円滑に行われるシステムも知られている(例えば後記特許文献6参照)。
特開平11−249923号公報(第3頁、第1図) 特開平07−287694号公報(第3頁、第1図)。 特開平05−244260号公報(第3頁、第1図)、 特開昭62−263554(第3頁、第1図)。 特開2002−63047号公報(第3、4頁、第1図) 特開2003−22259号公報(第3−5頁、第1図)
上記したように、従来の二重化システムにおいては、現用系と予備系の2つの制御装置間におけるデータ伝送は、ノイズ等を考慮して、最高伝送速度で行うことは回避され、比較的低速で行われることから、データ転送の処理性能が低下し、システム性能も低下してしまう、という問題点を有している。
また、系の切り替え発生時に、ソフトウェア制御にて、データを復元する構成においては、専用のソフトウェア制御が必要とされ、コスト高ともなる。
また、ソフトウェア制御によるデータ復元処理においては、系の切り替えの発生時点から、データの復元までに、時間を要する。このため、その間、システムが停止する可能性もある、という問題点を有している。
したがって、本発明の目的は、システムの処理性能の低下を回避し、高速化を図るとともに信頼性を向上する二重化装置と方法を提供することにある。
本発明の他の目的は、データバックアップ等の特別なソフトウェア処理を必要とせずに系の切り替えを可能とし、コストの低減を図りながら、系切替の高速化、高信頼性を図る二重化装置と方法を提供することにある。
前記目的を達成する本発明は、その概略を述べれば、現用系と予備系を具備してなる二重化システム装置において、現用系と予備系に共有の記録装置を設け、各系内のメモリ制御部内に判別フラグを設け、系の切り替え時以外は、高速なメインメモリへのアクセスを可能とし、データ転送処理の高速化を図っている。本発明の一のアスペクトに係る装置は、一方が現用系のとき他方は予備系とされ、それぞれが、現用系から予備系、予備系から現用系に、系の切替が自在とされてなる2つの制御装置と、前記2つの制御装置で共用される共有記録装置と、を少なくとも含み、前記2つの制御装置のそれぞれが、CPU(中央処理装置)と、メモリと、データの書き込み及び読み出しを制御するメモリ制御部と、を有し、前記メモリ制御部は、前記メモリに関して予め定められたメモリ領域毎にデータの有効/無効を示すフラグ情報を有し、前記現用系の制御装置の前記メモリ制御部は、前記現用系の制御装置の前記CPUからの書き込みデータを、前記フラグ情報に基づき、前記現用系の制御装置内の前記メモリと、前記共有記録装置とに記憶保持し、前記現用系の制御装置の前記CPUからのデータ読み出し要求に対して、前記フラグ情報に基づき、前記現用系の制御装置内のメモリ、又は前記共有記録装置からデータを読み出して、前記現用系の制御装置の前記CPUに供給する手段を備えている。
本発明に係る装置において、前記現用系の制御装置の前記メモリ制御部は、前記現用系の制御装置の前記CPUからのデータの書き込み要求を受けた際に、書き込みアドレスに対応するメモリ領域の前記フラグ情報が有効を示す場合には、前記書き込みデータを、前記現用系の制御装置の前記メモリと、前記共有記録装置とに書き込み、一方、前記フラグ情報が無効を示す場合には、前記書き込みアドレスに対応して前記共有記録装置から読み出されたデータと、前記CPUからの前記書き込みデータとを併合してなるデータを、最新データとして、前記現用系の制御装置の前記メモリと、前記共有記録装置とに書き込み、前記フラグ情報を有効とする、制御を行う構成としてもよい。
また、本発明に係る装置において、前記現用系の制御装置の前記メモリ制御部は、前記現用系の制御装置の前記CPUからのデータの読み出し要求を受けた際に、読み出しアドレスに対応するメモリ領域の前記フラグ情報が有効を示す場合には、前記現用系の制御装置の前記メモリからデータを読み出して、前記現用系の制御装置の前記CPUに転送し、一方、前記フラグ情報が無効を示す場合には、前記共有記録装置からデータを読み出し、前記共有記録装置から読み出したデータを、前記現用系の制御装置の前記CPUに転送するとともに、前記現用系の制御装置の前記メモリに書き込み、前記フラグ情報を有効とする、制御を行う構成としてもよい。
本発明に係る装置によれば、好ましくは、前記現用系の制御装置から、前記予備系の制御装置へ系切替を通知するための通信線を有する。前記予備系の制御装置の予備系から現用系への系切替に際して、予備系から現用系に切り替わった前記制御装置の前記メモリ制御部は、自装置のCPUからのデータ処理アクセスを受け付けた場合、前記アクセスのアドレスに対応するメモリ領域のフラグ情報が有効であるか否か判定する。この判定の結果、前記フラグ情報が無効の場合に、前記アクセスアドレスに対応して前記共有記録装置からデータを読み出し、前記アクセスがデータ書き込みのときには、前記共有記録装置から読み出したデータと、前記CPUからの書き込みデータとを併合し、併合したデータを、前記メモリと前記共有記録装置とに書き込み、前記アクセスがデータ読み出しのときには、前記メモリへ前記読み出しデータを書き込み、前記メモリ領域に対応するフラグ情報を有効とし、一方、前記判定の結果、前記フラグ情報が有効の場合、前記アクセスがデータ書き込みのときには、前記メモリ及び前記共有記録装置にデータを書き込み、前記アクセスがデータ読み出しのときには、前記メモリからデータを読み出す、制御を行う構成としてもよい。
本発明に係る装置において、前記メモリ制御部は、前記フラグ情報が有効、無効の判別は、ハードウェア回路で行われ、高速化を実現している。
本発明において、前記メモリ制御部は、前記共有記録装置との間でのデータの入出力を行うための少なくとも1つのデータバッファを備え、前記CPUから転送されたデータを、前記データバッファに一旦蓄積した後、前記共有記録装置に転送される構成としてもよい。
本発明において、前記メモリ制御部は、前記共有記録装置からデータを読み出すにあたり、前記メモリ領域に対応するデータを読み出すとともに、他のメモリ領域に対応するデータを前記共有記録装置から先読みする構成としてもよい。
本発明の他のアスペクトに係る方法は、一方が現用系のとき他方は予備系とされ、それぞれが、現用系から予備系、予備系から現用系に、系の切替が自在とされてなる2つの制御装置と、前記2つの制御装置で共用される共有記録装置と、を少なくとも含み、前記2つの制御装置のそれぞれが、CPUと、メモリと、データの書き込み及び読み出しを制御するメモリ制御部と、を有し、 前記メモリ制御部内に、前記メモリに関して予め定められたメモリ領域毎にデータの有効/無効を示すフラグ情報を有する二重化装置による、データ二重化方法であって、
現用系の制御装置が運用中に、前記現用系の制御装置の前記メモリ制御部は、前記現用系の制御装置の前記CPUからの書き込みデータを、前記フラグ情報に基づき、前記現用系の制御装置内の前記メモリと、前記共有記録装置とに記憶保持するステップと、
前記現用系の制御装置の前記CPUからのデータ読み出し要求に対して、前記フラグ情報に基づき、前記現用系の制御装置内のメモリ、又は前記共有記録装置からデータを読み出して、前記現用系の制御装置の前記CPUに供給するステップと、を含む。
本発明に係る方法において、前記現用系の制御装置の前記メモリ制御部が、前記現用系の制御装置の前記CPUからのデータの書き込み要求を受けた際に、
書き込みアドレスに対応するメモリ領域の前記フラグ情報が有効を示す場合には、前記書き込みデータを、前記現用系の制御装置の前記メモリと、前記共有記録装置とに書き込むステップと、
一方、前記フラグ情報が無効を示す場合には、前記書き込みアドレスに対応して前記共有記録装置から読み出されたデータと、前記CPUからの前記書き込みデータとを併合してなるデータを、最新データとして、前記現用系の制御装置の前記メモリと、前記共有記録装置とに書き込み、前記フラグ情報を有効とする、制御を行う、ステップと、を含む構成としてもよい。
本発明に係る方法において、前記現用系の制御装置の前記メモリ制御部が、前記現用系の制御装置の前記CPUからのデータの読み出し要求を受けた際に、
読み出しアドレスに対応するメモリ領域の前記フラグ情報が有効を示す場合には、前記現用系の制御装置の前記メモリからデータを読み出して、前記現用系の制御装置の前記CPUに供給するステップと、
一方、前記フラグ情報が無効を示す場合には、前記共有記録装置からデータを読み出し、前記共有記録装置から読み出したデータを、前記現用系の制御装置の前記CPUに転送するとともに、前記現用系の制御装置の前記メモリに書き込み、前記フラグ情報を有効とする、制御を行うステップと、を含む構成としてもよい。
本発明によれば、現用系と予備系を具備してなる二重化システム装置において、現用系と予備系に共有の記録装置を設け、各系内のメモリ制御部内に判別ビットを設け、系の切り替え時以外は、高速なメインメモリへのアクセスを可能とし、データ転送処理の高速化を図っている。
また、本発明によれば、系の切替えのために、データバックアップ等の特別なソフトウェア処理を必要とせず、このため、コストの低減を図るとともに、系切替の高速化を図ることができる。
本発明をより詳細に説述するために、添付図面を参照して以下に説明する。図1に示すように、本発明の一実施の形態に係る二重化装置は、現用系の制御装置(1a)と、予備系の制御装置(1b)とを備え、さらに、現用系の制御装置(1a)と予備系の制御装置(1b)とに、共有バス(19)を介して接続される、ディスク記録装置等よりなる共有記録装置(17)を備えている。予備系の制御装置(1b)は、例えば現用系の制御装置(1a)に障害発生時に、現用系に系の切替えが行われて運用される。
現用系の制御装置(1a)は、CPU(11)と、メモリ制御部(12)と、メインメモリ(13)を備えている。予備系の制御装置(1b)も、現用系の制御装置(1a)と同様に、CPU(14)と、メモリ制御部(15)と、メインメモリ(16)を備えている。現用系の制御装置(1a)と予備系の制御装置(1b)は同一の構成要素を有する。
本発明の一実施形態において、現用系の制御装置(1a)が運用中に、CPU(11)が使用する最新データは、常に、メインメモリ(13)と共有記録装置(17)とに保持される。
現用系の制御装置(1a)のメモリ制御部(12)と、予備系の制御装置(1b)のメモリ制御部(15)間には、通信バス(18)が設けられている。現用系の制御装置(1a)のメモリ制御部(12)と、予備系の制御装置(1b)のメモリ制御部(15)は、共有バス(19)を介して共有記録装置(17)に接続されている。
図2は、制御装置(1a)のメモリ制御部(12)(及び制御装置(1b)のメモリ制御部(15))の構成を示す図である。図2に示すように、制御装置(1a)のメモリ制御部(12)は、メインメモリ(13)に保持されるデータが有効(最新)であるか否かを判別するためのフラグ情報をなすデータ判別ビット(21)を有している。メモリ制御部(12)は、データ判別ビット(21)の値(有効/無効)に従い、メインメモリ(13)又は共有記録装置(17)から最新データを読み取る。制御装置(1b)のメモリ制御部(15)は、メインメモリ(16)に保持されるデータが有効(最新)であるか否かを判別するデータ判別ビット(27)を有している。メモリ制御部(15)は、データ判別ビット(27)の値(有効/無効)に従い、メインメモリ(16)又は共有記録装置(17)から最新データを読み取る。データ判別ビット(21/27)は、メインメモリ(13/16)の所定のサイズのメモリ領域(エリア)に対して1ビット割り当てられる。
現用系の制御装置(1a)の障害等により、系の切り替えが行われ、予備系の制御装置(1b)の運用が開始された際、それまで予備系であった制御装置(1b)において、最新データは、共有記録装置(17)にのみ存在する。このため、制御装置(1b)のメモリ制御部(15)のデータ判別ビット(27)は全て無効状態となっている。
制御装置(1b)のCPU(14)からデータ要求があった場合、メモリ制御部(15)は、データ判別ビット(27)の内容に従い、最新データを、共有記録装置(17)より読み出す。
共有記録装置(17)から読み出されたデータは、CPU(14)に転送されると共に、メインメモリ(16)に保存され、対応するデータ判別ビット(27)の更新(有効(バリッド)へ更新)が行われる。
かかる制御により、予備系から現用系に切り替わった制御装置(1b)において、次回からの該当メモリ領域へのアクセスは、メモリ制御部(15)により、転送速度が、共有記録装置(17)よりも高速なメインメモリ(16)が選択され、データ転送処理の高速化を図ることができる。
本発明についてさらに詳細に説明すべく実施例に即して説明する。図1は、本発明の一実施例の構成を示す図である。図1を参照すると、本発明の一実施例において、現用系の制御装置1aは、データ転送処理を実行するCPU11と、データを記憶する高速なメインメモリ13と、メインメモリ13を制御するメモリ制御部12と、を有している。同様に、予備系の制御装置1bは、CPU14と、メインメモリ16、メモリ制御部15とを有している。現用系の制御装置1aと、予備系の制御装置1bには共有バス19を介して、共有記録装置17が接続されている。本実施例において、共有バス19は、高速、且つ、耐ノイズ性の点から、例えばATA133、Serial−ATA、IEEE1394、USB2.0等の汎用バスが好ましくは用いられる。共有記録装置17は、共有バス19に接続可能な記録装置である。また、制御装置1aと制御装置1bは、故障発生時等に、系の切り替えに必要な情報を伝達するための通信バス18を有している。
現用系の制御装置1aが運用中は、最新データ(あるいは最も近くに更新されたデータ)は、メインメモリ13に書き込まれると同時に、共有バス19を経由して、共有記録装置17に記録される。これにより、データの二重化が実現される。
図2に示すように、現用系の制御装置1aのメモリ制御部12は、データバッファ26を有しており、アクセス速度が、メインメモリ13に対して遅い共有記録装置17への書き込み時間の差による、処理速度の低下を回避する。制御装置1aのCPU11からの書き込みデータは、メモリ制御部12に転送され、メモリ制御部12では、データバッファ26を用いて例えばダブルバッファ処理、DMA(Direct Memory Access)等(ブロック転送)により、共有記録装置17への書き込みを行うことで、I/O時間の短縮を図っている。
また、図2のように、メモリ制御部12は、データ判別ビット21を有しており、最新データが、メインメモリ13に存在するか、あるいは、共有記録装置17に存在するかを判別することができる。データ判別ビット21は、任意のサイズに設定可能な、メモリ領域(エリア)に対して、1ビットが割り当てられる。メモリ領域のサイズは、例えばmKバイト単位(mは任意の整数)とされ、少なくともデータの書き込み(更新)が行われるメインメモリ13(16)のメモリ空間をmKバイトで除した分の個数のデータ判別ビット21(27)がメモリ領域に対応して設けられる。メモリ制御部12(15)は、CPU11(14)からのアクセスアドレスより、対応するデータ判別ビット21(27)を参照することができる。図2に示す例では、メインメモリ(図1の13(16))は、メモリ領域は、エリアaからエリアnよりなり、各エリアに対応してデータ判別ビット22〜25(28〜31)が設けられている。データ判別ビット21(27)は、レジスタ、メモリ等の任意の記憶装置で構成してよい。
現用系の制御装置1aにおいて、CPU11からデータの読み出し要求が発生した際、メモリ制御部12は、アクセスアドレスに対応するメモリ領域のデータ判別ビット21に従い、メインメモリ13、又は、共有記録装置17からデータを読み出す。
データ判別ビット21が無効を示し(最新のデータがメインメモリ13に存在しない)、最新のデータが共有記録装置17に存在しており、メモリ制御部12が、共有記録装置17からデータを読み出した場合には、メモリ制御部12は、該データをCPU11に転送するとともに、メインメモリ13への書き込みを行い、データ判別ビット21を有効とする。これ以降、CPU11から、該当メモリ領域へのアクセスがあった際には、データ判別ビット21が有効に設定されているため、メインメモリ13からデータの読み出しが行われ、処理が高速化される。
図3は、図1に示した本実施例において、CPUからのデータ読み出し時におけるデータの流れを説明するための模式図である。
図4は、図1に示した本実施例において、CPUからのデータ書き込み時におけるデータの流れを説明するための模式図である。
本実施例の動作について、図1、図2、図3、図4を参照して説明する。図5は、本実施例の動作を説明するためのフローチャートである。
信頼性を必要とするシステムにおいては、図1に示すように、現用系/予備系の二重化構成をとり、現用系が故障した際には系の切り替えが行われ、システムが停止することを回避している。
通常運用時の場合、現用系の制御装置1aが運用状態とされており、CPU11からのデータの読み出しは、メインメモリ13より、図3のアクセスaのルート(経路)で実行される。また、通常運用時のCPU11からのデータの書き込みは、図4のアクセスcのルートにて、メインメモリ13と共有記録装置17に対して同時に実行される。
かかる構成により、現用系のメインメモリ13と、共有記録装置17とには、常に、最新データが保持されることになる。
メインメモリ13と比べて、共有記録装置17のアクセス速度は比較的低速とされるが、連続ライト時のシステム処理速度の低下を回避するために、メモリ制御部12内には、データバッファ26(図2参照)が設けられている。
連続ライトの時は、一時的に、このデータバッファ26にデータが保存され、メインメモリ13側へのアクセスに対して、影響を与えない構成とされる。ただし、メモリ制御部12のデータバッファ26が、全てフル状態となった場合においては、次のCPU11からのライト要求を受け付けず、待ち状態(CPU11のライト要求はウエイトされる)として処理する。データバッファ26に空きが生じた場合、CPU11側にレディ等を通知し、CPU11からのライトデータは、メインメモリ13及びデータバッファ26に書き込まれる。
予備系の制御装置1bのメモリ制御部15は、自装置の現用系/予備系の状態を判別し、共有バス19の出力を停止し、バスの競合を回避する。
ここで、現用系の制御装置1aに故障等が発生した場合、現用系の制御装置1aのメモリ制御部12は、データバッファ26の状態を監視して、データバッファ26の処理完了を判断した時点で、通信バス18を介して、切り替え情報を伝達する。この処理により、現用系と予備系の切り替えが実行され、それまで予備系であった制御装置1bは、現用系に切り替えられて、運用が開始される。この時、現用系から予備系に切り替えられた制御装置1aのメモリ制御部12は、共有バス19への出力を停止し(バスドライバの出力をハイインピーダンス状態とする)、現用系となったメモリ制御部15が、共有バス19の占有権を確保する。
系が切り替えられ、現用系となった制御装置1bにおいて、CPU14からデータアクセス要求が発生した場合、メモリ制御部15は、データ判別ビット27(図2参照)に従って、データアクセスを実行する。データ判別ビット27は、任意の大きさに区切られたメモリ領域に対して各々割り当てられている。
次に、図5を参照して、本実施例における、系切り替え後における動作について説明する。
現用系となった制御装置1bのメモリ制御部15は、CPU14からのデータ転送処理アクセスを受け付けた際(ステップ50)、該アクセスのアドレスが含まれるメモリ領域(エリア)のデータ判別ビット27が有効であるか無効であるかを判別する(ステップ51)。
該メモリ領域のデータ判別ビット27が無効である場合(ステップ51のNO分岐)、メモリ制御部15は、対応するメモリ領域の最新データは、共有記録装置17にあるものと判断し、共有記録装置17から、データを読み出す(ステップ55)。ステップ51で、系の切り替え実行後、初めてアクセスする領域の場合、メモリ領域のデータ判別ビット27が無効となる。
そして、該データアクセスが、ライトアクセスの時(ステップ56のYES分岐)、図4のアクセスdのルートに従って、メモリ制御部15内で、CPU14からの更新すべきアドレスのデータのみの更新(データマージ)が行われる。すなわち、データ判別ビット27に対応するメモリ領域内において、更新すべきアドレスのデータのみ更新され、他のアドレスのデータはそのまま保持される。
その後、メインメモリ16、及び、共有記録装置17に、データを書き込み、最新データの二重化を実行する(ステップ57)。データの書き込みが完了した後、該エリアのデータ判別ビット27を有効に更新する(ステップ59)。
また、該エリアのデータ判別ビット27が無効であり、該アクセスがリードアクセスの場合(ステップ56)、図3のアクセスbのルートに従って、データ判別ビット27に対応したメモリ領域のデータを、共有記録装置17から読み出し、CPU14からの要求データをCPU14へ転送すると共に、読み出したエリアのデータはメインメモリ16に書き込みを実行する(ステップ58)。その後、該当エリアの内部判別ビット27を有効に更新する(ステップ59)。
次に、該当エリアのデータ判別ビット27が有効であり(ステップ51のYES分岐)、該当アクセスがライトアクセスである場合(ステップ52のYES分岐)(一度アクセスが実行され、データ判別ビット27が更新されたエリアの場合)は、メモリ制御部15は、最新データがメインメモリ16、及び、共有記録装置17に存在しているものと判断し、図4のアクセスcのルートに従って、メインメモリ16、及び、共有記録装置17へデータを書き込み、最新データの二重化を実行する(ステップ53)。
また、該当エリアのデータ判別ビット27が有効であり(ステップ51のYES分岐)、該当アクセスがリードアクセスである場合(ステップ52のNO分岐)(一度アクセスが実行され、データ判別ビット27が更新されたエリアの場合)、メモリ制御部15は、最新データがメインメモリ16にあるものと判断し、図3のアクセスaのルートに従って、メインメモリ16からデータを読み出し、CPU14へ転送する(ステップ54)。
上記の通り、CPU14からのデータ転送処理アクセスが、無効のメモリ領域に対して発生した際に、最新データを、メインメモリ16への書き込みを実行し、データ判別ビット27を更新する。それ以降に、該当エリアへのアクセスが発生した際には、データ判別ビット27は有効に更新されているため、メインメモリ16へのアクセスとなり、データ転送処理が高速化される。
本実施例によれば、予備系の制御装置として起動された場合、予備系の制御装置のメモリ制御部のデータ判別ビットは、全て無効とされる。これによって、運用中に、系の切り替えが発生した際にも、特別なソフトウェア制御を必要とせずに、最新データの二重化を実現することができる。
また、本実施例によれば、故障中の系(例えば元の現用系)が、装置交換等によって復旧した際にも、特別なソフトウェア制御は必要とせずに、新たに二重化システムを構築することができる。
次に、上記した本実施例の作用効果について説明する。
本実施例によれば、データアクセスのほとんどをメインメモリにて行うことが可能であるため、データ転送処理の高速化を図ることができる。本実施例によれば、現用系/予備系の切り替え時においても、一度アクセスしたメモリ領域については、次回から、メインメモリへのアクセスとなるため、運用時のほとんどがメインメモリへのアクセスとなりデータ処理が高速化される。
本実施例によれば、メモリ制御部に、データ判別ビットを設け、最新データが存在するデバイス認識をハードウェアで制御可能としている。このため、現用系/予備系の切り替え時に、特別なソフトウェア制御を必要とせず、実現を容易化し、コストを低減可能としている。
図6は、本発明の第2の実施例の動作を説明するためのフローチャートである。図6を参照すると、本実施例は、図5を参照して説明した前記実施例の処理動作に対して、ステップ60とステップ64(ステップ61〜63よりなる)が追加されている。なお、図6において、図5の同一の処理ステップには、図5と同一の参照符号(ステップ番号)が付されており、以下では、重複を回避するため、前記実施例と同一ステップの説明は省略する。
現用系/予備系の切り替えが発生した直後においては、予備系から現用系に切り替わった制御装置1bのCPU14からアクセス要求が発生した際に、メモリ制御部15のデータ判別ビット27が無効である状態が多々存在し、このため、共有記録装置17へのアクセス頻度が多くなる場合がある。この様な状況下では、データアクセスに時間を要し、システムのパフォーマンスが低下する可能性がある。
本実施例では、この問題を解決する手段として、メモリ制御部15(12)に、データ先読み機能を備える。CPU14からのデータ要求のアクセスアドレスが、無効エリアに該当した際、データ要求サイクルが完了した後に(ステップ59)、先の要求サイクルアドレスのインクリメントを実行する(ステップ61)。なお、共有記録装置17からのデータ読み込み後のステップ60において、先読み処理中の場合、読み出しアクセスであることから、ステップ56のライトアクセスであるか否かの判別をスキップして、該当エリアへのメインメモリの書き込み処理を行う。
インクリメントされたアドレスが、メモリ制御部15の先読み範囲内(先読み範囲は任意に設定可能)であり(ステップ62)、CPU14からのアクセス要求が、先読み範囲以外のエリアへ発生していない場合(ステップ63)、複数のエリアを連続して、共有記録装置17から、データの先読みを実行する(ステップ55)。
また、アドレスのインクリメントを実行した後(ステップ61)、CPU14からのアクセス要求が先読み範囲以外のエリアへ発生した場合(ステップ62)、CPU14からのアクセス要求を優先する。
CPU14から要求されるアクセスは、よく知られたプログラムの局所性等により、連続するアドレスとなっていることが多い。本実施例では、メモリ制御部15が、予め共有記録装置17から、先読みすることによって、データアクセスの高速化を図ることができる。
また、CPU14から先読みしたデータへのアクセスが直後に実行されない場合においても、先読みデータは、そのままメインメモリ16に書き込まれ、該当エリアのデータ判別ビット27を有効に更新する。
次回、CPU14からのアクセスが該当エリアである場合、メインメモリ16へのアクセスが可能となる。このため、システムの高速化を図ることができる。
なお、図6に示したフローチャートにおいて、制御装置1bのCPU14、メモリ制御部15、メインメモリ16、データ判別ビット27、データバッファ32は、現用系となった制御装置が制御装置1aの場合、CPU11、メモリ制御部12、メインメモリ13、データ判別ビット21、データバッファ26となる。
上記実施例において、制御装置は、サーバであってもよいし、あるいは交換システムの制御系の装置であってもよい。以上本発明を上記実施例に即して説明したが、本発明は、上記実施例にのみ限定されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
本発明の一実施例の構成を示す図である。 本発明の一実施例のメモリ制御部の構成を示す図である。 本発明の一実施例における読み出し動作を説明するための図である。 本発明の一実施例における書き込み動作を説明するための図である。 本発明の一実施例の処理手順を示す流れ図である。 本発明の他の実施例の処理手順を示す流れ図である。
符号の説明
1a 現用系制御装置
1b 予備系制御装置
11、14 CPU
12、15 メモリ制御部(コントローラ)
13、16 メインメモリ
17 共有記録装置
18 通信バス
19 共有バス
21、27 データ判別ビット
22、28 エリアaのデータ判別ビット
23、29 エリアbのデータ判別ビット
24、30 エリアcのデータ判別ビット
25、31 エリアnのデータ判別ビット
26、32 データバッファ
50〜63 ステップ

Claims (10)

  1. 一方が現用系とされ、他方が予備系とされ、それぞれが、現用系から予備系、予備系から現用系に、系の切替が自在とされてなる2つの制御装置と、
    前記2つの制御装置で共用される共有記録装置と、
    を少なくとも含み、
    前記2つの制御装置のそれぞれが、
    CPU(Central Processing Unit)と、メモリと、データの書き込み及び読み出しを制御するメモリ制御部と、
    を有し、
    前記メモリ制御部は、前記メモリに関して予め定められたメモリ領域毎にデータの有効/無効を示すフラグ情報を有し、
    前記現用系の制御装置の前記メモリ制御部は、前記現用系の制御装置の前記CPUからの書き込みデータを、前記フラグ情報に基づき、前記現用系の制御装置の前記メモリと前記共有記録装置とに記憶保持し、
    前記現用系の制御装置の前記CPUからのデータ読み出し要求に対して、前記フラグ情報に基づき、前記現用系の制御装置の前記メモリ又は前記共有記録装置から、データを読み出して、前記現用系の制御装置の前記CPUに供給する手段を備え
    前記現用系の制御装置から、前記予備系の制御装置へ系切替を通知するための通信線を有し、
    前記予備系の制御装置の予備系から現用系への系切替に際して、予備系から現用系に切り替わった前記制御装置の前記メモリ制御部は、自装置のCPUからのデータのアクセス要求を受け付けた場合、アクセスアドレスに対応するメモリ領域のフラグ情報が有効であるか否か判定し、
    前記フラグ情報が無効の場合に、
    前記アクセスアドレスに対応するデータを前記共有記録装置から読み出し、
    前記アクセスがデータ書き込みのときには、前記共有記録装置から読み出したデータと、前記CPUからの書き込みデータとを併合し、併合したデータを、前記メモリと前記共有記録装置とに書き込み、
    前記アクセスがデータ読み出しのときには、前記共有記録装置から読み出しデータを、前記CPUに供給するとともに、前記メモリへ書き込んで、前記フラグ情報を有効とし、
    一方、前記フラグ情報が有効の場合、
    前記アクセスがデータ書き込みのときには、前記メモリ及び前記共有記録装置にデータを書き込み、
    前記アクセスがデータ読み出しのときには、前記メモリからデータを読み出して前記CPUに供給する、制御を行う、ことを特徴とするデータ二重化装置。
  2. 前記メモリ制御部において、前記メモリ領域毎に設けられる各フラグ情報は、有効/無効に対応した値を保持するビットよりなる、ことを特徴とする請求項1に記載のデータ二重化装置。
  3. 前記メモリ制御部は、前記メモリ領域毎に設けられるフラグ情報の有効/無効の判定をハードウェア回路で行う構成とされている、ことを特徴とする請求項1又は2に記載のデータ二重化装置。
  4. 前記メモリ制御部は、前記共有記録装置との間で、入力及び/又は出力を行うデータを一時的に蓄積するためのデータバッファを少なくとも1つ備えている、ことを特徴とする請求項1乃至のいずれか一に記載のデータ二重化装置。
  5. 前記メモリ制御部は、前記共有記録装置からデータを読み出すにあたり、
    読み出し対象のメモリ領域に対応するデータを前記共有記録装置から読み出すとともに、他のメモリ領域に対応するデータを前記共有記録装置から先読みする、ことを特徴とする請求項1に記載のデータ二重化装置。
  6. 前記メモリ制御部は、前記共有記録装置との間で、入力及び/又は出力を行うデータを一時的に蓄積するためのデータバッファを少なくとも1つ備え、
    前記現用系の制御装置に障害が発生した場合、前記現用系の制御装置の前記メモリ制御部は、前記データバッファの状態を監視して、前記データバッファの処理が完了した時点で、前記通信線を介して、切り替え情報を、前記予備系の制御装置に伝達し、現用系と予備系の切替が行われ、それまで予備系であった制御装置は、現用系に切り替えられて運用が開始される、ことを特徴とする請求項記載のデータ二重化装置。
  7. 前記メモリ制御部は、前記現用系の制御装置の前記CPUからのデータ読み出し要求のアドレスが、前記フラグ情報が無効のメモリ領域に該当した際、前記共有記録装置からのデータ読み出しが完了した後に、前記アドレスを増加させ、増加させた前記アドレスが、前記メモリ制御部の先読み範囲内であり、且つ、前記現用系の制御装置の前記CPUからのアクセス要求が、先読み範囲以外の領域へ発生していない場合には、前記共有記録装置からデータの先読みを実行する、ことを特徴とする請求項記載のデータ二重化装置。
  8. 前記メモリ制御部は、前記アドレスを増加させた後、前記現用系の制御装置の前記CPUからのアクセス要求が、前記先読み範囲以外のメモリ領域に対して発生した場合、前記現用系の制御装置の前記CPUからのアクセス要求を優先させる、ことを特徴とする請求項記載のデータ二重化装置。
  9. 前記制御装置の前記メモリは、メインメモリである、ことを特徴とする請求項に記載のデータ二重化装置。
  10. 一方が現用系のとき他方は予備系とされ、それぞれが、現用系から予備系、予備系から現用系に、系の切替が自在とされてなる2つの制御装置と、
    前記2つの制御装置で共用される共有記録装置と、
    を少なくとも含み、
    前記2つの制御装置のそれぞれが、CPUと、メモリと、データの書き込み及び読み出しを制御するメモリ制御部と、を有し、前記メモリ制御部内に、前記メモリに関して予め定められたメモリ領域毎にデータの有効/無効を示すフラグ情報を有する二重化装置による、データ二重化方法であって、
    現用系の制御装置が運用中に、前記現用系の制御装置の前記メモリ制御部は、前記現用系の制御装置の前記CPUからの書き込みデータを、前記フラグ情報に基づき、前記現用系の制御装置の前記メモリと前記共有記録装置とに記憶保持するステップと、
    前記現用系の制御装置の前記CPUからのデータ読み出し要求に対して、前記フラグ情報に基づき、前記現用系の制御装置のメモリ又は前記共有記録装置からデータを読み出し、読み出したデータを前記現用系の制御装置の前記CPUに供給するステップと、
    を含
    前記現用系の制御装置から、前記予備系の制御装置へ系切替を通知するための通信線を設けておき、
    前記予備系の制御装置の予備系から現用系への系切替に際して、予備系から現用系に切り替わった前記制御装置の前記メモリ制御部は、
    自装置のCPUからのデータのアクセス要求を受け付けた場合、アクセスアドレスに対応するメモリ領域のフラグ情報が有効であるか否か判定するステップと、
    前記判定の結果、前記フラグ情報が無効の場合に、
    前記アクセスアドレスに対応するデータを前記共有記録装置から読み出すステップと、
    前記アクセスがデータ書き込みのときには、前記共有記録装置から読み出したデータと、前記CPUからの書き込みデータとを併合し、併合したデータを、前記メモリと前記共有記録装置とに書き込むステップと、
    前記アクセスがデータ読み出しのときには、前記共有記録装置から読み出しデータを、前記CPUに供給するとともに、前記メモリへ書き込んで、前記フラグ情報を有効とするステップと、
    を有し、
    一方、前記判定の結果、前記フラグ情報が有効の場合、
    前記アクセスがデータ書き込みのときには、前記メモリ及び前記共有記録装置にデータを書き込むステップと、
    前記アクセスがデータ読み出しのときには、前記メモリからデータを読み出して前記CPUに供給する、制御を行うステップと、
    を有する、ことを特徴とするデータ二重化方法。
JP2003382370A 2003-11-12 2003-11-12 データ二重化装置及び方法 Expired - Fee Related JP4030951B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003382370A JP4030951B2 (ja) 2003-11-12 2003-11-12 データ二重化装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003382370A JP4030951B2 (ja) 2003-11-12 2003-11-12 データ二重化装置及び方法

Publications (2)

Publication Number Publication Date
JP2005148910A JP2005148910A (ja) 2005-06-09
JP4030951B2 true JP4030951B2 (ja) 2008-01-09

Family

ID=34691472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003382370A Expired - Fee Related JP4030951B2 (ja) 2003-11-12 2003-11-12 データ二重化装置及び方法

Country Status (1)

Country Link
JP (1) JP4030951B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5352299B2 (ja) * 2009-03-19 2013-11-27 株式会社日立製作所 高信頼性計算機システムおよびその構成方法
JP5634379B2 (ja) * 2011-10-27 2014-12-03 株式会社日立製作所 計算機システムおよび計算機システムの情報保存方法

Also Published As

Publication number Publication date
JP2005148910A (ja) 2005-06-09

Similar Documents

Publication Publication Date Title
US5941964A (en) Bridge buffer management by bridge interception of synchronization events
US7487298B2 (en) Disk array device, method for controlling the disk array device and storage system
JP3266470B2 (ja) 強制順序で行う要求毎ライト・スルー・キャッシュを有するデータ処理システム
KR20210093531A (ko) 응용 프로세서와 데이터를 제공하는 데이터 저장 장치를 포함하는 시스템
JP4030951B2 (ja) データ二重化装置及び方法
US5974491A (en) High speed data transfer apparatus for duplexing system
JP2002024085A (ja) ディスクキャッシュシステム、及びその制御方法
EP1895427B1 (en) Data processing system, data processing apparatus, and data processing method
US8239652B2 (en) Data processing system
JP2006099802A (ja) 記憶制御装置およびキャッシュメモリの制御方法
US7805576B2 (en) Information processing system, information processing board, and method of updating cache tag and snoop tag
JP2007226641A (ja) 情報処理装置、キャッシュ制御方法及びプログラム
JP3162459B2 (ja) データ処理装置
JPH11184761A (ja) リードモディファイライト制御システム
US5546560A (en) Device and method for reducing bus activity in a computer system having multiple bus-masters
JPH07319637A (ja) ディスク装置の制御装置およびディスク装置の制御方 法
JP5321782B2 (ja) 二重化システム及びメモリコピー方法
JP3940701B2 (ja) ディスクアレイ装置及び同装置に適用されるキャッシュ一致化制御方法
JPH0324634A (ja) 二重系システム装置
JP2701739B2 (ja) プロセッサの系切替え方式
JP2001265653A (ja) データ処理装置
CN120407463A (zh) 控制器和设备
JPH11237959A (ja) 多重書き込み記憶装置
WO2007110914A1 (ja) マルチプロセッサシステムおよびマルチプロセッサシステムの動作方法
JP2004164666A (ja) 記憶制御装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070529

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070725

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071017

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees