JPH08272666A - データバックアップ方法と、ミラーリング装置と、その 制御方法。 - Google Patents
データバックアップ方法と、ミラーリング装置と、その 制御方法。Info
- Publication number
- JPH08272666A JPH08272666A JP7109899A JP10989995A JPH08272666A JP H08272666 A JPH08272666 A JP H08272666A JP 7109899 A JP7109899 A JP 7109899A JP 10989995 A JP10989995 A JP 10989995A JP H08272666 A JPH08272666 A JP H08272666A
- Authority
- JP
- Japan
- Prior art keywords
- data
- scsi
- circuit
- output
- same
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2071—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
(57)【要約】
【目的】コンピュータシステム等においてのデータの消
失事故の防止。 【構成】データの保存処理動作を行う場合において、こ
れをローカルループ内の記憶デバイスだけでなくリモー
トループの記憶デバイスにおいても同時に行わせる事を
特徴としているデータのバックアップ方法とバックアッ
プに有効な低価格での供給が可能なミラーリング装置の
制御方法。
失事故の防止。 【構成】データの保存処理動作を行う場合において、こ
れをローカルループ内の記憶デバイスだけでなくリモー
トループの記憶デバイスにおいても同時に行わせる事を
特徴としているデータのバックアップ方法とバックアッ
プに有効な低価格での供給が可能なミラーリング装置の
制御方法。
Description
【0001】
【産業上の利用分野】この発明は、ネットワーク化され
たコンピュータシステムにおいて利用することが出来る
データバックアップ方法と、これをより有効とするハー
ドウェア及びその制御方法に関するものである。
たコンピュータシステムにおいて利用することが出来る
データバックアップ方法と、これをより有効とするハー
ドウェア及びその制御方法に関するものである。
【0002】
【従来の技術】従来のコンピュータネットワークシステ
ムにおけるバックアップ方法はコンピュータシステム内
で使用されるハードウェアの突発的な故障により起こり
得るデータ消失事故の防止を主としていたため、これ以
外の原因による場合においては、データ消失事故が発生
する事があるという問題があった。以下、これはどの様
な場合に起こり得るかを、具体的な例をあげて説明を行
う。現在、各方面においてネットワーク化されたコンピ
ュータシステムが数多く使用されており、その性能の向
上に伴いシステム内で使用される記憶装置においても高
速、大容量化が行われている。この記憶装置において現
在主流となっているのがハードディスクドライブ『以下
HDD』であるが、このHDDにおいてもこれを使用す
る場合において問題点がある。これはクラッシュと呼ば
れHDDが、このクラッシュを起こしてしまうと、HD
Dの中の記憶データの一部または場合によっては、すべ
てのデータの読みだしが不可能となってしまうものであ
る。この様な状態が業務用として使用しているコンピュ
ータシステムで起こった場合には、一瞬にして大量のデ
ータが消失する事となり時間的、経済的に非常に大きな
損害が発生してしまう。業務用として使用されているコ
ンピュータシステムではネットワーク化を行った、複数
のコンピュータを使用するのが一般的となっており、こ
の様なシステムにおけるメイン側コンピュータで使用さ
れるHDDがクラッシュを起こした場合にはシステム全
体が使用不能となる事もあるため、HDDを使用する場
合にはデータの消失を防止するための何等かの手段が用
いられているのが普通であり、よく行われる方法がHD
Dのデータのバックアップを取っておくという方法であ
る。このバックアップ方法において、業務用のネットワ
ーク化されたコンピュータシステムのメイン側コンピュ
ータで良く用いられる方法としては。 1.ディスクミラーリングを行う方法。 a.ソフトウェアにより1台のHDDに2つのパーテー
ションを行うか、又は2台のHDDの各々に同一のデー
タを書き込んで、データの2重化を行う。 b.ミラーリング専用のハードウェアを使用し2台のH
DDに各々同一のデータを書き込んで、データの2重化
を行う。 2.ディスクデュプレキシングを行う方法。 c.1のディスクミラーリングに用いる2台のHDDを
ディスクチャンネルも含めて別々のものとし、これに各
々に同一のデータを書き込んでデータの2重化を行う事
により、信頼性を高めたもの。この場合にも専用のデュ
プレキシングミラーリング装置もある。 3.RAID(Redundant Array of
Inexpensi−ve Disks)を用いる方
法。 d.HDDを並列に接続して利用する冗長構成のディス
クアレイ装置で消失データの復旧機能を持つため信頼性
が高い。 といったものが使用されている。これらをメイン側コン
ピュータで良く用いられる方法として説明したのは、上
記のc又はdをメイン側コンピュータに使用しておけ
ば、少なくともHDDのクラッシュによって全てのデー
タが消失してしまうという、最悪の事態は防止出来ると
考えられている事によるものである。しかしながら、上
記の方法を用い又HDD以外の例えば電源の寸断や停電
に対しての対策が行われたコンピュータシステムにおい
ても、従来のバックアップ方法ではすべてのデータが消
失する可能性が残っている。確かにメイン側コンピュー
タのHDDをディスクデュプレキシング方式としておけ
ば、常に同一のデータが2台の別々のHDDに書き込ま
れるので1台がクラッシュしたとしても、もう1台のH
DDに必ず正常なデータが残っているし、RAIDを使
用した場合もディスクアレイの一部がクラッシュしても
データの復旧機能により正常なデータが残る。しかし、
このデータが必ず残るという状態が確保出来るのは、通
常の自然故障が原因となっている場合である、ディスク
デュプレキシングの場合だと2チャンネルの別々のイン
ターフェースボードとコントローラーを使用した2台の
HDDが全く同時に故障する確率は非常に低いものであ
り、同様にRAIDを使用した場合もデータの復旧が行
えなくなるような複数のアレイが全く同時に故障する確
率も非常に低いため、この確率の低さによって成り立っ
ている方法である。しかしながら電気的、機械的な自然
故障についてのみ考えれば、この確率の低さは非常に小
さくなるものの、これに自然故障以外の要因が加わると
その確率は桁違いに大きなものとなってしまう。この、
自然故障以外の要因の中で一番問題になると考えられる
のが、地震、火災、水害といった災害である。この様な
災害が起こった場合、地震においてはHDDやディスク
アレイ等の記憶装置そのものが設置場所から落下して、
全て同時に故障、破損して読みだし不能となる場合や、
設置場所周辺の機材や壁や天井が落下しこれにより記憶
装置全体が破損する場合などが考えられる。火災の場合
も記憶装置そのものが燃えて無くなる場合や、周囲温度
の上昇などにより使用不能となる場合、水害についても
記憶装置そのものが水没して使用不能となってしまう場
合などが考えられる。これら災害時に共通することは、
記憶装置全体が同時に破損、故障し使用不能となる可能
性が非常に高い事である。つまり、この様な災害時にお
いては従来の方法によって、単にミラーリングやデュプ
レキシングを行っても、ほとんどその効果を期待できな
いという事である。本来のバックアップ方法に要求され
る性能はデータが使用されていたコンピュータシステム
(ハードウェア)がどの様な状況となった場合において
も、最低1つのデータは確保できるという方法でなくて
はならない。そこで、上記のような災害時においても確
実なデータのバックアップを行うために考案されたのが
本発明によるバックアップ方法である。
ムにおけるバックアップ方法はコンピュータシステム内
で使用されるハードウェアの突発的な故障により起こり
得るデータ消失事故の防止を主としていたため、これ以
外の原因による場合においては、データ消失事故が発生
する事があるという問題があった。以下、これはどの様
な場合に起こり得るかを、具体的な例をあげて説明を行
う。現在、各方面においてネットワーク化されたコンピ
ュータシステムが数多く使用されており、その性能の向
上に伴いシステム内で使用される記憶装置においても高
速、大容量化が行われている。この記憶装置において現
在主流となっているのがハードディスクドライブ『以下
HDD』であるが、このHDDにおいてもこれを使用す
る場合において問題点がある。これはクラッシュと呼ば
れHDDが、このクラッシュを起こしてしまうと、HD
Dの中の記憶データの一部または場合によっては、すべ
てのデータの読みだしが不可能となってしまうものであ
る。この様な状態が業務用として使用しているコンピュ
ータシステムで起こった場合には、一瞬にして大量のデ
ータが消失する事となり時間的、経済的に非常に大きな
損害が発生してしまう。業務用として使用されているコ
ンピュータシステムではネットワーク化を行った、複数
のコンピュータを使用するのが一般的となっており、こ
の様なシステムにおけるメイン側コンピュータで使用さ
れるHDDがクラッシュを起こした場合にはシステム全
体が使用不能となる事もあるため、HDDを使用する場
合にはデータの消失を防止するための何等かの手段が用
いられているのが普通であり、よく行われる方法がHD
Dのデータのバックアップを取っておくという方法であ
る。このバックアップ方法において、業務用のネットワ
ーク化されたコンピュータシステムのメイン側コンピュ
ータで良く用いられる方法としては。 1.ディスクミラーリングを行う方法。 a.ソフトウェアにより1台のHDDに2つのパーテー
ションを行うか、又は2台のHDDの各々に同一のデー
タを書き込んで、データの2重化を行う。 b.ミラーリング専用のハードウェアを使用し2台のH
DDに各々同一のデータを書き込んで、データの2重化
を行う。 2.ディスクデュプレキシングを行う方法。 c.1のディスクミラーリングに用いる2台のHDDを
ディスクチャンネルも含めて別々のものとし、これに各
々に同一のデータを書き込んでデータの2重化を行う事
により、信頼性を高めたもの。この場合にも専用のデュ
プレキシングミラーリング装置もある。 3.RAID(Redundant Array of
Inexpensi−ve Disks)を用いる方
法。 d.HDDを並列に接続して利用する冗長構成のディス
クアレイ装置で消失データの復旧機能を持つため信頼性
が高い。 といったものが使用されている。これらをメイン側コン
ピュータで良く用いられる方法として説明したのは、上
記のc又はdをメイン側コンピュータに使用しておけ
ば、少なくともHDDのクラッシュによって全てのデー
タが消失してしまうという、最悪の事態は防止出来ると
考えられている事によるものである。しかしながら、上
記の方法を用い又HDD以外の例えば電源の寸断や停電
に対しての対策が行われたコンピュータシステムにおい
ても、従来のバックアップ方法ではすべてのデータが消
失する可能性が残っている。確かにメイン側コンピュー
タのHDDをディスクデュプレキシング方式としておけ
ば、常に同一のデータが2台の別々のHDDに書き込ま
れるので1台がクラッシュしたとしても、もう1台のH
DDに必ず正常なデータが残っているし、RAIDを使
用した場合もディスクアレイの一部がクラッシュしても
データの復旧機能により正常なデータが残る。しかし、
このデータが必ず残るという状態が確保出来るのは、通
常の自然故障が原因となっている場合である、ディスク
デュプレキシングの場合だと2チャンネルの別々のイン
ターフェースボードとコントローラーを使用した2台の
HDDが全く同時に故障する確率は非常に低いものであ
り、同様にRAIDを使用した場合もデータの復旧が行
えなくなるような複数のアレイが全く同時に故障する確
率も非常に低いため、この確率の低さによって成り立っ
ている方法である。しかしながら電気的、機械的な自然
故障についてのみ考えれば、この確率の低さは非常に小
さくなるものの、これに自然故障以外の要因が加わると
その確率は桁違いに大きなものとなってしまう。この、
自然故障以外の要因の中で一番問題になると考えられる
のが、地震、火災、水害といった災害である。この様な
災害が起こった場合、地震においてはHDDやディスク
アレイ等の記憶装置そのものが設置場所から落下して、
全て同時に故障、破損して読みだし不能となる場合や、
設置場所周辺の機材や壁や天井が落下しこれにより記憶
装置全体が破損する場合などが考えられる。火災の場合
も記憶装置そのものが燃えて無くなる場合や、周囲温度
の上昇などにより使用不能となる場合、水害についても
記憶装置そのものが水没して使用不能となってしまう場
合などが考えられる。これら災害時に共通することは、
記憶装置全体が同時に破損、故障し使用不能となる可能
性が非常に高い事である。つまり、この様な災害時にお
いては従来の方法によって、単にミラーリングやデュプ
レキシングを行っても、ほとんどその効果を期待できな
いという事である。本来のバックアップ方法に要求され
る性能はデータが使用されていたコンピュータシステム
(ハードウェア)がどの様な状況となった場合において
も、最低1つのデータは確保できるという方法でなくて
はならない。そこで、上記のような災害時においても確
実なデータのバックアップを行うために考案されたのが
本発明によるバックアップ方法である。
【0003】
【発明が解決しようとする課題】この発明は上記の問題
点を解決する方法及びバックアップ対策に有効なハード
ウェアを提供する事を目的とする。
点を解決する方法及びバックアップ対策に有効なハード
ウェアを提供する事を目的とする。
【0004】
【課題を解決するための手段】上記目的を達成するた
め、本発明のコンピュータネットワークシステムにおけ
るバックアップ方法においては、システム内においてデ
ータの書き込み保存動作が行われる場合、必ず複数の記
憶装置に同一データの分散保存処理を行い、これを行う
とき単にデータを分散するだけでなく、同時により安全
な場所へという、リレーショナルなデータ分散を行う事
を特徴としている。ハードウェアにおいては、従来のミ
ラーリング装置とは異なる方法で複数のSCSI記憶デ
バイスに同時に同一動作を行わせる制御方法を考案し、
この方法によれば非常に安価なミラーリング装置を供給
可能となる事を特徴としている。
め、本発明のコンピュータネットワークシステムにおけ
るバックアップ方法においては、システム内においてデ
ータの書き込み保存動作が行われる場合、必ず複数の記
憶装置に同一データの分散保存処理を行い、これを行う
とき単にデータを分散するだけでなく、同時により安全
な場所へという、リレーショナルなデータ分散を行う事
を特徴としている。ハードウェアにおいては、従来のミ
ラーリング装置とは異なる方法で複数のSCSI記憶デ
バイスに同時に同一動作を行わせる制御方法を考案し、
この方法によれば非常に安価なミラーリング装置を供給
可能となる事を特徴としている。
【0005】
【作用】同一データの分散保存動作を同時に、かつ複数
のより安全な離れた場所へ向けて行う事により、これら
の分散保存されたデータが同時に消失する確率は限りな
くゼロに近いものとなるため確実なデータのバックアッ
プが可能となる。又、安価なミラーリング装置が供給さ
れる事により、ネットワークシステムの末端のデータに
もミラーリング装置を使用する事が出来るようになる事
によって平常時に於けるバックアップ性能が向上する。
のより安全な離れた場所へ向けて行う事により、これら
の分散保存されたデータが同時に消失する確率は限りな
くゼロに近いものとなるため確実なデータのバックアッ
プが可能となる。又、安価なミラーリング装置が供給さ
れる事により、ネットワークシステムの末端のデータに
もミラーリング装置を使用する事が出来るようになる事
によって平常時に於けるバックアップ性能が向上する。
【0006】
【実施例】まず、データリンクが行われたシステムとい
う事について説明を行うと、ネットワーク化が行われる
事により、相互にデータの入出力転送が行える範囲であ
れば、その転送を行うための経路が有線(電話回線、光
ケーブル等)、無線に関係なくすべてデータリンクが行
われたシステムといえる。本発明においてはこの様なデ
ータリンクの行われたシステム内において使用される記
憶装置にデータ保存処理を行う場合において必ず2台又
はそれ以上の記憶装置に同一のデータの書き込みを行わ
せるが、例えばこれを最少台数の2台の記憶装置により
行う場合、この2台はデータリンクが行われたシステム
内においてリンクシステム上のどの場所に位置するかと
いう事は基本的には全く関係なく任意のものと出来る、
これを具体的に図1により説明を行うと、例えば同一の
データの書き込みが行われる記憶装置の内の1台がHD
D2の時、他の1台はHDD1とする事も出来るし、H
DD6とする事も出来る、又は1台がHDD3の時、他
の1台はHDD5とするという事も出来るというもので
ある。ただしこの場合における他の1台は必ずローカル
ループ外にあるリモート記憶装置であるという事と、こ
の2台において行われる書き込み動作は同時または同時
と見なせる時間内に行われるという点が重要な点であ
る。さらに、この動作によりローカルループ外からのデ
ータをローカル記憶装置に書き込む時、さらにその端末
から見た他のローカルループ外のリモート記憶装置に同
一データの書き込み処理を行わせる事も可能とする。こ
のローカルループ外、言い直せばリモートループ上にあ
る記憶装置を含むという事は、2つのデータの物理的な
場所を違う場所に分散して記憶保存するという事であり
同時に行うというのは2台の記憶装置が同時にデータを
失う確率を最も小さくするための手段である。しかしな
がら実際には、どの様な方法、手段を用いても完全な同
時処理(リアルタイム)で行うことは不可能であり、こ
れはデータリンクシステム内で使用されている複数の記
憶装置がシステム上でどの様な接続されているかという
接続経路や、そのデータリンクそのものの基本的性能、
たとえばデータ転送速度などによるものがある。データ
を転送するためには必ず何等かの伝送経路を介して行う
必要があり、この伝送経路においては必ず時間的な遅延
が発生する。しかしながら、通常のデータリンクシステ
ムにおいては上層リンクは下層リンクよりも、高速で大
容量のリンクシステムにより構成されるのが一般的であ
るため、この伝送経路の遅延を含めても2台の記憶装置
に対して書き込みを行わせる処理を同時に開始するもの
としておけば、ほぼリアルタイムで行ったと見なせるも
のとなる。前記では、記憶装置を2台として最も基本的
な考え方について説明を行ったが、実際に業務用として
用いられているシステムにおいてはより多くの記憶装置
がデータリンクシステム上で使用されているため、この
様なシステムにおけるデータの流れ、及び各層に位置す
る端末の行う処理動作についてより具体的な説明を図2
により行う。図2は現在、利用される事が多くなったク
ライアント〜サーバーシステムを説明するための例であ
り、システムA,システムB、システムCの各システム
サーバーは各々の記憶装置としてRAID−A,B,C
を使用しているものとし、各サーバー間は伝送路L1、
L2,L3により相互にデータの転送が可能となってい
る。各サーバーにはクライアントとなる複数の端末が接
続されており、システムAに於けるサーバーS1にはH
DD−1を共用ディスクとするA1,A2,A3とHD
D−2を共用ディスクとするA4,A5とHDD−3を
共用ディスクとするA6,A7,A8,A9が、システ
ムBに於けるサーバーS2にはHDD4を共用ディスク
とするB1,B2とHDD5を共有ディスクとするB
3,B4,B5とHDD6を共有ディスクとするB6,
B7,B8が、システムCに於けるサーバーS3にはH
DD7を共有ディスクとするC1,C2とHDD8を共
有ディスクとするC3,C4,C5とHDD9を共有デ
ィスクとするC6,C7とHDD10を専用ディスクと
するC8が接続されている。このネットワークシステム
において、従来のこの様なクライアント〜サーバーシス
テムの使用方法においてもサーバー1、サーバー2、サ
ーバー3の各サーバーは他の場所にある複数のサーバー
とのデータを相互にやりとりするための伝送路によりデ
ータの分散を同時に行い、これによって例えばサーバー
1のデータが使用不能となった場合には伝送路L3を介
してサーバー2のデータを、又は伝送路L1を介してサ
ーバー3のデータを使用するという方法により必ず最低
1つのデータは確保するというものであった。そしてサ
ーバー1が北海道、サーバー2が東京、サーバー3が九
州というように距離的に離れた場所にある時には、地震
その他の災害時においても、同時にすべてのデータが消
失することはまず無いと思われる。しかしながら、この
確保されるデータはサーバー側にすでに転送されたデー
タのみである。つまり、図2でいえば最下層に位置する
パソコンやワークステーション等の各々の端末において
実行中の各種のアプリケーションにおいて作成中のデー
タにおいては、前記に説明したように最下層の端末まで
RAIDやディスクデュプレキシングを用いることは希
であり、この最下層で作成されたデータが2重化される
のは端末の利用者が作業の終了時などにサーバーにデー
タを転送した時になる。このため、これらの各種のアプ
リケーションソフトを使用する時、その利用者は途中で
何度か、作成したデータをHDDやFDDに書き込むの
が普通であるが、通常これを行う場合には同じデータを
2つ書き込んでおく事はまずない。このため、この時に
そのデータが使用不能となってしまうと、それまでに作
成したデータが完全に無くなってしまう。災害時の様な
異常事態を除く通常時において発生するデータ消失事故
のほとんどは、この作業中のHDDのクラッシュによる
事故によるものが多く、また起こり得確率の比較的高い
ものであるため、この様な事故にも対応する手段を講じ
ておく必要がある。そこで本発明による方法では、最下
層の端末、図2で例えば、A1において作成されたデー
タがあり、このデータをHDD1に書き込みを行う場合
において、従来のシステムではこのデータはHDD1に
書き込まれるだけであったが、これに対し本発明による
方法においては、このデータをHDD1に書き込むと同
時に、このデータをS1に転送し、S1側ではこのデー
タをRAID−Aに書き込みデータが2重化される。さ
らにS1は伝送路L1、L3を介してS2又はS3又は
S2,S3の両方にこのデータを転送し、これを受け取
ったS2はRAID−Bに,S3はRAID−Cに各々
データの書き込みを行うことにより、S1,S2,S
3,の各々RAIDに同一の2重されたデータが確保さ
れる。他のデータ分散例をあげると、システムBにおけ
る最下層の端末B1において作成されたデータをHDD
4に書き込む場合には、このデータをHDD4に書き込
むと同時に、S2とB5に転送し、これを受け取ったB
5はこのデータをHDD5に書き込み、S2はRAID
−Bにこのデータを書き込むと同時に、伝送路L3,L
2を介してS1とS3にデータを転送し、これを受け取
ったS1はこのデータをRAID−Aに書き込み、S3
はこのデータをRAID−Cに書き込む。場合によって
は、さらに例えばS3がRAID−Cにデータを書き込
むとき同時にC1に、このデータを転送しデータを受け
取ったC1は、HDD7にこのデータを書き込むという
事も行えるものとする。この各々の端末が、その端末に
接続されている共有ディスクを含むローカルディスクに
データの書き込みを行う時の動作は、書き込みと同時に
データの転送を行うか否か、これはリモートディスクに
も同一のデータの書き込みを行うか否かという事であ
り、行う場合には何処へ向けてデータ転送を行うかを先
に設定しておく事によって、各端末の動作を決定するソ
フトウェアをこの例においては各サーバーおよびクライ
アントとなる端末に組み込んでおけば良い、現在使用さ
れているパソコンやワークステーションにおいてはマル
チタスク動作が一般的な方法となっているため、本発明
の方法をソフト化して組み込む場合においても、アプリ
ケーションソフトごとにこのソフトを組み込むより、使
用するアプリケーションソフトと同時に走らせるソフト
として組み込む事が望ましいと考えられる。なお、各端
末が書き込み動作を行ったか否か、データの転送を行っ
たか否かは、そのときに使用しているOSのデバイスド
ライパ領域を調べる事によりソフトのみで検出可能であ
るが、この場合において注意が必要なのは、OSの種類
によってデバイスドライバ領域のアドレスが異なる事で
あり、システム内で使用される可能性のあるOSのすべ
てに対しての対応が必要となるのは当然である。次に、
この方法を実際のソフトウェア化を行った場合の使用例
について説明を行う。前記の説明において、この方法を
使用する場合において、各端末の動作は前もってソフト
ウェアで設定が行われた条件によって行われるものと説
明を行ったが、この条件の設定を行うためのソフトウェ
アの画面表示例を図3に示す。まず最初にサーバー側で
使用するソフトウェアの説明しすると、各設定はキーボ
ード入力、又はマウスコントローラーを使用しマウスカ
ーソルを設定項目の位置に移動してクリック操作を行う
ものとし、図2のシステムで使用する場合の例により説
明すると、まず最初にサーバー名の入力を行う、このソ
フトウェアがシステムAのサーバー1において使用され
るものであった場合、ここにS1と入力する。次に、ロ
ーカルディスクの台数を入力する。これは、S1のロー
カルディスクとなるドライブの台数で1となり、次にそ
のドライブ名をRAID−Aと入力を行う。もし、S1
のローカルディスクが複数の場合にはRAID−1,R
AID−2,・・・RAID−Nという様に全てのドラ
イブ名を入力する。次に、メインドライブ名であるが、
これはローカルドライブが複数台の場合において、ロー
カルループ外からのデータ書き込み時にどのドライブに
書き込みを行うかを決めるための設定であり、図2の例
ではローカルドライブは1台のみであるためRAID−
1となる。この次の設定は、サーバーS1に接続されて
いる、クライアントとのグループ数とそのメインドライ
ブとの関係の設定であり、この例ではクライアントのグ
ループ数は3となる。そして、その各グループのメイン
ドライブ名をグループA=の所にA1,A2,A3,H
DD1。グループB=の所にA4,A5,HDD2。グ
ループC=の所にA6,A7,A8,A9,HDD3と
入力する。他のサーバーにおいても同様に設定を行い、
このサーバー側のS1,S2,S3,で使用するソフト
ウェアの設定がここまでともに完了している時点で、い
ずれかのサーバーにおいて、サーバー間でその設定デー
タの相互交換を行いネットワークシステムのマップを作
成するためのソフトウェアを図3の、□マップ作成の所
ににマウスカーソルを移動させクリックを行う事により
起動させる。これにより、各サーバーはネットワークシ
ステムのマップをもつ事により、何処に何というドライ
ブがあるかを知るものとする事ができる。このマップを
作成後に行う次の設定は、サーバーのローカルドライブ
にデータ書き込みが行われた時さらに、他のリモートデ
ィスクにも同一のデータの書き込みを行うか否かの設定
を行うものであり、これをNOとすればサーバーはデー
タの再転送は行わないものとなり、YESとした時には
画面上に図4のように、ネットワークシステム上で使用
されている全てのディスク名(記憶装置名)が表示され
る。この、表示されたディスク名の位置にマウスカーソ
ルを移動してクリック操作を行うによって、どのドライ
ブに対してデータを転送し、書き込みを行わせるかの設
定を行う。この設定は複数台を同時に行うことが出来、
これを行えば複数の場所に同一データを同時に転送し書
き込みを行わせる事が出来る。なお、この設定において
例えばS1で使用されるソフトウェアに設定されたの
が、RAID−BとRAID−Cであった場合において
S2からS1にデータが転送されこのデータをRAID
−Aに書き込むときS3にはデータを転送しRAID−
Cにデータの書き込みは行わせるが、S2に対しては何
の処理も行わないものとする。つまり、設定が行われて
いる所から転送されてきたデータの再転送は行わないと
いう事である。これは、転送を何度も繰り返して行って
しまう永久ループに入る事を防ぐための処理であり絶対
に必要なものである。他のサーバーでS2とS3で使用
するソフトウェアも前記同様に設定を行えば、サーバー
側で使用するソフトウェアの設定は全て完了である。図
2において使用する他のサーバーS2,S3の設定用ソ
フトウェアを設定した例を図5,図6、図7,図8に示
す。次に、クライアント側で使用するソフトウェアの設
定についての説明を行う。この、クライアント側で使用
するソフトウェアの設定は先のサーバー側のソフトウェ
アの設定、及び組み込み完了後に行うものとする。ま
ず、クライアント側でこの設定用のソフトウェアを起動
すると、自動的にサーバー側にあるマップデータの取り
込みを行う。このマップデータを取り込む事によりクラ
イアント側の設定用ソフトウェアもネットワークシステ
ム上で使用されている全てのドライブ名を把握できる事
になる。この取り込みを終了した後で図9に示す設定画
面表示が行われる。このクライアント用ソフトウェアの
設定用の画面例であるが、この場合も前記と同様に、各
設定はキーボード入力、又はマウスコントローラーを使
用しマウスカーソルを設定項目の位置に移動してクリッ
ク操作を行うものとしている。まず、設定を行うのはロ
ーカルディスクに書き込みを行う場合に他のリモートド
ライブにも書き込みを行うか否かをYES,又はNOで
選択する。この時システムのマップを見たい場合には□
マップ表示をクリックする事により図2の様なマップ表
示画面も見られる。この転送の設定を、NOとした時に
はデータの転送及び書き込みは行わず、YESとした時
にはネットワークシステム上の全てのドライブ名が表示
され、これをマウスカーソルをドライブ名の位置に移動
してクリック操作を行う事により、データの転送し書き
込みを行わせるドライブを指定できる。この場合も先の
サーバー側の設定と同様に複数のドライブの設定が出来
る又このクライアント側の設定用ソフトウェアおいて
も、 設定が行われている所から転送されてきたデータ
の再転送は行わないという処理を行わなければならな
い。次に、前記の従来のバックアップ方法の説明におい
て取り上げたディスクミラーリング及びこれを行うため
のミラーリング装置について、コンピュータシステムの
メイン側コンピュータで良く使用される方法とした理由
について再度説明を行うと、ディスクミラーリング方法
はコンピュータシステムを通常の状態で使用する場合に
おいては、かなり有効なデータのバックアップ方法であ
るため出来るならばシステム内で使用する全ての記憶装
置に、これを用いる事が望ましいものである。しかしな
がら、現実的には例えばクライアント〜サーバーシステ
ム等のネットワークOSのソフトウェアにおいては、デ
ィスクミラーリングやディスクデュプレキシングの機能
を含むソフトウェアであっても、その機能が有効なのは
サーバー側の記憶装置のみである場合や、ソフトウェア
内にはミラーリング機能を含まない場合などのソフトウ
ェア自体によって制限される場合も多々あり、専用のハ
ードウェアにおいては、このミラーリング装置そのもの
自体が非常に高価なものであるため、これをコンピュー
タシステムの末端の記憶装置にまで使用することはほと
んど無理である。そこで、考案されたのが本発明による
複数のSCSI記憶デバイスに同時に同一のデータを書
き込ませる、又は読み出させる事を可能とする制御の方
法とこれを用いたSCSIデバイスコントローラーであ
る。本発明による方法を用いる事によりミラーリング装
置を非常に安価な価格で供給可能である。以下この、方
法について説明を行う 現在、コンピュータ装置に外部記憶装置としてHDDや
光ディスクドライブを接続する場合において、最も良く
使用されるインターフェースはSCSI方式である。こ
のSCSI方式においてデータの入出力を行う場合、同
期転送方式と非同期転送方式とがあるが現在販売されて
いるSCSI機器は、ほぼ全てが高速でデータ転送が可
能な同期転送方式に対応したものである。同期転送方式
はコンピュータの電源投入時やリセット時にイニシエー
タとターゲットとの間で同期メッセージのやり取りを行
い、その転送速度やオフセット値を確認しあう事によっ
て相互が対応可能な設定が行われものである。この、S
CSI方式において使用されるSCSIデバイスの大き
な特徴として、インテリジェントなデバイスであること
があげられる。これは、従来のフロッピーディスクでは
コンピュータ側のCPUによって行われていたディスク
ドライブのヘッド位置の制御等は一切行う必要がなくコ
マンドを転送するのみで良くなっている。これによって
コンピュータ側のCPUにかかる負担が少なくなるた
め、HDDを通常の使用方法で使う場合には非常に効率
の良い方法であるが、これを行うためにSCSI機器は
各々がCPUを内蔵するものとなり、コマンドを実行中
は各々に独立したタイミングで動作を行う事になる。こ
れによりデータの読み書きを行う場合の制御の主導権
が、フロッピーディスクの場合にはコンピュータ側にあ
ったのに対しSCSI方式のHDDを使用する場合にお
いては読み書きの動作の主導権はHDD側にあり、HD
Dはコンピュータ側からのコマンドを自分のタイミング
で処理しSCSIバスをコントロールする。このことは
2台又は、それ以上の複数のSCSIデバイスを同時に
同一の動作を行わせようとする場合には、大きな問題と
なる。例えば、2台のHDDに同時に同じコマンドを送
っても各々のHDDは別々のCPUを持った独立したタ
イミングによる処理を行っているため、動作中のタイミ
ングまで含めて考えると、同じタイミングで動作を開始
し終了する事は有り得ない。この事が原因となって2台
のHDDを同一のID番号に設定してSCSIバスに接
続しても同時に動作を行わせる事は出来ない。SCSI
方式では、通常のコマンド、メッセージ等は一般的なR
EQ,ACK信号によるハンドシェイクによる非同期転
送により行われ、同期データ転送が使用出来るのはデー
タ転送フェーズに限られている。このため、本発明にお
いて複数のSCSIデバイス同時に同一の動作をさせる
方法として、非同期動作時において複数のSCSIデバ
イスの動作タイミングを合わせる方法と、同期動作時に
おいて複数のSCSIデバイスの動作タイミングを合わ
せる方法。とを組み合わせて使用している。この、方法
について実際の例により説明を行うと、説明をわかりや
すくするためにSCSIの記憶デバイスとしてはHDD
を用いるものとし、台数は最少の2台に同時に同一の動
作を行わせ書き込みと、読みだしをする方法について説
明を行う。まず最初に非同期動作時において、2台のH
DDに同時に同一動作を行わせるための方法を説明する
と、前記に説明を行った様に2台のHDDを同じID番
号に設定し同時に同一のコマンドを与えたとしても各々
のHDDが、このコマンドに対する応答のための信号を
出力するタイミングは全くランダムであり各々のHDD
をAとBとすると、Aが先に動作を開始し応答信号を出
力する場合もあれば、Bが先に動作を開始し応答信号を
出力する事もある。SCSI方式では、バスを使用する
事ができるのはSCSIバスに接続されたデバイスの中
の、何れか1つのみであり複数のデバイスがこれを同時
に使用する事は出来ないので、先に動作を開始したHD
Dの応答信号をそのままSCSIバスに出力してしまう
と、そのデバイスがバスの優先権を取ってしまい、もう
1台のHDDはそのままの状態で置き去りにされてしま
う。そこで、HDDの出力信号REQ,BUSY,MS
G,C/D,I/O,の各信号を図10に示される非同
期時タイミング制御回路によりこれを解決する。図10
−1は2台のデバイスを使用する場合の回路例であり、
図10−2はこの回路の入出力信号の例である。又、こ
れ以上の台数のデバイスを使用する事も、図11の回路
例に示す方法により可能である。図10−1の動作は、
図10−2からも解るとうり、この回路の入力A,Bへ
の入力信号が両方共に同じ”H”又は”L”となった時
のみに、出力信号Cは入力信号の”H”又は”L”に対
応して変化する。つまり、出力が”H”の時のA又はB
の一方が”L”になっても出力されずAとBが共に”
L”となってから出力信号Cは”L”となる。逆に、こ
の出力Cが”L”となった状態からはA又はBどちらか
が”H”となっても出力は変化せずA、B両方ともが”
H”になった時に出力Cが”H”にもどる事になる。こ
の回路を5回路作成し、その入力A,BにHDD−Aと
HDD−Bの出力信号REQ,BUSY,MSG,C/
D,I/O,の各信号を入力し、その出力信号Cをイニ
シエータ側のSCSIバスに接続すれば、各回路におい
てA,B2つの入力が両方とも同時に”L”か”H”に
なってからしかSCSIバスをドライブしない、つまり
A,B2台のHDDが同一の動作状態になってから、そ
の状態を、イニシエータを主とする他のSCSIデバイ
スに出力する事になる。例えば、何等かのコマンドに対
してHDD−AがREQ信号を出力し、遅れてHDD−
BがREQ信号を出力した時イニシエータ側のSCSI
バスのREQバスはHDD−BがREQ信号を出力する
までドライブされないため、イニシエータがACKパル
スを応答信号として返してくるのは、必ず2台のHDD
がREQ信号を出力してからというタイミングとなるた
め、どちらか一方のHDDのみが動作するという事は絶
対にない。他の,BUSY,C/D,I/O,MSGに
ついても同様に、2台のHDDの動作が必ず同じ状態と
なってからしか、SCSIバスをドライブしないため当
然、イニシエータからの応答信号を受け取る場合も同一
の動作状態において行われるものとなる。制御信号線の
中でイニシエータ側から出力される信号ATN,AC
K,RSTは、直接またはバッファーを通じて各々のH
DDに接続しておけば良く、データバスとパリティーバ
スはイニシエータ側のSCSIバスのI/O信号によ
り、その入出力の方向を検出し、イニシエータ側からH
DDへデータが入力される場合には両方のHDDにこの
データを入力するものとし、HDD側からデータを出力
する場合には任意の1台のデータのみをイニシエータ側
のSCSIバスに出力するものとしておけば良い。当
然、この場合に使用される2台のHDDはID番号を同
じに設定するのみでなく、パーテーションの仕方や、領
域確保の容量や物理セクタ長などを同一とし、データの
内容も同じにしておかなければならない。非同期動作し
か行なわないSCSI機器ならば、前記の方法のみによ
り同時に同一動作を行わせる事が可能となるが、先に説
明のとうり現在使用されているSCSI機器のほとんど
が同期データ転送方式に対応したものであるため、この
同期データ転送方式への対応が不可欠なものとなる。以
下、これに対応する方法について説明を行う。同期デー
タ転送方式においては、HDDの読みだしデータをイニ
シエータに転送する場合とイニシエータ側からのデータ
をHDDに書き込む場合がある。本発明においては、2
台のHDDを同時に書き込み又は読みだし動作を行わせ
るものであるが、読みだし動作を行うばあいにおいて
は、2台のHDDが両方とも正常な動作を行っている間
は、どちらのHDDも同じデータを出力するため、どち
らか1台だけに読みだし動作を行わせ、そのデータをイ
ニシエータに転送するという方法も可能であるがHDD
の場合、実際にクラッシュが起きているか否かは、実際
にデータの読みだしを行わない限りわからない。このた
め、本発明においてはHDDからデータの読みだしを行
う場合においても、2台のHDDに同時に同一の動作を
行わせた上で、どちらか一台のデータのみをイニシエー
タに転送するものとしている。この時、2台のHDDの
内どちらのデータを使用するかは、データ読みたしコマ
ンドに対する応答信号出力の遅れた方のHDDのデータ
を使用する。この理由は2台のHDDにヘッドの移動や
位置等も含めて同時に同じ動作をさせるためであると同
時に、この方法によってどちらのHDDのデータを使用
するかを決定することにより、ランダムな選択によるも
のとなり実際に読みだされたデータをイニシエータに転
送して使用する事によって、2台のHDDのデータが正
常な読み出しを行える状態で保存されているかというチ
ェツクを直接的に行えるという利点もある。同期データ
転送方式によるデータ読み出しを行う場合においては、
前に説明を行った非同期動作時とは異なる方法で2台の
HDDの動作タイミングを合わせる必要がある。以下こ
れの説明を行う。まず、同期データ転送方式においてデ
ータ読み出し動作を行う場合における、REQ信号とA
CK信号の関係はについて簡単に説明を行うと、イニシ
エータ側からデータ読み出しコマンドを受け取ったHD
Dは、オフセット値を越えない範囲内のデータをREQ
パルスに同期したタイミングで、ACKパルスに先だっ
てイニシエータに転送する事ができ、これを正常に受け
取った時にイニシエータは、次のデータの要求信号とし
てACKパルスをHDDに出力するというものである。
このACKパルスの数は、HDDの出力したREQパル
スの数を越えて出力される事は絶対になく、もしREQ
パルス以上のACKパルスが返されて来た場合には、H
DDはこれをエラーが発生したものとして動作をストッ
プしてしまう。この事から、本発明においては、このR
EQパルスとACKパルスを制御する事が必要となる。
同期データ転送に対応したHDDにおいてイニシエータ
とターゲットとの間で同期メッセージ交換が済んだ後、
2台のHDD(A,B)が同時にイニシエータからのデ
ータ読み出しコマンドを受け取ると、それまでの非同期
動作から同期動作にかわる。まず、2台のHDDは各々
に同期メッセージ交換において取り決められたオフセッ
ト値以下の数のデータをREQパルスと共にイニシエー
タに転送しようとするが、この出力タイミングにランダ
ムな時間的ずれが生じる。このとき、2台のHDDの内
の先に出力が行われたREQパルス及びデータはSCS
Iバスに出力せず、遅れて出力を行った方のREQパル
ス及びデータをセレクトしてSCSIバスに出力する。
これを行うために、2台のHDDのどちらが先に出力動
作を行ったかの検出を行い遅れて出力されたREQパル
ス信号をSCSIバスに出力するのが、REQパルス検
出回路である。この、REQパルス検出回路において得
られる信号SEL−A,SEL−Bは使用する側のHD
Dのデータ及びREQ以外の制御信号BUSY,MS
G,C/D,I/Oを選択してバスに出力するために使
用されるセレクト信号である。この、REQパルス検出
回路の例を図12に示す。又、これ以外の制御用の信号
となる、データが使用されない他のHDDが出力するR
EQパルス及びイニシエータの出力する信号の処理およ
び制御方法についての説明を行うと、前記にも説明をし
た様にHDDは出力したREQパルス以上のACKパル
スが入力されるとエラー状態となる、そこで本発明にお
いては同時に同一の動作を行なわせようとする2台のH
DDがこのような、エラー状態とならないような制御方
法を考案した。これを図13及び図14により説明を行
う。図13は同期データ転送方式においてデータ読み出
しを行う場合における、REQパルスおよびACKパル
スの処理及び制御を行うための回路のブロック図であ
る。この回路の構成は 1.2台のHDDのうち、選択されなかった方のHDD
の出力するREQパルスをカウントするためのカウンタ
ー回路1 2.HDDに出力したACKパルスをカウントするため
のカウンター回路2 3.イニシエータの出力したACKパルスをカウントす
るためのカウンター回路3 4.HDDに出力するACKパルスを発生するためのA
CKパルス発生回路とその基準となるクロック回路とA
CKパルス発生回路の出力の波形補正を行うためのマス
ク回路 5.上記カウンター回路1と2のカウント値を比較し一
致検出を行うコンパレーター回路1 6.上記カウンター回路2と3のカウント値を比較し一
致検出を行うコンパレーター回路2 7.イニシエータの出力したACK信号のレベルを検出
し、上記マスク回路を制御を行うレベル検出回路 により構成されている。先に説明をした2台のHDDの
内のいずれか1台のデータとREQパルスを選択して出
力する場合において、選択されなかった側のHDDの出
力するREQパルスをカウンター回路1に入力し、これ
をカウントする。カウンター回路2には、この後に説明
を行うACKパルス発生回路の出力を入力しこれをカウ
ントする。カウンター回路3にはイニシエータの出力し
たACKパルスを入力しこれをカウントする。各カウン
ターの長さは、通常8BIT程度で十分である。これ
は、各カウンター間のカウント値の差がオフセット値以
上となる事はエラー時以外にはなく、又カウントオーバ
ー時にも各カウンターのカウント値が同じになった事を
検出する事により何の問題なく一致検出を行えるためで
ある。コンパレーター回路1はカウンター回路1とカウ
ンター回路2のカウント値の一致検出を行い、コンパレ
ーター回路2はカウンター回路2とカウンター回路3の
カウント値の一致検出を行いこのコンパレーター回路1
又は2のいずれか又は両方において一致検出が行われた
場合にはACKパルス発生回路の動作を停止させる。こ
のカウンター回路とコンパレーター回路によって制御さ
れたACKパルス発生回路の出力パルスの数は、2台の
HDDのどちらのREQパルスの数も越えないものとな
る。ただし、前記の方法により作成されたACKパルス
をそのまま2台のHDDに対するACKパルスとする事
はできない。この理由はイニシエータがHDDに対して
出力するACKパルスは、データブロックの区切りや、
最後である事をHDDに知らせ次の動作の用意をお行わ
せるために、パルスの数だけでなくレベルにおいても通
常と異なる出力を行う。具体的には、ACKパルスを”
L”のままにしておいて最後のデータを出力後に通常
の”H”レベルにもどすというものである。このためA
CKパルスを作成してHDDに入力する場合においても
単に数だけを合わせたACKパルスを使用すると、2だ
いのHDDは別々のタイミングで次の動作に移行してし
まい動作状態が違ってしまい結果的にはエラー状態とな
り動作がストップしてしまう。これに対処するために本
発明では以下の方法を用いている。イニシエータ側の出
力するACKパルスに連続した”L”が含まれない状態
では2台のHDDは前記の制御されたACKパルスによ
り、読み出しデータ数も制御された同一の動作が行われ
ているため、当然2台のHDDが最後のデータを出力す
るタイミングも同時となる、又この時ACKパルス発生
回路で作成されるACKパルスのタイミンダもイニシエ
ータの出力するACKパルスにより決まる。この時、レ
ベル検出回路によりイニシエータの出力したACKパル
スに一定の時間以上の”L”レベルが出力されたか否か
を検出しておき、これを検出した時はこの検出信号によ
りマスク回路を動作させる。マスク回路は、ACKパル
ス発生回路で作成したACKパルスをマスク処理を行う
事によりイニシエータが出力する正規のACKパルスの
形式に従った波形に変換するもので、このマスク回路の
出力を2台のHDDにACK信号として入力する事によ
り、2台のHDDは同時に次の動作に移行するものとな
る。このマスク回路の動作のタイミングを図14に示
し、図15には一定時間以上の”L”を検出するための
レベル検出回路とマスク回路とACKパルス発生回路と
の例を示す。上記の説明による回路及び制御方法により
作られたACKパルスを2台のHDDに入力する事によ
り同時に同一の動作を行うものとなるが、この方法は同
期データ転送時に読み出し時の制御方法でありHDDが
読み出しコマンドを終えると同時に、HDDに入力され
るACKパルスも、イニシエータからのACK信号に、
またHDD側からの出力信号も選択された信号ではな
く、非同期時のタイミング処理回路の出力がイニシエー
タ側のバスに出力されるように切り換えを行い、元の動
作状態ににもどす必要がある。次に、同期データ転送時
において2台のHDDに同時に同一のデータの書き込み
動作を行わせる方法について説明を行う。まず、同期デ
ータ転送時の書き込み動作について説明を行うと、HD
Dがイニシエータから書き込みコマンドを受け取ると、
HDDがオフセット値を越えない範囲の数のREQパル
スを出力する。このREQパルスに対してイニシエータ
はこれと同数のデータとこのデータの出力タイミングに
同期したACKパルスをHDDに出力する。この時に2
台のHDDが同一のタイミングでREQパルスを出力す
るならば、単純に並列接続を行っても問題ないが、この
場合にも読み出し動作のばあいと同様に2台のHDDの
応答はランダムな時間差をもっており、このため単に並
列接続を行っても動作の遅れた方のHDDがREQパル
スを出力する前にACK信号が入力されてしまい、正常
なデータ転送時の条件となるACKパルス数≦REQパ
ルス数からはずれてしまいエラー状態となってしまうた
めである。本発明では、これを解決するための方法とし
て、前記の読み出時においてはHDDに入力するACK
パルスを作成し2台のHDDの制御を行ったが、書き込
みの場合にはイニシエータに対してHDDが書き込み可
能なデータの数を知らせる又は、その転送を要求する信
号となるREQパルスを制御して出力するもので、2台
のHDDから出力されるREQパルスから、両方のHD
Dが共に書き込み可能となっているデータ数のREQパ
ルスを作成し、これをイニシエータ側のREQバスに出
力する事により、イニシエータがデータを出力するタイ
ミングを制御するものである。これを行うための回路の
ブロック図を図16にしめす。この回路の動作を図16
により説明を行うと、この図16を見てわかるとうり、
回路構成は、先に説明を行ったデータ読み出しのための
制御回路と非常によく似たものである。違いがあるのは
マスク回路とこれをコントロールするためのレベル検出
回路がなく、各カウンター回路に入力される信号が異な
るのと、ACKパルス発生回路がREQパルス発生回路
となっている事で、このREQパルス発生回路の制御は
前と同様にコンパレーター回路の一致検出出力により行
っており、回路、又はその動作としては基本的に同じも
のであり、説明上べつの物としているが実際には1つの
回路を共用して使用する回路とするのが一般的である。
この書き込み用の回路では、カウンター回路1とカウン
ター回路3は、2台のHDD各々のREQ信号出力を入
力信号として、各々これをカウントする。カウンター回
路2はREQパルス発生回路の出力信号を入力とし、そ
の出力パルスをカウントする。前記カウンター回路1の
カウント値とカウンター回路2のカウント値をコンパレ
ーター回路Aで比較し一致検出を行う。又、カウンター
回路2のカウント値とカウンター回路3のカウント値を
コンパレーター回路で比較し一致検出を行う。この、コ
ンパレーター回路A又はBの何れか又は両方で一致検出
が行われている間はREQパルス発生回路の動作を停止
するものとする。この回路および制御により出力される
REQパルスの数は、2台のHDDの出力したREQパ
ルスの内で少ない方に等しい数のREQパルスを出力す
るものとなる。これにより、このREOパルス発生回路
の出力をイニシエータ側のSCSIバスに出力すればイ
ニシエータは2台のHDDのどちらもが、書き込み可能
な数のデータ及びACKパルスしか出さないため、2台
のHDDはエラーを発生することなく同時に、同一のデ
ータの書き込みを行う事ができる。データ書き込みの場
合にはイニシエータ側から出力されるデータは当然2台
のHDDの両方に入力され、又他のイニシエータ側から
の出力信号も両方のHDDに入力される。HDD側の出
力信号はREQ信号のみが説明のようにカウンター回路
に入力され、他の信号出力は前記データ読み出しにおい
ては、選択された側のHDDの出力信号をイニシエータ
のバスに出力していたのに対し、データ書き込みの場合
には、非同期時のタイミング処理回路の出力信号をイニ
シエータ側のSCSIバスに出力するものとする。当
然、この方法も同期データ転送時の書き込み時の制御方
法でありHDDがデータ書き込みコマンドを終えると同
時に、イニシエータに入力されるREQパルスも非同期
時タイミング処理回路のものに切り換え、他の入出力信
号も元の動作状態におけるものとしなければならない。
前記の説明による、回路例及び制御方法においては例え
ばSCSIバスの制御用信号BUSY,SELを、BU
SYについてはHDDの出力信号として又SELについ
てはイニシエータ側の出力信号として説明を行っている
が。これは動作の説明をわかりやくするためであり、本
来BUSYとSEL は双方向バスである。そこで、こ
のBUSYとSELを双方向の入出力回路とする場合の
回路例を図17にしめしておく。なを、前記の方法、回
路により使用される2台のHDDはイニシエータ側から
見ると1台のHDDとみなせるため、この利用者は従来
のソフトウェアをそのままで使用することができ、操作
に関しても全く変わらないため、本発明による装置の有
無を意識することなく利用でき、従来のようなHDDに
書き込んだデータを毎回FDDにバックアップコピーを
取っておくといった煩わしい作業から解放される事とな
る。又、前記の説明においては、エラー発生時の処理に
ついては説明されていないため、以下説明をすると、前
記の説明による回路に2台のHDDを接続し、イニシエ
ータ側からコマンドを与えることにより両方のHDDに
同時に同一のデータを書き込ませる。又、は同時に同一
動作をさせてデータ読み出しを行わせるが、この基本的
な回路のみにおいても、データが読み出されるHDDが
ランダムな選択により行われる事により、読み出し動作
=データ状態チェツク動作となっている。そして、この
方式では両方のHDDの動作が同一とならない場合はH
DDに何らかの異常が発生した場合である。この時の動
作はどちらのHDDが異常を発生した場合でも次の動作
状態に移行せずに停止するため、これを使用している利
用者はHDDに異常が発生した事をすぐに知ることがで
きる。この時でも、どちらかのHDDは必ず正常な動作
が行えるはずであるから、この正常に動作する方のHD
Dを本発明による回路を通さずに、直接イニシエータ側
のSCSIバスに接続する通常の使用方法を用いれば良
い事となる。この場合は、エラーが発生した場合に、そ
の後の処理に対して何の手段もしない基本回路のみによ
る場合であるが、実際にはこのままでは不便であるた
め、例えば本発明による回路では、2台のHDDの動作
に違いが出た場合はエラーが発生した等の異常発生じで
在るから、これを2台のHDDのBUSY,MSG,I
/O,C/D等の各信号をEX−OR(NOR)で常時
比較しておけば、一定の時間以上2台の信号に違いがあ
れば異常の発生を検出でき、単にブザーやランプ等によ
り使用者に異常を知らせると共に、2台のHDDの何れ
かをスイッチで切り換えてイニシエータ側に接続出来る
ような回路としておき、この切り換えを行えばすぐに使
用可能とすることも出来るし、さらにデータのパリティ
ーチェック回路を追加しておけば2台のHDDの内どち
らのHDDがエラー状態となったかも検出できるため、
この信号によって自動的に正常なHDDをイニシエータ
に接続するという物とする事も可能である
う事について説明を行うと、ネットワーク化が行われる
事により、相互にデータの入出力転送が行える範囲であ
れば、その転送を行うための経路が有線(電話回線、光
ケーブル等)、無線に関係なくすべてデータリンクが行
われたシステムといえる。本発明においてはこの様なデ
ータリンクの行われたシステム内において使用される記
憶装置にデータ保存処理を行う場合において必ず2台又
はそれ以上の記憶装置に同一のデータの書き込みを行わ
せるが、例えばこれを最少台数の2台の記憶装置により
行う場合、この2台はデータリンクが行われたシステム
内においてリンクシステム上のどの場所に位置するかと
いう事は基本的には全く関係なく任意のものと出来る、
これを具体的に図1により説明を行うと、例えば同一の
データの書き込みが行われる記憶装置の内の1台がHD
D2の時、他の1台はHDD1とする事も出来るし、H
DD6とする事も出来る、又は1台がHDD3の時、他
の1台はHDD5とするという事も出来るというもので
ある。ただしこの場合における他の1台は必ずローカル
ループ外にあるリモート記憶装置であるという事と、こ
の2台において行われる書き込み動作は同時または同時
と見なせる時間内に行われるという点が重要な点であ
る。さらに、この動作によりローカルループ外からのデ
ータをローカル記憶装置に書き込む時、さらにその端末
から見た他のローカルループ外のリモート記憶装置に同
一データの書き込み処理を行わせる事も可能とする。こ
のローカルループ外、言い直せばリモートループ上にあ
る記憶装置を含むという事は、2つのデータの物理的な
場所を違う場所に分散して記憶保存するという事であり
同時に行うというのは2台の記憶装置が同時にデータを
失う確率を最も小さくするための手段である。しかしな
がら実際には、どの様な方法、手段を用いても完全な同
時処理(リアルタイム)で行うことは不可能であり、こ
れはデータリンクシステム内で使用されている複数の記
憶装置がシステム上でどの様な接続されているかという
接続経路や、そのデータリンクそのものの基本的性能、
たとえばデータ転送速度などによるものがある。データ
を転送するためには必ず何等かの伝送経路を介して行う
必要があり、この伝送経路においては必ず時間的な遅延
が発生する。しかしながら、通常のデータリンクシステ
ムにおいては上層リンクは下層リンクよりも、高速で大
容量のリンクシステムにより構成されるのが一般的であ
るため、この伝送経路の遅延を含めても2台の記憶装置
に対して書き込みを行わせる処理を同時に開始するもの
としておけば、ほぼリアルタイムで行ったと見なせるも
のとなる。前記では、記憶装置を2台として最も基本的
な考え方について説明を行ったが、実際に業務用として
用いられているシステムにおいてはより多くの記憶装置
がデータリンクシステム上で使用されているため、この
様なシステムにおけるデータの流れ、及び各層に位置す
る端末の行う処理動作についてより具体的な説明を図2
により行う。図2は現在、利用される事が多くなったク
ライアント〜サーバーシステムを説明するための例であ
り、システムA,システムB、システムCの各システム
サーバーは各々の記憶装置としてRAID−A,B,C
を使用しているものとし、各サーバー間は伝送路L1、
L2,L3により相互にデータの転送が可能となってい
る。各サーバーにはクライアントとなる複数の端末が接
続されており、システムAに於けるサーバーS1にはH
DD−1を共用ディスクとするA1,A2,A3とHD
D−2を共用ディスクとするA4,A5とHDD−3を
共用ディスクとするA6,A7,A8,A9が、システ
ムBに於けるサーバーS2にはHDD4を共用ディスク
とするB1,B2とHDD5を共有ディスクとするB
3,B4,B5とHDD6を共有ディスクとするB6,
B7,B8が、システムCに於けるサーバーS3にはH
DD7を共有ディスクとするC1,C2とHDD8を共
有ディスクとするC3,C4,C5とHDD9を共有デ
ィスクとするC6,C7とHDD10を専用ディスクと
するC8が接続されている。このネットワークシステム
において、従来のこの様なクライアント〜サーバーシス
テムの使用方法においてもサーバー1、サーバー2、サ
ーバー3の各サーバーは他の場所にある複数のサーバー
とのデータを相互にやりとりするための伝送路によりデ
ータの分散を同時に行い、これによって例えばサーバー
1のデータが使用不能となった場合には伝送路L3を介
してサーバー2のデータを、又は伝送路L1を介してサ
ーバー3のデータを使用するという方法により必ず最低
1つのデータは確保するというものであった。そしてサ
ーバー1が北海道、サーバー2が東京、サーバー3が九
州というように距離的に離れた場所にある時には、地震
その他の災害時においても、同時にすべてのデータが消
失することはまず無いと思われる。しかしながら、この
確保されるデータはサーバー側にすでに転送されたデー
タのみである。つまり、図2でいえば最下層に位置する
パソコンやワークステーション等の各々の端末において
実行中の各種のアプリケーションにおいて作成中のデー
タにおいては、前記に説明したように最下層の端末まで
RAIDやディスクデュプレキシングを用いることは希
であり、この最下層で作成されたデータが2重化される
のは端末の利用者が作業の終了時などにサーバーにデー
タを転送した時になる。このため、これらの各種のアプ
リケーションソフトを使用する時、その利用者は途中で
何度か、作成したデータをHDDやFDDに書き込むの
が普通であるが、通常これを行う場合には同じデータを
2つ書き込んでおく事はまずない。このため、この時に
そのデータが使用不能となってしまうと、それまでに作
成したデータが完全に無くなってしまう。災害時の様な
異常事態を除く通常時において発生するデータ消失事故
のほとんどは、この作業中のHDDのクラッシュによる
事故によるものが多く、また起こり得確率の比較的高い
ものであるため、この様な事故にも対応する手段を講じ
ておく必要がある。そこで本発明による方法では、最下
層の端末、図2で例えば、A1において作成されたデー
タがあり、このデータをHDD1に書き込みを行う場合
において、従来のシステムではこのデータはHDD1に
書き込まれるだけであったが、これに対し本発明による
方法においては、このデータをHDD1に書き込むと同
時に、このデータをS1に転送し、S1側ではこのデー
タをRAID−Aに書き込みデータが2重化される。さ
らにS1は伝送路L1、L3を介してS2又はS3又は
S2,S3の両方にこのデータを転送し、これを受け取
ったS2はRAID−Bに,S3はRAID−Cに各々
データの書き込みを行うことにより、S1,S2,S
3,の各々RAIDに同一の2重されたデータが確保さ
れる。他のデータ分散例をあげると、システムBにおけ
る最下層の端末B1において作成されたデータをHDD
4に書き込む場合には、このデータをHDD4に書き込
むと同時に、S2とB5に転送し、これを受け取ったB
5はこのデータをHDD5に書き込み、S2はRAID
−Bにこのデータを書き込むと同時に、伝送路L3,L
2を介してS1とS3にデータを転送し、これを受け取
ったS1はこのデータをRAID−Aに書き込み、S3
はこのデータをRAID−Cに書き込む。場合によって
は、さらに例えばS3がRAID−Cにデータを書き込
むとき同時にC1に、このデータを転送しデータを受け
取ったC1は、HDD7にこのデータを書き込むという
事も行えるものとする。この各々の端末が、その端末に
接続されている共有ディスクを含むローカルディスクに
データの書き込みを行う時の動作は、書き込みと同時に
データの転送を行うか否か、これはリモートディスクに
も同一のデータの書き込みを行うか否かという事であ
り、行う場合には何処へ向けてデータ転送を行うかを先
に設定しておく事によって、各端末の動作を決定するソ
フトウェアをこの例においては各サーバーおよびクライ
アントとなる端末に組み込んでおけば良い、現在使用さ
れているパソコンやワークステーションにおいてはマル
チタスク動作が一般的な方法となっているため、本発明
の方法をソフト化して組み込む場合においても、アプリ
ケーションソフトごとにこのソフトを組み込むより、使
用するアプリケーションソフトと同時に走らせるソフト
として組み込む事が望ましいと考えられる。なお、各端
末が書き込み動作を行ったか否か、データの転送を行っ
たか否かは、そのときに使用しているOSのデバイスド
ライパ領域を調べる事によりソフトのみで検出可能であ
るが、この場合において注意が必要なのは、OSの種類
によってデバイスドライバ領域のアドレスが異なる事で
あり、システム内で使用される可能性のあるOSのすべ
てに対しての対応が必要となるのは当然である。次に、
この方法を実際のソフトウェア化を行った場合の使用例
について説明を行う。前記の説明において、この方法を
使用する場合において、各端末の動作は前もってソフト
ウェアで設定が行われた条件によって行われるものと説
明を行ったが、この条件の設定を行うためのソフトウェ
アの画面表示例を図3に示す。まず最初にサーバー側で
使用するソフトウェアの説明しすると、各設定はキーボ
ード入力、又はマウスコントローラーを使用しマウスカ
ーソルを設定項目の位置に移動してクリック操作を行う
ものとし、図2のシステムで使用する場合の例により説
明すると、まず最初にサーバー名の入力を行う、このソ
フトウェアがシステムAのサーバー1において使用され
るものであった場合、ここにS1と入力する。次に、ロ
ーカルディスクの台数を入力する。これは、S1のロー
カルディスクとなるドライブの台数で1となり、次にそ
のドライブ名をRAID−Aと入力を行う。もし、S1
のローカルディスクが複数の場合にはRAID−1,R
AID−2,・・・RAID−Nという様に全てのドラ
イブ名を入力する。次に、メインドライブ名であるが、
これはローカルドライブが複数台の場合において、ロー
カルループ外からのデータ書き込み時にどのドライブに
書き込みを行うかを決めるための設定であり、図2の例
ではローカルドライブは1台のみであるためRAID−
1となる。この次の設定は、サーバーS1に接続されて
いる、クライアントとのグループ数とそのメインドライ
ブとの関係の設定であり、この例ではクライアントのグ
ループ数は3となる。そして、その各グループのメイン
ドライブ名をグループA=の所にA1,A2,A3,H
DD1。グループB=の所にA4,A5,HDD2。グ
ループC=の所にA6,A7,A8,A9,HDD3と
入力する。他のサーバーにおいても同様に設定を行い、
このサーバー側のS1,S2,S3,で使用するソフト
ウェアの設定がここまでともに完了している時点で、い
ずれかのサーバーにおいて、サーバー間でその設定デー
タの相互交換を行いネットワークシステムのマップを作
成するためのソフトウェアを図3の、□マップ作成の所
ににマウスカーソルを移動させクリックを行う事により
起動させる。これにより、各サーバーはネットワークシ
ステムのマップをもつ事により、何処に何というドライ
ブがあるかを知るものとする事ができる。このマップを
作成後に行う次の設定は、サーバーのローカルドライブ
にデータ書き込みが行われた時さらに、他のリモートデ
ィスクにも同一のデータの書き込みを行うか否かの設定
を行うものであり、これをNOとすればサーバーはデー
タの再転送は行わないものとなり、YESとした時には
画面上に図4のように、ネットワークシステム上で使用
されている全てのディスク名(記憶装置名)が表示され
る。この、表示されたディスク名の位置にマウスカーソ
ルを移動してクリック操作を行うによって、どのドライ
ブに対してデータを転送し、書き込みを行わせるかの設
定を行う。この設定は複数台を同時に行うことが出来、
これを行えば複数の場所に同一データを同時に転送し書
き込みを行わせる事が出来る。なお、この設定において
例えばS1で使用されるソフトウェアに設定されたの
が、RAID−BとRAID−Cであった場合において
S2からS1にデータが転送されこのデータをRAID
−Aに書き込むときS3にはデータを転送しRAID−
Cにデータの書き込みは行わせるが、S2に対しては何
の処理も行わないものとする。つまり、設定が行われて
いる所から転送されてきたデータの再転送は行わないと
いう事である。これは、転送を何度も繰り返して行って
しまう永久ループに入る事を防ぐための処理であり絶対
に必要なものである。他のサーバーでS2とS3で使用
するソフトウェアも前記同様に設定を行えば、サーバー
側で使用するソフトウェアの設定は全て完了である。図
2において使用する他のサーバーS2,S3の設定用ソ
フトウェアを設定した例を図5,図6、図7,図8に示
す。次に、クライアント側で使用するソフトウェアの設
定についての説明を行う。この、クライアント側で使用
するソフトウェアの設定は先のサーバー側のソフトウェ
アの設定、及び組み込み完了後に行うものとする。ま
ず、クライアント側でこの設定用のソフトウェアを起動
すると、自動的にサーバー側にあるマップデータの取り
込みを行う。このマップデータを取り込む事によりクラ
イアント側の設定用ソフトウェアもネットワークシステ
ム上で使用されている全てのドライブ名を把握できる事
になる。この取り込みを終了した後で図9に示す設定画
面表示が行われる。このクライアント用ソフトウェアの
設定用の画面例であるが、この場合も前記と同様に、各
設定はキーボード入力、又はマウスコントローラーを使
用しマウスカーソルを設定項目の位置に移動してクリッ
ク操作を行うものとしている。まず、設定を行うのはロ
ーカルディスクに書き込みを行う場合に他のリモートド
ライブにも書き込みを行うか否かをYES,又はNOで
選択する。この時システムのマップを見たい場合には□
マップ表示をクリックする事により図2の様なマップ表
示画面も見られる。この転送の設定を、NOとした時に
はデータの転送及び書き込みは行わず、YESとした時
にはネットワークシステム上の全てのドライブ名が表示
され、これをマウスカーソルをドライブ名の位置に移動
してクリック操作を行う事により、データの転送し書き
込みを行わせるドライブを指定できる。この場合も先の
サーバー側の設定と同様に複数のドライブの設定が出来
る又このクライアント側の設定用ソフトウェアおいて
も、 設定が行われている所から転送されてきたデータ
の再転送は行わないという処理を行わなければならな
い。次に、前記の従来のバックアップ方法の説明におい
て取り上げたディスクミラーリング及びこれを行うため
のミラーリング装置について、コンピュータシステムの
メイン側コンピュータで良く使用される方法とした理由
について再度説明を行うと、ディスクミラーリング方法
はコンピュータシステムを通常の状態で使用する場合に
おいては、かなり有効なデータのバックアップ方法であ
るため出来るならばシステム内で使用する全ての記憶装
置に、これを用いる事が望ましいものである。しかしな
がら、現実的には例えばクライアント〜サーバーシステ
ム等のネットワークOSのソフトウェアにおいては、デ
ィスクミラーリングやディスクデュプレキシングの機能
を含むソフトウェアであっても、その機能が有効なのは
サーバー側の記憶装置のみである場合や、ソフトウェア
内にはミラーリング機能を含まない場合などのソフトウ
ェア自体によって制限される場合も多々あり、専用のハ
ードウェアにおいては、このミラーリング装置そのもの
自体が非常に高価なものであるため、これをコンピュー
タシステムの末端の記憶装置にまで使用することはほと
んど無理である。そこで、考案されたのが本発明による
複数のSCSI記憶デバイスに同時に同一のデータを書
き込ませる、又は読み出させる事を可能とする制御の方
法とこれを用いたSCSIデバイスコントローラーであ
る。本発明による方法を用いる事によりミラーリング装
置を非常に安価な価格で供給可能である。以下この、方
法について説明を行う 現在、コンピュータ装置に外部記憶装置としてHDDや
光ディスクドライブを接続する場合において、最も良く
使用されるインターフェースはSCSI方式である。こ
のSCSI方式においてデータの入出力を行う場合、同
期転送方式と非同期転送方式とがあるが現在販売されて
いるSCSI機器は、ほぼ全てが高速でデータ転送が可
能な同期転送方式に対応したものである。同期転送方式
はコンピュータの電源投入時やリセット時にイニシエー
タとターゲットとの間で同期メッセージのやり取りを行
い、その転送速度やオフセット値を確認しあう事によっ
て相互が対応可能な設定が行われものである。この、S
CSI方式において使用されるSCSIデバイスの大き
な特徴として、インテリジェントなデバイスであること
があげられる。これは、従来のフロッピーディスクでは
コンピュータ側のCPUによって行われていたディスク
ドライブのヘッド位置の制御等は一切行う必要がなくコ
マンドを転送するのみで良くなっている。これによって
コンピュータ側のCPUにかかる負担が少なくなるた
め、HDDを通常の使用方法で使う場合には非常に効率
の良い方法であるが、これを行うためにSCSI機器は
各々がCPUを内蔵するものとなり、コマンドを実行中
は各々に独立したタイミングで動作を行う事になる。こ
れによりデータの読み書きを行う場合の制御の主導権
が、フロッピーディスクの場合にはコンピュータ側にあ
ったのに対しSCSI方式のHDDを使用する場合にお
いては読み書きの動作の主導権はHDD側にあり、HD
Dはコンピュータ側からのコマンドを自分のタイミング
で処理しSCSIバスをコントロールする。このことは
2台又は、それ以上の複数のSCSIデバイスを同時に
同一の動作を行わせようとする場合には、大きな問題と
なる。例えば、2台のHDDに同時に同じコマンドを送
っても各々のHDDは別々のCPUを持った独立したタ
イミングによる処理を行っているため、動作中のタイミ
ングまで含めて考えると、同じタイミングで動作を開始
し終了する事は有り得ない。この事が原因となって2台
のHDDを同一のID番号に設定してSCSIバスに接
続しても同時に動作を行わせる事は出来ない。SCSI
方式では、通常のコマンド、メッセージ等は一般的なR
EQ,ACK信号によるハンドシェイクによる非同期転
送により行われ、同期データ転送が使用出来るのはデー
タ転送フェーズに限られている。このため、本発明にお
いて複数のSCSIデバイス同時に同一の動作をさせる
方法として、非同期動作時において複数のSCSIデバ
イスの動作タイミングを合わせる方法と、同期動作時に
おいて複数のSCSIデバイスの動作タイミングを合わ
せる方法。とを組み合わせて使用している。この、方法
について実際の例により説明を行うと、説明をわかりや
すくするためにSCSIの記憶デバイスとしてはHDD
を用いるものとし、台数は最少の2台に同時に同一の動
作を行わせ書き込みと、読みだしをする方法について説
明を行う。まず最初に非同期動作時において、2台のH
DDに同時に同一動作を行わせるための方法を説明する
と、前記に説明を行った様に2台のHDDを同じID番
号に設定し同時に同一のコマンドを与えたとしても各々
のHDDが、このコマンドに対する応答のための信号を
出力するタイミングは全くランダムであり各々のHDD
をAとBとすると、Aが先に動作を開始し応答信号を出
力する場合もあれば、Bが先に動作を開始し応答信号を
出力する事もある。SCSI方式では、バスを使用する
事ができるのはSCSIバスに接続されたデバイスの中
の、何れか1つのみであり複数のデバイスがこれを同時
に使用する事は出来ないので、先に動作を開始したHD
Dの応答信号をそのままSCSIバスに出力してしまう
と、そのデバイスがバスの優先権を取ってしまい、もう
1台のHDDはそのままの状態で置き去りにされてしま
う。そこで、HDDの出力信号REQ,BUSY,MS
G,C/D,I/O,の各信号を図10に示される非同
期時タイミング制御回路によりこれを解決する。図10
−1は2台のデバイスを使用する場合の回路例であり、
図10−2はこの回路の入出力信号の例である。又、こ
れ以上の台数のデバイスを使用する事も、図11の回路
例に示す方法により可能である。図10−1の動作は、
図10−2からも解るとうり、この回路の入力A,Bへ
の入力信号が両方共に同じ”H”又は”L”となった時
のみに、出力信号Cは入力信号の”H”又は”L”に対
応して変化する。つまり、出力が”H”の時のA又はB
の一方が”L”になっても出力されずAとBが共に”
L”となってから出力信号Cは”L”となる。逆に、こ
の出力Cが”L”となった状態からはA又はBどちらか
が”H”となっても出力は変化せずA、B両方ともが”
H”になった時に出力Cが”H”にもどる事になる。こ
の回路を5回路作成し、その入力A,BにHDD−Aと
HDD−Bの出力信号REQ,BUSY,MSG,C/
D,I/O,の各信号を入力し、その出力信号Cをイニ
シエータ側のSCSIバスに接続すれば、各回路におい
てA,B2つの入力が両方とも同時に”L”か”H”に
なってからしかSCSIバスをドライブしない、つまり
A,B2台のHDDが同一の動作状態になってから、そ
の状態を、イニシエータを主とする他のSCSIデバイ
スに出力する事になる。例えば、何等かのコマンドに対
してHDD−AがREQ信号を出力し、遅れてHDD−
BがREQ信号を出力した時イニシエータ側のSCSI
バスのREQバスはHDD−BがREQ信号を出力する
までドライブされないため、イニシエータがACKパル
スを応答信号として返してくるのは、必ず2台のHDD
がREQ信号を出力してからというタイミングとなるた
め、どちらか一方のHDDのみが動作するという事は絶
対にない。他の,BUSY,C/D,I/O,MSGに
ついても同様に、2台のHDDの動作が必ず同じ状態と
なってからしか、SCSIバスをドライブしないため当
然、イニシエータからの応答信号を受け取る場合も同一
の動作状態において行われるものとなる。制御信号線の
中でイニシエータ側から出力される信号ATN,AC
K,RSTは、直接またはバッファーを通じて各々のH
DDに接続しておけば良く、データバスとパリティーバ
スはイニシエータ側のSCSIバスのI/O信号によ
り、その入出力の方向を検出し、イニシエータ側からH
DDへデータが入力される場合には両方のHDDにこの
データを入力するものとし、HDD側からデータを出力
する場合には任意の1台のデータのみをイニシエータ側
のSCSIバスに出力するものとしておけば良い。当
然、この場合に使用される2台のHDDはID番号を同
じに設定するのみでなく、パーテーションの仕方や、領
域確保の容量や物理セクタ長などを同一とし、データの
内容も同じにしておかなければならない。非同期動作し
か行なわないSCSI機器ならば、前記の方法のみによ
り同時に同一動作を行わせる事が可能となるが、先に説
明のとうり現在使用されているSCSI機器のほとんど
が同期データ転送方式に対応したものであるため、この
同期データ転送方式への対応が不可欠なものとなる。以
下、これに対応する方法について説明を行う。同期デー
タ転送方式においては、HDDの読みだしデータをイニ
シエータに転送する場合とイニシエータ側からのデータ
をHDDに書き込む場合がある。本発明においては、2
台のHDDを同時に書き込み又は読みだし動作を行わせ
るものであるが、読みだし動作を行うばあいにおいて
は、2台のHDDが両方とも正常な動作を行っている間
は、どちらのHDDも同じデータを出力するため、どち
らか1台だけに読みだし動作を行わせ、そのデータをイ
ニシエータに転送するという方法も可能であるがHDD
の場合、実際にクラッシュが起きているか否かは、実際
にデータの読みだしを行わない限りわからない。このた
め、本発明においてはHDDからデータの読みだしを行
う場合においても、2台のHDDに同時に同一の動作を
行わせた上で、どちらか一台のデータのみをイニシエー
タに転送するものとしている。この時、2台のHDDの
内どちらのデータを使用するかは、データ読みたしコマ
ンドに対する応答信号出力の遅れた方のHDDのデータ
を使用する。この理由は2台のHDDにヘッドの移動や
位置等も含めて同時に同じ動作をさせるためであると同
時に、この方法によってどちらのHDDのデータを使用
するかを決定することにより、ランダムな選択によるも
のとなり実際に読みだされたデータをイニシエータに転
送して使用する事によって、2台のHDDのデータが正
常な読み出しを行える状態で保存されているかというチ
ェツクを直接的に行えるという利点もある。同期データ
転送方式によるデータ読み出しを行う場合においては、
前に説明を行った非同期動作時とは異なる方法で2台の
HDDの動作タイミングを合わせる必要がある。以下こ
れの説明を行う。まず、同期データ転送方式においてデ
ータ読み出し動作を行う場合における、REQ信号とA
CK信号の関係はについて簡単に説明を行うと、イニシ
エータ側からデータ読み出しコマンドを受け取ったHD
Dは、オフセット値を越えない範囲内のデータをREQ
パルスに同期したタイミングで、ACKパルスに先だっ
てイニシエータに転送する事ができ、これを正常に受け
取った時にイニシエータは、次のデータの要求信号とし
てACKパルスをHDDに出力するというものである。
このACKパルスの数は、HDDの出力したREQパル
スの数を越えて出力される事は絶対になく、もしREQ
パルス以上のACKパルスが返されて来た場合には、H
DDはこれをエラーが発生したものとして動作をストッ
プしてしまう。この事から、本発明においては、このR
EQパルスとACKパルスを制御する事が必要となる。
同期データ転送に対応したHDDにおいてイニシエータ
とターゲットとの間で同期メッセージ交換が済んだ後、
2台のHDD(A,B)が同時にイニシエータからのデ
ータ読み出しコマンドを受け取ると、それまでの非同期
動作から同期動作にかわる。まず、2台のHDDは各々
に同期メッセージ交換において取り決められたオフセッ
ト値以下の数のデータをREQパルスと共にイニシエー
タに転送しようとするが、この出力タイミングにランダ
ムな時間的ずれが生じる。このとき、2台のHDDの内
の先に出力が行われたREQパルス及びデータはSCS
Iバスに出力せず、遅れて出力を行った方のREQパル
ス及びデータをセレクトしてSCSIバスに出力する。
これを行うために、2台のHDDのどちらが先に出力動
作を行ったかの検出を行い遅れて出力されたREQパル
ス信号をSCSIバスに出力するのが、REQパルス検
出回路である。この、REQパルス検出回路において得
られる信号SEL−A,SEL−Bは使用する側のHD
Dのデータ及びREQ以外の制御信号BUSY,MS
G,C/D,I/Oを選択してバスに出力するために使
用されるセレクト信号である。この、REQパルス検出
回路の例を図12に示す。又、これ以外の制御用の信号
となる、データが使用されない他のHDDが出力するR
EQパルス及びイニシエータの出力する信号の処理およ
び制御方法についての説明を行うと、前記にも説明をし
た様にHDDは出力したREQパルス以上のACKパル
スが入力されるとエラー状態となる、そこで本発明にお
いては同時に同一の動作を行なわせようとする2台のH
DDがこのような、エラー状態とならないような制御方
法を考案した。これを図13及び図14により説明を行
う。図13は同期データ転送方式においてデータ読み出
しを行う場合における、REQパルスおよびACKパル
スの処理及び制御を行うための回路のブロック図であ
る。この回路の構成は 1.2台のHDDのうち、選択されなかった方のHDD
の出力するREQパルスをカウントするためのカウンタ
ー回路1 2.HDDに出力したACKパルスをカウントするため
のカウンター回路2 3.イニシエータの出力したACKパルスをカウントす
るためのカウンター回路3 4.HDDに出力するACKパルスを発生するためのA
CKパルス発生回路とその基準となるクロック回路とA
CKパルス発生回路の出力の波形補正を行うためのマス
ク回路 5.上記カウンター回路1と2のカウント値を比較し一
致検出を行うコンパレーター回路1 6.上記カウンター回路2と3のカウント値を比較し一
致検出を行うコンパレーター回路2 7.イニシエータの出力したACK信号のレベルを検出
し、上記マスク回路を制御を行うレベル検出回路 により構成されている。先に説明をした2台のHDDの
内のいずれか1台のデータとREQパルスを選択して出
力する場合において、選択されなかった側のHDDの出
力するREQパルスをカウンター回路1に入力し、これ
をカウントする。カウンター回路2には、この後に説明
を行うACKパルス発生回路の出力を入力しこれをカウ
ントする。カウンター回路3にはイニシエータの出力し
たACKパルスを入力しこれをカウントする。各カウン
ターの長さは、通常8BIT程度で十分である。これ
は、各カウンター間のカウント値の差がオフセット値以
上となる事はエラー時以外にはなく、又カウントオーバ
ー時にも各カウンターのカウント値が同じになった事を
検出する事により何の問題なく一致検出を行えるためで
ある。コンパレーター回路1はカウンター回路1とカウ
ンター回路2のカウント値の一致検出を行い、コンパレ
ーター回路2はカウンター回路2とカウンター回路3の
カウント値の一致検出を行いこのコンパレーター回路1
又は2のいずれか又は両方において一致検出が行われた
場合にはACKパルス発生回路の動作を停止させる。こ
のカウンター回路とコンパレーター回路によって制御さ
れたACKパルス発生回路の出力パルスの数は、2台の
HDDのどちらのREQパルスの数も越えないものとな
る。ただし、前記の方法により作成されたACKパルス
をそのまま2台のHDDに対するACKパルスとする事
はできない。この理由はイニシエータがHDDに対して
出力するACKパルスは、データブロックの区切りや、
最後である事をHDDに知らせ次の動作の用意をお行わ
せるために、パルスの数だけでなくレベルにおいても通
常と異なる出力を行う。具体的には、ACKパルスを”
L”のままにしておいて最後のデータを出力後に通常
の”H”レベルにもどすというものである。このためA
CKパルスを作成してHDDに入力する場合においても
単に数だけを合わせたACKパルスを使用すると、2だ
いのHDDは別々のタイミングで次の動作に移行してし
まい動作状態が違ってしまい結果的にはエラー状態とな
り動作がストップしてしまう。これに対処するために本
発明では以下の方法を用いている。イニシエータ側の出
力するACKパルスに連続した”L”が含まれない状態
では2台のHDDは前記の制御されたACKパルスによ
り、読み出しデータ数も制御された同一の動作が行われ
ているため、当然2台のHDDが最後のデータを出力す
るタイミングも同時となる、又この時ACKパルス発生
回路で作成されるACKパルスのタイミンダもイニシエ
ータの出力するACKパルスにより決まる。この時、レ
ベル検出回路によりイニシエータの出力したACKパル
スに一定の時間以上の”L”レベルが出力されたか否か
を検出しておき、これを検出した時はこの検出信号によ
りマスク回路を動作させる。マスク回路は、ACKパル
ス発生回路で作成したACKパルスをマスク処理を行う
事によりイニシエータが出力する正規のACKパルスの
形式に従った波形に変換するもので、このマスク回路の
出力を2台のHDDにACK信号として入力する事によ
り、2台のHDDは同時に次の動作に移行するものとな
る。このマスク回路の動作のタイミングを図14に示
し、図15には一定時間以上の”L”を検出するための
レベル検出回路とマスク回路とACKパルス発生回路と
の例を示す。上記の説明による回路及び制御方法により
作られたACKパルスを2台のHDDに入力する事によ
り同時に同一の動作を行うものとなるが、この方法は同
期データ転送時に読み出し時の制御方法でありHDDが
読み出しコマンドを終えると同時に、HDDに入力され
るACKパルスも、イニシエータからのACK信号に、
またHDD側からの出力信号も選択された信号ではな
く、非同期時のタイミング処理回路の出力がイニシエー
タ側のバスに出力されるように切り換えを行い、元の動
作状態ににもどす必要がある。次に、同期データ転送時
において2台のHDDに同時に同一のデータの書き込み
動作を行わせる方法について説明を行う。まず、同期デ
ータ転送時の書き込み動作について説明を行うと、HD
Dがイニシエータから書き込みコマンドを受け取ると、
HDDがオフセット値を越えない範囲の数のREQパル
スを出力する。このREQパルスに対してイニシエータ
はこれと同数のデータとこのデータの出力タイミングに
同期したACKパルスをHDDに出力する。この時に2
台のHDDが同一のタイミングでREQパルスを出力す
るならば、単純に並列接続を行っても問題ないが、この
場合にも読み出し動作のばあいと同様に2台のHDDの
応答はランダムな時間差をもっており、このため単に並
列接続を行っても動作の遅れた方のHDDがREQパル
スを出力する前にACK信号が入力されてしまい、正常
なデータ転送時の条件となるACKパルス数≦REQパ
ルス数からはずれてしまいエラー状態となってしまうた
めである。本発明では、これを解決するための方法とし
て、前記の読み出時においてはHDDに入力するACK
パルスを作成し2台のHDDの制御を行ったが、書き込
みの場合にはイニシエータに対してHDDが書き込み可
能なデータの数を知らせる又は、その転送を要求する信
号となるREQパルスを制御して出力するもので、2台
のHDDから出力されるREQパルスから、両方のHD
Dが共に書き込み可能となっているデータ数のREQパ
ルスを作成し、これをイニシエータ側のREQバスに出
力する事により、イニシエータがデータを出力するタイ
ミングを制御するものである。これを行うための回路の
ブロック図を図16にしめす。この回路の動作を図16
により説明を行うと、この図16を見てわかるとうり、
回路構成は、先に説明を行ったデータ読み出しのための
制御回路と非常によく似たものである。違いがあるのは
マスク回路とこれをコントロールするためのレベル検出
回路がなく、各カウンター回路に入力される信号が異な
るのと、ACKパルス発生回路がREQパルス発生回路
となっている事で、このREQパルス発生回路の制御は
前と同様にコンパレーター回路の一致検出出力により行
っており、回路、又はその動作としては基本的に同じも
のであり、説明上べつの物としているが実際には1つの
回路を共用して使用する回路とするのが一般的である。
この書き込み用の回路では、カウンター回路1とカウン
ター回路3は、2台のHDD各々のREQ信号出力を入
力信号として、各々これをカウントする。カウンター回
路2はREQパルス発生回路の出力信号を入力とし、そ
の出力パルスをカウントする。前記カウンター回路1の
カウント値とカウンター回路2のカウント値をコンパレ
ーター回路Aで比較し一致検出を行う。又、カウンター
回路2のカウント値とカウンター回路3のカウント値を
コンパレーター回路で比較し一致検出を行う。この、コ
ンパレーター回路A又はBの何れか又は両方で一致検出
が行われている間はREQパルス発生回路の動作を停止
するものとする。この回路および制御により出力される
REQパルスの数は、2台のHDDの出力したREQパ
ルスの内で少ない方に等しい数のREQパルスを出力す
るものとなる。これにより、このREOパルス発生回路
の出力をイニシエータ側のSCSIバスに出力すればイ
ニシエータは2台のHDDのどちらもが、書き込み可能
な数のデータ及びACKパルスしか出さないため、2台
のHDDはエラーを発生することなく同時に、同一のデ
ータの書き込みを行う事ができる。データ書き込みの場
合にはイニシエータ側から出力されるデータは当然2台
のHDDの両方に入力され、又他のイニシエータ側から
の出力信号も両方のHDDに入力される。HDD側の出
力信号はREQ信号のみが説明のようにカウンター回路
に入力され、他の信号出力は前記データ読み出しにおい
ては、選択された側のHDDの出力信号をイニシエータ
のバスに出力していたのに対し、データ書き込みの場合
には、非同期時のタイミング処理回路の出力信号をイニ
シエータ側のSCSIバスに出力するものとする。当
然、この方法も同期データ転送時の書き込み時の制御方
法でありHDDがデータ書き込みコマンドを終えると同
時に、イニシエータに入力されるREQパルスも非同期
時タイミング処理回路のものに切り換え、他の入出力信
号も元の動作状態におけるものとしなければならない。
前記の説明による、回路例及び制御方法においては例え
ばSCSIバスの制御用信号BUSY,SELを、BU
SYについてはHDDの出力信号として又SELについ
てはイニシエータ側の出力信号として説明を行っている
が。これは動作の説明をわかりやくするためであり、本
来BUSYとSEL は双方向バスである。そこで、こ
のBUSYとSELを双方向の入出力回路とする場合の
回路例を図17にしめしておく。なを、前記の方法、回
路により使用される2台のHDDはイニシエータ側から
見ると1台のHDDとみなせるため、この利用者は従来
のソフトウェアをそのままで使用することができ、操作
に関しても全く変わらないため、本発明による装置の有
無を意識することなく利用でき、従来のようなHDDに
書き込んだデータを毎回FDDにバックアップコピーを
取っておくといった煩わしい作業から解放される事とな
る。又、前記の説明においては、エラー発生時の処理に
ついては説明されていないため、以下説明をすると、前
記の説明による回路に2台のHDDを接続し、イニシエ
ータ側からコマンドを与えることにより両方のHDDに
同時に同一のデータを書き込ませる。又、は同時に同一
動作をさせてデータ読み出しを行わせるが、この基本的
な回路のみにおいても、データが読み出されるHDDが
ランダムな選択により行われる事により、読み出し動作
=データ状態チェツク動作となっている。そして、この
方式では両方のHDDの動作が同一とならない場合はH
DDに何らかの異常が発生した場合である。この時の動
作はどちらのHDDが異常を発生した場合でも次の動作
状態に移行せずに停止するため、これを使用している利
用者はHDDに異常が発生した事をすぐに知ることがで
きる。この時でも、どちらかのHDDは必ず正常な動作
が行えるはずであるから、この正常に動作する方のHD
Dを本発明による回路を通さずに、直接イニシエータ側
のSCSIバスに接続する通常の使用方法を用いれば良
い事となる。この場合は、エラーが発生した場合に、そ
の後の処理に対して何の手段もしない基本回路のみによ
る場合であるが、実際にはこのままでは不便であるた
め、例えば本発明による回路では、2台のHDDの動作
に違いが出た場合はエラーが発生した等の異常発生じで
在るから、これを2台のHDDのBUSY,MSG,I
/O,C/D等の各信号をEX−OR(NOR)で常時
比較しておけば、一定の時間以上2台の信号に違いがあ
れば異常の発生を検出でき、単にブザーやランプ等によ
り使用者に異常を知らせると共に、2台のHDDの何れ
かをスイッチで切り換えてイニシエータ側に接続出来る
ような回路としておき、この切り換えを行えばすぐに使
用可能とすることも出来るし、さらにデータのパリティ
ーチェック回路を追加しておけば2台のHDDの内どち
らのHDDがエラー状態となったかも検出できるため、
この信号によって自動的に正常なHDDをイニシエータ
に接続するという物とする事も可能である
【0007】
【発明の効果】本発明によるSCSIデバイスコントロ
ーラーは業務用のネットワークされた大規模システムだ
けでなく、個人ユースにおけるデータバックアップ用に
使用した場合にも、煩わしいバックアップ作業から解放
され、かつ確実なバックアップが行える方法である。低
価格での供給が可能な事から、個人用〜業務用システム
まで広い範囲での使用が考えられ、業務用においては末
端の端末までのデータの2重化を低予算で実現でき、本
発明によるバックアップ方法とを併用して使用すれば、
データバックアップの信頼性がより向上するものとでき
る。
ーラーは業務用のネットワークされた大規模システムだ
けでなく、個人ユースにおけるデータバックアップ用に
使用した場合にも、煩わしいバックアップ作業から解放
され、かつ確実なバックアップが行える方法である。低
価格での供給が可能な事から、個人用〜業務用システム
まで広い範囲での使用が考えられ、業務用においては末
端の端末までのデータの2重化を低予算で実現でき、本
発明によるバックアップ方法とを併用して使用すれば、
データバックアップの信頼性がより向上するものとでき
る。
【図1】 本発明の基本的な考え方を説明するためのコ
ンピュターシステムの例。
ンピュターシステムの例。
【図2】 本発明のを具体的な実施例を説明するための
ネットワークシステムの例。
ネットワークシステムの例。
【図3】 本発明によるバックアップ方法を使用するた
めにソフトウェア化を行った場合のサーバー用ソフトウ
ェアの表示画面例。
めにソフトウェア化を行った場合のサーバー用ソフトウ
ェアの表示画面例。
【図4】 サーバー用ソフトウェアにおけるデータ転送
先の設定時の表示画面例。
先の設定時の表示画面例。
【図5】 S2のサーバーにおけるサーバー用ソフトウ
ェアの設定表示画面例。
ェアの設定表示画面例。
【図6】 S2のサーバーにおけるサーバー用ソフトウ
ェアのデータ転送先設定表示画面例。
ェアのデータ転送先設定表示画面例。
【図7】 S3のサーバーにおけるサーバー用ソフトウ
ェアの設定表示画面例。
ェアの設定表示画面例。
【図8】 S3のサーバーにおけるサーバー用ソフトウ
ェアのデータ転送先設定表示画面例。
ェアのデータ転送先設定表示画面例。
【図9】 本発明によるバックアップ方法をソフトウェ
ア化した場合の、クライアント用設定ソフトウェアの表
示画面例。
ア化した場合の、クライアント用設定ソフトウェアの表
示画面例。
【図10】非同期タイミング制御回路の回路図。非同期
タイミング制御回路の入出力信号の例。
タイミング制御回路の入出力信号の例。
【図11】非同期タイミング制御回路で複数台を制御す
る場合の回路例。
る場合の回路例。
【図12】REQパルス検出回路の回路例。
【図13】同期データ転送方式におけるデータ読み出し
のための制御を行うためのブロック図
のための制御を行うためのブロック図
【図14】マスク回路タイミング図
【図15】レベル検出回路とマスク回路とREQパルス
発生回路の回路例。
発生回路の回路例。
【図16】同期データ転送方式におけるデータ書き込み
のための制御を行うためのブロック図
のための制御を行うためのブロック図
【図17】入出力のバスを双方向化する場合の回路例。
Claims (8)
- 【請求項1】 有線又は無線による伝送路を用い、相互
にデータの転送が可能なデータリンクが行われているコ
ンピュータネットワークシステムにおいて、このコンピ
ュータネットワークシステムに具備されている複数の記
憶装置のいずれかにデータの書き込み保存動作を行わせ
る時、この記憶装置との関係においてローカルループを
形成するコンピュータ装置は、このローカル記憶装置へ
の書き込み動作をローカルループ外に具備されたリモー
ト記憶装置を少なくとも1台は含む2又はそれ以上の記
憶装置に同時に同じデータを書き込む動作を行うものと
し、又これによりデータリンクを介しての書き込み動作
が行われるリモート記憶装置側においても、このリモー
ト記憶装置との関係においてローカルループを形成する
コンピュータ装置が、このコンピュータ装置から見てロ
ーカル記憶装置となる記憶装置に書き込み動作を行うと
き、これをさらにローカルループ外に具備されたリモー
ト記憶装置を少なくとも1台は含む2又はそれ以上の記
憶装置に同時に、同じデータを書き込む動作を行うとい
うリレーショナルなデータ分散を行う事を特徴とするデ
ータバックアップ方法。 - 【請求項2】 請求項1において、ローカルループ外に
具備された記憶装置はコンピュータネットワークシステ
ムにおいて使用可能な全ての記憶装置であり、その種類
は問わないものであることを特徴とする請求項1のデー
タバックアップ方法。 - 【請求項3】 請求項1において、同時に同じデータを
書き込む動作は、コンピュータネットワークシステムの
使用上やむなく発生する時間的な遅延を除きリアルタイ
ム動作で行わせる事を特徴とする請求項1のデータバッ
クアップ方法。 - 【請求項4】 イニシエータとターゲットの間に接続し
て使用するSCSIデバイスコントローラーにおいて、
イニシエータ側のSCSIバス接続を行うためのSCS
Iインターフェース回路部と、ターゲットとなる複数の
SCSI記憶デバイスを接続するための複数化されたS
CSIインターフェース回路部と、これらSCSIイン
ターフェース回路の入出力信号の制御を行うコントロー
ル回路部を具備し、この複数化された側のSCSIイン
ターフェース回路の各々に、相互に同期の手段をもたな
い複数のSCSI記憶デバイスを、同一のID番号に設
定し接続した場合において、イニシエータ側からのコマ
ンドにより、同じID番号の複数のSCSI記憶デバイ
スを同時に同一動作を行わせるための制御をイニシエー
タ及び複数のターゲットに対して行う車により複数のS
CSI記憶デバイスへの同一データの同時書き込み及び
同一動作による、データの同時読みだしを可能とした事
を特徴とするSCSIデバイスコントローラーにおける
制御方法と、これを用いたSCSIデバイスコントロー
ラー。 - 【請求項5】 請求項4において、同一ID番号の複数
のSCSI記憶デバイスを同時に同一動作を行わせるた
めの制御は、複数のSCSI記憶デバイス対してイニシ
エータ側のコマンドを同時に与え、このコマンドに対し
ての動作応答に最も時間を要したSCSI記憶デバイス
の動作タイミンダを基準として、複数のSCSI記憶デ
バイスにおいて共通のタイミングとなる制御用信号を作
成し、この信号により行う制御であることを特徴とする
SCSIデバイスコントローラーにおける制御方法、及
びこれを用いたSCSIデバイスコントローラー。 - 【請求項6】 請求項5において、複数のSCSI記憶
デバイスにおける共通のタイミングとなる制御用信号
は、同期データ転送方式による書き込み動作時と、同期
データ転送方式による読みだし動作時と、これ以外の動
作時とにおいて異なる制御信号が用いられるものであ
り、この各々の動作に対応する制御用信号を作成しこれ
を切り替えて使用することにより、SCSIデバイスに
おける同期、非同期の両方に対応可能とした事を特徴と
するSCSIデバイスコントローラーにおける制御方
法、およびこれを用いたSCSIデバイスコントローラ
ー。 - 【請求項7】 請求項6において、各々の動作に対応す
る制御用信号を作成する手段は、同期データ転送方式に
よる書き込み動作においては、複数NのSCSIデバイ
ス各々が出力するリクエストパルスをカウントするため
のN個のカウンター回路C1〜CNとイニシエータに対
して出力するリクエストパルスを発生するためのリクエ
ストパルス発生回路と、その出力リクエストパルスをカ
ウントするためのカウンター回路CP、このカウンター
回路CPのカウント値と前記カウンター回路C1〜CN
のカウント値を各々に比較し一致検出を行うためのN個
のコンパレーター回路X1〜XNとを具備し、このコン
パレーター回路X1〜XNのいずれか1つ又はそれ以上
において一致検出が行われている間は、前記リクエスト
パルス発生回路の動作を停止させるものとし、このリク
エストパルス発生回路の出力信号を複数のSCSI記憶
デバイスの共通のタイミングとなるリクエストパルスと
し、これをイニシエータ側へのREQ信号とする事によ
り、同期データ転送時において複数NのSCSI記憶デ
バイスに、同時に同一データの書き込みを行わせる事を
特徴とする制御方法。 - 【請求項8】 請求項6において、各々の動作に対応す
る制御用信号を作成する手段は、同期データ転送方式に
よる読みだし動作においては、複数NのSCSI記憶デ
バイスのイニシエータ側からのコマンドに対する応答順
を検出するための順位検出回路とこの検出信号をもとに
選択された、SCSI記憶デバイスのデータ及びREQ
信号をイニシエータ側に出力するためのセレクト回路
と、このセレクトされたデバイス以外のデバイス各々が
出力するリクエストパルスをカウントするためのカウン
ター回路B1〜BN−1と、イニシエータの出力したア
クノリッジパルスをカウントするためのカウンター回路
BAと、タイムドメインでのイニシエータの出力するア
クノリッジパルスのレベル検出を行うレベル検出回路
と、この出力信号により制御されるマスク回路と、複数
のSCSI記憶デバイスに対して出力するアクノリッジ
パルスを発生するためのアクノリッジパルス発生回路
と、この出力パルス数をカウントするためのカウンター
回路BPと、このカウンター回路BPのカウント値と前
記カウンター回路B1〜BN−1及びBAとのカウント
値を各々、比較し一致検出するN値と同数のコンパレー
ター回路Y1〜YNを具備し、このコンパレーター回路
Y1〜YNのいずれか1つ、又はそれ以上において一致
検出が行われている間は、前記アクノリッジパルス発生
回路の動作を停止させるものとし、このアクノリッジパ
ルス発生回路の出力パルスをマスク回路に入力し、波形
の補正を行いこれを複数のSCSI記憶デバイスにおけ
る共通のタイミングとなるアクノリッジパルスとして、
同時に複数のSCSI記憶デバイスに与える事により、
同期データ転送時において複数NのSCSI記憶デバイ
スに同時同一動作によるデータの読み出しを行わせる事
を特徴とする制御方法。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7109899A JPH08272666A (ja) | 1995-03-31 | 1995-03-31 | データバックアップ方法と、ミラーリング装置と、その 制御方法。 |
| AU51220/96A AU5122096A (en) | 1995-03-31 | 1996-03-28 | Data backup method, mirror ring apparatus and its control |
| PCT/JP1996/000837 WO1996030824A1 (en) | 1995-03-31 | 1996-03-28 | Data backup method, mirror ring apparatus and its control |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7109899A JPH08272666A (ja) | 1995-03-31 | 1995-03-31 | データバックアップ方法と、ミラーリング装置と、その 制御方法。 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08272666A true JPH08272666A (ja) | 1996-10-18 |
Family
ID=14521990
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7109899A Pending JPH08272666A (ja) | 1995-03-31 | 1995-03-31 | データバックアップ方法と、ミラーリング装置と、その 制御方法。 |
Country Status (3)
| Country | Link |
|---|---|
| JP (1) | JPH08272666A (ja) |
| AU (1) | AU5122096A (ja) |
| WO (1) | WO1996030824A1 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6035347A (en) * | 1997-12-19 | 2000-03-07 | International Business Machines Corporation | Secure store implementation on common platform storage subsystem (CPSS) by storing write data in non-volatile buffer |
| JP2004005068A (ja) * | 2002-05-30 | 2004-01-08 | Internatl Business Mach Corp <Ibm> | ネットワークを利用したデータのバックアップ技術 |
| US7370099B2 (en) | 2003-03-28 | 2008-05-06 | Hitachi, Ltd. | Cluster computing system and its failover method |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9971656B2 (en) | 2010-12-13 | 2018-05-15 | International Business Machines Corporation | Instant data restoration |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05108276A (ja) * | 1991-10-11 | 1993-04-30 | Nec Software Kansai Ltd | データ処理装置 |
| JPH05165732A (ja) * | 1991-12-13 | 1993-07-02 | Hokkaido Nippon Denki Software Kk | 二重化ハードディスク制御方式 |
| JPH0612190A (ja) * | 1992-06-25 | 1994-01-21 | Hitachi Ltd | 磁気ディスク制御方式 |
| GB2273180A (en) * | 1992-12-02 | 1994-06-08 | Ibm | Database backup and recovery. |
-
1995
- 1995-03-31 JP JP7109899A patent/JPH08272666A/ja active Pending
-
1996
- 1996-03-28 WO PCT/JP1996/000837 patent/WO1996030824A1/ja not_active Ceased
- 1996-03-28 AU AU51220/96A patent/AU5122096A/en not_active Abandoned
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6035347A (en) * | 1997-12-19 | 2000-03-07 | International Business Machines Corporation | Secure store implementation on common platform storage subsystem (CPSS) by storing write data in non-volatile buffer |
| JP2004005068A (ja) * | 2002-05-30 | 2004-01-08 | Internatl Business Mach Corp <Ibm> | ネットワークを利用したデータのバックアップ技術 |
| US7194491B2 (en) | 2002-05-30 | 2007-03-20 | International Business Machines Corporation | Data backup technique using network |
| US7370099B2 (en) | 2003-03-28 | 2008-05-06 | Hitachi, Ltd. | Cluster computing system and its failover method |
Also Published As
| Publication number | Publication date |
|---|---|
| WO1996030824A1 (en) | 1996-10-03 |
| AU5122096A (en) | 1996-10-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7185152B2 (en) | Storage system, method of controlling storage system, and storage device | |
| US7793060B2 (en) | System method and circuit for differential mirroring of data | |
| US6754792B2 (en) | Method and apparatus for resynchronizing paired volumes via communication line | |
| US7437598B2 (en) | System, method and circuit for mirroring data | |
| JP4419460B2 (ja) | リモートコピーシステム | |
| US7673173B2 (en) | System and program for transmitting input/output requests from a first controller to a second controller | |
| CN100570574C (zh) | 用于管理存储系统之间的数据拷贝的系统和方法 | |
| US20070180307A1 (en) | Method & system for resynchronizing data between a primary and mirror data storage system | |
| JP5286212B2 (ja) | ストレージクラスタ環境でのリモートコピー制御方法及びシステム | |
| WO2008084007A1 (en) | Using virtual copies in a failover and failback environment | |
| US7797571B2 (en) | System, method and circuit for mirroring data | |
| US10025655B2 (en) | Storage system | |
| US8433862B2 (en) | Storage system for adjusting asynchronous copy load based on cache activity rate | |
| US7650463B2 (en) | System and method for RAID recovery arbitration in shared disk applications | |
| KR20100095519A (ko) | 스토리지 복사 서비스 시스템들을 관리하기 위한 장치 및 방법 | |
| US10248511B2 (en) | Storage system having multiple local and remote volumes and multiple journal volumes using dummy journals for sequence control | |
| JP2008033829A (ja) | バックアップシステム及びバックアップ方法 | |
| JPH08272666A (ja) | データバックアップ方法と、ミラーリング装置と、その 制御方法。 | |
| CN107168656A (zh) | 一种基于多路径磁盘驱动的卷复本集系统及其实现方法 | |
| TW202425579A (zh) | 基於分散式儲存技術之雲服務虛擬機災難備援系統及其方法 | |
| JPS61278958A (ja) | データ転送装置 | |
| JP3069829B2 (ja) | ディスクアレイ装置 | |
| JP2001306412A (ja) | Scsiバス制御装置 | |
| JP4575739B2 (ja) | ネットワークraidシステム | |
| JP2012248128A (ja) | ホットスタンバイシステム及びデータ冗長化方法 |