(57)【要約】【課題】他のディスクが実行している多重の読み出し・書き込みにリセット処理の影響を与えること無く、リセットを実行させたいディスクのみにリセットを発行し、リセット処理する。【解決手段】複数のディスクと、これらのディスクを制御する制御装置とが共通のＳＣＳＩバスに接続されてなるディスクシステムにおけるリセット制御方法において、あるディスクに障害が発生した場合、ＳＣＳＩバスのリセット線を真にして、障害の在るディスクによるＳＣＳＩバスの占有を解き、リセット線が真になることにより動作する他のディスクと制御装置との間でリセット折衝を行い、制御装置は、他のディスクに対してリセットの無効化のための指令を発行し、該他のディスクへはリセット処理を行わない。このように他のディスクはリセットされることなく、選択されたディスクだけにリセット指令を発行してリセット処理が行われる。【選択図】　図２
2004030123.tif 000002
【特許請求の範囲】
【請求項１】
複数のディスクと、これらのディスクを制御する制御装置とが共通のＳＣＳＩバスに接続されてなるディスクシステムにおいて、
該制御装置は、複数のディスクとの間でリセットの折衝処理を行うための第１のリセット折衝処理部と、リセット折衝の処理を行うに際して複数のディスク及び自制御装置のリセットを無効にするか否かの状況を登録する第１のテーブルを備え、
該複数のディスクは、制御装置との間で自ディスクをリセットさせるか否かを処理するためのリセット折衝を行う第２のリセット折衝処理部と、リセット折衝の処理を行うに際して自ディスクのリセットを無効にするか否かの状況を登録する第２のテーブルを備え、
リセット処理に際して、第１のテーブルには複数のディスクに対するリセット処理を無効にするか否かの状況が登録され、かつ第２のテーブルには少なくとも自ディスクのリセットを無効にするか否かの状況が登録され、ＳＣＳＩバスのリセット線を真にした後、該制御装置の第１のリセット折衝処理部は第１のテーブルを参照して、リセットの無効化が登録されたディスクに対してリセット無効化の指令を発行し、ディスク側の第２のリセット折衝処理部は該第２のテーブルを参照して、リセット無効化の指令を受けたディスクはリセット処理を行わず、リセット有効の指令を受けたディスクはＳＣＳＩバスのリセット線を偽にして自ディスクをリセット処理することを特徴とするディスクシステム。
【請求項２】
該第１及び第２のリセット折衝処理部は、ファームウェアの機能により構成されることを特徴とする請求項１項記載のディスクシステム。
【請求項３】
複数のディスクと、これらのディスクを制御する制御装置とが共通のＳＣＳＩバスに接続されてなるディスクシステムにおけるリセット制御方法において、あるディスクに障害が発生した場合、ＳＣＳＩバスのリセット線を真にして、障害の在るディスクによるＳＣＳＩバスの占有を解き、リセット線が真になることにより動作する他のディスクと制御装置との間でリセット折衝を行い、制御装置は、他のディスクに対してリセットの無効化のための指令を発行し、他のディスクへはリセット処理を行わないように制御することを特徴とするリセット制御方法。
【請求項４】
制御装置は、少なくとも障害の発生しているディスクを含む選択されたディスクに対してリセット指令を発行して、該ディスクのリセット処理を行うことを特徴とする請求項３項記載のリセット制御方法。
【請求項５】
制御装置と、共通のＳＣＳＩバスを介して制御装置に接続された複数のＳＣＳＩ機器からなるシステムにおいて、ＳＣＳＩ機器のリセット処理に際して、該制御装置はいずれのＳＣＳＩ機器をリセットし、いずれのＳＣＳＩ機器に対してリセットの無効化をするかの設定を行い、かつ該ＳＣＳＩ機器は少なくとも自らの機器をリセットすべきか否かの設定を行い、その後ＳＣＳＩバスのリセット線を動作させて、ＳＣＳＩ機器と制御装置との間で、リセットを無効化するか否かの前記設定を参照して、制御装置は、選択されたＳＣＳＩ機器に対してリセットの無効化のための指令を発行し、選択されない他のＳＣＳＩ機器に対してはリセットを有効にするための処理を行わせることを特徴とするリセット制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はディスクシステムに係り、特にＳＣＳＩ規格に準拠したＳＣＳＩバスに複数台の磁気ディスクが接続されて制御されるディスクサブシステムにおける磁気ディスクのリセット制御方法に関する。より一般的に言えば、ＳＣＳＩバスに接続されるＳＣＳＩ機器のリセット制御に関するものである。
【０００２】
【従来の技術】
近年、磁気ディスクサブシステムにおいては、小型で安価な磁気ディスクをアレイ構成にして高速・大容量・高信頼性を実現するＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ　Ａｒｒａｙ　ｏｆ　Ｉｎｅｘｐｅｎｓｉｖｅ　Ｄｉｓｋｓ）技術が採用されている。この種の磁気ディスクサブシステムでは、一般的に磁気ディスクサブシステム全体を制御する制御装置と各々の磁気ディスクとをアレイ構成にし、その構成の列単位にＳＣＳＩ（Ｓｍａｌｌ　Ｃｏｍｐｕｔｅｒ　Ｓｙｓｔｅｍ　Ｉｎｔｅｒｆａｃｅ）規格のＳＣＳＩバスで接続している。制御装置はＳＣＳＩバスで接続された各々の磁気ディスクに対して同時に読み出し・書き込み指示を発行し、アレイ構成の磁気ディスクの行単位にデータを多重に読み出し・書き込することにより、高性能化が図られている。
【０００３】
斯かる磁気ディスクサブシステムにおいて、ある磁気ディスクに何らかの障害が発生した場合、システム全体を制御する制御装置はＳＣＳＩバス上にＳＣＳＩリセット信号を発行し、当該磁気ディスクにリセット動作を行わせ、これにより障害を回復する。
【０００４】
【発明が解決しようとする課題】
複数の磁気ディスクうちある磁気ディスクに障害が発生した場合の処理について更に説明するに、制御装置は回復処理を行うため、ＳＣＳＩバス上のリセット信号線にリセット信号を発行する。リセット信号線は１本であるため全ての磁気ディスクにリセット信号が発信されてしまうことになる。このため、正常動作している他の複数の磁気ディスクも処理を中断してリセット動作を開始してしまう。全ての磁気ディスクのリセットが完了した後、制御装置はリセットにより中断された読み出し・書き込み要求を全磁気ディスクに対して再度発行することで継続的に動作を行う。
このように、本来リセットすべき対象の磁気ディスク以外の磁気ディスクがリセット動作を実行してしまうことになり、磁気ディスクサブシステム全体の多重の読み出し・書き込みの性能が低下するという問題が生じる。
この問題を解決する手段として、例えば特開平９−３１９４６７号および特開２０００−２０７２９４号公報に記載された技術がある。特開平９−３１９４６７号公報に記載のものは、リセットを抑止する専用の回路（リセットイネーブル制御回路１６２０）を設け、正常に動作している他の処理装置にあらかじめリセット抑止コマンドによりこの専用回路にリセット抑止の指示をすることにより、特定の磁気ディスクを選択してリセットする技術を提供している。しかし、ＳＣＳＩバスが障害の起こった磁気ディスクにより占有されているときには、リセット抑止コマンドを発行することが出来ない為に、特定の磁気ディスクのみをリセットすることが出来ないという問題がある。
また、特開２０００−２０７２９４号公報に記載のものは、別にシリアル回線６０及び専用のリセット制御回路１０−１〜Ｎを設け、シリアル回線を介してリセット制御回路にリセットを指示することにより、ある磁気ディスクを選択してリセットする手段を提供している。しかしこの方法ではシリアル回線及びリセット制御回路を必要とする上に、シリアル回線及びリセット制御回路に障害が発生した場合に、磁気ディスクのリセットが行えないという問題がある。
本発明の目的は、ＳＣＳＩバスで接続された装置で構成されるシステムにおいて、リセットのための専用の回路を用いることなく、かつ障害の起きた装置によりＳＣＳＩバスが占有されている状態であっても指定された装置をリセットすることができるディスクシステムを提供することにある。
本発明の他の目的は、リセット処理を行う対象以外のディスクからの読み出し・書き込み動作を中断させることなしに、選択されたディスクに対してのみリセット処理ができるリセット制御方法を提供することにある。
【０００５】
【課題を解決するための手段】
上記目的を達成するために、本発明は、複数のディスクとこれらのディスクを制御する制御装置とが共通のＳＣＳＩバスに接続されてなるディスクシステムにおいて、あるディスクに障害が発生した場合、ＳＣＳＩバスのリセット線を真にして、障害の在るディスクによるＳＣＳＩバスの占有を解き、リセット線が真になることにより動作する他のディスクと制御装置との間でリセット折衝を行い、制御装置は、他のディスクに対してリセットの無効化のための指令を発行し、該他のディスクへはリセット処理を行わないように制御するものである。少なくとも障害の発生しているディスクを含む選択されたディスクに対しては、制御装置はリセット指令を発行して、該ディスクのリセット処理を行う。このようにリセット無効の指示がなされたディスクはリセット処理が行われず、一方障害の発生したディスクはリセット処理が行われるので、共通のＳＣＳＩバスに接続されている他のディスクには影響を与えずに、選択したディスク（障害のあるディスク）をリセット処理することが出来る。
好ましいディスクシステムの例において、制御装置は、複数のディスクとの間でリセットの折衝処理を行うための第１のリセット折衝処理部と、リセット折衝の処理を行うに際して複数のディスク及び自制御装置のリセットを無効にするか否かの状況を登録する第１のテーブルを備え、複数のディスクは、制御装置との間で自ディスクをリセットさせるか否かを処理するためのリセット折衝を行う第２のリセット折衝処理部と、リセット折衝の処理を行うに際して自ディスクのリセットを無効にするか否かの状況を登録する第２のテーブルを備え、リセット処理に際して、第１のテーブルには複数のディスクに対するリセット処理を無効にするか否かの状況が登録され、かつ第２のテーブルには少なくとも自ディスクのリセットを無効にするか否かの状況が登録され、ＳＣＳＩバスのリセット線を真にした後、制御装置の第１のリセット折衝処理部は第１のテーブルを参照して、リセットの無効化が登録されたディスクに対してリセット無効化の指令を発行し、ディスク側の第２のリセット折衝処理部は該第２のテーブルを参照して、リセット無効化の指令を受けたディスクはリセット処理を行わず、リセット有効の指令を受けたディスクはＳＣＳＩバスのリセット線を偽にして自ディスクをリセット処理する。
上記第１及び第２のリセット折衝処理部はファームウェアの機能により構成され、複数のディスクに選択的にこのファームウェアを備えることにより、その機能を備えたディスクにリセット指令の無効化の処理を行わせることができる。本発明のディスクシステムはリセット折衝機能を備えるディスクと、それを備えないディスクの混在が可能である。上記ファームウェアによる機能を有しないディスク、例えば従前とおりのディスクは当該ディスクに障害が発生すると、そのままリセット処理が行われることになる。
【０００６】
本発明はまた、ディスクシステムに限定されず、一般的に共通のＳＣＳＩバスに接続された複数のＳＣＳＩ機器と制御装置からなるシステムにおいても適用され得る。即ち、ＳＣＳＩ機器のリセット処理に際して、制御装置はいずれのＳＣＳＩ機器をリセットし、いずれのＳＣＳＩ機器に対してリセットの無効化をするかの設定を行い、かつＳＣＳＩ機器は少なくとも自らの機器をリセットすべきか否かの設定を行い、その後ＳＣＳＩバスのリセット線を動作させて、ＳＣＳＩ機器と制御装置との間で、リセットを無効化するか否かの前記設定を参照して、制御装置は、選択されたＳＣＳＩ機器に対してリセットの無効化のための指令を発行し、選択されない他のＳＣＳＩ機器に対してはリセットを有効にするための処理を行わせるようにしたものである。
【０００７】
【発明の実施の形態】
以下、本発明の一実施例について図面を参照して具体的に説明する。
図１は本発明の一実施例が適用される磁気ディスクサブシステムのブロック図である。
磁気ディスクサブシステム１０は、複数の磁気ディスク１３１、１３２、１３ｎと、これらの磁気ディスク全体を制御するためにＳＣＳＩバス１２を介してこれらの磁気ディスクと接続する制御装置１１から構成される。
制御装置１１は、コマンド処理部２０、リセット折衝処理部３０、リセットテーブル４０を備える。コマンド処理部２０は、磁気ディスク１３１、１３２、１３ｎに対して読み出し・書き込みの処理を指示するコマンドを実行するものである。リセット折衝処理部３０は、磁気ディスク１３１、１３２、１３ｎに対し、ＳＣＳＩバス１２を介してリセット処理を行うかための処理である。リセットテーブル４０はリセット折衝処理部３０が使用する作業領域であり、メモリ上に確保される。ここで、コマンド処理部２０やリセット折衝処理部３０は通常ソフトエアにより構成され、これらの処理部はソフトウェアにて達成される機能である。
【０００８】
ＳＣＳＩバス１２は既知のバスであり、リセット線１２１を有している。このＳＣＳＩバス１２の構成については図４を参照して詳述される。
【０００９】
各磁気ディスク１３１、〜１３ｎは同様の構成を成しており、各磁気ディスク１３１は、コマンド処理部５０、コマンドキューテーブル６０を備え、さらに制御装置１１の構成と同様にリセット折衝処理部３０及びリセットテーブル４０を備えている。
【００１０】
コマンド処理部５０は制御装置１１からＳＣＳＩバス１２を介して指示されたコマンドを実行する処理部分であり、コマンドキューテーブル６０は、制御装置１１から指示されたコマンドを保持しておくためのメモリ上に確保された作業領域である。
【００１１】
ＳＣＳＩ規格の規定により、ＳＣＳＩバス１２に接続されている制御装置１１、及び複数の磁気ディスク１３１〜１３ｎには、バス上の機器を特定するために、重複しない値‘０‘から‘１５‘の識別子が各々付与される。
図１の磁気ディスクシステムにおいて、リセット折衝処理部３０、リセットテーブル４０は本発明の実施例により特徴的に提示されるものである。リセット処理とはホストなどの制御装置から受けたコマンドを無効にする処理を言い、リセット折衝処理とは磁気ディスクに対してリセット処理を行うか否かを制御装置と磁気ディスク間で決める処理を言う。ＳＣＳＩバスを使用する機器では通常では全ての機器にリセットが掛かってしまうので、折衝処理ではリセットが掛からないように処置することになる。本実施例においてこのリセット折衝処理の機能はファームウェアにより達成される。そしてそのファームウェアは磁気ディスクシステムの制御装置や全ての磁気ディスクに備え付けることができる。勿論、多数ある磁気ディスクのうち、ある磁気ディスクにはその機能を備えないで、従来のまま（リセット折衝処理の機能無し）にしておくことも可能である。即ち、他の磁気ディスクで障害が起こったとき自磁気ディスクでリセットが掛かって欲しくない場合に、その対象となる磁気ディスクにこのファームウェアの機能を備えればよいことになる。全て機器にリセット折衝処理部を備えると、コスト的に高価になるので、磁気ディスクシステム内の最少限の機器にのみこの機能を備えるのが好ましいであろう。
【００１２】
図２は同じく磁気ディスクサブシステムを示すブロック図であり、特にあるディスク１３２に障害が発生した時の状態例を示したものである。この図の例で、磁気ディスク１４は本発明の実施例が適用されていない従来の磁気ディスクであるとする。即ちディスク１４はファームウェアによるリセット折衝処理部３０、リセットテーブル４０の機能が備えられていない。制御装置１１は磁気ディスク１３１に対してコマンド９１を指示し、磁気ディスク１３２に対してはコマンド９２を指示している。磁気ディスク１３２には障害が発生し、コマンド９２を実行中のままＳＣＳＩバス１２を占有しており、コマンド９１はＳＣＳＩバス１２を使用出来ない為に処理が停止しているものとする。
【００１３】
このような場合に、制御装置１１はリセット折衝処理部３０を起動する。制御装置１１のリセット折衝処理３０は、リセット線１２１を真にすることで磁気ディスク１３２によるＳＣＳＩバス１２の占有を解く。リセット線１２１が真になることにより動作する磁気ディスク１３１のリセット折衝処理部３０との間で制御装置１１はリセット折衝を行う。これにより磁気ディスク１３１へリセットの無効化が指示される。リセット線１２１が真になると、磁気ディスク１３１はリセット処理を行わないことになり、コマンド９１は動作を継続することができる。
【００１４】
リセット折衝処理部３０では、リセット折衝が行われない場合には、リセット動作を行うようにしてある。制御装置１１は、リセットを行いたい磁気ディスク以外の磁気ディスクとの間でリセット折衝を行うことによリ、個別の磁気ディスク毎にリセットが可能になる。
【００１５】
なお、制御装置１１はリセット折衝処理３０を起動せずにリセット線１２１を真にすることにより、従来のリセット、すなわち全磁気ディスクのリセットが行える。これは、制御装置１１に本発明が適用されない、即ちリセット折衝処理機能を有しない場合であっても、従来と同様のリセットが行えることを意味する。また、制御装置１１のリセット折衝処理３０は、特定の磁気ディスク、例えば本発明が適用されていない従来の磁気ディスク１４との間でリセット折衝に失敗すると、磁気ディスク１４に関わるコマンドをリセットするようにしてあり、本発明が適用されていない磁気ディスクがシステムに混在しても従来同様のリセットが行えるように工夫されている。
【００１６】
次に図３、図４及び図５を用いてリセット折衝処理３０におけるリセット折衝処理について、説明する。
【００１７】
図３は、リセット折衝処理３０が使用するリセットテーブル４０の構成を示す図である。リセットテーブル４０の各エントリはディスクシステムの構成機器の識別子‘０’〜‘ｎ’に対応しており、各エントリには機器のリセット折衝情報の状態が記憶される。リセット折衝情報としては、「自己」、「有効」、「無効」、「不問」および「無効化予定」があり、これらのいずれかの状態情報がエントリに格納される。
【００１８】
図４はＳＣＳＩバス１２の構成を示す図である。ＳＣＳＩバス１２は、ＤＢ線１２０、リセット線１２１、ＢＳＹ線１２２、ＳＥＬ線１２３、ＲＥＱ線１２４、ＡＣＫ線１２５、ＡＴＮ線１２６およびＧＮＤ線１２７から構成され、ＤＢ線１２０はＤＢ０線１２０−１、ＤＢ１線１２０−１、ＤＢ２線１２０−２、ＤＢｎ線１２０−ｎ、ＤＢ１５線１２０−１５からなる。
【００１９】
図５はリセット折衝処理の処理手順を示すフローチャートである。この図を参照して、障害発生時のリセット折衝処理の動作について説明する。ある磁気ディスクに障害が発生すると、そのディスクのためにＳＣＳＩバス１２が占有され、制御装置１１は障害の在る磁気ディスクを感知する。そしてまず、リセットテーブル４０の各エントリ対応に構成機器のリセット折衝情報を記憶する。即ちリセットテーブル４０の自己に対応するエントリは自己「−１」を、リセットを行いたくない装置のエントリには無効化予定「９」を、リセットを行う必要が無い装置のエントリ（図２における、磁気ディスク１３１の磁気ディスク１３２に対応するエントリのように、リセットすべき情報を有していない装置に対応するエントリ）には不問「２」を、これら以外のエントリには有効「０」を設定し（ステップ３１１）、リセット線を真にする（ステップ３１２）。
リセット線１２１の状態が真であれば（ステップ３２）、リセットテーブル４０内に「無効化予定」のエントリが有るか否かの判断が行われる（ステップ３３）。一方リセット線１２１の状態が偽であれば、ステップ３９に移る。リセット線１２１の状態が真の場合あって、リセットテーブル４０内に「無効化予定」のエントリが有れば（ステップ３３）、リセット線１２１を真にし（ステップ３４）、折衝権の確保のための処理を行う（ステップ３５）。折衝権確保の処理で、確保に成功すれば（ステップ３５ａ）、リセット無効化を発行する（ステップ３６）。即ちその磁気ディスクに対してはリセット処理が行われず、例えば読み出し・書き込み命令の処理が継続的に実行される。一方、折衝権確保に失敗した場合には（ステップ３５ａ）、リセット無効化受領を行う（ステップ３８）。
リセットテーブル４０内に「無効化予定」のエントリが存在しない場合は（ステップ３３）、リセット線を偽にし（ステップ３７）、リセット無効化受領を行う（ステップ３８）。リセット線１２１の状態が真である間（ステップ３２）、ステップ３３からステップ３８を繰返す（ステップ３２）。一方、リセット線１２１の状態が偽になれば（ステップ３２）、リセットテーブル４０に有効が設定されているエントリに対応する装置との情報・コマンドをリセットする（ステップ３９）。
図２に示したシステムにおける制御装置１１及び磁気ディスク１３１，１３２の動作の変化を図９に示す。図９を参照して主としてテーブル４０の状態遷移について説明する。この例は磁気ディスク１３２に障害が発生したので、このディスクのみをリセット処理するものである。
リセット処理が開始されると、制御装置１１及び各磁気ディスク１３１，１３２のテーブル４０には夫々エントリの識別子に対応してリセット折衝処理のための状態情報が設定される。制御装置１１のテーブル４０にはエントリ識別子　（制御装置１１、ディスク１３１、１３２）　に対応して「自」「予（無効化予定）」「有（有効）」が設定される。即ち、ディスク１３１はリセット指令を無効化し、ディスク１３２はリセット指令を有効とする、ように設定される。一方、ディスク１３１のテーブル４０では同じくエントリの識別子に対応して「有」「自」「不」と設定され（ステップ６ａ）、ディスク１３２のテーブル４０では同じくエントリの識別子に対応して「有」「不」「自」と設定される（ステップ６ｂ）。即ち、両ディスク１３１、１３２には「有」となっているエントリ（即ち制御装置１１）からの指令が有効とされる旨が設定された。
制御装置１１からリセット無効化の指令が発行されると（ステップ７）、制御装置１１及び両ディスク１３１，１３２はリセット無効化の受付けの確認をする（ステップ９、およびステップ８）。制御装置１１のテーブル４０は「自」「無」「有」となり、ディスク１３１がリセットの無効、ディスク１３２がリセットの有効を示す。また、ディスク１３１のテーブル４０は制御装置１１との関係において、制御装置１１からリセット無効化の指令が自ディスク１３１へ来る旨が示される。しかして、リセット線１２１をリリースして、ディスク１３１はリセット無効化にされ、ディスク１３２のみがリセットされる。
【００２０】
次に図６を用いて、サブルーチンである折衝権確保処理（図５のステップ３５）について説明する。図６は、折衝権確保処理の流れを示すフローチャートである。図６において、ｔ３５Ａ，ｔ３５Ｂは待ち時間である。
まず、ＢＳＹ線１２２の状態が真であれば（ステップ３５１）、戻り値に失敗を設定し（ステップ３５８）、終了する。ＢＳＹ線１２２の状態が偽であれば（ステップ３５１）、ｔ３５Ａ時間待ち（ステップ３５２）、ＢＳＹ線１２２と自己の識別子に対応するＤＢ線１２０を真にし（ステップ３５３）、ｔ３５Ｂ時間待つ（ステップ３５４）。そして自己の識別子より高い優先順位を持つ識別子に対応するＤＢ線１２０が全て偽であれば（ステップ３５５）、ＳＥＬ線１２３を真にすることでＳＣＳＩバス１２に接続されている他の装置に対しリセット無効化発行処理を開始したことを知らしめ（ステップ３５７）、戻り値に成功を設定し（ステップ３５９）、終了する。
ステップ３５４中にＳＥＬ線１２３が真になった場合（ステップ３５４ｔ）、もしくはステップ３５５において自己の識別子より高い優先順位を持つ識別子に対応するＤＢ線１２０が真である場合は、ＢＳＹ線１２２と自己の識別子に対応するＤＢ線１２０をリリースした後（ステップ３５６）、戻り値に失敗を設定し（ステップ３５８）、終了する。ステップ３５２中にＳＥＬ線１２３が真になった場合も（ステップ３５２ｔ）、戻り値に失敗を設定し（ステップ３５８）、終了する。
【００２１】
このような折衝権確保処理により、仮に制御装置１１が複数存在し、同時にリセット折衝処理３０を行う場合であっても、ＳＣＳＩ規格にて規定されている装置の識別子による優先順に、リセット無効化発行（図５のステップ３６）が行える。
【００２２】
次に、サブルーチンであるリセット無効化発行処理（図５のステップ３６）について、図７を用いて説明する。図７において、ｔ３６Ａ、ｔ３６Ｂ及びｔ３６Ｃは待ち時間である。
【００２３】
まず、ｔ３６Ａ時間待ち（ステップ３６１）、ＢＳＹ線１２２をリリースし（ステップ３６２）、リセットテーブル４０に「無効化予定」のエントリが存在すれば（ステップ３６３）、ｔ３６Ｂ時間待った後（ステップ３６４）、ステップ３６３で検出した「無効化予定」になっているエントリから１つの識別子に対応するＤＢ線１２０を真にすることでリセット無効化の要求を行い（ステップ３６５）、タイマを起動する（ステップ３６６）。そしてタイマがｔ３６Ｃ時間以内に（ステップｔ３６Ｃ）、ＢＳＹ線１２２が真になれば（ステップ３６６ａ）、ステップ３６５でＤＢ線１２０を真にした識別子に対応するエントリに無効を設定する（ステップ３６７ａ）。ｔ３６Ｃ時間以上経過した場合（ステップ３６６ｃ）、もしくはＲＥＱ線１２４が真になった場合は（ステップ３６６ｂ）、ステップ３６５でＤＢ線１２０を真にした識別子に対応するエントリに「有効」を設定する（ステップ３６７ｂ）。続いて、タイマを消去し（ステップ３６９）、ステップ３６５で真にしたＤＢ線１２０をリリースし（ステップ３６９）、ステップ３６４からステップ３６９を、リセットテーブル４０に「無効化予定」のエントリが存在しなくなるまで繰返す（ステップ３６３）。
【００２４】
次に、サブルーチンであるリセット無効化受領処理（図５のステップ３８）について、図８を用いて説明する。図８において、ｔ３８Ａは待ち時間である。
【００２５】
図８において、まず、ＳＥＬ線１２３が偽である場合、すなわちリセット無効化処理を行っている装置がＳＣＳＩバス１２上に存在しない場合は（ステップ３８１）、もしくは自己の識別子に対応するＤＢ線１２０が真になっていない場合、すなわちリセット無効化の要求が無い場合は（ステップ３８２）、終了する。自己の識別子に対応するＤＢ線１２０が真であり（ステップ３８２）、リセット無効化を受け付ける場合には（ステップ３８３）、ＢＳＹ線１２２を真にすることによりリセット無効化を受け付けたことを要求元に通知し（ステップ３８４１）、ｔ３８Ａ時間以内に自己の識別子に対応するＤＢ線１２０が偽になったのを確認後に（ステップ３８４２、ステップ３８４４、ステップ３８４５）、自己の識別子以外で真になっているＤＢ線１２０に対応する識別子のリセットテーブルに無効を設定し（ステップ３８４６）、ｔ３８Ａ時間待ちに使用したタイマを消去し（ステップ３８４７）、ＢＳＹ線１２２をリリースして（ステップ３８４８）終了する。ｔ３８Ａ時間待ち中に（ステップ３８４５）、リセット線１２１が偽になった場合は（ステップ３８４３）、処理を中断して終了する（ステップ３８４７、ステップ３８４８）。自己の識別子に対応するＤＢ線１２０が真であり、リセット無効化が要求されているが（ステップ３８２）、リセット無効化を受け付けない場合には（ステップ３８３）、ＲＥＱ線１２４を出力することでリセット無効化の拒否を要求元の装置に通知し（ステップ３８５１）、ステップ３８４２からステップ３８４８と同等の処理を行う（ステップ３８５２〜３８５８）。ただし、ｔ３８Ａ時間以内に自己の識別子に対応するＤＢ線１２０が偽なった場合は（ステップ３８５４）、処理を終了する（ステップ３８５７、３８５８）。
上述したように本実施例はリセット信号の発信・受信時の処理手順或いは処理機能に特徴があると言える。上記の実施例によれば、磁気ディスクのハードウエアには一切変更を必要とせず、また従来技術の様にリセット制御するために専用の回路も必要としないで、必要とする磁気ディスクのみにリセット指令を発行して、リセット処理することができる。また、本実施例の機能はファームウェアにて設定するのでディスク毎にリセット無効化の機能を適用でき、システム上本実施例による機能を適用していない装置（例えば従来通りのディスク）との混在も可能である。
前述した折衝権確保のための処理を行う場合の実施例において、制御装置１１が１つの場合には、折衝権確保の処理は不要である。
【００２６】
また、本発明は上述磁気ディスクサブシステムの実施例に限定されるものではなく、ＳＣＳＩ規格を採用した他の装置（ＳＣＳＩ機器）や他のシステムに広く適用することが可能である。
【００２７】
【発明の効果】
以上に説明したように、本発明によれば、リセットのための専用の回路や専用の専用線を設けることなく、他のディスクからの読み出し・書き込み動作を中断させることなしに、選択されたディスクに対してのみリセット処理ができるＳＣＳＩバスを利用したシステムのリセット制御ができる。
【図面の簡単な説明】
【図１】本発明の一実施例による磁気ディスクサブシステムを示すブロック図。
【図２】磁気ディスクのリセット制御を説明するための状態例を示す磁気ディスクサブシステムのブロック図。
【図３】リセットテーブルの構成を説明するための図。
【図４】ＳＣＳＩバスの構成を示す図。
【図５】一実施例におけるリセット折衝処理の処理手順の概要を示すフローチャート図。
【図６】折衝権確保処理の処理手順の概要を示すフローチャート図。
【図７】リセット無効化発行処理の処理手順の概要を示すフローチャート図。
【図８】無効化受領処理の処理手順の概要を示すフローチャート図。
【図９】図２に示す磁気ディスクサブシステムにおける磁気ディスクのリセット制御の状態遷移を説明するための概念図。
【符号の説明】
１０　磁気ディスクサブシステム
１１　制御装置
１２　ＳＣＳＩバス
１２１　リセット線
１３１〜ｎ　磁気ディスク
２０　コマンド処理部
３０　リセット折衝処理部
４０　リセットテーブル
【図１】
2004030123.tif 000003
【図２】
2004030123.tif 000004
【図３】
2004030123.tif 000005
【図４】
2004030123.tif 000006
【図５】
2004030123.tif 000007
【図６】
2004030123.tif 000008
【図７】
2004030123.tif 000009
【図８】
2004030123.tif 000010
【図９】
2004030123.tif 000011