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