(57)【要約】      （修正有）【課題】ファイルアクセス処理部とチャンネル制御部とデイスク制御部を含む記憶デバイス制御部において、データの複製を第二の論理ボリュームにも書き込む処理を行う。【解決手段】情報処理装置からファイル単位でのデータ入出力要求を受信するファイルアクセス処理部と、記憶デバイスに対するデータ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて記憶デバイスに対するデータ入出力を実行するディスク制御部とを含んで構成される記憶デバイス制御装置において、ディスク制御部が第一の論理ボリュームにデータが書き込まれた場合にそのデータの複製を第二の論理ボリュームにも記憶するために前記データを第二の論理ボリュームにも書き込む複製管理処理を実行するようにする。【選択図】      図１
2004227099.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、
前記Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて前記記憶デバイスに対するデータ入出力を実行するディスク制御部と、
を含んで構成され、
前記記憶デバイスにより提供される記憶領域をその記憶領域に論理的に設定される記憶領域である論理ボリュームを単位として管理する記憶デバイス制御装置の制御方法であって、
前記ディスク制御部が、第一の論理ボリュームにデータが書き込まれた場合にそのデータの複製を第二の論理ボリュームにも記憶するために前記データを第二の論理ボリュームにも書き込む複製管理処理を実行するステップ
を備えることを特徴とする記憶デバイス制御装置の制御方法。
【請求項２】
情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、
前記Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて前記記憶デバイスに対するデータ入出力を実行するディスク制御部と、
を含んで構成され、
前記記憶デバイスにより提供される記憶領域をその記憶領域に論理的に設定される記憶領域である論理ボリュームを単位として管理する記憶デバイス制御装置の制御方法であって、
前記ディスク制御部が、第一の論理ボリュームにデータが書き込まれた場合にそのデータの複製を第二の論理ボリュームにも記憶するために前記データを第二の論理ボリュームにも書き込む複製管理処理を実行するステップと、
前記チャネル制御部が、前記情報処理装置から送信される、前記複製の対象とするデータをファイル単位またはディレクトリ単位で指定する情報を受信するステップと、
前記チャネル制御部が、前記情報を受信してこれに指定されるファイルやディレクトリに対応するデータを特定し、そのデータが前記第一の論理ボリュームに記憶されるように制御するステップと、
を備えることを特徴とする記憶デバイス制御装置の制御方法。
【請求項３】
情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、
前記Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて前記記憶デバイスに対するデータ入出力を実行するディスク制御部と、
を含んで構成され、
前記記憶デバイスにより提供される記憶領域をその記憶領域に論理的に設定される記憶領域である論理ボリュームを単位として管理する記憶デバイス制御装置の制御方法であって、
前記ディスク制御部が、第一の論理ボリュームにデータが書き込まれた場合にそのデータの複製を第二の論理ボリュームにも記憶するために前記データを第二の論理ボリュームにも書き込む複製管理処理を実行するステップと、
前記チャネル制御部が、前記情報処理装置から送信される、前記複製の対象とするデータをファイル単位またはディレクトリ単位で指定する第一の情報を受信するステップと、
前記チャネル制御部が、前記第一の情報を受信してこれに指定されるファイルやディレクトリに対応するデータを特定し、そのデータが前記第一の論理ボリュームに記憶されるように制御するステップと、
前記チャネル制御部が、前記情報処理装置から送信される、前記複製管理処理の停止を指示する第二の情報を受信するステップと、
前記チャネル制御部が、前記第二の情報を受信した場合にその旨を前記ディスク制御部に通知するステップと、
前記ディスク制御部が、前記通知を受信した場合に前記複製管理処理を停止するステップと、
前記チャネル制御部が、前記第二の情報を受信した場合に、前記第一の情報に指定されるファイルやディレクトリに対応するデータについての前記記憶デバイスへの書き込みにより複数の前記第一の論理ボリュームへの書き込みが生じる場合には、前記複製管理処理が停止するのを待ってから前記第一の論理ボリュームへの書き込みを開始するステップと、
を備えることを特徴とする記憶デバイス制御装置の制御方法。
【請求項４】
情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、
前記Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて前記記憶デバイスに対するデータ入出力を実行するディスク制御部と、
を含んで構成され、
前記記憶デバイスにより提供される記憶領域をその記憶領域に論理的に設定される記憶領域である論理ボリュームを単位として管理する記憶デバイス制御装置の制御方法であって、
前記ディスク制御部が、第一の論理ボリュームにデータが書き込まれた場合にそのデータの複製を他の記憶デバイス制御装置により提供される第二の論理ボリュームにおいても記憶するために前記データを前記他の記憶デバイス制御装置に送信する処理を実行するステップと、
を備えることを特徴とする記憶デバイス制御装置の制御方法。
【請求項５】
情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、
前記Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて前記記憶デバイスに対するデータ入出力を実行するディスク制御部と、
を含んで構成され、
前記記憶デバイスにより提供される記憶領域をその記憶領域に論理的に設定される記憶領域である論理ボリュームを単位として管理する記憶デバイス制御装置の制御方法であって、
前記ディスク制御部が、第一の論理ボリュームにデータが書き込まれた場合にそのデータの複製を他の記憶デバイス制御装置により提供される第二の論理ボリュームにおいても記憶するために前記データを前記他の記憶デバイス制御装置に送信する処理を実行するステップと、
前記チャネル制御部が、前記情報処理装置から送信される、前記複製の対象となるデータをファイル単位またはディレクトリ単位で指定する情報を受信するステップと、
前記チャネル制御部が、前記情報を受信してこれに指定されるファイルやディレクトリに対応するデータを特定し、そのデータが前記第一の論理ボリュームに記憶されるように制御するステップと、
を備えることを特徴とする記憶デバイス制御装置の制御方法。
【請求項６】
情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、
前記Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて前記記憶デバイスに対するデータ入出力を実行するディスク制御部と、
を含んで構成され、
前記記憶デバイスにより提供される記憶領域をその記憶領域に論理的に設定される記憶領域である論理ボリュームを単位として管理する記憶デバイス制御装置であって、
前記ディスク制御部が、第一の論理ボリュームにデータが書き込まれた場合にそのデータの複製を第二の論理ボリュームにも記憶するために前記データを第二の論理ボリュームにも書き込む複製管理処理を実行する手段
を備えることを特徴とする記憶デバイス制御装置。
【請求項７】
情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、
前記Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて前記記憶デバイスに対するデータ入出力を実行するディスク制御部と、
を含んで構成され、
前記記憶デバイスにより提供される記憶領域をその記憶領域に論理的に設定される記憶領域である論理ボリュームを単位として管理する記憶デバイス制御装置であって、
前記ディスク制御部が、第一の論理ボリュームにデータが書き込まれた場合にそのデータの複製を第二の論理ボリュームにも記憶するために前記データを第二の論理ボリュームにも書き込む複製管理処理を実行する手段と、
前記チャネル制御部が、前記情報処理装置から送信される、前記複製の対象とするデータをファイル単位またはディレクトリ単位で指定する情報を受信する手段と、
前記チャネル制御部が、前記情報を受信してこれに指定されるファイルやディレクトリに対応するデータを特定し、そのデータが前記第一の論理ボリュームに記憶されるように制御する手段と、
を備えることを特徴とする記憶デバイス制御装置。
【請求項８】
情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、
前記Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて前記記憶デバイスに対するデータ入出力を実行するディスク制御部と、
を含んで構成され、
前記記憶デバイスにより提供される記憶領域をその記憶領域に論理的に設定される記憶領域である論理ボリュームを単位として管理する記憶デバイス制御装置であって、
前記ディスク制御部が、第一の論理ボリュームにデータが書き込まれた場合にそのデータの複製を第二の論理ボリュームにも記憶するために前記データを第二の論理ボリュームにも書き込む複製管理処理を実行する手段と、前記情報処理装置から送信される、前記複製の対象とするデータをファイル単位またはディレクトリ単位で指定する第一の情報を受信する手段と、前記第一の情報を受信してこれに指定されるファイルやディレクトリに対応するデータを特定し、そのデータが前記第一の論理ボリュームに記憶されるように制御する手段と、前記情報処理装置から送信される、前記複製管理処理の停止を指示する第二の情報を受信する手段と、前記第二の情報を受信した場合にその旨を前記ディスク制御部に通知する手段とを備え、
前記ディスク制御部が、前記通知を受信した場合に前記複製管理処理を停止する手段を備え、
前記チャネル制御部が、前記第二の情報を受信した場合に、前記第一の情報に指定されるファイルやディレクトリに対応するデータについての前記記憶デバイスへの書き込みにより複数の前記第一の論理ボリュームへの書き込みが生じる場合には、前記複製管理処理が停止するのを待ってから前記第一の論理ボリュームへの書き込みを開始する手段
を備えることを特徴とする記憶デバイス制御装置。
【請求項９】
情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、
前記Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて前記記憶デバイスに対するデータ入出力を実行するディスク制御部と、
を含んで構成され、
前記記憶デバイスにより提供される記憶領域をその記憶領域に論理的に設定される記憶領域である論理ボリュームを単位として管理する記憶デバイス制御装置であって、
前記ディスク制御部が、第一の論理ボリュームにデータが書き込まれた場合にそのデータの複製を他の記憶デバイス制御装置により提供される第二の論理ボリュームにおいても記憶するために前記データを前記他の記憶デバイス制御装置に送信する処理を実行する手段
を備えることを特徴とする記憶デバイス制御装置。
【請求項１０】
情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、
前記Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて前記記憶デバイスに対するデータ入出力を実行するディスク制御部と、
を含んで構成され、
前記記憶デバイスにより提供される記憶領域をその記憶領域に論理的に設定される記憶領域である論理ボリュームを単位として管理する記憶デバイス制御装置であって、
前記ディスク制御部が、第一の論理ボリュームにデータが書き込まれた場合にそのデータの複製を他の記憶デバイス制御装置により提供される第二の論理ボリュームにおいても記憶するために前記データを前記他の記憶デバイス制御装置に送信する処理を実行する手段と、
前記チャネル制御部が、前記情報処理装置から送信される、前記複製の対象となるデータをファイル単位またはディレクトリ単位で指定する情報を受信する手段と、前記情報を受信してこれに指定されるファイルやディレクトリに対応するデータを特定し、そのデータが前記第一の論理ボリュームに記憶されるように制御する手段と
を備えることを特徴とする記憶デバイス制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記憶デバイス制御装置の制御方法、及び記憶デバイス制御装置に関する。
【０００２】
【従来の技術】
近年コンピュータシステムで取り扱われるデータ量が急激に増加している。このようなデータを管理するためのストレージシステムとして、最近ではミッドレンジクラスやエンタープライズクラスと呼ばれるような、巨大な記憶資源を提供するＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）方式で管理された大規模なストレージシステムが注目されている。また、かかる膨大なデータを効率よく利用し管理するために、ディスクアレイ装置等のストレージシステムと情報処理装置とを専用のネットワーク（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、以下ＳＡＮと記す）で接続し、ストレージシステムへの高速かつ大量なアクセスを実現する技術が開発されている。
一方、ストレージシステムと情報処理装置とをＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）プロトコル等を用いたネットワークで相互に接続し、情報処理装置からのファイルレベルでのアクセスを実現するＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）と呼ばれるストレージシステムが開発されている。
【０００３】
【特許文献１】
特開２００２−３５１７０３号公報
【０００４】
【発明が解決しようとする課題】
しかしながら従来のＮＡＳは、ＴＣＰ／ＩＰ通信機能及びファイルシステム機能を持たない記憶装置に、ＴＣＰ／ＩＰ通信機能及びファイルシステム機能を持った情報処理装置を付加することにより実現されていた。そのため、上記付加される情報処理装置の設置スペースが必要であった。また上記情報処理装置と記憶装置との間は、高速に通信を行う必要性からＳＡＮで接続されていることが多く、そのための通信制御機器や通信制御機能を備える必要もあった。
本発明は上記課題を鑑みてなされたものであり、記憶デバイス制御装置の制御方法、及び記憶デバイス制御装置を提供することを主たる目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成するための本発明の主たる発明は、
情報処理装置から送信されるファイル単位でのデータ入出力要求をネットワークを通じて受信するファイルアクセス処理部と、記憶デバイスに対する前記データ入出力要求に対応するＩ／Ｏ要求を出力するＩ／Ｏプロセッサとが形成された回路基板を有する複数のチャネル制御部と、
前記Ｉ／Ｏプロセッサから送信される前記Ｉ／Ｏ要求に応じて前記記憶デバイスに対するデータ入出力を実行するディスク制御部と、
を含んで構成され、
前記記憶デバイスにより提供される記憶領域をその記憶領域に論理的に設定される記憶領域である論理ボリュームを単位として管理する記憶デバイス制御装置の制御方法であって、
前記ディスク制御部が、第一の論理ボリュームにデータが書き込まれた場合にそのデータの複製を第二の論理ボリュームにも記憶するために前記データを第二の論理ボリュームにも書き込む複製管理処理を実行するステップ
を備えることとする。
【０００６】
なお、前記情報処理装置とは、前記構成の前記記憶デバイス制御装置を備えて構成されるストレージシステムにＬＡＮやＳＡＮを介してアクセスする、例えば、パーソナルコンピュータやメインフレームコンピュータである。ファイルアクセス処理部の機能はＣＰＵ上で実行されるオペレーティングシステムおよびこのオペレーティングシステム上で動作する例えばＮＦＳ（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）等のソフトウェアによって提供される。記憶デバイスは例えばハードディスク装置などのディスクドライブである。Ｉ／Ｏプロセッサは例えばファイルアクセス処理部のハードウェア要素である前記ＣＰＵとは独立したＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）をハードウェア要素とし、ファイルアクセス処理部とディスク制御部との間の通信を制御する。ディスク制御部は、記憶デバイスに対してデータの書き込みや読み出しを行う。
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。
【０００７】
【発明の実施の形態】
＝＝＝全体構成例＝＝＝
ストレージシステム６００は、記憶デバイス制御装置１００と記憶デバイス３００とを備えている。記憶デバイス制御装置１００は、情報処理装置２００から受信したコマンドに従って記憶デバイス３００に対する制御を行う。例えば情報処理装置２００からデータの入出力要求を受信して、記憶デバイス３００に記憶されているデータの入出力のための処理を行う。データは、記憶デバイス３００が備えるディスクドライブにより提供される物理的な記憶領域上に論理的に設定される記憶領域である論理ボリューム（Ｌｏｇｉｃａｌ  Ｕｎｉｔ）（以下、ＬＵと記す）に記憶されている。また記憶デバイス制御装置１００は、情報処理装置２００との間で、ストレージシステム６００を管理するための各種コマンドの授受も行う。
【０００８】
情報処理装置２００はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やメモリを備えたコンピュータである。情報処理装置２００が備えるＣＰＵにより各種プログラムが実行されることにより様々な機能が実現される。情報処理装置２００は、例えばパーソナルコンピュータやワークステーションであることもあるし、メインフレームコンピュータであることもある。
【０００９】
図１において、情報処理装置１乃至３（２００）は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）４００を介して記憶デバイス制御装置１００と接続されている。ＬＡＮ４００は、インターネットとすることもできるし、専用のネットワークとすることもできる。ＬＡＮ４００を介して行われる情報処理装置１乃至３（２００）と記憶デバイス制御装置１００との間の通信は、例えばＴＣＰ／ＩＰプロトコルに従って行われる。情報処理装置１乃至３（２００）からは、ストレージシステム６００に対して、ファイル名指定によるデータアクセス要求（ファイル単位でのデータ入出力要求。以下、ファイルアクセス要求と記す）が送信される。
【００１０】
ＬＡＮ４００にはバックアップデバイス９１０が接続されている。バックアップデバイス９１０は具体的にはＭＯやＣＤ−Ｒ、ＤＶＤ−ＲＡＭなどのディスク系デバイス、ＤＡＴテープ、カセットテープ、オープンテープ、カートリッジテープなどのテープ系デバイスである。バックアップデバイス９１０は、ＬＡＮ４００を介して記憶デバイス制御装置１００との間で通信を行うことにより、記憶デバイス３００に記憶されているデータのバックアップデータを記憶する。またバックアップデバイス９１０は情報処理装置１（２００）と接続されるようにすることもできる。この場合は情報処理装置１（２００）を介して記憶デバイス３００に記憶されているデータのバックアップデータを取得するようにする。
【００１１】
記憶デバイス制御装置１００は、チャネル制御部１乃至４（１１０）を備える。記憶デバイス制御装置１００は、チャネル制御部１乃至４（１１０）によりＬＡＮ４００を介して情報処理装置１乃至３（２００）やバックアップデバイス９１０との間で通信を行う。チャネル制御部１乃至４（１１０）は、情報処理装置１乃至３（２００）からのファイルアクセス要求を個々に受け付ける。すなわち、チャネル制御部１乃至４（１１０）には、個々にＬＡＮ４００上のネットワークアドレス（例えば、ＩＰアドレス）が割り当てられていてそれぞれが個別にＮＡＳとして振る舞い、個々のＮＡＳがあたかも独立したＮＡＳが存在しているかのようにＮＡＳのサービスを情報処理装置１乃至３（２００）に提供することができる。以下、チャネル制御部１乃至４（１１０）をＣＨＮと記す。このように１台のストレージシステム６００に個別にＮＡＳとしてのサービスを提供するチャネル制御部１乃至４（１１０）を備えるように構成したことで、従来、独立したコンピュータで個別に運用されていたＮＡＳサーバが一台のストレージシステム６００に集約されて運用される。そして、この構成によってストレージシステム６００の統括的な管理が可能となり、各種設定・制御や障害管理、バージョン管理といった保守業務の効率化が図られる。
【００１２】
なお、本実施の形態に係る記憶デバイス制御装置１００のチャネル制御部１乃至４（１１０）の機能は、後述するように、一体的にユニット化された回路基板上に形成されたハードウェア及びこのハードウェアにより実行されるオペレーティングシステム（以下、ＯＳと記す）やこのＯＳ上で動作するアプリケーションプログラムなどのソフトウェアにより実現される。このように本実施例のストレージシステム６００では、従来ハードウェアの一部として実装されてきた機能が主としてソフトウェアによって実現されている。このため、本実施例のストレージシステム６００では柔軟性に富んだシステム運用が可能となり、多様で変化の激しいユーザニーズに対応したきめ細かなサービスを提供することが可能となる。
【００１３】
情報処理装置３乃至４（２００）はＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）５００を介して記憶デバイス制御装置１００と接続されている。ＳＡＮ５００は、記憶デバイス３００が提供する記憶領域におけるデータの管理単位であるブロックを単位として情報処理装置３乃至４（２００）との間でデータの授受を行うためのネットワークである。ＳＡＮ５００を介して行われる情報処理装置３乃至４（２００）と記憶デバイス制御装置１００との間の通信は、一般にファイバチャネルプロトコルに従って行われる。情報処理装置３乃至４（２００）からは、ストレージシステム６００に対して、ファイバチャネルプロトコルに従ってブロック単位のデータアクセス要求（以下、ブロックアクセス要求と記す）が送信される。
【００１４】
ＳＡＮ５００にはＳＡＮ対応のバックアップデバイス９００が接続されている。ＳＡＮ対応バックアップデバイス９００は、ＳＡＮ５００を介して記憶デバイス制御装置１００との間で通信を行うことにより、記憶デバイス３００に記憶されているデータのバックアップデータを記憶する。
【００１５】
記憶デバイス制御装置１００は、チャネル制御部５乃至６（１１０）を備える。記憶デバイス制御装置１００は、チャネル制御部５乃至６（１１０）によりＳＡＮ５００を介して情報処理装置３乃至４（２００）及びＳＡＮ対応バックアップデバイス９００との間の通信を行う。以下、チャネル制御部５乃至６（１１０）をＣＨＦと記す。
【００１６】
また情報処理装置５（２００）は、ＬＡＮ４００やＳＡＮ５００等のネットワークを介さずに記憶デバイス制御装置１００と接続されている。情報処理装置５（２００）としては例えばメインフレームコンピュータとすることができる。情報処理装置５（２００）と記憶デバイス制御装置１００との間の通信は、例えばＦＩＣＯＮ（Ｆｉｂｒｅ  Ｃｏｎｎｅｃｔｉｏｎ）（登録商標）やＥＳＣＯＮ（Ｅｎｔｅｒｐｒｉｓｅ  ＳｙｓｔｅｍＣｏｎｎｅｃｔｉｏｎ）  （登録商標）、ＡＣＯＮＡＲＣ（Ａｄｖａｎｃｅｄ  Ｃｏｎｎｅｃｔｉｏｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ）（登録商標）、ＦＩＢＡＲＣ（Ｆｉｂｒｅ  Ｃｏｎｎｅｃｔｉｏｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ）（登録商標）などの通信プロトコルに従って行われる。情報処理装置５（２００）からは、ストレージシステム６００に対して、これらの通信プロトコルに従ってブロックアクセス要求が送信される。
記憶デバイス制御装置１００は、チャネル制御部７乃至８（１１０）により情報処理装置５（２００）との間で通信を行う。以下、チャネル制御部７乃至８（１１０）をＣＨＡと記す。
【００１７】
ＳＡＮ５００にはストレージシステム６００の設置場所（プライマリサイト）とは遠隔した場所（セカンダリサイト）に設置される他のストレージシステム６１０が接続している。ストレージシステム６１０は、後述するリモートコピー（遠隔複製）又はレプリケーションの機能におけるデータの複製先の装置として利用される。なお、ストレージシステム６１０はＳＡＮ５００以外にもＡＴＭなどの通信回線によりストレージシステム６００に接続していることもある。この場合には例えばチャネル制御部１１０として上記通信回線を利用するためのインタフェース（チャネルエクステンダ）を備えるチャネル制御部１１０が採用される。
【００１８】
本実施例によれば、ストレージシステム６００内にＣＨＮ１１０、ＣＨＦ１１０、ＣＨＡ１１０を混在させて装着させることにより、異種ネットワークに接続されるストレージシステムを実現できる。具体的には、ストレージシステム６００は、ＣＨＮ１１０を用いてＬＡＮ１４０に接続し、かつＣＨＦ１１０を用いてＳＡＮ５００に接続するという、ＳＡＮ−ＮＡＳ統合ストレージシステムである。
【００１９】
＝＝＝記憶デバイス＝＝＝
記憶デバイス３００は多数のディスクドライブ（物理ディスク）を備えており情報処理装置２００に対して記憶領域を提供する。データは、ディスクドライブにより提供される物理的な記憶領域上に論理的に設定される記憶領域であるＬＵに記憶されている。ディスクドライブとしては、例えばハードディスク装置やフレキシブルディスク装置、半導体記憶装置等様々なものを用いることができる。
【００２０】
なお、記憶デバイス３００は例えば複数のディスクドライブによりディスクアレイを構成するようにすることもできる。この場合、情報処理装置２００に対して提供される記憶領域は、ＲＡＩＤにより管理された複数のディスクドライブにより提供されるようにすることもできる。
記憶デバイス制御装置１００と記憶デバイス３００との間は図１のように直接に接続される形態とすることもできるし、ネットワークを介して接続するようにすることもできる。さらに記憶デバイス３００は記憶デバイス制御装置１００と一体として構成されることもできる。
【００２１】
記憶デバイス３００に設定されるＬＵには、情報処理装置２００からアクセス可能なユーザＬＵや、チャネル制御部１１０の制御のために使用されるシステムＬＵ等がある。システムＬＵにはＣＨＮ１１０で実行されるオペレーティングシステムも格納される。また各ＬＵにはチャネル制御部１１０が対応付けられている。これによりチャネル制御部１１０毎にアクセス可能なＬＵが割り当てられている。また上記対応付けは、複数のチャネル制御部１１０で一つのＬＵを共有するようにすることもできる。なお以下において、ユーザＬＵやシステムＬＵをユーザディスク、システムディスク等とも記す。また、複数のチャネル制御部１１０で共有されるＬＵを共有ＬＵあるいは共有ディスクと記す。
【００２２】
＝＝＝記憶デバイス制御装置＝＝＝
記憶デバイス制御装置１００はチャネル制御部１１０、共有メモリ１２０、キャッシュメモリ１３０、ディスク制御部１４０、管理端末１６０、接続部１５０を備える。
【００２３】
チャネル制御部１１０は情報処理装置２００との間で通信を行うための通信インタフェースを備え、情報処理装置２００との間でデータ入出力コマンド等を授受する機能を備える。例えばＣＨＮ１１０は情報処理装置１乃至３（２００）からのファイルアクセス要求を受け付ける。そしてファイルの記憶アドレスやデータ長等を求めて、ファイルアクセス要求に対応するＩ／Ｏ要求を出力することにより、記憶デバイス３００へのアクセスを行う。これによりストレージシステム６００はＮＡＳとしてのサービスを情報処理装置１乃至３（２００）に提供することができる。なおＩ／Ｏ要求にはデータの先頭アドレス、データ長、読み出し又は書き込み等のアクセスの種別が含まれている。またデータの書き込みの場合にはＩ／Ｏ要求には書き込みデータが含まれているようにすることもできる。Ｉ／Ｏ要求の出力は、後述するＩ／Ｏプロセッサ１１９により行われる。またＣＨＦ１１０は情報処理装置３乃至４（２００）からのファイバチャネルプロトコルに従ったブロックアクセス要求を受け付ける。これによりストレージシステム６００は高速アクセス可能なデータ記憶サービスを情報処理装置３乃至４（２００）に対して提供することができる。またＣＨＡ１１０は情報処理装置５（２００）からのＦＩＣＯＮやＥＳＣＯＮ、ＡＣＯＮＡＲＣ、ＦＩＢＡＲＣ等のプロトコルに従ったブロックアクセス要求を受け付ける。これによりストレージシステム６００は情報処理装置５（２００）のようなメインフレームコンピュータに対してもデータ記憶サービスを提供することができる。
【００２４】
各チャネル制御部１１０は管理端末１６０と共に内部ＬＡＮ１５１で接続されている。これによりチャネル制御部１１０に実行させるマイクロプログラム等を管理端末１６０から送信しインストールすることが可能となっている。チャネル制御部１１０の構成については後述する。
【００２５】
接続部１５０はチャネル制御部１１０、共有メモリ１２０、キャッシュメモリ１３０、ディスク制御部１４０を相互に接続する。チャネル制御部１１０、共有メモリ１２０、キャッシュメモリ１３０、ディスク制御部１４０間でのデータやコマンドの授受は接続部１５０を介することにより行われる。接続部１５０は例えば高速スイッチングによりデータ伝送を行う超高速クロスバスイッチなどの高速バスである。チャネル制御部１１０同士が高速バスで接続されていることで、個々のコンピュータ上で動作するＮＡＳサーバがＬＡＮを通じて接続する従来の構成に比べてチャネル制御部１１０間の通信パフォーマンスが大幅に向上する。またこれにより高速なファイル共有機能や高速フェイルオーバなども可能となる。
【００２６】
共有メモリ１２０及びキャッシュメモリ１３０は、チャネル制御部１１０、ディスク制御部１４０により共有される記憶メモリである。共有メモリ１２０は主に制御情報やコマンド等を記憶するために利用されるのに対し、キャッシュメモリ１３０は主にデータを記憶するために利用される。
【００２７】
例えば、あるチャネル制御部１１０が情報処理装置２００から受信したデータ入出力コマンドが書き込みコマンドであった場合には、当該チャネル制御部１１０は書き込みコマンドを共有メモリ１２０に書き込むと共に、情報処理装置２００から受信した書き込みデータをキャッシュメモリ１３０に書き込む。一方、ディスク制御部１４０は共有メモリ１２０を監視しており、共有メモリ１２０に書き込みコマンドが書き込まれたことを検出すると、当該コマンドに従ってキャッシュメモリ１３０から書き込みデータを読み出して記憶デバイス３００に書き込む。
【００２８】
またあるチャネル制御部１１０が情報処理装置２００から受信したデータ入出力コマンドが読み出しコマンドであった場合には、当該チャネル制御部１１０は読み出しコマンドを共有メモリ１２０に書き込むと共に、読み出し対象となるデータがキャッシュメモリ１３０に存在するかどうかを調べる。ここでキャッシュメモリ１３０に存在すれば、チャネル制御部１１０はそのデータを情報処理装置２００に送信する。一方、読みだし対象となるデータがキャッシュメモリ１３０に存在しない場合には、共有メモリ１２０を監視することにより読み出しコマンドが共有メモリ１２０に書き込まれたことを検出したディスク制御部１４０が、記憶デバイス３００から読みだし対象となるデータを読み出してこれをキャッシュメモリ１３０に書き込むと共に、その旨を共有メモリ１２０に書き込む。そして、チャネル制御部１１０は共有メモリ１２０を監視することにより読みだし対象となるデータがキャッシュメモリ１３０に書き込まれたことを検出すると、そのデータを情報処理装置２００に送信する。
【００２９】
なお、このようにチャネル制御部１１０からディスク制御部１４０に対するデータの書き込みや読み出しの指示を共有メモリ１２０を介在させて間接に行う構成の他、例えばチャネル制御部１１０からディスク制御部１４０に対してデータの書き込みや読み出しの指示を共有メモリ１２０を介さずに直接に行う構成とすることもできる。
【００３０】
ディスク制御部１４０は記憶デバイス３００の制御を行う。例えば上述のように、チャネル制御部１１０が情報処理装置２００から受信したデータ書き込みコマンドに従って記憶デバイス３００へデータの書き込みを行う。また、チャネル制御部１１０により送信された論理アドレス指定によるＬＵへのデータアクセス要求を、物理アドレス指定による物理ディスクへのデータアクセス要求に変換する。記憶デバイス３００における物理ディスクがＲＡＩＤにより管理されている場合には、ＲＡＩＤ構成に従ったデータのアクセスを行う。またディスク制御部１４０は、記憶デバイス３００に記憶されたデータの複製管理の制御やバックアップ制御を行う。さらにディスク制御部１４０は、災害発生時のデータ消失防止（ディザスタリカバリ）などを目的としてプライマリサイトのストレージシステム６００のデータの複製をセカンダリサイトに設置された他のストレージシステム６１０にも記憶する制御（レプリケーション機能、又はリモートコピー機能）なども行う。
【００３１】
各ディスク制御部１４０は管理端末１６０と共に内部ＬＡＮ１５１で接続されており、相互に通信を行うことが可能である。これにより、ディスク制御部１４０に実行させるマイクロプログラム等を管理端末１６０から送信しインストールすることが可能となっている。ディスク制御部１４０の構成については後述する。本実施例においては、共有メモリ１２０及びキャッシュメモリ１３０がチャネル制御部１１０及びディスク制御部１４０に対して独立に設けられていることについて記載したが、本実施例はこの場合に限られるものでなく、共有メモリ１２０又はキャッシュメモリ１３０がチャネル制御部１１０及びディスク制御部１４０の各々に分散されて設けられることも好ましい。この場合、接続部１５０は、分散された共有メモリ又はキャッシュメモリを有するチャネル制御部１１０及びディスク制御部１４０を相互に接続させることになる。
【００３２】
＝＝＝管理端末＝＝＝
管理端末１６０はストレージシステム６００を保守・管理するためのコンピュータである。管理端末１６０を操作することにより、例えば記憶デバイス３００内の物理ディスク構成の設定や、ＬＵの設定、チャネル制御部１１０において実行されるマイクロプログラムのインストール等を行うことができる。ここで、記憶デバイス３００内の物理ディスク構成の設定としては、例えば物理ディスクの増設や減設、ＲＡＩＤ構成の変更（ＲＡＩＤ１からＲＡＩＤ５への変更等）等を行うことができる。さらに管理端末１６０からは、ストレージシステム６００の動作状態の確認や故障部位の特定、チャネル制御部１１０で実行されるオペレーティングシステムのインストール等の作業を行うこともできる。また管理端末１６０はＬＡＮや電話回線等で外部保守センタと接続されており、管理端末１６０を利用してストレージシステム６００の障害監視を行ったり、障害が発生した場合に迅速に対応することも可能である。障害の発生は例えばＯＳやアプリケーションプログラム、ドライバソフトウェアなどから通知される。この通知はＨＴＴＰプロトコルやＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）、電子メールなどにより行われる。これらの設定や制御は、管理端末１６０で動作するＷｅｂサーバが提供するＷｅｂページをユーザインタフェースとしてオペレータなどにより行われる。オペレータ等は、管理端末１６０を操作して障害監視する対象や内容の設定、障害通知先の設定などを行うこともできる。
【００３３】
管理端末１６０は記憶デバイス制御装置１００に内蔵されている形態とすることもできるし、外付けされている形態とすることもできる。また管理端末１６０は、記憶デバイス制御装置１００及び記憶デバイス３００の保守・管理を専用に行うコンピュータとすることもできるし、汎用のコンピュータに保守・管理機能を持たせたものとすることもできる。
【００３４】
管理端末１６０の構成を示すブロック図を図２に示す。
管理端末１６０は、ＣＰＵ１６１、メモリ１６２、ポート１６３、記録媒体読取装置１６４、入力装置１６５、出力装置１６６、記憶装置１６８を備える。
【００３５】
ＣＰＵ１６１は管理端末１６０の全体の制御を司るもので、メモリ１６２に格納されたプログラム１６２ｃを実行することにより上記Ｗｅｂサーバとしての機能等を実現する。メモリ１６２には、物理ディスク管理テーブル１６２ａとＬＵ管理テーブル１６２ｂとプログラム１６２ｃとが記憶されている。
【００３６】
物理ディスク管理テーブル１６２ａは、記憶デバイス３００に備えられる物理ディスク（ディスクドライブ）を管理するためのテーブルである。物理ディスク管理テーブル１６２ａを図３に示す。図３においては、記憶デバイス３００が備える多数の物理ディスクのうち、ディスク番号＃００１乃至＃００６までが示されている。それぞれの物理ディスクに対して、容量、ＲＡＩＤ構成、使用状況が示されている。
ＬＵ管理テーブル１６２ｂは、上記物理ディスク上に論理的に設定されるＬＵを管理するためのテーブルである。ＬＵ管理テーブル１６２ｂを図４に示す。図４においては、記憶デバイス３００上に設定される多数のＬＵのうち、ＬＵ番号＃１乃至＃３までが示されている。それぞれのＬＵに対して、物理ディスク番号、容量、ＲＡＩＤ構成が示されている。
【００３７】
記録媒体読取装置１６４は、記録媒体１６７に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ１６２や記憶装置１６８に格納される。従って、例えば記録媒体１６７に記録されたプログラム１６２ｃを、記録媒体読取装置１６４を用いて上記記録媒体１６７から読み取って、メモリ１６２や記憶装置１６８に格納するようにすることができる。記録媒体１６７としてはフレキシブルディスクやＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、半導体メモリ等を用いることができる。なお、上記プログラム１６２ｃは管理端末１６０を動作させるためのプログラムとすることができる他、チャネル制御部１１０やディスク制御部１４０にＯＳ７０１やアプリケーションプログラムをインストールするためのプログラムや、バージョンアップするためのプログラムとすることもできる。
【００３８】
記録媒体読取装置１６４は管理端末１６０に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。記憶装置１６８は、例えばハードディスク装置やフレキシブルディスク装置、半導体記憶装置等である。入力装置１６５はオペレータ等による管理端末１６０へのデータ入力等のために用いられる。入力装置１６５としては例えばキーボードやマウス等が用いられる。出力装置１６６は情報を外部に出力するための装置である。出力装置１６６としては例えばディスプレイやプリンタ等が用いられる。ポート１６３は内部ＬＡＮ１５１に接続されており、これにより管理端末１６０はチャネル制御部１１０やディスク制御部１４０等と通信を行うことができる。またポート１６３は、ＬＡＮ４００に接続するようにすることもできるし、電話回線に接続するようにすることもできる。
【００３９】
＝＝＝外観図＝＝＝
次に、本実施の形態に係るストレージシステム６００の外観構成を図５に示す。また、記憶デバイス制御装置１００の外観構成を図６に示す。
図５に示すように、本実施の形態に係るストレージシステム６００は記憶デバイス制御装置１００及び記憶デバイス３００がそれぞれの筐体に納められた形態をしている。記憶デバイス制御装置１００の筐体の両側に記憶デバイス３００の筐体が配置されている。
【００４０】
記憶デバイス制御装置１００は、正面中央部に管理端末１６０が備えられている。管理端末１６０はカバーで覆われており、図６に示すようにカバーを開けることにより管理端末１６０を使用することができる。なお図６に示した管理端末１６０はいわゆるノート型パーソナルコンピュータの形態をしているが、どのような形態とすることも可能である。
【００４１】
管理端末１６０の下部には、チャネル制御部１１０のボードを装着するためのスロットが設けられている。チャネル制御部１１０のボードとは、チャネル制御部１１０の回路基板が形成されたユニットであり、スロットへの装着単位である。本実施の形態に係るストレージシステム６００においては、スロットは８つあり、図５及び図６には８つのスロットにチャネル制御部１１０のボードが装着された状態が示されている。各スロットにはチャネル制御部１１０のボードを装着するためのガイドレールが設けられている。ガイドレールに沿ってチャネル制御部１１０のボードをスロットに挿入することにより、チャネル制御部１１０のボードを記憶デバイス制御装置１００に装着することができる。また各スロットに装着されたチャネル制御部１１０のボードは、ガイドレールに沿って手前方向に引き抜くことにより取り外すことができる。また各スロットの奥手方向正面部には、各チャネル制御部１１０のボードを記憶デバイス制御装置１００と電気的に接続するためのコネクタが設けられている。チャネル制御部１１０には、ＣＨＮ、ＣＨＦ、ＣＨＡがあるが、いずれのチャネル制御部１１０のボードもサイズやコネクタの位置、コネクタのピン配列等に互換性をもたせているため、８つのスロットにはいずれのチャネル制御部１１０のボードも装着することが可能である。従って、例えば８つのスロット全てにＣＨＮ１１０のボードを装着するようにすることもできる。また図１に示したように、４枚のＣＨＮ１１０のボードと、２枚のＣＨＦ１１０のボードと、２枚のＣＨＡ１１０のボードとを装着するようにすることもできる。チャネル制御部１１０のボードを装着しないスロットを設けるようにすることもできる。
【００４２】
各スロットのチャネル制御部１１０は、同種の複数のチャネル制御部１１０でクラスタを構成する。例えば２枚のＣＨＮ１１０をペアとしてクラスタを構成することができる。クラスタを構成することにより、クラスタ内のあるチャネル制御部１１０に障害が発生した場合でも、障害が発生したチャネル制御部１１０がそれまで行っていた処理をクラスタ内の他のチャネル制御部１１０に引き継ぐようにすることができる（フェイルオーバ制御）。２枚のＣＨＮ１１０でクラスタを構成している様子を示す図を図１２に示すが、詳細は後述する。
【００４３】
なお、記憶デバイス制御装置１００は信頼性向上のため電源供給が２系統化されており、チャネル制御部１１０のボードが装着される上記８つのスロットは電源系統毎に４つずつに分けられている。そこでクラスタを構成する場合には、両方の電源系統のチャネル制御部１１０のボードを含むようにする。これにより、片方の電源系統に障害が発生し電力の供給が停止しても、同一クラスタを構成する他方の電源系統に属するチャネル制御部１１０のボードへの電源供給は継続されるため、当該チャネル制御部１１０に処理を引き継ぐ（フェイルオーバ）ことができる。
【００４４】
なお、上述したように、チャネル制御部１１０は上記各スロットに装着可能なボードとして提供されるが、上記一つのボードは一体形成された複数枚数の回路基板から構成されているようにすることもできる。
【００４５】
ディスク制御部１４０や共有メモリ１２０等の、記憶デバイス制御装置１００を構成する他の装置については図５及び図６には示されていないが、記憶デバイス制御装置１００の背面側等に装着されている。
【００４６】
また記憶デバイス制御装置１００には、チャネル制御部１１０のボード等から発生する熱を放出するためのファン１７０が設けられている。ファン１７０は記憶デバイス制御装置１００の上面部に設けられる他、チャネル制御部１１０用スロットの上部にも設けられている。
【００４７】
ところで、筐体に収容されて構成される記憶デバイス制御装置１００および記憶デバイス３００としては、例えばＳＡＮ対応として製品化されている従来構成の装置を利用することができる。特に上記のようにＣＨＮ１１０のボードのコネクタ形状を従来構成の筐体に設けられているスロットにそのまま装着できる形状とすることで従来構成の装置をより簡単に利用することができる。つまり本実施例のストレージシステム６００は、既存の製品を利用することで容易に構築することができる。
【００４８】
＝＝＝チャネル制御部＝＝＝
本実施の形態に係るストレージシステム６００は、上述の通りＣＨＮ１１０により情報処理装置１乃至３（２００）からのファイルアクセス要求を受け付け、ＮＡＳとしてのサービスを情報処理装置１乃至３（２００）に提供する。
ＣＨＮ１１０のハードウェア構成を図７に示す。この図に示すようにＣＨＮ１１０のハードウェアは一体的にユニット化されたボードで構成される。以下、このボードのことをＮＡＳボードとも記す。ＮＡＳボードは一枚もしくは複数枚の回路基板を含んで構成される。より具体的には、ＮＡＳボードは、ネットワークインタフェース部１１１、ＣＰＵ１１２、メモリ１１３、入出力制御部１１４、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）プロセッサ１１９、ＮＶＲＡＭ（Ｎｏｎ  Ｖｏｌａｔｉｌｅ  ＲＡＭ）１１５、ボード接続用コネクタ１１６、通信コネクタ１１７を備え、これらが同一のボードに形成されて構成されている。
【００４９】
ネットワークインタフェース部１１１は、情報処理装置２００との間で通信を行うための通信インタフェースを備えている。ＣＨＮ１１０の場合は、例えばＴＣＰ／ＩＰプロトコルに従って情報処理装置２００から送信されたファイルアクセス要求を受信する。通信コネクタ１１７は情報処理装置２００と通信を行うためのコネクタである。ＣＨＮ１１０の場合はＬＡＮ４００に接続可能なコネクタであり、例えばイーサネット（登録商標）に対応している。
ＣＰＵ１１２は、ＣＨＮ１１０をＮＡＳボードとして機能させるための制御を司る。
メモリ１１３には様々なプログラムやデータが記憶される。例えば図９に示すメタデータ７３０やロックテーブル７２０、また図１１に示すＮＡＳマネージャ７０６等の各種プログラムが記憶される。
【００５０】
メタデータ７３０はファイルシステムプログラム７０３等により実現されるファイルシステムが管理しているファイルに対応させて生成される情報である。メタデータ７３０には、例えばファイルのデータが記憶されているＬＵ上のアドレスやデータサイズなど、ファイルの保管場所を特定するための情報が含まれる。メタデータ７３０にはファイルシステムが管理しているファイルのファイル名とそのファイルに対するデータが記憶されているＬＵ上の位置を特定するためのアドレス情報（例えば先頭アドレス）とを対応させた情報が含まれている。さらにメタデータ７３０には、ファイルの容量、所有者、更新時刻等の情報が含まれることもある。また、メタデータ７３０はファイルだけでなくディレクトリに対応させて生成されることもある。メタデータ７３０の例を図１３に示す。メタデータ７３０は記憶デバイス３００上の各ＬＵにも記憶されている。
【００５１】
例えば情報処理装置２００からあるＣＨＮ１１０に対するファイルアクセス要求があった場合、そのＣＨＮ１１０はそのファイルアクセス要求の対象として設定されているファイルのファイル名をメタデータ７３０に対照することによりそのファイルが記憶されているＬＵ上のアドレスを特定する。図１４はＣＨＮ１１０がファイルアクセス要求に設定されているファイル名に対応するＬＵ上のアドレスを特定する様子を説明している。この特定に際しては、ＣＨＮ１１０のメモリ１１３上に記憶されているメタデータ７３０が参照される。なお、ＣＨＮ１１０のメモリ１１３に記憶されているデータはメモリ１１３の効率的な利用のために、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）等に従ってメモリ１１３からキャッシュメモリ１３０に書き出されるように制御されることもある。ここでこの制御においてはキャッシュメモリ１３０には複数のＣＨＮ１１０から書き出されたメタデータ７３０が共存することもありうる。そのため、キャッシュメモリ１３０に記憶されているメタデータ７３０には、それぞれがいずれのＣＨＮ１１０から書き出されたものであるのかを特定するための識別子が付与されている。そして、ＣＨＮ１１０は、キャッシュメモリ１３０に記憶されているメタデータ７３０を自身のメモリ１１３上に書き戻すに際しては、上記識別子を参照して自身の識別子が付与されている確認した場合にそのメタデータ７３０を書き戻す。
【００５２】
ロックテーブル７２０は、情報処理装置１乃至３（２００）からのファイルアクセスに対して排他制御を行うためのテーブルである。排他制御を行うことにより情報処理装置１乃至３（２００）でファイルを共用することができる。ロックテーブル７２０を図１５に示す。この図に示すように、ロックテーブル７２０にはファイルロックテーブル７２１とＬＵロックテーブル７２２とがある。ファイルロックテーブル７２１は、ファイル毎にロックが掛けられているか否かを示すためのテーブルである。いずれかの情報処理装置２００によりあるファイルがオープンされている場合に当該ファイルにロックが掛けられる。ロックが掛けられたファイルに対する他の情報処理装置２００によるアクセスは禁止される。ＬＵロックテーブル７２２は、ＬＵ毎にロックが掛けられているか否かを示すためのテーブルである。いずれかの情報処理装置２００により、あるＬＵに対するアクセスが行われている場合に当該ＬＵにロックが掛けられる。ロックが掛けられたＬＵに対する他の情報処理装置２００によるアクセスは禁止される。
【００５３】
入出力制御部１１４は、ディスク制御部１４０やキャッシュメモリ１３０、共有メモリ１２０、管理端末１６０との間でデータやコマンドの授受を行う。入出力制御部１１４はＩ／Ｏプロセッサ１１９やＮＶＲＡＭ１１５を備えている。Ｉ／Ｏプロセッサ１１９は例えば１チップのマイコンで構成される。Ｉ／Ｏプロセッサ１１９は上記データやコマンドの授受を制御し、ＣＰＵ１１２とディスク制御部１４０との間の通信を中継する。ＮＶＲＡＭ１１５はＩ／Ｏプロセッサ１１９の制御を司るプログラムを格納する不揮発性メモリである。ＮＶＲＡＭ１１５に記憶されるプログラムの内容は、管理端末１６０や、後述するＮＡＳマネージャ７０６からの指示により書き込みや書き換えを行うことができる。
【００５４】
次にＣＨＦ１１０及びＣＨＡ１１０のハードウェア構成を示す図を図８に示す。ＣＨＦ１１０やＣＨＡ１１０のボードも、ＣＨＮ１１０と同様に一体的にユニット化されたボードとして形成されている。ＣＨＮ１１０のボードと同様、上記ボードは一体形成された複数枚数の回路基板から構成されているようにすることもできる。またＣＨＦ１１０のボード及びＣＨＡ１１０のボードは、ＣＨＮ１１０のボードとサイズやボード接続用コネクタ１１６の位置、ボード接続用コネクタ１１６のピン配列等に互換性をもたせている。
ＣＨＦ１１０及びＣＨＡ１１０は、ネットワークインタフェース部１１１、メモリ１１３、入出力制御部１１４、Ｉ／Ｏプロセッサ１１９、ＮＶＲＡＭ１１５、ボード接続用コネクタ１１６、通信コネクタ１１７を備える。
【００５５】
ネットワークインタフェース部１１１は、情報処理装置２００との間で通信を行うための通信インタフェースを備えている。ＣＨＦ１１０の場合は、例えばファイバチャネルプロトコルに従って情報処理装置２００から送信されたブロックアクセス要求を受信する。ＣＨＡ１１０の場合は、例えばＦＩＣＯＮ（登録商標）やＥＳＣＯＮ（登録商標）、ＡＣＯＮＡＲＣ（登録商標）、ＦＩＢＡＲＣ（登録商標）のプロトコルに従って情報処理装置２００から送信されたブロックアクセス要求を受信する。通信コネクタ１１７は情報処理装置２００と通信を行うためのコネクタである。ＣＨＦ１１０の場合はＳＡＮ５００に接続可能なコネクタであり、例えばファイバチャネルに対応している。ＣＨＡ１１０の場合は情報処理装置５と接続可能なコネクタであり、ＦＩＣＯＮ（登録商標）やＥＳＣＯＮ（登録商標）、ＡＣＯＮＡＲＣ（登録商標）、ＦＩＢＡＲＣ（登録商標）に対応している。
【００５６】
入出力制御部１１４は、それぞれＣＨＦ１１０、ＣＨＡ１１０の全体の制御を司ると共に、ディスク制御部１４０やキャッシュメモリ１３０、共有メモリ１２０、管理端末１６０との間でデータやコマンドの授受を行う。メモリ１１３に格納された各種プログラムを実行することにより本実施の形態に係るＣＨＦ１１０及びＣＨＡ１１０の機能が実現される。入出力制御部１１４はＩ／Ｏプロセッサ１１９やＮＶＲＡＭ１１５を備えている。Ｉ／Ｏプロセッサ１１９は上記データやコマンドの授受を制御する。ＮＶＲＡＭ１１５はＩ／Ｏプロセッサ１１９の制御を司るプログラムを格納する不揮発性メモリである。ＮＶＲＡＭ１１５に記憶されるプログラムの内容は、管理端末１６０や、後述するＮＡＳマネージャ７０６からの指示により書き込みや書き換えを行うことができる。
【００５７】
次にディスク制御部１４０のハードウェア構成を示す図を図１０に示す。
ディスク制御部１４０は、一体的にユニット化されたボードとして形成されている。ディスク制御部１４０のボードは、インタフェース部１４１、メモリ１４３、ＣＰＵ１４２、ＮＶＲＡＭ１４４、ボード接続用コネクタ１４５を備え、これらが一体的にユニット化された回路基板として形成されている。
インタフェース部１４１は、接続部１５０を介してチャネル制御部１１０等との間で通信を行うための通信インタフェースや、記憶デバイス３００との間で通信を行うための通信インタフェースを備えている。
【００５８】
ＣＰＵ１４２は、ディスク制御部１４０全体の制御を司ると共に、チャネル制御部１４０や記憶デバイス３００、管理端末１６０との間の通信を行う。メモリ１４３やＮＶＲＡＭ１４４に格納された各種プログラムを実行することにより本実施の形態に係るディスク制御部１４０の機能が実現される。ディスク制御部１４０により実現される機能としては、記憶デバイス３００の制御やＲＡＩＤ制御、記憶デバイス３００に記憶されたデータの複製管理やバックアップ制御、リモートコピー制御等である。
【００５９】
ＮＶＲＡＭ１４４はＣＰＵ１４２の制御を司るプログラムを格納する不揮発性メモリである。ＮＶＲＡＭ１４４に記憶されるプログラムの内容は、管理端末１６０や、ＮＡＳマネージャ７０６からの指示により書き込みや書き換えを行うことができる。
【００６０】
またディスク制御部１４０のボードはボード接続用コネクタ１４５を備えている。ボード接続用コネクタ１４５が記憶デバイス制御装置１００側のコネクタと嵌合することにより、ディスク制御部１４０のボードは記憶デバイス制御装置１００と電気的に接続される。
【００６１】
＝＝＝ソフトウェア構成＝＝＝
次に、本実施の形態に係るストレージシステム６００におけるソフトウェア構成図を図１１に示す。
オペレーティングシステム７０１上では、ＲＡＩＤマネージャ７０８、ボリュームマネージャ７０７、ＳＶＰマネージャ７０９、ファイルシステムプログラム７０３、ネットワーク制御部７０２、バックアップ管理プログラム７１０、障害管理プログラム７０５、ＮＡＳマネージャ７０６などのソフトウェアが動作する。
【００６２】
オペレーティングシステム７０１上で動作するＲＡＩＤマネージャ７０８は、ＲＡＩＤ制御部７４０に対するパラメータの設定やＲＡＩＤ制御部７４０を制御する機能を提供する。ＲＡＩＤマネージャ７０８はオペレーティングシステム７０１やオペレーティングシステム７０１上で動作する他のアプリケーション、もしくはＳＶＰからパラメータや制御指示情報を受け付けて、受け付けたパラメータのＲＡＩＤ制御部７４０への設定や、ＲＡＩＤ制御部指示情報に対応する制御コマンドの送信を行う。
【００６３】
ここで設定されるパラメータとしては、例えば、ＲＡＩＤグループを構成する記憶デバイス（物理ディスク）を定義（ＲＡＩＤグループの構成情報、ストライプサイズの指定など）するためのパラメータ、ＲＡＩＤレベル（例えば０，１，５）を設定するためのパラメータなどがある。また、ＲＡＩＤマネージャ７０８がＲＡＩＤ制御部７４０に送信する制御コマンドとしてはＲＡＩＤの構成・削除・容量変更を指示するコマンド、各ＲＡＩＤグループの構成情報を要求するコマンドなどがある。
【００６４】
ボリュームマネージャ７０７は、ＲＡＩＤ制御部７４０によって提供されるＬＵをさらに仮想化した仮想化論理ボリュームをファイルシステムプログラム７０３に提供する。１つの仮想化論理ボリュームは１以上の論理ボリュームによって構成される。
【００６５】
ファイルシステムプログラム７０３の主な機能は、ネットワーク制御部７０２が受信したファイルアクセス要求に指定されているファイル名とそのファイル名が格納されている仮想化論理ボリューム上のアドレスとの対応づけを管理することである。例えば、ファイルシステムプログラム７０３はファイルアクセス要求に指定されているファイル名に対応する仮想化論理ボリューム上のアドレスを特定する。
【００６６】
ネットワーク制御部７０２は、ＮＦＳ（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）７１１とＳａｍｂａ７１２の２つのファイルシステムプロトコルを含んで構成される。ＮＦＳ７１１は、ＮＦＳ７１１が動作するＵＮＩＸ（登録商標）系の情報処理装置２００からのファイルアクセス要求を受け付ける。一方、Ｓａｍｂａ７１２はＣＩＦＳ（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｆａｃｅ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）７１３が動作するＷｉｎｄｏｗｓ（登録商標）系の情報処理装置２００からのファイルアクセス要求を受け付ける。
【００６７】
ＮＡＳマネージャ７０６は、ストレージシステム６００について、その動作状態の確認、設定や制御などを行うためのプログラムである。ＮＡＳマネージャ７０６はＷｅｂサーバとしての機能も有し、情報処理装置２００からストレージシステム６００の設定や制御を行うための設定Ｗｅｂページを情報処理装置２００に提供する。設定Ｗｅｂページはチャネル制御部１乃至４（１１０）の個々において動作するＮＡＳマネージャ７０６により提供される。ＮＡＳマネージャ７０６は、情報処理装置１乃至３（２００）からのＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）リクエストに応じて、設定Ｗｅｂページのデータを情報処理装置１乃至３（２００）に送信する。情報処理装置１乃至３（２００）に表示された設定Ｗｅｂページを利用してシステムアドミニストレータなどによりストレージシステム６００の設定や制御の指示が行われる。
【００６８】
ＮＡＳマネージャ７０６は、設定Ｗｅｂページに対する操作に起因して情報処理装置２００から送信される設定や制御に関するデータを受信してそのデータに対応する設定や制御を実行する。これにより、情報処理装置１乃至３（２００）からストレージシステム６００の様々な設定や制御を行うことができる。またＮＡＳマネージャ７０６は設定Ｗｅｂページの設定内容をチャネル制御部１１０上で動作するＯＳやアプリケーションプログラム、ディスク制御部１４等に通知する。設定Ｗｅｂページで設定された内容は共有ＬＵ３１０に管理されることもある。
【００６９】
ＮＡＳマネージャ７０６の設定Ｗｅｂページを利用して行うことができる内容としては、例えば、ＬＵの管理や設定（容量管理や容量拡張・縮小、ユーザ割り当て等）、上述の複製管理やリモートコピー（レプリケーション）等の機能に関する設定や制御（複製元のＬＵと複製先のＬＵの設定など）、後述のバックアップ管理プログラム７１０についての設定や制御、冗長構成されたＣＨＮやＣＨＦ、ＣＨＡ間でのクラスタの管理（フェイルオーバさせる相手の対応関係の設定、フェイルオーバ方法など）、ＯＳやＯＳ上で動作するアプリケーションプログラムのバージョン管理、ウイルス検知プログラムやウイルス駆除などのデータの安全性に関する機能を提供するセキュリティ管理プログラム７１６の動作状態の管理や設定などがある。
【００７０】
バックアップ管理プログラム７１０は、記憶デバイス３００に記憶されているデータをＬＡＮ経由またはＳＡＮ経由でバックアップするためのプログラムである。バックアップ管理プログラム７１０はＮＤＭＰ（Ｎｅｔｗｏｒｋ  Ｄａｔａ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）の機能を提供し、情報処理装置２００で動作するＮＤＭＰ対応のバックアップソフトウェアとＬＡＮ４００を通じてＮＤＭＰに従った通信を行う。バックアップデバイス９１０が情報処理装置２００にＳＣＳＩ経由などで接続されている場合、バックアップされるデータは情報処理装置２００に一旦取り込まれてからバックアップデバイス９１０に送られる。バックアップデバイス９１０がＬＡＮ４００接続されている場合には、バックアップされるデータを、情報処理装置２００を経由せずにストレージシステム６００から直接バックアップデバイス９１０に転送することもできる。
【００７１】
障害管理プログラム７０５は、クラスタを構成するチャネル制御部１１０間でのフェイルオーバ制御を行うためのプログラムである。
２枚のＣＨＮ１１０でクラスタ１８０が構成されている様子を示す図を図１２に示す。図１２では、ＣＨＮ１（チャネル制御部１）１１０とＣＨＮ２（チャネル制御部２）１１０とでクラスタ１８０が構成されている場合を示す。
【００７２】
上述したように、フェイルオーバ処理はクラスタ１８０を構成するチャネル制御部１１０間で行われる。つまり、例えばＣＨＮ１（１１０）に何らかの障害が発生し処理を継続することができなくなった場合には、ＣＨＮ１（１１０）がそれまで行っていた処理はＣＨＮ２（１１０）に引き継がれる。フェイルオーバ処理は、ＣＨＮ１（１１０）とＣＨＮ２（１１０）により実行される障害管理プログラム７０５により実行される。
【００７３】
ＣＨＮ１（１１０）及びＣＨＮ２（１１０）は共に障害管理プログラムを実行し、例えば共有メモリ１２０に対して自己の処理が正常に行われていることを書き込むようにする。そして、相手側の上記書き込みの有無を相互に確認するようにする。相手側による書き込みが検出できない場合には、相手側に何らかの障害が発生したと判断し、フェイルオーバ処理を実行する。フェイルオーバ実行時の処理の引き継ぎは、例えば共有ＬＵ３１０を介して行われる。
【００７４】
フェイルオーバはこのように自動的に行われることもあるが、オペレータが管理端末を操作して手動で行われることもある。またユーザがＮＡＳマネージャ７０６が提供する設定Ｗｅｂページを利用して情報処理装置２００から手動で行われることもある。フェイルオーバを手動で行う目的としては、耐用年数の経過やバージョンアップ、定期診断などのためにチャネル制御部１１０のハードウェア（例えばＮＡＳボード）を交換する必要が生じた場合などがある。
【００７５】
ＳＶＰマネージャ７０９は、管理端末１６０からの要求に応じて各種のサービスを管理端末１６０に提供する。例えば、ＬＵの設定内容やＲＡＩＤの設定内容等のストレージシステム６００に関する各種設定内容の管理端末１６０への提供や、管理端末１６０から入力されたストレージシステム６００に関する各種設定の反映等を行う。
【００７６】
セキュリティ管理プログラム７１６は、コンピュータウイルスの検知、侵入監視、コンピュータウイルス検知プログラムの更新管理、感染したコンピュータウイルスの駆除、ファイアウォール機能などを実現する。
【００７７】
＝＝＝複製管理機能＝＝＝
複製管理機能はあるＬＵ（以下、「複製元ＬＵ」と記す）に記憶されているデータの複製をこれとは別のＬＵ（以下、「複製先ＬＵ」と記す）にも記憶する機能である。複製管理機能は、ディスク制御部１４０のＣＰＵ１４２がＮＶＲＡＭ１４４に記憶されている複製管理プログラム７６０を実行することにより実現される。
【００７８】
図１６は複製管理機能に関する処理を説明するフローチャートである。複製元ＬＵと複製先ＬＵとの対応づけは、ＮＡＳマネージャ７０６が提供する設定Ｗｅｂページを利用することにより情報処理装置２００から設定することができる。図１７に複製元のデータが記憶される複製元ＬＵと複製先のデータが記憶される複製先ＬＵとの対応づけ（ペア）を設定する際に利用される設定Ｗｅｂページの一例を示している。対応づけの設定に際しては、この設定Ｗｅｂページ１７００の複製元ＬＵの欄に複製元ＬＵとするＬＵＮを設定しその右側の複製先ＬＵの欄に複製先ＬＵとするＬＵＮを設定した後（Ｓ１６１１）、「ＯＫ」ボタンをクリックする。これにより設定Ｗｅｂページに設定された内容が情報処理装置２００からＮＡＳマネージャ７０６に送信される（Ｓ１６１２）。ＮＡＳマネージャ７０６は設定内容を受信すると（Ｓ１６１３）、その設定内容をディスク制御部１４０に送信する（Ｓ１６１４）。ディスク制御部１４０は設定内容を受信するとこれをＮＶＲＡＭ１４４に記憶する（Ｓ１６１５）。複製管理プログラム７６０はＮＶＲＡＭ１４４に記憶されている複製元ＬＵと複製先ＬＵとの関係に従って複製管理機能を実行している。以上の処理の後は、新たに設定された複製元ＬＵと複製先ＬＵとの間での複製管理機能が開始される（Ｓ１６１６）。
【００７９】
ところで、管理端末１６０やＮＡＳマネージャ７０６からの指示に応じて複製元ＬＵと複製先ＬＵの制御状態は「ペア状態」（複製管理処理の実行状態）および「スプリット状態」（複製管理処理の停止状態）の双方向に移行させることができる。「ペア状態」にある複製元ＬＵと複製先ＬＵの関係においては、複製元ＬＵの内容が更新されると、複製先ＬＵの内容も直ちに更新される。すなわち、「ペア状態」においては複製元ＬＵと複製先ＬＵとの間では、双方の内容の同一性がリアルタイムに確保されることになる。「スプリット状態」にある複製元ＬＵと複製先ＬＵの関係においては、複製元ＬＵに対して更新があった場合でも、その更新内容は複製先ＬＵに直ぐには反映されず、「スプリット状態」にある間に複製元ＬＵに書き込まれたデータは再び「ペア状態」へと移行する際に複製先ＬＵに反映される。なお、「スプリット状態」の間における複製元ＬＵの内容と複製先ＬＵの内容との差分のデータは複製管理機能により管理される。この差分データは例えばＬＵの記憶領域上に設定される領域管理単位であるブロックやトラックごとに管理される。
【００８０】
図１８は「ペア状態」から「スプリット状態」への移行を指示する際に利用される設定Ｗｅｂページの一例である。この設定Ｗｅｂページ１８００では、上記の移行を複製元ＬＵと複製先ＬＵのペアごとに設定することができる。「ペア状態」から「スプリット状態」への移行に関する処理について図１８に示すフローチャートとともに説明する。複製元ＬＵと複製先ＬＵとのペアについて「スプリット状態」への移行（複製管理処理の停止）を指示する場合には、図２１の設定Ｗｅｂページのスプリット欄に「実行」を設定する（Ｓ１９１１）。その後、「ＯＫ」ボタンがクリックされると、その旨が情報処理装置２００からＮＡＳマネージャ７０６に送信される（Ｓ１９１２）。そして、これを受信（Ｓ１９１３）したＮＡＳマネージャ７０６は、ディスク制御部１４０に「スプリット状態」への移行を指示する設定がされている複製元ＬＵと複製先ＬＵとのペアについて「スプリット状態」への移行を指示するコマンド（以下、「スプリット指示」と記す）を送出する（Ｓ１９１４）。ディスク制御部１４０で動作する複製管理プログラム７６０は、前記コマンドを受信すると該当の複製元ＬＵと複製先ＬＵを「ペア状態」から「スプリット状態」に移行させる（Ｓ１９１５）。
【００８１】
なお、「ペア状態」から「スプリット状態」に移行することにより、複製先ＬＵの内容はスプリット状態に移行した時点の内容のまま保持される。「スプリット指示」は、例えば、データをバックアップする際に送出される。すなわち、「スプリット状態」にある複製先ＬＵのデータをバックアップすることにより、複製元ＬＵに影響を与えることなくバックアップを取得することができる。また「スプリット指示」は、過去のある時点における複製元ＬＵの内容にアクセスしたい場合にも送出される。すなわち、「スプリット状態」にある複製先ＬＵの内容は、「スプリット状態」に移行した時点の内容のまま保持されるので、ユーザは過去のある時点における複製元ＬＵの内容にアクセスすることができる。なお、このような用途のために送出されるスプリット指示は、「スナップショット指示」と称されることがある。また、複製先ＬＵに保持される過去のある時点における複製元ＬＵの内容は、スナップショットイメージと称されることがある。複数の時点におけるスナップショットイメージを随時にバックアップすることで複製元ＬＵの内容を世代管理することができる。
【００８２】
バックアップが完了した場合や、スナップショットイメージを保持しておく必要が無くなった場合などには、「スプリット状態」から「ペア状態」への移行が行われる。この移行は、図２０の設定Ｗｅｂページ２０００を利用して情報処理装置２００から指示することができる。この場合の処理について図２１に示すフローチャートとともに説明する。
【００８３】
複製元ＬＵと複製先ＬＵとのペアについて「ペア状態」への移行を指示（複製管理処理の再開）する場合には、図２０の設定Ｗｅｂページ２０００のリシンク欄に「実行」を設定する（Ｓ２１１１）。そして「ＯＫ」ボタンがクリックされると、その旨が情報処理装置２００からＮＡＳマネージャ７０６に送信される（Ｓ２１１２）。これを受信（Ｓ２１１３）したＮＡＳマネージャ７０６は、ディスク制御部１４０に該当の複製元ＬＵと複製先ＬＵについての「ペア状態」への移行を指示するコマンド（以下、「リシンク指示」と記す）を送出する（Ｓ２１１４）。ディスク制御部１４０が前記コマンドを受信すると、ディスク制御部１４０で動作する複製管理プログラム７６０は、管理していた差分データを利用して複製元ＬＵと複製先ＬＵの内容を一致させる（Ｓ２１１５）。そして複製元ＬＵと複製先ＬＵの内容が一致した後、複製管理プログラム７６０は、複製元ＬＵと複製先ＬＵとを「ペア状態」に移行させる（Ｓ２１１６）。
【００８４】
複製管理機能を適用するかどうかをファイル単位やディレクトリ単位で設定することもできる。複製管理機能の適用対象に設定されているファイルやディレクトリは、自動的に複製元ＬＵに記憶もしくは作成されるようになる。図２２はファイル単位やディレクトリ単位で複製管理機能を適用するかどうかを設定する場合に利用される設定Ｗｅｂページ２２００の一例である。この画面では複製管理機能を適用しようとするファイル名やディレクトリ名を設定することができる。設定Ｗｅｂページに設定された内容は、「ＯＫ」ボタンがクリックされることによりＮＡＳマネージャ７０６に送信される。ＮＡＳマネージャ７０６は受信した設定内容を共有メモリ１２０に記憶する。共有メモリ１２０の内容は、例えばストレージシステム６００が情報処理装置２００から複製管理機能が適用されるように設定されているファイルやディレクトリを対象とするファイルアクセス要求を受信した場合にファイルシステムプログラム７０３により参照される。この場合にファイルシステムプログラム７０３が行う処理について図２３に示すフローチャートとともに説明する。
【００８５】
ストレージシステム６００がファイルアクセス要求を受信すると（Ｓ２３１１）、ファイルシステムプログラム７０３は共有メモリ１２０の内容を参照し、そのファイルアクセス要求で指定されるファイルやディレクトリが複製管理機能の適用対象となっているかどうかを調べる（Ｓ２３１２）。適用対象でなければ（Ｓ２３１２：ＮＯ）通常の書き込み処理を実行する（Ｓ２３１３）。一方、複製管理機能の適用対象であった場合には（Ｓ２３１２：ＹＥＳ）、その書き込みデータの書き込み先が複製管理機能の複製元ＬＵに設定されているＬＵの記憶領域となるようにメタデータ７３０を設定する（Ｓ２３１４）。これにより複製管理機能の適用対象のファイルは複製元ＬＵに記憶されることになり、複製管理機能の適用対象のファイルの複製およびそのメタデータ７３０が自動的に複製先ＬＵにも記憶されるようになる（Ｓ２３１５）。なお、複製管理機能により複製先ＬＵにも自動的にメタデータ７３０が記憶される。従って複製先ＬＵに記憶されているデータについてもファイルシステムプログラム７０３により管理することができる。
【００８６】
ファイル単位やディレクトリ単位でスナップショットイメージを作成することができる。図２４００はファイル単位やディレクトリ単位でスナップショットイメージを作成する際に利用される設定Ｗｅｂページの一例である。この設定Ｗｅｂページ２４００では、スナップショットを作成しようとするファイルやディレクトリおよびスナップショットを実行する日時を設定することができるようになっている。
【００８７】
図２５はファイル単位やディレクトリ単位でスナップショットイメージを作成する場合における処理を説明するフローチャートである。設定Ｗｅｂページにファイルやディレクトリが設定された後（Ｓ２５１１）、設定Ｗｅｂページの「ＯＫ」ボタンがクリックされるとスナップショットの設定内容がＮＡＳマネージャ７０６に送信される（Ｓ２５１２）。ＮＡＳマネージャ７０６は設定内容を受信すると（Ｓ２５１３）、設定内容として指定されているファイルやディレクトリが格納されている複製元ＬＵとその複製が管理されている複製先ＬＵとの間のペアについての「スプリット指示」をディスク制御部１４０に送信する（Ｓ２５１４）。ディスク制御部１４０の複製管理プログラム７６０は「スプリット指示」を受信するとスプリットを実行し前記ペアを解除する（Ｓ２５１５）。これにより複製先ＬＵには設定内容で指定されるファイルやディレクトリについてのスナップショットイメージが保持されることになる。このようにＬＵ単位だけでなくファイル単位やディレクトリ単位でスナップショットイメージを作成できることでより細かなサービスを提供することが可能となる。
【００８８】
＝＝＝整合性の確保＝＝＝
ところで、データサイズが巨大である等の理由により、１つのファイルに対応するデータ（以下、「ファイルデータ」と記す）が複数のＬＵに跨って記憶されることもある。ここでこのようなファイルデータについての記憶デバイス３００への書き込みが行われている途中において、その書き込み対象になっている複製元ＬＵ及びこれとペアを構成している複製先ＬＵとの関係が「スプリット状態」に移行してしまうと、複製先ＬＵにおいてファイルデータ全体としての整合性が保証されなくなってしまう。そのため、本実施例のストレージシステム６００は、そのような場合でもファイルデータ全体としての整合性が保証されるようにする仕組みを備えている。この仕組みについて図２６に示すフローチャートとともに具体的に説明する。
【００８９】
ＮＡＳマネージャ７０６はある複製元ＬＵと複製先ＬＵとのペアに対する「スプリット指示」を送出しようとする場合、ＯＳが管理している記憶デバイス３００へのデータＩ／Ｏ要求のキューに前記ペアの複製元ＬＵを対象とするデータＩ／Ｏ要求が含まれているかどうかを調べる（Ｓ２６１１）。ここで前記キューにそのようなデータＩ／Ｏ要求が含まれている場合には（Ｓ２６１１：ＹＥＳ）、さらに前記キューに他の複製元ＬＵに跨って記憶されている（もしくは、記憶される）ファイルを対象とするデータＩ／Ｏ要求が含まれているかどうかを調べる（Ｓ２６１２）。ここでそのようなデータＩ／Ｏ要求が含まれている場合には（Ｓ２６１２：ＹＥＳ）、ＮＡＳマネージャ７０６はそのデータＩ／Ｏ要求についての処理が完了するのを待ってから前記ペアに対する「スプリット指示」を複製管理プログラム７６０に送出する（Ｓ２６１３）。これにより複製先ＬＵにおいてもファイルデータ全体としての整合性が保証される。なお、（Ｓ２６１１：ＮＯ）または（Ｓ２６１２：ＮＯ）の場合には、上述した通常の仕組みによりスプリットに関する処理が行われる（Ｓ２６１４）。
【００９０】
ところで、データＩ／Ｏ要求に対応して行われる記憶デバイス３００への書き込み処理や読み出し処理は必ずしも全ての複製元ＬＵに対して同時に進行するわけではない。そこで、データＩ／Ｏ要求に対応する全ての処理が完了するまで待たずに、スプリットしようとするペアについての処理が完了するのを確認した時点で「スプリット指示」を送出するようにしてもよい。
【００９１】
以上のように設定Ｗｅｂページを利用して情報処理装置２００から複製管理機能についての設定や制御が行えることで、情報処理装置２００を利用するユーザ側の視点から複製管理機能についての柔軟な運用が可能となる。また、ＬＵ単位だけでなくファイル単位やディレクトリ単位で複製管理機能に関する設定や制御ができることで情報処理装置２００のユーザに対するサービスの向上が図られる。なお、以上に説明した設定や制御は、管理端末１６０から行うようにすることも可能である。
【００９２】
＝＝＝リモートコピー＝＝＝
ディスク制御部１４０のＣＰＵ１４２がＮＶＲＡＭ１４４に記憶されているソフトウェアを実行することにより実現される上述のリモートコピー（遠隔複製又はレプリケーション）の機能について、ＮＡＳマネージャ７０６により提供される設定Ｗｅｂページを利用してその設定や制御を行うこともできる。リモートコピーの機能が動作中は、ストレージシステム６００における複製元のＬＵ（以下、「プライマリＬＵ」と記す）にデータが書き込まれると、そのデータがＳＡＮ５００を介してストレージシステム６００から記憶他方の装置システム６１０に送信され、そのデータがストレージシステム６１０のＬＵ（以下、「セカンダリＬＵ」と記す）にも書き込まれる。このようにリモートコピー機能の動作中は、プライマリＬＵとセカンダリＬＵの内容を一致させるように制御がなされる。
【００９３】
リモートコピーの方式としては同期方式と非同期方式とがある。同期方式の場合、情報処理装置２００からプライマリＬＵへのデータ書き込みを指示するデータ入出力要求を受信すると、ストレージシステム６００はプライマリＬＵにそのデータ入出力要求に対応するデータを書き込む。またストレージシステム６００は書き込んだデータと同じデータをストレージシステム６１０に送信する。ストレージシステム６１０はストレージシステム６００から送信されてくるデータを受信すると、そのデータをセカンダリＬＵに書き込む。そしてストレージシステム６１０は、ストレージシステム６１０はデータを書き込んだ旨をストレージシステム６００に対して通知する。そしてこの通知を受信したストレージシステム６００は、情報処理装置２００にデータの書き込みを完了した旨を通知するメッセージを送信する。
【００９４】
このように同期方式の場合には、プライマリＬＵとセカンダリＬＵの双方にデータが書き込まれたことが確認された後にはじめて情報処理装置２００に完了通知が送信される。このため、同期方式では情報処理装置２００が完了通知を受信した時点において必ずプライマリＬＵの内容とセカンダリＬＵの内容の一致性が確保されることになる。但し、同期方式の場合には、セカンダリＬＵへのデータの書き込みが完了するまでは情報処理装置２００に完了通知が報告されない。従って、同期方式の場合にはストレージシステム６００にアクセスする情報処理装置２００からストレージシステム６００にデータ入出力要求が送信されてから情報処理装置２００に完了通知が返ってくるまでの間のレスポンスタイムが非同期方式の場合に比べると一般に長くなる。
【００９５】
非同期方式の場合には、情報処理装置２００からプライマリＬＵへのデータ書き込みを指示するデータ入出力要求を受信したストレージシステム６００はこれに応じてプライマリＬＵにデータを書き込む。また、書き込んだデータと同じデータをストレージシステム６１０に送信する。ストレージシステム６１０はストレージシステム６００から送信されてくるデータを受信すると、そのデータをセカンダリＬＵに書き込む。そしてデータを書き込んだ旨をストレージシステム６００に通知する。ここでストレージシステム６００は、プライマリＬＵにデータを書き込むと、ストレージシステム６１０にデータが書き込まれたかどうかとは関係なく情報処理装置２００に対して上記データ入出力要求についての完了通知を送信してしまう。このため非同期方式では情報処理装置２００へのレスポンスタイムが同期方式の場合に比べて一般に短くなる。但し非同期方式では同期方式のように情報処理装置２００が完了通知を受信したとしてもその時点ではプライマリＬＵとセカンダリＬＵとの間のデータの一致性は必ずしも保証されない。なお、リモートコピーが適用される場合には、一般にプライマリＬＵとセカンダリＬＵとの内容の差分に関する情報がストレージシステム６００において管理される。
【００９６】
以上に説明したプライマリＬＵとセカンダリＬＵとの対応づけや、「同期方式」や「非同期方式」の設定などのリモートコピー機能に関する設定は、ＮＡＳマネージャ７０６が提供する設定Ｗｅｂページを利用して情報処理装置２００から行うことができる。リモートコピー機能の設定に関する処理について図２７に示すフローチャートとともに説明する。この設定に際し利用される設定Ｗｅｂページの一例を図２８に示している。
プライマリＬＵとセカンダリＬＵとを対応づける場合には、この設定Ｗｅｂページ２８００のプライマリＬＵの欄にプライマリＬＵとするＬＵＮを設定し、その右側のセカンダリＬＵの欄にセカンダリＬＵとするＬＵＮを設定する。また、その右側にあるチェック欄をチェックすることにより、このリモートコピーペアを「同期方式」で運用するのか、「非同期方式」で運用するのかを設定することができる（Ｓ２７１１）。「ＯＫ」ボタンがクリックされると設定Ｗｅｂページに設定された内容が情報処理装置２００からＮＡＳマネージャ７０６に送信される（Ｓ２７１２）。
【００９７】
ＮＡＳマネージャ７０６は設定内容を受信すると（Ｓ２７１３）これをディスク制御部１４０に送信する（Ｓ２７１４）。ディスク制御部１４０はこの設定内容を受信するとその内容に従ってメモリ１４３にプライマリＬＵとセカンダリＬＵとの対応づけおよびこのペアのリモートコピーの方式を記憶する（Ｓ２７１５）。
【００９８】
リモートコピー制御プログラム７５０は、メモリ１４３に記憶されているプライマリＬＵとセカンダリＬＵとの関係やリモートコピーの方式に従ってリモートコピーを実行している。従って以上の処理の後は新たに設定されたプライマリＬＵの内容がセカンダリＬＵにも記憶されるように制御が開始される（Ｓ２７１６）。なおこの制御は設定されているリモートコピーの方式に従ってなされる。
【００９９】
リモートコピー機能を適用するかどうかをファイル単位やディレクトリ単位で設定することもできる。この場合、リモートコピー機能が適用されるように設定されているファイルやディレクトリは自動的にプライマリＬＵに記憶もしくは作成されることになる。図２９はリモートコピー機能を適用するかどうかをファイル単位やディレクトリ単位で設定する際に利用される設定Ｗｅｂページの一例である。この設定Ｗｅｂページ２９００の「ファイル名」の欄にはリモートコピー機能を適用しようとするファイル名を設定する。この図の「ディレクトリ名」の欄にはリモートコピー機能を適用しようとするディレクトリ名を指定する。設定Ｗｅｂページ２９００に設定された内容はこのページの「ＯＫ」ボタンがクリックされることによりＮＡＳマネージャ７０６に送信される。ＮＡＳマネージャ７０６は設定内容を受信するとこれをメモリ１１３に記憶する。メモリ１１３に記憶された内容はストレージシステム６００が情報処理装置２００からリモートコピー機能が適用されるように設定されているファイルやディレクトリを対象とするファイルアクセス要求を受信した場合にファイルシステムプログラム７０３により参照される。
【０１００】
次にこの場合にファイルシステムプログラム７０３が行う処理について、図３０に示すフローチャートとともに説明する。
ストレージシステム６００がファイルアクセス要求を受信すると（Ｓ３０１１）、ファイルシステムプログラム７０３はメモリ１４３の内容を参照し、そのファイルアクセス要求で指定されるファイルやディレクトリがリモートコピー機能の適用対象となっているかどうかを調べる（Ｓ３０１２）。ファイルやディレクトリがリモートコピー機能の適用対象であった場合には（Ｓ３０１２：ＹＥＳ）、その書き込みデータの書き込み先がリモートコピー機能のプライマリＬＵに設定されているＬＵの記憶領域となるようにメタデータ７３０を設定する（Ｓ３０１３）。これによりリモートコピー機能の適用対象のファイルはプライマリＬＵに記憶されることになり（Ｓ３０１４）、リモートコピー機能の適用対象のファイルの複製およびそのメタデータ７３０が自動的にセカンダリＬＵにも記憶されるようになる。（Ｓ３０１２：ＮＯ）の場合には、通常の書き込み処理を実行する（Ｓ３０１５）。
【０１０１】
なお、リモートコピー機能によりセカンダリＬＵにも自動的にメタデータ７３０が記憶される。従ってセカンダリＬＵに記憶されているデータについてもファイルとしてファイルシステムが認識することができる。従ってストレージシステム６１０においてファイルシステムプログラムが動作している場合には、ストレージシステム６１０はセカンダリＬＵに記憶されているデータをファイルとして認識することができる。またストレージシステム６１０がブロック単位でのアクセスのみしか受け付けない場合でも、例えばセカンダリＬＵを提供しているストレージシステム６１０に直接アクセスしてくる情報処理装置２００でファイルシステムプログラムが動作していれば、その情報処理装置２００は上記メタデータ７３０を利用してセカンダリＬＵに記憶されているデータをファイルとして認識することができる。
【０１０２】
以上に説明したストレージシステム６００においては、ＮＡＳマネージャ７０６が提供する設定Ｗｅｂページを利用して情報処理装置２００からリモートコピー機能についての設定や制御を行うことができる。これにより情報処理装置２００を利用するユーザ側の視点からリモートコピー機能についての柔軟な運用が可能となり、サービスの向上が図られる。なお、以上に説明した設定や制御は、管理端末１６０から行うようにすることも可能である。
【０１０３】
以上本実施の形態について説明したが、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
【０１０４】
【発明の効果】
記憶デバイス制御装置の制御方法、及び記憶デバイス制御装置を提供することができる。
【図面の簡単な説明】
【図１】本実施の形態に係るストレージシステムの全体構成を示すブロック図である。
【図２】本実施の形態に係る管理端末の構成を示すブロック図である。
【図３】本実施の形態に係る物理ディスク管理テーブルを示す図である。
【図４】本実施の形態に係るＬＵ管理テーブルを示す図である。
【図５】本実施の形態に係るストレージシステムの外観構成を示す図である。
【図６】本実施の形態に係る記憶デバイス制御装置の外観構成を示す図である。
【図７】本実施の形態に係るＣＨＮを示す図である。
【図８】本実施の形態に係るＣＨＦ、ＣＨＡを示す図である。
【図９】本実施の形態に係るメモリに記憶されるデータの内容を説明するための図である。
【図１０】本実施の形態に係るディスク制御部を示す図である。
【図１１】本実施の形態に係るソフトウェア構成図である。
【図１２】本実施の形態に係るチャネル制御部においてクラスタが構成されている様子を示す図である。
【図１３】本実施の形態に係るメタデータを示す図である。
【図１４】本実施例に係るＣＨＮがファイルアクセス要求に設定されているファイル名に対応するＬＵ上のアドレスを特定する様子を説明する図である。
【図１５】本実施の形態に係るロックテーブルを示す図である。
【図１６】本実施の形態に係る、複製管理機能に関する処理を説明するフローチャートである。
【図１７】本実施の形態に係る、複製元ＬＵと複製先のデータが記憶される複製先ＬＵとの対応づけを設定する際に利用される設定Ｗｅｂページである。
【図１８】本実施の形態に係る、「ペア状態」から「スプリット状態」への移行を指示する際に利用される設定Ｗｅｂページである。
【図１９】本実施の形態に係る、「ペア状態」から「スプリット状態」への移行に関する処理を説明するフローチャートである。
【図２０】本実施の形態に係る、「スプリット状態」から「ペア状態」への移行を指示する際に利用される設定Ｗｅｂページである。
【図２１】本実施の形態に係る、「スプリット状態」から「ペア状態」への移行に関する処理を説明するフローチャートである。
【図２２】本実施の形態に係る、ファイル単位やディレクトリ単位で複製管理機能を適用するかどうかを設定する場合に利用される設定Ｗｅｂページである。
【図２３】本実施の形態に係る、ファイル単位やディレクトリ単位で複製管理機能を適用するかどうかを設定する場合における処理を説明するフローチャートである。
【図２４】本実施の形態に係る、ファイル単位やディレクトリ単位でスナップショットイメージを作成する際に利用される設定Ｗｅｂページである。
【図２５】本実施の形態に係る、ファイル単位やディレクトリ単位でスナップショットイメージを作成する場合における処理を説明するフローチャートである。
【図２６】本実施の形態に係る、ファイルデータ全体としての整合性が保証されるようにする仕組みを説明するフローチャートである。
【図２７】本実施の形態に係る、リモートコピー機能におけるプライマリＬＵとセカンダリＬＵとの対応づけの設定に関する処理を説明するフローチャートである。
【図２８】本実施の形態に係る、リモートコピー機能におけるプライマリＬＵとセカンダリＬＵとの対応づけ等の設定に際し利用される設定Ｗｅｂページである。
【図２９】本実施の形態に係る、リモートコピー機能を適用するかどうかをファイル単位やディレクトリ単位で設定する際に利用される設定Ｗｅｂページである。
【図３０】本実施の形態に係る、リモートコピー機能が適用されるように設定されているファイルやディレクトリを対象とするファイルアクセス要求を受信した場合に行われる処理を説明するフローチャートである。
【符号の説明】
１００  記憶デバイス制御装置          １１０  チャネル制御部
１１１  ネットワークインタフェース部  １１２  ＣＰＵ
１１３  メモリ                        １１４  入出力制御部
１１５  ＮＶＲＡＭ                    １１６  ボード接続用コネクタ
１１７  通信コネクタ                  １１８  回路基板
１１９  Ｉ／Ｏプロセッサ              １２０  共有メモリ
１３０  キャッシュメモリ              １４０  ディスク制御部
１５０  接続部                        １５１  内部ＬＡＮ
１６０  管理端末                      １７０  ファン
１８０  クラスタ                      ２００  情報処理装置
３００  記憶デバイス                  ４００  ＬＡＮ
５００  ＳＡＮ                        ６００  ストレージシステム
７３０  メタデータ                    ７２１  ファイルロックテーブル
７２２  ＬＵロックテーブル            ７７０  マイクロプログラム
７７１  ローダ                        ７７２  インストーラ
７７３  ＯＳ                          ９００  ＳＡＮ対応テープデバイス
９１０  テープデバイス
【図１】
2004227099.tif 000003
【図２】
2004227099.tif 000004
【図３】
2004227099.tif 000005
【図４】
2004227099.tif 000006
【図５】
2004227099.tif 000007
【図６】
2004227099.tif 000008
【図７】
2004227099.tif 000009
【図８】
2004227099.tif 000010
【図９】
2004227099.tif 000011
【図１０】
2004227099.tif 000012
【図１１】
2004227099.tif 000013
【図１２】
2004227099.tif 000014
【図１３】
2004227099.tif 000015
【図１４】
2004227099.tif 000016
【図１５】
2004227099.tif 000017
【図１６】
2004227099.tif 000018
【図１７】
2004227099.tif 000019
【図１８】
2004227099.tif 000020
【図１９】
2004227099.tif 000021
【図２０】
2004227099.tif 000022
【図２１】
2004227099.tif 000023
【図２２】
2004227099.tif 000024
【図２３】
2004227099.tif 000025
【図２４】
2004227099.tif 000026
【図２５】
2004227099.tif 000027
【図２６】
2004227099.tif 000028
【図２７】
2004227099.tif 000029
【図２８】
2004227099.tif 000030
【図２９】
2004227099.tif 000031
【図３０】
2004227099.tif 000032