JP4252102B2 - 計算機システムおよび二次記憶装置 - Google Patents

計算機システムおよび二次記憶装置 Download PDF

Info

Publication number
JP4252102B2
JP4252102B2 JP2008009073A JP2008009073A JP4252102B2 JP 4252102 B2 JP4252102 B2 JP 4252102B2 JP 2008009073 A JP2008009073 A JP 2008009073A JP 2008009073 A JP2008009073 A JP 2008009073A JP 4252102 B2 JP4252102 B2 JP 4252102B2
Authority
JP
Japan
Prior art keywords
file
storage device
address
secondary storage
disk
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
Application number
JP2008009073A
Other languages
English (en)
Other versions
JP2008135055A (ja
Inventor
直人 松並
聡一 磯野
純 松本
稔 ▲吉▼田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008009073A priority Critical patent/JP4252102B2/ja
Publication of JP2008135055A publication Critical patent/JP2008135055A/ja
Application granted granted Critical
Publication of JP4252102B2 publication Critical patent/JP4252102B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、上位計算機と二次記憶装置とから構成する計算機システムに関し、特に、二次記憶装置におけるファイルの最適配置の技術に関するものである。
上位計算機と二次記憶装置とから構成される計算機システムとしては、UNIXとして知られるオペレーティングシステム(以下、「OS」と記す)を採用するワークステーション(以下、「WS」と記す)にハードディスク装置(以下、「ディスク装置」という)を接続したシステムが知られている。
また、このような計算機システムにおけるファイル管理の技術としては、非特許文献1に記載された技術が知られている。
以下、この技術について説明する。
図24に、この計算機システムの構成を示す。
図中、1が上位計算機、2が二次記憶装置である。
上位計算機1において、20はOS,12はOS20が管理するユーザが実行したアプリケーションプログラム(以下、「AP」と記す)のプロセスを表している。すなわち、上位計算機において実行されているアプリケーションプログラムはOS20によりプロセス12として管理されている。
また、OS20において、13はファイルの管理やファイルアクセス時のデータ転送に使用するバッファを管理するファイル管理・バッファ管理手段、15はディレクトリやファイル論理的なアドレス(OS内部でのアドレス)と、ディスク装置内でのローカルなアドレス(ローカルアドレス)との対応付けのための情報を記述するファイル管理テーブル、14はディレクトリ情報(ディレクトリやファイルの名称とファイル管理テーブルの対応付けのための情報)を記述するディレクトリ管理テーブルを示している。また、16はファイル管理・バッファ管理手段13からのファイルアクセス要求を、様々な二次記憶装置等の外部デバイスの物理特性に合わせて変換、制御を行うデバイスドライバ、30はファイルを新規にライトする際に書き込みに最適なディスク装置のローカルアドレスを決定するファイルアドレス決定手段、25aはディスクの使用状況を管理するディスク管理テーブル、21、22は上位計算機と二次記憶装置との間の通信およびデータ転送を制御するインタフェース制御手段を示している。
ここで、論理アドレスとは、上位計算機においてファイルを管理するための論理的なアドレスである。また、ローカルアドレス(ディスク装置内でのローカルなアドレス)とは、ディスク装置(二次記憶装置)が、データを管理するためのディスク装置内でのローカルなアドレスであり、論理的なアドレスである場合も、物理的なアドレスである場合もある。たとえば、SCSI(Small Computer Interface)に適合したディスク装置(SCSIディスク)では、ローカルアドレスとして論理的な連続番号(LBA;Logical Block Address)を用いている。また、IDE(Intelligent
Device Electronics)ディスク装置等では、ローカルアドレスとして、ヘッド番号、シリンダ番号、セクタ番号等の、物理的な記憶位置を直接表す物理アドレスを用いている。
次に、二次記憶装置2において、29は1台以上のディスク装置、24はディスク装置29を制御するディスク装置制御手段、23は上位計算機から送信されたリード及びライトコマンドを受信、解析し、ディスク装置29特有のディスクコマンドを作成してディスク装置制御手段24に送るコマンド管理手段を示している。
以下、プロセス12が既存のファイルにアクセスを行う際に実行するファイルアクセス処理を説明する。
プロセス12がファイルアクセスを行う際にはOS20にファイルアクセスリードおよびライト要求(システムコール)を発行する。
OS20のファイル管理・バッファ管理手段13はこの要求を受け、ディレクトリ管理テーブル14を参照し、ファイル名からファイル管理テーブルの位置を求める。次に求めたファイル管理テーブル15を参照し、プロセスのリード(またはライト)要求データが存在する(またはデータを登録する)論理アドレスを算出し、ローカルアドレスに変換する。また、データ転送に必要なバッファエリアを確保する。
次に、OS20は、デバイスドライバ16に対し算出したローカルアドレスを用いアクセス依頼を行う。デバイスドライバ16はこのアクセス依頼を受け、ファイルの格納されている(または、ファイルを格納する)二次記憶装置2の物理特性に合わせた形のコマンドを作成し、インタフェース制御手段21を介し、二次記憶装置2に送出する。
二次記憶装置2ではコマンド管理手段23がインタフェース制御手段22を介しコマンドを受信し、このコマンドを解析する。そして、アクセスの種類、アクセス開始アドレス、データ長等のコマンドの解析結果に基づき、ディスク装置29特有のディスクコマンドを作成し、ディスク制御装置24にコマンド実行を依頼する。ディスク制御装置24はこのコマンドに基づきディスク装置29を制御し、適切なデータ転送処理を実行する。
さて、プロセス12が既存のファイルにアクセスを行う際には二次記憶装置2の、どのアドレスにファイルを格納するかを決定する必要がある。
そこで、新規にファイルを作成する際には、以下に示す新規登録処理を、ファイルアクセス(ライト)処理に先立ち行う必要がある。
すなわち、新規ファイルのライト要求をプロセス12から依頼されたとき、ファイル管理・バッファ管理手段13は、ディレクトリ管理テーブル14にファイル名を登録し、ファイル管理テーブル15にこのファイルのための管理データ領域を確保し、その位置をディレクトリ管理テーブル14に登録する。次に、ファイルアドレス決定手段30は、ディスク管理テーブル25aを参照しながら、予めユーザが設定しておいたディスク装置のヘッド数、シリンダ数、セクタ数等の物理特性パラメータを基に最適アドレス、すなわちできるだけシークを行わず、また無駄な回転待ちの発生しないような領域のローカルアドレスを所定の配置アルゴリズムにより決定する。そして、この決定したローカルアドレスをファイル管理テーブルに登録し、論理アドレスとの対応付けを行う。
以上の新規登録処理により、以降のアクセスにおいては、ディレクトリ管理テーブル14、ファイル管理テーブル15の両者を参照して行う通常のファイルアクセス処理により、このファイルアクセスが可能となる。
ユニックス(UNIXは登録商標)4.3BSDの設計と実装、丸善、1991年出版
前記非特許文献1に記載の技術によれば、前述したように、新規に作成したファイルを格納する最適アドレスを決定するために、ディスク装置等の二次記憶装置の物理パラメータを予め設定しておかなければならない。
一方、近年、大容量化、高性能化、高信頼化の要請に伴い、単に1台または複数台のディスク装置を接続するのではなく、ディスクをアレイ上に配置し、各ディスク装置にデータを分割配置するディスクアレイ装置等、高度化、複雑化した様々な形態の二次記憶装置が出現してきている。
このため、二次記憶装置の物理パラメータも、ディスク単体のパラメータのみならず、アレイの構成、データ分配方式、高信頼化を実現するために複数台のディスク装置のデータから計算した冗長データの配置等、その二次記憶装置のアーキテクチャに依存し多種多様となる。また、一般的に、上位計算機と二次記憶装置は、独立して流通しているため、製造元であらかじめ二次記憶装置のパラメータを予め上位計算機に設定することはできない。
このため、二次記憶装置のパラメータの設定はユーザが行うことになるが、ユーザが、これら多種多彩な二次記憶装置のすべてのパラメータを上位計算機に設定することは困難であり、現実には、これを行うことができない場合が多い。その結果、上位計算機において複雑な構成をとる二次記憶装置へのファイル最適配置は困難になり、二次記憶装置の性能を有効に利用することができないという問題が生じる。
そこで、本発明は、上位計算機に二次記憶装置のパラメータを設定すること無しに、ファイルの二次記憶装置への最適配置を実現することのできる計算機システムを提供することを目的とする。
前記目的達成のために、本発明は、たとえば、計算機と、前記計算機に接続された1または複数の二次記憶装置とを有し、前記二次記憶装置は、二次記憶装置内のロ−カルなアドレスであるロ−カルアドレスによって記憶したデータを管理する計算機システムであって、前記二次記憶装置は、1または複数の論理ブロックより構成されるファイルを記憶する記憶手段と、ロ−カルアドレスを指定して前記計算機より要求された、既に前記記憶手段に記憶されている論理ブロックのアクセスを実行する手段と、新たな論理ブロックの前記記憶手段への記憶を前記計算機より要求された場合に、記憶を要求された論理ブロックを記憶するロ−カルアドレスを所定の手順により決定する手段と、決定したロ−カルアドレスに記憶を要求された論理ブロックを記憶する手段と、決定したロ−カルアドレスを前記計算機に通知する手段とを有し、
前記計算機は、二次記憶装置に記憶されているファイルを構成する各論理ブロックが記憶されているロ−カルアドレスを、各論理ブロックに対応付けて管理するファイル管理テ−ブルと、既に二次記憶装置に記憶されている論理ブロックにアクセスする場合に、前記ファイル管理テ−ブルを参照してアクセスする論理ブロックのロ−カルアドレスを求め、ロ−カルアドレスを指定して二次記憶装置に当該論理ブロックのアクセスを要求する手段と、新たな論理ブロックの二次記憶装置への記憶を行う場合に、ロ−カルアドレスを指定せずに、前記二次記憶装置に論理ブロックの記憶を要求する手段と、前記二次記憶装置から通知されたロ−カルアドレスを、記憶を要求した新たな論理ブロックに対応付けて前記ファイル管理テ−ブルに登録する手段とを有することを特徴とする計算機システムを提供する。
以上のように、本発明によれば、上位計算機に二次記憶装置のパラメータを設定すること無しに、ファイルの二次記憶装置への最適配置を実現することのできる計算機システムを提供することができる。
以下、本発明に係る計算機システムの実施例を説明する。
はじめに、本実施例に係る計算機システムのハ−ドウェア構成例を図1に示す。
図示するように、本実施例に係る計算機システムは、上位計算機1と二次記憶装置2から成る。上位計算機1は、OSやアプリケ−ションプログラムを実行するCPU10と、CPU10が用いる一次記憶装置11と、二次記憶装置2へのインプット/アウトプット要求(I/O要求)を制御するI/O制御部9と、二次記憶装置2へのインタフェース8から構成される。
一方、二次記憶装置2は、上位計算機1からのI/O要求の授受を行うインタフェース7と、データ転送および二次記憶装置2内部の制御を司る制御装置5と、データを格納するディスク装置4と、ディスク装置4と上位計算機1とのデータ転送速度の違いを吸収するためのバッファ装置とから構成される。
ただし、本実施例係る計算機システムのハ−ドウェア構成は、この他、図1に示した構成に準じる他の構成としてもよい。
次に、本実施例に係る計算機システムにおける、ファイルの論理的位置と、ファイルの、二次記憶装置上の位置の管理の方式について説明する。
図2に示すように、ファイルの論理的位置は、ディレクトリを用いて構築した木構造によって階層的に管理される。これは、前述したUNIXなどのOSで採用している方式である。
ここで、ファイルは、二次記憶装置の実記憶領域に、所定長のデータの集まりであるブロック毎に記憶される。そして、ファイルの二次記憶装置上のロ−カルな位置は、ファイルを構成するブロックの、それぞれが記憶されている論理アドレスと、この論理アドレスに対応する二次記憶装置上のロ−カルアドレスを管理することにより管理される。二次記憶装置上のロ−カルな位置は、二次記憶装置によって、二次記憶装置のロ−カルなアドレスを用いて管理される。二次記憶装置のロ−カルなアドレスをロ−カルアドレスと呼ぶ。前述したようにロ−カルアドレスは二次記憶装置上の物理位置を指定する物理アドレスである場合もあり、二次記憶装置上の論理的な位置を指定する論理的なアドレスである場合もある。
但し、このような管理方式に準じた方式によって、ファイルの論理的位置と、ファイルの二次記憶装置上の位置を管理するようにしてもよい。
さて、新規ファイルを二次記憶装置2に格納する際には、前述した新規登録処理の一環として、そのファイルを分割したブロックのそれぞれを最適化アルゴリズムに従い2次記憶装置のロ−カルアドレスにマッピングする処理を行う必要がある。しかし、二次記憶装置2内にディスク装置を複数台接続したり、二次記憶装置2が、いわゆるRAID(Redundant Arrays of Inexpensive Disks)アーキテクチャに従い複数のディスク装置にデータを分散配置するような複雑な構成を持つ二次記憶装置であった場合には、上位計算機1に、使用する二次記憶装置の種別に応じた最適化アルゴリズムや、多種多彩なパラメータを入力することは極めて困難である。このため、通常は、二次記憶装置2を従来の単純な二次記憶装置に見せかけ、従来のアルゴリズムを使用することになる。しかし、このようにすると、二次記憶装置の持つ潜在的な能力を引き出せないばかりでなく最悪の場合従来に比べても低い性能しか期待できない場合がある。
以下、本発明の第1の実施例について説明する。
図3に、本第1実施例に係る計算機システムの構成を示す。
図示するように、本第1実施例に係る計算機システムは、上位計算機1と二次記憶装置2を有している。
上位計算機1において、20はOS、12はOS20が管理するアプリケ−ションプログラムのプロセスを表している。上位計算機において実行されているアプリケーションプログラムはOS20によりプロセス12として管理されている。
また、OS20において、13はファイルの管理やファイルアクセス時のデータ転送に使用するバッファを管理するファイル管理・バッファ管理手段、15はディレクトリやファイルの論理アドレスとロ−カルアドレスとの対応を記述するファイル管理テーブル、14はディレクトリ情報を記述するディレクトリ管理テーブルを示している。また、16はファイル管理・バッファ管理手段13からのファイルアクセス要求を、様々な二次記憶装置等の外部デバイスの物理特性に合わせて変換、制御を行うデバイスドライバ、18はファイルがオープンされたことを二次記憶装置2に通知するオープンファイル情報通知手段、19は新規のファイルをライトすることを二次記憶装置2に通知する新規ファイルライト通知手段、17は二次記憶装置2により決定された新規ファイルの格納アドレスを受信しファイル管理テーブル15に登録する新規ファイルアドレス登録手段を示している、また、上位計算機1において、21は二次記憶装置との間の通信およびデータ転送を制御するインタフェ−ス制御手段を示している。
ファイル管理テ−ブル15はファイル毎に設けられたファイル管理情報を格納している。この、ファイル毎に設けらたファイル管理情報は、ファイル識別番号により特定されるファイル管理情報のアドレスを介して特定される。なお、前記UNIXでは、このファイル管理情報をiノ−ドと呼び、ファイル識別番号をiノ−ド番号と呼んでいる。各ファイル管理情報は、図4に示すように構成されている。
すなわち、各ファイル管理情報は、モ−ド151、所有者152、タイムスタンプ153、大きさ154、ブロック数155、参照カウント156、参照ポインタ157、更新フラグ158のエントリを有している。
モ−ド151は、ファイルの種類と、そのファイルの現在のアクセスモ−ド(リ−ド/ライト等)の情報を格納し、所有者152には、ファイルの所有者や、そのファイルにアクセス権を持つユ−ザグル−プを識別する情報を格納する。また、タイムスタンプ153は、ファイルが最後のアクセスされた時間や、自ファイル管理テ−ブルが更新された時間等を格納する。大きさ154は、ファイルのバイト数を格納し、ブロック数154はファイルの前記ブロック数を格納する。また、参照カウンタ156は、ファイルが参照された回数を格納し、参照ポインタ177は、ファイルの各ブロックの論理アドレスと二次記憶装置のロ−カルアドレスとを対応付けて格納する。以下では、ブロックの論理アドレスを論理ブロックアドレス、ブロックの二次記憶装置のロ−カルアドレスをロ−カルブロックアドレスという。
次に、ディレクトリ管理テーブル14も、ディレクトリ毎に設けられたディレクトリ管理情報を格納しており、各ディレクトリ管理情報は、ファイル管理テーブル15の対応するディレクトリに属するファイルに対応するファイル管理情報を特定するファイル識別番号と、対応するディレクトリに属するディレクトリに対応するディレクトリ管理情報を特定する番号の情報(またはディレクトリ管理テーブルの存在位置を示すポインタ)を記憶する。
このような、ディレクトリ管理テーブル14とファイル管理テ−ブル15の構成により、デレクトリdir1、dir2、dir3の指定とfile5の指定によりfile5というファイルを次のようにしてfile5を構成する各ブロックのロ−カルブロックアドレスを得ることができる。すなわち、dir1、dir2、dir3のディレクトリ管理テ−ブル14を順次走査し、dir3のディレクトリ管理情報から、ファイル管理テーブル15のfile5に対応するファイル管理情報のファイル識別番号を得、file5のファイル管理情報より、file5を構成する各ブロックのロ−カルブロックアドレスを得る。
さて、一方、二次記憶装置2において、29は1台以上のディスク装置、24はディスク装置29を制御するディスク装置制御手段、23は上位計算機から送信されたのリード及びライトコマンドを受信、解析し、ディスク装置29特有のディスクコマンドを作成してディスク装置制御手段24に送るコマンド管理手段、22は上位計算機1との間の通信およびデータ転送を制御するインタフェ−ス制御手段、27は二次記憶装置2のディスク装置29に記憶されているファイルのファイル管理情報を格納するロ−カルファイル管理テーブル、39は上位計算機1の送出するファイルがオープンされたことを示す情報を受信しローカルファイル管理テーブル27に登録するオープンファイル情報受信登録手段、26は上記上位計算機1の送出する新規のファイルをライトすることを受信し新規ファイルの格納アドレスを決定する新規ファイルアドレス決定手段、28は新規ファイルアドレス決定手段26により決定されたアドレスを上記上位計算機1に通知する新規ファイルアドレス通知手段、25bは二次記憶装置内部のディスク装置の構成を決定するパラメータおよびディスク装置の利用状況を管理するディスク管理テーブルである。
ロ−カルファイル管理テーブル27の構成およびロ−カルファイル管理テーブル27に格納されるファイル管理情報は、上位計算機1のファイル管理テ−ブル15およびファイル管理情報と同じであり、同じファイルのファイル管理情報は同じファイル識別番号で特定される。
以下、本第1実施例に係る計算機システムのファイルのアクセス動作を説明する。
まず、あらかじめ、ファイル管理バッファ管理手段13は、二次記憶装置2のロ−カルファイル管理テ−ブル27に格納されているファイル管理情報を、上位計算機1のファイル管理テ−ブル15にロ−ドしておく。このロ−ドは、上位計算機のイニシャル時や、二次記憶装置に新たな記憶媒体がマウントされた時や、次に述べるファイルオ−プン処理の開始時等に行う。
さて、APのプロセス12から、オープンシステムコールを発行されると、OS20は、図5に示すファイルオープン処理を行う。
すなわち、図示するように、オープンシステムコールを発行されると(ステップ101)、OS20内部のファイル管理・バッファ管理手段13は、このシステムコールを解析し、ファイルのアクセスモードを判定する(ステップ102)。もしライトモードでファイルのオープンを行うのであれば、新規のファイルであるかどうかをさらに判定し(ステップ103)、もし、新規ファイルであるならばディレクトリ管理テーブル14の、このファイルを作成するディレクトリに対応するディレクトリ管理情報にファイル名を登録し、ファイル管理テーブル15中に、新規ファイルについてのファイル管理情報を格納する領域を確保する(ステップ104)。また、この確保したファイル管理情報のファイル識別番号を、ディレクトリ管理テーブル14の、ファイルを作成するディレクトリに対応するディレクトリ管理情報に登録する。そして、ファイル識別番号をプロセス12に通知する(ステップ105)。
新規のファイルでなければ、ディレクトリ管理テーブル14より、ファイルのファイル識別番号を獲得し、これをプロセス12に通知する(ステップ105)。次に、ファイル管理・バッファ管理手段13はこのファイル固有のファイル識別番号により特定されるファイル管理情報のロ−カルアドレス、ファイル名等の情報をオープンファイル情報通知手段18に伝える。オープンファイル情報通知手段18は、これらの情報をデバイスドライバ16、インタフェース制御手段21、22を介して二次記憶装置2へ通知する(ステップ106)。
二次記憶装置2のオープンファイル情報受信登録手段39は、これらの情報を受信し、もし、新規なファイルについてのものである場合にはロ−カルファイル管理テーブル27に新たなファイル管理情報の領域を確保し、受信した情報を登録する。
以上の処理により、オープンしたファイルの管理情報は上位計算機1のファイル管理テーブル15と二次記憶装置2のロ−カルファイル管理テーブル27両方に登録されていることになる。
次に、ファイルのオープン処理が終了すると、ファイルのリードもしくはライト処理を実行する。
図6にOS20におけるファイルのリード処理の手順を、図8にOS20におけるファイルのライト処理の手順を、図9に二次記憶装置におけるファイルのリ−ド処理とライト処理の手順を示す。
まず、ファイルのリード処理について説明する。
図6に示すように、上位計算機1において、AP(プロセス12)からファイルリードシステムコール(read())が発行されると(ステップ201)、OS20のファイル管理・バッファ管理手段13は、ディレクトリ管理テーブル14を参照し当該ファイルのファイル識別番号(ファイル管理テーブル15内のファイル管理情報の位置を示す)を獲得する(ステップ202)。次に、ファイル管理・バッファ管理手段13は獲得したファイル識別番号により指定されるファイル管理テーブル15内のファイル管理情報の情報を得る。
さて、ここで、APは、ファイルリ−ドシステムコ−ルもしくはファイルライトシステムコ−ルによってオフセットと呼ぶバイト単位でファイルのリ−ドやライトを要求する。図7は、APが、ファイルfdについて設けられているファイルポインタfpからnバイトのオフセットをユーザバッファbufferにリードすることを要求している場合を示している。図示するように、このオフセットは論理ブロックアドレス1、2にまたがっているデータであり、すなわち論理ブロック1、2、に対応する2つのロ−カルブロック(ロ−カルブロックアドレス#11020と、#11028)とからリードする必要がある。ロ−カルブロックは、論理ブロックに対応する二次記憶装置2上のブロックである。
そこで、次に、ファイル管理・バッファ管理手段13は、得たファイル管理情報より要求されたオフセットのデータが存在する論理ブロックアドレス1、2を求める(ステップ203)。そして、これら2つの当該論理ブロックをリードするために必要な一時作業領域としてシステムバッファを確保する(ステップ204)。次に、はじめの論理ブロックアドレス1を選択し(ステップ205)、これをロ−カルブロックアドレス#11020に変換し(ステップ206)、デバイスドライバ16に、このロ−カルブロックアドレスのデータブロックの転送依頼を発行する。デバイスドライバ16はこの要求を受け、二次記憶装置固有のリードコマンドを生成し、インタフェース制御手段21を介し二次記憶装置2に送出する(ステップ207)。
リ−ドコマンドは、二次記憶装置2のコマンド管理手段23は上記リードコマンドをインタフェース制御手段22を介して受信される。コマンドを受信した二次記憶装置2は、図9に示すように、まず、このコマンドを解析する(ステップ402)。ここでリードコマンドであることが分かるので(ステップ403)二次記憶装置2のロ−カルファイル管理テーブル27の、後述するアクセス回数等の管理情報を必要に応じて更新し(ステップ411)、ディスク装置29から求めるデータをリードし、上位計算機1にインタフェース制御手段22を介し転送する(ステップ412)。そして、コマンド管理手段23は、要求されたデータをすべて正しく転送できたならばインタフェース制御手段22を介し上位計算機に終了報告を行う(ステップ408)。
この終了報告は、上位装置1のデバイスドライバ16によって受信される。
図6に戻り、二次記憶装置2からのコマンド終了通知を受信すると(ステップ208)、デバイスドライバ16は、これをファイル管理・バッファ管理手段13に通知する。ファイル管理・バッファ管理手段13は、転送すべきすべての論理ブロックのリードを完了したかどうかを確認し(ステップ209)、もしまだ未転送の論理ブロックが、あるならば続く論理ブロックを選択し(ステップ212)以上の処理を繰り返す。もしすべての論理ブロックのデータのシステムバッファへの転送が完了したならば、APが要求したオフセットデータをユーザバッファに複写し(ステップ210)、APにシステムコールの完了通知を返し、ファイルのリード処理を完了する。
次に、ファイルのライト処理を、前述したリード処理との相違する点を中心に説明する。
ファイルのライト処理は大きく次の2つの処理に分けられる。1つは新規ブロックの登録処理であり、もう1つは既存のブロックの更新処理である。前者は新規なファイルをライトする際や、既存ファイルの末尾へデータ追加を行う場合に発生し、後者は、既登録済み論理ブロックの途中からのデータをライトする場合や、既存ファイルをレコード(ひとまとまりのデータ単位)単位で更新する場合等に発生する。
さて、図8に示すように、APからライトシステムコールを発行されると、(ステップ301)、OS20のファイル管理・バッファ管理手段13はディレクトリ管理テーブル14からファイル識別番号を獲得し(ステップ302)、前述したようにオフセットから転送すべき論理ブロックアドレスを求め(ステップ303)、必要なシステムバッファを確保する(ステップ304)。また、ここで、ファイル管理テーブル15を参照し、もし、論理ブロックアドレスに対応するロ−カルブロックアドレスが登録されていなかったならば、この論理ブロックは新規の論理ブロックであると判定する(ステップ305)。
新規の論理ブロックであると判定した場合には、ファイル管理・バッファ管理手段13は、ユーザバッファからライトデータをシステムバッファへ複写し(ステップ307)、最初の論理ブロックを選択する。一方、新規ファイルライト通知手段19は、選択した論理ブロックのライトを要求する新規ブロックライト要求を生成する。デバイスドライバ16は、これより、二次記憶装置2固有の新規ブロックライトコマンドを生成し、発行する(ステップ312)。
この新規ブロックライトコマンドにはファイル識別番号と論理ブロックアドレスが記載してある。
さて、発行された新規ブロックライトコマンドは、図9に示すように、二次記憶装置2のコマンド管理手段23で受領(ステップ401)され、解析される(ステップ402)。そして、解析の結果、新規ブロックライトコマンドであることを認識する(ステップ403、404)と、コマンド管理手段23はファイル固有識別番号および論理ブロックアドレスを新規ファイルアドレス決定手段261に渡す。新規ファイルアドレス決定手段26はファイル固有識別番号によりロ−カルファイル管理テーブル27およびディスク管理テーブル25bを参照し、このブロックを記憶するロ−カルブロックアドレスを、二次記憶装置2のディスク装置29の構成パラメータ、物理パラメータ等を考慮して決定する(ステップ405)。
このような最適なロ−カルブロックアドレスの決定手順については後述する。
次に、ロ−カルファイル管理テーブル27に、この決定したロ−カルブロックアドレスを論理ブロックアドレスに対応付けて登録し、また、ディスク管理テーブル25bに、当該ロ−カルブロックが使用中である旨設定する。
次に、データ転送を開始し、上位計算機1からデータの転送を受け、これを決定したロ−カルブロックアドレスに従いディスク装置29へライトする(ステップ406)。次に新規ファイルアドレス通知手段28は決定したロ−カルアドレスを上位計算機2に送信する(ステップ407)。そして、このブロックのロ−カルブロックアドレスの決定とデータ転送が終了したら終了通知を上位計算機1に行う(ステップ408)。
さて、送信されたロ−カルブロックアドレスは、上位装置において、インタフェース制御手段21及びデバイスドライバ16を介して、新規ファイルアドレス登録手段15に受信される。
図8に戻り、上位計算機1の新規ファイルアドレス登録手段15は、インタフェース制御手段21及びデバイスドライバ16を介して二次記憶装置2からロ−カルブロックアドレスを受信すると、ファイル管理・バッファ管理手段13にこのロ−カルブロックアドレスの登録を依頼する。ファイル管理・バッファ管理手段13は、ファイル管理テーブル15の、対応するファイルのファイル管理情報の対応する論理アドレスに対応付けて、このロ−カルブロックアドレスを登録する(ステップ314)。また、ファイル管理・バッファ管理手段13は、二次記憶装置2からのブロック転送終了通知を受信すると(ステップ315)、当該ブロックのライト処理を終了する。そして、すべての論理ブロックのライトが完了していないならば、次の該当論理ブロックを選択し、以上の処理をすべての論理ブロックのライト処理が終了するまで繰り返す(ステップ318)。
一方、ステップ305でライトするブロックが、新規論理ブロックでないと判定された場合、すなわち既存論理ブロックへのライト処理は、次のようになる。
この処理と、新規論理ブロックのライト処理との基本的な相違点は、既存論理ブロックへのライト処理では、ブロックの途中から更新するような場合がある点と、ライトする論理ブロックにはすでにロ−カルブロックアドレスがマッピングされている点である。
まず論理ブロックの途中から更新するような場合は、一旦、この論理ブロックをリードする必要がある。すなわち、システムバッファへ二次記憶装置から、ブロックをリードして、新データをユーザバッファからシステムバッファに転送して、システムバッファのブロックを更新し、その後、このブロックを二次記憶装置にライトするがある。
そこで、すなわち既存ブロックへのライトを行う場合には、まず、リード処理を行う(ステップ306)。このステップ306の処理は、図6中に示した符号aからbへの処理と等しい。
次に、既存のブロックへはすでにロ−カルブロックアドレスのマッピングが終了しているので二次記憶装置2へのライトコマンド発行時には、上位計算機1側でロ−カルブロックアドレスを指定する。このため、リード処理と同様の論理ブロックからロ−カルブロックアドレスへの変換処理を行い(ステップ310)、その後二次記憶装置への更新ライトコマンドを生成し発行する(ステップ311)。
一方、二次記憶装置2内は、受信した更新ライトコマンドに従い、指定されたロ−カルブロックアドレスに転送されたブロックのデータをライトする(図9ステップ410)。また、この際、二次記憶装置2のロ−カルファイル管理テーブル27の、後述するアクセス回数等の管理情報を必要に応じて更新する(ステップ409)。
以上の説明のように、本方式によれば、ファイルの二次記憶装置への格納に際しては、その格納するロ−カルアドレスを、二次記憶装置が決定するので、二次記憶装置特有の構成パラメータや、物理パラメータや、上位計算機1のAPの特性により決定されるファイルアクセス特性に合致した最適位置にファイルを格納を実現することができ、ファイルの高速化に効果が大きい。
ところで、上位計算機1には、本第1実施例で説明してきたような二次記憶装置2の他、新規ファイルのロ−カルブロックアドレスを決定する能力がない従来の二次記憶装置2(図24参照)をも接続できることが望ましい。すなわち、上位計算機1を、先に示した従来の二次記憶装置をも互換的に使用できるよう構成することが望ましい。
そこで、本発明の第2実施例として、このような従来の二次記憶装置をも互換的に使用できる計算機システムについて説明する。図10に、本第2実施例に係る計算機システムの構成を示す。
本第2実施例に係る計算機システムは、本第1実施例に係る上位計算機1に、ディスク管理テーブル25aと、ファイルアドレス決定手段30、ファイルアドレス決定手段30と新規ファイルアドレス決定手段26のどちらを使用するかを選択するアドレス決定手段選択手段31を付加したものである。
ディスク管理テーブル25aは、ディスクの使用状況を管理する。ファイルアドレス決定手段30は、論理ブロックを新規にライトする際に書き込みに最適なディスク装置のロ−カルブロックアドレスを決定する。
次に、本第2実施例に係る計算機システムの動作を説明する。
まず、システムのイニシャル時等に、上位計算機1のファイル管理バッファ管理手段13はデバイスドライバ16を介して、二次記憶装置2のコマンド管理手段23と、ネゴシエ−ションを行い、二次記憶装置2に新規ファイルのロ−カルブロックアドレスを決定する能力があるか否かを判定し、判定結果をアドレス決定手段選択手段31に通知する。
そして、アドレス決定手段選択手段31は、もし、二次記憶装置2に新規ファイルのロ−カルブロックアドレスを決定する能力があれば、上位計算機1のファイルアドレス決定手段30とディスク管理テーブル25aを無効化とする。そして、以降は、前記第1実施例と同様の動作を行う。
一方、アドレス決定手段選択手段31は、もし、二次記憶装置2に新規ファイルのロ−カルブロックアドレスを決定する能力がなければ、オ−プンファイル情報通知手段18、新規ファイルライト通知手段19を無効化し、先に説明した従来の計算機システムと同様の動作を行う。
さらに、複数二次記憶装置を同時に接続して使用するような場合は、APよりの二次記憶装置へのアクセスの要求毎に、要求された二次記憶装置が新規ファイルのロ−カルブロックアドレスを決定する能力があるか否かに応じて、オ−プンファイル情報通知手段18と新規ファイルライト通知手段19の組とファイルアドレス決定手段30とディスク管理テーブル25aの組の一方の組を無効化し、前記第1実施例の動作もしくは従来の動作と同様の動作を行う。
なお、二次記憶装置2に新規ファイルのロ−カルブロックアドレスを決定する能力がある場合でも、オ−プンファイル情報通知手段18、新規ファイルライト通知手段19を無効化すると共に、二次記憶装置2の新規ファイルアドレス決定手段26、新規ファイルアドレス通知手段28等を無効化することにより、従来と同様の動作を行うことができる。
以上のように、本第2実施例によれば、前記第1実施例の計算機システムにおいて、従来の二次記憶装置をも利用することができる。また、複数台の二次記憶装置の接続や、従来使用していた二次記憶装置に新規の二次記憶装置を付設等を行うことができ、計算機システムの構成の自由度、拡張性を増すことができる。
以下、本発明の第3の実施例を説明する。
本第3実施例では、前記第1実施例と異なり、上位計算機1では、ファイルのロ−カルブロックアドレスを一切管理しない。
図11に、本第3実施例に係る計算機システムの構成を示す。
図示するように、上位計算機1は、ディレクトリおよびファイル名とファイル識別番号を管理するディレクトリ管理テーブル14と、データ転送に使用するバッファの管理を行うバッファ管理手段13aと、デバイスドライバ16と、インタフェ−ス制御手段21とを備えている。
また、二次記憶装置2は、インタフェ−ス制御手段22と、ファイル管理とコマンド管理を行うファイル管理・コマンド管理手段23aと、新規のファイルの論理ブロックへロ−カルブロックアドレスのマッピングを行う新規アドレス決定手段26と、ファイルの管理情報を登録するローカルファイル管理テーブル27と、ディスクの使用状況を管理し、またディスク装置29の構成パラメータや、物理パラメータを記述しておくディスク管理テーブル25bと、ディスク制御手段24と、複数のディスク装置とを備えている。
上位計算機1と二次記憶装置2とは、ファイルのオープンを上位計算機1から二次記憶装置2へ通知するコマンドや、ファイル識別番号とともにファイル中の指定のデータの転送を要求するコマンドをサポ−トしている。また、上位計算機1と二次記憶装置2とは、相互に、要求に見合った形態(ブロック単位転送またはバイト単位転送)でデータを転送することができる。このようなデータの転送や、コマンドの送受信は、インタフェース制御手段21、22が制御する。
以下、本第3実施例に係る計算機システムの動作を説明する。
プロセス12は、OS20に対しファイルのオープンや、ファイルのリード・ライトなどのシステムコールを発行する。OS20はこれを受信し、バッファ管理手段13aはデータ転送に必要なバッファを確保し、デバイスドライバ経由で二次記憶装置2へのオープン、またはリード・ライトコマンドを生成し発行する。コマンドには、システムコ−ルに含まれているオフセットを含める。また、このコマンドの発行に当たってはディレクトリ管理テーブル14を参照し、このファイルのファイル識別番号を獲得し、コマンドとともに二次記憶装置2へ送信する。また、未登録ファイルのオープン時には、ファイル識別番号を新規に割り当て、割り当てたファイル識別番号を、コマンドとともに二次記憶装置2へ送信する。
二次記憶装置2において、ファイル管理・コマンド管理手段23aは、コマンドを受信、解析し、このコマンドが、新規の論理ブロックの登録を要求するコマンドであれば、新規ファイルアドレス決定手段26に記憶アドレスの決定を依頼する。新規ファイルアドレス決定手段26は、ディスク管理テーブル25b、ローカルファイル管理テーブル27を参照し、ディスク装置29の構成パラメータ、物理パラメータや、APのアクセス特性等を考慮し、この新規な論理ブロックを記憶するロ−カルブロックアドレスを決定し、ローカルファイル管理テーブル27に登録する。ロ−カルブロックアドレスを決定の詳細については後述する。
また、ファイル管理・コマンド管理手段23aは、解析したコマンドが、既存の論理ブロックのリードもしくはライトを要求するコマンドであれば、ローカルファイル管理テーブル27を参照し、アクセスする論理ブロックのロ−カルブロックアドレスを求め、このロ−カルブロックアドレスとコマンド中のオフセットで指定されるデータにアクセスする。そして、リ−ドコマンドに対しては読みだしたデータを上位計算機に転送し、ライトコマンドに対しては転送されたデータをライトする。上位計算機1と二次記憶装置2との間のデータの転送は、APが要求した単位で行う。
以上のように、本第3実施例によれば、上位計算機は二次記憶装置の構成、物理的特性等をまったく考慮する必要がなく、ただファイル名とファイル識別番号のみを管理すればよい。したがい、様々な二次記憶装置や、その他の外部機器を上位計算機に接続して利用することができる。
以下、本発明の第4の実施例について説明する。
図12に、本第4実施例に係る計算機システムの構成を示す。
本第4実施例に係る計算機システムは、前記第3実施例に係る上位計算機と二次記憶装置2を複数台接続したものである。
各上位計算機1と各二次記憶装置2は共通のインタフェースで接続されている。このインタフェースは、たとえばSCSIバスとして知られているバス型のインタフェ−スである。
本第4実施例に係る計算機システムの動作は、前記第3実施例とほぼ同様である。ただし、各ファイルの管理情報は各二次記憶装置毎に分散して配置されているため、各上位計算機1は、各ファイルを記憶している二次記憶装置を管理する。これは、各上位計算機が適当な契機で、各二次記憶装置から記憶しているファイルの情報を得ることにより実現できる。また、同じ二次記憶装置の異なるファイルに、異なる上位計算機によって同じファイル識別番号が割り当てられないように、二次記憶装置側で、新規ファイルへのファイル識別番号の二重割り当てを監視、調停する。これは、たとえば、上位装置よりの新規ファイルのオ−プン要求時に、ファイル識別番号の二重割り当てが発生した場合に、二次記憶装置が上位計算機にファイル識別番号の再割り当てを要求すること等により実現できる。
さて、前記バスを介した、コマンド、データの転送のシ−ケンスは、たとえば、図13に示すように実行される。すなわち、まず、ア−ビトレ−ションを実行して、特定の上位計算機1と特定の二次記憶装置2を論理的に接続し、コマンドを上位計算機1より二次記憶装置に転送する。そして、次に、上位計算機は、二次記憶装置2のコマンドに対する前処理期間(ディスク装置のシ−ク期間等)中バスを他の装置に解放するため、メッセ−ジ1を送信し一旦バスを解放する。前処理が終了すると、二次記憶装置2はメッセ−ジ2を送信し、上位計算機とバスを再接続する。そして、次に、リ−ド/ライトするデータを上位計算機1と二次記憶装置2間で転送し、最後に、メッセ−ジ3によってコマンドの正常終了もしくは異常終了を二次記憶装置より上位計算機に通知し、バスを解放する。
なお、このような、バスは前記第1、第2実施例にも用いることができる。前記第1、第2実施例にも用いる場合には、メッセ−ジ3によって新規な論理ブロックを記憶したロ−カルブロックアドレスも二次記憶装置2から上位計算機1に転送するようにする。
以上のように、本第4実施例によれば、各上位計算機1はファイル名と、そのファイル識別番号、ファイルを記憶している二次記憶装置の識別以外の情報を保有する必要がないので、複数の上位計算機と複数の二次記憶装置を容易に接続できる。また、ファイル管理情報は、そのファイルを記憶している二次記憶装置のみが保有するので、二次記憶装置側で容易に、複数の上位装置に対するファイルのコヒレンシ−を保つための制御を行うことができる。
さて、ここで、前述した二次記憶装置におけるファイルの各論理ブロックのロ−カルブロックアドレスの決定手順の詳細について説明する。
なお、以下に説明する手順は、前記第1実施例から第4実施例にいずれにも適用することができる。
さて、図14において、24はディスク装置制御手段、29は複数台で構成したディスク装置群である。ディスク装置制御手段24はディスク装置群29をRAID5型ディスクアレイとして管理している。RAID5型ディスクアレイは高速ディスクアクセスと高信頼性を目的としたディスクアレイアーキテクチャであり、このア−キテクチャでは、図示するようにデータをストライプと呼ぶ単位に分割し各ディスク装置に分散配置する。これによりストライプ単位のアクセスでは各ディスク装置を完全に独立に動作させることができ、ディスク台数倍のトランザクション性能を得られる。
さらに、横ならびのデータストライプ群(たとえば、D00、D01、D02)でパリティグループを構成し、これらデータの排他的論理和を計算しパリティ(たとえば、P0)として一台のディスク装置上に格納する。このパリティは各パリティグループ毎に異なるディスク装置に分散配置する。これにより、万一、1台のディスク装置が故障してもパリティを利用し故障ディスクのデータを復元できる。
このようなRAID5型ディスクアレイにおいて、各論理ブロックを最適に配置するためには、ストライプサイズや、ディスク台数や、パリティ配置方式等の構成パラメータが必要となる。しかし、これらのパラメ−タは、二次記憶装置の種別毎に異なるため、上位計算機において管理することは困難である。
一方、これらのパラメータを考慮しないと、例えばストライプサイズと論理ブロックサイズを同一サイズとしたとき、論理ブロックが1つのストライプの先頭、すなわちストライプバウンダリできちんと配置されず2つのストライプにまたがって配置されてしまう事態が発生する。そして、この場合、1つの論理ブロックをアクセスする際にも2つのストライプ、すなわち2台のディスク装置を同時にアクセスする必要が発生するので性能が著しく低下する。
そこで、本実施例では、二次記憶装置2側が自分の構成パラメ−タに基づいて論理ブロックの配置を決定する。以下、構成パラメ−タを考慮せずに行った論理ブロックの配置によって生じる問題と、これを回避するために二次記憶装置2が自分の構成パラメ−タに基づいて行う論理ブロックの配置の例を示す。
まず、第1の例を図15を用いて明する。
図15aは、ストライプ境界を意識せず論理ブロックの配置を決定した結果、データがディスク0のD00ストライプとディスク1のD01ストライプの2つのストライプを使用して記憶されることとなった場合を示している。この場合、1回の上位計算機からの要求に2台のディスク装置が使用されているので、これと並行して他の要求の処理に使用することができるディスクはディスク2,3の2台となる。
そこで、本実施例の二次記憶装置は、自分の構成パラメ−タに基づいて、上位計算機から転送された論理ブロックの先頭をストライプバウンダリに合わせるよう配置を決定することにより、図15bに示すようにディスク1のD01ストライプのみにデータ格納する。この場合、上位計算機が8KB固定で新規論理ブロックのライト要求を発行する場合には、最大4つの要求を同時に処理でき、処理スループットを向上することができる。
次に、第2の例を図16を用いて説明する。
図16aは48KBの新規な論理ブロックを、ストライプバウンダリのみを考慮して配置したところを示している。ここで、RAID5型ディスクアレイではパリティを生成する必要がある。必要となるパリティはP0,P1,P2であり、これらは、「*」を排他的論理和を表すものとして以下の生成式に従い生成できる。
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処理」と記す)は、多大な処理時間が必要となる。
そこで、本実施例の二次記憶装置は、自分の構成パラメ−タに基づいて、次のような手順で配置を決定する。
すなわち、新規ファイルアドレス決定手段26はローカルファイル管理テーブル27を参照し、概略アドレスを決定する。概略アドレスとは、ファイルへの論理ブロックの追加を行う場合においては、このファイルが現在格納されているアドレスであり、新規ファイルの論理ブロックの記憶ならば、現在ちょうど使用しているディスクの領域のアドレスである。新規な論理ブロックの概略アドレスをこのように選ぶのは、現在ちょうど使用しているディスク領域のデータと関係あると推測されるデータは、現在ちょうど使用しているディスク領域のデータの近くに配置した方が、確率的にディスクのヘッド移動に要する時間が少なくなるからである。
次に、概略アドレスが決定したならば、新規ファイルアドレス決定手段26はディスク管理テーブル25を参照し詳細アドレスを決定する。
すなわち、概略アドレスの近傍で丁度48KB分すなわち6ストライプを、ディスク0のストライプから開始し、順番に新規論理ブロックを配置可能な領域を、新規ファイルを格納するアドレスとして決定する。この例の場合、ディスク0のストライプ#nからディスク3のストライプ#n+1のパリティストライプを除く計6つの連続したデータストライプが未使用であることをストライプ管理テーブルを参照し知ることができる。
ディスク管理テーブルは、図17に示すようにさらにストライプ管理テーブルとセクタ管理テーブルにより構成されている。
ここで、ストライプ管理テーブル1700は、ストライプ毎に、そのストライプがデータストライプがパリティストライプか、使用中か未使用か一部使用かを登録するエントリを有しており、これより、各ストライプがデータストライプがパリティストライプか、又、ストライプ全域を使用中か未使用か、一部使用かをディスク毎に知ることができる。また各ディスクのストライプ毎に、セクタの使用状況を管理するセクタ管理テーブル1710が設けられている。図17に示したセクタ管理テーブル1710は、ストライプサイズ8KBのときのもので、この場合、1ストライプは512Bのセクタ16コにより構成されている。このような構成により、各セクタが使用中か未使用かを判断できる。
たとえば、ディスク#0のストライプ#n+2(図中丸印付加)は属性“010”であり一部使用中のデータストライプであることがわかる。そこで同ストライプのセクタ管理テーブルを参照すると、同ストライプ内のセクタ番号0〜7は使用中であり、8〜15は未使用であることがわかる。そして、これより、上位計算機より転送された新規論理ブロックを図16bのようにD00からD13までの連続した領域に格納することが決定される。
さらに、この場合、生成する必要のあるパリティストライプはP0,P1の2つであり、各々以下の生成式により生成される。
P0New=D00New*D01New*D02New
P1New=D10New*D11New*D13New
この生成式より、ライトに先立つデータのリードを行わなくともパリティを求めることができることが判る。
さて、ここでRMW処理はW処理の平均1.7倍処理時間がかかると仮定すると、図16aのように記憶する場合に比べ、RMW処理が不必要になった分、2.2倍の高速に、新規論理ブロックを記憶が行われることになる。
以上のように、本実施例によれば二次記憶装置において、RAID型ディスクアレイのパリティ配置の方式や、ストライプサイズや、ディスク数等のパラメータに対し、データ転送長や関連する他のファイルとの位置関係を考慮した最適ファイル格納が実現できる。
なお、以上ではRAID5型ディスクアレイにおける最適論理ブロック配置の一例を示したが、いかなる構成のディスク装置(群)を用いたとしても、その構成パラメータや、物理特性、さらに論理ブロックサイズや、APのアクセス特性に合致した最適論理ブロック配置を実現できる。また、同様にして、ディスクアレイ以外の形態のディスク装置や、又は光ディスクやテープデバイスや半導体形記憶装置等についても最適配置を実現することができる。
以下、本発明の第5の実施例について説明する。
本第5実施例は、前記各実施例に係る計算機システムに用いることのできる二次記憶装置2に関するものである。
本第5実施例に係る二次記憶装置2と、前記第1実施例で示した二次記憶装置(図3参照)との主要な相違は、本第5実施例に係る二次記憶装置2が複数のディスク装置群を備えている点である。
図18に、本第5実施例に係る二次記憶装置の構成を示す。
図中、36a1、36a2、36a3はディスク装置群、24a1、24a2、24a3は各ディスク装置群を制御するディスク装置制御手段、34はどのディスク装置群を使用するかを選択するディスク装置群選択手段、35はディスク装置群を切り替えるディスク装置群切り換え手段、25b1、25b2、25b3は各ディスク群の構成パラメータや、物理特性や、使用状況を管理するディスク管理テーブル、1800はディスク群更新制御手段である。他部は、図3において同符号を付して示した部位と同じ部位であるので説明を省略する。
以下、本第5実施例に係る二次記憶装置の動作の概要を説明する。
二次記憶装置2のコマンド管理手段23は、上位計算機1からアクセス要求を受信し、その要求が新規論理ブロックをライトする要求である場合には、新規ファイルアドレス決定手段26にこれを通知し、新規ファイルアドレス決定手段26は、ロ−カルファイル管理テーブル27、および、各ディスク管理テーブル25b1、25b2、25b3を参照し、最適なディスク装置群を選択しロ−カルブロックアドレスをマッピングする。そして、これをディスク装置群選択手段34に通知し、ディスク装置群選択手段34はこれを受けディスク装置群切り換え手段35を操作し、選ばれたディスク装置群を選択する。その後の処理は、第1実施例と同様である。
新規ファイルアドレス決定手段26が行う、ディスク装置群の選択は、転送長や、ファイル自体のアクセス頻度の特性や、ディスク装置群の特性等を考慮して行う。より詳細な例は後述する。
さて、本第5実施例に係るディスク装置群は、具体的には、たとえば、図19に示すように構成することができる。
図19に示した例では、ディスク装置群1はRAID1型ディスクアレイ装置(またはミラーディスク装置)、ディスク装置群2はRAID3型ディスクアレイ装置、ディスク装置群3はRAID5型ディスクアレイ装置としている。
この場合、アクセス頻度の高いファイルや高性能を要求するファイルはRAID1型のディスク装置群1に保管するのがふさわしく、画像データのような大容量シーケンシャルファイルはRAID3型のディスク装置群2に保管するのがふさわしく、データベースアクセスなどのトランザクション用ランダムファイルはRAID5型のディスク装置群3に格納するのがふさわしい。
そこで、新規ファイルアドレス決定手段26は、ディスク装置群の選択を次のように行う。
まず、新規ファイルアドレス決定手段26は、上位計算機よりのコマンドが既存のファイルの既存の論理ブロックを更新を要求するものである場合には、既存の論理ブロックを格納しているディスク装置群を選択する。
一方、上位計算機よりのコマンドが新規な論理ブロックの登録を要求するものである場合には、新規ファイルアドレス決定手段26は、まずどのディスク装置群に、この論理ブロックを登録するかを、図20に示す手順に従い決定する。
すなわち、まず、書き込む論理ブロックの属するファイルが新規か既存かの判断を行い(ステップ2001)、新規のファイルであれば、ファイルの特性が未知であるので、ひとまずRAID1型ディスクアレイ(ディスク群1)を選択する(ステップ2006)。
一方、書き込む論理ブロックの属するファイルが既存のファイルであれば、そのファイルのランダムアクセス性についての判断を行う(ステップ2002)。この判断には、ロ−カルファイル管理テーブル27を用いて行う。
すなわち、図21に示すように、ロ−カルファイル管理テーブルの各ファイル管理情報の、参照カウントフィールド156に、アクセス特性判定用の5つのサブフィールドを設ける。ここで、第1のサブフィールドは前回参照した上位計算機からの要求のアドレス(ファイル先頭からのバイト数)を格納するフィールド1561、第2のサブフィールドは前回参照したときの転送長(バイト数)を格納するフィールド1562、第3のサブフィールドはランダムアクセス回数の頻度を示すフィールド1563、第4のサブフィールドはシーケンシャルアクセス回数の頻度を示すフィールド1564、第5のサブフィールドはこのファイルの全参照回数を格納するフィールド1565である。また、ランダムアクセス回数フィールド1563、シーケンシャルアクセス回数フィールド1564の更新は、ファイルのアクセスの度に、次の処理により行われる。すなわち、式 今回参照アドレス≦前回参照アドレス+前回転送長+αを判定し、式が成立すれば、このアクセスはシーケンシャルと判断し、シーケンシャルアクセス回数サブフィールド1564に1を加算する。もし不成立ならばランダムアクセスと判断し、ランダムアクセス回数サブフィールド1563に1を加算する。ただし、「今回参照アドレス」は上位計算機のライト要求のファイル先頭からの位置(バイト数)、αはシーケンシャル性の判断基準用定数である。なお、もし、完全に連続したアクセスのみをシーケンシャルとしたいときは、α=0に設定すればよく、もし、ある程度幅をもたせてシーケンシャル性を判断したいときはαをある値に設定すればよい。このようにしてファイル参照のたびにランダム/シーケンシャル性を判定していく。
さて、ステップ2002に戻り、既存のファイルのランダムアクセス性についての判断、すなわち、ランダムアクセス性が大きいか、小さいかの判断は、次のように行う。
すなわち、A、Bを適当な設定値として、もし、対応するファイル管理情報の、参照回数フィ−ルド1565の値がAより大きく、ランダムアクセス回数フィ−ルド1563の値/参照回数フィ−ルド1565の値がB以上であれば、ランダムアクセス性が大と判定し、参照回数フィ−ルド1565の値がAより大きく、ランダムアクセス回数フィ−ルド1563の値/参照回数フィ−ルド1565の値がB未満であればランダムアクセス性が小と判定する。また、参照回数フィ−ルド1565の値がAより小さければ、判定不能と判断する。これは、参照回数がある一定値Aより小さい場合には、ファイルは作成されたばかりであって、まだシーケンシャル/ランダム性の判断できないからである。
次に、この判断の結果、ランダム性大ならばRAID5型ディスクアレイ(ディスク群3)を選択し(ステップ2004)、判定不能ならばRAID1型ディスクアレイ(ディスク群1)を選択する(ステップ2006)。ここで、判定不能の場合に、RAID1型ディスクアレイ(ディスク群1)を選択するのは、作成したばかりの、ファイルはRAID1型ディスクアレイ(ディスク群1)に格納されているはずであるからである。
なお、ステップ2002では、ランダムアクセス比率=ランダムアクセス回数/参照回数が定数B(O<B<1)より大きいかどうかを判定したが、シーケンシャルアクセス比率をシ−ケンシャルアクセス回数フィ−ルド1564の値/参照回数フィ−ルド1565の値を基準にして判定を行うようにしてもよく、また、両者を加味した判定を行ってもよい。
さて、ステップ2002で、ランダム性が小と判断されたならば転送長の判定を行う。すなわち、コマンドで書き込みを要求されているデータ長(転送長)がある一定値C以上ならば、転送長大と判断し、RAID3型ディスクアレイ(ディスク群2)を選択する。また転送長がある一定値C未満のときは、RAID3型は効率が悪いのでRAID1型を選択する。
以上のように、新規ファイルが既存ファイルか、ランダム性が大か小か、転送長が大か小かの判定を行うことにより、適切なディスク群を選択する。そして、選択したディスク群に、新規な論理ブロックを書き込むと共に、選択したディスク群が、新規な論理ブロックの属する既存のファイルの既存の論理ブロックが記憶されているディスク群と異なる場合には、選択したディスク群に既存の論理ブロックを移動し、これに合わせファイル管理テ−ブルを更新する。なお、この際、ロ−カルファイル管理テーブル27の各ファイル管理情報に設けたファイルの再配置の有無を示す更新フラグ188を”更新済み”に設定する。
なお、以上では、新規ファイルはすべて、RAID1型ディスクアレイ(ディスク群1)に書き込むこととした。これはアクセス特性が不明であるためである。しかしながらRAID1型ディスクアレイは信頼性が高い点を除いては1台のディスクと同等の性能であり、ランダム性の強いファイルや、シーケンシール性の強いファイルのアクセスには適さない。また、ディスク容量も限られているので、適当なタイミングでそのアクセス特性に適したディスク群を選択し直し、ファイルを移動させることが望ましい。
そこで、ディスク群更新制御手段1800が、定期的に、コマンド管理手段23にファイル毎に格納するディスク群を選択しなおすよう要求を発行するようにする。
コマンド管理手段23はこの要求をうけ、ロ−カルファイル管理テーブル27の各ファイル管理情報の更新フラグ188を参照し、もし、更新フラグが“未更新”に設定されていたならば最近新規に作成されたファイルなので、ディスク装置群選択手段を起動し、図20に示した手順に従いディスク群の再選択を試みる。
そして、ランダム性又はシーケンシャル性が強いファイルであることが判定されたなら上述のようなディスク群を選択して、RAID1型ディスクアレイ(ディスク群1)以外のディスク群が選択されたら、そのディスク群にファイルを移動し、更新フラグ188を“更新済”に設定する。
もし、判定不能であれば、そのままディスク群1に当該ファイルを置く。このとき、更新フラグは“未更新”のままにする。なお、ファイル移動中にこのファイルへのアクセス要求が上位計算機から発行されることがあるため、このとき更新フラグは“更新中”に設定しておく。また、ファイルの移動に伴いファイル管理テーブルを新規に作成し直し、ファイルの移動が完全に終了したら、ファイル管理テーブルを新規のものに切りかえ古いものは削除してしまう。なお、ディスク群の選択後の論理ブロックの論理ブロックアドレスへの登録は先に示したように行えばよい。
以上の処理により、アクセス特性に適したディスク群を選択できる。
なお、以上ではディスク群としてRAID1型、RAID3型、RAID5型のディスクアレイを使用した例を使用したが、これ以外の装置を導入しても、同様な手順によりアクセス特性に適したディスク群を選択できる。
さて、本第5実施例に係るディスク装置群(図19参照)は、図22に示すように構成することもできる。
図22に示した例では、構成パラメータの1つであるストライプサイズがそれぞれ異なる3つのディスクアレイ装置をディスク装置群1、2、3としている。
この場合、比較的小さなファイルを格納するにはストライプサイズを小さく設定したディスク装置群1に、また逆に十分大きなファイルを格納するにはストライプサイズを大きく設定したディスク装置群3に登録するのがふさわしい。したがい、ファイル長に応じて、ディスク装置群を選択すれば、ファイルの特性に適したディスク群を選択できる。
または、データの転送長に応じて、ストライプサイズ×ディスク台数×nが転送長となるようなディスク群を選択するようにすれば、効率よく、ディスク台数分の転送性能を得ることができる。
また、本第5実施例に係るディスク装置群(図19参照)は、図23に示すように構成することもできる。
図23に示した例では、ディスク装置群1に磁気ディスク装置を、ディスク装置群2に光ディスク装置を、ディスク装置群3にテープライブラリ装置を用いている。この場合、アクセス頻度の高いファイルは磁気ディスク装置に、アクセス頻度の余り高くないファイルは光ディスク装置に、ほとんどアクセスしないファイル(バックアップ等)はテープライブラリ装置に登録することが望ましい。
そこで、ある一定時間毎に、ディスク群更新制御手段1800が、コマンド管理手段23にファイル毎に格納するディスク群を選択しなおすよう要求を発行するようにする。そして、コマンド管理手段23が、この要求をうけ、ロ−カルファイル管理テーブル27の各ファイル管理情報のタイムスタンプ153の前回参照時間と、参照回数フィ−ルド1565を参照し、このファイルが最近アクセスされているのかどうか、又は参照回数が多いかどうかを判定する。そして、もし一定期間アクセスされていないならば古いファイルであり、高速なディスク上のスペースを占拠していることは非効率であるので、たとえば光ディスク等にファイルを移動するようにする。
なお、たとえば夜間に、テープライブラリ装置に、他のディスク装置に記憶されているファイルを複写し、バックアップを取るようにしてもよい。
以上のように本実施例によれば複数のディスク装置群を二次記憶装置内に設けることができ、その構成を変えることで多種多様なアクセス要求やファイル特性に適した論理ブロックの論理ブロックアドレスへのマッピングを実現でき、様々な形態の記憶システムおよび計算機システムを構築できるという効果がある。
以上説明してきたように、本実施例によれば、二次記憶装置固有の構成パラメータや、物理パラメータを配慮し、かつ上位計算機のAPのアクセス特性に合致した最適ファイル配置を実現でき、高速なファイルアクセスを実現できる。またこれにより高性能な計算機システムを実現できる。また、上位計算機に本発明の二次記憶装置のみならず従来の二次記憶装置をも接続でき、柔軟な計算機システムを構築できる。また、上位計算機は二次記憶装置の構成、物理特性を考慮する必要がないので、簡単に様々な二次記憶装置を上位装置に接続できる。また、複数台の上位計算機と複数台の二次記憶装置を接続した分散ファイル管理型計算機システムを容易に構築できる。
本発明に係る計算機システムによれば、計算機は、新たな論理ブロックの二次記憶装置への記憶を行う場合には、二次記憶装置のロ−カルアドレスを指定せずに、前記二次記憶装置に論理ブロックの記憶を要求する。一方、二次記憶装置は、新たな論理ブロックの前記記憶手段への記憶を前記計算機より要求されると、記憶を要求された論理ブロックを記憶するロ−カルアドレスを所定の手順により決定し、決定したロ−カルアドレスに記憶を要求された論理ブロックを記憶すると共に、決定したロ−カルアドレスを前記計算機に通知する。計算機は、通知されたロ−カルアドレスを、記憶を要求した新たな論理ブロックに対応付けて前記ファイル管理テ−ブルに登録し、以降、この論理ブロックにアクセスする場合には、ファイル管理テ−ブルを参照し、アクセスする論理ブロックのロ−カルアドレスを指定して二次記憶装置にアクセスを要求する。
このように、本発明によれば、ファイルを構成する論理ブロックを記憶するロ−カルアドレスを、二次記憶装置が決定する。ここで、個別の二次記憶装置に、自身の構成や状態を把握させるのは容易であるので、二次記憶装置は、論理ブロックの最適な記憶位置を決定することができる。よって上位計算機に二次記憶装置のパラメータを設定すること無しに、ファイルの二次記憶装置への最適配置を実現することができる。
本発明の実施例に係る計算機システムのハ−ドウェア構成を示すブロック図である。 本発明の実施例におけるファイル管理の概念を示した説明図である。 本発明の第1実施例に係る計算機システムの構成を示したブロック図である。 本発明の第1実施例に係るファイル管理テーブルの構成を示す説明図である。 本発明の第1実施例に係るOSが行うファイルオ−プン処理の手順を示すフロ−チャ−トである。 本発明の第1実施例に係るOSが行うファイルリ−ド処理の手順を示すフロ−チャ−トである。 アクセスするデータと論理ブロックの関係を示した説明図である。 本発明の第1実施例に係るOSが行うファイルライト処理の手順を示すフロ−チャ−トである。 本発明の第1実施例に係る二次記憶装置が行うファイルリ−ド/ライト処理の手順を示すフロ−チャ−トである。 本発明の第2実施例に係る計算機システムの構成を示したブロック図である。 本発明の第3実施例に係る計算機システムの構成を示したブロック図である。 本発明の第4実施例に係る計算機システムの構成を示したブロック図である。 本発明の第4実施例に係る上位計算機と二次記憶装置間の転送シ−ケンスを示すタイムチャ−トである。 ディスクアレイ装置のストライプを示す説明図である。 論理ブロックへのロ−カルアドレスの割り当てのようすを示す説明図である。 論理ブロックへのロ−カルアドレスの割り当てのようすを示す説明図である。 本発明の実施例に係るストライプ管理テ−ブルとセクタ管理テ−ブルの構成を示すブロック図である。 本発明の第5実施例に係る二次記憶装置の構成を示すブロック図である。 本発明の第5実施例に係る二次記憶装置の第1の具体的構成例を示すブロック図である。 本発明の第5実施例に係るディスク群選択処理の手順を示すフロ−チャ−トである。 本発明の第5実施例に係るロ−カルファイル管理テ−ブルの構成を示す説明図である。 本発明の第5実施例に係る二次記憶装置の第2の具体的構成例を示すブロック図である。 本発明の第5実施例に係る二次記憶装置の第3の具体的構成例を示すブロック図である。 従来の計算機システムの構成を示すブロック図である。
符号の説明
1・・・上位計算機
2・・・二次記憶装置
12・・・プロセス
13・・・ファイル管理・バッファ管理手段
14・・・ディレクトリ管理テーブル
15・・・ファイル管理テーブル
16・・・デバイスドライバ
17・・・新規ファイルアドレス決定手段
18・・・オープンファイル情報通知手段
19・・・新規ファイルライト通知手段
20・・・オペレーティングシステム
21・・・インタフェース制御手段
22・・・インタフェース制御手段
23・・・コマンド管理手段
24・・・ディスク装置制御手段
25b・・・ディスク管理テーブル
26・・・新規ファイルアドレス決定手段
27・・・ロ−カルファイル管理テーブル
28・・・新規ファイルアドレス通知手段
29・・・ディスク装置

Claims (3)

  1. 計算機と接続され、当該計算機からアクセスされるファイルを格納する記憶装置であって、
    前記記憶装置は、
    特性の異なる第一のディスクアレイ装置、第二のディスクアレイ装置及び第三のディスクアレイ装置と、
    ローカルファイル管理テーブルと
    新規ファイルアドレス決定手段と
    を有し、
    前記ローカルファイル管理テーブルは、前記記憶装置内のファイルごとの管理情報として、前回参照したアドレスと、前回参照したときの転送長と、ランダムアクセス回数と、全参照回数とを管理しており、
    前記新規ファイルアドレス決定手段は、
    前記計算機からファイルのライト要求を受信すると、前記ローカルファイル管理テーブルを参照し、
    当該ファイルの前記管理情報に基づいて、当該ファイルへのアクセスがシーケンシャルアクセスであるかランダムアクセスであるかを判定し、
    当該ファイルへのアクセスがランダムアクセスであると判定した場合、当該ファイルに関するランダムアクセス回数に1を加算し、
    前記全参照回数が閾値Aより大きく、かつ、前記ランダムアクセス回数を前記全参照回数で除した値が閾値B以上である場合、当該ファイルを格納するために前記第三のディスクアレイ装置を選択し、
    前記全参照回数が閾値A以下である場合には、当該ファイルを格納するために前記第一のディスクアレイ装置を選択し、
    前記全参照回数が閾値Aより大きく、前記ランダムアクセス回数を前記全参照回数で除した値が閾値B未満であり、かつ、当該ファイルの転送長が閾値C以上の場合には、当該ファイルを格納するために前記第二のディスクアレイ装置を選択し、
    前記全参照回数が閾値Aより大きく、前記ランダムアクセス回数を前記全参照回数で除した値が閾値B未満であり、かつ、当該ファイルの転送長が閾値C未満の場合には、当該ファイルを格納するために前記第一のディスクアレイ装置を選択する、
    ことを特徴とする記憶装置。
  2. 前記新規ファイルアドレス決定手段は、以下の(式)、
    (式)今回参照アドレス≦前回参照したアドレス+前回参照したときの転送長+α、
    が不成立の場合に、当該ファイルへのアクセスがランダムアクセスであると判定し、
    前記今回参照アドレスは、前記計算機のライト要求のファイル先頭からのバイト数であり、
    前記αは、シーケンシャル性の判断基準用定数である、
    ことを特徴とする請求項1記載の記憶装置。
  3. 前記第一のディスクアレイ装置は、RAID1型ディスクアレイ装置、又は、ミラーディスク装置であり、
    前記第二のディスクアレイ装置は、RAID3型ディスクアレイ装置であり、
    前記第三のディスクアレイ装置は、RAID5型ディスクアレイ装置である、
    ことを特徴とする請求項1記載の記憶装置。
JP2008009073A 1993-06-21 2008-01-18 計算機システムおよび二次記憶装置 Expired - Fee Related JP4252102B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008009073A JP4252102B2 (ja) 1993-06-21 2008-01-18 計算機システムおよび二次記憶装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP14946793 1993-06-21
JP2008009073A JP4252102B2 (ja) 1993-06-21 2008-01-18 計算機システムおよび二次記憶装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006154165A Division JP4128206B2 (ja) 1993-06-21 2006-06-02 計算機システムおよび二次記憶装置

Publications (2)

Publication Number Publication Date
JP2008135055A JP2008135055A (ja) 2008-06-12
JP4252102B2 true JP4252102B2 (ja) 2009-04-08

Family

ID=39559823

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008009073A Expired - Fee Related JP4252102B2 (ja) 1993-06-21 2008-01-18 計算機システムおよび二次記憶装置

Country Status (1)

Country Link
JP (1) JP4252102B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013046342A1 (ja) 2011-09-27 2013-04-04 富士通株式会社 仮想テープ装置及び仮想テープ装置の制御方法
JP5884602B2 (ja) * 2012-03-30 2016-03-15 富士通株式会社 ストレージ制御装置、およびストレージシステム
JP6060276B2 (ja) * 2012-12-21 2017-01-11 華為技術有限公司Huawei Technologies Co.,Ltd. 監視レコード管理方法及びデバイス
KR101505263B1 (ko) * 2013-03-07 2015-03-24 포항공과대학교 산학협력단 데이터 중복 제거 방법 및 장치
JP6295742B2 (ja) * 2014-03-13 2018-03-20 日本電気株式会社 ストレージシステム

Also Published As

Publication number Publication date
JP2008135055A (ja) 2008-06-12

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
US6058489A (en) On-line disk array reconfiguration
US6542960B1 (en) System and method for parity caching based on stripe locking in raid data storage
JP3505093B2 (ja) ファイル管理システム
US6341342B1 (en) Method and apparatus for zeroing a transfer buffer memory as a background task
US5416915A (en) Method and system for minimizing seek affinity and enhancing write sensitivity in a DASD array
US5588110A (en) Method for transferring data between two devices that insures data recovery in the event of a fault
EP0801344B1 (en) An apparatus for reallocating logical to physical disk devices using a storage controller and method of the same
US6009481A (en) Mass storage system using internal system-level mirroring
JP3697149B2 (ja) キャッシュ・メモリを管理する方法
US6098191A (en) Storage unit and storage unit subsystem
JP4222917B2 (ja) 仮想記憶システムおよびその動作方法
JP2000122902A (ja) ログ構造記憶先にデ―タを書き込む方法、媒体及びデ―タ記憶システム
JP4252102B2 (ja) 計算機システムおよび二次記憶装置
JPH0863298A (ja) ディスクアレイ装置
JPH0773090A (ja) 計算機システムおよび二次記憶装置
US20060085663A1 (en) Method for keeping snapshot image in a storage system
JP4128206B2 (ja) 計算機システムおよび二次記憶装置
JP3747937B2 (ja) 計算機システムおよび二次記憶装置
US7293193B2 (en) Array controller for disk array, and method for rebuilding disk array
JPH09288547A (ja) アレイ型記憶装置
JP3687111B2 (ja) 記憶装置システムおよび記憶装置の制御方法
JPH07152498A (ja) 情報処理システム
JP3747788B2 (ja) 計算機システムおよび二次記憶装置
US6732194B1 (en) Method and apparatus for multi-sequential data operations

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