JP2017174302A - Volume management device, volume management method, method for allocating logical block number, and program - Google Patents

Volume management device, volume management method, method for allocating logical block number, and program Download PDF

Info

Publication number
JP2017174302A
JP2017174302A JP2016062022A JP2016062022A JP2017174302A JP 2017174302 A JP2017174302 A JP 2017174302A JP 2016062022 A JP2016062022 A JP 2016062022A JP 2016062022 A JP2016062022 A JP 2016062022A JP 2017174302 A JP2017174302 A JP 2017174302A
Authority
JP
Japan
Prior art keywords
access
pair
hdd
logical block
logical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016062022A
Other languages
Japanese (ja)
Inventor
雄介 大垣
Yusuke Ogaki
雄介 大垣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2016062022A priority Critical patent/JP2017174302A/en
Publication of JP2017174302A publication Critical patent/JP2017174302A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To reduce inefficiency caused by difference of access performance between two or more storage regions.SOLUTION: A volume management device comprises: access means for accessing to a storage device which stores data; and information provision means for determining an access destination and providing information on the determined access destination to the access means so that, in each of a plurality of sections, in which access performance is mutually different, being a part or all of a storage region in the storage device, the ratio of capacity in a region to be accessed by the access means becomes a value based on the ratio of access performance in the sections.SELECTED DRAWING: Figure 20

Description

本開示は、データの記録および管理に関する。   The present disclosure relates to data recording and management.

コンピュータの補助記憶装置として用いられるHDD(Hard Disk Drive)は、円盤状の磁気ディスク(以下、単に「ディスク」と呼ぶ)を回転させ、磁気ヘッドでディスクに記録された情報を読み取り、またはディスクに情報を書き込む装置である。以下の説明では、ディスクにおいて、同心円状に広がる記憶領域を「トラック」と呼び、トラックを分割してできる領域を「ブロック」と呼ぶ。   An HDD (Hard Disk Drive) used as an auxiliary storage device of a computer rotates a disk-shaped magnetic disk (hereinafter simply referred to as “disk”), reads information recorded on the disk with a magnetic head, or reads information on the disk. A device for writing information. In the following description, a storage area that extends concentrically in a disk is referred to as a “track”, and an area formed by dividing a track is referred to as a “block”.

現在の一般的なHDDは、各ブロックの長さが、トラックによらずほぼ均一になるように作製されている。このようなHDDでは、ディスクの中心から遠いトラックほどブロックの数が多いため、ディスクの外周に近い(円周が長い)トラック(外周側のトラック)が有する記憶領域が有効に使われる。このようなブロックの作製の方法は、「定記録密度方式」と呼ばれる。   The current general HDD is manufactured so that the length of each block is substantially uniform regardless of the track. In such an HDD, the track farther from the center of the disk has a larger number of blocks, so that the storage area of the track (peripheral track) closer to the outer periphery of the disk (longer circumference) is effectively used. Such a block manufacturing method is called a “constant recording density method”.

定記録密度方式のディスク上でデータを読み書きする場合、回転によってディスク上の点が移動する速さはディスクの外周に近いほど速いため、ディスクの外周側のトラックと内周側のトラックとでは、読み書きの速さ、すなわちアクセス性能が異なる。たとえば、ディスクの外周側のトラックにおけるアクセス性能が内周側のトラックにおけるアクセス性能のおよそ2倍であるHDDが存在する。   When reading and writing data on a disk with a constant recording density method, the speed at which the point on the disk moves due to rotation is faster as it approaches the outer periphery of the disk. Read / write speed, that is, access performance differs. For example, there is an HDD in which the access performance in the outer track of the disk is approximately twice the access performance in the inner track.

システムの設計においては、性能の安定性の観点から、ディスクのアクセス性能を最低レベルで見積もる必要がある。すなわち、システムの性能は、使用する領域のアクセス性能の下限に依拠する。アクセス性能の下限を向上させる方法としては、ディスクの外周側のトラック(外周部)のみを使用する方法が挙げられる。しかし、外周部のみを使用した場合は内周側のトラック(内周部)の容量が無駄になる。したがって、ディスクの外周部と内周部とにおける性能をなるべく均一化し、アクセス性能の最低レベルを向上させる技術が望まれる。   In system design, it is necessary to estimate the disk access performance at the lowest level from the viewpoint of performance stability. That is, the system performance depends on the lower limit of the access performance of the area to be used. As a method of improving the lower limit of the access performance, a method of using only the track (outer peripheral portion) on the outer peripheral side of the disk can be mentioned. However, when only the outer periphery is used, the capacity of the inner track (inner periphery) is wasted. Therefore, there is a demand for a technique for making the performance at the outer peripheral portion and the inner peripheral portion of the disk as uniform as possible and improving the minimum level of access performance.

外周部と内周部とにおける性能を均一化する技術として、データをディスク上の複数の領域にランダムに断片的に分散させる技術が存在する(特許文献1)。この技術は、HDDの外周部と内周部とを偏りなく使用することにより、性能の均一化を図る。   As a technique for equalizing the performance of the outer peripheral part and the inner peripheral part, there is a technique for randomly distributing data in a plurality of regions on a disk (Patent Document 1). This technology achieves uniform performance by using the outer peripheral portion and the inner peripheral portion of the HDD without any bias.

特許文献2には、データ転送レートを平準化する目的で、HDDを2個1組として、一方のHDDのディスクの外周部(外周領域)と、他方のHDDのディスクの内周部(内周領域)とを組み合わせて使うディスク制御装置が開示されている。具体的には、このディスク制御装置は、データの記録において、データのフレームを等分割し、分割されたフレームの一方を高速領域に、他方を低速領域に記録する。これにより、データ転送レートが、高速領域のデータ転送レートと低速領域のデータ転送レートの平均となる、と、特許文献2には記載されている。   In Patent Document 2, for the purpose of leveling the data transfer rate, two HDDs are used as one set, and the outer peripheral portion (outer peripheral area) of the disk of one HDD and the inner peripheral portion (inner peripheral area) of the disk of the other HDD. A disk control device that uses a combination of (region) and the like is disclosed. Specifically, in the data recording, this disk controller equally divides the data frame, and records one of the divided frames in the high speed area and the other in the low speed area. Thus, Patent Document 2 describes that the data transfer rate is an average of the data transfer rate in the high speed region and the data transfer rate in the low speed region.

また、関連する技術として、特許文献3には、複数のディスク装置に論理記憶領域を割り当てる制御装置であって、その論理記憶領域の開始位置をそれぞれ異なる物理位置に割り当てる制御装置が開示されている。   Further, as a related technique, Patent Document 3 discloses a control device that assigns logical storage areas to a plurality of disk devices, and assigns start positions of the logical storage areas to different physical positions. .

特開2010−027145号公報JP 2010-027145 A 特開平10−177759号公報Japanese Patent Laid-Open No. 10-177759 特開2014−032566号公報JP 2014-032566 A

特許文献1に開示される技術では、常にランダムアクセスを行う必要があることから、ドライブの磁気ヘッドが移動する(シークする)工程が多くなるために、この技術を使わずに連続するブロックにアクセスする場合に比べ、アクセス性能が低下するという問題がある。   In the technique disclosed in Patent Document 1, since it is necessary to always perform random access, the process of moving (seeking) the magnetic head of the drive increases. Therefore, continuous blocks are accessed without using this technique. There is a problem that the access performance is reduced as compared with the case where it is performed.

特許文献2に開示されるディスク制御装置のデータ転送レートは、高速領域と低速領域の算術平均とはならない。なぜなら、特許文献2に開示されるディスク制御装置は、データのフレームを、高速領域と低速領域とに等しく割り当てるよう構成されているからである(特許文献2の段落[0028]および図5等参照)。このような構成では、高速領域と低速領域の組み合わせによるデータ転送レートは、高速領域のデータ転送レートと低速領域のデータ転送レートの調和平均となる。調和平均は、算術平均よりも小さいため、特許文献2に開示されるディスク制御装置は、所望のデータ転送レートを実現できていない。   The data transfer rate of the disk controller disclosed in Patent Document 2 is not an arithmetic average of the high speed area and the low speed area. This is because the disk control device disclosed in Patent Document 2 is configured to allocate the data frame equally to the high speed area and the low speed area (see paragraph [0028] of Patent Document 2 and FIG. 5 and the like). ). In such a configuration, the data transfer rate by the combination of the high speed region and the low speed region is a harmonic average of the data transfer rate in the high speed region and the data transfer rate in the low speed region. Since the harmonic average is smaller than the arithmetic average, the disk control device disclosed in Patent Document 2 cannot realize a desired data transfer rate.

また、特許文献2に開示される技術は、外周部と内周部とにおける性能の差に起因するデータ転送レートの不均衡を、完全には解消していない。すなわち、特許文献2に開示されるアドレッシングによっても、アドレスの違いによるデータ転送レートの差は依然として生じる。たとえば、低速領域における最も内側のトラックと高速領域における最も外側のトラックとの組み合わせによるデータ転送レートと、低速領域における最も外側のトラックと高速領域における最も内側のトラックとの組み合わせによるデータ転送レートとは、等しくない。なぜなら、記憶領域の中央のブロック(特許文献2の説明においては、アドレスan/2)におけるデータ転送レートは、ディスクの最も内側のトラックのデータ転送レートと最も外側のトラックのデータ転送レートの平均とは異なるからである。 Further, the technique disclosed in Patent Document 2 does not completely eliminate the imbalance in data transfer rate due to the difference in performance between the outer peripheral portion and the inner peripheral portion. That is, even with the addressing disclosed in Patent Document 2, a difference in data transfer rate due to a difference in address still occurs. For example, the data transfer rate by the combination of the innermost track in the low-speed area and the outermost track in the high-speed area, and the data transfer rate by the combination of the outermost track in the low-speed area and the innermost track in the high-speed area , Not equal. This is because the data transfer rate in the central block of the storage area (address a n / 2 in the description of Patent Document 2) is the average of the data transfer rate of the innermost track of the disk and the data transfer rate of the outermost track. It is because it is different.

特許文献3に開示される技術も、論理記憶領域の違いによるアクセス性能の不均衡の解決には寄与しない。   The technology disclosed in Patent Document 3 also does not contribute to solving the access performance imbalance due to the difference in the logical storage area.

以上に示したように、HDDの、アクセス性能の最低レベルを向上させる技術は、まだ十分とはいえない。すなわち、アクセス性能の違いに起因する非効率性を低減する技術は、さらに改善され得る。   As described above, the technology for improving the minimum level of access performance of the HDD is still not sufficient. That is, the technique for reducing inefficiency caused by the difference in access performance can be further improved.

また、この課題は、HDDのみならず、アクセス性能に差がある複数の記憶領域を用いるコンピュータまたはデータ管理システムにおいても、同様に生じうる課題である。たとえば、アクセス性能の低い記憶領域とアクセス性能の高い記憶領域との両方に、ストライピングしたデータを同時に格納する(または読み出す)場合、アクセス性能の低い記憶領域にかかる時間がボトルネックとなる。すなわち、アクセスが完了するまでにかかる時間は、アクセス性能の低い記憶領域のアクセス性能に依存するため、アクセス性能の高い記憶領域の性能が無駄になる。   Further, this problem can occur not only in the HDD but also in a computer or a data management system that uses a plurality of storage areas having different access performance. For example, when striped data is simultaneously stored (or read) in both a storage area with low access performance and a storage area with high access performance, the time taken for the storage area with low access performance becomes a bottleneck. In other words, the time taken to complete the access depends on the access performance of the storage area with low access performance, so the performance of the storage area with high access performance is wasted.

本発明は、2以上の記憶領域におけるアクセス性能の違いに起因する非効率性を低減することができるボリューム管理装置を提供することを目的の1つとする。   An object of the present invention is to provide a volume management apparatus capable of reducing inefficiency caused by a difference in access performance between two or more storage areas.

本発明の一態様に係るボリューム管理装置は、データを記憶する記憶装置にアクセスするアクセス手段と、前記記憶装置内の記憶領域の一部または全部の区間であってアクセス性能が相異なる複数の前記区間の、それぞれにおいて前記アクセス手段によってアクセスされる領域の容量の比が、前記区間のアクセス性能の比に基づいた値になるよう、アクセス先を決定し、決定された前記アクセス先の情報を前記アクセス手段に提供する、情報提供手段と、を備えるボリューム管理装置。   A volume management apparatus according to an aspect of the present invention includes: an access unit that accesses a storage device that stores data; and a plurality of the access performances that are part or all of a storage area in the storage device and have different access performance The access destination is determined so that the ratio of the capacity of the area accessed by the access means in each section becomes a value based on the ratio of the access performance of the section, and the determined access destination information is A volume management apparatus comprising information providing means for providing to the access means.

本発明の一態様に係るボリューム管理装置は、データを記憶する記憶装置にアクセスするアクセス手段と、前記記憶装置内の記憶領域の一部または全部の区間であってアクセス性能が相異なる複数の前記区間の、それぞれにおいて前記アクセス手段によってアクセスされる領域の容量の比が、前記区間の容量の比に基づいた値になるよう、アクセス先を決定し、決定された前記アクセス先の情報を前記アクセス手段に提供する、情報提供手段と、を備える。   A volume management apparatus according to an aspect of the present invention includes: an access unit that accesses a storage device that stores data; and a plurality of the access performances that are part or all of a storage area in the storage device and have different access performance The access destination is determined so that the ratio of the capacity of the area accessed by the access means in each section becomes a value based on the ratio of the capacity of the section, and the information on the determined access destination is stored in the access Information providing means provided to the means.

本発明の一態様に係るボリューム管理方法は、データを記憶する記憶装置内の記憶領域の一部または全部の区間であってアクセス性能が相異なる複数の前記区間の、それぞれにおいてアクセスされる領域の容量の比が、前記区間のアクセス性能の比に基づいた値になるよう、前記区間にアクセスする。   A volume management method according to an aspect of the present invention is a partial or entire section of a storage area in a storage device that stores data, and the area accessed in each of the plurality of sections having different access performances. The section is accessed so that the capacity ratio becomes a value based on the access performance ratio of the section.

本発明の一態様に係る論理ブロック番号の割り当て方法は、論理ブロック番号を、第1の記憶領域、および、前記第1の記憶領域とアクセス性能が異なる前記第2の記憶領域の、いずれかに割り当て、一定長の連続する論理ブロック番号の集合のうち、第1の記憶領域に割り当てられる論理ブロック番号の個数と、第2の記憶領域に割り当てられる論理ブロック番号の個数との比は、前記第1の記憶領域の有するブロック数と前記第2の記憶領域の有するブロック数との比に基づいた値である。   In the logical block number assignment method according to one aspect of the present invention, the logical block number is assigned to any one of the first storage area and the second storage area whose access performance is different from that of the first storage area. The ratio between the number of logical block numbers assigned to the first storage area and the number of logical block numbers assigned to the second storage area in the set of consecutive logical block numbers having a fixed length is the first The value is based on the ratio of the number of blocks in one storage area to the number of blocks in the second storage area.

本発明の一態様に係るプログラムは、コンピュータに、データを記憶する記憶装置にアクセスするアクセス処理と、前記アクセス処理が、前記記憶装置内の記憶領域の一部または全部の区間であってアクセス性能が相異なる複数の前記区間の、それぞれにおいてアクセスされる領域の容量の比が、前記区間のアクセス性能の比に基づいた値になるよう、前記アクセス処理にアクセス先の情報を提供する、情報提供処理と、を実行させる。   The program according to one embodiment of the present invention includes an access process for accessing a storage device that stores data in a computer, and the access process is a part or all of a section of a storage area in the storage device. Providing information on the access destination to the access processing so that the ratio of the capacity of the areas accessed in each of the plurality of sections having different values becomes a value based on the ratio of the access performance of the section Process.

本発明により、2以上の記憶領域におけるアクセス性能の差に起因する非効率性を低減することができる。   According to the present invention, inefficiency caused by a difference in access performance between two or more storage areas can be reduced.

本発明の第1の実施形態に係るデータ管理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the data management system which concerns on the 1st Embodiment of this invention. HDDの性能特性の例を示すグラフである。3 is a graph showing an example of performance characteristics of an HDD. 第1の実施形態に係るボリューム管理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the volume management apparatus which concerns on 1st Embodiment. データがHDDに格納される様子を示す概念図である。It is a conceptual diagram which shows a mode that data are stored in HDD. HDDの性能特性の近似式の例を示すグラフである。It is a graph which shows the example of the approximate expression of the performance characteristic of HDD. 第1の実施形態の各HDDの記憶領域を区間に分割することを示す概念図である。It is a conceptual diagram which shows dividing | segmenting the storage area of each HDD of 1st Embodiment into a section. 第1の実施形態の各HDDにおけるペア番号の位置を示す概念図である。It is a conceptual diagram which shows the position of the pair number in each HDD of 1st Embodiment. 第1の実施形態のペア管理テーブルの例を示す表である。It is a table | surface which shows the example of the pair management table of 1st Embodiment. 第1の実施形態の番号対応表の一部の例を示す表である。It is a table | surface which shows a part of example of the number correspondence table | surface of 1st Embodiment. 第1の実施形態の番号対応表の一部の例を示す表である。It is a table | surface which shows a part of example of the number correspondence table | surface of 1st Embodiment. 第1の実施形態に係るボリューム管理装置の、論理ボリュームを生成する動作の流れを示すフローチャートである。It is a flowchart which shows the flow of operation | movement which produces | generates a logical volume of the volume management apparatus which concerns on 1st Embodiment. 第1の実施形態に係るボリューム管理装置の、HDDへアクセスする動作の流れを示すフローチャートである。4 is a flowchart showing a flow of an operation of accessing the HDD of the volume management apparatus according to the first embodiment. 本発明の第2の実施形態に係るボリューム管理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the volume management apparatus which concerns on the 2nd Embodiment of this invention. 第2の実施形態のアクセス先特定部が用いるアクセス先HDDを特定する方法を説明する表である。It is a table | surface explaining the method to identify the access destination HDD which the access destination specific | specification part of 2nd Embodiment uses. 第2の実施形態のアクセス部およびアクセス先特定部の動作の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of operation | movement of the access part and access destination specific | specification part of 2nd Embodiment. 本発明の第3の実施形態に係るボリューム管理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the volume management apparatus which concerns on the 3rd Embodiment of this invention. 第3の実施形態のアクセス先特定部が用いるアクセス先HDDを特定する方法を説明する表である。It is a table | surface explaining the method to identify the access destination HDD which the access destination specific | specification part of 3rd Embodiment uses. 本発明の第4の実施形態に係るボリューム管理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the volume management apparatus which concerns on the 4th Embodiment of this invention. 第4の実施形態のアクセス先特定部が用いるアクセス先HDDを特定する方法を説明する表である。10 is a table for explaining a method of specifying an access destination HDD used by an access destination specifying unit of the fourth embodiment. 本発明の第5の実施形態に係るボリューム管理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the volume management apparatus which concerns on the 5th Embodiment of this invention. 本発明の各実施形態の各部を構成するハードウェアの例を示すブロック図である。It is a block diagram which shows the example of the hardware which comprises each part of each embodiment of this invention.

以下、図面を参照しながら、本発明の実施形態を詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

<<第1の実施形態>>
まず、本発明の第1の実施形態について説明する。
<< First Embodiment >>
First, a first embodiment of the present invention will be described.

<構成>
図1は、第1の実施形態に係るデータ管理システム1の構成を示すブロック図である。本実施形態のデータ管理システム1において、ボリューム管理装置11は、ホスト装置20、および2つのHDD30に、通信可能に接続される。
<Configuration>
FIG. 1 is a block diagram illustrating a configuration of a data management system 1 according to the first embodiment. In the data management system 1 of this embodiment, the volume management device 11 is communicably connected to the host device 20 and the two HDDs 30.

ボリューム管理装置11およびホスト装置20は、CPUやメモリなどのハードウェア資源により構成される。ボリューム管理装置11は、ソフトウェアまたはファームウェアを実行するコンピュータにより実装されてもよい。あるいは、ボリューム管理装置11は、RAID(Redundant Arrays of Inexpensive Disks)コントローラなどのハードウェアにより実装されてもよい。   The volume management device 11 and the host device 20 are configured by hardware resources such as a CPU and a memory. The volume management apparatus 11 may be implemented by a computer that executes software or firmware. Alternatively, the volume management apparatus 11 may be implemented by hardware such as a RAID (Redundant Arrays of Inexpensive Disks) controller.

図1に示す例では、ボリューム管理装置11とホスト装置20とは、分離された2つの装置として記載されるが、ボリューム管理装置11とホスト装置20とは、1つの装置によって実現されていてもよい。たとえば、ボリューム管理装置11の機能は、ホスト装置20が実行するソフトウェアによって実現されてもよい。   In the example shown in FIG. 1, the volume management device 11 and the host device 20 are described as two separate devices, but the volume management device 11 and the host device 20 may be realized by a single device. Good. For example, the function of the volume management device 11 may be realized by software executed by the host device 20.

===ホスト装置20===
ホスト装置20は、ボリューム管理装置11を介してHDD30へのアクセスを行う。たとえば、ホスト装置20は、ボリューム管理装置11にアクセスの要求を送信し、ボリューム管理装置11がその要求に従ってHDD30に対して行ったアクセスの結果を、ボリューム管理装置11から受信する。アクセスとは、データの読み出しまたは書き込みを指す。
=== Host Device 20 ===
The host device 20 accesses the HDD 30 via the volume management device 11. For example, the host device 20 transmits an access request to the volume management device 11 and receives from the volume management device 11 the result of the access that the volume management device 11 has made to the HDD 30 in accordance with the request. Access refers to reading or writing data.

===HDD30===
HDD30は、ハードディスクドライブである。本実施形態では、HDD30は、HDDとHDDとの2つである。HDDはディスク311を内蔵する。HDDはディスク312を内蔵する。HDDおよびHDDは、それぞれ内蔵するディスク(ディスク311またはディスク312)を駆動することで、データの読み書き機能を提供する。
=== HDD 30 ===
The HDD 30 is a hard disk drive. In the present embodiment, there are two HDDs 30, HDD 1 and HDD 2 . The HDD 1 contains a disk 311. The HDD 2 has a built-in disk 312. The HDD 1 and the HDD 2 each provide a data read / write function by driving a built-in disk (disk 311 or disk 312).

データは、ディスク311およびディスク312に、定記録密度方式で記録される。HDD30へのアクセスは、LBA(Logical Block Addressing)方式で行われる。本実施形態では、各HDDがアクセスする記憶領域の最小単位が、ブロックである。本実施形態では、ディスク311およびディスク312の各々に含まれるブロックの数はいずれも100,000,000である。HDD30は、それぞれのブロックを、その位置に基づいて一意に付与されたブロック番号(0〜99,999,999)によって識別する。以下、「ブロック番号」とは、ディスクの位置に基づいて一意に付与されたブロック番号を指すものとする。   Data is recorded on the disk 311 and the disk 312 by the constant recording density method. Access to the HDD 30 is performed by an LBA (Logical Block Addressing) method. In the present embodiment, the minimum unit of the storage area accessed by each HDD is a block. In the present embodiment, the number of blocks included in each of the disk 311 and the disk 312 is 100,000,000. The HDD 30 identifies each block by a block number (0 to 99, 999, 999) uniquely assigned based on the position. Hereinafter, the “block number” refers to a block number uniquely assigned based on the position of the disk.

ディスク311、312において、ブロック番号が“0”であるブロックは最も外側のトラックに位置し、ブロック番号が大きいブロックほど内周に位置する。ブロック番号が“99,999,999”であるブロックは最内周に位置する。   In the disks 311, 312, the block having the block number “0” is located on the outermost track, and the block having the larger block number is located on the inner periphery. The block having the block number “99, 999, 999” is located on the innermost periphery.

HDDおよびHDDのアクセス性能は、単位時間あたりに取得できる情報の量である。アクセス性能は、たとえば単位時間あたりにアクセスできるブロックの数として定義される。本実施形態では、HDDおよびHDDのアクセス性能は同等である。ただし、HDD30は、定記録密度方式で設計されているため、ブロックの位置によってアクセス性能が異なる。HDD30のアクセス性能は、図2で示されるように、ブロック番号“0”のブロックを含む、ディスクの最も外側のトラックにおいて最高であり、ディスクの中心部に近づくにつれ(ブロック番号が大きいほど)減少する。最も外側のトラックにおけるアクセス性能に対する最も内側のトラックにおけるアクセス性能の比をアクセス性能比と称し、その値はα(0<α<1)で表される。 The access performance of HDD 1 and HDD 2 is the amount of information that can be acquired per unit time. The access performance is defined as the number of blocks that can be accessed per unit time, for example. In the present embodiment, the access performance of HDD 1 and HDD 2 is the same. However, since the HDD 30 is designed by the constant recording density method, the access performance differs depending on the block position. As shown in FIG. 2, the access performance of the HDD 30 is the highest in the outermost track of the disk including the block of the block number “0”, and decreases as the center of the disk is approached (the larger the block number). To do. The ratio of the access performance in the innermost track to the access performance in the outermost track is referred to as an access performance ratio, and the value is represented by α (0 <α <1).

===ボリューム管理装置11===
ボリューム管理装置11は、2つのHDD30(HDDおよびHDD)を制御する。ボリューム管理装置11は、ホスト装置20によるHDDの記憶領域へのアクセスを中継する。
=== Volume Management Device 11 ===
The volume management device 11 controls the two HDDs 30 (HDD 1 and HDD 2 ). The volume management device 11 relays access to the storage area of the HDD by the host device 20.

ボリューム管理装置11は、LBA方式を用いて、ホスト装置20によるHDDの記憶領域へのアクセスを中継する。すなわち、ボリューム管理装置11は、2つのHDD30の各ブロックに対して一意に論理ブロック番号(0〜199,999,999)を割り当てる。ボリューム管理装置11は、各HDD30のブロックと、そのブロックに割り当てられた論理ブロックとの関係を特定できる情報を記憶する。論理ブロックを割り当てる方法、および、特定できる情報については、後で詳細に説明する。ボリューム管理装置11は、ホスト装置20に対して、この論理ブロック番号によってアクセスできる論理ボリューム(仮想的な記憶領域)を提供する。ホスト装置20は、ボリューム管理装置11にアクセスする際、論理ブロック番号によってアクセスの範囲を指定する。ボリューム管理装置11は、指定された範囲の論理ブロック番号が割り当てられたHDD30と、そのブロックのブロック番号とを特定する。ボリューム管理装置11は、特定したHDD30に対して、特定したブロック番号によって表される範囲への、要求されたアクセスを行う。具体的には、ボリューム管理装置11は、特定したHDD30に対し、特定したブロックへのアクセスの要求を行う。ボリューム管理装置11は、そのアクセスの結果を、ホスト装置20に渡す。アクセスの結果とは、データの読み出しにおいては読み出したデータ、データの書き込みにおいては書き込みの完了を示す情報、等である。このようにして、ボリューム管理装置11は、ホスト装置20によるHDD30の記憶領域へのアクセスを中継する。   The volume management apparatus 11 relays access to the storage area of the HDD by the host apparatus 20 using the LBA method. That is, the volume management apparatus 11 uniquely assigns a logical block number (0 to 199, 999, 999) to each block of the two HDDs 30. The volume management device 11 stores information that can specify the relationship between the block of each HDD 30 and the logical block assigned to the block. A method for assigning logical blocks and information that can be specified will be described in detail later. The volume management device 11 provides the host device 20 with a logical volume (virtual storage area) that can be accessed by this logical block number. When the host device 20 accesses the volume management device 11, the host device 20 designates an access range by a logical block number. The volume management apparatus 11 identifies the HDD 30 to which the specified range of logical block numbers is assigned and the block number of the block. The volume management apparatus 11 performs the requested access to the specified HDD 30 in the range represented by the specified block number. Specifically, the volume management device 11 requests the specified HDD 30 to access the specified block. The volume management device 11 passes the access result to the host device 20. The access result is read data in reading data, information indicating completion of writing in data writing, and the like. In this way, the volume management apparatus 11 relays access to the storage area of the HDD 30 by the host apparatus 20.

以下、第1の実施形態に係るボリューム管理装置11の制御構造を説明する。図3は、第1の実施形態に係るボリューム管理装置11の制御構造を示すブロック図である。ボリューム管理装置11は、アクセス部101と、情報提供部110とを備える。情報提供部110は、ボリューム提供部111と、分割部113と、ペア管理部114と、ペア生成部115と、表生成部116と、表記憶部117と、を備える。   Hereinafter, the control structure of the volume management apparatus 11 according to the first embodiment will be described. FIG. 3 is a block diagram showing a control structure of the volume management apparatus 11 according to the first embodiment. The volume management apparatus 11 includes an access unit 101 and an information providing unit 110. The information providing unit 110 includes a volume providing unit 111, a dividing unit 113, a pair management unit 114, a pair generation unit 115, a table generation unit 116, and a table storage unit 117.

まず、ホスト装置20によるアクセスの要求に応じたアクセスに関わる構成要素である、ボリューム提供部111と、表記憶部117と、アクセス部101との機能を説明する。   First, functions of the volume providing unit 111, the table storage unit 117, and the access unit 101, which are components related to access in response to an access request by the host device 20, will be described.

===ボリューム提供部111===
ボリューム提供部111は、ホスト装置20に対して、論理ボリュームを提供する。具体的には、ボリューム提供部111は、ホスト装置20から、論理ボリュームに対するアクセスの要求を受信する。アクセスの要求は、たとえば、ある範囲のブロックにデータを書き込む要求である。あるいは、アクセスの要求は、たとえば、ある範囲のブロックからデータを読み出す要求である。アクセスするブロックの範囲は、論理ブロック番号によってホスト装置20から指定される。ボリューム提供部111は、受信したアクセスの要求をアクセス部101に送信する。ボリューム提供部111は、アクセス部101から、アクセスの要求に基づくアクセスの結果を受信する。ボリューム提供部111は、論理ボリュームに対するアクセスの結果をホスト装置20に送信する。
=== Volume Provider 111 ===
The volume providing unit 111 provides a logical volume to the host device 20. Specifically, the volume providing unit 111 receives a request for access to the logical volume from the host device 20. The access request is, for example, a request for writing data in a certain range of blocks. Alternatively, the access request is, for example, a request for reading data from a certain range of blocks. The range of blocks to be accessed is designated from the host device 20 by the logical block number. The volume providing unit 111 transmits the received access request to the access unit 101. The volume providing unit 111 receives the access result based on the access request from the access unit 101. The volume providing unit 111 transmits a result of access to the logical volume to the host device 20.

===表記憶部117===
表記憶部117は、番号対応表を記憶する。番号対応表は、論理ブロック番号と、HDDの識別子およびブロック番号の組とを、一意に関連づける情報である。番号対応表は、表生成部116によって生成される。表生成部116によって番号対応表が生成する過程については、後で詳細に説明する。
=== Table Storage Unit 117 ===
The table storage unit 117 stores a number correspondence table. The number correspondence table is information that uniquely associates a logical block number with a set of an HDD identifier and block number. The number correspondence table is generated by the table generation unit 116. The process of generating the number correspondence table by the table generation unit 116 will be described in detail later.

===アクセス部101===
アクセス部101は、受信したアクセスの要求に従って、HDD30にアクセスする。具体的には、アクセス部101は、ボリューム提供部111から、アクセスの要求を受信する。アクセスの要求には、アクセスされる論理ブロック番号の範囲の指定が含まれる。アクセス部101は、指定された範囲の論理ブロック番号が割り当てられているブロックに対して、要求されたアクセスを行う。この際、アクセス部101は、指定された範囲の論理ブロック番号が割り当てられているブロックを特定する。具体的には、アクセス部101は、指定された範囲の論理ブロック番号に関連づけられているHDDの識別子と、ブロック番号とを、上述の番号対応表によって特定すればよい。
=== Access Unit 101 ===
The access unit 101 accesses the HDD 30 in accordance with the received access request. Specifically, the access unit 101 receives an access request from the volume providing unit 111. The access request includes specification of a range of logical block numbers to be accessed. The access unit 101 performs the requested access to a block to which a specified range of logical block numbers is assigned. At this time, the access unit 101 specifies a block to which a specified range of logical block numbers is assigned. Specifically, the access unit 101 may identify the HDD identifier and block number associated with the specified range of logical block numbers using the above-described number correspondence table.

(書き込み処理)
アクセス部101がデータを書き込む要求(書き込み要求)を受けた場合の処理、すなわち書き込み処理を説明する。アクセス部101は、ボリューム提供部111から、書き込み要求と、データとを受信する。アクセス部101は、書き込み要求から、そのデータを書き込むブロックの範囲の指定を抽出する。論理ブロック番号の範囲の指定は、データの先頭の論理ブロック番号(書き込みを開始する論理ブロック番号)の指定でもよい。そして、アクセス部101は、ボリューム提供部111が受け取ったデータに対し、ブロックのサイズのデータごとに、論理ブロック番号を割り当てる。以下、ブロックのサイズのデータのまとまりをデータブロックと呼ぶこととする。アクセス部101は、それぞれのデータブロックについて、該データブロックに割り当てられた論理ブロック番号が割り当てられたブロックを特定する。HDDおよびブロック番号の特定においては、アクセス部101は、番号対応表を用いる。アクセス部101は、それぞれのデータブロックを、特定されたHDDの特定されたブロック番号のブロックに格納する。具体的には、アクセス部101は、データブロックと、そのデータブロックに基づいて特定されたブロック番号の指定を含む書き込みの要求とを、そのデータブロックに基づいて特定されたHDD30に送信する。これにより、データブロックは、データブロックに割り当てられた論理ブロック番号が割り当てられているブロックに格納される。アクセス部101は、ボリューム提供部111から受け取ったすべてのデータブロックを、上記のように格納する。
(Write process)
A process when the access unit 101 receives a data write request (write request), that is, a write process will be described. The access unit 101 receives a write request and data from the volume providing unit 111. The access unit 101 extracts, from the write request, designation of a block range in which the data is written. The range of the logical block number may be specified by the logical block number at the beginning of the data (logical block number at which writing starts). The access unit 101 assigns a logical block number to the data received by the volume providing unit 111 for each block size data. Hereinafter, a block of data having a block size is referred to as a data block. The access unit 101 identifies, for each data block, a block to which a logical block number assigned to the data block is assigned. In specifying the HDD and block number, the access unit 101 uses a number correspondence table. The access unit 101 stores each data block in the block with the specified block number of the specified HDD. Specifically, the access unit 101 transmits a data block and a write request including designation of a block number specified based on the data block to the HDD 30 specified based on the data block. As a result, the data block is stored in the block to which the logical block number assigned to the data block is assigned. The access unit 101 stores all data blocks received from the volume providing unit 111 as described above.

図4は、本実施形態のボリューム管理装置により、データが各HDD30に格納される様子を示す概念図である。図4に示されるように、データは、データブロックごとに格納先のHDDが特定され、そのHDDに格納される。なお、データを分割して格納することは、ストライピングと呼ばれる。   FIG. 4 is a conceptual diagram showing how data is stored in each HDD 30 by the volume management apparatus of this embodiment. As shown in FIG. 4, the storage destination HDD is specified for each data block, and the data is stored in the HDD. Note that dividing and storing data is called striping.

書き込みが完了すると、アクセス部101は、書き込みが完了したことをボリューム提供部111に伝える。以上の動作により、アクセス部101によるデータの書き込み処理は完了する。   When the writing is completed, the access unit 101 notifies the volume providing unit 111 that the writing has been completed. With the above operation, the data writing process by the access unit 101 is completed.

(読み出し処理)
アクセス部101がデータを読み出す要求(読み出し要求)を受けた場合の処理、すなわち読み出し処理を説明する。アクセス部101は、ボリューム提供部111から、読み出し要求を受信すると、その要求から、データを読み出す対象となるブロックの範囲の指定を抽出する。論理ブロック番号の範囲の指定は、たとえば、読み込みの開始位置と終了位置を示す2つの論理ブロック番号によって表されてもよい。次に、アクセス部101は、指定された論理ブロック番号の範囲に相当する、各HDD30上のブロック番号の範囲を特定する。すなわち、アクセス部101は、各HDD上で読み出す開始位置および終了位置を特定すればよい。そのためには、アクセス部101は、指定された範囲の各HDDに関連づけられる論理ブロック番号で最も小さな論理ブロック番号と、最も大きなブロック番号を特定すればよい。上述の特定においては、アクセス部101は、番号対応表を用いる。アクセス部101は、特定された範囲のブロック番号のブロックに格納されたデータを読み出す。具体的には、アクセス部101は、特定された範囲のブロック番号のデータブロックを読み出す要求を、各HDD30に送信する。その結果、アクセス部101は、各HDD30から、特定された範囲のブロック番号のデータブロックを取得する。そして、アクセス部101は、取得したデータブロックを、論理ブロック番号の順番にしたがってソートすることで、データを復元する。最後に、アクセス部101は、復元されたデータをボリューム提供部111に送信する。以上の動作により、アクセス部101によるデータの読み出し処理は完了する。
(Reading process)
Processing when the access unit 101 receives a request to read data (read request), that is, read processing will be described. When the access unit 101 receives a read request from the volume providing unit 111, the access unit 101 extracts, from the request, designation of a block range from which data is to be read. The designation of a range of logical block numbers may be represented by two logical block numbers indicating the read start position and end position, for example. Next, the access unit 101 specifies a block number range on each HDD 30 corresponding to the designated logical block number range. That is, the access unit 101 only needs to specify the start position and the end position to be read on each HDD. For this purpose, the access unit 101 only has to specify the smallest logical block number and the largest block number among the logical block numbers associated with each HDD in the designated range. In the above identification, the access unit 101 uses a number correspondence table. The access unit 101 reads the data stored in the block having the block number in the specified range. Specifically, the access unit 101 transmits a request to read a data block having a block number in the specified range to each HDD 30. As a result, the access unit 101 acquires a data block having a block number in the specified range from each HDD 30. Then, the access unit 101 restores the data by sorting the acquired data blocks according to the order of the logical block numbers. Finally, the access unit 101 transmits the restored data to the volume providing unit 111. With the above operation, the data reading process by the access unit 101 is completed.

次に、番号対応表の生成に関わる構成要素である、分割部113と、ペア管理部114と、ペア生成部115と、および表生成部116との機能について説明する。   Next, functions of the division unit 113, the pair management unit 114, the pair generation unit 115, and the table generation unit 116, which are components related to generation of the number correspondence table, will be described.

なお、番号対応表の生成の概要は以下の通りである。
・分割部113は、HDD30の記憶領域を、N個の区間に分割する。この処理において、分割部113は、どの区間においても、その区間の開始位置から終了位置までのアクセスにかかる時間が等しくなるように、記憶領域を分割する。
・ペア生成部115は、HDD1とHDD2とから1つずつ区間を組み合わせ、N個のペアを作る。この処理において、ペア生成部115は、どのペアにおいても、ペアとして組み合わされた区間に含まれるブロックの合計が等しくなるように、ペアを生成する。なお、ペア生成部115は、生成されたペアを識別する1からNの番号(以下、ペア番号)を付与する。
・表生成部116は、論理ブロック番号が連続する一定長のデータが、ペアとして組み合わされた区間のそれぞれに分割されて格納されるように、論理ボリュームを構成する。この処理において、表生成部116は、それぞれの区間に格納されるデータのサイズの比が、その区間のブロックの数の比であるように、論理ボリュームを構成する。
The outline of generation of the number correspondence table is as follows.
The dividing unit 113 divides the storage area of the HDD 30 into N sections. In this process, the dividing unit 113 divides the storage area so that the time required for access from the start position to the end position of the section becomes equal in any section.
The pair generation unit 115 combines sections one by one from HDD1 and HDD2 to create N pairs. In this process, the pair generation unit 115 generates a pair so that the sum of blocks included in the section combined as a pair is equal in any pair. Note that the pair generation unit 115 assigns numbers 1 to N (hereinafter referred to as pair numbers) for identifying the generated pairs.
The table generation unit 116 configures a logical volume so that data of a certain length with consecutive logical block numbers is divided and stored in each of the sections combined as a pair. In this processing, the table generation unit 116 configures the logical volume so that the ratio of the size of data stored in each section is the ratio of the number of blocks in the section.

このような構成により、たとえば、論理ボリュームに格納されるデータは、HDDに格納されるデータと、HDDに格納されるデータとに分割される。そして、分割されたデータのサイズの比は、それぞれのデータが格納される区間のアクセス性能の比に準じる。各ペアを構成する区間に含まれるブロックの合計が等しくなるようにペアが作られるため、この構成によれば、論理ブロック番号の違いによるアクセス性能のばらつきは抑えられる。 With such a configuration, for example, data stored in the logical volume is divided into data stored in the HDD 1 and data stored in the HDD 2 . And the ratio of the size of the divided data is in accordance with the ratio of the access performance of the section where each data is stored. Since the pairs are formed so that the total number of blocks included in the sections constituting each pair is equal, according to this configuration, variation in access performance due to a difference in logical block number can be suppressed.

なお、本願の説明において、「等しくなるように」との文言は、必ずしも数値的に厳密に一致することを条件とする趣旨のものではない。本願が掲げる課題を解決することが可能な範囲であれば、ある程度の数値の不一致は許容される。   In the description of the present application, the phrase “so as to be equal” does not necessarily mean that the numerical values are strictly the same. As long as the problems described in the present application can be solved, a certain degree of numerical discrepancy is allowed.

各構成要素について詳細に説明する。   Each component will be described in detail.

===分割部113===
分割部113は、HDD30のC個のブロックからなる記憶領域を、N個の領域に区切る。区切るとは、すなわち、領域の境界となるブロック番号を決めることである。区切られた領域は、ブロック番号が連続したブロックの組である。以下、分割部113によって区切られた領域のそれぞれを区間と呼ぶ。また、記憶領域を区切ることを、記憶領域を分割する、とも称す。また、区間を構成するブロックのうち最もブロック番号が小さいブロックのブロック番号を、分割位置と呼ぶ。
=== Division Unit 113 ===
The dividing unit 113 divides the storage area composed of C blocks of the HDD 30 into N areas. To divide is to determine a block number that becomes a boundary between regions. The delimited area is a set of blocks having consecutive block numbers. Hereinafter, each of the areas divided by the dividing unit 113 is referred to as a section. Moreover, dividing the storage area is also referred to as dividing the storage area. In addition, the block number of the block having the smallest block number among the blocks constituting the section is referred to as a division position.

すなわち、分割部113は、C個のブロックのうち、N個の分割位置を決定する。本実施形態の説明では、C=100,000,000、N=1024とする。   That is, the dividing unit 113 determines N division positions among the C blocks. In the description of this embodiment, C = 100,000,000 and N = 1024.

分割部113は、分割位置の決定に際し、各区間のアクセス時間(後述)が均等になるように、分割位置を導出する。アクセス時間とは、HDD30がその区間のすべてのブロックにアクセスするのにかかる時間である。   When determining the division position, the division unit 113 derives the division position so that the access times (described later) of each section are equal. The access time is the time taken for the HDD 30 to access all the blocks in the section.

具体的には、たとえば、まず分割部113は、HDD30の全てのブロックにアクセスするのにかかる時間(総アクセス時間)を分割数“N”で割ることにより、1つの区間あたりの時間を算出する。そして、分割部113は、分割によって生成するそれぞれの区間のアクセス時間が、算出した時間になるように、分割位置を求めればよい。   Specifically, for example, the dividing unit 113 first calculates the time per section by dividing the time (total access time) required to access all the blocks of the HDD 30 by the division number “N”. . Then, the dividing unit 113 may obtain the division position so that the access time of each section generated by the division becomes the calculated time.

たとえば、分割部113は、ブロックごとのアクセス性能の情報を参照できるよう、構成されていてもよい。ブロックのアクセス性能は、たとえば、そのブロックにデータを読み書きするのにかかる時間の逆数によって表されてもよい。この情報を参照することにより、総アクセス時間および各区間におけるアクセス時間を計算することができる。なお、ブロックごとにアクセス性能が関連付けられた情報を、性能特性とも称する。前述の図2のグラフは、性能特性のグラフの例である。   For example, the dividing unit 113 may be configured to refer to access performance information for each block. The access performance of a block may be represented, for example, by the reciprocal of the time taken to read / write data in the block. By referring to this information, the total access time and the access time in each section can be calculated. Information associated with access performance for each block is also referred to as performance characteristics. The graph of FIG. 2 described above is an example of a graph of performance characteristics.

分割部113は、性能特性を表す近似式を用いて、分割位置を算出してもよい。具体的には、たとえば、HDD30の性能特性が、図2のグラフのように表される場合、この性能特性は、アクセス性能をy、ブロック番号をmとした、次の近似式で表すことができる。   The dividing unit 113 may calculate the division position using an approximate expression representing the performance characteristic. Specifically, for example, when the performance characteristics of the HDD 30 are expressed as in the graph of FIG. 2, the performance characteristics can be expressed by the following approximate expression where the access performance is y and the block number is m. it can.

Figure 2017174302
Figure 2017174302

上式において、vは、最も外側のトラック(m=0を含むトラック)のアクセス性能である。αは、最も外側のトラックと最も内側のトラックとのアクセス性能比である。この式のグラフは、図5で示される。   In the above equation, v is the access performance of the outermost track (tracks including m = 0). α is an access performance ratio between the outermost track and the innermost track. A graph of this equation is shown in FIG.

本実施形態では、分割部113は、上述の近似式を用いて分割位置を算出するとする。なお、本実施形態では、分割位置を容易に算出するという観点で上記の近似式を採用しているが、当然、近似式が厳密に上記の通りである必要はない。分割部113は、近似式を使わずに、各ブロックのアクセス性能に従って分割位置を算出してもよい。   In the present embodiment, it is assumed that the dividing unit 113 calculates the dividing position using the above approximate expression. In the present embodiment, the above approximate expression is adopted from the viewpoint of easily calculating the division position, but the approximate expression is not necessarily exactly as described above. The dividing unit 113 may calculate the dividing position according to the access performance of each block without using an approximate expression.

上述の近似式を用いて分割位置を算出する方法を以下に示す。以下、0番目の分割位置をブロック番号“0”とし、n(nはN−1以下の整数)番目の分割位置をpで表すとする。 A method for calculating the division position using the above approximate expression is shown below. Hereinafter, the 0-th division position and the block number "0", n (n is N-1 an integer) denote the th divided position p n.

上述の近似式に基づくと、分割位置pは以下の式によって決定できる。 Based on the approximate expression above, the division position p n can be determined by the following equation.

Figure 2017174302
Figure 2017174302

なお、この式はたとえば、ブロック番号ごとのアクセスにかかる時間を表す関数(1/y)を0からpまで積分した値が、すべてのブロックへのアクセスにかかる時間(1/yを0からCまで積分した値)のn/N倍となる、という条件から導出できる。 Incidentally, the formula for example, integrated value function representing the time it takes to access each block number (1 / y) from 0 to p n is according to access to all blocks time (1 / y 0 It can be derived from the condition that it is n / N times the value integrated up to C).

分割部113は、この式にそれぞれのnの値を代入することにより、pの値を算出し、算出したpの値をn番目の分割位置として決定する。なお、“N”、“C”、“α”の値は、予め、所定の値として、図示しない機能構成により分割部113に入力されていればよい。 Dividing unit 113, by substituting the value of each n in the formula to calculate the value of p n, it determines the value of the calculated p n as n-th division position. Note that the values of “N”, “C”, and “α” may be input in advance to the dividing unit 113 as a predetermined value with a functional configuration (not shown).

図6は、HDDおよびHDDが分割数N=1024で分割されることにより生成する区間を表す概念図である。図6に示すように、分割部113による分割で、HDDでは区間A1〜A1024、HDDでは区間B1〜B1024が生成される。 FIG. 6 is a conceptual diagram showing a section generated by dividing HDD 1 and HDD 2 by a division number N = 1024. As shown in FIG. 6, sections A <b> 1 to A <b> 1024 are generated in HDD 1 and sections B <b> 1 to B <b> 1024 are generated in HDD 2 by the division by the dividing unit 113.

このような分割によれば、アクセス性能が高い区間ほど、その区間を構成するブロックの数は多くなる。具体的には、各区間を構成するブロックの数は、その区間におけるアクセス性能の平均値(該区間内の各ブロックのアクセス性能の調和平均)にほぼ比例する。   According to such division, the higher the access performance, the larger the number of blocks constituting the section. Specifically, the number of blocks constituting each section is substantially proportional to the average value of access performance in that section (harmonic average of access performance of each block in the section).

分割部113は、算出した分割位置の情報を、ペア生成部115に送信する。または、ペア管理部114のペア管理テーブルに、算出した分割位置の情報を記録してもよい。   The dividing unit 113 transmits the calculated division position information to the pair generating unit 115. Alternatively, the calculated division position information may be recorded in the pair management table of the pair management unit 114.

===ペア管理部114===
ペア管理部114は、ペア管理テーブルを記憶する。ペア管理テーブルは、分割部113が算出した分割位置の情報と、後述するペア生成部115が生成するペアの情報が記録されたものである。
=== Pair Manager 114 ===
The pair management unit 114 stores a pair management table. In the pair management table, information on the division position calculated by the division unit 113 and information on a pair generated by the pair generation unit 115 described later are recorded.

===ペア生成部115===
ペア生成部115は、分割部113により生成された区間を、各HDD30から1つずつ組み合わせて、ペアを生成する。ペアを生成するとは、具体的には、組み合わせた区間に共通の識別番号(以下「ペア番号」と称す)を割り当てることである。ペア生成部115は、ペアの生成において、どのペアにおいても、ペアとして組み合わされた区間に含まれるブロックの合計が等しくなるように、区間を組み合わせる。たとえば、ペア生成部115は、ペア番号が割り当てられていない区間のうち、HDDにおける、ブロックの数が最も多い区間と、HDDにおける、ブロックの数が最も少ない区間とを組み合わせていけばよい。
=== Pair Generation Unit 115 ===
The pair generating unit 115 generates a pair by combining the sections generated by the dividing unit 113 one by one from each HDD 30. Specifically, generating a pair means assigning a common identification number (hereinafter referred to as “pair number”) to the combined sections. The pair generation unit 115 combines the sections so that the sum of the blocks included in the sections combined as a pair becomes equal in any pair when generating the pair. For example, the pair generation unit 115 may combine a section having the largest number of blocks in the HDD 1 and a section having the smallest number of blocks in the HDD 2 among the sections to which no pair number is assigned. .

本実施形態では、ペア生成部115は、区間A1と区間B1024とにペア番号“1”、区間A2と区間B1023とにペア番号“2”、・・・、区間A1024と区間B1とにペア番号“1024”、を割り当てることで、計1024組のペアを生成する。図7は、本実施形態において、それぞれの区間に割り当てられたペア番号の、各HDD30における位置を示す概念図である。図7のように、HDD上においては、外側に位置する区間ほど、その区間に割り当てられるペア番号は小さい。一方、HDD上においては、内側に位置する区間ほど、その区間に割り当てられるペア番号は小さい。 In this embodiment, the pair generation unit 115 sets the pair number “1” for the section A1 and the section B1024, the pair number “2” for the section A2 and the section B1023,..., The pair number for the section A1024 and the section B1. By assigning “1024”, a total of 1024 pairs are generated. FIG. 7 is a conceptual diagram showing the position in each HDD 30 of the pair number assigned to each section in the present embodiment. As shown in FIG. 7, on the HDD 1 , the pair number assigned to the section is smaller in the section located on the outer side. On the other hand, on the HDD 2 , the pair number assigned to the section is smaller in the section located on the inner side.

ペア生成部115は、生成したペアの情報をペア管理部114が記憶するペア管理テーブルに記録する。   The pair generation unit 115 records the generated pair information in the pair management table stored in the pair management unit 114.

図8は、ペア管理テーブルの例である。ペア管理テーブルは、図8のように、「ペア番号」の欄で示されたペア番号に関連する様々な情報が記録される。   FIG. 8 is an example of a pair management table. As shown in FIG. 8, the pair management table records various information related to the pair number indicated in the “pair number” column.

「HDDにおける先頭番号」は、そのペア番号が割り当てられたHDDの区間に含まれるブロックのうち、最もブロック番号が小さいブロックの、ブロック番号である。「HDDにおける先頭番号」は、そのペア番号が割り当てられたHDDの区間に含まれるブロックのうち、最もブロック番号が小さいブロックの、ブロック番号である。 The “ first number in HDD 1 ” is the block number of the block having the smallest block number among the blocks included in the section of HDD 1 to which the pair number is assigned. The “head number in HDD 2 ” is the block number of the block with the smallest block number among the blocks included in the section of HDD 2 to which the pair number is assigned.

本実施形態では、ペア番号が“k”(kは1以上n以下の整数)であるペアの、HDDにおける先頭番号は、p(k−1)である。また、ペア番号が“k”であるペアの、HDDにおける先頭番号は、p(1024−k)である。たとえば、pの値は“0”であるから、ペア番号が“1”であるペアのHDDにおける先頭番号は“0”、ペア番号が“1024”であるペアのHDDにおける先頭番号は“0”である。 In the present embodiment, the head number in HDD 1 of the pair whose pair number is “k” (k is an integer of 1 to n) is p (k−1) . The head number in the HDD 2 of the pair whose pair number is “k” is p (1024-k) . For example, since the value of p 0 is “0”, the first number in the HDD 1 of the pair whose pair number is “1” is “0”, and the first number in the HDD 2 of the pair whose pair number is “1024” is “0”.

ペア生成部115は、このように、全てのペアの先頭番号を、p、・・・、p1023の値に基づいて、特定する。ペア生成部115は、ペア管理テーブルにおける、「HDDにおける先頭番号」、「HDDにおける先頭番号」の欄に、特定した先頭番号の値を書き込む。 In this way, the pair generation unit 115 identifies the top numbers of all pairs based on the values of p 0 ,..., P 1023 . The pair generation unit 115 writes the value of the specified head number in the fields “head number in HDD 1 ” and “head number in HDD 2 ” in the pair management table.

なお、「HDDにおける先頭番号」および「HDDにおける先頭番号」を参照することにより、各ペアを構成する区間の範囲がわかる。たとえば、図8の「HDDにおける先頭番号」および「HDDにおける先頭番号」を参照すると、ペア番号が“2”であるペアを構成する区間は、HDDのブロック番号“135334”以上“270577”未満の区間と、HDDのブロック番号“99864528”以上“99932286”未満の区間と、であることがわかる。 It should be noted that the range of the sections constituting each pair can be found by referring to “the leading number in HDD 1 ” and “the leading number in HDD 2 ”. For example, referring to “the first number in HDD 1 ” and “the first number in HDD 2 ” in FIG. 8, the section constituting the pair with the pair number “2” is the block number “135334” or more “2707777” of HDD 1. It can be seen that the section is less than “” and the section having the block number “99864528” or more of the HDD 2 and less than “9992286”.

「HDDにおける容量(C)」は、そのペア番号が割り当てられたHDD上の区間に含まれるブロックの数である。「HDDにおける容量(C)」は、そのペア番号が割り当てられたHDD上の区間に含まれるブロックの数である。 “Capacity (C 1 ) in HDD 1 ” is the number of blocks included in the section on HDD 1 to which the pair number is assigned. “Capacity (C 2 ) in HDD 2 ” is the number of blocks included in the section on HDD 2 to which the pair number is assigned.

ペア生成部115は、区間に含まれるブロックの数を、その区間の先頭番号と、その区間の隣の区間の先頭番号との差から、求めればよい。たとえば、ペア番号 “k”が割り当てられた、HDDの区間に含まれるブロックの数Cは、pとp(n−1)との差である(ただし、便宜的にp1024=100,000,000とする)。ペア番号 “k”が割り当てられた、HDDの区間に含まれるブロックの数Cは、p(1024−k)とp(1025−k)との差である。 The pair generation unit 115 may determine the number of blocks included in a section from the difference between the head number of the section and the head number of the section adjacent to the section. For example, the number C 1 of blocks included in the section of HDD 1 to which the pair number “k” is assigned is the difference between pn and p (n−1) (for convenience, p 1024 = 100 , 000,000). The number C 2 of blocks included in the section of HDD 2 to which the pair number “k” is assigned is the difference between p (1024-k) and p (1025-k) .

図8の「HDDにおける容量(C)」および「HDDにおける容量(C)」の欄を参照すると、たとえば、ペア番号“2”が割り当てられた区間に含まれるブロックは、HDDには135243個、HDDには67758個あることがわかる。 Referring to the “Capacity (C 1 ) in HDD 1 ” and “Capacity (C 2 ) in HDD 2 ” fields of FIG. 8, for example, blocks included in the section to which the pair number “2” is assigned are HDD 1. It can be seen that there are 135243 in the HDD and 67758 in the HDD 2 .

「ペア容量」は、そのペア番号が割り当てられた区間に含まれるブロックの総和である。すなわち、ペア容量は、C+Cである。図8の「ペア容量」の欄を参照すると、たとえば、ペア番号 が“2”であるペアのペア容量は、“203001”である。 “Pair capacity” is the sum of blocks included in the section to which the pair number is assigned. That is, the pair capacity is C 1 + C 2 . Referring to the “pair capacity” column in FIG. 8, for example, the pair capacity of the pair whose pair number is “2” is “203001”.

ペア生成部115は、同一のペア番号が割り当てられた区間に含まれるブロックには、連続した論理ブロック番号を割り当てる。   The pair generation unit 115 assigns consecutive logical block numbers to blocks included in a section to which the same pair number is assigned.

「先頭論理番号」は、そのペア番号が割り当てられた区間の、論理ボリュームにおける開始位置を示す。本実施形態では、論理ボリュームは、同一のペア番号が割り当てられた区間に含まれるブロックには、連続した論理ブロック番号が割り当てられるように構成される。したがって、各々のペア番号は1つの「先頭論理番号」を持つ。本実施形態では、ペア生成部115は、ペア番号が小さいペアほど、先頭論理番号が小さくなるように、先頭番号を割り当てる。この場合、ペア生成部115は、ペア番号が“1”であるペアの先頭論理番号を“0”と決定する。そして、ペア生成部115は、ペア番号が“k” (2≦k≦N)であるペアの先頭論理番号を、(ペア番号が“k−1”であるペアの先頭論理番号)+(ペア番号が“k−1”であるペアのペア容量)によって算出する。   The “first logical number” indicates the start position in the logical volume in the section to which the pair number is assigned. In this embodiment, the logical volume is configured such that consecutive logical block numbers are assigned to blocks included in a section to which the same pair number is assigned. Therefore, each pair number has one “first logical number”. In the present embodiment, the pair generation unit 115 assigns the head number so that the pair with the smaller pair number has a smaller head logical number. In this case, the pair generation unit 115 determines that the top logical number of the pair whose pair number is “1” is “0”. Then, the pair generation unit 115 obtains the first logical number of the pair whose pair number is “k” (2 ≦ k ≦ N), (the first logical number of the pair whose pair number is “k−1”) + (pair (Pair capacity of a pair whose number is “k−1”).

たとえば、図8に示す例において、ペア番号が“3”であるペアの先頭論理番号は、ペア番号が“2”であるペアの先頭論理番号が“203048”、ペア番号が“2”であるペアのペア容量が“203001”であることに基づけば、“406049”であると求められる。   For example, in the example shown in FIG. 8, the first logical number of the pair whose pair number is “3” is “203048” as the first logical number of the pair whose pair number is “2”, and the pair number is “2”. Based on the pair capacity of the pair being “203001”, it is determined that it is “406049”.

ペア生成部115は、たとえば、ペア番号が“1”であるペアから順に、上述の演算に基づいて先頭論理番号を決定していけばよい。ペア生成部115は、ペアの先頭論理番号を決定するごとに、決定した先頭論理番号を、ペア管理テーブルに書き込めばよい。   For example, the pair generation unit 115 may determine the first logical number based on the above-described calculation in order from the pair whose pair number is “1”. Each time the pair generation unit 115 determines the top logical number of the pair, the pair generation unit 115 may write the determined top logical number in the pair management table.

なお、上述のように先頭論理番号を決定することにより、ペア番号 “k”が割り当てられた区間に含まれるブロックに割り当てられる論理ブロック番号は、すべて、ペア番号が“k”であるペアの先頭論理番号以上、ペア番号が“k+1”であるペアの先頭論理番号未満となる。すなわち、ペア番号が“k”であるペアの先頭論理番号以上、ペア番号が“k+1”であるペアの先頭論理番号未満の、範囲内の論理ブロック番号は、ペア番号“k”に関連づけられている、といえる。   By determining the head logical number as described above, the logical block numbers assigned to the blocks included in the section to which the pair number “k” is assigned are all the heads of the pair whose pair number is “k”. The logical number is equal to or greater than the first logical number of the pair whose pair number is “k + 1”. That is, a logical block number within a range that is greater than or equal to the first logical number of the pair whose pair number is “k” and less than the first logical number of the pair whose pair number is “k + 1” is associated with the pair number “k”. It can be said that.

以上のようにして、ペア生成部115は、生成した1024組のペアに関する、各HDDにおける先頭番号、C、C、ペア容量、および先頭論理番号を、ペア管理テーブルに記録する。 As described above, the pair generation unit 115 records the head number, C 1 , C 2 , pair capacity, and head logical number in each HDD regarding the generated 1024 pairs in the pair management table.

なお、ペア管理テーブル上の値を用いて行われる値の演算は、ペア管理部114に備わる演算機能によって行われてもよい。   The value calculation performed using the values on the pair management table may be performed by a calculation function provided in the pair management unit 114.

===表生成部116===
表生成部116は、ペア管理部114が記憶するペア管理テーブルに基づいて、論理ブロック番号と、HDDおよびブロック番号の組とを一意に関連づける番号対応表を生成する。
=== Table Generator 116 ===
Based on the pair management table stored in the pair management unit 114, the table generation unit 116 generates a number correspondence table that uniquely associates a logical block number with a set of HDD and block number.

以下に、表生成部116が番号対応表を生成する具体的な処理の例を記載する。   Hereinafter, an example of specific processing in which the table generation unit 116 generates the number correspondence table will be described.

表生成部116は、ペア番号ごとに、論理ブロック番号と、HDDおよびブロック番号の組とを関連づける。以下、表生成部116が、ペア番号“k”が割り当てられた区間に含まれるブロックのブロック番号と、論理ブロック番号とを関連づける方法を、説明する。なお、以下、表生成部116によって、論理ブロック番号のそれぞれに関連づけられるHDDを「アクセス先HDD」、論理ブロック番号のそれぞれに関連づけられるブロック番号を「アクセス先番号」と呼ぶ。   The table generator 116 associates a logical block number with a set of HDD and block number for each pair number. Hereinafter, a method in which the table generation unit 116 associates the block number of the block included in the section to which the pair number “k” is assigned with the logical block number will be described. Hereinafter, the HDD that is associated with each logical block number by the table generation unit 116 is referred to as “access destination HDD”, and the block number that is associated with each logical block number is referred to as “access destination number”.

まず、表生成部116は、ペア番号 “k”に関連づけられる論理ブロック番号の範囲を特定する。ペア番号 “k”に関連づけられる論理ブロック番号の範囲は、ペア番号が“k”であるペアの先頭論理番号以上、ペア番号が“k+1”であるペアの先頭論理番号未満の範囲である。また、表生成部116は、ペア番号が“k”であるペアのCおよびCの値を、ペア管理テーブルより取得する。 First, the table generating unit 116 specifies a range of logical block numbers associated with the pair number “k”. The range of the logical block number associated with the pair number “k” is a range that is greater than or equal to the first logical number of the pair whose pair number is “k” and less than the first logical number of the pair whose pair number is “k + 1”. In addition, the table generation unit 116 acquires the values of C 1 and C 2 of the pair whose pair number is “k” from the pair management table.

表生成部116は、ペア番号 “k”に関連づけられる論理ブロック番号の範囲の論理ブロック番号のそれぞれに対し、HDDまたはHDDを、アクセス先HDDとして関連づける。ただし、表生成部116は、このとき、ペア番号 “k”に関連づけられる論理ブロック番号の範囲の論理ブロック番号のうち、C個の論理ブロック番号にHDDを、C個の論理ブロック番号にHDDを関連づける。 The table generation unit 116 associates HDD 1 or HDD 2 as an access destination HDD with respect to each logical block number in the range of logical block numbers associated with the pair number “k”. However, Table generator 116, this time, of the logical block number from the logical block number associated with the pair number "k", the HDD 1 to C 1 single logical block number, C 2 pieces of logical block number Associate HDD 2 with.

たとえば、ペア番号が“1”であるペアについて、図8に示される例に基づけば、表生成部116は、“0”以上“203048”未満の論理ブロック番号のうち、135334個の論理ブロック番号にHDDを関連づけ、67714個の論理ブロック番号にHDDを関連づける。 For example, based on the example shown in FIG. 8 for the pair whose pair number is “1”, the table generating unit 116 selects 135334 logical block numbers from among the logical block numbers “0” or more and less than “203048”. Associate HDD 1 with 67714 and associate HDD 2 with 67714 logical block numbers.

論理ブロック番号にアクセス先HDDを関連づける方法は、上述のように、C個の論理ブロックにHDDを、C個の論理ブロック番号にHDDを関連づける方法であれば、任意の方法でよい。好ましくは、ペア番号 “k”に関連づけられる論理ブロック番号の範囲内の、任意の長さの範囲の論理ブロック番号の集合においても、HDDに関連づけられる論理ブロック番号の数と、HDDに関連づけられる論理ブロック番号の数との比がほぼC:Cであるような方法がよい。そのように構成されることで、一部に対するアクセスであってもアクセス性能のばらつきが抑えられる。 How to associate an access destination HDD to the logical block number, as described above, the HDD 1 to C 1 logical blocks, as long as the method associating HDD 2 to C 2 amino logical block number may be any method . Preferably, the number of logical block numbers associated with HDD 1 and the number of logical block numbers associated with HDD 2 in the set of logical block numbers within an arbitrary length within the range of logical block numbers associated with pair number “k” A method in which the ratio to the number of logical block numbers to be obtained is approximately C 1 : C 2 is preferable. With such a configuration, variation in access performance can be suppressed even when accessing a part.

アクセス先HDDを関連づける方法の一つの例を説明する。たとえば、表生成部116は、ペア番号 “k”に関連づけられる論理ブロック番号のうち、C個の論理ブロック番号をランダムに選ぶ。表生成部116は、選んだ論理ブロック番号にHDDを関連づける。表生成部116は、選ばなかったブロック番号にHDDを関連づける。 An example of a method for associating the access destination HDD will be described. For example, the table generation unit 116 randomly selects C 1 logical block numbers among the logical block numbers associated with the pair number “k”. The table generator 116 associates HDD 1 with the selected logical block number. The table generation unit 116 associates the HDD 2 with the block numbers that are not selected.

アクセス先HDDを関連づける方法の他の例を説明する。たとえば、表生成部116は、論理ブロック番号の小さいものから順に、CおよびCの値の大きさに応じた確率に基づいて、HDDまたはHDDをランダムに関連づける。たとえば、表生成部116は、各論理ブロック番号に0〜1のランダム値を与え、そのランダム値がC/(C+C)以下である論理ブロック番号にはHDDを、そうでない論理ブロック番号にはHDDを関連づける。ただし、HDDを関連づけていく過程で、一方のHDDに関連づけられた論理ブロック番号の数が、そのHDDにおける容量(CまたはC)に達した場合には、HDDが関連付けられていない以降の論理ブロック番号に、他方のHDDを関連づける。 Another example of a method for associating the access destination HDD will be described. For example, the table generation unit 116 associates HDD 1 or HDD 2 at random based on the probability corresponding to the magnitude of the values of C 1 and C 2 in order from the smallest logical block number. For example, the table generation unit 116 gives a random value of 0 to 1 to each logical block number, and HDD 1 is assigned to a logical block number whose random value is equal to or less than C 1 / (C 1 + C 2 ). HDD 2 is associated with the block number. However, in the process of associating HDDs, if the number of logical block numbers associated with one HDD reaches the capacity (C 1 or C 2 ) in that HDD, the subsequent processes in which the HDD is not associated The other HDD is associated with the logical block number.

表生成部116は、各論理ブロック番号とアクセス先HDDとを関連づけた情報を、表記憶部117に記録する。例として、図9に、表生成部116が、ペア番号が“1”であるペアの論理ブロック番号のそれぞれにアクセス先HDDを関連づけた表の例を示す。図9に示す例では、表の左2列において、論理ブロック番号と、アクセス先HDDが関連付けられている。   The table generation unit 116 records information in which each logical block number is associated with the access destination HDD in the table storage unit 117. As an example, FIG. 9 shows an example of a table in which the table generation unit 116 associates an access destination HDD with each logical block number of a pair whose pair number is “1”. In the example illustrated in FIG. 9, the logical block number and the access destination HDD are associated with each other in the left two columns of the table.

各論理ブロック番号とアクセス先HDDとを関連づけたら、表生成部116は、HDDに関連づけられた各論理ブロック番号には0からC−1の番号を一意に割り当てる。表生成部116は、HDDに関連づけられた各論理ブロック番号には0からC−1の番号を一意に割り当てる。以下、この割り当てられる番号を、「ペア内番号」と称する。ペア内番号は、ペア番号とアクセス先HDDが同一である論理ブロック番号の集合における序列を表す。 After associating each logical block number with the access destination HDD, the table generating unit 116 uniquely assigns a number from 0 to C 1 −1 to each logical block number associated with HDD 1 . The table generation unit 116 uniquely assigns a number from 0 to C 2 −1 to each logical block number associated with the HDD 2 . Hereinafter, this assigned number is referred to as “in-pair number”. The intra-pair number represents an order in a set of logical block numbers having the same pair number and access destination HDD.

本実施形態では、ペア生成部115は、論理ブロック番号が小さいほど、小さいペア内番号を割り当てる。この結果、各論理ブロック番号に割り当てられるペア内番号は、図9のようになる。すなわち、「HDDにおけるペア内番号」の欄においては、アクセス先HDDがHDDである論理ブロック番号に対して、論理ブロック番号が小さい順に0からC−1の番号が割り当てられる。「HDDにおけるペア内番号」の欄においては、アクセス先HDDがHDDである論理ブロック番号に対して、論理ブロック番号が小さい順に0からC−1の番号が割り当てられる。 In the present embodiment, the pair generation unit 115 assigns a smaller intra-pair number as the logical block number is smaller. As a result, the intra-pair number assigned to each logical block number is as shown in FIG. In other words, in the “number in pair in HDD 1 ” column, numbers from 0 to C 1 -1 are assigned to the logical block number whose access destination HDD is HDD 1 in ascending order of the logical block number. In the “in-pair number in HDD 2 ” column, numbers from 0 to C 2 −1 are assigned to the logical block number whose access destination HDD is HDD 2 in ascending order of the logical block number.

ペア内番号を割り当てたら、表生成部116は、それぞれの論理ブロック番号に、アクセス先番号を割り当てる。表生成部116は、それぞれの論理ブロック番号に割り当てるアクセス先番号を、ペア番号が“k”であるペアの先頭論理番号、および、上記割り当てたペア内番号に基づいて、算出する。具体的には、表生成部116は、アクセス先番号を、(先頭論理番号)+(ペア内番号)によって算出する。図10は、図9の表に基づいて算出された、ペア番号が“1”であるペアの各論理ブロック番号のアクセス先番号の例である。図10の表において、「アクセス先番号」の欄にて、各論理ブロック番号に割り当てられるアクセス先番号が記録される。   After assigning the intra-pair number, the table generating unit 116 assigns an access destination number to each logical block number. The table generation unit 116 calculates an access destination number to be assigned to each logical block number based on the top logical number of the pair whose pair number is “k” and the assigned intra-pair number. Specifically, the table generation unit 116 calculates the access destination number by (first logical number) + (in-pair number). FIG. 10 is an example of the access destination number of each logical block number of the pair whose pair number is “1” calculated based on the table of FIG. In the table of FIG. 10, the access destination number assigned to each logical block number is recorded in the “access destination number” column.

以上のようにして、表生成部116は、ペア番号が“k”であるペアが占める論理ブロック番号の範囲の論理ブロック番号のそれぞれと、アクセス先HDDおよびアクセス先番号の組を、一意に関連づける。表生成部116は、論理ブロック番号とアクセス先のHDDおよびアクセス先番号の組とを関連づけた情報を、番号対応表に記録する。   As described above, the table generation unit 116 uniquely associates each logical block number in the range of logical block numbers occupied by the pair having the pair number “k” with the pair of the access destination HDD and the access destination number. . The table generation unit 116 records information in which the logical block number is associated with the access destination HDD and the set of access destination numbers in the number correspondence table.

なお、番号対応表上の値を用いて行われる演算は、表記憶部117に備わる演算機能によって行われてもよい。   Note that the calculation performed using the values on the number correspondence table may be performed by a calculation function provided in the table storage unit 117.

<動作>
次に、第1の実施形態に係るボリューム管理装置11の動作の流れを説明する。
<Operation>
Next, an operation flow of the volume management apparatus 11 according to the first embodiment will be described.

(論理ボリュームの作成)
ボリューム管理装置11が、2つのHDD30を使用することが決定すると、ボリューム管理装置11は、図11に示す手順で論理ボリュームを作成する。
(Create logical volume)
When the volume management apparatus 11 determines to use two HDDs 30, the volume management apparatus 11 creates a logical volume according to the procedure shown in FIG.

まず、分割部113は、パラメータの値、たとえば、使用するHDD30のブロックの数“C”、HDD30の最も外側のトラックと最も内側のトラックとのアクセス性能比“α”、および、HDD30の分割数“N”の値を取得する(ステップS111)。   First, the dividing unit 113 sets parameter values, for example, the number of blocks of the HDD 30 to be used “C”, the access performance ratio “α” between the outermost track and the innermost track of the HDD 30, and the number of divisions of the HDD 30. The value “N” is acquired (step S111).

次に、分割部113は、取得したパラメータに基づいて、分割された後の各区間のアクセス時間が均等になるように、分割位置を算出する(ステップS112)。   Next, the dividing unit 113 calculates the dividing position based on the acquired parameters so that the access times of the sections after the division are equalized (step S112).

分割部113は、算出された分割位置の情報を、ペア生成部115に送る。本実施形態の場合、各“k”に関する、pk−1の値およびHDDにおける先頭番号の値は等しいため、分割部113は、ペア管理部114のペア管理テーブルの「HDDにおける先頭番号」の欄に、分割位置の値を記録してもよい。 The division unit 113 sends the calculated division position information to the pair generation unit 115. In the present embodiment, since the value of p k−1 and the value of the head number in HDD 1 for each “k” are equal, the dividing unit 113 sets “head number in HDD 1 ” in the pair management table of the pair management unit 114. The value of the division position may be recorded in the "" column.

ペア生成部115は、分割された各区間を、各HDD30から1つずつ組み合わせ、ペアを生成する(ステップS113)。ペア生成部115は、生成したペアのそれぞれに関する情報、たとえば、ペア生成部115は、各HDDにおける先頭番号、C、C、ペア容量、および先頭論理番号を、ペア管理テーブルに記録する。(ステップS114)。 The pair generation unit 115 generates a pair by combining the divided sections one by one from each HDD 30 (step S113). The pair generation unit 115 records information on each of the generated pairs, for example, the head generation number, C 1 , C 2 , pair capacity, and head logical number in each HDD in the pair management table. (Step S114).

表生成部116は、ペア管理テーブルに基づいて、ペア番号ごとに、そのペア番号が割り当てられたペアが占める論理ブロック番号の範囲の論理ブロック番号のそれぞれに、アクセス先HDDを関連づける(ステップS115)。そして、表生成部116は、各論理ブロック番号に、アクセス先番号を割り当てる(ステップS116)。これにより、表生成部116は、論理ブロック番号と、アクセス先HDDおよびアクセス先番号の組とが一意に関連づけられた、番号対応表を生成する(ステップS117)。表生成部116は、番号対応表を表記憶部117に記録する。   Based on the pair management table, the table generation unit 116 associates, for each pair number, an access destination HDD with each logical block number in the range of logical block numbers occupied by the pair to which the pair number is assigned (step S115). . Then, the table generation unit 116 assigns an access destination number to each logical block number (step S116). Thereby, the table generation unit 116 generates a number correspondence table in which the logical block number, the access destination HDD, and the access destination number pair are uniquely associated (step S117). The table generation unit 116 records the number correspondence table in the table storage unit 117.

以上の動作により、論理ボリュームが作成される。すなわち、ボリューム管理装置11による、論理ボリュームの提供の準備が調う。   With the above operation, a logical volume is created. That is, preparations for provision of logical volumes by the volume management apparatus 11 are made.

(アクセス)
ホスト装置20が論理ボリュームへアクセスする場合の、本実施形態に係るボリューム管理装置11の動作を説明する。図12は、ホスト装置20が論理ボリュームにアクセスする場合の、ボリューム管理装置11の動作の流れを示すフローチャートである。
(access)
The operation of the volume management apparatus 11 according to this embodiment when the host apparatus 20 accesses a logical volume will be described. FIG. 12 is a flowchart showing an operation flow of the volume management apparatus 11 when the host apparatus 20 accesses a logical volume.

まず、ボリューム提供部111は、ホスト装置20から、読み出しまたは書き込みの要求と、論理ブロック番号の範囲の指定とを受け取る(ステップS121)。この要求が書き込みの要求である場合は、ボリューム提供部111は、書き込まれるデータも受け取る。ボリューム提供部111は、受け取った要求および指定をアクセス部101に渡す。   First, the volume providing unit 111 receives a read or write request and designation of a range of logical block numbers from the host device 20 (step S121). If this request is a write request, the volume provider 111 also receives data to be written. The volume providing unit 111 passes the received request and designation to the access unit 101.

アクセス部101は、要求された論理ブロック番号の範囲に相当する、各HDDのブロック番号の範囲を、番号対応表に基づいて特定する(ステップS122)。   The access unit 101 specifies the block number range of each HDD corresponding to the requested logical block number range based on the number correspondence table (step S122).

アクセス部101は、特定したブロック番号の範囲にアクセスする(ステップS123)。そして、アクセス部101は、アクセスした結果を、ボリューム提供部111に渡す。   The access unit 101 accesses the specified block number range (step S123). Then, the access unit 101 passes the accessed result to the volume providing unit 111.

最後に、ボリューム提供部111は、受け取った結果を、ホスト装置20に渡す(ステップS124)。   Finally, the volume providing unit 111 passes the received result to the host device 20 (step S124).

以上の動作により、ボリューム管理装置11は、ホスト装置20に対して論理ボリュームとしての機能を提供する。   With the above operation, the volume management device 11 provides the host device 20 with a function as a logical volume.

<効果>
本実施形態によれば、HDD上のブロックの位置の違いによるアクセス性能の差に起因する非効率性を低減することができる。その理由は、分割部113が、HDDの記憶領域を、どの区間においても総アクセス時間が等しくなるように分割し、かつ、ペア生成部115が、どのペアにおいてもペア容量が等しくなるようにペアを生成するからである。この構成により、どのペアにおいても、ペアのアクセス性能(=ペア容量/総アクセス時間)は、等しい。すなわち、ペアの違い(すなわち、論理ブロック番号)の違いによる、アクセス性能の不均衡が、低減される。
<Effect>
According to the present embodiment, inefficiency due to a difference in access performance due to a difference in the position of a block on the HDD can be reduced. The reason is that the dividing unit 113 divides the storage area of the HDD so that the total access time is equal in any section, and the pair generation unit 115 sets the pair capacity so that the pair capacity is equal in any pair. It is because it produces | generates. With this configuration, the pair access performance (= pair capacity / total access time) is equal in any pair. That is, an imbalance in access performance due to a difference in pair (ie, logical block number) is reduced.

本実施形態で説明した例では、分割部113が、分割位置を近似式に基づいて算出するため、ペアによってペア容量が若干異なるが、単純にアクセス先を高速領域と低速領域に半分ずつ配分する方法に比べれば、アクセス性能の不均衡は小さい。たとえば、本実施形態で説明した例の場合、最もペア容量が大きいペアは、ペア番号が“1”であるペアであり、最もペア容量が小さいペアは、ペア番号が“512”であるペアである。しかし、前者のペア容量は“203048”で、後者のペア容量は“191456”であり、ペア容量にはほとんど差がない。つまり、アクセス性能(ペア容量に反比例する)は、いずれのペアにおいてもほとんど差がないことがわかる。   In the example described in the present embodiment, since the dividing unit 113 calculates the dividing position based on the approximate expression, the pair capacity is slightly different depending on the pair, but the access destination is simply allocated to the high speed area and the low speed area in half. Compared with the method, the access performance imbalance is small. For example, in the example described in the present embodiment, the pair with the largest pair capacity is the pair with the pair number “1”, and the pair with the smallest pair capacity is the pair with the pair number “512”. is there. However, the former pair capacity is “203048” and the latter pair capacity is “191456”, and there is almost no difference in the pair capacity. That is, it can be seen that the access performance (inversely proportional to the pair capacity) has almost no difference in any pair.

また、アクセス部101が一部の区間にアクセスする場合であっても、アクセス性能の不均衡性は著しくならない。すなわち、アクセス性能は、どの区間内の部分に対するアクセスであっても、ほぼ一定の値となる。その理由は、アクセスされるHDDのブロックの数と、アクセスされるHDDのブロックの数との比が、ほぼ、容量の比(アクセス性能の比に比例する)であるC:Cになるからである。 Even when the access unit 101 accesses a part of the section, the imbalance of the access performance does not become significant. That is, the access performance is a substantially constant value regardless of the access in any section. The reason for this is that the ratio of the number of blocks of the accessed HDD 1 and the number of blocks of the accessed HDD 2 is approximately the capacity ratio (proportional to the ratio of access performance) C 1 : C 2 Because it becomes.

また、本実施形態によれば、最低性能を向上させることができる。その理由は、アクセス性能が均一化されるからである。また、次の概算によっても、この効果は明白である。   Moreover, according to this embodiment, the minimum performance can be improved. This is because the access performance is made uniform. This effect is also evident by the following estimate.

上述したように、本実施形態で説明されたペアは、アクセス性能がほぼ等しいので、例として、ペア番号が“1”であるペアに割り当てられる論理ブロック番号におけるアクセス性能を考える。   As described above, since the pairs described in this embodiment have almost the same access performance, the access performance in the logical block number assigned to the pair whose pair number is “1” is considered as an example.

たとえば、HDDとHDDとが、ホスト装置20から要求された処理を同時に行う場合、2つのHDDの処理は、ほぼ同時に完了する。このときのアクセス性能を、アクセス性能比が0.5であるとして概算する。分割数Nが十分に大きいという仮定のもとでは、HDDが、HDDの約2倍の速さの処理を、2倍の数のブロックに対して行う。従って、HDDとHDDとを組み合わせることにより算出されるアクセス性能はHDDの最低性能の約3倍である。どのペアにおいてもアクセス性能はほぼ等しいので、このアクセス性能が、本実施形態における最低性能である。なお、アクセス性能比をαとするならば、アクセス性能は、最低性能の約(1+1/α)倍である。この性能は、単にHDDを2台同時に用いることで最低性能を2倍にした場合の最低性能に比べて遥かに高い。 For example, when HDD 1 and HDD 2 perform the processing requested from the host device 20 at the same time, the processing of the two HDDs is completed almost simultaneously. The access performance at this time is approximated assuming that the access performance ratio is 0.5. Under the assumption that the division number N is sufficiently large, the HDD 1 performs processing about twice as fast as the HDD 2 on the double number of blocks. Therefore, the access performance calculated by combining HDD 1 and HDD 2 is about three times the minimum performance of the HDD. Since the access performance is almost equal in any pair, this access performance is the lowest performance in the present embodiment. If the access performance ratio is α, the access performance is about (1 + 1 / α) times the minimum performance. This performance is much higher than the minimum performance when the minimum performance is doubled by simply using two HDDs simultaneously.

また、たとえば、HDDとHDDとが、ホスト装置20から要求された処理を交互に行う場合、2つのHDDの組み合わせによるアクセス性能は、最低性能の約(1+1/α)/2倍(α=0.5の場合は、約1.5倍)となる。すなわち、この場合も、最低性能は向上する。 Further, for example, when HDD 1 and HDD 2 alternately perform processing requested by the host device 20, the access performance by the combination of the two HDDs is about (1 + 1 / α) / 2 times (α = 0.5, it is approximately 1.5 times). That is, also in this case, the minimum performance is improved.

<<第2の実施形態>>
第1の実施形態に係るボリューム管理装置11は、番号対応表に基づいてアクセス先を特定する。しかし、仮に、論理ブロック番号が、再現性のある決定方法によって、アクセス先HDDとブロック番号とに一意に関連づけられるならば、番号対応表を用意する必要はない。
<< Second Embodiment >>
The volume management apparatus 11 according to the first embodiment specifies an access destination based on the number correspondence table. However, if the logical block number is uniquely associated with the access destination HDD and the block number by a reproducible determination method, it is not necessary to prepare a number correspondence table.

以下、番号対応表を用いる必要がない実施形態として、第2の実施形態について説明する。   Hereinafter, the second embodiment will be described as an embodiment that does not require the use of a number correspondence table.

<構成>
図13は、第2の実施形態に係るボリューム管理装置12の構成を示すブロック図である。ボリューム管理装置12は、第1の実施形態と比べて、情報提供部120に、表生成部116と表記憶部117とを備えず、アクセス先特定部126およびカウンタ127を備える。なお、第1の実施形態の構成要素と同等の機能を有する構成要素には同一の符号を付し、その同等の機能に関する説明を省略する。
<Configuration>
FIG. 13 is a block diagram showing the configuration of the volume management apparatus 12 according to the second embodiment. Compared with the first embodiment, the volume management apparatus 12 does not include the table generation unit 116 and the table storage unit 117 in the information providing unit 120 but includes an access destination specifying unit 126 and a counter 127. In addition, the same code | symbol is attached | subjected to the component which has a function equivalent to the component of 1st Embodiment, and description regarding the equivalent function is abbreviate | omitted.

===アクセス部101===
本実施形態では、アクセス部101はアクセス先特定部126に接続される。アクセス部101の機能は第1の実施形態において説明した機能と同様である。ただし、アクセス部101は、HDD30へのアクセスの際、アクセス先特定部126に、ホスト装置20が指定した論理ブロック番号を渡す。アクセス先HDDおよびアクセス先番号を、アクセス先特定部126から受け取る。
=== Access Unit 101 ===
In the present embodiment, the access unit 101 is connected to the access destination specifying unit 126. The function of the access unit 101 is the same as the function described in the first embodiment. However, the access unit 101 passes the logical block number designated by the host device 20 to the access destination specifying unit 126 when accessing the HDD 30. The access destination HDD and the access destination number are received from the access destination specifying unit 126.

===カウンタ127===
カウンタ127は、HDDに対応する変数B(x)の値と、HDDに対応する変数B(x)の値を保持する。B(x)およびB(x)については後述する。
=== Counter 127 ===
The counter 127 holds the value of the variable B 1 (x) corresponding to the HDD 1 and the value of the variable B 2 (x) corresponding to the HDD 2 . B 1 (x) and B 2 (x) will be described later.

===アクセス先特定部126===
アクセス先特定部126は、アクセス部101から受け取った論理ブロック番号から、その論理ブロック番号に関連づけられるアクセス先HDDおよびアクセス先番号を、ペア管理テーブルに基づいて特定する。このとき、アクセス先特定部126は、アクセス先HDDおよびアクセス先番号を、再現性のある特定方法によって特定する。
=== Access Destination Identification Unit 126 ===
The access destination specifying unit 126 specifies the access destination HDD and the access destination number associated with the logical block number from the logical block number received from the access unit 101 based on the pair management table. At this time, the access destination specifying unit 126 specifies the access destination HDD and the access destination number by a reproducible specification method.

以下、アクセス先特定部126が、アクセス部101から受け取った論理ブロック番号を対象として、そのブロックのアクセス先HDDおよびアクセス先番号を特定する処理について詳細に説明する。なお、以下では、アクセス部101から受け取った論理ブロック番号を対象の論理ブロック番号と呼ぶ。   Hereinafter, a process in which the access destination specifying unit 126 specifies the access destination HDD and the access destination number of the block for the logical block number received from the access unit 101 will be described in detail. Hereinafter, the logical block number received from the access unit 101 is referred to as a target logical block number.

(ペア番号の特定)
まず、アクセス先特定部126は、対象の論理ブロック番号に割り当てられるペア番号を特定する。
(Identification of pair number)
First, the access destination specifying unit 126 specifies a pair number assigned to a target logical block number.

アクセス先特定部126が、対象の論理ブロック番号に割り当てられるペア番号を特定するには、先頭論理番号が対象の論理ブロック番号を超えずかつ最も近いペアの番号を特定すればよい。たとえば、対象の論理ブロック番号が“203060”である場合、図8を参照すると、先頭論理番号が“203060”を超えずかつ最も近いのは、ペア番号が“2”であるペアである。したがって、アクセス先特定部126は、対象の論理ブロック番号に割り当てられるペア番号を“2”であると特定する。   In order for the access destination specifying unit 126 to specify the pair number assigned to the target logical block number, it is only necessary to specify the closest pair number that does not exceed the target logical block number. For example, when the target logical block number is “203060”, referring to FIG. 8, the closest logical pair that does not exceed “203060” and whose pair number is “2”. Therefore, the access destination specifying unit 126 specifies that the pair number assigned to the target logical block number is “2”.

(ペア内論理番号の特定)
次に、アクセス先特定部126は、対象の論理ブロック番号に割り当てられるペア内論理番号を特定する。ペア内論理番号とは、特定されたペア番号に含まれる論理ブロック番号の集合における、先頭論理番号を基準とする相対的な番号である。
(Identification of logical numbers in pairs)
Next, the access destination specifying unit 126 specifies the intra-pair logical number assigned to the target logical block number. The intra-pair logical number is a relative number based on the first logical number in the set of logical block numbers included in the specified pair number.

アクセス先特定部126が、対象の論理ブロック番号のペア内論理番号を特定するには、そのブロックが含まれるペアの先頭論理番号を、対象の論理ブロック番号から引けばよい。たとえば、対象の論理ブロック番号が“203,060”である場合、図8を参照すると、ペア番号が“2”であるペアの先頭論理番号が“203,048”であることがわかる。したがって、アクセス先特定部126は、対象の論理ブロック番号のペア内論理番号を203060−203048=“12”であると特定する。   In order for the access destination specifying unit 126 to specify the logical number in the pair of the target logical block number, the head logical number of the pair including the block may be subtracted from the target logical block number. For example, when the target logical block number is “203,060”, it can be seen from FIG. 8 that the first logical number of the pair whose pair number is “2” is “203,048”. Therefore, the access destination specifying unit 126 specifies the logical number in the target logical block number pair as 203060-203048 = “12”.

(アクセス先HDDの特定)
次に、アクセス先特定部126は、特定したペア内論理番号に基づいて、対象の論理ブロック番号のアクセス先HDDを特定する。
(Identification of access destination HDD)
Next, the access destination specifying unit 126 specifies the access destination HDD of the target logical block number based on the specified intra-pair logical number.

アクセス先特定部126が行う、アクセス先HDDの特定方法は、ペア番号“k”に関連づけられる論理ブロック番号のうち、アクセス先HDDがHDDと特定される論理ブロック番号の数がC個、アクセス先HDDがHDDと特定される論理ブロック番号の数がC個、となるような特定方法である。 The access destination specifying unit 126 performs an access destination HDD specifying method in which the number of logical block numbers in which the access destination HDD is specified as HDD 1 among the logical block numbers associated with the pair number “k” is C 1 , In this method, the access destination HDD is identified as HDD 2 and the number of logical block numbers is C 2 .

好ましくは、その特定方法は、任意のペア内論理番号x(0≦x≦C+C−1)について、ペア内論理番号がx以下である(x+1個の)ブロックのうち、アクセス先HDDがHDDと特定されるブロックの数と、アクセス先HDDがHDDと特定されるブロックの数の比が、C:Cに概ね準じる、という条件を満たすように、定義されるとよい。 Preferably, the specifying method is that, for an arbitrary intra-pair logical number x (0 ≦ x ≦ C 1 + C 2 −1), an access destination HDD among (x + 1) blocks whose intra-pair logical number is less than or equal to x Is defined so that the ratio of the number of blocks identified as HDD 1 and the number of blocks identified as the access destination HDD as HDD 2 satisfies the condition that it generally conforms to C 1 : C 2. .

上記条件を満たす特定方法の例を以下で説明する。   An example of a specifying method that satisfies the above conditions will be described below.

特定されたペア番号が割り当てられ、ペア内論理番号がx以下である論理ブロック番号のうち、HDDに関連づけられる論理ブロック番号の数をB(x)、HDDに関連づけられる論理ブロック番号の数をB(x)とする。 Of the logical block numbers to which the identified pair number is assigned and the logical number in the pair is less than or equal to x, the number of logical block numbers associated with HDD 1 is B 1 (x), and the logical block number associated with HDD 2 is Let the number be B 2 (x).

アクセス先特定部126は、ペア内論理番号がjである論理ブロック番号のアクセス先HDDを、次の判定によって特定する。
・B(j−1)/C≦B(j−1)/Cである場合、アクセス先HDDをHDDとする。
・B(j−1)/C>B(j−1)/Cである場合、アクセス先HDDをHDDとする。
・ただし、B(−1)=0,B(−1)=0と定義される。
The access destination specifying unit 126 specifies the access destination HDD having the logical block number whose intra-pair logical number is j by the following determination.
When B 1 (j−1) / C 1 ≦ B 2 (j−1) / C 2 , the access destination HDD is HDD 1 .
When B 1 (j−1) / C 1 > B 2 (j−1) / C 2 , the access destination HDD is HDD 2 .
However, it is defined as B 1 (−1) = 0 and B 2 (−1) = 0.

アクセス先特定部126は、B(j−1)/Cの値およびB(j−1)/Cの値を求めるために、カウンタ127を用いればよい。具体的には、アクセス先特定部126は、xの値を“0”に設定し、カウンタ127が保持するB(x)およびB(x)の値を0にして、次の繰り返し処理を行う。アクセス先特定部126は、カウンタ127が保持するB(x)およびB(x)の値を比較して上記判定を行う。アクセス先特定部126は、判定によりアクセス先HDDを特定したら、カウンタ127が保持する、アクセス先HDDと判定されたHDDに対応する変数(B(x)またはB(x))の値を“1”増加させる。そして、アクセス先特定部126は、xの値を“1”増加させる。アクセス先特定部126は、以上の処理を、x=jになるまで繰り返す。これにより、アクセス先特定部126は、B(j−1)/Cの値およびB(j−1)/Cの値を求めることができる。アクセス先特定部126は、求めた値に基づき、ペア内論理番号がjである論理ブロック番号のアクセス先HDDを特定する。 The access destination specifying unit 126 may use the counter 127 in order to obtain the value of B 1 (j−1) / C 1 and the value of B 2 (j−1) / C 2 . Specifically, the access destination specifying unit 126 sets the value of x to “0”, sets the values of B 1 (x) and B 2 (x) held by the counter 127 to 0, and performs the next iterative process. I do. The access destination specifying unit 126 compares the values of B 1 (x) and B 2 (x) held by the counter 127 to make the above determination. When the access destination specifying unit 126 specifies the access destination HDD by the determination, the counter 127 stores the value of the variable (B 1 (x) or B 2 (x)) corresponding to the HDD determined to be the access destination HDD, which is held by the counter 127. Increase “1”. Then, the access destination specifying unit 126 increases the value of x by “1”. The access destination specifying unit 126 repeats the above processing until x = j. Thereby, the access destination specifying unit 126 can obtain the value of B 1 (j−1) / C 1 and the value of B 2 (j−1) / C 2 . Based on the obtained value, the access destination specifying unit 126 specifies an access destination HDD having a logical block number whose intra-pair logical number is j.

図14は、図8で示される例に基づいて生成された、ペア番号が“2”であるペアの各ペア内論理番号xに対して、上述の特定方法を用いた場合の、各xに関連づけられるアクセス先HDD、B(x)の値、およびB(x)の値を、算出する例を説明する図である。図14を参照すると、たとえば、x=6のとき、B(5)/C>B(5)/Cであるため、x=6に関連づけられるアクセス先HDDはHDDと特定される。アクセス先特定部126は、カウンタ127が保持する、B2(x)の値を“1”増加させる。これにより、B(6)の値およびB(6)の値が確定し、x=7における判定が可能となる。 FIG. 14 shows each x in the case where the above-described specific method is used for each intra-pair logical number x of the pair whose pair number is “2” generated based on the example shown in FIG. association is accessed HDD, the value of B 1 (x), and B 2 the value of (x), is a diagram illustrating an example of calculating. Referring to FIG. 14, for example, when x = 6, since B 1 (5) / C 1 > B 2 (5) / C 2 , the access destination HDD associated with x = 6 is identified as HDD 2. The The access destination specifying unit 126 increases the value of B2 (x) held by the counter 127 by “1”. Thereby, the value of B 1 (6) and the value of B 2 (6) are fixed, and the determination at x = 7 is possible.

この特定方法によれば、任意のxについて、ペア内論理番号がx以下である(x+1個の)ブロックのうち、アクセス先HDDがHDDと特定されるブロックの数と、アクセス先HDDがHDDと特定されるブロックの数の比が、概ねC:Cとなる。その理由は、上記判定に従えば、アクセス先特定部126は、任意のxについて、B(x)/CとB(x)/Cの値がなるべく近くなるようにアクセス先HDDを特定するからである。 According to this specifying method, for an arbitrary x, the number of blocks in which the access destination HDD is specified as HDD 1 out of (x + 1) blocks whose in-pair logical number is less than or equal to x, and the access destination HDD is the HDD The ratio of the number of blocks specified as 2 is approximately C 1 : C 2 . The reason for this is that, according to the above determination, the access destination specifying unit 126 sets the access destination HDD so that the values of B 1 (x) / C 1 and B 2 (x) / C 2 are as close as possible to any x. It is because it specifies.

また、当然、x=C+C−1のときは、ペア内論理番号がx以下であるブロックのうち、アクセス先HDDがHDDと特定されるブロックの数はC、アクセス先HDDがHDDと特定されるブロックの数はCとなる。 Naturally, when x = C 1 + C 2 −1, the number of blocks in which the access destination HDD is identified as HDD 1 among the blocks having the in-pair logical number x or less is C 1 , and the access destination HDD is the number of blocks that are identified as HDD 2 becomes C 2.

(ペア内番号の特定)
対象の論理ブロック番号のアクセス先HDDが特定されたら、アクセス先特定部126は、対象の論理ブロック番号のペア内番号を特定する。対象の論理ブロック番号のペア内番号は、対象の論理ブロック番号のペア内論理番号をjとすると、アクセス先HDDがHDDである場合はB(j)−1の値、アクセス先HDDがHDDである場合はB(j)−1の値、である。
(Identification of the number in the pair)
When the access destination HDD of the target logical block number is specified, the access destination specifying unit 126 specifies the in-pair number of the target logical block number. The in-pair number of the target logical block number is the value of B 1 (j) -1 when the access destination HDD is HDD 1 , where j is the logical number in the pair of the target logical block number. In the case of HDD 2 , the value is B 2 (j) −1.

たとえば、図14を参照すると、ペア番号が“2”であるペアの、ペア内論理番号が“12”であるブロックのペア内番号は、B(12)−1=“4”である。 For example, referring to FIG. 14, the pair number of the block having the pair number “2” and the block having the pair logical number “12” is B 2 (12) −1 = “4”.

(アクセス先番号の特定)
最後に、アクセス先特定部126は、特定されたペア番号に関連づけられる先頭論理番号および特定されたペア内番号から、対象の論理ブロック番号のアクセス先番号を算出する。具体的には、アクセス先特定部126は、アクセス先番号を、(先頭論理番号)+(ペア内番号)によって算出する。
(Identification of access number)
Finally, the access destination specifying unit 126 calculates the access destination number of the target logical block number from the head logical number associated with the specified pair number and the specified intra-pair number. Specifically, the access destination specifying unit 126 calculates the access destination number by (first logical number) + (in-pair number).

たとえば、ペア番号が“2”、HDDにおけるペア内番号が“4”である論理ブロック番号のアクセス先番号は、図8のペア管理テーブルに基づけば、ペア番号が“2”であるペアの先頭論理番号“99864528”に、ペア内番号“4”を足した値である、“99864532”である。 For example, the access destination number of the logical block number with the pair number “2” and the in-pair number “4” in the HDD 2 is the number of the pair with the pair number “2” based on the pair management table of FIG. It is “99864532”, which is a value obtained by adding the in-pair number “4” to the head logical number “998864528”.

以上のようにして、アクセス先特定部126は、対象の論理ブロック番号の、アクセス先HDDおよびアクセス先番号を特定する。   As described above, the access destination specifying unit 126 specifies the access destination HDD and the access destination number of the target logical block number.

<動作>
本実施形態のボリューム管理装置12の動作を説明する。第1の実施形態との異なる部分について述べる。
<Operation>
The operation of the volume management apparatus 12 of this embodiment will be described. A different part from 1st Embodiment is described.

(論理ボリュームの作成)
論理ボリュームの作成においては、ボリューム管理装置12は図11のフローチャートのステップS111〜ステップS115を行えばよい。ステップS116以降は行わなくてよい。
(Create logical volume)
In creating a logical volume, the volume management apparatus 12 may perform steps S111 to S115 in the flowchart of FIG. Step S116 and subsequent steps need not be performed.

(アクセス)
ホスト装置20が論理ボリュームへアクセスする場合の、本実施形態に係るボリューム管理装置12の動作を説明する。
(access)
An operation of the volume management apparatus 12 according to this embodiment when the host apparatus 20 accesses a logical volume will be described.

ホスト装置20が論理ボリュームにアクセスする場合の、本実施形態に係るボリューム管理装置12の動作は、アクセス部101およびアクセス先特定部126の動作のみが異なる。以下、第1の実施形態と異なる点を説明する。   When the host device 20 accesses a logical volume, the operation of the volume management device 12 according to the present embodiment is different only in the operations of the access unit 101 and the access destination specifying unit 126. Hereinafter, differences from the first embodiment will be described.

図15は、ホスト装置20が論理ボリュームにアクセスする場合の、アクセス部101およびアクセス先特定部126の動作の流れを示すシーケンス図である。   FIG. 15 is a sequence diagram showing a flow of operations of the access unit 101 and the access destination specifying unit 126 when the host device 20 accesses a logical volume.

まず、アクセス部101は、ボリューム提供部111から、論理ブロック番号の範囲の指定を受け取る(ステップS151)。   First, the access unit 101 receives a logical block number range specification from the volume providing unit 111 (step S151).

アクセス部101は、アクセス先HDDとアクセス先番号とを特定したい論理ブロック番号を、アクセス先特定部126に渡す(ステップS152)。   The access unit 101 passes the logical block number for which the access destination HDD and the access destination number are to be specified to the access destination specifying unit 126 (step S152).

アクセス先特定部126は、論理ブロック番号を受け取る(ステップS153)と、まず、ペア管理テーブルを参照して、受け取った論理ブロック番号に関連づけられるペア番号を特定する(ステップS154)。次に、アクセス先特定部126は、受け取った論理ブロック番号のペア内論理番号を特定する(ステップS155)。   When receiving the logical block number (step S153), the access destination specifying unit 126 first refers to the pair management table and specifies the pair number associated with the received logical block number (step S154). Next, the access destination specifying unit 126 specifies the logical number within the pair of the received logical block numbers (step S155).

そして、アクセス先特定部126は、特定したペア番号および特定したペア内論理番号から、アクセス先HDDを特定する(ステップS156)。アクセス先HDDが特定されたら、アクセス先特定部126は、アクセス先番号を特定する(ステップS157)。   Then, the access destination specifying unit 126 specifies the access destination HDD from the specified pair number and the specified intra-pair logical number (step S156). When the access destination HDD is specified, the access destination specifying unit 126 specifies an access destination number (step S157).

アクセス先特定部126は、特定したアクセス先HDDの識別子とアクセス先番号とを、アクセス部101に渡す(ステップS158)。   The access destination identifying unit 126 passes the identified access destination HDD identifier and access destination number to the access unit 101 (step S158).

アクセス部101は、受け取ったアクセス先HDDの識別子とアクセス先番号とから、指定されている論理ブロック番号の範囲に相当するブロック番号の範囲を特定する(ステップS159)。   The access unit 101 specifies a range of block numbers corresponding to the range of the specified logical block number from the received identifier and access destination number of the access destination HDD (step S159).

アクセス部101は、特定されたブロック番号の範囲のブロックにアクセスする(ステップS160)。そして、アクセス部101は、アクセスした結果を、ボリューム提供部111に渡す(ステップS161)。   The access unit 101 accesses a block in the range of the specified block number (step S160). Then, the access unit 101 passes the accessed result to the volume providing unit 111 (step S161).

なお、ボリューム提供部111は、受け取った結果を、ホスト装置20に渡す。   The volume providing unit 111 passes the received result to the host device 20.

以上の動作により、ボリューム管理装置12はホスト装置20に対して論理ボリュームとしての機能を提供する。   With the above operation, the volume management device 12 provides the host device 20 with a function as a logical volume.

<効果>
第2の実施形態に係るボリューム管理装置12は、第1の実施形態に係るボリューム管理装置11と同様の効果を奏する。加えて、第2の実施形態によれば、ボリューム管理装置12は、番号対応表を用意しておく必要がないという利点がある。その理由は、アクセス先特定部126が、論理ブロック番号から、再現性のある演算処理によって、アクセス先HDDおよびアクセス先番号を一意に特定するからである。
<Effect>
The volume management apparatus 12 according to the second embodiment has the same effects as the volume management apparatus 11 according to the first embodiment. In addition, according to the second embodiment, there is an advantage that the volume management device 12 does not need to prepare a number correspondence table. The reason is that the access destination specifying unit 126 uniquely specifies the access destination HDD and the access destination number from the logical block number through reproducible arithmetic processing.

<<第3の実施形態>>
先の第2の実施形態に係るアクセス先特定部126は、対象の論理ブロック番号の、ペア内論理番号に相当する回数の繰り返し処理によって、アクセス先HDDおよびアクセス先番号を特定する。
<< Third Embodiment >>
The access destination specifying unit 126 according to the previous second embodiment specifies the access destination HDD and the access destination number by the iterative processing of the target logical block number corresponding to the in-pair logical number.

以下で説明する第3の実施形態に係るアクセス先特定部126は、対象の論理ブロック番号のペア内論理番号の値に関わらず、数回の演算でアクセス先HDDおよびアクセス先番号を特定する。   The access destination specifying unit 126 according to the third embodiment described below specifies the access destination HDD and the access destination number by several operations regardless of the value of the logical number in the pair of the target logical block number.

<構成>
図16は、第3の実施形態に係るボリューム管理装置13の構成を示すブロック図である。ボリューム管理装置13の情報提供部130は、アクセス先特定部136を備える。なお、第2の実施形態の構成要素と同様の機能を有する構成要素には同一の符号を付し、その機能に関する説明を省略する。
<Configuration>
FIG. 16 is a block diagram showing the configuration of the volume management apparatus 13 according to the third embodiment. The information providing unit 130 of the volume management apparatus 13 includes an access destination specifying unit 136. In addition, the same code | symbol is attached | subjected to the component which has a function similar to the component of 2nd Embodiment, and the description regarding the function is abbreviate | omitted.

===アクセス先特定部136===
アクセス先特定部136は、アクセス部101から受け取った論理ブロック番号から、その論理ブロック番号に関連づけられるアクセス先HDDおよびアクセス先番号を、ペア管理テーブルに基づいて特定する。
=== Access Destination Identification Unit 136 ===
The access destination specifying unit 136 specifies the access destination HDD and the access destination number associated with the logical block number from the logical block number received from the access unit 101 based on the pair management table.

本実施形態のアクセス先特定部136と、第2の実施形態のアクセス先特定部126とは、ステップS84におけるアクセス先HDDの特定方法が異なる。   The access destination specifying unit 136 of the present embodiment and the access destination specifying unit 126 of the second embodiment differ in the method of specifying the access destination HDD in step S84.

以下、アクセス先特定部136が対象の論理ブロック番号のペア番号およびペア内論理番号からアクセス先HDDを特定する方法について説明する。対象の論理ブロック番号のペア番号およびペア内論理番号を特定する方法は、第2の実施形態のアクセス先特定部126と同様である。   Hereinafter, a method in which the access destination specifying unit 136 specifies the access destination HDD from the pair number of the target logical block number and the logical number in the pair will be described. The method of specifying the pair number of the target logical block number and the logical number within the pair is the same as that of the access destination specifying unit 126 of the second embodiment.

任意のペアについて、ペア内論理番号がx以下である論理ブロック番号のうち、HDDに関連づけられる論理ブロック番号の数をB(x)、HDDに関連づけられる論理ブロック番号の数をB(x)とする。 For an arbitrary pair, among the logical block numbers whose logical number in the pair is less than or equal to x, the number of logical block numbers associated with HDD 1 is B 1 (x), and the number of logical block numbers associated with HDD 2 is B 2 (X).

(x)およびB(x)が、計算式で定義されたとする。すると、ペア内論理番号xに関連づけられるアクセス先HDDは、B(x)の値とB(x−1)の値とが異なる場合はHDD、B(x)の値とB(x−1)の値とが異なる場合はHDDであるといえる。すなわち、アクセス先特定部136は、B(x)−B(x−1)の値が1である場合は、アクセス先HDDはHDDであると判断し、そうでない場合は、アクセス先HDDはHDDであると判断すればよい。ただし、x=0の場合は、B(0)、B(0)のうち値が1である方に相当するHDDがアクセス先HDDである。 Assume that B 1 (x) and B 2 (x) are defined by calculation formulas. Then, the access destination HDD associated pair within the logical number x is, B 1 HDD 1 If the value of the value of (x) and B 1 (x-1) are different, B 2 values and B 2 of the (x) If the value of (x−1) is different, it can be said that it is HDD 2 . That is, if the value of B 1 (x) −B 1 (x−1) is 1, the access destination specifying unit 136 determines that the access destination HDD is HDD 1; It may be determined that the HDD is HDD 2 . However, when x = 0, the HDD corresponding to the value of 1 among B 1 (0) and B 2 (0) is the access destination HDD.

(x)およびB(x)は、それぞれ次の式に示されるf(x)またはf(x)に準ずる関数として定義されればよい。 B 1 (x) and B 2 (x) may be defined as functions according to f 1 (x) or f 2 (x) shown in the following equations, respectively.

Figure 2017174302
Figure 2017174302

1つの方法として、B(x)およびB(x)は、次の計算によって算出可能である。Round(x)は、xを四捨五入して整数にすることを意味し、[]はガウス記号(小数部分を切り捨てる関数)である。 As one method, B 1 (x) and B 2 (x) can be calculated by the following calculation. Round (x) means that x is rounded to an integer, and [] is a Gaussian symbol (a function for rounding down the fractional part).

Figure 2017174302
Figure 2017174302

上式の意味するところは、配分量の目安であるf(x),f(x)は四捨五入によって整数に丸められるということである。ただし、f(x)およびf(x)の小数部分がともに0.5である場合は、いずれか一方のみが切り上がるようにするため、B(x)の値はσ(x)によって補正される。σ(x)は、f(x)の小数部が0.5となった場合にのみ−1となり、他の場合は0である関数である。(要するに、B(x)は、いわば、f(x)を「五捨五超入」した値である。)
上式と本質的に同等な計算式として、次のような計算式が用いられてもよい。
The meaning of the above equation is that f 1 (x) and f 2 (x), which are guidelines for the distribution amount, are rounded to an integer by rounding off. However, when both fractional parts of f 1 (x) and f 2 (x) are 0.5, only one of them is rounded up so that the value of B 2 (x) is σ (x) It is corrected by. σ (x) is a function that is −1 only when the fractional part of f 2 (x) is 0.5, and is 0 in other cases. (In short, B 2 (x) is, so to speak, a value obtained by “rounding up” f 2 (x).)
As a calculation formula essentially equivalent to the above formula, the following calculation formula may be used.

Figure 2017174302
Figure 2017174302

上式は、配分量の目安であるf(x),f(x)を四捨五入によって整数に丸めた値をB(x),B(x)とすることを意味する。ただし、丸める前のf(x)の値はごく微小な値δによって減じられる。 The above equation means that the values obtained by rounding f 1 (x) and f 2 (x), which are guides for the distribution amount, to an integer by rounding off to be B 1 (x) and B 2 (x). However, the value of f 2 (x) before rounding is reduced by a very small value δ.

上述のいずれかの計算式によって定義されるB(x)およびB(x)は、xの値が1増加するとB(x)の値またはB(x)の値のどちらか一方のみが1増加する、という特徴がある。したがって、B(x),B(x)のそれぞれは、それぞれのHDD30における、ペア内論理番号がx以下のブロックの数を表す関数である。なおかつ、B(x),B(x)は、任意のxについての値がそれぞれf(x),f(x)に準ずる関数である。 B 1 (x) and B 2 (x) defined by any one of the above formulas are either the value of B 1 (x) or the value of B 2 (x) when the value of x increases by 1. Only 1 increases by 1. Therefore, each of B 1 (x) and B 2 (x) is a function that represents the number of blocks whose logical number in a pair is equal to or less than x in each HDD 30. In addition, B 1 (x) and B 2 (x) are functions whose values for an arbitrary x are respectively equivalent to f 1 (x) and f 2 (x).

アクセス先特定部136は、上述の計算を、次の手順によって行っても良い。
(手順−1)
アクセス先特定部136は、ペア内論理番号がx以下の(x+1個の)データが、各HDDに占めるブロックの数の目安として、f(x)およびf(x)をそれぞれ求める。
(手順−2)
アクセス先特定部136は、f(x)の小数部の値とf(x)の小数部の値とを求める。アクセス先特定部136は、小数部の値の代わりに、次に示すR(x)、R(x)を算出してもよい。なお、modは剰余を求める演算である。
The access destination specifying unit 136 may perform the above calculation by the following procedure.
(Procedure-1)
The access destination specifying unit 136 obtains f 1 (x) and f 2 (x), respectively, as a guide for the number of blocks occupied by (x + 1) data whose pair logical number is x or less in each HDD.
(Procedure-2)
The access destination specifying unit 136 obtains the value of the decimal part of f 1 (x) and the value of the decimal part of f 2 (x). The access destination identification unit 136 may calculate the following R 1 (x) and R 2 (x) instead of the decimal part value. Note that mod is an operation for obtaining a remainder.

Figure 2017174302
ちなみに、R(x)およびR(x)は、f(x)およびf(x)のそれぞれの小数部分の(C+C)倍に等しい。
(手順−3)
アクセス先特定部136は、補正値σ(x)およびσ(x)を定義する。アクセス先特定部136は、σ(x)の値およびσ(x)の値を、次のように、f(x)の小数部とf(x)の小数部との値に基づき、決定する。すなわち、
・R(x)が“0”でなく、R(x)≧R(x)の場合、σ(x)=1,σ(x)=0とする。
・R(x)が“0”でなく、R(x)<R2(x)の場合、σ(x)=0,σ(x)=1とする。
・R(x)が“0”である場合は、σ(x)=0,σ(x)=0とする。
(手順−4)
アクセス先特定部136は、B(x)およびB(x)を、次の式により求める。
Figure 2017174302
Incidentally, R 1 (x) and R 2 (x) are equal to (C 1 + C 2 ) times the respective fractional parts of f 1 (x) and f 2 (x).
(Procedure-3)
The access destination specifying unit 136 defines correction values σ 1 (x) and σ 2 (x). The access destination specifying unit 136 converts the value of σ 1 (x) and the value of σ 2 (x) to the values of the fractional part of f 1 (x) and the fractional part of f 2 (x) as follows: Based on the decision. That is,
When R 1 (x) is not “0” and R 1 (x) ≧ R 2 (x), σ 1 (x) = 1 and σ 2 (x) = 0.
When R 1 (x) is not “0” and R 1 (x) <R2 (x), σ 1 (x) = 0, σ 2 (x) = 1.
When R 1 (x) is “0”, σ 1 (x) = 0 and σ 2 (x) = 0.
(Procedure 4)
The access destination identifying unit 136 obtains B 1 (x) and B 2 (x) by the following formula.

Figure 2017174302
Figure 2017174302

図17は、本実施形態のペア番号が“2”であるペアの各ペア内論理番号xについて、手順1〜4に基づき算出される、それぞれの値の表である。   FIG. 17 is a table of respective values calculated based on the procedures 1 to 4 for each intra-pair logical number x of the pair whose pair number is “2” in the present embodiment.

図17を参照すると、例えば、x=12について、R(12)の値が“0”でなく、R(12)の値より大きいため、σ=1,σ=0となる。それぞれのσ値を[f(12)],[f(12)]に加えることにより、B(12)=9,B(12)=4を得る。そして、同様に算出されたB(11),B(11)と比較すると、B(12)−B(11)=9−8=1,B(12)−B(11)=4−4=0であるから、アクセス先はHDDと特定される。 Referring to FIG. 17, for example, when x = 12, the value of R 1 (12) is not “0” but larger than the value of R 2 (12), so σ 1 = 1 and σ 2 = 0. By adding the respective σ values to [f 1 (12)] and [f 2 (12)], B 1 (12) = 9 and B 2 (12) = 4 are obtained. Compared with B 1 (11) and B 2 (11) calculated in the same manner, B 1 (12) −B 1 (11) = 9−8 = 1, B 2 (12) −B 2 (11 ) = 4-4 = 0, the access destination is specified as HDD 1 .

手順1〜4による算出方法は、本実施形態においては、先に示した四捨五入を用いた算出方法と本質的には同一である。図17を参照すると、B(x),B(x)の組は、xが1増加するごとにいずれか一方の値のみが1増加するという特徴をもつことがわかる。このことからわかるように、アクセス先特定部136は、手順1〜4によって、対象の論理ブロック番号のペア番号およびペア内論理番号から、アクセス先HDDを特定できる。 In the present embodiment, the calculation method according to procedures 1 to 4 is essentially the same as the calculation method using rounding shown above. Referring to FIG. 17, it can be seen that the set of B 1 (x) and B 2 (x) has a characteristic that only one value increases by 1 each time x increases by 1. As can be seen from this, the access destination specifying unit 136 can specify the access destination HDD from the pair number of the target logical block number and the logical number in the pair by performing steps 1 to 4.

<動作>
本実施形態に係るボリューム管理装置13の動作の流れは、第2の実施形態と同様である。ただし、アクセス先特定部136は、アクセス先HDDの特定において、上述した特定方法を用いる。
<Operation>
The operation flow of the volume management apparatus 13 according to this embodiment is the same as that of the second embodiment. However, the access destination specifying unit 136 uses the above-described specifying method in specifying the access destination HDD.

<効果>
第3の実施形態に係るボリューム管理装置13は、第2の実施形態に係るボリューム管理装置12と同様の効果を奏する。さらに、第3の実施形態は、対象の論理ブロック番号のアクセス先HDDを、論理ブロック番号に依存しない、予測可能な演算量で特定できる。その理由は、アクセス先特定部136が、対象の論理ブロック番号のアクセス先HDDを、計算式によって算出される4つの値を比較することによって特定するからである。
<Effect>
The volume management device 13 according to the third embodiment has the same effects as the volume management device 12 according to the second embodiment. Further, in the third embodiment, the access destination HDD of the target logical block number can be specified with a predictable calculation amount that does not depend on the logical block number. The reason is that the access destination specifying unit 136 specifies the access destination HDD of the target logical block number by comparing four values calculated by the calculation formula.

<<変形例>>
以上に示した各実施形態は、本発明の1つの例であり、その一部は、発明の趣旨から逸脱しない限りにおいて変更されうる。以下、各実施形態において変更されうる構成や動作の例について説明する。
<< Modification >>
Each of the embodiments described above is an example of the present invention, and a part thereof can be changed without departing from the spirit of the invention. Hereinafter, examples of configurations and operations that can be changed in each embodiment will be described.

<ストライピングの最小単位>
アクセス先の決定において、データまたはアクセス量の分割(ストライピング)の最小単位はブロック1つ分でなくてもよい。
<Minimum unit of striping>
In determining the access destination, the minimum unit of data or access amount division (striping) may not be one block.

上記各実施形態の方法では、任意のxについてB(x),B(x)がそれぞれf(x),f(x)になるべく準ずるよう、xを最小単位としてストライピングが行われることを説明した。これに対し、ある程度の長さのブロックをまとめたものをストライピングの最小単位として扱えば、B(x),B(x)とf(x),f(x)との間の類似性は下がるものの、ストライピングの数(頻度)を抑えることができる。 In the method of each of the above embodiments, striping is performed with x as a minimum unit so that B 1 (x) and B 2 (x) correspond to f 1 (x) and f 2 (x) as much as possible for an arbitrary x. I explained that. On the other hand, if a group of blocks of a certain length is treated as the minimum unit of striping, it is between B 1 (x), B 2 (x) and f 1 (x), f 2 (x). Although the similarity is lowered, the number (frequency) of striping can be suppressed.

たとえば、各実施形態でアクセス先HDDを特定する主体(表生成部116またはアクセス先特定部126またはアクセス先特定部136)は、あるペアについて、ペア内論理番号の0から数えてqブロック分をs=0の組、次のqブロック分をs=1の組、・・・として、0≦s≦(ペア容量/q)を範囲とする組番号sを定義する。アクセス先HDDを特定する主体は、各実施形態で説明したアクセス先HDDの決定または特定において、xの代わりにsを用いる。すると、sの値が等しいペア内論理番号のアクセス先HDDは同一となるため、データまたはアクセス量のストライピングの頻度は小さくなる。なお、この場合、アクセス先番号は、たとえばアクセス先がHDDの場合、q(B(s)−1)+(x mod q)となる。 For example, in each embodiment, a subject (table generation unit 116 or access destination specifying unit 126 or access destination specifying unit 136) that specifies an access destination HDD counts q blocks for a certain pair, counting from 0 of the logical number in the pair. A set number s that defines 0 ≦ s ≦ (pair capacity / q) as a range is defined with a set of s = 0, the next q blocks corresponding to a set of s = 1,. The entity that specifies the access destination HDD uses s instead of x in determining or specifying the access destination HDD described in each embodiment. Then, the access destination HDDs having the same logical number in the pair with the same value of s are the same, so the frequency of data or access amount striping is reduced. In this case, for example, when the access destination is HDD 1 , the access destination number is q (B 1 (s) −1) + (x mod q).

上記の方法は、たとえば、そのペアに関連づけられる扱われるデータの量が一定以上であるために小さなxに対するB(x),B(x)とf(x),f(x)との間の類似性がさして問題にならない場合に、デメリットが少ない。 In the above method, for example, B 1 (x), B 2 (x) and f 1 (x), f 2 (x) for a small x because the amount of data to be handled associated with the pair is equal to or larger than a certain amount. There are few disadvantages when the similarity between and is not a problem.

<ペアの生成の方法>
ペア容量は、必ずしも厳密にどのペアにおいても等しい必要はない。すなわち、ペア生成部115は、ペア間のペア容量の不均衡がなるべく少なくなるようにペアを生成すればよい。
<How to create a pair>
The pair capacities do not necessarily have to be exactly equal in every pair. That is, the pair generation unit 115 may generate the pair so that the pair capacity imbalance between the pairs is reduced as much as possible.

また、ペア生成部115は、必ずしも分割された区間のすべてについてペアを生成しなくてもよい。すなわち、ペアを生成する対象の区間は、適宜設計変更されてよい。   Further, the pair generation unit 115 does not necessarily generate a pair for all of the divided sections. That is, the design of the section for which a pair is generated may be changed as appropriate.

<記憶装置>
上記各実施形態では、ボリューム管理装置11〜13は、HDD30の記憶領域に対して論理ボリュームを構築するが、ボリューム管理装置11〜13は、記憶領域を提供する機能構成である他の機能構成の記憶領域に対して論理ボリュームを構築してもよい。たとえば、ボリューム管理装置11〜13は、論理ブロック番号によってアクセス性能の異なる論理ボリュームに対して、論理ボリュームを構築してもよい。以下、「記憶装置」とは、記憶領域を提供する機能構成を指す。
<Storage device>
In each of the above embodiments, the volume management apparatuses 11 to 13 construct a logical volume in the storage area of the HDD 30, but the volume management apparatuses 11 to 13 have other functional configurations that are functional configurations that provide the storage area. A logical volume may be constructed for the storage area. For example, the volume management apparatuses 11 to 13 may construct a logical volume for logical volumes having different access performance depending on the logical block number. Hereinafter, the “storage device” refers to a functional configuration that provides a storage area.

<性能特性が異なる記憶装置の組み合わせ>
上記各実施形態ではアクセス性能の性能特性が同一の記憶装置を2つ1組としたが、性能特性が異なる記憶装置を1組として用いてもよい。
<Combination of storage devices with different performance characteristics>
In each of the above embodiments, two storage devices having the same performance characteristic of access performance are used as one set, but storage devices having different performance characteristics may be used as one set.

この場合、ボリューム管理装置11〜13の設計者は、アクセス性能の差が均一化されるよう、ペアの組み合わせを工夫すればよい。各記憶装置間で総アクセス時間が異なる場合は、一方または両方の記憶装置の一部の領域を論理ボリュームの対象とすればよい。すなわち、各記憶装置間で総アクセス時間が等しくなる領域に対して各実施形態で説明される論理ボリュームを生成すれば、その領域においてはアクセス性能を均一にすることができる。   In this case, the designer of the volume management apparatuses 11 to 13 may devise a combination of pairs so that the difference in access performance is made uniform. If the total access time differs between the storage devices, a partial area of one or both storage devices may be the target of the logical volume. That is, if the logical volume described in each embodiment is generated for an area where the total access time is the same among the storage devices, the access performance can be made uniform in that area.

また、性能特性が一定値で表される記憶装置であっても、その記憶装置のアクセス性能が相異なる場合は、それらの記憶装置に対しても論理ボリュームの効果を奏する。たとえば、分割部113は、それぞれの記憶装置の記憶領域を、一つの区間のアクセスにかかる時間がその記憶装置内のいずれの区間でも等しくなるように、両記憶装置の記憶領域を分割してもよい。すると、ボリューム管理装置11〜13がそれぞれの記憶装置に順次アクセスする場合は、それぞれの記憶装置のアクセス性能が均される。すなわち、どの論理ブロック番号の範囲のアクセスにおいても、それぞれの記憶装置にアクセスされる領域の容量の比が均一になる。したがって、それぞれの記憶装置のアクセス性能の差に起因する非効率性を低減することができる。   Even in the case of storage devices whose performance characteristics are expressed as constant values, if the access performances of the storage devices are different, the effect of the logical volume is also exerted on these storage devices. For example, the dividing unit 113 may divide the storage areas of both storage devices so that the storage areas of the respective storage devices have the same access time in one section in any of the sections in the storage device. Good. Then, when the volume management devices 11 to 13 sequentially access the respective storage devices, the access performance of the respective storage devices is equalized. That is, in the access in any logical block number range, the ratio of the capacity of the area accessed by each storage device becomes uniform. Therefore, it is possible to reduce inefficiency caused by the difference in access performance between the storage devices.

あるいは、性能特性が一定値で表され、容量が無視できるほど十分に大きい複数の記憶装置に対しては、分割部113は記憶領域を分割しなくともよい(分割数が1である、ともいえる)。性能特性が一定値で表される記憶装置を2台用いる場合、論理ボリュームは、アクセス性能がそれぞれv,vである記憶領域に対して、アクセス量がアクセス性能の比に応じて配分されるように、生成されればよい。アクセス量がアクセス性能の比に応じて配分されるとは、それぞれの記憶装置においてアクセスされる領域の容量の比が、アクセス性能の比にほぼ等しくなることである。論理ブロック番号からアクセス先HDDを決定する計算では、各実施形態における、C,Cを、それぞれv,vに置き換えればよい。この場合、それぞれの記憶装置へのアクセスにかかる時間はほぼ等しくなる。したがって、ボリューム管理装置11〜13が、それぞれの記憶装置に同時にアクセスする場合に、アクセス性能の高い記憶装置のアクセス性能が無駄にならなくなる。 Alternatively, for a plurality of storage devices whose performance characteristics are expressed as constant values and whose capacity is sufficiently large to be negligible, the dividing unit 113 may not divide the storage area (the number of divisions is 1). ). When two storage devices whose performance characteristics are represented by a constant value are used, the access volume is allocated according to the ratio of the access performance for the logical volume in the storage areas whose access performance is v 1 and v 2 respectively. As long as it is generated. The fact that the amount of access is distributed according to the ratio of access performance means that the ratio of the capacities of the areas accessed in the respective storage devices is substantially equal to the ratio of access performance. In the calculation for determining the access destination HDD from the logical block number, C 1 and C 2 in each embodiment may be replaced with v 1 and v 2 , respectively. In this case, the time required to access each storage device is almost equal. Therefore, when the volume management apparatuses 11 to 13 access each storage device at the same time, the access performance of the storage device with high access performance is not wasted.

<並行してアクセスが行われる点>
上記各実施形態では、2つ以上の記憶装置に対して並行してアクセスが行われ、ほぼ同時にアクセスが完了することを想定しているが、各記憶装置に対するアクセスは並行して行われなくても良い。
<Points to be accessed in parallel>
In each of the above embodiments, it is assumed that two or more storage devices are accessed in parallel and the access is completed almost simultaneously, but the access to each storage device is not performed in parallel. Also good.

たとえば、データブロックを読み書きする機能を持つ構成要素(ドライブ等)が1つのみである場合、ドライブ等は、低性能な区間と高性能な区間とに、順次アクセス性能の比に応じてアクセス量を配分してアクセスすればよい。これによっても、区間ごとのアクセス性能の差を均一化することができる。   For example, if there is only one component (such as a drive) that has a function for reading and writing data blocks, the drive or the like will access the low-performance section and the high-performance section sequentially according to the ratio of access performance. Can be distributed and accessed. This also makes it possible to equalize the difference in access performance for each section.

そのため、たとえば、1つのHDDを用いて、N個に分割された区間から2つずつ組み合わせてN/2個のペアを生成し、同一のペア番号のそれぞれの区間に順次アクセスすることによっても、ディスクのアクセス性能の不均衡性が解消する。   For this reason, for example, by using one HDD, combining N by two from the sections divided into N, generating N / 2 pairs, and sequentially accessing each section of the same pair number, The imbalance in disk access performance is resolved.

<記憶装置の数>
ボリューム管理装置は、3つ以上の記憶装置を用いて構成される論理ボリュームを構築してもよい。
<Number of storage devices>
The volume management apparatus may construct a logical volume configured using three or more storage devices.

以下、第4の実施形態として、複数のHDDを管理の対象とした実施形態について説明する。   Hereinafter, an embodiment in which a plurality of HDDs are managed will be described as a fourth embodiment.

<<第4の実施形態>>
<構成>
図18は、第4の実施形態に係るボリューム管理装置14の構成を表すブロック図である。
<< Fourth Embodiment >>
<Configuration>
FIG. 18 is a block diagram showing the configuration of the volume management apparatus 14 according to the fourth embodiment.

ボリューム管理装置14は、複数のHDD30(HDD、HDD、HDD,・・・)を制御する。 The volume management device 14 controls a plurality of HDDs 30 (HDD 1 , HDD 2 , HDD 3 ,...).

ボリューム管理装置14の情報提供部140は、第3の実施形態のペア管理部114、ペア生成部115、およびアクセス先特定部136に代え、セット管理部144、セット生成部145、およびアクセス先特定部146を備える。   The information providing unit 140 of the volume management apparatus 14 replaces the pair management unit 114, the pair generation unit 115, and the access destination specifying unit 136 of the third embodiment, and sets the management unit 144, the set generation unit 145, and the access destination specification. Part 146.

分割部113の機能は、上述の各実施形態における分割部113の機能と同様でよい。分割部113は、各HDD30の分割位置を決定し、その結果をセット管理部144に記録する。   The function of the dividing unit 113 may be the same as the function of the dividing unit 113 in each of the embodiments described above. The dividing unit 113 determines the dividing position of each HDD 30 and records the result in the set managing unit 144.

セット生成部145は、上述の各実施形態のペア生成部115に相当する。セット生成部145は、上記各実施形態における“ペア番号”に相当するものとして、各HDDの全区間について“セット番号”を割り当て、同じセット番号の区間をセットとして扱う。セット番号の割り当て方は任意でよい。この割り当て方は、セット容量(上述の各実施形態のペア容量に相当する)がセット間でなるべく均一になるような割り当て方が好ましい。   The set generation unit 145 corresponds to the pair generation unit 115 of each of the embodiments described above. The set generation unit 145 assigns a “set number” to all sections of each HDD as corresponding to the “pair number” in each of the above embodiments, and handles the sections having the same set number as a set. The method of assigning the set number may be arbitrary. This allocation method is preferably an allocation method in which the set capacity (corresponding to the pair capacity in each of the above-described embodiments) is as uniform as possible between the sets.

セット管理部144は、上記各実施形態のペア管理部114に相当する。セット管理部144は、各セット番号に関する、各HDDにおける容量、セット容量、先頭論理番号を記憶する。各値の求め方は、上述の各実施形態に倣えばよい。   The set management unit 144 corresponds to the pair management unit 114 of each of the above embodiments. The set management unit 144 stores the capacity, set capacity, and head logical number in each HDD regarding each set number. The method of obtaining each value may follow the above-described embodiments.

アクセス先特定部146は、第3の実施形態のアクセス先特定部136に相当する。アクセス先特定部146による、アクセス先HDDを特定するための計算式は、2つのHDD30を対象とする第3の実施形態の場合と異なる。   The access destination specifying unit 146 corresponds to the access destination specifying unit 136 of the third embodiment. The calculation formula for specifying the access destination HDD by the access destination specifying unit 146 is different from that in the third embodiment targeting two HDDs 30.

以下、ある論理ブロック番号のブロックを対象の論理ブロック番号として、計算によって論理ブロック番号からアクセス先HDDを一意に決定する方法を説明する。   Hereinafter, a method for uniquely determining an access destination HDD from a logical block number by calculation using a block having a certain logical block number as a target logical block number will be described.

まず、アクセス先特定部146は、セット管理部144が示す各セットの先頭論理番号に基づいて、対象の論理ブロック番号に関連づけられるセット番号、およびセット内論理番号を特定する。セット内論理番号は、上述の各実施形態のペア内論理番号に相当するものである。セット内論理番号は、特定されたセット番号に含まれる論理ブロック番号の集合における、先頭論理番号を基準とする相対的な番号である。   First, the access destination specifying unit 146 specifies the set number associated with the target logical block number and the in-set logical number based on the top logical number of each set indicated by the set management unit 144. The in-set logical number corresponds to the in-pair logical number in each of the above-described embodiments. The in-set logical number is a relative number based on the first logical number in the set of logical block numbers included in the specified set number.

次に、アクセス先特定部146は、特定したセット番号とセット内論理番号とから、アクセス先HDDを特定する。アクセス先特定部146は、アクセス先HDDの特定において、各HDDにおける、セット内論理番号がx以下のブロックの数を示す変数を用いる。以下、HDD(i=1,2,3,…)におけるセット内論理番号がx以下のブロック数を、B(x)と定義する。 Next, the access destination specifying unit 146 specifies the access destination HDD from the specified set number and in-set logical number. The access destination specifying unit 146 uses a variable indicating the number of blocks having an in-set logical number x or less in each HDD in specifying the access destination HDD. Hereinafter, the number of blocks whose in-set logical number is x or less in HDD i (i = 1, 2, 3,...) Is defined as B i (x).

以下、特定されたセット番号が割り当てられた、HDDの区間のブロックの数をCとして、特定されたセット番号における、B(x)を決定する方法を述べる。 Hereinafter, a method for determining B i (x) in the specified set number, where C i is the number of blocks in the section of HDD i to which the specified set number is assigned, will be described.

(x)は、各HDDのブロック数の比にしたがってアクセスが配分されていくよう、定義されればよい。すなわち、各HDDにおいてアクセスされるブロックの数の比が、Cの比(C:C:・・・)となるよう、B(x)は定義されればよい。好ましくは、任意のxについて、セット内論理番号がx以下である(x+1個の)論理ブロック番号の、HDDに関連づけられる論理ブロック番号の数が、それぞれ次に示すf(x)に概ね準じるとよい。 B i (x) may be defined so that access is distributed according to the ratio of the number of blocks of each HDD. That is, B i (x) may be defined so that the ratio of the number of blocks accessed in each HDD becomes the ratio of C i (C 1 : C 2 :...). Preferably, for an arbitrary x, the number of logical block numbers associated with HDD i of logical block numbers (x + 1) whose logical numbers in the set are less than or equal to x is approximately equal to f i (x) shown below. It is good to follow.

Figure 2017174302
ただし、ΣCは、セット容量である。
Figure 2017174302
However, ΣC k is a set capacity.

1つの配分方法として、アクセス先特定部146は、各iのB(x)を、HDDごとに設定される値σ(x)を用いて、下式により算出する。 As one distribution method, the access destination specifying unit 146 calculates B i (x) of each i by the following equation using a value σ i (x) set for each HDD i .

Figure 2017174302
本実施形態では、σ(x)を、HDDに関するσ値と呼ぶ。σ値の求め方は、次のようにする。
Figure 2017174302
In the present embodiment, σ i (x) is referred to as a σ value related to HDD i . The σ value is obtained as follows.

まず、アクセス先特定部146は、σ(x)のうちのいくつを1にするかを求める。以下、σ(x)のうちのいくつを1にするかを表す値を、「補正個数」と称す。補正個数は、すべてのiについてf(x)の整数部分について総和をとったときに、(x+1)の値との間に生じる差分である。補正個数は、f(x)の小数部分の総和に等しい。 First, the access destination specifying unit 146 determines how many of σ i (x) are set to 1. Hereinafter, a value indicating how many of σ i (x) are set to 1 is referred to as “correction number”. The number of corrections is the difference that occurs between the values of (x + 1) when the sum of the integer parts of f i (x) is taken for all i. The number of corrections is equal to the sum of the fractional parts of f i (x).

次に、アクセス先特定部146は、補正個数の分のσ値を1にする。このとき、アクセス先特定部146は、特定の基準に従ってHDD,HDD,・・・を順位づけし、順位の高いHDD30に係るσ値を優先的に“1”にする。特定の基準とは、B(x)のそれぞれが、xの増加に伴って必ず単調増加するように定められた基準である。 Next, the access destination specifying unit 146 sets the σ value corresponding to the correction number to 1. At this time, the access destination specifying unit 146 ranks HDD 1 , HDD 2 ,... According to a specific standard, and preferentially sets the σ value related to the HDD 30 with higher rank to “1”. The specific criterion is a criterion determined such that each of B i (x) always increases monotonously as x increases.

例として、アクセス先特定部146は、各HDD30について、xがあとどれだけ増えればf(x)の整数部の値が1増えるかを表す値であるT(x)を、次式によって求める。
(x)=(ΣC−R(x))/C
ただし、R(x)は、f(x)の小数部分のΣC倍である。そして、アクセス先特定部146は、求めた値が小さい順に補正個数分のHDD30を抽出する。ただし、σ値が等しい場合に抽出する優先順位は予め定められる(たとえば、番号iの値が小さいほど優先して抽出する、など)。アクセス先特定部146は、抽出したHDD30に関するσ値を“1”にし、抽出しなかったHDD30に関するσ値を“0”にする。
As an example, for each HDD 30, the access destination specifying unit 146 calculates T i (x), which is a value indicating how much the value of the integer part of f i (x) increases by 1 for each HDD 30 by the following equation: Ask.
T i (x) = (ΣC k −R i (x)) / C i
However, R i (x) is ΣC k times the fractional part of f i (x). Then, the access destination identifying unit 146 extracts the number of correction HDDs 30 in ascending order of the obtained values. However, priorities to be extracted when the σ values are equal are determined in advance (for example, priority is extracted as the value of the number i is smaller). The access destination specifying unit 146 sets the σ value related to the extracted HDD 30 to “1”, and sets the σ value related to the HDD 30 not extracted to “0”.

各HDDに係るσ値が決定したら、アクセス先特定部146は、上記の式によって、各iに対応するB(x)の値を求めればよい。 When the σ value associated with each HDD is determined, the access destination specifying unit 146 may obtain the value of B i (x) corresponding to each i by the above formula.

以上のような計算によって算出されるB(x)と、B(x−1)と比較すると、iのいずれかの値に対応するB(x)−B(x−1)の値のみが1増える。アクセス先特定部146は、B(x)−B(x−1)が1増えるiの値を特定し、そのiに対応するHDDをアクセス先HDDとして特定する。 When B i (x) calculated by the above calculation is compared with B i (x−1), B i (x) −B i (x−1) corresponding to any value of i Only the value increases by one. The access destination specifying unit 146 specifies the value of i by which B i (x) −B i (x−1) increases by 1, and specifies the HDD corresponding to i as the access destination HDD.

図19は、本実施形態の例として、3つのHDD30を使用し、C=135334、C=67714,C=96542であるようなセットの、セット内論理番号xのそれぞれのアクセス先HDDを求める方法を説明する図である。 FIG. 19 shows an example of this embodiment in which three HDDs 30 are used and each access destination HDD of the in-set logical number x of a set in which C 1 = 135334, C 2 = 67714, C 3 = 96542 is used. It is a figure explaining the method of calculating | requiring.

たとえば、x=5であるブロックのアクセス先を求めるとする。x=5のとき、[b(x)]=2,[b(x)]=1,[b(x)]=1であるから、補正個数は(5+1)−(2+1+1)=2である。次に、T(x),T(x),T(x)を求めると、その値の大小関係はT(x)<T(x)<T(x)である。したがって、σ(x)およびσ(x)の値は“1”となり、σ(x)の値は“0”となる。これに基づき、B(x),B(x),B(x)の値が、それぞれB(x)=2+1=3,B(x)=1+0=1,B(x)=1+1=2と求められる。同様にして、B(4),B(4),B(4)の値を求めると、B(4)=2,B(4)=1,B(4)=2である。x=4の場合とx=5の場合とを比較して、数値が変化したのはB(x)であるから、アクセス先HDDはHDDと特定される。 For example, assume that an access destination of a block where x = 5 is obtained. When x = 5, since [b 1 (x)] = 2, [b 2 (x)] = 1, and [b 3 (x)] = 1, the number of corrections is (5 + 1) − (2 + 1 + 1) = 2. Next, when T 1 (x), T 2 (x), and T 3 (x) are obtained, the magnitude relationship of the values is T 3 (x) <T 1 (x) <T 2 (x). Therefore, the values of σ 3 (x) and σ 1 (x) are “1”, and the value of σ 2 (x) is “0”. Based on this, the values of B 1 (x), B 2 (x), and B 3 (x) are B 1 (x) = 2 + 1 = 3, B 2 (x) = 1 + 0 = 1, B 3 (x ) = 1 + 1 = 2. Similarly, when the values of B 1 (4), B 2 (4), and B 3 (4) are obtained, B 1 (4) = 2, B 2 (4) = 1, B 3 (4) = 2. It is. Comparing the case of x = 4 and the case of x = 5, the numerical value changed is B 1 (x), so the access destination HDD is identified as HDD 1 .

このようにして、セット内論理番号からアクセス先HDDが特定される。   In this way, the access destination HDD is specified from the in-set logical number.

アクセス先HDDに基づくアクセス先番号の決定方法は、他の実施形態と同様でよい。   The method of determining the access destination number based on the access destination HDD may be the same as in the other embodiments.

以上のようにして、アクセス先特定部146は、指定された論理ブロック番号の、アクセス先HDDおよびアクセス先番号を一意に特定する。   As described above, the access destination specifying unit 146 uniquely specifies the access destination HDD and the access destination number of the designated logical block number.

<効果>
本実施形態によれば、3つ以上のHDDを使用するボリューム管理装置14が、アクセス性能の差に起因する非効率性を低減した論理ボリュームを、ホスト装置20に提供することができる。
<Effect>
According to the present embodiment, the volume management apparatus 14 using three or more HDDs can provide the host apparatus 20 with a logical volume with reduced inefficiency due to a difference in access performance.

各HDD30において、アクセス部101によるアクセスにかかる時間が等しいので、アクセス性能の差に起因する非効率性は低減される。   In each HDD 30, since the time required for access by the access unit 101 is equal, the inefficiency due to the difference in access performance is reduced.

以上、各実施形態で説明される事項および変形例として説明された様々な事項は、互いに組み合わされてもよい。ある変形例で説明された事項が他の変形例においても適宜適用可能であることは、当業者にとって容易に理解されよう。   As described above, the items described in the embodiments and various items described as modified examples may be combined with each other. It will be readily understood by those skilled in the art that the matters described in one modification can be applied as appropriate in other modifications.

<<第5の実施形態>>
第5の実施形態として、本発明の主要な構成による実施形態について、図20を参照して説明する。
<< Fifth Embodiment >>
As a fifth embodiment, an embodiment according to the main configuration of the present invention will be described with reference to FIG.

本実施形態に係るボリューム管理装置10は、情報提供部100とアクセス部101とを備える。   The volume management apparatus 10 according to the present embodiment includes an information providing unit 100 and an access unit 101.

アクセス部101は、1つ以上の記憶装置40と通信可能に接続される。   The access unit 101 is communicably connected to one or more storage devices 40.

記憶装置40は、内部の記憶領域を用いて、データを記憶する。   The storage device 40 stores data using an internal storage area.

アクセス部101は、記憶装置にアクセスする。   The access unit 101 accesses the storage device.

情報提供部100は、記憶装置40内の記憶領域の一部または全部の区間であってアクセス性能が相異なる複数の区間の、それぞれにおいて、アクセス部101によってアクセスされる領域の容量の比が、区間のアクセス性能の比に基づいた値になるよう、アクセス先を決定する。そして、情報提供部100は、決定したアクセス先の情報をアクセス部101に提供する。   The information providing unit 100 has a capacity ratio of an area accessed by the access unit 101 in each of a plurality of sections having different access performance in a part or all of the storage area in the storage device 40. The access destination is determined so as to be a value based on the ratio of the access performance of the section. Then, the information providing unit 100 provides the access unit 101 with information on the determined access destination.

または、情報提供部100は、記憶装置40内の記憶領域の一部または全部の区間であってアクセス性能が相異なる複数の区間の、それぞれにおいて、アクセス部101によってアクセスされる領域の容量の比が、区間の容量の比に基づいた値になるよう、アクセス先を決定する。そして、情報提供部100は、決定したアクセス先の情報をアクセス部101に提供する。   Alternatively, the information providing unit 100 may determine the ratio of the capacity of the area accessed by the access unit 101 in each of a plurality of sections having different access performance that are part or all of the storage area in the storage device 40. Is determined to be a value based on the capacity ratio of the section. Then, the information providing unit 100 provides the access unit 101 with information on the determined access destination.

本実施形態によれば、記憶領域におけるアクセス性能の差に起因する非効率性を低減することができる。   According to the present embodiment, inefficiency due to a difference in access performance in the storage area can be reduced.

以上で説明した本発明の各実施形態において、各装置の各構成要素は、機能単位のブロックを示している。各装置の各構成要素の一部または全部は、例えば図21に示すようなコンピュータ2100とプログラムとの可能な組み合わせにより実現される。コンピュータ2100は、一例として、以下のような構成を含む。   In each embodiment of the present invention described above, each component of each device indicates a functional unit block. A part or all of each component of each device is realized by a possible combination of a computer 2100 and a program as shown in FIG. 21, for example. The computer 2100 includes the following configuration as an example.

・CPU(Central Processing Unit)2101
・ROM(Read Only Memory)2102
・RAM(Random Access Memory)2103
・RAM2103にロードされるプログラム2104Aおよび記憶情報2104B
・プログラム2104Aおよび記憶情報2104Bを格納する記憶装置2105
・記録媒体2106の読み書きを行うドライブ装置2107
・通信ネットワーク2109と接続する通信インタフェース2108
・データの入出力を行う入出力インタフェース2110
・各構成要素を接続するバス2111
CPU (Central Processing Unit) 2101
ROM (Read Only Memory) 2102
RAM (Random Access Memory) 2103
A program 2104A and stored information 2104B loaded into the RAM 2103
A storage device 2105 that stores the program 2104A and the storage information 2104B
A drive device 2107 that reads / writes data from / to the recording medium 2106
Communication interface 2108 connected to the communication network 2109
-I / O interface 2110 for inputting / outputting data
-Bus 2111 for connecting each component

各実施形態における各装置の各構成要素は、これらの機能を実現するプログラム2104AをCPU2101がRAM2103にロードして実行することで実現される。各装置の各構成要素の機能を実現するプログラム1204Aは、例えば、予め記憶装置2105やROM2102に格納されており、必要に応じてCPU2101が読み出す。なお、プログラム2104Aは、通信ネットワーク2109を介してCPU2101に供給されてもよいし、予め記録媒体2106に格納されており、ドライブ装置2107が当該プログラムを読み出してCPU2101に供給してもよい。   Each component of each device in each embodiment is realized by the CPU 2101 loading the program 2104A for realizing these functions into the RAM 2103 and executing it. A program 1204A that realizes the function of each component of each device is stored in advance in, for example, the storage device 2105 or the ROM 2102, and is read by the CPU 2101 as necessary. Note that the program 2104A may be supplied to the CPU 2101 via the communication network 2109, or may be stored in advance in the recording medium 2106, and the drive device 2107 may read the program and supply it to the CPU 2101.

各装置の実現方法には、様々な変形例がある。例えば、各装置は、構成要素毎にそれぞれ別個のコンピュータ2100とプログラムとの可能な組み合わせにより実現されてもよい。また、各装置が備える複数の構成要素が、一つのコンピュータ2100とプログラムとの可能な組み合わせにより実現されてもよい。   There are various modifications to the method of realizing each device. For example, each device may be realized by a possible combination of a separate computer 2100 and a program for each component. A plurality of constituent elements included in each device may be realized by a possible combination of one computer 2100 and a program.

また、各装置の各構成要素の一部または全部は、その他の汎用または専用の回路、コンピュータ等やこれらの組み合わせによって実現される。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。   In addition, some or all of the constituent elements of each device are realized by other general-purpose or dedicated circuits, computers, or combinations thereof. These may be configured by a single chip or may be configured by a plurality of chips connected via a bus.

各実施形態の各構成要素の一部または全部の機能は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。   Part or all of the functions of each component in each embodiment may be realized by a combination of the above-described circuit and the like and a program.

各装置の各構成要素の一部または全部が複数のコンピュータや回路等により実現される場合には、複数のコンピュータや回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、コンピュータや回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。   When some or all of the constituent elements of each device are realized by a plurality of computers, circuits, etc., the plurality of computers, circuits, etc. may be centrally arranged or distributedly arranged. For example, the computer, the circuit, and the like may be realized as a form in which each is connected via a communication network, such as a client and server system and a cloud computing system.

本願発明は以上に説明した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。   The present invention is not limited to the embodiment described above. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

上記実施形態の一部または全部は以下の付記のようにも記載され得るが、以下には限られない。   A part or all of the above embodiment may be described as in the following supplementary notes, but is not limited thereto.

<<付記>>
[付記1]
データを記憶する記憶装置にアクセスするアクセス手段と、
前記記憶装置内の記憶領域の一部または全部の区間であってアクセス性能が相異なる複数の前記区間の、それぞれにおいて前記アクセス手段によってアクセスされる領域の容量の比が、前記区間のアクセス性能の比に基づいた値になるよう、アクセス先を決定し、決定された前記アクセス先の情報を前記アクセス手段に提供する、情報提供手段と、
を備えるボリューム管理装置。
[付記2]
前記アクセス手段は、前記複数の前記区間に、前記データを、前記区間のアクセス性能の比に基づいた比に分割して格納する、
付記1に記載のボリューム管理装置。
[付記3]
データを記憶する記憶装置にアクセスするアクセス手段と、
前記記憶装置内の記憶領域の一部または全部の区間であってアクセス性能が相異なる複数の前記区間の、それぞれにおいて前記アクセス手段によってアクセスされる領域の容量の比が、前記区間の容量の比に基づいた値になるよう、アクセス先を決定し、決定された前記アクセス先の情報を前記アクセス手段に提供する、情報提供手段と、
を備えるボリューム管理装置。
[付記4]
前記アクセス手段は、前記複数の前記区間に、前記データを、前記区間の容量の比に基づいた比に分割して格納する、
付記3に記載のボリューム管理装置。
[付記5]
前記情報提供手段は、
前記記憶装置の前記記憶領域を、所定の分割数で、該分割数で分割されることにより生成するどの区間の開始位置から終了位置までのアクセスにかかる時間もほぼ均一になるように、分割することで、前記区間を生成する、分割手段と、
前記区間を、どの組み合わせの前記区間の容量の和もほぼ均一になるように組み合わせ、組み合わせた前記区間にその組み合わせを識別するペア番号を付与する、ペア生成手段と、
前記アクセス手段によるアクセス先が、同一の前記ペア番号が付与された前記区間のそれぞれであるように、前記アクセス手段に前記アクセス先の情報を提供する、アクセス先特定手段と、
を含む、付記1から4のいずれか一項に記載のボリューム管理装置。
[付記6]
前記分割手段は、前記記憶領域提供装置の性能特性を前記区間に含まれる前記ブロック番号による線形な関数に近似することによって得られる計算式に基づいて、前記区間の境界の位置を算出する、
付記5に記載のボリューム管理装置。
[付記7]
前記区間は、ブロック番号が付与された少なくとも1つのブロックからなり、
前記情報提供手段は、論理ブロック番号をそれぞれいずれかの前記区間のいずれかの前記ブロックの前記ブロック番号に対応付け、対応付けた情報を前記アクセス先の情報として前記アクセス手段に提供するアクセス先特定手段を含み、
前記アクセス手段は、前記アクセス先の情報に基づき、一定範囲の連続する論理ブロック番号のそれぞれが対応付けられる、それぞれの前記区間の前記ブロック番号の前記ブロックにアクセスし、
前記区間のそれぞれにおいて、前記アクセス手段によりアクセスされる前記ブロックの数の比は、前記区間のそれぞれのアクセス性能の比に基づいた値である、
付記5または6に記載のボリューム管理装置。
[付記8]
前記アクセス先特定手段は、
論理ブロック番号を受け取り、
受け取った論理ブロック番号に、該論理ブロック番号に基づいて、前記ペア番号を対応付け、
受け取った論理ブロック番号に、該論理ブロック番号と、対応付けた前記ペア番号を構成する区間の開始位置の情報とに基づいて、同一の前記ペア番号の前記論理ブロック番号の集合においてそれぞれの前記論理ブロック番号を識別するペア内論理番号を対応付け、
対応付けた前記ペア内論理番号に基づいて、受け取った論理ブロック番号に前記区間の1つを対応付け、
対応付けた前記ペア番号と対応付けた前記ペア内論理番号とに基づいて、受け取った論理ブロック番号に前記ブロック番号を対応付けることで、
受け取った論理ブロック番号をいずれかの前記区間のいずれかの前記ブロックの前記ブロック番号に対応付ける、
付記7に記載のボリューム管理装置。
[付記9]
論理ブロック番号を、第1の記憶領域、および、前記第1の記憶領域とアクセス性能が異なる前記第2の記憶領域の、いずれかに割り当て、
一定長の連続する論理ブロック番号の集合のうち、第1の記憶領域に割り当てられる論理ブロック番号の個数と、第2の記憶領域に割り当てられる論理ブロック番号の個数との比は、前記第1の記憶領域の有するブロック数と前記第2の記憶領域の有するブロック数との比に基づいた値である、
論理ブロック番号の割り当て方法。
[付記10]
論理ブロック番号を、第1の記憶領域、および、前記第1の記憶領域よりもアクセス性能が高い前記第2の記憶領域の、いずれかに割り当て、
一定長の連続する論理ブロック番号の集合のうち、第1の記憶領域に割り当てられる論理ブロック番号の個数は、第2の記憶領域に割り当てられる論理ブロック番号の個数よりも少ない、
論理ブロック番号の割り当て方法。
[付記11]
データを記憶する記憶装置内の記憶領域の一部または全部の区間であってアクセス性能が相異なる複数の前記区間の、それぞれにおいてアクセスされる領域の容量の比が、前記区間のアクセス性能の比に基づいた値になるよう、前記区間にアクセスする、
ボリューム管理方法。
[付記12]
前記複数の前記区間に、前記データを、前記区間のアクセス性能の比に基づいた比に分割して格納する、
付記11に記載のボリューム管理方法。
[付記13]
データを記憶する記憶装置内の記憶領域の一部または全部の区間であってアクセス性能が相異なる複数の前記区間の、それぞれにおいてアクセスされる領域の容量の比が、前記区間の容量の比に基づいた値になるよう、前記区間にアクセスする、
ボリューム管理方法。
[付記14]
前記複数の前記区間に、前記データを、前記区間の容量の比に基づいた比に分割して格納する、
付記13に記載のボリューム管理方法。
[付記15]
前記記憶装置の前記記憶領域を、所定の分割数で、該分割数で分割されることにより生成するどの区間の開始位置から終了位置までのアクセスにかかる時間もほぼ均一になるように、分割することで、前記区間を生成し、
前記区間を、どの組み合わせの前記区間の容量の和もほぼ均一になるように組み合わせ、組み合わせた前記区間にその組み合わせを識別するペア番号を付与し、
アクセス先が、同一の前記ペア番号が付与された前記区間のそれぞれであるように、アクセスする、
付記11から14のいずれか一項に記載のボリューム管理方法。
[付記16]
前記区間の生成において、前記記憶領域提供装置の性能特性を前記区間に含まれる前記ブロック番号による線形な関数に近似することによって得られる計算式に基づいて、前記区間の境界の位置を算出する、
付記15に記載のボリューム管理方法。
[付記17]
前記区間は、ブロック番号が付与された少なくとも1つのブロックからなり、
論理ブロック番号をそれぞれいずれかの前記区間のいずれかの前記ブロックの前記ブロック番号に対応付け、対応付けた情報を前記アクセス先の情報として生成し、
前記アクセス先の情報に基づき、一定範囲の連続する論理ブロック番号のそれぞれが対応付けられる、それぞれの前記区間の前記ブロック番号の前記ブロックにアクセスし、
前記区間のそれぞれにおいて、アクセスされる前記ブロックの数の比は、前記区間のそれぞれのアクセス性能の比に基づいた値である、
付記15または16に記載のボリューム管理方法。
[付記18]
論理ブロック番号を受け取り、
受け取った論理ブロック番号に、該論理ブロック番号に基づいて、前記ペア番号を対応付け、
受け取った論理ブロック番号に、該論理ブロック番号と、対応付けた前記ペア番号を構成する区間の開始位置の情報とに基づいて、同一の前記ペア番号の前記論理ブロック番号の集合においてそれぞれの前記論理ブロック番号を識別するペア内論理番号を対応付け、
対応付けた前記ペア内論理番号に基づいて、受け取った論理ブロック番号に前記区間の1つを対応付け、
対応付けた前記ペア番号と対応付けた前記ペア内論理番号とに基づいて、受け取った論理ブロック番号に前記ブロック番号を対応付けることで、
受け取った論理ブロック番号をいずれかの前記区間のいずれかの前記ブロックの前記ブロック番号に対応付ける、
付記17に記載のボリューム管理方法。
[付記19]
コンピュータに、
データを記憶する記憶装置にアクセスするアクセス処理と、
前記アクセス処理が、前記記憶装置内の記憶領域の一部または全部の区間であってアクセス性能が相異なる複数の前記区間の、それぞれにおいてアクセスされる領域の容量の比が、前記区間のアクセス性能の比に基づいた値になるよう、前記アクセス処理にアクセス先の情報を提供する、情報提供処理と、
を実行させるプログラム。
[付記20]
前記アクセス処理は、前記記憶装置内の記憶領域の一部または全部の区間であってアクセス性能が相異なる複数の前記区間に、前記データを、前記区間のアクセス性能の比に基づいた比に分割して格納する、
付記19に記載のプログラム。
[付記21]
コンピュータに、
データを記憶する記憶装置にアクセスするアクセス処理と、
前記記憶装置内の記憶領域の一部または全部の区間であってアクセス性能が相異なる複数の前記区間の、それぞれにおいて前記アクセス処理によってアクセスされる領域の容量の比が、前記区間の容量の比に基づいた値になるよう、アクセス先を決定し、決定された前記アクセス先の情報を前記アクセス処理に提供する、情報提供処理と、
を備えるプログラム。
[付記22]
前記アクセス処理は、前記記憶装置内の記憶領域の一部または全部の区間であってアクセス性能が相異なる複数の前記区間に、前記データを、前記区間の容量の比に基づいた比に分割して格納する、
付記21に記載のプログラム。
[付記23]
前記情報提供処理は、
前記記憶装置の前記記憶領域を、所定の分割数で、該分割数で分割されることにより生成するどの区間の開始位置から終了位置までのアクセスにかかる時間もほぼ均一になるように、分割することで、前記区間を生成する、分割処理と、
前記区間を、どの組み合わせの前記区間の容量の和もほぼ均一になるように組み合わせ、組み合わせた前記区間にその組み合わせを識別するペア番号を付与する、ペア生成処理と、
前記アクセス処理によるアクセス先が、同一の前記ペア番号が付与された前記区間のそれぞれであるように、前記アクセス処理に前記アクセス先の情報を提供する、アクセス先特定処理と、
を含む、付記19から22のいずれか一項に記載のプログラム。
[付記24]
前記分割処理は、前記記憶領域提供装置の性能特性を前記区間に含まれる前記ブロック番号による線形な関数に近似することによって得られる計算式に基づいて、前記区間の境界の位置を算出する、
付記23に記載のプログラム。
[付記25]
前記区間は、ブロック番号が付与された少なくとも1つのブロックからなり、
前記情報提供処理は、論理ブロック番号をそれぞれいずれかの前記区間のいずれかの前記ブロックの前記ブロック番号に対応付け、対応付けた情報を前記アクセス先の情報として前記アクセス処理に提供するアクセス先特定処理を含み、
前記アクセス処理は、前記アクセス先の情報に基づき、一定範囲の連続する論理ブロック番号のそれぞれが対応付けられる、それぞれの前記区間の前記ブロック番号の前記ブロックにアクセスし、
前記区間のそれぞれにおいて、前記アクセス処理によりアクセスされる前記ブロックの数の比は、前記区間のそれぞれのアクセス性能の比に基づいた値である、
付記23または24に記載のプログラム。
[付記26]
前記アクセス先特定処理は、
論理ブロック番号を受け取り、
受け取った論理ブロック番号に、該論理ブロック番号に基づいて、前記ペア番号を対応付け、
受け取った論理ブロック番号に、該論理ブロック番号と、対応付けた前記ペア番号を構成する区間の開始位置の情報とに基づいて、同一の前記ペア番号の前記論理ブロック番号の集合においてそれぞれの前記論理ブロック番号を識別するペア内論理番号を対応付け、
対応付けた前記ペア内論理番号に基づいて、受け取った論理ブロック番号に前記区間の1つを対応付け、
対応付けた前記ペア番号と対応付けた前記ペア内論理番号とに基づいて、受け取った論理ブロック番号に前記ブロック番号を対応付けることで、
受け取った論理ブロック番号をいずれかの前記区間のいずれかの前記ブロックの前記ブロック番号に対応付ける、
付記25に記載のプログラム。
<< Appendix >>
[Appendix 1]
Access means for accessing a storage device for storing data;
A ratio of the capacities of the areas accessed by the access means in each of a plurality of sections having different access performance in a part or all of the storage area in the storage device is the access performance of the section. An information providing means for determining an access destination so as to be a value based on the ratio, and providing the access means with information on the determined access destination;
A volume management apparatus comprising:
[Appendix 2]
The access means divides and stores the data in the plurality of sections in a ratio based on a ratio of access performance of the sections.
The volume management device according to attachment 1.
[Appendix 3]
Access means for accessing a storage device for storing data;
A ratio of the capacities of areas accessed by the access means in each of a plurality of the sections having different access performance in a part or all of the storage area in the storage device is a ratio of the capacities of the sections. Information providing means for determining an access destination so as to be a value based on the information, and providing the access means with the determined information of the access destination;
A volume management apparatus comprising:
[Appendix 4]
The access means divides and stores the data in the plurality of sections into a ratio based on a capacity ratio of the sections.
The volume management device according to appendix 3.
[Appendix 5]
The information providing means includes
The storage area of the storage device is divided by a predetermined number of divisions so that the time taken to access from the start position to the end position of any section generated by dividing by the division number is substantially uniform A dividing means for generating the section;
Pair generating means for combining the sections so that the sum of the capacities of the sections in any combination is substantially uniform, and assigning a pair number for identifying the combination to the combined sections;
An access destination specifying means for providing the access means with information of the access destination so that the access destination by the access means is each of the sections assigned with the same pair number;
The volume management device according to any one of appendices 1 to 4, including:
[Appendix 6]
The dividing unit calculates the position of the boundary of the section based on a calculation formula obtained by approximating the performance characteristic of the storage area providing device to a linear function based on the block number included in the section.
The volume management device according to appendix 5.
[Appendix 7]
The section consists of at least one block to which a block number is assigned,
The information providing means associates a logical block number with the block number of any block in any of the sections, and provides the access means with the associated information as the access destination information. Including means,
The access means accesses, based on the access destination information, the block of the block number in each section, to which each of a certain range of consecutive logical block numbers is associated,
In each of the sections, the ratio of the number of blocks accessed by the access means is a value based on the ratio of the access performance of each section.
The volume management apparatus according to appendix 5 or 6.
[Appendix 8]
The access destination specifying means is:
Receive logical block number,
The received logical block number is associated with the pair number based on the logical block number,
Based on the received logical block number and the information on the start position of the section constituting the associated pair number, each logical block number in the set of logical block numbers having the same pair number Corresponding logical numbers in pairs that identify block numbers,
Based on the paired logical number in the pair, one of the sections is associated with the received logical block number,
By associating the block number with the received logical block number based on the associated pair number and the associated logical number in the pair,
Associating the received logical block number with the block number of any of the blocks in any of the sections;
The volume management device according to appendix 7.
[Appendix 9]
Assigning a logical block number to one of the first storage area and the second storage area having different access performance from the first storage area;
The ratio between the number of logical block numbers assigned to the first storage area and the number of logical block numbers assigned to the second storage area in the set of consecutive logical block numbers of a fixed length is the first It is a value based on the ratio between the number of blocks in the storage area and the number of blocks in the second storage area.
Logical block number assignment method.
[Appendix 10]
Assigning a logical block number to one of the first storage area and the second storage area having higher access performance than the first storage area;
The number of logical block numbers assigned to the first storage area in the set of consecutive logical block numbers having a fixed length is smaller than the number of logical block numbers assigned to the second storage area.
Logical block number assignment method.
[Appendix 11]
The ratio of the capacity of the area accessed in each of a plurality of the sections having different access performance in a part or all of the storage area in the storage device for storing data is the ratio of the access performance in the section. Accessing the interval so that the value is based on
Volume management method.
[Appendix 12]
In the plurality of sections, the data is divided and stored in a ratio based on a ratio of access performance of the sections.
The volume management method according to attachment 11.
[Appendix 13]
The capacity ratio of the areas accessed in each of a plurality of the sections having different access performances in a part or all of the storage area in the storage device for storing data is the capacity ratio of the sections. Accessing the interval so that it is based on the value,
Volume management method.
[Appendix 14]
In the plurality of sections, the data is divided and stored in a ratio based on a ratio of the capacity of the sections.
The volume management method according to attachment 13.
[Appendix 15]
The storage area of the storage device is divided by a predetermined number of divisions so that the time taken to access from the start position to the end position of any section generated by dividing by the division number is substantially uniform To generate the section,
Combining the sections so that the sum of the capacities of the sections in any combination is substantially uniform, and assigning a pair number identifying the combination to the combined sections,
Access is made so that the access destination is each of the sections to which the same pair number is assigned.
15. The volume management method according to any one of appendices 11 to 14.
[Appendix 16]
In the generation of the section, the boundary position of the section is calculated based on a calculation formula obtained by approximating the performance characteristic of the storage area providing device to a linear function based on the block number included in the section.
The volume management method according to attachment 15.
[Appendix 17]
The section consists of at least one block to which a block number is assigned,
A logical block number is associated with the block number of any one of the blocks in any of the sections, and the associated information is generated as the access destination information.
Based on the access destination information, access each block of the block number of each section, each of which is associated with a certain range of consecutive logical block numbers,
The ratio of the number of blocks accessed in each of the sections is a value based on the ratio of the access performance of each section.
The volume management method according to appendix 15 or 16.
[Appendix 18]
Receive logical block number,
The received logical block number is associated with the pair number based on the logical block number,
Based on the received logical block number and the information on the start position of the section constituting the associated pair number, each logical block number in the set of logical block numbers having the same pair number Corresponding logical numbers in pairs that identify block numbers,
Based on the paired logical number in the pair, one of the sections is associated with the received logical block number,
By associating the block number with the received logical block number based on the associated pair number and the associated logical number in the pair,
Associating the received logical block number with the block number of any of the blocks in any of the sections;
The volume management method according to appendix 17.
[Appendix 19]
On the computer,
An access process for accessing a storage device for storing data;
The ratio of the area accessed in each of a plurality of the sections in which the access processing is part or all of the storage area in the storage device and the access performance is different is the access performance of the section An information providing process for providing access destination information to the access process so as to have a value based on the ratio of
A program that executes
[Appendix 20]
In the access processing, the data is divided into a plurality of sections having different access performance in a part or all of the storage area in the storage device, and the data is divided into ratios based on the ratio of the access performance of the sections. And store,
The program according to appendix 19.
[Appendix 21]
On the computer,
An access process for accessing a storage device for storing data;
A ratio of the capacities of the areas accessed by the access processing in each of a plurality of the sections having different access performance in a part or all of the storage area in the storage device is a ratio of the capacities of the sections. An information providing process for determining an access destination so as to be a value based on the information, and providing the access process with the determined information of the access destination;
A program comprising
[Appendix 22]
In the access processing, the data is divided into a plurality of sections having different access performance in a part or all of a storage area in the storage device, and the data is divided into ratios based on the capacity ratio of the sections. Store,
The program according to appendix 21.
[Appendix 23]
The information providing process includes:
The storage area of the storage device is divided by a predetermined number of divisions so that the time taken to access from the start position to the end position of any section generated by dividing by the division number is substantially uniform A dividing process for generating the section;
A pair generation process that combines the sections so that the sum of the capacities of the sections of any combination is substantially uniform, and assigns a pair number that identifies the combination to the combined sections;
An access destination specifying process that provides information on the access destination to the access process so that an access destination by the access process is each of the sections to which the same pair number is assigned;
The program according to any one of appendices 19 to 22, including:
[Appendix 24]
The division processing calculates the position of the boundary of the section based on a calculation formula obtained by approximating the performance characteristic of the storage area providing device to a linear function based on the block number included in the section.
The program according to attachment 23.
[Appendix 25]
The section consists of at least one block to which a block number is assigned,
The information providing process associates a logical block number with the block number of any of the blocks in any of the sections, and provides the access process with the associated information as the access destination information. Including processing,
The access processing accesses the block of the block number in each of the sections, each of which is associated with a certain range of consecutive logical block numbers based on the access destination information,
In each of the sections, the ratio of the number of blocks accessed by the access processing is a value based on the ratio of the access performance of each section.
The program according to appendix 23 or 24.
[Appendix 26]
The access destination specifying process is:
Receive logical block number,
The received logical block number is associated with the pair number based on the logical block number,
Based on the received logical block number and the information on the start position of the section constituting the associated pair number, each logical block number in the set of logical block numbers having the same pair number Corresponding logical numbers in pairs that identify block numbers,
Based on the paired logical number in the pair, one of the sections is associated with the received logical block number,
By associating the block number with the received logical block number based on the associated pair number and the associated logical number in the pair,
Associating the received logical block number with the block number of any of the blocks in any of the sections;
The program according to attachment 25.

1 データ管理システム
10〜14 ボリューム管理装置
20 ホスト装置
30 HDD
40 記憶装置
100 情報提供部
101 アクセス部
110 情報提供部
111 ボリューム提供部
113 分割部
114 ペア管理部
115 ペア生成部
116 表生成部
117 表記憶部
120 情報提供部
126 アクセス先特定部
127 カウンタ
130 情報提供部
136 アクセス先特定部
140 情報提供部
144 セット管理部
145 セット生成部
146 アクセス先特定部
311、312 ディスク
1 Data management system 10-14 Volume management device 20 Host device 30 HDD
40 Storage Device 100 Information Providing Unit 101 Access Unit 110 Information Providing Unit 111 Volume Providing Unit 113 Dividing Unit 114 Pair Management Unit 115 Pair Generating Unit 116 Table Generating Unit 117 Table Storage Unit 120 Information Providing Unit 126 Access Destination Specifying Unit 127 Counter 130 Information Providing unit 136 Access destination identifying unit 140 Information providing unit 144 Set management unit 145 Set generating unit 146 Access destination identifying unit 311, 312 Disk

Claims (10)

データを記憶する記憶装置にアクセスするアクセス手段と、
前記記憶装置内の記憶領域の一部または全部の区間であってアクセス性能が相異なる複数の前記区間の、それぞれにおいて前記アクセス手段によってアクセスされる領域の容量の比が、前記区間のアクセス性能の比に基づいた値になるよう、アクセス先を決定し、決定された前記アクセス先の情報を前記アクセス手段に提供する、情報提供手段と、
を備えるボリューム管理装置。
Access means for accessing a storage device for storing data;
A ratio of the capacities of the areas accessed by the access means in each of a plurality of sections having different access performance in a part or all of the storage area in the storage device is the access performance of the section. An information providing means for determining an access destination so as to be a value based on the ratio, and providing the access means with information on the determined access destination;
A volume management apparatus comprising:
前記アクセス手段は、前記複数の前記区間に、前記データを、前記区間のアクセス性能の比に基づいた比に分割して格納する、
請求項1に記載のボリューム管理装置。
The access means divides and stores the data in the plurality of sections in a ratio based on a ratio of access performance of the sections.
The volume management apparatus according to claim 1.
前記情報提供手段は、
前記記憶装置の前記記憶領域を、所定の分割数で、該分割数で分割されることにより生成するどの区間の開始位置から終了位置までのアクセスにかかる時間もほぼ均一になるように、分割することで、前記区間を生成する、分割手段と、
前記区間を、どの組み合わせの前記区間の容量の和もほぼ均一になるように組み合わせ、組み合わせた前記区間にその組み合わせを識別するペア番号を付与する、ペア生成手段と、
前記アクセス手段によるアクセス先が、同一の前記ペア番号が付与された前記区間のそれぞれであるように、前記アクセス手段に前記アクセス先の情報を提供する、アクセス先特定手段と、
を含む、請求項1または2に記載のボリューム管理装置。
The information providing means includes
The storage area of the storage device is divided by a predetermined number of divisions so that the time taken to access from the start position to the end position of any section generated by dividing by the division number is substantially uniform A dividing means for generating the section;
Pair generating means for combining the sections so that the sum of the capacities of the sections in any combination is substantially uniform, and assigning a pair number for identifying the combination to the combined sections;
An access destination specifying means for providing the access means with information of the access destination so that the access destination by the access means is each of the sections assigned with the same pair number;
The volume management device according to claim 1, comprising:
前記分割手段は、前記記憶装置の性能特性を前記記憶領域に含まれるブロックのブロック番号による線形な関数に近似することによって得られる計算式に基づいて、前記区間の境界の位置を算出する、
請求項3に記載のボリューム管理装置。
The dividing unit calculates the position of the boundary of the section based on a calculation formula obtained by approximating a performance function of the storage device to a linear function based on a block number of a block included in the storage area.
The volume management apparatus according to claim 3.
前記区間は、ブロック番号が付与された少なくとも1つのブロックからなり、
前記情報提供手段は、論理ブロック番号をそれぞれいずれかの前記区間のいずれかの前記ブロックの前記ブロック番号に対応付け、対応付けた情報を前記アクセス先の情報として前記アクセス手段に提供するアクセス先特定手段を含み、
前記アクセス手段は、前記アクセス先の情報に基づき、一定範囲の連続する論理ブロック番号のそれぞれが対応付けられる、それぞれの前記区間の前記ブロック番号の前記ブロックにアクセスし、
前記区間のそれぞれにおいて、前記アクセス手段によりアクセスされる前記ブロックの数の比は、前記区間のそれぞれのアクセス性能の比に基づいた値である、
請求項3または4に記載のボリューム管理装置。
The section consists of at least one block to which a block number is assigned,
The information providing means associates a logical block number with the block number of any block in any of the sections, and provides the access means with the associated information as the access destination information. Including means,
The access means accesses, based on the access destination information, the block of the block number in each section, to which each of a certain range of consecutive logical block numbers is associated,
In each of the sections, the ratio of the number of blocks accessed by the access means is a value based on the ratio of the access performance of each section.
The volume management apparatus according to claim 3 or 4.
前記アクセス先特定手段は、
論理ブロック番号を受け取り、
受け取った論理ブロック番号に、該論理ブロック番号に基づいて、前記ペア番号を対応付け、
受け取った論理ブロック番号に、該論理ブロック番号と、対応付けた前記ペア番号を構成する区間の開始位置の情報とに基づいて、同一の前記ペア番号の前記論理ブロック番号の集合においてそれぞれの前記論理ブロック番号を識別するペア内論理番号を対応付け、
対応付けた前記ペア内論理番号に基づいて、受け取った論理ブロック番号に前記区間の1つを対応付け、
対応付けた前記ペア番号と対応付けた前記ペア内論理番号とに基づいて、受け取った論理ブロック番号に前記ブロック番号を対応付けることで、
受け取った論理ブロック番号をいずれかの前記区間のいずれかの前記ブロックの前記ブロック番号に対応付ける、
請求項5に記載のボリューム管理装置。
The access destination specifying means is:
Receive logical block number,
The received logical block number is associated with the pair number based on the logical block number,
Based on the received logical block number and the information on the start position of the section constituting the associated pair number, each logical block number in the set of logical block numbers having the same pair number Corresponding logical numbers in pairs that identify block numbers,
Based on the paired logical number in the pair, one of the sections is associated with the received logical block number,
By associating the block number with the received logical block number based on the associated pair number and the associated logical number in the pair,
Associating the received logical block number with the block number of any of the blocks in any of the sections;
The volume management apparatus according to claim 5.
論理ブロック番号を、第1の記憶領域、および、前記第1の記憶領域とアクセス性能が異なる前記第2の記憶領域の、いずれかに割り当て、
一定長の連続する論理ブロック番号の集合のうち、第1の記憶領域に割り当てられる論理ブロック番号の個数と、第2の記憶領域に割り当てられる論理ブロック番号の個数との比は、前記第1の記憶領域の有するブロック数と前記第2の記憶領域の有するブロック数との比に基づいた値である、
論理ブロック番号の割り当て方法。
Assigning a logical block number to one of the first storage area and the second storage area having different access performance from the first storage area;
The ratio between the number of logical block numbers assigned to the first storage area and the number of logical block numbers assigned to the second storage area in the set of consecutive logical block numbers of a fixed length is the first It is a value based on the ratio between the number of blocks in the storage area and the number of blocks in the second storage area.
Logical block number assignment method.
データを記憶する記憶装置内の記憶領域の一部または全部の区間であってアクセス性能が相異なる複数の前記区間の、それぞれにおいてアクセスされる領域の容量の比が、前記区間のアクセス性能の比に基づいた値になるよう、前記区間にアクセスする、
ボリューム管理方法。
The ratio of the capacity of the area accessed in each of a plurality of the sections having different access performance in a part or all of the storage area in the storage device for storing data is the ratio of the access performance in the section. Accessing the interval so that the value is based on
Volume management method.
コンピュータに、
データを記憶する記憶装置にアクセスするアクセス処理と、
前記アクセス処理が、前記記憶装置内の記憶領域の一部または全部の区間であってアクセス性能が相異なる複数の前記区間の、それぞれにおいてアクセスされる領域の容量の比が、前記区間のアクセス性能の比に基づいた値になるよう、前記アクセス処理にアクセス先の情報を提供する、情報提供処理と、
を実行させるプログラム。
On the computer,
An access process for accessing a storage device for storing data;
The ratio of the area accessed in each of a plurality of the sections in which the access processing is part or all of the storage area in the storage device and the access performance is different is the access performance of the section An information providing process for providing access destination information to the access process so as to have a value based on the ratio of
A program that executes
データを記憶する記憶装置にアクセスするアクセス手段と、
前記記憶装置内の記憶領域の一部または全部の区間であってアクセス性能が相異なる複数の前記区間の、それぞれにおいて前記アクセス手段によってアクセスされる領域の容量の比が、前記区間の容量の比に基づいた値になるよう、アクセス先を決定し、決定された前記アクセス先の情報を前記アクセス手段に提供する、情報提供手段と、
を備えるボリューム管理装置。
Access means for accessing a storage device for storing data;
A ratio of the capacities of areas accessed by the access means in each of a plurality of the sections having different access performance in a part or all of the storage area in the storage device is a ratio of the capacities of the sections. Information providing means for determining an access destination so as to be a value based on the information, and providing the access means with the determined information of the access destination;
A volume management apparatus comprising:
JP2016062022A 2016-03-25 2016-03-25 Volume management device, volume management method, method for allocating logical block number, and program Pending JP2017174302A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016062022A JP2017174302A (en) 2016-03-25 2016-03-25 Volume management device, volume management method, method for allocating logical block number, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016062022A JP2017174302A (en) 2016-03-25 2016-03-25 Volume management device, volume management method, method for allocating logical block number, and program

Publications (1)

Publication Number Publication Date
JP2017174302A true JP2017174302A (en) 2017-09-28

Family

ID=59971288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016062022A Pending JP2017174302A (en) 2016-03-25 2016-03-25 Volume management device, volume management method, method for allocating logical block number, and program

Country Status (1)

Country Link
JP (1) JP2017174302A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113590042A (en) * 2021-07-29 2021-11-02 杭州宏杉科技股份有限公司 Data protection storage method, device and equipment
JP2022522123A (en) * 2019-09-18 2022-04-14 華為技術有限公司 Storage system, storage node and data storage method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022522123A (en) * 2019-09-18 2022-04-14 華為技術有限公司 Storage system, storage node and data storage method
JP7313458B2 (en) 2019-09-18 2023-07-24 華為技術有限公司 Storage system, storage node and data storage method
CN113590042A (en) * 2021-07-29 2021-11-02 杭州宏杉科技股份有限公司 Data protection storage method, device and equipment
CN113590042B (en) * 2021-07-29 2024-03-19 杭州宏杉科技股份有限公司 Data protection storage method, device and equipment

Similar Documents

Publication Publication Date Title
US10168946B2 (en) Extent migration in multi-tier storage systems
US9542125B1 (en) Managing data relocation in storage systems
JP5427927B2 (en) System and method for RAID management, reallocation, and restriping
US9477431B1 (en) Managing storage space of storage tiers
US11023147B2 (en) Mapping storage extents into resiliency groups
US8380928B1 (en) Applying data access activity measurements
JP6260407B2 (en) Storage management device, performance adjustment method, and performance adjustment program
US10860260B2 (en) Method, apparatus and computer program product for managing storage system
US20170212705A1 (en) Dynamic Weighting for Distributed Parity Device Layouts
WO2011101909A1 (en) Virtual volume control method and storage device
US10606503B2 (en) Apparatus to reduce a data-migration time for rearranging data between storage hierarchical layers
US20110179232A1 (en) Method and system for allocating data objects for efficient reads in a mass storage subsystem
JP4992835B2 (en) Disk storage device and program
US20170315924A1 (en) Dynamically Sizing a Hierarchical Tree Based on Activity
JP5567545B2 (en) Method and apparatus for allocating space to a virtual volume
US8725942B2 (en) Virtual storage mirror configuration in virtual host
US9495109B2 (en) Storage controller, virtual storage apparatus, and computer readable recording medium having storage control program stored therein
JP6152704B2 (en) Storage system, information processing apparatus control program, and storage system control method
US10782922B2 (en) Storage device volume selection for improved space allocation
JP2017174302A (en) Volume management device, volume management method, method for allocating logical block number, and program
US11915153B2 (en) Workload-oriented prediction of response times of storage systems
KR102227643B1 (en) Predictive Candidate Selection Method based on Orchestration for Optimal Storage Allocation
KR101594555B1 (en) Method for processing distributed prosonalized data and cloud server
US9658803B1 (en) Managing accesses to storage
US20170336987A1 (en) Method, system, and computer-readable recording medium for automated storage tiering

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191126

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200630