[go: up one dir, main page]

JP2012053571A - Information processing unit, controller card and information processing unit control method - Google Patents

Information processing unit, controller card and information processing unit control method Download PDF

Info

Publication number
JP2012053571A
JP2012053571A JP2010194363A JP2010194363A JP2012053571A JP 2012053571 A JP2012053571 A JP 2012053571A JP 2010194363 A JP2010194363 A JP 2010194363A JP 2010194363 A JP2010194363 A JP 2010194363A JP 2012053571 A JP2012053571 A JP 2012053571A
Authority
JP
Japan
Prior art keywords
storage devices
data
stripe
stripe group
sector size
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.)
Pending
Application number
JP2010194363A
Other languages
Japanese (ja)
Inventor
Kazuya Kawamura
和也 川村
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2010194363A priority Critical patent/JP2012053571A/en
Publication of JP2012053571A publication Critical patent/JP2012053571A/en
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 複数のファイルシステムの共存を気にすることなく、論理ドライブの書き込み速度の向上を図ること。
【解決手段】 情報処理装置は、第1設定手段および第2設定手段を具備する。第1設定手段は、複数台の記憶装置から構成される論理ドライブのセクタサイズを、一つのストライプグループ内に冗長コード以外のデータを格納可能なストライプグループ容量の正整数倍に設定する。第2設定手段は、クラスタサイズを第1設定手段によって設定されたセクタサイズの正整数倍に設定する。
【選択図】 図3
PROBLEM TO BE SOLVED: To improve the writing speed of a logical drive without worrying about coexistence of a plurality of file systems.
An information processing apparatus includes first setting means and second setting means. The first setting means sets the sector size of a logical drive composed of a plurality of storage devices to a positive integer multiple of the stripe group capacity capable of storing data other than the redundant code in one stripe group. The second setting means sets the cluster size to a positive integer multiple of the sector size set by the first setting means.
[Selection] Figure 3

Description

本発明の実施形態は、データを冗長化して複数の記憶装置に書き込む情報処理装置、コントローラカード、および情報処理装置の制御方法に関する。   Embodiments described herein relate generally to an information processing apparatus, a controller card, and a method for controlling the information processing apparatus that make data redundant and write the data in a plurality of storage devices.

一般にドライブアレイ装置は、複数のドライブからなるドライブアレイと、このドライブアレイ内の各ドライブに対するアクセスを制御するドライブアレイ制御装置とを備え、各ドライブを並列に動かしてアクセスの高速化を図ると共に、冗長構成によって信頼性の向上を図るようにした外部記憶装置として知られている。   In general, a drive array device includes a drive array composed of a plurality of drives and a drive array control device that controls access to each drive in the drive array, and drives each drive in parallel to increase the access speed. It is known as an external storage device in which reliability is improved by a redundant configuration.

ディスクアレイ制御装置は、ホスト装置から転送される書き込みデータに対して、データ訂正情報としてのパリティデータを排他的論理和演算により生成し、複数のドライブのうちのいずれかに書き込むようになっている。これにより、複数のドライブのうちの1台の故障に対し、このパリティデータと残りのドライブのデータを用いて排他的論理和演算を行うことで、故障したドライブのデータを復元することを可能としている。   The disk array control device generates parity data as data correction information for the write data transferred from the host device by exclusive OR operation and writes it to one of the plurality of drives. . This makes it possible to restore the failed drive data by performing an exclusive OR operation using the parity data and the remaining drive data for the failure of one of the multiple drives. Yes.

このような、パリティ等によるデータ冗長化の方式の1つとして、RAID(Redundant Arrays of Inexpensive Disks )方式が知られている。RAID方式では、RAIDのデータとパリティとの関連において、RAIDレベルとして種々のレベルに分類されており、その代表的なものにレベル5がある。   A RAID (Redundant Array of Inexpensive Disks) method is known as one of such data redundancy methods using parity or the like. In the RAID system, the RAID level is classified into various levels in relation to the RAID data and the parity, and the representative level is level 5.

RAID5の論理ドライブは、ストライプグループの容量以下の書き込み要求があった場合、新しいデータ、パリティを書き込む前に、パリティを作成するのに不足している既存のデータやパリティをリードする必要があり、それが書き込み速度を低下させる要因になっている。   When there is a write request less than the capacity of the stripe group, the RAID 5 logical drive needs to read existing data and parity that are insufficient to create parity before writing new data and parity. This is a factor that reduces the writing speed.

書き込み速度の低下を抑制するために、1ストライプグループあたりのデータ容量をファイルシステムのアクセス単位に合わせることにより、既存のデータやパリティをリードすること無しに、新しいデータ、パリティをライトすることができる技術がある。   In order to suppress a decrease in writing speed, by matching the data capacity per stripe group to the access unit of the file system, new data and parity can be written without reading existing data or parity. There is technology.

しかしながら、上述した技術では、1つの論理ドライブに複数のパーティションが設定され、それぞれのパーティションを別のファイルシステムでフォーマットした場合、それぞれのファイルシステムで使用される論理ドライブ内のストライプグループの容量を変更するなど個別に対処が必要になる。ファイルシステムによって、アクセス単位(クラスタサイズ)が異なるため、ファイルシステムごとにストライプグループの容量の変更が必要になる。   However, with the technology described above, when multiple partitions are set for one logical drive and each partition is formatted with another file system, the capacity of the stripe group in the logical drive used in each file system is changed. It is necessary to deal with it individually. Since the access unit (cluster size) differs depending on the file system, it is necessary to change the stripe group capacity for each file system.

特開2009−80549号公報JP 2009-80549 A

複数のファイルシステムの共存を気にすることなく、論理ドライブの書き込み速度の向上をはかることが望まれている。   It is desired to improve the writing speed of a logical drive without worrying about the coexistence of a plurality of file systems.

本発明の目的は、複数のファイルシステムの共存を気にすることなく、論理ドライブの書き込み速度の向上を図ることが可能な情報処理装置、コントローラカード、および情報処理装置の制御方法を提供することにある。   An object of the present invention is to provide an information processing apparatus, a controller card, and an information processing apparatus control method capable of improving the writing speed of a logical drive without worrying about coexistence of a plurality of file systems. It is in.

実施形態によれば複数台の記憶装置をストライプグループ単位で管理し、データを前記複数台の記憶装置に分散して書き込み、前記複数台の記憶装置の内の複数の第1の記憶装置の同一のストライプグループに格納されているデータから生成される冗長コードを、前記複数台の記憶装置の内の第2の記憶装置の前記同一のストライプグループに格納する情報処理装置は、第1設定手段および第2設定手段を具備する。第1設定手段は、複数台の記憶装置から構成される論理ドライブのセクタサイズを、一つのストライプグループ内に冗長コード以外のデータを格納可能なストライプグループ容量の正整数倍に設定する。第2設定手段は、クラスタサイズを前記第1設定手段によって設定された前記セクタサイズの正整数倍に設定する。   According to the embodiment, a plurality of storage devices are managed in units of stripe groups, data is distributed and written to the plurality of storage devices, and the same among the plurality of first storage devices among the plurality of storage devices An information processing apparatus for storing a redundant code generated from data stored in a stripe group in the same stripe group of a second storage device of the plurality of storage devices includes: a first setting unit; Second setting means is provided. The first setting means sets the sector size of a logical drive composed of a plurality of storage devices to a positive integer multiple of the stripe group capacity capable of storing data other than the redundant code in one stripe group. The second setting means sets the cluster size to a positive integer multiple of the sector size set by the first setting means.

実施形態の情報処理装置のシステム構成を示すブロック図。The block diagram which shows the system configuration | structure of the information processing apparatus of embodiment. RAIDコントローラカードのシステム構成を示すブロック図。The block diagram which shows the system configuration | structure of a RAID controller card. RAID−5の論理ドライブにおける代表的なデータ・パリティ配置例を示す図。The figure which shows the typical data and parity arrangement | positioning example in the logical drive of RAID-5. 3台のドライブでRAID−5を構築し、論理ドライブのセクタサイズを4つのストライプグループに設定した例を示す図。The figure which shows the example which constructed | assembled RAID-5 with three drives and set the sector size of the logical drive to four stripe groups. 図4に示す3台のドライブによって論理ドライブを構築した場合の、オペレーティングシステムによって設定される論理ブロックアドレス(LBA)を示す図。The figure which shows the logical block address (LBA) set by the operating system at the time of constructing a logical drive by three drives shown in FIG. 論理セクタサイズの設定およびクラスタサイズの設定を行うための構成を示すブロック図。The block diagram which shows the structure for setting a logical sector size and a cluster size. 論理セクタサイズの設定およびクラスタサイズの設定を行う手順を示すフローチャート。The flowchart which shows the procedure which performs the setting of a logical sector size, and a cluster size.

以下、実施の形態について図面を参照して説明する。   Hereinafter, embodiments will be described with reference to the drawings.

図1を参照して実施形態に係わる情報処理装置を説明する。情報処理装置は、コンピュータとして実現されている。
図1は、コンピュータ10のシステム構成を示すブロック図である。図1に示すように、コンピュータ10は、CPU11、ノースブリッジ12、主メモリ13、グラフィックスコントローラ14、VRAM14A、サウスブリッジ16、BIOS−ROM17、RAIDコントローラカード18、およびハードディスク(HDD)19等を備えている。
An information processing apparatus according to an embodiment will be described with reference to FIG. The information processing apparatus is realized as a computer.
FIG. 1 is a block diagram showing a system configuration of the computer 10. As shown in FIG. 1, the computer 10 includes a CPU 11, a north bridge 12, a main memory 13, a graphics controller 14, a VRAM 14A, a south bridge 16, a BIOS-ROM 17, a RAID controller card 18, a hard disk (HDD) 19, and the like. ing.

CPU11は、コンピュータ10内の各部の動作を制御するプロセッサである。CPU11は、HDD19から主メモリ13にロードされるオペレーティングシステム(ファイルシステム)や、このオペレーティングシステムの制御下で動作する各種プログラムを実行する。また、CPU11は、BIOS−ROM17に格納された基本入出力システム(BIOS)も実行する。なお、以下では、このBIOS−ROM17に格納された基本入出力システム自体をBIOSと称することがある。   The CPU 11 is a processor that controls the operation of each unit in the computer 10. The CPU 11 executes an operating system (file system) loaded from the HDD 19 to the main memory 13 and various programs that operate under the control of the operating system. The CPU 11 also executes a basic input / output system (BIOS) stored in the BIOS-ROM 17. Hereinafter, the basic input / output system itself stored in the BIOS-ROM 17 may be referred to as BIOS.

ノースブリッジ12は、CPU11のローカルバスとサウスブリッジ16との間を接続するブリッジデバイスである。ノースブリッジ12は、バスを介してグラフィックスコントローラ14との通信を実行する機能を有しており、また、主メモリ13をアクセス制御するメモリコントローラも内蔵されている。グラフィックスコントローラ14は、本体側のディスプレイ15を制御する表示コントローラである。グラフィックスコントローラ14は、VRAM14Aに書き込まれた画像データからディスプレイ15に送出すべき映像信号を生成する。   The north bridge 12 is a bridge device that connects the local bus of the CPU 11 and the south bridge 16. The north bridge 12 has a function of executing communication with the graphics controller 14 via a bus, and also includes a memory controller that controls access to the main memory 13. The graphics controller 14 is a display controller that controls the display 15 on the main body side. The graphics controller 14 generates a video signal to be sent to the display 15 from the image data written in the VRAM 14A.

サウスブリッジ16は、PCI Express(PCIe)バスの各種デバイスを制御するコントローラである。また、このサウスブリッジ16には、BIOS−ROM17が直接的に接続され、これらを制御する機能も有している。   The south bridge 16 is a controller that controls various devices of the PCI Express (PCIe) bus. The south bridge 16 is directly connected to the BIOS-ROM 17 and has a function of controlling them.

3台のハードディスクドライブ19A〜19CによってRAID−5が構築されている。   RAID-5 is constructed by three hard disk drives 19A to 19C.

次に、RAIDコントローラカード18のシステム構成について図2のブロック図を参照して説明する。RAIDコントローラカード18は、コントローラ301、PCIeコントローラ302、SAS/S−ATAコントローラ303、キャッシュメモリ311、および不揮発性メモリ320等を備えている。   Next, the system configuration of the RAID controller card 18 will be described with reference to the block diagram of FIG. The RAID controller card 18 includes a controller 301, a PCIe controller 302, a SAS / S-ATA controller 303, a cache memory 311, a nonvolatile memory 320, and the like.

コントローラ301は、RAIDに係わる書き込み処理および読み込み処理等を行う。また、サウスブリッジ16からHDD19A〜19Cに関する情報の問い合わせがあった場合に、コントローラ301は、問い合わせに対する回答を行う。PCIeコントローラ302は、サウスブリッジ16との間のデータの伝送を制御するためのPCI Expressインタフェースである。SAS/S−ATAコントローラ303は、HDD19A〜19Cとの間のデータの伝送を制御するためのインタフェースである。キャッシュメモリ311は、例えばDDR2 SDRAM(Double-Data-Rate2 Synchronous Dynamic Random Access Memory)によって構成されている。例えば、HDD19A〜19Cに対するライトアクセスがあった場合、サウスブリッジ16から転送されたデータは一旦キャッシュメモリ311に書き込まれる。そして、コントローラ301によって後述するパリティ(冗長コード)が演算される。   The controller 301 performs write processing and read processing related to RAID. In addition, when there is an inquiry about information related to the HDDs 19A to 19C from the south bridge 16, the controller 301 makes an answer to the inquiry. The PCIe controller 302 is a PCI Express interface for controlling transmission of data to and from the south bridge 16. The SAS / S-ATA controller 303 is an interface for controlling data transmission between the HDDs 19A to 19C. The cache memory 311 is configured by, for example, a DDR2 SDRAM (Double-Data-Rate 2 Synchronous Dynamic Random Access Memory). For example, when there is a write access to the HDDs 19 </ b> A to 19 </ b> C, the data transferred from the south bridge 16 is once written in the cache memory 311. The controller 301 calculates a parity (redundancy code) described later.

不揮発性メモリ320内には、RAID設定データ321、論理セクタサイズデータ322、アドレス変換テーブル323等が格納されている。RAID設定データ321には、RAIDの種類を示す情報、ストライプサイズ等の設定が記述されている。論理セクタサイズデータ322には、3台のハードディスクドライブ19A〜19Cによって構成される論理ドライブの最小アクセス単位である論理セクタサイズが記述されている。アドレス変換テーブル323には、コンピュータ10からみたディスクアレイ(ディスク装置)2上のデータアドレス(データブロックアドレス)、つまり論理アドレス(論理ブロックアドレス)を、ディスクアレイ2における物理的なデータ(データブロック)の位置を示すアドレスが記述されている。なお、コンピュータ10からみた論理ブロックアドレスは論理セクタサイズに基づいて決定される。また、コンピュータ10によって実行されるファイルシステムは、ファイルシステムからの最小アクセス単位であるクラスタサイズを論理セクタサイズの正整数倍に設定する。   The nonvolatile memory 320 stores RAID setting data 321, logical sector size data 322, an address conversion table 323, and the like. The RAID setting data 321 describes settings indicating information indicating the type of RAID, stripe size, and the like. The logical sector size data 322 describes a logical sector size that is a minimum access unit of a logical drive constituted by three hard disk drives 19A to 19C. In the address conversion table 323, the data address (data block address) on the disk array (disk device) 2 as viewed from the computer 10, that is, the logical address (logical block address) is stored in the physical data (data block) in the disk array 2. An address indicating the position of is described. The logical block address viewed from the computer 10 is determined based on the logical sector size. The file system executed by the computer 10 sets the cluster size, which is the minimum access unit from the file system, to a positive integer multiple of the logical sector size.

図3は、ディスク0からディスクN−1までのN台で構築したRAID5の論理ドライブにおける、一般的なデータ及びパリティの配置例である。各ディスクは、ストライプと呼ばれる単位に分割され管理される。例えばストライプ0内には、それをData 0,0、Data 0,1、…、Data 0,N-2、Parity 0が格納される。特に、ユーザデータが格納されるストライプをデータストライプと呼び、パリティが格納されるストライプをパリティストライプと呼ぶ。   FIG. 3 is an example of general data and parity arrangement in a RAID 5 logical drive constructed with N disks 0 to N-1. Each disk is divided and managed in units called stripes. For example, Data 0,0, Data 0,1,..., Data 0, N-2, and Parity 0 are stored in the stripe 0. In particular, a stripe in which user data is stored is called a data stripe, and a stripe in which parity is stored is called a parity stripe.

N−1台の各ディスクの1ストライプから、1つのパリティストライプを作成するかたまりを、ストライプグループ(SG)と定義する。例えば、SG(0)は、データストライプであるData 0,0、Data 0,1、…、Data 0,N-2と、パリティストライプであるParity 0で構成される。そして、パリティストライプを除いたストライプグループのデータ容量SSGは、SDS×(N−1)となる。ここで、SDSはデータストライプおよびパリティストライプのサイズ、つまりストライプサイズである。 A group for creating one parity stripe from one stripe of each of N−1 disks is defined as a stripe group (SG). For example, SG (0) includes Data 0,0, Data 0,1,..., Data 0, N-2 that are data stripes, and Parity 0 that is a parity stripe. The data capacity S SG of the stripe group excluding the parity stripe is S DS × (N−1). Here, SDS is the size of the data stripe and the parity stripe, that is, the stripe size.

また、パリティがディスクN-1に存在する場合、Parity mは、以下の式で生成されるデータストライプの冗長データである。   When the parity exists in the disk N-1, Parity m is redundant data of the data stripe generated by the following formula.

Parity m = (Data m,0) XOR (Data m,1) XOR … XOR (Data m,N-2)
ここで XOR は排他的論理和を示す。
Parity m = (Data m, 0) XOR (Data m, 1) XOR… XOR (Data m, N-2)
Here, XOR indicates exclusive OR.

例えばデータ Data m,0 を new Data m,0 に更新する場合、同時に対応するパリティParity mも更新する必要がある。新たな new Parity mを生成する式は以下の通りである。   For example, when data Data m, 0 is updated to new Data m, 0, the corresponding parity Parity m needs to be updated at the same time. The formula for creating a new new Parity m is:

(new Parity m)=(new Data m,0) XOR (Data m,1) XOR … XOR (Data m,N-2)
または
(new Parity m)=(Data m,0) XOR (new Data m,0) XOR (Parity m)
new Parity mを生成するためには、既存のデータData m,1からData m,N-2、もしくはData m,0、Parity mをドライブから読み込む必要があり、RAID5の書き込み速度に大きな悪影響を与えている。
(new Parity m) = (new Data m, 0) XOR (Data m, 1) XOR… XOR (Data m, N-2)
Or
(new Parity m) = (Data m, 0) XOR (new Data m, 0) XOR (Parity m)
In order to generate new Parity m, it is necessary to read the existing data Data m, 1 to Data m, N-2, or Data m, 0, Parity m from the drive, which has a serious adverse effect on the write speed of RAID5. ing.

そこで、本RAIDコントローラカード18では、RAID5の論理ドライブのセクタサイズを、ストライプグループのデータ容量のn倍(nは正整数)にする。セクタサイズをストライプグループのデータ容量のn倍にすることによって、常に各ストライプグループのすべてのデータストライプを更新することになり、既存のデータを読み込む必要が無いため、書き込み性能を向上させることができる。   Therefore, in the RAID controller card 18, the sector size of the RAID 5 logical drive is set to n times the data capacity of the stripe group (n is a positive integer). By making the sector size n times the data capacity of the stripe group, all the data stripes of each stripe group are always updated, and it is not necessary to read existing data, so that the writing performance can be improved. .

図4は、RAIDコントローラで、3台のドライブ(HDD19A〜19C)を使用したRAID5の論理ドライブを構築した例である。Drive 0がHDD19Aに対応し、Drive 1がHDD19Bに対応し、Drive 2がHDD19Cに対応する。   FIG. 4 shows an example in which a RAID 5 logical drive using three drives (HDDs 19A to 19C) is constructed by a RAID controller. Drive 0 corresponds to the HDD 19A, Drive 1 corresponds to the HDD 19B, and Drive 2 corresponds to the HDD 19C.

なお、説明を簡単にするために、ストライプサイズを512バイト(Drive 0〜2の1セクタサイズ)にする。そして、論理ドライブのセクタサイズをストライプグループ容量の正整数倍にしている。なお、ストライプグループ容量とは、1ストライプグループ中にパリティ以外のデータを格納することができるサイズのことである。図4に示す例では、4つのストライプグループ(SG0〜SG3やSG4〜SG7等)を論理ドライブのセクタサイズとしている。従って、論理ドライブのセクタサイズは、512バイト×(3−1)×4=4KB(1KB=1024バイト)となる。   In order to simplify the description, the stripe size is set to 512 bytes (one sector size of Drives 0 to 2). The sector size of the logical drive is set to a positive integer multiple of the stripe group capacity. The stripe group capacity is a size that can store data other than parity in one stripe group. In the example shown in FIG. 4, four stripe groups (SG0 to SG3, SG4 to SG7, etc.) are used as the sector size of the logical drive. Therefore, the sector size of the logical drive is 512 bytes × (3-1) × 4 = 4 KB (1 KB = 1024 bytes).

ファイルシステムが論理ドライブのセクタサイズを取得すると、ファイルシステムから論理ドライブへのアクセスは、4KB単位でおこわなわれる。そのため、書き込み処理において、常に4つのストライプグループに属するすべてのデータストライプを更新することになるため、パリティを生成するための読み込みを省略することができ、書き込み性能を向上させることができる。   When the file system acquires the sector size of the logical drive, access from the file system to the logical drive is performed in units of 4 KB. For this reason, in the writing process, all data stripes belonging to the four stripe groups are always updated, so reading for generating parity can be omitted, and writing performance can be improved.

ところで、論理ドライブのインタフェースがSCSI(Small Computer System Interface)の場合、コントローラ301は、オペレーティングシステム(ファイルシステム)から送信されたReadCapacityコマンドを受信することで、論理ドライブの個体情報をオペレーティングシステム(ファイルシステム)に返す。個体情報には、論理ドライブのセクタサイズを含むセクタ情報、最大アドレス値等のデータの書き込み及び読み出しに必要な情報が記述されている。   By the way, when the interface of the logical drive is SCSI (Small Computer System Interface), the controller 301 receives the ReadCapacity command transmitted from the operating system (file system), and thereby converts the individual information of the logical drive into the operating system (file system). ). In the individual information, information necessary for writing and reading data such as sector information including the sector size of the logical drive and the maximum address value is described.

なお、論理ドライブのインタフェースがATA(Advanced Technology Attachment)の場合、コントローラ301は、IDENTIFY DEVICEコマンドを受信することで論理ドライブの個体情報をオペレーティングシステム(ファイルシステム)に返す。   When the interface of the logical drive is ATA (Advanced Technology Attachment), the controller 301 receives the IDENTIFY DEVICE command and returns the individual information of the logical drive to the operating system (file system).

図5は、図4に示す3台のドライブによって論理ドライブを構築した場合の、オペレーティングシステムによって設定される論理ブロックアドレス(LBA)である。一般的には、一般的なハードディスクドライブのセクタサイズと同じ512バイトのセクタサイズごとに論理ブロックアドレスが割り振られる。本実施形態では、4KBごとに論理ブロックアドレスが割り振られる。そのため、2TBを超える容量であっても32ビットのアドレス幅で対応可能となる。   FIG. 5 shows logical block addresses (LBA) set by the operating system when a logical drive is constructed by the three drives shown in FIG. In general, a logical block address is allocated for each 512-byte sector size which is the same as the sector size of a general hard disk drive. In this embodiment, a logical block address is assigned every 4 KB. Therefore, even a capacity exceeding 2 TB can be handled with a 32-bit address width.

次に、論理セクタサイズの設定、およびクラスタサイズの設定を行うための構成を図6のブロック図を参照して説明する。   Next, a configuration for setting the logical sector size and the cluster size will be described with reference to the block diagram of FIG.

コントローラ301は、パリティストライプ数検出モジュール401、ストライプグループ容量算出モジュール402、論理セクタサイズ作成モジュール403、変換テーブル設定モジュール404、および送信モジュール405等を有する。   The controller 301 includes a parity stripe number detection module 401, a stripe group capacity calculation module 402, a logical sector size creation module 403, a conversion table setting module 404, a transmission module 405, and the like.

パリティストライプ数検出モジュール401は、不揮発性メモリ320に格納されているRAID設定データ321に基づいて、RAIDにおいて1ストライプグループの内でパリティストライプの数、則ち1ストライプグループの内でパリティが格納されるドライブ台数を検出する。パリティストライプ数検出モジュール401は、RAID設定データに記述されているRAIDの種類に基づいてデータストライプの数を検出する。例えば、RAIDの種類がRAID−5であれば、パリティストライプの数は1である。また、RAIDの種類がRAID−6であれば、パリティストライプの数は2である。   Based on the RAID setting data 321 stored in the non-volatile memory 320, the parity stripe number detection module 401 stores the number of parity stripes within one stripe group in RAID, that is, parity within one stripe group. Detect the number of drives. The parity stripe number detection module 401 detects the number of data stripes based on the type of RAID described in the RAID setting data. For example, if the RAID type is RAID-5, the number of parity stripes is 1. If the RAID type is RAID-6, the number of parity stripes is two.

ストライプグループ容量算出モジュール402は、パリティストライプ数検出モジュール401によって検出されたパリティストライプ数と、RAID設定データ321に記述されている全ドライブ数およびストライプサイズに基づいて、一つのストライプグループ内に格納可能なデータ容量を演算する。ここでのデータとはパリティを除いている。   The stripe group capacity calculation module 402 can be stored in one stripe group based on the number of parity stripes detected by the parity stripe number detection module 401 and the total number of drives and stripe size described in the RAID setting data 321. The correct data capacity. The data here excludes parity.

ストライプグループ容量SSGは、次式によって求められる。 The stripe group capacity S SG is obtained by the following equation.

SG=SDS×(k−m)
ここで、SDSはストライプサイズ、kは論理ドライブを構成する全ドライブ数、mは1ストライプグループ中のパリティが格納されるドライブ数である。
S SG = S DS × (km)
Here, SDS is the stripe size, k is the total number of drives constituting the logical drive, and m is the number of drives in which parity in one stripe group is stored.

論理セクタサイズ作成モジュール403は、ストライプグループ容量算出モジュール402によって算出されたストライプ容量に基づいて、論理ドライブの論理セクタサイズを設定する。   The logical sector size creation module 403 sets the logical sector size of the logical drive based on the stripe capacity calculated by the stripe group capacity calculation module 402.

セクタサイズSSは、次式によって求められる。 The sector size S S is obtained by the following equation.

S=SSG×n=SDS×(k−m)×n
k−mは、1ストライプグループ中のデータストライプの数である。従って、1ストライプグループ中のデータが分散して記録されるドライブの台数、言い換えると1ストライプグループ中のパリティが格納されないドライブの台数をRAID設定データに記述しておき、記述された台数に基づいてセクタサイズを求めても良い。
S S = S SG × n = S DS × (km) × n
km is the number of data stripes in one stripe group. Therefore, the number of drives in which data in one stripe group is recorded in a distributed manner, in other words, the number of drives in which no parity is stored in one stripe group is described in the RAID setting data, and based on the number described. The sector size may be obtained.

論理セクタサイズ作成モジュール403は、設定された論理セクタサイズを論理セクタサイズデータ322に記録する。   The logical sector size creation module 403 records the set logical sector size in the logical sector size data 322.

変換テーブル設定モジュール404は、論理セクタサイズ作成モジュール403によって設定された論理セクタサイズに基づいて、アドレス変換テーブルを作成する。変換テーブル設定モジュール404は、作成したアドレス変換テーブルをアドレス変換テーブル323に格納する。アドレス変換テーブルは、論理セクタサイズに基づいた論理ブロックアドレスを、物理ドライブの物理ブロックアドレスに変換するために用いられる。   The conversion table setting module 404 creates an address conversion table based on the logical sector size set by the logical sector size creation module 403. The conversion table setting module 404 stores the created address conversion table in the address conversion table 323. The address conversion table is used to convert a logical block address based on the logical sector size into a physical block address of a physical drive.

送信モジュール405は、オペレーティングシステム(ファイルシステム)410から論理ドライブの個体情報の送信を命じるコマンドが送信された場合に、論理セクタサイズデータ322に記述された論理セクタサイズを含む個体情報をオペレーティングシステム(ファイルシステム)410に送信する。   The transmission module 405 receives the individual information including the logical sector size described in the logical sector size data 322 when the command for instructing the transmission of the individual information of the logical drive is transmitted from the operating system (file system) 410. File system) 410.

オペレーティングシステム(ファイルシステム)410は、クラスタサイズを個体情報に含まれる論理セクタサイズの正整数倍に設定する。   The operating system (file system) 410 sets the cluster size to a positive integer multiple of the logical sector size included in the individual information.

次に、図7のフローチャートを参照して、論理セクタサイズの設定およびクラスタサイズの設定を行う手順を説明する。   Next, the procedure for setting the logical sector size and the cluster size will be described with reference to the flowchart of FIG.

コントローラ301は、論理ドライブのセクタサイズを設定する(ステップ501)。オペレーティングシステム(ファイルシステム)410は、コントローラ301に論理ドライブの個体情報を要求する(ステップ502)。コントローラ301は、要求に応じて論理セクタサイズを含む論理ドライブの個体情報をオペレーティングシステム(ファイルシステム)410に送信する(ステップ503)。オペレーティングシステム(ファイルシステム)410は、受信した個体情報に含まれる論理セクタサイズに基づいてクラスタサイズを設定する。   The controller 301 sets the sector size of the logical drive (step 501). The operating system (file system) 410 requests the individual information of the logical drive from the controller 301 (step 502). In response to the request, the controller 301 transmits individual information of the logical drive including the logical sector size to the operating system (file system) 410 (step 503). The operating system (file system) 410 sets the cluster size based on the logical sector size included in the received individual information.

以上の処理で、論理ドライブのセクタサイズをストライプグループ容量の正整数倍に設定することができる。また、クラスタサイズを論理ドライブのセクタサイズの正整数倍に設定することができる。クラスタサイズを論理ドライブのセクタサイズの正整数倍に設定することで、オペレーティングシステム(ファイルシステム)からライトアクセスする際、1ストライプグループの全データストライプを全て更新することになるので、既存のデータを読み込む必要が無いため、書き込み性能を向上させることができる。   With the above processing, the sector size of the logical drive can be set to a positive integer multiple of the stripe group capacity. In addition, the cluster size can be set to a positive integer multiple of the sector size of the logical drive. By setting the cluster size to a positive integer multiple of the sector size of the logical drive, all data stripes in one stripe group will be updated when performing write access from the operating system (file system). Since there is no need to read, the writing performance can be improved.

また、論理ドライブのセクタサイズをストライプグループ容量の正整数倍に設定することで、どのようなファイルシステムでも、アクセス単位(クラスタサイズ)は、セクタサイズ(ディスクの最小アクセス単位)の正整数倍になるため、複数のファイルシステムの共存を気にする必要がなくなる。   In addition, by setting the logical drive sector size to a positive integer multiple of the stripe group capacity, the access unit (cluster size) will be a positive integer multiple of the sector size (minimum disk access unit) in any file system. Therefore, there is no need to worry about the coexistence of multiple file systems.

なお、指定したい論理ドライブのセクタサイズが、ストライプグループの容量の正整数倍にならない場合、余分な物理ドライブのセクタを未使用にすることでストライプグループの容量の正整数倍にすることが可能である。この場合、容量効率は落ちるが、書き込み性能を向上させることができる。   Note that if the sector size of the logical drive you want to specify is not a positive integer multiple of the stripe group capacity, you can make the extra physical drive sector unused to make it a positive integer multiple of the stripe group capacity. is there. In this case, the capacity efficiency is lowered, but the writing performance can be improved.

なお、本実施形態では、論理ドライブのセクタサイズをストライプグループ容量の4倍に設定していたが、論理ドライブのセクタサイズをストライプグループ容量1倍、2倍、3倍、5倍、6倍等の正整数倍に設定しても良い。また、本実施形態では、クラスタサイズを論理ドライブのセクタサイズの1倍に設定したが、クラスタサイズを論理ドライブのセクタサイズの2倍、3倍、4倍等の正整数倍に設定しても良い。   In this embodiment, the sector size of the logical drive is set to 4 times the stripe group capacity. However, the sector size of the logical drive is set to 1 time, 2 times, 3 times, 5 times, 6 times, etc. It may be set to a positive integer multiple of. In this embodiment, the cluster size is set to 1 times the sector size of the logical drive. However, the cluster size may be set to a positive integer multiple such as 2 times, 3 times, or 4 times the sector size of the logical drive. good.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。   Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.

18…RAIDコントローラカード、19A,19B,19C…ハードディスク、301…コントローラ、311…キャッシュメモリ、320…不揮発性メモリ、321…RAID設定データ、322…論理セクタサイズデータ、323…アドレス変換テーブル、401…パリティストライプ数検出モジュール、402…ストライプグループ容量算出モジュール、403…論理セクタサイズ作成モジュール、404…変換テーブル設定モジュール、405…送信モジュール、410…オペレーティングシステム。   18 ... RAID controller card, 19A, 19B, 19C ... hard disk, 301 ... controller, 311 ... cache memory, 320 ... non-volatile memory, 321 ... RAID setting data, 322 ... logical sector size data, 323 ... address conversion table, 401 ... Parity stripe count detection module, 402 ... stripe group capacity calculation module, 403 ... logical sector size creation module, 404 ... conversion table setting module, 405 ... transmission module, 410 ... operating system.

Claims (5)

複数台の記憶装置をストライプグループ単位で管理し、データを前記複数台の記憶装置に分散して書き込み、前記複数台の記憶装置の内の複数の第1の記憶装置の同一のストライプグループに格納されているデータから生成される冗長コードを、前記複数台の記憶装置の内の第2の記憶装置の前記同一のストライプグループに格納する情報処理装置であって、
前記複数台の記憶装置から構成される論理ドライブのセクタサイズを、一つのストライプグループ内に前記冗長コード以外のデータを格納可能なストライプグループ容量の正整数倍に設定する第1設定手段と、
クラスタサイズを前記第1設定手段によって設定された前記セクタサイズの正整数倍に設定する第2設定手段と
を具備する情報処理装置。
Multiple storage devices are managed in units of stripe groups, data is distributed and written to the plurality of storage devices, and stored in the same stripe group of a plurality of first storage devices among the plurality of storage devices A redundant code generated from the data being stored in the same stripe group of the second storage device of the plurality of storage devices,
First setting means for setting a sector size of a logical drive composed of the plurality of storage devices to a positive integer multiple of a stripe group capacity capable of storing data other than the redundant code in one stripe group;
An information processing apparatus comprising: a second setting unit that sets a cluster size to a positive integer multiple of the sector size set by the first setting unit.
ストライプサイズを記憶する記憶手段と、
前記複数の第1の記憶装置の台数を取得する取得手段と、
前記ストライプサイズおよび前記複数の第1の記憶装置の台数に基づいて前記ストライプグループ容量を算出する算出手段とを更に具備し、
前記第1設定手段は、前記算出手段によって算出されたストライプグループ容量に基づいて前記セクタサイズを設定する
請求項1記載の情報処理装置。
Storage means for storing the stripe size;
Obtaining means for obtaining the number of the plurality of first storage devices;
Calculating means for calculating the stripe group capacity based on the stripe size and the number of the plurality of first storage devices;
The information processing apparatus according to claim 1, wherein the first setting unit sets the sector size based on a stripe group capacity calculated by the calculation unit.
前記記憶手段は、前記第2の記憶装置の台数を示す第1データと、前記複数台の記憶装置の台数を示す第2データを記憶し、
前記取得手段は、前記第1データと前記第2データとに基づいて前記複数の記憶装置の台数を算出する
請求項2に記載の情報処理装置。
The storage means stores first data indicating the number of the second storage devices and second data indicating the number of the plurality of storage devices,
The information processing apparatus according to claim 2, wherein the acquisition unit calculates the number of the plurality of storage devices based on the first data and the second data.
複数台の記憶装置をストライプグループ単位で管理し、データを前記複数台の記憶装置に分散して書き込み、前記複数台の記憶装置の内の複数の第1の記憶装置の同一のストライプグループに格納されているデータから生成される冗長コードを、前記複数台の記憶装置の内の第2の記憶装置の前記同一のストライプグループに格納するコントローラカードであって、
前記ホストから前記複数台の記憶装置から構成される論理ドライブのセクタサイズの送信を要求された場合に、一つのストライプグループ内に前記冗長コード以外のデータを格納可能なストライプグループ容量の正整数倍を前記セクタサイズとして前記ホストに送信する送信手段を
を具備するコントローラカード。
Multiple storage devices are managed in units of stripe groups, data is distributed and written to the plurality of storage devices, and stored in the same stripe group of a plurality of first storage devices among the plurality of storage devices A controller card that stores a redundant code generated from the stored data in the same stripe group of a second storage device of the plurality of storage devices,
A positive integer multiple of the stripe group capacity capable of storing data other than the redundant code in one stripe group when the host requests transmission of the sector size of the logical drive composed of the plurality of storage devices. A controller card comprising transmitting means for transmitting the data as the sector size to the host.
複数台の記憶装置をストライプグループ単位で管理し、データを前記複数台の記憶装置に分散して書き込み、前記複数台の記憶装置の内の複数の第1の記憶装置の同一のストライプグループに格納されているデータから生成される冗長コードを、前記複数台の記憶装置の内の第2の記憶装置の前記同一のストライプグループに格納する情報処理装置の制御方法であって、
前記複数台の記憶装置から構成される論理ドライブのセクタサイズを、一つのストライプグループ内に前記冗長コード以外のデータを格納可能なストライプグループ容量の正整数倍に設定し、
クラスタサイズを前記設定されたセクタサイズの正整数倍に設定する
情報処理装置の制御方法。
Multiple storage devices are managed in units of stripe groups, data is distributed and written to the plurality of storage devices, and stored in the same stripe group of a plurality of first storage devices among the plurality of storage devices A method of controlling an information processing apparatus that stores a redundant code generated from data stored in the same stripe group of a second storage device of the plurality of storage devices,
The sector size of the logical drive composed of the plurality of storage devices is set to a positive integer multiple of the stripe group capacity capable of storing data other than the redundant code in one stripe group,
A method for controlling an information processing apparatus, wherein a cluster size is set to a positive integer multiple of the set sector size.
JP2010194363A 2010-08-31 2010-08-31 Information processing unit, controller card and information processing unit control method Pending JP2012053571A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010194363A JP2012053571A (en) 2010-08-31 2010-08-31 Information processing unit, controller card and information processing unit control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010194363A JP2012053571A (en) 2010-08-31 2010-08-31 Information processing unit, controller card and information processing unit control method

Publications (1)

Publication Number Publication Date
JP2012053571A true JP2012053571A (en) 2012-03-15

Family

ID=45906839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010194363A Pending JP2012053571A (en) 2010-08-31 2010-08-31 Information processing unit, controller card and information processing unit control method

Country Status (1)

Country Link
JP (1) JP2012053571A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009080549A (en) * 2007-09-25 2009-04-16 Toshiba Corp Disk array control device and data arrangement method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009080549A (en) * 2007-09-25 2009-04-16 Toshiba Corp Disk array control device and data arrangement method

Similar Documents

Publication Publication Date Title
JP5066199B2 (en) Semiconductor memory device
JP4901968B2 (en) Semiconductor memory device
US8555027B2 (en) Semiconductor memory controlling device
US9304685B2 (en) Storage array system and non-transitory recording medium storing control program
US10528272B2 (en) RAID array systems and operations using mapping information
US8769375B2 (en) Data storage device related method of operation
CN104246707B (en) storage system and storage device
US8930745B2 (en) Storage subsystem and data management method of storage subsystem
JP2013125360A (en) Disk array device, control device and program
JP6011153B2 (en) Storage system, storage control method, and storage control program
US9703695B2 (en) Control device, storage device, and computer-readable recording medium having stored therein control program
US20180307427A1 (en) Storage control apparatus and storage control method
US10162573B2 (en) Storage management system, storage management method, storage medium and information processing system
US20130019122A1 (en) Storage device and alternative storage medium selection method
US8380926B1 (en) Handling sector edges
JP2012053571A (en) Information processing unit, controller card and information processing unit control method
JP6318769B2 (en) Storage control device, control program, and control method
JP2013205853A (en) Flash memory disk device, data storage control method and program in flash memory disk device
JP2017054303A (en) Disk array device, disk array system, control method, and control program
CN102385542B (en) Method and device for RAID0 data backup
JP2009080549A (en) Disk array control device and data arrangement method

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120403