JP3541338B2 - HIPPI input / output device - Google Patents

HIPPI input / output device Download PDF

Info

Publication number
JP3541338B2
JP3541338B2 JP10125797A JP10125797A JP3541338B2 JP 3541338 B2 JP3541338 B2 JP 3541338B2 JP 10125797 A JP10125797 A JP 10125797A JP 10125797 A JP10125797 A JP 10125797A JP 3541338 B2 JP3541338 B2 JP 3541338B2
Authority
JP
Japan
Prior art keywords
transfer
channel
data
instruction
memory
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
JP10125797A
Other languages
Japanese (ja)
Other versions
JPH10293739A (en
Inventor
隆之 中林
Original Assignee
日本電気エンジニアリング株式会社
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 日本電気エンジニアリング株式会社 filed Critical 日本電気エンジニアリング株式会社
Priority to JP10125797A priority Critical patent/JP3541338B2/en
Publication of JPH10293739A publication Critical patent/JPH10293739A/en
Application granted granted Critical
Publication of JP3541338B2 publication Critical patent/JP3541338B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、複数チャネルプログラムの起動指示がソースチャネルに行われたとき、メモリからの転送データをHIPPI(High performance parallel interface :大容量データを800M〜1.6Gビット/秒の超高速で転送することを目的として開発されているインターフェース)へ送出するHIPPI入出力装置に関する。
【0002】
【従来の技術】
従来より、HIPPI入出力装置にあっては、メモリ及びHIPPI間の入出力制御を、オペレーティングシステム(以下、OSと記す)の指示に応じてチャネルプログラムを実行することによって行うようにしている。
【0003】
ここで、チャネルプログラムは、メモリ及びHIPPI間の入出力制御を行うためのプログラムで、メモリ上に存在する。入出力装置は、メモリ及びHIPPI間のデータ転送を行うための物理的に存在する物理チャネルを持ち、物理チャネルは、送信側のソースチャネルと受信側のディスティネーションチャネルを持つ。また、物理チャネルは、チャネルプログラムの起動、終了の単位として複数の論理チャネルを持つ。これにより、OSが複数のチャネルプログラムの起動指示を行えるようになっている。
【0004】
複数チャネルプログラムの起動指示がソースチャネルに行われた場合、従来方式では、複数のチャネルプログラムの内容をメモリからHIPPIへのデータ転送指示としている。
【0005】
チャネルプログラムの制御は、入出力装置のファームウェア(以下、FWと記す)により行われる。このFWは、チャネルプログラムの実行指示を受けると、チャネルプログラムの内容を解読し、実行内容を入出力装置の転送制御ハードウェア(以下、HWと記す)に指示する。
【0006】
入出力装置の転送制御HWにより、メモリからの転送データは入出力装置の転送バッファに取り込まれ、取り込まれたデータは、次にソースチャネルの持つチャネル転送バッファに転送され、該バッファによりHIPPIへ転送される。
【0007】
図3に従来のHIPPI入出力装置の具体的な構成を示す。このHIPPI入出力装置300は、メモリ200及びHIPPI400間の入出力制御を、OS100の指示によりチャネルプログラムを実行することによって行う。
【0008】
ここで、メモリ200は、メモリ200及びHIPPI400間の入出力制御するチャネルプログラム201と、HIPPI400に対して入出力される転送データ202を格納する。
【0009】
入出力装置300は、OS100からの指示に応じてチャネルプログラムを制御するFW301と転送制御HW302、メモリ200からの転送データを取り込む転送バッファ303、この転送バッファ303に取り込まれた転送データをHIPPI400に送出する物理チャネル(ソースチャネル)310、HIPPI400からの転送データを取り込む物理チャネル(ディスティネーションチャネル)320、この物理チャネル320に取り込まれた転送データをメモリ200に送出する転送バッファ304を備える。
【0010】
転送制御HW302は、OS100からの論理チャネル単位に発行されるチャネルプログラム実行指示を受け付け、FW301へ報告する手段、FW301からの指示によりメモリ200上のチャネルプログラム201を読み出す手段、FW301からの指示によりメモリ200からの転送データ202を転送バッファ303に取り込む手段、FW301からの指示により物理チャネル320からの転送データを転送バッファ304に取り込む手段、FW301からの指示により転送バッファ304からメモリ200へデータを転送させる手段を持つ。
【0011】
物理チャネル310,320は、メモリ200及びHIPPI400間のデータ転送を行うもので、送信側をソースチャネル(310)、受信側をディスティネーションチャネル(320)とする。
【0012】
また、物理チャネル310,320は、それぞれチャネルプログラムの起動・終了の単位としての複数の論理チャネルを備える。
【0013】
ソースチャネル310は、チャネル転送バッファ312、チャネル制御HW311を備える。チャネル転送バッファ312は、転送バッファ303からの転送データを取り込んでHIPPI400へ送出するものである。チャネル制御HW311は、FW301からの指示により、チャネル転送バッファ312のデータ取り込み、転送を制御する手段、転送データの終わりを検出してFW301へ転送終了の報告を行う手段を備える。
【0014】
ディスティネーションチャネル320は、チャネル転送バッファ321、チャネル制御HW322を備える。チャネル転送バッファ321は、HIPPI400からの転送データを取り込んで転送バッファ304へ送出するものである。チャネル制御HW322は、FW301からの指示により、チャネル転送バッファ321のデータ取り込み、転送を制御する手段、転送すべきデータの終わりを検出してFW301へ転送終了の報告を行う手段を備える。
【0015】
FW301は、転送制御HW302を通じてメモリ200上のチャネルプログラム201を制御してチャネルプログラム201の解読を行う手段、転送制御HW302へチャネルプログラム201の取り込み動作を指示する手段、OS100へのチャネルプログラムの実行完了を報告する手段を備える。
【0016】
上記構成において、図4に示すタイムスケジュールを参照してその動作を説明する。尚、ここでは複数チャネルプログラムの起動指示がソースチャネル310に行われた場合について説明する。
【0017】
複数のチャネルプログラムに対する実行指示は、論理チャネル単位毎に行われ、実行は物理チャネル310,320上で行われる。チャネルプログラムは、メモリ200及びHIPPI400間の入出力制御をするプログラムで、メモリ200上に存在する。ここでは、チャネルプログラム(1)、チャネルプログラム(2)が用意されている。
【0018】
チャネルプログラム(1)、チャネルプログラム(2)の内容は、メモリ200からHIPPI400への転送指示、メモリ200上にある転送元データのアドレス、転送データ長の情報が含まれている。転送データ(1)、転送データ(2)はメモリ200上にあるHIPPI400への転送データである。
【0019】
ソースチャネル310におけるメモリ200−HIPPI400間のデータ転送制御方式では、まず、OS100から論理チャネル(1)へチャネルプログラム(1)の実行指示(111)がなされる。
【0020】
チャネルプログラム(1)の実行指示を受けた入出力装置300では、FW301によりチャネルプログラム(1)を読み出し(391)、解読して(392)、解読したチャネルプログラム(1)の動作内容を転送制御HW302へ指示する(393)。
【0021】
動作内容指示(393)を受け取ると、転送制御HW302は、メモリ200上の指示のあったアドレスから指示のあったデータ長だけ転送データ(1)を転送バッファ303へ取り込み(394)、チャネル転送バッファ312に転送する(395)。チャネル転送バッファ312へ送られたデータはHIPPI400へ転送される(396)。
【0022】
チャネルプログラム(1)実行中のソースチャネル310は、チャネルプログラムの実行が終了するまでは、実行中チャネルプログラム(1)による占有状態となる。
【0023】
物理チャネル占有状態で、OS100からソースチャネルの論理チャネル(2)にチャネルプログラム(2)の実行指示(112)がなされた場合、FW301はチャネルプログラム(2)を読み出し(381)、解読する(382)。チャネルプログラム(2)の実行は、実行中のチャネルプログラム(1)の転送終了報告(397)がくるまではFW301によって実行待ち状態(383)となる。
【0024】
チャネルプログラム(1)の転送終了報告(397)がなされると、FW301はOS100へチャネルプログラム(1)の実行終了報告(113)を行う。
【0025】
次に、チャネルプログラム(2)の実行処理を始め、解読したチャネルプログラム(2)の動作内容を転送制御HW302に指示する(384)。これにより、チャネルプログラム(2)実行によるメモリ−HIPPIへの転送が行われる。
【0026】
データ(2)の転送終了後、FW301へ終了報告(386)を行う。FW301はOS100へチャネルプログラム(2)の実行終了報告(114)を行い、一連の動作が終了する。
【0027】
ここで、複数チャネルプログラムの起動指示がソースチャネルに行われたとき、メモリからの転送データをHIPPIへ送出するHIPPI入出力装置に関連する先行技術として、(1)特開平5−120008号公報に「レジスタアクセス方式」、(2)特開昭64−88669号公報に「DMA転送制御テーブル先読み方式」、(3)特開昭61−282956号公報に「DMA転送待ち行列制御方式」がある。
【0028】
先行技術(1)の発明は、テンポラリレジスタを設け、動作中のチャネルの内部レジスタに対して、外部のCPUから制御データの書き込み要求が生じた場合には、該書き込み要求データを該テンポラリレジスタに一旦書き込み、当該チャネルの内部処理結果に基づく制御データの内部レジスタへの書き込みが終了した後で、該テンポラリレジスタのデータを内部レジスタに転送するように書込制御部により制御し、これによりCPUの待ち時間を大幅に減少させるというものである。
【0029】
先行技術(2)の発明は、入出力装置はセクターまたはトラックにまたがる読み出しのときに機械的動作を行うために待ち時間が入る。この時、入出力装置のDMA転送要求がインアクティブになり、転送制御テーブル・リード・チャネルにバスの制御が渡され、次の転送制御テーブルの読み込みを行う。待ち時間終了後、再び入出力装置からのデータ転送が行われる。このように、データ転送中の空き時間を見つけて転送制御テーブルを先読みし、第1のデータ転送と第2のデータ転送の間に待ち時間が入らないようにするというものである。
【0030】
先行技術(3)の発明は、チャネルからの当初の転送要求があったとき、中央処理装置はマイクロプログラムにより転送のための前処理を行う。そのとき、DMA転送処理中であるか否かをチェックするというものである。
【0031】
しかしながら、従来のHIPPI入出力装置では、上記の公報記載の方式を含め、いずれも複数チャネルプログラムの起動指示がソースチャネルに行われた際のメモリ−HIPPIへの転送方式であって、ソースチャネルがチャネルプログラム実行中であれば、他の起動指示がなされているチャネルプログラムが、実行中チャネルプログラムの転送終了報告がチャネル制御装置からあるまで、FWにより実行を待たせている。このため、チャネルプログラムの実行待ちが生じ、転送効率が低下している。
【0032】
【発明が解決しようとする課題】
以上述べたように、従来のHIPPI入出力装置では、複数チャネルプログラムの起動指示がソースチャネルに行われた際、チャネルプログラムの実行待ちが生じ、転送効率が低下するという欠点があった。
【0033】
本発明は、上記の問題を解決し、複数チャネルプログラムの起動指示がソースチャネルに行われたときでも、チャネルプログラムの実行待ちが生じることなく、連続してチャネルプログラムを実行させることができ、転送効率を向上させることのできるHIPPI入出力装置を提供することを目的とする。
【0034】
【課題を解決するための手段】
上記の課題を解決するために、本発明に係るHIPPI入出力装置は、以下のように構成される。
【0035】
(1)オペレーティングシステムからの指示によって制御され、チャネルプログラム実行によりメモリからHIPPIへデータを転送するHIPPI入出力装置において、前記メモリからの転送データを取り込む第1の転送バッファと、この第1の転送バッファに取り込まれた転送データをチャネル毎に取り込んで前記HIPPIへ転送するソースチャネル及び前記HIPPIからの転送データをチャンネル毎に取り込むディスティネーションチャネルを備える物理チャネルと、前記ディスティネーションチャネルに取り込まれた転送データを前記メモリに転送する第2の転送バッファと、前記オペレーティングシステムからの指示に従って前記第1及び第2の転送バッファの転送を制御する転送制御ハードウェアと、前記オペレーティングシステムからの指示に従って前記転送制御ハードウェア及び物理チャネルを制御するファームウェアとを具備し、前記転送制御ハードウェアは、前記ファームウェアより指示のあったデータ長を前記メモリから前記第1の転送バッファへ取り込んで前記ソースチャネルへ送出させた後、前記ファームウェアへ実行待ちになっている次チャネルプログラムの動作指示要求を通知し、前記ファームウェアは、前記転送制御ハードウェアからの動作要求指示を受けて実行待ちされているチャネルプログラムの実行を行い、動作指示を前記転送制御ハードウェアに送り、前記転送制御ハードウェアは、前記ファームウェアからの動作指示に従って前記メモリから転送データを前記第1の転送バッファへ取り込むようにした。
【0036】
(2)(1)の構成において、前記転送制御ハードウェアは、オペレーティングシステムからの論理チャネル単位のチャネルプログラム起動を受けて前記ファームウェアへ報告する手段、前記ファームウェアからの指示により前記メモリ上のチャネルプログラムを読み出す手段、前記ファームウェアからの指示により前記メモリからの転送データを前記第1の転送バッファに取り込む手段、前記ファームウェアからの指示により前記第2の転送バッファから前記メモリへデータを転送させる手段、前記ディスティネーションチャネルから前記第2の転送バッファへデータを転送させる手段に加え、さらに転送データを第1の転送バッファ303から前記ソースチャネルへ全て送出させた時点で前記ファームウェアへ次の動作指示要求を行う手段を備え、前記ファームウェアは、前記チャネルプログラムの実行指示を受けて、そのチャネルプログラムの内容を解読し、その実行内容を前記転送制御ハードウェアに指示する手段、前記転送制御ハードウェアからの次の動作指示要求を受けて、次のチャネルプログラムの内容を解読し、その実行内容を前記転送制御ハードウェアに指示する手段を備えるようにした。
【0037】
すなわち、本発明に係るHIPPI入出力装置では、チャネルプログラム実行によるデータ転送において、転送データが第1の転送バッファからソースチャネルへ全て送出された際に、転送制御ハードウェアが実行待ちのチャネルプログラムの実行要求をファームウェアに通知する。
【0038】
特に、複数チャネルプログラムの起動指示がソースチャネルに行われた際のメモリ−HIPPI間のデータ転送方式において、チャネルプログラム実行待ちが生じて転送効率低下となることを回避するため、チャネルプログラム実行によるメモリ−HIPPIへの転送方式において、転送制御ハードウェアは、ファームウェアより指示のあったデータ長をメモリから取り込み、ソースチャネル転送バッファへ送出すると、ファームウェアへ実行待ちになっている次チャネルプログラムの動作指示要求を通知する。動作要求指示を受けたファームウェアは、実行待ちされているチャネルプログラムの実行を行い、動作指示を転送制御ハードウェアに行う。これを受けて、転送制御ハードウェアは動作内容に従ってメモリから転送データを第1の転送バッファへ取り込む。これによりチャネル制御からの実行中チャネルプログラムの転送完了報告を待たずに、次チャネルプログラムを実行できるので、転送効率をあげることができるようになる。
【0039】
【発明の実施の形態】
以下、図1及び図2を参照して本発明の実施の形態について詳細に説明する。
【0040】
図1は本発明の実施形態に係るHIPPI入出力装置の構成を示すものである。尚、図1において、図3と同一部分には同一符号を付して示す。
【0041】
図1に示すHIPPI入出力装置において、メモリ200−HIPPI400間の入出力制御は、OS100の指示によりチャネルプログラムを実行することによって行われる。
【0042】
チャネルプログラム201は、メモリ200−HIPPI400間の入出力制御をするプログラムで、メモリ200上にチャネルプログラム(1)、チャネルプログラム(2)が用意されている。
【0043】
チャネルプログラム(1)、チャネルプログラム(2)の内容は、メモリ200からHIPPI400への転送指示、メモリ200上にある転送元データのアドレス、転送データ長が入っている。
【0044】
転送データ(1)、転送データ(2)はメモリ200上にあるHIPPI400への転送データである。
【0045】
入出力装置300は、チャネルプログラムを制御するFW301、転送制御の転送制御HW302、転送データを取り込む転送バッファ303,304、物理チャネル310,320を持つことで、メモリ200−HIPPI400間のデータ転送を行う。
【0046】
転送制御HW302は、OS100からの論理チャネル単位に発行されるチャネルプログラム実行指示を受け付けてFW301へ報告する手段、FW指示によりメモリ200上のチャネルプログラム201を読み出す手段、FW指示によりメモリ200からの転送データ202を転送バッファ303に取り込む手段、FW指示により転送バッファ304からメモリ200へデータを転送させる手段、チャネル転送バッファ321から転送バッファ304へデータを転送させる手段に加え、さらに転送データを転送バッファ303からチャネル転送バッファ312へ全て送出したらFW301へ次の動作指示要求を行う手段371を持つ。
【0047】
物理チャネルは、メモリ200−HIPPI400間のデータ転送を行うために物理的に存在し、送信側のソースチャネル310、受信側のディスティネーションチャネル320を備える。また、物理チャネルは、チャネルプログラムの起動・終了の単位としての複数の論理チャネルを持つ。
【0048】
ソースチャネル310は、チャネル転送バッファ312、チャネル転送制御HW311を持ち、チャネル転送バッファ312は入出力装置の転送バッファ303の転送データを取り込み、チャネル制御HW311は転送バッファのデータをHIPPI400へ送出する手段、転送すべきデータの終わりを送出したらFW301への転送終了報告手段を持つ。
【0049】
ディスティネーションチャネル320は、チャネル転送バッファ321、チャネル制御HW322を持ち、チャネル転送バッファ321はHIPPI400からの転送データを取り込み、チャネル制御HW322はチャネル転送バッファ321のデータを転送バッファ304へ送出する手段、転送すべきデータの終わりを送出したらFW301への転送終了報告手段を持つ。
【0050】
上記構成において、図2に示すタイムスケジュールを参照してその動作を説明する。尚、ここでは複数チャネルプログラムの起動指示がソースチャネル310に行われた場合について説明する。
【0051】
複数のチャネルプログラムの内容は、メモリ200−HIPPI400間の入出力制御するプログラムで、メモリ200上に存在し、チャネルプログラム(1)、チャネルプログラム(2)が用意されている。
【0052】
チャネルプログラム(1)、チャネルプログラム(2)の内容は、メモリ200からHIPPI400への転送指示、メモリ200上にある転送元データのアドレス、転送データ長が含まれている。転送データ(1)、転送データ(2)はメモリ200上にあるHIPPI400への転送データである。
【0053】
ソースチャネル310におけるメモリ200−HIPPI400間のデータ転送制御方式では、まず、OS100から論理チャネル(1)へチャネルプログラム(1)の実行指示(111)がなされる。
【0054】
チャネルプログラム(1)の実行指示を受けた入出力装置300では、FW301により制御され、FW301はチャネルプログラム(1)を読み出し(391)、解読して(392)、解読したチャネルプログラム(1)の動作内容を転送制御HW302へ指示する(393)。
【0055】
この転送制御HW302は、動作内容指示(393)を受け取ると、メモリ200上の指示のあったアドレスから指示のあったデータ長だけ転送データ(1)を転送バッファ303へ取り込み(394)、チャネル転送バッファ312に転送する(395)。チャネル転送バッファ312へ送られたデータはHIPPI400へ転送される(396)。
【0056】
チャネルプログラム(1)実行中のソースチャネルの論理チャネル(2)にチャネルプログラム(2)の実行指示された場合(112)、FW301はチャネルプログラム(2)を読み出し(381)、解読する(382)。チャネルプログラム(1)による転送データが転送バッファ303よりチャネル転送バッファ312へ全て送出されると、転送制御HW302は、FW301へ次チャネルプログラムによる動作指示要求を行う(371)。
【0057】
動作指示要求を受けたFW301は、チャネルプログラム(2)の動作内容を転送制御HW302へ指示する(384)。転送制御HW302は、動作内容指示(384)を受け取ると、転送バッファ303に対し、メモリ200上の指示のあったアドレスから指示のあったデータ長だけの転送データ(2)の取り込みを行う(385)。チャネルプログラム(2)の転送が行われる。
【0058】
転送データ(1)がチャネル転送バッファ312よりHIPPI400へ送出されると、チャネルプログラム(1)の転送終了報告がなされる(397)。報告(311)を受けたFW301は、OS100へチャンネルプログラム(1)の実行終了報告を行う(113)。
【0059】
チャネルプログラム(2)による転送データが転送バッファ303よりチャネル転送バッファ312へ全て送出されると、FW301へ次チャネルプログラムによる動作指示要求を行う(372)。
【0060】
データ(2)の転送終了後、FW301へ終了報告が行われると(386)、FW301はOS100へチャネルプログラム(2)の実行終了報告を行う(114)。
【0061】
以上の動作から明らかなように、本実施形態の構成によるHIPPI入出力装置では、チャネルプログラム実行によるメモリ−HIPPIへの転送において、転送制御HW302がFW301より指示のあったデータ長をメモリ200から取り込んでチャネル転送バッファ312へ送出させると、FW301へ実行待ちになっている次チャネルプログラムの動作指示要求を通知する。この動作要求指示を受けたFW301が実行待ちされているチャネルプログラムの実行を行い、動作指示を転送制御HW302に送り、転送制御HW302が動作内容に従ってメモリ200から転送データを入出力装置300の転送バッファ303へ取り込む。
【0062】
これにより、チャネル制御HW311からの実行中チャネルプログラムの転送完了報告を待たずに、次チャネルプログラムを実行できるので、従来装置に比して転送効率を上げることができる。
【0063】
【発明の効果】
以上のように本発明によれば、複数チャネルプログラムの起動指示がソースチャネルに行われたときでも、チャネルプログラムの実行待ちが生じることなく、連続してチャネルプログラムを実行させることができ、転送効率を向上させることのできるHIPPI入出力装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るHIPPI入出力装置の構成を示すブロック図である。
【図2】同実施形態の動作を説明するため処理フローを示す図である。
【図3】従来のHIPPI入出力装置の構成を示すブロック図である。
【図4】従来装置の動作を説明するための処理フローを示す図である。
【符号の説明】
100 OS
200 メモリ
201 チャネルプログラム格納部
202 転送データ格納部
300 HIPPI入出力装置
301 ファームウェア
302 転送制御ハードウェア
303、304 転送バッファ
310 ソースチャネル
311 チャネル転送制御ハードウェア
312 チャネル転送バッファ
320 ディスティネーションチャネル
321 チャネル転送バッファ
322 チャネル制御ハードウェア
400 HIPPI
[0001]
TECHNICAL FIELD OF THE INVENTION
According to the present invention, when a start instruction of a multi-channel program is issued to a source channel, transfer data from a memory is transferred at a very high speed of 800 M to 1.6 Gbit / sec from HIPPI (High performance parallel interface). HIPPI input / output device for sending to an interface developed for this purpose.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, in a HIPPI input / output device, input / output control between a memory and a HIPPI is performed by executing a channel program in accordance with an instruction of an operating system (hereinafter, referred to as an OS).
[0003]
Here, the channel program is a program for performing input / output control between the memory and the HIPPI, and exists on the memory. The input / output device has a physically existing physical channel for performing data transfer between the memory and the HIPPI, and the physical channel has a source channel on the transmission side and a destination channel on the reception side. The physical channel has a plurality of logical channels as a unit for starting and ending the channel program. As a result, the OS can issue an instruction to activate a plurality of channel programs.
[0004]
When an instruction to start a multi-channel program is issued to the source channel, the contents of the plurality of channel programs are used as data transfer instructions from the memory to the HIPPI in the conventional method.
[0005]
The control of the channel program is performed by firmware (hereinafter, referred to as FW) of the input / output device. When receiving the instruction to execute the channel program, the FW decodes the contents of the channel program and instructs the execution contents to the transfer control hardware (hereinafter, referred to as HW) of the input / output device.
[0006]
The transfer data from the memory is taken into the transfer buffer of the input / output device by the transfer control HW of the input / output device, and the taken data is then transferred to the channel transfer buffer of the source channel and transferred to the HIPPI by the buffer. Is done.
[0007]
FIG. 3 shows a specific configuration of a conventional HIPPI input / output device. The HIPPI input / output device 300 performs input / output control between the memory 200 and the HIPPI 400 by executing a channel program according to an instruction from the OS 100.
[0008]
Here, the memory 200 stores a channel program 201 for controlling input / output between the memory 200 and the HIPPI 400, and transfer data 202 input / output to / from the HIPPI 400.
[0009]
The input / output device 300 includes an FW 301 and a transfer control HW 302 for controlling a channel program in accordance with an instruction from the OS 100, a transfer buffer 303 for receiving transfer data from the memory 200, and sends the transfer data captured in the transfer buffer 303 to the HIPPI 400. A physical channel (source channel) 310, a physical channel (destination channel) 320 for receiving the transfer data from the HIPPI 400, and a transfer buffer 304 for sending the transfer data captured by the physical channel 320 to the memory 200.
[0010]
The transfer control HW 302 receives a channel program execution instruction issued for each logical channel from the OS 100 and reports it to the FW 301, a unit that reads the channel program 201 on the memory 200 in accordance with the instruction from the FW 301, and a memory in accordance with the instruction from the FW 301. Means for taking in the transfer data 202 from the 200 into the transfer buffer 303, means for taking in the transfer data from the physical channel 320 into the transfer buffer 304 in accordance with an instruction from the FW 301, and causing data to be transferred from the transfer buffer 304 to the memory 200 in accordance with an instruction from the FW 301 Have a means.
[0011]
The physical channels 310 and 320 perform data transfer between the memory 200 and the HIPPI 400, and the transmission side is a source channel (310) and the reception side is a destination channel (320).
[0012]
Each of the physical channels 310 and 320 has a plurality of logical channels as units for starting and ending the channel program.
[0013]
The source channel 310 includes a channel transfer buffer 312 and a channel control HW 311. The channel transfer buffer 312 takes in the transfer data from the transfer buffer 303 and sends it to the HIPPI 400. The channel control HW 311 includes means for controlling the data fetch and transfer of the channel transfer buffer 312 in response to an instruction from the FW 301, and means for detecting the end of the transfer data and reporting the transfer end to the FW 301.
[0014]
The destination channel 320 includes a channel transfer buffer 321 and a channel control HW 322. The channel transfer buffer 321 captures the transfer data from the HIPPI 400 and sends it to the transfer buffer 304. The channel control HW 322 includes means for controlling the data fetch and transfer of the channel transfer buffer 321 in response to an instruction from the FW 301, and means for detecting the end of the data to be transferred and reporting the transfer end to the FW 301.
[0015]
The FW 301 controls the channel program 201 in the memory 200 through the transfer control HW 302 to decode the channel program 201, instructs the transfer control HW 302 to perform an operation of loading the channel program 201, and completes execution of the channel program to the OS 100. Is provided.
[0016]
The operation of the above configuration will be described with reference to the time schedule shown in FIG. Here, a case will be described in which the activation instruction of the multi-channel program is issued to the source channel 310.
[0017]
Execution instructions for a plurality of channel programs are issued for each logical channel unit, and execution is performed on physical channels 310 and 320. The channel program is a program that controls input and output between the memory 200 and the HIPPI 400, and exists on the memory 200. Here, a channel program (1) and a channel program (2) are prepared.
[0018]
The contents of the channel program (1) and the channel program (2) include a transfer instruction from the memory 200 to the HIPPI 400, information of an address of transfer source data on the memory 200, and information of a transfer data length. The transfer data (1) and the transfer data (2) are transfer data to the HIPPI 400 on the memory 200.
[0019]
In the data transfer control method between the memory 200 and the HIPPI 400 in the source channel 310, first, the execution instruction (111) of the channel program (1) is issued from the OS 100 to the logical channel (1).
[0020]
In the input / output device 300 that has received the instruction to execute the channel program (1), the channel program (1) is read (391) and decoded (392) by the FW 301, and the operation content of the decoded channel program (1) is transferred. An instruction is given to the HW 302 (393).
[0021]
Upon receiving the operation content instruction (393), the transfer control HW 302 takes in the transfer data (1) from the specified address on the memory 200 by the specified data length into the transfer buffer 303 (394), and sets the channel transfer buffer. Transfer to 312 (395). The data sent to the channel transfer buffer 312 is transferred to the HIPPI 400 (396).
[0022]
The source channel 310 under execution of the channel program (1) is occupied by the channel program under execution (1) until the execution of the channel program ends.
[0023]
When the execution instruction (112) of the channel program (2) is issued from the OS 100 to the logical channel (2) of the source channel in the physical channel occupation state, the FW 301 reads (381) and decodes the channel program (2) (382). ). The execution of the channel program (2) is awaited by the FW 301 (383) until the transfer end report (397) of the channel program (1) being executed is received.
[0024]
When the transfer end report (397) of the channel program (1) is made, the FW 301 reports the execution end (113) of the channel program (1) to the OS 100.
[0025]
Next, the process of executing the channel program (2) is started, and the operation content of the decoded channel program (2) is instructed to the transfer control HW 302 (384). Thus, the transfer to the memory-HIPPI is performed by executing the channel program (2).
[0026]
After the transfer of the data (2) is completed, an end report (386) is made to the FW 301. The FW 301 reports the end of execution of the channel program (2) to the OS 100 (114), and a series of operations ends.
[0027]
Here, as a prior art relating to a HIPPI input / output device for transmitting transfer data from a memory to a HIPPI when an instruction to start a multi-channel program is issued to a source channel, (1) Japanese Patent Laid-Open No. 5-120008 discloses There is a "register access method", (2) a "DMA transfer control table look-ahead method" in JP-A-64-88669, and (3) a "DMA transfer queue control method" in JP-A-61-282965.
[0028]
According to the invention of the prior art (1), a temporary register is provided, and when a write request for control data is issued from an external CPU to an internal register of an operating channel, the write request data is stored in the temporary register. Once the writing and the writing of the control data based on the result of the internal processing of the channel to the internal register are completed, the writing control unit controls the data of the temporary register to be transferred to the internal register. It significantly reduces waiting time.
[0029]
In the invention of the prior art (2), a waiting time is required for the input / output device to perform a mechanical operation at the time of reading over a sector or a track. At this time, the DMA transfer request of the input / output device becomes inactive, the control of the bus is transferred to the transfer control table read channel, and the next transfer control table is read. After the end of the waiting time, data transfer from the input / output device is performed again. In this way, a vacant time during data transfer is found and the transfer control table is pre-read to prevent a waiting time from being inserted between the first data transfer and the second data transfer.
[0030]
In the invention of the prior art (3), when there is an initial transfer request from a channel, the central processing unit performs preprocessing for transfer by a microprogram. At that time, it is checked whether or not a DMA transfer process is being performed.
[0031]
However, the conventional HIPPI input / output device is a transfer method to the memory-HIPPI when the start instruction of the multi-channel program is issued to the source channel, including the method described in the above publication, and the source channel is If the channel program is being executed, the execution of the channel program for which another start instruction has been issued is made to wait by the FW until a transfer end report of the channel program being executed is received from the channel control device. For this reason, execution waiting of the channel program occurs, and transfer efficiency is reduced.
[0032]
[Problems to be solved by the invention]
As described above, the conventional HIPPI input / output device has a drawback in that when an instruction to start a multi-channel program is issued to the source channel, the execution of the channel program is waited, and the transfer efficiency is reduced.
[0033]
The present invention solves the above-described problem, and can execute a channel program continuously without waiting for the execution of a channel program even when an instruction to start a multi-channel program is issued to a source channel. It is an object to provide a HIPPI input / output device capable of improving efficiency.
[0034]
[Means for Solving the Problems]
In order to solve the above problems, a HIPPI input / output device according to the present invention is configured as follows.
[0035]
(1) In a HIPPI input / output device which is controlled by an instruction from an operating system and transfers data from a memory to a HIPPI by executing a channel program, a first transfer buffer for taking in transfer data from the memory, and the first transfer A physical channel including a source channel for capturing the transfer data captured in the buffer for each channel and transferring the data to the HIPPI and a destination channel for capturing the transfer data from the HIPPI for each channel; and a transfer captured in the destination channel A second transfer buffer for transferring data to the memory, transfer control hardware for controlling transfer of the first and second transfer buffers in accordance with an instruction from the operating system, ; And a firmware for controlling the transfer control hardware and physical channels in accordance with an instruction from the stem, the transfer control hardware incorporating a data length of instruction from the firmware from the memory to the first transfer buffer After sending the request to the source channel , the firmware notifies the firmware of an operation instruction request of the next channel program waiting to be executed, and the firmware waits for execution upon receiving an operation request instruction from the transfer control hardware. and select and execute the channel programs, sends an operation instruction to the transfer control hardware, the transfer control hardware, the transfer data from the memory so as to take into the first transfer buffer in accordance with an operation instruction from the firmware did.
[0036]
(2) In the configuration of (1), the transfer control hardware is a means for receiving a channel program activation in units of logical channels from an operating system and reporting to the firmware, and a channel program on the memory according to an instruction from the firmware. Means for reading data, means for taking in transfer data from the memory in accordance with an instruction from the firmware into the first transfer buffer, means for transferring data from the second transfer buffer to the memory in accordance with an instruction from the firmware, In addition to the means for transferring data from the destination channel to the second transfer buffer, when the transfer data is completely transmitted from the first transfer buffer 303 to the source channel, a next operation instruction request is made to the firmware. hand Means for receiving the execution instruction of the channel program, decoding the contents of the channel program, and instructing the transfer control hardware of the execution contents, and performing the next operation from the transfer control hardware. In response to the instruction request, a means for decoding the contents of the next channel program and instructing the execution contents to the transfer control hardware is provided.
[0037]
That is, in the HIPPI input / output device according to the present invention, in the data transfer by executing the channel program, when the transfer data is completely transmitted from the first transfer buffer to the source channel, the transfer control hardware executes the channel program waiting for execution. Notify the firmware of the execution request.
[0038]
In particular, in a data transfer method between a memory and a HIPPI when a start instruction of a multi-channel program is issued to a source channel, a memory for executing a channel program is used to avoid a decrease in transfer efficiency due to a wait for execution of a channel program. In the transfer method to the HIPPI, the transfer control hardware fetches the data length instructed by the firmware from the memory and sends the data length to the source channel transfer buffer. Notify. The firmware that has received the operation request instruction executes the channel program waiting to be executed, and issues an operation instruction to the transfer control hardware. In response, the transfer control hardware fetches the transfer data from the memory to the first transfer buffer according to the operation content. As a result, the next channel program can be executed without waiting for the transfer completion report of the executing channel program from the channel control, so that the transfer efficiency can be improved.
[0039]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of the present invention will be described in detail with reference to FIGS.
[0040]
FIG. 1 shows a configuration of a HIPPI input / output device according to an embodiment of the present invention. In FIG. 1, the same parts as those in FIG. 3 are denoted by the same reference numerals.
[0041]
In the HIPPI input / output device illustrated in FIG. 1, input / output control between the memory 200 and the HIPPI 400 is performed by executing a channel program according to an instruction from the OS 100.
[0042]
The channel program 201 is a program for controlling input / output between the memory 200 and the HIPPI 400. A channel program (1) and a channel program (2) are prepared on the memory 200.
[0043]
The contents of the channel program (1) and the channel program (2) include a transfer instruction from the memory 200 to the HIPPI 400, an address of transfer source data on the memory 200, and a transfer data length.
[0044]
The transfer data (1) and the transfer data (2) are transfer data to the HIPPI 400 on the memory 200.
[0045]
The input / output device 300 performs data transfer between the memory 200 and the HIPPI 400 by having a FW 301 for controlling a channel program, a transfer control HW 302 for transfer control, transfer buffers 303 and 304 for taking in transfer data, and physical channels 310 and 320. .
[0046]
The transfer control HW 302 receives a channel program execution instruction issued for each logical channel from the OS 100 and reports it to the FW 301, reads the channel program 201 in the memory 200 according to the FW instruction, and transfers data from the memory 200 according to the FW instruction. In addition to the means for taking the data 202 into the transfer buffer 303, the means for transferring data from the transfer buffer 304 to the memory 200 in response to the FW instruction, the means for transferring data from the channel transfer buffer 321 to the transfer buffer 304, and further the transfer data Has a means 371 for making a request for the next operation instruction to the FW 301 when all the data has been transmitted from the to the channel transfer buffer 312.
[0047]
The physical channel physically exists for performing data transfer between the memory 200 and the HIPPI 400, and includes a source channel 310 on the transmission side and a destination channel 320 on the reception side. The physical channel has a plurality of logical channels as a unit for starting and ending the channel program.
[0048]
The source channel 310 has a channel transfer buffer 312 and a channel transfer control HW 311. The channel transfer buffer 312 fetches transfer data of the transfer buffer 303 of the input / output device, and the channel control HW 311 sends data of the transfer buffer to the HIPPI 400. When the end of the data to be transferred is transmitted, a means for reporting the end of transfer to the FW 301 is provided.
[0049]
The destination channel 320 has a channel transfer buffer 321 and a channel control HW 322. The channel transfer buffer 321 fetches transfer data from the HIPPI 400, and the channel control HW 322 sends data of the channel transfer buffer 321 to the transfer buffer 304. When the end of the data to be transmitted is transmitted, a means for reporting the completion of transfer to the FW 301 is provided.
[0050]
The operation of the above configuration will be described with reference to the time schedule shown in FIG. Here, a case will be described in which the activation instruction of the multi-channel program is issued to the source channel 310.
[0051]
The contents of the plurality of channel programs are programs for input / output control between the memory 200 and the HIPPI 400, and exist on the memory 200, and a channel program (1) and a channel program (2) are prepared.
[0052]
The contents of the channel program (1) and the channel program (2) include a transfer instruction from the memory 200 to the HIPPI 400, an address of transfer source data on the memory 200, and a transfer data length. The transfer data (1) and the transfer data (2) are transfer data to the HIPPI 400 on the memory 200.
[0053]
In the data transfer control method between the memory 200 and the HIPPI 400 in the source channel 310, first, the execution instruction (111) of the channel program (1) is issued from the OS 100 to the logical channel (1).
[0054]
In the input / output device 300 that has received the instruction to execute the channel program (1), the FW 301 is controlled by the FW 301. The FW 301 reads (391), decodes (392) the channel program (1), and executes the decoding of the decoded channel program (1). The operation content is instructed to the transfer control HW 302 (393).
[0055]
Upon receiving the operation content instruction (393), the transfer control HW 302 takes in the transfer data (1) into the transfer buffer 303 from the specified address on the memory 200 by the specified data length (394), and performs channel transfer. The data is transferred to the buffer 312 (395). The data sent to the channel transfer buffer 312 is transferred to the HIPPI 400 (396).
[0056]
When the execution of the channel program (2) is instructed to the logical channel (2) of the source channel under execution of the channel program (1) (112), the FW 301 reads (381) and decodes (382) the channel program (2). . When all the transfer data by the channel program (1) is transmitted from the transfer buffer 303 to the channel transfer buffer 312, the transfer control HW 302 issues an operation instruction request to the FW 301 by the next channel program (371).
[0057]
Upon receiving the operation instruction request, the FW 301 instructs the operation contents of the channel program (2) to the transfer control HW 302 (384). Upon receiving the operation content instruction (384), the transfer control HW 302 fetches the transfer data (2) of the specified data length from the specified address on the memory 200 into the transfer buffer 303 (385). ). The transfer of the channel program (2) is performed.
[0058]
When the transfer data (1) is sent from the channel transfer buffer 312 to the HIPPI 400, a transfer completion report of the channel program (1) is made (397). Upon receiving the report (311), the FW 301 reports the execution end of the channel program (1) to the OS 100 (113).
[0059]
When all the transfer data by the channel program (2) is sent from the transfer buffer 303 to the channel transfer buffer 312, an operation instruction request is made to the FW 301 by the next channel program (372).
[0060]
After completion of the transfer of the data (2), when a completion report is made to the FW 301 (386), the FW 301 reports an execution completion of the channel program (2) to the OS 100 (114).
[0061]
As is apparent from the above operation, in the HIPPI input / output device according to the configuration of the present embodiment, in the transfer to the memory-HIPPI by executing the channel program, the transfer control HW 302 fetches the data length instructed from the FW 301 from the memory 200. When it is sent to the channel transfer buffer 312, the FW 301 is notified of the operation instruction request of the next channel program waiting to be executed. Upon receiving the operation request instruction, the FW 301 executes the waiting channel program, sends an operation instruction to the transfer control HW 302, and the transfer control HW 302 transfers the transfer data from the memory 200 according to the operation content to the transfer buffer of the input / output device 300. Capture to 303.
[0062]
As a result, the next channel program can be executed without waiting for the transfer completion report of the currently executed channel program from the channel control HW 311. Therefore, the transfer efficiency can be improved as compared with the conventional device.
[0063]
【The invention's effect】
As described above, according to the present invention, even when an instruction to start a multi-channel program is issued to the source channel, the channel program can be continuously executed without waiting for the execution of the channel program, and the transfer efficiency can be improved. Can be provided.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a HIPPI input / output device according to an embodiment of the present invention.
FIG. 2 is a diagram showing a processing flow for explaining the operation of the embodiment.
FIG. 3 is a block diagram showing a configuration of a conventional HIPPI input / output device.
FIG. 4 is a diagram showing a processing flow for explaining the operation of the conventional device.
[Explanation of symbols]
100 OS
200 Memory 201 Channel program storage unit 202 Transfer data storage unit 300 HIPPI input / output device 301 Firmware 302 Transfer control hardware 303, 304 Transfer buffer 310 Source channel 311 Channel transfer control hardware 312 Channel transfer buffer 320 Destination channel 321 Channel transfer buffer 322 channel control hardware 400 HIPPI

Claims (2)

オペレーティングシステムからの指示によって制御され、チャネルプログラム実行によりメモリからHIPPIへデータを転送するHIPPI入出力装置において、
前記メモリからの転送データを取り込む第1の転送バッファと、
この第1の転送バッファに取り込まれた転送データをチャネル毎に取り込んで前記HIPPIへ転送するソースチャネル及び前記HIPPIからの転送データをチャンネル毎に取り込むディスティネーションチャネルを備える物理チャネルと、
前記ディスティネーションチャネルに取り込まれた転送データを前記メモリに転送する第2の転送バッファと、
前記オペレーティングシステムからの指示に従って前記第1及び第2の転送バッファの転送を制御する転送制御ハードウェアと、
前記オペレーティングシステムからの指示に従って前記転送制御ハードウェア及び物理チャネルを制御するファームウェアとを具備し、
前記転送制御ハードウェアは、前記ファームウェアより指示のあったデータ長を前記メモリから前記第1の転送バッファへ取り込んで前記ソースチャネルへ送出させた後、前記ファームウェアへ実行待ちになっている次チャネルプログラムの動作指示要求を通知し、
前記ファームウェアは、前記転送制御ハードウェアからの動作要求指示を受けて実行待ちされているチャネルプログラムの実行を行い、動作指示を前記転送制御ハードウェアに送り、
前記転送制御ハードウェアは、前記ファームウェアからの動作指示に従って前記メモリから転送データを前記第1の転送バッファへ取り込むことを特徴とするHIPPI入出力装置。
In a HIPPI input / output device controlled by an instruction from an operating system and transferring data from a memory to a HIPPI by executing a channel program,
A first transfer buffer for receiving transfer data from the memory;
A physical channel having a source channel for taking in the transfer data taken into the first transfer buffer for each channel and transferring the data to the HIPPI, and a destination channel for taking in the transfer data from the HIPPI for each channel;
A second transfer buffer for transferring the transfer data captured by the destination channel to the memory;
Transfer control hardware for controlling transfer of the first and second transfer buffers according to an instruction from the operating system;
Comprising a firmware that controls the transfer control hardware and a physical channel according to an instruction from the operating system,
The transfer control hardware reads the data length instructed by the firmware from the memory into the first transfer buffer , sends the data to the source channel , and then executes the next channel program waiting for execution by the firmware. Notify the operation instruction request of
The firmware executes the channel program waiting to be executed in response to the operation request instruction from the transfer control hardware, sends an operation instruction to the transfer control hardware,
It said transfer control hardware, HIPPI output apparatus characterized by incorporating the transfer data from the memory according to the operation instruction from the firmware to the first transfer buffer.
前記転送制御ハードウェアは、オペレーティングシステムからの論理チャネル単位のチャネルプログラム起動を受けて前記ファームウェアへ報告する手段、前記ファームウェアからの指示により前記メモリ上のチャネルプログラムを読み出す手段、前記ファームウェアからの指示により前記メモリからの転送データを前記第1の転送バッファに取り込む手段、前記ファームウェアからの指示により前記第2の転送バッファから前記メモリへデータを転送させる手段、前記ディスティネーションチャネルから前記第2の転送バッファへデータを転送させる手段に加え、さらに転送データを前記第1の転送バッファから前記ソースチャネルへ全て送出させた時点で前記ファームウェアへ次の動作指示要求を行う手段を備え、
前記ファームウェアは、前記チャネルプログラムの実行指示を受けて、そのチャネルプログラムの内容を解読し、その実行内容を前記転送制御ハードウェアに指示する手段、前記転送制御ハードウェアからの次の動作指示要求を受けて、次のチャネルプログラムの内容を解読し、その実行内容を前記転送制御ハードウェアに指示する手段を備えることを特徴とする請求項1記載のHIPPI入出力装置。
The transfer control hardware is a means for receiving a channel program activation in units of logical channels from the operating system and reporting to the firmware, a means for reading a channel program on the memory according to an instruction from the firmware, and an instruction from the firmware. Means for taking in transfer data from the memory into the first transfer buffer, means for transferring data from the second transfer buffer to the memory in accordance with instructions from the firmware, and means for transferring the data from the destination channel to the second transfer buffer Means for transmitting a next operation instruction request to the firmware at a point in time when all of the transfer data has been transmitted from the first transfer buffer to the source channel,
The firmware receives the instruction to execute the channel program, decodes the content of the channel program, and instructs the transfer control hardware to execute the content, and issues a next operation instruction request from the transfer control hardware. 2. The HIPPI input / output device according to claim 1, further comprising means for decoding the contents of the next channel program upon receipt, and instructing the transfer control hardware of the contents of execution.
JP10125797A 1997-04-18 1997-04-18 HIPPI input / output device Expired - Fee Related JP3541338B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10125797A JP3541338B2 (en) 1997-04-18 1997-04-18 HIPPI input / output device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10125797A JP3541338B2 (en) 1997-04-18 1997-04-18 HIPPI input / output device

Publications (2)

Publication Number Publication Date
JPH10293739A JPH10293739A (en) 1998-11-04
JP3541338B2 true JP3541338B2 (en) 2004-07-07

Family

ID=14295869

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10125797A Expired - Fee Related JP3541338B2 (en) 1997-04-18 1997-04-18 HIPPI input / output device

Country Status (1)

Country Link
JP (1) JP3541338B2 (en)

Also Published As

Publication number Publication date
JPH10293739A (en) 1998-11-04

Similar Documents

Publication Publication Date Title
US5548788A (en) Disk controller having host processor controls the time for transferring data to disk drive by modifying contents of the memory to indicate data is stored in the memory
JP4563829B2 (en) Direct memory access control method, direct memory access control device, information processing system, program
US7818479B2 (en) Interface apparatus and packet transfer method
JPH05502314A (en) Data transfer method
KR20100088523A (en) Descriptor transfer apparatus, i/o controller, and descriptor transfer method
JP2003288317A (en) System and method for detecting and compensating for runt block data transfer
JP3541338B2 (en) HIPPI input / output device
JPS5832417B2 (en) Data transfer control method
KR100638378B1 (en) Systems and Methods for a Disk Controller Memory Architecture
JPH10334037A (en) Communication dma device
KR920007949B1 (en) Peripheral controller
JP2636206B2 (en) Information processing system
JP2848099B2 (en) Multiple drive control method
JP2004139482A (en) Method for monitoring and setting command processing time of magnetic disk control device
KR100276379B1 (en) Apparatus and method for transfering message between digital signal processor and control software
JPS5939766B2 (en) multiplexer channel equipment
JPH04170752A (en) Magnetic disk device
JPH11327798A (en) Data transfer controller
JPH0425581B2 (en)
JPH05189357A (en) Method and device for data chaining control
JPH01302456A (en) Data transfer control system using channel control block
JPH0261741A (en) Integrated circuit device
JPH0421126A (en) Data processor
JPS63311840A (en) Communication controller
JPS5880757A (en) Data transfer controlling method

Legal Events

Date Code Title Description
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: 20040217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040318

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees