JP2013161112A - Information processor, controller, and information processing method - Google Patents

Information processor, controller, and information processing method Download PDF

Info

Publication number
JP2013161112A
JP2013161112A JP2012019856A JP2012019856A JP2013161112A JP 2013161112 A JP2013161112 A JP 2013161112A JP 2012019856 A JP2012019856 A JP 2012019856A JP 2012019856 A JP2012019856 A JP 2012019856A JP 2013161112 A JP2013161112 A JP 2013161112A
Authority
JP
Japan
Prior art keywords
data
storage device
journal
written
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012019856A
Other languages
Japanese (ja)
Other versions
JP6030308B2 (en
Inventor
Kazuaki Osawa
和晃 大澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012019856A priority Critical patent/JP6030308B2/en
Publication of JP2013161112A publication Critical patent/JP2013161112A/en
Application granted granted Critical
Publication of JP6030308B2 publication Critical patent/JP6030308B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To provide an information processor, a controller and an information processing method capable of improving performance when writing data to one or more storage devices.SOLUTION: The information processor includes: nonvolatile HDDs 105a to 105c; a nonvolatile SSD 109 capable of write at a higher speed than the HDDs 105a to 105c; an HDD write processing part 203 for writing data to the HDDs 105a to 105c; a journal write part 205 for storing the data written to the HDDs 105a to 105c respectively in the SSD 109; and a journal pointer control part 207 for invalidating the corresponding data stored in the SSD 109 after the write of the data to the HDDs 105a to 105c is completed.

Description

本発明に係るいくつかの態様は、情報処理装置、制御装置、及び情報処理方法に関する。   Some embodiments according to the present invention relate to an information processing device, a control device, and an information processing method.

現在、記憶装置の高速化、大容量化の要求に応えるべく、RAID(Dedundant Array of Inexpensive Disks)の技術が広く普及しつつある。ここで、RAIDにおけるライト機能(書込機能)の応答性能の向上を目的に、ライトキャッシュの技術が存在する(例えば、特許文献1)。特許文献1には、コントローラ内にデータを一時的に書込むライトキャッシュを設け、ホストからのライト要求に対してライトキャッシュにデータを書込んだ時点でホストに終了報告を返すことにより、書込処理時の性能低下を防ぐことが記載されている。   Currently, in order to meet the demands for higher speed and larger capacity of storage devices, RAID (Dundant Array of Inexpensive Disks) technology is becoming widespread. Here, for the purpose of improving the response performance of the write function (write function) in RAID, there is a write cache technique (for example, Patent Document 1). In Patent Document 1, a write cache for temporarily writing data is provided in the controller, and when the data is written to the write cache in response to a write request from the host, an end report is returned to the host to write It describes that performance degradation during processing is prevented.

特開2006−099802号公報JP 2006-099802 A

ここで、RAIDを構成する各HDD(Hard Disk Drive)も、通常はキャッシュメモリを備えている。HDD上のキャッシュメモリは通常揮発性メモリが使用されるため、ディスク書込完了前に電源障害等が発生するとデータが揮発してしまう。よって、信頼性を確保すべく、HDDが有するライトキャッシュ機能は無効(Disable)となっていることが多い。   Here, each HDD (Hard Disk Drive) constituting the RAID usually includes a cache memory. Since the volatile memory is usually used as the cache memory on the HDD, the data is volatilized if a power failure occurs before the disk writing is completed. Therefore, the write cache function of the HDD is often disabled (Disable) in order to ensure reliability.

また、特許文献1記載の技術は、ディスクアレイ装置を制御する制御装置自体の処理性能向上については言及されているものの、RAIDを構成する各HDDに対する信頼性向上や速度向上については、何ら考慮されていない。   In addition, although the technology described in Patent Document 1 refers to improving the processing performance of the control device itself that controls the disk array device, no consideration is given to improving the reliability and speed of each HDD constituting the RAID. Not.

本発明のいくつかの態様は前述の課題に鑑みてなされたものであり、1以上の記憶装置に対するデータ書込時の性能向上を図ることのできる情報処理装置、制御装置、及び情報処理方法を提供することを目的の1つとする。   Some aspects of the present invention have been made in view of the above-described problems, and an information processing device, a control device, and an information processing method capable of improving performance when writing data to one or more storage devices are provided. One of the purposes is to provide it.

本発明に係る情報処理装置は、不揮発性の1以上の第1の記憶装置と、前記第1の記憶装置より高速に書込可能で不揮発性の第2の記憶装置と、前記第1の記憶装置にデータを書込む第1の書込手段と、1以上の前記第1の記憶装置にそれぞれ書込むデータと、当該データを書込む前記第1の記憶装置のセクタ情報とを前記第2の記憶装置に記憶させる第2の書込手段と、書込んだデータが前記第1の記憶装置上で不揮発となった後、前記第2の記憶装置が記憶する対応するデータを無効化する無効化手段とを備える。   An information processing apparatus according to the present invention includes one or more nonvolatile first storage devices, a nonvolatile second storage device that can be written at a higher speed than the first storage device, and the first storage device. First writing means for writing data to a device, data to be written to each of the one or more first storage devices, and sector information of the first storage device to which the data is written, Second writing means for storing in the storage device and invalidation for invalidating the corresponding data stored in the second storage device after the written data becomes non-volatile on the first storage device Means.

本発明に係る制御装置は、不揮発性の1以上の前記第1の記憶装置にデータを書込む第1の書込手段と、1以上の前記第1の記憶装置にそれぞれ書込むデータと、当該データを書込む前記第1の記憶装置のセクタ情報とを、前記第1の記憶装置より高速に書込可能で不揮発性の前記第2の記憶装置に記憶させる第2の書込手段と、書込んだデータが前記第1の記憶装置上で不揮発となった後、前記第2の記憶装置が記憶する対応するデータを無効化する無効化手段とを備える。   The control device according to the present invention includes a first writing means for writing data to the one or more nonvolatile first storage devices, data to be written to each of the one or more first storage devices, Second writing means for writing sector information of the first storage device to which data is written to the second storage device, which is writable at a higher speed than the first storage device and is nonvolatile, Invalidation means for invalidating the corresponding data stored in the second storage device after the stored data becomes non-volatile on the first storage device.

本発明に係る情報処理方法は、不揮発性の1以上の前記第1の記憶装置にデータを書込むステップと、1以上の前記第1の記憶装置にそれぞれ書込むデータと、当該データを書込む前記第1の記憶装置のセクタ情報とを、前記第1の記憶装置より高速に書込可能で不揮発性の前記第2の記憶装置に記憶させるステップと、書込んだデータが前記第1の記憶装置上で不揮発となった後、前記第2の記憶装置が記憶する対応するデータを無効化するステップとを備える。   An information processing method according to the present invention includes a step of writing data to one or more nonvolatile first storage devices, data to be written to each of the one or more first storage devices, and writing the data. The sector information of the first storage device is stored in the second storage device that is writable at a higher speed than the first storage device, and the written data is stored in the first storage device. Invalidating the corresponding data stored in the second storage device after becoming non-volatile on the device.

なお、本発明において、「部」とは、単に物理的手段を意味するものではなく、その「部」が有する機能をソフトウェアによって実現する場合も含む。また、1つの「部」が有する機能が2つ以上の物理的手段や装置により実現されても、2つ以上の「部」の機能が1つの物理的手段や装置により実現されても良い。   In the present invention, the “part” does not simply mean a physical means, but includes a case where the function of the “part” is realized by software. Further, the function of one “unit” may be realized by two or more physical means or devices, or the function of two or more “units” may be realized by one physical means or device.

本発明によれば、1以上の記憶装置に対するデータ書込時の性能向上を図ることのできる情報処理装置、制御装置、及び情報処理方法を提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, the information processing apparatus, control apparatus, and information processing method which can aim at the performance improvement at the time of the data writing with respect to one or more memory | storage devices can be provided.

本発明の実施形態におけるサーバの概略構成を示す機能ブロック図である。It is a functional block diagram which shows schematic structure of the server in embodiment of this invention. 図1に示したサーバが有するディスクアレイコントローラのライト機能に係る機能ブロック図である。FIG. 2 is a functional block diagram relating to a write function of a disk array controller included in the server shown in FIG. 1. 図1に示したサーバによるジャーナルデータの管理方法を説明するための図である。It is a figure for demonstrating the management method of the journal data by the server shown in FIG. 図1に示したサーバによる書込処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the write-in process by the server shown in FIG. 図1に示したサーバによるデータ復旧処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the data recovery process by the server shown in FIG.

以下に本発明の実施形態を説明する。以下の説明及び参照する図面の記載において、同一又は類似の構成には、それぞれ同一又は類似の符号が付されている。   Embodiments of the present invention will be described below. In the following description and the description of the drawings to be referred to, the same or similar components are denoted by the same or similar reference numerals.

(実施形態)
図1乃至図5は、本発明の実施形態を説明するための図である。以下、これらの図を参照しながら実施形態を詳細に説明する。
(Embodiment)
1 to 5 are diagrams for explaining an embodiment of the present invention. Hereinafter, embodiments will be described in detail with reference to these drawings.

(概要)
図1は、本発明に係る情報処理装置の実施形態であるサーバ10の概略構成を示す機能ブロック図である。図1に係るサーバ10は、ホスト101と、ディスクアレイコントローラ103と、ディスクアレイ105を構成するHDD105a乃至105cと、バッテリバックアップユニット107と、SSD109とを含む。
(Overview)
FIG. 1 is a functional block diagram showing a schematic configuration of a server 10 which is an embodiment of an information processing apparatus according to the present invention. A server 10 according to FIG. 1 includes a host 101, a disk array controller 103, HDDs 105 a to 105 c constituting a disk array 105, a battery backup unit 107, and an SSD 109.

サーバ10は、オープンアーキテクチャのサーバであり、論理的に1つの記憶装置を構成するディスクアレイ105にデータを格納する装置である。そして、ディスクアレイコントローラ103が、HDD105a乃至105cへのそれぞれの書込データ(Writeデータ)のジャーナル機能をSSD(Solid State Disk)109を用いて実現することで、HDD105a乃至105cへ書込むデータを保障する機能を持つ。これにより、電源障害等に伴うデータロスト(データの揮発/消滅/紛失)のリスクを抑制すると共に、ディスクアレイ105を構成するHDD(Hard Disk Drive)105a乃至105cのライトキャッシュ(Writeキャッシュ)機能を有効(Enable)にすることが可能となり、結果として、サーバ10全体の性能向上を図っている。   The server 10 is an open architecture server and is a device that stores data in the disk array 105 that logically configures one storage device. The disk array controller 103 implements a journal function for writing data (write data) to the HDDs 105a to 105c by using an SSD (Solid State Disk) 109, thereby guaranteeing data to be written to the HDDs 105a to 105c. It has a function to do. As a result, the risk of data loss (data volatilization / disappearance / loss) due to a power failure or the like is suppressed, and the write cache (write cache) function of HDDs (Hard Disk Drives) 105a to 105c constituting the disk array 105 is provided. As a result, the performance of the entire server 10 is improved.

ここで、HDD105a乃至105cと、ディスクアレイコントローラ103とは、それぞれキャッシュメモリ105a1乃至105c1と、キャッシュメモリ103aとを有する。本実施形態でSSD109を用いたジャーナル機能を利用する主目的は、HDD105a乃至105cが有するキャッシュメモリ105a1乃至105c1を利用したライトキャッシュ機能を有効(enable)として、高速化及びデータ安全性(信頼性)の向上を図ることにある。   Here, the HDDs 105a to 105c and the disk array controller 103 have cache memories 105a1 to 105c1 and a cache memory 103a, respectively. The main purpose of using the journal function using the SSD 109 in the present embodiment is to enable the write cache function using the cache memories 105a1 to 105c1 included in the HDDs 105a to 105c, thereby enabling high speed and data safety (reliability). It is to improve.

サーバ10は、ディスクアレイコントローラ103を用いて、HDD105a乃至105cを接続すると共に、記録するデータに冗長性を持たせることで、ディスクアレイ105を構築する。そして、前述の通り、ディスクアレイコントローラ103及びHDD105a乃至105cは、キャッシュ制御に用いられるキャッシュメモリ103a及びキャッシュメモリ105a1乃至105c1をそれぞれ搭載している。   The server 10 uses the disk array controller 103 to connect the HDDs 105a to 105c, and to build the disk array 105 by providing redundancy to the data to be recorded. As described above, the disk array controller 103 and the HDDs 105a to 105c are equipped with the cache memory 103a and the cache memories 105a1 to 105c1 used for cache control, respectively.

万一電源障害が発生した場合にはデータロストの可能性があるため、ディスクアレイコントローラ103が有するキャッシュメモリ103aにはバッテリバックアップユニット107が接続される。これにより、たとえ電源障害が発生しても、バッテリバックアップユニット107から電力を供給してキャッシュメモリ103a上のデータを保持し続けることができ、信頼性を高めることができる。   In the unlikely event that a power failure occurs, there is a possibility of data loss, so the battery backup unit 107 is connected to the cache memory 103a of the disk array controller 103. As a result, even if a power failure occurs, power can be supplied from the battery backup unit 107 and the data on the cache memory 103a can be kept, and the reliability can be improved.

一方で、ディスクアレイコントローラ103に接続されるHDD105a乃至105cに関しては装置内で閉じた制御が行われていることが多いので、通常はキャッシュメモリ105a1乃至105c1をバッテリバックアップする手段はない。よって、突然の電源障害が発生した場合には、キャッシュメモリ105a1乃至105c1上のWriteデータ紛失(揮発)に繋がるリスクがある。   On the other hand, since the HDDs 105a to 105c connected to the disk array controller 103 are often controlled to be closed in the apparatus, there is usually no means for battery backup of the cache memories 105a1 to 105c1. Therefore, when a sudden power failure occurs, there is a risk that the write data on the cache memories 105a1 to 105c1 may be lost (volatilized).

そこで、電源障害時のリスクを回避してデータ保全を行うための1つの方法として、HDD105a乃至105cのライト(書込み)キャッシュ機能を無効(disable)として運用することが考えられる。   Therefore, as one method for avoiding the risk of power failure and performing data maintenance, it is conceivable to operate the write cache function of the HDDs 105a to 105c as disabled.

尚ここで、HDD105a乃至105cのリード(Read/読込み)処理時には、たとえ電源障害が発生してキャッシュメモリ105a1乃至105c1上のデータが揮発(紛失)したとしても、当該データはHDD105a乃至105cにも記録されており、再度読み直せば再度データを取得することができる(揮発することは無い)。よって、HDD105a乃至105cのリードキャッシュ機能については、有効(enable)として運用することができる。   It should be noted that here, during the read processing of the HDDs 105a to 105c, even if a power failure occurs and the data on the cache memories 105a1 to 105c1 is volatilized (lost), the data is recorded in the HDDs 105a to 105c. If the data is read again, the data can be acquired again (there is no volatilization). Therefore, the read cache function of the HDDs 105a to 105c can be operated as enabled.

この、HDD105a乃至105cのライトキャッシュ機能を無効化(disable)して運用する方法では、書込み(Write)性能に関して、いわゆるキャッシュ制御による性能向上の恩恵を受けることはできない。   In this method of disabling and operating the write cache function of the HDDs 105a to 105c, it is not possible to receive the benefit of performance improvement by so-called cache control with respect to the write performance.

HDD105a乃至105cへのアクセスにはヘッドシーク制御や回転するディスク媒体への書込み等の機械的制御を含む。よって、HDD105a乃至105cへのアクセス速度は、サーバ10本体のCPU(Central Processing Unit)等の演算処理速度、メモリアクセス速度、バス速度等と比べて、非常に遅い。もし、HDD105a乃至105cのライトキャッシュ機能を有効(enable)とすることができれば、(ディスク書込みよりも書込速度が速い)キャッシュメモリ105a1乃至105c1上にデータが置かれた(一時記憶された)時点で(すなわち、機械的制御を経てディスク媒体へのデータ書込みを完了する前に)、HDD105a乃至105cはアクセス完了報告をディスクアレイコントローラ103へ返すことができる。よって、HDD105a乃至105cはライトキャッシュ機能を有効とすると、ライトキャッシュ機能を無効(disable)とした場合と比べ、数倍から数十倍の速度向上を見込むことができる。   Access to the HDDs 105a to 105c includes mechanical control such as head seek control and writing to a rotating disk medium. Therefore, the access speed to the HDDs 105a to 105c is very slow compared with the arithmetic processing speed of the CPU (Central Processing Unit) of the server 10 main body, the memory access speed, the bus speed, and the like. If the write cache function of the HDDs 105a to 105c can be enabled, the time when data is placed (temporarily stored) on the cache memories 105a1 to 105c1 (which has a higher writing speed than disk writing). Thus, the HDDs 105 a to 105 c can return an access completion report to the disk array controller 103 (that is, before completing data writing to the disk medium via mechanical control). Therefore, when the write cache function is enabled in the HDDs 105a to 105c, the speed can be expected to be several to several tens of times higher than when the write cache function is disabled.

そこで、本実施形態に係るサーバ10では、HDD105a乃至105cのWriteキャッシュ機能を有効として書込み速度の向上を図ると共に、電源障害等が発生しても、HDD105a乃至105cに対するライトデータ(書込データ)を保障することのできる仕組みを有する。   Therefore, in the server 10 according to the present embodiment, the write cache function of the HDDs 105a to 105c is enabled to improve the writing speed, and even if a power failure occurs, write data (write data) to the HDDs 105a to 105c is received. It has a mechanism that can guarantee.

そのために、サーバ10では、ディスクアレイコントローラ103の配下にSSD109を接続している。ホスト101からディスクアレイ105の論理ディスクに対する通常のライトアクセス(書込み命令)が発生した場合には、当該ライトアクセスの書込みデータをSSD109に対してジャーナルとして記録する。ジャーナルに記録するデータはHDD105a乃至105cの其々のセクタ単位で管理される。   Therefore, in the server 10, the SSD 109 is connected under the disk array controller 103. When a normal write access (write command) from the host 101 to the logical disk of the disk array 105 occurs, the write data of the write access is recorded in the SSD 109 as a journal. Data recorded in the journal is managed in units of sectors of the HDDs 105a to 105c.

ここで、ジャーナル機能とは、ファイルシステムへの変更をジャーナルと呼ばれるデータベースに記録する機能である。HDD105a乃至105cの其々にデータを書込む際、ディスクアレイコントローラ103は、SSD109上のジャーナルに、HDD105a乃至105cに書込むデータと、HDD105a乃至105c上の書込むべきセクタアドレスの情報とを含むジャーナルデータを記録する。これにより、もし、HDD105a乃至105cへのデータ書込み中に電源障害等によりデータが揮発しても、SSD109上のジャーナルを読込むことで、データを復元すると共に、当該データを書込むべきHDD105a乃至105c上の位置(セクタアドレス)を知ることが可能となる。   Here, the journal function is a function for recording changes to the file system in a database called a journal. When writing data to each of the HDDs 105a to 105c, the disk array controller 103 includes a journal containing data to be written to the HDDs 105a to 105c and information on sector addresses to be written on the HDDs 105a to 105c in a journal on the SSD 109. Record the data. As a result, even if data is volatilized due to a power failure or the like during data writing to the HDDs 105a to 105c, the journal on the SSD 109 is read to restore the data and the HDDs 105a to 105c to which the data should be written. It is possible to know the upper position (sector address).

尚、ジャーナルを記録する媒体としてSSD109を使用する理由は以下の通りである。SSD109は、例えばディスク媒体へアクセスするような機械的制御が不要であるために、アクセス速度(書込速度)がHDDに比べて数百倍優れている。つまり、SSD109は、サーバ10システム全体の速度性能への影響が極めて小さい不揮発性の記憶媒体である。また、速度面だけを鑑みれば、NVRAM(Non Volatile RAM)等の他の不揮発性メモリを使用することも考えられるが、NVRAM等では、HDD105a乃至105cへのアクセスのジャーナルを記録するのに十分な容量を確保することは難しい。そこで、速度面と容量面の両方を鑑みると、ジャーナルを記憶する媒体としてSSD109を使うのが好適である。   The reason for using the SSD 109 as a medium for recording a journal is as follows. Since the SSD 109 does not require mechanical control to access, for example, a disk medium, the access speed (write speed) is several hundred times better than the HDD. That is, the SSD 109 is a non-volatile storage medium that has a very small influence on the speed performance of the entire server 10 system. Considering only the speed, it is conceivable to use other non-volatile memory such as NVRAM (Non Volatile RAM), but NVRAM or the like is sufficient to record a journal of access to HDDs 105a to 105c. It is difficult to secure capacity. Therefore, in view of both speed and capacity, it is preferable to use the SSD 109 as a medium for storing the journal.

ディスクアレイコントローラ103は、ディスクアレイ105を構成しているHDD105a乃至105cに対して、随時キャッシュフラッシュを指示(命令)する。キャッシュフラッシュにより、HDD105a乃至105c上のキャッシュメモリ105a1乃至105c1上にあるライトデータ(書込データ)が確実にディスク媒体に書込まれてデータを保証できるため、その時点までにSSD109に記録していたジャーナルデータは無効(消去(クリア)等も含む)とすることができる。   The disk array controller 103 instructs (commands) cache flushes to the HDDs 105a to 105c constituting the disk array 105 as needed. The cache flash ensures that the write data (write data) on the cache memories 105a1 to 105c1 on the HDDs 105a to 105c is reliably written to the disk medium, so that the data can be guaranteed. Journal data can be invalidated (including erased (cleared), etc.).

つまり、ジャーナルデータの容量がジャーナル書込領域109aの領域の限界を超えそうになった場合には、ディスクアレイコントローラ103からディスクアレイ105を構成している各HDD105a乃至105cに対してキャッシュフラッシュ指示を行えば、ジャーナルデータを無効化(クリア)できるので、ジャーナル書込領域109aを先頭から使用することができる。
このように実装することで、ジャーナルするデータ領域(後述するジャーナル書込領域109a)を、限られたサイズに抑えることが可能となる。
That is, when the capacity of the journal data is likely to exceed the limit of the journal writing area 109a, the disk array controller 103 issues a cache flush instruction to the HDDs 105a to 105c constituting the disk array 105. If done, the journal data can be invalidated (cleared), so that the journal writing area 109a can be used from the top.
By mounting in this way, the data area to be journaled (a journal writing area 109a described later) can be suppressed to a limited size.

電源障害等が発生した場合には、ディスクアレイコントローラ103は、SSD109に記録したジャーナルから、HDD105a乃至105cへの書込みの復旧処理を行う。SSD109にジャーナルされているデータは、HDD105a乃至105cのディスク媒体への書込みが完全に行われたかどうかが保証できないため、SSD109にジャーナルされることによりセクタ単位で管理されたデータを、HDD105a乃至105cへ書込む。これにより、HDD105a乃至105cのライト(書込み)キャッシュ機能が有効(enable)であっても、ライトアクセス(書込み)のデータを保障することができる。   When a power failure or the like occurs, the disk array controller 103 performs a recovery process of writing to the HDDs 105 a to 105 c from the journal recorded in the SSD 109. Since the data journaled in the SSD 109 cannot be guaranteed whether the writing to the disk media of the HDDs 105a to 105c has been completely performed, the data managed in units of sectors by being journaled to the SSD 109 is transferred to the HDDs 105a to 105c. Write. As a result, even if the write (write) cache function of the HDDs 105a to 105c is enabled, it is possible to guarantee write access (write) data.

(システム構成)
前述の通り、本実施形態に係るサーバ10は、ホスト101と、ディスクアレイコントローラ103と、ディスクアレイ105を構成するHDD105a乃至105cと、バッテリバックアップユニット107と、SSD109とを含む。
(System configuration)
As described above, the server 10 according to the present embodiment includes the host 101, the disk array controller 103, the HDDs 105 a to 105 c constituting the disk array 105, the battery backup unit 107, and the SSD 109.

ホスト101は、IO(Input/Output)制御上、ディスクアレイコントローラ103の上位層に位置する、OSドライバ等のモジュールである。ディスクアレイコントローラ103に対して、データ書込(Write)命令やデータ読込(Read)命令等を発行する。   The host 101 is a module such as an OS driver that is located in an upper layer of the disk array controller 103 in terms of IO (Input / Output) control. A data write (Write) command, a data read (Read) command, etc. are issued to the disk array controller 103.

ディスクアレイコントローラ103は、HDD105a乃至105cを、1つの論理ディスクであるディスクアレイ105としてホスト101に見せるための制御装置である。本実施形態では、ディスクアレイコントローラ103は、HDD105a乃至105cにRAID(Redundant Arrays of Inexpensive Disks)を構成してディスクアレイ105とする。ディスクアレイコントローラ103の構成の詳細については、図2を参照しながら後述する。   The disk array controller 103 is a control device for making the HDDs 105 a to 105 c appear to the host 101 as the disk array 105 that is one logical disk. In the present embodiment, the disk array controller 103 configures a RAID (Redundant Arrays of Independent Disks) in the HDDs 105 a to 105 c as the disk array 105. Details of the configuration of the disk array controller 103 will be described later with reference to FIG.

尚、本実施形態では、HDD105a、105b、及び105cの3つのディスクドライブを用いてディスクアレイ105を構成する場合を例に説明を行っているが、これに限られるものではなく、何台のディスクドライブを用いてディスクアレイ105を構成しても良い。   In the present embodiment, the case where the disk array 105 is configured using three disk drives of the HDDs 105a, 105b, and 105c has been described as an example. However, the present invention is not limited to this. The disk array 105 may be configured using a drive.

HDD105a、105b、及び105cは、ディスクアレイ105を構成するディスクドライブである。それぞれ、キャッシュメモリ105a1、105b1、及び105c1を有しており、これらを用いて、ライトキャッシュ機能やリードキャッシュ機能を提供する。ライトキャッシュ機能が有効(enable)となっている場合には、HDD105a乃至105cは、キャッシュメモリ105a1乃至105c1上にデータが記録された時点で(内蔵するディスク媒体への書込みが完了する前に)、書込み完了の報告をディスクアレイコントローラ103へ返す。   The HDDs 105 a, 105 b, and 105 c are disk drives that constitute the disk array 105. Each has cache memories 105a1, 105b1, and 105c1, and these are used to provide a write cache function and a read cache function. When the write cache function is enabled, the HDDs 105a to 105c, when data is recorded on the cache memories 105a1 to 105c1 (before the writing to the built-in disk medium is completed). A write completion report is returned to the disk array controller 103.

バッテリバックアップユニット107は、ディスクアレイコントローラ103が内蔵するキャッシュメモリ103aにバックアップ電力を供給する電源ユニットである。もし外部電源が遮断される等の障害が発生したとしても、バッテリバックアップユニット107がキャッシュメモリ103aに電力を供給するため、キャッシュメモリ103a上のデータの揮発は防ぐことができる。   The battery backup unit 107 is a power supply unit that supplies backup power to the cache memory 103 a built in the disk array controller 103. Even if a failure such as the interruption of the external power supply occurs, since the battery backup unit 107 supplies power to the cache memory 103a, volatilization of data on the cache memory 103a can be prevented.

SSD109は、HDD105a乃至105cにそれぞれ書込むデータに関するジャーナルを記憶する。前述の通り、SSD109に書込まれるジャーナルには、HDD105a乃至105cにそれぞれ書込むデータと、書込むべきセクタの情報とが含まれる。   The SSD 109 stores journals related to data to be written in the HDDs 105a to 105c. As described above, the journal written to the SSD 109 includes data to be written to the HDDs 105a to 105c and information on the sector to be written.

(ディスクアレイコントローラ103のライト処理に係る機能構成)
続いて、ディスクアレイコントローラ103のディスクアレイ105へのライト処理に係る機能構成を、図2を参照しながら説明する。図2は、ディスクアレイコントローラ103のライト処理に係る機能ブロック図である。
(Functional configuration related to write processing of disk array controller 103)
Next, a functional configuration related to a write process to the disk array 105 of the disk array controller 103 will be described with reference to FIG. FIG. 2 is a functional block diagram relating to the write processing of the disk array controller 103.

ライト制御部201は、IO制御的にディスクアレイコントローラ103の上位層に位置するOSドライバ等のモジュールであるホスト101からの書込命令(ライトコマンド)を受取り、HDDライト処理部203に指示する。   The write control unit 201 receives a write command (write command) from the host 101 which is a module such as an OS driver located in the upper layer of the disk array controller 103 in an IO control and instructs the HDD write processing unit 203.

HDDライト処理部203は、ライト制御部201から書込指示(書込命令)を受け、ディスクアレイ105を構成しているHDD105a乃至105cのうち、どのHDDのどのセクタアドレスにどのようなデータを書くのかを決定した上で、当該決定内容に応じてHDD105a乃至105cにデータを書込む。
また、HDDライト処理部203は、HDD105a乃至105cに対して書込み指示した情報を、ジャーナル書込部205に渡す機能も有する。
The HDD write processing unit 203 receives a write instruction (write command) from the write control unit 201 and writes what data to which sector address of which HDD among the HDDs 105 a to 105 c constituting the disk array 105. Is determined, and data is written to the HDDs 105a to 105c in accordance with the determined content.
The HDD write processing unit 203 also has a function of passing information instructed to write to the HDDs 105 a to 105 c to the journal writing unit 205.

更に、HDDライト処理部203は、ジャーナル読込部213から、HDD105a乃至105c上のセクタアドレスと書込データと共に、HDD105a乃至105cへの書込み指示を受取る機能も有する。   Further, the HDD write processing unit 203 has a function of receiving a write instruction to the HDDs 105a to 105c from the journal reading unit 213 together with a sector address and write data on the HDDs 105a to 105c.

ジャーナル書込部205は、HDDライト処理部203がHDD105a乃至105cに対して書込むデータに対応して、書込みセクタアドレス及び当該セクタに書込むデータを、ジャーナルとしてSSD109に書込む。   The journal writing unit 205 writes the write sector address and the data to be written to the sector in the SSD 109 as a journal corresponding to the data that the HDD write processing unit 203 writes to the HDDs 105a to 105c.

ジャーナルポインタ制御は、07は、SSD109上のジャーナル書込領域109aに対し、どこまでのジャーナルデータが有効であるかを示すジャーナルポインタ301(後述)を管理する。つまり、ジャーナルポインタ制御は、07は、ジャーナル書込部205が新たにジャーナルデータを書込むべき場所を管理する。   In the journal pointer control 07, a journal pointer 301 (described later) indicating how much journal data is valid for the journal write area 109a on the SSD 109 is managed. In other words, in the journal pointer control 07, the journal writing unit 205 manages a place where journal data should be newly written.

フラッシュ制御部211は、定期的に、又はSSD109上のジャーナル書込領域109aが枯渇して新たに書込める領域が無くなった場合に、HDD105a乃至105cに対してキャッシュフラッシュコマンドを発行する。尚、HDD105a乃至105cはキャッシュフラッシュコマンドを受け取ると、キャッシュメモリ105a1乃至105c1上のライトデータ(書込データ)を全てディスク媒体に書込むと共に、キャッシュメモリ105a1乃至105c1上のデータをクリアする。   The flash control unit 211 issues a cache flush command to the HDDs 105a to 105c periodically or when the journal writing area 109a on the SSD 109 is depleted and there is no new writing area. When receiving the cache flush command, the HDDs 105a to 105c write all the write data (write data) on the cache memories 105a1 to 105c1 to the disk medium and clear the data on the cache memories 105a1 to 105c1.

ジャーナル読込部213は、SSD109上のジャーナル書込領域109a内のジャーナルポインタ制御が207が示す有効なジャーナルデータから、ライトされたセクタアドレス、及びライトデータを取出し、ライト制御部201に渡す。   The journal reading unit 213 takes out the written sector address and write data from the valid journal data indicated by the journal pointer control 207 in the journal writing area 109 a on the SSD 109 and passes it to the write control unit 201.

(ジャーナルの管理方法)
続いて、図3を参照しながら、SSD109上のジャーナルの管理方法を説明する。図3は、SSD109上に確保されるジャーナル書込領域109aの管理方法を説明するための図である。
(Journal management method)
Next, a journal management method on the SSD 109 will be described with reference to FIG. FIG. 3 is a diagram for explaining a management method of the journal writing area 109 a secured on the SSD 109.

ジャーナル書込領域109aは、SSD109上に確保される領域であり、HDD105a乃至105cにそれぞれ書込まれるライトデータ(書込データ)等の情報がジャーナルとして書込まれる。   The journal writing area 109a is an area secured on the SSD 109, and information such as write data (write data) written to the HDDs 105a to 105c is written as a journal.

ジャーナルポインタ301は、次に新たにジャーナルデータを書込むべき位置(場所)を示すポインタである。ジャーナルポインタ301は、ディスクアレイコントローラ103が動作を開始した際に行われる初期化処理により、ジャーナル書込領域109aの先頭を示すように初期設定される。その後、1件のジャーナルデータがジャーナル書込部205により書込まれると、ジャーナルポインタ制御部207は当該ジャーナルデータのサイズ分だけジャーナルポインタ301を進める。次にジャーナル書込部205がジャーナルデータを書込む場合には、ジャーナルポインタ301が現在指しているアドレスからジャーナルデータを書込み、書込み後は、ジャーナルポインタ制御部207が、再度ジャーナルデータのサイズ分だけジャーナルポインタ301を進める。   The journal pointer 301 is a pointer indicating a position (location) where journal data is to be newly written next. The journal pointer 301 is initialized to indicate the head of the journal writing area 109a by an initialization process performed when the disk array controller 103 starts operation. Thereafter, when one journal data is written by the journal writing unit 205, the journal pointer control unit 207 advances the journal pointer 301 by the size of the journal data. Next, when the journal writing unit 205 writes journal data, the journal data is written from the address currently pointed to by the journal pointer 301, and after the writing, the journal pointer control unit 207 re-establishes only the size of the journal data. The journal pointer 301 is advanced.

このようにジャーナルデータを書込む度にそのサイズ分だけジャーナルポインタ301を進めることで、ジャーナルポインタ301は、常に次にジャーナルデータを書込むべき位置を指すことになる。つまり、ジャーナル書込領域109aの先頭からジャーナルポインタ301の示す位置までの間にあるデータが、有効なジャーナルデータとなる。   In this way, each time the journal data is written, the journal pointer 301 is advanced by that size, so that the journal pointer 301 always points to the position where the next journal data is to be written. That is, the data between the beginning of the journal writing area 109a and the position indicated by the journal pointer 301 is valid journal data.

フラッシュ制御部211により、HDD105a乃至105cに対するキャッシュフラッシュコマンドが発行されて、キャッシュメモリ105a1乃至105c1上にあるキャッシュデータが全てディスク媒体に書込まれると、それまでにライト制御部201からのライトアクセスが発生した書込みデータは全てHDD105a乃至105cが備える不揮発性のディスク媒体上に記録されたことが保証できる。よって、当該キャッシュフラッシュコマンドが発行されるまでに記録していたジャーナルデータは全て不要になるので、キャッシュフラッシュコマンドに対する処理が完了すると、ジャーナルポインタ制御部207は、ジャーナル書込領域109aの先頭をジャーナルポインタ301が示すように初期化する。これにより、ジャーナル書込領域109a上に書込まれたジャーナルデータが全て無効化される。   When the cache controller 211 issues a cache flush command to the HDDs 105a to 105c and all the cache data on the cache memories 105a1 to 105c1 is written to the disk medium, write access from the write controller 201 until then is completed. It can be assured that all of the generated write data is recorded on the nonvolatile disk medium included in the HDDs 105a to 105c. Therefore, since all the journal data recorded before the cache flush command is issued becomes unnecessary, when the processing for the cache flush command is completed, the journal pointer control unit 207 sets the start of the journal write area 109a to the journal. Initialization is performed as indicated by the pointer 301. As a result, all journal data written on the journal writing area 109a is invalidated.

尚、以上説明したジャーナル書込領域109aは、ディスクアレイコントローラ103に接続されているディスクドライブにそれぞれ対応した数(本実施形態ではHDD105a乃至105cに対応する3つ)用意される。
つまり、ジャーナル書込部205は、HDD105a乃至105cのそれぞれに対して、ジャーナルを管理する。
The number of journal write areas 109a described above is prepared corresponding to the number of disk drives connected to the disk array controller 103 (three in this embodiment, corresponding to the HDDs 105a to 105c).
That is, the journal writing unit 205 manages a journal for each of the HDDs 105a to 105c.

(データ書込時の処理の流れ)
図4を参照しながら、本実施形態に係るディスクアレイコントローラ103のデータ書込時の処理の流れを説明する。図4は、書込みに係るディスクアレイコントローラ103の処理の流れを示すフローチャートである。
(Processing flow when writing data)
With reference to FIG. 4, the flow of processing at the time of data writing by the disk array controller 103 according to the present embodiment will be described. FIG. 4 is a flowchart showing a processing flow of the disk array controller 103 related to writing.

OSドライバ等の上位ソフトウェアモジュールであるホスト101からディスクアレイコントローラ103に対する書込コマンド(命令)が発生すると、ライト制御部201が当該書込コマンドを受信する(S401)。ライト制御部201は、当該書込コマンドをHDDライト処理部203に渡す。   When a write command (command) for the disk array controller 103 is generated from the host 101, which is a higher-level software module such as an OS driver, the write control unit 201 receives the write command (S401). The write control unit 201 passes the write command to the HDD write processing unit 203.

HDDライト処理部203は、入力された書込コマンドを解析し、HDD105a乃至105cのどのセクタアドレスに対してアクセスすればよいのか、書込むデータのサイズはどのくらいか、ディスクアレイ105を構成するHDD105a乃至105cに対してどのようにデータを分割するのか、等の判断や、必要に応じたパリティデータの生成等を行う。この結果、HDDライト処理部203は、HDD105a乃至105cのうちどのディスクドライブのどのセクタにどのようなデータを書込むのかを決定し、実際にディスクドライブに対してデータを書込む(書込命令(指示)を発行する)(S403)。   The HDD write processing unit 203 analyzes the input write command, determines which sector address of the HDDs 105 a to 105 c should be accessed, what size of data is to be written, and the HDDs 105 a to 105 constituting the disk array 105. It is determined how to divide the data for 105c, etc., and parity data is generated as necessary. As a result, the HDD write processing unit 203 determines what data is to be written in which sector of which disk drive among the HDDs 105a to 105c, and actually writes data to the disk drive (write command ( (Instruction) is issued) (S403).

次に、HDDライト処理部203は、S403で行った書込命令(指示)と同様の情報、すなわち、HDD105a乃至105cのデータ書込先となるセクタアドレスと、書込まれるべきデータとをジャーナル書込部205に渡すと共にジャーナルの書込みを指示する。ジャーナル書込部205は、ジャーナル書込指示を受けて、最新のジャーナルデータを書込むべき場所を示すジャーナルポインタ301が示すジャーナル書込領域109a上の位置に、HDD105a乃至105c上に書込まれるデータと書込まれるべきセクタアドレスの情報とを、ジャーナルデータとして記録する(S405)。   Next, the HDD write processing unit 203 writes the same information as the write command (instruction) performed in S403, that is, the sector address as the data write destination of the HDDs 105a to 105c and the data to be written in the journal writing. The data is transferred to the loading unit 205 and the writing of the journal is instructed. The journal writing unit 205 receives the journal writing instruction, and the data to be written on the HDDs 105a to 105c at the position on the journal writing area 109a indicated by the journal pointer 301 indicating the place where the latest journal data should be written. Is recorded as journal data (S405).

そして、ジャーナルポインタ制御部207は、次のジャーナルデータの書込みに備え、ジャーナルポインタ301を1件のジャーナルデータのサイズ分だけ進める(更新する)(S407)。   Then, the journal pointer control unit 207 advances (updates) the journal pointer 301 by the size of one journal data in preparation for writing the next journal data (S407).

ジャーナルポインタ制御部207は、更新後のジャーナルポインタ301が示す位置が、ジャーナル書込領域109aの全体サイズ(ジャーナル書込領域109aの終端位置)を超えていないかを検証する(S409)。もしジャーナルポインタ301が示す位置がジャーナル書込領域内であれば(S409のNo)、ディスクアレイコントローラ103はジャーナルデータの書込処理を終える。   The journal pointer control unit 207 verifies whether or not the position indicated by the updated journal pointer 301 exceeds the overall size of the journal writing area 109a (end position of the journal writing area 109a) (S409). If the position indicated by the journal pointer 301 is within the journal writing area (No in S409), the disk array controller 103 finishes the journal data writing process.

一方、ジャーナルポインタ301が示す位置が、ジャーナル書込領域109aの終端(最後)と同じ、若しくは当該領域を超えていた(領域外であった)場合には(S409のYes)、次にHDD1105a乃至105cへのWriteアクセスが発生してジャーナルすべきデータが派生すると、これ以上ジャーナルデータを書込むことができなくなってしまう。   On the other hand, when the position indicated by the journal pointer 301 is the same as the end (last) of the journal writing area 109a or exceeds the area (out of the area) (Yes in S409), the HDDs 1105a to If a write access to 105c occurs and data to be journaled is derived, no more journal data can be written.

よって、ジャーナルポインタ制御部207は、フラッシュ制御部211により、HDD105a乃至105cへのキャッシュフラッシュコマンドの発行を行うことで、HDD105a乃至105cに、キャッシュメモリ105a1乃至105c1上にあるライトデータをHDD105a乃至105cのディスク媒体に書込ませる(S411)。   Therefore, the journal pointer control unit 207 issues a cache flush command to the HDDs 105a to 105c by the flash control unit 211, whereby the write data in the cache memories 105a1 to 105c1 is transferred to the HDDs 105a to 105c. Write to the disk medium (S411).

ここで、S409の判断(検証/判別)において、更新後のジャーナルポインタ301が示す位置がジャーナル書込領域109aの書込領域を超えていない場合であっても、もし次にジャーナルデータを1件書込むとジャーナル書込領域109aを超えてしまう場合には、S409はYes(ジャーナル書込領域109aを超える)として判断される。   Here, in the determination (verification / determination) in S409, even if the position indicated by the updated journal pointer 301 does not exceed the writing area of the journal writing area 109a, one journal data is stored next. If the writing exceeds the journal writing area 109a, S409 is determined as Yes (exceeding the journal writing area 109a).

HDD105a乃至105cによるキャッシュフラッシュ処理が完了すれば、それまでにライト(書込み)アクセスがあったデータに関しては、全てHDD105a乃至105cのディスク媒体に書込まれたとみなすことができる。従って、当該キャッシュフラッシュ処理が完了すると、ジャーナルポインタ制御部207は、ジャーナルポインタ301を、ジャーナル書込領域109aの先頭を指すように初期化する(S413)。これにより、ジャーナル書込領域109a上のジャーナルデータは全て無効化され、次にHDD105a乃至105cへのライトアクセスが発生してSSD109にジャーナルすべきデータが発生した場合には、再度ジャーナル書込領域109aの先頭から書込むことができるようになる。   When the cache flush process by the HDDs 105a to 105c is completed, it can be considered that all the data that have been written (written) access until then are written to the disk media of the HDDs 105a to 105c. Therefore, when the cache flush process is completed, the journal pointer control unit 207 initializes the journal pointer 301 to point to the head of the journal writing area 109a (S413). As a result, all the journal data in the journal writing area 109a is invalidated, and when the next write access to the HDDs 105a to 105c occurs and the data to be journaled in the SSD 109 is generated, the journal writing area 109a again. You will be able to write from the beginning.

また、S411及びS413の処理については、本フローチャートのようにジャーナル書込領域109aが枯渇した時点で行うだけでなく、枯渇前であっても、定期的に実行して、ジャーナルポインタ301を初期化しても良い。   Further, the processing of S411 and S413 is performed not only when the journal writing area 109a is exhausted as in this flowchart, but also periodically before the journal writing area 109a is exhausted to initialize the journal pointer 301. May be.

このようにディスクアレイコントローラ103は、HDD105a乃至105cへのライトアクセスが発生した場合にはS601乃至S605の処理を行い、必要に応じてS606及びS607を実行することで、HDD105a乃至105cのどのセクタアドレスにどういったデータが書かれたのかというジャーナルをSSD109上に残すことができる。SSD109は不揮発性の記憶媒体であるので、たとえ電源障害等が発生しても、ジャーナルが揮発することはない。   As described above, when write access to the HDDs 105a to 105c occurs, the disk array controller 103 performs the processing of S601 to S605, and executes S606 and S607 as necessary, so that any sector address of the HDDs 105a to 105c is obtained. It is possible to leave a journal on the SSD 109 as to what kind of data has been written. Since the SSD 109 is a non-volatile storage medium, even if a power failure or the like occurs, the journal does not volatilize.

(データ復旧時の処理の流れ)
図5を参照しながら、本実施形態に係るディスクアレイコントローラ103のデータ復旧時の処理の流れを説明する。図5は、データ復旧に係るディスクアレイコントローラ103の処理の流れを示すフローチャートである。
(Process flow for data recovery)
With reference to FIG. 5, the flow of processing at the time of data recovery of the disk array controller 103 according to the present embodiment will be described. FIG. 5 is a flowchart showing a processing flow of the disk array controller 103 related to data recovery.

突然の電源障害等が発生した場合には、HDD105a乃至105cのキャッシュメモリ105a1乃至105c1への電力供給が途切れることとなり、当該メモリ上に一時記憶されたデータは揮発(ロスト/消滅)することとなる。このデータは、HDD105a乃至105c単独では保障することはできない。   When a sudden power failure or the like occurs, power supply to the cache memories 105a1 to 105c1 of the HDDs 105a to 105c is interrupted, and data temporarily stored in the memories is volatilized (lost / erased). . This data cannot be guaranteed by the HDDs 105a to 105c alone.

HDD105a乃至105cのライト(Write)キャッシュ機能を有効(enable)にしてサーバ10のシステムを運用していた場合には、ディスクアレイコントローラ103からのライトコマンド(書込命令)をHDD105a乃至105cが受信して、当該ライトコマンドの書込データをキャッシュメモリ105a1乃至105c1に格納した段階で、HDD105a乃至105cはディスクアレイコントローラ103に対してWrite処理の完了応答を返す。この時点では、実際には当該ライトコマンドに対する書込データは、HDD105a乃至105c内のディスク媒体への書込みが完了していない。ディスクアレイコントローラ103は、HDD105a乃至105c上にある書込データが、何時の時点でディスク媒体へ書込まれたのか、若しくは書込まれていないのかを判断する手段を持たない。   When the system of the server 10 is operated with the write cache function of the HDDs 105a to 105c enabled, the HDDs 105a to 105c receive the write command (write command) from the disk array controller 103. When the write data of the write command is stored in the cache memories 105 a 1 to 105 c 1, the HDDs 105 a to 105 c return a write process completion response to the disk array controller 103. At this time, the write data for the write command is actually not written to the disk media in the HDDs 105a to 105c. The disk array controller 103 does not have a means for determining when the write data on the HDDs 105a to 105c has been written to the disk medium or not.

そこで、ディスクアレイコントローラ103は、SSD109にジャーナルしたデータを用いて書込データを復旧させる。
まずディスクアレイコントローラ103は、電源遮断から復帰すると、書込データの復旧を行うためにジャーナル読込部213を呼び出す(S501)。
Therefore, the disk array controller 103 recovers the write data using the data journaled in the SSD 109.
First, when the disk array controller 103 recovers from the power shutdown, it calls the journal reading unit 213 to recover the write data (S501).

ジャーナル読込部213は、ジャーナル書込領域109aに記録されているジャーナルデータを1件ずつ読み出すために、ジャーナルデータの読出し位置をジャーナル書込領域109aの先頭に置く(S503)。   The journal reading unit 213 places the journal data reading position at the head of the journal writing area 109a in order to read the journal data recorded in the journal writing area 109a one by one (S503).

そして、ジャーナル読込部213は、ジャーナルデータの読出し位置から1件分のジャーナルデータ(HDD105a乃至105cのセクタアドレスの情報及び書込データ)を読出し、HDDライト処理部203に渡す(S505)。   Then, the journal reading unit 213 reads one journal data (sector address information and write data of the HDDs 105a to 105c) from the journal data reading position, and passes it to the HDD write processing unit 203 (S505).

HDDライト処理部203は、受け取ったジャーナルデータに基づき、HDD105a乃至105c上のセクタアドレスの位置に、書込データを書込む(S507)。そして、ジャーナル読込部213は、ジャーナルデータの読出し位置をジャーナルデータ1件分進める(S509)。   The HDD write processing unit 203 writes the write data at the sector address positions on the HDDs 105a to 105c based on the received journal data (S507). Then, the journal reading unit 213 advances the reading position of the journal data by one journal data (S509).

その後、更新したジャーナルデータ読出し位置と、ジャーナルポインタ301が示す位置とを比較する(S511)。この比較の結果、両者が一致していれば(又は読出しポインタの位置がジャーナルポインタ301の示す位置を越えていれば)(S511のYes)、これ以上有効なジャーナルデータは存在しないと判断することができるため、ディスクアレイコントローラ103は処理を終了する。S511での比較の結果、ジャーナルデータの読出し位置がジャーナルポインタ301が示す位置より前にあるのであれば(S511のNo)、ディスクアレイコントローラ103は再度S505に戻り、次のジャーナルデータの処理を行う。   Thereafter, the updated journal data reading position is compared with the position indicated by the journal pointer 301 (S511). As a result of this comparison, if the two match (or the position of the read pointer exceeds the position indicated by the journal pointer 301) (Yes in S511), it is determined that there is no more effective journal data. Therefore, the disk array controller 103 ends the process. As a result of the comparison in S511, if the read position of the journal data is before the position indicated by the journal pointer 301 (No in S511), the disk array controller 103 returns to S505 again to process the next journal data. .

ディスクアレイコントローラ103は、S505からS509の処理を繰返して、全ての有効なジャーナルデータを読込み、当該データをHDD105a乃至105cへ書込むことで、電源障害が発生した瞬間にHDD105a乃至105cのキャッシュメモリ105a1乃至105c1に記録されていたWriteデータを、全てHDD105a乃至105cのディスク媒体上に書込むことができる。   The disk array controller 103 repeats the processing from S505 to S509, reads all valid journal data, and writes the data to the HDDs 105a to 105c, so that the cache memory 105a1 of the HDDs 105a to 105c is instantly generated when a power failure occurs. All of the write data recorded in through 105c1 can be written on the disk media of the HDDs 105a through 105c.

(本実施形態の効果)
本実施形態に係るサーバ10では、ディスクアレイコントローラ103に接続されているHDD105a乃至105cのライトキャッシュ機能を有効(enable)にして運用しても、HDD105a乃至105cのキャッシュメモリ105a1乃至105c1上に記録された書込データは、ジャーナルデータとしてSSD109上にも記録される。これにより、突然の電源障害によりキャッシュメモリ105a1乃至105c1上の書込データが保障できない状態になったとしても、SSD109上のジャーナルデータから書込データを復旧できる。つまり、HDD105a乃至105cのWriteキャッシュ機能を有効(enable)にした場合でも、安全にシステムを運用することが可能となる。
(Effect of this embodiment)
In the server 10 according to the present embodiment, even if the write cache function of the HDDs 105a to 105c connected to the disk array controller 103 is enabled and operated, it is recorded on the cache memories 105a1 to 105c1 of the HDDs 105a to 105c. The written data is also recorded on the SSD 109 as journal data. As a result, even if the write data on the cache memories 105a1 to 105c1 cannot be guaranteed due to a sudden power failure, the write data can be recovered from the journal data on the SSD 109. That is, even when the write cache function of the HDDs 105a to 105c is enabled, the system can be operated safely.

そして、HDD105a乃至105cのライトキャッシュ機能を有効(enable)にして運用すれば、ディスクアレイコントローラ103からのライトコマンドに対して、その書込データがディスクアレイコントローラ103から送られてHDD105a乃至105cのキャッシュメモリ105a1乃至105c1上に記憶された時点で、HDD105a乃至105cは書込み完了の旨の応答をディスクアレイコントローラ103に返すことができる。つまり、HDD105a乃至105cのディスクアクセスに伴うヘッドのシーク/位置決めや、ディスクの回転待ちといった機械的動作を行わずにライトコマンドへの応答を返すことができるので、当該機械的動作を伴う場合(ライトキャッシュ機能を無効とする場合)と比べて、数倍乃至数十倍の書込み速度の向上を図ることが可能となる。   If the write cache function of the HDDs 105a to 105c is enabled and operated, the write data is sent from the disk array controller 103 in response to the write command from the disk array controller 103, and the caches of the HDDs 105a to 105c are cached. The HDDs 105a to 105c can return a response indicating the completion of writing to the disk array controller 103 at the time when they are stored on the memories 105a1 to 105c1. That is, a response to the write command can be returned without performing a mechanical operation such as seek / positioning of the head accompanying the disk access of the HDDs 105a to 105c or waiting for the rotation of the disk. Compared with the case where the cache function is invalidated), it is possible to improve the writing speed several times to several tens of times.

(付記事項)
なお、前述の各実施形態の構成は、組み合わせたり或いは一部の構成部分を入れ替えたりしてもよい。また、本発明の構成は前述の実施形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加えてもよい。
尚、前述の各実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(Additional notes)
Note that the configurations of the above-described embodiments may be combined or some of the components may be replaced. The configuration of the present invention is not limited to the above-described embodiment, and various modifications may be made without departing from the scope of the present invention.
A part or all of each of the above-described embodiments can be described as in the following supplementary notes, but is not limited thereto.

(付記1)
不揮発性の1以上の第1の記憶装置と、前記第1の記憶装置より高速に書込可能で不揮発性の第2の記憶装置と、前記第1の記憶装置にデータを書込む第1の書込手段と、1以上の前記第1の記憶装置にそれぞれ書込むデータと、当該データを書込む前記第1の記憶装置のセクタ情報とを前記第2の記憶装置に記憶させる第2の書込手段と、書込んだデータが前記第1の記憶装置上で不揮発となった後、前記第2の記憶装置が記憶する対応するデータを無効化する無効化手段とを備える情報処理装置。
(Appendix 1)
One or more nonvolatile first storage devices, a nonvolatile second storage device that can be written at higher speed than the first storage device, and a first data writing device that writes data to the first storage device A second writing unit that stores in the second storage device, writing means, data to be written to each of the one or more first storage devices, and sector information of the first storage device to which the data is written; And an invalidating means for invalidating the corresponding data stored in the second storage device after the written data becomes non-volatile on the first storage device.

(付記2)
前記第2の記憶装置からデータとセクタ情報とを読込む読込手段を更に備え、前記第1の書込手段は、電源障害からの復帰時に、前記読込手段により前記第2の記憶装置から読込まれたデータを、セクタ情報に応じた前記第1の記憶装置上の位置に書込む、付記1記載の情報処理装置。
(Appendix 2)
Read means for reading data and sector information from the second storage device is further provided, and the first write means is read from the second storage device by the read means upon recovery from a power failure. The information processing apparatus according to appendix 1, wherein the data is written at a position on the first storage device according to sector information.

(付記3)
前記第2の記憶装置が記憶する、有効なデータとセクタ情報の領域を示すための位置情報を制御する手段を更に備え、前記読込手段は、前記位置情報に基づき、読込むデータとセクタ情報とを判別する、付記2記載の情報処理装置。
(Appendix 3)
The second storage device further includes means for controlling position information for indicating valid data and an area of sector information, and the reading means is configured to read data and sector information based on the position information. The information processing apparatus according to appendix 2, wherein:

(付記4)
1以上の前記第1の記憶装置に対して、書込んだデータを前記第1の記憶装置上で不揮発とするためのコマンドを発行する手段を更に備える、付記1乃至付記3のいずれか1項記載の情報処理装置。
(Appendix 4)
Any one of appendix 1 to appendix 3, further comprising means for issuing a command for making the written data non-volatile on the first storage device to one or more first storage devices The information processing apparatus described.

(付記5)
前記第2の記憶装置はSSD(Solid State Drive)である、付記1乃至付記4のいずれか1項記載の情報処理装置。
(Appendix 5)
The information processing apparatus according to any one of appendix 1 to appendix 4, wherein the second storage device is an SSD (Solid State Drive).

(付記6)
前記第1の記憶装置がそれぞれ有するキャッシュ機能が有効である、付記1乃至付記5のいずれか1項記載の情報処理装置。
(Appendix 6)
The information processing apparatus according to any one of appendix 1 to appendix 5, wherein the cache function included in each of the first storage devices is effective.

(付記7)
不揮発性の1以上の前記第1の記憶装置にデータを書込む第1の書込手段と、1以上の前記第1の記憶装置にそれぞれ書込むデータと、当該データを書込む前記第1の記憶装置のセクタ情報とを、前記第1の記憶装置より高速に書込可能で不揮発性の前記第2の記憶装置に記憶させる第2の書込手段と、書込んだデータが前記第1の記憶装置上で不揮発となった後、前記第2の記憶装置が記憶する対応するデータを無効化する無効化手段とを備える、制御装置。
(Appendix 7)
First writing means for writing data to the one or more nonvolatile first storage devices, data to be written to each of the one or more first storage devices, and the first to write the data Second writing means for storing the sector information of the storage device in the second storage device, which can be written at a higher speed than the first storage device, and the non-volatile storage device; A control device comprising: invalidating means for invalidating corresponding data stored in the second storage device after becoming non-volatile on the storage device.

(付記8)
不揮発性の1以上の前記第1の記憶装置にデータを書込むステップと、1以上の前記第1の記憶装置にそれぞれ書込むデータと、当該データを書込む前記第1の記憶装置のセクタ情報とを、前記第1の記憶装置より高速に書込可能で不揮発性の前記第2の記憶装置に記憶させるステップと、書込んだデータが前記第1の記憶装置上で不揮発となった後、前記第2の記憶装置が記憶する対応するデータを無効化するステップとを備える、情報処理方法。
(Appendix 8)
A step of writing data to the one or more nonvolatile first storage devices; data to be written to each of the one or more first storage devices; and sector information of the first storage device to which the data is written Are stored in the second storage device that is writable at a higher speed than the first storage device, and the written data becomes nonvolatile on the first storage device, And invalidating corresponding data stored in the second storage device.

10・・・サーバ、101・・・ホスト、103・・・ディスクアレイコントローラ、105・・・ディスクアレイ、105a、105b、105c・・・HDD、109・・・SSD、203・・・HDDライト制処理部、205・・・ジャーナル書込部、213・・・ジャーナル読込部   DESCRIPTION OF SYMBOLS 10 ... Server, 101 ... Host, 103 ... Disk array controller, 105 ... Disk array, 105a, 105b, 105c ... HDD, 109 ... SSD, 203 ... HDD write system Processing unit 205 ... Journal writing unit 213 ... Journal reading unit

Claims (8)

不揮発性の1以上の第1の記憶装置と、
前記第1の記憶装置より高速に書込可能で不揮発性の第2の記憶装置と、
前記第1の記憶装置にデータを書込む第1の書込手段と、
1以上の前記第1の記憶装置にそれぞれ書込むデータと、当該データを書込む前記第1の記憶装置のセクタ情報とを前記第2の記憶装置に記憶させる第2の書込手段と、
書込んだデータが前記第1の記憶装置上で不揮発となった後、前記第2の記憶装置が記憶する対応するデータを無効化する無効化手段と
を備える情報処理装置。
One or more nonvolatile first storage devices;
A non-volatile second storage device writable at a higher speed than the first storage device;
First writing means for writing data to the first storage device;
Second writing means for storing, in the second storage device, data to be written to each of the one or more first storage devices, and sector information of the first storage device to which the data is written;
An information processing apparatus comprising: invalidating means for invalidating corresponding data stored in the second storage device after the written data becomes non-volatile on the first storage device.
前記第2の記憶装置からデータとセクタ情報とを読込む読込手段
を更に備え、
前記第1の書込手段は、電源障害からの復帰時に、前記読込手段により前記第2の記憶装置から読込まれたデータを、セクタ情報に応じた前記第1の記憶装置上の位置に書込む、
請求項1記載の情報処理装置。
A read unit for reading data and sector information from the second storage device;
The first writing means writes the data read from the second storage device by the reading means at a position on the first storage device according to sector information when returning from a power failure. ,
The information processing apparatus according to claim 1.
前記第2の記憶装置が記憶する、有効なデータとセクタ情報の領域を示すための位置情報を制御する手段
を更に備え、
前記読込手段は、前記位置情報に基づき、読込むデータとセクタ情報とを判別する、
請求項2記載の情報処理装置。
Means for controlling position information for indicating valid data and sector information areas stored in the second storage device;
The reading means determines data to be read and sector information based on the position information.
The information processing apparatus according to claim 2.
1以上の前記第1の記憶装置に対して、書込んだデータを前記第1の記憶装置上で不揮発とするためのコマンドを発行する手段
を更に備える、請求項1乃至請求項3のいずれか1項記載の情報処理装置。
4. The apparatus according to claim 1, further comprising a unit that issues a command for making the written data non-volatile on the first storage device to one or more of the first storage devices. 5. 1. An information processing apparatus according to item 1.
前記第2の記憶装置はSSD(Solid State Drive)である、
請求項1乃至請求項4のいずれか1項記載の情報処理装置。
The second storage device is an SSD (Solid State Drive).
The information processing apparatus according to any one of claims 1 to 4.
前記第1の記憶装置がそれぞれ有するキャッシュ機能が有効である、
請求項1乃至請求項5のいずれか1項記載の情報処理装置。
The cache function of each of the first storage devices is effective.
The information processing apparatus according to any one of claims 1 to 5.
不揮発性の1以上の前記第1の記憶装置にデータを書込む第1の書込手段と、
1以上の前記第1の記憶装置にそれぞれ書込むデータと、当該データを書込む前記第1の記憶装置のセクタ情報とを、前記第1の記憶装置より高速に書込可能で不揮発性の前記第2の記憶装置に記憶させる第2の書込手段と、
書込んだデータが前記第1の記憶装置上で不揮発となった後、前記第2の記憶装置が記憶する対応するデータを無効化する無効化手段と
を備える、制御装置。
First writing means for writing data to the one or more non-volatile first storage devices;
The data to be written to each of the one or more first storage devices and the sector information of the first storage device to which the data is written can be written at higher speed than the first storage device, and the nonvolatile information Second writing means for storing in a second storage device;
A control device comprising: invalidating means for invalidating corresponding data stored in the second storage device after the written data becomes non-volatile on the first storage device.
不揮発性の1以上の前記第1の記憶装置にデータを書込むステップと、
1以上の前記第1の記憶装置にそれぞれ書込むデータと、当該データを書込む前記第1の記憶装置のセクタ情報とを、前記第1の記憶装置より高速に書込可能で不揮発性の前記第2の記憶装置に記憶させるステップと、
書込んだデータが前記第1の記憶装置上で不揮発となった後、前記第2の記憶装置が記憶する対応するデータを無効化するステップと
を備える、情報処理方法。
Writing data into the one or more non-volatile first storage devices;
The data to be written to each of the one or more first storage devices and the sector information of the first storage device to which the data is written can be written at higher speed than the first storage device, and the nonvolatile information Storing in a second storage device;
And a step of invalidating the corresponding data stored in the second storage device after the written data becomes non-volatile on the first storage device.
JP2012019856A 2012-02-01 2012-02-01 Information processing apparatus, control apparatus, and information processing method Active JP6030308B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012019856A JP6030308B2 (en) 2012-02-01 2012-02-01 Information processing apparatus, control apparatus, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012019856A JP6030308B2 (en) 2012-02-01 2012-02-01 Information processing apparatus, control apparatus, and information processing method

Publications (2)

Publication Number Publication Date
JP2013161112A true JP2013161112A (en) 2013-08-19
JP6030308B2 JP6030308B2 (en) 2016-11-24

Family

ID=49173343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012019856A Active JP6030308B2 (en) 2012-02-01 2012-02-01 Information processing apparatus, control apparatus, and information processing method

Country Status (1)

Country Link
JP (1) JP6030308B2 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6476344A (en) * 1987-09-18 1989-03-22 Fujitsu Ltd Disk cache control system
JPH05303528A (en) * 1992-04-27 1993-11-16 Oki Electric Ind Co Ltd Write-back disk cache device
JPH10161938A (en) * 1996-11-29 1998-06-19 Toshiba Corp Disk controller
JP2005173707A (en) * 2003-12-08 2005-06-30 Ricoh Co Ltd Cache memory control method
JP2006277042A (en) * 2005-03-28 2006-10-12 Toshiba Corp Array controller, disk array control method, and program
JP2008165881A (en) * 2006-12-27 2008-07-17 Toshiba Corp Magnetic disk device and its control method
JP2008269221A (en) * 2007-04-19 2008-11-06 Fujitsu Ltd Disk array device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6476344A (en) * 1987-09-18 1989-03-22 Fujitsu Ltd Disk cache control system
JPH05303528A (en) * 1992-04-27 1993-11-16 Oki Electric Ind Co Ltd Write-back disk cache device
JPH10161938A (en) * 1996-11-29 1998-06-19 Toshiba Corp Disk controller
JP2005173707A (en) * 2003-12-08 2005-06-30 Ricoh Co Ltd Cache memory control method
JP2006277042A (en) * 2005-03-28 2006-10-12 Toshiba Corp Array controller, disk array control method, and program
JP2008165881A (en) * 2006-12-27 2008-07-17 Toshiba Corp Magnetic disk device and its control method
JP2008269221A (en) * 2007-04-19 2008-11-06 Fujitsu Ltd Disk array device

Also Published As

Publication number Publication date
JP6030308B2 (en) 2016-11-24

Similar Documents

Publication Publication Date Title
US9104334B2 (en) Performance improvements in input/output operations between a host system and an adapter-coupled cache
US10776153B2 (en) Information processing device and system capable of preventing loss of user data
US10223272B2 (en) Latency sensitive metadata object persistence operation for storage device
US7310711B2 (en) Hard disk drive with support for atomic transactions
US7441081B2 (en) Write-back caching for disk drives
KR101702201B1 (en) Optimized context drop for a solid state drive(ssd)
JP5008845B2 (en) Storage system, storage apparatus and control method thereof
JP2001166993A (en) Memory control unit and method for controlling cache memory
US20190324859A1 (en) Method and Apparatus for Restoring Data after Power Failure for An Open-Channel Solid State Drive
JP2008204041A (en) Storage device and data arrangement control method
KR20110107798A (en) Storage system snapshot assisted by ssd technology
JP2009075759A (en) Storage device, and method for managing data in storage device
JP2005301419A (en) Disk array device and data processing method for it
CN111984365B (en) Virtual machine virtual disk dual-live implementation method and system
US9323630B2 (en) Enhanced data recovery from data storage devices
JP5977430B2 (en) Storage system, storage system control method, and storage controller
JP2005107838A (en) Disk array controller and log information recording method
JP2006099802A (en) Storage controller, and control method for cache memory
JP2004213470A (en) Disk array device, and data writing method for disk array device
JP6030308B2 (en) Information processing apparatus, control apparatus, and information processing method
JP2014203285A (en) Drive array device, controller, data storage drive and method
US7986480B2 (en) Micro-journaling of data on a storage device
JP4989861B2 (en) Data writing method and disk device
US7725666B2 (en) Micro-journaling of data on a storage device
JP7201775B2 (en) Storage system, data management method, and data management program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151208

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160202

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160307

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20160401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161020

R150 Certificate of patent or registration of utility model

Ref document number: 6030308

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150