JP2006085400A - データ処理システム - Google Patents

データ処理システム Download PDF

Info

Publication number
JP2006085400A
JP2006085400A JP2004269111A JP2004269111A JP2006085400A JP 2006085400 A JP2006085400 A JP 2006085400A JP 2004269111 A JP2004269111 A JP 2004269111A JP 2004269111 A JP2004269111 A JP 2004269111A JP 2006085400 A JP2006085400 A JP 2006085400A
Authority
JP
Japan
Prior art keywords
data
input
address
channel
output processing
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
Application number
JP2004269111A
Other languages
English (en)
Other versions
JP4788124B2 (ja
Inventor
Yoshihiro Toyohara
吉宏 豊原
Tetsuhiro Goto
哲弘 後藤
Shoji Kume
正二 久米
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 JP2004269111A priority Critical patent/JP4788124B2/ja
Priority to US11/224,965 priority patent/US7680965B2/en
Priority to CNB200510103403XA priority patent/CN100405303C/zh
Priority to CN2008100925384A priority patent/CN101308466B/zh
Publication of JP2006085400A publication Critical patent/JP2006085400A/ja
Priority to US12/721,964 priority patent/US7877526B2/en
Priority to US13/008,195 priority patent/US8312182B2/en
Application granted granted Critical
Publication of JP4788124B2 publication Critical patent/JP4788124B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/109Address translation for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]

Abstract

【課題】
複数のOSが稼動するデータ処理システムにおいて、入出力処理を行うための制御データを変更することなく、アドレス変換テーブルを作成するのみで複数のOSから共用できるチャネルアダプタを提供する。
【解決手段】
1個のチャネルアダプタに対して複数のOSがそれぞれ識別子の異なる入出力処理制御データを使用し、異なるOS間において前記チャネルアダプタに対する入出力処理制御データを共用することなく入出力処理を行う。また、データ処理システムが、各OSが作成した複数のアドレス変換テーブルを一つの仮想アドレス変換テーブルに作成し直し、チャネルアダプタが、該仮想アドレス変換テーブルを使用して複数のOS上の入出力処理制御データを処理する。
【選択図】図1

Description

本発明は、データ転送を行うデータ処理システムに関するものであり、特に、一つのシステム上にて複数のOSが稼動し、一つのチャネルアダプタにて複数のOSに対する処理を同時に行うコンピュータ装置に関するものである。
これまで、メインフレームでは、一つのシステム上において制御プログラムの下で複数のOSを動作させるLPAR(Logical Partition)機能をサポートしてきたが、今般、該LPAR機能をメインフレームだけではなく、オープン系サーバもサポートし始めている。オープン系サーバにて該LPAR機能をサポートするにあたり、入出力処理を行うチャネルアダプタをサーバのスロットに挿入し、ホスト・プロセッサと接続する業界標準規格の手段として、PCI−SIGにて策定されたPCI(Peripheral Component Interchange)バスを用いる構成が広く用いられている。PCIバスの場合、チャネルアダプタのようなデバイス一つに対して、標準的に所持しているPCIコンフィギュレーションレジスタを含み、該デバイスを制御するための制御レジスタを一つしか保持しておらず、該理由からも複数のOSによって共用することは困難であった。
上記のような、LPAR機能をサポートしたシステムの例として特開2002−41306がある。一つのシステム上において複数のOSが動作可能であるが、PCIバスをインタフェースにもつPCI I/Oアダプタに対しては複数OSによる共用は実現されておらず、各PCI I/Oアダプタに対してそれぞれ一つのOSを割り当てるものである。
その他の例としてメインフレーム等でLPAR機能を実現している特開2002−99437がある。概要を図10に示す。メインフレームにおいて、PCI I/OデバイスのようなLANアダプタ1003を制御するため、該LANアダプタを搭載するLANパッケージ1000内にハードウェアコントローラ1001と、ローカルメモリ1002を設けることによって複数OSによる共用を実現している。コントローラ1001内において該LANアダプタ用ドライバ1005が動作する。コントローラ1001はPCIバス又はシステム固有仕様バス1007に接続され、LANアダプタ1003とPCIバス1004で接続されている。
図11に実装について詳細に述べる。該コントローラ1001がOS1からの入出力起動を受け付けると、システムメモリ上の転送用データ1105をLANパッケージ内のローカルメモリ1002に該OS1に対する転送データ1105をバッファリングし、また、該OS1の入出力処理制御データ1103に対して、LANアダプタ用の入出力処理制御データを該ローカルメモリ1002に作成する。同様にOS2から起動された入出力処理に対する制御データと転送データをローカルメモリ1002に作成する。該LANアダプタ1003はシステムメモリではなく、該ローカルメモリをアクセスすることによってデータ転送を行っている。LANパッケージ上のローカルメモリに制御データを作成し直し、転送データのバッファリングしているため、性能に影響を及ぼし、また開発コストも掛かる。
オープン系サーバにおいてLPAR機能がサポートされ始めているが、搭載できるスロット数に制限があるため、一つのチャネルアダプタを複数のOSから共用することが求められている。
また、コストを低く抑えるためにもハードウェアから成るコントローラ、ローカルメモリを使用しないでチャネルアダプタの共用を実現することが期待されている。
特開2002−41306 特開2002−99437
上記従来技術の場合、オープン系サーバにてサポートされているPCIバスインタフェースを持つPCI I/Oデバイスに対する複数OSによる共用は実現されていない。また、メインフレームにおいてPCI I/Oデバイスに対する複数OSによる共用は実現されているが、パッケージ上にデータバッファと入出力処理制御データ用にローカルメモリ、及び該データバッファと入出力処理制御データのコントローラを設けている。コントローラ、ローカルメモリを使用することにより、性能悪化、及びコストの増大を招いている。
(課題1)
PCIのような標準仕様のバスに対応し、複数のOSにて一つのチャネルアダプタを共用できるようにする。
(課題2)
PCIバスインタフェースを持つデバイスに対して、ハードウェアから成るコントローラ、ローカルメモリを設けることなく複数のOSにて一つのチャネルアダプタを共用できるようにする。
各OSとチャネルアダプタとの間でそれぞれに識別子を持った入出力処理制御データを用いて入出力処理を行うデータ処理システムにおいて、チャネルアダプタとOSのインタフェースである前記入出力処理制御データを制御するチャネルドライバが、該チャネルドライバが動作するOSのシステム上識別子を示す仮想計算機番号を制御プログラムから取得し、該チャネルドライバは、該仮想計算機番号と、システム構成情報において該仮想計算機番号に対して使用可能と決めた識別子を持つ入出力処理制御データを使用することにより、1個のチャネルアダプタにて複数のOSがそれぞれ識別子の異なる入出力処理制御データを使用し、異なるOS間において前記チャネルアダプタに対する入出力処理制御データを共用することなく入出力処理を行う。
また、チャネルドライバと前記チャネルアダプタ間インターフェースにおいて、入出力処理制御データを指し示すアドレスが仮想アドレスであり、該仮想アドレスを物理アドレスに変換するためにアドレス変換テーブルを使用するデータ処理システムにおいて、チャネルドライバが前記制御プログラムから得た仮想計算機番号と構成情報から得た使用可能な入出力処理制御データの識別子により、該使用可能な入出力処理制御データに対するアドレス変換テーブルを作成し、該データ処理システムが、各OSが作成した複数の該アドレス変換テーブルを一つの仮想アドレス変換テーブルに作成し直す手段を備え、チャネルアダプタが、該仮想アドレス変換テーブルを使用することにより、複数のOS上の入出力処理制御データを処理することにより、各OS上に作成された入出力処理制御データの変更を行わないで前記チャネルアダプタが、複数のOSに対する入出力処理を行うことを特徴としたデータ処理システム。
本発明によれば、複数のOSからの入出力(I/O)処理を同時に実行できるチャネルアダプタを提供できる。
複数OSによるPCI I/Oデバイスの共用を、PCI I/Oデバイスを制御するためのコントローラとローカルメモリを必要とせず、ソフトウェアによって実現した。
オープン系サーバがサポートしている業界標準規格のチャネルアダプタとして、ANSI(American National Standards Institute)によって規格が作成されているファイバチャネル、さらにはIBTA(InfiniBand Trade Association)によって規格が作成されているInfiniBand等がある。
ここでは、入出力処理を行うための入出力処理制御データとしてInfiniBand等にて使用しているSend QueueとReceive Queueから成るQueue Pair、Completion Queueを使用し、そして、仮想アドレスと、該仮想アドレスを物理アドレスに変換するアドレス変換テーブル(TPT)を用いるチャネルアダプタを仮定する。
まず、入出力処理の概要について説明する。
図2はデータ処理システムの構成例を示す。メモリアクセス制御チップ203はプロセッサ204、205、あるいはチャネルアダプタ206からの主記憶(MS)200に対するメモリアクセスを主に制御し、メモリアクセス制御チップ203とチャネルアダプタ206はPCIバスにて接続し、メモリアクセス制御チップ203とプロセッサ204、205はシステム固有仕様のホストバスにて接続している。チャネルアダプタ206はポートを1つ持ち、スイッチ207を介して、I/Oデバイス208と接続する。LPAR機能をサポートしている該データ処理システムは、1つのMS200を、例えば各LPARに2MBずつメモリを割り当て、各LPAR上のOSは該割り当てられた2MBのメモリを使用してオペレーションを行う。
該チャネルアダプタ206は、該データ処理システムに対して、PCIバスにて接続され、PCIバス接続するデバイスとして標準的に所有しているPCIコンフィギュレーションレジスタを含み、該チャネルアダプタを制御するための制御レジスタとしてチャネル制御レジスタを持っている。図3にチャネル制御レジスタの内容を示すが詳細については後述する。
続いて、入出力処理(I/O処理)を行うためのソフトウェアとハードウェアのインタフェースについて述べる。
各OSはSend QueueとReceive Queueから成るQueue Pair(QP)、及び処理を終了したQP識別子をキューイングするCompletion Queue(CQ)を用いてデータ転送を行い、該QPの作成、CQの制御、チャネルアダプタに対するデータ転送処理の起動等の処理はOS内のチャネルドライバが行う。図4にQPとCQの概要を示す。Send Queue、及びReceive Queueはそれぞれデータバッファを指すアドレスを含むDescriptorとデータバッファから成る。データを送信する場合、Send QueueのDescriptor401に送信するデータバッファ403の物理アドレスをセットする。データ受信の場合、Receive QueueのDescriptor404に受信データをストアするデータバッファ405の物理アドレスをセットする。各Queue Pairは識別子を持ち、図4の例では#100(QP100)の識別子を持っているものであり、チャネルアダプタは同時に複数のQPに対する処理が可能である。
また、各Descriptorを指す物理アドレスはアドレス変換テーブル(TPT)406に保持する。TPTは一つの物理的に連続した領域であり、該チャネルアダプタが使用する全QPのSend Queue用Descriptorアドレス、及びReceive Queue用Descriptorアドレスを保持する。ここで、TPT内の各Send Queue用、Receive Queue用Descriptorアドレスレジスタは16バイトからなり、最上位ビットの値が‘1’のとき、当該Descriptorアドレスが有効であることを示し、下位8バイトが当該Descriptorの物理アドレスを示す。
CQもそれぞれ識別子を持ち、チャネルアダプタが処理を終えたQPの識別子と、Send Queue、あるいはReceive Queueのどちらに対して処理を終えたかの情報を含む。ここではCQの各エントリーは16バイトから成り、上位8バイトの最上位ビットが‘1’のとき該エントリーが有効であることを示し、下位8バイト中の上位4バイトが処理を終えたQP識別子を示し、該下位8バイト中の下位4バイトが‘1’のときは、Send Queue、‘0’のときはReceive Queueに対する処理を終えたことを示すものとする。
図3のチャネル制御レジスタ300内に定義したTPTベースアドレスレジスタ303の値は、アドレス変換テーブル(TPT)406の先頭アドレス(物理アドレス)を指すものであり、チャネルドライバがセットする。チャネルアダプタはTPTベースアドレスレジスタ303の値を使用してアドレス変換テーブル(TPT)406へのアクセスを行う。
図5にSend Queueの詳細データ構造を示す。図5において、DB_AD501はデータバッファアドレス領域の先頭アドレス(物理アドレス)を示す8バイトの領域から成り、FLAG503は、I/O処理が正常終了したかあるいはエラーにて終了したかを示す情報、エラー発生時のエラーの種類示すエラー情報、及び、次に処理すべき別のDescriptorが存在するかどうかを示す情報(Next Descriptor有無)、更に、データ転送を行う相手先のQP番号、関連するCQ識別子(CQ#)と該CQを指す物理アドレスを含む。次に処理すべきDescriptorが存在する場合、8バイト長から成るNext Descriptor502に次のDescriptorの先頭アドレス(物理アドレス)がセットされる。なお、本実施例においては、最初のDescriptorのDB_ADはコマンド領域を示し、2番目以降のDescriptorのDB_ADがデータバッファを示すものとする。図5はSend Queueの例を示すが、Receive Queueのフォーマットも同じであり、DB_ADが指すところに受信データをストアする。
I/O処理における起動方法として、ここではチャネルドライバが、前記チャネル制御レジスタ300内に定義されたQP#レジスタ302に処理を行うQP識別子(QP#)を、Send/Receiveレジスタ306にSend Queue、あるいはReceive Queueのどちらであるかを示す情報をセットする。また、TPTオフセットアドレスレジスタ304に仮想アドレスとして、当該QPのDescriptorアドレスを保持している領域を示す、TPTベースアドレスからのオフセットアドレスをセットし、I/O処理イネーブルレジスタ305に‘1’をwriteすることにより該チャネルアダプタにI/O起動を指示するものとする。
I/O処理を行うとき、チャネルドライバはDB_AD501に物理アドレスをセットし、DB_ADの指しているところにコマンド(256バイト)領域504をセットする。該コマンド領域は、コマンドの他に、I/O処理を行う相手先ポートを示すターゲットID、及び該ポート配下に存在するデバイスを示すLUN等の情報も含む。なお、コマンド領域の256バイトに引き続く256バイトの領域を該コマンドに対する応答フレームをストアするコマンド応答情報領域505とする。
続いて、FLAG503の情報をセットする。相手先のQP#、及び該Descriptorに関連するCQ#としてCQ1をセットし、該CQ1の先頭アドレス(物理アドレス)をセットする。
また、別のDescriptor510を定義し、該Descriptor510の先頭アドレスをNext Descriptor502にセットし、該Descriptor510のDB_AD507のアドレスが示すところに送信用のデータバッファ506が存在する。データバッファを可変長にする場合は、セグメントFLAG509内にデータ長を示す情報を含めれば良いが、本実施例では説明簡略化のためデータバッファのサイズを4Kバイト固定長とし、データ長をセットしない。チャネルドライバは上記のようにSend Queueを作成し、I/O処理を起動する。なお、各Descriptor内にFLAGが定義されるが、相手先のQP番号、関連するCQ#、及び該CQ#の物理アドレスは先頭Descriptor内のFLAGの値が有効であるものとする。
チャネルアダプタはチャネルドライバからのI/O処理起動を認識すると、上記チャネル制御レジスタ内のTPTオフセットアドレスレジスタ304にセットされたオフセット(仮想アドレス)とアドレス変換テーブル(TPT)406から該当するDescriptorの先頭アドレス(物理アドレス)を得る。該物理アドレスを使用することによって、該当Descriptorのフェッチ処理を行い、フェッチしたDescriptor情報からコマンド504、及び、送信用データバッファ506のフェッチを行う。そして、コマンド領域504内に指定されているターゲットID、及びFLAG503内に指定された相手先のQP#に向けてデータ転送を行う。プロトコルに基づきデータ転送を行い、相手先から処理終了を示す応答フレームを受信したとき、前記コマンド応答情報領域505に該応答フレームをストアする。該応答フレームのストアを完了した後、FLAG503内の情報に基づき該当するCompletion Queue #1(CQ1)407に処理を終えたQP識別子、Send Queueを示す情報、当該エントリーの有効ビットをセットし、チャネル制御レジスタ内の完了CQレジスタ308にCQ#である‘1’をセットし、I/O処理終了を示すI/O割り込みをOSに対して上げる。なお、エラー発生時はFLAG503にエラー情報をセットする。該OS内のチャネルドライバは該I/O割り込みを認識することによって、完了CQレジスタ308をreadし、該当するCQ1の内容から該チャネルアダプタに対して起動したI/O処理の終了処理を行う。以上がI/O処理の動作概要である。
図6はソフトウェアとチャネルアダプタの関係を示し、QP000〜QP999(604)までの1000個のQP、CQ00〜CQ99(607)までの100個のCQを使用して入出力処理を行う例を示す。
続いて、本願の一実施例について説明する。
図1は本願の特徴を示した、一実施例である。なお、本実施例では、2つのOSが1つのチャネルアダプタを共用する場合について説明する。
図1のデータ処理システム上にて、LPAR制御プログラム101の制御の下でLPAR#1とLPAR#2の2つのLPARが立ち上がり、LPAR#1においてOS1(105)が稼動し、LPAR#2においてOS2(106)が稼動することを示す。
各チャネルドライバはLPAR制御プログラム101から、該チャネルドライバが動作するLPAR#を取得できる関数を備えているものとする。本実施例では、チャネルドライバ112はLPAR#1上において、チャネルドライバ113はLPAR#2上において動作するという情報を得る。仮想チャネルドライバ102はチャネルアダプタ100を実際に制御するドライバであり、チャネルドライバ112、及びチャネルドライバ113がチャネルアダプタ100のチャネル制御レジスタ114のアクセス等を行うときは、該アクセスのための関数をLPAR制御プログラム101がインタセプトし、仮想チャネルドライバ102が実際のチャネル制御レジスタ114のアクセスを行う。
本データ処理システムは図7に示すように各OS上において使用可能なQueue Pair(QP)とCompletion Queue(CQ)の識別子と個数を構成情報の一部として定義しておく。上記にて該チャネルアダプタは例として、QP000〜QP9999までのQP1000個を処理可能であり、CQ00〜CQ99までのCQ100個を処理可能と述べたが、これらの資源を各OSに分配し、異なるOS間において同じ識別子をもつQP、あるいはCQが共用されないように構成情報に定義する。図7の例ではLPAR#1では、QP100から100個、つまりQP100〜199まで使用可能、またCQはCQ1の1個のみ使用可能であることを示す。同様にLPAR#2では、QP200から100個、つまりQP200〜299まで使用可能であり、またCQはCQ2の1個のみ使用可能であることを示す。
チャネルドライバは該チャネルドライバが動作するLPAR#から上記使用可能QP#、及びCQ#の情報を前記構成情報からカーネル関数等を使用して得る。同様にLPAR制御プログラムもLPAR#と各LPARにおいて使用されるQP#、及びCQ#の情報を前記構成情報からカーネル関数等を使用して得る。
チャネルドライバ112はQP100〜QP199までを制御し、TPT110に対して、QP100〜QP199のSend Queue、及びReceive QueueのDescriptorアドレスのみをセットし、最上位ビットのアドレス有効ビットを‘1’にセットする。チャネルドライバ112はTPT110に各Descriptorのアドレスをセットし終わると、チャネル制御レジスタ114内のTPTベースアドレスレジスタ303にTPTの先頭アドレスを書き込み、更にTPTが有効になったことを知らせるため、TPT有効レジスタ307に‘1’を書き込むよう処理を行う。
ここで、LPAR制御プログラム101はチャネルドライバ112がTPTベースアドレスレジスタ303に値を書き込む関数をインタセプトし、仮想チャネルドライバ102がTPT110とは異なる仮想アドレス変換テーブル(VTPT)103の先頭アドレスを該チャネル制御レジスタ114のTPTベースアドレスレジスタ303に書き込む。また、LPAR制御プログラムはチャネルドライバ112がTPT有効レジスタ307に値を書き込む関数をインターセプトし、仮想チャネルドライバ102がTPT110のアドレス有効ビットが‘1’であることころの該当アドレスをVTPT103にコピーし、LPAR制御プログラム101がTPT有効レジスタ307に‘1’を書き込む。
同様に、チャネルドライバ113はQP200〜QP299までを制御し、TPT111に対して、QP200〜QP299のSend Queue、及びReceive QueueのDescriptorアドレスのみをセットし、最上位ビットのアドレス有効ビットを‘1’にセットする。チャネルドライバ113はTPT111に各Descriptorのアドレスをセットし終わると、チャネル制御レジスタ114内のTPTベースアドレスレジスタ303にTPTの先頭アドレスを書き込み、更にTPT有効レジスタにTPTが有効になったことを知らせるため、該TPT有効レジスタ307に‘1’を書き込むよう処理を行う。ここで上記と同様に、LPAR制御プログラム101は、チャネルドライバ113がTPTベースアドレスレジスタ303に値を書き込む関数をインタセプトし、仮想チャネルドライバ102がVTPT103の先頭アドレスを該チャネル制御レジスタ114のTPTベースアドレスレジスタに書き込む。(既に値がセットされている場合、同じ値が上書きされる。)また、LPAR制御プログラム101はチャネルドライバ113がTPT有効レジスタ307に値を書き込む前記関数をインターセプトし、仮想チャネルドライバ102がTPT111のアドレス有効ビットが‘1’であることころの該当アドレスをVTPT103にコピーし、LPAR制御プログラム101がTPT有効レジスタに‘1’を書き込む。
図8に示すように、チャネルドライバ112はTPT110においてQP100〜QP199のDescriptorに対してのみ値をセットし、またチャネルドライバ113はTPT111においてQP200〜QP299のDescriptorに対してのみ値をセットするため、各OSが異なるDescriptorを使用することによって共用されることもなく、各TPT先頭からのオフセットがずれている。よって、仮想チャネルドライバ102がVTPT103を作成するとき、TPT110、111の値をTPTベースアドレスからのオフセットを変更することなく容易にコピーでき、該VTPT103を作成し直すのみで、転送用データのコピー、及び、Descriptor等の他の入出力制御データの変更を伴わない。
なお、本実施例では、仮想チャネルドライバ102がLPAR制御プログラム101内に存在する方式を述べているが、別の方式として、図9に示すようにLPAR#3にOS3(901)を立ち上げ、OS3(901)内にて仮想チャネルドライバ102を動作させ、VTPT103をOS3制御メモリ内に作成することも可能である。
チャネルアダプタ100はTPT有効レジスタが‘1’にセットされたとき、VTPTをフェッチし、チャネルアダプタ内に保持して、最新のVTPTを使用する。チャネル制御レジスタ114内のTPTベースアドレスレジスタ303の値はVTPT103の先頭アドレスがセットされているため、チャネルアダプタ100はVTPT103を使用することになる。
次に、OS1(105)のチャネルドライバ112が図4、及び図5に示すQP100、及びCQ1を使用してデータ送信処理を行う場合について述べる。該チャネルドライバ112はQP100のSend Queueにおいて、DB_AD501に物理アドレスをセットし、DB_AD501の指しているところにコマンド(256バイト)領域504をセットする。また、別のDescriptor510を定義し、該Descriptor510の先頭アドレスをNext Descriptor502にセットし、該Descriptor510のDB_AD507のアドレスが示すところに送信用のデータバッファ506が存在する。チャネルドライバ112はFLAG509内に関連するCQ#として#1、及び該CQ1の先頭アドレスをセットし、I/O処理起動のためチャネル制御レジスタ114内のTPTオフセットアドレスレジスタ304にカーネル関数を使用して値を書き込む。このとき、LPAR制御プログラム101は該関数をインタセプトし、仮想チャネルドライバ102がTPTオフセットアドレスレジスタ304に値を書き込む。続いて、チャネルドライバ112はカーネル関数を使用してチャネル制御レジスタ114内のQP#レジスタ302にQP#を、I/O処理イネーブルレジスタ305に‘1’をセットしようとする。このときLPAR制御プログラム101は該関数をインタセプトし、仮想チャネルドライバ102がQP#レジスタ302にQP#を、I/O処理イネーブルレジスタ305に‘1’を書き込む。
チャネルアダプタ100は仮想チャネルドライバ102からのI/O処理起動を認識すると、上記チャネル制御レジスタ114内のTPTオフセットアドレスレジスタ304にセットされたオフセットとVTPT103から該当するDescriptorの先頭アドレスを得る。該先頭アドレスを使用することによって、該当Descriptorのフェッチ処理を行い、フェッチしたDescriptor情報からコマンド504、及び、送信用データバッファ506のフェッチを行い、コマンド領域504内に指定されているターゲットID、及びFLAG503内に指定された相手先のQP#に向けてデータ転送を行う。プロトコルに基づきデータ転送を行い、相手先からの応答フレームを受信したとき、前記コマンド応答情報領域505に該応答フレームをストアする。該応答フレームのストアを完了した後、CQ1にQP100とSend Queueを示す情報をセットし、チャネル制御レジスタ114内の完了CQレジスタ308にCP#である‘1’をセットした後、I/O処理終了を示すI/O割り込みをOSに対して上げる。
LPAR制御プログラム101は該I/O割り込みをインタセプトし、仮想チャネルドライバ102がチャネル制御レジスタ内の完了CQレジスタ308の値をreadし、CQ1に対する処理が終わったことを認識し、該処理がLPAR#1に対するものであることがわかるので、インタセプトしたI/O割り込みをOS1に対して上げる。OS1のチャネルドライバ112は該I/O割り込みを認識することによって、CQ1の内容をreadし、該I/O処理の終了処理を行う。
OS2(106)のチャネルドライバ113はQP200〜QP299、及びCQ2を使用してI/O処理を行う。その他のI/O処理の概要はOS1(105)が行うものと同様である。
上記実施例では、データを送信する場合を述べているが、データを受信した場合、受信したフレームに指定されたQP#が入っているため、該指定されたQPのReceive Queueを使用してI/O処理を行うことによりデータの受信も可能である。
以上、本発明にかかわる実施例を説明してきたが、PCIバスインタフェースを持つデバイスに対して、ハードウェアから成るコントローラ、ローカルメモリを設けることなく、チャネルドライバが動作する仮想計算機番号を制御プログラムから取得し、仮想アドレスを物理アドレスに変換するテーブルのみを作成しなおすことによって、転送用データのコピーを行うことも無く、入出力制御データを変更しないで、複数のOSから共用できるチャネル装置を提供できる。
本発明の一実施例を適用したデータ処理システムの構成図である。 データ処理システムの構成例を示す図である。 チャネル装置内のチャネル制御レジスタの内容を示す図である。 入出力処理制御データであるQueue Pair、Completion Queue,アドレス変換テーブルを示す図である。 本発明の一実施例で用いたI/O処理のためのデータ情報であるSend Queueを示す図である。 データ処理システムの構成図である。 LPAR番号と使用可能なQP、CQの対応を示すテーブルである。 各OSが作成するTPTと複数のTPTを一つにまとめた例を示す図である。 本発明の一実施例を適用したデータ処理システムの構成図である。 従来手法の一例の概要を示す図である。 従来手法の一例の詳細を示す図である。
符号の説明
100 チャネルアダプタ
101 LPAR制御プログラム
102 仮想チャネルドライバ
103 仮想アドレス変換テーブル
105、106 オペレーティングシステム
107 フレームの送受信を行うリンク
108、109 入出力処理制御データのQueue Pair
110、111 各OS上に作成されるアドレス変換テーブル
112、113 各OS上にて動作するチャネルドライバ
114 チャネルアダプタ内のチャネル制御レジスタ
115、116 入出力処理制御データのCompletion Queue
200 主記憶(MS)
201 チャネルアダプタのポート
202 ケーブル
203 メモリアクセス制御チップ
204、205 プロセッサ
206 チャネルアダプタ
207 スイッチ(Switch)
208 I/Oデバイス
300 チャネル制御レジスタ
301 PCIコンフィギュレーションレジスタ
302 QP#レジスタ
303 TPTベースアドレスレジスタ
304 TPTオフセットアドレスレジスタ
305 I/O処理イネーブルレジスタ
306 Send/Receiveレジスタ
307 TPT有効レジスタ
308 処理を終えたCQ#を示す完了CQレジスタ
400 入出力処理を制御するQueue Pair
401 Send Queue内のDescriptor
403 Send Queue内のDescriptorが指すデータバッファ
404 Receive Queue内のDescriptor
405 Receive Queue内のDescriptorが指すデータバッファ
406 アドレス変換テーブルの内容
407 Completion Queueの内容
500、510 Send QueueのDescriptor
501 コマンド領域を示すアドレスを含むDA_AD
502、508 次に処理すべきDescriptorを指すアドレス領域
503、509 当該Descriptorに関係した情報を含むFLAG領域
504 コマンド領域
505 コマンドに対する応答フレームをストアする領域
506 データバッファ領域
507 データ領域を示すアドレスを含むDA_AD
600 チャネルアダプタ
601 チャネル制御レジスタ
602 フレームの送受信を行うリンク
603 オペレーティングシステム
604 QP000〜QP999
605 QP000〜QP999に対するTPT
606 チャネルドライバ
607 CQ00〜CQ99
700 LPAR番号と各LPARに定義されたQP#とCQ#
1000 LANアダプタを搭載したLANパッケージ
1001 コントローラ
1002 ローカルメモリ
1003 LANアダプタ
1004 PCIバス
1005 LANアダプタ用ドライバ
1006 フレームの送受信を行うリンク
1007 LANパッケージのインタフェースであるPCIバスあるいはシステム固有仕様バス

Claims (8)

  1. 中央処理装置上で制御プログラムが動作し、該制御プログラムの制御下で複数のオペレーティングシステム(OS)の動作が可能であり、データを送受信するチャネルアダプタを具備したデータ処理システムにおいて、該データ処理システムは、前記各OSと前記チャネルアダプタとの間でそれぞれに識別子を持った入出力処理制御データを用いて入出力処理を行うデータ処理システムであり、前記各OS対応に各OSが使用可能な入出力処理制御データの識別子を排他的に定義した構成情報を備え、前記チャネルアダプタは複数の入出力処理制御データを処理可能であり、前記各OSは、前記構成情報に定義された使用可能な識別子に対応した入出力処理制御データを使用することにより、1個の前記チャネルアダプタにて複数のOSがそれぞれ識別子の異なる入出力処理制御データを制御し、異なるOS間において前記チャネルアダプタに対する入出力処理制御データを共用することなく入出力処理を行うことを特徴としたデータ処理システム。
  2. 前記各OS上において、前記チャネルアダプタとOSのインタフェースである前記入出力処理制御データを制御するチャネルドライバが動作し、該チャネルドライバは、該チャネルドライバが動作するOSのシステム上の識別子を示す仮想計算機番号を前記制御プログラムから得る手段を具備し、前記構成情報には前記仮想計算機番号と使用可能な入出力処理制御データの識別子との対応が定義され、前記各チャネルドライバが、前記構成情報に定義された使用可能な識別子に対応した入出力処理制御データを使用することを特徴とした請求項1記載のデータ処理システム。
  3. 前記チャネルドライバと前記チャネルアダプタ間インターフェースにおいて、前記入出力処理制御データを指し示すアドレスが仮想アドレスであり、該仮想アドレスを物理アドレスに変換するためにアドレス変換テーブルを使用することにより入出力処理を行うデータ処理システムであり、前記チャネルドライバが前記制御プログラムから得た仮想計算機番号と前記構成情報から得た使用可能な入出力処理制御データの識別子により、該使用可能な入出力処理制御データに対するアドレス変換テーブルを作成し、該データ処理システムは、各OSのチャネルドライバが作成した複数の該アドレス変換テーブルを一つの仮想アドレス変換テーブルに作成する手段を備え、前記チャネルアダプタが、前記仮想アドレス変換テーブルを使用して複数のOS上の入出力処理制御データを処理することにより、各OS上に作成された入出力処理制御データの変更を行わないで前記チャネルアダプタが、複数のOSに対する入出力処理を行うことを特徴とした請求項2記載のデータ処理システム。
  4. 前記入出力処理制御データは複数のキューから構成され、各キューはデータバッファと該データバッファを指すアドレスを含むディスクプリタから成ることを特徴とした請求項1記載のデータ処理システム。
  5. 前記キューはデータ送信用の送信キューとデータ受信用の受信キューから成ることを特徴とした請求項4記載のデータ処理システム。
  6. 前記各キューのディスクプリタを指すアドレスを格納するアドレス変換テーブルを備えることを特徴とした請求項4記載のデータ処理システム。
  7. 前記アドレス変換テーブルの先頭アドレスをセットするアドレスレジスタが前記チャネルアダプタに設けられていることを特徴とした請求項6記載のデータ処理システム。
  8. 前記各OSの各チャネルドライバは当該OS用の前記アドレス変換テーブルの先頭アドレスを前記チャネルアダプタの前記アドレスレジスタにセットした後に前記チャネルアダプタにI/O起動を指示することを特徴とした請求項7記載のデータ処理システム。
JP2004269111A 2004-09-16 2004-09-16 データ処理システム Expired - Fee Related JP4788124B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2004269111A JP4788124B2 (ja) 2004-09-16 2004-09-16 データ処理システム
US11/224,965 US7680965B2 (en) 2004-09-16 2005-09-14 Data processing system having a channel adapter shared by multiple operating systems
CNB200510103403XA CN100405303C (zh) 2004-09-16 2005-09-15 数据处理系统
CN2008100925384A CN101308466B (zh) 2004-09-16 2005-09-15 数据处理方法
US12/721,964 US7877526B2 (en) 2004-09-16 2010-03-11 Data processing system having a channel adapter shared by multiple operating systems
US13/008,195 US8312182B2 (en) 2004-09-16 2011-01-18 Data processing system having a channel adapter shared by multiple operating systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004269111A JP4788124B2 (ja) 2004-09-16 2004-09-16 データ処理システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011081387A Division JP4894963B2 (ja) 2011-04-01 2011-04-01 データ処理システム

Publications (2)

Publication Number Publication Date
JP2006085400A true JP2006085400A (ja) 2006-03-30
JP4788124B2 JP4788124B2 (ja) 2011-10-05

Family

ID=36035447

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004269111A Expired - Fee Related JP4788124B2 (ja) 2004-09-16 2004-09-16 データ処理システム

Country Status (3)

Country Link
US (3) US7680965B2 (ja)
JP (1) JP4788124B2 (ja)
CN (2) CN101308466B (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008102928A (ja) * 2006-10-17 2008-05-01 Internatl Business Mach Corp <Ibm> データ処理システム内でデバイス・ドライバと入出力装置との間で通信するためのアドレス変換を確立するための方法、コンピュータ・プログラム、および装置(キュー・データ構造および事前変換済みアドレスを使用して入出力装置と通信するための装置および方法)
JP2008102930A (ja) * 2006-10-17 2008-05-01 Internatl Business Mach Corp <Ibm> データ処理システム内でシステム・イメージとローカルに接続された外部記憶装置との間の動作を実行するための方法、コンピュータ・プログラム、および装置(キャッシュされたアドレス変換を使用して入出力アダプタと通信するための装置および方法)
JP2008102929A (ja) * 2006-10-17 2008-05-01 Internatl Business Mach Corp <Ibm> データ処理システム内でネットワーク入出力(i/o)アダプタと通信するためにネットワーク・デバイス・ドライバによって使用されるバッファ・データ構造にアクセスするためのアドレス変換を管理するための方法、コンピュータ・プログラム、および装置(キュー・データ構造およびキャッシュされたアドレス変換を使用してネットワーク・アダプタと通信するための装置および方法)
JP2009294758A (ja) * 2008-06-03 2009-12-17 Hitachi Ltd 仮想計算機システム及びホストバスアダプタ用ドライバプログラム
JP2013535061A (ja) * 2010-06-23 2013-09-09 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピューティング環境のアダプタを使用可能にするための方法、システム、およびコンピュータ・プログラム
US8683110B2 (en) 2007-08-23 2014-03-25 Nec Corporation I/O system and I/O control method
US9134911B2 (en) 2010-06-23 2015-09-15 International Business Machines Corporation Store peripheral component interconnect (PCI) function controls instruction
US9195623B2 (en) 2010-06-23 2015-11-24 International Business Machines Corporation Multiple address spaces per adapter with address translation
US9342352B2 (en) 2010-06-23 2016-05-17 International Business Machines Corporation Guest access to address spaces of adapter
US9626298B2 (en) 2010-06-23 2017-04-18 International Business Machines Corporation Translation of input/output addresses to memory addresses

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008158710A (ja) * 2006-12-22 2008-07-10 Hitachi Ltd 計算機システム
US7913077B2 (en) * 2007-02-13 2011-03-22 International Business Machines Corporation Preventing IP spoofing and facilitating parsing of private data areas in system area network connection requests
CN103064734B (zh) * 2011-10-24 2016-08-17 联想(北京)有限公司 终端设备以及多系统输入切换方法
US9122515B2 (en) * 2012-12-19 2015-09-01 Dell Products L.P. Completion notification for a storage device
US9323715B2 (en) * 2013-11-14 2016-04-26 Cavium, Inc. Method and apparatus to represent a processor context with fewer bits
FR3032537B1 (fr) * 2015-02-09 2018-03-16 Commissariat A L'energie Atomique Et Aux Energies Alternatives Procede d'execution d'une requete d'echange de donnees entre des premier et deuxieme espaces d'adressage physiques disjoints de circuits sur carte ou puce
US10853277B2 (en) 2015-06-24 2020-12-01 Intel Corporation Systems and methods for isolating input/output computing resources
WO2017049590A1 (en) 2015-09-25 2017-03-30 Intel Corporation Systems and methods for input/output computing resource control
WO2017209876A1 (en) 2016-05-31 2017-12-07 Brocade Communications Systems, Inc. Buffer manager
US20180088978A1 (en) * 2016-09-29 2018-03-29 Intel Corporation Techniques for Input/Output Access to Memory or Storage by a Virtual Machine or Container
CN107153527B (zh) * 2017-05-17 2020-10-13 北京环境特性研究所 一种基于消息队列的并行雷达数据处理方法
JP6615302B1 (ja) * 2018-11-06 2019-12-04 三菱電機株式会社 電子制御装置
CN112631969B (zh) * 2020-12-30 2024-01-30 凌云光技术股份有限公司 一种基于pcie接口的虚拟多通道数据传输方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997010549A1 (fr) * 1995-09-13 1997-03-20 Hitachi, Ltd. Systeme de calcul electronique
JPH09274598A (ja) * 1996-04-08 1997-10-21 Hitachi Ltd 情報処理装置の入出力チャネル拡張方法
JP2000330806A (ja) * 1999-05-21 2000-11-30 Hitachi Ltd 計算機システム
WO2001093032A1 (fr) * 2000-05-31 2001-12-06 Hitachi, Ltd. Systeme informatique, procede de commande d'ordinateur et support stockant un programme de commande
WO2004057798A1 (en) * 2002-12-20 2004-07-08 International Business Machines Corporation Secure system and method for san management in a non-trusted server environment

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0619747B2 (ja) * 1984-01-18 1994-03-16 株式会社日立製作所 I/o命令実行方法、i/o割込処理方法およびそれらを用いた計算機システム
JP2886973B2 (ja) * 1990-04-09 1999-04-26 オリンパス光学工業株式会社 体腔内超音波診断装置
US5414851A (en) * 1992-06-15 1995-05-09 International Business Machines Corporation Method and means for sharing I/O resources by a plurality of operating systems
US5412782A (en) * 1992-07-02 1995-05-02 3Com Corporation Programmed I/O ethernet adapter with early interrupts for accelerating data transfer
US5742845A (en) * 1995-06-22 1998-04-21 Datascape, Inc. System for extending present open network communication protocols to communicate with non-standard I/O devices directly coupled to an open network
US6996828B1 (en) * 1997-09-12 2006-02-07 Hitachi, Ltd. Multi-OS configuration method
US6715016B1 (en) * 2000-06-01 2004-03-30 Hitachi, Ltd. Multiple operating system control method
AU2001265329A1 (en) * 2000-06-02 2001-12-17 Inrange Technologies Corporation Enhanced channel adapter
US6990663B1 (en) 2000-06-08 2006-01-24 International Business Machines Corporation Hypervisor virtualization of OS console and operator panel
US6877158B1 (en) * 2000-06-08 2005-04-05 International Business Machines Corporation Logical partitioning via hypervisor mediated address translation
US7272571B2 (en) * 2000-07-07 2007-09-18 Mars Incorporated Method and apparatus for effective distribution and delivery of goods ordered on the World-Wide-Web
JP4205843B2 (ja) 2000-09-22 2009-01-07 株式会社日立製作所 ネットワーク接続装置の制御方法
US6751679B1 (en) * 2000-11-16 2004-06-15 International Business Machines Corporation Means of control bit protection in a logical partition environment
ATE468562T1 (de) * 2000-12-15 2010-06-15 Ibm Virtualisierung von e/a-adapterressourcen
US6658521B1 (en) * 2000-12-22 2003-12-02 International Business Machines Corporation Method and apparatus for address translation on PCI bus over infiniband network
US7493409B2 (en) * 2003-04-10 2009-02-17 International Business Machines Corporation Apparatus, system and method for implementing a generalized queue pair in a system area network
US7174550B2 (en) * 2003-05-12 2007-02-06 International Business Machines Corporation Sharing communications adapters across a plurality of input/output subsystem images
US7979548B2 (en) * 2003-09-30 2011-07-12 International Business Machines Corporation Hardware enforcement of logical partitioning of a channel adapter's resources in a system area network
US7506343B2 (en) * 2004-08-19 2009-03-17 International Business Machines Corporation System and method for passing information from one device driver to another
US7617340B2 (en) * 2007-01-09 2009-11-10 International Business Machines Corporation I/O adapter LPAR isolation with assigned memory space
US20080168193A1 (en) * 2007-01-10 2008-07-10 International Business Machines Corporation Use of unique identifiers for each data format supported by a multi-format data store

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997010549A1 (fr) * 1995-09-13 1997-03-20 Hitachi, Ltd. Systeme de calcul electronique
JPH09274598A (ja) * 1996-04-08 1997-10-21 Hitachi Ltd 情報処理装置の入出力チャネル拡張方法
JP2000330806A (ja) * 1999-05-21 2000-11-30 Hitachi Ltd 計算機システム
WO2001093032A1 (fr) * 2000-05-31 2001-12-06 Hitachi, Ltd. Systeme informatique, procede de commande d'ordinateur et support stockant un programme de commande
WO2004057798A1 (en) * 2002-12-20 2004-07-08 International Business Machines Corporation Secure system and method for san management in a non-trusted server environment

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008102930A (ja) * 2006-10-17 2008-05-01 Internatl Business Mach Corp <Ibm> データ処理システム内でシステム・イメージとローカルに接続された外部記憶装置との間の動作を実行するための方法、コンピュータ・プログラム、および装置(キャッシュされたアドレス変換を使用して入出力アダプタと通信するための装置および方法)
JP2008102929A (ja) * 2006-10-17 2008-05-01 Internatl Business Mach Corp <Ibm> データ処理システム内でネットワーク入出力(i/o)アダプタと通信するためにネットワーク・デバイス・ドライバによって使用されるバッファ・データ構造にアクセスするためのアドレス変換を管理するための方法、コンピュータ・プログラム、および装置(キュー・データ構造およびキャッシュされたアドレス変換を使用してネットワーク・アダプタと通信するための装置および方法)
JP2008102928A (ja) * 2006-10-17 2008-05-01 Internatl Business Mach Corp <Ibm> データ処理システム内でデバイス・ドライバと入出力装置との間で通信するためのアドレス変換を確立するための方法、コンピュータ・プログラム、および装置(キュー・データ構造および事前変換済みアドレスを使用して入出力装置と通信するための装置および方法)
US8769168B2 (en) 2006-10-17 2014-07-01 International Business Machines Corporation Method for communicating with a network adapter using a queue data structure and cached address translations
US8683110B2 (en) 2007-08-23 2014-03-25 Nec Corporation I/O system and I/O control method
JP2009294758A (ja) * 2008-06-03 2009-12-17 Hitachi Ltd 仮想計算機システム及びホストバスアダプタ用ドライバプログラム
JP2013535061A (ja) * 2010-06-23 2013-09-09 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピューティング環境のアダプタを使用可能にするための方法、システム、およびコンピュータ・プログラム
US9134911B2 (en) 2010-06-23 2015-09-15 International Business Machines Corporation Store peripheral component interconnect (PCI) function controls instruction
US9195623B2 (en) 2010-06-23 2015-11-24 International Business Machines Corporation Multiple address spaces per adapter with address translation
US9213661B2 (en) 2010-06-23 2015-12-15 International Business Machines Corporation Enable/disable adapters of a computing environment
US9342352B2 (en) 2010-06-23 2016-05-17 International Business Machines Corporation Guest access to address spaces of adapter
US9383931B2 (en) 2010-06-23 2016-07-05 International Business Machines Corporation Controlling the selectively setting of operational parameters for an adapter
US9626298B2 (en) 2010-06-23 2017-04-18 International Business Machines Corporation Translation of input/output addresses to memory addresses

Also Published As

Publication number Publication date
JP4788124B2 (ja) 2011-10-05
CN1749967A (zh) 2006-03-22
US7680965B2 (en) 2010-03-16
US7877526B2 (en) 2011-01-25
CN101308466B (zh) 2011-07-06
CN100405303C (zh) 2008-07-23
US8312182B2 (en) 2012-11-13
CN101308466A (zh) 2008-11-19
US20060059328A1 (en) 2006-03-16
US20100235548A1 (en) 2010-09-16
US20110138089A1 (en) 2011-06-09

Similar Documents

Publication Publication Date Title
JP4788124B2 (ja) データ処理システム
US20200278880A1 (en) Method, apparatus, and system for accessing storage device
CN109582614B (zh) 针对远程存储器访问的nvm express控制器
EP1514191B1 (en) A network device driver architecture
EP1896965B1 (en) Dma descriptor queue read and cache write pointer arrangement
US7320041B2 (en) Controlling flow of data between data processing systems via a memory
US20050195833A1 (en) Full hardware based TCP/IP traffic offload engine(TOE) device and the method thereof
US20040054822A1 (en) Transferring interrupts from a peripheral device to a host computer system
CA2432390A1 (en) Method and apparatus for controlling flow of data between data processing systems via a memory
US8607214B2 (en) Data processing system running on a plurality of operating systems (OS) and enabling a channel device to simultaneously perform processing associated with the plurality of operating systems
US11741039B2 (en) Peripheral component interconnect express device and method of operating the same
US20070150683A1 (en) Dynamic memory buffer allocation method and system
JP4894963B2 (ja) データ処理システム
US7930445B2 (en) Computer system using remote I/O and I/O data transfer method
JP4623126B2 (ja) データ処理システム
US20230350824A1 (en) Peripheral component interconnect express device and operating method thereof

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060425

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070312

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100329

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110401

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110408

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: 20110621

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: 20110704

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140729

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4788124

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees