[go: up one dir, main page]

JP4261532B2 - Logical disk management method and virtualization apparatus - Google Patents

Logical disk management method and virtualization apparatus Download PDF

Info

Publication number
JP4261532B2
JP4261532B2 JP2005265261A JP2005265261A JP4261532B2 JP 4261532 B2 JP4261532 B2 JP 4261532B2 JP 2005265261 A JP2005265261 A JP 2005265261A JP 2005265261 A JP2005265261 A JP 2005265261A JP 4261532 B2 JP4261532 B2 JP 4261532B2
Authority
JP
Japan
Prior art keywords
slice
array
information
logical disk
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2005265261A
Other languages
Japanese (ja)
Other versions
JP2007079787A (en
Inventor
享一 笹本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions 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, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2005265261A priority Critical patent/JP4261532B2/en
Publication of JP2007079787A publication Critical patent/JP2007079787A/en
Application granted granted Critical
Publication of JP4261532B2 publication Critical patent/JP4261532B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

本発明は、少なくとも1台のディスクドライブの記憶領域を利用して構成される、ホスト計算機から単一のディスク領域として認識される論理ディスクを管理する論理ディスク管理方法及び仮想化装置に関する。   The present invention relates to a logical disk management method and a virtualization apparatus that manage a logical disk that is recognized as a single disk area from a host computer and that is configured using a storage area of at least one disk drive.

一般にディスクアレイ装置は、複数のディスクドライブ、例えばハードディスクドライブ(HDD)と、これらのHDDと接続されたアレイコントローラとを備えている。アレイコントローラは、一般に知られているRAID(Redundant Arrays of Independent Disks,Redundant Arrays of Inexpensive Disks)の手法により複数のHDDを管理する。つまりアレイコントローラは、ホスト(ホスト計算機)からのデータ読み出し/書き込み要求に対し、当該コントローラに接続された複数のHDDを並列に動かすことにより、データの読み出し/書き込みを分散して実行する。これによりディスクアレイ装置においては、ホストから要求されたデータアクセスの高速化を図ることが可能となる。またディスクアレイ装置においては、ディスクの冗長構成によって信頼性の向上を図ることも可能となる。   Generally, a disk array device includes a plurality of disk drives, for example, hard disk drives (HDD), and an array controller connected to these HDDs. The array controller manages a plurality of HDDs by a commonly known RAID (Redundant Arrays of Independent Disks, Redundant Arrays of Inexpensive Disks) method. In other words, in response to a data read / write request from a host (host computer), the array controller executes data read / write in a distributed manner by moving a plurality of HDDs connected to the controller in parallel. As a result, in the disk array device, it is possible to increase the speed of data access requested from the host. In the disk array device, the reliability can be improved by the redundant configuration of the disks.

従来のディスクアレイ装置では、ホストから認識される論理ディスクの領域の物理的な配置は固定的である。このため、従来のディスクアレイ装置では、論理ディスクのブロックアドレスとそれに対応するアレイの構成との関係は基本的に変化することがない。同様に、論理ディスクのブロックアドレスとそれに対応するHDDのブロックアドレスとの関係も基本的に変化することがない。   In the conventional disk array device, the physical arrangement of logical disk areas recognized by the host is fixed. For this reason, in the conventional disk array device, the relationship between the block address of the logical disk and the array configuration corresponding thereto does not basically change. Similarly, the relationship between the block address of the logical disk and the corresponding block address of the HDD does not basically change.

一方、ディスクアレイ装置では、当該ディスクアレイ装置の運用を開始した結果、論理ディスクへのアクセス負荷が当初の計画と異なる場合がある。また、時間と共にアクセス負荷が変化する場合もある。このような場合、従来のディスクアレイ装置では、論理ディスクを構成するアレイやHDDにおいてボトルネックやホットスポットが発生しても、これを解消することは容易ではない。その理由は、論理ディスクとアレイとの対応や、論理ディスクとHDDとの対応が固定的であるためである。ボトルネックやホットスポットの発生を解消するためには、論理ディスクに格納されているデータを例えばテープにバックアップした上で、論理ディスクを改めて作り直す作業が必要となる。また、作り直された論理ディスクに上記テープからデータをリストアする作業も必要となる。なお、ホットスポットとは、HDDのある領域にアクセス負荷が集中する状態を意味する。   On the other hand, in the disk array device, as a result of starting operation of the disk array device, the access load to the logical disk may differ from the original plan. In addition, the access load may change with time. In such a case, in the conventional disk array device, even if a bottleneck or a hot spot occurs in the array or HDD constituting the logical disk, it is not easy to eliminate it. This is because the correspondence between the logical disk and the array and the correspondence between the logical disk and the HDD are fixed. In order to eliminate the occurrence of bottlenecks and hot spots, it is necessary to back up the data stored in the logical disk to, for example, a tape and then recreate the logical disk. In addition, it is necessary to restore data from the tape to the re-created logical disk. Note that a hot spot means a state in which an access load is concentrated in a certain area of the HDD.

また、最近では複数のホストがディスクアレイ装置を共有する場合も多い。このような場合、ディスクアレイ装置と接続されるホストの数の増加などによりアクセス負荷が変化し、ボトルネックやホットスポットが発生することも考えられる。   Recently, a plurality of hosts often share a disk array device. In such a case, an access load may change due to an increase in the number of hosts connected to the disk array device, and a bottleneck or a hot spot may occur.

しかし、従来のディスクアレイ装置では、論理ディスクの領域の物理的な配置が固定的である。このため、一度運用を開始してしまうと、アクセス負荷の変化へ対応することは容易ではない。   However, in the conventional disk array device, the physical arrangement of logical disk areas is fixed. For this reason, once the operation is started, it is not easy to cope with a change in access load.

そこで、例えば特許文献1は、各HDD(物理ディスク)の入出力(I/O)処理の性能(I/O性能)を表す値を用いることで各物理ディスクのI/O性能に合った最適な論理ディスクの再配置を行う技術(以下、先行技術と称する)を開示している。この先行技術においては、各HDDのビジー率が最適ビジー率に近づけられる。
特開2003−5920(段落0012、0050乃至0065、図6及び図7)
For this reason, for example, Patent Document 1 uses the value indicating the performance (I / O performance) of input / output (I / O) processing of each HDD (physical disk) to optimize the I / O performance of each physical disk. A technique for relocating a logical disk (hereinafter referred to as prior art) is disclosed. In this prior art, the busy rate of each HDD is brought close to the optimum busy rate.
JP 2003-5920 (paragraphs 0012, 0050 to 0065, FIGS. 6 and 7)

上述の先行技術では、論理ディスクの再配置により論理ディスク全体ではアクセス負荷を軽減できる。しかしながら、先行技術では、論理ディスク単位に当該論理ディスクが再配置される。このため、論理ディスクを構成するアレイやHDDにおいてボトルネックやホットスポットが発生している場合に、そのボトルネックやホットスポットの発生を解消することは容易ではない。   In the above-described prior art, the access load on the entire logical disk can be reduced by rearranging the logical disks. However, in the prior art, the logical disk is rearranged in units of logical disks. For this reason, when a bottleneck or hot spot occurs in an array or HDD constituting a logical disk, it is not easy to eliminate the occurrence of the bottleneck or hot spot.

本発明は上記事情を考慮してなされたものでその目的は、アクセス性能の向上が図れる論理ディスク管理方法及び仮想化装置を提供することにある。   The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a logical disk management method and a virtualization apparatus capable of improving access performance.

本発明の1つの観点によれば、少なくとも1台のディスクドライブの記憶領域を利用して構成され、且つホスト計算機から単一のディスクボリュームとして認識される論理ディスクを管理する論理ディスク管理方法が提供される。この方法は、前記少なくとも1台のディスクドライブの記憶領域を1つの物理的なアレイ領域として定義することによって構成される、スライスの集合からなるアレイであって、当該物理的なアレイ領域が一定の容量にて複数の領域に分割され、その分割された領域が前記スライスとして定義されるアレイを構成するステップと、前記アレイに含まれているスライスうちの任意の複数のスライスを組み合わせて論理ディスクを構成するステップと、前記論理ディスクを構成するスライス毎に、当該スライスを対象とするアクセス処理に関する統計情報を取得して記憶手段に格納するステップと、前記スライス毎に取得された統計情報に基づいて、リードアクセスの負荷が一定レベルより高いスライスを検出するステップと、検出されたスライスが配置された前記アレイ内の第1の領域のデータの複製を格納するための第2の領域を前記アレイとは別のアレイに配置するステップと、ホスト計算機から前記論理ディスクの前記第1の領域に含まれているスライスのデータをリードすることが要求された場合、前記アレイ内の前記第1の領域または前記別のアレイ内の前記第2の領域の何れか一方の対応するスライスからデータをリードするステップと、前記ホスト計算機から前記論理ディスクの前記第1の領域に含まれているスライスにデータをライトすることが要求された場合、前記アレイ内の前記第1の領域及び前記別のアレイ内の前記第2の領域のそれぞれ対応するスライスに同一のデータをライトするステップとを具備する。   According to one aspect of the present invention, there is provided a logical disk management method that manages a logical disk that is configured using a storage area of at least one disk drive and that is recognized as a single disk volume by a host computer. Is done. This method is an array composed of a set of slices defined by defining a storage area of the at least one disk drive as one physical array area, and the physical array area is constant. A logical disk is formed by combining a step of forming an array in which the divided area is defined as the slice and a plurality of slices included in the array. On the basis of the step of configuring, the step of acquiring the statistical information relating to the access processing for the slice for each slice constituting the logical disk and storing it in the storage means, and the statistical information acquired for each slice Detecting a slice having a read access load higher than a certain level and detecting the detected slice A second area for storing a copy of the data in the first area in the array in which the first and second disks are arranged in a different array from the array; and from the host computer, the first of the logical disk When it is requested to read the data of the slice included in the area, the data from the corresponding slice of either the first area in the array or the second area in the other array And when the host computer is requested to write data to a slice included in the first area of the logical disk, the first area in the array and the other area Writing the same data to each corresponding slice of the second region in the array.

本発明によれば、論理ディスクの領域の物理的な配置を仮想的に管理し、装置の運用中に論理ディスクの領域の物理的な配置を部分的に柔軟に変更可能とすることにより、アクセス性能の向上を図ることができる。   According to the present invention, the physical arrangement of the logical disk area is virtually managed, and the physical arrangement of the logical disk area can be partially flexibly changed during operation of the apparatus. The performance can be improved.

以下、本発明の一実施形態につき図面を参照して説明する。
図1は本発明の一実施形態に係るディスクアレイ装置を備えた計算機システムの構成を示すブロック図である。この計算機システムは、ディスクアレイ装置10とホスト(ホスト計算機)20とから構成される。ホスト20は、SCSI(small computer system interface)或いはファイバチャネルのようなホストインタフェースHIによってディスクアレイ装置10と接続されている。ホスト20は、ディスクアレイ装置10を外部記憶装置として利用する。
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing a configuration of a computer system provided with a disk array device according to an embodiment of the present invention. This computer system includes a disk array device 10 and a host (host computer) 20. The host 20 is connected to the disk array device 10 by a host interface HI such as a small computer system interface (SCSI) or a fiber channel. The host 20 uses the disk array device 10 as an external storage device.

ディスクアレイ装置10は、少なくとも1つのアレイ(物理アレイ)、例えば図3に示すような4つのアレイ11a(#a),11b(#b),11c(#c)及び11d(#d)を含むアレイの群を有する。但し図1では、アレイの群は作図の都合で省略されている。各アレイは、それぞれ、少なくとも1台のHDD(ハードディスクドライブ)の記憶領域を当該アレイの物理的な領域(アレイ領域)として定義することによって構成される。本実施形態では、各アレイは、複数のHDDの記憶領域を当該アレイの物理的なアレイ領域として定義することによって構成されている。   The disk array device 10 includes at least one array (physical array), for example, four arrays 11a (#a), 11b (#b), 11c (#c), and 11d (#d) as shown in FIG. Has a group of arrays. However, in FIG. 1, the group of arrays is omitted for the sake of drawing. Each array is configured by defining a storage area of at least one HDD (hard disk drive) as a physical area (array area) of the array. In this embodiment, each array is configured by defining a storage area of a plurality of HDDs as a physical array area of the array.

ディスクアレイ装置10はまた、少なくとも1つのアレイコントローラ、例えば2重化されたアレイコントローラ12-1及び12-2を有する。ディスクアレイ装置10は更に、半導体ディスク装置131と、HDD(ハードディスクドライブ)132A(#A),132B(#B),132C(#C)及び132D(#D)を含むHDD群とを有する。   The disk array device 10 also has at least one array controller, for example, duplicated array controllers 12-1 and 12-2. The disk array device 10 further includes a semiconductor disk device 131 and an HDD group including HDDs (hard disk drives) 132A (#A), 132B (#B), 132C (#C), and 132D (#D).

半導体ディスク装置131は、バッテリバックアップ型のRAMディスク装置のような、一般にシリコンディスクドライブと呼ばれるストレージデバイスである。つまり半導体ディスク装置131は、複数のダイナミックRAM(DRAM)のようなメモリ素子を用いて構成されるストレージデバイスである。半導体ディスク装置131は、ホストから当該デバイス131にアクセスするのに、HDDに対するのと同様のアクセス方法(インタフェース)が適用できるように設計されている。半導体ディスク装置131はメモリ素子を用いて構成されることから、一般にHDDと比べて非常に高価格で小容量であるが、極めて高速なアクセスが可能である。   The semiconductor disk device 131 is a storage device generally called a silicon disk drive, such as a battery backup type RAM disk device. That is, the semiconductor disk device 131 is a storage device configured using a plurality of memory elements such as a dynamic RAM (DRAM). The semiconductor disk device 131 is designed so that the same access method (interface) as that for the HDD can be applied to access the device 131 from the host. Since the semiconductor disk device 131 is configured using a memory element, it is generally very expensive and has a small capacity compared to an HDD, but can be accessed at a very high speed.

HDD132A及び132Bは、性能は低いが安価で大容量のHDDであり、アレイを構成するのに用いられる。HDD132C及び132Dは、HDD132A及び132Bと比べて、性能は高いが高価格で小容量のHDDであり、アレイを構成するのに用いられる。HDD132A,132B,132C及び132Dは半導体ディスク装置131と共に、SCSI或いはファイバチャネルのようなストレージインタフェースSIを介して、アレイコントローラ12-1及び12-2と接続されている。アレイコントローラ12-1及び12-2は、ホスト20からのデータ読み出し/書き込み要求に対し、アレイを構成する複数のHDDを並列に動かしてデータの読み出し/書き込みを分散して実行する。アレイコントローラ12-1及び12-2は相互に通信を行うことで常に同一の状態となるように同期化されている。   The HDDs 132A and 132B are low-cost but inexpensive and large-capacity HDDs, and are used to construct an array. The HDDs 132C and 132D are high-performance and low-capacity HDDs that have higher performance than the HDDs 132A and 132B, and are used to construct an array. The HDDs 132A, 132B, 132C, and 132D are connected to the array controllers 12-1 and 12-2 through the storage interface SI such as SCSI or fiber channel together with the semiconductor disk device 131. In response to a data read / write request from the host 20, the array controllers 12-1 and 12-2 operate a plurality of HDDs constituting the array in parallel to distribute and execute data read / write. The array controllers 12-1 and 12-2 are synchronized so as to always be in the same state by communicating with each other.

アレイコントローラ12-1及び12-2は、それぞれ、仮想化ユニット120-1及び120-2を有する。仮想化ユニット120-1及び120-2は、任意のアレイ内の複数の任意のスライスを組み合わせて、ホスト20から認識される少なくとも1つの論理ディスクを構成する。スライスについては後述する。仮想化ユニット120-1は、論理ディスク構成部121とメモリ122とから構成される。論理ディスク構成部121は、アレイ/スライス定義部121aと、論理ディスク定義部121bと、スライス移動部121cと、データリード/ライト部121dと、統計情報取得部121eと、検出部121fとを含む。メモリ122の記憶領域の一部は、マップテーブル122aを格納するマップテーブル領域として用いられる。メモリ122の記憶領域の他の一部は、統計情報取得部121eによって取得される後述するI/O統計情報を格納するための統計情報領域(統計情報記憶手段)122bとして用いられる。メモリ122には例えばRAMが用いられる。なお、図1では省略されているが、仮想化ユニット120-2も、仮想化ユニット120-1と同様の構成を有している。   The array controllers 12-1 and 12-2 have virtualization units 120-1 and 120-2, respectively. The virtualization units 120-1 and 120-2 combine at least one arbitrary slice in an arbitrary array to constitute at least one logical disk recognized by the host 20. The slice will be described later. The virtualization unit 120-1 includes a logical disk configuration unit 121 and a memory 122. The logical disk configuration unit 121 includes an array / slice definition unit 121a, a logical disk definition unit 121b, a slice migration unit 121c, a data read / write unit 121d, a statistical information acquisition unit 121e, and a detection unit 121f. A part of the storage area of the memory 122 is used as a map table area for storing the map table 122a. Another part of the storage area of the memory 122 is used as a statistical information area (statistical information storage means) 122b for storing I / O statistical information, which will be described later, acquired by the statistical information acquisition unit 121e. For example, a RAM is used as the memory 122. Although omitted in FIG. 1, the virtualization unit 120-2 has the same configuration as the virtualization unit 120-1.

論理ディスク構成部121は、アレイコントローラ12-1内のプロセッサ(図示せず)が当該コントローラ12-1にインストールされた特定のソフトウェアプログラムを読み取って実行することにより実現されるものとする。このプログラムは、コンピュータで読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラムが、ネットワークを介してダウンロード(頒布)されても構わない。   The logical disk configuration unit 121 is realized by a processor (not shown) in the array controller 12-1 reading and executing a specific software program installed in the controller 12-1. This program can be stored in advance in a computer-readable storage medium and distributed. Further, this program may be downloaded (distributed) via a network.

アレイ/スライス定義部121aは、アレイとスライスとを定義する。このアレイ/スライス定義部121aによるアレイとスライスの定義について、図2(a)及び(b)を参照して説明する。   The array / slice definition unit 121a defines an array and a slice. The array / slice definition by the array / slice definition unit 121a will be described with reference to FIGS. 2 (a) and 2 (b).

アレイ/スライス定義部121aは、少なくとも1つのグループ、例えば複数のグループを定義する。定義されたグループの各々は、少なくとも1台のHDD、例えば複数のHDDを含む。アレイ/スライス定義部121aは、定義されたグループ毎に、それぞれアレイを定義する。ここでは、各アレイは、RAIDの手法により、当該アレイに対応するグループ内の複数のHDDの記憶領域を自身の物理的な領域(アレイ領域)とするアレイとして定義(管理)される。   The array / slice definition unit 121a defines at least one group, for example, a plurality of groups. Each defined group includes at least one HDD, eg, a plurality of HDDs. The array / slice definition unit 121a defines an array for each defined group. Here, each array is defined (managed) as an array in which storage areas of a plurality of HDDs in a group corresponding to the array are used as their own physical areas (array areas) by a RAID method.

まず、図2(a)には、アレイ11a(#a)が示されている。このアレイ11aは、HDD132A,132B,132C及び132Dを含むHDD群のうちの4台のHDDの集合21aから構成され、RAID1+0レベルで管理されるアレイであるものとする。一方、図2(b)には、アレイ11b(#b)が示されている。このアレイ11bは、上記HDD群のうちの5台のHDDの集合21bから構成され、RAID5レベルで管理されるアレイであるものとする。ここでは、説明を簡略化するために、アレイ11a及び11bを構成する2つのグループに共通のHDDは存在しないものとする。この場合、アレイ11a及び11bの物理的な記憶領域(アレイ領域)の容量は、それぞれ、4台のHDDの総容量及び5台のHDDの総容量に等しい。   First, FIG. 2A shows the array 11a (#a). This array 11a is composed of a set 21a of four HDDs in the HDD group including the HDDs 132A, 132B, 132C, and 132D, and is an array managed at the RAID 1 + 0 level. On the other hand, FIG. 2B shows the array 11b (#b). This array 11b is composed of a set 21b of five HDDs in the HDD group, and is an array managed at the RAID5 level. Here, in order to simplify the explanation, it is assumed that there is no HDD common to the two groups constituting the arrays 11a and 11b. In this case, the capacities of physical storage areas (array areas) of the arrays 11a and 11b are equal to the total capacity of four HDDs and the total capacity of five HDDs, respectively.

アレイ/スライス定義部121aは、アレイ11a及び11bを含む各アレイの記憶領域を、ディスクアレイ装置10内で共通の一定の容量(例えば1GB)で分割する。アレイ/スライス定義部121aは、分割された各々の一定容量の領域をスライスと定義する。つまりアレイ/スライス定義部121aは、各アレイの記憶領域を複数の一定容量のスライスに分割する。これにより、ディスクアレイ装置10内の何れのアレイの何れのスライスも同一容量となる。後述のスライス移動部121cによるスライスの移動のためにはこの点が重要となる。ここでは、各アレイに含まれる各スライスには、当該スライスのID(識別情報)としての番号(スライス番号)が、当該アレイにおけるアドレスの昇順に割り当てられている。つまり、アレイ内の各スライスに割り当てられるスライス番号は、当該スライスのアレイ内の位置(物理位置)をも表す。   The array / slice definition unit 121a divides the storage area of each array including the arrays 11a and 11b with a certain fixed capacity (for example, 1 GB) in the disk array device 10. The array / slice definition unit 121a defines each divided area having a certain capacity as a slice. That is, the array / slice definition unit 121a divides the storage area of each array into a plurality of slices having a certain capacity. Thereby, every slice of any array in the disk array device 10 has the same capacity. This point is important for the movement of the slice by the slice moving unit 121c described later. Here, each slice included in each array is assigned a number (slice number) as an ID (identification information) of the slice in ascending order of addresses in the array. That is, the slice number assigned to each slice in the array also represents the position (physical position) of the slice in the array.

論理ディスク定義部121bは、ホスト20から単一のディスク(ディスクボリューム)として認識される論理ディスクを定義する。この論理ディスク定義部121bによる論理ディスクの定義について、図3を参照して説明する。論理ディスク定義部121bは、少なくとも1つの任意アレイに含まれている複数の任意のスライスを連結する(組み合わせる)。論理ディスク定義部121bは、複数の任意のスライスが連結された(組み合わされた)領域が論理的な記憶領域として管理される論理ディスクを定義する。図3には、4つのアレイ11a,11b,11c及び11dが示されている。この図3の例では、アレイ11a内のスライス#a0と、アレイ11c内のスライス#c0と、アレイ11a内のスライス#a1と、アレイ11d内のスライス#d0とを含むスライス群を組み合わせて(連結して)論理ディスク31-0(#0)が定義される。同様に、アレイ11a内のスライス#a2と、アレイ11b内のスライス#b0と、アレイ11b内のスライス#b1と、アレイ11c内のスライス#c1とを含むスライス群を組み合わせて論理ディスク31-1(#1)が定義される。   The logical disk definition unit 121b defines a logical disk that is recognized by the host 20 as a single disk (disk volume). The definition of the logical disk by the logical disk definition unit 121b will be described with reference to FIG. The logical disk definition unit 121b connects (combines) a plurality of arbitrary slices included in at least one arbitrary array. The logical disk definition unit 121b defines a logical disk in which an area in which a plurality of arbitrary slices are connected (combined) is managed as a logical storage area. In FIG. 3, four arrays 11a, 11b, 11c and 11d are shown. In the example of FIG. 3, a slice group including a slice # a0 in the array 11a, a slice # c0 in the array 11c, a slice # a1 in the array 11a, and a slice # d0 in the array 11d is combined ( A logical disk 31-0 (# 0) is defined by concatenation. Similarly, a logical disk 31-1 is formed by combining slice groups including the slice # a2 in the array 11a, the slice # b0 in the array 11b, the slice # b1 in the array 11b, and the slice # c1 in the array 11c. (# 1) is defined.

このように、論理ディスクの記憶領域は、スライスの単位で物理的に不連続な割り付けとなる。論理ディスクの容量は、1スライスの容量×スライス数となる。論理ディスクは、最終的にホスト20から単一のディスクボリュームとして認識される単位となる。ホスト20からは、この論理ディスクがあたかも1台のHDDのように認識される。論理ディスクに割り付けられた各スライスには、当該論理ディスクにおけるアドレス(論理アドレス)の昇順にスライス番号が割り当てられる。つまり、論理ディスクに割り付けられた各スライスは、当該論理ディスクにおける位置(論理位置)を表すスライス番号と、対応するアレイにおける位置(物理位置)を表すスライス番号との2つのスライス番号で管理される。   As described above, the storage area of the logical disk is physically discontinuously allocated in units of slices. The capacity of the logical disk is 1 slice capacity × slice number. A logical disk is a unit that is finally recognized as a single disk volume from the host 20. From the host 20, this logical disk is recognized as if it were one HDD. Slice numbers are assigned to each slice assigned to a logical disk in ascending order of addresses (logical addresses) in the logical disk. That is, each slice allocated to a logical disk is managed by two slice numbers, a slice number indicating a position (logical position) in the logical disk and a slice number indicating a position (physical position) in the corresponding array. .

マップテーブル122aは、上記論理ディスクとアレイとを関連付けるための情報(マップ情報)を格納する記憶手段である。このマップテーブル122aのデータ構造例を図4に示す。図4の例では、論理ディスク内のより小さなアドレスに割り付けられたスライスから順に、スライスの情報がマップテーブル122aの行方向に格納される。本実施形態において、論理ディスクに含まれる各スライスの情報は、フィールド(項目)41乃至48に格納される情報を含む。フィールド41は、対応するスライスが割り付けられる論理ディスクのID(識別情報)としての論理ディスク番号を格納するのに用いられる。フィールド42は、対応するスライスの論理ディスクにおけるスライス番号を格納するのに用いられる。フィールド43は、対応するスライスが所属するアレイのIDとしてのアレイ番号を格納するのに用いられ、フィールド44は、当該アレイ内における当該スライスのスライス番号を格納するのに用いられる。フィールド45は、対応するスライスのデータが別のスライスにコピー中であるかを示すコピーフラグを格納するのに用いられる。フィールド46は、対応するスライスのコピー先のアレイを示すアレイ番号を格納するのに用いられる。フィールド47は、対応するスライスのデータのコピー先のアレイ内における、コピー先のスライスのスライス番号を格納するのに用いられる。コピー先のスライスのスライス番号を格納するのに用いられる。フィールド48は、対応するスライスにおいて既にコピーが完了しているデータのサイズを示すサイズ情報を格納するのに用いられる。なお、マップテーブル122aには、アレイ内の各スライスの位置と、そのスライスの対応するHDD内における位置とを関係付ける位置情報は格納されていない。その理由は、アレイ内の各スライスの対応するHDD内における位置は、そのスライスのスライス番号(アレイ内の位置を示すスライス番号)とスライスのサイズとから一意に計算にて求まるためである。勿論、上記位置情報を、マップテーブル122aに格納することは可能である。   The map table 122a is storage means for storing information (map information) for associating the logical disk with the array. An example of the data structure of the map table 122a is shown in FIG. In the example of FIG. 4, slice information is stored in the row direction of the map table 122a in order from the slice assigned to the smaller address in the logical disk. In the present embodiment, the information of each slice included in the logical disk includes information stored in the fields (items) 41 to 48. The field 41 is used to store a logical disk number as an ID (identification information) of a logical disk to which the corresponding slice is allocated. The field 42 is used to store the slice number in the logical disk of the corresponding slice. The field 43 is used to store the array number as the ID of the array to which the corresponding slice belongs, and the field 44 is used to store the slice number of the slice in the array. The field 45 is used to store a copy flag indicating whether the data of the corresponding slice is being copied to another slice. The field 46 is used to store an array number indicating a copy destination array of the corresponding slice. The field 47 is used to store the slice number of the copy destination slice in the copy destination array of the data of the corresponding slice. Used to store the slice number of the destination slice. The field 48 is used to store size information indicating the size of data that has already been copied in the corresponding slice. The map table 122a does not store position information relating the position of each slice in the array and the position of the slice in the corresponding HDD. The reason is that the position of each slice in the array in the corresponding HDD is uniquely calculated from the slice number of the slice (slice number indicating the position in the array) and the size of the slice. Of course, the position information can be stored in the map table 122a.

スライス移動部121cは、論理ディスク内の任意のスライスのデータを移動する。この移動は次のように行われる。スライス移動部121cは、任意の論理ディスク内の任意のスライス(第1のスライス)のデータを、当該論理ディスクにエントリされていない(割り付けられていない)別のスライス(第2のスライス)にコピーする。次にスライス移動部121cは、双方のスライスを入れ替える。即ちスライス移動部121cは、前者のスライス(第1のスライス)を上記論理ディスクにエントリされていない状態(未使用の状態)に切り替える。またスライス移動部121cは、後者のスライス(第2のスライス)を上記論理ディスクにエントリされた(割り付けられた)状態に切り替える。   The slice moving unit 121c moves data of an arbitrary slice in the logical disk. This movement is performed as follows. The slice moving unit 121c copies the data of an arbitrary slice (first slice) in an arbitrary logical disk to another slice (second slice) that has not been entered (assigned) in the logical disk. To do. Next, the slice moving unit 121c swaps both slices. That is, the slice moving unit 121c switches the former slice (first slice) to a state where it is not entered in the logical disk (an unused state). Further, the slice moving unit 121c switches the latter slice (second slice) to the state entered (allocated) in the logical disk.

このように本実施形態においては、論理ディスクにエントリされる(割り付けられる)スライスを入れ替えるだけで、簡単に論理ディスクを再構成できる。このため、運用開始後も、論理ディスクを停止することなく(つまりオンラインで)、アクセス負荷の変化に容易に対応でき、アクセス性能を向上できる。   As described above, in this embodiment, the logical disk can be easily reconfigured by simply replacing the slices entered (allocated) in the logical disk. For this reason, even after the operation is started, it is possible to easily cope with a change in the access load without stopping the logical disk (that is, online) and to improve the access performance.

このスライス移動部121cによるスライス移動の詳細について、図4のマップテーブル122aを参照して説明する。この例では、論理ディスク番号0の論理ディスクに含まれているスライス番号3のスライスが移動の対象となっているものとする。このスライス番号3のスライスは、アレイ番号2のアレイに含まれているスライス番号10のスライスに対応する。そして、論理ディスク番号0の論理ディスクに含まれているスライス番号3のスライスのデータが、アレイ番号2のアレイに含まれているスライス番号10のスライスから、アレイ番号1のアレイに含まれているスライス番号5のスライスへコピーされるものとする。このスライス番号5のスライスのどの位置までデータのコピーが完了しているかは、フィールド48に格納されているサイズ情報によって示される。   Details of the slice movement by the slice movement unit 121c will be described with reference to the map table 122a of FIG. In this example, it is assumed that the slice with slice number 3 included in the logical disk with logical disk number 0 is the target of movement. The slice with slice number 3 corresponds to the slice with slice number 10 included in the array with array number 2. The data of the slice with the slice number 3 included in the logical disk with the logical disk number 0 is included in the array with the array number 1 from the slice with the slice number 10 included in the array with the array number 2. It is assumed that the data is copied to the slice with slice number 5. The position at which the data copy is completed in the slice of slice number 5 is indicated by the size information stored in the field 48.

スライス移動部121cは、スライス番号3のスライスに格納されている全てのデータのコピーが完了すると、コピー元とコピー先のスライスを入れ替える。即ちスライス移動部121cは、論理ディスク番号0の論理ディスクに含まれているスライス番号3のスライスを、アレイ番号2のアレイに含まれているスライス番号10のスライスから、アレイ番号1のアレイに含まれているスライス番号5のスライスに変更する。これにより、論理ディスク番号0の論理ディスクに含まれているスライス番号3のスライスの物理的な割り付けが、アレイ番号2のアレイに含まれているスライス番号10のスライスから、アレイ番号1のアレイに含まれているスライス番号5のスライスへ移動(変更)されたこととなる。また、コピー完了時には、コピーフラグがクリア(“0”クリア)されると共に、コピー先のアレイを示すアレイ番号及びコピー先のアレイ内のコピー先スライスを示すスライス番号もクリア(“0”クリア)される。   When the copying of all data stored in the slice with slice number 3 is completed, the slice moving unit 121c switches the copy source and copy destination slices. That is, the slice moving unit 121c includes the slice with the slice number 3 included in the logical disk with the logical disk number 0 from the slice with the slice number 10 included in the array with the array number 2 in the array with the array number 1. Change to the slice with slice number 5. As a result, the physical allocation of the slice of slice number 3 included in the logical disk of logical disk number 0 is transferred from the slice of slice number 10 included in the array of array number 2 to the array of array number 1. It has been moved (changed) to the slice with the included slice number 5. When the copy is completed, the copy flag is cleared ("0" is cleared), and the array number indicating the copy destination array and the slice number indicating the copy destination slice in the copy destination array are also cleared ("0" clear). Is done.

次に、上述のスライス移動部121cによるスライス移動の開始処理及び完了処理の手順について、それぞれ図5のフローチャートを参照して説明する。
まず、スライス移動の開始処理について説明する。スライス移動部121cは、スライス移動の対象となる論理ディスクへのアレイコントローラ12-1によるI/O処理(データ読み出し/書き込み)を一時停止させる(ステップS11)。ここで、移動(コピー)対象となるスライスに対応するマップテーブル122aの行を、マップテーブル122aの行Xと称する。スライス移動部121cはステップS11を実行するとステップS12の処理に進む。このステップS12において、スライス移動部121cは、マップテーブル122aの行Xのフィールド46及び47に、移動(コピー)先のスライスが属するアレイの番号及び当該移動(コピー)先のスライスの番号をそれぞれセットする。
Next, the procedure of the slice movement start process and the completion process by the slice moving unit 121c will be described with reference to the flowchart of FIG.
First, slice movement start processing will be described. The slice moving unit 121c temporarily stops the I / O processing (data reading / writing) by the array controller 12-1 to the logical disk that is the target of slice movement (step S11). Here, a row of the map table 122a corresponding to a slice to be moved (copied) is referred to as a row X of the map table 122a. When executing the step S11, the slice moving unit 121c proceeds to the process of step S12. In step S12, the slice moving unit 121c sets the number of the array to which the slice at the movement (copy) destination belongs and the number of the slice at the movement (copy) destination in the fields 46 and 47 of the row X of the map table 122a, respectively. To do.

次にスライス移動部121cは、マップテーブル122aの行Xのフィールド48に、コピー完了サイズとしてゼロをセットする(ステップS13)。このステップS13においてスライス移動部121cは、マップテーブル122aの行Xのフィールド45に、コピーフラグをセットする。次にスライス移動部121cは、その時点におけるマップテーブル122aの内容、つまりステップS12及びS13で更新された行Xの情報を含むマップ情報をセーブする(ステップS14)。ステップS14において、このマップ情報は、ディスクアレイ装置10内の各HDDに確保されている後述する管理情報領域にそれぞれセーブされる。そしてスライス移動部121cは、スライスコピー(移動)の対象となっていた論理ディスクへのアレイコントローラ12-1によるI/O処理を再開させる(ステップS15)。   Next, the slice moving unit 121c sets zero as the copy completion size in the field 48 of the row X of the map table 122a (step S13). In step S13, the slice moving unit 121c sets a copy flag in the field 45 in the row X of the map table 122a. Next, the slice moving unit 121c saves the map information including the contents of the map table 122a at that time, that is, the information of the row X updated in steps S12 and S13 (step S14). In step S14, the map information is saved in a management information area, which will be described later, secured in each HDD in the disk array device 10. Then, the slice mover 121c resumes the I / O processing by the array controller 12-1 for the logical disk that has been the target of slice copy (move) (step S15).

次に、スライス移動(コピー)の完了処理について説明する。スライス移動部121cは、スライスコピー(移動)の完了時には、当該スライスコピーの対象となっていた論理ディスクへの、アレイコントローラ12-1によるI/O処理を一時停止させる(ステップS21)。次にスライス移動部121cは、マップテーブル122aの行Xのフィールド43及び44の内容を、コピー先のスライスが属するアレイのアレイ番号及び当該コピー先のスライスのスライス番号に、それぞれ変更する(ステップS22)。   Next, slice movement (copy) completion processing will be described. When the slice copy (move) is completed, the slice mover 121c temporarily stops the I / O processing by the array controller 12-1 for the logical disk that is the target of the slice copy (step S21). Next, the slice moving unit 121c changes the contents of the fields 43 and 44 in the row X of the map table 122a to the array number of the array to which the copy destination slice belongs and the slice number of the copy destination slice, respectively (step S22). ).

次にスライス移動部121cは、マップテーブル122aの行Xのフィールド46及び47にセットされていた、コピー先のスライスが属するアレイのアレイ番号及び当該コピー先のスライスのスライス番号をそれぞれクリアする(ステップS23)。このステップS23においてスライス移動部121cは、マップテーブル122aの行Xのフィールド49にセットされていたコピーフラグもクリアする。次にスライス移動部121cは、その時点におけるマップテーブル122aの内容、つまりステップS22及びS23で更新された行Xの情報を含むマップ情報をセーブする(ステップS24)。ステップS24において、このマップ情報は、ディスクアレイ装置10内の各HDDに確保されている管理情報領域にそれぞれセーブされる。そしてスライス移動部121cは、スライスコピーの対象となっていた論理ディスクへのアレイコントローラ12-1によるI/O処理を再開させる(ステップS25)。   Next, the slice moving unit 121c clears the array number of the array to which the copy-destination slice belongs and the slice number of the copy-destination slice set in the fields 46 and 47 of the row X of the map table 122a, respectively (Step S1). S23). In step S23, the slice moving unit 121c also clears the copy flag set in the field 49 of the row X of the map table 122a. Next, the slice moving unit 121c saves the map information including the contents of the map table 122a at that time, that is, the information of the row X updated in steps S22 and S23 (step S24). In step S24, the map information is saved in the management information area secured in each HDD in the disk array device 10. Then, the slice moving unit 121c restarts the I / O processing by the array controller 12-1 for the logical disk that is the target of slice copy (step S25).

本実施形態では、上述したスライスのコピー(移動)は、当該スライスが割り当てられる論理ディスクの稼動中にオンラインで行うことができる。そのためには、ホスト20からディスクアレイ装置10に送られるデータ書き込み要求に従うデータライト処理が、図6のフローチャートに示す手順でデータリード/ライト部121dによって実行される必要がある。以下、スライスのコピー中に、ホスト20からディスクアレイ装置10に対して当該スライスに対するデータ書き込み要求が送られた場合におけるデータライト処理について、図6を参照して説明する。ここでは、ライト対象となる論理ディスク内のスライスに対応するマップテーブル122aの行を、マップテーブル122aの行Yと称する。   In this embodiment, the above-described slice copy (move) can be performed online while the logical disk to which the slice is assigned is operating. For this purpose, data write processing in accordance with the data write request sent from the host 20 to the disk array device 10 needs to be executed by the data read / write unit 121d according to the procedure shown in the flowchart of FIG. Hereinafter, data write processing when a data write request for the slice is sent from the host 20 to the disk array device 10 during copying of the slice will be described with reference to FIG. Here, the row of the map table 122a corresponding to the slice in the logical disk to be written is referred to as the row Y of the map table 122a.

まずデータリード/ライト部121dは、マップテーブル122aの行Yのフィールド45にコピーフラグがセットされている(立っている)かを判定する(ステップS31)。この例では、コピーフラグがセットされている。このように、コピーフラグがセットされているならば、つまりライト対象となるスライスがコピー元としてコピー中であるならば、データリード/ライト部121dは、当該スライスのライトすべき領域のデータのコピーは完了しているかを判定する(ステップS32)。このステップS32の判定は、マップテーブル122aの行Yのフィールド48に設定されているサイズ情報(コピー完了サイズ)に基づいて行われる。   First, the data read / write unit 121d determines whether a copy flag is set (standing) in the field 45 of the row Y of the map table 122a (step S31). In this example, the copy flag is set. In this way, if the copy flag is set, that is, if the slice to be written is being copied as a copy source, the data read / write unit 121d copies the data in the area to be written in the slice. It is determined whether or not is completed (step S32). The determination in step S32 is made based on the size information (copy completion size) set in the field 48 of row Y of the map table 122a.

まず、ライトすべき領域のデータのコピーが完了しているものとする(ステップS32)。この場合、データリード/ライト部121dは、コピー(移動)元のスライス(ライト対象となるスライス)及びコピー(移動)先のスライスの両スライスの対応する領域にデータをライトする(ステップS33)。スライスへのコピーが、途中で何らかの要因により中止されることを考慮すると、コピーが完了した領域については、上述のように、コピー先だけでなくコピー元(オリジナル)のスライスにもライトする2重ライトを行うと良い。   First, it is assumed that the data copy of the area to be written has been completed (step S32). In this case, the data read / write unit 121d writes the data to the corresponding areas of both the copy (move) source slice (write target slice) and the copy (move) destination slice (step S33). Considering that copying to a slice is interrupted for some reason during the process, for the area where copying has been completed, as described above, not only the copy destination but also the copy source (original) slice is written as a double. It is good to do the light.

次に、ライト対象となるスライスがコピー中でないか(ステップS31)、或いはライト対象となるスライスがコピー中であってもライトすべき領域のデータのコピーは完了していないものとする(ステップS32)。この場合、データリード/ライト部121dは、ライト対象となるスライス(コピー元のスライス)のライトすべき領域のみにデータをライトする(ステップS34)。   Next, it is assumed that the slice to be written is not being copied (step S31), or even if the slice to be written is being copied, copying of data in the area to be written has not been completed (step S32). ). In this case, the data read / write unit 121d writes data only to the area to be written in the slice to be written (copy source slice) (step S34).

次に、マップテーブル122aの保存について説明する。マップテーブル122aは、論理ディスクと当該論理ディスクを構成するスライスの物理的な割り付けとを関連付ける重要なテーブルである。したがって、マップテーブル122aに格納されている情報(マップ情報)の消失は、データの消失につながる。このためマップテーブル122aの情報を失うことは、万一アレイコントローラ12-1及び12-2が共に故障したとしても、或いは停電が発生したとしても許されない。それ故、本実施形態では、アレイコントローラ、或いはHDDの故障・交換に対し十分な冗長性を有し、容易に消失することのない保存方法が適用される。更に本実施形態では、図5に示したフローチャートにおいても、マップテーブル122aの情報が失われるのを防止する手順が採用されている。即ち本実施形態では、ホスト20から要求されたI/O処理は、スライスの移動に伴って更新されたマップテーブル122aの情報(マップ情報)のセーブが完了した後に再開される手順が採用されている。   Next, storage of the map table 122a will be described. The map table 122a is an important table that associates a logical disk with physical allocation of slices that constitute the logical disk. Therefore, the loss of information (map information) stored in the map table 122a leads to the loss of data. For this reason, losing information in the map table 122a is not allowed even if both the array controllers 12-1 and 12-2 fail or a power failure occurs. Therefore, in the present embodiment, a storage method that has sufficient redundancy for failure / replacement of the array controller or HDD and that does not easily disappear is applied. Furthermore, in the present embodiment, the procedure for preventing the information in the map table 122a from being lost is also adopted in the flowchart shown in FIG. In other words, in this embodiment, the I / O processing requested from the host 20 employs a procedure that is resumed after the saving of the information (map information) in the map table 122a updated with the movement of the slice is completed. Yes.

上述したように、ディスクアレイ装置10のアレイコントローラ12-1及び12-2には、HDD132A〜132Dを含むHDD群70-nが接続されている。しかし以下では、説明の便宜上、アレイコントローラ12-1及び12-2には、HDDとして、HDD132A〜132Dのみが接続されているものとする。本実施形態では、以下に述べるように、これらのHDD132A〜132Dを利用して、マップテーブル122aの情報が保存される。   As described above, the HDD group 70-n including the HDDs 132A to 132D is connected to the array controllers 12-1 and 12-2 of the disk array device 10. However, hereinafter, for convenience of explanation, it is assumed that only the HDDs 132A to 132D are connected to the array controllers 12-1 and 12-2 as HDDs. In the present embodiment, as described below, the information of the map table 122a is stored using these HDDs 132A to 132D.

まず、HDD132A〜132Dの記憶領域の一部が管理情報領域71としてそれぞれ確保される。管理情報領域71は、アレイコントローラ12-1及び12-2によるディスクアレイ管理のための情報(管理情報)を保存するのに用いられる特別の領域である。管理情報領域71は、スライスとしての使用から除外される。つまり管理情報領域71は、ユーザがデータを読み出し/書き込みできる領域(ユーザボリューム)としては使用できない。   First, a part of the storage area of the HDDs 132 </ b> A to 132 </ b> D is secured as the management information area 71. The management information area 71 is a special area used for storing information (management information) for disk array management by the array controllers 12-1 and 12-2. The management information area 71 is excluded from use as a slice. That is, the management information area 71 cannot be used as an area (user volume) from which the user can read / write data.

図5中のステップS14及びS24では、更新されたマップテーブル122aの情報(マップ情報)が、図7において矢印72で示されるように、HDD132A〜132Dの各管理情報領域71に多重に保存される。これにより、マップ情報が多重化される。また、マップ情報をマップテーブル122aとしてメモリ122のマップテーブル領域にロードする際には、マップ情報の読み出しが、図7において矢印73で示されるように、HDD132A〜132D内の全て管理情報領域71を対象に行われる。ここでは、読み出された4個のマップ情報が比較され、例えば多数決により、正しいマップ情報が決定される。この決定された正しいマップ情報がマップテーブル122aとしてメモリ122のマップテーブル領域にロードされる。こうすることで、HDD故障やアレイコントローラ故障に耐えることができる。   In steps S14 and S24 in FIG. 5, the updated information (map information) in the map table 122a is stored in multiple in the management information areas 71 of the HDDs 132A to 132D, as indicated by arrows 72 in FIG. . Thereby, map information is multiplexed. Further, when the map information is loaded into the map table area of the memory 122 as the map table 122a, the map information is read out from the entire management information area 71 in the HDDs 132A to 132D as indicated by the arrow 73 in FIG. Done to the subject. Here, the read four pieces of map information are compared, and correct map information is determined by, for example, majority vote. The determined correct map information is loaded into the map table area of the memory 122 as the map table 122a. In this way, it is possible to withstand HDD failures and array controller failures.

図1中の統計情報採取部121eは、スライス毎に、当該スライスに対するI/O処理(アクセス処理)に関する統計的な情報(以下、I/O統計情報と称する)を採取する。この統計情報採取部121eによるスライス毎のI/O統計情報の採取は定期的に行われるものとする。採取されたスライス毎のI/O統計情報は、アレイコントローラ12-1内のメモリ122の統計情報領域122bに格納される。このI/O統計情報は、例えば単位時間当たりのライト回数、リード回数、転送サイズまたはI/O処理時間である。一般的には、この種のI/O統計情報は、前記特許文献1にも記載されているように、論理ディスクやHDDの単位で採取される。しかし本実施形態では、スライスの移動によってアレイやHDDへのアクセス負荷を調整するために、その負荷調整の判断に、スライス単位のI/O統計情報が用いられることに注意されたい。当然、スライス毎の統計情報の示す値を利用する(例えば加算する)ことにより、論理ディスクやアレイレベルでのI/O処理の統計値も算出できる。   The statistical information collection unit 121e in FIG. 1 collects statistical information (hereinafter referred to as I / O statistical information) regarding I / O processing (access processing) for the slice for each slice. It is assumed that collection of I / O statistical information for each slice by the statistical information collection unit 121e is periodically performed. The collected I / O statistical information for each slice is stored in the statistical information area 122b of the memory 122 in the array controller 12-1. This I / O statistical information is, for example, the number of writes per unit time, the number of reads, the transfer size, or the I / O processing time. In general, this type of I / O statistical information is collected in units of logical disks and HDDs as described in Patent Document 1. However, it should be noted that in this embodiment, I / O statistical information in units of slices is used to determine the load adjustment in order to adjust the access load to the array and HDD by moving the slice. Of course, by using (for example, adding) the value indicated by the statistical information for each slice, the statistical value of I / O processing at the logical disk or array level can also be calculated.

本実施形態では、上述のスライス毎に取得されたI/O統計情報が利用される。検出部121fは、スライス毎のI/O統計情報を例えば定期的にチェックすることにより、当該I/O統計情報の示す統計値が一定値(しきい値)を超えたスライスを検出する。スライス移動部121cは、I/O統計情報の示す統計値がしきい値を超えたスライスを対象に、予め定義されたポリシーに従って自動的にスライスの移動を行う。これにより、例えば、あるアレイに対するアクセス負荷が当該アレイの能力の一定割合(N%)を超えた場合に、スライス移動部121cが、一定数のスライスを最も負荷の低いアレイの同数のスライスと自動的に交代することもできる。この他に、一定周期でスライスの割り付けを見直し、アクセス負荷の高いスライスにはRAID1+0レベルを適用しているアレイのスライスを使用し、アクセス負荷の低いスライスにはRAID5レベルを適用しているアレイのスライスを使用するよう、スライスを交代することも可能である。   In the present embodiment, I / O statistical information acquired for each slice described above is used. The detection unit 121f, for example, periodically checks the I / O statistical information for each slice to detect a slice whose statistical value indicated by the I / O statistical information exceeds a certain value (threshold value). The slice moving unit 121c automatically moves a slice according to a predefined policy for a slice whose statistical value indicated by the I / O statistical information exceeds a threshold value. Thereby, for example, when the access load on an array exceeds a certain ratio (N%) of the capacity of the array, the slice moving unit 121c automatically sets a certain number of slices as the same number of slices in the array with the lowest load. Can also be changed. In addition to this, the allocation of slices is reviewed at regular intervals, and slices of arrays to which the RAID 1 + 0 level is applied are used for slices with a high access load, and RAID 5 levels are applied to slices with a low access load. It is also possible to alternate slices to use slices.

次に、統計情報採取部121eによって定期的に採取されるI/O統計情報を利用してスライスの移動を行うことで、論理ディスクのリードアクセス性能(リード性能)の低下を解消する方法について、図8を参照して説明する。   Next, with respect to a method for eliminating a decrease in read access performance (read performance) of a logical disk by moving slices using I / O statistical information periodically collected by the statistical information collection unit 121e, This will be described with reference to FIG.

図8には、複数のスライスから構成される論理ディスク141が示されている。この論理ディスク141は、領域141a(#m)及び141b(#n)を含む。論理ディスク141の領域141a(#m)及び141b(#n)は、それぞれアレイ142-0(#0)の領域142a(#m)及び142b(#n)を構成する物理的に連続する複数のスライスを組み合わせて構成されているものとする。   FIG. 8 shows a logical disk 141 composed of a plurality of slices. The logical disk 141 includes areas 141a (#m) and 141b (#n). The areas 141a (#m) and 141b (#n) of the logical disk 141 are a plurality of physically continuous areas constituting the areas 142a (#m) and 142b (#n) of the array 142-0 (# 0), respectively. Assume that slices are combined.

今、ホスト20から、論理ディスク141の領域141a(#m)または141b(#n)に含まれているスライスへのアクセスが要求されたものとする。この場合、物理的には、アレイ142-0(#0)の領域142a(#m)または142b(#n)の対応するスライスがアクセスされる。   Assume that the host 20 requests access to a slice included in the area 141a (#m) or 141b (#n) of the logical disk 141. In this case, physically, the corresponding slice of the area 142a (#m) or 142b (#n) of the array 142-0 (# 0) is accessed.

論理ディスク141の領域141b(#n)を構成する複数のスライスの各々の単位時間当たりのリード回数は、予め定められたしきい値を超えているものとする。一方、論理ディスク141の領域141a(#m)を構成する複数のスライスの各々の単位時間当たりのリード回数は、上記しきい値を超えていないものとする。つまり論理ディスク141の領域141b(#n)のリードアクセスの負荷(リード負荷)は高く、論理ディスク141の領域141a(#m)のリード負荷は低いものとする。この場合、論理ディスク141へのリードアクセスに関し、当該論理ディスク141の領域141b(#n)に対応するアレイ142-0(#0)の領域142b(#n)がボトルネックとなる。この結果、論理ディスク141のリードアクセス性能が低下する。   It is assumed that the number of reads per unit time of each of a plurality of slices constituting the area 141b (#n) of the logical disk 141 exceeds a predetermined threshold value. On the other hand, it is assumed that the number of reads per unit time of each of a plurality of slices constituting the area 141a (#m) of the logical disk 141 does not exceed the threshold value. In other words, the read access load (read load) in the area 141b (#n) of the logical disk 141 is high, and the read load in the area 141a (#m) of the logical disk 141 is low. In this case, regarding read access to the logical disk 141, the area 142b (#n) of the array 142-0 (# 0) corresponding to the area 141b (#n) of the logical disk 141 becomes a bottleneck. As a result, the read access performance of the logical disk 141 is degraded.

検出部121fは、統計情報取得部121eによって取得されて統計情報領域122bに格納されているスライス毎のI/O統計情報の示す単位時間当たりのリード回数に基づき、論理ディスク141においてリード負荷の高いスライスが配置された領域をリード負荷の高い領域として検出することができる。一般に、負荷の高い領域では複数のスライスが連続する。この傾向は、スライスの容量が小さいほど高くなる。そこで以下の説明では、負荷の高い領域は、複数の連続するスライスから構成されているものとするが、これに限るものではない。ここでは検出部121fは、論理ディスク141の領域141b(#n)をリード負荷の高い領域として検出する。   The detection unit 121f has a high read load on the logical disk 141 based on the number of reads per unit time indicated by the I / O statistical information for each slice acquired by the statistical information acquisition unit 121e and stored in the statistical information area 122b. An area where slices are arranged can be detected as an area with a high read load. In general, a plurality of slices are continuous in a heavily loaded region. This tendency becomes higher as the capacity of the slice is smaller. Therefore, in the following description, it is assumed that the high load area is composed of a plurality of consecutive slices, but the present invention is not limited to this. Here, the detection unit 121f detects the area 141b (#n) of the logical disk 141 as a high read load area.

するとアレイ/スライス定義部121aは、図8に示す新たなアレイ142-1(#1)を定義する。この定義に従い、スライス移動部121cは、アレイ142-1(#1)に対し、図8において矢印144で示すように、アレイ142-0(#0)の領域142b(#n)の複製(ミラー)となる領域143b(#n)を割り付ける。このアレイ142-1の領域143b(#n)に含まれるスライスは、アレイ142-0(#0)の領域142b(#n)に含まれているスライスの複製となる。アレイ142-0(#0)の領域142b(#n)は、前記したように論理ディスク141の領域141b(#n)に対応する。   Then, the array / slice definition unit 121a defines a new array 142-1 (# 1) shown in FIG. In accordance with this definition, the slice moving unit 121c copies (mirrors) the area 142b (#n) of the array 142-0 (# 0) to the array 142-1 (# 1) as indicated by the arrow 144 in FIG. ) Area 143b (#n) to be assigned. The slice included in the area 143b (#n) of the array 142-1 is a duplicate of the slice included in the area 142b (#n) of the array 142-0 (# 0). The area 142b (#n) of the array 142-0 (# 0) corresponds to the area 141b (#n) of the logical disk 141 as described above.

このような状態で、ホスト20からディスクアレイ装置10に対して、論理ディスク141の領域141b(#n)に含まれているスライスへのデータライトが要求されたものとする。この場合、データリード/ライト部121dは、図8において矢印145で示すように、アレイ142-0(#0)の領域142b(#n)及びアレイ142-1(#1)の領域143b(#n)に同一のデータを書き込む。即ちデータリード/ライト部121dは、アレイ142-0(#0)の領域142b(#n)に含まれている対応するスライスにデータを書き込む。同時にデータリード/ライト部121dは、アレイ142-1(#1)の領域143b(#n)に含まれている対応するスライスにも同一データの書き込み(ミラー書き込み)を行う。   In this state, it is assumed that the host 20 requests the disk array device 10 to write data to the slice included in the area 141b (#n) of the logical disk 141. In this case, as shown by an arrow 145 in FIG. 8, the data read / write unit 121d performs a region 142b (#n) of the array 142-0 (# 0) and a region 143b (# 1) of the array 142-1 (# 1). Write the same data to n). That is, the data read / write unit 121d writes data to the corresponding slice included in the area 142b (#n) of the array 142-0 (# 0). At the same time, the data read / write unit 121d writes the same data (mirror writing) to the corresponding slice included in the area 143b (#n) of the array 142-1 (# 1).

一方、ホスト20から論理ディスク141の領域141b(#n)に含まれているスライスからのデータリードが要求された場合、データリード/ライト部121dは、次のようにデータをリードする。即ちデータリード/ライト部121dは、図8において矢印146-0または146-1で示されるように、アレイ142-0(#0)の領域142b(#n)に含まれている対応するスライス及びアレイ142-1(#1)の領域143b(#n)に含まれている対応するスライスの何れか一方からデータをリードする。ここではデータリード/ライト部121dは、リードアクセスが、アレイ142-0(#0)の領域142b(#n)及びアレイ142-1(#1)の領域143b(#n)に分散されるように、当該領域142b(#n)または領域143b(#n)からデータをリードする。例えばデータリード/ライト部121dは、論理ディスク141の領域141b(#n)からのデータリードがホスト20から要求される毎に、アレイ142-0(#0)の領域142b(#n)及びアレイ142-1(#1)の領域143b(#n)から交互にデータをリードする。   On the other hand, when the host 20 requests data read from a slice included in the area 141b (#n) of the logical disk 141, the data read / write unit 121d reads data as follows. That is, the data read / write unit 121d, as shown by the arrow 146-0 or 146-1 in FIG. 8, corresponds to the corresponding slice and the slice included in the area 142b (#n) of the array 142-0 (# 0). Data is read from any one of the corresponding slices included in the region 143b (#n) of the array 142-1 (# 1). Here, the data read / write unit 121d is configured such that the read access is distributed to the area 142b (#n) of the array 142-0 (# 0) and the area 143b (#n) of the array 142-1 (# 1). The data is read from the area 142b (#n) or the area 143b (#n). For example, the data read / write unit 121d receives the area 142b (#n) of the array 142-0 (# 0) and the array every time the host 20 requests data read from the area 141b (#n) of the logical disk 141. Data is alternately read from the area 143b (#n) of the 142-1 (# 1).

このように、本実施形態では、アレイ142-0(#0)内でリード負荷の高いスライスを含む領域142b(#n)の複製となる領域143b(#n)が、アレイ142-0(#0)とは別のアレイ142-1(#1)に割り付けられる。これにより、領域142b(#n)へのリードアクセスを領域143b(#n)に分散することができる。このリードアクセスの分散により、アレイ142-0(#0)における領域142b(#n)のリードアクセスのボトルネックが解消され、論理ディスク141における領域141b(#n)のリード性能が向上する。   As described above, in this embodiment, the region 143b (#n) that is a duplicate of the region 142b (#n) including the slice with a high read load in the array 142-0 (# 0) is the array 142-0 (# 0) is assigned to another array 142-1 (# 1). Thereby, read access to the area 142b (#n) can be distributed to the area 143b (#n). This distribution of read access eliminates the bottleneck of read access in the area 142b (#n) in the array 142-0 (# 0) and improves the read performance of the area 141b (#n) in the logical disk 141.

次に、論理ディスク141の領域141b(#n)に含まれるスライスへのリードアクセスの頻度が減少し、当該領域141b(#n)のリード負荷が低くなったことが、検出部121fによる定期的な検査によって検出されたものとする。この場合、スライス移動部121cは、アレイ142-0(#0)における領域(複製領域)142b(#n)を解放する。即ちスライス移動部121cは、論理ディスク141の領域141b(#n)に対応するアレイにおける領域の配置を元の状態に戻す。これにより、物理ディスクの限られた容量を有効に利用して、論理ディスクのリードアクセス性能の改善を図ることができる。   Next, the frequency of read accesses to the slices included in the area 141b (#n) of the logical disk 141 has decreased, and the read load on the area 141b (#n) has decreased. It is assumed that it was detected by a proper inspection. In this case, the slice moving unit 121c releases the area (replication area) 142b (#n) in the array 142-0 (# 0). That is, the slice moving unit 121c restores the area arrangement in the array corresponding to the area 141b (#n) of the logical disk 141 to the original state. Thereby, it is possible to improve the read access performance of the logical disk by effectively using the limited capacity of the physical disk.

このように本実施形態においては、ディスクアレイ装置10を運用して行く中で、徐々に変化する論理ディスク141へのアクセス特性に追従し、常に最良の性能を発揮するようデータの物理的な配置を定期的に見直すことにより、常に最良のアクセス性能を維持することができる。   As described above, in this embodiment, the physical arrangement of data is performed so as to follow the gradually changing access characteristic to the logical disk 141 while operating the disk array device 10 and always to exhibit the best performance. By regularly reviewing, it is possible to always maintain the best access performance.

次に、本実施形態で適用される、論理ディスクのライトアクセス性能(ライト性能)の低下を解消する方法について、図9を参照して説明する。図9には、複数のスライスから構成される論理ディスク151が示されている。この論理ディスク151は、領域151a(#m)及び151b(#n)を含む。論理ディスク151の領域151a(#m)及び151b(#n)は、それぞれアレイ152の領域152a(#m)及び152b(#n)を構成する物理的に連続する複数のスライスを組み合わせて構成されているものとする。   Next, a method for eliminating a decrease in write access performance (write performance) of a logical disk applied in this embodiment will be described with reference to FIG. FIG. 9 shows a logical disk 151 composed of a plurality of slices. The logical disk 151 includes areas 151a (#m) and 151b (#n). The areas 151a (#m) and 151b (#n) of the logical disk 151 are configured by combining a plurality of physically continuous slices that constitute the areas 152a (#m) and 152b (#n) of the array 152, respectively. It shall be.

図9の例では、論理ディスク151の領域151b(#n)を構成する複数のスライスの各々の単位時間当たりのライト回数は、予め定められたしきい値を超えているものとする。一方、論理ディスク151の領域151a(#m)を構成する複数のスライスの各々の単位時間当たりのライト回数は、上記しきい値を超えていないものとする。この場合、検出部121fは、統計情報取得部121eによって取得されて統計情報領域122bに格納されているスライス毎のI/O統計情報の示す単位時間当たりのライト回数に基づき、論理ディスク151の領域151b(#n)を、ライトアクセスの負荷(ライト負荷)が高い領域として検出する。同様に検出部121fは、論理ディスク151の領域151a(#m)を、ライト負荷が低い領域として検出する。   In the example of FIG. 9, it is assumed that the number of writes per unit time of each of a plurality of slices constituting the area 151b (#n) of the logical disk 151 exceeds a predetermined threshold value. On the other hand, it is assumed that the number of writes per unit time of each of a plurality of slices constituting the area 151a (#m) of the logical disk 151 does not exceed the threshold value. In this case, the detection unit 121f acquires the area of the logical disk 151 based on the number of writes per unit time indicated by the I / O statistical information for each slice acquired by the statistical information acquisition unit 121e and stored in the statistical information area 122b. 151b (#n) is detected as an area having a high write access load (write load). Similarly, the detection unit 121f detects the area 151a (#m) of the logical disk 151 as an area with a low write load.

するとアレイ/スライス定義部121aは、半導体ディスク装置131の記憶領域内に、図9において矢印154bで示すように、論理ディスク151の領域151b(#n)に対応する領域153b(#n)を定義する。この定義に従い、スライス移動部121cは、論理ディスク151の領域151b(#n)を構成するスライスを、アレイ152の領域152b(#n)から、半導体ディスク装置131の領域153b(#n)に再配置する。この半導体ディスク装置131は、アレイ152を構成するHDDに比べてアクセス速度が極めて高速アクセスである。したがって、上記の再配置により、論理ディスク151における領域151b(#n)のライト性能が向上する。   Then, the array / slice definition unit 121a defines an area 153b (#n) corresponding to the area 151b (#n) of the logical disk 151 in the storage area of the semiconductor disk device 131, as indicated by an arrow 154b in FIG. To do. In accordance with this definition, the slice moving unit 121c re-slices the slice constituting the area 151b (#n) of the logical disk 151 from the area 152b (#n) of the array 152 to the area 153b (#n) of the semiconductor disk device 131. Deploy. This semiconductor disk device 131 has an extremely high access speed compared to the HDDs that make up the array 152. Therefore, the above-described rearrangement improves the write performance of the area 151b (#n) in the logical disk 151.

半導体ディスク装置131は、HDDに比べて非常に高価格である。そのため、論理ディスク151を構成する全てのスライスを半導体ディスク装置131に割り付けるのはコストパフォーマンス上不利である。しかしながら、本実施形態においては、論理ディスク151の中でライト負荷が高い領域151bを構成するスライスのみが、半導体ディスク装置131に割り付けられる。これにより、高価格の半導体ディスク装置131の少ない記憶領域を有効に活用することが可能となる。   The semiconductor disk device 131 is very expensive compared to the HDD. For this reason, it is disadvantageous in terms of cost performance to allocate all slices constituting the logical disk 151 to the semiconductor disk device 131. However, in the present embodiment, only the slices constituting the area 151 b having a high write load in the logical disk 151 are allocated to the semiconductor disk device 131. As a result, it is possible to effectively utilize the small storage area of the expensive semiconductor disk device 131.

次に、論理ディスク151の領域151b(#n)を構成するスライスへのライトアクセスの頻度が低くなり、当該領域151b(#n)のライト負荷が低くなったことが、検出部121fによって検出されたものとする。この場合、スライス移動部121cは、論理ディスク151の領域151b(#n)に含まれているスライスを、半導体ディスク装置131から、HDDによって構成されるアレイ、例えば元のアレイ152に配置し直す。これにより、高価格の半導体ディスク装置131の限られた容量をより一層有効に利用して、論理ディスクのライトアクセス性能の改善を図ることができる。   Next, the detection unit 121f detects that the frequency of write access to the slices configuring the area 151b (#n) of the logical disk 151 is low and the write load of the area 151b (#n) is low. Shall be. In this case, the slice moving unit 121c rearranges the slices included in the area 151b (#n) of the logical disk 151 from the semiconductor disk device 131 to an array constituted by HDDs, for example, the original array 152. As a result, the limited capacity of the high-cost semiconductor disk device 131 can be used more effectively, and the write access performance of the logical disk can be improved.

上述の例では、論理ディスクのライトアクセス性能(ライト性能)の低下を解消する方法について説明した。しかし、論理ディスク151からリード負荷(リードアクセスの負荷)が高い領域と低い領域とを検出して、上述の例と同様の領域単位でのスライスの再配置を行うようにしても構わない。この場合、高価格の半導体ディスク装置131の限られた容量を有効に利用して、論理ディスクのリードアクセス性能(リード性能)の低下を解消することができる。また、論理ディスク151からアクセスの頻度(アクセス頻度)の高い領域と低い領域とを検出して、上述の例と同様の領域単位でのスライスの再配置を行うようにしても構わない。この場合、高価格の半導体ディスク装置131の限られた容量を有効に利用して、論理ディスクのアクセス性能の低下を解消することができる。   In the above example, the method for eliminating the decrease in the write access performance (write performance) of the logical disk has been described. However, it is also possible to detect areas with high and low read loads (read access loads) from the logical disk 151 and rearrange slices in units of areas as in the above example. In this case, it is possible to effectively reduce the read access performance (read performance) of the logical disk by effectively using the limited capacity of the high-cost semiconductor disk device 131. Alternatively, areas with high and low access frequencies (access frequencies) may be detected from the logical disk 151, and slices may be rearranged in units of areas as in the above example. In this case, the limited capacity of the high-cost semiconductor disk device 131 can be effectively used to eliminate the decrease in the access performance of the logical disk.

このように本実施形態においては、論理ディスクへのアクセス特性に応じて、データを格納する物理的な領域のコストを最適化することにより、ディスクアレイ装置10としてのコストパフォーマンスの向上を図ることができる。   As described above, in this embodiment, the cost performance of the disk array device 10 can be improved by optimizing the cost of the physical area for storing data in accordance with the access characteristics to the logical disk. it can.

さて、ディスクアレイ装置10は前記したように、HDD132A(#A)及び132B(#B)と、当該HDD132A(#A)及び132B(#B)とはタイプが異なるHDD132C及び132Dとを有している。そこで、本実施形態で適用される、タイプが異なるHDDを用いて論理ディスクのアクセス性能を向上する方法について、図10を参照して説明する。   As described above, the disk array device 10 includes the HDDs 132A (#A) and 132B (#B), and the HDDs 132C and 132D having different types from the HDDs 132A (#A) and 132B (#B). Yes. A method for improving the logical disk access performance using HDDs of different types, which is applied in this embodiment, will be described with reference to FIG.

図10には、複数のスライスから構成される論理ディスク161が示されている。この論理ディスク161は、領域161a(#m)及び161b(#n)を含む。論理ディスク161の領域161b(#n)は、アクセスの頻度がしきい値より高い、論理的に連続する複数のスライスから構成されるものとする。一方、論理ディスク161の領域161a(#m)は、アクセスの頻度がしきい値より低い、論理的に連続する複数のスライスから構成されるものとする。この場合、検出部121fは、論理ディスク161の領域161b(#n)をアクセスの頻度の高い領域として検出する。   FIG. 10 shows a logical disk 161 composed of a plurality of slices. The logical disk 161 includes areas 161a (#m) and 161b (#n). The area 161b (#n) of the logical disk 161 is composed of a plurality of logically continuous slices whose access frequency is higher than a threshold value. On the other hand, the area 161a (#m) of the logical disk 161 is composed of a plurality of logically continuous slices whose access frequency is lower than the threshold value. In this case, the detection unit 121f detects the area 161b (#n) of the logical disk 161 as a frequently accessed area.

図10にはまた、複数のアレイ、例えば2つのアレイ162及び163が示されている。アレイ162は、矢印164で示されているように、性能は低いが安価で大容量のHDD132A(#A)及び132B(#B)の記憶領域を用いて構成されているる。これに対してアレイ163は、矢印165で示されているように、性能は高いが高価格で小容量のHDD132C(#C)及び132D(#D)の記憶領域を用いて構成されている。このように、アレイ162は容量とコストとを重視して構成され、アレイ163は性能を重視して構成されている。   FIG. 10 also shows a plurality of arrays, for example two arrays 162 and 163. As indicated by an arrow 164, the array 162 is configured using storage areas of HDDs 132A (#A) and 132B (#B) with low performance but low cost and large capacity. On the other hand, the array 163 is configured using storage areas of HDDs 132C (#C) and 132D (#D) having high performance but high price and small capacity, as indicated by an arrow 165. Thus, the array 162 is configured with emphasis on capacity and cost, and the array 163 is configured with emphasis on performance.

スライス移動部121cは、論理ディスク161のアクセスの頻度が低い領域161a(#m)に含まれているスライスを、図10において矢印166で示すように、アレイ162の例えば領域162aに配置する。またスライス移動部121cは、論理ディスク161のアクセスの頻度が高い領域161b(#n)に含まれているスライスを、図10において矢印167で示すように、アレイ163の例えば領域163bに配置する。この配置後に、論理ディスク161の領域161a(#m)または161b(#n)のアクセス頻度が変化した場合、スライス移動部121cは、領域161a(#m)または161b(#n)に含まれているスライスを配置すべきアレイを変更する。   The slice moving unit 121c arranges the slices included in the area 161a (#m) where the access frequency of the logical disk 161 is low, for example, in the area 162a of the array 162 as indicated by an arrow 166 in FIG. Further, the slice moving unit 121c arranges the slices included in the area 161b (#n) with high access frequency of the logical disk 161 in, for example, the area 163b of the array 163 as indicated by an arrow 167 in FIG. If the access frequency of the area 161a (#m) or 161b (#n) of the logical disk 161 changes after this arrangement, the slice mover 121c is included in the area 161a (#m) or 161b (#n). Change the array where the existing slice should be placed.

このように本実施形態では、特性(タイプ)の異なるアレイ162及び163、つまり容量及びコストを重視したアレイ162及び性能を重視したアレイ163を用意し、論理ディスク161内でアクセス性能(アクセス頻度)の異なる領域毎に、当該領域を構成するスライスが割り付けられるべきアレイが切り替え(使い分け)られる。これにより本実施形態においては、ディスクアレイ装置10としてのコストパフォーマンスを向上させることができる。   As described above, in this embodiment, the arrays 162 and 163 having different characteristics (types), that is, the array 162 focusing on capacity and cost and the array 163 focusing on performance are prepared, and the access performance (access frequency) in the logical disk 161 is prepared. For each of the different areas, the array to which the slices constituting the area are to be assigned is switched (use differently). Thereby, in this embodiment, the cost performance as the disk array apparatus 10 can be improved.

[変形例]
次に上記実施形態の変形例について説明する。上記実施形態では、論理ディスクを構成した時点で、当該論理ディスクを構成するスライスがアレイに割り付けられる。しかし、ホストからディスクアレイ装置に対して、論理ディスク内のスライスへの最初のアクセスが要求された際に、当該スライスがアレイの記憶領域内に割り付けられても構わない。
[Modification]
Next, a modification of the above embodiment will be described. In the above embodiment, when a logical disk is configured, slices that configure the logical disk are allocated to the array. However, when the host requests the disk array apparatus to access the slice in the logical disk for the first time, the slice may be allocated in the storage area of the array.

上記実施形態の変形例では、論理ディスク内のスライスが最初に使用された際、即ち当該スライスが未使用スライスから使用スライスに変化した際に、当該スライスをアレイの記憶領域内に割り付けるアレイ構築方法が適用される。このアレイ構築方法が図1に示すディスクアレイ装置10で適用されるものとして、当該アレイ構築方法について図11を参照して説明する。   In the modified example of the above embodiment, when a slice in a logical disk is first used, that is, when the slice changes from an unused slice to a used slice, the array construction method allocates the slice in the storage area of the array. Applies. Assuming that this array construction method is applied to the disk array apparatus 10 shown in FIG. 1, the array construction method will be described with reference to FIG.

図11には、論理ディスク171及びアレイ172(#0)が示されている。論理ディスク171は、スライス171a,171b,171c,171d,171e,171f及び171gを含む。この変形例では、論理ディスク171が生成(定義)された時点では、当該論理ディスク171を構成するスライス(つまりスライス171a乃至171gを含む未使用のスライス)は、何れもアレイ172(#0)に割り付けられることはない。その後、時刻t1にホスト20からスライス171aへの最初のアクセスが発生し、時刻t1より後の時刻t2にホスト20からスライス171d,171e及び171fへの初めてのアクセスが発生したものとする。   FIG. 11 shows a logical disk 171 and an array 172 (# 0). The logical disk 171 includes slices 171a, 171b, 171c, 171d, 171e, 171f, and 171g. In this modified example, when the logical disk 171 is generated (defined), all of the slices constituting the logical disk 171 (that is, unused slices including the slices 171a to 171g) are in the array 172 (# 0). It is never assigned. Thereafter, the first access from the host 20 to the slice 171a occurs at time t1, and the first access from the host 20 to the slices 171d, 171e, and 171f occurs at time t2 after time t1.

アレイ/スライス定義部121aは、スライス171aへの最初のアクセスが発生した時点t1で、当該スライス171aに対し、図11において矢印173aで示すように、実際にアレイ172の領域を割り付ける。以降、スライス171aは、アレイ172への割り付けが完了している状態となり、未使用のスライスから使用されたスライスとなる。同様にアレイ/スライス定義部121aは、スライス171d,171e及び171fへの最初のアクセスが発生した時点t2で、当該スライス171d,171e及び171fに対し、図11において矢印173d,173e及び173fで示すように、実際にアレイ172の領域を割り付ける。以降、スライス171d,171e及び171fは、アレイ172への割り付けが完了している状態となり、未使用のスライスから使用されたスライスとなる。   The array / slice definition unit 121a actually allocates an area of the array 172 to the slice 171a at time t1 when the first access to the slice 171a occurs, as indicated by an arrow 173a in FIG. Thereafter, the slice 171a is in a state where the allocation to the array 172 is completed, and becomes a used slice from an unused slice. Similarly, the array / slice definition unit 121a indicates that the slices 171d, 171e, and 171f are indicated by arrows 173d, 173e, and 173f in FIG. 11 at the time t2 when the first access to the slices 171d, 171e, and 171f occurs. The area of the array 172 is actually allocated. Thereafter, the slices 171d, 171e, and 171f are assigned to the array 172, and are used from unused slices.

このようにアレイ/スライス定義部121aは、論理ディスク171を構成するスライスのうち、アクセスが発生したスライスから順次アレイ172の物理的な実領域を割り付けるように管理する。この管理手法を適用するディスクアレイ装置10は、運用を継続していく中でユーザ数、データベース或いはコンテンツの増加などにより実際に使用するディスク容量が徐々に増加するようなシステムに最適である。その理由は、システム構築時には実際のアレイの容量に拘わらずに、最終的に必要と予測される容量の論理ディスクを生成しておくことができるためである。ここでは、論理ディスクの全スライスのうち、実際に使用されたスライスだけがアレイへ配置される。このため、使用されるディスク容量が徐々に増加した際に、その増加容量に応じてアレイを追加して行くことが可能となる。   As described above, the array / slice definition unit 121a manages the physical real area of the array 172 in order from the slice in which the access has occurred among the slices constituting the logical disk 171. The disk array device 10 to which this management method is applied is optimal for a system in which the disk capacity actually used gradually increases due to an increase in the number of users, databases, or contents while continuing operation. The reason is that, at the time of system construction, a logical disk having a capacity predicted to be finally required can be generated regardless of the actual capacity of the array. Here, out of all slices of the logical disk, only the actually used slices are arranged in the array. For this reason, when the disk capacity to be used gradually increases, it becomes possible to add arrays in accordance with the increased capacity.

これにより、上記実施形態の変形例においては、システム構築時の初期投資を少なく抑えることができる。また、論理ディスクの使用されていない領域に対しアレイの領域が消費されることがなくなるため、物理的なディスク容量の使用効率が高くなる。また、変形例では、システムの運用が開始された後に物理的なディスク容量が不足した結果、アレイを追加して論理ディスクの新たに使用されたスライスに当該追加されたアレイの実領域が割り付けられる。ここで、論理ディスク自体は最終的に必要な容量にて予め生成(定義)されている。このため、上述のようにアレイの追加と当該アレイの実領域の割り付けが行われても、論理ディスクの容量などホスト計算機から認識される構成を見直す必要がなく、システムの運用が容易になる。   Thereby, in the modification of the said embodiment, the initial investment at the time of system construction can be restrained few. Also, since the array area is not consumed for the unused area of the logical disk, the use efficiency of the physical disk capacity is increased. Further, in the modified example, as a result of the lack of physical disk capacity after the system operation is started, an array is added and the real area of the added array is allocated to the newly used slice of the logical disk. . Here, the logical disk itself is generated (defined) in advance with a finally required capacity. Therefore, even if an array is added and an actual area of the array is allocated as described above, it is not necessary to review the configuration recognized by the host computer, such as the capacity of the logical disk, and the operation of the system is facilitated.

図1では、ディスクアレイ装置10を利用するホストとしてホスト20だけが示されている。しかし、ホスト20を含む複数のホストとディスクアレイ装置10とを接続することにより、当該複数のホストがディスクアレイ装置10を共有することも可能である。   In FIG. 1, only the host 20 is shown as a host that uses the disk array device 10. However, by connecting a plurality of hosts including the host 20 and the disk array device 10, the plurality of hosts can share the disk array device 10.

なお、本発明は、上記実施形態またはその変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態またはその変形例に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態またはその変形例に示される全構成要素から幾つかの構成要素を削除してもよい。   In addition, this invention is not limited to the said embodiment or its modification example as it is, A component can be deform | transformed and embodied in the range which does not deviate from the summary in an implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment or the modification thereof. For example, you may delete a some component from all the components shown by embodiment or its modification.

本発明の一実施形態に係るディスクアレイ装置を備えた計算機システムの構成を示すブロック図。1 is a block diagram showing a configuration of a computer system provided with a disk array device according to an embodiment of the present invention. 同実施形態で適用されるアレイとスライスの定義を説明するための図。The figure for demonstrating the definition of the array applied to the embodiment, and a slice. 同実施形態で適用される論理ディスクの定義を説明するための図。The figure for demonstrating the definition of the logical disk applied in the embodiment. 図1中のマップテーブル122aのデータ構造例を示す図。The figure which shows the data structure example of the map table 122a in FIG. 同実施形態におけるスライス移動の開始処理及び完了処理の手順を示すフローチャート。6 is a flowchart showing a procedure of slice movement start processing and completion processing in the embodiment. 同実施形態におけるデータライト処理の手順を示すフローチャート。6 is a flowchart showing a procedure of data write processing in the embodiment. 同実施形態で適用されるマップテーブル122aの保存方法を説明するための図。The figure for demonstrating the preservation | save method of the map table 122a applied in the embodiment. 同実施形態で適用される論理ディスクのリード性能の低下を解消する方法を説明するための図。The figure for demonstrating the method to eliminate the fall of the read performance of the logical disk applied in the embodiment. 同実施形態で適用される論理ディスクのライト性能の低下を解消する方法を説明するための図。The figure for demonstrating the method of canceling the fall of the write performance of the logical disk applied in the embodiment. 同実施形態で適用されるディスクアレイ装置としてのコストパフォーマンスを向上させる方法を説明するための図。The figure for demonstrating the method of improving the cost performance as a disk array apparatus applied by the embodiment. 同実施形態で適用されるアレイ構築方法を説明するための図。The figure for demonstrating the array construction method applied in the embodiment.

符号の説明Explanation of symbols

10…ディスクアレイ装置、11a〜11d,142-0,142-1,152,162,163,172…アレイ、12-1,12-2…アレイコントローラ、20…ホスト、31-0,31-1,141,151,161,171…論理ディスク、71…管理情報領域、120-1,120-2…仮想化ユニット(仮想化装置)、121a…アレイ/スライス定義部、121b…論理ディスク定義部、121c…スライス移動部、121d…データライト部、121e…統計情報採取部、121f…検出部、122…メモリ、122a…マップテーブル、122b…統計情報領域、131…半導体ディスク装置、132A〜132D…HDD(ハードディスクドライブ)。   DESCRIPTION OF SYMBOLS 10 ... Disk array apparatus, 11a-11d, 142-0, 142-1, 152, 162, 163, 172 ... Array, 12-1, 12-2 ... Array controller, 20 ... Host, 31-0, 31-1 , 141, 151, 161, 171 ... logical disk, 71 ... management information area, 120-1, 120-2 ... virtualization unit (virtualization device), 121a ... array / slice definition unit, 121b ... logical disk definition unit, 121c ... Slice moving unit 121d ... Data write unit 121e ... Statistical information collecting unit 121f ... Detecting unit 122 ... Memory 122a ... Map table 122b ... Statistical information area 131 ... Semiconductor disk device 132A-132D ... HDD (Hard disk drive).

Claims (2)

少なくとも1台のディスクドライブの記憶領域を一定の容量に分割した当該一定の容量の領域であるスライスの集合からなるアレイ内の、任意の複数の前記スライスの組み合わせから構成され、且つホスト計算機から単一のディスクボリュームとして認識される論理ディスクを、前記ホスト計算機及び前記少なくとも1台のディスクドライブと接続されたアレイコントローラが、前記論理ディスクを構成するスライス毎に当該スライスに対応付けてマップテーブルに保持されるスライス情報に基づいて管理するための論理ディスク管理方法であって
前記論理ディスクを構成するスライス毎に前記マップテーブルに保持される前記スライス情報は、前記論理ディスクを構成する当該スライスとして前記論理ディスクに割り付けられる第1のスライスを含む第1のアレイを識別するための第1のアレイ識別情報と、当該第1のアレイにおいて当該第1のスライスを識別するための第1のスライス識別情報と、当該第1のスライスのデータが別のスライスに移動またはコピー中であるかを示すフラグ情報と、当該第1のスライスのデータが前記第1のアレイとは別のアレイ内の前記別のスライスに移動またはコピー中である場合に、当該移動またはコピー先の前記別のアレイを識別するための第2のアレイ識別情報と、当該別のアレイにおいて前記別のスライスを識別するための第2のスライス識別情報とを含み、
前記論理ディスク管理方法は、
前記アレイコントローラが有する統計情報採取手段が、前記論理ディスクを構成するスライス毎に、当該スライスを対象とするアクセス処理に関する統計情報を取得して、当該スライス毎に取得された統計情報を前記アレイコントローラが有する記憶手段に格納するステップと、
前記スライス毎に取得された統計情報に基づいて、前記アレイコントローラが有する検出手段が、アクセスの負荷が一定レベルより高いスライスを検出するステップと、
前記検出されたスライスに対応付けて前記マップテーブルに保持されているスライス情報中の前記第1のアレイ識別情報及び前記第1のスライス識別情報によって、当該検出されたスライスとして、前記第1のアレイ内の前記第1のスライスが割り付けられていることが示されている場合、前記第1のスライスのデータを、前記アレイコントローラが有するスライス移動手段が、当該第1のスライスが割り付けられている論理ディスクに割り付けられていない第2のスライスであって、当該第1のスライスを含む前記第1のアレイとは別の第2のアレイ内の第2のスライスに移動またはコピーするステップと、
前記移動またはコピーするステップの実行に際し、前記スライス移動手段が、前記アレイコントローラが有するデータリード/ライト手段による前記論理ディスクを対象とするデータ読み出し/書き込みを一時停止させ、しかる後に前記マップテーブルに前記検出されたスライスに対応付けて保持されているスライス情報中に、前記第1のスライスのデータの移動またはコピー先の前記第2のスライスが属する前記第2のアレイを識別するための前記第2のアレイ識別情報と、前記第2のアレイにおける前記第2のスライスを識別するための前記第2のスライス識別情報と、前記第1のスライスのデータが移動またはコピー中であることを示す前記フラグ情報とを設定し、しかる後に前記マップテーブルの内容を前記ディスクドライブに保存し、しかる後に前記データリード/ライト手段による前記論理ディスクを対象とするデータ読み出し/書き込みを再開させるステップと、
前記移動またはコピーするステップが完了した際に、前記スライス移動手段が、前記データリード/ライト手段による前記論理ディスクを対象とするデータ読み出し/書き込みを一時停止させ、しかる後に前記マップテーブルに前記検出されたスライスに対応付けて保持されているスライス情報を、当該スライス情報中の前記第1のアレイ識別情報が前記第2のアレイを示し、当該スライス情報中の前記第1のスライス識別情報が前記第2のアレイ内の前記第2のスライスを示すように更新し、しかる後に当該スライス情報中に設定されている、前記第2のアレイ識別情報と前記第2のスライス識別情報と前記フラグ情報とをクリアし、しかる後に前記マップテーブルの内容を前記ディスクドライブに保存し、しかる後に前記データリード/ライト手段による前記論理ディスクを対象とするデータ読み出し/書き込みを再開させるステップと、
前記ホスト計算機から、前記論理ディスク内のスライスにデータをライトすることが要求された場合、前記データリード/ライト手段が、前記マップテーブルに当該要求されたスライスに対応付けて保持されているスライス情報中に、前記移動またはコピー中を示すフラグ情報が設定されていないか、或いは設定されていて且つ移動またはコピーが完了していないならば、当該スライス情報中の前記第1のアレイ識別情報及び前記第1のスライス識別情報によって識別される前記第1のアレイ内の前記第1のスライスにデータをライトし、前記移動またはコピー中を示すフラグ情報が設定され、且つ移動またはコピーが完了しているならば、当該スライス情報中の前記第1のアレイ識別情報及び前記第1のスライス識別情報によって識別される前記第1のアレイ内の前記第1のスライス及び当該スライス情報中の前記第2のアレイ識別情報及び前記第2のスライス識別情報によって識別される前記第2のアレイ内の前記第2のスライスに同一のデータをライトするステップと
を具備することを特徴とする論理ディスク管理方法。
The storage area of at least one disk drive is divided into a predetermined capacity, and is composed of a combination of a plurality of the aforementioned slices in an array consisting of a set of slices having a certain capacity area, and is simply received from the host computer. An array controller connected to the host computer and the at least one disk drive holds a logical disk recognized as one disk volume in the map table in association with each slice constituting the logical disk. a logical disk management method for managing on the basis of the slice information,
The slice information held in the map table for each slice configuring the logical disk identifies the first array including the first slice allocated to the logical disk as the slice configuring the logical disk. First array identification information, first slice identification information for identifying the first slice in the first array, and data of the first slice being moved or copied to another slice Flag information indicating whether or not the data of the first slice is being moved or copied to another slice in an array different from the first array. Second array identification information for identifying the second array and second slice for identifying the second slice in the second array And a separate information,
The logical disk management method includes:
The statistical information collection means of the array controller acquires statistical information related to access processing for the slice for each slice constituting the logical disk, and the statistical information acquired for the slice is stored in the array controller. Storing in a storage means possessed by:
Based on the obtained statistics for each of the slices, the detecting means, wherein the array controller comprises the steps of: loading the access detecting high chair rice than a predetermined level,
The first array is detected as the detected slice by the first array identification information and the first slice identification information in the slice information held in the map table in association with the detected slice. If the first slice in the array controller is allocated , the slice moving means included in the array controller stores the data of the first slice in the logic to which the first slice is allocated. Moving or copying to a second slice in a second array that is not assigned to a disk and that is different from the first array that includes the first slice;
When executing the step of moving or copying, the slice moving unit temporarily stops data reading / writing on the logical disk by the data reading / writing unit included in the array controller, and then stores the data in the map table. In the slice information held in association with the detected slice, the second array for identifying the second array to which the second slice of the data movement or copy destination of the first slice belongs the flag indicating the an array identification information, and said second slice ID information for identifying the second slice in the second array, the data of the first slice is being moved or copied Information and then save the contents of the map table to the disk drive A step of resuming the data read / write to target the logical disk by the data read / write unit and thereafter,
When the moving or copying step is completed, the slice moving unit temporarily stops the data reading / writing on the logical disk by the data reading / writing unit, and then detected in the map table. In the slice information held in association with the slice, the first array identification information in the slice information indicates the second array, and the first slice identification information in the slice information is the first slice identification information. The second array identification information, the second slice identification information, and the flag information set in the slice information are updated to indicate the second slice in the second array. Clear, and then store the contents of the map table in the disk drive, and then read the data read / write A step of resuming the data read / write to target the logical disk by site means,
When the host computer requests to write data to a slice in the logical disk , the data read / write unit holds slice information associated with the requested slice in the map table If the flag information indicating that the migration or copying is in progress is not set, or if it is set and the migration or copying is not completed, the first array identification information in the slice information and the Data is written to the first slice in the first array identified by the first slice identification information, flag information indicating that the move or copy is in progress is set, and the move or copy is completed If, identified by the first array identification information and the first slice identification information in the slice information The second slice in the second array identified by the first of the first slice and the second array identification information and the second slice identification information in the slice information in the array A logical disk management method comprising: writing the same data.
少なくとも1台のディスクドライブの記憶領域を一定の容量に分割した当該一定の容量の領域であるスライスの集合からなるアレイ内の、任意の複数の前記スライスの組み合わせから構成され、且つホスト計算機から単一のディスクボリュームとして認識される論理ディスクを管理するための仮想化装置において、
前記論理ディスクを構成するスライス毎に、前記論理ディスクを構成する当該スライスとして割り付けられる第1のスライスを含む第1のアレイを識別するための第1のアレイ識別情報と、当該第1のアレイにおいて当該第1のスライスを識別するための第1のスライス識別情報と、当該第1のスライスのデータが別のスライスに移動またはコピー中であるかを示すフラグ情報と、当該第1のスライスのデータが前記第1のアレイとは別のアレイ内の前記別のスライスに移動またはコピー中である場合に、当該移動またはコピー先の前記別のアレイを識別するための第2のアレイ識別情報と、当該別のアレイにおいて前記別のスライスを識別するための第2のスライス識別情報とを含むスライス情報を、当該スライスに対応付けて保持するマップテーブルと、
前記論理ディスクを構成するスライス毎に、当該スライスを対象とするアクセス処理に関する統計情報を取得する統計情報採取手段と、
前記統計情報採取手段によって取得された前記論理ディスクを構成するスライス毎の統計情報を格納する統計情報記憶手段と、
前記統計情報記憶手段に格納されている前記論理ディスクを構成するスライス毎の統計情報に基づいて、アクセスの負荷が一定レベルより高いスライスを検出する検出手段と、
前記ホスト計算機から要求された前記論理ディスクを対象とするデータ読み出し/書き込みを実行するデータリード/ライト手段と、
前記検出手段によって検出されたスライスに対応付けて前記マップテーブルに保持されているスライス情報中の前記第1のアレイ識別情報及び前記第1のスライス識別情報によって、当該検出されたスライスとして、前記第1のアレイ内の前記第1のスライスが割り付けられていることが示されている場合、前記第1のスライスのデータを、当該第1のスライスが割り付けられている論理ディスクに割り付けられていない第2のスライスであって、当該第1のスライスを含む前記第1のアレイとは別の第2のアレイ内の第2のスライスに移動またはコピー、前記移動またはコピーの実行に際し、前記データリード/ライト手段による前記論理ディスクを対象とするデータ読み出し/書き込みを一時停止させ、しかる後に、前記マップテーブルに前記検出されたスライスに対応付けて保持されているスライス情報中に、前記第1のスライスのデータの移動またはコピー先の前記第2のスライスが属する前記第2のアレイを識別するための前記第2のアレイ識別情報と、前記第2のアレイにおける前記第2のスライスを識別するための前記第2のスライス識別情報と、前記第1のスライスのデータが移動またはコピー中であることを示す前記フラグ情報とを設定し、しかる後に前記マップテーブルの内容を前記ディスクドライブに保存し、しかる後に前記データリード/ライト手段による前記論理ディスクを対象とするデータ読み出し/書き込みを再開させるスライス移動手段とを具備し、
前記スライス移動手段は、前記移動またはコピーが完了した際に、前記データリード/ライト手段による前記論理ディスクを対象とするデータ読み出し/書き込みを一時停止させ、しかる後に、前記マップテーブルに前記検出されたスライスに対応付けて保持されているスライス情報を、当該スライス情報中の前記第1のアレイ識別情報が前記第2のアレイを示し、当該スライス情報中の前記第1のスライス識別情報が前記第2のアレイ内の前記第2のスライスを示すように更新し、しかる後に当該スライス情報中に設定されている、前記第2のアレイ識別情報と前記第2のスライス識別情報と前記フラグ情報とをクリアし、しかる後に前記マップテーブルの内容を前記ディスクドライブに保存し、しかる後に前記データリード/ライト手段による前記論理ディスクを対象とするデータ読み出し/書き込みを再開させ、
前記リード/ライト手段は、前記ホスト計算機から前記論理ディスク内のスライスにデータをライトすることが要求された場合、前記マップテーブルに当該要求されたスライスに対応付けて保持されているスライス情報中に、前記移動またはコピー中を示すフラグ情報が設定されていないか、或いは設定されていて且つ移動またはコピーが完了していないならば、当該スライス情報中の前記第1のアレイ識別情報及び前記第1のスライス識別情報によって識別される前記第1のアレイ内の前記第1のスライスにデータをライトし、前記移動またはコピー中を示すフラグ情報が設定され、且つ移動またはコピーが完了しているならば、当該スライス情報中の前記第1のアレイ識別情報及び前記第1のスライス識別情報によって識別される前記第1のアレイ内の前記第1のスライス及び当該スライス情報中の前記第2のアレイ識別情報及び前記第2のスライス識別情報によって識別される前記第2のアレイ内の前記第2のスライスに同一のデータをライトすることを特徴とする仮想化装置。
The storage area of at least one disk drive is divided into a predetermined capacity, and is composed of a combination of a plurality of the aforementioned slices in an array consisting of a set of slices having a certain capacity area, and is simply received from the host computer. In a virtualization apparatus for managing a logical disk recognized as one disk volume,
For each slice constituting the logical disk, first array identification information for identifying the first array including the first slice allocated as the slice constituting the logical disk, and the first array First slice identification information for identifying the first slice, flag information indicating whether the data of the first slice is being moved or copied to another slice, and data of the first slice Is moving or copying to another slice in an array different from the first array, second array identification information for identifying the other array to be moved or copied; while the slice information and a second slice identification information for identifying the another slice in the another array, held in association with the slice And up table,
For each slice constituting the logical disk, statistical information collection means for acquiring statistical information related to access processing for the slice;
Statistical information storage means for storing statistical information for each slice constituting the logical disk acquired by the statistical information collection means;
Based on the statistics for each slice constituting the logical disk that is stored in the statistical information storage means, and detecting means for loading the access detecting high chair rice than a predetermined level,
Data read / write means for performing data read / write on the logical disk requested by the host computer;
The first slice identification information and the first slice identification information in the slice information held in the map table in association with the slice detected by the detection means are used as the detected slice. If it is indicated that the first slice in one array is allocated, the data of the first slice is not allocated to the logical disk to which the first slice is allocated. a 2 slices, upon the from the first array including a first slice moved or copied to the second slice in another second array, the moving or copying of execution, the data read / Reading / writing data to / from the logical disk by the writing means is suspended, and then the map table is The in the is held in association with the detected slice away rice information, for identifying the second array the second slice of the moving or copying destination of the data of the first slice belongs said second array identification information, and said second slice ID information for identifying the second slice in the second array, the data of the first slice is being moved or copied the flag is set and the information, the contents of the map table stored in the disk drive Thereafter, thereafter the data read / write unit according to the slice moving means for resuming the data read / write to target logical disk shown And
When the movement or copying is completed, the slice moving unit temporarily stops data reading / writing on the logical disk by the data reading / writing unit, and then the detected data is detected in the map table . the absence Rice information is held in association with the slice, the first array identification information in the slice information indicates the second array, the first slice identification information in the slice information the first The second array identification information, the second slice identification information, and the flag information set in the slice information are updated to indicate the second slice in the second array. Clear, and then store the contents of the map table in the disk drive, and then read the data read / write means To restart the data read / write to target the logical disk by,
Said read / write means, said if it is required from the host computer writes data to the slices in the logical disk, the requested absence of rice information is held in association with the slice to the map table If the flag information indicating that the migration or copying is in progress is not set, or is set and the migration or copying is not completed, the first array identification information and the first If data is written to the first slice in the first array identified by one slice identification information, flag information indicating that the move or copy is in progress is set, and the move or copy is completed in the first identified by the first array identification information and the first slice identification information in the slice information The first slice and the same data to the second slice in the second array identified by said second array identification information and the second slice identification information in the slice information in the array of A virtualization apparatus characterized by writing
JP2005265261A 2005-09-13 2005-09-13 Logical disk management method and virtualization apparatus Expired - Lifetime JP4261532B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005265261A JP4261532B2 (en) 2005-09-13 2005-09-13 Logical disk management method and virtualization apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005265261A JP4261532B2 (en) 2005-09-13 2005-09-13 Logical disk management method and virtualization apparatus

Publications (2)

Publication Number Publication Date
JP2007079787A JP2007079787A (en) 2007-03-29
JP4261532B2 true JP4261532B2 (en) 2009-04-30

Family

ID=37940049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005265261A Expired - Lifetime JP4261532B2 (en) 2005-09-13 2005-09-13 Logical disk management method and virtualization apparatus

Country Status (1)

Country Link
JP (1) JP4261532B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1975998A3 (en) 2007-03-26 2013-12-04 Semiconductor Energy Laboratory Co., Ltd. Method for manufacturing a plurality of island-shaped SOI structures
JP4877006B2 (en) * 2007-03-27 2012-02-15 日本電気株式会社 Disk array device and data backup system
JP2008293350A (en) * 2007-05-25 2008-12-04 Storage Vision Co Ltd Storage device, control method for storage device and control program
US8874867B2 (en) 2008-11-21 2014-10-28 Lsi Corporation Identification and containment of performance hot-spots in virtual volumes
JP5396836B2 (en) * 2008-12-01 2014-01-22 富士通株式会社 Data distribution control program, storage management program, control node, and disk node
US8713267B2 (en) 2009-01-23 2014-04-29 Lsi Corporation Method and system for dynamic storage tiering using allocate-on-write snapshots
JP2010244130A (en) * 2009-04-01 2010-10-28 Toshiba Corp Disk array device and disk array control method
JP5032620B2 (en) * 2010-03-16 2012-09-26 株式会社東芝 Disk array device and logical disk reconfiguration method applied to the disk array device
CN103827970B (en) 2012-09-25 2016-05-18 株式会社东芝 To solid-state drive storage device, storage control and the method for configuration data again

Also Published As

Publication number Publication date
JP2007079787A (en) 2007-03-29

Similar Documents

Publication Publication Date Title
JP2006024024A (en) Logical disk management method and device
US7971013B2 (en) Compensating for write speed differences between mirroring storage devices by striping
US9152332B2 (en) Storage system and method for reducing energy consumption
JP5942511B2 (en) Backup device, backup method, and backup program
US7159150B2 (en) Distributed storage system capable of restoring data in case of a storage failure
US8364858B1 (en) Normalizing capacity utilization within virtual storage pools
JP5944587B2 (en) Computer system and control method
US20140223223A1 (en) Storage system
US20050034013A1 (en) Method and apparatus for the takeover of primary volume in multiple volume mirroring
JP4229626B2 (en) File management system
JPWO2008136075A1 (en) Storage management program, storage management device, and storage management method
JP2003131816A (en) Storage device having I / O counter for local data reallocation and control method thereof
US11128535B2 (en) Computer system and data management method
JP2016118821A (en) Storage management device, storage management method and storage management program
CN108733326B (en) Disk processing method and device
US20180107409A1 (en) Storage area network having fabric-attached storage drives, san agent-executing client devices, and san manager
US11188258B2 (en) Distributed storage system
JP4261532B2 (en) Logical disk management method and virtualization apparatus
US7496724B2 (en) Load balancing in a mirrored storage system
US20180307427A1 (en) Storage control apparatus and storage control method
CN112379825B (en) Distributed data storage method and device based on data feature sub-pools
US7073029B2 (en) Storage system using fast storage and log-structured storage
JP5453872B2 (en) Disk array device, disk control device, and load distribution method in disk array device
US20130159656A1 (en) Controller, computer-readable recording medium, and apparatus
US6934803B2 (en) Methods and structure for multi-drive mirroring in a resource constrained raid controller

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080520

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080826

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081024

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090203

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090205

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

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4261532

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140220

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350