JP4920976B2 - データ移動方法及びストレージシステム - Google Patents

データ移動方法及びストレージシステム Download PDF

Info

Publication number
JP4920976B2
JP4920976B2 JP2006013319A JP2006013319A JP4920976B2 JP 4920976 B2 JP4920976 B2 JP 4920976B2 JP 2006013319 A JP2006013319 A JP 2006013319A JP 2006013319 A JP2006013319 A JP 2006013319A JP 4920976 B2 JP4920976 B2 JP 4920976B2
Authority
JP
Japan
Prior art keywords
data
segment
ldev
logical block
block address
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.)
Expired - Fee Related
Application number
JP2006013319A
Other languages
English (en)
Other versions
JP2006277723A5 (ja
JP2006277723A (ja
Inventor
義樹 加納
山本  彰
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 JP2006277723A publication Critical patent/JP2006277723A/ja
Publication of JP2006277723A5 publication Critical patent/JP2006277723A5/ja
Application granted granted Critical
Publication of JP4920976B2 publication Critical patent/JP4920976B2/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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2087Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring with a common controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes

Description

02 本発明はデータ移動方法及びストレージシステム、具体的には必要時割り当て(すなわち、少量配備(thin
provisioned))ストレージシステムにおけるデータ移動(マイグレーション)に関係する。
05 会社、団体などで使用されるコンピュータシステムにおいて扱われる情報の量は劇的に増加しているので、データ保存のためのディスクのようなストレージ装置の容量は近年確実に増加してきた。例えば、テラバイトのオーダの容量を有する磁気ディスクストレージシステムは非常に一般的である。
米国特許No.5,956,750 米国特許No.6,725,328
03 使用時割り当て(必要時割り当て、“少量配備”とも呼ばれる)技術は、仮想ボリュームに対する効率的なストレージスペース管理を提供し、これはスペースが必要時をベースとして割り当てられるからである。ストレージの従来の“人手配備(manual provisioning)”は必要とされる実際の物理的なストレージを設置することを意味する。例えば、もしも10テラバイト(TB)のストレージが必要である場合、人手配備の方法においては、10TBのストレージが購入されて設置される。人手配備されたボリュームはここでは“通常ボリューム”と呼ばれる。少量配備は、ユーザ(例えば管理者)が全部の量のディスクストレージを実際に購入または設置することなく任意のサイズのボリュームを生成することを可能にする。少量配備ボリュームはここでは“少量配備ボリューム”と呼ばれる。少量配備の共通的な使用方法は仮想ストレージシステムにあり、ここでは仮想ストレージの“仮想ボリューム”は少量配備ボリュームとして提供される。同一出願人の米国特許No.6,725,328は、ここでは使用時割り当てと呼ばれ、少量配備の例を示している。
04 SCSI環境における論理ユニット(LU)のようなボリュームに対する現在のデータ移動技術はブロック内のデータに関係なくブロックごとをベースにオペレーションを実行する。もしも少量配備の技術に対して現在の移動技術が使用されるならば、従来の移動技術はソースボリューム内の全部のブロックをターゲットボリュームにコピーするので、少量配備の利点は失われるであろう。結果として、少量配備のシステムにおいてさえも、全部のブロックが割り当てられることになる。ストレージ技術のこの領域において改善することが可能である。
05 会社、団体などで使用されるコンピュータシステムにおいて扱われる情報の量は劇的に増加しているので、データ保存のためのディスクのようなストレージ装置の容量は近年確実に増加してきた。例えば、テラバイトのオーダの容量を有する磁気ディスクストレージシステムは非常に一般的である。このようなディスクストレージシステムに関して、例えば、参照によりここに組み込まれる米国特許No.5,956,750に開示されているように、単一のストレージ装置サブシステムが複数のタイプの論理ディスク(これは時々単にディスクと呼ばれる)で構成される技術がある。より具体的には、ホストコンピュータによってアクセスされる装置(論理ディスク)としてRAID5とRAID1のような異なるRAIDレベルを有するディスクで構成されるか、または論理ディスクの実際の磁気ディスク(物理的なディスク)として異なるアクセス速度を有するディスクで構成されるディスクサブシステムが開示資料に開示されている。ユーザはそれぞれの装置のアクセス速度に応じて装置を選択的に使用することができる。
06 本発明は、少量配備の利点を保持しながら、“通常ボリューム”と“仮想ボリューム”の間を移動する方法を提供する。通常ボリュームからの移動はデータブロックが生成データを有するかを決定することを含む。生成データを有するデータブロックは少量配備ボリューム内のセグメントとして識別される。生成データを持たないデータブロックは自由セグメントリストに割り当てられる。その後、データアクセスは少量配備ボリュームで行われることができる。
07 本発明のさらなる概念は少量配備ボリュームから通常ボリュームへのデータの移動である。少量配備ボリュームに割り当てられた各セグメントは、セグメントに関連する論理ブロックアドレスに従って通常ボリュームの対応する位置にコピーされる。
08 本発明のさらなる概念はボリューム内のブロックの修正を理解するためのビットマップを有する通常ボリュームの生成である。ボリュームは通常ボリュームから仮想ボリュームへの移動において使用される。
10 第一の実施例は、使用時割り当ての技術を使用したホストの初期書き込みにおいて、一つ以上の物理装置上のデータのブロックを含むボリュームである論理装置(LDEV)から要求時割り当てセグメントを含む仮想装置(VDEV)へ、またはVDEVからLDEVへの移動を示す。
11 図1はハードウエア構成要素と構成要素間の相互接続を示す図である。一つ以上のホストシステム2のそれぞれはオペレーティングシステム(OS)と従来のコンピュータシステムのハードウエア構成;例えば、PC、ワークステーション、ミニコンピュータまたはメインフレームを有する。ホストシステムはCPU11、メモリ12、および内部ディスク13を含む。ホストシステムはさらにファイバチャネル(FC)スイッチ400(またはイーサネットスイッチ等)(イーサネットは登録商標)への接続のためのホストバスアダプタ(HBA)14を含む。各ホストシステムはストレージサブシステム30によって提供される論理ユニット(LU)上にそのデータ(例えば、データベースのようなアプリケーションによって生成され使用される生成データ)を保存することができる。
12 コンソール402はホストシステム2と同様に構成されるが、しかしHBAは割り当てられないであろう。コンソール402は適合したコミュニケーションチャネルでストレージサブシステム30とコミュニケーションを行う。例えば、図1はコンソール402がスイッチ401に接続されて、これは順にストレージサブシステム30に接続されることを示す。コンソールはストレージサブシステムに遠隔の管理的なアクセスを行い、システム管理者がサブシステムを保持しそうでなければ管理することを可能にする。
13 ストレージサブシステム30はそのLU上でSCSI−2、3のコマンドセットを使用してストレージを提供するように構成される。ストレージサブシステムはいくつかのRAIDコントローラ(CTL)20といくつかの物理ストレージ装置32を含む。コントローラ20はプロセッサ、メモリ、イーサネットカードまたはFCポートのようなネットワークインタフェースカード(NIC)のような構成要素を有する。コントローラはSAN(storage area network)の能力を備え、すなわちRAIDベースのアクセスを物理ストレージ装置32に与えるためのSCSI I/O要求を処理できる。本発明の最初の実施例はSCSIを使用したオープンシステムをベースにしている。しかし、本発明は他のシステム、例えば、CKD(Count Key Data)フォーマットを使用したメインフレームに適用できることは明確である。
14 コントローラ20は典型的には不揮発性のランダムアクセスメモリ(NVRAM)を含み、NVRAMにデータを保存できる。NVRAMはメモリに対するバッテリ保護を使用して電源障害から保護されるデータキャッシュとして働くことができる。電源障害の場合に、例えば、NVRAM上のデータは電源ソースとしてバックアップバッテリを使用して物理的ストレージ装置32上のストレージ構成領域に移されることができる。コントローラはSCSIの世界としてターゲットIDを特定するためにWWN(World Wide Name)を有するFCポートを備えることができ、FCポート上にLUNを有することができる。
15 管理コンソール390は典型的には顧客のエンジニアのために備えられている。これは内部的にストレージサブシステムに接続できる。コンソール390は物理装置32の間のパリティグループの生成または削除に対するGUIベースのインタフェース、および論理装置の、論理装置とLUの間のパスの、およびLUとFCポートの間のパスの生成または削除のようなユーザ管理者の機能に関係するインタフェースを備える。
16 図2は図1に示されるシステムのソフトウエア構成要素およびそれらの間の相互作用の論理的展開を示す図である。SAN400は、FCとイーサネットのようなスイッチまたはハブを使用した、与えられたホスト10とストレージサブシステム30の間の論理接続である。この能力はファイバチャネルスイッチ、ハブ、イーサネットスイッチまたはハブ等によって基本的に提供される。LAN/WAN401は、イーサネット、FDDI、トークンリング等のようなスイッチを使用した、コンソール402とストレージサブシステム30の間の論理接続である。ストレージサブシステムはLAN/WAN401に接続されて、ストレージサブシステムを管理するために他のホストからアクセスする。
17 ストレージサブシステム30は多様なソフトウエア構成要素またはモジュールを含む。ソフトウエアによって提供される機能は、コントローラ20の中で実行するマイクロコードにおいて可能となる。プログラムコードはCD−ROMのような光メディア上に保存された設定から提供されることができ、またはFDまたはマイクロコードを設定するためのインタネット接続のような他の遠隔装置から取得されることができる。マイクロコードは従来のパリティグループマネジャ(示されてない)、物理的ディスクからの論理ストレージをIO処理21に提供するために論理装置を生成する論理装置マネジャ(LDEVMgr)23、仮想装置マネジャ(VDEVMgr)22、およびマイグレータ24を含む。これらの処理の詳細はさらに以下で説明される。
18 パリティグループマネジャは公知であり、従って図2に示されていない。このモジュールはコントローラ20のマイクロコードの部分である。パリティグループマネジャは、RAID0/1/2/3/4/5/6技術を使用して、物理ストレージ装置32に対してパリティグループ情報を定義し保持する。RAID6は、RAID5の技術をベースに、デュアルパリティ保護を提供する。生成されたパリティグループはLDEV構成テーブル29(図3)に載せられる。このテーブル内の情報はストレージサブシステム内のパリティグループを識別するためのパリティグループ番号51、RAID技術から生成される使用可能容量サイズ52、RAID構成53、および構成する物理的ストレージ装置54を含む。テーブル内の追加の情報は以下で説明される。
19 LDEVマネジャ23は各LDEVの構造とLUからのIOの行動内容を管理する。LDEVはLUがホストからのデータを保存しおよびホストにデータを提供するための論理ストレージ領域を提供する。LDEVはパリティグループの部分である。管理者は、LDEVの番号を付加して、LDEVの領域を定義しおよび初期フォーマッティングを行う。LDEVとパリティグループの間のマッピングはLDEV構成テーブル29(図3)に保存される。各パリティグループ(LDEV構成テーブル29のフィールド51)に対して、記録はこのパリティグループ内のLDEV毎に保持される。記録はLDEVを識別するLDEV番号55、パリティグループ内のLDEV開始アドレスを表す開始論理ブロックアドレス(LBA)56、およびパリティグループ内のLDEV終了アドレスを表す終了LBA57を含む。
20 初期化されたボリュームを表すために使用されるデータはASCIIの“0”(ゼロ)であることが可能である。しかし、“0”はまたVDEV(後で説明する)内の未割り当てセグメントを示すために読み出し機能コールにおいて戻り値として時々使用され、これはあいまいさを作ることになりうる。従って、初期化されたディスクのNULL埋め込み値として、他のデータ表現方法が選択される場合がありえて、例えば、NULL(\0)である。この選択はコンソール402を経由して提供されることができる。LDEVが初期化された後に、初期化の状態は図3のFMTフィールド58に保存される。初期化の場合に、マイクロコードはフォーマットビットをオン(“1”)にして、LDEVが初期化されてまだ書き込みはされていないことを示す。LDEVは“初期化状態”と言われる。もしもビットがオフ(“0”)であるなら、これはLDEVが書き込まれていて、従ってもはや初期化状態ではないことを示す。
21 各LDEVはビットマップ26と関連している。ビットマップ26内の各ビットはLDEVのブロックに対応し、初期的にオフ(例えば、論理的“0”)に設定される。データがブロックに書き込まれる時に、対応するビットがオン(例えば、論理的“1”)に設定される。より一般的に、ホスト上のアプリケーションに対するデータを保存するために割り当てられた、またはファイルシステムを管理するためにホスト上のオペレーティングシステムによって使用されるブロックは生成データと呼ばれる。これらのブロックは割り当てブロックと呼ばれる。アプリケーションデータに対して割り当てられない、およびオペレーティングシステムによって使用されないブロックに含まれるデータは非生成データと呼ばれる。これらのブロックは未割り当てブロックと呼ばれる。
22 LDEVが多数のブロックを含む時に、ブロックはより少数のブロックグループにグループ化されることができる。これはより小さくより便利なサイズでビットマップを保持するために役立つ。例えば、LDEVが256x210ブロックを含む場合には、256キロビットのビットマップを必要とするであろう。代わりに、もしも各ビットが256ブロックに対応するなら、ビットマップはサイズとして1キロビットだけを必要とする。
23 もしもLDEVがそれに対して定義された対応するビットマップを有していないと、システム管理者がビットマップを生成することを可能にする適切な処理が提供されることができる。これはコンソール402を経由して要求されることができる。LDEVマネジャ23はLDEVから各ブロック(またはブロックのグループ)を読み出し、もしもブロック(またはブロックのグループ)が書き込まれていない(すなわち、データブロックがNULLで満たされている)なら対応するビットをオフに設定し、もしもブロック(またはブロックのグループの少なくとも一つ)が書き込まれているなら対応するビットをオンに設定する。本発明のこの点は本発明によるデータ移動処理に対して初期的には構成されていない現在のストレージシステム(いわゆるレガシーシステム)に対して適切である。
24 ビットマップに適応するために、SCSI書き込みコマンドを実行する手順は図4に示されるように修正される。従って、ステップ131において、データは書き込みコマンドに応じて、開始LBAおよびサイズによって特定されたLUを経由してLDEVに書き込まれる。ステップ132において、LDEVに対応するビットマップ内の対応するビットがONに設定される。初期化されたLDEVへの最初の書き込みコマンドにおいて、マイクロコードはLDEVがもはや初期化された状態ではないという事実を示す必要がある。従って、LDEVに対する最初のSCSI書き込みコマンドの場合に、マイクロコードはこの出来事を記録する。図3に戻って、FMTフィールド58はLDEVが初期化された状態である(“1”)かまたはそうではない(“0”)かを示す。最初の書き込みオペレーションがLDEV上で実行された後で、FMTフィールド58は“0”に変更されて、ボリュームが書き込まれたかさもなければ修正されて、従ってもはや初期化された状態ではないことを示す。以下に説明されるように、このFMTフィールド58はVDEVからLDEVへの空データに対する移動に使用される。
25 仮想装置(VDEV)マネジャ22は仮想装置をベースにするLUを備えるために仮想装置として少量配備ボリュームを生成し管理する。仮想装置ベースのLUへの書き込みオペレーションが他のブロックの割り当てを要求する時に、VDEVマネジャ22はセグメントプール27−1(図6参照)からストレージセグメントを割り当てる。セグメントマネジャ27はセグメントプール27−1を管理する。
26 ストレージセグメントは“割り当てられた”または“未割り当ての”のどちらかである。図2は“割り当てられた”セグメント37と“未割り当ての”セグメント38を示す。割り当てられたセグメントはデータを有する。VDEVマネジャ22は割り当てテーブル27−0(図5)を保持し、少量配備ボリュームによって定義される仮想装置に対する仮想LBA(VLBA)スペースを管理する。割り当てテーブル27−0は仮想装置を識別するVDEV番号フィールド141を含む。ホストから見えるサイズフィールド142はSCSIのREAD Capacityコマンドを使用して初期化されることができる。割り当てテーブル27−0はまた仮想装置に割り当てられる各ストレージセグメントに対する記録を保存する。各記録はストレージセグメントが表す仮想装置内の開始アドレスを示す開始VLBAフィールド143、各セグメントのサイズを示すセグメントサイズフィールド144、およびセグメントプール27−1内のストレージセグメントを識別するセグメント番号フィールド145を含む。もしもセグメントがデータを有していない(すなわち書き込まれていない)なら、セグメント番号フィールドはセグメントが書き込まれていない、従って未だ割り当てられていないことを示すなんらかの未定義の値、例えばー1、である。
27 “未割り当て”セグメント(または“自由”セグメント)は一つ以上のLDEVから生成される。各LDEVは複数のセグメントに分割されて自由セグメントプール27−1に追加される。自由セグメントプールは全てのセグメントの中のセグメントをユニークに識別するセグメント番号フィールド146を含む。これは典型的にはLDEVを含むセグメントの単に連続的な番号付けである。LDEVフィールド147は特定のセグメントが始まるLDEVを特定する。LBAフィールド148とセグメントサイズフィールド149はLDEV内のセグメントの位置を特定する。
28 図7は仮想装置ベースのLU上において書き込みオペレーションを実行する処理動作を示す。ステップ111において、書き込みオペレーションのターゲットがストレージセグメントを割り当てられているか、または割り当てられていないかを決定する。もしも割り当てられていないなら、処理はステップ112に続き、割り当てられているなら処理はステップ113に進む。ステップ112において、ストレージセグメントは自由セグメントプール27−1から割り当てられる。次にステップ113において書き込みオペレーションが実行される。
29 ステップ111は割り当てテーブル27−0(図5)の検査を含む。LUに対応する仮想装置(VDEV)に対するエントリが調べられる。書き込みオペレーションのターゲットアドレスはVLBAフィールド143を検索するために使用される。もしもセグメント番号フィールド145が埋められていない(例えば、”−1“に設定されている)なら、ストレージセグメントは未だに割り当てられていない。
30 本発明のこの少量配備の概念の重要な点は、少量配備ボリュームはストレージが必要とされるときに動的に拡大されて、またこの拡大はユーザの係わりなく自動的に発生することである。
31 図8は図7のフローチャートの処理動作を示す。例えば、書き込みオペレーションは、VDEV内のLBA22520をターゲットにして、VDEV115に対して起こる。ターゲットアドレス22520に対応するストレージセグメント116は未だに割り当てられていないと仮定して、VDEVマネジャ22は自由セグメントプール117からセグメント(#301)を割り当てる。図8はまた自由セグメントプールを実現するために構成される基礎のLDEV201を示す。LDEV201は適切なサイズのセグメントに分割される。セグメントの各々は番号付けされてテーブル27−1(図6)に載せられ、こうして自由セグメントプール117をまとめて構成する。
32 図9は読み出しオペレーションに対して実行される動作を示す。図10は図9の処理動作を示す。従って、ステップ101において、読み出しオペレーションのターゲットのLBAに対応するストレージセグメントが割り当てられているか、または割り当てられていないかを決定する。もしも割り当てられていないなら、次にステップ103において、適切なNULL応答がターゲットのLBAはストレージ内の未書き込み領域であることを示して戻される。典型的には、応答は読み出しデータの量を含み、このケースではゼロである。LDEVが初期化される時に値はコンソール402において定義される。一方で、もしもターゲットのLBAが割り当てられたストレージセグメントのアドレス範囲内であるなら、ストレージセグメント内のデータが読み出されて戻される。ステップ102。
33 ステップ101で行われる決定は割り当てテーブル27−0を調べることによって行われる。最初に、アクセスされるLUに対応するVDEVが決定されて、従ってVDEVフィールド141内の正しいエントリを特定する。ターゲットのLBAは対応するストレージセグメントを特定するために対応するVDEVの開始VLBAフィールドと比較される。セグメント番号フィールド145は次にセグメントが割り当てられているかまたは割り当てられていないかを決定するために調べられ、処理は次にステップ102またはステップ103に進む。
34 図10はターゲットのLBAが以前に割り当てられたストレージセグメントをアクセスする状況を示す。読み出し要求が、(割り当てテーブル27−0を経由して)セグメント106にマッピングするLBA22520をターゲットにするところを示されている。セグメント106がブロック位置107においてLDEV201上に存在するところを示されている。読み出しオペレーションに対する実際のデータは次にLDEV201から読み出される。
35 IO処理21はホストからのLUに対して行われるIO要求を処理する。IO処理21はSCSI I/Oオペレーションを扱うための構成要素(示していない)を含む。IO処理はストレージサブシステム30内のポートにLUをマッピングするテーブル25(図12)を含む。テーブル25はポートとLU間の情報を調整するためにコントローラ20によって使用される。テーブルは、物理FCポートを特定するポート番号フィールド81、ポートにワールドワイドネーム(WWN)を関連付けるWWNフィールド82、論理ユニット番号(LUN)フィールド83、および装置名フィールド84を含む。
36 マイグレータ24は本発明によってLDEVとVDEVの間でデータを移す移動オペレーションを実行する。移動オペレーションは複数のLDEV間でデータを移すこと、LDEVからVDEVにデータを移すこと、VDEVからLDEVにデータを移すこと、および複数のVDEV間でデータを移すことを含む。
37 第一のLDEVから第二のLDEVへのデータの移動において、管理者はソースLDEVとしてLUを特定し、ターゲットLDEVを選択する。ターゲットLDEVはコンソール390またはコンソール402上に備えられた適切なインタフェースを経由して自由LDEVプール173(図11)から選択される。自由LDEVプール173は各LDEVに対する状態の変化を示す。三つの状態がある。一つの状態は、LUにまたは自由セグメントプール27−1に割り当てられたLDEVを示す“使用されたLDEV”172である(上記に説明し、および以下にさらに説明するように)。他の状態は、LUにまたは自由セグメントプール27−1に割り当てられていないLDEVを示す“自由LDEV”173である。最後の状態は、オペレーションの中間状態にあるLDEVを示す“確保されたLDEV”174である。さらに具体的には、これらのLDEVはまだ進行中にある移動オペレーションに対して割り当てられたものである。
38 マイグレータ24はターゲットLDEVを確保しおよび移動オペレーションを実行するタスクをスケジューリングすることができる。移動タスクが実行する時に、マイグレータ24はソースLDEVとターゲットLDEVの間にペアのミラーを生成する。ミラーリングの間に、ホストの書き込みIOはソースLDEVにおよびターゲットLDEVに送られて、ターゲットLDEV上に書き込まれたブロックに対応する関連のビットマップ内にビットを設定し、さらにホストによって既に書き込まれたホスト書き込みブロックに対するコピーのブロックは省略される。もしも移動が“オンライン”の方法で実行されると、マイグレータ24はミラーリングオペレーションの完了後にソースLDEVに向けられたホストIOを停止して、ミラーのペアを分離する。マイグレータ24は次にホストによって使用されるLUの指定をターゲットLDEVに向くように変更する。ソースLDEVは次に自由LDEVになる。もしも移動が“オフライン”の方法で実行されると、マイグレータ24はデータ移動の完了後、ソースLDEVに対するIOを単に処理し続ける。“オフライン”移動を実行することは管理者がターゲットLDEVを再使用することを可能にする。例えば、それを他のLU、またはLUが既に割り当てられている場合にはミラーリングオペレーションの前のLDEVに接続する。
39 図13は移動の場合の変更状態のオペレーションを示す。ステップ1において、マイグレータ24はターゲットLDEV187を確保して、スケジューラに移動タスクを入力する。次にステップ2において、スケジューラはタスクを取り込んで使用されたLDEV186からデータを移動することを開始する。これはソースLDEVからターゲットLDEV187である確保されたLDEVにデータをミラーリングすることを含む。もちろん、ミラーリングの間に、ホストの書き込みIOはソースLDEVにおよびターゲットLDEVに送られる。もしも移動がオンラインであるなら、ソースIOは停止されてパスはターゲットLDEVに変更される。ミラーリングの後で、ステップ3においてターゲットLDEVは使用されたLDEV状態に変更されて、ソースLDEVは自由LDEV状態に変更される。
40 一つのVDEVから他のVDEVにデータを移動するために、管理者はコンソール上でターゲットLUを特定する。データ移動が適切に起きることを確実にするために、VDEV番号のアイディアがある。コントローラ20はプール化VDEV28−1のテーブル(図14)を有してVDEVの状態を管理する。テーブルは、LUに既に割り当てられたVDEVを示す“使用された”VDEV番号フィールド475、移動オペレーションに対して確保されているターゲットVDEVのVDEV番号を示す“確保された”VDEVフィールド476、およびLUに割り当てられていないVDEVを示す“自由”VDEVフィールド477を含む。
41 移動オペレーションの間に、ストレージサブシステム30上のマイグレータ24はVDEVプール28−1内の自由VDEVフィールド477から自由VDEVを選択して、選択されたVDEVのVDEV番号を確保されたVDEVフィールド476に移す。次に移動タスクは生成され、スケジューリングされる。移動タスクは図15のステップ1に示すように実行される。
42 タスクが実行される時に、マイグレータ24は新しいストレージセグメントを割り当てて(図15のステップ2.1)、ソースVDEV上のセグメントからターゲットVDEV上の新しいセグメントにセグメントごとにデータをコピーする(図15のステップ2.2)。もちろんコピーの間に、ホストの書き込みIOはソースVDEVにおよびまたターゲットVDEV上にデータを書き込むためにターゲットVDEVに送られる。もしも移動が“オンライン”の方法で実行されるなら、ホストは移動の完了でターゲットVDEVに“接続”される。マイグレータ24はソースVDEVからターゲットVDEVに全てのセグメントのコピーを完了した後でホストのIOを停止する。ボリュームをアクセスするためにホストによって使用されるLUの指定はターゲットVDEVに向くように変更される(図15のステップ3.1)。ターゲットのVDEV番号は確保されたVDEVフィールド476(図14)から使用されたVDEVフィールド475に移される。ソースVDEV内のセグメントは自由セグメントプール117に置かれて、ソースVDEV番号は自由VDEVフィールド477に移される(図15のステップ3.2)。もしも移動が“オフライン”のモードで実行されると、マイグレータ24はソースVDEVを使用してIOを処理し続ける。管理者はペアの分離の後にターゲットVDEVを再使用することが可能で、LUをVDEVに割り当てるか、またはLUはOFFLINEオペレーションのケースにおいてコピーの前にVDEVに割り当てられている場合がある。図15のステップ1。
43 移動タスクをスケジューリングするために使用されるスケジューラは典型的にはOSによって提供される。例えば、“cron”ユーティリティはUNIX(UNIXは登録商標)ベースのOS上に提供される。マイクロソフトのWindows(R)オペレーティングシステムもまたタスクスケジューリングに対して備えている。説明したように、移動タスクをスケジューリングするかそうでなければモニタリングするためのユーザアクセスは、ストレージサブシステム30内のコンソール390またはコンソール402を経由して遠隔的に提供されることが可能である。
44 本発明の典型的なオペレーションは、物理ストレージ装置32の中からパリティグループを生成するユーザ(例えば、カスタマサービスエンジニア)を含む。次に、システム管理者はパリティグループから複数のLDEVを生成する。管理者は自由セグメントプールに少なくとも一つのLDEVを割り当てる。次にストレージサブシステム30は、予め決められたセグメントサイズ基準に従って、自由セグメントプールを構成する複数のセグメントにLDEVを分割する。VDEVを生成するために、管理者は図14のVDEV番号プール477からVDEV番号およびVDEVに対するサイズを選択する。ホストからLUをアクセスするために、管理者はVDEVまたはLDEVとLUの間のパスを定義する。
45 LDEVからVDEVへのデータの移動オペレーションは少なくとも一つのLDEVがLUに関連していることを要求する。自由セグメントプールは割り当てのために自由セグメントを有しなければならない。割り当てのためにVDEVプール(図14)内に利用可能なVDEV477がなければならない。同様に、VDEVからLDEVへのデータの移動オペレーションはLUに関連しているVDEVを要求する。LDEVプール(図11)からの自由LDEV173は割り当てに対して利用可能でなければならない。
46 移動が開始する前に、管理者はどちらのLDEVまたはVDEVが使用するために最良かを知る必要があり、移動処理を起動するためにスケジューラ内のタスクを生成しなければならない。基本的な論理は、ストレージサブシステムがストレージサブシステム上でVDEVを含むLUにまたはLDEVを含むLUにデータを書き込む比率のスケジューリングされた、例えば、月ベース、四半期ごと等に、チェックを実行することである。ストレージサブシステムはVDEV内のセグメントの中で割り当てられたセグメントの比率をチェックして、LDEVに対してビットマップ内のオンに設定されたビットをチェックする(LDEVに対する対応するセグメントがLDEVの初期フォーマットから修正されたことを示す)。
47 図16は移動処理を活性化するためのスレッシュホールド231(より一般的には基準)を設定するために使用されることが可能であるグラフィカルインタフェースを示す。示された例において、フィールド231に入力される値は移動を起動するLUの使用パーセントを表す。例えば値が50%であると仮定し、またLUは初期にはLDEVに関連すると仮定する。もしもLDEV上で使用されるストレージの量が50%より落ちると、これはLDEVからVDEVへのデータの移動を起動し、ここで次にLUは移動の後でVDEVに関連付けられる。もしも後でLU(今ではVDEVに関連付けられている)の使用が50%より上昇したら、これはデータをLDEVに戻す移動を起動し、この時次にLUはLDEVと関連付けられる。図16に示されるGUIは、LUが現在関連付けられているLDEVまたはVDEVの使用レベルのチェックを実行する頻度を特定するフィールド(示されていない)を含むことができる。
48 データ移動は大きな作業なので、移動オペレーションがLUに対して指示されることをシステム管理者に単に推奨することが、自立的に移動を実行するよりも実際的である場合がある。システム管理者は推奨をベースに最終的な決定をすることができる。
49 図17は移動が起動される処理を示す。この処理は予め決められた比率で、またはスケジュールに従って、どちらもユーザが特定できるが、定期的に実行されることが可能である。ステップ201において、LDEVからVDEVにデータを移動する基準が満たされているかをチェックする。これは図18においてより詳細に説明される。ステップ202において、VDEVからLDEVにデータを移動する基準が満たされているかをチェックする。これは図19においてより詳細に説明される。もしも警告リストがある場合には(ステップ203)、警告リストの各ユーザはステップ204において通知される。通知は多くの方法、例えば、イーメール、ファックス、ポケットベル、SNMPトラップ等、のどれかで行われることが可能である。従って、図16に示される例は移動を実行する時点を決定する、すなわち使用レベルを監視する、簡単な基準を示す。説明の目的で、この簡単な基準が説明の例として使用される。しかし他の基準が直ぐに使用可能であることを認識することが可能である。
50 図18はどのLDEVが移動されるかを決定する処理を示す。ステップ206において、各LDEVが移動に対して調べられたかをチェックする。もしも全てのLDEVが調べられていれば、処理は終了する。ステップ207と208は、移動を起動するかまたは移動を実行することを推奨するための基準の例を構成する(点線で示されている)。ステップ207は調べられているLDEVに対応するビットマップ内のオンに設定されているビットの数をチェックする。これはLDEVの使用レベルを示す。例えば、使用比率は次のように計算される。
使用比率(LDEV)=オンに設定されたビットの数/ビットの総数×100
ステップ208において、もしも使用レベルがスレッシュホールドパーセンテージ(例えば、図16において設定されるように、スレッシュホールドはXから独立したYのようなVDEVに対する専用のスレッシュホールドを使用するであろう。このケースにおいて、XとYスレッシュホールド間には移動のなんらの提示もない)より落ちると、このLDEVに関連するLUはVDEVへのデータ移動に対してスケジューリングされるかまたは推奨される。処理は次のLDEVを調べるためにステップ206に続く。
51 図19はどのVDEVが移動されるかを決定する処理を示す。ステップ211において、各VDEVが移動に対して調べられたかをチェックする。もしも全てのVDEVが調べられていれば、処理は終了する。ステップ212と213は、移動を起動するかまたは移動を実行することを推奨するための基準の例を構成する(点線で示されている)。ステップ212は調べられているVDEVに割り当てられているセグメントの数をチェックする。これはVDEVの使用レベルを示す。ステップ213において、もしも使用レベルがスレッシュホールドパーセンテージ(例えば、図16において設定されているような)より上昇すると、このVDEVに関連するLUはデータに対してスケジューリングされるかまたは推奨される。例えば、使用比率は次のように計算される。
使用比率(VDEV)=割り当てられたセグメント/セグメントの総数×100
これはVDEVの使用レベルを示す。ステップ213において、もしも使用レベルがスレッシュホールドパーセンテージ(例えば、図16において設定されているような)より上昇すると、このVDEVに関連するLUはLDEVへのデータ移動に対してスケジューリングされるかまたは推奨される。処理は次のVDEVを調べるためにステップ211に続く。
52 ステップ207/212およびステップ208/213に対する他の基準として、LDEVまたはVDEVにおける活動性を決定するためにLDEVまたはVDEVに対する読み出し/書き込みアクセスの数を使用する場合がある。もしもLDEVへの読み出し/書き込みアクセスが非常に少ないなら、LDEVからVDEVへのデータの移動が実行されることが可能である。VDEVからLDEVへのデータのケースでは、もしも多くの読み出しおよび書き込みアクセスがあると、移動が実行されることが可能である。このオペレーションにおいて、管理者はLDEVの移動タイミングに対するカウンタのスレッシュホールドXを定義し、スレッシュホールドはVDEVがLDEVへ移動することを示す。管理者はまたVDEVに対するカウンタのスレッシュホールドYを定義し、スレッシュホールドはLDEVがVDEVへ移動することを示す。各VDEVおよびLDEVは、週、月、四半期、または年のような期間内に定期的に監視するためにアクセスされたI/O数のカウンタを有する。カウンタは各読み出しおよび書き込みIOアクセスを観察し、マイクロコードが各推奨の後にステップ208/213のような推奨をチェックするまでカウントを増やし、カウンタはリセットされる。
53 ステップ208と同じく、マイクロコードは定義されたスレッシュホールドでカウンタに対する使用レベルをチェックする。もしもカウンタがスレッシュホールドパーセンテージXより大きいと、マイクロコードはデータをLDEVに移動することを推奨する。またステップ213と同じく、マイクロコードは定義されたスレッシュホールドでカウンタに対する使用レベルをチェックする。もしもカウンタがスレッシュホールドパーセンテージYより下がると、マイクロコードはデータをVDEVに移動することを推奨する。
54 図20は移動に対する推奨を載せるGUIの例を示す。インタフェースは、可能な移動オペレーションの目的であるデータを有するLUを特定するソースLUフィールド221を示す。ターゲット装置フィールド222はデータ移動のターゲットを特定する。構成フィールド223は、LDEVフィールド222に特定されている装置がLDEVとして構成されるかまたはVDEVとして構成されるかを示す。これらのフィールドは図12に示されるテーブル25から取得される。推奨フィールド224は図17〜図19に概説された処理の結果を示す。使用フィールド225はLDEV上の使用されたスペースの量、またはVDEVのケースでは割り当てられたセグメントの量を示す。数値において、使用内容は利用可能なスペースまたはセグメントの総計のパーセンテージとして表される。要求移動フィールド226はユーザが移動のためにLUを選択することを許可するか、またはしないかの入力フィールドである。
55 図20に示されるGUIは、フィールド222内のターゲットにLDEV番号を特定することによって、ユーザがターゲットLDEVまたはVDEVを選択することを許可するように強化されることが可能である。GUIは“オンライン”移動を特定するフィールドで強化されることが可能であり、これは、LUがデータをターゲットに移動した時に、LUは続きのIOに対してそのターゲットに割り当てられることを意味する。
56 適用(Apply)ボタンがマウスクリックを経由してユーザによって“活性化”される時に、例えば、任意の選択された移動オペレーションが次にスケジューリングされる。図21はスケジューラによって実行される処理を示す。これはスケジューリングされるタスクを捜す標準的な待ちのループである。
57 図22は移動オペレーション150に対する処理を示し、以下の内容を含む。
・ステップ151:マイグレータ24はソース装置とターゲット装置のペアを生成する。
・ステップ152:移動の方向がチェックされる。もしも移動がLDEVからVDEVであれば、処理はステップ153に続く。もしも移動がVDEVからLDEVであれば、処理はステップ154に続く。
・ステップ153:マイグレータ24は、対応するビットマップをベースに、ソースLDEVからターゲットVDEVにデータをコピーする。移動はソース装置とVDEV間のデータが同期化されるまで続く。もしもホストがコピーの間にソースに書き込みIOを送ると、書き込みIOに対するデータはまたセグメントの割り当ての後にデータを書き込むためにターゲットに送られる。
・ステップ154:マイグレータ24はセグメントを割り当て、割り当てセグメントテーブル27−0(図5)をベースにソースVDEVからターゲットLDEVにデータをコピーする。もしもホストがコピーの間にソースに書き込みIOを送ると、書き込みIOに対するデータはまたデータを書き込むためにターゲットに送られ、書き込まれたセグメントに対応するLDEVのビットマップ内のビットをオンに設定する。また、マイグレータは埋め込み文字でLDEV内の空セグメントを埋め込む(図5のセグメントフィールド145の“−1”として示されるように)。典型的には、ASCIIの“0”(ゼロ)またはNULL(\0)であるNULL埋め込み値は空ブロックを示すLDEVのフォーマッティングされた値と同じである。マイグレータがLDEV内の空セグメントを埋め込むことに関して、ビットマップ内のビットのいくつかが“1”である時に、ボリュームはNULLによって未初期化ではないと仮定する。ビットマップ内のビットの全てが“0”である時に、もしもボリュームがNULLによって初期化されていると、埋め込みオペレーションは省略される。このチェックはステップ154の前に行われる。図3はFMTフィールド58を含み、LDEVが初期化状態(“1”)であるかまたはそうでない(“0”)ことを示す。
・ステップ155:マイグレータ24はターゲット装置に対するビットマップを生成する。
・ステップ156:マイグレータ24は移動タスクがオンラインオペレーションかまたはオフラインオペレーションかを確認する。もしもタスクがオンライン移動であるなら、この処理手順はステップ157に進む。もしもタスクがオフライン移動であるなら、この処理手順はステップ159に進む。
・ステップ157:マイグレータ24はソースとターゲットを停止する。もしもホストがIOオペレーションを発行すると、これはステップ158が実行されるまで待ち状態に置かれる。
・ステップ158:マイグレータ24はソース装置からターゲット装置にパスを変更する。ホストは次にそのIOオペレーションを再開することができる。
・ステップ159:マイグレータ24はペアを捨てる。
58 図23は、上記のステップ155で実行された、移動オペレーションのターゲットであったLDEVに対するビッットマップの再生成を示す。データがソースVDEVからターゲットLDEVにコピーされた後に(ステップ161)、LDEVに対するビッットマップが生成されなければならない。ステップ162において、マイグレータ24は割り当てられたセグメントから次のセグメントを取得して、LDEVに関連するビットマップ内の対応するビットをオンに設定する。
59 図24は図22の移動処理からの結果であるLDEVからVDEVへのデータの移動に対するデータフローを示す。マイグレータ24はVDEVとLDEV間のペア関係を生成する。データは次にソースLDEVに対応するビットマップテーブル26をベースにソースLDEV内のブロックからコピーされる。LDEVからのデータの1ブロックのコピーオペレーションの前に、マイグレータは自由セグメントプールからセグメントを割り当て、VDEVに関連する割り当てセグメントテーブル27−0内にエントリセグメントを生成する。LDEVからのデータの1ブロックは次にVDEV内の割り当てられたセグメントにコピーされる。移動が完了すると、LDEVは他のLUに再割り当てされることができる。VDEVはONLINEのケースにおいてはLDEVにもともと関連したLUに関連するか、またはOFFLINEオペレーションのケースにおいては他のLUに関連する。
60 図25はデータのコピー動作を避ける実施例を示す。ソースLDEVはLDEVに関連するLUの指定の方法で特定される。利用可能なVDEV番号はテーブル28−1(図14)から選択されて、従ってターゲットVDEVを特定する。基本的に、ソースLDEVに対応するビットマップはテーブル27−0(図5)とターゲットVDEVの自由セグメントプールに変換される。マイグレータ24はターゲットLDEVに関連するビットマップに沿って進む。VDEV番号はテーブル27−0(図5)の対応するVDEVエントリ(フィールド141)に導く。設定される(すなわち、ONに)各ビットに対して、これは対応するブロック内にデータがあることを示すが、テーブル27−0へのキーとして対応するブロックのLBAアドレスを使用して、対応するブロックのシーケンス番号はテーブル27−0のセグメントフィールド145内の適切なエントリに入力される。そのビットが設定されていないLDEV内のブロックのシーケンス番号は自由セグメントプール117に入力される。この方法で、ソースLDEVからターゲットVDEVへのデータの実際のコピー動作はない。
61 図26は、図22の処理フローに示されるように、VDEVからLDEVへの移動の間のデータの動きとターゲットLDEVに対するビットマップの生成を示す。コピーのペアはソースVDEVとターゲットLDEVを含んで生成される。ソースVDEVに対応するテーブル27−0(図5)内のエントリを使用して、VDEV内の各セグメントはVLBAフィールド143に示されたアドレスにおいてLDEVにコピーされる。およびもしもLDEVがフォーマッティングされていないと、図3内のFMTフィールド58の状態は“0”である。マイクロコードが図5のセグメントフィールド145内の“−1”の値を見つける時に、図3内の開始LBAフィールド56と終了LBAフィールド57によって示されるセグメントのアドレス付けされた領域に対してマイクロコードはデータを埋め込む。
62 本発明の第二の実施例に従うと、ストレージサブシステム30(図1)は外部ストレージシステムである。この構成の利点は外部ストレージリソースを使用することの追加の柔軟性である。図27はこの実施例によるシステム構成を示す。一つ以上のホストシステム2のそれぞれは従来のコンピュータシステムのオペレーティングシステム(OS)とハードウエア構成を有する。ホストシステムはCPU11、メモリ12、および内部ディスク13を含む。ホストシステムはさらにファイバチャネル(FC)スイッチ35(またはイーサネット(登録商標)スイッチ、等)への接続のためにホストバスアダプタ(HBA)14を含む。各ホストシステムはストレージサブシステム40によって提供される論理ユニット(LU)上にそのデータ(例えば、データベースのようなアプリケーションによって生成され使用される生成データ)を保存できる。
63 ストレージサブシステム40はそのLU上でSCSI−2、3のコマンドセットを使用してストレージを提供するように構成される。ストレージサブシステムはいくつかのRAIDコントローラ(CTL)45といくつかの物理ストレージ装置49を含む。コントローラ45はプロセッサ、メモリ、およびイーサネットカードまたはFCポートのようなネットワークインタフェースカード(NIC)のような構成要素(示されていない)を含む。コントローラはSAN(storage area network)の能力を備え、すなわち物理ストレージ装置49にRAIDベースのアクセスを提供するSCSI I/O要求を処理できる。
64 コントローラ45は典型的には不揮発性のランダムアクセスメモリ(NVRAM)を含み、NVRAMにデータを保存できる。NVRAMは電源障害に対して保護されるデータキャッシュとして動作できる。電源障害のケースにおいて、例えば、NVRAM上のデータは、電源としてバックアップバッテリを使用して、物理ストレージ装置49上のストレージ構成領域に移されることが可能である。コントローラはSCSIの世界としてターゲットIDを特定するためにWWN(World Wide Name)を有するFCポート(例えば、ポート46)を備えることが可能であり、FCポート上にLUNを含むことが可能である。追加のポート47はスイッチ91を経由して外部ストレージサブシステム30への接続のために備えられる。外部ストレージサブシステム30は外部ストレージ装置32を含む。
65 図28は図27のシステムの機能図を示す。外部ストレージサブシステム30は論理ユニット(LU)を定義する。マッピングテーブル240(図30)はストレージサブシステム40からストレージサブシステム30によって定義される内部LUへのアクセスを提供する。マッピングテーブルは、ストレージサブシステム30のLUをアクセスするためにストレージサブシステム40によって使用されるLU番号(LUN)を有する外部LUNフィールド241を含む。サイズフィールド242はLUのサイズを示す。WWNフィールド243はLUをアクセスするためのWWNを保存する。内部LUNフィールド244はストレージサブシステム30によって内部的に使用されるLU番号を表す。
66 ストレージサブシステム40は、ストレージサブシステム30上において定義される外部LUを参照するためのマッピング能力を備えるディスク−外部LUマッピングテーブル230(図29)を含む。マッピングテーブル230は図3に示されるテーブルと同じである。ディスク番号フィールド234はマッピングテーブル240の外部LU番号フィールド241を指し示す。
67 これらのマッピングが使用可能である方法の例として、図31に示される例を考える。1テラバイト(TB)の論理ユニットはストレージサブシステム30内に論理ユニットを含むストレージサブシステム40内に定義されることが可能である。マッピングテーブル230内のパリティグループ3はこのような構成を示す。1TBのLUNはストレージサブシステム30のLUN Ex1とEx2を含む。マッピングテーブル240から理解できるように、LUN Ex1は500ギガバイト(GB)のLUNであり、LUN Ex2も同じである。
68 ヘッダ情報511、514はLBA(Logical Block Address)のオフセットを有し、これはLUのアドレススペースであり、LUに対するユニットと他の機能情報は5MBである。5MBはヘッダファイルの例である。サイズは新しい情報をベースに拡張しても良い。ヘッダは、パリティグループ番号、属するパリティグループ、サイズ、含まれるLU(ポートとポート上のLUN)、論理ディスクの数、構成(連鎖、RAID0/1/2/3/4/5/6、等)、構成に対するLUのシーケンス、およびそのサイズが「LUサイズの合計」−(マイナス)「LDEVのヘッダ」であるデータスペースに関するデータスペースのために使用される。
69 本発明のこの実施例に対する移動オペレーションは上記で説明されたのと同じである。外部ストレージサブシステムが存在する事実はマッピングテーブル240とマッピングテーブル230の間で提供される外部LUNマッピングの使用によって隠される。
70 少量配備ボリュームに対する処理に関するより詳細な内容は、全ての目的に対してそのままで参照によりここに組み込まれる同一出願人の米国特許No.6,725,328に開示される。
図1は本発明の第一の実施例が適用されているコンピュータシステムの構成を示すブロック図である。 図2は図1のシステム構成の機能的表現を示す。 図3は定義されたパリティグループに対する情報を示す。 図4はSCSI書き込みオペレーションに対する処理を示す。 図5は少量配備ボリュームに対する構成情報を示す。 図6は少量配備ボリュームに対する自由セグメントプールの情報を示す。 図7は少量配備ボリューム上の書き込みオペレーションに対する処理を示す。 図8はLDEV内の書き込みオペレーションの間のデータフローを示す。 図9は少量配備ボリューム上の読み出しオペレーションに対する処理を示す。 図10は少量配備ボリューム上の読み出しオペレーションのデータフローを示す。 図11は自由LDEVのテーブルを示す。 図12は定義されたLDEVに対する構成情報を示す。 図13はLDEVからLDEVへの移動の間の状態変更を示す。 図14はプールされたVDEVのテーブルを示す。 図15は二つのVDEVの間の移動オペレーションに対するフローを示す。 図16は移動スレッシュホールドを設定するためのユーザインタフェースを示す。 図17は移動の起動を示す。 図18はLDEVからVDEVへの移動に対する起動を示す。 図19はVDEVからLDEVへの移動に対する起動を示す。 図20は移動を推奨するためのインタフェースの例を示す。 図21はスケジューラによって実行される処理を示す。 図22はLDEVとVDEVの間の移動オペレーションに対する処理を示す。 図23はVDEVからLDEVへのデータの移動の間のLDEVに対するビットマップの再生成を示す。 図24はLDEVからVDEVへの移動の間のデータのフローを示す。 図25はデータをコピーすることを含まないLDEVからVDEVへの移動の間のデータのフローを示す 図26はVDEVからLDEVへの移動の間のデータのフローを示す 図27は本発明の他の実施例によるシステム構成を示す。 図28は図27に示される構成の機能図を示す。 図29は外部で定義されたLUNに対する外部のマッピングテーブルを示す。 図30は外部のLUN指定から内部のLUN指定へのマッピングを示す。 図31は外部のLUNによって定義されたパリティグループの例を示す。

Claims (18)

  1. ストレージシステム内のデータ移動が実行されるソースボリュームの指定及びディスク装置から割り当てられた一つ以上のストレージセグメントを含むターゲットボリュームの指定をそれぞれ受け取る第1の処理と、
    前記ソースボリューム内の各論理ブロックアドレスについて、前記論理ブロックアドレスに対応する前記ソースボリューム上の領域に生成データが書き込まれているかを調べて、前記論理ブロックアドレスに対応する前記ソースボリューム上の領域に前記生成データを有するかまたは有しないかを特定するビットマップ情報を生成する第2の処理と、
    前記ビットマップ情報に基づいて、前記ソースボリューム内の各論理ブロックアドレスについて、前記論理ブロックアドレスに対応する前記ソースボリューム上の領域に生成データが書き込まれていると判断した場合に、当該領域内に書き込まれた前記生成データを前記ターゲットボリュームにコピーし、前記論理ブロックアドレスに対応する前記ソースボリューム上の領域に前記生成データが書き込まれていないと判断した場合に、当該領域内のデータを前記ターゲットボリュームにコピーしないの処理と、
    を備え、
    前記第の処理は、
    前記論理ブロックアドレスに対応する前記ソースボリューム上の領域に書き込まれている前記生成データを前記ターゲットボリュームにコピーする際に、当該領域にストレージセグメントが割り当てられていない場合には、当該領域に自由ストレージセグメントを割り当てる第1の自由ストレージセグメント割当て処理と、
    前記論理ブロックアドレスを前記割り当てられた自由ストレージセグメントに関連させる自由ストレージセグメント関連処理と、
    を有する
    ことを特徴とするデータ移動方法。
  2. 前記生成データは、ホスト装置上で実行するアプリケーションによって生成され、前記ソースボリューム上に保存されるデータである
    ことを特徴とする請求項1に記載のデータ移動方法。
  3. 前記生成データは、ファイルシステムを管理するためにホスト装置上で実行するオペレーティングシステムによって生成され、前記ソースボリューム上に保存されるデータである
    ことを特徴とする請求項1に記載のデータ移動方法。
  4. 前記ソースボリュームは、一つ以上の物理装置上に配置されたデータブロックを含み、前記データ移動方法は、書き込み要求が前記ソースボリュームをターゲットにする時に、前記書き込み要求に関連した前記論理ブロックアドレスを取得する処理と、
    前記論理ブロックアドレスに対応する前記ターゲットボリューム上の領域を含む一つ以上のデータブロックにデータを保存する処理と、
    をさらに含むことを特徴とする請求項1に記載のデータ移動方法。
  5. 前記論理ブロックアドレスと対応する前記ソースボリューム上の領域に前記生成データが書き込まれているかを決定するために、前記データブロックが生成データを有するかまたは有しないかを前記データブロックごとに特定する前記ビットマップ情報にアクセスする処理をさらに含む
    ことを特徴とする請求項4に記載のデータ移動方法。
  6. 前記ソースボリュームは、前記ディスク装置から割り当てられ、論理ブロックアドレスによって参照される一つ以上のストレージセグメントを含み、
    ホスト装置からの書き込み要求が前記ソースボリュームをターゲットにする時に、当該ターゲットの論理ブロックアドレスが前記ソースボリュームを含むストレージセグメントを参照しないならば、前記ディスク装置から自由ストレージセグメントを割り当てる第2の自由ストレージセグメント割当て処理をさらに含む
    ことを特徴とする請求項1に記載のデータ移動方法。
  7. 前記ターゲットの論理ブロックアドレスを、前記第2の自由ストレージセグメント割当て処理により取得される前記ストレージセグメントに関連させる処理をさらに含む
    ことを特徴とする請求項6に記載のデータ移動方法。
  8. 前記ターゲットボリュームは、前記ストレージシステムとは別の外部ストレージシステム内に含まれた物理ストレージ装置により提供され、
    前記ターゲットボリュームは、第1の識別子でホスト装置によって特定され、第2の識別子で前記外部ストレージシステム内において特定され、
    前記第1の識別子を前記第2の識別子にマッピングするマッピング情報を参照する処理をさらに含み、
    前記第3の処理は、前記ターゲットボリュームにアクセスするために前記第2の識別子を利用する
    ことを特徴とする請求項1に記載のデータ移動方法。
  9. ストレージシステム内のデータ移動方法において、
    それぞれが関連した論理ブロックアドレスを有し、いくつかが前記データ移動が実行されるデータを保存する複数のデータブロックを含むソースボリュームの指定と、ターゲットボリュームの指定とを受け取る第1の処理と、
    前記ソースボリュームの前記複数のデータブロックに対して、それぞれが一つ以上の前記データブロックを含む複数のセグメントを定義する第2の処理と、
    前記セグメントがデータを有するデータブロックを含む場合に、前記ターゲットボリュームが、それぞれが論理ブロックアドレスに関連したデータを含む一つ以上のセグメントを備えるように、当該データブロックに対応する一つの前記論理ブロックアドレスに前記セグメントを関連させ、前記ターゲットボリュームに前記セグメントを関連させる第3の処理と、
    前記セグメントがデータを有するデータブロックを含まない場合に、前記セグメントを自由セグメントのリストに関連させる第4の処理と、
    前記データブロックがデータを有するかまたは有しないかを調べて、前記ソースボリュームの前記データブロックがデータを有するか有しないかを決定するために使用される使用状況情報を生成する第5の処理と、
    前記使用状況情報に基づいて、前記ソースボリューム内の各論理ブロックアドレスについて、前記論理ブロックアドレスに対応する前記ソースボリューム上の領域にデータが書き込まれていると判断した場合に、当該領域内に書き込まれた前記生成データを前記ターゲットボリュームにコピーし、前記論理ブロックアドレスに対応する前記ソースボリューム上の領域に前記データが書き込まれていないと判断した場合に、当該領域内のデータを前記ターゲットボリュームにコピーしない第6の処理と、
    を備えることを特徴とするデータ移動方法。
  10. 前記データは、ホスト装置上で実行するアプリケーションによって生成され前記ソースボリューム上に保存されるデータ、またはファイルシステムを管理するために前記ホスト装置上で実行するオペレーティングシステムによって生成され前記ソースボリューム上に保存されるデータの一つを含む
    ことを特徴とする請求項に記載のデータ移動方法。
  11. 前記ターゲットボリュームに向けられたターゲット論理ブロックアドレスを含む書き込み要求を受け取る書き込み要求受取り処理と、
    前記ターゲット論理ブロックアドレスに対応する前記ターゲットボリュームセグメント特定されない場合、自由セグメントの前記リストから自由セグメントを割り当てる自由セグメント割当て処理と、
    前記割り当てられた自由セグメントに前記論理ブロックアドレスを関連させる関連付け処理と
    をさらに含み、
    前記書き込み要求に関連したデータを、前記割り当てられた自由セグメントに書き込む
    ことを特徴とする請求項に記載のデータ移動方法。
  12. 前記使用状況情報は、前記ソースボリュームをターゲットにする書き込みオペレーションが処理されるのと同時または直前に生成される
    ことを特徴とする請求項に記載のデータ移動方法。
  13. 前記使用状況情報はビットマップの形式であり、各ビットは論理ブロックアドレスに対応し、前記ビットの値はデータブロックがデータを有するかどうかを示す
    ことを特徴とする請求項12に記載のデータ移動方法。
  14. 前記使用状況情報は、ユーザによって送られるコマンドに応答して生成される
    ことを特徴とする請求項に記載のデータ移動方法。
  15. 各セグメントは一つのデータブロックを含む
    ことを特徴とする請求項に記載のデータ移動方法。
  16. 各セグメントはN個のデータブロックを含み、Nは4以上である
    ことを特徴とする請求項に記載のデータ移動方法。
  17. 複数の物理装置とコントローラを含むストレージシステムにおいて実行され、前記コントローラはデータ処理ユニットとプログラムコードを含み、前記データ処理ユニットは前記方法を実行するために前記プログラムコードを実行する
    ことを特徴とする請求項に記載のデータ移動方法。
  18. 前記ターゲットボリュームは、前記ストレージシステムとは別の外部ストレージシステム内に含まれた物理ストレージ装置により提供され、
    前記ターゲットボリュームは、第1の識別子でホスト装置によって特定され、第2の識別子で前記外部ストレージシステム内において特定され、
    前記第1の識別子を第2の識別子にマッピングするマッピング情報を参照する処理をさらに含み、
    前記第6の処理は、前記ターゲットボリュームにアクセスするために前記第2の識別子を利用する
    ことを特徴とする請求項9に記載のデータ移動方法。
JP2006013319A 2005-03-29 2006-01-23 データ移動方法及びストレージシステム Expired - Fee Related JP4920976B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/093,604 US7162600B2 (en) 2005-03-29 2005-03-29 Data copying method and apparatus in a thin provisioned system
US11/093,604 2005-03-29

Publications (3)

Publication Number Publication Date
JP2006277723A JP2006277723A (ja) 2006-10-12
JP2006277723A5 JP2006277723A5 (ja) 2009-02-05
JP4920976B2 true JP4920976B2 (ja) 2012-04-18

Family

ID=37071987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006013319A Expired - Fee Related JP4920976B2 (ja) 2005-03-29 2006-01-23 データ移動方法及びストレージシステム

Country Status (2)

Country Link
US (6) US7162600B2 (ja)
JP (1) JP4920976B2 (ja)

Families Citing this family (76)

* 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
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
US8627005B1 (en) 2004-03-26 2014-01-07 Emc Corporation System and method for virtualization of networked storage resources
US7818517B1 (en) 2004-03-26 2010-10-19 Emc Corporation Architecture 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 株式会社日立製作所 ストレージシステム及び構成変更方法
JP2007066259A (ja) * 2005-09-02 2007-03-15 Hitachi Ltd 計算機システムとストレージシステム並びにボリューム容量拡張方法
JP3870215B1 (ja) * 2005-09-30 2007-01-17 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ記録装置のデータ書込み読取り制御方法
US7467276B1 (en) * 2005-10-25 2008-12-16 Network Appliance, Inc. System and method for automatic root volume creation
JP4927408B2 (ja) * 2006-01-25 2012-05-09 株式会社日立製作所 記憶システム及びそのデータ復元方法
JP2007316725A (ja) * 2006-05-23 2007-12-06 Hitachi Ltd 記憶領域管理方法及び管理計算機
US7949847B2 (en) * 2006-11-29 2011-05-24 Hitachi, Ltd. Storage extent allocation method for thin provisioning storage
JP4897499B2 (ja) * 2007-01-19 2012-03-14 株式会社日立製作所 記憶システム又はストレージ移行方法
EP2115564A1 (en) * 2007-01-31 2009-11-11 International Business Machines Corporation Apparatus and method for stored data protection and recovery
JP4432088B2 (ja) * 2007-02-28 2010-03-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 一連の処理を所定の順序で行うための処理システム、ストレージ装置、及び方法
JP4331220B2 (ja) * 2007-03-07 2009-09-16 株式会社東芝 未使用物理領域自律管理機能を持つストレージ装置
JP5379956B2 (ja) * 2007-03-19 2013-12-25 株式会社日立製作所 ストレージ装置及び記憶領域配置方法
US9152349B2 (en) * 2007-03-23 2015-10-06 Emc Corporation Automated information life-cycle management with thin provisioning
JP2008269374A (ja) * 2007-04-23 2008-11-06 Hitachi Ltd ストレージシステムおよびその制御方法
JP5087309B2 (ja) * 2007-04-24 2012-12-05 株式会社日立製作所 管理装置及び管理方法
US8046597B2 (en) * 2007-08-14 2011-10-25 Dell Products L.P. System and method for managing storage device capacity use
US8386744B2 (en) * 2007-10-01 2013-02-26 International Business Machines Corporation Thin provisioning migration and scrubbing
JP5259626B2 (ja) * 2007-12-26 2013-08-07 キヤノンアネルバ株式会社 スパッタ装置、スパッタ成膜方法
JP5111204B2 (ja) * 2008-03-31 2013-01-09 株式会社日立製作所 ストレージシステム及びストレージシステムの管理方法
JP5183363B2 (ja) * 2008-08-26 2013-04-17 株式会社日立製作所 論理ボリュームのデータ移動方法とストレージシステムおよび管理計算機
JP5272185B2 (ja) * 2008-09-26 2013-08-28 株式会社日立製作所 計算機システム及びストレージシステム
US7904749B2 (en) * 2008-10-24 2011-03-08 Hitachi, Ltd. Fast data recovery from HDD failure
TW201022930A (en) 2008-11-20 2010-06-16 Ibm Method to improve recovery time of mirrored disks when read stability is in doubt
US8407436B2 (en) 2009-02-11 2013-03-26 Hitachi, Ltd. Methods and apparatus for migrating thin provisioning volumes between storage systems
US20100235597A1 (en) * 2009-03-10 2010-09-16 Hiroshi Arakawa Method and apparatus for conversion between conventional volumes and thin provisioning with automated tier management
US8738872B2 (en) * 2009-04-03 2014-05-27 Peter Chi-Hsiung Liu Methods for migrating data in a server that remains substantially available for use during such migration
US8694563B1 (en) * 2009-04-18 2014-04-08 Hewlett-Packard Development Company, L.P. Space recovery for thin-provisioned storage volumes
JP5801189B2 (ja) * 2009-04-23 2015-10-28 株式会社日立製作所 計算機システム及びその制御方法
CN102137134A (zh) * 2010-01-27 2011-07-27 智微科技股份有限公司 网络储存系统及网络储存方法
US8578087B2 (en) * 2010-02-02 2013-11-05 International Business Machines Corporation On demand conversion of standard logical volumes to thin-provisioned logical volumes
JP5079841B2 (ja) * 2010-04-15 2012-11-21 株式会社日立製作所 ThinProvisioningに従う仮想的な論理ボリュームに対するデータのライトを制御する方法及びストレージ装置
US8688950B2 (en) * 2010-04-27 2014-04-01 Hitachi, Ltd. Mainframe storage apparatus that utilizes thin provisioning
WO2012020471A1 (ja) * 2010-08-10 2012-02-16 株式会社日立製作所 計算機システムの管理方法、及び管理システム
US9052825B2 (en) 2010-08-30 2015-06-09 Vmware, Inc. System software interfaces for space-optimized block devices
US9411517B2 (en) 2010-08-30 2016-08-09 Vmware, Inc. System software interfaces for space-optimized block devices
US8856483B1 (en) * 2010-09-21 2014-10-07 Amazon Technologies, Inc. Virtual data storage service with sparse provisioning
US8880817B2 (en) * 2010-12-16 2014-11-04 Dell Products L.P. Storage subsystem backplane management system
CN102624576B (zh) * 2011-01-27 2016-04-20 腾讯科技(深圳)有限公司 一种自动测试浏览器的网页下载时间的方法和系统
US9047017B1 (en) * 2011-12-20 2015-06-02 Emc Corporation Techniques for automated evaluation and movement of data between storage tiers
US9223502B2 (en) 2011-08-01 2015-12-29 Infinidat Ltd. Method of migrating stored data and system thereof
US8856191B2 (en) * 2011-08-01 2014-10-07 Infinidat Ltd. Method of migrating stored data and system thereof
US8856440B2 (en) 2011-09-12 2014-10-07 Microsoft Corporation Volatile memory representation of nonvolatile storage device set
US8935499B2 (en) 2011-10-17 2015-01-13 International Business Machines Corporation Interface for management of data movement in a thin provisioned storage system
US8577840B2 (en) * 2012-01-03 2013-11-05 International Business Machines Corporation Replication of data sets
US9304912B1 (en) * 2012-01-06 2016-04-05 Marvell International Ltd. Systems and methods for building redundancy data in a RAID system
US9047015B2 (en) 2012-04-13 2015-06-02 International Business Machines Corporation Migrating thin-provisioned volumes in tiered storage architectures
US10114697B2 (en) * 2012-06-25 2018-10-30 International Business Machines Corporation Large object parallel writing
US11093327B1 (en) 2012-06-25 2021-08-17 Pure Storage, Inc. Failure abatement approach for failed storage units common to multiple vaults
US9229656B1 (en) * 2012-06-28 2016-01-05 Emc Corporation Managing settings and queries in host-based data migration
US9063937B2 (en) 2012-07-31 2015-06-23 Hewlett-Packard Development Company, L.P. Storage array reservation forwarding
CN102855093B (zh) * 2012-08-16 2015-05-13 浪潮(北京)电子信息产业有限公司 实现自动精简配置存储系统动态扩容的系统及方法
US8943283B2 (en) 2012-08-31 2015-01-27 International Business Machines Corporation Converting a first address mapping function for mapping addresses to storage locations to a second address mapping function
CN102968279B (zh) * 2012-11-13 2016-06-08 浪潮电子信息产业股份有限公司 一种存储系统自动精简配置的方法
CN104040512B (zh) * 2012-12-28 2017-09-19 华为技术有限公司 存储空间的处理方法及装置
US9459902B2 (en) * 2013-08-16 2016-10-04 Red Hat Israel, Ltd. Memory duplication by destination host in virtual machine live migration
US9454400B2 (en) 2013-08-16 2016-09-27 Red Hat Israel, Ltd. Memory duplication by origin host in virtual machine live migration
US9344525B2 (en) * 2013-11-25 2016-05-17 Violin Memory Inc. Method and apparatus for data migration
CN103729437B (zh) * 2013-12-27 2017-09-19 上海华为技术有限公司 一种网页评估的方法及装置
CN105389312A (zh) * 2014-09-04 2016-03-09 上海福网信息科技有限公司 大数据迁移方法及工具
WO2016113831A1 (ja) * 2015-01-13 2016-07-21 株式会社日立製作所 ストレージシステム、及び、記憶制御方法
CN106155888A (zh) * 2015-04-01 2016-11-23 北京蓝海讯通科技有限公司 一种移动应用中网页加载性能的检测方法和装置
US10394491B2 (en) 2016-04-14 2019-08-27 International Business Machines Corporation Efficient asynchronous mirror copy of thin-provisioned volumes
US10430121B2 (en) * 2016-08-22 2019-10-01 International Business Machines Corporation Efficient asynchronous mirror copy of fully provisioned volumes to thin-provisioned volumes
JP6722354B2 (ja) * 2017-05-24 2020-07-15 株式会社日立製作所 ストレージシステム
US10324624B2 (en) * 2017-06-26 2019-06-18 Entit Software Llc Decommissioning of source storages
US11216203B2 (en) 2017-09-27 2022-01-04 Telefonaktiebolaget Lm Ericsson (Publ) Method and reallocation component for managing reallocation of information from source to target memory sled
CN108829349A (zh) * 2018-05-30 2018-11-16 郑州易通众联电子科技有限公司 基于电子设备的数据存储方法、数据存储装置及电子设备
CN109062748A (zh) * 2018-08-10 2018-12-21 郑州云海信息技术有限公司 一种镜像卷规格功能的自动测试方法及装置
JP7015776B2 (ja) 2018-11-30 2022-02-03 株式会社日立製作所 ストレージシステム
US11308036B2 (en) * 2019-04-11 2022-04-19 EMC IP Holding Company LLC Selection of digest hash function for different data sets

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3260923B2 (ja) * 1993-09-20 2002-02-25 富士通株式会社 データ処理システムのバックアップ制御装置及び方法
JP3641872B2 (ja) * 1996-04-08 2005-04-27 株式会社日立製作所 記憶装置システム
US6182089B1 (en) * 1997-09-23 2001-01-30 Silicon Graphics, Inc. Method, system and computer program product for dynamically allocating large memory pages of different sizes
US6301670B1 (en) 1998-10-06 2001-10-09 Ricoh Corporation Method and apparatus for erasing data when a problem is identified
JP2000187608A (ja) * 1998-12-24 2000-07-04 Hitachi Ltd 記憶装置サブシステム
US6654830B1 (en) 1999-03-25 2003-11-25 Dell Products L.P. Method and system for managing data migration for a storage system
US6606682B1 (en) 2000-04-19 2003-08-12 Western Digital Technologies, Inc. Cluster-based cache memory allocation
JP2002049511A (ja) * 2000-05-24 2002-02-15 Hitachi Ltd アドレスの割付変更方法及びこれを用いた外部記憶サブシステム
US6804755B2 (en) 2000-06-19 2004-10-12 Storage Technology Corporation Apparatus and method for performing an instant copy of data based on a dynamically changeable virtual mapping scheme
US6857059B2 (en) * 2001-01-11 2005-02-15 Yottayotta, Inc. Storage virtualization system and methods
US7058788B2 (en) 2001-02-23 2006-06-06 Falconstor Software, Inc. Dynamic allocation of computer memory
JP4175788B2 (ja) * 2001-07-05 2008-11-05 株式会社日立製作所 ボリューム制御装置
US7162600B2 (en) 2005-03-29 2007-01-09 Hitachi, Ltd. Data copying method and apparatus in a thin provisioned system
JP4034949B2 (ja) 2001-09-06 2008-01-16 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
US6959373B2 (en) * 2001-12-10 2005-10-25 Incipient, Inc. Dynamic and variable length extents
US20030126132A1 (en) * 2001-12-27 2003-07-03 Kavuri Ravi K. Virtual volume management system and method
JP3702231B2 (ja) 2002-01-31 2005-10-05 株式会社東芝 ディスクアレイ装置及び同装置における動的記憶容量拡張方法
JP2003316522A (ja) 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
JP2003316713A (ja) 2002-04-26 2003-11-07 Hitachi Ltd 記憶装置システム
JP4704659B2 (ja) 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
US6732171B2 (en) 2002-05-31 2004-05-04 Lefthand Networks, Inc. Distributed network storage system with virtualization
US7024586B2 (en) * 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration
US6889302B2 (en) * 2002-08-29 2005-05-03 International Business Machines Corporation Apparatus and method to maintain information in one or more virtual volume aggregates comprising a plurality of virtual volumes
US6954768B2 (en) 2002-08-29 2005-10-11 International Business Machines Corporation Method, system, and article of manufacture for managing storage pools
JP4124331B2 (ja) * 2002-09-17 2008-07-23 株式会社日立製作所 Dbms向け仮想ボリューム作成・管理方法
US6823442B1 (en) 2003-05-12 2004-11-23 3Pardata, Inc. Method of managing virtual volumes in a utility storage server system
JP2007502470A (ja) 2003-08-14 2007-02-08 コンペレント・テクノロジーズ 仮想ディスク・ドライブのシステムおよび方法
JP4598387B2 (ja) * 2003-09-17 2010-12-15 株式会社日立製作所 記憶システム
JP4307202B2 (ja) * 2003-09-29 2009-08-05 株式会社日立製作所 記憶システム及び記憶制御装置
US7158991B2 (en) 2003-09-30 2007-01-02 Veritas Operating Corporation System and method for maintaining temporal data in data storage
US7412583B2 (en) 2003-11-14 2008-08-12 International Business Machines Corporation Virtual incremental storage method
US7222135B2 (en) * 2003-12-29 2007-05-22 Intel Corporation Method, system, and program for managing data migration
JP4646526B2 (ja) * 2004-02-18 2011-03-09 株式会社日立製作所 記憶制御システム及び同システムの制御方法
US7343449B2 (en) 2004-03-22 2008-03-11 Hitachi, Ltd. Storage subsystem and storage system
JP2005284980A (ja) * 2004-03-30 2005-10-13 Toshiba Solutions Corp 2重化システム及びリモートディスクミラーリングの初期化処理方法
US7096338B2 (en) * 2004-08-30 2006-08-22 Hitachi, Ltd. Storage system and data relocation control device
JP4555036B2 (ja) * 2004-09-16 2010-09-29 株式会社日立製作所 ストレージ装置及びストレージ装置のデバイス切替制御方法
US7603532B2 (en) * 2004-10-15 2009-10-13 Netapp, Inc. System and method for reclaiming unused space from a thinly provisioned data container
US7343467B2 (en) * 2004-12-20 2008-03-11 Emc Corporation Method to perform parallel data migration in a clustered storage environment
US7463593B2 (en) 2005-01-13 2008-12-09 International Business Machines Corporation Network host isolation tool
US9146865B2 (en) 2005-01-26 2015-09-29 Lantiq Beteiligungs-GmbH & Co.KG Operating a dual-ported internal memory
US7130960B1 (en) 2005-04-21 2006-10-31 Hitachi, Ltd. System and method for managing disk space in a thin-provisioned storage subsystem
JP4699808B2 (ja) 2005-06-02 2011-06-15 株式会社日立製作所 ストレージシステム及び構成変更方法
US7557832B2 (en) * 2005-08-12 2009-07-07 Volker Lindenstruth Method and apparatus for electronically stabilizing digital images

Also Published As

Publication number Publication date
JP2006277723A (ja) 2006-10-12
US20100185814A1 (en) 2010-07-22
US20130117523A1 (en) 2013-05-09
US20070067588A1 (en) 2007-03-22
US20180341421A1 (en) 2018-11-29
US9256524B2 (en) 2016-02-09
US10452299B2 (en) 2019-10-22
US20060224844A1 (en) 2006-10-05
US20160139851A1 (en) 2016-05-19
US7162600B2 (en) 2007-01-09

Similar Documents

Publication Publication Date Title
JP4920976B2 (ja) データ移動方法及びストレージシステム
JP4990066B2 (ja) 論理ボリュームのペアを利用したデータ保存の方式を変更する機能を備えたストレージシステム
JP4889985B2 (ja) ストレージ階層を考慮したボリュームグループを管理する方法
US7739446B2 (en) System and method for managing disk space in a thin-provisioned storage subsystem
JP5341184B2 (ja) ストレージシステム及びストレージシステムの運用方法
JP5069011B2 (ja) ストレージモジュール及び容量プール空き容量調整方法
US8635427B2 (en) Data storage control on storage devices
US7660946B2 (en) Storage control system and storage control method
JP4993928B2 (ja) 記憶システム及び記憶領域解放方法並びにストレージシステム
US8271444B2 (en) Storage control device to backup data stored in virtual volume
US7343465B2 (en) Storage system
US20110153967A1 (en) Storage area dynamic assignment method
JP2008065525A (ja) 計算機システム、データ管理方法及び管理計算機
JP2007102760A (ja) ストレージエリアネットワークにおけるボリュームの自動割り当て
JP2012014286A (ja) ストレージシステム、同システムにおけるデータバックアップ方法及びデータバックアッププログラム
US8572347B2 (en) Storage apparatus and method of controlling storage apparatus
JP7113698B2 (ja) 情報システム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081212

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081212

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20081212

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110405

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110603

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150210

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees