JP2016177407A - Data management device, data management method and data management program - Google Patents
Data management device, data management method and data management program Download PDFInfo
- Publication number
- JP2016177407A JP2016177407A JP2015055670A JP2015055670A JP2016177407A JP 2016177407 A JP2016177407 A JP 2016177407A JP 2015055670 A JP2015055670 A JP 2015055670A JP 2015055670 A JP2015055670 A JP 2015055670A JP 2016177407 A JP2016177407 A JP 2016177407A
- Authority
- JP
- Japan
- Prior art keywords
- data
- volume
- storage area
- data storage
- management table
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、スナップショット技術を利用した仮想マシンにおけるデータアクセスに関する。 The present invention relates to data access in a virtual machine using snapshot technology.
近年、コスト削減や運用管理の容易化の観点から、仮想マシンを作成する仮想化技術が普及している。仮想化技術では、例えばVMWare(登録商標)社のLinked Clone技術を用いた製品がリリースされている。Linked Clone技術は、例えば、特許文献1に開示されるように、共有するマシンのディスクイメージ(マシンイメージ)のスナップショットをとり、共有するマシンイメージとの差分データのみを管理することにより、ディスク容量を削減する技術である。
In recent years, virtualization technology for creating virtual machines has become widespread from the viewpoint of cost reduction and ease of operation management. In the virtualization technology, for example, products using Linked Clone technology of VMWare (registered trademark) have been released. Linked Clone technology, as disclosed in, for example,
また、例えば特許文献2に開示されるように、マスタとなる仮想マシンのボリューム(マスタボリューム)の複製を世代管理する技術としても、スナップショット技術が知られている。この場合も、スナップショット作成時点からのマスタボリュームに更新があったアドレスのみスナップショットボリュームに更新前データを保持するので、ディスク容量を削減することができる。 Further, as disclosed in, for example, Patent Document 2, a snapshot technique is known as a technique for performing generation management of a copy of a master virtual machine volume (master volume). Also in this case, since the pre-update data is held in the snapshot volume only for the address where the master volume has been updated since the snapshot was created, the disk capacity can be reduced.
ここで、スナップショットとは、指定された時点における所定のボリュームの状態を保持するための技術またはその状態をキャプチャした結果である。以降、元データを記憶するボリュームを「マスタボリューム」と称し、元データを記憶するボリュームの更新前データを保持するために定義された複製データ記憶領域となるボリュームを「スナップショットボリューム」と称する。 Here, the snapshot is a technique for holding the state of a predetermined volume at a specified time point or a result of capturing the state. Hereinafter, the volume that stores the original data is referred to as a “master volume”, and the volume that becomes the duplicate data storage area defined to hold the pre-update data of the volume that stores the original data is referred to as the “snapshot volume”.
図17を参照して、スナップショット技術の一例について説明する。図17(a)に示すようなデータを記憶したマスタボリュームのスナップショットをとる場合、まず、このマスタボリュームと同等の記憶容量を有するスナップショットボリュームが図17(a)に示すように記憶装置内に生成される。 An example of the snapshot technique will be described with reference to FIG. When taking a snapshot of a master volume storing data as shown in FIG. 17A, first, a snapshot volume having a storage capacity equivalent to this master volume is stored in the storage device as shown in FIG. Is generated.
そして、マスタボリュームにおけるデータ”BB”の記憶領域(アドレス)にデータ”EE”の書き込みを行おうした段階で、更新前のデータ”BB”が図17(b)に示すようにスナップショットボリュームの同一アドレスに格納される。このスナップショットボリュームは、第1世代のスナップショットとして機能する。 When the data “EE” is written to the storage area (address) of the data “BB” in the master volume, the data “BB” before the update is stored in the snapshot volume as shown in FIG. Stored at the same address. This snapshot volume functions as a first generation snapshot.
続いて、改めてマスタボリュームのスナップショットをとる場合、このマスタボリュームと同等の記憶容量を有するスナップショットボリュームが図17(b)に示すよう新たに記憶装置内に生成される。このスナップショットボリュームは、第2世代のスナップショットとなる。 Subsequently, when taking a snapshot of the master volume again, a snapshot volume having a storage capacity equivalent to the master volume is newly created in the storage device as shown in FIG. This snapshot volume is a second generation snapshot.
続いて、更にマスタボリュームにおけるデータ”CC”の記憶領域にデータ”FF”の書き込みを行おうとすると、更新前のデータ”CC”が図17(c)に示すように第2世代のスナップショットとして機能するスナップショットボリュームの同一アドレスに格納される。このとき、第1世代のスナップショットとして機能するスナップショットボリュームの内容は、図17(b)および図17(c)に示すように保持されたままである。 Subsequently, when the data “FF” is written to the storage area of the data “CC” in the master volume, the data “CC” before the update is used as a second generation snapshot as shown in FIG. Stored at the same address of the functioning snapshot volume. At this time, the contents of the snapshot volume that functions as the first-generation snapshot are retained as shown in FIGS. 17B and 17C.
なお、「(AA)」、「(BB)」等は、そのボリュームにはデータが存在しないが、上位世代またはマスタの該当するページからデータA1、B1が読み出せることを意味する。 Note that “(AA)”, “(BB)”, and the like mean that data A1 and B1 can be read from the corresponding page of the higher generation or master, although no data exists in the volume.
上記のようなスナップショット技術を用いてデータの複製を管理するディスクアレイサブシステムでは、マスタボリュームへの更新があったアドレスのデータのみスナップショットボリュームに保持される。スナップショットボリュームは、自ボリュームがデータを保持するか否かを、アドレス毎に管理する保持データ管理テーブルを有している。したがって、ディスクアレイサブシステムのデータアクセス手段は、スナップショットボリュームへのリード命令を受けた場合、対象となるデータのアドレスに対応する保持データ管理テーブルの情報を調べる。その結果、データがあると判断された場合は、データアクセス手段は、スナップショットボリュームからそのデータを読み出す。一方、データがないと判断された場合は、データアクセス手段は、マスタボリュームからそのデータを読み出す。 In a disk array subsystem that manages data replication using the snapshot technique as described above, only data at an address that has been updated to the master volume is held in the snapshot volume. The snapshot volume has a retained data management table that manages for each address whether or not the own volume retains data. Therefore, when the data access means of the disk array subsystem receives a read command to the snapshot volume, it checks the information in the retained data management table corresponding to the address of the target data. As a result, when it is determined that there is data, the data access means reads the data from the snapshot volume. On the other hand, when it is determined that there is no data, the data access means reads the data from the master volume.
仮想マシンを複数ユーザに提供する際、マシンイメージのバージョン管理を、上記のようなスナップショット技術を用いて実施することが可能である。また、1つのバージョンについて更にスナップショット技術によりサブバージョン管理をすることも可能である。更に、Linke Clone技術によってサブバージョンのスナップショットを複数作成し、ユーザに提供することも可能である。 When providing a virtual machine to a plurality of users, it is possible to perform version management of a machine image using the snapshot technology as described above. Further, it is possible to further manage the sub version by using a snapshot technique for one version. Furthermore, a plurality of sub-version snapshots can be created by the Link Clone technology and provided to the user.
このように、Linked Clone技術を含むスナップショット技術を階層的に用いることにより、少ないディスク容量で複数のユーザそれぞれに適したマシンイメージを提供することができると共に、運用管理も容易となる。 As described above, by using the snapshot technology including the Linked Clone technology hierarchically, a machine image suitable for each of a plurality of users can be provided with a small disk capacity, and operation management is facilitated.
上述のようなスナップショット技術を用いたOS(Operating System)イメージのバージョン管理、およびOSイメージをユーザに提供する方法の例について説明する。 An example of OS (Operating System) image version management using the snapshot technique as described above and a method of providing an OS image to a user will be described.
OSが更新される際、更新前のOSイメージのボリュームのスナップショットを作成する。ここで、バージョンアップやパッチなどで更新される前のOSイメージのボリュームを、「共通OSイメージボリューム」と称する。 When the OS is updated, a snapshot of the volume of the OS image before update is created. Here, the volume of the OS image before being updated by version upgrade or patch is referred to as “common OS image volume”.
共通OSイメージボリュームをマスタとしたスナップショットボリューム(以降、「各バージョンOSボリューム」と称する)は、図17(b)に示したように、上位世代の各バージョンOSボリュームまたは共通OSイメージボリュームとの差分のみを保持している。なお、共通OSイメージボリュームは、上述の「マスタボリューム」に相当し、共通OSイメージボリュームをマスタとして作成された各バージョンOSボリュームは、上述の「スナップショットボリューム」に相当する。 As shown in FIG. 17B, the snapshot volume (hereinafter referred to as “each version OS volume”) having the common OS image volume as a master is connected to each version OS volume or common OS image volume of a higher generation. Only the difference is retained. The common OS image volume corresponds to the “master volume” described above, and each version OS volume created using the common OS image volume as a master corresponds to the “snapshot volume” described above.
ユーザには、各バージョンOSボリュームをマスタとしたスナップショット(以降、「ユーザボリューム」と称する)が提供される。ユーザボリュームは、作成された時点ではマスタである各バージョンOSボリュームと同じイメージを有し、その後各バージョンOSボリュームが更新されたアドレスのデータのみを保持する。 The user is provided with a snapshot (hereinafter referred to as “user volume”) with each version OS volume as a master. The user volume has the same image as each version OS volume that is the master at the time of creation, and then holds only the data at the address at which each version OS volume was updated.
ここで、特許文献1は、例えば、ディスクアレイサブシステムにおけるスナップショット動作において、更新データのみを保持するデータ格納システムを開示する。
Here, for example,
また、特許文献2は、シンプルな処理により既存の仮想マシンのディスクイメージの重複排除を実現できるストレージ管理システムを開示する。 Patent Document 2 discloses a storage management system that can realize deduplication of disk images of existing virtual machines by simple processing.
上述のようなスナップショット技術によりユーザボリュームを管理するディスクアレイサブシステムにおいて、ユーザボリュームへのアクセスは、以下の手順で行われる。上述のように、ユーザボリュームは、マスタとなる各バージョンOSボリュームに更新がない場合はデータを保持しない。したがって、この場合、ディスクアレイサブシステムのデータアクセス手段は、ユーザボリュームへのアクセスに際して、マスタである各バージョンOSボリュームにデータが存在するか否かを調べる。 In the disk array subsystem that manages user volumes by the snapshot technique as described above, access to user volumes is performed in the following procedure. As described above, the user volume does not hold data when there is no update in each master version OS volume. Therefore, in this case, the data access means of the disk array subsystem checks whether data exists in each version OS volume as a master when accessing the user volume.
マスタボリュームにデータが存在しない場合、データアクセス手段は、スナップショットのさらなる上位世代である各バージョンOSボリュームにデータが存在するか否かを調べる。 If no data exists in the master volume, the data access unit checks whether data exists in each version OS volume that is a higher generation of the snapshot.
このように、スナップショットによるボリューム管理では、ユーザボリューム(下位階層の複製データ記憶領域)へのアクセスに対して、データが存在するボリュームまで世代を辿って調べる必要がある。したがって、OSのバージョンが複数存在する場合は、ユーザボリュームへのアクセス時間が遅延してしまうという課題がある。 As described above, in the volume management based on the snapshot, it is necessary to trace the generation to the volume in which the data exists for the access to the user volume (lower-level replicated data storage area). Therefore, when there are a plurality of OS versions, there is a problem that the access time to the user volume is delayed.
特許文献1および特許文献2には、このようなユーザボリュームへのアクセス時間の遅延を防ぐ技術は開示されていない。
本願発明は、上記課題を鑑みてなされたものであり、下位階層の複製データ記憶領域へのアクセス時間を短縮することができるデータ管理装置等を提供することを主要な目的とする。 The present invention has been made in view of the above problems, and has as its main object to provide a data management device and the like that can shorten the access time to a lower-level replicated data storage area.
本発明の第1のデータ管理装置は、元データの更新に伴って、当該元データを複製データ記憶領域に格納するデータ管理装置において、前記元データの更新に伴って連続した世代として保持される第1の階層の前記複製データ記憶領域に、前記元データを差分データとして格納すると共に、自世代および上位世代の前記複製データ記憶領域におけるデータ有無状況を示す差分管理テーブルを前記複製データ記憶領域に関連付けて生成する更新手段と、前記複製データ記憶領域へのアクセスに応じて、前記差分管理テーブルに示されるデータ有無状況に基づいてアクセスを行うアクセス手段とを備える。 The first data management device according to the present invention is held in a data management device that stores the original data in a replicated data storage area as the original data is updated, and is continuously generated as the original data is updated. The original data is stored as differential data in the replicated data storage area of the first hierarchy, and a differential management table indicating the data presence / absence status in the replicated data storage areas of its own generation and higher generation is stored in the replicated data storage area And updating means for generating the data in association with each other, and access means for performing access based on the data presence / absence status indicated in the difference management table in response to access to the replicated data storage area.
本発明の第1のデータ管理方法は、元データの更新に伴って、当該元データを複製データ記憶領域に格納するデータ管理方法において、前記元データの更新に伴って連続した世代として保持される第1の階層の前記複製データ記憶領域に、前記元データを差分データとして格納すると共に、自世代および上位世代の前記複製データ記憶領域におけるデータ有無状況を示す差分管理テーブルを前記複製データ記憶領域に関連付けて生成し、前記複製データ記憶領域へのアクセスに応じて、前記差分管理テーブルに示されるデータ有無状況に基づいてアクセスを行う。 The first data management method of the present invention is a data management method for storing original data in a replicated data storage area as the original data is updated, and is retained as successive generations as the original data is updated. The original data is stored as differential data in the replicated data storage area of the first hierarchy, and a differential management table indicating the data presence / absence status in the replicated data storage areas of its own generation and higher generation is stored in the replicated data storage area Access is made based on the data presence / absence situation shown in the difference management table in response to access to the duplicate data storage area.
なお同目的は、上記の各構成を有するデータ管理方法を、コンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。 This object is also achieved by a computer program that realizes the data management method having the above-described configurations by a computer, and a computer-readable storage medium that stores the computer program.
本願発明によれば、データ格納装置において、ユーザボリュームへのアクセス時間を短縮することができるという効果が得られる。 According to the present invention, it is possible to shorten the access time to the user volume in the data storage device.
以下、本発明の実施形態について図面を参照して詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
第1の実施形態
図1は、本発明の第1の実施形態に係るディスクアレイサブシステム100の構成を示すブロック図である。図1に示すように、ディスクアレイサブシステム100は、1または複数のホスト200−1乃至200−nと接続される。
First Embodiment FIG. 1 is a block diagram showing a configuration of a
ホスト200は、データ管理を行うボリューム群を備えたディスクアレイサブシステム100に対して、ボリュームへの書き込み、ボリュームからの読み出し、スナップショットの作成、OSの更新、OSの更新抑止、OSの更新許可等の命令(コマンド)を送る。以降、1または複数のホスト200−1乃至200−nを総称して「ホスト200」と称する。
The
図1に示すように、ディスクアレイサブシステム100は、ボリューム管理部110、I/O(Input/Output)処理部130、ボリューム群150およびテーブル記憶部170を備える。
As shown in FIG. 1, the
ボリューム管理部110は、ホスト200からのボリューム管理コマンドに応じて、ボリューム群150に含まれるボリュームを管理する処理を実行すると共に、処理が完了すると、ホスト200にレスポンスを返却する。ボリューム管理部110は、ボリューム管理コマンド取得部111、スナップショット実行部112、OS更新抑止部113およびOS更新許可部114を備える。
The
I/O処理部130は、ホスト200からのI/Oコマンドに応じて、ボリューム群150に含まれるボリュームにリード処理またはライト処理を実行し、処理が完了すると、ホスト200にレスポンスを返却する。I/O処理部130は、I/Oコマンド取得部131、ライト命令実行部132およびリード命令実行部133を備える。
The I /
ボリューム群150は、複数のボリュームを含む。具体的には、ボリューム群150は、共通OSイメージボリューム151、各バージョンOSボリューム152、ユーザボリューム153およびプールボリューム154を備える。
The volume group 150 includes a plurality of volumes. Specifically, the volume group 150 includes a common
テーブル記憶部170は、ボリューム群150に含まれるボリュームを管理するテーブルを含む。具体的には、テーブル記憶部170は、ボリューム対応テーブル171、ボリューム更新許否テーブル172、保持データ管理テーブル173および上位世代差分管理テーブル(差分管理テーブル)174を備える。
The
ディスクアレイサブシステム100の各構成要素の概要を説明する。
An outline of each component of the
ボリューム管理部110のボリューム管理コマンド取得部111は、ホスト200からボリューム管理コマンドを受けとり、そのコマンドに応じてスナップショット実行部112、OS更新抑止部113またはOS更新許可部114にコマンドを渡す。
The volume management
スナップショット実行部112は、ボリューム管理コマンド取得部111からのスナップショット作成コマンドを受けとると、該コマンドにて指定されるマスタボリュームからスナップショットを作成する。そして、スナップショット実行部112は、作成したスナップショットに関してテーブル記憶部170に含まれるテーブルに情報を追加する。
When the
OS更新抑止部113は、ボリューム管理コマンド取得部111からのOS更新抑止コマンドに応じて、ボリューム更新許否テーブル172にフラグをセットする。また、OS更新抑止部113は、OS更新抑止コマンドに応じて、上位世代差分管理テーブル174に情報を追加する。
The OS
OS更新許可部114は、ボリューム管理コマンド取得部111からのOS更新許可コマンドに応じて、ボリューム更新許否テーブル172のフラグをクリアする。また、OS更新許可部114は、OS更新許可コマンドに応じて、上位世代差分管理テーブル174のフラグをクリアする。
The OS
図2は、スナップショット実行部112により情報を追加されるボリューム対応テーブル171の例を示す図である。ボリューム対応テーブル171は、スナップショットが作成されたマスタボリュームとスナップショットボリュームの対応関係を含むテーブルである。図2に示すボリューム対応テーブル171は、詳細を後述する図6に示すボリューム構成に対応する。図2に示すように、ボリューム対応テーブル171は、マスタボリューム番号と、スナップショットのボリューム番号を含む。図2では、例えば、「MV_OS1」はマスタボリュームの番号であり、このマスタボリュームのスナップショットボリュームとして「SV_OSVer3」、「SV_OSVer2」「SV_OSVer1」がそれぞれ第3世代、第2世代、第1世代として作成されたことを示す。このように、スナップショットは、マスタボリューム(元データ)の更新に伴って連続した世代として保持される。
FIG. 2 is a diagram illustrating an example of the volume correspondence table 171 to which information is added by the
スナップショット実行部112は、また、スナップショットが作成されると、保持データ管理テーブル173に情報を追加する。図3は、保持データ管理テーブル173の例を示す図である。図3に示すように、保持データ管理テーブル173は、スナップショットボリュームに、マスタボリュームに記憶しているデータと対応するデータが存在するか否かを管理するテーブルである。
The
保持データ管理テーブル173は、当該対応するデータが存在するか否かを、データの複製処理を行う単位であるスナップショットI/O処理単位(以下、ページ単位と称する。)毎にフラグで管理する。例えば、フラグが「1」のときは対応するデータが存在することを示し、フラグが「0」のときは対応するデータが存在しないことを示す。図3では、例えば、スナップショットボリューム「SV_OSVer1」の「page0」にはフラグが「1」に設定されるので、スナップショットボリューム「SV_OSVer1」の「page0」にはデータが存在すること示す。 The retained data management table 173 manages whether or not the corresponding data exists with a flag for each snapshot I / O processing unit (hereinafter referred to as a page unit) that is a unit for performing data replication processing. . For example, when the flag is “1”, it indicates that the corresponding data exists, and when the flag is “0”, it indicates that the corresponding data does not exist. In FIG. 3, for example, since the flag is set to “1” for “page0” of the snapshot volume “SV_OSVer1”, it indicates that data exists in “page0” of the snapshot volume “SV_OSVer1”.
ここで、スナップショット実行部112は、マスタボリュームへの書き込みがあると、そのページ単位でマスタボリュームの書き込み前のデータをスナップショットボリュームに複製する(以下、この動作を追い出しコピーと称する)。
Here, when there is a write to the master volume, the
スナップショット実行部112は、また、作成したスナップショットボリュームのマスタボリュームが、各バージョンOSボリュームである場合、上位世代差分管理テーブル174に情報を追加する。
The
図4は、上位世代差分管理テーブル174の一例を示す図である。図4に示すように、上位世代差分管理テーブル174は、各バージョンOSボリュームに関連付けられたテーブルであり、自ボリューム(自世代)またはスナップショット上位世代の各バージョンOSボリュームのいずれかにデータが存在するか否か(データ有無状況)を、ページ単位毎にフラグで管理する。図4では、例えば、ボリューム「SV_OSVer1」の「page0」はフラグが「1」に設定されているので、「SV_OSVer1」または上位世代の「SV_OSVer2」、「SV_OSVer3」いずれかにデータが存在することを示す。ここで、上位世代とは、自ボリュームの後に作成されたスナップショットボリュームを指し、例えば、マスタボリュームから第1世代、第2世代および第3世代のスナップショットボリュームが作成されている場合、第1世代の上位世代は、第2世代および第3世代のスナップショットボリュームを指す。 FIG. 4 is a diagram illustrating an example of the upper generation difference management table 174. As shown in FIG. 4, the upper generation difference management table 174 is a table associated with each version OS volume, and data exists in either the own volume (own generation) or each version OS volume of the snapshot higher generation. Whether or not (data presence / absence status) is managed by a flag for each page. In FIG. 4, for example, “page0” of volume “SV_OSVer1” has the flag set to “1”. Show. Here, the higher generation refers to a snapshot volume created after the own volume. For example, when the first generation, second generation, and third generation snapshot volumes are created from the master volume, the first generation The higher generations refer to the second and third generation snapshot volumes.
図5は、OS更新抑止部113により管理されるボリューム更新許否テーブル172の例を示す図である。図5に示すように、ボリューム更新許否テーブル172は、ボリュームへのライト処理を禁止するか否かを示すフラグを含む。図5では、ボリューム「MV_OS2」のフラグが「1」に設定されているので、ボリューム「MV_OS2」へのライト処理は禁止されることを示す。なお、本実施形態における運用形態では、ボリューム更新許否テーブル172には、共通OSイメージボリュームに関するフラグのみ設定されるが、別の運用形態では、各バージョンOSボリューム等に関するフラグが設定されてもよい。
FIG. 5 is a diagram illustrating an example of the volume update permission / refusal table 172 managed by the OS
次に、ボリューム群150について説明する。ボリューム群150における共通OSイメージボリューム151は、共通のOSイメージを保持するボリュームであり、各バージョンOSボリューム152のスナップショットマスタボリュームである。
Next, the volume group 150 will be described. The common
各バージョンOSボリューム152は、共通OSイメージボリューム151をマスタとするスナップショットボリュームであり、共通OSイメージボリューム151の所定時点のイメージについて、マスタボリュームとの差分データのみを保持する。各バージョンOSボリューム152の実データはプールボリューム154に保存され、アドレス毎のデータ有無を、保持データ管理テーブル173により管理される。
Each
ユーザボリューム153は、ユーザが使用するボリュームであり、各バージョンOSボリューム152をマスタとするスナップショットボリュームである。ユーザボリューム153は、作成直後はマスタである各バージョンOSボリュームと同じイメージを持ち、ユーザが更新したデータのみを保持する。ユーザボリュームの実データはプールボリューム154に保存され、アドレス毎のデータ有無を保持データ管理テーブル173により管理される。
The
プールボリューム154は、スナップショットボリュームである各バージョンOSボリュームとユーザボリュームの実データを保持する。
The
図6は、共通OSイメージボリューム「MV_OS1」をマスタとして各バージョンOSボリューム「SV_OSVer1」、「SV_OSVer2」、「SV_OSVer3」が順に作成された構成を示す。また、各バージョンOSボリューム「SV_OSVer1」をマスタとしてユーザボリューム「SV_USR1」、「SV_USR2」が、各バージョンOSボリューム「SV_OSVer2」をマスタとしてユーザボリューム「SV_USR3」が、各バージョンOSボリューム「SV_OSVer3」をマスタとしてユーザボリューム「SV_USR4」が、それぞれ作成された構成を示す。ここで、各バージョンOSボリューム「SV_OSVer1」、「SV_OSVer2」、「SV_OSVer3」を、それぞれ第1世代各バージョンOSボリューム、第2世代各バージョンOSボリューム、第3世代各バージョンOSボリュームと称する。 FIG. 6 shows a configuration in which the version OS volumes “SV_OSVer1”, “SV_OSVer2”, and “SV_OSVer3” are created in order using the common OS image volume “MV_OS1” as a master. Also, each version OS volume “SV_OSVer1” is a master, user volumes “SV_USR1” and “SV_USR2” are each version OS volume “SV_OSVer2” is a master, user volume “SV_USR3” is each master, and each version OS volume “SV_OSVer3” is a master. The user volume “SV_USR4” indicates the created configuration. Here, the version OS volumes “SV_OSVer1”, “SV_OSVer2”, and “SV_OSVer3” are referred to as first generation version OS volumes, second generation version OS volumes, and third generation version OS volumes, respectively.
図6において、「A1」、「B1」等はデータを示し、「173」、「174」は、それぞれ保持データ管理テーブル173、上位世代差分管理テーブル174における、各データを格納するページ(アドレス)に対応するフラグを示す。また、「(A1)」、「(B1)」等は、そのボリュームにはデータが存在しないが、上位世代またはマスタの該当するページからデータA1、B1が読み出せることを意味する。 In FIG. 6, “A1”, “B1”, and the like indicate data, and “173” and “174” are pages (addresses) for storing each data in the retained data management table 173 and the upper generation difference management table 174, respectively. The flag corresponding to is shown. “(A1)”, “(B1)”, and the like mean that data does not exist in the volume, but data A1 and B1 can be read from the corresponding page of the higher generation or master.
例えば、データB0について説明する。スナップショット実行部112がスナップショット「SV_OSVer2」を作成した時点では、「SV_OSVer2」のB0に対応するアドレスには(B0)が示される。その後、共通OSイメージボリュームへの更新がありB0に対応するアドレスにB1が書き込まれると、スナップショット実行部112は追い出しコピーを行い、「SV_OSVer2」のB0に対応するアドレスのデータを(B0)からB0に変更する。このとき、スナップショット実行部112は、保持データ管理テーブル173の該当ページのフラグに「1」をセットする。続いて、スナップショット実行部112は新たにスナップショット「SV_OSVer3」を作成すると、「SV_OSVer3」のB0に対応するアドレスは、共通OSイメージボリュームの値(B1)となる。
For example, the data B0 will be described. When the
このように、各バージョンOSボリュームは、上位世代の更新前のデータを保持すると共に、自ボリュームにデータが存在することを示すフラグを有する保持データ管理テーブル173が関連付けられる。また、各バージョンOSボリュームは、自ボリュームまたは上位世代のボリュームのいずれかにデータが存在することを示すフラグを有する上位世代差分管理テーブル174が関連付けられる。 In this way, each version OS volume holds the data before the update of the higher generation, and is associated with the holding data management table 173 having a flag indicating that the data exists in the own volume. Each version OS volume is associated with an upper generation difference management table 174 having a flag indicating that data exists in either the own volume or an upper generation volume.
ユーザボリュームは、ユーザに更新されたデータを保持すると共に、自ボリュームにデータが存在することを示すフラグを有する保持データ管理テーブル173が関連付けられる。 The user volume holds data updated by the user and is associated with a holding data management table 173 having a flag indicating that data exists in the own volume.
ここで、図7を参照して、ユーザボリュームに対する通常のリード処理について説明する。通常のリード処理を実行する部を、通常リード処理部(不図示)と称する。通常のリード処理において、各バージョンOSボリュームは、上位世代差分管理テーブル174を持たず、保持データ管理テーブル173のみを持つと仮定する。 Here, with reference to FIG. 7, a normal read process for the user volume will be described. A unit that executes normal read processing is referred to as a normal read processing unit (not shown). In normal read processing, it is assumed that each version OS volume does not have the upper generation difference management table 174, but has only the retained data management table 173.
図7に示す構成では、共通OSイメージボリュームをマスタとして各バージョンOSボリュームのスナップショットが作成され、さらに各バージョンOSボリュームは第1世代から第3世代まで作成されている。また、第1世代の各バージョンOSボリュームをマスタとしてユーザボリューム2が、第2世代の各バージョンOSボリュームをマスタとしてユーザボリューム1が、それぞれ作成されている。
In the configuration shown in FIG. 7, a snapshot of each version OS volume is created using the common OS image volume as a master, and each version OS volume is created from the first generation to the third generation. Further, a user volume 2 is created with each first generation version OS volume as a master, and a
ユーザボリューム2のD0に対してリード命令(リードa)がなされたと仮定する。この場合、通常リード処理部は、ユーザボリューム2の保持データ管理テーブル173を調べる。図7では、D0に該当するページの保持データ管理テーブル173のフラグが「0」であるので、ユーザボリューム2にはデータは存在しない。 Assume that a read command (read a) is made to D0 of user volume 2. In this case, the normal read processing unit checks the retained data management table 173 of the user volume 2. In FIG. 7, since the flag of the retained data management table 173 of the page corresponding to D0 is “0”, no data exists in the user volume 2.
そこで、通常リード処理部は、スナップショットペアのマスタボリュームである第1世代各バージョンOSボリュームの保持データ管理テーブル173を調べる(図7において「b」で示す)。ここでも、D0に該当するページのフラグは「0」であるので、データは存在しない。同様に、通常リード処理部は、上位世代である第2世代、第3世代のスナップショットの保持データ管理テーブル173を順に調べる(図7において「c」、「d」で示す)が、いずれもフラグが「0」であるのでデータは存在しない。 Therefore, the normal read processing unit checks the retained data management table 173 of each first generation version OS volume that is the master volume of the snapshot pair (indicated by “b” in FIG. 7). Again, since the flag of the page corresponding to D0 is “0”, there is no data. Similarly, the normal read processing unit sequentially checks the retained data management table 173 of the second generation and third generation snapshots (shown as “c” and “d” in FIG. 7), both of which are higher generations. Since the flag is “0”, there is no data.
その結果、通常リード処理部は、共通OSイメージボリュームからデータD0を読み出す(図7において「e」で示す)。 As a result, the normal read processing unit reads data D0 from the common OS image volume (indicated by “e” in FIG. 7).
ここで、OSのバージョンアップやパッチでは、ボリュームの限られたエリアのみへの更新が多いので、ユーザボリュームにデータがなく、上述のように上位世代を辿って最終的に共通OSボリュームを参照するケースが多い。つまり、多くのユーザボリュームへのアクセスにおいて、複数の保持データ管理テーブル173を検索する必要が生じるので、ユーザボリュームのアクセス時間が遅延する。OSのバージョンが増加すると検索する保持データ管理テーブル173も増加するので、更にユーザボリュームへのアクセス性能が低下してしまう。 Here, in OS version upgrades and patches, there are many updates to only a limited area of the volume, so there is no data in the user volume, and the upper generation is traced and the common OS volume is finally referenced as described above. There are many cases. That is, in accessing many user volumes, it is necessary to search a plurality of retained data management tables 173, so that the user volume access time is delayed. Since the retained data management table 173 to be searched increases as the OS version increases, the access performance to the user volume further deteriorates.
そこで、例えば、図8のように、共通OSイメージボリュームを増加することにより各バージョンOSボリュームを管理することも考えられる。図8では、共通OSイメージボリューム1をマスタとして第1a世代、第2a世代の各バージョンOSボリュームが作成され、共通OSイメージボリューム2をマスタとして第1b世代の各バージョンOSボリュームが作成された構成を示す。さらに、第1a世代各バージョンOSボリュームをマスタとしてユーザボリューム1が作成され、第1b世代各バージョンOSボリュームをマスタとしてユーザボリューム2が作成されている。
Thus, for example, as shown in FIG. 8, it is conceivable to manage each version OS volume by increasing the common OS image volume. FIG. 8 shows a configuration in which each version OS volume of 1a generation and 2a generation is created using the common
図7の構成と同様に、ユーザボリューム2のD0に対してリード命令(リードf)がなされた場合、通常リード処理部は、ユーザボリューム2の保持データ管理テーブル173を調べる。図8では、D0に該当するアドレスのデータは存在しないので、通常リード処理部は、マスタボリュームである第1b世代各バージョンOSボリュームの保持データ管理テーブル173を調べる(図8において「g」で示す)。D0に該当するページのフラグは「0」であるので、通常リード処理部は、共通OSイメージボリューム2からデータD0を読み出す(図8において「h」で示す)。 Similar to the configuration of FIG. 7, when a read command (read f) is issued to D0 of the user volume 2, the normal read processing unit checks the retained data management table 173 of the user volume 2. In FIG. 8, since there is no data corresponding to D0, the normal read processing unit checks the retained data management table 173 of each version OS volume of the 1b generation that is the master volume (indicated by “g” in FIG. 8). ). Since the flag of the page corresponding to D0 is “0”, the normal read processing unit reads the data D0 from the common OS image volume 2 (indicated by “h” in FIG. 8).
図8に示す構成では、ユーザボリューム2に関連する各バージョンOSボリュームの数が1つであり、検索する保持データ管理テーブル173も1つであるので、ユーザボリュームへのアクセス時間は遅延しない。このように共通OSイメージボリュームを増加することにより、ユーザボリュームへのアクセス時間の遅延を防ぐことが考えられるが、共通OSイメージボリュームは、実データを保持するボリュームであるので、ディスクの容量を消費してしまうという問題がある。 In the configuration shown in FIG. 8, the number of each version OS volume related to the user volume 2 is one, and the holding data management table 173 to be searched is one, so that the access time to the user volume is not delayed. By increasing the common OS image volume in this way, it is conceivable to prevent a delay in access time to the user volume. However, since the common OS image volume is a volume that holds actual data, it consumes disk capacity. There is a problem of end up.
そこで、本実施形態に係るディスクアレイサブシステム100は、以下のように、ディスク容量の消費を増加させることなく、ユーザボリュームへのアクセス時間を短縮する。
Therefore, the
まず、ディスクアレイサブシステム100の運用方法について説明する。ディスクアレイサブシステム100は、OSがバージョンアップやパッチなどにより更新される際、更新前の共通OSボリュームイメージのスナップショットを作成することにより、更新前のOSバージョンを、各バージョンOSボリューム152として保持する。OSの更新は、スナップショットが作成された後の共通OSボリュームイメージへのライト処理により実施される。
First, an operation method of the
各バージョンをユーザに提供する際、各バージョンOSボリュームをマスタとして、スナップショット実行部112により、更にスナップショットをユーザ毎に作成する。各バージョンのOSイメージであるユーザボリュームが、ユーザ毎に提供される。各ユーザは、ユーザボリュームにアクセスする。
When each version is provided to the user, each version OS volume is used as a master, and the
共通OSイメージボリュームへの更新がない通常運用中は、ホスト200から送信されるOS更新抑止コマンドに応じて、ディスクアレイサブシステム100は、共通OSイメージボリュームへの更新を抑止する。これにより、上位世代差分管理テーブルが有効になるので、上位世代差分管理テーブルを有効利用したユーザボリュームへのリード処理が実施される(詳細は後述する)。
During normal operation in which there is no update to the common OS image volume, the
共通OSイメージボリュームに対して、バージョンアップやパッチ適用による更新がある場合、ディスクアレイサブシステム100は、事前にホスト200から送信されるOS更新許可コマンドに応じて、共通OSイメージボリュームの更新を許可する。この際、上位世代差分管理テーブル174はクリアされフラグはすべて「0」になるので、各バージョンOSボリュームの保持データ管理テーブル173を1つずつ検索することになる(詳細は後述する)。共通OSイメージボリュームの更新が完了すると、ホスト200からOS更新抑止コマンドが送られ、ディスクアレイサブシステム100は、共通OSイメージボリュームへの更新を抑止すると共に、上位世代差分管理テーブル174を更新する(詳細は後述する)。
When the common OS image volume is updated by version upgrade or patch application, the
次に、ディスクアレイサブシステム100の各構成要素の詳細について説明する。
Next, details of each component of the
図9は、ホスト200からディスクアレイサブシステム100にボリューム管理コマンドが送られた際のボリューム管理部110の動作を示すフローチャートである。図9を参照して、ボリューム管理部110の動作について説明する。
FIG. 9 is a flowchart showing the operation of the
ホスト200からボリューム管理コマンドが送られると、ボリューム管理コマンド取得部111は、そのコマンドを受信する(S101)。ボリューム管理コマンド取得部111は、受け取ったコマンドの種別を判定し、コマンドがスナップショット作成コマンドである場合(S102においてYes)、コマンドをスナップショット実行部112に渡す。スナップショット実行部112は、受け取ったコマンドにて指定されたマスタボリュームからスナップショットボリュームを作成する(S103)。そして、スナップショット実行部112は、作成したスナップショットボリュームと、マスタボリュームとの対応関係を、ボリューム対応テーブル171に追加する(S104)。
When a volume management command is sent from the
続いて、スナップショット実行部112は、作成したスナップショットボリュームに関する情報を、保持データ管理テーブル173に追加する(このとき、すべてのページに対応するフラグは「0」である)(S105)。
Subsequently, the
続いて、作成したスナップショットボリュームのマスタが、共通OSイメージボリュームである場合(S106においてYes)、スナップショット実行部112は、上位世代差分管理テーブル174に、作成したスナップショットボリュームに関する情報を追加する。例えば、スナップショット実行部112は、図6に示す共通OSイメージボリューム「MV_OS1」をマスタとする各バージョンOSボリューム「SV_OSVer3」を作成した場合、図4に示すように上位世代差分管理テーブル174に「SV_OSVer3」の情報を追加する(このとき、すべてのページに対応するフラグは「0」である)(S107)。
Subsequently, when the master of the created snapshot volume is a common OS image volume (Yes in S106), the
一方、S102におけるコマンドの種別の判定の結果、コマンドがスナップショット作成コマンドでない場合(S102においてNo)、コマンドは、OS更新抑止コマンドまたはOS更新許可コマンドである。OS更新抑止コマンドは、後述する図10のS205に示す共通OSイメージボリュームの更新が完了した際のレスポンスに応じて、ホスト200からディスクアレイサブシステム100に送られる。OS更新抑止コマンドは、OSが更新済みであり次に更新されるまで上位世代差分管理テーブル174は有効であることを示す。OS更新許可コマンドは、共通OSイメージボリュームを更新(ライト処理)する前にホスト200からディスクアレイサブシステム100に送られる。OS更新許可コマンドに応じて共通OSイメージボリュームが更新されるので、上位世代差分管理テーブル174は無効、つまりフラグはクリアされる。
On the other hand, as a result of determining the command type in S102, if the command is not a snapshot creation command (No in S102), the command is an OS update inhibition command or an OS update permission command. The OS update inhibition command is sent from the
ホスト200から受信したコマンドがOS更新抑止コマンドである場合(S108においてYes)、ボリューム管理コマンド取得部111は、そのコマンドをOS更新抑止部113に渡す。OS更新抑止部113は、コマンドを受け取ると、ボリュームに対する更新を抑止するために、コマンドにて指定されたボリュームのボリューム更新許否テーブル172のフラグに「1」をセットする(S109)。
When the command received from the
続いて、OS更新抑止部113は、OS更新抑止コマンドにより更新抑止を指定されたボリュームが共通OSイメージボリュームである場合、そのボリュームをマスタとするスナップショットであるすべての各バージョンOSボリュームの上位世代差分管理テーブル174のフラグを更新する(S110)。このとき、OS更新抑止部113は、対象となる各バージョンOSボリュームとその上位世代すべての各バージョンOSボリュームが持つ保持データ管理テーブル173の論理和(OR)をとる。論理和が「1」である場合、OS更新抑止部113は、上位世代差分管理テーブル174の該当するページのフラグを「1」に更新する。
Subsequently, when the volume for which update suppression is specified by the OS update suppression command is a common OS image volume, the OS
図10を参照して、共通OSイメージボリュームのデータが更新された場合に上位世代差分管理テーブル174を更新する例について説明する。図10(a)に示すように、「MV_OS1」をマスタとしたスナップショットボリューム「SV_OSVer2」が作成され、その後、図10(b)に示すように、「MV_OS1」のデータB0がB1に更新されたと仮定する。このとき、通常のスナップショット技術により、「SV_OSVer2」の保持データ管理テーブル173の、データB1に該当するページのフラグに「1」が設定される(後述する図11のS205において実施される)。 An example of updating the upper generation difference management table 174 when the data of the common OS image volume is updated will be described with reference to FIG. As shown in FIG. 10A, a snapshot volume “SV_OSVer2” having “MV_OS1” as a master is created, and thereafter, data B0 of “MV_OS1” is updated to B1 as shown in FIG. 10B. Assuming that At this time, “1” is set to the flag of the page corresponding to the data B1 in the retained data management table 173 of “SV_OSVer2” by the normal snapshot technique (implemented in S205 of FIG. 11 described later).
このとき、OS更新抑止部113は、更新された共通OSイメージボリュームをマスタとするスナップショットであるすべての各バージョンOSボリューム(この場合、「SV_OSVer2」、「SV_OSVer1」)について、該当するページの上位世代差分管理テーブル174を更新する。すなわち、OS更新抑止部113は、各ボリュームとその上位世代のボリュームの、該当するページの保持データ管理テーブル173の論理和(OR)をとる。
At this time, the OS
図10(b)に示すように、「SV_OSVer2」について、上述のように保持データ管理テーブル173の該当するページのフラグに「1」が設定されたので、OS更新抑止部113は、このページに対応する上位世代差分管理テーブル174のフラグに「1」をセットする(図10(b)において「n」で示す)。「SV_OSVer1」について、自ボリューム「SV_OSVer1」と上位世代「SV_OSVer2」の保持データ管理テーブル173の該当するページの論理和をとると「1」となるので、OS更新抑止部113は、「SV_OSVer1」の上位世代差分管理テーブル174の該当するページのフラグに「1」をセットする(図10(b)において「o」で示す)。以上の手順で、OS更新抑止部113は、上位世代差分管理テーブル174を更新する。
As shown in FIG. 10B, for “SV_OSVer2”, since “1” is set in the flag of the corresponding page of the retained data management table 173 as described above, the OS
一方、S102におけるコマンドの種別の判定の結果、コマンドがOS更新許可コマンドである場合(S108においてNo)、ボリューム管理コマンド取得部111は、そのコマンドをOS更新許可部114に渡す。OS更新許可コマンドは、ボリュームに対する更新を許可するコマンドであり、OS更新許可部114は、このコマンドを受け取ると、該コマンドにて指定されるボリュームのボリューム更新許否テーブル172のフラグをリセットする(S111)。
On the other hand, as a result of determining the command type in S102, if the command is an OS update permission command (No in S108), the volume management
続いて、OS更新許可部114は、OS更新許可コマンドにより更新許可を指定された共通OSイメージボリュームをマスタとするスナップショットであるすべての各バージョンOSボリュームの上位世代差分管理テーブル174をクリアする(S112)。
Subsequently, the OS
以上の処理が終了すると、ボリューム管理部110は、ホスト200にレスポンスを返却する(S113)。
When the above processing ends, the
次に、I/O処理部130の動作の概略を説明する。
Next, an outline of the operation of the I /
I/O処理部130は、ホスト200から、共通OSイメージボリュームまたは各バージョンOSボリュームまたはユーザボリュームへのI/O命令を受信し、I/O処理が完了するとレスポンスを返却する。
The I /
I/Oコマンド取得部131は、ホスト200からリード/ライト命令を受け取ると共に、ライト命令はライト命令実行部132に渡し、リード命令はリード命令実行部133に渡す。
The I / O
ライト命令実行部132は、ライト命令を受け取ると、ライト対象となるボリュームのボリューム更新許否テーブル172のフラグを調べ、フラグが「1」の場合はライト命令をリジェクトする。フラグが「0」の場合は、ライト対象となるボリュームの種別にしたがってライト処理を実施する。具体的には、ライト命令が共通OSイメージボリュームへのライト命令の場合、ライト命令実行部132は、通常のスナップショット技術のマスタボリュームへのライト処理を共通OSイメージボリュームに実施する。
When receiving the write command, the write
ライト命令が各バージョンOSボリュームへのライト命令の場合、ライト命令実行部132は、ライト命令をリジェクトする。これは、各バージョンOSボリュームへのライト処理を実施すると、上位世代差分管理テーブル174が無効となるので各バージョンOSボリュームにライトは実施しないという運用に従った処理である。その他の運用形態においては、各バージョンOSボリュームへのライト処理を実施してもよい。上述したように、OSの更新は、共通OSイメージボリュームに実施される。
When the write command is a write command to each version OS volume, the write
ライト命令がユーザボリュームへのライト命令である場合、ライト命令実行部132は、通常のスナップショット技術のスナップショットボリュームへのライト処理をユーザボリュームに実施する。
When the write command is a write command to the user volume, the write
一方、リード命令実行部133は、I/Oコマンド取得部131から、共通OSイメージボリューム、各バージョンOSボリューム、またはユーザボリュームへのリード命令を受け取ると、リード対象となるボリュームの種別にしたがってリード処理を実施する。
On the other hand, when the read
具体的には、リード命令が共通OSイメージボリュームへのリード命令である場合、リード命令実行部133は、通常のスナップショット技術のマスタボリュームへのリード処理を、共通OSイメージボリュームに実施する。リード命令が各バージョンOSボリュームへのリード命令である場合、リード命令実行部133は、通常のスナップショット技術のスナップショットボリュームへのリード処理を、各バージョンOSボリュームに実施する。
Specifically, when the read instruction is a read instruction to the common OS image volume, the read
リード命令がユーザボリュームへのリード命令である場合、リード命令実行部133は、ユーザボリュームに関連付けられた保持データ管理テーブル173を調べ、フラグが「1」のとき、ユーザボリュームからデータを読み出す。フラグが「0」のとき、リード命令実行部133は、マスタボリュームである各バージョンOSボリュームの上位世代差分管理テーブル174を調べる。
When the read command is a read command to the user volume, the read
上位世代差分管理テーブル174のフラグが「0」のとき、リード命令実行部133は、各バージョンOSボリュームのマスタである共通OSイメージボリュームの該当アドレスをリードする。上位世代差分管理テーブル174のフラグが「1」のとき、リード命令実行部133は、ユーザボリュームのマスタとなる各バージョンOSボリューム、上位世代の各バージョンOSボリューム、・・・、最上位世代の各バージョンOSボリュームの順に、保持データ管理テーブル173を調べる。そして、リード命令実行部133は、最初にフラグ「1」が見つかったボリュームからデータをリードする。フラグが「1」のボリュームが見つからなかった場合、リード命令実行部133は、共通OSボリュームの該当アドレスからデータをリードする。
When the flag of the upper generation difference management table 174 is “0”, the read
上記I/O処理を、図11および図12を参照して詳細に説明する。 The I / O process will be described in detail with reference to FIG. 11 and FIG.
図11は、I/O処理部130によるI/O処理のうちライト処理の流れを示すフローチャートである。図12は、I/O処理部130によるI/O処理のうちリード処理の流れを示すフローチャートである。
FIG. 11 is a flowchart showing the flow of write processing in the I / O processing by the I /
ホスト200からリード/ライト命令が送られると、I/Oコマンド取得部131は、それを受信し(S201)、リード/ライト命令がライト命令の場合(S202においてYes)、そのライト命令をライト命令実行部132に渡す。
When a read / write command is sent from the
ライト命令実行部132は、ライト命令の種別を判断し、ライト命令が共通OSイメージボリュームへのライト命令である場合(S203においてYes)、ボリューム更新許否テーブル172における、ライト対象となる共通OSイメージボリュームのフラグを調べる。フラグが「1」である場合(S204においてYes)、ライト命令実行部132は、ライト命令をリジェクトし、ホスト200にリジェクトを返却する(S207)。
The write
ボリューム更新許否テーブル172のフラグが「0」である場合(S204においてNo)、ライト命令実行部132は、通常のスナップショット技術におけるマスタボリュームへのライト処理を、共通OSイメージボリュームに実施する(S205)。このとき、ライト命令実行部132は、上述したように、共通OSイメージボリュームをマスタとする各バージョンOSボリュームが有する保持データ管理テーブル173の、該当するページのフラグに「1」を設定する。そして、ライト命令実行部132は、ホスト200にレスポンスを返却する(S206)。
When the flag of the volume update permission / refusal table 172 is “0” (No in S204), the write
一方、S203において、ライト命令は共通OSイメージボリュームではなく(S203においてNo)、各バージョンOSボリュームに対するものである場合(S208においてYes)、ライト命令実行部132は、ライト命令をリジェクトし、ホスト200にリジェクトを返却する(S207)。
On the other hand, in S203, when the write command is not for the common OS image volume (No in S203) but for each version OS volume (Yes in S208), the write
S208においてライト命令は各バージョンOSボリュームではなくユーザボリュームに対するものである場合、ライト命令実行部132は、通常のスナップショット技術におけるスナップショットボリュームへのライト処理を、ユーザボリュームに実施する(S209)。このとき、ライト命令実行部132は、ライト処理を実施したユーザボリュームが有する保持データ管理テーブル173の、該当するページのフラグに「1」を設定する。そして、ライト命令実行部132は、ホスト200にレスポンスを返却する(S210)。
If the write command is not for each version OS volume but for the user volume in S208, the write
次に、S202において、I/Oコマンド取得部131がリード命令を受信した場合の動作について、図12を参照して説明する。
Next, an operation when the I / O
I/Oコマンド取得部131は、リード命令を受信した場合、そのリード命令をリード命令実行部133に渡す。リード命令実行部133は、リード命令の種別を判断し、リード命令が共通OSイメージボリュームへのリード命令である場合(S301においてYes)、通常のスナップショット技術におけるマスタボリュームへのリード処理を、共通OSイメージボリュームに実施する(S302)。
When receiving the read command, the I / O
リード命令が各バージョンOSボリュームへのリード命令である場合(S303においてYes)、リード命令実行部133は、通常のスナップショット技術におけるスナップショットボリュームへのリード処理を、各バージョンOSボリュームに実施する(S304)。
When the read command is a read command to each version OS volume (Yes in S303), the read
リード命令がユーザボリュームへのリード命令である場合(S303においてNo)、リード命令実行部133は、ユーザボリュームにデータがあるか否かを調べる。ここで、図13を参照して、ユーザボリュームへのリード命令に対する動作について説明する。
If the read command is a read command to the user volume (No in S303), the read
ユーザボリューム2の(D0)データにリード命令(リードi)がなされたと仮定する。このとき、リード命令実行部133は、ユーザボリューム2の(D0)の保持データ管理テーブル173における該当アドレスのフラグを読む。フラグが「1」である場合はユーザボリューム2にデータがあるので(S305においてYes)、リード命令実行部133は、ユーザボリューム2の該当するアドレスをリードする(S306)。
Assume that a read command (read i) is made to the (D0) data of the user volume 2. At this time, the read
一方、上記フラグが「0」の場合、リード命令実行部133は、ユーザボリューム2のマスタである第1世代各バージョンOSボリュームに保持される上位世代差分管理テーブル174の該当アドレスを調べる(図13において「j」で示す)。この該当アドレスのフラグが「0」のとき(S307においてYes)、第1世代および上位世代の各バージョンOSボリュームにはデータがないことが判る。したがって、リード命令実行部133は、マスタである共通OSイメージボリュームからデータをリードする(図13の「k」に示す)(S308)。
On the other hand, when the flag is “0”, the read
上記該当アドレスのフラグが「1」のとき(S307においてNo)、リード命令実行部133は、ユーザボリューム2のマスタである各バージョンOSボリュームに保持される保持データ管理テーブル173の該当アドレスを調べる(S309乃至S311)。フラグが「1」のとき(S311においてYes)、リード命令実行部133は、当該各バージョンOSボリュームからデータをリードする(S312)。
When the flag of the corresponding address is “1” (No in S307), the read
フラグが「0」のとき(S311においてNo)、リード命令実行部133は、1つ上位世代の各バージョンOSボリュームの保持データ管理テーブル173の該当アドレスを調べ、フラグが「1」のときは当該各バージョンOSボリュームからデータをリードする。フラグが「0」のときは、リード命令実行部133は、更に上位世代の各バージョンOSボリュームの保持データ管理テーブル173の該当アドレスを調べる。このように、リード命令実行部133は、データを保有するボリュームが見つかるまで上位世代の保持データ管理テーブル173の調査を繰り返し、データが存在する各バージョンOSボリュームからデータをリードする。
When the flag is “0” (No in S311), the read
上位世代すべての各バージョンOSボリュームにデータが存在しないとき、リード命令実行部133は、共通OSイメージボリュームからデータをリードする(S308)。以上の手順でリード処理が完了すると、I/O処理部130は、ホスト200にリードしたデータを返却する(S313)。
When there is no data in each version OS volume of all higher generations, the read
以上のように、本実施形態によれば、ディスクアレイサブシステム100のライト命令実行部132は、共通OSイメージボリュームへのライト処理を実行する。ライト命令実行部132は、ライト処理が完了すると、更新したボリュームをマスタとするすべての各バージョンOSボリュームについて、自ボリュームまたは上位世代のボリュームのデータ有無を示す上位世代差分管理テーブル174を生成する。
As described above, according to this embodiment, the write
リード命令実行部133は、ユーザボリュームへのリード命令に対して、ユーザボリュームにデータがない場合、上位階層の各バージョンOSボリュームの上位世代差分管理テーブル174を調べる。上位世代差分管理テーブル174に基づいてこの階層の各バージョンOSボリュームにデータがないことが判ると、リード命令実行部133は、共通OSイメージボリュームからデータをリードする。
When there is no data in the user volume in response to a read instruction to the user volume, the read
上記構成を採用することにより、本第1の実施形態によれば、ユーザボリュームにデータがない場合、リード命令実行部133は、マスタとなる階層のボリュームのデータの有無を、上位世代差分管理テーブル174を1回検索するのみで判別できる。したがって、共通OSイメージボリューム増加に伴うディスク消費量の増加を招くことなく、ユーザボリュームへのアクセス時間を短縮できるという効果が得られる。
By adopting the above configuration, according to the first embodiment, when there is no data in the user volume, the read
第2の実施形態
次に、上述した第1の実施形態を基礎とする第2の実施形態について説明する。上記第1の実施形態では、図6に示したように、共通OSイメージボリューム、各バージョンOSボリュームおよびユーザボリュームの3階層ボリュームを配置するディスクアレイサブシステムを示したが、これに限定されず、本第2の実施形態では、ボリューム構成の異なる例について説明する。
Second Embodiment Next, a second embodiment based on the above-described first embodiment will be described. In the first embodiment, as shown in FIG. 6, the disk array subsystem in which the common OS image volume, each version OS volume, and the user volume three-tier volume is arranged is shown, but the present invention is not limited to this. In the second embodiment, examples of different volume configurations will be described.
図14は、第2の実施形態に係るディスクアレイサブシステム100が備えるボリュームの構成を示す図である。図14では、マスタボリュームから、階層1(第1の階層)の第1世代、第2世代、第3世代のスナップショットボリュームが作成されたことを示す。さらに、階層1の第3世代のスナップショットボリュームをマスタとする階層2(第2の階層)の第1世代、第2世代のスナップショットボリュームが作成されている。さらに、階層2の第2世代のスナップショットボリュームをマスタとする階層3のスナップショットボリュームが作成されている。
FIG. 14 is a diagram showing a configuration of a volume included in the
このような、複数階層を成すボリューム構成において、ディスクアレイサブシステム100は、下位階層のスナップショットを持つスナップショットボリュームに、上記第1の実施形態において説明した上位世代差分管理テーブル174を配置する。下位階層のスナップショットを持つスナップショットボリュームは、図14の構成では、階層1と階層2のスナップショットボリュームである。
In such a volume configuration having a plurality of hierarchies, the
図14に示すようなボリューム構成における最下位階層のボリュームに、リード命令がなされた場合の動作について説明する。このリード命令に応じたリード処理は、第1の実施形態において説明したリード命令実行部133により実行される。
The operation when a read command is issued to the volume of the lowest hierarchy in the volume configuration as shown in FIG. The read process corresponding to the read command is executed by the read
図14に示す階層3のスナップショットボリュームのデータC0にリード命令(リードm)がなされたと仮定する。この場合、第1の実施形態において説明したように、リード命令実行部133は、階層3のスナップショットボリュームのマスタボリュームの上位世代差分管理テーブル174を参照する。上位世代差分管理テーブル174の該当するアドレスのフラグが「0」であるので、リード命令実行部133は、データC0は階層1のマスタボリュームに存在すると判る。
Assume that a read command (read m) is made to the data C0 of the snapshot volume 3 in the hierarchy 3 shown in FIG. In this case, as described in the first embodiment, the read
ここで、階層1、階層2のボリュームが上位世代差分管理テーブル174を持たないと仮定した場合、リード命令実行部133は、以下のように動作する。すなわち、リード命令実行部133は、階層3のスナップショットボリュームにデータが存在しないことが判ると、階層2の第1世代のスナップショットボリュームの保持データ管理テーブル173を調べる。続いて、リード命令実行部133は、データが存在するまで、階層2の第2世代→階層1の第1世代→階層1の第2世代→階層1の第3世代の、各スナップショットボリュームの保持データ管理テーブル173をすべて調べる。
Here, when it is assumed that the volumes of the
このように、スナップショットボリュームが上位世代差分管理テーブル174を持たない場合、下位階層のスナップショットボリュームへのアクセスに際し、複数の保持データ管理テーブル173を検索する必要が生じるので、アクセス時間が遅延する。 As described above, when the snapshot volume does not have the upper generation difference management table 174, the access time is delayed because it is necessary to search the plurality of retained data management tables 173 when accessing the lower-level snapshot volume. .
これに対して、本実施形態では、リード命令実行部133は、階層2第1世代スナップショットボリュームの上位世代差分管理テーブル174を調べ、該当するページのフラグが「0」である場合、階層2のボリュームにはデータが存在しないことが判る。したがって、リード命令実行部133は、上位階層、すなわち、階層1の第1世代スナップショットボリュームの上位世代差分管理テーブル174を調べる。ここでも上位世代差分管理テーブル174の該当するページのフラグが「0」であるので、リード命令実行部133は、上位階層、すなわちマスタボリュームにデータが存在すると判る。
In contrast, in this embodiment, the read
以上のように、本第2の実施形態によれば、ボリューム構成が第1の実施形態において示したような3階層の構成に限らず、複数階層に亘って生成されるスナップショットボリュームを有する構成においても、第1の実施形態と同様に、最下位層へのアクセス時間を短縮できるという効果が得られる。 As described above, according to the second embodiment, the volume configuration is not limited to the three-layer configuration as shown in the first embodiment, but has a snapshot volume generated over a plurality of layers. As in the first embodiment, the access time to the lowest layer can be shortened.
第3の実施形態
図15は、本発明の第3の実施形態に係るデータ管理装置400の構成を示すブロック図である。図15に示すように、データ管理装置400は、更新部410と、アクセス部420とを備える。
Third Embodiment FIG. 15 is a block diagram showing a configuration of a
データ管理装置400は、元データの更新に伴って、当該元データを複製データ記憶領域に格納する。更新部410は、元データの更新に伴って連続した世代として保持される第1の階層の複製データ記憶領域に、元データを差分データとして格納すると共に、自世代および上位世代の複製データ記憶領域におけるデータ有無状況を示す差分管理テーブルを複製データ記憶領域に関連付けて生成する。
As the original data is updated, the
アクセス部420は、複製データ記憶領域へのアクセスに応じて、差分管理テーブルに示されるデータ有無状況に基づいてアクセスを行う。
The
なお、データ管理装置400は、上記第1の実施形態におけるディスクアレイサブシステムに相当し、更新部410は、同じくライト命令実行部132に相当し、アクセス部420は、同じくリード命令実行部133に相当する。
The
上記構成を採用することにより、本第3の実施形態によれば、所定の階層の複製データ記憶領域のデータ有無状況を、差分管理テーブルに基づいて検索できるので、下位階層の複製データ記憶領域へのアクセス時間を短縮することができるという効果が得られる。 By adopting the above configuration, according to the third embodiment, the data presence / absence status of the replicated data storage area of the predetermined hierarchy can be searched based on the difference management table. The access time can be shortened.
なお、図1に示したディスクアレイサブシステム100の各部は、図16に例示するハードウエア資源において実現される。すなわち、図16に示す構成は、プロセッサ10、RAM(Random Access Memory)11、ROM(Read Only Memory)12、I/O(Input/Output)デバイス13、ストレージ14および各構成要素を接続するバス15を備える。
Each part of the
上述した各実施形態では、図16に示すプロセッサ10が実行する一例として、ディスクアレイサブシステム100に対して、上述した機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、プロセッサ10がRAM11に読み出して実行することによって実現する場合について説明した。しかしながら、図1に示した各ブロックに示す機能は、一部または全部を、ハードウエアとして実現してもよい。
In each of the above-described embodiments, as an example executed by the
係る供給されたコンピュータ・プログラムは、読み書き可能なメモリ(一時記憶媒体)またはハードディスク装置等のコンピュータ読み取り可能な記憶デバイスに格納すればよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムを表すコード或いは係るコンピュータ・プログラムを格納した記憶媒体によって構成されると捉えることができる。 The supplied computer program may be stored in a computer-readable storage device such as a readable / writable memory (temporary storage medium) or a hard disk device. In such a case, the present invention can be understood as being configured by a code representing the computer program or a storage medium storing the computer program.
10 プロセッサ
11 RAM
12 ROM
13 I/Oデバイス
14 ストレージ
15 バス
100 ディスクアレイサブシステム
110 ボリューム管理部
111 ボリューム管理コマンド取得部
112 スナップショット実行部
113 OS更新抑止部
114 OS更新許可部
130 I/O処理部
131 I/Oコマンド取得部
132 ライト命令実行部
133 リード命令実行部
150 ボリューム群
151 共通OSイメージボリューム
152 バージョンOSボリューム
153 ユーザボリューム
154 プールボリューム
170 テーブル記憶部
171 ボリューム対応テーブル
172 ボリューム更新許否テーブル
173 保持データ管理テーブル
174 上位世代差分管理テーブル
200 ホスト
10
12 ROM
13 I /
Claims (10)
前記元データの更新に伴って連続した世代として保持される第1の階層の前記複製データ記憶領域に、前記元データを差分データとして格納すると共に、自世代および上位世代の前記複製データ記憶領域におけるデータ有無状況を示す差分管理テーブルを前記複製データ記憶領域に関連付けて生成する更新手段と、
前記複製データ記憶領域へのアクセスに応じて、前記差分管理テーブルに示されるデータ有無状況に基づいてアクセスを行うアクセス手段と
を備えたデータ管理装置。 Along with the update of the original data, in the data management device that stores the original data in the duplicate data storage area,
The original data is stored as difference data in the replicated data storage area of the first tier that is retained as successive generations with the update of the original data, and in the replicated data storage areas of its own generation and higher generations Update means for generating a difference management table indicating the presence / absence of data in association with the replicated data storage area;
A data management apparatus comprising: access means for performing access based on the data presence / absence status indicated in the difference management table in response to access to the duplicate data storage area.
前記アクセス手段は、所定の階層の前記複製データ記憶領域に関連付けられた前記差分管理テーブルに示されるデータ有無状況に基づいて、当該階層の前記複製データ記憶領域に前記アクセスの対象となるデータがないと判定した場合、当該階層よりも上位の階層の前記複製データ記憶領域に関連付けられた前記差分管理テーブルを検索する
請求項1記載のデータ管理装置。 The update unit is configured to store the difference data stored in the duplicate data storage area associated with the difference management table in the duplicate data storage area in the second and subsequent hierarchies held as successive generations with the update of the difference data. Storing the difference data;
The access means has no data to be accessed in the duplicate data storage area of the hierarchy based on the data presence / absence situation indicated in the difference management table associated with the duplicate data storage area of a predetermined hierarchy The data management device according to claim 1, wherein when the determination is made, the difference management table associated with the replicated data storage area in a hierarchy higher than the hierarchy is searched.
請求項2記載のデータ管理装置。 The access means has the data to be accessed in the duplicate data storage area of the hierarchy based on the data presence / absence situation indicated in the difference management table associated with the duplicate data storage area of a predetermined hierarchy The data management device according to claim 2, wherein, when it is determined, the data held in any one of the duplicate data storage areas of the hierarchy is accessed.
請求項2または請求項3記載のデータ管理装置。 The access means accesses the original data when it is determined that there is no data to be accessed in the replicated data storage area of all layers based on the difference management table. 3. The data management device according to 3.
請求項1ないし4のいずれか1項記載のデータ管理装置。 The update means sets a flag of the difference management table corresponding to an address where the differential data exists when the differential data exists in at least one of the replicated data storage areas of its own generation and upper generation. 5. The data management device according to any one of 4.
前記元データの更新に伴って連続した世代として保持される第1の階層の前記複製データ記憶領域に、前記元データを差分データとして格納すると共に、自世代および上位世代の前記複製データ記憶領域におけるデータ有無状況を示す差分管理テーブルを前記複製データ記憶領域に関連付けて生成し、
前記複製データ記憶領域へのアクセスに応じて、前記差分管理テーブルに示されるデータ有無状況に基づいてアクセスを行う
データ管理方法。 In the data management method for storing the original data in the replicated data storage area along with the update of the original data,
The original data is stored as difference data in the replicated data storage area of the first tier that is retained as successive generations with the update of the original data, and in the replicated data storage areas of its own generation and higher generations A difference management table indicating data presence / absence status is generated in association with the duplicate data storage area,
A data management method for performing access based on a data presence / absence situation indicated in the difference management table in response to access to the duplicate data storage area.
前記アクセスを行うに際し、所定の階層の前記複製データ記憶領域に関連付けられた前記差分管理テーブルに示されるデータ有無状況に基づいて、当該階層の前記複製データ記憶領域に前記アクセスの対象となるデータがないと判定した場合、当該階層よりも上位の階層の前記複製データ記憶領域に関連付けられた前記差分管理テーブルを検索する
請求項6記載のデータ管理方法。 When storing the original data as differential data, the second and subsequent hierarchies held as successive generations as the differential data stored in the duplicate data storage area associated with the differential management table is updated. Storing the difference data in a replicated data storage area;
When performing the access, based on the data presence / absence situation indicated in the difference management table associated with the replicated data storage area of a predetermined hierarchy, the access target data is stored in the replicated data storage area of the hierarchy. The data management method according to claim 6, wherein if it is determined that there is no data, the difference management table associated with the replicated data storage area in a higher hierarchy than the hierarchy is searched.
請求項7記載のデータ管理方法。 When performing the access, based on the data presence / absence situation indicated in the difference management table associated with the replicated data storage area of a predetermined hierarchy, the access target data is stored in the replicated data storage area of the hierarchy. The data management method according to claim 7, wherein when it is determined that the data is present, the data held in any one of the duplicate data storage areas of the hierarchy is accessed.
請求項7または請求項8記載のデータ管理方法。 8. When performing the access, if it is determined that there is no data to be accessed in the replicated data storage area of all layers based on the difference management table, the original data is accessed. Item 9. The data management method according to Item 8.
前記元データの更新に伴って連続した世代として保持される第1の階層の前記複製データ記憶領域に、前記元データを差分データとして格納すると共に、自世代および上位世代の前記複製データ記憶領域におけるデータ有無状況を示す差分管理テーブルを前記複製データ記憶領域に関連付けて生成する処理と、
前記複製データ記憶領域へのアクセスに応じて、前記差分管理テーブルに示されるデータ有無状況に基づいてアクセスを行う処理と
を実行させるデータ管理プログラム。 Along with the update of the original data, the data management device that stores the original data in the replicated data storage area,
The original data is stored as difference data in the replicated data storage area of the first tier that is retained as successive generations with the update of the original data, and in the replicated data storage areas of its own generation and higher generations A process for generating a difference management table indicating data presence / absence conditions in association with the duplicate data storage area;
A data management program that executes a process of performing an access based on a data presence / absence situation indicated in the difference management table in response to an access to the duplicate data storage area.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015055670A JP6202026B2 (en) | 2015-03-19 | 2015-03-19 | Data management apparatus, data management method, and data management program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015055670A JP6202026B2 (en) | 2015-03-19 | 2015-03-19 | Data management apparatus, data management method, and data management program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016177407A true JP2016177407A (en) | 2016-10-06 |
JP6202026B2 JP6202026B2 (en) | 2017-09-27 |
Family
ID=57071287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015055670A Active JP6202026B2 (en) | 2015-03-19 | 2015-03-19 | Data management apparatus, data management method, and data management program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6202026B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7516286B1 (en) * | 2005-08-31 | 2009-04-07 | Symantec Operating Corporation | Conversion between full-data and space-saving snapshots |
US20090157990A1 (en) * | 2007-12-14 | 2009-06-18 | Fujitsu Limited | Backing-up apparatus, backing-up method, and backing-up program |
US20100023716A1 (en) * | 2008-07-23 | 2010-01-28 | Jun Nemoto | Storage controller and storage control method |
US20130262804A1 (en) * | 2012-03-30 | 2013-10-03 | Nec Corporation | Data duplication system, data duplication method, and program thereof |
-
2015
- 2015-03-19 JP JP2015055670A patent/JP6202026B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7516286B1 (en) * | 2005-08-31 | 2009-04-07 | Symantec Operating Corporation | Conversion between full-data and space-saving snapshots |
US20090157990A1 (en) * | 2007-12-14 | 2009-06-18 | Fujitsu Limited | Backing-up apparatus, backing-up method, and backing-up program |
JP2009146228A (en) * | 2007-12-14 | 2009-07-02 | Fujitsu Ltd | Backing-up apparatus, backing-up method, and backing-up program |
US20100023716A1 (en) * | 2008-07-23 | 2010-01-28 | Jun Nemoto | Storage controller and storage control method |
JP2010026939A (en) * | 2008-07-23 | 2010-02-04 | Hitachi Ltd | Storage control device and method |
US20130262804A1 (en) * | 2012-03-30 | 2013-10-03 | Nec Corporation | Data duplication system, data duplication method, and program thereof |
JP2013210704A (en) * | 2012-03-30 | 2013-10-10 | Nec Corp | Data duplication system, data duplication method, and program therefor |
Also Published As
Publication number | Publication date |
---|---|
JP6202026B2 (en) | 2017-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230117542A1 (en) | Remote Data Replication Method and System | |
US11487787B2 (en) | System and method for near-synchronous replication for object store | |
US10983955B2 (en) | Data unit cloning in memory-based file systems | |
JP6629407B2 (en) | Method and system for accessing updated files and software products | |
CN105408895A (en) | Latch-free, log-structured storage for multiple access methods | |
US10146696B1 (en) | Data storage system with cluster virtual memory on non-cache-coherent cluster interconnect | |
CN105593829B (en) | Method, system and the medium of file system object are excluded from original image backup | |
US20190087130A1 (en) | Key-value storage device supporting snapshot function and operating method thereof | |
CN104021145A (en) | Mixed service concurrent access method and device | |
JP2006268139A (en) | Data reproduction device, method and program and storing system | |
CN109690522B (en) | Data updating method and device based on B+ tree index and storage device | |
US11960442B2 (en) | Storing a point in time coherently for a distributed storage system | |
CN109271376A (en) | Database upgrade method, apparatus, equipment and storage medium | |
WO2016119597A1 (en) | Page querying method and data processing node in oltp cluster database | |
WO2016192057A1 (en) | Updating method and device for index table | |
JP6033420B2 (en) | Storage system and storage system control method | |
EP3291103B1 (en) | System and method for creating a snapshot of a subset of a database | |
US9235349B2 (en) | Data duplication system, data duplication method, and program thereof | |
CN116069685A (en) | Storage system write control method, device, equipment and readable storage medium | |
JP6202026B2 (en) | Data management apparatus, data management method, and data management program | |
WO2015162717A1 (en) | Computer | |
JP6788386B2 (en) | File access provision methods, computers, and software products | |
JP6627541B2 (en) | Volume management device, volume management method, and volume management program | |
CN113590309B (en) | Data processing method, device, equipment and storage medium | |
US11531474B1 (en) | Storage system and data replication method in storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160715 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170501 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170530 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170719 |
|
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: 20170801 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170814 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6202026 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |