(57)【要約】【課題】  制御側機器から待機側機器にコピーすべき領域が主記憶内の連続していない領域に確保されるので、冗長化プログラムがコピーすべき領域を判断し、転送単位毎にアドレスや転送長さを付加して転送するためにソフトウエアの負荷が大きくなる。また、転送単位毎にソフトウエアで判定、指示を行わなければならないので、ハードウエアの転送能力を十分生かすことができなかったという課題を解決する。【解決手段】  冗長化ドライバソフトはコピー領域毎に先頭アドレスとデータ長を指定したコピーデータ転送リストを作成し、自動転送部に転送を指示する。自動転送部はコピーデータ転送リストを参照してコピーすべきデータを収集し、アドレス等の付加情報を追加して待機側機器の格納部に送信する。格納部は、付加情報から書き込むべき領域を特定し、送られてきたデータを格納する。冗長化ドライバソフトは転送を指示するだけでよいので、負荷が軽減される。【選択図】                    図１
2006178735.tif 000002
【特許請求の範囲】
【請求項１】
制御動作を行う制御側機器と、この制御側機器に故障が発生したときに、前記制御側機器を代替えする待機側機器とを有し、前記制御側機器内の記憶装置の複数の領域に分割されたコピー領域のデータを前記待機側機器内の記憶装置の対応する領域にコピーし、前記コピー領域に格納されたデータと前記対応する領域に格納されたデータを同一に維持する冗長化システムにおいて、
前記制御側機器に配置され、前記分割されたコピー領域を特定するコピーデータ転送リストを作成して保存するプロセッサと、
前記プロセッサによって起動され、前記コピーデータ転送リストに基づいて前記分割されたコピー領域からデータを読み出し、前記待機側機器に送信する自動転送部と、
前記待機側機器に配置され、前記自動転送部から送信されたデータを対応する記憶領域に書き込む格納部と、
を具備したことを特徴とする冗長化システム。
【請求項２】
前記制御側機器および前記待機側機器は前記記憶装置が接続される内部バスを有し、前記自動転送部および前記格納部は、前記内部バスのマスタとなる機能を有することを特徴とする請求項１記載の冗長化システム。
【請求項３】
前記自動転送部は送信するデータに付加情報を追加して送信し、前記格納部はこの付加情報に基づいて書き込む領域を特定するようにしたことを特徴とする請求項１若しくは請求項２記載の冗長化システム。
【請求項４】
前記コピーデータ転送リストは、前記分割されたコピー領域各々の先頭アドレスおよびデータ長で構成されることを特徴とする請求項１乃至請求項３のいずれかに記載の冗長化システム。
【請求項５】
前記付加情報に、前記待機側機器に内蔵されている記憶装置の制御コマンドを追加し、前記格納部はこの制御コマンドを用いて前記記憶装置にアクセスするようにしたことを特徴とする請求項３若しくは請求項４記載の冗長化システム。
【請求項６】
前記コピーデータ転送リストに、前記制御コマンドを付加するようにしたことを特徴とする請求項５記載の冗長化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御側機器と待機側機器で構成される冗長化システムにおいて、特にネットワークベース生産システムに用いて好適な冗長化システムに関するものである。
【背景技術】
【０００２】
図５に冗長化システムの構成を示す。このシステムは制御側機器１０と待機側機器１１の２つの機器で構成される。制御側機器１０は、汎用ＯＳと冗長化ドライバソフトが動作するＣＰＵ１２，このＣＰＵ１２に接続され、主記憶１４と内部バス１５の制御を行うＣＰＵインターフェイス・メモリ制御部１３，このＣＰＵインターフェイス・メモリ制御部１３に接続され、プログラムとデータが格納される主記憶１４、内部バス１５，この内部バス１５に接続される冗長化バス制御部１６と周辺機能部１７，この周辺機能部１７に接続され、不揮発性データが格納されるフラッシュＲＯＭ１８，電池でバックアップされ、不揮発性データが格納されるＳＲＡＭ１９、プログラムと大容量データが格納されるハードディスク２０で構成される。冗長化バス制御部１６には、データの一時保管用に内蔵ＲＡＭ２１が内蔵されている。また、この実施例では、内部バス１５としてＰＣＩバスを用いている。
【０００３】
待機側機器１１は制御側機器１０と同じ構成を有している。すなわち、ＣＰＵ２２，ＣＰＵインターフェイス・メモリ制御部２３，主記憶２４，内部バス２５，冗長化バス制御部２６，周辺機能部２７，フラッシュＲＯＭ２８，ＳＲＡＭ２９およびハードディスク３０で構成される。冗長化バス制御部２６には内蔵ＲＡＭ３１が内蔵されている。また、制御側機器１０と待機側機器１１は冗長化バス３２で接続されている。この冗長化バス３２は、冗長化バス制御部１６，２６で制御される。
【０００４】
このような冗長化システムでは、制御側機器１０と待機側機器１１が保有するデータを同一にしておくデータの等値化を行わなければならない。そのため、運転開始時に制御を一旦停止し、制御側機器１０から待機側機器１１にデータをコピーする。データが一致した時点で制御を再開し、その後は、制御を停止することなく、変更されたデータのみ制御側機器１０から待機側機器１１にコピーを行う。
【０００５】
図６に主記憶１４のメモリマップの一例を示す。主記憶１４は、コピー領域、未使用領域、コピー禁止領域等で構成される。これらの領域の中で、コピー領域に格納されたデータを、冗長化バス３２を介して待機側機器１１に転送する。汎用ＯＳを用いているため、コピー領域は連続したメモリ空間に確保することができず、禁止領域、未使用領域、コピー領域が混在している。禁止領域のコピーを防ぎ、かつコピー時間を短縮するために、コピー領域のデータのみ待機側機器１１に転送する。
【０００６】
主記憶１４のデータを主記憶２４にコピーするには、以下の手順で行う。コピー領域が主記憶１４中の不連続な区間に分割されているので、まずコピー領域を判別する。次に、冗長化ドライバソフトは、冗長化バス３２の一転送単位毎に主記憶１４のコピー領域を分割し、冗長化バス制御部１６にデータのセットと起動を指示する。このとき、データのアドレスや容量のデータを付加する。これらのデータは経路３３により内蔵ＲＡＭ２１に転送される。
【０００７】
内蔵ＲＡＭ２１に転送されたデータは、冗長化バス３２を経由して経路３４により内蔵ＲＡＭ３１に転送される。待機側機器１１の冗長化ドライバソフトは、内蔵ＲＡＭ３１に転送されたデータを、添付された付加情報を参照して、経路３５によって主記憶２４の適正な場所に格納する。このようにして、主記憶１４のデータが主記憶２４にコピーされる。
【０００８】
次に、ＳＲＡＭ１９のデータをＳＲＡＭ２９に転送する手順を説明する。ＳＲＡＭ１９のデータを直接ＳＲＡＭ２９に転送することは出来ない。そのため、経路３６によって一旦主記憶１４に転送した後、上記の手順で主記憶２４に転送する。待機側機器１１の冗長化ドライバソフトは、主記憶２４に転送されたデータを経路３７によってＳＲＡＭ２９に転送する。
【０００９】
従来の冗長化システムの構成を示したものとして、例えば特許文献１に記載されたものがあった。
【特許文献１】特開平６−２４２９７９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、このような冗長化システムには次のような課題があった。前述したように、コピー領域は不連続な区間に確保される。このため、冗長化ドライバソフトはコピー領域を判別し、冗長化バス３２の転送単位毎にアドレスなどのデータを付加して転送しなければならず、ソフトウエアの負荷が大きくなってしまうという課題があった。また、転送時に毎回ソフトウエアでコピー領域の判定や指示を行わなければならないため、ハードウエアの転送能力を充分に生かすことができないという課題もあった。
【００１１】
これらの理由により、データの転送速度を高くすることができず、冗長化運転時にＣＰＵの負荷が増大する。また開発時にはコピーすべきデータ領域のマッピング方法や容量がわからないので、どのようなデータにも対応できる冗長化ドライバソフトが必要になるため、ソフトウエアの開発工数が増大してしまうという課題もあった。
【００１２】
従って本発明が解決しようとする課題は、ソフトウエアがコピー領域のリストを準備するだけで、データコピーで使用するハードウエアの転送能力をフルに活用することができる冗長化システムを提供することにある。
【課題を解決するための手段】
【００１３】
このような課題を達成するために、本発明のうち請求項１記載の発明は、
制御動作を行う制御側機器と、この制御側機器に故障が発生したときに、前記制御側機器を代替えする待機側機器とを有し、前記制御側機器内の記憶装置の複数の領域に分割されたコピー領域のデータを前記待機側機器内の記憶装置の対応する領域にコピーし、前記コピー領域に格納されたデータと前記対応する領域に格納されたデータを同一に維持する冗長化システムにおいて、
前記制御側機器に配置され、前記分割されたコピー領域を特定するコピーデータ転送リストを作成して保存するプロセッサと、
前記プロセッサによって起動され、前記コピーデータ転送リストに基づいて前記分割されたコピー領域からデータを読み出し、前記待機側機器に送信する自動転送部と、
前記待機側機器に配置され、前記自動転送部から送信されたデータを対応する記憶領域に書き込む格納部と、
を具備したものである。プロセッサは自動転送部を起動するだけでよい。
【００１４】
請求項２記載の発明は、請求項１記載の発明において、
前記制御側機器および前記待機側機器は前記記憶装置が接続される内部バスを有し、前記自動転送部および前記格納部は、前記内部バスのマスタとなる機能を有したものである。自動転送部と格納部は自律的に内部バスにアクセスできる。
【００１５】
請求項３記載の発明は、請求項１若しくは請求項２記載の発明において、
前記自動転送部は送信するデータに付加情報を追加して送信し、前記格納部はこの付加情報に基づいて書き込む領域を特定するようにしたものである。格納部は格納先を正確に把握できる。
【００１６】
請求項４記載の発明は、請求項１乃至請求項３のいずれかに記載の発明において、
前記コピーデータ転送リストは、前記分割されたコピー領域各々の先頭アドレスおよびデータ長で構成するようにしたものである。リストを短くできる。
【００１７】
請求項５記載の発明は、請求項３若しくは請求項４記載の発明において、
前記付加情報に、前記待機側機器に内蔵されている記憶装置の制御コマンドを追加し、前記格納部はこの制御コマンドを用いて前記記憶装置にアクセスするようにしたものである。ドライバソフトがなくてもアクセスできる。
【００１８】
請求項６記載の発明は、請求項５記載の発明において、
前記コピーデータ転送リストに、前記制御コマンドを付加するようにしたものである。格納部が制御コマンドを保持する必要がない。
【発明の効果】
【００１９】
以上説明したことから明らかなように、本発明によれば次のような効果がある。
請求項１，２，３，４、５および請求項６の発明によれば、プロセッサがコピーデータ転送リストを作成し、自動転送部がこのリストを参照して自動的にコピー領域のデータを取得して待機側機器に送信し、待機側機器の格納部がこのデータを格納するようにした。
【００２０】
プロセッサがコピーデータ転送リストを作成して指示するだけで、制御側機器から待機側機器にデータのコピーができるので、プロセッサの負荷が大幅に軽減される。そのため、プロセッサは他の機能を実行することができるという効果がある。また、コピーのためのソフトウエアが簡単になるので、ソフトウエアの開発工数が１／５程度と大幅に削減されるという効果もある。
【００２１】
また、ハードウエア資源を有効に活用できるという効果もある。さらに、データに付加情報として記憶装置の制御コマンドを付加することにより、ドライバソフトがなくても記憶装置にアクセスすることができるという効果もある。
【００２２】
さらに、マスタ機能部４１，４６を内蔵することにより、コピー時間が大幅に短縮されるという効果もある。例えば、１８Ｍバイトのデータをコピーするのに、従来では１８秒要していたものが、３秒でコピーできるようになる。
【発明を実施するための最良の形態】
【００２３】
以下本発明を図面を用いて詳細に説明する。図１に本発明に係る冗長化システムの構成を示す。なお、図５と同じ要素には同一符号を付し、説明を省略する。図１において、３８は制御側機器であり、図５の制御側機器１０と同様に構成を有している。また、３９は待機側機器であり、図５の待機側機器１１と同様の構成を有している。
【００２４】
４０は制御側機器３８に内蔵されている冗長化バス制御部であり、図５の冗長化バス制御部１６と同様の構成を有しているが、機能が追加されている。すなわち、マスタ機能部４１，自動転送部４２および格納部４３が追加されている。なお、４４は冗長化バス制御部４０に内蔵されている内蔵ＲＡＭである。なお、ＣＰＵ１２によって動作する冗長化ドライバソフトは、コピー領域中のデータを転送するのに先立って、内蔵ＲＡＭ４４にコピーデータ転送リストを作成する。
【００２５】
マスタ機能部４１は内部バス１５のインターフェイスであり、この内部バス１５のマスタになることができる機能を有する。冗長化バス制御部４０は、このマスタ制御部４１を内蔵することにより、内部バス１５のマスタとなることができる。
【００２６】
自動転送部４２は、内蔵ＲＡＭ４４に格納されたコピーデータ転送リストに基づいて主記憶１４やＳＲＡＭ１９からデータを取得し、このデータを冗長化バス３２を介して待機側機器３９の冗長化バス制御部４５に送信する。この自動転送部４２は、設置されている機器が制御側機器である場合のみ機能する。
【００２７】
格納部４３は、冗長化バス３２を経由して送られてきたデータを内部デバイスに書き込む。書き込むデバイスと書き込みアドレスは、データに付加されて送信されてきた付加情報に基づいて決定する。なお、格納部４３は制御側機器３８に設置されているので、休止状態におかれている。
【００２８】
４５は待機側機器３９に内蔵されている冗長化バス制御部であり、図５の冗長化バス制御部２６と同様の構成を有しているが、機能が追加されている。すなわち、マスタ機能部４６，自動転送部４７および格納部４８が追加されている。なお、４９は冗長化バス制御部４５に内蔵されている内蔵ＲＡＭである。
【００２９】
マスタ機能部４６は内部バス２５のマスタになれる機能を有している。このマスタ機能部４６を内蔵することにより、冗長化バス制御部４５は内部バス２５のマスタになることができる。
【００３０】
自動転送部４７は、自動転送部４２と同様の動作を行う。すなわち、主記憶２４やＳＲＡＭ２９からデータを取得し、冗長化バス３２を介して送信する。しかし、自動転送部４７は待機側機器３９に設置されているので、休止状態におかれている。
【００３１】
格納部４８は、冗長化バス３２を経由して送られてきたデータを内部デバイスに書き込む。書き込むデバイスと書き込みアドレスは、データに付加されて送信されてきた付加情報に基づいて決定する。
【００３２】
すなわち、主記憶１２内のコピー領域のデータは、経路５０，５１、５２を経て主記憶２４にコピーされる。また、ＳＲＡＭ１９内のコピー領域のデータは、経路５３．５１、５４を経てＳＲＡＭ２９にコピーされる。
【００３３】
次に、図２に基づいて制御側機器３８から待機側機器３９にデータをコピーする手順を説明する。図２において、工程（Ａ−１）で制御側機器３９の冗長化ドライブソフトは、コピー領域を判別し、コピーデータの転送リストを内蔵ＲＡＭ４４に作成する。このコピーデータ転送リストには、主記憶１４だけでなくＳＲＡＭ１９等他の記憶装置のコピー領域を一括して含めることができる。
【００３４】
次に、工程（Ａ−２）で冗長化ドライバソフトは、冗長化バス制御部４０に自動転送の起動を指示する。自動転送の起動を指示された冗長化バス制御部４０は、工程（Ａ−３）で内蔵ＲＡＭ４４に格納されたコピーデータ転送リストに基づいてコピー領域のデータを取得し、このデータにアドレス等の情報を付加し、冗長化バス３２を介して冗長化バス制御部４５に送信する。冗長化バス制御部４５は、工程（Ａ−４）で付加情報によって書き込むべきデバイスとアドレスを特定し、送られてきたデータを書き込む。
【００３５】
工程（Ａ−５）でコピーが完了したかを判定し、完了すると工程（Ａ−６）で冗長化バス制御部４０は制御側機器３８のＣＰＵ１２に転送完了を通知する。
【００３６】
データのコピーは冗長化バス制御部４０，４５が行うので、制御側機器３８のＣＰＵ１２はコピーデータ転送リストを作成して、冗長化バス制御部４０に自動転送を指示するだけでよく、後は転送が完了するのを待っているだけでよい。そのため、ＣＰＵ１２の負荷が大幅に低減される。
【００３７】
図３に、内蔵ＲＡＭ４４に作成されるデータ転送リストの構成を示す。図３左側は主記憶１４とＳＲＡＭ１９のメモリマップである。コピー領域５５〜５８が不連続な領域に確保されている。ＳＲＡＭ１９には１つのコピー領域５９が確保されている。
【００３８】
図３右側は内蔵ＲＡＭ４４に作成されるコピー転送リストの一例である。６０〜６４にはコピーデータの先頭アドレスとデータ長が格納された領域であり、それぞれ主記憶１２およびＳＲＡＭ１９のコピー領域に対応している。すなわち、コピー領域５５の先頭アドレスとデータ長は領域６０に格納され、コピー領域５６の先頭アドレスとデータ長は領域６１に格納される。以下同様に格納される。ＳＲＡＭ１９中のコピー領域５９の先頭アドレスとデータ長は、領域６４に格納される。
【００３９】
制御側機器３８の自動転送部４２はこのコピー転送リストを参照し、主記憶１２やＳＲＡＭ１９等の内部デバイスの指定されたアドレスからデータ長分のデータを取り出し、このデータにアドレス等の付加情報を追加して冗長化バス３２を経由して冗長化バス制御部４５に送信する。冗長化バス制御部４０はマスタ制御部４１を内蔵しているので、ＣＰＵ１２を経由することなく内部デバイスのデータを参照することができる。
【００４０】
待機側機器３９の格納部４８は、冗長化バス３２を経由して送られてきたデータを待機側機器３９の内部デバイスに書き込む。冗長化バス制御部４５もマスタ制御部４６を内蔵しているので、ＣＰＵ２２の助けを借りることなく、指定された内部デバイスにデータを書き込むことができる。
【００４１】
なお、この実施例では制御側機器３８の冗長化バス制御部４０と待機側機器３９の冗長化バス制御部４５を同じ構成としたが、前述したように、制御側機器３８では格納部４３はなくてもよく、待機側機器３９では自動転送部４７は省略してもよい。また、冗長化バス制御部４０，４５にマスタ制御部４１，４６を設けるようにしたが、自動転送部４２，４７と格納部４３，４８がそれぞれ内部バス１５，２５のマスタとなれる機能を有するようにしてもよい。
【００４２】
図４に制御側機器３８，待機側機器３９に内蔵されている記憶装置の制御コマンドの例を示す。この制御コマンドはフラッシュＲＯＭの制御コマンドであり、１ｓｔバスライトサイクルから６ｔｈバスライトサイクルの間に指定のアドレスとデータを与えることにより、所定の動作を行わせることができる。
【００４３】
例えば、プログラム（データ書き込み）を行うときは、１ｓｔバスサイクルでアドレス５５５Ｈ、データＡＡＨを、２ｎｄバスサイクルでアドレス２ＡＡＨ、データ５５Ｈを、３ｒｄバスサイクルでアドレス５５５Ｈ、データＡ０Ｈを、４ｔｈバスサイクルでアドレスに書き込むアドレスを、データに書き込みデータを与えればよい。
【００４４】
この制御コマンドをコピーデータ転送リストに書き込んでおき、付加情報としてデータに添付して待機側機器３９の格納部４８に転送する。格納部４８は転送された制御コマンドを順番にフラッシュＲＯＭに与えることにより、プログラムや読み出し（リード）、イレーズなどの操作を行うことができる。
【００４５】
このようにすると、フラッシュＲＯＭのドライバソフトがなくても、書き込み等の動作を行うことができる。そのため、格納部４８は、転送されたデータを主記憶２４に格納することなく、直接フラッシュＲＯＭ２８に書き込むことができる。
【００４６】
なお、フラッシュＲＯＭだけでなく、ハードディスクも同様の手順でドライバソフトを用いることなくデータの書き込みを行うことができる。
【００４７】
また、この冗長化システムはネットワークベース生産システムだけでなく、冗長化された分散制御システムやＰＬＣ(Programmable Logic Controller)に適用することもできる。
【図面の簡単な説明】
【００４８】
【図１】本発明の一実施例を示す構成図である。
【図２】本発明の一実施例の動作を示すフローチャートである。
【図３】コピーデータ転送リストの構成図である。
【図４】記憶装置の制御コマンドの一例を示す表である。
【図５】従来の冗長化システムの構成図である。
【図６】主記憶のメモリマップを示す図である。
【符号の説明】
【００４９】
３８  制御側機器
３９  待機側機器
４０、４５  冗長化バス制御部
４４，４９  内蔵ＲＡＭ
４１，４６  マスタ制御部
４２，４７  自動転送部
４３，４８  格納部
１２，２２  ＣＰＵ
３２  冗長化バス
５５〜５９  コピー領域
【図１】
2006178735.tif 000003
【図２】
2006178735.tif 000004
【図３】
2006178735.tif 000005
【図４】
2006178735.tif 000006
【図５】
2006178735.tif 000007
【図６】
2006178735.tif 000008