(57)【特許請求の範囲】
【請求項１】
ストレージシステム（１００）の動作方法（１０００）であって、
第１の階層ストレージ（１２０）および第２の階層ストレージ（１２２）に結合されたストレージ階層マネージャ（１０６）にアクセスするステップを含み、第２の階層ストレージ（１２２）は第１の階層ストレージ（１２０）よりも低性能であり、方法（１０００）はさらに、
第１の階層ストレージ（１２０）における低活動領域（３０４）および第２の階層ストレージ（１２２）における高活動領域（３０６）を識別するステップと、
ストレージ階層マネージャ（１０６）によって、低活動領域（３０４）に低プライオリティを割り当て、高活動領域（３０６）に高プライオリティを割り当てるステップと、
ストレージ階層マネージャ（１０６）によって高活動領域（３０６）に対応する物理ブロック領域（６０２）を低活動領域（３０４）に対応する物理ブロック領域（６０２）と交換するステップとを含み、前記交換は、高活動領域（３０６）の高プライオリティが所定のしきい値を上回り、かつ低活動領域（３０４）の低プライオリティより高い場合に、高活動領域（３０６）のアクセス中に開始する、方法（１０００）。
【請求項２】
低活動領域（３０４）および高活動領域（３０６）を識別するためにストレージ階層マネージャ（１０６）によって使用統計（７０３）を生成するステップをさらに含む、請求項１に記載の方法（１０００）。
【請求項３】
高活動領域（３０６）に対応する物理ブロック領域（６０２）を交換するステップは、高活動領域（３０６）の使用統計（７０３）を比較するステップを含む、請求項１に記載の方法（１０００）。
【請求項４】
ストレージ階層マネージャ（１０６）によって、高活動領域（３０６）に対応する物理ブロック領域（６０２）を低活動領域（３０４）に対応する物理ブロック領域（６０２）と交換するステップは、ストレージ階層マネージャ（１０６）によって仮想−物理テーブル（７０５）を更新するステップを含む、請求項１に記載の方法（１０００）。
【請求項５】
記憶媒体インターフェイスモジュール（１１４）によって、高活動領域（３０６）に対応する物理ブロック領域（６０２）を低活動領域（３０４）に対応する物理ブロック領域（６０２）と交換するステップをさらに含む、請求項１に記載の方法（１０００）。
【請求項６】
ストレージシステム（１００）であって、
第１の階層ストレージ（１２０）および第２の階層ストレージ（１２２）に結合されたストレージ階層マネージャ（１０６）と、
低活動領域（３０４）を有する、第１の階層ストレージ（１２０）における高性能ストレージデバイス（１１６）と、
高活動領域（３０６）を有する、第２の階層ストレージ（１２２）における低性能ストレージデバイス（１１８）と、
ストレージ階層マネージャ（１０６）に結合された記憶媒体インターフェイスモジュール（１１４）とを含み、前記記憶媒体インターフェイスモジュール（１１４）は、ストレージ階層マネージャ（１０６）によって、低活動領域（３０４）に低プライオリティを割り当て、高活動領域（３０６）に高プライオリティを割り当てるためと、ストレージ階層マネージャ（１０６）によって低性能ストレージデバイス（１１８）における高活動領域（３０６）に対応する物理ブロック領域（６０２）を高性能ストレージデバイス（１１６）における低活動領域（３０４）に対応する物理ブロック領域（６０２）と交換するためのものであり、前記交換は、高活動領域（３０６）の高プライオリティが所定のしきい値を上回り、かつ低活動領域（３０４）の低プライオリティより高い場合に、高活動領域（３０６）のアクセス中に開始される、ストレージシステム（１００）。
【請求項７】
高性能ストレージデバイス（１１６）および低性能ストレージデバイス（１１８）の使用統計（７０３）を生成するための、ストレージ階層マネージャ（１０６）に結合されたシステムプロセッサ（２０２）をさらに含む、請求項６に記載のシステム（１００）。
【請求項８】
高活動領域（３０６）を決定するためにストレージ階層マネージャ（１０６）においてプロモーションしきい値モジュール（９０６）をさらに含む、請求項６に記載のシステム（１００）。
【請求項９】
ストレージ階層マネージャ（１０６）によって低活動領域（３０４）に対応する物理ブロック領域（６０２）と交換された高活動領域（３０６）に対応する物理ブロック領域（６０２）は、ストレージ階層マネージャ（１０６）によって更新された仮想−物理テーブル（７０５）を含む、請求項６に記載のシステム（１００）。
【請求項１０】
記憶媒体インターフェイスモジュール（１１４）とストレージ階層マネージャ（１０６）との間に結合され、高活動領域（３０６）に対応する物理ブロック領域（６０２）を低活動領域（３０４）に対応する物理ブロック領域（６０２）と交換するための媒体インターフェイスバス（１１２）をさらに含む、請求項６に記載のシステム（１００）。
【請求項１１】
非一時的なコンピュータ読取可能媒体であって、
第１の階層ストレージ（１２０）および第２の階層ストレージ（１２２）に結合されたストレージ階層マネージャ（１０６）にアクセスすることを含み、第２の階層ストレージ（１２２）は第１の階層ストレージ（１２０）よりも低性能であり、非一時的なコンピュータ読取可能媒体はさらに、
第１の階層ストレージ（１２０）における低活動領域（３０４）および第２の階層ストレージ（１２２）における高活動領域（３０６）を識別することと、
低活動領域（３０４）に低プライオリティを割り当て、高活動領域（３０６）に高プライオリティを割り当てることと、
ストレージ階層マネージャ（１０６）によって、高活動領域（３０６）に対応する物理ブロック領域（６０２）を低活動領域（３０４）に対応する物理ブロック領域（６０２）と交換することとを含み、前記交換は、高活動領域（３０６）の高プライオリティが所定のしきい値を上回り、かつ低活動領域（３０４）の低プライオリティより高い場合に、高活動領域（３０６）のアクセス中に開始する、非一時的なコンピュータ読取可能媒体。
【請求項１２】
低活動領域（３０４）および高活動領域（３０６）を識別するためにストレージ階層マネージャ（１０６）によって使用統計（７０３）を生成することをさらに含む、請求項１１に記載の非一時的なコンピュータ読取可能媒体。
【請求項１３】
高活動領域（３０６）に対応する物理ブロック領域（６０２）を交換することは、高活動領域（３０６）の使用統計（７０３）を比較することを含む、請求項１１に記載の非一時的なコンピュータ読取可能媒体。
【請求項１４】
ストレージ階層マネージャ（１０６）によって、高活動領域（３０６）に対応する物理ブロック領域（６０２）を低活動領域（３０４）に対応する物理ブロック領域（６０２）と交換することは、ストレージ階層マネージャ（１０６）によって仮想−物理テーブル（７０５）を更新することを含む、請求項１１に記載の非一時的なコンピュータ読取可能媒体。
【請求項１５】
記憶媒体インターフェイスモジュール（１１４）によって、高活動領域（３０６）に対応する物理ブロック領域（６０２）を低活動領域（３０４）に対応する物理ブロック領域（６０２）と交換することをさらに含む、請求項１１に記載の非一時的なコンピュータ読取可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
この出願は、２０１２年４月２０日に提出された米国仮特許出願連続番号第６１／６３５，８６９号の利益を主張しており、その主題が引用によりこの明細書中に援用されている。
【０００２】
技術分野
本発明の実施形態は、概して、ストレージシステムに関し、より特定的には、さまざまな性能特性を有する複数層の記憶媒体を備えたストレージシステムに関する。
【背景技術】
【０００３】
背景
情報トランザクションの容量および強度が増大し続けているため、個人および企業は、データおよびアプリケーションを処理して記憶するためのさらなる方法を必要としている。情報のユーザにとって利用可能な１つのオプションとしてストレージシステムがある。ストレージシステムは、一般に、ビジネス用、個人用または他の目的で情報またはデータを記憶、保護および／または伝達し、これにより、必要な場合はいつでもユーザが情報にアクセスすることを可能にする。
【０００４】
情報処理要件がユーザ毎またはアプリケーション毎に異なっているので、情報ストレージシステムは、情報へのより迅速なアクセス経路を提供するために、より頻繁にアクセスまたは変更される可能性のある情報を一時的に保持するためのキャッシュメモリを含み得る。キャッシュメモリは、その使用効率を向上させるために特別なファームウェアサポートを必要とする場合がある。たとえば、キャッシュメモリは、キャッシュを用いてストレージシステムの最高の性能を得るために、最近最も使われていない（ＬＭＲＵ：least most recently used）アルゴリズムまたは最近最も使われた（ＭＲＵ：most recently used）アルゴリズムを用いることができる。これらのキャッシングアルゴリズムは、読出しシーケンスを何回か繰り返すことで性能を向上させることができるが、ランダムな読出し動作または連続する読出し動作に対しては全く効果がない。情報がキャッシュメモリから長期記憶装置に移されると、アクセス時間がはるかに遅くなる可能性がある。
【０００５】
したがって、ユーザデータの性能およびアクセスしやすさを改善させるために、データ管理メカニズムを備えたストレージシステムが依然として必要とされている。消費者期待が増大しつつあり、市場における有意義な製品差別化のための機会が縮小しつつあることに加えて、商業の競争圧力が高まりつつあることを考慮して、これらの問題に対する解決策を見出すことがますます重要になっている。加えて、コストを削減し、効率および性能を改善し、かつ、競争圧力を満たす必要があるため、これらの問題に対する解決策の発見が必要不可欠とされていることに加えて、これら解決策を極めて緊急に発見することも求められている。
【０００６】
これらの問題に対する解決策は長い間探し求められてきたが、従来の開発では如何なる解決策も教示または示唆されず、このため、当業者は長い間これらの問題を解決することができなかった。
【発明の概要】
【課題を解決するための手段】
【０００７】
概要
本発明の実施形態は、ストレージシステムの動作方法を提供する。当該動作方法は、第１の階層ストレージおよび第２の階層ストレージに結合されたストレージ階層マネージャにアクセスするステップと、第１の階層ストレージにおける低活動領域および第２の階層ストレージにおける高活動領域を識別するステップと、ストレージ階層マネージャによって、高活動領域に対応する物理ブロック領域を低活動領域に対応する物理ブロック領域と交換するステップとを含む。
【０００８】
本発明の実施形態は、ストレージシステムの動作方法を提供する。当該動作方法は、バスドライバインターフェイスモジュールを介して通信するステップを含む、第１の階層ストレージおよび第２の階層ストレージに結合されたストレージ階層マネージャにアクセスするステップと、プロモーションしきい値モジュール（promotion threshold module）によってプロモーション基準と高活動領域とを比較するステップを含む、第１の階層ストレージにおける低活動領域および第２の階層ストレージにおける高活動領域を識別するステップと、ストレージ階層マネージャによって、高活動領域に対応する物理ブロック領域を低活動領域に対応する物理ブロック領域と交換するステップと、高活動領域に対応する物理ブロック領域の新しい位置を反映させるように、ストレージ階層マネージャによって仮想−物理リスト（virtual to physical list）を更新するステップとを含む。
【０００９】
本発明の実施形態はストレージシステムを提供する。当該ストレージシステムは、第１の階層ストレージおよび第２の階層ストレージに結合されたストレージ階層マネージャと、低活動領域を有する、第１の階層ストレージにおける高性能ストレージデバイスと、高活動領域を有する、第２の階層ストレージにおける低性能ストレージデバイスと、ストレージ階層マネージャによって、高性能ストレージデバイスにおける低活動領域に対応する物理ブロック領域と交換される、低性能ストレージデバイスにおける高活動領域に対応する物理ブロック領域と、ストレージ階層マネージャに結合された記憶媒体インターフェイスモジュールとを備える。記憶媒体インターフェイスモジュールは、ストレージ階層マネージャによって、高性能ストレージデバイスにおける低活動領域に対応する物理ブロック領域と交換された、低性能ストレージデバイスにおける高活動領域に対応する物理ブロック領域を交換するためのものである。
【００１０】
本発明の実施形態は、非一時的なコンピュータ読取可能媒体を提供する。当該コンピュータ読取可能媒体は、第１の階層ストレージおよび第２の階層ストレージに結合されたストレージ階層マネージャにアクセスすることと、第１の階層ストレージにおける低活動領域および第２の階層ストレージにおける高活動領域を識別することと、ストレージ階層マネージャによって、高活動領域に対応する物理ブロック領域を低活動領域に対応する物理ブロック領域と交換することとを含む。
【００１１】
本発明のいくつかの実施形態は、上述のステップもしくは要素に加えて、または上述のステップもしくは要素の代わりに、他のステップまたは要素を有する。これらのステップまたは要素は、添付の図面に関連付けて以下の詳細な説明を読むことにより、当業者に明らかになるだろう。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態におけるデータ管理メカニズムを備えたストレージシステムを示すブロック図である。
【図２】図１のストレージシステムの例示的なアプリケーションを示すブロック図である。
【図３】図１のストレージシステムのための仮想−物理翻訳を示す例示的なブロック図である。
【図４】図１のストレージシステムにおいて高活動領域を低活動領域と交換する例を示す図である。
【図５】図１のストレージシステムにおける高活動領域と低活動領域との安全な交換の例を示す図である。
【図６】図１のストレージシステムのための仮想−物理翻訳の例を示す図である。
【図７】図１のストレージシステムのホストバスアダプタ実現例を示す機能ブロック図である。
【図８】ストレージシステムのネットワーク接続実現例を示す機能ブロック図である。
【図９】図１のストレージシステムの詳細な動作を示すフローチャートである。
【図１０】本発明の実施形態におけるストレージシステムの動作方法を示すフローチャートである。
【発明を実施するための形態】
【００１３】
詳細な説明
以下の実施形態は、当業者が本発明を製造および使用することを可能にするように十分に詳細に記載されている。他の実施形態が本開示に基づいて明らかになるであろうこと、および、システム、プロセスまたは機械的変化が本発明の実施形態の範囲から逸脱することなく実施され得ることが理解されるはずである。
【００１４】
以下の説明においては、本発明を十分に理解できるようにするために多数の具体的な詳細が与えられる。しかしながら、これらの具体的な詳細なしでも本発明が実施され得ることが明らかになるだろう。本発明の実施形態を曖昧にするのを避けるために、いくつかの周知の回路、システム構成およびプロセスステップは詳細には開示されない。
【００１５】
システムの実施形態を示す添付の図面はやや概略的であり、縮尺通りではなく、特に、寸法のうちのいくつかは明確に表わすために、図面においては誇張して示される。同様に、説明を容易にするために図面は同様の方向から見られているが、図におけるこのような描写は大部分が任意である。概して、本発明は如何なる配向でも動作させることができる。実施形態は、記載の便宜上、第１の実施形態、第２の実施形態などと番号付けされており、他の意義を有したり本発明の実施形態を限定したりするよう意図されたものではない。
【００１６】
この明細書中において言及される「階層（tier）」という語は、共通の性能特性を有する記憶媒体装置の群または配列である。この明細書中において言及される「性能特性（performance characteristic）」という語は、如何なる装置動作およびインターフェイスタイミングをも含み得るデータ処理能力の基準である。性能特性の例として、アクセス時間、データスループット、インターフェイス帯域幅、１秒当たりの入出力動作（ＩＯＰＳ：input-output operations per second）、およびデータの優先順位を含み得る。この明細書中において言及される「記憶媒体装置（storage media device）」という語は、コンピュータシステム環境においてデータをアーカイブしたり、このデータにアクセスしたりするために用いられる装置である。たとえば、記憶媒体装置は、用いられるインターフェイス接続にかかわらず、磁気ディスクドライブ、ソリッドステートディスクドライブ、光ディスクドライブ、磁気テープドライブなどであってもよい。この明細書中において言及される「仮想ストレージ（virtual storage）」という語は、各々がアドレス可能な総メモリの一部を表している１つ以上のメモリデバイスで構成されるコンピュータシステムにとって利用可能であるアドレス可能な総メモリである。仮想ストレージは、１つ以上のメモリデバイス内で物理アドレスに翻訳される仮想アドレスによってアドレス指定される。
【００１７】
この明細書中において言及される「モジュール（module）」という語は、この語が用いられている文脈に応じて、本発明の実施形態においてソフトウェア、ハードウェアまたはそれらの組合せを含み得る。たとえば、ソフトウェアはマシンコード、ファームウェア、埋込みコードおよびアプリケーションソフトであってもよい。また、たとえば、ハードウェアは、回路類、プロセッサ、コンピュータ、集積回路、集積回路コア、圧力センサ、慣性センサ、微小電気機械システム（ＭＥＭＳ：microelectromechanical system）、受動素子、またはこれらの組合せであってもよい。
【００１８】
ここで図１を参照すると、本発明の実施形態におけるデータ管理メカニズムを備えたストレージシステム１００のブロック図が示される。ストレージシステム１００のブロック図は、バスドライバインターフェイスモジュール１０４およびストレージ階層マネージャ１０６を含むブロックレベルストレージプロセッサ１０２を示す。ストレージ階層マネージャ１０６は、バスドライバインターフェイスモジュール１０４を制御し、かつブロックレベルストレージプロセッサ１０２の動作を管理するように構成されたプロセッサまたは組込み型プロセッサであってもよい。バスドライバインターフェイスモジュール１０４は、次のレベルシステム（図示せず）との通信に関連するプロトコルを実現することができる。
【００１９】
ブロックレベルストレージプロセッサ１０２は、ブロックレベル階層化、仮想−物理（virtual to physical）デバイスマッピングおよび他のデータ管理機能を含むさまざまなストレージ仮想化機能を実行することができる。ブロックレベルストレージプロセッサ１０２は、システムプロセッサ（図示せず）によって実行されるべき非一時的なコンピュータ読取り可能媒体（図示せず）に対する命令として実現することができる。非一時的なコンピュータ読取り可能媒体は、不揮発性メモリ、たとえば、ハードディスクドライブ、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ：non-volatile random access memory）、ソリッドステートストレージデバイス（ＳＳＤ：solid-state storage device）、コンパクトディスク（ＣＤ：compact disk）、デジタルビデオディスク（ＤＶＤ：digital video disk）、またはユニバーサルシリアルバス（ＵＳＢ：universal serial bus）フラッシュメモリ素子などを含み得る。非一時的なコンピュータ読取り可能媒体は、システムの一部として組み込まれてもよく、または、システムから取り外し可能なものとして据付けられてもよい。ブロックレベルストレージプロセッサ１０２は、非一時的なコンピュータ読取り可能媒体からの命令を実行するフレキシブルなハードウェアもしくは専用のハードウェアの組合わせとして実現することができるか、または、専用のハードウェアモジュールから実現することができる。
【００２０】
インターフェイスバス１０８は、バスドライバインターフェイスモジュール１０４を次のレベルシステム（図示せず）に結合することができる。インターフェイスバス１０８は、ストレージシステム１００と次のレベルシステム（図示せず）との間に双方向通信経路を提供することができる。インターフェイスバス１０８は、ブロックレベルストレージプロセッサ１０２との通信およびブロックレベルストレージプロセッサ１０２へのデータの送達のために用いられるパラレルバス、シリアルバス、電子接続、光学接続または無線接続であってもよい。バスドライバインターフェイスモジュール１０４は、データマネージャバス１１０によってストレージ階層マネージャ１０６に結合することができる。データマネージャバス１１０は、インターフェイスバス１０８に対するデータおよびインターフェイスの交換を受信または駆動することができる。
【００２１】
媒体インターフェイスバス１１２は、ストレージ階層マネージャ１０６を記憶媒体インターフェイスモジュール１１４に結合することができる。媒体インターフェイスバス１１２は、ストレージ階層マネージャ１０６と記憶媒体インターフェイスモジュール１１４との間でデータのブロックおよびセットアップ情報をやりとりすることを可能にするための通信経路を提供することができる。記憶媒体インターフェイスモジュール１１４は、高性能ストレージデバイス１１６および低性能ストレージデバイス１１８のための通信プロトコルを実現することができる。
【００２２】
高性能ストレージデバイス１１６は、低性能ストレージデバイス１１８と同じであってもよいが、これらは、性能、容量、コスト、電力消費および１秒当たりの入出力動作（ＩＯＰＳ）の点で異なっていることが多い。高性能ストレージデバイス１１６の配列は第１の階層ストレージ１２０を形成することができ、離散的な構成要素の形状をしたＮＡＮＤフラッシュベースのデバイス、スタンドアロンのソリッドステートディスク（ＳＳＤ）、または極めて高性能のシリアル接続ＳＣＳＩ（ＳＡＳ：serial attached SCSI）ディスクドライブなどの半導体ベースの記憶素子を含み得る。低性能ストレージデバイス１１８の代替的な配列は、シリアル高度技術接続（ＳＡＴＡ：serial advanced technology attach）、シリアル接続ＳＣＳＩ（ＳＡＳ）、ネットワーク接続ストレージ、または他のより低速形態の媒体などの第２の階層ストレージ１２２を形成することができる。
【００２３】
ブロックレベルストレージプロセッサ１０２を介するデータのブロックの転送は、初めに第１の階層ストレージ１２０または第２の階層ストレージ１２２のいずれかに記憶させることができる。その後行われるデータのブロックの如何なるアクセスも、ストレージ階層マネージャ１０６によって分析することができる。ストレージ階層マネージャ１０６は、データのブロックのうちいずれが、最も頻繁にアクセスされた読出し、組合された読出しおよび書込み、ストリーミング、またはランダムアクセス特徴などに該当するかを判断するためにそれらアクセスを監視することができる。
【００２４】
高頻度にアクセスしたせいで、データのブロックのうちいずれかが低性能ストレージデバイス１１８に誤って配置されているとストレージ階層マネージャ１０６が判断した場合、ストレージ階層マネージャ１０６は、このデータのブロックを高性能ストレージデバイス１１６上のデータのブロックと交換することができる。ストレージ階層マネージャ１０６はまた、アクセスが低頻度であったために高性能ストレージデバイス１１６に誤って配置されているデータのブロックを識別することができ、このデータのブロックを低性能ストレージデバイス１１８と交換することができる。第１の階層ストレージ１２０と第２の階層ストレージ１２２との間でデータブロックをこのように交換することにより、ストレージシステム１００の性能を最適化することができる。
【００２５】
どのデータのブロックを第１の階層ストレージ１２０と第２の階層ストレージ１２２との間で交換しなければならないかについての判断は、ストレージ階層マネージャ１０６によって制御される。第１の階層ストレージ１２０と第２の階層ストレージ１２２との間におけるデータのブロックの交換の実際のプロセスは、次のレベルシステム（図示せず）からの干渉なしに、ストレージ階層マネージャ１０６および記憶媒体インターフェイスモジュール１１４によって実行することができる。
【００２６】
第１の階層ストレージ１２０および第２の階層ストレージ１２２を有するストレージシステム１００が単なる一例に過ぎず、ストレージの付加的な階層をいくつでも実現できることが理解される。第１の階層ストレージ１２０に示される高性能ストレージデバイス１１６の配列が単なる一例に過ぎず、高性能ストレージデバイス１１６をいくつでもこの配列に含めることができることがさらに理解される。同様に、第２の階層ストレージ１２２における低性能ストレージデバイス１１８の代替的な配列は単なる一例に過ぎず、低性能ストレージデバイス１１８をいくつでもこの代替的な配列に含めることができる。第１の階層ストレージ１２０および第２の階層ストレージ１２２が、ソリッドステートフラッシュベースのメモリまたはその派生物、相変化メモリ、揮発性および不揮発性のランダムアクセスメモリ、回転媒体またはシリアルテープストリーミングの如何なる組合せであってもよいことがさらに理解される。
【００２７】
ブロックレベルストレージプロセッサ１０２が、第１の階層ストレージ１２０および第２の階層ストレージ１２２の各々の内部において、低性能ストレージデバイス１１８上に存在する高プライオリティ属性を有し、かつ高性能ストレージデバイス１１６上に存在する低プライオリティ属性を有していると識別された領域を決定することができることが見出された。ブロックレベルストレージプロセッサ１０２は、ストレージシステム１００の性能を向上させるために、第１の階層ストレージ１２０と第２の階層ストレージ１２２との間でデータのブロックを自律的に交換することができる。ストレージ階層マネージャ１０６は、内部メモリにおける優先されたテーブルまたはこれらの高プライオリティ領域および低プライオリティ領域の記憶媒体の専用の領域を、ユーザプログラマブルなプロモーションポリシーまたはデフォルトセットのプロモーションポリシーに基づいて交換する必要があるかどうかを決定する目的で、維持することができる。
【００２８】
ここで図２を参照すると、図１のストレージシステム１００の例示的なアプリケーション２０１のブロック図が示される。ストレージシステム１００の例示的なアプリケーション２０１のブロック図は、プロセッサバス２０６によってインターフェイスバスコントローラ２０４に結合されたシステムプロセッサ２０２を示す。
【００２９】
インターフェイスバスコントローラ２０４は、システムプロセッサ２０２とブロックレベルストレージプロセッサ１０２との間でコマンドおよびデータを送受信するために、インターフェイスバス１０８を駆動することができる。インターフェイスバス１０８は、ブロックレベルストレージプロセッサ１０２とシステムプロセッサ２０２との間で通信を行いデータをやり取りするのに用いられるパラレルバス、シリアルバス、電子接続、光接続または無線接続であってもよい。
【００３０】
システムプロセッサ２０２は、第１の階層ストレージ１２０または第２の階層ストレージ１２２からアプリケーションまたはデータにアクセスすることができる。ブロックレベルストレージプロセッサ１０２は、システムプロセッサ２０２によってアクセスされたデータのブロックの統計を監視して、データのブロックの適切なプライオリティを決定し、データのブロックの交換が必要であるかどうかを判断することができる。ブロックレベルストレージプロセッサ１０２は、システムプロセッサ２０２の情報または支援なしに、第１の階層ストレージ１２０と第２の階層ストレージ１２２との間でデータのブロックを交換することができる。
【００３１】
データのブロックの交換が必要であるとブロックレベルストレージプロセッサ１０２が判断した場合、記憶媒体インターフェイスモジュール１１４は、システムプロセッサ２０２によるアクセスが妨げられることなく続いている間、交換を実行するためにセットアップされ得る。第１の階層ストレージ１２０から第２の階層ストレージ１２２へのデータのブロックの転送、および、第２の階層ストレージ１２２から第１の階層ストレージ１２０へのデータのブロックの転送は、システムプロセッサ２０２の情報または支援なしに、ブロックレベルストレージプロセッサ１０２および記憶媒体インターフェイスモジュール１１４によって実行される。
【００３２】
ストレージシステム１００が、第１の階層ストレージ１２０におけるデータのブロックのうち最も使用されたものと、第２の階層ストレージ１２２におけるデータのブロックのうち最も使用されなかったものとを維持することによって、例示的なアプリケーション２０１の性能を向上させ得ることが見出された。第１の階層ストレージ１２０と第２の階層ストレージ１２２との間でのデータのブロックの交換は、システムプロセッサ２０２の実行に対して如何なるオーバーヘッドまたは追加のコマンドを追加することなく、ブロックレベルストレージプロセッサ１０２および記憶媒体インターフェイスモジュール１１４によって実行することができる。
【００３３】
ここで図３を参照すると、図１のストレージシステム１００についての仮想−物理翻訳（virtual to physical translation）３０１の例示的なブロック図が示される。ストレージシステム１００のための仮想−物理翻訳３０１の例示的なブロック図は、斜線模様の長方形で表わされる低活動領域３０４と、斜交平行模様の長方形で表わされる高活動領域３０６とを有する仮想ストレージ容量３０２を示す。
【００３４】
仮想−物理変換３０８は、図１のストレージ階層マネージャ１０６によって実行することができる。低活動領域３０４および高活動領域３０６の最初の書込みの際に、それらの物理的な位置は適切なプライオリティを反映していない可能性がある。低活動領域３０４が表している第１の階層ストレージ１２０のうちの一部は、アクセス頻度が最も低く、これにより、低活動領域３０４が、第１の階層ストレージ１２０のうちの高プライオリティおよび高性能の空間に記憶される低プライオリティデータとなる。高活動領域３０６が表している第２の階層ストレージ１２２のうちの一部は、アクセス頻度が最も高く、これにより、高活動領域３０６が、第２の階層ストレージ１２２のうちの低プライオリティおよび低性能の空間に記憶される高プライオリティデータとなる。
【００３５】
低活動領域３０４および高活動領域３０６がシステムプロセッサ２０２によってアクセスされると、ストレージ階層マネージャ１０６によってプライオリティを決定することができる。第１の階層ストレージ１２０が低活動領域３０４で書き込まれ、第２の階層ストレージ１２２が高活動領域３０６で書き込まれたとストレージ階層マネージャ１０６が判断した場合、ストレージ階層マネージャ１０６によって図１の記憶媒体インターフェイスモジュール１１４のためにデータのブロックの交換を予定することができる。
【００３６】
ブロックレベルストレージプロセッサ１０２は、任意の数の基準、たとえば、アクセス頻度の最も高い読出し、組合わされた読出しおよび書込み、ストリーミング、またはランダムアクセス特徴、およびアクセス頻度の最も低い読出しなどに基づいて、プライオリティを決定することができる。プライオリティが予め定められたしきい値を上回る場合、ストレージ階層マネージャ１０６は、第１の階層ストレージ１２０における低活動領域３０４を第２の階層ストレージ１２２における高活動領域３０６と交換することができる。
【００３７】
低活動領域３０４と高活動領域３０６とを交換することにより、高活動領域３０６の性能を改善させることができ、低活動領域３０４の利用可能性にほとんど差を生じさせないようにすることができることが理解される。ストレージ階層マネージャ１０６は、システムプロセッサ２０２が高活動領域３０６にアクセスし続けることを可能にしつつ、低活動領域３０４と高活動領域３０６との交換を調整することができる。交換が完了すると、ストレージ階層マネージャ１０６は、システムプロセッサ２０２についての仮想アドレスを変更することなく、新しい物理的な位置を反映させるように仮想−物理テーブルを更新することができる。このようにして、低活動領域３０４および高活動領域３０６の物理的な位置の変更をシステムプロセッサ２０２に気付かせることなく、物理的な位置を変更させることができる。
【００３８】
ここで図４を参照すると、図１のストレージシステム１００における高活動領域３０６と低活動領域３０４との交換４０１の例が図示される。高活動領域３０６と低活動領域３０４との交換４０１の例示的な図は、第２の階層ストレージ１２２から高活動領域３０６を受取るための第１の階層ストレージ１２０における宛先領域４０２を示す。
【００３９】
第２の階層ストレージ１２２における宛先領域４０２は、第１の階層ストレージ１２０から低活動領域３０４を受取ることができる。交換４０１が完了すると、図１のストレージ階層マネージャ１０６は、低活動領域３０４および高活動領域３０６の新しい物理的な位置を示すために、ストレージシステム１００内で仮想−物理テーブルを更新することができる。仮想−物理テーブルの更新前に読出しコマンドが高活動領域３０６をアドレス指定する場合、高活動領域３０６はその初期の位置から利用可能となるだろう。仮想−物理テーブルの更新後、高活動領域３０６が第１の階層ストレージ１２０における新しい位置から読出されるだろう。このプロセスにより、交換中に停電が起こった場合でも高活動領域３０６内におけるデータのブロックが確実に保護されることとなる。なぜなら、仮想−物理テーブルが更新されるまで交換が実施されないからである。仮想−物理テーブルは、低活動領域３０４と高活動領域３０６とのデータのブロックの交換を反映させるために一回だけ更新される。
【００４０】
ストリーミング対ランダムデータアクセスパターンの優先順位付け、時刻によって異なるアクセス、主要な読出し対書込みによって異なるアクセス、アクセスの頻度、およびユーザによって規定することができる他の基準などのデータアクセスパターンの特徴づけに基づいて、ストレージシステム１００がデータのブロックのプライオリティを決定するための手段を提供することが見出された。プライオリティが満たされたときに交換４０１を実行することにより、ストレージシステム１００は、図１の高性能ストレージデバイス１１６のより高い性能を活用するために、高活動領域３０６を第１の階層ストレージ１２０に移動させることによって、図２のシステムプロセッサ２０２の性能を向上させることができる。
【００４１】
ここで図５を参照すると、図１のストレージシステム１００における高活動領域３０６と低活動領域３０４との安全な交換５０１が例示される。この安全な交換５０１の例示的な図は、交換中に低活動領域コピー５０４を保持するのに用いることができる第２の階層ストレージ１２２の予備用区域（reserved section）５０２を示す。
【００４２】
安全な交換５０１は２ホップ転送（two-hop transfer）と見なすことができる。安全な交換５０１に備えて、低活動領域３０４を予備用区域５０２にコピーすることができる。仮想−物理テーブルは、低活動領域３０４についての新しい物理アドレスを反映させるために、図１のストレージ階層マネージャ１０６によって更新することができる。次に、高活動領域３０６は、低活動領域３０４によって占められた第１の階層ストレージ１２０における位置にコピーすることができる。仮想−物理テーブルは、高活動領域３０６の新しい位置を反映させるために、ストレージ階層マネージャ１０６によって更新することができる。
【００４３】
高活動領域３０６が第１の階層ストレージ１２０に転送されると、低活動領域コピー５０４は予備用区域５０２から第２の階層ストレージ１２２にコピーすることができ、仮想−物理テーブルは、低活動領域３０４の移動を反映させるためにストレージ階層マネージャ１０６によって更新することができる。このプロセスは、仮想−物理テーブルを３回更新することを必要とする。代替的には、予備用区域５０２は、第２の階層ストレージ１２２内のいずれかの場所における予備容量（reserved capacity）と見なすことができる。これにより、低活動領域３０４の２回目の転送が不要となり、さらに、高活動領域３０６を第１の階層ストレージ１２０に転送することによって空にされた容量を予備用区域５０２に加えることができる。この代替的なプロセスでは、仮想−物理テーブルを２回更新することが必要となる。
【００４４】
ここで図６を参照すると、図１のストレージシステム１００のための仮想−物理翻訳６０１が例示される。仮想−物理翻訳６０１の例示的な図は、高活動領域３０６を有する仮想ストレージ容量３０２を示す。
【００４５】
仮想ストレージ容量３０２は、第１の階層ストレージ１２０および第２の階層ストレージ１２２にマッピングすることができる。物理的なストレージデバイスの付加的な階層が実現可能であることが理解される。説明を容易にするために、第１の階層ストレージ１２０および第２の階層ストレージ１２２だけを示す。高活動領域３０６は、図１の高性能ストレージデバイス１１６のうち１つの範囲内に配置され得る。高活動領域３０６の物理的な位置は物理ブロック領域６０２であってもよい。
【００４６】
物理ブロック領域６０２はいくつかのデータのブロック６０４から構成することができる。データのブロック６０４は、物理的な媒体上のセクタにデータを物理的にマッピングすることを含み得る。高性能ストレージデバイス１１６は、データのブロック６０４に関連付けられるデータセクタ（図示せず）の位置を突き止めるために別個のマッピング構造を維持するブロックアドレス指定型装置であってもよい。
【００４７】
付加的な容量が高活動領域３０６によって用いられる場合に、物理ブロック領域６０２が高性能ストレージデバイス１１６の境界にわたって延在し得ることが理解される。高活動領域３０６を物理ブロック領域６０２にマッピングするのに用いられる仮想−物理テーブルは、図１のストレージ階層マネージャ１０６によって維持される。
【００４８】
いくつかの実施形態においては、第２の階層ストレージ１２２は予備用区域５０２を含み得る。予備用区域は１本線の物理ブロック領域６０２として示されているが、物理ブロック領域６０２が予備用区域５０２にいくつでも含まれ得ることが理解される。予備用区域５０２に関連付けられる物理ブロック領域６０２を第２の階層ストレージ１２２全体にわたって分散させることができることも理解される。
【００４９】
同様に、低活動領域３０４を第２の階層ストレージ１２２に位置する物理ブロック領域６０２にマッピングできることが理解される。第２の階層ストレージ１２２が図１の低性能ストレージデバイス１１８から構成されているので、さまざまな数のデータのブロック６０４で、低活動領域３０４のための物理ブロック領域６０２を構成することができる。低活動領域３０４および高活動領域３０６の物理的容量が同じであることが理解される。高性能ストレージデバイス１１６および低性能ストレージデバイス１１８が同じ装置タイプであってもよく、または異なる装置タイプであってもよいことがさらに理解される。
【００５０】
第１の階層ストレージ１２０が予備用区域５０２をも含み得ることが理解される。第１の階層ストレージ１２０および第２の階層ストレージ１２２の実現例は、図１のストレージシステム１００の構成と、図４の交換４０１のタイプまたは実現される図５の安全な交換５０１のタイプとに依存し得る。第１の階層ストレージ１２０および第２の階層ストレージ１２２の全体的な容量は、いくつかの物理ブロック領域６０２から構成され得る。
【００５１】
ここで図７を参照すると、図１のストレージシステム１００のホストバスアダプタ実現例７０１の機能ブロック図が示される。ホストバスアダプタ実現例７０１の機能ブロック図は、メモリデバイス７０４において、第１の階層ストレージ１２０および第２の階層ストレージ１２２のために、使用統計（usage statistics）７０３を維持するストレージ階層マネージャ１０６を示す。ストレージ階層マネージャ１０６は、使用統計７０３を生成するために第１の階層ストレージ１２０および第２の階層ストレージ１２２に対する各アクセスを監視することができる。使用統計７０３は、図３の低活動領域３０４および図３の高活動領域３０６を決定するために設定されたプライオリティに基づいて評価することができる。
【００５２】
メモリデバイス７０４は、ストレージ階層マネージャ１０６における離散的メモリ構成要素または埋込み型メモリ構成要素であってもよい。ストレージ階層マネージャ１０６およびメモリデバイス７０４の実現例は、メモリデバイス７０４のインスタンスが埋込まれているストレージ階層マネージャ１０６と同じ態様で動作可能である。
【００５３】
ストレージ階層マネージャ１０６は、図２のシステムプロセッサ２０２に対して提示されかつ図２のシステムプロセッサ２０２によってアクセスされる図３の仮想ストレージ容量３０２に複数の物理デバイスをマッピングするのに用いられる仮想−物理マッピング機能を実行することができる。仮想−物理テーブル７０５は、使用統計７０３から決定される低活動領域３０４および高活動領域３０６に関連付けられる図６の物理ブロック領域６０２を識別するために、メモリデバイス７０４に維持することができる。
【００５４】
ストレージ階層マネージャ１０６は、第１の階層コントローラ７０６および第２の階層コントローラ７０８に結合することができる。第１の階層コントローラ７０６と第２の階層コントローラ７０８とストレージ階層マネージャ１０６とを組合せることで、図１の記憶媒体インターフェイスモジュール１１４の機能を提供することができる。図４の交換４０１を実行するために、ストレージ階層マネージャ１０６は、第１の階層コントローラ７０６および第２の階層コントローラ７０８を介して、図３の低活動領域３０４および図３の高活動領域３０６の移動を個々に調整しなければならない。
【００５５】
第１の階層コントローラ７０６は、いくつかの高性能ストレージデバイス１１６から構成される第１の階層ストレージ１２０に結合することができる。高性能ストレージデバイス１１６は、半導体ベースのソリッドステートドライブ（ＳＳＤ）、超高性能磁気ディスク、たとえば、１０，０００ＲＰＭ〜１５，０００ＲＰＭで回転するシリアル接続小型コンピュータシステムインターフェイス（ＳＡＳ）ディスクドライブなどを含み得る。第１の階層コントローラ７０６は、図示のとおり高性能ストレージデバイス１１６の個々のユニットに結合され得るか、または、第１の階層ストレージ１２０を収容する筐体（図示せず）に対して、光学インターフェイスなどの単一の高性能インターフェイスを介して結合され得る。
【００５６】
第２の階層コントローラ７０８は、低性能ストレージデバイス１１８で構成される第２の階層ストレージ１２２に結合することができる。低性能ストレージデバイス１１８は、シリアル高度技術接続（ＳＡＴＡ）ドライブ、ネットワーク接続ストレージ（ＮＡＳ）、または、７２００ＲＰＭで回転するシリアル接続小型コンピュータシステムインターフェイス（ＳＡＳ）ディスクドライブを含み得る。第２の階層コントローラ７０８は、図示のとおり低性能ストレージデバイス１１８の個々のユニットに結合することができるか、または、第２の階層ストレージ１２２を収容する筐体（図示せず）に対して、光学インターフェイスなどの単一の高性能インターフェイスを介して結合することができる。
【００５７】
ストレージ階層マネージャ１０６は、インターフェイスバスコントローラ２０４を介して図２のシステムプロセッサ２０２と通信するためにバスドライバインターフェイスモジュール１０４に結合することができる。インターフェイスバスコントローラ２０４が、プラグ接続可能なプリント回路基板上に搭載されたストレージ階層マネージャ１０６、メモリデバイス７０４、第１の階層コントローラ７０６、第２の階層コントローラ７０８、およびバスドライバインターフェイスモジュール１０４で構成されるブロックレベル階層化アダプタ７１０の挿入を可能にするのに必要な取付け用ハードウェアおよび電子機器を含み得ることが理解される。
【００５８】
ストレージシステム１００が、第１の階層ストレージ１２０および第２の階層ストレージ１２２に結合されたブロックレベル階層化アダプタ７１０として実現され得ることが見出された。ブロックレベル階層化アダプタ７１０の実現例により、既存のコンピュータシステムに変更を加える必要なしに、既存のコンピュータシステム（図示せず）へのストレージシステム１００を含めるようにアップグレード経路を提供することができる。ブロックレベル階層化アダプタ７１０の動作中、ストレージ階層マネージャ１０６は、高活動領域３０６に対応する物理ブロック領域６０２および低活動領域３０４に対応する物理ブロック領域６０２の使用統計７０３を維持することができる。ストレージ階層マネージャ１０６は、メモリデバイス７０４において使用統計７０３を維持することができる。
【００５９】
ここで図８を参照すると、図１のストレージシステム１００のネットワーク接続実現例８０１の機能ブロック図が示される。ネットワーク接続実現例８０１の機能ブロック図は、メモリデバイス７０４に結合されたストレージ階層マネージャ８０２を示す。階層ストレージマネージャ８０２は、図１の階層ストレージマネージャ１０６および図１の記憶媒体インターフェイスモジュール１１４によって実行される機能を含み得る。ストレージ階層マネージャ８０２は、シングルレベルコード（ＳＬＣ：single level code）ＮＡＮＤフラッシュ素子または相変化メモリ（ＰＣＭ：phase change memory）素子の配列などの、第１のストレージアレイ８０６に結合された第１のソリッドステート駆動コントローラ８０４に結合することができる。
【００６０】
ストレージ階層マネージャ８０２も第２のソリッドステート駆動コントローラ８０８に結合することができる。第２のソリッドステート駆動コントローラ８０８は、マルチレベルコード（ＭＬＣ：multi-level code）ＮＡＮＤフラッシュ素子の配列などの第２のストレージアレイ８１０に結合することができる。
【００６１】
ストレージ階層マネージャ８０２は、次のレベルシステム（図示せず）と通信するためにバスドライバインターフェイスモジュール１０４に結合することができる。バスドライバインターフェイスモジュール１０４は、シリアル光学インターフェイスまたはシリアル電気インターフェイスなどのシリアルインターフェイス８１２をサポートすることができる。シリアルインターフェイス８１２は、次のレベルシステムと通信するためにシリアル接続ＳＣＳＩ（ＳＡＳ）、シリアル高度技術接続（ＳＡＴＡ）またはインターネット小型コンピュータシステムインターフェイス（ｉＳＣＳＩ）インターフェイスを含み得る。
【００６２】
筐体８１４は、電源、ファンおよびコネクタ（図示せず）を備えたプリント回路基板上に搭載されたストレージ階層マネージャ８０２、メモリデバイス７０４、第１のソリッドステート駆動コントローラ８０４、第１のストレージアレイ８０６、第２のソリッドステート駆動コントローラ８０８、第２のストレージアレイ８１０、およびバスドライバインターフェイスモジュール１０４を収容することができる。
【００６３】
ここで図９を参照すると、図１のストレージシステム１００の詳細な動作のフローチャート９０１が示される。フローチャート９０１は、同時に動作可能な第２の階層の監視モジュール９０２および第１の階層の監視モジュール９０４を示す。
【００６４】
第２の階層の監視モジュール９０２は、図１の第２の階層ストレージ１２２のうちアクセス頻度の最も高い領域のテーブルをコンパイルすることができる。これらの領域は、図６の物理ブロック領域６０２であってもよく、図６の特定数のデータのブロック６０４を含んでもよい。
【００６５】
第１の階層の監視モジュール９０４は、アクセス頻度の最も低い領域を識別するために、図１の第１の階層ストレージ１２０におけるアクセスのテーブルをコンパイルすることができる。第１の階層ストレージ１２０における領域は物理ブロック領域６０２と同じ容量となるように規定されているが、第１の階層ストレージ１２０において見出される図１の高性能ストレージデバイス１１６のフォーマットが、第２の階層ストレージ１２２において見出される図１の低性能ストレージデバイス１１８のフォーマットとは異なる場合には、異なる数のデータのブロック６０４を含んでもよい。
【００６６】
第２の階層ストレージ１２２の物理ブロック領域６０２のうち、第１の階層ストレージ１２０へとプロモートされるべきである候補が存在しているかどうかを判断するために、図７の使用統計７０３をプロモーション基準によって決定されたしきい値と比較することのできるプロモーションしきい値モジュール９０６によって、第２の階層の監視モジュール９０２がチェックされる。プロモーション基準はデータアクセスパターンの特徴づけ、時刻ベースでのアクセス、最も頻繁にアクセスされた読出し、組合わされた読出しおよび書込み、読出しのストリーミングなどであってもよい。プロモーションのためのしきい値は、ユーザ入力またはシステムデフォルトによって決定可能であり、第２の階層ストレージ１２２の物理ブロック領域６０２のうちの候補となる使用統計７０３と比較可能である。
【００６７】
プロモーションしきい値が満たされない場合、次のプロモーション機会を待つために、フローが第２の階層の監視モジュール９０２および第１の階層の監視モジュール９０４に戻される。しかしながら、プロモーションしきい値が満たされる場合、フローは交換ターゲットの取込みモジュール９０８に進む。
【００６８】
交換ターゲットの取込みモジュール９０８は、第１の階層の監視モジュール９０４から第１の階層ストレージ１２０における最もアクセス頻度の低い領域と、第２の階層の監視モジュール９０２から第２の階層ストレージ１２２のうち最もアクセス頻度の高い領域とを取込むことができる。第１の階層の監視モジュール９０４からの入力は、第１の階層ストレージ１２０において最も活動的でない物理ブロック領域６０２を表わす。第２の階層の監視モジュール９０２からの入力は、第２の階層ストレージ１２２において最も活動的である物理ブロック領域６０２を表わす。
【００６９】
次いで、フローが交換の確認モジュール９１０に進み、そこで、図１のストレージ階層マネージャ１０６は、第１の階層ストレージ１２０において最も活動的でない物理ブロック領域６０２が、第２の階層ストレージ１２２において最も活動的である物理ブロック領域６０２ほど活動的ではないことを確認する。このチェックにより、過度に負荷が掛けられたストレージシステム１００が、ストレージシステム１００のスループットを下げる可能性のある物理ブロック領域６０２の交換を実行しないことを確認することができる。
【００７０】
第１の階層ストレージ１２０において最も活動的でない物理ブロック領域６０２が第２の階層ストレージ１２２において最も活動的である物理ブロック領域６０２よりも活動的であると交換の確認モジュール９１０が判断した場合、交換が不可能となり、次のプロモーション機会を待つために、フローが第２の階層の監視モジュール９０２および第１の階層の監視モジュール９０４に戻される。第１の階層ストレージ１２０において最も活動的でない物理ブロック領域６０２が第２の階層ストレージ１２２において最も活動的である物理ブロック領域６０２ほど活動的ではないと交換の確認モジュール９１０が判断した場合、フローが物理領域の交換モジュール９１２に進む。
【００７１】
物理領域の交換モジュール９１２は、図１の記憶媒体インターフェイスモジュール１１４に対して、図４の交換４０１のモードまたは図５の安全な交換５０１のモードで物理ブロック領域６０２のうち識別されたユニットを移動させるように命令することができる。物理ブロック領域６０２の交換が、第１の階層ストレージ１２０および第２の階層ストレージ１２２に位置する図４の宛先領域４０２と同時に実行され得るか、または、図５の予備用区域５０２の使用に続いて実行され得ることが理解される。他の実現例は、転送中に一時的な保持位置として機能するようにメモリデバイス７０４を使用することによって実現可能である。
【００７２】
転送が完了すると、フローが仮想ポインタの更新モジュール９１４に進む。仮想ポインタの更新モジュール９１４は、図７の仮想−物理テーブル７０５において第１の階層ストレージ１２０と第２の階層ストレージ１２２との間で転送される物理ブロック領域６０２の新しい位置を提供する。
【００７３】
ストレージシステム１００は、一例としてモジュール機能または順序を用いて説明された。ストレージシステム１００は、モジュールをさまざまに分割するか、またはモジュールをさまざまに順序付けることができる。たとえば、第２の階層の監視モジュール９０２および第１の階層の監視モジュール９０４は、第１の階層ストレージ１２０および第２の階層ストレージ１２２の両方において物理ブロック領域６０２の単一の活動度リストから実行可能である。用いられる説明は、本発明の実施形態の動作を、その実現例だけに限定することなく明瞭に表わすよう意図されたものである。
【００７４】
この応用例において記載されるモジュールは、図１のストレージ階層マネージャ１０６におけるハードウェア実現例またはハードウェアアクセラレータであってもよい。モジュールはまた、図１のストレージ階層マネージャ１０６内におけるハードウェア実現例またはハードウェアアクセラレータであってもよい。
【００７５】
ここで図１０を参照すると、本発明の実施形態におけるストレージシステム１００の動作方法１０００のフローチャートが示される。方法１０００は、ブロック１００２において、第１の階層ストレージおよび第２の階層ストレージに結合されたストレージ階層マネージャにアクセスするステップと、ブロック１００４において、第１の階層ストレージにおける低活動領域および第２の階層ストレージにおける高活動領域を識別するステップと、ブロック１００６において、ストレージ階層マネージャによって、高活動領域に対応する物理ブロック領域を低活動領域に対応する物理ブロック領域と交換するステップとを含む。
【００７６】
結果として得られる方法、プロセス、装置、デバイス、プロダクトおよび／またはシステムは、簡単明瞭で、コスト効率が良く、単純で、非常に汎用性があり、正確で、感度がよく、効果的であり、そして、容易で効率的かつ経済的に製造、適用および利用できる公知の構成要素を適合させることによって実現することができる。本発明の実施形態の別の重要な局面は、コストを削減し、システムを簡易化し、性能を高めるヒストリカルトレンドを有益に支持および整備することである。
【００７７】
本発明の実施形態のこれらおよび他の有益な局面は、結果として、技術の状態を少なくとも次のレベルへと推進する。
【００７８】
本発明を具体的なベストモードと共に記載してきたが、多くの代替例、変更例および変形例が上述の説明に照らし合わせると当業者にとって明らかになるであろうことが理解されるはずである。したがって、添付の特許請求の範囲内にあるこのような代替例、変更例および変形例をすべて包含するように意図されている。この明細書中に記載されるかまたは添付の図面に示される事柄はすべて、例示的かつ非限定的に解釈されるべきである。
【図１】
0005942037.tif 000002
【図２】
0005942037.tif 000003
【図３】
0005942037.tif 000004
【図４】
0005942037.tif 000005
【図５】
0005942037.tif 000006
【図６】
0005942037.tif 000007
【図７】
0005942037.tif 000008
【図８】
0005942037.tif 000009
【図９】
0005942037.tif 000010
【図１０】
0005942037.tif 000011