記憶ボリューム間でデータを移行する方法および装置
【課題】異なる性能特性を有する記憶媒体を利用した記憶装置間のデータ移行。
【解決手段】コンピュータシステムは、旧い記憶装置と、新しい記憶装置と、管理コンピュータと、データネットワークと、管理ネットワークで構成されている。管理コンピュータは、旧い記憶装置においてログを収集する。データが旧い記憶から新しい記憶に移されるとき、収集されたログ情報とマッピング表を使って、新しい記憶装置内の宛先ボリュームが割り振られ、連結される。このシステムおよび装置は、通常の記憶装置から、HDDとフラッシュメモリユニットを含み得る新しい記憶装置への移行プロセスを簡単にする。このシステムは、HDDとフラッシュメモリの性能特性の違いを考慮に入れ、記憶システム全体の性能の改善を実現する。
【解決手段】コンピュータシステムは、旧い記憶装置と、新しい記憶装置と、管理コンピュータと、データネットワークと、管理ネットワークで構成されている。管理コンピュータは、旧い記憶装置においてログを収集する。データが旧い記憶から新しい記憶に移されるとき、収集されたログ情報とマッピング表を使って、新しい記憶装置内の宛先ボリュームが割り振られ、連結される。このシステムおよび装置は、通常の記憶装置から、HDDとフラッシュメモリユニットを含み得る新しい記憶装置への移行プロセスを簡単にする。このシステムは、HDDとフラッシュメモリの性能特性の違いを考慮に入れ、記憶システム全体の性能の改善を実現する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ記憶技術に関し、より詳細には、異なる性能特性を有する記憶媒体を利用した記憶装置間のデータ移行に関する。
【背景技術】
【0002】
今日では、ほとんどすべての大容量データ記憶装置が、(1つまたは複数の)記憶コントローラとHDD(ハードディスクドライブ)に基づいて設計されている。記憶装置においてHDDが普及している主な理由は、他のランダムアクセス可能な記憶装置と比べて、これらの1ビット当たりのコストが低いことである。
【0003】
当業者であれば理解するように、記憶装置の耐用年数には限界がある。一般に、データ記憶ユニットの寿命は、3年から5年の間である。記憶ユニットの耐用年数の終わりにかけて、記憶ユニット内のデータは、新しい記憶装置に移行されなければならない。データが新しい記憶装置に移行されない場合、そのデータは、失われることがある。例えば、データを10年間保存しようとする場合、データ移行が数回行われなければならない。
【0004】
他方では、新しい記憶装置のデータアクセス性能特性を向上させることによって、高いデータ利用可能性を維持することが求められる。また、データ保存とデータ管理のコストを低減しようとすることも求められる。したがって、ストレージ管理者は、新しい記憶装置におけるボリューム構成を特別に設計しようとすることがある。
【0005】
フラッシュメモリユニットの1記憶ビット当たりのコストは、着実に低下している。したがって、フラッシュメモリは、大容量記憶装置の記憶媒体として、ますます魅力的なものとなっている。しかしながら、現時点においては、フラッシュメモリの1ビット当たりのコストは、依然として、HDDのコストより高い。したがって、記憶装置の中には、HDDとフラッシュメモリデバイスの異なる性能特性を利用するものもある。前述の二重媒体データ記憶装置の記憶システム管理者は、記憶装置に記憶されているデータを、HDDとフラッシュメモリで構成されている新しい記憶装置にどのようにして移行すべきか、という問題に直面する。データを移行するに際しては、フラッシュメモリとHDDの異なる性能特性に留意しなければならない。
【0006】
参照により本明細書に組み込まれる、「System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state」という名称の、米国特許第5680640号明細書には、2つの記憶装置間に確立されたデータ接続によって、旧い記憶装置から新しい記憶装置にデータを移行する技法が開示されている。しかしながら、既存のデータ移行の技法は、HDDユニットとフラッシュメモリユニットの両方を含む記憶装置へのデータ移行を扱わない。
【0007】
したがって、既存の技術は、HDDで構成されている記憶装置からHDDとフラッシュメモリで構成されている記憶装置にデータを移行する手段を提供することができない。具体的には、既存の技術は、旧い記憶ユニットの編成に従って新しい記憶装置上のボリュームを割り振り、連結する手段を提供せず、ストレージ管理者が、この面倒な仕事を手作業で行うことが必要になる。
【発明の開示】
【発明が解決しようとする課題】
【0008】
本発明の方法は、少なくとも2つの記憶装置を備える情報システムにおけるデータ移行の従来の技法に関連付けられる、上記その他の問題のうちの1つまたは複数を、実質的に未然に防ぐ方法およびシステムを対象とする。
【課題を解決するための手段】
【0009】
本発明の概念の一態様によれば、データを記憶する第1の記憶ボリュームを含む第1の記憶装置と、ネットワークを介して第1の記憶装置に動作するように結合されており、データアクセスパターンに従ってデータにアクセスするように構成されているホストコンピュータとを備えるコンピュータによる記憶システムが提供される。本発明のコンピュータによる記憶システムは、第1の記憶装置に結合されており、記憶コントローラと、第1のメディアプールと、第2のメディアプールを含む第2の記憶装置をさらに含む。第1のメディアプールの特性は、第2のメディアプールの特性と異なる。第2の記憶装置は、データアクセスパターンを決定し、決定されたデータアクセスパターンに従って、第1のメディアプールの少なくとも一部分と第2のメディアプールの少なくとも一部分を含む第2の記憶ボリュームを割り振り、割り振られた第2の記憶ボリュームにおいてデータのコピーを作成するように構成されている。
【0010】
本発明の概念の別の態様によれば、第1の記憶ボリュームに記憶されているデータを対象とするアクセス要求をログに記録してログ情報を作成すること、およびログ情報を分析してデータアクセスパターンを決定することを含む方法が提供される。本発明の方法は、決定されたデータアクセスパターンに従って、第1のメディアプールの少なくとも一部分と第2のメディアプールの少なくとも一部分を含む第2の記憶ボリュームを割り振ること、およびデータを第1の記憶ボリュームから第2の記憶ボリュームに移行することをさらに含む。
【0011】
本発明の概念の別の態様によれば、コンピュータ可読媒体に実施されたコンピュータプログラミング製品が提供される。本発明のコンピュータプログラミング製品は、第1の記憶ボリュームに記憶されているデータを対象とするアクセス要求をログに記録してログ情報を作成するコードと、ログ情報を分析してデータアクセスパターンを決定するコードとを含む。本発明のコンピュータプログラミング製品は、決定されたデータアクセスパターンに従って、第1のメディアプールの少なくとも一部分と第2のメディアプールの少なくとも一部分を含む第2の記憶ボリュームを割り振るコードと、データを第1の記憶ボリュームから第2の記憶ボリュームに移行するコードとをさらに含む。
【0012】
本発明に関連するさらに他の態様の一部は、以下の説明において示され、一部は、その説明を読めば明らかになり、または本発明を実施することによって知り得るものである。本発明の諸態様は、以下の詳細な説明および添付の特許請求の範囲において詳細に示す要素、および様々な要素と態様の組み合わせによって実現され、達成され得るものである。
【0013】
以上の説明も以下の説明も例示と説明のためのものにすぎず、特許請求する発明またはその出願を、いかなるようにも限定しようとするものではないことを理解すべきである。
【0014】
本明細書に組み込まれ、その一部を構成している添付の図面は、本発明の実施形態を例示するものであり、説明と併せて、本発明の技法の原理を説明し、図示するためのものである。
【発明を実施するための最良の形態】
【0015】
以下の詳細な説明では、添付の図面を参照する。図面において、同一の機能要素は類似の番号で示す。前述の添付の図面には、限定としてではなく例として、本発明の原理との整合性を有する具体的な実施形態および実現形態が示されている。これらの実現形態は、当業者が本発明を実施できるようにするのに十分な詳細度で説明されており、また、本発明の範囲および精神から逸脱することなく、他の実現形態が利用されてもよく、様々な要素の構造的変更および/または置換が行われてもよいことを理解すべきである。したがって、以下の詳細な説明は、狭い意味で解釈すべきではない。加えて、説明する本発明の様々な実施形態は、汎用コンピュータ上で実行されるソフトウェアの形でも、専用ハードウェアの形でも、ソフトウェアとハードウェアの組み合わせとしても実施され得る。
【0016】
ハードディスクドライブ(HDD)における待ち時間は、ヘッドシーク動作とメディア回転によって生じる。順次アクセスは、短い待ち時間と高いスループットを特徴とする。ランダムアクセスは、長い待ち時間と低いスループットを特徴とする。書込みアクセス時間は、以下で詳細に説明する「書込みおよび検証」操作の場合を除いて、読取りアクセス時間と同じとすることができる。
【0017】
フラッシュメモリ記憶装置における待ち時間は、プログラミング時間とページ消去時間によって生じる。読取り操作は、ヘッドシークとメディア回転を伴わないため、最小限の待ち時間で済む。ランダム読取り操作の待ち時間は、順次読取り操作の待ち時間と同じである。しかしながら、書込み操作の待ち時間は、読取り操作の待ち時間より大きい。フラッシュメモリ書込み操作を完了するには、時間のかかるメディアプログラミングを伴うため、より長時間を要する。また、フラッシュメモリユニットに頻繁にデータを上書きする際にも、「ページ消去時間」と「メディアプログラミング時間」両方を伴う。消去された空白ページがフラッシュチップ内に見つからない場合、記憶装置にデータが書き込まれる前にページ消去操作が行われなければならない。フラッシュメモリ記憶ユニットは、チップがアイドルモードにある間にページを消去する。したがって、書込み操作が高い頻度で行われなければ、ページは、フラッシュチップにおいて、書込み操作を遅延させることなく自動的に消去される。他方、書込みが頻繁に行われるときには、システムに消去操作を行うのに十分な時間がなく、消去操作が完了するまで書込みプロセスを延期する必要が生じることもある。
【0018】
次に、システム構成例について説明する。図1(a)〜(e)に、本発明の概念の一実施形態が実施され得る情報記憶システム例の様々な側面を示す。本発明の概念の第1の例示的実施形態による情報システムは、以下で詳細に説明する構成要素を含む。
【0019】
次に、ホストコンピュータ10について説明する。少なくとも1つのホストコンピュータ10が、データネットワーク50を介して記憶装置100に接続されている。データが旧い記憶装置から新しい記憶装置に移行された後で、ホストコンピュータは、移行されたデータにアクセスすることができるように、旧い記憶装置から新しい記憶装置に再接続されなければならない。
【0020】
次に、管理コンピュータ500について説明する。少なくとも1つの管理コンピュータ500が、管理ネットワーク90を介して、ホストコンピュータ10と、移行コンピュータ300と、記憶装置100、200に接続されている。
【0021】
次に、記憶装置100について説明する。本発明のシステムは、少なくとも1つの記憶装置100を含み、この記憶装置100は、記憶コントローラ150と、1つまたは複数のHDD101を組み込んでいる。記憶装置100は、記憶コントローラ150をさらに含んでいてもよく、この記憶コントローラ150は、記憶装置100にRAIDデータ保護機能を提供し得る。図1では、例示的記憶装置100が、データを記憶する1つのボリューム111を有するものとして示されている。データは、ホストコンピュータ10によってボリューム111に書き込まれ、ボリューム111から読み取られる。
【0022】
次に、記憶装置200について説明する。情報記憶システムは、少なくとも1つの記憶装置200をさらに含み、この記憶装置200は、記憶コントローラ250と、1つまたは複数のHDD201と、1つまたは複数のフラッシュメモリユニット205とで構成されている。記憶装置200は、記憶コントローラ250をさらに含み、この記憶コントローラ250は、記憶装置200にRAIDデータ保護機能を提供し得る。図1に示す記憶装置200の実施形態は、2つの記憶プールを組み込んでいる。一方の記憶プールは(本明細書で「HDDプール210」と呼ぶ)HDDで構成されており、他方は、(本明細書で「フラッシュプール220」と呼ぶ)フラッシュメモリユニットで構成されている。
【0023】
次に、データネットワーク50について説明する。ホストコンピュータ10と、記憶装置100、200とは、データネットワーク50を介して相互接続されている。本発明のシステムの一実施形態では、データネットワーク50は、ファイバチャネルネットワークである。しかしながら、イーサネット(登録商標)など、他の適切なネットワーク相互接続も、データネットワーク50を実施するのに使用され得る。データネットワーク50は、相互接続機能を実施する、適切な数のネットワークスイッチおよびハブを含んでいてもよい。図1では、(FCSW55という)ファイバチャネルスイッチを使って、前述の記憶システム構成要素が相互接続されている。このために、ホストコンピュータ10、移行コンピュータ300、管理コンピュータ500、および記憶装置100、200は、個々の装置をファイバチャネルデータネットワーク50に結合する(FCIFという)1つまたは複数のファイバチャネルインターフェースボードを備える。
【0024】
次に、管理ネットワーク90について説明する。ホストコンピュータ10、管理コンピュータ500、および記憶装置100、200は、管理ネットワーク90を介しても接続されている。本発明の概念のこの実施形態における管理ネットワーク90は、イーサネット(登録商標)ネットワークである。しかしながら、他の適切なネットワーク相互接続も使用され得る。ネットワーク90は、適切なネットワークスイッチとハブを使って実施されてもよい。ホストコンピュータ10、移行コンピュータ300、管理コンピュータ500および記憶装置100、200は、個々の装置をイーサネット(登録商標)管理ネットワーク90に結合する(本明細書でイーサIFという)1つまたは複数のイーサネット(登録商標)インターフェースボードを備えていてもよい。
【0025】
次に、ホストコンピュータ10について説明する。ホストコンピュータ10は、プログラムとデータを記憶するメモリ12と、メモリ12に記憶されたプログラムを実行するように構成されているCPU11を含む。加えて、ホストコンピュータ10は、ホストコンピュータ10をデータネットワーク50に接続するFCIF15と、ホストコンピュータ10を管理ネットワーク90に接続するイーサIF19も含む。
【0026】
ホストコンピュータ10は、少なくとも2つのプログラムを走らせ、これらのプログラムは、メモリ12に記憶され、CPU11によって実行される(図1(b)参照)。本発明の一実施形態では、メモリ12は、ボリュームにデータを書き込み、かつ/またはボリュームからデータを読み取るアプリケーションプログラム13と、ホストコンピュータ10と記憶装置の間のアクセスパスを管理するアクセスパス管理プログラム14を記憶している。
【0027】
次に、管理コンピュータ500について説明する。管理コンピュータ500は、プログラムとデータを記憶するメモリ520と、メモリ520に記憶されたプログラムを実行するCPU510を含む。管理コンピュータ500は、さらに、管理コンピュータ500をデータネットワーク50に接続するFCIF550と、管理コンピュータ500を管理ネットワーク90に接続するイーサIF590を含む。
【0028】
管理コンピュータ500のメモリ520は、少なくとも7つのプログラムを記憶しており、これらは、CPU510によって実行される。記憶されるプログラムには、記憶装置の残存寿命を検出し、新しい記憶ユニットを探索する検出プログラム521が含まれる。また、記憶装置からログを収集するアクセスログ収集プログラム522、目標記憶装置にボリューム割り振りを要求するボリューム割り振り要求プログラム523、目標記憶装置にボリューム連結を要求するボリューム連結要求プログラム524、あるいはホストコンピュータまたはFCSW上のボリューム管理プログラムも記憶されている。メモリ520に記憶されるさらに別のプログラムには、移行モジュールにボリューム移行を要求するボリューム移行要求プログラム525、記憶装置内の(1つまたは複数の)フラッシュメモリユニットの有無を確認するフラッシュメモリユニット確認プログラム526、およびホストコンピュータからボリュームへのアクセスパスを交代させるパス交代要求プログラム527が含まれる。
【0029】
次に、記憶装置100について説明する。記憶装置100は、1つまたは複数のHDD101と、データ記憶ボリュームを維持する記憶コントローラ150を含む。各データ記憶ボリュームは、1つまたは複数のHDDのチャンク(まとまり)で構成されている。当業者であれば理解するように、前述のHDDのチャンクは、データ信頼性を向上させるために冗長データを記憶してもよい。記憶装置100は、1つまたは複数のボリューム111にデータを記憶する。図1(d)に示す本発明の記憶装置100の実施形態は、1つのボリューム111を含む。しかしながら、本発明の概念は、このようなただ1つのボリュームだけに限定されない。
【0030】
記憶コントローラ150は、メモリ152に記憶されたプログラムを実行するCPU151と、プログラムとデータを記憶するメモリ152と、データネットワーク50に接続するFCIF155と、HDD101に接続するSATA IF156を含む(図1(d)参照)。HDDが、FC、SCSI、SASなど別のインターフェースを有する場合、記憶コントローラは、HDDの記憶インターフェースにマッチする適切な記憶インターフェースを含む必要があることに留意すべきである。記憶コントローラ150は、さらに、記憶コントローラ150を管理ネットワーク90に接続するイーサIF159を含む。
【0031】
記憶装置100のメモリ152は、少なくとも3つのプログラムを記憶しており、これらは、CPU151によって実行される。図1(d)に示す、本発明の記憶装置100の1つの例示的実施形態では、メモリ152は、記憶装置の残存寿命を報告する残存寿命報告プログラム160と、記憶装置と関連付けられるアクセスログを報告するアクセスログ報告プログラム161と、ホストコンピュータ10からの読取り/書込み照会または要求に応答する応答プログラム162を記憶している。
【0032】
次に、記憶装置200について説明する。記憶装置200は、1つまたは複数のHDD201と、1つまたは複数のフラッシュメモリ205を含む(図1(e)参照)。HDD201は、1つまたは複数のHDDプール210にグループ化される。図1(e)に示す記憶システム200の実施形態は、ただ1つのHDDプール210を含む。各HDDプールは、1つまたは複数のHDDで構成されている。加えて、記憶装置200は、1つまたは複数のフラッシュプールも組み込んでいる。図1(e)に示す記憶装置200の実施形態は、ただ1つのフラッシュプール220を含み、これは、1つまたは複数のフラッシュメモリユニット205で構成されている。
【0033】
記憶装置200は、さらに、データ記憶ボリューム211を維持する記憶コントローラ250を含む。かかる記憶ボリューム211は、それぞれ、前述のHDDプールおよび/またはフラッシュプールの一部分で構成されている。記憶ボリューム211を形成するHDDプールとフラッシュメモリプールの各部分は、データ信頼性を向上させるために冗長データを記憶していてもよい。
【0034】
記憶コントローラ250は、プログラムとデータを記憶するメモリ252と、メモリ252に記憶されたプログラムを実行するCPU251を含む。記憶コントローラ250は、さらに、記憶コントローラ250をデータネットワーク50に接続するFCIF255と、記憶コントローラ250をHDD201とフラッシュメモリユニット205に接続するSATA IF256を含む。HDD/フラッシュメモリユニット201、205が、FC、SCSI、SAS、任意のフラッシュ特有のメモリインターフェースなど、別の種類のインターフェースを有する場合、記憶コントローラ250は、マッチするインターフェースを含む必要がある。
【0035】
記憶コントローラ250は、さらに、記憶コントローラ250を管理ネットワーク90に接続するイーサIF259を含む。図1(e)に示す記憶コントローラ250の実施形態では、メモリユニット252は、少なくとも6つのプログラムを記憶しており、これらは、CPU251によって実行される。具体的には、メモリ252は、記憶の残存寿命を報告する残存寿命報告プログラム260と、アクセスログ情報を報告するアクセスログ報告プログラム261と、ホストコンピュータ10によって開始される読取り/書込み照会/要求に応答する応答プログラム262を記憶している。
【0036】
メモリ252は、さらに、HDDプールまたはフラッシュプール内のボリュームを割り振るボリューム割り振りプログラム263と、各チャンクを連結して1つのボリュームにするボリューム連結プログラム264と、記憶装置内のフラッシュメモリユニットを検出し、検出操作の結果をホストコンピュータに報告するフラッシュメモリ検出報告プログラム265も記憶している。
【0037】
次に、フラッシュメモリ検出報告プログラム265について説明する。フラッシュメモリ検出報告プログラム265は、これの記憶装置内のフラッシュメモリユニットを検出することができる。1つの例示的実施形態では、フラッシュメモリユニットが、HDDユニットと相互に交換可能である。この実施形態では、フラッシュメモリ検出報告プログラム265は、フラッシュメモリユニットおよび/またはHDDユニットに向けた照会コマンドを呼び出す。照会コマンドへの応答が、フラッシュメモリユニットに起因するベンダIDや装置IDなど、フラッシュメモリの存在を示す情報を含む場合、フラッシュメモリ検出報告プログラム265は、記憶装置内のフラッシュメモリユニットの存在を認識する。当業者であれば理解するように、他の記憶装置検出機構が使用されてもよい。
【0038】
次に、移行コンピュータ300について説明する。図1(f)に示す本発明のシステムの実施形態では、移行モジュールが、移行プログラムを実行する移行コンピュータ300を使って実施される。移行コンピュータ300は、FCSW55を介してデータネットワークに接続されている。移行コンピュータ300は、プログラムとデータを記憶するメモリ320と、メモリ320に記憶されたプログラムを実行するCPU310を含む。移行コンピュータ300は、さらに、移行コンピュータ300をデータネットワーク50に接続するFCIF350と、移行コンピュータ300を管理ネットワーク90に接続するイーサIF390を含む。
【0039】
メモリ320は、少なくとも1つのプログラムを記憶しており、これは、CPU310によって実行される。本発明のシステムの一実施形態では、メモリ320は、ある記憶ボリュームから別の記憶ボリュームにデータを移行するデータ移行プログラム321を記憶している。
【0040】
次に、本発明のシステムの例示的実施形態のプロセスフローについて説明する。具体的には、説明する本発明のシステムの実施形態では、記憶装置100は、記憶ボリューム111を組み込んでいる。ボリューム111は、ホストコンピュータ10に接続されている。ホストコンピュータ10は、ボリューム111にデータを書き込み、このボリュームからデータを読み取ることができる。このために、ホストコンピュータ10からの適切な読取りおよび書込み要求が、データネットワーク50を介して記憶コントローラ150に送られる。記憶コントローラ150内で実行される応答プログラム162は、前述の要求を受け取り、それらを実行する。やはり記憶コントローラ150内で実行されるアクセスログ報告プログラム161は、ボリューム番号、コマンド情報(読取りまたは書込み)、コマンドと関連付けられるデータのLBA(論理ブロックアドレス)、コマンドのブロック長、コマンド受け取り時刻、コマンド応答時刻をログに記録する。図2に、前述のログ情報を記憶する表の例示的実施形態を示す。この表示記憶される情報の分析により、対応するデータのアクセスパターンに関する情報がもたらされる。アクセスパターン情報は、データアクセスがランダムであるか、それとも順次であるか、読取り操作と書込み操作の比率、ならびにアクセス頻度およびアクセスなし期間を示し得る。
【0041】
図3に、図1に示すシステムの動作フローの例を示す。この動作フローは、記憶装置の寿命の終わりにかけて行われる。
【0042】
ステップ3000:検出プログラム521が、各記憶装置を周期的にポーリングし、その残存寿命をチェックする。
【0043】
ステップ3010:残存寿命報告プログラム160が、検出プログラム521に「残存寿命」を報告する。
【0044】
ステップ3020:検出プログラム521が、寿命が終わりに近づいている記憶装置を検出した場合、プロセスは、ステップ3030に進む。
【0045】
ステップ3030:検出プログラム521は、コンピュータによる記憶システム内の、長い残存寿命を有する記憶ユニットを探し出す。
【0046】
ステップ3040:残存寿命報告プログラム260が、検出プログラム521に記憶ユニットの「残存寿命」を報告する。
【0047】
ステップ3050:フラッシュメモリユニット確認プログラム526が、発見された記憶ユニット内のフラッシュメモリユニットの有無を判定する。図示の実施形態では、発見された記憶ユニットは、記憶装置200内にある。フラッシュメモリユニットが存在しない場合、プロセスはステップ3060に進む。フラッシュメモリユニットが存在する場合、プロセスは、ステップ3100に進む。
【0048】
ステップ3060:ボリューム割り振り要求プログラム524が、発見された記憶装置内の新しいボリューム割り振りを要求する。本発明のシステムの図示の実施形態では、新しいボリューム割り振りは、管理ネットワーク90を介して記憶装置200内で要求される。
【0049】
ステップ3070:ボリューム移行要求プログラム525が、寿命が尽きようとしている旧いボリュームから発見された記憶ユニット内の新しいボリュームへのデータ移行を要求する。データ移行要求は、管理ネットワーク90を介してボリューム移行プログラム321に送られる。
【0050】
ステップ3080:パス交代要求プログラム527が、旧いボリューム111に関連付けられたアクセスパスから、新しいボリューム211に関連付けられたアクセスパスへのアクセスパスの交代を要求する。アクセスパスは、移行プロセスの完了時に変更される。
【0051】
ステップ3100:アクセスログ収集プログラム522が、アクセスログ報告プログラム161からログ情報を収集する。
【0052】
ステップ3110:ボリューム分析プログラム526が、ログ情報を分析し、アクセスログ分析から収集された情報に基づいて、ボリューム領域をいくつかの部分(チャンク)に分割する。ボリュームが正確にはどのようにしてチャンクに分割されるについては後述する。
【0053】
ステップ3120:ボリューム割り振り要求プログラムが、ボリューム領域の各部分ごとに、発見された記憶装置内の新しいボリューム割り振りを要求する。例えば、ボリュームが6つの部分に分割される場合、ボリューム割り振りが6回繰り返される。各チャンクが、HDDプールまたはフラッシュプールから割り振られる。前述のチャンクの割り振りは、ログ分析の結果に基づくものである。ボリューム割り振り要求は、ボリュームの特定の部分が、HDD記憶媒体上で割り振られるべきか、それともフラッシュ記憶媒体上で割り振られるべきかを示す識別子を含む。どちらのメディアプール(HDDまたはフラッシュ)が特定のデータにより好ましいかをシステムがどのようにして判定するかについては、以下で詳細に説明する。
【0054】
ステップ3130:ボリューム連結要求プログラム524が、各チャンクを連結して1つの記憶ボリュームにする。連結されたボリュームには、ホストコンピュータ10上で実行されるアプリケーションプログラム13からのみアクセスすることができる。
【0055】
ステップ3140:ボリューム移行要求プログラム525が、寿命が尽きようとしている記憶装置内のボリュームからステップ3130で連結されたボリュームへのデータの移行を要求する。
【0056】
ステップ3150:パス交代要求プログラム527が、ボリューム111からボリューム211へのデータ記憶ボリュームの変更を反映するように、データアクセスパスの変更を要求する。
【0057】
次に、ボリュームがどのようにしてチャンクに分割されるかについて、および好ましい記憶プールがどのようにして判定されるかについて詳細に説明する。記憶ボリュームは、ボリューム分析プログラム526によってチャンクに分割される。本発明の1つの例示的実施形態では、ボリュームは、6つのチャンクに分割され、各チャンクは同じサイズを有する。当業者であれば理解するように、このチャンクのサイズと数は、本発明の概念にとってあまり重要ではない。図4に、アクセスログ分析の結果を保持する表の例示的実施形態を示す。この表は、アクセスログ収集プログラム522によって作成される。
【0058】
ボリューム分析プログラム526は、図5に示すマッピング表529を使用する。マッピング表529は、メモリ520に記憶されている。ボリューム分析プログラム526は、結果保持表528内のレコードで表される特定のボリュームチャンクの特性を、マッピング表529内の適切なレコードと比較する。前述の比較結果に基づき、ボリューム分析プログラム526は、特定のチャンクがHDDプールから割り振られるべきか、それともフラッシュプールから割り振られるべきか判定する。具体的には、表の「チャンク割り振りプール」の列に好ましい記憶プールの種類が示されている。
【0059】
図6に、6つのチャンクに分割されている記憶ボリュームの例示的実施形態を示す。ボリューム分析プログラム526によるログ情報分析の結果として、特定のプールの種類(フラッシュまたはHDD)を有する特定のプールが各チャンクにリンクされる。ボリューム割り振り要求プログラム523は、ボリューム割り振りプログラム263にボリューム割り振り要求を送る。この要求は、所望のプールの種類情報を指定する。この情報は、割り振り要求に関連付けられる属性として指定されてもよい。プール属性情報は、HDDプールまたはフラッシュプールを示す属性を含む。受け取った割り振り要求に応答して、チャンクが記憶装置200内で割り振られる。チャンクが記憶ボリュームの部分であり、ボリューム自体ではない点に留意することは重要である。1つのボリュームは、いくつかのチャンクで構成されている。
【0060】
図示の例では、それぞれのプールから6つのチャンクが割り振られた後で、ボリューム連結要求プログラム524は、ボリューム連結プログラム264にボリューム連結要求を送る。ボリューム連結プログラム264は、6つのチャンクを1つに連結する。この連結は特定の順序で行われる。連結の結果として、ボリューム211が作成される。図6に示すボリューム211の例は、3つのフラッシュチャンクと3つのHDDチャンクで構成されている。
【0061】
その後、ボリューム移行要求プログラム525は、データ移行プログラム321に移行要求を送る。この要求に従って、ボリューム111に記憶されたデータが、ブロックごとのデータコピー操作によって、ボリューム211に移行される。
【0062】
最後に、管理コンピュータ500内のパス交代要求プログラム527は、ホストコンピュータ10内のアクセスパス管理プログラム14にパス交代要求を送る。受け取った要求に応答して、アクセスパス管理プログラム14は、データアクセスパスを、ボリューム111からボリューム211に切り換える。ボリューム211は、HDDチャンクとフラッシュチャンクで構成されており、ホストコンピュータ10からデータアクセスパターンに従って最適化される。したがって、ボリューム211のデータアクセス性能は、ボリューム111のものより高いことが期待される。
【0063】
フラッシュメディアの容量には限界があるため、本発明の一実施形態では、優先度システムを使って、フラッシュメモリプールからチャンクが割り振られてもよい。マッピング表529の列「優先度」は、フラッシュメモリの割り振りの優先度レベルを示す。当業者であれば理解するように、フラッシュメモリユニットの容量には限界がある。しかも、フラッシュメモリの容量は、しばしば、HDDユニットの容量より小さい。
【0064】
例えば、フラッシュプールとHDDプールの容量比が2:4であり、管理者が、管理コンピュータ500に、この比を維持するように指示すると、ボリュームチャンクの割り振り時に、前述の「優先度」列が調べられる。図7に、各チャンクの優先度に基づく記憶ボリューム割り振りを示す。2:4の割り振り比率を維持するために、チャンク#4が、フラッシュプールにではなくHDDプールに割り振られる。というのは、チャンク#4の優先度が、チャンク#1または#2の優先度より低いからである。よって、チャンク#4は、HDDプールを使って割り振られる。
【0065】
次に、本発明のシステムのいくつかの別の実施形態について説明する。図8に、本発明の概念を実施する情報システムの別の例を示す。図8に示す実施形態では、データ移行モジュールが、FCSW55上で実行されるデータ移行プログラム56によって実施される。加えて、ボリューム連結プログラム57とアクセスパス管理プログラム58も、FCSW55を使って実施される。イーサIF59が、管理コンピュータ300とのやりとりを可能にするために追加される。図8に示すシステムの他のすべての要素は、一般に、詳細に前述した、図1に示すシステムの対応する要素と等しい。
【0066】
図9に、本発明の概念による情報システムの別の例示的実施形態を示す。図9に示すシステム例では、データ移行モジュールは、管理コンピュータ500上で実行されるデータ移行プログラム558として実施される。図9に示すシステムの他のすべての要素は、一般に、詳細に前述した、図1に示すシステムの対応する要素と等しい。
【0067】
図10に、本発明の概念による情報システムの別の例示的実施形態を示す。図10に示すシステムでは、ボリューム連結プログラム16が、ホストコンピュータ10内に配置されている。図10に示すシステムの他のすべての要素は、一般に、詳細に前述した、図1に示すシステムの対応する要素と等しい。
【0068】
図11に、本発明の概念による情報システムの別の例示的実施形態を示す。図11に示すシステムでは、記憶装置100が記憶装置200に接続されている。外部記憶管理プログラム266と外部記憶のための追加のFCIF256が配置されている。データ移行モジュールは、記憶装置200内で実行されるデータ移行プログラム267を使って実施される。図11に示すシステムの他のすべての要素は、一般に、詳細に前述した、図1に示すシステムの対応する要素と等しい。
【0069】
図12は、本発明の方法の一実施形態が実施され得るコンピュータ/サーバシステム1200の一実施形態を示すブロック図である。システム1200は、コンピュータ/サーバプラットフォーム1201と、周辺装置1202と、ネットワークリソース1203を含む。
【0070】
コンピュータプラットフォーム1201は、コンピュータプラットフォーム1201の様々な部分にまたがり、これらの間で情報をやりとりするデータバス1204またはその他の通信機構と、情報を処理し、その他の計算処理および制御タスクを実行する、データバス1204で結合されたプロセッサ1205を含んでいてもよい。また、コンピュータプラットフォーム1201は、プロセッサ1205によって実行される命令のみならず様々な情報も記憶する、バス1204に結合された、ランダムアクセスメモリ(RAM)やその他の動的記憶などの揮発性記憶1206も含む。また、揮発性記憶1206は、プロセッサ1205による命令実行時に、一時変数その他の中間情報を記憶するのにも使用され得る。コンピュータプラットフォーム1201は、さらに、基本入出力システム(BIOS)など、プロセッサ1205のための静的情報および命令、ならびに様々なシステム構成パラメータを記憶する、バス1204に結合された読取り専用メモリ(ROMまたはEPROM)1207またはその他の静的記憶装置を含んでいてもよい。情報と命令を記憶するために、磁気ディスク、光ディスク、ソリッドステートフラッシュメモリデバイスなどの永続的記憶装置1208が設けられ、バス1204に結合されている。
【0071】
コンピュータプラットフォーム1201は、コンピュータプラットフォーム1201のシステム管理者またはユーザに情報を表示するために、バス1204を介して、ブラウン管(CRT)、プラズマディスプレイ、液晶ディスプレイ(LCD)などのディスプレイ1209に結合されていてもよい。プロセッサ1205に情報とコマンド選択を伝えるために、英数字その他のキーを含む入力装置1210が、バス1204に結合されている。別の種類のユーザ入力装置が、プロセッサ1205に方向情報とコマンド選択を伝え、ディスプレイ1209上のカーソルの動きを制御するための、マウス、トラックボール、カーソル方向キーなどのカーソル制御装置1211である。この入力装置は、通常、装置に平面内の位置を指定させる、2軸、すなわち、第1の軸(xなど)と第2の軸(yなど)の自由度を有する。
【0072】
コンピュータプラットフォーム1201に追加の、または取り外し可能な記憶容量を提供するために、バス1204を介してコンピュータプラットフォーム1201に外部記憶装置1212が接続されてもよい。コンピュータシステム1200の一実施形態では、外部取り外し可能記憶装置1212を使って、他のコンピュータシステムとのデータ交換が円滑化され得る。
【0073】
本発明は、本明細書で述べる技法を実施するコンピュータシステム1200の使用に関するものである。一実施形態では、本発明のシステムは、コンピュータプラットフォーム1201などのマシン上に存在し得る。本発明の一実施形態によれば、本明細書で述べる技法は、プロセッサ1205が、揮発性メモリ1206に含まれる1つまたは複数の命令の1つまたは複数のシーケンスを実行したことに応答して、コンピュータシステム1200によって実行される。かかる命令は、永続的記憶装置1208など別のコンピュータ可読媒体から揮発性メモリ1206に読み込まれてもよい。揮発性メモリ1206に含まれる命令シーケンスの実行が、プロセッサ1205に、本明細書で述べるプロセスステップを実行させる。別の実施形態では、配線で接続された回路を、ソフトウェア命令の代わりに、またはソフトウェアと組み合わせて使って、本発明が実施されてもよい。よって、本発明の実施形態は、ハードウェア回路とソフトウェアのどんな特定の組み合わせにも限定されない。
【0074】
本明細書で使用する「コンピュータ可読媒体」という用語は、実行するためにプロセッサ1205に命令を提供することに関与する任意の媒体を指す。コンピュータ可読媒体は、本明細書で述べる方法および/または技法のいずれかを実施する命令を保持し得る機械可読媒体の一例にすぎない。かかる媒体は、それだけに限らないが、不揮発性メディア、揮発性メディア、および伝送媒体を含めて、多くの形を取り得る。不揮発性メディアには、例えば、記憶装置1208など、光ディスクや磁気ディスクが含まれる。揮発性メディアには、揮発性記憶1206など、動的メモリが含まれる。伝送媒体には、データバス1204を構成する配線を含め、同軸ケーブル、銅線、および光ファイバが含まれる。また、伝送媒体は、電波および赤外線データ通信時に生成されるものなど、音響または光波の形も取り得る。
【0075】
コンピュータ可読媒体の一般的な形には、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または他の任意の磁気媒体、CD−ROM、他の任意の光媒体、パンチカード、紙テープ、孔のパターンを有する他の任意の物理媒体、RAM、PROM、EPROM、フラッシュEPROM、フラッシュドライブ、メモリカード、他の任意のメモリチップまたはカートリッジ、以下で説明する搬送波、あるいはコンピュータが読み取ることのできる他の任意の媒体が含まれる。
【0076】
様々な形のコンピュータ可読媒体が、実行のためにプロセッサ1205に1つまたは複数の命令の1つまたは複数のシーケンスを搬送するのに関与し得る。例えば、命令は、最初に、リモートコンピュータから磁気ディスクで搬送されてもよい。代替として、リモートコンピュータが、その動的メモリに命令をロードし、その命令を、モデムを使って電話回線で送ることもできる。コンピュータシステム1200にとってローカルのモデムが、電話回線でデータを受け取り、赤外線送信機を使ってこのデータを赤外線信号に変換することができる。赤外線検出器が、赤外線信号で搬送されたデータを受け取り、適切な回路がこのデータをデータバス1204に乗せることができる。バス1204は、データを揮発性記憶1206に搬送し、そこからプロセッサ1205が、命令を取り出して、実行する。揮発性メモリ1206によって受け取られる命令は、任意選択で、プロセッサ1205による実行の前または後に、永続的記憶装置1208に記憶されてもよい。また、命令は、当分野でよく知られている様々なネットワークデータ通信プロトコルを使って、インターネットを介して、コンピュータプラットフォーム1201にダウンロードされてもよい。
【0077】
また、コンピュータプラットフォーム1201は、データバス1204に結合されたネットワークインターフェースカード1213など、通信インターフェースも含む。通信インターフェース1213は、ローカルネットワーク1215に接続されているネットワークリンク1214に結合する双方向データ通信を提供する。例えば、通信インターフェース1213は、対応する種類の電話回線へのデータ通信接続を提供する総合サービスディジタルネットワーク(ISDN)カードまたはモデムとすることができる。別の例として、通信インターフェース1213は、互換性を有するLANへのデータ通信接続を提供するローカルエリアネットワークカード(LAN NIC)とすることもできる。また、ネットワークの実現には、よく知られている802.11a、802.11b、802.11g、ブルートゥースといった無線リンクも使用され得る。かかる実現形態のいずれかとして、通信インターフェース1213は、様々な種類の情報を表すディジタルデータストリームを搬送する電気信号、電磁信号または光信号を送信し、受信する。
【0078】
ネットワークリンク1214は、通常、1つまたは複数のネットワークを介して他のネットワークリソースへのデータ通信を提供する。例えば、ネットワークリンク1214は、ローカルネットワーク1215を介してホストコンピュータ1216、あるいはネットワーク記憶/サーバ1222への接続を提供し得る。加えて、または代替として、ネットワークリンク1213は、ゲートウェイ/ファイアウォール1217を介して、インターネットなど、広域またはグローバルネットワーク1218に接続してもよい。よって、コンピュータプラットフォーム1201は、リモートネットワーク記憶/サーバ1219など、インターネット1218上のどこかに位置するネットワークリソースにアクセスすることができる。他方、ローカルエリアネットワーク1215および/またはインターネット1218上のどこかに位置するクライアントから、コンピュータプラットフォーム1201にアクセスされてもよい。ネットワーククライアント1220および1221は、これら自体が、プラットフォーム1201に類似のコンピュータプラットフォームに基づいて実施されてもよい。
【0079】
ローカルネットワーク1215もインターネット1218もディジタルデータストリームを搬送する電気信号、電磁信号または光信号を使用する。様々なネットワークを通る信号と、コンピュータプラットフォーム1201との間でディジタルデータを搬送するネットワークリンク1214上と通信インターフェース1213を通る信号は、情報を運ぶ搬送波の形の例である。
【0080】
コンピュータプラットフォーム1201は、インターネット1218とローカルネットワーク1215を含む様々なネットワーク、ネットワークリンク1214および通信インターフェース1213を介して、メッセージを送信し、プログラムコードを含むデータを受信することができる。インターネットの例では、システム1201がネットワークサーバとして働くとき、システム1201は、インターネット1218、ゲートウェイ/ファイアウォール1217、ローカルネットワーク1215および通信インターフェース1213を介して、クライアント1220および/または1221上で走るアプリケーションプログラムのために、要求されたコードまたはデータを送信し得る。同様に、システム1201は、他のネットワークリソースからコードを受け取ってもよい。
【0081】
受け取られるコードは、受け取られるときにプロセッサ1205によって実行され、かつ/または、永続的記憶装置1208または揮発性記憶装置1206にそれぞれ、あるいは後で実行するために他の不揮発性記憶に記憶される。このようにして、コンピュータシステム1201は、搬送波の形でアプリケーションコードを獲得してもよい。
【0082】
最後に、本明細書で述べるプロセスおよび技法は、どんな特定の装置に固有に関連するものでもなく、構成要素の任意の適切な組み合わせによって実施され得ることを理解すべきである。さらに、様々な種類の汎用装置が、本明細書で述べる教示に従って使用され得る。また、本明細書で述べる方法ステップを実行する専用の装置を構築することが有利であることも分かる。本発明を、個々の例との関連で説明しているが、これらの例は、あらゆる点で、限定のためではなく例示のためのものである。ハードウェア、ソフトウェア、およびファームウェアの多様な組み合わせが、本発明を実施するのに適することを、当業者は理解するであろう。例えば、前述のソフトウェアは、アセンブラ、C/C++、Perl、Shell、PHP、Java(登録商標)などといった、多種多様なプログラミングまたはスクリプト言語で実施され得る。
【0083】
さらに、本発明の他の実現形態も、本明細書で開示する本発明の仕様および手法を考察すれば、当業者には明らかになるであろう。前述の実施形態の様々な態様および/または構成要素は、コンピュータによる記憶システムにおいて、単独で、または任意の組み合わせとして使用され得る。仕様および各例は、単なる例示とみなすべきであり、本発明の厳密な範囲および精神は、添付の特許請求の範囲によって示されるものである。
【図面の簡単な説明】
【0084】
【図1(a)】本発明の概念の一実施形態が実施され得る情報記憶システムの例の様々な側面を示す図である。
【図1(b)】本発明の概念の一実施形態が実施され得る情報記憶システムの例の様々な側面を示す図である。
【図1(c)】本発明の概念の一実施形態が実施され得る情報記憶システムの例の様々な側面を示す図である。
【図1(d)】本発明の概念の一実施形態が実施され得る情報記憶システムの例の様々な側面を示す図である。
【図1(e)】本発明の概念の一実施形態が実施され得る情報記憶システムの例の様々な側面を示す図である。
【図1(f)】本発明の概念の一実施形態が実施され得る情報記憶システムの例の様々な側面を示す図である。
【図2】アクセスログ情報を記憶する表299の例示的実施形態を示す図である。
【図3】図1に示すコンピュータによる記憶システムのプロセスフローの例を示す図である。
【図4】アクセスログ分析の結果を保持する表の例示的実施形態を示す図である。
【図5】マッピング表の例示的実施形態を示す図である。
【図6】記憶ボリュームの例示的実施形態を示す図である。
【図7】優先度に基づく記憶ボリューム割り振りを示す図である。
【図8】本発明の概念による情報システムの代替の例示的実施形態を示す図である。
【図9】本発明の概念による情報システムの代替の例示的実施形態を示す図である。
【図10】本発明の概念による情報システムの代替の例示的実施形態を示す図である。
【図11】本発明の概念による情報システムの代替の例示的実施形態を示す図である。
【図12】本発明のシステムが実施され得るコンピュータプラットフォームの例示的実施形態を示す図である。
【技術分野】
【0001】
本発明は、データ記憶技術に関し、より詳細には、異なる性能特性を有する記憶媒体を利用した記憶装置間のデータ移行に関する。
【背景技術】
【0002】
今日では、ほとんどすべての大容量データ記憶装置が、(1つまたは複数の)記憶コントローラとHDD(ハードディスクドライブ)に基づいて設計されている。記憶装置においてHDDが普及している主な理由は、他のランダムアクセス可能な記憶装置と比べて、これらの1ビット当たりのコストが低いことである。
【0003】
当業者であれば理解するように、記憶装置の耐用年数には限界がある。一般に、データ記憶ユニットの寿命は、3年から5年の間である。記憶ユニットの耐用年数の終わりにかけて、記憶ユニット内のデータは、新しい記憶装置に移行されなければならない。データが新しい記憶装置に移行されない場合、そのデータは、失われることがある。例えば、データを10年間保存しようとする場合、データ移行が数回行われなければならない。
【0004】
他方では、新しい記憶装置のデータアクセス性能特性を向上させることによって、高いデータ利用可能性を維持することが求められる。また、データ保存とデータ管理のコストを低減しようとすることも求められる。したがって、ストレージ管理者は、新しい記憶装置におけるボリューム構成を特別に設計しようとすることがある。
【0005】
フラッシュメモリユニットの1記憶ビット当たりのコストは、着実に低下している。したがって、フラッシュメモリは、大容量記憶装置の記憶媒体として、ますます魅力的なものとなっている。しかしながら、現時点においては、フラッシュメモリの1ビット当たりのコストは、依然として、HDDのコストより高い。したがって、記憶装置の中には、HDDとフラッシュメモリデバイスの異なる性能特性を利用するものもある。前述の二重媒体データ記憶装置の記憶システム管理者は、記憶装置に記憶されているデータを、HDDとフラッシュメモリで構成されている新しい記憶装置にどのようにして移行すべきか、という問題に直面する。データを移行するに際しては、フラッシュメモリとHDDの異なる性能特性に留意しなければならない。
【0006】
参照により本明細書に組み込まれる、「System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state」という名称の、米国特許第5680640号明細書には、2つの記憶装置間に確立されたデータ接続によって、旧い記憶装置から新しい記憶装置にデータを移行する技法が開示されている。しかしながら、既存のデータ移行の技法は、HDDユニットとフラッシュメモリユニットの両方を含む記憶装置へのデータ移行を扱わない。
【0007】
したがって、既存の技術は、HDDで構成されている記憶装置からHDDとフラッシュメモリで構成されている記憶装置にデータを移行する手段を提供することができない。具体的には、既存の技術は、旧い記憶ユニットの編成に従って新しい記憶装置上のボリュームを割り振り、連結する手段を提供せず、ストレージ管理者が、この面倒な仕事を手作業で行うことが必要になる。
【発明の開示】
【発明が解決しようとする課題】
【0008】
本発明の方法は、少なくとも2つの記憶装置を備える情報システムにおけるデータ移行の従来の技法に関連付けられる、上記その他の問題のうちの1つまたは複数を、実質的に未然に防ぐ方法およびシステムを対象とする。
【課題を解決するための手段】
【0009】
本発明の概念の一態様によれば、データを記憶する第1の記憶ボリュームを含む第1の記憶装置と、ネットワークを介して第1の記憶装置に動作するように結合されており、データアクセスパターンに従ってデータにアクセスするように構成されているホストコンピュータとを備えるコンピュータによる記憶システムが提供される。本発明のコンピュータによる記憶システムは、第1の記憶装置に結合されており、記憶コントローラと、第1のメディアプールと、第2のメディアプールを含む第2の記憶装置をさらに含む。第1のメディアプールの特性は、第2のメディアプールの特性と異なる。第2の記憶装置は、データアクセスパターンを決定し、決定されたデータアクセスパターンに従って、第1のメディアプールの少なくとも一部分と第2のメディアプールの少なくとも一部分を含む第2の記憶ボリュームを割り振り、割り振られた第2の記憶ボリュームにおいてデータのコピーを作成するように構成されている。
【0010】
本発明の概念の別の態様によれば、第1の記憶ボリュームに記憶されているデータを対象とするアクセス要求をログに記録してログ情報を作成すること、およびログ情報を分析してデータアクセスパターンを決定することを含む方法が提供される。本発明の方法は、決定されたデータアクセスパターンに従って、第1のメディアプールの少なくとも一部分と第2のメディアプールの少なくとも一部分を含む第2の記憶ボリュームを割り振ること、およびデータを第1の記憶ボリュームから第2の記憶ボリュームに移行することをさらに含む。
【0011】
本発明の概念の別の態様によれば、コンピュータ可読媒体に実施されたコンピュータプログラミング製品が提供される。本発明のコンピュータプログラミング製品は、第1の記憶ボリュームに記憶されているデータを対象とするアクセス要求をログに記録してログ情報を作成するコードと、ログ情報を分析してデータアクセスパターンを決定するコードとを含む。本発明のコンピュータプログラミング製品は、決定されたデータアクセスパターンに従って、第1のメディアプールの少なくとも一部分と第2のメディアプールの少なくとも一部分を含む第2の記憶ボリュームを割り振るコードと、データを第1の記憶ボリュームから第2の記憶ボリュームに移行するコードとをさらに含む。
【0012】
本発明に関連するさらに他の態様の一部は、以下の説明において示され、一部は、その説明を読めば明らかになり、または本発明を実施することによって知り得るものである。本発明の諸態様は、以下の詳細な説明および添付の特許請求の範囲において詳細に示す要素、および様々な要素と態様の組み合わせによって実現され、達成され得るものである。
【0013】
以上の説明も以下の説明も例示と説明のためのものにすぎず、特許請求する発明またはその出願を、いかなるようにも限定しようとするものではないことを理解すべきである。
【0014】
本明細書に組み込まれ、その一部を構成している添付の図面は、本発明の実施形態を例示するものであり、説明と併せて、本発明の技法の原理を説明し、図示するためのものである。
【発明を実施するための最良の形態】
【0015】
以下の詳細な説明では、添付の図面を参照する。図面において、同一の機能要素は類似の番号で示す。前述の添付の図面には、限定としてではなく例として、本発明の原理との整合性を有する具体的な実施形態および実現形態が示されている。これらの実現形態は、当業者が本発明を実施できるようにするのに十分な詳細度で説明されており、また、本発明の範囲および精神から逸脱することなく、他の実現形態が利用されてもよく、様々な要素の構造的変更および/または置換が行われてもよいことを理解すべきである。したがって、以下の詳細な説明は、狭い意味で解釈すべきではない。加えて、説明する本発明の様々な実施形態は、汎用コンピュータ上で実行されるソフトウェアの形でも、専用ハードウェアの形でも、ソフトウェアとハードウェアの組み合わせとしても実施され得る。
【0016】
ハードディスクドライブ(HDD)における待ち時間は、ヘッドシーク動作とメディア回転によって生じる。順次アクセスは、短い待ち時間と高いスループットを特徴とする。ランダムアクセスは、長い待ち時間と低いスループットを特徴とする。書込みアクセス時間は、以下で詳細に説明する「書込みおよび検証」操作の場合を除いて、読取りアクセス時間と同じとすることができる。
【0017】
フラッシュメモリ記憶装置における待ち時間は、プログラミング時間とページ消去時間によって生じる。読取り操作は、ヘッドシークとメディア回転を伴わないため、最小限の待ち時間で済む。ランダム読取り操作の待ち時間は、順次読取り操作の待ち時間と同じである。しかしながら、書込み操作の待ち時間は、読取り操作の待ち時間より大きい。フラッシュメモリ書込み操作を完了するには、時間のかかるメディアプログラミングを伴うため、より長時間を要する。また、フラッシュメモリユニットに頻繁にデータを上書きする際にも、「ページ消去時間」と「メディアプログラミング時間」両方を伴う。消去された空白ページがフラッシュチップ内に見つからない場合、記憶装置にデータが書き込まれる前にページ消去操作が行われなければならない。フラッシュメモリ記憶ユニットは、チップがアイドルモードにある間にページを消去する。したがって、書込み操作が高い頻度で行われなければ、ページは、フラッシュチップにおいて、書込み操作を遅延させることなく自動的に消去される。他方、書込みが頻繁に行われるときには、システムに消去操作を行うのに十分な時間がなく、消去操作が完了するまで書込みプロセスを延期する必要が生じることもある。
【0018】
次に、システム構成例について説明する。図1(a)〜(e)に、本発明の概念の一実施形態が実施され得る情報記憶システム例の様々な側面を示す。本発明の概念の第1の例示的実施形態による情報システムは、以下で詳細に説明する構成要素を含む。
【0019】
次に、ホストコンピュータ10について説明する。少なくとも1つのホストコンピュータ10が、データネットワーク50を介して記憶装置100に接続されている。データが旧い記憶装置から新しい記憶装置に移行された後で、ホストコンピュータは、移行されたデータにアクセスすることができるように、旧い記憶装置から新しい記憶装置に再接続されなければならない。
【0020】
次に、管理コンピュータ500について説明する。少なくとも1つの管理コンピュータ500が、管理ネットワーク90を介して、ホストコンピュータ10と、移行コンピュータ300と、記憶装置100、200に接続されている。
【0021】
次に、記憶装置100について説明する。本発明のシステムは、少なくとも1つの記憶装置100を含み、この記憶装置100は、記憶コントローラ150と、1つまたは複数のHDD101を組み込んでいる。記憶装置100は、記憶コントローラ150をさらに含んでいてもよく、この記憶コントローラ150は、記憶装置100にRAIDデータ保護機能を提供し得る。図1では、例示的記憶装置100が、データを記憶する1つのボリューム111を有するものとして示されている。データは、ホストコンピュータ10によってボリューム111に書き込まれ、ボリューム111から読み取られる。
【0022】
次に、記憶装置200について説明する。情報記憶システムは、少なくとも1つの記憶装置200をさらに含み、この記憶装置200は、記憶コントローラ250と、1つまたは複数のHDD201と、1つまたは複数のフラッシュメモリユニット205とで構成されている。記憶装置200は、記憶コントローラ250をさらに含み、この記憶コントローラ250は、記憶装置200にRAIDデータ保護機能を提供し得る。図1に示す記憶装置200の実施形態は、2つの記憶プールを組み込んでいる。一方の記憶プールは(本明細書で「HDDプール210」と呼ぶ)HDDで構成されており、他方は、(本明細書で「フラッシュプール220」と呼ぶ)フラッシュメモリユニットで構成されている。
【0023】
次に、データネットワーク50について説明する。ホストコンピュータ10と、記憶装置100、200とは、データネットワーク50を介して相互接続されている。本発明のシステムの一実施形態では、データネットワーク50は、ファイバチャネルネットワークである。しかしながら、イーサネット(登録商標)など、他の適切なネットワーク相互接続も、データネットワーク50を実施するのに使用され得る。データネットワーク50は、相互接続機能を実施する、適切な数のネットワークスイッチおよびハブを含んでいてもよい。図1では、(FCSW55という)ファイバチャネルスイッチを使って、前述の記憶システム構成要素が相互接続されている。このために、ホストコンピュータ10、移行コンピュータ300、管理コンピュータ500、および記憶装置100、200は、個々の装置をファイバチャネルデータネットワーク50に結合する(FCIFという)1つまたは複数のファイバチャネルインターフェースボードを備える。
【0024】
次に、管理ネットワーク90について説明する。ホストコンピュータ10、管理コンピュータ500、および記憶装置100、200は、管理ネットワーク90を介しても接続されている。本発明の概念のこの実施形態における管理ネットワーク90は、イーサネット(登録商標)ネットワークである。しかしながら、他の適切なネットワーク相互接続も使用され得る。ネットワーク90は、適切なネットワークスイッチとハブを使って実施されてもよい。ホストコンピュータ10、移行コンピュータ300、管理コンピュータ500および記憶装置100、200は、個々の装置をイーサネット(登録商標)管理ネットワーク90に結合する(本明細書でイーサIFという)1つまたは複数のイーサネット(登録商標)インターフェースボードを備えていてもよい。
【0025】
次に、ホストコンピュータ10について説明する。ホストコンピュータ10は、プログラムとデータを記憶するメモリ12と、メモリ12に記憶されたプログラムを実行するように構成されているCPU11を含む。加えて、ホストコンピュータ10は、ホストコンピュータ10をデータネットワーク50に接続するFCIF15と、ホストコンピュータ10を管理ネットワーク90に接続するイーサIF19も含む。
【0026】
ホストコンピュータ10は、少なくとも2つのプログラムを走らせ、これらのプログラムは、メモリ12に記憶され、CPU11によって実行される(図1(b)参照)。本発明の一実施形態では、メモリ12は、ボリュームにデータを書き込み、かつ/またはボリュームからデータを読み取るアプリケーションプログラム13と、ホストコンピュータ10と記憶装置の間のアクセスパスを管理するアクセスパス管理プログラム14を記憶している。
【0027】
次に、管理コンピュータ500について説明する。管理コンピュータ500は、プログラムとデータを記憶するメモリ520と、メモリ520に記憶されたプログラムを実行するCPU510を含む。管理コンピュータ500は、さらに、管理コンピュータ500をデータネットワーク50に接続するFCIF550と、管理コンピュータ500を管理ネットワーク90に接続するイーサIF590を含む。
【0028】
管理コンピュータ500のメモリ520は、少なくとも7つのプログラムを記憶しており、これらは、CPU510によって実行される。記憶されるプログラムには、記憶装置の残存寿命を検出し、新しい記憶ユニットを探索する検出プログラム521が含まれる。また、記憶装置からログを収集するアクセスログ収集プログラム522、目標記憶装置にボリューム割り振りを要求するボリューム割り振り要求プログラム523、目標記憶装置にボリューム連結を要求するボリューム連結要求プログラム524、あるいはホストコンピュータまたはFCSW上のボリューム管理プログラムも記憶されている。メモリ520に記憶されるさらに別のプログラムには、移行モジュールにボリューム移行を要求するボリューム移行要求プログラム525、記憶装置内の(1つまたは複数の)フラッシュメモリユニットの有無を確認するフラッシュメモリユニット確認プログラム526、およびホストコンピュータからボリュームへのアクセスパスを交代させるパス交代要求プログラム527が含まれる。
【0029】
次に、記憶装置100について説明する。記憶装置100は、1つまたは複数のHDD101と、データ記憶ボリュームを維持する記憶コントローラ150を含む。各データ記憶ボリュームは、1つまたは複数のHDDのチャンク(まとまり)で構成されている。当業者であれば理解するように、前述のHDDのチャンクは、データ信頼性を向上させるために冗長データを記憶してもよい。記憶装置100は、1つまたは複数のボリューム111にデータを記憶する。図1(d)に示す本発明の記憶装置100の実施形態は、1つのボリューム111を含む。しかしながら、本発明の概念は、このようなただ1つのボリュームだけに限定されない。
【0030】
記憶コントローラ150は、メモリ152に記憶されたプログラムを実行するCPU151と、プログラムとデータを記憶するメモリ152と、データネットワーク50に接続するFCIF155と、HDD101に接続するSATA IF156を含む(図1(d)参照)。HDDが、FC、SCSI、SASなど別のインターフェースを有する場合、記憶コントローラは、HDDの記憶インターフェースにマッチする適切な記憶インターフェースを含む必要があることに留意すべきである。記憶コントローラ150は、さらに、記憶コントローラ150を管理ネットワーク90に接続するイーサIF159を含む。
【0031】
記憶装置100のメモリ152は、少なくとも3つのプログラムを記憶しており、これらは、CPU151によって実行される。図1(d)に示す、本発明の記憶装置100の1つの例示的実施形態では、メモリ152は、記憶装置の残存寿命を報告する残存寿命報告プログラム160と、記憶装置と関連付けられるアクセスログを報告するアクセスログ報告プログラム161と、ホストコンピュータ10からの読取り/書込み照会または要求に応答する応答プログラム162を記憶している。
【0032】
次に、記憶装置200について説明する。記憶装置200は、1つまたは複数のHDD201と、1つまたは複数のフラッシュメモリ205を含む(図1(e)参照)。HDD201は、1つまたは複数のHDDプール210にグループ化される。図1(e)に示す記憶システム200の実施形態は、ただ1つのHDDプール210を含む。各HDDプールは、1つまたは複数のHDDで構成されている。加えて、記憶装置200は、1つまたは複数のフラッシュプールも組み込んでいる。図1(e)に示す記憶装置200の実施形態は、ただ1つのフラッシュプール220を含み、これは、1つまたは複数のフラッシュメモリユニット205で構成されている。
【0033】
記憶装置200は、さらに、データ記憶ボリューム211を維持する記憶コントローラ250を含む。かかる記憶ボリューム211は、それぞれ、前述のHDDプールおよび/またはフラッシュプールの一部分で構成されている。記憶ボリューム211を形成するHDDプールとフラッシュメモリプールの各部分は、データ信頼性を向上させるために冗長データを記憶していてもよい。
【0034】
記憶コントローラ250は、プログラムとデータを記憶するメモリ252と、メモリ252に記憶されたプログラムを実行するCPU251を含む。記憶コントローラ250は、さらに、記憶コントローラ250をデータネットワーク50に接続するFCIF255と、記憶コントローラ250をHDD201とフラッシュメモリユニット205に接続するSATA IF256を含む。HDD/フラッシュメモリユニット201、205が、FC、SCSI、SAS、任意のフラッシュ特有のメモリインターフェースなど、別の種類のインターフェースを有する場合、記憶コントローラ250は、マッチするインターフェースを含む必要がある。
【0035】
記憶コントローラ250は、さらに、記憶コントローラ250を管理ネットワーク90に接続するイーサIF259を含む。図1(e)に示す記憶コントローラ250の実施形態では、メモリユニット252は、少なくとも6つのプログラムを記憶しており、これらは、CPU251によって実行される。具体的には、メモリ252は、記憶の残存寿命を報告する残存寿命報告プログラム260と、アクセスログ情報を報告するアクセスログ報告プログラム261と、ホストコンピュータ10によって開始される読取り/書込み照会/要求に応答する応答プログラム262を記憶している。
【0036】
メモリ252は、さらに、HDDプールまたはフラッシュプール内のボリュームを割り振るボリューム割り振りプログラム263と、各チャンクを連結して1つのボリュームにするボリューム連結プログラム264と、記憶装置内のフラッシュメモリユニットを検出し、検出操作の結果をホストコンピュータに報告するフラッシュメモリ検出報告プログラム265も記憶している。
【0037】
次に、フラッシュメモリ検出報告プログラム265について説明する。フラッシュメモリ検出報告プログラム265は、これの記憶装置内のフラッシュメモリユニットを検出することができる。1つの例示的実施形態では、フラッシュメモリユニットが、HDDユニットと相互に交換可能である。この実施形態では、フラッシュメモリ検出報告プログラム265は、フラッシュメモリユニットおよび/またはHDDユニットに向けた照会コマンドを呼び出す。照会コマンドへの応答が、フラッシュメモリユニットに起因するベンダIDや装置IDなど、フラッシュメモリの存在を示す情報を含む場合、フラッシュメモリ検出報告プログラム265は、記憶装置内のフラッシュメモリユニットの存在を認識する。当業者であれば理解するように、他の記憶装置検出機構が使用されてもよい。
【0038】
次に、移行コンピュータ300について説明する。図1(f)に示す本発明のシステムの実施形態では、移行モジュールが、移行プログラムを実行する移行コンピュータ300を使って実施される。移行コンピュータ300は、FCSW55を介してデータネットワークに接続されている。移行コンピュータ300は、プログラムとデータを記憶するメモリ320と、メモリ320に記憶されたプログラムを実行するCPU310を含む。移行コンピュータ300は、さらに、移行コンピュータ300をデータネットワーク50に接続するFCIF350と、移行コンピュータ300を管理ネットワーク90に接続するイーサIF390を含む。
【0039】
メモリ320は、少なくとも1つのプログラムを記憶しており、これは、CPU310によって実行される。本発明のシステムの一実施形態では、メモリ320は、ある記憶ボリュームから別の記憶ボリュームにデータを移行するデータ移行プログラム321を記憶している。
【0040】
次に、本発明のシステムの例示的実施形態のプロセスフローについて説明する。具体的には、説明する本発明のシステムの実施形態では、記憶装置100は、記憶ボリューム111を組み込んでいる。ボリューム111は、ホストコンピュータ10に接続されている。ホストコンピュータ10は、ボリューム111にデータを書き込み、このボリュームからデータを読み取ることができる。このために、ホストコンピュータ10からの適切な読取りおよび書込み要求が、データネットワーク50を介して記憶コントローラ150に送られる。記憶コントローラ150内で実行される応答プログラム162は、前述の要求を受け取り、それらを実行する。やはり記憶コントローラ150内で実行されるアクセスログ報告プログラム161は、ボリューム番号、コマンド情報(読取りまたは書込み)、コマンドと関連付けられるデータのLBA(論理ブロックアドレス)、コマンドのブロック長、コマンド受け取り時刻、コマンド応答時刻をログに記録する。図2に、前述のログ情報を記憶する表の例示的実施形態を示す。この表示記憶される情報の分析により、対応するデータのアクセスパターンに関する情報がもたらされる。アクセスパターン情報は、データアクセスがランダムであるか、それとも順次であるか、読取り操作と書込み操作の比率、ならびにアクセス頻度およびアクセスなし期間を示し得る。
【0041】
図3に、図1に示すシステムの動作フローの例を示す。この動作フローは、記憶装置の寿命の終わりにかけて行われる。
【0042】
ステップ3000:検出プログラム521が、各記憶装置を周期的にポーリングし、その残存寿命をチェックする。
【0043】
ステップ3010:残存寿命報告プログラム160が、検出プログラム521に「残存寿命」を報告する。
【0044】
ステップ3020:検出プログラム521が、寿命が終わりに近づいている記憶装置を検出した場合、プロセスは、ステップ3030に進む。
【0045】
ステップ3030:検出プログラム521は、コンピュータによる記憶システム内の、長い残存寿命を有する記憶ユニットを探し出す。
【0046】
ステップ3040:残存寿命報告プログラム260が、検出プログラム521に記憶ユニットの「残存寿命」を報告する。
【0047】
ステップ3050:フラッシュメモリユニット確認プログラム526が、発見された記憶ユニット内のフラッシュメモリユニットの有無を判定する。図示の実施形態では、発見された記憶ユニットは、記憶装置200内にある。フラッシュメモリユニットが存在しない場合、プロセスはステップ3060に進む。フラッシュメモリユニットが存在する場合、プロセスは、ステップ3100に進む。
【0048】
ステップ3060:ボリューム割り振り要求プログラム524が、発見された記憶装置内の新しいボリューム割り振りを要求する。本発明のシステムの図示の実施形態では、新しいボリューム割り振りは、管理ネットワーク90を介して記憶装置200内で要求される。
【0049】
ステップ3070:ボリューム移行要求プログラム525が、寿命が尽きようとしている旧いボリュームから発見された記憶ユニット内の新しいボリュームへのデータ移行を要求する。データ移行要求は、管理ネットワーク90を介してボリューム移行プログラム321に送られる。
【0050】
ステップ3080:パス交代要求プログラム527が、旧いボリューム111に関連付けられたアクセスパスから、新しいボリューム211に関連付けられたアクセスパスへのアクセスパスの交代を要求する。アクセスパスは、移行プロセスの完了時に変更される。
【0051】
ステップ3100:アクセスログ収集プログラム522が、アクセスログ報告プログラム161からログ情報を収集する。
【0052】
ステップ3110:ボリューム分析プログラム526が、ログ情報を分析し、アクセスログ分析から収集された情報に基づいて、ボリューム領域をいくつかの部分(チャンク)に分割する。ボリュームが正確にはどのようにしてチャンクに分割されるについては後述する。
【0053】
ステップ3120:ボリューム割り振り要求プログラムが、ボリューム領域の各部分ごとに、発見された記憶装置内の新しいボリューム割り振りを要求する。例えば、ボリュームが6つの部分に分割される場合、ボリューム割り振りが6回繰り返される。各チャンクが、HDDプールまたはフラッシュプールから割り振られる。前述のチャンクの割り振りは、ログ分析の結果に基づくものである。ボリューム割り振り要求は、ボリュームの特定の部分が、HDD記憶媒体上で割り振られるべきか、それともフラッシュ記憶媒体上で割り振られるべきかを示す識別子を含む。どちらのメディアプール(HDDまたはフラッシュ)が特定のデータにより好ましいかをシステムがどのようにして判定するかについては、以下で詳細に説明する。
【0054】
ステップ3130:ボリューム連結要求プログラム524が、各チャンクを連結して1つの記憶ボリュームにする。連結されたボリュームには、ホストコンピュータ10上で実行されるアプリケーションプログラム13からのみアクセスすることができる。
【0055】
ステップ3140:ボリューム移行要求プログラム525が、寿命が尽きようとしている記憶装置内のボリュームからステップ3130で連結されたボリュームへのデータの移行を要求する。
【0056】
ステップ3150:パス交代要求プログラム527が、ボリューム111からボリューム211へのデータ記憶ボリュームの変更を反映するように、データアクセスパスの変更を要求する。
【0057】
次に、ボリュームがどのようにしてチャンクに分割されるかについて、および好ましい記憶プールがどのようにして判定されるかについて詳細に説明する。記憶ボリュームは、ボリューム分析プログラム526によってチャンクに分割される。本発明の1つの例示的実施形態では、ボリュームは、6つのチャンクに分割され、各チャンクは同じサイズを有する。当業者であれば理解するように、このチャンクのサイズと数は、本発明の概念にとってあまり重要ではない。図4に、アクセスログ分析の結果を保持する表の例示的実施形態を示す。この表は、アクセスログ収集プログラム522によって作成される。
【0058】
ボリューム分析プログラム526は、図5に示すマッピング表529を使用する。マッピング表529は、メモリ520に記憶されている。ボリューム分析プログラム526は、結果保持表528内のレコードで表される特定のボリュームチャンクの特性を、マッピング表529内の適切なレコードと比較する。前述の比較結果に基づき、ボリューム分析プログラム526は、特定のチャンクがHDDプールから割り振られるべきか、それともフラッシュプールから割り振られるべきか判定する。具体的には、表の「チャンク割り振りプール」の列に好ましい記憶プールの種類が示されている。
【0059】
図6に、6つのチャンクに分割されている記憶ボリュームの例示的実施形態を示す。ボリューム分析プログラム526によるログ情報分析の結果として、特定のプールの種類(フラッシュまたはHDD)を有する特定のプールが各チャンクにリンクされる。ボリューム割り振り要求プログラム523は、ボリューム割り振りプログラム263にボリューム割り振り要求を送る。この要求は、所望のプールの種類情報を指定する。この情報は、割り振り要求に関連付けられる属性として指定されてもよい。プール属性情報は、HDDプールまたはフラッシュプールを示す属性を含む。受け取った割り振り要求に応答して、チャンクが記憶装置200内で割り振られる。チャンクが記憶ボリュームの部分であり、ボリューム自体ではない点に留意することは重要である。1つのボリュームは、いくつかのチャンクで構成されている。
【0060】
図示の例では、それぞれのプールから6つのチャンクが割り振られた後で、ボリューム連結要求プログラム524は、ボリューム連結プログラム264にボリューム連結要求を送る。ボリューム連結プログラム264は、6つのチャンクを1つに連結する。この連結は特定の順序で行われる。連結の結果として、ボリューム211が作成される。図6に示すボリューム211の例は、3つのフラッシュチャンクと3つのHDDチャンクで構成されている。
【0061】
その後、ボリューム移行要求プログラム525は、データ移行プログラム321に移行要求を送る。この要求に従って、ボリューム111に記憶されたデータが、ブロックごとのデータコピー操作によって、ボリューム211に移行される。
【0062】
最後に、管理コンピュータ500内のパス交代要求プログラム527は、ホストコンピュータ10内のアクセスパス管理プログラム14にパス交代要求を送る。受け取った要求に応答して、アクセスパス管理プログラム14は、データアクセスパスを、ボリューム111からボリューム211に切り換える。ボリューム211は、HDDチャンクとフラッシュチャンクで構成されており、ホストコンピュータ10からデータアクセスパターンに従って最適化される。したがって、ボリューム211のデータアクセス性能は、ボリューム111のものより高いことが期待される。
【0063】
フラッシュメディアの容量には限界があるため、本発明の一実施形態では、優先度システムを使って、フラッシュメモリプールからチャンクが割り振られてもよい。マッピング表529の列「優先度」は、フラッシュメモリの割り振りの優先度レベルを示す。当業者であれば理解するように、フラッシュメモリユニットの容量には限界がある。しかも、フラッシュメモリの容量は、しばしば、HDDユニットの容量より小さい。
【0064】
例えば、フラッシュプールとHDDプールの容量比が2:4であり、管理者が、管理コンピュータ500に、この比を維持するように指示すると、ボリュームチャンクの割り振り時に、前述の「優先度」列が調べられる。図7に、各チャンクの優先度に基づく記憶ボリューム割り振りを示す。2:4の割り振り比率を維持するために、チャンク#4が、フラッシュプールにではなくHDDプールに割り振られる。というのは、チャンク#4の優先度が、チャンク#1または#2の優先度より低いからである。よって、チャンク#4は、HDDプールを使って割り振られる。
【0065】
次に、本発明のシステムのいくつかの別の実施形態について説明する。図8に、本発明の概念を実施する情報システムの別の例を示す。図8に示す実施形態では、データ移行モジュールが、FCSW55上で実行されるデータ移行プログラム56によって実施される。加えて、ボリューム連結プログラム57とアクセスパス管理プログラム58も、FCSW55を使って実施される。イーサIF59が、管理コンピュータ300とのやりとりを可能にするために追加される。図8に示すシステムの他のすべての要素は、一般に、詳細に前述した、図1に示すシステムの対応する要素と等しい。
【0066】
図9に、本発明の概念による情報システムの別の例示的実施形態を示す。図9に示すシステム例では、データ移行モジュールは、管理コンピュータ500上で実行されるデータ移行プログラム558として実施される。図9に示すシステムの他のすべての要素は、一般に、詳細に前述した、図1に示すシステムの対応する要素と等しい。
【0067】
図10に、本発明の概念による情報システムの別の例示的実施形態を示す。図10に示すシステムでは、ボリューム連結プログラム16が、ホストコンピュータ10内に配置されている。図10に示すシステムの他のすべての要素は、一般に、詳細に前述した、図1に示すシステムの対応する要素と等しい。
【0068】
図11に、本発明の概念による情報システムの別の例示的実施形態を示す。図11に示すシステムでは、記憶装置100が記憶装置200に接続されている。外部記憶管理プログラム266と外部記憶のための追加のFCIF256が配置されている。データ移行モジュールは、記憶装置200内で実行されるデータ移行プログラム267を使って実施される。図11に示すシステムの他のすべての要素は、一般に、詳細に前述した、図1に示すシステムの対応する要素と等しい。
【0069】
図12は、本発明の方法の一実施形態が実施され得るコンピュータ/サーバシステム1200の一実施形態を示すブロック図である。システム1200は、コンピュータ/サーバプラットフォーム1201と、周辺装置1202と、ネットワークリソース1203を含む。
【0070】
コンピュータプラットフォーム1201は、コンピュータプラットフォーム1201の様々な部分にまたがり、これらの間で情報をやりとりするデータバス1204またはその他の通信機構と、情報を処理し、その他の計算処理および制御タスクを実行する、データバス1204で結合されたプロセッサ1205を含んでいてもよい。また、コンピュータプラットフォーム1201は、プロセッサ1205によって実行される命令のみならず様々な情報も記憶する、バス1204に結合された、ランダムアクセスメモリ(RAM)やその他の動的記憶などの揮発性記憶1206も含む。また、揮発性記憶1206は、プロセッサ1205による命令実行時に、一時変数その他の中間情報を記憶するのにも使用され得る。コンピュータプラットフォーム1201は、さらに、基本入出力システム(BIOS)など、プロセッサ1205のための静的情報および命令、ならびに様々なシステム構成パラメータを記憶する、バス1204に結合された読取り専用メモリ(ROMまたはEPROM)1207またはその他の静的記憶装置を含んでいてもよい。情報と命令を記憶するために、磁気ディスク、光ディスク、ソリッドステートフラッシュメモリデバイスなどの永続的記憶装置1208が設けられ、バス1204に結合されている。
【0071】
コンピュータプラットフォーム1201は、コンピュータプラットフォーム1201のシステム管理者またはユーザに情報を表示するために、バス1204を介して、ブラウン管(CRT)、プラズマディスプレイ、液晶ディスプレイ(LCD)などのディスプレイ1209に結合されていてもよい。プロセッサ1205に情報とコマンド選択を伝えるために、英数字その他のキーを含む入力装置1210が、バス1204に結合されている。別の種類のユーザ入力装置が、プロセッサ1205に方向情報とコマンド選択を伝え、ディスプレイ1209上のカーソルの動きを制御するための、マウス、トラックボール、カーソル方向キーなどのカーソル制御装置1211である。この入力装置は、通常、装置に平面内の位置を指定させる、2軸、すなわち、第1の軸(xなど)と第2の軸(yなど)の自由度を有する。
【0072】
コンピュータプラットフォーム1201に追加の、または取り外し可能な記憶容量を提供するために、バス1204を介してコンピュータプラットフォーム1201に外部記憶装置1212が接続されてもよい。コンピュータシステム1200の一実施形態では、外部取り外し可能記憶装置1212を使って、他のコンピュータシステムとのデータ交換が円滑化され得る。
【0073】
本発明は、本明細書で述べる技法を実施するコンピュータシステム1200の使用に関するものである。一実施形態では、本発明のシステムは、コンピュータプラットフォーム1201などのマシン上に存在し得る。本発明の一実施形態によれば、本明細書で述べる技法は、プロセッサ1205が、揮発性メモリ1206に含まれる1つまたは複数の命令の1つまたは複数のシーケンスを実行したことに応答して、コンピュータシステム1200によって実行される。かかる命令は、永続的記憶装置1208など別のコンピュータ可読媒体から揮発性メモリ1206に読み込まれてもよい。揮発性メモリ1206に含まれる命令シーケンスの実行が、プロセッサ1205に、本明細書で述べるプロセスステップを実行させる。別の実施形態では、配線で接続された回路を、ソフトウェア命令の代わりに、またはソフトウェアと組み合わせて使って、本発明が実施されてもよい。よって、本発明の実施形態は、ハードウェア回路とソフトウェアのどんな特定の組み合わせにも限定されない。
【0074】
本明細書で使用する「コンピュータ可読媒体」という用語は、実行するためにプロセッサ1205に命令を提供することに関与する任意の媒体を指す。コンピュータ可読媒体は、本明細書で述べる方法および/または技法のいずれかを実施する命令を保持し得る機械可読媒体の一例にすぎない。かかる媒体は、それだけに限らないが、不揮発性メディア、揮発性メディア、および伝送媒体を含めて、多くの形を取り得る。不揮発性メディアには、例えば、記憶装置1208など、光ディスクや磁気ディスクが含まれる。揮発性メディアには、揮発性記憶1206など、動的メモリが含まれる。伝送媒体には、データバス1204を構成する配線を含め、同軸ケーブル、銅線、および光ファイバが含まれる。また、伝送媒体は、電波および赤外線データ通信時に生成されるものなど、音響または光波の形も取り得る。
【0075】
コンピュータ可読媒体の一般的な形には、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または他の任意の磁気媒体、CD−ROM、他の任意の光媒体、パンチカード、紙テープ、孔のパターンを有する他の任意の物理媒体、RAM、PROM、EPROM、フラッシュEPROM、フラッシュドライブ、メモリカード、他の任意のメモリチップまたはカートリッジ、以下で説明する搬送波、あるいはコンピュータが読み取ることのできる他の任意の媒体が含まれる。
【0076】
様々な形のコンピュータ可読媒体が、実行のためにプロセッサ1205に1つまたは複数の命令の1つまたは複数のシーケンスを搬送するのに関与し得る。例えば、命令は、最初に、リモートコンピュータから磁気ディスクで搬送されてもよい。代替として、リモートコンピュータが、その動的メモリに命令をロードし、その命令を、モデムを使って電話回線で送ることもできる。コンピュータシステム1200にとってローカルのモデムが、電話回線でデータを受け取り、赤外線送信機を使ってこのデータを赤外線信号に変換することができる。赤外線検出器が、赤外線信号で搬送されたデータを受け取り、適切な回路がこのデータをデータバス1204に乗せることができる。バス1204は、データを揮発性記憶1206に搬送し、そこからプロセッサ1205が、命令を取り出して、実行する。揮発性メモリ1206によって受け取られる命令は、任意選択で、プロセッサ1205による実行の前または後に、永続的記憶装置1208に記憶されてもよい。また、命令は、当分野でよく知られている様々なネットワークデータ通信プロトコルを使って、インターネットを介して、コンピュータプラットフォーム1201にダウンロードされてもよい。
【0077】
また、コンピュータプラットフォーム1201は、データバス1204に結合されたネットワークインターフェースカード1213など、通信インターフェースも含む。通信インターフェース1213は、ローカルネットワーク1215に接続されているネットワークリンク1214に結合する双方向データ通信を提供する。例えば、通信インターフェース1213は、対応する種類の電話回線へのデータ通信接続を提供する総合サービスディジタルネットワーク(ISDN)カードまたはモデムとすることができる。別の例として、通信インターフェース1213は、互換性を有するLANへのデータ通信接続を提供するローカルエリアネットワークカード(LAN NIC)とすることもできる。また、ネットワークの実現には、よく知られている802.11a、802.11b、802.11g、ブルートゥースといった無線リンクも使用され得る。かかる実現形態のいずれかとして、通信インターフェース1213は、様々な種類の情報を表すディジタルデータストリームを搬送する電気信号、電磁信号または光信号を送信し、受信する。
【0078】
ネットワークリンク1214は、通常、1つまたは複数のネットワークを介して他のネットワークリソースへのデータ通信を提供する。例えば、ネットワークリンク1214は、ローカルネットワーク1215を介してホストコンピュータ1216、あるいはネットワーク記憶/サーバ1222への接続を提供し得る。加えて、または代替として、ネットワークリンク1213は、ゲートウェイ/ファイアウォール1217を介して、インターネットなど、広域またはグローバルネットワーク1218に接続してもよい。よって、コンピュータプラットフォーム1201は、リモートネットワーク記憶/サーバ1219など、インターネット1218上のどこかに位置するネットワークリソースにアクセスすることができる。他方、ローカルエリアネットワーク1215および/またはインターネット1218上のどこかに位置するクライアントから、コンピュータプラットフォーム1201にアクセスされてもよい。ネットワーククライアント1220および1221は、これら自体が、プラットフォーム1201に類似のコンピュータプラットフォームに基づいて実施されてもよい。
【0079】
ローカルネットワーク1215もインターネット1218もディジタルデータストリームを搬送する電気信号、電磁信号または光信号を使用する。様々なネットワークを通る信号と、コンピュータプラットフォーム1201との間でディジタルデータを搬送するネットワークリンク1214上と通信インターフェース1213を通る信号は、情報を運ぶ搬送波の形の例である。
【0080】
コンピュータプラットフォーム1201は、インターネット1218とローカルネットワーク1215を含む様々なネットワーク、ネットワークリンク1214および通信インターフェース1213を介して、メッセージを送信し、プログラムコードを含むデータを受信することができる。インターネットの例では、システム1201がネットワークサーバとして働くとき、システム1201は、インターネット1218、ゲートウェイ/ファイアウォール1217、ローカルネットワーク1215および通信インターフェース1213を介して、クライアント1220および/または1221上で走るアプリケーションプログラムのために、要求されたコードまたはデータを送信し得る。同様に、システム1201は、他のネットワークリソースからコードを受け取ってもよい。
【0081】
受け取られるコードは、受け取られるときにプロセッサ1205によって実行され、かつ/または、永続的記憶装置1208または揮発性記憶装置1206にそれぞれ、あるいは後で実行するために他の不揮発性記憶に記憶される。このようにして、コンピュータシステム1201は、搬送波の形でアプリケーションコードを獲得してもよい。
【0082】
最後に、本明細書で述べるプロセスおよび技法は、どんな特定の装置に固有に関連するものでもなく、構成要素の任意の適切な組み合わせによって実施され得ることを理解すべきである。さらに、様々な種類の汎用装置が、本明細書で述べる教示に従って使用され得る。また、本明細書で述べる方法ステップを実行する専用の装置を構築することが有利であることも分かる。本発明を、個々の例との関連で説明しているが、これらの例は、あらゆる点で、限定のためではなく例示のためのものである。ハードウェア、ソフトウェア、およびファームウェアの多様な組み合わせが、本発明を実施するのに適することを、当業者は理解するであろう。例えば、前述のソフトウェアは、アセンブラ、C/C++、Perl、Shell、PHP、Java(登録商標)などといった、多種多様なプログラミングまたはスクリプト言語で実施され得る。
【0083】
さらに、本発明の他の実現形態も、本明細書で開示する本発明の仕様および手法を考察すれば、当業者には明らかになるであろう。前述の実施形態の様々な態様および/または構成要素は、コンピュータによる記憶システムにおいて、単独で、または任意の組み合わせとして使用され得る。仕様および各例は、単なる例示とみなすべきであり、本発明の厳密な範囲および精神は、添付の特許請求の範囲によって示されるものである。
【図面の簡単な説明】
【0084】
【図1(a)】本発明の概念の一実施形態が実施され得る情報記憶システムの例の様々な側面を示す図である。
【図1(b)】本発明の概念の一実施形態が実施され得る情報記憶システムの例の様々な側面を示す図である。
【図1(c)】本発明の概念の一実施形態が実施され得る情報記憶システムの例の様々な側面を示す図である。
【図1(d)】本発明の概念の一実施形態が実施され得る情報記憶システムの例の様々な側面を示す図である。
【図1(e)】本発明の概念の一実施形態が実施され得る情報記憶システムの例の様々な側面を示す図である。
【図1(f)】本発明の概念の一実施形態が実施され得る情報記憶システムの例の様々な側面を示す図である。
【図2】アクセスログ情報を記憶する表299の例示的実施形態を示す図である。
【図3】図1に示すコンピュータによる記憶システムのプロセスフローの例を示す図である。
【図4】アクセスログ分析の結果を保持する表の例示的実施形態を示す図である。
【図5】マッピング表の例示的実施形態を示す図である。
【図6】記憶ボリュームの例示的実施形態を示す図である。
【図7】優先度に基づく記憶ボリューム割り振りを示す図である。
【図8】本発明の概念による情報システムの代替の例示的実施形態を示す図である。
【図9】本発明の概念による情報システムの代替の例示的実施形態を示す図である。
【図10】本発明の概念による情報システムの代替の例示的実施形態を示す図である。
【図11】本発明の概念による情報システムの代替の例示的実施形態を示す図である。
【図12】本発明のシステムが実施され得るコンピュータプラットフォームの例示的実施形態を示す図である。
【特許請求の範囲】
【請求項1】
コンピュータによるデータ記憶システムであって、
a.データを記憶する第1の記憶ボリュームを備える第1の記憶装置と、
b.ネットワークを介して前記第1の記憶装置に動作するように結合されており、データアクセスパターンに従って前記データにアクセスするように動作可能なホストコンピュータと、
c.前記第1の記憶装置に結合されており、記憶コントローラと、第1のメディアプールと、第2のメディアプールとを備える第2の記憶装置であり、
i.前記第1のメディアプールの特性が前記第2のメディアプールの特性と異なり、
ii.前記第2の記憶装置が、前記データアクセスパターンを決定し、前記決定されたデータアクセスパターンに従って、前記第1のメディアプールの少なくとも一部分と前記第2のメディアプールの少なくとも一部分を備える第2の記憶ボリュームを割り振るように動作可能であり、
iii.データ移行操作の実行時に、前記割り振られた第2の記憶ボリュームが、前記データのコピーを記憶するように動作可能な第2の記憶装置と
を備えるコンピュータによるデータ記憶システム。
【請求項2】
前記第1のメディアプールはHDDプールであり、前記第2のメディアプールはフラッシュメディアプールである請求項1に記載のコンピュータによるデータ記憶システム。
【請求項3】
前記第2の記憶ボリュームは、前記データを、前記第1の記憶装置の前記第1の記憶ボリュームから前記第2の記憶装置の前記第2の記憶ボリュームに移行させる前記データ移行操作を開始するように動作可能な移行モジュールを備える請求項1に記載のコンピュータによるデータ記憶システム。
【請求項4】
前記データを、前記第1の記憶装置の前記第1の記憶ボリュームから前記第2の記憶装置の前記第2の記憶ボリュームに移行させる前記データ移行操作を開始するように動作可能な管理モジュールをさらに備える請求項1に記載のコンピュータによるデータ記憶システム。
【請求項5】
前記第2のボリュームは、少なくとも1つのフラッシュメモリチャンクと少なくとも1つのHDDチャンクとを備える請求項1に記載のコンピュータによるデータ記憶システム。
【請求項6】
前記データアクセスパターンは、データアクセスがランダムであるか、それともシーケンシャルであるかを示す請求項1に記載のコンピュータによるデータ記憶システム。
【請求項7】
前記データアクセスパターンは、データ書込みとデータ読取りの比率を含む請求項1に記載のコンピュータによるデータ記憶システム。
【請求項8】
前記データアクセスパターンは、データアクセス頻度を含む請求項1に記載のコンピュータによるデータ記憶システム。
【請求項9】
前記データアクセスパターンは、アクセスなし期間を含む請求項1に記載のコンピュータによるデータ記憶システム。
【請求項10】
前記ホストコンピュータによる前記データの前記アクセスパターンを記述する情報を記憶するように動作可能なログ記憶装置をさらに備え、前記第2の記憶装置は、前記ログ記憶装置の内容に基づいて前記データアクセスパターンを決定するように動作可能な請求項1に記載のコンピュータによるデータ記憶システム。
【請求項11】
前記第1と第2の記憶装置は、それぞれ、前記第1のメディアプールと前記第2のメディアプールのうちの少なくとも1つのうちの記憶ユニットの残存寿命を決定するように動作可能な寿命報告モジュールをさらに備える請求項1に記載のコンピュータによるデータ記憶システム。
【請求項12】
前記第2の記憶装置は、前記第1のメディアプールの前記少なくとも一部分と前記第2のメディアプールの前記少なくとも一部分を連結して前記第2の記憶ボリュームにするように動作可能なボリューム連結モジュールをさらに備える請求項1に記載のコンピュータによるデータ記憶システム。
【請求項13】
前記ホストコンピュータは、前記ホストコンピュータの前記第1の記憶装置と前記第2の記憶装置へのアクセスを管理するように動作可能なアクセスパス管理モジュールを備える請求項1に記載のコンピュータによるデータ記憶システム。
【請求項14】
前記アクセスパターンに対応するメディアプールの種類の指定を含むマッピング表を記憶するメモリモジュールをさらに備える請求項1に記載のコンピュータによるデータ記憶システム。
【請求項15】
前記第1のメディアプールの前記少なくとも一部分と前記第2のメディアプールの前記少なくとも一部分は、優先度に基づいて前記第2の記憶ボリュームに割り振られ、前記優先度は、前記データアクセスパターンに基づいて決定される請求項1に記載のコンピュータによるデータ記憶システム。
【請求項16】
前記第1の記憶装置と、前記第2の記憶装置と、前記ホストコンピュータに動作するように結合されているネットワークスイッチであり、前記データを、前記第1の記憶装置の前記第1の記憶ボリュームから前記第2の記憶装置の前記第2の記憶ボリュームに移行させるように動作可能な移行モジュールを備える前記ネットワークスイッチをさらに備える請求項1に記載のコンピュータによるデータ記憶システム。
【請求項17】
前記ネットワークスイッチは、前記第1のメディアプールの前記少なくとも一部分と前記第2のメディアプールの前記少なくとも一部分を連結して前記第2の記憶ボリュームにするように動作可能なボリューム連結モジュールをさらに備える請求項16に記載のコンピュータによるデータ記憶システム。
【請求項18】
前記ネットワークスイッチは、前記ホストコンピュータの前記第1の記憶装置と前記第2の記憶装置へのアクセスを管理するように動作可能なアクセスパス管理モジュールをさらに備える請求項16に記載のコンピュータによるデータ記憶システム。
【請求項19】
ネットワークスイッチをさらに備え、前記第1の記憶装置は、前記ネットワークスイッチを介して前記第2の記憶装置に結合されている請求項1に記載のコンピュータによるデータ記憶システム。
【請求項20】
前記ネットワークスイッチは、前記データ移行操作を開始するように動作可能な請求項19に記載のコンピュータによるデータ記憶システム。
【請求項21】
前記ネットワークスイッチはファイバチャネルスイッチである請求項19に記載のコンピュータによるデータ記憶システム。
【請求項22】
前記第1の記憶装置は、前記第2の記憶に直接結合されている請求項1に記載のコンピュータによるデータ記憶システム。
【請求項23】
前記データ移行操作は、前記第2の記憶装置によって開始される請求項1に記載のコンピュータによるデータ記憶システム。
【請求項24】
a.第1の記憶ボリュームに記憶されているデータを対象とするアクセス要求をログに記録してログ情報を作成すること、
b.前記ログ情報を分析してデータアクセスパターンを決定すること、
c.前記決定されたデータアクセスパターンに従って、第1のメディアプールの少なくとも一部分と第2のメディアプールの少なくとも一部分を備える第2の記憶ボリュームを割り振ること、および
d.前記データを、前記第1の記憶ボリュームから前記第2の記憶ボリュームに移行すること
を含む方法。
【請求項25】
前記第1のメディアプールはHDDプールであり、前記第2のメディアプールはフラッシュメディアプールである請求項24に記載の方法。
【請求項26】
前記データアクセスパターンは、データアクセスがランダムであるか、それともシーケンシャルであるかを示す請求項24に記載の方法。
【請求項27】
前記データアクセスパターンは、データ書込みとデータ読取りの比率を含む請求項24に記載の方法。
【請求項28】
前記データアクセスパターンは、データアクセス頻度を含む請求項24に記載の方法。
【請求項29】
前記データアクセスパターンは、アクセスなし期間を含む請求項24に記載の方法。
【請求項30】
コンピュータ可読媒体に実施されたコンピュータプログラミング製品であって、
a.第1の記憶ボリュームに記憶されているデータを対象とするアクセス要求をログに記録してログ情報を作成するコードと、
b.前記ログ情報を分析してデータアクセスパターンを決定するコードと、
c.前記決定されたデータアクセスパターンに従って、第1のメディアプールの少なくとも一部分と第2のメディアプールの少なくとも一部分を備える第2の記憶ボリュームを割り振るコードと、
d.前記データを、前記第1の記憶ボリュームから前記第2の記憶ボリュームに移行するコードと
を含むコンピュータプログラミング製品。
【請求項31】
前記第1のメディアプールはHDDプールであり、前記第2のメディアプールはフラッシュメディアプールである請求項30に記載のコンピュータプログラミング製品。
【請求項32】
前記データアクセスパターンは、データアクセスがランダムであるか、それともシーケンシャルであるかを示す請求項30に記載のコンピュータプログラミング製品。
【請求項33】
前記データアクセスパターンは、データ書込みとデータ読取りの比率を含む請求項30に記載のコンピュータプログラミング製品。
【請求項34】
前記データアクセスパターンは、データアクセス頻度を含む請求項30に記載のコンピュータプログラミング製品。
【請求項35】
前記データアクセスパターンは、アクセスなし期間を含む請求項30に記載のコンピュータプログラミング製品。
【請求項1】
コンピュータによるデータ記憶システムであって、
a.データを記憶する第1の記憶ボリュームを備える第1の記憶装置と、
b.ネットワークを介して前記第1の記憶装置に動作するように結合されており、データアクセスパターンに従って前記データにアクセスするように動作可能なホストコンピュータと、
c.前記第1の記憶装置に結合されており、記憶コントローラと、第1のメディアプールと、第2のメディアプールとを備える第2の記憶装置であり、
i.前記第1のメディアプールの特性が前記第2のメディアプールの特性と異なり、
ii.前記第2の記憶装置が、前記データアクセスパターンを決定し、前記決定されたデータアクセスパターンに従って、前記第1のメディアプールの少なくとも一部分と前記第2のメディアプールの少なくとも一部分を備える第2の記憶ボリュームを割り振るように動作可能であり、
iii.データ移行操作の実行時に、前記割り振られた第2の記憶ボリュームが、前記データのコピーを記憶するように動作可能な第2の記憶装置と
を備えるコンピュータによるデータ記憶システム。
【請求項2】
前記第1のメディアプールはHDDプールであり、前記第2のメディアプールはフラッシュメディアプールである請求項1に記載のコンピュータによるデータ記憶システム。
【請求項3】
前記第2の記憶ボリュームは、前記データを、前記第1の記憶装置の前記第1の記憶ボリュームから前記第2の記憶装置の前記第2の記憶ボリュームに移行させる前記データ移行操作を開始するように動作可能な移行モジュールを備える請求項1に記載のコンピュータによるデータ記憶システム。
【請求項4】
前記データを、前記第1の記憶装置の前記第1の記憶ボリュームから前記第2の記憶装置の前記第2の記憶ボリュームに移行させる前記データ移行操作を開始するように動作可能な管理モジュールをさらに備える請求項1に記載のコンピュータによるデータ記憶システム。
【請求項5】
前記第2のボリュームは、少なくとも1つのフラッシュメモリチャンクと少なくとも1つのHDDチャンクとを備える請求項1に記載のコンピュータによるデータ記憶システム。
【請求項6】
前記データアクセスパターンは、データアクセスがランダムであるか、それともシーケンシャルであるかを示す請求項1に記載のコンピュータによるデータ記憶システム。
【請求項7】
前記データアクセスパターンは、データ書込みとデータ読取りの比率を含む請求項1に記載のコンピュータによるデータ記憶システム。
【請求項8】
前記データアクセスパターンは、データアクセス頻度を含む請求項1に記載のコンピュータによるデータ記憶システム。
【請求項9】
前記データアクセスパターンは、アクセスなし期間を含む請求項1に記載のコンピュータによるデータ記憶システム。
【請求項10】
前記ホストコンピュータによる前記データの前記アクセスパターンを記述する情報を記憶するように動作可能なログ記憶装置をさらに備え、前記第2の記憶装置は、前記ログ記憶装置の内容に基づいて前記データアクセスパターンを決定するように動作可能な請求項1に記載のコンピュータによるデータ記憶システム。
【請求項11】
前記第1と第2の記憶装置は、それぞれ、前記第1のメディアプールと前記第2のメディアプールのうちの少なくとも1つのうちの記憶ユニットの残存寿命を決定するように動作可能な寿命報告モジュールをさらに備える請求項1に記載のコンピュータによるデータ記憶システム。
【請求項12】
前記第2の記憶装置は、前記第1のメディアプールの前記少なくとも一部分と前記第2のメディアプールの前記少なくとも一部分を連結して前記第2の記憶ボリュームにするように動作可能なボリューム連結モジュールをさらに備える請求項1に記載のコンピュータによるデータ記憶システム。
【請求項13】
前記ホストコンピュータは、前記ホストコンピュータの前記第1の記憶装置と前記第2の記憶装置へのアクセスを管理するように動作可能なアクセスパス管理モジュールを備える請求項1に記載のコンピュータによるデータ記憶システム。
【請求項14】
前記アクセスパターンに対応するメディアプールの種類の指定を含むマッピング表を記憶するメモリモジュールをさらに備える請求項1に記載のコンピュータによるデータ記憶システム。
【請求項15】
前記第1のメディアプールの前記少なくとも一部分と前記第2のメディアプールの前記少なくとも一部分は、優先度に基づいて前記第2の記憶ボリュームに割り振られ、前記優先度は、前記データアクセスパターンに基づいて決定される請求項1に記載のコンピュータによるデータ記憶システム。
【請求項16】
前記第1の記憶装置と、前記第2の記憶装置と、前記ホストコンピュータに動作するように結合されているネットワークスイッチであり、前記データを、前記第1の記憶装置の前記第1の記憶ボリュームから前記第2の記憶装置の前記第2の記憶ボリュームに移行させるように動作可能な移行モジュールを備える前記ネットワークスイッチをさらに備える請求項1に記載のコンピュータによるデータ記憶システム。
【請求項17】
前記ネットワークスイッチは、前記第1のメディアプールの前記少なくとも一部分と前記第2のメディアプールの前記少なくとも一部分を連結して前記第2の記憶ボリュームにするように動作可能なボリューム連結モジュールをさらに備える請求項16に記載のコンピュータによるデータ記憶システム。
【請求項18】
前記ネットワークスイッチは、前記ホストコンピュータの前記第1の記憶装置と前記第2の記憶装置へのアクセスを管理するように動作可能なアクセスパス管理モジュールをさらに備える請求項16に記載のコンピュータによるデータ記憶システム。
【請求項19】
ネットワークスイッチをさらに備え、前記第1の記憶装置は、前記ネットワークスイッチを介して前記第2の記憶装置に結合されている請求項1に記載のコンピュータによるデータ記憶システム。
【請求項20】
前記ネットワークスイッチは、前記データ移行操作を開始するように動作可能な請求項19に記載のコンピュータによるデータ記憶システム。
【請求項21】
前記ネットワークスイッチはファイバチャネルスイッチである請求項19に記載のコンピュータによるデータ記憶システム。
【請求項22】
前記第1の記憶装置は、前記第2の記憶に直接結合されている請求項1に記載のコンピュータによるデータ記憶システム。
【請求項23】
前記データ移行操作は、前記第2の記憶装置によって開始される請求項1に記載のコンピュータによるデータ記憶システム。
【請求項24】
a.第1の記憶ボリュームに記憶されているデータを対象とするアクセス要求をログに記録してログ情報を作成すること、
b.前記ログ情報を分析してデータアクセスパターンを決定すること、
c.前記決定されたデータアクセスパターンに従って、第1のメディアプールの少なくとも一部分と第2のメディアプールの少なくとも一部分を備える第2の記憶ボリュームを割り振ること、および
d.前記データを、前記第1の記憶ボリュームから前記第2の記憶ボリュームに移行すること
を含む方法。
【請求項25】
前記第1のメディアプールはHDDプールであり、前記第2のメディアプールはフラッシュメディアプールである請求項24に記載の方法。
【請求項26】
前記データアクセスパターンは、データアクセスがランダムであるか、それともシーケンシャルであるかを示す請求項24に記載の方法。
【請求項27】
前記データアクセスパターンは、データ書込みとデータ読取りの比率を含む請求項24に記載の方法。
【請求項28】
前記データアクセスパターンは、データアクセス頻度を含む請求項24に記載の方法。
【請求項29】
前記データアクセスパターンは、アクセスなし期間を含む請求項24に記載の方法。
【請求項30】
コンピュータ可読媒体に実施されたコンピュータプログラミング製品であって、
a.第1の記憶ボリュームに記憶されているデータを対象とするアクセス要求をログに記録してログ情報を作成するコードと、
b.前記ログ情報を分析してデータアクセスパターンを決定するコードと、
c.前記決定されたデータアクセスパターンに従って、第1のメディアプールの少なくとも一部分と第2のメディアプールの少なくとも一部分を備える第2の記憶ボリュームを割り振るコードと、
d.前記データを、前記第1の記憶ボリュームから前記第2の記憶ボリュームに移行するコードと
を含むコンピュータプログラミング製品。
【請求項31】
前記第1のメディアプールはHDDプールであり、前記第2のメディアプールはフラッシュメディアプールである請求項30に記載のコンピュータプログラミング製品。
【請求項32】
前記データアクセスパターンは、データアクセスがランダムであるか、それともシーケンシャルであるかを示す請求項30に記載のコンピュータプログラミング製品。
【請求項33】
前記データアクセスパターンは、データ書込みとデータ読取りの比率を含む請求項30に記載のコンピュータプログラミング製品。
【請求項34】
前記データアクセスパターンは、データアクセス頻度を含む請求項30に記載のコンピュータプログラミング製品。
【請求項35】
前記データアクセスパターンは、アクセスなし期間を含む請求項30に記載のコンピュータプログラミング製品。
【図1(a)】
【図1(b)】
【図1(c)】
【図1(d)】
【図1(e)】
【図1(f)】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図1(b)】
【図1(c)】
【図1(d)】
【図1(e)】
【図1(f)】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2008−33911(P2008−33911A)
【公開日】平成20年2月14日(2008.2.14)
【国際特許分類】
【外国語出願】
【出願番号】特願2007−167387(P2007−167387)
【出願日】平成19年6月26日(2007.6.26)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成20年2月14日(2008.2.14)
【国際特許分類】
【出願番号】特願2007−167387(P2007−167387)
【出願日】平成19年6月26日(2007.6.26)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]