JP2013073388A - ストレージ装置、ストレージ装置の制御方法及びストレージシステム - Google Patents

ストレージ装置、ストレージ装置の制御方法及びストレージシステム Download PDF

Info

Publication number
JP2013073388A
JP2013073388A JP2011211386A JP2011211386A JP2013073388A JP 2013073388 A JP2013073388 A JP 2013073388A JP 2011211386 A JP2011211386 A JP 2011211386A JP 2011211386 A JP2011211386 A JP 2011211386A JP 2013073388 A JP2013073388 A JP 2013073388A
Authority
JP
Japan
Prior art keywords
data
storage
unit
storage device
track
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
JP2011211386A
Other languages
English (en)
Other versions
JP5923913B2 (ja
Inventor
Hidenori Yamada
秀憲 山田
Masaru Kawada
大 川田
Narihiro Oumi
成浩 大海
Yoshinari Shinozaki
祥成 篠▲崎▼
Shinichi Nishizono
晋一 西園
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011211386A priority Critical patent/JP5923913B2/ja
Priority to US13/567,287 priority patent/US8793455B2/en
Publication of JP2013073388A publication Critical patent/JP2013073388A/ja
Application granted granted Critical
Publication of JP5923913B2 publication Critical patent/JP5923913B2/ja
Active 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication 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
    • 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

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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】コピー先のストレージ装置における転送データの展開処理にかかる時間を短縮すること。
【解決手段】ストレージ装置10は、記憶部110と並び替え部123と通信部125とを備える。記憶部110は、複数のデータを記憶する。並び替え部123は、該複数のデータのコピー先のストレージ装置の記憶部における、該複数のデータのそれぞれの記憶予定位置に基づいて、複数のデータの順序を並び替える。通信部125は、並び替え部123により順序が並び替えられた複数のデータを前記コピー先のストレージ装置に送信する。
【選択図】図3

Description

本発明は、ストレージ装置、ストレージ装置の制御方法及びストレージシステムに関する。
ストレージ装置は、予期せぬ災害発生時に備え、自装置が有するデータを遠隔地にあるストレージ装置に転送し、データをバックアップする機能を有する。また、ストレージ装置により転送されるデータが、コピー元のストレージ装置に書込まれた順序と同じ順序でコピー先のストレージ装置に書込まれない場合、コピー元のストレージ装置とコピー先のストレージ装置とでデータの整合性が失われる。
このため、コピー元のストレージ装置は、転送するデータの順序性を保証するようにコピー先のストレージ装置にデータを転送する。例えば、コピー元のストレージ装置は、サーバから受付けた更新データを一定容量単位に世代分けした専用メモリに格納し、この世代単位でコピー先ストレージ装置に転送する。そして、コピー先のストレージ装置は、コピー元のストレージ装置から世代単位でデータを受信し、自装置が有する記憶装置に展開する。このように、コピー元のストレージ装置は、世代単位でデータを転送することで、データの順序性を保証する。
このように、順序性を保証したデータのコピーは、Unix(登録商標)/IA(Intel(登録商標) Architecture)サーバで構築されるオープンシステムばかりでなく、メインフレームで構築されるシステム(以下、メインフレームシステムと記す)においても利用される。
特開2002−312125号公報 特開2004−280779号公報
しかしながら、上述した従来の技術では、コピー先のストレージ装置における転送データの展開処理に時間がかかるという課題がある。具体的には、コピー先のストレージ装置は、ディスクにアクセスするごとに、ディスクの位置を特定し、特定した位置までディスクヘッドを移動させる。コピー先のストレージ装置は、専用のメモリにデータが格納された順序でディスクに書き込みを行うので、ディスクに対してランダムにアクセスを行うことになる。このため、ディスクヘッドは、データを書き込む毎にランダムに移動する。この結果、コピー先のストレージ装置では、ディスクに対してアクセスを行う場合、ディスクヘッドの移動に時間がかかり、データの展開処理に時間がかかることになる。
1つの側面では、コピー先のストレージ装置における転送データの展開処理にかかる時間を短縮することができるストレージ装置、ストレージ装置の制御方法及びストレージシステムを提供することを目的とする。
第1の案では、ストレージ装置は、複数のデータを記憶する。また、ストレージ装置は、該複数のデータのコピー先のストレージ装置の記憶部における、該複数のデータのそれぞれの記憶予定位置に基づいて、複数のデータの順序を並び替える。そして、ストレージ装置は、順序が並び替えられた複数のデータをコピー先のストレージ装置に送信する。
コピー先のストレージ装置における転送データの展開処理にかかる時間を短縮することができる。
図1は、実施例1に係るストレージシステムの構成を示すブロック図である。 図2Aは、ホストコンピュータからの書込みデータを転送用バッファに格納した一例を示す図である。 図2Bは、図2Aに示す順序でデータがディスクに書込まれた場合のディスクヘッドの軌跡を示す図である。 図2Cは、ストレージ装置により並び替えられたデータの順序の一例を示す図である。 図2Dは、図2Cに示す順序でデータがディスクに書込まれた場合のディスクヘッドの軌跡を示す図である。 図3は、実施例1に係るCMの構成を示す機能ブロック図である。 図4は、論理ボリューム用キャッシュが記憶する1トラックあたりのデータの構造を模式的に示す図である。 図5Aは、転送用バッファが記憶するデータの構造を模式的に示す図である。 図5Bは、転送用バッファが記憶する1世代あたりのデータの構造を模式的に示す図である。 図6は、バッファ管理テーブルに記憶される情報の一例を示す図である。 図7は、並び替え部によるバッファ管理テーブルで管理されるトラックを並び替える処理の一例を示す図である。 図8は、データ格納部によるデータを格納する処理の一例を示す図である。 図9は、展開部によるデータを展開する処理の一例を示す図である。 図10は、実施例1に係るコピー元のストレージ装置による格納処理の処理手順を示すフローチャートである。 図11は、実施例1に係るコピー先のストレージ装置による展開処理の処理手順を示すフローチャートである。 図12は、実施例2に係るCMの構成を示すブロック図である。 図13は、実施例2に係るトラック単位の制御データの一例を示す図である。 図14は、圧縮部により生成されるバッファ管理テーブルの一例を示す図である。 図15は、データ格納部によるデータを格納する処理の一例を示す図である。 図16は、展開部によるデータを展開する処理の一例を示す図である。 図17は、実施例2に係るコピー元のストレージ装置による格納処理の処理手順を示すフローチャートである。 図18は、実施例2に係るコピー先のストレージ装置による展開処理の処理手順を示すフローチャートである。 図19は、オープンシステムにおける並び替え処理の一例を示す図である。
以下に、本願の開示するストレージ装置、ストレージ装置の制御方法及びストレージシステムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
実施例1では、図1から図11を用いて、ストレージシステムの構成、ストレージ装置の構成、CMの構成、処理手順、効果などについて説明する。
[実施例1に係るストレージシステムの構成]
実施例1に係るストレージシステム1の一例として、メインフレームが接続されたシステムを例にして説明する。図1は、実施例1に係るストレージシステムの構成を示すブロック図である。図1に示すように、ストレージシステム1は、ホストコンピュータ3と、ホストコンピュータ4と、ストレージ装置10と、ストレージ装置20とを有する。また、以下の説明では、ストレージ装置10をコピー元として、ストレージ装置20をコピー先として説明する。なお、ストレージシステム1が有するホストコンピュータの数及びストレージ装置の数はこれに限定されるものではなく、変更可能である。
ホストコンピュータ3は、ストレージ装置10とLAN(Local Area Network)などのネットワークによって接続される。また、ホストコンピュータ4は、ストレージ装置20とLANなどのネットワークによって接続される。そして、ストレージ装置20は、ストレージ装置10に対して遠隔地にあり、例えばSAN(Storage Area Network)によって互いに通信可能に接続される。
ホストコンピュータ3は、例えば、メインフレームであり、ストレージ装置10に対してデータの読み書きを実行する。また、ホストコンピュータ3は、ストレージ装置10に書込んだデータをストレージ装置20にコピーするように依頼する。ここで、ホストコンピュータ3は、コピー元ボリューム、コピー元LBA(Logical Block Address)、コピー先ボリューム及びコピー先LBAを指定する。ここで、1つのLBAは、512byteである。なお、ホストコンピュータ3は、ストレージ装置10にデータを書き込むと同時に、書込んだデータをストレージ装置20にコピーするようにストレージ装置10に依頼してもよい。
ホストコンピュータ4は、ストレージ装置20に対してデータの読み書きを実行する。なお、ホストコンピュータ3及び4が各ストレージ装置に対して読み書きするデータは、トラックと呼ばれる定型のフォーマットにて扱われる。また、この定型のフォーマットについては、後述する。
ストレージ装置10は、CA(Channel Adapter)11a、11b、12a、12b、ディスク13a、13b、14a、14b、CM(Control Module)15、16を有する。CA11a、11b、12a、12bは、ホストコンピュータ3とのインターフェースである。ディスク13a、13b、14a、14bは、RAID(Redundant Arrays of Inexpensive Disks)を構築し、ホストコンピュータ3から受信した書込みデータを記憶する。
CM15は、ホストコンピュータ3とディスク13a、13bとの間のデータの入出力を制御し、CM16は、ホストコンピュータ3とディスク14a、14bとの間のデータの入出力を制御する。なお、CM15及び16は、ホストコンピュータ3からの要求に応じてディスク13aまたは13bで読み書きされるデータを一時的に記憶する図示しない論理ボリューム用キャッシュを有する。また、CM15及び16は、ホストコンピュータ3からストレージ装置20へのデータの転送を依頼された場合に用いる図示しない転送用バッファを有する。また、CM15及び16の詳細な構成については後述する。
ストレージ装置20は、CA21a、21b、22a、22b、ディスク23a、23b、24a、24b、CM25、26を有する。CA21a、21b、22a、22bは、ホストコンピュータ4とのインターフェースである。ディスクディスク23a、23b、24a、24bは、RAIDを構築し、ホストコンピュータ4から受信した書込みデータやストレージ装置10から転送されたデータを記憶する。
CM25は、ホストコンピュータ4とディスク23a、23bとの間のデータの入出力やストレージ装置10から転送されたデータの入出力を制御する。CM26は、ホストコンピュータ4とディスク24a、24bとの間のデータの入出力やストレージ装置10から転送されたデータの入出力を制御する。なお、CM25及び26は、ホストコンピュータ4からの要求に応じてディスク13aまたは13bで読み書きされるデータを一時的に記憶する図示しない論理ボリューム用キャッシュを有する。また、CM25及び26は、ストレージ装置10からデータを受信した場合に用いる図示しない転送用バッファを有する。また、CM25及び26の詳細な構成については後述する。
このように構成されるストレージシステム1において、ストレージ装置10は、自装置が有するいずれかのディスクに書込んだデータのバックアップ要求をホストコンピュータ3から受付けた場合、以下の処理を実行する。すなわち、ストレージ装置10は、自装置とネットワークを介して接続されるストレージ装置20にディスクに書込んだデータを転送する。
また、ストレージ装置10は、ディスクに書込んだデータを更新する更新データをホストコンピュータ3から受信した場合には、以下の処理を実行することで、データの順序性を保証してデータをバックアップする。なお、ここでいう順序性とは、ストレージ装置10に書込まれた順序と同じ順序でコピー先のストレージ装置20にデータを書込むことを示す。
例えば、ストレージ装置10は、ホストコンピュータ3から更新データを受信した場合、データを論理ボリューム用キャッシュに格納する。そして、ストレージ装置10は、論理ボリューム用キャッシュから、一定容量に世代分けした転送用バッファに更新データを格納し、世代単位でストレージ装置20に転送する。
ストレージ装置20は、ストレージ装置10から受信したデータを転送用バッファに格納する。そして、ストレージ装置20は、受信したデータを世代単位で転送用バッファから論理ボリューム用キャッシュに展開し、自装置が有するディスク23a、23b、24a及び24bのいずれかに受信したデータを格納する。
また、ストレージシステム1において、コピー元のストレージ装置10は、以下の処理を実行することでストレージ装置20における各ディスクへの展開処理を高速化させる。まず、ストレージ装置10は、ホストコンピュータ3から受信したデータを論理ボリューム用キャッシュから転送用バッファに格納する。
図2Aは、ホストコンピュータから受信した書込みデータを転送用バッファに格納した一例を示す図である。図2Aに示すように、ストレージ装置10は、トラックF301、トラックD302、トラックH303、トラックB304、トラックG305、トラックA306、トラックE307、トラックC308の順でデータを転送用バッファに格納する。
ストレージ装置10が、図2Aに示す順で転送用バッファに格納されたデータをストレージ装置20に送信した場合について説明する。図2Bは、図2Aに示す順序でデータがディスクに書込まれた場合のディスクヘッドの軌跡を示す図である。図2Bに示すように、図2Aに示す順序でデータがディスクに書込まれた場合、ディスクヘッドは、ランダムな軌跡を辿ることになる。この結果、ストレージ装置20では、ディスクへのデータの展開処理に時間がかかる。
そこで、ストレージ装置10は、転送用バッファ内のデータをトラック単位で並び替えを行う。図2Cは、ストレージ装置により並び替えられたデータの順序の一例を示す図である。図2Cに示すように、ストレージ装置10は、トラックA306、トラックB304、トラックC308、トラックD302、トラックE307、トラックF301、トラックG305、トラックH303の順にデータを並び替える。そして、ストレージ装置10は、図2Cに示すように並び替えたデータをストレージ装置20に送信する。
ストレージ装置20は、受信したデータを転送用バッファに格納する。ここで、ストレージ装置20が受信するデータの順序は、トラックA306、トラックB304、トラックC308、トラックD302、トラックE307、トラックF301、トラックG305、トラックH303の順である。そして、ストレージ装置20は、受信したデータを転送用バッファから論理ボリューム用キャッシュに展開してから、ディスクに格納する。図2Dは、図2Cに示す順序でデータがディスクに書込まれた場合のディスクヘッドの軌跡を示す図である。この際、ストレージ装置20が、図2Dに示すような順序で指定されたディスクにデータを書込むことにより、ディスクヘッドは、ディスクに対してシーケンシャルにアクセスできる。なお、コピー先ボリュームへのデータ反映の順序性をこの世代単位で保証しており、同一世代内のトラックの並び替えを行っても順序性の保証に影響はない。
このように、ストレージ装置10は、データの並び順を各ディスクの物理的な記憶位置が連続する順に並び替えて転送する。そして、ストレージ装置20は、展開処理において、ディスクに対してシーケンシャルにアクセスする。この結果、ストレージ装置20は、ディスクへのデータの展開処理を短縮することができる。
[実施例1に係るCMの構成]
次に、図3を用いて、実施例1に係るCM15、16、25、26の構成を説明する。CM15、16、25、26の構成は同一であるので、ここでは、CM15、16、25、26を代表して、CM15の構成を説明する。図3は、実施例1に係るCMの構成を示す機能ブロック図である。なお、図3には、CM15が有する、コピーするデータを転送する機能に関連する構成のみを図示している。また、ここでは、CM15がコピー元のストレージ装置及びコピー先のストレージ装置の機能を併せ持つ場合を例に示す。
図3に示すように、CM15は、DA(Device Adapter)101a及び101bと記憶部110と制御部120を有する。DA101aは、ディスク13aとのインターフェースであり、DA101bは、ディスク13bとのインターフェースである。
記憶部110は、DIMM(Dual Inline Memory Module)やDRAM(Dynamic Random Access Memory)やフラッシュメモリなどであり、論理ボリューム用キャッシュ111と、転送用バッファ112と、バッファ管理テーブル113とを有する。
論理ボリューム用キャッシュ111は、ホストコンピュータ3からの要求に応じてディスク13aまたは13bで読み書きされるデータを一時的に記憶するキャッシュメモリとして機能する。
図4を用いて、論理ボリューム用キャッシュ111が記憶するデータの構造について説明する。図4は、論理ボリューム用キャッシュが記憶する1トラックあたりのデータの構造を模式的に示す図である。
図4に示すように、各トラックには、レコードと呼ばれる単位でデータが記憶される。図4では、トラック410、トラック420、トラック430の3トラック分のデータ構造を示している。トラック410は、レコード411、レコード412を有し、トラック420は、レコード421を有し、トラック430は、レコード431、レコード432、レコード433を有する。
また、各トラックには制御データ413、422、434がそれぞれ付加される。この制御データには、トラック内のレコード数やレコードのデータ長といったトラックの内部情報が含まれる。
ここで、トラック単位に付加される制御データについて説明する。トラック単位の制御データには「シリンダ番号」、「ヘッド番号」、「補助フラグ」、「総レコード数」、「先頭レコード番号」、「データ長」を示す情報が含まれる。
「シリンダ番号」は、トラックのシリンダ番号を示す。また、「ヘッド番号」は、トラックのヘッド番号を示す。「補助フラグ」は、トラックの状態を示し、例えば、トラックにおいて、レコード長が固定長であるか可変長であるかを示す。「総レコード数」は、トラックの総レコード数を示す。「先頭レコード番号」は、トラックの先頭レコード番号を示す。「データ長」は、レコードあたりのブロック数を示す。
なお、トラック単位の制御データは、トラック内の最後のLBAに記憶される。このように、ストレージ装置10は、制御データを参照することで、トラックへのリード及びライトを高速に処理する。
図3に戻り、転送用バッファ112は、8MBを一つの世代として、転送データを世代単位で記憶する。なお、転送用バッファ112が有する世代の数は、任意に設定可能である。なお、転送用バッファ112には、ひとつの世代に同一のトラックが重複して格納されないよう制御される。
図5Aは、転送用バッファが記憶するデータの構造を模式的に示す図である。なお、ここでは、転送用バッファ112のサイズの設定値が128MBであり、二重化により128MBのうち半分の64MBが使用可能である場合を例に説明する。
図5Aに示すように、転送用バッファ112において使用可能な64MBは、8MBずつ8分割される。そして、この分割された8MBそれぞれが「世代」を形成する。図5Aに示す例では、転送用バッファ112は、世代0から世代7に8分割される。
図5Bは、転送用バッファが記憶する1世代あたりのデータの構造を模式的に示す図である。図5Bに示すように、この各世代は、8KBごとに分割され、48KBごとにトラックを形成する。各世代には、48KBからなるトラックが166個含まれる。
バッファ管理テーブル113は、転送するデータがディスク上のどの位置に記憶されており、またコピー先のストレージ装置が有するディスク上のどの位置に記憶されるかを示す情報を記憶する。バッファ管理テーブル113は、16LBAごと、すなわち8KBごとに、バッファ管理テーブル生成部122により作成される。
図6を用いてバッファ管理テーブル113に記憶される情報の一例を説明する。図6は、バッファ管理テーブルに記憶される情報の一例を示す図である。なお、ここでは、1トラックあたりの情報を示す。すなわち、バッファ管理テーブル113は、8KBごとに生成されることから、1トラックあたりに6つの情報を有する。
図6に示すように、バッファ管理テーブル113は、「コピー元ボリューム」、「コピー元LBA」、「コピー先ボリューム」、「コピー先LBA」、「LBAカウント」を対応付けて記憶する。
「コピー元ボリューム」は、データのコピー元である論理ボリュームを識別する情報を示す。また、「コピー元LBA」は、コピー元のデータが記憶される位置を示す。
「コピー先ボリューム」は、データのコピー先である論理ボリュームを識別する情報を示す。また、「コピー先LBA」は、コピー先のデータが記憶される位置を示す。
「LBAカウント」は、LBAの8KBごとに含まれるLBAの数を示す。なお、実施例1に係る「LBAカウント」には、16が格納される。
図3に戻り、制御部120は、例えば、CPU(Central Processing Unit)であり、データ処理部121とバッファ管理テーブル生成部122と並び替え部123と格納部124と通信部125と展開部126とを有する。
データ処理部121は、ホストコンピュータ3からデータの書込みを受付ける。データ処理部121は、ホストコンピュータ3から受付けたデータを論理ボリューム用キャッシュ111に書込む。そして、データ処理部121は、書き込みが完了したことをホストコンピュータ3に応答する。また、データ処理部121は、論理ボリューム用キャッシュ111が記憶するデータを読み出して、ディスク13aまたは13bに格納する。
また、データ処理部121は、ある世代に書込むデータの容量が所定容量を超えたか否かを判定する。ここで、データ処理部121は、ある世代に書込むデータの容量が所定容量を超えていないと判定した場合、引き続き、ホストコンピュータ3からデータの書込みを受付ける。
一方、データ処理部121は、ある世代に書込むデータの容量が所定容量を超えたと判定した場合、並び替え部123にバッファ管理テーブル113の並び替えを依頼する。
バッファ管理テーブル生成部122は、ホストコンピュータ3から受信した書込みデータを自装置のディスクに記憶させるボリュームと位置とをホストコンピュータ3から受付けたコピー依頼から抽出する。
そして、バッファ管理テーブル生成部122は、抽出した値をコピー元ボリュームとコピー元LBAとに対応付けてバッファ管理テーブル113に格納する。また、バッファ管理テーブル生成部122は、書込みデータをコピー先のストレージ装置のディスクに記憶させるボリュームと位置とをホストコンピュータ3から受付けたコピー依頼から抽出する。そして、バッファ管理テーブル生成部122は、抽出した値をコピー先ボリュームとコピー先LBAとに対応付けてバッファ管理テーブル113に格納する。
並び替え部123は、データ処理部121によりある世代に書込むデータの容量が所定容量を超えたと判定された場合、バッファ管理テーブル113で管理されるトラックを並び替える。図7を用いて並び替え部123によるバッファ管理テーブル113で管理されるトラックを並び替える処理を説明する。図7は、並び替え部によるバッファ管理テーブルで管理されるトラックを並び替える処理の一例を示す図である。
図7では、並び替え部123が、バッファ管理テーブル113で管理されるトラック410、トラック420、トラック430の3トラックを並び替える場合を例に説明する。また、ここでは、トラック410のコピー先LBAが1128から1208であり、トラック420のコピー先LBAが980から1060であり、トラック430のコピー先LBAが1400から1480であるものと仮定する。
並び替え部123は、例えば、コピー先におけるLBAの順序を昇順になるようにバッファ管理テーブル113で管理されるトラックを並び替える。図7に示す例では、並び替え部123は、バッファ管理テーブル113におけるトラック410、トラック420、トラック430の並び順をトラック430、トラック410、トラック420の順に並び替える。そして、並び替え部123は、バッファ管理テーブル113を並び替えたことを格納部124に通知する。
格納部124は、格納元のアドレス及び格納先のアドレスを確定する。ここで、格納元のアドレスとは、論理ボリューム用キャッシュ111においてデータが記憶されているアドレスを示す。また、格納先アドレスとは、転送用バッファ112においてデータが記憶されるアドレスを示す。
また、格納部124は、並び替え部123によりバッファ管理テーブル113を並び替えたことを通知された場合、以下の処理を実行する。すなわち、格納部124は、並び替え部123により並び替えられたバッファ管理テーブル113に基づいて、論理ボリューム用キャッシュ111から転送用バッファ112にデータを格納する。図8を用いて、格納部124によるデータを格納する処理を説明する。図8は、データ格納部によるデータを格納する処理の一例を示す図である。
図8では、格納部124が、論理ボリューム用キャッシュ111に記憶されるトラック410、トラック420、トラック430の3トラックを転送用バッファ112に格納する場合を例に説明する。また、ここでは、格納部124は、図7に示した、並び替え部123により並び替えられたバッファ管理テーブル113を用いるものとして説明する。
図8に示すように、格納部124は、論理ボリューム用キャッシュ111からトラック430を読み出し、転送用バッファ112に格納する。ここで、格納部124は、確定した格納先のアドレスにトラック430を格納する。続いて、格納部124は、論理ボリューム用キャッシュ111からトラック410を読み出し、転送用バッファ112のトラック430の後にトラック410を格納する。そして、格納部124は、論理ボリューム用キャッシュ111からトラック420を読み出し、転送用バッファ112のトラック410の後にトラック420を格納する。
また、格納部124は、転送用バッファ112に1世代分のデータの格納を完了した場合、転送用バッファ112に格納されたデータをコピー先のストレージ装置20に送信するように通信部125に通知する。
また、格納部124は、転送するデータが論理ボリューム用キャッシュ111に存在しない場合、ディスクから転送するデータを読み出し、論理ボリューム用キャッシュ111に格納してから、転送用バッファ112に格納する。
通信部125は、格納部124から転送用バッファ112に1世代分のデータの格納を完了したことを通知された場合、以下の処理を実行する。すなわち、通信部125は、転送用バッファ112に記憶されるデータを読み出して、コピー先のストレージ装置に読み出したデータを送信する。また、通信部125は、並び替え部123により並び替えられたバッファ管理テーブル113をコピー先のストレージ装置に送信する。
また、通信部125は、コピー元から転送データを受信した場合、受信したデータを転送用バッファ112に格納する。そして、通信部125は、受信したデータを転送用バッファ112に格納したことを展開部126に通知する。
展開部126は、通信部125から受信したデータを転送用バッファ112に格納したことを通知された場合、ある世代に含まれるデータのすべてを受信したか否かを判定する。ここで、展開部126は、ある世代に含まれるデータのすべてを受信していないと判定した場合、ある世代に含まれるデータのすべてを受信するまで転送用バッファ112を監視する。
一方、展開部126は、ある世代に含まれるデータのすべてを受信したと判定した場合、展開処理を実行する。例えば、展開部126は、バッファ管理テーブル113を参照し、展開元のアドレス及び展開先のアドレスを確定する。ここで、展開元のアドレスは、転送用バッファ112においてデータが記憶されているアドレスを示し、展開先のアドレスは、論理ボリューム用キャッシュ111においてデータが記憶されるアドレスを示す。そして、展開部126は、転送用バッファ112が記憶するデータを論理ボリューム用キャッシュ111に格納する。
図9は、展開部によるデータを展開する処理の一例を示す図である。図9では、展開部126が、転送用バッファ112に格納されたトラック410、トラック420、トラック430の3トラックを論理ボリューム用キャッシュ111に展開する場合を例に説明する。
図9に示すように、展開部126は、転送用バッファ112に格納されたトラック430を論理ボリューム用キャッシュ111に展開する。続いて、展開部126は、転送用バッファ112に格納されたトラック410を論理ボリューム用キャッシュ111に展開する。そして、展開部126は、転送用バッファ112に格納されたトラック420を論理ボリューム用キャッシュ111に展開する。
[実施例1に係るストレージ装置による処理の処理手順]
次に、図10及び図11を用いて実施例1に係るストレージ装置による処理の処理手順について説明する。図10を用いて、コピー元のストレージ装置における格納処理の処理手順を説明し、図11を用いて、コピー先のストレージ装置における展開処理の処理手順を説明する。
(コピー元のストレージ装置における格納処理)
図10は、実施例1に係るコピー元のストレージ装置による格納処理の処理手順を示すフローチャートである。図10に示すように、データ処理部121は、ホストコンピュータ3からデータの書込みを受付ける(ステップS101)。格納部124は、トラック単位の制御データを参照し(ステップS102)、格納元のアドレス及び格納先アドレスを確定する(ステップS103)。
バッファ管理テーブル生成部122は、ホストコンピュータ3から指定されたコピー元ボリュームとコピー元LBA及びコピー先ボリュームとコピー先LBAに基づいてバッファ管理テーブル113を生成する(ステップS104)。そして、データ処理部121は、ホストコンピュータ3から受付けたデータを論理ボリューム用キャッシュ111に書込み、書き込みが完了したことをホストコンピュータ3に応答する(ステップS105)。
そして、データ処理部121は、ある世代に書込むデータの容量が所定容量を超えたか否かを判定する(ステップS106)。ここで、データ処理部121は、ある世代に書込むデータの容量が所定容量を超えていないと判定した場合(ステップS106、No)、ステップS101に移行して、ホストコンピュータ3からデータの書込みを受付ける。
並び替え部123は、データ処理部121によりある世代に書込まれたデータの容量が所定容量を超えたと判定された場合(ステップS106、Yes)、バッファ管理テーブル113においてトラックを並び替える(ステップS107)。そして、格納部124は、バッファ管理テーブル113に基づいて、データを論理ボリューム用キャッシュ111から転送用バッファ112に格納する(ステップS108)。この処理の終了後、通信部125は、データをストレージ装置20に送信する。
(コピー先のストレージ装置における展開処理)
図11は、実施例1に係るコピー先のストレージ装置による展開処理の処理手順を示すフローチャートである。図11に示すように、通信部125は、コピー元からデータを受信し(ステップS201)、受信したデータを転送用バッファ112に格納する。そして、展開部126は、ある世代に含まれるデータのすべてを受信したか否かを判定する(ステップS202)。
ここで、展開部126は、ある世代に含まれるデータのすべてを受信したと判定した場合(ステップS202、Yes)、展開処理を実行すると判定する(ステップS203)。一方、通信部125は、展開部126によりある世代に含まれるデータのすべてを受信していないと判定された場合(ステップS202、No)、引き続きコピー元からデータを受信する(ステップS201)。
展開部126は、トラック単位の制御データを参照し(ステップS204)、展開元のアドレス及び展開先のアドレスを確定する(ステップS205)。そして、展開部126は、転送用バッファ112に記憶されるデータを論理ボリューム用キャッシュ111に格納し(ステップS206)、処理を終了する。なお、この処理が終了後、データ処理部121は、論理ボリューム用キャッシュ111が記憶するデータをディスクに格納する。
[実施例1の効果]
上述してきたように、本実施例1では、コピー先装置における転送データの展開処理を短縮することができる。
また、通常、トラックを並び替える場合、トラックの並び替えを行う作業用のメモリ領域が必要になる。また、並び替えを行うための余分なメモリーコピーが発生する。一方、ストレージ装置10は、トラックを並び替える場合、データ量の小さいバッファ管理テーブル113を生成し、このバッファ管理テーブル113を並び替える。これにより、トラックを並び替える場合、トラックの並び替えを行う作業用のメモリ領域を必要とせず、メモリーコピーも一度で済む。この結果、ストレージ装置10は、資源を有効に活用でき、性能を向上させることが出来る。
また、並び替え部123は、コピー先におけるトラックの順序をLBAに基づいて昇順になるようにバッファ管理テーブル113を並び替えるものとして説明したが、これに限定されるものではない。例えば、並び替え部123は、コピー先におけるトラックの順序をLBAに基づいて降順になるようにバッファ管理テーブル113を並び替えてもよい。
実施例1では、トラックを並び替えることでコピー先のストレージ装置における展開処理を短縮する場合について説明した。ところで、順序性を保証して、リモートコピーを行う場合、コピー元のストレージ装置20が転送するトラックに含まれるレコードの数は各トラックにより異なる。例えば、あるトラックには多くのレコードが保存され、あるトラックには少しのレコードが保存される。
また、転送用バッファ113における格納および展開処理はトラック単位で行われるため、レコードを保存していない空き(未使用)領域まで格納処理や展開処理を行うことになる。また、レコードを保存していない空き領域をコピー先に転送することで通信負荷が高くなる。
このようなことから、コピー元のストレージ装置10は、レコードを保存している領域のみをコピー先のストレージ装置に転送するようにしてもよいものである。そこで、実施例2では、ストレージシステムにおいて、転送するトラックからレコードを保存していない領域を除いて、レコードを保存している領域のみをコピー先のストレージ装置に転送する場合を説明する。
実施例2に係るストレージシステムの構成は、実施例1に係るストレージシステムの構成と同様である。また、実施例2に係るストレージ装置の構成は、実施例1に係るストレージ装置の構成と同様である。
[実施例2に係るCMの構成]
次に、図12を用いて、実施例2に係るCMの構成を説明する。なお、実施例1に係るCMと同様の構成部については、同一の符号を付し、詳細な説明は省略する。
図12は、実施例2に係るCMの構成を示すブロック図である。図12に示すように、実施例2に係るCM15は、DA101a及び101bと記憶部210と制御部220を有する。記憶部210は、DIMMやDRAMなどであり、論理ボリューム用キャッシュ211と、転送用バッファ112と、バッファ管理テーブル113とを有する。
論理ボリューム用キャッシュ211は、実施例1に係る論理ボリューム用キャッシュ111と同様に、ホストコンピュータ3とディスク13aまたは13bとに対してキャッシュメモリとして機能する。実施例2に係る論理ボリューム用キャッシュ211が記憶するデータの構造は、実施例1に係る論理ボリューム用キャッシュ111が記憶するデータの構造と同様であるが、実施例1におけるトラック単位の制御データに加えて以下の情報を追加して有する点で異なる。
実施例2に係るトラック単位の制御データは、実施例1に係るトラック単位の制御データに加えて、「先頭レコードオフセット」、「レコード間オフセット」、「REC制御フラグ」を更に保持する。
「先頭レコードオフセット」は、先頭のレコードが記憶される位置、すなわち、先頭のレコードの開始位置までのオフセットを示す。言い換えると、「先頭レコードオフセット」は、先頭のレコードの開始位置までのデータを保存していない領域を示す。「レコード間オフセット」は、レコード間の間隔を示す。言い換えると、「レコード間オフセット」は、レコード間のデータを保存していない空き領域を示す。
「REC制御フラグ」は、データが圧縮可能であるか否かを示す。例えば、「REC制御フラグ」には、データが圧縮可能である場合、「圧縮実施」が格納される。ここで、データが圧縮可能である場合とは、レコード長が固定長である場合を指す。
図13は、実施例2に係るトラック単位の制御データの一例を示す図である。図13では、トラック410、トラック420、トラック430の3トラックを例に制御データを説明する。図13に示すように、トラック410は、レコードを2つ有するので、トラック410の制御データの「総レコード数」には2が格納される。ここで、「データ長」が18であり、各レコード長が18LBAであることを示す。
また、図13中の410aは、「先頭レコードオフセット」を示し、図13中の410bは、「レコード間オフセット」を示す。トラック410において、「先頭レコードオフセット」が8LBAであり、「レコード間オフセット」が16LBAである。また、「REC制御フラグ」が圧縮実施であるので、このトラック410は圧縮可能である。
図13に示すように、トラック420は、レコードを1つ有するので、トラック420の制御データの「総レコード数」には1が格納される。ここで、「データ長」が64であり、各レコード長が64LBAであることを示す。
また、図13中の420aは、「先頭レコードオフセット」を示す。トラック420において、「先頭レコードオフセット」が16LBAであり、「レコード間オフセット」が0LBAである。また、「REC制御フラグ」が圧縮実施であるので、このトラック420は圧縮可能である。
図13に示すように、トラック430は、レコードを3つ有するので、トラック430の制御データの「総レコード数」には3が格納される。ここで、「データ長」が16であり、各レコード長が16LBAであることを示す。
また、図13中の430aは、「先頭レコードオフセット」を示し、図13中の430bは、「レコード間オフセット」を示す。トラック430において、「先頭レコードオフセット」が12LBAであり、「レコード間オフセット」が8LBAである。また、「REC制御フラグ」が圧縮実施であるので、このトラック430は圧縮可能である。
このように、制御データにはトラック内のレコード数やレコードのデータ長といったトラックの内部情報が含まれるので、ストレージ装置10及び20は、トラック内の必要な部分だけを識別できる。
転送用バッファ112は、実施例1に係る転送用バッファ112と同様である。バッファ管理テーブル113は、実施例1に係るバッファ管理テーブル113と同様である。
図12に戻り、制御部220は、例えば、CPU(Central Processing Unit)であり、データ処理部121とバッファ管理テーブル生成部221と圧縮部222と並び替え部223と格納部224と通信部225と展開部226とを有する。なお、図12には、制御部220が有するコピーするデータを転送する機能に関連する構成のみを図示している。
データ処理部121は、実施例1に係るデータ処理部121と同様の機能を有し、バッファ管理テーブル生成部221は、実施例1に係るバッファ管理テーブル生成部122と同様の機能を有する。
圧縮部222は、制御データの「REC制御フラグ」から、ホストコンピュータ3から受信した書込みデータが圧縮可能なトラックであるか否かを判定する。圧縮部222は、制御データの「REC制御フラグ」に「圧縮実施」が格納されている場合、受信した書込みデータが圧縮可能であると判定する。そして、圧縮部222は、バッファ管理テーブル生成部221により生成されたバッファ管理テーブル113を圧縮する。
例えば、圧縮部222は、バッファ管理テーブル生成部221によりバッファ管理テーブル113が生成された場合、生成されたバッファ管理テーブル113をトラック単位で圧縮する。そして、圧縮部222は、圧縮したバッファ管理テーブル113を並び替え部223に出力する。なお、圧縮部222は、受信した書込みデータが圧縮可能ではないと判定した場合、バッファ管理テーブル生成部221により生成されたバッファ管理テーブル113を並び替え部223に出力する。
図14は、圧縮部により生成されるバッファ管理テーブルの一例を示す図である。圧縮部222は、図6に示したバッファ管理テーブル113から先頭8KBの情報113aを抽出する。また、圧縮部222は、次の8KB以降の情報については、コピー元LBA及びコピー先LBAの値を「NULL」に設定する。ここで、「NULL」は、バッファ管理テーブル113が圧縮されたことを示す。
また、圧縮部222は、「LBAカウントの総和」を算出して、「LBAカウント」に値を格納する。ここで、「LBAカウントの総和」は、「総レコード数」×「データ長」+「制御データ長」によって算出される。なお、データ長と、制御データ長との単位は、LBAである。また、いずれの制御データも1LBAである。ここでは、図14に示す1トラックにおける「総レコード数」が2、「データ長」が18である場合を例に「LBAカウントの総和」の算出を説明する。この場合、圧縮部222は、「LBAカウントの総和」を2×18+1から37であると算出する。
図14に示すように、バッファ管理テーブル113は、8KBごとに16LBAがカウントされる。圧縮部222は、1番目及び2番目の「LBAカウント」には、16を格納する。ここで、圧縮部222は、「LBAカウントの総和」が37であるので、3番目の「LBAカウント」には、「LBAカウントの総和」である37から既にカウントしたLBAの総和である32を減算した「5」を格納する。このように、圧縮部222は、バッファ管理テーブル113が有する96LBA分の情報を37LBA分に圧縮する。
並び替え部223は、実施例1に係る並び替え部123が有する機能に加えて以下の機能を有する。例えば、並び替え部223は、圧縮部222により生成されたバッファ管理テーブル113をトラック単位でコピー先のLBAの順が昇順になるように並び替える。
格納部224は、実施例1に係る格納部124が有する機能に加えて以下の機能を有する。例えば、格納部224は、ホストコンピュータ3から受信した書込みデータが圧縮可能なトラックであると圧縮部222により判定された場合、格納元のアドレス及び格納先のアドレスを確定する。ここで、格納元のアドレスとは、論理ボリューム用キャッシュ211においてデータが記憶されているアドレスを示す。また、格納先アドレスとは、転送用バッファ112においてデータが記憶されるアドレスを示す。
また、格納部224は、並び替え部223により並び替えられたバッファ管理テーブル113と制御データとに基づいて、論理ボリューム用キャッシュ211から読み出したデータのうち、レコードが保存されている部分のみを転送用バッファ112に格納する。
図15を用いて、格納部224によるデータを格納する処理を説明する。図15は、データ格納部によるデータを格納する処理の一例を示す図である。
図15では、論理ボリューム用キャッシュ211が有するトラック410、トラック420、トラック430の3トラックを転送用バッファ112に格納する場合を例に説明する。また、ここでは、格納部224は、並び替え部223により並び替えられたバッファ管理テーブル113を用いるものとして説明する。
図15に示すように、格納部224は、論理ボリューム用キャッシュ211からトラック430を読み出し、制御データからレコードを保存していない領域を判定し、トラック430のレコードを保存している領域のみを転送用バッファ112に格納する。すなわち、格納部224は、トラック430のレコード431、432及び433と制御データ434とを転送用バッファ112に格納する。ここで、格納部224は、確定した格納先のアドレスにトラック430を格納する。
続いて、格納部224は、論理ボリューム用キャッシュ211からトラック410を読み出し、転送用バッファ112のトラック430の制御データの後にトラック410のレコードを格納する。すなわち、格納部224は、トラック410のレコード411及び412と制御データ413とを転送用バッファ112に格納する。
そして、格納部224は、論理ボリューム用キャッシュ211からトラック420を読み出し、転送用バッファ112のトラック410の制御データの後にトラック420のレコードを格納する。すなわち、格納部224は、トラック420のレコード421と制御データ422とを転送用バッファ112に格納する。
また、格納部224は、転送用バッファ112に1世代分のデータの格納を完了した場合、転送用バッファ112に格納されたデータをコピー先のストレージ装置20に送信するように通信部125に通知する。
通信部225は、転送用バッファ112に1世代分のデータの格納を完了したことを格納部224から通知された場合、転送用バッファ112に記憶されるデータを読み出して、コピー先のストレージ装置に読み出したデータを送信する。また、通信部225は、並び替え部223により並び替えられたバッファ管理テーブル113をコピー先のストレージ装置に送信する。
展開部226は、並び替え部223により並び替えられたバッファ管理テーブル113と、制御データとを参照して、レコードが保存されている部分及びレコードが保存されていない部分を転送用バッファ112から論理ボリューム用キャッシュ211に展開する。図16は、展開部によるデータを展開する処理の一例を示す図である。
図16では、転送用バッファ112に、レコード431、レコード432、レコード433、制御データ434が記憶されている。また、転送用バッファ112に、レコード411、レコード412、制御データ413が記憶されている。また、転送用バッファ112に、レコード421、制御データ422が記憶されている。
展開部226は、レコード431、レコード432、レコード433、制御データ434を転送用バッファ112から読み出して、「先頭レコードオフセット」と「レコード間オフセット」とを含むトラック430として論理ボリューム用キャッシュ211に展開する。
同様に、展開部226は、レコード411、レコード412、制御データ413を転送用バッファ112から読み出して、「先頭レコードオフセット」と「レコード間オフセット」とを含むトラック410として論理ボリューム用キャッシュ211に展開する。また、展開部226は、レコード421、制御データ422を転送用バッファ112から読み出して、「先頭レコードオフセット」と「レコード間オフセット」とを含むトラック420として論理ボリューム用キャッシュ211に展開する。
[実施例2に係るストレージ装置による処理の処理手順]
次に図17及び図18を用いて、実施例2に係るストレージ装置による処理の処理手順を説明する。ここでは、図17を用いてコピー元のストレージ装置における格納処理を説明し、図18を用いてコピー先のストレージ装置における展開処理を説明する。
(コピー元のストレージ装置における格納処理)
図17は、実施例2に係るコピー元のストレージ装置による格納処理の処理手順を示すフローチャートである。図17に示すように、データ処理部121は、ホストコンピュータ3からデータの書込みを受付ける(ステップS301)。なお、ステップS301の処理の後、バッファ管理テーブル生成部221は、ホストコンピュータ3から指定されたコピー元ボリュームとコピー元LBA及びコピー先ボリュームとコピー先LBAに基づいてバッファ管理テーブル113を生成する。圧縮部222は、トラック単位の制御データを参照し(ステップS302)、圧縮が可能なトラックか否かを判定する(ステップS303)。
ここで、格納部224は、圧縮部222により圧縮が可能なトラックであると判定された場合(ステップS303、Yes)、トラック内の必要な部分を考慮して格納元のアドレス及び格納先アドレスを確定する(ステップS304)。
圧縮部222は、圧縮が可能なトラックでないと判定した場合(ステップS303、No)、またはステップS304の処理が終了後、バッファ管理テーブルを生成する(ステップS305)。例えば、圧縮部222は、圧縮が可能なトラックであると判定した場合、バッファ管理テーブル生成部221により生成されたバッファ管理テーブル113を圧縮し、並び替え部223に出力する。また、圧縮部222は、圧縮が可能なトラックではないと判定した場合、バッファ管理テーブル生成部221により生成されたバッファ管理テーブル113を並び替え部223に出力する。
そして、データ処理部121は、ホストコンピュータ3から受付けたデータを論理ボリューム用キャッシュ211に書込み、書き込みが完了したことをホストコンピュータ3に応答する(ステップS306)。
また、データ処理部121は、ある世代に書込まれたデータの容量が所定容量を超えたか否かを判定する(ステップS307)。ここで、データ処理部121は、ある世代に書込まれたデータの容量が所定容量を超えていないと判定した場合(ステップS307、No)、ステップS301に移行して、ホストコンピュータ3からデータの書込みを受付ける。
並び替え部223は、データ処理部121によりある世代に書込まれたデータの容量が所定容量を超えたと判定された場合(ステップS307、Yes)、圧縮部222により生成されたバッファ管理テーブル113を並び替える(ステップS308)。そして、格納部224は、バッファ管理テーブル113と制御データとに基づいて、データを論理ボリューム用キャッシュ211から転送用バッファ112に格納する(ステップS309)。この処理の終了後、通信部125は、データをストレージ装置20に送信する。
(コピー先のストレージ装置における展開処理)
図18は、実施例2に係るコピー先のストレージ装置による展開処理の処理手順を示すフローチャートである。図18に示すように、通信部125は、コピー元からデータを受信し(ステップS401)、受信したデータを転送用バッファ112に格納する。そして、展開部226は、ある世代に含まれるデータのすべてを受信したか否かを判定する(ステップS402)。ここで、展開部226は、ある世代に含まれるデータのすべてを受信したと判定した場合(ステップS402、Yes)、展開処理を実行すると判定する(ステップS403)。
展開部226は、トラック単位の制御データを参照し(ステップS404)、圧縮が可能なトラックであるか否かを判定する(ステップS405)。ここで、展開部226は、圧縮が可能なトラックであると判定した場合(ステップS405、Yes)、トラック内の必要な部分を考慮して展開元のアドレス及び展開先のアドレスを確定する(ステップS406)。
展開部226は、圧縮が可能なトラックでないと判定した場合(ステップS405、No)、またはステップS406の処理が終了後、転送用バッファ112が記憶するデータを論理ボリューム用キャッシュ211に格納し、処理を終了する(ステップS407)。なお、この処理が終了後、データ処理部121は、論理ボリューム用キャッシュ211が記憶するデータをディスクに格納する。
[実施例2の効果]
上述してきたように、本実施例2では、データを圧縮して転送するので、通信負荷を軽減することができる。また、レコードを保存していない領域を処理する無駄を削減できるようになる。具体的には、実際にレコードが保存されている部分のみを転送用バッファ112に格納すること、圧縮されたトラック情報のみを転送すること、転送用バッファ112から最小限のレコードのみを展開することが実現できる。この結果、実施例2に係るストレージシステムでは、従来技術に比べて大幅な性能向上やコスト削減が見込める。
また、実施例2では、コピー元のストレージ装置が、データを圧縮し、圧縮したデータを並び替えてからコピー先のストレージ装置に転送するものとして説明したが、これに限定されるものではない。例えば、コピー元のストレージ装置は、圧縮したデータを並び替えずに、コピー先のストレージ装置に転送するようにしてもよい。あるいは、バッファ管理テーブル113を並び替えた後に、制御データと並び替えられたバッファ管理テーブルとに基づいて、データを転送用バッファ112に格納するようにしてもよい。
ところで、本発明は、上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、実施例3では、本発明に含まれる他の実施例について説明する。
(システム構成等)
本実施例において説明した各処理のうち自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。
この他、上記文章中や図面中で示した処理手順、制御手順、具体的名称については、特記する場合を除いて任意に変更することができる。また、図示した記憶部が格納する情報は一例に過ぎず、必ずしも図示のごとく情報が格納される必要はない。
また、実施例1では、メインフレームが接続されたストレージシステムを例にトラックの並び替えを説明したが、開示の技術は、これに限定されるものではない。例えば、実施例1に開示の技術は、Unix/IAサーバが接続されたオープンシステムにおいても適用することが出来る。
図19を用いて、オープンシステムにおける並び替え処理の一例を説明する。図19は、オープンシステムにおける並び替え処理の一例を示す図である。図19では、LBA18a、LBA18b、LBA18cの3つのデータを並び替える場合を説明する。また、ここでは、コピー先のLBAの昇順がLBA18c、LBA18a、LBA18bの順であるとする。
オープンシステムにおいてデータは、LBA単位で論理ボリューム用キャッシュ111に記憶される。このため、並び替え部123は、コピー先のLBAが昇順になるようにデータをLBA単位で並び替える。ここで、論理ボリューム用キャッシュ111には、LBA18a、LBA18b、LBA18cが記憶されており、バッファ管理テーブル生成部122により、LBA18a、LBA18b、LBA18cの順でバッファ管理テーブル113が生成されているものとする。
並び替え部123は、バッファ管理テーブル113におけるLBA18a、LBA18b、LBA18cの順をコピー先のLBAが昇順になるようにLBA18c、LBA18a、LBA18bの順に並び替える。この結果、格納部124は、LBA18c、LBA18a、LBA18bの順で転送用バッファ112にデータを格納する。このように、コピー元のストレージ装置がデータをLBA単位で並び替えてコピー先のストレージ装置に転送することで、コピー先のストレージ装置では、ディスクヘッドの移動時間を短縮し、展開処理を高速化することができる。
また、上述した実施例では、ホストコンピュータ3から書込みの要求があったデータをディスク13a〜14bに書き込む。そして、ホストコンピュータ3からストレージ装置20へのデータ送信の要求に応じてデータを送信する際に、データのトラックの並び順を並び替えることとした。しかし、これに限らず、ホストコンピュータ3から書込みの要求があったデータをディスク13a〜14bに書き込む際に、データのトラックの並び順を並び替えた上で書込むこととしてもよい。
また、図示した各構成部は、必ずしも物理的に図示のごとく構成されていることを要しない。例えば、コピー元のストレージ装置10では、データ処理部121とバッファ管理テーブル生成部122と並び替え部123と格納部124と通信部125とを有するようにしてもよい。また、コピー先のストレージ装置20では、データ処理部121と通信部125と展開部126とを有するようにしてもよい。
また、ストレージ装置10では、バッファ管理テーブル生成部122と並び替え部123とが統合されてもよい。また、バッファ管理テーブル生成部221と圧縮部222とが統合されてもよい。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)複数のデータを記憶する記憶部と、
該複数のデータのコピー先のストレージ装置の記憶部における、該複数のデータのそれぞれの記憶予定位置に基づいて、前記複数のデータの順序を並び替える並び替え部と、
前記並び替え部により順序が並び替えられた複数のデータを前記コピー先のストレージ装置に送信する送信部と
を備えることを特徴とするストレージ装置。
(付記2)前記複数のデータがそれぞれ記憶される、情報が書込まれた第1の領域と前記情報が書込まれていない第2の領域と前記第1の領域及び前記第2の領域の位置を示す領域情報が書込まれた第3の領域のうち、前記領域情報に基づいて前記第2の領域を除外し、前記第1の領域及び前記第3の領域における情報を基に、コピー用のデータを前記複数のデータごとに生成するコピー用データ生成部を更に備え、
前記並び替え部は、前記コピー先のストレージ装置の記憶部における、前記複数のデータのそれぞれの記憶予定位置に基づいて、複数の前記コピー用のデータの順序を並び替える
ことを特徴とする付記1に記載のストレージ装置。
(付記3)コピー先のストレージ装置の記憶部における前記データの記憶予定位置と、前記のデータの識別子とを対応付けた位置情報を生成する位置情報生成部を更に備え、
前記並び替え部は、前記記憶予定位置に基づいて、前記位置情報の順序を並び替えるとともに、並び替えた前記位置情報における記憶予定位置の順序で前記複数のデータの順序を並び替え、
前記送信部は、前記並び替え部により並び替えられた前記複数のデータと前記位置情報とを前記コピー先のストレージ装置に送信する
ことを特徴とする付記1または2に記載のストレージ装置
(付記4)記憶部における記憶予定位置に基づいて順序が並び替えられた複数のデータをコピー元のストレージ装置から受信する受信部と、
受信した前記順序が並び替えられた複数のデータを前記記憶部に書込む書込部と
を有することを特徴とするストレージ装置。
(付記5)ストレージ装置が、
記憶部に記憶される複数のデータそれぞれの、コピー先のストレージ装置の記憶部における記憶予定位置に基づいて、該複数のデータの順序を並び替え、
順序が並び替えられた前記複数のデータを前記コピー先のストレージ装置に送信する
ことを特徴とするストレージ装置の制御方法。
(付記6)ストレージ装置が、更に、
前記複数のデータがそれぞれ記憶される、情報が書込まれた第1の領域と前記情報が書込まれていない第2の領域と前記第1の領域及び前記第2の領域の位置を示す領域情報が書込まれた第3の領域のうち、前記領域情報に基づいて前記第2の領域を除外し、前記第1の領域及び前記第3の領域における情報を基に、コピー用のデータを前記複数のデータごとに生成し、
前記コピー先のストレージ装置の記憶部における、前記複数のデータのそれぞれの記憶予定位置に基づいて、複数の前記コピー用のデータの順序を並び替える
ことを特徴とする付記5に記載のストレージ装置の制御方法。
(付記7)前記ストレージ装置が、更に、
コピー先のストレージ装置の記憶部における前記データの記憶予定位置と、前記のデータの識別子とを対応付けた位置情報を生成し、
前記記憶予定位置に基づいて、前記位置情報の順序を並び替えるとともに、並び替えた前記位置情報における記憶予定位置の順序で前記複数のデータの順序を並び替え、
並び替えられた前記複数のデータと前記位置情報とを前記コピー先のストレージ装置に送信する
ことを特徴とする付記5または6に記載のストレージ装置の制御方法。
(付記8)ストレージ装置が、
記憶部における記憶予定位置に基づいて順序が並び替えられた複数のデータをコピー元のストレージ装置から受信し、
受信した前記順序が並び替えられた複数のデータを前記記憶部に書込む
ことを特徴とするストレージ装置の制御方法。
(付記9)情報処理装置と、前記情報処理装置からデータの書込みを受け付けて自装置と接続される他装置に前記データを送信するコピー元のストレージ装置と、前記コピー元のストレージ装置から前記データを受信するコピー先のストレージ装置とを有するストレージシステムにおいて、
前記コピー元のストレージ装置は、
複数のデータを記憶する記憶部と、
該複数のデータのコピー先のストレージ装置の記憶部における、該複数のデータのそれぞれの記憶予定位置に基づいて、前記複数のデータの順序を並び替える並び替え部と、
前記並び替え部により順序が並び替えられた複数のデータを前記コピー先のストレージ装置に送信する送信部とを備え、
前記コピー先のストレージ装置は、
前記コピー元のストレージ装置から前記順序が並び替えられた複数のデータを受信する受信部と、
受信した前記順序が並び替えられた複数のデータを記憶部に書込む書込部とを備える
ことを特徴とするストレージシステム。
1 ストレージシステム
3、4 ホストコンピュータ
10、20 ストレージ装置
11a、11b、12a、12b、21a、21b、22a、22b CA
13a、13b、14a、14b、23a、23b、24a、24b ディスク
15、16、25、26 CM
101a、101b DA
110、210 記憶部
111、211 論理ボリューム用キャッシュ
112 転送用バッファ
113 バッファ管理テーブル
120 制御部
121 データ処理部
122、221 バッファ管理テーブル生成部
123、223 並び替え部
124、224 格納部
125、225 通信部
126、226 展開部
222 圧縮部

Claims (5)

  1. 複数のデータを記憶する記憶部と、
    該複数のデータのコピー先のストレージ装置の記憶部における、該複数のデータのそれぞれの記憶予定位置に基づいて、前記複数のデータの順序を並び替える並び替え部と、
    前記並び替え部により順序が並び替えられた複数のデータを前記コピー先のストレージ装置に送信する送信部と
    を備えることを特徴とするストレージ装置。
  2. 前記複数のデータがそれぞれ記憶される、情報が書込まれた第1の領域と前記情報が書込まれていない第2の領域と前記第1の領域及び前記第2の領域の位置を示す領域情報が書込まれた第3の領域のうち、前記領域情報に基づいて前記第2の領域を除外し、前記第1の領域及び前記第3の領域における情報を基に、コピー用のデータを前記複数のデータごとに生成するコピー用データ生成部を更に備え、
    前記並び替え部は、前記コピー先のストレージ装置の記憶部における、前記複数のデータのそれぞれの記憶予定位置に基づいて、複数の前記コピー用のデータの順序を並び替える
    ことを特徴とする請求項1に記載のストレージ装置。
  3. コピー先のストレージ装置の記憶部における前記データの記憶予定位置と、前記のデータの識別子とを対応付けた位置情報を生成する位置情報生成部を更に備え、
    前記並び替え部は、前記記憶予定位置に基づいて、前記位置情報の順序を並び替えるとともに、並び替えた前記位置情報における記憶予定位置の順序で前記複数のデータの順序を並び替え、
    前記送信部は、前記並び替え部により並び替えられた前記複数のデータと前記位置情報とを前記コピー先のストレージ装置に送信する
    ことを特徴とする請求項1または請求項2に記載のストレージ装置。
  4. ストレージ装置が、
    記憶部に記憶される複数のデータそれぞれの、コピー先のストレージ装置の記憶部における記憶予定位置に基づいて、該複数のデータの順序を並び替え、
    順序が並び替えられた前記複数のデータを前記コピー先のストレージ装置に送信する
    ことを特徴とするストレージ装置の制御方法。
  5. 情報処理装置と、前記情報処理装置からデータの書込みを受け付けて自装置と接続される他装置に前記データを送信するコピー元のストレージ装置と、前記コピー元のストレージ装置から前記データを受信するコピー先のストレージ装置とを有するストレージシステムにおいて、
    前記コピー元のストレージ装置は、
    複数のデータを記憶する記憶部と、
    該複数のデータのコピー先のストレージ装置の記憶部における、該複数のデータのそれぞれの記憶予定位置に基づいて、前記複数のデータの順序を並び替える並び替え部と、
    前記並び替え部により順序が並び替えられた複数のデータを前記コピー先のストレージ装置に送信する送信部とを備え、
    前記コピー先のストレージ装置は、
    前記コピー元のストレージ装置から前記順序が並び替えられた複数のデータを受信する受信部と、
    受信した前記順序が並び替えられた複数のデータを記憶部に書込む書込部とを備える
    ことを特徴とするストレージシステム。
JP2011211386A 2011-09-27 2011-09-27 ストレージ装置、ストレージ装置の制御方法及びストレージシステム Active JP5923913B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011211386A JP5923913B2 (ja) 2011-09-27 2011-09-27 ストレージ装置、ストレージ装置の制御方法及びストレージシステム
US13/567,287 US8793455B2 (en) 2011-09-27 2012-08-06 Storage apparatus, control method for storage apparatus, and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011211386A JP5923913B2 (ja) 2011-09-27 2011-09-27 ストレージ装置、ストレージ装置の制御方法及びストレージシステム

Publications (2)

Publication Number Publication Date
JP2013073388A true JP2013073388A (ja) 2013-04-22
JP5923913B2 JP5923913B2 (ja) 2016-05-25

Family

ID=47912554

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011211386A Active JP5923913B2 (ja) 2011-09-27 2011-09-27 ストレージ装置、ストレージ装置の制御方法及びストレージシステム

Country Status (2)

Country Link
US (1) US8793455B2 (ja)
JP (1) JP5923913B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014205707A1 (de) 2013-03-29 2014-10-02 Fuji Jukogyo K.K. Displayvorrichtung für Fahrzeug
US11099985B2 (en) 2017-12-20 2021-08-24 Nec Platforms, Ltd. Storage controller, storage array device, data depositing method, and storage medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6019940B2 (ja) * 2012-08-30 2016-11-02 富士通株式会社 情報処理装置、コピー制御プログラム、およびコピー制御方法
US9933947B1 (en) * 2015-12-30 2018-04-03 EMC IP Holding Company LLC Maintaining write consistency on distributed multiple page writes

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002049517A (ja) * 2000-05-25 2002-02-15 Hitachi Ltd 記憶システム
JP2003186629A (ja) * 2001-12-21 2003-07-04 Nec Corp データコピーシステム
JP2004280779A (ja) * 2002-10-31 2004-10-07 Hitachi Ltd ストレージシステムのリモートコピーに於いて空白データを省略する方法と装置
JP2006268829A (ja) * 2005-03-24 2006-10-05 Hitachi Ltd ストレージシステム間でオブジェクトをミラー化する方法と装置
JP2010044608A (ja) * 2008-08-13 2010-02-25 Nec Corp ディスクアレイ装置間の遠隔データコピー方法、システムおよびプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6748467B2 (en) 2001-01-30 2004-06-08 Hitachi, Ltd. High speed data transfer between mainframe storage systems
JP5521595B2 (ja) * 2010-02-05 2014-06-18 富士通株式会社 ストレージシステム及びストレージ制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002049517A (ja) * 2000-05-25 2002-02-15 Hitachi Ltd 記憶システム
JP2003186629A (ja) * 2001-12-21 2003-07-04 Nec Corp データコピーシステム
JP2004280779A (ja) * 2002-10-31 2004-10-07 Hitachi Ltd ストレージシステムのリモートコピーに於いて空白データを省略する方法と装置
JP2006268829A (ja) * 2005-03-24 2006-10-05 Hitachi Ltd ストレージシステム間でオブジェクトをミラー化する方法と装置
JP2010044608A (ja) * 2008-08-13 2010-02-25 Nec Corp ディスクアレイ装置間の遠隔データコピー方法、システムおよびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014205707A1 (de) 2013-03-29 2014-10-02 Fuji Jukogyo K.K. Displayvorrichtung für Fahrzeug
US11099985B2 (en) 2017-12-20 2021-08-24 Nec Platforms, Ltd. Storage controller, storage array device, data depositing method, and storage medium

Also Published As

Publication number Publication date
JP5923913B2 (ja) 2016-05-25
US20130080724A1 (en) 2013-03-28
US8793455B2 (en) 2014-07-29

Similar Documents

Publication Publication Date Title
US9891835B2 (en) Live configurable storage
US8627040B2 (en) Processor-bus-connected flash storage paging device using a virtual memory mapping table and page faults
US7707337B2 (en) Object-based storage device with low process load and control method thereof
US9092426B1 (en) Zero-copy direct memory access (DMA) network-attached storage (NAS) file system block writing
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
US7421538B2 (en) Storage control apparatus and control method thereof
US8694563B1 (en) Space recovery for thin-provisioned storage volumes
JP2000099282A (ja) ファイル管理システム
CN109902034B (zh) 快照创建方法、装置、电子设备及机器可读存储介质
JP2013156977A (ja) 冗長キャッシュデータのエラスティックキャッシュ
CN112463753B (zh) 一种区块链数据存储方法、系统、设备及可读存储介质
US10268592B2 (en) System, method and computer-readable medium for dynamically mapping a non-volatile memory store
JP6197816B2 (ja) ストレージシステム、ストレージの管理方法、及び、コンピュータ・プログラム
WO2018076633A1 (zh) 一种远程数据复制方法、存储设备及存储系统
US10664193B2 (en) Storage system for improved efficiency of parity generation and minimized processor load
JP5923913B2 (ja) ストレージ装置、ストレージ装置の制御方法及びストレージシステム
US7434026B2 (en) Disk array device and virtual volume management method using a logical table and a physical table
JP6311365B2 (ja) 記憶領域管理装置、記憶領域管理方法及び記憶領域管理プログラム
JP5910596B2 (ja) ストレージ管理システム、ストレージ管理方法、プログラム、および、情報処理システム
JP6243884B2 (ja) 情報処理装置、プロセッサ、および情報処理方法
EP3136245A1 (en) Computer
JP6254986B2 (ja) 情報処理装置、アクセスコントローラ、および情報処理方法
JP5355603B2 (ja) ディスクアレイ装置及び論理ボリュームアクセス方法
WO2018055686A1 (ja) 情報処理システム
JP6089855B2 (ja) 仮想化システム、仮想サーバ、ファイル書き込み方法、及びファイル書き込みプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140603

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150511

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20151104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160112

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160119

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160404

R150 Certificate of patent or registration of utility model

Ref document number: 5923913

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150