JP2013037611A - Storage device, storage method and program - Google Patents

Storage device, storage method and program Download PDF

Info

Publication number
JP2013037611A
JP2013037611A JP2011174769A JP2011174769A JP2013037611A JP 2013037611 A JP2013037611 A JP 2013037611A JP 2011174769 A JP2011174769 A JP 2011174769A JP 2011174769 A JP2011174769 A JP 2011174769A JP 2013037611 A JP2013037611 A JP 2013037611A
Authority
JP
Japan
Prior art keywords
data
snapshot
flash
unit
client device
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.)
Withdrawn
Application number
JP2011174769A
Other languages
Japanese (ja)
Inventor
Yosuke Mineshita
陽介 峯下
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2011174769A priority Critical patent/JP2013037611A/en
Publication of JP2013037611A publication Critical patent/JP2013037611A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To simplify the operation of the backup of data.SOLUTION: A flash part 305 instructs a client device 100 which performs access to flash data on the basis of connection information. A memory 302 temporarily stores the data flashed in response to the instruction. A data protection part 307 stores mapping information which has captured the still point of the data stored in the memory 302 on the basis of the connection information. A snap shot part 309 creates a snap shot on the basis of the mapping information stored by the data protection part 307. A storage part 400 stores the snap shot created by the snap shot part 309.

Description

本発明は、データを記憶する記憶装置、記憶方法およびプログラムに関し、特に、通信ネットワーク経由で送信されてきたデータを記憶する記憶装置、記憶方法およびプログラムに関する。   The present invention relates to a storage device, a storage method, and a program that store data, and more particularly, to a storage device, a storage method, and a program that store data transmitted via a communication network.

一般的なNAS(Network Attached Storage)のバックアップ機能としてスナップショット機能が存在する。   A snapshot function exists as a backup function of a general NAS (Network Attached Storage).

スナップショット機能は、NAS上のデータの静止点でのファイルのデータイメージ(データおよび記憶領域のブロック等のマッピング情報。以下、マッピング情報と称する)を保存するという一般的に使用されている機能である。その後、ファイルへ更新があった場合の動作には、大きく保存データのマッピング情報は変更せず、更新データを新規領域に書き込み、ファイルのマッピング情報を変更するものと、更新データは既存領域に書き込み、更新前データを別領域に書き込み、保存したスナップショットデータのマッピング情報を変更するものとがある。以下の説明においては、前者を追記型とし、また、後者を押し出し型とする。どちらを使用するかは各NASの仕様によるが、データを更新した後からもスナップショット作成時点のデータへアクセスできると言うものである。   The snapshot function is a function that is generally used to save a data image of a file at a static point of data on the NAS (mapping information such as data and storage area blocks; hereinafter referred to as mapping information). is there. After that, when there is an update to the file, the mapping information of the saved data is largely unchanged, the update data is written to the new area, the file mapping information is changed, and the update data is written to the existing area In some cases, the pre-update data is written to another area, and the mapping information of the saved snapshot data is changed. In the following description, the former is a write-once type and the latter is an extrusion type. Which is used depends on the specifications of each NAS, but the data at the time of snapshot creation can be accessed even after the data is updated.

スナップショット作成時の負荷が小さいことから、昨今のNASでは、前者の更新データを新領域に追記していくスナップショットを利用するものが多く、以下の説明において、特に明記なくスナップショットと記述した場合は、前者の更新データを新領域に追記していく追記型のスナップショットとする。その他の細かい仕様は、各NASによって異なるが、詳細な説明はここでは省略する。   Since the load at the time of creating a snapshot is small, in recent NAS, there are many that use a snapshot in which the former update data is added to a new area, and in the following explanation, it is described as a snapshot without any particular description. In this case, the former update data is a write-once-type snapshot in which data is added to a new area. Other detailed specifications differ depending on each NAS, but detailed description is omitted here.

スナップショット機能は、大きな負荷をかけることなくバックアップが実施できる機能である。そのため、NASでは一般的に使用されている機能であるが、1点大きな欠点がある。それは、一般的にクライアントのデータの保証は行っていない点である。   The snapshot function is a function that can perform backup without imposing a heavy load. Therefore, although it is a function generally used in NAS, there is one major drawback. In general, it does not guarantee client data.

一般的に、NAS上の処理はステートレスで行うが、クライアントからNASへの処理全てをステートレスで実行すると、アクセス性能が悪く、特にネットワーク品質が悪いと大きな性能劣化が生じてしまう。   In general, the processing on the NAS is performed in a stateless manner. However, if all processing from the client to the NAS is performed in a stateless manner, the access performance is poor, and particularly if the network quality is poor, a large performance degradation occurs.

この欠点を解消するために、ファイルシステムが更新情報を直接HDD(Hard disk drive)等にデータを直接書き込まず、メモリのバッファ上にデータを一旦保存し、その後、データを所定のサイズのブロックにまとめてHDD等に書き込むことで処理の高速化を図っているように、クライアント上のアプリケーションの更新処理等でNAS上にデータを書き込む場合、クライアント上で一旦バッファリングして、その後、データを所定のサイズのブロックにまとめてNASへ書き込むことで性能向上を図っている。   In order to eliminate this drawback, the file system does not directly write the update information directly to the HDD (Hard disk drive) or the like, but temporarily stores the data on the memory buffer, and then stores the data in a block of a predetermined size. When data is written on the NAS by update processing of an application on the client or the like so that the processing speed can be increased by collectively writing to the HDD or the like, the data is once buffered on the client, and then the data is predetermined. The performance is improved by writing the data to the NAS in blocks of the same size.

これは、NASアクセスの代表的なプロトコルであるNFS(Network File System)やCIFS(Common Internet File System)を初めとしたNASアクセスプロトコルで基本的に共通している。   This is basically common to NAS access protocols such as NFS (Network File System) and CIFS (Common Internet File System), which are representative protocols for NAS access.

ここで、スナップショットは、NAS装置の観点からNAS上のデータの静止点確保およびデータの保存を実行しているため、NAS上のデータのみに注目して実行している点に着目する必要がある。   Here, it is necessary to pay attention to the fact that the snapshot is executed by paying attention only to the data on the NAS because the stationary point of the data on the NAS and the storage of the data are executed from the viewpoint of the NAS device. is there.

NAS上でスナップショットを作成する場合、一般的にクライアント側にはスナップショットを作成することを通知しない。そのため、クライアント上に存在するNAS書き込み時のバッファリングデータやそのバッファリングに書き込み待ちをしているメモリ上のデータ等の更新処理が完了し、静止点が確保されたデータ(以下、バッファデータと称する)を書き込むといったような動作は行わない。その結果、スナップショットのデータはNASのファイルシステムとしては静止点が確保されているが、その中のファイル自体はクライアントのバッファリングの状況やネットワークでのNASへの書き込みパケットの状況次第では、バッファデータの書き込み途中等ファイルの静止点が確保されていない状態でスナップショットが取られるといったことが生じるおそれがある。その場合、ファイルのデータがおかしい、メタデータと実データとの不整合によりファイルが壊れるといったことが生じてしまう。   When creating a snapshot on the NAS, the client side is generally not notified of the creation of the snapshot. Therefore, the update processing of the buffering data at the time of NAS writing on the client and the data on the memory waiting to be written to the buffering is completed, and the data (hereinafter referred to as buffer data) Such as writing) is not performed. As a result, the snapshot data has a quiesce point for the NAS file system, but the file itself is a buffer depending on the buffering status of the client and the status of the packet written to the NAS on the network. There is a possibility that a snapshot may be taken in a state where a quiesce point of the file is not secured, such as during data writing. In this case, the file data may be incorrect, or the file may be damaged due to inconsistency between the metadata and the actual data.

また、ファイルの静止点は確保されている場合であっても、バッファデータの書き込みがまだ発生していない場合は、スナップショット作成前にクライアント上で更新処理を完了させたデータがスナップショットとして保存されていない等といったことも生じてしまう。   In addition, even if the quiesce point of the file is secured, if the buffer data has not yet been written, the data that has been updated on the client before creating the snapshot is saved as a snapshot. It also happens that it is not done.

特に、前者のようにファイルの状態に異常が発生するというのは、正常なデータを確保しておくという目的で実施するバックアップであるスナップショットの機能としては致命的な欠点と言える。   In particular, the occurrence of an abnormality in the state of a file as in the former can be said to be a fatal defect in the snapshot function that is a backup performed for the purpose of ensuring normal data.

通常これらの欠点は、スナップショットを複数世代作成することで回避している。   Usually, these drawbacks are avoided by creating multiple generations of snapshots.

上述のように、スナップショットは、データの更新分だけ保存容量を確保すればよく、スナップショットの作成負荷も領域全てをコピーする一般的なレプリケーション機能と比較すると低く、多くのNASで100世代以上のスナップショットを作成することが可能である。そのため、スナップショットを利用する場合は複数世代作成するのが一般的である。   As described above, snapshots only need to secure storage capacity for data updates, and the snapshot creation load is lower than the general replication function that copies the entire area, and more than 100 generations with many NAS. It is possible to create a snapshot. Therefore, it is common to create multiple generations when using snapshots.

このとき、仮に100世代作成した場合、人間が直接操作する一般的なテキストファイル等に対してスナップショットを作成する全てのタイミングでファイルを更新しており、ファイルの静止点が確保されていないという確率はきわめて低く、仮に望んだタイミングからのデータのリストアが出来ない場合であっても、その直近からリストアすることで被害を最小限にすることが可能である。   At this time, if 100 generations are created, the file is updated at every timing of creating a snapshot for a general text file or the like that is directly operated by a human being, and the quiesce point of the file is not secured. The probability is very low, and even if the data cannot be restored from the desired timing, it is possible to minimize the damage by restoring from the nearest point.

また、NAS上のファイルシステムの処理をトランザクション化して書き込み命令中のデータは反映しないようとするものや、クライアントに専用ソフトウェアを導入してクライアント側でデータの静止点を確保してからスナップショットを作成するなどといったことを実施しているNASも存在し、上述したようなファイル破壊を防ぐ手段を用意している(例えば、特許文献1参照。)。   In addition, the processing of the file system on the NAS is converted into a transaction so that the data in the write command is not reflected, or dedicated software is installed in the client to secure a quiesce point of data on the client side, and then the snapshot is taken There is also a NAS that performs such as creation, and a means for preventing file destruction as described above is prepared (for example, see Patent Document 1).

特開2009−146389号公報JP 2009-146389 A

しかしながら、上述した各回避策には、それぞれ問題点がある。   However, each workaround described above has its own problems.

複数世代を保存する手段に関しては、いくら必要容量が少なく、機能仕様として100世代以上保有可能としていても、数十から百を超える世代を保存することは管理や運用面の負荷増大に繋がる。そのため、せいぜい数世代から十数世代分だけ保存するといった運用がほとんどである。その場合、スナップショット作成時に、毎回アクセスする確率は依然低いが、スナップショットの作成間隔が広がるため、直近からのリストアでは不十分である可能性が十分ありえる。   Regarding the means for storing a plurality of generations, even if the required capacity is small and it is possible to hold 100 generations or more as a functional specification, storing several tens to more than one hundred leads to an increase in management and operational load. For this reason, most operations are to store only a few generations to a dozen generations at most. In that case, the probability of accessing each time when creating a snapshot is still low, but since the snapshot creation interval is widened, there is a possibility that the most recent restoration is insufficient.

また、バッファデータの書き込みに関しては、何もしていないので、可能性が低いとはいえファイルの破壊や保存データの未反映自体は生じてしまう。   In addition, since nothing is done with respect to the writing of the buffer data, although the possibility is low, the destruction of the file or the unreflection of the stored data itself occurs.

また、ファイルシステムのトランザクション化による回避策の場合は、NAS上にあるファイルの更新に対して書き込み命令が完了していないデータに対しては、正規のデータとして認めないので、中途半端にデータが更新され、不完全なファイルとしてスナップショットデータが作成されるというのは防ぐことが出来る。   In addition, in the case of a workaround by making the file system transactional, data that has not been written for update of the file on the NAS is not accepted as legitimate data. It is possible to prevent snapshot data from being updated and being created as an incomplete file.

しかし、バッファデータの書き込み命令をネットワークで転送するブロック等で分割し、複数の書き込み命令として処理している場合は、ファイルとしてはまだ静止点が確保されているとは言えない状態であっても、書き込み命令が完了している部分に関しては正常と判断し、スナップショットを作成して、不完全なファイルデータを保存してしまう。そのため、十分な対策とは言えない。また、更新完了データを正確に反映した状態で保存することは出来ないため、データ損失は発生する。   However, if the buffer data write command is divided into blocks that are transferred over the network, etc., and processed as multiple write commands, it may not be said that the quiesce point is still secured for the file. Therefore, it is determined that the portion for which the write command has been completed is normal, and a snapshot is created and incomplete file data is saved. Therefore, it is not a sufficient measure. In addition, data cannot be stored in a state that accurately reflects the update completion data, resulting in data loss.

また、クライアントでNASとの連携用ソフトウェアを使用する場合は、バッファデータを反映しているためデータ損失やファイル破壊を防ぐことは出来る。   In addition, when software for cooperation with NAS is used on the client, data loss and file destruction can be prevented because the buffer data is reflected.

しかし、それらのソフトウェアは、主にデータベースなど独自に静止点を確保する機能との連携が多く、NASの一般的な用途であるファイルサーバで使用するのが難しいものが多い。   However, these softwares are mostly linked with functions such as a database that secure a stationary point independently, and are often difficult to use in a file server, which is a general use of NAS.

また、一部のソフトウェアはファイルサーバ用途でも使用することも可能だが、操作はクライアント側からの操作となる。そのため、基本的にそれらの連携用ソフトウェアはインストールされているクライアントのデータのみに注視しており、他のクライアントと連携する機能を有していない。そのため、複数のクライアントで同じファイルシステムを利用している場合、連携用ソフトウェアを使用してスナップショットを作成しても、他のクライアントのデータの整合性は保障出来ない。仮に、他のクライアントと連携できる場合も、せいぜい数クライアントが限度である。一般的なファイルサーバでは数百から数万クライアントが存在するため、その全てのクライアントで同時に静止点を確保してスナップショットを作成するということは現実的に非常に困難である。よって、通常これらの連携用ソフトウェアを使用する場合は、他のクライアントと連携する必要のないようにファイルシステムを分割して使用することが推奨されているが、このように多数のクライアントが存在する環境では、ファイルシステムの数もその数だけ増えていくため、結局運用することが極めて困難であると言える。   Some software can also be used for file servers, but operations are performed from the client side. For this reason, the software for cooperation basically pays attention only to the data of the installed client, and does not have a function to cooperate with other clients. For this reason, if the same file system is used by a plurality of clients, the consistency of data of other clients cannot be guaranteed even if a snapshot is created using the cooperation software. Even if other clients can be linked, the maximum number of clients is the limit. Since there are hundreds to tens of thousands of clients in a general file server, it is practically very difficult to create a snapshot with all the clients securing a quiesce point at the same time. Therefore, it is recommended to use the file system in a divided manner so that it is not necessary to link with other clients when using these linkage software. However, there are many clients like this. In an environment, the number of file systems increases by that number, so it can be said that it is extremely difficult to operate after all.

また、特許文献1に記載された技術においてもNASから静止点を確保するものではないため、同様の問題点がある。   The technique described in Patent Document 1 also has the same problem because it does not secure a stationary point from NAS.

本発明の目的は、上述した課題を解決する記憶装置、記憶方法およびプログラムを提供することである。   The objective of this invention is providing the memory | storage device, the memory | storage method, and program which solve the subject mentioned above.

本発明の記憶装置は、
データを記憶する記憶装置であって、
データを記憶する記憶装置であって、
前記データを保有するクライアント装置に対して、該データを当該記憶装置へフラッシュさせる命令を行うフラッシュ部と、
前記命令に対して前記クライアント装置からフラッシュされたデータを一時的に保持する一時保持メモリと、
当該記憶装置と前記クライアント装置との間のコネクション情報と、前記フラッシュが完了したかどうかを示すフラッシュ完了情報とに基づいて、前記一時保持メモリに保持されたデータの静止点の取れたマッピング情報を保存するデータ保護部と、
前記データ保護部が保存したマッピング情報と前記フラッシュ完了情報とに基づいて、スナップショットを作成するスナップショット部と、
前記スナップショット部が作成したスナップショットを記憶する記憶部とを有し、
前記フラッシュ部は、前記コネクション情報に基づいて、アクセスしているクライアント装置に対して前記命令を行う。
The storage device of the present invention
A storage device for storing data,
A storage device for storing data,
A flash unit for instructing the client device holding the data to flush the data to the storage device;
A temporary holding memory for temporarily holding data flushed from the client device in response to the command;
Based on the connection information between the storage device and the client device and the flush completion information indicating whether or not the flush has been completed, mapping information with a quiesce point of the data held in the temporary holding memory is obtained. The data protection part to save,
A snapshot unit for creating a snapshot based on the mapping information stored by the data protection unit and the flash completion information;
A storage unit for storing a snapshot created by the snapshot unit;
The flash unit issues the command to the accessing client device based on the connection information.

また、本発明の記憶方法は、
データを記憶装置に記憶する記憶方法であって、
前記データを保有するクライアント装置のうち、当該記憶装置へアクセスしているクライアント装置に対して、前記データを当該記憶装置へフラッシュさせる命令を行う処理と、
前記命令に対して前記クライアント装置からフラッシュされたデータを一時的に保持する処理と、
当該記憶装置と前記クライアント装置との間のコネクション情報と、前記フラッシュが完了したかどうかを示すフラッシュ完了情報とに基づいて、前記一時的に保持されたデータの静止点の取れたマッピング情報を保存する処理と、
前記保存されたマッピング情報と前記フラッシュ完了情報とに基づいて、スナップショットを作成する処理と、
前記作成されたスナップショットを記憶する処理とを行う。
The storage method of the present invention includes:
A storage method for storing data in a storage device,
A process of instructing a client device that is accessing the storage device among the client devices that hold the data to flush the data to the storage device;
Processing to temporarily hold data flushed from the client device in response to the command;
Based on the connection information between the storage device and the client device and the flush completion information indicating whether or not the flush has been completed, the mapping information with the quiesce point of the temporarily held data is saved. Processing to
A process of creating a snapshot based on the stored mapping information and the flash completion information;
A process of storing the created snapshot is performed.

また、本発明のプログラムは、
データを記憶する記憶装置に実行させるためのプログラムであって、
前記データを保有するクライアント装置のうち、当該記憶装置へアクセスしているクライアント装置に対して、前記データを当該記憶装置へフラッシュさせる命令を行う手順と、
前記命令に対して前記クライアント装置からフラッシュされたデータを一時的に保持する手順と、
当該記憶装置と前記クライアント装置との間のコネクション情報と、前記フラッシュが完了したかどうかを示すフラッシュ完了情報とに基づいて、前記一時的に保持されたデータの静止点の取れたマッピング情報を保存する手順と、
前記保存されたマッピング情報と前記フラッシュ完了情報とに基づいて、スナップショットを作成する手順と、
前記作成されたスナップショットを記憶する手順とを実行させる。
The program of the present invention is
A program for causing a storage device for storing data to be executed,
A procedure for instructing a client device that is accessing the storage device among the client devices that hold the data to flush the data to the storage device;
Temporarily holding data flushed from the client device in response to the instructions;
Based on the connection information between the storage device and the client device and the flush completion information indicating whether or not the flush has been completed, the mapping information with the quiesce point of the temporarily held data is saved. And the steps to
A procedure for creating a snapshot based on the stored mapping information and the flash completion information;
And a step of storing the created snapshot.

本発明においては、データのバックアップの運用の簡易化を図ることができる。   In the present invention, it is possible to simplify the operation of data backup.

本発明の記憶装置の第1の実施の形態を示す図である。It is a figure which shows 1st Embodiment of the memory | storage device of this invention. 図1に示したNAS装置およびクライアント装置の内部構成の一例を示すブロック図である。FIG. 2 is a block diagram illustrating an example of an internal configuration of a NAS device and a client device illustrated in FIG. 1. 図2に示したフラッシュマップの一例を示す図である。It is a figure which shows an example of the flash map shown in FIG. 図2に示したコールドマップの一例を示す図である。It is a figure which shows an example of the cold map shown in FIG. フラッシュ処理中に既にバッファデータを取得したクライアント装置より更新処理があった場合の概要図である。FIG. 10 is a schematic diagram when update processing is performed from a client device that has already acquired buffer data during flash processing. フラッシュ処理中に既にバッファデータを取得したクライアント装置より更新処理があった場合の概要図である。FIG. 10 is a schematic diagram when update processing is performed from a client device that has already acquired buffer data during flash processing. 本形態における記憶方法のうち、スナップショット作成開始からクライアント装置上のバッファデータのフラッシュまでの処理を説明するためのフローチャートである。It is a flowchart for demonstrating the process from the snapshot preparation start to the flush of the buffer data on a client apparatus among the storage methods in this form. 本形態における記憶方法のうち、フラッシュ処理中のクライアント装置の更新処理を説明するためのフローチャートである。It is a flowchart for demonstrating the update process of the client apparatus in a flash process among the storage methods in this form. 本形態における記憶方法のうち、スナップショットを作成する処理を説明するためのフローチャートである。It is a flowchart for demonstrating the process which produces a snapshot among the storage methods in this form. 第2の実施の形態において、フラッシュ処理中に既にバッファデータを取得したクライアント装置より更新処理があった場合の概要図である。FIG. 10 is a schematic diagram when update processing is performed from a client device that has already acquired buffer data during flush processing in the second embodiment. 第3の実施の形態におけるフラッシュマップの一例を示す図である。It is a figure which shows an example of the flash map in 3rd Embodiment.

以下に、本発明の実施の形態について図面を参照して説明する。   Embodiments of the present invention will be described below with reference to the drawings.

本発明の特徴は、ネットワーク経由で使用するストレージシステムであるNASについて、特に、複数のクライアントが使用する領域での追記型のスナップショットを利用時に、バックアップ対象領域のデータの静止点をNAS上からクライアント上の更新処理が完了したデータをフラッシュさせ、NAS上に書き込ませることでファイルデータの静止点を確保し、最新のデータを保存させることである。   The feature of the present invention is that, regarding NAS, which is a storage system used via a network, the quiesce point of data in the backup target area is displayed on the NAS when using a write-once snapshot in an area used by a plurality of clients. The data that has been updated on the client is flushed and written on the NAS to secure a quiesce point of the file data and to store the latest data.

以下の説明において、NAS装置やスナップショット機能等の一般的な用語、技術に関しては、省略可能な部分については一般的なものと同様とし、詳細な説明は行わず、本発明に関わるものを中心に説明する。   In the following description, regarding general terms and technologies such as the NAS device and the snapshot function, the omissible portions are the same as the general ones, and a detailed description is not given, and those related to the present invention are mainly described. Explained.

図1は、本発明の記憶装置の第1の実施の形態を示す図である。   FIG. 1 is a diagram showing a first embodiment of a storage device according to the present invention.

本形態において、本発明の記憶装置であるNAS装置1は、少なくとも1台のNAS装置コントローラ部300と、記憶部400とを有するストレージ装置として実現されている。   In this embodiment, the NAS device 1 that is a storage device of the present invention is realized as a storage device having at least one NAS device controller unit 300 and a storage unit 400.

NAS装置1は、ネットワーク200を介して、NAS装置1を利用する少なくとも1台のクライアント装置100と接続されている。   The NAS device 1 is connected to at least one client device 100 that uses the NAS device 1 via the network 200.

クライアント装置100は、データを保有し、通信機能を具備した、利用者が操作する通信装置である。   The client device 100 is a communication device operated by a user that has data and has a communication function.

ネットワーク200は、例えばインターネット・プロトコル(Internet Protocol:IP)を用いて構成される通信ネットワークである。   The network 200 is a communication network configured using, for example, the Internet protocol (IP).

図2は、図1に示したNAS装置1およびクライアント装置100の内部構成の一例を示すブロック図である。   FIG. 2 is a block diagram showing an example of the internal configuration of the NAS device 1 and the client device 100 shown in FIG.

図1に示したクライアント装置100には図2に示すように、NASバッファ領域101と、メモリ102と、アプリケーション部103と、入出力モジュール104と、フラッシュ実行部105とが設けられている。   As shown in FIG. 2, the client apparatus 100 shown in FIG. 1 includes a NAS buffer area 101, a memory 102, an application unit 103, an input / output module 104, and a flash execution unit 105.

NASバッファ領域101は、クライアント装置100上のNASアクセス用のバッファデータであり、ここにNASアクセスのデータをバッファすることで性能の向上を図っている。   The NAS buffer area 101 is buffer data for NAS access on the client apparatus 100, and the performance is improved by buffering the NAS access data therein.

メモリ102は、クライアント装置100上のメモリ領域である。このメモリ102は、クライアント装置100上の全てのアプリケーションが使用する領域であり、NASアクセスを含むクライアント装置100の全アクセスのバッファデータを保持し、性能向上を図っている。   The memory 102 is a memory area on the client device 100. The memory 102 is an area used by all applications on the client device 100, and holds buffer data for all accesses of the client device 100 including NAS access to improve performance.

アプリケーション部103は、クライアント装置100上で稼動しており、NAS領域へのアクセスを実行するソフトウェアである。   The application unit 103 is software that runs on the client device 100 and executes access to the NAS area.

入出力モジュール104は、NAS装置1とクライアント装置100との間のI/Oの出力・入力処理を行う。   The input / output module 104 performs I / O output / input processing between the NAS device 1 and the client device 100.

フラッシュ実行部105は、フラッシュ部305よりフラッシュ実行命令があった後に、NASバッファ領域101と、メモリ102と、アプリケーション部103とへ、更新完了済みデータのNAS領域への書き込み命令を発行し、書き込みが完了したらフラッシュ部305へ、書き込み完了したことを伝える機能を有する。これにより、NAS装置コントローラ部300は、書き込もうとされているデータが、バッファデータであるのかバッファデータではない更新完了データであるのかを判断できる。   The flash execution unit 105 issues a write instruction to the NAS area for the updated data to the NAS buffer area 101, the memory 102, and the application unit 103 after receiving a flash execution instruction from the flash unit 305, and writes Is completed, the flash unit 305 has a function of notifying the completion of writing. Thereby, the NAS device controller unit 300 can determine whether the data to be written is buffer data or update completion data that is not buffer data.

また、フラッシュ実行部105は、フラッシュ処理中に新たに更新処理が確定し、NAS領域への書き込みが発生した場合、その更新完了データをNAS領域へ書き込まないようにメモリ102上などに保持し、フラッシュ処理完了後にフラッシュ部305よりバッファデータ取得完了の通知を受け取ったらNAS領域への書き込みを実施する機能を有する。これにより、フラッシュ処理中の追加の更新完了データの書き込みを防ぎ、ファイルの静止点を確保することが出来る。   The flash execution unit 105 holds the update completion data on the memory 102 so that the update completion data is not written to the NAS area when the update process is newly confirmed during the flash process and writing to the NAS area occurs. When a notification of completion of buffer data acquisition is received from the flash unit 305 after the completion of the flash processing, it has a function of writing to the NAS area. As a result, writing of additional update completion data during the flash process can be prevented, and a quiesce point of the file can be secured.

また、フラッシュ実行部105は、クライアント装置100がNAS装置1に対して、複数のコネクションを有している場合は、全てのコネクションでバッファデータのフラッシュ処理を実施し、フラッシュ処理が完了するまで更新完了データの書き込み待ちを行い、全てのコネクションでフラッシュが完了してからフラッシュ完了通知を発信する機能を有する。これにより、複数コネクションがある場合に一部のコネクションしかフラッシュが完了していないのに、フラッシュ完了通知を発信して、NAS装置1がクライアント装置100上にバッファデータがないと認識し、その後の更新防止処理が動いてしまうといったようなことを防ぐことが出来る。   In addition, when the client device 100 has a plurality of connections to the NAS device 1, the flush execution unit 105 performs the buffer data flush processing on all the connections, and updates until the flush processing is completed. It has a function of waiting for writing completion data and sending a flash completion notification after flushing is completed for all connections. As a result, when there are a plurality of connections, only some of the connections have been flushed, but a flush completion notification is sent, and the NAS device 1 recognizes that there is no buffer data on the client device 100, and thereafter It is possible to prevent the update prevention process from moving.

また、図1に示したNAS装置コントローラ部300には図2に示すように、入出力モジュール301と、メモリ302と、メインコントローラ303と、ディスクコントローラ304と、フラッシュ部305と、フラッシュマップ306と、データ保護部307と、コールドマップ308と、スナップショット部309とが設けられている。   As shown in FIG. 2, the NAS device controller unit 300 shown in FIG. 1 includes an input / output module 301, a memory 302, a main controller 303, a disk controller 304, a flash unit 305, and a flash map 306. A data protection unit 307, a cold map 308, and a snapshot unit 309 are provided.

入出力モジュール301は、NAS装置1とクライアント装置100と間のI/Oの出力・入力処理を行う。   The input / output module 301 performs I / O output / input processing between the NAS device 1 and the client device 100.

メモリ302は、NAS装置コントローラ部300内の処理用領域である。また、メモリ302は、クライアント装置100からの書き込みをここで一時的に保持した後に応答を返すことで、応答時間の向上を図っている一時保持メモリでもある。   The memory 302 is a processing area in the NAS device controller unit 300. The memory 302 is also a temporary storage memory that improves response time by returning a response after temporarily storing the writing from the client device 100 here.

メインコントローラ303は、NASアクセスに関する基本機能の処理全てを実行しており、NAS装置コントローラ部300の制御部である。   The main controller 303 executes all basic function processing related to NAS access, and is a control unit of the NAS device controller unit 300.

ディスクコントローラ304は、記憶部400のボリューム管理をしており、メインコントローラ303からの記憶部400へのアクセス命令を受け取りI/O処理を実行する。   The disk controller 304 manages the volume of the storage unit 400, receives an access command to the storage unit 400 from the main controller 303, and executes I / O processing.

フラッシュ部305は、メインコントローラ303よりクライアント装置100とのコネクション情報を取得し、フラッシュマップ306を作成する機能を有する。   The flash unit 305 has a function of acquiring connection information with the client device 100 from the main controller 303 and creating a flash map 306.

また、フラッシュ部305は、作成したフラッシュマップ306を確認し、更新完了している情報の書き込み命令をクライアント装置100のフラッシュ実行部105へ発行する機能を有する。   In addition, the flash unit 305 has a function of confirming the created flash map 306 and issuing a command to write updated information to the flash execution unit 105 of the client device 100.

また、フラッシュ部305は、フラッシュ実行部105よりバッファデータの書き込み完了通知を受けると、フラッシュマップ306内のクライアント装置100の情報に更新完了データを受け取ったことを記述し、更新する機能を有する。   Further, when the flash unit 305 receives a buffer data write completion notification from the flash execution unit 105, the flash unit 305 has a function of describing and updating that the update completion data has been received in the information of the client device 100 in the flash map 306.

また、フラッシュ部305は、フラッシュマップ306にバッファデータ取得の情報の記述が完了後、クライアント装置100上のフラッシュ実行部105へバッファデータ取得完了の通知を送信する機能を有する。   Further, the flash unit 305 has a function of transmitting a buffer data acquisition completion notification to the flash execution unit 105 on the client device 100 after the description of the buffer data acquisition information in the flash map 306 is completed.

また、フラッシュ部305は、全てのクライアント装置100のフラッシュ処理が完了したら、スナップショット部309にスナップショットの作成を実行するように命令する機能を有する。   Further, the flash unit 305 has a function of instructing the snapshot unit 309 to execute creation of a snapshot when the flash processing of all the client apparatuses 100 is completed.

また、フラッシュ部305は、スナップショット部309よりスナップショット作成完了の通知を受けると、不要になったフラッシュマップ306を削除する機能を有する。   In addition, the flash unit 305 has a function of deleting the flash map 306 that is no longer needed upon receiving a notification of completion of snapshot creation from the snapshot unit 309.

フラッシュマップB6およびコールドマップB8については、図3および図4を用いて、それぞれ説明する。   The flash map B6 and the cold map B8 will be described with reference to FIGS. 3 and 4, respectively.

図3は、図2に示したフラッシュマップ306の一例を示す図である。   FIG. 3 is a diagram showing an example of the flash map 306 shown in FIG.

フラッシュマップ306は図3に示すように、バッファデータのフラッシュ処理を行うための情報が記述されており、コネクション番号、接続先IPアドレス、接続先ポート番号、フラッシュ完了情報が記述されている。   As shown in FIG. 3, the flash map 306 describes information for performing buffer data flush processing, and describes a connection number, a connection destination IP address, a connection destination port number, and flash completion information.

コネクション番号には、接続しているクライアント装置100を判別するために一意に割り当てた番号が記述されてある。これにより、クライアント装置100を一意に判別している。   In the connection number, a number uniquely assigned to determine the connected client device 100 is described. Thereby, the client device 100 is uniquely identified.

接続先IPアドレスには、現在接続しているクライアント装置100のIPアドレスが記述されている。ここに記述してあるIPアドレスへフラッシュ処理情報を通達する。   In the connection destination IP address, the IP address of the currently connected client device 100 is described. The flash processing information is notified to the IP address described here.

接続先ポート番号には、現在接続しているクライアント装置100のポート番号が記述されている。IPアドレスと同様に、ここに記述してあるポート番号へフラッシュ処理情報を通達する。   In the connection destination port number, the port number of the currently connected client device 100 is described. Similar to the IP address, the flash processing information is sent to the port number described here.

フラッシュ完了情報には、フラッシュ処理が完了したかどうかが記述してある。例えば、図3に示すように、フラッシュ処理が完了したかどうかを「ON」と「OFF」とで表現するものであっても良い。この情報を確認することで、データ保護部307はフラッシュ処理中のクライアント装置100からの更新処理に関して既にフラッシュ処理が完了しているクライアント装置100かどうかを判断し、処理を行うことが出来る。   The flash completion information describes whether or not the flash process has been completed. For example, as shown in FIG. 3, “ON” and “OFF” may be used to indicate whether or not the flash process has been completed. By confirming this information, the data protection unit 307 can determine whether or not the client device 100 has already been flushed with respect to the update processing from the client device 100 being flushed, and can perform the processing.

図4は、図2に示したコールドマップ308の一例を示す図である。   FIG. 4 is a diagram showing an example of the cold map 308 shown in FIG.

図2に示したコールドマップは図4に示すように、バッファデータ取得後の静止点イメージ情報に関する情報が記述されている。具体的には、ファイルのメタ情報、ファイルの静止点マッピング情報、スナップショットチェックが記述されている。   As shown in FIG. 4, the cold map shown in FIG. 2 describes information about still point image information after buffer data acquisition. Specifically, file meta information, file still point mapping information, and snapshot check are described.

ファイルのメタ情報には、更新のあったNAS上のファイルのメタ情報(ファイル名や更新情報など)が記述してある。これを確認することで、スナップショット部309へ静止点マッピング情報を渡すファイルを判断している。   In the meta information of the file, meta information (file name, update information, etc.) of the file on the updated NAS is described. By confirming this, the file that passes the still point mapping information to the snapshot unit 309 is determined.

ファイルの静止点マッピング情報には、バッファデータ取得後のメタデータを含む静止点のとれたファイルのマッピング情報が記述されている。ここに記述してある静止点のとれたマッピング情報をスナップショット部309へ渡すことで、バッファデータ取得時点の静止点のとれたファイルイメージを保存することが出来る。そのため、同じファイルがバッファデータ取得後にスナップショット作成後に複数回更新があった場合であっても、一度記述されれば更新されない。   The file quiesce point mapping information describes the mapping information of the file with the quiesce point including the metadata after the buffer data is acquired. By passing the mapping information of the quiesce point described here to the snapshot unit 309, the file image with the quiesce point at the time of buffer data acquisition can be saved. Therefore, even if the same file is updated a plurality of times after the creation of the snapshot after obtaining the buffer data, it will not be updated once described.

スナップショットチェックには、対象のファイルのマッピング情報をスナップショット部309に渡したかどうかが記述してある。例えば、図4に示すように、対象のファイルのマッピング情報をスナップショット機構に渡したかどうかを「ON」と「OFF」とで表現するものであっても良い。この情報を確認することで、どのファイルのマッピング情報をスナップショット部309に渡せばよいかを判断する。   The snapshot check describes whether the mapping information of the target file has been passed to the snapshot unit 309. For example, as shown in FIG. 4, “ON” and “OFF” may be used to indicate whether the mapping information of the target file has been passed to the snapshot mechanism. By confirming this information, it is determined which file mapping information should be passed to the snapshot unit 309.

データ保護部307は、メインコントローラ303と連携し、バッファデータのフラッシュ処理中の更新処理に対してフラッシュマップ306を確認し、フラッシュ処理が完了していないクライアント装置100からの場合は、そのまま通常の更新処理を行うようにメインコントローラ303へ指示する機能を有する。   The data protection unit 307 cooperates with the main controller 303 to check the flash map 306 for the update process during the buffer data flush process. When the client apparatus 100 has not completed the flush process, the data protection unit 307 performs the normal process. It has a function of instructing the main controller 303 to perform update processing.

また、データ保護部307は、フラッシュマップ306を確認し、既にバッファデータを受け取っているクライアント装置100からの更新処理の場合は、更新対象ファイルのマッピング情報とファイルのメタ情報とを保存後、更新データは新規領域に書き込みようにメインコントローラ303に命令する機能を有する。   Also, the data protection unit 307 checks the flash map 306, and in the case of update processing from the client device 100 that has already received the buffer data, saves the mapping information of the update target file and the meta information of the file, and then updates it. Data has a function of instructing the main controller 303 to write to a new area.

また、データ保護部307は、取得したマッピング情報とメタ情報とを保存するコールドマップ308を作成する機能を有し、保存した更新前のファイルのマッピング情報とメタ情報とをコールドマップ308に記述する機能も有する。   Further, the data protection unit 307 has a function of creating a cold map 308 for storing the acquired mapping information and meta information, and describes the stored mapping information and meta information of the pre-update file in the cold map 308. It also has a function.

また、データ保護部307は、コールドマップ308に記述したファイルにさらに更新があった場合、静止点イメージが保持された領域への更新のときは、上述のバッファデータ取得後の更新処理と同様に、新規領域へ書き込むようにメインコントローラ303に命令し、既に新規領域へ書き込まれている領域への再更新や新規領域への追記の場合は、通常と同様の更新および追記を行うようにメインコントローラ303に命令する機能を有する。   In addition, when the file described in the cold map 308 is further updated, the data protection unit 307 is similar to the update process after acquiring the buffer data described above when updating to the area where the still image is held. The main controller 303 is instructed to write to the new area, and in the case of re-updating to the area already written in the new area or appending to the new area, the main controller 303 performs the same update and append as usual. 303 has a function to instruct 303.

また、データ保護部307は、全てのフラッシュ処理が完了し、スナップショット部309がスナップショットを作成するときに、静止点情報について問い合わせを受け、コールドマップ308に記述してある静止点の取得後に更新のあったファイルの情報と静止点を取得時のファイルのマッピング情報であるファイルの静止点マッピング情報をスナップショット部309に渡し、情報を渡したことをチェックする機能を有する。   In addition, the data protection unit 307 receives an inquiry about static point information when all the flash processing is completed and the snapshot unit 309 creates a snapshot, and after acquiring the static point described in the cold map 308 It has a function of passing the information of the updated file and the file quiescing point mapping information, which is the file mapping information when acquiring the quiesce point, to the snapshot unit 309 and checking that the information has been passed.

また、データ保護部307は、スナップショット部309よりスナップショットを作成完了の通知を受けると、コールドマップ308が存在するときは、不要になったコールドマップ308を削除する機能を有する。   Further, when the data protection unit 307 receives a notification of completion of creation of a snapshot from the snapshot unit 309, the data protection unit 307 has a function of deleting the cold map 308 that is no longer needed when the cold map 308 exists.

スナップショット部309は、スナップショットを作成する機能を有する。スナップショットの作成に関しては、一般的な作成法と同等なので詳細な説明は省略する。   The snapshot unit 309 has a function of creating a snapshot. The creation of the snapshot is the same as a general creation method, so a detailed description is omitted.

また、スナップショット部309は、メインコントローラ303よりスナップショット作成の命令を受けたとき、フラッシュ部305へクライアント装置100のバッファデータのフラッシュ処理を実行するように命令する機能を有する。   Further, the snapshot unit 309 has a function of instructing the flash unit 305 to execute the buffer data flush processing of the client device 100 when receiving a snapshot creation command from the main controller 303.

また、スナップショット部309は、フラッシュ部305より全てのクライアント装置100でフラッシュ処理が完了した通知を受けたら、データ保護部307へバッファデータ取得後に更新があったかどうかを確認し、更新があった場合は、静止点を取得した状態のファイルのマッピング情報とファイル情報とを取得し、スナップショット作成時に更新のあったファイルに関しては作成時のマッピング情報ではなく、データ保護部307より取得したマッピング情報を利用してスナップショットを作成する機能を有する。このとき、更新していないファイルに関しては、通常のスナップショット処理と同様の処理を行う。   When the snapshot unit 309 receives a notification from the flash unit 305 that all the client devices 100 have completed the flash process, the snapshot unit 309 checks the data protection unit 307 to determine whether or not there has been an update after acquiring buffer data. Acquires the mapping information and file information of the file in the state where the quiesce point has been acquired, and the mapping information acquired from the data protection unit 307 is not the mapping information at the time of creation for the file updated at the time of creating the snapshot. It has a function to create a snapshot using it. At this time, for a file that has not been updated, the same processing as the normal snapshot processing is performed.

また、スナップショット部309は、スナップショットが作成できたら、フラッシュ部305およびデータ保護部307へ、スナップショット作成完了通知を送信する機能を有する。   Further, the snapshot unit 309 has a function of transmitting a snapshot creation completion notification to the flash unit 305 and the data protection unit 307 when a snapshot can be created.

図5および図6は、フラッシュ処理中に既にバッファデータを取得したクライアント装置100より更新処理があった場合の概要図である。   FIG. 5 and FIG. 6 are schematic diagrams in the case where there is an update process from the client device 100 that has already acquired the buffer data during the flush process.

図5および図6に示すように、記憶部400の一部を「1」から「15」のブロックとしたときに、既に「1」から「4」がバッファデータを取得時のファイルのマッピング情報であり、静止点の取得された情報である。   As shown in FIGS. 5 and 6, when a part of the storage unit 400 is a block from “1” to “15”, file mapping information when “1” to “4” have already acquired buffer data It is the acquired information of the stationary point.

その後、更新処理があった場合、メインコントローラ303は、データ保護部307へ書き込み問い合わせを実行する。メインコントローラ303より問い合わせを受けたデータ保護部307は、フラッシュマップ306を確認し、既にバッファデータを取得しているクライアント装置100からの更新であった場合は更新前のマッピング情報(「1」、「2」、「3」、「4」)とファイルのメタ情報を保存し、保存した領域への更新防止と新規領域への追記命令をメインコントローラ303へ渡し、更新前のマッピング情報とファイルのメタ情報とをコールドマップ308に記述する。このとき、コールドマップ308が作成されていないときは、先にコールドマップB8を作成してから記述する。   Thereafter, when there is an update process, the main controller 303 executes a write inquiry to the data protection unit 307. The data protection unit 307 that has received the inquiry from the main controller 303 confirms the flash map 306. If the update is from the client device 100 that has already acquired the buffer data, the mapping information (“1”, “2”, “3”, “4”) and the file meta information are stored, the update prevention to the saved area and the appending instruction to the new area are passed to the main controller 303, the mapping information before the update and the file information Meta information is described in the cold map 308. At this time, if the cold map 308 has not been created, the cold map B8 is created first and then described.

データ保護部307より保存した領域への更新防止と新規領域への追記命令を受けたメインコントローラ303は、更新データを新規領域へ書き込み、ファイルのマッピング情報を更新する。   The main controller 303 that has received an instruction to prevent update to the saved area and an additional write to the new area from the data protection unit 307 writes the update data to the new area and updates the file mapping information.

その後、全てのフラッシュ処理が完了し、スナップショット作成処理に移ると、スナップショット部309は、データ保護部307へフラッシュ完了後の更新処理について問い合わせを行う。   Thereafter, when all the flash processes are completed and the process proceeds to the snapshot creation process, the snapshot unit 309 inquires of the data protection unit 307 about the update process after the completion of the flash.

問い合わせを受けたデータ保護部307は、コールドマップ308を確認し、フラッシュ処理完了後に更新のあったファイルのメタ情報と更新前のマッピング情報とを取得する。   Upon receiving the inquiry, the data protection unit 307 confirms the cold map 308, and acquires the meta information of the file that has been updated after the completion of the flush process and the mapping information before the update.

情報をコールドマップ308から取得したデータ保護部307は、取得した情報をスナップショット部309へ渡す。   The data protection unit 307 that acquired the information from the cold map 308 passes the acquired information to the snapshot unit 309.

更新のあったファイルのメタ情報と更新前のマッピング情報とを取得したスナップショット部309は、受け取った情報をもとにスナップショットを作成する。   The snapshot unit 309 that has acquired the meta information of the updated file and the mapping information before the update creates a snapshot based on the received information.

以下に、本形態における記憶方法となる、クライアント装置のファイルの静止点の取得およびその情報を利用したスナップショットの作成の動作について、説明する。   In the following, an operation of acquiring a quiesce point of a file of a client device and creating a snapshot using the information, which is a storage method in this embodiment, will be described.

まずは、スナップショット作成開始からクライアント装置上のバッファデータのフラッシュまでの処理について説明する。   First, processing from the start of snapshot creation to the buffer data flush on the client device will be described.

図7は、本形態における記憶方法のうち、スナップショット作成開始からクライアント装置上のバッファデータのフラッシュまでの処理を説明するためのフローチャートである。   FIG. 7 is a flowchart for explaining the processing from the start of snapshot creation to the flushing of buffer data on the client device in the storage method according to this embodiment.

ここで、スナップショットの作成やクライアントとNAS装置との接続プロトコル動作に関しては、一般技術と同様とする。   Here, the snapshot creation and the connection protocol operation between the client and the NAS device are the same as those in the general technique.

まず、ステップS1で、メインコントローラ303がスナップショット部309に対して、スナップショットの作成指示を出す。   First, in step S1, the main controller 303 issues a snapshot creation instruction to the snapshot unit 309.

作成指示を受けたスナップショット部309は、ステップS2で、フラッシュ部305に対して、クライアント装置100のバッファデータをフラッシュさせるように指示する。   Upon receiving the creation instruction, the snapshot unit 309 instructs the flash unit 305 to flush the buffer data of the client device 100 in step S2.

すると、指示を受けたフラッシュ部305は、ステップS3で、メインコントローラ303より、現在接続しているクライアント装置100のコネクション情報を取得する。   Then, the flash unit 305 that has received the instruction acquires connection information of the currently connected client device 100 from the main controller 303 in step S3.

続いて、コネクション情報を取得したら、ステップS4で、フラッシュ部305が図3に示したフラッシュマップ306を作成する。   Subsequently, when the connection information is acquired, the flash unit 305 creates the flash map 306 shown in FIG. 3 in step S4.

フラッシュマップ306を作成後、ステップS5で、フラッシュ部305は、コネクション情報に基づいて、NAS装置1と接続している各クライアント装置100へバッファデータをフラッシュするように指示する。   After creating the flash map 306, in step S5, the flash unit 305 instructs each client device 100 connected to the NAS device 1 to flush the buffer data based on the connection information.

指示を受けたクライアント装置100のフラッシュ実行部105は、ステップS6で、バッファデータを書き込むようにクライアント装置100上のアプリケーション部103等に指示する。   The flush execution unit 105 of the client device 100 that has received the instruction instructs the application unit 103 or the like on the client device 100 to write the buffer data in step S6.

実際にバッファデータを書き込む処理になった場合、ステップS7で、バッファデータを送付するときにフラッシュ実行部105は、フラッシュ部305へ、これからバッファデータを送付することを伝えるメッセージ(フラッシュ開始通知)を送信する。   When the buffer data is actually written, in step S7, when sending the buffer data, the flash execution unit 105 sends a message (flash start notification) to the flash unit 305 to inform the buffer unit 305 that it will send the buffer data. Send.

フラッシュ実行部105は、フラッシュ開始通知を発信後、ステップS8で、フラッシュ処理実行中に更新完了データが発生するかどうかを確認し、新たに更新完了データがあるかを確認する。   After sending the flash start notification, the flash execution unit 105 checks in step S8 whether update completion data is generated during execution of the flash process, and checks whether there is new update completion data.

新たに更新完了データがある場合、ステップS9で、そのデータは直ぐに書き込まれず一旦メモリ上に確保される。   If there is new update completion data, in step S9, the data is not written immediately but is temporarily secured in the memory.

フラッシュ実行部105は、更新完了データがない場合は、そのままフラッシュ処理完了させ、更新完了データがある場合はメモリ上にデータを確保している間にフラッシュ処理を完了させてから、ステップS10で、フラッシュ完了通知をフラッシュ部305に発信する。   If there is no update completion data, the flash execution unit 105 completes the flash processing as it is, and if there is update completion data, the flash execution unit 105 completes the flash processing while securing data on the memory, and then in step S10, A flash completion notification is sent to the flash unit 305.

フラッシュ部305は、フラッシュ完了通知を受信後、ステップS11で、フラッシュマップ306に完了したことを記述し、フラッシュ実行部105にバッファデータ取得完了通知を発信する。   After receiving the flash completion notification, the flash unit 305 describes the completion in the flash map 306 and sends a buffer data acquisition completion notification to the flash execution unit 105 in step S11.

バッファデータ取得完了通知を受け取ったフラッシュ実行部105は、ステップS12で、クライアント装置100上に更新完了データがあるかどうかを確認し、ない場合はそのまま処理を終了させる。一方、ある場合は更新完了データの書き込みを再開する。   In step S12, the flash execution unit 105 that has received the buffer data acquisition completion notification checks whether there is update completion data on the client device 100, and if not, ends the processing. On the other hand, if there is, the writing of the update completion data is resumed.

次に、フラッシュ処理中のクライアント装置100の更新処理について説明する。   Next, update processing of the client device 100 during flash processing will be described.

図8は、本形態における記憶方法のうち、フラッシュ処理中のクライアント装置100の更新処理を説明するためのフローチャートである。   FIG. 8 is a flowchart for explaining the update process of the client apparatus 100 during the flash process in the storage method according to the present embodiment.

まず、ステップS21で、更新処理があるかどうかを確認する。   First, in step S21, it is confirmed whether there is an update process.

更新処理がない場合、特に処理を行う必要がないため、処理を終了する。   If there is no update process, the process ends because there is no particular need to perform the process.

一方、更新処理がある場合は、ステップS22で、メインコントローラ303が書き込まれた更新処理に対してデータ保護部307に問い合わせし、データ保護部307はフラッシュマップ306を確認する。   On the other hand, if there is an update process, in step S22, the main controller 303 inquires the data protection unit 307 about the update process written, and the data protection unit 307 confirms the flash map 306.

ステップS23で、更新処理を行っているクライアント装置100のフラッシュ処理が完了しているかどうかをフラッシュマップ306で確認する。   In step S <b> 23, it is confirmed on the flash map 306 whether or not the flash processing of the client device 100 performing the update processing is completed.

フラッシュ処理が完了していなければ、ステップS24で、データ保護部307より通常の処理と同じ処理を行うようにメインコントローラ303へ指示する。   If the flash process has not been completed, in step S24, the data protection unit 307 instructs the main controller 303 to perform the same process as the normal process.

一方、フラッシュ処理が完了している場合は、データ保護部307は、ステップS25で、更新対象のファイルのメタ情報と更新前のマップ情報とを保存し、メインコントローラ303へは更新情報を新規領域へ書き込むように指示する。新規領域への書き込みを指示されたメインコントローラ303は、対象のファイルのメタ情報とマップ情報とを更新する。   On the other hand, if the flash process has been completed, the data protection unit 307 stores the meta information of the file to be updated and the map information before the update in step S25, and sends the update information to the main controller 303 as a new area. To write to. The main controller 303 instructed to write to the new area updates the meta information and map information of the target file.

更新前のメタ情報とマップ情報とを保存したデータ保護部307は、ステップS26で、コールドマップ308が作成されているかを確認する。   In step S26, the data protection unit 307 storing the pre-update meta information and map information confirms whether the cold map 308 has been created.

コールドマップ308が作成されていない場合、ステップS27で、データ保護部307はコールドマップ308を作成する。   If the cold map 308 has not been created, the data protection unit 307 creates the cold map 308 in step S27.

コールドマップ308が作成されたら、ステップS28で、取得したファイルのメタ情報と更新前マップ情報とをコールドマップ308に記述し、保存して処理を終了させる。   When the cold map 308 is created, in step S28, the meta information and pre-update map information of the acquired file are described in the cold map 308, stored, and the process is terminated.

これにより、更新処理を続けながら、静止点の取れたデータを確保できる。   Thereby, it is possible to secure data with a stationary point while continuing the update process.

次に、スナップショットを作成する処理について説明する。   Next, a process for creating a snapshot will be described.

図9は、本形態における記憶方法のうち、スナップショットを作成する処理を説明するためのフローチャートである。   FIG. 9 is a flowchart for explaining a process of creating a snapshot in the storage method according to this embodiment.

まず、ステップS31で、フラッシュ部305が、フラッシュマップ306を確認する。   First, in step S31, the flash unit 305 confirms the flash map 306.

確認後、ステップS32で、全てのコネクションよりフラッシュ処理が完了しているかを判断し、完了していない場合、スナップショット作成を行わず、フラッシュ処理が完了するのを待つ。   After the confirmation, it is determined in step S32 whether or not the flash processing is completed from all the connections. If it is not completed, snapshot creation is not performed and the completion of the flash processing is waited.

全てのコネクションよりフラッシュ処理が完了している場合は、ステップS33で、スナップショット部309がスナップショット作成を開始する。   If the flush processing has been completed for all connections, the snapshot unit 309 starts creating a snapshot in step S33.

スナップショットの作成を開始すると、スナップショット部309は、ステップS34で、データ保護部307に対して更新前情報がないかどうかを確認する。   When the creation of the snapshot is started, the snapshot unit 309 confirms whether there is no pre-update information in the data protection unit 307 in step S34.

すると、ステップS35で、データ保護部307は、コールドマップ308が存在するかどうかを確認する。   In step S35, the data protection unit 307 checks whether the cold map 308 exists.

コールドマップ308が存在しない場合、ステップS36で、データ保護部307は、通常のスナップショット作成と同様の処理を行うようにスナップショット部309へ指示し、スナップショット部309は、現在認識しているファイルに対してスナップショットを作成する。   If the cold map 308 does not exist, in step S36, the data protection unit 307 instructs the snapshot unit 309 to perform the same processing as normal snapshot creation, and the snapshot unit 309 is currently recognized. Create a snapshot for a file.

スナップショットを作成したら、ステップS37で、スナップショット部309は、フラッシュ部305とデータ保護部307とにスナップショット作成完了通知を発信する。   When the snapshot is created, the snapshot unit 309 sends a snapshot creation completion notification to the flash unit 305 and the data protection unit 307 in step S37.

フラッシュ部305は、スナップショット作成完了通知を取得すると、ステップS38で、フラッシュマップ306を削除し、処理を終了させる。このとき、コールドマップ308は存在しないため、データ保護部307はコールドマップ308の削除は行わない。   When acquiring the snapshot creation completion notification, the flash unit 305 deletes the flash map 306 and ends the processing in step S38. At this time, since the cold map 308 does not exist, the data protection unit 307 does not delete the cold map 308.

一方、コールドマップ308が存在する場合は、ステップS39で、データ保護部307は、コールドマップ308よりフラッシュ処理後に更新のあったファイルの情報と更新前マップ情報とをスナップショット部309へ渡す。   On the other hand, if the cold map 308 exists, in step S39, the data protection unit 307 passes the updated file information and the pre-update map information from the cold map 308 to the snapshot unit 309.

フラッシュ処理後に更新のあったファイルの情報と更新前マップ情報とを取得したスナップショット部309は、ステップS40で、フラッシュ処理後に更新のあったファイルに関しては取得したマップ情報を使用し、それ以外のフラッシュ処理後に更新のないファイルに関しては通常の処理と同様に作成時点のマップ情報を取得し、スナップショットを作成する。   In step S40, the snapshot unit 309 that has acquired the information of the file that has been updated after the flash process and the map information before the update uses the acquired map information for the file that has been updated after the flash process, and other information. For files that are not updated after the flash processing, map information at the time of creation is acquired and snapshots are created in the same way as in normal processing.

スナップショットが作成できたら、ステップS41で、スナップショット部309は、フラッシュ部305とデータ保護部307とにスナップショット作成完了通知を発信する。   If the snapshot can be created, the snapshot unit 309 sends a snapshot creation completion notification to the flash unit 305 and the data protection unit 307 in step S41.

スナップショット作成完了通知を取得すると、ステップS33で、フラッシュ部305はフラッシュマップ306を削除し、データ保護部307はコールドマップ308を削除して処理を終了させる。   When the snapshot creation completion notification is acquired, in step S33, the flash unit 305 deletes the flash map 306, and the data protection unit 307 deletes the cold map 308 and ends the processing.

以上説明した処理により、静止点を確保した状態でのスナップショットの作成を実現している。   Through the processing described above, creation of a snapshot with a stationary point secured is realized.

次に、本発明の記憶装置の第2の実施の形態について説明する。   Next, a second embodiment of the storage device of the present invention will be described.

本形態は、第1の実施の形態と同じ構成、同じ処理を行う。異なるのは、使用するスナップショットの機能が追記型ではなく、押し出し型のスナップショットである点である。そのため、データ保護機構処理の流れが異なる。   In the present embodiment, the same configuration and the same processing as in the first embodiment are performed. The difference is that the snapshot function to be used is not a write-once type but an extrusion type snapshot. Therefore, the flow of data protection mechanism processing is different.

図10は、第2の実施の形態において、フラッシュ処理中に既にバッファデータを取得したクライアント装置100より更新処理があった場合の概要図である。   FIG. 10 is a schematic diagram when update processing is performed from the client device 100 that has already acquired buffer data during the flush processing in the second embodiment.

図10に示すように、既にバッファデータを書き込んだコネクションからの更新データが送信されてきた場合、更新データを別の領域に書き込むのではなく、既に保存されているデータをスナップショット領域410へ書き込む。   As shown in FIG. 10, when update data is transmitted from a connection in which buffer data has already been written, the update data is not written to another area, but already stored data is written to the snapshot area 410. .

その後、スナップショットを作成する場合は、追記型と同様にバッファデータ書き込み完了時のマッピング情報をスナップショット部309に渡す。第2の実施の形態を利用すれば追記型だけではなく、押し出し型のスナップショットでも本発明を利用できる。   After that, when creating a snapshot, the mapping information at the completion of writing the buffer data is passed to the snapshot unit 309 as in the write-once type. If the second embodiment is used, the present invention can be used not only in a write-once type but also in an extrusion type snapshot.

次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。   Next, a third embodiment of the present invention will be described in detail with reference to the drawings.

第3の実施の形態は、第1の実施の形態および第2の実施の形態で使用しているフラッシュマップ306に、ある情報を追加したものである。   In the third embodiment, certain information is added to the flash map 306 used in the first embodiment and the second embodiment.

図11は、第3の実施の形態におけるフラッシュマップの一例を示す図である。   FIG. 11 is a diagram illustrating an example of a flash map according to the third embodiment.

図11に示すように第3の実施の形態で追加する情報は、信号の伝送遅延時間を示すレイテンシ情報である。   As shown in FIG. 11, the information added in the third embodiment is latency information indicating a signal transmission delay time.

フラッシュ部305が、コネクション情報を採取するときに、同時にNAS装置1とクライアント装置100との間のネットワークレイテンシを測定し、その情報をフラッシュマップ306に記述する。その後、フラッシュ部305がクライアント装置100上のフラッシュ実行部105へフラッシュ処理を開始するように通知するときに、レイテンシが大きなクライアント装置100からフラッシュの命令を通知するようにする。そうすることで、レイテンシの大きなクライアント装置100からバッファデータの書き込みが開始され、バッファデータの書き込み待ちによるフラッシュ処理の遅延を最小化することで、フラッシュ処理時間の短縮が可能になる。これにより、スナップショットを素早く作成することが出来るため、バックアップ時間の短縮を図ることが可能になる。   When the flash unit 305 collects connection information, it simultaneously measures the network latency between the NAS device 1 and the client device 100 and describes the information in the flash map 306. Thereafter, when the flash unit 305 notifies the flash execution unit 105 on the client device 100 to start the flash process, a flash command is notified from the client device 100 having a large latency. By doing so, the writing of the buffer data is started from the client device 100 having a large latency, and the flush processing time can be shortened by minimizing the delay of the flush processing due to the buffer data writing waiting. As a result, the snapshot can be quickly created, and the backup time can be shortened.

以上説明したように、本発明においては、以下に記載するような効果を奏する。   As described above, the present invention has the following effects.

第1の効果は、スナップショット作成時点でクライアント装置上の更新処理が完了したデータについて保存ができることである。   The first effect is that data that has been updated on the client device at the time of creating the snapshot can be saved.

その理由は、通常、クライアント装置での更新処理が完了し、ファイル等にデータを保存処理しても、NAS装置上へは即時に反映されず、クライアント装置上でファイルシステムのバッファのようにバッファリングしているため、スナップショット作成開始時には既に更新が完了しているデータでもスナップショットデータに保存されるとは限らないが、本発明では、クライアント装置のバッファデータをスナップショット作成開始時にクライアント装置側でフラッシュさせてNAS装置上に書き込むことで、クライアント装置上で更新処理が完了したデータを保存できるからである。仮に、フラッシュのタイミングによってデータの保存がずれる可能性があるが、それでも既存スナップショットよりかはその誤差は非常に小さい。   The reason is that, normally, update processing on the client device is completed, and even if data is stored in a file or the like, it is not immediately reflected on the NAS device, but is buffered like a file system buffer on the client device. However, even if the data has already been updated at the start of snapshot creation, it is not always stored in the snapshot data. However, in the present invention, the buffer data of the client device is stored in the client device at the start of snapshot creation. This is because the data that has been updated on the client device can be saved by flashing it on the side and writing it on the NAS device. Even if there is a possibility that the storage of data is shifted depending on the timing of the flash, the error is still very small compared to the existing snapshot.

第2の効果は、スナップショットデータ内のファイル破損の防止が可能であることである。これにより、スナップショットデータ内のファイルからリストアするときに、ファイル破損を原因としてリストアができないといったことはない。   The second effect is that file damage in the snapshot data can be prevented. As a result, when restoring from a file in the snapshot data, it is not possible to restore due to file corruption.

その理由は、ファイルの更新が完了して、メタデータと実データとの更新データは、クライアント装置のバッファに一旦保存されてからNAS装置に書き込まれる。NAS装置へのバッファデータの書き込みに関して整合性を考慮しながら書き込むことはないため、中途半端にバッファデータの書き込みが完了した状態でスナップショットを作成すると、スナップショットデータにアクセスしたときにファイルのデータに不整合が発生し、アクセスできない可能性がある。本発明では、スナップショット作成時のバッファデータは、全てNAS装置上に書き込んでいるため、ファイルのメタデータと実データとの不整合が発生することはなく、スナップショットデータ内のファイルが破損しているといったことはないからである。   The reason is that the update of the file is completed, and the update data of the metadata and the actual data is once stored in the buffer of the client device and then written to the NAS device. Since data is not written while considering consistency in writing buffer data to the NAS device, if a snapshot is created with halfway completion of buffer data writing, file data is accessed when the snapshot data is accessed. May be inconsistent and inaccessible. In the present invention, since all the buffer data at the time of creating the snapshot is written on the NAS device, inconsistency between the metadata of the file and the actual data does not occur, and the file in the snapshot data is damaged. Because there is no such thing.

第3の効果は、ファイルサーバで使用する領域を分割する必要がなく、1つのボリュームとして使用できることである。これにより、ファイルシステムやファイルの管理などの情報管理の簡易化が可能である。   The third effect is that it is not necessary to divide the area used by the file server and can be used as one volume. This makes it possible to simplify information management such as file system and file management.

その理由は、本発明によりファイルシステムにアクセスする全てのファイルの静止点を確保してバックアップ(スナップショット)することが出来るため、バックアップできるようにファイルシステムの分割を行う必要がなく、ファイルシステムの管理が容易になるからである。また、ファイルシステムを分割する必要がないため、その中に保存されているファイルの管理も容易になり、セキュリティの管理などの負担も軽減するため、情報管理の簡易化が可能である。   The reason for this is that, according to the present invention, it is possible to secure a quiesce point of all files accessing the file system and perform backup (snapshot), so there is no need to divide the file system so that it can be backed up. This is because management becomes easier. Further, since it is not necessary to divide the file system, management of files stored in the file system is facilitated, and the burden of security management and the like is reduced, so that information management can be simplified.

第4の効果は、NAS装置がスナップショット処理の全てを主導できることにある。これにより、運用面で多数のクライアントの操作を行う必要がなく、一箇所で処理が完結するため、バックアップの運用の簡易化が可能である。   The fourth effect is that the NAS device can lead all of the snapshot processing. As a result, it is not necessary to operate a large number of clients on the operation side, and the processing is completed in one place, so that the backup operation can be simplified.

その理由は、スナップショットの作成以外に、バッファデータのフラッシュ処理も全てNAS装置が主導して処理しているためである。クライアント装置と連携する機能の多くは、クライアント装置側が主導で操作するが、本発明では、クライアント装置側で特に操作をする必要がなく、NAS装置の操作のみで整合性のとれたスナップショットを取得することが出来る。また、本発明では、1つのファイルシステムのみに注目しているが、本発明は、複数のファイルシステムでも当然利用でき、各ファイルシステムに対して、それぞれ同様の処理を行うことで、複数のファイルシステムがある環境でも、NAS装置が主導して処理が出来るため、バックアップ運用の簡易化が可能である。   The reason for this is that, in addition to the creation of the snapshot, all the flush processing of the buffer data is led by the NAS device. Many of the functions linked to the client device are operated on the initiative of the client device side. However, in the present invention, it is not necessary to perform any particular operation on the client device side, and a consistent snapshot can be obtained only by operating the NAS device. I can do it. In the present invention, attention is paid to only one file system. However, the present invention can also be used in a plurality of file systems, and a plurality of files can be obtained by performing the same processing for each file system. Even in an environment where the system is present, the NAS device can take the lead and perform processing, so the backup operation can be simplified.

さらに、本発明の利点について、一般的なNAS装置と比較して、以下に説明する。   Further, the advantages of the present invention will be described below in comparison with a general NAS device.

一般的なNAS装置では、指示はクライアント装置から実行することもある。しかしながら、その場合であっても、NAS装置上のファイルシステムの静止点は確保するが、ファイルシステム上のデータの静止点は確保しない。そのため、一般的な処理ではデータが壊れているおそれがある。   In a general NAS device, the instruction may be executed from a client device. However, even in that case, a quiesce point of the file system on the NAS device is secured, but a quiesce point of data on the file system is not secured. For this reason, there is a possibility that data is corrupted in a general process.

また、一般的なNAS装置にて静止点が確保できた場合であっても、サーバ上にデータがある場合は、スナップショット作成時に最新のデータは確保できない。   Even if a stationary point can be secured by a general NAS device, the latest data cannot be secured when creating a snapshot if there is data on the server.

しかし、本発明においては、スナップショットをNAS装置が作成するときに、NAS装置からクライアント装置に対してフラッシュさせるように指示するため、静止点が取れ、最新の情報をバックアップすることができる。   However, in the present invention, when the NAS device creates a snapshot, the NAS device instructs the client device to flush, so that a quiesce point can be taken and the latest information can be backed up.

また、一般的なNAS装置では、連携ソフトウェアを使うことでデータの静止点を確保することが可能な場合も存在するが、それらの動作は元々SANストレージで使用していたような処理をバックアップするための機能であるため、クライアント装置間での連携機能というのはほとんどなく、クライアント(またはアプリケーション)とストレージ(またはスナップショットを作成する領域とが、SANストレージのように1対1の関係でないと使用できない。   In addition, in general NAS devices, there are cases where it is possible to secure a quiesce point of data by using linked software, but these operations back up processes that were originally used in SAN storage. Therefore, there is almost no cooperation function between client devices, and the client (or application) and the storage (or the area where the snapshot is created are not in a one-to-one relationship as in the SAN storage. I can not use it.

もし、使用しようとすると、上記のように通常、クライアント装置同士での連携は行わないため、スナップショットを作成すると、一方は静止点が取れているが、他方は取れていない、または一方ずつ静止点が取れたスナップショットが2つできるといったことになる。その場合、静止点が取れていないものは論外として、2つできる場合も管理が複雑になり、100台のクライアント装置がある場合、これが100個できるため、現実的ではない。   If you try to use it, as described above, client devices usually do not cooperate with each other, so when you create a snapshot, one of them has a stationary point but the other has not, or one of them is stationary. This means that you can make two snapshots with points. In that case, it is of course impossible to manage two cases where a stationary point is not obtained. Even when two can be made, the management becomes complicated. If there are 100 client devices, 100 can be obtained, which is not realistic.

また、クライアント装置間の連携に関しても、100台以上のクライアント装置間で連携するというのは、連携処理および運用の点から現実的とは言えない。   Further, regarding cooperation between client apparatuses, it is not realistic from the viewpoint of cooperation processing and operation to cooperate between 100 or more client apparatuses.

そのため、1つの領域に2つ以上のクライアント装置が同時にアクセスするような多対1の構成では使用できない。   Therefore, it cannot be used in a many-to-one configuration in which two or more client devices simultaneously access one area.

しかし、一般的な用途でNAS装置を使用する場合は、多対1の構成が基本であるため、連携ソフトウェアの使用も限られる状況である。   However, when a NAS device is used for general purposes, a many-to-one configuration is fundamental, so that the use of linked software is limited.

一方、本発明の場合、スナップショットを作成するNAS装置からフラッシュさせることで、フラッシュ処理させる側が保存/更新されているデータの処理をコントロールできるため、各クライアント装置のデータの整合性や連携といったことは考慮する必要がなくなり、NAS装置上のデータの静止点だけに注目すればよい。   In the case of the present invention, on the other hand, by flushing from the NAS device that creates the snapshot, the flushing side can control the processing of the stored / updated data. Need not be considered, and only the quiesce point of data on the NAS device needs to be noted.

その結果、スナップショットも1つで全てのデータの静止点を確保でき、管理も基本的にはNAS装置さえ見ておけばよいため簡易になり、連携ソフトウェアと違い、一般的なNAS装置の構成である多対1の構成も実現可能になる。   As a result, it is possible to secure a quiesce point for all data with a single snapshot, and management is basically simple because it is only necessary to look at the NAS device. A many-to-one configuration can be realized.

また、本発明においては、クライアント装置の所属するネットワークに関係なくスナップショットが作成可能である。また、コネクション情報を利用することで、スナップショット作成時に静止点を確保すべき(アクセスしている)クライアント装置のみに処理を実施させることが出来る。   In the present invention, a snapshot can be created regardless of the network to which the client device belongs. Further, by using the connection information, it is possible to execute the processing only on the client device that should secure (access) the quiesce point when creating the snapshot.

一般的に、クライアント装置間の連携で実現しようとしても、特にユーザが使用しているPC(Personal Computer)と他のPCまたはサーバと連携するというのは、ネットワークの技術観点およびセキュリティの観点からも、とても難しく、現実的ではない。   In general, even if it is intended to be realized by cooperation between client devices, especially in cooperation with a PC (Personal Computer) used by a user and another PC or server, also from the viewpoint of network technology and security. , Very difficult and unrealistic.

しかし、クライアント間の連携を行わず、アクセスしてきた経路でフラッシュ処理を実施する本発明であれば、どのようなネットワークに所属していても、NAS装置にアクセスできているのなら、静止点の確保が出来る。   However, in the present invention in which flush processing is performed on the accessed path without performing cooperation between clients, if the NAS apparatus can be accessed regardless of the network, It can be secured.

また、通常サーバなどの常に動いているクライアント装置と違い、PC等は起動しているかが不定であるが、本発明においては、NAS装置上の実際にアクセスしている情報を基にしているため、どのクライアント装置がアクセスしているかを、クライアント装置側で確認する必要がない。   In addition, unlike a client device that is constantly operating, such as a normal server, whether a PC or the like is activated is undefined, but in the present invention, it is based on information that is actually accessed on a NAS device. There is no need to confirm on the client device side which client device is accessing.

そのため、本当に必要なクライアント装置のみに対して、フラッシュを指示できるため、無駄な処理がなく、クライアント装置側で実施した場合に発生しうるチェック抜けなどでフラッシュ処理をし忘れたクライアント装置というものが発生することはなく、確実に静止点の確保が可能になる。   For this reason, only the client devices that are really necessary can be instructed to flush, so there is no wasteful processing, and there is a client device that has forgotten to perform flash processing due to missing check that may occur when it is executed on the client device side. It does not occur, and it is possible to ensure a stationary point.

上述したNAS装置1に設けられた各構成要素が行う処理は、目的に応じてそれぞれ作製された論理回路で行うようにしても良い。また、処理内容を手順として記述したコンピュータプログラム(以下、プログラムと称する)をNAS装置1にて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムをNAS装置1に読み込ませ、実行するものであっても良い。NAS装置1にて読取可能な記録媒体とは、フロッピー(登録商標)ディスク、光磁気ディスク、DVD、CDなどの移設可能な記録媒体の他、NAS装置1に内蔵されたROM、RAM等のメモリやHDD等を指す。この記録媒体に記録されたプログラムは、NAS装置1に設けられたCPU(不図示)にて読み込まれ、CPUの制御によって、上述したものと同様の処理が行われる。ここで、CPUは、プログラムが記録された記録媒体から読み込まれたプログラムを実行するコンピュータとして動作するものである。   The processing performed by each component provided in the NAS device 1 described above may be performed by a logic circuit that is produced according to the purpose. In addition, a computer program (hereinafter referred to as a program) in which processing contents are described as a procedure is recorded on a recording medium readable by the NAS device 1, and the program recorded on the recording medium is read by the NAS device 1 and executed. It may be what you do. The recording medium readable by the NAS device 1 is a removable recording medium such as a floppy (registered trademark) disk, a magneto-optical disk, a DVD, or a CD, and a memory such as a ROM or a RAM built in the NAS device 1. And HDD. The program recorded on the recording medium is read by a CPU (not shown) provided in the NAS device 1, and the same processing as described above is performed under the control of the CPU. Here, the CPU operates as a computer that executes a program read from a recording medium on which the program is recorded.

1 NAS装置
100 クライアント装置
101 NASバッファ部
102,302 メモリ
103 アプリケーション部
104,301 入出力モジュール
105 フラッシュ実行部
200 ネットワーク
300 NASコントローラ部
303 メインコントローラ
304 ディスクコントローラ
305 フラッシュ部
306 フラッシュマップ
307 データ保護部
308 コールドマップ
309 スナップショット部
400 記憶部
410 スナップショット領域
DESCRIPTION OF SYMBOLS 1 NAS apparatus 100 Client apparatus 101 NAS buffer part 102,302 Memory 103 Application part 104,301 Input / output module 105 Flash execution part 200 Network 300 NAS controller part 303 Main controller 304 Disk controller 305 Flash part 306 Flash map 307 Data protection part 308 Cold map 309 Snapshot unit 400 Storage unit 410 Snapshot area

Claims (4)

データを記憶する記憶装置であって、
前記データを保有するクライアント装置に対して、該データを当該記憶装置へフラッシュさせる命令を行うフラッシュ部と、
前記命令に対して前記クライアント装置からフラッシュされたデータを一時的に保持する一時保持メモリと、
当該記憶装置と前記クライアント装置との間のコネクション情報と、前記フラッシュが完了したかどうかを示すフラッシュ完了情報とに基づいて、前記一時保持メモリに保持されたデータの静止点の取れたマッピング情報を保存するデータ保護部と、
前記データ保護部が保存したマッピング情報と前記フラッシュ完了情報とに基づいて、スナップショットを作成するスナップショット部と、
前記スナップショット部が作成したスナップショットを記憶する記憶部とを有し、
前記フラッシュ部は、前記コネクション情報に基づいて、アクセスしているクライアント装置に対して前記命令を行う記憶装置。
A storage device for storing data,
A flash unit for instructing the client device holding the data to flush the data to the storage device;
A temporary holding memory for temporarily holding data flushed from the client device in response to the command;
Based on the connection information between the storage device and the client device and the flush completion information indicating whether or not the flush has been completed, mapping information with a quiesce point of the data held in the temporary holding memory is obtained. The data protection part to save,
A snapshot unit for creating a snapshot based on the mapping information stored by the data protection unit and the flash completion information;
A storage unit for storing a snapshot created by the snapshot unit;
The flash unit is a storage device that issues the command to an accessing client device based on the connection information.
請求項1に記載の記憶装置において、
前記フラッシュ部は、前記クライアント装置が複数存在する場合、当該記憶装置と前記複数のクライアント装置との間における伝送遅延時間をそれぞれ測定し、該伝送遅延時間の長いクライアント装置から順に、前記命令を行うことを特徴とする記憶装置。
The storage device according to claim 1,
When there are a plurality of the client devices, the flash unit measures the transmission delay times between the storage device and the plurality of client devices, and executes the command in order from the client devices having the longest transmission delay times. A storage device.
データを記憶装置に記憶する記憶方法であって、
前記データを保有するクライアント装置のうち、当該記憶装置へアクセスしているクライアント装置に対して、前記データを当該記憶装置へフラッシュさせる命令を行う処理と、
前記命令に対して前記クライアント装置からフラッシュされたデータを一時的に保持する処理と、
当該記憶装置と前記クライアント装置との間のコネクション情報と、前記フラッシュが完了したかどうかを示すフラッシュ完了情報とに基づいて、前記一時的に保持されたデータの静止点の取れたマッピング情報を保存する処理と、
前記保存されたマッピング情報と前記フラッシュ完了情報とに基づいて、スナップショットを作成する処理と、
前記作成されたスナップショットを記憶する処理とを行う記憶方法。
A storage method for storing data in a storage device,
A process of instructing a client device that is accessing the storage device among the client devices that hold the data to flush the data to the storage device;
Processing to temporarily hold data flushed from the client device in response to the command;
Based on the connection information between the storage device and the client device and the flush completion information indicating whether or not the flush has been completed, the mapping information with the quiesce point of the temporarily held data is saved. Processing to
A process of creating a snapshot based on the stored mapping information and the flash completion information;
And a storage method for storing the created snapshot.
データを記憶する記憶装置に、
前記データを保有するクライアント装置のうち、当該記憶装置へアクセスしているクライアント装置に対して、前記データを当該記憶装置へフラッシュさせる命令を行う手順と、
前記命令に対して前記クライアント装置からフラッシュされたデータを一時的に保持する手順と、
当該記憶装置と前記クライアント装置との間のコネクション情報と、前記フラッシュが完了したかどうかを示すフラッシュ完了情報とに基づいて、前記一時的に保持されたデータの静止点の取れたマッピング情報を保存する手順と、
前記保存されたマッピング情報と前記フラッシュ完了情報とに基づいて、スナップショットを作成する手順と、
前記作成されたスナップショットを記憶する手順とを実行させるためのプログラム。
In a storage device that stores data,
A procedure for instructing a client device that is accessing the storage device among the client devices that hold the data to flush the data to the storage device;
Temporarily holding data flushed from the client device in response to the instructions;
Based on the connection information between the storage device and the client device and the flush completion information indicating whether or not the flush has been completed, the mapping information with the quiesce point of the temporarily held data is saved. And the steps to
A procedure for creating a snapshot based on the stored mapping information and the flash completion information;
A program for executing the procedure for storing the created snapshot.
JP2011174769A 2011-08-10 2011-08-10 Storage device, storage method and program Withdrawn JP2013037611A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011174769A JP2013037611A (en) 2011-08-10 2011-08-10 Storage device, storage method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011174769A JP2013037611A (en) 2011-08-10 2011-08-10 Storage device, storage method and program

Publications (1)

Publication Number Publication Date
JP2013037611A true JP2013037611A (en) 2013-02-21

Family

ID=47887160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011174769A Withdrawn JP2013037611A (en) 2011-08-10 2011-08-10 Storage device, storage method and program

Country Status (1)

Country Link
JP (1) JP2013037611A (en)

Similar Documents

Publication Publication Date Title
US9940067B2 (en) Performing a data write on a storage device
JP4809040B2 (en) Storage apparatus and snapshot restore method
JP4727437B2 (en) Storage control method for storage system having database
JP4839091B2 (en) Database recovery method and computer system
US9176853B2 (en) Managing copy-on-writes to snapshots
US20070294568A1 (en) Storage system and method of managing data using the same
US11297137B2 (en) Method and apparatus for performing simple storage service seamless migration using index objects
JP2008225616A (en) Storage system, remote copy system and data restoration method
US11531604B2 (en) Methods and systems for data resynchronization in a replication environment
US11516287B2 (en) Method and apparatus for performing simple storage service seamless migration using index objects
US11281550B2 (en) Disaster recovery specific configurations, management, and application
JP5352027B2 (en) Computer system management method and management apparatus
JP2012155634A (en) Information processing program, information processing device and information processing method
US20140040349A1 (en) Server computer, server computer system, and server computer control method
JP2013037611A (en) Storage device, storage method and program
JP2013161383A (en) Information processing device, information processing method, program and information processing system
US20070118605A1 (en) Method and computer system for information notification
KR101969799B1 (en) Electronic device and controlling method thereof
US11907102B2 (en) Dynamic debug log enabler for any protection failure jobs
JP5874526B2 (en) Backup acquisition device, backup acquisition method, and backup acquisition program
JP2015108966A (en) Document management system, information processing apparatus in document management system, document management method, and program

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20141104