JP6476932B2 - ストレージ装置,制御プログラム,ストレージシステム及びデータ転送方法 - Google Patents
ストレージ装置,制御プログラム,ストレージシステム及びデータ転送方法 Download PDFInfo
- Publication number
- JP6476932B2 JP6476932B2 JP2015018372A JP2015018372A JP6476932B2 JP 6476932 B2 JP6476932 B2 JP 6476932B2 JP 2015018372 A JP2015018372 A JP 2015018372A JP 2015018372 A JP2015018372 A JP 2015018372A JP 6476932 B2 JP6476932 B2 JP 6476932B2
- Authority
- JP
- Japan
- Prior art keywords
- storage device
- data
- migration
- identification information
- order
- 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
- 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/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/152—Virtualized environment, e.g. logically partitioned system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
Description
このようなストレージシステムにおいては、データの移行先のストレージ装置に対して、データの移行元のストレージ装置からの移行処理が完了していないデータに対するアクセス要求が発生する場合がある。このような場合には、データの移行先のストレージ装置は、ネットワークを介して、データの移行元のストレージ装置からデータを取得する技術が知られている。
1つの側面では、本発明は、ストレージ装置間のデータ移行中におけるデータアクセス性能を向上させることを目的とする。
以下、図中において、同一の各符号は同様の部分を示しているので、その説明は省略する。
〔A−1〕システム構成
図1は、実施形態の一例としてのストレージシステムの機能構成を模式的に示す図である。
図1に示すストレージシステム100は、図示しないホスト装置に対して記憶領域を提供するものであり、ストレージ装置1及びストレージ装置2を備える。ストレージシステム100は、ストレージ装置1とストレージ装置2との間でデータの移行処理を行なう機能を備える。以下、本実施形態の一例においては、ストレージ装置2からストレージ装置1へデータを移行する例について示す。また、以下、ストレージ装置1を「移行先ストレージ装置1」といい、ストレージ装置2を「移行元ストレージ装置2」という場合がある。
ユーザ4は、図示しないホスト装置を介して、ストレージ装置1,2に対して、データInput/Output(I/O)の指示や移行先ストレージ装置1と移行元ストレージ装置2との間のデータ移行処理の指示を発行する。
以下、本実施形態の一例におけるストレージ装置1,2が備える機能構成を説明する前に、図2及び図3を参照しながら、本実施形態の関連技術としてのストレージシステム100a,100bにおけるデータ移行処理について説明する。
図2に示すストレージシステム100aは、図示しないホスト装置に対して記憶領域を提供するものであり、移行先ストレージ装置1a及び移行元スレージ装置2aを備える。
以下、移行先ストレージ装置1aと移行元ストレージ装置2aとをまとめてストレージ装置1a,2aという場合がある。
ストレージ装置1a,2aは、図示しない複数の記憶装置を搭載し、図示しないホスト装置に対して記憶領域を提供する装置であり、例えばRAIDを用いて図示しない複数の記憶装置にデータを分散し、冗長化した状態で保存する。
移行先ストレージ装置1aが備える図示しないCentral Processing Unit(CPU)は、運用中Virtual Machine(VM)6a及び移行先VM7aを展開する。
APP61aは、データ移行処理の実行等の機能を有するソフトウェアである。
OS62aは、移行先ストレージ装置1aのハードウェアの管理などの基本機能を実現するシステムソフトウェアである。
移行先VM7aは、ストレージシステム100aにおいて業務運用前の状態であり、移行元ストレージ装置2aからデータを移行されるVMである。移行先VM7aは、APP71a,OS72a及び仮想ディスク73aを含む。なお、図2に示す例において、仮想ボリューム73aは、データ移行処理が完了しておらず、データが格納されていないため、破線で示されている。
移行元ストレージ装置2aが備える図示しないCPUは、移行元VM8aを展開する。
移行元VM8aのAPP81a,OS82a及び仮想ディスク83aは、運用中VM6aのAPP61a,OS62a及び仮想ディスク63aと同様の機能を備える。よって、移行元VM8aのAPP81a,OS82a及び仮想ディスク83aが備える機能の説明は、省略する。
移行先ストレージ装置1aは、WAN5を介して、データA1を識別するためのハッシュ値を移行元ストレージ装置2aに送信する(符号A2参照)。言い換えれば、移行先ストレージ装置1aは、移行元ストレージ装置2aに対して、データA1が移行先ストレージ装置1aに格納されているというデータ移行処理にあたってのヒント情報を送信する。
しかしながら、移行先ストレージ装置1aが運用中の仮想ディスク63aに格納されたデータのうちどのデータに関するハッシュ値を移行元ストレージ装置2aに送信するかは、運用中の仮想ディスク63aに格納されたデータに基づき推定しなければならないという問題がある。つまり、移行先ストレージ装置1aは、ストレージシステム100aの運用開始時から運用中の仮想ディスク63aに格納されているデータと、既に移行元ストレージ装置2aからデータ移行処理が完了して運用中の仮想ディスク63aに格納されているデータとに基づき、ハッシュ値を選択しなければならない。
図3に示すストレージシステム100bは、図示しないホスト装置に対して記憶領域を提供するものであり、移行先ストレージ装置1b及び移行元スレージ装置2aを備える。図3に示すストレージシステム100bは図2に示した移行元ストレージ装置2aと同様の移行元ストレージ装置2aを備えるため、移行元ストレージ装置2aが備える機能構成の図示は簡単のため省略する。
以下、移行先ストレージ装置1bと移行元ストレージ装置2aとをまとめてストレージ装置1b,2aという場合がある。
ストレージ装置1b,2aは、図示しない複数の記憶装置を搭載し、図示しないホスト装置に対して記憶領域を提供する装置であり、例えばRAIDを用いて図示しない複数の記憶装置にデータを分散し、冗長化した状態で保存する。
移行先ストレージ装置1bが備える図示しないCPUは、運用中VM6b及び移行先VM7bを展開する。
図3に示す例において、キャッシュ領域64bには、1つのデータ#1,1つのデータ#2,2つのデータ#3及び3つのデータ#4が格納される(符号B参照)。具体的には、キャッシュ領域64bには、データ#1〜#4が最近使われた順であるデータ#1,データ#2,データ#3,データ#4,データ#4,データ#3,データ#4を特定できるように格納される。この場合に、移行先ストレージ1bは、移行元ストレージ装置2aに対して、データ#1〜#4を識別するためのハッシュ値をデータ#1,データ#2,データ#3,データ#4の順に送信する。なお、ストレージ装置1b,2a間のハッシュ値の送受信処理は、図2の符号A2及びA3で示した処理と同様であるため、その説明は省略する。
図4に示す本実施形態の一例としてのストレージシステム100おいて、移行先ストレージ装置1が備えるCPU11(図1を用いて後述)は、運用中VM6及び移行先VM7を展開する。
APP61は、データ移行処理の実行等の機能を有するソフトウェアである。
OS62は、移行先ストレージ装置1のハードウェアの管理などの基本機能を実現するシステムソフトウェアである。
キャッシュ領域64は、移行先ストレージ装置1が備えるメモリ12(図1を用いて後述)においてキャッシュメモリとして使われる領域に対応づけられた領域である。キャッシュ領域64には、運用中の仮想ディスク63に対するI/Oに応じて、複数のデータ(エントリメンバ)がLRU やLFU等の使用実績順に格納される。
移行先VM7は、ストレージシステム100において業務運用前の状態であり、移行元ストレージ装置2からデータを移行されるVMである。移行先VM7は、APP71,OS72及び仮想ディスク73を含む。なお、図4に示す例において、仮想ボリューム73は、データ移行処理が完了しておらず、データが格納されていないため、破線で示されている。
移行元ストレージ装置2が備えるCPU21(図1を用いて後述)は、移行元VM8を展開する。
移行元VM8のAPP81,OS82及び仮想ディスク83は、運用中VM6のAPP61,OS62及び仮想ディスク63と同様の機能を備える。よって、移行先VM8のAPP81,OS82及び仮想ディスク83が備える機能の説明は、省略する。
移行先ストレージ装置1は、Controller Module(CM)10及びDisk Enclosure(DE)30を備える。
DE30は、CM10とアクセスパスで通信可能に接続されており、複数(図示する例では3つ)の記憶装置31を備える。
CM10は、種々の制御を行なう制御装置であり、図示しないホスト装置からのストレージアクセス要求(アクセス制御信号:以下、ホストI/Oという)に従って、各種制御を行なう。なお、図1に示す例において移行先ストレージ装置1は1つのCM10のみを備えることとしているが、これに限定されるものではなく、移行先ストレージ装置1はシステムの冗長化のために2つ以上のCM10を備えても良い。CM10は、CPU(コンピュータ)11,メモリ(記憶装置)12,Communication Adaptor(CA)13,Network Interface Card(NIC)14及びDevice Adaptor(DA)15を備える。
NIC14は、移行先ストレージ装置1を例えばWAN5等の外部ネットワークに接続する通信アダプタである。
DA15は、CM10とDE30とを通信可能に接続するためのインタフェースであり、例えばFiber Channel(FC)アダプタである。CM10は、このDA15を介して、記憶装置31に対するデータの書き込みや読み出しを行なう。
移行処理部112は、移行先ストレージ装置1と移行元ストレージ装置2との間のデータの移行処理を行なう。具体的には、移行処理部112は、WAN5及びNIC14を介して移行元ストレージ装置2から送信されてきた移行対象のデータを取得し、取得したデータを記憶装置31に格納することにより、データの移行処理を行なう。
更に、移行処理部112は、移行元ストレージ装置2に格納されたデータに対するアクセス処理を行なう。具体的には、移行済みデータ判定部111によって移行対象のデータが移行先ストレージ装置1に移行済みでないと判定された場合に、NIC14及びWAN5を介して移行元ストレージ装置2の記憶装置31が格納するデータに対するアクセス処理を行なう。
以下、図5に示す例において、データ#1〜#4を識別するためのハッシュ値をハッシュ値#1〜#4とそれぞれ示す。
図5に示す例において、キャッシュ処理部113は、データ#1〜#4が最近使われた順を特定できるように、データ#1〜#4をキャッシュ領域64に格納する。具体的には、キャッシュ処理部113は、データ#1,データ#2,データ#3,データ#4,データ#4,データ#3,データ#4の順を特定できるように、データ#1〜#4をキャッシュ領域64に格納する。
重複度決定部114は、メモリ12のキャッシュ領域64に格納された複数のデータの重複度を決定する。具体的には、重複度決定部114は、キャッシュ領域64に含まれる同一のデータの数(重複数)を算出し、同一のデータ毎に算出した数(重複数)を重複度として決定する。
順序決定部115は、重複度決定部114によって決定された重複度に基づき、複数のハッシュ値を移行元ストレージ装置2に送信する順序を決定する。また、順序決定部115は、重複度決定部114によって決定された重複度が同一である複数のデータがある場合には、重複度が同一である複数のデータの使用実績に基づき、順序を決定する。
ハッシュ値送信部116は、順序決定部115によって決定された順序に基づき、複数のハッシュ値をNIC14及びWAN5を介して移行元ストレージ装置2に送信する。
図1に示すように、移行元ストレージ装置2は、CM20及びDE30を備える。
CM20は、種々の制御を行なう制御装置であり、図示しないホスト装置からのホストI/Oに従って、各種制御を行なう。なお、図1に示す例において移行元ストレージ装置2は1つのCM20のみを備えることとしているが、これに限定されるものではなく、移行元ストレージ装置2はシステムの冗長化のために2つ以上のCM20を備えても良い。CM20は、CPU21,メモリ22,CA23,NIC24及びDA25を備える。
CPU21は、種々の制御や演算を行なう処理装置であり、メモリ22に格納されたOSやプログラムを実行することにより、種々の機能を実現する。すなわち、CPU21は、図1に示すように、移行処理部211,キャッシュ処理部212,ハッシュ値受信部(受信部)213及びハッシュ値判定部(判定部)214として機能する。
ハッシュ値判定部214は、ハッシュ値受信部213によって受信された複数のハッシュ値のそれぞれについてと、移行元ストレージ装置2の記憶装置31に格納される複数のデータを識別するためのハッシュ値とが同一であるかを判定する。具体的には、ハッシュ値判定部214は、ハッシュ値受信部213によって受信された複数のハッシュ値を取得する。また、ハッシュ値判定部214は、キャッシュ処理部212に対してハッシュ値の取得要求を行なうことにより、記憶装置31に格納されたデータを識別するためのハッシュ値を取得する。そして、ハッシュ値判定部214は、ハッシュ値受信部213から取得したハッシュ値と、キャッシュ処理部212から取得されたハッシュ値とが同一であるかを判定する。ハッシュ値判定部214は、ハッシュ値受信部213によって受信された複数のハッシュ値についてこれらが受信された順に、ハッシュ値が同一であるかの判定をそれぞれ行なう。
キャッシュ処理部212は、移行元ストレージ装置2の記憶装置31に格納されたデータに対するアクセス処理を行なう際に、アクセス対象のデータをメモリ22のキャッシュメモリ領域に一時的に格納する。具体的には、キャッシュ処理部212は、データ移行処理211から記憶装置31に対するアクセス処理に基づき、アクセス対象のデータをメモリ22のキャッシュメモリ領域に一時的に格納する。また、キャッシュ処理部212は、ハッシュ値判定部214からのハッシュ値の取得要求に基づき、記憶装置31に格納されたデータを識別するためのハッシュ値をメモリ22のキャッシュ領域に一時的に格納する。
また、移行処理部211は、移行対象のデータを識別するためのハッシュ値を移行先ストレージ装置1に送信する。具体的には、移行処理部211は、複数のハッシュ値のうち、ハッシュ値判定部214によって同一であると判定されたハッシュ値をNIC24及びWAN5を介して移行先ストレージ装置1に通知することによって、移行先ストレージ装置1にデータを移行する。移行処理部211は、ハッシュ値判定部214によって複数のハッシュ値が同一であると判定された順に、ハッシュ値の通知を行なう。
上述の如く構成された実施形態の一例としてのストレージシステムにおける移行先ストレージ装置に格納されたデータに対するアクセス処理を、図6に示す図(符号D1〜D3)に従って説明する。
ユーザ4は、図示しないホスト装置を介して、ストレージ装置1にデータのアクセス指示を行なう(符号D1参照)。
キャッシュ処理部113は、アクセス対象のデータを移行先ストレージ装置1の記憶装置31から読み出し、読み出したデータをメモリ12のキャッシュ領域64に格納する(符号D3参照)。
このように、移行先ストレージ装置1に格納されたデータに対するアクセス処理は、移行先ストレージ装置1の筐体内に閉じて行なわれる。
ユーザ4は、図示しないホスト装置を介して、ストレージ装置1にデータのアクセス指示を行なう(符号E1参照)。
移行処理部112は、NIC14及びWAN5を介して、移行元ストレージ装置2にデータアクセス要求を送信する(符号E3及び符号E4参照)。
キャッシュ処理部212は、アクセス対象のデータを記憶装置31から読み出し、読み出したデータをメモリ22に格納する(符号E7参照)。
移行先ストレージ装置1の移行処理部112は、WAN5及びNIC14を介して、移行元ストレージ装置2から送信されたアクセス対象のデータを受信する(符号E4及びE3参照)。
このように、移行元ストレージ装置に格納されたデータに対するアクセス処理は、移行先ストレージ装置1からWAN5を介して移行元ストレージ装置2に対して行なわれる。
移行先ストレージ装置1のキャッシュ処理部113は、キャッシュ領域64に格納された複数のデータを読み出す(図8の符号F1参照)。
順序決定部115は、重複度決定部114によって決定された重複度に基づき、複数のハッシュ値を移行元ストレージ装置2に送信する順序を決定する(図8の符号F3参照)。また、順序決定部115は、重複度決定部114によって決定された重複度が同一である複数のデータがある場合には、これらの重複度が同一である複数のデータの使用実績に基づき、順序を決定する。
移行元ストレージ装置2のハッシュ値受信部213は、WAN5及びNIC24を介して、移行先ストレージ装置1のハッシュ値送信部116によって送信された複数のハッシュ値を受信する(図8の符号F5及びF6参照)。
ハッシュ値判定部214は、ハッシュ値受信部213によって受信された複数のハッシュ値を取得する(図8の符号F8参照)。また、ハッシュ値判定部214は、キャッシュ処理部212に対してハッシュ値の取得要求を行なうことにより、記憶装置31に格納されたデータを識別するためのハッシュ値を取得する(図8の符号F9参照)。そして、ハッシュ値判定部214は、ハッシュ値受信部213から取得したハッシュ値と、キャッシュ処理部212から取得したハッシュ値とが同一であるかを判定する。ハッシュ値判定部214は、ハッシュ値受信部213によって複数のハッシュ値が受信された順に、ハッシュ値が同一であるかの判定を行なう。
このように、ハッシュ値の通知処理は、移行元ストレージ装置2から移行先ストレージ装置1に対して、データではなくハッシュ値のみが送信されることによって行なわれる。これにより、ストレージ装置1,2間におけるデータ移行処理を高速化することができる。
移行元ストレージ装置2のキャッシュ処理部212は、移行対象のデータを記憶装置31から読み出し、読み出したデータをメモリ22に格納する(符号G1参照)。
移行処理部211は、メモリ22に格納された移行対象のデータを読み出し(符号G2)、読み出したデータをNIC24及びWAN5を介して移行先ストレージ装置1に送信する(符号G3及びG4参照)。
このように、データ移行処理は、移行元ストレージ装置2からWAN5を介して移行先ストレージ装置1に対して行なわれる。
重複度決定部114は、例えばメモリ12に記録されるインデックスカウンタの値を0に設定する(ステップS1)。ここで、インデックスカウンタの値とは、重複度毎のLRUリストにおいても、キャッシュエントリを元のLRUリストの順番通りに並べるために各キャッシュエントリに対して定義するインデックス用のカウンタ値である。
重複度決定部114は、重複度kのLRUリストにおいて、処理対象のキャッシュエントリと同一のデータを持つキャッシュエントリが存在するかを判定する(ステップS11)。
順序決定部115は、処理対象のキャッシュエントリのインデックスをキーとして、重複度k+1のLRUリストを降順にソートし(ステップS13)、処理は終了する。
順序決定部115は、インデックスカウンタをインクリメントし(ステップS16)、処理は終了する。
重複度決定部114は、LRUリストにおいてキャッシュエントリが最近使われた順に、重複度kのキャッシュエントリを重複度kのLRUリストの先頭に登録する(ステップS21)。
重複度決定部114及び順序決定部115は、図11又は図13を用いて示した処理を実行することにより、重複度毎のLRUリストを作成する(ステップS31)。
ハッシュ値送信部116は、既に移行元ストレージ装置2に転送済みのハッシュ値によって識別されるデータを重複度毎のLRUリストから削除する(ステップS32)。
いずれの重複度毎のLRUリストも空である場合には(ステップS33のYesルート参照)、処理は終了する。
ハッシュ値送信部116は、選択したデータを重複度毎のLRUリストから削除し(ステップS35)、処理は終了する。
このように、上述した実施形態の一例におけるストレージ装置1(ストレージシステム100)によれば、例えば以下の作用効果を奏することができる。
重複度決定部114は、メモリ12のキャッシュ領域64に格納された複数のデータの重複度を決定する。そして、順序決定部115は、重複度決定部114によって決定された重複度に基づき、複数のデータを識別するための複数のハッシュ値を移行元ストレージ装置2に送信する順序を決定する。
これにより、重複度が同一のデータについても、適切な順番でデータ移行処理を行なうことができる。
これにより、ストレージ装置1,2間におけるネットワーク負荷を減少させることができる。
これにより、適切な順番でデータ移行処理を行なうことができる。
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
(付記1)
通信可能に接続される他のストレージ装置からデータを移行されるストレージ装置であって、
複数のデータが格納される記憶装置と、
前記記憶装置に格納された前記複数のデータの重複度を決定する重複度決定部と、
前記重複度決定部によって決定された前記重複度に基づき、前記複数のデータを識別するための複数の識別情報を前記他のストレージ装置に送信する順序を決定する順序決定部と、
を備えることを特徴とする、ストレージ装置。
前記順序決定部は、前記重複度決定部によって決定された前記重複度が同一である複数のデータがある場合には、当該重複度が同一である複数のデータの使用実績に基づき、前記順序を決定する、
ことを特徴とする、付記1に記載のストレージ装置。
(付記3)
前記記憶装置は、前記複数のデータが一時的に格納されるキャッシュメモリである、
ことを特徴とする、付記1又は2に記載のストレージ装置。
通信可能に接続される他のストレージ装置からデータを移行されるストレージ装置に備えられるコンピュータに、
前記ストレージ装置に備えられる記憶装置に格納された複数のデータの重複度を決定し、
決定された前記重複度に基づき、前記複数のデータを識別するための複数の識別情報を前記他のストレージ装置に送信する順序を決定する、
処理を実行させることを特徴とする、制御プログラム。
決定された前記重複度が同一である複数のデータがある場合には、当該重複度が同一である複数のデータの使用実績に基づき、前記順序を決定する、
処理を前記コンピュータに実行させることを特徴とする、付記4に記載の制御プログラム。
(付記6)
前記記憶装置は、前記複数のデータが一時的に格納されるキャッシュメモリである、
ことを特徴とする、付記4又は5に記載の制御プログラム。
第1ストレージ装置と第2ストレージ装置とを有し、前記第2ストレージ装置から前記第1ストレージ装置に対してデータを移行するストレージシステムであって、
前記第1ストレージ装置は、
複数のデータが格納される記憶装置と、
前記記憶装置に格納された前記複数のデータの重複度を決定する重複度決定部と、
前記重複度決定部によって決定された前記重複度に基づき、前記複数のデータを識別するための複数の識別情報を前記第2ストレージ装置に送信する順序を決定する順序決定部と、
前記順序決定部によって決定された前記順序に基づき、前記複数の識別情報を前記第2ストレージ装置に送信する送信部と、
を備え、
前記第2ストレージ装置は、
前記送信部によって送信された前記複数の識別情報を受信する受信部と、
前記受信部によって受信された前記複数の識別情報と、当該第2ストレージ装置に格納される複数のデータを識別するための複数の識別情報とが同一であるかを判定する判定部と、
前記複数の識別情報のうち、前記判定部によって同一であると判定された識別情報を前記第1ストレージ装置に通知することによって、前記第1ストレージ装置にデータを移行する移行処理部と、
を備えることを特徴とする、ストレージシステム。
前記順序決定部は、前記重複度決定部によって決定された前記重複度が同一である複数のデータがある場合には、当該重複度が同一である複数のデータの使用実績に基づき、前記順序を決定する、
ことを特徴とする、付記7に記載のストレージシステム。
(付記9)
前記記憶装置は、前記複数のデータが一時的に格納されるキャッシュメモリである、
ことを特徴とする、付記7又は8に記載のストレージシステム。
前記判定部は、前記受信部によって前記複数の識別情報が受信された順に、前記判定を行ない、
前記移行処理部は、前記判定部によって複数の識別情報が同一であると判定された順に、前記通知を行なう、
ことを特徴とする、付記7〜9のいずれか1項に記載のストレージシステム。
第1ストレージ装置と第2ストレージ装置とを有し、前記第2ストレージ装置から前記第1ストレージ装置に対してデータを移行するストレージシステムにおけるデータ転送方法であって、
前記第1ストレージ装置は、
当該第1ストレージ装置に備えられる記憶装置に格納された複数のデータの重複度を決定し、
決定された前記重複度に基づき、前記複数のデータを識別するための複数の識別情報を前記第2ストレージ装置に送信する順序を決定し、
決定された前記順序に基づき、前記複数の識別情報を前記第2ストレージ装置に送信し、
前記第2ストレージ装置は、
前記第1ストレージ装置によって送信された前記複数の識別情報を受信し、
受信された前記複数の識別情報と、当該第2ストレージ装置に格納される複数のデータを識別するための複数の識別情報とが同一であるかを判定し、
前記複数の識別情報のうち、同一であると判定された識別情報を前記第1ストレージ装置に通知することによって、前記第1ストレージ装置にデータを移行する、
ことを特徴とする、データ転送方法。
前記第1ストレージ装置は、決定された前記重複度が同一である複数のデータがある場合には、当該重複度が同一である複数のデータの使用実績に基づき、前記順序を決定する、
ことを特徴とする、付記11に記載のデータ転送方法。
(付記13)
前記記憶装置は、前記複数のデータが一時的に格納されるキャッシュメモリである、
ことを特徴とする、付記11又は12に記載のデータ転送方法。
前記第2ストレージ装置は、
前記複数の識別情報が受信された順に、前記判定を行ない、
複数の識別情報が同一であると判定された順に、前記通知を行なう、
ことを特徴とする、付記11〜13のいずれか1項に記載のデータ転送方法。
1 移行先ストレージ装置(第1ストレージ装置)
10 CM
11 CPU(コンピュータ)
111 移行済みデータ判定部
112 移行処理部
113 キャッシュ処理部
114 重複度決定部
115 順序決定部
116 ハッシュ値送信部(送信部)
12 メモリ(記憶装置)
13 CA
14 NIC
15 DA
2 移行元ストレージ装置(第2ストレージ装置)
21 CPU
211 移行処理部
212 キャッシュ処理部
213 ハッシュ値受信部(受信部)
214 ハッシュ値判定部(判定部)
22 メモリ
23 CA
24 NIC
25 DA
30 DE
31 記憶装置
4 ユーザ
5 WAN
6 運用中VM
61 APP
62 OS
63 仮想ディスク
64 キャッシュ領域
7 移行先VM
71 APP
72 OS
73 仮想ディスク
8 移行元VM
81 APP
82 OS
83 仮想ディスク
100a ストレージシステム
1a 移行先ストレージ装置
2a 移行元ストレージ装置
6a 運用中VM
61a APP
62a OS
63a 仮想ディスク
7a 移行先VM
71a APP
72a OS
73a 仮想ディスク
8a 移行元VM
81a APP
82a OS
83a 仮想ディスク
100b ストレージシステム
1b 移行先ストレージ装置
6b 運用中VM
61b APP
62b OS
63b 仮想ディスク
64b キャッシュ領域
7b 移行先VM
71b APP
72b OS
73b 仮想ディスク
Claims (6)
- 通信可能に接続される他のストレージ装置からデータを移行されるストレージ装置であって、
複数のデータが格納される記憶装置と、
前記記憶装置に格納されている前記複数のデータのデータ毎の重複度を決定する重複度決定部と、
前記重複度決定部によって決定された前記重複度に基づき、前記複数のデータを識別するための複数の識別情報を前記他のストレージ装置に送信する順序を決定する順序決定部と、
を備えることを特徴とする、ストレージ装置。 - 前記順序決定部は、前記重複度決定部によって決定された前記重複度が同一である複数のデータがある場合には、当該重複度が同一である複数のデータの使用実績に基づき、前記順序を決定する、
ことを特徴とする、請求項1に記載のストレージ装置。 - 前記記憶装置は、前記複数のデータが一時的に格納されるキャッシュメモリである、
ことを特徴とする、請求項1又は2に記載のストレージ装置。 - 通信可能に接続される他のストレージ装置からデータを移行されるストレージ装置に備えられるコンピュータに、
前記ストレージ装置に備えられる記憶装置に格納されている複数のデータのデータ毎の重複度を決定し、
決定された前記重複度に基づき、前記複数のデータを識別するための複数の識別情報を前記他のストレージ装置に送信する順序を決定する、
処理を実行させることを特徴とする、制御プログラム。 - 第1ストレージ装置と第2ストレージ装置とを有し、前記第2ストレージ装置から前記第1ストレージ装置に対してデータを移行するストレージシステムであって、
前記第1ストレージ装置は、
複数のデータが格納される記憶装置と、
前記記憶装置に格納されている前記複数のデータのデータ毎の重複度を決定する重複度決定部と、
前記重複度決定部によって決定された前記重複度に基づき、前記複数のデータを識別するための複数の識別情報を前記第2ストレージ装置に送信する順序を決定する順序決定部と、
前記順序決定部によって決定された前記順序に基づき、前記複数の識別情報を前記第2ストレージ装置に送信する送信部と、
を備え、
前記第2ストレージ装置は、
前記送信部によって送信された前記複数の識別情報を受信する受信部と、
前記受信部によって受信された前記複数の識別情報と、当該第2ストレージ装置に格納される複数のデータを識別するための複数の識別情報とが同一であるかを判定する判定部と、
前記複数の識別情報のうち、前記判定部によって同一であると判定された識別情報を前記第1ストレージ装置に通知することによって、前記第1ストレージ装置にデータを移行する移行処理部と、
を備えることを特徴とする、ストレージシステム。 - 第1ストレージ装置と第2ストレージ装置とを有し、前記第2ストレージ装置から前記第1ストレージ装置に対してデータを移行するストレージシステムにおけるデータ転送方
法であって、
前記第1ストレージ装置は、
当該第1ストレージ装置に備えられる記憶装置に格納されている複数のデータのデータ毎の重複度を決定し、
決定された前記重複度に基づき、前記複数のデータを識別するための複数の識別情報を前記第2ストレージ装置に送信する順序を決定し、
決定された前記順序に基づき、前記複数の識別情報を前記第2ストレージ装置に送信し、
前記第2ストレージ装置は、
前記第1ストレージ装置によって送信された前記複数の識別情報を受信し、
受信された前記複数の識別情報と、当該第2ストレージ装置に格納される複数のデータを識別するための複数の識別情報とが同一であるかを判定し、
前記複数の識別情報のうち、同一であると判定された識別情報を前記第1ストレージ装置に通知することによって、前記第1ストレージ装置にデータを移行する、
ことを特徴とする、データ転送方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015018372A JP6476932B2 (ja) | 2015-02-02 | 2015-02-02 | ストレージ装置,制御プログラム,ストレージシステム及びデータ転送方法 |
US14/972,712 US9977620B2 (en) | 2015-02-02 | 2015-12-17 | Storage device and storage system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015018372A JP6476932B2 (ja) | 2015-02-02 | 2015-02-02 | ストレージ装置,制御プログラム,ストレージシステム及びデータ転送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016143221A JP2016143221A (ja) | 2016-08-08 |
JP6476932B2 true JP6476932B2 (ja) | 2019-03-06 |
Family
ID=56553105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015018372A Active JP6476932B2 (ja) | 2015-02-02 | 2015-02-02 | ストレージ装置,制御プログラム,ストレージシステム及びデータ転送方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9977620B2 (ja) |
JP (1) | JP6476932B2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102507743B1 (ko) * | 2016-02-04 | 2023-03-09 | 삼성전자주식회사 | 메모리 관리 방법 및 그 전자 장치 |
US10795860B1 (en) | 2017-04-13 | 2020-10-06 | EMC IP Holding Company LLC | WAN optimized micro-service based deduplication |
US10795859B1 (en) | 2017-04-13 | 2020-10-06 | EMC IP Holding Company LLC | Micro-service based deduplication |
US10459633B1 (en) | 2017-07-21 | 2019-10-29 | EMC IP Holding Company LLC | Method for efficient load balancing in virtual storage systems |
US10936543B1 (en) | 2017-07-21 | 2021-03-02 | EMC IP Holding Company LLC | Metadata protected sparse block set for SSD cache space management |
US10860212B1 (en) * | 2017-07-21 | 2020-12-08 | EMC IP Holding Company LLC | Method or an apparatus to move perfect de-duplicated unique data from a source to destination storage tier |
US10949088B1 (en) | 2017-07-21 | 2021-03-16 | EMC IP Holding Company LLC | Method or an apparatus for having perfect deduplication, adapted for saving space in a deduplication file system |
US11461269B2 (en) | 2017-07-21 | 2022-10-04 | EMC IP Holding Company | Metadata separated container format |
US11113153B2 (en) | 2017-07-27 | 2021-09-07 | EMC IP Holding Company LLC | Method and system for sharing pre-calculated fingerprints and data chunks amongst storage systems on a cloud local area network |
US10481813B1 (en) | 2017-07-28 | 2019-11-19 | EMC IP Holding Company LLC | Device and method for extending cache operational lifetime |
US10929382B1 (en) | 2017-07-31 | 2021-02-23 | EMC IP Holding Company LLC | Method and system to verify integrity of a portion of replicated data |
US11093453B1 (en) | 2017-08-31 | 2021-08-17 | EMC IP Holding Company LLC | System and method for asynchronous cleaning of data objects on cloud partition in a file system with deduplication |
US10817204B1 (en) * | 2017-10-11 | 2020-10-27 | EMC IP Holding Company LLC | Migration of versioned data between storage devices |
JP7306665B2 (ja) * | 2018-03-01 | 2023-07-11 | Necソリューションイノベータ株式会社 | ストレージ装置、データ移行方法、プログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5043885A (en) * | 1989-08-08 | 1991-08-27 | International Business Machines Corporation | Data cache using dynamic frequency based replacement and boundary criteria |
US8768895B2 (en) * | 2007-04-11 | 2014-07-01 | Emc Corporation | Subsegmenting for efficient storage, resemblance determination, and transmission |
JP4871850B2 (ja) | 2007-12-04 | 2012-02-08 | 株式会社日立製作所 | 仮想計算機システム及び仮想計算機移行制御方法 |
US8850426B2 (en) | 2009-12-13 | 2014-09-30 | International Business Machines Corporation | Managing remote deployment of a virtual machine and service request to be processed by the virtual machines based on network bandwith and storage connectivity |
WO2012081099A1 (ja) * | 2010-12-15 | 2012-06-21 | 富士通株式会社 | データ移行プログラム、計算機およびデータ移行方法 |
JP5632408B2 (ja) * | 2012-02-27 | 2014-11-26 | 日本電信電話株式会社 | データ移行装置およびその動作方法 |
US9575978B2 (en) * | 2012-06-26 | 2017-02-21 | International Business Machines Corporation | Restoring objects in a client-server environment |
-
2015
- 2015-02-02 JP JP2015018372A patent/JP6476932B2/ja active Active
- 2015-12-17 US US14/972,712 patent/US9977620B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016143221A (ja) | 2016-08-08 |
US9977620B2 (en) | 2018-05-22 |
US20160224274A1 (en) | 2016-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6476932B2 (ja) | ストレージ装置,制御プログラム,ストレージシステム及びデータ転送方法 | |
JP5456063B2 (ja) | アロケートオンライトのスナップショットを用いた、ダイナミックストレージ階層化のための方法及びシステム | |
US9389810B2 (en) | Performance-based grouping of storage devices in a storage system | |
JP4749140B2 (ja) | データマイグレーション方法及びシステム | |
US7900013B2 (en) | Method and computer for determining storage device | |
JP2008217216A (ja) | 負荷分散方法及び計算機システム | |
US9971527B2 (en) | Apparatus and method for managing storage for placing backup data into data blocks based on frequency information | |
JP4905511B2 (ja) | 記憶装置の制御部及び制御方法 | |
JP2010086049A (ja) | 管理計算機及びその運用方法 | |
JP5104855B2 (ja) | 負荷分散プログラム、負荷分散方法、及びストレージ管理装置 | |
JP2015505623A (ja) | ステージング・エリアを管理するためのコンピュータ実施プロセス、コンピュータ・プログラム製品、装置 | |
JP2015026112A (ja) | ストレージ制御装置、制御プログラム及び制御方法 | |
JP6867578B2 (ja) | ストレージ制御装置、ストレージシステム、ストレージ制御方法およびストレージ制御プログラム | |
US9535791B2 (en) | Storage control device, non-transitory computer-readable recording medium having stored therein program, and control method | |
US20160224273A1 (en) | Controller and storage system | |
US20130031320A1 (en) | Control device, control method and storage apparatus | |
US20180307427A1 (en) | Storage control apparatus and storage control method | |
US20140297981A1 (en) | Information processing system, storage device, and backup method | |
JP7404988B2 (ja) | ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム | |
JP7200746B2 (ja) | 制御装置、及び制御プログラム | |
US20150324127A1 (en) | Storage control apparatus and storage control method | |
US10592349B2 (en) | Storage control device and storage apparatus | |
US20140059305A1 (en) | Management apparatus, storage device, and initialization method | |
US20130151808A1 (en) | Allocation device, allocation method and storage device | |
JP2009294699A (ja) | ストレージ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180810 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180911 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181112 |
|
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: 20190108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190121 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6476932 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |