JP4592735B2 - EXTERNAL STORAGE DEVICE, DATA RECOVERY METHOD FOR EXTERNAL STORAGE DEVICE, AND PROGRAM - Google Patents

EXTERNAL STORAGE DEVICE, DATA RECOVERY METHOD FOR EXTERNAL STORAGE DEVICE, AND PROGRAM Download PDF

Info

Publication number
JP4592735B2
JP4592735B2 JP2007267844A JP2007267844A JP4592735B2 JP 4592735 B2 JP4592735 B2 JP 4592735B2 JP 2007267844 A JP2007267844 A JP 2007267844A JP 2007267844 A JP2007267844 A JP 2007267844A JP 4592735 B2 JP4592735 B2 JP 4592735B2
Authority
JP
Japan
Prior art keywords
data
disk
journal
storage device
recovery
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.)
Expired - Fee Related
Application number
JP2007267844A
Other languages
Japanese (ja)
Other versions
JP2008033967A (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 JP2007267844A priority Critical patent/JP4592735B2/en
Publication of JP2008033967A publication Critical patent/JP2008033967A/en
Application granted granted Critical
Publication of JP4592735B2 publication Critical patent/JP4592735B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

本発明は、例えば、ディスク装置等の外部記憶装置及び外部記憶装置のデータ回復方法並びにプログラムに関する。   The present invention relates to an external storage device such as a disk device, a data recovery method for the external storage device, and a program.

比較的多量のデータを取り扱う業務用アプリケーションプログラム(データベースシステム)では、ホストコンピュータとは別体に形成されたディスクアレイ装置にデータを保存する。そして、ホストコンピュータのデータベースシステムからディスクアレイ装置上のデータにアクセスして、種々のデータ操作を行うようになっている。ディスクアレイ装置とは、複数のディスク装置をアレイ状に配設してなるもので、ホストコンピュータからの書込み命令や読出し命令等に応じて作動するようになっている。   In a business application program (database system) that handles a relatively large amount of data, the data is stored in a disk array device formed separately from the host computer. Various data operations are performed by accessing data on the disk array device from the database system of the host computer. A disk array device is formed by arranging a plurality of disk devices in an array, and operates according to a write command, a read command, or the like from a host computer.

ここで、データベースシステムが稼働中に、例えば、予期せぬ電源切断、オペレータの操作ミス、ハードウェア回路や他のプログラムの不調等によって、障害が発生した場合、データベースの内容を障害発生前の状態に復旧させる必要を生じる。また、障害以外に所望の時点までデータ操作を戻したい場合もある。   Here, if a failure occurs while the database system is running, for example, due to unexpected power loss, operator error, malfunction of hardware circuit or other program, the contents of the database before the failure Need to be restored. In addition to the failure, there is a case where it is desired to return the data operation to a desired time.

第1の従来技術として、通常のデータベースシステムでは、ホストコンピュータ上のデータベースシステム自身が、実データとは別にジャーナルデータ(ログデータ)をディスクアレイ装置の所定のディスク装置に書き出すようになっている。従って、通常のデータベースシステムでは、事前に取得してあるバックアップデータを基に、データベースシステム自身がディスク装置からジャーナルデータを読み出して、バックアップデータに順次反映させていく。これにより、ホストコンピュータ上のデータベースシステムは、ジャーナルデータが残存している範囲内で、所望の時点にデータベースを復旧させることができる。   As a first conventional technique, in a normal database system, the database system itself on the host computer writes journal data (log data) to a predetermined disk device of the disk array device separately from the actual data. Therefore, in a normal database system, the database system itself reads the journal data from the disk device based on the backup data acquired in advance and sequentially reflects it in the backup data. As a result, the database system on the host computer can restore the database to a desired point in time as long as journal data remains.

第2の従来技術では、第1のディスク装置の内容を所定の周期でバックアップ用ディスク装置に保存すると共に、ジャーナルデータをジャーナル用ディスク装置に保存する。第1のディスク装置に障害が発生した場合は、バックアップデータ及びジャーナルデータに基づいて、第2のディスク装置内に仮想的な第1のディスク装置を生成し、第1のディスク装置へのデータアクセスを、仮想的な第1のディスク装置に内部的に切り替える。そして、第1のディスク装置の修復が完了すると、仮想的な第1のディスク装置の内容を第1のディスク装置に移し替えるようになっている(例えば、特許文献1参照)。   In the second prior art, the contents of the first disk device are stored in the backup disk device at a predetermined cycle, and the journal data is stored in the journal disk device. When a failure occurs in the first disk device, a virtual first disk device is created in the second disk device based on the backup data and journal data, and data access to the first disk device is performed. Are internally switched to the virtual first disk device. When the restoration of the first disk device is completed, the contents of the virtual first disk device are transferred to the first disk device (see, for example, Patent Document 1).

特開平6−110618号公報JP-A-6-110618

上記第1の従来技術では、ホストコンピュータ上のデータベースシステム自身がジャーナルデータを管理しており、任意の時点にデータを復旧可能である。しかし、データベースシステム自身がデータ復旧作業を行うため、ホストコンピュータのコンピュータ資源(演算ユニットやメモリ等)が、データ復旧処理に使用されてしまい、復旧作業中に、本来の業務処理や他の業務処理の処理効率を低下させることになる。また、データベースシステムがジャーナルデータの管理を行っているが、ジャーナルデータの格納ディスクが満杯になってしまうと、バックアップデータを取っていない限り、データを復旧させることはできない。従って、データベースシステムは、ジャーナルデータ用ディスクの容量管理等まで行う必要があり、処理負担が大きくなる。さらに、データの世代管理を行う場合は、複数世代のバックアップデータを作成するため、処理負担が更に増大する。     In the first prior art, the database system itself on the host computer manages the journal data, and the data can be recovered at an arbitrary time. However, since the database system itself performs data recovery work, the computer resources (arithmetic unit, memory, etc.) of the host computer are used for data recovery processing, and the original business process and other business processes are performed during the recovery work. The processing efficiency will be reduced. The database system manages journal data. If the journal data storage disk becomes full, the data cannot be recovered unless backup data is taken. Therefore, the database system needs to perform up to the capacity management of the journal data disk and the processing load increases. Furthermore, when performing data generation management, multiple generations of backup data are created, which further increases the processing load.

第2の従来技術では、仮想的なディスク装置にアクセスを切り替えることにより、実行中の処理を中断することなく、データ復旧作業を行うことができるが、直前の状態までしか回復させることができず、オペレータが所望する任意の時点にデータを復旧させることができない。   In the second prior art, by switching the access to the virtual disk device, the data recovery operation can be performed without interrupting the processing being executed, but it can be recovered only to the previous state. The data cannot be recovered at any time desired by the operator.

本発明は、上記問題点に鑑みてなされたもので、その目的は、ホストコンピュータ側の処理負担を増大させずに、任意の時点へデータを復旧させることができる外部記憶装置及び外部記憶装置のデータ回復方法並びにプログラムを提供することにある。本発明のさらなる目的は、後述する実施の形態の記載から明らかになるであろう。   The present invention has been made in view of the above problems, and an object of the present invention is to provide an external storage device and an external storage device capable of restoring data to an arbitrary time without increasing the processing load on the host computer side. To provide a data recovery method and program. Further objects of the present invention will become clear from the description of the embodiments described later.

上記課題を解決すべく、本発明の第1の観点に従う外部記憶装置は、ホストコンピュータに接続されるもので、ホストコンピュータにより利用されるデータを記憶する記憶手段と、記憶手段を制御する制御手段とを有する。制御手段は、記憶手段に記憶されたデータに関してホストコンピュータにより設定される回復可能時点を登録する登録手段と、ホストコンピュータからの要求に応じて、登録された回復可能時点の選択用情報をホストコンピュータに送信する選択用情報送信手段と、回復可能時点の選択用情報に基づいてホストコンピュータから指定されたデータを指定された回復可能時点まで回復させる回復手段と、を備える。   In order to solve the above problems, an external storage device according to the first aspect of the present invention is connected to a host computer, and stores storage means for storing data used by the host computer, and control means for controlling the storage means. And have. The control means registers the recoverable time point set by the host computer with respect to the data stored in the storage means, and, in response to a request from the host computer, the registered recoverable time point selection information. Selection information transmitting means for transmitting the data, and recovery means for recovering the data designated by the host computer to the designated recoverable time based on the selectable information at the recoverable time.

記憶手段としては、例えば、複数のディスク装置をアレイ状に配置してなる記憶装置を用いることができる。ホストコンピュータは、記憶手段に記憶されるデータに関して、回復可能時点を設定することができる。回復可能時点とは、そのデータを回復させることが可能な時点を示す情報であり、復元ポイントと称することもできる。ホストコンピュータにより定期的に又は不定期に設定される回復可能時点は、登録手段により登録される。   As the storage means, for example, a storage device in which a plurality of disk devices are arranged in an array can be used. The host computer can set a recoverable time point for the data stored in the storage means. The recoverable time point is information indicating a time point at which the data can be recovered, and can also be referred to as a restoration point. The recoverable time points set regularly or irregularly by the host computer are registered by the registration means.

障害が発生等してデータの復旧が必要になった場合、ホストコンピュータは、制御手段に対して、回復可能時点の選択用情報を要求する。この要求に応じて、選択用情報送信手段は、選択用情報をホストコンピュータに送信する。選択用情報とは、回復可能時点を選択するための情報であり、例えば、一覧形式等で表示可能である。   When data recovery is necessary due to a failure or the like, the host computer requests the control means for selection information at a recoverable point. In response to this request, the selection information transmission means transmits the selection information to the host computer. The selection information is information for selecting a recoverable point in time, and can be displayed in a list format, for example.

ホストコンピュータは、受信した選択用情報に基づいて、回復させたい時点を選択する。ホストコンピュータにより選択された回復可能時点は、回復手段に通知される。そして、回復手段は、ホストコンピュータに指定されたデータを指定された時点まで回復させる。回復手段は、例えば、指定された回復時点までのジャーナルデータをバックアップデータに順次反映させていくことにより、データを復旧させることができる。これにより、ホストコンピュータのコンピュータ資源を事実上殆ど使用することなく、外部記憶装置内で任意の時点までデータを回復させることができる。   The host computer selects a point in time to be recovered based on the received selection information. The recoverable point selected by the host computer is notified to the recovery means. Then, the recovery means recovers the data specified by the host computer to the specified time. The recovery means can recover the data, for example, by sequentially reflecting the journal data up to the specified recovery point in the backup data. As a result, data can be recovered to an arbitrary point in the external storage device with virtually no use of computer resources of the host computer.

登録手段は、ホストコンピュータにより設定される任意の複数時点を、回復可能時点として登録可能である。即ち、直前の最新状態のみならず、任意の時点を複数個登録させることができる。例えば、ホストコンピュータは、更新処理(コミット)を要求する度毎に、あるいは、データ操作の区切りがつく度毎に、自動的に又はオペレータによる手動で、回復可能時点を設定することができる。   The registering means can register a plurality of time points set by the host computer as recoverable time points. That is, it is possible to register not only the latest state immediately before but also a plurality of arbitrary time points. For example, the host computer can set the recoverable time point every time an update process (commit) is requested or every time a data operation is separated, or manually by an operator.

本発明の一態様では、記憶手段は、ジャーナルデータを取得して記憶するジャーナルデータ記憶手段を有し、登録手段は、ホストコンピュータからの指示に基づいて、ジャーナルデータの所定位置に標識情報を対応付けることにより、回復可能時点を登録するようになっている。即ち、ジャーナルデータは、外部記憶装置内のジャーナルデータ記憶手段が、独自に自動的に収集して記憶する。そして、登録手段は、ホストコンピュータからの設定に基づいて、ジャーナルデータの所定位置に標識情報を対応付けることにより、回復可能時点を登録する。標識情報は、ジャーナルデータ中に含めることもできるし、ジャーナルデータとは別のデータとしてそれぞれ管理し、ユニークな識別コード等で両者を関連付けることもできる。   In one aspect of the present invention, the storage means includes journal data storage means for acquiring and storing journal data, and the registration means associates the label information with a predetermined position of the journal data based on an instruction from the host computer. Thus, the recoverable point is registered. That is, the journal data is automatically collected and stored independently by the journal data storage means in the external storage device. Then, the registration means registers the recoverable time by associating the marker information with a predetermined position of the journal data based on the setting from the host computer. The tag information can be included in the journal data, or can be managed as data different from the journal data, and can be associated with each other by a unique identification code or the like.

本発明の一態様では、ジャーナルデータは、少なくとも、書込みデータと、書込み位置と、標識情報としての回復フラグ情報とを含んでなり、登録手段は、ジャーナルデータ中の所定の回復フラグ情報をセットすることにより、回復可能時点を登録するようになっている。   In one aspect of the present invention, the journal data includes at least write data, a write position, and recovery flag information as indicator information, and the registration unit sets predetermined recovery flag information in the journal data. Thus, the recoverable point is registered.

回復フラグを追加してジャーナルデータのデータ構造を拡張する。全てのジャーナルデータには回復フラグをセットするデータ領域が予め含まれている。あるデータについて回復可能時点を設定する場合は、該データに対応する回復フラグをセットする。回復フラグをリセットすれば、設定された回復可能時点を解除することができる。   Add a recovery flag to expand the data structure of journal data. All journal data includes a data area for setting a recovery flag in advance. When setting a recoverable point in time for certain data, a recovery flag corresponding to the data is set. If the recovery flag is reset, the set recoverable time can be canceled.

本発明の一態様では、さらに、記憶手段は、バックアップデータを記憶するバックアップデータ記憶手段を有し、制御手段は、ジャーナルデータ管理手段を有している。そして、ジャーナルデータ管理手段は、ジャーナルデータ記憶手段の空き容量が不足した場合には、ジャーナルデータ記憶手段に記憶されている最古のジャーナルデータをバックアップデータ記憶手段に移し替えて、ジャーナルデータ記憶手段の空き容量を増加させ、かつ、登録された回復可能時点のうち最古の回復可能時点が変更された旨をホストコンピュータに通知する。   In one aspect of the present invention, the storage means further includes backup data storage means for storing backup data, and the control means includes journal data management means. The journal data management means transfers the oldest journal data stored in the journal data storage means to the backup data storage means when the free space of the journal data storage means is insufficient, and the journal data storage means And the host computer is notified that the oldest recoverable time among the registered recoverable times has been changed.

データの回復は、例えば、ある時点のバックアップデータに、目標とする時点までのジャーナルデータを順次反映させることにより実現される(ロールフォワード方式)。従って、ジャーナルデータが存在しない場合は、バックアップされた時点にしかデータを戻すことはできない。一方、ジャーナルデータは、データ更新履歴の集合体であり、日々増大する。ジャーナルデータの保存量が、ディスク装置の記憶容量に達すると、それ以上のジャーナルデータを記憶することはできない。そこで、ジャーナルデータの空き容量が不足した場合は、既に蓄積されれているジャーナルデータの中から最も古いデータを必要な量だけバックアップデータに移し替えて、空き容量を確保する。移し替える必要量は、予め設定された固定値としても良いし、ジャーナルデータの蓄積速度やバックアップデータ記憶手段の記憶容量等の諸要因に応じて動的に変化させてもよい。ここで、最古のジャーナルデータをバックアップデータに移し替えるとは、最古のジャーナルデータをバックアップデータに反映させた上で、最古のジャーナルデータを削除することを意味する。なお、記憶手段内に未使用の記憶領域がある限り、ジャーナルデータ記憶領域を自動的に拡張させ、未使用の記憶領域が不足した場合に、最古のジャーナルデータをバックアップデータに移し替えるようにしてもよい。   Data recovery is realized, for example, by sequentially reflecting journal data up to a target time in backup data at a certain time (roll forward method). Therefore, when there is no journal data, the data can be returned only to the time when it was backed up. On the other hand, journal data is a collection of data update histories and increases daily. When the storage amount of journal data reaches the storage capacity of the disk device, no more journal data can be stored. Therefore, when the free space of the journal data is insufficient, the oldest data among the already accumulated journal data is transferred to the backup data by a necessary amount to secure the free space. The necessary amount to be transferred may be a fixed value set in advance, or may be dynamically changed according to various factors such as the journal data storage speed and the storage capacity of the backup data storage means. Here, the transfer of the oldest journal data to the backup data means that the oldest journal data is deleted after reflecting the oldest journal data in the backup data. As long as there is an unused storage area in the storage means, the journal data storage area is automatically expanded, and when the unused storage area is insufficient, the oldest journal data is transferred to the backup data. May be.

本発明の第2の観点に従う外部記憶装置のデータ回復方法は、ホストコンピュータに接続された外部記憶装置のデータを、該外部記憶装置内で回復させるデータ回復方法であって、記憶されたデータに関してホストコンピュータにより任意の複数時点に設定されうる回復可能時点を登録する登録ステップと、ホストコンピュータからの要求に応じて、登録された回復可能時点の選択用情報をホストコンピュータに送信する一覧送信ステップと、回復可能時点の選択用情報に基づいてホストコンピュータから指定されたデータを指定された回復可能時点まで回復させる回復ステップと、を含んだことを特徴とする。   A data recovery method for an external storage device according to a second aspect of the present invention is a data recovery method for recovering data in an external storage device connected to a host computer in the external storage device. A registration step of registering recoverable time points that can be set at any of a plurality of time points by the host computer; a list transmission step of transmitting information for selecting the registered recoverable time points to the host computer in response to a request from the host computer; And a recovery step of recovering the data designated from the host computer to the designated recoverable time based on the selection information of the recoverable time.

登録ステップ、一覧送信ステップ、回復ステップは、この順序で実行してもよいし、異なる順序、例えば、並行的に実行してもよい。   The registration step, the list transmission step, and the recovery step may be executed in this order, or may be executed in different orders, for example, in parallel.

本発明の第3の観点に従うプログラムは、ホストコンピュータに接続された外部記憶装置を制御するためのプログラムであって、外部記憶装置は、ホストコンピュータにより利用されるデータを記憶する記憶手段を有し、記憶手段に記憶されたデータに関してホストコンピュータにより任意の複数時点に設定されうる回復可能時点を登録する登録手段と、ホストコンピュータからの要求に応じて、登録された回復可能時点の選択用情報を前記ホストコンピュータに送信する選択用情報送信手段と、回復可能時点の選択用情報に基づいてホストコンピュータから指定されたデータを指定された回復可能時点まで回復させる回復手段とを外部記憶装置のコンピュータ上に実現させる。   A program according to the third aspect of the present invention is a program for controlling an external storage device connected to a host computer, and the external storage device has storage means for storing data used by the host computer. Registration means for registering recoverable time points that can be set at any plurality of time points by the host computer with respect to the data stored in the storage means, and information for selecting the recoverable time points registered in response to a request from the host computer On the computer of the external storage device, selection information transmitting means for transmitting to the host computer and recovery means for recovering data designated from the host computer to a designated recoverable time based on the selectable information at the recoverable time Make it happen.

本発明の第4の観点に従うプログラムは、外部記憶装置を利用するホストコンピュータを制御するプログラムであって、外部記憶装置に記憶されたデータに関して、任意の複数時点で設定可能な回復可能時点を外部記憶装置に指示し登録させる登録指示手段と、外部記憶装置に登録された回復可能時点の選択用情報を要求する選択用情報要求手段と、外部記憶装置から受信した選択用情報に基づいて、所望のデータを所望の回復可能時点まで回復させるように外部記憶装置に指示する回復指示手段と、をホストコンピュータ上で実現させる。   The program according to the fourth aspect of the present invention is a program for controlling a host computer that uses an external storage device, and for the data stored in the external storage device, the recoverable time points that can be set at any of a plurality of time points are externally set. Registration instruction means for instructing and registering the storage device, selection information request means for requesting selection information at the recoverable point registered in the external storage device, and the selection information received from the external storage device Recovery instruction means for instructing the external storage device to recover the data to a desired recoverable point on the host computer.

このプログラムは、例えば、API(Application Program Interface)のような形で提供可能であり、種々の業務用アプリケーションプログラムから好適に利用されることができる。   This program can be provided in the form of an API (Application Program Interface), for example, and can be suitably used from various business application programs.

本発明に従うプログラムは、例えば、ディスク型記憶媒体、半導体メモリ等の各種記憶媒体に固定して流通に置くこともできるし、あるいは、サーバから通信ネットワークを介して配信することもできる。   The program according to the present invention can be fixed in various storage media such as a disk-type storage medium and a semiconductor memory, and can be distributed, or can be distributed from a server via a communication network.

以下、図1〜図10に基づき、本発明の実施の形態を説明する。     Hereinafter, embodiments of the present invention will be described with reference to FIGS.

まず最初に、図1に基づいて、外部記憶システムの全体概要を説明する。   First, an overall outline of the external storage system will be described with reference to FIG.

先にシステムの全体構成を図1に基づいて説明する。記憶装置システム60は、記憶デバイス制御装置10と記憶デバイス30とを備えて構成されている。記憶デバイス制御装置10は、情報処理装置20から受信したコマンドに従って、記憶デバイス30に対する制御を行う。例えば、記憶デバイス制御装置10は、情報処理装置20からデータの入出力要求を受信すると、記憶デバイス30に記憶されているデータの入出力処理を行う。記憶デバイス30が備えるディスクドライブにより提供される物理的な記憶領域上には、論理ボリューム(Logical Unit)(以下、LUと略記)が設定されている。LUは、論理的な記憶領域であり、このLU上にデータは記憶されている。また、記憶デバイス制御装置10は、情報処理装置20との間で、記憶装置システム60を管理するための各種コマンドの授受も行う。   First, the overall configuration of the system will be described with reference to FIG. The storage device system 60 includes the storage device control device 10 and the storage device 30. The storage device control apparatus 10 controls the storage device 30 according to the command received from the information processing apparatus 20. For example, when receiving a data input / output request from the information processing apparatus 20, the storage device control apparatus 10 performs an input / output process of data stored in the storage device 30. A logical volume (hereinafter abbreviated as LU) is set on a physical storage area provided by a disk drive included in the storage device 30. An LU is a logical storage area, and data is stored on this LU. In addition, the storage device control device 10 also exchanges various commands for managing the storage device system 60 with the information processing device 20.

情報処理装置20は、CPU(Central Processing Unit)やメモリ等を備えたコンピュータシステムである。情報処理装置20のCPUが各種プログラムを実行することにより、種々の機能が実現される。情報処理装置20は、例えば、パーソナルコンピュータやワークステーションである場合もあるし、メインフレームコンピュータの場合もある。図1では、説明の便宜上、第1〜第5の5台の情報処理装置を図示する。各情報処理装置20を識別するために、図1中では「情報処理装置1」、「情報処理装置2」等のように連番を付し、第1〜第5の情報処理装置20とする。後述のチャネル制御部11及びディスク制御部14も同様に連番を付して区別する。   The information processing apparatus 20 is a computer system including a CPU (Central Processing Unit), a memory, and the like. Various functions are realized by the CPU of the information processing apparatus 20 executing various programs. The information processing apparatus 20 may be a personal computer or a workstation, or may be a mainframe computer, for example. In FIG. 1, for convenience of explanation, first to fifth information processing apparatuses are illustrated. In order to identify each information processing apparatus 20, sequential numbers such as “information processing apparatus 1”, “information processing apparatus 2”, and the like in FIG. 1 are designated as first to fifth information processing apparatuses 20. . Similarly, a channel control unit 11 and a disk control unit 14 to be described later are also distinguished by attaching serial numbers.

第1〜第3の情報処理装置20は、LAN(Local Area Network)40を介して、記憶デバイス制御装置10と接続されている。LAN40は、例えば、インターネットとすることもできるし、専用のネットワークとすることもできる。第1〜第3の情報処理装置20と記憶デバイス制御装置10との間のデータ通信は、LAN40を介して、例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。第1〜第3の情報処理装置20からは、記憶装置システム60に対して、ファイル名指定によるデータアクセス要求(ファイル単位でのデータ入出力要求である。以下、「ファイルアクセス要求」と略記)が送信される。   The first to third information processing apparatuses 20 are connected to the storage device control apparatus 10 via a LAN (Local Area Network) 40. The LAN 40 can be, for example, the Internet or a dedicated network. Data communication between the first to third information processing apparatuses 20 and the storage device control apparatus 10 is performed via the LAN 40 according to, for example, a TCP / IP (Transmission Control Protocol / Internet Protocol) protocol. The first to third information processing apparatuses 20 make a data access request by specifying a file name to the storage system 60 (a data input / output request in units of files. Hereinafter, abbreviated as “file access request”). Is sent.

LAN40には、バックアップデバイス71が接続されている。バックアップデバイス91としては、例えば、MO(magneto-optic:光磁気型記憶装置)、CD−R(CD-Recordable:読み書き可能なコンパクトディスク)、DVD-RAM(Digital Versatile Disk-RAM:読み書き可能なDVD)等のディスク系記憶デバイスや、例えば、DAT(Digital Audio Tape)テープ、カセットテープ、オープンテープ、カートリッジテープ等のテープ系記憶デバイスを用いることができる。バックアップデバイス71は、LAN40を介して記憶デバイス制御装置10との間で通信を行うことにより、記憶デバイス30に記憶されているデータのバックアップデータを記憶する。また、バックアップデバイス71は、第1の情報処理装置20と接続されるように構成することもできる。この場合は、第1の情報処理装置20を介して、記憶デバイス30に記憶されているデータのバックアップデータを取得するようにする。   A backup device 71 is connected to the LAN 40. Examples of the backup device 91 include MO (magneto-optic: magneto-optical storage device), CD-R (CD-Recordable: readable / writable compact disc), DVD-RAM (Digital Versatile Disk-RAM: readable / writable DVD). ) And other tape storage devices such as DAT (Digital Audio Tape) tape, cassette tape, open tape, cartridge tape, and the like. The backup device 71 stores backup data of data stored in the storage device 30 by communicating with the storage device control apparatus 10 via the LAN 40. Further, the backup device 71 can be configured to be connected to the first information processing apparatus 20. In this case, backup data of data stored in the storage device 30 is acquired via the first information processing apparatus 20.

記憶デバイス制御装置10は、第1〜第4のチャネル制御部11により、LAN40を介して第1〜第3の情報処理装置20やバックアップデバイス71との間で通信を行う。第1〜第4のチャネル制御部11は、第1〜第3の情報処理装置20からのファイルアクセス要求を個々に受け付ける。即ち、第1〜第4のチャネル制御部11には、それぞれLAN40上のネットワークアドレス(例えば、IPアドレス)が割り当てられており、第1〜第4の各チャネル制御部11はそれぞれが個別にNAS(Network Attached Storage)として振る舞うようになっている。第1〜第4のチャネル制御部11は、それぞれが独立したNASであるかのように、第1〜第3の情報処理装置20に対しNASとしてのサービスを提供可能である。以下、第1〜第4のチャネル制御部11をCHNと略す場合がある。このように、1台の記憶装置システム60内にそれぞれ個別にNASとしてのサービスを提供する第1〜第4のチャネル制御部11を備えるように構成したことにより、従来、独立したコンピュータで個々に運用されていたNASサーバが1台の記憶装置システム60に集約される。そして、これにより、記憶装置システム60の統括的な運用が可能となり、各種設定・制御や障害管理、バージョン管理といった保守業務の効率化を図ることができる。   The storage device control apparatus 10 communicates with the first to third information processing apparatuses 20 and the backup device 71 via the LAN 40 using the first to fourth channel control units 11. The first to fourth channel control units 11 individually accept file access requests from the first to third information processing apparatuses 20. That is, each of the first to fourth channel control units 11 is assigned a network address (for example, an IP address) on the LAN 40, and each of the first to fourth channel control units 11 is individually connected to the NAS. It is supposed to behave as (Network Attached Storage). The first to fourth channel control units 11 can provide services as NAS to the first to third information processing apparatuses 20 as if they were independent NAS. Hereinafter, the first to fourth channel control units 11 may be abbreviated as CHN. As described above, since the first to fourth channel control units 11 that individually provide the services as the NAS are provided in the single storage device system 60, each of the individual storage systems 60 has conventionally been individually operated by an independent computer. The NAS servers that have been operated are integrated into one storage device system 60. As a result, the overall operation of the storage device system 60 becomes possible, and the efficiency of maintenance operations such as various settings / controls, failure management, and version management can be improved.

なお、記憶デバイス制御装置10の第1〜第4のチャネル制御部11は、例えば、一体的にユニット化された回路基板上に形成されたハードウェア、このハードウェアにより実行されるOS(Operating System)、このOS上で動作するアプリケーションプログラム等のソフトウェアにより実現される。記憶装置システム60では、従来ハードウェアの一部として実装されてきた機能がソフトウェアにより実現されている。従って、記憶装置システム60を用いることにより、柔軟性に富んだシステム運用が可能となり、多様で変化の激しいユーザニーズにきめ細やかに対応可能となる。   Note that the first to fourth channel control units 11 of the storage device control apparatus 10 are, for example, hardware formed on a circuit board integrated into a unit, and an OS (Operating System) executed by the hardware. ), And is realized by software such as an application program operating on the OS. In the storage device system 60, functions that have been conventionally implemented as part of hardware are realized by software. Therefore, by using the storage device system 60, it is possible to operate the system with great flexibility, and it is possible to meticulously respond to various and rapidly changing user needs.

第3及び第4の情報処理装置20は、SAN(Storage Area Network)50を介して、記憶デバイス制御装置10と接続されている。SAN50は、記憶デバイス30が提供する記憶領域におけるデータの管理単位であるブロックを単位として、第3及び第4の情報処理装置20との間でデータの授受を行うためのネットワークである。SAN50を介して行われる第3及び第4の情報処理装置20と記憶デバイス制御部10との間の通信は、一般にファイバチャネルプロトコルに従う。第3及び第4の情報処理装置20からは、記憶装置システム60に対して、ファイバチャネルプロトコルに従ってブロック単位でのデータアクセス要求(以下、ブロックアクセス要求と略記)が送信される。   The third and fourth information processing apparatuses 20 are connected to the storage device control apparatus 10 via a SAN (Storage Area Network) 50. The SAN 50 is a network for exchanging data with the third and fourth information processing apparatuses 20 in units of blocks, which are data management units in the storage area provided by the storage device 30. Communication between the third and fourth information processing apparatuses 20 and the storage device control unit 10 performed via the SAN 50 generally follows the fiber channel protocol. From the third and fourth information processing apparatuses 20, a data access request in block units (hereinafter abbreviated as a block access request) is transmitted to the storage device system 60 in accordance with the fiber channel protocol.

SAN50には、SAN対応のバックアップデバイス70が接続されている。SAN対応バックアップデバイス70は、SAN50を介して記憶デバイス制御装置10との間で通信を行うことにより、記憶デバイス30に記憶されているデータのバックアップデータを記憶する。   A SAN-compatible backup device 70 is connected to the SAN 50. The SAN-compatible backup device 70 stores backup data of data stored in the storage device 30 by communicating with the storage device control apparatus 10 via the SAN 50.

記憶デバイス制御装置10は、第5及び第6のチャネル制御部11により、SAN50を介して第3及び第4の情報処理装置20及びSAN対応バックアップデバイス70との間の通信を行う。以下、第5及び第6のチャネル制御部11をCHFと略記する場合がある。   The storage device control apparatus 10 performs communication between the third and fourth information processing apparatuses 20 and the SAN compatible backup device 70 via the SAN 50 by the fifth and sixth channel control units 11. Hereinafter, the fifth and sixth channel control units 11 may be abbreviated as CHF.

また、第5の情報処理装置20は、LAN40やSAN50等のネットワークを介さずに、記憶デバイス制御装置10と直接的に接続されている。第5の情報処理装置20としては、例えば、メインフレームコンピュータとすることができるが、もちろんこれに限定されない。第5の情報処理装置20と記憶デバイス制御装置10との間の通信は、例えば、FICON(Fibre Connection)(登録商標)やESCON(Enterprise System Connection)(登録商標)、ACONARC(Advanced Connection Architecture)(登録商標)、FIBARC(Fibre Connection Architecture)(登録商標)等の通信プロトコルに従う。第5の情報処理装置20からは、記憶装置システム60に対して、これらの通信プロトコルに従ってブロックアクセス要求が送信される。   Further, the fifth information processing apparatus 20 is directly connected to the storage device control apparatus 10 without going through a network such as the LAN 40 or the SAN 50. The fifth information processing apparatus 20 can be, for example, a mainframe computer, but is not limited to this. Communication between the fifth information processing apparatus 20 and the storage device control apparatus 10 is, for example, FICON (Fibre Connection) (registered trademark), ESCON (Enterprise System Connection) (registered trademark), ACONARC (Advanced Connection Architecture) ( It follows communication protocols such as registered trademark and FIBARC (Fibre Connection Architecture). From the fifth information processing apparatus 20, a block access request is transmitted to the storage system 60 according to these communication protocols.

記憶デバイス制御装置10は、第7及び第8のチャネル制御部11により、第5の情報処理装置20との間で通信を行う。以下、第7及び第8のチャネル制御部11をCHAと略す場合がある。   The storage device control device 10 communicates with the fifth information processing device 20 by the seventh and eighth channel control units 11. Hereinafter, the seventh and eighth channel control units 11 may be abbreviated as CHA.

SAN50には、記憶装置システム60の設置場所(プライマリサイト)から遠隔した場所(セカンダリサイト)に設置される他の記憶装置システム61が接続されている。他の記憶装置システム61は、レプリケーションまたはリモートコピーの機能におけるデータ複製先の装置として利用される。なお、他の記憶装置システム61は、SAN50以外にも例えばATM(Asynchronous Transfer Mode)等の通信回線を介して記憶装置システム60に接続される場合もある。この場合には、上記通信回線を利用するためのインターフェース(チャネルエクステンダ)を備えたチャネル制御部11が採用される。   The SAN 50 is connected to another storage device system 61 installed at a location (secondary site) remote from the installation location (primary site) of the storage device system 60. The other storage device system 61 is used as a data replication destination device in the replication or remote copy function. In addition to the SAN 50, the other storage device system 61 may be connected to the storage device system 60 via a communication line such as ATM (Asynchronous Transfer Mode). In this case, a channel control unit 11 having an interface (channel extender) for using the communication line is employed.

次に、記憶デバイス30の構成について説明する。記憶デバイス30は、多数のディスクドライブ(物理ディスク)を備えており、情報処理装置20に対して記憶領域を提供する。データは、論理的記憶領域であるLUに記憶されている。ディスクドライブとしては、例えば、ハードディスク装置、フレキシブルディスク装置、半導体記憶装置等の種々のデバイスを用いることができる。なお、記憶デバイス30は、例えば、複数のディスクドライブによりディスクアレイを構成するようにすることもできる。この場合、情報処理装置20に対しては、RAID(Redundant Array of Independent(Inexpensive)Disks)により管理された複数のディスクドライブにより記憶領域を提供することができる。   Next, the configuration of the storage device 30 will be described. The storage device 30 includes a large number of disk drives (physical disks) and provides a storage area to the information processing apparatus 20. Data is stored in an LU which is a logical storage area. As the disk drive, for example, various devices such as a hard disk device, a flexible disk device, and a semiconductor storage device can be used. For example, the storage device 30 may be configured as a disk array by a plurality of disk drives. In this case, the information processing apparatus 20 can be provided with a storage area by a plurality of disk drives managed by RAID (Redundant Array of Independent (Inexpensive) Disks).

記憶デバイス制御装置10と記憶デバイス30とは、図1に示すように、直接的に接続してもよいし、ネットワークを介して間接的に接続するようにしてもよい。さらに、記憶デバイス30は、記憶デバイス制御装置10と一体のものとして構成することもできる。   As shown in FIG. 1, the storage device control apparatus 10 and the storage device 30 may be directly connected or indirectly connected via a network. Furthermore, the storage device 30 can also be configured as an integral part of the storage device control apparatus 10.

記憶デバイス30に設定されるLUには、情報処理装置20からアクセス可能なユーザLUや、チャネル制御部11の制御のために使用されるシステムLU等がある。システムLUには、CHN11で実行されるOSも格納される。また、各LUには、各チャネル制御部11が予め対応付けられている。これにより、各チャネル制御部11毎にアクセス可能なLUがそれぞれ割り当てられている。また、上記対応付けは、複数のチャネル制御部11で一つのLUを共有するように設定することもできる。なお、以下の説明において、ユーザLUをユーザディスク、システムLUをシステムディスクと記す場合がある。また、複数のチャネル制御部11により共有されるLUを、共有LUまたは共有ディスクと記す場合がある。   The LU set in the storage device 30 includes a user LU accessible from the information processing apparatus 20 and a system LU used for control of the channel control unit 11. The system LU also stores an OS executed by the CHN 11. Each LU is associated with each channel controller 11 in advance. Thereby, an accessible LU is allocated to each channel control unit 11. In addition, the association can be set so that a plurality of channel control units 11 share one LU. In the following description, the user LU may be referred to as a user disk and the system LU may be referred to as a system disk. An LU shared by a plurality of channel control units 11 may be referred to as a shared LU or a shared disk.

次に、記憶デバイス制御装置10の構成を説明する。記憶デバイス制御装置10は、チャネル制御部11、共有メモリ12、キャッシュメモリ13、ディスク制御部14、接続部15及び管理端末16を備えている。   Next, the configuration of the storage device control apparatus 10 will be described. The storage device control apparatus 10 includes a channel control unit 11, a shared memory 12, a cache memory 13, a disk control unit 14, a connection unit 15, and a management terminal 16.

チャネル制御部11は、情報処理装置20との間で通信を行うための通信インターフェースを有し、情報処理装置20との間でデータ入出力コマンド等を授受する機能を備えている。例えば、CHN11は、第1〜第3の情報処理装置20からのファイルアクセス要求を受け付ける。これにより、記憶装置システム60は、NASとしてのサービスを第1〜第3の情報処理装置20に提供することができる。また、CHF11は、第3及び第4の情報処理装置20からのファイバチャネルプロトコルに従ったブロックアクセス要求を受け付ける。これにより、記憶装置システム60は、高速アクセス可能なデータ記憶サービスを第3及び第4の情報処理装置20に対して提供することができる。また、CHA11は、第5の情報処理装置20からのFICONやESCON、ACONARC、FIBARC等のプロトコルに従ったブロックアクセス要求を受け付ける。これにより、記憶装置システム60は、第5の情報処理装置20のようなメインフレームコンピュータ等に対してもデータ記憶サービスを提供することができる。   The channel control unit 11 has a communication interface for performing communication with the information processing apparatus 20, and has a function of exchanging data input / output commands and the like with the information processing apparatus 20. For example, the CHN 11 receives file access requests from the first to third information processing apparatuses 20. Thereby, the storage device system 60 can provide the service as the NAS to the first to third information processing devices 20. The CHF 11 accepts block access requests according to the fiber channel protocol from the third and fourth information processing apparatuses 20. Thereby, the storage device system 60 can provide the third and fourth information processing devices 20 with a data storage service that can be accessed at high speed. Further, the CHA 11 accepts a block access request according to a protocol such as FICON, ESCON, ACONARC, and FIBARC from the fifth information processing apparatus 20. Thereby, the storage device system 60 can provide a data storage service to a mainframe computer or the like such as the fifth information processing device 20.

各チャネル制御部11は、管理端末16と共に内部LAN17で接続されている。これにより、チャネル制御部11に実行させるプログラム等を、管理端末16からチャネル制御部11に送信してインストールさせることも可能となっている。チャネル制御部11の構成については、さらに後述する。   Each channel control unit 11 is connected to the management terminal 16 through an internal LAN 17. As a result, a program to be executed by the channel control unit 11 can be transmitted from the management terminal 16 to the channel control unit 11 and installed. The configuration of the channel control unit 11 will be further described later.

接続部15は、各チャネル制御部11、共有メモリ12、キャッシュメモリ13、各ディスク制御部14を相互に接続する。チャネル制御部11、共有メモリ12、キャッシュメモリ13及びディスク制御部14間でのデータやコマンドの授受は、接続部15を介することにより行われる。接続部15は、例えば、高速スイッチングによりデータ伝送を行う超高速クロスバスイッチ等の高速バスで構成される。チャネル制御部11同士を高速バスで接続することにより、個々のコンピュータ上で動作するNASサーバをLANを介して接続する場合よりも、チャネル制御部11間の通信パフォーマンスが向上する。また、これにより、高速なファイル共有機能や高速フェイルオーバ等が可能となる。   The connection unit 15 connects each channel control unit 11, shared memory 12, cache memory 13, and each disk control unit 14 to each other. Data and commands are exchanged among the channel control unit 11, the shared memory 12, the cache memory 13, and the disk control unit 14 through the connection unit 15. The connection unit 15 is configured by a high-speed bus such as an ultra-high-speed crossbar switch that performs data transmission by high-speed switching. By connecting the channel control units 11 with each other via a high-speed bus, the communication performance between the channel control units 11 is improved as compared with the case where NAS servers operating on individual computers are connected via a LAN. This also enables a high-speed file sharing function, high-speed failover, and the like.

共有メモリ12及びキャッシュメモリ13は、各チャネル制御部11及び各ディスク制御部14により共有される記憶メモリである。共有メモリ12は、主に制御情報やコマンド等を記憶するために利用される。キャッシュメモリ13は、主にデータを記憶するために利用される。   The shared memory 12 and the cache memory 13 are storage memories shared by each channel control unit 11 and each disk control unit 14. The shared memory 12 is mainly used for storing control information and commands. The cache memory 13 is mainly used for storing data.

例えば、あるチャネル制御部11が情報処理装置20から受信したデータ入出力コマンドが書込みコマンドであった場合、当該チャネル制御部11は、書込みコマンドを共有メモリ12に書き込むと共に、情報処理装置20から受信した書込みデータをキャッシュメモリ13に書き込む。一方、ディスク制御部14は、共有メモリ12を監視している。ディスク制御部14は、共有メモリ12に書込みコマンドが書き込まれたことを検出すると、当該コマンドに従ってキャッシュメモリ13から書込みデータを読出し、読み出したデータを記憶デバイス30に書き込む。   For example, when a data input / output command received by a certain channel control unit 11 from the information processing device 20 is a write command, the channel control unit 11 writes the write command to the shared memory 12 and receives it from the information processing device 20. The written data is written to the cache memory 13. On the other hand, the disk control unit 14 monitors the shared memory 12. When the disk control unit 14 detects that a write command has been written to the shared memory 12, the disk control unit 14 reads write data from the cache memory 13 in accordance with the command and writes the read data to the storage device 30.

ディスク制御部14は、記憶デバイス30の制御を行う。例えば、上述のように、ディスク制御部14は、チャネル制御部11が情報処理装置20から受信した書込みコマンドに従って、記憶デバイス30へデータの書込みを行う。また、ディスク制御部14は、チャネル制御部11から送信された論理アドレス指定によるLUへのデータアクセス要求を、物理アドレス指定による物理ディスクへのデータアクセス要求に変換する。ディスク制御部14は、記憶デバイス30における物理ディスクがRAIDにより管理されている場合は、RAID構成に従ったデータのアクセスを行う。また、ディスク制御部14は、記憶デバイス30に記憶されたデータの複製管理の制御及びバックアップ制御も行う。さらに、ディスク制御部14は、災害発生時のデータ消失防止(ディザスタリカバリ)等を目的として、プライマリサイトの記憶装置システム60のデータの複製をセカンダリサイトに設置された他の記憶装置システム61にも記憶させる制御(レプリケーション機能またはリモートコピー機能と呼ばれる)等も行う。   The disk control unit 14 controls the storage device 30. For example, as described above, the disk control unit 14 writes data to the storage device 30 in accordance with the write command received by the channel control unit 11 from the information processing apparatus 20. Further, the disk control unit 14 converts the data access request to the LU by the logical address designation transmitted from the channel control unit 11 into the data access request to the physical disk by the physical address designation. If the physical disk in the storage device 30 is managed by RAID, the disk control unit 14 accesses data according to the RAID configuration. The disk control unit 14 also performs replication management control and backup control of data stored in the storage device 30. Further, the disk controller 14 also copies data of the storage system 60 at the primary site to other storage systems 61 installed at the secondary site for the purpose of preventing data loss (disaster recovery) in the event of a disaster. Control is also performed (called replication function or remote copy function).

各ディスク制御部14は、管理端末16と共に内部LAN17を介して接続されており、相互に通信を行うことが可能である。これにより、ディスク制御部14に実行させるプログラム等を、管理端末16からディスク制御部14に送信してインストールさせることが可能となっている。   Each disk control unit 14 is connected to the management terminal 16 via the internal LAN 17, and can communicate with each other. As a result, a program to be executed by the disk control unit 14 can be transmitted from the management terminal 16 to the disk control unit 14 and installed.

次に、管理端末16について説明する。管理端末16は、記憶装置システム60を保守・管理するためのコンピュータである。管理端末16を操作することにより、例えば、記憶デバイス30内の物理ディスク構成の設定や、LUの設定、チャネル制御部11で実行させるためのプログラムのインストール等を行うことができる。ここで、記憶デバイス30内の物理ディスク構成の設定としては、例えば、物理ディスクの増設や減設、RAID構成の変更(RAID1からRAID5への変更等)などを挙げることができる。さらに、管理端末16からは、記憶装置システム60の動作状態の確認や故障部位の特定、チャネル制御部11で実行されるOSのインストール等の作業を行うこともできる。また、管理端末16は、LANや電話回線等で外部保守センタと接続されており、外部保守センタから管理端末16を利用して記憶装置システム60の障害監視を行ったり、障害が発生した場合に迅速に対応することも可能である。障害の発生は、例えば、OSやアプリケーションプログラム、ドライバソフトウェア等から通知される。この通知は、例えば、HTTP(HyperText Transfer Protocol)プロトコルやSNMP(Simple Network Management Protocol)プロトコル、電子メール等により行うことができる。これらの設定や制御は、管理端末16上で動作するウェブサーバが提供するウェブページをユーザインターフェースとして、オペレータ等が操作することにより行うことができる。オペレータ等は、管理端末16を操作して、障害監視の対象や内容を設定したり、障害通知先を設定等する。   Next, the management terminal 16 will be described. The management terminal 16 is a computer for maintaining and managing the storage device system 60. By operating the management terminal 16, for example, setting of a physical disk configuration in the storage device 30, setting of an LU, installation of a program to be executed by the channel control unit 11, and the like can be performed. Here, as the setting of the physical disk configuration in the storage device 30, for example, addition or reduction of physical disks, change of RAID configuration (change from RAID1 to RAID5, etc.) can be mentioned. Further, the management terminal 16 can also perform operations such as confirmation of the operating state of the storage device system 60, identification of a faulty part, and installation of an OS executed by the channel control unit 11. The management terminal 16 is connected to an external maintenance center via a LAN, a telephone line, or the like, and the storage terminal system 60 is monitored using the management terminal 16 from the external maintenance center or when a failure occurs. It is also possible to respond quickly. The occurrence of a failure is notified from the OS, application program, driver software, or the like, for example. This notification can be performed by, for example, an HTTP (HyperText Transfer Protocol) protocol, an SNMP (Simple Network Management Protocol) protocol, an e-mail, or the like. These settings and controls can be performed by an operator or the like operating a web page provided by a web server operating on the management terminal 16 as a user interface. An operator or the like operates the management terminal 16 to set a fault monitoring target or content, or set a fault notification destination.

管理端末16は、記憶デバイス制御装置10内に内蔵させる構成でもよいし、記憶デバイス制御装置10に外付けする構成でもよい。また、管理端末16は、記憶デバイス制御装置10及び記憶デバイス30の保守・管理を専用に行うコンピュータとして構成してもよいし、あるいは、汎用コンピュータに保守・管理機能を持たせることにより構成してもよい。   The management terminal 16 may be configured to be built in the storage device control apparatus 10 or may be configured to be externally attached to the storage device control apparatus 10. The management terminal 16 may be configured as a computer dedicated to maintenance and management of the storage device control device 10 and the storage device 30, or may be configured by providing a general-purpose computer with a maintenance and management function. Also good.

次に、図2を参照して本発明によるデータ回復方法の一例を説明する。図2は、図1と共に述べた記憶装置システムの要部を抜き出した概略構成図である。図2に示す外部記憶システムは、それぞれ後述するように、ホストコンピュータ10と外部記憶装置とに大別され、外部記憶装置は、ディスク制御装置200と大容量記憶装置400とに大別される。ここで、図1と図2との対応関係を簡単に説明すると、図1中の記憶装置システム60が図2中のディスク制御装置200に、図1中のチャネル制御部11が図2中のチャネルポート210及びマイクロプロセッサ220に、図1中の共有メモリ12及びキャッシュメモリ13が図2中のバッファメモリ230に、図1中の接続部15がバスやスイッチ類等(図示せず)に、図1中のディスク制御部14が図2中のマイクロプロセッサ220に、図1中の記憶デバイス30が図2中の記憶装置400に、図1中の情報処理装置20が図2中のホストコンピュータ100に、それぞれ対応する。マイクロプロセッサ220は、チャネル制御部11またはディスク制御部14のいずれの側に存在してもよい。   Next, an example of the data recovery method according to the present invention will be described with reference to FIG. FIG. 2 is a schematic configuration diagram in which the main part of the storage device system described with FIG. 1 is extracted. As will be described later, the external storage system shown in FIG. 2 is roughly divided into a host computer 10 and an external storage device, and the external storage devices are roughly divided into a disk control device 200 and a mass storage device 400. Here, the correspondence between FIG. 1 and FIG. 2 will be briefly explained. The storage device system 60 in FIG. 1 is replaced with the disk controller 200 in FIG. 2, and the channel controller 11 in FIG. In the channel port 210 and the microprocessor 220, the shared memory 12 and the cache memory 13 in FIG. 1 are in the buffer memory 230 in FIG. 2, and the connection unit 15 in FIG. 1 is in the bus, switches, etc. (not shown). The disk controller 14 in FIG. 1 is the microprocessor 220 in FIG. 2, the storage device 30 in FIG. 1 is in the storage device 400 in FIG. 2, and the information processing apparatus 20 in FIG. 1 is the host computer in FIG. 100 respectively. The microprocessor 220 may be present on either side of the channel control unit 11 or the disk control unit 14.

ホストコンピュータ100は、例えば、パーソナルコンピュータやワークステーション等から構成されるもので、データベースを扱うアプリケーションプログラム110(以下、アプリケーションと略記)を有する。また、図示を省略しているが、ホストコンピュータ100は、例えば、ポインティングデバイス、キーボードスイッチ、モニタディスプレイ等を通じてオペレータと情報を交換するためのユーザインターフェースを備えている。アプリケーション110は、ディスク制御装置200を介して記憶装置400内のデータにアクセスすることにより、所定の業務を処理する。   The host computer 100 is composed of, for example, a personal computer, a workstation, or the like, and has an application program 110 (hereinafter abbreviated as application) that handles a database. Although not shown, the host computer 100 includes a user interface for exchanging information with an operator through, for example, a pointing device, a keyboard switch, a monitor display, and the like. The application 110 processes predetermined work by accessing data in the storage device 400 via the disk control device 200.

ディスク制御装置200は、記憶装置400を制御するもので、チャネルポート210、マイクロプロセッサ220及びバッファメモリ230を備えている。   The disk controller 200 controls the storage device 400, and includes a channel port 210, a microprocessor 220, and a buffer memory 230.

マイクロプロセッサ220は、チャネルポート210を介して、ホストコンピュータ100と双方向のデータ通信を行う。マイクロプロセッサ220は、ディスク制御プログラム300を実行する。ディスク制御プログラム300には、書き込み制御処理310、書込みデータ処理320、ディスク管理処理330、データ回復制御処理340、データ回復処理350、データ同期処理360が含まれている。   The microprocessor 220 performs bidirectional data communication with the host computer 100 via the channel port 210. The microprocessor 220 executes the disk control program 300. The disk control program 300 includes a write control process 310, a write data process 320, a disk management process 330, a data recovery control process 340, a data recovery process 350, and a data synchronization process 360.

主要な処理については、詳細をさらに後述するが、書込み制御処理310は、主としてデータ書込み時の書込み制御情報(ジャーナル制御情報)を管理するものである。書込みデータ処理320は、所定のディスク装置へのデータ書込みを行うものである。ディスク管理処理330は、主としてジャーナルデータ格納ディスク430の管理を行うものである。データ回復制御処理340は、ホストコンピュータ100から設定される回復契機の登録と、登録された回復契機のリストデータをホストコンピュータ100に送信するものである。データ回復処理350は、指定されたディスク装置のデータを指定された時点まで回復させるものである。データ同期処理360は、ホストコンピュータ100からの指示に応じて、データのバックアップ処理を行うものである。   The main processing will be described in detail later, but the write control processing 310 mainly manages write control information (journal control information) at the time of data writing. The write data processing 320 performs data writing to a predetermined disk device. The disk management process 330 mainly manages the journal data storage disk 430. The data recovery control process 340 transmits the recovery trigger registration set from the host computer 100 and the registered recovery trigger list data to the host computer 100. The data recovery process 350 recovers data of a specified disk device up to a specified time. The data synchronization process 360 performs a data backup process in response to an instruction from the host computer 100.

バッファメモリ230には、例えば、回復データ情報D10、ジャーナルデータD20、書込み制御情報D30、更新データD40が記憶されている。回復データ情報D10は、データの回復処理(復旧処理)の履歴情報であり、例えば、データ回復先や回復時点等を記録している。ジャーナルデータD20は、データ操作の更新履歴であり、バッファメモリ230から順次ジャーナル格納ディスク430に移される。書込み制御情報D30は、任意の時点にデータを回復させるために必要な情報を含んでいる。更新データD40は、アプリケーション110により更新が指示されたデータであり、バッファメモリ230からデータ格納ディスク410に移される。なお、以上のデータは、バッファメモリ230上に同時に存在する必要はない。また、説明の便宜上、バッファメモリ230を単一のメモリのように示したが、例えば、複数種類のメモリ装置の集合体として構成してもよい。   In the buffer memory 230, for example, recovery data information D10, journal data D20, write control information D30, and update data D40 are stored. The recovery data information D10 is history information of data recovery processing (recovery processing), and records, for example, a data recovery destination and a recovery time. The journal data D20 is an update history of data operation, and is sequentially transferred from the buffer memory 230 to the journal storage disk 430. The write control information D30 includes information necessary for recovering data at an arbitrary time. The update data D40 is data instructed to be updated by the application 110, and is transferred from the buffer memory 230 to the data storage disk 410. The above data need not exist on the buffer memory 230 at the same time. For convenience of explanation, the buffer memory 230 is shown as a single memory, but may be configured as an aggregate of a plurality of types of memory devices, for example.

大容量記憶装置400は、データ格納ディスク410、バックアップデータ格納ディスク420及びジャーナルデータ格納ディスク430を備えている。データ格納ディスク410には、現在使用中の最新データ(実データ)が格納されている。バックアップデータ格納ディスク420には、ある時点のバックアップデータが格納されている。ジャーナルデータ格納ディスク430には、ジャーナルデータが格納されている。なお、各ディスク410〜430は、正確にはディスク装置であり、それぞれ複数のディスクを備えている。以下、データ格納ディスクをデータディスク、バックアップデータ格納ディスクをバックアップディスク、ジャーナルデータ格納ディスクをジャーナルディスクと呼ぶ。   The mass storage device 400 includes a data storage disk 410, a backup data storage disk 420, and a journal data storage disk 430. The data storage disk 410 stores the latest data (actual data) currently in use. The backup data storage disk 420 stores backup data at a certain point in time. Journal data is stored in the journal data storage disk 430. Note that each of the disks 410 to 430 is precisely a disk device, and includes a plurality of disks. Hereinafter, the data storage disk is called a data disk, the backup data storage disk is called a backup disk, and the journal data storage disk is called a journal disk.

図3は、ジャーナルデータD20及び書込み制御情報D30の概略構造を示すデータ構造図である。   FIG. 3 is a data structure diagram showing a schematic structure of the journal data D20 and the write control information D30.

本実施の形態によるジャーナルデータD20は、書込み制御情報D30と更新データ(書込みデータ)D40とが含まれている。書込み制御情報D30は、ジャーナル制御情報としての機能を果たすもので、例えば、データ書込み位置D31、データサイズD32、タイムスタンプD33、回復フラグD34、その他制御情報D35等の情報を含んでいる。データ書込み位置D31は、どのディスク装置のどこにデータが書き込まれたかを示す位置情報である。データサイズD32は、書き込まれたデータのサイズを示す情報である。タイムスタンプD33は、データ書込み時刻を示す情報である。回復フラグD34は、回復可能な時点(復元ポイント)であることを示す標識情報であり、回復フラグD34をセットすると、回復可能なデータとして設定され、回復フラグD34をリセットすると、復元ポイントの設定が解除される。その他の制御情報D35には、例えば、書込み制御情報D30を一意に特定するための制御番号やデータ種別等のその他必要な情報が含まれる。   The journal data D20 according to the present embodiment includes write control information D30 and update data (write data) D40. The write control information D30 functions as journal control information, and includes information such as a data write position D31, a data size D32, a time stamp D33, a recovery flag D34, and other control information D35, for example. The data writing position D31 is position information indicating where and in which disk device data is written. The data size D32 is information indicating the size of the written data. The time stamp D33 is information indicating the data writing time. The recovery flag D34 is indicator information indicating that it is a recoverable time point (restoration point). When the recovery flag D34 is set, it is set as recoverable data. When the recovery flag D34 is reset, the recovery point is set. Canceled. The other control information D35 includes, for example, other necessary information such as a control number and a data type for uniquely specifying the write control information D30.

本実施形態では、図3に示すように、ジャーナルデータD20の構造を独自に拡張し、ジャーナルデータD20内に回復フラグD34を設けている。これにより、少量のデータを追加するだけで任意の時点を回復可能時点として自由に設定することができ、任意の時点にデータを回復させることができる。但し、これに限らず、ジャーナルデータD20と回復フラグD34とを分離し、ユニークなID(識別コード)等で両者を対応付ける構成でもよい。   In the present embodiment, as shown in FIG. 3, the structure of the journal data D20 is uniquely expanded, and a recovery flag D34 is provided in the journal data D20. Thus, any time point can be freely set as a recoverable time point simply by adding a small amount of data, and data can be recovered at any time point. However, the present invention is not limited to this, and the journal data D20 and the recovery flag D34 may be separated and associated with each other by a unique ID (identification code) or the like.

次に、図4は、ホストコンピュータ100及びディスク制御装置200のプログラム構造の概略を示すブロック図である。   Next, FIG. 4 is a block diagram showing an outline of the program structure of the host computer 100 and the disk control device 200.

アプリケーション110は、ホストコンピュータ100のOS120を介してディスク制御プログラム300と双方向のデータ通信を行う。OS120は、API(Application Program Interface)群130を有する。API群130には、データ書込み用API131、回復契機通知用API132、回復契機リスト取得要求用API133、回復指示用API134が含まれている。アプリケーション110は、これらAPI131〜134を適宜呼び出して利用することにより、所望の時点を回復契機として設定し、設定済の回復契機リストを読み出し、所望の時点を選択してデータの回復を指示することができる。   The application 110 performs bidirectional data communication with the disk control program 300 via the OS 120 of the host computer 100. The OS 120 has an API (Application Program Interface) group 130. The API group 130 includes a data write API 131, a recovery trigger notification API 132, a recovery trigger list acquisition request API 133, and a recovery instruction API 134. The application 110 calls and uses these APIs 131 to 134 as appropriate, sets a desired time point as a recovery opportunity, reads a set recovery opportunity list, selects the desired time point, and instructs data recovery. Can do.

図4を参照しつつ全体の動作を簡単に説明する。アプリケーション110が、データ書込み用API131を介して、ディスク制御装置200にデータ更新要求(コミット要求)を指示すると(S1)、ディスク制御プログラム300の書込み制御処理310は、書込みデータ処理320を介して所定のディスクにデータを書き込ませ、更新要求を処理した旨をアプリケーション110に通知する(S2)。   The overall operation will be briefly described with reference to FIG. When the application 110 issues a data update request (commit request) to the disk controller 200 via the data write API 131 (S1), the write control process 310 of the disk control program 300 is predetermined via the write data process 320. The data is written to the disk and the application 110 is notified that the update request has been processed (S2).

アプリケーション110は、業務処理中に、例えば、定期的に又は不定期に所望の時点を、回復可能な時点としての回復契機(復元ポイント)として設定することができる。アプリケーション110は、回復契機通知用API132を呼び出すことにより、回復契機を設定するデータをディスク制御装置200に対し指示する(S3)。回復契機が通知されると、ディスク制御プログラム300のデータ回復制御処理340は、指定されたデータの回復フラグをセットし、回復契機が設定された旨をアプリケーション110に通知する(S4)。   During the business process, the application 110 can set a desired time point as a recovery opportunity (restoration point) as a recoverable time point, for example, regularly or irregularly. The application 110 instructs the disk controller 200 on data for setting a recovery trigger by calling the recovery trigger notification API 132 (S3). When the recovery opportunity is notified, the data recovery control processing 340 of the disk control program 300 sets the recovery flag of the designated data, and notifies the application 110 that the recovery opportunity has been set (S4).

障害発生等の要因によりデータを回復させる場合は、アプリケーション110は、回復契機リスト取得要求用API133を呼び出し、回復可能な時点のリスト情報をディスク制御装置200に要求する(S5)。リストを要求されると、データ回復制御処理340は、ジャーナルディスク430を検査して回復フラグがセットされたデータの情報を取得し、回復契機リストを作成する。データ回復制御処理340は、回復契機リストをアプリケーション110に返信する(S6)。   When data is recovered due to a failure or the like, the application 110 calls the recovery opportunity list acquisition request API 133 and requests the disk control device 200 for list information at a recoverable time (S5). When a list is requested, the data recovery control process 340 examines the journal disk 430 to obtain information on data for which the recovery flag is set, and creates a recovery opportunity list. The data recovery control process 340 returns a recovery opportunity list to the application 110 (S6).

アプリケーション110は、メモリ140に格納された回復契機リストを参照し、回復を希望する時点を少なくとも1つ選択する。アプリケーション110は、回復指示用API134を呼び出すことにより、希望する時点まで所定ディスクのデータを回復させるように、ディスク制御装置200に指示する(S8)。データ回復処理350は、アプリケーション110から回復指示を受けると、バックアップディスク420及びジャーナルディスク430を用いて、指定されたデータを指定された時点まで回復させる。回復処理350は、回復処理が完了した旨をアプリケーション110に通知する(S9)。   The application 110 refers to the recovery opportunity list stored in the memory 140 and selects at least one time point at which recovery is desired. The application 110 instructs the disk controller 200 to restore the data on the predetermined disk to a desired time by calling the recovery instruction API 134 (S8). When receiving a recovery instruction from the application 110, the data recovery process 350 uses the backup disk 420 and the journal disk 430 to recover the specified data to a specified time. The recovery process 350 notifies the application 110 that the recovery process has been completed (S9).

次に、図5〜図9を参照して各部の詳細な制御を説明する。まず、図5は、書込み制御処理を示すフローチャートである。なお、以下の説明でも同様であるが、図示するフローチャートは発明の理解のために動作の要部を示すものであり、実際のプログラムとは相違する可能性がある。図中、「ステップ」を「S」と略記する。   Next, detailed control of each unit will be described with reference to FIGS. First, FIG. 5 is a flowchart showing the write control process. Although the same applies to the following description, the flowchart shown in the drawing shows a main part of the operation for understanding the invention, and may be different from an actual program. In the figure, “step” is abbreviated as “S”.

アプリケーション110が書込み要求を出すと、バッファメモリ230上のデータD40が更新されると共に(S21)、バッファメモリ230上の書込み制御情報D30が更新される(S22)。次に、ジャーナルディスク430に十分な空き容量があるか否かを判定する(S23)。例えば、ジャーナルディスク430の現在の空き容量が、これから書き込もうとするデータのデータサイズを上回っているか否かで判定することができる。ジャーナルディスク430の空き容量が不足している場合は(S23:NO)、図6と共に後述するジャーナルディスク管理処理を実行して空き容量を確保し(S24)、必要な場合は、バッファメモリ230上の書込み制御情報を更新する(S25)。必要な場合とは、例えば、後述のジャーナル自動拡張により、ジャーナルデータの書込み位置が変動等した場合である。   When the application 110 issues a write request, the data D40 on the buffer memory 230 is updated (S21), and the write control information D30 on the buffer memory 230 is updated (S22). Next, it is determined whether the journal disk 430 has sufficient free space (S23). For example, it can be determined based on whether or not the current free capacity of the journal disk 430 exceeds the data size of data to be written. When the free space of the journal disk 430 is insufficient (S23: NO), a free space is secured by executing journal disk management processing described later with reference to FIG. 6 (S24), and if necessary, it is stored on the buffer memory 230. The write control information is updated (S25). The case where it is necessary is, for example, a case where the writing position of journal data fluctuates due to automatic journal expansion described later.

ジャーナルディスク430に十分な空き容量が存在した場合(S23:YES)及びジャーナルディスク430に十分な空き容量が確保された場合は、書込みデータD40及び書き込み制御情報D30(即ち、ジャーナルデータD20)をジャーナルディスク430に追加して書き込む(S26)。また、バッファメモリ230上の書込みデータD40をデータディスク410の所定位置に書き込み(S27)、データ書込みが完了した旨をホストコンピュータ100(正確にはホストコンピュータ100上のアプリケーション110である。以下同様)に通知する(S28)。   When sufficient free space exists in the journal disk 430 (S23: YES) and when sufficient free space is secured in the journal disk 430, the write data D40 and the write control information D30 (that is, journal data D20) are journaled. The data is additionally written to the disk 430 (S26). Further, the write data D40 on the buffer memory 230 is written to a predetermined position of the data disk 410 (S27), and the fact that the data writing is completed is the host computer 100 (specifically, the application 110 on the host computer 100. The same applies hereinafter). (S28).

なお、S26及びS27は、本書込み制御処理とは別契機(非同期)に行っても良い。その場合、例えば、バッファメモリ上の該データにディスクへ反映したか否かのフラグを設けることにより管理することができる。   Note that S26 and S27 may be performed separately (asynchronously) from the write control process. In this case, for example, the data in the buffer memory can be managed by providing a flag indicating whether or not the data is reflected on the disk.

そして、バックアップ更新フラグがオンになっているか否かを判定する(S29)。バックアップ更新フラグとは、ジャーナルディスク430の空き容量を確保するために、最古のジャーナルデータをバックアップディスク420に移し替えたことを示す標識情報である。ジャーナルデータの移し替えにより、バックアップデータから回復可能な最古の時点が変更されるため、バックアップ更新フラグがオン状態にセットされている場合は(S29:YES)、バックアップデータが更新された旨をホストコンピュータ100に通知する(S30)。バックアップ更新をホストコンピュータ100に通知した後、バックアップ更新フラグをオフ状態にリセットさせる(S31)。   Then, it is determined whether the backup update flag is on (S29). The backup update flag is indicator information indicating that the oldest journal data has been transferred to the backup disk 420 in order to secure the free space of the journal disk 430. Since the earliest point of time that can be recovered from the backup data is changed by the transfer of the journal data, if the backup update flag is set to ON (S29: YES), the backup data has been updated. The host computer 100 is notified (S30). After notifying the host computer 100 of the backup update, the backup update flag is reset to the off state (S31).

次に、図6は、図5中のジャーナルディスク管理処理S24の詳細を示すフローチャートである。まず、ジャーナルディスク430の自動拡張モードが設定されているか否かを判定する(S41)。自動拡張モードとは、未使用のディスク、未使用の記憶領域を探索してジャーナルディスク430の論理的サイズを自動的に拡大させるモードである。   FIG. 6 is a flowchart showing details of the journal disk management process S24 in FIG. First, it is determined whether or not the automatic extension mode of the journal disk 430 is set (S41). The automatic expansion mode is a mode in which the logical size of the journal disk 430 is automatically expanded by searching for unused disks and unused storage areas.

自動拡張モードが設定されていない場合は(S41:NO)、ジャーナルディスク430に記憶されているジャーナルデータのうち最も古いデータを選択して、バックアップディスク420に反映させる(S42)。バックアップディスク420に移し替えられた最古のジャーナルデータは、ジャーナルディスク430から消去される(S43)。これによりジャーナルディスク430の空き容量が増加する。ジャーナルディスク430の空き容量が所定値に達するまで、最古のジャーナルデータから順番にバックアップディスク420に移し替える(S44)。ジャーナルディスク430の空き容量が所定値に達した場合は(S44:YES)、バックアップ更新フラグをオン状態にセットする(S45)。これにより、図5中のS30に示したように、バックアップデータが更新され、バックアップデータから回復可能な最古の時点が変更された旨がホストコンピュータ100に通知される。なお、S44中の所定値は、予め設定された固定値であっても良いし、例えば、バックアップディスクの空き容量やデータディスク410に書き込まれるデータサイズ等に応じて動的に変更される値であってもよい。   If the automatic extension mode is not set (S41: NO), the oldest data among the journal data stored in the journal disk 430 is selected and reflected in the backup disk 420 (S42). The oldest journal data transferred to the backup disk 420 is deleted from the journal disk 430 (S43). As a result, the free capacity of the journal disk 430 increases. Until the free capacity of the journal disk 430 reaches a predetermined value, the oldest journal data is sequentially transferred to the backup disk 420 (S44). When the free capacity of the journal disk 430 reaches a predetermined value (S44: YES), the backup update flag is set to the on state (S45). As a result, as shown at S30 in FIG. 5, the backup data is updated, and the host computer 100 is notified that the oldest time point that can be recovered from the backup data has been changed. The predetermined value in S44 may be a fixed value set in advance, for example, a value that is dynamically changed according to the free capacity of the backup disk, the data size written to the data disk 410, and the like. There may be.

一方、ジャーナルディスク430の自動拡張モードが設定されている場合は(S41:YES)、接続されているディスク装置の中から未使用の記憶エリア(未使用エリアと呼ぶ)を検索し、ジャーナルデータを保存可能な未使用エリアが存在するか否かを判断する(S46,S47)。未使用エリアが発見されなかった場合は(S47:NO)、S42に移り、上述のように最古のジャーナルデータをバックアップディスク420に移し替えることにより、ジャーナルディスク430に空き容量を確保する。未使用エリアが発見された場合は(S47:YES)、発見された未使用エリアをジャーナルディスクとして利用すべく、ジャーナルディスク430の論理サイズを拡張すると共に、ディスク管理マップを更新する(S48)。そして、ジャーナルディスク430の論理サイズ拡張により生じた空き容量が所定値に達したか否かを判定し(S49)、ジャーナルディスク430の空き容量が所定値に達するまで、S46〜S49の処理を繰り返しながら、未使用エリアをジャーナルデータの記憶エリアとして自動的に拡張させる。   On the other hand, if the automatic extension mode of the journal disk 430 is set (S41: YES), an unused storage area (referred to as an unused area) is searched from the connected disk devices, and journal data is retrieved. It is determined whether there is a storable unused area (S46, S47). If an unused area is not found (S47: NO), the process moves to S42, and the oldest journal data is transferred to the backup disk 420 as described above, thereby securing a free space in the journal disk 430. When an unused area is found (S47: YES), the logical size of the journal disk 430 is expanded and the disk management map is updated to use the found unused area as a journal disk (S48). Then, it is determined whether or not the free space generated by the logical size expansion of the journal disk 430 has reached a predetermined value (S49), and the processes of S46 to S49 are repeated until the free space of the journal disk 430 reaches a predetermined value. However, the unused area is automatically expanded as a journal data storage area.

次に、図7は、ホストコンピュータ100から指示される回復契機の登録処理を示す。上述の通り、本実施形態では、ホストコンピュータ100は、任意の時点を回復可能な契機(復元ポイント)として複数個設定することができる。   Next, FIG. 7 shows a registration process of a recovery opportunity instructed from the host computer 100. As described above, in this embodiment, the host computer 100 can set a plurality of times (restoration points) that can be recovered at any point in time.

登録すべき回復契機がホストコンピュータ100からディスク制御装置200に通知されると、データ回復制御処理340は、ジャーナルディスク430に記憶されている最新データの位置を検索し(S51)、最新の書込みデータに対応する書込み制御情報中の回復フラグをオン状態にセットして更新する(S52)。そして、ホストコンピュータ100に、回復契機の設定が完了した旨を報告すると共に、書込み制御情報を特定するための制御番号を通知する(S53)。このように、ホストコンピュータ100のアプリケーション110は、データ書込み時に、任意の時点のデータについて回復契機を設定指示できるようになっている。   When the recovery timing to be registered is notified from the host computer 100 to the disk controller 200, the data recovery control processing 340 searches the position of the latest data stored in the journal disk 430 (S51), and the latest write data The recovery flag in the write control information corresponding to is set to the on state and updated (S52). Then, the host computer 100 is notified that the setting of the recovery opportunity has been completed, and is notified of the control number for specifying the write control information (S53). As described above, the application 110 of the host computer 100 can instruct setting of a recovery opportunity for data at an arbitrary point in time when data is written.

次に、図8は、ホストコンピュータ100からの要求に応じて、回復契機のリスト情報を返信する回復契機リストの送信処理を示す。まず、ジャーナルディスク430のうち、ホストコンピュータ100から回復を指定されたデータに対応するディスクを選択し、選択されたディスク中の最古のジャーナルデータにポインタを合わせる(S61)。   Next, FIG. 8 shows a transmission process of a recovery opportunity list that returns recovery opportunity list information in response to a request from the host computer 100. First, of the journal disks 430, the disk corresponding to the data designated for recovery from the host computer 100 is selected, and the pointer is set to the oldest journal data in the selected disk (S61).

そして、最古のジャーナルデータから読み込み(S62)、読み込んだジャーナルデータに関する書き込み制御情報中の回復フラグがオン状態にセットされているか否かを検査し(S63)、回復フラグがセットされている場合は、読み込んだジャーナルデータを回復契機のリスト情報に追加して記録する(S64)。S61で選択されたディスクに記憶されている最終データを読み出すまで、上記S62〜S64が繰り返される(S65)。このようにして、指定されたデータに対応するジャーナルデータを最古のデータから最新のデータまで順番に検査し、回復フラグがセットされているジャーナルデータを抽出して回復契機リストを生成する。生成された回復契機リストは、完了報告と共にまたは非同期にホストコンピュータ100に送信される(S66)。   When the oldest journal data is read (S62), it is checked whether the recovery flag in the write control information relating to the read journal data is set to ON (S63), and the recovery flag is set Records the read journal data in addition to the recovery opportunity list information (S64). S62 to S64 are repeated until the final data stored in the disk selected in S61 is read (S65). In this way, the journal data corresponding to the designated data is inspected in order from the oldest data to the latest data, the journal data in which the recovery flag is set is extracted, and the recovery opportunity list is generated. The generated recovery opportunity list is transmitted to the host computer 100 together with the completion report or asynchronously (S66).

次に、図9は、データ回復処理を示す。ホストコンピュータ100上のアプリケーションプログラム110は、図8に示す処理により取得した回復契機のリスト情報に基づいて、所望の時点までデータの回復を指示することができる。   Next, FIG. 9 shows data recovery processing. The application program 110 on the host computer 100 can instruct data recovery to a desired time point based on the recovery opportunity list information acquired by the processing shown in FIG.

ホストコンピュータ100から回復指示が通知されると、データ回復処理350は、バックアップディスク420及びジャーナルディスク430のうち、回復が指定されたデータに対応するディスクをそれぞれ選択する(S71)。   When a recovery instruction is notified from the host computer 100, the data recovery processing 350 selects a disk corresponding to the data specified for recovery from the backup disk 420 and the journal disk 430 (S71).

次に、ホストコンピュータ100からデータ回復先として指定されたディスクがバックアップディスク420であるか否かを判定する(S72)。つまり、本実施形態では、バックアップディスク420以外の他のディスク装置に、指定された時点までのデータを回復させることができるようになっている。回復先として指定されたディスク装置がバックアップディスク420以外の他のディスク装置である場合は、バックアップディスク420に記憶されているバックアップデータを、指定されたディスク装置にコピーし、データ回復の土台となるバックアップデータの準備を完了させる(S73)。   Next, it is determined whether the disk designated as the data recovery destination from the host computer 100 is the backup disk 420 (S72). In other words, in the present embodiment, data up to a specified time can be recovered to a disk device other than the backup disk 420. When the disk device designated as the recovery destination is a disk device other than the backup disk 420, the backup data stored in the backup disk 420 is copied to the designated disk device, which becomes the basis for data recovery. Preparation of backup data is completed (S73).

次に、ジャーナルディスク430から最古のジャーナルデータを検索し(S74)、最古のジャーナルデータから順番にデータを読み出して、回復先に指定されたディスクの記憶内容に反映させていく(S75)。ホストコンピュータ100から指定された時点までデータが回復されるまで、ジャーナルデータを読み出して、回復先ディスクの記憶内容を更新させる(S76)。   Next, the oldest journal data is searched from the journal disk 430 (S74), the data is read in order from the oldest journal data, and reflected in the storage contents of the disk designated as the recovery destination (S75). . Until the data is recovered from the host computer 100 to the designated time, the journal data is read and the storage contents of the recovery destination disk are updated (S76).

指定された時点までデータが回復した場合は、ホストコンピュータ100にデータ回復が完了した旨を通知する(S77)。また、回復時点及び回復先等の情報を回復データ情報D10に記録する(S78)。   If the data has been recovered to the designated time, the host computer 100 is notified that the data recovery has been completed (S77). Further, information such as the recovery time and the recovery destination is recorded in the recovery data information D10 (S78).

本実施の形態によれば、外部記憶装置内で自動的にデータの回復を行うため、ホストコンピュータ100のコンピュータ資源をデータ回復処理のために消費することがなく、ホストコンピュータ100上の他の業務処理の効率を低下させることがない。特に、大容量の外部記憶装置を用いるアプリケーション110では、大規模なデータを取り扱うため、データ回復処理の負担が大きくなり、コンピュータ資源を多量に消費する。従って、ホストコンピュータ100上で行われる他の業務の処理速度が低下する上に、データ回復完了までの処理時間も長くなる。しかし、本実施形態では、回復契機の設定指示、回復契機リストの取得要求及び回復指示という僅かな処理だけをホストコンピュータ100で実行し、実際のデータ回復処理を外部記憶装置に委ねる構成のため、ホストコンピュータ100の負担を軽減することができる。外部記憶装置内でデータの回復を行っている間、ホストコンピュータ100は、他の業務を効率的に処理することができる。   According to the present embodiment, since data is automatically recovered in the external storage device, the computer resources of the host computer 100 are not consumed for data recovery processing, and other tasks on the host computer 100 are performed. Processing efficiency is not reduced. In particular, the application 110 using a large-capacity external storage device handles a large amount of data, so that the burden of data recovery processing increases, and a large amount of computer resources are consumed. Accordingly, the processing speed of other tasks performed on the host computer 100 is reduced, and the processing time until the completion of data recovery is increased. However, in the present embodiment, since the host computer 100 executes only a few processes such as a recovery trigger setting instruction, a recovery trigger list acquisition request, and a recovery instruction, the actual data recovery process is left to the external storage device. The burden on the host computer 100 can be reduced. While performing data recovery in the external storage device, the host computer 100 can efficiently process other tasks.

また、任意の複数時点を回復契機として設定可能であり、所望の時点までデータを回復可能なため、単純に直前のデータに回復させるだけの従来技術とは異なり、利便性が高い。   In addition, since it is possible to set a plurality of arbitrary time points as a recovery opportunity and data can be recovered to a desired time point, it is highly convenient unlike the conventional technique in which data is simply recovered to the immediately preceding data.

さらに、本実施形態では、回復契機の設定指示や回復契機リストの取得要求等をホストコンピュータ100側から行うためのAPI131〜134を用意したので、これら独自のAPIをホストコンピュータが備えるだけで、本発明に従う外部記憶装置を利用可能となる。   Furthermore, in this embodiment, APIs 131 to 134 for performing a setting instruction for a recovery opportunity, a request for acquisition of a recovery opportunity list, and the like from the host computer 100 side are prepared. Therefore, the host computer only includes these unique APIs. An external storage device according to the invention can be used.

また、本実施形態では、外部記憶装置内でジャーナルデータを自動的に収集すると共に、ジャーナルディスク430の空き容量管理も行うため、ジャーナルディスク430が満杯となってデータ回復が不能となるのを未然に防止できる。   In the present embodiment, journal data is automatically collected in the external storage device, and the free space management of the journal disk 430 is also performed, so that the journal disk 430 becomes full and data recovery becomes impossible. Can be prevented.

また、本実施形態では、ジャーナルデータD20のデータ構造を拡張し、ジャーナルデータD20内に(ジャーナル制御情報としての書込み制御情報D30内に)回復フラグを設定する構成のため、比較的簡易な構成でありながら、任意の複数時点へのデータ回復を実現することができる。   In this embodiment, since the data structure of the journal data D20 is expanded and the recovery flag is set in the journal data D20 (in the write control information D30 as journal control information), the configuration is relatively simple. Nevertheless, it is possible to realize data recovery to any plurality of time points.

図10は、本発明の第2の実施形態を示す。本実施形態では、複数世代のデータ管理を行っている。即ち、最新のデータを保持するデータディスク410に加えて、1世代前のデータを格納する1世代前データディスク410(1GA)、2世代前のデータを格納する2世代前データディスク410(2GA)等のように、複数世代でデータを管理できる。   FIG. 10 shows a second embodiment of the present invention. In this embodiment, multiple generations of data are managed. That is, in addition to the data disk 410 that holds the latest data, the data disk 410 (1GA) that stores the data before one generation, the data disk 410 (1GA) that stores data before the second generation, and the data disk 410 (2GA) that stores data before the second generation. As described above, data can be managed in multiple generations.

例えば、1世代前データディスク410(1GA)にバックアップディスク420の記録内容をリストアした後、ジャーナルディスク430に記憶されているデータdBのジャーナルデータを読み出して1世代前データディスク410(1GA)に反映させれば、1世代前のデータに戻すことができる。同様に、2世代前データディスク410(2GA)に、バックアップデータをコピーしてからデータdB及びデータdCのジャーナルデータを反映させることにより、2世代前のデータに戻すことができる。このように、複数世代でデータを管理する場合も、本発明に従えば、ホストコンピュータ100に処理負担をかけることなく、外部記憶装置内で複数世代のデータを構築し管理することができる。   For example, after restoring the recorded contents of the backup disk 420 to the previous generation data disk 410 (1GA), the journal data of the data dB stored in the journal disk 430 is read and reflected in the previous generation data disk 410 (1GA). By doing so, it is possible to return to the data of the previous generation. Similarly, by copying the backup data to the data disk 410 (2GA) two generations before and reflecting the journal data of the data dB and data dC, it is possible to return to the data two generations before. As described above, even when data is managed in multiple generations, according to the present invention, it is possible to construct and manage multiple generations of data in the external storage device without imposing a processing burden on the host computer 100.

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

本発明の第1の実施の形態に係る外部記憶システムの概略構成図である。1 is a schematic configuration diagram of an external storage system according to a first embodiment of the present invention. 図1に示す記憶装置システムの概略を示すブロック図である。FIG. 2 is a block diagram showing an outline of the storage device system shown in FIG. 1. ジャーナルデータ及び書込み制御情報の構造を示すデータ構造図である。It is a data structure figure which shows the structure of journal data and write-control information. ホストコンピュータ及びディスク制御装置のプログラム構造を示すブロック図である。It is a block diagram which shows the program structure of a host computer and a disk control apparatus. 書込み制御処理を示すフローチャートである。It is a flowchart which shows a write-control process. ジャーナルディスク管理処理を示すフローチャートである。It is a flowchart which shows a journal disk management process. ホストコンピュータから回復契機を通知された場合のデータ回復制御処理を示すフローチャートである。It is a flowchart which shows the data recovery control processing when the recovery opportunity is notified from the host computer. ホストコンピュータから回復契機リストの送信を要求された場合のデータ回復制御処理を示すフローチャートである。It is a flowchart which shows the data recovery control process when transmission of a recovery opportunity list | wrist is requested | required from a host computer. ホストコンピュータから回復を指示された場合のデータ回復処理を示すフローチャートである。It is a flowchart which shows the data recovery process when recovery is instruct | indicated from the host computer. 複数世代でデータ管理を行う場合の模式図である。It is a schematic diagram in the case of performing data management in multiple generations.

符号の説明Explanation of symbols

10 記憶デバイス制御装置
11 チャネル制御部
12 共有メモリ
13 キャッシュメモリ
14 ディスク制御部
15 接続部
16 管理端末
17 内部LAN
20 情報処理装置
30 記憶デバイス
40 LAN
50 SAN
60,61 記憶装置システム
70,71 バックアップデバイス
100 ホストコンピュータ
110 アプリケーションプログラム
120 OS
130 API
131 データ書込み用API
132 回復契機通知用API
133 回復契機取得要求用API
134 回復指示用API
140 メモリ
200 ディスク制御装置
210 チャネルポート
220 マイクロプロセッサ
230 バッファメモリ
300 ディスク制御プログラム
310 書込み制御処理
320 書込みデータ処理
330 ディスク管理処理
340 データ回復制御処理
350 データ回復処理
360 データ同期処理
400 大容量記憶装置
410 データ格納ディスク装置
420 バックアップデータ格納ディスク装置
430 ジャーナルデータ格納ディスク装置
DESCRIPTION OF SYMBOLS 10 Storage device control apparatus 11 Channel control part 12 Shared memory 13 Cache memory 14 Disk control part 15 Connection part 16 Management terminal 17 Internal LAN
20 Information processing device 30 Storage device 40 LAN
50 SAN
60, 61 Storage system 70, 71 Backup device 100 Host computer 110 Application program 120 OS
130 API
131 API for data writing
132 Recovery timing notification API
133 Recovery request acquisition API
134 Recovery instruction API
140 Memory 200 Disk Controller 210 Channel Port 220 Microprocessor 230 Buffer Memory 300 Disk Control Program 310 Write Control Processing 320 Write Data Processing 330 Disk Management Processing 340 Data Recovery Control Processing 350 Data Recovery Processing 360 Data Synchronization Processing 400 Mass Storage Device 410 Data storage disk device 420 Backup data storage disk device 430 Journal data storage disk device

Claims (10)

複数のコンピュータに接続される記憶システムであって、A storage system connected to a plurality of computers,
前記複数のコンピュータのうちの少なくとも一つから更新要求を受信する制御装置と、A control device for receiving an update request from at least one of the plurality of computers; 前記更新要求の更新データによってデータが更新されるデータ格納ボリュームと、A data storage volume in which data is updated by update data of the update request;
復元可能な前記データ格納ボリュームのある時点のデータを識別する情報である復元ポイントと、前記データ格納ボリューム内の更新データに対応するデータを含むジャーナルデータとを、それぞれ複数記憶するジャーナルデータ格納ボリュームと、A journal data storage volume for storing a plurality of restore points, which are information for identifying data at a certain point in the data storage volume that can be restored, and journal data including data corresponding to update data in the data storage volume; ,
前記データ格納ボリュームが記憶していたデータのバックアップを記憶するバックアップデータ格納ボリュームと、を有し、A backup data storage volume for storing a backup of the data stored in the data storage volume,
前記制御装置は、The controller is
前記ジャーナルデータ格納ボリュームに記憶される複数のジャーナルデータのうちの少なくとも一つのジャーナルデータに対応するデータを、前記バックアップデータ格納ボリュームに反映した後、前記反映されたデータに対応するジャーナルデータが書き込まれていた領域を利用して、新たに前記ジャーナル格納ボリュームに書き込むべきジャーナルデータを書き込み、After reflecting data corresponding to at least one of the plurality of journal data stored in the journal data storage volume to the backup data storage volume, the journal data corresponding to the reflected data is written. Write the journal data to be newly written to the journal storage volume using the area that has been
前記ジャーナルデータと前記バックアップデータとで復元可能な複数の復元ポイントを含む情報を、前記複数のコンピュータに含まれるコンピュータに送信し、Sending information including a plurality of restoration points that can be restored with the journal data and the backup data to computers included in the plurality of computers,
前記複数の復元ポイントを含む情報を受信するコンピュータが前記複数の復元ポイントのうちから指定した復元ポイントによって特定されるジャーナルデータと、前記バックアップデータ格納ボリュームに記憶されるバックアップと、を用いて、前記指定される復元ポイントに対応するデータを前記データ格納ボリュームとは別な領域へ復元する、ことを特徴とする記憶システム。Using the journal data identified by the restoration point designated by the computer that receives the information including the plurality of restoration points among the plurality of restoration points, and the backup stored in the backup data storage volume, A storage system, wherein data corresponding to a specified restoration point is restored to an area different from the data storage volume.
請求項1に記載の記憶システムであって、The storage system of claim 1,
前記制御装置は、前記複数のコンピュータに含まれるコンピュータからの要求に応じて、前記複数の復元ポイントに関する前記情報を前記複数のコンピュータに含まれるコンピュータに送信する、ことを特徴とする記憶システム。The control apparatus transmits the information on the plurality of restoration points to a computer included in the plurality of computers in response to a request from the computer included in the plurality of computers.
請求項1又は2に記載の記憶システムであって、The storage system according to claim 1 or 2,
更新データを送信する前記コンピュータは、前記複数の復元ポイントを含む前記情報を前記制御装置から受信するコンピュータと同一である、ことを特徴とする記憶システム。  The storage system, wherein the computer that transmits update data is the same as the computer that receives the information including the plurality of restoration points from the control device.
請求項1乃至3のいずれかに記載の記憶システムであって、The storage system according to any one of claims 1 to 3,
前記複数の復元ポイントを含む前記情報を前記制御装置から受信するコンピュータは、ホストコンピュータである、ことを特徴とする記憶システム。The storage system, wherein a computer that receives the information including the plurality of restoration points from the control device is a host computer.
請求項1乃至4のいずれかに記載の記憶システムであって、The storage system according to any one of claims 1 to 4,
前記複数のコンピュータは、複数の種類のコンピュータを含む、ことを特徴とする記憶システム。The storage system, wherein the plurality of computers includes a plurality of types of computers.
請求項1乃至5のいずれかに記載の記憶システムであって、A storage system according to any one of claims 1 to 5,
前記複数の復元ポイントを含む前記情報は、前記複数の復元ポイントを含むリストである、ことを特徴とする記憶システム。The storage system, wherein the information including the plurality of restoration points is a list including the plurality of restoration points.
請求項1乃至6のいずれかに記載の記憶システムであって、The storage system according to any one of claims 1 to 6,
前記ジャーナルデータは、前記複数の復元ポイントのうちの一つに対応する前記データ格納ボリュームのデータを復元するのに必要な情報を含む、ことを特徴とする記憶システム。The storage system, wherein the journal data includes information necessary for restoring data of the data storage volume corresponding to one of the plurality of restoration points.
請求項1乃至7のいずれかに記載の記憶システムであって、A storage system according to any one of claims 1 to 7,
前記複数の復元ポイントのうちの少なくとも一つは、前記複数のコンピュータのうちの少なくとも一つにより設定される、ことを特徴とする記憶システム。The storage system according to claim 1, wherein at least one of the plurality of restoration points is set by at least one of the plurality of computers.
請求項1乃至8のいずれかに記載の記憶システムであって、A storage system according to any one of claims 1 to 8,
前記制御装置は、前記複数の復元ポイントに関する前記情報を前記制御装置に記憶する、ことを特徴とする記憶システム。The control device stores the information on the plurality of restoration points in the control device.
請求項1乃至9のいずれかに記載の記憶システムであって、A storage system according to any one of claims 1 to 9,
前記制御装置は、前記複数の復元ポイントのうちの少なくとも一つに関する情報を前記制御装置に記憶する、ことを特徴とする記憶システム。The storage system, wherein the control device stores information on at least one of the plurality of restoration points in the control device.

JP2007267844A 2007-10-15 2007-10-15 EXTERNAL STORAGE DEVICE, DATA RECOVERY METHOD FOR EXTERNAL STORAGE DEVICE, AND PROGRAM Expired - Fee Related JP4592735B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007267844A JP4592735B2 (en) 2007-10-15 2007-10-15 EXTERNAL STORAGE DEVICE, DATA RECOVERY METHOD FOR EXTERNAL STORAGE DEVICE, AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007267844A JP4592735B2 (en) 2007-10-15 2007-10-15 EXTERNAL STORAGE DEVICE, DATA RECOVERY METHOD FOR EXTERNAL STORAGE DEVICE, AND PROGRAM

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003076865A Division JP4165747B2 (en) 2003-03-20 2003-03-20 Storage system, control device, and control device program

Publications (2)

Publication Number Publication Date
JP2008033967A JP2008033967A (en) 2008-02-14
JP4592735B2 true JP4592735B2 (en) 2010-12-08

Family

ID=39123237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007267844A Expired - Fee Related JP4592735B2 (en) 2007-10-15 2007-10-15 EXTERNAL STORAGE DEVICE, DATA RECOVERY METHOD FOR EXTERNAL STORAGE DEVICE, AND PROGRAM

Country Status (1)

Country Link
JP (1) JP4592735B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101618516B1 (en) * 2015-06-10 2016-05-04 송창민 Backup and recovery system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109117086B (en) 2018-07-16 2021-09-21 北京百度网讯科技有限公司 Storage device data position processing method, device, equipment and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003503792A (en) * 1999-06-30 2003-01-28 マイクロソフト コーポレイション Recover your computer to a previous state

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07121315A (en) * 1993-10-21 1995-05-12 Fuji Xerox Co Ltd Disk array
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003503792A (en) * 1999-06-30 2003-01-28 マイクロソフト コーポレイション Recover your computer to a previous state

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101618516B1 (en) * 2015-06-10 2016-05-04 송창민 Backup and recovery system

Also Published As

Publication number Publication date
JP2008033967A (en) 2008-02-14

Similar Documents

Publication Publication Date Title
JP4165747B2 (en) Storage system, control device, and control device program
EP1624376B1 (en) Storage system and data processing system
US7418565B2 (en) Remote e copy system and a remote copy method utilizing multiple virtualization apparatuses
US6044444A (en) Remote data mirroring having preselection of automatic recovery or intervention required when a disruption is detected
JP3992427B2 (en) File system
US7577788B2 (en) Disk array apparatus and disk array apparatus control method
US7055059B2 (en) Remote data mirroring
EP1357465A2 (en) Storage system having virtualized resource
JP2007048301A (en) Apparatus and method for operating computer storage system
JP2008171387A (en) Backup system with continuous data protection
US7401251B1 (en) Architecture for managing failover and recovery after failover in a data storage environment
US7370235B1 (en) System and method for managing and scheduling recovery after a failure in a data storage environment
WO2001029647A1 (en) Storage area network system
JP6810341B2 (en) Management equipment, information processing system and management program
JP4592735B2 (en) EXTERNAL STORAGE DEVICE, DATA RECOVERY METHOD FOR EXTERNAL STORAGE DEVICE, AND PROGRAM
JP4898609B2 (en) Storage device, data recovery method, and computer system
US20070118605A1 (en) Method and computer system for information notification
EP1628218B1 (en) Storage system with storages varying in interfaces and reliability

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100427

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100623

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

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

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

Free format text: PAYMENT UNTIL: 20130924

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees