JP2011065624A - 動的ページ再配置ストレージシステム管理 - Google Patents

動的ページ再配置ストレージシステム管理 Download PDF

Info

Publication number
JP2011065624A
JP2011065624A JP2010021988A JP2010021988A JP2011065624A JP 2011065624 A JP2011065624 A JP 2011065624A JP 2010021988 A JP2010021988 A JP 2010021988A JP 2010021988 A JP2010021988 A JP 2010021988A JP 2011065624 A JP2011065624 A JP 2011065624A
Authority
JP
Japan
Prior art keywords
tier
pool
storage
storage system
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010021988A
Other languages
English (en)
Other versions
JP5495828B2 (ja
Inventor
Tomohiro Kawaguchi
智大 川口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2011065624A publication Critical patent/JP2011065624A/ja
Application granted granted Critical
Publication of JP5495828B2 publication Critical patent/JP5495828B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Abstract

【課題】動的ページ再配置ストレージシステム管理の方法及び装置を提供すること。
【解決手段】一実施形態では、階層化ストレージ環境におけるストレージ管理のためのストレージは、異なる階層レベルを有する複数の階層に分けられたプールの中の複数のストレージボリュームであって、各階層は階層構成ルールに従って組織されており、前記ストレージシステムの複数の物理ストレージデバイスによって提供される、複数のストレージボリュームと、前記複数の物理ストレージデバイスを制御するコントローラであって、プロセッサ及びメモリを含むコントローラとを備える。階層レベルを含む階層構成ルールが変更された場合に、コントローラは、ストレージボリュームの階層の階層構成を変更する。プールが、有効であった階層構成ルールを満たさない場合に生じる、物理ストレージデバイスに対する階層レベルの変化に基づいて、コントローラは、プールを複数の仮想ボリュームに割り当てる。
【選択図】図1

Description

0001 本発明は一般に、階層化ストレージシステムの管理及び構成に関し、特に、動的ページ再配置ストレージシステム管理の方法及び装置に関する。
0002 ストレージシステムは、例えば、SSD(ソリッドステートディスク)、SAS(シリアルアタッチド)HDD、SATA(シリアルATA)HDDを含む複数のタイプのディスクを使用することができる。これらのディスクは、性能、容量、信頼性及びコストが異なっている。ストレージユーザがストレージボリュームを取得する場合、ユーザは、ROI(投資利益率)を最大化するために目的及び要求に従って多様なタイプのディスクから選択する。これら目的及び要求は、時の経過と共に変化し得る。その場合、最適化のためにディスク構成を調整する必要がある。1つのアプローチは、高いROIを維持するために階層化ストレージ管理を使用することである。さらに、プール構成を設計することは難しいので、最大化されたROIを保持するために、階層化ストレージ構成を動的に調整する必要があるかもしれない。
0003 階層化ストレージ環境を管理するための既存の技術が存在している。例えば、米国特許出願公開第2007/0055713(A1)号明細書は、ボリュームが容量の拡張を必要とする時に、ストレージシステムがその用途と必要な性能によって適切なディスクを選択する、ボリューム容量のプロビジョニング方法を開示している。米国特許出願公開第2008/0184000(A1)号明細書は、1つのプールの中の複数の階層の間のシン・プロビジョニング(ページ単位でスライスされた)ボリュームマイグレーション方法を開示している。ストレージシステムは、低アクセスボリュームを選択し、このボリュームを、シームレスに別のストレージモジュールの低レイテンシーの階層に移動する。米国特許出願公開第2007/0192560(A1)号明細書は、ストレージシステムがシステム構成に応じて適切なプールにディスクをインストールする際に従う、シン・プロビジョニング・プールのためのディスクインストール制御方法を開示する。米国特許出願公開第2007/0055713(A1)号明細書及び米国特許出願公開第2007/0192560(A1)号明細書は、ボリューム階層構成のチューニングに有用である。米国特許出願公開第2008/0184000(A1)号明細書は、階層に対する容量インストールに有用である。これらの開示は、参照によって組み込まれている。
米国特許出願公開第2007/0055713号 米国特許出願公開第2008/0184000号 米国特許出願公開第2007/0192560号 米国特許出願公開第2007/0055713号
0004 本発明の実施形態は、動的ページ再配置ストレージシステム管理の方法及び装置を提供する。ストレージユーザが階層化ストレージ環境でストレージを管理する場合、プール構成を設計することは難しい。ストレージは階層負荷を示し、ユーザは、階層負荷で階層構成を調整する。階層構成は動的に変化する。本発明は、ストレージが現在の階層負荷を示し、ストレージユーザが階層構成ルールを変更することができ、ストレージがストレージユーザによって設定された階層構成ルールに従って階層構成を再構成することができる技術を提供する。このようにしてストレージシステムは、実際の階層負荷に従ってストレージユーザからの入力に基づいて階層構成を動的に変更することができる。
0005 本発明の一態様によると、階層化ストレージ環境におけるストレージ管理のためのストレージシステムは、異なる階層レベルを有する複数の階層に分けられるプールの中の複数のストレージボリュームであって、当該階層は階層構成ルールに従って組織されており、ストレージシステムの複数の物理ストレージデバイスによって提供される、複数のストレージボリュームと、複数の物理ストレージデバイスを制御するコントローラであって、プロセッサ及びメモリを含むコントローラとを含む。コントローラは、階層構成ルールが変更された場合、ストレージボリュームの階層の階層構成を変更するものであり、当該階層構成は階層レベルを含む。コントローラは、有効であった階層構成ルールをプールが満たさない場合に生じる、物理ストレージデバイスに対する階層レベルの変化に基づいて、プールを複数の仮想ボリュームに割り当てる。
0006 いくつかの実施形態では、プールの各階層は、物理ストレージデバイスの1つ以上のRAIDグループを含む。複数の物理ストレージデバイスは、複数の階層に分けられたプールの中の複数のRAIDグループに配置され、プールの中の少なくとも1つのRAIDグループは、複数の階層の2つ以上の階層に分割された物理ストレージデバイスを含む。プールが、有効であった階層構成ルールを満たさない場合、コントローラは、管理端末からの入力に応じた物理ストレージデバイスに対する階層レベルの変化に基づいて、プールを複数の仮想ボリュームに割り当てる。プールは、複数のシン・プロビジョニング・プールを含む。コントローラは、シン・プロビジョニング・プールの2つ以上を1つの仮想ボリュームに割り当てるために入力を受信し、2つ以上のシン・プロビジョニング・プールを、1つの仮想ボリュームに割り当てられる集約されたシン・プロビジョニング・プールにマージする。複数の仮想ボリュームのうち少なくとも1つの仮想ボリュームは、コントローラによる階層構成の変更に従って、その中の階層レベルを設定することができる1つ以上の指定領域を有する。プールが、有効であった階層構成ルールを満たさない場合、コントローラは、外部入力なしに自動的に生じる、物理ストレージデバイスに対する階層レベルの変化に基づいて、プールを複数の仮想ボリュームに割り当てる。コントローラは、ストレージシステムの階層負荷を監視し、ストレージシステムの階層負荷に基づいて決定されるように、物理ストレージデバイスに対する階層レベルの変化に基づいて、プールを複数の仮想ボリュームに割り当てる。
0007 本発明の他の態様によると、階層化ストレージ環境におけるストレージ管理のためのストレージシステムは、異なる階層レベルを有する複数の階層に分けられるプールの中の複数のストレージボリュームであって、当該各階層は階層構成ルールに従って組織されており、ストレージシステムの複数の物理ストレージデバイスによって提供される、複数のストレージボリュームと、複数の物理ストレージデバイスを制御するコントローラであって、プロセッサ及びメモリを含むコントローラとを含む。コントローラは、階層構成ルールが変更された場合、ストレージボリュームの階層の階層構成を変更するものであって、当該階層構成は階層レベルを含む。コントローラは、物理ストレージデバイスに対する階層レベルの変化に基づいて、プールを複数の仮想ボリュームに動的に割り当てる。複数の物理ストレージデバイスは、複数の階層に分けられるプールの中の複数のRAIDグループに配置される。プールの中の少なくとも1つのRAIDグループは、2つ以上の複数の階層に分割された物理ストレージデバイスを含む。
0008 本発明の別の態様によれば、階層化ストレージ環境におけるストレージ管理のためのストレージシステムは、異なる階層レベルを有する複数の階層に分けられるプールの中の複数のストレージボリュームであって、当該各階層は階層構成ルールに従って組織されており、ストレージシステムの複数の物理ストレージデバイスによって提供される、複数のストレージボリュームと、複数の物理ストレージデバイスを制御するコントローラであって、プロセッサ及びメモリを含むコントローラとを含む。コントローラは、階層構成ルールが変更された場合、ストレージボリュームの階層の階層構成を変更するものであり、当該階層構成は階層レベルを含む。コントローラは、階層構成ルール及び仮想ボリュームの特徴に基づいてプールを複数の仮想ボリュームに割り当てる。プールは、複数のシン・プロビジョニング・プールを含む。コントローラは、2つ以上のシン・プロビジョニング・プールを1つの仮想ボリュームに割り当てるための入力を受信し、2つ以上のシン・プロビジョニング・プールを、1つの仮想ボリュームに割り当てられる集約されたシン・プロビジョニング・プールにマージする。
0009 本発明の上記及びその他の特徴及び効果は、以下における特定の実施形態の詳細な説明を考慮して、当業者にとって明らかとなるであろう。
0010 図1は、本発明の方法及び装置が適用され得るシステムのハードウェア構成を示す。 0011 図2は、本発明の第1の実施形態に従った図1のストレージサブシステムのメモリの一例を示す。 0012 図3は、図2のメモリのディスク管理テーブルの一例を示す。 0013 図4は、図2のメモリのディスク情報テーブルの一例を示す。 0014 図5は、図2のメモリのRAIDグループ管理テーブルの一例を示す。 0015 図6は、図2のメモリの仮想ボリューム管理テーブルの一例を示す。 0016 図7は、図2のメモリの階層管理テーブルの一例を示す。 0017 図8は、図2のメモリの仮想ボリュームページ管理テーブルの一例を示す。 0018 図9は、図2のメモリの容量プールチャンク管理テーブルの一例を示す。 0019 図10は、図2のメモリの容量プールページ管理テーブルの一例を示す。 0020 図11は、図2のメモリのキャッシュ管理テーブルの一例を示す。 0021 図12は、第1の実施形態に従ったストレージサブシステムの論理ストレージ構成の概要を示す。 0022 図13は、図2のメモリのキャッシュの論理構造の一例を示す。 0023 図14は、第1の実施形態に従った容量プールチャンクの論理構造の一例を示す。 0024 図15は、容量プールに対するテーブル参照構造の一例を示す。 0025 図16は、仮想ボリュームに対するテーブル参照構造の一例を示す。 0026 図17は、図2のメモリの書込みI/O制御のプロセスフローの一例を示す。 0027 図18は、図2のメモリの読取I/O制御のプロセスフローの一例を示す。 0028 図19は、図2のメモリのステージング制御のプロセスフローの一例を示す。 0029 図20は、図2のメモリのデステージング制御のプロセスフローの一例を示す。 0030 図21は、図2のメモリのフラッシュ制御のプロセスフローの一例を示す。 0031 図22は、図2のメモリのキャッシュ制御のプロセスフローの一例を示す。 0032 図23は、図2のメモリのボリューム・プロビジョニング制御のプロセスフローの一例を示す。 0033 図24は、図2のメモリのボリューム階層制御のプロセスフローの一例を示す。 0034 図25は、図2のメモリの仮想ボリューム負荷モニタ制御のプロセスフローの一例を示す。 0035 図26は、図2のメモリのディスクインストール制御のプロセスフローの一例を示す。 0036 図27は、図2のメモリの階層構成制御のプロセスフローの一例を示す。 0037 図28は、図2のメモリの階層登録制御のプロセスフローの一例を示す。 0038 図29は、図2のメモリの仮想ボリューム負荷モニタ制御のプロセスフローの一例を示す。 0039 図30は、図2のメモリのページマッピング制御のプロセスフローの一例を示す。 0040 図31は、図2のメモリのページマイグレーション制御のプロセスフローの一例を示す。 0041 図32は、RAIDグループインストールの表示及び操作イメージを示すプールマネージャウィンドウの一例を示す。 0042 図33は、プール変更の表示及び操作イメージを示すプールマネージャウィンドウの一例を示す。 0043 図34は、プール集約の表示及び操作イメージを示すプールマネージャウィンドウの一例を示す。 0044 図35は、仮想ボリューム・プロビジョニング及び階層再構成の表示及び操作イメージを示す仮想ボリュームウィンドウの一例を示す。 0045 図36は、仮想ボリューム負荷モニタの表示イメージの一例を示す。 0046 図37は、階層負荷モニタの表示イメージの一例を示す。 0047 図38は、第1の実施形態に従ったプール作成及びディスクインストールの一連のステップの一例を示す。 0048 図39は、階層構成不可プールを階層構成可能プールに変更する一連のステップの一例を示す。 0049 図40は、2つのストレージプールを集約する一連のステップの一例を示す。 0050 図41は、仮想ボリューム・プロビジョニング及びトランザクションの一連のステップの一例を示す。 0051 図42は、仮想ボリューム階層再構成の一連のステップの一例を示す。 0052 図43は、プール階層再構成の一連のステップの一例を示す。 0053 図44は、本発明の第2の実施形態に従った図1のストレージサブシステムのメモリの一例を示す。 0054 図45は、第2の実施形態に従った図44のメモリのRAIDグループ管理テーブルの一例を示す。 0055 図46は、第2の実施形態に従った図44のメモリの階層管理テーブルの一例を示す。 0056 図47は、第2の実施形態に従ったストレージサブシステムの論理ストレージ構成の概要を示す。 0057 図48は、第2の実施形態に従った容量プールチャンクの論理構造の一例を示す。 0058 図49は、本発明の方法及び装置が適用され得る、第3の実施形態に従ったシステムのハードウェア構成を示す。 0059 図50は、第3の実施形態に従った図49のストレージサブシステムのメモリの一例を示す。 0060 図51は、第3の実施形態に従った図50のメモリの仮想ボリューム管理テーブルの一例を示す。 0061 図52は、第3の実施形態に従ったストレージサブシステムの論理ストレージ構成の概要を示す。 0062 図53は、第3の実施形態に従った図49の管理端末のメモリのアプリケーション管理テーブルの一例を示す。 0063 図54は、第3の実施形態に従ったアプリケーション操作の一連のステップの一例を示す。 0064 図55は、本発明の第4の実施形態に従った図1のストレージサブシステムのメモリの一例を示す。 0065 図56は、図55のメモリの仮想ボリューム管理テーブルの一例を示す。 0066 図57は、RAIDグループインストールの表示及び操作イメージの一例を示す。 0067 図58は、仮想ボリュームI/O分布モニタを示すフロー図の一例を示す。 0068 図59は、ローレンツ曲線を計算する式である。 0069 図60は、アプリケーション操作の一連のステップの一例を示す。
0070 本発明についての以下の詳細な説明では、開示の一部を形成するとともに、それによって本発明が実施され得るところの例示的実施形態が制限ではなく実例とし示される、添付の図面を参照する。これらの図面において、同様の符号は複数の図面を通してほぼ同様の構成要素を示す。さらに、注記すべきこととして、以下に説明する通り、また図面で示される通り、詳細な説明では様々な例示的実施形態を提供するが、本発明は本明細書で説明されかつ示される実施形態に限定されるものではなく、当業者にとって周知であろう又は周知のものとなるであろうその他の実施形態にも及び得る。本明細書における「一実施形態」「本実施形態」又は「これらの実施形態」への言及は、当該実施形態に関連して説明される特定の特性、構造又は特徴が、本発明の少なくとも一つの実施形態に含まれることを意味し、本明細書中においてこれらの文言が様々な場所で使われていても、必ずしもすべてが同一の実施形態に言及するものとは限らない。さらに、以下の詳細な説明では、本発明を十分に理解するために多くの具体的な詳細を記載している。但し、これらの具体的な詳細のすべてが本発明の実施のために必要なわけではないということは、当業者にとっては明らかであろう。その他の状況において、不必要に本発明を曖昧にしないように、周知の構造、材料、回路、プロセス及びインタフェースについては詳細に説明されておらず、かつ/又はブロック図で示されていないかもしれない。
0071 さらに、以下の詳細な説明のいくつかの部分は、コンピュータ内の動作のアルゴリズム及び象徴的な代表例に関して示されている。これらのアルゴリズムの記述及び象徴的な代表例は、データ処理分野の技術における当業者によって、彼らの新しい技法のエッセンスをその他の当業者らに最も効果的に伝えるために用いられる手段である。アルゴリズムは、望ましい最終状態又は結果をもたらすための一連の定義されたステップである。本発明において、実施されるステップは、有形の結果を達成するための有形の数量を物理的に操作することを必要としない。通常は(必ずしもそうとは限らないが)、上記の数量は、記憶され、転送され、組み合わせられ、比較され、又はその他の態様で操作されることが可能な電気又は磁気の信号又は命令の形態をとる。主に一般的使用の理由のために、ビット、価値、要素、シンボル、文字、用語、数、命令等として上記の信号を参照することが、時には都合が良いということが証明されている。但し、上記の用語及び類似の用語は、適切な物理的数量と関連付けられることとなり、かつ単にこれらの数量に適用される都合の良いラベルにすぎないということを留意すべきである。特に別段の記載がない限り、以下の考察より明らかな通り、説明全体に亘って「処理」「演算」「計算」「判定」「表示」等の用語を用いた考察は、コンピュータシステムのレジスタ及びメモリ内の物理的(電子的)数量として表わされるデータを操作し、かつ当該データを、コンピュータシステムのメモリもしくはレジスタ又はその他の情報記憶、送信もしくは表示装置内の物理数量として同様に表わされるその他のデータに変換させる、コンピュータ装置又はその他の情報処理装置の動作及びプロセスを含み得るものと理解される。
0072 以下により詳細に説明する本発明の例示的な実施形態は、動的ページ再配置ストレージシステム管理のための装置、方法、及びコンピュータプログラムを提供する。
0073 第1の実施形態
0074 1.システム構成
0075 図1は、本発明の方法及び装置が適用され得るシステムのハードウェア構成を示す。データを格納するためのストレージサブシステム100は、ストレージネットワークを介してホストコンピュータ300に接続される。ストレージ管理端末400は、ストレージサブシステム100に接続される。
0076 ストレージサブシステム100は、CPU111と、メモリ112と、ストレージインタフェース113と、ローカルネットワークインタフェース114と、SAS/IF及びSATA/IFを含み得るディスクインタフェース115とを有するストレージコントローラ110を含む。CPU111は、ストレージサブシステム100を制御し、メモリ112に格納されたプログラム及びテーブルを読み取る。ストレージインタフェース113は、ストレージネットワーク200を介してホストコンピュータ300に接続する。ローカルネットワークインタフェース114は、ストレージ管理端末400に接続する。ディスクインタフェース115(115a、115b等)は、ディスク121に接続する。ディスクユニット120は、SAS SSD(フラッシュメモリ)と、SAS HDDと、SATA HDDとを含み得る、データを格納するための複数のディスク121(121a、121b等)を含む。
0077 ホストコンピュータ300は、ストレージネットワーク200を介してストレージサブシステム100にI/O要求を送信し、ストレージネットワーク200を介してストレージサブシステム100からデータを送受信する。
0078 ストレージ管理端末400は、ストレージサブシステム100の可用性/信頼性の情報を示す。端末400は、メモリ412に格納されたプログラム及びテーブルを読み取るCPU411を含む。ローカルネットワークインタフェース414は、ストレージサブシステム100に接続する。ディスプレイ419は、ストレージサブシステム100の可用性/信頼性の情報を示す。
0079 図2は、本発明の第1の実施形態に従った図1のストレージサブシステム100のメモリ112の一例を示す。ストレージ管理テーブル112―11は、ディスク121及びそのグループについての物理構造管理のためのRAIDグループ管理テーブル112−11−1(図5)と、ボリューム構成管理のための仮想ボリューム管理テーブル112−11−2(図6)と、ディスク121のディスク構成管理のためのディスク管理テーブル112−11−3(図3)と、ディスク情報データベースを提供するためのディスク情報テーブル112−11−4(図4)と、各容量プール階層が階層構成ルール(図7の構成ルール112−11−5−5を参照)に従って組織される容量プール階層管理のための階層管理テーブル112−11−5(図7)と、仮想ボリュームのパーティションから容量プールのパーティションへの参照管理のための仮想ボリュームページ管理テーブル112−11−6(図8)と、容量プールのリソース管理及び容量プールページから仮想ボリュームページへの参照管理のための容量プールチャンク管理テーブル112−11−7(図9)と、容量プールチャンクのリソース管理のための容量プールページ管理テーブル112−11−8(図10)とを含む。メモリ112はさらに、メモリ112に格納されたキャッシュデータ領域112−30の管理及びLRU/MRU管理のためのキャッシュ管理テーブル112−14(図11)を含む。
0080 ボリュームI/O制御112−21は、書込みI/O制御112−21−1(図17)と、読取I/O制御112−21−2(図18)とを含む。I/O制御112−21−1は、書込みI/O要求によって稼動し、書込みデータを受信し、かつチャネルインタフェース113を介してキャッシュデータ領域112−30に書込みデータを格納する。読取I/O制御112−21−2は、読取I/O要求によって稼動し、チャネルインタフェース113を介してキャッシュデータ領域112−30から読取データを送信する。物理ディスク制御112−22は、ディスク121からキャッシュデータ領域112−30にデータを転送するためのステージング制御112−22−1(図19)と、キャッシュデータ領域112−30からディスク121にデータを転送するためのデステージング制御112−22−2(図20)とを含む。フラッシュ制御112−23(図21)は、キャッシュデータ領域112−30のダーティーデータをディスク121に周期的にフラッシュする。
0081 ボリューム構成制御112−25は、新しい仮想ボリュームを提供するためのボリューム・プロビジョニング制御112−25−1(図23)と、ボリュームの構成を変更するためのボリューム階層制御112−25−2(図24)と、仮想ボリューム負荷ステータスを出力するためのボリューム負荷モニタ制御112−25−3(図25)とを含む。プール構成制御112−26は、新しいディスク121をインストールし、かつRAIDグループを構成するためのディスクインストール制御112−26−1(図26)と、階層ルールが変更された場合に階層構成を変更するための階層構成制御112−26−2(図27)と、階層構成(図7の構成ルール112−11−5−5を参照)に従って階層に容量プールチャンクを登録するための階層登録制御112−26−3(図28)と、階層負荷ステータスを出力するための階層負荷モニタ制御112−26−4(図29)とを含む。当技術分野で周知のように、階層負荷は、(i)階層の各RAIDグループ(又はディスク)に対する負荷の総和及び/又は(ii)階層の各RAIDグループ(又はディスク)に対する最大負荷に基づいて測定及び計算することができる。階層負荷は、平均待ち時間については「ms」又は「msec」、処理可能なトランザクションについては「IOPS」と表現されることが多い。ページ制御112−27は、新しい容量プールページを仮想ボリュームページに割り当てるか、又は仮想ページがリンクする容量プールページを検索するためのページマッピング制御112−27−1(図30)と、容量プールページを別の容量プールページにコピーし、かつ仮想ボリュームページと容量プールページとの間のリンクを変更するためのページマイグレーション制御112−27−2(図31)とを含む。キャッシュ制御112−28(図22)は、キャッシュデータ領域112−30にキャッシュされたデータを見つけ、キャッシュデータ領域112−30に新しいキャッシュ領域を割り当てる。カーネル112−40は、プログラムを実行するスケジュールを制御する。キャッシュデータ領域112−30は、読取及び書込みキャッシュデータを格納し、複数のキャッシュスロットに分けられる。
0082 2.テーブル構造
0083 図3は、図2のメモリ112のディスク管理テーブル112−11−3の一例を示す。ディスク管理テーブル112−11−3は、ディスク121のIDを含むディスク番号112−11−3−1の欄と、ディスク121が属するRAIDグループのIDを含むRAIDグループ番号112−11−3−2の欄と、ディスク121のモデル番号を含むモデル情報112−11−3−3の欄とを含む。
0084 図4は、図2のメモリ112のディスク情報テーブル112−11−4の一例を示す。ディスク情報テーブル112−11−4は、ディスクモデルのモデル番号を含むモデル情報112−11−4−1の欄と、ディスクモデルのデータ格納タイプ(例えばHDD又はSDD)を含むディスクタイプ情報112−11−4−2の欄と、HDDの1分間当たりの回転数の情報を含むRPM情報112−11−4−3の欄(モデルがHDDでない場合は、この構成要素は「−」を格納する)と、SDDのセルタイプの情報を含むセル情報112−11−4−4の欄(モデルがSDDでない場合は、この構成要素は「−」を格納する)と、ディスクモデルのインタフェースタイプを含むインタフェース情報112−11−4−5の欄と、ディスクモデルのプラッタの容量を含むプラッタ容量情報112−11−4−6の欄(モデルがHDDでない場合は、この構成要素は「−」を格納する)と、ディスクデモルの容量を含む物理容量情報112−11−4−7の欄とを含む。
0085 図5は、図2のメモリ112のRAIDグループ管理テーブル112−11−1の一例を示す。RAIDグループ管理テーブル112−11−1は、RAIDグループのIDを含むRAIDグループ番号112−11−1−1の欄と、RAIDグループの構造を含むRAIDレベル112−11−1−2の欄とを含む。「N(=10、5、6等)」は、「RAIDレベルがNである」ことを意味する。「N/A」は、RAIDグループが存在しないことを意味する。テーブル112−11−1はさらに、RAIDグループに属するディスク121のIDリストを含むディスク番号112−11−1−3の欄と、冗長領域を除くRAIDグループの総容量を含むRAIDグループ容量112−11−1−4の欄と、RAIDグループが属する階層番号を含む階層番号112−11−1−5の欄と、RAIDグループへのアクセスカウンタを含むアクセスカウンタ112−11−1−6の欄と、未使用のシン・プロビジョニング・チャンクを管理するための変数を含むフリーチャンクキューインデックス112−11−1−7の欄と、使用シン・プロビジョニング・チャンクを管理するための変数を含む使用チャンクキューインデックス112−11−1−8の欄とを含む。
0086 図6は、図2のメモリ112の仮想ボリューム管理テーブル112−11−2の一例を示す。仮想ボリューム管理テーブル112−11−2は、ボリュームのIDを含むボリューム番号112−11−2−1の欄と、ボリュームの容量を含むボリューム容量112−11−2−2(「N/A」はボリュームが存在しないことを意味する)の欄と、ボリュームが現在使用しているRAIDグループIDを含む使用RAIDグループ番号112−11−2−3の欄と、仮想ボリュームが現在使用しているチャンクIDを含む使用チャンク番号112−11−2−5の欄と、仮想ボリュームがそこから容量プールページを割り当てるところの階層IDを含む階層番号112−11−2−6の欄とを含む。
0087 図7は、図2のメモリ112の階層管理テーブル112−11−5の一例を示す。階層管理テーブル112−11−5は、ボリュームのIDを含む階層番号112−11−5−1の欄と、層のRAIDグループの総容量を含む総容量112−11−5−2の欄と、層の総使用容量プールページを含む使用容量112−11−5−3の欄と、層のRAIDグループIDリストを含むRAIDグループリスト112−11−5−4の欄と、層をグループ化するための構成ルールを含む構成ルール112−11−5−5の欄とを含む。階層のRAIDグループは、構成ルールに一致する。構成ルールは、ディスクタイプ、ディスクインタフェース、性能、RAIDレベル、ディスクの数等の要因に基づく。
0088 図8は、図2のメモリ112の仮想ボリュームページ管理テーブル112−11−6の一例を示す。仮想ボリュームページ管理テーブル112−11−6は、仮想ボリュームページのトップアドレスを含む仮想ボリュームページインデックス112−11−6−1の欄と、仮想ボリュームページが属するRAIDグループIDを含むRAIDグループ番号112−11−6−2(「N/A」は容量プールページが仮想ボリュームページに割り当てられないことを意味する)の欄と、仮想ボリュームページが参照する容量プールページのトップアドレスを含む容量プールページインデックス112−11−6−3の欄と、仮想ボリュームページのディスクへのアクセスカウンタを含むI/Oカウンタ112−11−6−4の欄と、アクセスカウントの開始時間を含むカウンタクリア時間の欄とを含む。
0089 図9は、図2のメモリ112の容量プールチャンク管理テーブル112−11−7の一例を示す。容量プールチャンク管理テーブル112−11−7は、容量プールチャンクのIDを含む容量プールチャンク番号112−11−7−1の欄と、それによって容量プールチャンクが参照されるところの仮想ボリュームのIDを含む仮想ボリューム番号112−11−7−2の欄と、容量プールチャンクの使用容量を含む使用容量112−11−7−3の欄と、領域が使用された時に、容量プールチャンクの取り除かれた容量を含む削除済み容量112−11−7−4の欄と、キュー管理のための前チャンクポインタを含む前チャンク番号112−11−7−5(「NULL」はキューの先頭であることを意味する)の欄と、キュー管理のための次チャンクポインタを含む次チャンク番号112−11−7−6(「NULL」はキューの末尾であることを意味する)の欄とを含む。
0090 図10は、図2のメモリ112の容量プールページ管理テーブル112−11−8の一例を示す。容量プールページ管理テーブル112−11−8は、容量プールページのIDを含む容量プールページインデックス112−11−8−1(「N/A」は容量プールページが未使用であることを意味する)の欄と、それによって容量プールページが参照されるところの仮想ボリュームページのIDを含む仮想ボリュームページ番号112−11−8−2の欄とを含む。「NULL」は、容量プールページが未使用であることを意味する。
0091 図11は、図2のメモリ112のキャッシュ管理テーブル112−14の一例を示す。キャッシュ管理テーブル112−14は、キャッシュデータ領域112−30のキャッシュスロットのIDを含むキャッシュスロット番号112−14−1の欄と、キャッシュスロットがデータを格納するボリューム(ディスク又は仮想ボリューム)のIDを含むボリューム番号112−14−2の欄と、キャッシュスロットがデータを格納するディスクアドレス(例えばLBA)を含むディスクアドレス112−14−3の欄と、キュー管理のために次キャッシュスロット番号を含む次スロットポインタ112−14−4(「NULL」はキューの末尾であることを意味する)の欄と、キャッシュスロットのためのI/Oカウンタを含むI/Oカウンタ112−14−7の欄とを含む。キューの種類の情報112−14−5の欄は、キャッシュスロットキューの種類を含む。「フリー」は、未使用のキャッシュスロットを有するキューを意味する。「クリーン」は、ディスクスロットと同じデータを格納するキャッシュスロットを有するキューを意味する。「ダーティー」は、ディスクスロットのデータとは異なるデータを格納するキャッシュスロットを有するキューを意味し、ストレージコントローラ110が将来キャッシュスロットデータをディスクスロットにフラッシュする必要があることを示す。キューインデックスポインタ112−14−6の欄は、キャッシュスロットキューインデックスを含む。
0092 3.論理構造
0093 図12は、第1の実施形態に従ったストレージサブシステム100の論理ストレージ構成の概要を示す。ストレージサブシステム100は、ホストコンピュータ300によってアクセスできる仮想ボリューム141を含む。各仮想ボリューム141は、複数の仮想ボリュームページ141−2を有する。各仮想ボリュームページ141−2は、容量プールの容量プールページ121−2を参照する。容量プールは、複数のRAIDグループ121−4を有する。各RAIDグループ121−4は、ディスク121のグループを含む。ストレージサブシステム100は、RAIDグループのタイプに基づいて複数の層(階層1、階層2、階層3)にグループ化又は分類されるいくつかのタイプのRAIDグループ121−4a、121−4b、121−4cを有する。これらの階層は、容量プールに属する。仮想ボリューム141は同様に、層によって識別される。
0094 図13は、図2のメモリ112のキャッシュ領域112−30の論理構造の一例を示す。矢印の線は、オブジェクトがポインタで参照することを意味する破線の矢印と、オブジェクトが計算で参照することを意味する実線の矢印とを含む。キャッシュデータ領域112−30は、複数のキャッシュスロット112−30−1に分割される。キャッシュスロット112−30−1のサイズは、容量プールストライプ121−3のサイズ及び仮想ボリュームロット141−3のサイズと等しい。キャッシュ管理テーブル112−18とキャッシュスロット112−30−1は、1対1対応の関係である。キャッシュ管理テーブル112−18は、仮想ボリュームロット141−3を参照し、RAIDグループ管理テーブル112−11−1を使用することによって、容量プールストライプ121−3を解決することができる。
0095 図14は、第1の実施形態に従った容量プールチャンク121−1の論理構造の一例を示す。矢印の線は、オブジェクトがポインタによって参照することを意味する実線の矢印と、オブジェクトが計算によって参照することを意味する破線の矢印とを含む。階層については、階層管理テーブル112−11−5は、RAIDグループ管理テーブル112−11−1を参照する。RAIDグループについては、RAIDグループ管理テーブル112−11−1は、階層管理テーブル112−11−5を参照し、それに属するディスクのディスク管理テーブル112−11−3を参照し、かつフリーチャンクキュー112−15−03及び使用チャンクキュー112−15−04によって容量プールチャンク管理テーブル112−11−7を参照する。容量プールチャンク121−1については、容量プールチャンク121−1と容量プールチャンク管理テーブル112−11−7の関係は固定されている。
0096 図15は、容量プールに向けてのテーブル参照構造の一例を示す。矢印の線は、オブジェクトがポインタによって参照することを意味する実線の矢印と、オブジェクトが計算によって参照することを意味する破線の矢印とを含む。仮想ボリューム141については、仮想ボリューム141と仮想ボリューム管理テーブル112−11−2は、1対1対応の関係である。仮想ボリューム管理テーブル112−11−2は、現在使用中の容量プールページ121−2を参照する。仮想ボリュームページ141−2については、仮想ボリュームページ141−2と仮想ボリュームページ管理テーブル112−11−6は、1対1対応の関係である。仮想ボリュームページ管理テーブル112−11−6は、ページが割り当てられる場合に、容量プールページ121−2のストライプを参照する。RAIDグループについては、RAIDグループとRAIDグループ管理テーブル112−11−1は、1対1対応の関係である。RAIDグループ管理テーブル112−11−1は、使用済み及び未使用の容量プールチャンク112−1を参照する。
0097 図16は、仮想ボリューム141に向けてのテーブル参照構造の一例を示す。矢印の線は、オブジェクトがポイントで参照することを意味する実線の矢印と、オブジェクトが計算によって参照することを意味する破線の矢印とを含む。容量プールチャンク121−1については、容量プールチャンク121−1と容量プールチャンク管理テーブル112−11−7は、1対1対応の関係である。容量プールチャンク管理テーブル112−11−7は、仮想ボリューム141を参照する。容量プールページ121−2については、容量プールページ管理テーブル112−11−8は、仮想ボリュームページ141−2を参照する。
0098 4.プロセスフロー図
0099 図17は、図2のメモリ112の書込みI/O制御112−21−1のプロセスフローの一例を示す。このプログラムは、ステップ112−21−1−1で開始する。ステップ112−21−1−2において、プログラムは、キャッシュ制御112−28を呼び出して、キャッシュスロット112−30−1を検索する。ステップ112−21−1−3において、プログラムは、ホストコンピュータ300から書込みI/Oデータを受信し、これを上述のキャッシュスロット112−30−1に格納する。プログラムは、ステップ112−21−1−5で終了する。
0100 図18は、図2のメモリ112の読取I/O制御112−21−2のプロセスフローの一例を示す。このプログラムは、ステップ112−21−2−1で開始する。ステップ112−21−2−2において、プログラムは、キャッシュ制御112−28を呼び出して、キャッシュスロット112−30−1を検索する。ステップ112−21−2−3において、プログラムは、上述のキャッシュスロット112−30−1のステータスをチェックして、データが既にそこに格納されたか否かを判断する。ステップ112−21−2−4において、プログラムは、ステージング制御112−22−1を呼び出す(図19参照)。ステップ112−21−2−5において、プログラムは、キャッシュスロット112−30−1のデータをホストコンピュータ300に転送する。プログラムは、ステップ112−21−2−6で終了する。
0101 図19は、図2のメモリ112のステージング制御のプロセスフローの一例を示す。このプログラムは、ステップ112−22−1−1で開始する。ステップ112−22−1−2において、プログラムは、ページマッピング制御112−27−1を呼び出して、仮想ボリュームページの容量プールページ121−2を検索する。ステップ112−22−1−3において、プログラムは、データをディスク121のスロットから読み取り、これをキャッシュデータ領域112−30に格納する。ステップ112−22−1−4において、プログラムは、データ転送が終了するのを待つ。プログラムは、ステップ112−22−1−5で終了する。
0102 図20は、図2のメモリ112のデステージング制御のプロセスフローの一例を示す。このプログラムは、ステップ112−22−2−1で開始する。ステップ112−22−2−2において、プログラムは、ページマッピング制御112−27−1を呼び出して、仮想ボリュームページのために容量プールページ121−2を検索又は割り当てる。ステップ112−22−2−3において、プログラムは、キャッシュデータ領域112−30のスロットからデータを読み取り、これをディスク121に格納する。ステップ112−22−2−4において、プログラムは、データ転送が終了するのを待つ。プログラムは、ステップ112−22−2−5で終了する。
0103 図21は、図2のメモリ112のフラッシュ制御112−23のプロセスフローの一例を示す。このプログラムは、ステップ112−23−1で開始する。ステップ112−23−2において、プログラムは、キャッシュ管理テーブル112−14の「ダーティーキュー」を読み出す。ステップ112−23−3において、プログラムは、デステージング制御112−22−2を呼び出して、見つかったダーティーキャッシュスロットをデステージする。プログラムは、ダーティーキャッシュスロットが見つからない場合は、ステップ112−23−3をスキップする。プログラムは、ステップ112−23−4で終了する。
0104 図22は、図2のメモリ112のキャッシュ制御112−28のプロセスフローの一例を示す。このプログラムは、ステップ112−28−1で開始する。ステップ112−28−2において、プログラムは、指定アドレスのキャッシュスロットを検索する。キャッシュスロットが見つかった場合、プログラムは、ステップ112−28−6に進む。キャッシュスロットが見つからなかった場合、プログラムは、ステップ112−28−3に進む。ステップ112−28−3において、プログラムは、フリーキャッシュスロットが残っているか否かを判断するためのチェックを行う。フリーキャッシュスロットがある場合は、プログラムは、ステップ112−28−4で指定アドレスに対してフリーキューから新しいキャッシュスロットを取得する。フリーキャッシュスロットがない場合、プログラムは、ステップ112−28−5において、クリーンキャッシュスロットを選択し、クリーンキャッシュスロットの仮想ボリュームページのI/Oカウンタを総計し、クリーンスロットをパージし、指定アドレスに対してキャッシュスロットを割り当てる。最後に、ステップ112−28−6において、プログラムは、アクセスカウンタ112−14−7のI/Oカウンタを総計する。プログラムは、ステップ112−28−7で終了する。
0105 図23は、図2のメモリ112のボリューム・プロビジョニング制御112−25−1のプロセスフローの一例を示す。このプログラムは、ステップ112−25−1−1で開始する。ステップ112−25−1−2において、プログラムは、仮想ボリューム情報を仮想ボリューム管理テーブル112−11−2に登録する。仮想ボリューム情報は、ボリューム番号と、ボリューム容量と、ボリューム階層番号とを含む。プログラムは、ステップ112−25−1−3で終了する。
0106 図24は、図2のメモリ112のボリューム階層制御112−25−2のプロセスフローの一例を示す。このプログラムは、ステップ112−25−2−1で開始する。ステップ112−25−2−2において、プログラムは、仮想ボリューム管理テーブル112−11−2の仮想ボリューム階層情報を変更する。プログラムは、ステップ112−25−2−3で終了する。
0107 図25は、図2のメモリ112の仮想ボリューム負荷モニタ制御112−25−3のプロセスフローの一例を示す。このプログラムは、ステップ112−25−3−1で開始する。ステップ112−25−3−2において、プログラムは、欄112−11−6−4のI/Oカウンタ及び仮想ボリュームページ管理テーブル112−11−6の欄112−11−6−5のクリア時間の情報(I/Oカウンタをクリアした後の現在時間)を、管理端末400に送信する。ステップ112−25−3−3において、プログラムは、I/Oカウンタをクリアし、現在時間をクリア時間として登録する。プログラムは、ステップ112−25−3−4で終了する。
0108 図26は、図2のメモリ112のディスクインストール制御112−26−1のプロセスフローの一例を示す。このプログラムは、ステップ112−26−1−1で開始する。ステップ112−26−1−2において、プログラムは、ディスクのためにRAIDグループを作り、インストールしたディスク情報をディスク管理テーブル112−11−3に登録する。ステップ112−26−1−3において、プログラムは、RAIDグループをフォーマットする。ステップ112−26−1−4において、プログラムは、階層登録制御112−26−3(図28参照)を呼び出して、RAIDグループの階層情報をRAIDグループ管理テーブル112−11−1に登録する。プログラムは、ステップ112−26−1−5で終了する。
0109 図27は、図2のメモリ112の階層構成制御112−26−2のプロセスフローの一例を示す。このプログラムは、ステップ112−26−2−1で開始する。ステップ112−26−2−2において、プログラムは、階層ルール構成を設定するために、階層ルールを階層管理テーブル112−11−5に登録する。ステップ112−26−2−3において、プログラムは、容量プールのRAIDグループを選択する。階層構成を登録するためのステップ112−26−2−4において、プログラムは、階層登録制御112−26−3(図28参照)を呼び出して、登録された階層ルールに従ってRAIDグループの階層を変更する。ステップ112−26−2−5において、プログラムは、すべてのRAIDグループが処理されるまで、ループバックしてステップ112−26−2−3〜112−26−2−5を繰り返す。プログラムは、ステップ112−26−2−6で終了する。
0110 図28は、図2のメモリ112の階層登録制御112−26−3のプロセスフローの一例を示す。このプログラムは、ステップ112−26−3−1で開始する。ステップ112−26−3−2では、プログラムは、ディスク管理テーブル112−11−3及びディスク情報テーブル112−11−4からRAIDグループのディスク情報を取得する。ステップ112−26−3−3では、プログラムは、階層管理テーブル112−11−5の階層ルールをチェックし、階層ルールに一致することによってRAIDグループのために一致した階層を選択する。容量プールチャンクを階層に登録するためのステップ112−26−3−4において、プログラムは、階層情報をRAIDグループ管理テーブル112−11−1に登録する。プログラムは、ステップ112−26−3−5で終了する。
0111 図29は、図2のメモリ112の仮想ボリューム負荷モニタ制御112−25−4のプロセスフローの一例を示す。このプログラムは、ステップ112−26−4−1で開始する。ステップ112−26−4−2において、プログラムは、RAIDグループ管理テーブル112−11−1の欄112−11−1−6のI/Oカウンタ又はアクセスカウンタを、管理端末400に送信する。ステップ112−26−4−3において、プログラムは、I/Oカウンタをクリアする。プログラムは、ステップ112−26−4−4で終了する。
0112 図30は、図2のメモリ112のページマッピング制御112−27−1のプロセスフローの一例を示す。このプログラムは、ステップ112−27−1−1で開始する。ステップ112−27−1−2において、プログラムは、指定された仮想ページが既に容量プールページ121−2を割り当てられたか否かをチェックする。階層構成を満たす階層を選択するためのステップ112−27−1−3において、プログラムは、仮想ボリュームページのために必要な階層を選択する。ステップ112−27−1−4において、プログラムは、選択した階層がフリー又は未使用の容量プールページを有するか否かを判断するためのチェックを行う。フリーページがある場合は、プログラムは、ステップ112−27−1−6において、選択された階層のRAIDグループからの仮想ボリュームページに新しい容量プールページを割り当てる。フリーページがない場合は、プログラムは、ステップ112−27−1−6に進む前に、まずステップ112−27−1−5において別の(容量が残っている)階層を選択する。ステップ112−27−1−7において、プログラムは、割り当てられたか又は見つけられた容量プールページ情報を返送する。プログラムは、ステップ112−27−1−8で終了する。
0113 図31は、図2のメモリ112のページマイグレーション制御のプロセスフローの一例を示す。このプログラムは、ステップ112−27−2−1で開始する。ステップ112−27−2−2において、プログラムは、容量プールページ121−2を選択し、階層番号を含む情報を取得する。ステップ112−27−2−3において、プログラムは、容量プールページが既に使用されているか否かを判断するためにチェックする。未使用の場合は、プログラムは、ステップ112−27−2−2に戻る。容量プールページ121−2が未使用の場合は、プログラムは、仮想ボリュームページの階層構成を参照することによって、ステップ112−27−2−4で容量プールページの仮想ボリュームページ情報を取得する。ステップ112−27−2−5において、プログラムは、容量プールページ121−2が、一致した階層構成を有する正しい(構成された)階層に属するか否かを判断するためにチェックする。上記のとおり属する場合は、プログラムは、ステップ112−27−2−2に戻る。上記のとおり属さない場合は、プログラムは、ステップ112−27−2−6において、一致した階層構成を有する正しい階層に属するRAIDグループから新しい容量プールページを割り当てる。ステップ112−27−2−7において、プログラムは、データを、現在の容量プールページから新たに割り当てられた容量プールページにコピーする。ステップ112−27−2−8において、プログラムは、コピー操作の間に仮想ボリュームページに書込みI/Oが生じたか否かをチェックする。生じた場合は、プログラムは、ステップ112−27−2−2に戻る。生じなかった場合は、プログラムは、ステップ112−27−2−9において、新たに割り当てられたプールページのために、仮想ボリュームページと容量プールページとの間のリンク又はマッピングを変更する。
0114 5.ヒューマンインタフェース
0115 図32は、RAIDグループインストールの表示及び操作イメージを示すプールマネージャウィンドウ419−2の一例を示す。プールマネージャウィンドウ419−2は、プール管理及びRAIDグループインストールのインタフェースを提供する。カーソル419−1−1は、ユーザが構成要素を選択及びクリックするために使用できるヒューマン入力デバイスポインタである。適用ボタン419−2−4をクリックすると、構成はストレージサブシステム100にフラッシュされる。キャンセルボタン419−2−5をクリックすると、表示は現在の構成に復元される。プール管理ツリー419−1−4は、プールの構造を示す。「シン・プロビジョニング・プール」は、階層構成不可プールである。「動的ページ再配置プール」は、階層構成可能プールである。プール管理ツリー419−1−4は、プールと階層との関係、並びに階層とルールとの関係を示す。ユーザは、このツリーに新しいプールを作成することができる。ユーザは、このツリーから階層ルールを変更することもできる。プール情報419−1−5は、例えば、プールID、状態、総容量、使用容量、使用率、警告閾値、階層の数等を含む、選択されたプール情報を示す。RAIDグループリスト419−2−1は、RAIDグループ及び選択されたプールの構造のリストを示す。利用可能なRAIDグループリスト419−2−2は、未使用のRAIDグループのリストを示し、そこから、ユーザは、追加ボタン419−2−3及び適用ボタン419−2−4をクリックすることによって、RAIDグループを指定されたプールに選択及び追加することができる。追加ボタン419−2−3をクリックすることによって、ユーザは、選択したRAIDグループを、選択したプールに追加することができる。キャンセルボタン419−2−5は、選択をキャンセルするために利用できる。
0116 図33は、プール変更の表示及び操作イメージを示すプールマネージャウィンドウの一例を示す。ユーザがシン・プロビジョニング・プールをプール管理ツリー419−1−4内の動的ページ再配置ツリーにドラッグアンドドロップすると、操作されたプールは、階層構成可能プール(ツリー下のプール3)に変わる。
0117 図34は、プール集約の表示及び操作イメージを示すプールマネージャウィンドウの一例を示す。ユーザがシン・プロビジョニング・プールをプール管理ツリー419−1−4内の動的ページ再配置プールにドラッグアンドドロップすると、操作されたプールが集約され(プール4とプール10)、階層構成ルールが適用される。
0118 図35は、仮想ボリューム・プロビジョニング及び階層再構成の表示及び操作イメージを示す仮想ボリュームウィンドウの一例を示す。仮想ボリュームマネージャウィンドウ419−3は、プール管理及び仮想ボリューム管理のインタフェースを提供する。仮想ボリュームリスト419−3−1は、選択されたプールの仮想ボリュームリストを表示する。ユーザが新しい仮想ボリューム情報を記述すると、新しい仮想ボリュームが用意される。ユーザが既存の仮想ボリュームの階層構成を変更すると、仮想ボリューム階層が変化する。
0119 図36は、仮想ボリューム負荷モニタの表示イメージの一例を示す。仮想ボリューム負荷モニタウィンドウ419−4は、仮想ボリュームのI/Oトランザクション負荷、及び指定された仮想ボリュームの領域を示す。横軸419−4−1は時間を示し、縦軸419−4−2はトランザクション回数を示す。トランザクション履歴419−4−3及びトランザクション履歴419−4−4は、それぞれトランザクションの履歴を示す。
0120 図37は、階層負荷モニタの表示イメージの一例を示す。階層負荷モニタウィンドウ419−5は、指定された階層のRAIDグループのI/Oトランザクション負荷を示す。横軸419−5−1は時間を示し、縦軸419−5−2はトランザクション回数を示す。トランザクション履歴419−5−3は、トランザクションの履歴を示す。最大論理負荷419−5−4は、現在の階層構成の最大論理負荷を示す。イベント419−5−5は、イベントが階層に生じる時間を示す(例えば、RAIDグループインストール)。
0121 6.シーケンス
0122 図38は、第1の実施形態に従ったプール作成及びディスクインストールの一連のステップの一例を示す。ステップI1000において、管理者は、新しいプールを作成し、かつストレージ管理端末400上のプールマネージャウィンドウ419−2で階層ルールを設定する。ステップI1001において、ストレージ管理端末400は、新しいプール及び階層の情報をストレージサブシステム100に送信する。ステップI1002において、ストレージサブシステム100のCPU111は、受信したプール及び階層の情報を登録する。ステップI1010において、管理者は、ストレージサブシステム100にディスクをインストールする。管理者は、ストレージ管理端末400でインストールされたディスクのRAIDグループ情報を設定する。ステップI1011において、ストレージサブシステム100は、管理者に対して、ディスクインストールが終了したことを報告する。ステップI1012において、ストレージ管理端末400は、RAIDグループ情報をストレージサブシステム100に送信する。ステップI1013において、ストレージサブシステム100のCPU111は、RAIDグループ情報を登録し、ディスクをフォーマットする。ステップI1014において、ストレージサブシステム100のキャッシュ領域112−30は、フォーマットされたデータを生成し、ディスクに転送する。ステップI1015において、ディスク121は、データを受信し、かつ格納する。ステップI1020において、管理者は、ストレージ管理端末400上のプールマネージャウィンドウ419−2で、フォーマットされたRAIDグループをプールにインストールする(図32を参照)。ステップI1021において、ストレージ管理端末400は、インストール情報をストレージサブシステム100に送信する。ステップI1022において、CPU111は、現在の階層構成ルールに従ってRAIDグループを登録する。
0123 図39は、階層構成不可プール(すなわち従来のシン・プロビジョニング・プール)を階層構成可能プールに変更する一連のステップの一例を示す。ステップI2000において、管理者は、プールタイプを変更するように命令し、かつストレージ管理端末400上のプールマネージャウィンドウ419−2で階層構成ルールを設定する(図33を参照)。ステップI2001において、ストレージ管理端末400は、情報をストレージサブシステム100に送信する。ステップI2002において、CPU111は、現在の階層構成ルールに従って、RAIDグループの階層構成を変更する。
0124 図40は、2つのストレージプールを集約する一連のステップの一例を示す。ステップI3000において、管理者は、ストレージ管理端末400上のプールマネージャウィンドウ419−2でプールを集約するように命令する(図34を参照)。ステップI3001において、ストレージ管理端末400は、情報をストレージサブシステム100に送信する。ステップI3002において、ストレージサブシステム100のCPU111は、現在の階層構成ルールに従ってRAIDグループの階層構成を変更する。
0125 図41は、仮想ボリュームのプロビジョニング及びトランザクションの一連のステップの一例を示す。ステップP1000において、管理者は、ストレージ管理端末400上の仮想ボリュームマネージャウィンドウ419−3でプールを集約するように命令する。ステップP1001において、ストレージ管理端末400は、ストレージサブシステム100に情報を送信する。ステップP1002において、ストレージサブシステム100のCPU111は、仮想ボリューム情報を登録する。ステップT1000において、ホストコンピュータ300は、書込みI/Oを仮想ボリュームに送信する。ステップT1001において、CPU111は、書込みI/Oデータをキャッシュ領域112−30に格納する。ステップT1002において、キャッシュ領域112−30は、データをダーティーキャッシュスロットとして格納する。ステップT1010において、CPU111は、ダーティーキャッシュスロットを見つけ、デステージするように命令する。ステップT1011において、キャッシュ領域112−30は、ダーティーキャッシュデータをディスクに転送し、キャッシュスロットのステータスを「クリーン」に変更する。ステップT1012において、ディスク121は、受信したデータを格納する。ステップT1020において、ホストコンピュータ300は、読取I/Oを仮想ボリュームに送信し、データを受信する。ステップT1021において、CPU111は、キャッシュデータを検索し、データをディスクからキャッシュに転送し、データをキャッシュからホストコンピュータ300に転送する。ステップT1022において、キャッシュ領域112−30は、データをディスク121から受信する。ステップT1023において、ディスク121は、データをキャッシュ領域112−30に送信する。
0126 図42は、仮想ボリュームの階層再構成の一連のステップの一例を示す。ステップR1000において、ストレージ管理端末400は、仮想ボリュームの負荷情報がストレージサブシステム100に提供されることを要求する。ステップR1001において、ストレージサブシステム100のCPU111は、仮想ボリュームの負荷情報をストレージ管理端末400に送信する。ステップR1010において、管理者は、ストレージ管理端末400上の仮想ボリューム負荷モニタウィンドウ419−4をチェックする。ステップR1011において、ストレージ管理端末400は、仮想ボリューム負荷情報を仮想ボリューム負荷モニタウィンドウ419−4に示す。ステップR1020において、管理者は、仮想ボリュームマネージャウィンドウ419−3で仮想ボリュームの階層を変更する。ステップR1021において、ストレージ管理端末400は、構成をストレージサブシステム100に送信する。ステップR1022において、CPU111は、仮想ボリューム階層構成を変更する。ステップM1000において、CPU111は、一致しない階層の容量プールページを使用して、仮想ボリュームを見つける。CPU111は、キャッシュ領域112−30を使用して、容量プールページを、新しく割り当てられた容量プールページにコピーする。ステップM1001において、キャッシュ領域112−30は、データを1つのディスク121cから受信し、これを別のディスク121bに転送する。ステップM1002において、ディスク121は、データをキャッシュ領域112−30に送信する。ステップM1003において、ディスク121は、キャッシュ領域112−30からの受信データを格納する。
0127 図43は、プール階層再構成の一連のステップの一例を示す。ステップS1000において、ストレージ管理端末400は、階層負荷情報がストレージサブシステム100によって提供されることを要求する。ステップS1001において、ストレージサブシステム100のCPU111は、階層負荷情報をストレージ管理端末400に送信する。ステップS1010において、管理者は、ストレージ管理端末400上の階層負荷モニタウィンドウ419−5をチェックする。ステップS1011において、ストレージ管理端末400は、階層負荷情報を階層負荷モニタウィンドウ419−4に示す。ステップS1020において、管理者は、プールマネージャウィンドウ419−2で階層構成ルールを変更する。ステップS1021において、ストレージ管理端末400は、構成をストレージサブシステム100に送信する。ステップS1022において、CPU111は、階層構成を変更する。
0128 第2の実施形態
0129 図44〜図48は、本発明の第2の実施形態を示す。第1の実施形態との差異のみについて説明する。
0130 システム構成に関して、図44は、本発明の第2の実施形態に従った図1のストレージサブシステム100のメモリ112の一例を示す。第1の実施形態の図2と比較すると、図44のストレージ管理テーブル112−11は、RAIDグループ管理テーブル112−11−1’と階層管理テーブル112−11−5’について異なるテーブル構造を有する。
0131 図45は、第2の実施形態に従った図44のメモリのRAIDグループ管理テーブル112−11−1’の一例を示す。第1の実施形態の図5と比較すると、第2の実施形態のRAIDグループは、複数の階層を有することができる。RAIDグループについて、RAIDグループ管理テーブル112−11−1’は、冗長領域を除くRAIDグループの総容量を含むRAIDグループ容量112−11−1−4’と、RAIDグループが属する階層番号を含む階層番号112−11−1−5’と、RAIDグループへのアクセスカウンタを含むアクセスカウンタ112−11−1−6’と、未使用のシン・プロビジョニング・チャンクを管理するためのフリーチャンクキューインデックス112−11−1−7’と、使用済みシン・プロビジョニング・チャンクを管理するための使用チャンクキューインデックス112−11−1−8’との複数の列を有する。
0132 図46は、第2の実施形態に従った図44のメモリの階層管理テーブル112−11−5’の一例を示す。第1の実施形態の図7と比較すると、図44の階層管理テーブル112−11−5’は、RAIDグループが複数の階層を有するので、階層をグループ化するための構成ルールを含む構成ルール112−11−5−5’の別の欄を有する。階層のRAIDグループは、構成ルールと一致する。構成ルールは、ディスクタイプ、ディスクインタフェースタイプ、性能、RAIDレベル、ディスクの数等に加えて、ディスクの領域及び確保容量等の要因に基づく。
0133 論理構造に関して、図47は、第2の実施形態に従ったストレージサブシステム100の論理ストレージ構成の概要を示す。第1の実施形態の図12と比較して、第2の実施形態のRAIDグループ121−4は、複数の階層に分割することができる。図47において、1つのRAIDグループは、階層2と階層3に分割されている。
0134 図48は、第2の実施形態に従った容量プールチャンクの論理構造の一例を示す。第1の実施形態の図14と比較して、第2の実施形態のRAIDグループは、複数の階層を有することができる。図48でわかるように、RAIDグループ管理テーブル112−11−1は、1つ以上の階層管理テーブル112−11−5’を参照し、並びにグループに属するディスクのディスク管理テーブル112−11−3を、そしてフリーチャンクキュー112−11−1−7及び使用チャンクキュー112−11−1−8によって容量プールチャンク管理テーブル112−11−7を参照する。
0135 第3の実施形態
0136 図49は、本発明の方法及び装置が適用され得る第3の実施形態に従ったシステムのハードウェア構成を示す。第3の実施形態と第1の実施形態の差異のみを説明する。図49において、追加のローカルネットワークは、システム管理端末500をストレージサブシステム100及びホスト300に接続する。システム管理端末500は、ストレージサブシステム100及びホストコンピュータ300の可用性/信頼性の情報を示す。システム管理端末500は、メモリ512に格納されたプログラム及びテーブルを読み取るCPU511と、ローカルエリアネットワークに接続するローカルネットワークインタフェース514と、ストレージサブシステム100の可用性/信頼性の情報を示すディスプレイ519とを含む。
0137 図50は、第3の実施形態に従った図49のストレージサブシステム100におけるメモリ112の一例を示す。第1の実施形態の図2と比較して、図50のストレージ管理テーブル112−11は、異なる仮想ボリューム管理テーブル112−11−2”を有する。
0138 図51は、第3の実施形態に従った図50のメモリにおける仮想ボリューム管理テーブル112−11−2”の一例を示す。第3の実施形態において、仮想ボリュームの指定領域は、階層情報を設定することができる。第1の実施形態の図6と比較して、仮想ボリューム管理テーブル112−11−2”は、仮想ボリュームの範囲を含むアドレス範囲112−11−2−7”の追加欄を含む。各範囲について、仮想ボリューム管理テーブル112−11−2”は、ボリュームが現在使用しているRAIDグループIDを含む使用RAIDグループ番号112−11−2−3”の欄と、仮想ボリュームが現在使用しているチャンクIDを含む使用チャンク番号112−11−2−5”の欄と、仮想ボリュームが容量プールページを割り当てる階層IDを含む階層番号112−11−2−6”の欄とを含む。
0139 論理構造に関して、図52は、第3の実施形態に従ったストレージサブシステム100の論理ストレージ構成の概要を示す。仮想ボリューム141の各指定領域は、階層を設定することができる。第1の実施形態の図12と比較して、図52は、階層1及び階層2の領域を備えた1つの仮想ボリューム141と、階層1及び階層3の領域を備えた別の仮想ボリュームとを示す。
0140 図53は、第3の実施形態に従った図49の管理端末500のメモリ512の中のアプリケーション管理テーブル512−1の一例を示す。これは、アプリケーションと、ホストと、仮想ボリューム領域との関係のテーブル構造である。アプリケーション管理テーブル512−1は、アプリケーションのIDを含むアプリケーション番号の欄と、アプリケーションが稼動しているホストのIDを含むホスト番号の欄と、アプリケーションデータが格納されている仮想ボリュームのIDを含むボリューム番号の欄と、アプリケーションデータが仮想ボリュームに格納されている範囲を含む領域(例えばデータのLBA範囲))の欄とを含む。
0141 シーケンスに関して、図54は、第3の実施形態に従ったアプリケーション操作の一連のステップの一例を示す。ステップR2000において、ホストコンピュータ300は、アプリケーションを使用しており、システム管理端末500を介して管理者から端末の要求を受信する。ステップR2001において、管理者は、システム管理端末500でアプリケーションを終了する必要がある。ステップR2002において、システム管理端末500は、終了要求をホストコンピュータ300に送信し、かつアプリケーションデータが格納されている領域について、階層変更の要求をストレージサブシステム100に送信する。ステップR2003において、ストレージサブシステム100のCPU111は、指定された仮想ボリュームの指定領域の階層を変更する。
0142 第4の実施形態
0143 1.ハードウェア
0144 図55は、本発明の第4の実施形態に従った図1のストレージサブシステムにおけるメモリの一例を示す。第4の実施形態と第1の実施形態の差異のみを説明する。図55において、ストレージ管理テーブル112−11は、仮想ボリューム管理テーブル112−11−2’’’を有する。
0145 2.テーブル構造
0146 図56は、図55のメモリにおける仮想ボリューム管理テーブル112−11−2’’’の一例を示す。図51の仮想ボリューム管理テーブルと比較すると、アドレス範囲112−11−2−7”の欄が除去され、トランザクション条件112−11−2−8’’’の欄が追加されている。トランザクション条件112−11−2−8’’’の欄は、仮想ボリューム(指定領域)に属するページの階層条件を提供する。この欄のエントリに「N/A」が格納されている場合は、階層が仮想ボリュームに使用されていないことを意味する。仮想ボリュームの指定領域は、階層情報を設定することができる。
0147 3.ヒューマンインタフェース
0148 図57は、RAIDグループインストールの表示及び操作イメージの一例を示す。仮想ボリュームI/O分布モニタ419−5’’’は、「ローレンツ曲線」グラフを使用してI/O局所性情報を示す。グラフのX軸419−5’’’−1は、仮想ボリュームの「トランザクションの%」を示す。グラフのY軸419−5’’’−2は、容量を割り当てられた仮想ボリューム領域の「容量の%」を示す。累積分布曲線419−5’’’−3は、I/O局所性を示す「ローレンツ曲線」である。点419−5’’’−4は、ローレンツ曲線上の指定された点のI/O量を示す。関与トランザクション率情報419−5’’’−5は、2つの点419−5’’’−4のトランザクション率の差異であり、これは階層による可能トランザクション量を意味する。関与容量率情報419−5’’’−6は、2つの点419−5’’’−4の容量率の差異であり、これは関与トランザクション率情報419−5’’’−5のトランザクション量をカバーするために階層に必要な容量を意味する。
0149 図58は、仮想ボリュームI/O分布モニタ419−5’’’を示すフロー図の一例を示す。このプログラムは、ステップ419−5’’’−S−1で開始する。ステップ419−5’’’−S−2において、プログラムは、ストレージサブシステム100の仮想ボリュームページ管理テーブル112−11−6から、トランザクションカウンタデータを受信する。ステップ419−5’’’−S−3において、プログラムは、受信したトランザクションデータを降順でソートする。ステップ419−5’’’−S−4において、プログラムは、図59の式419−5’’’−F−2及び419−5’’’−F−3を使用して累積分布を計算し、その結果をモニタ419に示す。プログラムは、ステップ419−5’’’−S−5で終了する。
0150 図59は、ローレンツ曲線を計算するための式を示す。式419−5’’’−F−1は、ローレンツ曲線の基本的な式である。式419−5’’’−F−2は、中間媒介変数としてjを使用してxデータを定める。この値は、TからTjの合計のトランザクション量率を意味する。式419−5’’’−F−3は、中間媒介変数としてjを使用してyデータを定める。この値は、TからTjへの合計の容量率を意味する。関数419−5’’’−V−1は、ローレンツ曲線の関数である。変数419−5’’’−V−2は、xjに対するyの値である。変数419−5’’’−V−3は、xjの値である。変数419−5’’’−V−4は、仮想ボリュームで割り当てられたページの合計数である。変数419−5’’’−V−5は、ページのIDを意味する中間媒介変数である。変数419−5’’’−V−6は、ページjのトランザクション量である。
0151 4.シーケンス
0152 図60は、アプリケーション操作の一連のステップの一例を示す。階層の変更は、ユーザとホストコンピュータ300の介入なしで、ストレージサブシステム100によって自動的に操作される。ステップT1001〜T1023は、図41のステップと同じである。ステップM1000〜M1003は、チャンクマイグレーションに関与し、ページマイグレーションに関わる図43のステップに類似している。
0153 上記より、本発明が動的ページ再配置ストレージシステム管理のための方法、装置、及びそのためのコンピュータ読取可能媒体に記憶されたプログラムを提供することが明らかであろう。さらには、本明細書では特定の実施形態が例示されかつ説明されているが、同じ目的を達成するために計算されたアレンジメントが、開示された特定の実施形態に取って代わり得るということを、当業者は理解する。本開示は、本発明のあらゆる適合又はバリエーションをカバーすることを意図したものであり、以下の請求項で使用される用語が、本発明を本明細書で開示されている特定の実施形態に限定するものと解釈されるべきではないことが理解されるべきである。むしろ、本発明の範囲は、以下の請求項によって全て決定されるべきものであり、以下の請求の範囲は、当該請求項が権利を有する均等物の全範囲に従って、確立されている請求項解釈の原則に従って解釈されるべきものである。

Claims (20)

  1. 階層化ストレージ環境におけるストレージ管理のためのストレージシステムであって、
    異なる階層レベルを有する複数の階層に分けられたプールの中の複数のストレージボリュームであって、前記階層は階層構成ルールに従って組織されており、前記ストレージシステムの複数の物理ストレージデバイスによって提供される、複数のストレージボリュームと、
    前記複数の物理ストレージデバイスを制御するコントローラであって、プロセッサ及びメモリを含み、前記階層構成ルールが変更された場合、ストレージボリュームの前記階層の階層構成を変更するコントローラであり、当該階層構成は前記階層レベルを含む、コントローラと
    を備えるストレージシステムであって、
    前記プールが、有効であった前記階層構成ルールを満たさない場合に生じる、前記物理ストレージデバイスに対する階層レベルの変化に基づいて、前記コントローラが、前記プールを複数の仮想ボリュームに割り当てる
    ことを特徴とするストレージシステム。
  2. 前記プールの各階層が、前記物理ストレージデバイスの1つ以上のRAIDグループを含む、請求項1に記載のストレージシステム。
  3. 前記複数の物理ストレージデバイスが、前記複数の階層に分けられた前記プールにおける複数のRAIDグループに配置され、
    前記プールの少なくとも1つのRAIDグループが、2つ以上の前記複数の階層に分割された物理ストレージデバイスを含む、請求項1に記載のストレージシステム。
  4. 前記プールが、有効であった前記階層構成ルールを満たさない場合、前記コントローラは、管理端末からの入力に応じた前記物理ストレージデバイスに対する階層レベルの変更に基づいて、前記プールを前記複数の仮想ボリュームに割り当てる、請求項1に記載のストレージシステム。
  5. 前記プールが、複数のシン・プロビジョニング・プールを含み、
    前記コントローラが、2つ以上の前記シン・プロビジョニング・プールを1つの仮想ボリュームに割り当てるための入力を受信し、前記2つ以上のシン・プロビジョニング・プールを、前記1つの仮想ボリュームに割り当てられる集約されたシン・プロビジョニング・プールにマージする、請求項1に記載のストレージシステム。
  6. 前記複数の仮想ボリュームの少なくとも1つの仮想ボリュームが、前記コントローラによる階層構成の変更に従って、その中の前記階層レベルを設定することができる1つ以上の指定領域を有する、請求項1に記載のストレージシステム。
  7. 前記プールが、有効であった前記階層構成ルールを満たさない場合、前記コントローラが、外部入力なしで自動的に生じる、前記物理ストレージデバイスに対する階層レベルの変化に基づいて、前記プールを前記複数の仮想ボリュームに割り当てる、請求項1に記載のストレージシステム。
  8. 前記コントローラが、前記ストレージシステムの階層負荷を監視し、前記ストレージシステムの前記階層負荷に基づいて決定されたように、前記物理ストレージデバイスに対する階層レベルの前記変化に基づいて、前記プールを前記複数の仮想ボリュームに割り当てる、請求項1に記載のストレージシステム。
  9. 階層化ストレージ環境におけるストレージ管理のためのストレージシステムであって、
    異なる階層レベルを有する複数の階層に分けられたプールの中の複数のストレージボリュームであって、各階層は階層構成ルールに従って組織されており、前記ストレージシステムの複数の物理ストレージデバイスによって提供される、複数のストレージボリュームと、
    前記複数の物理ストレージデバイスを制御するコントローラであって、プロセッサ及びメモリを含み、前記階層構成ルールが変更された場合、ストレージボリュームの前記階層の階層構成を変更するコントローラであり、当該階層構成は前記階層レベルを含む、コントローラと
    を備えるストレージシステムであって、
    前記コントローラが、前記物理ストレージデバイスに対する階層レベルの変化に基づいて前記プールを複数の仮想ボリュームに動的に割り当て、
    前記複数の物理ストレージデバイスが、前記複数の階層に分けられた前記プールにおける複数のRAIDグループに配置され、
    前記プールにおける少なくとも1つのRAIDグループが、2つ以上の前記複数の階層に分割された物理ストレージデバイスを含む
    ことを特徴とするストレージシステム。
  10. 前記プールが、有効であった前記階層構成ルールを満たさない場合、前記コントローラは、管理端末からの入力に応じた前記物理ストレージデバイスに対する階層レベルの変化に基づいて、前記プールを前記複数の仮想ボリュームに割り当てる、請求項9に記載のストレージシステム。
  11. 前記プールが複数のシン・プロビジョニング・プールを含み、
    前記コントローラが、2つ以上の前記シン・プロビジョニング・プールを1つの仮想ボリュームに割り当てるための入力を受信し、前記2つ以上のシン・プロビジョニング・プールを、前記1つの仮想ボリュームに割り当てられる集約されたシン・プロビジョニング・プールにマージする、請求項9に記載のストレージシステム。
  12. 前記複数の仮想ボリュームの少なくとも1つの仮想ボリュームが、前記コントローラによる階層構成の変更に従って、その中の前記階層レベルを設定することができる1つ以上の指定領域を有する、請求項9に記載のストレージシステム。
  13. 前記プールが、有効であった前記階層構成ルールを満たさない場合、前記コントローラは、外部入力なしに自動的に生じる、前記物理ストレージデバイスに対する階層レベルの変化に基づいて、前記プールを前記複数の仮想ボリュームに割り当てる、請求項9に記載のストレージシステム。
  14. 前記コントローラが、前記ストレージシステムの階層負荷を監視し、前記ストレージシステムの前記階層負荷に基づいて決定されるように、前記物理ストレージデバイスに対する階層レベルの前記変化に基づいて、前記プールを前記複数の仮想ボリュームに割り当てる、請求項9に記載のストレージシステム。
  15. 階層化ストレージ環境におけるストレージ管理のためのストレージシステムであって、
    異なる階層レベルを有する複数の階層に分けられたプールの中の複数のストレージボリュームであって、各階層は階層構成ルールに従って組織されており、前記ストレージシステムの複数の物理ストレージデバイスによって提供される、複数のストレージボリュームと、
    前記複数の物理ストレージデバイスを制御するコントローラであって、プロセッサ及びメモリを含み、前記階層構成ルールが変更された場合、ストレージボリュームの前記階層の階層構成を変更するコントローラであり、当該階層構成は前記階層レベルを含む、コントローラと
    を備えるストレージシステムであって、
    前記コントローラが、前記階層構成ルール及び前記仮想ボリュームの特徴に基づいて、前記プールを複数の仮想ボリュームに割り当て、
    前記プールが、複数のシン・プロビジョニング・プールを含み、
    前記コントローラが、2つ以上の前記シン・プロビジョニング・プールを1つの仮想ボリュームに割り当てるための入力を受信し、前記2つ以上のシン・プロビジョニング・プールを、前記1つの仮想ボリュームに割り当てられる集約されたシン・プロビジョニング・プールにマージする
    ことを特徴とするストレージシステム。
  16. 前記プールが、有効であった前記階層構成ルールに満たさない場合、前記コントローラが、管理端末からの入力に応じた前記物理ストレージデバイスに対する階層レベルの変化に基づいて、前記プールを前記複数の仮想ボリュームに割り当てる、請求項15に記載のストレージシステム。
  17. 前記コントローラが、前記物理ストレージデバイスに対する階層レベルの変化に基づいて、前記プールを複数の仮想ボリュームに動的に割り当てる、請求項15に記載のストレージシステム。
  18. 前記複数の仮想ボリュームの少なくとも1つの仮想ボリュームが、前記コントローラによる階層構成の変更に従って、その中の前記階層レベルを設定することができる1つ以上の指定領域を有する、請求項15に記載のストレージシステム。
  19. 前記プールが、有効であった前記階層構成ルールを満たさない場合、前記コントローラが、外部入力なしに自動的に生じる、前記物理ストレージデバイスに対する階層レベルの変化に基づいて、前記プールを前記複数の仮想ボリュームに割り当てる、請求項15に記載のストレージシステム。
  20. 前記コントローラが、前記ストレージシステムの階層負荷を監視し、前記ストレージシステムの前記階層負荷によって決定されるように、前記物理ストレージデバイスに対する階層レベルの前記変化に基づいて、前記プールを前記複数の仮想ボリュームに割り当てる、請求項15に記載のストレージシステム。
JP2010021988A 2009-09-16 2010-02-03 動的ページ再配置ストレージシステム管理 Expired - Fee Related JP5495828B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/560,740 US8402214B2 (en) 2009-09-16 2009-09-16 Dynamic page reallocation storage system management
US12/560,740 2009-09-16

Publications (2)

Publication Number Publication Date
JP2011065624A true JP2011065624A (ja) 2011-03-31
JP5495828B2 JP5495828B2 (ja) 2014-05-21

Family

ID=43304709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010021988A Expired - Fee Related JP5495828B2 (ja) 2009-09-16 2010-02-03 動的ページ再配置ストレージシステム管理

Country Status (3)

Country Link
US (1) US8402214B2 (ja)
EP (1) EP2302501A3 (ja)
JP (1) JP5495828B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013046464A1 (ja) * 2011-09-30 2013-04-04 株式会社日立製作所 不揮発半導体記憶媒体を有するストレージシステム
JP5941996B2 (ja) * 2012-11-27 2016-06-29 株式会社日立製作所 ストレージ装置及び階層制御方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9009438B2 (en) * 2011-06-01 2015-04-14 International Business Machines Corporation Space reclamation in multi-layered and thin provisioned storage systems
US8775733B2 (en) * 2011-08-30 2014-07-08 Hitachi, Ltd. Distribution design for fast raid rebuild architecture based on load to limit number of redundant storage devices
US8856440B2 (en) 2011-09-12 2014-10-07 Microsoft Corporation Volatile memory representation of nonvolatile storage device set
JP5793196B2 (ja) * 2011-09-13 2015-10-14 株式会社日立製作所 仮想ボリュームに割り当てられた要求性能に基づく制御を行うストレージシステムの管理システム及び管理方法
US9256381B1 (en) * 2011-09-29 2016-02-09 Emc Corporation Managing degraded storage elements in data storage systems
US8572347B2 (en) 2011-10-26 2013-10-29 Hitachi, Ltd. Storage apparatus and method of controlling storage apparatus
US9092141B2 (en) * 2012-04-18 2015-07-28 Hitachi, Ltd. Method and apparatus to manage data location
JP6118380B2 (ja) * 2015-09-24 2017-04-19 株式会社日立製作所 ストレージシステム及び記憶領域の割当方法
US10289507B1 (en) * 2015-10-27 2019-05-14 Pavilion Data Systems, Inc. Distributed rebuild of failed storage device
JP6768425B2 (ja) * 2016-09-08 2020-10-14 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
JP6968016B2 (ja) * 2018-03-22 2021-11-17 キオクシア株式会社 ストレージデバイスおよびコンピュータシステム
US10564881B2 (en) * 2018-05-31 2020-02-18 International Business Machines Corporation Data management in a multitier storage system

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319528A (ja) * 1996-05-27 1997-12-12 Internatl Business Mach Corp <Ibm> データ記憶システムにおけるデータの再配置方法、そのシステムに記憶されたデータのアクセス方法及びデータ記憶システム
JP2006099748A (ja) * 2004-08-30 2006-04-13 Hitachi Ltd ストレージシステム及びデータ再配置制御装置。
JP2006106985A (ja) * 2004-10-01 2006-04-20 Hitachi Ltd 計算機システム、ストレージ装置及びストレージ管理方法
US20060143418A1 (en) * 2004-08-30 2006-06-29 Toru Takahashi Storage system and data relocation control device
JP2007066259A (ja) * 2005-09-02 2007-03-15 Hitachi Ltd 計算機システムとストレージシステム並びにボリューム容量拡張方法
JP2007193573A (ja) * 2006-01-19 2007-08-02 Hitachi Ltd 記憶装置システム及び記憶制御方法
JP2007213448A (ja) * 2006-02-10 2007-08-23 Hitachi Ltd 記憶制御装置
US20070233987A1 (en) * 2006-04-03 2007-10-04 Hitachi, Ltd. Storage system
JP2008112276A (ja) * 2006-10-30 2008-05-15 Hitachi Ltd 再配置システムおよび再配置方法
JP2008186172A (ja) * 2007-01-29 2008-08-14 Hitachi Ltd ストレージモジュール及び容量プール空き容量調整方法
JP2009104321A (ja) * 2007-10-22 2009-05-14 Kyocera Mita Corp 情報処理装置及びこれに備えられるデバイスドライバ

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8051243B2 (en) * 2008-04-30 2011-11-01 Hitachi, Ltd. Free space utilization in tiered storage systems
US8321645B2 (en) * 2009-04-29 2012-11-27 Netapp, Inc. Mechanisms for moving data in a hybrid aggregate

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319528A (ja) * 1996-05-27 1997-12-12 Internatl Business Mach Corp <Ibm> データ記憶システムにおけるデータの再配置方法、そのシステムに記憶されたデータのアクセス方法及びデータ記憶システム
JP2006099748A (ja) * 2004-08-30 2006-04-13 Hitachi Ltd ストレージシステム及びデータ再配置制御装置。
US20060143418A1 (en) * 2004-08-30 2006-06-29 Toru Takahashi Storage system and data relocation control device
JP2006106985A (ja) * 2004-10-01 2006-04-20 Hitachi Ltd 計算機システム、ストレージ装置及びストレージ管理方法
JP2007066259A (ja) * 2005-09-02 2007-03-15 Hitachi Ltd 計算機システムとストレージシステム並びにボリューム容量拡張方法
JP2007193573A (ja) * 2006-01-19 2007-08-02 Hitachi Ltd 記憶装置システム及び記憶制御方法
JP2007213448A (ja) * 2006-02-10 2007-08-23 Hitachi Ltd 記憶制御装置
US20070233987A1 (en) * 2006-04-03 2007-10-04 Hitachi, Ltd. Storage system
JP2007279845A (ja) * 2006-04-03 2007-10-25 Hitachi Ltd ストレージシステム
US7434017B2 (en) * 2006-04-03 2008-10-07 Hitachi, Ltd. Storage system with virtual allocation and virtual relocation of volumes
JP2008112276A (ja) * 2006-10-30 2008-05-15 Hitachi Ltd 再配置システムおよび再配置方法
JP2008186172A (ja) * 2007-01-29 2008-08-14 Hitachi Ltd ストレージモジュール及び容量プール空き容量調整方法
JP2009104321A (ja) * 2007-10-22 2009-05-14 Kyocera Mita Corp 情報処理装置及びこれに備えられるデバイスドライバ

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BOB COCHRAN, AYMAN ABOUELWAFA, PETER DJORDJEVICH: "Research Disclosure Journal", THIN PROVISIONING WITH NATIVE HIERARCHICAL STORAGE MANAGEMENT, vol. 531, no. 66, JPN6013023922, July 2008 (2008-07-01), GB, pages 650, ISSN: 0002534220 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013046464A1 (ja) * 2011-09-30 2013-04-04 株式会社日立製作所 不揮発半導体記憶媒体を有するストレージシステム
US8539142B2 (en) 2011-09-30 2013-09-17 Hitachi, Ltd. Storage system comprising nonvolatile semiconductor storage media
JPWO2013046464A1 (ja) * 2011-09-30 2015-03-26 株式会社日立製作所 不揮発半導体記憶媒体を有するストレージシステム
JP5941996B2 (ja) * 2012-11-27 2016-06-29 株式会社日立製作所 ストレージ装置及び階層制御方法

Also Published As

Publication number Publication date
EP2302501A2 (en) 2011-03-30
JP5495828B2 (ja) 2014-05-21
US20110066802A1 (en) 2011-03-17
US8402214B2 (en) 2013-03-19
EP2302501A3 (en) 2012-09-19

Similar Documents

Publication Publication Date Title
JP5495828B2 (ja) 動的ページ再配置ストレージシステム管理
US9575668B1 (en) Techniques for selecting write endurance classification of flash storage based on read-write mixture of I/O workload
US10082965B1 (en) Intelligent sparing of flash drives in data storage systems
US9542125B1 (en) Managing data relocation in storage systems
US9817766B1 (en) Managing relocation of slices in storage systems
US9459809B1 (en) Optimizing data location in data storage arrays
US9395937B1 (en) Managing storage space in storage systems
US9477407B1 (en) Intelligent migration of a virtual storage unit to another data storage system
US9710187B1 (en) Managing data relocation in storage systems
US10082959B1 (en) Managing data placement in storage systems
US9477431B1 (en) Managing storage space of storage tiers
JP5427630B2 (ja) 動的ページ再割当てストレージシステムにおけるアプリケーション及び階層構成の管理
US9619149B1 (en) Weighted-value consistent hashing for balancing device wear
US8566546B1 (en) Techniques for enforcing capacity restrictions of an allocation policy
US8046537B2 (en) Virtualization engine and method, system, and computer program product for managing the storage of data
US8407409B2 (en) Metrics and management for flash memory storage life
JP5502232B2 (ja) ストレージシステム、及びその制御方法
US10353616B1 (en) Managing data relocation in storage systems
US20140304452A1 (en) Method for increasing storage media performance
US8954381B1 (en) Determining data movements in a multi-tiered storage environment
US8539142B2 (en) Storage system comprising nonvolatile semiconductor storage media
JPWO2013046331A1 (ja) 計算機システム、及び情報管理方法
US11797387B2 (en) RAID stripe allocation based on memory device health
US9767021B1 (en) Optimizing destaging of data to physical storage devices
US10466901B1 (en) Interactive tiering preferences map

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140304

R150 Certificate of patent or registration of utility model

Ref document number: 5495828

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees