JP5780067B2 - ストレージシステム、ストレージ制御装置およびストレージ制御方法 - Google Patents
ストレージシステム、ストレージ制御装置およびストレージ制御方法 Download PDFInfo
- Publication number
- JP5780067B2 JP5780067B2 JP2011190274A JP2011190274A JP5780067B2 JP 5780067 B2 JP5780067 B2 JP 5780067B2 JP 2011190274 A JP2011190274 A JP 2011190274A JP 2011190274 A JP2011190274 A JP 2011190274A JP 5780067 B2 JP5780067 B2 JP 5780067B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- volume
- data
- replication
- partial
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2089—Redundant storage control functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1059—Parity-single bit-RAID5, i.e. RAID 5 implementations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
〔第1の実施の形態〕
図1は、第1の実施の形態に係るストレージシステムの構成例を示す図である。
図2は、第2の実施の形態に係るストレージシステムの全体構成例を示す図である。図2に示すストレージシステム100は、CE(Controller Enclosure)200と、DE(Drive Enclosure)300とを含む。また、CE200には、ホスト装置400が接続されている。
CM201は、CPU211によって装置全体が制御されている。CPU211には、RAM(Random Access Memory)212および複数の周辺機器が、バス217を介して接続されている。RAM212は、CM201の主記憶装置として使用され、CPU211に実行させるプログラムの少なくとも一部や、このプログラムによる処理に必要な各種データを一時的に記憶する。
CM201は、RAID制御部221、ホストI/O制御部222および複製制御部223を備える。RAID制御部221、ホストI/O制御部222および複製制御部223の処理は、例えば、CM201のCPU211が所定のプログラムを実行することで実現される。
図5では例として、業務ボリュームV1の少なくとも一部の領域を複製した複製ボリュームV2を生成する場合を示す。業務ボリュームV1に付与された「オフセット(Offset)」は、業務ボリュームV1を一定容量ごとに分割した部分領域の位置を示す。以下、部分領域自体を「オフセット」と呼び、番号Xのオフセットを「オフセット#X」と記載する。図5では例として、業務ボリュームV1におけるオフセット#0000〜#0005を、複製ボリュームV2に複製する場合を示す。
プール領域管理テーブル231には、プール領域のうち、業務ボリュームや複製ボリュームとして割り当て可能なフリー領域と、割り当て済みの領域(使用中領域)とを示す情報が登録される。使用中領域については、TPP領域とSDP領域とが個別に管理される。なお、図6は、プール領域に用意された1つのプールボリュームに対応するテーブルを示しているが、実際には、プール領域管理テーブル231には、図6のようなテーブルがプールボリュームごとに登録される。
業務ボリューム管理テーブル232には、業務ボリューム内のオフセットごとにエントリが設けられる。各エントリには、対応するオフセットに対して割り当てられた物理記憶領域の位置情報と、対応するオフセットに格納されたデータに基づくコードと、対応するオフセットのステータスとが登録される。
ステータスは、オフセットについての状態を示すものであり、「算出中」、「TPP」および「SDP」のいずれかが設定される。「算出中」は、オフセットに対してTPPブロックが割り当てられたものの、割り当てられたTPPブロックに格納するデータに基づくコードの算出が完了していないことを示す。「TPP」は、オフセットに対してTPPブロックが割り当てられ、かつ、コードの算出が完了していることを示す。例えば、エントリ内のコードの欄に値が登録されると、同じエントリ内のステータスが「算出中」から「TPP」に更新される。「SDP」は、オフセットに対してSDPブロックが割り当てられていることを示す。なお、業務ボリュームのオフセットに対してSDPブロックが割り当てられる場合とは、例えば、業務ボリューム内の一部のデータの破壊などが発生したときに、複製ボリュームの物理記憶領域(すなわちSDPブロック)を使用して業務ボリュームが論理的にリストアされる場合などである。
図8は、複製ボリューム管理テーブルに登録される情報の例を示す図である。
複製範囲設定テーブル234は、複製対象範囲が指定されて複製ボリュームの生成が要求されたときに、業務ボリュームにおける複製対象範囲に割り当てられた物理記憶領域の位置情報を保持するものである。複製範囲設定テーブル234には、同じプールボリュームに属する連続した物理記憶領域ごとにエントリが設けられる。各エントリには、識別番号が付与されるとともに、物理記憶領域を示す位置情報として、物理記憶領域が属するプールボリュームを識別するボリューム番号と、物理記憶領域の先頭位置を示すLBAと、物理記憶領域の長さ(容量)を示すブロック数とが登録される。
ホストI/O制御部222は、ホスト装置400から、業務ボリューム内の未記憶領域に対するデータの書き込み要求を受けると、フリー領域からTPPブロックを獲得して、業務ボリュームにおけるデータの書き込み対象のオフセットに割り当てる。図10の例では、ホスト装置400が、業務ボリュームV1内のオフセット#0000〜#0002,#0004に対するデータの書き込みを要求したものとする(ステップS11)。
図12では、業務ボリュームV1内のオフセット#0001に格納されたデータに基づくコードの算出処理中に、ホスト装置400からオフセット#0001に対して新たなデータの書き込みが要求された場合を想定する(ステップS31)。ホストI/O制御部222は、業務ボリューム管理テーブル232におけるオフセット#0001のエントリにおいて、ステータスが「算出中」であることから、オフセット#0001についてコードの算出処理が完了していないことを認識する。
[ステップS102]ホストI/O制御部222は、業務ボリューム管理テーブル232のエントリのうち、書き込みを要求された業務ボリュームの領域に含まれるエントリを1つ選択する。
[ステップS113]ホストI/O制御部222は、書き込みを要求された全データの書き込み処理が完了したかを判定する。ホストI/O制御部222は、業務ボリューム管理テーブル232のエントリのうち、書き込みを要求された業務ボリュームの領域に含まれるすべてのエントリを選択済みである場合に、書き込み処理が完了したと判定する。
以上の図13,図14の処理において、ステップS108で「Yes」と判定される場合とは、ステップS102で選択したエントリに対応するTPPブロックに格納された旧データについて、コードの算出処理が完了していない場合である。この場合、選択したエントリに対して新たなTPPブロックが割り当てられる(ステップS105,S106)。その一方、複製ボリューム管理テーブル233における対応エントリのフリーフラグが「1」に更新されることで(ステップS111)、元のTPPブロックが退避中であることが記録される。
[ステップS131]ホストI/O制御部222は、業務ボリューム管理テーブル232の各エントリを監視し、コードが算出されていないオフセットを検出した場合(S131:Yes)に、ステップS132の処理を実行する。
[ステップS151]ホストI/O制御部222は、ホスト装置400から複製要求を受け付ける。このとき、ホストI/O制御部222は、ホスト装置400から、業務ボリュームにおける複製対象範囲の指定を受ける。ホストI/O制御部222は、複製制御部223に対して指定された複製対象範囲を通知して、複製ボリュームの生成処理を開始させる。
[ステップS154]複製制御部223は、変数Indexを初期値「0」に設定する。このIndexは、複製ボリューム管理テーブル233のエントリを、初期値「0」で先頭から順に付与した番号として指定するものである。
[ステップS158]複製制御部223は、データが重複している他のオフセットがあるかを判定する。複製制御部223は、ステップS157において、同一のコードが登録されたエントリを検出した場合に、データが重複する他のオフセットがあると判定する。複製制御部223は、データが重複する他のオフセットがない場合(S158:No)、ステップS159の処理を実行する一方、データが重複する他のオフセットがある場合(S158:Yes)、ステップS162の処理を実行する。
[ステップS160]複製制御部223は、フリー領域から、圧縮後のデータの容量分の物理記憶領域をSDPブロックとして獲得する。このとき、複製制御部223は、獲得した物理記憶領域をフリー領域から除外してSDP領域に追加するように、プール領域管理テーブル231を更新する。
[ステップS167]複製制御部223は、Indexが指示するエントリのステータスを、「TPP」から「SDP」に更新する。ステップS163,S167の処理により、エントリに対応するオフセットに対して割り当てられる物理記憶領域が、TPPブロックからSDPブロックに変更される。
[ステップS169]複製制御部223は、複製ボリューム管理テーブル233に、インクリメントされたIndexによって指示されるエントリがあるかを判定する。複製制御部223は、エントリが存在する場合(S169:Yes)、ステップS155に戻って、次のエントリを処理対象として処理を続行する。一方、エントリが存在しない場合(S169:No)、複製ボリュームの生成処理が完了する。
図18では、業務ボリュームV1に割り当てられたTPPブロックの一部にトラブルが発生して、業務ボリュームV1におけるオフセット#0000〜#0005の領域へのアクセスが不可能になった場合を想定する(ステップS41)。なお、上記の図16,図17の処理により、業務ボリュームV1のオフセット#0000〜#0005を複製対象範囲として、複製ボリュームが生成されているものとする。
上記の第2の実施の形態では、複製ボリュームに割り当てる物理記憶領域の容量を、重複排除およびデータ圧縮によって削減した。しかしながら、複製元の業務ボリュームについても容量を削減することができれば、プール領域におけるフリー領域をより多く確保でき、ストレージシステム全体でのデータ記憶容量を増加させることができる。
業務ボリューム管理テーブル232には、業務ボリュームにおけるオフセットごとのエントリに対して、図7に示した項目に加えて、重複フラグおよびアクセス日時が登録される。重複フラグは、他のオフセットのデータと重複しているか否かを示すフラグである。業務ボリュームに対する重複排除処理が施されることで、他のオフセットのデータと重複していると判定された場合に、重複フラグは「1」とされ、その他の場合には重複フラグは「0」とされる。また、重複フラグの初期値も「0」である。アクセス日時は、該当オフセットに対してRAID制御部221が書き込みを行ったか、あるいは該当オフセットのデータの読み出しを行った、最終の日時を示す。
図21は、第3の実施の形態における、複製ボリュームの生成処理手順の例を示すフローチャートである。なお、この図21では、図16と同じ処理が実行される処理ステップには、同じステップ番号を付して示し、その処理内容の説明を省略する。
[ステップS201]複製制御部223は、Indexが指示するエントリの重複フラグが「1」である場合(S201:Yes)、ステップS202の処理を実行する一方、重複フラグが「0」である場合(S201:No)、ステップS159の処理を実行する。
(付記1) 複数の記憶装置と、前記複数の記憶装置の記憶領域の一部によって構成されるボリュームに対するデータの読み書きを制御するストレージ制御装置とを備えたストレージシステムにおいて、
前記ストレージ制御装置は、
ホスト装置からの要求に応じて第1のボリュームにデータを書き込むとともに、前記第1のボリュームが分割された部分領域ごとに、書き込んだデータに応じたコードを生成し、生成したコードを部分領域に対応付けてコード記憶部に登録する書き込み制御部と、
前記第1のボリュームのうち複製対象領域についての複製要求を受けると、前記複製対象領域のデータを、前記第1のボリュームとは異なる物理記憶領域によって構成される第2のボリュームに複製するとともに、前記コード記憶部に登録されたコードに基づいて前記複製対象領域の部分領域のうち同一のデータが格納されている部分領域を判定し、同一のデータが格納されている部分領域に対応する前記第2のボリュームの部分領域に対しては同一の物理記憶領域を割り当てる複製制御部と、
を有することを特徴とするストレージシステム。
前記ホスト装置からデータの書き込みを要求された部分領域に対して、前記未使用領域から物理記憶領域を割り当て、割り当てた物理記憶領域に対して書き込みを要求されたデータを格納することで、前記第1のボリュームを仮想ボリュームとして生成するとともに、
前記ホスト装置からの要求に応じて前記第1のボリュームにデータを書き込む際に、書き込み先の部分領域を含む前記複製対象領域についての前記第2のボリュームへの複製処理が実行中であり、かつ、前記書き込み先の部分領域にすでにデータが格納されており、かつ、当該データの前記第2のボリュームへのコピーが完了していない場合に、前記書き込み先の部分領域に対して前記未使用領域から新たな物理記憶領域を割り当て、割り当てた物理記憶領域に対して前記ホスト装置から書き込みを要求されたデータを書き込む、
ことを特徴とする付記4記載のストレージシステム。
前記複製対象領域についての複製要求を受けたとき、前記複製対象領域の部分領域のうちデータが格納されている部分領域に割り当てられた物理記憶領域を、前記第2のボリューム内の対応する部分領域に割り当てた後、前記第2のボリュームの各部分領域に割り当てた物理記憶領域を前記未使用領域から割り当てた物理記憶領域に変更し、変更後の物理記憶領域に対して変更前の物理記憶領域に格納されたデータをコピーし、
前記書き込み制御部は、
前記ホスト装置からデータの書き込みを要求された部分領域に対して、前記未使用領域から物理記憶領域を割り当て、割り当てた物理記憶領域に対して書き込みを要求されたデータを格納することで、前記第1のボリュームを仮想ボリュームとして生成するとともに、
前記ホスト装置からの要求に応じて前記第1のボリュームにデータを書き込む際に、書き込み先の部分領域を含む前記複製対象領域についての前記第2のボリュームへの複製処理が実行中であり、かつ、前記書き込み先の部分領域にすでにデータが格納されており、かつ、当該データに基づくコードを前記コード記憶部に登録済みでない場合には、前記書き込み先の部分領域に対して前記未使用領域から新たな物理記憶領域を割り当て、割り当てた物理記憶領域に対して前記ホスト装置から書き込みを要求されたデータを書き込む、
ことを特徴とする付記2記載のストレージシステム。
ホスト装置からの要求に応じて第1のボリュームにデータを書き込むとともに、前記第1のボリュームが分割された部分領域ごとに、書き込んだデータに応じたコードを生成し、生成したコードを部分領域に対応付けてコード記憶部に登録する書き込み制御部と、
前記第1のボリュームのうち複製対象領域についての複製要求を受けると、前記複製対象領域のデータを、前記第1のボリュームとは異なる物理記憶領域によって構成される第2のボリュームに複製するとともに、前記コード記憶部に登録されたコードに基づいて前記複製対象領域の部分領域のうち同一のデータが格納されている部分領域を判定し、同一のデータが格納されている部分領域に対応する前記第2のボリュームの部分領域に対しては同一の物理記憶領域を割り当てる複製制御部と、
を有することを特徴とするストレージ制御装置。
ホスト装置からの要求に応じて第1のボリュームにデータを書き込むとともに、前記第1のボリュームが分割された部分領域ごとに、書き込んだデータに応じたコードを生成し、生成したコードを部分領域に対応付けてコード記憶部に登録し、
前記第1のボリュームのうち複製対象領域についての複製要求を受けると、前記複製対象領域のデータを、前記第1のボリュームとは異なる物理記憶領域によって構成される第2のボリュームに複製するとともに、前記コード記憶部に登録されたコードに基づいて前記複製対象領域の部分領域のうち同一のデータが格納されている部分領域を判定し、同一のデータが格納されている部分領域に対応する前記第2のボリュームの部分領域に対しては同一の物理記憶領域を割り当てる、
ことを特徴とするストレージ制御方法。
前記複製対象領域の部分領域のうちデータが格納されている部分領域のそれぞれに対して、前記複数の記憶装置における未使用領域から物理記憶領域を割り当て、割り当てた物理記憶領域に対して前記複製対象領域内の対応する部分領域に格納されたデータをコピーすることで、前記第2のボリュームを仮想ボリュームとして生成するとともに、前記複製対象領域についての複製要求を受けたとき、前記複製対象領域の部分領域のうちデータが格納されている部分領域に割り当てられた物理記憶領域を、前記第2のボリューム内の対応する部分領域に割り当てた後、前記第2のボリュームの各部分領域に割り当てた物理記憶領域を前記未使用領域から割り当てた物理記憶領域に変更し、変更後の物理記憶領域に対して変更前の物理記憶領域に格納されたデータをコピーし、
前記第1のボリュームにデータを書き込む処理では、
前記ホスト装置からデータの書き込みを要求された部分領域に対して、前記未使用領域から物理記憶領域を割り当て、割り当てた物理記憶領域に対して書き込みを要求されたデータを格納することで、前記第1のボリュームを仮想ボリュームとして生成するとともに、前記ホスト装置からの要求に応じて前記第1のボリュームにデータを書き込む際に、書き込み先の部分領域を含む前記複製対象領域についての前記第2のボリュームへの複製処理が実行中であり、かつ、前記書き込み先の部分領域にすでにデータが格納されており、かつ、当該データに基づくコードを前記コード記憶部に登録済みでない場合には、前記書き込み先の部分領域に対して前記未使用領域から新たな物理記憶領域を割り当て、割り当てた物理記憶領域に対して前記ホスト装置から書き込みを要求されたデータを書き込むことを特徴とする付記13記載のストレージ制御方法。
10 ストレージ制御装置
11 書き込み制御部
12 複製制御部
13 コード記憶部
21〜24 記憶装置
21a,24a,24b 物理記憶領域
30 ホスト装置
41,42 ボリューム
41a〜41d,42a〜42d 部分領域
Claims (11)
- 複数の記憶装置と、前記複数の記憶装置の記憶領域の一部によって構成されるボリュームに対するデータの読み書きを制御するストレージ制御装置とを備えたストレージシステムにおいて、
前記ストレージ制御装置は、
ホスト装置からの要求に応じて第1のボリュームにデータを書き込むとともに、前記第1のボリュームが分割された部分領域ごとに、書き込んだデータに応じたコードを生成し、生成したコードを部分領域に対応付けてコード記憶部に登録する書き込み制御部と、
前記第1のボリュームのうち複製対象領域についての、前記第1のボリュームとは異なる物理記憶領域によって構成される第2のボリュームへの複製要求を受けると、前記複製対象領域に含まれる部分領域を順に選択し、前記コード記憶部に登録されたコードのうち、選択した部分領域のコードと当該部分領域の前に選択済みの他の部分領域のコードとを参照して比較することで、前記複製対象領域の部分領域のうち同一のデータが格納されている部分領域を判定し、前記複製対象領域のうち同一のデータが格納されている部分領域に対応する前記第2のボリュームの部分領域に対しては同一の物理記憶領域を割り当て、前記複製対象領域のうち同一のデータが格納されていない部分領域に対応する前記第2のボリュームの部分領域に対しては新たな物理記憶領域を割り当てて当該物理記憶領域に前記複製対象領域内の対応する部分領域のデータをコピーする複製制御部と、
を有することを特徴とするストレージシステム。 - 前記書き込み制御部は、前記ホスト装置からの要求に応じて前記第1のボリュームにデータを書き込む処理と、書き込んだデータに応じたコードを部分領域ごとに生成し、生成したコードを部分領域に対応付けて前記コード記憶部に登録する処理とを、非同期に実行することを特徴とする請求項1記載のストレージシステム。
- 前記複製制御部は、前記複製対象領域の部分領域のうちデータが格納されている部分領域のそれぞれに対して、前記複数の記憶装置における未使用領域から物理記憶領域を割り当て、割り当てた物理記憶領域に対して前記複製対象領域内の対応する部分領域に格納されたデータをコピーすることで、前記第2のボリュームを仮想ボリュームとして生成することを特徴とする請求項1または2記載のストレージシステム。
- 前記複製制御部は、前記複製対象領域についての複製要求を受けたとき、前記複製対象領域の部分領域のうちデータが格納されている部分領域に割り当てられた物理記憶領域を、前記第2のボリューム内の対応する部分領域に割り当てた後、前記第2のボリュームの各部分領域に割り当てた物理記憶領域を前記未使用領域から割り当てた物理記憶領域に変更し、変更後の物理記憶領域に対して変更前の物理記憶領域に格納されたデータをコピーすることを特徴とする請求項3記載のストレージシステム。
- 前記書き込み制御部は、
前記ホスト装置からデータの書き込みを要求された部分領域に対して、前記未使用領域から物理記憶領域を割り当て、割り当てた物理記憶領域に対して書き込みを要求されたデータを格納することで、前記第1のボリュームを仮想ボリュームとして生成するとともに、
前記ホスト装置からの要求に応じて前記第1のボリュームにデータを書き込む際に、書き込み先の部分領域を含む前記複製対象領域についての前記第2のボリュームへの複製処理が実行中であり、かつ、前記書き込み先の部分領域にすでにデータが格納されており、かつ、当該データの前記第2のボリュームへのコピーが完了していない場合に、前記書き込み先の部分領域に対して前記未使用領域から新たな物理記憶領域を割り当て、割り当てた物理記憶領域に対して前記ホスト装置から書き込みを要求されたデータを書き込む、
ことを特徴とする請求項4記載のストレージシステム。 - 前記複製制御部は、前記複製対象領域の部分領域のうちデータが格納されている部分領域のそれぞれに対して、前記複数の記憶装置における未使用領域から物理記憶領域を割り当て、割り当てた物理記憶領域に対して前記複製対象領域内の対応する部分領域に格納されたデータをコピーすることで、前記第2のボリュームを仮想ボリュームとして生成するとともに、
前記複製対象領域についての複製要求を受けたとき、前記複製対象領域の部分領域のうちデータが格納されている部分領域に割り当てられた物理記憶領域を、前記第2のボリューム内の対応する部分領域に割り当てた後、前記第2のボリュームの各部分領域に割り当てた物理記憶領域を前記未使用領域から割り当てた物理記憶領域に変更し、変更後の物理記憶領域に対して変更前の物理記憶領域に格納されたデータをコピーし、
前記書き込み制御部は、
前記ホスト装置からデータの書き込みを要求された部分領域に対して、前記未使用領域から物理記憶領域を割り当て、割り当てた物理記憶領域に対して書き込みを要求されたデータを格納することで、前記第1のボリュームを仮想ボリュームとして生成するとともに、
前記ホスト装置からの要求に応じて前記第1のボリュームにデータを書き込む際に、書き込み先の部分領域を含む前記複製対象領域についての前記第2のボリュームへの複製処理が実行中であり、かつ、前記書き込み先の部分領域にすでにデータが格納されており、かつ、当該データに基づくコードを前記コード記憶部に登録済みでない場合には、前記書き込み先の部分領域に対して前記未使用領域から新たな物理記憶領域を割り当て、割り当てた物理記憶領域に対して前記ホスト装置から書き込みを要求されたデータを書き込む、
ことを特徴とする請求項2記載のストレージシステム。 - 前記複製制御部は、前記第2のボリューム内の部分領域に割り当てた物理記憶領域を、前記未使用領域から割り当てた物理記憶領域に変更したとき、当該部分領域に対応する前記複製対象領域の部分領域に対して前記新たな物理記憶領域が割り当てられていた場合には、物理記憶領域を変更した前記第2のボリューム内の部分領域に対して変更前に割り当てられていた物理記憶領域を、前記未使用領域の一部として設定することを特徴とする請求項6記載のストレージシステム。
- 前記複製制御部は、前記複製対象領域内の部分領域に格納されたデータを圧縮し、データを圧縮した部分領域に対応する前記第2のボリュームの部分領域に対して、前記未使用領域から圧縮後のデータ容量分の物理記憶領域を割り当て、割り当てた物理記憶領域に前記圧縮後のデータを格納することを特徴とする請求項3〜7のいずれか1項に記載のストレージシステム。
- 前記書き込み制御部は、前記第1のボリューム内のデータが格納された部分領域のうち、一定期間以上アクセスされていない部分領域を抽出し、抽出した部分領域のうち同一のデータが格納されている部分領域に対して、同一の物理記憶領域を割り当てることを特徴とする請求項1〜8のいずれか1項に記載のストレージシステム。
- 複数の記憶装置の記憶領域の一部によって構成されるボリュームに対するデータの読み書きを制御するストレージ制御装置において、
ホスト装置からの要求に応じて第1のボリュームにデータを書き込むとともに、前記第1のボリュームが分割された部分領域ごとに、書き込んだデータに応じたコードを生成し、生成したコードを部分領域に対応付けてコード記憶部に登録する書き込み制御部と、
前記第1のボリュームのうち複製対象領域についての、前記第1のボリュームとは異なる物理記憶領域によって構成される第2のボリュームへの複製要求を受けると、前記複製対象領域に含まれる部分領域を順に選択し、前記コード記憶部に登録されたコードのうち、選択した部分領域のコードと当該部分領域の前に選択済みの他の部分領域のコードとを参照して比較することで、前記複製対象領域の部分領域のうち同一のデータが格納されている部分領域を判定し、前記複製対象領域のうち同一のデータが格納されている部分領域に対応する前記第2のボリュームの部分領域に対しては同一の物理記憶領域を割り当て、前記複製対象領域のうち同一のデータが格納されていない部分領域に対応する前記第2のボリュームの部分領域に対しては新たな物理記憶領域を割り当てて当該物理記憶領域に前記複製対象領域内の対応する部分領域のデータをコピーする複製制御部と、
を有することを特徴とするストレージ制御装置。 - 複数の記憶装置の記憶領域の一部によって構成されるボリュームに対するデータの読み書きを制御するストレージ制御装置によるストレージ制御方法であって、
ホスト装置からの要求に応じて第1のボリュームにデータを書き込むとともに、前記第1のボリュームが分割された部分領域ごとに、書き込んだデータに応じたコードを生成し、生成したコードを部分領域に対応付けてコード記憶部に登録し、
前記第1のボリュームのうち複製対象領域についての、前記第1のボリュームとは異なる物理記憶領域によって構成される第2のボリュームへの複製要求を受けると、前記複製対象領域に含まれる部分領域を順に選択し、前記コード記憶部に登録されたコードのうち、選択した部分領域のコードと当該部分領域の前に選択済みの他の部分領域のコードとを参照して比較することで、前記複製対象領域の部分領域のうち同一のデータが格納されている部分領域を判定し、前記複製対象領域のうち同一のデータが格納されている部分領域に対応する前記第2のボリュームの部分領域に対しては同一の物理記憶領域を割り当て、前記複製対象領域のうち同一のデータが格納されていない部分領域に対応する前記第2のボリュームの部分領域に対しては新たな物理記憶領域を割り当てて当該物理記憶領域に前記複製対象領域内の対応する部分領域のデータをコピーする、
ことを特徴とするストレージ制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011190274A JP5780067B2 (ja) | 2011-09-01 | 2011-09-01 | ストレージシステム、ストレージ制御装置およびストレージ制御方法 |
US13/591,491 US20130061013A1 (en) | 2011-09-01 | 2012-08-22 | Storage system, and apparatus and method for controlling storage |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011190274A JP5780067B2 (ja) | 2011-09-01 | 2011-09-01 | ストレージシステム、ストレージ制御装置およびストレージ制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013054416A JP2013054416A (ja) | 2013-03-21 |
JP5780067B2 true JP5780067B2 (ja) | 2015-09-16 |
Family
ID=47754049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011190274A Active JP5780067B2 (ja) | 2011-09-01 | 2011-09-01 | ストレージシステム、ストレージ制御装置およびストレージ制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130061013A1 (ja) |
JP (1) | JP5780067B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4863605B2 (ja) * | 2004-04-09 | 2012-01-25 | 株式会社日立製作所 | 記憶制御システム及び方法 |
JP6390093B2 (ja) * | 2013-12-05 | 2018-09-19 | 日本電気株式会社 | 動的デバイス配分装置、動的デバイス配分システム、動的デバイス配分方法、及び、動的デバイス配分プログラム |
JP6197816B2 (ja) | 2015-03-24 | 2017-09-20 | 日本電気株式会社 | ストレージシステム、ストレージの管理方法、及び、コンピュータ・プログラム |
JP6666540B2 (ja) * | 2015-06-15 | 2020-03-18 | 富士通株式会社 | ストレージ制御装置、及びプログラム |
US10360103B2 (en) * | 2016-07-18 | 2019-07-23 | International Business Machines Corporation | Focused storage pool expansion to prevent a performance degradation |
JP6733620B2 (ja) * | 2017-07-12 | 2020-08-05 | 京セラドキュメントソリューションズ株式会社 | 画像読取装置、及び画像読取方法 |
JP6933809B2 (ja) * | 2017-12-07 | 2021-09-08 | 富士通株式会社 | ストレージ制御装置およびプログラム |
US10664172B1 (en) | 2017-12-18 | 2020-05-26 | Seagate Technology Llc | Coupling multiple controller chips to a host via a single host interface |
US10482911B1 (en) * | 2018-08-13 | 2019-11-19 | Seagate Technology Llc | Multiple-actuator drive that provides duplication using multiple volumes |
JP7404988B2 (ja) * | 2020-04-16 | 2023-12-26 | 富士通株式会社 | ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060155944A1 (en) * | 2005-01-13 | 2006-07-13 | Hitachi, Ltd. | System and method for data migration and shredding |
US20070005625A1 (en) * | 2005-07-01 | 2007-01-04 | Nec Laboratories America, Inc. | Storage architecture for embedded systems |
US20080282047A1 (en) * | 2007-05-08 | 2008-11-13 | Hitachi, Ltd. | Methods and apparatus to backup and restore data for virtualized storage area |
JP4990066B2 (ja) * | 2007-08-21 | 2012-08-01 | 株式会社日立製作所 | 論理ボリュームのペアを利用したデータ保存の方式を変更する機能を備えたストレージシステム |
US7870409B2 (en) * | 2007-09-26 | 2011-01-11 | Hitachi, Ltd. | Power efficient data storage with data de-duplication |
US7870105B2 (en) * | 2007-11-20 | 2011-01-11 | Hitachi, Ltd. | Methods and apparatus for deduplication in storage system |
JP5090941B2 (ja) * | 2008-01-29 | 2012-12-05 | 株式会社日立製作所 | ストレージサブシステム及びストレージシステム |
JP2009251725A (ja) * | 2008-04-02 | 2009-10-29 | Hitachi Ltd | 記憶制御装置及び記憶制御装置を用いた重複データ検出方法。 |
US8407436B2 (en) * | 2009-02-11 | 2013-03-26 | Hitachi, Ltd. | Methods and apparatus for migrating thin provisioning volumes between storage systems |
WO2010097960A1 (en) * | 2009-02-25 | 2010-09-02 | Hitachi, Ltd. | Storage system and data processing method for the same |
US8452930B2 (en) * | 2009-03-27 | 2013-05-28 | Hitachi, Ltd. | Methods and apparatus for backup and restore of thin provisioning volume |
JP4818395B2 (ja) * | 2009-05-20 | 2011-11-16 | 富士通株式会社 | ストレージ装置及びデータコピー方法 |
US8352835B2 (en) * | 2009-06-10 | 2013-01-08 | International Business Machines Corporation | Data verification using checksum sidefile |
US9058298B2 (en) * | 2009-07-16 | 2015-06-16 | International Business Machines Corporation | Integrated approach for deduplicating data in a distributed environment that involves a source and a target |
CN102741800B (zh) * | 2009-09-18 | 2015-11-25 | 株式会社日立制作所 | 删除复制数据的存储*** |
JP4838878B2 (ja) * | 2009-12-04 | 2011-12-14 | 富士通株式会社 | データ管理プログラム、データ管理装置、およびデータ管理方法 |
US8612682B2 (en) * | 2010-09-29 | 2013-12-17 | International Business Machines Corporation | Methods for managing ownership of redundant data and systems thereof |
-
2011
- 2011-09-01 JP JP2011190274A patent/JP5780067B2/ja active Active
-
2012
- 2012-08-22 US US13/591,491 patent/US20130061013A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20130061013A1 (en) | 2013-03-07 |
JP2013054416A (ja) | 2013-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5780067B2 (ja) | ストレージシステム、ストレージ制御装置およびストレージ制御方法 | |
US10152381B1 (en) | Using storage defragmentation function to facilitate system checkpoint | |
US9733862B1 (en) | Systems and methods for reverse point-in-time copy management in a storage system | |
US7975115B2 (en) | Method and apparatus for separating snapshot preserved and write data | |
US9501231B2 (en) | Storage system and storage control method | |
US8117409B2 (en) | Method and apparatus for backup and restore in a dynamic chunk allocation storage system | |
US7716183B2 (en) | Snapshot preserved data cloning | |
WO2017119091A1 (ja) | 分散型ストレージシステム、データ格納方法、およびソフトウェアプログラム | |
US10303395B2 (en) | Storage apparatus | |
EP3748509B1 (en) | System garbage collection method and method for collecting garbage in solid state hard disk | |
JP6511795B2 (ja) | ストレージ管理装置、ストレージ管理方法、ストレージ管理プログラムおよびストレージシステム | |
US8489937B2 (en) | Storage subsystem and method for controlling the same | |
KR101369813B1 (ko) | 광 디스크 저장 시스템에 저장된 미디어에의 액세스, 압축 및 추적 | |
JP6558059B2 (ja) | ストレージ制御装置、ストレージ制御プログラム、およびストレージシステム | |
WO2018076633A1 (zh) | 一种远程数据复制方法、存储设备及存储*** | |
JP2012014286A (ja) | ストレージシステム、同システムにおけるデータバックアップ方法及びデータバックアッププログラム | |
JP2019028954A (ja) | ストレージ制御装置、プログラム、及び重複排除方法 | |
JP2006011811A (ja) | 記憶制御システム及び記憶制御方法 | |
US11288006B2 (en) | Storage system and volume copying method where changes to address conversion table is rolled back | |
US11513702B2 (en) | Placement of metadata on data storage drives in a first storage enclosure of a data storage system | |
US20110202719A1 (en) | Logical Drive Duplication | |
US8510507B2 (en) | Data storage mirroring using virtual mirror | |
JP2021114164A (ja) | ストレージ装置及びストレージ制御方法 | |
US20180307419A1 (en) | Storage control apparatus and storage control method | |
US11556270B2 (en) | Leveraging garbage collection for raid transformation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140508 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150218 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150420 |
|
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: 20150616 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150629 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5780067 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |