JP4877921B2 - Storage system, storage controller, and recovery point detection method for storage controller - Google Patents

Storage system, storage controller, and recovery point detection method for storage controller Download PDF

Info

Publication number
JP4877921B2
JP4877921B2 JP2006015880A JP2006015880A JP4877921B2 JP 4877921 B2 JP4877921 B2 JP 4877921B2 JP 2006015880 A JP2006015880 A JP 2006015880A JP 2006015880 A JP2006015880 A JP 2006015880A JP 4877921 B2 JP4877921 B2 JP 4877921B2
Authority
JP
Japan
Prior art keywords
data
file
search
restoration
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006015880A
Other languages
Japanese (ja)
Other versions
JP2007199889A (en
Inventor
昇司 児玉
裕介 野中
哲 西本
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2006015880A priority Critical patent/JP4877921B2/en
Priority to US11/369,943 priority patent/US7617255B2/en
Priority to EP06253549A priority patent/EP1814034A3/en
Publication of JP2007199889A publication Critical patent/JP2007199889A/en
Application granted granted Critical
Publication of JP4877921B2 publication Critical patent/JP4877921B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ストレージシステム、記憶制御装置及び記憶制御装置のリカバリポイント検出方法に関する。   The present invention relates to a storage system, a storage control device, and a recovery point detection method for the storage control device.

日々増大する多量のデータを効率的に管理するために、複数のコンピュータによって分散管理されている多数のデータを一カ所にまとめて管理するストレージシステムが利用されている。ここで、ユーザが誤ってデータを消去した場合等に備えて、ジャーナルデータを管理しておき、ジャーナルデータによって任意の時点までユーザデータを回復させる技術が知られている(特許文献1)。
特開2005−18738号公報
In order to efficiently manage a large amount of data that increases day by day, a storage system that manages a large number of data distributed and managed by a plurality of computers in one place is used. Here, a technique is known in which journal data is managed in preparation for a case where a user accidentally erases data, and the user data is recovered to an arbitrary point in time using the journal data (Patent Document 1).
JP 2005-18738 A

前記文献記載の従来技術では、データの回復を希望する時点をユーザが明確に把握している場合に有効であるが、回復を希望する時点をユーザが把握していない場合には、使い勝手が低い。ユーザが、回復を希望する時点を明確に認識している場合、その明示された回復希望時点までユーザデータを回復させることは容易である。   The prior art described in the above-mentioned document is effective when the user clearly knows the point in time when data recovery is desired, but is not convenient when the user does not know the point in time when recovery is desired. . If the user clearly recognizes the point in time when the user wishes to recover, it is easy to recover the user data to the specified recovery point.

しかし、いったい何時の時点にデータを回復させれば良いのか、ユーザに見当のつかない場合も多い。今まで作業していたファイルを誤って消去してしまったような場合を除き、普段あまり使用しないファイルをユーザの希望する時点まで回復させるのは、手間がかかる。ボリュームを指定された時点に回復させるためには、基準となるデータ群に多数のジャーナルデータを順番に適用しなければならない。   However, there are many cases where the user has no idea at what time the data should be recovered. It takes time and effort to recover a file that is not normally used to a point desired by the user, unless the file that has been worked on is accidentally deleted. In order to recover a volume to a specified point in time, a large number of journal data must be sequentially applied to a reference data group.

ユーザは、希望する結果が得られるまで、回復時点を適当に繰り返し指定しながら、ボリューム全体の回復作業を何度も実行させる必要がある。このように、ユーザが、回復させたい内容について見当がつく場合でも、それが具体的に何時なのかまでを把握していることは少ない。従って、ユーザは、希望する結果が得られるまで、複数回の回復作業を実行させて、その結果を確認する必要があり、使い勝手が低い。   The user needs to execute the recovery operation for the entire volume many times while appropriately specifying the recovery time point until the desired result is obtained. As described above, even when the user has an idea about the content to be recovered, it is rare that the user knows exactly what time it is. Therefore, it is necessary for the user to execute a plurality of recovery operations until the desired result is obtained and to confirm the result.

本発明は、上記の問題点に鑑みてなされたもので、その目的は、ユーザの希望条件を満たす時点を比較的容易に検出することができるようにしたストレージシステム、記憶制御装置及び記憶制御装置のリカバリポイント検出方法を提供することにある。本発明の他の目的は、ユーザの希望条件を満たす時点をユーザに提示し、ユーザに指定された時点までデータボリュームの記憶内容を回復させることができるようにしたストレージシステム、記憶制御装置及び記憶制御装置のリカバリポイント検出方法を提供することにある。本発明の別の目的は、後述の実施形態の記載から明らかになるであろう。   The present invention has been made in view of the above-described problems, and a purpose thereof is a storage system, a storage control device, and a storage control device that can detect a time point that satisfies a user's desired condition relatively easily. It is to provide a recovery point detection method. Another object of the present invention is to provide a user with a time point that satisfies a user's desired condition, and to recover the storage contents of the data volume up to the time point specified by the user. It is an object of the present invention to provide a recovery point detection method for a control device. Other objects of the present invention will become clear from the description of the embodiments described later.

上記課題を解決すべく、本発明の一つに観点に従うストレージシステムは、ホストコンピュータと、このホストコンピュータにデータボリュームを提供する記憶制御装置とを備えたストレージシステムであって、ホストコンピュータは、少なくとも復元対象範囲及び検索条件を指定する検索要求を発行する検索要求発行部を備えており、記憶制御装置は、データボリュームの更新履歴を管理するための更新履歴管理部と、検索要求を受領した場合には、データボリュームに記憶されているデータのうち復元対象範囲内のデータを、更新履歴毎に復元して、一時的復元領域に記憶させる第1復元部と、一時的復元領域内に復元されたデータが検索条件に合致するか否かを判定し、復元されたデータが検索条件に連続して合致する期間を検出してホストコンピュータに通知する検索部と、を備える。   In order to solve the above problem, a storage system according to one aspect of the present invention is a storage system including a host computer and a storage control device that provides a data volume to the host computer. A search request issuing unit that issues a search request for designating a restoration target range and a search condition, and the storage control unit receives an update history management unit for managing the update history of the data volume, and a search request Includes a first restoration unit that restores data in the restoration target range of the data stored in the data volume for each update history and stores the data in the temporary restoration area, and is restored in the temporary restoration area. Whether the restored data matches the search criteria, and detects the period when the restored data matches the search criteria continuously It comprises a search unit that notifies the strike computer, a.

本発明の実施形態では、ホストコンピュータは、検索部から通知された期間に含まれる所定時点を指定して、データボリュームの記憶内容を所定時点の状態に復元させるための復元要求を発行する復元要求発行部をさらに備え、記憶制御装置は、復元要求を受領した場合に、更新履歴を使用することにより、データボリュームの記憶内容を所定時点の状態に復元させる第2復元部をさらに備えている。   In the embodiment of the present invention, the host computer designates a predetermined time point included in the period notified from the search unit, and issues a restoration request for restoring the storage contents of the data volume to the state at the predetermined time point. The storage controller further includes a second restorer that restores the storage contents of the data volume to a predetermined point in time by using the update history when a restore request is received.

本発明の実施形態では、更新履歴管理部は、データボリュームの記憶内容を、指定された複数の世代毎にそれぞれ管理しており、第1復元部は、検索要求に復元対象期間が含まれている場合には、データボリュームのうち復元対象期間内における復元対象範囲内のデータを、更新履歴毎に復元して、一時的復元領域に記憶させる。   In the embodiment of the present invention, the update history management unit manages the storage contents of the data volume for each of a plurality of designated generations, and the first restoration unit includes a restoration target period in the search request. If there is, the data within the restoration target range within the restoration target period in the data volume is restored for each update history and stored in the temporary restoration area.

本発明の実施形態では、ホストコンピュータは、一時的復元領域内に復元されたデータにアクセス可能である。   In the embodiment of the present invention, the host computer can access the data restored in the temporary restoration area.

本発明の実施形態では、記憶制御装置は、一時的復元領域内に復元されたデータをホストコンピュータに送信可能である。   In the embodiment of the present invention, the storage control device can transmit data restored in the temporary restoration area to the host computer.

本発明の実施形態では、検索部は、一時的復元領域内に復元されたデータが検索条件に初めて合致する始期及び検索条件に最後に合致する終期を、前記期間としてホストコンピュータに通知する。   In the embodiment of the present invention, the search unit notifies the host computer of the start time when the data restored in the temporary restoration area first matches the search condition and the end time finally matching the search condition as the period.

本発明の実施形態では、検索部は、一時的復元領域内に復元されたデータが検索条件に連続して合致する期間を複数検出した場合、これら複数の期間を全てホストコンピュータに通知する。   In the embodiment of the present invention, when a plurality of periods in which the data restored in the temporary restoration area continuously match the search condition are detected, the search unit notifies the host computer of all the plurality of periods.

本発明の実施形態では、第1復元部は、検索要求内に復元対象範囲が複数指定されている場合には、これら複数の復元対象範囲毎にそれぞれ一時的復元領域を用意し、複数の復元対象範囲内のデータをそれぞれ復元させる。   In the embodiment of the present invention, when a plurality of restoration target ranges are specified in the search request, the first restoration unit prepares a temporary restoration area for each of the plurality of restoration target ranges, and performs a plurality of restorations. Restore the data within the target range.

本発明の実施形態では、更新履歴管理部は、ホストコンピュータがデータボリュームに更新を行うたびに、更新前のデータを更新時刻に対応付けて管理する。   In the embodiment of the present invention, every time the host computer updates the data volume, the update history management unit manages the data before update in association with the update time.

本発明の実施形態では、更新履歴管理部は、定期的に又は不定期に指定される少なくとも一つ以上のチェックポイントにおいて、データボリュームの記憶内容のイメージを記憶すると共に、チェックポイントから次のチェックポイントまでの間に行われた更新履歴を管理する。   In the embodiment of the present invention, the update history management unit stores an image of the storage content of the data volume at at least one checkpoint that is designated regularly or irregularly, and from the checkpoint to the next check Manage the history of updates made up to the point.

本発明の実施形態では、更新履歴管理部は、ファイル単位で更新履歴を管理しており、復元対象範囲は、ファイル単位で指定可能である。   In the embodiment of the present invention, the update history management unit manages the update history in file units, and the restoration target range can be specified in file units.

本発明の実施形態では、更新履歴管理部は、ファイル単位で更新履歴を管理しており、復元対象範囲は、ファイルのパス情報によってファイル単位で指定可能である。   In the embodiment of the present invention, the update history management unit manages the update history in file units, and the restoration target range can be specified in file units by file path information.

本発明の実施形態では、更新履歴管理部は、ファイル単位で更新履歴を管理しており、復元対象範囲は、ファイルのパス情報に基づくハッシュ値によってファイル単位で指定可能である。   In the embodiment of the present invention, the update history management unit manages the update history in file units, and the restoration target range can be specified in file units by hash values based on the path information of the files.

本発明の実施形態では、復元対象範囲は、論理ユニット番号とオフセット論理ブロックアドレス及びデータサイズによって指定可能である。   In the embodiment of the present invention, the restoration target range can be specified by a logical unit number, an offset logical block address, and a data size.

本発明の実施形態では、記憶制御装置は、ホストコンピュータからファイル単位でのアクセス要求を受け付けて、このファイル単位のアクセス要求をブロック単位の入出力要求に変換する第1コントローラと、この第1コントローラから入力されたブロック単位の入出力要求に基づいて、複数の記憶ドライブとの間でデータを送受信する第2コントローラとを備えており、第1コントローラには、第1復元部と、検索部と、第1復元部が更新履歴管理部により管理されている更新履歴を取得するための更新履歴取得部と、一時的復元領域とが設けられており、第2コントローラには、更新履歴管理部が設けられている。   In the embodiment of the present invention, the storage control device receives an access request in file units from the host computer, and converts the access request in file units into input / output requests in block units, and the first controller And a second controller that transmits and receives data to and from a plurality of storage drives based on input / output requests in units of blocks input from the first controller. The first controller includes a first restoration unit, a search unit, The update history acquisition unit for acquiring the update history managed by the update history management unit by the first restoration unit and a temporary restoration area are provided, and the update history management unit is provided in the second controller. Is provided.

本発明の他の観点に従う記憶制御装置は、ホストコンピュータにデータボリュームを提供する記憶制御装置であって、データボリュームの更新履歴を管理するための更新履歴管理部と、ホストコンピュータから少なくとも復元対象範囲及び検索条件を含む検索要求を受領した場合には、データボリュームのうち復元対象範囲内のデータを、更新履歴毎に復元して、一時的復元領域に記憶させる第1復元部と、一時的復元領域内に復元されたデータが検索条件に合致するか否かを判定し、復元されたデータが検索条件に連続して合致する期間を検出してホストコンピュータに通知する検索部と、を備える。   A storage control device according to another aspect of the present invention is a storage control device that provides a data volume to a host computer, an update history management unit for managing an update history of the data volume, and at least a restoration target range from the host computer. And a first restoration unit that restores data in the restoration target range of the data volume for each update history and stores the data in the temporary restoration area when the retrieval request including the retrieval condition is received, and temporary restoration A search unit that determines whether or not the data restored in the area matches the search condition, detects a period in which the restored data continuously matches the search condition, and notifies the host computer of the period.

本発明のさらに別の観点に従う記憶制御装置は、ホストコンピュータにデータボリュームを提供する記憶制御装置であって、コントローラと、このコントローラによって制御され、データボリュームを設けるための記憶領域を提供する記憶ドライブとを備え、コントローラは、ホストコンピュータからのファイルアクセス要求に従って、データボリュームへのファイルアクセスを行うアクセス要求処理部と、ホストコンピュータがデータボリュームに記憶されたファイルの更新を要求した場合には、更新前のデータをジャーナルボリュームに記憶させ、さらに、その更新時刻及び更新前のデータがジャーナルボリュームに記憶されている位置をジャーナル管理情報として記憶することにより、更新履歴を管理するジャーナル作成処理部と、ホストコンピュータから少なくとも復元対象のファイルを特定する情報及び該復元対象のファイルが満たすべき検索条件を含む検索要求が発行された場合には、データボリュームに記憶されているファイル群のうち復元対象のファイルを、ジャーナル管理情報及びジャーナルボリュームに基づいて、更新履歴毎に復元し、この復元されたデータを一時的復元領域に記憶させる第1復元部と、一時的復元領域に復元されたファイルが検索条件に合致するか否かを判定し、復元されたファイルが検索条件に連続して合致する期間を検出してホストコンピュータに通知する検索部と、ホストコンピュータが、検索条件に連続して合致する期間に含まれる所定時点を指定してデータボリュームの記憶内容の復元を要求した場合には、ジャーナル管理情報及びジャーナルボリュームに基づいて、データボリュームの記憶内容を所定時点の状態に復元させる第2復元部と、を備える。   A storage control device according to still another aspect of the present invention is a storage control device that provides a data volume to a host computer, and a storage drive that is controlled by the controller and provides a storage area for providing the data volume. The controller includes an access request processing unit that performs file access to the data volume in accordance with a file access request from the host computer, and updates when the host computer requests an update of the file stored in the data volume. A journal creation processing unit for managing the update history by storing the previous data in the journal volume, and further storing the update time and the position where the data before the update is stored in the journal volume as journal management information; Ho When a search request including at least information for specifying a file to be restored and a search condition to be satisfied by the file to be restored is issued from the target computer, the file to be restored from among a group of files stored in the data volume Is restored for each update history based on the journal management information and the journal volume, and the restored data is stored in the temporary restoration area, and the files restored in the temporary restoration area are searched conditions. A search unit that determines whether the restored file matches the search condition and notifies the host computer of the period when the restored file matches the search condition, and a period when the host computer matches the search condition continuously If you specify the specified point in time and request to restore the storage contents of the data volume, the journal management information Based on the fine journal volume comprises a second restoring section for restoring the stored contents of the data volume to the state of the predetermined time, the.

本発明の他の実施形態では、ホストコンピュータは、所定の場合に、検索要求を発行するものであり、所定の場合には、復元対象のファイルがコンピュータウイルスに感染した場合、復元対象のファイルが消失した場合、復元対象のファイルが更新された場合の、少なくともいずれか一つが含まれている。   In another embodiment of the present invention, the host computer issues a search request in a predetermined case. In the predetermined case, if the file to be restored is infected with a computer virus, the file to be restored is When it is lost, at least one of the files when the restoration target file is updated is included.

本発明のさらに他の観点に従う記憶制御装置のリカバリポイント検出方法は、ホストコンピュータにデータボリュームを提供する記憶制御装置を用いてリカバリポイントを検出する方法であって、ホストコンピュータから少なくとも復元対象範囲及び検索条件を含む検索要求が発行されたか否かを判定する第1ステップと、第1ステップにより検索要求が発行されたと判定された場合には、記憶領域内に一時的復元領域を確保する第2ステップと、ホストコンピュータによるデータボリュームへの更新の履歴を管理する更新履歴情報を古い履歴から順番に取得し、この取得された更新履歴情報に関するデータが、復元対象範囲に含まれるか否かを判定する第3ステップと、取得された更新履歴情報に関するデータが復元対象範囲に含まれる場合には、更新履歴情報に関するデータを更新データ管理用ボリュームから読み出して一時的復元領域に記憶させる第4ステップと、一時的復元領域に記憶されたデータが検索条件に合致するか否かを判定する第5ステップと、一時的復元領域に記憶されたデータが検索条件に合致する場合には、当該データが更新された更新時刻を更新時刻記憶領域に記憶させる第6ステップと、更新時刻記憶領域に記憶された更新時刻を読み出し、この更新時刻をリカバリポイントとしてホストコンピュータに送信する第7ステップと、を含む。   A recovery point detection method for a storage control device according to still another aspect of the present invention is a method for detecting a recovery point using a storage control device that provides a data volume to a host computer. A first step for determining whether or not a search request including a search condition has been issued; and if it is determined that the search request has been issued in the first step, a second step of securing a temporary restoration area in the storage area Step and update history information that manages the history of updates to the data volume by the host computer are acquired in order from the old history, and it is determined whether the data related to the acquired update history information is included in the restoration target range 3rd step to be performed and the data related to the acquired update history information is included in the restoration target range In the fourth step, data related to update history information is read from the update data management volume and stored in the temporary restoration area, and it is determined whether or not the data stored in the temporary restoration area matches the search condition. A fifth step, a sixth step for storing the update time when the data stored in the temporary restoration area matches the search condition in the update time storage area, and a sixth step for storing the update time in the update time storage area A seventh step of reading the stored update time and transmitting the update time as a recovery point to the host computer.

本発明の手段、機能、ステップの全部または一部は、コンピュータシステムにより実行されるコンピュータプログラムとして構成可能な場合がある。本発明の構成の全部または一部がコンピュータプログラムから構成された場合、このコンピュータプログラムは、例えば、各種記憶媒体に固定して配布等することができ、あるいは、通信ネットワークを介して送信することもできる。   All or part of the means, functions, and steps of the present invention may be configured as a computer program executed by a computer system. When all or part of the configuration of the present invention is configured by a computer program, the computer program can be distributed and fixed to various storage media, for example, or can be transmitted via a communication network. it can.

図1は、本発明の実施形態の全体概要を示す構成説明図である。本実施形態のストレージシステムは、それぞれ後述するように、ホストコンピュータ(以下「ホスト」)1と、記憶制御装置2とを備えている。   FIG. 1 is an explanatory diagram showing the overall outline of an embodiment of the present invention. The storage system of this embodiment includes a host computer (hereinafter “host”) 1 and a storage control device 2 as will be described later.

ホスト1は、例えば、サーバコンピュータやパーソナルコンピュータ等のように構成されるもので、通信ネットワークCNを介して、記憶制御装置2に双方向通信可能に接続されている。また、ホスト1は、例えば、アプリケーションプログラム1Aと、リカバリポイント検索要求発行部1Bと、リカバリ指示部1Cとを備えて構成可能である。   The host 1 is configured, for example, as a server computer or a personal computer, and is connected to the storage control device 2 via the communication network CN so as to be capable of bidirectional communication. Further, the host 1 can be configured to include, for example, an application program 1A, a recovery point search request issuing unit 1B, and a recovery instruction unit 1C.

アプリケーションプログラム1Aは、例えば、データベース、電子メール管理プログラム、顧客管理プログラム、売上管理プログラム等のように、ユーザの各種業務に使用されるプログラムである。   The application program 1A is a program used for various operations of the user, such as a database, an e-mail management program, a customer management program, a sales management program, and the like.

リカバリポイント検索要求発行部(以下「検索要求発行部」と略す場合がある)1Bは、「検索要求発行部」に該当する。検索要求発行部1Bは、ユーザの希望するリカバリポイントを検索させるための検索要求D1を発行するものである。この検索要求D1には、例えば、リカバリ対象の範囲、リカバリ対象の期間、検索条件が含まれている。検索要求発行部1Bは、ユーザの希望するリカバリポイントを調査させるための要求を発行するものである。従って、検索要求発行部1Bは、例えば、「リカバリポイント調査要求部」と呼ぶこともできる。   The recovery point search request issuing unit (hereinafter sometimes abbreviated as “search request issuing unit”) 1B corresponds to the “search request issuing unit”. The search request issuing unit 1B issues a search request D1 for searching for a recovery point desired by the user. The search request D1 includes, for example, a recovery target range, a recovery target period, and a search condition. The search request issuing unit 1B issues a request for investigating a recovery point desired by the user. Therefore, the search request issuing unit 1B can also be called, for example, a “recovery point investigation requesting unit”.

リカバリ対象範囲としては、例えば、ファイル単位(ファイルにはディレクトリも含まれる)、ブロックデータ単位を挙げることができる。ユーザは、所望のファイル名をリストア対象として指定することにより、そのファイルについてのみ一時的にリストアさせて、リカバリポイントを調査させることができる。   Examples of the recovery target range include a file unit (a file includes a directory) and a block data unit. By designating a desired file name as a restore target, the user can temporarily restore only that file and investigate a recovery point.

リカバリ対象期間としては、更新履歴の管理単位を指定することができる。例えば、一日単位、一週間単位、一ヶ月単位等のような管理単位で、ユーザデータボリュームV1の更新履歴が管理されている場合、ユーザは、所望の期間または所望の日時を指定して、リカバリポイントの調査を要求することができる。   As the recovery target period, an update history management unit can be designated. For example, when the update history of the user data volume V1 is managed in a management unit such as a day unit, a week unit, a month unit, etc., the user designates a desired period or a desired date and time, Request recovery point investigation.

検索条件としては、例えば、キーワードやタイムスタンプ、ファイルの内容全体等の条件を挙げることができる。例えば、ユーザは、所定のキーワードを有する事を検索条件として指定することにより、リストア対象のファイルが所定のキーワードを含んでいる期間(リカバリポイント候補)を確認することができる。   Examples of search conditions include conditions such as keywords, time stamps, and the entire contents of files. For example, the user can confirm the period (recovery point candidate) during which the restoration target file includes the predetermined keyword by specifying that the predetermined keyword is included as a search condition.

リカバリ指示部1Cは、「復元要求発行部」に該当する。リカバリ指示部1Cは、リカバリポイントの検索結果(リカバリポイント候補)D2からいずれかのリカバリポイントを指定し、ユーザデータボリュームV1の記憶内容を復元させるものである。   The recovery instruction unit 1C corresponds to a “restore request issuing unit”. The recovery instruction unit 1C designates any recovery point from the recovery point search result (recovery point candidate) D2, and restores the stored contents of the user data volume V1.

記憶制御装置2は、例えば、ディスクアレイ装置のように構成される。記憶制御装置2は、例えば、R/W処理部2Aと、ジャーナル作成処理部2Bと、部分リストア処理部2Cと、検索処理部2Dと、リストア処理部2Eと、ユーザデータボリュームV1と、ジャーナルボリュームV2と、一時リストア領域V3と、リストア用ボリュームV4とを備えて構成することができる。   The storage control device 2 is configured as a disk array device, for example. The storage controller 2 includes, for example, an R / W processing unit 2A, a journal creation processing unit 2B, a partial restore processing unit 2C, a search processing unit 2D, a restore processing unit 2E, a user data volume V1, and a journal volume. V2, a temporary restore area V3, and a restore volume V4 can be provided.

R/W処理部2Aは、ホスト1からのアクセス要求(リード要求及びライト要求)を処理するものである。ホスト1からリード要求が発行されると、R/W処理部2Aは、要求されたデータをユーザデータボリュームV1から読み出して、ホスト1に送信する。ホスト1からライト要求が発行されると、R/W処理部2Aは、ライトデータをユーザデータボリュームV1に書き込ませる。   The R / W processing unit 2A processes access requests (read requests and write requests) from the host 1. When a read request is issued from the host 1, the R / W processing unit 2A reads the requested data from the user data volume V1 and transmits it to the host 1. When a write request is issued from the host 1, the R / W processing unit 2A causes the write data to be written to the user data volume V1.

ジャーナル作成処理部2Bは、「更新履歴管理部」に該当する。ジャーナル作成処理部2Bは、ユーザデータボリュームV1への更新履歴を管理するためのものである。ジャーナル作成処理部2Bは、ホスト1からライト要求が発行されたびに、ジャーナルデータをそれぞれ生成し、このジャーナルデータをジャーナルボリュームV2に記憶させる。例えば、ジャーナル作成処理部2Bは、更新前のデータをジャーナルボリュームV2に退避させると共に、このデータの退避時刻(即ち、更新時刻)と退避場所(ジャーナルボリュームV2における格納先アドレス)とを対応付けて管理する。   The journal creation processing unit 2B corresponds to an “update history management unit”. The journal creation processing unit 2B is for managing an update history for the user data volume V1. The journal creation processing unit 2B generates journal data each time a write request is issued from the host 1, and stores this journal data in the journal volume V2. For example, the journal creation processing unit 2B saves the data before update in the journal volume V2, and associates the save time (that is, update time) of this data with the save location (storage destination address in the journal volume V2). to manage.

部分リストア処理部2Cは、「第1復元部」に該当する。部分リストア処理部2Cは、検索要求発行部1Bから発行された検索要求D1に基づいて、ユーザデータボリュームV1の記憶内容を部分的に復元させるものである。即ち、部分リストア処理部2Cは、検索要求D1中のリストア対象範囲に属するデータについてのみ、更新履歴毎に復元させ、その復元結果を一時リストア領域V3に記憶させる。例えば、リストア対象範囲として特定のファイルが指定されている場合、部分リストア処理部2Cは、履歴管理上の最古の状態、次の更新時の状態、さらに次の更新時の状態、履歴管理上の最新状態のように、その特定のファイルに関する各更新履歴毎に復元させる。   The partial restore processing unit 2C corresponds to a “first restoration unit”. The partial restore processing unit 2C partially restores the stored contents of the user data volume V1 based on the search request D1 issued from the search request issuing unit 1B. That is, the partial restore processing unit 2C restores only the data belonging to the restore target range in the search request D1 for each update history, and stores the restoration result in the temporary restore area V3. For example, when a specific file is specified as the restore target range, the partial restore processing unit 2C determines the oldest state in history management, the state at the next update, the state at the next update, and the history management. As shown in the latest state, each update history related to the specific file is restored.

検索処理部2Dは、「検索部」に該当する。検索処理部2Dは、一時リストア領域V3に記憶された復元データについて、検索要求D1中の検索条件に合致するデータの更新時刻を検出する。検索処理部2Dは、検索条件に合致するデータの更新時刻に基づいて、リカバリポイント候補リストD2を作成し、ホスト1に送信する。検索処理部2Dは、リカバリ対象のファイルが検索要求D1中の検索条件に合致し続ける期間を特定し、この特定された期間をリカバリポイント候補リストD2として、ホスト1に通知する。   The search processing unit 2D corresponds to a “search unit”. The search processing unit 2D detects the update time of data that matches the search condition in the search request D1 for the restored data stored in the temporary restore area V3. The search processing unit 2D creates a recovery point candidate list D2 based on the update time of data that matches the search condition, and transmits it to the host 1. The search processing unit 2D specifies a period during which the recovery target file continues to match the search conditions in the search request D1, and notifies the host 1 as the recovery point candidate list D2.

リストア処理部2Eは、「第2復元部」に該当する。リストア処理部2Eは、リカバリ指示部1Cによって指定されたリカバリポイントまで、ユーザデータボリュームV1の記憶内容を復元させる。リストア処理部2Eは、ユーザデータボリュームV1の記憶内容に、ジャーナルボリュームV2で管理されているジャーナルデータを順番に適用し、この適用結果をリストア用ボリュームV4に記憶させる。これにより、リストア用ボリュームV4には、指定されたリカバリポイントの記憶内容が復元される。そして、ホスト1のアクセス先をユーザデータボリュームV1からリストア用ボリュームV4に切り替えさせることにより、ホスト1のアプリケーションプログラム1Aは、ユーザの希望する時点に回復されたデータを利用することができる。   The restore processing unit 2E corresponds to a “second restoration unit”. The restore processing unit 2E restores the stored contents of the user data volume V1 up to the recovery point designated by the recovery instruction unit 1C. The restore processing unit 2E sequentially applies the journal data managed by the journal volume V2 to the storage contents of the user data volume V1, and stores the application result in the restore volume V4. As a result, the storage content of the specified recovery point is restored to the restore volume V4. Then, by switching the access destination of the host 1 from the user data volume V1 to the restore volume V4, the application program 1A of the host 1 can use the data recovered at the time desired by the user.

記憶制御装置2は、その筐体の内外いずれか又は両方に、複数の記憶ドライブを備えている(図2参照)。各記憶ドライブは、例えば、ハードディスクドライブや半導体メモリドライブ等のように構成される。各記憶ドライブの有する記憶領域を所定数集めることにより、仮想化された物理的な記憶デバイスを得ることができる。そして、この物理的な記憶デバイスに、論理的な記憶デバイスである各ボリュームV1,V2,V3,V4をそれぞれ設けることができる。   The storage control device 2 includes a plurality of storage drives either inside or outside the casing (see FIG. 2). Each storage drive is configured, for example, as a hard disk drive or a semiconductor memory drive. By gathering a predetermined number of storage areas of each storage drive, a virtualized physical storage device can be obtained. Each of the volumes V1, V2, V3, and V4, which are logical storage devices, can be provided in this physical storage device.

ユーザデータボリュームV1は、アプリケーションプログラム1Aによって利用されるユーザデータを記憶するものである。ジャーナルボリュームV2は、ユーザデータボリュームV1に対する更新履歴をジャーナルデータとして保存するものである。   The user data volume V1 stores user data used by the application program 1A. The journal volume V2 stores the update history for the user data volume V1 as journal data.

一時リストア領域V3は、部分リストア処理部2Cによる部分的なリストア処理に使用されるものである。なお、一時リストア領域V3は、記憶ドライブの記憶領域を利用して生成することもできるし、記憶制御装置2が有するメモリの記憶領域を利用して生成することもできる。リストア用ボリュームV4は、リストア処理部2Eによって利用されるものである。リストア用ボリュームV4には、ユーザにより指定されたリカバリポイントにおけるユーザデータボリュームV1の記憶内容が再現される。   The temporary restore area V3 is used for partial restore processing by the partial restore processing unit 2C. The temporary restore area V3 can be generated using the storage area of the storage drive, or can be generated using the storage area of the memory included in the storage control device 2. The restore volume V4 is used by the restore processing unit 2E. In the restore volume V4, the storage contents of the user data volume V1 at the recovery point designated by the user are reproduced.

次に、本実施形態の作用を説明する。アプリケーションプログラム1AがユーザデータボリュームV1のデータを更新させると、ジャーナル作成処理部2Bは、この更新履歴を保管するためのジャーナルデータを生成する。生成されたジャーナルデータは、ジャーナルボリュームV2に記憶される。   Next, the operation of this embodiment will be described. When the application program 1A updates the data in the user data volume V1, the journal creation processing unit 2B generates journal data for storing this update history. The generated journal data is stored in the journal volume V2.

ここで、ユーザが、過去の所定時点における記憶内容を希望する場合がある。例えば、ユーザが誤って必要なファイルを消去してしまうことがある。もしも、ユーザが、回復させるべきタイミング(ポイント)を明確に認識しているのであれば、そのタイミングをリカバリポイントとして指定し、リストア処理部2Eによってリストアさせればよい。   Here, there are cases where the user desires the stored contents at a predetermined point in the past. For example, a user may accidentally delete a necessary file. If the user clearly recognizes the timing (point) to be recovered, the timing may be designated as a recovery point and restored by the restore processing unit 2E.

これに対し、ユーザが回復させるべきタイミングを明確に把握していない場合、ユーザは、別の情報を手がかりとして、回復させるべきタイミングを記憶制御装置2に調査させることができる。   On the other hand, when the user does not clearly grasp the timing to be recovered, the user can cause the storage control device 2 to investigate the timing to be recovered using another information as a clue.

即ち、ユーザは、リカバリ対象範囲(回復を希望するファイルの名称等)、リカバリ対象期間(リカバリポイントの調査期間)、検索条件を指定することにより、リカバリポイントの調査を要求することができる。このリカバリポイントの調査要求は、検索要求D1として記憶制御装置2に与えられる。   That is, the user can request a recovery point survey by specifying a recovery target range (name of a file desired to be recovered), a recovery target period (recovery point survey period), and a search condition. This recovery point investigation request is given to the storage controller 2 as a search request D1.

部分リストア処理部2Cは、ユーザデータボリュームV1の全体をリストアするのではなく、ユーザから指定されたファイルについてのみ、そのファイルの更新履歴毎にそれぞれリストアする。   The partial restore processing unit 2C does not restore the entire user data volume V1, but restores only the file designated by the user for each update history of the file.

リストアされた各ファイルは、一時リストア領域V3に記憶される。検索処理部2Dは、リストアされた各ファイルについて検索条件を満たすか否か判定し、検索条件に合致する期間を特定する。そして、検索処理部2Dは、検索条件に合致する期間をリカバリポイント候補リストD2として、ホスト1に報告する。ユーザは、報告されたリカバリポイント候補リストD2の中から、所望の時点をリカバリポイントとして選択し、リストア処理部2Eにリストアを要求することができる。リストア処理部2Eは、ユーザから指示されたリカバリポイントまで、ユーザデータボリュームV1の記憶内容を回復させる。   Each restored file is stored in the temporary restore area V3. The search processing unit 2D determines whether or not a search condition is satisfied for each restored file, and specifies a period that matches the search condition. Then, the search processing unit 2D reports the period that matches the search condition to the host 1 as the recovery point candidate list D2. The user can select a desired point in time from the reported recovery point candidate list D2 as a recovery point, and can request the restore processing unit 2E to restore. The restore processing unit 2E recovers the stored contents of the user data volume V1 up to the recovery point instructed by the user.

一例を挙げて説明する。例えば、ユーザが、「2005年下期報告書」という名称の文書ファイルを誤って削除してしまったとする。ユーザは、その文書ファイルの所属先ディレクトリ名が「ビジネス関係」であることは見当がついているが、その文書ファイルをいつ削除したのかまでは覚えていないとする。   An example will be described. For example, assume that a user accidentally deletes a document file named “2005 Second Half Report”. It is assumed that the user knows that the directory name to which the document file belongs is “business relation”, but does not remember when the document file was deleted.

この場合、ユーザは、「ビジネス関係」というディレクトリ名をリストア対象範囲に、「2005年上期報告書」というファイル名を含む事を検索条件に、それぞれ指定する。これにより、検索要求発行部1Bは、検索要求D1を発行させる。   In this case, the user designates the directory name “business relation” as the restoration target range and the file name “2005 first half report” as the search condition. Thereby, the search request issuing unit 1B issues a search request D1.

部分リストア処理部2Cは、ユーザデータボリュームV1に記憶されている多数のファイルのうち、リストア対象範囲として指定された「ビジネス関係」というディレクトリに含まれるファイル群のみを、その更新履歴毎にそれぞれリストアさせる。リストアされたファイル群は、一時リストア領域V3に記憶される。   The partial restore processing unit 2C restores, for each update history, only the file group included in the directory “business relationship” designated as the restore target range among the many files stored in the user data volume V1. Let The restored file group is stored in the temporary restore area V3.

検索処理部2Dは、一時リストア領域V3に記憶されたファイル群のうち、「2005年上期報告書」というキーワードを含むファイルのみを検出する。そして、検索処理部2Dは、「2005年上期報告書」というキーワードを含むファイルが2005年10月1日に初出現し、2005年11月30日が最終出現であったことを検出することができる。検索処理部2Dは、この初出現の時点から最終出現の時点までをリカバリポイント候補リストD2として、ホスト1に報告する。   The search processing unit 2D detects only files including the keyword “2005 first half report” from the file group stored in the temporary restore area V3. Then, the search processing unit 2D may detect that a file including the keyword “2005 first half report” first appeared on October 1, 2005, and that November 30, 2005 was the last appearance. it can. The search processing unit 2D reports to the host 1 the recovery point candidate list D2 from the first appearance time to the last appearance time.

ユーザは、リカバリポイント候補リストD2を参照することにより、初出現時点から最終出現時点までの間のいずれかの時点をリカバリポイントとして指定し、ユーザデータボリュームV1のリストアを命じることができる。これにより、リストア処理部2Eは、ユーザの希望する時点の記憶内容をリストア用ボリュームV4に再現させる。   By referring to the recovery point candidate list D2, the user can designate any time point between the first appearance time point and the last appearance time point as a recovery point, and can instruct the restoration of the user data volume V1. As a result, the restore processing unit 2E reproduces the storage contents at the time desired by the user in the restore volume V4.

なお、後述の実施例に示すように、例えば、ユーザデータボリュームV1の全体をリストアさせる必要が無い場合、記憶制御装置2は、一時リストア領域V3に記憶されたファイルをホスト1に提供することもできる。   As will be described later in the embodiment, for example, when it is not necessary to restore the entire user data volume V1, the storage control device 2 may provide the host 1 with the file stored in the temporary restore area V3. it can.

本実施形態では、このように構成されるため、リカバリさせるべきポイントをユーザが認識していない場合でも、ユーザが覚えている僅かな情報を手かがりとして、適切なリカバリポイントの候補を提示することができる。従って、ユーザは、試行錯誤しながらユーザデータボリュームV1の全体をリストアさせる必要がなく、比較的簡単かつ速やかに、所望のファイルを入手することができ、使い勝手が向上する。以下、本実施形態を詳細に説明する。   In this embodiment, since it is configured in this way, even when the user does not recognize the point to be recovered, a suitable recovery point candidate is presented by using a small amount of information that the user remembers as a clue. Can do. Therefore, the user does not need to restore the entire user data volume V1 through trial and error, and can obtain a desired file relatively easily and quickly, improving usability. Hereinafter, this embodiment will be described in detail.

本発明の実施形態を詳細に説明する。図2は、ストレージシステムのハードウェア構成を簡略化して示す構成説明図である。このストレージシステムは、ホスト10と記憶制御装置20とを備えている。ホスト10と記憶制御装置20とは、例えば、スイッチ30を有する通信ネットワークCN1を介して、双方向通信可能に接続されている。   Embodiments of the present invention will be described in detail. FIG. 2 is a configuration explanatory diagram showing a simplified hardware configuration of the storage system. This storage system includes a host 10 and a storage control device 20. For example, the host 10 and the storage control device 20 are connected via a communication network CN1 having a switch 30 so that bidirectional communication is possible.

通信ネットワークCN1としては、例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)を用いるLAN(Local Area Network)、FCP(Fibre Channel Protocol)を用いるSAN(Storage Area Network)等を挙げることができる。また、中継装置としてのスイッチ30を省略して、ホスト10と記憶制御装置20とを直接的に接続することもできる。   Examples of the communication network CN1 include a LAN (Local Area Network) using TCP / IP (Transmission Control Protocol / Internet Protocol), a SAN (Storage Area Network) using FCP (Fibre Channel Protocol), and the like. It is also possible to directly connect the host 10 and the storage control device 20 by omitting the switch 30 as a relay device.

ホスト10は、例えば、CPU(Central Processing Unit)11,メモリ12,通信インターフェース(図中「I/F」)13,ユーザインターフェース(図中「UI」)14を備えたコンピュータ装置として構成される。   The host 10 is configured as a computer device including, for example, a CPU (Central Processing Unit) 11, a memory 12, a communication interface (“I / F” in the figure) 13, and a user interface (“UI” in the figure) 14.

メモリ12は、例えば、ROM(Read Only Memory),RAM(Random Access Memory)、ローカルディスク等を含んで構成可能である。メモリ12には、例えば、OS(Operating System)やアプリケーションプログラム等のような各種プログラムが記憶される。CPU11は、メモリ12に記憶されたプログラムを読み出して実行することにより、各プログラムの機能を実現させる。ユーザインターフェース14は、例えば、ディスプレイ装置やスピーカー等の情報出力装置と、キーボードスイッチやポインティングデバイス、マイクロフォン等の情報入力装置とを備えることができる。   The memory 12 can be configured to include, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), a local disk, and the like. The memory 12 stores various programs such as an OS (Operating System) and application programs. The CPU 11 implements the function of each program by reading and executing the program stored in the memory 12. The user interface 14 can include, for example, an information output device such as a display device and a speaker, and an information input device such as a keyboard switch, a pointing device, and a microphone.

記憶制御装置20は、ファイルコントローラ100,ブロックコントローラ200,ディスクエンクロージャ300を備えて構成することができる。なお、後述の実施例に示すように、ファイルコントローラ100とブロックコントローラ200とを一つのコントローラに統合させることもできる。   The storage control device 20 can be configured with a file controller 100, a block controller 200, and a disk enclosure 300. In addition, as shown in the Example mentioned later, the file controller 100 and the block controller 200 can also be integrated into one controller.

ファイルコントローラ100は、「コントローラ」または「第1コントローラ」に対応する。ファイルコントローラ100は、ファイル単位でのデータ入出力を管理するコンピュータ装置として構成される。ファイルコントローラ100は、通信経路CN2を介して、ブロックコントローラ200と双方向通信可能に接続されている。この通信経路CN2は、例えば、FCPを用いるファイバケーブル(SAN)のように構成される。   The file controller 100 corresponds to a “controller” or a “first controller”. The file controller 100 is configured as a computer device that manages data input / output in file units. The file controller 100 is connected to the block controller 200 via the communication path CN2 so as to be capable of bidirectional communication. The communication path CN2 is configured as a fiber cable (SAN) using FCP, for example.

ファイルコントローラ100は、例えば、MPU(Micro Processing Unit)110,メモリ120,フロントエンドインターフェース(以下、インターフェースを「I/F」と略記する場合がある)130,バックエンドI/F140及びメモリコントローラ150を備えて構成される。   The file controller 100 includes, for example, an MPU (Micro Processing Unit) 110, a memory 120, a front end interface (hereinafter, the interface may be abbreviated as “I / F”) 130, a back end I / F 140, and a memory controller 150. It is prepared for.

メモリ120は、例えば、ROMやRAM等の半導体メモリから構成することができ、MPU110によって実行される各種プログラムを記憶している。また、メモリ120には、キャッシュ領域も備えており、このキャッシュ領域は、ホスト10やブロックコントローラ200との間のデータ通信等に使用される。   The memory 120 can be composed of, for example, a semiconductor memory such as a ROM or a RAM, and stores various programs executed by the MPU 110. The memory 120 also has a cache area, and this cache area is used for data communication with the host 10 and the block controller 200.

フロントエンドI/F130は、ホスト10との間で、ファイルレベルのデータ通信(ファイル単位のデータ通信)を行うものである。バックエンドI/F140は、ブロックコントローラ200との間で、ブロックレベルのデータ通信(ブロック単位のデータ通信)を行うものである。メモリコントローラ150は、MPU110,各フロントエンドI/F130,各バックエンドI/F140,メモリ120を互いに接続させるように、内部の通信経路を制御する。   The front-end I / F 130 performs file-level data communication (file-unit data communication) with the host 10. The back-end I / F 140 performs block-level data communication (block-unit data communication) with the block controller 200. The memory controller 150 controls an internal communication path so that the MPU 110, each front end I / F 130, each back end I / F 140, and the memory 120 are connected to each other.

ホスト10からフロントエンドI/F130を介して受信したライトデータは、メモリ120にいったん記憶される。そして、バックエンドI/F140は、ライトデータの書込み先アドレスを論理ブロックアドレス(LBA)に変換した後、ライトデータをブロックコントローラ200に送信する。なお、アドレス変換をフロントエンドI/F130で行った後で、メモリ120に記憶させてもよい。また、アドレス変換をMPU110が行う構成でもよい。   Write data received from the host 10 via the front end I / F 130 is temporarily stored in the memory 120. Then, the back-end I / F 140 transmits the write data to the block controller 200 after converting the write destination address of the write data into a logical block address (LBA). Note that the address conversion may be performed in the front end I / F 130 and then stored in the memory 120. Moreover, the structure which MPU110 performs address conversion may be sufficient.

ブロックコントローラ200からバックエンドI/F140を介して受信されたブロックデータは、メモリ120にいったん記憶される。そして、フロントエンドI/F130は、論理ブロックアドレスをファイルレベルのアドレスに変換してファイルデータとしてまとめ、このデータをホスト10に送信する。なお、ブロックデータからファイルデータへの変換をバックエンドI/F140で行ってから、メモリ120に記憶させてもよい。また、ファイルデータへの変換処理をMPU210で行ってもよい。   Block data received from the block controller 200 via the back-end I / F 140 is temporarily stored in the memory 120. Then, the front end I / F 130 converts the logical block address into a file level address, collects it as file data, and transmits this data to the host 10. The conversion from block data to file data may be performed by the back end I / F 140 and then stored in the memory 120. Further, the MPU 210 may perform conversion processing to file data.

ブロックコントローラ200は、「コントローラ」または「第2コントローラ」に対応する。ブロックコントローラ200は、通信経路CN3を介して、ディスクエンクロージャ300と双方向通信可能に接続される。この通信経路CN3は、CN2と同様に、FCPを用いたファイバケーブル(SAN)のように構成される。   The block controller 200 corresponds to a “controller” or a “second controller”. The block controller 200 is connected to the disk enclosure 300 via the communication path CN3 so as to be capable of bidirectional communication. The communication path CN3 is configured as a fiber cable (SAN) using FCP, similar to CN2.

ブロックコントローラ200は、ブロック単位でのデータ入出力を管理するコンピュータ装置である。ブロックコントローラ200は、ファイルコントローラ100と同様に、例えば、MPU210,メモリ220,フロントエンドI/F230,バックエンドI/F240及びメモリコントローラ250を備えて構成することができる。   The block controller 200 is a computer device that manages data input / output in units of blocks. Similar to the file controller 100, the block controller 200 can include, for example, an MPU 210, a memory 220, a front end I / F 230, a back end I / F 240, and a memory controller 250.

メモリ220には、MPU210によって実行される各種プログラムが記憶されている。また、前記メモリ120と同様に、メモリ220は、キャッシュ領域も備えている。このキャッシュ領域は、ファイルコントローラ100やディスクエンクロージャ300との間のデータ授受に使用される。   Various programs executed by the MPU 210 are stored in the memory 220. As with the memory 120, the memory 220 also includes a cache area. This cache area is used for data exchange with the file controller 100 and the disk enclosure 300.

フロントエンドI/F230は、ファイルコントローラ100との間でブロックレベルのデータ通信を行うものである。バックエンドI/F240は、ディスクドライブ310との間でブロックレベルのデータ通信を行うものである。メモリコントローラ250は、MPU210,各フロントエンドI/F230,各バックエンドI/F240,メモリ220を互いに接続させるように、内部の通信経路を制御する。   The front end I / F 230 performs block level data communication with the file controller 100. The back-end I / F 240 performs block-level data communication with the disk drive 310. The memory controller 250 controls an internal communication path so that the MPU 210, each front end I / F 230, each back end I / F 240, and the memory 220 are connected to each other.

ファイルコントローラ100からフロントエンドI/F230を介して受信されたライトデータは、メモリ220にいったん記憶される。そして、バックエンドI/F240は、ライトデータの論理ブロックアドレスを各ディスクドライブ310の物理アドレスに変換し、所定のディスクドライブ310に書き込ませる。ディスクドライブ310から読み出されたデータは、バックエンドI/F240によって論理ブロックアドレスに変換され、メモリ220に記憶される。フロントエンドI/F230は、そのデータをメモリ220から読み出し、ファイルコントローラ100に転送する。   Write data received from the file controller 100 via the front end I / F 230 is temporarily stored in the memory 220. Then, the back-end I / F 240 converts the logical block address of the write data into a physical address of each disk drive 310 and writes it to a predetermined disk drive 310. Data read from the disk drive 310 is converted into a logical block address by the back end I / F 240 and stored in the memory 220. The front end I / F 230 reads the data from the memory 220 and transfers it to the file controller 100.

ディスクエンクロージャ300は、例えば、「記憶装置」または「ディスクアレイ記憶装置」等のように表現可能である。ディスクエンクロージャ300は、アレイ状に配設された複数のディスクドライブ310を備えている。これらディスクドライブ310は、「記憶デバイス」に該当する。   The disk enclosure 300 can be expressed as “storage device” or “disk array storage device”, for example. The disk enclosure 300 includes a plurality of disk drives 310 arranged in an array. These disk drives 310 correspond to “storage devices”.

ディスクドライブ310は、例えば、ハードディスクドライブ、半導体メモリドライブ、光ディスクドライブ、光磁気ディスクドライブ、磁気テープドライブ等のような種々の記憶デバイスとして構成可能である。また、ハードディスクドライブの場合、例えば、FC(Fibre Channel)ディスク、SATA(Serial AT Attachment)ディスク、SCSI(Small Computer System Interface)ディスクのように、種々の種類のハードディスクドライブを利用することができる。さらに、ディスクエンクロージャ300内に、異なる種類の記憶デバイスを混在させることもできる。   The disk drive 310 can be configured as various storage devices such as a hard disk drive, a semiconductor memory drive, an optical disk drive, a magneto-optical disk drive, a magnetic tape drive, and the like. In the case of a hard disk drive, for example, various types of hard disk drives such as FC (Fibre Channel) disk, SATA (Serial AT Attachment) disk, and SCSI (Small Computer System Interface) disk can be used. Further, different types of storage devices can be mixed in the disk enclosure 300.

例えば、4台や8台等のような所定数のディスクドライブ310によって、一つのグループが構成される。このグループをRAIDグループまたはパリティグループと呼ぶ。RAIDグループに参加する各ディスクドライブ310は、それぞれ物理的な記憶領域を提供し、これら物理的な記憶領域の集合体が形成される。従って、RAIDグループは、物理的記憶デバイスと呼ぶこともできる。RAIDレベルによっても相違するが、グループに参加する各ディスクドライブ310のうち、一つまたは複数のディスクドライブ310は、パリティデータの格納に使用される。   For example, a group is constituted by a predetermined number of disk drives 310 such as four or eight. This group is called a RAID group or a parity group. Each disk drive 310 participating in the RAID group provides a physical storage area, and an aggregate of these physical storage areas is formed. Thus, a RAID group can also be called a physical storage device. Although different depending on the RAID level, one or a plurality of disk drives 310 among the disk drives 310 participating in the group are used for storing parity data.

RAIDグループの物理的記憶領域には、一つまたは複数の論理ボリュームを設定することができる。論理ボリュームは、ファイルコントローラ100のフロントエンドI/F130が有するポートに割り当てられ、ホスト10によってアクセスされる対象となる。論理ボリュームは、論理的記憶デバイスと呼ぶことができる。   One or a plurality of logical volumes can be set in the physical storage area of the RAID group. The logical volume is assigned to a port of the front end I / F 130 of the file controller 100 and is a target to be accessed by the host 10. A logical volume can be referred to as a logical storage device.

ストレージシステムの機能構成を説明する前に、図3,図4を参照して、ファイルコントローラ100とブロックコントローラ200等との配置関係を説明する。図3(a)に示すように、一つの制御用筐体内にファイルコントローラ100及びブロックコントローラ200を設け、ディスクエンクロージャ300は別筐体として構成し、これら各筐体間をファイバケーブル等で接続することができる。   Before describing the functional configuration of the storage system, the arrangement relationship between the file controller 100 and the block controller 200 will be described with reference to FIGS. As shown in FIG. 3A, the file controller 100 and the block controller 200 are provided in one control housing, the disk enclosure 300 is configured as a separate housing, and these housings are connected by a fiber cable or the like. be able to.

図3(b)に示すように、同一筐体内に、ファイルコントローラ100,ブロックコントローラ200及びディスクエンクロージャ300をそれぞれ設けてもよい。図3(c)に示すように、ファイルコントローラ100を記憶制御装置20の筐体から分離させ、ファイルコントローラ100とブロックコントローラ200及びディスクエンクロージャ300をネットワークを介して接続してもよい。   As shown in FIG. 3B, a file controller 100, a block controller 200, and a disk enclosure 300 may be provided in the same housing. As shown in FIG. 3C, the file controller 100 may be separated from the housing of the storage controller 20, and the file controller 100, the block controller 200, and the disk enclosure 300 may be connected via a network.

図4(d)に示すように、ファイルコントローラ100を記憶制御装置20の筐体から分離し、スイッチ30内にファイルコントローラ100を設けてもよい。また、図4(e)に示すように、ファイルコントローラ100をホスト10内に設けてもよい。   As illustrated in FIG. 4D, the file controller 100 may be separated from the housing of the storage control device 20 and the file controller 100 may be provided in the switch 30. Further, as shown in FIG. 4E, the file controller 100 may be provided in the host 10.

図5を参照して、ストレージシステムの機能構成を説明する。ホスト10は、例えば、アプリケーションプログラム410と、リカバリポイント検索用インターフェース(以下、検索用インターフェースと略記する場合がある)420とを備えている。アプリケーションプログラム410は、図1中のアプリケーションプログラム1Aに対応する。アプリケーションプログラム410としては、例えば、データベースや顧客管理プログラム、文書作成プログラム等を挙げることができる。   A functional configuration of the storage system will be described with reference to FIG. The host 10 includes, for example, an application program 410 and a recovery point search interface 420 (hereinafter sometimes abbreviated as a search interface). The application program 410 corresponds to the application program 1A in FIG. Examples of the application program 410 include a database, a customer management program, a document creation program, and the like.

検索用インターフェース420は、図1中のリカバリポイント検索要求発行部1B及びリカバリ指示部1Cに対応する。検索用インターフェース420は、リカバリポイントの調査を記憶制御装置20に指示すると共に、選択したリカバリポイントを指定してリカバリを命じることができる。リカバリポイントの調査は、検索要求600として、記憶制御装置20に与えられる。この検索要求600は、図1中の検索要求D1に対応する。また、リカバリポイントの調査結果は、リカバリポイントの候補リスト700として、ホスト10に送信される。この候補リスト700は、図1中の候補リストD2に対応する。   The search interface 420 corresponds to the recovery point search request issuing unit 1B and the recovery instruction unit 1C in FIG. The search interface 420 can instruct the storage control device 20 to investigate the recovery point, and can specify the selected recovery point and order recovery. The recovery point survey is given to the storage control device 20 as a search request 600. This search request 600 corresponds to the search request D1 in FIG. The recovery point investigation result is transmitted to the host 10 as a recovery point candidate list 700. This candidate list 700 corresponds to the candidate list D2 in FIG.

ファイルコントローラ100は、例えば、ファイルR/W処理部430,部分リストア処理部440,データ検索処理部450,ジャーナルリード機能460及び一時リストア領域540を、備えている。   The file controller 100 includes, for example, a file R / W processing unit 430, a partial restore processing unit 440, a data search processing unit 450, a journal read function 460, and a temporary restore area 540.

ファイルR/W処理部430は、ホスト10からのアクセス要求に応じて、ファイルレベルのデータ読み書きを行うためのものである。部分リストア処理部440は、検索要求600で示されたリカバリ対象のファイルについてのみ更新履歴毎にそれぞれリストアし、リストアしたファイルを一時リストア領域540に記憶させる。データ検索処理部450は、一時的にリストアされた特定のファイル群について、検索要求600中の検索条件に合致するか否かを検査する。データ検索処理部450は、検索条件に合致する期間を特定し、この特定された期間をリカバリポイント候補リスト700として、ホスト10に送信する。ジャーナルリード機能460については、後述する。   The file R / W processing unit 430 is for reading and writing file level data in response to an access request from the host 10. The partial restore processing unit 440 restores only the recovery target file indicated by the search request 600 for each update history, and stores the restored file in the temporary restore area 540. The data search processing unit 450 checks whether or not a specific file group temporarily restored meets the search condition in the search request 600. The data search processing unit 450 specifies a period that matches the search condition, and transmits the specified period to the host 10 as the recovery point candidate list 700. The journal read function 460 will be described later.

一時リストア領域540は、「一時的復元領域」に該当し、図1中の一時リストア領域V3に対応する。この一時リストア領域540は、ユーザデータボリューム510の全範囲のうち、リカバリ対象として指定された範囲についての一時的なリストアを行うために使用される。一時リストア領域540は、上述の論理ボリュームとして構成することもできるし、ファイルコントローラ100のメモリ120内に仮想的なボリュームとして設けることもできる。   The temporary restore area 540 corresponds to a “temporary restore area” and corresponds to the temporary restore area V3 in FIG. This temporary restore area 540 is used to perform a temporary restore of a range designated as a recovery target in the entire range of the user data volume 510. The temporary restore area 540 can be configured as the logical volume described above, or can be provided as a virtual volume in the memory 120 of the file controller 100.

ブロックコントローラ200は、例えば、ブロックR/W処理部470,ジャーナル作成処理部480,リストア処理部490及びジャーナルアクセス機能461を備えることができる。ブロックR/W処理部470は、ブロックレベルのデータ読み書きを行うものである。ジャーナル作成処理部480は、ユーザデータボリューム510に記憶されているデータが更新された場合に、ジャーナルデータを作成して管理するものである。ジャーナルデータは、ジャーナルボリューム520に記憶される。リストア処理部490は、検索用インターフェース420から指示されたリカバリポイントまで、ユーザデータボリューム510の記憶内容を復元させるものである。復元された記憶内容は、リストア用ボリューム530に記憶される。   The block controller 200 can include, for example, a block R / W processing unit 470, a journal creation processing unit 480, a restore processing unit 490, and a journal access function 461. The block R / W processing unit 470 reads and writes block level data. The journal creation processing unit 480 creates and manages journal data when the data stored in the user data volume 510 is updated. Journal data is stored in the journal volume 520. The restore processing unit 490 restores the stored contents of the user data volume 510 up to the recovery point instructed from the search interface 420. The restored storage content is stored in the restore volume 530.

ジャーナルリード機能460及びジャーナルアクセス機能461は、ファイルコントローラ100がジャーナルボリューム520からジャーナルデータを取得するために設けられた機能である。ファイルコントローラ100内のジャーナルリード機能460は、ブロックコントローラ200内のジャーナルアクセス機能461を介して、ジャーナルボリューム520にアクセスすることができる。部分リストア処理部440は、ジャーナルリード機能460及びジャーナルアクセス機能461を介して、ジャーナルボリューム520から所定のジャーナルデータを取得し、部分的なリストアを行う。ジャーナルリード機能460及びジャーナルアクセス機能461は、例えば、「ファイルコントローラがジャーナルデータをブロックコントローラを介して取得するためのジャーナルデータ取得機能(取得部)」と呼ぶことができる。   The journal read function 460 and journal access function 461 are functions provided for the file controller 100 to acquire journal data from the journal volume 520. The journal read function 460 in the file controller 100 can access the journal volume 520 via the journal access function 461 in the block controller 200. The partial restore processing unit 440 acquires predetermined journal data from the journal volume 520 via the journal read function 460 and the journal access function 461, and performs partial restore. The journal read function 460 and the journal access function 461 can be called, for example, “journal data acquisition function (acquisition unit) for the file controller to acquire journal data via the block controller”.

ディスクエンクロージャ300は、例えば、ユーザデータボリューム510と、ジャーナルボリューム520及びリストア用ボリューム530を備えている。ユーザデータボリューム510は、「データボリューム」に該当し、図1中のユーザデータボリュームV1に対応する。ジャーナルボリューム520は、「ジャーナルボリューム」または「更新データ管理用ボリューム」に対応し、図1中のジャーナルボリュームV2に対応する。リストア用ボリューム530は、ユーザデータボリューム510の全体を、ユーザから指定されたリカバリポイントの状態に回復させるために使用される。   The disk enclosure 300 includes, for example, a user data volume 510, a journal volume 520, and a restore volume 530. The user data volume 510 corresponds to a “data volume” and corresponds to the user data volume V1 in FIG. The journal volume 520 corresponds to “journal volume” or “update data management volume”, and corresponds to the journal volume V2 in FIG. The restore volume 530 is used to recover the entire user data volume 510 to the recovery point state designated by the user.

図6を参照して、ジャーナルボリューム520の構成を説明する。ジャーナルボリューム520は、ジャーナルレコード領域521と、データ領域522とに大別される。ジャーナルレコード領域521は、ジャーナルデータを管理するための管理領域である。データ領域522は、ジャーナルデータを記憶するための領域である。   The configuration of the journal volume 520 will be described with reference to FIG. The journal volume 520 is roughly divided into a journal record area 521 and a data area 522. The journal record area 521 is a management area for managing journal data. The data area 522 is an area for storing journal data.

ジャーナルレコード領域521の構成例を、図6中に表形式で示す。ジャーナルレコード領域521は、ユーザデータボリューム510の一回のデータ更新毎に、例えば、ジャーナル識別子と、記録日時と、パス名と、オフセットと、サイズと、データ記憶位置とを対応付けることにより、構成される。   A configuration example of the journal record area 521 is shown in a table format in FIG. The journal record area 521 is configured by associating, for example, a journal identifier, a recording date and time, a path name, an offset, a size, and a data storage position for each data update of the user data volume 510. The

ジャーナル識別子とは、記憶制御装置20内でデータ更新を一意に特定するための識別情報である。ジャーナル識別子は、例えば、連続番号あり、ユーザデータボリューム510が更新されるたびに、その番号が1つずつ増加する。記録日時とは、ジャーナルデータがジャーナルボリューム520に記憶された日時、即ち、ユーザデータボリューム510へのデータ更新が行われた日時を示す情報である。   The journal identifier is identification information for uniquely specifying a data update within the storage controller 20. The journal identifier has, for example, a serial number, and the number increases by one each time the user data volume 510 is updated. The recording date and time is information indicating the date and time when journal data is stored in the journal volume 520, that is, the date and time when data update to the user data volume 510 is performed.

パス名とは、更新されたファイルを特定するためのファイル識別情報である。パス名は、ルートディレクトリ(トップディレクトリ)から、更新されたファイルに辿り着くためのファイルシステム上の経路を示す。オフセットとは、そのファイルにおいて、更新されたデータの位置を示すアドレス情報である。サイズとは、更新されたデータのサイズを示す更新量情報である。データ記憶位置とは、更新されたデータ(更新される直前のデータ)がデータ領域522に記憶されている位置を示す格納先アドレス情報である。   The path name is file identification information for specifying the updated file. The path name indicates a path on the file system for reaching the updated file from the root directory (top directory). The offset is address information indicating the position of updated data in the file. The size is update amount information indicating the size of updated data. The data storage position is storage destination address information indicating a position where updated data (data immediately before being updated) is stored in the data area 522.

図7は、ジャーナルデータを用いて、部分的なリストアを行う様子を模式的に示す説明図である。説明の便宜上、ここでは、リカバリ対象範囲として「FILE_D」が指定されているものとする。   FIG. 7 is an explanatory diagram schematically showing a state in which partial restoration is performed using journal data. For convenience of explanation, it is assumed here that “FILE_D” is designated as the recovery target range.

部分リストア処理部440は、ジャーナルレコード領域521の先頭から終端に向けて、ジャーナルレコードの「パス名」を順番に検査していく。そして、ファイル名「FILE_D」に関するジャーナルレコードを発見した場合、そのデータ記憶位置を参照し、データ領域522からデータを読み出して一時リストア領域540に記憶させる。部分リストア処理部440は、読み出したデータを「オフセット」アドレスの位置に配置する。   The partial restore processing unit 440 sequentially examines “path names” of journal records from the beginning to the end of the journal record area 521. When a journal record related to the file name “FILE_D” is found, the data storage position is referred to, data is read from the data area 522 and stored in the temporary restore area 540. The partial restore processing unit 440 arranges the read data at the position of the “offset” address.

図7に示す例では、ジャーナル識別子「0011」からデータ「B」が、ジャーナル識別子「0013」及び「0015」からそれぞれデータ「O」が、ジャーナル識別子「0016」からデータ「K」が、それぞれ読み出されて、一時リストア領域540にファイルのオフセットアドレスに従って配置される。これにより、一時リストア領域540には、「BOOK」という単語を有するファイル「FILE_D」が再現される。   In the example shown in FIG. 7, the data “B” is read from the journal identifier “0011”, the data “O” is read from the journal identifiers “0013” and “0015”, and the data “K” is read from the journal identifier “0016”. And is arranged in the temporary restore area 540 according to the offset address of the file. As a result, the file “FILE_D” having the word “BOOK” is reproduced in the temporary restore area 540.

一つ一つのジャーナルデータは、そのファイルについて更新されたデータのみを有するため、各ジャーナルデータそれ自体では、意味のあるキーワード等を発見することはできない。しかし、部分リストア処理部440によって、リカバリ対象として指定された目的のファイル単位で復元するため、後述のキーワード検索を行うことができる。   Since each journal data has only the data updated for the file, each journal data itself cannot find a meaningful keyword or the like. However, since the partial restore processing unit 440 restores the target file unit designated as the recovery target, a keyword search described later can be performed.

また、上述のように、部分リストア処理部440は、リカバリ対象として指定されたファイルについてのみ、ユーザデータボリューム510の内容を部分的にリストアする。この指定されたファイルが、ユーザデータボリューム510内の他のファイルと関連している場合でも、部分リストア処理部440は、ファイル間の関連性や依存関係を考慮することなく、リカバリ対象として指定された目的のファイルだけをリストアする。   Further, as described above, the partial restore processing unit 440 partially restores the contents of the user data volume 510 only for files designated as recovery targets. Even when the specified file is related to another file in the user data volume 510, the partial restore processing unit 440 is specified as a recovery target without considering the relationship or dependency between the files. Restore only the desired files.

なお、後述のように、検索要求600には、複数のリカバリ対象範囲を指定することができる。従って、特定のファイル間に関連性等がある場合、ユーザは、関連するファイルをそれぞれ指定して、それぞれリストアさせることもできる。   As described later, a plurality of recovery target ranges can be specified in the search request 600. Therefore, when there is a relationship between specific files, the user can designate each related file and restore it.

図8は、検索要求600の構成例を模式的に示す説明図である。図8(a)に示すように、検索要求600は、例えば、リカバリ対象範囲610と、リカバリ対象期間620と、検索条件630と、論理演算条件640とを備えることができる。なお、これ以外に、各検索要求600を識別するための検索要求識別情報や送信先アドレス等が設けられて、ホスト10から記憶制御装置20に送信される。   FIG. 8 is an explanatory diagram schematically showing a configuration example of the search request 600. As shown in FIG. 8A, the search request 600 can include, for example, a recovery target range 610, a recovery target period 620, a search condition 630, and a logical operation condition 640. In addition, search request identification information for identifying each search request 600, a transmission destination address, and the like are provided and transmitted from the host 10 to the storage control device 20.

これら各情報610〜640の全てについて有意の値(有効な値、文字列)が設定されている必要はない。少なくともリカバリ対象範囲610及び検索条件630に意味のある値が設定されていればよい。その他の情報620,640は、それらを使用する場合に、有効な値が設定されていればよい。   Significant values (valid values, character strings) need not be set for all of the pieces of information 610 to 640. It is sufficient that at least meaningful values are set in the recovery target range 610 and the search condition 630. The other information 620 and 640 need only be set to valid values when they are used.

リカバリ対象範囲610には、目的のファイル(ディレクトリを含む)を特定するためのパス名が設定される。リカバリ対象期間620は、後述の実施例で好適に用いられるもので、リカバリ対象のファイルの時期的条件を特定可能な場合に、その時期を示す値が設定される。検索条件630には、ユーザが選択または入力する任意の文字列やデータ、ファイルのタイムスタンプが設定される。論理演算条件640には、例えば、「AND」条件や「OR」条件等のような論理演算式が設定される。   In the recovery target range 610, a path name for specifying a target file (including a directory) is set. The recovery target period 620 is preferably used in an embodiment described later. When the time condition of the recovery target file can be specified, a value indicating the time is set. In the search condition 630, an arbitrary character string or data selected or input by the user, or a time stamp of a file is set. For the logical operation condition 640, for example, a logical operation expression such as an “AND” condition or an “OR” condition is set.

図8(b)に示すように、リカバリ対象範囲610にファイルのパス名を設定し、検索条件630に任意のキーワードを設定することにより、検索要求600を生成することができる。このような検索要求600を発行することにより、目的のファイルが所定のキーワードを含んでいる時期を検出することができる。   As shown in FIG. 8B, a search request 600 can be generated by setting a path name of a file in the recovery target range 610 and setting an arbitrary keyword in the search condition 630. By issuing such a search request 600, it is possible to detect when the target file contains a predetermined keyword.

図8(c)に示すように、リカバリ対象範囲610にディレクトリのパス名を設定し、検索条件630にファイル名を設定することもできる。このような検索要求600を発行することにより、所定のディレクトリ内に存在したはずの消失ファイルを検出することができる。   As shown in FIG. 8C, a directory path name can be set in the recovery target range 610 and a file name can be set in the search condition 630. By issuing such a search request 600, a lost file that should have existed in a predetermined directory can be detected.

図8(d)に示すように、複数のリカバリ対象範囲610及び検索条件630のペアと、これらペア間の論理演算条件640とを設定することもできる。このような検索要求600を発行することにより、それぞれ異なるキーワードを含むファイル同士が所定の論理演算条件を満たしている期間を検出することができる。   As shown in FIG. 8D, a plurality of recovery target ranges 610 and search condition 630 pairs and a logical operation condition 640 between these pairs can be set. By issuing such a search request 600, it is possible to detect a period in which files including different keywords satisfy a predetermined logical operation condition.

図8(e)に示すように、複数のリカバリ対象範囲610とリカバリ対象期間620及び検索条件630のペアと、これらペア間の論理演算条件640とを設定してもよい。このような検索要求600を発行することにより、図8(d)で述べたと同様に、それぞれ異なるキーワードを含むファイル同士が所定の論理条件を満たしている期間を検出することができる。図8(e)に示す例では、リカバリ対象期間620を設定しているため、部分リストア処理部440による部分リストア処理の範囲を時期的に絞り込むことができ、より高速に部分リストア処理を行うことができる。   As shown in FIG. 8E, a plurality of recovery target ranges 610, recovery target periods 620 and search condition 630 pairs, and logical operation conditions 640 between these pairs may be set. By issuing such a search request 600, as described in FIG. 8D, it is possible to detect a period in which files including different keywords satisfy a predetermined logical condition. In the example shown in FIG. 8E, since the recovery target period 620 is set, the range of partial restore processing by the partial restore processing unit 440 can be narrowed down in time, and partial restore processing can be performed at higher speed. Can do.

図9は、リカバリポイントの候補リスト700の構成例を示す説明図である。図9(a)に示すように、リカバリポイント候補リスト(以下、「候補リスト」と略す場合がある)700は、例えば、初出現時刻710と、最終出現時刻720とを含んで構成することができる。   FIG. 9 is an explanatory diagram of a configuration example of the recovery point candidate list 700. As shown in FIG. 9A, the recovery point candidate list (hereinafter may be abbreviated as “candidate list”) 700 includes, for example, a first appearance time 710 and a last appearance time 720. it can.

初出現時刻710とは、リカバリ対象のファイルが検索条件を満たす最初のポイント(時点)を示す。最終出現時刻720とは、リカバリ対象のファイルが検索条件を最後に満たすポイントを示す。例えば、ある時刻Tfに作成されたファイルが時刻Tlに削除された場合、初出現時刻710はTfとなり、最終出現時刻720はTlとなる。一つの初出現時刻710と一つの最終出現時刻720とで、一つのペアを構成する。このペア710,720によって、リカバリ対象のファイルが検索条件を満たす期間が示される。   The first appearance time 710 indicates the first point (time point) at which the recovery target file satisfies the search condition. The last appearance time 720 indicates a point at which the recovery target file finally satisfies the search condition. For example, if a file created at a certain time Tf is deleted at time Tl, the first appearance time 710 is Tf and the last appearance time 720 is Tl. One initial appearance time 710 and one final appearance time 720 constitute one pair. The pair 710 and 720 indicates a period during which the recovery target file satisfies the search condition.

図9(b)に示すように、初出現時刻710及び最終出現時刻720は、西暦年月日及び時分秒の形式で表現することができる。この年月日時分秒の形式で表現することにより、ユーザは、直感的に理解することができる。   As shown in FIG. 9B, the first appearance time 710 and the last appearance time 720 can be expressed in the format of year, month, day, hour, minute and second. By expressing in the format of this year / month / day / hour / minute / second, the user can intuitively understand.

これに代えて、例えば、毎日所定量ずつカウントアップするカウンタタイマの値を用いてもよい。即ち、記憶制御装置20内のカウンタタイマの値を候補リスト700に設定することもできる。カウンタタイマの値を用いる場合でも、検索用インターフェース420に表示させる場合は、西暦年月日等の形式に変換することができる。   Instead of this, for example, a value of a counter timer that counts up by a predetermined amount every day may be used. That is, the value of the counter timer in the storage control device 20 can be set in the candidate list 700. Even when the value of the counter timer is used, when it is displayed on the search interface 420, it can be converted into a format such as the year, month, day.

図9(c)に示すように、候補リスト700に、初出現時刻710及び最終出現時刻720のペアが複数含まれる場合もある。例えば、リカバリ対象のファイルが、ある時期に検索条件を満たした後、データ更新されて検索条件に合致しなくなり、さらに、その後のデータ更新によって再び検索条件を満たすような場合である。この場合、候補リスト700には、リカバリ対象のファイルが検索条件に合致する全ての期間が含まれる。   As shown in FIG. 9C, the candidate list 700 may include a plurality of pairs of the first appearance time 710 and the last appearance time 720. For example, the recovery target file may satisfy the search condition at a certain time, and then the data is updated so that the search condition is not met, and the search condition is satisfied again by subsequent data update. In this case, the candidate list 700 includes all periods in which the recovery target file matches the search condition.

このように、候補リスト700は、初出現時刻710と最終出現時刻720とにより、リカバリ対象のファイルが検索条件を満たす始期(初出現時刻710)と終期(最終出現時刻720)とを特定し、検索条件に合致する期間を表現している。これにより、検索条件に合致する期間を比較的少ないデータ量で特定することができる。しかし、本発明はこれに限らず、リカバリ対象のファイルが検索条件に合致する全てのポイントを候補リスト700に含める構成でもよい。例えば、あるファイルが、時刻T1,T2,T3,T4,T5,...にそれぞれ更新され、このうち、時刻T1,T2,T3において、検索条件を満たしている場合、これらの時刻T1,T2,T3を全て候補リスト700に含むことができる。図9に示す例では、T1,T3のみが候補リスト700に含まれる。   In this way, the candidate list 700 specifies the start time (first appearance time 710) and the end time (final appearance time 720) that the recovery target file satisfies the search condition from the first appearance time 710 and the last appearance time 720, The period that matches the search condition is expressed. As a result, it is possible to specify a period that matches the search condition with a relatively small amount of data. However, the present invention is not limited to this, and a configuration may be adopted in which all points whose recovery target files match the search condition are included in the candidate list 700. For example, if a certain file has a time T1, T2, T3, T4, T5,. . . If the search condition is satisfied at times T1, T2, and T3, all of these times T1, T2, and T3 can be included in the candidate list 700. In the example shown in FIG. 9, only T1 and T3 are included in the candidate list 700.

図10は、リカバリポイント検索用インターフェース420がユーザに提供するユーザインターフェースの一例を示す説明図である。図10(a)は、リカバリポイント検索要求600を発行させるための画面G10である。この画面G10は、例えば、「リカバリポイント検索条件指定画面」または「リカバリポイント検索要求発行画面」等と呼ぶことができる。   FIG. 10 is an explanatory diagram showing an example of a user interface provided to the user by the recovery point search interface 420. FIG. 10A shows a screen G10 for issuing a recovery point search request 600. FIG. This screen G10 can be called, for example, a “recovery point search condition designation screen” or a “recovery point search request issue screen”.

検索条件指定画面G10には、例えば、リカバリ対象範囲指定部G11と、リカバリ対象期間指定部G12と、検索条件指定部G13と、論理演算条件指定部G14と、検索実行ボタンB11及びキャンセルボタンB12を含めることができる。   The search condition designation screen G10 includes, for example, a recovery target range designation unit G11, a recovery target period designation unit G12, a search condition designation unit G13, a logical operation condition designation unit G14, a search execution button B11, and a cancel button B12. Can be included.

リカバリ対象範囲指定部G11は、ユーザがリカバリを希望するファイルを指定するためのものである。この指定部G11では、例えば、いわゆるプルダウンメニュー形式で、トップディレクトリ配下の各ディレクトリを表示させ、所望のファイルを選択できるようになっている。   The recovery target range specifying unit G11 is used for specifying a file that the user desires to recover. In the designation part G11, for example, each directory under the top directory is displayed in a so-called pull-down menu format, and a desired file can be selected.

リカバリ対象期間指定部G12は、リカバリ対象のファイルをリストアさせる時期を指定するものである。この指定部G11では、プルダウンメニュー形式で、調査対象の時期的範囲を選択することができる。   The recovery target period designating unit G12 is for designating the time to restore the recovery target file. In this designation part G11, the time range to be investigated can be selected in a pull-down menu format.

検索条件指定部G13は、リカバリ対象のファイルが有するべきキーワードやファイル名を指定するものである。ユーザは、任意の文字列(英数字や記号等)を入力することができる。ユーザは、プルダウンメニュー形式でファイル名を選択することにより、選択されたファイルのデータの全部または一部を、検索条件として指定することもできる。ファイルのデータそのものを検索条件として指定することにより、後述の実施例のように、コンピュータウイルスに感染したファイルについて、感染前のリカバリポイントを検索することもできる。   The search condition designating part G13 designates a keyword and a file name that the recovery target file should have. The user can input an arbitrary character string (alphanumeric characters, symbols, etc.). The user can specify all or part of the data of the selected file as a search condition by selecting the file name in the pull-down menu format. By specifying the file data itself as a search condition, a recovery point before infection can be searched for a file infected with a computer virus, as in an embodiment described later.

論理演算条件指定部G14は、ANDやOR等の論理演算条件を指定するためのものである。検索実行ボタンB11は、G11〜G14で指定された値を設定した検索要求600を発行させるためのものである。キャンセルボタンB12は、検索要求600の発行を取り消すためのものである。   The logical operation condition designating part G14 is for designating logical operation conditions such as AND and OR. The search execution button B11 is for issuing a search request 600 in which the values specified in G11 to G14 are set. The cancel button B12 is for canceling the issuance of the search request 600.

図10(b)は、リカバリポイントの検索結果(調査結果)を表示するための画面G20を示す。この検索結果画面G20は、記憶制御装置20からホスト10に送信されたリカバリポイント候補リスト700に基づいて生成される。   FIG. 10B shows a screen G20 for displaying a recovery point search result (survey result). The search result screen G20 is generated based on the recovery point candidate list 700 transmitted from the storage control device 20 to the host 10.

検索結果画面G20は、例えば、リカバリ対象範囲表示部G21と、検索条件表示部G22と、初出現時刻表示部G23と、最終出現時刻G24と、リカバリポイント指定部G25と、リカバリ実行ボタンB21及びキャンセルボタンB22を備えて構成することができる。   The search result screen G20 includes, for example, a recovery target range display unit G21, a search condition display unit G22, an initial appearance time display unit G23, a final appearance time G24, a recovery point specification unit G25, a recovery execution button B21, and a cancel button. A button B22 can be provided.

リカバリ対象範囲表示部G21は、上述のリカバリ対象範囲指定部G11で指定されたファイル名を表示させるものである。検索条件表示部G22は、上述の検索条件指定部G13で指定された検索条件を表示させるものである。なお、リカバリ対象期間や論理演算条件も画面G10で指定されている場合、これらリカバリ対象期間及び論理演算条件がどのように指定されたかを、画面G20に表示させることができる。   The recovery target range display unit G21 displays the file name specified by the recovery target range specification unit G11. The search condition display part G22 displays the search conditions specified by the search condition specifying part G13 described above. When the recovery target period and the logical operation conditions are also specified on the screen G10, how the recovery target period and the logical operation conditions are specified can be displayed on the screen G20.

初出現時刻表示部G23は、候補リスト700内の初出現時刻710に設定された値を表示させるものである。同様に、最終出現時刻表示部G24は、候補リスト700内の最終出現時刻720に設定された値を表示させるものである。   The first appearance time display unit G23 displays the value set at the first appearance time 710 in the candidate list 700. Similarly, the last appearance time display unit G24 displays the value set at the last appearance time 720 in the candidate list 700.

リカバリポイント指定部G25は、ユーザの希望するリカバリポイントを指定するためのものである。例えば、プルダウンメニュー形式で表示される複数のリカバリポイント候補の中から、ユーザは、所望のリカバリポイントをいずれか一つ選択できる。   The recovery point designation unit G25 is for designating a recovery point desired by the user. For example, the user can select any one desired recovery point from a plurality of recovery point candidates displayed in a pull-down menu format.

リカバリ実行ボタンB21は、ユーザの指定したリカバリポイントまでユーザデータボリューム510の記憶内容をリストアさせるためのボタンである。キャンセルボタンB22は、リストアの実行を取り消すためのボタンである。なお、図10に示す画面及びその説明は一例であって、本発明は、上記の構成に限定されない。   The recovery execution button B21 is a button for restoring the stored contents of the user data volume 510 up to the recovery point designated by the user. The cancel button B22 is a button for canceling execution of restoration. Note that the screen shown in FIG. 10 and the description thereof are merely examples, and the present invention is not limited to the above configuration.

次に、図11〜図13に基づいて、ストレージシステムの動作を説明する。以下に述べる各フローチャートは、処理の概要を示すもので、実際のコンピュータプログラムとは相違する。また、フローチャートの説明では、ステップを「S」と略記する。   Next, the operation of the storage system will be described with reference to FIGS. Each flowchart described below shows an outline of processing, and is different from an actual computer program. In the description of the flowchart, the step is abbreviated as “S”.

図11は、ホスト10からのアクセス要求を記憶制御装置20が処理するためのコマンド処理を示すフローチャートである。ホスト10は、例えば、ライトコマンドを用いてデータの更新を要求したり(ライト要求)、リードコマンドを用いてデータの読み出しを要求することができる(リード要求)。上述のように、ファイルコントローラ100とブロックコントローラ200との協働作業によって、コマンド処理が行われるが、ここでは、説明の便宜上、記憶制御装置20を処理の主体として説明する。   FIG. 11 is a flowchart showing command processing for the storage controller 20 to process an access request from the host 10. For example, the host 10 can request update of data using a write command (write request) or can request data read using a read command (read request). As described above, the command processing is performed by the cooperative operation of the file controller 100 and the block controller 200. Here, for convenience of explanation, the storage control device 20 will be described as the subject of the processing.

記憶制御装置20は、ホスト10からのコマンドを受信すると、そのコマンドのタイプを判別する(S11)。受信したコマンドがリードコマンドの場合は、メモリのキャッシュ領域(以下、キャッシュメモリとも呼ぶ)に、ホスト10から要求されたデータが記憶されているか否かを判定する(S12)。   When the storage controller 20 receives a command from the host 10, it determines the type of the command (S11). If the received command is a read command, it is determined whether or not the data requested by the host 10 is stored in a cache area of the memory (hereinafter also referred to as a cache memory) (S12).

ホスト10から要求されたデータがキャッシュメモリに記憶されている場合(S12:YES)、記憶制御装置20は、キャッシュメモリからそのデータを読み出して、ホスト10に送信する(S15)。ホスト10から要求されたデータがキャッシュメモリに記憶されていない場合(S12:NO)、記憶制御装置20は、ホスト10から要求されたデータをディスクドライブ310から読み出す(S13)。記憶制御装置20は、この読み出されたデータをキャッシュメモリに記憶させた後(S14)、ホスト10に送信する(S15)。   When the data requested from the host 10 is stored in the cache memory (S12: YES), the storage control device 20 reads the data from the cache memory and transmits it to the host 10 (S15). When the data requested from the host 10 is not stored in the cache memory (S12: NO), the storage controller 20 reads the data requested from the host 10 from the disk drive 310 (S13). The storage control device 20 stores the read data in the cache memory (S14), and then transmits it to the host 10 (S15).

ホスト10からライトコマンドを受信した場合、記憶制御装置20は、キャッシュメモリにライトデータを記憶させるための領域を確保し、この確保された領域にライトデータを記憶させる(S16)。記憶制御装置20は、ライトデータをキャッシュメモリに記憶させた後、ホスト10にライトコマンドの処理が完了した旨を通知する(S17)。   When a write command is received from the host 10, the storage controller 20 secures an area for storing write data in the cache memory, and stores the write data in this secured area (S16). After storing the write data in the cache memory, the storage controller 20 notifies the host 10 that the processing of the write command has been completed (S17).

記憶制御装置20は、ライトコマンドによるデータ更新に基づいて、ジャーナルデータを生成し(S18)、生成したジャーナルデータをジャーナルボリューム520に記憶させる(S19)。即ち、ホスト10がユーザデータボリューム510の記憶内容を更新するたびに、ジャーナルデータが生成されて保存される。   The storage controller 20 generates journal data based on the data update by the write command (S18), and stores the generated journal data in the journal volume 520 (S19). That is, every time the host 10 updates the stored contents of the user data volume 510, journal data is generated and saved.

記憶制御装置20は、適当なタイミングを見計らって、キャッシュメモリに記憶されたライトデータを、所定のディスクドライブ310に記憶させる(S20)。所定のディスクドライブ310とは、ライトコマンドで明示されたアドレスに対応する記憶領域を備えたディスクドライブである。   The storage controller 20 stores the write data stored in the cache memory in the predetermined disk drive 310 at an appropriate timing (S20). The predetermined disk drive 310 is a disk drive having a storage area corresponding to an address specified by a write command.

ライトデータをキャッシュメモリに記憶させた後、そのライトデータをディスクドライブ310に書き込むよりも前に、ホスト10にライトコマンドの処理完了を通知することにより、記憶制御装置20の応答性能を高めることができる。但し、これに限らず、ライトデータをディスクドライブ310に記憶させた後で、ホスト10にライトコマンドの処理が完了した旨を通知する構成でもよい。   After the write data is stored in the cache memory, before the write data is written to the disk drive 310, the response performance of the storage control device 20 can be improved by notifying the host 10 of the completion of the write command processing. it can. However, the present invention is not limited to this, and a configuration may be adopted in which after the write data is stored in the disk drive 310, the host 10 is notified of the completion of the write command processing.

ホスト10から受信したコマンドがライトコマンドまたはリードコマンドのいずれでも無い場合、記憶制御装置20は、そのコマンドに応じた処理を行う(S21)。その他のコマンドとしては、例えば、記憶制御装置20の状態を問い合わせるための照会コマンド等を挙げることができる。   If the command received from the host 10 is neither a write command nor a read command, the storage control device 20 performs processing according to the command (S21). Examples of other commands include an inquiry command for inquiring the state of the storage control device 20.

図12は、リカバリポイントを検索する処理を示すフローチャートである。記憶制御装置20は、ホスト10からリカバリポイント検索要求600が発行されたか否かを判定している(S31)。検索要求600が発行された場合(S31:YES)、記憶制御装置20は、検索要求600で明示されたリカバリ対象のファイル毎に一時リストア領域540を確保し、各ファイルに1つずつ一時リストア領域540を割り当てる(S32)。   FIG. 12 is a flowchart showing a process for searching for a recovery point. The storage controller 20 determines whether or not a recovery point search request 600 has been issued from the host 10 (S31). When a search request 600 is issued (S31: YES), the storage control device 20 secures a temporary restore area 540 for each recovery target file specified in the search request 600, and temporarily restores one for each file. 540 is assigned (S32).

次に、記憶制御装置20は、リカバリポイントリストを初期化する(S33)。リカバリポイントリストは、初出現時刻及び最終出現時刻を検出するための一時的な作業用ファイルである。リカバリポイントリストは、一時リストア領域540毎に、それぞれ1つずつ用意される。   Next, the storage controller 20 initializes the recovery point list (S33). The recovery point list is a temporary work file for detecting the first appearance time and the last appearance time. One recovery point list is prepared for each temporary restore area 540.

記憶制御装置20は、図6で述べたジャーナルレコード領域521の各ジャーナルレコードを先頭から終端に向けて、順番に以下の処理を繰り返す(S34,S39)。記憶制御装置20は、ジャーナルレコード領域521から読出した一つのジャーナルレコードについて、このジャーナルレコードに記録されているファイル名(パス名)と検索要求600で明示されたファイル名(パス名)とを比較する(S35)。   The storage controller 20 repeats the following processing in order from the beginning to the end of each journal record in the journal record area 521 described in FIG. 6 (S34, S39). The storage controller 20 compares the file name (path name) recorded in this journal record with the file name (path name) specified in the search request 600 for one journal record read from the journal record area 521. (S35).

両方のファイル名が一致する場合(S35:YES)、そのジャーナルレコードによって管理されているジャーナルデータをデータ領域522から読み出して、一時リストア領域540に記憶させる(S36)。   If both file names match (S35: YES), the journal data managed by the journal record is read from the data area 522 and stored in the temporary restore area 540 (S36).

記憶制御装置20は、一時リストア領域540にリストアされたファイルについて、検索要求600で明示された検索条件に合致するか否かを判定する(S37)。検索条件に合致する場合(S37:YES)、記憶制御装置20は、その一時的にリストアされたファイルの更新時刻(ジャーナルレコード中の記録日時)を、リカバリポイントリストに記憶させる(S38)。このリカバリポイントリストを更新させる処理については、図を改めて後述する。   The storage controller 20 determines whether or not the files restored in the temporary restore area 540 meet the search conditions specified in the search request 600 (S37). If the search condition is met (S37: YES), the storage control device 20 stores the update time (recording date and time in the journal record) of the temporarily restored file in the recovery point list (S38). The process for updating the recovery point list will be described later.

このように、記憶制御装置20は、リカバリ対象のファイルだけをリストアさせながら、検索条件に合致するか否かを検査していく。なお、リカバリ対象のファイルを全てリストアさせた後で、検索条件に一致するか否かを検査する構成としてもよい。   In this way, the storage control device 20 checks whether or not the search condition is met while restoring only the recovery target file. In addition, it is good also as a structure which test | inspects whether it matches search conditions after restoring all the files of recovery object.

記憶制御装置20は、リカバリ対象のファイルに関する全てのジャーナルレコードについて、リストア処理及び検索処理を終えた後、リカバリポイントリストの記録内容を候補リスト700として、ホスト10に送信する(S40)。   After completing the restore process and the search process for all journal records related to the recovery target file, the storage controller 20 transmits the recorded contents of the recovery point list to the host 10 as a candidate list 700 (S40).

図13は、図12中にS38で示されたリカバリポイントリスト更新処理を示すフローチャートである。記憶制御装置20は、検索条件に合致するファイルを発見した場合、このファイルの更新時刻(即ち、リカバリポイント)が、初めて出現したか否かを判定する(S381)。その更新時刻が初めて出現した更新時刻である場合(S381:YES)、記憶制御装置20は、その更新時刻を初出現時刻としてリカバリポイントリストに記録する(S382)。これに対し、その更新時刻が初めて出現した時刻ではない場合(S381:NO)、記憶制御装置20は、その更新時刻を最終出現時刻としてリカバリポイントリストに記録する(S383)。リカバリポイントリストの最終出現時刻は、新たな更新時刻が発見されるたびに更新されていく。   FIG. 13 is a flowchart showing the recovery point list update process shown in S38 in FIG. When the storage control device 20 finds a file that matches the search condition, the storage control device 20 determines whether or not the update time (that is, the recovery point) of this file appears for the first time (S381). When the update time is the first appearance time (S381: YES), the storage control device 20 records the update time as the first appearance time in the recovery point list (S382). On the other hand, if the update time is not the first appearance time (S381: NO), the storage control device 20 records the update time as the last appearance time in the recovery point list (S383). The last appearance time of the recovery point list is updated each time a new update time is discovered.

本実施例は上述のように構成されるので、以下の効果を奏する。本実施例では、ホスト10に、検索要求600を発行するためのリカバリポイント検索用インターフェース420を設ける。そして、記憶制御装置20には、ユーザデータボリューム510の更新履歴を管理するためのジャーナル作成処理部480と、検索要求600に基づいてユーザデータボリューム510に記憶されている全ファイルのうちリカバリ対象のファイルのみを、更新履歴毎に復元して、一時リストア領域540に記憶させる部分リストア処理部440と、一時リストア領域540にリストアされたファイルが検索条件に合致するか否かを判定し、検索条件に合致する期間をリカバリポイント候補リスト700としてホスト10に通知するデータ検索処理部450を、設ける。従って、本実施例では、リカバリさせるべきポイントが不明なユーザに対して、リカバリポイントの候補を提示することができ、適切なリカバリポイントの選択を支援して使い勝手を向上させることができる。   Since the present embodiment is configured as described above, the following effects can be obtained. In this embodiment, the host 10 is provided with a recovery point search interface 420 for issuing a search request 600. Then, the storage controller 20 includes a journal creation processing unit 480 for managing the update history of the user data volume 510, and a recovery target among all files stored in the user data volume 510 based on the search request 600. A partial restore processing unit 440 that restores only the files for each update history and stores them in the temporary restore area 540, determines whether the files restored in the temporary restore area 540 meet the search conditions, and A data search processing unit 450 is provided for notifying the host 10 of a period matching the above as the recovery point candidate list 700. Therefore, in this embodiment, a recovery point candidate can be presented to a user whose point to be recovered is unknown, and the usability can be improved by supporting selection of an appropriate recovery point.

本実施例では、リカバリポイント候補リスト700に基づいて、ユーザデータボリューム510のリカバリを要求できる構成とした。従って、ユーザは、比較的簡単な操作で、ユーザデータボリューム510の記憶内容を所望の時点に回復させることができ、使い勝手が向上する。   In this embodiment, the recovery of the user data volume 510 can be requested based on the recovery point candidate list 700. Accordingly, the user can restore the stored contents of the user data volume 510 to a desired point in time with a relatively simple operation, and the usability is improved.

本実施例では、初出現時刻710と最終出現時刻720とによって、リカバリ対象のファイルが検索条件に合致する期間を特定する構成とした。従って、リカバリ対象のファイルに対するデータ更新の頻度が多い場合でも、リカバリポイント候補リスト700のデータ量を少なくすることができる。   In the present embodiment, the first appearance time 710 and the last appearance time 720 are used to specify a period during which the recovery target file matches the search condition. Therefore, even when the frequency of data update for the recovery target file is high, the data amount of the recovery point candidate list 700 can be reduced.

図14,図15に基づいて、第2実施例を説明する。なお、以下に述べる各実施例は、第1実施例の変形例に該当する。本実施例では、ファイルを特定するための情報として、パス名に代えて、ファイルのハッシュ値を採用する。   A second embodiment will be described with reference to FIGS. Each embodiment described below corresponds to a modification of the first embodiment. In this embodiment, the hash value of a file is adopted as information for specifying a file instead of a path name.

図14は、ジャーナルレコードの構成を示す説明図である。本実施例では、ファイルのパス名に代えて、ファイル名(パスの最後に出現するファイルの名称そのもの)とハッシュ値の組合せを使用する。ファイルハッシュ値は、例えば、ファイルのパス名をハッシュ関数523に入力することにより得られる。異なるファイル同士が偶然同一のファイルハッシュ値を有する場合に備えて、単純なファイル名も参照できるようにしている。   FIG. 14 is an explanatory diagram showing the structure of a journal record. In this embodiment, instead of the path name of the file, a combination of a file name (the name of the file that appears at the end of the path itself) and a hash value is used. The file hash value is obtained, for example, by inputting a file path name to the hash function 523. A simple file name can also be referred to in case that different files accidentally have the same file hash value.

図15は、本実施例によるリカバリポイント検索処理を示すフローチャートである。このフローチャートは、図12で述べたフローチャートと共通のステップを備える。そこで、共通するステップの説明を省略し、本実施例に特徴的なステップを中心に説明すると、本実施例では、ジャーナルレコードに記録されたファイルハッシュ値と、リカバリ対象として指定されたファイルから得られるハッシュ値とを比較し、両者が一致するか否かを判定する(S35A)。   FIG. 15 is a flowchart showing the recovery point search process according to this embodiment. This flowchart includes steps common to the flowchart described in FIG. Therefore, omitting the description of the common steps and focusing on the steps characteristic of this embodiment, in this embodiment, the file hash value recorded in the journal record and the file specified as the recovery target are obtained. Are compared with each other to determine whether or not they match (S35A).

このように構成される本実施例は、上述した第1実施例と同様の作用効果を得ることができる。これに加えて、本実施例では、ファイルを特定するための情報として、ファイルハッシュ値を使用するため、トップディレクトリから目的のファイルまでのパス名(いわゆるフルパス)を使用する場合に比べると、データ量を低減することができる。これにより、ジャーナルレコードのデータサイズを小さくすることができ、より効率的にジャーナルデータを管理することができる。   This embodiment configured as described above can obtain the same effects as those of the first embodiment described above. In addition to this, in this embodiment, since a file hash value is used as information for specifying a file, data compared to the case where a path name (so-called full path) from the top directory to the target file is used. The amount can be reduced. Thereby, the data size of the journal record can be reduced, and the journal data can be managed more efficiently.

図16,図17に基づいて、第3実施例を説明する。本実施例では、ファイルコントローラ100とブロックコントローラ200とを、単一のコントローラ101に統合させている。   A third embodiment will be described with reference to FIGS. In this embodiment, the file controller 100 and the block controller 200 are integrated into a single controller 101.

図16は、本実施例によるストレージシステムのハードウェア構成を示す構成説明図である。本実施例の記憶制御装置20Aは、単一のコントローラ101を備える。このコントローラ101は、上述したファイルコントローラ100及びブロックコントローラ200の機能を実現するもので、例えば、「統合コントローラ」と呼ぶことができる。   FIG. 16 is an explanatory diagram of a hardware configuration of the storage system according to this embodiment. The storage control device 20A of this embodiment includes a single controller 101. The controller 101 realizes the functions of the file controller 100 and the block controller 200 described above, and can be called, for example, an “integrated controller”.

コントローラ101は、ファイルコントローラ100と同様に、MPU111と、メモリ121と、フロントエンドI/F131と、バックエンドI/F141と、メモリコントローラ151を備える。これら各部は、ファイルコントローラ100で述べた各部110〜150と略同様である。   Similar to the file controller 100, the controller 101 includes an MPU 111, a memory 121, a front end I / F 131, a back end I / F 141, and a memory controller 151. These units are substantially the same as the units 110 to 150 described in the file controller 100.

しかし、このコントローラ101は、ホスト10との間ではファイルレベルのデータ通信を行い、ディスクエンクロージャ300との間では、ブロックレベルのデータ通信を行うようになっている。このため、バックエンドI/F141は、論理ブロックアドレスと物理アドレスとの相互変換を行う機能を備えている。   However, the controller 101 performs file level data communication with the host 10 and performs block level data communication with the disk enclosure 300. For this reason, the back-end I / F 141 has a function of performing mutual conversion between a logical block address and a physical address.

図17は、本実施例によるストレージシステムの機能構成を示す説明図である。本実施例の記憶制御装置20Aは、単一のコントローラ101を備えるため、第1実施例で述べた各処理部430,440,450,470,480,490は、コントローラ101内に設けられている。   FIG. 17 is an explanatory diagram showing the functional configuration of the storage system according to this embodiment. Since the storage controller 20A of this embodiment includes a single controller 101, the processing units 430, 440, 450, 470, 480, and 490 described in the first embodiment are provided in the controller 101. .

また、本実施例では、単一のコントローラ101を用いるため、第1実施例のように、ファイルコントローラ100がブロックコントローラ200を介してジャーナルデータを取得するための機能460,461は、必要ない。   In this embodiment, since a single controller 101 is used, the functions 460 and 461 for the file controller 100 to acquire journal data via the block controller 200 as in the first embodiment are not necessary.

このように構成される本実施例でも、前記第1実施例と同様の作用効果を得る。これに加えて、本実施例では、単一のコントローラ101を用いるため、部品点数を少なくすることができ、また、記憶制御装置20Aを小型化することができる。   Also in this embodiment configured as described above, the same operational effects as those of the first embodiment can be obtained. In addition to this, since the single controller 101 is used in this embodiment, the number of parts can be reduced, and the storage controller 20A can be downsized.

図18,図19に基づいて、第4実施例を説明する。本実施例では、リカバリ対象のデータをブロックレベルで指定できるようにしている。   A fourth embodiment will be described with reference to FIGS. In this embodiment, recovery target data can be specified at the block level.

図18は、ジャーナルレコードの構成を示す説明図である。本実施例では、ジャーナルデータをブロック単位で管理すべく、LUN(Logical Unit Number)と、オフセットを示す論理ブロックアドレス(LBA)と、サイズとで、ジャーナルデータを特定する。即ち、LUNは、ユーザデータボリューム510を特定するための情報であり、LBAは、そのボリュームの先頭アドレスからのオフセット値を示す。   FIG. 18 is an explanatory diagram showing the structure of a journal record. In the present embodiment, in order to manage journal data in units of blocks, journal data is specified by LUN (Logical Unit Number), logical block address (LBA) indicating an offset, and size. That is, the LUN is information for specifying the user data volume 510, and the LBA indicates an offset value from the head address of the volume.

図19は、検索要求600の構成例を示す説明図である。本実施例では、リカバリ対象範囲610を、LUN611と、オフセットを示すLBA612と、データサイズ613とによって構成する。これにより、ユーザデータボリューム510のうち、特定のブロックだけをリストアして、検索条件に合致するか否かを検査することができる。   FIG. 19 is an explanatory diagram showing a configuration example of the search request 600. In this embodiment, the recovery target range 610 is configured by a LUN 611, an LBA 612 indicating an offset, and a data size 613. Thereby, it is possible to restore only a specific block in the user data volume 510 and check whether or not the search condition is met.

このように構成される本実施例でも、前記第1実施例と同様の作用効果を奏する。これに加えて、本実施例では、ブロックレベルでリカバリ対象の範囲を指定できる。なお、本実施例と第1実施例とを結合させることにより、ファイルレベルまたはブロックレベルのいずれかで、リカバリ対象範囲を指定できる構成が得られる。   This embodiment, which is configured in this way, also has the same operational effects as the first embodiment. In addition to this, in this embodiment, a recovery target range can be specified at the block level. By combining the present embodiment and the first embodiment, it is possible to obtain a configuration in which the recovery target range can be specified at either the file level or the block level.

図20,図21に基づいて、第5実施例を説明する。本実施例では、所定周期毎に、ユーザデータボリューム510のスナップショット550を作成し、このスナップショット550とジャーナルボリューム520とを利用して、ユーザがリカバリ対象期間を指定できるようにしている。   A fifth embodiment will be described with reference to FIGS. In this embodiment, a snapshot 550 of the user data volume 510 is created at predetermined intervals, and the user can specify a recovery target period by using the snapshot 550 and the journal volume 520.

ブロックコントローラ200は、スナップショット作成処理部481を備えている。このスナップショット作成処理部481は、スナップショットの作成を指示された時点におけるユーザデータボリューム510の記憶イメージを作成するものである。この記憶イメージは、スナップショット550として保管される。スナップショット550は、例えば、毎日、毎週のように予め設定された所定周期毎に作成できる。ユーザの指定した任意の時刻に、スナップショット550を作成することもできる。   The block controller 200 includes a snapshot creation processing unit 481. The snapshot creation processing unit 481 creates a storage image of the user data volume 510 at the time when creation of a snapshot is instructed. This stored image is stored as a snapshot 550. The snapshot 550 can be created at predetermined intervals set in advance, for example, every day or every week. The snapshot 550 can be created at any time designated by the user.

図21は、本実施例によるリカバリポイント検索処理を示すフローチャートである。前記実施例と同様に、本実施例に特徴的な部分を中心に説明する。検索要求600には、リカバリ対象期間620に有効な値が設定されているものとする。   FIG. 21 is a flowchart showing the recovery point search process according to this embodiment. Similar to the previous embodiment, the description will focus on the features that are characteristic of this embodiment. It is assumed that a valid value is set in the recovery target period 620 in the search request 600.

記憶制御装置は、リカバリポイントリストを初期化した後(S33)、ユーザから指定されたリカバリ対象期間に対応するスナップショット550を特定し、リカバリ対象期間内のジャーナルレコード群を検出する(S50)。以下は、第1実施例と同様に処理を進める。   After initializing the recovery point list (S33), the storage controller identifies the snapshot 550 corresponding to the recovery target period designated by the user, and detects a journal record group within the recovery target period (S50). In the following, the process proceeds in the same manner as in the first embodiment.

このように構成される本実施例も前記第1実施例と同様の作用効果を得る。これに加えて、本実施例では、定期的または不定期に作成されるスナップショット550とジャーナルボリューム520とを結合させて、リカバリ対象のファイルをリストアさせる期間を特定することができる。これにより、部分リストア処理部440やデータ検索処理部450は、より少ないジャーナルレコードのみを対象とすればよく、リカバリポイント候補をより早く検出することができる。   This embodiment, which is configured in this way, also obtains the same operational effects as the first embodiment. In addition to this, in this embodiment, it is possible to specify a period during which a recovery target file is restored by combining the snapshot 550 and the journal volume 520 that are created regularly or irregularly. Thus, the partial restore processing unit 440 and the data search processing unit 450 need only target fewer journal records, and can detect recovery point candidates earlier.

図22に基づいて、第6実施例を説明する。本実施例では、一時リストア領域540に記憶されたリカバリ対象のファイルを、ホスト10が利用できるようにしている。図22は、リカバリポイント検索処理を示すフローチャートである。   A sixth embodiment will be described with reference to FIG. In this embodiment, the recovery target file stored in the temporary restore area 540 can be used by the host 10. FIG. 22 is a flowchart showing the recovery point search process.

記憶制御装置20は、リカバリポイントリストをホスト10に送信した後(S40)、一時リストア領域540内のデータ(ファイルデータまたはブロックデータ)を、ホスト10に送信する(S60)。従って、ユーザは、ユーザデータボリューム510の全体を希望のリカバリポイントまで回復させるよりも前に、リカバリ対象のデータを参照することができる。   After transmitting the recovery point list to the host 10 (S40), the storage controller 20 transmits the data (file data or block data) in the temporary restore area 540 to the host 10 (S60). Therefore, the user can refer to the recovery target data before recovering the entire user data volume 510 to a desired recovery point.

このように構成される本実施例も前記第1実施例と同様の作用効果を奏する。これに加えて、本実施例では、ユーザデータボリューム510の全体をリストアさせることなく、一時リストア領域540内のデータを確認することができる。従って、例えば、ユーザが、リカバリ対象のデータの単なる参照だけを希望しているような場合、ユーザは、ユーザデータボリューム510の全体のリストアが完了するのを待つことなく、目的のデータを利用することができ、使い勝手が向上する。なお、記憶制御装置20からホスト10に一時リストア領域540内のデータを送信する構成に代えて、ホスト10から一時リストア領域540内のデータへアクセスできるようにした構成でもよい。例えば、メモリ上に仮想ボリュームとして構成された一時リストア領域540を、ホスト10に一時的にマウントし、参照専用で利用させる構成でもよい。   Configuring this embodiment like this also achieves the same effects as the first embodiment. In addition, in this embodiment, the data in the temporary restore area 540 can be confirmed without restoring the entire user data volume 510. Therefore, for example, when the user only wants to refer to the recovery target data, the user uses the target data without waiting for the entire restoration of the user data volume 510 to be completed. It is possible to improve usability. Instead of the configuration in which the data in the temporary restore area 540 is transmitted from the storage control device 20 to the host 10, the configuration in which the data in the temporary restore area 540 can be accessed from the host 10 may be used. For example, the temporary restore area 540 configured as a virtual volume on the memory may be temporarily mounted on the host 10 and used exclusively for reference.

図23に基づいて、第7実施例を説明する。本実施例を含む以下の実施例では、第1実施例の具体的な応用例を示している。本実施例では、ユーザのファイルがコンピュータウイルス(以下「ウイルス」)に感染した場合に、そのファイルを感染前の状態に回復させる場合を示す。   A seventh embodiment will be described with reference to FIG. In the following embodiments including this embodiment, a specific application example of the first embodiment is shown. In this embodiment, when a user's file is infected with a computer virus (hereinafter “virus”), the file is restored to the state before the infection.

図23は、ストレージシステムの全体動作の要部を示すフローチャートである。ホスト10に実装されたセキュリティ管理プログラムは、ホスト10が使用するファイル群について、ウイルスに感染しているか否かを検査する(S100)。この検査手法は公知であり、かつ、本発明の主題ではないため、その詳細な説明を省略する。   FIG. 23 is a flowchart showing the main part of the overall operation of the storage system. The security management program installed in the host 10 checks whether or not a file group used by the host 10 is infected with a virus (S100). Since this inspection method is known and is not the subject of the present invention, its detailed description is omitted.

ファイルがウイルスに感染している場合、セキュリティ管理プログラムは、ホスト10に、ウイルスに感染しているファイル名を特定して警告を発する(S101)。ホスト10は、この警告を受領すると、ウイルスに感染しているファイルの存在を認識する(S102)。   If the file is infected with a virus, the security management program issues a warning to the host 10 specifying the name of the file infected with the virus (S101). Upon receiving this warning, the host 10 recognizes the presence of a file infected with a virus (S102).

ホスト10に設けられた検索用インターフェース420では、リカバリ対象範囲に、感染したファイルのパス名がユーザによって指定され(S103)、また、検索条件に、ウイルスに感染したファイルのデータが指定される(S104)。   In the search interface 420 provided in the host 10, the path name of the infected file is specified by the user in the recovery target range (S103), and the data of the file infected by the virus is specified in the search condition (S103). S104).

ホスト10は、感染したファイルのパス名と感染したデータとを明示する検索要求600を発行する(S105)。記憶制御装置20は、第1実施例で述べたように、リカバリ対象として指定された範囲についてのみリストアを行い(S106)、リストアされたファイルに対して、検索条件に一致するか否かを判定する(S107)。ここでは、検索条件としてウイルスに感染したファイルデータそのものが設定されているため、検索条件に一致するファイルとは、ウイルスに感染しているファイルであることを意味する。   The host 10 issues a search request 600 that clearly indicates the path name of the infected file and the infected data (S105). As described in the first embodiment, the storage controller 20 restores only the range designated as the recovery target (S106), and determines whether or not the restored file matches the search condition. (S107). Here, since file data itself infected with a virus is set as a search condition, a file that matches the search condition means a file infected with a virus.

記憶制御装置20は、リカバリポイントリストを作成し(S108)、リカバリポイント候補リスト700をホスト10に送信する(S109)。ホスト10は、この候補リスト700に基づいて、リカバリポイント候補を表示させる(S110)。なお、リカバリポイント候補リスト700とリカバリポイントリストとを区別せずに、両方ともリカバリポイントリストを呼ぶこともできる。   The storage controller 20 creates a recovery point list (S108), and transmits the recovery point candidate list 700 to the host 10 (S109). The host 10 displays recovery point candidates based on the candidate list 700 (S110). Note that the recovery point list can be called both without distinguishing between the recovery point candidate list 700 and the recovery point list.

ホスト10では、ユーザによって、初出現時刻よりも前の時刻がリカバリポイントとして選択される(S111)。初出現時刻よりも前の時刻であれば、目的のファイルはウイルスに感染していないためである。そこで、ホスト10は、初出現時刻よりも前のリカバリポイントを指定して、ユーザデータボリューム510のリストア(リカバリ)を要求する(S112)。   In the host 10, the user selects a time before the first appearance time as a recovery point (S111). If the time is earlier than the first appearance time, the target file is not infected with a virus. Therefore, the host 10 designates a recovery point before the first appearance time, and requests restoration (recovery) of the user data volume 510 (S112).

記憶制御装置20は、指定されたリカバリポイントまでユーザデータボリューム510の記憶内容を復元し(S113)、リストア用ボリューム530とホスト10との間にパスを設定する(S114)。そして、記憶制御装置20は、リカバリが完了した旨をユーザに通知する(S115)。これにより、ユーザは、ウイルス感染前の状態のファイルを利用することができる(S116)。   The storage controller 20 restores the stored contents of the user data volume 510 up to the designated recovery point (S113), and sets a path between the restore volume 530 and the host 10 (S114). Then, the storage control device 20 notifies the user that the recovery is completed (S115). Thereby, the user can use the file in the state before the virus infection (S116).

図24に基づいて、第8実施例を説明する。図24は、ユーザの誤操作等によって消失したファイルを復元させる場合の全体動作を示すフローチャートである。ユーザは、ファイルツリーから目的のファイルが消失していることに気づく。ユーザは、目的のファイルが存在したはずのディレクトリ名だけは、見当がついているものとする。   The eighth embodiment will be described with reference to FIG. FIG. 24 is a flowchart showing the overall operation when restoring a file that has been lost due to a user's erroneous operation or the like. The user notices that the target file is missing from the file tree. It is assumed that the user has an idea of only the directory name where the target file should exist.

ユーザは、目的のファイルを利用するために、ファイル管理プログラムに対して、その目的のファイルが存在するはずの所定のディレクトリについてリスティングを要求する(S120)。ファイル管理プログラムは、指定された所定のディレクトリ内のエントリを、ホスト10のユーザインターフェース14に表示させる(S121)。   In order to use the target file, the user requests the file management program to list a predetermined directory where the target file should exist (S120). The file management program causes the entry in the specified directory to be displayed on the user interface 14 of the host 10 (S121).

ホスト(ユーザ)10は、所定のディレクトリ内に目的とするファイルが見あたらないことを認識する(S122)。そこで、ホスト10は、リカバリ対象範囲に所定のディレクトリのパス名を、検索条件に消失したファイルのファイル名をそれぞれ設定して(S123,S124)、検索要求600を発行する(S125)。   The host (user) 10 recognizes that the target file is not found in the predetermined directory (S122). Therefore, the host 10 sets the path name of a predetermined directory in the recovery target range and the file name of the lost file as a search condition (S123, S124), and issues a search request 600 (S125).

ここで、検索条件に設定されるファイル名は、消失したファイルのパス名ではなく、単純なファイル名である。また、単純なファイル名の全体を完全に指定できるのが好ましいが、単純なファイル名の一部だけを指定してもよい。   Here, the file name set in the search condition is not a path name of the lost file but a simple file name. Further, it is preferable that the entire simple file name can be specified completely, but only a part of the simple file name may be specified.

記憶制御装置20は、指定された所定のディレクトリ内に含まれるファイル群だけをリストアし(S126)、検索条件に一致するか否かを検査する(S127)。そして、記憶制御装置20は、リカバリポイントリストを作成し(S128)、リカバリポイント候補リスト700をホスト10に送信する(S129)。   The storage control device 20 restores only the file group included in the specified directory (S126), and checks whether the search condition is met (S127). Then, the storage controller 20 creates a recovery point list (S128), and transmits the recovery point candidate list 700 to the host 10 (S129).

ホスト10は、リカバリポイント候補(リカバリポイントリスト)をユーザインターフェース14に表示させる(S130)。ユーザは、表示されたリカバリポイントのうち、最終出現時刻を選択して(S131)、ユーザデータボリューム510のリストアを要求する(S132)。ユーザの所望するファイルが最後に存在したのは、最終出現時刻であり、その直後にそのファイルが失われているためである。   The host 10 displays the recovery point candidates (recovery point list) on the user interface 14 (S130). The user selects the last appearance time among the displayed recovery points (S131), and requests the restoration of the user data volume 510 (S132). The file that the user desires last exists because it is the last appearance time and is lost immediately after that.

記憶制御装置20は、ユーザデータボリューム510の記憶内容を、指定されたリカバリポイントまで復元し(S133)、リストア用ボリューム530とホスト10との間のパスを設定する(S134)。記憶制御装置20は、ホスト10に、リストアが完了した旨を通知する(S135)。これにより、ユーザは、消失前のファイルを利用することができる(S136)。   The storage controller 20 restores the storage contents of the user data volume 510 to the designated recovery point (S133), and sets a path between the restore volume 530 and the host 10 (S134). The storage controller 20 notifies the host 10 that the restoration has been completed (S135). Thereby, the user can use the file before disappearance (S136).

図25に基づいて、第9実施例を説明する。図25は、ホスト10への不正なアクセスを検出する場合の全体動作を示すフローチャートである。ホスト10は、一つまたは複数のセキュリティ関連ファイルを利用している。セキュリティ関連ファイルとしては、例えば、ユーザ認証情報(ユーザIDやパスワード)を記録した認証情報ファイル、ファイルへのアクセス権限を管理するためのアクセス制御リスト等を挙げることができる。これらのセキュリティ関連ファイルは、通常の場合、更新されることはなく、管理者権限を有するユーザが、必要に応じて時々参照等するだけである。   A ninth embodiment will be described with reference to FIG. FIG. 25 is a flowchart showing the overall operation when detecting unauthorized access to the host 10. The host 10 uses one or a plurality of security related files. Examples of the security-related file include an authentication information file in which user authentication information (user ID and password) is recorded, an access control list for managing access authority to the file, and the like. These security-related files are not updated in a normal case, and are only referred to as needed by a user having administrator authority.

ホスト10に対する不正アクセスを監査する場合、ユーザは、リカバリ対象範囲にセキュリティ関連ファイルのファイル名(パス名)を設定し(S140)、検索条件にファイル更新時刻を設定する(S141)。ファイル更新時刻を指定するのは、セキュリティ関連ファイルが更新されたか否かを発見するためである。もしも、ホスト10に不正にアクセスした者がいた場合、その者は、不正アクセスの痕跡を隠すために、セキュリティ関連ファイルの一部を書き換えるためである。   When auditing unauthorized access to the host 10, the user sets the file name (path name) of the security-related file in the recovery target range (S140), and sets the file update time in the search condition (S141). The reason for designating the file update time is to discover whether or not the security related file has been updated. If there is a person who illegally accesses the host 10, the person rewrites a part of the security-related file in order to hide the trace of unauthorized access.

ホスト10が検索要求600を発行すると、記憶制御装置20は、指定されたセキュリティ関連ファイルのみをリストアし(S143)、セキュリティ関連ファイルが更新されたか否かを検査する(S144)。そして、記憶制御装置20は、リカバリポイントリストを作成し(S145)、リカバリポイント候補リスト700をホスト10に送信する(S146)。   When the host 10 issues a search request 600, the storage controller 20 restores only the designated security-related file (S143), and checks whether the security-related file has been updated (S144). Then, the storage controller 20 creates a recovery point list (S145), and transmits the recovery point candidate list 700 to the host 10 (S146).

ホスト10は、検出されたリカバリポイントをユーザインターフェース14に表示させる(S147)。ホスト(ユーザ)10は、セキュリティ関連ファイルの更新時刻が不自然な時間帯に更新されているか否かを判断する(S148)。例えば、システム管理者が不在の時間帯にセキュリティ関連ファイルが更新されているような場合(S148:YES)、ホスト10が不正にアクセスされた可能性がある。そこで、ホスト10は、別のプログラムを用いて、より詳細なセキュリティ監査を行う(S149)。   The host 10 displays the detected recovery point on the user interface 14 (S147). The host (user) 10 determines whether or not the update time of the security-related file is updated in an unnatural time zone (S148). For example, when the security-related file is updated in a time zone when the system administrator is absent (S148: YES), there is a possibility that the host 10 has been illegally accessed. Therefore, the host 10 performs a more detailed security audit using another program (S149).

なお、本発明は、上述した各実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。   In addition, this invention is not limited to each Example mentioned above. A person skilled in the art can make various additions and changes within the scope of the present invention.

本発明の実施形態の概要を示す説明図である。It is explanatory drawing which shows the outline | summary of embodiment of this invention. ストレージシステムのハードウェア構成を示す説明図である。It is explanatory drawing which shows the hardware constitutions of a storage system. ファイルコントローラの配置方法の変形例を示す説明図である。It is explanatory drawing which shows the modification of the arrangement | positioning method of a file controller. ファイルコントローラの別の配置方法の変形例を示す説明図である。It is explanatory drawing which shows the modification of another arrangement | positioning method of a file controller. ストレージシステムの機能構成を示す説明図である。It is explanatory drawing which shows the function structure of a storage system. ジャーナルボリューム及びジャーナルレコードの構成を示す説明図である。It is explanatory drawing which shows the structure of a journal volume and a journal record. 指定されたファイルのみをリストアする様子を模式的に示す説明図である。It is explanatory drawing which shows typically a mode that only the designated file is restored. リカバリポイント検索要求の構成を示す説明図である。It is explanatory drawing which shows the structure of a recovery point search request. リカバリポイント候補リストの構成を示す説明図である。It is explanatory drawing which shows the structure of a recovery point candidate list. リカバリポイント検索要求の発行画面(a)及びリカバリポイント候補リストの表示画面(b)を示す説明図である。It is explanatory drawing which shows the issuance screen (a) of a recovery point search request, and the display screen (b) of a recovery point candidate list. コマンド処理を示すフローチャートである。It is a flowchart which shows command processing. リカバリポイント検索処理を示すフローチャートである。It is a flowchart which shows a recovery point search process. 図12中のリカバリポイントリスト更新処理を示すフローチャートである。It is a flowchart which shows the recovery point list update process in FIG. 第2実施例に係る記憶制御装置により使用されるジャーナルレコードの構成を示す説明図である。It is explanatory drawing which shows the structure of the journal record used by the storage control apparatus which concerns on 2nd Example. リカバリポイント検索処理を示すフローチャートである。It is a flowchart which shows a recovery point search process. 第3実施例に係るストレージシステムのハードウェア構成を示す説明図である。It is explanatory drawing which shows the hardware constitutions of the storage system which concerns on 3rd Example. ストレージシステムの機能構成を示す説明図である。It is explanatory drawing which shows the function structure of a storage system. 第4実施例に係る記憶制御装置により使用されるジャーナルレコードの構成を示す説明図である。It is explanatory drawing which shows the structure of the journal record used by the storage control apparatus based on 4th Example. リカバリポイント検索要求の構成を示す説明図である。It is explanatory drawing which shows the structure of a recovery point search request. 第5実施例に係るストレージシステムの機能構成を示す説明図である。It is explanatory drawing which shows the function structure of the storage system which concerns on 5th Example. リカバリポイント検索処理を示すフローチャートである。It is a flowchart which shows a recovery point search process. 第6実施例に係る記憶制御装置により実行されるリカバリポイント検索処理を示すフローチャートである。It is a flowchart which shows the recovery point search process performed by the storage control apparatus which concerns on 6th Example. 本実施形態の応用例を示すフローチャートである。It is a flowchart which shows the application example of this embodiment. 本実施形態の別の応用例を示すフローチャートである。It is a flowchart which shows another application example of this embodiment. 本実施形態のさらに別の応用例を示すフローチャートである。It is a flowchart which shows another example of application of this embodiment.

符号の説明Explanation of symbols

1…ホスト、1A…アプリケーションプログラム、1B…リカバリポイント検索要求発行部、1C…リカバリ指示部、2…記憶制御装置、2A…リード/ライト処理部、2B…ジャーナル作成処理部、2C…部分リストア処理部、2D…検索処理部、2E…リストア処理部、V1…ユーザデータボリューム、V2…ジャーナルボリューム、V3…一時リストア領域、V4…リストア用ボリューム、10…ホスト、11…CPU、12…メモリ、13…通信インターフェース、14…ユーザインターフェース、20,20A…記憶制御装置、30…スイッチ、100…ファイルコントローラ、101…コントローラ、110,111,210…MPU、120,121,220…メモリ、130,131,230…フロントエンドインターフェース、140,141,240…バックエンドインターフェース、150,151,250…メモリコントローラ、200…ブロックコントローラ、300…ディスクエンクロージャ、310…ディスクドライブ、410…アプリケーションプログラム、420…リカバリポイント検索用インターフェース、430…ファイルリード/ライト処理部、440…部分リストア処理部、450…データ検索処理部、460…ジャーナルリード機能、461…ジャーナルアクセス機能、470…ブロックリード/ライト処理部、480…ジャーナル作成処理部、481…スナップショット作成処理部、490…リストア処理部、510…ユーザデータボリューム、520…ジャーナルボリューム、521…ジャーナルレコード領域、522…データ領域、523…ハッシュ関数、530…リストア用ボリューム、540…一時リストア領域、550…スナップショット、600…リカバリポイント検索要求、700…リカバリポイント候補リスト
DESCRIPTION OF SYMBOLS 1 ... Host, 1A ... Application program, 1B ... Recovery point search request issuing part, 1C ... Recovery instruction part, 2 ... Storage control apparatus, 2A ... Read / write processing part, 2B ... Journal creation processing part, 2C ... Partial restoration process , 2D ... search processing unit, 2E ... restore processing unit, V1 ... user data volume, V2 ... journal volume, V3 ... temporary restore area, V4 ... restore volume, 10 ... host, 11 ... CPU, 12 ... memory, 13 ... Communication interface, 14 ... User interface, 20, 20A ... Storage controller, 30 ... Switch, 100 ... File controller, 101 ... Controller, 110, 111,210 ... MPU, 120, 121,220 ... Memory, 130,131, 230 ... Front-end interface, 1 0, 141, 240 ... back-end interface, 150, 151, 250 ... memory controller, 200 ... block controller, 300 ... disk enclosure, 310 ... disk drive, 410 ... application program, 420 ... recovery point search interface, 430 ... file Read / write processing unit, 440 ... partial restore processing unit, 450 ... data search processing unit, 460 ... journal read function, 461 ... journal access function, 470 ... block read / write processing unit, 480 ... journal creation processing unit, 481 ... Snapshot creation processing unit, 490 ... restore processing unit, 510 ... user data volume, 520 ... journal volume, 521 ... journal record area, 522 ... data area, 5 3 ... hash function 530 ... volume for restoring, 540 ... temporary restoring area 550 ... snapshot, 600 ... recovery point retrieval request, 700 ... recovery point candidate list

Claims (6)

ホストコンピュータと、このホストコンピュータにデータボリュームを提供する記憶制御装置とを備えたストレージシステムであって、
前記ホストコンピュータは、
少なくとも復元対象のファイルを特定するパス名及び検索条件として所定のキーワードを指定する検索要求を発行する検索要求発行部を備えており、
前記記憶制御装置は、
前記データボリュームの更新履歴を管理するための更新履歴管理部と、
前記検索要求を受領した場合には、前記データボリュームに記憶されているデータのうち前記復元対象のファイルのデータを、前記更新履歴毎に復元して、一時的復元領域に記憶させる第1復元部と、
前記一時的復元領域内に復元された前記データが前記検索条件に合致するか否かを判定し、復元された前記データが前記検索条件に連続して合致する期間を検出して前記ホストコンピュータに通知する検索部であって、前記一時的復元領域内に復元された前記データが前記検索条件に初めて合致する始期及び前記検索条件に最後に合致する終期を、前記期間として前記ホストコンピュータに通知する検索部と、
を備え
前記ホストコンピュータは、前記検索部から通知された前記期間に含まれる所定時点を指定して、前記データボリュームの記憶内容を前記所定時点の状態に復元させるための復元要求を発行する復元要求発行部をさらに備え、
前記記憶制御装置は、前記復元要求を受領した場合に、前記更新履歴を使用することにより、前記データボリュームの記憶内容を前記所定時点の状態に復元させる第2復元部をさらに備えている、
ストレージシステム。
A storage system comprising a host computer and a storage control device for providing a data volume to the host computer,
The host computer
A search request issuing unit for issuing a search request specifying at least a path name for specifying a file to be restored and a predetermined keyword as a search condition;
The storage control device
An update history management unit for managing an update history of the data volume;
A first restoration unit that, when receiving the search request, restores the data of the restoration target file among the data stored in the data volume for each update history and stores it in the temporary restoration area. When,
It is determined whether or not the data restored in the temporary restoration area matches the search condition, and a period in which the restored data continuously matches the search condition is detected in the host computer. A search unit that notifies the host computer of a start time when the data restored in the temporary restoration area first matches the search condition and an end time that last matches the search condition as the period; A search section ;
Equipped with a,
The host computer designates a predetermined time point included in the period notified from the search unit, and issues a restoration request to restore the storage contents of the data volume to the state at the predetermined time point Further comprising
The storage control device further includes a second restoration unit that restores the storage content of the data volume to the state at the predetermined time by using the update history when the restoration request is received.
Storage system.
前記更新履歴管理部は、前記データボリュームの記憶内容を、指定された複数の世代毎にそれぞれ管理しており、
前記第1復元部は、前記検索要求に復元対象期間が含まれている場合には、前記データボリュームのうち前記復元対象期間内における前記復元対象のファイルのデータを、前記更新履歴毎に復元して、前記一時的復元領域に記憶させる、請求項1に記載のストレージシステム。
The update history management unit manages the storage contents of the data volume for each of a plurality of designated generations,
When the search request includes a restoration target period, the first restoration unit restores the data of the restoration target file within the restoration target period of the data volume for each update history. The storage system according to claim 1, wherein the storage system is stored in the temporary restoration area.
前記ホストコンピュータは、前記一時的復元領域内に復元された前記データにアクセス可能である請求項1に記載のストレージシステム。   The storage system according to claim 1, wherein the host computer can access the data restored in the temporary restoration area. 前記記憶制御装置は、前記一時的復元領域内に復元された前記データを前記ホストコンピュータに送信可能である請求項1に記載のストレージシステム。   The storage system according to claim 1, wherein the storage control device can transmit the data restored in the temporary restoration area to the host computer. 前記検索部は、前記一時的復元領域内に復元された前記データが前記検索条件に連続して合致する期間を複数検出した場合、これら複数の期間を全て前記ホストコンピュータに通知する請求項1に記載のストレージシステム。   The search unit, when detecting a plurality of periods in which the data restored in the temporary restoration area continuously matches the search condition, notifies all of the plurality of periods to the host computer. The described storage system. 前記第1復元部は、前記検索要求内に前記復元対象のファイルを特定するパス名が複数指定されている場合には、これら複数の復元対象ファイル毎にそれぞれ前記一時的復元領域を用意し、前記複数の復元対象ファイルのデータをそれぞれ復元させる請求項1に記載のストレージシステム。 In the case where a plurality of path names specifying the restoration target file are specified in the search request, the first restoration unit prepares the temporary restoration area for each of the plurality of restoration target files , The storage system according to claim 1, wherein the data of the plurality of restoration target files is restored.
JP2006015880A 2006-01-25 2006-01-25 Storage system, storage controller, and recovery point detection method for storage controller Active JP4877921B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006015880A JP4877921B2 (en) 2006-01-25 2006-01-25 Storage system, storage controller, and recovery point detection method for storage controller
US11/369,943 US7617255B2 (en) 2006-01-25 2006-03-08 Storage system, storage control device and recovery point detection method for storage control device
EP06253549A EP1814034A3 (en) 2006-01-25 2006-07-06 Storage system, storage control device and recovery point detection method for storage control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006015880A JP4877921B2 (en) 2006-01-25 2006-01-25 Storage system, storage controller, and recovery point detection method for storage controller

Publications (2)

Publication Number Publication Date
JP2007199889A JP2007199889A (en) 2007-08-09
JP4877921B2 true JP4877921B2 (en) 2012-02-15

Family

ID=38043064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006015880A Active JP4877921B2 (en) 2006-01-25 2006-01-25 Storage system, storage controller, and recovery point detection method for storage controller

Country Status (3)

Country Link
US (1) US7617255B2 (en)
EP (1) EP1814034A3 (en)
JP (1) JP4877921B2 (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765400B2 (en) * 2004-11-08 2010-07-27 Microsoft Corporation Aggregation of the knowledge base of antivirus software
KR100679413B1 (en) * 2006-05-17 2007-02-07 삼성전자주식회사 Selective recovery method and apparatus of data in mobile communication terminal
US20100179944A1 (en) * 2006-05-31 2010-07-15 Pankaj Anand Local Data Retrieval And Restoration Method And System Thereof
US8375005B1 (en) * 2007-03-31 2013-02-12 Emc Corporation Rapid restore
US7853571B2 (en) * 2007-09-28 2010-12-14 Symantec Corporation Techniques for file system recovery
JP5046863B2 (en) 2007-11-01 2012-10-10 株式会社日立製作所 Information processing system and data management method
JP5699732B2 (en) * 2011-03-25 2015-04-15 富士ゼロックス株式会社 Information processing apparatus and program
CN102984418A (en) * 2011-09-06 2013-03-20 株式会社东芝 Image forming apparatus and data management method
US8776236B2 (en) * 2012-04-11 2014-07-08 Northrop Grumman Systems Corporation System and method for providing storage device-based advanced persistent threat (APT) protection
JP2013061994A (en) * 2013-01-07 2013-04-04 Fujitsu Ltd Virus detection program, virus detection method, monitoring program, monitoring method, and computer
KR101674176B1 (en) * 2014-07-24 2016-11-08 성균관대학교산학협력단 Method and apparatus for fsync system call processing using ordered mode journaling with file unit
US20160026941A1 (en) * 2014-07-26 2016-01-28 International Business Machines Corporation Updating and synchronizing existing case instances in response to solution design changes
KR101744685B1 (en) * 2015-12-31 2017-06-09 한양대학교 산학협력단 Protection method and apparatus for metadata of file
CN106534328B (en) * 2016-11-28 2020-01-31 网宿科技股份有限公司 Node connection method and distributed computing system
US10621047B2 (en) * 2017-04-06 2020-04-14 International Business Machines Corporation Volume group structure recovery in a virtualized server recovery environment
CN111324483B (en) * 2018-12-13 2023-04-18 腾讯科技(深圳)有限公司 Data recovery method and device and related equipment

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07175700A (en) * 1993-12-20 1995-07-14 Fujitsu Ltd Database management system
JPH08314973A (en) * 1995-05-17 1996-11-29 Fuji Xerox Co Ltd Operation device for information unit group
JPH11134234A (en) * 1997-08-26 1999-05-21 Reliatec Ltd Backup list method, its controller and recording medium which records backup restoration program and which computer can read
JP4363676B2 (en) * 1997-10-31 2009-11-11 株式会社東芝 Computer system
US5991772A (en) * 1997-10-31 1999-11-23 Oracle Corporation Method and apparatus for restoring a portion of a database
US6920537B2 (en) * 1998-12-31 2005-07-19 Emc Corporation Apparatus and methods for copying, backing up and restoring logical objects in a computer storage system by transferring blocks out of order or in parallel
WO2001061930A1 (en) * 2000-02-21 2001-08-23 Kabushiki Kaisha Toshiba Monitor control device and communication path setting method
US7114184B2 (en) * 2001-03-30 2006-09-26 Computer Associates Think, Inc. System and method for restoring computer systems damaged by a malicious computer program
JP2003006225A (en) * 2001-06-27 2003-01-10 Nec Corp Information providing method, information providing device, and terminal therefor
JP2003058534A (en) * 2001-08-09 2003-02-28 Casio Comput Co Ltd Data processor and program
JP2003162438A (en) * 2001-11-27 2003-06-06 Ricoh Co Ltd Database management system
JP4154893B2 (en) * 2002-01-23 2008-09-24 株式会社日立製作所 Network storage virtualization method
EP1369773A2 (en) * 2002-05-27 2003-12-10 Hitachi, Ltd. A storage system and storage subsystem
JP3896077B2 (en) * 2002-09-11 2007-03-22 株式会社東芝 Computer system and file management method
JP4199993B2 (en) * 2002-11-27 2008-12-24 株式会社日立製作所 How to get a snapshot
JP3974538B2 (en) * 2003-02-20 2007-09-12 株式会社日立製作所 Information processing system
JP4165747B2 (en) 2003-03-20 2008-10-15 株式会社日立製作所 Storage system, control device, and control device program
JP2004348193A (en) * 2003-05-20 2004-12-09 Hitachi Ltd Information processing system and its backup method
US20040254964A1 (en) * 2003-06-12 2004-12-16 Shoji Kodama Data replication with rollback
US7412460B2 (en) * 2003-06-19 2008-08-12 International Business Machines Corporation DBMS backup without suspending updates and corresponding recovery using separately stored log and data files
US7111136B2 (en) * 2003-06-26 2006-09-19 Hitachi, Ltd. Method and apparatus for backup and recovery system using storage based journaling
US20050086192A1 (en) * 2003-10-16 2005-04-21 Hitach, Ltd. Method and apparatus for improving the integration between a search engine and one or more file servers
JP2005309727A (en) * 2004-04-21 2005-11-04 Hitachi Ltd File system
JP4476683B2 (en) * 2004-04-28 2010-06-09 株式会社日立製作所 Data processing system

Also Published As

Publication number Publication date
JP2007199889A (en) 2007-08-09
US20070174354A1 (en) 2007-07-26
US7617255B2 (en) 2009-11-10
EP1814034A3 (en) 2009-08-12
EP1814034A2 (en) 2007-08-01

Similar Documents

Publication Publication Date Title
JP4877921B2 (en) Storage system, storage controller, and recovery point detection method for storage controller
US7730071B2 (en) Data management system and data management method
US7647360B2 (en) System and method for managing a consistency among volumes in a continuous data protection environment
US8135677B2 (en) File management system and method
JP4799936B2 (en) Conditional snapshot acquisition method and system
JP5454715B2 (en) Virtual machine operation system, virtual machine operation method and program
US7870104B2 (en) Storage system and storage device archive control method
JP4411929B2 (en) Backup method, system, and program
JP2008033912A (en) Method and device of continuous data protection for nas
JP2007183763A (en) System, server device, and format conversion method for snapshot
US20080183773A1 (en) Summarizing file system operations with a file system journal
JP2008077264A (en) Recovery method using cdp
JP2006338461A (en) System and method for controlling electronic file storage
JP2009070143A (en) Method for restoring data in differential remote backup of nas device, and computer system
JP2006293834A (en) Storage system, storage device, and log recording method
US7409514B2 (en) Method and apparatus for data migration based on a comparison of storage device state information
US20110231452A1 (en) Storage system and resource management method for storage system
US7346599B2 (en) Storage system and method of managing data stored in a storage system
US7313650B2 (en) Server and method for managing volume storing digital archive
JP2008242744A (en) Management device and method for storage device performing recovery according to cdp
JP4914821B2 (en) File management method and file management apparatus for electronic tally processing
US8032490B2 (en) Storage system operable to perform LU auditing
JP5159777B2 (en) Apparatus and method for managing and storing information and metadata
US9626117B2 (en) Computer system and management method for computer system
JP4502748B2 (en) Server and method for managing volume for storing digital archive

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111005

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111124

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4877921

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141209

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250