JP2008135055A - Computer system and secondary storage device - Google Patents
Computer system and secondary storage device Download PDFInfo
- Publication number
- JP2008135055A JP2008135055A JP2008009073A JP2008009073A JP2008135055A JP 2008135055 A JP2008135055 A JP 2008135055A JP 2008009073 A JP2008009073 A JP 2008009073A JP 2008009073 A JP2008009073 A JP 2008009073A JP 2008135055 A JP2008135055 A JP 2008135055A
- Authority
- JP
- Japan
- Prior art keywords
- file
- secondary storage
- storage device
- disk
- address
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、上位計算機と二次記憶装置とから構成する計算機システムに関し、特に、二次記憶装置におけるファイルの最適配置の技術に関するものである。 The present invention relates to a computer system composed of a host computer and a secondary storage device, and more particularly to a technique for optimal file placement in a secondary storage device.
上位計算機と二次記憶装置とから構成される計算機システムとしては、UNIXとして知られるオペレーティングシステム(以下、「OS」と記す)を採用するワークステーション(以下、「WS」と記す)にハードディスク装置(以下、「ディスク装置」という)を接続したシステムが知られている。 As a computer system composed of a host computer and a secondary storage device, a hard disk device (hereinafter referred to as “WS”) that employs an operating system (hereinafter referred to as “OS”) known as UNIX is used. Hereinafter, a system in which a “disk device” is connected is known.
また、このような計算機システムにおけるファイル管理の技術としては、非特許文献1に記載された技術が知られている。
As a file management technique in such a computer system, a technique described in Non-Patent
以下、この技術について説明する。 Hereinafter, this technique will be described.
図24に、この計算機システムの構成を示す。 FIG. 24 shows the configuration of this computer system.
図中、1が上位計算機、2が二次記憶装置である。 In the figure, 1 is a host computer and 2 is a secondary storage device.
上位計算機1において、20はOS,12はOS20が管理するユーザが実行したアプリケーションプログラム(以下、「AP」と記す)のプロセスを表している。すなわち、上位計算機において実行されているアプリケーションプログラムはOS20によりプロセス12として管理されている。
In the
また、OS20において、13はファイルの管理やファイルアクセス時のデータ転送に使用するバッファを管理するファイル管理・バッファ管理手段、15はディレクトリやファイル論理的なアドレス(OS内部でのアドレス)と、ディスク装置内でのローカルなアドレス(ローカルアドレス)との対応付けのための情報を記述するファイル管理テーブル、14はディレクトリ情報(ディレクトリやファイルの名称とファイル管理テーブルの対応付けのための情報)を記述するディレクトリ管理テーブルを示している。また、16はファイル管理・バッファ管理手段13からのファイルアクセス要求を、様々な二次記憶装置等の外部デバイスの物理特性に合わせて変換、制御を行うデバイスドライバ、30はファイルを新規にライトする際に書き込みに最適なディスク装置のローカルアドレスを決定するファイルアドレス決定手段、25aはディスクの使用状況を管理するディスク管理テーブル、21、22は上位計算機と二次記憶装置との間の通信およびデータ転送を制御するインタフェース制御手段を示している。
In the
ここで、論理アドレスとは、上位計算機においてファイルを管理するための論理的なアドレスである。また、ローカルアドレス(ディスク装置内でのローカルなアドレス)とは、ディスク装置(二次記憶装置)が、データを管理するためのディスク装置内でのローカルなアドレスであり、論理的なアドレスである場合も、物理的なアドレスである場合もある。たとえば、SCSI(Small Computer Interface)に適合したディスク装置(SCSIディスク)では、ローカルアドレスとして論理的な連続番号(LBA;Logical Block Address)を用いている。また、IDE(Intelligent
Device Electronics)ディスク装置等では、ローカルアドレスとして、ヘッド番号、シリンダ番号、セクタ番号等の、物理的な記憶位置を直接表す物理アドレスを用いている。
Here, the logical address is a logical address for managing files in the host computer. The local address (local address in the disk device) is a logical address that is a local address in the disk device for managing data by the disk device (secondary storage device). In some cases, it may be a physical address. For example, in a disk device (SCSI disk) conforming to SCSI (Small Computer Interface), a logical serial number (LBA: Logical Block Address) is used as a local address. IDE (Intelligent
(Device Electronics) In a disk device or the like, a physical address directly representing a physical storage position, such as a head number, a cylinder number, and a sector number, is used as a local address.
次に、二次記憶装置2において、29は1台以上のディスク装置、24はディスク装置29を制御するディスク装置制御手段、23は上位計算機から送信されたリード及びライトコマンドを受信、解析し、ディスク装置29特有のディスクコマンドを作成してディスク装置制御手段24に送るコマンド管理手段を示している。
Next, in the
以下、プロセス12が既存のファイルにアクセスを行う際に実行するファイルアクセス処理を説明する。
Hereinafter, file access processing executed when the
プロセス12がファイルアクセスを行う際にはOS20にファイルアクセスリードおよびライト要求(システムコール)を発行する。
When the
OS20のファイル管理・バッファ管理手段13はこの要求を受け、ディレクトリ管理テーブル14を参照し、ファイル名からファイル管理テーブルの位置を求める。次に求めたファイル管理テーブル15を参照し、プロセスのリード(またはライト)要求データが存在する(またはデータを登録する)論理アドレスを算出し、ローカルアドレスに変換する。また、データ転送に必要なバッファエリアを確保する。
The file management / buffer management means 13 of the
次に、OS20は、デバイスドライバ16に対し算出したローカルアドレスを用いアクセス依頼を行う。デバイスドライバ16はこのアクセス依頼を受け、ファイルの格納されている(または、ファイルを格納する)二次記憶装置2の物理特性に合わせた形のコマンドを作成し、インタフェース制御手段21を介し、二次記憶装置2に送出する。
Next, the
二次記憶装置2ではコマンド管理手段23がインタフェース制御手段22を介しコマンドを受信し、このコマンドを解析する。そして、アクセスの種類、アクセス開始アドレス、データ長等のコマンドの解析結果に基づき、ディスク装置29特有のディスクコマンドを作成し、ディスク制御装置24にコマンド実行を依頼する。ディスク制御装置24はこのコマンドに基づきディスク装置29を制御し、適切なデータ転送処理を実行する。
In the
さて、プロセス12が既存のファイルにアクセスを行う際には二次記憶装置2の、どのアドレスにファイルを格納するかを決定する必要がある。
When the
そこで、新規にファイルを作成する際には、以下に示す新規登録処理を、ファイルアクセス(ライト)処理に先立ち行う必要がある。 Therefore, when a new file is created, the following new registration process must be performed prior to the file access (write) process.
すなわち、新規ファイルのライト要求をプロセス12から依頼されたとき、ファイル管理・バッファ管理手段13は、ディレクトリ管理テーブル14にファイル名を登録し、ファイル管理テーブル15にこのファイルのための管理データ領域を確保し、その位置をディレクトリ管理テーブル14に登録する。次に、ファイルアドレス決定手段30は、ディスク管理テーブル25aを参照しながら、予めユーザが設定しておいたディスク装置のヘッド数、シリンダ数、セクタ数等の物理特性パラメータを基に最適アドレス、すなわちできるだけシークを行わず、また無駄な回転待ちの発生しないような領域のローカルアドレスを所定の配置アルゴリズムにより決定する。そして、この決定したローカルアドレスをファイル管理テーブルに登録し、論理アドレスとの対応付けを行う。
That is, when a request for writing a new file is received from the
以上の新規登録処理により、以降のアクセスにおいては、ディレクトリ管理テーブル14、ファイル管理テーブル15の両者を参照して行う通常のファイルアクセス処理により、このファイルアクセスが可能となる。 With the above new registration process, in the subsequent access, this file access can be performed by a normal file access process performed by referring to both the directory management table 14 and the file management table 15.
前記非特許文献1に記載の技術によれば、前述したように、新規に作成したファイルを格納する最適アドレスを決定するために、ディスク装置等の二次記憶装置の物理パラメータを予め設定しておかなければならない。
According to the technique described in
一方、近年、大容量化、高性能化、高信頼化の要請に伴い、単に1台または複数台のディスク装置を接続するのではなく、ディスクをアレイ上に配置し、各ディスク装置にデータを分割配置するディスクアレイ装置等、高度化、複雑化した様々な形態の二次記憶装置が出現してきている。 On the other hand, with recent demands for higher capacity, higher performance, and higher reliability, instead of simply connecting one or more disk devices, disks are placed on the array and data is stored in each disk device. Various forms of secondary storage devices, such as disk array devices that are divided and arranged, have become more sophisticated and complicated.
このため、二次記憶装置の物理パラメータも、ディスク単体のパラメータのみならず、アレイの構成、データ分配方式、高信頼化を実現するために複数台のディスク装置のデータから計算した冗長データの配置等、その二次記憶装置のアーキテクチャに依存し多種多様となる。また、一般的に、上位計算機と二次記憶装置は、独立して流通しているため、製造元であらかじめ二次記憶装置のパラメータを予め上位計算機に設定することはできない。 Therefore, the physical parameters of the secondary storage device are not only the parameters of a single disk, but also the arrangement of redundant data calculated from the data of multiple disk devices in order to realize the array configuration, data distribution method, and high reliability Etc., depending on the architecture of the secondary storage device. In general, since the host computer and the secondary storage device are distributed independently, the manufacturer cannot set the parameters of the secondary storage device in the host computer in advance.
このため、二次記憶装置のパラメータの設定はユーザが行うことになるが、ユーザが、これら多種多彩な二次記憶装置のすべてのパラメータを上位計算機に設定することは困難であり、現実には、これを行うことができない場合が多い。その結果、上位計算機において複雑な構成をとる二次記憶装置へのファイル最適配置は困難になり、二次記憶装置の性能を有効に利用することができないという問題が生じる。 For this reason, the parameters of the secondary storage device are set by the user, but it is difficult for the user to set all the parameters of the various secondary storage devices in the host computer. Often, this is not possible. As a result, it becomes difficult to optimally place files on the secondary storage device having a complicated configuration in the host computer, and the performance of the secondary storage device cannot be used effectively.
そこで、本発明は、上位計算機に二次記憶装置のパラメータを設定すること無しに、ファイルの二次記憶装置への最適配置を実現することのできる計算機システムを提供することを目的とする。 SUMMARY OF THE INVENTION An object of the present invention is to provide a computer system that can realize an optimal arrangement of files in a secondary storage device without setting parameters of the secondary storage device in a host computer.
前記目的達成のために、本発明は、たとえば、計算機と、前記計算機に接続された1または複数の二次記憶装置とを有し、前記二次記憶装置は、二次記憶装置内のロ−カルなアドレスであるロ−カルアドレスによって記憶したデータを管理する計算機システムであって、前記二次記憶装置は、1または複数の論理ブロックより構成されるファイルを記憶する記憶手段と、ロ−カルアドレスを指定して前記計算機より要求された、既に前記記憶手段に記憶されている論理ブロックのアクセスを実行する手段と、新たな論理ブロックの前記記憶手段への記憶を前記計算機より要求された場合に、記憶を要求された論理ブロックを記憶するロ−カルアドレスを所定の手順により決定する手段と、決定したロ−カルアドレスに記憶を要求された論理ブロックを記憶する手段と、決定したロ−カルアドレスを前記計算機に通知する手段とを有し、
前記計算機は、二次記憶装置に記憶されているファイルを構成する各論理ブロックが記憶されているロ−カルアドレスを、各論理ブロックに対応付けて管理するファイル管理テ−ブルと、既に二次記憶装置に記憶されている論理ブロックにアクセスする場合に、前記ファイル管理テ−ブルを参照してアクセスする論理ブロックのロ−カルアドレスを求め、ロ−カルアドレスを指定して二次記憶装置に当該論理ブロックのアクセスを要求する手段と、新たな論理ブロックの二次記憶装置への記憶を行う場合に、ロ−カルアドレスを指定せずに、前記二次記憶装置に論理ブロックの記憶を要求する手段と、前記二次記憶装置から通知されたロ−カルアドレスを、記憶を要求した新たな論理ブロックに対応付けて前記ファイル管理テ−ブルに登録する手段とを有することを特徴とする計算機システムを提供する。
In order to achieve the object, the present invention includes, for example, a computer and one or more secondary storage devices connected to the computer, and the secondary storage device is a low-speed memory in the secondary storage device. A computer system for managing data stored by a local address which is a local address, wherein the secondary storage device includes a storage means for storing a file composed of one or a plurality of logical blocks, and a local When the computer requests the computer to access the logical block that is already stored in the storage unit and is requested by the computer by designating an address, and to store the new logical block in the storage unit A means for determining a local address for storing the logical block requested to be stored by a predetermined procedure, and a logical block requested to be stored in the determined local address. Means for storing a click, determined Russia - and means for notifying the local address to the computer,
The computer includes a file management table for managing a local address in which each logical block constituting a file stored in the secondary storage device is stored in association with each logical block, and a secondary address already stored. When accessing the logical block stored in the storage device, the local address of the logical block to be accessed is obtained by referring to the file management table, and the local address is designated to the secondary storage device. Requests storage of a logical block from the secondary storage device without specifying a local address when storing a new logical block in the secondary storage device and means for requesting access to the logical block. And a local address notified from the secondary storage device is registered in the file management table in association with a new logical block for which storage is requested. To provide a computer system and having a means.
以上のように、本発明によれば、上位計算機に二次記憶装置のパラメータを設定すること無しに、ファイルの二次記憶装置への最適配置を実現することのできる計算機システムを提供することができる。 As described above, according to the present invention, it is possible to provide a computer system capable of realizing the optimal arrangement of files in a secondary storage device without setting the parameters of the secondary storage device in the host computer. it can.
以下、本発明に係る計算機システムの実施例を説明する。 Hereinafter, embodiments of the computer system according to the present invention will be described.
はじめに、本実施例に係る計算機システムのハ−ドウェア構成例を図1に示す。 First, a hardware configuration example of a computer system according to the present embodiment is shown in FIG.
図示するように、本実施例に係る計算機システムは、上位計算機1と二次記憶装置2から成る。上位計算機1は、OSやアプリケ−ションプログラムを実行するCPU10と、CPU10が用いる一次記憶装置11と、二次記憶装置2へのインプット/アウトプット要求(I/O要求)を制御するI/O制御部9と、二次記憶装置2へのインタフェース8から構成される。
As shown in the figure, the computer system according to the present embodiment includes a
一方、二次記憶装置2は、上位計算機1からのI/O要求の授受を行うインタフェース7と、データ転送および二次記憶装置2内部の制御を司る制御装置5と、データを格納するディスク装置4と、ディスク装置4と上位計算機1とのデータ転送速度の違いを吸収するためのバッファ装置とから構成される。
On the other hand, the
ただし、本実施例係る計算機システムのハ−ドウェア構成は、この他、図1に示した構成に準じる他の構成としてもよい。 However, the hardware configuration of the computer system according to the present embodiment may be other configurations similar to the configuration shown in FIG.
次に、本実施例に係る計算機システムにおける、ファイルの論理的位置と、ファイルの、二次記憶装置上の位置の管理の方式について説明する。 Next, a method for managing the logical location of the file and the location of the file on the secondary storage device in the computer system according to the present embodiment will be described.
図2に示すように、ファイルの論理的位置は、ディレクトリを用いて構築した木構造によって階層的に管理される。これは、前述したUNIXなどのOSで採用している方式である。 As shown in FIG. 2, the logical positions of files are managed hierarchically by a tree structure constructed using directories. This is a method adopted by the OS such as UNIX described above.
ここで、ファイルは、二次記憶装置の実記憶領域に、所定長のデータの集まりであるブロック毎に記憶される。そして、ファイルの二次記憶装置上のロ−カルな位置は、ファイルを構成するブロックの、それぞれが記憶されている論理アドレスと、この論理アドレスに対応する二次記憶装置上のロ−カルアドレスを管理することにより管理される。二次記憶装置上のロ−カルな位置は、二次記憶装置によって、二次記憶装置のロ−カルなアドレスを用いて管理される。二次記憶装置のロ−カルなアドレスをロ−カルアドレスと呼ぶ。前述したようにロ−カルアドレスは二次記憶装置上の物理位置を指定する物理アドレスである場合もあり、二次記憶装置上の論理的な位置を指定する論理的なアドレスである場合もある。 Here, the file is stored for each block, which is a collection of data of a predetermined length, in the real storage area of the secondary storage device. The local location of the file on the secondary storage device is the logical address at which each block constituting the file is stored, and the local address on the secondary storage device corresponding to this logical address. It is managed by managing. The local location on the secondary storage device is managed by the secondary storage device using the local address of the secondary storage device. A local address of the secondary storage device is called a local address. As described above, the local address may be a physical address that designates a physical location on the secondary storage device, or may be a logical address that designates a logical location on the secondary storage device. .
但し、このような管理方式に準じた方式によって、ファイルの論理的位置と、ファイルの二次記憶装置上の位置を管理するようにしてもよい。 However, the logical location of the file and the location of the file on the secondary storage device may be managed by a method according to such a management method.
さて、新規ファイルを二次記憶装置2に格納する際には、前述した新規登録処理の一環として、そのファイルを分割したブロックのそれぞれを最適化アルゴリズムに従い2次記憶装置のロ−カルアドレスにマッピングする処理を行う必要がある。しかし、二次記憶装置2内にディスク装置を複数台接続したり、二次記憶装置2が、いわゆるRAID(Redundant Arrays of Inexpensive Disks)アーキテクチャに従い複数のディスク装置にデータを分散配置するような複雑な構成を持つ二次記憶装置であった場合には、上位計算機1に、使用する二次記憶装置の種別に応じた最適化アルゴリズムや、多種多彩なパラメータを入力することは極めて困難である。このため、通常は、二次記憶装置2を従来の単純な二次記憶装置に見せかけ、従来のアルゴリズムを使用することになる。しかし、このようにすると、二次記憶装置の持つ潜在的な能力を引き出せないばかりでなく最悪の場合従来に比べても低い性能しか期待できない場合がある。
When a new file is stored in the
以下、本発明の第1の実施例について説明する。 The first embodiment of the present invention will be described below.
図3に、本第1実施例に係る計算機システムの構成を示す。 FIG. 3 shows the configuration of the computer system according to the first embodiment.
図示するように、本第1実施例に係る計算機システムは、上位計算機1と二次記憶装置2を有している。
As shown in the figure, the computer system according to the first embodiment has a
上位計算機1において、20はOS、12はOS20が管理するアプリケ−ションプログラムのプロセスを表している。上位計算機において実行されているアプリケーションプログラムはOS20によりプロセス12として管理されている。
In the
また、OS20において、13はファイルの管理やファイルアクセス時のデータ転送に使用するバッファを管理するファイル管理・バッファ管理手段、15はディレクトリやファイルの論理アドレスとロ−カルアドレスとの対応を記述するファイル管理テーブル、14はディレクトリ情報を記述するディレクトリ管理テーブルを示している。また、16はファイル管理・バッファ管理手段13からのファイルアクセス要求を、様々な二次記憶装置等の外部デバイスの物理特性に合わせて変換、制御を行うデバイスドライバ、18はファイルがオープンされたことを二次記憶装置2に通知するオープンファイル情報通知手段、19は新規のファイルをライトすることを二次記憶装置2に通知する新規ファイルライト通知手段、17は二次記憶装置2により決定された新規ファイルの格納アドレスを受信しファイル管理テーブル15に登録する新規ファイルアドレス登録手段を示している、また、上位計算機1において、21は二次記憶装置との間の通信およびデータ転送を制御するインタフェ−ス制御手段を示している。
In the
ファイル管理テ−ブル15はファイル毎に設けられたファイル管理情報を格納している。この、ファイル毎に設けらたファイル管理情報は、ファイル識別番号により特定されるファイル管理情報のアドレスを介して特定される。なお、前記UNIXでは、このファイル管理情報をiノ−ドと呼び、ファイル識別番号をiノ−ド番号と呼んでいる。各ファイル管理情報は、図4に示すように構成されている。 The file management table 15 stores file management information provided for each file. The file management information provided for each file is specified through the address of the file management information specified by the file identification number. In the UNIX, this file management information is called i-node, and the file identification number is called i-node number. Each file management information is configured as shown in FIG.
すなわち、各ファイル管理情報は、モ−ド151、所有者152、タイムスタンプ153、大きさ154、ブロック数155、参照カウント156、参照ポインタ157、更新フラグ158のエントリを有している。
That is, each file management information has entries of a mode 151, an owner 152, a time stamp 153, a
モ−ド151は、ファイルの種類と、そのファイルの現在のアクセスモ−ド(リ−ド/ライト等)の情報を格納し、所有者152には、ファイルの所有者や、そのファイルにアクセス権を持つユ−ザグル−プを識別する情報を格納する。また、タイムスタンプ153は、ファイルが最後のアクセスされた時間や、自ファイル管理テ−ブルが更新された時間等を格納する。大きさ154は、ファイルのバイト数を格納し、ブロック数154はファイルの前記ブロック数を格納する。また、参照カウンタ156は、ファイルが参照された回数を格納し、参照ポインタ177は、ファイルの各ブロックの論理アドレスと二次記憶装置のロ−カルアドレスとを対応付けて格納する。以下では、ブロックの論理アドレスを論理ブロックアドレス、ブロックの二次記憶装置のロ−カルアドレスをロ−カルブロックアドレスという。
The mode 151 stores information on the type of file and the current access mode (read / write, etc.) of the file. The owner 152 accesses the owner of the file and the file. Stores information for identifying the authorized user group. Further, the time stamp 153 stores the time when the file was last accessed, the time when the own file management table was updated, and the like. The
次に、ディレクトリ管理テーブル14も、ディレクトリ毎に設けられたディレクトリ管理情報を格納しており、各ディレクトリ管理情報は、ファイル管理テーブル15の対応するディレクトリに属するファイルに対応するファイル管理情報を特定するファイル識別番号と、対応するディレクトリに属するディレクトリに対応するディレクトリ管理情報を特定する番号の情報(またはディレクトリ管理テーブルの存在位置を示すポインタ)を記憶する。 Next, the directory management table 14 also stores directory management information provided for each directory, and each directory management information specifies file management information corresponding to a file belonging to a corresponding directory in the file management table 15. A file identification number and number information for specifying directory management information corresponding to a directory belonging to the corresponding directory (or a pointer indicating the location of the directory management table) are stored.
このような、ディレクトリ管理テーブル14とファイル管理テ−ブル15の構成により、デレクトリdir1、dir2、dir3の指定とfile5の指定によりfile5というファイルを次のようにしてfile5を構成する各ブロックのロ−カルブロックアドレスを得ることができる。すなわち、dir1、dir2、dir3のディレクトリ管理テ−ブル14を順次走査し、dir3のディレクトリ管理情報から、ファイル管理テーブル15のfile5に対応するファイル管理情報のファイル識別番号を得、file5のファイル管理情報より、file5を構成する各ブロックのロ−カルブロックアドレスを得る。
By configuring the directory management table 14 and the file management table 15 as described above, a file named file5 is designated by the directories dir1, dir2, and dir3 and the
さて、一方、二次記憶装置2において、29は1台以上のディスク装置、24はディスク装置29を制御するディスク装置制御手段、23は上位計算機から送信されたのリード及びライトコマンドを受信、解析し、ディスク装置29特有のディスクコマンドを作成してディスク装置制御手段24に送るコマンド管理手段、22は上位計算機1との間の通信およびデータ転送を制御するインタフェ−ス制御手段、27は二次記憶装置2のディスク装置29に記憶されているファイルのファイル管理情報を格納するロ−カルファイル管理テーブル、39は上位計算機1の送出するファイルがオープンされたことを示す情報を受信しローカルファイル管理テーブル27に登録するオープンファイル情報受信登録手段、26は上記上位計算機1の送出する新規のファイルをライトすることを受信し新規ファイルの格納アドレスを決定する新規ファイルアドレス決定手段、28は新規ファイルアドレス決定手段26により決定されたアドレスを上記上位計算機1に通知する新規ファイルアドレス通知手段、25bは二次記憶装置内部のディスク装置の構成を決定するパラメータおよびディスク装置の利用状況を管理するディスク管理テーブルである。
On the other hand, in the
ロ−カルファイル管理テーブル27の構成およびロ−カルファイル管理テーブル27に格納されるファイル管理情報は、上位計算機1のファイル管理テ−ブル15およびファイル管理情報と同じであり、同じファイルのファイル管理情報は同じファイル識別番号で特定される。
The configuration of the local file management table 27 and the file management information stored in the local file management table 27 are the same as the file management table 15 and file management information of the
以下、本第1実施例に係る計算機システムのファイルのアクセス動作を説明する。 The file access operation of the computer system according to the first embodiment will be described below.
まず、あらかじめ、ファイル管理バッファ管理手段13は、二次記憶装置2のロ−カルファイル管理テ−ブル27に格納されているファイル管理情報を、上位計算機1のファイル管理テ−ブル15にロ−ドしておく。このロ−ドは、上位計算機のイニシャル時や、二次記憶装置に新たな記憶媒体がマウントされた時や、次に述べるファイルオ−プン処理の開始時等に行う。
First, the file management buffer management means 13 previously loads the file management information stored in the local file management table 27 of the
さて、APのプロセス12から、オープンシステムコールを発行されると、OS20は、図5に示すファイルオープン処理を行う。
When an open system call is issued from the
すなわち、図示するように、オープンシステムコールを発行されると(ステップ101)、OS20内部のファイル管理・バッファ管理手段13は、このシステムコールを解析し、ファイルのアクセスモードを判定する(ステップ102)。もしライトモードでファイルのオープンを行うのであれば、新規のファイルであるかどうかをさらに判定し(ステップ103)、もし、新規ファイルであるならばディレクトリ管理テーブル14の、このファイルを作成するディレクトリに対応するディレクトリ管理情報にファイル名を登録し、ファイル管理テーブル15中に、新規ファイルについてのファイル管理情報を格納する領域を確保する(ステップ104)。また、この確保したファイル管理情報のファイル識別番号を、ディレクトリ管理テーブル14の、ファイルを作成するディレクトリに対応するディレクトリ管理情報に登録する。そして、ファイル識別番号をプロセス12に通知する(ステップ105)。
That is, as shown in the figure, when an open system call is issued (step 101), the file management / buffer management means 13 in the
新規のファイルでなければ、ディレクトリ管理テーブル14より、ファイルのファイル識別番号を獲得し、これをプロセス12に通知する(ステップ105)。次に、ファイル管理・バッファ管理手段13はこのファイル固有のファイル識別番号により特定されるファイル管理情報のロ−カルアドレス、ファイル名等の情報をオープンファイル情報通知手段18に伝える。オープンファイル情報通知手段18は、これらの情報をデバイスドライバ16、インタフェース制御手段21、22を介して二次記憶装置2へ通知する(ステップ106)。
If it is not a new file, the file identification number of the file is obtained from the directory management table 14, and this is notified to the process 12 (step 105). Next, the file management / buffer management means 13 informs the open file information notifying means 18 of the local address and file name of the file management information specified by the file identification number unique to this file. The open file information notifying means 18 notifies the
二次記憶装置2のオープンファイル情報受信登録手段39は、これらの情報を受信し、もし、新規なファイルについてのものである場合にはロ−カルファイル管理テーブル27に新たなファイル管理情報の領域を確保し、受信した情報を登録する。
The open file information reception registration means 39 of the
以上の処理により、オープンしたファイルの管理情報は上位計算機1のファイル管理テーブル15と二次記憶装置2のロ−カルファイル管理テーブル27両方に登録されていることになる。
Through the above processing, the management information of the opened file is registered in both the file management table 15 of the
次に、ファイルのオープン処理が終了すると、ファイルのリードもしくはライト処理を実行する。 Next, when the file open process ends, the file read or write process is executed.
図6にOS20におけるファイルのリード処理の手順を、図8にOS20におけるファイルのライト処理の手順を、図9に二次記憶装置におけるファイルのリ−ド処理とライト処理の手順を示す。
FIG. 6 shows a file read process procedure in the
まず、ファイルのリード処理について説明する。 First, file read processing will be described.
図6に示すように、上位計算機1において、AP(プロセス12)からファイルリードシステムコール(read())が発行されると(ステップ201)、OS20のファイル管理・バッファ管理手段13は、ディレクトリ管理テーブル14を参照し当該ファイルのファイル識別番号(ファイル管理テーブル15内のファイル管理情報の位置を示す)を獲得する(ステップ202)。次に、ファイル管理・バッファ管理手段13は獲得したファイル識別番号により指定されるファイル管理テーブル15内のファイル管理情報の情報を得る。
As shown in FIG. 6, when the
さて、ここで、APは、ファイルリ−ドシステムコ−ルもしくはファイルライトシステムコ−ルによってオフセットと呼ぶバイト単位でファイルのリ−ドやライトを要求する。図7は、APが、ファイルfdについて設けられているファイルポインタfpからnバイトのオフセットをユーザバッファbufferにリードすることを要求している場合を示している。図示するように、このオフセットは論理ブロックアドレス1、2にまたがっているデータであり、すなわち論理ブロック1、2、に対応する2つのロ−カルブロック(ロ−カルブロックアドレス#11020と、#11028)とからリードする必要がある。ロ−カルブロックは、論理ブロックに対応する二次記憶装置2上のブロックである。
Here, the AP requests to read or write a file in byte units called an offset by the file read system call or the file write system call. FIG. 7 shows a case where the AP requests to read an n-byte offset from the file pointer fp provided for the file fd to the user buffer buffer. As shown in the figure, this offset is data straddling logical block addresses 1 and 2, that is, two local blocks (local block addresses # 11020 and # 11028) corresponding to
そこで、次に、ファイル管理・バッファ管理手段13は、得たファイル管理情報より要求されたオフセットのデータが存在する論理ブロックアドレス1、2を求める(ステップ203)。そして、これら2つの当該論理ブロックをリードするために必要な一時作業領域としてシステムバッファを確保する(ステップ204)。次に、はじめの論理ブロックアドレス1を選択し(ステップ205)、これをロ−カルブロックアドレス#11020に変換し(ステップ206)、デバイスドライバ16に、このロ−カルブロックアドレスのデータブロックの転送依頼を発行する。デバイスドライバ16はこの要求を受け、二次記憶装置固有のリードコマンドを生成し、インタフェース制御手段21を介し二次記憶装置2に送出する(ステップ207)。
Therefore, the file management / buffer management means 13 next obtains the logical block addresses 1 and 2 where the requested offset data exists from the obtained file management information (step 203). Then, a system buffer is secured as a temporary work area necessary for reading these two logical blocks (step 204). Next, the first
リ−ドコマンドは、二次記憶装置2のコマンド管理手段23は上記リードコマンドをインタフェース制御手段22を介して受信される。コマンドを受信した二次記憶装置2は、図9に示すように、まず、このコマンドを解析する(ステップ402)。ここでリードコマンドであることが分かるので(ステップ403)二次記憶装置2のロ−カルファイル管理テーブル27の、後述するアクセス回数等の管理情報を必要に応じて更新し(ステップ411)、ディスク装置29から求めるデータをリードし、上位計算機1にインタフェース制御手段22を介し転送する(ステップ412)。そして、コマンド管理手段23は、要求されたデータをすべて正しく転送できたならばインタフェース制御手段22を介し上位計算機に終了報告を行う(ステップ408)。
As for the read command, the command management means 23 of the
この終了報告は、上位装置1のデバイスドライバ16によって受信される。
This end report is received by the device driver 16 of the higher-
図6に戻り、二次記憶装置2からのコマンド終了通知を受信すると(ステップ208)、デバイスドライバ16は、これをファイル管理・バッファ管理手段13に通知する。ファイル管理・バッファ管理手段13は、転送すべきすべての論理ブロックのリードを完了したかどうかを確認し(ステップ209)、もしまだ未転送の論理ブロックが、あるならば続く論理ブロックを選択し(ステップ212)以上の処理を繰り返す。もしすべての論理ブロックのデータのシステムバッファへの転送が完了したならば、APが要求したオフセットデータをユーザバッファに複写し(ステップ210)、APにシステムコールの完了通知を返し、ファイルのリード処理を完了する。 Returning to FIG. 6, when the command end notification is received from the secondary storage device 2 (step 208), the device driver 16 notifies the file management / buffer management means 13 of this. The file management / buffer management means 13 confirms whether or not all the logical blocks to be transferred have been read (step 209), and if there are untransferred logical blocks, selects the subsequent logical block ( Step 212) The above processing is repeated. If the transfer of the data of all logical blocks to the system buffer is completed, the offset data requested by the AP is copied to the user buffer (step 210), the system call completion notification is returned to the AP, and the file read processing is performed. To complete.
次に、ファイルのライト処理を、前述したリード処理との相違する点を中心に説明する。 Next, the file write process will be described with a focus on differences from the read process described above.
ファイルのライト処理は大きく次の2つの処理に分けられる。1つは新規ブロックの登録処理であり、もう1つは既存のブロックの更新処理である。前者は新規なファイルをライトする際や、既存ファイルの末尾へデータ追加を行う場合に発生し、後者は、既登録済み論理ブロックの途中からのデータをライトする場合や、既存ファイルをレコード(ひとまとまりのデータ単位)単位で更新する場合等に発生する。 File write processing is roughly divided into the following two processes. One is a new block registration process, and the other is an existing block update process. The former occurs when writing a new file or adding data to the end of an existing file, and the latter occurs when writing data from the middle of an already registered logical block or when an existing file is recorded (one person). Occurs when updating in units of data.
さて、図8に示すように、APからライトシステムコールを発行されると、(ステップ301)、OS20のファイル管理・バッファ管理手段13はディレクトリ管理テーブル14からファイル識別番号を獲得し(ステップ302)、前述したようにオフセットから転送すべき論理ブロックアドレスを求め(ステップ303)、必要なシステムバッファを確保する(ステップ304)。また、ここで、ファイル管理テーブル15を参照し、もし、論理ブロックアドレスに対応するロ−カルブロックアドレスが登録されていなかったならば、この論理ブロックは新規の論理ブロックであると判定する(ステップ305)。
As shown in FIG. 8, when a write system call is issued from the AP (step 301), the file management / buffer management means 13 of the
新規の論理ブロックであると判定した場合には、ファイル管理・バッファ管理手段13は、ユーザバッファからライトデータをシステムバッファへ複写し(ステップ307)、最初の論理ブロックを選択する。一方、新規ファイルライト通知手段19は、選択した論理ブロックのライトを要求する新規ブロックライト要求を生成する。デバイスドライバ16は、これより、二次記憶装置2固有の新規ブロックライトコマンドを生成し、発行する(ステップ312)。 If it is determined that the block is a new logical block, the file management / buffer management means 13 copies the write data from the user buffer to the system buffer (step 307), and selects the first logical block. On the other hand, the new file write notification means 19 generates a new block write request for requesting writing of the selected logical block. From this, the device driver 16 generates and issues a new block write command unique to the secondary storage device 2 (step 312).
この新規ブロックライトコマンドにはファイル識別番号と論理ブロックアドレスが記載してある。 This new block write command includes a file identification number and a logical block address.
さて、発行された新規ブロックライトコマンドは、図9に示すように、二次記憶装置2のコマンド管理手段23で受領(ステップ401)され、解析される(ステップ402)。そして、解析の結果、新規ブロックライトコマンドであることを認識する(ステップ403、404)と、コマンド管理手段23はファイル固有識別番号および論理ブロックアドレスを新規ファイルアドレス決定手段261に渡す。新規ファイルアドレス決定手段26はファイル固有識別番号によりロ−カルファイル管理テーブル27およびディスク管理テーブル25bを参照し、このブロックを記憶するロ−カルブロックアドレスを、二次記憶装置2のディスク装置29の構成パラメータ、物理パラメータ等を考慮して決定する(ステップ405)。
The issued new block write command is received (step 401) and analyzed (step 402) by the command management means 23 of the
このような最適なロ−カルブロックアドレスの決定手順については後述する。 A procedure for determining such an optimal local block address will be described later.
次に、ロ−カルファイル管理テーブル27に、この決定したロ−カルブロックアドレスを論理ブロックアドレスに対応付けて登録し、また、ディスク管理テーブル25bに、当該ロ−カルブロックが使用中である旨設定する。 Next, the determined local block address is registered in the local file management table 27 in association with the logical block address, and the local block is in use in the disk management table 25b. Set.
次に、データ転送を開始し、上位計算機1からデータの転送を受け、これを決定したロ−カルブロックアドレスに従いディスク装置29へライトする(ステップ406)。次に新規ファイルアドレス通知手段28は決定したロ−カルアドレスを上位計算機2に送信する(ステップ407)。そして、このブロックのロ−カルブロックアドレスの決定とデータ転送が終了したら終了通知を上位計算機1に行う(ステップ408)。
Next, data transfer is started, data transfer is received from the
さて、送信されたロ−カルブロックアドレスは、上位装置において、インタフェース制御手段21及びデバイスドライバ16を介して、新規ファイルアドレス登録手段15に受信される。 The transmitted local block address is received by the new file address registration means 15 via the interface control means 21 and the device driver 16 in the host device.
図8に戻り、上位計算機1の新規ファイルアドレス登録手段15は、インタフェース制御手段21及びデバイスドライバ16を介して二次記憶装置2からロ−カルブロックアドレスを受信すると、ファイル管理・バッファ管理手段13にこのロ−カルブロックアドレスの登録を依頼する。ファイル管理・バッファ管理手段13は、ファイル管理テーブル15の、対応するファイルのファイル管理情報の対応する論理アドレスに対応付けて、このロ−カルブロックアドレスを登録する(ステップ314)。また、ファイル管理・バッファ管理手段13は、二次記憶装置2からのブロック転送終了通知を受信すると(ステップ315)、当該ブロックのライト処理を終了する。そして、すべての論理ブロックのライトが完了していないならば、次の該当論理ブロックを選択し、以上の処理をすべての論理ブロックのライト処理が終了するまで繰り返す(ステップ318)。
Returning to FIG. 8, when the new file
一方、ステップ305でライトするブロックが、新規論理ブロックでないと判定された場合、すなわち既存論理ブロックへのライト処理は、次のようになる。
On the other hand, if it is determined in
この処理と、新規論理ブロックのライト処理との基本的な相違点は、既存論理ブロックへのライト処理では、ブロックの途中から更新するような場合がある点と、ライトする論理ブロックにはすでにロ−カルブロックアドレスがマッピングされている点である。 The basic difference between this process and the write process of a new logical block is that the write process to an existing logical block may be updated from the middle of the block, and that -The point where the cull block address is mapped.
まず論理ブロックの途中から更新するような場合は、一旦、この論理ブロックをリードする必要がある。すなわち、システムバッファへ二次記憶装置から、ブロックをリードして、新データをユーザバッファからシステムバッファに転送して、システムバッファのブロックを更新し、その後、このブロックを二次記憶装置にライトするがある。 First, when updating from the middle of a logical block, it is necessary to read this logical block once. That is, the block is read from the secondary storage device to the system buffer, new data is transferred from the user buffer to the system buffer, the block of the system buffer is updated, and then this block is written to the secondary storage device. There is.
そこで、すなわち既存ブロックへのライトを行う場合には、まず、リード処理を行う(ステップ306)。このステップ306の処理は、図6中に示した符号aからbへの処理と等しい。
Therefore, when writing to an existing block, read processing is first performed (step 306). The processing in
次に、既存のブロックへはすでにロ−カルブロックアドレスのマッピングが終了しているので二次記憶装置2へのライトコマンド発行時には、上位計算機1側でロ−カルブロックアドレスを指定する。このため、リード処理と同様の論理ブロックからロ−カルブロックアドレスへの変換処理を行い(ステップ310)、その後二次記憶装置への更新ライトコマンドを生成し発行する(ステップ311)。
Next, since the mapping of the local block address to the existing block has already been completed, when the write command is issued to the
一方、二次記憶装置2内は、受信した更新ライトコマンドに従い、指定されたロ−カルブロックアドレスに転送されたブロックのデータをライトする(図9ステップ410)。また、この際、二次記憶装置2のロ−カルファイル管理テーブル27の、後述するアクセス回数等の管理情報を必要に応じて更新する(ステップ409)。
On the other hand, in the
以上の説明のように、本方式によれば、ファイルの二次記憶装置への格納に際しては、その格納するロ−カルアドレスを、二次記憶装置が決定するので、二次記憶装置特有の構成パラメータや、物理パラメータや、上位計算機1のAPの特性により決定されるファイルアクセス特性に合致した最適位置にファイルを格納を実現することができ、ファイルの高速化に効果が大きい。
As described above, according to this method, when a file is stored in the secondary storage device, the secondary storage device determines the local address to be stored. The file can be stored at the optimum position that matches the file access characteristics determined by the parameters, the physical parameters, and the AP characteristics of the
ところで、上位計算機1には、本第1実施例で説明してきたような二次記憶装置2の他、新規ファイルのロ−カルブロックアドレスを決定する能力がない従来の二次記憶装置2(図24参照)をも接続できることが望ましい。すなわち、上位計算機1を、先に示した従来の二次記憶装置をも互換的に使用できるよう構成することが望ましい。
Incidentally, in addition to the
そこで、本発明の第2実施例として、このような従来の二次記憶装置をも互換的に使用できる計算機システムについて説明する。図10に、本第2実施例に係る計算機システムの構成を示す。 Therefore, as a second embodiment of the present invention, a computer system that can use such a conventional secondary storage device interchangeably will be described. FIG. 10 shows a configuration of a computer system according to the second embodiment.
本第2実施例に係る計算機システムは、本第1実施例に係る上位計算機1に、ディスク管理テーブル25aと、ファイルアドレス決定手段30、ファイルアドレス決定手段30と新規ファイルアドレス決定手段26のどちらを使用するかを選択するアドレス決定手段選択手段31を付加したものである。
In the computer system according to the second embodiment, the disk management table 25a, the file address determining means 30, the file address determining means 30 and the new file
ディスク管理テーブル25aは、ディスクの使用状況を管理する。ファイルアドレス決定手段30は、論理ブロックを新規にライトする際に書き込みに最適なディスク装置のロ−カルブロックアドレスを決定する。 The disk management table 25a manages the disk usage status. The file address determining means 30 determines a local block address of a disk device that is optimal for writing when a logical block is newly written.
次に、本第2実施例に係る計算機システムの動作を説明する。 Next, the operation of the computer system according to the second embodiment will be described.
まず、システムのイニシャル時等に、上位計算機1のファイル管理バッファ管理手段13はデバイスドライバ16を介して、二次記憶装置2のコマンド管理手段23と、ネゴシエ−ションを行い、二次記憶装置2に新規ファイルのロ−カルブロックアドレスを決定する能力があるか否かを判定し、判定結果をアドレス決定手段選択手段31に通知する。
First, at the time of initializing the system, the file management buffer management means 13 of the
そして、アドレス決定手段選択手段31は、もし、二次記憶装置2に新規ファイルのロ−カルブロックアドレスを決定する能力があれば、上位計算機1のファイルアドレス決定手段30とディスク管理テーブル25aを無効化とする。そして、以降は、前記第1実施例と同様の動作を行う。
The address determination means selection means 31 invalidates the file address determination means 30 and the disk management table 25a of the
一方、アドレス決定手段選択手段31は、もし、二次記憶装置2に新規ファイルのロ−カルブロックアドレスを決定する能力がなければ、オ−プンファイル情報通知手段18、新規ファイルライト通知手段19を無効化し、先に説明した従来の計算機システムと同様の動作を行う。
On the other hand, if the
さらに、複数二次記憶装置を同時に接続して使用するような場合は、APよりの二次記憶装置へのアクセスの要求毎に、要求された二次記憶装置が新規ファイルのロ−カルブロックアドレスを決定する能力があるか否かに応じて、オ−プンファイル情報通知手段18と新規ファイルライト通知手段19の組とファイルアドレス決定手段30とディスク管理テーブル25aの組の一方の組を無効化し、前記第1実施例の動作もしくは従来の動作と同様の動作を行う。 Further, when a plurality of secondary storage devices are connected and used at the same time, the requested secondary storage device is a local block of a new file for each access request from the AP to the secondary storage device. Depending on whether or not there is an ability to determine an address, one of the set of the open file information notification means 18 and the new file write notification means 19 and the combination of the file address determination means 30 and the disk management table 25a is invalidated. And the same operation as the operation of the first embodiment or the conventional operation is performed.
なお、二次記憶装置2に新規ファイルのロ−カルブロックアドレスを決定する能力がある場合でも、オ−プンファイル情報通知手段18、新規ファイルライト通知手段19を無効化すると共に、二次記憶装置2の新規ファイルアドレス決定手段26、新規ファイルアドレス通知手段28等を無効化することにより、従来と同様の動作を行うことができる。
Even if the
以上のように、本第2実施例によれば、前記第1実施例の計算機システムにおいて、従来の二次記憶装置をも利用することができる。また、複数台の二次記憶装置の接続や、従来使用していた二次記憶装置に新規の二次記憶装置を付設等を行うことができ、計算機システムの構成の自由度、拡張性を増すことができる。 As described above, according to the second embodiment, the conventional secondary storage device can also be used in the computer system of the first embodiment. In addition, it is possible to connect multiple secondary storage devices and attach a new secondary storage device to a secondary storage device that has been used in the past, increasing the degree of freedom and expandability of the computer system configuration. be able to.
以下、本発明の第3の実施例を説明する。 The third embodiment of the present invention will be described below.
本第3実施例では、前記第1実施例と異なり、上位計算機1では、ファイルのロ−カルブロックアドレスを一切管理しない。
In the third embodiment, unlike the first embodiment, the
図11に、本第3実施例に係る計算機システムの構成を示す。 FIG. 11 shows a configuration of a computer system according to the third embodiment.
図示するように、上位計算機1は、ディレクトリおよびファイル名とファイル識別番号を管理するディレクトリ管理テーブル14と、データ転送に使用するバッファの管理を行うバッファ管理手段13aと、デバイスドライバ16と、インタフェ−ス制御手段21とを備えている。
As shown in the figure, the
また、二次記憶装置2は、インタフェ−ス制御手段22と、ファイル管理とコマンド管理を行うファイル管理・コマンド管理手段23aと、新規のファイルの論理ブロックへロ−カルブロックアドレスのマッピングを行う新規アドレス決定手段26と、ファイルの管理情報を登録するローカルファイル管理テーブル27と、ディスクの使用状況を管理し、またディスク装置29の構成パラメータや、物理パラメータを記述しておくディスク管理テーブル25bと、ディスク制御手段24と、複数のディスク装置とを備えている。
The
上位計算機1と二次記憶装置2とは、ファイルのオープンを上位計算機1から二次記憶装置2へ通知するコマンドや、ファイル識別番号とともにファイル中の指定のデータの転送を要求するコマンドをサポ−トしている。また、上位計算機1と二次記憶装置2とは、相互に、要求に見合った形態(ブロック単位転送またはバイト単位転送)でデータを転送することができる。このようなデータの転送や、コマンドの送受信は、インタフェース制御手段21、22が制御する。
The
以下、本第3実施例に係る計算機システムの動作を説明する。 The operation of the computer system according to the third embodiment will be described below.
プロセス12は、OS20に対しファイルのオープンや、ファイルのリード・ライトなどのシステムコールを発行する。OS20はこれを受信し、バッファ管理手段13aはデータ転送に必要なバッファを確保し、デバイスドライバ経由で二次記憶装置2へのオープン、またはリード・ライトコマンドを生成し発行する。コマンドには、システムコ−ルに含まれているオフセットを含める。また、このコマンドの発行に当たってはディレクトリ管理テーブル14を参照し、このファイルのファイル識別番号を獲得し、コマンドとともに二次記憶装置2へ送信する。また、未登録ファイルのオープン時には、ファイル識別番号を新規に割り当て、割り当てたファイル識別番号を、コマンドとともに二次記憶装置2へ送信する。
The
二次記憶装置2において、ファイル管理・コマンド管理手段23aは、コマンドを受信、解析し、このコマンドが、新規の論理ブロックの登録を要求するコマンドであれば、新規ファイルアドレス決定手段26に記憶アドレスの決定を依頼する。新規ファイルアドレス決定手段26は、ディスク管理テーブル25b、ローカルファイル管理テーブル27を参照し、ディスク装置29の構成パラメータ、物理パラメータや、APのアクセス特性等を考慮し、この新規な論理ブロックを記憶するロ−カルブロックアドレスを決定し、ローカルファイル管理テーブル27に登録する。ロ−カルブロックアドレスを決定の詳細については後述する。
In the
また、ファイル管理・コマンド管理手段23aは、解析したコマンドが、既存の論理ブロックのリードもしくはライトを要求するコマンドであれば、ローカルファイル管理テーブル27を参照し、アクセスする論理ブロックのロ−カルブロックアドレスを求め、このロ−カルブロックアドレスとコマンド中のオフセットで指定されるデータにアクセスする。そして、リ−ドコマンドに対しては読みだしたデータを上位計算機に転送し、ライトコマンドに対しては転送されたデータをライトする。上位計算機1と二次記憶装置2との間のデータの転送は、APが要求した単位で行う。
The file management / command management means 23a refers to the local file management table 27 when the analyzed command is a command requesting reading or writing of an existing logical block, and the local block of the logical block to be accessed. The address is obtained, and the data specified by the local block address and the offset in the command is accessed. For the read command, the read data is transferred to the host computer, and for the write command, the transferred data is written. Data transfer between the
以上のように、本第3実施例によれば、上位計算機は二次記憶装置の構成、物理的特性等をまったく考慮する必要がなく、ただファイル名とファイル識別番号のみを管理すればよい。したがい、様々な二次記憶装置や、その他の外部機器を上位計算機に接続して利用することができる。 As described above, according to the third embodiment, the host computer does not need to consider the configuration of the secondary storage device, physical characteristics, etc. at all, and only manages the file name and the file identification number. Accordingly, various secondary storage devices and other external devices can be connected to the host computer for use.
以下、本発明の第4の実施例について説明する。 The fourth embodiment of the present invention will be described below.
図12に、本第4実施例に係る計算機システムの構成を示す。 FIG. 12 shows a configuration of a computer system according to the fourth embodiment.
本第4実施例に係る計算機システムは、前記第3実施例に係る上位計算機と二次記憶装置2を複数台接続したものである。
The computer system according to the fourth embodiment is obtained by connecting a plurality of host computers and
各上位計算機1と各二次記憶装置2は共通のインタフェースで接続されている。このインタフェースは、たとえばSCSIバスとして知られているバス型のインタフェ−スである。
Each
本第4実施例に係る計算機システムの動作は、前記第3実施例とほぼ同様である。ただし、各ファイルの管理情報は各二次記憶装置毎に分散して配置されているため、各上位計算機1は、各ファイルを記憶している二次記憶装置を管理する。これは、各上位計算機が適当な契機で、各二次記憶装置から記憶しているファイルの情報を得ることにより実現できる。また、同じ二次記憶装置の異なるファイルに、異なる上位計算機によって同じファイル識別番号が割り当てられないように、二次記憶装置側で、新規ファイルへのファイル識別番号の二重割り当てを監視、調停する。これは、たとえば、上位装置よりの新規ファイルのオ−プン要求時に、ファイル識別番号の二重割り当てが発生した場合に、二次記憶装置が上位計算機にファイル識別番号の再割り当てを要求すること等により実現できる。
The operation of the computer system according to the fourth embodiment is almost the same as that of the third embodiment. However, since the management information of each file is distributed and arranged for each secondary storage device, each
さて、前記バスを介した、コマンド、データの転送のシ−ケンスは、たとえば、図13に示すように実行される。すなわち、まず、ア−ビトレ−ションを実行して、特定の上位計算機1と特定の二次記憶装置2を論理的に接続し、コマンドを上位計算機1より二次記憶装置に転送する。そして、次に、上位計算機は、二次記憶装置2のコマンドに対する前処理期間(ディスク装置のシ−ク期間等)中バスを他の装置に解放するため、メッセ−ジ1を送信し一旦バスを解放する。前処理が終了すると、二次記憶装置2はメッセ−ジ2を送信し、上位計算機とバスを再接続する。そして、次に、リ−ド/ライトするデータを上位計算機1と二次記憶装置2間で転送し、最後に、メッセ−ジ3によってコマンドの正常終了もしくは異常終了を二次記憶装置より上位計算機に通知し、バスを解放する。
Now, the sequence of command and data transfer through the bus is executed as shown in FIG. 13, for example. That is, first, arbitration is executed to logically connect the specific
なお、このような、バスは前記第1、第2実施例にも用いることができる。前記第1、第2実施例にも用いる場合には、メッセ−ジ3によって新規な論理ブロックを記憶したロ−カルブロックアドレスも二次記憶装置2から上位計算機1に転送するようにする。
Such a bus can also be used in the first and second embodiments. When used also in the first and second embodiments, the local block address storing the new logical block by the
以上のように、本第4実施例によれば、各上位計算機1はファイル名と、そのファイル識別番号、ファイルを記憶している二次記憶装置の識別以外の情報を保有する必要がないので、複数の上位計算機と複数の二次記憶装置を容易に接続できる。また、ファイル管理情報は、そのファイルを記憶している二次記憶装置のみが保有するので、二次記憶装置側で容易に、複数の上位装置に対するファイルのコヒレンシ−を保つための制御を行うことができる。
As described above, according to the fourth embodiment, each
さて、ここで、前述した二次記憶装置におけるファイルの各論理ブロックのロ−カルブロックアドレスの決定手順の詳細について説明する。 Now, the details of the procedure for determining the local block address of each logical block of the file in the secondary storage device will be described.
なお、以下に説明する手順は、前記第1実施例から第4実施例にいずれにも適用することができる。 The procedure described below can be applied to any of the first to fourth embodiments.
さて、図14において、24はディスク装置制御手段、29は複数台で構成したディスク装置群である。ディスク装置制御手段24はディスク装置群29をRAID5型ディスクアレイとして管理している。RAID5型ディスクアレイは高速ディスクアクセスと高信頼性を目的としたディスクアレイアーキテクチャであり、このア−キテクチャでは、図示するようにデータをストライプと呼ぶ単位に分割し各ディスク装置に分散配置する。これによりストライプ単位のアクセスでは各ディスク装置を完全に独立に動作させることができ、ディスク台数倍のトランザクション性能を得られる。
In FIG. 14, 24 is a disk device control means, and 29 is a disk device group composed of a plurality of units. The disk device control means 24 manages the
さらに、横ならびのデータストライプ群(たとえば、D00、D01、D02)でパリティグループを構成し、これらデータの排他的論理和を計算しパリティ(たとえば、P0)として一台のディスク装置上に格納する。このパリティは各パリティグループ毎に異なるディスク装置に分散配置する。これにより、万一、1台のディスク装置が故障してもパリティを利用し故障ディスクのデータを復元できる。 Further, a parity group is formed by horizontally arranged data stripe groups (for example, D00, D01, D02), and an exclusive OR of these data is calculated and stored as parity (for example, P0) on one disk device. . This parity is distributed and arranged in different disk devices for each parity group. Thereby, even if one disk device fails, the data of the failed disk can be restored using the parity.
このようなRAID5型ディスクアレイにおいて、各論理ブロックを最適に配置するためには、ストライプサイズや、ディスク台数や、パリティ配置方式等の構成パラメータが必要となる。しかし、これらのパラメ−タは、二次記憶装置の種別毎に異なるため、上位計算機において管理することは困難である。
In such a
一方、これらのパラメータを考慮しないと、例えばストライプサイズと論理ブロックサイズを同一サイズとしたとき、論理ブロックが1つのストライプの先頭、すなわちストライプバウンダリできちんと配置されず2つのストライプにまたがって配置されてしまう事態が発生する。そして、この場合、1つの論理ブロックをアクセスする際にも2つのストライプ、すなわち2台のディスク装置を同時にアクセスする必要が発生するので性能が著しく低下する。 On the other hand, if these parameters are not taken into account, for example, when the stripe size and the logical block size are the same size, the logical block is not arranged properly at the top of one stripe, that is, the stripe boundary, and is arranged across two stripes. Will happen. In this case, when one logical block is accessed, it is necessary to access two stripes, that is, two disk devices at the same time, so that the performance is remarkably deteriorated.
そこで、本実施例では、二次記憶装置2側が自分の構成パラメ−タに基づいて論理ブロックの配置を決定する。以下、構成パラメ−タを考慮せずに行った論理ブロックの配置によって生じる問題と、これを回避するために二次記憶装置2が自分の構成パラメ−タに基づいて行う論理ブロックの配置の例を示す。
Therefore, in the present embodiment, the
まず、第1の例を図15を用いて明する。 First, a first example will be described with reference to FIG.
図15aは、ストライプ境界を意識せず論理ブロックの配置を決定した結果、データがディスク0のD00ストライプとディスク1のD01ストライプの2つのストライプを使用して記憶されることとなった場合を示している。この場合、1回の上位計算機からの要求に2台のディスク装置が使用されているので、これと並行して他の要求の処理に使用することができるディスクはディスク2,3の2台となる。
FIG. 15a shows a case where the data is stored using two stripes of the D00 stripe of the
そこで、本実施例の二次記憶装置は、自分の構成パラメ−タに基づいて、上位計算機から転送された論理ブロックの先頭をストライプバウンダリに合わせるよう配置を決定することにより、図15bに示すようにディスク1のD01ストライプのみにデータ格納する。この場合、上位計算機が8KB固定で新規論理ブロックのライト要求を発行する場合には、最大4つの要求を同時に処理でき、処理スループットを向上することができる。
Therefore, the secondary storage device of this embodiment determines the arrangement so that the top of the logical block transferred from the host computer is aligned with the stripe boundary based on its own configuration parameters, as shown in FIG. 15b. The data is stored only in the D01 stripe of
次に、第2の例を図16を用いて説明する。 Next, a second example will be described with reference to FIG.
図16aは48KBの新規な論理ブロックを、ストライプバウンダリのみを考慮して配置したところを示している。ここで、RAID5型ディスクアレイではパリティを生成する必要がある。必要となるパリティはP0,P1,P2であり、これらは、「*」を排他的論理和を表すものとして以下の生成式に従い生成できる。 FIG. 16a shows a 48 KB new logical block placed in consideration of only the stripe boundary. Here, it is necessary to generate a parity in the RAID5 type disk array. The required parities are P0, P1, and P2, which can be generated according to the following generation formula, assuming that “*” represents an exclusive OR.
P0New=(D01Old*D02Old)*(D01New*D02New)*P0Old
P1New=D10New*D11New*D31New
P2New=D20Old*D20New*P2Old
ここで、添字Oldのついたデータ(たとえば、D01Old,D02Old,P0Old,…等)はディスクにすでに書き込まれているデータであり、添字Newのついたデータ(D01New,D02New,…等)は今まさに書き込もうとするデータである。したがい、P0の生成にはD01New、D02Newの書き込みに先立ち、ディスク1,2,3よりD01Old、D02Old、P0Oldをリードする必要があり、P2の生成にはD20Newの書き込みに先立ちディスク0,1よりD20Old、P2Oldをリードする必要がある。このライトに先立つリード(リードモディファイライト処理、以下、「RMW処理」と記す)は、多大な処理時間が必要となる。
P0New = (D01Old * D02Old) * (D01New * D02New) * P0Old
P1New = D10New * D11New * D31New
P2New = D20Old * D20New * P2Old
Here, the data with subscript Old (for example, D01 Old, D02 Old, P0 Old,...) Is data already written on the disk, and the data with subscript New (D01 New, D02 New,. The data to be written. Therefore, it is necessary to read D01 Old, D02 Old, and P0 Old from the
そこで、本実施例の二次記憶装置は、自分の構成パラメ−タに基づいて、次のような手順で配置を決定する。 Therefore, the secondary storage device according to the present embodiment determines the arrangement according to the following procedure based on its own configuration parameters.
すなわち、新規ファイルアドレス決定手段26はローカルファイル管理テーブル27を参照し、概略アドレスを決定する。概略アドレスとは、ファイルへの論理ブロックの追加を行う場合においては、このファイルが現在格納されているアドレスであり、新規ファイルの論理ブロックの記憶ならば、現在ちょうど使用しているディスクの領域のアドレスである。新規な論理ブロックの概略アドレスをこのように選ぶのは、現在ちょうど使用しているディスク領域のデータと関係あると推測されるデータは、現在ちょうど使用しているディスク領域のデータの近くに配置した方が、確率的にディスクのヘッド移動に要する時間が少なくなるからである。
That is, the new file
次に、概略アドレスが決定したならば、新規ファイルアドレス決定手段26はディスク管理テーブル25を参照し詳細アドレスを決定する。
Next, when the approximate address is determined, the new file
すなわち、概略アドレスの近傍で丁度48KB分すなわち6ストライプを、ディスク0のストライプから開始し、順番に新規論理ブロックを配置可能な領域を、新規ファイルを格納するアドレスとして決定する。この例の場合、ディスク0のストライプ#nからディスク3のストライプ#n+1のパリティストライプを除く計6つの連続したデータストライプが未使用であることをストライプ管理テーブルを参照し知ることができる。
That is, just 48 KB, that is, 6 stripes in the vicinity of the approximate address, starting from the stripe of
ディスク管理テーブルは、図17に示すようにさらにストライプ管理テーブルとセクタ管理テーブルにより構成されている。 As shown in FIG. 17, the disk management table further includes a stripe management table and a sector management table.
ここで、ストライプ管理テーブル1700は、ストライプ毎に、そのストライプがデータストライプがパリティストライプか、使用中か未使用か一部使用かを登録するエントリを有しており、これより、各ストライプがデータストライプがパリティストライプか、又、ストライプ全域を使用中か未使用か、一部使用かをディスク毎に知ることができる。また各ディスクのストライプ毎に、セクタの使用状況を管理するセクタ管理テーブル1710が設けられている。図17に示したセクタ管理テーブル1710は、ストライプサイズ8KBのときのもので、この場合、1ストライプは512Bのセクタ16コにより構成されている。このような構成により、各セクタが使用中か未使用かを判断できる。 Here, the stripe management table 1700 has an entry for registering, for each stripe, whether the data stripe is a parity stripe, whether it is used, unused, or partially used. Whether the stripe is a parity stripe or whether the entire stripe is in use, unused, or partially used can be known for each disk. A sector management table 1710 is provided for managing the sector usage status for each stripe of each disk. The sector management table 1710 shown in FIG. 17 is for a stripe size of 8 KB. In this case, one stripe is composed of 16 sectors of 512 B. With such a configuration, it can be determined whether each sector is in use or unused.
たとえば、ディスク#0のストライプ#n+2(図中丸印付加)は属性“010”であり一部使用中のデータストライプであることがわかる。そこで同ストライプのセクタ管理テーブルを参照すると、同ストライプ内のセクタ番号0〜7は使用中であり、8〜15は未使用であることがわかる。そして、これより、上位計算機より転送された新規論理ブロックを図16bのようにD00からD13までの連続した領域に格納することが決定される。
For example, the stripe # n + 2 (added with a circle in the figure) of the
さらに、この場合、生成する必要のあるパリティストライプはP0,P1の2つであり、各々以下の生成式により生成される。 Furthermore, in this case, there are two parity stripes, P0 and P1, that need to be generated, and each is generated by the following generation formula.
P0New=D00New*D01New*D02New
P1New=D10New*D11New*D13New
この生成式より、ライトに先立つデータのリードを行わなくともパリティを求めることができることが判る。
P0New = D00New * D01New * D02New
P1New = D10New * D11New * D13New
From this generation equation, it can be seen that parity can be obtained without reading data prior to writing.
さて、ここでRMW処理はW処理の平均1.7倍処理時間がかかると仮定すると、図16aのように記憶する場合に比べ、RMW処理が不必要になった分、2.2倍の高速に、新規論理ブロックを記憶が行われることになる。 Assuming that the RMW process takes 1.7 times longer on average than the W process, the RMW process is unnecessary compared with the case of storing as shown in FIG. Then, the new logical block is stored.
以上のように、本実施例によれば二次記憶装置において、RAID型ディスクアレイのパリティ配置の方式や、ストライプサイズや、ディスク数等のパラメータに対し、データ転送長や関連する他のファイルとの位置関係を考慮した最適ファイル格納が実現できる。 As described above, according to the present embodiment, in the secondary storage device, the data transfer length and other related files are related to the parity arrangement method of the RAID type disk array, the stripe size, the number of disks, and the like. Optimal file storage considering the positional relationship of
なお、以上ではRAID5型ディスクアレイにおける最適論理ブロック配置の一例を示したが、いかなる構成のディスク装置(群)を用いたとしても、その構成パラメータや、物理特性、さらに論理ブロックサイズや、APのアクセス特性に合致した最適論理ブロック配置を実現できる。また、同様にして、ディスクアレイ以外の形態のディスク装置や、又は光ディスクやテープデバイスや半導体形記憶装置等についても最適配置を実現することができる。
In the above, an example of the optimal logical block arrangement in the
以下、本発明の第5の実施例について説明する。 The fifth embodiment of the present invention will be described below.
本第5実施例は、前記各実施例に係る計算機システムに用いることのできる二次記憶装置2に関するものである。
The fifth embodiment relates to a
本第5実施例に係る二次記憶装置2と、前記第1実施例で示した二次記憶装置(図3参照)との主要な相違は、本第5実施例に係る二次記憶装置2が複数のディスク装置群を備えている点である。
The main difference between the
図18に、本第5実施例に係る二次記憶装置の構成を示す。 FIG. 18 shows the configuration of the secondary storage device according to the fifth embodiment.
図中、36a1、36a2、36a3はディスク装置群、24a1、24a2、24a3は各ディスク装置群を制御するディスク装置制御手段、34はどのディスク装置群を使用するかを選択するディスク装置群選択手段、35はディスク装置群を切り替えるディスク装置群切り換え手段、25b1、25b2、25b3は各ディスク群の構成パラメータや、物理特性や、使用状況を管理するディスク管理テーブル、1800はディスク群更新制御手段である。他部は、図3において同符号を付して示した部位と同じ部位であるので説明を省略する。 In the figure, 36a1, 36a2, 36a3 are disk device groups, 24a1, 24a2, 24a3 are disk device control means for controlling each disk device group, 34 is a disk device group selection means for selecting which disk device group is used, 35 is a disk device group switching means for switching the disk device group, 25b1, 25b2, and 25b3 are disk management tables for managing the configuration parameters, physical characteristics, and usage status of each disk group, and 1800 is a disk group update control means. The other parts are the same as the parts indicated by the same reference numerals in FIG.
以下、本第5実施例に係る二次記憶装置の動作の概要を説明する。 The outline of the operation of the secondary storage device according to the fifth embodiment will be described below.
二次記憶装置2のコマンド管理手段23は、上位計算機1からアクセス要求を受信し、その要求が新規論理ブロックをライトする要求である場合には、新規ファイルアドレス決定手段26にこれを通知し、新規ファイルアドレス決定手段26は、ロ−カルファイル管理テーブル27、および、各ディスク管理テーブル25b1、25b2、25b3を参照し、最適なディスク装置群を選択しロ−カルブロックアドレスをマッピングする。そして、これをディスク装置群選択手段34に通知し、ディスク装置群選択手段34はこれを受けディスク装置群切り換え手段35を操作し、選ばれたディスク装置群を選択する。その後の処理は、第1実施例と同様である。
The command management means 23 of the
新規ファイルアドレス決定手段26が行う、ディスク装置群の選択は、転送長や、ファイル自体のアクセス頻度の特性や、ディスク装置群の特性等を考慮して行う。より詳細な例は後述する。
The selection of the disk device group performed by the new file
さて、本第5実施例に係るディスク装置群は、具体的には、たとえば、図19に示すように構成することができる。 The disk device group according to the fifth embodiment can be configured specifically as shown in FIG. 19, for example.
図19に示した例では、ディスク装置群1はRAID1型ディスクアレイ装置(またはミラーディスク装置)、ディスク装置群2はRAID3型ディスクアレイ装置、ディスク装置群3はRAID5型ディスクアレイ装置としている。
In the example shown in FIG. 19, the
この場合、アクセス頻度の高いファイルや高性能を要求するファイルはRAID1型のディスク装置群1に保管するのがふさわしく、画像データのような大容量シーケンシャルファイルはRAID3型のディスク装置群2に保管するのがふさわしく、データベースアクセスなどのトランザクション用ランダムファイルはRAID5型のディスク装置群3に格納するのがふさわしい。
In this case, it is appropriate to store a frequently accessed file or a file requiring high performance in the
そこで、新規ファイルアドレス決定手段26は、ディスク装置群の選択を次のように行う。
Therefore, the new file
まず、新規ファイルアドレス決定手段26は、上位計算機よりのコマンドが既存のファイルの既存の論理ブロックを更新を要求するものである場合には、既存の論理ブロックを格納しているディスク装置群を選択する。 First, the new file address determination means 26 selects the disk device group storing the existing logical block when the command from the host computer requests to update the existing logical block of the existing file. To do.
一方、上位計算機よりのコマンドが新規な論理ブロックの登録を要求するものである場合には、新規ファイルアドレス決定手段26は、まずどのディスク装置群に、この論理ブロックを登録するかを、図20に示す手順に従い決定する。 On the other hand, if the command from the host computer requests registration of a new logical block, the new file address determination means 26 first determines which disk device group this logical block is registered in as shown in FIG. Determine according to the procedure shown in.
すなわち、まず、書き込む論理ブロックの属するファイルが新規か既存かの判断を行い(ステップ2001)、新規のファイルであれば、ファイルの特性が未知であるので、ひとまずRAID1型ディスクアレイ(ディスク群1)を選択する(ステップ2006)。
That is, first, it is determined whether the file to which the logical block to be written belongs is new or existing (step 2001). If it is a new file, the characteristics of the file are unknown, so for the time being a
一方、書き込む論理ブロックの属するファイルが既存のファイルであれば、そのファイルのランダムアクセス性についての判断を行う(ステップ2002)。この判断には、ロ−カルファイル管理テーブル27を用いて行う。 On the other hand, if the file to which the logical block to be written belongs is an existing file, a determination is made as to the random accessibility of the file (step 2002). This determination is made using the local file management table 27.
すなわち、図21に示すように、ロ−カルファイル管理テーブルの各ファイル管理情報の、参照カウントフィールド156に、アクセス特性判定用の5つのサブフィールドを設ける。ここで、第1のサブフィールドは前回参照した上位計算機からの要求のアドレス(ファイル先頭からのバイト数)を格納するフィールド1561、第2のサブフィールドは前回参照したときの転送長(バイト数)を格納するフィールド1562、第3のサブフィールドはランダムアクセス回数の頻度を示すフィールド1563、第4のサブフィールドはシーケンシャルアクセス回数の頻度を示すフィールド1564、第5のサブフィールドはこのファイルの全参照回数を格納するフィールド1565である。また、ランダムアクセス回数フィールド1563、シーケンシャルアクセス回数フィールド1564の更新は、ファイルのアクセスの度に、次の処理により行われる。すなわち、式 今回参照アドレス≦前回参照アドレス+前回転送長+αを判定し、式が成立すれば、このアクセスはシーケンシャルと判断し、シーケンシャルアクセス回数サブフィールド1564に1を加算する。もし不成立ならばランダムアクセスと判断し、ランダムアクセス回数サブフィールド1563に1を加算する。ただし、「今回参照アドレス」は上位計算機のライト要求のファイル先頭からの位置(バイト数)、αはシーケンシャル性の判断基準用定数である。なお、もし、完全に連続したアクセスのみをシーケンシャルとしたいときは、α=0に設定すればよく、もし、ある程度幅をもたせてシーケンシャル性を判断したいときはαをある値に設定すればよい。このようにしてファイル参照のたびにランダム/シーケンシャル性を判定していく。
That is, as shown in FIG. 21, five subfields for determining access characteristics are provided in the
さて、ステップ2002に戻り、既存のファイルのランダムアクセス性についての判断、すなわち、ランダムアクセス性が大きいか、小さいかの判断は、次のように行う。 Now, returning to step 2002, the determination regarding the random accessibility of the existing file, that is, the determination of whether the random accessibility is large or small is performed as follows.
すなわち、A、Bを適当な設定値として、もし、対応するファイル管理情報の、参照回数フィ−ルド1565の値がAより大きく、ランダムアクセス回数フィ−ルド1563の値/参照回数フィ−ルド1565の値がB以上であれば、ランダムアクセス性が大と判定し、参照回数フィ−ルド1565の値がAより大きく、ランダムアクセス回数フィ−ルド1563の値/参照回数フィ−ルド1565の値がB未満であればランダムアクセス性が小と判定する。また、参照回数フィ−ルド1565の値がAより小さければ、判定不能と判断する。これは、参照回数がある一定値Aより小さい場合には、ファイルは作成されたばかりであって、まだシーケンシャル/ランダム性の判断できないからである。 That is, if A and B are appropriate setting values, the value of the reference count field 1565 of the corresponding file management information is larger than A, and the value of the random access count field 1563 / reference count field 1565. If the value of B is greater than or equal to B, it is determined that the random accessibility is large, the value of the reference count field 1565 is greater than A, and the value of the random access count field 1563 / the value of the reference count field 1565 is If it is less than B, it is determined that the random accessibility is small. If the value of the reference count field 1565 is smaller than A, it is determined that the determination is impossible. This is because if the reference count is smaller than a certain value A, the file has just been created and the sequential / randomness cannot be determined yet.
次に、この判断の結果、ランダム性大ならばRAID5型ディスクアレイ(ディスク群3)を選択し(ステップ2004)、判定不能ならばRAID1型ディスクアレイ(ディスク群1)を選択する(ステップ2006)。ここで、判定不能の場合に、RAID1型ディスクアレイ(ディスク群1)を選択するのは、作成したばかりの、ファイルはRAID1型ディスクアレイ(ディスク群1)に格納されているはずであるからである。
Next, as a result of this determination, if the randomness is large, the
なお、ステップ2002では、ランダムアクセス比率=ランダムアクセス回数/参照回数が定数B(O<B<1)より大きいかどうかを判定したが、シーケンシャルアクセス比率をシ−ケンシャルアクセス回数フィ−ルド1564の値/参照回数フィ−ルド1565の値を基準にして判定を行うようにしてもよく、また、両者を加味した判定を行ってもよい。 In step 2002, it is determined whether or not the random access ratio = random access count / reference count is greater than the constant B (O <B <1), but the sequential access ratio is set in the sequential access count field 1564. The determination may be made based on the value in the value / reference number field 1565, or may be determined in consideration of both.
さて、ステップ2002で、ランダム性が小と判断されたならば転送長の判定を行う。すなわち、コマンドで書き込みを要求されているデータ長(転送長)がある一定値C以上ならば、転送長大と判断し、RAID3型ディスクアレイ(ディスク群2)を選択する。また転送長がある一定値C未満のときは、RAID3型は効率が悪いのでRAID1型を選択する。
If it is determined in step 2002 that the randomness is small, the transfer length is determined. That is, if the data length (transfer length) requested to be written by the command is equal to or greater than a certain value C, it is determined that the transfer length is large, and the
以上のように、新規ファイルが既存ファイルか、ランダム性が大か小か、転送長が大か小かの判定を行うことにより、適切なディスク群を選択する。そして、選択したディスク群に、新規な論理ブロックを書き込むと共に、選択したディスク群が、新規な論理ブロックの属する既存のファイルの既存の論理ブロックが記憶されているディスク群と異なる場合には、選択したディスク群に既存の論理ブロックを移動し、これに合わせファイル管理テ−ブルを更新する。なお、この際、ロ−カルファイル管理テーブル27の各ファイル管理情報に設けたファイルの再配置の有無を示す更新フラグ188を”更新済み”に設定する。 As described above, an appropriate disk group is selected by determining whether the new file is an existing file, whether the randomness is large or small, and whether the transfer length is large or small. Then, when a new logical block is written to the selected disk group and the selected disk group is different from the disk group in which the existing logical block of the existing file to which the new logical block belongs is stored, select The existing logical block is moved to the disk group and the file management table is updated accordingly. At this time, an update flag 188 indicating whether or not a file is relocated provided in each file management information of the local file management table 27 is set to “updated”.
なお、以上では、新規ファイルはすべて、RAID1型ディスクアレイ(ディスク群1)に書き込むこととした。これはアクセス特性が不明であるためである。しかしながらRAID1型ディスクアレイは信頼性が高い点を除いては1台のディスクと同等の性能であり、ランダム性の強いファイルや、シーケンシール性の強いファイルのアクセスには適さない。また、ディスク容量も限られているので、適当なタイミングでそのアクセス特性に適したディスク群を選択し直し、ファイルを移動させることが望ましい。
In the above description, all new files are written to the
そこで、ディスク群更新制御手段1800が、定期的に、コマンド管理手段23にファイル毎に格納するディスク群を選択しなおすよう要求を発行するようにする。
Therefore, the disk group update control unit 1800 periodically issues a request to the
コマンド管理手段23はこの要求をうけ、ロ−カルファイル管理テーブル27の各ファイル管理情報の更新フラグ188を参照し、もし、更新フラグが“未更新”に設定されていたならば最近新規に作成されたファイルなので、ディスク装置群選択手段を起動し、図20に示した手順に従いディスク群の再選択を試みる。 In response to this request, the command management means 23 refers to the update flag 188 of each file management information in the local file management table 27. If the update flag is set to “unupdated”, it is newly created recently. Therefore, the disk device group selection means is activated and tries to reselect the disk group according to the procedure shown in FIG.
そして、ランダム性又はシーケンシャル性が強いファイルであることが判定されたなら上述のようなディスク群を選択して、RAID1型ディスクアレイ(ディスク群1)以外のディスク群が選択されたら、そのディスク群にファイルを移動し、更新フラグ188を“更新済”に設定する。
If it is determined that the file has a strong randomness or sequentiality, the disk group as described above is selected, and when a disk group other than the
もし、判定不能であれば、そのままディスク群1に当該ファイルを置く。このとき、更新フラグは“未更新”のままにする。なお、ファイル移動中にこのファイルへのアクセス要求が上位計算機から発行されることがあるため、このとき更新フラグは“更新中”に設定しておく。また、ファイルの移動に伴いファイル管理テーブルを新規に作成し直し、ファイルの移動が完全に終了したら、ファイル管理テーブルを新規のものに切りかえ古いものは削除してしまう。なお、ディスク群の選択後の論理ブロックの論理ブロックアドレスへの登録は先に示したように行えばよい。
If the determination is impossible, the file is placed in the
以上の処理により、アクセス特性に適したディスク群を選択できる。 Through the above processing, a disk group suitable for access characteristics can be selected.
なお、以上ではディスク群としてRAID1型、RAID3型、RAID5型のディスクアレイを使用した例を使用したが、これ以外の装置を導入しても、同様な手順によりアクセス特性に適したディスク群を選択できる。
In the above example,
さて、本第5実施例に係るディスク装置群(図19参照)は、図22に示すように構成することもできる。 The disk device group according to the fifth embodiment (see FIG. 19) can also be configured as shown in FIG.
図22に示した例では、構成パラメータの1つであるストライプサイズがそれぞれ異なる3つのディスクアレイ装置をディスク装置群1、2、3としている。
In the example shown in FIG. 22, three disk array devices having different stripe sizes, which are one of the configuration parameters, are defined as
この場合、比較的小さなファイルを格納するにはストライプサイズを小さく設定したディスク装置群1に、また逆に十分大きなファイルを格納するにはストライプサイズを大きく設定したディスク装置群3に登録するのがふさわしい。したがい、ファイル長に応じて、ディスク装置群を選択すれば、ファイルの特性に適したディスク群を選択できる。
In this case, registration to the
または、データの転送長に応じて、ストライプサイズ×ディスク台数×nが転送長となるようなディスク群を選択するようにすれば、効率よく、ディスク台数分の転送性能を得ることができる。 Alternatively, if the disk group is selected such that the stripe length × number of disks × n is the transfer length according to the data transfer length, transfer performance equivalent to the number of disks can be obtained efficiently.
また、本第5実施例に係るディスク装置群(図19参照)は、図23に示すように構成することもできる。 Further, the disk device group (see FIG. 19) according to the fifth embodiment can also be configured as shown in FIG.
図23に示した例では、ディスク装置群1に磁気ディスク装置を、ディスク装置群2に光ディスク装置を、ディスク装置群3にテープライブラリ装置を用いている。この場合、アクセス頻度の高いファイルは磁気ディスク装置に、アクセス頻度の余り高くないファイルは光ディスク装置に、ほとんどアクセスしないファイル(バックアップ等)はテープライブラリ装置に登録することが望ましい。
In the example shown in FIG. 23, a magnetic disk device is used for the
そこで、ある一定時間毎に、ディスク群更新制御手段1800が、コマンド管理手段23にファイル毎に格納するディスク群を選択しなおすよう要求を発行するようにする。そして、コマンド管理手段23が、この要求をうけ、ロ−カルファイル管理テーブル27の各ファイル管理情報のタイムスタンプ153の前回参照時間と、参照回数フィ−ルド1565を参照し、このファイルが最近アクセスされているのかどうか、又は参照回数が多いかどうかを判定する。そして、もし一定期間アクセスされていないならば古いファイルであり、高速なディスク上のスペースを占拠していることは非効率であるので、たとえば光ディスク等にファイルを移動するようにする。
Therefore, the disk group update control unit 1800 issues a request to the
なお、たとえば夜間に、テープライブラリ装置に、他のディスク装置に記憶されているファイルを複写し、バックアップを取るようにしてもよい。 Note that, for example, at night, a file stored in another disk device may be copied to the tape library device and backed up.
以上のように本実施例によれば複数のディスク装置群を二次記憶装置内に設けることができ、その構成を変えることで多種多様なアクセス要求やファイル特性に適した論理ブロックの論理ブロックアドレスへのマッピングを実現でき、様々な形態の記憶システムおよび計算機システムを構築できるという効果がある。 As described above, according to the present embodiment, a plurality of disk device groups can be provided in the secondary storage device, and logical block addresses of logical blocks suitable for various access requests and file characteristics can be changed by changing the configuration. Mapping can be realized, and various forms of storage systems and computer systems can be constructed.
以上説明してきたように、本実施例によれば、二次記憶装置固有の構成パラメータや、物理パラメータを配慮し、かつ上位計算機のAPのアクセス特性に合致した最適ファイル配置を実現でき、高速なファイルアクセスを実現できる。またこれにより高性能な計算機システムを実現できる。また、上位計算機に本発明の二次記憶装置のみならず従来の二次記憶装置をも接続でき、柔軟な計算機システムを構築できる。また、上位計算機は二次記憶装置の構成、物理特性を考慮する必要がないので、簡単に様々な二次記憶装置を上位装置に接続できる。また、複数台の上位計算機と複数台の二次記憶装置を接続した分散ファイル管理型計算機システムを容易に構築できる。 As described above, according to the present embodiment, it is possible to realize an optimal file arrangement that takes into consideration the configuration parameters and physical parameters unique to the secondary storage device, and that matches the access characteristics of the AP of the host computer. File access can be realized. This also makes it possible to realize a high-performance computer system. Further, not only the secondary storage device of the present invention but also a conventional secondary storage device can be connected to the host computer, and a flexible computer system can be constructed. In addition, since the host computer need not consider the configuration and physical characteristics of the secondary storage device, various secondary storage devices can be easily connected to the host device. In addition, a distributed file management computer system in which a plurality of host computers and a plurality of secondary storage devices are connected can be easily constructed.
本発明に係る計算機システムによれば、計算機は、新たな論理ブロックの二次記憶装置への記憶を行う場合には、二次記憶装置のロ−カルアドレスを指定せずに、前記二次記憶装置に論理ブロックの記憶を要求する。一方、二次記憶装置は、新たな論理ブロックの前記記憶手段への記憶を前記計算機より要求されると、記憶を要求された論理ブロックを記憶するロ−カルアドレスを所定の手順により決定し、決定したロ−カルアドレスに記憶を要求された論理ブロックを記憶すると共に、決定したロ−カルアドレスを前記計算機に通知する。計算機は、通知されたロ−カルアドレスを、記憶を要求した新たな論理ブロックに対応付けて前記ファイル管理テ−ブルに登録し、以降、この論理ブロックにアクセスする場合には、ファイル管理テ−ブルを参照し、アクセスする論理ブロックのロ−カルアドレスを指定して二次記憶装置にアクセスを要求する。 According to the computer system of the present invention, when storing a new logical block in the secondary storage device, the computer does not specify the local address of the secondary storage device, but the secondary storage device. Request the device to store a logical block. On the other hand, the secondary storage device, when requested by the computer to store a new logical block in the storage means, determines a local address for storing the logical block requested to be stored by a predetermined procedure, The logical block requested to be stored is stored in the determined local address, and the determined local address is notified to the computer. The computer registers the notified local address in the file management table in association with the new logical block requested to be stored, and when accessing this logical block thereafter, the file management table. The secondary storage device is requested to access by designating the local address of the logical block to be accessed.
このように、本発明によれば、ファイルを構成する論理ブロックを記憶するロ−カルアドレスを、二次記憶装置が決定する。ここで、個別の二次記憶装置に、自身の構成や状態を把握させるのは容易であるので、二次記憶装置は、論理ブロックの最適な記憶位置を決定することができる。よって上位計算機に二次記憶装置のパラメータを設定すること無しに、ファイルの二次記憶装置への最適配置を実現することができる。 As described above, according to the present invention, the secondary storage device determines the local address for storing the logical blocks constituting the file. Here, since it is easy for an individual secondary storage device to grasp its own configuration and state, the secondary storage device can determine the optimal storage location of the logical block. Therefore, it is possible to realize the optimal arrangement of the files in the secondary storage device without setting the secondary storage device parameters in the host computer.
1・・・上位計算機
2・・・二次記憶装置
12・・・プロセス
13・・・ファイル管理・バッファ管理手段
14・・・ディレクトリ管理テーブル
15・・・ファイル管理テーブル
16・・・デバイスドライバ
17・・・新規ファイルアドレス決定手段
18・・・オープンファイル情報通知手段
19・・・新規ファイルライト通知手段
20・・・オペレーティングシステム
21・・・インタフェース制御手段
22・・・インタフェース制御手段
23・・・コマンド管理手段
24・・・ディスク装置制御手段
25b・・・ディスク管理テーブル
26・・・新規ファイルアドレス決定手段
27・・・ロ−カルファイル管理テーブル
28・・・新規ファイルアドレス通知手段
29・・・ディスク装置
DESCRIPTION OF
Claims (1)
ファイルが格納されたディスク装置と、
前記インターフェースに入力されるファイル識別子及びファイル内での位置を特定するための位置情報に基づいて、前記外部装置がアクセスするファイル内のデータの位置を判別する判別手段と、
前記判別されたデータにアクセスするように、前記ディスク装置を制御するディスク制御手段とを有することを特徴とする記憶装置。 An interface connected to an external device;
A disk unit in which the file is stored;
A discriminating means for discriminating a position of data in a file accessed by the external device based on a file identifier input to the interface and position information for specifying a position in the file;
And a disk control means for controlling the disk device so as to access the determined data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008009073A JP4252102B2 (en) | 1993-06-21 | 2008-01-18 | Computer system and secondary storage device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14946793 | 1993-06-21 | ||
JP2008009073A JP4252102B2 (en) | 1993-06-21 | 2008-01-18 | Computer system and secondary storage device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006154165A Division JP4128206B2 (en) | 1993-06-21 | 2006-06-02 | Computer system and secondary storage device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008135055A true JP2008135055A (en) | 2008-06-12 |
JP4252102B2 JP4252102B2 (en) | 2009-04-08 |
Family
ID=39559823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008009073A Expired - Fee Related JP4252102B2 (en) | 1993-06-21 | 2008-01-18 | Computer system and secondary storage device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4252102B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013046342A1 (en) * | 2011-09-27 | 2013-04-04 | 富士通株式会社 | Virtual tape device and control method for virtual tape device |
JP2013210846A (en) * | 2012-03-30 | 2013-10-10 | Fujitsu Ltd | Storage control device, storage system and storage control method |
JP2014175008A (en) * | 2013-03-07 | 2014-09-22 | Postech Academy-Industry Foundation | Method and apparatus for de-duplicating data |
JP2015176205A (en) * | 2014-03-13 | 2015-10-05 | 日本電気株式会社 | storage system |
JP2016500459A (en) * | 2012-12-21 | 2016-01-12 | 華為技術有限公司Huawei Technologies Co.,Ltd. | Monitoring record management method and device |
-
2008
- 2008-01-18 JP JP2008009073A patent/JP4252102B2/en not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013046342A1 (en) * | 2011-09-27 | 2013-04-04 | 富士通株式会社 | Virtual tape device and control method for virtual tape device |
JPWO2013046342A1 (en) * | 2011-09-27 | 2015-03-26 | 富士通株式会社 | Virtual tape device and control method of virtual tape device |
US9513804B2 (en) | 2011-09-27 | 2016-12-06 | Fujitsu Limited | Virtual tape device and virtual tape device control method |
JP2013210846A (en) * | 2012-03-30 | 2013-10-10 | Fujitsu Ltd | Storage control device, storage system and storage control method |
JP2016500459A (en) * | 2012-12-21 | 2016-01-12 | 華為技術有限公司Huawei Technologies Co.,Ltd. | Monitoring record management method and device |
JP2014175008A (en) * | 2013-03-07 | 2014-09-22 | Postech Academy-Industry Foundation | Method and apparatus for de-duplicating data |
US9851917B2 (en) | 2013-03-07 | 2017-12-26 | Postech Academy—Industry Foundation | Method for de-duplicating data and apparatus therefor |
JP2015176205A (en) * | 2014-03-13 | 2015-10-05 | 日本電気株式会社 | storage system |
Also Published As
Publication number | Publication date |
---|---|
JP4252102B2 (en) | 2009-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5619690A (en) | Computer system including a computer which requests an access to a logical address in a secondary storage system with specification of a local address in the secondary storage system | |
EP0768599B1 (en) | On-line disk array reconfiguration | |
US6542960B1 (en) | System and method for parity caching based on stripe locking in raid data storage | |
JP3505093B2 (en) | File management system | |
US6341342B1 (en) | Method and apparatus for zeroing a transfer buffer memory as a background task | |
US5588110A (en) | Method for transferring data between two devices that insures data recovery in the event of a fault | |
US5416915A (en) | Method and system for minimizing seek affinity and enhancing write sensitivity in a DASD array | |
JP4219602B2 (en) | Storage control device and control method of storage control device | |
US8607010B2 (en) | Information processing system and management device for managing relocation of data based on a change in the characteristics of the data over time | |
US6009481A (en) | Mass storage system using internal system-level mirroring | |
JP3697149B2 (en) | How to manage cache memory | |
US20040034750A1 (en) | System and method for maintaining cache coherency without external controller intervention | |
US20040123068A1 (en) | Computer systems, disk systems, and method for controlling disk cache | |
JPH06202817A (en) | Disk array device and data updating method for the same | |
JP4222917B2 (en) | Virtual storage system and operation method thereof | |
JP2000122902A (en) | Method for writing data in log structure storage destination, medium and data storage system | |
JP4252102B2 (en) | Computer system and secondary storage device | |
JPH0773090A (en) | Computer system and secondary storage device | |
US20060085663A1 (en) | Method for keeping snapshot image in a storage system | |
JP4128206B2 (en) | Computer system and secondary storage device | |
JP3747937B2 (en) | Computer system and secondary storage device | |
US7293193B2 (en) | Array controller for disk array, and method for rebuilding disk array | |
JP3687111B2 (en) | Storage device system and storage device control method | |
JPH09288547A (en) | Array-type storage device | |
JPH07152498A (en) | Information processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080513 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080710 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080819 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081007 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081118 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081218 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090120 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090120 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120130 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130130 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |