(57)【要約】【課題】  使用する論理ユニット番号の数以上の数の論理ユニットにアクセスできるようにする。【解決手段】  仮想論理ユニット１１１−１、１１１−２に仮想論理ユニット番号（ＶＬＵＮ）と実論理ユニット番号（ＲＬＵＮ）との対応関係を保持させ、ホストから仮想論理ユニット番号を指定したアクセス要求を受けたならば、この対応関係を参照して実論理ユニット番号を得て、得られた実論理ユニット番号を有する実論理ユニットにアクセスする。仮想論理ユニット番号に対応付ける実論理ユニット番号を変更することにより、１つの仮想論理ユニット番号を通じて複数の実論理ユニットに時分割でアクセスすることが可能となる。【選択図】        図８
2005208903.tif 000002
【特許請求の範囲】
【請求項１】
仮想論理ユニットに割り当てられた仮想論理ユニット番号と各々が複数の実論理ユニットの各々に割り当てられた複数の実論理ユニット番号とを用いて論理ユニット数を拡張する論理ユニット数拡張装置において、
仮想論理ユニットに割り当てられた仮想論理ユニット番号と前記複数の実論理ユニットのうちの何れかの実論理ユニットの実論理ユニット番号とを対応付けるための論理ユニット番号変換テーブルと、
ホストからアクセス先の仮想論理ユニット番号を指定したアクセス要求を受けるホストインターフェースと、
前記ホストから前記アクセス要求を受けたならば、前記論理ユニット番号変換テーブルを参照して、前記アクセス要求で指定される仮想論理ユニット番号を該仮想論理ユニット番号に対応する実論理ユニット番号に変換する論理ユニット番号変換手段と、
前記論理ユニット番号変換手段により仮想論理ユニット番号が実論理ユニット番号に変換されたアクセス要求を、装置ディレクタに与える装置ディレクタインターフェースと、
を備えることを特徴とする論理ユニット数拡張装置。
【請求項２】
請求項１に記載の論理ユニット数拡張装置において、
前記仮想論理ユニット番号に対応付けられた前記実論理ユニット番号を他の実論理ユニット番号に変更する論理ユニット番号変換テーブル変更手段を更に備えることを特徴とする論理ユニット数拡張装置。
【請求項３】
請求項１に記載の論理ユニット数拡張装置において、
前記仮想論理ユニット番号に対応付けられたアクセスモードを「アクセス禁止」に設定するアクセスモード設定手段と、
前記仮想論理ユニット番号に対応付けられた前記アクセスモードが前記アクセスモード設定手段により「アクセス禁止」とされている期間、該仮想論理ユニット番号を指定したアクセス要求に対しては、アクセスを拒否するアクセス拒否手段と、
を更に備えることを特徴とする論理ユニット数拡張装置。
【請求項４】
請求項１に記載の論理ユニット数拡張装置において、
前記仮想論理ユニット番号に対応付けられた前記実論理ユニット番号の値を無効値とする実論理ユニット番号無効化手段と、
前記仮想論理ユニット番号に対応付けられた前記実論理ユニット番号の値が前記実論理ユニット番号無効化手段により無効値とされている期間、該無効値になった実論理ユニット番号に対応付けられている仮想論理ユニット番号を指定したアクセス要求に対しては、アクセスを拒否するアクセス拒否手段と、
を更に備えることを特徴とする論理ユニット数拡張装置。
【請求項５】
請求項１に記載の論理ユニット数拡張装置において、
前記装置ディレクタから受けた前記アクセス要求で指定される前記実論理ユニット番号その他のパラメータを基に、物理アクセス先を算出し、該物理アクセス先にアクセスする装置ディレクタを更に備えることを特徴とする論理ユニット数拡張装置。
【請求項６】
請求項１に記載の論理ユニット数拡張装置において、
前記論理ユニット番号変換テーブル変更手段により変更される前の実論理ユニット番号を有する実論理ユニットが保持していたドライブレターを、前記論理ユニット番号変換テーブル変更手段により変更された後の実論理ユニット番号を有する実論理ユニットに転送するドライブレター転送手段を更に備えることを特徴とする論理ユニット数拡張装置。
【請求項７】
請求項１に記載の論理ユニット数拡張装置において、
前記論理ユニット番号変換テーブル変更手段の１回目の動作により変更された後の実論理ユニット番号を有する実論理ユニットが変更前に保持していたドライブレターを待避させるドライブレター待避手段と、
前記論理ユニット番号変換テーブル変更手段の前記１回目の動作により変更された後の実論理ユニット番号を有する実論理ユニットと前記仮想論理ユニット番号との対応関係が前記論理ユニット番号変換テーブル変更手段の２回目の動作により消滅した場合に、前記ドライブレター待避手段により待避されていたドライブレターを当該実論理ユニットに復帰させるドライブレター復帰手段と、
を更に備えることを特徴とする論理ユニット数拡張装置。
【請求項８】
仮想論理ユニットに割り当てられた仮想論理ユニット番号と各々が複数の実論理ユニットの各々に割り当てられた複数の実論理ユニット番号とを用いて論理ユニット数を拡張する論理ユニット数拡張方法において、
仮想論理ユニットに割り当てられた仮想論理ユニット番号と前記複数の実論理ユニットのうちの何れかの実論理ユニットの実論理ユニット番号とを対応付けるための論理ユニット番号変換テーブルを用意するステップと、
ホストからアクセス先の仮想論理ユニット番号を指定したアクセス要求を受けるホストインターフェースステップと、
前記ホストから前記アクセス要求を受けたならば、前記論理ユニット番号変換テーブルを参照して、前記アクセス要求で指定される仮想論理ユニット番号を該仮想論理ユニット番号に対応する実論理ユニット番号に変換する論理ユニット番号変換ステップと、
前記論理ユニット番号変換手段により仮想論理ユニット番号が実論理ユニット番号に変換されたアクセス要求を、装置ディレクタに与える装置ディレクタインターフェースステップと、
を備えることを特徴とする論理ユニット数拡張方法。
【請求項９】
仮想論理ユニットに割り当てられた仮想論理ユニット番号と各々が複数の実論理ユニットの各々に割り当てられた複数の実論理ユニット番号とを用いて論理ユニット数を拡張する論理ユニット数拡張方法において、
仮想論理ユニットに割り当てられた仮想論理ユニット番号と前記複数の実論理ユニットのうちの何れかの実論理ユニットの実論理ユニット番号とを対応付けるための論理ユニット番号変換テーブルを用意するステップと、
ホストからアクセス先の仮想論理ユニット番号を指定したアクセス要求を受けるホストインターフェースステップと、
前記ホストから前記アクセス要求を受けたならば、前記論理ユニット番号変換テーブルを参照して、前記アクセス要求で指定される仮想論理ユニット番号を該仮想論理ユニット番号に対応する実論理ユニット番号に変換する論理ユニット番号変換ステップと、
前記論理ユニット番号変換手段により仮想論理ユニット番号が実論理ユニット番号に変換されたアクセス要求を、装置ディレクタに与える装置ディレクタインターフェースステップと、
を備えることを特徴とする論理ユニット数拡張方法をコンピュータに行わせるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータに接続される磁気ディスク装置、光学的記録再生装置、磁気光学的記録再生装置、半導体記録再生装置等の論理ユニットの数を拡張するための論理ユニット数拡張装置に関する。
【背景技術】
【０００２】
コンピュータ等に周辺機器を接続するためのＳＣＳＩ(Small Computer System Interface)規格では、１つのＳＣＳＩ  ＩＤに対して複数のＬＵＮ(Logical Unit Number: 論理ユニット番号)を割り当てることが可能である。ところが、１つのＳＣＳＩバスで使用することができるＳＣＳＩ  ＩＤの数には制限があり、１つのＳＣＳＩ  ＩＤに対して割り当てることができる論理ユニット番号の数にも制限がある。例えば、ＳＣＳＩ２規格では、ＳＣＳＩ  ＩＤの数は最大で８であり、そのうちの１つはホストバスアダプタに利用されるので実質的には、最大で７である。また、１つのＳＣＳＩ  ＩＤに対して割り当てることができる論理ユニット番号の数は、代表的なＬｉｎｕｘでは最大で１２８である。この場合、コンピュータに１つのＳＣＳＩバスがあり、１つのＳＣＳＩ  ＩＤの１つの論理ユニット番号に１つの論理ユニットを割り当てるとすると、最大で７×１２８＝８９６個の論理ユニットが使用できる。しかし、８９６個以上の論理ユニットを利用したい場合がある。
【０００３】
また、ＷＩＮＤＯＷＳ（登録商標）では、１つの論理ユニットにアルファベット１文字より成る１つのドライブレターを割り当てるので、最大で２６個の論理ユニットしかコンピュータに接続することができない。また、ＷＩＮＤＯＷＳ（登録商標）では、１つのＳＣＳＩ  ＩＤの１つの論理ユニット番号の論理ユニットに対して１つのドライブレターを割り当てる。例えば、あるＳＣＳＩ  ＩＤに対して５個の論理ユニット番号があるとすれば、そのＳＣＳＩ  ＩＤに対して５個のドライブレターしか割り当てることができない。
【０００４】
この問題を解決するために、例えば、特許文献１では、一つのドライブレターに複数のＣＤ−ＲＯＭ装置を割り当てる。
【特許文献１】特開平０９−２６５３６０号公報
【特許文献２】特開２００２−０７３３９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に記載の発明は、ＣＤサービスプログラムを改良するものであり、ＣＤ−ＲＯＭ装置については制限を越えた数の機器を接続可能となるが、外部記憶装置として広く用いられている、磁気ディスク装置については、接続台数制限の壁が残っている。
【０００６】
また同時に数多くの記憶装置を認識していると、誤操作等により、意図していない装置のデータを破壊する可能性があった。
【０００７】
本発明は、ＳＣＳＩ規格等のコンピュータに周辺機器を接続するための規格又はオペレーティングシステムの下で取り扱うことのできる論理ユニット数に制限がある場合でも、その制限を超えた数の論理ユニットをコンピュータに接続することを可能とする論理ユニット数拡張装置を提供することを目的とする。
【０００８】
また、本発明は、誤って論理ユニットに記録されているデータを破壊してしまうことを防止できる論理ユニット数拡張装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明によれば、仮想論理ユニットに割り当てられた仮想論理ユニット番号と各々が複数の実論理ユニットの各々に割り当てられた複数の実論理ユニット番号とを用いて論理ユニット数を拡張する論理ユニット数拡張装置において、仮想論理ユニットに割り当てられた仮想論理ユニット番号と前記複数の実論理ユニットのうちの何れかの実論理ユニットの実論理ユニット番号とを対応付けるための論理ユニット番号変換テーブルと、ホストからアクセス先の仮想論理ユニット番号を指定したアクセス要求を受けるホストインターフェースと、前記ホストから前記アクセス要求を受けたならば、前記論理ユニット番号変換テーブルを参照して、前記アクセス要求で指定される仮想論理ユニット番号を該仮想論理ユニット番号に対応する実論理ユニット番号に変換する論理ユニット番号変換手段と、前記論理ユニット番号変換手段により仮想論理ユニット番号が実論理ユニット番号に変換されたアクセス要求を、装置ディレクタに与える装置ディレクタインターフェースと、を備えることを特徴とする論理ユニット数拡張装置が提供される。
【００１０】
上記の論理ユニット数拡張装置は、前記仮想論理ユニット番号に対応付けられた前記実論理ユニット番号を他の実論理ユニット番号に変更する論理ユニット番号変換テーブル変更手段を更に備えていてもよい。
【００１１】
上記の論理ユニット数拡張装置は、前記仮想論理ユニット番号に対応付けられたアクセスモードを「アクセス禁止」に設定するアクセスモード設定手段と、前記仮想論理ユニット番号に対応付けられた前記アクセスモードが前記アクセスモード設定手段により「アクセス禁止」とされている期間、該仮想論理ユニット番号を指定したアクセス要求に対しては、アクセスを拒否するアクセス拒否手段と、を更に備えていてもよい。
【００１２】
上記の論理ユニット数拡張装置は、前記仮想論理ユニット番号に対応付けられた前記実論理ユニット番号の値を無効値とする実論理ユニット番号無効化手段と、前記仮想論理ユニット番号に対応付けられた前記実論理ユニット番号の値が前記実論理ユニット番号無効化手段により無効値とされている期間、該無効値になった実論理ユニット番号に対応付けられている仮想論理ユニット番号を指定したアクセス要求に対しては、アクセスを拒否するアクセス拒否手段と、を更に備えていてもよい。
【００１３】
上記の論理ユニット数拡張装置は、前記装置ディレクタから受けた前記アクセス要求で指定される前記実論理ユニット番号その他のパラメータを基に、物理アクセス先を算出し、該物理アクセス先にアクセスする装置ディレクタを更に備えていてもよい。
【００１４】
上記の論理ユニット数拡張装置は、前記論理ユニット番号変換テーブル変更手段により変更される前の実論理ユニット番号を有する実論理ユニットが保持していたドライブレターを、前記論理ユニット番号変換テーブル変更手段により変更された後の実論理ユニット番号を有する実論理ユニットに転送するドライブレター転送手段を更に備えていてもよい。
【００１５】
上記の論理ユニット数拡張装置は、前記論理ユニット番号変換テーブル変更手段の１回目の動作により変更された後の実論理ユニット番号を有する実論理ユニットが変更前に保持していたドライブレターを待避させるドライブレター待避手段と、前記論理ユニット番号変換テーブル変更手段の前記１回目の動作により変更された後の実論理ユニット番号を有する実論理ユニットと前記仮想論理ユニット番号との対応関係が前記論理ユニット番号変換テーブル変更手段の２回目の動作により消滅した場合に、前記ドライブレター待避手段により待避されていたドライブレターを当該実論理ユニットに復帰させるドライブレター復帰手段と、を更に備えていてもよい。
【発明の効果】
【００１６】
本発明によれば、ホストが指示する論理ユニット番号を仮想論理ユニット番号として扱い、その仮想論理ユニット番号に対応する実論理ユニット番号を有する実論理ユニットにアクセスするようにし、仮想論理ユニット番号に対応する実論理ユニット番号を変更できるようにしたので、ホストが使用する論理ユニット番号の数以上の数の実論理ユニットをホストが使用することができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。
【００１８】
本実施形態では、１つのＳＣＳＩ  ＩＤに割り当てられた論理ユニット番号の数を超えた数の論理ユニットを１つのＳＣＳＩ  ＩＤに対して割り当てることを可能とする。上述の代表的なＬｉｎｕｘの例では、あるＳＣＳＩ  ＩＤに対して例えばｎ個（１≦ｎ≦１２８）の論理ユニット番号が割り当てられているとした場合、そのＳＣＳＩ  ＩＤにｎを超える数の論理ユニットを割り当てることを可能とする。また、ＷＩＮＤＯＷＳ（登録商標）の場合であれば、例えば、あるＳＣＳＩ  ＩＤに対して５つの論理ユニット番号が割り当てられていて、それぞれの論理ユニット番号に対してＤ、Ｅ、Ｆ、Ｇ、Ｈの５つのドライブレターが割り当てられているとした場合に、ドライブレターＤ、Ｅ、Ｆ、Ｇ、Ｈを変更することなく、そのＳＣＳＩ  ＩＤに対して５を超える数の論理ユニットを割り当てることを可能とする。
【００１９】
［構成］
図１は、１つのＳＣＳＩ機器の構成及びこのＳＣＳＩ機器に接続されているホストを示すブロック図である。図１に示すＳＣＳＩ機器には１つのＳＣＳＩ  ＩＤが割り当てられる。また、このＳＣＳＩ機器には、１以上の論理ユニット番号を割り当てることが可能である。
【００２０】
このＳＣＳＩ機器は、記録再生装置１０１、装置ディレクタ１０２及びホストディレクタ１０３を備える。装置ディレクタ１０２は、記録再生装置１０１及びホストディレクタ１０３と接続され、ホストディレクタ１０３は、ホスト１０４と接続される。
【００２１】
記録再生装置１０１には、１以上の実論理ユニット１０１−１〜１０１−Ｎ（Ｎは１以上の整数）を作成することが可能である。記録再生装置１０１は、例えば、ディスクアレイであり、この場合には、論理ユニットは、論理ボリュームである。また、記録再生装置１０１は、再生装置又は記録装置に置き換わっても良い。
【００２２】
装置ディレクタ１０２は、ホストディレクタ１０３から記録再生装置１０１に対するアクセス要求を受けた時に、そのアクセス要求で指定されている論理ユニット番号及び論理セクタ番号等を記録再生装置１０１における物理アクセス先に変換し、その物理アクセス先にアクセスする。
【００２３】
ホストディレクタ１０３は、ＣＰＵ１０３−１、ＲＯＭ(Read Only Memory)１０３−２及び書換可能不揮発性記録媒体１０３−３を備える。ＣＰＵ１０３−１は、ＲＯＭ１０３−２に格納されているプログラムを読み込んで実行することにより、ホストディレクタ１０３の各機能部の機能を実現する。書換可能不揮発性記録媒体１０３−３は、ホストディレクタ１０３からアクセスできる限り、ホストディレクタ１０３から分離していても良く、また、装置ディレクタ１０２に備わっていても良い。
【００２４】
図２に示すように、ホストディレクタ１０３は、ホストインターフェース１２１、仮想論理ユニット作成部１２２、リンク設定部１２３、ドライブレター待避領域１２４、リンク解除部１２５、論理ユニット番号変換部１２６及び装置ディレクタインターフェース１２７を備える。
【００２５】
ホストインターフェース１２１及び装置ディレクタインターフェース１２７は、ハードウェアとソフトウェア部を備え、ソフトウェア部は、ＲＯＭ１０３−２及びＲＯＭ１０３−２に格納されているプログラムを読み込んで実行するＣＰＵ１０３−１によりその機能が実現される。
【００２６】
ドライブレター待避領域１２４及び仮想論理ユニット１１１は、書換可能不揮発性記録媒体１０３−３に作成される。
【００２７】
仮想論理ユニット作成部１２２、リンク設定部１２３及びリンク解除部１２５は、ＲＯＭ１０３−２及びＲＯＭ１０３−２に格納されているプログラムを読み込んで実行するＣＰＵ１０３−１によりその機能が実現される。
【００２８】
リンク設定部１２３は、仮想論理ユニット書込部１２３−１、第１のドライブレター読出部１２３−２、ドライブレター待避部１２３−３、第２のドライブレター読出部１２３−４及びドライブレター書込部１２３−５を備える。
【００２９】
リンク解除部１２５は、仮想論理ユニット書込部１２５−１、第１のドライブレター読出部１２５−２、ドライブレター復帰部１２５−３、第２のドライブレター読出部１２５−４及び実論理ユニット番号検索部１２５−５を備える。
【００３０】
次に、本発明の実施形態による論理ユニット数拡張装置の動作について説明する。
【００３１】
［実論理ユニットの作成］
本実施形態による論理ユニット数拡張装置を起動する前に、記録再生装置１０１に実論理ユニット１０１−１〜１０１−Ｎを作成しておく。論理ユニット数拡張装置による効果を得るためには、実論理ユニット１０１の数を仮想論理ユニットの数よりも多くする。また、オペレーティングシステムにより最大セクター数取得のコマンドが発行された場合等を考慮し、実論理ユニットのセクタサイズ及びセクタ数は、仮想論理ユニットのものと同一とするが、オペレーティングシステムの種類によっては、必ずしもそうする必要は無い場合もある。また、実論理ユニット１０１−ｉには、ドライブレター領域１０１−ｉ−１がある。
【００３２】
実論理ユニット１０１−１〜１０１−Ｎ及は、装置を管理するための特別なプログラムを備えたホストコンピュータによって作成する。
【００３３】
［仮想論理ユニットの作成］
ホスト１０４は、必要時に、仮想論理ユニット作成命令をホストインターフェース１２１に与える。仮想論理ユニット作成命令は、ＳＣＳＩコマンドのうちのベンダ特有命令であり、仮想論理ユニットを１つ追加するための命令であり、引数として、仮想論理ユニット番号及び仮想論理ユニットの容量（セクタサイズ及びセクタ数により構成される。）を有する。
【００３４】
ホストインターフェース１２１が仮想論理ユニット作成命令を受けた場合に、仮想論理ユニット作成部１２２は、仮想論理ユニットを１つ作成する。仮想論理ユニットとは、データ記憶領域を有さない、仮想的な論理ユニットであり、書換可能不揮発性記録媒体１０３−３に作成される。
【００３５】
図３に示すように、仮想論理ユニット１１１は、仮想論理ユニット番号（ＶＬＵＮ）、実論理ユニット番号（ＲＬＵＮ）、ドライブレター（ＤＬ）、アクセスモード（ＡＭ）及び容量（ＣＡＰＡ）の領域を有する。なお、仮想論理ユニット番号と実論理ユニット番号のみを抜き出して、１以上の仮想論理ユニットについてまとめたものが論理ユニット番号変換テーブルである。従って、１つの仮想論理ユニット１１１の仮想論理ユニット番号と実論理ユニット番号は、論理ユニット番号変換テーブルの１レコードを構成する。
【００３６】
仮想論理ユニット作成命令により仮想論理ユニットが作成された直後では、仮想論理ユニット番号及び容量は当該命令で指定された値を有するが、実論理ユニット番号及びドライブレターは無効値（ＮＵＬＬ）を有し、アクセスモードはアクセス禁止の値を有する。
【００３７】
［リンク設定］
ホスト１０４は、必要時に、リンク設定命令をホストインターフェース１２１に与える。リンク設定命令は、ＳＣＳＩコマンドのうちのベンダ特有命令であり、仮想論理ユニット１１１と実論理ユニット１０１との間のリンクを設定するための命令であり、引数として、仮想論理ユニット番号、実論理ユニット番号及びアクセスモードを有する。アクセスモードは、通常は、「読み書き許可」又は「読出しのみ許可」であるが他の値であって良い。
【００３８】
図４を参照し、ホストインターフェース１２１がリンク設定命令を受けた場合に（ステップＳ２０１）、リンク設定部１２３の仮想論理ユニット書込部１２３−１は、当該命令の引数を参照して、引数としての仮想論理ユニット番号を有する仮想論理ユニット１１１の実論理ユニット番号及びアクセスモードの領域に引数としての実論理ユニット番号及びアクセスモードをそれぞれ書き込む（ステップＳ２０２）。
【００３９】
また、リンク設定部１２３の第１のドライブレター読出部１２３−２は、引数としての実論理ユニット番号を有する実論理ユニット（リンク先の実論理ユニット）１０１のドライブレター領域１０１−ｉ−１に現在まで格納されていたドライブレターを読み出す（ステップＳ２０３）。
【００４０】
更に、リンク設定部１２３のドライブレター待避部１２３−３は、第１のドライブレター読出部１２３−２が読み出したドライブレターをドライブレター待避領域１２４に書き込む（ステップＳ２０４）。ドライブレター待避領域１２４に書き込まれたドライブレターは、次回にリンク解除命令によりリンクが解除される場合に、それまでリンク先であった実論理ユニットのドライブレター領域１０１−ｉ−１に戻されることとなる。このようにドライブレターを戻すことにより、オペレーティングシステムが、実論理ユニットにその論理ユニット番号を用いてアクセスした場合に、オペレーティングシステムがその実論理ユニットの論理ユニット番号とドライブレターとの間の整合性が維持されていると認識することが可能となる。
【００４１】
更に、リンク設定部１２３の第２のドライブレター読出部１２３−４は、引数としての仮想論理ユニット番号を有する仮想論理ユニット（リンク元の仮想論理ユニット）１１１のドライブレターの領域に格納されているドライブレターを読み出す（ステップＳ２０５）。
【００４２】
更に、リンク設定部１２３のドライブレター書込部１２３−５は、第２のドライブレター読出部１２３−３が読み出したドライブレターを引数としての実論理ユニット番号を有する実論理ユニット（リンク先の実論理ユニット）１０１のドライブレター領域１０１−ｉ−１に書き込む（ステップＳ２０６）。こうすることにより、ＷＩＮＤＯＷＳ（登録商標）等のオペレーティングシステムがリンク先の実論理ユニットを間違った実論理ユニットであると判断することを回避することができる。
【００４３】
但し、仮想論理ユニット作成直後において、引数としての仮想論理ユニット番号を有する仮想論理ユニット（リンク元の仮想論理ユニット）１１１のドライブレターの領域に無効なドライブレターが書き込まれている場合には、リンク設定部１２３のドライブレター書込部１２３−３は、無効なドライブレターをドライブレター領域１０１−ｉ−１に書き込む。オペレーティングシステムは、ドライブレター領域１０１−ｉ−１に無効なドライブレターが書き込まれていることを認識すると、ドライブレター領域１０１−ｉ−１に自ら決定したドライブレターを書き込む。
【００４４】
［リンク解除］
ホスト１０４は、必要時に、リンク解除命令をホストインターフェース１２１に与える。リンク解除命令は、ＳＣＳＩコマンドのうちのベンダ特有命令であり、仮想論理ユニット１１１と実論理ユニット１０１との間のリンクを解除するための命令であり、引数として、仮想論理ユニット番号を有する。
【００４５】
図５を参照すると、ホストインターフェース１２１がリンク解除命令を受けた場合に（ステップＳ２１１）、リンク解除部１２５の実論理ユニット番号検索部１２５−５は、引数としての仮想論理ユニット番号に対応する実論理ユニット番号を引数としての仮想論理ユニット番号を有する仮想論理ユニット１１１から検索する（ステップＳ２１２）。
【００４６】
また、リンク解除部１２５の第２のドライブレター読出部１２５−４は、実論理ユニット番号検索部１２５−５が検索した実論理ユニット番号を有する実論理ユニット（リンク先の実論理ユニット）１０１のドライブレター領域１０１−ｉ−１に格納されているドライブレターを読み出し（ステップＳ２１３）、読み出したドライブレターを仮想論理ユニット書込部１２５−１に渡す。
【００４７】
更に、リンク解除部１２５の仮想論理ユニット書込部１２５−１は、引数としての仮想論理ユニット番号を有する仮想論理ユニット（リンク元の仮想論理ユニット）１１１の実論理ユニット番号の領域に無効値を書き込み、当該仮想論理ユニット１１１のドライブレターの領域に第２のドライブレター読出部１２５−４から受けたドライブレターを書き込み、当該仮想論理ユニット１１１のアクセスモードの領域にアクセス禁止の値を書き込む（ステップＳ２１４）。
【００４８】
更に、リンク解除部１２５の第１のドライブレター読出部１２５−２は、ドライブレター待避領域１２４に格納されているドライブレターを読み出す（ステップＳ２１５）。
【００４９】
更に、リンク解除部１２５のドライブレター復帰部１２５−３は、第１のドライブレター読出部１２５−２が読み出したドライブレターを実論理ユニット番号検索部１２５−５が検索した実論理ユニット番号を有する実論理ユニット（リンク先の実論理ユニット）１０１のドライブレター領域１０１−ｉ−１に書き込む（ステップＳ２１６）。
【００５０】
こうすることにより、仮想論理ユニットと実論理ユニットの対応付けを解除した場合に、実論理ユニットは本来のドライブレターにて正しく認識されることが可能となる。
【００５１】
ステップＳ２１４で仮想論理ユニット１１１に書き込まれたドライブレターは、次回にリンク設定命令により当該仮想論理ユニットをある実論理ユニットとリンクする場合に、その実論理ユニットのドライブレター領域に書き込まれることとなる。こうすることにより、あるドライブレターを有するとして認識されている仮想論理ユニットがいかなる実論理ユニットとリンクされても、ＷＩＮＤＯＷＳ（登録商標）がリンク先の実論理ユニットが誤った論理ユニットであると判断することを回避することができる。
【００５２】
［アクセス］
通常のＳＣＳＩコマンドに属するアクセス命令（書込命令又は読出命令）より論理ユニットへのアクセスが行われる。ホスト１０４は、アクセス命令の引数である論理ユニット番号によりアクセス先の論理ユニットを指定するが、ホストディレクタ１０３は、この論理ユニット番号を仮想論理ユニット番号として扱う。
【００５３】
論理ユニット番号変換部１２６は、アクセス命令の引数である論理ユニット番号を有する論理ユニットにアクセスし、アクセスした論理ユニットに書き込まれている実論理ユニット番号を読み出し、アクセス命令の引数である論理ユニット番号を読み出した実論理ユニット番号に変換する。
【００５４】
装置ディレクタインターフェース１２７は、論理ユニット番号変換部１２６により論理ユニット番号が変換されたアクセス命令を装置ディレクタ１０２に渡す。
【００５５】
なお、アクセス命令の引数である論理ユニット番号を有する論理ユニットにアクセスした際には、アクセスモードも読み出し、アクセスモードがアクセス禁止であれば、アクセス拒否の旨をホスト１０４に返す。従って、実論理ユニットにリンクされていない仮想論理ユニットのアクセスモードをアクセス禁止にしておくことにより、仮想論理ユニットにリンクされていない実論理ユニットのデータが誤って書き換えられたり、消去されたりすることを防止することができる。実論理ユニットにリンクされていない仮想論理ユニットの実論理ユニット番号を無効値とした上で、アクセス命令の引数である論理ユニット番号を有する論理ユニットにアクセスした際に読み出した実論理ユニット番号が無効値であれば、アクセス拒否の旨をホスト１０４に返すようにしても、同様な効果を得ることができる。
【実施例】
【００５６】
次に、実施例を説明する。
【００５７】
［実論理ユニット作成］
図６に示すように４つの実論理ユニット１０１−１〜１０１−４を予め作成しておく。実論理ユニット１０１−１〜１０１−４の実論理ユニット番号はそれぞれ＃０〜＃３である。また、実論理ユニット１０１−１〜１０１−４のドライブレター領域１０１−１−１〜１０１−４−１には、無効値（ＮＵＬＬ）が書き込まれている。
【００５８】
［仮想論理ユニット作成］
２つの仮想論理ユニット作成命令により、図７に示すように２つの仮想論理ユニット１１１−１、１１１−２を作成する。仮想論理ユニット１１１−１の仮想論理ユニット番号、実論理ユニット番号、ドライブレター、アクセスモードは、それぞれ、＃０、無効値、無効値、アクセス禁止である。仮想論理ユニット１１１−２の仮想論理ユニット番号、実論理ユニット番号、ドライブレター、アクセスモードは、それぞれ、＃１、無効値、無効値、アクセス禁止である。この時点では、仮想論理ユニット１１１−１、１１１−２は、何れの実論理ユニットにもリンクされていない。
【００５９】
［１回目のリンク設定］
２つのリンク設定命令により、図８に示すように２つのリンクを設定する。一方のリンク設定命令の引数である仮想論理ユニット番号、実論理ユニット番号、アクセスモードは、それぞれ、＃０、＃０、「読み書き許可」である。但し、アクセスモードは、「読出しのみ許可」等であってもよい。他方のリンク設定命令の引数である仮想論理ユニット番号、実論理ユニット番号、アクセスモードは、それぞれ、＃１、＃２、「読み書き許可」である。但し、アクセスモードは、「読出のみ許可」等であってもよい。
【００６０】
仮想論理ユニット＃０の実論理ユニット番号の領域、アクセスモードの領域には、それぞれ、＃０、「読み書き許可」が書き込まれ、仮想論理ユニット＃１の実論理ユニット番号の領域、アクセスモードの領域には、それぞれ、＃２、「読み書き許可」が書き込まれる。
【００６１】
なお、仮想論理ユニット＃０の仮想論理ユニット番号の領域には既に＃０が書き込まれており、仮想論理ユニット＃１の仮想論理ユニット番号の領域には既に＃１が書き込まれている。また、仮想論理ユニット＃０のドライブレターの領域には、無効値が書き込まれたままであり、仮想論理ユニット＃１のドライブレターの領域にも、無効値が書き込まれたままである。
【００６２】
また、リンク設定前には、実論理ユニット＃０のドライブレターの領域には無効値が書き込まれていたので、実論理ユニット＃０のためのドライブレター待避領域１２４−１に待避されたドライブレターも無効値である。同様に、リンク設定前には、実論理ユニット＃２のドライブレターの領域には無効値が書き込まれていたので、実論理ユニット＃２のためのドライブレター待避領域１２４−３に待避されたドライブレターも無効値である。
【００６３】
リンク設定で必ず有効なドライブレターが実論理ユニットに書き込まれるということはない。仮想論理ユニットが、まだ一度もホストコンピュータに認識されていなければ、仮想論理ユニットがもっている無効なドライブレターがそのまま実論理ユニットに書き込まれる。実論理ユニットに書き込まれるドライブレターは、常に仮想論理ユニットが保持しているドライブレターである。
【００６４】
ドライブレターはあくまでもホストコンピュータが論理ユニットを認識した時に、ホストコンピュータのオペレーティングシステムが決定し、論理ユニットに書き込む。
【００６５】
従って、図８に示すように、リンク設定直後においては、ドライブレター領域１０１−１−１及び１０１−３−１には、無効値（ＮＵＬＬ）が書き込まれる。
【００６６】
［ドライブレター付与］
図９に示すように、オペレーティングシステムは、実論理ユニット１０１−１に初めてアクセスした時、ドライブレター領域１０１−１−１に無効値が書き込まれていることを認識し、オペレーティングシステムが決定したドライブレター「Ｄ」をドライブレター領域１０１−１−１に書き込む。
【００６７】
同様に、オペレーティングシステムは、実論理ユニット１０１−３に初めてアクセスした時、ドライブレター領域１０１−３−１に無効値が書き込まれていることを認識し、オペレーティングシステムが決定したドライブレター「Ｅ」をドライブレター領域１０１−３−１に書き込む。
【００６８】
［リンク解除］
２つのリンク解除命令により、図８及び９に示すように設定されていた２つのリンクを解除して、図１０に示すような状態になる。一方のリンク解除命令の引数である仮想論理ユニット番号は＃０であり、他方のリンク解除命令の引数である仮想論理ユニット番号は＃１である。
【００６９】
この結果、仮想論理ユニット＃０の実論理ユニット番号の領域、ドライブレターの領域、アクセスモードの領域には、それぞれ、無効値、「Ｄ」、「アクセス禁止」が書き込まれる。ドライブレターの領域に書き込まれるドライブレター「Ｄ」は、実論理ユニット＃０のドライブレターの領域１０１−１−１に書き込まれていたものである。また、仮想論理ユニット＃１の実論理ユニット番号の領域、ドライブレターの領域、アクセスモードの領域には、それぞれ、無効値、「Ｅ」、「アクセス禁止」が書き込まれる。ドライブレターの領域に書き込まれるドライブレター「Ｅ」は、実論理ユニット＃２のドライブレターの領域１０１−３−１に書き込まれていたものである。
【００７０】
また、実論理ユニット＃０のドライブレターの領域１０１−１−１には、ドライブレター待避領域１２４−１に待避されていた無効値が戻され、実論理ユニット＃２のドライブレターの領域１０１−３−１には、ドライブレター待避領域に待避されていた無効値が戻される。
【００７１】
［２回目のリンク設定］
２つのリンク設定命令により、図１１に示すように２つのリンクを設定する。一方のリンク設定命令の引数である仮想論理ユニット番号、実論理ユニット番号、アクセスモードは、それぞれ、＃０、＃１、「読み書き許可」である。但し、アクセスモードは、「読出しのみ許可」等であってもよい。他方のリンク設定命令の引数である仮想論理ユニット番号、実論理ユニット番号、アクセスモードは、それぞれ、＃１、＃３、「読み書き許可」である。但し、アクセスモードは、「読出のみ許可」等であってもよい。
【００７２】
この結果、仮想論理ユニット＃０の実論理ユニット番号の領域、アクセスモードの領域には、それぞれ、＃１、「読み書き許可」が書き込まれ、実論理ユニット＃１のドライブレター領域１０１−２−１には、「Ｄ」が書き込まれ、仮想論理ユニット＃１の実論理ユニット番号の領域、アクセスモードの領域には、それぞれ、＃３、「読み書き許可」が書き込まれ、実論理ユニット＃３のドライブレター領域１０１−４−１には、「Ｅ」が書き込まれる。
【００７３】
なお、仮想論理ユニット＃０の仮想論理ユニット番号の領域には既に＃０が書き込まれており、仮想論理ユニット＃１の仮想論理ユニット番号の領域には既に＃１が書き込まれている。また、仮想論理ユニット＃０のドライブレターの領域には、新たに無効値が書き込まれ、仮想論理ユニット＃１のドライブレターの領域にも、新たに無効値が書き込まれる。
【００７４】
また、リンク設定前には、実論理ユニット＃１のドライブレターの領域には無効値が書き込まれていたので、実論理ユニット＃１のためのドライブレター待避領域１２４−２に待避されたドライブレターも無効値である。同様に、リンク設定前には、実論理ユニット＃３のドライブレターの領域には無効値が書き込まれていたので、実論理ユニット＃３のためのドライブレター待避領域１２４−４に待避されたドライブレターも無効値である。
【産業上の利用可能性】
【００７５】
本発明は、コンピュータに接続される論理ユニットの数をオペレーティングシステムや論理ユニットを規定する規格により制限される数よりも多くすることに利用することができる。
【図面の簡単な説明】
【００７６】
【図１】本発明の実施形態による１つのＳＣＳＩ機器の構成及びこのＳＣＳＩ機器に接続されているホストを示すブロック図である。
【図２】図１に示すホストディレクタの構成等を示すブロック図である。
【図３】本発明の実施形態による仮想論理ユニットの構成を示す図である。
【図４】本発明の実施形態によるホストディレクタのリンク設定時の動作を説明するためのフローチャートである。
【図５】本発明の実施形態によるホストディレクタのリンク解除時の動作を説明するためのフローチャートである。
【図６】本発明の実施例の実論理ユニット作成を説明するための図である。
【図７】本発明の実施例の仮想論理ユニット作成を説明するための図である。
【図８】本発明の実施例の１回目のリンク設定を説明するための図である。
【図９】本発明の実施例のドライブレター付与を説明するための図である。
【図１０】本発明の実施例のリンク解除を説明するための図である。
【図１１】本発明の実施例の２回目のリンク設定を説明するための図である。
【符号の説明】
【００７７】
１０１  記録再生装置  １０２  装置ディレクタ
１０３  ホストディレクタ
１０３−１  ＣＰＵ
１０３−２  ＲＯＭ
１０３−３  書換可能不揮発性記録媒体
１０４  ホスト
１０１−１〜１０１−Ｎ  実論理ユニット
１０１−１−１〜１０１−Ｎ−１  ドライブレター領域
１２１  ホストインターフェース
１２２  仮想論理ユニット作成部
１２３  リンク設定部
１２３−１  仮想論理ユニット書込部
１２３−２  第１のドライブレター読出部
１２３−３  ドライブレター待避部
１２３−４  第２のドライブレター読出部
１２３−５  ドライブレター書込部
１２４  ドライブレター待避領域
１２５  リンク解除部
１２５−１  仮想論理ユニット書込部
１２５−２  第１のドライブレター読出部
１２５−３  ドライブレター復帰部
１２５−４  第２のドライブレター読出部
１２５−５  実論理ユニット番号検索部
１２６  論理ユニット番号変換部
１２７  装置ディレクタインターフェース
【図１】
2005208903.tif 000003
【図２】
2005208903.tif 000004
【図３】
2005208903.tif 000005
【図４】
2005208903.tif 000006
【図５】
2005208903.tif 000007
【図６】
2005208903.tif 000008
【図７】
2005208903.tif 000009
【図８】
2005208903.tif 000010
【図９】
2005208903.tif 000011
【図１０】
2005208903.tif 000012
【図１１】
2005208903.tif 000013