JP2010211681A - ストレージ装置及び仮想化装置 - Google Patents

ストレージ装置及び仮想化装置 Download PDF

Info

Publication number
JP2010211681A
JP2010211681A JP2009059201A JP2009059201A JP2010211681A JP 2010211681 A JP2010211681 A JP 2010211681A JP 2009059201 A JP2009059201 A JP 2009059201A JP 2009059201 A JP2009059201 A JP 2009059201A JP 2010211681 A JP2010211681 A JP 2010211681A
Authority
JP
Japan
Prior art keywords
extent
physical
logical
management table
physical extent
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
JP2009059201A
Other languages
English (en)
Other versions
JP4869368B2 (ja
Inventor
Koji Tsuruhisa
康治 鶴久
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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2009059201A priority Critical patent/JP4869368B2/ja
Publication of JP2010211681A publication Critical patent/JP2010211681A/ja
Application granted granted Critical
Publication of JP4869368B2 publication Critical patent/JP4869368B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】仮想論理ディスク技術における論理エクステント及び物理エクステントの対応関係の管理に必要となる記憶容量を調整することを可能とする。
【解決手段】構成情報管理部217は、切替対象論理エクステント、切替対象物理エクステント、基準物理エクステント及び切替先物理エクステントを決定する。構成情報管理部217は、切替対象物理エクステントに格納されているデータを読み込む。構成情報管理部217は、読み込まれたデータを切替先物理エクステントに書き込む。構成情報管理部217は、エクステントオフセットを論理エクステント管理テーブル213に登録する。構成情報管理部217は、基準物理エクステントを識別する物理エクステント識別子を論理エクステント管理テーブル213に登録する。構成情報管理部217は、切替先物理エクステントに該当するエントリを物理エクステント管理テーブル214から削除する。
【選択図】図3

Description

本発明は、仮想論理ディスク技術に適用されるストレージ装置及び仮想化装置に関する。
一般的に、ストレージ装置は、複数のハードディスクドライブ(HDD:Hard Disk Drive)のような記憶装置を備え、RAID(Redundant Arrays of Inexpensive Disks)等の技術によってそれらを論理的にまとめることで、ホストコンピュータに対して論理ディスク(LU:Logical Unit)を提供し、当該論理ディスクへのアクセスを制御する。
このようなストレージ装置内部では、論理ディスクにライトされた(書き込まれた)データは物理的には記憶装置に格納される。このため、ストレージ装置においては、論理ディスク内の論理領域のアドレスと記憶装置内の物理領域のアドレスの対応関係を管理情報として記憶しておく必要がある。
また、ストレージ装置における有用な技術として仮想論理ディスク技術が知られている。この仮想論理ディスク技術では、論理ディスク内の論理領域が所定サイズで分割された領域(以下、論理エクステントと表記)に対応する記憶装置内の物理領域(以下、物理エクステントと表記)を動的に交換することが可能である。
また、仮想論理ディスク技術の応用技術として、上記した管理情報を拡張することにより論理ディスク内の論理エクステントに対応する物理エクステントが存在しない状態を許容し、必要に応じて動的に物理エクステントを割り当てる技術(シンプロビジョニング技術)が知られている。以下の仮想論理ディスク技術とは、このシンプロビジョニング技術を含むものとする。
仮想論理ディスク技術の利点の一つは、ストレージ装置の物理容量よりも大きな論理ディスクを構築することができる点にある。
ホストコンピュータ上で動作するアプリケーションによっては大容量の論理ディスクが必要であるが、同時には当該論理ディスクの全容量を必要としない場合がある。このような場合には、物理容量を削減することで導入コストを低減することが可能であり、その一方で、必要に応じて記憶装置を増設することで柔軟に対応することが可能となる。
更に、仮想論理ディスク技術には、運用を継続しながら作成済みの論理ディスクに関して物理エクステントの割り当てを変更できるという利点がある。つまり、記憶装置の性能または信頼性に依存する論理ディスクの性能または信頼性に関して、ホストコンピュータ上で動作するアプリケーションを停止することなく物理エクステントの割り当てを変更することができるため、当該性能問題または信頼性問題の解決の一助となる。
このように、仮想論理ディスク技術によれば、低コストで大容量な論理ディスクを構築することができる。また、仮想論理ディスク技術は、記憶装置の増設や交換により、論理ディスクの性能または信頼性を柔軟に修正することができるという特徴を有する。
例えば仮想論理ディスク技術(仮想ボリューム技術)を利用した技術として、ディスクアレイ装置(ストレージ装置)において仮想ボリューム技術を実現するに際して、その管理情報の扱いを工夫することで、仮想ボリュームの管理情報処理におけるディスクアクセスのためのオーバヘッドを可能な範囲で最小限に抑えながら、少ない容量のメモリで大容量の仮想ボリュームを定義することが可能な技術(以下、先行技術と表記)が開示されている(例えば、特許文献1を参照)。この先行技術によれば、仮想ボリュームの管理に必要な管理テーブル(論理テーブル及び物理テーブル)を階層的に管理し、「上位層(上位階層)の管理テーブルの情報はメモリに常駐させ、下位層(下位階層)の管理テーブルの情報の実体をディスク上に置きながら必要に応じてメモリに読み込む」というキャッシュ制御が行われる。
特開2004−78398号公報
ところで、ストレージ装置においては、上記したようにホストコンピュータに提供する全ての論理エクステントと物理エクステントとの対応関係を例えば管理テーブルのような情報として当該ストレージ装置内のメモリ上に記憶する必要がある。また、論理エクステントに割り当てられていない物理エクステントに関しても同様に記憶する必要がある。この管理テーブルに必要な容量は、ストレージ装置がサポートする物理容量に比例すると同時に、物理エクステントサイズに反比例する。
一般的に、物理エクステントサイズを縮小すれば、物理エクステントの割り付けをホストが実際にアクセスした領域に近似することができるため、物理容量の利用効率を向上させることができるという利点がある。また、論理ディスクへのIO負荷を複数の記憶装置に分散させることが容易となる。その一方で、物理エクステントサイズを縮小すると、管理テーブルに必要な容量が増大する。
これに対して、物理エクステントサイズを拡大すれば、管理テーブルに必要な容量を低減させることは可能であるが、物理容量の利用効率が低下し、論理ディスクへのIO負荷を複数の記憶装置に分散させることが困難となる。
管理テーブルを記憶する記憶容量(例えば、メモリ容量)は有限である。このため、ストレージ装置がサポートする記憶装置の台数、当該記憶装置の最大容量及び固定された物理エクステントサイズにより試算されるメモリサイズが管理テーブルに必要な容量の上限として設計される。換言すれば、設計された管理テーブルに必要な容量の上限によってストレージ装置がサポート可能な物理容量が制限されることになる。更には、ホストコンピュータに対して提供される論理ディスクのサイズも制限され、物理エクステントサイズを縮小することも制限されることになる。
つまり、既存の記憶装置をより高性能で大容量な記憶装置に交換するような場合であっても、管理テーブルを記憶するメモリの容量不足を理由に使用可能な物理容量が制限される可能性がある。また、物理エクステントサイズを縮小して物理容量の利用効率を向上させようとした場合であっても、同様に制限される可能性がある。
これらの制限を回避するために、上記した管理テーブルに必要な容量の上限の設計時にメモリの容量に余裕を持たせて上限を設定することも可能であるが、この場合、コストの増加につながるため好ましくない。
つまり、上記したような論理エクステント及び物理エクステントとの対応関係の管理方式では、仮想論理ディスク技術の本来の特徴である「低コストで大容量論理ディスクを構築でき、記憶装置の増設または交換により、論理ディスクの性能または信頼性を柔軟に修正できる」という利点を充分に達成することはできない。
また、上記した先行技術によれば、仮想ボリュームの管理に必要な管理テーブルを階層的に管理し、上位層の管理テーブルの情報はメモリに常駐させ、下位層の管理テーブルの情報の実体をディスク上に置きながら必要に応じてメモリに読み込まれる。
しかしながら、先行技術では、管理テーブルを階層に応じてメモリまたはディスクに記憶させているものの、予め設計された管理テーブルに必要な容量自体は変わらないため、上記した仮想論理ディスク技術の利点を充分に達成しているとはいえない。
そこで、本発明の目的は、仮想論理ディスク技術における論理エクステント及び物理エクステントの対応関係の管理に必要となる記憶容量を調整することが可能なストレージ装置及び仮想化装置を提供することにある。
本発明の1つの態様によれば、固定長領域に分割された複数の物理エクステントから構成され、各種データを格納する複数のディスクアレイを備え、当該物理エクステントが割り当てられる論理エクステントから構成される論理ディスクを当該論理ディスクに対してアクセスするホストコンピュータに対して提供するストレージ装置が提供される。このストレージ装置は、前記物理エクステントが割り当てられている論理エクステントを示す論理エクステント情報及び当該物理エクステントを識別するための物理エクステント識別情報を対応付けて保持する論理エクステント管理テーブルと、前記複数の物理エクステントの各々を識別するための物理エクステント識別情報、当該物理エクステント識別情報によって識別される物理エクステントから構成されるディスクアレイを識別するためのディスクアレイ識別情報及び当該ディスクアレイ内における当該物理エクステントの開始位置を示す開始物理アドレスを対応付けて保持する物理エクステント管理テーブルと、前記物理エクステント管理テーブルのサイズの増加または縮小を検出する検出手段と、前記物理エクステント管理テーブルのサイズの増加が検出された場合、前記論理エクステント管理テーブルに保持されている論理エクステント情報によって示される論理エクステントのペアを選択する選択手段と、前記選択された論理エクステントのペアのうち、一方の論理エクステントを切替対象論理エクステントとして決定する第1の決定手段と、前記第1の決定手段によって決定された切替対象論理エクステントを示す論理エクステント情報に対応付けて論理エクステント管理テーブルに保持されている物理エクステント識別情報によって識別される物理エクステントを切替対象物理エクステントとして決定する第2の決定手段と、前記選択された論理エクステントのペアのうち、前記第1の決定手段によって切替対象論理エクステントとして決定された論理エクステントとは異なる他方の論理エクステントを示す論理エクステント情報に対応付けて論理エクステント管理テーブルに保持されている物理エクステント識別情報によって識別される物理エクステントを基準物理エクステントとして決定する第3の決定手段と、前記論理エクステント管理テーブルに保持されている論理エクステント情報によって示される論理エクステントに割り当てられていない物理エクステントであって、前記第3の決定手段によって決定された基準物理エクステントを識別するための物理エクステント識別情報に対応付けて前記物理エクステント管理テーブルに保持されているディスクアレイ識別情報と同一のディスクアレイ識別情報に対応付けて前記物理エクステント管理テーブルに保持されている物理エクステント識別情報によって識別される物理エクステントを切替先物理エクステントとして決定する第4の決定手段と、前記第2の決定手段によって決定された切替対象物理エクステントに格納されているデータを、当該切替対象物理エクステントを識別するための物理エクステント識別情報に対応付けて前記物理エクステント管理テーブルに保持されているディスクアレイ識別情報及び開始物理アドレスに基づいて当該当該ディスクアレイ識別情報によって識別されるディスクアレイから読み込む読み込み手段と、前記第4の決定手段によって決定された切替先物理エクステントを識別するための物理エクステント識別情報に対応付けて前記物理エクステント管理テーブルに保持されている開始物理アドレスに基づいて、当該物理エクステント識別情報に対応付けて前記物理エクステント管理テーブルに保持されているディスクアレイ識別情報によって識別されるディスクアレイに前記読み込まれたデータを書き込む書き込み手段と、前記第3の決定手段によって決定された基準物理エクステントを識別するための物理エクステント識別情報及び前記第4の決定手段によって決定された切替先物理エクステントを識別するための物理エクステント識別情報の差を示すエクステントオフセットを算出する算出手段と、前記第1の決定手段によって決定された切替対象論理エクステントを示す論理エクステント情報に対応付けて、前記算出されたエクステントオフセットを前記論理エクステント管理テーブルに登録する第1の登録手段と、前記第1の決定手段によって決定された切替対象論理エクステントを示す論理エクステント情報に対応付けて前記論理エクステント管理テーブルに保持されている物理エクステント識別情報に代えて、前記第3の決定手段によって決定された基準物理エクステントを識別するための物理エクステント識別情報を登録する第2の登録手段と、前記第4の決定手段によって決定された切替先物理エクステントを識別するための物理エクステント識別情報、当該物理エクステント識別情報に対応付けられているディスクアレイ識別情報及び開始物理アドレスを、前記物理エクステント管理テーブルから削除する削除手段とを具備する。
本発明は、仮想論理ディスク技術における論理エクステント及び物理エクステントの対応関係の管理に必要となる記憶容量を調整することを可能とする。
本発明の実施形態に係るストレージ装置を含むストレージシステムの構成を示すブロック図。 図1に示すストレージ装置20に備えられるコントローラ21のハードウェア構成を示すブロック図。 図1に示すストレージ装置20に備えられるコントローラの主として機能構成を示すブロック図。 ホストコンピュータ10に対して提供される論理ディスクLUとディスクアレイ22との関係の一例について説明するための図。 図3に示す論理エクステント管理テーブル213のデータ構造の一例を示す図。 図3に示す物理エクステント管理テーブル214のデータ構造の一例を示す図。 図3に示す統計情報管理テーブル216のデータ構造の一例を示す図。 図3に示す構成情報管理部217による物理エクステント切替処理の処理手順を示すフローチャート。 第1の物理エクステント切替処理が実行された後の論理ディスクLU100とディスクアレイ22との関係を示す図。 第1の物理エクステント切替処理毎の論理エクステント管理テーブル213のデータ構造の一例を示す図。 第1の物理エクステント切替処理後の物理エクステント管理テーブル214のデータ構造の一例を示す図。 図3に示すI/O処理部218によるリード要求受信処理の処理手順を示すフローチャート。 図3に示すI/O処理部218によるライト要求受信処理の処理手順を示すフローチャート。 本実施形態の変形例に係る仮想化装置を含むストレージシステムの構成を示すブロック図。
以下、図面を参照して、本発明の実施形態について説明する。
図1は、本実施形態に係るストレージ装置を含むストレージシステム(ネットワークシステム)の構成を示すブロック図である。図1に示すストレージシステムは、複数(例えばN台)のホストコンピュータ10及びストレージ装置20を含む。
図1に示すように、複数のホストコンピュータ10及びストレージ装置20は、スイッチ30を介して接続される。
複数のホストコンピュータ10及びストレージ装置20間を接続するインタコネクトとしては、例えばSCSI(Small Computer System Interface)プロトコルに基づくブロックデバイス用インタフェース(I/F)であるFC(Fibre Channel)またはiSCSI(Internet SCSI)を想定している。例えば複数のホストコンピュータ10及びストレージ装置20間を接続するインタコネクトがFCである場合、スイッチ30の部分はファブリック・スイッチとなる。一方、iSCSIである場合、スイッチ30の部分はスイッチング・ハブとなる。
ストレージ装置20は、コントローラ21及びディスクアレイ22を備える。なお、図1においてはディスクアレイ22は1つしか示されていないが、ストレージ装置20は、複数のディスクアレイ22を備える。
コントローラ21及びディスクアレイ22は、スイッチ23を介して接続される。コントローラ21及びディスクアレイ22間を接続するインタコネクトとしては、FC、SAS(Serial Attached SCSI)またはSATA(Serial ATA)を想定している。コントローラ21及びディスクアレイ22間を接続するインタコネクトがFCである場合、スイッチ23の部分はファブリック・スイッチとなる。一方、SASまたはSATAである場合、スイッチ23の部分はエクスパンダとなる。
コントローラ21は、ディスクアレイ22を制御する機能を有する。また、コントローラ21は、ホストコンピュータ10からのI/O要求(リード要求またはライト要求)に応じて、当該ホストコンピュータ10との間のデータ送受信を行う。
ディスクアレイ22は、複数の例えばハードディスクドライブ(HDD:Hard Disk Drive)または不揮発性メモリ等の記憶媒体221が例えばRAID(Redundant Arrays of Inexpensive Disks)技術により論理的に結合された各種データを格納するデバイスである。ディスクアレイ22は、ストレージ装置20において複数の固定長領域(物理エクステント)に分割して管理される。換言すれば、ディスクアレイ22は、固定長領域に分割された複数の物理エクステントから構成される。
ストレージ装置20は、ディスクアレイ22を構成する物理エクステントが割り当てられる論理エクステントから構成される論理ディスク(LU:Logical Unit)をホストコンピュータ10に対して提供する。ストレージ装置20によって提供される論理ディスクLUは、ホストコンピュータ10からは単一のディスクとして認識され、当該ホストコンピュータ10からアクセスされる。この論理ディスクは、ディスクアレイ22と同様に、複数の固定長領域(論理エクステント)に分割して管理される。なお、物理エクステント及び論理エクステント(の固定長)は、同一サイズであるものとする。
ストレージ装置20が備えるディスクアレイ22の各々には、当該ディスクアレイ22を識別するためのディスクアレイ識別情報(ディスクアレイ識別子DN:Disk array Number)が割り当てられている。また、上記したようにストレージ装置20が備えるディスクアレイ22を構成する複数の物理エクステントには、当該物理エクステントを識別するための物理エクステント識別情報(物理エクステント識別子PN:Physical extent Number)が割り当てられる。この物理エクステント識別子PNは、当該物理エクステント識別す子PNが割り当てられる物理エクステントから構成されるディスクアレイ22内における当該物理エクステントの開始位置(アドレス)に応じて割り当てられる。
上記したように、ストレージ装置20によってホストコンピュータ10に対して提供される論理ディスクLUを構成する論理エクステントには、ディスクアレイ22を構成する物理エクステントが割り当てられる。このため、ストレージ装置20においては、論理エクステント及び当該論理エクステントに割り当てられた物理エクステントの対応関係が管理される。
更に、論理ディスクLUには、当該論理ディスクLUを識別するための論理ディスク識別子LUN(Logical Unit Number)が割り当てられている。また、論理ディスクLUは、I/Oアクセスの最小単位であるセクタに分割され、各セクタには論理ブロックアドレスLBA(Logical Block Address)が割り当てられる。これにより、ストレージ装置20においては、ホストコンピュータ10から与えられた論理ディスク識別子LUNと論理ブロックアドレスLBAとに基づいて論理エクステントが選択され、当該論理エクステントに対応する物理エクステント(当該論理エクステントに割り当てられている物理エクステント)へのアクセスに変換される。これにより、ホストコンピュータ10は、論理ディスクLU内の任意の領域にアクセスすることが可能となる。
なお、本実施形態に係るストレージ装置20においては、シンプロビジョニング技術を含む仮想論理ディスク技術が適用される。つまり、本実施形態に係るストレージ装置20においては、論理ディスクLU内の論理エクステントに対応する物理エクステントが存在しない状態を許容し、必要に応じて動的に論理エクステントに対して物理エクステントを割り当てることができる。
図2は、図1に示すストレージ装置20に備えられるコントローラ21のハードウェア構成を示すブロック図である。
図2に示すように、コントローラ21は、I/Oプロセッサ(Processor)21a、ROM21b、メモリ21c、バッテリ21d、ホストI/F21e、ディスクI/F21f及びPCI−Exressスイッチ21gを含む。
コントローラ21は、例えばI/Oプロセッサ21a上で動作するプログラム(ソフトウェア)により制御される。このプログラムは、例えばROM22bに格納され、ストレージ装置20の起動時にメモリ21cにロードされ、I/Oプロセッサ21a上で実行される。なお、このプログラムは、例えばコンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラムが、例えばネットワークを介してストレージ装置20にダウンロードされても構わない。
メモリ21cは、バッテリ21dにより例えば停電時もバックアップされる。また、メモリ21cは、ホストコンピュータ10に対して提供される論理ディスクLUのディスクキャッシュとしても使用される。
ホストI/F21e及びディスクI/F21fは、PCI−Expressスイッチ21gを介してI/Oプロセッサ21aと接続される。
ホストI/F21eは、図1に示すスイッチ30を介してホストコンピュータ10に接続される。ホストI/F21eとしては、例えばFCまたはiSCSIコントローラを想定している。
ディスクI/F21fは、ストレージ装置20に備えられるスイッチ23を介してディスクアレイ22に接続される。ディスクI/F21fとしては、例えばFC、SASまたはSATAコントローラを想定している。
上記したI/Oプロセッサ21a上で動作するプログラムによって、当該I/Oプロセッサ21a内部のハードウェアとホストI/F21e及びディスクI/F21f等の外部ハードウェアとが制御される。これにより、物理エクステントが割り当てられる論理エクステントから構成される論理ディスクLUが、ホストコンピュータ10に対して提供される。
図3は、図1に示すストレージ装置20に備えられるコントローラ21の主として機能構成を示すブロック図である。
図3に示すように、コントローラ21は、ホストI/F制御部211、ディスクI/F制御部212、論理エクステント管理テーブル213、物理エクステント管理テーブル214、統計情報管理部215、統計情報管理テーブル216、構成情報管理部217及びI/O処理部218を含む。
本実施形態において、ホストI/F制御部211、ディスクI/F制御部212、統計情報管理部215、構成情報管理部217及びI/O処理部218は、図2に示すI/Oプロセッサ21aがROM21bに格納されているプログラムを実行することにより実現されるものとする。
また、本実施形態において、論理エクステント管理テーブル213、物理エクステント管理テーブル214及び統計情報管理テーブル216は、図2に示す例えばメモリ21cに格納される。
ホストI/F制御部211は、図2に示すホストI/F21eを制御する。ホストI/F制御部211は、ホストI/F21eを制御することによって、例えばホストコンピュータ10との間でSCSIプロトコルに従ってデータ送受信を行う。
ホストI/F制御部211は、ストレージ装置20によって提供される論理ディスクLUからデータを読み込むためにホストコンピュータ10によって送信されたリード要求を受信する。リード要求には、ホストコンピュータ10において指定された論理ディスク識別子LUN、論理ブロックアドレスLBA及び当該リード要求に応じて当該論理ディスク識別子LUNによって識別される論理ディスクLUから読み込まれるデータ(以下、リードデータと表記)のサイズ(リードサイズ)が含まれる。
また、ホストI/F制御部211は、ストレージ装置20によって提供される論理ディスクLUに対してデータを書き込むためにホストコンピュータ10によって送信されたライト要求及び当該論理ディスクLUに対して書き込まれるデータ(以下、ライトデータと表記)を受信する。ライト要求には、ホストコンピュータ10において指定された論理ディスク識別子LUN、論理ブロックアドレスLBA及びライトデータのサイズ(ライトサイズ)が含まれる。
ディスクI/F制御部212は、図2に示すディスクI/F21fを制御する。ディスクI/F制御部212は、ディスクI/F21fを制御することによって、例えばストレージ装置20において管理されているディスクアレイ22に対するリード(データの読み込み)/ライト(データの書き込み)処理を実行する。
論理エクステント管理テーブル213には、ストレージ装置20によってホストコンピュータ10に提供される論理ディスクLUを構成する論理エクステントのうち、ディスクアレイ22を構成する物理エクステントが割り当てられている論理エクステントを示す論理エクステント情報及び当該物理エクステントを識別するための物理エクステント識別子PN(物理エクステント識別情報)が対応付けて保持される。
ここで、論理エクステント情報には、論理ディスク識別子LUN及び開始論理ブロックアドレスLBAが含まれる。論理ディスク識別子LUNは、論理ディスクLUを一意に識別するための識別子である。開始論理ブロックアドレスLBAは、論理ディスク識別子LUNによって識別される論理ディスクLU内における論理エクステントの開始位置を示す。上記したように論理エクステント長は固定であるため、開始論理ブロックアドレスLBAにより当該論理エクステントの終端位置を示す終端論理ブロックアドレスLBAは自明である。つまり、論理エクステント情報に含まれる論理ディスク識別子LUN及び開始論理ブロックアドレスLBAによれば、論理ディスクLU上における論理エクステントを一意に特定することができる。
物理エクステント管理テーブル23には、ディスクアレイ22を構成する全ての物理エクステントに関する情報が保持される。
物理エクステント管理テーブル23には、物理エクステント毎に、当該物理エクステントを識別するための物理エクステント識別子PN(物理エクステント識別情報)、当該物理エクステントから構成されるディスクアレイ22を識別するためのディスクアレイ識別子DN(ディスクアレイ識別情報)及び当該ディスクアレイ内における当該物理エクステントの開始位置を示す開始物理アドレスが対応付けて保持される。
上記したように物理エクステント長は固定であるため、開始物理アドレスにより物理エクステントの終端位値を示す終端物理アドレスは自明である。つまり、ディスクアレイ識別子DN及び開始物理アドレスによれば、物理エクステント識別子PNによって識別される物理エクステントの実領域が示される。
統計情報管理部215は、ホストI/F制御部211によって受信されたホストコンピュータ10からのI/O要求(リード要求及びライト要求)に基づいて、論理ディスクLUを構成する論理エクステント(物理エクステントが割り当てられている論理エクステント)毎に当該ホストコンピュータ10からの当該論理エクステントに対するアクセスに関する統計を示す統計情報を統計情報管理テーブル216に登録する。統計情報管理テーブル216には、統計情報が蓄積される。
構成情報管理部217は、例えばディスクアレイ22の増設または撤去等に応じて、物理エクステント管理テーブル214のサイズが変動した場合に物理エクステント切替処理を実行する。なお、物理エクステント管理テーブル214のサイズは、例えば物理エクステント及び論理エクステントの固定長(エクステントサイズ)の縮小または拡大によっても変動する。物理エクステント管理テーブル214のサイズの変動には、当該物理エクステント管理テーブル214のサイズの増加及び縮小が含まれる。
構成情報管理部217は、物理エクステント管理テーブル214のサイズが増加した場合には、同一ディスクアレイ22内の物理エクステントが割り当てられている論理エクステントのペアをグループ化して管理することにより、物理エクステント管理テーブル214のサイズを縮小させる物理エクステント切替処理を実行する。
構成情報管理部217は、物理エクステント管理テーブル214のサイズが縮小した場合には、上記したようにグループ化して管理された論理エクステント(のペア)の当該グループ化を解除することにより、当該グループ化されていた論理エクステントに割り当てられている物理エクステントから構成されるディスクアレイ22における当該グループ化によるIO負荷分布の固定化を解消する物理エクステント切替処理を実行する。
構成情報管理部217は、論理エクステント管理テーブル213、物理エクステント管理テーブル214及び統計情報管理テーブル216を参照して、物理エクステント切替処理を実行する。この物理エクステント切替処理においては、当該切替の対象となる物理エクステントに格納されているデータ(ディスクアレイ22に格納されているデータであって当該物理エクステントに対応するデータ)のコピー処理が実行される。なお、構成情報管理部217による物理エクステント切替処理の詳細については後述する。
I/O処理部218は、上記した論理エクステント管理テーブル213及び物理エクステント管理テーブル214を参照して、ホストI/F制御部211によって受信されたI/O要求に対する処理を実行する。このとき、I/O処理部218は、ディスクI/F制御部212及び構成情報管理部217を介して処理を実行する。
I/O処理部218は、ホストI/F制御部211によってリード要求が受信された場合には、当該リード要求に応じてディスクアレイ22からデータを読み込む処理(リード要求受信処理)を実行する。なお、リード要求受信処理の詳細については後述する。
I/O処理部218は、ホストI/F制御部211によってライト要求(及びライトデータ)が受信された場合には、当該ライト要求に応じてライトデータをディスクアレイ22に書き込む処理(ライト要求受信処理)を実行する。なお、ライト要求受信処理の詳細については後述する。
次に、図4を参照して、本実施形態に係るストレージ装置20がホストコンピュータ10に対して提供する論理ディスクLUとディスクアレイ22との関係の一例について説明する。
ここでは、図4に示すように、1つの論理ディスクLU100と2つのディスクアレイ22(図4においては便宜的にディスクアレイ22a及び22bと表記)との関係について説明する。
上記したようにストレージ装置20においては、論理ディスクLUは複数の論理エクステントに分割されて管理される。図4に示す例では、論理ディスクLU100は、論理エクステント101,102及び103(論理エクステント101〜103)に分割されて管理されている。つまり、論理ディスクLU100は、論理エクステント101〜103から構成されている。
一方、ストレージ装置20においては、ディスクアレイ22は複数の物理エクステントに分割して管理される。図4に示す例では、2つのディスクアレイ22のうちのディスクアレイ22aは、物理エクステント201、202、203、…、209(物理エクステント201〜209)に分割されて管理されている。つまり、ディスクアレイ22aは、物理エクステント201〜209から構成されている。
また、2つのディスクアレイ22のうちのディスクアレイ22bは、物理エクステント301、302、303、…、309(物理エクステント301〜309)に分割されて管理されている。つまり、ディスクアレイ22bは、物理エクステント301〜309から構成されている。
なお、各論理エクステント101〜103、各物理エクステント201〜209及び301〜309は同一サイズ(例えば、2000セクタ)であるものとし、ストレージ装置20においては、論理エクステント(論理エクステント101〜103)と物理エクステント(物理エクステント201〜209及び301〜309)とは1対1に対応するように管理される。なお、ホストコンピュータ10からライトされていない論理エクステント(つまり、データが書き込まれていない論理エクステント)については物理エクステントは割り当てられず、データが書き込まれた段階で他の論理エクステントに割り当てられていない物理エクステントが割り当てられる。
図4に示す例では、論理ディスクLU100を構成する論理エクステント101には、ディスクアレイ22aを構成する物理エクステント201が割り当てられている。また、論理ディスクLU100を構成する論理エクステント103には、ディスクアレイ22bを構成する物理エクステント301が割り当てられている。一方、論理ディスクLU100を構成する論理エクステント102には、物理エクステントは割り当てられていない状態が示されている。
図5は、図3に示す論理エクステント管理テーブル213のデータ構造の一例を示す。図5に示すように、論理エクステント管理テーブル213には、論理ディスク識別子LUN、開始論理ブロックアドレスLBA、物理エクステント識別子PN、エクステントオフセット、コピー先物理エクステント識別子PN及びコピー未完了領域オフセットが保持される。
論理ディスク識別子LUNは、物理エクステントが割り当てられている論理エクステントから構成される論理ディスクLUを一意に識別するための識別子である。開始論理ブロックアドレスLBAは、論理ディスク識別LUNによって識別される論理ディスクLU内における論理エクステントの開始位置(のアドレス)を示す。上記したように、論理ディスク識別子LUN及び開始論理ブロックアドレスLBAは、論理ディスクLU上の一意の論理エクステントを示す。以下、論理ディスク識別子LUN及び開始論理ブロックアドレスLBAを論理エクステント情報とする。
物理エクステント識別子PNは、論理エクステント情報によって示される論理エクステントに割り当てられている物理エクステントを一意に識別するための識別子である。
エクステントオフセットは、物理エクステント切替処理におけるグループ化の基準となる物理エクステント(基準物理エクステント)を識別するための物理エクステント識別子PNと論理エクステント情報によって示される論理エクステントに実際に割り当てられている物理エクステントを識別するための物理エクステント識別子PNとの差を示す。上記した物理エクステント切替処理において論理エクステント情報によって示される論理エクステントがグループ化されていない場合には、エクステントオフセットの値は0となる。
なお、物理エクステント切替処理において論理エクステント情報によって示される論理エクステントがグループ化されている場合、物理エクステント識別子PN及びエクステントオフセットにより、実際にデータが格納されている一意の物理エクステントが示される。詳細については後述するが、物理エクステント識別子PN及びエクステントオフセットの和が、論理エクステント情報によって示される論理エクステントに割り当てられている実際の物理エクステントを識別するための物理エクステント識別子PNとなる。つまり、エクステントオフセットの値が0でない場合、当該エクステントオフセットに対応付けられている論理エクステント情報によって示される論理エクステントはグループ化されており、当該論理エクステント情報に対応付けられている物理エクステント識別子PNは、当該グループ化における基準となる物理エクステント(基準物理エクステント)を識別するための物理エクステント識別子PNである。
コピー先物理エクステント識別子PNは、後述する構成情報管理部217による物理エクステント切替処理におけるデータコピー先の物理エクステントを示す。
コピー未完了領域オフセットは、構成情報管理部217による物理エクステント切替処理におけるデータコピー処理が完了していない領域を示す。例えば論理エクステントサイズが2000セクタである場合を想定する。この場合において、コピー未完了領域オフセットとして1000が論理エクステント管理テーブル213に保持されていれば、当該論理エクステントの開始論理ブロックアドレスLBA〜当該開始論理ブロックアドレスLBA+999セクタの領域はコピー完了領域であり、当該開始ブロックアドレスLBA+1000セクタ〜当該開始ブロックアドレスLBA+1999セクタがコピー未完了領域となる。
図5に示す例では、論理エクステント管理テーブル213には、論理ディスク識別子LUN「7」、開始論理ブロックアドレスLBA「0(セクタ)」、物理エクステント識別子PN「1」、エクステントオフセット「0」、コピー先物理エクステント識別子PN「0」及びコピー未完了領域オフセット「0」が対応付けて保持されている。
これによれば、論理ディスク識別子LUN「7」によって識別される論理ディスクLU内において開始論理ブロックアドレス「0」から開始される論理エクステントには、物理エクステント識別子PN「1」によって識別される物理エクステントが割り当てられていることが示される。
なお、エクステントオフセットの値は「0」であるため、論理ディスク識別子LUN「7」によって識別される論理ディスクLU内において開始論理ブロックアドレス「0」から開始される論理エクステントはグループ化されていない。また、コピー先物理エクステント識別子PN、コピー先エクステントオフセット及びコピー未完了領域オフセットの値は「0」であるため、論理ディスク識別子LUN「7」によって識別される論理ディスクLU内において開始論理ブロックアドレス「0」から開始される論理エクステント(に割り当てられている物理エクステント)に対応するデータは、上記した物理エクステント切替処理におけるデータコピー処理中でないことが示される。
また、論理エクステント管理テーブル213には、論理ディスク識別子LUN「7」、開始論理ブロックアドレスLBA「4000」、物理エクステント識別子PN「10」、エクステントオフセット「0」、コピー先物理エクステント識別子「0」及びコピー未完了領域オフセット「0」が対応付けて保持されている。
これによれば、論理ディスク識別子LUN「7」によって識別される論理ディスクLU内において開始論理ブロックアドレス「4000」から開始される論理エクステントには、物理エクステント識別子PN「10」によって識別される物理エクステントが割り当てられていることが示される。
なお、論理ディスクLUを構成する論理エクステントに物理エクステントが割り当てられていない場合は、当該論理エクステントに該当するエントリ(論理ディスク識別子LUN、開始論理ブロックアドレス、物理エクステント識別子PN、エクステントオフセット、コピー先物理エクステント識別子PN及びコピー未完了領域オフセット)は論理エクステント管理テーブル213には保持されない。
図6は、図3に示す物理エクステント管理テーブル214のデータ構造の一例を示す。図6に示すように、物理エクステント管理テーブル214には、物理エクステント識別子PN、ディスクアレイ識別子DN、開始物理アドレス及び参照カウントが保持される。
物理エクステント識別子PNは、ディスクアレイ22を構成する物理エクステントを一意に識別するための識別子である。なお、物理エクステント管理テーブル214には、ストレージ装置20内において管理される全ての物理エクステント(複数のディスクアレイ22を構成する全ての物理エクステント)が保持される。また、物理エクステント識別子PNは、ストレージ装置20内において管理されるディスクアレイ22間で重複しない値が割り当てられる。
ディスクアレイ識別子DNは、物理エクステント識別子PNによって識別される物理エクステントから構成されるディスクアレイ22を一意に識別するための識別子である。開始物理アドレスは、ディスクアレイ識別子DNによって識別されるディスクアレイ22内における、物理エクステント識別PNによって識別される物理エクステントの開始位置(のアドレス)を示す。ディスクアレイ識別子DN及び開始物理アドレスは、ディスクアレイ22上における物理エクステントの実領域(物理エクステントに対応する実領域)を示す。
つまり、物理エクステント識別子PN、ディスクアレイ識別子DN及び開始物理アドレスによってディスクアレイ22を構成する一意の物理エクステントが示される。
参照カウントは、物理エクステント識別子PNによって識別される物理エクステントに該当するエントリ(物理エクステント識別子PN、ディスクアレイ識別子DN、開始物理アドレス及び参照カウント)を参照する論理エクステント数を示す。参照カウントが0である場合、当該参照カウントに対応付けられている物理エクステント識別子PNによって識別される物理エクステントには論理エクステントが割り当てられていないことを示す。一方、参照カウントが1以上である場合、当該参照カウントに対応付けられている物理エクステント識別子PNによって識別される物理エクステントには論理エクステントが割り当てられていることを示す。なお、参照カウントが2以上である場合には、当該参照カウントを含むエントリが複数の論理エクステントのグループ化において基準として使用されていることを示す。
図6に示す例では、物理エクステント管理テーブル214には、物理エクステント識別子PN「1」、ディスクアレイ識別子DN「61」、開始物理アドレス「0(セクタ)」及び参照カウント「1」が対応付けて保持されている。これによれば、ディスクアレイ識別子DN「61」によって識別されるディスクアレイ22内における開始物理アドレス「0」から物理エクステントの固定長の領域が、物理エクステント識別子PN「1」によって識別される物理エクステントの実領域があることが示される。また、参照カウントが「1」であるため、物理エクステント識別子PN「1」によって識別される物理エクステントに該当するエントリを参照する論理エクステント数が1であり、当該物理エクステントには論理エクステントが割り当てられていることが示される。
物理エクステント識別子PN「1」によって識別される物理エクステント以外の物理エクステント(に該当するエントリ)についても同様である。
なお、上記したようにディスクアレイ22を構成する複数の物理エクステントにはそれぞれ物理エクステント識別子PNが割り当てられるが、当該物理エクステントPNは、図6に示すようにディスクアレイ22の開始アドレス順に割り当てられるものとする。
ここで、図4に示す論理エクステント101に該当するエントリは、図5に示す論理エクステント管理テーブル213に保持されている論理ディスク識別子LUN「7」、開始論理ブロックアドレスLBA「0」、物理エクステント識別子PN「1」、エクステントオフセット「0」、コピー先物理エクステント識別子PN「0」及びコピー未完了領域オフセット「0」であるものとする。また、図4に示す論理エクステント103に該当するエントリは、図5に示す論理エクステント管理テーブル213に保持されている論理ディスク識別子LUN「7」、開始論理ブロックアドレスLBA「4000」、物理エクステント識別子PN「10」、エクステントオフセット「0」、コピー先物理エクステント識別子PN「0」及びコピー未完了領域オフセット「0」であるものとする。
図4に示す物理エクステント201に該当するエントリは、図6に示す物理エクステント管理テーブル214に保持されている、物理エクステント識別子PN「1」、ディスクアレイ識別子DN「61」、開始物理アドレス「0」及び参照カウント「1」であるものとする。また、図4に示す物理エクステント301に該当するエントリは、図6に示す物理エクステント管理テーブル214に保持されている物理エクステント識別子PN「10」、ディスクアレイ識別子DN「62」、開始物理アドレス「0」及び参照カウント「1」であるものとする。
この場合、図4〜図6によれば、論理エクステント101(論理ディスク識別子LUN「7」及び開始論理ブロックアドレスLBA「0」によって示される論理エクステント)には、物理エクステント201(物理エクステント識別子PN「1」、ディスクアレイ識別子DN「61」及び開始物理アドレス「0」によって示される物理エクステント)が割り当てられていることが示される。また、論理エクステント103(論理ディスク識別子LUN「7」及び開始論理ブロックアドレスLBA「0」によって示される論理エクステント)には、物理エクステント301(物理エクステント識別子PN「10」、ディスクアレイ識別子DN「62」及び開始物理アドレス「0」によって示される物エクステント)が割り当てられていることが示される。
なお、図4に示す論理エクステント102に該当するエントリは、図5に示す論理エクステント管理テーブル213には保持されていないため、当該論理エクステント102には物理エクステントが割り当てられていないことが示される。
また、図6においては、物理エクステント201及び301に該当するエントリ以外のエントリの参照カウントが「0」であるため、図4に示す物理エクステント202〜209及び302〜309(つまり、物理エクステント201及び301以外の物理エクステント)は、いずれの論理エクステントにも割り当てられていないことが示される。
図7は、図3に示す統計情報管理テーブル216のデータ構造の一例を示す。統計情報管理テーブル216には、論理ディスクLUを構成する論理エクステント(物理エクステントが割り当てられている論理エクステント)毎に、ホストコンピュータ10からの当該論理エクステントに対するアクセスに関する統計(IOに関わる各種の数値)を示す統計情報が保持される。
図7に示すように、統計情報管理テーブル216には、論理ディスク識別子LU、論理開始ブロックアドレスLBA、IOPS、スループット、平均IO間隔及び最終IO完了時刻が保持される。
論理ディスク識別子LU及び論理開始ブロックアドレスLBAは、上記したように論理ディスクLU上の論理エクステントを示す論理エクステント情報である。
IOPSは、論理エクステント情報によって示される論理エクステントに対する単位時間当たりのIO(リードまたはライトを含むアクセス)実行数を示す。
スループットは、論理エクステント情報によって示される論理エクステントに対するIOによる単位時間当たりのデータ転送量を示す。
平均IO間隔は、論理エクステント情報によって示される論理エクステントに対するIOの平均実行間隔を示す。
最終IO完了時刻は、論理エクステント情報によって示される論理エクステントに対するIOのうち最後の実行時刻を示す。
なお、統計情報管理テーブル216に保持されるこれらの情報によって、論理ディスクLU上の論理エクステントの各々に対する例えばアクセス頻度が認識できる。
次に、図8のフローチャートを参照して、図3に示す構成情報管理部217による物理エクステント切替処理の処理手順について説明する。
構成情報管理部217は、物理エクステント管理テーブル214のサイズが変動した場合に物理エクステント切替処理を実行する。この物理エクステント切替処理は、ホストコンピュータ10からの論理ディスクLUに対するアクセスとは非同期に実行される。
構成情報管理部217は、物理エクステント管理テーブル214のサイズの増加または縮小を検出する機能を有する。以下、図8のフローチャートを参照して、物理エクステント管理テーブル214のサイズが増加した場合及び縮小した場合のそれぞれの物理エクステント切替処理について説明する。以下、物理エクステント管理テーブル214のサイズが増加した場合の物理エクステント切替処理を第1の物理エクステント切替処理と称する。また、物理エクステント管理テーブル214のサイズが縮小した場合の物理エクステント切替処理を第2の物理エクステント切替処理と称する。
ここで、物理エクステント管理テーブル214のサイズの変動について説明する。例えばストレージ装置20に新規のディスクアレイ22が増設(追加)された場合、新規のディスクアレイ識別子DNが当該新規のディスクアレイ22に割り当てられ、当該新規のディスクアレイ22が固定長の物理エクステントに分割される。この分割された各物理エクステントに対して、新規の物理エクステント識別子PNが割り当てられ、当該物理エクステントに該当する新規エントリが物理エクステント管理テーブル214に追記される。この新規エントリにおいては、上記した物理エクステント識別子PN、ディスクアレイ識別子DN、物理開始アドレスが登録され、参照カウントには0が記録される。このように、ストレージ装置20に新規のディスクアレイ22が増設された場合には、物理エクステント管理テーブル214のサイズは増加する。
一方、ストレージ装置20から既存のディスクアレイ22が撤去された場合には、当該撤去されたディスクアレイを構成する物理エクステントに該当するエントリが物理エクステント管理テーブル214から破棄される。このように、ストレージ装置20から既存のディスクアレイ22が撤去された場合には、物理エクステント管理テーブル214のサイズは縮小する。
また、ディスクアレイ22を構成する物理エクステント(及び論理エクステント)の固定長(エクステントサイズ)が縮小された場合には、ディスクアレイ22を構成する物理エクステントの数が増加するため、物理エクステント管理テーブル214において管理すべきエントリの数が増加する。したがって、ディスクアレイ22を構成する物理エクステントの固定長を縮小した場合には物理エクステント管理テーブル214のサイズは増加する。
一方、ディスクアレイ22を構成する物理エクステント(及び論理エクステント)の固定長が拡大された場合には、物理エクステント管理テーブル214において管理すべきエントリの数が減少するため、物理エクステント管理テーブル214のサイズは縮小する。
このようにして物理エクステント管理テーブル214のサイズが変動した場合には、構成情報管理部217は、当該物理エクステント管理テーブル214のサイズの増加または縮小を検出する。
まず、図8のフローチャートを参照して、構成情報管理部217による第1の物理エクステント切替処理(物理エクステント管理テーブル214のサイズが増加した場合の物理エクステント切替処理)の処理手順について説明する。前述したように、物理エクステント管理テーブル214のサイズが増加した場合には、同一ディスクアレイ22内の物理エクステントが割り当てられている論理エクステントのペアをグループ化して管理することにより、物理エクステント管理テーブル214のサイズを縮小させる処理が実行される。
物理エクステント管理テーブル214のサイズの増加が検出された場合、構成情報管理部217は、論理エクステント管理テーブル213、物理エクステント管理テーブル214及び統計情報管理テーブル216を参照して、第1の物理エクステント切替処理の対象となる対象エクステント(切替対象論理エクステント、切替対象物理エクステント、切替先物理エクステント及び基準物理エクステント)を決定する(ステップS1)。
まず、構成情報管理部217は、論理エクステント管理テーブル213に保持されている論理エクステント情報によって示される論理エクステントであって、グループ化されておらず、かつ、アクセス頻度が低い論理エクステントのペアを選択する。
具体的には、構成情報管理部217は、物理エクステント管理テーブル214において参照カウント「1」に対応付けられている物理エクステント識別子PNに対応付けて論理エクステント管理テーブル213に保持されている論理エクステント情報(論理ディスク識別子LUN及び開始ブロックアドレスLBA)によって示される論理エクステントを、グループ化されていない論理エクステントとして判別する。また、構成情報管理部217は、統計情報管理テーブル216において、平均IO間隔が長く、かつ、最終IO完了時刻と現在時刻との差が大きい論理エクステントを、アクセス頻度が低い論理エクステントであると判別する。
次に、構成情報管理部217は、選択された論理エクステントのペアのうち、一方の論理エクステントを切替対象論理エクステントとして決定する。また、構成情報管理部217は、決定された切替対象論理エクステントに割り当てられている物理エクステントを切替対象物理エクステントとして決定する。この場合、構成情報管理部217は、決定された切替対象論理エクステントを示す論理エクステント情報に対応付けて論理エクステント管理テーブル213に保持されている物理エクステント識別子PNによって識別される物理エクステントを切替対象物理エクステントとして決定する。
構成情報管理部217は、選択された論理エクステントのペアのうち、切替対象論理エクステントして決定された論理エクステントとは異なる他方の論理エクステントに割り当てられている物理エクステントを基準エクステントとして決定する。この場合、構成情報管理部217は、切替対象論理エクステントとして決定された論理エクステントとは異なる他方の論理エクステントを示す論理エクステント情報に対応付けて論理エクステント管理テーブル213に保持されている物理エクステント識別子PNによって識別される物理エクステントを基準物理エクステントとして決定する。
また、構成情報管理部217は、決定された基準物理エクステントと同一のディスクアレイ22を構成する物理エクステントであって、論理エクステントに割り当てられていない物理エクステントを切替先物理エクステントとして決定する。基準物理エクステントと同一のディスクアレイ22を構成する物理エクステントとは、当該基準物理エクステントを識別するための物理エクステント識別情子PNに対応付けて物理エクステント管理テーブル214に保持されているディスクアレイ識別子DNと同一のディスクアレイ識別子DNに対応付けて当該物理エクステント管理テーブル214に保持されている物理エクステント識別子PNによって識別される物理エクステントである。また、論理エクステントに割り当てられていない物理エクステントとは、参照カウント「0」に対応付けて物理エクステント管理テーブル214に保持されている物理エクステント識別子PNによって識別される物理エクステントである。
上記したように、構成情報管理部217は、切替対象論理エクステント、切替対象物理エクステント、基準物理エクステント及び切替先物理エクステントを決定する。
なお、グループ化されておらず、かつ、アクセス頻度の低い論理エクステントが存在しない場合、構成情報管理部217は、グループ化されているアクセス頻度の低い論理エクステントをペアの一方としてもよい。この場合、構成情報管理部217は、選択された論理エクステントのペアのうち、論理エクステント管理テーブル213において当該論理エクステントを示す論理エクステント情報に対応付けられている物理エクステント識別子PNに対応付けて物理エクステント管理テーブル214に保持されている参照カウントの値が低い論理エクステントを切替対象論理エクステントとして決定する。
以下の説明においては、論理エクステント管理テーブル213に保持されている切替対象論理エクステントに該当するエントリを切替対象論理エントリと称する。また、物理エクステント管理テーブル214に保持されている切替対象物理エクステントに該当するエントリを切替対象物理エントリ、基準物理エクステントに該当するエントリを基準物理エントリ、切替先エクステントに該当するエントリを切替先物理エントリと称する。
次に、構成情報管理部217は、切替対象物理エントリ(物理エクステント管理テーブル214に保持されている切替対象物理エクステントに該当するエントリ)の参照カウントを検査する。これにより、構成情報管理部217は、切替対象物理エントリの参照カウントの値が1であるか否かを判定する(ステップS2)。構成情報管理部217は、物理エクステント管理テーブル214を参照して判定処理を実行する。
上記したように第1の物理エクステント切替処理においては、切替対象物理エントリの参照カウントの値は1である。このため、構成情報管理部217は、切替対象物理エントリの参照カウントの値が1であると判定する。
切替対象物理エントリの参照カウントの値が1であると判定された場合(ステップS2のYES)、構成情報管理部217は、以下に説明するように切替対象物理エクステント(の実領域)に格納されたデータを切替先物理エクステントにコピーする処理(データコピー処理)を実行する。
このとき、構成情報管理部217は、切替対象論理エントリ(論理エクステント管理テーブル213に保持されている切替対象論理エクステントに該当するエントリ)のコピー先物理エクステント識別子PNとして切替先物理エクステントを識別するための物理エクステント識別子PN(切替先物理エントリの物理エクステント識別子PN)を記録(登録)する。
まず、構成情報管理部217は、切替対象論理エントリのコピー未完了領域オフセット、切替対象物理エントリのディスクアレイ識別子DN及び開始物理アドレスに基づいてディスクリード処理を実行する(ステップS4)。
具体的には、構成情報管理部217は、切替対象論理エントリのコピー未完了領域オフセットによって示されるデータコピー処理が完了していない領域(コピー未完了領域)を起点として切替対象論理エクステントの終端を超えない範囲でリードデータのサイズを決定し、切替対象論理エントリのコピー未完了領域オフセット及び切替対象物理エントリの開始物理アドレスを用いて当該切替対象論理エクステントが割り当てられている物理エクステント(切替対象物理エクステント)におけるディスクリード処理の開始位置を算出する。構成情報管理部217は、ディスクI/F制御部212を介して、切替対象物理エントリのディスクアレイ識別子DNによって識別されるディスクアレイ22へのリード要求を発行して、当該ディスクリード処理の完了を待つ。
これにより、構成情報管理部217は、決定された切替対象論理エクステントに割り当てられている切替対象物理エクステントに格納されているデータ(切替対象物理エントリのディスクアレイ識別子DNによって識別されるディスクアレイ22に格納されているデータであって切替対象物理エクステントに対応するデータ)を当該ディスクアレイ22から読み込む。
構成情報管理部217は、切替対象論理エントリのコピー未完了領域オフセット、切替先物理エントリ(物理エクステント管理テーブル214に保持されている切替先物理エクステントに該当するエントリ)のディスクアレイ識別子DN及び開始物理アドレスに基づいて、ステップS4において読み込まれたデータのディスクライト処理を実行する(ステップS5)。
具体的には、構成情報管理部217は、切替対象論理エントリのコピー未完了領域オフセットによって示されるコピー未完了領域を起点として、当該コピー未完了領域オフセット及び切替先物理エントリの開始物理アドレスを用いて切替先物理エクステントにおけるディスクライト処理の開始位置を算出する。構成情報管理部217は、ディスクI/F制御部212を介して、切替先物理エントリのディスクアレイ識別子DNによって識別されるディスクアレイ22に対してディスクリード処理によって読み込まれたデータを書き込むためのライト要求を発行して、ディスクライト処理の完了を待つ。
これにより、構成情報管理部217は、切替先物理エクステント(切替先物理エントリのディスクアレイ識別子DNによって識別されるディスクアレイ22における当該切替先物理エクステントの実領域)にディスクリード処理によって読み込まれたデータを書き込む。
次に、構成情報管理部217は、切替対象論理エントリのコピー未完了領域オフセット(の値)を更新する(ステップS6)。構成情報管理部217は、ディスクリード処理において決定されたサイズを切替対象論理エントリのコピー未完了領域オフセットの値に加算する。
構成情報管理部217は、更新された切替対象論理エントリのコピー未完了領域オフセットを参照して、データコピー処理が完了したか否かを判定する(ステップS7)。構成情報管理部217は、更新された切替対象論理エントリのコピー未完了領域オフセットの値が固定長である物理エクステント長に達した場合には、データコピー処理が完了したと判定する。
データコピー処理が完了していないと判定された場合(ステップS7のNO)、ステップS4に戻って処理が繰り返される。
一方、データコピー処理が完了したと判定された場合(ステップS7のYES)、構成情報管理部217は、切替対象論理エクステントに割り当てられている物理エクステント(つまり、切替対象物理エクステント)を切替先物理エクステントに切り替える(ステップS8)。この場合、構成情報管理部217は、切替対象論理エントリの物理エクステント識別子PNとして切替先物理エクステントを識別するための物理エクステント識別子PN(切替先物理エントリの物理エクステント識別子PN)を論理エクステント管理テーブル214に登録する。また、構成情報管理部217は、コピー処理が完了したため、切替対象論理エントリのコピー先物理エクステント識別子PN及びコピー未完了領域オフセット(の値)として「0」を登録する。また、構成情報管理部217は、切替対象物理エントリの参照カウントとして「0」、切替先物理エントリの参照カウントとして「1」を物理エクステント管理テーブル214に登録する。
次に、構成情報管理部217は、基準物理エントリ(物理エクステント管理テーブル214に保持されている基準物理エクステントに該当するエントリ)の物理エクステント識別子PN(基準物理エクステントを識別するための物理エクステント識別子PN)及び切替先物理エントリの物理エクステント識別子PN(切替先物理エクステントを識別するための物理エクステント識別子PN)の差(を示すエクステントオフセット)を算出する。
構成情報管理部217は、算出されたエクステントオフセットが0であるか否かを判定する(ステップS9)。第1の物理エクステント切替処理においては、上記したように構成情報管理部217によって決定された基準物理エクステント及び切替先物理エクステントは異なる物理エクステントであるため、当該構成情報管理部217によって算出されたエクステントオフセットは0でないと判定される。
基準物理エントリの物理エクステント識別子PN及び切替先物理エントリの物理エクステント識別子PNのエクステントオフセットが0でないと判定された場合(ステップS9のNO)、構成情報管理部217は、選択された論理エクステントのペアをグループ化する処理(グループ化処理)を実行する(ステップS10)。この論理エクステントのペアのグループ化処理は、「物理エクステント(切替対象物理エクステント及び切替先物理エクステント)が同一ディスクアレイ22に存在する」という規則性に基づいて実行される。
このグループ化処理においては、構成情報管理部217は、算出されたエクステントオフセット(基準物理エントリの物理エクステント識別子PN及び切替先物理エントリの物理エクステント識別子PNの差)を、切替対象論理エントリのエクステントオフセットとして論理エクステント管理テーブル213に登録する。構成情報管理部217は、基準物理エントリの物理エクステント識別子PN(基準物理エクステントを識別するための物理エクステント識別子PN)を、切替対象論理エントリの物理エクステント識別子PNとして論理エクステント管理テーブル213に登録する。また、構成情報管理部217は、基準物理エントリの参照カウントとして「2」を物理エクステント管理テーブル214に登録する。
構成情報管理部217は、切替先物理エントリ(切替先物理エクステントに該当する物理エントリ)を物理エクステント管理テーブル214から削除する(ステップS11)。
ここで、上記した図4〜図6を参照して、構成情報管理部217による第1の物理エクステント切替処理の処理手順について具体的に説明する。ここでは、図4に示す論理ディスクLU100及びディスクアレイ22(22a及び22b)の関係において、論理エクステント管理テーブル213が図5に示すデータ構造を有し、物理エクステント管理テーブル214が図6に示すデータ構造を有する場合における第1の物理エクステント切替処理について説明する。
まず、物理エクステント管理テーブル214のサイズの増加が検出された場合、構成情報管理部217は、論理エクステント管理テーブル213、物理エクステント管理テーブル214及び統計情報管理テーブル216を参照して、切替対象論理エクステント、切替対象物理エクステント、基準物理エクステント及び切替先物理エクステントを決定する。
構成情報管理部217は、論理エクステント管理テーブル21に保持されている論理エクステント情報(論理ディスク識別子LU及び開始ブロックアドレスLBA)によって示される論理エクステントであって、グループ化されておらず、かつ、アクセス頻度の低い論理エクステントのペアを選択する。ここでは、論理エクステント管理テーブル213に保持されている論理ディスク識別子LUN「7」及び開始論理ブロックアドレスLBA「0」によって示される論理ディスクLU100上の論理エクステント101と、論理エクステント管理テーブル213に保持されている論理ディスク識別子LUN「7」及び開始論理ブロックアドレスLBA「4000」によって示される論理ディスクLU100上の論理エクステント103とのペアが選択されたものとする。
次に、構成情報管理部217は、選択された論理エクステントのペアのうち、一方の論理エクステントを切替対象論理エクステントとして決定する。ここでは、論理エクステント103が切替対象論理エクステントとして決定されたものとする。以下、決定された切替対象論理エクステントを切替対象論理エクステント103と称する。
また、構成情報管理部217は、決定された切替対象論理エクステント103に割り当てられている物理エクステント(ここでは、物理エクステント301)を切替対象物理エクステントとして決定する。以下、決定された切替対象物理エクステントを切替対象物理エクステント301と称する。
構成情報管理部217は、選択された論理エクステントペアのうち、切替対象論理エクステントして決定された論理エクステント101とは異なる他方の論理エクステント101に割り当てられている物理エクステント(ここでは、物理エクステント201)を基準エクステントとして決定する。以下、決定された基準エクステントを基準エクステント201と称する。
また、構成情報管理部217は、決定された基準物理エクステント201と同一のディスクアレイ22を構成する物理エクステントであって、論理エクステントに割り当てられていない物理エクステント(ここでは、物理エクステント203)を切替先物理エクステントとして決定する。以下、決定された切替先物理エクステントを切替先物理エクステント203と称する。
切替対象論理エクステント103に該当するエントリを切替対象論理エントリ、切替対象物理エクステント301に該当するエントリを切替対象物理エントリ、基準物理エクステント201に該当するエントリを基準物理エントリ、切替先物理エクステント203に該当するエントリを切替先物理エントリとする。
なお、図4〜図6においては、切替対象論理エントリには、論理ディスク識別子LUN「7」、開始論理ブロックアドレスLBA「4000」、物理エクステント識別子PN「10」、エクステントオフセット「0」、コピー先物理エクステント識別子PN「0」及びコピー未完了領域オフセット「0」が含まれる。
切替対象物理エントリには、物理エクステント識別子PN「10」、ディスクアレイ識別子DN「62」、開始物理アドレス「0」及び参照カウント「1」が含まれる。
基準物理エントリには、物理エクステント識別子PN「1」、ディスクアレイ識別子DN「61」、開始物理アドレス「0」及び参照カウント「1」が含まれる。
また、切替先物理エントリには、物理エクステント識別子PN「3」、ディスクアレイ識別子DN「61」、開始物理アドレス「4000」及び参照カウント「0」が含まれる。
次に、構成情報管理部217は、切替対象物理エントリの参照カウント(の値)を検査する。切替対象物理エントリの参照カウントの値は1である。よって、構成情報管理部217は、切替対象物理エントリの参照カウントの値は1であると判定する。
構成情報管理部217は、切替対象物理エクステント301に格納されたデータを切替先物理エクステントにコピーするデータコピー処理を実行する。このとき、切替対象論理エントリのコピー先物理エクステント識別子PNとして切替先物理エントリの物理エクステント識別子PN「3」が論理エクステント管理テーブル213に登録される。
構成情報管理部217は、切替対象物理エントリの開始物理アドレス「0」に基づいて、当該切替対象物理エントリのディスクアレイ識別子DN「62」によって識別されるディスクアレイ22(ここでは、ディスクアレイ22b)から切替対象物理エクステント301に格納されたデータを読み込む。
次に、構成情報管理部217は、切替先物理エントリの開始物理アドレス「4000」に基づいて、当該切替先物理エントリのディスクアレイ識別子DN「61」によって識別されるディスクアレイ22(ここでは、ディスクアレイ22a)に、ディスクアレイ22bから読み込まれたデータを書き込む。
構成情報管理部217は、上記したように切替対象物理エクステント301に格納されているデータの切替先物理エクステント203に対するコピー処理が完了した場合、切替対象論理エクステント103に割り当てられている切替対象物理エクステント301を切替先物理エクステント203に切り替える。この場合、構成情報管理部217は、切替対象論理エントリの物理エクステント識別子PN「10」を物理エクステント識別子PN「3」に更新する。また、構成情報管理部217は、コピーが完了したため、切替対象論理エントリのコピー先物理エクステント識別子PN「3」をコピー先物理エクステント識別子PN「0」に更新する。これにより、切替対象論理エクステント103に割り当てられる物理エクステントが、切替対象物理エクステント301から切替先物理エクステント203に切り替えられる。
次に、構成情報管理部217は、基準物理エントリの物理エクステント識別子PN「1」及び切替先物理エントリの物理エクステント識別子PN「3」の差(を示すエクステントオフセット)を算出する。
構成情報管理部217は、算出されたエクステントオフセットが0であるか否かを判定する。ここでは、基準物理エントリの物理エクステント識別子PN「1」及び切替先物理エントリの物理エクステント識別子PN「3」の差を示すエクステントオフセットは、「2」である。したがって、構成情報管理部217は、算出されたエクステントオフセットが0でないと判定する。
この場合、構成情報管理部217は、選択された論理エクステント101及び論理エクステント103のペアをグループ化する処理を実行する。構成情報管理部217は、算出されたエクステントオフセット「2」を切替対象論理エントリのエクステントオフセットに登録する。また、構成情報管理部217は、切替対象論理エントリの物理エクステント識別子PN「3」を、基準物理エントリの物理エクステント識別子PN「1」に更新する。また、構成情報管理部217は、基準物理エントリの参照カウント「1」を参照カウント「2」に更新する。
構成情報管理部217は、切替先物理エントリエントリ(物理エクステント識別子PN「3」、ディスクアレイ識別子DN「61」、開始物理アドレス「4000」及び参照カウント「0」)を物理エクステント管理テーブル214から削除する。
ここで、図9は、上記した第1の物理エクステント切替処理が実行された後の論理ディスクLU100とディスクアレイ22(22a及び22b)との関係を示す。上記した第1の物理エクステント切替処理により、図4に示す論理エクステント103に割り当てられていた物理エクステント301が物理エクステント203に切り替えられている。これにより、物理エクステント203には論理エクステント103が割り当てられているが、物理エクステント301には論理エクステントが割り当てられていない状態となる。
図10は、第1の物理エクステント切替処理後の論理エクステント管理テーブル213のデータ構造の一例を示す。図11は、第1の物理エクステント切替処理後の物理エクステント管理テーブル214のデータ構造の一例を示す。
図10に示すように、論理エクステント管理テーブル213においては、第1の物理エクステント切替処理により、切替対象論理エクステント103に該当するエントリ(切替対象論理エントリ)の物理エクステント識別子PN「10」が「1」に、エクステントオフセット「0」が「2」に更新されている。
また、図11に示すように、物理エクステント管理テーブル214においては、基準物理エクステント201に該当するエントリ(基準物理エントリ)の参照カウント「1」が「2」に更新されている。また、物理エクステント管理テーブル214においては、切替対象物理エクステント301に該当するエントリ(切替対象物理エントリ)の参照カウント「1」が「0」に更新されている。更に、物理エクステント管理テーブル214においては、切替先物理エクステント203に該当するエントリ(切替先物理エントリ)が削除されている。つまり、上記した図6に示す第1の物理エクステント切替処理前の物理エクステント管理テーブル214と比較すると、図11に示す第1の物理エクステント切替処理後の物理エクステント管理テーブル214はサイズが縮小している。
このように、物理エクステント管理テーブル214のサイズの増加が検出された場合には、上記した物理エクステント切替処理を実行することにより当該物理エクステント管理テーブル214のサイズを縮小することができる。
また、上記したように第1の物理エクステント切替処理により切替先物理エクステント203に該当するエントリ(切替先物理エントリ)が物理エクステント管理テーブル214から削除されるが、論理エクステント管理テーブル213における切替対象論理エクステント103に該当するエントリ(切替対象論理エントリ)の物理エクステント識別子PNに「1」が登録され、エクステントオフセットに「2」が登録される。
これにより、エントリが削除された切替先物理エクステント203を識別するための物理エクステント識別子PNは、切替対象論理エクステント103に該当するエントリの物理エクステント識別子PN「1」及びエクステントオフセット「2」の和として算出できる。また、切替先物理エクステントから構成されるディスクアレイ22は、当該切替先物理エクステント203が割り当てられている切替対象論理エクステント103に該当するエントリの物理エクステント識別PN「1」に対応付けて物理エクステント管理テーブル214に保持されているディスクアレイ識別子DN「61」によって識別されるディスクアレイ22aである。更に、切替先物理エクステント203の開始アドレスは、当該切替先物理エクステントに割り当てられている切替対象論理エクステント103に該当するエントリのエクステントオフセット「2」及び固定長である物理エクステント長(例えば、2000セクタ)の積と、当該切替対象論理エクステント103に該当するエントリの物理エクステント識別子PN「1」に対応付けて物理エクステント管理テーブル214に保持されている開始物理アドレス「0」との和により算出できる。
つまり、切替対象論理エクステント103に該当するエントリから切替先物理エクステントの物理エクステント識別子PN「3」、ディスクアレイ識別子「61」及び開始物理アドレス「4000」を算出することが可能である。
したがって、上記したように第1の物理エクステント切替処理により切替対象物理エクステント301に該当するエントリ(物理エクステント識別子PN「3」、ディスクアレイ識別子DN「61」、開始物理アドレス「4000」及び参照カウント「0」)が削除された場合であっても、切替対象論理エクステント103及び当該切替対象論理エクステント103に割り当てられている切替先物理エクステント301を対応させることが可能である。
次に、図8のフローチャートを参照して、構成情報管理部217による第2の物理エクステント切替処理(物理エクステント管理テーブル214のサイズが縮小した場合の物理エクステント切替処理)の処理手順について説明する。前述したように、物理エクステント管理テーブル214のサイズが縮小した場合には、上記した切替対象物理エントリ切替処理によりグループ化して管理されている論理エクステントの当該グループ化を解除することにより、当該グループ化されていた論理エクステントに割り当てられている物理エクステントから構成されるディスクアレイ22における当該グループ化によるIO負荷分布の固定化を解消する処理が実行される。
物理エクステント管理テーブル214の縮小が検出された場合、構成情報管理部217は、論理エクステント管理テーブル213、物理エクステント管理テーブル214及び統計情報管理テーブル216を参照して、第2の物理エクステント切替処理の対象となる対象エクステント(切替対象論理エクステント及び切替先物理エクステント)を決定する(ステップS1)。
まず、構成情報管理部217は、論理エクステント管理テーブル213に保持されている論理エクステント情報によって示される論理エクステントであって、グループ化されており、かつ、アクセス頻度が高い論理エクステントを1つ選択する。
具体的には、構成情報管理部217は、論理エクステント管理テーブル213において値が0でないエクステントオフセット(つまり、第1の物理エクステント切替処理において登録されたエクステントオフセット)に対応付けられている論理エクステント情報によって示される論理エクステントであって、かつ、物理エクステント管理テーブル214において値が2以上である参照カウントに対応付けられている物理エクステント識別子PNに対応付けて論理エクステント管理テーブル213に保持されている論理エクステント情報によって示される論理エクステントを、グループ化されている論理エクステントとして判別する。また、構成情報管理部217は、統計情報管理テーブル216において、平均IO間隔が短く、かつ、最終IO完了時刻と現在時刻との差が小さい論理エクステントを、アクセス頻度が高い論理エクステントであると判別する。
構成情報管理部217は、選択された論理エクステントを切替対象論理エクステントして決定する。なお、構成情報管理部217によって決定された切替対象論理エクステントに割り当てられている物理エクステント(以下、切替対象物理エクステントと表記)に該当するエントリは、上記した第1の物理エクステント切替処理により削除されているため物理エクステント管理テーブル214には保持されていない。
構成情報管理部217は、物理エクステント管理テーブル214を探索して、切替先物理エクステントを決定する。構成情報管理部217は、論理エクステントに割り当てられていない物理エクステント、つまり、参照カウントの値が0である物理エクステント(参照カウント「0」に対応付けて物理エクステント管理テーブル214に保持されている物理エクステント識別子PNによって識別される物理エクステント)を切替先物理エクステントとして決定する。
上記したように、構成情報管理部217は、切替対象論理エクステント及び切替先物理エクステントを決定する。
なお、第2の物理エクステント切替処理においては、構成情報管理部217によって決定された切替先物理エクステントと同一の物理エクステントを基準物理エクステントとする。
以下の説明においては、論理エクステント管理テーブル213に保持されている切替対象論理エクステントに該当するエントリを切替対象論理エントリと称する。また、物理エクステント管理テーブル214に保持されている切替先物理エクステントに該当するエントリを切替先物理エントリ、基準物理エクステントに該当するエントリを基準物理エントリと称する。なお、上記したように切替先物理エクステント及び基準物理エクステントは同一であるため、切替先物理エントリ及び基準物理エントリは同一である。
次に、構成情報管理部217は、切替対象論理エントリの物理エクステント識別子PN(切替対象論理エクステントを示す論理エクステント情報に対応付けて論理エクステント管理テーブル213に保持されている物理エクステント識別子PN)に対応付けて物理エクステント管理テーブル214に保持されている参照カウントを検査する。これにより、構成情報管理部217は、切替対象論理エントリの物理エクステント識別子PNに対応付けて物理エクステント管理テーブル214に保持されている参照カウントの値が1であるか否かを判定する(ステップS2)。
上記したように第2の物理エクステント切替処理においては、切替対象論理エントリの物理エクステント識別子PNに対応付けて物理エクステント管理テーブル214に保持されている参照カウントの値は2以上である。このため、構成情報管理部217は、切替対象論理エントリの物理エクステント識別子PNに対応付けて物理エクステント管理テーブル214に保持されている参照カウントの値は1でないと判定する。
参照カウントの値が1でないと判定された場合(ステップS2のYES)、構成情報管理部217は、上記した第1の物理エクステント切替処理においてグループ化された切替対象論理エクステントに対して当該グループ化を解除する処理(グループ化解除処理)を実行する(ステップS3)。
このグループ化解除処理においては、構成情報管理部217は、第1の物理エクステント切替処理において物理エクステント管理テーブル214から削除されたエントリ(つまり、切替対象論理エクステントに割り当てられている切替対象物理エクステントに該当するエントリ)を当該物理エクステント管理テーブル214に追記(再登録)する処理が実行される。以下、グループ化解除処理において物理エクステント管理テーブル214に追記されるエントリを新規エントリと称する。新規エントリには、物理エクステント識別子PN、ディスクアレイ識別子DN、開始物理アドレス及び参照カウントが含まれる。
構成情報管理部217は、新規エントリのディスクアレイ識別子DNとして、切替対象論理エントリの物理エクステント識別子PNに対応付けて物理エクステント管理テーブル214に保持されているディスクアレイ識別子DNを物理エクステント管理テーブル214に登録する。
構成情報管理部217は、新規エントリの物理エクステント識別子PNとして、切替対象論理エントリの物理エクステント識別子PN及びエクステントオフセットの和を物理エクステント管理テーブル214に登録する。
構成情報管理部217は、新規エントリの物理開始アドレスとして、切替対象論理エントリのエクステントオフセット及び固定長である物理エクステント長の積と当該切替対象論理エントリの物理エクステント識別子PNに対応付けて物理エクステント管理テーブル214に保持されている開始物理アドレスとの和を物理エクステント管理テーブル214に登録する。
構成情報管理部217は、新規エントリの参照カウントとして、参照カウント「1」を物理エクステント管理テーブル214に登録する。
また、構成情報管理部217は、切替対象論理エントリのエクステントオフセットの値を0に更新する(つまり、当該エクステントオフセットを無効化する)。構成情報管理部217は、切替対象論理エントリの物理エクステント識別子PNに対応付けて物理エクステント管理テーブル214に保持されている参照カウントの値を1つ減算する。構成情報管理部217は、切替対象論理エクステントの物理エクステント識別子PNとして新規エントリの物理エクステント識別子PNを登録する。
これにより、切替対象論理エントリに該当する論理エクステントに割り当てられている物理エクステントに該当するエントリが物理エクステント管理テーブル214に追記され、切替対象論理エクステントのグループ化が解除される。以下、物理エクステント管理テーブル214に追記された新規エントリを切替対象物理エントリと称する。
構成情報管理部217は、上記した第1の物理エクステント切替処理におけるステップ4〜ステップS7の処理と同様に、データコピー処理を実行する。ここでは、その詳しい説明を省略する。
ステップS7においてデータコピー処理が完了したと判定された場合、構成情報管理部217は、切替対象論理エクステントに割り当てられている物理エクステント(つまり、切替対象物理エクステント)を切替先物理エクステントに切り替える(ステップS8)。この場合、構成情報管理部217は、切替対象論理エントリの物理エクステント識別子PNとして切替先物理エクステントを識別するための物理エクステント識別子PN(切替先物理エントリの物理エクステント識別子PN)を論理エクステント管理テーブル214に登録する。また、構成情報管理部217は、切替対象物理エントリの参照カウントとして参照カウント「0」、切替先物理エントリの参照カウントとして参照カウント「1」を物理エクステント管理テーブル214に登録する。
次に、構成情報管理部217は、切替先物理エントリの物理エクステント識別子PN(基準物理エクステントを識別するための物理エクステント識別子PN)及び基準物理エントリの物理エクステント識別子PNの差(を示すエクステントオフセット)を算出する。
構成情報管理部217は、算出されたエクステントオフセットが0であるか否かを判定する(ステップS9)。第2の物理エクステント切替処理において、上記したように基準物理エクステントは、構成情報管理部217によって決定された切替先物理エクステントと同一の物理エクステントである。このため、構成情報管理部217は、算出されたエクステントオフセットは0であると判定する。
算出されたエクステントオフセット(切替先物理エントリの物理エクステント識別子PN及び基準物理エントリの物理エクステント識別子PNの差)が0であると判定された場合(ステップS9のYES)、処理は終了される。
ここで、上記した図9〜図11を参照して、構成情報管理部217による第2の物理エクステント切替処理の処理手順について具体的に説明する。ここでは、図9に示す論理ディスクLU100及びディスクアレイ22(22a及び22b)の関係において、論理エクステント管理テーブル213が図10に示すデータ構造を有し、物理エクステント管理テーブル214が図11に示すデータ構造を有する場合における第2の物理エクステント切替処理について説明する。
なお、上記図9〜図11において説明したように、第1の物理エクステント切替処理により論理エクステント101及び103がグループ化されているものとする。
まず、物理エクステント管理テーブル214のサイズの縮小が検出された場合、構成情報管理部217は、論理エクステント管理テーブル213、物理エクステント管理テーブル214及び統計情報管理テーブル216を参照して、切替対象論理エクステント及び切替先物理エクステントを決定する。
構成情報管理部217は、論理エクステント管理テーブル213に保持されている論理エクステント情報(論理ディスク識別子LUN及び開始ブロックアドレスLBA)によって示される論理エクステントであって、グループ化されており、かつ、アクセス頻度が高い論理エクステントを1つ選択する。ここでは、論理エクステント管理テーブル213に保持されている論理ディスク識別子LUN「7」及び開始論理ブロックアドレスLBA「4000」によって示される論理ディスクLU100上の論理エクステント103が選択されたものとする。
構成情報管理部217は、選択された論理エクステント103を切替対象論理エクステントとして決定する。以下、決定された切替対象論理エクステントを切替対象論理エクステントの103と称する。また、決定された切替対象論理エクステント103に割り当てられている物理エクステントは、物理エクステント203である。以下、切替対象論理エクステント103に割り当てられている物理エクステント203を切替対象物理エクステント203と称する。
なお、切替対象論理エクステント103に割り当てられている物理エクステント(切替対象物理エクステント)203に該当するエントリ(物理エクステント識別子PN「3」、ディスクアレイ識別子DN「61」、開始物理アドレス「4000」及び参照カウント)は、上記した第1の物理エクステント切替処理により物理エクステント管理テーブル214から削除されている。
構成情報管理部217は、物理エクステント管理テーブル214を探索して、切替先物理エクステントを決定する。構成情報217は、論理エクステントに割り当てられていない物理エクステント(参照カウント「0」に対応付けて物理エクステント管理テーブル214に保持されている物理エクステント識別子PNによって識別される物理エクステント)を切替先物理エクステントとして決定する。ここでは、参照カウント「0」に対応付けて物理エクステント管理テーブル214に保持されている物理エクステント識別子PN「10」によって識別される物理エクステント301が切替先物理エクステントとして決定されたものとする。以下、決定された切替先物理エクステントを切替先物理エクステント301と称する。
なお、第2の物理エクステント切替処理においては、構成情報管理部217によって決定された切替先物理エクステント301と同一の物理エクステントとを基準物理エクステントとする。以下、基準物理エクステントを基準物理エクステント301と称する。
切替対象論理エクステント103に該当するエントリを切替対象論理エントリ、切替先物理エクステント301に該当するエントリを切替先物理エントリとする。また、基準物理エクステント301に該当するエントリを基準物理エントリとする。
なお、図9〜図11においては、切替対象論理エントリには、論理ディスク識別子LUN「7」、開始ブロックアドレスLBA「4000」、物理エクステント識別子PN「1」、エクステントオフセット「2」、コピー先物理エクステント識別子PN「0」及びコピー未完了領域オフセット「0」が含まれる。
切替先物理エントリ(及び基準物理エントリ)には、物理エクステント識別子PN「10」、ディスクアレイ識別子DN「62」、開始物理アドレス「0」及び参照カウント「0」が含まれる。
次に、構成情報管理部217は、切替対象論理エントリの物理エクステント識別子PNに対応付けて物理エクステント管理テーブル214に保持されている参照カウントの値が1であるか否かを判定する。この場合、切替対象論理エントリの物理エクステント識別子PN「1」に対応付けて物理エクステント管理テーブル214に保持されている参照カウントの値は2である。このため、構成情報管理部217は、切替対象論理エントリの物理エクステント識別子PNに対応付けて物理エクステント管理テーブル214に保持されている参照カウントの値は1でないと判定する。
構成情報管理部217は、第1の物理エクステント切替処理においてグループ化された切替対象論理エクステント103(及び論理エクステント101のペア)のグループ化を解除する処理を実行する。構成情報管理部217は、第1の物理エクステント切替処理において物理エクステント管理テーブル214から削除されたエントリ(切替対象物理エクステント203に該当するエントリ)を新規エントリとして当該物理エクステント管理テーブル214に追記する処理が実行される。
構成情報管理部217は、切替対象物理エクステント203に該当するエントリ(新規エントリ)のディスクアレイ識別子DNとして、切替対象論理エントリの物理エクステント識別子PN「1」に対応付けて物理エクステント管理テーブル2114に保持されているディスクアレイ識別子DN「61」を物理エクステント管理テーブル214に登録する。
構成情報管理部217は、切替対象物理エクステント203に該当するエントリの物理エクステント識別子PNとして、切替対象論理エントリの物理エクステント識別子PN「1」及びエクステントオフセット「2」の和(つまり、物理エクステント識別子PN「3」)を物理エクステント管理テーブル214に登録する。
構成情報管理部217は、切替対象物理エクステント203に該当するエントリの開始物理アドレスとして、切替対象論理エントリのエクステントオフセット「2」及び固定長である物理エクステント長(ここでは、2000セクタ)の積と当該切替対象論理エントリの物理エクステント識別子PNに対応付けて物理エクステント管理テーブル214に保持されている開始物理アドレス「0」との和を物理エクステント管理テーブル214に登録する。この場合、切替対象物理エクステント203に該当するエントリの開始物理アドレスとして、開始物理アドレス「4000」が物理エクステント管理テーブル214に登録される。
構成情報管理部217は、切替対象物理エクステント203に該当するエントリの参照カウントとして、参照カウント「1」を物理エクステント管理テーブル214に登録する。
また、構成情報管理部217は、切替対象論理エントリのエクステントオフセット「2」をエクステントオフセット「0」に更新する(つまり、エクステントオフセット「2」を無効化する)。構成情報管理部217は、切替対象論理エントリの物理エクステント識別子PN「1」に対応付けて物理エクステント管理テーブル214に保持されている参照カウント「2」を「1」に更新する(参照カウントの値を1つ減算する)。構成情報管理部217は、切替対象論理エントリの物理エクステント識別子を「3」に更新する。
これにより、切替対象物理エクステント203に該当するエントリ(物理エクステント識別子「3」、ディスクアレイ識別子「61」、開始物理アドレス「4000」及び参照カウント「1」)が物理エクステント管理テーブル214に追記される。以下、物理エクステント管理テーブル214に追記されたエントリを切替対象物理エントリと称する。
構成情報管理部217は、切替対象物理エクステント203に格納されたデータを切替先物理エクステント301にコピーするデータコピー処理を実行する。このとき、切替対象論理エントリのコピー先物理エクステント識別PNとして切替先物理エントリの物理エクステント識別子PN「10」論理エクステント管理テーブル213に登録される。
構成情報管理部217は、切替対象論理エントリの開始物理アドレス「4000」に基づいて、当該切替対象物理エントリのディスクアレイ識別子DN「61」によって識別されるディスクアレイ22(ここではディスクアレイ22a)から切替対象物理エクステント203に格納されたデータを読み込む。
構成情報管理部217は、切替先物理エントリの開始物理アドレス「0」に基づいて、当該切替先物理エントリのディスクアレイ識別子DN「62」によって識別されるディスクアレイ22(ここでは、ディスクアレイ22b)に、ディスクアレイ22aから読み込まれたデータを書き込む。
構成情報管理部217は、上記したように切替対象物理エクステント203に格納されているデータの切替先物理エクステント301に対するコピー処理が完了した場合、切替対象論理エクステント103に割り当てられている切替対象物理エクステント203を切替先物理クステント301に切り替える。この場合、構成情報管理部217は、切替対象論理エントリの物理エクステント識別子PN「3」を物理エクステント識別子PN「10」に更新する。また、構成情報管理部217は、コピーが完了したため、切替対象論理エントリのコピー先物理エクステント識別子PN「10」をコピー先物理エクステント識別子「0」に更新する。これにより、切替対象論理エクステント103に割り当てられる物理エクステントが、切替対象物理エクステント203から切替先物理エクステント301に切り替えられる。
次に、構成情報管理部217は、切替先物理エントリの物理エクステント識別子PN及び基準物理エントリの物理エクステント識別子PNの差(を示すエクステントオフセット)を算出する。
構成情報管理部217は、算出されたエクステントオフセットが0であるか否かを判定する。上記したように第2の物理エクステント切り替え処理においては、切替先物理エクステント301及び基準物理エクステント301は同一の物理エクステントであり、当該切替先物理エントリ及び基準物理エントリの物理エクステント識別子PNは共に物理エクステント識別子PN「10」である。したがって、構成情報管理部217は、算出されたエクステントオフセットが0であると判定する。算出されたエクステントオフセットが0であると判定された場合、処理は終了される。
ここでは、図9に示す論理ディスクLU100及びディスクアレイ22(22a及び22b)の関係において、論理エクステント管理テーブル213が図10に示すデータ構造を有し、物理エクステント管理テーブル214が図11に示すデータ構造を有する場合における第2の物理エクステント切替処理について具体的に説明したが、当該第2の物理エクステント切替処理が実行された後は、前述した図4〜図6に示す状態となり、論理エクステント101及び103のグループ化が解除される。
上記したように第2の物理エクステント切替処理によりグループ化されていた論理エクステント101及び103のグループ化が解除されることによって、当該グループ化によるIO負荷分布の固定化が解消される。
次に、図12のフローチャートを参照して、図3に示すI/O処理部218によるリード要求受信処理の処理手順について説明する。ここでは、リード要求受信処理は、I/O処理部218によって実行されるものとして説明するが、適宜、統計情報管理部215及び構成情報管理部217を介して実行される。
まず、I/O処理部218は、ホストコンピュータ10によって送信されたリード要求を取得する(ステップS21)。このとき、I/O処理部218は、ホストI/F制御部211(ホストI/F21e)によって受信されたリード要求を取得する。
I/O処理部218によって取得されたリード要求には、ホストコンピュータ10によって指定されたリードデータが読み込まれる対象となる論理ディスクLUを識別するための論理ディスク識別子LUN、当該論理ディスクLUにおけるリードデータの読み込み開始位置を示す論理ブロックアドレスLBA及び当該リードデータのサイズ(リードサイズ)が含まれる。つまり、リード要求に含まれる論理ディスク識別子LUN、論理ブロックアドレスLBA及びリードサイズによって、当該リード要求において要求される論理ディスクLUにおけるリード範囲(リード要求範囲)が特定される。
なお、I/O処理部218によって取得されたリード要求には、例えば当該リード要求を送信したホストコンピュータ10を識別するためのID等が含まれている。I/O処理部218は、このID等によりリード要求を送信したホストコンピュータ10を特定することができる。
次に、I/O処理部218は、取得されたリード要求に含まれる論理ディスク識別子LUN、論理ブロックアドレスLBA及びリードサイズに基づいて、当該リード要求によるアクセスの対象となる領域(アクセス対象領域)を含む論理エクステントをアクセス対象論理エクステントとして特定する(ステップS22)。このとき、I/O処理部218は、論理エクステント管理テーブル213に保持されている論理ディスク識別子LUN及び開始論理ブロックアドレスと固定長である論理エクステント長(論理エクステントサイズ)とに基づいてアクセス対象論理エクステントを特定する。
なお、アクセス対象領域が論理エクステントの境界を跨ぐ場合には、当該アクセス対象領域は当該境界で分割される。この場合、分割された複数のアクセス対象領域の各々を含む複数の論理エクステントがアクセス対象論理エクステントとして特定される。ステップS22において複数のアクセス対象論理エクステントが特定された場合、当該アクセス対象論理エクステントの各々についてステップS23以降の処理が実行される。
I/O処理部218は、特定されたアクセス対象論理エクステントに物理エクステントが未割り当てであるか否か(割り当てられているか否か)を判定する(ステップS23)。このとき、I/O処理部218は、アクセス対象論理エクステントに該当するエントリが論理エクステント管理テーブル213に存在するか否か(つまり、アクセス対象論理エクステントを示す論理エクステント情報が論理エクステント管理テーブル213に保持されているか)を検査する。
I/O処理部218は、アクセス対象論理エクステントに該当するエントリが論理エクステント管理テーブル213に存在する場合には、アクセス対象論理エクステントに物理エクステントが未割り当てでない(つまり、割り当てられている)と判定する。一方、I/O処理部218は、アクセス対象論理エクステントに該当するエントリが論理エクステント管理テーブル213に存在しない場合には、アクセス対象論理エクステントに物理エクステントが未割り当てである(つまり、割り当てられていない)と判定する。
アクセス対象論理エクステントに物理エクステントが未割り当てでない(割り当てられている)と判定された場合(ステップS23のNO)、I/O処理部218は、論理エクステント管理テーブル213におけるアクセス象論理エクステントに該当するエントリ(以下、アクセス対象論理エントリと表記)の物理エクステント識別子PNによって識別される物理エクステントに該当するエントリ(当該物理エクステント識別子PNを含むエントリ)を物理エクステント管理テーブル214から探索する(ステップS24)。以下、探索されたエントリを対象物理エントリと称する。
次に、I/O処理部218は、アクセス対象論理エクステントに割り当てられている物理エクステントの開始物理アドレスを算出する(ステップS25)。I/O処理部218は、アクセス対象論理エントリのエクステントオフセット及び固定長である物理エクステント長の積と対象物理エントリの開始物理アドレスとの和を、アクセス対象論理エクステントに割り当てられている物理エクステントの実際の開始物理アドレスとして算出する。
つまり、アクセス対象論理エントリのエクステントオフセットの値が0である場合、当該アクセス対象エントリの物理エクステント識別子PNによって識別される物理エクステントがアクセス対象論理エクステントに割り当てられている物理エクステントである。この場合、ステップS25においてはアクセス対象論理エクステントに割り当てられている物理エクステントの開始物理アドレスとして対象物理エントリの開始物理アドレスが算出される。
I/O処理部218は、算出された開始物理アドレス及び対象物理エントリのディスクアレイ識別子DNに基づいて、ディスクリード処理を実行する(ステップS26)。
I/O処理部218は、取得されたリード要求に含まれる論理ブロックアドレスLBAとリードサイズ、アクセス対象論理エントリの開始ブロックアドレスLBAとエクステントサイズ及び算出された開始物理アドレスに基づいて、対象物理エントリのディスクアレイ識別子DNによって識別されるディスクアレイ22におけるリードデータ(アクセス対象論理エクステントの全領域とリード要求範囲が重なる領域に該当するリードデータ)の開始位置(アドレス)とサイズを算出する。I/O処理部218は、算出されたリードデータの開始位置とサイズに基づいて、対象物理エントリのディスクアレイ識別子DNによって識別されるディスクアレイ22からデータ(リードデータ)を読み込む。このとき、I/O処理部218は、対象物理エントリのディスクアレイ識別子DNによって識別されるディスクアレイ22に対して、ディスクI/F制御部212(ディスクI/F21f)を介してリード要求を発行して完了を待つことによってリードデータを読み込む。
I/O処理部218は、読み込まれたリードデータを、リード要求を送信したホストコンピュータ10に対して転送する(ステップS27)。I/O処理部218は、ホストI/F制御部211(ホストI/F21e)を介してリードデータを転送する。
I/O処理部218は、リード要求に基づいて、統計情報管理テーブル216に保持されている統計情報(アクセス対象論理エクステントに対応付けて保持されているIOPS、スループット、平均IO間隔及び最終IO完了時刻)を更新する(ステップS28)。
次に、I/O処理部218は、取得されたリード要求におけるリード要求範囲の全てについて処理が完了したか否かを判定する(ステップS29)。この場合、上記したステップS22において特定されたアクセス対象論理エクステントの全てについてステップS23以降の処理が実行された場合には、リード要求範囲の全てについて処理が完了したと判定される。一方、ステップS22において特定されたアクセス対象論理エクステントの全てについてステップS23以降の処理が実行されていない場合には、リード要求範囲の全てについて処理が完了していないと判定される。
リード要求範囲の全てについて処理が完了していないと判定された場合(ステップS29のNO)、上記したステップS23に戻って処理が繰り返される。この場合、ステップS22において特定されたアクセス対象論理エクステントのうち、ステップS23以降の処理が実行されていないアクセス対象論理エクステントについて当該処理が実行される。
一方、リード要求範囲の全てについて処理が完了したと判定された場合(ステップS29のYES)、I/O処理部218は、リード要求範囲に対してリードデータ転送が完了したため、取得されたリード要求を送信したホストコンピュータ10に対して例えば処理が完了した旨の通知(ステータス)を転送する(ステップS30)。このステータス転送処理が実行されると、リード要求受信処理は終了される。
なお、上記したステップS23においてアクセス対象論理エクステントに物理エクステントが未割り当てである(つまり、割り当てられていない)と判定された場合、ステップS27の処理が実行される。この場合、アクセス対象論理エクステントに割り当てられている物理エクステントが存在しないため、例えば0で埋められたデータを用いてステップS27の処理が実行される。
次に、図13のフローチャートを参照して、図3に示すI/O処理部218によるライト要求受信処理の処理手順について説明する。ここでは、ライト要求受信処理は、I/O処理部218によって実行されるものとして説明するが、適宜、統計情報管理部215及び構成情報管理部217を介して実行される。
まず、I/O処理部218は、ホストコンピュータ10によって送信されたライト要求及び当該ライト要求に応じて書き込まれるデータ(ライトデータ)を取得する(ステップS41)。このとき、I/O処理部218は、ホストI/F制御部211(ホストI/F21e)によって受信されたライト要求及びライトデータを取得する。
I/O処理部218によって取得されたライト要求には、ホストコンピュータによって指定されたライトデータが書き込まれる対象となる論理ディスクLUを識別するための論理ディスク識別子LUN、当該論理ディスクLUにおけるライトデータの書き込み開始位置を示す論理ブロックアドレスLBA及びライトデータのサイズ(ライトサイズ)が含まれる。つまり、ライト要求に含まれる論理ディスク識別子LUN、論理ブロックアドレスLBA及びライトサイズによって、当該ライト要求において要求される論理ディスクLUにおけるライト範囲(ライト要求範囲)が特定される。
なお、上記したリード要求と同様に、I/O処理部218によって取得されたライト要求には、例えばID等が含まれており、当該IDにより当該ライト要求を送信したホストコンピュータ10を特定することができる。
次に、I/O処理部218は、取得されたライト要求に含まれる論理ディスク識別子LUN、論理ブロックアドレスLBA及びライトサイズに基づいて、当該ライト要求によるアクセスの対象となる領域(アクセス対象領域)を含む論理エクステントをアクセス対象論理エクステントとして特定する(ステップS42)。このとき、I/O処理部218は、論理エクステント管理テーブル213に保持されている論理ディスク識別子LUN及び開始論理ブロックアドレスと固定長である論理エクステント長(論理エクステントサイズ)とに基づいてアクセス対象論理エクステントを特定する。
なお、アクセス対象領域が論理エクステントの境界を跨ぐ場合には、当該アクセス対象領域は当該境界で分割される。この場合、分割された複数のアクセス対象領域の各々を含む複数の論理エクステントがアクセス対象論理エクステントとして特定される。ステップS42において複数のアクセス対象論理エクステントが特定された場合、当該アクセス対象論理エクステントの各々についてステップS43以降の処理が実行される。
I/O処理部218は、特定されたアクセス対象論理エクステントに物理エクステントが未割り当てであるか否か(割り当てられているか否か)を判定する(ステップS43)。このとき、I/O処理部218は、アクセス対象論理エクステントに該当するエントリが論理エクステント管理テーブル213に存在するか(つまり、アクセス対象論理エクステントを示す論理エクステント情報が論理エクステント管理テーブル213に保持されているか)否かを検査する。
I/O処理部218は、アクセス対象論理エクステントに該当するエントリが論理エクステント管理テーブル213に存在する場合には、アクセス対象論理エクステントに物理エクステントが未割り当てでない(つまり、割り当てられている)と判定する。一方、I/O処理部218は、アクセス対象論理エクステントに該当するエントリが論理エクステント管理テーブル213に存在しない場合には、アクセス対象論理エクステントに物理エクステントが未割り当てである(つまり、割り当てられていない)と判定する。
アクセス対象論理エクステントに物理クステントが未割り当てである(割り当てられていない)と判定された場合(ステップS43のYES)、I/O処理部218は、アクセス対象論理エクステントに新規に物理エクステントを割り当てる(ステップS44)。この場合、I/O処理部218は、論理エクステントに割り当てられていない物理エクステントをアクセス対象論理エクステントに割り当てる。
具体的には、I/O処理部218は、参照カウント「0」に対応付けて物理エクステント管理テーブル214に保持されている物理エクステント識別子PNによって識別される物理エクステントをアクセス対象論理エクステントに割り当てる。このとき、I/O処理部218は、物理エクステント管理テーブル214において、アクセス対象論理エクステントに割り当てられた物理エクステントに該当するエントリの参照カウント「0」を「1」に更新する。更に、I/O処理部218は、アクセス対象論理エクステントに割り当てられた物理エクステントに該当するエントリの物理エクステント識別子PNを用いて、当該アクセス対象論理エクステントに該当する新規エントリを論理エクステント管理テーブル213に追記する。この場合、新規エントリとして、アクセス対象論理エクステントから構成される論理ディスクLUを識別するための論理ディスク識別子LUN、当該アクセス対象論理エクステントの開始論理ブロックアドレスLBA、アクセス対象論理エクステントに割り当てられた物理エクステントに該当するエントリの物理エクステント識別子PN、エクステントオフセット「0」、コピー先物理エクステント識別子PN「0」及びコピー未完了領域オフセット「0」が論理エクステント管理テーブル213に登録される。また、統計情報管理テーブル216にもアクセス対象論理エクステントに該当するエントリが追記される。この場合、論理エクステント管理テーブル213と同様に、論理ディスク識別子LUN及び開始論理ブロックアドレスLBAが登録され、他の項目(IOPS、スループット、平均IO間隔及び最終IO完了時刻)には0が登録される。
次に、I/O処理部218は、アクセス対象論理エクステント(に格納されているデータ)がコピー中であるか否かを判定する(ステップS45)。I/O処理部218は、論理エクステント管理テーブル213におけるアクセス対象論理エクステントに該当するエントリ(以下、アクセス対象論理エントリと表記)のコピー先物理エクステント識別子PN及びコピー未完了領域オフセットの値が0である場合には、アクセス対象論理エクステントがコピー中でないと判定する。
アクセス対象論理エクステントがコピー中であると判定された場合(ステップS45のYES)、I/O処理部218は、アクセス対象論理エントリのコピー未完了領域オフセットを参照し、コピー完了領域(コピー未完了領域オフセットによって示されるコピー未完了領域以外の領域)と、取得されたライト要求(に含まれる論理ディスク識別子LUN、論理ブロックアドレスLBA及びライトサイズ)から特定されるライト要求範囲(ライト対象領域)とを比較する。これにより、I/O処理部218は、コピー完了領域とライト要求範囲とが重なるか否かを判定する(ステップS46)。
コピー完了領域とライト要求範囲とが重なると判定された場合(ステップS46のYES)、以下のステップS47〜ステップS49においては、当該コピー完了領域とライト要求範囲とが重なる領域に該当するライトデータについてコピー先となる物理エクステントに対するライト処理が実行される。
この場合、I/O処理部218は、アクセス対象論理エントリのコピー先物理エクステント識別子PNによって識別される物理エクステントに該当するエントリ(当該物理エクステント識別子PNを含むエントリ)を物理エクステント管理テーブル214から探索する(ステップS47)。以下、探索されたエントリを第1の対象物理エントリと称する。
次に、I/O処理部218は、アクセス対象論理エクステント(に格納されているデータ)がコピーされている物理エクステントの開始物理アドレス(以下、第1の開始物理アドレスと表記)を特定する(ステップS48)。I/O処理部218は、第1の対象物理エントリの開始物理アドレスを、第1の開始物理アドレスとして特定する。
I/O処理部218は、特定された第1の開始物理アドレス及び第1の対象物理エントリのディスクアレイ識別子DNに基づいて、上記したステップS46においてコピー完了領域とライト要求範囲とが重なると判定された領域についてディスクライト処理を実行する(ステップS49)。
I/O処理部218は、取得されたライト要求に含まれる論理ブロックアドレスLBAとライトサイズ、アクセス対象論理エントリの開始論理ブロックアドレスLBA及び特定された第1の開始物理アドレスに基づいて、第1の対象物理エントリのディスクアレイ識別子DNによって識別されるディスクアレイ22におけるライトデータ(上記したステップS46においてコピー完了領域とライト要求範囲とが重なると判定された領域に該当するライトデータ)の開始位置(アドレス)とサイズを算出する。I/O処理部218は、算出されたライトデータの開始位置とサイズに基づいて、第1の対象物理エントリのディスクアレイ識別子DNによって識別されるディスクアレイ22に対してライトデータを書き込む。このとき、I/O処理部218は、第1の対象物理エントリのディスクアレイ識別子DNによって識別されるディスクアレイ22に対して、ディスクI/F制御部212(ディスクI/F21f)を介してライト要求を発行して完了を待つことによってライトデータを書き込む。
次に、I/O処理部218は、アクセス対象論理エントリの物理エクステント識別子PNによって識別される物理エクステントに該当するエントリを物理エクステント管理テーブル214から探索する(ステップS24)。以下、探索されたエントリを第2の対象物理エントリと称する。
I/O処理部218は、アクセス対象論理エクステントに割り当てられている物理エクステントの開始物理アドレス(以下、第2の開始物理アドレスと表記)を算出する(ステップS51)。I/O処理部218は、アクセス対象論理エントリのエクステントオフセット及び固定長である物理エクステント長の積と第2の対象物理エントリの開始物理アドレスとの和を、アクセス対象論理エクステントに割り当てられている物理エクステントの開始物理アドレス(第2の開始物理アドレス)として算出する。
I/O処理部218は、算出された第2の開始物理アドレス及び第2の対象物理エントリのディスクアレイ識別子DNに基づいて、ディスクライト処理を実行する(ステップS52)。
I/O処理部218は、取得されたライト要求に含まれる論理ブロックアドレスLBAとライトサイズ、アクセス対象論理エントリの開始論理ブロックアドレスLBAとエクステントサイズ及び算出された開始物理アドレスに基づいて、第2の対象物理エントリのディスクアレイ識別子DNによって識別されるディスクアレイ22におけるライトデータ(アクセス対象論理エクステントの全領域とライト要求範囲が重なる領域に該当するライトデータ)の開始位置(アドレス)とサイズを算出する。I/O処理部218は、算出されたライトデータの開始位置とサイズに基づいて、第2の対象物理エントリのディスクアレイ識別子DNによって識別されるディスクアレイ22に対してライトデータを書き込む。このとき、I/O処理部218は、第2の対象物理エントリのディスクアレイ識別子DNによって識別されるディスクアレイ22に対して、ディスクI/F制御部212(ディスクI/F21f)を介してライト要求を発行して完了を待つことによってライトデータを書き込む。
I/O処理部218は、ライト要求に基づいて、統計情報管理テーブル216に保持されている統計情報(アクセス対象論理エクステントに対応付けて保持されているIOPS、スループット、平均IO間隔及び最終IO完了時刻)を更新する(ステップS53)。
次に、I/O処理部218は、取得されたライト要求におけるライト要求範囲の全てについて処理が完了したか否かを判定する(ステップS54)。この場合、上記したステップS42において特定されたアクセス対象論理エクステントの全てについてステップS43以降の処理が実行された場合には、ライト要求範囲の全てについて処理が完了したと判定される。一方、ステップS42において特定されたアクセス対象論理エクステントの全てについてステップS23以降の処理が実行されていない場合には、ライト要求範囲の全てについて処理が完了していないと判定される。
ライト要求範囲の全てについて処理が完了しないていないと判定された場合(ステップS54のNO)、上記したステップS43に戻って処理が繰り返される。この場合、ステップS42において特定されたアクセス対象論理エクステントのうち、ステップS43以降の処理が実行されていないアクセス対象論理エクステントについて当該処理が実行される。
一方、ライト要求範囲の全てについて処理が完了したと判定された場合(ステップS54のYES)、I/O処理部218は、ライト要求範囲に対してライトデータのライト処理が完了した旨の通知(ステータス)を、ライト要求を送信したホストコンピュータ10に対して転送する(ステップS55)。このステータス転送処理が実行されると、ライト要求受信処理は終了される。
なお、上記したステップS43においてアクセス対象論理エクステントに物理エクステントが未割り当てでない(割り当てられている)と判定された場合、ステップS44の処理が実行される。
また、上記したステップS45においてアクセス対象論理エクステントがコピー中でないと判定された場合、及びステップS46においてコピー完了領域とライト要求範囲とが重ならないと判定された場合、ステップS50の処理が実行される。つまり、この場合には上記したステップS47〜ステップS49のコピー先となる物理エクステントに対するライト処理は実行されない。
上記したように本実施形態においては、物理エクステント管理テーブル214のサイズが変動した場合に、物理エクステント切替処理により物理エクステントと物理エクステントとの対応付けを管理する論理エクステント管理テーブル213及び物理エクステント管理テーブル214が修正(更新)される。これにより、本実施形態においては、複数の論理エクステント(と物理エクステントとの対応付け)を動的にグループ化または非グループ化(グループ化解除)することによって仮想論理ディスク技術における論理エクステント及び物理エクステントの対応関係の管理に必要となる物理エクステント管理テーブル213の記憶容量(サイズ)を調整することが可能となる。
本実施形態においては、ディスクアレイの増設または物理エクステント(及び論理エクステント)の固定長(エクステントサイズ)の縮小によって物理エクステント管理テーブル214のサイズが増加した場合、第1の物理エクステント切替処理によって論理エクステント(切替対象論理エクステント)に割り当てられている物理エクステント(切替対象物理エクステント)に格納されているデータを異なる論理エクステントに割り当てられている物理エクステント(基準物理エクステント)と同一のディスクアレイを構成する物理エクステント(切替先物理エクステント)にコピーする処理が実行され、当該切替先物エクステントに該当するエントリが物理エクステント管理テーブル214から削除される。これにより、本実施形態においては、「物理エクステントが同一ディスクアレイに存在する」という規則性に基づいて複数の論理エクステントのグループ化処理を実行することで、物理エクステント管理テーブル214のサイズを縮小することが可能となる。
また、本実施形態においては、第1の物理エクステント切替処理において統計情報管理テーブル216に保持されている統計情報に基づいてアクセス頻度の低い論理エクステントをグループ化することで、当該グループ化によりIO負荷分布が固定化することによる性能への影響を低減することが可能となる。
つまり、本実施形態においては、複数の論理エクステント及び物理エクステントの対応付けに規則性があるものをグループ化することで物理エクステント管理テーブル214のサイズを縮小することが可能となり、当該物理エクステント管理テーブル214のサイズの制限によるディスクアレイ22(記憶装置)の増設またはエクステントサイズの縮小に対する制限を回避することが可能となる。
また、本実施形態においては、ディスクアレイの撤去またはエクステントサイズの拡大によって物理エクステント管理テーブル214のサイズが縮小した場合、グループ化された論理エクステントに対してグループ化解除処理が第2の物理エクステント切替処理において実行されることで、グループ化されていたことによるIO負荷分布の固定化を解消することができる。
また、本実施形態においては、第2の物理エクステント切替処理において統計情報管理テーブル216に保持されている統計情報に基づいてアクセス頻度の高い論理エクステントを非グループ化することで、IO負荷分布の固定化の解消の効果を向上させることが可能となる。
本実施形態においては、第1の物理エクステント切替処理によるグループ化によって、「論理エクステントと物理エクステントとの柔軟な対応付け」という特徴が相殺され、IO負荷分布が固定化されてしまうことによる性能劣化を招く可能性がある。しかしながら、本実施形態においては、上記したように複数の論理エクステントをグループ化する一方で、論理エクステントと物理エクステントとの1対1の対応付けを併用していることから、論理エクステントへのアクセス頻度を参照しながら動的に切り替えることで影響を最小限に抑制し、かつ、物理容量またはエクステントサイズの変化に柔軟に対応することが可能である。
なお、本実施形態においては、物理エクステント管理テーブル214のサイズが変動した場合に物理エクステント切替処理が実行されるものとして説明したが、例えばユーザまたはシステム管理者からの指示に応じて物理エクステント切替処理が実行される構成であっても構わない。この場合、ユーザまたはシステム管理者によって指定された処理(第1または第2の物理エクステント切替処理)が実行される。
また、本実施形態においては、第1の物理エクステント切替処理におけるグループ化処理は「物理エクステントが同一ディスクアレイに存在する」という規則性に基づいて実行されるが、グループ化処理における規則性はこれに限られるものではない。例えば等間隔で並んだ論理エクステントに対応する(割り当てられている)物理エクステントについても同一間隔で並ぶように物理エクステント切替処理によって配置することで「論理エクステントが等間隔で並び、物理エクステントも同一間隔で配置されている」という規則性に基づきグループ化処理が実行される構成であっても構わない。
[変形例]
以下、図14を参照して、本実施形態の変形例について説明する。図14は、本変形例に係る仮想化装置を含むストレージシステム(ネットワークシステム)の構成を示すブロック図である。なお、前述した図1と同様の部分には同一参照符号を付してその詳しい説明を省略する。ここでは、図1と異なる部分について主に述べる。
図14に示すストレージシステムは、複数のホストコンピュータ10、仮想化装置100及び複数のストレージ装置110を含む。
図14に示すように、複数(例えばN台)のホストコンピュータ10及び仮想化装置100は、スイッチ30を介して接続される。また、仮想化装置100及び複数のストレージ装置110は、スイッチ120を介して接続される。
複数のホストコンピュータ10及び仮想化装置100間(または仮想化装置100及び複数のストレージ装置110間)を接続するインタコネクトとしては、SCSIプロトコルに基づくブロックデバイス用I/FであるFCまたはiSCSIを想定している。例えば複数のホストコンピュータ10及びストレージ装置20間(または仮想化装置100及び複数のストレージ装置110間)を接続するインタコネクトがFCである場合、スイッチ30(またはスイッチ120)の部分はファブリック・スイッチとなる。一方、iSCSIである場合、スイッチ30(またはスイッチ120)の部分はスイッチング・ハブとなる。
複数のストレージ装置110は、前述した本実施形態と同様に外部装置(例えば仮想化装置100)に対して論理ディスクLUを提供する機能を有するが、必ずしも仮想論理ディスク技術を有する必要はない。
仮想化装置100は、前述した本実施形態に係るストレージ装置20と同様に、論理ディスクLUをホストコンピュータ10に対して提供する機能を有する。仮想化装置100は、内部にコントローラ21を備える。仮想化装置10に備えられるコントローラ21のハードウェア構成及び機能構成は、前述した図2及び図3と同様であるため、その詳しい説明は省略する。
仮想化装置100に備えられるコントローラ21は、ストレージ装置110によって提供される論理ディスクLUに対して、前述した本実施形態におけるストレージ装置20に備えられるコントローラ21がディスクアレイ22に対して実行する処理と同様の処理を実行する。
すなわち、本変形例においては、ストレージ装置110によって仮想化装置100に対して提供される論理ディスクLU(第1の論理ディスク)が前述した本実施形態におけるディスクアレイ22に相当する。また、仮想化装置100によってホストコンピュータ10に対して提供される論理ディスクLU(第2の論理ディスク)が前述した本実施形態における論理ディスクLUに相当する。
なお、仮想化装置100は、ストレージ装置110(外部装置)によって提供される論理ディスクLUを、前述した本実施形態におけるディスクアレイ22と同様に、複数の物理エクステントに分割して管理する。また、仮想化装置100によってホストコンピュータ10に対して提供される論理ディスクLUは、前述した本実施形態におけるストレージ装置20によって提供される論理ディスクLUと同様に、仮想化装置100において複数の論理エクステントに分割して管理される。
また、本変形例においては、コントローラ21に含まれる物理エクステント管理テーブル214には、ディスクアレイ識別子DNに代えて、ストレージ装置110によって仮想化装置100に対して提供される論理ディスクLU(第1の論理ディスク)を識別するための論理ディスク識別子LUN(論理ディスク識別情報)が保持される。
上記した点以外については、前述した本実施形態と同様であるため、仮想化装置10に備えられるコントローラ21の処理の詳しい説明については省略する。
上記したように本変形例においては、仮想化装置100に含まれるコントローラ21に含まれる物理エクステント管理テーブル214のサイズが変動した場合に、前述した本実施形態と同様に、物理エクステント切替処理により物理エクステントと物理エクステントとの対応付けを管理する論理エクステント管理テーブル213及び物理エクステント管理テーブル214が修正(更新)される。これにより、本実施形態においては、複数の論理エクステント(と物理エクステントとの対応付け)を動的にグループ化または非グループ化(グループ化解除)することによって仮想論理ディスク技術における論理エクステント及び物理エクステントの対応関係の管理に必要となる物理エクステント管理テーブル213の記憶容量(サイズ)を調整することが可能となる。
なお、本願発明は、上記実施形態またはその変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態またはその変形例に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態またはその変形例に示される全構成要素から幾つかの構成要素を削除してもよい。更に、実施形態またはその変形例に亘る構成要素を適宜組合せてもよい。
10…ホストコンピュータ、20,110…ストレージ装置、21…コントローラ、21a…I/Oプロセッサ、21b…ROM、21c…メモリ、21d…バッテリ、21e…ホストI/F、21f…ディスクI/F、21g…PCI−Expressスイッチ、22…ディスクアレイ、23…スイッチ、100…仮想化装置、211…ホストI/F制御部、212…ディスクI/F制御部、213…論理エクステント管理テーブル、214…物理エクステント管理テーブル、215…統計情報管理部、216…統計情報管理テーブル、217…構成情報管理部、218…I/O処理部、221…記憶媒体。

Claims (5)

  1. 固定長領域に分割された複数の物理エクステントから構成され、各種データを格納する複数のディスクアレイを備え、当該物理エクステントが割り当てられる論理エクステントから構成される論理ディスクを当該論理ディスクに対してアクセスするホストコンピュータに対して提供するストレージ装置において、
    前記物理エクステントが割り当てられている論理エクステントを示す論理エクステント情報及び当該物理エクステントを識別するための物理エクステント識別情報を対応付けて保持する論理エクステント管理テーブルと、
    前記複数の物理エクステントの各々を識別するための物理エクステント識別情報、当該物理エクステント識別情報によって識別される物理エクステントから構成されるディスクアレイを識別するためのディスクアレイ識別情報及び当該ディスクアレイ内における当該物理エクステントの開始位置を示す開始物理アドレスを対応付けて保持する物理エクステント管理テーブルと、
    前記物理エクステント管理テーブルのサイズの増加または縮小を検出する検出手段と、
    前記物理エクステント管理テーブルのサイズの増加が検出された場合、前記論理エクステント管理テーブルに保持されている論理エクステント情報によって示される論理エクステントのペアを選択する選択手段と、
    前記選択された論理エクステントのペアのうち、一方の論理エクステントを切替対象論理エクステントとして決定する第1の決定手段と、
    前記第1の決定手段によって決定された切替対象論理エクステントを示す論理エクステント情報に対応付けて論理エクステント管理テーブルに保持されている物理エクステント識別情報によって識別される物理エクステントを切替対象物理エクステントとして決定する第2の決定手段と、
    前記選択された論理エクステントのペアのうち、前記第1の決定手段によって切替対象論理エクステントとして決定された論理エクステントとは異なる他方の論理エクステントを示す論理エクステント情報に対応付けて論理エクステント管理テーブルに保持されている物理エクステント識別情報によって識別される物理エクステントを基準物理エクステントとして決定する第3の決定手段と、
    前記論理エクステント管理テーブルに保持されている論理エクステント情報によって示される論理エクステントに割り当てられていない物理エクステントであって、前記第3の決定手段によって決定された基準物理エクステントを識別するための物理エクステント識別情報に対応付けて前記物理エクステント管理テーブルに保持されているディスクアレイ識別情報と同一のディスクアレイ識別情報に対応付けて前記物理エクステント管理テーブルに保持されている物理エクステント識別情報によって識別される物理エクステントを切替先物理エクステントとして決定する第4の決定手段と、
    前記第2の決定手段によって決定された切替対象物理エクステントに格納されているデータを、当該切替対象物理エクステントを識別するための物理エクステント識別情報に対応付けて前記物理エクステント管理テーブルに保持されているディスクアレイ識別情報及び開始物理アドレスに基づいて当該当該ディスクアレイ識別情報によって識別されるディスクアレイから読み込む読み込み手段と、
    前記第4の決定手段によって決定された切替先物理エクステントを識別するための物理エクステント識別情報に対応付けて前記物理エクステント管理テーブルに保持されている開始物理アドレスに基づいて、当該物理エクステント識別情報に対応付けて前記物理エクステント管理テーブルに保持されているディスクアレイ識別情報によって識別されるディスクアレイに前記読み込まれたデータを書き込む書き込み手段と、
    前記第3の決定手段によって決定された基準物理エクステントを識別するための物理エクステント識別情報及び前記第4の決定手段によって決定された切替先物理エクステントを識別するための物理エクステント識別情報の差を示すエクステントオフセットを算出する算出手段と、
    前記第1の決定手段によって決定された切替対象論理エクステントを示す論理エクステント情報に対応付けて、前記算出されたエクステントオフセットを前記論理エクステント管理テーブルに登録する第1の登録手段と、
    前記第1の決定手段によって決定された切替対象論理エクステントを示す論理エクステント情報に対応付けて前記論理エクステント管理テーブルに保持されている物理エクステント識別情報に代えて、前記第3の決定手段によって決定された基準物理エクステントを識別するための物理エクステント識別情報を登録する第2の登録手段と、
    前記第4の決定手段によって決定された切替先物理エクステントを識別するための物理エクステント識別情報、当該物理エクステント識別情報に対応付けられているディスクアレイ識別情報及び開始物理アドレスを、前記物理エクステント管理テーブルから削除する削除手段と
    を具備することを特徴とするストレージ装置。
  2. 前記論理ディスクを構成する論理エクステント毎に、前記ホストコンピュータからの当該論理エクステントに対するアクセスに関する統計を示す統計情報を保持する統計情報管理テーブルを更に具備し、
    前記選択手段は、前記統計情報管理テーブルに保持されている統計情報に基づいて、前記ホストコンピュータからのアクセス頻度が低い論理エクステントのペアを選択する
    ことを特徴とする請求項1記載のストレージ装置。
  3. 第5の決定手段、第6の決定手段、第3の登録手段、第4の登録手段、第5の登録手段、グループ化解除手段及び第6の登録手段を更に具備し、
    前記第5の決定手段は、前記物理エクステント管理テーブルのサイズの縮小が検出された場合、前記第1の登録手段によって登録されたエクステントオフセットに対応付けて前記論理エクステント管理テーブルに保持されている論理エクステント情報によって示される論理エクステントを切替対象論理エクステントとして決定し、
    前記第6の決定手段は、前記論理エクステント管理テーブルに保持されている論理エクステント情報によって示される論理エクステントに割り当てられていない物理エクステントを切替先物理エクステントとして決定し、
    前記第3の登録手段は、前記第5の決定手段によって決定された切替対象論理エクステントを示す論理エクステント情報に対応付けて前記論理エクステント管理テーブルに保持されている物理エクステント識別情報と当該論理エクステント情報に対応付けて前記論理エクステント管理テーブルに保持されているエクステントオフセットとの和を物理エクステント識別情報として前記物理エクステント管理テーブルに登録し、
    前記第4の登録手段は、前記第5の決定手段によって決定された切替対象論理エクステントを示す論理エクステント情報に対応付けて前記論理エクステント管理テーブルに保持されている物理エクステント識別情報に対応付けて前記物理エクステント管理テーブルに保持されているディスクアレイ識別情報を、前記第3の登録手段によって登録された物理エクステント識別情報に対応付けて前記物理エクステント管理テーブルに登録し、
    前記第5の登録手段は、前記第5の決定手段によって決定された切替対象論理エクステントを示す論理エクステント情報に対応付けて前記論理エクステント管理テーブルに保持されているエクステントオフセット及び前記物理エクステントの固定長の積と前記第5の決定手段によって決定された切替対象論理エクステントを示す論理エクステント情報に対応付けて前記論理エクステント管理テーブルに保持されている物理エクステント識別情報に対応付けて前記物理エクステント管理テーブルに保持されている開始物理アドレスとの和を開始物理アドレスとして、前記第3の登録手段によって登録された物理エクステント識別情報に対応付けて前記物理エクステント管理テーブルに登録し、
    前記グループ化解除手段は、前記第5の決定手段によって決定された切替対象論理エクステントを示す論理エクステント情報に対応付けて前記論理エクステント管理テーブルに保持されているエクステントオフセットを無効化し、
    前記読み込み手段は、前記第3の登録手段によって登録された物理エクステント識別情報によって識別される物理エクステントに格納されているデータを、前記第5の登録手段によって登録された開始物理アドレスに基づいて前記第4の登録手段によって登録されたディスクアレイ識別情報によって識別されるディスクアレイから読み込み、
    前記書き込み手段は、前記第6の決定手段によって決定された切替先物理エクステントを識別するための物理エクステント識別情報に対応付けて前記物理エクステント管理テーブルに保持されている開始物理アドレスに基づいて、当該物理エクステント識別情報に対応付けて前記物理エクステント管理テーブルに保持されているディスクアレイ識別情報によって識別されるディスクアレイに、前記第4の登録手段によって登録されたディスクアレイ識別情報によって識別されるディスクアレイから読み込まれたデータを書き込み、
    前記第6の登録手段は、前記第5の決定手段によって決定された切替対象論理エクステントを示す論理エクステント情報に対応付けて前記論理エクステント管理テーブルに保持されている物理エクステント識別情報に代えて、前記第6の決定手段によって決定された切替先物理エクステントを識別するための物理エクステント識別情報を登録する
    ことを特徴とする請求項1記載のストレージ装置。
  4. 前記論理ディスクを構成する論理エクステント毎に、前記ホストコンピュータからの当該論理エクステントに対するアクセスに関する統計を示す統計情報を保持する統計情報管理テーブルを更に具備し、
    前記第5の決定手段は、前記統計情報管理テーブルに保持されている統計情報に基づいて、前記ホストコンピュータからのアクセス頻度が高い論理エクステントを切替対象論理エクステントとして決定する
    ことを特徴とする請求項3記載のストレージ装置。
  5. 固定長領域に分割された複数の物理エクステントから構成され、外部装置によって提供される第1の論理ディスクであって、当該第1の論理ディスクを構成する物理エクステントが割り当てられる論理エクステントから構成される第2の論理ディスクを当該第2の論理ディスクに対してアクセスするホストコンピュータに対して提供する仮想化装置において、
    前記物理エクステントが割り当てられている論理エクステントを示す論理エクステント情報及び当該物理エクステントを識別するための物理エクステント識別情報を対応付けて保持する論理エクステント管理テーブルと、
    前記複数の物理エクステントの各々を識別するための物理エクステント識別情報、当該物理エクステント識別情報によって識別される物理エクステントから構成される第1の論理ディスクを識別するための論理ディスク識別情報及び当該第1の論理ディスク内における当該物理エクステントの開始位置を示す開始物理アドレスを対応付けて保持する物理エクステント管理テーブルと、
    前記物理エクステント管理テーブルのサイズの増加または縮小を検出する検出手段と、
    前記物理エクステント管理テーブルのサイズの増加が検出された場合、前記論理エクステント管理テーブルに保持されている論理エクステント情報によって示される論理エクステントのペアを選択する選択手段と、
    前記選択された論理エクステントのペアのうち、一方の論理エクステントを切替対象論理エクステントとして決定する第1の決定手段と、
    前記第1の決定手段によって決定された切替対象論理エクステントを示す論理エクステント情報に対応付けて論理エクステント管理テーブルに保持されている物理エクステント識別情報によって識別される物理エクステントを切替対象物理エクステントとして決定する第2の決定手段と、
    前記選択された論理エクステントのペアのうち、前記第1の決定手段によって切替対象論理エクステントとして決定された論理エクステントとは異なる他方の論理エクステントを示す論理エクステント情報に対応付けて論理エクステント管理テーブルに保持されている物理エクステント識別情報によって識別される物理エクステントを基準物理エクステントとして決定する第3の決定手段と、
    前記論理エクステント管理テーブルに保持されている論理エクステント情報によって示される論理エクステントに割り当てられていない物理エクステントであって、前記第3の決定手段によって決定された基準物理エクステントを識別するため得の物理エクステント識別情報に対応付けて前記物理エクステント管理テーブルに保持されている論理ディスク識別情報と同一の論理ディスク識別情報に対応付けて前記物理エクステント管理テーブルに保持されている物理エクステント識別情報によって識別される物理エクステントを切替先物理エクステントとして決定する第4の決定手段と、
    前記第2の決定手段によって決定された切替対象物理エクステントに格納されているデータを、当該切替対象物理エクステントを識別するための物理エクステント識別情報に対応付けて前記物理エクステント管理テーブルに保持されている論理ディスク識別情報及び開始物理アドレスに基づいて当該論理ディスク識別情報によって識別される第1の論理ディスクから読み込む読み込み手段と、
    前記第4の決定手段によって決定された切替先物理エクステントを識別するための物理エクステント識別情報に対応付けて前記物理エクステント管理テーブルに保持されている開始物理アドレスに基づいて、当該物理エクステント識別情報に対応付けて前記物理エクステント管理テーブルに保持されている論理ディスク識別情報によって識別される第1の論理ディスクに前記読み込まれたデータを書き込む書き込み手段と、
    前記第3の決定手段によって決定された基準物理エクステントを識別するための物理エクステント識別情報及び前記第4の決定手段によって決定された切替先物理エクステントを識別するための物理エクステント識別情報の差を示すエクステントオフセットを算出する算出手段と、
    前記第1の決定手段によって決定された切替対象論理エクステントを示す論理エクステント情報に対応付けて、前記算出されたエクステントオフセットを前記論理エクステント管理テーブルに登録する第1の登録手段と、
    前記第1の決定手段によって決定された切替対象論理エクステントを示す論理エクステント情報に対応付けて前記論理エクステント管理テーブルに保持されている物理エクステント識別情報に代えて、前記第3の決定手段によって決定された基準物理エクステントを識別するための物理エクステント識別情報を登録する第2の登録手段と、
    前記第4の決定手段によって決定された切替先物理エクステントを識別するための物理エクステント識別情報、当該物理エクステント識別情報に対応付けられている論理ディスク識別情報及び開始物理アドレスを、前記物理エクステント管理テーブルから削除する削除手段と
    を具備することを特徴とする仮想化装置。
JP2009059201A 2009-03-12 2009-03-12 ストレージ装置及び仮想化装置 Active JP4869368B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009059201A JP4869368B2 (ja) 2009-03-12 2009-03-12 ストレージ装置及び仮想化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009059201A JP4869368B2 (ja) 2009-03-12 2009-03-12 ストレージ装置及び仮想化装置

Publications (2)

Publication Number Publication Date
JP2010211681A true JP2010211681A (ja) 2010-09-24
JP4869368B2 JP4869368B2 (ja) 2012-02-08

Family

ID=42971735

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009059201A Active JP4869368B2 (ja) 2009-03-12 2009-03-12 ストレージ装置及び仮想化装置

Country Status (1)

Country Link
JP (1) JP4869368B2 (ja)

Cited By (133)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014532227A (ja) * 2011-09-30 2014-12-04 ピュア・ストレージ・インコーポレイテッド ストレージシステムにおける可変長符号化
US9589008B2 (en) 2013-01-10 2017-03-07 Pure Storage, Inc. Deduplication of volume regions
US9588842B1 (en) 2014-12-11 2017-03-07 Pure Storage, Inc. Drive rebuild
US9684460B1 (en) 2010-09-15 2017-06-20 Pure Storage, Inc. Proactively correcting behavior that may affect I/O performance in a non-volatile semiconductor storage device
US9710165B1 (en) 2015-02-18 2017-07-18 Pure Storage, Inc. Identifying volume candidates for space reclamation
US9727485B1 (en) 2014-11-24 2017-08-08 Pure Storage, Inc. Metadata rewrite and flatten optimization
US9773007B1 (en) 2014-12-01 2017-09-26 Pure Storage, Inc. Performance improvements in a storage system
US9779268B1 (en) 2014-06-03 2017-10-03 Pure Storage, Inc. Utilizing a non-repeating identifier to encrypt data
US9792045B1 (en) 2012-03-15 2017-10-17 Pure Storage, Inc. Distributing data blocks across a plurality of storage devices
US9804973B1 (en) 2014-01-09 2017-10-31 Pure Storage, Inc. Using frequency domain to prioritize storage of metadata in a cache
US9811551B1 (en) 2011-10-14 2017-11-07 Pure Storage, Inc. Utilizing multiple fingerprint tables in a deduplicating storage system
US9817608B1 (en) 2014-06-25 2017-11-14 Pure Storage, Inc. Replication and intermediate read-write state for mediums
US9864761B1 (en) 2014-08-08 2018-01-09 Pure Storage, Inc. Read optimization operations in a storage system
US9864769B2 (en) 2014-12-12 2018-01-09 Pure Storage, Inc. Storing data utilizing repeating pattern detection
US10114574B1 (en) 2014-10-07 2018-10-30 Pure Storage, Inc. Optimizing storage allocation in a storage system
US10126982B1 (en) 2010-09-15 2018-11-13 Pure Storage, Inc. Adjusting a number of storage devices in a storage system that may be utilized to simultaneously service high latency operations
US10156998B1 (en) 2010-09-15 2018-12-18 Pure Storage, Inc. Reducing a number of storage devices in a storage system that are exhibiting variable I/O response times
US10164841B2 (en) 2014-10-02 2018-12-25 Pure Storage, Inc. Cloud assist for storage systems
US10180879B1 (en) 2010-09-28 2019-01-15 Pure Storage, Inc. Inter-device and intra-device protection data
US10185505B1 (en) 2016-10-28 2019-01-22 Pure Storage, Inc. Reading a portion of data to replicate a volume based on sequence numbers
US10191662B2 (en) 2016-10-04 2019-01-29 Pure Storage, Inc. Dynamic allocation of segments in a flash storage system
US10235065B1 (en) 2014-12-11 2019-03-19 Pure Storage, Inc. Datasheet replication in a cloud computing environment
US10263770B2 (en) 2013-11-06 2019-04-16 Pure Storage, Inc. Data protection in a storage system using external secrets
US10284367B1 (en) 2012-09-26 2019-05-07 Pure Storage, Inc. Encrypting data in a storage system using a plurality of encryption keys
US10296469B1 (en) 2014-07-24 2019-05-21 Pure Storage, Inc. Access control in a flash storage system
US10296354B1 (en) 2015-01-21 2019-05-21 Pure Storage, Inc. Optimized boot operations within a flash storage array
US10310740B2 (en) 2015-06-23 2019-06-04 Pure Storage, Inc. Aligning memory access operations to a geometry of a storage device
US10359942B2 (en) 2016-10-31 2019-07-23 Pure Storage, Inc. Deduplication aware scalable content placement
US10365858B2 (en) 2013-11-06 2019-07-30 Pure Storage, Inc. Thin provisioning in a storage device
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
US10430079B2 (en) 2014-09-08 2019-10-01 Pure Storage, Inc. Adjusting storage capacity in a computing system
US10430282B2 (en) 2014-10-07 2019-10-01 Pure Storage, Inc. Optimizing replication by distinguishing user and system write activity
US10452297B1 (en) 2016-05-02 2019-10-22 Pure Storage, Inc. Generating and optimizing summary index levels in a deduplication storage system
US10452290B2 (en) 2016-12-19 2019-10-22 Pure Storage, Inc. Block consolidation in a direct-mapped flash storage system
US10452289B1 (en) 2010-09-28 2019-10-22 Pure Storage, Inc. Dynamically adjusting an amount of protection data stored in a storage system
US10496556B1 (en) 2014-06-25 2019-12-03 Pure Storage, Inc. Dynamic data protection within a flash storage system
KR20190142815A (ko) * 2018-06-19 2019-12-30 주식회사 티맥스데이터 데이터 익스텐트 이동 방법
US10545987B2 (en) 2014-12-19 2020-01-28 Pure Storage, Inc. Replication to the cloud
US10545861B2 (en) 2016-10-04 2020-01-28 Pure Storage, Inc. Distributed integrated high-speed solid-state non-volatile random-access memory
US10564882B2 (en) 2015-06-23 2020-02-18 Pure Storage, Inc. Writing data to storage device based on information about memory in the storage device
US10623386B1 (en) 2012-09-26 2020-04-14 Pure Storage, Inc. Secret sharing data protection in a storage system
US10656864B2 (en) 2014-03-20 2020-05-19 Pure Storage, Inc. Data replication within a flash storage array
US10678433B1 (en) 2018-04-27 2020-06-09 Pure Storage, Inc. Resource-preserving system upgrade
US10678436B1 (en) 2018-05-29 2020-06-09 Pure Storage, Inc. Using a PID controller to opportunistically compress more data during garbage collection
US10693964B2 (en) 2015-04-09 2020-06-23 Pure Storage, Inc. Storage unit communication within a storage system
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
US10776202B1 (en) 2017-09-22 2020-09-15 Pure Storage, Inc. Drive, blade, or data shard decommission via RAID geometry shrinkage
US10776034B2 (en) 2016-07-26 2020-09-15 Pure Storage, Inc. Adaptive data migration
US10776046B1 (en) 2018-06-08 2020-09-15 Pure Storage, Inc. Optimized non-uniform memory access
US10789211B1 (en) 2017-10-04 2020-09-29 Pure Storage, Inc. Feature-based deduplication
US10831935B2 (en) 2017-08-31 2020-11-10 Pure Storage, Inc. Encryption management with host-side data reduction
US10846216B2 (en) 2018-10-25 2020-11-24 Pure Storage, Inc. Scalable garbage collection
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US10908835B1 (en) 2013-01-10 2021-02-02 Pure Storage, Inc. Reversing deletion of a virtual machine
US10915813B2 (en) 2018-01-31 2021-02-09 Pure Storage, Inc. Search acceleration for artificial intelligence
US10929046B2 (en) 2019-07-09 2021-02-23 Pure Storage, Inc. Identifying and relocating hot data to a cache determined with read velocity based on a threshold stored at a storage device
US10944671B2 (en) 2017-04-27 2021-03-09 Pure Storage, Inc. Efficient data forwarding in a networked device
US10970395B1 (en) 2018-01-18 2021-04-06 Pure Storage, Inc Security threat monitoring for a storage system
US10983866B2 (en) 2014-08-07 2021-04-20 Pure Storage, Inc. Mapping defective memory in a storage system
US10990480B1 (en) 2019-04-05 2021-04-27 Pure Storage, Inc. Performance of RAID rebuild operations by a storage group controller of a storage system
US11010233B1 (en) 2018-01-18 2021-05-18 Pure Storage, Inc Hardware-based system monitoring
US11032259B1 (en) 2012-09-26 2021-06-08 Pure Storage, Inc. Data protection in a storage system
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
US11036393B2 (en) 2016-10-04 2021-06-15 Pure Storage, Inc. Migrating data between volumes using virtual copy operation
US11036583B2 (en) 2014-06-04 2021-06-15 Pure Storage, Inc. Rebuilding data across storage nodes
US11070382B2 (en) 2015-10-23 2021-07-20 Pure Storage, Inc. Communication in a distributed architecture
US11080154B2 (en) 2014-08-07 2021-08-03 Pure Storage, Inc. Recovering error corrected data
US11086713B1 (en) 2019-07-23 2021-08-10 Pure Storage, Inc. Optimized end-to-end integrity storage system
US11093146B2 (en) 2017-01-12 2021-08-17 Pure Storage, Inc. Automatic load rebalancing of a write group
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
US11113409B2 (en) 2018-10-26 2021-09-07 Pure Storage, Inc. Efficient rekey in a transparent decrypting storage array
US11119657B2 (en) 2016-10-28 2021-09-14 Pure Storage, Inc. Dynamic access in flash system
US11128448B1 (en) 2013-11-06 2021-09-21 Pure Storage, Inc. Quorum-aware secret sharing
US11133076B2 (en) 2018-09-06 2021-09-28 Pure Storage, Inc. Efficient relocation of data between storage devices of a storage system
US11144638B1 (en) 2018-01-18 2021-10-12 Pure Storage, Inc. Method for storage system detection and alerting on potential malicious action
US11188269B2 (en) 2015-03-27 2021-11-30 Pure Storage, Inc. Configuration for multiple logical storage arrays
US11194473B1 (en) 2019-01-23 2021-12-07 Pure Storage, Inc. Programming frequently read data to low latency portions of a solid-state storage array
US11194759B2 (en) 2018-09-06 2021-12-07 Pure Storage, Inc. Optimizing local data relocation operations of a storage device of a storage system
US11231956B2 (en) 2015-05-19 2022-01-25 Pure Storage, Inc. Committed transactions in a storage system
US11249999B2 (en) 2015-09-04 2022-02-15 Pure Storage, Inc. Memory efficient searching
US11269884B2 (en) 2015-09-04 2022-03-08 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US11275509B1 (en) 2010-09-15 2022-03-15 Pure Storage, Inc. Intelligently sizing high latency I/O requests in a storage environment
US11281577B1 (en) 2018-06-19 2022-03-22 Pure Storage, Inc. Garbage collection tuning for low drive wear
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
US11307772B1 (en) 2010-09-15 2022-04-19 Pure Storage, Inc. Responding to variable response time behavior in a storage environment
US11334254B2 (en) 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
US11341236B2 (en) 2019-11-22 2022-05-24 Pure Storage, Inc. Traffic-based detection of a security threat to a storage system
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
US11397674B1 (en) 2019-04-03 2022-07-26 Pure Storage, Inc. Optimizing garbage collection across heterogeneous flash devices
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US11403019B2 (en) 2017-04-21 2022-08-02 Pure Storage, Inc. Deduplication-aware per-tenant encryption
US11403043B2 (en) 2019-10-15 2022-08-02 Pure Storage, Inc. Efficient data compression by grouping similar data within a data segment
US11422751B2 (en) 2019-07-18 2022-08-23 Pure Storage, Inc. Creating a virtual storage system
US11436023B2 (en) 2018-05-31 2022-09-06 Pure Storage, Inc. Mechanism for updating host file system and flash translation layer based on underlying NAND technology
US11449485B1 (en) 2017-03-30 2022-09-20 Pure Storage, Inc. Sequence invalidation consolidation in a storage system
US11487665B2 (en) 2019-06-05 2022-11-01 Pure Storage, Inc. Tiered caching of data in a storage system
US11494109B1 (en) 2018-02-22 2022-11-08 Pure Storage, Inc. Erase block trimming for heterogenous flash memory storage devices
US11500788B2 (en) 2019-11-22 2022-11-15 Pure Storage, Inc. Logical address based authorization of operations with respect to a storage system
US11520907B1 (en) 2019-11-22 2022-12-06 Pure Storage, Inc. Storage system snapshot retention based on encrypted data
US11588633B1 (en) 2019-03-15 2023-02-21 Pure Storage, Inc. Decommissioning keys in a decryption storage system
US11615185B2 (en) 2019-11-22 2023-03-28 Pure Storage, Inc. Multi-layer security threat detection for a storage system
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US11625481B2 (en) 2019-11-22 2023-04-11 Pure Storage, Inc. Selective throttling of operations potentially related to a security threat to a storage system
US11636031B2 (en) 2011-08-11 2023-04-25 Pure Storage, Inc. Optimized inline deduplication
US11645162B2 (en) 2019-11-22 2023-05-09 Pure Storage, Inc. Recovery point determination for data restoration in a storage system
US11651075B2 (en) 2019-11-22 2023-05-16 Pure Storage, Inc. Extensible attack monitoring by a storage system
US11657155B2 (en) 2019-11-22 2023-05-23 Pure Storage, Inc Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system
US11675898B2 (en) 2019-11-22 2023-06-13 Pure Storage, Inc. Recovery dataset management for security threat monitoring
US11687418B2 (en) 2019-11-22 2023-06-27 Pure Storage, Inc. Automatic generation of recovery plans specific to individual storage elements
US11704036B2 (en) 2016-05-02 2023-07-18 Pure Storage, Inc. Deduplication decision based on metrics
US11720714B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Inter-I/O relationship based detection of a security threat to a storage system
US11720692B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Hardware token based management of recovery datasets for a storage system
US11733908B2 (en) 2013-01-10 2023-08-22 Pure Storage, Inc. Delaying deletion of a dataset
US11755751B2 (en) 2019-11-22 2023-09-12 Pure Storage, Inc. Modify access restrictions in response to a possible attack against data stored by a storage system
US11768623B2 (en) 2013-01-10 2023-09-26 Pure Storage, Inc. Optimizing generalized transfers between storage systems
US11775189B2 (en) 2019-04-03 2023-10-03 Pure Storage, Inc. Segment level heterogeneity
US11782614B1 (en) 2017-12-21 2023-10-10 Pure Storage, Inc. Encrypting data to optimize data reduction
US11869586B2 (en) 2018-07-11 2024-01-09 Pure Storage, Inc. Increased data protection by recovering data from partially-failed solid-state devices
US11934322B1 (en) 2018-04-05 2024-03-19 Pure Storage, Inc. Multiple encryption keys on storage drives
US11941116B2 (en) 2019-11-22 2024-03-26 Pure Storage, Inc. Ransomware-based data protection parameter modification
US11947968B2 (en) 2015-01-21 2024-04-02 Pure Storage, Inc. Efficient use of zone in a storage device
US11963321B2 (en) 2019-09-11 2024-04-16 Pure Storage, Inc. Low profile latching mechanism
US11995336B2 (en) 2018-04-25 2024-05-28 Pure Storage, Inc. Bucket views
US12008266B2 (en) 2010-09-15 2024-06-11 Pure Storage, Inc. Efficient read by reconstruction
US12045487B2 (en) 2017-04-21 2024-07-23 Pure Storage, Inc. Preserving data deduplication in a multi-tenant storage system
US12050683B2 (en) 2019-11-22 2024-07-30 Pure Storage, Inc. Selective control of a data synchronization setting of a storage system based on a possible ransomware attack against the storage system
US12050689B2 (en) 2019-11-22 2024-07-30 Pure Storage, Inc. Host anomaly-based generation of snapshots
US12067118B2 (en) 2019-11-22 2024-08-20 Pure Storage, Inc. Detection of writing to a non-header portion of a file as an indicator of a possible ransomware attack against a storage system
US12079502B2 (en) 2019-11-22 2024-09-03 Pure Storage, Inc. Storage element attribute-based determination of a data protection policy for use within a storage system
US12079333B2 (en) 2019-11-22 2024-09-03 Pure Storage, Inc. Independent security threat detection and remediation by storage systems in a synchronous replication arrangement
US12079356B2 (en) 2019-11-22 2024-09-03 Pure Storage, Inc. Measurement interval anomaly detection-based generation of snapshots
US12087382B2 (en) 2019-04-11 2024-09-10 Pure Storage, Inc. Adaptive threshold for bad flash memory blocks

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003296153A (ja) * 2002-03-29 2003-10-17 Fujitsu Ltd ストレージシステムおよびそのためのプログラム
JP2005242690A (ja) * 2004-02-26 2005-09-08 Hitachi Ltd ストレージサブシステムおよび性能チューニング方法
JP2006221371A (ja) * 2005-02-09 2006-08-24 Fujitsu Ltd デイスクアレイ装置の構成定義設定方法及びデイスクアレイ装置
JP2008165620A (ja) * 2006-12-28 2008-07-17 Hitachi Ltd ストレージ装置構成管理方法、管理計算機及び計算機システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003296153A (ja) * 2002-03-29 2003-10-17 Fujitsu Ltd ストレージシステムおよびそのためのプログラム
JP2005242690A (ja) * 2004-02-26 2005-09-08 Hitachi Ltd ストレージサブシステムおよび性能チューニング方法
JP2006221371A (ja) * 2005-02-09 2006-08-24 Fujitsu Ltd デイスクアレイ装置の構成定義設定方法及びデイスクアレイ装置
JP2008165620A (ja) * 2006-12-28 2008-07-17 Hitachi Ltd ストレージ装置構成管理方法、管理計算機及び計算機システム

Cited By (219)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10353630B1 (en) 2010-09-15 2019-07-16 Pure Storage, Inc. Simultaneously servicing high latency operations in a storage system
US12008266B2 (en) 2010-09-15 2024-06-11 Pure Storage, Inc. Efficient read by reconstruction
US10156998B1 (en) 2010-09-15 2018-12-18 Pure Storage, Inc. Reducing a number of storage devices in a storage system that are exhibiting variable I/O response times
US10228865B1 (en) 2010-09-15 2019-03-12 Pure Storage, Inc. Maintaining a target number of storage devices for variable I/O response times in a storage system
US9684460B1 (en) 2010-09-15 2017-06-20 Pure Storage, Inc. Proactively correcting behavior that may affect I/O performance in a non-volatile semiconductor storage device
US10126982B1 (en) 2010-09-15 2018-11-13 Pure Storage, Inc. Adjusting a number of storage devices in a storage system that may be utilized to simultaneously service high latency operations
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US11275509B1 (en) 2010-09-15 2022-03-15 Pure Storage, Inc. Intelligently sizing high latency I/O requests in a storage environment
US11307772B1 (en) 2010-09-15 2022-04-19 Pure Storage, Inc. Responding to variable response time behavior in a storage environment
US10452289B1 (en) 2010-09-28 2019-10-22 Pure Storage, Inc. Dynamically adjusting an amount of protection data stored in a storage system
US11579974B1 (en) 2010-09-28 2023-02-14 Pure Storage, Inc. Data protection using intra-device parity and intra-device parity
US11797386B2 (en) 2010-09-28 2023-10-24 Pure Storage, Inc. Flexible RAID layouts in a storage system
US10810083B1 (en) 2010-09-28 2020-10-20 Pure Storage, Inc. Decreasing parity overhead in a storage system
US11435904B1 (en) 2010-09-28 2022-09-06 Pure Storage, Inc. Dynamic protection data in a storage system
US10817375B2 (en) 2010-09-28 2020-10-27 Pure Storage, Inc. Generating protection data in a storage system
US12086030B2 (en) 2010-09-28 2024-09-10 Pure Storage, Inc. Data protection using distributed intra-device parity and inter-device parity
US10180879B1 (en) 2010-09-28 2019-01-15 Pure Storage, Inc. Inter-device and intra-device protection data
US11636031B2 (en) 2011-08-11 2023-04-25 Pure Storage, Inc. Optimized inline deduplication
JP2014532227A (ja) * 2011-09-30 2014-12-04 ピュア・ストレージ・インコーポレイテッド ストレージシステムにおける可変長符号化
US11341117B2 (en) 2011-10-14 2022-05-24 Pure Storage, Inc. Deduplication table management
US10061798B2 (en) 2011-10-14 2018-08-28 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US10540343B2 (en) 2011-10-14 2020-01-21 Pure Storage, Inc. Data object attribute based event detection in a storage system
US9811551B1 (en) 2011-10-14 2017-11-07 Pure Storage, Inc. Utilizing multiple fingerprint tables in a deduplicating storage system
US10089010B1 (en) 2012-03-15 2018-10-02 Pure Storage, Inc. Identifying fractal regions across multiple storage devices
US10521120B1 (en) 2012-03-15 2019-12-31 Pure Storage, Inc. Intelligently mapping virtual blocks to physical blocks in a storage system
US9792045B1 (en) 2012-03-15 2017-10-17 Pure Storage, Inc. Distributing data blocks across a plurality of storage devices
US10623386B1 (en) 2012-09-26 2020-04-14 Pure Storage, Inc. Secret sharing data protection in a storage system
US10284367B1 (en) 2012-09-26 2019-05-07 Pure Storage, Inc. Encrypting data in a storage system using a plurality of encryption keys
US11924183B2 (en) 2012-09-26 2024-03-05 Pure Storage, Inc. Encrypting data in a non-volatile memory express (‘NVMe’) storage device
US11032259B1 (en) 2012-09-26 2021-06-08 Pure Storage, Inc. Data protection in a storage system
US11099769B1 (en) 2013-01-10 2021-08-24 Pure Storage, Inc. Copying data without accessing the data
US11573727B1 (en) 2013-01-10 2023-02-07 Pure Storage, Inc. Virtual machine backup and restoration
US10235093B1 (en) 2013-01-10 2019-03-19 Pure Storage, Inc. Restoring snapshots in a storage system
US11733908B2 (en) 2013-01-10 2023-08-22 Pure Storage, Inc. Delaying deletion of a dataset
US9589008B2 (en) 2013-01-10 2017-03-07 Pure Storage, Inc. Deduplication of volume regions
US9880779B1 (en) 2013-01-10 2018-01-30 Pure Storage, Inc. Processing copy offload requests in a storage system
US9891858B1 (en) 2013-01-10 2018-02-13 Pure Storage, Inc. Deduplication of regions with a storage system
US9646039B2 (en) 2013-01-10 2017-05-09 Pure Storage, Inc. Snapshots in a storage system
US11853584B1 (en) 2013-01-10 2023-12-26 Pure Storage, Inc. Generating volume snapshots
US11768623B2 (en) 2013-01-10 2023-09-26 Pure Storage, Inc. Optimizing generalized transfers between storage systems
US11662936B2 (en) 2013-01-10 2023-05-30 Pure Storage, Inc. Writing data using references to previously stored data
US10013317B1 (en) 2013-01-10 2018-07-03 Pure Storage, Inc. Restoring a volume in a storage system
US10585617B1 (en) 2013-01-10 2020-03-10 Pure Storage, Inc. Buffering copy requests in a storage system
US10908835B1 (en) 2013-01-10 2021-02-02 Pure Storage, Inc. Reversing deletion of a virtual machine
US12099741B2 (en) 2013-01-10 2024-09-24 Pure Storage, Inc. Lightweight copying of data using metadata references
US10365858B2 (en) 2013-11-06 2019-07-30 Pure Storage, Inc. Thin provisioning in a storage device
US11169745B1 (en) 2013-11-06 2021-11-09 Pure Storage, Inc. Exporting an address space in a thin-provisioned storage device
US11128448B1 (en) 2013-11-06 2021-09-21 Pure Storage, Inc. Quorum-aware secret sharing
US10887086B1 (en) 2013-11-06 2021-01-05 Pure Storage, Inc. Protecting data in a storage system
US11899986B2 (en) 2013-11-06 2024-02-13 Pure Storage, Inc. Expanding an address space supported by a storage system
US11706024B2 (en) 2013-11-06 2023-07-18 Pure Storage, Inc. Secret distribution among storage devices
US10263770B2 (en) 2013-11-06 2019-04-16 Pure Storage, Inc. Data protection in a storage system using external secrets
US10191857B1 (en) 2014-01-09 2019-01-29 Pure Storage, Inc. Machine learning for metadata cache management
US9804973B1 (en) 2014-01-09 2017-10-31 Pure Storage, Inc. Using frequency domain to prioritize storage of metadata in a cache
US11847336B1 (en) 2014-03-20 2023-12-19 Pure Storage, Inc. Efficient replication using metadata
US10656864B2 (en) 2014-03-20 2020-05-19 Pure Storage, Inc. Data replication within a flash storage array
US10607034B1 (en) 2014-06-03 2020-03-31 Pure Storage, Inc. Utilizing an address-independent, non-repeating encryption key to encrypt data
US11841984B1 (en) 2014-06-03 2023-12-12 Pure Storage, Inc. Encrypting data with a unique key
US9779268B1 (en) 2014-06-03 2017-10-03 Pure Storage, Inc. Utilizing a non-repeating identifier to encrypt data
US10037440B1 (en) 2014-06-03 2018-07-31 Pure Storage, Inc. Generating a unique encryption key
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US11036583B2 (en) 2014-06-04 2021-06-15 Pure Storage, Inc. Rebuilding data across storage nodes
US10346084B1 (en) 2014-06-25 2019-07-09 Pure Storage, Inc. Replication and snapshots for flash storage systems
US9817608B1 (en) 2014-06-25 2017-11-14 Pure Storage, Inc. Replication and intermediate read-write state for mediums
US10496556B1 (en) 2014-06-25 2019-12-03 Pure Storage, Inc. Dynamic data protection within a flash storage system
US12079143B2 (en) 2014-06-25 2024-09-03 Pure Storage, Inc. Dynamically managing protection groups
US11221970B1 (en) 2014-06-25 2022-01-11 Pure Storage, Inc. Consistent application of protection group management policies across multiple storage systems
US11561720B2 (en) 2014-06-25 2023-01-24 Pure Storage, Inc. Enabling access to a partially migrated dataset
US11003380B1 (en) 2014-06-25 2021-05-11 Pure Storage, Inc. Minimizing data transfer during snapshot-based replication
US10348675B1 (en) 2014-07-24 2019-07-09 Pure Storage, Inc. Distributed management of a storage system
US10296469B1 (en) 2014-07-24 2019-05-21 Pure Storage, Inc. Access control in a flash storage system
US10983866B2 (en) 2014-08-07 2021-04-20 Pure Storage, Inc. Mapping defective memory in a storage system
US11080154B2 (en) 2014-08-07 2021-08-03 Pure Storage, Inc. Recovering error corrected data
US9864761B1 (en) 2014-08-08 2018-01-09 Pure Storage, Inc. Read optimization operations in a storage system
US10430079B2 (en) 2014-09-08 2019-10-01 Pure Storage, Inc. Adjusting storage capacity in a computing system
US11914861B2 (en) 2014-09-08 2024-02-27 Pure Storage, Inc. Projecting capacity in a storage system based on data reduction levels
US11163448B1 (en) 2014-09-08 2021-11-02 Pure Storage, Inc. Indicating total storage capacity for a storage device
US11444849B2 (en) 2014-10-02 2022-09-13 Pure Storage, Inc. Remote emulation of a storage system
US10999157B1 (en) 2014-10-02 2021-05-04 Pure Storage, Inc. Remote cloud-based monitoring of storage systems
US11811619B2 (en) 2014-10-02 2023-11-07 Pure Storage, Inc. Emulating a local interface to a remotely managed storage system
US10164841B2 (en) 2014-10-02 2018-12-25 Pure Storage, Inc. Cloud assist for storage systems
US10430282B2 (en) 2014-10-07 2019-10-01 Pure Storage, Inc. Optimizing replication by distinguishing user and system write activity
US11442640B1 (en) 2014-10-07 2022-09-13 Pure Storage, Inc. Utilizing unmapped and unknown states in a replicated storage system
US10838640B1 (en) 2014-10-07 2020-11-17 Pure Storage, Inc. Multi-source data replication
US12079498B2 (en) 2014-10-07 2024-09-03 Pure Storage, Inc. Allowing access to a partially replicated dataset
US10114574B1 (en) 2014-10-07 2018-10-30 Pure Storage, Inc. Optimizing storage allocation in a storage system
US11662909B2 (en) 2014-11-24 2023-05-30 Pure Storage, Inc Metadata management in a storage system
US9977600B1 (en) 2014-11-24 2018-05-22 Pure Storage, Inc. Optimizing flattening in a multi-level data structure
US9727485B1 (en) 2014-11-24 2017-08-08 Pure Storage, Inc. Metadata rewrite and flatten optimization
US10254964B1 (en) 2014-11-24 2019-04-09 Pure Storage, Inc. Managing mapping information in a storage system
US10482061B1 (en) 2014-12-01 2019-11-19 Pure Storage, Inc. Removing invalid data from a dataset in advance of copying the dataset
US9773007B1 (en) 2014-12-01 2017-09-26 Pure Storage, Inc. Performance improvements in a storage system
US11061786B1 (en) 2014-12-11 2021-07-13 Pure Storage, Inc. Cloud-based disaster recovery of a storage system
US10235065B1 (en) 2014-12-11 2019-03-19 Pure Storage, Inc. Datasheet replication in a cloud computing environment
US10838834B1 (en) 2014-12-11 2020-11-17 Pure Storage, Inc. Managing read and write requests targeting a failed storage region in a storage system
US9588842B1 (en) 2014-12-11 2017-03-07 Pure Storage, Inc. Drive rebuild
US11775392B2 (en) 2014-12-11 2023-10-03 Pure Storage, Inc. Indirect replication of a dataset
US10248516B1 (en) 2014-12-11 2019-04-02 Pure Storage, Inc. Processing read and write requests during reconstruction in a storage system
US9864769B2 (en) 2014-12-12 2018-01-09 Pure Storage, Inc. Storing data utilizing repeating pattern detection
US10783131B1 (en) 2014-12-12 2020-09-22 Pure Storage, Inc. Deduplicating patterned data in a storage system
US11561949B1 (en) 2014-12-12 2023-01-24 Pure Storage, Inc. Reconstructing deduplicated data
US11803567B1 (en) 2014-12-19 2023-10-31 Pure Storage, Inc. Restoration of a dataset from a cloud
US10545987B2 (en) 2014-12-19 2020-01-28 Pure Storage, Inc. Replication to the cloud
US11169817B1 (en) 2015-01-21 2021-11-09 Pure Storage, Inc. Optimizing a boot sequence in a storage system
US10296354B1 (en) 2015-01-21 2019-05-21 Pure Storage, Inc. Optimized boot operations within a flash storage array
US11947968B2 (en) 2015-01-21 2024-04-02 Pure Storage, Inc. Efficient use of zone in a storage device
US10809921B1 (en) 2015-02-18 2020-10-20 Pure Storage, Inc. Optimizing space reclamation in a storage system
US11487438B1 (en) 2015-02-18 2022-11-01 Pure Storage, Inc. Recovering allocated storage space in a storage system
US11886707B2 (en) 2015-02-18 2024-01-30 Pure Storage, Inc. Dataset space reclamation
US9710165B1 (en) 2015-02-18 2017-07-18 Pure Storage, Inc. Identifying volume candidates for space reclamation
US10782892B1 (en) 2015-02-18 2020-09-22 Pure Storage, Inc. Reclaiming storage space in a storage subsystem
US11188269B2 (en) 2015-03-27 2021-11-30 Pure Storage, Inc. Configuration for multiple logical storage arrays
US10693964B2 (en) 2015-04-09 2020-06-23 Pure Storage, Inc. Storage unit communication within a storage system
US11231956B2 (en) 2015-05-19 2022-01-25 Pure Storage, Inc. Committed transactions in a storage system
US10564882B2 (en) 2015-06-23 2020-02-18 Pure Storage, Inc. Writing data to storage device based on information about memory in the storage device
US10310740B2 (en) 2015-06-23 2019-06-04 Pure Storage, Inc. Aligning memory access operations to a geometry of a storage device
US11010080B2 (en) 2015-06-23 2021-05-18 Pure Storage, Inc. Layout based memory writes
US11249999B2 (en) 2015-09-04 2022-02-15 Pure Storage, Inc. Memory efficient searching
US11269884B2 (en) 2015-09-04 2022-03-08 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US11070382B2 (en) 2015-10-23 2021-07-20 Pure Storage, Inc. Communication in a distributed architecture
US11704036B2 (en) 2016-05-02 2023-07-18 Pure Storage, Inc. Deduplication decision based on metrics
US10452297B1 (en) 2016-05-02 2019-10-22 Pure Storage, Inc. Generating and optimizing summary index levels in a deduplication storage system
US10776034B2 (en) 2016-07-26 2020-09-15 Pure Storage, Inc. Adaptive data migration
US11029853B2 (en) 2016-10-04 2021-06-08 Pure Storage, Inc. Dynamic segment allocation for write requests by a storage system
US10545861B2 (en) 2016-10-04 2020-01-28 Pure Storage, Inc. Distributed integrated high-speed solid-state non-volatile random-access memory
US11036393B2 (en) 2016-10-04 2021-06-15 Pure Storage, Inc. Migrating data between volumes using virtual copy operation
US10613974B2 (en) 2016-10-04 2020-04-07 Pure Storage, Inc. Peer-to-peer non-volatile random-access memory
US11385999B2 (en) 2016-10-04 2022-07-12 Pure Storage, Inc. Efficient scaling and improved bandwidth of storage system
US10191662B2 (en) 2016-10-04 2019-01-29 Pure Storage, Inc. Dynamic allocation of segments in a flash storage system
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
US11640244B2 (en) 2016-10-28 2023-05-02 Pure Storage, Inc. Intelligent block deallocation verification
US10656850B2 (en) 2016-10-28 2020-05-19 Pure Storage, Inc. Efficient volume replication in a storage system
US11119657B2 (en) 2016-10-28 2021-09-14 Pure Storage, Inc. Dynamic access in flash system
US10185505B1 (en) 2016-10-28 2019-01-22 Pure Storage, Inc. Reading a portion of data to replicate a volume based on sequence numbers
US11119656B2 (en) 2016-10-31 2021-09-14 Pure Storage, Inc. Reducing data distribution inefficiencies
US10359942B2 (en) 2016-10-31 2019-07-23 Pure Storage, Inc. Deduplication aware scalable content placement
US11054996B2 (en) 2016-12-19 2021-07-06 Pure Storage, Inc. Efficient writing in a flash storage system
US10452290B2 (en) 2016-12-19 2019-10-22 Pure Storage, Inc. Block consolidation in a direct-mapped flash storage system
US11093146B2 (en) 2017-01-12 2021-08-17 Pure Storage, Inc. Automatic load rebalancing of a write group
US11449485B1 (en) 2017-03-30 2022-09-20 Pure Storage, Inc. Sequence invalidation consolidation in a storage system
US12045487B2 (en) 2017-04-21 2024-07-23 Pure Storage, Inc. Preserving data deduplication in a multi-tenant storage system
US11403019B2 (en) 2017-04-21 2022-08-02 Pure Storage, Inc. Deduplication-aware per-tenant encryption
US10944671B2 (en) 2017-04-27 2021-03-09 Pure Storage, Inc. Efficient data forwarding in a networked device
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
US11093324B2 (en) 2017-07-31 2021-08-17 Pure Storage, Inc. Dynamic data verification and recovery in a storage system
US10901660B1 (en) 2017-08-31 2021-01-26 Pure Storage, Inc. Volume compressed header identification
US11520936B1 (en) 2017-08-31 2022-12-06 Pure Storage, Inc. Reducing metadata for volumes
US11436378B2 (en) 2017-08-31 2022-09-06 Pure Storage, Inc. Block-based compression
US11921908B2 (en) 2017-08-31 2024-03-05 Pure Storage, Inc. Writing data to compressed and encrypted volumes
US10831935B2 (en) 2017-08-31 2020-11-10 Pure Storage, Inc. Encryption management with host-side data reduction
US10776202B1 (en) 2017-09-22 2020-09-15 Pure Storage, Inc. Drive, blade, or data shard decommission via RAID geometry shrinkage
US10789211B1 (en) 2017-10-04 2020-09-29 Pure Storage, Inc. Feature-based deduplication
US11537563B2 (en) 2017-10-04 2022-12-27 Pure Storage, Inc. Determining content-dependent deltas between data sectors
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US11782614B1 (en) 2017-12-21 2023-10-10 Pure Storage, Inc. Encrypting data to optimize data reduction
US11010233B1 (en) 2018-01-18 2021-05-18 Pure Storage, Inc Hardware-based system monitoring
US11144638B1 (en) 2018-01-18 2021-10-12 Pure Storage, Inc. Method for storage system detection and alerting on potential malicious action
US10970395B1 (en) 2018-01-18 2021-04-06 Pure Storage, Inc Security threat monitoring for a storage system
US11734097B1 (en) 2018-01-18 2023-08-22 Pure Storage, Inc. Machine learning-based hardware component monitoring
US10915813B2 (en) 2018-01-31 2021-02-09 Pure Storage, Inc. Search acceleration for artificial intelligence
US11249831B2 (en) 2018-02-18 2022-02-15 Pure Storage, Inc. Intelligent durability acknowledgment in a storage system
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
US11494109B1 (en) 2018-02-22 2022-11-08 Pure Storage, Inc. Erase block trimming for heterogenous flash memory storage devices
US11934322B1 (en) 2018-04-05 2024-03-19 Pure Storage, Inc. Multiple encryption keys on storage drives
US11995336B2 (en) 2018-04-25 2024-05-28 Pure Storage, Inc. Bucket views
US11327655B2 (en) 2018-04-27 2022-05-10 Pure Storage, Inc. Efficient resource upgrade
US10678433B1 (en) 2018-04-27 2020-06-09 Pure Storage, Inc. Resource-preserving system upgrade
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
US10678436B1 (en) 2018-05-29 2020-06-09 Pure Storage, Inc. Using a PID controller to opportunistically compress more data during garbage collection
US11436023B2 (en) 2018-05-31 2022-09-06 Pure Storage, Inc. Mechanism for updating host file system and flash translation layer based on underlying NAND technology
US10776046B1 (en) 2018-06-08 2020-09-15 Pure Storage, Inc. Optimized non-uniform memory access
US11281577B1 (en) 2018-06-19 2022-03-22 Pure Storage, Inc. Garbage collection tuning for low drive wear
KR20190142815A (ko) * 2018-06-19 2019-12-30 주식회사 티맥스데이터 데이터 익스텐트 이동 방법
KR102089291B1 (ko) 2018-06-19 2020-03-16 주식회사 티맥스데이터 데이터 익스텐트 이동 방법
US11869586B2 (en) 2018-07-11 2024-01-09 Pure Storage, Inc. Increased data protection by recovering data from partially-failed solid-state devices
US11133076B2 (en) 2018-09-06 2021-09-28 Pure Storage, Inc. Efficient relocation of data between storage devices of a storage system
US11194759B2 (en) 2018-09-06 2021-12-07 Pure Storage, Inc. Optimizing local data relocation operations of a storage device of a storage system
US11216369B2 (en) 2018-10-25 2022-01-04 Pure Storage, Inc. Optimizing garbage collection using check pointed data sets
US10846216B2 (en) 2018-10-25 2020-11-24 Pure Storage, Inc. Scalable garbage collection
US12019764B2 (en) 2018-10-26 2024-06-25 Pure Storage, Inc. Modifying encryption in a storage system
US11113409B2 (en) 2018-10-26 2021-09-07 Pure Storage, Inc. Efficient rekey in a transparent decrypting storage array
US11194473B1 (en) 2019-01-23 2021-12-07 Pure Storage, Inc. Programming frequently read data to low latency portions of a solid-state storage array
US11588633B1 (en) 2019-03-15 2023-02-21 Pure Storage, Inc. Decommissioning keys in a decryption storage system
US11334254B2 (en) 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
US11775189B2 (en) 2019-04-03 2023-10-03 Pure Storage, Inc. Segment level heterogeneity
US11397674B1 (en) 2019-04-03 2022-07-26 Pure Storage, Inc. Optimizing garbage collection across heterogeneous flash devices
US10990480B1 (en) 2019-04-05 2021-04-27 Pure Storage, Inc. Performance of RAID rebuild operations by a storage group controller of a storage system
US12087382B2 (en) 2019-04-11 2024-09-10 Pure Storage, Inc. Adaptive threshold for bad flash memory blocks
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
US11487665B2 (en) 2019-06-05 2022-11-01 Pure Storage, Inc. Tiered caching of data in a storage system
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
US10929046B2 (en) 2019-07-09 2021-02-23 Pure Storage, Inc. Identifying and relocating hot data to a cache determined with read velocity based on a threshold stored at a storage device
US11422751B2 (en) 2019-07-18 2022-08-23 Pure Storage, Inc. Creating a virtual storage system
US11086713B1 (en) 2019-07-23 2021-08-10 Pure Storage, Inc. Optimized end-to-end integrity storage system
US11963321B2 (en) 2019-09-11 2024-04-16 Pure Storage, Inc. Low profile latching mechanism
US11403043B2 (en) 2019-10-15 2022-08-02 Pure Storage, Inc. Efficient data compression by grouping similar data within a data segment
US11520907B1 (en) 2019-11-22 2022-12-06 Pure Storage, Inc. Storage system snapshot retention based on encrypted data
US12050683B2 (en) 2019-11-22 2024-07-30 Pure Storage, Inc. Selective control of a data synchronization setting of a storage system based on a possible ransomware attack against the storage system
US11657146B2 (en) 2019-11-22 2023-05-23 Pure Storage, Inc. Compressibility metric-based detection of a ransomware threat to a storage system
US11500788B2 (en) 2019-11-22 2022-11-15 Pure Storage, Inc. Logical address based authorization of operations with respect to a storage system
US11941116B2 (en) 2019-11-22 2024-03-26 Pure Storage, Inc. Ransomware-based data protection parameter modification
US11720692B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Hardware token based management of recovery datasets for a storage system
US11615185B2 (en) 2019-11-22 2023-03-28 Pure Storage, Inc. Multi-layer security threat detection for a storage system
US11625481B2 (en) 2019-11-22 2023-04-11 Pure Storage, Inc. Selective throttling of operations potentially related to a security threat to a storage system
US11720691B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Encryption indicator-based retention of recovery datasets for a storage system
US11645162B2 (en) 2019-11-22 2023-05-09 Pure Storage, Inc. Recovery point determination for data restoration in a storage system
US11341236B2 (en) 2019-11-22 2022-05-24 Pure Storage, Inc. Traffic-based detection of a security threat to a storage system
US11720714B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Inter-I/O relationship based detection of a security threat to a storage system
US12050689B2 (en) 2019-11-22 2024-07-30 Pure Storage, Inc. Host anomaly-based generation of snapshots
US12067118B2 (en) 2019-11-22 2024-08-20 Pure Storage, Inc. Detection of writing to a non-header portion of a file as an indicator of a possible ransomware attack against a storage system
US12079502B2 (en) 2019-11-22 2024-09-03 Pure Storage, Inc. Storage element attribute-based determination of a data protection policy for use within a storage system
US12079333B2 (en) 2019-11-22 2024-09-03 Pure Storage, Inc. Independent security threat detection and remediation by storage systems in a synchronous replication arrangement
US12079356B2 (en) 2019-11-22 2024-09-03 Pure Storage, Inc. Measurement interval anomaly detection-based generation of snapshots
US11651075B2 (en) 2019-11-22 2023-05-16 Pure Storage, Inc. Extensible attack monitoring by a storage system
US11687418B2 (en) 2019-11-22 2023-06-27 Pure Storage, Inc. Automatic generation of recovery plans specific to individual storage elements
US11755751B2 (en) 2019-11-22 2023-09-12 Pure Storage, Inc. Modify access restrictions in response to a possible attack against data stored by a storage system
US11675898B2 (en) 2019-11-22 2023-06-13 Pure Storage, Inc. Recovery dataset management for security threat monitoring
US11657155B2 (en) 2019-11-22 2023-05-23 Pure Storage, Inc Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system

Also Published As

Publication number Publication date
JP4869368B2 (ja) 2012-02-08

Similar Documents

Publication Publication Date Title
JP4869368B2 (ja) ストレージ装置及び仮想化装置
JP5069011B2 (ja) ストレージモジュール及び容量プール空き容量調整方法
JP5595530B2 (ja) データ移行システム及びデータ移行方法
US7343465B2 (en) Storage system
JP5603941B2 (ja) 計算機システム及びデータ移行方法
US8117409B2 (en) Method and apparatus for backup and restore in a dynamic chunk allocation storage system
JP6009095B2 (ja) ストレージシステム及び記憶制御方法
JP4684864B2 (ja) 記憶装置システム及び記憶制御方法
WO2017216887A1 (ja) 情報処理システム
JP2009043030A (ja) ストレージシステム
US20120278569A1 (en) Storage apparatus and control method therefor
JP5309259B2 (ja) ストレージ装置及びその制御方法
JP5797848B1 (ja) 階層化ブロックストレージ装置を有するコンピュータシステム、ストレージコントローラ、及びプログラム
JP2007156597A (ja) ストレージ装置
JP2008134712A (ja) ファイル共有システム、ファイル共有装置及びファイル共有用ボリュームの移行方法
JP2009230661A (ja) ストレージ装置及びこれの制御方法
JP2010102413A (ja) ストレージ装置およびキャッシュ制御方法
JP2016118821A (ja) ストレージ管理装置、ストレージ管理方法およびストレージ管理プログラム
WO2012117435A1 (en) Storage apparatus and data processing method of the same
US20180307427A1 (en) Storage control apparatus and storage control method
US20130159656A1 (en) Controller, computer-readable recording medium, and apparatus
US11755249B2 (en) Storage system including storage nodes to determine cache allocations to implement cache control
JP5597266B2 (ja) ストレージシステム
JP5910596B2 (ja) ストレージ管理システム、ストレージ管理方法、プログラム、および、情報処理システム
JP6464606B2 (ja) ストレージ装置、ストレージ装置制御プログラム及びストレージ装置制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111012

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: 20111025

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111115

R150 Certificate of patent or registration of utility model

Ref document number: 4869368

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141125

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350