(57)【特許請求の範囲】
【請求項１】
ホスト装置に接続される記憶制御装置であって、
複数のハードディスクドライブの記憶領域上に形成され、前記ホスト装置からのデータを格納する複数の論理ボリュームと、
前記ホスト装置からのデータを格納する不揮発性メモリを複数有する、複数の不揮発性メモリモジュールから構成される不揮発性メモリパッケージと、
前記不揮発性メモリモジュールの電源を制御することで前記ホスト装置からのデータの入出力を制御する不揮発性メモリ制御部と、を備え、
複数の前記不揮発性メモリパッケージから構成される不揮発性メモリパッケージ群上で形成されるＥＣＣグループと、前記複数のハードディスクドライブから構成されるハードディスクドライブ群上で形成されるＥＣＣグループと、の数は同じ数になるように形成され、
前記ホスト装置からのデータは指定の論理ボリュームに格納され、
前記ホスト装置からのデータの書き込み要求に基づいて、指定の不揮発性メモリモジュールに対して前記データの書き込み処理を行うに際して、
前記不揮発性メモリ制御部は、
所定のタイミングで前記データが格納された前記指定の論理ボリュームが所属するＥＣＣグループに対応する前記不揮発性メモリモジュールが所属するＥＣＣグループを確認し、前記指定の論理ボリュームが所属するＥＣＣグループ内のデータ使用率が閾値を超えた場合に、該指定の論理ボリュームが所属するＥＣＣグループに対応するＥＣＣグループに所属する不揮発性メモリモジュールの電源のみをオン制御して、前記指定の論理ボリュームに格納されたデータを前記ＥＣＣグループに所属する不揮発性メモリモジュールへ移動させ、データの移動後、前記ＥＣＣグループに所属する不揮発性メモリモジュールの電源をオフ制御し、
また前記ホスト装置からデータの読み出し要求に基づいて、前記データの読み出し処理を行うに際して、
前記不揮発性メモリ制御部は、
読み出し要求するデータが前記論理ボリュームに格納されているか否かを判断し、論理ボリュームに格納されていると判断した場合は、当該論理ボリュームからデータを読み出す一方、前記論理ボリュームに格納されていないと判断した場合は、前記ＥＣＣグループに所属する不揮発性メモリモジュールの電源をオン制御して、当該不揮発性メモリモジュールから前記データを読み出すとともに、前記論理ボリュームに転送し、データの転送後、前記ＥＣＣグループに所属する不揮発性メモリモジュールの電源をオフ制御する
ことを特徴とする記憶制御装置。
【請求項２】
前記不揮発性メモリパッケージは、自不揮発性メモリパッケージを構成する前記複数の不揮発性メモリモジュール及び前記不揮発性メモリ制御部のみを管理する管理テーブルを有し、
前記不揮発性メモリパッケージの前記不揮発性メモリ制御部は、前記管理テーブルを読み込んで前記データの読み書き要求が自不揮発性メモリパッケージの不揮発性メモリモジュールに対して与えられた要求か否かを判断し、
前記データの読み書き要求が自不揮発性メモリパッケージの不揮発性メモリモジュールに対して与えられているときは、前記管理テーブルに基づいて指定の不揮発性メモリモジュールの電源のみをオン制御し、
前記データの読み書き要求が自不揮発性メモリパッケージの不揮発性メモリモジュールに対して与えられていないときは、他の不揮発性メモリパッケージに前記データの読み書き要求を送信する
ことを特徴とする請求項１に記載の記憶制御装置。
【請求項３】
前記不揮発性メモリモジュールに対するデータの入出力を制御するディスク制御部を備え、
前記ディスク制御部と前記不揮発性パッケージ群とは相互に接続され、
前記ディスク制御部は、最初の不揮発性メモリパッケージ内で任意に選択した前記不揮発性メモリモジュールに格納されるデータを所定のタイミングで読み出しできるか否かを判断し、
前記不揮発性メモリモジュールに格納されるデータを読み出せないときは、次に選択した不揮発性メモリモジュールに格納されるデータを読み出しできるか否かを判断し、
次に選択した前記不揮発性メモリモジュールに格納されるデータを読み出せないときは、他の不揮発性メモリパッケージ内で任意に選択した不揮発性メモリモジュールに格納されるデータを読み出しできるか否かを判断する
ことを特徴とする請求項１に記載の記憶制御装置。
【請求項４】
前記ディスク制御部は、
次に選択した前記不揮発性メモリモジュールに格納されるデータを読み出せる場合には、最初の不揮発性メモリパッケージ内で任意に選択した前記不揮発性メモリモジュールを交換し、
他の前記不揮発性メモリパッケージにある任意の不揮発性メモリモジュールに格納されるデータを読み出せる場合には、
前記最初の不揮発性メモリパッケージを交換し、
他の前記不揮発性メモリパッケージにある任意の不揮発性メモリモジュールに格納されるデータを読み出せない場合には、
前記不揮発性パッケージ群を交換する
ことを特徴とする請求項３に記載の記憶制御装置。
【請求項５】
ホスト装置に接続される記憶制御装置の制御方法であって、
前記記憶制御装置は、
複数のハードディスクドライブの記憶領域上に形成され、前記ホスト装置からのデータを格納する複数の論理ボリュームと、
前記ホスト装置からのデータを格納する不揮発性メモリを複数有する、複数の不揮発性メモリモジュールから構成される不揮発性メモリパッケージと、
前記不揮発性メモリモジュールの電源を制御することで前記ホスト装置からのデータの入出力を制御する不揮発性メモリ制御部と、を備え、
複数の前記不揮発性メモリパッケージから構成される不揮発性メモリパッケージ群上で形成されるＥＣＣグループと、前記複数のハードディスクドライブから構成されるハードディスクドライブ群上で形成されるＥＣＣグループと、の数は同じ数になるように形成され、
前記ホスト装置からのデータは指定の論理ボリュームに格納され、
前記ホスト装置からのデータの書き込み要求に基づいて、指定の不揮発性メモリモジュールに対して前記データの書き込み処理を行うに際して、前記不揮発性メモリ制御部は、
所定のタイミングで前記データが格納された前記指定の論理ボリュームが所属するＥＣＣグループに対応する前記不揮発性メモリモジュールが所属するＥＣＣグループを確認するステップと、
前記指定の論理ボリュームが所属するＥＣＣグループ内のデータ使用率が閾値を超えた場合に、該指定の論理ボリュームが所属するＥＣＣグループに対応するＥＣＣグループに所属する不揮発性メモリモジュールの電源のみをオン制御するステップと、
前記指定の論理ボリュームに格納されたデータを前記ＥＣＣグループに所属する不揮発性メモリモジュールへ移動させるステップと、
データの移動後、前記ＥＣＣグループに所属する不揮発性メモリモジュールの電源をオフ制御するステップと、を有し、
また前記ホスト装置からデータの読み出し要求に基づいて、前記データの読み出し処理を行うに際して、前記不揮発性メモリ制御部は、
読み出し要求するデータが前記論理ボリュームに格納されているか否かを判断するステップと、
論理ボリュームに格納されていると判断した場合は、当該論理ボリュームからデータを読み出すステップと、
前記論理ボリュームに格納されていないと判断した場合は、前記ＥＣＣグループに所属する不揮発性メモリモジュールの電源をオン制御して、当該不揮発性メモリモジュールから前記データを読み出すとともに、前記論理ボリュームに転送するステップと
データの転送後、前記ＥＣＣグループに所属する不揮発性メモリモジュールの電源をオフ制御するステップ、とを有する
ことを特徴とする記憶制御装置の制御方法。
【請求項６】
前記不揮発性メモリパッケージは、自不揮発性メモリパッケージを構成する前記複数の不揮発性メモリモジュール及び前記不揮発性メモリ制御部のみを管理する管理テーブルを有し、
前記不揮発性メモリパッケージの前記不揮発性メモリ制御部では、前記管理テーブルを読み込んで前記データの読み書き要求が自不揮発性メモリパッケージの不揮発性メモリモジュールに対して与えられた要求か否かを判断するステップと、
前記データの読み書き要求が自不揮発性メモリパッケージの不揮発性メモリモジュールに対して与えられているときには、前記管理テーブルに基づいて指定の不揮発性メモリモジュールの電源のみをオン制御するステップと、
前記データの読み書き要求が自不揮発性メモリパッケージの不揮発性メモリモジュールに対して与えられていないときには、他の不揮発性パッケージの不揮発性メモリモジュールに対して与えられていないときには、他の不揮発性メモリパッケージに前記データの読み書き要求を送信するステップと、を有する
ことを特徴とする請求項５に記載の記憶制御装置の制御方法。
【請求項７】
前記不揮発性メモリモジュールに対するデータの入出力を制御するディスク制御部を備え、
前記ディスク制御部と前記不揮発性パッケージ群とは相互に接続され、
前記ディスク制御部では、
所定のタイミングで、最初の不揮発性メモリパッケージ内で任意に選択した前記不揮発性メモリモジュールに格納されるデータを読み出しできるか否かを判断するステップと、
前記不揮発性メモリモジュールに格納されるデータを読み出せないときには、次に選択した不揮発性メモリモジュールに格納されるデータを読み出しできるか否かを判断するステップと、
次に選択した前記不揮発性メモリモジュールに格納されるデータを読み出せないときには、他の不揮発性メモリパッケージ内で任意に選択した不揮発性メモリモジュールに格納されるデータを読み出しできるか否かを判断するステップと、を有する
ことを特徴とする請求項６に記載の記憶制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記憶制御装置及びその制御方法に関し、特に記憶デバイスとしてフラッシュメモリが採用された記憶制御装置に適用して好適なものである。
【背景技術】
【０００２】
従来、記憶制御装置における記憶デバイスとして、半導体メモリやハードディスクドライブが用いられている。半導体メモリは、アクセス速度が速く、小型、低消費電力及び高信頼性という利点を有する反面、単位ビット当たりのコストがハードディスクドライブに比べて格段的に高価という欠点を有する。一方、ハードディスクドライブは、半導体メモリに比べてアクセス速度が遅く、大型、高消費電力及び低信頼性という欠点がある反面、単位ビット当たりのコストが半導体メモリに比べて格段的に安価という利点を有する。
【０００３】
このため、近年では、ストレージシステムにおける記憶デバイスとしては、ハードディスクドライブが主流となっている。これに伴い、ハードディスクドライブに関する技術革新が相次いで行われ、ハードディスクドライブにおける単位面積当たりの記憶容量も飛躍的に向上している。
【０００４】
また、ハードディスクドライブの弱点である信頼性についても、ＲＡＩＤ（Redundant Array of Inexpensive/Independent Disks）技術の適用により向上している。
【０００５】
しかし、近年では、データの書換えが自由に行え、かつ電源を切ってもデータが消滅しない半導体メモリであるフラッシュメモリが記憶デバイスとして広く利用されるようになってきている。このようなフラッシュメモリは、ハードディスクドライブに比べて、電源のオン・オフ速度が数十μｓと非常に早く、市場での普及に伴ってフラッシュメモリの単位ビット当たりのコストも低下してきている。
【０００６】
そこで、このような特徴をもつフラッシュメモリをストレージシステムに応用して、低消費電力のストレージシステムを実現するために、特許文献１及び非特許文献１では、ＭＡＩＤ（Massive Array of Idle Disks）に関する技術が開示されている。
【特許文献１】米国特許出願公開第２００４／００５４９３９号明細書
【非特許文献１】Dennis Colarelli, Dirk Grunwald, and Michael Neufeld 、“The Case for Massive Arrays of Idle Disks (MAID)”、[online]、平成14年１月7日、USENIX（米国）、[平成17年8月5日検索]、インターネット＜URL：http://www.usenix.org/publications/library/proceedings/fast02/wips/colarelli.pdf ＞
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１および非特許文献１の技術では、ストレージシステムにおいて、ＭＡＩＤ技術の適用先を限定するため、低消費電力と高性能の維持を両立できないという問題があった。
【０００８】
また、フラッシュメモリは、１０万回程度の書き込み回数しか保証されていない。このため、フラッシュメモリをストレージシステムの記憶デバイスとして採用する場合には、フラッシュメモリの特性を考慮した対策を講じる必要もある。
【０００９】
本発明は以上の点を考慮してなされたもので、性能を維持しつつ消費電力も抑えられることで、大容量での低消費電力を実現できる記憶制御装置及び制御方法を提案しようとするものである。
【課題を解決するための手段】
【００１０】
かかる課題を解決するため本発明は、ホスト装置に接続される記憶制御装置であって、複数のハードディスクドライブの記憶領域上に形成され、前記ホスト装置からのデータを格納する複数の論理ボリュームと、前記ホスト装置からのデータを格納する不揮発性メモリを複数有する、複数の不揮発性メモリモジュールから構成される不揮発性メモリパッケージと、前記不揮発性メモリモジュールの電源を制御することで前記ホスト装置からのデータの入出力を制御する不揮発性メモリ制御部と、を備え、複数の前記不揮発性メモリパッケージから構成される不揮発性メモリパッケージ群上で形成されるＥＣＣグループと、前記複数のハードディスクドライブから構成されるハードディスクドライブ群上で形成されるＥＣＣグループと、の数は同じ数になるように形成され、前記ホスト装置からのデータは指定の論理ボリュームに格納され、前記ホスト装置からのデータの書き込み要求に基づいて、指定の不揮発性メモリモジュールに対して前記データの書き込み処理を行うに際して、前記不揮発性メモリ制御部は、所定のタイミングで前記データが格納された前記指定の論理ボリュームが所属するＥＣＣグループに対応する前記不揮発性メモリモジュールが所属するＥＣＣグループを確認し、前記指定の論理ボリュームが所属するＥＣＣグループ内のデータ使用率が閾値を超えた場合に、該指定の論理ボリュームが所属するＥＣＣグループに対応するＥＣＣグループに所属する不揮発性メモリモジュールの電源のみをオン制御して、前記指定の論理ボリュームに格納されたデータを前記ＥＣＣグループに所属する不揮発性メモリモジュールへ移動させ、データの移動後、前記ＥＣＣグループに所属する不揮発性メモリモジュールの電源をオフ制御し、また前記ホスト装置からデータの読み出し要求に基づいて、前記データの読み出し処理を行うに際して、前記不揮発性メモリ制御部は、読み出し要求するデータが前記論理ボリュームに格納されているか否かを判断し、論理ボリュームに格納されていると判断した場合は、当該論理ボリュームからデータを読み出す一方、前記論理ボリュームに格納されていないと判断した場合は、前記ＥＣＣグループに所属する不揮発性メモリモジュールの電源をオン制御して、当該不揮発性メモリモジュールから前記データを読み出すとともに、前記論理ボリュームに転送し、データの転送後、前記ＥＣＣグループに所属する不揮発性メモリモジュールの電源をオフ制御することを特徴とする。
【００１１】
この結果、通常時には不揮発性メモリモジュールの電源をオフ制御するとともに、必要時のみ不揮発性メモリモジュールの電源をオン制御するので、フラッシュメモリの性能を維持しつつストレージシステム全体の消費電力も抑えられることができる。
【００１２】
また本発明は、ホスト装置に接続される記憶制御装置の制御方法であって、前記記憶制御装置は、複数のハードディスクドライブの記憶領域上に形成され、前記ホスト装置からのデータを格納する複数の論理ボリュームと、前記ホスト装置からのデータを格納する不揮発性メモリを複数有する、複数の不揮発性メモリモジュールから構成される不揮発性メモリパッケージと、前記不揮発性メモリモジュールの電源を制御することで前記ホスト装置からのデータの入出力を制御する不揮発性メモリ制御部と、を備え、複数の前記不揮発性メモリパッケージから構成される不揮発性メモリパッケージ群上で形成されるＥＣＣグループと、前記複数のハードディスクドライブから構成されるハードディスクドライブ群上で形成されるＥＣＣグループと、の数は同じ数になるように形成され、前記ホスト装置からのデータは指定の論理ボリュームに格納され、前記ホスト装置からのデータの書き込み要求に基づいて、指定の不揮発性メモリモジュールに対して前記データの書き込み処理を行うに際して、前記不揮発性メモリ制御部は、所定のタイミングで前記データが格納された前記指定の論理ボリュームが所属するＥＣＣグループに対応する前記不揮発性メモリモジュールが所属するＥＣＣグループを確認するステップと、前記指定の論理ボリュームが所属するＥＣＣグループ内のデータ使用率が閾値を超えた場合に、該指定の論理ボリュームが所属するＥＣＣグループに対応するＥＣＣグループに所属する不揮発性メモリモジュールの電源のみをオン制御するステップと、前記指定の論理ボリュームに格納されたデータを前記ＥＣＣグループに所属する不揮発性メモリモジュールへ移動させるステップと、データの移動後、前記ＥＣＣグループに所属する不揮発性メモリモジュールの電源をオフ制御するステップと、を有し、また前記ホスト装置からデータの読み出し要求に基づいて、前記データの読み出し処理を行うに際して、前記不揮発性メモリ制御部は、読み出し要求するデータが前記論理ボリュームに格納されているか否かを判断するステップと、論理ボリュームに格納されていると判断した場合は、当該論理ボリュームからデータを読み出すステップと、前記論理ボリュームに格納されていないと判断した場合は、前記ＥＣＣグループに所属する不揮発性メモリモジュールの電源をオン制御して、当該不揮発性メモリモジュールから前記データを読み出すとともに、前記論理ボリュームに転送するステップと、データの転送後、前記ＥＣＣグループに所属する不揮発性メモリモジュールの電源をオフ制御するステップ、とを有することを特徴とする。
【００１３】
この結果、通常時には不揮発性メモリモジュールの電源をオフ制御するとともに、必要時のみ不揮発性メモリモジュールの電源をオン制御するので、フラッシュメモリの性能を維持しつつストレージシステム全体の消費電力も抑えられることができる。
【発明の効果】
【００１４】
本発明によれば、電源のオン・オフ速度が早い不揮発性媒体であるフラッシュメモリを搭載したストレージシステムを用いて、必要なときのみフラッシュメモリの電源を入れる制御を行うため、大容量かつ低消費電力のストレージシステムを実現することができる。
【発明を実施するための最良の形態】
【００１５】
（１）第１の実施の形態
（１−１）ストレージシステムの外観構成
図１において、２は本実施の形態による記憶制御装置を示す。このストレージシステム１は、データの入出力制御を行うデータ入出力機能が搭載された記憶制御装置２を備えて構成される。
【００１６】
記憶制御装置２は、直方体形状のラックフレーム３内に、それぞれ複数の冷却ファンユニット４、フラッシュメモリパッケージ５、ハードディスクドライブユニット６、論理基板７及び電源ユニット８が複数収容されている。
【００１７】
ラックフレーム３は、名部が仕切り板によって複数段に区分けできるように構成されている。本実施の形態においては、ラックフレーム３内が全部で９段に区分けされており、その最上段及び上から６段目に冷却ファンユニット４、上から２段目及び３段目にフラッシュメモリパッケージ５、上から４段目及び５段目にハードディスクドライブユニット６、上から７段目及び８段目に論理基板７、最下段に電源ユニット８がそれぞれ収納されている。
【００１８】
冷却ファンユニット４は、１又は複数のファンを内蔵するユニットであり、フラッシュメモリパッケージ５、ハードディスクドライブユニット６、論理基板７及び電源ユニット８で発生した熱をラックフレーム３の外部に排出するために用いられる。
【００１９】
フラッシュメモリパッケージ５は、例えば図２に示すように、それぞれ複数のフラッシュメモリチップ（以下、フラッシュメモリという）５００が実装されたフラッシュメモリモジュール５０が、所定の大きさの配線基板９上に交換自在に装着されて構成される。この配線基板９上には、フラッシュメモリ５００に対するデータの入出力制御を行うフラッシュメモリ制御部５１が実装されている。
【００２０】
フラッシュメモリパッケージ５の前端部側には、図３に示すように、フラッシュメモリモジュール５０の実装数に対応したＬＥＤ（Light Emitting Diode）５２が設けられており、フラッシュメモリモジュール５０の障害を外部に通知できる構成である。また、フラッシュメモリパッケージ５の前端部側は、開扉できる構成となっている。
【００２１】
フラッシュメモリパッケージ５の後端部側には、コネクタ５３が設けられている。このコネクタ５３をラックフレーム３内に配置されたバックボード１０上にあるコネクタ１１と嵌め合わせることによって、フラッシュメモリパッケージ５はバックボート１０に物理的及び電気的に接続した状態に装填できる構成になっている。
【００２２】
本実施の形態では、フラッシュメモリモジュール５０は、ラックフレーム３内にフラッシュメモリパッケージ５を挿入する方向（図中では、Ｚ方向）に対して、垂直方向（図中では、Ｘ方向）に配線基板９上で交換自在に装着されて構成される。
【００２３】
ハードディスクドライブユニット６は、所定の大きさの筐体に例えば3.5インチのハードディスクドライブ６０が収納されて構成される。この筐体の後端部側にはコネクタ（図示せず）が設けられており、このコネクタをラックフレーム３内に配置されたバックボード１０上のコネクタ１１に嵌め合わせることにより、当該ハードディスクドライブユニット６をバックボード１０に物理的及び電気的に接続した状態に装填できる構成になっている。また、図４に示すように、ハードディスクドライブユニット６は、フラッシュメモリパッケージ５と通信線ＤＴを介して電気的に接続しており、相互にデータの転送及び制御信号等の通信を行えるよう構成されている。
【００２４】
論理基板７には、後述するチャネルアダプタ７００、キャッシュメモリ７０５、ディスクアダプタ７０６等が形成されて構成される。論理基板７は、ラックフレーム３内に配置されたバックボード１０に挿抜自在に接続されており、このバックボード１０を介してラックフレーム３内に装填された他の論理基板７等と通信を行えるように構成されている。また、図４に示すように、論理基板７は、後述するディスクアダプタ７０６からフラッシュメモリパッケージ５又はハードディスクドライブユニット６と通信線ＤＴを介して電気的に接続されており、データの転送及び制御信号等の通信を行えるよう構成されている。
【００２５】
電源ユニット８は、電源ユニット部８Ａ及バッテリユニット部８Ｂから構成される。このうち電源ユニット部８Ａは、図４に示すように、外部から供給される商用電源の交流電力を直流電力に変換し、電源供給ラインＰＷを介して記憶制御装置２の各部位にそれぞれ供給する。
【００２６】
管理端末１２は、記憶制御装置２を管理するために操作されるサーバ用のコンピュータ装置であり、例えばノート型のパーソナルコンピュータから構成される。管理端末１２は、記憶制御装置２内の障害発生を監視してディスプレイ画面１２０に表示することができる。
【００２７】
（１−２）ストレージシステムの内部構成
図５において、１は全体として本実施の形態によるストレージシステムを示す。図５は、本実施の形態によるストレージシステム１の内部構成を示す。図５に示すように、このストレージシステム１は、ホスト装置２０からのデータの入出力を制御するコントローラ部７０と、ホスト装置２０からのデータを保存する記録部５６とを備えた記憶制御装置２がネットワーク（図示せず）を介してホスト装置２０又は管理端末１２と接続する構成である。
【００２８】
コントローラ部７０では、チャネルアダプタ７００、共有メモリ７０２、キャッシュメモリ７０５、ディスクアダプタ７０６が接続部７０８を介して接続される構成である。そして、チャネルアダプタ７００、共有メモリ７０２、キャッシュメモリ７０５、ディスクアダプタ７０６間のデータやコマンドの授受は、例えば高速スイッチングによりデータ伝送を行う超高速クロスバススイッチなどのスイッチ又はバス等を介して行われる。
【００２９】
チャネルアダプタ７００は、マイクロプロセッサ７０１、ローカルメモリ（図示せず）及び通信インターフェース等（図示せず）を備えたマイクロコンピュータシステムとして構成されている。チャネルアダプタ７００は、ホスト装置２０から送信される各種コマンドを解釈して、必要な処理を実行する。チャネルアダプタ７００のポート（図示せず）には、それぞれを識別するためのネットワークアドレス（例えば、ＩＰアドレスやＷＷＮ）が割り当てられており、これにより、各チャネルアダプタ７００がそれぞれ個別にＮＡＳ（Network Attached Storage）として振る舞うことができるようになされている。
【００３０】
共有メモリ７０２は、チャネルアダプタ７００及びディスクアダプタ７０６により共有される記憶メモリである。共有メモリ７０２は、後述する各種テーブル７０３，７０４、システム構成情報、各種制御プログラム及びホスト装置２０からのコマンドなどを記憶するために利用される。
【００３１】
キャッシュメモリ７０５も、チャネルアダプタ７００及びディスクアダプタ７０６により共有される記憶メモリである。このキャッシュメモリ７０５は、主に記憶制御装置２に入出力するユーザデータを一時的に記憶するために利用される。
【００３２】
ディスクアダプタ７０６は、マイクロプロセッサ７０７やメモリ（図示せず）等を備えたマイクロコンピュータシステムとして構成され、記録部５６との通信時におけるプロトコル制御を行うインターフェースとして機能する。ディスクアダプタ７０６は、例えばファイバチャネルケーブルを介して記憶制御装置２に搭載された記録部５６と接続されており、ファイバチャネルプロトコルに従って記録部５６との間でデータの授受を行う。
【００３３】
記録部５６は、フラッシュメモリパッケージ群５６Ａとハードディスクドライブ群５６Ｂから構成される。
【００３４】
フラッシュメモリパッケージ群５６Ａは、複数のフラッシュメモリパッケージ５が直列に接続され、直列に接続されたフラッシュメモリパッケージ５がディスクアダプタ７０６に対して並行に複数配列される構成である。そして、１枚のフラッシュメモリパッケージ５は、複数のフラッシュメモリモジュール５０から構成される。１枚のフラッシュメモリモジュール５０には、複数のフラッシュメモリ５００が内蔵されている。フラッシュメモリ５００は、書換え可能な不揮発性の半導体メモリである。
【００３５】
本実施の形態では、ディスクアダプタ７０６が送受信する信号に対して、複数のフラッシュメモリモジュール５０を並列に構成させて、１つのＥＣＣ（Error Correcting Code）グループとしている。そして、１つのＥＣＣグループが提供する物理的な記憶領域上に、１又は複数の論理的なボリューム（以下、これを論理ボリュームという）が設定される。ホスト装置２０からのデータは、この論理ボリュームに、フラッシュメモリ５００上のデータ管理単位である所定の大きさのブロックを単位として、読み書きされる。なお、本実施の形態におけるＥＣＣグループと、１回のデータ読み書き要求で送受信するデータを分散して読み書きするためにグループ分けしたレイドグループと、は同義である。
【００３６】
ハードディスクドライブ群５６Ｂは、記憶制御装置２に搭載された複数のハードディスクドライブユニット６から１つのＥＣＣグループを構成させて形成される。ハードディスクドライブ６０は、上述のようにハードディスクドライブユニット６内に収納された状態で記憶制御装置２に搭載され、ＲＡＩＤ方式で運用される。ハードディスクドライブ６０が提供する記憶領域上には、１又は複数の論理ボリュームＬＵが定義される。そして、この論理ボリュームＬＵに、ホスト装置２０からのデータが所定大きさのブロックを単位として読み書きされる。
【００３７】
各論理ボリュームＬＵには、それぞれ固有の識別子（ＬＵＮ：Logical Unit Number）が割り当てられる。本実施の形態の場合、ユーザデータの入出力は、この識別子と、各ブロックにそれぞれ割り当てられるそのブロックに固有の番号（ＬＢＡ：Logical Block Address）との組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
【００３８】
（１−３）フラッシュメモリパッケージの内部構成
図６は、本実施の形態によるフラッシュメモリパッケージ５の内部構成を示す。図６に示すように、このフラッシュメモリパッケージ５は、フラッシュメモリ制御部５１内に、ディスクアダプタ７０６とフラッシュメモリ制御部５１との間でデータの入出力を制御する第１インターフェース部５１０、フラッシュメモリパッケージ５全体の動作制御を司るプロセッサ５１１、メモリ５１２、フラッシュメモリ制御部５１とフラッシュメモリモジュール５０と間でデータの入出力を制御する第２インターフェース部５１４、フラッシュメモリモジュール５０の電源を制御するフラッシュメモリ電源部５１５、他のフラッシュメモリパッケージ５との間でデータの入出力を制御する第３インターフェース部５１６、及び、ＬＥＤ５２を制御するＬＥＤ制御部５１７から構成されている。
【００３９】
第１インターフェース部５１０は、ディスクアダプタ７０６側のシリアルラインと、フラッシュメモリパッケージ５側のパラレルラインと、を相互に変換するインターフェースである。
【００４０】
メモリ５１２は、ホスト装置２０が指定するフラッシュメモリモジュール５０に対してデータの入出力を行うために、後述するモジュール管理テーブル５１３を有する。
【００４１】
第２インターフェース部５１４は、フラッシュメモリモジュール５０内にある複数のフラッシュメモリ５００と対応した複数の入出力ポートＰを有する。
【００４２】
複数の入出力ポートＰは、複数のフラッシュメモリモジュール５０内にあるそれぞれのフラッシュメモリ５００との間でデータの入出力制御を行うためのポートである。本実施の形態の第２インターフェース部５１４では、８本のポートＰ０〜Ｐ７を有している。例えば、ポートＰ０は、複数のフラッシュメモリモジュール５０にあるそれぞれの第１のフラッシュメモリ５００との間でデータの入出力制御を行える。
【００４３】
フラッシュメモリ電源部５１５は、ホスト装置２０が指定するフラッシュメモリモジュール５０に対してデータの入出力を行うために、フラッシュメモリモジュール５０単位で電源のオン・オフを制御する。本実施の形態のフラッシュメモリ電源部５１５は、指定するフラッシュメモリモジュール５０に対してデータの入出力を行う場合にのみ、指定のフラッシュメモリモジュール５０の電源を入れるように制御する。したがって、通常時によるフラッシュメモリ電源部５１５では、全てのフラッシュメモリモジュール５０はオフ電源になるように制御されている。また、フラッシュメモリ電源部５１５では、フラッシュメモリモジュール５を通電するために使用するＣＳ（Chip Select）信号と、フラッシュメモリモジュール５に対してデータの出力を許可するＯＥ（Output Enable）信号と、のアサート又はデアサートを制御する。
【００４４】
第３インターフェース部５１６は、ホスト装置２０が他のフラッシュメモリモジュール５０を指定する場合に、自フラッシュメモリモジュール５０と直列接続された次のフラッシュメモリモジュール５０との間でデータの入出力制御を行う。
【００４５】
ＬＥＤ制御部５１７は、所定のフラッシュメモリモジュール５０に障害が発生した場合に、障害が発生したフラッシュメモリモジュール５０に対応するＬＥＤ５２を点灯させるために制御する。
【００４６】
（１−４）テーブルの構成
本実施の形態のストレージシステム１は、フラッシュメモリ５００の電源のオン・オフ速度が速いという特性を活かし、フラッシュメモリモジュール５０単位ごとに、指定のフラッシュメモリモジュール５０の電源のオン・オフ制御を行える点を１つの特徴としている。
【００４７】
この特徴点を実現するために、まず共有メモリ７０２には、位置管理テーブル７０３とアドレス変換テーブル７０４とが格納されている。
【００４８】
図７に示すように、位置管理テーブル７０３は、ホスト装置２０からデータの書き込み先を記憶制御装置２内の論理的なアドレスで示したデータアドレスと、キャッシュメモリ７０５及びハードディスクドライブ６０へのデータ格納の有無と、を管理するテーブルである。位置管理テーブル７０３は、上述した「データアドレス」欄７０３Ａ、ホスト装置２０からのデータがキャッシュメモリ７０５に一時的に格納されたか否かを示す「ＣＭ」欄７０３Ｂ、及び、ホスト装置２０からのデータがハードディスクドライブ６０に格納されたか否かを示す「ＨＤＤ」欄７０３Ｃから構成される。
【００４９】
例えば、ホスト装置２０からのデータがキャッシュメモリ７０５に一時的に格納された場合には、「ＣＭ」欄７０３Ｂ内にフラグを立てる（図中、「○」表示）。同様に、当該データがハードディスクドライブ６０に格納された場合には、「ＨＤＤ」欄７０３Ｃ内にフラグを立てる（図中、「○」表示）。
【００５０】
図８に示すように、アドレス変換テーブル７０４は、ホスト装置２０からデータの書き込み先を記憶制御装置２内の論理的なアドレスで示したデータアドレスと、論理ボリュームＬＵ及びフラッシュメモリモジュール５０へのデータ格納先と、の対応関係を管理するテーブルである。
【００５１】
アドレス変換テーブル７０４は、上述した「データアドレス」欄７０４Ａ、ハードディスクドライブ群５６Ｂ上の格納先である論理ボリュームＬＵを示す「ＬＵ番号」欄７０４Ｂ、論理ボリュームＬＵが所属するＥＣＣグループを示す「ＬＵ−ＥＣＣＧ」欄７０４Ｃ、フラッシュメモリパッケージ群５６Ａ上の格納先であるフラッシュメモリモジュール５０を示す「ＦＭモジュール番号」欄７０４Ｄ、及び、フラッシュメモリモジュール５０が所属するＥＣＣグループを示す「ＦＭ−ＥＣＣＧ」欄７０４Ｅから構成される。
【００５２】
このように、共有メモリ７０２内の各種テーブル７０３、７０４は、データアドレスに基づいて作成及び更新されるテーブルであることがわかる。
【００５３】
ホスト装置２０からのデータが、各種テーブル７０３、７０４に基づいて、任意のフラッシュメモリパッケージ５に転送された場合には、フラッシュメモリパッケージ５内のメモリ５１２に有するモジュール管理テーブル５１３に基づいてデータを格納する。
【００５４】
図９に示すように、モジュール管理テーブル５１３は、それぞれのフラッシュメモリパッケージ５毎に有するテーブルであり、自フラッシュメモリパッケージ５のフラッシュメモリ制御部５１とフラッシュメモリモジュール５０とを管理するテーブルである。モジュール管理テーブル５１３は、他のフラッシュメモリモジュール５に関する情報を有さず、自フラッシュメモリモジュール５に関する情報のみをテーブルで管理している。
【００５５】
また、モジュール管理テーブル５１３は、複数あるフラッシュメモリパッケージ５を識別するために自フラッシュメモリ制御部５１に識別番号を付与した「ＣＴＬ  ＮＡＭＥ」欄５１３Ａと、自フラッシュメモリ制御部５１が制御する自フラッシュメモリモジュール５０の識別番号を付与した「ＦＭモジュール番号」欄５１３Ｂとから構成される。
【００５６】
（１−５）初期設定
本願の特徴点を実現させるにあたり、まず本実施の形態におけるストレージシステム１の初期設定を管理者が行う必要がある。
【００５７】
図１０に示すように、管理者が管理端末１２の管理画面１２０からフラッシュメモリパッケージ群５６Ａの設定入力を行う。具体的には、管理者がフラッシュメモリ５００の物理構成及びＥＣＣグループの構成情報を入力する（Ｓ１）。
【００５８】
例えば本実施の形態では、管理者は、８チップのフラッシュメモリ５００から１枚のフラッシュメモリモジュール５０を構成する、４枚のフラッシュメモリモジュールから１ＥＣＣグループを構成する、ＥＣＣグループの総数、総容量、等を入力する。
【００５９】
次に、管理者はフラッシュメモリパッケージ群５６Ａ側で作成したＥＣＣグループ数と同じ数のＥＣＣグループをハードディスクドライブ群５６Ｂに作成するよう記憶制御装置２に指示をする（Ｓ２）。
【００６０】
本実施の形態によるストレージシステム１は、データの読み出し特性を向上させるため、従来のハードディスクドライブに代えてフラッシュメモリ５００を記憶デバイスとして採用するとともに、フラッシュメモリ５００に対するデータ書き込み回数を抑制するため、ハードディスクドライブ６０をデータ書き込み時におけるバッファとして採用している。このため、フラッシュメモリパッケージ群５６Ａに形成されるＥＣＣグループ数とハードディスクドライブ群５６Ｂに形成されるＥＣＣグループ数とを同数に設定する。これにより、ハードディスクドライブ群５６Ｂに格納されるデータをフラッシュメモリパッケージ群５６Ａへ容易に移動することができる。
【００６１】
加えて、ハードディスクドライブ６０はバッファとしてデータを一時的に格納できる程度の最小限の容量を有すればよく、フラッシュメモリパッケージ群５６Ａと同容量である必要はない。
【００６２】
続いて管理者は、ハードディスクドライブ群５６Ｂに格納されるデータをフラッシュメモリパッケージ群５６Ａへ移動するタイミングのトリガ設定を行う（Ｓ３）。例えば、管理者は、１日毎に移動する、ハードディスクドライブ群５６Ｂに形成したＥＣＣグループ内のデータ使用率が８０％を超えると移動する、等のトリガ設定を行う。
【００６３】
最後に管理者は、フラッシュメモリパッケージ群５６Ａに対して行う定期診断のタイミングを入力する（Ｓ４）。
【００６４】
全てのフラッシュメモリモジュール５０内にあるフラッシュメモリ５００は、通常時ではオフ電源になるように制御されている。このため、フラッシュメモリ５００が、正常か、障害発生が生じているか、等を定期的に診断する必要が生じる。定期診断のタイミングは、障害発生が検出できるタイミングでよいが、例えば、１日毎に定期診断をする等のタイミング設定を行う。
【００６５】
このように、管理者が初期設定のための各種パラメータを設定すると、初期設定は終了する。
【００６６】
（１−６）データの読み書き処理
では次に、初期設定後のストレージシステム１におけるデータの書き込み処理及びデータの読み出し処理の概要について説明する。データの読み書き処理は、チャネルアダプタ７００のマイクロプロセッサ７０１又はディスクアダプタ７０６のマイクロプロセッサ７０７が、共有メモリ７０２内にあるデータの読み書きプログラム（図示せず）に基づいて実行する。
【００６７】
（１−６−１）データの書き込み処理
まず、図１１及び図１２に示すように、チャネルアダプタ７００がホスト装置２０から書き込み要求を受信すると、データの書き込み処理を開始する（Ｓ１０）。
【００６８】
書き込み要求を受信したチャネルアダプタ７００は、チャネルアダプタ７００のマイクロプロセッサ７０１に、書き込み要求を受信した旨を通知する（Ｓ１１）。そうすると、チャネルアダプタ７００のマイクロプロセッサ７０１は、チャネルアダプタ７００を起動し（Ｓ１２）、ホスト装置２０からチャネルアダプタ７００で受信したデータをキャッシュメモリ７０５に転送する（Ｓ１３）。
【００６９】
チャネルアダプタ７００のマイクロプロセッサ７０１は、データをキャッシュメモリ７０５に転送した旨を共有メモリ７０２に通知すると（Ｓ１４）、位置管理テーブル７０３及びアドレス変換テーブル７０４を作成する（Ｓ１５）。
【００７０】
具体的には、チャネルアダプタ７００のマイクロプロセッサ７０１は、キャッシュメモリ７０５に転送したデータのデータアドレスを、「データアドレス」欄７０３Ａ，７０４Ａに追加する。また、チャネルアダプタ７００のマイクロプロセッサ７０１は、「ＣＭ」欄７０３Ｂにフラグを立てる。本実施の形態では、フラグを立てる例として「○」情報を追加する。
【００７１】
ディスクアダプタ７０６のマイクロプロセッサ７０７が、共有メモリ７０２内の各種テーブル７０３、７０４の情報を読み込むことにより、データがキャッシュメモリ７０５に書き込まれたと判断すると（Ｓ１６）、マイクロプロセッサ７０７はディスクアダプタ７０６とハードディスクドライブ６０とを起動させてデータ転送の準備を行う（Ｓ１７）。
【００７２】
その後、ディスクアダプタ７０６のマイクロプロセッサ７０７は、キャッシュメモリ７０５に一時的に格納されているデータを、ホスト装置２０が指定した格納先である論理ボリュームＬＵへ書き込む（Ｓ１８）。
【００７３】
ディスクアダプタ７０６のマイクロプロセッサ７０７は、データをハードディスクドライブ６０上の論理ボリュームＬＵに転送した旨を共有メモリ７０２に通知すると（Ｓ１９）、位置管理テーブル７０３及びアドレス変換テーブル７０４を更新する（Ｓ２０）。
【００７４】
具体的には、ディスクアダプタ７０６のマイクロプロセッサ７０７は、データアドレスに対応する「ＨＤＤ」欄７０３Ｃにフラグを立てる。本実施の形態では、フラグを立てる例として「○」情報を追加する。また、マイクロプロセッサ７０７は、ＬＵ番号」欄７０４ＢにＬＵ番号を追加し、「ＬＵ−ＥＣＣＧ」欄７０４Ｃに追加した論理ボリュームＬＵが所属するＥＣＣグループ番号を追加する。
【００７５】
その後、マイクロプロセッサ７０７は、データ書き込み処理を終了する（Ｓ２１）。
【００７６】
（１−６−２）フラッシュメモリへのデータ書き込み処理
次に、本実施の形態におけるストレージシステム１において、ホスト装置２０からデータの書き込み要求に基づいて、上述のようにハードディスクドライブ群５６Ｂに格納されたデータをフラッシュメモリパッケージ群５６Ａへ書き込む処理について説明する。
【００７７】
具体的には、図１３に示すように、ディスクアダプタ７０６のマイクロプロセッサ７０７は、管理者がステップＳ３で設定したタイミングで、フラッシュメモリモジュール５０に対してデータ書き込み処理を開始する（Ｓ３０）。
【００７８】
まず、マイクロプロセッサ７０７は、共有メモリ７０２内にある位置管理テーブル７０３及びアドレス変換テーブル７０４を読み込む（Ｓ３１）。ここでマイクロプロセッサ７０７は、移行対象のデータを格納する論理ボリュームＬＵが所属するＥＣＣグループと対応するフラッシュメモリパッケージ群５６ＡのＥＣＣグループを確認し、フラッシュメモリパッケージ群５６ＡのＥＣＣグループに所属するフラッシュメモリモジュール５０の番号を確認する（Ｓ３１）。
【００７９】
マイクロプロセッサ７０７は、論理ボリュームＬＵが所属するＥＣＣグループと対応するＥＣＣグループに所属するフラッシュメモリモジュール５０を有するフラッシュメモリパッケージ５に対して、当該フラッシュメモリモジュール５０の電源をオンするように指示をする（Ｓ３２）。
【００８０】
マイクロプロセッサ７０７は、ハードディスクドライブ群５６Ｂの論理ボリュームＬＵから当該フラッシュメモリモジュール５０にデータを移行し、１枚のフラッシュメモリモジュール５０にある複数のフラッシュメモリ５００にデータを並列に書き込む（Ｓ３３）。
【００８１】
マイクロプロセッサ７０７は、データを書き込んだフラッシュメモリモジュール５０が属するフラッシュメモリパッケージ５に対して、当該フラッシュメモリモジュール５０の電源をオフするように指示をする（Ｓ３４）。
【００８２】
マイクロプロセッサ７０７は、アドレス変換テーブル７０４を更新する（Ｓ３５）。具体的には、マイクロプロセッサ７０７が、データ移行先であるフラッシュメモリモジュール５０を「ＦＭモジュール番号」欄７０４Ｄに追加し、「ＦＭモジュール番号」欄７０４Ｄに追加したフラッシュメモリモジュールが所属し、かつ、論理ボリュームＬＵが所属するＥＣＣグループと対応するＥＣＣグループを「ＦＭ−ＥＣＣＧ」欄７０４Ｅに追加する。
【００８３】
そして、マイクロプロセッサ７０７は、フラッシュモジュール５０へのデータ書き込み処理を終了する（Ｓ３６）。
【００８４】
では、ディスクアダプタ７０６のマイクロプロセッサ７０７がフラッシュメモリパッケージ群５６Ａに対してデータ書き込み処理を実行させる場合の、ディスクアダプタ７０６とフラッシュメモリパッケージ５とのやり取りについて説明する。
【００８５】
図１４及び図１５に示すように、ディスクアダプタ７０６のマイクロプロセッサ７０７は、ホスト装置２０からのデータが格納されている論理ボリュームＬＵが所属するＥＣＣグループと対応するＥＣＣグループに所属するフラッシュメモリモジュール５０に対して、ＥＣＣグループ単位で電源オン要求を行う（Ｓ４０、Ｓ３２）。
【００８６】
フラッシュメモリ制御部５１のプロセッサ５１１は、ディスクアダプタ７０６のマイクロプロセッサ７０７からの電源オン要求を受信すると（Ｓ４１）、モジュール管理テーブル５１３を読み込んで、要求されるフラッシュメモリモジュール５０がモジュール管理テーブル５１３で管理するフラッシュメモリモジュール５０であるかどうかを判断する（Ｓ４２）。
【００８７】
プロセッサ５１１は、モジュール管理テーブル５１３で管理するモジュール５０ではないと判断すると（Ｓ４２：ＮＯ）、他のフラッシュメモリパッケージ５に電源オン要求を、第３インターフェース部５１６を介して送信する（Ｓ４３）。
【００８８】
プロセッサ５１１は、モジュール管理テーブル５１３で管理するモジュール５０であると判断すると（Ｓ４２：ＹＥＳ）、ホスト装置２０が要求するデータを格納するフラッシュメモリモジュール５０を通電させるため、ＣＳ信号をアサートする（Ｓ４４）。
【００８９】
こうして、プロセッサ５１１は、フラッシュメモリ電源部５１５を介してホスト装置２０が要求するデータを格納するフラッシュメモリモジュール５０の電源をオンする（Ｓ４５）。
【００９０】
その後、ディスクアダプタ７０６のマイクロプロセッサ７０７は、論理ボリュームＬＵからフラッシュメモリモジュール５０にデータを移行し、フラッシュメモリモジュール５０の複数のフラッシュメモリ５００にデータを並列に書き込む（Ｓ４６、Ｓ３３）。
【００９１】
フラッシュメモリモジュール５０は、複数のフラッシュメモリ５００にデータを書き終えると、書き込み終了通知をプロセッサ５１１に送信し、プロセッサ５１１はそのまま書き込み終了通知をディスクアダプタ７０６のマイクロプロセッサ７０７に送信する（Ｓ４７）。
【００９２】
マイクロプロセッサ７０７は、書き込み終了通知を受信すると、データを書き込んだＥＣＣグループのフラッシュメモリモジュール５０に対して、ＥＣＣグループ単位で電源オフ要求を行う（Ｓ４８、Ｓ３４）。
【００９３】
プロセッサ５１１は、マイクロプロセッサ７０７からの電源オフ要求を受信すると（Ｓ４９）、再びモジュール管理テーブル５１３を読み込んで、要求されるフラッシュメモリモジュール５０がモジュール管理テーブル５１３で管理するフラッシュメモリモジュール５０であるかどうかを判断する（Ｓ５０）。
【００９４】
プロセッサ５１１は、モジュール管理テーブル５１３で管理するモジュール５０ではないと判断すると（Ｓ５０：ＮＯ）、他のフラッシュメモリパッケージ５に読み出し要求を、第３インターフェース部５１６を介して送信する（Ｓ５１）。
【００９５】
プロセッサ５１１は、モジュール管理テーブル５１３で管理するモジュール５０であると判断すると（Ｓ５０：ＹＥＳ）、ホスト装置２０が要求するデータを格納するフラッシュメモリモジュール５０の電源をオフさせるため、ＣＳ信号及びＯＥ信号をデアサートする（Ｓ５２）。
【００９６】
プロセッサ５１１は、フラッシュメモリ電源部５１５を介してフラッシュメモリモジュール５０の電源をオフする（Ｓ５３）。
【００９７】
このように、フラッシュメモリモジュール５０への書き込み処理は、予め設定されるタイミングよって実行される。加えて、フラッシュメモリモジュール５０への書き込み処理の際は、フラッシュメモリパッケージ５のプロセッサ５１１が、指定されたフラッシュメモリモジュール５０のみに電源オン指示を行うため、ストレージシステム１の省電力化を図ることができる。
【００９８】
（１−６−２）データの読み出し処理
次に、本実施の形態におけるストレージシステム１において、ホスト装置２０からデータの読み出し要求に基づいて記憶制御装置２内に保存されるデータを読み出す場合について説明する。
【００９９】
具体的には、図１６に示すように、チャネルアダプタ７００がホスト装置２０からデータの読み出し要求を受信すると、データの読み出し処理を開始する（Ｓ６０）。
【０１００】
まず、チャネルアダプタ７００のマイクロプロセッサ７０１は、共有メモリ７０２内にある位置管理テーブル７０３及びアドレス変換テーブル７０４を確認する（Ｓ６１）。具体的には、マイクロプロセッサ７０１は、ホスト装置２０が要求するデータがキャッシュメモリ又はハードディスクドライブ６０に格納されているかを確認する。加えて、マイクロプロセッサ７０１は、ホスト装置２０が要求するデータを格納する論理ボリュームＬＵ番号及びフラッシュメモリアドレスを確認し、ホスト装置２０が要求するデータが格納された物理的な格納先を確認する。
【０１０１】
次に、チャネルアダプタ７００のマイクロプロセッサ７０１は、ホスト装置２０が要求するデータがキャッシュメモリ７０５にあるか否かを判断する（Ｓ６２）。
【０１０２】
チャネルアダプタ７００のマイクロプロセッサ７０１は、ホスト装置２０が要求するデータがキャッシュメモリ７０５にあると判断すると（Ｓ６２：ＹＥＳ）、キャッシュメモリ７０５からホスト装置２０が要求するデータを読み出して（Ｓ６３）、データ読み出し処理を終了する（Ｓ７０）。
【０１０３】
一方、チャネルアダプタ７００のマイクロプロセッサ７０１は、ホスト装置２０が要求するデータがキャッシュメモリ７０５にないと判断すると（Ｓ６２：ＮＯ）、引き続きマイクロプロセッサ７０１はホスト装置２０が要求するデータがハードディスクドライブ６０にあるか否かを判断する（Ｓ６４）。
【０１０４】
チャネルアダプタ７００のマイクロプロセッサ７０１は、ホスト装置２０が要求するデータがハードディスクドライブ６０にあると判断すると（Ｓ６４：ＹＥＳ）、ハードディスクドライブ６０が形成する論理ボリュームＬＵからホスト装置２０が要求するデータを読み出して（Ｓ６５）、データ読み出し処理を終了する（Ｓ７０）。
【０１０５】
チャネルアダプタ７００のマイクロプロセッサ７０１は、ホスト装置２０が要求するデータがハードディスクドライブ６０にないと判断すると（Ｓ６４：ＮＯ）、ディスクアダプタ７０６のマイクロプロセッサ７０７は、ホスト装置２０が要求するデータが格納されているフラッシュメモリモジュール５０に対してＥＣＣグループ単位で電源オン要求を行う（Ｓ６６）。
【０１０６】
ディスクアダプタ７０６のマイクロプロセッサ７０７は、ホスト装置２０が要求するデータをフラッシュメモリモジュール５０からキャッシュメモリ７０５に転送すると（Ｓ６７）、ホスト装置２０が要求するデータが格納されているフラッシュメモリモジュール５０に対してＥＣＣグループ単位で電源オフ要求を行う（Ｓ６８）。
【０１０７】
チャネルアダプタ７００のマイクロプロセッサ７０１は、キャッシュメモリ７０５からホスト装置２０へデータを転送すると（Ｓ６９）、データ読み出し処理を終了する（Ｓ７０）。
【０１０８】
では、ディスクアダプタ７０６のマイクロプロセッサ７０７がフラッシュメモリパッケージ群５６Ａに対してデータ読み出し処理を実行させる場合の、ディスクアダプタ７０６とフラッシュメモリパッケージ５とのやり取りについて説明する。
【０１０９】
図１７から図１９に示すように、ディスクアダプタ７０６のマイクロプロセッサ７０７は、ホスト装置２０が要求するデータが格納されているフラッシュメモリ５００が所属するＥＣＣグループのフラッシュメモリモジュール５０に対する電源オン要求をフラッシュメモリパッケージ群５６Ａに行う（Ｓ８０、Ｓ６６）。
【０１１０】
その後、ステップＳ８１からステップＳ８５までの処理は、ステップＳ４１からステップＳ４５までの処理手順と同様に行う。
【０１１１】
そして、ディスクアダプタ７０６のマイクロプロセッサ７０７は、電源オン要求に続いて、データの読み出し要求をフラッシュメモリパッケージ群５６Ａに行う（Ｓ８６）。
【０１１２】
プロセッサ５１１は、マイクロプロセッサ７０７からの読み出し要求を受信すると（Ｓ８７）、再びモジュール管理テーブル５１３を読み込んで、要求されるフラッシュメモリモジュール５０がモジュール管理テーブル５１３で管理するフラッシュメモリモジュール５０であるかどうかを判断する（Ｓ８８）。
【０１１３】
プロセッサ５１１は、モジュール管理テーブル５１３で管理するモジュール５０ではないと判断すると（Ｓ８８：ＮＯ）、他のフラッシュメモリパッケージ５に読み出し要求を、第３インターフェース部５１６を介して送信する（Ｓ８９）。
【０１１４】
プロセッサ５１１は、モジュール管理テーブル５１３で管理するモジュール５０であると判断すると（Ｓ８８：ＹＥＳ）、ホスト装置２０が要求するデータを格納するフラッシュメモリモジュール５０の各フラッシュメモリ５００からデータを出力させるため、ＯＥ信号をアサートする（Ｓ９０）。
【０１１５】
こうして、フラッシュメモリモジュール５０は、各フラッシュメモリ５００からデータを読み出すと、第２のインターフェース部５１４を介して、プロセッサ５１１にデータを転送する（Ｓ９１）。
【０１１６】
プロセッサ５１１は、ホスト装置２０が要求するフラッシュメモリモジュール５０のディスクアダプタ７０６に、読み出したデータをそのまま転送する（Ｓ９２、Ｓ６７）。
【０１１７】
ディスクアダプタ７０６のマイクロプロセッサ７０７は、読み出したデータを受信すると（Ｓ９３、Ｓ６７）、キャッシュメモリ７０２へ読み出したデータを転送する（Ｓ９４、Ｓ６７）。
【０１１８】
その後、ステップＳ９５からステップＳ１００までの処理は、ステップＳ４８からステップＳ５３までの処理手順と同様に行う。
【０１１９】
このように、フラッシュメモリモジュール５０からの読み出し処理は、フラッシュメモリパッケージ５のプロセッサ５１１が、ＥＣＣグループ単位で指定されたフラッシュメモリモジュール５０のみに電源オン指示を行うため、ストレージシステム１の省電力化を図ることができる。
【０１２０】
（１−７）定期診断処理
次に、全てのフラッシュメモリモジュール５０は通常時ではオフ電源になるように制御されているため、フラッシュメモリパッケージ群５６Aが正常な状態であるか否かを定期的に診断する必要がある。ここでは、フラッシュメモリパッケージ群５６Aの定期診断処理について説明する。定期診断処理は、ディスクアダプタ７０６のマイクロプロセッサ７０７が、定期診断プログラム（図示せず）に基づいて実行する。
【０１２１】
具体的には、図２０に示すように、ステップＳ４で管理者が設定した定期診断のタイミングになると、定期診断プログラムが作動して、ディスクアダプタ７０６のマイクロプロセッサ７０７がＥＣＣグループ単位で定期診断処理を開始する（Ｓ１１０）。
【０１２２】
本実施の形態では、図２１で示すように、マイクロプロセッサ７０７は、同じＥＣＣグループに所属するフラッシュメモリモジュール５０をもつ任意のフラッシュメモリパッケージ５を選択する。同じＥＣＣグループに所属するフラッシュメモリモジュール５０は、４枚のフラッシュメモリパッケージ５で構成されているため、４枚のフラッシュメモリパッケージ５に対して、ＥＣＣグループ単位毎に並行に定期診断を処理することになる。
【０１２３】
そして、マイクロプロセッサ７０７は、同じＥＣＣグループに所属する任意のフラッシュメモリモジュール５０にある複数のフラッシュメモリ５００からデータの読み出しが可能か否かを判断する（Ｓ１１１）。
【０１２４】
このとき、マイクロプロセッサ７０７は、実際に任意のフラッシュメモリモジュール５０に対し、データの読み出しを行う（Ｓ８０からＳ１００）。なお、データの読み出し処理は、上述のステップＳ８０〜Ｓ１００で説明したので、詳細は省略する。
【０１２５】
マイクロプロセッサ７０７は、任意のフラッシュメモリモジュール５０にある各フラッシュメモリ５００からデータを読み出すことができたと判断すると（Ｓ１１１：ＹＥＳ）、定期診断の対象となっている最後のフラッシュメモリモジュール５０であるか否かを判断する（Ｓ１１２）。
【０１２６】
マイクロプロセッサ７０７は、最後のフラッシュメモリモジュール５０であると判断すると（Ｓ１１２：ＹＥＳ）、フラッシュメモリパッケージ群５６Ａは正常であるとして、定期診断処理を正常終了する（Ｓ１１４）。
【０１２７】
マイクロプロセッサ７０７は、最後のフラッシュメモリモジュール５０ではないと判断すると（Ｓ１１２：ＮＯ）、次のフラッシュメモリモジュール５０の診断を行うため（Ｓ１１３）、再びステップＳ１１１の処理を実行する。
【０１２８】
一方、マイクロプロセッサ７０７は、任意のフラッシュメモリモジュール５０にある各フラッシュメモリ５００からデータを読み出すことができないと判断すると（Ｓ１１１：ＮＯ）、最初に診断したフラッシュメモリモジュール５０は障害が発生していることになるので、任意に選択した次のフラッシュメモリモジュール５０の診断を行う（Ｓ１１５）。
【０１２９】
そして、マイクロプロセッサ７０７は、次のフラッシュメモリモジュール５０に対してもステップＳ１１１の処理手順と同様に、データが読み出し可能か否かを判断する（Ｓ１１６）。このときも、マイクロプロセッサ７０７は、実際にフラッシュメモリモジュール５０に対し、データの読み出しを行う（Ｓ８０からＳ１００）。
【０１３０】
マイクロプロセッサ７０７は、次のフラッシュメモリモジュール５０にある各フラッシュメモリ５００からデータを読み出すことができたと判断すると（Ｓ１１６：ＹＥＳ）、次に診断したフラッシュメモリモジュール５０は正常に動作していることがわかるため、最初にエラーとなったフラッシュメモリモジュール５０のみ交換をする（Ｓ１１７）。
【０１３１】
例えば、フラッシュメモリパッケージ５のプロセッサ５１１は、ＬＥＤ制御部５１７に最初に診断したフラッシュメモリモジュール５０に対応するＬＥＤ５２を点灯するように指示をする。そうすると対応するＬＥＤ５２が点灯するので、図２２に示すように、管理者は外部から視覚的に障害箇所を認識することができる。
【０１３２】
また、図２３に示すように、管理端末１２の管理画面１２０から障害箇所にマークＭをする等の処理を施したアドレス変換テーブル７０４を出力させることで、管理者は視覚的に具体的な障害箇所を認識することができる。
【０１３３】
一方、マイクロプロセッサ７０７は、次のフラッシュメモリモジュール５０にある各フラッシュメモリ５００からもデータを読み出すことができないと判断すると（Ｓ１１６：ＮＯ）、任意に選択したフラッシュメモリパッケージ５自体に障害が発生していると判断できる。
【０１３４】
そこで次に、マイクロプロセッサ７０７は、他のフラッシュメモリパッケージ５についても障害が検出できるか否かを判断する（Ｓ１１８）。具体的には、マイクロプロセッサ７０７は、他のフラッシュメモリパッケージ５についても、任意のフラッシュメモリモジュールを選択し、データの読み出し処理を行う（Ｓ８０からＳ１００）。
【０１３５】
マイクロプロセッサ７０７は、他のフラッシュメモリパッケージ５については障害が検出できなかったと判断した場合には（Ｓ１１８：ＮＯ）、障害が発生したフラッシュメモリパッケージ５のみを交換する（Ｓ１１９）。
【０１３６】
また、マイクロプロセッサ７０７は、他のフラッシュメモリパッケージ５についても障害が検出できたと判断した場合には（Ｓ１１８：ＹＥＳ）、フラッシュメモリパッケージ群５６Ａの交換を行う（Ｓ１２０）。
【０１３７】
このように、ディスクアダプタ７０６のマイクロプロセッサ７０７が、ＥＣＣグループ単位で定期診断を行って障害を迅速に発見できるため、通常時にフラッシュメモリモジュール５０をオフ電源とする危険性はない。
【０１３８】
（１−８）障害発生時の管理画面
上述で説明した定期診断処理において又は通常のデータ読み書き処理において、フラッシュメモリパッケージ群５６Ａ内の、あるフラッシュメモリモジュール５０に障害が発生した場合に、管理画面１２０から管理者に通知する画面表示例について説明する。
【０１３９】
例えば、図２４に示すように、あるＥＣＣグループに所属するフラッシュメモリモジュール５０に障害が発生したとすると、まず、フラッシュメモリパッケージ群５６Ａ箇所を点滅させた記憶制御装置２の概念図が管理画面１２０上に表示される。
【０１４０】
そして、管理者が点滅したフラッシュメモリパッケージ群５６Ａ箇所をクリックすると、図２５に示すように、複数のフラッシュメモリパッケージ５の拡大図が管理画面１２０上に表示される。このとき、障害が発生しているフラッシュメモリパケージ５箇所が点滅する。
【０１４１】
さらに、管理者がこの点滅したフラッシュメモリパッケージ５箇所をクリックすると、図２６に示すように、フラッシュメモリパッケージ５の内部概念図が管理画面１２０上に表示される。そして、障害が発生した入るフラッシュメモリモジュール５０箇所が点滅する。
【０１４２】
このように、管理者にどのフラッシュメモリモジュール５０で障害が発生しているかを視覚的に通知することができる。この通知を受けた管理者は、この表示画面と実際の実装で点灯しているＬＥＤ５２とで、障害が発生しているフラッシュメモリモジュール５０の交換を確実に行うことができる。なお、フラッシュメモリモジュール５０で障害が発生した場合を説明したが、フラッシュメモリパッケージ５全体で障害が発生した場合についても同様の表示方法で視覚的に管理者に通知することができる。
【０１４３】
（１−９）第１の実施の形態の効果
本実施の形態によれば、電源のオン・オフ速度が速い不揮発性媒体であるフラッシュメモリを搭載したストレージシステムを用いて、必要なときのみフラッシュメモリの電源を入れる制御を行うため、大容量かつ低消費電力のストレージシステムを実現することができる。
【０１４４】
（２）第２の実施の形態
（２−１）ストレージシステムの外観構成
１００は、第２の実施の形態におけるストレージシステムを示す。このストレージシステム１００は、データの入出力制御を行うデータ入出力機能が搭載された記憶制御装置２’を備えて構成される。なお、第２の実施の形態におけるストレージシステム１００は、図５で示した構成と同様なので詳細な説明を省略する。
【０１４５】
記憶制御装置２’は、直方体形状のラックフレーム３’内に、それぞれ複数の冷却ファンユニット４、フラッシュメモリパッケージ５’、ハードディスクドライブユニット６、論理基板７及び電源ユニット８が複数収容されている。なお、第１の実施の形態で説明をした図番と同一の図番については、同じ構成要素を示すものであるので説明を省略する。
【０１４６】
フラッシュメモリパッケージ５’は、図２７に示すように、それぞれ複数のフラッシュメモリチップ（以下、フラッシュメモリという）５００が実装されたフラッシュメモリモジュール５０が、所定の大きさの配線基板９’上に交換自在に装着されて構成される。
【０１４７】
フラッシュメモリパッケージ５’の前端部側には、図３に示すように、フラッシュメモリモジュール５０の実装数に対応したＬＥＤ（Light Emitting Diode）５２が設けられている。またフラッシュメモリパッケージ５の前端部側は、開扉できる構成となっている。
【０１４８】
フラッシュメモリパッケージ５’の後端部裏側には、コネクタ５３が設けられている。このコネクタ５３をラックフレーム３内に配置されたバックボード１０上にあるコネクタ１１と嵌め合わせることによって、フラッシュメモリパッケージ５’はバックボート１０に物理的及び電気的に接続した状態に装填できる構成になっている。
【０１４９】
本実施の形態では、フラッシュメモリモジュール５０は、ラックフレーム３’内にフラッシュメモリパッケージ５’を挿入する方向（図中では、＋Ｚ方向）に対して、反対方向（図中では、−Ｚ方向）に配線基板９’上で交換自在に装着されて構成される。
【０１５０】
この構成により、フラッシュメモリパッケージ５’の前端部側を開扉するだけで、障害が発生したフラッシュメモリモジュール５０のみを抜出することができるため、交換作業が簡単になる。
【０１５１】
（２−２）第２の実施の形態の効果
本実施の形態によれば、電源のオン・オフ速度が速い不揮発性媒体であるフラッシュメモリを搭載したストレージシステムを用いて、必要なときのみフラッシュメモリの電源を入れる制御を行うため、大容量かつ低消費電力のストレージシステムを実現することができる。
【０１５２】
（３）その他の実施の形態
第１及び第２の実施の形態によれば、１つのＥＣＣグループは、フラッシュメモリパッケージ５を跨いだ並列のフラッシュメモリモジュール５０を１つのＥＣＣグループとして構成させていたが、フラッシュメモリパッケージ５内の複数のフラッシュメモリモジュール５０を１つのＥＣＣグループとしてもよい。また、フラッシュメモリパッケージ５を跨いだ直列のフラッシュメモリモジュール５０を１つのＥＣＣグループとして構成させてもよい。
【０１５３】
第１及び第２の実施の形態によれば、不揮発性メモリをフラッシュメモリとして説明したが、不揮発性の半導体メモリならよく、本実施の形態に限られない。
【０１５４】
同様に、不揮発性メモリパッケージをフラッシュメモリパッケージ５として、又は不揮発性メモリモジュールをフラッシュメモリモジュール５０として説明したが、不揮発性の半導体メモリから構成されるパッケージ、又はモジュールならよく、本実施の形態に限られない。
【０１５５】
フラッシュメモリパッケージ５に対するデータの入出力制御は、ディスク制御部であるディスクアダプタ７０６のマイクロプロセッサ７０７が行ったが、チャネルアダプタ７００のマイクロプロセッサ７０１が行ってもよい。
【０１５６】
定期診断処理の際に障害が生じた場合について、図２２及び図２３を用いて説明をしたが、ストレージシステム１を通常動作させている際に障害が生じた場合についても同様に管理者に対して視覚的に障害発生を認識することができる。
【産業上の利用可能性】
【０１５７】
本発明は、１又は複数の記憶制御装置を有するストレージシステムや、その他の形態の記憶システムに広く適用することができる。
【図面の簡単な説明】
【０１５８】
【図１】第１の実施の形態における記憶制御装置の外観概略構成を示す斜視図である。
【図２】第１の実施の形態のフラッシュメモリパッケージを示す構成図である。
【図３】第１の実施の形態のフラッシュメモリパッケージを示す概略斜視図である。
【図４】第１の実施の形態の記憶制御装置を示す結線図である。
【図５】第１の実施の形態におけるストレージシステムの全体構成を示すブロック図である。
【図６】第１の実施の形態のフラッシュメモリパッケージを示すブロック構成図である。
【図７】第１の実施の形態における位置管理テーブルを示す図表である。
【図８】第１の実施の形態におけるアドレス変換テーブルを示す図表である。
【図９】第１の実施の形態におけるモジュール管理テーブルを示す図表である。
【図１０】第１の実施の形態における初期設定処理のフローチャートである。
【図１１】第１の実施の形態における書き込み処理のフローチャートである。
【図１２】第１の実施の形態における書き込み処理のフローチャートである。
【図１３】第１の実施の形態のフラッシュメモリパッケージへの書き込み処理のフローチャートである。
【図１４】第１の実施の形態のフラッシュメモリパッケージへの書き込み処理のシーケンス図である。
【図１５】第１の実施の形態のフラッシュメモリパッケージへの書き込み処理のシーケンス図である。
【図１６】第１の実施の形態における読み出し処理のフローチャートである。
【図１７】第１の実施の形態のフラッシュメモリパッケージからの読み出し処理のシーケンス図である。
【図１８】第１の実施の形態のフラッシュメモリパッケージからの読み出し処理のシーケンス図である。
【図１９】第１の実施の形態のフラッシュメモリパッケージからの読み出し処理のシーケンス図である。
【図２０】第１の実施の形態における定期診断処理のフローチャートである。
【図２１】第１の実施の形態における定期診断処理の説明図である。
【図２２】第１の実施の形態のフラッシュメモリモジュールに障害が発生した場合の外観概略斜視図である。
【図２３】第１の実施の形態のフラッシュメモリモジュールに障害が発生した場合のアドレス変換テーブルを出力した管理画面である。
【図２４】第１の実施の形態のフラッシュメモリモジュールに障害が発生した場合の管理画面である。
【図２５】第１の実施の形態のフラッシュメモリモジュールに障害が発生した場合の管理画面である。
【図２６】第１の実施の形態のフラッシュメモリモジュールに障害が発生した場合の管理画面である。
【図２７】第２の実施の形態のフラッシュメモリパッケージを示す概略斜視図である。
【符号の説明】
【０１５９】
１…ストレージシステム、２、２’…記憶制御装置、２０……ホスト装置、３、３’……ラックフレーム、４……冷却ファンユニット、５、５’……フラッシュメモリパッケージ、５０……フラッシュメモリモジュール、５００……フラッシュメモリ、５１０……第１インターフェース部、５１１……プロセッサ、５１２……メモリ、５１３……モジュール管理テーブル、５１４……第２インターフェース部、５１５……フラッシュメモリ電源部、５１６……第３インターフェース部、５１７……ＬＥＤ制御部、５２……ＬＥＤ、６……ハードディスクドライブユニット、７……論理基板、８……電源ユニット、７００……チャネルアダプタ、７０２……共有メモリ、７０３……位置管理テーブル、７０４……アドレス変換テーブル、７０５……キャッシュメモリ、７０６……ディスクアダプタ、５６Ａ……フラッシュメモリパッケージ群、５６Ｂ……ハードディスクドライブ群、１２……管理端末。
【図１】
0005111965.tif 000002
【図２】
0005111965.tif 000003
【図３】
0005111965.tif 000004
【図４】
0005111965.tif 000005
【図５】
0005111965.tif 000006
【図６】
0005111965.tif 000007
【図７】
0005111965.tif 000008
【図８】
0005111965.tif 000009
【図９】
0005111965.tif 000010
【図１０】
0005111965.tif 000011
【図１１】
0005111965.tif 000012
【図１２】
0005111965.tif 000013
【図１３】
0005111965.tif 000014
【図１４】
0005111965.tif 000015
【図１５】
0005111965.tif 000016
【図１６】
0005111965.tif 000017
【図１７】
0005111965.tif 000018
【図１８】
0005111965.tif 000019
【図１９】
0005111965.tif 000020
【図２０】
0005111965.tif 000021
【図２１】
0005111965.tif 000022
【図２２】
0005111965.tif 000023
【図２３】
0005111965.tif 000024
【図２４】
0005111965.tif 000025
【図２５】
0005111965.tif 000026
【図２６】
0005111965.tif 000027
【図２７】
0005111965.tif 000028