JP6859599B2 - Disk array controller, disk array control method and disk array control program - Google Patents

Disk array controller, disk array control method and disk array control program Download PDF

Info

Publication number
JP6859599B2
JP6859599B2 JP2016062049A JP2016062049A JP6859599B2 JP 6859599 B2 JP6859599 B2 JP 6859599B2 JP 2016062049 A JP2016062049 A JP 2016062049A JP 2016062049 A JP2016062049 A JP 2016062049A JP 6859599 B2 JP6859599 B2 JP 6859599B2
Authority
JP
Japan
Prior art keywords
write
disk array
area
storage device
write request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016062049A
Other languages
Japanese (ja)
Other versions
JP2017174303A (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.)
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 JP2016062049A priority Critical patent/JP6859599B2/en
Publication of JP2017174303A publication Critical patent/JP2017174303A/en
Application granted granted Critical
Publication of JP6859599B2 publication Critical patent/JP6859599B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本開示は、ディスクアレイへの書き込みを制御するディスクアレイ制御装置等に関する。 The present disclosure relates to a disk array control device and the like that control writing to a disk array.

サーバ装置に使用されるHDD(Hard Disk Drive)やSSD(Solid State Drive)などの記憶装置は、障害に対する堅牢性を高めるため、RAID(Redundant Arrays of Inexpensive Disks)を構築して運用されることが多い。 Storage devices such as HDDs (Hard Disk Drives) and SSDs (Solid State Drives) used for server devices may be operated by constructing RAID (Redundant Arrays of Inexperience Disks) in order to improve robustness against failures. There are many.

RAIDを構築して運用される場合、5台以上のハードディスクを組み合わせて構築された「RAID5」、7台以上のハードディスクを組み合わせて構築された「RAID6」において、Write処理高速化のために、Read Modify Write(RMW)という技術を用いることが知られている。RMWとは、あるメモリ番地やI/O(Input/Output)ポートを読み込んで、そのデータを変更し、同じメモリ番地やI/Oポートに書き込むことをいう。RMWにより、I/O回数が少なくなるので、性能向上が可能となる。 When RAID is constructed and operated, Read is used to speed up Write processing in "RAID 5" constructed by combining 5 or more hard disks and "RAID 6" constructed by combining 7 or more hard disks. It is known to use a technique called RAID Write (RMW). RMW means reading a certain memory address or I / O (Input / Output) port, changing the data, and writing to the same memory address or I / O port. Since the number of I / O is reduced by the RMW, the performance can be improved.

一方、RMWを使用する前提として、RAIDにおけるデータの整合性がとれている必要がある。したがって、予め全面初期化するか、またはバックグラウンドイニシャライズ(BGI)という運用中のバックグラウンドでのデータ整合操作が必要である。したがって、すべてのデータの整合性が整うまでRMWが動作しないように制御していた。 On the other hand, as a premise for using RMW, it is necessary that the data in RAID is consistent. Therefore, it is necessary to perform full initialization in advance or perform background initialization (BGI), which is a data matching operation in the background during operation. Therefore, the RMW was controlled not to operate until all the data were consistent.

ここで、関連する技術として、例えば、特許文献1には、初期化処理を、自動的に又は特殊コマンドの受領を開始契機として、中断可能なバックグラウンドジョブとして実行する方法が開示されている。 Here, as a related technique, for example, Patent Document 1 discloses a method of executing an initialization process automatically or as a background job that can be interrupted by receiving a special command as a start trigger.

特開2005−011317号公報Japanese Unexamined Patent Publication No. 2005-011317

上述のように、RMWを使用するためには、RAIDにおけるデータの整合性が整っている必要がある。RAIDのコントローラは、OS(Operating System)などから書き込み要求を受けると、ファームウエアにより、BGIが完了しているかどうかを判断し、その判断の結果に基づいて、RMWを行うか否かを判断する。RAIDのコントローラのファームウエアは、BGIが完了している場合、RMWを行うと判断する。 As mentioned above, in order to use RMW, the data consistency in RAID needs to be in place. When the RAID controller receives a write request from the OS (Operating System) or the like, the firmware determines whether or not BGI has been completed, and based on the result of the determination, determines whether or not to perform RMW. .. The RAID controller firmware determines that it will perform RMW if BGI is complete.

しかしながら、近年のHDDの大容量化に伴い、すべてのデータの整合性を整えるまでに要する時間が増大しているため、RMWによるWrite処理高速化を実行するまでに時間を要してしまうという課題がある。 However, with the increase in the capacity of HDDs in recent years, the time required to adjust the consistency of all data is increasing, so that it takes time to speed up the Write processing by RMW. There is.

上記特許文献1には、初期化処理をバックグラウンドジョブとして実行することは開示されるが、RMWを利用したWrite処理の高速化を実現する手法については開示されていない。 The above-mentioned Patent Document 1 discloses that the initialization process is executed as a background job, but does not disclose a method for realizing high-speed writing process using RMW.

本願発明は、上記課題を鑑みてなされたものであり、RMWを利用した書き込み処理をさらに高速化することが可能なディスクアレイ制御装置等を提供することを主要な目的とする。 The present invention has been made in view of the above problems, and a main object of the present invention is to provide a disk array control device or the like capable of further speeding up a writing process using RMW.

本発明の第1のディスクアレイ制御装置は、RAIDを構成する複数の記憶装置の少なくともいずれかへの書き込み要求を受けると、前記記憶装置における初期化状況を判定する判定手段と、前記判定の結果、前記書き込み要求に基づく書き込み先が初期化済みでない場合、前記書き込み要求に基づいて第1の書き込み処理を実行すると共に、前記書き込み先に関連する領域の整合性を整える整合手段とを備える。 When the first disk array control device of the present invention receives a write request to at least one of a plurality of storage devices constituting RAID, a determination means for determining an initialization status in the storage device and a result of the determination. If the write destination based on the write request has not been initialized, the first write process is executed based on the write request, and a matching means for adjusting the consistency of the area related to the write destination is provided.

本発明の第1のディスクアレイ制御方法は、RAIDを構成する複数の記憶装置の少なくともいずれかへの書き込み要求を受けると、前記記憶装置における初期化状況を判定し、
前記判定の結果、前記書き込み要求に基づく書き込み先が初期化済みでない場合、前記書き込み要求に基づいて第1の書き込み処理を実行すると共に、前記書き込み先に関連する領域の整合性を整える。
The first disk array control method of the present invention determines the initialization status in the storage device upon receiving a write request to at least one of a plurality of storage devices constituting the RAID.
As a result of the determination, if the write destination based on the write request has not been initialized, the first write process is executed based on the write request, and the consistency of the area related to the write destination is adjusted.

なお同目的は、上記の各構成を有するディスクアレイ制御方法を、コンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。 It should be noted that the same purpose is also achieved by a computer program that realizes the disk array control method having each of the above configurations by a computer and a computer-readable storage medium in which the computer program is stored.

本願発明によれば、RMWを利用した書き込み処理をさらに高速化することができるという効果が得られる。 According to the present invention, there is an effect that the writing process using the RMW can be further speeded up.

本発明の第1の実施形態に係るディスクアレイ制御装置の構成を示すブロック図である。It is a block diagram which shows the structure of the disk array control apparatus which concerns on 1st Embodiment of this invention. 本発明の第2の実施形態に係るディスクアレイ制御装置の構成を示すブロック図である。It is a block diagram which shows the structure of the disk array control apparatus which concerns on 2nd Embodiment of this invention. 本発明の第2の実施形態に係るディスクアレイ制御装置の動作について説明するフローチャートである。It is a flowchart explaining the operation of the disk array control apparatus which concerns on 2nd Embodiment of this invention. 本発明の第3の実施形態に係るディスクアレイ制御装置の構成を示すブロック図である。It is a block diagram which shows the structure of the disk array control apparatus which concerns on 3rd Embodiment of this invention. 各実施形態に示したディスクアレイ制御装置を実現するハードウエア構成の一例を示す図である。It is a figure which shows an example of the hardware configuration which realizes the disk array control apparatus shown in each embodiment.

以下、本発明の実施形態について図面を参照して詳細に説明する。なお、図面における矢印の方向は、一例を示すものであり、ブロック間の信号の向きを限定するものではない。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. The direction of the arrow in the drawing shows an example, and does not limit the direction of the signal between the blocks.

第1の実施形態
図1は、本発明の第1の実施形態に係るディスクアレイ制御装置1の構成を示すブロック図である。図1に示すように、第1の実施形態に係るディスクアレイ制御装置1は、判定部2および整合部3を備える。
1st Embodiment FIG. 1 is a block diagram which shows the structure of the disk array control apparatus 1 which concerns on 1st Embodiment of this invention. As shown in FIG. 1, the disk array control device 1 according to the first embodiment includes a determination unit 2 and a matching unit 3.

判定部2は、RAIDを構成する複数の記憶装置の少なくともいずれかへの書き込み要求を受けると、記憶装置における初期化状況を判定する。 Upon receiving a write request to at least one of a plurality of storage devices constituting the RAID, the determination unit 2 determines the initialization status in the storage device.

整合部3は、判定の結果、書き込み要求に基づく書き込み先が初期化済みでない場合、書き込み要求に基づいて第1の書き込み処理を実行すると共に、書き込み先に関連する領域の整合性を整える。 As a result of the determination, when the write destination based on the write request has not been initialized, the matching unit 3 executes the first write process based on the write request and adjusts the consistency of the area related to the write destination.

以上のように、本第1の実施形態によれば、書き込み先が初期化済みでない場合に第1の書き込み処理の実行と共に、書き込み先に関連する領域の整合性を整えるので、RMWを利用した書き込み処理をさらに高速化することができるという効果が得られる。 As described above, according to the first embodiment, when the write destination has not been initialized, the RMW is used because the consistency of the area related to the write destination is adjusted together with the execution of the first write process. The effect that the writing process can be further speeded up can be obtained.

第2の実施形態
図2は、本発明の第2の実施形態に係るディスクアレイ制御装置100の構成を示すブロック図である。図2に示すように、第2の実施形態に係るディスクアレイ制御装置100は、要求取得部110、判定部120、整合部130、書き込み部140およびBGI実行部150を備える。
Second Embodiment FIG. 2 is a block diagram showing a configuration of a disk array control device 100 according to a second embodiment of the present invention. As shown in FIG. 2, the disk array control device 100 according to the second embodiment includes a request acquisition unit 110, a determination unit 120, a matching unit 130, a writing unit 140, and a BGI execution unit 150.

判定部120は、RAID判定部121および初期化済み判定部122を備える。整合部130は、BGI位置検出部131、整合判定部132、整合実行部133および領域管理部134を備える。書き込み部140は、書き込み制御部141、通常書き込み部142およびRMW部143を備える。 The determination unit 120 includes a RAID determination unit 121 and an initialized determination unit 122. The matching unit 130 includes a BGI position detection unit 131, a matching determination unit 132, a matching execution unit 133, and an area management unit 134. The writing unit 140 includes a writing control unit 141, a normal writing unit 142, and an RMW unit 143.

ディスクアレイ制御装置100は、RAIDを構成する複数の記憶装置を含むディスクアレイ170に対して書き込みまたは読み出し等を行う装置である。 The disk array control device 100 is a device that writes or reads a disk array 170 including a plurality of storage devices constituting RAID.

各構成要素の概要について説明する。 An outline of each component will be described.

ディスクアレイ制御装置100の要求取得部110は、OSなどから要求、例えばデータの書き込み要求を取得する。 The request acquisition unit 110 of the disk array control device 100 acquires a request, for example, a data write request from the OS or the like.

判定部120は、RAID構成の判定と、初期化済みか否かの判定を行う。具体的には、RAID判定部121は、ディスクアレイ170のRAID構成を判定する。初期化済み判定部122は、要求取得部110が取得した書き込み要求に基づいて行う書き込み処理の書き込み先であるディスクアレイ170の全領域が、初期化済みであるか、BGI実行部150によるBGIが完了済みかを判断する。 The determination unit 120 determines the RAID configuration and whether or not it has been initialized. Specifically, the RAID determination unit 121 determines the RAID configuration of the disk array 170. In the initialized determination unit 122, whether the entire area of the disk array 170, which is the write destination of the write process performed based on the write request acquired by the request acquisition unit 110, has been initialized, or the BGI by the BGI execution unit 150 determines. Determine if it has been completed.

整合部130は、ディスクアレイ170の整合性を整える処理を行う。具体的には、BGI位置検出部131は、BGI実行部150によるディスクアレイ170へのBGI実行状況から、BGIが完了している位置(以降、「BGI完了位置」とも称する)を検出する。整合判定部132は、BGI位置検出部131が検出したBGI完了位置と、書き込み要求に基づく書き込み先アドレスとを比較し、書き込み先アドレスが初期化済みか否か(初期化状況)、すなわち、整合性が整っているかどうかを判定する。初期化済み判定部122、BGI位置検出部131および整合判定部132は、判定手段の一例である。 The matching unit 130 performs a process of adjusting the consistency of the disk array 170. Specifically, the BGI position detection unit 131 detects the position where the BGI is completed (hereinafter, also referred to as “BGI completion position”) from the BGI execution status on the disk array 170 by the BGI execution unit 150. The matching determination unit 132 compares the BGI completion position detected by the BGI position detection unit 131 with the write destination address based on the write request, and whether or not the write destination address has been initialized (initialization status), that is, matching. Determine if the sex is in order. The initialized determination unit 122, the BGI position detection unit 131, and the matching determination unit 132 are examples of determination means.

整合実行部133は、整合判定部132による判定の結果、書き込み先アドレスの整合性が整っていない場合、通常書き込み処理が実行されるのと共に、書き込み先アドレスに関連するディスクアレイ170の領域を、ストライプ単位または数ストライプ単位で、整合性を整える。 As a result of the determination by the matching determination unit 132, the matching execution unit 133 normally executes the writing process and determines the area of the disk array 170 related to the writing destination address when the consistency of the writing destination address is not established. Align by stripe or by several stripes.

領域管理部134は、整合実行部133により整合性が整えられた領域を示す情報を保持する。 The area management unit 134 holds information indicating an area whose consistency has been adjusted by the matching execution unit 133.

書き込み部140は、ディスクアレイ170に対する書き込みを行う。具体的には、書き込み制御部141は、判定部120または整合部130からの指示に基づいて、通常書き込み部142に通常書き込み処理の実行指示、またはRMW部143にRMWによる書き込み処理の実行指示を通知する。整合実行部133、書き込み部140は、整合手段の一例である。 The writing unit 140 writes to the disk array 170. Specifically, the write control unit 141 gives an instruction to execute the normal write process to the normal write unit 142 or an instruction to execute the write process by the RMW to the RMW unit 143 based on the instruction from the determination unit 120 or the matching unit 130. Notice. The matching execution unit 133 and the writing unit 140 are examples of matching means.

通常書き込み部142は、ディスクアレイ170に対して、書き込み制御部141の指示に基づいて、RMWではなく通常書き込み処理を実行する。RMW部143は、ディスクアレイ170に対して、書き込み制御部141の指示に基づいて、RMWによる書き込み処理を実行する。 The normal writing unit 142 executes the normal writing process instead of the RMW on the disk array 170 based on the instruction of the writing control unit 141. The RMW unit 143 executes a write process by the RMW on the disk array 170 based on the instruction of the write control unit 141.

BGI実行部150は、BGIを実行する機能を有する。このBGI実行部150によりBGIを実行する機能は、ディスクアレイ制御装置100が備えるファームウエアに搭載されており、バックグラウンドでディスクアレイ170を構成する記憶装置の整合性を整える処理を行う。整合性を整える処理とは、例えば、ディスクアレイ170のうちパリティ領域やミラー領域の異常の有無等をチェックし、異常を検出したときは修復を行う処理である。 The BGI execution unit 150 has a function of executing BGI. The function of executing BGI by the BGI execution unit 150 is installed in the firmware included in the disk array control device 100, and performs a process of adjusting the consistency of the storage devices constituting the disk array 170 in the background. The process of adjusting the consistency is, for example, a process of checking the presence or absence of an abnormality in the parity area or the mirror area of the disk array 170, and repairing the disk array 170 when an abnormality is detected.

図3は、ディスクアレイ制御装置100の動作について説明するフローチャートである。図3を参照して、ディスクアレイ制御装置100の動作の詳細について説明する。なお、本実施形態では、ディスクアレイ170は、RAID0、RAID1、RAID5およびRAID6のいずれかの構成をなすと仮定する。 FIG. 3 is a flowchart illustrating the operation of the disk array control device 100. The details of the operation of the disk array control device 100 will be described with reference to FIG. In this embodiment, it is assumed that the disk array 170 has any of RAID0, RAID1, RAID5, and RAID6.

要求取得部110は、OSなどから書き込み要求を取得する(S201)。書き込み要求を受けると、判定部120のRAID判定部121は、ディスクアレイ170のRAID構成を判定する。RAID判定部121は、ディスクアレイ170のRAID構成が、RAID0またはRAID1か(S202においてYes)、4台以下のRAID5または6台以下のRAID6である場合(S204においてYes)、その旨を書き込み部140に通知する。 The request acquisition unit 110 acquires a write request from the OS or the like (S201). Upon receiving the write request, the RAID determination unit 121 of the determination unit 120 determines the RAID configuration of the disk array 170. When the RAID configuration of the disk array 170 is RAID 0 or RAID 1 (Yes in S202) or 4 or less RAID 5 or 6 or less RAID 6 (Yes in S204), the RAID determination unit 121 writes to that effect. Notify to.

上記通知に応じて、書き込み部140の書き込み制御部141は、通常書き込み部142に上記書き込み要求に応じた通常書き込み処理を実行するように指示する。通常書き込み部142は、RAID構成に応じた通常の書き込み処理を行う(S203、S205)。通常の書き込み処理は、第1の書き込み処理の一例である。 In response to the notification, the write control unit 141 of the write unit 140 instructs the normal write unit 142 to execute the normal write process in response to the write request. The normal writing unit 142 performs a normal writing process according to the RAID configuration (S203, S205). The normal writing process is an example of the first writing process.

例えば、RAID5環境における通常の書き込み処理では、書き込みデータ(Writeデータ)を書き込む記憶装置、および該当するパリティがある記憶装置以外の記憶装置から関連するデータを読み出し、それらのデータと書き込みデータから新たなパリティを生成する。そして、書き込みデータおよび新たなパリティをそれぞれの記憶装置に書き込む。具体的には、記憶装置5台で構成されるRAID5環境では、パリティ用に1台(HDD0)、データ用に4台(HDD1,2,3,4)が割り当てられる。このとき、HDD2に書き込み要求があった場合、HDD1,3,4からデータを読み出して書き込みデータと共にパリティを生成し、HDD0にパリティを、HDD2に書き込みデータを、それぞれ書き込む。このように、通常の書き込み処理では、(5−2)read+2write=5回のアクセスが行われる。すなわち、記憶装置の台数をnとすると、RAID5の場合、(n−2)read+2write=n回のアクセスが行われる。 For example, in a normal write process in a RAID5 environment, related data is read from a storage device that writes write data (Write data) and a storage device other than a storage device that has a corresponding parity, and new data is read from those data and the write data. Generate parity. Then, the write data and the new parity are written to each storage device. Specifically, in a RAID5 environment composed of five storage devices, one unit (HDD0) is allocated for parity and four units (HDD1, 2, 3, 4) are allocated for data. At this time, when there is a write request to the HDD 2, data is read from the HDDs 1, 3 and 4 to generate parity together with the write data, and the parity is written to the HDD 0 and the write data is written to the HDD 2. As described above, in the normal writing process, (5-2) read + 2write = 5 times of access is performed. That is, assuming that the number of storage devices is n, in the case of RAID5, access is performed (n-2) read + 2 write = n times.

5台以上のRAID5または7台以上のRAID6である場合(S204においてNo)、RAID判定部121は、その旨を初期化済み判定部122に通知する。初期化済み判定部122は、上記通知に応じて、ディスクアレイ170の全領域が初期化済みであるか、またはBGIが完了済みであるかを、それぞれディスクアレイ170またはBGI実行部150を調べることにより判定する。 When there are 5 or more RAID 5 or 7 or more RAID 6 (No in S204), the RAID determination unit 121 notifies the initialized determination unit 122 to that effect. In response to the above notification, the initialized determination unit 122 examines the disk array 170 or the BGI execution unit 150 to check whether the entire area of the disk array 170 has been initialized or the BGI has been completed, respectively. Judgment by.

ディスクアレイ170の全領域が初期化済みである、またはBGIが完了済みである場合(S206においてYes)、初期化済み判定部122は、書き込み部140にその旨を通知する。 When the entire area of the disk array 170 has been initialized or the BGI has been completed (Yes in S206), the initialized determination unit 122 notifies the writing unit 140 to that effect.

書き込み部140の書き込み制御部141は、初期化済み判定部122からの通知により、ディスクアレイ170の整合性が整っていることを認識し、RMW部143に対して、上記書き込み要求に基づくRMWによる書き込み処理を実行することを指示する。RMW部143は、上記指示に応じて、上記書き込み要求に基づくRMWによる書き込み処理をディスクアレイ170に対して実行する(S207)。 The write control unit 141 of the write unit 140 recognizes that the consistency of the disk array 170 is complete by the notification from the initialized determination unit 122, and sends the RMW unit 143 to the RMW unit 143 based on the RMW based on the above write request. Instructs to execute the write process. In response to the above instruction, the RMW unit 143 executes a write process by the RMW based on the write request on the disk array 170 (S207).

一方、ディスクアレイ170の全領域が初期化済みでなく、かつBGIも完了済みでない場合(S206においてNo)、初期化済み判定部122は、整合部130にその旨を通知する。 On the other hand, when the entire area of the disk array 170 has not been initialized and the BGI has not been completed (No in S206), the initialized determination unit 122 notifies the matching unit 130 to that effect.

整合部130のBGI位置検出部131は、上記通知に応じて、BGI実行部150から、BGIが終了している位置(領域)を検出する。例えば、BGI実行部150はBGIが終了しているアドレスを管理しており、BGI位置検出部131は、そのアドレスを取得することにより、BGIが終了している位置を検出することができる。 The BGI position detection unit 131 of the matching unit 130 detects the position (region) where the BGI has ended from the BGI execution unit 150 in response to the above notification. For example, the BGI execution unit 150 manages the address where the BGI ends, and the BGI position detection unit 131 can detect the position where the BGI ends by acquiring the address.

ここで、BGIが全領域で完了していない場合でも、書き込み先のアドレスの整合性が整っていれば、RMWによる書き込み処理を行ったとしても問題はない。そこで、整合判定部132は、BGI位置検出部131による検出結果に基づいて、書き込み要求に基づく書き込み先のアドレスの整合性が整っているかどうかを判断する。このとき、整合判定部132は、後述する領域管理部134に保存される整合処理済み領域も参照して、書き込み要求に基づく書き込み先のアドレスの整合性が整っているかどうかを判断する。すなわち、書き込み要求に基づく書き込み先のアドレスが、整合処理済み領域に含まれている場合、整合判定部132は、書き込み先のアドレスの整合性は整っていると判断する。 Here, even if BGI is not completed in all areas, there is no problem even if the writing process by RMW is performed as long as the consistency of the writing destination address is prepared. Therefore, the matching determination unit 132 determines whether or not the consistency of the write destination address based on the write request is complete based on the detection result by the BGI position detection unit 131. At this time, the matching determination unit 132 also refers to the matching processed area stored in the area management unit 134, which will be described later, and determines whether or not the consistency of the write destination address based on the write request is complete. That is, when the write-destination address based on the write request is included in the matching-processed area, the matching determination unit 132 determines that the write-destination address is consistent.

整合性が整っている場合(S208においてYes)、整合判定部132は、書き込み部140にその旨を通知する。書き込み部140の書き込み制御部141は、上記通知に応じて、RMW部143に対して、上記書き込み要求に基づくRMWによる書き込み処理を実行することを指示する。RMW部143は、上記指示に応じて、上記書き込み要求に基づくRMWによる書き込み処理をディスクアレイ170に対して実行する(S209)。 When the consistency is complete (Yes in S208), the matching determination unit 132 notifies the writing unit 140 to that effect. In response to the above notification, the write control unit 141 of the write unit 140 instructs the RMW unit 143 to execute the write process by the RMW based on the write request. In response to the above instruction, the RMW unit 143 executes a write process by the RMW based on the write request on the disk array 170 (S209).

一方、整合性が整っていない場合(S208においてNo)、整合判定部132は、書き込み部140にその旨を通知する。書き込み部140の書き込み制御部141は、上記通知に応じて、RMWによる書き込みはできないので通常書き込み部142に対して上記書き込み要求に基づく通常の書き込み処理を実行することを指示する。通常書き込み部142は、上記指示に応じて、上記書き込み要求に基づく通常の書き込み処理をディスクアレイ170に対して実行する(S210)。通常の書き込み処理では、通常書き込み部142は、書き込み要求に基づく書き込み先アドレスにデータを書き込むと共に、パリティを生成して所定の記憶装置に書き込む。 On the other hand, when the consistency is not complete (No in S208), the matching determination unit 132 notifies the writing unit 140 to that effect. In response to the above notification, the write control unit 141 of the write unit 140 instructs the normal write unit 142 to execute a normal write process based on the write request because writing by RMW is not possible. In response to the above instruction, the normal writing unit 142 executes a normal writing process based on the writing request on the disk array 170 (S210). In the normal writing process, the normal writing unit 142 writes data to the writing destination address based on the writing request, generates parity, and writes the data to a predetermined storage device.

上記通常の書き込み処理が終了すると、整合判定部132は、整合実行部133に、整合性を整える処理の実行を指示する。整合実行部133は、上記指示に応じて、整合性を整える処理を実行する(S211)。このとき、整合実行部133は、書き込み要求に基づく書き込み先のアドレスに関連する(例えばそのアドレスを含む)ディスクアレイ170の1ストライプ分の整合性を整える処理を実行する。具体的には、整合実行部133は、そのストライプに含まれるデータ(ブロック)に基づくパリティを生成し、所定の記憶装置に保存する。整合実行部133は、予め決められた数のストライプ単位でパリティの生成を行ってもよい。 When the normal writing process is completed, the matching determination unit 132 instructs the matching execution unit 133 to execute the process for adjusting the consistency. The matching execution unit 133 executes a process of adjusting the consistency in response to the above instruction (S211). At this time, the matching execution unit 133 executes a process of adjusting the consistency of one stripe of the disk array 170 related to (for example, including the address) the address of the writing destination based on the write request. Specifically, the matching execution unit 133 generates parity based on the data (block) included in the stripe and stores it in a predetermined storage device. The matching execution unit 133 may generate parity in a predetermined number of stripe units.

整合実行部133は、上記のようにパリティの生成を行い整合性を整える処理を実行すると、その処理を実行した領域(整合処理済み領域)を領域管理部134に保存しておく。このように、通常の書き込み処理を行うと共に、例えばその書き込み先アドレスを含む(例えば周辺の)ストライプ分の整合性を整えておくことで、次回その書き込み先のアドレスに近いアドレスへの書き込み要求があった際に、整合性がすでに整っていることによりRMWによる書き込み処理を実行できる。 When the matching execution unit 133 executes the process of generating parity and adjusting the consistency as described above, the area (matching processed area) in which the process is executed is stored in the area management unit 134. In this way, by performing normal write processing and adjusting the consistency of the stripes including the write destination address (for example, around), the next write request to the address close to the write destination address can be made. At that time, the write process by the RMW can be executed because the consistency is already in place.

以上のように、本第2の実施形態によれば、ディスクアレイ制御装置100は、書き込み要求を受けた際にBGIの実行中である場合、書き込み要求に基づく書き込み先のアドレスの整合性が整っているかどうかを判断する。整合性が整っている場合、ディスクアレイ制御装置100は、RMWによる書き込み処理を行い、整っていない場合は、通常書き込み処理を行うと共に整合性を整える処理を実行する。 As described above, according to the second embodiment, when the disk array control device 100 receives the write request and the BGI is being executed, the consistency of the write destination address based on the write request is set. Determine if it is. When the consistency is complete, the disk array control device 100 performs a write process by the RMW, and when the consistency is not complete, the disk array control device 100 performs a normal write process and a process of adjusting the consistency.

上述のように、記憶装置n台のRAID5の場合、通常の書き込み処理では、(n−2)read+2write=n回のアクセスが行われるが、記憶装置が5台以上の場合、上記構成に基づいてRMWを行うと、記憶装置の台数に関係なく、2read+2write=4回のアクセスとなる。よって、通常の書き込み処理よりも高速となる。このように、本実施形態によれば、ディスクアレイ170の全領域の整合性が整う前にRMWによる処理を行うことができるので、RMWを利用した書き込み処理をさらに高速化することができるという効果が得られる。 As described above, in the case of RAID 5 of n storage devices, access is performed (n-2) read + 2 write = n times in the normal writing process, but when there are 5 or more storage devices, based on the above configuration. When RMW is performed, access is performed 2read + 2write = 4 times regardless of the number of storage devices. Therefore, the speed is higher than that of the normal writing process. As described above, according to the present embodiment, since the processing by the RMW can be performed before the consistency of the entire area of the disk array 170 is adjusted, the writing processing using the RMW can be further speeded up. Is obtained.

第3の実施形態
図4は、第3の実施形態に係るディスクアレイ制御装置200の構成を示すブロック図である。本実施形態に係るディスクアレイ制御装置200は、第2の実施形態において説明したディスクアレイ制御装置100に加えて、実行スケジュール制御部151を備える。実行スケジュール制御部151は、実行制御手段の一例である。
Third Embodiment FIG. 4 is a block diagram showing the configuration of the disk array control device 200 according to the third embodiment. The disk array control device 200 according to the present embodiment includes an execution schedule control unit 151 in addition to the disk array control device 100 described in the second embodiment. The execution schedule control unit 151 is an example of the execution control means.

本実施形態では、OSのパーティション情報に基づいて、BGIの実行スケジュールを制御する動作について説明する。 In this embodiment, the operation of controlling the execution schedule of BGI based on the partition information of the OS will be described.

ディスクアレイ170において、OSを格納するパーティションが1つの場合、実行スケジュール制御部151は、そのOSのファイルシステムに応じて、ディスクアレイ170の所定サイズの領域(例えば1GB:ギガバイト)ごとに、アクセス頻度を取得する。そして、実行スケジュール制御部151は、他の領域よりもアクセス頻度の高い領域を検出すると共に、その領域のBGIを実行するように、BGI実行部150に指示する。BGI実行部150は、上記指示に基づいて、検出された領域のBGIを実行する。 When the disk array 170 has one partition for storing the OS, the execution schedule control unit 151 accesses the disk array 170 for each predetermined size area (for example, 1 GB: gigabyte) according to the file system of the OS. To get. Then, the execution schedule control unit 151 detects an area having a higher access frequency than the other areas, and instructs the BGI execution unit 150 to execute the BGI in that area. The BGI execution unit 150 executes the BGI of the detected region based on the above instructions.

ディスクアレイ170において、OSを格納するパーティションが複数ある場合、OS毎に、FAT(File Allocation Table)、NTFS(NT File System)等、様々な種類のファイルシステムが使用されている。実行スケジュール制御部151は、複数のうちいずれかのOSのファイルシステムを指定し、そのファイルシステムの種類に応じて、ディスクアレイ170の所定サイズの領域ごとに、アクセス頻度を取得する。 When there are a plurality of partitions for storing the OS in the disk array 170, various types of file systems such as FAT (File Allocation Table) and NTFS (NT File System) are used for each OS. The execution schedule control unit 151 specifies a file system of any one of a plurality of OSs, and acquires an access frequency for each area of a predetermined size of the disk array 170 according to the type of the file system.

そして、実行スケジュール制御部151は、ディスクアレイ170において、他の領域よりもアクセス頻度の高い領域を検出すると共に、その領域のBGIを実行するように、BGI実行部150に指示する。BGI実行部150は、上記指示に基づいて、検出された領域のBGIを実行する。 Then, the execution schedule control unit 151 instructs the BGI execution unit 150 to detect an area having a higher access frequency than the other areas in the disk array 170 and execute the BGI in that area. The BGI execution unit 150 executes the BGI of the detected region based on the above instructions.

実行スケジュール制御部151は、OSを格納するパーティションの容量の順に、ラウンドロビン方式でパーティションを切り替えてファイルシステムを指定し、ファイルシステムごとに他の領域よりもアクセス頻度の高い領域に順にBGIを実行するように、BGI実行部150に指示してもよい。 The execution schedule control unit 151 switches partitions in the order of the capacity of the partition that stores the OS, specifies a file system, and executes BGI in order for each file system in an area that is accessed more frequently than other areas. You may instruct the BGI execution unit 150 to do so.

以上のように、本第3の実施形態によれば、ディスクアレイ制御装置200は、ディスクアレイ170へのアクセス頻度に基づいて、BGIの実行スケジュールを制御する実行スケジュール制御部151を備える。この構成を採用することにより、本第3の実施形態によれば、ディスクアレイ170へのアクセス頻度の高い領域から優先的にBGIを実行できる、すなわち、アクセス頻度の高い領域に対して優先的にRMWによる書き込み処理を実行できるので、RMWを利用した書き込み処理をさらに高速化することができるという効果が得られる。 As described above, according to the third embodiment, the disk array control device 200 includes an execution schedule control unit 151 that controls the execution schedule of the BGI based on the access frequency to the disk array 170. By adopting this configuration, according to the third embodiment, the BGI can be executed preferentially from the area where the access frequency to the disk array 170 is high, that is, the area where the access frequency is high is given priority. Since the write process using the RMW can be executed, the effect that the write process using the RMW can be further speeded up can be obtained.

図1、図2および図4に示したディスクアレイ制御装置1、100、200の各部は、図5に例示するハードウエア資源において実現される。すなわち、図5に示す構成は、プロセッサ11、RAM(Random Access Memory)12、ROM(Read Only Memory)13、外部接続インタフェース14、記録装置15および各構成要素を接続するバス16を備える。 Each part of the disk array control device 1, 100, 200 shown in FIGS. 1, 2 and 4 is realized by the hardware resource illustrated in FIG. That is, the configuration shown in FIG. 5 includes a processor 11, a RAM (Random Access Memory) 12, a ROM (Read Only Memory) 13, an external connection interface 14, a recording device 15, and a bus 16 for connecting each component.

上述した各実施形態では、図5に示すプロセッサ11が実行する一例として、ディスクアレイ制御装置1、100、200に対して、上述した機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、プロセッサ11がRAM12に読み出して実行することによって実現する場合について説明した。しかしながら、図1、図2および図4に示した各ブロックに示す機能は、一部または全部を、ハードウエアとして実現してもよい。 In each of the above-described embodiments, as an example of execution by the processor 11 shown in FIG. 5, the disk array control devices 1, 100, and 200 are supplied with a computer program capable of realizing the above-mentioned functions, and then the computer. The case where the program is realized by the processor 11 reading into the RAM 12 and executing the program has been described. However, some or all of the functions shown in the blocks shown in FIGS. 1, 2 and 4 may be realized as hardware.

係る供給されたコンピュータ・プログラムは、読み書き可能なメモリ(一時記憶媒体)またはハードディスク装置等のコンピュータ読み取り可能な記憶デバイスに格納すればよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムを表すコード或いは係るコンピュータ・プログラムを格納した記憶媒体によって構成されると捉えることができる。 The supplied computer program may be stored in a computer-readable storage device such as a readable / writable memory (temporary storage medium) or a hard disk device. Then, in such a case, the present invention can be regarded as being composed of a code representing the computer program or a storage medium storing the computer program.

以上、上述した実施形態を参照して本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、種々の上記開示要素の多様な組み合わせ乃至選択など、当業者が理解し得る様々な態様を適用することができる。 The present invention has been described above with reference to the above-described embodiments. However, the present invention is not limited to the above-described embodiments. That is, within the scope of the present invention, various aspects that can be understood by those skilled in the art, such as various combinations or selections of the various disclosed elements, can be applied.

1、100、200 ディスクアレイ制御装置
2 判定部
3 整合部
11 プロセッサ
12 RAM
13 ROM
14 外部接続インタフェース
15 記録装置
16 バス
110 要求取得部
120 判定部
121 RAID判定部
122 初期化済み判定部
130 整合部
131 BGI位置検出部
132 整合判定部
133 整合実行部
134 領域管理部
140 書き込み部
141 書き込み制御部
142 通常書き込み部
143 RMW部
150 BGI実行部
151 実行スケジュール制御部
170 ディスクアレイ
1,100,200 Disk array controller 2 Judgment unit 3 Matching unit 11 Processor 12 RAM
13 ROM
14 External connection interface 15 Recording device 16 Bus 110 Request acquisition unit 120 Judgment unit 121 RAID judgment unit 122 Initialized judgment unit 130 Matching unit 131 BGI position detection unit 132 Matching judgment unit 133 Matching execution unit 134 Area management unit 140 Writing unit 141 Write control unit 142 Normal write unit 143 RMW unit 150 BGI execution unit 151 Execution schedule control unit 170 Disk array

Claims (7)

RAID(Redundant Arrays of Inexpensive Disks)を構成する複数の記憶装置の少なくともいずれかへの書き込み要求を受けると、前記記憶装置における初期化状況を判定する判定手段と、
前記判定の結果、前記書き込み要求に基づく書き込み先が初期化済みでない場合、前記書き込み要求に基づいて第1の書き込み処理を実行すると共に、前記書き込み先に関連する領域の整合性を整える整合手段と、
前記記憶装置へのアクセス頻度を取得すると共に、該アクセス頻度が他より大きい前記記憶装置の領域からバックグラウンドで初期化を行うように制御する実行制御手段と
を備え
前記バックグラウンドで行われる初期化では、前記記憶装置に含まれる領域の異常の有無をチェックし、異常が検出された領域を修復する
ディスクアレイ制御装置。
Upon receiving a write request to at least one of a plurality of storage devices constituting RAID (Redundant Arrays of Inexpensive Disks), a determination means for determining the initialization status in the storage device, and a determination means.
As a result of the determination, when the write destination based on the write request has not been initialized, the first write process is executed based on the write request, and the matching means for adjusting the consistency of the area related to the write destination is provided. ,
It is provided with an execution control means for acquiring the access frequency to the storage device and controlling so as to perform initialization in the background from the area of the storage device whose access frequency is higher than the others .
In the initialization performed in the background, a disk array control device that checks the presence or absence of an abnormality in the area included in the storage device and repairs the area in which the abnormality is detected.
前記判定手段は、前記記憶装置における初期化済み位置を検出し、前記書き込み要求に基づく書き込み先のアドレスと前記初期化済み位置とに基づいて、前記書き込み先が初期化済みか否かを示す前記初期化状況を判定する
請求項1記載のディスクアレイ制御装置。
The determination means detects an initialized position in the storage device, and indicates whether or not the write destination has been initialized based on the address of the write destination based on the write request and the initialized position. The disk array control device according to claim 1, wherein the initialization status is determined.
前記整合手段は、前記書き込み先のアドレスを含む1または複数のストライプ単位で、パリティを生成して前記記憶装置に記憶することにより、前記整合性を整える
請求項1または請求項2記載のディスクアレイ制御装置。
The disk array according to claim 1 or 2, wherein the matching means adjusts the consistency by generating parity and storing it in the storage device in units of one or a plurality of stripes including the address of the writing destination. Control device.
前記整合手段は、前記パリティを生成した領域を管理する領域管理手段をさらに備え、
前記判定手段は、前記書き込み要求に基づく書き込み先が、前記領域管理手段により管理される領域である場合、前記書き込み要求に基づく書き込み先は初期化済みであると判定する
請求項3記載のディスクアレイ制御装置。
The matching means further includes an area management means for managing the area in which the parity is generated.
The disk array according to claim 3, wherein the determination means determines that the write destination based on the write request has been initialized when the write destination based on the write request is an area managed by the area management means. Control device.
前記整合手段は、前記判定手段による判定の結果、前記書き込み要求に基づく書き込み先が初期化済みである場合、前記書き込み要求に基づいてRMW(Read Modify Write)を実行する
請求項1乃至請求項4のいずれか1項記載のディスクアレイ制御装置。
Claims 1 to 4 that the matching means executes RMW (Read Modify Write) based on the write request when the write destination based on the write request has been initialized as a result of the determination by the determination means. The disk array control device according to any one of the above.
RAIDを構成する複数の記憶装置の少なくともいずれかへの書き込み要求を受けると、前記記憶装置における初期化状況を判定し、
前記判定の結果、前記書き込み要求に基づく書き込み先が初期化済みでない場合、前記書き込み要求に基づいて第1の書き込み処理を実行すると共に、前記書き込み先に関連する領域の整合性を整え、
前記記憶装置へのアクセス頻度を取得すると共に、該アクセス頻度が他より大きい前記記憶装置の領域からバックグラウンドで初期化を行うように制御し、
前記バックグラウンドで行われる初期化において、前記記憶装置に含まれる領域の異常の有無をチェックし、異常が検出された領域を修復する
ディスクアレイ制御方法。
Upon receiving a write request to at least one of a plurality of storage devices constituting RAID, the initialization status in the storage device is determined.
As a result of the determination, if the write destination based on the write request has not been initialized, the first write process is executed based on the write request, and the consistency of the area related to the write destination is adjusted.
The access frequency to the storage device is acquired, and the area of the storage device whose access frequency is higher than the others is controlled to be initialized in the background.
A disk array control method for checking the presence or absence of an abnormality in an area included in the storage device and repairing an area in which an abnormality is detected in the initialization performed in the background.
コンピュータに、
RAIDを構成する複数の記憶装置の少なくともいずれかへの書き込み要求を受けると、前記記憶装置における初期化状況を判定する処理と、
前記判定の結果、前記書き込み要求に基づく書き込み先が初期化済みでない場合、前記書き込み要求に基づいて第1の書き込み処理を実行すると共に、前記書き込み先に関連する領域の整合性を整える処理と、
前記記憶装置へのアクセス頻度を取得すると共に、該アクセス頻度が他より大きい前記記憶装置の領域からバックグラウンドで初期化を行うように制御する処理と、を実行させ、
前記バックグラウンドで行われる初期化において、前記記憶装置に含まれる領域の異常の有無をチェックし、異常が検出された領域を修復させる、
ためのディスクアレイ制御プログラム。
On the computer
Upon receiving a write request to at least one of a plurality of storage devices constituting RAID, a process of determining the initialization status in the storage device and a process of determining the initialization status of the storage device.
As a result of the determination, when the write destination based on the write request has not been initialized, the first write process is executed based on the write request, and the process of adjusting the consistency of the area related to the write destination is performed.
A process of acquiring the access frequency to the storage device and controlling the area of the storage device whose access frequency is higher than the others to perform initialization in the background is executed.
In the initialization performed in the background, the presence or absence of an abnormality in the area included in the storage device is checked, and the area in which the abnormality is detected is repaired.
Disk array control program for.
JP2016062049A 2016-03-25 2016-03-25 Disk array controller, disk array control method and disk array control program Active JP6859599B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016062049A JP6859599B2 (en) 2016-03-25 2016-03-25 Disk array controller, disk array control method and disk array control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016062049A JP6859599B2 (en) 2016-03-25 2016-03-25 Disk array controller, disk array control method and disk array control program

Publications (2)

Publication Number Publication Date
JP2017174303A JP2017174303A (en) 2017-09-28
JP6859599B2 true JP6859599B2 (en) 2021-04-14

Family

ID=59971383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016062049A Active JP6859599B2 (en) 2016-03-25 2016-03-25 Disk array controller, disk array control method and disk array control program

Country Status (1)

Country Link
JP (1) JP6859599B2 (en)

Also Published As

Publication number Publication date
JP2017174303A (en) 2017-09-28

Similar Documents

Publication Publication Date Title
US9542272B2 (en) Write redirection in redundant array of independent disks systems
US9378093B2 (en) Controlling data storage in an array of storage devices
US9496051B2 (en) Efficient raid technique for reliable SSD
JP4634157B2 (en) Storage system
US20120023287A1 (en) Storage apparatus and control method thereof
TWI531963B (en) Data storage systems and their specific instruction enforcement methods
US20160342476A1 (en) Solid state drive operations
JP2005293363A (en) Disk array controller and information processing device
US20140075111A1 (en) Block Level Management with Service Level Agreement
US20130238867A1 (en) Method and apparatus to deploy and backup volumes
CN110300960B (en) Information system, management program, and program replacement method for information system
US20130080725A1 (en) Control apparatus, control method, and storage apparatus
JP6476959B2 (en) Storage control device, storage system, and control program
JP6160173B2 (en) Storage device, allocation release control method, and allocation release control program
US20170262220A1 (en) Storage control device, method of controlling data migration and non-transitory computer-readable storage medium
US7676644B2 (en) Data processing system, storage apparatus and management console
JP6052288B2 (en) Disk array control device, disk array control method, and disk array control program
US7293193B2 (en) Array controller for disk array, and method for rebuilding disk array
JP2006252165A (en) Disk array device and computer system
US9569329B2 (en) Cache control device, control method therefor, storage apparatus, and storage medium
JP6859599B2 (en) Disk array controller, disk array control method and disk array control program
CN112748865A (en) Method, electronic device and computer program product for storage management
CN104978280B (en) Data storage system and specific instruction execution method thereof
JP6556980B2 (en) Storage control device, storage control method, and storage control program
JP5344258B2 (en) Disk array device and area allocation method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190924

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200303

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200915

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201120

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20201120

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20201202

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20201208

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210309

R150 Certificate of patent or registration of utility model

Ref document number: 6859599

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150