JP3387017B2 - File access control method and file relocation method - Google Patents
File access control method and file relocation methodInfo
- Publication number
- JP3387017B2 JP3387017B2 JP05660199A JP5660199A JP3387017B2 JP 3387017 B2 JP3387017 B2 JP 3387017B2 JP 05660199 A JP05660199 A JP 05660199A JP 5660199 A JP5660199 A JP 5660199A JP 3387017 B2 JP3387017 B2 JP 3387017B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- disk device
- magnetic disk
- disk
- read
- 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
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は、PC、ワークステーシ
ョンやサーバ等の計算機システム、ディスクアレイシス
テムに関わり、特に記憶装置に格納されたデータのデー
タアクセス制御方法および計算機システム並びにディス
クアレイシステムに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computer system such as a PC, a workstation or a server, and a disk array system, and more particularly to a data access control method for data stored in a storage device, a computer system and a disk array system.
【0002】[0002]
【従来の技術】近年のCPU性能の飛躍的な向上によ
り、ワークステーションやサーバの演算性能は著しく向
上した。しかしCPU性能の向上に比較して、I/O性
能、特に磁気ディスク装置に格納されたファイルのアク
セス速度の向上は十分とは言い難い。これは、磁気ディ
スク装置のような2次記憶装置のアクセス速度ネック、
及びI/Oバスインタフェースの速度ネックが主な要因
である。2. Description of the Related Art Recent breakthroughs in CPU performance have significantly improved the computing performance of workstations and servers. However, compared with the improvement of the CPU performance, the improvement of the I / O performance, particularly the access speed of the file stored in the magnetic disk device, cannot be said to be sufficient. This is an access speed bottleneck of a secondary storage device such as a magnetic disk device,
And the speed bottleneck of the I / O bus interface is the main factor.
【0003】このネックを解消して高速なファイルアク
セスを実現する技術の一つとして、ディスクアレイ装置
(もしくはアレイディスク装置と呼ぶ)がある。これ
は、磁気ディスク装置(以下、簡単のためにディスクド
ライブあるいは単にディスクと呼ぶ)を複数台内蔵する
装置で、各ディスクを並列に動作させることにより、高
速なファイルアクセスを実現しようとするものである。
さらに、I/Oバスとの接続に高速なインタフェースを
用いることにより、I/Oバスインタフェースの速度ネ
ックの解消も図ろうとしている。A disk array device (or array disk device) is known as one of the techniques for eliminating this neck and realizing high-speed file access. This is a device that incorporates multiple magnetic disk devices (hereinafter referred to as disk drives or simply disks for simplification), and aims to realize high-speed file access by operating each disk in parallel. is there.
Furthermore, by using a high-speed interface for connection with the I / O bus, it is trying to eliminate the speed bottleneck of the I / O bus interface.
【0004】図46にアレイディスク装置の構成を、ま
た図47にファイル読み出しの場合のタイムチャートを
示す。図46及び図47は、各スタックが4台のディス
クで構成されている例であるが、ディスク台数には増減
があっても構わない。これらの図を用いてアレイディス
ク装置の動作を説明する。FIG. 46 shows the configuration of the array disk device, and FIG. 47 shows a time chart for file reading. 46 and 47 are examples in which each stack is composed of four disks, but the number of disks may be increased or decreased. The operation of the array disk device will be described with reference to these figures.
【0005】アレイディスク装置300はホストCPU
装置400から読み出し命令を受けると、装置内部のコ
ントローラ(図には示していない)が、まずスタック0
のディスクhd0〜3にほぼ同時にデータブロック読み
出しの起動をかける。スタック0の各ディスクはシー
ク、回転待ちのあとにディスク媒体から当該データブロ
ックを読み出す。ディスクから読み出されたデータブロ
ック0〜3は、それぞれ別々のFIFO(310〜31
3)に格納される。この読み出し動作はスタック0のデ
ィスクhd0〜3でそれぞれ独立かつ並列に実行される
ために、全体の読み出し処理の高速化が実現される。次
に、これらのデータブロック0〜3は時分割で装置内部
の高速バス、すなわちi−Bus320を介してそれぞ
れバッファ330に順次シーケンシャルに転送される。
このバッファ330で各ディスクから独立に読み出した
データブロック0〜3を正しい順序に整列する。そし
て、高速なSCSIバス160を介してデータブロック
0〜3をホストCPU装置400へ転送する。その後、
次の読み出し命令が発行されていれば、データブロック
を読み出すべきスタックのディスクに対して、アレイデ
ィスク装置内部のコントローラは直ちに読み出しの起動
をかける。また、信頼性を確保するために上記データブ
ロックにパリティを用いる方法が知られている。The array disk device 300 is a host CPU
When a read command is received from the device 400, a controller (not shown) inside the device first causes the stack 0
Data blocks are read out from the disks hd0 to 3 at almost the same time. Each disk in the stack 0 reads the data block from the disk medium after waiting for seek and rotation. The data blocks 0 to 3 read out from the disk are different FIFOs (310 to 31).
It is stored in 3). Since this read operation is executed independently and in parallel on the disks hd0 to 3 of the stack 0, the speed of the entire read process is realized. Next, these data blocks 0 to 3 are sequentially and sequentially transferred to the buffer 330 via the high-speed bus inside the device, i.e., the i-Bus 320, in a time division manner.
The buffer 330 arranges the data blocks 0 to 3 read independently from each disk in the correct order. Then, the data blocks 0 to 3 are transferred to the host CPU device 400 via the high-speed SCSI bus 160. afterwards,
If the next read command is issued, the controller in the array disk device immediately activates the read operation for the disks in the stack from which the data block is to be read. In addition, a method is known in which parity is used for the data block in order to ensure reliability.
【0006】アレイディスク装置では、こうした一連の
動作を繰り返すことによって、高速なファイルアクセス
を実現している。The array disk device realizes high speed file access by repeating such a series of operations.
【0007】なお、アレイディスク装置に関連する公知
例としては、特開昭64−41044号「データ転送方
式」、特開昭64−21525号「磁気ディスク制御装
置」等がある。Known examples related to the array disk device include JP-A-64-41044 "data transfer system" and JP-A 64-21525 "magnetic disk controller".
【0008】[0008]
【発明が解決しようとする課題】上述のように、アレイAs mentioned above, the array
デイスク装置を用いると高速なファイルアクセスを実現Achieves high-speed file access using a disk device
することができる。しかしながら、スタックを構成するcan do. However, make up the stack
複数のデイスクの動作を制御する装置内臓のコントローController with a built-in device that controls the operation of multiple disks
ラとして、複雑で高価なハードウエアが必要となる。こAs a result, complicated and expensive hardware is required. This
のために、計算機システムのコストパフォーマンスが低Due to the low cost performance of the computer system
下するという問題がある。また、デイスクの台数を増やThere is a problem of defeating. Also, increase the number of disks
す場合には、1スタック単位で増設しなければならないIf you do, you must add one stack
ため、トータル容量に関するフレキシビリテイが不十分Therefore, the flexibility regarding total capacity is insufficient.
であるという問題もある。There is also the problem that
【0009】そこで本発明の目的は、計算機システムの
コストパフォーマンスを低下させることなく、アレイデ
イスクに匹敵する高速なファイルアクセス機能を実現す
るファイルの高速アクセス方法、並びにこれを用いた計
算機システムを提供することである。また、本発明の他
の目的として、デイスクシステムのトータル容量のフレ
キシビリテイーを高めるファイルアクセス方法、および
これを用いた計算機システムを提供することにある。 Therefore, an object of the present invention is to provide a computer system
Array data without degrading cost performance
Achieves a high-speed file access function that is comparable to ISK
High-speed file access method, and
It is to provide a computer system. In addition, other than the present invention
For the purpose of
File access method that enhances personality, and
It is to provide a computer system using this.
【0010】本発明は、上記課題を解決することを目的
とし、複雑で高価なハードウエアを用いずに、複数台の
磁気デイスク装置のアクセスをソフトウエアで多重制御
することにより、高速なファイルアクセスを実現する方
法及び計算機システムを提供するものである。 The present invention aims to solve the above problems.
And multiple units without complicated and expensive hardware.
Multiple control of access to magnetic disk device by software
Who realize high-speed file access by
Law and computer system.
【0011】図48に本発明の原理図を、また図49に
本発明におけるファイル読み出しのタイムチャートを示
す。図48及び図49はディスク台数が4台の場合を示
す例であるが、ディスク台数には増減があっても構わな
い。これらの図を用いて本発明の原理について説明す
る。FIG. 48 shows a principle diagram of the present invention, and FIG. 49 shows a time chart of file reading in the present invention. 48 and 49 show examples in which the number of disks is four, but the number of disks may be increased or decreased. The principle of the present invention will be described with reference to these drawings.
【0012】本発明においては、計算機システムにSC
SIバスのようなディスコネクト・リコネクト機能を有
するI/Oバス160を設けてホストCPU装置400
と接続し、さらに、このI/Oバス160に内部キャッ
シュメモリ20−0〜20−3を有する複数台の磁気デ
ィスク装置170−0〜170−3を接続し以下のアク
セス制御を行う。In the present invention, the computer system has an SC
An I / O bus 160 having a disconnect / reconnect function such as an SI bus is provided to provide the host CPU device 400.
Further, a plurality of magnetic disk devices 170-0 to 170-3 having internal cache memories 20-0 to 20-3 are connected to the I / O bus 160 to perform the following access control.
【0013】ファイルの書き込みを行う場合には、ホス
トCPU装置400は該当ファイルをサブファイルに分
割して、これらを各磁気ディスク装置170−0〜17
0−3の内部キャッシュメモリ20−0〜20−3に次
々に書き込んでゆく。ホストCPU装置400がサブフ
ァイルを構成するデータブロックを各磁気ディスク装置
の内部キャッシュメモリに書き込み終わると、各磁気デ
ィスク装置は書き込み終了をホストCPU装置400へ
知らせる。その後、各磁気ディスク装置内部で内部キャ
ッシュメモリに書き込まれたデータが、それぞれシーク
と回転待ちの後にディスク媒体に書き込まれる。当然こ
の間、ホストCPU装置400は他の磁気ディスク装置
の内部キャッシュメモリへ他のサブファイルの書き込み
を行うことができる。When writing a file, the host CPU device 400 divides the corresponding file into subfiles, and these are divided into magnetic disk devices 170-0 to 170-17.
The data is sequentially written in the internal cache memories 20-0 to 20-3 of 0-3. When the host CPU device 400 finishes writing the data blocks forming the subfile into the internal cache memory of each magnetic disk device, each magnetic disk device notifies the host CPU device 400 of the end of writing. Then, the data written in the internal cache memory inside each magnetic disk device is written in the disk medium after seeking and waiting for rotation. Of course, during this time, the host CPU device 400 can write another subfile to the internal cache memory of another magnetic disk device.
【0014】ファイルの読み出しを行う場合には、ホス
トCPU装置400は、そのファイルを格納するサブフ
ァイルを読み出す命令を該当する各磁気ディスク装置1
70−0〜170−3に対して次々に発行してゆく。発
行後、I/Oバス160を介したホストCPU装置40
0と各磁気ディスク装置170−0〜170−3との接
続をディスコネクトする。一方、各磁気ディスク装置は
読み出し命令を受け付けると、それぞれシークと回転待
ちの後にディスク媒体からデータを内部キャッシュメモ
リへ読み出して、ホストCPU装置400に対してリコ
ネクト要求を発行する。最も早くリコネクト要求を受け
付けられた磁気ディスク装置から、ホストCPU装置4
00はデータの主記憶装置への読み込みを開始する。こ
の間、他の磁気ディスク装置もホストCPUが発行した
読み出し命令に基づき、ディスク媒体から内部キャッシ
ュメモリへデータを読み出す動作を行い、読み出し完了
と共にリコネクト要求をホストCPU装置400へ発行
する。このようにして読み出したサブファイルはホスト
CPU装置400側で合成され、元ファイルが再生され
る。When reading a file, the host CPU device 400 issues an instruction to read a subfile storing the file to the corresponding magnetic disk device 1.
Issued one after another for 70-0 to 170-3. After issuing, the host CPU device 40 via the I / O bus 160
0 and the magnetic disk devices 170-0 to 170-3 are disconnected. On the other hand, upon receipt of the read command, each magnetic disk device reads data from the disk medium into the internal cache memory after waiting for seek and rotation, and issues a reconnect request to the host CPU device 400. From the magnetic disk device that received the reconnection request earliest, the host CPU device 4
00 starts reading data into the main memory. During this time, the other magnetic disk device also performs an operation of reading data from the disk medium to the internal cache memory based on the read command issued by the host CPU, and issues a reconnect request to the host CPU device 400 upon completion of reading. The subfiles thus read are combined on the host CPU device 400 side, and the original file is reproduced.
【0015】上述したファイルアクセス動作において、
磁気ディスク装置170−0〜170−3の内部キャッ
シュメモリ20−0〜20−3へのI/Oバス160を
介してのアクセスは高速なI/Oバスの速度で行えるた
め、シークや回転待ち、およびディスク媒体と内部キャ
ッシュメモリ間のデータ転送時間に比較し、極めて短時
間に行えることになる。その結果、読み出し動作も書き
込み動作も、ほぼ各磁気ディスク装置がそれぞれ独立に
並行して行うことになるため、システム全体としては高
速なファイルアクセスが実現されることになる。In the above file access operation,
Since access to the internal cache memories 20-0 to 20-3 of the magnetic disk devices 170-0 to 170-3 via the I / O bus 160 can be performed at a high I / O bus speed, seek and rotation waiting are performed. , And the data transfer time between the disk medium and the internal cache memory can be extremely short. As a result, the read operation and the write operation are performed almost independently in parallel by the respective magnetic disk devices, so that high-speed file access is realized in the entire system.
【0016】以上に述べたように、ファイルの読み出し
と書き込みのどちらの場合でも、磁気ディスク装置の内
部キャッシュメモリの存在と、これに対するI/Oバス
からのアクセスが高速なことを利用して、磁気ディスク
装置の並列動作とI/Oバスの効率的な利用が実現でき
る。これにより、高速なファイルアクセスを可能とする
計算機システムを提供することができる。As described above, whether the file is read or written, the existence of the internal cache memory of the magnetic disk device and the high speed access to it from the I / O bus are utilized to Parallel operation of the magnetic disk device and efficient use of the I / O bus can be realized. This makes it possible to provide a computer system that enables high-speed file access.
【0017】上記の各機能を実現するために、本発明の
提供する高速ファイルアクセス制御方法は、ディスコネ
クトおよびリコネクト機能を有する少なくとも1本以上
の入出力バスを有し、それぞれバスインタフェース装置
を介して主記憶装置に接続された該入出力バスに各々異
なった装置として識別できる、内部キャッシュメモリを
備えた複数の外部記憶装置が接続された計算機システム
において、(1)入出力バスに接続された複数の外部記
憶装置の中から任意の複数の外部記憶装置を選択し、外
部記憶装置グループを定義した外部記憶装置の構成情報
を記憶したディスク管理情報を参照して、指定された外
部記憶装置グループからこれを構成する外部記憶装置名
称を求めるディスク構成情報参照ステップと、(2)ア
クセスの対象となる元ファイルのファイル記述子とこれ
を分割構成するサブファイルのファイル記述子とを対応
付けて記憶したファイル記述子管理情報を参照して、指
定された元ファイルのファイル記述子からこれを構成す
るサブファイルのファイル記述子を求めるサブファイル
記述子参照ステップと、(3)元ファイルを構成するサ
ブファイルの、外部記憶装置グループ内の各外部記憶装
置上での格納位置情報を記憶したファイル管理情報を参
照して、指定されたサブファイル記述子から該サブファ
イルが格納されるべき、あるいはすでに格納されている
該当外部記憶装置上の位置情報を求めるファイル位置情
報参照ステップと、(4)上記ファイル位置情報参照ス
テップにより求められた各サブファイルを格納する外部
記憶装置名称および該当外部記憶装置上の格納位置情報
をもとに、ファイル書き込みの際には、書き込み対象と
なる磁気ディスク装置と当該バスインタフェース装置を
コネクトして主記憶装置から該当するサブファイルを当
該磁気ディスク装置の内部キャッシュメモリに転送し、
転送し終えた段階で該内部キャッシュメモリからディス
ク媒体上への書き込み終了を待たずに、当該磁気ディス
ク装置をバスインタフェース装置からディスコネクト
し、次の格納対象となる磁気ディスク装置をコネクト
し、書き込み対象サブファイルを該磁気ディスク装置の
内部キャッシュメモリへ転送し、転送終了次第ディスコ
ネクトするという動作を次々に繰り返し、ファイル読み
出しの際には、読み出し対象のサブファイルを格納して
いる磁気ディスク装置と当該バスインタフェース装置を
コネクトして、該磁気ディスク装置に対して読み出し要
求を発行し、該磁気ディスク装置内のディスク媒体上の
サブファイルが同装置内のキャッシュメモリへ転送され
るのを待たずに、該磁気ディスク装置をディスコネクト
し、直ちに次の磁気ディスク装置とコネクトして次のサ
ブファイルの読み出し要求を発行するという動作を繰り
返す一方、内部キャッシュメモリ上へサブファイルの読
み込みが終了したことを伝えてきた磁気ディスク装置か
らリコネクトを行い、該当キャッシュメモリ上のサブフ
ァイルを主記憶上へ読み出すという動作を行うファイル
アクセス制御ステップから構成される。In order to realize each of the above functions, the high-speed file access control method provided by the present invention has at least one input / output bus having disconnect and reconnect functions, each of which is provided with a bus interface device. In a computer system in which a plurality of external storage devices each having an internal cache memory, which can be identified as different devices, are connected to the input / output bus connected to the main storage device, (1) is connected to the input / output bus Select a desired external storage device from the multiple external storage devices, and refer to the disk management information that stores the configuration information of the external storage device that defines the external storage device group, and specify the specified external storage device group. From the disk configuration information reference step for obtaining the external storage device name that constitutes this from (2) access target Refers to the file descriptor management information in which the file descriptor of the original file and the file descriptors of the subfiles that make up this file are stored in association with each other. A subfile descriptor reference step for obtaining a file descriptor of a file, and (3) file management information storing storage location information of each subfile constituting the original file on each external storage device in the external storage device group. A file position information reference step of referring to the position information on the external storage device in which the subfile is to be stored or already stored from the specified subfile descriptor, and (4) the file position External storage device name and corresponding external storage device that stores each subfile obtained in the information reference step When writing a file based on the above storage location information, the magnetic disk device to be written is connected to the bus interface device, and the corresponding subfile from the main storage device is stored in the internal cache memory of the magnetic disk device. Transfer to
When the transfer is completed, without waiting for the completion of writing from the internal cache memory to the disk medium, the magnetic disk device is disconnected from the bus interface device, the magnetic disk device to be the next storage target is connected, and writing is performed. The operation of transferring the target subfile to the internal cache memory of the magnetic disk device and disconnecting it as soon as the transfer is completed is repeated one after another. When reading the file, the magnetic disk device storing the subfile to be read Connect the bus interface device, issue a read request to the magnetic disk device, and do not wait for the subfile on the disk medium in the magnetic disk device to be transferred to the cache memory in the device. , Disconnect the magnetic disk unit, and immediately While repeating the operation of connecting to the disk device and issuing a read request for the next subfile, reconnect from the magnetic disk device that notified that the reading of the subfile was completed on the internal cache memory, and then the corresponding cache memory It is composed of a file access control step for performing an operation of reading the above subfile onto the main memory.
【0018】なお、上記の複数台の磁気ディスク装置か
ら構成される仮想的なディスク装置をバーチャルアレイ
ディスク、または単にバーチャルアレイと呼ぶことにす
る。The virtual disk device composed of a plurality of magnetic disk devices described above will be referred to as a virtual array disk, or simply a virtual array.
【0019】[0019]
【作用】本発明において、上記の課題を解決するための
手段で述べた各処理ステップがどのように作用するのか
を説明する。In the present invention, the operation of each processing step described in the means for solving the above problems will be described.
【0020】まず、処理ステップ(1)では、ファイル
システムの指定されたディレクトリにバーチャルアレイ
ディスクを割り当て、利用可能な状態とする。この際
に、ディスク管理情報を参照してバーチャルアレイディ
スクを構成する磁気ディスク装置を認識し、構成要素で
ある磁気ディスク装置をバーチャルアレイディスクとし
て利用可能な状態にする。First, in the processing step (1), a virtual array disk is allocated to a designated directory of the file system to make it available. At this time, the magnetic disk device constituting the virtual array disk is recognized by referring to the disk management information, and the magnetic disk device, which is a constituent element, is made available for use as a virtual array disk.
【0021】ディスク管理情報は、バーチャルアレイデ
ィスクがどの磁気ディスク装置から構成されるのかを定
義する。一般に、各磁気ディスク装置は複数のパーティ
ションに分割して使用するので、個々の磁気ディスク装
置とそのパーティションを指定することで利用する領域
を確定できる。ディスク管理情報はバーチャルアレイデ
ィスクが使用する磁気ディスク装置とそのパーティショ
ンを管理する。The disk management information defines which magnetic disk device a virtual array disk is composed of. Generally, since each magnetic disk device is divided into a plurality of partitions for use, the area to be used can be determined by specifying each magnetic disk device and its partition. The disk management information manages the magnetic disk device used by the virtual array disk and its partition.
【0022】次に、処理ステップ(2)では、元ファイ
ルのファイル記述子とこれを分割したサブファイルのフ
ァイル記述子との対応関係を登録したファイル記述子管
理情報を参照して、サブファイルが格納された磁気ディ
スク装置にアクセスするためのサブファイルのファイル
記述子を得る。Next, in the processing step (2), the file descriptor management information in which the correspondence between the file descriptor of the original file and the file descriptor of the subfile obtained by dividing the original file is registered is referred to Get the file descriptor of a subfile for accessing the stored magnetic disk device.
【0023】ファイル記述子管理情報は、元ファイルの
ファイル記述子と、バーチャルアレイディスクに格納し
たサブファイルのファイル記述子とのあいだの対応を管
理する。これにより、サブファイルの格納された複数の
磁気ディスク装置をアクセスすることが可能となる。フ
ァイル読み出し、あるいは書き込みの場合には、アプリ
ケーションプログラムから与えられた元ファイルのファ
イル記述子を、ファイル記述子管理情報を参照してサブ
ファイルのファイル記述子に変換する。また、ファイル
を新規に作成して書き込みを行う場合には、新たに元フ
ァイルとサブファイルのファイル記述子を割り当てて、
ファイル記述子管理情報にこれらの対応関係を登録す
る。これ以降、ファイルの分割された実体であるサブフ
ァイルへのアクセスは、元ファイルのファイル記述子に
よって行うことができるようになる。The file descriptor management information manages the correspondence between the file descriptor of the original file and the file descriptor of the sub file stored in the virtual array disk. This makes it possible to access a plurality of magnetic disk devices in which subfiles are stored. When reading or writing a file, the file descriptor of the original file given by the application program is converted into the file descriptor of the sub file by referring to the file descriptor management information. Also, when creating a new file and writing it, newly allocate the file descriptors of the original file and the sub file,
These correspondences are registered in the file descriptor management information. After that, access to the subfile, which is the divided entity of the file, can be performed by the file descriptor of the original file.
【0024】次に、処理ステップ(3)では、処理ステ
ップ(2)で得たサブファイルのファイル記述子から、
サブファイルのファイル管理情報を得る。これを用いて
サブファイルを格納した磁気ディスク装置へアクセスす
る。Next, in the processing step (3), from the file descriptor of the subfile obtained in the processing step (2),
Get file management information of subfile. This is used to access the magnetic disk device storing the subfile.
【0025】ファイル管理情報には、サブファイルが格
納されている磁気ディスク装置、ストライピングブロッ
ク数、サブファイルを構成するデータブロックが格納さ
れている位置を示す位置情報が登録されている。各サブ
ファイルのファイル管理情報を参照して、どの磁気ディ
スク装置のどこに格納されたデータブロックを順にアク
セスするのかを決定する。これにしたがってサブファイ
ルを順にアクセスすることにより、元ファイルをアクセ
スすることとなる。In the file management information, the magnetic disk device storing the subfile, the striping block number, and the position information indicating the position where the data block forming the subfile is stored are registered. By referring to the file management information of each sub-file, it is determined which magnetic disk device and where the data block stored in order is to be accessed in order. According to this, the original file is accessed by sequentially accessing the sub files.
【0026】最後に、処理ステップ(4)では、バーチ
ャルアレイディスクに格納されたファイルをアクセスす
る。実際の処理では元ファイルを格納する磁気ディスク
へのアクセスとなる。Finally, in processing step (4), the file stored in the virtual array disk is accessed. In the actual processing, the access is to the magnetic disk that stores the original file.
【0027】ファイルアクセスは読み出しと書き込みの
場合とがあるが、いずれにせよ処理ステップ(3)で得
られたサブファイルのファイル管理情報を用いる。ファ
イル管理情報は、サブファイルの磁気ディスク上での格
納位置を管理する。したがって、各サブファイルのファ
イル管理情報からアクセスするデータブロックの格納位
置を得て、次々に各サブファイルを格納する磁気ディス
ク装置にアクセス要求を発行する。この際に、各サブフ
ァイルをアクセスする順番はファイル記述子管理情報か
ら得る。また、サブファイルを格納する各磁気ディスク
装置に対して連続してアクセスするブロック数は、スト
ライピングブロックとしてファイル管理情報に登録され
ている。File access may be read or write, but in any case, the file management information of the subfile obtained in the processing step (3) is used. The file management information manages the storage position of the subfile on the magnetic disk. Therefore, the storage position of the data block to be accessed is obtained from the file management information of each subfile, and access requests are issued to the magnetic disk devices that store each subfile one after another. At this time, the order of accessing each sub-file is obtained from the file descriptor management information. In addition, the number of blocks that are continuously accessed for each magnetic disk device that stores a subfile is registered in the file management information as a striping block.
【0028】ファイル読み出しの場合には、読み出し対
象のサブファイルが格納されている磁気ディスク装置と
I/Oバスインタフェース装置とをコネクトし、読み出
し要求を発行する。要求が発行されると、磁気ディスク
装置はヘッドの位置決めを行い、内部キャッシュメモリ
へディスク媒体からデータを転送する。このために待ち
時間が生じる。したがって、磁気ディスク装置とI/O
バスインタフェース装置とを一旦ディスコネクトする。
この間に他の磁気ディスク装置とI/Oバスインタフェ
ース装置とをコネクトし、読み出し要求を発行すること
ができる。この場合にも、やはりヘッドの位置決めと内
部キャッシュメモリへのデータ転送を行うための待ち時
間が生じるので、さらにまた別の磁気ディスク装置に読
み出し要求を発行することができる。ヘッドの位置決め
が完了して読み出しが可能となった磁気ディスク装置か
らデータブロックを読み出し、その直後に次に読み出す
データブロックの読み出し要求を発行し、磁気ディスク
装置とI/Oバスインタフェース装置とをディスコネク
トするよう制御する。この様にして次々に読み出し要求
を各磁気ディスク装置に発行して、サブファイルを主記
憶上に読み込むことにより、元ファイルの読み込み処理
を行う。In the case of file reading, the magnetic disk device in which the subfile to be read is stored and the I / O bus interface device are connected and a read request is issued. When the request is issued, the magnetic disk device positions the head and transfers the data from the disk medium to the internal cache memory. This causes latency. Therefore, the magnetic disk device and the I / O
Disconnect the bus interface device once.
During this time, another magnetic disk device and the I / O bus interface device can be connected and a read request can be issued. In this case as well, a waiting time for positioning the head and transferring data to the internal cache memory still occurs, so that a read request can be issued to another magnetic disk device. A data block is read from the magnetic disk device that is ready for reading after head positioning is completed, and immediately after that, a read request for the next data block to be read is issued, and the magnetic disk device and the I / O bus interface device are disconnected. Control to connect. In this way, read requests are issued to each magnetic disk device one after another, and the subfile is read into the main memory, thereby performing the read process of the original file.
【0029】ファイル書き込みの場合には、格納対象と
なる磁気ディスク装置とI/Oバスインタフェース装置
とをコネクトし、書き込み要求を発行する。要求発行後
にデータブロックを磁気ディスク装置へ転送する。転送
されたデータブロックは磁気ディスク装置の内部キャッ
シュメモリに書き込まれ、ヘッドの位置決めが完了する
とディスク媒体へ書き込まれる。この際に、内部キャッ
シュメモリへのデータブロック書き込みの終了をもっ
て、磁気ディスク装置とI/Oバスインタフェース装置
とをディスコネクトし、磁気ディスク装置への書き込み
を終了とする。したがって、内部キャッシュメモリから
ディスク媒体への書き込み終了を待たずに、次の磁気デ
ィスク装置とI/Oバスインタフェース装置とをコネク
トして、書き込み要求発行とデータブロックの転送を行
うことができる。この様にして次々に書き込み要求を各
磁気ディスク装置へ発行して、元ファイルをサブファイ
ルに分割しつつ主記憶上から書き込むことにより、元フ
ァイルの書き込み処理を行う。In the case of file writing, the magnetic disk device to be stored and the I / O bus interface device are connected and a write request is issued. After issuing the request, the data block is transferred to the magnetic disk device. The transferred data block is written in the internal cache memory of the magnetic disk device, and when the positioning of the head is completed, it is written in the disk medium. At this time, when the writing of the data block to the internal cache memory is completed, the magnetic disk device and the I / O bus interface device are disconnected, and the writing to the magnetic disk device is completed. Therefore, it is possible to issue the write request and transfer the data block by connecting the next magnetic disk device and the I / O bus interface device without waiting for the completion of writing from the internal cache memory to the disk medium. In this way, write requests are issued to each magnetic disk device one after another, and the original file is divided into subfiles and written from the main memory, thereby performing the original file write processing.
【0030】以上の各処理ステップによるファイルアク
セスにおいて、ファイル読み出しの場合には、磁気ディ
スク装置のディスク媒体から内部キャッシュメモリへの
データ転送の間に、次の磁気ディスク装置に読み出し要
求を発行できるために、複数の磁気ディスク装置に渡っ
て読み出し処理の多重制御を行うことが可能となる。こ
れにより、各磁気ディスク装置でのシークと回転待ち、
および内部キャッシュメモリへのデータ転送が並列に実
行される。このため各磁気ディスク装置にサブファイル
の読み出し要求を発行し終わると、リコネクト要求をう
けて各磁気ディスク装置からデータブロックを読み出す
際には、内部キャッシュメモリには主記憶へ読み出し可
能なサブファイルのデータブロックが常に存在すること
となる。これらを順に読み出しながら次の読み出し要求
を発行し、その後に次の読み出し可能な磁気ディスク装
置の処理に移って行くように制御することで、I/Oバ
スの利用効率の高い、高速なファイル読み出しが実現可
能となる。In the file access in each of the above processing steps, in the case of file reading, a read request can be issued to the next magnetic disk device during data transfer from the disk medium of the magnetic disk device to the internal cache memory. In addition, it is possible to perform multiplex control of read processing across a plurality of magnetic disk devices. By this, seek and rotation waiting in each magnetic disk device,
And data transfer to the internal cache memory is performed in parallel. Therefore, when a subfile read request is issued to each magnetic disk device, when a data block is read from each magnetic disk device in response to a reconnect request, the internal cache memory stores a subfile that can be read into the main memory. The data block will always be present. While reading these in order, issue the next read request, and then control to move to the processing of the next readable magnetic disk device, thereby achieving high-speed file reading with high I / O bus utilization efficiency. Can be realized.
【0031】ファイル書き込みの場合には、磁気ディス
ク装置の内部キャッシュメモリからディスク媒体へのデ
ータ転送の間に、その終了を待たずに次の磁気ディスク
装置に対して書き込み要求を発行できるために、複数の
磁気ディスク装置に渡って書き込み処理の多重制御を行
うことが可能となる。これにより、各磁気ディスク装置
でのシークと回転待ち、および内部キャッシュメモリか
らディスク媒体へのデータ転送が並列に実行される。こ
のため、各磁気ディスク装置にサブファイルの書き込み
要求を順に発行することにより、高速なファイル書き込
みが実現可能となる。In the case of file writing, a write request can be issued to the next magnetic disk device without waiting for its completion during data transfer from the internal cache memory of the magnetic disk device to the disk medium. It is possible to perform multiplex control of write processing across a plurality of magnetic disk devices. As a result, seek and rotation waiting in each magnetic disk device, and data transfer from the internal cache memory to the disk medium are executed in parallel. Therefore, high-speed file writing can be realized by sequentially issuing sub-file writing requests to each magnetic disk device.
【0032】しかも以上のファイルアクセスにおいて、
アプリケーションプログラムでは元ファイルのファイル
記述子のみを意識すれば良く、サブファイルに分割して
格納されていることを意識する必要がない。したがっ
て、単体の磁気ディスク装置に格納されたファイルと同
様のアプリケーションインタフェースでアクセスするこ
とが可能である。Moreover, in the above file access,
The application program need only be aware of the file descriptor of the original file, and need not be aware of the fact that it is divided into subfiles and stored. Therefore, it is possible to access with the same application interface as a file stored in a single magnetic disk device.
【0033】上述のように、本発明では以上の各処理ス
テップにより複数の磁気ディスク装置を順にアクセスし
て並列動作させることにより、高速なファイルアクセス
を実現する。As described above, according to the present invention, a high speed file access is realized by sequentially accessing a plurality of magnetic disk devices and operating them in parallel by the above processing steps.
【0034】[0034]
【実施例】図1に本発明の第1の実施例を示す。本実施
例の構成は,共通なデータバス101に接続されたCP
U100、メモリ110、CRTディスプレイ120、
キーボード130、ネットワークインタフェース14
0、及びI/Oバスインタフェース150からなる計算
機システムである。FIG. 1 shows the first embodiment of the present invention. The configuration of this embodiment has a CP connected to a common data bus 101.
U100, memory 110, CRT display 120,
Keyboard 130, network interface 14
0 and an I / O bus interface 150.
【0035】I/Oバスインタフェース150には、I
/Oバス160が接続され、このI/Oバス160に7
台の磁気ディスク装置170−0〜170−6が接続さ
れている。磁気ディスク装置の台数は7台以外の構成も
取りうる。各磁気ディスク装置170−0〜170−6
とI/Oバス160との間、及びI/Oバスインタフェ
ース150内にはディスコネクト・リコネクト装置18
0−0〜180−7があり、磁気ディスク装置170−
0〜170−6がI/Oバス160を介してI/Oバス
インタフェース150とデータの送受信を行わないとき
には、両者の電気的な接続を解放(ディスコネクト)す
ることができる。再び電気的な接続が必要になったとき
には、再接続(リコネクト)することができる。これら
の制御はCPUと磁気ディスク装置とが協調して行う。
なお、上述したディスコネクト・リコネクト装置は、磁
気ディスク装置170−0〜170−6の内部にディス
クコントローラ(図には示していない)とともに内蔵す
る構成も可能である。The I / O bus interface 150 has an I
I / O bus 160 is connected to this I / O bus 160.
Magnetic disk devices 170-0 to 170-6 are connected. The number of magnetic disk devices may be other than seven. Each magnetic disk device 170-0 to 170-6
Between the I / O bus 160 and the I / O bus 160 and in the I / O bus interface 150.
0-0 to 180-7, and the magnetic disk device 170-
When 0 to 170-6 do not transmit / receive data to / from the I / O bus interface 150 via the I / O bus 160, the electrical connection between them can be released (disconnected). When electrical connection is needed again, it can be reconnected. These controls are performed in cooperation with the CPU and the magnetic disk device.
The disconnect / reconnect device described above may be built in the magnetic disk devices 170-0 to 170-6 together with a disk controller (not shown).
【0036】ネットワークインタフェース140はネッ
トワーク191に接続され、本ネットワーク191に接
続された遠隔地のワークステーション190等からのリ
モートアクセスを可能とする。The network interface 140 is connected to the network 191, and enables remote access from the workstation 190 or the like at a remote place connected to the network 191.
【0037】次に本実施例の動作について、まずファイ
ルをディスクに書き込む場合を例に説明する。Next, the operation of this embodiment will be described by taking the case of writing a file on a disc as an example.
【0038】本実施例の計算機システムでは、ファイル
10は固定長のデータブロックの集合としてOS(オペ
レーティングシステム)で管理されている。すなわち、
図1に示すように、A10−0、B10−1、C10−
2、D10−3、E10−4、F10−5、G10−
6、H10−7、I10−8、J10−9、...とい
う一連の複数のブロックから構成される。In the computer system of this embodiment, the file 10 is managed by the OS (operating system) as a set of fixed-length data blocks. That is,
As shown in FIG. 1, A10-0, B10-1, C10-
2, D10-3, E10-4, F10-5, G10-
6, H10-7, I10-8, J10-9 ,. . . It consists of a series of multiple blocks.
【0039】従来技術によるファイル書き込みの場合に
は、1個の磁気ディスク装置を選択し、その特定の磁気
ディスク装置に対して書き込み処理を行う。すなわち、
データブロックA10−0、B10−1、C10−
2、...を同一磁気ディスク装置、例えば170−0
に対して書き込むことになる。その際、データブロック
はまず磁気ディスク装置170−0の内部キャッシュメ
モリ(図示せず)に書き込まれ、シークと回転待ちの後
にディスク媒体(図示せず)上に書き込まれる。CPU
100は内部キャッシュメモリ(以後、簡単のために内
部キャッシュとも表記する)にデータを書き込むと、デ
ィスク媒体への書き込みが終了するまで次の書き込み処
理には進まずに待ち状態(wait状態)に入る。した
がって、この場合ブロックA10−0のディスク媒体へ
の書き込みが完全に終了して、初めて次のブロックB1
0−1の書き込みを実行することが可能となる。これ
は、ブロックB10−1を磁気ディスク装置170−0
へ書き込もうとしても、内部キャッシュ上のデータのデ
ィスク媒体への書き込みが終了していないため、書き込
みが行えないからである。In the case of file writing according to the prior art, one magnetic disk device is selected and the writing process is performed for that particular magnetic disk device. That is,
Data blocks A10-0, B10-1, C10-
2 ,. . . The same magnetic disk device, for example 170-0
Will be written to. At this time, the data block is first written in the internal cache memory (not shown) of the magnetic disk device 170-0, and after being sought and waiting for rotation, written on the disk medium (not shown). CPU
When 100 writes data to an internal cache memory (hereinafter, also referred to as an internal cache for simplicity), it enters a wait state (wait state) without proceeding to the next write processing until the writing to the disk medium is completed. . Therefore, in this case, the writing of the block A10-0 to the disk medium is completely completed, and then the next block B1
It becomes possible to execute writing of 0-1. This means that the block B10-1 is replaced by the magnetic disk device 170-0
This is because even if an attempt is made to write the data to the disk medium, the data cannot be written because the data on the internal cache has not been written to the disk medium.
【0040】一方これに対して、本実施例では複数の磁
気ディスク装置にファイルを分割して格納する。例え
ば、固定長のデータブロックから構成され、メモリ11
0に格納されているファイル10を、1データブロック
をI/Oの単位として、図1のid=0から3までの4
台の磁気ディスク装置170−0〜170−3へ分割し
て格納する。この際、まずデータブロックA10−0を
id=0の磁気ディスク装置170−0へ書き込む。デ
ータブロックA10−0は磁気ディスク装置170−0
の内部キャッシュにまず書き込まれ、次にシークと回転
待ちの後にディスク媒体上の所定位置に書き込まれる。
これにより書き込み処理が終了することになる。本実施
例では、内部キャッシュからディスク媒体への書き込み
終了を待つことなく、磁気ディスク装置170−0の内
部キャッシュへの書き込みが終了した時点で、次のデー
タブロックであるブロックB10−1をid=1の磁気
ディスク装置170−1へ書き込むという処理を行う。
ここでも同様に、データブロックB10−1の内部キャ
ッシュからディスク媒体への書き込み終了を待つことな
く、次のデータブロックC10−2をid=2の磁気デ
ィスク装置170−2へ書き込む処理を行う。以下同様
にして、データブロックC10−2の内部キャッシュか
らディスク媒体への書き込み終了を待つことなく、デー
タブロックD10−3をid=3の磁気ディスク装置1
70−3へ書き込む。データブロックD10−3の磁気
ディスク装置170−3の内部キャッシュへの書き込み
が終了した後、id=0の磁気ディスク装置170−0
へ戻り、内部キャッシュからディスク媒体へのデータブ
ロックA10−0の書き込みが終了していることを確認
した上で、ブロックD10−3の書き込み終了を待つこ
となくブロックE10−4を磁気ディスク装置170−
0の内部キャッシュに書き込む。id=0の磁気ディス
ク装置への書き込みが終了するのに十分な時間が取れな
い場合には、全体の磁気ディスク装置の台数を増やせば
良い。これにより、さらにファイル書き込みの性能を向
上させることができる。以下、データブロックF10−
5、G10−6、H10−7、I10−8、J10−
9、...についても同様の方法で、異なる磁気ディス
ク装置170−1、170−2、170−3、170−
0、...と、順にデータブロックを書き込んでゆく。
すべて書き込み終わると、元ファイルの内容を4分割し
た4個のサブファイルが別々の磁気ディスク装置170
−0〜170−3に格納されたことになる。On the other hand, in this embodiment, the file is divided and stored in a plurality of magnetic disk devices. For example, the memory 11 is composed of fixed-length data blocks.
In the file 10 stored in 0, 1 data block is used as an I / O unit, and 4 from id = 0 to 3 in FIG.
It is divided into the magnetic disk devices 170-0 to 170-3 and stored. At this time, first, the data block A10-0 is written to the magnetic disk device 170-0 with id = 0. The data block A10-0 is the magnetic disk unit 170-0.
First, the data is written to the internal cache of the disk, then the seek and the rotation are waited, and then the data is written to a predetermined position on the disk medium.
This completes the writing process. In this embodiment, when the writing to the internal cache of the magnetic disk device 170-0 is completed without waiting for the completion of writing to the disk medium from the internal cache, the block B10-1 which is the next data block is id = The process of writing to the first magnetic disk device 170-1 is performed.
In this case as well, the process of writing the next data block C10-2 to the magnetic disk device 170-2 with id = 2 is performed without waiting for the end of writing of the data block B10-1 from the internal cache to the disk medium. Similarly, the data block D10-3 is stored in the magnetic disk device 1 of id = 3 without waiting for the completion of writing of the data block C10-2 from the internal cache to the disk medium.
Write to 70-3. After the writing of the data block D10-3 to the internal cache of the magnetic disk device 170-3 is completed, the magnetic disk device 170-0 with id = 0
After confirming that the writing of the data block A10-0 from the internal cache to the disk medium is completed, the block E10-4 is transferred to the magnetic disk device 170-without waiting for the completion of the writing of the block D10-3.
Write to 0 internal cache. If sufficient time cannot be taken to complete writing to the magnetic disk device with id = 0, the number of magnetic disk devices as a whole may be increased. As a result, the file writing performance can be further improved. Hereinafter, the data block F10-
5, G10-6, H10-7, I10-8, J10-
9 ,. . . In the same manner, different magnetic disk devices 170-1, 170-2, 170-3, 170-
0 ,. . . Then, the data blocks are written in order.
When all writing is completed, the contents of the original file are divided into four, and the four subfiles are divided into different magnetic disk devices 170.
It is stored in -0 to 170-3.
【0041】この様に、磁気ディスク装置の内部キャッ
シュからディスク媒体へのデータブロックの書き込みの
終了を待たずに、次の磁気ディスク装置へのデータブロ
ックの書き込み要求を発行する機能を非同期書き込みと
呼ぶ。The function of issuing a data block write request to the next magnetic disk device without waiting for the end of writing the data block from the internal cache of the magnetic disk device to the disk medium is called asynchronous write. .
【0042】非同期書き込みによりサブファイルを磁気
ディスク装置に書き込んでいる時、各磁気ディスク装置
170−0〜170−6とI/Oバスインタフェース1
50がI/Oバス160を介して電気的に接続されるの
は、データブロックが磁気ディスク装置の内部キャッシ
ュへ転送される間のみである。すなわち、ホストCPU
100から書き込み要求が発行されると、磁気ディスク
装置がI/Oバスインタフェース150と電気的に接続
され、データブロックの転送が可能となる。磁気ディス
ク装置の内部キャッシュへのデータブロックの書き込み
が終了すると、磁気ディスク装置とI/Oバスインタフ
ェース150との電気的接続が開放される。その後磁気
ディスク装置内部で、内部キャッシュからディスク媒体
へのデータ書き込みが独立して行われる。したがって、
ホストCPU100はこの間に異なる次の磁気ディスク
装置へアクセスすることができるため、磁気ディスク装
置の内部キャッシュへのデータブロックの書き込みを終
了したら、直ちに次の磁気ディスク装置に対する書き込
み要求を発行し、この磁気ディスク装置とI/Oバスイ
ンタフェース150との電気的接続を確立した後にデー
タブロックの転送を行うことができる。When a subfile is being written to a magnetic disk device by asynchronous writing, each magnetic disk device 170-0 to 170-6 and I / O bus interface 1
The 50 is electrically connected via the I / O bus 160 only while the data block is transferred to the internal cache of the magnetic disk device. That is, the host CPU
When a write request is issued from 100, the magnetic disk device is electrically connected to the I / O bus interface 150, and data blocks can be transferred. When the writing of the data block to the internal cache of the magnetic disk device is completed, the electrical connection between the magnetic disk device and the I / O bus interface 150 is released. After that, data writing from the internal cache to the disk medium is independently performed inside the magnetic disk device. Therefore,
Since the host CPU 100 can access the next different magnetic disk device during this period, as soon as it finishes writing the data block to the internal cache of the magnetic disk device, it immediately issues a write request to the next magnetic disk device, Data blocks can be transferred after establishing an electrical connection between the disk device and the I / O bus interface 150.
【0043】ファイル読み出しの場合についても、本実
施例は図1のファイル書き込みの場合と同様に動作す
る。すなわち、id=0の磁気ディスク装置170−0
から順にデータブロックを読み出していく。ホストCP
U100は読み出し命令を磁気ディスク装置170−0
から170−1、170−2、...へと順に発行して
行く。命令を受け取った磁気ディスク装置はシークと回
転待ちを行なうことなく、直ちにディスク媒体からデー
タブロックを読み込める場合を除き、一旦I/Oバスイ
ンタフェース150との電気的接続を開放する。その
後、シークと回転待ちを行なってから、ディスク媒体の
所定位置からデータを読み込むシーケンスを開始する。
したがって、ホストCPU100は磁気ディスク装置1
70−0へ読み出し命令を発行した後、直ちに次の読み
出し対象となる磁気ディスク装置170−1に対して読
み出し命令を発行することが可能となる。Also in the case of file reading, this embodiment operates in the same manner as in the case of file writing in FIG. That is, the magnetic disk device 170-0 with id = 0
The data blocks are sequentially read from. Host CP
U100 sends a read command to the magnetic disk device 170-0.
To 170-1, 170-2 ,. . . Issue in order. The magnetic disk device that has received the command temporarily releases the electrical connection with the I / O bus interface 150, except when the data block can be immediately read from the disk medium without waiting for seek and rotation. Then, after seeking and waiting for rotation, a sequence for reading data from a predetermined position on the disk medium is started.
Therefore, the host CPU 100 is the magnetic disk device 1
Immediately after issuing the read command to 70-0, it becomes possible to issue the read command to the next magnetic disk device 170-1 to be read.
【0044】この様に、磁気ディスク装置からのデータ
ブロックの読み出し終了を待たずに、次の磁気ディスク
装置に対してデータブロックの読み出し要求を発行する
機能を非同期読み出しと呼ぶ。The function of issuing a data block read request to the next magnetic disk device without waiting for the completion of reading the data block from the magnetic disk device is called asynchronous read.
【0045】以下、同様にしてホストCPU100は次
々に170−2、170−3の磁気ディスク装置へ読み
出し命令を発行する。一方、各磁気ディスク装置170
−0〜170−3の内部では、ディスク媒体から内部キ
ャッシュへデータが読み出されるとホストCPU100
に対してリコネクト要求を発行し、I/Oバスインタフ
ェース150との電気的接続を確立した後にホストCP
U100へのデータ転送を行う。これら、ディスク媒体
から内部キャッシュへのデータ読み出しは、それぞれの
磁気ディスク装置とも相互に独立に、かつ並列に動作す
ることが可能である。すなわち、ファイルの読み出しの
場合についても、本実施例では分割したファイルを異な
る複数の磁気ディスク装置から読み出すため、磁気ディ
スク装置の内部キャッシュの効果的な働きにより各磁気
ディスク装置の並列動作が可能となる。これにより高速
なファイル読み出しが可能となる。Thereafter, similarly, the host CPU 100 issues read commands to the magnetic disk devices 170-2 and 170-3 one after another. On the other hand, each magnetic disk device 170
In the inside of −0 to 170-3, when data is read from the disk medium to the internal cache, the host CPU 100
A reconnect request to the host CP after establishing an electrical connection with the I / O bus interface 150.
Data transfer to U100 is performed. The reading of data from the disk medium to the internal cache can be performed independently and in parallel with the respective magnetic disk devices. That is, even in the case of reading a file, in the present embodiment, since the divided files are read from a plurality of different magnetic disk devices, the internal cache of the magnetic disk device can effectively operate to enable the parallel operation of the magnetic disk devices. Become. This enables high-speed file reading.
【0046】以上の説明にあるI/Oバス160を介し
てのディスコネクト・リコネクト機能は、例えばSCS
Iインタフェース(Small Computer System Interface、
ANSI×3.131-1986規格)にサポートされており、本実施
例のI/OバスもSCSIインタフェースの装置を用い
ることにより実現が可能である。The disconnect / reconnect function via the I / O bus 160 described above is performed by, for example, the SCS.
I interface (Small Computer System Interface,
ANSI × 3.131-1986 standard), and the I / O bus of this embodiment can also be realized by using a SCSI interface device.
【0047】図2にファイル読み出し(readと記す場合
もある)の場合のタイムチャートを示す。(1)に従来技
術である1台の磁気ディスク装置を用いる場合を、(2)
に本発明のバーチャルアレイディスクを4台の磁気ディ
スク装置で構成して用いる本実施例の場合をそれぞれ示
す。図中のI/Oバスの軸はI/Oバス160のタイム
チャートであり、idの軸は磁気ディスク装置のタイム
チャートである。I/Oバス軸上では、ホストCPU1
00と磁気ディスク装置170−0〜170−3との間
で行われる読み出しリクエスト、データ転送のタイミン
グを示す。各id軸上では、ディスク媒体から内部キャ
ッシュへのデータ転送のタイミング、および内部キャッ
シュからI/Oバス160へのデータ転送のタイミング
を示す。FIG. 2 shows a time chart in the case of file reading (sometimes referred to as read). In the case of using one magnetic disk device, which is a conventional technique, in (1), (2)
The respective cases of the present embodiment in which the virtual array disk of the present invention is configured and used with four magnetic disk devices are shown in FIG. The axis of the I / O bus in the figure is a time chart of the I / O bus 160, and the axis of id is a time chart of the magnetic disk device. On the I / O bus axis, the host CPU1
00 and the magnetic disk devices 170-0 to 170-3 show read request and data transfer timings. On each id axis, the timing of data transfer from the disk medium to the internal cache and the timing of data transfer from the internal cache to the I / O bus 160 are shown.
【0048】まず、(1)の1台の磁気ディスク装置の場
合について動作を説明する。ホストCPU100から磁
気ディスク装置へ読み出し命令が発行され起動が掛かる
と、磁気ディスク装置内部のコントローラでコマンド解
析が行われ、磁気ディスク装置のソフトウェアオーバヘ
ッドT1が生じる。その後、ディスク媒体からデータブ
ロックを読み出すためのヘッドの位置決めが行われ、
(シーク時間+回転待ち時間)T2が生じる。この間、磁
気ディスク装置はディスコネクトされた状態となる。ヘ
ッドの位置決め終了後、磁気ディスク装置はリコネクト
され、ディスク媒体からデータブロックを内部キャッシ
ュへ読み出しながら、同時に内部キャッシュからI/O
バス160へ出力する。このためデータ転送時間T3が
生じる。First, the operation in the case of one magnetic disk device of (1) will be described. When a read command is issued from the host CPU 100 to the magnetic disk device and the magnetic disk device is activated, command analysis is performed by the controller inside the magnetic disk device, and software overhead T1 of the magnetic disk device occurs. Then, the head is positioned to read the data block from the disk medium,
(Seek time + rotation waiting time) T2 occurs. During this period, the magnetic disk device is in a disconnected state. After the head positioning is completed, the magnetic disk device is reconnected, and while reading the data block from the disk medium to the internal cache, at the same time, I / O from the internal cache is performed.
Output to the bus 160. Therefore, the data transfer time T3 occurs.
【0049】一方、(2)の4台の磁気ディスク装置で構
成されるバーチャルアレイディスクの場合には、ホスト
CPU100からid=0〜3の4台の磁気ディスク装
置へそれぞれ順に読み出し命令が発行され起動が掛か
る。On the other hand, in the case of (2) the virtual array disk composed of four magnetic disk devices, the host CPU 100 issues read commands to the four magnetic disk devices of id = 0 to 3 in sequence. Starts up.
【0050】まずid=0の磁気ディスク装置170−
0に読み出し命令が発行されると、コマンド解析後磁気
ディスク装置170−0はシークと回転待ちに入り、同
時にディスコネクトされる。これによりホストCPU1
00は次のid=1の磁気ディスク装置170−1に読
み出し命令を発行することができるようになる。id=
1の磁気ディスク装置170−1もid=0の磁気ディ
スク装置と同様に、コマンド解析後シークと回転待ちに
入り同時にディスコネクトされる。このとき、id=0
の磁気ディスク装置170−0とid=1の磁気ディス
ク装置170−1はそれぞれ独立に並列動作しているこ
とになる。さらにホストCPU100は次のid=2の
磁気ディスク装置170−2、id=3の磁気ディスク
装置170−3にも同様の手順で読み出し命令を次々に
発行する。これらの磁気ディスク装置も同様に、コマン
ド解析後シークと回転待ちに入り同時にディスコネクト
される。この時点で4台の磁気ディスク装置がそれぞれ
全く独立に並列動作することになる。First, the magnetic disk device 170 with id = 0-
When a read command is issued to 0, the magnetic disk device 170-0 waits for seek and rotation after command analysis, and is simultaneously disconnected. This allows the host CPU1
00 can issue a read command to the next magnetic disk device 170-1 with id = 1. id =
Similarly to the magnetic disk device with id = 0, the magnetic disk device 170-1 with No. 1 enters into seek and rotation waiting after command analysis, and is simultaneously disconnected. At this time, id = 0
The magnetic disk device 170-0 of No. 1 and the magnetic disk device 170-1 of id = 1 are operated independently in parallel. Further, the host CPU 100 issues read commands one after another to the magnetic disk device 170-2 with id = 2 and the magnetic disk device 170-3 with id = 3 in the same procedure. Similarly, these magnetic disk devices enter the seek and rotation wait after command analysis and are disconnected at the same time. At this point, the four magnetic disk devices operate in parallel independently of each other.
【0051】id=3の磁気ディスク装置170−3が
ディスコネクトされた後、id=0の磁気ディスク装置
170−0がヘッドの位置決めを完了してデータの読み
出しが可能となっていれば、あるいはデータがディスク
媒体から読み出されて内部キャッシュに格納されていれ
ば、ホストCPU100に対してリコネクト要求を発行
する。ホストCPU100はリコネクト要求を受け付け
ると、id=0の磁気ディスク装置170−0からデー
タの読み込みを行う。この際、あらかじめデータが内部
キャッシュに格納されていれば、ディスク媒体からの読
み出し時間T3より短い時間T4(T3>T4)で高速に
データを読み出すことができる。読み込みが終了する
と、id=0の磁気ディスク装置170−0に対して次
の読み出し命令を発行する。id=0の磁気ディスク装
置170−0は先程と同様に、コマンド解析後シークと
回転待ちに入り同時にディスコネクトされる。この時、
id=1の磁気ディスク装置170−1が読み出し可能
となっていれば、id=0の磁気ディスク装置170−
0の場合と同様にホストCPU100は磁気ディスク装
置170−1からのリコネクト要求を受け付けて、デー
タを読み込む。読み込みが終了すると、id=1の磁気
ディスク装置170−1に対して次の読み出し命令を発
行する。そして、本磁気ディスク装置170−1もコマ
ンド解析後シークと回転待ちに入り同時にディスコネク
トされる。さらにホストCPU100は次のid=2の
磁気ディスク装置170−2、及びid=3の磁気ディ
スク装置170−3に対しても同様の手順でリコネクト
要求を受け付け、データ読み込み、及び次の読み出し命
令の発行を行う。以後、このシーケンスが図2に示され
るように繰り返される。なお、本図では(シーク時間+
回転待ち時間)T2を定数と仮定しているが、実際は各
読み出し命令発行の都度異なることが多いそのような場
合には、最も早くリコネクト要求を出してきた磁気ディ
スク装置から順にデータを読み込むということも可能で
ある。その際に、データを読み出す磁気ディスク装置を
選択する順序が前後することになるが、それ以外の上記
の手順は変わらない。図2では、id=0の磁気ディス
ク装置170−0のみがディスク媒体から直接データ転
送を行い、他のidの磁気ディスク装置170−1〜1
70−3は内部キャッシュからデータ転送を行うかたち
になっている。このためデータ転送時間に差が生じてい
る。これはすなわち、ホストCPU100がデータを読
み込むまでに内部キャッシュへデータが読み込まれてい
る場合にはデータ転送時間は短くなり、読み込まれてい
ない場合にはディスク媒体からの読み出しとなりデータ
転送時間は短くはならないためである。After the magnetic disk device 170-3 with id = 3 is disconnected, the magnetic disk device 170-0 with id = 0 completes positioning of the head and data can be read, or If the data is read from the disk medium and stored in the internal cache, a reconnect request is issued to the host CPU 100. Upon receiving the reconnect request, the host CPU 100 reads data from the magnetic disk device 170-0 with id = 0. At this time, if the data is stored in the internal cache in advance, the data can be read at high speed in a time T4 (T3> T4) shorter than the read time T3 from the disk medium. When the reading is completed, the next read command is issued to the magnetic disk device 170-0 with id = 0. The magnetic disk device 170-0 with id = 0 enters the seek and rotation waiting states after the command analysis and is disconnected at the same time as in the previous case. This time,
If the magnetic disk device 170-1 with id = 1 is readable, the magnetic disk device 170-1 with id = 0
As in the case of 0, the host CPU 100 accepts the reconnect request from the magnetic disk device 170-1 and reads the data. When the reading is completed, the next read command is issued to the magnetic disk device 170-1 with id = 1. Then, the present magnetic disk device 170-1 also enters the seek and rotation waiting after command analysis, and is simultaneously disconnected. Further, the host CPU 100 accepts the reconnect request to the magnetic disk device 170-2 having the next id = 2 and the magnetic disk device 170-3 having the id = 3 in the same procedure to read the data and to issue the next read command. Issue. Thereafter, this sequence is repeated as shown in FIG. In this figure, (seek time +
The rotation waiting time) T2 is assumed to be a constant, but in reality, each read command is often issued differently. In such a case, the data is read in order from the magnetic disk device that has issued the reconnection request earliest. Is also possible. At that time, the order of selecting the magnetic disk device from which data is read will be changed, but the above-mentioned procedure other than that is not changed. In FIG. 2, only the magnetic disk device 170-0 of id = 0 directly transfers data from the disk medium, and the magnetic disk devices 170-1 to 170-1 of other ids are used.
Reference numeral 70-3 is a form in which data is transferred from the internal cache. Therefore, there is a difference in data transfer time. This means that the data transfer time is shortened when the data is read into the internal cache before the host CPU 100 reads the data, and is read from the disk medium when the data is not read and the data transfer time is short. This is because it does not happen.
【0052】図2からも明らかなように、本発明では常
に4台の磁気ディスク装置が並列に動作しており、単位
時間あたりのホストCPU100のデータ読み込み量が
実効的に磁気ディスク装置の台数分倍増するという効果
が得られる。すなわち、本発明によればファイルの読み
出し速度がほぼ磁気ディスク装置の台数分高速化される
ことになる。As is clear from FIG. 2, in the present invention, four magnetic disk devices are always operating in parallel, and the amount of data read by the host CPU 100 per unit time is effectively equal to the number of magnetic disk devices. The effect of doubling is obtained. That is, according to the present invention, the file reading speed is increased by about the number of magnetic disk devices.
【0053】図2で示したファイル読み出し(read)の、
より一般化した制御フロー(1)〜(8)を図3に示す。使
用する磁気ディスク装置n台はあらかじめ指定されてお
り、これらにファイルが分割して格納されているものと
する。これらのファイル読み出しに必要な情報は、例え
ばアプリケーションプログラムから与えるものとする。
また、ファイルアクセスのシーケンス、および非同期読
み出しの制御はホストCPU100が行う。In the file read shown in FIG.
A more generalized control flow (1) to (8) is shown in FIG. It is assumed that the n magnetic disk devices to be used are designated in advance and files are divided and stored in them. Information necessary for reading these files is given from, for example, an application program.
The host CPU 100 controls the file access sequence and asynchronous read.
【0054】以下、制御フローの各ステップについて説
明する。Hereinafter, each step of the control flow will be described.
【0055】(1)id=0〜(n−1)の磁気ディスク
装置に対して読み出し要求(readリクエスト)を順次発行
する。(1) A read request is sequentially issued to the magnetic disk devices with id = 0 to (n-1).
【0056】(2)いずれかの磁気ディスク装置が読み出
し可能状態となるまで待つ。(2) Wait until one of the magnetic disk devices becomes ready for reading.
【0057】(3)読み出し可能な磁気ディスク装置があ
れば次のステップ(4)へ進み、なければステップ(2)へ
戻る。(3) If there is a readable magnetic disk device, proceed to the next step (4), otherwise return to step (2).
【0058】(4)読み出し可能な磁気ディスク装置のi
d番号をチェックし、記憶する。(4) i of readable magnetic disk device
Check and remember the d number.
【0059】(5)ステップ(4)でチェックしたid=k
の磁気ディスク装置から、データを読み出す。(5) id = k checked in step (4)
Data is read from the magnetic disk device.
【0060】(6)読み出し終了であればフローを終了
し、読み出し終了でなければ次のステップ(7)へ進む。(6) If the reading is completed, the flow is ended, and if the reading is not completed, the process proceeds to the next step (7).
【0061】(7)id=kの磁気ディスク装置からさら
にデータを読み出すのであれば次のステップ(8)へ進
み、もうデータを読み出さないのであればステップ(2)
へ戻る。(7) If more data is to be read from the magnetic disk device with id = k, proceed to the next step (8). If no more data is to be read, step (2)
Return to.
【0062】(8)id=kの磁気ディスク装置に対して
読み出し要求(readリクエスト)を発行し、ステップ(2)
へ戻る。(8) A read request is issued to the magnetic disk device with id = k, and step (2)
Return to.
【0063】以上の制御フローにより、バーチャルアレ
イディスクからの高速なファイル読み出しを行うことが
できる。By the control flow described above, high-speed file reading from the virtual array disk can be performed.
【0064】図4にファイル書き込み(writeと記す場合
もある)の場合のタイムチャートを示す。(1)に従来技
術である1台の磁気ディスク装置を用いる場合を、(2)
に本発明のバーチャルアレイディスクを4台の磁気ディ
スク装置で構成して用いる場合をそれぞれ示す。図中の
I/Oバスの軸、idの軸の意味はそれぞれ図2と同様
である。FIG. 4 shows a time chart in the case of file writing (sometimes referred to as write). In the case of using one magnetic disk device, which is a conventional technique, in (1), (2)
Each of the cases where the virtual array disk of the present invention is configured and used by four magnetic disk devices is shown in FIG. The meanings of the I / O bus axis and the id axis in the figure are the same as in FIG.
【0065】まず、(1)の1台の磁気ディスク装置の場
合について動作を説明する。ホストCPU100から磁
気ディスク装置へ書き込み命令が発行され起動が掛かる
と、磁気ディスク装置内部のコントローラでコマンド解
析が行われ、磁気ディスク装置のソフトウェアオーバヘ
ッドT1が生じる。この時に、ホストCPU100は書
き込むデータを磁気ディスク装置へ転送し、データは直
ちに内部キャッシュへ格納される。この時データ転送時
間T4が生じる。これをもって、ホストCPU100か
らのデータ書き込み処理は終了したものとみなされる。
その後、磁気ディスク装置ではディスク媒体へデータブ
ロックを書き込むためのヘッドの位置決めが行われ、
(シーク時間+回転待ち時間)T2が生じる。この間、磁
気ディスク装置はビジー状態となる。ヘッドの位置決め
後、磁気ディスク装置はデータブロックを内部キャッシ
ュからディスク媒体へ書き込む。このためデータ転送時
間T3が生じる。First, the operation in the case of one magnetic disk device of (1) will be described. When a write command is issued from the host CPU 100 to the magnetic disk device to activate it, command analysis is performed by the controller inside the magnetic disk device, and software overhead T1 of the magnetic disk device occurs. At this time, the host CPU 100 transfers the data to be written to the magnetic disk device, and the data is immediately stored in the internal cache. At this time, the data transfer time T4 occurs. With this, it is considered that the data writing process from the host CPU 100 is completed.
After that, in the magnetic disk device, the positioning of the head for writing the data block to the disk medium is performed,
(Seek time + rotation waiting time) T2 occurs. During this time, the magnetic disk device is in a busy state. After positioning the head, the magnetic disk device writes the data block from the internal cache to the disk medium. Therefore, the data transfer time T3 occurs.
【0066】一方、(2)の4台の磁気ディスク装置で構
成されるバーチャルアレイディスクの場合には、ホスト
CPU100からid=0〜3の4台の磁気ディスク装
置170−0〜170−3へ、それぞれ順に書き込み命
令が発行されて起動が掛かる。On the other hand, in the case of the virtual array disk composed of (4) four magnetic disk devices, from the host CPU 100 to the four magnetic disk devices 170-0 to 170-3 with id = 0 to 3 , And write commands are issued in sequence, respectively, to activate them.
【0067】まずid=0の磁気ディスク装置170−
0に書き込み命令が発行され、引き続き書き込むデータ
が転送されて磁気ディスク装置の内部キャッシュへ格納
される。これにより、ホストCPU100からのデータ
書き込み処理は終了したものとみなされる。磁気ディス
ク装置はコマンド解析後、シークと回転待ちに入る。First, the magnetic disk device 170 with id = 0
A write command is issued to 0, and the data to be written is subsequently transferred and stored in the internal cache of the magnetic disk device. As a result, it is considered that the data writing process from the host CPU 100 is completed. The magnetic disk device waits for seek and rotation after command analysis.
【0068】ヘッドの位置決めが完了すると、内部キャ
ッシュのデータがディスク媒体に書き込まれる。一方、
ホストCPU100は次のid=1の磁気ディスク装置
170−1に書き込み命令を発行し、引き続き書き込む
データを転送することができるようになる。id=1の
磁気ディスク装置170−1もid=0の磁気ディスク
装置170−0と同様に、コマンド解析後シークと回転
待ちに入り内部キャッシュからディスク媒体へのデータ
書き込みを行う。このとき、id=0の磁気ディスク装
置170−0とid=1の磁気ディスク装置170−1
は各々独立に並列動作していることになる。さらにホス
トCPU100は次のid=2の磁気ディスク装置17
0−2、id=3の磁気ディスク装置170−3にも同
様の手順で書き込み命令の発行とこれに引き続くデータ
転送を次々に実行する。これらの磁気ディスク装置も同
様に、コマンド解析後シークと回転待ちに入り、ヘッド
の位置決めが完了すると、内部キャッシュのデータをデ
ィスク媒体に書き込む。この時点で4台の磁気ディスク
装置170−0〜170−3が、それぞれ独立に並列動
作することになる。When the head positioning is completed, the data in the internal cache is written to the disk medium. on the other hand,
The host CPU 100 can issue a write command to the next magnetic disk device 170-1 with id = 1 and transfer the data to be written subsequently. Similarly to the magnetic disk device 170-0 with id = 0, the magnetic disk device 170-1 with id = 1 waits for seek and rotation after command analysis, and writes data from the internal cache to the disk medium. At this time, the magnetic disk device 170-0 with id = 0 and the magnetic disk device 170-1 with id = 1
Are operating independently in parallel. Further, the host CPU 100 uses the next magnetic disk device 17 with id = 2.
The write command issuance and the subsequent data transfer are sequentially executed in the same procedure for the magnetic disk device 170-3 of 0-2 and id = 3. Similarly, these magnetic disk devices enter into seek and rotation waiting after command analysis, and when head positioning is completed, write data in the internal cache to the disk medium. At this point, the four magnetic disk devices 170-0 to 170-3 operate independently in parallel.
【0069】id=3の磁気ディスク装置170−3に
書き込み命令の発行と書き込みデータの転送を行った
後、id=0の磁気ディスク装置170−0のデータ書
き込みが完了していれば、次のデータの書き込みが可能
である。そこで、次の書き込み命令の発行とデータ転送
とを実行する。id=0の磁気ディスク装置170−0
は先程と同様にコマンド解析後シークと回転待ちに入
る。この時、id=1の磁気ディスク装置170−1の
データ書き込みが完了していれば、次のデータの書き込
みが可能である。そこでid=0の磁気ディスク装置1
70−0の場合と同様に、ホストCPU100は磁気デ
ィスク装置へ次の書き込み命令の発行とデータ転送とを
実行する。そして、コマンド解析後シークと回転待ちに
入る。さらにホストCPU100は次のid=2の磁気
ディスク装置170−2、id=3の磁気ディスク装置
170−3にも前に発行したデータ書き込みの完了を確
認すると、同様の手順で次の書き込み命令の発行を行
う。以後、このシーケンスが図4に示されるように繰り
返される。なお、本図では(シーク時間+回転待ち時間)
T2を定数と仮定しているが、実際は各書き込み命令の
発行の都度異なることが多い。そのような場合には、最
も早くビジー状態が解除されて書き込み可能な状態とな
った磁気ディスク装置から順にデータを書き込むという
ことも可能である。After the write command is issued and the write data is transferred to the magnetic disk device 170-3 with id = 3, if the data writing of the magnetic disk device 170-0 with id = 0 is completed, Data can be written. Therefore, the next write command issuance and data transfer are executed. Magnetic disk unit 170-0 with id = 0
As before, after entering command, seek and turn wait. At this time, if the data writing of the magnetic disk device 170-1 with id = 1 has been completed, the next data can be written. Therefore, the magnetic disk device 1 with id = 0
As in the case of 70-0, the host CPU 100 executes the next write command and data transfer to the magnetic disk device. After command analysis, seek and rotation wait. Further, when the host CPU 100 confirms the completion of the data writing previously issued to the magnetic disk device 170-2 having the next id = 2 and the magnetic disk device 170-3 having the id = 3, the next write command Issue. Thereafter, this sequence is repeated as shown in FIG. In this figure, (seek time + rotation waiting time)
It is assumed that T2 is a constant, but in reality, it often differs each time each write command is issued. In such a case, it is also possible to write the data in order from the magnetic disk device which is released from the busy state and becomes ready for writing.
【0070】データを書き込む磁気ディスク装置を選択
する順序が前後することになるが、それ以外の上記の手
順は変わらない。The order of selecting the magnetic disk device for writing the data will be changed, but the above procedure other than that is not changed.
【0071】図4からも明らかなように、本発明では常
に4台の磁気ディスク装置が並列に動作しており、単位
時間あたりのホストCPU100のデータ書き込み量が
実効的にディスク台数分倍増するという効果が得られ
る。すなわち、本発明によればファイル書き込み速度が
磁気ディスク装置の台数分高速化されることになる。As is clear from FIG. 4, in the present invention, four magnetic disk devices are always operating in parallel, and the amount of data written by the host CPU 100 per unit time is effectively doubled by the number of disks. The effect is obtained. That is, according to the present invention, the file writing speed is increased by the number of magnetic disk devices.
【0072】図4で示したファイル書き込み(write)
の、より一般化した制御フロー(1)〜(7)を図5に示
す。使用する磁気ディスク装置n台はあらかじめ指定さ
れており、これらにファイルを分割して格納するものと
する。これらのファイル書き込みに必要な情報は、例え
ばアプリケーションプログラムから与えるものとする。
また、ファイルの複数磁気ディスク装置への分割、ファ
イルアクセスのシーケンス、および非同期書き込みの制
御はホストCPU100が行う。File write shown in FIG.
FIG. 5 shows the more generalized control flows (1) to (7). It is assumed that the n magnetic disk devices to be used are designated in advance and files are divided and stored in these. The information necessary for writing these files is given from, for example, an application program.
Further, the host CPU 100 controls the division of the file into a plurality of magnetic disk devices, the sequence of file access, and the asynchronous writing.
【0073】以下、制御フローの各ステップについて説
明する。Each step of the control flow will be described below.
【0074】(1)id=0〜(n−1)の磁気ディスク
装置に対して以下の処理を順次実行する。 1.書き
込み要求(writeリクエスト)を発行する。(1) The following processes are sequentially executed for the magnetic disk devices with id = 0 to (n-1). 1. Issue a write request.
【0075】2.書き込みデータを転送する。2. Transfer write data.
【0076】(2)いずれかの磁気ディスク装置が書き込
み可能状態となるまで待つ。(2) Wait until one of the magnetic disk devices becomes writable.
【0077】(3)書き込み可能な磁気ディスク装置があ
れば次のステップ(4)へ進み、なければステップ(2)へ
戻る。(3) If there is a writable magnetic disk device, proceed to the next step (4), otherwise return to step (2).
【0078】(4)書き込み可能な磁気ディスク装置のi
d番号をチェックし、記憶する。(4) i of writable magnetic disk device
Check and remember the d number.
【0079】(5)id=kの磁気ディスク装置にさらに
データを書き込むのであれば、次のステップ(6)へ進
み、もうデータを書き込まないのであればステップ(2)
へ戻る。(5) If more data is to be written to the magnetic disk device with id = k, proceed to the next step (6). If no more data is to be written, proceed to step (2).
Return to.
【0080】(6)id=kの磁気ディスク装置に対して
以下の処理を順次実行する。(6) The following processes are sequentially executed for the magnetic disk device with id = k.
【0081】1.書き込み要求(writeリクエスト)を発
行する。1. Issue a write request.
【0082】2.書き込みデータを転送する。2. Transfer write data.
【0083】(7)書き込み終了であればフローを終了
し、書き込み終了でなければステップ(2)へ戻る。(7) If the writing is completed, the flow is terminated, and if the writing is not completed, the process returns to step (2).
【0084】以上の制御フローにより、バーチャルアレ
イディスクへの高速なファイル書き込みを行うことがで
きる。By the above control flow, high speed file writing to the virtual array disk can be performed.
【0085】以上に説明したように本実施例ではファイ
ルを分割して異なる複数の磁気ディスク装置への書き込
み、および読み出しを行うことにより、各磁気ディスク
装置の並列動作が可能となり高速なファイルアクセスが
実現される。また、アレイディスク装置のように専用の
ハードウェアを必要とせず、例えばSCSIバスを用い
ることにより、7台までの磁気ディスク装置を1枚のア
ダプタボードで接続することが可能となる。このため、
非常に低コストで高速なファイルアクセス機能を実現す
ることができる。As described above, in the present embodiment, by dividing a file and writing to and reading from a plurality of different magnetic disk devices, the magnetic disk devices can operate in parallel and a high speed file access can be achieved. Will be realized. Further, it is possible to connect up to seven magnetic disk devices with one adapter board by using, for example, a SCSI bus without requiring dedicated hardware like the array disk device. For this reason,
A very low cost and high speed file access function can be realized.
【0086】また、SCSIインタフェースの仕様を拡
張すれば、7台以上の磁気ディスク装置を接続すること
も可能であることは明らかである。さらに、本実施例で
は固定長のデータブロックを各磁気ディスク装置に分散
格納する場合を例にして説明したが、可変長のデータブ
ロックでも同様の処理が可能である。It is also clear that seven or more magnetic disk devices can be connected by expanding the specifications of the SCSI interface. Furthermore, in the present embodiment, the case where fixed-length data blocks are distributed and stored in each magnetic disk device has been described as an example, but the same processing can be performed for variable-length data blocks.
【0087】図6に本発明の第2の実施例を示す。第2
の実施例は、ファイルが複数のサブファイルに分割され
て別々の磁気ディスク装置に格納されていることをアプ
リケーションプログラムから意識しなくとも、ファイル
にアクセスできるようにした実施例である。FIG. 6 shows a second embodiment of the present invention. Second
In this embodiment, the file can be accessed without the application program being aware that the file is divided into a plurality of subfiles and stored in different magnetic disk devices.
【0088】以下の各テーブルとプログラムとを用い
て、バーチャルアレイディスクとして使用する磁気ディ
スク装置の指定、ファイルの複数サブファイルへの分割
と磁気ディスク装置への対応付け、複数のサブファイル
を一まとまりのファイルに見せるアクセス制御、および
非同期読み出しと非同期書き込みの制御を行う。The following tables and programs are used to specify a magnetic disk device to be used as a virtual array disk, divide a file into a plurality of subfiles and associate them with the magnetic disk device, and collect a plurality of subfiles. Access control to be shown in the file, and control of asynchronous read and write.
【0089】ディスク管理情報を格納するためのディス
ク管理テーブル210、ファイル管理情報を格納するた
めのファイル管理テーブル220、ファイル記述子対応
情報を格納するためのファイル記述子対応テーブル23
0をメモリに保持する。アクセス制御プログラム200
は、バーチャルアレイディスクを対象とするファイルの
書き込みと読み出しの際に、上記各テーブルを参照して
アクセス制御を行う。A disk management table 210 for storing disk management information, a file management table 220 for storing file management information, and a file descriptor correspondence table 23 for storing file descriptor correspondence information.
Hold 0 in memory. Access control program 200
Performs access control by referring to each of the above tables when writing and reading a file for a virtual array disk.
【0090】上記各テーブル、およびプログラムは計算
機システムのメモリに格納される。The above tables and programs are stored in the memory of the computer system.
【0091】なお、上記の各テーブルはアプリケーショ
ンプログラムから与えることも、OSの内部の管理テー
ブルとして管理することも、いずれの方法も可能であ
る。Either of the above-mentioned tables can be given by an application program or can be managed as an internal management table of the OS.
【0092】各テーブルの具体的な構成を以下に説明す
る。The specific configuration of each table will be described below.
【0093】図7はディスク管理テーブル210の説明
図である。ディスク管理テーブルには、どの磁気ディス
ク装置のどのパーティション(分割領域)を用いてバー
チャルアレイディスクを構成するのかということに関す
る情報が格納される。FIG. 7 is an explanatory diagram of the disk management table 210. The disk management table stores information regarding which partition (divided area) of which magnetic disk device is used to configure the virtual array disk.
【0094】各磁気ディスク装置には、SCSIインタ
フェースで磁気ディスク装置の識別に用いるid番号
と、アプリケーションソフトウェアが磁気ディスク装置
の識別に用いる磁気ディスク装置名称が割り当てられ
る。また、通常磁気ディスク装置は複数のパーティショ
ンに分割して使用するので、各パーティションにはパー
ティション番号が付けられる。したがって、id番号ま
たは磁気ディスク装置名称とパーティション番号との組
合せで、システム内の磁気ディスク装置を利用する際の
単位領域の指定を行うことができる。これを“論理ディ
スク装置”と呼ぶことにする。本図に示した例では、デ
ィスク装置名称hd6のディスク装置の各パーティショ
ンが論理ディスク装置として定義されており、例えば第
5パーティションは名称がhd65の論理ディスク装置
となる。この論理ディスク装置を複数組み合わせて、
“論理バーチャルアレイディスク装置”として使用す
る。An id number used for identifying the magnetic disk device by the SCSI interface and a magnetic disk device name used by the application software for identifying the magnetic disk device are assigned to each magnetic disk device. Further, since the magnetic disk device is usually divided into a plurality of partitions for use, each partition is assigned a partition number. Therefore, it is possible to specify the unit area when using the magnetic disk device in the system by the combination of the id number or the magnetic disk device name and the partition number. This is called a "logical disk device". In the example shown in this figure, each partition of the disk device with the disk device name hd6 is defined as a logical disk device, and for example, the fifth partition is a logical disk device with the name hd65. By combining multiple logical disk units,
Used as a "logical virtual array disk device".
【0095】ディスク管理テーブル210は磁気ディス
ク装置のid番号または名称とパーティション番号との
マトリクスであり、これらのどの組合せの論理ディスク
装置が論理バーチャルアレイディスク装置として定義さ
れているのかを示している。The disk management table 210 is a matrix of id numbers or names of magnetic disk devices and partition numbers, and indicates which combination of these logical disk devices is defined as a logical virtual array disk device.
【0096】名称がhd0からhd3の4台の磁気ディ
スク装置をバーチャルアレイディスク装置va0として
定義することとし、その各第0パーティションを図1ま
たは図6に示すような論理バーチャルアレイディスク装
置va00として用いる場合には、va000からva
003までを識別子として図7に示すように書き込む。
これにより磁気ディスク装置hd0からhd3の第0パ
ーティションを論理バーチャルアレイディスク装置va
00として定義したことになる。Four magnetic disk devices having names hd0 to hd3 are defined as virtual array disk devices va0, and each 0th partition thereof is used as a logical virtual array disk device va00 as shown in FIG. 1 or FIG. In case of va000 to va
Writing is performed as shown in FIG. 7 using up to 003 as identifiers.
As a result, the 0th partition of the magnetic disk devices hd0 to hd3 is transferred to the logical virtual array disk device va.
It is defined as 00.
【0097】ここで識別子vaXYZ(ただし、X、
Y、Zは一桁の数字)は、この論理ディスク装置がバー
チャルアレイディスク装置vaXの構成要素であり、か
つバーチャルアレイディスク装置vaXの第Yパーティ
ションからなる論理バーチャルアレイディスク装置va
XYの構成要素であり、さらにその論理バーチャルアレ
イディスク装置vaXYの第Z番目の構成要素となる論
理ディスク装置であるということを示している。Here, the identifier vaXYZ (where X,
(Y and Z are single-digit numbers) indicate that this logical disk device is a constituent element of the virtual array disk device vaX and that the logical virtual array disk device va is composed of the Yth partition of the virtual array disk device vaX.
It is a logical disk device which is a constituent element of XY and is a Zth constituent element of the logical virtual array disk device vaXY.
【0098】なお、ディスク管理テーブル210の設定
は、本計算機システムのシステム構成を定義する時点で
システム管理者が行う。これは、ディスク管理テーブル
210の設定内容が、各論理ディスク装置の使用状態、
すなわち通常のファイル格納に使われているのか、サブ
ファイルの格納に使われているのかということと整合が
取れていなければならないからである。The disk management table 210 is set by the system administrator at the time of defining the system configuration of this computer system. This is because the setting contents of the disk management table 210 indicate the usage status of each logical disk device,
That is, it must be consistent with whether it is used for normal file storage or subfile storage.
【0099】以上のディスク管理テーブル210の設定
により、後述するmount処理を論理バーチャルアレ
イディスク装置va00に対して行うと、hd0〜hd
3の4台の磁気ディスク装置の第0パーティションを論
理バーチャルアレイディスク装置va00として利用す
ることが可能となる。When the mount process described later is performed on the logical virtual array disk device va00 by the above setting of the disk management table 210, hd0 to hd
The 0th partition of the four magnetic disk devices 3 can be used as the logical virtual array disk device va00.
【0100】図8はファイル管理テーブル220の説明
図である。ファイル管理テーブル220は各サブファイ
ルごとに割り付けられ、それぞれファイル属性領域と、
ディスクブロックインデックス領域に分けられる。各サ
ブファイルのファイル記述子がファイル管理テーブル2
20−0〜220−nの先頭を指し示すことにより、フ
ァイル管理テーブル220はファイル記述子と関連付け
られている。FIG. 8 is an explanatory diagram of the file management table 220. The file management table 220 is allocated for each subfile, and has a file attribute area and
It is divided into disk block index areas. The file descriptor of each subfile is the file management table 2.
The file management table 220 is associated with the file descriptor by pointing to the head of 20-0 to 220-n.
【0101】ファイル属性領域は、ファイルタイプ、フ
ァイルサイズ、格納デバイス、およびストライピングブ
ロックを格納するエントリから構成される。ファイルタ
イプには、このテーブルが管理するファイルがバーチャ
ルアレイディスク装置に格納されるサブファイルである
のか、通常の磁気ディスク装置に格納されるファイルで
あるのかを示す識別子が格納される。ファイルサイズに
は、サブファイルの容量が格納される。格納デバイスに
は、サブファイルが格納される磁気ディスク装置の実体
である、論理ディスク装置の名称が格納される。ストラ
イピングブロックには、ファイルをこのサブファイルに
分割した際に単位としたデータブロックの個数が格納さ
れる。すなわち各サブファイルは、このデータブロック
の個数ごとにファイルを先頭から分割して作られる。The file attribute area comprises a file type, a file size, a storage device, and an entry for storing a striping block. The file type stores an identifier indicating whether the file managed by this table is a subfile stored in the virtual array disk device or a file stored in a normal magnetic disk device. The file size stores the capacity of the sub file. The storage device stores the name of the logical disk device, which is the substance of the magnetic disk device in which the subfile is stored. The striping block stores the number of data blocks used as a unit when the file is divided into the subfiles. That is, each subfile is created by dividing the file from the beginning for each number of data blocks.
【0102】ディスクブロックインデックス領域には、
データブロックのインデックス情報としてディスク上の
論理ブロック番号を格納する。本図では、ファイルを構
成する各データブロックが論理ブロック番号100、2
00、300、...900に格納されていることにな
る。In the disk block index area,
The logical block number on the disk is stored as the index information of the data block. In this figure, the data blocks that make up the file are logical block numbers 100 and 2,
00, 300 ,. . . It is stored in 900.
【0103】ファイル管理テーブル220はバーチャル
アレイディスクに格納するファイルが作られるときに、
アクセス制御プログラムによってサブファイルごとに作
られる。以後、このファイルが消去されるまでファイル
管理テーブルは存続し、ファイルを構成する各サブファ
イルをアクセスする際にアクセス制御プログラムがこれ
を参照する。バーチャルアレイディスクに格納されたフ
ァイルが消去されるときに各サブファイルが消去される
ことになり、この時同時にファイル管理テーブルも消去
される。The file management table 220 is used when a file to be stored in the virtual array disk is created.
Created for each subfile by the access control program. After that, the file management table remains until this file is erased, and the access control program refers to this when accessing each sub-file that constitutes the file. When the file stored in the virtual array disk is erased, each subfile is erased, and at the same time, the file management table is also erased.
【0104】図9はファイル記述子対応テーブル230
の説明図である。バーチャルアレイディスクに格納され
ている元ファイルのファイル記述子vfdと、分割後の
サブファイルのファイル記述子fdとの対応を示してい
る。FIG. 9 shows the file descriptor correspondence table 230.
FIG. The correspondence between the file descriptor vfd of the original file stored in the virtual array disk and the file descriptor fd of the subfile after division is shown.
【0105】本図の例では、vfd=4である元ファイ
ルは、4個のサブファイルからなり、それぞれのファイ
ル記述子は、fd0=5、fd1=6、fd2=7、f
d3=8である。また、vfd=20の元ファイルにつ
いても同様に、サブファイルのファイル記述子はfd0
=21、fd1=22、fd2=23、fd3=24で
あることを示している。In the example of the figure, the original file with vfd = 4 consists of four subfiles, and the file descriptors of each are fd0 = 5, fd1 = 6, fd2 = 7, f.
d3 = 8. Similarly, for the original file with vfd = 20, the file descriptor of the subfile is fd0.
= 21, fd1 = 22, fd2 = 23, and fd3 = 24.
【0106】バーチャルアレイディスクに格納されてい
るファイルをアクセスする際には、まずファイルをop
enしなければならない。この時に、元ファイルのファ
イル記述子vfdがアクセス制御プログラムにより割り
当てられる。次にその実体であるサブファイルの名称が
元ファイルの名称から生成され、このサブファイル名称
を用いてサブファイルがopenされる。この時に各サ
ブファイルにファイル記述子fd0〜fd3が割り当て
られる。以後、アプリケーションプログラムからこのフ
ァイルをアクセスする場合にはファイル記述子vfdを
用いる。アクセス制御プログラムはファイル記述子対応
テーブル230を用い、これをサブファイルのファイル
記述子fd0〜fd3に変換して各サブファイルのアク
セスを行う。ファイル記述子対応テーブルのエントリ
は、ファイルをcloseする際に解放されて内容は無
効となる。When accessing a file stored in the virtual array disk, first open the file.
I have to en. At this time, the file descriptor vfd of the original file is allocated by the access control program. Next, the name of the subfile which is the entity is generated from the name of the original file, and the subfile is opened using this subfile name. At this time, the file descriptors fd0 to fd3 are assigned to each subfile. After that, when accessing this file from the application program, the file descriptor vfd is used. The access control program uses the file descriptor correspondence table 230, converts it into the file descriptors fd0 to fd3 of the subfile, and accesses each subfile. The entries in the file descriptor correspondence table are released when the file is closed, and the contents become invalid.
【0107】以上説明したディスク管理テーブル21
0、ファイル管理テーブル220、およびファイル記述
子対応テーブル230を用いて、バーチャルアレイディ
スクを制御する際の概略の手順について説明する。The disk management table 21 described above
0, the file management table 220, and the file descriptor correspondence table 230 will be used to explain the general procedure for controlling a virtual array disk.
【0108】図10に制御の全体のフローを示す。各ス
テップは、ユーザからのコマンド、あるいはプログラム
からの関数コールによって起動される処理を示してい
る。各処理はメモリに格納されたアクセス制御プログラ
ムによって実行される。以下、本図の制御フローに従っ
てその内容を説明する。FIG. 10 shows the overall control flow. Each step represents a process activated by a command from a user or a function call from a program. Each process is executed by the access control program stored in the memory. The contents will be described below according to the control flow of this figure.
【0109】mount処理では、バーチャルアレイデ
ィスクをOSが管理するディレクトリの指定された場所
に割り付け、その指定ディレクトリ名称下のデバイスと
してソフトウェアから利用可能な状態とする。すなわ
ち、論理バーチャルアレイディスク装置を構成する論理
ディスク装置を、ディスク管理テーブル210を参照し
てディレクトリの指定された場所に割り付ける処理を行
なう。In the mount process, the virtual array disk is allocated to a designated location in the directory managed by the OS and made available to software as a device under the designated directory name. That is, the process of allocating the logical disk devices constituting the logical virtual array disk device to the designated location of the directory by referring to the disk management table 210 is performed.
【0110】open処理では、元ファイル及びサブフ
ァイルにファイル記述子を割り当て、ファイル記述子対
応テーブル230に対応関係が取れるように登録する。In the open process, the file descriptors are assigned to the original file and the subfiles, and are registered in the file descriptor correspondence table 230 so that the correspondence can be established.
【0111】read/write処理では、read
処理指定時にはバーチャルアレイディスクからのファイ
ル読み出しを行い、write処理指定時にはバーチャ
ルアレイディスクへのファイル書き込みを行う。いずれ
の場合も、元ファイルのファイル記述子からファイル記
述子対応テーブル230によりサブファイルのファイル
記述子を得る。さらにファイル記述子によりファイル管
理テーブル220を得て、サブファイルの格納されてい
る論理ディスク装置にアクセスする。In read / write processing, read
When the processing is designated, the file is read from the virtual array disk, and when the write processing is designated, the file is written to the virtual array disk. In either case, the file descriptor of the subfile is obtained from the file descriptor of the original file by the file descriptor correspondence table 230. Further, the file management table 220 is obtained from the file descriptor, and the logical disk device in which the sub file is stored is accessed.
【0112】close処理では、元ファイルとサブフ
ァイルのクローズ処理、すなわち元ファイルに割り当て
たファイル記述子と、サブファイルに割り当てたファイ
ル記述子の解放を行う。In the close process, the original file and the subfile are closed, that is, the file descriptor assigned to the original file and the file descriptor assigned to the subfile are released.
【0113】umount処理では、論理バーチャルア
レイディスク装置として指定ディレクトリに割り付けら
れた各論理ディスク装置を指定ディレクトリから除去す
る。In the umount process, each logical disk device assigned to the specified directory as a logical virtual array disk device is removed from the specified directory.
【0114】このため、その指定ディレクトリ名称下の
デバイスとしてソフトウェアから意識できなくなる。Therefore, it becomes impossible for software to recognize the device under the designated directory name.
【0115】以下、各処理の詳細な制御フローを図1
1、図12、図13、図14、図15、図16、および
図17を用いて説明する。The detailed control flow of each process is shown in FIG.
1, FIG. 12, FIG. 13, FIG. 14, FIG. 15, FIG. 16, and FIG.
【0116】mount処理の制御フロー(1)〜
(3)を図11を用いて説明する。なお、/devで始
まる装置名称は、mount処理やumount処理で
用いられるフルパス名称である。Control flow of mount processing (1)-
(3) will be described with reference to FIG. The device name starting with / dev is the full path name used in the mount process and the umount process.
【0117】(1)マウントする論理バーチャルアレイ
ディスク装置に対応する磁気ディスク装置の名称、パー
ティション番号、すなわち論理ディスク装置の名称をデ
ィスク管理テーブル210から得る。(1) The name and partition number of the magnetic disk device corresponding to the logical virtual array disk device to be mounted, that is, the name of the logical disk device is obtained from the disk management table 210.
【0118】(2)論理バーチャルアレイディスク装置
をマウントするディレクトリに、マウント用のディレク
トリを作る。例えば図12に示すように論理バーチャル
アレイディスク装置の名称が/dev/va00である
場合には、名称が“.va00”というディレクトリを
まずマウントディレクトリ/dataの下に作り、さら
にその下に、すなわち/data/.va00の下に名
称が“.va000”、“.va001”、“.va00
2”、および“.va003”というディレクトリを作
る。(2) A mount directory is created in the directory where the logical virtual array disk device is mounted. For example, if the name of the logical virtual array disk device is / dev / va00 as shown in FIG. 12, a directory with the name ".va00" is first created under the mount directory / data, and further below that, Names under "/data/.va00" are ".va000", ".va001", ".va00"
Create directories "2" and ".va003".
【0119】(3)ディスク管理テーブル210を参照
して、各ディレクトリ“.va000"、“.va00
1”、“.va002”、および“.va003”に対応
する論理ディスク装置/dev/hd00〜/dev/
hd03をマウントする。(3) Referring to the disk management table 210, each directory ".va000", ".va00"
1 "," .va002 ", and" .va003 "corresponding to logical disk devices / dev / hd00 to / dev /
Mount hd03.
【0120】図12には、mount処理の結果により
構成されるトリー構造が示されている。FIG. 12 shows a tree structure formed by the result of the mount process.
【0121】このようにmount処理ではトリー構造
を持つディレクトリ下にバーチャルアレイディスクがマ
ウントされ、バーチャルアレイディスク内のファイルが
トリー構造のディレクトリによって管理される。この例
では、“/data”ディレクトリに論理バーチャルア
レイディスク装置“/dev/va00”がマウントさ
れている。各磁気ディスク装置には同一構造のディレク
トリが構成され、その下に各サブファイルが格納される
ことになる。ここでは、各サブファイル名称とディレク
トリ名称に添字を付して区別してある。As described above, in the mount process, the virtual array disk is mounted under the directory having the tree structure, and the files in the virtual array disk are managed by the tree structure directory. In this example, the logical virtual array disk device "/ dev / va00" is mounted in the "/ data" directory. A directory having the same structure is formed in each magnetic disk device, and each subfile is stored under the directory. Here, the subfile name and the directory name are distinguished by adding a subscript.
【0122】open処理の制御フロー(1)〜(5)
を図13を用いて説明する。Control flow of open processing (1) to (5)
Will be described with reference to FIG.
【0123】(1)オープン対象として指定された元フ
ァイルの名称から、添字を付してサブファイルの名称を
生成する。(1) A subfile name is generated by adding a subscript from the name of the original file designated as the open target.
【0124】例えば、図12のディレクトリ構造におい
て、元ファイルとして/data/fileを指定する
と、これからサブファイルのファイル名称
/data/.va00/.va000/file0、
/data/.va00/.va001/file1、
/data/.va00/.va002/file2、
/data/.va00/.va003/file3、
を生成する。For example, if / data / file is specified as the original file in the directory structure of FIG. 12, the file names of the subfiles will be /data/.va00/.va000/file0 and /data/.va00/.va001/file1. , /Data/.va00/.va002/file2, /data/.va00/.va003/file3, are generated.
【0125】(2)サブファイルのファイル名称を用い
て個々のサブファイルをオープンし、ファイル記述子f
d0〜fd3を割当てる。これにより、各サブファイル
のファイル記述子fd0〜fd3がファイル管理テーブ
ル220に対応付けられ、アプリケーションプログラム
からのファイル記述子を用いたアクセスが可能となる。(2) Each subfile is opened using the file name of the subfile, and the file descriptor f
Allocate d0 to fd3. As a result, the file descriptors fd0 to fd3 of each sub-file are associated with the file management table 220, and access using the file descriptor from the application program becomes possible.
【0126】(3)元ファイルにファイル記述子vfd
を割り当てる。(3) File descriptor vfd in the original file
Assign
【0127】(4)元ファイルのファイル記述子vfd
とサブファイルのファイル記述子fd0〜fd3とを対
にして、ファイル記述子対応テーブル230に登録す
る。(5)元ファイルのファイル記述子vfdを、本o
pen処理の結果として、すなわちopenコールの戻
り値としてアプリケーションプログラムへ返す。(4) File descriptor vfd of the original file
And the file descriptors fd0 to fd3 of the sub files are paired and registered in the file descriptor correspondence table 230. (5) Replace the file descriptor vfd of the original file with this o
It is returned to the application program as a result of the pen processing, that is, as a return value of the open call.
【0128】次にread/write処理でのrea
d処理実行の制御フロー(1)〜(5)について図14
を用いて説明する。Next, read / write processing
FIG. 14 regarding control flows (1) to (5) for executing d processing
Will be explained.
【0129】(1)アプリケーションプログラムからは
元ファイルのファイル記述子vfdを引き数にしてアク
セス要求が発行される。引数であるファイル記述子vf
dをキーとしてファイル記述子対応テーブル230を検
索し、vfdに対応するサブファイルのファイル記述子
fd0〜fd3を得る。図9に示すように例えば元ファ
イルのファイル記述子vfdが4の場合、サブファイル
のファイル記述子fd0〜fd3として5、6、7、8
が得られる。(1) The application program issues an access request with the file descriptor vfd of the original file as an argument. File descriptor vf that is an argument
The file descriptor correspondence table 230 is searched by using d as a key, and the file descriptors fd0 to fd3 of the subfiles corresponding to vfd are obtained. As shown in FIG. 9, for example, when the file descriptor vfd of the original file is 4, the file descriptors fd0 to fd3 of the subfiles are 5, 6, 7, 8
Is obtained.
【0130】(2)次に、サブファイルのファイル記述
子fd0〜fd3から、これらのサブファイルのファイ
ル管理テーブル220を得る。(2) Next, the file management table 220 of these subfiles is obtained from the file descriptors fd0 to fd3 of the subfiles.
【0131】(3)サブファイルをアクセスする順番
は、ディスク管理テーブル210の記述子の添字の順に
行う。この順にサブファイルのファイル管理テーブル2
20を参照し、読み込むデータブロックの論理ブロック
番号を得る。図7に示す例では、論理ディスク装置/d
ev/hd00、/dev/hd01、/dev/hd
02、/dev/hd03の順にアクセスすることにな
る。ファイル管理テーブル220に書かれたストライピ
ングブロックが指定するデータブロック数だけアクセス
したら、次のサブファイルへアクセスする。すなわち、
次のサブファイルのファイル管理テーブルを参照して、
ストライピングブロックが指定するデータブロック数だ
けアクセスする。この手順にしたがって、読み込むデー
タブロックの論理ブロック番号を順に得る。(3) The subfiles are accessed in the order of the subscripts of the descriptors of the disk management table 210. File management table 2 for subfiles in this order
Referring to 20, the logical block number of the data block to be read is obtained. In the example shown in FIG. 7, logical disk device / d
ev / hd00, / dev / hd01, / dev / hd
02, / dev / hd03 are accessed in this order. When the number of data blocks designated by the striping block written in the file management table 220 is accessed, the next subfile is accessed. That is,
Refer to the file management table of the following sub file,
Access the number of data blocks specified by the striping block. According to this procedure, the logical block numbers of the data blocks to be read are obtained in order.
【0132】(4)磁気ディスク装置から読み込むデー
タブロックの論理ブロック番号と、サブファイルのファ
イル管理テーブル220の格納デバイスエントリに書か
れた論理ディスク装置とにしたがって、データブロック
を読み込む。実際にアクセスする磁気ディスク装置は、
ディスク管理テーブル210を参照して、該当論理ディ
スク装置をその一部として含む磁気ディスク装置として
得ることができる。(4) The data block is read according to the logical block number of the data block read from the magnetic disk device and the logical disk device written in the storage device entry of the file management table 220 of the subfile. The magnetic disk device that you actually access is
By referring to the disk management table 210, it can be obtained as a magnetic disk device including the relevant logical disk device as a part thereof.
【0133】(5)最後に、読み込むべきデータブロッ
クをすべて読み込んだかどうか判定する。まだ読み込む
べきデータブロックがあれば、(3)に戻って繰り返
す。(5) Finally, it is judged whether all the data blocks to be read have been read. If there is a data block to be read, return to (3) and repeat.
【0134】次にread/write処理でのwri
te処理実行の制御フロー(1)〜(7)について図1
5を用いて説明する。サブファイルのデータブロックを
アクセスする手順の概略は、read処理実行時と同様
である。Next, wri in read / write processing
te processing execution control flow (1) to (7) FIG.
This will be described using 5. The outline of the procedure for accessing the data block of the subfile is the same as that at the time of executing the read process.
【0135】(1)アプリケーションプログラムからは
元ファイルのファイル記述子vfdを引き数にしてアク
セス要求が発行される。引数であるファイル記述子vf
dをキーとしてファイル記述子対応テーブル230を検
索し、vfdに対応するサブファイルのファイル記述子
fd0〜fd3を得る。図9に示すように例えば元ファ
イルのファイル記述子vfdが4の場合、サブファイル
のファイル記述子fd0〜fd3として5、6、7、8
が得られる。(1) The application program issues an access request with the file descriptor vfd of the original file as an argument. File descriptor vf that is an argument
The file descriptor correspondence table 230 is searched by using d as a key, and the file descriptors fd0 to fd3 of the subfiles corresponding to vfd are obtained. As shown in FIG. 9, for example, when the file descriptor vfd of the original file is 4, the file descriptors fd0 to fd3 of the subfiles are 5, 6, 7, 8
Is obtained.
【0136】(2)次に、サブファイルのファイル記述
子fd0〜fd3から、これらのサブファイルのファイ
ル管理テーブル220を得る。(2) Next, the file management table 220 of these subfiles is obtained from the file descriptors fd0 to fd3 of the subfiles.
【0137】(3)既存ファイルの内容を更新する場合
には、データブロックの内容を上書きすれば良い。しか
し、ファイルサイズを超えて追加書き込みを行う場合に
は、書き込むために新しい領域を割り当てる必要が生じ
る。したがって、新しいディスクブロックの割当てが必
要であるかどうかを判定し、必要であれば(4)へ、不
要であれば(5)へ進む。(3) When updating the contents of the existing file, the contents of the data block may be overwritten. However, when additional writing is performed beyond the file size, it becomes necessary to allocate a new area for writing. Therefore, it is determined whether or not a new disk block needs to be allocated, and if necessary, the procedure proceeds to (4), and if not, the procedure proceeds to (5).
【0138】(4)ディスクブロックを割り当てる際
に、どのサブファイルが格納されている論理ディスク装
置から割り当てるのかを決める。ファイルの最終部分と
なっているサブファイルの総データブロック数が、ファ
イル管理テーブルのストライピングブロックエントリに
書かれたデータブロック数の整数倍である場合、次のサ
ブファイルを格納する論理ディスク装置からデータブロ
ックの割り当てを行う。そうでなければ、ファイル最終
部分のサブファイルが格納されている論理ディスク装置
から割り当てを行う。データブロックを割り当てた後
に、そのデータブロックの論理ブロック番号を得る。次
は(6)へ進む。(4) When allocating a disk block, it is determined which subfile is to be allocated from the logical disk device in which it is stored. If the total number of data blocks of the subfile that is the final part of the file is an integer multiple of the number of data blocks written in the striping block entry of the file management table, the data from the logical disk device that stores the next subfile Allocate blocks. If not, allocation is performed from the logical disk device in which the subfile of the last part of the file is stored. After allocating the data block, the logical block number of the data block is obtained. Next, proceed to (6).
【0139】(5)read処理の場合で述べたように
元ファイルはサブファイルに分割されており、これによ
り元ファイルに合成するためのアクセスする順番は決定
される。したがって、その手順に従い書き込み箇所に該
当するサブファイルのファイル管理テーブル220か
ら、ファイルが書き込まれるデータブロックの論理ブロ
ック番号を得る。(5) As described in the case of read processing, the original file is divided into sub-files, and the access order for synthesizing with the original file is determined by this. Therefore, according to the procedure, the logical block number of the data block in which the file is written is obtained from the file management table 220 of the subfile corresponding to the writing location.
【0140】(6)磁気ディスク装置へ書き込むデータ
ブロックの論理ブロック番号と、サブファイルのファイ
ル管理テーブル220の格納デバイスエントリに書かれ
た論理ディスク装置とにしたがって、データブロックを
書き込む。実際にアクセスする磁気ディスク装置は、デ
ィスク管理テーブル210を参照して、該当論理ディス
ク装置をその一部として含む磁気ディスク装置として得
ることができる。(6) The data block is written according to the logical block number of the data block to be written to the magnetic disk device and the logical disk device written in the storage device entry of the file management table 220 of the subfile. The magnetic disk device to be actually accessed can be obtained as a magnetic disk device including the relevant logical disk device as a part thereof by referring to the disk management table 210.
【0141】(7)最後に、書き込むべきデータブロッ
クをすべて書き込んだかどうか判定する。まだ書き込む
べきデータブロックがあれば、(3)に戻って繰り返
す。(7) Finally, it is judged whether all the data blocks to be written have been written. If there is a data block to be written, return to (3) and repeat.
【0142】close処理の制御フロー(1)〜
(3)を図16を用いて説明する。Control Flow of Close Processing (1)-
(3) will be described with reference to FIG.
【0143】(1)アプリケーションプログラムからは
元ファイルのファイル記述子vfdを引き数にして処理
要求が発行される。ファイル記述子vfdをキーとして
ファイル記述子対応テーブル230を検索し、vfdに
対応するサブファイルのファイル記述子fd0〜fd3
を得る。(1) The application program issues a processing request with the file descriptor vfd of the original file as an argument. The file descriptor correspondence table 230 is searched using the file descriptor vfd as a key, and the file descriptors fd0 to fd3 of the subfiles corresponding to vfd are searched.
To get
【0144】(2)サブファイルに対応するファイル記
述子fd0〜fd3を解放する。(2) Release the file descriptors fd0 to fd3 corresponding to the subfiles.
【0145】(3)元ファイルに対応するファイル記述
子vfdを解放する。(3) Release the file descriptor vfd corresponding to the original file.
【0146】最後に、umount処理の制御フロー
(1)〜(3)を図17を用いて説明する。Finally, control flows (1) to (3) of the umount process will be described with reference to FIG.
【0147】(1)ディスク管理テーブル210を参照
して、アンマウントする論理バーチャルアレイディスク
装置を構成する論理ディスク装置に対応する、磁気ディ
スク装置の名称とパーティション番号を得る。(1) By referring to the disk management table 210, the name and partition number of the magnetic disk device corresponding to the logical disk device constituting the unmounted logical virtual array disk device are obtained.
【0148】(2)上記、論理ディスク装置をアンマウ
ントする。すなわち図12の例では、ディレクトリ“.
va000”、“.va001”、“.va002”、お
よび“.va003”から/dev/hd00〜/de
v/hd30を除去する。(2) The logical disk device is unmounted. That is, in the example of FIG. 12, the directory “.
va000 ”,“ .va001 ”,“ .va002 ”, and“ .va003 ”to / dev / hd00 to / de
Remove v / hd30.
【0149】(3)バーチャルアレイディスクのマウン
ト用に作ったディレクトリを消去する。すなわち図12
の例では、“.va00”、“.va000”、“.va
001”、“.va002”、および“.va003”を
消去する。(3) Erase the directory created for mounting the virtual array disk. That is, FIG.
Example, ".va00", ".va000", ".va"
001 ”,“ .va002 ”, and“ .va003 ”are deleted.
【0150】以上説明したように、ディスク管理テーブ
ル210によりバーチャルアレイディスクを定義し、フ
ァイル記述子対応テーブル230により元ファイルとサ
ブファイルとの対応付けを行い、ファイル管理テーブル
220を参照してサブファイルへアクセスすることによ
り、ユーザは複数のサブファイルにアクセスすることを
全く意識せず、あたかも単一のファイルにアクセスする
のと全く同じ形でバーチャルアレイディスクを利用する
ことができるという効果が得られる。As described above, the virtual array disk is defined by the disk management table 210, the original file and the subfile are associated with each other by the file descriptor correspondence table 230, and the subfile is referenced by referring to the file management table 220. By accessing, virtual users can use virtual array disks as if they were accessing a single file, without having to be aware of accessing multiple subfiles. .
【0151】次に図18〜21を用いてファイルのスト
ライピング処理について説明する。File striping processing will be described below with reference to FIGS.
【0152】図1に示した実施例では、データブロック
1個を単位としたファイルのサブファイルへの分割、す
なわちストライピングを行っている。この場合、データ
ブロックAから順にB、C、Dを、磁気ディスク装置の
id番号0番から順に1番、2番、3番へと格納する。
そして、次のデータブロックEから順にF、G、Hを、
同様に磁気ディスク装置のid番号0番から順に1番、
2番、3番へと格納する。この場合のファイルの書き込
みの様子を図18に、ファイルの読み出しの様子を図1
9に示す。In the embodiment shown in FIG. 1, a file is divided into sub-files, that is, striping is performed in units of one data block. In this case, B, C, and D are stored in order from the data block A, from the id number 0 of the magnetic disk device to the first, second, and third numbers in order.
Then, from the next data block E, F, G, H are
Similarly, from the magnetic disk device id number 0 to 1 in order,
Store in numbers 2 and 3. FIG. 18 shows how the file is written and FIG. 1 shows how the file is read in this case.
9 shows.
【0153】図18はファイルを先頭から順に書き込む
場合を示している。I/Oバスインタフェース150を
介して、ホストCPU100からデータブロックが順に
送られる。ディスコネクト・リコネクト機能により各磁
気ディスク装置がI/Oバスインタフェース150と順
に接続されて、データブロック0、1、2、3、
4...がid番号0番、1番、2番、3番、0
番...の磁気ディスク装置へと格納される。なお、格
納する磁気ディスク装置の順序は必ずしもid番号の順
である必要はなく、0番以外の磁気ディスク装置から開
始することも可能である。また、id番号の順序を昇
順、または降順以外とすることも可能である。FIG. 18 shows a case where files are written in order from the beginning. Data blocks are sequentially sent from the host CPU 100 via the I / O bus interface 150. Each magnetic disk device is sequentially connected to the I / O bus interface 150 by the disconnect / reconnect function, and data blocks 0, 1, 2, 3,
4. . . Have id numbers 0, 1, 2, 3, 0
No. . . Is stored in the magnetic disk device. The order of the magnetic disk devices to be stored does not necessarily have to be the order of the id numbers, and it is possible to start from a magnetic disk device other than 0. Further, the order of the id numbers may be other than ascending order or descending order.
【0154】図19はファイルを先頭から順に読み出す
場合を示している。I/Oバスインタフェース150を
介して、ホストCPU100へデータブロックが順に送
られる。図18に示したようにデータブロックは格納さ
れており、ディスコネクト・リコネクト機能により各磁
気ディスク装置がI/Oバスインタフェース150と順
に接続されて、データブロック0、1、2、3、
4...がid番号0番、1番、2番、3番、0
番...の磁気ディスク装置から読み出される。なお、
格納する磁気ディスク装置の順序は必ずしもid番号の
順である必要はなく、0番以外の磁気ディスク装置から
開始することも可能である。また、id番号の順序を昇
順、または降順以外とすることも可能である。FIG. 19 shows a case where the files are read in order from the beginning. Data blocks are sequentially sent to the host CPU 100 via the I / O bus interface 150. The data blocks are stored as shown in FIG. 18, and the magnetic disk devices are sequentially connected to the I / O bus interface 150 by the disconnect / reconnect function, and the data blocks 0, 1, 2, 3,
4. . . Have id numbers 0, 1, 2, 3, 0
No. . . Read from the magnetic disk device. In addition,
The order of the magnetic disk devices to be stored does not necessarily have to be the order of the id numbers, and it is also possible to start from a magnetic disk device other than 0. Further, the order of the id numbers may be other than ascending order or descending order.
【0155】一方、複数個のデータブロックをストライ
ピングの単位とすることも可能である。一例として、デ
ータブロック4個を単位としてストライピングを行った
場合のファイルの書き込みの様子を図20に、ファイル
の読み出しの様子を図21に示す。On the other hand, it is possible to use a plurality of data blocks as a striping unit. As an example, FIG. 20 shows how files are written when striping is performed in units of four data blocks, and FIG. 21 shows how files are read.
【0156】図20はデータブロック4個を単位として
ファイルを先頭から順に書き込む場合を示している。I
/Oバスインタフェース150を介して、ホストCPU
100からデータブロックが順に送られる。ディスコネ
クト・リコネクト機能により各磁気ディスク装置がI/
Oバスインタフェース150と順に接続されて、データ
ブロック0、1、2、3がid番号0番、データブロッ
ク4、5、6、7がid番号1番、データブロック8、
9、10、11がid番号2番、データブロック12、
13、14、15がid番号3番、データブロック1
6、17、18、19がid番号0番...の磁気ディ
スク装置へとそれぞれ格納される。なお、格納する磁気
ディスク装置の順序は必ずしもid番号の順である必要
はなく、0番以外の磁気ディスク装置から開始すること
も可能である。また、id番号の順序を昇順、または降
順以外とすることも可能である。FIG. 20 shows a case where files are sequentially written from the beginning in units of four data blocks. I
Host CPU via I / O bus interface 150
Data blocks are sequentially sent from 100. I / O for each magnetic disk unit by disconnect / reconnect function
The data blocks 0, 1, 2, 3 are connected to the O-bus interface 150 in order, and the data blocks 0, 1, 2, 3 have the id number 0, the data blocks 4, 5, 6, 7 have the id number 1, and the data block 8,
9, 10, 11 have id number 2, data block 12,
13, 14, and 15 have id number 3, data block 1
6, 17, 18, and 19 have id numbers 0. . . Are stored in the respective magnetic disk devices. The order of the magnetic disk devices to be stored does not necessarily have to be the order of the id numbers, and it is possible to start from a magnetic disk device other than 0. Further, the order of the id numbers may be other than ascending order or descending order.
【0157】図21はデータブロック4個を単位として
ファイルを先頭から順に読み出す場合を示している。I
/Oバスインタフェース150を介して、ホストCPU
100へデータブロックが順に送られる。図20に示し
たようにデータブロックは格納されており、ディスコネ
クト・リコネクト機能により各磁気ディスク装置がI/
Oバスインタフェース150と順に接続されて、データ
ブロック0、1、2、3がid番号0番、データブロッ
ク4、5、6、7がid番号1番、データブロック8、
9、10、11がid番号2番、データブロック12、
13、14、15がid番号3番、データブロック1
6、17、18、19がid番号0番...の磁気ディ
スク装置からとそれぞれ読み出される。なお、格納する
磁気ディスク装置の順序は必ずしもid番号の順である
必要はなく、0番以外の磁気ディスク装置から開始する
ことも可能である。また、id番号の順序を昇順、また
は降順以外とすることも可能である。FIG. 21 shows a case where files are read in order from the beginning in units of four data blocks. I
Host CPU via I / O bus interface 150
Data blocks are sent to 100 in sequence. The data blocks are stored as shown in FIG. 20, and each magnetic disk device is I / O-controlled by the disconnect / reconnect function.
The data blocks 0, 1, 2, 3 are connected to the O-bus interface 150 in order, and the data blocks 0, 1, 2, 3 have the id number 0, the data blocks 4, 5, 6, 7 have the id number 1, and the data block 8,
9, 10, 11 have id number 2, data block 12,
13, 14, and 15 have id number 3, data block 1
6, 17, 18, and 19 have id numbers 0. . . Read from the magnetic disk device. The order of the magnetic disk devices to be stored does not necessarily have to be the order of the id numbers, and it is possible to start from a magnetic disk device other than 0. Further, the order of the id numbers may be other than ascending order or descending order.
【0158】なお、ストライピングの単位とするデータ
ブロック数は、4個以外の任意の個数を取りうることは
言うまでもない。It goes without saying that the number of data blocks as a striping unit can be any number other than four.
【0159】図22〜33を用いて、論理バーチャルア
レイディスク装置として使用する論理ディスク装置の組
合せについて説明する。A combination of logical disk devices used as a logical virtual array disk device will be described with reference to FIGS.
【0160】本実施例では、ディスク管理テーブル21
0で磁気ディスク装置のid番号または名称と、パーテ
ィション番号とを指定して使用する論理ディスク装置を
定義する。図7の説明で述べたように、複数の論理ディ
スク装置に一連の識別子vaXY0、vaXY
1、...を付けることで、論理バーチャルアレイディ
スク装置として利用する論理ディスク装置の組合せの定
義が可能である。識別子の添字の意味は、図7のディス
ク管理テーブルの説明で述べたとおりである。本実施例
ではサブファイルの物理的な配置の自由度が非常に高
く、以下のような構成が可能である。なお、例えば図7
のディスク装置名称hd4、hd5のディスク装置のよ
うに、論理バーチャルアレイディスク装置として定義し
ていない領域は、特に断わりがなくとも通常の論理ディ
スク装置として利用可能である。In this embodiment, the disk management table 21
A logical disk device to be used is defined by specifying the id number or name of the magnetic disk device and the partition number with 0. As described in the description of FIG. 7, a series of identifiers vaXY0 and vaXY are assigned to a plurality of logical disk devices.
1 ,. . . By adding, it is possible to define a combination of logical disk devices used as a logical virtual array disk device. The meaning of the suffix of the identifier is as described in the description of the disk management table in FIG. In this embodiment, the degree of freedom in the physical arrangement of subfiles is extremely high, and the following configuration is possible. Note that, for example, in FIG.
Areas that are not defined as logical virtual array disk devices, such as the disk devices with disk device names hd4 and hd5, can be used as normal logical disk devices without particular notice.
【0161】図22はid番号0、1、2、3の4台の
磁気ディスク装置のすべてのパーティションを論理バー
チャルアレイディスク装置として用いる場合である。FIG. 22 shows the case where all the partitions of the four magnetic disk devices with id numbers 0, 1, 2, 3 are used as the logical virtual array disk device.
【0162】これに対応するディスク管理テーブル21
0の設定例を図23に示す。4台の磁気ディスク装置を
バーチャルアレイディスク装置va0として定義し、全
体をひとつの論理バーチャルアレイディスク装置va0
0として用いる場合に相当する。id番号4、5、6の
3台の磁気ディスク装置は、通常の磁気ディスク装置と
して用いる。Disk management table 21 corresponding to this
FIG. 23 shows an example of setting 0. Four magnetic disk devices are defined as a virtual array disk device va0, and the whole is one logical virtual array disk device va0.
This corresponds to the case of using as 0. The three magnetic disk devices with id numbers 4, 5, and 6 are used as normal magnetic disk devices.
【0163】図24はid番号0、1、2、3の4台の
磁気ディスク装置の特定のパーティションを用いる場合
である。FIG. 24 shows the case of using specific partitions of four magnetic disk devices with id numbers 0, 1, 2, and 3.
【0164】これに対応するディスク管理テーブルの設
定例を図25に示す。図23と同様に定義したバーチャ
ルアレイディスク装置va0の第0パーティションを論
理バーチャルアレイディスク装置va00として用いる
場合である。id番号4、5、6の3台の磁気ディスク
装置は、通常の磁気ディスク装置として用いる。FIG. 25 shows a setting example of the disk management table corresponding to this. This is a case where the 0th partition of the virtual array disk device va0 defined similarly to FIG. 23 is used as the logical virtual array disk device va00. The three magnetic disk devices with id numbers 4, 5, and 6 are used as normal magnetic disk devices.
【0165】図26はid番号0、1、2、3の4台の
磁気ディスク装置の各3つのパーティションを用いて、
論理バーチャルアレイディスク装置を3組定義した場合
である。In FIG. 26, three partitions of four magnetic disk devices with id numbers 0, 1, 2, and 3 are used.
This is a case where three sets of logical virtual array disk devices are defined.
【0166】これに対応するディスク管理テーブル21
0の設定例を図27に示す。図23と同様に定義したバ
ーチャルアレイディスク装置va0の第0、第1、第2
パーティションを、それぞれ論理バーチャルアレイディ
スク装置va00、va01、va02として用いる場
合である。id番号4、5、6の3台の磁気ディスク装
置は、通常の磁気ディスク装置として用いる。The disk management table 21 corresponding to this
FIG. 27 shows an example of setting 0. The 0th, 1st and 2nd virtual array disk devices va0 defined in the same way as in FIG.
This is a case where the partitions are used as logical virtual array disk devices va00, va01, va02, respectively. The three magnetic disk devices with id numbers 4, 5, and 6 are used as normal magnetic disk devices.
【0167】図28はid番号0、1、2、3の4台の
磁気ディスク装置の特定のパーティション、およびid
番号4、5の2台の磁気ディスク装置の特定のパーティ
ションを用い、論理バーチャルアレイディスク装置を2
組定義した場合である。FIG. 28 shows specific partitions of four magnetic disk devices with id numbers 0, 1, 2, and 3, and ids.
Two logical virtual array disk devices are used by using specific partitions of two magnetic disk devices of numbers 4 and 5.
This is the case when a pair is defined.
【0168】これに対応するディスク管理テーブル21
0の設定例を図29に示す。id番号0、1、2、3の
4台の磁気ディスク装置をバーチャルアレイディスク装
置va0、id番号4、5の2台の磁気ディスク装置を
バーチャルアレイディスク装置va1としてそれぞれ定
義し、各々の第0パーティションをそれぞれ論理バーチ
ャルアレイディスク装置va00、va10として用い
る場合である。id番号6の磁気ディスク装置は、通常
の磁気ディスク装置として用いる。Disk management table 21 corresponding to this
An example of setting 0 is shown in FIG. Four magnetic disk devices with id numbers 0, 1, 2, and 3 are defined as a virtual array disk device va0, and two magnetic disk devices with id numbers 4 and 5 are defined as a virtual array disk device va1, respectively. This is a case where the partitions are used as the logical virtual array disk devices va00 and va10, respectively. The magnetic disk device with id number 6 is used as a normal magnetic disk device.
【0169】図30はid番号0、1、2、3の4台の
磁気ディスク装置の各3つのパーティション、およびi
d番号4、5の2台の磁気ディスク装置の各3つのパー
ティションを用い、論理バーチャルアレイディスク装置
を6組定義した場合である。FIG. 30 shows three partitions of four magnetic disk devices with id numbers 0, 1, 2, and 3, and i.
This is a case where six sets of logical virtual array disk devices are defined by using three partitions of two magnetic disk devices of d numbers 4 and 5, respectively.
【0170】これに対応するディスク管理テーブル21
0の設定例を図31に示す。図29と同様に定義したバ
ーチャルアレイディスク装置va0、va1の第0、第
1、第2パーティションを、それぞれ論理バーチャルア
レイディスク装置va00、va01、va02、およ
びva10、va11、va12として用いる場合であ
る。id番号6の磁気ディスク装置は通常の磁気ディス
ク装置として用いる。Disk management table 21 corresponding to this
An example of setting 0 is shown in FIG. This is a case where the 0th, 1st, and 2nd partitions of the virtual array disk devices va0, va1 defined similarly to FIG. 29 are used as the logical virtual array disk devices va00, va01, va02, and va10, va11, va12, respectively. The magnetic disk device with id number 6 is used as a normal magnetic disk device.
【0171】図32はid番号0、2の2台の磁気ディ
スク装置の各3つのパーティション、id番号4、6の
2台の磁気ディスク装置の各2つのパーティション、お
よびid番号1、3の2台の磁気ディスク装置の各1つ
のパーティションを用い、論理バーチャルアレイディス
ク装置を3組定義した場合である。FIG. 32 shows three partitions of two magnetic disk devices with id numbers 0 and 2, two partitions of two magnetic disk devices with id numbers 4 and 6, and two partitions with id numbers 1 and 3. This is a case where three sets of logical virtual array disk devices are defined by using one partition of each magnetic disk device.
【0172】これに対応するディスク管理テーブル21
0の設定例を図33に示す。id番号0、2、4、6の
4台の磁気ディスク装置をバーチャルアレイディスク装
置va0、id番号0、1、2、3の4台の磁気ディス
ク装置をバーチャルアレイディスク装置va1としてそ
れぞれ定義し、va0の第0、第2パーティションをそ
れぞれ論理バーチャルアレイディスク装置va00、v
a02として、va1の第1パーティションを論理バー
チャルアレイディスク装置va11として用いる場合で
ある。id番号0、2の2台の磁気ディスク装置はva
0とva1とに重複して定義されることになるが、利用
するパーティションが重ならないようにすれば問題は生
じない。なお、id番号5の磁気ディスク装置は、通常
の磁気ディスク装置として用いる。 以上の各構成例に
おいて、磁気ディスク装置の台数及びid番号は、上記
以外の組合せでも実現可能である。Disk management table 21 corresponding to this
An example of setting 0 is shown in FIG. The four magnetic disk devices with id numbers 0, 2, 4, and 6 are defined as virtual array disk device va0, and the four magnetic disk devices with id numbers 0, 1, 2, 3 are defined as virtual array disk device va1, respectively. The 0th and 2nd partitions of va0 are logical virtual array disk devices va00 and v, respectively.
As a02, the first partition of va1 is used as the logical virtual array disk device va11. Two magnetic disk devices with id numbers 0 and 2 are va
Although 0 and va1 are defined in duplicate, no problem occurs if the partitions to be used do not overlap. The magnetic disk device with id number 5 is used as a normal magnetic disk device. In each of the above configuration examples, the number of magnetic disk devices and the id number can be realized in combinations other than the above.
【0173】図34〜39は本実施例においてミラーモ
ードを実現する例である。すなわち、論理バーチャルア
レイディスク装置としてプライマリ(正)とバックアッ
プ(副)を一組にして定義し、同一ファイルを両方に格
納するものである。これにより、プライマリに障害が発
生した場合には、バックアップを替わりに使用すること
により信頼性向上を図ることができる。34 to 39 are examples of realizing the mirror mode in this embodiment. That is, the primary (primary) and backup (secondary) sets are defined as a set as a logical virtual array disk device, and the same file is stored in both. As a result, when a failure occurs in the primary, the backup can be used instead to improve reliability.
【0174】ファイル書き込みの場合には、プライマリ
とバックアップの両方に書き込む。In the case of writing a file, it is written in both the primary and backup.
【0175】まずプライマリとして定義した論理バーチ
ャルアレイディスク装置に対して、非同期書き込みによ
りデータブロックを書き込む。引き続き、バックアップ
として定義した論理バーチャルアレイディスク装置に対
しても、やはり非同期書き込みによりプライマリと同様
のデータブロックを書き込む。バックアップへの書き込
み命令を発行した後、次のデータブロックの書き込み処
理に移り、プライマリおよびバックアップに対して上記
と同様の手順によりデータブロックを書き込む。First, a data block is written to the logical virtual array disk device defined as the primary by asynchronous writing. Subsequently, the same data block as that of the primary is written by the asynchronous write to the logical virtual array disk device defined as the backup. After issuing the write command to the backup, the process moves to the writing process of the next data block, and the data block is written to the primary and the backup by the same procedure as above.
【0176】なお、プライマリとバックアップへの書き
込み方に関しては、各論理バーチャルアレイディスク装
置を構成する対応するディスク装置ごとに、すなわちh
d0とhd2、hd1とhd3というように書き込むこ
とも、その逆にhd0とhd3、hd1とhd2という
ように書き込むことも可能である。これは、ディスク管
理テーブルに設定された識別子vaXYZのZの値をキ
ーとして対応を取ることにより行う。具体的な例は図3
5の説明で述べる。Regarding the method of writing data to the primary and the backup, for each corresponding disk device constituting each logical virtual array disk device, that is, h
It is possible to write as d0 and hd2, hd1 and hd3, and conversely, to write as hd0 and hd3, and hd1 and hd2. This is performed by using the value of Z of the identifier vaXYZ set in the disk management table as a key to establish correspondence. A concrete example is shown in FIG.
It will be described in the description of 5.
【0177】これにより、ユーザにはバックアップへの
書き込み時間をほとんど感じさせずに、ミラーモードを
実現することができる。As a result, the mirror mode can be realized while the user hardly feels the write time to the backup.
【0178】ファイル読み出しの場合には、プライマリ
のみから読み出しを行う。すなわち、ミラーモード指定
を行っていない論理バーチャルアレイディスク装置に格
納されたファイルを読み出すのと同様の方法で、プライ
マリからファイルの読み出しを行う。しかし、プライマ
リに障害が発生すると、バックアップに格納されたファ
イルを替わりに使用する。When reading a file, only the primary is read. That is, the file is read from the primary in the same manner as the file stored in the logical virtual array disk device for which the mirror mode is not specified. However, if the primary fails, it will use the files stored in the backup instead.
【0179】これにより、磁気ディスク装置の信頼性を
向上することができる。また、通常の利用状態ではプラ
イマリのみからファイルを読み出すので、バックアップ
が存在することによるペナルティが発生することなく、
高速にファイルの読み出しが行える。This makes it possible to improve the reliability of the magnetic disk device. Also, in the normal usage state, files are read from only the primary, so there is no penalty due to the existence of backup,
Files can be read at high speed.
【0180】以下、図を用いて、ミラーモードでの論理
バーチャルアレイディスク装置として使用する論理ディ
スク装置の組合せについて説明する。ミラーモードでな
い論理バーチャルアレイディスク装置の定義の場合と同
様に、ディスク管理テーブル210により使用する論理
ディスク装置に一連の識別子を付けることで定義を行
う。さらに、プライマリであるのかバックアップである
のかということと、その組合せを拡張子により示す。例
えば、vaXYZ_p0は識別子vaXYZの論理ディ
スク装置がシステム中でミラーモードのプライマリ論理
バーチャルアレイディスク装置の構成要素として定義さ
れており、バックアップ論理バーチャルアレイディスク
装置の構成要素として定義されるvaXYZ_b0の論
理ディスク装置と対をなすということを示す。なお、論
理バーチャルアレイディスク装置として定義していない
領域は、特に断わりがなくとも通常の論理ディスク装置
として利用可能である。A combination of logical disk devices used as a logical virtual array disk device in the mirror mode will be described below with reference to the drawings. Similar to the definition of the logical virtual array disk device which is not in the mirror mode, the logical management is performed by adding a series of identifiers to the logical disk device to be used by the disk management table 210. Furthermore, whether it is primary or backup and its combination are indicated by an extension. For example, vaXYZ_p0 is defined as a component of the primary logical virtual array disk device in the mirror mode in the system where the logical disk device with the identifier vaXYZ is defined, and a logical disk device of vaXYZ_b0 defined as a component of the backup logical virtual array disk device. It shows that it is paired with. An area that is not defined as a logical virtual array disk device can be used as a normal logical disk device without special notice.
【0181】図34はid番号0、1の2台の磁気ディ
スク装置の各1つのパーティションを用いてプライマリ
とし、id番号2、3の2台の磁気ディスク装置の各1
つのパーティションを用いてバックアップとして、ミラ
ーモードの論理バーチャルアレイディスク装置を1組定
義した場合である。In FIG. 34, one partition of each of the two magnetic disk devices with id numbers 0 and 1 is used as a primary, and one of each of the two magnetic disk devices with id numbers 2 and 3 is used.
This is a case where one set of logical virtual array disk devices in mirror mode is defined as a backup using one partition.
【0182】これに対応するディスク管理テーブル21
0の設定例を図35に示す。id番号0、1の2台の磁
気ディスク装置をバーチャルアレイディスク装置va
0、id番号2、3の2台の磁気ディスク装置をバーチ
ャルアレイディスク装置va1としてそれぞれ定義し、
各々の第0パーティションをそれぞれ論理バーチャルア
レイディスク装置va00_p0(プライマリ)、va
10_b0(バックアップ)として用いる場合である。
本図の例では、プライマリを構成する論理ディスク装置
va000−p0、va001−p0に、バックアップ
を構成する論理ディスク装置va100−b0、va1
01−b0がそれぞれ対応する。id番号4、5、6の
磁気ディスク装置は、通常の磁気ディスク装置として用
いる。Disk management table 21 corresponding to this
An example of setting 0 is shown in FIG. Two magnetic disk devices with id numbers 0 and 1 are connected to the virtual array disk device va.
Two magnetic disk devices of 0 and id numbers 2 and 3 are defined as virtual array disk device va1, respectively.
The 0th partition of each logical virtual array disk device va00_p0 (primary), va
This is the case of using as 10_b0 (backup).
In the example of the figure, the logical disk devices va000-p0 and va0011-p0 forming the primary are connected to the logical disk devices va100-b0 and va1 forming the backup.
01-b0 correspond to each. The magnetic disk devices with id numbers 4, 5, and 6 are used as normal magnetic disk devices.
【0183】図36はid番号0、1、2、3の4台の
磁気ディスク装置の各2つのパーティションを用いて、
第1パーティションをプライマリとし、第2パーティシ
ョンをバックアップとして、ミラーモードの論理バーチ
ャルアレイディスク装置を1組定義した場合である。In FIG. 36, two partitions of four magnetic disk devices with id numbers 0, 1, 2, 3 are used.
This is a case where one set of logical virtual array disk devices in the mirror mode is defined with the first partition as the primary and the second partition as the backup.
【0184】これに対応するディスク管理テーブル21
0の設定例を図37に示す。id番号0、1、2、3の
4台の磁気ディスク装置をバーチャルアレイディスク装
置va1として定義し、第1、第2パーティションをそ
れぞれ論理バーチャルアレイディスク装置va11_p
1(プライマリ)、va12_b1(バックアップ)と
して用いる場合である。id番号4、5、6の磁気ディ
スク装置は、通常の磁気ディスク装置として用いる。The disk management table 21 corresponding to this
An example of setting 0 is shown in FIG. Four magnetic disk devices with id numbers 0, 1, 2, 3 are defined as virtual array disk device va1, and the first and second partitions are logical virtual array disk device va11_p, respectively.
1 (primary) and va12_b1 (backup). The magnetic disk devices with id numbers 4, 5, and 6 are used as normal magnetic disk devices.
【0185】図38はid番号0、1、2、3の4台の
磁気ディスク装置のひとつのパーティションを用いてプ
ライマリとし、id番号3、4、5、6の4台の磁気デ
ィスク装置のひとつのパーティションを用いてバックア
ップとして、ミラーモードの論理バーチャルアレイディ
スク装置を1組定義した場合である。In FIG. 38, one partition of four magnetic disk devices with id numbers 0, 1, 2, and 3 is used as a primary, and one of the four magnetic disk devices with id numbers 3, 4, 5, and 6 is used. This is a case where one set of logical virtual array disk devices in the mirror mode is defined as a backup using the partition.
【0186】これに対応するディスク管理テーブル21
0の設定例を図39に示す。id番号0、1、2、3の
4台の磁気ディスク装置をバーチャルアレイディスク装
置va2、id番号3、4、5、6の4台の磁気ディス
ク装置をバーチャルアレイディスク装置va3としてそ
れぞれ定義し、各々の第3、第4パーティションをそれ
ぞれ論理バーチャルアレイディスク装置va23_p2
(プライマリ)、va34_b2(バックアップ)とし
て用いる場合である。The disk management table 21 corresponding to this
An example of setting 0 is shown in FIG. Four magnetic disk devices with id numbers 0, 1, 2, 3 are defined as virtual array disk device va2, and four magnetic disk devices with id numbers 3, 4, 5, 6 are defined as virtual array disk device va3, respectively. The third and fourth partitions are respectively assigned to the logical virtual array disk device va23_p2.
(Primary) and va34_b2 (backup).
【0187】図40は本発明の第3の実施例である。図
1に示した第1の実施例におけるid番号0、1、2、
3の磁気ディスク装置170−0〜170−3をアレイ
ディスク装置300−0〜300−3に置き換えたもの
である。アレイディスク装置は磁気ディスク装置に比べ
て装置単体でのファイル転送性能が高いので、本実施例
は第1の実施例に比べてより一層ファイルアクセス高速
化の効果が得られる。FIG. 40 shows the third embodiment of the present invention. The id numbers 0, 1, 2, in the first embodiment shown in FIG.
The magnetic disk devices 170-0 to 170-3 of No. 3 are replaced with array disk devices 300-0 to 300-3. Since the array disk device has a higher file transfer performance as a single device than the magnetic disk device, the present embodiment can obtain the effect of further speeding up file access as compared with the first embodiment.
【0188】なお、動作や制御方式は図1の第1の実施
例と全く同様である。The operation and control system is exactly the same as in the first embodiment of FIG.
【0189】これに対応する、アレイディスク装置30
0−0〜300−3を含むバーチャルアレイディスクの
ディスク管理テーブルの設定例を図41に示す。id番
号0、1、2、3の4台がアレイディスク装置となって
いる。ここでは4台のアレイディスク装置ad0、ad
1、ad2、およびad3でバーチャルアレイディスク
装置va0を構成している。Array disk device 30 corresponding to this
FIG. 41 shows a setting example of the disk management table of the virtual array disk including 0-0 to 300-3. Four of the id numbers 0, 1, 2, 3 are array disk devices. Here, four array disk devices ad0, ad
The virtual array disk device va0 is composed of 1, ad2, and ad3.
【0190】また本実施例においても、論理バーチャル
アレイディスク装置va01_p0とva02_b0、
va21_p1とva22_b1のようにミラーモード
に対応することも可能である。Also in this embodiment, the logical virtual array disk devices va01_p0 and va02_b0,
It is also possible to support the mirror mode like va21_p1 and va22_b1.
【0191】これまでの実施例では7台の磁気ディスク
装置が接続された場合を例に取り説明したが、磁気ディ
スク装置の台数を2台、3台、4台...と順次増やし
て行くことも可能である。ここで、例えば4台の磁気デ
ィスク装置を5台に増やした場合、4台のディスクに格
納されていたファイルを5台の磁気ディスク装置に再配
置することが必要となる。In the above-described embodiments, the case where seven magnetic disk devices are connected has been described as an example, but the number of magnetic disk devices is 2, 3, 4 ,. . . It is also possible to increase sequentially. Here, for example, when the number of four magnetic disk devices is increased to five, it is necessary to relocate the files stored in the four disks to the five magnetic disk devices.
【0192】本発明によれば、磁気ディスク装置の増設
後に新たなパーティションへファイルをコピーすること
により、ファイルのストライピング数を自動的に増加さ
せて行くことも可能となる。すなわち、バーチャルアレ
イディスク装置に格納されたファイルを読み書きする場
合、ユーザはファイルの物理的な分割を意識することな
く処理を行うことができるため、コピー元からコピー先
へファイルをコピーするだけで、ユーザがこれを特に意
識することなく、ストライピング数の変換を行うことが
可能である。この場合について以下に説明する。According to the present invention, by copying a file to a new partition after adding a magnetic disk device, it is possible to automatically increase the striping number of the file. That is, when reading and writing a file stored in the virtual array disk device, the user can perform processing without being aware of the physical division of the file, so by simply copying the file from the copy source to the copy destination, The user can convert the striping number without paying particular attention to this. This case will be described below.
【0193】図42にディスク管理テーブル210の設
定例を、図43にディスク増設時のファイルコピーの制
御フローをそれぞれ示す。図42において、磁気ディス
ク装置のid番号0、1、2、3の第0パーティション
により構成されている論理バーチャルアレイディスク装
置va00はコピー元であり、磁気ディスク装置のid
番号0、1、2、3、4の第1パーティションにより構
成されている論理バーチャルアレイディスク装置va1
1はコピー先である。FIG. 42 shows a setting example of the disk management table 210, and FIG. 43 shows a control flow of file copy when adding disks. In FIG. 42, the logical virtual array disk device va00 constituted by the 0th partition with the magnetic disk device id numbers 0, 1, 2, and 3 is the copy source, and the magnetic disk device id
Logical virtual array disk device va1 configured by the first partitions of numbers 0, 1, 2, 3, 4
1 is a copy destination.
【0194】図43に示す制御フローに従って、va0
0からva11へファイルを固定長のデータに分割して
コピーする。According to the control flow shown in FIG. 43, va0
The file is divided into fixed-length data and copied from 0 to va11.
【0195】(1)コピー先の論理バーチャルアレイデ
ィスク装置va11をディスク管理テーブル210に定
義する。(1) The copy destination logical virtual array disk device va11 is defined in the disk management table 210.
【0196】(2)コピー元の論理バーチャルアレイデ
ィスク装置va00から、図14のファイル読み出しの
制御フローによりファイルを分割した固定長のデータを
読み込み、これをコピー先の論理バーチャルアレイディ
スク装置va11へ、図15のファイル書き込みの制御
フローにより書き込む。(2) Fixed-length data obtained by dividing a file is read from the copy-source logical virtual array disk device va00 according to the file read control flow of FIG. 14, and this is read to the copy-destination logical virtual array disk device va11. Writing is performed according to the file writing control flow in FIG.
【0197】(3)コピー終了か判定し、まだ残りがあ
れば(2)に戻って繰り返す。コピー終了であれば
(4)へ進む。(3) It is judged whether or not copying is completed, and if there is any remaining copy, the process returns to (2) and is repeated. If copying is completed, proceed to (4).
【0198】(4)ディスク管理テーブル210上のコ
ピー元の論理バーチャルアレイディスク装置va00を
無効化する。(4) Invalidate the copy source logical virtual array disk device va00 on the disk management table 210.
【0199】以上により、磁気ディスク装置の増設に伴
うストライピング数の変更が容易に可能となる。この際
に、読み出しおよび書き込みの単位とする固定長のデー
タとしては、任意のブロック数を定義することができ
る。As described above, it is possible to easily change the striping number due to the addition of magnetic disk devices. At this time, an arbitrary number of blocks can be defined as the fixed-length data which is a unit of reading and writing.
【0200】図44は複数のI/Oバスを有する本発明
の一実施例である。図1の第1の実施例の構成ではI/
Oバスは1本であったが、図44では4本のI/Oバス
を有する構成となっている。したがって、I/Oバスイ
ンタフェース150、151、152、153とI/O
バス160、161、162、163、さらに各I/O
バスごとの7台の磁気ディスク装置170−0〜170
−6、171−0〜171−6、172−0〜172−
6、173−0〜173−6からなる4組のディスクサ
ブシステムを設けている。アクセス制御プログラムが複
数のI/Oバスへのスケジューリングを行う点を除け
ば、各ディスクサブシステムの制御方法は前述の各実施
例のものをそのまま適用することが可能である。例え
ば、各I/Oバスごとに第1の実施例のような多重アク
セス制御を行い、さらにI/Oバス間での1階層上での
多重アクセス制御を行うということが可能である。ま
た、各I/Oバスごとの多重アクセス制御を並列に行う
ことも可能である。FIG. 44 is an embodiment of the present invention having a plurality of I / O buses. In the configuration of the first embodiment of FIG. 1, I /
Although there is only one O bus, FIG. 44 has a configuration having four I / O buses. Therefore, I / O bus interfaces 150, 151, 152, 153 and I / O
Bus 160, 161, 162, 163 and each I / O
Seven magnetic disk devices 170-0 to 170 for each bus
-6, 171-0 to 171-6, 172-0 to 172-
There are four sets of disk subsystems 6 and 173-0 to 173-6. Except that the access control program schedules to a plurality of I / O buses, the control method of each disk subsystem can be applied as it is to the above-mentioned respective embodiments. For example, it is possible to perform multiple access control as in the first embodiment for each I / O bus, and further perform multiple access control on one hierarchy between I / O buses. It is also possible to perform multiple access control in parallel for each I / O bus.
【0201】各I/Oバス160、161、162、1
63と共通データバス101間でのデータ転送におい
て、共通データバスの速度がI/Oバスの速度の4倍よ
りも大きく、なおかつ上述のような制御方式を用いるこ
とによりデータ転送の相手が特定のI/Oバスに集中す
ることがないような場合には、本図の実施例は最大のデ
ータ転送速度を達成することができる。その場合、I/
Oバスが1本の第1の実施例に比較して本図の実施例で
は4倍のデータ転送速度となる。したがって、本実施例
によりバーチャルアレイディスクの高速性をさらに高め
ることが可能となる。なお、本図ではI/Oバスが4本
の場合について示したが、もちろん4本以外の構成を取
ることも可能である。Each I / O bus 160, 161, 162, 1
In the data transfer between 63 and the common data bus 101, the speed of the common data bus is higher than four times the speed of the I / O bus, and the partner of the data transfer is specified by using the control method described above. In the case where there is no concentration on the I / O bus, the embodiment of this figure can achieve the maximum data transfer rate. In that case, I /
In the embodiment shown in the figure, the data transfer speed is four times as high as that in the first embodiment having one O-bus. Therefore, according to this embodiment, it is possible to further improve the high speed of the virtual array disk. It should be noted that the case where there are four I / O buses is shown in this figure, but it is of course possible to adopt a configuration other than four.
【0202】また、磁気ディスク装置を増設してシステ
ムを拡張する場合には、各I/Oバス内での磁気ディス
ク装置の増設と、I/Oバス単位での増設が可能であ
る。このため、1スタックごとに磁気ディスク装置の増
設を行わなければならないアレイディスク装置に比べ、
よりフレキシブルにシステムの拡張に対応することがで
きるという長所を有する。Further, when the system is expanded by adding the magnetic disk device, it is possible to add the magnetic disk device in each I / O bus and the I / O bus unit. For this reason, compared to array disk devices, which require additional magnetic disk devices for each stack,
It has an advantage that it can respond to the expansion of the system more flexibly.
【0203】この様に本実施例によれば、バーチャルア
レイディスク装置を用いたファイルアクセスの一層の高
速化と、柔軟なシステムの拡張性を同時に実現すること
ができるという効果がある。As described above, according to the present embodiment, there is an effect that it is possible to further speed up file access using the virtual array disk device and realize flexible system expandability at the same time.
【0204】図40の第3の実施例に示したように、図
44の実施例の磁気ディスク装置をアレイディスク装置
に置き換えた構成を取ることも可能である。この実施例
を図45に示す。図45では、第0番のI/Oバスの磁
気ディスク装置がアレイディスク装置300−0〜30
0−6となっている。これにより、より一層のファイル
アクセス高速化を図ることが可能となる。この際、原理
的にはアレイディスク装置は任意の磁気ディスク装置と
入れ替えることが可能であり、本図に示した以外の構成
も容易に実現することが可能である。As shown in the third embodiment of FIG. 40, the magnetic disk device of the embodiment of FIG. 44 may be replaced with an array disk device. This embodiment is shown in FIG. In FIG. 45, the magnetic disk device of the 0th I / O bus is the array disk device 300-0 to 30.
It is 0-6. This makes it possible to further speed up file access. At this time, in principle, the array disk device can be replaced with an arbitrary magnetic disk device, and a configuration other than that shown in this figure can be easily realized.
【0205】なお、上記図44、および図45に示した
複数のI/Oバスを有する実施例においても、1本のI
/Oバスを有する実施例の説明中で述べた本発明の種々
の機能を実現することが可能なことは明らかである。In the embodiment having a plurality of I / O buses shown in FIGS. 44 and 45, one I
Obviously, the various functions of the invention described in the description of the embodiment with an / O bus can be implemented.
【0206】本発明によれば、ディスコネクト・リコネ
クト機能を備えたI/Oバスを有する計算機システムに
おいて、該I/Oバスに接続された複数のディスク装置
にファイルを分割格納してソフトウェアで多重・並列ア
クセス制御することで、高価なハードウェアを用いるこ
となく、アレイディスク装置に匹敵するほどの高速なフ
ァイルアクセスを実現することができるという効果があ
る。しかも、ユーザはあたかも1台のディスク装置を使
っているかのごとく、複数のディスクに分割されたファ
イルをアクセスすることができるようになる。これによ
り、従来よりも非常に低コストで高速ファイルアクセス
可能な計算機システムを実現することができるという効
果が得られる。According to the present invention, in a computer system having an I / O bus having a disconnect / reconnect function, files are divided and stored in a plurality of disk devices connected to the I / O bus and multiplexed by software. -By performing parallel access control, there is an effect that a high-speed file access comparable to an array disk device can be realized without using expensive hardware. Moreover, the user can access the files divided into a plurality of disks as if using one disk device. As a result, it is possible to obtain an effect that it is possible to realize a computer system capable of high-speed file access at a much lower cost than before.
【0207】また、特殊なハードウェアを用いないの
で、ディスク装置の増設の際には1台づつ増設していく
ことができ、柔軟なシステム拡張が可能であるという効
果もある。Further, since no special hardware is used, it is possible to add one disk unit at a time when adding disk devices, and there is also an effect that the system can be flexibly expanded.
【0208】[0208]
【発明の効果】本発明によれば、高速なデータアクセス
可能な計算機システムを実現することができるという効
果が得られる。According to the present invention, it is possible to realize a computer system capable of high-speed data access.
【図1】第1の実施例を示す図FIG. 1 is a diagram showing a first embodiment.
【図2】第1の実施例におけるファイル読み出しのタイ
ムチャートFIG. 2 is a time chart of file reading in the first embodiment.
【図3】第1の実施例におけるファイル読み出しのフロ
ーチャートFIG. 3 is a flowchart of file reading according to the first embodiment.
【図4】第1の実施例におけるファイル書き込みのタイ
ムチャートFIG. 4 is a time chart of file writing in the first embodiment.
【図5】第1の実施例におけるファイル書き込みのフロ
ーチャートFIG. 5 is a flowchart of file writing in the first embodiment.
【図6】第2の実施例を示す図FIG. 6 is a diagram showing a second embodiment.
【図7】ディスク管理テーブルを示す図FIG. 7 is a diagram showing a disk management table.
【図8】ファイル管理テーブルを示す図FIG. 8 is a diagram showing a file management table.
【図9】ファイル記述子対応テーブルを示す図FIG. 9 is a diagram showing a file descriptor correspondence table.
【図10】ファイルアクセスの全体フローチャートFIG. 10: Overall flowchart of file access
【図11】mount処理の制御フローチャートFIG. 11 is a control flowchart of mount processing.
【図12】ディレクトリ構造を示す図FIG. 12 is a diagram showing a directory structure.
【図13】open処理の制御フローチャートFIG. 13 is a control flowchart of open processing.
【図14】read処理の制御フローチャートFIG. 14 is a control flowchart of read processing.
【図15】write処理の制御フローチャートFIG. 15 is a control flowchart of write processing.
【図16】close処理の制御フローチャートFIG. 16 is a control flowchart of close processing.
【図17】umount処理の制御フローチャートFIG. 17 is a control flowchart of umount processing.
【図18】データブロック1個を単位とするストライピ
ングを示す図FIG. 18 is a diagram showing striping in units of one data block.
【図19】データブロック1個を単位とするストライピ
ングを示す図FIG. 19 is a diagram showing striping in units of one data block.
【図20】データブロック4個を単位とするストライピ
ングを示す図FIG. 20 is a diagram showing striping in units of four data blocks.
【図21】データブロック4個を単位とするストライピ
ングを示す図FIG. 21 is a diagram showing striping in units of four data blocks.
【図22】バーチャルアレイディスクの使用領域を示す
図FIG. 22 is a diagram showing a used area of a virtual array disk.
【図23】ディスク管理テーブルの設定例を示す図FIG. 23 is a diagram showing a setting example of a disk management table.
【図24】バーチャルアレイディスクの使用領域を示す
図FIG. 24 is a diagram showing a used area of a virtual array disk.
【図25】ディスク管理テーブルの設定例を示す図FIG. 25 is a diagram showing a setting example of a disk management table.
【図26】バーチャルアレイディスクの使用領域を示す
図FIG. 26 is a diagram showing a used area of a virtual array disk.
【図27】ディスク管理テーブルの設定例を示す図FIG. 27 is a diagram showing a setting example of a disk management table.
【図28】バーチャルアレイディスクの使用領域を示す
図FIG. 28 is a diagram showing a used area of a virtual array disk.
【図29】ディスク管理テーブルの設定例を示す図FIG. 29 is a diagram showing a setting example of a disk management table.
【図30】バーチャルアレイディスクの使用領域を示す
図FIG. 30 is a diagram showing a used area of a virtual array disk
【図31】ディスク管理テーブルの設定例を示す図FIG. 31 is a diagram showing an example of setting a disk management table.
【図32】バーチャルアレイディスクの使用領域を示す
図FIG. 32 is a diagram showing a used area of a virtual array disk
【図33】ディスク管理テーブルの設定例を示す図FIG. 33 is a diagram showing a setting example of a disk management table.
【図34】ミラーモードの使用領域を示す図FIG. 34 is a diagram showing a use area of a mirror mode.
【図35】ミラーモードでのディスク管理テーブルの設
定例を示す図FIG. 35 is a diagram showing a setting example of a disk management table in the mirror mode.
【図36】ミラーモードの使用領域を示す図FIG. 36 is a diagram showing a use area of a mirror mode.
【図37】ミラーモードでのディスク管理テーブルの設
定例を示す図FIG. 37 is a diagram showing an example of setting the disk management table in the mirror mode.
【図38】ミラーモードの使用領域を示す図FIG. 38 is a diagram showing a use area of a mirror mode.
【図39】ミラーモードでのディスク管理テーブルの設
定例を示す図FIG. 39 is a diagram showing a setting example of the disk management table in the mirror mode.
【図40】アレイディスクを含む構成の第3の実施例を
示す図FIG. 40 is a diagram showing a third embodiment of a configuration including an array disk.
【図41】アレイディスクを含むディスク管理テーブル
の設定例を示す図FIG. 41 is a diagram showing a setting example of a disk management table including array disks.
【図42】ディスク増設時のファイルコピーのディスク
管理テーブルの設定例を示す図FIG. 42 is a diagram showing an example of setting a disk management table for file copy when adding disks.
【図43】ディスク増設時のファイルコピーの制御フロ
ーチャート[Fig. 43] Flowchart for file copy control when adding disks
【図44】複数のI/Oバスを有する実施例を示す図FIG. 44 is a diagram showing an embodiment having a plurality of I / O buses.
【図45】複数のI/Oバスを有しアレイディスクを含
む実施例を示す図FIG. 45 is a diagram showing an embodiment including an array disk having a plurality of I / O buses.
【図46】アレイディスクの構成を示す図FIG. 46 is a diagram showing the configuration of an array disk.
【図47】アレイディスクのタイムチャートFIG. 47 is a time chart of an array disk
【図48】本発明の原理図FIG. 48 is a principle diagram of the present invention
【図49】本発明におけるファイル読み出しのタイムチ
ャートFIG. 49 is a time chart of file reading according to the present invention.
10…ファイル、10−0〜10−9…ファイルを構成
するデータブロック、20−0〜20−3…磁気ディス
ク装置の内部キャッシュメモリ、100…CPU、10
1…共通データバス、110…メモリ、120…CRT
ディスプレイ、130…キーボード、140…ネットワ
ークインタフェース、150、151、152、153
…I/Oバスインタフェース、160、161、16
2、163…I/Oバス、170−0〜170−6…磁
気ディスク装置、171−0〜171−6…磁気ディス
ク装置、172−0〜172−6…磁気ディスク装置、
173−0〜173−6…磁気ディスク装置、180−
0〜180−7…ディスコネクト/リコネクト手段、1
81−7、182−7、183−7…ディスコネクト/
リコネクト手段、190…ワークステーション、191
…LAN、200…アクセス制御プログラム、210…
ディスク管理テーブル、220…ファイル管理テーブ
ル、230…ファイル記述子対応テーブル、300、3
00−0〜300−6…アレイディスク装置、310…
FIFO0、311…FIFO1、312…FIFO
2、313…FIFO3、320…内部バス、330…
バッファ、340…SCSIバスインタフェース、40
0…ホストCPU装置。10 ... File, 10-0 to 10-9 ... Data blocks forming file, 20-0 to 20-3 ... Internal cache memory of magnetic disk device, 100 ... CPU, 10
1 ... Common data bus, 110 ... Memory, 120 ... CRT
Display, 130 ... Keyboard, 140 ... Network interface, 150, 151, 152, 153
... I / O bus interface, 160, 161, 16
2, 163 ... I / O bus, 170-0 to 170-6 ... Magnetic disk device, 171-0 to 171-6 ... Magnetic disk device, 172-0 to 172-6 ... Magnetic disk device,
173-0 to 173-6 ... Magnetic disk device, 180-
0-180-7 ... disconnect / reconnect means, 1
81-7, 182-7, 183-7 ... Disconnect /
Reconnecting means, 190 ... Workstation, 191
... LAN, 200 ... Access control program, 210 ...
Disk management table, 220 ... File management table, 230 ... File descriptor correspondence table, 300, 3
00-0 to 300-6 ... Array disk device, 310 ...
FIFO0, 311 ... FIFO1, 312 ... FIFO
2, 313 ... FIFO3, 320 ... Internal bus, 330 ...
Buffer, 340 ... SCSI bus interface, 40
0 ... Host CPU device.
フロントページの続き (72)発明者 鈴木 広義 神奈川県横浜市戸塚区戸塚町5030番地 株式会社 日立製作所 ソフトウェア事 業部内 (72)発明者 牧 敏行 神奈川県秦野市堀山下1番地 日立コン ピュータエンジニアリング株式会社内 (56)参考文献 特開 平4−49413(JP,A) 特開 平5−250099(JP,A) 特開 平2−236714(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 3/06 G11B 20/10 G06F 12/00 G06F 13/00 Continued Front Page (72) Hiroyoshi Suzuki, 5030 Totsuka-cho, Totsuka-ku, Yokohama-shi, Kanagawa 5030, Hitachi Ltd. Software Business Department (72) Toshiyuki Maki, 1 Horiyamashita, Hadano-shi, Kanagawa Hitachi Computer Engineering Co., Ltd. (56) References JP-A-4-49413 (JP, A) JP-A-5-250099 (JP, A) JP-A-2-236714 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 3/06 G11B 20/10 G06F 12/00 G06F 13/00
Claims (4)
コネクト・リコネクト装置を介してバスインタフェース
装置に接続され、当該バスインタフェース装置がバスに
接続され、当該バスにCPUと主記憶装置が接続された
計算機システムにおけるファイルアクセス方法であっ
て、 アプリケーションプログラムが読み出し要求において引
数に指定する元ファイルのファイル記述子と、当該元フ
ァイルを構成する複数のサブファイルのファイル記述子
との対応関係を前記主記憶装置のファイル記述子対応テ
ーブルに保持し、 各サブファイルのファイル記述子毎に、当該サブファイ
ルの容量、当該サブファイルが格納される理論ディスク
装置の名称、前記元ファイルを前記サブファイルに分割
したときに単位としたデータブロックの個数を示すスト
ライピングブロックを含むファイル管理テーブルを保持
し、 デイスク装置の名称と論理デイスク装置の名称との対応
関係と、前記論理デイスクに割り付けられたデイスク装
置のパーテイションとの関係をデイスク管理テーブルに
保持し、 前記アプリケーションプログラムからファイル記述子を
引数にして元ファイルの読み出し要求があったことに応
じて、前記ファイル記述子対応テーブルを参照して、前記
引数で指定された元ファイルのファイル記述子に対応す
る複数のサブファイルのファイル記述子を得て、 当該得た複数のサブファイルのファイル記述子に対応す
る複数のファイル管理テーブルを参照して、当該得た複
数のサブファイルに対応するサブファイルの容量、論理
デイスクの名称、及びストライピングブロックを得て、 前記デイスク管理テーブルを参照して当該得た論理デイ
スクの名称に対応するデイスク装置のパーテイションを
得て、 前記元ファイルを構成するサブファイルが格納された複
数のデイスク装置の各々に対して、1つのデイスク装置
と当該バスインタフェース装置をコネクトして、前記デ
イスク管理テーブルを参照して得たデイスク装置のパー
テイションに対してサブファイルの読み出し要求を前記
CPUから発行した後、当該デイスク装置をデイスコネ
クトするという処理を順次繰り返すことにより当該デイ
スク装置のヘッドの位置決めと、当該デイスク装置のデ
イスク媒体からキャッシュメモリへのデータ転送とによ
り生じる待ち時間の間に、別のデイスク装置へのサブフ
ァイル読み出し要求を前記CPUから発行し、 サブファイルの読み出しが可能となったデイスク装置か
ら前記CPUにリコネクト要求を発行し、リコネクト要
求を受け付けられたデイスク装置から前記主記憶装置へ
のサブファイルの読み出しを開始し、読み出し処理が終
了次第デイスコネクトするという処理を、読み出し要求
を発行した複数のデイスク装置に関して実行することを
特徴とするファイルアクセス制御方法。1. A plurality of disk devices are connected to a bus interface device via a unique disk connect / reconnect device, the bus interface device is connected to a bus, and a CPU and a main storage device are connected to the bus. A method for accessing a file in a computer system, wherein the main memory stores a correspondence relationship between a file descriptor of an original file specified by an application program as an argument in a read request and file descriptors of a plurality of subfiles forming the original file. It is stored in the device file descriptor correspondence table, and for each file descriptor of each subfile, the capacity of the subfile, the name of the theoretical disk device in which the subfile is stored, and the original file is divided into the subfiles. Sometimes indicates the number of data blocks in units A file management table including a triping block is held, and a relationship between the name of the disk device and the name of the logical disk device and the relationship of the partition of the disk device assigned to the logical disk is held in the disk management table. In response to a request to read the original file from the application program using the file descriptor as an argument, the file descriptor correspondence table is referenced to correspond to the file descriptor of the original file specified by the argument. Obtain the file descriptors of multiple subfiles, refer to the multiple file management tables corresponding to the obtained file descriptors of multiple subfiles, and determine the size of the subfiles that correspond to the multiple obtained subfiles. , Get the name of the logical disk, and the striping block, By referring to the disk management table, the partition of the disk device corresponding to the obtained logical disk name is obtained, and one disk device is stored for each of the plurality of disk devices storing the sub-files forming the original file. A process of connecting the device and the bus interface device, issuing a subfile read request from the CPU to the partition of the disk device obtained by referring to the disk management table, and then connecting the disk device. By sequentially repeating the above, during the waiting time caused by the positioning of the head of the disk device and the data transfer from the disk medium of the disk device to the cache memory, a sub file read request to another disk device is issued from the CPU. Issue and read subfile A process for issuing a reconnect request to the CPU from the disk device that is enabled to start reading the subfile from the disk device that has received the reconnect request to the main storage device, and performing a disk connect as soon as the read process is completed. Is executed for a plurality of disk devices that have issued a read request.
理テーブルを参照して、論理デイスク装置をOSが管理
するデイレクトリに割り付けることにより、ソフトウエ
アから利用可能な状態とし、 unmount処理において、論理デイスク装置をOS
が管理するデイレクトリから除去することにより、ソフ
トウエアから利用不可能な状態とすることを特徴とする
請求項1に記載のファイルアクセス制御方法。2. The mount process refers to the disk management table to allocate a logical disk device to a directory managed by the OS so that it can be used by software, and the unmount process sets the logical disk device to the OS.
2. The file access control method according to claim 1, wherein the file access control method makes the software unusable by removing it from the directory managed by.
ファイルにファイル記述子を割り当て、前記ファイル記
述子対応テーブルに対応関係を登録し、 close処理において、元ファイルに割り当てたファ
イル記述子とサブファイルに割り当てたファイル記述子
を前記ファイル記述子対応テーブルから開放することを
特徴とする請求項2に記載のファイルアクセス制御方
法。3. A file descriptor is allocated to an original file and a subfile in the open process, a correspondence relationship is registered in the file descriptor correspondence table, and a file descriptor and a subfile are allocated to the original file in the close process. The file access control method according to claim 2, wherein the allocated file descriptor is released from the file descriptor correspondence table.
イスクを用いて、正及び副の2組の論理バーチャルアレ
イデイスクを定義し、 ファイルの書き込みは、正の論理バーチャルアレイデイ
スクに書き込んだ後、副の論理バーチャルアレイデイス
クに書き込み、 ファイルの読み出しは、正の論理バーチャルアレイデイ
スクに障害がなければ正の論理バーチャルアレイデイス
クから読み出し、正の論理バーチャルアレイデイスクに
障害があれば副の論理バーチャルアレイデイスクから読
み出すことを特徴とする請求項1に記載のファイルアク
セス方法。4. Under the control of the CPU, two sets of primary and secondary logical virtual array disks are defined by using the plurality of disks, and writing of a file is performed after writing to the positive logical virtual array disk. Write to the logical virtual array disk and read the file from the positive logical virtual array disk if there is no failure in the positive logical virtual array disk, and the secondary logical virtual array disk if there is a failure in the positive logical virtual array disk. The file access method according to claim 1, wherein the file is read from
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP05660199A JP3387017B2 (en) | 1999-03-04 | 1999-03-04 | File access control method and file relocation method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP05660199A JP3387017B2 (en) | 1999-03-04 | 1999-03-04 | File access control method and file relocation method |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP04668592A Division JP3199816B2 (en) | 1992-03-04 | 1992-03-04 | High-speed file access control method and computer system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH11316654A JPH11316654A (en) | 1999-11-16 |
| JP3387017B2 true JP3387017B2 (en) | 2003-03-17 |
Family
ID=13031750
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP05660199A Expired - Fee Related JP3387017B2 (en) | 1999-03-04 | 1999-03-04 | File access control method and file relocation method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3387017B2 (en) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2003077111A1 (en) | 2002-03-13 | 2003-09-18 | Fujitsu Limited | Controller for raid device |
| US8055120B2 (en) | 2004-03-29 | 2011-11-08 | Panasonic Corporation | High speed dubbing apparatus |
| JP4718340B2 (en) * | 2006-02-02 | 2011-07-06 | 富士通株式会社 | Storage system, control method and program |
| JP5413948B2 (en) * | 2009-01-27 | 2014-02-12 | 日本電気株式会社 | Storage system |
| CN112540731B (en) * | 2020-12-22 | 2023-08-11 | 北京百度网讯科技有限公司 | Data append writing method, device, equipment, medium and program product |
-
1999
- 1999-03-04 JP JP05660199A patent/JP3387017B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH11316654A (en) | 1999-11-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5603003A (en) | High speed file access control method and computer system including a plurality of storage subsystems connected on a bus | |
| US6633962B1 (en) | Method, system, program, and data structures for restricting host access to a storage space | |
| US7308528B2 (en) | Virtual tape library device | |
| JP3431972B2 (en) | Virtual disk system | |
| US6854034B1 (en) | Computer system and a method of assigning a storage device to a computer | |
| JP4818395B2 (en) | Storage apparatus and data copy method | |
| JP2582520B2 (en) | Data transfer method between memory and auxiliary storage device | |
| EP0785500B1 (en) | Storage device and method for data sharing | |
| US20070011418A1 (en) | Snapshot creating method and apparatus | |
| US8656132B2 (en) | Storage system providing effective use of target device resources | |
| CA2363726A1 (en) | Methods and systems for implementing shared disk array management functions | |
| JP4574408B2 (en) | Storage system control technology | |
| WO2001024010A1 (en) | Method of file sharing and storage system | |
| US7624230B2 (en) | Information processing apparatus, information processing method and storage system using cache to reduce dynamic switching of mapping between logical units and logical devices | |
| JP3387017B2 (en) | File access control method and file relocation method | |
| JP3199816B2 (en) | High-speed file access control method and computer system | |
| US20080005745A1 (en) | Management server and server system | |
| JP2008135055A (en) | Computer system and secondary storage device | |
| JP3294564B2 (en) | High-speed file access control method and computer system | |
| JPH0863394A (en) | Storage device system and storage device control method | |
| JPH06110766A (en) | Directory storage method of split storage file system and computer system | |
| JP5355603B2 (en) | Disk array device and logical volume access method | |
| KR20200109547A (en) | Method and network attached storage apparatus for sharing files between computers | |
| EP1705555A1 (en) | Storage system | |
| JP4128206B2 (en) | Computer system and secondary storage device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
| R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
| R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080110 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090110 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090110 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100110 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110110 Year of fee payment: 8 |
|
| LAPS | Cancellation because of no payment of annual fees |