(57)【要約】【課題】  ストレージ装置において、ディスクの消費電力を抑え、また、ディスクの寿命を長くすること。【解決手段】  本発明に係るストレージ装置１００は、ネットワーク１２０を介してホスト計算機と接続され、回転中に読み書きの動作が行われる１枚以上のディスク１０５と、当該ディスク１０５の回転を制御する制御部と、を有するストレージ装置１００であって、前記制御部は、前記ホスト計算機から前記ディスク１０５の一部または全部の使用の開始が予想されるメッセージを受信したときに、その使用の開始が予想されるディスク１０５の回転を開始する制御を行う。【選択図】      図１
2007079749.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してホスト計算機と接続され、回転中に読み書きの動作が行われる１枚以上のディスクと、当該ディスクの回転を制御する制御部と、を有するストレージ装置であって、
前記制御部は、前記ホスト計算機から前記ディスクの一部または全部の使用の開始が予想されるメッセージを受信したときに、その使用の開始が予想されるディスクの回転を開始する制御を行う
ことを特徴とするストレージ装置。
【請求項２】
前記メッセージは、ノーマルセッションのiSCSI loginであることを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記メッセージは、ディスカバリセッションのiSCSI loginであることを特徴とする請求項１に記載のストレージ装置。
【請求項４】
ネットワークを介してホスト計算機と接続され、回転中に読み書きの動作が行われる１枚以上のディスクと、当該ディスクの回転を制御する制御部と、を有するストレージ装置であって、
前記制御部は、前記ホスト計算機から前記ディスクの一部または全部の使用の終了が予想されるメッセージを受信したときに、その使用の終了が予想されるディスクの回転を停止する制御を行う
ことを特徴とするストレージ装置。
【請求項５】
前記メッセージは、ノーマルセッションのiSCSI logoutであることを特徴とする請求項４に記載のストレージ装置。
【請求項６】
前記制御部は、前記ホスト計算機における、個々の前記ディスクを使用するイニシエータの情報を管理し、使用の開始が予想されるメッセージに対応する前記ディスクのうち、使用中のイニシエータ数が０であった前記ディスクの回転を開始する制御を行う
ことを特徴とする請求項１に記載のストレージ装置。
【請求項７】
前記制御部は、前記ホスト計算機における、個々の前記ディスクを使用するイニシエータの情報を管理し、使用の終了が予想されるメッセージに対応する前記ディスクのうち、使用中のイニシエータ数が１であった前記ディスクの回転を停止する制御を行う
ことを特徴とする請求項４に記載のストレージ装置。
【請求項８】
ネットワークを介してホスト計算機およびiSNS（Internet Storage Name Servise）サーバと接続され、回転中に読み書きの動作が行われる１枚以上のディスクと、当該ディスクの回転を制御する制御部と、を有するストレージ装置であって、
前記制御部は、前記ホスト計算機による前記ディスクの一部または全部の使用の開始が予想されるメッセージを前記iSNSサーバから受信したときに、その使用の開始が予想されるディスクの回転を開始する制御を行う
ことを特徴とするストレージ装置。
【請求項９】
前記メッセージは、iSNSプロトコルにおいてイニシエータの追加を通知するＳＣＮ（Specification Change Notice）メッセージであることを特徴とする請求項１または請求項８に記載のストレージ装置。
【請求項１０】
前記メッセージは、iSNSプロトコルにおいてイニシエータの削除を通知するＳＣＮメッセージであることを特徴とする請求項４に記載のストレージ装置。
【請求項１１】
前記メッセージは、前記制御部からの問い合わせに対する、iSNSプロトコルにおいてイニシエータの追加を通知する応答メッセージであることを特徴とする請求項１または請求項８に記載のストレージ装置。
【請求項１２】
前記メッセージは、前記制御部からの問い合わせに対する、iSNSプロトコルにおいてイニシエータの削除を通知する応答メッセージであることを特徴とする請求項４に記載のストレージ装置。
【請求項１３】
ネットワークを介してホスト計算機およびiSNSサーバと接続され、回転中に読み書きの動作が行われる１枚以上のディスクと、当該ディスクの回転を制御する制御部と、を有し、
前記制御部は、前記ホスト計算機による前記ディスクの一部または全部の使用の開始が予想されるメッセージを、前記ホスト計算機または前記iSNSサーバから受信したときに、その使用の開始が予想されるディスクの回転を開始する制御を行うストレージ装置であって、
前記メッセージは、ノーマルセッションのiSCSI login、ディスカバリセッションのiSCSI login、iSNSプロトコルにおいてイニシエータの追加を通知するＳＣＮメッセージ、あるいは、前記制御部からの問い合わせに対する、iSNSプロトコルにおいてイニシエータの追加を通知する応答メッセージ、のいずれかである
ことを特徴とするストレージ装置。
【請求項１４】
前記制御部は、前記した使用の開始が予想されるディスクの回転を開始する制御を行った後、当該ディスクが使用可能状態となったときに、その旨を前記ホスト計算機に通知する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項１５】
ネットワークを介してホスト計算機と接続され、回転中に読み書きの動作が行われる１枚以上のディスクと、当該ディスクの回転を制御する制御部と、を有するストレージ装置におけるディスク制御方法であって、
前記制御部は、前記ホスト計算機から前記ディスクの一部または全部の使用の開始が予想されるメッセージを受信したときに、その使用の開始が予想されるディスクの回転を開始する制御を行う
ことを特徴とするディスク制御方法。
【請求項１６】
前記メッセージは、ノーマルセッションまたはディスカバリセッションのiSCSI loginであることを特徴とする請求項１５に記載のディスク制御方法。
【請求項１７】
ネットワークを介してホスト計算機と接続され、回転中に読み書きの動作が行われる１枚以上のディスクと、当該ディスクの回転を制御する制御部と、を有するストレージ装置におけるディスク制御方法であって、
前記制御部は、前記ホスト計算機から前記ディスクの一部または全部の使用の終了が予想されるメッセージを受信したときに、その使用の終了が予想されるディスクの回転を停止する制御を行う
ことを特徴とするディスク制御方法。
【請求項１８】
前記メッセージは、ノーマルセッションのiSCSI logoutであることを特徴とする請求項１７に記載のディスク制御方法。
【請求項１９】
前記制御部は、前記ホスト計算機における、個々の前記ディスクを使用するイニシエータの情報を管理し、使用の開始が予想されるメッセージに対応する前記ディスクのうち、使用中のイニシエータ数が０であった前記ディスクの回転を開始する制御を行う
ことを特徴とする請求項１５に記載のディスク制御方法。
【請求項２０】
前記制御部は、前記ホスト計算機における、個々の前記ディスクを使用するイニシエータの情報を管理し、使用の終了が予想されるメッセージに対応する前記ディスクのうち、使用中のイニシエータ数が１であった前記ディスクの回転を停止する制御を行う
ことを特徴とする請求項１７に記載のディスク制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大容量のデータを格納するストレージ装置において、消費電力を低減する技術に関する。
【背景技術】
【０００２】
近年、ストレージ装置において、ネットワーク接続機能が多く実現されてきている。このネットワーク接続機能により、ストレージ装置は、ファイバチャネルやＩＰ（Internet Protocol）ネットワークなどを介して、計算機とデータやコマンドの送受信を行うことができる。そして、TCP/IP（Transmission Control Protocol/Internet Protocol）によってSCSI（Small Computer System Interface）コマンドの送受信を行うプロトコルとして、iSCSI（Internet Small Computer Systems Interface）が標準化されており、このiSCSIを実装したストレージ装置が多く使用されるようになってきている。
【０００３】
ネットワークに接続されたストレージ装置では、多くの場合、ホスト（計算機）がストレージ装置のハードディスク（以下、ディスクという）に対して常にアクセスしているわけではないが、そのアクセスに備えてストレージ装置の全ディスクを常に回転させているため、消費電力が大きく、また、機械的消耗などによりディスクの寿命が短くなるという問題があった。
【０００４】
たとえば、特許文献１では、ネットワークを介してホストとストレージ装置を接続する場合にSCSI機器をエミュレートする方法について開示されている。しかし、SCSI機器の１つであるディスクドライブについて、SCSIコマンド以外の処理の実行については触れられておらず、SCSI機器がディスクドライブの場合はディスクが常に回転していることとなる。
そこで、ストレージ装置において、ディスクの一部または全部の回転を一時的に停止させるMAID（Massive Array of Idle Disks）技術が開発された。
【特許文献１】特開２００５−７８６４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、停止中のディスクに対してホストからアクセスする場合、そのディスクを改めて回転させなければならず、ディスクを常時回転させておく場合に比べて、アクセスに要する時間が長くなってしまうという問題があった。つまり、ディスクの一部または全部の回転を一時的に停止させておくのであれば、ディスクごとに、ホストからのアクセスの可能性の有無を的確に判断する必要があった。
そこで、本発明は、前記問題点に鑑みてなされたものであり、各ディスクへのアクセスの開始／終了のタイミングを的確に予想し、それによって各ディスクの回転を適宜選択的に始動／停止させ、それにより、消費電力を低減し、ディスクの長寿命化を図るストレージ装置を実現することを目的とする。
【課題を解決するための手段】
【０００６】
前記課題を解決するために、本発明に係るストレージ装置は、ネットワークを介してホスト計算機と接続され、回転中に読み書きの動作が行われる１枚以上のディスクと、当該ディスクの回転を制御する制御部と、を有するストレージ装置であって、前記制御部は、前記ホスト計算機から前記ディスクの一部または全部の使用の開始が予想されるメッセージを受信したときに、その使用の開始が予想されるディスクの回転を開始する制御を行うことを特徴とする。
また、本発明に係る他のストレージ装置は、ネットワークを介してホスト計算機と接続され、回転中に読み書きの動作が行われる１枚以上のディスクと、当該ディスクの回転を制御する制御部と、を有するストレージ装置であって、前記制御部は、前記ホスト計算機から前記ディスクの一部または全部の使用の終了が予想されるメッセージを受信したときに、その使用の終了が予想されるディスクの回転を停止する制御を行うことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ストレージ装置において、消費電力を低減し、ディスクの長寿命化を図ることができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施形態に係る計算機システムＳおよびそのディスク制御方法について、図面を参照しながら説明する。
＜第１実施形態＞
第１実施形態では、ストレージ装置がホストからiSCSI loginコマンドを受信する場合の動作を例にとり、説明する。
【０００９】
図１は、第１実施形態に係る計算機システムの概略図である。図１に示すように、計算機システムＳは、インターネットなどのネットワーク１２０を介して互いに接続された、ストレージ装置１００、複数のホスト１１０（ホスト計算機）、iSNS（Internet Storage Name Servise）サーバ１３０およびウィルスチェックサーバ１４０、並びに、ストレージ装置１００に接続された管理用端末１５０を備えて構成される。
【００１０】
ホスト１１０は、データの入出力を伴うアプリケーションを実行する情報処理装置であり、ストレージ装置１００にアクセスするためのイニシエータプログラム１１１を有している。
ストレージ装置１００は、ＣＰＵ（Central Processing Unit）１０１（制御部）と、メモリ１０２（制御部）と、アクセスを高速化するためのキャッシュ１０３と、ディスクコントローラ１０４と、１枚以上のディスク１０５と、ポート１０６ａ,１０６ｂ（以下、まとめてポート１０６ともいう）と、フラッシュメモリ１０７と、管理ポート１０８と、これらの装置を接続するバス１０９と、を有する。
【００１１】
ＣＰＵ１０１は、メモリ１０２に記憶されたプログラムを実行することで、後記する各種の処理を行う。メモリ１０２は、後記するプログラムおよびデータを記憶するための装置である。キャッシュ１０３は、書き込みデータを一時的に記憶するための装置である。
ディスクコントローラ１０４は、ディスク１０５へのデータの入出力を制御する装置である。なお、ディスクコントローラ１０４は、ＲＡＩＤ(Redundant Array of Independent Disks)に相当する処理を行うものであってもよい。
【００１２】
ディスク１０５は、ホスト１１０が読み書きするデータを記憶する装置である。ポート１０６は、ストレージ装置１００にＬＡＮ(Local Area Network)ケーブルを接続するためのネットワークカード等の装置であり、データの送受信処理を行う。なお、本実施形態では、ストレージ装置１００が２つのポート１０６を有するものとするが、３つ以上のポート１０６を有するものであってもよい。
【００１３】
フラッシュメモリ１０７は、ストレージ装置１００の起動時にメモリ１０２にロードされるプログラムおよびデータを記憶する装置である。管理ポート１０８は、ストレージ装置１００を管理用端末１５０へ接続するための装置である。
iSNSサーバ１３０は、ネットワーク１２０に接続されているイニシエータ（ホスト１１０のイニシエータプログラム１１１における、ディスク１０５へのアクセス契機の単位となるもの）およびターゲット（ストレージ装置１００のディスク１０５における、イニシエータからアクセスされるデータのひとまとまりであり、詳細は図８参照）の情報の管理や、これらの情報に関する他の装置からの問い合わせに対する応答などを行う装置であり、そのための記憶手段としてのデータベース１３１を有する。
なお、iSNSサーバ１３０は、本実施形態では不要であり、後記の他の実施形態において用いられる。
【００１４】
ウィルスチェックサーバ１４０は、ストレージ装置１００に記憶されているウィルスを検出するための計算機であるが、本実施形態では不要であり、後記の他の実施形態において用いられる。
管理用端末１５０は、ストレージ装置１００の管理ポート１０８を通じて、後記するターゲット-ポータル対応表２０４の設定など、ストレージ装置１００に対する設定作業を行うための計算機である。管理用端末１５０は、処理手段であるＣＰＵ１５１、一時記憶手段であるメモリ１５２、記憶手段である記憶装置１５３、入力手段である入力装置１５４、出力手段である出力装置１５５、通信手段であるポート１５６、および、各装置の接続手段であるバス１５７を備えて構成される。
【００１５】
図２は、ストレージ装置１００のメモリ１０２に記憶されるプログラムおよびデータを示したものである（適宜図１参照）。メモリ１０２には、ターゲットプログラム２０１と、ディスク始動プログラム２０２と、ディスク停止プログラム２０３と、ターゲット-ポータル対応表２０４と、ターゲット-ＬＵ（Logical Unit：１枚以上のディスク１０５から構成される仮想的なディスク）対応表２０５と、ＬＵ-ディスク対応表２０６と、イニシエータ-ＬＵ対応表２０７と、イニシエータ状態表２０８と、初期化プログラム２０９とが記憶される。
【００１６】
ターゲットプログラム２０１は、ホスト１１０上で動作しているイニシエータプログラム１１１との間でiSCSI PDU（Protocol Data Unit）の送受信を行うためのプログラムである。ターゲットプログラム２０１は、iSCSI login PDUの受信を契機としてディスク始動プログラム２０２を呼び出したり、iSCSI logout PDUの受信を契機としてディスク停止プログラム２０３を呼び出したりするが、このときの動作の詳細は図１０、図１３を用いて後記する。
ディスク始動プログラム２０２は、ディスク１０５の回転を開始するためのプログラムである。ディスク始動プログラム２０２は、ターゲットプログラム２０１に呼び出されることで動作するが、動作の詳細は図１１を用いて後記する。
【００１７】
ディスク停止プログラム２０３は、ディスク１０５の回転を停止するためのプログラムである。ディスク停止プログラム２０３は、ターゲットプログラム２０１に呼び出されることで動作するが、動作の詳細は図１４を用いて後記する。
ターゲット-ポータル対応表２０４は、ターゲットとポータル（ＩＰアドレスとＴＣＰポート番号の組：詳細は図８で後記）の対応関係を示す表であるが、詳細については図３を用いて後記する。
ターゲット-ＬＵ対応表２０５は、ターゲットとＬＵの対応関係を示す表であるが、詳細については図４を用いて後記する。
ＬＵ-ディスク対応表２０６は、ＬＵとディスクの対応関係を示す表であるが、詳細については図５を用いて後記する。
【００１８】
イニシエータ-ＬＵ対応表２０７は、イニシエータと、そのイニシエータに割り当てられているＬＵの対応関係を示す表であるが、詳細については図６を用いて後記する。
イニシエータ状態表２０８は、イニシエータのイニシエータ名と、それが参照された時点で使用ディスクを使用しているかどうかを表す表であるが、詳細については図７を用いて後記する。
初期化プログラム２０９は、ストレージ装置１００に電源が投入されたときなどに、図７に示すイニシエータ状態表２０８を初期化するためのプログラムである。
【００１９】
図３は、ターゲット-ポータル対応表２０４（図２参照）の例を示す図である。ターゲット-ポータル対応表２０４は、ターゲット名３０１、ポータル識別子３０２を組とする情報からなるテーブルである。
ターゲット名３０１は、iSCSIターゲットを識別する名前である。ポータル識別子３０２は、ＩＰアドレスとＴＣＰポート番号の組である。セル３０３は、ターゲット名「target0」で識別されるターゲットがＩＰアドレス192.168.0.1、ＴＣＰポート番号3260で識別されるポータルあるいはＩＰアドレス192.168.0.2、ＴＣＰポート番号3260で識別されるポータルを通してアクセスできることを意味する。
【００２０】
図４は、ターゲット-ＬＵ対応表２０５（図２参照）の例を示す図である。ターゲット-ＬＵ対応表２０５は、ターゲット名４０１、ＬＵＮ（Logical Unit Number）４０２を組とする情報からなるテーブルである。
ターゲット名４０１は、ターゲット名３０１と同様、iSCSIターゲットを識別する名前である。ＬＵＮ４０２は、ＬＵを識別する番号である。セル４０３は、ターゲット名「target0」で識別されるターゲットがＬＵＮ「０」で識別されるＬＵおよびＬＵＮ「１」で識別されるＬＵに対する入出力コマンドを処理することを意味する。
なお、このターゲット−ＬＵ対応表２０５は、ストレージ装置１００が図８で示される、内部的なソフトウエア関係を認識するのに使用されるものである。
【００２１】
図５は、ＬＵ-ディスク対応表２０６（図２参照）の例を示す図である。ＬＵ-ディスク対応表２０６は、ＬＵＮ５０１、ディスク識別子５０２を組とする情報からなるテーブルである。
ＬＵＮ５０１は、ＬＵＮ４０２と同様、ＬＵを識別する番号である。ディスク識別子５０２は、ディスク１０５（図１参照）を識別する文字列である。セル５０３は、ＬＵＮ「０」で識別されるＬＵがディスク識別子「０」で識別されるディスクおよびディスク識別子「１」で識別されるディスクから構成されていることを意味する。
【００２２】
図６は、イニシエータ-ＬＵ対応表２０７（図２参照）の例を示す図である。イニシエータ-ＬＵ対応表２０７は、イニシエータ名６０１、ＬＵＮ６０２を組とする情報からなるテーブルである。
イニシエータ名６０１は、iSCSIイニシエータを識別する番号である。ＬＵＮ６０２は、ＬＵＮ４０２と同様、ＬＵを識別する番号である。セル６０３は、イニシエータ名「initiator0」で識別されるイニシエータがＬＵＮ「０」で識別されるＬＵに対してデータの読み書きを行うことができることを意味する。
【００２３】
図７は、イニシエータ状態表２０８（図２参照）の例を示す図である。イニシエータ状態表２０８は、イニシエータ名７０１、使用状況７０２を組とする情報からなるテーブルである。
例えば、図７は、イニシエータ名「initiator0」、「initiator1」および「initiator2」で識別されるイニシエータはその時点でディスクを使用していること（使用状況７０２が「１」）を示し、イニシエータ名「initiator3」で識別されるイニシエータはその時点でディスクを使用していないこと（使用状況７０２が「０」）を示す。
【００２４】
図８は、ターゲット-ポータル対応表２０４、ターゲット-ＬＵ対応表２０５、ＬＵ-ディスク対応表２０６、イニシエータ-ＬＵ対応表２０７で表されるポータル、ターゲット、ＬＵおよびディスクの、ストレージ装置１００における内部的なソフトウエア関係を表した模式図である（適宜図１〜図７参照）。
【００２５】
ポータル８０１（８０１ａ〜８０１ｄ）は、ターゲットへアクセスするためのＩＰアドレスとＴＣＰポート番号の組で識別されるものである。ターゲット８０２（８０２ａ、８０２ｂ）は、ターゲット名で識別され、イニシエータとの間でiSCSI PDUの交換を行うものである。なお、ストレージ装置１００において、相異なる複数のターゲットが存在してもよい。
また、ＬＵ０（符号８０３ａ）〜ＬＵ３（符号８０３ｄ）は前記したＬＵであり、ディスク０（符号１０５ａ）〜ディスク７（符号１０５ｈ）は前記したディスク１０５と同様である。
【００２６】
次に、計算機システムＳの動作について説明する。なお、本実施形態では、１つのＬＵに割り当てられているイニシエータが１つのみである場合を例にとって説明する（適宜図１等参照）。
また、本実施形態および第２実施形態では、イニシエータがターゲットのターゲット名を最初から認識している場合、すなわちノーマルセッションに関する動作について説明する。
【００２７】
図９は、イニシエータプログラム１１１がターゲットプログラム２０１へiSCSI loginコマンドを送信するときのイニシエータプログラム１１１、ターゲットプログラム２０１およびディスク始動プログラム２０２の間のメッセージおよびデータのやり取りを表す図である。
【００２８】
まず、イニシエータプログラム１１１は、ターゲットプログラム２０１に対し、iSCSI loginコマンドを送信する（ステップ９０１）。
次に、ターゲットプログラム２０１は、iSCSI loginコマンドに含まれているイニシエータ名を引数としてディスク始動プログラム２０２を呼び出し（ステップ９０２）、これを受けて、ディスク始動プログラム２０２はディスク１０５を始動させる（ステップ９０２−２）。
【００２９】
また、ターゲットプログラム２０１は、イニシエータプログラム１１１に対して、iSCSI loginに対する応答を送信する（ステップ９０３）。
このようにして、イニシエータプログラム１１１からターゲットプログラム２０１へ、ディスク１０５の使用の開始が予想されるメッセージであるiSCSI loginコマンドが送信されたときに、ディスク１０５を始動させることができる。
【００３０】
図１０は、ターゲットプログラム２０１の、iSCSI loginコマンドを受信したとき（図９のステップ９０１）の動作を表す図である。この処理は、ＣＰＵ１０１がメモリ１０２に記憶されたターゲットプログラム２０１を実行することにより行われる。
まず、ターゲットプログラム２０１は、イニシエータプログラム１１１からiSCSI loginコマンドを受信すると（ステップ１００１：Ｙｅｓ）、iSCSI loginコマンドに含まれているイニシエータ名を読み出す（ステップ１００２）。さらに、ターゲットプログラム２０１は、このイニシエータ名を引数としてディスク始動プログラム２０２を呼び出す（ステップ１００３）。
【００３１】
続いて、ターゲットプログラム２０１は、iSCSI loginに対する応答を前記イニシエータプログラム１１１に送信する（ステップ１００４）。
このようにして、ターゲットプログラム２０１は、iSCSI loginコマンドを受信したときに、ディスク１０５を始動させることができる。
【００３２】
図１１は、ディスク始動プログラム２０２の動作を表す図である。この処理は、ＣＰＵ１０１がメモリ１０２に記憶されたディスク始動プログラム２０２を実行することにより行われる。
ディスク始動プログラム２０２は、引数のイニシエータ名がイニシエータ-ＬＵ対応表２０７（図６参照）にあるかどうか検索し（ステップ１１０１）、引数のイニシエータ名がなければ（Ｎｏ）、処理を終了する。
【００３３】
引数のイニシエータ名がイニシエータ-ＬＵ対応表２０７にあるならば（ステップ１１０１：Ｙｅｓ）、引数のイニシエータ名に対応するＬＵＮ（６０２）をメモリ１０２内の所定の記憶領域に記憶する（ステップ１１０２）。
続いて、ディスク始動プログラム２０２は、ステップ１１０２で記憶したＬＵＮに対応するＬＵ-ディスク対応表２０６（図５参照）内のディスク識別子（５０２）をメモリ１０２内の所定の記憶領域に記憶する（ステップ１１０３）。
【００３４】
さらに、ディスク始動プログラム２０２は、ステップ１１０３で記憶したディスク識別子で識別されるディスク１０５を始動する（ステップ１１０４）。例えば、引数であるイニシエータ名が「initiator0」であるならば、ディスク始動プログラム２０２は、ディスク識別子「０」および「１」のディスクを始動する（図５、図６参照）。
このようにして、ディスク始動プログラム２０２は、、該当するディスク１０５を始動させることができる。
【００３５】
図１２は、イニシエータプログラム１１１がターゲットプログラム２０１へiSCSI logoutコマンドを送信したときのイニシエータプログラム１１１、ターゲットプログラム２０１およびディスク停止プログラム２０３の間のメッセージおよびデータのやり取りを表す図である。
【００３６】
まず、イニシエータプログラム１１１は、ターゲットプログラム２０１に対し、iSCSI logoutコマンドを送信する（ステップ１２０１）。
次に、ターゲットプログラム２０１は、iSCSI logoutコマンドに含まれているイニシエータ名を引数としてディスク停止プログラム２０３を呼び出し（ステップ１２０２）、これを受けて、ディスク停止プログラム２０３はディスク１０５を停止させる（ステップ１２０２−２）。
【００３７】
また、ターゲットプログラム２０１は、イニシエータプログラム１１１に対して、iSCSI logoutに対する応答を送信する（ステップ１２０３）。
このようにして、イニシエータプログラム１１１からターゲットプログラム２０１へ、ディスク１０５の使用の終了が予想されるメッセージであるiSCSI logoutコマンドが送信されたときに、ディスク１０５を停止させることができる。
【００３８】
図１３は、ターゲットプログラム２０１の、iSCSI logoutコマンドを受信したとき（図１２のステップ１２０１）の動作を表す図である。この処理は、ＣＰＵ１０１がメモリ１０２に記憶されたターゲットプログラム２０１を実行することにより行われる。
まず、ターゲットプログラム２０１は、イニシエータプログラム１１１からiSCSI logoutコマンドを受信すると（ステップ１３０１：Ｙｅｓ）、iSCSI logoutコマンドに含まれているイニシエータ名を読み出す（ステップ１３０２）。
【００３９】
次に、ターゲットプログラム２０１は、このイニシエータ名を引数としてディスク停止プログラム２０３を呼び出す（ステップ１３０３）。さらに、ターゲットプログラム２０１は、iSCSI logoutに対する応答を前記イニシエータプログラム１１１に送信する（ステップ１３０４）。
このようにして、ターゲットプログラム２０１は、iSCSI logoutコマンドを受信したときに、ディスク１０５を停止させることができる。
【００４０】
図１４は、ディスク停止プログラム２０３の動作を表す図である。この処理は、ＣＰＵ１０１がメモリ１０２に記憶されたディスク停止プログラム２０３を実行することにより行われる。
ディスク停止プログラム２０３は、引数のイニシエータ名がイニシエータ-ＬＵ対応表２０７にあるかどうか検索し（ステップ１４０１）、引数のイニシエータ名がなければ（Ｎｏ）、処理を終了する。
【００４１】
引数のイニシエータ名がイニシエータ-ＬＵ対応表２０７にあるならば（ステップ１４０１：Ｙｅｓ）、引数のイニシエータ名に対応するＬＵＮ（６０２）をメモリ１０２内の所定の記憶領域に記憶する（ステップ１４０２）。
さらに、ディスク停止プログラム２０３は、ステップ１４０２で記憶したＬＵＮに対応するＬＵ-ディスク対応表２０６内のディスク識別子（５０２）をメモリ１０２内の所定の記憶領域に記憶する（ステップ１４０３）。
【００４２】
続いて、ディスク停止プログラム２０３は、引数であるイニシエータ名で識別されるイニシエータが発行した書き込みデータのうち、ディスクへの書き込みが完了していないデータをディスク１０５に書き込む（ステップ１４０４）。この書き込みが完了すると、ディスク停止プログラム２０３は、ステップ１４０３で記憶したディスク識別子で識別されるディスク１０５を停止する（ステップ１４０５）。例えば、引数であるイニシエータ名が「initiator0」であるならば、ディスク停止プログラム２０３はディスク識別子「０」および「１」のディスク１０５を停止する（図５、図６参照）。
このようにして、ホスト１１０のシャットダウン等によってイニシエータがディスクの使用を停止するのと同時に、ディスクの回転を停止させることができ、ディスクの回転に伴う消費電力を節約したり、ディスクの寿命を延長したりすることが可能となる。
【００４３】
＜第２実施形態＞
第１実施形態では、１つのＬＵに割り当てられているイニシエータは１つのみであるとした。この第２実施形態では、複数のイニシエータが１つのＬＵに割り当てられている場合について説明する。
なお、ターゲットプログラム２０１の、iSCSI loginコマンドを受信したときの動作は、第１実施形態の場合と同様である。
【００４４】
図１５は、ディスク始動プログラム２０２の動作を表す図である（適宜図１等参照）。この処理は、ＣＰＵ１０１がメモリ１０２に記憶されたディスク始動プログラム２０２を実行することにより行われる。
ディスク始動プログラム２０２は、引数のイニシエータ名がイニシエータ-ＬＵ対応表２０７にあるかどうか検索し（ステップ１５０１）、引数のイニシエータ名がなければ（Ｎｏ）、処理を終了する。
引数のイニシエータ名がイニシエータ-ＬＵ対応表２０７にあるならば（ステップ１５０１：Ｙｅｓ）、引数のイニシエータ名に対応するＬＵＮ（６０２）をメモリ１０２内の所定の記憶領域に記憶する（ステップ１５０２）。
【００４５】
さらに、ディスク始動プログラム２０２は、ステップ１５０２で記憶したＬＵＮに対応するＬＵ-ディスク対応表２０６内のディスク識別子をメモリ１０２内の所定の記憶領域に記憶する（ステップ１５０３）。また、ディスク始動プログラム２０２は、ステップ１５０２で記憶したディスク識別子で識別されるディスクの各々について、使用しているイニシエータ数が０であるか否かを判断し（ステップ１５０４）、使用しているイニシエータ数が０ならば（Ｙｅｓ）、ステップ１５０３で記憶したディスク識別子で識別されるディスクを始動する（ステップ１５０５）。
【００４６】
例えば、引数であるイニシエータ名が「initiator0」であるならば、ディスク始動プログラム２０２はディスク識別子「０」および「１」のディスクを始動する（図５、図６参照）。次に、ディスク始動プログラム２０２は、イニシエータ状態表２０８において、イニシエータ名「initiator0」の列の使用状況を「１」に書き換える（ステップ１５０６）。
【００４７】
また、引数であるイニシエータ名で識別されるイニシエータに割り当てられているディスクの各々について、使用しているイニシエータ数が１以上であるならば（ステップ１５０４：Ｎｏ）、そのディスクはすでに回転中であるので、改めて始動させる処理を行う必要はなく、ディスク始動プログラム２０２は処理を終了する。
なお、ターゲットプログラム２０１の、iSCSI logoutコマンドを受信したときの動作は、第１実施形態におけるものと同様である。
このようにして、ディスク始動プログラム２０２は、受信したiSCSI logoutコマンドに対応するディスク１０５のうち、停止しているディスク１０５のみを適切に始動させることができる。
【００４８】
図１６は、ディスク停止プログラム２０３の動作を表す図である。この処理は、ＣＰＵ１０１がメモリ１０２に記憶されたディスク停止プログラム２０３を実行することにより行われる。
ディスク停止プログラム２０３は、引数のイニシエータ名がイニシエータ-ＬＵ対応表２０７にあるかどうか検索し（ステップ１６０１）、引数のイニシエータ名がなければ（Ｎｏ）、処理を終了する。
【００４９】
引数のイニシエータ名がイニシエータ-ＬＵ対応表２０７にあるならば（ステップ１６０１：Ｙｅｓ）、引数のイニシエータ名に対応するＬＵＮ（６０２）をメモリ１０２内の所定の記憶領域に記憶する（ステップ１６０２）。
さらに、ディスク停止プログラム２０３は、ステップ１６０２で記憶したＬＵＮに対応するＬＵ-ディスク対応表２０６内のディスク識別子をメモリ１０２内の所定の記憶領域に記憶する（ステップ１６０３）。
【００５０】
続いて、ディスク停止プログラム２０３は、ＬＵ-ディスク対応表２０６とイニシエータ-ＬＵ対応表２０７を参照して、引数であるイニシエータ名で識別されるイニシエータに割り当てられているディスクの各々について、使用しているイニシエータ数が１である、すなわちイニシエータを１つ減らすと使用中のイニシエータ数が０になるならば（ステップ１６０４：Ｙｅｓ）、ディスク停止プログラム２０３は、引数であるイニシエータ名で識別されるイニシエータが発行した書き込みデータのうち、ディスクへの書き込みが完了していないデータをディスク１０５に書き込む（ステップ１６０５）。
【００５１】
この書き込みが完了すると、ディスク停止プログラム２０３は、ステップ１６０３で記憶したディスク識別子で識別されるディスク１０５を停止する（ステップ１６０６）。例えば、引数であるイニシエータ名が「initiator0」であるならば、ディスク停止プログラム２０３はディスク識別子「０」および「１」のディスクを停止する（図５、図６参照）。
【００５２】
次に、ディスク停止プログラム２０３は、イニシエータ状態表２０８において、イニシエータ名「initiator0」の列の使用状況を「０」に書き換える。なお、引数であるイニシエータ名で識別されるイニシエータに割り当てられているディスクの各々について、使用しているイニシエータ数が２以上であるならば（ステップ１６０４：Ｎｏ）、そのディスクは他のイニシエータがまだ使用中であるので停止させるべきではなく、ディスク始動プログラム２０２は処理を終了する。
このようにして、複数のイニシエータが１つのＬＵに割り当てられている場合であっても、ディスク１０５を使用するイニシエータ数が０となっている間、そのディスク１０５の回転を停止させておくことができる。
【００５３】
＜第３実施形態＞
第１実施形態および第２実施形態では、ノーマルセッションのiSCSI loginの受信を契機としてディスク１０５を始動させるものとした。本実施形態では、ディスカバリセッションのiSCSI loginの受信を契機としてディスクを始動させる場合を例にとって説明する。なお、ディスカバリセッションとは、イニシエータがターゲットのＩＰアドレスとＴＣＰポート番号からターゲット名を特定するためのセッションのことである。
【００５４】
図１７は、イニシエータプログラム１１１がターゲットプログラム２０１へ、ディスカバリセッションのiSCSI loginコマンドを送信したときのイニシエータプログラム１１１、ターゲットプログラム２０１およびディスク始動プログラム２０２の間のメッセージおよびデータのやり取りを表す図である（適宜図１等参照）。
まず、イニシエータプログラム１１１は、ターゲットプログラム２０１に対し、ディスカバリセッション用のiSCSI loginコマンドを送信する（ステップ１７０１）。
【００５５】
ターゲットプログラム２０１は、iSCSI loginコマンドに含まれているイニシエータ名を引数としてディスク始動プログラム２０２を呼び出し（ステップ１７０２）、これを受けて、ディスク始動プログラム２０２はディスク１０５を始動させる（ステップ１７０２−２）。
イニシエータプログラム１１１は、iSCSI loginに対する応答をターゲットプログラム２０１から受信すると（ステップ１７０３）、Text RequestコマンドによってターゲットのＩＰアドレスとＴＣＰポート番号をターゲットプログラム２０１に送信して、ターゲット名を問い合わせる（ステップ１７０４）。
【００５６】
ターゲットプログラム２０１は、これを受信すると（ステップ１７０４）、ターゲット−ポータル対応表２０４（図３参照）を参照してターゲット名を特定し、Text Responseコマンドによってターゲット名をイニシエータプログラム１１１に通知する（ステップ１７０５）。
その後、イニシエータプログラム１１１はiSCSI logoutコマンドをターゲットプログラム２０１に送信し（ステップ１７０６）、ターゲットプログラム２０１からiSCSI logoutに対する応答を受け取り（ステップ１７０７）、ディスカバリセッションが終了する。
【００５７】
なお、ターゲットプログラム２０１の、iSCSI loginコマンドを受信したときの動作は、iSCSI loginがディスカバリセッション用であることを除いては、第１実施形態におけるものと同様である。
また、ディスク始動プログラム２０２のステップ１７０２−２における動作は、１つのＬＵに割り当てられているイニシエータが１つのみである場合は第１実施形態の場合と同様であり、複数のイニシエータが１つのＬＵに割り当てられている場合は第２実施形態の場合と同様である。
【００５８】
本実施形態では、ターゲットプログラム２０１はディスカバリセッションのiSCSI loginコマンド受信を契機としてディスク始動プログラム２０２を呼び出すものとしたが、その代わりにText RequestコマンドあるいはディスカバリセッションのiSCSI logoutコマンド受信を契機としてディスク始動プログラム２０２を呼び出すようにしてもよい。
なお、ターゲットプログラム２０１がiSCSI logoutコマンドを受信した場合の動作は、第１実施形態あるいは第２実施形態の場合と同様である。
このようにして、ターゲットプログラム２０１は、ディスカバリセッションにおいても、ディスク１０５を適切に始動することができる。
【００５９】
＜第４実施形態＞
前記した各実施形態では、iSCSI loginの受信を契機としてディスクを始動あるいは停止させるものとした。この第４実施形態では、iSNSメッセージの受信を契機としてディスクの始動、停止をさせる（適宜図１等参照）。
図１８は、イニシエータプログラム１１１がiSNSサーバ１３０へ属性登録を行ったときのイニシエータプログラム１１１、iSNSサーバ１３０、ターゲットプログラム２０１およびディスク始動プログラム２０２の間のメッセージおよびデータのやり取りを表す図である。
【００６０】
まず、イニシエータプログラム１１１は、iSNSサーバ１３０に対して属性登録を行う（ステップ１８０１）。属性登録とは、たとえば、追加するイニシエータに関してイニシエータ名とＩＰアドレスを登録することである。
これを受け、iSNSサーバ１３０は、イニシエータプログラム１１１に応答を返し（ステップ１８０２）、データベース１３１の内容を更新する（ステップ１８０３）。次に、iSNSサーバ１３０は、ターゲットプログラム２０１に対してＳＣＮ（Specification Change Notice）によりイニシエータの追加を通知する（ステップ１８０４）。
【００６１】
ターゲットプログラム２０１は、イニシエータ名を引数としてディスク始動プログラム２０２を呼び出し（ステップ１８０５）、これを受けて、ディスク始動プログラム２０２はディスク１０５を始動させる（ステップ１８０６）。
このようにして、ターゲットプログラム２０１は、イニシエータの追加を通知するＳＣＮ（メッセージ）の受信を契機として、ディスク１０５を始動することができる。
【００６２】
図１９は、ターゲットプログラム２０１の、iSNSサーバ１３０からイニシエータの追加を通知するＳＣＮを受信したとき（図１８のステップ１８０４）の動作を表す図である。この処理は、ＣＰＵ１０１がメモリ１０２に記憶されたターゲットプログラム２０１を実行することにより行われる。
まず、ターゲットプログラム２０１は、イニシエータの追加を通知するＳＣＮを受信したか否かを判断し（ステップ１９０１）、ＳＣＮを受信すると（Ｙｅｓ）、ＳＣＮに含まれているイニシエータ名を読み出す（ステップ１９０２）。さらに、ターゲットプログラム２０１は、このイニシエータ名を引数としてディスク始動プログラム２０２を呼び出す（ステップ１９０３）。
【００６３】
ディスク始動プログラム２０２の動作は、１つのＬＵに割り当てられているイニシエータが１つのみである場合は第１実施形態の場合と同様であり、複数のイニシエータが１つのＬＵに割り当てられている場合は第２実施形態の場合と同様である。
このようにして、ターゲットプログラム２０１は、イニシエータの追加を通知するＳＣＮを受信したときに、該当するディスク１０５を始動させることができる。
【００６４】
図２０は、iSNSサーバ１３０がデータベース１３１の更新によりイニシエータの削除を行ったときのイニシエータプログラム１１１、iSNSサーバ１３０、ターゲットプログラム２０１およびディスク停止プログラム２０３の間のメッセージおよびデータのやり取りを表す図である。
まず、iSNSサーバ１３０は、イニシエータプログラム１１１からの要求（属性登録など）、あるいは、データベース１３１に記憶されているイニシエータの有効期限の経過などを契機に、データベース１３１の内容を更新、つまり、イニシエータを削除する（ステップ２００１）。
【００６５】
次に、iSNSサーバ１３０は、ターゲットプログラム２０１に対してＳＣＮによりイニシエータの削除を通知する（ステップ２００２）。
続いて、ターゲットプログラム２０１は、イニシエータ名を引数としてディスク停止プログラム２０３を呼び出し（ステップ２００３）、これを受けて、ディスク停止プログラム２０３はディスク１０５を停止させる（ステップ２００４）。
このようにして、ターゲットプログラム２０１は、イニシエータの削除を通知するＳＣＮ（メッセージ）の受信を契機として、ディスク１０５を停止することができる。
【００６６】
図２１は、ターゲットプログラム２０１の、iSNSサーバ１３０からイニシエータの削除を通知するＳＣＮを受信したとき（図２０のステップ２００２）の動作を表す図である。この処理は、ＣＰＵ１０１がメモリ１０２に記憶されたターゲットプログラム２０１を実行することにより行われる。
【００６７】
ターゲットプログラム２０１は、イニシエータの削除を通知するＳＣＮを受信したか否かを判断し（ステップ２１０１）、ＳＣＮを受信すると（Ｙｅｓ）、ＳＣＮに含まれているイニシエータ名を読み出す（ステップ２１０２）。また、ターゲットプログラム２０１は、このイニシエータ名を引数としてディスク停止プログラム２０３を呼び出す（ステップ２１０３）。
【００６８】
ディスク停止プログラム２０３の動作は、１つのＬＵに割り当てられているイニシエータが１つのみである場合は第１実施形態の場合と同様であり、複数のイニシエータが１つのＬＵに割り当てられている場合は第２実施形態の場合と同様である。
このようにして、ターゲットプログラム２０１は、イニシエータの削除を通知するＳＣＮを受信したときに、該当するディスク１０５を停止させることができる。
【００６９】
＜第５実施形態＞
第５実施形態では、ストレージ装置１００がイニシエータの情報についてiSNSサーバ１３０に問い合わせ、その結果に基づいてディスクの始動、停止させる例について説明する（適宜図１等参照）。
図２２は、ターゲットプログラム２０１がiSNSサーバ１３０へイニシエータに関する情報の問い合わせをし、iSNSサーバ１３０においてイニシエータの追加がなされたときの、iSNSサーバ１３０、ターゲットプログラム２０１およびディスク始動プログラム２０２の間のメッセージおよびデータのやり取りを表す図である。
【００７０】
ターゲットプログラム２０１は、定期的にiSNSサーバ１３０に対して問い合わせを行い（ステップ２２０１）、iSNSサーバ１３０はターゲットプログラム２０１にその応答を返す（ステップ２２０２）。
ここで、あるタイミングにおいて、iSNSサーバ１３０が、イニシエータプログラム１１１からの属性登録などを契機に、データベース１３１の内容を更新（イニシエータの追加）したとする（ステップ２２０３）。
【００７１】
ターゲットプログラム２０１は、iSNSサーバ１３０に対して問い合わせを行い（ステップ２２０４）、iSNSサーバ１３０はターゲットプログラム２０１に、イニシエータ追加の旨の応答を返す（ステップ２２０５）。
これを受けて、ターゲットプログラム２０１は、イニシエータ名を引数としてディスク始動プログラム２０２を呼び出し（ステップ２２０６）、ディスク始動プログラム２０２はディスク１０５を始動させる（ステップ２２０７）。
このようにして、ターゲットプログラム２０１は、イニシエータの追加を通知する応答（メッセージ）を契機に、ディスク１０５を始動することができる。
【００７２】
図２３は、ターゲットプログラム２０１の、iSNSサーバ１３０に対して問い合わせを行い、イニシエータの追加を受信したとき（図２２のステップ２２０５）の動作を表す図である。この処理は、ＣＰＵ１０１がメモリ１０２に記憶されたターゲットプログラム２０１を実行することにより行われる。
まず、ターゲットプログラム２０１は、iSNSサーバ１３０からイニシエータの追加を通知する応答を受信したか否かを判断し（ステップ２３０１）、その応答を受信すると（Ｙｅｓ）、応答に含まれているイニシエータ名を読み出す（ステップ２３０２）。さらに、ターゲットプログラム２０１は、このイニシエータ名を引数としてディスク始動プログラム２０２を呼び出す（ステップ２３０３）。
【００７３】
ディスク始動プログラム２０２の動作は、１つのＬＵに割り当てられているイニシエータが１つのみである場合は第１実施形態の場合と同様であり、複数のイニシエータが１つのＬＵに割り当てられている場合は第２実施形態の場合と同様である。
このようにして、ターゲットプログラム２０１は、該当するディスク１０５を始動することができる。
【００７４】
図２４は、ターゲットプログラム２０１の、iSNSサーバ１３０にイニシエータに関する情報の問い合わせ行い、iSNSサーバ１３０においてイニシエータの削除がなされたときのiSNSサーバ１３０、ターゲットプログラム２０１およびディスク停止プログラム２０３の間のメッセージおよびデータのやり取りを表す図である。
【００７５】
ターゲットプログラム２０１は、定期的にiSNSサーバ１３０に対して問い合わせを行い（ステップ２４０１）、iSNSサーバ１３０はターゲットプログラム２０１にその応答を返す（ステップ２４０２）。
ここで、あるタイミングにおいて、iSNSサーバ１３０が、イニシエータプログラム１１１からの属性登録、あるいは、イニシエータの有効期限の経過などを契機に、データベース１３１の内容を更新（イニシエータの削除）したとする（ステップ２４０３）。
【００７６】
ターゲットプログラム２０１は、iSNSサーバ１３０に対して問い合わせを行い（ステップ２４０４）、iSNSサーバ１３０はターゲットプログラム２０１に、イニシエータ削除の旨の応答を返す（ステップ２４０５）。
これを受けて、ターゲットプログラム２０１は、イニシエータ名を引数としてディスク停止プログラム２０３を呼び出し（ステップ２４０６）、ディスク停止プログラム２０３はディスク１０５を停止させる（ステップ２４０７）。
このようにして、ターゲットプログラム２０１は、イニシエータの削除を通知する応答（メッセージ）を契機に、ディスク１０５を停止することができる。
【００７７】
図２５は、ターゲットプログラム２０１の、iSNSサーバ１３０に対して問い合わせを行い、イニシエータの削除を受信したとき（図２４のステップ２４０５）の動作を表す図である。この処理は、ＣＰＵ１０１がメモリ１０２に記憶されたターゲットプログラム２０１を実行することにより行われる。
【００７８】
まず、ターゲットプログラム２０１は、iSNSサーバ１３０からイニシエータの削除を通知する応答を受信したか否かを判断し（ステップ２５０１）、応答を受信すると（Ｙｅｓ）、応答に含まれているイニシエータ名を読み出す（ステップ２５０２）。さらに、ターゲットプログラム２０１は、このイニシエータ名を引数としてディスク停止プログラム２０３を呼び出す（ステップ２５０３）。
【００７９】
ディスク停止プログラム２０３の動作は、１つのＬＵに割り当てられているイニシエータが１つのみである場合は第１実施形態の場合と同様であり、複数のイニシエータが１つのＬＵに割り当てられている場合は第２実施形態の場合と同様である。
このようにして、ターゲットプログラム２０１は、該当するディスク１０５を停止することができる。
【００８０】
＜第６実施形態＞
第６実施形態では、ストレージ装置１００は、前記した第１実施形態〜第５実施形態において述べたディスク始動の契機となるイベントのうちいずれかのイベントが発生したことを契機としてディスク１０５を始動するものとする。また、ストレージ装置１００は、前記した各実施形態において述べたディスク停止の契機となるイベントのうちいずれかのイベントが発生したことを契機としてディスク１０５を停止するものとする。
【００８１】
図２６は、ターゲットプログラム２０１の、ディスク始動の契機となるイベントを受信したときの動作を表す図である。この処理は、ＣＰＵ１０１がメモリ１０２に記憶されたターゲットプログラム２０１を実行することにより行われる。
ターゲットプログラム２０１は、ディスク始動の契機となるイベントを通知するいずれかのメッセージとして、イニシエータプログラム１１１からiSCSI loginコマンドを受信する（ステップ２６０１：Ｙｅｓ）、iSNSサーバ１３０からイニシエータの追加を通知するＳＣＮを受信する（ステップ２６０２：Ｙｅｓ）、あるいは、iSNSサーバ１３０からイニシエータの追加を通知する応答を受信する（ステップ２６０３：Ｙｅｓ）と、メッセージに含まれているイニシエータ名を読み出す（ステップ２６０４）。さらに、ターゲットプログラム２０１は、このイニシエータ名を引数としてディスク始動プログラム２０２を呼び出す（ステップ２６０５）。
【００８２】
ディスク始動プログラム２０２の動作は、１つのＬＵに割り当てられているイニシエータが１つのみである場合は第１実施形態の場合と同様であり、複数のイニシエータが１つのＬＵに割り当てられている場合は第２実施形態の場合と同様である。
このようにして、ターゲットプログラム２０１は、ディスク１０５の始動の契機となるいずれかのイベントに基づいて、ディスク１０５を始動することができる。
また、ディスク１０５の停止に関しても同様の処理を行うことができる。
【００８３】
＜第７実施形態＞
前記した各実施形態では、ホスト１１０のユーザがホスト１１０の電源投入を行う際にディスク１０５の使用が開始され、電源切断を行う際にディスクの使用が終了し、これらに伴うイベントを契機としてディスクの回転の始動あるいは停止を行うものとしたが、イニシエータと同様の役割を果たすものとして、常時通電されているウィルスチェックサーバ１４０等において、自動的にディスクの使用と終了を行うために計算機上で動作しているソフトウエアなどを使用してもよい。
【００８４】
＜第８実施形態＞
本実施形態は、ディスカバリセッションにおいて、イニシエータが使用しようとするディスク１０５の始動が開始しただけではなく、そのディスク１０５が使用可能状態となった後、ターゲット名をイニシエータへ通知するものである（適宜図１等参照）。
図２７は、イニシエータプログラム１１１がターゲットプログラム２０１へディスカバリセッションのiSCSI loginコマンドを送信したときの、イニシエータプログラム１１１、ターゲットプログラム２０１およびディスク始動プログラム２０２の間のメッセージおよびデータのやり取りを表す図である。
【００８５】
イニシエータプログラム１１１は、ターゲットプログラム２０１に対し、ディスカバリセッション用のiSCSI loginコマンドを送信する（ステップ２７０１）。
ターゲットプログラム２０１は、ディスカバリセッションのiSCSI loginコマンドを受信すると、ディスク始動プログラム２０２を起動する。このとき、ターゲットプログラム２０１は、iSCSI loginコマンドに含まれているイニシエータ名を読み出し、このイニシエータ名を引数としてディスク始動プログラム２０２を呼び出す（ステップ２７０２）。
【００８６】
続いて、ターゲットプログラム２０１は、イニシエータプログラム１１１に対してiSCSI loginに対する応答を送信する（ステップ２７０３）。
イニシエータプログラム１１１は、これを受信すると、Text Requestコマンドをターゲットプログラム２０１に送信してターゲット名を問い合わせる（ステップ２７０４）。
一方、ディスク始動プログラム２０２は、ディスク１０５を始動した後（ステップ２７０８）、ディスク１０５が準備完了（使用可能状態）になると（ステップ２７０９：Ｙｅｓ）、ターゲットプログラム２０１に対して応答する（ステップ２７１０）。
【００８７】
ターゲットプログラム２０１は、ステップ２７０４の後、ディスク始動プログラム２０２からの応答を受信すると（ステップ２７１０）、Text Responseをイニシエータプログラム１１１に返す（ステップ２７０５）。
その後、イニシエータプログラム１１１は、iSCSI logoutコマンドをターゲットプログラム２０１に送信し（ステップ２７０６）、ターゲットプログラム２０１からiSCSI logoutに対する応答を受け取り（ステップ２７０７）、ディスカバリセッションが終了する。
【００８８】
ディスク始動プログラム２０２の動作は、１つのＬＵに割り当てられているイニシエータが１つのみである場合は第１実施形態の場合と同様であり、複数のイニシエータが１つのＬＵに割り当てられている場合は第２実施形態の場合と同様である。
本実施形態によって、ディスク１０５が使用可能状態となる前に、イニシエータが読み込み要求を発行することを回避することができる。
【００８９】
このように、各実施形態の計算機システムＳのストレージ装置１００によれば、iSCSI login（ノーマルセッション、ディスカバリセッションのいずれか）、iSNSサーバ１３０からのイニシエータの追加の通知などのイベントを契機として、ホスト１１０からのディスク１０５へのアクセスの開始を予測し、ディスク１０５を適切に始動することができる。また、iSCSI logout、iSNSサーバ１３０からのイニシエータの削除の通知などのイベントを契機として、ホスト１１０からのディスク１０５へのアクセスの終了を予測し、ディスク１０５を適切に停止することができる。これにより、ディスク１０５の消費電力を抑制し、また、機械的負担を軽減することでディスク１０５の長寿命化を図ることもできる。
【００９０】
また、ディスクレスＰＣや、ディスクをスキャンするウィルスチェックサーバ等のサーバがストレージ装置１００へアクセスする場合も同様にして、ディスク１０５への開始／終了を予測し、ディスク１０５の始動／停止を行うことができるため、消費電力を抑制し、ディスク１０５の長寿命化を図ることができる。。
【００９１】
以上で実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。
たとえば、本発明は、検索エンジンなどのディスクスキャン時にも同様にして適用することができる。その他、ハードウェアやフローチャートなどの具体的な構成について、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【図面の簡単な説明】
【００９２】
【図１】第１実施形態に係る計算機システムの概略図である。
【図２】ストレージ装置のメモリに記憶されるプログラムおよびデータを示す図である。
【図３】ターゲット-ポータル対応表の例を示す図である。
【図４】ターゲット-ＬＵ対応表の例を示す図である。
【図５】ＬＵ-ディスク対応表の例を示す図である。
【図６】イニシエータ-ＬＵ対応表の例を示す図である。
【図７】イニシエータ状態表の例を示す図である。
【図８】ポータル、ターゲット、ＬＵおよびディスクの関係を示す模式図である。
【図９】iSCSI login時のシーケンスを示す図である。
【図１０】iSCSI loginコマンド受信時のターゲットプログラムの動作を示す図である。
【図１１】ディスク始動プログラムの動作を示す図である。
【図１２】iSCSI logout時のシーケンスを示す図である。
【図１３】iSCSI logoutコマンド受信時のターゲットプログラムの動作を示す図である。
【図１４】ディスク停止プログラムの動作を示す図である。
【図１５】ディスク始動プログラムの動作を示す図である。
【図１６】ディスク停止プログラムの動作を示す図である。
【図１７】ディスカバリセッションのシーケンスを示す図である。
【図１８】イニシエータ追加を通知するＳＣＮを受信した時のシーケンスを示す図である。
【図１９】イニシエータ追加を通知するＳＣＮを受信した時のターゲットプログラムの動作を示す図である。
【図２０】イニシエータ削除を通知するＳＣＮを受信した時のシーケンスを示す図である。
【図２１】イニシエータ削除を通知するＳＣＮを受信した時のターゲットプログラムの動作を示す図である。
【図２２】iSNSデータベース更新時のシーケンスを示す図である。
【図２３】イニシエータ追加を通知する応答を受信した時のターゲットプログラムの動作を示す図である。
【図２４】iSNSデータベース更新時のシーケンスを示す図である。
【図２５】イニシエータ削除を通知する応答を受信した時のターゲットプログラムの動作を示す図である。
【図２６】イニシエータ追加を通知するメッセージを受信した時のターゲットプログラムの動作を示す図である。
【図２７】ディスカバリセッションのシーケンスを示す図である。
【図１】
2007079749.tif 000003
【図２】
2007079749.tif 000004
【図３】
2007079749.tif 000005
【図４】
2007079749.tif 000006
【図５】
2007079749.tif 000007
【図６】
2007079749.tif 000008
【図７】
2007079749.tif 000009
【図８】
2007079749.tif 000010
【図９】
2007079749.tif 000011
【図１０】
2007079749.tif 000012
【図１１】
2007079749.tif 000013
【図１２】
2007079749.tif 000014
【図１３】
2007079749.tif 000015
【図１４】
2007079749.tif 000016
【図１５】
2007079749.tif 000017
【図１６】
2007079749.tif 000018
【図１７】
2007079749.tif 000019
【図１８】
2007079749.tif 000020
【図１９】
2007079749.tif 000021
【図２０】
2007079749.tif 000022
【図２１】
2007079749.tif 000023
【図２２】
2007079749.tif 000024
【図２３】
2007079749.tif 000025
【図２４】
2007079749.tif 000026
【図２５】
2007079749.tif 000027
【図２６】
2007079749.tif 000028
【図２７】
2007079749.tif 000029