(57)【要約】【課題】ユーザの要求ごとに異なるストレージデバイスを構成するために、ホストで構成ソフトウェアを修正する必要の無い再構成工程を提供する。【解決手段】本発明によるストレージシステムを再構成するための方法は、少なくとも一つのプロセッサで実行する少なくとも一つのソフトウェア要素によって実行されるストレージシステムを再構成するための方法において、ストレージデバイスのためのユーザ要求情報を受信し、前記ユーザ要求情報から前記ストレージデバイスの特性セッティング及び、前記ストレージデバイスのデバイスプロファイルを自動に生成する段階と、前記ストレージデバイスを、独立した動作の特性を有する１つ又は複数の論理デバイスに自動に再構成するために、前記特性セッティングを使用する段階とを有する。【選択図】図１
2014132457.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つのプロセッサで実行する少なくとも一つのソフトウェア要素によって実行されるストレージシステムを再構成するための方法において、
ストレージデバイスのためのユーザ要求情報を受信し、前記ユーザ要求情報から前記ストレージデバイスの特性セッティング及び、前記ストレージデバイスのデバイスプロファイルを自動に生成する段階と、
前記ストレージデバイスを、独立した動作の特性を有する１つ又は複数の論理デバイスに自動に再構成するために、前記特性セッティングを使用する段階とを有することを特徴とするストレージシステムを再構成するための方法。
【請求項２】
前記ストレージデバイス及び前記論理デバイスのうちの少なくとも一つのランタイム性能データについてのフィードバックを前記ストレージデバイスから受信する段階と、
前記ランタイム性能データが前記ユーザ要求情報を満たさないとの判断に応答して、前記ユーザ要求情報を満足させるための一つ又は複数の論理デバイスの構成を動的に調整する段階とをさらに含むことを特徴とする請求項１に記載のストレージシステムを再構成するための方法。
【請求項３】
前記ユーザ要求情報は、前記ストレージデバイスの動作特性のハイレベルディスクリプションを含むことを特徴とする請求項１に記載のストレージシステムを再構成するための方法。
【請求項４】
前記ハイレベルディスクリプションは、サービスレベルアグリーメント（ＳＬＡ）及びサービス品質（ＱｏＳ）の要求のうちの少なくとも一つを含むことを特徴とする請求項３に記載のストレージシステムを再構成するための方法。
【請求項５】
前記ＳＬＡは、容量、アドレッシングモード、保護、及び性能を含む属性の任意の組み合わせのためのスペックをさらに含むことを特徴とする請求項４に記載のストレージシステムを再構成するための方法。
【請求項６】
前記ユーザ要求情報のスペックが前記ストレージデバイスによって満足されるか否かを判断するために、デバイスプロファイルを使用する段階をさらに含むことを特徴とする請求項１に記載のストレージシステムを再構成するための方法。
【請求項７】
前記デバイスプロファイルは、デバイス性能と相関関係を有する前記ストレージデバイスの特性に関連する性能モデルを含むことを特徴とする請求項６に記載のストレージシステムを再構成するための方法。
【請求項８】
前記ストレージデバイスに前記デバイスプロファイルを格納し、ホストに利用可能な前記デバイスプロファイルを作る段階をさらに含むことを特徴とする請求項６に記載のストレージシステムを再構成するための方法。
【請求項９】
前記ホスト、及び前記ホスト又は前記ストレージデバイスによりアクセス可能なロケーション（ｌｏｃａｔｉｏｎ）のうち、少なくとも一つに前記デバイスプロファイルを格納する段階をさらに含むことを特徴とする請求項６に記載のストレージシステムを再構成するための方法。
【請求項１０】
前記特性セッティングを自動に生成する段階は、前記ストレージデバイスの特定の特性をイネーブルさせるか、又はディセーブルさせるため、及び前記特定の特性のための値を明示するために前記特性セッティングを使用する段階をさらに含み、
前記特性の影響は、すべての論理デバイスに全体的であるか、又は特定の論理デバイスに局所的であることを特徴とする請求項１に記載のストレージシステムを再構成するための方法。
【請求項１１】
前記ランタイム性能データは、前記デバイスプロファイルの一部分を含み、セルフモニタリング分析及びレポーティング技術（ＳＭＡＲＴ）インターフェースを通じて利用可能な性能指数と、
最小（最大又は平均）読み出し（又は書き込み）レイテンシ、最小（最大又は平均）キュー長さ、最小（最大又は平均）内部のＩＯＰＳ、読み出し（又は書き込み）増幅比、及びガベージコレクション時間を含むベンダー固有のランタイム性能メトリックとを含むことを特徴とする請求項２に記載のストレージシステムを再構成するための方法。
【請求項１２】
前記ランタイム性能データは、デバイス状態、デバイスバックグラウンド作業状態、ホストバックグラウンド作業状態をさらに含むことを特徴とする請求項１１に記載のストレージシステムを再構成するための方法。
【請求項１３】
ホストから、ストレージデバイスのためのユーザ要求情報を受信し、前記ストレージデバイスのための前記ユーザ要求情報及びデバイスプロファイルから前記ストレージデバイスのための特性セッティングを自動に生成する構成変形要素と、
前記ストレージデバイスにおいて、前記ホストから前記特性セッティングを受信し、前記ストレージデバイスを、独立した動作特性を有する１つ又は複数の論理デバイスに自動に再構成するために、前記特性セッティングを使用する構成要素とを含むことを特徴とする可変構造型ストレージシステム。
【請求項１４】
前記構成変形要素は、
前記ストレージデバイス及び前記論理デバイスのうちの少なくとも一つのランタイム性能データについてのフィードバックを前記ストレージデバイスから受信し、
前記ランタイム性能データが前記ユーザ要求情報を満たさないとの判断に応答して、前記ユーザ要求情報を満足させるために、前記一つ又は複数の論理デバイスを動的に調整することを特徴とする請求項１３に記載の可変構造型ストレージシステム。
【請求項１５】
前記ユーザ要求情報は、前記ストレージデバイスの動作特性のハイレベルディスクリプションを含むことを特徴とする請求項１３に記載の可変構造型ストレージシステム。
【請求項１６】
前記ハイレベルディスクリプションは、サービスレベルアグリーメント（ＳＬＡ）とサービス品質（ＱｏＳ）の要求のうちの少なくとも一つを含むことを特徴とする請求項１５に記載の可変構造型ストレージシステム。
【請求項１７】
前記ＳＬＡは、容量、アドレッシングモード、保護、及び性能を含む属性の任意の組み合わせのためのスペックをさらに含むことを特徴とする請求項１６に記載の可変構造型ストレージシステム。
【請求項１８】
前記構成変形要素は、前記ユーザ要求情報のスペックが前記ストレージデバイスによって満足されるか否かを判断するために、デバイスプロファイルをさらに使用するように構成されることを特徴とする請求項１３に記載の可変構造型ストレージシステム。
【請求項１９】
前記デバイスプロファイルは、デバイス性能と相関関係を有する前記ストレージデバイスの特性に関連する性能モデルを含むことを特徴とする請求項１８に記載の可変構造型ストレージシステム。
【請求項２０】
前記デバイスプロファイルは、前記ストレージデバイスに格納され、前記ホストに利用可能になるように作られることを特徴とする請求項１８に記載の可変構造型ストレージシステム。
【請求項２１】
前記デバイスプロファイルは、前記ホスト、及び前記ホスト又は前記ストレージデバイスによってアクセス可能なロケーション（ｌｏｃａｔｉｏｎ）のうち少なくとも一つにあることを特徴とする請求項１８に記載の可変構造型ストレージシステム。
【請求項２２】
前記構成変形要素は、さらに前記ストレージデバイスの特定の特性をイネーブルさせるか、又はディセーブルさせるため、及び前記特定の特性のための値を明示するために特性セッティングを使用するように構成され、
前記特性の影響は、すべての論理デバイスに全体的であるか、又は特定の論理デバイスに局所的であることを特徴とする請求項１３に記載の可変構造型ストレージシステム。
【請求項２３】
前記ランタイム性能データは、前記デバイスプロファイルの一部分を含み、セルフモニタリング分析及びレポーティング技術（ＳＭＡＲＴ）インターフェースを通じて利用可能な性能指数と、
最小（最大又は平均）読み出し（又は書き込み）レイテンシ、最小（最大又は平均）キュー長さ及び待機時間、最小（最大又は平均）内部のＩＯＰＳ、読み出し（又は書き込み）増幅比、ガベージコレクション時間、及びタイムアウトカウントを含むベンダー固有のランタイム性能メトリックとを含むことを特徴とする請求項２２に記載の可変構造型ストレージシステム。
【請求項２４】
前記ランタイム性能データは、デバイス状態、デバイスバックグラウンド作業状態、ホストバックグラウンド作業状態をさらに含むことを特徴とする請求項２３に記載の可変構造型ストレージシステム。
【請求項２５】
ストレージシステムを再構成するためのプログラム命令を含むコンピュータ読み取り可能ストレージ媒体に格納された実行可能なソフトウェア製品において、
前記プログラム命令は、
前記ストレージデバイスのためのユーザ要求情報を受信し、前記ユーザ要求情報から前記ストレージデバイスのための特性セッティング及び、前記ストレージデバイスのためのデバイスプロファイルを自動に生成することと、
前記ストレージデバイスを、独立した動作の特性を有する１つ又は複数の論理デバイスに自動に再構成するために、前記特性セッティングを使用することとを特徴とする実行可能なソフトウェア製品。
【請求項２６】
前記ストレージデバイス及び前記論理デバイスのうちの少なくとも一つのランタイム性能データについてのフィードバックを前記ストレージデバイスから受信することと、
前記ランタイム性能データが前記ユーザ要求情報を満たさないとの判断に応答して、前記ユーザ要求情報を満足させるための一つ又は複数の論理デバイスの構成を動的に調整するためのプログラム命令をさらに含むこととを特徴とする請求項２５に記載の実行可能なソフトウェア製品。
【請求項２７】
前記ユーザ要求情報は、前記ストレージデバイスの動作特性のハイレベルディスクリプションを含むことを特徴とする請求項２５に記載の実行可能なソフトウェア製品。
【請求項２８】
前記ハイレベルディスクリプションは、サービスレベルアグリーメント（ＳＬＡ）及びサービス品質（ＱｏＳ）の要求のうちの少なくとも一つを含むことを特徴とする請求項２７に記載の実行可能なソフトウェア製品。
【請求項２９】
前記ＳＬＡは、容量、アドレッシングモード、保護、及び性能を含む属性の任意の組み合わせのためのスペックをさらに含むことを特徴とする請求項２８に記載の実行可能なソフトウェア製品。
【請求項３０】
前記ユーザ要求情報のスペックが前記ストレージデバイスによって満足されるか否かを判断するために、デバイスプロファイルを使用するためのプログラム命令をさらに含むことを特徴とする請求項２５に記載の実行可能なソフトウェア製品。
【請求項３１】
前記デバイスプロファイルは、デバイス性能と相関関係を有する前記ストレージデバイスの特性に関連する性能モデルを含むことを特徴とする請求項３０に記載の実行可能なソフトウェア製品。
【請求項３２】
前記ストレージデバイスに前記デバイスプロファイルを格納すること、及びホストとして利用可能な前記デバイスプロファイルを作成することのためのプログラム命令をさらに含むことを特徴とする請求項３０に記載の実行可能なソフトウェア製品。
【請求項３３】
前記ホスト、前記ホスト又は前記ストレージデバイスによりアクセス可能なロケーション（ｌｏｃａｔｉｏｎ）のうち、少なくとも一つに前記デバイスプロファイルを格納するためのプログラム命令をさらに含むことを特徴とする請求項３０に記載の実行可能なソフトウェア製品。
【請求項３４】
前記特性セッティングを自動に生成することは、前記ストレージデバイスの特定の特性をイネーブルさせるか、又はディセーブルさせるため、及び前記特定の特性のための値を明示するために前記特性セッティングを使用するためのプログラム命令をさらに含み、
前記特性の影響は、すべての論理デバイスに全体的であるか、又は特定の論理デバイスに局所的であることを特徴とする請求項２５に記載の実行可能なソフトウェア製品。
【請求項３５】
前記ランタイム性能データは、前記デバイスプロファイルの一部分を含み、セルフモニタリング分析及びレポーティング技術（ＳＭＡＲＴ）インターフェースを通じて利用可能な性能指数と、
最小（最大又は平均）読み出し（又は書き込み）レイテンシ、最小（最大又は平均）キュー長さ及び待機時間、最小（最大又は平均）内部のＩＯＰＳ、読み出し（又は書き込み）増幅比、ガベージコレクション時間及びタイムアウトカウントを含むベンダー固有のランタイム性能メトリックとを含むことを特徴とする請求項３４に記載の実行可能なソフトウェア製品。
【請求項３６】
前記ランタイム性能データは、デバイス状態、デバイスバックグラウンド作業状態、ホストバックグラウンド作業状態をさらに含むことを特徴とする請求項３５に記載の実行可能なソフトウェア製品。
【請求項３７】
メモリと、
前記メモリに接続するプロセッサと、
サービスレベルアグリーメント（ＳＬＡ）のスペックを含むユーザ要求を受信し、デバイスプロファイルに基づいて前記ＳＬＡのスペックを特性セッティングに変換し、前記特性セッティングの最適の組み合わせを判断し、前記最適の組み合わせからの構成コマンドを含む複数のプランを生成し、ストレージデバイス及び前記ユーザ要求の性能及び状態を考慮する前記プランのうちの一つを選択するように構成されるプロセッサにより実行される第１ソフトウェア要素と、
前記選択されたプランを受信し、構成チャネルを経て前記プランを可変構造型ストレージに伝送し、前記ストレージデバイスから応答を受信し、前記ストレージデバイスからの否定応答の場合に、前記プランを繰り返すように構成される前記プロセッサにより実行される第２ソフトウェア要素と、
前記デバイスプロファイルを収集し、前記デバイスプロファイルを構成プランナに伝送し、前記ストレージデバイスで生成された一つ、又は複数の論理デバイスを監視し、前記すべてのユーザ要求が満足されるか否かを判断し、そしてＳＬＡ違反の場合に、前記デバイスプロファイルに基づいて前記プランを調整するために、前記構成プランナを通知するように構成される前記プロセッサにより実行される第３ソフトウェア要素とを含み、
前記ストレージデバイスを再構成することを特徴とするホスト。
【請求項３８】
前記可変構造型ストレージデバイスの各々の特性に関連する複数の性能モデル、特性の間の相関関係及び反対相関関係、及び前記性能モデルを評価し、前記構成プランを生成するプランニングアルゴリズムをさらに含むことを特徴とする請求項３７に記載のホスト。
【請求項３９】
メインストレージと、
前記メインストレージに接続するプロセッサと、
前記プロセッサにより実行されるソフトウェア要素とを含む可変構造型ストレージデバイスであって、
前記プロセッサは、
特性セッティングを含む少なくとも一つの構成コマンドを含むプランを受信し、
デバイスプロファイルに基づいた前記プランにある前記特性セッティングの利用可能性及び適用可能性を判断し、
前記プランが有効でない場合、前記プランを拒絶し、前記プランによって作られた如何なる変化をもロールバックさせ、
前記特性セッティングの利用可能性及び適用可能性のすべてが真の場合に、前記プランを認証し、
前記プランを実行し、前記デバイスプロファイルを更新し、
前記実行されたプランをストレージ空間に関連させることによって、可変構造型ストレージデバイスに一つ又は複数の論理デバイスを生成するように構成されることを特徴とする可変構造型ストレージデバイス。
【請求項４０】
前記ソフトウェア要素は、前記可変構造型ストレージデバイスが前記プランと前記デバイスプロファイルとの比較により、前記特性セッティングをサポートするか否かを判断することによって、前記特性セッティングの利用可能性を判断することを特徴とする請求項３９に記載の可変構造型ストレージデバイス。
【請求項４１】
前記ソフトウェア要素は、前記デバイスプロファイルに基づいた特性への調整の程度を評価すること、及び前記デバイスプロファイルに基づいた適用可能な境界の特性内で前記特性の調整を制御することにより、前記特性セッティングの適用可能性を判断することを特徴とする請求項４０に記載の可変構造型ストレージデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムに関するものであり、特にユーザの要求ごとに異なるストレージデバイスを構成するために、ホストで構成ソフトウェアを修正する必要の無い再構成工程を提供することのできるストレージシステムを再構成するための方法、及びその可変構造型ストレージシステムと可変構造型ストレージデバイス並びに実行可能なソフトウェア製品及びホストに関する。
【背景技術】
【０００２】
現代のストレージシステムは、一般的に受動的で、その動作特性が製造段階で決められる複数のスタンドアローンストレージデバイスを含む。ソフトウェア（ファームウェア）を実行するプロセッサ（例えば、ＲＡＩＤコントローラ）は、スマートではないストレージデバイスがユニットとして動作できるようにする知能を付与することが必要である。ソリッドステートドライブ（ＳＳＤ）のようなストレージデバイスは、ソフトウェア又はファームウェアを通じて制御可能であるので、ユーザ環境によるＳＳＤの動作特性を制御するために努力が払われてきた。
【０００３】
ユーザ認証テストを満たすための従来のアプローチ手法は、生産者が、各々の顧客に合わせたストレージデバイスにカスタマイズするために、最後にエンジニアリング（ｌａｓｔ  ｍｉｎｕｔｅ  ｅｎｇｉｎｅｅｒｉｎｇ）工程を提供する必要がある。ストレージデバイスの特性は、幅広く様々な種類からなるので、顧客は通常、ストレージデバイスの新しいモデルが採用されるたびに、自分のソフトウェアシステムを再調整することを所望する。
しかし、１つのストレージデバイスのための前提は、他のデバイスに有効とは限らない。その結果、生産者のエンジニアリング費用はストレージデバイスや顧客の要求仕様と共に増加するので、従来のカスタマイズによるアプローチ手法は、部分的に持続可能な手法とは言えない。
【０００４】
したがって、顧客に代わって、ストレージシステムを簡単に再構成（ｒｅｃｏｎｆｉｇｕｒａｔｉｏｎ）することができるシステムが重要である。例えば、サムスンマジシャン（登録商標）のようなソリッドステートディスク（ＳＳＤ）最適化ソフトウェアは、顧客のシステム用にＳＳＤの特性を調整する。しかし、顧客の最適化オプションは非常に限られており、最適化メトリック（ｍｅｔｒｉｃ）は、ユーザ指向的ではなく、デバイス指向的であり、そして、最適化は、制御又は定量化することができない。さらに、ストレージデバイスの特徴は、磨耗（ｗｅａｒｉｎｇ）及び疲労（ｆａｔｉｇｕｅ）のようなストレージ媒体の劣化によって時間とともに特性劣化を起こし得ることである。これは、顧客の初期の前提を逸脱する可能性があり、顧客で誤作動が発生するまで、容易に検出することができない。
【０００５】
可変構造型ストレージデバイスプロセスの他の形態は、顧客がストレージデバイスの環境を設定するための個々の特性を選択できるように許容する手法である。このアプローチ手法では、顧客のシステムを新しいストレージデバイスで調整する代わりに、可変構造型ストレージデバイスにより、顧客は顧客のシステムに合うようにストレージデバイスを調整することができ、メンテナンスとアップグレード工程を単純化することができる。
可変構造型ストレージデバイスが動作の最適化において、より柔軟性を提供し、顧客のカスタマイズを許容することができるとしても、いくつかの課題が残っている。
第１の課題は、再調整工程（ｒｅｃａｌｉｂｒａｔｉｏｎ  ｐｒｏｃｅｓｓ）が、ストレージデバイスのカスタマイズのための特性数の増大に伴い指数関数的に増加する結合型問題（ｃｏｍｂｉｎａｔｏｒｙｐｒｏｂｌｅｍ）を引き起こすことである。言い換えれば、現在のアプローチ手法は、特性の選択のための体系的な構成を提供しない。例えば、もし顧客が三つの特性値を変化させた場合、顧客は特性の組み合わせが、ストレージデバイスの動作にどのような影響を与えるかを判断するのが困難な場合がある。
【０００６】
関連する課題は、顧客による特性の選択が、顧客が手動で特性を選択するソフトウェアユーザインターフェースを通じて行われるということである。体系的な構成方法や動作のガイドラインの結果がない状態での特性の手動選択は、基本的に試行錯誤の工程となる。
最後に、一般的な再構成工程は、ストレージメディアの性能の低下に起因するストレージデバイスの経時劣化効果を説明できない。そのような変化は、特定のユーザ環境のための特性の元の選択を意味のないものに変えてしまう可能性を有する。
【０００７】
したがって、アプリケーションによって求められるストレージリソースがソフトウェアによって定義されて自動的に提供されるソフトウェア−定義ストレージ（ｓｏｆｔｗａｒｅ−ｄｅｆｉｎｅｄ  ｓｔｏｒａｇｅ；ＳＤＳ）のトレンドは、より柔軟で改良された再構成可能なストレージ工程を必要とするという問題がある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許第６，４８７，５６２号明細書
【特許文献２】米国特許第７，５６８，０３７号明細書
【特許文献３】米国特許第８，１１２，５８２号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は上記従来のストレージシステムにおける問題点に鑑みてなされたものであって、本発明の目的は、ユーザの要求ごとに異なるストレージデバイスを構成するために、ホストで構成ソフトウェアを修正する必要の無い再構成工程を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するためになされた本発明によるストレージシステムを再構成するための方法は、少なくとも一つのプロセッサで実行する少なくとも一つのソフトウェア要素によって実行されるストレージシステムを再構成するための方法において、ストレージデバイスのためのユーザ要求情報を受信し、前記ユーザ要求情報から前記ストレージデバイスの特性セッティング及び、前記ストレージデバイスのデバイスプロファイルを自動に生成する段階と、前記ストレージデバイスを、独立した動作の特性を有する１つ又は複数の論理デバイスに自動に再構成するために、前記特性セッティングを使用する段階とを有することを特徴とする。
【００１１】
上記目的を達成するためになされた本発明による可変構造型ストレージシステムは、ホストから、ストレージデバイスのためのユーザ要求情報を受信し、前記ストレージデバイスのための前記ユーザ要求情報及びデバイスプロファイルから前記ストレージデバイスのための特性セッティングを自動に生成する構成変形要素と、前記ストレージデバイスにおいて、前記ホストから前記特性セッティングを受信し、前記ストレージデバイスを、独立した動作特性を有する１つ又は複数の論理デバイスに自動に再構成するために、前記特性セッティングを使用する構成要素とを含むことを特徴とする。
【００１２】
上記目的を達成するためになされた本発明による可変構造型ストレージデバイスは、メインストレージと、前記メインストレージに接続するプロセッサと、前記プロセッサにより実行されるソフトウェア要素とを含む可変構造型ストレージデバイスであって、前記プロセッサは、特性セッティングを含む少なくとも一つの構成コマンドを含むプランを受信し、デバイスプロファイルに基づいた前記プランにある前記特性セッティングの利用可能性及び適用可能性を判断し、前記プランが有効でない場合、前記プランを拒絶し、前記プランによって作られた如何なる変化をもロールバックさせ、前記特性セッティングの利用可能性及び適用可能性のすべてが真の場合に、前記プランを認証し、前記プランを実行し、前記デバイスプロファイルを更新し、前記実行されたプランをストレージ空間に関連させることによって、可変構造型ストレージデバイスに一つ又は複数の論理デバイスを生成するように構成されることを特徴とする。
【００１３】
上記目的を達成するためになされた本発明による実行可能なソフトウェア製品は、ストレージシステムを再構成するためのプログラム命令を含むコンピュータ読み取り可能ストレージ媒体に格納された実行可能なソフトウェア製品において、前記プログラム命令は、前記ストレージデバイスのためのユーザ要求情報を受信し、前記ユーザ要求情報から前記ストレージデバイスのための特性セッティング及び、前記ストレージデバイスのためのデバイスプロファイルを自動に生成することと、前記ストレージデバイスを、独立した動作の特性を有する１つ又は複数の論理デバイスに自動に再構成するために、前記特性セッティングを使用することとを特徴とする。
【００１４】
上記目的を達成するためになされた本発明によるホストは、メモリと、前記メモリに接続するプロセッサと、サービスレベルアグリーメント（ＳＬＡ）のスペックを含むユーザ要求を受信し、デバイスプロファイルに基づいて前記ＳＬＡのスペックを特性セッティングに変換し、前記特性セッティングの最適の組み合わせを判断し、前記最適の組み合わせからの構成コマンドを含む複数のプランを生成し、ストレージデバイス及び前記ユーザ要求の性能及び状態を考慮する前記プランのうちの一つを選択するように構成されるプロセッサにより実行される第１ソフトウェア要素と、前記選択されたプランを受信し、構成チャネルを経て前記プランを可変構造型ストレージに伝送し、前記ストレージデバイスから応答を受信し、前記ストレージデバイスからの否定応答の場合に、前記プランを繰り返すように構成される前記プロセッサにより実行される第２ソフトウェア要素と、前記デバイスプロファイルを収集し、前記デバイスプロファイルを構成プランナに伝送し、前記ストレージデバイスで生成された一つ、又は複数の論理デバイスを監視し、前記すべてのユーザ要求が満足されるか否かを判断し、そしてＳＬＡ違反の場合に、前記デバイスプロファイルに基づいて前記プランを調整するために、前記構成プランナを通知するように構成される前記プロセッサにより実行される第３ソフトウェア要素とを含み、前記ストレージデバイスを再構成することを特徴とする。
本明細書で説明する方法及びシステムに応じて、例示的な実施形態は、ユーザの要求ごとに異なるストレージデバイスを構成するために、ホストで構成ソフトウェアを修正する必要性を除去する再構成工程（ｒｅｃｏｎｆｉｇｕｒａｔｉｏｎ  ｐｒｏｃｅｓｓ）を提供する。例示的な実施形態は一般的な方法とは対照的に、それは、ホストでの構成ソフトウェアは、他のストレージデバイスをカスタマイズするために修正される必要がある。さらに、例示的な実施形態は、ユーザ要求情報を特性セッティングに自動に転換させるので、ユーザは特性の組み合わせを手動で選択する必要性が、ストレージデバイスを再構成する時に消滅するようになる。
【発明の効果】
【００１５】
本発明に係るストレージシステムを再構成するための方法、及びその可変構造型ストレージシステムと可変構造型ストレージデバイス並びに実行可能なソフトウェア製品及びホストによれば、ユーザの要求ごとに異なるストレージデバイスを構成するために、ホストで構成ソフトウェアを修正する必要の無い再構成可能なストレージシステムを提供することにより、顧客の要求特性が特性セッティングに自動的に変換されるため、ストレージデバイスの構成時に顧客が手動で特性値の選択を行う必要がなくなるという効果をもたらすものである。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態による可変構造型ストレージシステムを示すブロック図である。
【図２】（Ａ）は本発明の実施形態によるストレージシステムを再構成することを説明するためのフローチャートであり、（Ｂ）は本発明の実施形態によるストレージシステムを再構成することを説明するためのフローチャートである。
【図３】本発明の実施形態による可変構造型ストレージデバイスを構成するための工程を詳細に説明するためのフローチャートである。
【図４】本発明の実施形態によるプランを生成する構成プランナによって実行される変換工程を示すフローチャートである。
【図５】本発明の実施形態による可変構造型ストレージデバイスで、構成要素の処理工程を説明するためのフローチャートである。
【図６】本発明の実施形態による構成アドバイザーの実行工程を説明するためのフローチャートである。
【図７】本発明の実施形態による再構成可能なストレージシステムを示すブロック図である。
【発明を実施するための形態】
【００１７】
次に本発明に係るストレージシステムを再構成するための方法、及びその可変構造型ストレージシステムと可変構造型ストレージデバイス並びに実行可能なソフトウェア製品及びホストを実施するための形態の具体例を図面を参照しながら説明する。
しかし、本発明の実施形態は、様々な形態に変形でき、本発明の範囲が後述する実施例に限定されると解釈されてはならない。本発明の実施例は、本発明をより明確に説明するために提供するものである。
【００１８】
本明細書で使用する用語は、特定の実施を記述するための目的として用いるものであり、本発明の範囲を制限するためのものではない。本明細書で、単数として使われた用語は、それについての単数であることを示す明白な背景に関する言及がない限り、複数も含むものである。また、本明細書で使用する「包含する」という用語は、言及された特徴、領域、段階、動作、要素、及び／又は成分の存在を特定するものではあるが、１つまたはそれ以上の他の特徴、領域、段階、動作、要素、成分、及び／又はグループの存在または付加を除外するものではない。
【００１９】
本明細書で言及する「要素」又は「モジュール」などの用語は、特定の作業を実行するソフトウェア又はフィールドプログラマブルゲートアレイ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ；ＦＰＧＡ）又は特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ；ＡＳＩＣ）のようなハードウェア要素を意味することができるがそれに限るものではない。要素又はモジュールは、独自のアドレス指定可能なストレージ媒体（ａｄｄｒｅｓｓａｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）中に一つ又は複数のプロセッサで実行するように、有利に構成することができる。したがって、実施形態によって、要素又はモジュールは、ソフトウェア要素、オブジェクト指向ソフトウェア要素、クラス要素及び作業要素、処理、機能、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路網、データ、データベース、データ構造、テーブル、アレイ、及び変数のような要素を含むことができる。要素及び要素、又はモジュールのために提供される機能は、より少ない要素及び要素、又はモジュールとして組み合わせられるか、付加的な要素及び要素、又はモジュールとしてさらに分離することができる。
【００２０】
他の限定がない限り、本明細書で使用するあらゆる用語（技術的用語及び科学的用語）は、当業者に、通常よく知られた意味で用いる。また通常使われる辞書に定義されたような用語は、関連した技術分野を背景とする意味と同じ意味を有すると解釈されねばならず、別途の記載がない限り、理想的であるか、または過度に解釈されてはならない。
【００２１】
図１は、本発明の実施形態による可変構造型ストレージシステムを示すブロック図である。
一実施形態における図１のシステムはホスト１００と可変構造型ストレージデバイス１０２を包含する。ホスト１００の基本要素は、少なくとも一つのプロセッサ１０４と、メモリ１０６と、ホストコントローラ１０８とを含む。一実施形態において、可変構造型ストレージデバイス１０２の基本要素は、ストレージコントローラ１１１と、メインストレージ１１２と、少なくとも一つのプロセッサ１１４と、メモリ１１６とを含む。
【００２２】
メインストレージ１１２は、本来のストレージ機能を実現し、可変構造型ストレージデバイス１０２のためのストレージ空間を提供する。メインストレージ１１２は、（例えば、ソリッドステートドライブ（ＳＳＤ）として実現する）フラッシュ、ＰＣＲＡＭ、ＲＲＡＭ（登録商標）、ＳＴＴ−ＲＡＭ、及びそれと類似の不揮発性メモリ、ＦＬＴ（Ｆｌａｓｈ  Ｔｒａｎｓｌａｔｉｏｎ  Ｌａｙｅｒ）、ガベージコレクタ（Ｇａｒｂａｇｅ  Ｃｏｌｌｅｃｔｏｒ；ＧＣ）、及びそれと類似のストレージ管理ファームウェア（図示せず）を含むが、これらに限定されない。一つ又は複数の論理デバイス１２１は、メインストレージ１１２の一部分を占めるようにしても良い。論理デバイス１２１のために割り当てられる実際の物理的なストレージ空間は、空間効率性の要求に依存する。シンプロビジョニング（ｔｈｉｎ  ｐｒｏｖｉｓｉｏｎｉｎｇ）を有する論理デバイスは、シックプロビジョニング（ｔｈｉｃｋ  ｐｒｏｖｉｓｉｏｎｉｎｇ）を有する論理デバイスより少ない物理的な記憶領域を占める。
【００２３】
通常の動作の間、ホストコントローラ１０８は、読み出し／書き込み動作に関連するコマンド１２４を、ホスト１００がメインストレージ１１２に格納されたコンテンツを処理するか、又は新しいコンテンツをメインストレージ１１２に格納するように許可するために、ストレージコントローラ１１１に出力する。ここで、ホスト１００で行うコンテンツの処理には、イメージ及び文書の形態としてコンテンツを表示し、オーディオ及び／又はビデオの形態としてコンテンツを実行し、プロセッサ１０４のような機能的ユニットに、コンピュータプログラムのようなアプリケーションの形態としてコンテンツをインストールするか、又は実行することを含む。
【００２４】
ストレージコントローラ１１１は、ホストコントローラ１０８からコンテンツに関連するコマンドを受信し、受信したコマンドに応じて、メインストレージ１１２に格納されたコンテンツ１２６を制御する。例えば、受信したコマンドが読み出しコマンドである場合、ストレージコントローラ１１１は、メインストレージ１１２に格納されたコンテンツ１２６をホスト１００に提供し、受信したコマンドが書き込みコマンドである場合、ストレージコントローラ１１１は、ホスト１００から新しいコンテンツ１２６を受信し、受信したコンテンツをメインストレージ１１２に格納する。
【００２５】
さらに他の実施形態として、ホストコントローラ１０８及びストレージコントローラ１１１が分離された構成でも、ホストコントローラ１０８及びストレージコントローラ  １１１が、一つの集積したユニットのように実装しても良い。
上述のように、通常のストレージ装置が有する問題は、内蔵された知能（ｂｕｉｌｔ−ｉｎ  ｉｎｔｅｌｌｉｇｅｎｃｅ）を有する固定されたデバイスであるという点である。その結果、顧客の要求のためのストレージデバイスをカスタマイズする工程は、多くのコスト及び時間を要する。
【００２６】
本発明の実施形態によれば、可変構造型ストレージデバイス１０２は、構成要素１１８、特性セット１２０、及びデバイスプロファイル１２２と共に提供される一方、ホスト１００は、構成変形要素１１０と共に提供される。
一実施形態において、ホスト１００の構成変形要素１１０は、可変構造型ストレージデバイス１０２の動作特性を説明するユーザ要求を受信し、可変構造型ストレージデバイス１０２の動作特性のための特性セッティングを定義する構成コマンド１２８に変換する。  一実施形態において、構成変形要素１１０の機能は、構成プランナ１３６と、構成アドバイザー１３８と、デバイスプログラマ１４０のような分離された要素により実行される。
【００２７】
結果的に、可変構造型ストレージデバイス１０２にある構成要素１１８は、構成コマンド１２８を受信し、構成コマンド１２８に対応する特性セッティングを実行し、これによって可変構造型ストレージデバイス１０２の動作特性を自動に構成する。その後、メインストレージ１１２がセッティングされた動作特性に基づいて駆動される間、ストレージコントローラ１１１は、コンテンツ１２６をホスト１００に伝送するか、又はホスト１００から受信する。
【００２８】
本発明の他の実施形態において、可変構造型ストレージデバイス１０２の動作の間、構成変形要素１１０は、可変構造型ストレージデバイス１０２の動作特性について可変構造型ストレージデバイス１０２からフィードバック１３０を受信することができ、フィードバック１３０に基づいて、構成コマンド１２８（結果的に特性セット）を調整する。
一実施形態において、構成変形要素１１０及び構成要素１１８は、ソフトウェア要素として実装する。他の実施形態として、要素は、ハードウェアとソフトウェアの組み合わせにより実装しても良い。構成変形要素１１０と構成要素１１８はそれぞれ単体の要素として示したが、各々の機能は、それより少ないか、又は多い数のモジュール／要素に結合することもある。例えば、一実施形態において、ストレージコントローラ１１１及びホストコントローラ１０８は、一つの集積した要素として、又は分離された要素としてホスト１００に実装する。
【００２９】
また、ユーザ要求情報１２３は、ホスト１００に入力されると示したが、他の実施形態では、可変構造型ストレージデバイス１０２が、ユーザ要求情報１２３を受信し、ユーザ要求情報１２３をホスト１００に提供する。
本発明の実施形態による可変構造型ストレージシステムは、顧客から企業に至るまで、広い範囲のストレージマーケットに適用可能であり、これは、（デスクトップ、ラップトップ、ワークステーション、サーバ、及びこれらと同様のもののような）単一のスタンドアローン機器、ストレージアレイ、ＳＤＳ、アプリケーションスペシフィックストレージ（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｓｔｏｒａｇｅ）、ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）、ＶＤＩ（Ｖｉｒｔｕａｌ  Ｄｅｓｋｔｏｐ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）、ＣＤＮ（Ｃｏｎｔｅｎｔ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｎｅｔｗｏｒｋ）、及びこれと類似の機器用のディスクに適用することができる。
【００３０】
例えば、一実施形態において、可変構造型ストレージデバイス１０２は、ＰＣＭＣＩＡ、ＣＦ（ｃｏｍｐａｃｔ  ｆｌａｓｈ）（登録商標）、ＳＭ、ＳＭＣ（ｓｍａｒｔ  ｍｅｄｉａ  ｃａｒｄ）（登録商標）、メモリスティック（登録商標）、マルチメディアカード（ＭＭＣ、ＲＳ−ＭＭＣ、ＭＭＣ−ｍｉｃｒｏ）、ＳＤカード（ＳＤ、ｍｉｎｉＳＤ、ｍｉｃｒｏＳＤ、ＳＤＨＣ）、ＵＦＳ（ｕｎｉｖｅｒｓａｌ  ｆｌａｓｈ  ｓｔｏｒａｇｅ）装置、及びこれと類似の機器を形成するための一つの半導体装置に集積することができる。
例えば、一実施形態において、メインストレージ１１２は、複数の不揮発性メモリチップ（すなわち、複数のフラッシュメモリ）で構成する。
他の実施形態によると、メインストレージ１１２は、フラッシュメモリチップの代わりに他のタイプの不揮発性メモリチップ（例えば、ＰＲＲＡＭ、ＦＲＡＭ（登録商標）、ＭＲＡＭなど）で構成する。代わりに、メインストレージ１１２は、揮発性メモリ（すなわち、ＤＲＡＭ又はＳＲＡＭ）で形成しても良く、二つ以上の種類のメモリが混在した形態を有しても良い。
【００３１】
図２（Ａ）及び図２（Ｂ）は、本発明の実施形態によるストレージシステムを再構成することを説明するためのフローチャートである。
図２（Ａ）は、ユーザの要求ごとに可変構造型ストレージデバイスを再構成するための構成工程を示すフローチャートであり、図２（Ｂ）は、可変構造型ストレージシステムの動作の間における可変構造型ストレージデバイス１０２の設定（ｃｏｎｆｉｇｕｒｉｎｇ）工程を示すフローチャートである。
【００３２】
図２（Ａ）を参照すると、工程は、構成変形要素１１０によって、ストレージデバイスのためのユーザ要求情報１２３を受信し、ユーザ要求情報から、ストレージデバイスのための特性セッティング及びストレージデバイスのためのデバイスプロファイルを自動に生成することで、始まる（段階Ｓ２００）。その後、構成要素１１８は、ストレージデバイスを独立した動作特性を有する１つ又は複数の論理デバイス１２１の中に自動に再構成するための特性セッティングを使用する（段階Ｓ２０２）。
【００３３】
図２（Ｂ）は、可変構造型ストレージシステムの動作の間における可変構造型ストレージデバイス１０２の設定工程を説明する。この実施形態において、構成変形要素１１０は、ストレージデバイス及び論理デバイスのうちの少なくとも一つのランタイム性能データ１３４についてストレージデバイスからフィードバック１３０を受信する（段階Ｓ２０４）。  ランタイム性能データがユーザ要求情報を満足させないとの判断に応答して、構成変形要素１１０は、ユーザ要求情報を満足させるために、１つ又は複数の論理デバイスの構成を動的に調整する（段階Ｓ２０６）。
【００３４】
可変構造型ストレージシステムの第１の利点は、例示的な実施形態において、ストレージデバイスの特異性及び再構成の複雑さを抽出することができるので、新しい可変構造型デバイス上の構成変形要素１１０のストレージ管理（つまり、ユーザソフトウェア）を簡素化することができるということである。
第２の利点は、ユーザソフトウェアは、ユーザの要求ごとに可変構造型ストレージデバイスから自身の論理デバイスを動的に定義して生成することができるので、新しい可変構造型ストレージデバイスを使用するユーザソフトウェアは、ストレージデバイスのモデルに関係なく、事実上一定に留まることになるということである。
【００３５】
再び図１を参照すると、本発明の他の実施形態によれば、ユーザ要求情報１２３は、他の特性のための実際の値とは対照的に、可変構造型ストレージデバイス１０２の動作特性のハイレベルディスクリプション（ｈｉｇｈ−ｌｅｖｅｌ  ｄｅｓｃｒｉｐｔｉｏｎ）を含む。一実施形態において、ハイレベルディスクリプションは、可変構造型ストレージデバイス１０２のためのＳＬＡ（ｓｅｒｖｉｃｅ  ｌｅｖｅｌ  ａｇｒｅｅｍｅｎｔ）を含む。ＳＬＡは、顧客と生産者と間で共通に締結したサービス契約である。
【００３６】
他の実施形態において、ハイレベルディスクリプションは、サービス品質（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ；ＱｏＳ）要求をさらに含み、それは一実施形態では、ＳＬＡの一部分となる。
しかし、他の実施形態では、もしユーザが性能の面のみに関心がある場合、ＱｏＳはＳＬＡと分離することができる。実施形態において、ＱｏＳは、ユーザの詳細な性能の期待（ｅｘｐｅｃｔａｔｉｏｎ）を定義するレイテンシ（ｌａｔｅｎｃｙ）、ＩＯＰＳ（ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｏｐｅｒａｔｉｏｎｓ  ｐｅｒ  ｓｅｃｏｎｄ）、バンド幅（ｂａｎｄｗｉｄｔｈ）、ジッタ、ＷＡＦ／ＲＡＦに対するストレージデバイスの性能特性を含む。例えば、仮想のデバイスが生成された後、新しい論理デバイスを生成することよりＱｏＳを調整することが望ましい場合がある。本明細書で説明するように、ＳＬＡ及びＱｏＳを使用して、可変構造型ストレージデバイス１０２を自動的に構成することにより、構成を定量的に実行することが可能となる。
【００３７】
一実施形態において、ＳＬＡは、ＸＭＬフォーマットに表現される属性の任意の組み合わせのためのスペックを含むことができる。属性は、レイテンシ、ＩＯＰＳのようなストレージデバイスの性能特性、又は容量、アドレッシングモード、保護のような非−性能特性であり得る。
コミットメントスペックは、動作のＱｏＳ充足率の平均パーセンテージである。反応スペックは、ホストがＱｏＳ違反の場合に期待することである。容量スペックは、データ空間及び空間節約の量を明示するものである。容量スペックは、デバイスに割り当てられた実際のストレージ空間ではなく、ユーザ空間にあるデータの量を示す。この場合に、容量スペックは、これを実現するために、デバイスが実際に使用するメカニズムとは独立なものである。しかし、必要なのは、ユーザーレベルで格納できるデータ量を保証することである。
例えば、シックプロビジョニング技術を採用したデバイスは、リクエストが許可された時、実際の領域を割り当てる。一方、シンプロビジョニング技術を採用したデバイスは、領域を予め割り当てないようにすることができる。同様に、オーバーコミットメント、圧縮、重複排除（ｄｅｄｕｐｌｉｃａｔｉｏｎ）のような省スペースの特性を備えたデバイスが割り当てる実際の物理的なスペースは、ユーザが要請するデータ領域に比べて非常に小さい。
【００３８】
アドレッシングモードスペックは、バイトアドレサブル（ｂｙｔｅ−ａｄｄｒｅｓｓａｂｌｅ）、ワードアドレサブル（ｗｏｒｄ−ａｄｄｒｅｓｓａｂｌｅ）、及び／又はブロックアドレサブル（ｂｌｏｃｋ−ａｄｄｒｅｓｓａｂｌｅ）などの機能を有するストレージにデータを位置付ける方法を明示するものである。
例えば、ＰＣＩｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  ｅｘｐｒｅｓｓ）デバイスは、ブロックアドレサブルするだけでなく、バイトアドレサブルすることができる。同様に、単一のアドレス空間で駆動するシステムは、ブロックアドレサブルデバイス上でバイトアドレッシング（ｂｙｔｅ  ａｄｄｒｅｓｓｉｎｇ）をエミュレートすることができる。ＱｏＳは特定のアドレッシングモードのコンテキストで解釈される。
【００３９】
保護スペックは、セキュリティ及びアクセスの制御を明示するものである。デバイスは、暗号化をサポートすることができ、ユーザは、セキュリティの要求ごとに特定の暗号化アルゴリズム（例えば、１２８ビットのＲＳＡ、２５６ＡＥＳ）を使用する。ユーザは、データを削除した場合、回復不能なユーザの危険を伴うデータの安全な削除を必要とすることもある。さらに、ユーザは、デバイスレベルでリードオンリ、ライタブル、ライトワンスのようなアクセス制御を定義することができる。例えば、システムのリカバリイメージは、ライトワンス論理デバイスに格納する。
【００４０】
性能スペックは、ユーザがデバイスのための詳細な性能要求を有することができるようにレイテンシ、スループット、バンド幅及び／又はＩＯＰＳの測定を明示するものである。
例えば、ビデオオンデマンドサーバにあるビデオチップを格納するために使用するストレージデバイスは、高いシーケンシャルな読み出し性能を必要とする。一方、メタデータを管理するために使用するストレージデバイスは、高いＩＯＰＳ（そして低レイテンシ）を必要とする。
【００４１】
例示的なＳＬＡは、以下のサンプル１〜サンプル３に示すような内容を含む。
［サンプル１］
2014132457.tif 000003
上述の例に示す、バイトアドレサブルである１００ＧＢのデバイスはユーザの興味を引くものである。さらに、４ＫＢページ読み出しレイテンシは１０ｍｓより小さくなければならず、４ＫＢ書き込みレイテンシも１０ｍｓより小さなければならない。最後に、デバイスのＩＯＰＳは、少なくとも１Ｋでなければならない。
【００４２】
［サンプル２］
2014132457.tif 000004
【００４３】
［サンプル３］
2014132457.tif 000005
【００４４】
可変構造型ストレージデバイス１０２は、特性セット１２０に関連して複数の動作特性をさらに含む。一実施形態において、特性セット１２０は、消耗的ではない、ハードウェア動作（例えば、クロック周波数、オーバープロビジョニング比率（ｏｖｅｒ−ｐｒｏｖｉｓｉｏｎｉｎｇ  ｒａｔｉｏ））、コマンドスケジュールポリシー（例えば、リードオーバーライト、ランダムアクセスオーバーシーケンシャルアクセス、スモールリクエストオーバービッグリクエスト、スケジューリングアルゴリズム、リードオーバーＧＣ）、論理的デバイス特性（例えば、容量、キュー（ｑｕｅｕｅ）長さ、タイムアウト制御、保護）、論理的アドレスを物理的アドレスにマッピングするポリシー（例えば、ページマッピング、ブロックマッピング、ハイブリッドマッピング）、バックグラウンド作業実行ポリシー（例えば、ガベージコレクションアルゴリズム、ガベージコレクションの周期及び頻度、バックグラウンドＴＲＩＭ、バックグラウンドコンパクション）などを含む。
【００４５】
構成変形要素１１０は、ユーザ要求情報１２３を受信し、特定の特性の変数値を明示するだけでなく、ユーザ要求情報１２３を、特性セット１２０で特定の特性をイネーブル／ディセーブルするために使用する特性セットに変換する。
特性の効果は、すべての論理デバイス１２１に対して全体的（ｇｌｏｂａｌ）であるか、又は特定の論理デバイスに対して局所的（ｌｏｃａｌ）である。例えば、デバイスの動作周波数の調整は、全体的であり、論理デバイスのキュー長さの増加がデバイスに限定されるのに対しすべての論理デバイス１２１の動作を変化させるものである。
【００４６】
本発明の実施形態によれば、構成変形要素１１０は、ユーザ要求情報１２３及びデバイスプロファイル１２２の両方に基づいて、特性セッティングを発生させる。一実施形態において、デバイスプロファイル１２２は、ストレージデバイス、性能モデル１３２、及びランタイム性能データ１３４に特定の性能範囲１３１（例えば、調整可能なクロック周波数の範囲）を含む。ランタイム性能データ１３４は、動作の間デバイスによって測定されるランタイム性能統計を含む。
【００４７】
本発明の一実施形態によれば、性能モデル１３２は、生成されて、デバイス性能と関連する可変構造型ストレージデバイス１０２の特性に関連付けられる。
一実施形態において、性能モデル１３２は、個別特性及び／又は特性セッティングの組み合わせのための数学的モデル（例えば、線形、多項式、対数、指数又はステップ関数）、及び／又はＱｏＳを測定するために、制御された環境下で測定した理想的な性能データを含む。
【００４８】
表１は、例示的な特性セット１２０及び関連する性能モデルを示す。本発明でのモデルは、例示的であり、ベンダー及びデバイスに依存する。
【表１】
2014132457.tif 000006
【００４９】
一実施形態において、デバイスの性能特性を変化させることができる如何なる特性も、もしモデルが実現不可能であれば、関連する性能モデル１３２及び／又は理想的な性能基準表（ｐｅｒｆｏｒｍａｎｃｅ  ｒｅｆｅｒｅｎｃｅ  ｔａｂｌｅ）を有する。
一実施形態において、構成変形要素１１０、又は構成要素１１８のうちのいずれか一つはユーザ要求情報１２３が可変構造型ストレージデバイス１０２によって満たすことができるか否かを判断するためのデバイスプロファイル１２２及び／又は性能モデル１３２を使用する。
例えば、ユーザは、物理デバイスのクロックレートを増加させることにより、動作時間の応答時間を改善することができる。しかし、デバイスの調整可能なクロックレートは制限されている。もし、デバイスがすでに最大のクロックレートに達した場合、クロックの調整特性は、レイテンシ時間を改善するために使用される。同様に、もしクロックレートへのＩＯＰＳが特定のサイズで線形関数としてモデリングされれば、例えば、クロックレートがどの程度増加できるかを判断することができる。
【００５０】
一実施形態において、性能モデル１３２を含むデバイスプロファイル１２２は、例えば、可変構造型ストレージデバイス１０２によって構成変形要素１１０として報告されることによって、構成変形要素１１０に利用可能に作られる。
他の実施形態において、デバイスプロファイル１２２は、ホスト１００に格納されるか、又はホスト１００及び／又は可変構造型ストレージデバイス１０２によってアクセス可能なロケーション（ｌｏｃａｔｉｏｎ）に格納される。
他の実施形態において、たとえ性能モデル１３２が、デバイスプロファイル１２２の一部分として格納されるものとして示されたとしても、性能モデル１３２は、デバイスプロファイル１２２から分離して格納される。
もし可変構造型ストレージデバイス１０２のベンダーがホスト１００にデバイスプロファイル１２２を提示することができれば、ホスト１００にある構成変形要素１１０は、性能範囲１３１、性能モデル１３２、ランタイム性能データ１３４に影響を与えられる。そうでなければ、構成変形要素１１０は、可変構造型ストレージデバイス１０２の各々のタイプのためのそれ自身のデバイスプロファイル１２２へのアクセスが必要となる。
【００５１】
一実施形態において、デバイスプロファイル１２２のランタイム性能データ１３４は、ＡＴＡスペックにあるＳＭＡＲＴ（Ｓｅｌｆ−Ｍｏｎｉｔｏｒｉｎｇ、Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｐｏｒｔｉｎｇ  Ｔｅｃｈｎｏｌｏｇｙ）のような標準インターフェースを通じて利用可能な典型的な性能指数（ｐｅｒｆｏｒｍａｎｃｅ  ｉｎｄｉｃｅｓ）、最小／最大／平均読み出し／書き込みレイテンシ、最小／最大／平均キュー長さ及び待機時間、最小／最大／平均内部ＩＯＰＳ、読み出し／書き込み増幅比、ガベージコレクション時間、タイムアウト回数、及びこれに類似するベンダー固有のランタイム性能指数を含む。
【００５２】
一実施形態において、ランタイム性能データ１３４の一部分として格納される他の情報は、デバイス状態、デバイスバックグラウンド作業状態、ホストバックグラウンド作業状態を含むが、これに限定されない。
デバイス状態は、可変構造型ストレージデバイス１０２のハードウェア及びソフトウェアに対する状態情報を含む。これは、ストレージ媒体の劣化（ウェア−レベル）の程度、スーパーキャパシタの状態、デバイス温度、オーバープロビジョニングの割合（又は量）、及びこれらと類似の項目のような全体的な情報だけでなく、デバイスのサイズ、デバイスの容量、デバイスの利用、ＳＬＡ、特性セット、特性セッティング、データの断片化（ｆｒａｇｍｅｎｔａｔｉｏｎ）、タイムアウト、保護、アドレッシングモード、などのような局所的な情報を含む。
デバイスバックグラウンド作業状態は、デバイスポリシーによって判断されるデバイスバックグラウンド作業の状態を含むが、バックグラウンドＴＲＩＭ、バックグラウンドガベージコレクション、バックグラウンド圧縮などのようにデバイスの外部に見えない。
ホストバックグラウンド作業状態は、ＡＴＡスペックにあるＳＭＡＲＴセルフテストスイート（ｓｅｌｆ−ｔｅｓｔ  ｓｕｉｔｅ）のオフラインテストのようなホストによってトリガされるデバイスバックグラウンド作業の状態を含む。
【００５３】
図１に示したホスト１００の構成変形要素１１０は、可変構造型ストレージデバイス１０２の構成を変更するためＳＬＡにあるハイレベルユーザＱｏＳ要求をデバイス−固有の構成コマンドに変換する。構成変形要素１１０は、デバイス−固有の特性を持った可変構造型ストレージデバイス１０２のユーザ要求情報１２３と動作／ポリシーの間の関係を解釈する。
例えば、ストレージデバイスは、特定のＩＯＰＳの要求を満足させるために、大きいキューの深さを備えたキューを必要とする。同様に、低コストのデバイスは、短い読み出しレイテンシを達成するために、大きいキューの深さと読み出し優先順位を有するキューを必要とする。一方、高価のデバイスが、読み出し優先順位なしで同様なレイテンシを達成する。
【００５４】
図３は、本発明の実施形態による可変構造型ストレージデバイスを構成するための工程を詳細に説明するためのフローチャートである。
一実施形態において、ホスト１００で実行される工程は、構成変形要素１１０によって実行され、可変構造型ストレージデバイス１０２で実行される工程は、構成要素１１８によって実行される。
【００５５】
ホスト１００で実行される工程は、デバイスプロファイル１２２及びＳＬＡを受信することによって、ホスト１００から始められる（段階Ｓ３００）。構成変形要素１１０はＳＬＡの各々のＱｏＳ要求のために、構成可能な特性セッティングを可変構造型ストレージデバイス１０２のデバイスプロファイル１２２に基づいて判断し（段階Ｓ３０２）、特性セッティングの可能な組み合わせをＳＬＡのために判断する（段階Ｓ３０４）（ＱｏＳ）。可変構造型ストレージデバイス１０２のためのデバイスプロファイル１２２に基づいて、特性セッティングの組み合わせについて優先順位を付与する（段階Ｓ３０６）。特性セッティングの各々の組み合わせのために、プランとして一セットの構成コマンドを生成する（段階Ｓ３０８）。プラン又はプランの各々の構成コマンドを、トランザクションＩＤと共に可変構造型ストレージデバイス１０２に伝送する（段階Ｓ３１０）。プランを生成している間レースの場合にデバイスの状態が変化し得るので、プランは、デバイスにある構成要素によって拒絶される。したがって、ホスト１００は、プランのうちの一つが成功するか又はすべてが失敗となるまでプランを繰り返す（段階Ｓ３１２）。
【００５６】
可変構造型ストレージデバイス１０２で実行される工程は、ホストからプランを受信して、可変構造型ストレージデバイス１０２から始められる（段階Ｓ３２０）。構成要素１１８は、デバイスプロファイル１２２に基づいて、すべての特性の利用可能性及び適用可能性を判断することによってプランを認証する（段階Ｓ３２２）。プランのすべての特性を、詳細にセッティングし、そして失敗した場合に、すべての変化を、ロールバックする（段階Ｓ３２４）。一つ又は複数の論理デバイスを、特性セッティングに基づいて生成する（段階Ｓ３２６）。プランの構成ごとにデバイスプロファイル１２２を、更新する（段階Ｓ３２８）。そして、完了の応答をホスト１００に伝送する（段階Ｓ３３０）。
可変構造型ストレージデバイス１０２の動作の間、プランをデバイスプロファイル、特に実時間の性能統計と比較する（段階Ｓ３３２）。デバイスプロファイルが、プランを満足させない時、フィードバック１３０として、通知をホストに伝送する。その後、構成アドバイザー１３８は、適切な調整をするよう構成をガイドするためフィードバックを使用する（図６）。
【００５７】
以下、可変構造型ストレージデバイス１０２にある構成要素１１８だけではなく、図１に示した構成変形要素１１０をなす３つの要素、すなわち構成プランナ１３６、構成アドバイザー１３８、及びデバイスプログラマ１４０について詳細に説明する。
【００５８】
構成プランナ１３６は、ユーザ要求情報１２３（例えば、ＳＬＡ）を受信し、デバイスがデバイスプロファイル１２２（例えば、ランタイム性能データ１３４）に明示されることによって支援するポリシーに基づいた構成コマンド１２８を含む可能な構成プランを分析して、勧告として構成プランを生成する。特に、構成プランナ１３６は、デバイスプロファイル１２２に基づいてＳＬＡスペックを特性セッティングに変換する変換アルゴリズムを含み、転換された特性セッティングを脱して最適の組み合わせを判断し、そして最適の組み合わせから構成コマンド１２８を含むプランを生成する。
例えば、ストレージデバイスが、次のようなデバイスプロファイルを持つと仮定すれば、リードオーバーライトの優先順位を決めることは、読み出しレイテンシを約ｚ％向上させ、キューの深さの増加は、ＩＯＰＳをｗ％比率まで向上させる一方、暗号化特性と共にレイテンシは、ｘ％増加し、ＩＯＰＳはｙ％減少する。もし、ユーザが暗号化オプションと共に同じ性能まで達成することを所望すれば、構成プランナ１３６は、読み出し優先順位をイネーブルし、そして（又は）暗号化に起因するレイテンシの増加を相殺するためのキューの深さを増加させる必要がある。
【００５９】
構成プランナ１３６は、ユーザ要求から、複数の構成プランを生成することができ、可変構造型ストレージデバイス１０２と、ユーザ要求の性能及び状態を考慮する最適のプランを選択する。構成プランナ１３６は、可変構造型ストレージデバイスの各々の特性、特性の間の相関関係及び反相関関係、及び性能モデル１３２を評価し、構成プランを生成する複数のプランニングアルゴリズムと関連する複数の性能モデル１３２を有する。
もし可変構造型ストレージデバイス１０２が、性能プロファイル（デバイスプロファイル１２２）へのアクセスを提供すれば、構成プランナ１３６は、性能プロファイル（デバイスプロファイル１２２）を可変構造型ストレージデバイス１０２と共有し、そうでなければ、ホスト１００は、自身の性能プロファイルを有する。
【００６０】
一旦、可変構造型ストレージデバイス１０２にある構成要素１１８がプランを受信すると、構成要素１１８は、プランがデバイスのサポートできる容量を超過すれば、プランを拒絶する。  例えば、現在の性能特性をキャプチャする時に、もしデバイスが性能プロファイルを提供できないか、又はデバイスが何らかのディレイやレース（ｒａｃｅｓ）に直面すると、デバイスが提供する性能プロファイルは無効となる。この場合に、デバイスは、たとえ決定がそれの性能プロファイル１２２に基づいたとしても、プランを受け取れない。しかし、一実施形態において、構成要素１１８は、それ自身のリスクを伴ってプランを実行する。
【００６１】
構成プランは、構成コマンドのセットを含み、それらの各々は、可変構造型ストレージデバイス１０２が理解できる、予め定められたベンダー固有のコマンド又は標準コマンドである。
例えば、構成プランナ１３６は、二つのコマンドを伝送することが必要であり、一つは、リードオーバーライトの優先順位を付与するスケジュールポリシーのためのものであり、他の一つは、キューサイズを増加させるキュー特性のためのものである。選択的に、構成プランナ１３６は、全体のプランのためのコマンドをトランザクションＩＤと共に伝送する。可変構造型ストレージデバイス１０２のセッティング及び状態に依存して、構成要素１１８は、構成コマンド又はプランを移行するか、又はそうではなくてもよい。
【００６２】
図４は、プランを生成するための構成プランナ１３６によって実行される例示的な変換工程を説明するためのフローチャートである。工程は段階Ｓ３００〜３０８に対応する。ＳＬＡを受信すると（段階Ｓ４００）、解決するＱｏＳの要求が更にあるか否かを判断する（段階Ｓ４０２）。要求が更にある場合、現在のＱｏＳ要求を満足させることができる特性セッティングの可能な組み合わせを確認する（段階Ｓ４０４）。この段階での決定は、デバイスに依存して変化するが、次の段階の探索空間を減らすことができる固定された情報（又は予め決められた知識）に基づいた一般的なガイドラインである。その後、特性セッティングの組み合わせが、性能プロファイルに基づいて、関連する特定のデバイスと共に現在のＱｏＳ要求を満足させることができるか否かを判断する（段階Ｓ４０６）。もしＱｏＳ要求を満足させることができなければ、特性セッティングの次の組み合わせを得る（段階Ｓ４０８）。その後フェイルの場合に試みるすべての可能な組み合わせを確認して組み合わせが空（ｅｍｐｔｙ）か否かを判断する（段階Ｓ４１０）。そして、組み合わせが空いている場合、エラーを発生する（段階Ｓ４１２）。もし組み合わせが空でいない場合、工程は、段階Ｓ４０６に戻り継続される。
【００６３】
もし特性セッティングの組み合わせが、現在のＱｏＳ要求を満たしていれば、特性セッティングの組み合わせが、このデバイスのすべてのＳＬＡ及びＱｏＳのために予め選択された構成と共に組み合わせが可能か否かを判断する（段階Ｓ４１４）。再度、レースの場合に、デバイス性能の動的な変化により、組み合わせは動作しない。そのような場合、特性セッティングのための構成コマンドを、プランに加え（段階Ｓ４１６）、ＳＬＡでの次の未解決のＱｏＳを得る（段階Ｓ４１８）。これ以上のＱｏＳ要求工程がないと判断した場合（段階Ｓ４０２）、構成プランナ１３６は、可変構造型ストレージデバイス１０２にある構成要素１１８にプランを出力する（段階Ｓ４２０）。
【００６４】
再び図１を参照すれば、デバイスプログラマ１４０は、プラン及びそれに合わせてストレージデバイスの構成のための構成コマンドチャネルを横切って、構成プランナ１３６によって選択されたプランを受信し、可変構造型ストレージデバイス１０２にプランを伝送する。デバイスプログラマ１４０は、プランの実行について可変構造型ストレージデバイスから応答を受信する。
【００６５】
構成プランナ１３６は、（プランクオリティにより命令を受けるような）複数のプランを指示するので、プランが可変構造型ストレージデバイス１０２と共に、実際に動作することが発見されるまで、デバイスプログラマ１４０は、可変構造型ストレージデバイス１０２からの否定応答の場合にプランを繰り返す必要がある。もしデバイスプログラマ１４０が（例えば、構成要素１１８からの拒絶に起因する）プランのプログラミングの間どのようなエラーを経験しても、デバイスプログラマ１４０は、必要に応じて、プランによって作成された変化をロールバックする。
【００６６】
デバイスの性能プロファイル及び状態を監視して収集する構成コマンド及びフィードバックチャネルを実行する構成コマンドチャンネルは、ＳＡＴＡ、ＳＡＳ、ＰＣＩｅ、及びＮＶＭｅのような標準ホストインターフェースである。又はこの目的のために考案された特別なインターフェースである。
【００６７】
図５は、本発明の実施形態による可変構造型ストレージデバイスで、構成要素の処理工程を説明するためのフローチャートである。
この工程は、図２（Ａ）の段階Ｓ２０２に対応し、図３の段階Ｓ３２０〜３２８だけではなく、ここでも、可変構造型ストレージデバイスは、ホスト１００からの特性セッティングを使用するように構成する。
工程は、構成要素１１８が特性セッティングを含む少なくとも一つの構成コマンド１２８を含むホスト１００のデバイスプログラマ１４０からプランを受信する時に、開始する（段階Ｓ５００）。
【００６８】
構成要素１１８は、まずデバイスプロファイルに基づいてプランにある特性セッティングの利用可能性及び適用可能性を判断する（段階Ｓ５０２）。利用可能性の判断は、ストレージデバイスが、デバイスプロファイル１２２へのプランを比較することにより、特性セッティングをサポートしているか否かを判断することを含む。適用可能性の判断は、デバイスプロファイル１２２に基づいて、特性の調整の尺度を測定することを含み、デバイスプロファイル１２２に基づいて、適用可能な境界特性の範囲内で、特性の調整を制御することによる。
プランは、特性セッティングの利用可能性及び適用可能性の全てが真（ｔｒｕｅ）の時、認証される（段階Ｓ５０４）。構成要素１１８は、プランを実行し、（段階Ｓ５０６）、一実施形態において、個々の構成コマンドを実行することを含むプランを実行する。
【００６９】
プランが有効でない場合（段階Ｓ５０４）、構成要素１１８は、プランを拒絶してプランと関連して作成されたいずれの変化もロールバックさせ、通知（例えば、エラー信号）を構成変形要素１１０に伝送する（段階Ｓ５０８）。
例えば、もし現在のクロックサイクルが最大のクロック率として予めセッティングされた場合、クロックのスピードを増加させるため試みる如何なるプランも拒絶する。ロールバックはレースの場合に、可変構造型ストレージデバイスの性能プロファイルにおける不正確の源になる。
もしプランの実行が成功すると（段階Ｓ５１０）、１つ又は複数の論理デバイスを、ストレージ空間と共に関連したプラン（つまり、実行された構成コマンド）により可変構造型ストレージデバイスに生成する（段階Ｓ５１２）。最後に、構成要素１１８は、デバイスプロファイル１２２を更新する（段階Ｓ５１４）。
【００７０】
例示的な実施形態によって、物理的なストレージデバイスは、複数の論理デバイスをホストすることができ、そして各々の論理デバイス１２１は、独立して構成でき、それ自身の特徴を有する。したがって、例示的な実施形態の可変構造型ストレージシステムは、ＱｏＳを意識した論理デバイス１２１を生成する。論理デバイス１２１は、デバイス−固有の特性を持った（一般的なＯＳパーティションのような）スペースパーティション、（ＮＶＭｅ標準のような）マルチキュー、（Ｃｌｏｕｄ  ＰａａＳのような）マルチテナント（ｍｕｌｔｉ−ｔｅｎａｎｃｙ）、及び（ＳＲ−ＩＯＶのような）仮想化等のような互いに異なる技術に応答する。
【００７１】
例えば、ユーザが単一のデバイスに１つは、リードインテンシブワークロードのためのものであり、残りの１つはライトインテンシブワークロードのためのものである２つの１００ＧＢの格納領域を要すると仮定する。マルチキューを備えたスペースパーティション機能に基づいた簡単な可変構造型ストレージデバイスによって、ユーザはデバイスに２つのパーティション（例えば、／ｄｅｖ／ｓｄａ［１、２］）を生成することができ、読み出しのための論理デバイスとして、１つのキューに関連する１つのパーティション（例えば、／ｄｅｖ／ｓｄａ１）と、書き込みのための論理デバイスとして、別のキューに関連する他のパーティション（例えば、／ｄｅｖ／ｓｄａ２）を構成する。その後、デバイスは書き込みに起因する性能の低下のない読み出しのため論理デバイスを通じて、持続された読み出し性能を伝達する。一般的なストレージデバイスは書き込みに起因するガベージコレクションによって、このシナリオを有する長いレイテンシを示す。
【００７２】
再び図１を参照すれば、構成アドバイザー１３８は、フィードバックチャネル（図示せず）を通じてフィードバック１３０として、デバイスプロファイル１２２を受信する。データ伝送のオーバーヘッドを減らすために、ホストに伝送される実際の情報は変わることがある。構成アドバイザー１３８は、一つ又はそれ以上の物理的ストレージデバイスを横切って一つ又はそれ以上の論理デバイスを監視し、すべてのユーザ要求情報１２３が満たされているか否かを判断する。また、構成アドバイザー１３８は、ＳＬＡ違反の場合に、デバイスプロファイルに基づいてプランを調整するために構成プランナ１３６を知らせる。
【００７３】
図６は、本発明の実施形態による構成アドバイザーの実行工程を説明するためのフローチャートである。
構成アドバイザー１３８は、構成要素１１８がフィードバック１３０として、論理デバイス１２１のランタイム性能データ１３４を含む、デバイスプロファイル１２２を収集して伝送するのを待つ（段階Ｓ６００）。
一実施形態において、ホスト１００は、可変構造型ストレージデバイス１０２でキャプチャされた入力／出力トレースを伝送するための標準インターフェースを含む一つ又は複数のフィードバックチャネルを含む。
他の実施形態において、フィードバックチャネルは、構成アドバイザー１３８が可変構造型ストレージデバイス１０２の性能を監視することを許容する特別なインターフェースを含む。
【００７４】
デバイスプロファイル１２２を受信することに応答して、構成アドバイザー１３８は、フィードバック１３０をユーザ要求情報１２３と比較することにより、可変構造型ストレージデバイス１０２の性能を監視する（段階Ｓ６０２）。もし構成アドバイザー１３８が論理デバイスのランタイム性能データ１３４の内のいずれも、ユーザ要求情報１２３に違反していないと判断した場合（段階Ｓ６０４）、可変構造型ストレージデバイス１０２のプログラミングは完了する（段階Ｓ６０６）。もし論理デバイス１２１のうちのいずれかがユーザ要求情報１２３を満足させるのに失敗した場合、構成アドバイザー１３８は、論理デバイスのための新しい構成プランを提供するために構成プランナ１３６を（例えば、論理デバイスに対応するランタイム性能データ１３４を提供することによって）通知する（段階Ｓ６０８）。そうすることにより、可変構造型ストレージデバイス１０２のセッティング及び特徴を動的に調整する。
【００７５】
一実施形態において、違反が感知される時、通知は、単に関心のある論理デバイスの性能を含むことができるので、構成アドバイザー１３８は、新しいプランを生成するための最新の、そして総合的な性能データを検索するために、可変構造型ストレージデバイス１０２からデバイスプロファイル１２２を要請する。
【００７６】
一実施形態において、可変構造型ストレージデバイス１０２は、周期的に、又はランタイム性能データ１３４の状態が変化するたびに、デバイスプロファイル１２２を能動的に報告する。例えば、すべての読み出し要求がＸミリ秒以内に提供されなければならないユーザ要請が提供されると、構成アドバイザー１３８が読み出し動作のサービス時間を記録する（ｌｏｇ）か、又はサービス時間がＸミリ秒を超えた時に、レッドフラッグをセッティングするように指示する。可変構造型ストレージデバイス１０２から伝送されるデバイスプロファイル１２２を待つことより、ホスト１００は、周期的に又は要請によって、可変構造型ストレージデバイス１０２からデバイスプロファイル１２２を要請する。
【００７７】
一実施形態において、構成アドバイザー１３８は、以下のようなイベント時、即ち、新しいユーザ要求情報１２３が提出される時、存在するユーザ要求情報１２３が変化する時、ランタイム性能データ１３４が更新される時、（タイムアウトに起因する）ランタイム性能データ１３４が要求される時はいつでも、そして／又は可変構造型ストレージデバイス１０２が、ユーザ要求情報１２３を満足できない時にはいつでも、活性化される。
【００７８】
図７は、本発明の実施形態による再構成可能なストレージシステムを示すブロック図である。
本実施形態において、単一の構成変形要素７００は、単一の物理的な可変構造型ストレージデバイス７０２の複数の論理デバイスを管理することができるだけでなく、それらの各々が複数の論理デバイスを含むことができる複数の他の物理的な可変構造型ストレージデバイス（７０４、７０６、７０８）を管理することができることを示す。
【００７９】
可変構造型ストレージシステムのための方法及びシステムを説明した。本発明は、示される実施形態に基づいて説明しており、様々な実施形態があることができ、どのような変形例も、本発明の思想及び範囲内にある。例えば、例示的な実施形態は、プログラムの指示を含むハードウェア、ソフトウェア、コンピュータリーダブル媒体、又はそれらの組み合わせを通じて実現することができる。本発明の実施形態によるソフトウェアは、メモリ、ハードディスク、又はＣＤ／ＤＶＤ−ＲＯＭのようなコンピュータリーダブル媒体の形態で格納することができ、また、プロセッサによって実行され得る。
【００８０】
尚、本発明は上述の実施形態に限られるものではない。本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【符号の説明】
【００８１】
１００    ホスト
１０２    可変構造型ストレージデバイス
１０４、１１４    プロセッサ
１０６、１１６    メモリ
１０８    ホストコントローラ
１１０    構成変形要素
１１１    ストレージコントローラ
１１２    メインストレージ
１１８    構成要素
１２０    特性セット
１２１    論理デバイス
１２２    デバイスプロファイル
１２３    ユーザ要求情報
１２４    コマンド
１２６    コンテンツ
１２８    構成コマンド
１３０    フィードバック
１３１    性能範囲
１３２    性能モデル
１３４    ランタイム性能データ
１３６    構成プランナ
１３８    構成アドバイザー
１４０    デバイスプログラマ
【図１】
2014132457.tif 000007
【図２】
2014132457.tif 000008
【図３】
2014132457.tif 000009
【図４】
2014132457.tif 000010
【図５】
2014132457.tif 000011
【図６】
2014132457.tif 000012
【図７】
2014132457.tif 000013