(57)【要約】【課題】  本発明は、より効率的にかつ費用効率よく記憶資源を使用する記憶システムを提供する。【解決手段】  記憶システム１００は、少なくとも３つのタイプ１０６，１０８，１１０でありそれぞれのクラス階層を有する複数の記憶デバイス１０４を含む記憶アレイ１０２と、コントローラ１１２とを備える。コントローラ１１２は、記憶デバイス１０４の階層に連結され、記憶デバイス１０４の階層に対するアクセスを選択的に制御する階層記憶管理能力を実行することができる。【選択図】図１
2005135408.tif 000002
【特許請求の範囲】
【請求項１】
記憶システム（１００）であって、
少なくとも３つのタイプ（１０６、１０８、１１０）でありそれぞれのクラス階層を有する複数の記憶デバイス（１０４）を含む記憶アレイ（１０２）と、
前記記憶デバイスの階層に連結され、該記憶デバイスの階層に対するアクセスを選択的に制御する階層記憶管理能力を実行することができるコントローラ（１１２）と、
を備える記憶システム。
【請求項２】
記憶システム（１００）であって、
前記記憶アレイ（１０２）は、少なくとも３つのタイプでありそれぞれのパフォーマンス階層を有する記憶デバイスの階層を含む、
請求項１に記載の記憶システム。
【請求項３】
記憶システム（１００）であって、
前記記憶アレイ（１０２）は、少なくとも３つのタイプでありそれぞれの経済性すなわちコスト階層を有する記憶デバイスの階層をさらに含む、
請求項１に記載の記憶システム。
【請求項４】
記憶システム（１００）であって、
或るレベルの階層記憶に対し記憶部を提供する固体キャッシュおよび共有メモリ（１０６）
をさらに備える請求項１に記載の記憶システム。
【請求項５】
或るレベルの階層記憶に対し記憶部を提供する、比較的高性能な小型コンピュータシステムインタフェース（ＳＣＳＩ）および／またはファイバーチャネル（ＦＣ）記憶デバイス（１０８）
をさらに備える請求項１に記載の記憶システム。
【請求項６】
或るレベルの階層記憶に対し記憶部を提供する、比較的低性能なシリアルＡＴ−ａｔｔａｃｈｅｄ（ＳＡＴＡ）記憶デバイス（１１０）
をさらに備える請求項１に記載の記憶システム。
【請求項７】
第１のレベルの階層記憶に対し記憶部を提供する固体キャッシュおよび共有メモリ（１０６）と、
第２のレベルの階層記憶に対し記憶部を提供する、比較的高性能な小型コンピュータシステムインタフェース（ＳＣＳＩ）および／またはファイバーチャネル（ＦＣ）記憶デバイス（１０８）と、
或るレベルの階層記憶に対し記憶部を提供する、比較的低性能なシリアルＡＴ−ａｔｔａｃｈｅｄ（ＳＡＴＡ）記憶デバイス（１１０）と、
前記コントローラ（１１２）において実行可能な、前記ＳＡＴＡ記憶部の記憶容量をアクセスの少ない顧客データと短期間かつ予測不可能な記憶使用とに割り当てるプロセスと、
をさらに備える請求項１に記載の記憶システム。
【請求項８】
記憶システム（１００）であって、
ファイバーチャネル（ＦＣ）（１０８）およびＳＡＴＡ（１１０）ディスクドライブを利用するディスクアレイ内で使用され、コミットされておらず構造化されていない記憶部としてＳＡＴＡ記憶部を割り当てる、階層記憶管理コントローラ
をさらに備える請求項７に記載の記憶システム。
【請求項９】
記憶システム（１００）であって、
ファイバーチャネル（ＦＣ）（１０８）およびＳＡＴＡ（１１０）ディスクドライブを利用するディスクアレイ内で使用され、論理ユニット（ＬＵＮ）コピーおよびスナップショットを含むアレイ内および／またはアレイ間データ転送のためにＳＡＴＡ記憶部を割り当てる、階層記憶管理コントローラ
をさらに備える請求項７に記載の記憶システム。
【請求項１０】
記憶システム（５００）であって、
少なくとも２つのタイプ（５０６、５０８）でありそれぞれのクラス階層を有する記憶ディスクの階層を含むディスクアレイ（５０４）と、
前記ディスクアレイに連結され、前記記憶ディスクの階層に対するアクセスを選択的に制御する階層記憶管理能力を実行することができるコントローラ（５１０）と、
を備える記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
階層記憶システムに関する。
【背景技術】
【０００２】
ネットワーク記憶アレイは、データセグメントまたはレコード全体の冗長データコピーを使用して有用なデータ処理機能を実行しデータ可用性を確実にすることができる。一例では、記憶システム構成は、データを記憶するために複数のディスクを使用することができる。アプリケーションホストは、１次ミラーディスクに書き込まれる新たなデータを作成する。ディスクコントローラは、２次ディスクに対しデータ変更を自動的に更新することにより、１次ディスクへの書込みに応答する。２次ディスクは、停止していない限り、バックアップおよびデータマイニングホストシステムからのリードオンリアクセスを可能にする。ミラーリングされたペアは、完全なアウトオブオーダ（out-of-order）コピーによる初期生成コピー状態と、おそらくはアウトオブオーダで送信された、更新されたデータを有するペア状態と、一貫し使用可能であるが古いデータを有する中断状態と、データがアウトオブオーダコピーと一貫しない再同期化状態と、を含む複数の状態を有する。２次データは、中断状態中にのみ使用可能であり、一貫し、かつ書込み可能である。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
既存のハイエンドディスクアレイのインターナルボリュームコピー（internal volume copy）製品では、すべての１次ボリュームデータを２次ボリュームに存在するように転送する時間は、非常に長くなる可能性がある。４０〜８０メガバイト／秒という通常の内部コピー速度では、数百〜数千ギガバイトの範囲のサイズを有するユーザボリュームは、数分続く場合がある。その間に、電力損失すなわち停電と同程度に起こりうる障害によって引き起こされる災害または破壊的状況の場合に、実質的なデータ損失が発生する可能性がある。ユーザは、コピーが完了するまでに起こり得る損失に１次データさえもさらす長いコピー時間に固有の脆弱性に対し非常に神経質である。
【０００４】
非常に脆弱なコピー操作は、データウェアハウスアプリケーション、データバックアップ、アプリケーションテスト等を含む目的ではよくあることであり、そのため損失の可能性は、常にユーザの心配事である。
【０００５】
データが実際に転送される前に操作の完了をシミュレートするすなわち装う（feign）、仮想コピー技法がある。かかる技法は、ユーザが実際に２次ボリュームにデータを要求する場合に、大急ぎの（frantic）アウトオブオーダバックグラウンドコピーを利用する。既知の技法は、２次ボリュームの読取装置に対し完全なデータ可用性という錯覚を与える一方で、完全なコピーが完了する前の１次ボリュームの障害によって２次ボリューム読取装置に一貫しない使用不可能なデータが残されるという点で、欠点を有する。
【０００６】
データ処理のために追加の記憶部が望ましいが、高性能で高信頼性の記憶部は、高容量動作において多額の出費である。従来のディスクアレイは、１つのレベルに揮発性固体キャッシュおよび共有メモリ、ならびに別のレベルに不揮発性高性能で高額（３〜５セント／メガバイト）の小型コンピュータシステムインタフェース（Small Computer Systems Interface）またはファイバーチャネル（Fibre Channel）（ＳＣＳＩ／ＦＣ）回転記憶部を含む２つのレベルの階層記憶を有する。高額な回転記憶部は、一般に、高品質エンタープライズ使用に対して割り当てられ、一時的または低頻度の使用には貴重すぎると考えられている。
【０００７】
望まれるものは、より効率的にかつ費用効率よく記憶資源を使用する記憶システムおよび操作方法である。
【課題を解決するための手段】
【０００８】
種々の実施形態において、記憶システムは、少なくとも３つのタイプでありそれぞれのクラス階層を有する複数の記憶デバイスを含む記憶アレイと、コントローラとを備える。コントローラは、記憶デバイスの階層に連結され、記憶デバイスの階層に対するアクセスを選択的に制御する階層記憶管理能力を実行することができる。
【０００９】
構造と操作の方法との両方に関連する本発明の実施形態は、以下の説明と添付図面とを参照することにより最もよく理解することができる。
【発明を実施するための最良の形態】
【００１０】
図１を参照すると、概略ブロック図は、階層記憶システム１００の実施形態を示す。記憶システム１００は、それぞれのクラス階層を有する少なくとも３つのタイプ１０６、１０８および１１０の複数の記憶デバイス１０４を含む記憶アレイ１０２を備える。記憶システム１００はまた、コントローラ１１２も備える。コントローラ１１２は、記憶デバイスの階層に連結されており、記憶デバイス１０４の階層へのアクセスを選択的に制御する階層記憶管理能力を実行することができる。
【００１１】
実施形態によっては、記憶アレイ１０２は、少なくとも３つのタイプの記憶デバイス１０４の階層を含み、クラス階層は記憶デバイスパフォーマンスに基づく階層である。他の実施形態では、クラス階層は、記憶部の単位毎のコスト等の経済的要素に基づく。
【００１２】
例示的な実施形態では、第１の記憶デバイスタイプ１０６は、第１のレベルの階層記憶に対して記憶部を提供する固体キャッシュおよび共有メモリである。第２の記憶デバイスタイプ１０８は、第２のレベルの階層記憶に対して記憶部を提供する、比較的高性能な小型コンピュータシステムインタフェース（ＳＣＳＩ）および／またはファイバーチャネル（ＦＣ）記憶デバイスから構成される。第３の記憶デバイスタイプ１１０は、或るレベルの階層記憶に対して記憶部を提供する、比較的低性能なシリアルＡＴ−ａｔｔａｃｈｅｄ（ＳＡＴＡ）記憶デバイスから構成される。コントローラ１１２はさらに、ＳＡＴＡ記憶部１１０の記憶容量を、アクセスの少ない顧客データと短期間かつ予測不可能な記憶部使用とに対して割り当てる実行可能プロセスを含む。
【００１３】
ＳＡＴＡ装置の先行装置であるＡＴ−ａｔｔａｃｈｅｄ装置（ＡＴＡ）は、従来、コストとそれほどミッションクリティカルではないアプリケーションとに基づくデスクトップマーケットに制限されていた。ＡＴＡ／ＳＡＴＡ装置をファイバーチャネルおよびＳＣＳＩという競争相手から区別する差別化要因は、速度および信頼性である。ＡＴＡおよびＳＡＴＡドライブは、通常、時に実質的に、通常ＳＣＳＩドライブに対する下限である１０，０００回転／分（ＲＰＭ）未満の速度で動作する。信頼性に関して、ＡＴＡ／ＳＡＴＡデスクトップドライブの平均故障間隔（ＭＴＢＦ）は、一般に、数１０万時間の範囲にあるが、ＳＣＳＩドライブは、通常１００万時間を越えるとみなされる。より最近では、ＳＡＴＡドライブによっては、信頼性が向上し、５０００ＲＰＭと７５００ＲＰＭとの間の速度で１００万時間を越える動作で動作するものもある。
【００１４】
他の実施形態では、パフォーマンスを、回転ディスク回転速度とは別のまたはそれに加えたパラメータによって定義することができる。たとえば、記憶ドライブの複数レベルを設定して、アクセス可能なシリンダの数を制限することにより、ストロークを短くすることができる。
【００１５】
例示的な記憶システム１００は、１つの記憶レベル１０８における高価格かつ高性能の記憶デバイスと、別の記憶レベル１１０における低価格かつ低性能の装置と、をともに有する。
【００１６】
実施形態によっては、第２の記憶レベル１０８としてファイバーチャネル（ＦＣ）およびＳＡＴＡディスクドライブを利用するディスク記憶アレイである記憶アレイ１０２内において、コントローラ１１２または別の階層記憶管理コントローラを使用してもよく、当該コントローラ１１２または別の階層記憶管理コントローラは、第３の記憶レベル１１０として、コミットされておらず構造化されていない記憶部としてＳＡＴＡ記憶部を割り当てる。
【００１７】
実施形態によっては、第２の記憶レベル１０８としてファイバーチャネル（ＦＣ）およびＳＡＴＡディスクドライブを利用するディスク記憶アレイである記憶アレイ１０２内において、コントローラ１１２または別の階層記憶管理コントローラを使用してもよく、当該コントローラ１１２または別の階層記憶管理コントローラは、第３の記憶レベル１１０として、論理ユニット（ＬＵＮ）コピーおよびスナップショットを含むアレイ内および／またはアレイ間データ転送のためにＳＡＴＡ記憶部を割り当てる。
【００１８】
実施形態によっては、第３レベルのＳＡＴＡ記憶部１１０を、中間記憶部のために、たとえば、リモートボリュームミラーリングの宛先として、テープへの最終的な保存の途中でのデータの一時的リポジトリとして使用してもよい。アプリケーションによっては、スナップショットリポジトリ、リモートボリュームミラーリングの宛先および電子ボールトを含むコピーサービスに対するターゲット記憶を利用してもよい。また、ＳＡＴＡ記憶部１１０を、複数の可変パフォーマンス、可用性およびコスト特性を有するアプリケーションのための層記憶部のために使用してもよい。
【００１９】
例示的な階層記憶システム１００は、スイッチドバックプレーン１１６を介して記憶アレイコントローラ１１２と通信する複数のチャネルアダプタ１１４を含む。チャネルアダプタ１１４は、ストレージアレイネットワーク（storage array network）（ＳＡＮ）ファブリック等の通信ファブリックに接続し、サーバおよびクライアントからデータ要求を受け取る。チャネルアダプタ１１４は、ファイバーチャネル（ＦＣ）および小型コンピュータシステムインタフェース（ＳＣＳＩ）またはｉｎｔｅｒｎｅｔ  ＳＣＳＩ（ｉＳＣＳＩ）ネットワーク等の一般的なネットワークへの接続を含む、サーバに存在するホストバスアダプタの動作に類似する機能を実行する。通常、ネットワークのサイズと、伝送されるトラフィックの量と、冗長性の有用性と、に基づいて、記憶ディスクアレイにおいて複数のチャネルアダプタ１１４を使用する。スイッチドバックプレーン１１６は、チャネルアダプタ１１４からの要求を冗長パスで記憶アレイコントローラ１１２に効率的に通信することにより、信頼性を確実にする。
【００２０】
例示的なシステム１００では、記憶アレイコントローラ１１２は、記憶階層の１つのレベルを形成することができるキャッシュメモリ１０６とともに構成されるプロセッサ１１８を含む。実施形態によっては、プロセッサ１１８は、サーバを代表する構成で配置される高性能プロセッサである。キャッシュ１０６は、データ完全性を保証し、ディスクレイテンシを隠す。記憶アレイコントローラ１１２は、バックプレーン１１６と多重レベル記憶デバイス１０４との間で情報を通信する。より詳細には、記憶アレイコントローラ１１２は、多重レベル物理記憶デバイス１０４を制御するディスクアダプタ１２０および１２２とインタフェースする。
【００２１】
例示的な実施形態は、ファイバーチャネル（ＦＣ）および／または小型コンピュータシステムインタフェース（ＳＣＳＩ）記憶部等の比較的高性能の記憶レベル１０８を含む２つのレベルの回転記憶部を含む。記憶アレイコントローラ１１２は、ＦＣおよび／またはＳＣＳＩディスクアダプタ１２０を介して比較的高性能の記憶部１０８に接続する。第２のレベルの回転記憶部は、シリアルＡＴ−Ａｔｔａｃｈｅｄ（ＳＡＴＡ）記憶部等の比較的低性能のレベル１１０である。記憶アレイコントローラ１１２は、ＳＡＴＡディスクアダプタ１２２を介して比較的低性能の装置１１０に接続する。ディスクアダプタ１２０および１２２は、データ可用性と読出し／書込みパフォーマンスとを向上させるようにそれぞれの記憶アレイ１０８および１１０を制御する。例示的なシステム１００では、ディスクアダプタ１２０は、ＳＣＳＩまたはファイバーチャネルアービトレート型ループ（Fibre Channel Arbitrated Loop）（ＦＣ−ＡＬ）ディスクインタフェースをサポートすることができる。
【００２２】
図２を参照すると、概略ブロック図は、階層記憶システム１００の実施形態で使用することができる適当な記憶アレイコントローラ１１２の実施例を示す。記憶アレイコントローラ１１２は、スイッチドバックプレーン１１６へのインタフェース、および、ディスクアダプタ１２０および１２２への入出力チャネルインタフェース２０８とともに、複数のプロセッサ２００を有することができる。記憶アレイコントローラ１１２の数は、アレイ内の記憶デバイスの数に比例する。同様に、記憶アレイコントローラ１１２内のインタフェースの数は、チャネルアダプタ１１４の数に対応する。
【００２３】
埋込みプロセッサ２００は、概して、スケーラブルな記憶アレイコントローラにおいて複数の記憶デバイスをサポートするために高レートで情報を転送することができる、高性能プロセッサである。メモリコントローラ２０２は、埋込みプロセッサ２００に接続され、ネットワークファブリックおよび複数レベルの記憶部１０４間でデータを転送するハブ装置として動作する。例示的なメモリコントローラ２０２は、データキャッシングおよびプログラム実行のために十分な帯域幅を保証するようにキャッシュメモリ２１２と通信する複数のチャネルを有する。メモリコントローラ２０２は、複数のＩ／Ｏチャネル２０８を管理するために十分なパフォーマンスを有する。
【００２４】
イーサネット（登録商標）（Ethernet（登録商標））インタフェース２０６は、統合された高速イーサネット（登録商標）（Fast Ethernet（登録商標））メディアアクセスコントローラ（Media Access Controller）（ＭＡＣ）を含む入出力（Ｉ／Ｏ）コントローラハブ２０４を介してメモリコントローラ２０２と通信することにより、ローカルエリアネットワーク（ＬＡＮ）管理インタレースポートを形成する。Ｉ／Ｏコントローラハブ２０４は、ユニバーサルシリアルバス（ＵＳＢ）、周辺機器コンポーネント相互接続（Peripheral Component Interconnect）（ＰＣＩ）、統合ドライブエレクトロニクス（Integrated Drive Electronics）（ＩＤＥ）、汎用入出力（General Purpose Input/Output）（ＧＰＩＯ）、システム管理バス（System Management Bus）（ＳＭＢｕｓ）等を含む通常の周辺機器インタフェースを含む。
【００２５】
記憶アレイをネットワークファブリックに接続するチャネルアダプタ１１４の数は、ネットワークのサイズに関連することが最も適当である。たとえば、ストレージアレイネットワーク（ＳＡＮ）構成におけるハイエンド記憶ディスクアレイは、１６個以上のチャネルアダプタ１１４を利用することができる。特定の実施形態では、チャネルアダプタ１１４は、ネットワークファブリック、ｉＳＣＳＩまたはファイバーチャネルのタイプに基づいて、ＰＣＩ−Ｘバスをスイッチファブリック相互接続装置２１０ならびにギガビットイーサネット（登録商標）（Gigabit Ethernet（登録商標））またはファイバーチャネルコントローラ等のコントローラに接続することができる。
【００２６】
図３を参照すると、概略ブロック図は、階層記憶システム１００の例示的な実施形態において記憶レベルのうちの１つに対して使用することができるディスクアダプタ１２０の実施例を示す。ディスクアダプタ１２０は、バスを介して記憶アレイコントローラ１１２に接続し、記憶サブシステム１０８へのアクセスを制御する。例示的な実施形態では、記憶サブシステムを、適当な技術、たとえばファイバーチャネル・アービトレイテッドリンク（ＦＣ−ＡＬ）および／またはウルトラ（Ultra）小型コンピュータシステムインタフェース（ＳＣＳＩ）技術に基づいてもよい。ディスクアダプタ１２０は、ディスクコントローラ３０６、たとえばデュアルチャネルＰＣＩ−Ｘ  ＳＣＳＩまたはファイバーチャネルコントローラの動作を制御する入出力プロセッサ３００を含む。Ｉ／Ｏプロセッサ３００は、メインコントローラとして機能し、アダプタと例えばメモリ３０２内のバッファデータとの両方を管理する。さまざまな実施形態において、Ｉ／Ｏプロセッサ３００は、記憶アレイコントローラ１１２において実行することができるはずのいくつかの機能、たとえば独立ディスクの冗長アレイ（Redundant Array of Independent Disks）（ＲＡＩＤ）ソフトウェアスタックの管理等を実行することができる。さまざまな実施例において、Ｉ／Ｏプロセッサ３００は、ファイバーチャネル（ＦＣ）コントローラ、ＳＣＳＩコントローラ、ＰＣＩブリッジ、ギガビットイーサネット（登録商標）コントローラ、他のＰＣＩ／ＰＣＩ−Ｘ装置等の装置とインタフェースすることができる。ディスクアダプタ１２０は、ＰＣＩ−Ｘバス等のバスを介して接続を行うブリッジ３０４を介して記憶アレイコントローラ１１２と通信する。
【００２７】
図４を参照すると、概略ブロック図は、階層記憶システムの例示的な実施形態において記憶レベルのうちの別のもの１１０に対して使用することができるディスクアダプタ１２２の実施例を示す。ディスクコントローラ１２２は、各々が１つまたは複数のシリアルＡＴＡスイッチ４０２を有する、１つまたは複数の入出力コントローラ４００を含む。ＳＡＴＡスイッチ４０２は、バックプレーン４０４を介して記憶アレイ１１０と通信する。ＳＡＴＡスイッチ４０２を、ディスクアレイ１２２において使用することができ、たとえばその場合、埋込みネットワーク接続ストレージ（Network Attached Storage）（ＮＡＳ）ヘッドおよびＲＡＩＤコントローラが、複数のスイッチ４０２を使用して高速バックプレーン４０４に亙ってシリアルＡＴＡドライブを接続する。
【００２８】
例示的な実施形態では、ＳＡＴＡスイッチ４０２は、高速、たとえば１．５ギガビット／秒でデータを通信する複数のシリアルＡＴＡチャネルを有するシリアルＡＴＡホストバスアダプタであってもよい。ＳＡＴＡスイッチ４０２は、ＰＣＩ−Ｘバス等のバスを介してホストコマンドを受け入れ、それらコマンドを処理し、処理済みコマンドを複数のシリアルＡＴＡ装置のうちの１つに送信する。
【００２９】
図５Ａおよび図５Ｂを参照すると、概略ブロック図および絵図は、キャビネット５０２と、キャビネット５０２内に封入され少なくとも２つのタイプの記憶ディスク５０６および５０８の階層を含むディスクアレイ５０４と、を備える記憶システム５００の実施形態を示す。記憶ディスク５０６および５０８の階層は、それぞれのクラス階層を有する。記憶システム５００は、さらに、コントローラ５１０を備える。コントローラ５１０は、キャビネット５０２内に封入され、ディスクアレイ５０４に連結される。コントローラ５１０は、記憶ディスクの階層へのアクセスを選択的に制御する階層記憶管理能力を実行することができる。仮想化技法により、ディスクアレイ５０４は、仮想化ディスクアレイコントローラ下でのいくつかの異種のディスクアレイの仮想集合体であってもよく、物理的なキャビネット５０２内に閉じ込めても閉じ込めなくてもよい。したがって、実施形態によってはキャビネット５０２を省略してもよい。
【００３０】
記憶システム５００は、さらに、コントローラ５１０に連結されクラス階層において追加の記憶レベルとして動作可能なキャッシュメモリ５１２を備えてもよい。実施形態によっては、記憶デバイスの階層は、パフォーマンス階層を有する。他の実施形態では、階層は経済性すなわちコストに基づく。
【００３１】
図示する記憶システム５００は、記憶ドライブ５０６および５０８、たとえばディスクドライブのアレイに相互に接続される２つのコントローラ５１０を有する。記憶デバイス５０６および５０８は、１つまたは複数のネットワークファブリック５１６を介して多くのホストシステム５１４間でデータおよびコマンドを含む情報を通信する。図示するシステムは、同様にネットワークファブリック５１６に接続する管理アプライアンス５２０に存在する、エレメントマネージャ５１８を有する。コマンド順序付けを管理する開示された技法は、概して、コントローラ５１０のうちの１つまたは複数に対して実行するが、システムによっては、エレメントマネージャ５１８または管理アプライアンス５２０の他のもの等、他のプロセッサまたはコントローラでその技法を実行することもおそらく可能である。コントローラペア５１０は、第１の記憶レベルに対するＳＣＳＩおよび／またはファイバーチャネル（ＦＣ）スイッチ等のインタフェースループスイッチ５２２と、第２の記憶レベルに対するＳＡＴＡスイッチ等のスイッチ５２４と、に接続する。
【００３２】
特定の実施形態は、第１のレベルの階層記憶５０６に対して記憶部を提供する、比較的高性能な小型コンピュータシステムインタフェース（ＳＣＳＩ）および／またはファイバーチャネル（ＦＣ）ディスクと、第２のレベルの階層記憶５０８に対して記憶部を提供する、比較的低性能なシリアルＡＴ-ａｔｔａｃｈｅｄ（ＳＡＴＡ）ディスクと、を有する。コントローラ５１０において実行可能なプロセスは、ＳＡＴＡディスクの記憶容量を、アクセスの少ない顧客データと短期間の予測不可能な記憶使用とに対して割り当てる。
【００３３】
図６を参照すると、概略ブロック図は、情報記憶を管理する方法を実行することができる記憶システム６００の実施形態を示す。本方法は、記憶アレイ６０８内にそれぞれのクラス階層を有する少なくとも３つのタイプの記憶デバイス６０２、６０４および６０６の階層を連結することを含む。本方法は、さらに、記憶アレイ６０８内の記憶デバイスの階層に対する情報アクセスを選択的に制御することを含む。記憶システム６００は、階層的に下位レベルの、低額の、たとえばファイバーチャネルディスクの価格のおよそ１／３〜１／５の範囲のおよび／または低性能のシリアルＡＴＡ（ＳＡＴＡ）ドライブ６０６を含むディスクアレイ回転記憶階層を有する。シリアルＡＴＡ（ＳＡＴＡ）ドライブ６０６は、一時的な／予測されないが恐らくはミッションクリティカルな記憶および／または階層記憶管理（hierarchical storage management）（ＨＳＭ）タイプの低使用ユーザデータ記憶に対して使用することができる。
【００３４】
特定の実施形態では、記憶システム６００は、ファイバーチャネル（ＦＣ）６０４とＳＡＴＡ６０６ディスクドライブとの両方を利用するディスクアレイ６０８内にファームウェアベース６１０階層記憶管理（ＨＳＭ）システムを有する。アレイファームウェア６１０は、さまざまなアプリケーションにおいてコミットされていない／構造化されていない記憶部として使用するためにＳＡＴＡ記憶部６０６を予約することができる。あまり使用されない情報ファイルは、低性能を容認し、ＳＡＴＡ記憶部６０６での使用に適している場合がある。ＳＡＴＡ記憶部６０６を、特定の論理ユニット（ＬＵＮ）に事前に割り当てられても割り当てられなくてもよい、一時的であるが重大でありコミットされていない不揮発性記憶に対して使用することができる。一時記憶部を使用する可能性のある特定のアプリケーションには、ＬＵＮミラー再同期化、ミラーボリュームシャドウの記憶、スナップショットライアビリティマイグレーション（snapshot liability migration）および記憶オーバードラフト（overdraft）保護がある。
【００３５】
また、ＳＡＴＡ記憶部６０６を、アレイ内記憶、たとえばＬＵＮスナップショットおよび完全なＬＵＮコピーの記憶に対して、およびＬＵＮコピーのアレイ間一時記憶部に対して、使用してもよい。一時ＳＡＴＡ記憶部６０６は、ＬＵＮコピーライセンス、事前割当てまたは再構成によって課される制約を回避しながら余分の記憶空間を提供することができる。余分の記憶空間の使用は、概して、アプリケーションまたは状態によって決まり、予想外に発生して一時的な時に重大な記憶要求を課す可能性がある。
【００３６】
階層アレイ６０８を、ホストシステム６１２、たとえばバックアップソフトウェアアプリケーションを実行しているホストからのコマンドを介して起動することができる。
【００３７】
ＦＣ／ＳＣＳＩ等の高性能ドライブ６０４とＳＡＴＡドライブ等の低性能ドライブ６０６とが、権限が与えられたファームウェア６１０により同じアレイ６０８内で結合することにより、幾分かのＳＡＴＡ記憶部を、アクセスの少ない顧客データに対し、たとえばファームウェアベースの階層記憶管理（ＨＳＭ）での使用に対して利用可能にし、幾分かのＳＡＴＡ記憶部を、キャッシュおよび共有メモリ６０２または高性能記憶に対して適当でない重要な短期間の予測不可能な記憶使用、もしくはいかなる事前に割り当てられた空間も取って置かれない記憶に対して保持する。
【００３８】
階層記憶を利用することができるアプリケーションの一実施例では、記憶システムは、記憶アレイとコントローラとを使用して１次ミラーシャドウイングを実行する。コントローラは、記憶アレイボリュームを、後に２次ボリュームと対にされる１次ボリュームとして事前に定義し、１次論理装置と複数の２次論理装置とをエミュレートする。エミュレートされた２次論理装置は、シャドウ論理装置を含む。コントローラは、ポインタを使用してボリュームおよび論理装置を追跡し、瞬時にポインタ交換によりボリュームコピーを呼び出すことができる。シャドウ論理装置を、ＳＡＴＡ記憶部を使用してエミュレートすることができる。コントローラは、後に所定の１次ボリュームと対にするための２次ボリュームとして使用するために論理装置のプールを予約する。ＳＡＴＡ記憶部６０６を、論理装置プールのために使用してもよい。
【００３９】
階層記憶を利用することができる別の応用例では、ＳＡＴＡ記憶部６０６を使用してバックアップウィンドウオーバードラフト保護を実施することができる。環境によっては、バックアップウィンドウを越えた場合に重大なバックアップ動作が中止される場合があり、その結果、データが喪失し、災難イベントから回復することができなくなる可能性がある。通常のバックアップ動作では、バックアップソフトウェアは、バックアップされるべきファイルを構成要素であるＬＵＮ／トラック／セクタ／範囲に分解することから生成されるピックリストを用いてデータバックアップを開始する。論理ボリュームマネージャ（Logical Volume Manager）（ＬＶＭ）ストライピングおよび拡張によって生成される抽象化のレベルにより、論理オブジェクトまたはファイルが予想外に多くの論理ユニット（ＬＵＮ）およびより多くの物理ディスクにさえまたがる場合がある。ファイルは、多くのＬＵＮに亙って薄くストライピングされ各ＬＵＮの単なる断片を使用する可能性があるため、ゼロダウンタイムバックアップ（Zero-Downtime Backup）（ＺＤＢ）製品は、関連するすべてのＬＵＮ全体の完全なコピーまたはスナップショットを作成し、必要より何倍も多くの空間を拘束する可能性がある。非ＺＤＢバックアップは、ディスクの１次データセット全体を拘束する可能性がある。非ＺＤＢ状態で時間が切れると、バックアップは喪失される。オーバードラフト保護は、たとえば許可されたＬＵＮコピーまたはスナップショット機能がないかまたは目下ゼロダウンタイムバックアップに対して許可されていない顧客が、バックアップウィンドウを越えようとし、それによりバックアップ全体が喪失する状況または環境において、適当である。階層記憶、たとえばＳＡＴＡレベルの階層記憶６０６の使用により、十分な容量の一時不揮発記憶部を使用して、危険に晒されたバックアップの救済に対するオーバードラフト保護が可能になる。
【００４０】
例示的なウィンドウオーバードラフト保護技法は、通常使用されるスナップショットまたは完全なコピー空間の断片のみを利用することによるバックアップ喪失を回避するために、ＬＵＮ間ピックリストスナップショットを定義し使用する。たとえば、非ＺＤＢバックアップウィンドウが越えられる可能性がある場合、バックアップソフトウェアは、ピックリストの境界点を選択し、アレイに対し、ＬＵＮ間ピックリストに基づいて例えば１次ＳＡＴＡ記憶部６０６を使用して、新たなタイプの内部コピーまたはスナップショットを作成するように命令する。バックアップソフトウェアは、バックアップの期間に、１次ディスクではなくＬＵＮに依存しない（agnostic）スナップショットから読み出すことによりバックアップを完了することができる。
【００４１】
ＳＡＴＡ記憶部６０６は、予測されないイベントのために追加の記憶部が望ましい状態において、ＬＵＮコピーライセンス、事前割当てまたは事前構成の制約を回避しながら、追加の記憶空間を利用可能にする。
【００４２】
システムによって実行されるさまざまな機能、処理、方法および動作を、さまざまなタイプのプロセッサ、コントローラ、中央処理装置、マイクロプロセッサ、デジタル信号プロセッサ、状態マシン、プログラマブルロジックアレイ等で実行可能なプログラムとして実施することができる。これらプログラムを、任意のコンピュータ関連システムまたは方法によるかまたはそれに関連して使用されるために、任意のコンピュータ読取可能媒体に記憶することができる。コンピュータ読取可能媒体は、コンピュータ関連システム、方法、プロセスまたは手続きによるかまたはそれに関連して使用されるコンピュータプログラムを包含するかまたは記憶することができる、電子、磁気、光または他の物理デバイスまたは手段である。プログラムを、コンピュータまたはプロセッサに基づくシステムもしくは任意の適当なタイプの命令メモリまたは記憶部から命令をフェッチすることができる他のシステム等の、命令実行システム、装置、コンポーネント、要素または機器によるかまたはそれに関連して使用されるコンピュータ読取可能媒体において、具体化することができる。コンピュータ読取可能媒体は、命令実行システム、機器または装置によるかまたはそれに関連して使用されるプログラムを、記憶し、通信し、伝播し、または搬送することができる任意の構造、装置、コンポーネント、製品または他の手段であってもよい。
【００４３】
例示的なブロック図およびフローチャートは、プロセスにおいて特定の論理機能またはステップを実施する１つまたは複数の実行可能命令を含むモジュール、セグメントまたはコードの部分を表してもよい、プロセスステップまたはブロックを示す。特定の実施例は特定のプロセスステップまたは行為を示すが、多くの代替実施態様が可能であり一般に単純な設計選択により行われる。行為およびステップを、機能、目的、規格への準拠、レガシー構造等の考慮に基づき、本明細書における特定の説明とは異なる順序で実行してもよい。
【００４４】
図７を参照すると、フローチャートは、それぞれのクラス階層を有する少なくとも３つのタイプの記憶デバイスの階層を記憶アレイ内に封入すること（７０２）、および記憶アレイ内の記憶デバイスの階層に対する情報アクセスを選択的に制御すること（７０４）、を含む、記憶システム７００内の情報記憶を管理する方法の実施形態を示す。アプリケーションおよび環境によっては、クラス階層は、種々の記憶デバイスタイプが種々のレベルのパフォーマンスを有するようなパフォーマンス階層であってもよい。他のアプリケーションおよび環境では、クラス階層は、種々の記憶デバイスタイプが種々のコストを有するようなコストまたは経済性階層であってもよい。実施形態によっては、階層のレベルの選択のためにパフォーマンスベースと経済性ベースとを結合する。
【００４５】
特定の実施形態では、記憶システムは、記憶デバイスの階層を結合して、少なくとも揮発性共有メモリと、比較的高性能な不揮発性記憶デバイスと、比較的低性能な不揮発性記憶デバイスと、を含む記憶アレイにする（７０６）。
【００４６】
より特定の実施形態では、記憶システムは、記憶デバイスの階層を結合して、第１のレベルの階層記憶に対し記憶部を提供する少なくとも固体キャッシュおよび共有メモリと、第２のレベルの階層記憶に対して記憶部を提供する、比較的高性能な小型コンピュータシステムインタフェース（ＳＣＳＩ）および／またはファイバーチャネル（ＦＣ）記憶デバイスと、第３のレベルの階層記憶に対し記憶部を提供する、比較的低性能なシリアルＡＴ−ａｔｔａｃｈｅｄ（ＳＡＴＡ）記憶デバイスと、を含む記憶アレイにする（７０８）。
【００４７】
本方法は、ＳＡＴＡ記憶部の記憶容量を、アクセスの少ない顧客データと短期間かつ予測不可能な記憶使用とに対し割り当てる動作を含んでもよい（７１０）。
【００４８】
アプリケーションおよび状態によっては、本方法は、ＳＡＴＡ記憶部を、コミットされておらず構造化されていない記憶部として割り当てる動作を含んでもよい（７１２）。
【００４９】
アプリケーションによっては、論理ユニット（ＬＵＮ）コピーおよびスナップショットを含むアレイ内データ転送および／またはアレイ間データ転送に対しＳＡＴＡ記憶部を割り当てる動作を含んでもよい（７１４）。
【００５０】
本開示はさまざまな実施形態を説明しているが、これらの実施形態は、例示的なものとして理解されるべきであり、特許請求の範囲を制限するものではない。説明した実施形態の多くの変形、変更、追加および改良が可能である。たとえば、当業者は、本明細書で開示した構造および方法を提供するために必要なステップを容易に実施するであろう。また、プロセスパラメータ、要素および大きさが単に例として与えられている、ということを理解するであろう。パラメータ、要素および大きさは、変更と同様に所望の構造を達成するために変更することができ、それは特許請求の範囲内にある。本明細書で開示した実施形態の変形および変更を、以下の特許請求の範囲内で維持しながら行うこともできる。たとえば、開示した機器および技法を、任意の適当な数の記憶要素を有する任意のデータベース構成で使用することができる。データベースシステムは磁気ディスク記憶要素を開示しているが、いかなる適当なタイプの記憶技術を実施してもよい。本システムを、さまざまなオペレーティングシステムおよびデータベースシステムで実施することができる。制御要素を、汎用コンピュータシステム、ワークステーション、サーバ等においてソフトウェアまたはファームウェアとして実施してもよいが、専用装置および埋込みシステムにおいて他の方法で実施してもよい。
【図面の簡単な説明】
【００５１】
【図１】階層記憶システムの実施形態を示す概略ブロック図である。
【図２】階層記憶システムの実施形態で使用することができる適当な記憶アレイコントローラの実施例を示す概略ブロック図である。
【図３】階層記憶システムの例示的な実施形態において記憶レベルのうちの１つに対して使用することができるディスクアダプタの実施例を示す概略ブロック図である。
【図４】階層記憶システムの例示的な実施形態において記憶レベルのうちの別のものに対して使用することができるディスクアダプタの実施例を示す概略ブロック図である。
【図５Ａ】記憶システムの実施形態を示す概略ブロック図および絵図である。
【図５Ｂ】記憶システムの実施形態を示す概略ブロック図および絵図である。
【図６】情報記憶を管理する方法を実行することができる記憶システムの実施形態を示す概略ブロック図である。
【図７】記憶システムにおいて情報記憶を管理する方法の実施形態を示すフローチャートである。
【符号の説明】
【００５２】
１０６・・・キャッシュ
１１４・・・チャネルアダプタ
１１６・・・スイッチドバックプレーン
１１８・・・プロセッサ
１１２・・・記憶アレイコントローラ
１２０、１２２・・・ディスクアダプタ
２００・・・埋込みプロセッサ
２０２・・・メモリコントローラ
２０４・・・Ｉ／Ｏコントローラハブ
２０６・・・イーサネット（登録商標）インタフェース
２０８・・・Ｉ／Ｏチャネル
２１０・・・スイッチファブリック
２１２・・・キャッシュ
３００・・・Ｉ／Ｏプロセッサ
３０２・・・メモリ
３０４・・・ブリッジ
３０６・・・ディスクコントローラ
４００・・・Ｉ／Ｏコントローラ
４０２・・・ＳＡＴＡスイッチ
【図１】
2005135408.tif 000003
【図２】
2005135408.tif 000004
【図３】
2005135408.tif 000005
【図４】
2005135408.tif 000006
【図５Ａ】
2005135408.tif 000007
【図５Ｂ】
2005135408.tif 000008
【図６】
2005135408.tif 000009
【図７】
2005135408.tif 000010