JP4466530B2 - Disk array device, logical address control method, and program - Google Patents
Disk array device, logical address control method, and program Download PDFInfo
- Publication number
- JP4466530B2 JP4466530B2 JP2005295150A JP2005295150A JP4466530B2 JP 4466530 B2 JP4466530 B2 JP 4466530B2 JP 2005295150 A JP2005295150 A JP 2005295150A JP 2005295150 A JP2005295150 A JP 2005295150A JP 4466530 B2 JP4466530 B2 JP 4466530B2
- Authority
- JP
- Japan
- Prior art keywords
- logical
- disk
- address
- shift
- physical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
本発明は、複数台のディスク装置を備えたディスクアレイ装置に関し、特に、ディスク装置を跨ぐ入出力を減少させることが可能なディスクアレイ装置に関する。 The present invention relates to a disk array device including a plurality of disk devices, and more particularly to a disk array device capable of reducing input / output across the disk devices.
複数台の磁気ディスク装置を備え、各磁気ディスク装置にデータを分散配置すると共に冗長データを付加するようにしたディスクアレイ装置は、経済的な構成で、高い入出力性能及び信頼性を得ることができるため、近年、盛んに利用させるようになってきている。図12は従来の一般的なディスクアレイ装置100の構成例を示したブロック図であり、磁気ディスク装置などの複数台のディスク装置DISK1〜DISK5と、命令制御部101と、キャッシュ制御部102と、論理/物理ディスク制御部103と、論理/物理対応テーブル104とを備えている。
A disk array device provided with a plurality of magnetic disk devices, in which data is distributed and allocated to each magnetic disk device and redundant data is added, can obtain high input / output performance and reliability with an economical configuration. In recent years, it has been actively used. FIG. 12 is a block diagram showing a configuration example of a conventional general disk array device 100, which includes a plurality of disk devices DISK1 to DISK5 such as a magnetic disk device, an
ところで、ディスクアレイ装置100に接続されているホスト計算機200においては、ディスクアレイ装置100上に図13に示すようなホスト論理ディスク300が、1個あるいは複数個存在すると認識している。ホスト論理ディスク300の先頭部分には、ホスト論理ディスク300上のどこにOS(operating system)が使用する領域(OS使用領域)302があるのかをBIOS(basic input/output systm)に知らせるためのデータ(OS使用領域302の開始アドレスやサイズ)を格納している管理領域301が設けられている。この管理領域301は、アーキテクチャ依存でPC/AT互換機の場合は、1セクタ(512byte)である。従って、管理領域301は、OS固有のものでないので、Windows(登録商標)、LinuxといったOSの違いに左右されることはない。
Incidentally, the
一方、ディスクアレイ装置100においては、ホスト論理ディスク300に対応するディスクとして、図13に示す論理ディスク400が存在していると認識している。なお、ホスト計算機200が複数のホスト論理ディスクを認識している場合には、各ホスト論理ディスクに対応する論理ディスクを認識している。同図に示すように、ホスト論理ディスク300および論理ディスク400に割り当てられている論理アドレス空間は一致している。また、論理ディスク400は、図14に示すように、開始アドレス「0番地」から所定サイズのストライプに分割され、各ディスク装置DISK1〜DISK5に記録される。
On the other hand, the disk array device 100 recognizes that the logical disk 400 shown in FIG. 13 exists as a disk corresponding to the host logical disk 300. If the
ここで、管理領域301のデータは、論理ディスク400においては、図15に示すように、その先頭部分に格納され、ディスクアレイ装置100においては、図15に示すように、ディスク装置DISK1のストライプ番号ST1のストライプ(ストライプST1という場合もある)の先頭部分に格納される。従って、ホストコンピュータ200が、OS使用領域302の開始アドレスからストライプサイズの入出力を行った場合、2つのディスク装置DISK1,DISK2を跨ぐ入出力になってしまい、入出力性能が低下してしまう。今、例えば、管理領域301のサイズが512byte、ストライプのサイズが2048byteであるとし、ホストコンピュータ200がOS使用領域302の開始アドレス「512番地」からストライプサイズの入出力を行ったとすると、ディスク装置DISK1のストライプST1の512番地〜2047番地と、ディスク装置DISK2のストライプST1の0番地〜511番地とに対して入出力が行われることになるため、入出力性能が低下してしまう。
Here, the data in the management area 301 is stored at the head of the logical disk 400, as shown in FIG. 15, and in the disk array device 100, the stripe number of the disk device DISK1, as shown in FIG. Stored in the leading portion of the ST1 stripe (also referred to as stripe ST1). Therefore, when the
そこで、このような問題点を解決するため、従来、次のような技術が提案された(例えば、特許文献1参照)。この従来の技術を、図16を参照して説明する。 Therefore, in order to solve such problems, the following technique has been conventionally proposed (see, for example, Patent Document 1). This conventional technique will be described with reference to FIG.
この特許文献1に記載されている従来の技術では、ホスト計算機200からディスクアレイ装置100に対してI/O命令を発行する際、先ず、I/O命令に含まれているアクセス先を示すアドレスが、管理領域301のアドレスであるか否かを調べる。そして、I/O命令中のアドレスが管理領域301のアドレスである場合には、上記I/O命令をそのままディスクアレイ装置100に発行する。これに対して、I/O命令中のアドレスが管理領域301のアドレスでない場合には、ストライプのサイズと管理領域301のサイズとの差分を、上記I/O命令中のアドレスに加算し、加算後のアドレスを含んだI/O命令をディスクアレイ装置100に対して発行する。
In the conventional technique described in
今、例えば、管理領域301のサイズが512byte、ストライプのサイズが2048byteであるとする。また、I/O命令がOS使用領域302の開始アドレス「512番地」からストライプサイズの入出力を行うものであり、アドレス「512番地」とサイズ「2048byte」とを含んでいるとする。この例の場合、I/O命令に含まれているアドレスが「512番地」であり、管理領域301のアドレスでないので、ホスト計算機は、I/O命令に含まれているアドレス「512」番地を{512+(2048−512)}=2048番地に変換し、変換後のアドレスを含んだI/O命令をディスクアレイ装置に対して発行する。このようなアドレス変換を行ったI/O命令をディスクアレイ装置100に発行することより、ディスクアレイ装置100においては、ディスク装置DISK2のストライプST1に対してだけ入出力が行われることになり、入出力性能が向上する。
Now, for example, it is assumed that the size of the management area 301 is 512 bytes and the stripe size is 2048 bytes. In addition, it is assumed that the I / O instruction inputs / outputs a stripe size from the start address “512” in the OS use area 302 and includes an address “512” and a size “2048 bytes”. In this example, since the address included in the I / O instruction is “512 address” and not the address of the management area 301, the host computer changes the address “512” included in the I / O instruction. {512+ (2048−512)} = converted to
上述した特許文献1に記載されている従来の技術によれば、ディスク装置を跨ぐ入出力を減少させ、入出力性能を向上させることができる。しかし、特許文献1に記載されている従来の技術は、I/O命令に含まれているアドレスが管理領域301のアドレスでなかった場合、I/O命令中のアドレスを{I/O命令中のアドレス+(ストライプのサイズ−管理領域のサイズ)}に変換するようにしているため、ディスクアレイ装置100内のディスク装置に未使用領域が形成されてしまい、ディスクアレイ装置100の容量効率が悪くなるという問題がある。管理領域301のサイズを512byte、ストライプのサイズを2048byteとした上記した例においては、ディスク装置DISK1のストライプST1の512番地〜2047番地が未使用領域となってしまい、ディスクアレイ装置の容量効率が悪くなるという問題がある。
According to the conventional technique described in
〔発明の目的〕
そこで、本発明の目的は、ディスクアレイ装置のディスク装置に未使用領域を形成することなく、ディスク装置を跨ぐ入出力を減少させることにある。
(Object of invention)
Accordingly, an object of the present invention is to reduce input / output across disk devices without forming an unused area in the disk device of the disk array device.
本発明にかかる第1のディスクアレイ装置は、
複数台のディスク装置を備えたディスクアレイ装置において、
前記ディスクアレイ装置が認識している論理ディスクに割り当てられている論理アドレス空間を、ホスト計算機が認識しているホスト論理ディスクの先頭部分に設けられている管理領域のサイズ分、後方にシフトするシフト実施部と、
前記ディスク装置に格納されている前記論理ディスクのデータの内の、前記管理領域のデータ以外を前記ディスク装置上において前記管理領域のサイズ分、前方にシフトすると共に、前記管理領域のデータを前記ディスク装置上において前記論理ディスクの最終データの直後に移動させる論理/物理ディスク制御部とを備えたことを特徴とする。
A first disk array device according to the present invention includes:
In a disk array device having a plurality of disk devices,
Shift that shifts the logical address space allocated to the logical disk recognized by the disk array device backward by the size of the management area provided at the beginning of the host logical disk recognized by the host computer An implementation department;
Of the data on the logical disk stored in the disk device, data other than the data in the management area is shifted forward by the size of the management area on the disk device, and the data in the management area is transferred to the disk. And a logical / physical disk control unit that is moved immediately after the last data of the logical disk on the apparatus.
本発明にかかる第2のディスクアレイ装置は、第1のディスクアレイ装置において、
前記ホスト計算機から発行されたI/O命令中の論理アドレスが、前記論理ディスクに割り当てられている論理アドレス空間の開始アドレス未満であった場合、前記I/O命令中の論理アドレスを、前記論理ディスクの最終論理アドレスから前記管理領域のサイズ分差し引いたアドレスに変換するシフト計算部を備えたことを特徴とする。
A second disk array device according to the present invention is the first disk array device,
If the logical address in the I / O instruction issued from the host computer is less than the start address of the logical address space assigned to the logical disk, the logical address in the I / O instruction is changed to the logical address. It is characterized in that a shift calculation unit for converting the final logical address of the disk into an address obtained by subtracting the size of the management area is provided.
本発明にかかる第3のディスクアレイ装置は、第2のディスクアレイ装置において、
前記論理ディスクに割り当てられている論理アドレスと、前記ディスク装置上の物理アドレスとの対応関係が登録された論理/物理対応テーブルを備え、且つ、
前記シフト実施部が、前記論理/物理対応テーブルに登録されている論理アドレスに、前記管理領域のサイズに応じた値を加算する構成を有することを特徴とする。
A third disk array device according to the present invention is the second disk array device,
A logical / physical correspondence table in which a correspondence relationship between a logical address assigned to the logical disk and a physical address on the disk device is registered;
The shift execution unit has a configuration in which a value corresponding to the size of the management area is added to a logical address registered in the logical / physical correspondence table.
本発明にかかる第1の論理アドレス制御方法は、
複数のディスク装置を備えたディスクアレイ装置における論理アドレス制御方法であって、
前記ディスクアレイ装置が認識している論理ディスクに割り当てられている論理アドレス空間を、ホスト計算機が認識しているホスト論理ディスクの先頭部分に設けられている管理領域のサイズ分、後方にシフトし、
更に、前記ディスク装置に格納されている前記論理ディスクのデータの内の、前記管理領域のデータ以外を前記ディスク装置上において前記管理領域のサイズ分、前方にシフトすると共に、前記管理領域のデータを前記ディスク装置上において前記論理ディスクの最終データの直後に移動させることを特徴とする。
A first logical address control method according to the present invention includes:
A logical address control method in a disk array device comprising a plurality of disk devices,
The logical address space allocated to the logical disk recognized by the disk array device is shifted backward by the size of the management area provided at the beginning of the host logical disk recognized by the host computer,
Further, the logical disk data other than the management area data stored in the disk device is shifted forward by the size of the management area on the disk device, and the management area data is also transferred. The disk device is moved immediately after the last data of the logical disk.
本発明にかかる第2の論理アドレス制御方法は、第1の論理アドレス制御方法において、
前記ホスト計算機から発行されたI/O命令中の論理アドレスが、前記論理ディスクに割り当てられている論理アドレス空間の開始アドレス未満であった場合、前記I/O命令中の論理アドレスを、前記論理ディスクの最終論理アドレスから前記管理領域のサイズ分差し引いたアドレスに変換することを特徴とする。
A second logical address control method according to the present invention is the first logical address control method,
If the logical address in the I / O instruction issued from the host computer is less than the start address of the logical address space assigned to the logical disk, the logical address in the I / O instruction is changed to the logical address. The conversion is made to an address obtained by subtracting the size of the management area from the final logical address of the disk.
本発明にかかる第3の論理アドレス制御方法は、第2の論理アドレス制御方法において、
前記論理ディスクに割り当てられている論理アドレスと、前記ディスク装置上の物理アドレスとの対応関係が登録された論理/物理対応テーブルを備え、且つ、
前記論理/物理対応テーブルに登録されている論理アドレスに、前記管理領域のサイズに応じた値を加算することにより、前記論理ディスクに割り当てられている論理アドレス空間を、ホスト計算機が認識しているホスト論理ディスクの先頭部分に設けられている管理領域のサイズ分、後方にシフトすることを特徴とする。
A third logical address control method according to the present invention is the second logical address control method,
A logical / physical correspondence table in which a correspondence relationship between a logical address assigned to the logical disk and a physical address on the disk device is registered;
The host computer recognizes the logical address space allocated to the logical disk by adding a value corresponding to the size of the management area to the logical address registered in the logical / physical correspondence table. It is characterized by shifting backward by the size of the management area provided at the beginning of the host logical disk.
本発明にかかる第1のプログラムは、
複数台のディスク装置を備えたコンピュータをディスクアレイ装置として機能させるためのプログラムであって、
前記コンピュータを、
前記ディスクアレイ装置が認識している論理ディスクに割り当てられている論理アドレス空間を、ホスト計算機が認識しているホスト論理ディスクの先頭部分に設けられている管理領域のサイズ分、後方にシフトするシフト実施部、
前記ディスク装置に格納されている前記論理ディスクのデータの内の、前記管理領域のデータ以外を前記ディスク装置上において前記管理領域のサイズ分、前方にシフトすると共に、前記管理領域のデータを前記ディスク装置上において前記論理ディスクの最終データの直後に移動させる論理/物理ディスク制御部として機能させる。
The first program according to the present invention is:
A program for causing a computer having a plurality of disk devices to function as a disk array device,
The computer,
Shift that shifts the logical address space allocated to the logical disk recognized by the disk array device backward by the size of the management area provided at the beginning of the host logical disk recognized by the host computer Implementation department,
Of the data on the logical disk stored in the disk device, data other than the data in the management area is shifted forward by the size of the management area on the disk device, and the data in the management area is transferred to the disk. It functions as a logical / physical disk controller that moves immediately after the last data of the logical disk on the apparatus.
本発明にかかる第2のプログラムは、第1のプログラムにおいて、
前記コンピュータを、
前記ホスト計算機から発行されたI/O命令中の論理アドレスが、前記論理ディスクに割り当てられている論理アドレス空間の開始アドレス未満であった場合、前記I/O命令中の論理アドレスを、前記論理ディスクの最終論理アドレスから前記管理領域のサイズ分差し引いたアドレスに変換するシフト計算部として機能させる。
The second program according to the present invention is the first program,
The computer,
If the logical address in the I / O instruction issued from the host computer is less than the start address of the logical address space assigned to the logical disk, the logical address in the I / O instruction is changed to the logical address. It is made to function as a shift calculation unit for converting to an address obtained by subtracting the size of the management area from the final logical address of the disk.
本発明にかかる第3のプログラムは、第2のプログラムにおいて、
前記コンピュータが、前記論理ディスクに割り当てられている論理アドレスと、前記ディスク装置上の物理アドレスとの対応関係が登録された論理/物理対応テーブルを備え、且つ、
前記シフト実施部が、前記論理/物理対応テーブルに登録されている論理アドレスに、前記管理領域のサイズに応じた値を加算する構成を有することを特徴とする。
A third program according to the present invention is the second program,
The computer includes a logical / physical correspondence table in which a correspondence relationship between a logical address assigned to the logical disk and a physical address on the disk device is registered; and
The shift execution unit has a configuration in which a value corresponding to the size of the management area is added to a logical address registered in the logical / physical correspondence table.
〔作用〕
ディスクアレイ装置内のシフト実施部は、ディスクアレイ装置が認識している論理ディスクに割り当てられている論理アドレス空間を、ホスト計算機が認識しているホスト論理ディスクの先頭部分に設けられている管理領域のサイズだけ、後方にシフトする。これにより、ディスクアレイ装置が認識している論理ディスクの先頭部分には、管理領域が存在しないことになるので、論理ディスクの先頭部分に管理領域が存在していたために発生していた、ディスク装置を跨ぐ入出力を減少させることが可能になる。
[Action]
The shift execution unit in the disk array device is a management area provided at the head of the host logical disk recognized by the host computer, with the logical address space assigned to the logical disk recognized by the disk array device. Shift backward by the size of. As a result, the management area does not exist at the head of the logical disk recognized by the disk array device, so the disk device that was generated because the management area existed at the head of the logical disk. It is possible to reduce input / output across the network.
また、ディスクアレイ装置内の論理/物理ディスク制御部は、ディスクアレイ装置が備えている各ディスク装置に格納されている上記論理ディスクのデータの内の、管理領域のデータ以外をディスク装置上において管理領域のサイズ分、前方にシフトすると共に、管理領域のデータをディスク装置上において論理ディスクの最終データの直後に移動させる。これにより、ディスク装置上に未使用領域を形成することなく、論理ディスクの全てのデータをディスク装置上に格納することができる。 In addition, the logical / physical disk control unit in the disk array device manages on the disk device data other than the management area data among the logical disk data stored in each disk device included in the disk array device. The area is shifted forward by the size of the area, and the data in the management area is moved immediately after the final data of the logical disk on the disk device. As a result, all data on the logical disk can be stored on the disk device without forming an unused area on the disk device.
本発明によれば、ディスクアレイ装置のディスク装置に未使用領域を形成することなく、ディスク装置を跨ぐ入出力を減少させることが可能になる。 According to the present invention, it is possible to reduce input / output across disk devices without forming an unused area in the disk device of the disk array device.
ディスク装置を跨ぐ入出力を減少させることができる理由は、シフト実施部が、ディスクアレイ装置が認識している論理ディスクに割り当てられている論理アドレス空間を、ホスト計算機が認識しているホスト論理ディスクの先頭部分に設けられている管理領域のサイズだけ、後方にシフトするようにしているからである。即ち、シフト実施部において上記した処理を行うことにより、ディスクアレイ装置が認識している論理ディスクの先頭部分には、管理領域が存在しないことになるので、論理ディスクの先頭部分に管理領域が存在していたために発生していた、ディスク装置を跨ぐ入出力を減少させることが可能になる。 The reason why the I / O across the disk device can be reduced is because the host computer recognizes the logical address space assigned to the logical disk recognized by the disk array device by the shift execution unit. This is because the size is shifted backward by the size of the management area provided at the head portion of. In other words, by performing the above processing in the shift execution unit, the management area does not exist at the head part of the logical disk recognized by the disk array device, so the management area exists at the head part of the logical disk. Therefore, it is possible to reduce the input / output across the disk devices that has occurred.
また、ディスクアレイ装置のディスク装置に未使用領域が形成されない理由は、論理/物理ディスク制御部が、ディスクアレイ装置が備えている各ディスク装置に格納されている論理ディスクのデータの内の、管理領域のデータ以外をディスク装置上において管理領域のサイズ分、前方にシフトすると共に、管理領域のデータをディスク装置上において論理ディスクの最終データの直後に移動させようにしているからである。 Also, the reason why the unused area is not formed in the disk device of the disk array device is that the logical / physical disk control unit manages the data of the logical disk stored in each disk device provided in the disk array device. This is because data other than the data in the area is shifted forward by the size of the management area on the disk device, and the data in the management area is moved immediately after the final data of the logical disk on the disk device.
次に本発明の実施の形態について図面を参照して詳細に説明する。 Next, embodiments of the present invention will be described in detail with reference to the drawings.
〔実施の形態の構成の説明〕
図1は、本発明にかかるディスクアレイ装置の実施の形態の構成例を示すブロック図であり、ディスクアレイ装置1と、管理装置2と、ホスト計算機200とを含んでいる。
[Description of Configuration of Embodiment]
FIG. 1 is a block diagram showing a configuration example of an embodiment of a disk array device according to the present invention, which includes a
ホスト計算機200は、図12に示したホスト計算機200と同様に、ディスクアレイ装置1上に、図13に示すようなホスト論理ディスク300が1つあるいは複数、存在していると認識している。また、ホスト計算機200は、ディスクアレイ装置1に対してI/O命令を発行する機能を有する。このI/O命令には、入出力対象にするホスト論理ディスクの番号(ホスト論理ディスク番号)と、入出力を行う先頭部分の論理アドレスと、入出力するデータのサイズとが含まれる。
Similarly to the
管理装置2は、管理者の指示に従って、論理アドレスのシフト対象にする論理ディスクの番号(論理ディスク番号)およびシフト量を含むシフト命令をディスクアレイ装置1に対して発行する機能を有する。
The
ディスクアレイ装置1は、命令制御部11と、シフト情報テーブル13を有するシフト情報記憶部12と、シフト実施部14と、論理/物理対応テーブル15と、論理/物理ディスク制御部16と、ディスク対応テーブル18を有するシフト計算部17と、キャッシュ制御部19と、磁気ディスク装置などの複数台のディスク装置DISK1〜DISK5とを含んでいる。なお、ディスク装置DISK1〜DISK5には、それぞれディスク装置番号#DISK1〜#DISK5が付与されているとする。また、ディスクアレイ装置1は、図13に示すように、ホスト計算機200が認識している各ホスト論理ディスク300に対応する論理ディスク400が自装置1上に存在すると認識している。
The
命令制御部11は、管理装置2からシフト命令が入力された場合、シフト命令に含まれている論理ディスク番号およびシフト量をシフト情報としてシフト情報記憶部12に渡す機能や、ホスト計算機200からI/O命令が入力された場合、I/O命令に含まれているホスト論理ディスク番号、論理アドレス及びサイズをI/O情報としてシフト計算部17に渡す機能を有する。
When a shift command is input from the
シフト情報記憶部12内のシフト情報テーブル13には、ディスクアレイ装置1が認識している各論理ディスクの論理ディスク番号に対応付けて、その論理ディスクに割り当てられている論理アドレス空間のシフト量が登録されている。図2にシフト情報テーブル13の内容例を示す。同図の例は、論理ディスク番号がL1の論理ディスクは、シフト量が0byteで、論理ディスク番号がL2の論理ディスクは、シフト量が512byteであることを示している。なお、初期状態においては、シフト量として0byteが設定されている。
In the shift information table 13 in the shift
シフト情報記憶部12は、次のような機能を有する。
The shift
・命令制御部11からシフト情報が渡されたとき、シフト情報に含まれているシフト量と、シフト情報テーブル13に格納されている各論理ディスクのシフト量の内の、上記シフト情報に含まれている論理ディスク番号によって特定されるシフト量との差分を求める機能。
・求めた差分と、上記シフト情報に含まれている論理ディスク番号とをシフト実施部14に渡す機能。
・差分を求めた後、シフト情報テーブル13に格納されている該当する論理ディスクのシフト量を、シフト情報中のシフト量に置き換える機能。
・シフト計算部17から論理ディスク番号を含むシフト量問い合わせが送られてきたとき、シフト情報テーブル13から上記論理ディスク番号に対応して登録されているシフト量を検索し、シフト計算部17に返却する機能。
When the shift information is passed from the instruction control unit 11, it is included in the shift information among the shift amount included in the shift information and the shift amount of each logical disk stored in the shift information table 13. This function obtains the difference from the shift amount specified by the logical disk number.
A function of passing the obtained difference and the logical disk number included in the shift information to the shift execution unit 14.
A function of replacing the shift amount of the corresponding logical disk stored in the shift information table 13 with the shift amount in the shift information after obtaining the difference.
When a shift amount inquiry including a logical disk number is sent from the
論理/物理対応テーブル15には、ホスト計算機200が認識している各ホスト論理ディスクのホスト論理ディスク番号と、ディスクアレイ装置1が認識している論理ディスクの論理ディスク番号との対応関係が登録されている。更に、論理/物理対応テーブル15には、ディスクアレイ装置1が認識している論理ディスク400に割り当てられている論理アドレスと、ディスク装置DISK1〜DISK5上の物理アドレスとの対応関係が登録されている。
The logical / physical correspondence table 15 registers the correspondence between the host logical disk number of each host logical disk recognized by the
図3は論理/物理対応テーブル15の内容例を示す図である。同図の例は、ホスト計算機200が認識しているホスト論理ディスク番号HL1のホスト論理ディスクとディスクアレイ装置1が認識している論理ディスク番号L1の論理ディスクとが対応していることを示している。また、同図の例は、論理ディスク番号L1の論理ディスクの論理アドレス「0番地、2048番地、4096番地、6144番地」からストライプサイズ(2048byte)分のデータは、それぞれディスク装置DISK1、DISK2、DISK3、DISK4のストライプ番号ST1のストライプに格納され、「8192番地、10240番地、12288番地、14336番地」からストライプサイズ分のデータは、それぞれディスク装置DISK5、DISK1、DISK2、DISK3のストライプ番号ST2のストライプに格納されていることを示している。なお、以下の説明では、ホスト論理ディスク番号HLXのホスト論理ディスクをホスト論理ディスクHLXと記し、論理ディスク番号LYの論理ディスクを論理ディスクLYと記す場合がある。
FIG. 3 shows an example of the contents of the logical / physical correspondence table 15. The example in the figure shows that the host logical disk of host logical disk number HL1 recognized by the
シフト実施部14は、次のような機能を有する。 The shift execution unit 14 has the following functions.
・シフト情報記憶部12からシフト量の差分およびシフト対象にする論理ディスクの論理ディスク番号が渡されたとき、差分が「0」であるか否かを調べ、差分が「0」でない場合は、上記論理ディスク番号の論理ディスクに割り当てられている論理アドレス空間を、上記差分だけ後方にシフトする機能。
・シフト情報記憶部12から渡された差分および論理ディスク番号を論理/物理ディスク制御部16に渡す機能。
When a shift amount difference and a logical disk number of a logical disk to be shifted are passed from the shift
A function of passing the difference and logical disk number passed from the shift
シフト計算部17内のディスク対応テーブル18には、ホスト計算機200が認識しているホスト論理ディスクとディスクアレイ装置1が認識している論理ディスクとの対応関係が登録されている。図4は、ディスク対応テーブル18の内容例を示す図である。同図の例は、ホスト論理ディスク番号HL1、HL2、…のホスト論理ディスクが、それぞれ論理ディスク番号L1、L2、…論理ディスクと対応していることを示している。
In the disk correspondence table 18 in the
シフト計算部17は、次のような機能を有している。
The
・命令制御部11からホスト論理ディスク番号、論理アドレス及びサイズを含むI/O情報が渡されたとき、ディスク対応テーブル18から上記ホスト論理ディスク番号に対応する論理ディスク番号を検索する機能。
・ディスク対応テーブル18から検索した論理ディスク番号を含むシフト量問い合わせを、シフト情報記憶部12に送る機能。
・シフト量問い合わせに応答してシフト情報記憶部12から返却されたシフト量(該当する論理ディスクの開始アドレスに相当する)と、I/O情報中の論理アドレスとを比較する機能。
・I/O情報中の論理アドレスが、論理ディスクの開始アドレス以上である場合は、I/O情報をそのままキャッシュ制御部19に渡し、論理ディスクの開始アドレス未満である場合には、I/O情報中の論理アドレスを、論理ディスクの最終アドレスから差分を差し引いた値に置き換え、置き換え後のI/O情報をキャッシュ制御部19に渡す機能。
A function of retrieving a logical disk number corresponding to the host logical disk number from the disk correspondence table 18 when I / O information including the host logical disk number, logical address, and size is passed from the instruction control unit 11.
A function for sending a shift amount inquiry including the logical disk number retrieved from the disk correspondence table 18 to the shift
A function of comparing the shift amount (corresponding to the start address of the corresponding logical disk) returned from the shift
If the logical address in the I / O information is greater than or equal to the start address of the logical disk, the I / O information is passed to the
キャッシュ制御部19は、その内部に半導体メモリによるバッファ(図示せず)を有し、I/O情報によって示されるデータがバッファ上に存在する場合は、バッファに対して入出力を行い、存在しない場合は、I/O情報を論理/物理ディスク制御部16に渡す機能を有する。
The
論理/物理ディスク制御部16は、次のような機能を有する。
The logical / physical
・キャッシュ制御部19からI/O情報が入力されたとき、論理/物理対応テーブル15を利用して、ディスク装置DISK1〜DISK5に対してデータを入出力する機能を有する。その際、必要に応じてパリティチェックやパリティの変更を行う機能も有する。この機能は、従来から良く知られている機能である。
・シフト実施部14から論理アドレス空間のシフト対象にした論理ディスクの論理ディスク番号および差分が渡された場合、該当する論理ディスクのデータの内の、先頭から差分分のデータ以外をストライプに分割し、分割したストライプを各ディスク装置DISK1〜DISK5に順番に格納する機能。
・該当する論理ディスクの先頭から差分分のデータ(管理領域のデータ)を最終ストライプに追加する機能。
When I / O information is input from the
When the logical disk number and the difference of the logical disk to be shifted in the logical address space are passed from the shift execution unit 14, the data other than the difference data from the head of the data of the corresponding logical disk is divided into stripes. The function of storing the divided stripes in order in each of the disk devices DISK1 to DISK5.
A function for adding difference data (management area data) from the beginning of the corresponding logical disk to the last stripe.
上記した機能を有するディスクアレイ装置1は、コンピュータによって実現可能なものであり、コンピュータによって実現する場合は、例えば、次のようにする。コンピュータをディスクアレイ装置1として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、上記プログラムをコンピュータに読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に、命令制御部11、シフト情報記憶部12、シフト実施部14、論理/物理ディスク制御部16、シフト計算部17を実現する。
The
〔実施の形態の動作の説明〕
次に、本実施の形態の動作について詳細に説明する。
[Description of Operation of Embodiment]
Next, the operation of the present embodiment will be described in detail.
今、例えば、ホスト計算機200が、図15のホスト論理ディスク300をホスト論理ディスク番号HL1のホスト論理ディスクとして認識し、ディスクアレイ装置1が、図15の論理ディスク400を論理ディスク番号L1の論理ディスクとして認識しているとする。また、現時点では、シフト情報テーブル13、論理/物理対応テーブル15及びディスク対応テーブル18の内容が、それぞれ図2、図3及び図4に示すものになっているとする。従って、現時点では、図15に示すように、ディスク装置DISK1のストライプST1の先頭部分に管理領域301のデータが格納されていることになるので、ホスト計算機200がOS使用領域302の開始アドレス「512番地」からストライプサイズ(本実施の形態では、2048byte)の入出力を行うと、ディスク装置DISK1、DISK2を跨ぐ入出力が行われてしまい、入出力性能が低下してしまう。
Now, for example, the
そこで、このような場合、ディスクアレイ装置1の管理者は、管理装置2を用いてディスクアレイ装置1に対してシフト命令を発行する。このシフト命令には、ホスト論理ディスク300に対応する論理ディスク400の論理ディスク番号L1が含まれると共に、シフト量として管理領域301のサイズ(512byte)が含まれている。
In such a case, the administrator of the
ディスクアレイ装置1内の命令制御部11は、管理装置2からシフト命令が送られてくると、それに含まれている論理ディスク番号L1及びシフト量「512byte」をシフト情報としてシフト情報記憶部12に渡す。
When a shift command is sent from the
シフト情報記憶部11は、命令制御部12から論理ディスク番号L1およびシフト量「512byte」を含むシフト情報が渡されると、図5のフローチャートに示すように、シフト情報テーブル13から論理ディスク番号L1に対応付けて登録されているシフト量を検索する(ステップS51)。現時点では、シフト情報テーブル13の内容は、図2に示すものになっているので、シフト量として「0byte」が検索されることになる。
When the shift information including the logical disk number L1 and the shift amount “512 bytes” is transferred from the
その後、シフト情報記憶部12は、ステップS51で検索したシフト量「0byte」と、シフト情報中のシフト量「512byte」との差分「512byte」を求める(ステップS52)。更に、シフト情報テーブル13に論理ディスク番号L1と対応付けて登録されているシフト量を、シフト情報中のシフト量「512byte」に更新する(ステップS53)。この結果、シフト情報テーブル13の内容は、図6に示すものになる。そして、最後に、シフト情報記憶部12は、ステップS52で求めた差分「512byte」及びシフト情報中の論理ディスク番号L1をシフト実施部14に通知する(ステップS54)。
After that, the shift
シフト実施部14は、シフト情報記憶部12から論理ディスク番号L1及び差分「512byte」が渡されると、図7のフローチャートに示すように、差分が「0」であるか否かを判断する(ステップS71)。この例では、差分は「512byte」であり、ステップS71の判断結果がNOとなるので、シフト実施部14は、論理ディスク番号L1の論理ディスク400に割り当てられている論理アドレス空間を差分「512byte」分、後方にシフトする(ステップS72)。より具体的には、シフト実施部14は、論理/物理対応テーブル15に登録されている各論理ディスクの論理アドレスの内の、論理ディスク名L1によって特定される論理ディスク400の論理アドレスを、差分「512byte」分、増加させることにより、論理ディスク400に割り当てられている論理アドレス空間を「512番地」、後方にシフトさせる。この結果、論理/物理対応テーブル15の内容は、図3に示すものから、図8に示すものに更新される。
When the logical disk number L1 and the difference “512 bytes” are passed from the shift
その後、シフト実施部14は、論理ディスク番号L1および差分「512byte」を論理/物理ディスク制御部16に渡す(ステップS73)。なお、ステップS71の判断結果がYESとなった場合も、シフト実施部14は、ステップS73の処理を行う。 Thereafter, the shift execution unit 14 passes the logical disk number L1 and the difference “512 bytes” to the logical / physical disk control unit 16 (step S73). In addition, also when the determination result of step S71 is YES, the shift execution unit 14 performs the process of step S73.
論理/物理ディスク制御部16は、シフト実施部14から差分「512byte」および論理ディスク番号L1が渡されると、図9のフローチャートに示すように、論理ディスク番号L1の論理ディスク400のデータの内の、先頭から差分「512byte」分のデータを除いたデータ(論理ディスク400の論理アドレスが512番地以降のデータであり、管理領域301以外のデータ)をストライプに分割する(ステップS91)。また、ステップS91においては、論理ディスク400の0番地〜511番地のデータ(管理領域301のデータ)をディスク装置DISK1から読み込み、内部に保存しておく。ここで、論理ディスク400の各論理アドレスのデータが、どのディスク装置の、どのストライプに格納されているかは、図8に示した論理/物理対応テーブル15と、シフト実施部14から渡された差分「512byte」とに基づいて求めることができる。より具体的には、先ず、論理/物理対応テーブル15に登録されている各論理ディスクの情報の内の、論理ディスク番号L1に対応付けて登録されている論理ディスク400の論理アドレス「512、2560、…」、論理ディスク番号「#DISK1、#DISK2、…」およびストライプ番号「ST1、ST1、…」を入力する。その後、入力した論理アドレス「512、2560、…」から差分「512」を減じた論理アドレス「0、2048、…」を求める。この論理アドレス「0、2048、…」と、論理/物理対応テーブル15から入力した論理ディスク番号「#DISK1、#DISK2、…」と、ストライプ番号「ST1、ST1、…」とから論理ディスク400の各論理アドレスのデータが、どのディスク装置の、どのストライプに存在するかを求めることができる。
When the difference “512 bytes” and the logical disk number L1 are passed from the shift execution unit 14, the logical / physical
その後、論理/物理ディスク制御部16は、各ディスク装置DISK1〜DISK5の各ストライプに、ステップS91で分割したストライプを順次格納する(ステップS92)。より具体的には、論理/物理ディスク制御部16は、図8に示す内容の論理/物理対応テーブル15に基づいて、論理アドレス「512番地、2560番地、4608番地、6656番地」から始まる1ストライプ分のデータをそれぞれディスク装置DISK1、DISK2、DISK3、DISK4のストライプST1に格納し、論理アドレス「8704番地、10752番地、12800番地、14848番地」から始まる1ストライプ分のデータをそれぞれディスク装置DISK5、DISK1、DISK2、DISK3のストライプST2に格納する。これ以降の論理アドレスのデータについても、同様の処理が行われる。
Thereafter, the logical / physical
その後、論理/物理ディスク制御部16は、ステップS91で内部に保存しておいた論理アドレス「0番地〜511番地」のデータ(管理領域301のデータ)を、最終ストライプの最終データの後ろに追加する(ステップS93)。これにより、図10に示すように、管理領域301のデータが最終ストライプに移動する(ディスク装置DISK5のストライプST5に移動する)。以上の処理により、論理ディスク400の開始位置とOS使用領域302の開始位置とが一致し、且つ、OS使用領域302のデータがディスク装置DISK1のストライプST1の先頭部分から格納される。従って、これ以降、ホスト計算機200がOS使用領域302の開始アドレス「512番地」からストライプサイズの入出力を行うと、ディスク装置DISK1に対してのみ入出力が行われることになる。
Thereafter, the logical / physical
次に、上記したシフト処理が完了した後に、ホスト計算機200がホスト論理ディスク番号HL1のホスト論理ディスク300に対するI/O命令を発行した場合の動作を説明する。
Next, an operation when the
ホスト計算機200は、ホスト論理ディスク300に対して入出力を行う場合、ホスト論理ディスク300のホスト論理ディスク番号HL1と、入出力を行う先頭部分の論理アドレスと、入出力するデータのサイズとを含むI/O命令をディスクアレイ装置1に対して発行する。
When performing input / output to / from the host logical disk 300, the
ディスクアレイ装置1内の命令制御部11は、ホスト計算機200からのI/O命令を受信すると、それに含まれているホスト論理ディスク番号HL1、論理アドレスおよびサイズをI/O情報としてシフト計算部17に渡す。
Upon receiving an I / O command from the
シフト計算部17は、I/O情報が渡されると、図11のフローチャートに示すように、ディスク対応テーブル18から上記I/O情報中のホスト論理ディスク番号HL1に対応付けて登録されている論理ディスク番号を検索し、検索した論理ディスク番号を含むシフト量問い合わせをシフト情報記憶部12へ送信する(ステップS111)。今、ディスク対応テーブル18の内容が図4に示すものであるとすると、シフト計算部17は、論理ディスク番号L1を含むシフト量問い合わせをシフト情報記憶部12に送信することになる。
When the I / O information is passed, the
シフト情報記憶部12は、シフト計算部17から論理ディスク番号L1を含むシフト量問い合わせが送られてくると、シフト情報テーブル13から論理ディスク番号L1に対応付けて登録されているシフト量を検索し、検索したシフト量をシフト計算部17に返却する。現時点では、シフト情報テーブル13の内容は、図6に示すものになっているので、シフト情報記憶部12は、シフト量「512byte」をシフト計算部17に返却することになる。なお、このシフト量は、論理ディスク400に割り当てられている論理アドレス空間の開始アドレス「512番地」と対応するものである。
When the shift
シフト計算部17は、シフト情報記憶部12からシフト量「512byte」が送られてくると、論理ディスク400に割り当てられている論理アドレス空間の開始アドレスが「512番地」であると認識する(ステップS112)。その後、シフト計算部17は、論理アドレス空間の開始アドレス「512番地」と、I/O情報に含まれている論理アドレス(入出力を行う先頭部分の論理アドレス)とを比較する(ステップS113)。
When the shift amount “512 bytes” is sent from the shift
そして、I/O情報中の論理アドレスが、論理ディスク400に割り当てられている論理アドレス空間の開始アドレス「512番地」以上である場合(ステップS115がNO)は、命令制御部11から渡されたI/O情報をそのままキャッシュ制御部19に渡す(ステップS115)。これに対して、I/O情報中の論理アドレスが、論理ディスク400に割り当てられている論理アドレス空間の開始アドレス「512番地」未満である場合(ステップS114がYES)は、I/O情報中の論理アドレスを、論理ディスク400に割り当てられている論理アドレス空間の最終アドレスからシフト量「512byte」分差し引いたアドレスに変換し、変換後のI/O情報をキャッシュ制御部19に渡す(ステップS116)。即ち、I/O情報中の論理アドレスが、OS使用領域302に対応するものである場合(ステップS114がNO)は、ステップS115の処理を行い、I/O情報中の論理アドレスが管理領域301に対応するものである場合(ステップS114がYES)、ステップS116の処理を行うことになる。 When the logical address in the I / O information is equal to or higher than the start address “512 address” of the logical address space allocated to the logical disk 400 (NO in step S115), the instruction control unit 11 passes the logical address. The I / O information is directly passed to the cache control unit 19 (step S115). On the other hand, when the logical address in the I / O information is less than the start address “512 address” of the logical address space allocated to the logical disk 400 (YES in step S114), the I / O information is in the I / O information. Is converted into an address obtained by subtracting the shift amount “512 bytes” from the final address of the logical address space allocated to the logical disk 400, and the converted I / O information is passed to the cache control unit 19 (step S116). ). That is, when the logical address in the I / O information corresponds to the OS use area 302 (NO in step S114), the process of step S115 is performed, and the logical address in the I / O information is changed to the management area 301. (Step S114 is YES), the process of step S116 is performed.
キャッシュ制御部19は、I/O情報によって示されるデータがバッファに存在する場合(ヒットした場合)は、バッファ上で入出力を行い、存在しない場合(ミスヒットした場合)は、論理/物理ディスク制御部16にI/O情報を渡す。
When the data indicated by the I / O information is present in the buffer (when hit), the
論理/物理ディスク制御部16は、キャッシュ制御部19からI/O情報が渡されると、論理/物理対応テーブル15を参照することにより、入出力の対象とするデータがどのディスク装置の、どのストライプに存在するのかを求め、データを入出力する。
When the logical / physical
〔実施の形態の効果〕
本実施の形態によれば、ディスクアレイ装置1のディスク装置DISK1〜DISK5に未使用領域を形成することなく、ディスク装置DISK1〜DISK5を跨ぐ入出力を減少させることが可能になる。
[Effect of the embodiment]
According to the present embodiment, it is possible to reduce input / output across the disk devices DISK1 to DISK5 without forming unused areas in the disk devices DISK1 to DISK5 of the
ディスク装置DISK1〜DISK5を跨ぐ入出力を減少させることができる理由は、シフト実施部14が、ディスクアレイ装置1が認識している論理ディスク400に割り当てられている論理アドレス空間を、ホスト計算機200が認識しているホスト論理ディスク300の先頭部分に設けられている管理領域301のサイズだけ、後方にシフトするようにしているからである。即ち、シフト実施部14において上記した処理を行うことにより、ディスクアレイ装置1が認識している論理ディスク400の先頭部分には、管理領域が存在しないことになるので、先頭部分に管理領域が存在していたために発生していた、ディスク装置を跨ぐ入出力を減少させることが可能になる。
The reason why the input / output across the disk devices DISK1 to DISK5 can be reduced is that the
また、ディスクアレイ装置1のディスク装置DISK1〜DISK5に未使用領域が形成されない理由は、論理/物理ディスク制御部16が、ディスクアレイ装置1が備えている各ディスク装置DISK1〜DISK5に格納されている論理ディスク400のデータの内の、管理領域301のデータ以外をディスク装置DISK1〜DISK5上において管理領域301のサイズ分、前方にシフトすると共に、管理領域301のデータをディスク装置DISK1〜DISK5上において論理ディスク400の最終データの直後に移動させようにしているからである。
The reason why unused areas are not formed in the disk devices DISK1 to DISK5 of the
複数のディスク装置を備え、ホスト計算機が認識しているホスト論理ディスクに関連付けたデータをディスクアレイ装置が認識している論理ディスクに関連付けてディスク装置に読み書きするディスクアレイ装置に適用することができる。 The present invention can be applied to a disk array device that includes a plurality of disk devices and reads / writes data associated with the host logical disk recognized by the host computer in association with the logical disk recognized by the disk array device.
1、100…ディスクアレイ装置
11、101…命令制御部
12…シフト情報記憶部
13…シフト情報テーブル
14…シフト実施部
15、104…論理/物理対応テーブル
16、103…論理/物理ディスク制御部
17…シフト計算部
18…ディスク対応テーブル
19、102…キャッシュ制御部
DISK1〜DISK5…ディスク装置
2…管理装置
200…ホスト計算機
300…ホスト論理ディスク
301…管理領域
302…OS使用領域
400…論理ディスク
DESCRIPTION OF SYMBOLS 1,100 ...
Claims (3)
前記ディスクアレイ装置が認識している論理ディスクに割り当てられている論理アドレス空間の論理アドレスと、前記ディスク装置上の物理アドレスとの対応関係が登録された論理/物理対応テーブルと、
ホスト計算機が認識しているホスト論理ディスクの先頭部分に設けられている管理領域のサイズをシフト量として含んだシフト命令が管理装置から入力されたとき、前記論理/物理対応テーブルに登録されている論理アドレスに、前記シフト命令に含まれている前記シフト量に応じた値を加算するシフト実施部と、
該シフト実施部が前記シフト命令に従って前記論理/物理テーブルの内容を更新した後、該更新後の論理/物理テーブルの内容に基づいて、前記ディスク装置に格納されている前記論理ディスクのデータの内の、前記管理領域のデータ以外を前記ディスク装置上において前記シフト量だけ前方にシフトすると共に、前記管理領域のデータを前記ディスク装置上において前記論理ディスクの最終データの直後に移動させる論理/物理ディスク制御部と、
該論理/物理ディスク制御部によるシフト処理および移動処理が完了した後に前記ホスト計算機から発行されるI/O命令中の論理アドレスが、前記ホスト計算機が認識している前記管理領域の論理アドレスであるか否かを、前記I/O命令中の論理アドレスと前記シフト命令中のシフト量から認識した前記論理ディスクに割り当てられている論理アドレス空間の開始アドレスとを比較することにより判定し、前記管理領域の論理アドレスであった場合には、前記I/O命令中の論理アドレスを、前記ディスク装置上において前記論理ディスクの最終データの直後に移動させた前記管理領域のデータの最終論理アドレスから前記管理領域のサイズ分差し引いたアドレスに前記I/O命令中の論理アドレスを加算したアドレスに変換するシフト計算部とを備えたことを特徴とするディスクアレイ装置。 In a disk array device having a plurality of disk devices,
A logical / physical correspondence table in which a correspondence relationship between a logical address of a logical address space allocated to a logical disk recognized by the disk array device and a physical address on the disk device is registered;
When a shift instruction including the size of the management area provided at the head of the host logical disk recognized by the host computer as a shift amount is input from the management device, it is registered in the logical / physical correspondence table. A shift execution unit that adds a value corresponding to the shift amount included in the shift instruction to a logical address ;
After the shift execution unit updates the contents of the logical / physical table in accordance with the shift instruction , the data on the logical disk stored in the disk device is stored based on the contents of the updated logical / physical table . A logical / physical disk that shifts data other than the management area data forward on the disk device by the shift amount and moves the data in the management area immediately after the last data of the logical disk on the disk device. A control unit;
The logical address in the I / O instruction issued from the host computer after the shift processing and migration processing by the logical / physical disk control unit is completed is the logical address of the management area recognized by the host computer. Whether the logical address in the I / O instruction is compared with the start address of the logical address space allocated to the logical disk recognized from the shift amount in the shift instruction, and the management If it is a logical address of the area, the logical address in the I / O instruction is moved from the final logical address of the data in the management area moved immediately after the final data of the logical disk on the disk device. Shift to convert to an address obtained by adding the logical address in the I / O instruction to the address subtracted by the size of the management area The disk array apparatus being characterized in that a calculation unit.
前記論理/物理対応テーブルには、前記ディスクアレイ装置が認識している論理ディスクに割り当てられている論理アドレス空間の論理アドレスと、前記ディスク装置上の物理アドレスとの対応関係が登録され、且つ、
シフト実施部が、ホスト計算機が認識しているホスト論理ディスクの先頭部分に設けられている管理領域のサイズをシフト量として含んだシフト命令が管理装置から入力されたとき、前記論理/物理対応テーブルに登録されている論理アドレスに、前記シフト命令に含まれている前記シフト量に応じた値を加算する第1のステップと、
論理/物理ディスク制御部が、前記第1のステップによって前記論理/物理テーブルの内容が更新された後、該更新後の論理/物理テーブルに内容に基づいて、前記ディスク装置に格納されている前記論理ディスクのデータの内の、前記管理領域のデータ以外を前記ディスク装置上において前記シフト量だけ前方にシフトすると共に、前記管理領域のデータを前記ディスク装置上において前記論理ディスクの最終データの直後に移動させる第2のステップと、
シフト計算部が、前記論理/物理ディスク制御部による前記第2のステップが完了した後に前記ホスト計算機から発行されるI/O命令中の論理アドレスが、前記ホスト計算機が認識している前記管理領域の論理アドレスであるか否かを、前記I/O命令中の論理アドレスと前記シフト命令中のシフト量から認識した前記論理ディスクに割り当てられている論理アドレス空間の開始アドレスとを比較することにより判定し、前記管理領域の論理アドレスであった場合には、前記I/O命令中の論理アドレスを、前記ディスク装置上において前記論理ディスクの最終データの直後に移動させた前記管理領域のデータの最終論理アドレスから前記管理領域のサイズ分差し引いたアドレスに前記I/O命令中の論理アドレスを加算したアドレスに変換する第3のステップとを含むことを特徴とする論理アドレス制御方法。 A logical address control method in a disk array device having a plurality of disk devices and a logical / physical correspondence table ,
In the logical / physical correspondence table, a correspondence relationship between a logical address in a logical address space allocated to a logical disk recognized by the disk array device and a physical address on the disk device is registered, and
When the shift execution unit receives a shift instruction including the size of the management area provided at the head part of the host logical disk recognized by the host computer as a shift amount from the management device, the logical / physical correspondence table A first step of adding a value corresponding to the shift amount included in the shift instruction to the logical address registered in
The logical / physical disk control unit updates the contents of the logical / physical table in the first step, and then stores the logical / physical table stored in the disk device based on the contents of the updated logical / physical table . The logical disk data other than the management area data is shifted forward by the shift amount on the disk device, and the management area data is shifted immediately after the final data of the logical disk on the disk device. A second step of moving ;
The management area in which the host computer recognizes the logical address in the I / O instruction issued from the host computer after the second step by the logical / physical disk control unit is completed by the shift calculation unit By comparing the logical address in the I / O instruction with the start address of the logical address space assigned to the logical disk recognized from the shift amount in the shift instruction. If the logical address of the management area is determined, the logical address in the I / O instruction is moved immediately after the final data of the logical disk on the disk device. Change to an address obtained by adding the logical address in the I / O instruction to the address obtained by subtracting the size of the management area from the final logical address. Logical address control method characterized by comprising a third step of.
前記論理/物理対応テーブルには、前記ディスクアレイ装置が認識している論理ディスクに割り当てられている論理アドレス空間の論理アドレスと、前記ディスク装置上の物理アドレスとの対応関係が登録され、且つ、
前記コンピュータを、
ホスト計算機が認識しているホスト論理ディスクの先頭部分に設けられている管理領域のサイズをシフト量として含んだシフト命令が管理装置から入力されたとき、前記論理/物理対応テーブルに登録されている論理アドレスに、前記シフト命令に含まれている前記シフト量に応じた値を加算するシフト実施部、
該シフト実施部が前記シフト命令に従って前記論理/物理テーブルの内容を更新した後、該更新後の論理/物理テーブルに内容に基づいて、前記ディスク装置に格納されている前記論理ディスクのデータの内の、前記管理領域のデータ以外を前記ディスク装置上において前記シフト量だけ前方にシフトすると共に、前記管理領域のデータを前記ディスク装置上において前記論理ディスクの最終データの直後に移動させる論理/物理ディスク制御、
該論理/物理ディスク制御部によるシフト処理および移動処理が完了した後に前記ホスト計算機から発行されるI/O命令中の論理アドレスが、前記ホスト計算機が認識している前記管理領域の論理アドレスであるか否かを、前記I/O命令中の論理アドレスと前記シフト命令中のシフト量から認識した前記論理ディスクに割り当てられている論理アドレス空間の開始アドレスとを比較することにより判定し、前記管理領域の論理アドレスであった場合には、前記I/O命令中の論理アドレスを、前記ディスク装置上において前記論理ディスクの最終データの直後に移動させた前記管理領域のデータの最終論理アドレスから前記管理領域のサイズ分差し引いたアドレスに前記I/O命令中の論理アドレスを加算したアドレスに変換するシフト計算部として機能させるためのプログラム。
A program for causing a computer having a plurality of disk devices and a logical / physical correspondence table to function as a disk array device,
In the logical / physical correspondence table, a correspondence relationship between a logical address in a logical address space allocated to a logical disk recognized by the disk array device and a physical address on the disk device is registered, and
The computer,
When a shift instruction including the size of the management area provided at the head of the host logical disk recognized by the host computer as a shift amount is input from the management device, it is registered in the logical / physical correspondence table. A shift execution unit that adds a value corresponding to the shift amount included in the shift instruction to a logical address ;
After the shift execution unit updates the contents of the logical / physical table according to the shift instruction, the logical disk data stored in the disk device is stored based on the contents of the updated logical / physical table . A logical / physical disk that shifts data other than the management area data forward on the disk device by the shift amount and moves the data in the management area immediately after the last data of the logical disk on the disk device. control,
The logical address in the I / O instruction issued from the host computer after the shift processing and migration processing by the logical / physical disk control unit is completed is the logical address of the management area recognized by the host computer. Whether the logical address in the I / O instruction is compared with the start address of the logical address space allocated to the logical disk recognized from the shift amount in the shift instruction, and the management If it is a logical address of the area, the logical address in the I / O instruction is moved from the final logical address of the data in the management area moved immediately after the final data of the logical disk on the disk device. Shift to convert to an address obtained by adding the logical address in the I / O instruction to the address subtracted by the size of the management area Program for functioning as a calculation unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005295150A JP4466530B2 (en) | 2005-10-07 | 2005-10-07 | Disk array device, logical address control method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005295150A JP4466530B2 (en) | 2005-10-07 | 2005-10-07 | Disk array device, logical address control method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007102699A JP2007102699A (en) | 2007-04-19 |
JP4466530B2 true JP4466530B2 (en) | 2010-05-26 |
Family
ID=38029550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005295150A Expired - Fee Related JP4466530B2 (en) | 2005-10-07 | 2005-10-07 | Disk array device, logical address control method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4466530B2 (en) |
-
2005
- 2005-10-07 JP JP2005295150A patent/JP4466530B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2007102699A (en) | 2007-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8924637B2 (en) | Flash memory storage system | |
US6470421B1 (en) | Method and means for reducing device contention by random accessing and partial track staging of records according to a first DASD format but device mapped according to a second DASD format | |
US6748486B2 (en) | Method, system, and data structures for superimposing data records in a first data format to memory in a second data format | |
US6941439B2 (en) | Computer system | |
US7219169B2 (en) | Composite DMA disk controller for efficient hardware-assisted data transfer operations | |
JP3011035B2 (en) | Computer system | |
US20120017054A1 (en) | Storage sub-system and method for controlling the same | |
TWI531963B (en) | Data storage systems and their specific instruction enforcement methods | |
WO2015145724A1 (en) | Storage system | |
US7849258B2 (en) | Storage apparatus and data verification method for the same | |
JP2007156597A (en) | Storage device | |
CN101151598A (en) | Sector-edge cache | |
JP2006195851A (en) | Storage system | |
JP4884721B2 (en) | Storage system and storage control method that do not require storage device format | |
JP2015026112A (en) | Storage control device, control program, and control method | |
JP3260999B2 (en) | Control method of disk controller | |
JP2008197864A (en) | Memory controller and storage system | |
JP7131053B2 (en) | Storage device, information processing program and information processing system | |
JP2000029635A (en) | Storage controller | |
JPH09288547A (en) | Array-type storage device | |
JP2005107838A (en) | Disk array controller and log information recording method | |
JP2012212192A (en) | Host server with virtual storage for virtual machine | |
JPH07200187A (en) | Disk array device | |
JP4466530B2 (en) | Disk array device, logical address control method, and program | |
US20050223180A1 (en) | Accelerating the execution of I/O operations in a storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090601 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20090601 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091015 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091020 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091218 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100202 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100215 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130305 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130305 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140305 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |