JP2014032515A - ストレージ装置及びストレージシステム - Google Patents

ストレージ装置及びストレージシステム Download PDF

Info

Publication number
JP2014032515A
JP2014032515A JP2012172251A JP2012172251A JP2014032515A JP 2014032515 A JP2014032515 A JP 2014032515A JP 2012172251 A JP2012172251 A JP 2012172251A JP 2012172251 A JP2012172251 A JP 2012172251A JP 2014032515 A JP2014032515 A JP 2014032515A
Authority
JP
Japan
Prior art keywords
storage
instruction
release
unit
storage area
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
JP2012172251A
Other languages
English (en)
Other versions
JP6011125B2 (ja
Inventor
Akihiro Ueda
明宏 植田
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 JP2012172251A priority Critical patent/JP6011125B2/ja
Priority to US13/921,534 priority patent/US8972634B2/en
Publication of JP2014032515A publication Critical patent/JP2014032515A/ja
Application granted granted Critical
Publication of JP6011125B2 publication Critical patent/JP6011125B2/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/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/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/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]

Abstract

【課題】データ複製中に記憶域の解放を実行可能とする。
【解決手段】ネットワークを介して接続される第1のストレージ装置10から第2のストレージ装置10にデータを複製するストレージシステム1。第1のストレージ装置は1、第1の記憶域と、上位装置からの指示を受信する受信部と、指示を第2のバッファ240に転送する転送部と、第1の記憶域を解放する第1の記憶域解放部と、をそなえ、第2のストレージ装置10は、データを記憶する第2の記憶域と、指示を時系列で記憶するバッファ240と、第1のストレージ装置からバッファに指示を受け取る受領部と、指示を実行する指示処理部と、バッファを解放するバッファ解放部と、第2の記憶域を解放する第2の記憶域解放部と、をそなえる。
【選択図】図1

Description

本件は、ストレージ装置及びストレージシステムに関する。
ストレージ装置においては、複数のストレージをそなえ、一のストレージ(業務ストレージ)を他のストレージ(バックアップストレージ)に複写することにより、バックアップを行なうことが行なわれている。
また、遠隔地に配置された複数のストレージ装置間において、一のストレージ装置のデータを他のストレージ装置に複写するリモートコピー機能も知られている。
ところで、一般に、ストレージ装置の信頼性を高めるために、Redundant Array of Independent Disks(RAID)技術が普及している。特に、近年では、記憶領域や管理費用を削減するために、RAID技術にシンプロビジョニング機能を加えたストレージ装置が採用されている。
シンプロビジョニング機能とは、ストレージシステムにおいて、物理ボリューム容量以上の容量をサーバに見せる技術であって、サーバ等の上位装置から見えるボリューム容量を仮想化する機能である。
一般に、ストレージの容量を増設しようとした場合に、ストレージ装置に新規に作成したLogical Unit Number(LUN)を上位装置側で認識させようとすると、上位装置側ではOperating System(OS)の再起動、すなわちサービスの停止が必要となる。しかし、シンプロビジョニング機能を用いた場合、初めからLUNのサイズを実際より大きくOSに見せかけることが可能である。これにより、LUNの使用率が上がってきた時点でストレージ装置内に物理ディスクを無停止で増設することで、OS側に影響を与えることなく物理ディスク容量の増設が可能である。このように、シンプロビジョニング機能によれば、拡張性に優れるという利点がある。
このようなシンプロビジョニング機能により確保されたボリュームを、シンプロビジョニングボリューム(Thin Provisioning Volume:TPV)と呼ぶ。
ホスト装置がTPVにアクセスすると、物理ディスク容量が順次割り当てられていく。例えば、ホスト装置によりTPV内のファイルが削除されると、OSからはこのファイルは使用されなくなるが、ストレージ装置の物理ディスク容量がこのファイルに割り当てられたまま残り、ディスク容量が無駄に消費されてしまう。
このような無駄をなくすためのコマンドとして、VMwareで提供されているストレージアプリケーションプログラムインタフェース(API)であるvStorage APIs for Array Integration(VAAI)で用いられるSCSI標準コマンドであるUNMAPコマンドがある。
UNMAPコマンドとは、ホスト装置からストレージ装置内のTPVに、未使用の物理的なディスク容量の解放を指示するコマンドである。OSからファイルの削除を行なうと共に、ストレージ装置にUNMAPコマンドを発行することにより、非常に効率の良いシンプロビジョニング運用を実現することができる。
ところで、一部のストレージシステムでは、アドバンストコピー機能におけるセッションが実行されている領域に対しても、UNMAPコマンドをサポートしている。
アドバンストコピー機能とは、ホスト装置のCPUを使用することなく、ストレージ装置側が単独で高速にコピーを作成する機能を指し、ある時点のコピー元ボリュームのデータを、短時間で別のボリュームにコピーする。
アドバンストコピー機能には、常にコピー元ボリュームの更新と同期した複製を作成するEquivalent Copy(EC)、任意の時点でのコピー元ボリューム全体の複製を作成するOne Point Copy(OPC)などの手法が存在する。OPCの一手法として、QuickOPCがあり、QuickOPCでは、最初にコピー元ボリュームの全データをコピー先ボリュームにコピーし、その後、更新部分のデータ(差分データ)のみをコピー先ボリュームにコピーする。
図6に、QuickOPセッションが実行されているコピー元ボリュームの領域にUNMAPコマンドが発行された場合の従来の動作を示す。
ステップSC1において、QuickOPCセッションのコピーが完了していない領域を含むコピー元装置が、不図示のホスト装置からUNMAPコマンドを受信する。
未コピーのデータは、コピー先ボリュームにコピーする必要があるが、UNMAPコマンドと同期して、UNMAPによる物理域の解放ができない。そのため、ステップSC2において、コピー元ボリュームはUNMAP予約を行なう。
ステップSC3において、コピー元装置がホスト装置にUNMAPコマンド応答を返す。
ステップSC4において非同期でコピーが行なわれ、コピーの完了後、ステップSC5において、非同期で物理域の解放を行なう。
図7に、ECセッションが実行されているコピー元ボリュームの領域にUNMAPコマンドが発行された場合の従来の動作を示す。
ステップSD1において、ECセッションのコピーが完了していない領域を含むコピー元装置が、不図示のホスト装置からUNMAPコマンドを受信する。
ステップSD2において、コピー元ボリュームの物理域を解放する。
ステップSD3において、コピー元ボリュームからコピー先ボリュームに対してUNMAP指示を行なう。
ステップSD4において、コピー先ボリュームの物理域を解放する。
ステップSD5において、コピー元ボリュームがホスト装置に対してUNコマンド応答を返す。
特開2006−260292号公報
異なる筐体内のコピー元ボリュームからコピー先ボリュームへのコピーの手法として、筐体間同期型レプリケーション(Remote Equivalent Copy:REC)がある。RECの転送モードの1つに複数の同期処理のデータ反映の順序性を保証するコンシステンシモードがある。
しかしながら、RECコンシステンシモードにおいては、コピー元ボリュームからコピー先ボリュームにUNMAPコマンド指示を通知する手段がない。
また、コピー元ボリューム或いはコピー先ボリュームの物理域の解放処理に時間がかかると、RECバッファの解放ができなくなり、RECバッファがオーバーフローするRECバッファHALTが発生する。これにより、RECセッションが異常停止してしまう。
上記の理由により、RECコンシステンシモードのセッションを有するボリュームにおいてUNMAPコマンドを処理することができない。
1つの側面では、本件は、データ複製中に物理域を解放できるようにすることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
このため、このストレージ装置は、ネットワークを介して接続される他のストレージ装置にデータを複製するストレージ装置であって、前記データを記憶する記憶域と、上位装置からの指示を受信する受信部と、前記上位装置からの前記指示を前記他のストレージ装置に転送する転送部と、前記記憶域を解放する記憶域解放部と、をそなえ、前記指示が前記ストレージ装置の前記記憶域の解放指示である場合、前記記憶域解放部による前記記憶域の解放が完了する前に、前記転送部は、前記解放指示を前記他のストレージ装置に転送する。
また、このストレージ装置は、ネットワークを介して接続される他のストレージ装置からのデータを複製するストレージ装置であって、前記データを記憶する記憶域と、前記他のストレージ装置からバッファに指示を受け取る転送部と、前記指示を実行する指示処理部と、前記バッファを解放するバッファ解放部と、前記記憶域を解放する記憶域解放部と、をそなえ、前記指示が前記ストレージ装置の前記記憶域の解放指示である場合、前記記憶域解放部による前記記憶域の解放が完了する前に、前記バッファ解放部は、前記ストレージ装置の前記バッファを解放する。
また、このストレージシステムは、ネットワークを介して接続される第1のストレージ装置から第2のストレージ装置にデータを複製するストレージシステムであって、前記第1のストレージ装置は、前記データを記憶する第1の記憶域と、上位装置からの指示を受信する受信部と、前記上位装置からの前記指示を前記第2のストレージ装置のバッファに転送する転送部と、前記第1の記憶域を解放する第1の記憶域解放部と、をそなえ、前記指示が前記ストレージ装置の前記第1の記憶域の解放指示である場合、前記第1の記憶域解放部による前記第1の記憶域の解放が完了する前に、前記転送部は、前記第2のストレージ装置の前記バッファに転送し、前記第2のストレージ装置は、前記データを記憶する第2の記憶域と、前記指示を時系列で記憶する前記バッファと、前記第1のストレージ装置から前記バッファに前記指示を受け取る受領部と、前記指示を実行する指示処理部と、前記バッファを解放するバッファ解放部と、前記第2の記憶域を解放する第2の記憶域解放部と、をそなえ、前記指示が前記ストレージ装置の前記第2の記憶域の解放指示である場合、前記バッファ解放部は、前記第2の記憶域解放部による前記第2の記憶域の解放が完了する前に、前記バッファを解放する。
開示の技術によれば、データ複製中に物理域を解放することができる。
実施形態の一例としてのストレージシステムの構成を示すブロック図である。 実施形態の一例としての処理部の機能構成を示すブロック図である。 実施形態の一例としてのストレージシステムにおけるUNMAPコマンドの処理を示す図である。 実施形態の一例としてのストレージシステムにおけるUNMAPコマンドとWriteコマンドとの両方が発行された場合の処理を示す図である。 実施形態の一例としてのストレージシステムのコピー先装置における処理を示すフローチャートである。 OPC(QuickOPC)セッションが実行されているコピー元の領域にUNMAPコマンドが発行された場合の従来の動作を示す。 ECセッションが実行されているコピー元の領域にUNMAPコマンドが発行された場合の従来の動作を示す図である。
以下、図面を参照して本ストレージ装置及びプログラムに係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。
(A)システム構成
図1は実施形態の一例としてのストレージシステム1の構成を示すブロック図である。
実施形態の一例としてのストレージシステム1は、図1に示すように、リモート回線(通信回線)50を介して複数(図1に示す例では2つ)のストレージ装置10,20が通信可能に接続されている。
ストレージ装置10,20は、それぞれController Module(CM:情報処理装置)111,211をそなえる。
また、図1に示す例においては、ストレージ装置10にホスト装置2(上位装置)が接続され、又、ストレージ装置20にホスト装置3(上位装置)が接続されている。
ホスト装置2,3は、接続されたストレージ装置10,20のボリュームにデータの書き込みや読み出しを行なう。例えば、ホスト装置2はストレージ装置10のボリューム131に対してリードやライトのデータアクセス要求を行なう。ストレージ装置10は、このデータアクセス要求に応じてボリューム131に対するデータアクセスを行ない、ホスト装置2に対して応答を行なう。
なお、ホスト装置2,3は、情報処理装置であり、例えば、図示しない、Central Processing Unit(CPU)やRandom Access Memory(RAM)、Read Only Memory(ROM)等をそなえたコンピュータである。
また、ホスト装置2は、ストレージ装置10に対し、例えば、UNMAPコマンドやWriteコマンド等を発行する。
その際、ホスト装置2は、例えば、セッションID(Session ID)、コピー元のLUN(Logical Unit Number)及び開始LBA(Logical Block Address)、コピー先のLUN及び開始LBA及びBC(Block Count)等を指定する。
本ストレージシステム1は、ストレージ装置10のボリューム(論理ボリューム)のデータを他のストレージ装置20にコピーする。
ここでは、ストレージ装置10をコピー元装置とし、ストレージ装置20をコピー先装置とする。以下、ストレージ装置10のディスク装置131のデータをストレージ装置20にコピーして、ストレージ装置20のディスク装置231に格納する例について説明する。
以下、ストレージ装置10のボリュームを移行元ボリューム#00といい、ストレージ装置20のボリュームを移行先ボリューム#10という場合がある。更に、ストレージ装置10とストレージ装置20との間におけるリモート回線50を介したデータ転送をリモート転送という場合がある。
リモート回線50は、データを通信可能に接続する通信回線であって、例えばTCP/IP等の規格に基づきデータ転送を実現する。
ストレージ装置10,20は、ホスト装置2,3に対して記憶領域を提供するものであり、例えば、RAID装置である。なお、図1中においては、便宜上、ストレージ装置10にホスト装置2が、又、ストレージ装置20にホスト装置3がそれぞれ接続された状態を示しているが、各ストレージ装置10,20に2以上のホスト装置が接続されてもよい。
ストレージ装置10,20は、前述のRECコンシステンシモードによるコピーに対応したストレージ装置である。
ストレージ装置10,20は、図1に示すように、CM111,211及びディスクエンクロージャ130,230をそなえる。CM111,211はストレージ装置10,20における種々の制御を行なうものであり、上位装置であるホスト装置2,3からのストレージアクセス要求(アクセス制御信号)に従って、ディスクエンクロージャ130,230のディスク装置131,231へのアクセス制御等、各種制御を行なう。
ディスクエンクロージャ130,230は、1以上のディスク装置131,231をそなえる。ディスク装置131,231は、例えば、Hard Disk Drive(HDD)である。ストレージ装置10,20においては、このHDD131,231の記憶領域が論理ボリュームに対して割り当てられる。
CM111,211は、Channel Adapter(CA)124,224、Remote Adapter(RA)125,225、CPU110,210、ROM122,222及びRAM121,221をそなえる。なお、図1に示す例においては、各ストレージ装置10,20に1つのCM111,211がそなえられているが、これに限定されるものではなく、それぞれ2以上のCM111,211をそなえてもよい。
CA124,224は、ホスト装置2,3と通信可能に接続するインタフェースコントローラであり、例えば、ファイバチャネルアダプタである。
RA125,225は、リモート回線50を介して他のストレージ装置20,10と通信可能に接続するインタフェースコントローラであり、例えば、ファイバチャネルアダプタである。
RAM121,221は、種々のデータやプログラムを一時的に格納するメモリ(記憶領域)である。RAM121,221における所定の領域には、例えば、他のストレージ装置20,10に対して送信するデータが一時的に格納され、これによりRAM121,221は、RECバッファ(バッファ)200,240として機能する。
これらのRECバッファ200,240は、データの読み書き処理の順序性を保証するため、複数の領域に分割して管理される。分割した個々の領域は世代として管理する。各世代は時系列で管理される。又、各世代はストレージ装置10,20間のコピー処理の完了後に解放される。解放とは、当該世代にデータを格納可能な状態であることである。
RECバッファ200,240は、UNMAPやCOPYなどのコマンド(指示)を格納する制御データ部201,241と、制御データ部201,241内の指示に対応するデータの内容を格納するデータ部202,242とを有する。
このように、RAM121,221は、後述するリモート転送時に、他のストレージ装置20,10に対して転送するデータを一時的に格納する転送データバッファとして機能する。
また、RAM121,221における他の所定の領域には、ホスト装置2,3から受信したデータや、ホスト装置2,3に対して送信するデータが一時的に格納され、これによりRAM121,221はバッファメモリとしても機能する。
さらに、RAM121,221における他の所定の領域には、後述するCPU110,210がプログラムを実行する際に、データやプログラムが一時的に格納展開される。
また、RAM121における他の所定の領域には、コピービットマップ132が格納される。
コピービットマップ132は、筐体間(本例においては、ストレージ装置10とストレージ装置20間)のコピーを行なう際に、コピーの進捗やコピーの結果等を管理するために使用されるビットマップである。コピービットマップ132は、ストレージ装置10,20の所定のサイズの領域のコピーを行なうべきか否かを、1ビット値で管理する。この1ビットには、対応する領域のコピーを行なう場合は値“1”、コピーを行なわない場合は値“0”が設定される。
つまり、例えば、8MBのサイズのボリュームをコピーする場合は、ボリュームの全範囲に対してビットをアサインする必要があるので、1024ビット必要となり、1024/8=128バイトのコピービットマップ132が必要となる。
ROM122,222は、CPU110,210が実行するプログラムや種々のデータを格納する記憶装置である。
CPU110,210は、種々の制御や演算を行なう処理装置であり、ROM122等に格納されたプログラムを実行することにより、種々の機能を実現する。
そして、CPU110,210は、図1に示すように、処理部4として機能する。
次に、図2を参照して、この処理部4について説明する。
図2は、実施形態の一例としての処理部4の機能構成を示すブロック図である。
図2に示すように、処理部4は、ホスト送受信部11,RECバッファ処理部12,指示処理部13,物理域解放部14、RECバッファ転送部15、RECバッファ解放部16及びコピービットマップ処理部17をそなえる。
ホスト送受信部(受信部)11は、ホスト装置2,3との間でコマンドやデータの送受信を行なう。
RECバッファ処理部12は、RECバッファ200,240の作成、世代管理を行なうと共に、RECバッファ200,240との間で指示やデータの格納及び取り出しを行なう。
指示処理部13は、ボリューム131,231に対するWriteやRead等のコマンド(指示)を実行する。
物理域解放部(記憶域解放部、第1の記憶域解放部、第2の記憶域解放部)14は、UNMAPコマンドで指定されたシンプロビジョニングボリューム物理域を解放する。
RECバッファ転送部(転送部、受領部)15は、ストレージ装置10,20間でRECバッファ200,240の内容の転送を行なう。
RECバッファ解放部16は、RECバッファ200,240の解放を行なう。
コピービットマップ処理部17は、後述するように、物理域の解放処理が完了する前に、REC経路の閉塞やRECバッファHALTが発生した場合に、コピー元のUNMAP対象領域をコピービットマップ132に転送する。
なお、ホスト送受信部11,RECバッファ処理部12,指示処理部13,物理域解放部14、RECバッファ転送部15、RECバッファ解放部16及びコピービットマップ処理部17としての機能を実現するためのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置又は外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
ホスト送受信部11,RECバッファ処理部12,指示処理部13,物理域解放部14、RECバッファ転送部15、RECバッファ解放部16及びコピービットマップ処理部17としての機能を実現する際には、内部記憶装置(本実施形態ではRAM121,221やROM122,222)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU110,210)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
なお、本実施形態において、コンピュータとは、ハードウェアとOSとを含む概念であり、OSの制御の下で動作するハードウェアを意味している。又、OSが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、CM111,211がコンピュータとしての機能を有しているのである。
(B)システム動作
次に、図3〜図5を参照して、ストレージシステム1の動作について説明する。
最初に、図3を参照して、UNMAPコマンドの処理について説明する。
図3は、実施形態の一例としてのストレージシステム1におけるUNMAPコマンドの処理を示す図である。
ステップSA1において、コピー元装置10のホスト送受信部11が、ホスト装置2からUNMAPコマンドを受信する。
次に、ステップSA2において、コピー元装置10のRECバッファ処理部12が、RECバッファ200の制御データ部201にUNMAP指示250を格納する。その際、UNMAP対象のOLUN、LBA、BC等も格納する。
次に、ステップSA3において、コピー元装置10の物理域解放部14が、コピー元ボリューム#00のUNMAP対象の物理域TPPS2の解放を行なう。
次に、ステップSA4において、コピー元装置10のホスト送受信部11が、ホスト装置2に対し、ステップSA1で受信したUNMAPコマンドに対する応答を返す。
次に、ステップSA5において、コピー元装置10のRECバッファ処理部12が、コピー元装置10のRECバッファ200からコピー先装置20のRECバッファ240に、RECバッファ転送(制御データのみ)を行なう。ステップSA5における処理はステップSA3の処理と非同期で行なわれる。すなわち、コピー元装置10のRECバッファ転送部15は、コピー元装置10の物理域TPPS2の解放が終わる前に、RECバッファ転送にてコピー元装置10に対し、物理域解放を指示する。この点は、コピー元装置10の物理域の解放完了後にRECバッファ転送を行なう従来の処理とは異なる。
次に、ステップSA6において、コピー先装置20の指示処理部13が、コピー先ボリューム#01のUNMAP処理を実行する。
次に、ステップSA7において、コピー先装置20の物理域解放部14が、コピー先ボリューム#01のUNMAP対象の物理域TPPS5の解放を行なう。
最後に、ステップSA8において、コピー先装置20の通知部15からコピー元装置10に対し、RECバッファ解放指示を行なう。このステップSA8における処理はステップSA7の処理とは非同期で行なわれる。すなわち、コピー先装置20のRECバッファ解放部16は、コピー先装置20の対応する物理域TPPS5の解放が終わる前に、RECバッファの解放通知をコピー元装置10に出す。この点は、コピー先装置20の更新終了後にRECバッファ解放通知を行なう従来の処理とは対照的である。
次に、図4を参照して、UNMAPコマンドとWriteコマンドとの両方が発行された場合の処理について説明する。
図4は、実施形態の一例としてのストレージシステム1におけるUNMAPコマンドとWriteコマンドとの両方が発行された場合の処理を示す図である。
ステップSB1において、コピー元装置10のホスト送受信部11が、ホスト装置2からWriteコマンドを受信する。
次に、ステップSB2において、コピー元装置10のRECバッファ処理部12が、Write指示250を、RECバッファ200の制御データ部201に格納する。その際、Writeする範囲のOLUN、LBA、BC等も格納する。
次に、ステップSB3において、コピー元装置10の更新部15が、コピー元ボリューム#00に書き込み対象のデータを書き込む。
次に、ステップSB4において、コピー元装置10のホスト送受信部11が、ホスト装置2に対し、ステップSB1で受信したWriteコマンドに対する応答を返す。
次に、ステップSB5において、コピー元装置10のRECバッファ処理部12が、Writeコマンドで書き込み対象として指定されているデータ252を、RECバッファ200のデータ部202に格納する。なお、ステップSB5における処理はステップSB4の処理と非同期で行なわれる。
次に、ステップSB6において、コピー元装置10のホスト送受信部11が、ホスト装置2からUNMAPコマンドを受信する。
次に、ステップSB7において、コピー元装置10のRECバッファ処理部12が、RECバッファ200の制御データ部201にUNMAP指示250を格納する。その際、UNMAP対象のOLUN、LBA、BC等も格納する。
次に、ステップSB8において、コピー元装置10の物理域解放部14が、コピー元ボリューム#00のUNMAP対象の物理域TPPS2の解放を行なう。
次に、ステップSB9において、コピー元装置10のホスト送受信部11が、ホスト装置2に対し、ステップSB6で受信したUNMAPコマンドに対する応答を返す。
次に、ステップSB10において、コピー元装置10のRECバッファ処理部12が、コピー元装置10のRECバッファ200からコピー先装置20のRECバッファ240に、RECバッファ転送(制御データ及びデータ)を行なう。ステップSB10における処理はステップSB8の処理と非同期で行なわれる。すなわち、コピー元装置10のRECバッファ転送部15は、コピー元装置10の物理域TPPS2の解放が終わる前に、RECバッファ転送にてコピー元装置10に対し、物理域解放を指示する。この点は、コピー元装置10の物理域の解放完了後にRECバッファ転送を行なう従来の処理とは異なる。
次に、ステップSB11において、コピー元装置10において、RECバッファ200の同一世代にUNMAP指示250とCOPY指示251とが存在し、2つの指示対象が同一領域であり、かつCOPY指示251の方が時間的に先行するかどうかを判定する(後述する図5のステップS3〜S4参照)。図4の例では、この判定がYESとなるため、コピー先装置20の指示処理部13は、コピー先ボリューム#01に対するデータ252の展開をスキップする。データ252の展開をスキップする理由は、UNMAP指示250により、後から対象の物理域を解放するので、コピーが不要だからである。
次に、ステップSB12において、コピー先装置20の指示処理部13が、コピー先ボリューム#01のUNMAP処理を実行する。
次に、ステップSB13において、コピー先装置20の物理域解放部14が、コピー先ボリューム#01のUNMAP対象の物理域TPPS5の解放を行なう。
最後に、ステップSB14において、コピー先装置20の通知部15からコピー元装置10に対し、RECバッファ解放指示を行なう。このステップSB13における処理はステップSB137の処理とは非同期で行なわれる。すなわち、コピー先装置20のRECバッファ解放部16は、コピー先装置20の対応する物理域TPPS5の解放が終わる前に、RECバッファの解放通知をコピー元装置10に出す。この点は、コピー先装置20の更新終了後にRECバッファ解放通知を行なう従来の処理とは対照的である。
コピービットマップ132への書き戻しにより、UNMAPできず、コピー元とコピー先の間で不整合が生じた領域を再度コピーすることが可能となる。
次に、図5を参照して、図4におけるコピー先装置20の処理を詳細に説明する。
図5は、実施形態の一例としてのストレージシステム1のコピー先装置20における処理を示すフローチャートである。
最初に、ステップS1において、コピー先装置20のRECバッファ処理部12が、RECバッファ転送により、コピー元装置10から指示及びデータを、RECバッファ240のデータ部242及び制御データ部241に受信する(図4のステップSB10に対応)。
次に、ステップS2において、コピー先装置20のRECバッファ処理部12は、ステップS1で受信したRECバッファ240の制御データ部241の先頭の制御データを取り出す。図4の例の場合、RECバッファ240の制御データ部241の先頭の制御データにCOPY指示が格納されている。
次に、ステップS3において、コピー先装置20の指示処理部13は、ステップS2でRECバッファ200の制御データ部201から取り出した指示がUNMAP指示250かどうかを判定する。図4の例では、取り出した指示はCOPY指示であるため、判定結果がYESとなる。
COPY指示251の場合(ステップS3のNO(COPY指示)ルート参照)、ステップS4において、コピー先装置20は、RECバッファ200の同一世代で、かつ後続にUNMAP指示250が格納されているどうかを判定する。図4の例では、RECバッファ200の同一世代で、かつ後続にUNMAP指示250が存在するため、判定結果がYESとなる。
一方、ステップS3においてUNMAP指示250の場合(ステップS3のYES(UNMAP指示)ルート参照)、ステップS5において、コピー先装置20は、コピー先装置20の物理域を解放する。その後、後述するステップS6のコピー指示の実行(データの展開)をスキップして(図4のステップSB11に対応)、後述のステップS7に移動する。
RECバッファ200の同一世代で、後続にUNMAP指示250がある場合(ステップS4のYESルート参照)、処理が後述するステップS7に移動する。
RECバッファ200の同一世代で、後続にUNMAP指示250がない場合(ステップS4のNOルート参照)、ステップS6に移動する。ステップS6において、コピー先装置20の指示処理部13は、該当RECバッファ200の制御データ部201に対応するRECバッファデータ部202のデータを、コピー先の領域にコピーする。
ステップS7において、コピー先装置20は、RECバッファ200の制御データ部201に制御データが残っているかどうかを判定する。図4の例では、UNMAP実行指示が残っているので、この判定はYESとなる。
RECバッファ200の制御データ部201に制御データが残っている場合(ステップS7のYESルート)、処理がステップS2に戻り、ステップS2〜7を繰り返し、残りの指示を処理する(図4のステップSB12〜SB14)。
一方、RECバッファ200の制御データ部201に制御データがない場合(ステップS7のNOルート)、処理を終了する。
このように、本発明の一実施形態としてのストレージシステム1によれば、コピー元装置10のRECバッファ転送部15は、コピー元装置10の物理域TPPS2の解放が終わる前に、RECバッファ転送にてコピー元装置10に対し、物理域解放を指示する。このため、コピー元装置10の更新終了を待たずに(非同期で)RECバッファ転送を行なうことができ、処理を高速化することができる。更に、ホスト装置10に対する応答時間も短縮される。
また、コピー先装置20のRECバッファ解放部16は、コピー先装置20の対応する物理域TPPS5の解放が終わる前に、RECバッファの解放通知をコピー元装置10に出す。このため、コピー先装置20の更新終了を待たずに(非同期で)RECバッファ解放通知を行なうことができ、RECバッファオーバーフローの発生を回避することができる。
また、コピー先装置20に対してWriteコマンドとUNMAPコマンドとが同時に発生した場合、コピー先装置20の指示処理部13がWriteコマンドの実行をスキップするので、処理を更に高速化することができる。更に、ホスト装置10に対する応答時間も短縮される。
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
ネットワークを介して接続される他のストレージ装置にデータを複製するストレージ装置であって、
前記データを記憶する記憶域と、
上位装置からの指示を受信する受信部と、
前記上位装置からの前記指示を前記他のストレージ装置に転送する転送部と、
前記記憶域を解放する記憶域解放部と、をそなえ、
前記指示が前記ストレージ装置の前記記憶域の解放指示である場合、前記記憶域解放部による前記記憶域の解放が完了する前に、前記転送部は、前記解放指示を前記他のストレージ装置に転送することを特徴とするストレージ装置。
(付記2)
ネットワークを介して接続される他のストレージ装置からのデータを複製するストレージ装置であって、
前記データを記憶する記憶域と、
前記他のストレージ装置からバッファに指示を受け取る受領部と、
前記指示を実行する指示処理部と、
前記バッファを解放するバッファ解放部と、
前記記憶域を解放する記憶域解放部と、をそなえ、
前記指示が前記ストレージ装置の前記記憶域の解放指示である場合、前記記憶域解放部による前記記憶域の解放が完了する前に、前記バッファ解放部は、前記ストレージ装置の前記バッファを解放することを特徴とするストレージ装置。
(付記3)
前記指示が前記ストレージ装置の前記記憶域の更新指示であり、前記更新指示に後続する指示が前記ストレージ装置の前記記憶域の解放指示である場合、前記指示処理部は前記更新指示をスキップすることを特徴とする付記2記載のストレージ装置。
(付記4)
ネットワークを介して接続される第1のストレージ装置から第2のストレージ装置にデータを複製するストレージシステムであって、
前記第1のストレージ装置は、
前記データを記憶する第1の記憶域と、
上位装置からの指示を受信する受信部と、
前記上位装置からの前記指示を前記第2のストレージ装置のバッファに転送する転送部と、
前記第1の記憶域を解放する第1の記憶域解放部と、をそなえ、
前記指示が前記ストレージ装置の前記第1の記憶域の解放指示である場合、前記第1の記憶域解放部による前記第1の記憶域の解放が完了する前に、前記転送部は、前記解放指示を前記第2のストレージ装置の前記バッファに転送し、
前記第2のストレージ装置は、
前記データを記憶する第2の記憶域と、
前記指示を時系列で記憶する前記バッファと、
前記第1のストレージ装置から前記バッファに前記指示を受け取る受領部と、
前記指示を実行する指示処理部と、
前記バッファを解放するバッファ解放部と、
前記第2の記憶域を解放する第2の記憶域解放部と、をそなえ、
前記指示が前記ストレージ装置の前記第2の記憶域の解放指示である場合、前記第2の記憶域解放部による前記第2の記憶域の解放が完了する前に、前記バッファ解放部は、前記バッファを解放することを特徴とするストレージシステム。
(付記5)
ネットワークを介して接続される他のストレージ装置にデータを送信する方法であって、
上位装置からの指示を受信し、
前記上位装置からの前記指示を前記他のストレージ装置のバッファに転送し、
前記指示が前記ストレージ装置の前記記憶域の解放指示である場合、前記記憶域を解放し、前記解放が完了する前に、前記解放指示を前記他のストレージ装置の前記バッファに転送することを特徴とするデータ送信方法。
(付記6)
ネットワークを介して接続される他のストレージ装置からデータを受信する方法であって、
前記他のストレージ装置からバッファに複数の指示を受け取り、
前記指示が前記ストレージ装置の前記記憶域の解放指示である場合、前記記憶域を解放し、前記解放が完了する前に、前記バッファを解放することを特徴とするデータ受信方法。
1 ストレージシステム
2,3 ホスト装置(上位装置)
4 管理装置
10,20 ストレージ装置
11 ホスト送受信部(受信部)
12 RECバッファ処理部
13 指示処理部
14 物理域解放部(記憶域解放部、第1の記憶域解放部、第2の記憶域解放部)
15 RECバッファ転送部(転送部、受領部)
16 RECバッファ解放部(バッファ解放部)
17 コピービットマップ処理部
110,210 CPU
111,211 CM
121,221 RAM
200,240 RECバッファ
122,222 ROM
124,224 CA
125,225 RA
126,226 DA
130,230 ディスクエンクロージャ
131,231 ディスク装置
132 コピービットマップ
200 RECバッファ
240 RECバッファ(バッファ)
201,241 制御データ部
202,242 データ部
250 UNMAP指示(記憶域の解放指示)
251 コピー指示(記憶域の更新指示)
50 リモート回線(ネットワーク)

Claims (4)

  1. ネットワークを介して接続される他のストレージ装置にデータを複製するストレージ装置であって、
    前記データを記憶する記憶域と、
    上位装置からの指示を受信する受信部と、
    前記上位装置からの前記指示を前記他のストレージ装置に転送する転送部と、
    前記記憶域を解放する記憶域解放部と、をそなえ、
    前記指示が前記ストレージ装置の前記記憶域の解放指示である場合、前記記憶域解放部による前記記憶域の解放が完了する前に、前記転送部は、前記解放指示を前記他のストレージ装置に転送することを特徴とするストレージ装置。
  2. ネットワークを介して接続される他のストレージ装置からのデータを複製するストレージ装置であって、
    前記データを記憶する記憶域と、
    前記他のストレージ装置からバッファに指示を受け取る転送部と、
    前記指示を実行する指示処理部と、
    前記バッファを解放するバッファ解放部と、
    前記記憶域を解放する記憶域解放部と、をそなえ、
    前記指示が前記ストレージ装置の前記記憶域の解放指示である場合、前記記憶域解放部による前記記憶域の解放が完了する前に、前記バッファ解放部は、前記ストレージ装置の前記バッファを解放することを特徴とするストレージ装置。
  3. 前記指示が前記ストレージ装置の前記記憶域の更新指示であり、前記更新指示に後続する指示が前記ストレージ装置の前記記憶域の解放指示である場合、前記指示処理部は前記更新指示をスキップすることを特徴とする請求項2記載のストレージ装置。
  4. ネットワークを介して接続される第1のストレージ装置から第2のストレージ装置にデータを複製するストレージシステムであって、
    前記第1のストレージ装置は、
    前記データを記憶する第1の記憶域と、
    上位装置からの指示を受信する受信部と、
    前記上位装置からの前記指示を前記第2のストレージ装置のバッファに転送する転送部と、
    前記第1の記憶域を解放する第1の記憶域解放部と、をそなえ、
    前記指示が前記ストレージ装置の前記第1の記憶域の解放指示である場合、前記第1の記憶域解放部による前記第1の記憶域の解放が完了する前に、前記転送部は、前記第2のストレージ装置の前記バッファに転送し、
    前記第2のストレージ装置は、
    前記データを記憶する第2の記憶域と、
    前記指示を時系列で記憶する前記バッファと、
    前記第1のストレージ装置から前記バッファに前記指示を受け取る受領部と、
    前記指示を実行する指示処理部と、
    前記バッファを解放するバッファ解放部と、
    前記第2の記憶域を解放する第2の記憶域解放部と、をそなえ、
    前記指示が前記ストレージ装置の前記第2の記憶域の解放指示である場合、前記バッファ解放部は、前記第2の記憶域解放部による前記第2の記憶域の解放が完了する前に、前記バッファを解放することを特徴とするストレージシステム。
JP2012172251A 2012-08-02 2012-08-02 ストレージ装置及びストレージシステム Expired - Fee Related JP6011125B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012172251A JP6011125B2 (ja) 2012-08-02 2012-08-02 ストレージ装置及びストレージシステム
US13/921,534 US8972634B2 (en) 2012-08-02 2013-06-19 Storage system and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012172251A JP6011125B2 (ja) 2012-08-02 2012-08-02 ストレージ装置及びストレージシステム

Publications (2)

Publication Number Publication Date
JP2014032515A true JP2014032515A (ja) 2014-02-20
JP6011125B2 JP6011125B2 (ja) 2016-10-19

Family

ID=50026684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012172251A Expired - Fee Related JP6011125B2 (ja) 2012-08-02 2012-08-02 ストレージ装置及びストレージシステム

Country Status (2)

Country Link
US (1) US8972634B2 (ja)
JP (1) JP6011125B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10114583B2 (en) 2015-03-24 2018-10-30 Nec Corporation Storage system, storage management method, and storage medium
JP2020521247A (ja) * 2017-05-24 2020-07-16 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソース・ストレージにおけるデータをターゲット・ストレージにミラーリングするときにスペース・リリース・コマンドを処理するためのプログラム、システム、および方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9182941B2 (en) * 2014-01-06 2015-11-10 Oracle International Corporation Flow control with buffer reclamation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007310861A (ja) * 2006-04-18 2007-11-29 Hitachi Ltd ストレージシステム及びその制御方法
JP2011013821A (ja) * 2009-06-30 2011-01-20 Fujitsu Ltd ストレージシステム、ストレージ制御装置及び方法
JP2011076572A (ja) * 2009-10-02 2011-04-14 Nec Corp ストレージシステム、ストレージ装置、ストレージ装置の記憶内容複製方法およびプログラム
WO2011106068A1 (en) * 2010-02-24 2011-09-01 Symantec Corporation Systems and methods for enabling replication targets to reclaim unused storage space on thin-provisioned storage systems

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004157637A (ja) 2002-11-05 2004-06-03 Hitachi Ltd ストレージ管理方法
JP4355674B2 (ja) 2005-03-17 2009-11-04 富士通株式会社 リモートコピー方法及びストレージシステム
JP4694270B2 (ja) * 2005-06-03 2011-06-08 富士ゼロックス株式会社 画像処理装置、方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007310861A (ja) * 2006-04-18 2007-11-29 Hitachi Ltd ストレージシステム及びその制御方法
JP2011013821A (ja) * 2009-06-30 2011-01-20 Fujitsu Ltd ストレージシステム、ストレージ制御装置及び方法
JP2011076572A (ja) * 2009-10-02 2011-04-14 Nec Corp ストレージシステム、ストレージ装置、ストレージ装置の記憶内容複製方法およびプログラム
WO2011106068A1 (en) * 2010-02-24 2011-09-01 Symantec Corporation Systems and methods for enabling replication targets to reclaim unused storage space on thin-provisioned storage systems

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10114583B2 (en) 2015-03-24 2018-10-30 Nec Corporation Storage system, storage management method, and storage medium
JP2020521247A (ja) * 2017-05-24 2020-07-16 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソース・ストレージにおけるデータをターゲット・ストレージにミラーリングするときにスペース・リリース・コマンドを処理するためのプログラム、システム、および方法
JP7139358B2 (ja) 2017-05-24 2022-09-20 インターナショナル・ビジネス・マシーンズ・コーポレーション ソース・ストレージにおけるデータをターゲット・ストレージにミラーリングするときにスペース・リリース・コマンドを処理するためのプログラム、システム、および方法

Also Published As

Publication number Publication date
US20140040581A1 (en) 2014-02-06
US8972634B2 (en) 2015-03-03
JP6011125B2 (ja) 2016-10-19

Similar Documents

Publication Publication Date Title
US7971011B2 (en) Remote copy method and storage system
US8381029B2 (en) Processing method, storage system, information processing apparatus, and computer-readable storage medium storing program
US20070011401A1 (en) System and method for adaptive operation of storage capacities of RAID systems
US9268650B2 (en) Storage device, controller, and non-transitory computer-readable recording medium for backing up data without lowering I/O capabilities
JP6136629B2 (ja) ストレージ制御装置,ストレージシステム,および制御プログラム
US10459813B2 (en) System and device for synchronizing data in a plurality of devices
US9342418B2 (en) Storage system, storage control device and data transfer method
JP2015052844A (ja) コピー制御装置,コピー制御方法及びコピー制御プログラム
US20130080725A1 (en) Control apparatus, control method, and storage apparatus
JP6011125B2 (ja) ストレージ装置及びストレージシステム
US8429357B2 (en) Device management apparatus, device initialization method, and device system
JP6069962B2 (ja) 情報処理装置、領域解放制御プログラム、および領域解放制御方法
US10007467B2 (en) Storage system
US20130031320A1 (en) Control device, control method and storage apparatus
JP2010198420A (ja) ストレージ制御装置,ストレージ制御方法およびストレージ制御プログラム
JP2006113882A (ja) データ管理装置
WO2013175622A1 (ja) 情報処理装置、情報処理プログラム、およびアクセス制御方法
US20100241817A1 (en) Storage apparatus and method thereof
US9170739B2 (en) Relay apparatus and relay method
JP6944117B2 (ja) 情報処理装置、転送制御方法および転送制御プログラム
JP5729043B2 (ja) ストレージ装置および制御装置
JP5772443B2 (ja) ストレージ装置及びプログラム
US20140059305A1 (en) Management apparatus, storage device, and initialization method
US9390745B2 (en) Data archive system
US11573729B2 (en) Storage device and storage control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160405

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160601

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160905

R150 Certificate of patent or registration of utility model

Ref document number: 6011125

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees