WO2006072991A1 - Write back method in raid device - Google Patents
Write back method in raid device Download PDFInfo
- Publication number
- WO2006072991A1 WO2006072991A1 PCT/JP2005/000094 JP2005000094W WO2006072991A1 WO 2006072991 A1 WO2006072991 A1 WO 2006072991A1 JP 2005000094 W JP2005000094 W JP 2005000094W WO 2006072991 A1 WO2006072991 A1 WO 2006072991A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- update
- data
- management information
- segment
- write method
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 209
- 238000007726 management method Methods 0.000 claims description 45
- 238000013523 data management Methods 0.000 claims description 39
- 238000001514 detection method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 11
- 239000000284 extract Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 101100453921 Caenorhabditis elegans kin-29 gene Proteins 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
Definitions
- the present invention relates to a write back method in a RAID control system of a disk array subsystem.
- RAID Redundant Array of Inaependent / Inexpensive Disk drivesj
- RAID5 is a cost-effective and simple configuration that protects data. It is widely used because of the reason why it can be realized.
- RAID5 uses a parity disk to maintain data redundancy, so it is necessary to update the parity disk data (parity data) when performing write-back processing. .
- the write-back process refers to a process of writing information that is no longer needed on the cache memory to the disk, for example, when the disk power is new and information is taken out to the cache memory in the RAID controller.
- FIG. 1 shows an example of data in a cache memory provided in a RAID control apparatus when all data stripes are updated during a write-back process.
- the update data sent to the RAID controller is striped by the RAID controller, and if there is data to be updated (data before update) in the cache memory, the data before update is updated by the update data. Updated.
- data stripe one piece of data striped by the RAID controller is referred to as a "data stripe”.
- Data 1 shown in the figure is RAID5 data consisting of four disks (Disk # 0— # 3 shown in the figure), and is striped to # 0— # 3! /.
- data 1 shown in the figure shows a case where data stripes # 0- # 2 are all update data. Since all the data stripes to be updated (data stripe # 0— # 2) are in the cache memory, generate the normative data (data stripe # 3) without reading from disk # 0— # 3. Can do. The generated data 1 is stored in Disk # 0— # 3 (hereinafter, this writing method is referred to as “: Bandwidth Write method”).
- FIG. 2 is a diagram illustrating an example of data in the cache memory provided in the RAI D control apparatus when a part of the data stripe is updated during the write-back process.
- Data 2 shown in the figure also shows RAID5 data consisting of four disks (Disk # 0— # 3 shown in the figure), and is striped to # 0— # 3 as shown in FIG. RU
- data 2 shown in the figure shows a case where only data stripes # 0 and # 1 are update data.
- Disk # 0, # 1, and # 3 since only part of the data in the stripe is in the cache memory, the pre-update data is read from Disk # 0, # 1, and # 3, and XOR is performed with the updated data (data stripes # 0 and # 1). Note data needs to be generated. Then, the update data and the generated parity data are stored in Disk # 0, # 1, and # 3, respectively (hereinafter, this write method is referred to as “Small Write method”).
- Patent Document 1 Japanese Patent Laid-Open No. 2003-296038
- update parity As described above, at the time of data update processing in RAID5 or the like, especially at the time of partial update of the update data (write processing to the disk), the data before the update and the parity data are also read out by the data collector, After creating new parity data (hereinafter referred to as "update parity") according to the update data, it is necessary to write the update parity along with the update data to the disk
- the present invention has been made in view of the above-described problems, and the problem to be solved is a processing speed at the time of update even when a process of updating some data stripes is included. Providing a write-back method in a RAID device capable of improving The
- the write back method in the RAID controller provides an update location of post-update data stored in a cache memory updated by update data sent from the host computer.
- the update amount acquisition process extracts the update amount of the post-update data stored in the cache memory updated by the update data sent from the host computer, and the write method selection process Select the optimal Write method according to the update amount, the Small Write method that is advantageous when the update amount is small, and the Read & Bandwidth Write method that is advantageous when the update amount is large. It is possible to improve.
- the present invention detects the update location of the updated data stored in the cache memory updated by the update data sent also by the host computer, and updates the updated data from the detection result.
- the update amount acquisition process for acquiring the data and the write method for selecting the write method for the updated data according to the update amount extracted by the update amount acquisition process from the Sma 11 Write method and the Read & Bandwidth Write method RAID processing includes a selection process and a data write process for reading the data stripe of the updated data stored in the cache memory and updating the data stripe by the Write method selected in the write method selection process. It may be a program for a RAID controller characterized by being executed by a controller.
- the present invention detects an update location of post-update data stored in the cache memory updated by update data that is also sent by the host computer, and the detection result power update amount of the post-update data
- the update amount acquisition unit for acquiring the update amount and the update amount acquisition unit
- the write method of the updated data extracted according to the extracted update amount is selected from a small write method and a read & bandwidth write method, and a write method selection unit that selects the updated data stored in the cache memory.
- a RAID control device comprising: a write processing unit that reads a data stripe and updates the data stripe by a Write method selected in the write method selection process.
- the present invention is a RAID device including a plurality of storage units for storing update data sent by a host computer, and the post-update data stored in the cache memory updated by the update data
- An update amount acquisition unit that acquires an update amount of the post-update data, and an update amount of the post-update data according to the update amount extracted by the update amount acquisition unit.
- a write method selection unit that selects a write method from a small write method and a read & bandwidth write method, and reads a data stripe of the updated data stored in the cache memory, and is selected by the write method selection process.
- a RAID device comprising: a write processing unit that stores data in the plurality of storage units by a write method.
- FIG. 1 is a diagram showing an example of data in a cache memory included in a RAID control apparatus when all data stripes are updated during a write-back process.
- FIG. 2 is a diagram showing an example of data in a cache memory included in a RAID control apparatus when a part of data stripes is updated during a write-back process.
- FIG. 3 is a diagram illustrating the principle of the present invention.
- FIG. 4 is a diagram illustrating a configuration example of a RAID device according to the present embodiment.
- FIG. 5 is a flowchart showing processing of the RAID controller 3 according to the embodiment.
- FIG. 6 is a diagram illustrating an example of update data management information according to the embodiment.
- FIG. 7 is a diagram illustrating an example of update segment management information according to the embodiment.
- FIG. 8 is a diagram showing an example of write method control information according to the present embodiment.
- FIG. 9 is a diagram showing the relationship between update data management information and update segment management information.
- FIG. 3 shows a principle diagram of the present invention.
- the RAID controller 3 shown in FIG. 3 updates the cache memory 4 that temporarily stores data and the update data (not shown) that is stored in the cache memory 4 that is updated by the update data 5 that is transmitted by the host computer or the like.
- the update amount acquisition unit 6 that detects the location and extracts information about the update amount of the data, and a storage device (hereinafter simply referred to as “disk”) such as an HDD (Hard Disk Drive) connected to the RAID controller 3
- Write method selection unit 7 that selects the method to perform Write Back processing according to the information about the update amount extracted by update amount acquisition unit 6, and update data that performs write back processing by the method selected by write method selection unit 7 It has at least a write processor 8 that sends 9 to the disk.
- the update amount acquisition unit 6 includes an update data management information generation unit 6a and an update segment management information generation unit 6b.
- the cache memory 5 is a storage unit that temporarily stores data read out from the disk power in response to a request from the host computer or the like.
- the update amount acquisition unit 6 detects the update location where the pre-update data is updated by the update data 5. , Extract information about update amount.
- the update data management information generation unit 6a manages the update location updated by the update data 5 to which pre-update data (not shown) stored in the cache memory 4 is also sent by the host computer or the like.
- the data management information is generated, and the update segment management information (information related to the update amount) is extracted (generated) by the update segment management information generation unit 6b.
- the write method selection unit 7 selects the Small Write method and the Read depending on the information about the update amount.
- the write processing unit 8 is the write method selected by the write method selection unit 7 in response to a Write Back processing command from a cache memory control unit (not shown) provided in the RAID controller 3. Write Back processing is performed to generate an update parity corresponding to the update data 5 stored in the cache memory 5 and transmit update data + update parity 9 to the disk.
- FIG. 4 is a diagram illustrating a configuration example of the RAID device according to the present embodiment.
- the RAID device shown in the figure includes at least a CM3a of a RAID controller connected to a host computer 14 via a CA (Channel Adapter) 13a and a disk array 16a connected to the CM3a via a router 15a. I have.
- CA Channel Adapter
- the RAID controller CM3b connected to the host computer 14 via a CA (Channel Adapter) 13b, and the disk array 16b connected to the CM3b via the router 15b are further provided.
- CM3a and CM3b are connected via a router 17.
- the disk array 16a and the disk array 16b are connected to CM3a and CM3b via the router 15a and the router 15b!
- the power shown in the configuration example when the RAID control device (CM3a, CM3a) and the disk array (disk array 16a, disk array 16b) are respectively duplicated is not intended to be limited to this. Absent. Redundant or higher redundant configuration may be used, or a single configuration using only CM 3a and disk array 16a may be used.
- the CA 13a is an interface between an I / O device (not shown) provided in the host computer and the CM 3a, and controls commands and data between the host computers CM 3a.
- the CM 3a includes at least a microprocessor 10a, a cache memory 11a, and a RAM (Random Access Memory) 12a, and operates the microprocessor 1 Oa according to a predetermined program, whereby the update data management information generation unit 6a and the update An update amount acquisition unit 6, a write method selection unit 7, and a write processing unit 8 composed of the segment management information generation unit 6b can be realized.
- the update data management information generating unit 6a detects an update location stored in the cache memory 1 la and updated by the update data sent from the host computer 14 via the pre-update data tag CA 13a, Update data management information 18 for managing the update location for each block is generated and stored in the RAM 12a.
- the write method selection unit 7 selects the write method
- the write processing unit 8 selects the write method. According to the selected writing method, the updated data stored in the cache memory 1 la is written to the disk array 16a (write back processing is performed).
- the disk array 16a is a RAID disk drive composed of Disk # 0— # 3 magnetic disks.
- this embodiment has a RAID5 configuration
- a RAID disk drive consisting of at least three magnetic disks should be used instead of limiting the number of magnetic disks constituting the disk array 16a. Bho.
- the configurations of the CA 13a, CM 3a, router 15a, and disk array 16a described above are the same for the CA 13b, CM 3b, router 15b, and disk array 16b, and a description thereof is omitted.
- CM3a and CM3b are connected via a router 17.
- the processor 10a stores the update data in the cache memory 11a. And sent to CM3b via router 17.
- the update data received by the processor 10b is stored in the cache memory l ib so that the same data is always stored in the cache memory 1 la in the CM 3a and the cache memory 1 lb in the CM 3b.
- CM3a and CM3b are duplexed. Therefore, the operations (processing) of the CA 13a, CM 3a, router 15a, and disk array 16a will be described below for the sake of simplicity.
- FIG. 5 is a flowchart showing the processing of the RAID controller 3 according to the present embodiment.
- step S501 When there is no write back processing request from the cache memory control unit, etc., the write back processing in step S501 is not executed, and the update data management information generation unit 6a constituting the CM 3a which is the RAID controller 3 is Based on the update data received from the computer 14, the update location of the pre-update data stored in the cache memory 11a is detected in block units, and the update data management information 18 shown in FIG. 6 is generated. Then, the generated update data management information 18 is stored at a predetermined address in the RAM 12a.
- FIG. 6 shows an example of the update data management information 18 generated by the update data management information generation unit 6a.
- the update data management information 18 shown in the figure contains update data sent from the host computer 14.
- Each block update flag shown in the figure is composed of, for example, 1-bit data. When it is 1, it indicates that there is an update, and when it is 0, it indicates that there is no update. Therefore, it is stored as a bitmap table on the RAM 12a!
- step S50 When a write back process is requested to the processor 10a from a cache memory control unit (not shown) provided in the CM 3a, the CM 3a starts the write back process (step S50).
- step S502 the CM 3a refers to the update data management information 18 stored in the cache memory 11a, and determines whether all the block update flags are 1 (updated).
- step S503 the processing is step S503.
- the write method control information 22 shown in FIG. 9 is generated, and the write method flag for the corresponding update data is set to the Bandwidth Write method.
- step S504 the block update flag of the update data management information 18 is rounded to the segment unit, and the update segment management information 19 shown in FIG. 7 is generated.
- a segment is a unit that combines 16 blocks into one.
- a process for generating one segment update flag from the block update flag of each 16 blocks in the update data management information 18 is performed.
- FIG. 7 shows an example of the update segment management information according to the present embodiment.
- the update segment management information 19 shown in the figure is an update sent from the host computer 14.
- It consists of a segment segment number as a unit for every 16 blocks, and a segment update flag indicating whether or not the segment of each segment number is updated.
- Each segment update flag shown in the figure is composed of, for example, 1-bit data, and when it is 1, it indicates that all 16 blocks constituting the segment have been updated. In the case of, it indicates that at least one of the 16 blocks constituting the segment has been updated.
- FIG. 8 shows the relationship between the update data management information 18 and the update segment management information 19.
- FIG. 8 shows the block update flag 20 of the update data management information 18 and the segment update of the update segment management information 19. Flag 21 is shown.
- the update segment management information generation unit 6b realized by the processor 10a included in the CM 3a refers to the block update flag 20 from a predetermined address of the update data management information 18 stored in the RAM 12a.
- the segment update flag for the given address in the update segment management information 19 is set to 1, and at least the block update flag for each 16 block is set to 1. If one or more of them is 0, the segment update flag is set to 0.
- the update segment management information generating unit 6b stores the update segment management information 19 generated by the above processing in the RAM 12a, and the process proceeds to step S505.
- step S505 the write method selection unit 7 refers to the predetermined address force segment update flag in the update segment management information 19 stored in the RAM 12a, counts the number of segment update flags, and performs the process in step S506. To migrate.
- step S506 the writing method selection unit 7 compares the number of segment update flags counted in the process of step S505 with the threshold value, and if greater than the threshold value, the process proceeds to step S507. Then, the write method control information 22 shown in FIG. 9 is generated, and the write method flag for the corresponding update data is set to the Read & Bandwidth method.
- 1Z2 of the total segment of the entire update data is used as the threshold value.
- the value of 1 Z3 of the total segment of the entire update data may be used as the threshold value, and the threshold value may be appropriately determined as necessary.
- the Read & Bandwidth method refers to, for example, update data 2 shown in Fig. 2 by reading data from Disk # 2 and performing an XOR with the update data to generate update parity and update data and the generated update Parity is stored in Disk # 0, # 1 and # 3 respectively.
- an updated parity is generated by reading the disk array power that is not updated by the updated data sent from the host computer 14 and reading the disk array power.
- step S506 if the number of segment update flags counted in the process of step S505 is larger than the threshold value, the process proceeds to step S508, and the corresponding update of the write method control information 22 shown in Fig. 9 is performed. Set the write method flag for the data to the Small Write method.
- this Small Write method reads the pre-update data stripe of the data stripe updated by the update data sent from the host computer 14, and generates the update parity by reading the disk array power. To do.
- the write method control information 22 is generated by the processes of steps S503, S507, and S508 described above.
- the write method control information 22 shown in the figure is composed of an update data number and a write method flag for the update data of the update data number.
- the write method flag when the write method flag is 2, it means the Bandwidth Write method, when the write method flag is power, it means the Small Write method, and when the write method flag is 0, it means the Read & B and width method.
- Power Data that can be identified by the Bandwidth Write method, Small Write method, and Read & Bandwidth method are not limited to this.
- CM 3a moves the process to step S509. If there is another update data, the process proceeds to step S502, and the processes in steps S502 to S509 are repeated.
- step S509 If there is no other update data in step S509, the process proceeds to step S510, and the write processing unit 8 writes back the corresponding update data according to the write method control information 22. Perform processing.
- the update segment management information 19 is generated from the update data management information 18, and the size of the update amount is determined by the segment update flag, thereby facilitating the determination process.
- the update amount is represented by 16 segment update flags for one data stripe, so the update amount is larger or smaller in units of 2 bytes (16 bits). Can be determined.
- step S 504 shown in FIG. 5 the segment update flag is set to 0 when at least one of the block update flags of 16 blocks is 0.
- the purpose is not limited to this.
- condition for setting the segment update flag to 0 may be changed as necessary, such as when two or more of the block update flags of each 16 block are 0.
- one block is 512 bytes
- one segment is 16 blocks
- one data stripe is eight segments (128 blocks).
- the CM 3a stores the update data size in the RAM 12a as a history, and the history power is also a block that constitutes one segment according to the change in the update data size. The number may be changed. This makes it possible to efficiently perform update segment management information generation processing (block update flag rounding processing).
- update data management information 18 is not limited to the one shown in FIG. 6, but blocks the location where the pre-update data stored in the cache memory 11a is updated by the update data sent from the host computer 14 It only needs to be specified in units.
- update segment management information 19 is not limited to the one shown in FIG. 7, and the pre-update data stored in the cache memory 11a is updated by the update data sent by the host computer 14 as well. If the location can be specified in segment units.
- the write method control information 22 may be information related to a write method (for example, a small write method) with respect to update data, which is not limited to the information shown in FIG.
- a write back method in a RAID device that can improve the processing speed at the time of updating even when the processing of updating some data stripes is included. Can be provided.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
There is provided a write method in a RAID device capable of increasing the processing speed during update even when a process for updating a part of data stripe is contained. A RAID control device (3) includes: a cache memory (4); an update amount acquisition unit (6) for updating data stored in the cache memory (4) before being updated into updated data (5) and extracting information concerning the update amount of the data; a write method selection unit (7) for selecting a method for performing write back processing according to the information concerning the update amount extracted by the update amount acquisition unit (6); and a write processing unit (8) for performing write back processing by using the method selected by the write method selection unit (7).
Description
RAID装置におけるライトバック方法 Write-back method in RAID device
技術分野 Technical field
[0001] 本発明は、ディスクアレイサブシステムの RAID制御方式におけるライトバック方法 に関する。 The present invention relates to a write back method in a RAID control system of a disk array subsystem.
背景技術 Background art
[0002] コンピュータシステムで取り扱う大量のデータを記憶する手段として、 RAID (Redu ndant Array of Inaependent/ Inexpensive Disk drivesj装置 広く使用 されている。特に、 RAID5は、コスト効率が高くシンプルな構成でデータの保護を実 現できる等の理由力 広く利用されて 、る。 [0002] RAID (Redundant Array of Inaependent / Inexpensive Disk drivesj) is widely used as a means of storing large amounts of data handled by computer systems. In particular, RAID5 is a cost-effective and simple configuration that protects data. It is widely used because of the reason why it can be realized.
[0003] RAID5では、パリティディスクを使用してデータの冗長性を維持して ヽるため、ライ トバック(Write Back)処理を行なう際にパリディディスクのデータ(パリティデータ) を更新する必要がある。 [0003] RAID5 uses a parity disk to maintain data redundancy, so it is necessary to update the parity disk data (parity data) when performing write-back processing. .
[0004] ここで、ライトバック処理とは、例えば、ディスク力も新 、情報を RAID制御装置内 のキャッシュメモリに取り出す時に、キャッシュメモリ上で不要となった情報をディスク に書き込む処理をいう。 [0004] Here, the write-back process refers to a process of writing information that is no longer needed on the cache memory to the disk, for example, when the disk power is new and information is taken out to the cache memory in the RAID controller.
[0005] 図 1は、ライトバック処理時に全データストライプを更新する場合における RAID制 御装置が備えるキャッシュメモリ内のデータの例を示して 、る。 FIG. 1 shows an example of data in a cache memory provided in a RAID control apparatus when all data stripes are updated during a write-back process.
ホストコンピュータ等力 RAID制御装置に送られる更新データは、 RAID制御装 置によってストライビングされ、キャッシュメモリに更新対象のデータ(更新前データ) が存在する場合には、当該更新データによって更新前データが更新される。 Host computer equality The update data sent to the RAID controller is striped by the RAID controller, and if there is data to be updated (data before update) in the cache memory, the data before update is updated by the update data. Updated.
[0006] ここで、以下の説明においては、 RAID制御装置によってストライビングされた 1つ のデータを「データストライプ」と 、う。 [0006] Here, in the following description, one piece of data striped by the RAID controller is referred to as a "data stripe".
同図に示すデータ 1は、 4つのディスク(同図に示す Disk # 0— # 3)で構成される RAID5のデータを示し、 # 0— # 3にストライビングされて!/、る。 Data 1 shown in the figure is RAID5 data consisting of four disks (Disk # 0— # 3 shown in the figure), and is striped to # 0— # 3! /.
[0007] また、同図に示すデータ 1は、データストライプ # 0— # 2が全て更新データである 場合を示している。
更新する全データストライプ (データストライプ # 0— # 2)がキャッシュメモリ上にある ので、 Disk # 0— # 3からのリード処理を行なうことなぐノ リティデータ(データストラ イブ # 3)を生成することができる。そして、生成したデータ 1は、 Disk # 0— # 3に格 納される(以下、この書込み方式を「: Bandwidth Write方式」という)。 [0007] Further, data 1 shown in the figure shows a case where data stripes # 0- # 2 are all update data. Since all the data stripes to be updated (data stripe # 0— # 2) are in the cache memory, generate the normative data (data stripe # 3) without reading from disk # 0— # 3. Can do. The generated data 1 is stored in Disk # 0— # 3 (hereinafter, this writing method is referred to as “: Bandwidth Write method”).
[0008] 図 2は、ライトバック処理時に一部のデータストライプを更新する場合における RAI D制御装置が備えるキャッシュメモリ内のデータの例を示す図である。 FIG. 2 is a diagram illustrating an example of data in the cache memory provided in the RAI D control apparatus when a part of the data stripe is updated during the write-back process.
同図に示すデータ 2も図 1と同様に、 4つのディスク(同図に示す Disk # 0— # 3)で 構成される RAID5のデータを示し、 # 0— # 3にストライビングされて!/、る。 Data 2 shown in the figure also shows RAID5 data consisting of four disks (Disk # 0— # 3 shown in the figure), and is striped to # 0— # 3 as shown in FIG. RU
[0009] また、同図に示すデータ 2は、データストライプ # 0及び # 1のみが更新データであ る場合を示している。 [0009] Further, data 2 shown in the figure shows a case where only data stripes # 0 and # 1 are update data.
この場合、ストライプの一部のデータのみキャッシュメモリ上にあるため、 Disk # 0、 # 1、及び # 3から更新前データを読込み、更新データ (データストライブ # 0及び # 1)と XORを行なうことによってノ^ティデータを生成する必要がある。そして、更新デ ータと生成したパリティデータとをそれぞれ Disk # 0、 # 1、及び # 3に格納する(以 下、この書込み方式を「Small Write方式」という)。 In this case, since only part of the data in the stripe is in the cache memory, the pre-update data is read from Disk # 0, # 1, and # 3, and XOR is performed with the updated data (data stripes # 0 and # 1). Note data needs to be generated. Then, the update data and the generated parity data are stored in Disk # 0, # 1, and # 3, respectively (hereinafter, this write method is referred to as “Small Write method”).
特許文献 1:特開 2003— 296038号公報 Patent Document 1: Japanese Patent Laid-Open No. 2003-296038
[0010] 上述のように、 RAID5等におけるデータの更新処理、特に、更新データの一部の 更新 (ディスクへのライト処理)時には、更新前のデータとパリディデータをー且デイス タカも読み出し、更新データに応じた新たなパリティデータ (以下、「更新パリティ」と いう)を生成した後に更新データと共に更新パリティをディスクに書き込む必要がある [0010] As described above, at the time of data update processing in RAID5 or the like, especially at the time of partial update of the update data (write processing to the disk), the data before the update and the parity data are also read out by the data collector, After creating new parity data (hereinafter referred to as "update parity") according to the update data, it is necessary to write the update parity along with the update data to the disk
[0011] すなわち、一部のデータストライプを更新する場合には、全てのデータストライプを 更新する場合に比べて、ディスク力 更新前データを読込む処理が余分に必要とな り、更新時の処理速度が遅くなるという問題があった。 [0011] In other words, when updating some data stripes, it requires more processing to read data before updating the disk power than when updating all data stripes. There was a problem that the speed became slow.
発明の開示 Disclosure of the invention
[0012] 本発明は、上述した問題に鑑みてなされたものであり、その解決しょうとする課題は 、一部のデータストライプを更新する処理が含まれる場合であっても、更新時の処理 速度を向上することが可能な RAID装置におけるライトバック方法を提供することであ
る。 [0012] The present invention has been made in view of the above-described problems, and the problem to be solved is a processing speed at the time of update even when a process of updating some data stripes is included. Providing a write-back method in a RAID device capable of improving The
[0013] 上記課題を解決するために、本発明に係る RAID制御装置におけるライトバック方 法は、ホストコンピュータ力 送られる更新データによって更新されたキャッシュメモリ に格納されている更新後データの更新箇所を検出すると共に、該検出結果力 前記 更新後データの更新量を取得する更新量取得処理と、該更新量取得処理によって 抽出された前記更新量に応じて前記更新後データの Write方式を、 Small Write 方式と Read & Bandwidth Write方式とから選択する書込み方式選択処理と、 前記キャッシュメモリに格納された前記更新後データのデータストライプを読み出し、 前記書込み方式選択処理で選択された方式によって前記データストライプの更新を 行なう書込み処理と、を備える。 [0013] In order to solve the above-mentioned problem, the write back method in the RAID controller according to the present invention provides an update location of post-update data stored in a cache memory updated by update data sent from the host computer. The detection result power and an update amount acquisition process for acquiring the update amount of the updated data, and a write method for the updated data according to the update amount extracted by the update amount acquisition process, A write method selection process selected from a read method and a Read & Bandwidth Write method, a data stripe of the updated data stored in the cache memory is read, and the data stripe is updated by the method selected in the write method selection process And a writing process.
[0014] 本発明によると、更新量取得処理が、ホストコンピュータ力 送られる更新データに よって更新されたキャッシュメモリに格納されている更新後データの更新量を抽出し、 書込み方式選択処理が、前記更新量に応じて最適な Write方式を、更新量が少な い場合に有利な Small Write方式と更新量が大きい場合に有利な Read & Ban dwidth Write方式と力 選択するので、ライトバック処理の速度を向上することが可 能となる。 [0014] According to the present invention, the update amount acquisition process extracts the update amount of the post-update data stored in the cache memory updated by the update data sent from the host computer, and the write method selection process Select the optimal Write method according to the update amount, the Small Write method that is advantageous when the update amount is small, and the Read & Bandwidth Write method that is advantageous when the update amount is large. It is possible to improve.
[0015] また、本発明は、ホストコンピュータ力も送られる更新データによって更新されたキヤ ッシュメモリに格納されている更新後データの更新箇所を検出すると共に、該検出結 果から前記更新後データの更新量を取得する更新量取得処理と、該更新量取得処 理によって抽出された前記更新量に応じて前記更新後データの Write方式を、 Sma 11 Write方式と Read & Bandwidth Write方式とから選択する書込み方式選択 処理と、前記キャッシュメモリに格納された前記更新後データのデータストライプを読 み出し、前記ライト方式選択処理で選択された Write方式によって前記データストラ イブの更新を行なうデータ書込み処理と、を RAID制御装置に行なわせることを特徴 とする RAID制御装置のためのプログラムであってもよい。 [0015] Further, the present invention detects the update location of the updated data stored in the cache memory updated by the update data sent also by the host computer, and updates the updated data from the detection result. The update amount acquisition process for acquiring the data and the write method for selecting the write method for the updated data according to the update amount extracted by the update amount acquisition process from the Sma 11 Write method and the Read & Bandwidth Write method RAID processing includes a selection process and a data write process for reading the data stripe of the updated data stored in the cache memory and updating the data stripe by the Write method selected in the write method selection process. It may be a program for a RAID controller characterized by being executed by a controller.
[0016] また、本発明は、ホストコンピュータ力も送られる更新データによって更新されたキヤ ッシュメモリに格納されている更新後データの更新箇所を検出すると共に、該検出結 果力 前記更新後データの更新量を取得する更新量取得部と、該更新量取得部に
よって抽出された前記更新量に応じて前記更新後データの Write方式を、 Small Write方式と Read & Bandwidth Write方式とから選択する書込み方式選択部 と、前記キャッシュメモリに格納された前記更新後データのデータストライプを読み出 し、前記ライト方式選択処理で選択された Write方式によって前記データストライプの 更新を行なう書込み処理部と、を備えることを特徴とする RAID制御装置であってもよ い。 In addition, the present invention detects an update location of post-update data stored in the cache memory updated by update data that is also sent by the host computer, and the detection result power update amount of the post-update data The update amount acquisition unit for acquiring the update amount and the update amount acquisition unit Thus, the write method of the updated data extracted according to the extracted update amount is selected from a small write method and a read & bandwidth write method, and a write method selection unit that selects the updated data stored in the cache memory. A RAID control device comprising: a write processing unit that reads a data stripe and updates the data stripe by a Write method selected in the write method selection process.
[0017] また、本発明は、ホストコンピュータ力 送られる更新データを格納するための複数 の記憶部を備える RAID装置であって、前記更新データによって更新されたキヤッシ ュメモリに格納されている更新後データの更新箇所を検出すると共に、該検出結果 力 前記更新後データの更新量を取得する更新量取得部と、該更新量取得部によ つて抽出された前記更新量に応じて前記更新後データの Write方式を、 Small Wri te方式と Read & Bandwidth Write方式とから選択する書込み方式選択部と、 前記キャッシュメモリに格納された前記更新後データのデータストライプを読み出し、 前記書込み方式選択処理で選択された Write方式によって前記複数の記憶部に格 納する書込み処理部と、を備えることを特徴とする RAID装置であってもよ 、。 [0017] Further, the present invention is a RAID device including a plurality of storage units for storing update data sent by a host computer, and the post-update data stored in the cache memory updated by the update data An update amount acquisition unit that acquires an update amount of the post-update data, and an update amount of the post-update data according to the update amount extracted by the update amount acquisition unit. A write method selection unit that selects a write method from a small write method and a read & bandwidth write method, and reads a data stripe of the updated data stored in the cache memory, and is selected by the write method selection process. A RAID device comprising: a write processing unit that stores data in the plurality of storage units by a write method.
図面の簡単な説明 Brief Description of Drawings
[0018] [図 1]ライトバック処理時に全データストライプを更新する場合における RAID制御装 置が備えるキャッシュメモリ内のデータの例を示す図である。 FIG. 1 is a diagram showing an example of data in a cache memory included in a RAID control apparatus when all data stripes are updated during a write-back process.
[図 2]ライトバック処理時に一部のデータストライプを更新する場合における RAID制 御装置が備えるキャッシュメモリ内のデータの例を示す図である。 FIG. 2 is a diagram showing an example of data in a cache memory included in a RAID control apparatus when a part of data stripes is updated during a write-back process.
[図 3]本発明の原理を示す図である。 FIG. 3 is a diagram illustrating the principle of the present invention.
[図 4]本実施例に係る RAID装置の構成例を示す図である。 FIG. 4 is a diagram illustrating a configuration example of a RAID device according to the present embodiment.
[図 5]本実施例に係る RAID制御装置 3の処理を示すフローチャートである。 FIG. 5 is a flowchart showing processing of the RAID controller 3 according to the embodiment.
[図 6]本実施例に係る更新データ管理情報の例を示す図である。 FIG. 6 is a diagram illustrating an example of update data management information according to the embodiment.
[図 7]本実施例に係る更新セグメント管理情報の例を示す図である。 FIG. 7 is a diagram illustrating an example of update segment management information according to the embodiment.
[図 8]本実施例に係る書込み方式制御情報の例を示す図である。 FIG. 8 is a diagram showing an example of write method control information according to the present embodiment.
[図 9]更新データ管理情報と更新セグメント管理情報との関係を示す図である。 FIG. 9 is a diagram showing the relationship between update data management information and update segment management information.
発明を実施するための最良の形態
[0019] 以下、本発明の実施形態について図 3から図 9に基づいて説明する。 図 3は、本発明の原理図を示している。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described with reference to FIGS. FIG. 3 shows a principle diagram of the present invention.
同図に示す RAID制御装置 3は、データを一時的に格納するキャッシュメモリ 4と、 ホストコンピュータ等力 送られる更新データ 5によって更新されたキャッシュメモリ 4 に格納されている図示しない更新前データの更新箇所を検出し、当該データの更新 量に関する情報を抽出する更新量取得部 6と、 RAID制御装置 3に接続される HDD (Hard Disk Drive)等の記憶装置(以下、単に「ディスク」という)に Write Back 処理を行なう方式を更新量取得部 6によって抽出された更新量に関する情報に応じ て選択する書込み方式選択部 7と、書込み方式選択部 7で選択した方式によって Wr ite Back処理を行ない更新データ 9をディスクに送信する書込み処理部 8と、を少な くとも備えている。 The RAID controller 3 shown in FIG. 3 updates the cache memory 4 that temporarily stores data and the update data (not shown) that is stored in the cache memory 4 that is updated by the update data 5 that is transmitted by the host computer or the like. The update amount acquisition unit 6 that detects the location and extracts information about the update amount of the data, and a storage device (hereinafter simply referred to as “disk”) such as an HDD (Hard Disk Drive) connected to the RAID controller 3 Write method selection unit 7 that selects the method to perform Write Back processing according to the information about the update amount extracted by update amount acquisition unit 6, and update data that performs write back processing by the method selected by write method selection unit 7 It has at least a write processor 8 that sends 9 to the disk.
[0020] 更に、本実施例に係る更新量取得部 6は、更新データ管理情報生成部 6aと、更新 セグメント管理情報生成部 6bと、で構成される。 Furthermore, the update amount acquisition unit 6 according to the present embodiment includes an update data management information generation unit 6a and an update segment management information generation unit 6b.
キャッシュメモリ 5は、ホストコンピュータ等からの要求に応じてディスク力も読み出し たデータが一時的に格納される記憶部である。 The cache memory 5 is a storage unit that temporarily stores data read out from the disk power in response to a request from the host computer or the like.
[0021] 更新量取得部 6は、ホストコンピュータ等力 送られる更新データ 5の更新前データ がキャッシュメモリ 5にある場合に、当該更新前データが更新データ 5によって更新さ れた更新箇所を検出し、更新量に関する情報を抽出する。 [0021] When the pre-update data of the update data 5 sent by the host computer or the like is in the cache memory 5 , the update amount acquisition unit 6 detects the update location where the pre-update data is updated by the update data 5. , Extract information about update amount.
[0022] すなわち、更新データ管理情報生成部 6aによって、キャッシュメモリ 4に格納されて いる図示しない更新前データがホストコンピュータ等力も送られる更新データ 5によつ て更新された更新箇所を管理する更新データ管理情報を生成すると共に、更新セグ メント管理情報生成部 6bによって更新セグメント管理情報 (更新量に関する情報)が 抽出(生成)される。 That is, the update data management information generation unit 6a manages the update location updated by the update data 5 to which pre-update data (not shown) stored in the cache memory 4 is also sent by the host computer or the like. The data management information is generated, and the update segment management information (information related to the update amount) is extracted (generated) by the update segment management information generation unit 6b.
[0023] 書込み方式選択部 7は、更新量に関する情報に応じて Small Write方式と Read [0023] The write method selection unit 7 selects the Small Write method and the Read depending on the information about the update amount.
& Bandwidth Write方式とから Write Back方法による書込み方式を選択す る。 & Select the writing method by Write Back method from Bandwidth Write method.
[0024] 書込み処理部 8は、 RAID制御装置 3に備わる図示しないキャッシュメモリ制御部等 からの Write Back処理命令に応じて書込み方式選択部 7で選択した書込み方式
によって Write Back処理を行ない、キャッシュメモリ 5に格納された更新データ 5に 対応する更新パリティを生成してディスクに更新データ +更新パリティ 9を送信する。 [0024] The write processing unit 8 is the write method selected by the write method selection unit 7 in response to a Write Back processing command from a cache memory control unit (not shown) provided in the RAID controller 3. Write Back processing is performed to generate an update parity corresponding to the update data 5 stored in the cache memory 5 and transmit update data + update parity 9 to the disk.
[0025] 図 4は、本実施例に係る RAID装置の構成例を示す図である。 FIG. 4 is a diagram illustrating a configuration example of the RAID device according to the present embodiment.
同図に示す RAID装置は、 CA (Channel Adapter) 13aを介してホストコンビユー タ 14と接続される RAID制御装置の CM3aと、 CM3aとルータ 15aを介して接続され るディスクアレイ 16aと、を少なくとも備えている。 The RAID device shown in the figure includes at least a CM3a of a RAID controller connected to a host computer 14 via a CA (Channel Adapter) 13a and a disk array 16a connected to the CM3a via a router 15a. I have.
[0026] また、本実施例では、 CA (Channel Adapter) 13bを介してホストコンピュータ 14 と接続される RAID制御装置の CM3bと、 CM3bとルータ 15bを介して接続されるデ イスクアレイ 16bと、を更に備え、 CM3aと CM3bとはルータ 17を介して接続されてい る。また、ディスクアレイ 16a及びディスクアレイ 16bは、ルータ 15a及びルータ 15bを 介して CM3a及び CM3bに接続されて!、る。 [0026] In the present embodiment, the RAID controller CM3b connected to the host computer 14 via a CA (Channel Adapter) 13b, and the disk array 16b connected to the CM3b via the router 15b are further provided. In addition, CM3a and CM3b are connected via a router 17. The disk array 16a and the disk array 16b are connected to CM3a and CM3b via the router 15a and the router 15b!
[0027] ここで、本実施例では、 RAID制御装置(CM3a、 CM3a)及びディスクアレイ(ディ スクアレイ 16a、ディスクアレイ 16b)をそれぞれ二重化した場合の構成例を示してい る力 これに限定する趣旨ではない。二重化以上の冗長構成であってもよいし、 CM 3a及びディスクアレイ 16aのみを使用したシングル構成であってもよい。 [0027] Here, in the present embodiment, the power shown in the configuration example when the RAID control device (CM3a, CM3a) and the disk array (disk array 16a, disk array 16b) are respectively duplicated is not intended to be limited to this. Absent. Redundant or higher redundant configuration may be used, or a single configuration using only CM 3a and disk array 16a may be used.
[0028] CA13aは、ホストコンピュータに備わる図示しない I/O装置と CM3aとのインター フェースであり、ホストコンピューター CM3a間のコマンドやデータの制御を行なう。 [0028] The CA 13a is an interface between an I / O device (not shown) provided in the host computer and the CM 3a, and controls commands and data between the host computers CM 3a.
[0029] CM3aは、マイクロプロセッサ 10aとキャッシュメモリ 11aと RAM (Random Acces s Memory) 12aとを少なくとも備え、所定のプログラムに従ってマイクロプロセッサ 1 Oaを動作させることによって、更新データ管理情報生成部 6a及び更新セグメント管 理情報生成部 6bからなる更新量取得部 6、書込み方式選択部 7、及び書込み処理 部 8を実現することができる。 [0029] The CM 3a includes at least a microprocessor 10a, a cache memory 11a, and a RAM (Random Access Memory) 12a, and operates the microprocessor 1 Oa according to a predetermined program, whereby the update data management information generation unit 6a and the update An update amount acquisition unit 6, a write method selection unit 7, and a write processing unit 8 composed of the segment management information generation unit 6b can be realized.
[0030] 更新データ管理情報生成部 6aは、キャッシュメモリ 1 laに格納されて 、る更新前デ 一タカ CA13aを介してホストコンピュータ 14から送られた更新データによって更新 された更新箇所を検出し、当該更新箇所をブロック毎に管理する更新データ管理情 報 18を生成して RAM 12aに格納する。 [0030] The update data management information generating unit 6a detects an update location stored in the cache memory 1 la and updated by the update data sent from the host computer 14 via the pre-update data tag CA 13a, Update data management information 18 for managing the update location for each block is generated and stored in the RAM 12a.
[0031] さらに、更新セグメント管理情報生成部 6bによって生成した更新セグメント管理情 報 19に応じて、書込み方式選択部 7が書込み方式を選択し、書込み処理部 8が、選
択された書込み方式に従ってキャッシュメモリ 1 laに格納された更新後のデータをデ イスクアレイ 16a〖こ書き込む (Write Back処理を行なう)。 [0031] Further, according to the update segment management information 19 generated by the update segment management information generation unit 6b, the write method selection unit 7 selects the write method, and the write processing unit 8 selects the write method. According to the selected writing method, the updated data stored in the cache memory 1 la is written to the disk array 16a (write back processing is performed).
[0032] ディスクアレイ 16aは、 Disk # 0— # 3の磁気ディスクで構成される RAIDディスクド ライブである。 [0032] The disk array 16a is a RAID disk drive composed of Disk # 0— # 3 magnetic disks.
ただし、本実施例は、 RAID5の構成をとつているので、ディスクアレイ 16aを構成す る磁気ディスクの数を限定する趣旨ではなぐ少なくとも 3つ以上の磁気ディスクで構 成する RAIDディスクドライブを使用すればょ ヽ。 However, since this embodiment has a RAID5 configuration, a RAID disk drive consisting of at least three magnetic disks should be used instead of limiting the number of magnetic disks constituting the disk array 16a. Bho.
[0033] 以上に説明した CA13a、 CM3a、ルータ 15a、及びディスクアレイ 16aの構成は、 C A13b、 CM3b、ルータ 15b、及びディスクアレイ 16bも同様なので説明は省略する。 The configurations of the CA 13a, CM 3a, router 15a, and disk array 16a described above are the same for the CA 13b, CM 3b, router 15b, and disk array 16b, and a description thereof is omitted.
[0034] CM3aと CM3bとはルータ 17を介して接続され、例えば、更新データがホストコンビ ユータ 14から CA13aを介して CM3aに送られると、プロセッサ 10aは、更新データを キャッシュメモリ 11aに格納すると共に、ルータ 17を介して CM3bに送信する。そして 、 CM3bでは、プロセッサ 10bが受信した更新データをキャッシュメモリ l ibに格納す ることによって、 CM3a内のキャッシュメモリ 1 laと CM3b内のキャッシュメモリ 1 lbとは 常に同一のデータが格納される。 [0034] CM3a and CM3b are connected via a router 17. For example, when update data is sent from the host computer 14 to CM3a via CA13a, the processor 10a stores the update data in the cache memory 11a. And sent to CM3b via router 17. In the CM 3b, the update data received by the processor 10b is stored in the cache memory l ib so that the same data is always stored in the cache memory 1 la in the CM 3a and the cache memory 1 lb in the CM 3b.
[0035] 以上の処理によって、 CM3aと CM3bとが二重化されることとなる。したがって、以 下、説明を簡単にするために CA13a、 CM3a、ルータ 15a、及びディスクアレイ 16a の動作 (処理)について説明をする。 [0035] Through the above processing, CM3a and CM3b are duplexed. Therefore, the operations (processing) of the CA 13a, CM 3a, router 15a, and disk array 16a will be described below for the sake of simplicity.
[0036] 図 5は、本実施例に係る RAID制御装置 3の処理を示すフローチャートである。 FIG. 5 is a flowchart showing the processing of the RAID controller 3 according to the present embodiment.
キャッシュメモリ制御部等からの Write Back処理要求がない状態では、ステップ S 501力らの Write Back処理は実行されず、 RAID制御装置 3である CM3aを構成 する更新データ管理情報生成部 6aが、ホストコンピュータ 14から受信した更新デー タによって、キャッシュメモリ 11aに格納されている更新前データの更新された箇所を ブロック単位で検出し、図 6に示す更新データ管理情報 18を生成する。そして、生成 された更新データ管理情報 18を、 RAM 12aの所定のアドレスに格納する。 When there is no write back processing request from the cache memory control unit, etc., the write back processing in step S501 is not executed, and the update data management information generation unit 6a constituting the CM 3a which is the RAID controller 3 is Based on the update data received from the computer 14, the update location of the pre-update data stored in the cache memory 11a is detected in block units, and the update data management information 18 shown in FIG. 6 is generated. Then, the generated update data management information 18 is stored at a predetermined address in the RAM 12a.
[0037] ここで、図 6は、更新データ管理情報生成部 6aで生成される更新データ管理情報 1 8の例を示している。 Here, FIG. 6 shows an example of the update data management information 18 generated by the update data management information generation unit 6a.
同図に示す更新データ管理情報 18は、ホストコンピュータ 14から送られた更新デ
ータ番号と、各更新データ番号の更新データを構成するデータストライプ番号と、各 データストライプ番号のデータストライプを構成するブロック番号と、各ブロック番号の ブロックの更新の有無を表すブロック更新フラグと、で構成されて 、る。 The update data management information 18 shown in the figure contains update data sent from the host computer 14. Data number, data stripe number constituting update data of each update data number, block number constituting data stripe of each data stripe number, block update flag indicating presence / absence of update of the block of each block number, It consists of
[0038] また、同図に示す各ブロック更新フラグは、例えば、 1ビットのデータで構成され、 1 の場合には更新有りを示し、 0の場合には更新無しを示す。したがって、 RAM12a上 では、ビットマップテーブルとして格納されて!、る。 [0038] Each block update flag shown in the figure is composed of, for example, 1-bit data. When it is 1, it indicates that there is an update, and when it is 0, it indicates that there is no update. Therefore, it is stored as a bitmap table on the RAM 12a!
[0039] CM3aに備わる図示しないキャッシュメモリ制御部等からプロセッサ 10aに対して W rite Back処理が要求されると、 CM3aは Write Back処理を開始し (ステップ S50[0039] When a write back process is requested to the processor 10a from a cache memory control unit (not shown) provided in the CM 3a, the CM 3a starts the write back process (step S50).
1)、処理をステップ S502に移行する。 1) Move the process to step S502.
[0040] ステップ S502において、 CM3aは、キャッシュメモリ 11aに格納されている更新デ ータ管理情報 18を参照し、ブロック更新フラグが全て 1 (更新有り)であるか判別する [0040] In step S502, the CM 3a refers to the update data management information 18 stored in the cache memory 11a, and determines whether all the block update flags are 1 (updated).
[0041] ブロック更新フラグが全て 1の場合には、キャッシュメモリ 11aに格納されている更新 後データは、ホストコンピュータ 14力も送られた更新データによって全て更新された ことを示すので、処理をステップ S503に移行する。そして、図 9に示す書込み方式制 御情報 22を生成し、該当する更新データに対する書込み方式フラグを Bandwidth Write方式に設定する。 [0041] When all the block update flags are 1, it indicates that the updated data stored in the cache memory 11a has been updated by the update data sent by the host computer 14 as well, so the processing is step S503. Migrate to Then, the write method control information 22 shown in FIG. 9 is generated, and the write method flag for the corresponding update data is set to the Bandwidth Write method.
[0042] また、ブロック更新フラグが全て 1でない (少なくとも 1つ以上のブロック更新フラグに 0が含まれる)場合は、キャッシュメモリ 11aに格納されていた更新前データの一部が 、ホストコンピュータ 14力も送られた更新データによって更新されたことを示すので、 処理をステップ S 504に移行する。 [0042] If all the block update flags are not 1 (at least one of the block update flags includes 0), a part of the pre-update data stored in the cache memory 11a is stored in the host computer. Since it indicates that the update data has been sent, the process proceeds to step S504.
[0043] ステップ S504では、更新データ管理情報 18のブロック更新フラグについてセグメ ント(Segment)単位に丸め、図 7に示す更新セグメント管理情報 19を生成する。ここ で、セグメントとは、 16ブロックを 1つにまとめた単位のことをいう。すなわち、ステップ S504の処理では、更新データ管理情報 18において各 16ブロックのブロック更新フ ラグから 1つのセグメント更新フラグを生成する処理を行なう。 In step S504, the block update flag of the update data management information 18 is rounded to the segment unit, and the update segment management information 19 shown in FIG. 7 is generated. Here, a segment is a unit that combines 16 blocks into one. In other words, in the process of step S504, a process for generating one segment update flag from the block update flag of each 16 blocks in the update data management information 18 is performed.
[0044] ここで、図 7に、本実施例に係る更新セグメント管理情報の例を示す。 Here, FIG. 7 shows an example of the update segment management information according to the present embodiment.
同図に示す更新セグメント管理情報 19は、ホストコンピュータ 14から送られた更新
データ番号と、各更新データ番号の更新データを構成するデータストライプ番号と、 各データストライプ番号のデータストライプを構成するブロック番号と、ブロック番号をThe update segment management information 19 shown in the figure is an update sent from the host computer 14. The data number, the data stripe number that constitutes the update data of each update data number, the block number that constitutes the data stripe of each data stripe number, and the block number
16ブロック毎に 1つの単位としたセグメントセグメント番号と、各セグメント番号のセグ メントの更新の有無を表すセグメント更新フラグと、で構成されて 、る。 It consists of a segment segment number as a unit for every 16 blocks, and a segment update flag indicating whether or not the segment of each segment number is updated.
[0045] また、同図に示す各セグメント更新フラグは、例えば、 1ビットのデータで構成され、 1の場合には当該セグメントを構成する 16ブロックの全てについて更新が有ったこと を示し、 0の場合には当該セグメントを構成する 16ブロックの少なくとも 1つ以上のブ ロックに更新がな力つたことを示す。 [0045] Each segment update flag shown in the figure is composed of, for example, 1-bit data, and when it is 1, it indicates that all 16 blocks constituting the segment have been updated. In the case of, it indicates that at least one of the 16 blocks constituting the segment has been updated.
[0046] ここで、図 8に更新データ管理情報 18と更新セグメント管理情報 19との関係を示す 同図には、更新データ管理情報 18のブロック更新フラグ 20と、更新セグメント管理 情報 19のセグメント更新フラグ 21と、を示している。 Here, FIG. 8 shows the relationship between the update data management information 18 and the update segment management information 19. FIG. 8 shows the block update flag 20 of the update data management information 18 and the segment update of the update segment management information 19. Flag 21 is shown.
[0047] 例えば、ステップ S504において、 CM3aに備わるプロセッサ 10aによって実現され る更新セグメント管理情報生成部 6bは、 RAM12aに格納されている更新データ管 理情報 18の所定のアドレスからブロック更新フラグ 20を参照し、各 16ブロックのブロ ック更新フラグが全て 1で有る場合には、更新セグメント管理情報 19の所定のァドレ スのセグメント更新フラグを 1に設定し、各 16ブロックのブロック更新フラグの少なくと も 1つ以上が 0である場合には、セグメント更新フラグを 0に設定する。 For example, in step S504, the update segment management information generation unit 6b realized by the processor 10a included in the CM 3a refers to the block update flag 20 from a predetermined address of the update data management information 18 stored in the RAM 12a. However, if the block update flags for each 16 block are all 1, the segment update flag for the given address in the update segment management information 19 is set to 1, and at least the block update flag for each 16 block is set to 1. If one or more of them is 0, the segment update flag is set to 0.
[0048] そして、更新セグメント管理情報生成部 6bは、以上の処理によって生成した更新セ グメント管理情報 19を RAM12aに格納し、処理をステップ S505に移行する。 [0048] Then, the update segment management information generating unit 6b stores the update segment management information 19 generated by the above processing in the RAM 12a, and the process proceeds to step S505.
ステップ S505において、書込み方式選択部 7は、 RAM 12aに格納されている更 新セグメント管理情報 19の所定のアドレス力 セグメント更新フラグを参照し、セグメ ント更新フラグの数をカウントし、ステップ S506に処理を移行する。 In step S505, the write method selection unit 7 refers to the predetermined address force segment update flag in the update segment management information 19 stored in the RAM 12a, counts the number of segment update flags, and performs the process in step S506. To migrate.
[0049] ステップ S506において、書込み方式選択部 7は、ステップ S505の処理でカウント したセグメント更新フラグの数と閾値とを比較して、閾値より大き 、場合にはステップ S 507に処理を移行する。そして、図 9に示す書込み方式制御情報 22を生成し、該当 する更新データに対する書込み方式フラグを Read & Bandwidth方式に設定す る。
[0050] なお、本実施例では、閾値として、更新データ全体の総セグメントの 1Z2を使用し ている。すなわち、更新データは 3つのデータストライプで構成され、 1データストライ プが 128ブロック、 1セグメントが 16ブロックであることから、 3 * (128/16) * (1/2 ) = 12セグメントが閾値となる。 [0049] In step S506, the writing method selection unit 7 compares the number of segment update flags counted in the process of step S505 with the threshold value, and if greater than the threshold value, the process proceeds to step S507. Then, the write method control information 22 shown in FIG. 9 is generated, and the write method flag for the corresponding update data is set to the Read & Bandwidth method. [0050] In this embodiment, 1Z2 of the total segment of the entire update data is used as the threshold value. In other words, the update data consists of three data stripes, one data stripe is 128 blocks, and one segment is 16 blocks, so 3 * (128/16) * (1/2) = 12 segments is the threshold. Become.
[0051] ただし、これに限定する趣旨ではなぐ例えば、閾値として、更新データ全体の総セ グメントの 1 Z3の値を使用してもよく、適宜必要に応じて閾値を決めればよ!、。 [0051] However, for example, the value of 1 Z3 of the total segment of the entire update data may be used as the threshold value, and the threshold value may be appropriately determined as necessary.
ここで、 Read & Bandwidth方式とは、例えば、図 2に示した更新データ 2において 、 Disk # 2からデータを読込み、更新データと XORを行なうことによって更新パリティ を生成し、更新データと生成した更新パリティとをそれぞれ Disk # 0、 # 1、及び # 3 に格納する方式をいう。 Here, the Read & Bandwidth method refers to, for example, update data 2 shown in Fig. 2 by reading data from Disk # 2 and performing an XOR with the update data to generate update parity and update data and the generated update Parity is stored in Disk # 0, # 1 and # 3 respectively.
[0052] この Read&Bandwidth方式では、ホストコンピュータ 14から送られた更新データ によって更新されない更新無しデータストライブをディスクアレイ力 読み出して、更 新パリティを生成する。 In this Read & Bandwidth method, an updated parity is generated by reading the disk array power that is not updated by the updated data sent from the host computer 14 and reading the disk array power.
[0053] したがって、更新されたデータストライブ (セグメント)が多いと、相対的に更新無し データストライブが少なくなるので、この更新無しデータストライブをディスクアレイから 読み出す処理も少なくなり、 Write Back処理の処理速度が向上する。 [0053] Therefore, if there are many updated data stripes (segments), there will be relatively fewer unupdated data stripes, so there will be less processing to read this unupdated data stripe from the disk array, and Write Back processing The processing speed is improved.
[0054] ステップ S506において、ステップ S505の処理でカウントしたセグメント更新フラグ の数が閾値より大き 、場合にはステップ S 508に処理を移行し、図 9に示す書込み方 式制御情報 22の該当する更新データに対して書込み方式フラグを Small Write方 式に設定する。 [0054] In step S506, if the number of segment update flags counted in the process of step S505 is larger than the threshold value, the process proceeds to step S508, and the corresponding update of the write method control information 22 shown in Fig. 9 is performed. Set the write method flag for the data to the Small Write method.
[0055] この Small Write方式は、図 2で示したように、ホストコンピュータ 14から送られた 更新データによって更新されたデータストライブの更新前データストライブをディスク アレイ力 読み出して、更新パリディを生成する。 [0055] As shown in Fig. 2, this Small Write method reads the pre-update data stripe of the data stripe updated by the update data sent from the host computer 14, and generates the update parity by reading the disk array power. To do.
[0056] したがって、更新されたデータストライブ (セグメント)が少なければ、この更新された データストライブに対応する更新前データストライブをディスクアレイから読み出す処 理も少なくなり、 Write Back処理の処理速度が向上する。 [0056] Therefore, if the number of updated data stripes (segments) is small, the number of processes for reading the pre-update data stripe corresponding to the updated data stripe from the disk array decreases, and the processing speed of the Write Back process Will improve.
[0057] 図 9に示すように、以上のステップ S503、 S507及び S508の処理によって書込み 方式制御情報 22が生成される。
同図に示す書込み方式制御情報 22は、更新データ番号と、更新データ番号の更 新データに対する書込み方式フラグと、で構成されている。本実施例においては、書 込み方式フラグが 2の場合は Bandwidth Write方式を意味し、書込み方式フラグ 力 の場合は Small Write方式を意味し、書込み方式フラグが 0の場合は Read&B andwidth方式を意味する力 これに限定するものではなぐ Bandwidth Write方 式、 Small Write方式、及び Read&Bandwidth方式が判別できるデータを使用す ればよい。 As shown in FIG. 9, the write method control information 22 is generated by the processes of steps S503, S507, and S508 described above. The write method control information 22 shown in the figure is composed of an update data number and a write method flag for the update data of the update data number. In this example, when the write method flag is 2, it means the Bandwidth Write method, when the write method flag is power, it means the Small Write method, and when the write method flag is 0, it means the Read & B and width method. Power Data that can be identified by the Bandwidth Write method, Small Write method, and Read & Bandwidth method are not limited to this.
[0058] ステップ S503、 S507、及び S508の処理が行なわれると、 CM3aは、処理をステツ プ S509に移行する。そして、更新データが他にもある場合には、処理をステップ S5 02に移行し、ステップ S502— S509の処理を繰り返すこととなる。 [0058] When the processes of steps S503, S507, and S508 are performed, CM 3a moves the process to step S509. If there is another update data, the process proceeds to step S502, and the processes in steps S502 to S509 are repeated.
[0059] また、ステップ S509において、他に更新データがない場合には、処理をステップ S 510に移行し、書込み処理部 8が、書込み方式制御情報 22に従って、該当する更新 データに対して Write Back処理を行なう。 [0059] If there is no other update data in step S509, the process proceeds to step S510, and the write processing unit 8 writes back the corresponding update data according to the write method control information 22. Perform processing.
[0060] 以上に説明したように、キャッシュメモリ 4に格納された更新後データの更新量に応 じて、更新量が少ない場合には、更新部分のデータストライプと更新前パリティだけを ディスクアレイカゝら読み出して更新パリディを生成することが可能な Small Write方 式による Write Back処理を行ない、更新データ量が多い場合には、更新無しのデ 一タストライプだけをディスクアレイ力 読み出して更新パリティを生成することが可能 な Read&Bandwidth方式による Write Back処理を行なうことによって、ディスクァ レイへの読み出し処理回数 (アクセス)を低減することが可能となるので、更新 (Write Back)処理の速度を向上することが可能となる。 [0060] As described above, when the update amount is small according to the update amount of the post-update data stored in the cache memory 4, only the data stripe of the update portion and the parity before update are stored in the disk array cache. In addition, when Write Back processing is performed by the Small Write method that can read and generate an update parity, and the amount of update data is large, only the data stripe without update is read from the disk array and the update parity is calculated. By performing Write Back processing using the Read & Bandwidth method that can be generated, the number of read operations (access) to the disk array can be reduced, which can improve the speed of update (Write Back) processing. It becomes possible.
[0061] また、更新データ管理情報 18から更新セグメント管理情報 19を生成し、セグメント 更新フラグによって上記更新量の大小を判別することで判別処理が容易となる。 例えば、本実施例の場合には、図 7に示すように 1つのデータストライブは、 16のセ グメント更新フラグで更新量が表されるので、 2バイト(16ビット)単位で更新量の大小 を判別することが可能となる。 [0061] In addition, the update segment management information 19 is generated from the update data management information 18, and the size of the update amount is determined by the segment update flag, thereby facilitating the determination process. For example, in the case of the present embodiment, as shown in FIG. 7, the update amount is represented by 16 segment update flags for one data stripe, so the update amount is larger or smaller in units of 2 bytes (16 bits). Can be determined.
[0062] 以上の説明において、図 5に示したステップ S 504では、各 16ブロックのブロック更 新フラグの少なくとも 1つ以上が 0である場合にセグメント更新フラグを 0に設定してい
る力 これに限定する趣旨ではない。 In the above description, in step S 504 shown in FIG. 5, the segment update flag is set to 0 when at least one of the block update flags of 16 blocks is 0. The purpose is not limited to this.
[0063] 例えば、各 16ブロックのブロック更新フラグの 2つ以上が 0の場合など、必要に応じ て、セグメント更新フラグを 0に設定する条件を変更してもよい。 [0063] For example, the condition for setting the segment update flag to 0 may be changed as necessary, such as when two or more of the block update flags of each 16 block are 0.
また、本実施例では、 1ブロックを 512バイト、 1セグメントを 16ブロック、 1データスト ライプを 8セグメント(128ブロック)とした力 これに限定する趣旨ではなぐ適宜、必 要な大きさに設定すればょ 、。 In addition, in this embodiment, one block is 512 bytes, one segment is 16 blocks, and one data stripe is eight segments (128 blocks). Yeah.
[0064] 例えば、ホストコンピュータ 14から更新データが送られる毎に、 CM3aが RAM12a に更新データサイズを履歴として格納しておき、当該履歴力も更新データサイズの変 化に応じて 1セグメントを構成するブロック数を変更してもよい。これにより、更新セグ メント管理情報の生成処理 (ブロック更新フラグの丸め処理)を効率的に行なうことが 可能となる。 [0064] For example, every time update data is sent from the host computer 14, the CM 3a stores the update data size in the RAM 12a as a history, and the history power is also a block that constitutes one segment according to the change in the update data size. The number may be changed. This makes it possible to efficiently perform update segment management information generation processing (block update flag rounding processing).
[0065] また、更新データ管理情報 18は図 6に示したものに限定する趣旨ではなぐホストコ ンピュータ 14から送られる更新データによってキャッシュメモリ 11aに格納されている 更新前データが更新された箇所をブロック単位で特定できればよい。 Further, the update data management information 18 is not limited to the one shown in FIG. 6, but blocks the location where the pre-update data stored in the cache memory 11a is updated by the update data sent from the host computer 14 It only needs to be specified in units.
[0066] また、更新セグメント管理情報 19についても図 7に示したものに限定する趣旨では なぐホストコンピュータ 14力も送られる更新データによってキャッシュメモリ 11aに格 納されて ヽる更新前データが更新された箇所をセグメント単位で特定できればょ ヽ。 [0066] In addition, the update segment management information 19 is not limited to the one shown in FIG. 7, and the pre-update data stored in the cache memory 11a is updated by the update data sent by the host computer 14 as well. If the location can be specified in segment units.
[0067] さらに、書込み方式制御情報 22についても図 9に示したものに限定する趣旨では なぐ更新データに対する書込み方式 (例えば、 Small Write方式等)に関する情 報であればよい。 [0067] Further, the write method control information 22 may be information related to a write method (for example, a small write method) with respect to update data, which is not limited to the information shown in FIG.
[0068] 以上のように、本発明によると、一部のデータストライプを更新する処理が含まれる 場合であっても、更新時の処理速度を向上することが可能な RAID装置における Wri te Back方法を提供することができる。
[0068] As described above, according to the present invention, a write back method in a RAID device that can improve the processing speed at the time of updating even when the processing of updating some data stripes is included. Can be provided.
Claims
[1] ホストコンピュータ力 送られる更新データによって更新されたキャッシュメモリに格 納されている更新後データの更新箇所を検出すると共に、該検出結果力 前記更新 後データの更新量を取得する更新量取得処理と、 [1] Host computer power Update amount acquisition for detecting the update location of the post-update data stored in the cache memory updated by the update data sent, and acquiring the update amount of the post-update data Processing,
該更新量取得処理によって抽出された前記更新量に応じて前記更新後データの Write方式を、 Small Write方式と Read & Bandwidth Write方式とから選択 する書込み方式選択処理と、 A write method selection process for selecting a write method of the updated data according to the update amount extracted by the update amount acquisition process from a small write method and a read & bandwidth write method;
前記キャッシュメモリに格納された前記更新後データのデータストライプを読み出し 、前記書込み方式選択処理で選択された方式によって前記データストライプの更新 を行なう書込み処理と、 A write process for reading the data stripe of the updated data stored in the cache memory and updating the data stripe by a method selected by the write method selection process;
を RAID制御装置に行なわせることを特徴とするライトバック方法。 A write-back method characterized by causing a RAID controller to perform the operation.
[2] 前記更新量取得処理は、 [2] The update amount acquisition process includes:
前記検出結果力 更新後データにおける更新の有無をブロック毎に管理する更新 データ管理情報を生成して更新データ管理情報記憶部に記憶する更新データ管理 情報生成処理と、 Update data management information generation processing for generating update data management information for managing the presence or absence of update in the post-update data for each block and storing the update data management information in an update data management information storage unit;
該更新データ管理情報記憶部から更新データ管理情報を読み出し、該更新デー タ管理情報力 複数の前記ブロックで構成されるセグメント毎に前記データストライプ における更新部を管理する更新セグメント管理情報を生成して更新セグメント管理情 報記憶手段に記憶する更新セグメント管理情報生成処理と、 The update data management information is read from the update data management information storage unit, and update segment management information for managing the update unit in the data stripe is generated for each segment composed of a plurality of the blocks. Update segment management information generation processing stored in the update segment management information storage means;
を備え、 With
前記書込み方式選択処理は、 The writing method selection process is:
更新セグメント管理情報記憶手段から読み出した前記更新セグメント管理情報につ V、て更新部を示す前記セグメントの数をカウントし、該セグメントの数に応じて前記デ 一タストライプの書込み方式を、 Small Write方式と Read & Bandwidth Writ e方式とから選択することを特徴とする請求項 1に記載のライトバック方法。 The update segment management information read from the update segment management information storage means V counts the number of segments indicating the update unit, and the write method of the data stripe is set according to the number of segments. 2. The write back method according to claim 1, wherein the write back method is selected from a method and a read & bandwidth width method.
[3] 前記更新セグメント管理情報生成処理は、前記セグメントを構成する複数のブロッ クのうち所定の閾値以上のブロックが更新されたブロックである場合に前記セグメント は更新部分を有すると判断することを特徴とする請求項 2に記載のライトバック方法。
[3] The updated segment management information generation process determines that the segment has an updated portion when a block equal to or greater than a predetermined threshold among the plurality of blocks constituting the segment is an updated block. 3. The write back method according to claim 2, wherein
[4] 前記書込み方式選択処理は、前記更新セグメント管理情報から更新部を示す前記 セグメントの数をカウントし、該セグメントの数が所定の閾値以下の場合に Small Wr ite方式を選択し、前記セグメントの数が所定の閾値以上の場合に Read & Band width Write方式を選択することを特徴とする請求項 3に記載のライトバック方法。 [4] The write method selection process counts the number of segments indicating the update unit from the update segment management information, selects a small write method when the number of segments is equal to or less than a predetermined threshold, and selects the segment 4. The write-back method according to claim 3, wherein the read & bandwidth write method is selected when the number of data is equal to or greater than a predetermined threshold value.
[5] ホストコンピュータ力 送られる更新データによって更新されたキャッシュメモリに格 納されている更新後データの更新箇所を検出すると共に、該検出結果力 前記更新 後データの更新量を取得する更新量取得処理と、 [5] Host computer power Update amount acquisition for detecting the update location of the post-update data stored in the cache memory updated by the update data sent, and acquiring the update amount of the post-update data Processing,
該更新量取得処理によって抽出された前記更新量に応じて前記更新後データの In accordance with the update amount extracted by the update amount acquisition process,
Write方式を、 Small Write方式と Read & Bandwidth Write方式とから選択 する書込み方式選択処理と、 Write method selection process for selecting Write method from Small Write method and Read & Bandwidth Write method,
前記キャッシュメモリに格納された前記更新後データのデータストライプを読み出し Read the data stripe of the updated data stored in the cache memory
、前記書込み方式選択処理で選択された方式によって前記データストライプの更新 を行なう書込み処理と、 A write process for updating the data stripe by the method selected in the write method selection process;
を RAID制御装置に行なわせることを特徴とする RAID制御装置のためのプロダラ ム。 A program for a RAID controller characterized by having the RAID controller perform the operation.
[6] 前記更新量取得処理は、 [6] The update amount acquisition process includes:
前記検出結果力 更新後データにおける更新の有無をブロック毎に管理する更新 データ管理情報を生成して更新データ管理情報記憶部に記憶する更新データ管理 情報生成処理と、 Update data management information generation processing for generating update data management information for managing the presence or absence of update in the post-update data for each block and storing the update data management information in an update data management information storage unit;
該更新データ管理情報記憶部から更新データ管理情報を読み出し、該更新デー タ管理情報力 複数の前記ブロックで構成されるセグメント毎に前記データストライプ における更新部を管理する更新セグメント管理情報を生成して更新セグメント管理情 報記憶手段に記憶する更新セグメント管理情報生成処理と、 The update data management information is read from the update data management information storage unit, and update segment management information for managing the update unit in the data stripe is generated for each segment composed of a plurality of the blocks. Update segment management information generation processing stored in the update segment management information storage means;
を備え、 With
前記書込み方式選択処理は、 The writing method selection process is:
更新セグメント管理情報記憶手段から読み出した前記更新セグメント管理情報につ V、て更新部を示す前記セグメントの数をカウントし、該セグメントの数に応じて前記デ 一タストライプの書込み方式を、 Small Write方式と Read & Bandwidth Writ
e方式とから選択することを特徴とする請求項 5に記載の RAID制御装置のためのプ ログラム。 The update segment management information read from the update segment management information storage means V counts the number of segments indicating the update unit, and the write method of the data stripe is set according to the number of segments. Method and Read & Bandwidth Writ 6. The program for a RAID controller according to claim 5, wherein the program is selected from e type.
[7] 前記更新セグメント管理情報生成処理は、前記セグメントを構成する複数のブロッ クのうち所定の閾値以上のブロックが更新されたブロックである場合に前記セグメント は更新部分を有すると判断することを特徴とする請求項 6に記載の RAID制御装置 のためのプログラム。 [7] The updated segment management information generation process determines that the segment has an updated portion when a block having a predetermined threshold value or more is an updated block among a plurality of blocks constituting the segment. 7. The program for a RAID controller according to claim 6, wherein the program is a RAID controller.
[8] 前記書込み方式選択処理は、前記更新セグメント管理情報から更新部を示す前記 セグメントの数をカウントし、該セグメントの数が所定の閾値以下の場合に Small Wr ite方式を選択し、前記セグメントの数が所定の閾値以上の場合に Read & Band width Write方式を選択することを特徴とする請求項 7に記載の RAID制御装置の ためのプログラム。 [8] The write method selection process counts the number of segments indicating the update unit from the update segment management information, selects a small write method when the number of segments is equal to or less than a predetermined threshold, and selects the segment 8. The program for a RAID controller according to claim 7, wherein the Read & Bandwidth Write method is selected when the number of files is equal to or greater than a predetermined threshold.
[9] ホストコンピュータ力 送られる更新データによって更新されたキャッシュメモリに格 納されている更新後データの更新箇所を検出すると共に、該検出結果力 前記更新 後データの更新量を取得する更新量取得部と、 [9] Host computer power Update amount acquisition for detecting the update location of the post-update data stored in the cache memory updated by the update data sent, and acquiring the update amount of the post-update data And
該更新量取得部によって抽出された前記更新量に応じて前記更新後データの Wri te方式を、 Small Write方式と Read & Bandwidth Write方式とから選択する 書込み方式選択部と、 A write method selection unit that selects a write method of the updated data according to the update amount extracted by the update amount acquisition unit from a small write method and a read & bandwidth write method;
前記キャッシュメモリに格納された前記更新後データのデータストライプを読み出し 、前記書込み方式選択処理で選択された方式によって前記データストライプの更新 を行なう書込み処理部と、 A data processing unit that reads the data stripe of the updated data stored in the cache memory, and updates the data stripe by a method selected in the writing method selection process;
を備えることを特徴とする RAID制御装置。 A RAID controller characterized by comprising:
[10] 前記更新量取得部は、 [10] The update amount acquisition unit includes:
前記検出結果力 更新後データにおける更新の有無をブロック毎に管理する更新 データ管理情報を生成する更新データ管理情報生成部と、 An update data management information generating unit for generating update data management information for managing the presence or absence of update in the post-update data after update for each block;
該更新データ管理情報力 複数の前記ブロックで構成されるセグメント毎に前記デ 一タストライプにおける更新部を管理する更新セグメント管理情報を生成する更新セ グメント管理情報生成部と、 An update segment management information generating unit that generates update segment management information for managing an update unit in the data stripe for each segment composed of a plurality of the blocks;
を備え、
前記書込み方式選択部は、 With The writing method selection unit
前記更新セグメント管理情報について更新部を示す前記セグメントの数をカウントし Count the number of segments indicating the update unit for the update segment management information
、該セグメントの数に応じて前記データストライプの書込み方式を、 Small Write方 式と Read & Bandwidth Write方式とから選択することを特徴とする請求項 9〖こ 記載の RAID制御装置。 10. The RAID controller according to claim 9, wherein the data stripe writing method is selected from a small write method and a read & bandwidth write method according to the number of segments.
[11] 前記更新セグメント管理情報生成部は、前記セグメントを構成する複数のブロックの うち所定の閾値以上のブロックが更新されたブロックである場合に前記セグメントは更 新部分を有すると判断することを特徴とする請求項 10に記載の RAID制御装置。 [11] The updated segment management information generation unit determines that the segment has an updated portion when a block having a predetermined threshold value or more is an updated block among a plurality of blocks constituting the segment. 11. The RAID controller according to claim 10, wherein
[12] 前記書込み方式選択部は、前記更新セグメント管理情報から更新部を示す前記セ グメントの数をカウントし、該セグメントの数が所定の閾値以下の場合に Small Writ e方式を選択し、前記セグメントの数が所定の閾値以上の場合に Read & Bandwi dth Write方式を選択することを特徴とする請求項 11に記載の RAID制御装置。 [12] The write method selection unit counts the number of segments indicating the update unit from the update segment management information, selects a small write method when the number of segments is equal to or less than a predetermined threshold, and 12. The RAID control device according to claim 11, wherein the Read & Bandwidth Write method is selected when the number of segments is equal to or greater than a predetermined threshold.
[13] ホストコンピュータ力 送られる更新データを格納するための複数の記憶部を備え る RAID装置であって、 [13] A RAID device having a plurality of storage units for storing update data sent by a host computer,
前記更新データによって更新されたキャッシュメモリに格納されている更新後デー タの更新箇所を検出すると共に、該検出結果力 前記更新後データの更新量を取 得する更新量取得部と、 An update amount acquisition unit that detects an update location of the post-update data stored in the cache memory updated by the update data, and obtains an update amount of the post-update data.
該更新量取得部によって抽出された前記更新量に応じて前記更新後データの Wri te方式を、 Small Write方式と Read & Bandwidth Write方式とから選択する 書込み方式選択部と、 A write method selection unit that selects a write method of the updated data according to the update amount extracted by the update amount acquisition unit from a small write method and a read & bandwidth write method;
前記キャッシュメモリに格納された前記更新後データのデータストライプを読み出し 、前記書込み方式選択処理で選択された方式によって前記複数の記憶部に格納す る書込み処理部と、 A write processing unit that reads a data stripe of the updated data stored in the cache memory and stores the data stripe in the plurality of storage units by a method selected in the write method selection process;
を備えることを特徴とする RAID装置。 A RAID device comprising:
[14] 前記更新量取得部は、 [14] The update amount acquisition unit includes:
前記検出結果力 更新後データにおける更新の有無をブロック毎に管理する更新 データ管理情報を生成する更新データ管理情報生成部と、 An update data management information generating unit for generating update data management information for managing the presence / absence of update in the post-update data for each detection block;
該更新データ管理情報力 複数の前記ブロックで構成されるセグメント毎に前記デ
一タストライプにおける更新部を管理する更新セグメント管理情報を生成する更新セ グメント管理情報生成部と、 The update data management information power The data for each segment composed of a plurality of the blocks. An update segment management information generation unit for generating update segment management information for managing an update unit in a single stripe;
を備え、 With
前記書込み方式選択部は、 The writing method selection unit
前記更新セグメント管理情報について更新部を示す前記セグメントの数をカウントし 、該セグメントの数に応じて前記データストライプの書込み方式を、 Small Write方 式と Read & Bandwidth Write方式とから選択することを特徴とする請求項 13 に記載の RAID装置。 Counting the number of segments indicating the update unit for the update segment management information, and selecting the data stripe writing method from the Small Write method and the Read & Bandwidth Write method according to the number of segments The RAID device according to claim 13.
[15] 前記更新セグメント管理情報生成部は、前記セグメントを構成する複数のブロックの うち所定の閾値以上のブロックが更新されたブロックである場合に前記セグメントは更 新部分を有すると判断することを特徴とする請求項 14に記載の RAID装置。 [15] The updated segment management information generation unit determines that the segment has an updated portion when a block equal to or greater than a predetermined threshold among the plurality of blocks constituting the segment is an updated block. 15. The RAID device according to claim 14, wherein the RAID device is characterized in that:
[16] 前記書込み方式選択部は、前記更新セグメント管理情報から更新部を示す前記セ グメントの数をカウントし、該セグメントの数が所定の閾値以下の場合に Small Writ e方式を選択し、前記セグメントの数が所定の閾値以上の場合に Read & Bandwi dth Write方式を選択することを特徴とする請求項 15に記載の RAID装置。
[16] The write method selection unit counts the number of segments indicating the update unit from the update segment management information, selects a small write method when the number of segments is equal to or less than a predetermined threshold, 16. The RAID device according to claim 15, wherein the Read & Bandwidth Write method is selected when the number of segments is equal to or greater than a predetermined threshold.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2005/000094 WO2006072991A1 (en) | 2005-01-07 | 2005-01-07 | Write back method in raid device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2005/000094 WO2006072991A1 (en) | 2005-01-07 | 2005-01-07 | Write back method in raid device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2006072991A1 true WO2006072991A1 (en) | 2006-07-13 |
Family
ID=36647479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2005/000094 WO2006072991A1 (en) | 2005-01-07 | 2005-01-07 | Write back method in raid device |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2006072991A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0675708A (en) * | 1992-08-26 | 1994-03-18 | Mitsubishi Electric Corp | Array type recording device |
JPH07110788A (en) * | 1993-10-14 | 1995-04-25 | Fujitsu Ltd | Disk cache device |
JP2003196032A (en) * | 2001-12-26 | 2003-07-11 | Nec Corp | Write cache control method of storage device, and storage device |
-
2005
- 2005-01-07 WO PCT/JP2005/000094 patent/WO2006072991A1/en not_active Application Discontinuation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0675708A (en) * | 1992-08-26 | 1994-03-18 | Mitsubishi Electric Corp | Array type recording device |
JPH07110788A (en) * | 1993-10-14 | 1995-04-25 | Fujitsu Ltd | Disk cache device |
JP2003196032A (en) * | 2001-12-26 | 2003-07-11 | Nec Corp | Write cache control method of storage device, and storage device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4410178B2 (en) | Write-back method in RAID device | |
US7975168B2 (en) | Storage system executing parallel correction write | |
US7984325B2 (en) | Storage control device, data recovery device, and storage system | |
JP4583150B2 (en) | Storage system and snapshot data creation method in storage system | |
CN103927206B (en) | Method for Updating Control Program of Entity Storage Device in Multi-Peer Storage System | |
US20070162692A1 (en) | Power controlled disk array system using log storage area | |
JP4719802B2 (en) | Storage management device, storage management method and storage system | |
US20020170017A1 (en) | Parity mirroring between controllers in an active-active controller pair | |
WO2013160972A1 (en) | Storage system and storage apparatus | |
JP4634157B2 (en) | Storage system | |
JP4385215B2 (en) | Disk array device having snapshot simulation function | |
JP2005122338A (en) | Disk array device having spare disk drive and data sparing method | |
JP2003131817A (en) | Method and system for migrating data in RAID logical drive migration | |
WO2012140695A1 (en) | Storage control apparatus and error correction method | |
JP2005293363A (en) | Disk array controller and information processing device | |
JP2006139478A (en) | Disk array system | |
US8032703B2 (en) | Storage apparatus and failure recovery method | |
JP5531656B2 (en) | Storage device, patrol method, patrol program, and storage system | |
JP4788492B2 (en) | Storage device capacity expansion method, program, and storage device | |
JP2006072435A (en) | Storage system and data recording method | |
US8041850B2 (en) | Storage apparatus and data integrity assurance method | |
KR101554550B1 (en) | Memory management apparatus and control method thereof | |
CN101441639A (en) | A method for generating an image file | |
JP6052288B2 (en) | Disk array control device, disk array control method, and disk array control program | |
JP4245021B2 (en) | Storage device, storage system, and storage device control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 05703362 Country of ref document: EP Kind code of ref document: A1 |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 5703362 Country of ref document: EP |