JP2006302258A - シン・プロビジョン型ストレージサブシステムのディスクスペースを管理するシステムと方法 - Google Patents

シン・プロビジョン型ストレージサブシステムのディスクスペースを管理するシステムと方法 Download PDF

Info

Publication number
JP2006302258A
JP2006302258A JP2006060434A JP2006060434A JP2006302258A JP 2006302258 A JP2006302258 A JP 2006302258A JP 2006060434 A JP2006060434 A JP 2006060434A JP 2006060434 A JP2006060434 A JP 2006060434A JP 2006302258 A JP2006302258 A JP 2006302258A
Authority
JP
Japan
Prior art keywords
ldev
segment
free
vdev
pool
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
JP2006060434A
Other languages
English (en)
Other versions
JP4958453B2 (ja
Inventor
Yoshiki Kano
義樹 加納
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2006302258A publication Critical patent/JP2006302258A/ja
Application granted granted Critical
Publication of JP4958453B2 publication Critical patent/JP4958453B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】プールがスペース不足に近づいたら、追加のストレージスペースを取得することで、管理者がこのリスクを軽減することを可能にするフリーセグメントプールを管理するシステムと方法を提供する。
【解決手段】ストレージサブシステムのフリーセグメントプール内のフリーセグメントの数が望まれる最小値未満であると検知されたら、次の一つ以上が実行される:内部ストレージからLDEV(論理デバイス)を選択してフリーセグメントプールに追加する、VDEV(仮想デバイス)にLDEVを転換する、外部ストレージからLDEVを選択してフリーセグメントプールに追加する。データ移行も又以下によって行われる:移行のためにVDEVのソースセグメントを選択する、ソースセグメントからデータを読み出す、フリーセグメントプールのフリーセグメントであるターゲットセグメントにデータを書き込む、及びVDEVにターゲットセグメントを割り当てる。
【選択図】図3

Description

本発明はストレージエリアネットワークシステムに関する。
使用中割り振り(allocation-on-use;使用時割り当て)システムの管理は、書き込まれるデータに対してあるサイズのストレージエリアを割り振ることにより、仮想ボリュームに対して効率の良いストレージスペース管理を提供する。
米国特許6,725,328「ストレージデバイスの自動的オンライン容量拡張方法」を参照すると、使用中割り振り技術の初期的段階の発展の詳細が開示されている。
米国特許6,725,328
しかしながら、この方法はシステムが管理者にフリースペース不足に関する警報を発した後にサブシステム内の新たなディスクをフリースペースに割り振るに過ぎない。このようにして、新たなディスクのインストールが遅れることにより、フリースペースが不足するというリスクが存在する。また、使用中割り振りシステムは、ホストの書き込み動作の間にデータを記憶するセグメントを割り振るためにフリーセグメントのプールを持たなければならない。
一方、一般に、プールは静的に割り当てられ、例えば管理者はプールが少なくなるとディスク又は内部ストレージのストレージエリアの一部分をプールに割り当てる。これは、ストレージ上にディスクが山のように存在するか、又は顧客のストレージサブシステムを保守するカストマーエンジニアが必要時に顧客サイトに行って新たなディスクをインストールすることが可能ならば、有効であろう。しかしながら、この方法は、ディスクに限りがあるか、又は必要時にカストマーエンジニアが顧客サイトに行くことができないという理由で、ディスク又はストレージエリアの部分から新たなセグメントがインストールされないかもしれない点でリスクがある。
従って、プールがスペース不足に近づいたら、LDEVや追加のストレージスペース、又は外部のストレージサブシステムからセグメントを取得することで、管理者がこのリスクを軽減することを可能にするフリーセグメントプールを管理するシステムと方法が必要になる。
シン・プロビジョン型ストレージサブシステムのディスクスペースを管理するシステムと方法に関する。ストレージサブシステムのフリーセグメントプール内のフリーセグメントの数が望まれる最小値未満であると検知されたら、次の一つ以上が実行される:内部ストレージからLDEVを選択してフリーセグメントプールにフリーセグメントとして追加する、LDEVをVDEVに転換する、及び(又は)外部ストレージからLDEVを選択してフリーセグメントプールにフリーセグメントとして追加する。転換するとは、部分的に使用済みか又は完全に使用済みのLDEVを識別して、これらをVDEVに転換することを含む。データ移行も又次により行われる:VDEVのソースセグメントを移行のために選択する、ソースセグメントからデータを読み出す、フリーセグメントプール内のフリーセグメントであるターゲットセグメントにデータを書き込む、ターゲットセグメントをVDEVに割り当てる、及びソースセグメントをフリーセグメントプールに割り当てる。
ここに示す詳細は例として取り上げるものであり、本発明の実施例を説明して論ずるためのものである。図面と共になされる説明により本発明を如何にして実際に具体化するか当該技術分野に通じている者には明白になる。
更に本発明を不明瞭にするのを避けるため、更に又手順の実行に関する細部は本発明が実行されるべきプラットフォームに高度に依存するという事実に照らして、手順はブロック図の形で示される。即ち詳細は当該技術分野に通じている者が十分理解できる範囲内である。特定の詳細(例えば回路、フローチャート)が本発明の実施例を説明するために述べられる場合は、本発明の技術分野に通じている者にはこれら特定の詳細がなくても実施できることは明らかであろう。最後に、本発明の実施例を実行するために配線接続された回路とソフトウェア命令の任意の組み合わせを用いることができることは明らかであろう。即ち本発明は配線接続された回路とソフトウェア命令の任意の特定の組み合わせに限定されるものでない。
本発明の実施例は一例となるホストユニット環境に於いて一例となるシステムのブロック図を用いて説明されるが、本発明の実施はそれに限定されるものでない。即ち本発明は他のタイプのシステムについてでも、他のタイプの環境に於いてでも実施し得るものである。
本発明で「一つの実施例」又は「一実施例」として言及しているものは、当該実施例に関連して説明される特定の特徴、構造又は特性が本発明の少なくとも一つの実施例に含まれることを意味する。明細書のいろいろな箇所で「一実施例に於いて」という語句が出てきても必ずしもすべてが同じ実施例に言及しているとは限らない。
本発明の実施例は、フリーセグメントをフリーストレージプールに供給し、このプールが不足に近づいたときにいくつかのストレージリソースの管理者に通知することによって、シン・プロビジョン型ストレージサブシステムのフリーセグメントプール内のセグメントが常に利用できることを保証することに関する。本発明の実施例により、2個以上のストレージエリアが使用できる。例えば、LDEVのような内部ボリュームスペースの未使用ブロックをLDEVからVDEVへと変換して使用でき、又ストレージサブシステムに、例えばWAN(Wide Area Network;広域ネットワーク)を介して接続された外部ストレージデバイス又は遠隔ストレージサブシステムの外部ボリュームのブロック全体を使用できる。
更に、管理者がこれらのストレージエリアをフリーセグメントプールに適応させた後は、データは記憶されるが、管理者が後でデータを再配置してデータを新たな好適な又は指定されたロケーションに記憶することを望むことがあるので、一時的なロケーションに置かれるに過ぎない。例えば、データは現在は外部ストレージに置かれているが、当該データを内部ストレージに再配置すること、又はこの逆にすることが望まれることがある。このように、本発明の実施例は管理者によって指定されたロケーションにデータを記憶するデータ集約も可能にする。例えば、ストレージサブシステムは、カストマーエンジニアが設定するLDEVが管理者によってデータを一時的に記憶する場所を提供するためにプールに割り当てられた後で、管理者が指定した集約ロケーションにデータを移行することができる。
図1はシン・プロビジョンを実現する書き込み動作の図である。初めに、ストレージサブシステムが使用中割り振り技術を使用する前に、管理者は通常フリーセグメントプール127としてLDEV(logical device;論理デバイス)を割り当てる。このLDEVはローカルブロックアドレスへのストレージ割り振りのあるパリティーグループに基づくディスクから成る。ストレージサブシステムは、ユーザの定義した又はシステムのデフォルトサイズのセグメントに基づくフリーセグメントプールを得るために、LDEVをセグメントに分割する。一旦これが行われると、LBA(logical block address;論理ブロックアドレス)、例えばLBA22520への1LBAのサイズでの書き込みアクセスが行われると、LBAスペースへのストレージ割り振りのないLBAスペースを有するVDEV(virtual device;仮想デバイス)は、このVLBA(virtual logical block address;仮想論理ブロックアドレス)のセグメントが現時点では割り当てられていないので、フリーセグメントプール127からセグメント#301を割り振る。次いでデータが書き込まれる。
図2は、VDEVがLU(logical unit;論理ユニット)に割り当てられ、VDEVの一部がSCSI WRITE(6)コマンドや他の書き込みコマンドによってアクセスされる時のVDEVに関するプロセスの例をフローチャートで示している。アクセスを求められているセグメントが、ホスト要求のLBAに基づいて割り当てられているかどうかが判定される、ステップ121。もしセグメントが割り当てられていないならば、セグメントがフリーセグメントプールから取得される、ステップ122。セグメントが割り当てられ又は取得されたならば、データが、要求されたLBA−(マイナス)セグメントのVLBAからデータサイズ分書き込まれる、ステップ123。
図3は本発明の一実施例によるディスクスペースを管理するシン・プロビジョン型ストレージサブシステムの図を示す。この実施例はホストデバイス10、第一のストレージサブシステム30、第二のストレージサブシステム40、及びホスト10とストレージサブシステム30、40間を相互接続し、更にストレージサブシステム30と40との間を相互接続することもできるスイッチネットワーク71、81を有する。更に、スイッチ/ハブネットワーク82を介して各ストレージサブシステムに相互接続される外部コンソール83も示されている。
ホスト10は計算デバイスであり、データ処理を実行し、ワークステーションやパーソナルコンピュータと同様にハードウェア要素とオペレーティングシステムを有している。ホスト10はCPU11、メモリー12、及び内部ディスク13を有しており、これらは内部システムバスを介して相互接続されている。ホスト10は更にホスト10と1台以上のストレージサブシステム30、40とをスイッチ71を介して接続するためのHBA(Host Bus Adapter;ホストバスアダプタ)14を有する。スイッチ71はホストとストレージサブシステムとのインタフェースに使用できる任意のタイプのスイッチ、例えば、FC(Fibre Channel;ファイバチャネル)スイッチ、イーサネット(イーサネットは登録商標)スイッチ等である。各ホスト10はストレージサブシステム30、40にて与えられるLU上にデータを記憶することができる。
ストレージサブシステム40は1台以上のRAIDコントローラ41、1台以上のディスク49、及び管理コンソール402を有する。コントローラ41はプロセッサ、メモリー、及び例えばイーサネット又はFCポート46のようなNICインタフェースを有する。コントローラ41のポート46はストレージサブシステム40を1台以上のホストデバイス10に接続することを可能にし、ストレージサブシステム40がホストからI/O(input / output;入出力)動作を受信して処理することを可能にする。コントローラ41はNVRAM(non-volatile random access memory;不揮発性ランダムアクセスメモリー)を有するのが望ましく、NVRAMを、データを記憶し、例えば電源故障から保護するための、キャッシュとして使用することができる。電源故障の場合、NVRAMに記憶されたデータは、コントローラ41及びディスク49のバッテリー電源を用いて、ディスク49のストレージ構成エリアにデステージすることができる。コントローラ41はSCSIの世界でストレージサブシステム40のターゲットIDを指定するためにWWN(World Wide Name)と関連付けられ、一つのFCポートに対して一つのLUNから構成されるFCポート46を備える。SCSI I/O動作はホストデバイス10とストレージサブシステム40のストレージとの間で処理することができる。SCSI I/OプロセスはiSCSIに対しても応用可能である。ストレージはストレージサブシステム40に置かれた幾つかのディスク49を用いてRAID構成にすることができる。
ストレージサブシステム40はカストマーエンジニアによって使用されるための管理コンソール402を持つことができ、このコンソールはコントローラ41に接続することができる。コンソール402はディスク49からパリティーグループを生成するためGUIを備えることができる。ストレージサブシステム40は更に、ストレージサブシステム40のコントローラ41のポート47、スイッチ81、外部ストレージサブシステム30のコントローラ31のポート33を介して外部ストレージサブシステム30への接続機能を有する。このようにストレージサブシステム40のコントローラ41は少なくとも2種のポートを有し、一つのポート46はホストとの接続を可能にするため、もう一つのポート47は外部のストレージサブシステムとの接続を可能にするためにある。
外部ストレージサブシステム30はストレージサブシステム40と同じか又は類似に構成することができ、コントローラ31、1台以上のディスク32、及びコントローラ31に接続された管理コンソール302を有する。更に前に述べたように、コントローラ31は、1個以上のポートも有し、そのうちの少なくとも一つのポート33はスイッチ又はハブ81を通じてストレージサブシステム40に対して接続を可能にする。
システムは更に管理者が使用するための、(ストレージサブシステムの)外部に設けられたコンソール83を有し、このコンソールはイーサネット、トークンリング、FDDI等のようなTCP/IPによって通信を行うことができるスイッチ/ハブ82を介して各ストレージサブシステム30、40のコントローラ31、41のポートに接続することができる。本発明の実施例により、各ストレージサブシステム30、40のコントローラ31、41はシン・プロビジョン型ストレージサブシステムのディスクスペース管理を実行する機能を有し、この機能はソフトウェア、マイクロコード、ハードウェア、又はそれらの組み合わせで実行することができる。
コンソール83は管理者にスイッチ、ハブ、LAN/WAN等82を介してストレージサブシステムを遠隔管理する能力を与える。外部コンソール83は、例えばLDEVの生成、LDEVのLUへのマッピング、フリーセグメントプールの生成、VDEVのLUへのマッピング等各種の動作に対するGUIを提供することができる。
図4は本発明の一実施例によるディスクスペースを管理するシン・プロビジョン型ストレージサブシステムの論理構成の図を示す。本発明を説明するために、コンポーネントがソフトウェア又はマイクロコードの場合の実施例を用いているが、本発明はこれらの実施例又は実装に限定されるものでない。SAN(Storage Area Network;ストレージエリアネットワーク)70は例えばFC、イーサネット等のスイッチやハブを用いてホスト10とストレージサブシステム40との間の論理接続を提供する。LAN82は外部コンソール83とストレージサブシステム30、40との間の論理接続を提供し、イーサネット、FDDI、トークンリングのようなスイッチを有することができる。外部コンソール83はストレージサブシステム30、40のいくつかの機能を遠隔管理することを可能にする。
ストレージサブシステム40のコントローラ41はプロセッサ及び本発明によるシン・プロビジョン型ストレージサブシステムのディスクスペースの管理を行う手助けをするモジュールを含むメモリーを有している。これらのモジュールはLDEV Mgr(logical device manager;LDEVマネージャ)63を有し、このLDEV Mgrは物理ディスクからI/Oプロセス61、VDEV Mgr(virtual device manager;VDEVマネージャ)62及びマイグレータ64に論理ストレージを提供するためにLDEVを生成する。更に、これらはパリティーグループマネージャ(図示せず)を有することができる。これらのモジュールはマイクロコード、ソフトウェア、又はそれらの組み合わせにより実装することができ、コントローラ41に置かれて実行される。更に、モジュールは、例えば光メディア、FD(Floppy Disk;フロッピーディスク)、(フロッピー、Floppyは登録商標)又は他のリムーバブルメディアのようなストレージメディアデバイスからインストールされるプログラムコードとして与えられても良い。LUのLDEV/VDEVへのマッピング65、セグメントマネージャ66、及びディスクの外部LUへのマッピング48はテーブル形式で記憶される関係情報を持つことができる。
LUN53が1個以上のLDEV51、52と関連付けられている。各LDEV51、52は当該LDEVのセグメントの利用を表わす関連ビットマップ54を有する。ビットマップの各ブロック(即ちビット)はLDEVのセグメントを表わす。更に、前に述べたように、各LU55は関連VDEVを持つことができる。多くの又は大部分の又はすべてのセグメントが使用済みのLDEVは割り振り済み56とみなすことができ、このことはLDEV51のビットマップ54からわかる。その一方、大部分又はすべてのセグメントが使用されていないLDEVは、LDEV52のビットマップからわかるようにフリー57とみなされる。ビットマップの影付きの四角形はLDEV51、52の割り振られていないセグメントを表わす。更に、1個以上のLU59は(関連するLDEVと共に)パリティーグループ58の一部となり、LDEVと関連付けられる。
LDEV Mgr63はLDEVの構造を管理し、LDEVのフォーマットを処理し、SCSIターゲットとしてマップされたLUから読み出し/書き込みI/Oプロセスの動作を処理する。LDEVは、ホスト10からのデータを記憶し、ホスト10にデータを返送するためのLUの論理ストレージエリアを表わす。LDEVはパリティーグループの一部分になり得る。管理者は当該LDEVの領域を定義し初期フォーマットを行い、各定義されたLDEVの番号を保存する。各LDEVとパリティーグループとの間のマッピングも又図5に示すようにLDEV構成67に保存することができる。
LDEVの初期フォーマットは管理者が要求する。フォーマットデータのデフォルト値は0とすることができ、この値はLDEV内で定義された各セグメントに対するLDEVのビットマップ54に記憶される初期値とすることができる。フォーマットデータは、外部コンソール83を介して、管理者によって空文字又は任意の他の文字に再構成することができる。各LDEVのビットマップ54は、もしLDEVがVDEVに割り当てられていないならば、LDEVを初期フォーマットして以来LDEVに書き込まれたブロックを管理するために用いられる。ビットマップの各ビットはシステム又はユーザが定義したサイズ、例えば1MB、で分割したサイズのブロックの一部分(セグメント)を管理する。
LDEVの初期フォーマットの間に、コントローラはLDEVの一部分をフォーマットし、ビットマップを例えば「0」にリセットする。更に、管理者はLDEVのビットマップが生成されていない場合は外部コンソール83を介してLDEVから各ビットマップに関係するデータを読み出すことによってビットマップを再構築することができる。管理者がLDEVのビットマップを再構築するように要求する時、LDEV Mgrは各ビットマップに関係する各セグメントのデータを読み出し、ビットマップのデータがすべて「0」又は管理者が定義した文字と同じ場合はビットマップを「ON」即ち「1」に設定し、ビットマップのデータがすべて「0」又は管理者が定義した文字と同じとはいえない場合はビットマップを「OFF」にする。ビットマップを再構築した後、管理者はLDEVを移行源として用いることができる。このことは追って更に詳細に説明する。
SAN80はストレージサブシステム40ともう一つのストレージサブシステム30との間の論理接続を表わす。この機能は、例えばFCスイッチ、ハブ、イーサネットスイッチ等により与えられる。FCプロトコルを使用するのが好適である。この接続はWANに於いてストレージサブシステム30を遠隔サイトと接続するために使用することができる。この実施例では、SANはFCIP、iSCSI又は他のタイプの遠隔接続可能なプロトコルとハードウェアを使用することができる。
ストレージサブシステム30は、いくつかのLUをSAN80に提供するRAID技術に基づく汎用ストレージサブシステムの役割を引き受けることができる。しかしながら、ストレージサブシステム40が汎用ストレージサブシステムの役割で使用されるならば、ストレージサブシステム30は外部ストレージデバイスに接続するためのディスク−ExLUマッピング(図11に関連して後述する)を用いて外部ストレージデバイスに接続する機能を持つ必要がなくなる。
図5は本発明の一実施例によるLDEV構成マッピングの図を示す。パリティーグループマネージャモジュールはマイクロコードの一部分であり、RAID0/1/2/3/4/5/6技術を用いてディスクからパリティーグループを構成することができる。RAID5技術に基づくRAID6は、デュアルパリティーの保護である。生成されたパリティーグループはストレージサブシステム内のパリティーグループを識別するためのパリティーグループ番号101、RAID技術により生成される使用可能容量サイズ102、RAID構成103、パリティーグループのディスク104、関連するLDEVのLDEV番号105、開始LBA106、及び終了LBA107を有する。
図6は本発明の一実施例によるLDEV書き込みプロセスのフローチャートを示す。書き込みプロセスはホストデバイスのような開始デバイスによって開始され、例えばSCSI WRITE(6)又は他の書き込みコマンドによりLDEVのストレージスペースにアクセスする。書き込みに関連付けられたデータは開始LBAとサイズで指定されたLUによってLDEVに書き込まれる、ステップ116。LDEVの書き込まれたセグメントに関係する1個以上のビットマップはONに変わる、ステップ117。前述のように、このことはこれらLDEVのセグメントが今や使用済みか割り振られ済みであることを意味する。次いで、プロセスが終了する。後述のように、VDEVからLDEVに、及びVDEVからVDEVにデータを移行するためにビットマップを使用することができる。
図7は本発明の一実施例によるフリーセグメントプール内のLDEVの割り振られないセグメントの図を示す。フリーセグメントプール66−1はホストデバイスから受信したI/O要求に基づいて必要とされるVDEVに割り振ることができるセグメントを有する。フリーセグメントプールは、例えばセグメント番号146、セグメントが関連付けられるLDEV147、LBA148、セグメントのオフセット量又はサイズ149、及び例えばストレージサブシステムの内部にあるか外部ストレージサブシステムにあるかのセグメントロケーション150、等の各セグメントに関する情報を有する。
VDEV Mgr62は、使用中割り振り技術ベースの一つ以上のボリュームを生成する。VDEVは、セグメントのサイズで分割され、セグメントに割り振られていないVDEVの一部分がLUから書き込まれる時に、セグメントマネージャ66にあるフリーセグメントプール66−1からストレージエリアのセグメントを割り振られる。セグメントマネージャ66はこれらのストレージセグメントを管理することができる。
図8は本発明の一実施例による割り振りテーブルの図を示す。ストレージセグメントは、割り振り済みか及びフリーか、の少なくとも二つの特性を有する。前述のように、セグメントはVDEVに割り振り済み56か、又はLDEV上で割り振りが可能な状態にあってフリー57である。割り振り済みのセグメントは既に割り振りが済んでおり、記憶データを有する。VDEVマネージャは、各VDEVに対してVLBAスペースを管理するために、割り振りテーブル66−0内に各VDEV内に割り振られたセグメントに関する情報を有する。割り振りテーブル66−0は、例えばシステム内のVDEVを識別するVDEV番号140、ホストからのSCSI READ CAPACITYコマンドによって収集されるVDEVのホストから見えるサイズ141、管理された開始VLBA142を持つ各割り振り済みのセグメント情報、VDEVの部分に対するオフセット143、データを記憶するセグメント番号144、及びセグメントのロケーション145、のような情報を有する。一般的に、セグメントのオフセットはLDEV上のセグメントのサイズと同じである。しかしながら、LDEV上で使用されるものと異なったサイズのセグメントがVDEV上で使用され得る。この場合、本発明の実施例は、テーブル66−1に示されるLDEV内のセグメントのサイズからVDEVに対するテーブル66−0に示されるVDEV上のセグメントのサイズに交換するためにアドレスを変換するための変換テーブルを使用することができる。VDEV内の割り振られていないセグメントに関して、開始VLBA142とオフセット143で決まるセグメント番号144上で「−1」を指定することができる。
セグメントが「フリー」57であると分類されたなら、セグメントはセグメントマネージャ66の一部分になり得るフリーセグメントプール66−1から割り振ることができる。セグメントプール66−1が編成され、セグメントが管理者によっていくつかのLDEVから割り当てられる。管理者がフリーセグメントプールにLDEVを割り当てると、セグメントマネージャはセグメントマネージャが定義する又はストレージサブシステムにより予め設定されているセグメントサイズの一部分でLDEVを分割することができる。この分割の後、フリーセグメントプール66−1が構成される。
セグメントのロケーションに関して、もしパリティーグループ(図5参照)が外部ストレージサブシステム(例えばEx1、Ex2)上のLDEVのみから構成される場合は、ロケーションは「外部」と表わされる。更に、もしパリティーグループが内部ストレージサブシステム上及び外部ストレージサブシステム上のLDEV(例えばEx1、LDEV300)から構成される場合は、ロケーションは「混在」と表わされる。更に、もしパリティーグループがすべて内部ストレージサブシステム上のLDEV(例えばLDEV1、LDEV2)から構成される場合は、ロケーションは「内部」と表わされる。
VDEVがLUに割り当てられ、VDEVの一部分がSCSI WRITE(6)コマンドや他の書き込みコマンドによりアクセスされる時のVDEVの動作の例が、前に図2に関して論じられた。セグメントに属しているデータはVDEV割り振りテーブル66−0内のホストが要求したLBAに基づいて調べられる。もしセグメントが見つからないならば、セグメントがフリーセグメントプール66−1から取得される。この後、又はこのセグメントが見出されたならば、要求されたLBAからデータが書き込まれる。書き込みアクセスが22520LBAに対して1LBAサイズで生ずると、VDEV22は、VLBAのセグメントは現在割り当てられていないので、フリーセグメントプール127からセグメント(#301)を割り振り、次いでデータが書き込まれる。前述のように、使用中割り振り技術を使用する前に管理者はフリーセグメント66−1に対してLDEVを割り当てることができ、ストレージサブシステムはフリーセグメントプール66−1のためにLDEVをそのストレージサブシステムに於いてユーザが規定したサイズ又はシステムのデフォルトのサイズのセグメントに分割することができる。
図9は本発明の一実施例によるシン・プロビジョン型ストレージサブシステムの読み出しプロセスのフローチャートを示す。SCSI READ(6)コマンド及び他の読み出しコマンドの場合、このアクセス手順は、セグメントテーブルのSCSI読み出し要求LBAに基づき、データが属するセグメントを調べる、ステップ131。もしセグメントが見つかったら開始VLBAとサイズで定義されたデータが、見出されたセグメントの相対アドレスを考慮して返送される、ステップ132。セグメントが見つからなかった場合は、1セットの「0」、空文字、又は管理者が定義した文字がセグメントに対して返送される、ステップ133。このセットのサイズはSCSI書き込みにより要求することができる。
ストレージサブシステム40のコントローラ41のI/Oプロセス61は、ホスト10から要求されたLUの入力/出力を処理する。このモジュールは主として二つの主なサブモジュール、即ちストレージサブシステムのポートを介してLUを表わすモジュールとSCSI I/O動作のモジュールとから成る。SCSI I/O動作のモジュールは汎用のSCSI−2/3コマンドセットを処理する。更にiSCSIコマンドも処理できる。
図10は本発明の一実施例によるLUのデバイスへのマッピングの図を示す。ストレージサブシステムのポートを介してLUを表わすモジュールが、LUを表わすために用いられ、この場合コントローラ41はLU−DEV(device:デバイス)マッピング65を使用する。LU−DEVマッピング65はホストの観点からLDEV/VDEVを指定するテーブルの形式をとっており、例えばストレージサブシステムの物理的なFCポートを識別するポート番号91、ホストからポートを識別するWWN92、SCSIによりホストに対して記憶ロケーションを表示するLUN93、及びDEV名94を有する。DEV名は、例えば(論理デバイスの場合は)LDEV、(仮想デバイスの場合は)VDEV、等のようにいくつかのボリュームのタイプのうち任意のものにすることができる。
マイグレータモジュール64は、LDEVからVDEV、VDEVからLDEV、VDEVからVDEV、及びLDEVからLDEVへの移行を実行する能力を持つ。データを移行するにはいくつかの行き方があるが、LDEVからVDEV、及びVDEVからVDEVの二つのみが本発明の説明に役立てるために使用される。このことについては追ってより詳細に論ずる。更に、スケジューラ(図示せず)が、UNIX(UNIXは登録商標)のcron又はWindows(Windowsは登録商標)のタスクスケジューラのようなタスク実行者となることができ、コントローラ41内に置くことができる。
図11は本発明の一実施例による外部LUのLUNへのマッピングの図を示す。このマッピングはテーブルの形式をとることができ、外部ストレージとの接続機能を持ったストレージサブシステムに置くことができ、ストレージサブシステム30上の外部LUを内部ディスクとみなすことを可能にするマッピング能力を提供する。このマッピングは、例えば、Ex−LU(external logical unit;外部LU)ディスク番号111、LUサイズ112、WWN113、及びターゲットボリュームを指定するためのLUN114を有する。ストレージサブシステム40からEx−LUを指定するために、ストレージサブシステムは、例えば図5にディスク番号104として示すようにEx<番号>のような識別子を使用することができる。この識別子は外部ストレージサブシステムのLUを示す。
図12は本発明の一実施例によるパリティーグループ構造の図を示す。本発明の実施例はLDEV及びVDEVを使用している。これらのデバイスはいくつかのパリティーグループから構成することができる。パリティーグループはストレージサブシステムの新たなディスクのインストレーションの間にカストマーエンジニアが設定することができる。例えば、もしストレージサブシステム30でディスクインストレーションが行われるならば、カストマーエンジニアは、ストレージサブシステム40及び外部ストレージサブシステム30に対して、例えばFC配線のような物理接続及び、例えばWWNによるポートログインのようなFCプロトコル接続が使用できる論理接続を提供することができる。接続が成立した後は、管理者はパリティーグループからLDEVを生成し、或いは仮想ボリュームに対するフリーセグメントプール66−1にフリーセグメントスペースを割り当て、仮想ボリュームを生成することができる。
ストレージサブシステムは、ストレージサブシステムのコントローラがSCSIイニシエータとなる時、外部LUからパリティーグループを生成することができる。例えば外部ストレージサブシステムから与えられる500GB(0.5TB)LU及び当該外部ストレージサブシステムから与えられる500GBLUを用いて、ディスク−ExLUマッピング生成後、ボリュームマネージャはそれぞれが既に論理ディスクに識別子を割り当てられている二つの500GBLUを連結して1個のパリティーグループを生成することができる。パリティーグループの各LUは、ヘッダー情報511、514、LBAのオフセット即ちLUの開始アドレススペース、サイズ(例えばこの実施例ではLUのサイズは512バイトである)、及び前に示した(例えば図5、10、11)ような他の可能な情報、例えば、パリティーグループ番号上のデータスペース、所属するパリティーグループ、サイズ、所属LU(ポート及びポート上のLUN)、論理ディスク番号、構成(結合、RAID0/1/2/3/4/5/6)、構成のためのLUの順序、等のような関連情報を有する。データスペースサイズはLUサイズ−(マイナス)LDEVヘッダーサイズの値である。この実施例ではヘッダーのサイズは5MBにすることができる。
例えば、特定のLUのパリティーグループのサイズが1TB−(マイナス)ヘッダーサイズである場合、LDEVとストレージサブシステムの物理アドレススペースとのアドレスマッピングを示すことができる。例えば、パリティーグループ510のLBA0に関して、1番目のLUシーケンス513のヘッダーサイズの後の1番目のLUシーケンスのデータアドレススペースは、1番目のLUシーケンスのヘッダー511の後から1番目のLUシーケンスのヘッダーに関して書き込まれるであろうサイズまでになることができる。次の2番目のLUシーケンス516のデータアドレススペースは2番目のLUシーケンスのヘッダー514の後から2番目のLUシーケンスのヘッダーに関するサイズまでになることができる。
本発明の別な実施例では、ストレージサブシステム40はボリュームヘッダー情報なしでボリュームを使用することができる。このことは、外部LUがボリュームなしで直接Ex−Xに接続されることを意味する。
図13は本発明の一実施例による管理者によって設定可能な閾値レベル情報を含むGUIの図を示す。フリーセグメントプールに望まれるのは、フリーセグメントが、何個残されているかを示すある閾値又は使用率に保たれる必要があることである。管理者はフリーセグメントプール内の残存フリーセグメントの閾値レベルを示す情報191を設定するために、GUI230、又は他のCLIインタフェースを使用する。この場合、利用できるフリーセグメントを増やすためには行動がとられる必要がある。例えば、利用できるフリーセグメントがフリーセグメントプールのサイズ全体の30%又はそれ以下に低下したならば、プールが少なくなっておりセグメントを追加する必要があることを、eメール、SNMP、ポケットベル等を介して管理者に注意する警告又はその他の警報が発せられる。更に、管理者はLDEVからVDEVにデータを移行する提案としてGUIで閾値190を設定することができる。これが起こると、フリーセグメントプール66−1のフリースペースにLDEV上のより広げられた未書き込みの領域が割り振られることになる。勿論、管理者は変更した後は修正を加える。
本発明の実施例によれば、VDEVの生成後、ストレージサブシステム40は、管理者が規定した又はシステムのデフォルトで規定された閾値191を定期的に保守するためにフリーセグメントプール66−1のフリーセグメントの割合をチェックすることができる。規定の割合は管理者が保守コンソールに於いてGUIを用いて規定することができる。もし割合がシステムが規定したデフォルト値であるならば、その割合は新たなデフォルトの割合がGUIで管理者又はカストマーエンジニアにより再設定されるまでは、ストレージサブシステム40で恒常的に使用され得る。
図14は本発明の一実施例によるシン・プロビジョン型ストレージサブシステムのディスクスペースを管理するプロセスのフローチャートである。もし閾値となる割合が設定されていたなら、割合がチェックされた後に、セグメントマネージャ66はチェックした割合に基づき動作を実行することができる。使用済みとフリーのセグメントを含めたセグメントの合計に対するフリーセグメントの割合が規定された閾値未満かどうか判定される、ステップ151。もしそうでなければプロセスは終了するが、もしそうであれば、内部LDEVはフリーセグメントプールにフリーセグメントとして追加され得る、ステップ152。もしストレージサブシステムが自分自身でフリーの内部LDEVをLUの未割り当ての内部LDEVから選ぶように管理者が指示したならば、ストレージサブシステムはフリーセグメントプールに未割り当てのLDEVを挿入することができる。もしストレージサブシステムがそうしないなら、管理者は外部コンソールのGUIを介して自らのフリーセグメントプールに内部LDEVを挿入する動作を開始することができる。前述の通り管理者は図5に示すようなLDEV構成マッピング67で見出される内部又は外部を意味するLDEVロケーション情報を使用することができる。LUにマッピングされていないすべての未割り振りのLDEVがステップ152でフリーセグメントのスペースの候補として用いられ得ると仮定される。
本発明の別の実施例では、管理者によるLDEVの手動割り当てなしで、1個以上のLDEVがセグメントプールに自動的に割り当てられ得る。この実施例では、割り当ては、管理者又はカストマーエンジニアが自動割り当て可能なLDEVのグループを予め生成し、そのグループに生成したLDEVを割り当てる時に行われる。セグメントマネージャはグループ内のLDEVから一つのLDEVを自動的に収集し、セグメントプールに不足が生じていることをセグメントマネージャが検知した時に、当該LDEVをセグメントプールに割り当てることができる。例えば、このことはフリーセグメントプールの利用可能なセグメントの数が或る閾値未満であると判定された場合に起こり得る。もし予め生成した自動割り当て可能なLDEVのグループが空であるか、又はフリーセグメントプールの現在の必要数を満たすに十分な数のLDEVがグループ内に不足している場合は、セグメントマネージャは別な方法を用いてフリーセグメントプールを再び満たすか、又は自動割り当て可能なLDEVのグループが再び満たされる必要がある、又は手動でLDEVを割り当てる必要があることを示すメッセージを管理者又はカストマーエンジニアに発行することができる。
更に、フリーセグメントの割合が依然として規定した閾値未満かどうか判定される、ステップ153。もしそうでないのならプロセスは終了するが、もしそうであれば、LDEVからVDEVに転換する候補があるかどうか判定するために内部LDEVがチェックされ、もし候補があれば転換が行われる、ステップ154。このプロセスの詳細は後述される。次いでフリーセグメントの割合が依然として規定した閾値未満かどうか判定され、ステップ155、もしそうでないならばプロセスは終了するが、もしそうであれば外部LDEVがフリーセグメントプールにフリーセグメントとして追加され得る、ステップ156。ストレージサブシステムがLUの未割り当ての外部LDEVからフリーの外部LDEVを選び出すように管理者が指示したならば、ストレージサブシステムはフリーセグメントプールに未割り当てのLDEVを挿入することができる。もし管理者がそうしないのなら、管理者は外部コンソールのGUIを介してフリーセグメントプールに外部LDEVを挿入する動作を開始することができる。前述のように、内部又は外部を意味するLDEVのロケーション情報は図5に示すようなLDEV構成マッピング67中に見出される。
更に別の実施例では、フリーセグメントの割合が依然として規定した閾値未満かどうか判定するプロセス、ステップ155、とフリーセグメントプールにフリーセグメントとして外部LDEVを追加するプロセス、ステップ156、との間で、フリースペースを生成するためにLDEVからVDEVに転換する候補が存在するかどうかを判定するために外部ストレージがステップ154のようにチェックされ、フリーセグメントプールの割合がステップ155のようにチェックされる。もしストレージサブシステムがフリーセグメントプール内のフリーセグメントの不足を検知したならば、ストレージサブシステムは管理者がプールに新たなフリーセグメントになる内部又は外部LDEVを追加するまで、すべての仮想ボリュームに対してI/Oプロセスを一時中止することができ、或いは、ストレージサブシステムは外部ストレージの使用の間にフリーセグメントプールが不足してGUI、システムログ、eメール、ポケットベル等を介してユーザに警告が発せられるまでI/Oを続け、次いでフリーセグメントプール66−1のセグメントの数がゼロになったら管理者が内部又は外部のLDEVを追加するまでI/Oプロセスを一時中止することができる。
LUにマップされていないすべての未割り振りの外部LDEVがステップ152でフリーセグメントのスペースの候補として用いられ得ると仮定しよう。本発明の別な実施例に於いて、管理者やカストマーエンジニアが自動割り当て可能な外部LDEVのグループを予め生成して、それら生成した外部LDEVをそのグループに割り当てる時は、管理者による手動の外部LDEV割り当てなしで1個以上のLDEVがフリーセグメントプールに自動的に割り当てられ得る。セグメントマネージャはグループ内の外部LDEVから一つの外部LDEVを収集することができる。もしグループに外部LDEVが不足していたら、ストレージサブシステムは、管理者が内部又は外部LDEVをプールに対して新たなフリーセグメントとなるように追加するまで、又はフリーセグメントプールに自動割当され得るグループにLDEVを追加するまで、すべての仮想ボリュームに対するI/Oプロセスをも一時中止することができる。
図15は本発明の一実施例による転換プロセスのフローチャートを示す。このプロセスは図14で論じられたステップ154の実行の間に行われる。ストレージサブシステムは内部ストレージ又は外部ストレージのLDEVを検索することができる。規定された閾値191に基づくLDEVの転換候補を有するリストが取得され得る、ステップ161。LDEVがLU−LDEV/VDEVマッピング65から取得される。もしLDEVの全ビットマップ内でONになったビットマップ(例えばONとは「1」である)の割合が規定された閾値を超えているかどうか判定され、ステップ162、もしそうでないならプロセスはステップ161に戻る。LDEVに対する全ビットマップ内でONになったビットマップの割合が規定された閾値を超えていたら、ステップ162、LDEVはVDEVに転換するための候補LDEVのリストに追加される、ステップ163。これがリストの最後のLDEVであるかどうか判定され、ステップ164、もしそうであればプロセスはステップ165に移動する。しかしながらこれが最後のLDEVでないならば、プロセスはステップ161に戻る。リストはLDEV番号で構成することができる。次いでLDEV転換候補リストが管理者に示される、ステップ165。管理者はGUI(例えば図16の226)を用いてVDEVに転換するLDEVを選択することができる、ステップ166。選択されたLDEVのVDEVへの転換が実行される、ステップ167。
図16は本発明の一実施例によるLDEVのVDEVへの転換のためのGUIの図を示す。GUI226は、例として、LDEV番号201、現在の構成202、転換候補リストに基づく推奨203、LDEV上の書き込み済み/割り当て済み領域の割合204、LDEVからVDEVへの転換要求を指示するための選択オプション205から構成することができる。割り振り済み領域の割合204は書き込み済みのビットマップ(即ちONになったビットマップ)の数をビットマップの全数で割った値を用いて浮動小数点を%に変換して計算できる。即ち、割り振り済み領域(LDEV)の割合=ONになったビット数/全ビット数×100(式1)。
図17は本発明の一実施例による転換時のビットマップタイプからセグメントタイプへの変換を説明する図を示す。本発明の実施例によれば、LDEVからVDEVへの転換は多くの方法で行うことができる。例えば、一つの効率の良い転換方法はビットマップタイプからセグメントタイプへと変換することである。はじめにマイグレータが転換タスクを生成することができる。マイグレータはVDEVマネージャから与えられるVDEV番号(図8のテーブル66―0の未使用値)を選択し、リザーブされたLDEV内にソースLDEVをリザーブする。そこではデータ転換プロセスが完了するまで、ソースLDEVに対する管理者動作からソースLDEVを保護状態に置く。スケジューラがこのタスクを実行することができ、次いでマイグレータが割り振り済みのセグメントテーブル66―0の各エントリーを生成するために各ビットマップをチェックすることができる。この間セグメントに対するデータロケーションは管理されたストレージセグメントのビットマップと同じであり得る。ビットマップに対して割り当てられたエントリーを生成した後、マイグレータはフリーセグメントプールに対するフリーセグメントとして他のセグメントを取り除き、LDEVの状態を「使用済み」LDEVに変更することができる。その結果、LDEVとVDEVの間に何らコピーが存在しない。転換プロセスはビットマップ54から割り振り済みのセグメントテーブル66−0に変換することによって完了とすることができる。
カストマーエンジニアが1台以上の新たなディスクを追加し、コンソール401を介してストレージサブシステムに新たなパリティーグループを設定した後、管理者はパリティーグループから使用するために1個以上の新たなLDEVを生成し、外部コンソール83を介してLDEVを挿入することができる。新たなLDEVを生成した後、管理者は外部コンソール83のGUIを用いて新たなフリーセグメントとしてフリーセグメントプールに新たなLDEVを割り当てることができる。
図18は本発明の一実施例によるLDEVをフリーセグメントプールに挿入するGUIの図を示す。GUI210はLDEV211に対するGUI210のボックス214をチェックすることでLDEV211を管理しフリーセグメントスペースに挿入するために使用される。チェックボックス214はLDEVが割り振り済みか否かについても示す。ストレージサブシステム内のLDEVのロケーションを識別するために、GUIはストレージ構成212(図5の103参照)及びストレージサブシステムのロケーション213(図8の145参照)も示すことができる。パリティーグループが外部ストレージサブシステムのディスクのみ(例えばEx1、Ex2、・・・)から構成される場合、ロケーションは「外部」と示される。更に、パリティーグループが内部ストレージサブシステムのディスクと外部ストレージサブシステムのディスク(例えばEx1、LDEV300、・・・)から構成される場合、ロケーションは「混在」と示され得る。更にパリティーグループが内部ディスクのみ(例えばLDEV1、LDEV2、・・・)から構成される場合、ロケーションは「内部」と示される。更にGUIは転換後に残存するフリーセグメントの更新された容量216のみならずプールに残存するフリーセグメントに関して管理者に警報するのに役立つ残存するフリーセグメントの全容量215を示すことができる。
新たなLDEVを何も追加していない時の全容量はフリーセグメントプール66−1内のフリーセグメントの全数にセグメントのサイズを乗じて計算されて決定され、新たなLDEVを追加した後の一つのセグメントの全容量は容量215に、プールの新たなLDEVとフリーのLDEVのセグメントの総数にセグメントサイズを乗じて計算される新たなLDEVの容量を加えることで計算される。
図19は本発明の一実施例による集約プロセスに用いられるGUIの一部分の図である。管理者は選択オプション221内に内部、外部等のような集約ロケーションを規定するためにGUI220を使用する。LDEV追加に基づき管理者は更に望ましいロケーションにデータを集約又は移行することができる。例えば管理者は外部ストレージサブシステムから内部ストレージサブシステムにセグメント上のデータを集約することを望むことがある。別の例では、管理者は内部ストレージサブシステムから外部サブシステムにセグメント上のデータを集約することを望むことがある。すべてのデータ又はデータの一部分のみが、LDEV追加により利用可能になったフリーセグメントに依存して集約ロケーションに移行される。管理者は外部コンソール83のGUI220を用いて集約ロケーションを規定する。この選択に基づき、ストレージサブシステムはフリーセグメントプールに新たなLDEVを挿入後、集約ロケーションにデータをミラーする。
図20は本発明の一実施例による移行プロセスのフローチャートを示す。このプロセスはステップ170で始まり、管理者が集約ロケーションに新たなLDEVから新たなセグメントを追加したかどうか判定し、ステップ171、もし追加していないならばプロセスは終了する。管理者はフリーセグメントに対してより多くのセグメントを利用可能にするために、新たなセグメントを含む新たなストレージデバイスをシステムに挿入する。集約ロケーションは、ストレージサブシステムの内部であるか、又は新たに追加されたストレージデバイスが外部又は遠隔ストレージサブシステムに存在することを意味する外部である。もし管理者が新たなセグメントとして新たなLDEVを追加するならば、ステップ171、マイグレータはデータをVDEVセグメントから集約ロケーションの新たなセグメントに移行する動作又はプロセスを開始し、ステップ172、VDEVに対して新たなセグメントを割り当てる。フリーセグメントプールに追加された利用可能な新たなセグメントに依存してデータの一部分のみ移行が行われる。
本発明の別な実施例では、ステップ171は別のやり方で実行される。ストレージサブシステムは、管理者がストレージデバイスを挿入した後、管理者が規定したポリシーを処理することができる。このポリシーはパリティーグループの生成、LDEVの生成、及びセグメントプールへのLDEVの挿入を処理する。例えばディスク挿入後、直接セグメントを挿入するためには、管理者は5台のディスクがストレージサブシステムに挿入される場合、RAID5によって4D+1Pを生成し、生成したパリティーグループから2TBのLDEVを生成し、LDEVをセグメントプールへと挿入するというポリシーを予め構成することができる。セグメントマネージャは、ポリシーに基づいてディスク挿入後、セグメントプールに自動的にセグメントを生成する。規定されたLDEVグループ中にLDEVを挿入する別の例では、管理者は、5台のディスクがストレージサブシステムに挿入される場合、RAID5によって4D+1Pを生成し、生成したパリティーグループから2TBのLDEVを生成し、LDEVを各内部又は外部LDEVグループに挿入するというポリシーを予め構成する。セグメントマネージャはLDEVの挿入について通知を受け、セグメントプールにセグメントを生成する。
図21は本発明の一実施例によるセグメント移行プロセスのフローチャートを示す。ステップ180で移行プロセスが開始し、マイグレータは移行され新たなLDEVに挿入されるべきフリーセグメントが残存しているか確認する、ステップ181。新たなLDEVに対してセグメントが全く存在しないならば、プロセスは終了する。新たなLDEVに対して残存するセグメントが依然として存在するのであれば、マイグレータは割り振りテーブルのロケーション(図8の145)を用いて集約したロケーションに対してソースセグメントを選択する、ステップ182。マイグレータはフリーセグメントプールから新たなLDEV上のセグメントを取得する、ステップ183。マイグレータは選択したソースセグメントからデータを読み出す、ステップ184。移行の間にセグメントに対するI/O動作が相対LBAにアクセスしてメモリー上で実行される。相対LBAはI/O要求されたLBAをセグメントサイズで割った端数とすることができる。ソースセグメントから読み出されるデータはメモリーのターゲットセグメントに書き込まれる、ステップ185。
書き込み時、ホストからのソースセグメントに対する読み出しI/O要求はメモリーに書き込まれるデータを用いて続けられ、その書き込みI/O動作はソースセグメントに対するデータ読み出し及びターゲットセグメントに対する書き込みであるコピー動作が終了するまでコントローラ41のI/Oバッファー上でスタックされる。書き込み動作の持続時間は、セグメントがパリティーのストライプサイズに等しいならば、短い。書き込まれるセグメントが割り振りテーブル(図8)で割り当てられ、ソースセグメントはフリーセグメントプール(図7)に返送される、ステップ186。本発明の実施例によれば、ホストはセグメントの移行の間でもデータを書き込むことができる。
前述の例は単に説明の目的で与えられたものであり、決して本発明を限定して解釈されるべきでないことに注意願いたい。本発明は好適な実施例を参照して説明されてきたが、ここで用いられた語句は制限するための語句でなく、記述及び説明するための語句であることを理解願いたい。その態様に於いて、本発明の範囲と精神から逸脱することなく、添付の現在記載され、修正される特許請求に範囲内で変更がなされ得るものである。本発明は特定の方法、材料、実施例を参照してここに述べられているが、本発明はここに開示された詳細に限定することを意図するものでなく、むしろ本発明は添付の特許請求の範囲内にあるあらゆる機能的に等価な構造、方法、用法に及ぶべきものである。
図1は現状のシン・プロビジョンを実現する書き込み動作の図である。 図2はVDEVがLUに割り当てられ、VDEVの一部がSCSI WRITE(6)コマンドや他の書き込みコマンドによってアクセスされる時のVDEVに関するプロセスの例のフローチャートである。 図3は本発明の一実施例によるディスクスペースを管理するシン・プロビジョン型ストレージサブシステムの図である。 図4は本発明の一実施例によるディスクスペースを管理するシン・プロビジョン型ストレージサブシステムの論理構成の図である。 図5は本発明の一実施例によるLDEV構成マッピングの図である。 図6は本発明の一実施例によるLDEV書き込みプロセスのフローチャートである。 図7は本発明の一実施例によるフリーセグメントプール内のLDEVの割り振られていないセグメントの図である。 図8は本発明の一実施例による割り振りテーブルの図である。 図9は本発明の一実施例によるシン・プロビジョン型ストレージサブシステムの読み出しプロセスのフローチャートである。 図10は本発明の一実施例によるLUのデバイスへのマッピングの図である。 図11は本発明の一実施例による外部LUのLUN(logical unit number;LU番号)へのマッピングの図である。 図12は本発明の一実施例によるパリティーグループ構造の図である。 図13は本発明の一実施例による管理者によって設定可能な閾値レベル情報を含むGUI(Graphical User Interface;グラフィカルユーザインタフェース)の図である。 図14は本発明の一実施例によるシン・プロビジョン型ストレージサブシステムのディスクスペースを管理するプロセスのフローチャートである。 図15は本発明の一実施例による転換プロセスのフローチャートである。 図16は本発明の一実施例によるLDEVのVDEVへの転換のためのGUIの図である。 図17は本発明の一実施例による転換時のビットマップタイプからセグメントタイプへの変換を説明する図である。 図18は本発明の一実施例によるLDEVをフリーセグメントプールに挿入するGUIの図である。 図19は本発明の一実施例による集約プロセスに用いられるGUIの一部分の図である。 図20は本発明の一実施例による移行プロセスのフローチャートである。 図21は本発明の一実施例によるセグメント移行プロセスのフローチャートである。

Claims (23)

  1. シン・プロビジョン型ストレージサブシステムにおいて、
    ストレージサブシステムのフリーセグメントプール内のフリーセグメントの数が望まれる最小値未満かどうか判定するステップと、
    もし前記フリーセグメントの数が前記望まれる最小値未満ならば、LDEV(論理デバイス)をVDEV(仮想デバイス)に転換するステップ、又は外部ストレージからLDEVを選択して前記フリーセグメントプールにフリーセグメントとして追加するステップの少なくとも一方を実行するステップと、
    から成り、
    前記転換するステップは部分的に使用済み又はすべて使用済みのLDEVを識別して、これらを前記VDEVに転換するステップを含むことを特徴とする、ディスクスペースを管理する方法。
  2. 請求項1に於いて更に、もし前記フリーセグメントの数が前記望まれる最小値未満ならば、内部ストレージからLDEVを選択して前記フリーセグメントプールにフリーセグメントとして追加するステップから成ることを特徴とする、請求項1による方法。
  3. 前記内部ストレージからLDEVを選択して追加する前記ステップと前記外部ストレージからLDEVを選択して追加する前記ステップは、管理者が保守コンソールにて1個以上のGUI(グラフィカルユーザインタフェース)を使用することにより実行されることを特徴とする、請求項2による方法。
  4. 請求項2に於いて更に、
    前記フリーセグメントプール内の前記フリーセグメントの数が前記望まれる最小値未満かどうか判定するステップと、
    前記フリーセグメントの数が前記望まれる最小値未満ならば、前記内部ストレージからLDEVを前記フリーセグメントプールにフリーセグメントとして追加するステップと、
    前記フリーセグメントプール内の前記フリーセグメントの数が依然として前記望まれる最小値未満かどうか判定し、もしそうであれば、LDEVを前記VDEVに転換するステップと、
    前記フリーセグメントプール内の前記フリーセグメントの数が依然として前記望まれる最小値未満かどうか判定し、もしそうであれば、前記外部ストレージから前記LDEVを前記フリーセグメントプールにフリーセグメントとして追加するステップと、
    から成ることを特徴とする、請求項2による方法。
  5. 前記転換するステップは更に、
    使用済みのLDEVのリスト上のLDEVの情報を取得するステップと、
    前記LDEVに対する使用済みセグメントの合計が規定された閾値を超えるかどうか判定するステップと、
    もしも前記使用済みセグメントの合計が前記規定された閾値を超えるならば、前記LDEVを前記VDEVへの転換の候補リストに追加するステップと、
    前記使用済みのLDEVのリスト上の各LDEVに対して、前記の取得し、判定し、追加するステップを繰り返すステップと、
    前記VDEVへの前記転換の候補リストからLDEVを選択するステップと、
    これら選択したLDEVの前記VDEVへの前記転換を実行するステップと、
    から成ることを特徴とする、請求項1による方法。
  6. 前記選択するステップは、管理者が前記候補リストを検討した後、保守コンソールのGUIを使用することにより実行されることを特徴とする、請求項5による方法。
  7. 前記閾値は、管理者が保守コンソールのGUIを使用することにより設定されることを特徴とする、請求項1による方法。
  8. LDEVのVDEVへの前記転換を実行する前記ステップは、前記フリーセグメントの数が前記望まれる最小値未満であれば、自動的に行われることを特徴とする、請求項1による方法。
  9. 前記外部ストレージからLDEVを選択して前記フリーセグメントプールにフリーセグメントとして追加するステップを実行する前記ステップは、前記フリーセグメントの数が前記望まれる最小値未満であれば、自動的に行われることを特徴とする、請求項1による方法。
  10. フリーセグメントプール内にフリーセグメントが存在するかどうか判定するステップと、
    移行のためにVDEVのソースセグメントを選択するステップと、
    前記ソースセグメントからデータを読み出すステップと、
    前記フリーセグメントプールからのフリーセグメントであるターゲットセグメントに前記データを書き込むステップと、
    前記VDEVに前記ターゲットセグメントを割り当てるステップと、
    前記フリーセグメントプールに前記ソースセグメントを割り当てるステップと、
    から成ることを特徴とする、ストレージサブシステムのデータ移行方法。
  11. 前記ターゲットセグメントは前記ストレージサブシステムの内部に置かれたストレージデバイスに存在することを特徴とする、請求項10による方法。
  12. 前記ターゲットセグメントは前記ストレージサブシステムの外部に置かれたストレージデバイスに存在することを特徴とする、請求項10による方法。
  13. 移行のために前記ソースセグメントを選択する前記ステップ、前記VDEVに前記ターゲットセグメントを割り当てる前記ステップ、及び前記フリーセグメントプールに前記ソースセグメントを割り当てる前記ステップは、管理者が保守コンソールのGUIを使用することにより実行されることを特徴とする、請求項10による方法。
  14. 請求項10に於いて更に、管理者が保守コンソールのGUIを使用することにより前記フリーセグメントプール内の使用可能なフリーセグメントの量を管理者が監視することに基づいて、該フリーセグメントプールに対してフリーセグメントを与えるロケーションに新たなストレージデバイスを追加するステップから成ることを特徴とする、請求項10による方法。
  15. I/O動作のための少なくとも1台のホストデバイスとの接続を提供する第一のポート、外部ストレージサブシステムとの接続を提供する第二のポート、及び外部コンソールとの接続を提供する第三のポートを有するコントローラと、
    前記コントローラの第四のポートを介して該コントローラと相互接続される少なくとも1台のストレージデバイスと、
    から成るシン・プロビジョン型ストレージサブシステムにおいて、
    前記ストレージサブシステムは、もしフリーセグメントプール内のフリーセグメントの数が望まれる最小値未満ならば、LDEVをVDEVに転換するステップ、又は外部ストレージからLDEVを該フリーセグメントプールにフリーセグメントとして追加するステップの少なくとも一方を実行する能力を有し、該転換するステップは部分的に使用済みか又はすべて使用済みのLDEVを識別して、これらを該VDEVに転換するステップから成ることを特徴とする、ディスクスペースを管理するためのシン・プロビジョン型ストレージサブシステム。
  16. 前記第一のポートは、ファイバチャネルスイッチ、ハブ、IPネットワーク、及びイーサネットスイッチの一つから成る第一のスイッチングネットワークを介して前記少なくとも1台のホストデバイスに接続されることを特徴とする、請求項15によるサブシステム。
  17. 前記第二のポートは、ファイバチャネルスイッチ、ハブ、IPネットワーク、及びイーサネットスイッチの一つから成る第二のスイッチングネットワークを介して前記外部のストレージサブシステムに接続されることを特徴とする、請求項15によるサブシステム。
  18. 前記第三のポートは、ファイバチャネルスイッチ、ハブ、IPネットワーク、及びイーサネットスイッチの一つから成る第三のスイッチングネットワークを介して前記外部コンソールに接続されることを特徴とする、請求項15によるサブシステム。
  19. 前記I/O動作は、SCSI動作及びiSCSI動作の少なくとも一方から成ることを特徴とする、請求項15によるサブシステム。
  20. 請求項15に於いて、各コントローラは更に、
    プロセッサと、
    1個以上のシン・プロビジョンを実現するVDEVを生成し管理するVDEVマネージャと、
    LDEVからVDEVへ、VDEVからLDEVへ、VDEVからVDEVへ、及びLDEVからLDEVへデータを移行するマイグレータと、
    前記少なくとも1台のストレージデバイスから前記少なくとも1台のホストデバイスに前記I/O動作のための論理ストレージを提供するためにLDEVを生成するLDEVマネージャと、
    前記フリーセグメントプールを有し、該フリーセグメントプール内の前記フリーセグメントを管理するセグメントマネージャと、
    から成るモジュールを有するメモリーと、
    から成り、前記メモリーは論理ユニットのLDEVへのマッピングとディスクの外部論理ユニットへのマッピングを記憶することを特徴とする、請求項15によるサブシステム。
  21. 前記外部コンソールは、前記フリーセグメントプール、前記論理ユニットのLDEVへのマッピング、及び前記ディスクの外部論理ユニットへのマッピングに関する情報を含む少なくとも一つのGUIを管理者に提供し、該管理者は、前記フリーセグメントプール内の前記フリーセグメントの数が前記望まれる最小値未満ならば、該情報を使用してVDEVへの前記転換のためにLDEVを調査して選択し、外部ストレージからLDEVを該フリーセグメントプールにフリーセグメントとして追加する前記ステップを実行することを特徴とする、請求項20によるサブシステム。
  22. 前記モジュールはマイクロコード又はソフトウェアの少なくとも一方から成ることを特徴とする、請求項20によるサブシステム。
  23. 前記モジュールはリムーバブルストレージ媒体から前記メモリーにインストールされたプログラムコードから成ることを特徴とする、請求項20によるサブシステム。
JP2006060434A 2005-04-21 2006-03-07 シン・プロビジョン型ストレージサブシステムのディスクスペースを管理するシステムと方法 Expired - Fee Related JP4958453B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/110,855 US7130960B1 (en) 2005-04-21 2005-04-21 System and method for managing disk space in a thin-provisioned storage subsystem
US11/110,855 2005-04-21

Publications (2)

Publication Number Publication Date
JP2006302258A true JP2006302258A (ja) 2006-11-02
JP4958453B2 JP4958453B2 (ja) 2012-06-20

Family

ID=37188430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006060434A Expired - Fee Related JP4958453B2 (ja) 2005-04-21 2006-03-07 シン・プロビジョン型ストレージサブシステムのディスクスペースを管理するシステムと方法

Country Status (2)

Country Link
US (4) US7130960B1 (ja)
JP (1) JP4958453B2 (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1953636A2 (en) 2007-01-29 2008-08-06 Hitachi, Ltd. Storage module and capacity pool free capacity adjustment method
JP2009043233A (ja) * 2007-08-08 2009-02-26 Hitachi Ltd 容量オンデマンド動的チャンク割り当てのための方法および装置
JP2009043055A (ja) * 2007-08-09 2009-02-26 Hitachi Ltd 計算機システム、ストレージ装置及びデータ管理方法
JP2009187142A (ja) * 2008-02-04 2009-08-20 Hitachi Ltd コンピュータシステム及び物理ディスク回収方法
JP2009230742A (ja) * 2008-03-21 2009-10-08 Hitachi Ltd 高可用性、低容量のシン・プロビジョニング
EP2109033A2 (en) 2008-04-07 2009-10-14 Hitachi Ltd. Storage system comprising plurality of storage system modules
JP2010055420A (ja) * 2008-08-28 2010-03-11 Fujitsu Ltd バックアップ装置、バックアップ方法およびバックアッププログラム
JP2010086393A (ja) * 2008-10-01 2010-04-15 Hitachi Ltd Lu設定機能を備えたストレージシステム
JP2010541060A (ja) * 2007-10-01 2010-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーション シン・プロビジョニングの移行および取り消しのための方法および装置
JP2012208918A (ja) * 2011-03-29 2012-10-25 Hitachi Ltd データセンターファイルシステムの方法及び装置
JP2013516667A (ja) * 2010-04-27 2013-05-13 株式会社日立製作所 ThinProvisioningが適用された、メインフレーム系のストレージ装置
WO2014061054A1 (en) 2012-10-15 2014-04-24 Hitachi, Ltd. Storage system and method of controlling storage system
WO2018078741A1 (ja) * 2016-10-26 2018-05-03 株式会社日立製作所 ストレージ装置

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8032701B1 (en) * 2004-03-26 2011-10-04 Emc Corporation System and method for managing provisioning of storage resources in a network with virtualization of resources in such a network
US8281022B1 (en) 2000-06-30 2012-10-02 Emc Corporation Method and apparatus for implementing high-performance, scaleable data processing and storage systems
US8219681B1 (en) 2004-03-26 2012-07-10 Emc Corporation System and method for managing provisioning of storage resources in a network with virtualization of resources in such a network
US7162600B2 (en) 2005-03-29 2007-01-09 Hitachi, Ltd. Data copying method and apparatus in a thin provisioned system
JP4283004B2 (ja) * 2003-02-04 2009-06-24 株式会社日立製作所 ディスク制御装置およびディスク制御装置の制御方法
US7039662B2 (en) * 2004-02-24 2006-05-02 Hitachi, Ltd. Method and apparatus of media management on disk-subsystem
US7818517B1 (en) 2004-03-26 2010-10-19 Emc Corporation Architecture for virtualization of networked storage resources
US8627005B1 (en) 2004-03-26 2014-01-07 Emc Corporation System and method for virtualization of networked storage resources
US7770059B1 (en) 2004-03-26 2010-08-03 Emc Corporation Failure protection in an environment including virtualization of networked storage resources
JP4699808B2 (ja) * 2005-06-02 2011-06-15 株式会社日立製作所 ストレージシステム及び構成変更方法
US7584340B1 (en) 2005-06-13 2009-09-01 Symantec Operating Corporation System and method for pre-provisioning storage in a networked environment
JP4806556B2 (ja) 2005-10-04 2011-11-02 株式会社日立製作所 ストレージシステム及び構成変更方法
US7543123B2 (en) * 2005-11-07 2009-06-02 International Business Machines Corporation Multistage virtual memory paging system
GB0623255D0 (en) * 2006-11-22 2007-01-03 Ibm Apparatus and method for resource reclamation in data storage
US7949847B2 (en) * 2006-11-29 2011-05-24 Hitachi, Ltd. Storage extent allocation method for thin provisioning storage
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
JP2010512584A (ja) 2006-12-06 2010-04-22 フュージョン マルチシステムズ,インク.(ディービイエイ フュージョン−アイオー) 空データトークン指令を有する要求デバイスからのデータを管理する装置、システムおよび方法
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US8074011B2 (en) 2006-12-06 2011-12-06 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery after reaching a read count limit
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
JP2008181416A (ja) * 2007-01-25 2008-08-07 Hitachi Ltd 記憶システム及びデータ管理方法
WO2008126202A1 (ja) * 2007-03-23 2008-10-23 Fujitsu Limited ストレージシステムの負荷分散プログラム、ストレージシステムの負荷分散方法、及びストレージ管理装置
US8019965B2 (en) * 2007-05-31 2011-09-13 International Business Machines Corporation Data migration
US8046597B2 (en) * 2007-08-14 2011-10-25 Dell Products L.P. System and method for managing storage device capacity use
US20090089516A1 (en) * 2007-10-02 2009-04-02 Greg Pelts Reclaiming storage on a thin-provisioning storage device
US8131927B2 (en) 2007-11-30 2012-03-06 Hitachi, Ltd. Fast accessible compressed thin provisioning volume
US8195912B2 (en) * 2007-12-06 2012-06-05 Fusion-io, Inc Apparatus, system, and method for efficient mapping of virtual and physical addresses
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
WO2009081953A1 (ja) * 2007-12-26 2009-07-02 Canon Anelva Corporation スパッタ装置、スパッタ成膜方法及び分析装置
US7882386B1 (en) * 2008-03-21 2011-02-01 Emc Corporaton System and method for recovering a logical volume during failover or reboot of a file server in a data storage environment
JP4616899B2 (ja) * 2008-05-26 2011-01-19 株式会社日立製作所 管理サーバ、プール増設方法および計算機システム
US8145841B2 (en) * 2008-06-06 2012-03-27 Pivot3 Method and system for initializing storage in a storage system
US8219750B2 (en) * 2008-06-30 2012-07-10 Pivot3 Method and system for execution of applications in conjunction with distributed RAID
US8359444B2 (en) * 2008-09-24 2013-01-22 Hitachi, Ltd. System and method for controlling automated page-based tier management in storage systems
US8176247B2 (en) 2008-10-28 2012-05-08 Pivot3 Method and system for protecting against multiple failures in a RAID system
US8504524B1 (en) * 2009-02-09 2013-08-06 American Megatrends, Inc. Reclaiming space from a file system
US8397046B2 (en) * 2009-03-26 2013-03-12 Hitachi, Ltd. Method and apparatus for deploying virtual hard disk to storage system
JP5235154B2 (ja) * 2009-03-31 2013-07-10 富士通株式会社 管理装置および管理プログラム
US8656070B2 (en) * 2009-04-29 2014-02-18 Lsi Corporation Striping with SCSI I/O referrals
JP5425913B2 (ja) * 2009-05-22 2014-02-26 株式会社日立製作所 複数のプロセッサユニットを備えたストレージシステム
US8504797B2 (en) * 2009-06-02 2013-08-06 Hitachi, Ltd. Method and apparatus for managing thin provisioning volume by using file storage system
KR101717644B1 (ko) * 2009-09-08 2017-03-27 샌디스크 테크놀로지스 엘엘씨 고체-상태 저장 디바이스 상에서 데이터를 캐싱하는 장치, 시스템, 및 방법
US8289801B2 (en) 2009-09-09 2012-10-16 Fusion-Io, Inc. Apparatus, system, and method for power reduction management in a storage device
JP4815518B2 (ja) * 2009-09-11 2011-11-16 株式会社日立製作所 ストレージシステムとサーバ計算機の両方でThin−Provisioning技術に従う容量仮想化が行われる計算機システム
WO2011042939A1 (en) * 2009-10-09 2011-04-14 Hitachi, Ltd. Storage control device building a logical unit based on storage devices coupled with different switches
JP5427011B2 (ja) 2009-12-17 2014-02-26 株式会社日立製作所 仮想ハードディスクの管理サーバおよび管理方法、管理プログラム
US8639876B2 (en) * 2010-01-27 2014-01-28 International Business Machines Corporation Extent allocation in thinly provisioned storage environment
US8484536B1 (en) * 2010-03-26 2013-07-09 Google Inc. Techniques for data storage, access, and maintenance
US9448938B2 (en) * 2010-06-09 2016-09-20 Micron Technology, Inc. Cache coherence protocol for persistent memories
WO2011158280A1 (en) * 2010-06-14 2011-12-22 Hitachi, Ltd. Storage apparatus, storage system
US8719675B1 (en) 2010-06-16 2014-05-06 Google Inc. Orthogonal coding for data storage, access, and maintenance
US8380961B2 (en) 2010-08-18 2013-02-19 International Business Machines Corporation Methods and systems for formatting storage volumes
US8392653B2 (en) 2010-08-18 2013-03-05 International Business Machines Corporation Methods and systems for releasing and re-allocating storage segments in a storage volume
US8533420B2 (en) 2010-11-24 2013-09-10 Microsoft Corporation Thin provisioned space allocation
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
CN103262054B (zh) 2010-12-13 2015-11-25 桑迪士克科技股份有限公司 用于自动提交存储器的装置、系统和方法
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
CN103080895B (zh) * 2010-12-22 2016-01-27 株式会社日立制作所 包括具有存储虚拟化功能和容量虚拟化功能二者的多个存储装置的存储系统
US8966184B2 (en) 2011-01-31 2015-02-24 Intelligent Intellectual Property Holdings 2, LLC. Apparatus, system, and method for managing eviction of data
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US8527699B2 (en) 2011-04-25 2013-09-03 Pivot3, Inc. Method and system for distributed RAID implementation
JP5749803B2 (ja) 2011-04-27 2015-07-15 株式会社日立製作所 情報記憶システム及びストレージシステム管理方法
US8621317B1 (en) 2011-07-25 2013-12-31 Google Inc. Modified orthogonal coding techniques for storing data
US8601473B1 (en) 2011-08-10 2013-12-03 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
US8615698B1 (en) 2011-09-28 2013-12-24 Google Inc. Skewed orthogonal coding techniques
US8904143B2 (en) 2011-09-30 2014-12-02 International Business Machines Corporation Obtaining additional data storage from another data storage system
US9251052B2 (en) 2012-01-12 2016-02-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US8782344B2 (en) 2012-01-12 2014-07-15 Fusion-Io, Inc. Systems and methods for managing cache admission
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US10019353B2 (en) 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
US8856619B1 (en) 2012-03-09 2014-10-07 Google Inc. Storing data across groups of storage nodes
US20130262811A1 (en) * 2012-03-27 2013-10-03 Hitachi, Ltd. Method and apparatus of memory management by storage system
CN102650931B (zh) * 2012-04-01 2015-07-08 华为技术有限公司 一种写入数据的方法及系统
US9772866B1 (en) * 2012-07-17 2017-09-26 Nutanix, Inc. Architecture for implementing a virtualization environment and appliance
US9251050B2 (en) 2013-03-13 2016-02-02 International Business Machines Corporation Apparatus and method for resource alerts
US9146853B2 (en) 2013-03-28 2015-09-29 Microsoft Technology Licensing, Llc Managing capacity of a thinly provisioned storage system
US9552370B1 (en) * 2013-06-27 2017-01-24 EMC IP Holding Company LLC Signaling impending out of storage condition from a virtual tape drive
US9785348B2 (en) 2014-05-28 2017-10-10 International Business Machines Corporation Balancing usage of real and virtual space to avoid out-of-space conditions in storage controllers
US9881018B2 (en) 2014-08-14 2018-01-30 International Business Machines Corporation File management in thin provisioning storage environments
US9454327B2 (en) 2014-08-29 2016-09-27 International Business Machines Corporation Analytics based control of thin provisioning environment
US9996463B2 (en) * 2015-11-10 2018-06-12 International Business Machines Corporation Selection and placement of volumes in a storage system using stripes
US9927955B2 (en) 2015-11-10 2018-03-27 International Business Machines Corporation Generating a configuration page for rendering in a graphical user interface (GUI) for managing provisioning of storage resources in a storage system
US10635344B2 (en) * 2016-04-27 2020-04-28 International Business Machines Corporation Dynamic spare storage allocation by creating logical volumes from unused space allocated for user data of a raid storage
US10552076B2 (en) 2016-12-13 2020-02-04 International Business Machines Corporation Identification of volumes for thin provisioning
US11029863B2 (en) * 2017-08-31 2021-06-08 Vmware, Inc. Using non-volatile random access memory as volatile random access memory
US10671286B2 (en) * 2018-09-04 2020-06-02 Toshiba Memory Corporation System and method for managing GUI of virtual NVMe entities in NVMe over fabric appliance
CN118131975A (zh) * 2022-12-02 2024-06-04 戴尔产品有限公司 用于数据迁移的方法、设备以及计算机程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003015915A (ja) * 2001-07-05 2003-01-17 Hitachi Ltd 記憶装置の容量自動拡張方法
JP2003134141A (ja) * 2001-10-26 2003-05-09 Hitachi Ltd ストレージシステムの運用方法およびこの方法に用いるサーバ装置
JP2004227558A (ja) * 2002-11-25 2004-08-12 Hitachi Ltd 仮想化制御装置およびデータ移行制御方法
WO2005001700A1 (ja) * 2003-06-27 2005-01-06 Fujitsu Limited ストレージ容量管理方法、そのサーバ、記録媒体
JP2005011316A (ja) * 2003-05-28 2005-01-13 Hitachi Ltd 記憶領域割当方法、システム及び仮想化装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9111524D0 (en) * 1991-05-29 1991-07-17 Hewlett Packard Co Data storage method and apparatus
US5881311A (en) * 1996-06-05 1999-03-09 Fastor Technologies, Inc. Data storage subsystem with block based data management
US6598143B1 (en) * 2000-02-24 2003-07-22 International Business Machines Corporation Method to increase performance of acquiring free memory pages
US6823442B1 (en) 2003-05-12 2004-11-23 3Pardata, Inc. Method of managing virtual volumes in a utility storage server system
JP4141391B2 (ja) * 2004-02-05 2008-08-27 株式会社日立製作所 ストレージサブシステム
US7627617B2 (en) 2004-02-11 2009-12-01 Storage Technology Corporation Clustered hierarchical file services
US7165142B2 (en) 2004-03-03 2007-01-16 Inventec Corporation Data storage array linking operation switching control system
JP2005250938A (ja) * 2004-03-05 2005-09-15 Hitachi Ltd 記憶制御システム及び方法
JP4555040B2 (ja) * 2004-09-22 2010-09-29 株式会社日立製作所 ストレージ装置及びストレージ装置のライトアクセス処理方法
JP2006127028A (ja) * 2004-10-27 2006-05-18 Hitachi Ltd 記憶システム及び記憶制御装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003015915A (ja) * 2001-07-05 2003-01-17 Hitachi Ltd 記憶装置の容量自動拡張方法
JP2003134141A (ja) * 2001-10-26 2003-05-09 Hitachi Ltd ストレージシステムの運用方法およびこの方法に用いるサーバ装置
JP2004227558A (ja) * 2002-11-25 2004-08-12 Hitachi Ltd 仮想化制御装置およびデータ移行制御方法
JP2005011316A (ja) * 2003-05-28 2005-01-13 Hitachi Ltd 記憶領域割当方法、システム及び仮想化装置
WO2005001700A1 (ja) * 2003-06-27 2005-01-06 Fujitsu Limited ストレージ容量管理方法、そのサーバ、記録媒体

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186172A (ja) * 2007-01-29 2008-08-14 Hitachi Ltd ストレージモジュール及び容量プール空き容量調整方法
EP1953636A2 (en) 2007-01-29 2008-08-06 Hitachi, Ltd. Storage module and capacity pool free capacity adjustment method
JP2009043233A (ja) * 2007-08-08 2009-02-26 Hitachi Ltd 容量オンデマンド動的チャンク割り当てのための方法および装置
JP2009043055A (ja) * 2007-08-09 2009-02-26 Hitachi Ltd 計算機システム、ストレージ装置及びデータ管理方法
JP2010541060A (ja) * 2007-10-01 2010-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーション シン・プロビジョニングの移行および取り消しのための方法および装置
US8386744B2 (en) 2007-10-01 2013-02-26 International Business Machines Corporation Thin provisioning migration and scrubbing
JP2009187142A (ja) * 2008-02-04 2009-08-20 Hitachi Ltd コンピュータシステム及び物理ディスク回収方法
JP2009230742A (ja) * 2008-03-21 2009-10-08 Hitachi Ltd 高可用性、低容量のシン・プロビジョニング
EP2109033A2 (en) 2008-04-07 2009-10-14 Hitachi Ltd. Storage system comprising plurality of storage system modules
US8645658B2 (en) 2008-04-07 2014-02-04 Hitachi, Ltd. Storage system comprising plurality of storage system modules
JP2010055420A (ja) * 2008-08-28 2010-03-11 Fujitsu Ltd バックアップ装置、バックアップ方法およびバックアッププログラム
US8756386B2 (en) 2008-08-28 2014-06-17 Fujitsu Limited Backup apparatus, backup method and computer readable medium having a backup program
JP2010086393A (ja) * 2008-10-01 2010-04-15 Hitachi Ltd Lu設定機能を備えたストレージシステム
JP4685911B2 (ja) * 2008-10-01 2011-05-18 株式会社日立製作所 Lu設定機能を備えたストレージシステム
US8713279B2 (en) 2008-10-01 2014-04-29 Hitachi, Ltd. Storage system with LU-setting function
JP2013516667A (ja) * 2010-04-27 2013-05-13 株式会社日立製作所 ThinProvisioningが適用された、メインフレーム系のストレージ装置
JP2012208918A (ja) * 2011-03-29 2012-10-25 Hitachi Ltd データセンターファイルシステムの方法及び装置
WO2014061054A1 (en) 2012-10-15 2014-04-24 Hitachi, Ltd. Storage system and method of controlling storage system
WO2018078741A1 (ja) * 2016-10-26 2018-05-03 株式会社日立製作所 ストレージ装置

Also Published As

Publication number Publication date
US7130960B1 (en) 2006-10-31
US20060242378A1 (en) 2006-10-26
US7739446B2 (en) 2010-06-15
US20070174574A1 (en) 2007-07-26
US20090157956A1 (en) 2009-06-18
JP4958453B2 (ja) 2012-06-20
US7509454B2 (en) 2009-03-24
US20070016746A1 (en) 2007-01-18
US7263578B2 (en) 2007-08-28

Similar Documents

Publication Publication Date Title
JP4958453B2 (ja) シン・プロビジョン型ストレージサブシステムのディスクスペースを管理するシステムと方法
US10452299B2 (en) Storage system having a thin provisioning function
US9411746B2 (en) Computer system, computer and method for performing thin provisioning capacity management in coordination with virtual machines
JP5314772B2 (ja) 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法
JP5079841B2 (ja) ThinProvisioningに従う仮想的な論理ボリュームに対するデータのライトを制御する方法及びストレージ装置
US8307186B2 (en) Computer system performing capacity virtualization based on thin provisioning technology in both storage system and server computer
JP4855102B2 (ja) 計算機システム及び管理計算機とストレージシステム並びに記憶領域割当量制御方法
US20120011329A1 (en) Storage apparatus and storage management method
US8296543B2 (en) Computer system management apparatus and management method for the computer system
JP2012505441A (ja) ストレージ装置およびそのデータ制御方法
US8572347B2 (en) Storage apparatus and method of controlling storage apparatus
JP5597266B2 (ja) ストレージシステム
US20080209041A1 (en) Volume allocation method
JP5355764B2 (ja) ThinProvisioningに従う仮想的な論理ボリュームに対するデータのライトを制御する方法及びストレージ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090130

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090130

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111025

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111226

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

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

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

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees