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 PDFInfo
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
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
また、関連する技術として、特許文献3には、複数のディスク装置に論理記憶領域を割り当てる制御装置であって、その論理記憶領域の開始位置をそれぞれ異なる物理位置に割り当てる制御装置が開示されている。
Further, as a related technique,
特許文献1に開示される技術では、常にランダムアクセスを行う必要があることから、ドライブの磁気ヘッドが移動する(シークする)工程が多くなるために、この技術を使わずに連続するブロックにアクセスする場合に比べ、アクセス性能が低下するという問題がある。
In the technique disclosed in
特許文献2に開示されるディスク制御装置のデータ転送レートは、高速領域と低速領域の算術平均とはならない。なぜなら、特許文献2に開示されるディスク制御装置は、データのフレームを、高速領域と低速領域とに等しく割り当てるよう構成されているからである(特許文献2の段落[0028]および図5等参照)。このような構成では、高速領域と低速領域の組み合わせによるデータ転送レートは、高速領域のデータ転送レートと低速領域のデータ転送レートの調和平均となる。調和平均は、算術平均よりも小さいため、特許文献2に開示されるディスク制御装置は、所望のデータ転送レートを実現できていない。
The data transfer rate of the disk controller disclosed in
また、特許文献2に開示される技術は、外周部と内周部とにおける性能の差に起因するデータ転送レートの不均衡を、完全には解消していない。すなわち、特許文献2に開示されるアドレッシングによっても、アドレスの違いによるデータ転送レートの差は依然として生じる。たとえば、低速領域における最も内側のトラックと高速領域における最も外側のトラックとの組み合わせによるデータ転送レートと、低速領域における最も外側のトラックと高速領域における最も内側のトラックとの組み合わせによるデータ転送レートとは、等しくない。なぜなら、記憶領域の中央のブロック(特許文献2の説明においては、アドレスan/2)におけるデータ転送レートは、ディスクの最も内側のトラックのデータ転送レートと最も外側のトラックのデータ転送レートの平均とは異なるからである。
Further, the technique disclosed in
特許文献3に開示される技術も、論理記憶領域の違いによるアクセス性能の不均衡の解決には寄与しない。
The technology disclosed in
以上に示したように、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.
以下、図面を参照しながら、本発明の実施形態を詳細に説明する。 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
ボリューム管理装置11およびホスト装置20は、CPUやメモリなどのハードウェア資源により構成される。ボリューム管理装置11は、ソフトウェアまたはファームウェアを実行するコンピュータにより実装されてもよい。あるいは、ボリューム管理装置11は、RAID(Redundant Arrays of Inexpensive Disks)コントローラなどのハードウェアにより実装されてもよい。
The
図1に示す例では、ボリューム管理装置11とホスト装置20とは、分離された2つの装置として記載されるが、ボリューム管理装置11とホスト装置20とは、1つの装置によって実現されていてもよい。たとえば、ボリューム管理装置11の機能は、ホスト装置20が実行するソフトウェアによって実現されてもよい。
In the example shown in FIG. 1, the
===ホスト装置20===
ホスト装置20は、ボリューム管理装置11を介してHDD30へのアクセスを行う。たとえば、ホスト装置20は、ボリューム管理装置11にアクセスの要求を送信し、ボリューム管理装置11がその要求に従ってHDD30に対して行ったアクセスの結果を、ボリューム管理装置11から受信する。アクセスとは、データの読み出しまたは書き込みを指す。
===
The
===HDD30===
HDD30は、ハードディスクドライブである。本実施形態では、HDD30は、HDD1とHDD2との2つである。HDD1はディスク311を内蔵する。HDD2はディスク312を内蔵する。HDD1およびHDD2は、それぞれ内蔵するディスク(ディスク311またはディスク312)を駆動することで、データの読み書き機能を提供する。
===
The
データは、ディスク311およびディスク312に、定記録密度方式で記録される。HDD30へのアクセスは、LBA(Logical Block Addressing)方式で行われる。本実施形態では、各HDDがアクセスする記憶領域の最小単位が、ブロックである。本実施形態では、ディスク311およびディスク312の各々に含まれるブロックの数はいずれも100,000,000である。HDD30は、それぞれのブロックを、その位置に基づいて一意に付与されたブロック番号(0〜99,999,999)によって識別する。以下、「ブロック番号」とは、ディスクの位置に基づいて一意に付与されたブロック番号を指すものとする。
Data is recorded on the
ディスク311、312において、ブロック番号が“0”であるブロックは最も外側のトラックに位置し、ブロック番号が大きいブロックほど内周に位置する。ブロック番号が“99,999,999”であるブロックは最内周に位置する。
In the
HDD1およびHDD2のアクセス性能は、単位時間あたりに取得できる情報の量である。アクセス性能は、たとえば単位時間あたりにアクセスできるブロックの数として定義される。本実施形態では、HDD1およびHDD2のアクセス性能は同等である。ただし、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
===ボリューム管理装置11===
ボリューム管理装置11は、2つのHDD30(HDD1およびHDD2)を制御する。ボリューム管理装置11は、ホスト装置20によるHDDの記憶領域へのアクセスを中継する。
===
The
ボリューム管理装置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
以下、第1の実施形態に係るボリューム管理装置11の制御構造を説明する。図3は、第1の実施形態に係るボリューム管理装置11の制御構造を示すブロック図である。ボリューム管理装置11は、アクセス部101と、情報提供部110とを備える。情報提供部110は、ボリューム提供部111と、分割部113と、ペア管理部114と、ペア生成部115と、表生成部116と、表記憶部117と、を備える。
Hereinafter, the control structure of the
まず、ホスト装置20によるアクセスの要求に応じたアクセスに関わる構成要素である、ボリューム提供部111と、表記憶部117と、アクセス部101との機能を説明する。
First, functions of the volume providing unit 111, the
===ボリューム提供部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
===表記憶部117===
表記憶部117は、番号対応表を記憶する。番号対応表は、論理ブロック番号と、HDDの識別子およびブロック番号の組とを、一意に関連づける情報である。番号対応表は、表生成部116によって生成される。表生成部116によって番号対応表が生成する過程については、後で詳細に説明する。
===
The
===アクセス部101===
アクセス部101は、受信したアクセスの要求に従って、HDD30にアクセスする。具体的には、アクセス部101は、ボリューム提供部111から、アクセスの要求を受信する。アクセスの要求には、アクセスされる論理ブロック番号の範囲の指定が含まれる。アクセス部101は、指定された範囲の論理ブロック番号が割り当てられているブロックに対して、要求されたアクセスを行う。この際、アクセス部101は、指定された範囲の論理ブロック番号が割り当てられているブロックを特定する。具体的には、アクセス部101は、指定された範囲の論理ブロック番号に関連づけられているHDDの識別子と、ブロック番号とを、上述の番号対応表によって特定すればよい。
===
The
(書き込み処理)
アクセス部101がデータを書き込む要求(書き込み要求)を受けた場合の処理、すなわち書き込み処理を説明する。アクセス部101は、ボリューム提供部111から、書き込み要求と、データとを受信する。アクセス部101は、書き込み要求から、そのデータを書き込むブロックの範囲の指定を抽出する。論理ブロック番号の範囲の指定は、データの先頭の論理ブロック番号(書き込みを開始する論理ブロック番号)の指定でもよい。そして、アクセス部101は、ボリューム提供部111が受け取ったデータに対し、ブロックのサイズのデータごとに、論理ブロック番号を割り当てる。以下、ブロックのサイズのデータのまとまりをデータブロックと呼ぶこととする。アクセス部101は、それぞれのデータブロックについて、該データブロックに割り当てられた論理ブロック番号が割り当てられたブロックを特定する。HDDおよびブロック番号の特定においては、アクセス部101は、番号対応表を用いる。アクセス部101は、それぞれのデータブロックを、特定されたHDDの特定されたブロック番号のブロックに格納する。具体的には、アクセス部101は、データブロックと、そのデータブロックに基づいて特定されたブロック番号の指定を含む書き込みの要求とを、そのデータブロックに基づいて特定されたHDD30に送信する。これにより、データブロックは、データブロックに割り当てられた論理ブロック番号が割り当てられているブロックに格納される。アクセス部101は、ボリューム提供部111から受け取ったすべてのデータブロックを、上記のように格納する。
(Write process)
A process when the
図4は、本実施形態のボリューム管理装置により、データが各HDD30に格納される様子を示す概念図である。図4に示されるように、データは、データブロックごとに格納先のHDDが特定され、そのHDDに格納される。なお、データを分割して格納することは、ストライピングと呼ばれる。
FIG. 4 is a conceptual diagram showing how data is stored in each
書き込みが完了すると、アクセス部101は、書き込みが完了したことをボリューム提供部111に伝える。以上の動作により、アクセス部101によるデータの書き込み処理は完了する。
When the writing is completed, the
(読み出し処理)
アクセス部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
次に、番号対応表の生成に関わる構成要素である、分割部113と、ペア管理部114と、ペア生成部115と、および表生成部116との機能について説明する。
Next, functions of the
なお、番号対応表の生成の概要は以下の通りである。
・分割部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
The
The
このような構成により、たとえば、論理ボリュームに格納されるデータは、HDD1に格納されるデータと、HDD2に格納されるデータとに分割される。そして、分割されたデータのサイズの比は、それぞれのデータが格納される区間のアクセス性能の比に準じる。各ペアを構成する区間に含まれるブロックの合計が等しくなるようにペアが作られるため、この構成によれば、論理ブロック番号の違いによるアクセス性能のばらつきは抑えられる。 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によって区切られた領域のそれぞれを区間と呼ぶ。また、記憶領域を区切ることを、記憶領域を分割する、とも称す。また、区間を構成するブロックのうち最もブロック番号が小さいブロックのブロック番号を、分割位置と呼ぶ。
===
The dividing
すなわち、分割部113は、C個のブロックのうち、N個の分割位置を決定する。本実施形態の説明では、C=100,000,000、N=1024とする。
That is, the dividing
分割部113は、分割位置の決定に際し、各区間のアクセス時間(後述)が均等になるように、分割位置を導出する。アクセス時間とは、HDD30がその区間のすべてのブロックにアクセスするのにかかる時間である。
When determining the division position, the
具体的には、たとえば、まず分割部113は、HDD30の全てのブロックにアクセスするのにかかる時間(総アクセス時間)を分割数“N”で割ることにより、1つの区間あたりの時間を算出する。そして、分割部113は、分割によって生成するそれぞれの区間のアクセス時間が、算出した時間になるように、分割位置を求めればよい。
Specifically, for example, the dividing
たとえば、分割部113は、ブロックごとのアクセス性能の情報を参照できるよう、構成されていてもよい。ブロックのアクセス性能は、たとえば、そのブロックにデータを読み書きするのにかかる時間の逆数によって表されてもよい。この情報を参照することにより、総アクセス時間および各区間におけるアクセス時間を計算することができる。なお、ブロックごとにアクセス性能が関連付けられた情報を、性能特性とも称する。前述の図2のグラフは、性能特性のグラフの例である。
For example, the dividing
分割部113は、性能特性を表す近似式を用いて、分割位置を算出してもよい。具体的には、たとえば、HDD30の性能特性が、図2のグラフのように表される場合、この性能特性は、アクセス性能をy、ブロック番号をmとした、次の近似式で表すことができる。
The dividing
上式において、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
上述の近似式を用いて分割位置を算出する方法を以下に示す。以下、0番目の分割位置をブロック番号“0”とし、n(nはN−1以下の整数)番目の分割位置をpnで表すとする。 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.
上述の近似式に基づくと、分割位置pnは以下の式によって決定できる。 Based on the approximate expression above, the division position p n can be determined by the following equation.
なお、この式はたとえば、ブロック番号ごとのアクセスにかかる時間を表す関数(1/y)を0からpnまで積分した値が、すべてのブロックへのアクセスにかかる時間(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 /
分割部113は、この式にそれぞれのnの値を代入することにより、pnの値を算出し、算出したpnの値をn番目の分割位置として決定する。なお、“N”、“C”、“α”の値は、予め、所定の値として、図示しない機能構成により分割部113に入力されていればよい。
Dividing
図6は、HDD1およびHDD2が分割数N=1024で分割されることにより生成する区間を表す概念図である。図6に示すように、分割部113による分割で、HDD1では区間A1〜A1024、HDD2では区間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
このような分割によれば、アクセス性能が高い区間ほど、その区間を構成するブロックの数は多くなる。具体的には、各区間を構成するブロックの数は、その区間におけるアクセス性能の平均値(該区間内の各ブロックのアクセス性能の調和平均)にほぼ比例する。 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
===ペア管理部114===
ペア管理部114は、ペア管理テーブルを記憶する。ペア管理テーブルは、分割部113が算出した分割位置の情報と、後述するペア生成部115が生成するペアの情報が記録されたものである。
===
The
===ペア生成部115===
ペア生成部115は、分割部113により生成された区間を、各HDD30から1つずつ組み合わせて、ペアを生成する。ペアを生成するとは、具体的には、組み合わせた区間に共通の識別番号(以下「ペア番号」と称す)を割り当てることである。ペア生成部115は、ペアの生成において、どのペアにおいても、ペアとして組み合わされた区間に含まれるブロックの合計が等しくなるように、区間を組み合わせる。たとえば、ペア生成部115は、ペア番号が割り当てられていない区間のうち、HDD1における、ブロックの数が最も多い区間と、HDD2における、ブロックの数が最も少ない区間とを組み合わせていけばよい。
===
The
本実施形態では、ペア生成部115は、区間A1と区間B1024とにペア番号“1”、区間A2と区間B1023とにペア番号“2”、・・・、区間A1024と区間B1とにペア番号“1024”、を割り当てることで、計1024組のペアを生成する。図7は、本実施形態において、それぞれの区間に割り当てられたペア番号の、各HDD30における位置を示す概念図である。図7のように、HDD1上においては、外側に位置する区間ほど、その区間に割り当てられるペア番号は小さい。一方、HDD2上においては、内側に位置する区間ほど、その区間に割り当てられるペア番号は小さい。
In this embodiment, the
ペア生成部115は、生成したペアの情報をペア管理部114が記憶するペア管理テーブルに記録する。
The
図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.
「HDD1における先頭番号」は、そのペア番号が割り当てられたHDD1の区間に含まれるブロックのうち、最もブロック番号が小さいブロックの、ブロック番号である。「HDD2における先頭番号」は、そのペア番号が割り当てられたHDD2の区間に含まれるブロックのうち、最もブロック番号が小さいブロックの、ブロック番号である。 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以下の整数)であるペアの、HDD1における先頭番号は、p(k−1)である。また、ペア番号が“k”であるペアの、HDD2における先頭番号は、p(1024−k)である。たとえば、p0の値は“0”であるから、ペア番号が“1”であるペアのHDD1における先頭番号は“0”、ペア番号が“1024”であるペアのHDD2における先頭番号は“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は、このように、全てのペアの先頭番号を、p0、・・・、p1023の値に基づいて、特定する。ペア生成部115は、ペア管理テーブルにおける、「HDD1における先頭番号」、「HDD2における先頭番号」の欄に、特定した先頭番号の値を書き込む。
In this way, the
なお、「HDD1における先頭番号」および「HDD2における先頭番号」を参照することにより、各ペアを構成する区間の範囲がわかる。たとえば、図8の「HDD1における先頭番号」および「HDD2における先頭番号」を参照すると、ペア番号が“2”であるペアを構成する区間は、HDD1のブロック番号“135334”以上“270577”未満の区間と、HDD2のブロック番号“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”.
「HDD1における容量(C1)」は、そのペア番号が割り当てられたHDD1上の区間に含まれるブロックの数である。「HDD2における容量(C2)」は、そのペア番号が割り当てられたHDD2上の区間に含まれるブロックの数である。 “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”が割り当てられた、HDD1の区間に含まれるブロックの数C1は、pnとp(n−1)との差である(ただし、便宜的にp1024=100,000,000とする)。ペア番号 “k”が割り当てられた、HDD2の区間に含まれるブロックの数C2は、p(1024−k)とp(1025−k)との差である。
The
図8の「HDD1における容量(C1)」および「HDD2における容量(C2)」の欄を参照すると、たとえば、ペア番号“2”が割り当てられた区間に含まれるブロックは、HDD1には135243個、HDD2には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 .
「ペア容量」は、そのペア番号が割り当てられた区間に含まれるブロックの総和である。すなわち、ペア容量は、C1+C2である。図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
「先頭論理番号」は、そのペア番号が割り当てられた区間の、論理ボリュームにおける開始位置を示す。本実施形態では、論理ボリュームは、同一のペア番号が割り当てられた区間に含まれるブロックには、連続した論理ブロック番号が割り当てられるように構成される。したがって、各々のペア番号は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
たとえば、図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
なお、上述のように先頭論理番号を決定することにより、ペア番号 “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における先頭番号、C1、C2、ペア容量、および先頭論理番号を、ペア管理テーブルに記録する。
As described above, the
なお、ペア管理テーブル上の値を用いて行われる値の演算は、ペア管理部114に備わる演算機能によって行われてもよい。
The value calculation performed using the values on the pair management table may be performed by a calculation function provided in the
===表生成部116===
表生成部116は、ペア管理部114が記憶するペア管理テーブルに基づいて、論理ブロック番号と、HDDおよびブロック番号の組とを一意に関連づける番号対応表を生成する。
===
Based on the pair management table stored in the
以下に、表生成部116が番号対応表を生成する具体的な処理の例を記載する。
Hereinafter, an example of specific processing in which the
表生成部116は、ペア番号ごとに、論理ブロック番号と、HDDおよびブロック番号の組とを関連づける。以下、表生成部116が、ペア番号“k”が割り当てられた区間に含まれるブロックのブロック番号と、論理ブロック番号とを関連づける方法を、説明する。なお、以下、表生成部116によって、論理ブロック番号のそれぞれに関連づけられるHDDを「アクセス先HDD」、論理ブロック番号のそれぞれに関連づけられるブロック番号を「アクセス先番号」と呼ぶ。
The
まず、表生成部116は、ペア番号 “k”に関連づけられる論理ブロック番号の範囲を特定する。ペア番号 “k”に関連づけられる論理ブロック番号の範囲は、ペア番号が“k”であるペアの先頭論理番号以上、ペア番号が“k+1”であるペアの先頭論理番号未満の範囲である。また、表生成部116は、ペア番号が“k”であるペアのC1およびC2の値を、ペア管理テーブルより取得する。
First, the
表生成部116は、ペア番号 “k”に関連づけられる論理ブロック番号の範囲の論理ブロック番号のそれぞれに対し、HDD1またはHDD2を、アクセス先HDDとして関連づける。ただし、表生成部116は、このとき、ペア番号 “k”に関連づけられる論理ブロック番号の範囲の論理ブロック番号のうち、C1個の論理ブロック番号にHDD1を、C2個の論理ブロック番号にHDD2を関連づける。
The
たとえば、ペア番号が“1”であるペアについて、図8に示される例に基づけば、表生成部116は、“0”以上“203048”未満の論理ブロック番号のうち、135334個の論理ブロック番号にHDD1を関連づけ、67714個の論理ブロック番号にHDD2を関連づける。
For example, based on the example shown in FIG. 8 for the pair whose pair number is “1”, the
論理ブロック番号にアクセス先HDDを関連づける方法は、上述のように、C1個の論理ブロックにHDD1を、C2個の論理ブロック番号にHDD2を関連づける方法であれば、任意の方法でよい。好ましくは、ペア番号 “k”に関連づけられる論理ブロック番号の範囲内の、任意の長さの範囲の論理ブロック番号の集合においても、HDD1に関連づけられる論理ブロック番号の数と、HDD2に関連づけられる論理ブロック番号の数との比がほぼC1:C2であるような方法がよい。そのように構成されることで、一部に対するアクセスであってもアクセス性能のばらつきが抑えられる。 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”に関連づけられる論理ブロック番号のうち、C1個の論理ブロック番号をランダムに選ぶ。表生成部116は、選んだ論理ブロック番号にHDD1を関連づける。表生成部116は、選ばなかったブロック番号にHDD2を関連づける。
An example of a method for associating the access destination HDD will be described. For example, the
アクセス先HDDを関連づける方法の他の例を説明する。たとえば、表生成部116は、論理ブロック番号の小さいものから順に、C1およびC2の値の大きさに応じた確率に基づいて、HDD1またはHDD2をランダムに関連づける。たとえば、表生成部116は、各論理ブロック番号に0〜1のランダム値を与え、そのランダム値がC1/(C1+C2)以下である論理ブロック番号にはHDD1を、そうでない論理ブロック番号にはHDD2を関連づける。ただし、HDDを関連づけていく過程で、一方のHDDに関連づけられた論理ブロック番号の数が、そのHDDにおける容量(C1またはC2)に達した場合には、HDDが関連付けられていない以降の論理ブロック番号に、他方のHDDを関連づける。
Another example of a method for associating the access destination HDD will be described. For example, the
表生成部116は、各論理ブロック番号とアクセス先HDDとを関連づけた情報を、表記憶部117に記録する。例として、図9に、表生成部116が、ペア番号が“1”であるペアの論理ブロック番号のそれぞれにアクセス先HDDを関連づけた表の例を示す。図9に示す例では、表の左2列において、論理ブロック番号と、アクセス先HDDが関連付けられている。
The
各論理ブロック番号とアクセス先HDDとを関連づけたら、表生成部116は、HDD1に関連づけられた各論理ブロック番号には0からC1−1の番号を一意に割り当てる。表生成部116は、HDD2に関連づけられた各論理ブロック番号には0からC2−1の番号を一意に割り当てる。以下、この割り当てられる番号を、「ペア内番号」と称する。ペア内番号は、ペア番号とアクセス先HDDが同一である論理ブロック番号の集合における序列を表す。
After associating each logical block number with the access destination HDD, the
本実施形態では、ペア生成部115は、論理ブロック番号が小さいほど、小さいペア内番号を割り当てる。この結果、各論理ブロック番号に割り当てられるペア内番号は、図9のようになる。すなわち、「HDD1におけるペア内番号」の欄においては、アクセス先HDDがHDD1である論理ブロック番号に対して、論理ブロック番号が小さい順に0からC1−1の番号が割り当てられる。「HDD2におけるペア内番号」の欄においては、アクセス先HDDがHDD2である論理ブロック番号に対して、論理ブロック番号が小さい順に0からC2−1の番号が割り当てられる。
In the present embodiment, the
ペア内番号を割り当てたら、表生成部116は、それぞれの論理ブロック番号に、アクセス先番号を割り当てる。表生成部116は、それぞれの論理ブロック番号に割り当てるアクセス先番号を、ペア番号が“k”であるペアの先頭論理番号、および、上記割り当てたペア内番号に基づいて、算出する。具体的には、表生成部116は、アクセス先番号を、(先頭論理番号)+(ペア内番号)によって算出する。図10は、図9の表に基づいて算出された、ペア番号が“1”であるペアの各論理ブロック番号のアクセス先番号の例である。図10の表において、「アクセス先番号」の欄にて、各論理ブロック番号に割り当てられるアクセス先番号が記録される。
After assigning the intra-pair number, the
以上のようにして、表生成部116は、ペア番号が“k”であるペアが占める論理ブロック番号の範囲の論理ブロック番号のそれぞれと、アクセス先HDDおよびアクセス先番号の組を、一意に関連づける。表生成部116は、論理ブロック番号とアクセス先のHDDおよびアクセス先番号の組とを関連づけた情報を、番号対応表に記録する。
As described above, the
なお、番号対応表上の値を用いて行われる演算は、表記憶部117に備わる演算機能によって行われてもよい。
Note that the calculation performed using the values on the number correspondence table may be performed by a calculation function provided in the
<動作>
次に、第1の実施形態に係るボリューム管理装置11の動作の流れを説明する。
<Operation>
Next, an operation flow of the
(論理ボリュームの作成)
ボリューム管理装置11が、2つのHDD30を使用することが決定すると、ボリューム管理装置11は、図11に示す手順で論理ボリュームを作成する。
(Create logical volume)
When the
まず、分割部113は、パラメータの値、たとえば、使用するHDD30のブロックの数“C”、HDD30の最も外側のトラックと最も内側のトラックとのアクセス性能比“α”、および、HDD30の分割数“N”の値を取得する(ステップS111)。
First, the dividing
次に、分割部113は、取得したパラメータに基づいて、分割された後の各区間のアクセス時間が均等になるように、分割位置を算出する(ステップS112)。
Next, the dividing
分割部113は、算出された分割位置の情報を、ペア生成部115に送る。本実施形態の場合、各“k”に関する、pk−1の値およびHDD1における先頭番号の値は等しいため、分割部113は、ペア管理部114のペア管理テーブルの「HDD1における先頭番号」の欄に、分割位置の値を記録してもよい。
The
ペア生成部115は、分割された各区間を、各HDD30から1つずつ組み合わせ、ペアを生成する(ステップS113)。ペア生成部115は、生成したペアのそれぞれに関する情報、たとえば、ペア生成部115は、各HDDにおける先頭番号、C1、C2、ペア容量、および先頭論理番号を、ペア管理テーブルに記録する。(ステップS114)。
The
表生成部116は、ペア管理テーブルに基づいて、ペア番号ごとに、そのペア番号が割り当てられたペアが占める論理ブロック番号の範囲の論理ブロック番号のそれぞれに、アクセス先HDDを関連づける(ステップS115)。そして、表生成部116は、各論理ブロック番号に、アクセス先番号を割り当てる(ステップS116)。これにより、表生成部116は、論理ブロック番号と、アクセス先HDDおよびアクセス先番号の組とが一意に関連づけられた、番号対応表を生成する(ステップS117)。表生成部116は、番号対応表を表記憶部117に記録する。
Based on the pair management table, the
以上の動作により、論理ボリュームが作成される。すなわち、ボリューム管理装置11による、論理ボリュームの提供の準備が調う。
With the above operation, a logical volume is created. That is, preparations for provision of logical volumes by the
(アクセス)
ホスト装置20が論理ボリュームへアクセスする場合の、本実施形態に係るボリューム管理装置11の動作を説明する。図12は、ホスト装置20が論理ボリュームにアクセスする場合の、ボリューム管理装置11の動作の流れを示すフローチャートである。
(access)
The operation of the
まず、ボリューム提供部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
アクセス部101は、要求された論理ブロック番号の範囲に相当する、各HDDのブロック番号の範囲を、番号対応表に基づいて特定する(ステップS122)。
The
アクセス部101は、特定したブロック番号の範囲にアクセスする(ステップS123)。そして、アクセス部101は、アクセスした結果を、ボリューム提供部111に渡す。
The
最後に、ボリューム提供部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
<効果>
本実施形態によれば、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
本実施形態で説明した例では、分割部113が、分割位置を近似式に基づいて算出するため、ペアによってペア容量が若干異なるが、単純にアクセス先を高速領域と低速領域に半分ずつ配分する方法に比べれば、アクセス性能の不均衡は小さい。たとえば、本実施形態で説明した例の場合、最もペア容量が大きいペアは、ペア番号が“1”であるペアであり、最もペア容量が小さいペアは、ペア番号が“512”であるペアである。しかし、前者のペア容量は“203048”で、後者のペア容量は“191456”であり、ペア容量にはほとんど差がない。つまり、アクセス性能(ペア容量に反比例する)は、いずれのペアにおいてもほとんど差がないことがわかる。
In the example described in the present embodiment, since the
また、アクセス部101が一部の区間にアクセスする場合であっても、アクセス性能の不均衡性は著しくならない。すなわち、アクセス性能は、どの区間内の部分に対するアクセスであっても、ほぼ一定の値となる。その理由は、アクセスされるHDD1のブロックの数と、アクセスされるHDD2のブロックの数との比が、ほぼ、容量の比(アクセス性能の比に比例する)であるC1:C2になるからである。
Even when the
また、本実施形態によれば、最低性能を向上させることができる。その理由は、アクセス性能が均一化されるからである。また、次の概算によっても、この効果は明白である。 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.
たとえば、HDD1とHDD2とが、ホスト装置20から要求された処理を同時に行う場合、2つのHDDの処理は、ほぼ同時に完了する。このときのアクセス性能を、アクセス性能比が0.5であるとして概算する。分割数Nが十分に大きいという仮定のもとでは、HDD1が、HDD2の約2倍の速さの処理を、2倍の数のブロックに対して行う。従って、HDD1とHDD2とを組み合わせることにより算出されるアクセス性能はHDDの最低性能の約3倍である。どのペアにおいてもアクセス性能はほぼ等しいので、このアクセス性能が、本実施形態における最低性能である。なお、アクセス性能比をαとするならば、アクセス性能は、最低性能の約(1+1/α)倍である。この性能は、単にHDDを2台同時に用いることで最低性能を2倍にした場合の最低性能に比べて遥かに高い。
For example, when HDD 1 and HDD 2 perform the processing requested from the
また、たとえば、HDD1とHDD2とが、ホスト装置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
<<第2の実施形態>>
第1の実施形態に係るボリューム管理装置11は、番号対応表に基づいてアクセス先を特定する。しかし、仮に、論理ブロック番号が、再現性のある決定方法によって、アクセス先HDDとブロック番号とに一意に関連づけられるならば、番号対応表を用意する必要はない。
<< Second Embodiment >>
The
以下、番号対応表を用いる必要がない実施形態として、第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
===アクセス部101===
本実施形態では、アクセス部101はアクセス先特定部126に接続される。アクセス部101の機能は第1の実施形態において説明した機能と同様である。ただし、アクセス部101は、HDD30へのアクセスの際、アクセス先特定部126に、ホスト装置20が指定した論理ブロック番号を渡す。アクセス先HDDおよびアクセス先番号を、アクセス先特定部126から受け取る。
===
In the present embodiment, the
===カウンタ127===
カウンタ127は、HDD1に対応する変数B1(x)の値と、HDD2に対応する変数B2(x)の値を保持する。B1(x)およびB2(x)については後述する。
===
The
===アクセス先特定部126===
アクセス先特定部126は、アクセス部101から受け取った論理ブロック番号から、その論理ブロック番号に関連づけられるアクセス先HDDおよびアクセス先番号を、ペア管理テーブルに基づいて特定する。このとき、アクセス先特定部126は、アクセス先HDDおよびアクセス先番号を、再現性のある特定方法によって特定する。
=== Access
The access
以下、アクセス先特定部126が、アクセス部101から受け取った論理ブロック番号を対象として、そのブロックのアクセス先HDDおよびアクセス先番号を特定する処理について詳細に説明する。なお、以下では、アクセス部101から受け取った論理ブロック番号を対象の論理ブロック番号と呼ぶ。
Hereinafter, a process in which the access
(ペア番号の特定)
まず、アクセス先特定部126は、対象の論理ブロック番号に割り当てられるペア番号を特定する。
(Identification of pair number)
First, the access
アクセス先特定部126が、対象の論理ブロック番号に割り当てられるペア番号を特定するには、先頭論理番号が対象の論理ブロック番号を超えずかつ最も近いペアの番号を特定すればよい。たとえば、対象の論理ブロック番号が“203060”である場合、図8を参照すると、先頭論理番号が“203060”を超えずかつ最も近いのは、ペア番号が“2”であるペアである。したがって、アクセス先特定部126は、対象の論理ブロック番号に割り当てられるペア番号を“2”であると特定する。
In order for the access
(ペア内論理番号の特定)
次に、アクセス先特定部126は、対象の論理ブロック番号に割り当てられるペア内論理番号を特定する。ペア内論理番号とは、特定されたペア番号に含まれる論理ブロック番号の集合における、先頭論理番号を基準とする相対的な番号である。
(Identification of logical numbers in pairs)
Next, the access
アクセス先特定部126が、対象の論理ブロック番号のペア内論理番号を特定するには、そのブロックが含まれるペアの先頭論理番号を、対象の論理ブロック番号から引けばよい。たとえば、対象の論理ブロック番号が“203,060”である場合、図8を参照すると、ペア番号が“2”であるペアの先頭論理番号が“203,048”であることがわかる。したがって、アクセス先特定部126は、対象の論理ブロック番号のペア内論理番号を203060−203048=“12”であると特定する。
In order for the access
(アクセス先HDDの特定)
次に、アクセス先特定部126は、特定したペア内論理番号に基づいて、対象の論理ブロック番号のアクセス先HDDを特定する。
(Identification of access destination HDD)
Next, the access
アクセス先特定部126が行う、アクセス先HDDの特定方法は、ペア番号“k”に関連づけられる論理ブロック番号のうち、アクセス先HDDがHDD1と特定される論理ブロック番号の数がC1個、アクセス先HDDがHDD2と特定される論理ブロック番号の数がC2個、となるような特定方法である。
The access
好ましくは、その特定方法は、任意のペア内論理番号x(0≦x≦C1+C2−1)について、ペア内論理番号がx以下である(x+1個の)ブロックのうち、アクセス先HDDがHDD1と特定されるブロックの数と、アクセス先HDDがHDD2と特定されるブロックの数の比が、C1:C2に概ね準じる、という条件を満たすように、定義されるとよい。 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以下である論理ブロック番号のうち、HDD1に関連づけられる論理ブロック番号の数をB1(x)、HDD2に関連づけられる論理ブロック番号の数をB2(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を、次の判定によって特定する。
・B1(j−1)/C1≦B2(j−1)/C2である場合、アクセス先HDDをHDD1とする。
・B1(j−1)/C1>B2(j−1)/C2である場合、アクセス先HDDをHDD2とする。
・ただし、B1(−1)=0,B2(−1)=0と定義される。
The access
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は、B1(j−1)/C1の値およびB2(j−1)/C2の値を求めるために、カウンタ127を用いればよい。具体的には、アクセス先特定部126は、xの値を“0”に設定し、カウンタ127が保持するB1(x)およびB2(x)の値を0にして、次の繰り返し処理を行う。アクセス先特定部126は、カウンタ127が保持するB1(x)およびB2(x)の値を比較して上記判定を行う。アクセス先特定部126は、判定によりアクセス先HDDを特定したら、カウンタ127が保持する、アクセス先HDDと判定されたHDDに対応する変数(B1(x)またはB2(x))の値を“1”増加させる。そして、アクセス先特定部126は、xの値を“1”増加させる。アクセス先特定部126は、以上の処理を、x=jになるまで繰り返す。これにより、アクセス先特定部126は、B1(j−1)/C1の値およびB2(j−1)/C2の値を求めることができる。アクセス先特定部126は、求めた値に基づき、ペア内論理番号がjである論理ブロック番号のアクセス先HDDを特定する。
The access
図14は、図8で示される例に基づいて生成された、ペア番号が“2”であるペアの各ペア内論理番号xに対して、上述の特定方法を用いた場合の、各xに関連づけられるアクセス先HDD、B1(x)の値、およびB2(x)の値を、算出する例を説明する図である。図14を参照すると、たとえば、x=6のとき、B1(5)/C1>B2(5)/C2であるため、x=6に関連づけられるアクセス先HDDはHDD2と特定される。アクセス先特定部126は、カウンタ127が保持する、B2(x)の値を“1”増加させる。これにより、B1(6)の値およびB2(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
この特定方法によれば、任意のxについて、ペア内論理番号がx以下である(x+1個の)ブロックのうち、アクセス先HDDがHDD1と特定されるブロックの数と、アクセス先HDDがHDD2と特定されるブロックの数の比が、概ねC1:C2となる。その理由は、上記判定に従えば、アクセス先特定部126は、任意のxについて、B1(x)/C1とB2(x)/C2の値がなるべく近くなるようにアクセス先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
また、当然、x=C1+C2−1のときは、ペア内論理番号がx以下であるブロックのうち、アクセス先HDDがHDD1と特定されるブロックの数はC1、アクセス先HDDがHDD2と特定されるブロックの数はC2となる。 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がHDD1である場合はB1(j)−1の値、アクセス先HDDがHDD2である場合はB2(j)−1の値、である。
(Identification of the number in the pair)
When the access destination HDD of the target logical block number is specified, the access
たとえば、図14を参照すると、ペア番号が“2”であるペアの、ペア内論理番号が“12”であるブロックのペア内番号は、B2(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
たとえば、ペア番号が“2”、HDD2におけるペア内番号が“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
<動作>
本実施形態のボリューム管理装置12の動作を説明する。第1の実施形態との異なる部分について述べる。
<Operation>
The operation of the
(論理ボリュームの作成)
論理ボリュームの作成においては、ボリューム管理装置12は図11のフローチャートのステップS111〜ステップS115を行えばよい。ステップS116以降は行わなくてよい。
(Create logical volume)
In creating a logical volume, the
(アクセス)
ホスト装置20が論理ボリュームへアクセスする場合の、本実施形態に係るボリューム管理装置12の動作を説明する。
(access)
An operation of the
ホスト装置20が論理ボリュームにアクセスする場合の、本実施形態に係るボリューム管理装置12の動作は、アクセス部101およびアクセス先特定部126の動作のみが異なる。以下、第1の実施形態と異なる点を説明する。
When the
図15は、ホスト装置20が論理ボリュームにアクセスする場合の、アクセス部101およびアクセス先特定部126の動作の流れを示すシーケンス図である。
FIG. 15 is a sequence diagram showing a flow of operations of the
まず、アクセス部101は、ボリューム提供部111から、論理ブロック番号の範囲の指定を受け取る(ステップS151)。
First, the
アクセス部101は、アクセス先HDDとアクセス先番号とを特定したい論理ブロック番号を、アクセス先特定部126に渡す(ステップS152)。
The
アクセス先特定部126は、論理ブロック番号を受け取る(ステップS153)と、まず、ペア管理テーブルを参照して、受け取った論理ブロック番号に関連づけられるペア番号を特定する(ステップS154)。次に、アクセス先特定部126は、受け取った論理ブロック番号のペア内論理番号を特定する(ステップS155)。
When receiving the logical block number (step S153), the access
そして、アクセス先特定部126は、特定したペア番号および特定したペア内論理番号から、アクセス先HDDを特定する(ステップS156)。アクセス先HDDが特定されたら、アクセス先特定部126は、アクセス先番号を特定する(ステップS157)。
Then, the access
アクセス先特定部126は、特定したアクセス先HDDの識別子とアクセス先番号とを、アクセス部101に渡す(ステップS158)。
The access
アクセス部101は、受け取ったアクセス先HDDの識別子とアクセス先番号とから、指定されている論理ブロック番号の範囲に相当するブロック番号の範囲を特定する(ステップS159)。
The
アクセス部101は、特定されたブロック番号の範囲のブロックにアクセスする(ステップS160)。そして、アクセス部101は、アクセスした結果を、ボリューム提供部111に渡す(ステップS161)。
The
なお、ボリューム提供部111は、受け取った結果を、ホスト装置20に渡す。
The volume providing unit 111 passes the received result to the
以上の動作により、ボリューム管理装置12はホスト装置20に対して論理ボリュームとしての機能を提供する。
With the above operation, the
<効果>
第2の実施形態に係るボリューム管理装置12は、第1の実施形態に係るボリューム管理装置11と同様の効果を奏する。加えて、第2の実施形態によれば、ボリューム管理装置12は、番号対応表を用意しておく必要がないという利点がある。その理由は、アクセス先特定部126が、論理ブロック番号から、再現性のある演算処理によって、アクセス先HDDおよびアクセス先番号を一意に特定するからである。
<Effect>
The
<<第3の実施形態>>
先の第2の実施形態に係るアクセス先特定部126は、対象の論理ブロック番号の、ペア内論理番号に相当する回数の繰り返し処理によって、アクセス先HDDおよびアクセス先番号を特定する。
<< Third Embodiment >>
The access
以下で説明する第3の実施形態に係るアクセス先特定部126は、対象の論理ブロック番号のペア内論理番号の値に関わらず、数回の演算でアクセス先HDDおよびアクセス先番号を特定する。
The access
<構成>
図16は、第3の実施形態に係るボリューム管理装置13の構成を示すブロック図である。ボリューム管理装置13の情報提供部130は、アクセス先特定部136を備える。なお、第2の実施形態の構成要素と同様の機能を有する構成要素には同一の符号を付し、その機能に関する説明を省略する。
<Configuration>
FIG. 16 is a block diagram showing the configuration of the
===アクセス先特定部136===
アクセス先特定部136は、アクセス部101から受け取った論理ブロック番号から、その論理ブロック番号に関連づけられるアクセス先HDDおよびアクセス先番号を、ペア管理テーブルに基づいて特定する。
=== Access
The access
本実施形態のアクセス先特定部136と、第2の実施形態のアクセス先特定部126とは、ステップS84におけるアクセス先HDDの特定方法が異なる。
The access
以下、アクセス先特定部136が対象の論理ブロック番号のペア番号およびペア内論理番号からアクセス先HDDを特定する方法について説明する。対象の論理ブロック番号のペア番号およびペア内論理番号を特定する方法は、第2の実施形態のアクセス先特定部126と同様である。
Hereinafter, a method in which the access
任意のペアについて、ペア内論理番号がx以下である論理ブロック番号のうち、HDD1に関連づけられる論理ブロック番号の数をB1(x)、HDD2に関連づけられる論理ブロック番号の数をB2(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).
B1(x)およびB2(x)が、計算式で定義されたとする。すると、ペア内論理番号xに関連づけられるアクセス先HDDは、B1(x)の値とB1(x−1)の値とが異なる場合はHDD1、B2(x)の値とB2(x−1)の値とが異なる場合はHDD2であるといえる。すなわち、アクセス先特定部136は、B1(x)−B1(x−1)の値が1である場合は、アクセス先HDDはHDD1であると判断し、そうでない場合は、アクセス先HDDはHDD2であると判断すればよい。ただし、x=0の場合は、B1(0)、B2(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
B1(x)およびB2(x)は、それぞれ次の式に示されるf1(x)またはf2(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.
1つの方法として、B1(x)およびB2(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).
上式の意味するところは、配分量の目安であるf1(x),f2(x)は四捨五入によって整数に丸められるということである。ただし、f1(x)およびf2(x)の小数部分がともに0.5である場合は、いずれか一方のみが切り上がるようにするため、B2(x)の値はσ(x)によって補正される。σ(x)は、f2(x)の小数部が0.5となった場合にのみ−1となり、他の場合は0である関数である。(要するに、B2(x)は、いわば、f2(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.
上式は、配分量の目安であるf1(x),f2(x)を四捨五入によって整数に丸めた値をB1(x),B2(x)とすることを意味する。ただし、丸める前のf2(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 δ.
上述のいずれかの計算式によって定義されるB1(x)およびB2(x)は、xの値が1増加するとB1(x)の値またはB2(x)の値のどちらか一方のみが1増加する、という特徴がある。したがって、B1(x),B2(x)のそれぞれは、それぞれのHDD30における、ペア内論理番号がx以下のブロックの数を表す関数である。なおかつ、B1(x),B2(x)は、任意のxについての値がそれぞれf1(x),f2(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
アクセス先特定部136は、上述の計算を、次の手順によって行っても良い。
(手順−1)
アクセス先特定部136は、ペア内論理番号がx以下の(x+1個の)データが、各HDDに占めるブロックの数の目安として、f1(x)およびf2(x)をそれぞれ求める。
(手順−2)
アクセス先特定部136は、f1(x)の小数部の値とf2(x)の小数部の値とを求める。アクセス先特定部136は、小数部の値の代わりに、次に示すR1(x)、R2(x)を算出してもよい。なお、modは剰余を求める演算である。
The access
(Procedure-1)
The access
(Procedure-2)
The access
(手順−3)
アクセス先特定部136は、補正値σ1(x)およびσ2(x)を定義する。アクセス先特定部136は、σ1(x)の値およびσ2(x)の値を、次のように、f1(x)の小数部とf2(x)の小数部との値に基づき、決定する。すなわち、
・R1(x)が“0”でなく、R1(x)≧R2(x)の場合、σ1(x)=1,σ2(x)=0とする。
・R1(x)が“0”でなく、R1(x)<R2(x)の場合、σ1(x)=0,σ2(x)=1とする。
・R1(x)が“0”である場合は、σ1(x)=0,σ2(x)=0とする。
(手順−4)
アクセス先特定部136は、B1(x)およびB2(x)を、次の式により求める。
(Procedure-3)
The access
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
図17は、本実施形態のペア番号が“2”であるペアの各ペア内論理番号xについて、手順1〜4に基づき算出される、それぞれの値の表である。
FIG. 17 is a table of respective values calculated based on the
図17を参照すると、例えば、x=12について、R1(12)の値が“0”でなく、R2(12)の値より大きいため、σ1=1,σ2=0となる。それぞれのσ値を[f1(12)],[f2(12)]に加えることにより、B1(12)=9,B2(12)=4を得る。そして、同様に算出されたB1(11),B2(11)と比較すると、B1(12)−B1(11)=9−8=1,B2(12)−B2(11)=4−4=0であるから、アクセス先はHDD1と特定される。 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を参照すると、B1(x),B2(x)の組は、xが1増加するごとにいずれか一方の値のみが1増加するという特徴をもつことがわかる。このことからわかるように、アクセス先特定部136は、手順1〜4によって、対象の論理ブロック番号のペア番号およびペア内論理番号から、アクセス先HDDを特定できる。
In the present embodiment, the calculation method according to
<動作>
本実施形態に係るボリューム管理装置13の動作の流れは、第2の実施形態と同様である。ただし、アクセス先特定部136は、アクセス先HDDの特定において、上述した特定方法を用いる。
<Operation>
The operation flow of the
<効果>
第3の実施形態に係るボリューム管理装置13は、第2の実施形態に係るボリューム管理装置12と同様の効果を奏する。さらに、第3の実施形態は、対象の論理ブロック番号のアクセス先HDDを、論理ブロック番号に依存しない、予測可能な演算量で特定できる。その理由は、アクセス先特定部136が、対象の論理ブロック番号のアクセス先HDDを、計算式によって算出される4つの値を比較することによって特定するからである。
<Effect>
The
<<変形例>>
以上に示した各実施形態は、本発明の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についてB1(x),B2(x)がそれぞれf1(x),f2(x)になるべく準ずるよう、xを最小単位としてストライピングが行われることを説明した。これに対し、ある程度の長さのブロックをまとめたものをストライピングの最小単位として扱えば、B1(x),B2(x)とf1(x),f2(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は同一となるため、データまたはアクセス量のストライピングの頻度は小さくなる。なお、この場合、アクセス先番号は、たとえばアクセス先がHDD1の場合、q(B1(s)−1)+(x mod q)となる。
For example, in each embodiment, a subject (
上記の方法は、たとえば、そのペアに関連づけられる扱われるデータの量が一定以上であるために小さなxに対するB1(x),B2(x)とf1(x),f2(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
また、ペア生成部115は、必ずしも分割された区間のすべてについてペアを生成しなくてもよい。すなわち、ペアを生成する対象の区間は、適宜設計変更されてよい。
Further, the
<記憶装置>
上記各実施形態では、ボリューム管理装置11〜13は、HDD30の記憶領域に対して論理ボリュームを構築するが、ボリューム管理装置11〜13は、記憶領域を提供する機能構成である他の機能構成の記憶領域に対して論理ボリュームを構築してもよい。たとえば、ボリューム管理装置11〜13は、論理ブロック番号によってアクセス性能の異なる論理ボリュームに対して、論理ボリュームを構築してもよい。以下、「記憶装置」とは、記憶領域を提供する機能構成を指す。
<Storage device>
In each of the above embodiments, the
<性能特性が異なる記憶装置の組み合わせ>
上記各実施形態ではアクセス性能の性能特性が同一の記憶装置を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
また、性能特性が一定値で表される記憶装置であっても、その記憶装置のアクセス性能が相異なる場合は、それらの記憶装置に対しても論理ボリュームの効果を奏する。たとえば、分割部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
あるいは、性能特性が一定値で表され、容量が無視できるほど十分に大きい複数の記憶装置に対しては、分割部113は記憶領域を分割しなくともよい(分割数が1である、ともいえる)。性能特性が一定値で表される記憶装置を2台用いる場合、論理ボリュームは、アクセス性能がそれぞれv1,v2である記憶領域に対して、アクセス量がアクセス性能の比に応じて配分されるように、生成されればよい。アクセス量がアクセス性能の比に応じて配分されるとは、それぞれの記憶装置においてアクセスされる領域の容量の比が、アクセス性能の比にほぼ等しくなることである。論理ブロック番号からアクセス先HDDを決定する計算では、各実施形態における、C1,C2を、それぞれv1,v2に置き換えればよい。この場合、それぞれの記憶装置へのアクセスにかかる時間はほぼ等しくなる。したがって、ボリューム管理装置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
<並行してアクセスが行われる点>
上記各実施形態では、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
ボリューム管理装置14は、複数のHDD30(HDD1、HDD2、HDD3,・・・)を制御する。
The
ボリューム管理装置14の情報提供部140は、第3の実施形態のペア管理部114、ペア生成部115、およびアクセス先特定部136に代え、セット管理部144、セット生成部145、およびアクセス先特定部146を備える。
The
分割部113の機能は、上述の各実施形態における分割部113の機能と同様でよい。分割部113は、各HDD30の分割位置を決定し、その結果をセット管理部144に記録する。
The function of the
セット生成部145は、上述の各実施形態のペア生成部115に相当する。セット生成部145は、上記各実施形態における“ペア番号”に相当するものとして、各HDDの全区間について“セット番号”を割り当て、同じセット番号の区間をセットとして扱う。セット番号の割り当て方は任意でよい。この割り当て方は、セット容量(上述の各実施形態のペア容量に相当する)がセット間でなるべく均一になるような割り当て方が好ましい。
The
セット管理部144は、上記各実施形態のペア管理部114に相当する。セット管理部144は、各セット番号に関する、各HDDにおける容量、セット容量、先頭論理番号を記憶する。各値の求め方は、上述の各実施形態に倣えばよい。
The
アクセス先特定部146は、第3の実施形態のアクセス先特定部136に相当する。アクセス先特定部146による、アクセス先HDDを特定するための計算式は、2つのHDD30を対象とする第3の実施形態の場合と異なる。
The access
以下、ある論理ブロック番号のブロックを対象の論理ブロック番号として、計算によって論理ブロック番号からアクセス先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
次に、アクセス先特定部146は、特定したセット番号とセット内論理番号とから、アクセス先HDDを特定する。アクセス先特定部146は、アクセス先HDDの特定において、各HDDにおける、セット内論理番号がx以下のブロックの数を示す変数を用いる。以下、HDDi(i=1,2,3,…)におけるセット内論理番号がx以下のブロック数を、Bi(x)と定義する。
Next, the access
以下、特定されたセット番号が割り当てられた、HDDiの区間のブロックの数をCiとして、特定されたセット番号における、Bi(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.
Bi(x)は、各HDDのブロック数の比にしたがってアクセスが配分されていくよう、定義されればよい。すなわち、各HDDにおいてアクセスされるブロックの数の比が、Ciの比(C1:C2:・・・)となるよう、Bi(x)は定義されればよい。好ましくは、任意のxについて、セット内論理番号がx以下である(x+1個の)論理ブロック番号の、HDDiに関連づけられる論理ブロック番号の数が、それぞれ次に示すfi(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.
1つの配分方法として、アクセス先特定部146は、各iのBi(x)を、HDDiごとに設定される値σi(x)を用いて、下式により算出する。
As one distribution method, the access
まず、アクセス先特定部146は、σi(x)のうちのいくつを1にするかを求める。以下、σi(x)のうちのいくつを1にするかを表す値を、「補正個数」と称す。補正個数は、すべてのiについてfi(x)の整数部分について総和をとったときに、(x+1)の値との間に生じる差分である。補正個数は、fi(x)の小数部分の総和に等しい。
First, the access
次に、アクセス先特定部146は、補正個数の分のσ値を1にする。このとき、アクセス先特定部146は、特定の基準に従ってHDD1,HDD2,・・・を順位づけし、順位の高いHDD30に係るσ値を優先的に“1”にする。特定の基準とは、Bi(x)のそれぞれが、xの増加に伴って必ず単調増加するように定められた基準である。
Next, the access
例として、アクセス先特定部146は、各HDD30について、xがあとどれだけ増えればfi(x)の整数部の値が1増えるかを表す値であるTi(x)を、次式によって求める。
Ti(x)=(ΣCk−Ri(x))/Ci
ただし、Ri(x)は、fi(x)の小数部分のΣCk倍である。そして、アクセス先特定部146は、求めた値が小さい順に補正個数分のHDD30を抽出する。ただし、σ値が等しい場合に抽出する優先順位は予め定められる(たとえば、番号iの値が小さいほど優先して抽出する、など)。アクセス先特定部146は、抽出したHDD30に関するσ値を“1”にし、抽出しなかったHDD30に関するσ値を“0”にする。
As an example, for each
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
各HDDに係るσ値が決定したら、アクセス先特定部146は、上記の式によって、各iに対応するBi(x)の値を求めればよい。
When the σ value associated with each HDD is determined, the access
以上のような計算によって算出されるBi(x)と、Bi(x−1)と比較すると、iのいずれかの値に対応するBi(x)−Bi(x−1)の値のみが1増える。アクセス先特定部146は、Bi(x)−Bi(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
図19は、本実施形態の例として、3つのHDD30を使用し、C1=135334、C2=67714,C3=96542であるようなセットの、セット内論理番号xのそれぞれのアクセス先HDDを求める方法を説明する図である。
FIG. 19 shows an example of this embodiment in which three
たとえば、x=5であるブロックのアクセス先を求めるとする。x=5のとき、[b1(x)]=2,[b2(x)]=1,[b3(x)]=1であるから、補正個数は(5+1)−(2+1+1)=2である。次に、T1(x),T2(x),T3(x)を求めると、その値の大小関係はT3(x)<T1(x)<T2(x)である。したがって、σ3(x)およびσ1(x)の値は“1”となり、σ2(x)の値は“0”となる。これに基づき、B1(x),B2(x),B3(x)の値が、それぞれB1(x)=2+1=3,B2(x)=1+0=1,B3(x)=1+1=2と求められる。同様にして、B1(4),B2(4),B3(4)の値を求めると、B1(4)=2,B2(4)=1,B3(4)=2である。x=4の場合とx=5の場合とを比較して、数値が変化したのはB1(x)であるから、アクセス先HDDはHDD1と特定される。 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
<効果>
本実施形態によれば、3つ以上のHDDを使用するボリューム管理装置14が、アクセス性能の差に起因する非効率性を低減した論理ボリュームを、ホスト装置20に提供することができる。
<Effect>
According to the present embodiment, the
各HDD30において、アクセス部101によるアクセスにかかる時間が等しいので、アクセス性能の差に起因する非効率性は低減される。
In each
以上、各実施形態で説明される事項および変形例として説明された様々な事項は、互いに組み合わされてもよい。ある変形例で説明された事項が他の変形例においても適宜適用可能であることは、当業者にとって容易に理解されよう。 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
アクセス部101は、1つ以上の記憶装置40と通信可能に接続される。
The
記憶装置40は、内部の記憶領域を用いて、データを記憶する。
The
アクセス部101は、記憶装置にアクセスする。
The
情報提供部100は、記憶装置40内の記憶領域の一部または全部の区間であってアクセス性能が相異なる複数の区間の、それぞれにおいて、アクセス部101によってアクセスされる領域の容量の比が、区間のアクセス性能の比に基づいた値になるよう、アクセス先を決定する。そして、情報提供部100は、決定したアクセス先の情報をアクセス部101に提供する。
The
または、情報提供部100は、記憶装置40内の記憶領域の一部または全部の区間であってアクセス性能が相異なる複数の区間の、それぞれにおいて、アクセス部101によってアクセスされる領域の容量の比が、区間の容量の比に基づいた値になるよう、アクセス先を決定する。そして、情報提供部100は、決定したアクセス先の情報をアクセス部101に提供する。
Alternatively, the
本実施形態によれば、記憶領域におけるアクセス性能の差に起因する非効率性を低減することができる。 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
・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
A
A
-I /
-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
各装置の実現方法には、様々な変形例がある。例えば、各装置は、構成要素毎にそれぞれ別個のコンピュータ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
また、各装置の各構成要素の一部または全部は、その他の汎用または専用の回路、コンピュータ等やこれらの組み合わせによって実現される。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。 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
[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 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
[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 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 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 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
[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
[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
[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
[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 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 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 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 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
[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
[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 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
40
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.
前記情報提供手段は、論理ブロック番号をそれぞれいずれかの前記区間のいずれかの前記ブロックの前記ブロック番号に対応付け、対応付けた情報を前記アクセス先の情報として前記アクセス手段に提供するアクセス先特定手段を含み、
前記アクセス手段は、前記アクセス先の情報に基づき、一定範囲の連続する論理ブロック番号のそれぞれが対応付けられる、それぞれの前記区間の前記ブロック番号の前記ブロックにアクセスし、
前記区間のそれぞれにおいて、前記アクセス手段によりアクセスされる前記ブロックの数の比は、前記区間のそれぞれのアクセス性能の比に基づいた値である、
請求項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の記憶領域に割り当てられる論理ブロック番号の個数と、第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:
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)
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 |
-
2016
- 2016-03-25 JP JP2016062022A patent/JP2017174302A/en active Pending
Cited By (4)
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 |