JP3799741B2 - バスコントローラ - Google Patents

バスコントローラ Download PDF

Info

Publication number
JP3799741B2
JP3799741B2 JP13089197A JP13089197A JP3799741B2 JP 3799741 B2 JP3799741 B2 JP 3799741B2 JP 13089197 A JP13089197 A JP 13089197A JP 13089197 A JP13089197 A JP 13089197A JP 3799741 B2 JP3799741 B2 JP 3799741B2
Authority
JP
Japan
Prior art keywords
transmission
control unit
message
reception
dma channel
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
JP13089197A
Other languages
English (en)
Other versions
JPH10320345A (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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Holdings 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 Fuji Electric Holdings Ltd filed Critical Fuji Electric Holdings Ltd
Priority to JP13089197A priority Critical patent/JP3799741B2/ja
Publication of JPH10320345A publication Critical patent/JPH10320345A/ja
Application granted granted Critical
Publication of JP3799741B2 publication Critical patent/JP3799741B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Description

【0001】
【発明の属する技術分野】
システムバスを介して複数のボードが接続される情報処理装置において、システムバスを介する各ボード間のデータ転送を制御するバスコントローラに関する。
【0002】
【従来の技術】
図11は情報処理装置のシステム構成を示すブロック図である。情報処理装置はシステムバス1104を介して接続される1つまたは複数のプロセッサボード1100、1101、I/Oボード1102、及びネットワークボード1103等で構成される。プロセッサボード1100、1101は送信されてきたデータの処理等を行うCPU等から成っており、システムバス1104を介して通信を行うことにより、処理すべきデータあるいは処理済みのデータの送受信を行う。例えば、プロセッサボード1100で処理されたデータをプロセッサボード1101に送信し、更に処理を加えてI/Oボード112あるいはネットワークボード1103に送信する。I/Oボード1102にはキーボード、プリンタ、及びディスプレイ等の入出力装置が接続されており、I/Oボード1102は、入力装置からデータを入力したり、出力装置に上記処理されたデータを出力する。ネットワークボード1103は、LAN等の通信網に処理済のデータを送信したり、該通信網から処理すべきデータを受信したりするものである。
【0003】
図12は上記各ボード1100〜1103の内部構成を示すブロック図である。
ボード1200は、CPU1201、プログラムメモリ1204、データメモリ1202、バスコントローラ1205、さらには必要に応じて外部インタフェース1203から構成される。
【0004】
これらボード1200の各構成要素1201〜1205は、ボード内でデータ等のやり取りを行うためにボード内バス1206によって互いに接続されている。CPU1201は、プログラムメモリ1204からプログラムを読み込んで、そのプログラムを実行し、データメモリ1202内のデータを処理する。同図のボードがプロセッサボードである場合には、外部インタフェース1203は設けられず、CPU1201で処理されたデータはデータメモリ1202に記憶された後、バスコントローラ1205を介してシステムバス1104に送出される。
【0005】
同図のボード1200がI/Oボード1102あるいはネットワークボード1103である場合には、外部インタフェース1203が設けられ、CPU1201で処理されたデータ等は所定のフォーマットに従って外部インタフェース1203に送信され、ここから、プリンタ、ディスプレイや、LAN等のネットワークへと送出される。また、キーボード等の入力装置から入力されたデータが、外部インタフェース1203を介してCPU1201に入力される。
【0006】
ところで、システムバス1104を通してボードからボードへ高速に大量のデータを転送する手法としてメッセージパッシングが一般的に知られている。
図13にメッセージパッシングによるデータ転送プロトコルを示す。メッセージパッシングは、送信者ボード(以下、送信者という)1200Sがデータメモリ1202S中に予め送信したいデータをセットしておき、受信者ボード(以下、受信者という)1200Rへ要求メッセージを送信し、受信者はデータメモリ1202R中にデータを受信するためのバッファを確保して許可メッセージを送信者へ送信し、バッファを確保できないときは拒否メッセージを送信し、送信者は許可メッセージを受信したら送信データをデータメモリ1202Sから読み出し、データメッセージに組み込んで受信者へ送信し、受信者は受信したデータメッセージからデータを抜き出しデータメモリ1202Rのバッファへ格納していくものである。尚、送信者が受信者から拒否メッセージを受け取った場合には、データ送信を待機状態にしておき、受信者から許可メッセージが送信されてくるまで待つ。
【0007】
図14(a)〜(d)はメッセージパッシングによるデータ転送のために用いられる各メッセージ1301〜1304のフォーマットである。ボードIDは、ボードを識別する固有のIDである。相手ボードIDは、各メッセージの宛先のボードを指定するもので、メッセージを受信することの出来るすべてのボードは、メッセージがシステムバスに送信されると、自己のボードIDと比較し、一致していたらそのメッセージを受信する。自己ボードIDは、各メッセージの発信者自身のボードIDである。従って、図14(a)の要求メッセージ1301及び図14(d)のデータメッセージ1304では、相手ボードIDは受信者ボードIDで、自己ボードIDは送信者ボードIDであり、図14(b)の許可メッセージ1302及び図14(c)の拒否メッセージ1304では、相手ボードIDは送信者ボードIDで、自己ボードIDは受信者ボードIDである。
【0008】
データIDはデータを識別するためのIDである。送信者データIDは送信者から見たデータIDであり、送信者は要求メッセージ1301に載せて受信者に通知し、受信者は応答する許可メッセージ1302または拒否メッセージ1303に載せて送信者に返送し、送信者は受信するメッセージ内の送信者データIDを基に転送しようとしたデータIDに対する許可メッセージ1302または拒否メッセージ1303であることを確認する。受信者データIDは受信者から見たデータIDであり、受信者は許可メッセージ1302に載せて送信者に通知し、送信者はデータメッセージ1304に載せて受信者に返送し、受信者は受信するメッセージ内の受信者データIDを基に転送を待っているデータIDに対するデータメッセージ1304であることを確認する。
【0009】
要求メッセージコード、許可メッセージコード、拒否メッセージコード、データメッセージコードは、それぞれ要求メッセージ、許可メッセージ、拒否メッセージ、データメッセージを示すコードである。送信データ長は送信者が送信を要求しているデータの長さである。
【0010】
図15はメッセージパッシングを実行するボードのブロック図である。このボードにおけるデータ転送のための一連の動作は以下の通りである。
(1)送信者CPUは送信データをデータメモリ中に格納する。
(2)送信者CPUは送信DMAチャネルのステータスレジスタを読み出して送信DMAチャネルが動作中でないことを確認する。動作中でないときは送信データのアドレスをアドレスレジスタへ、送信データのデータ長をデータ長レジスタへ格納し、スタートコマンドをスタートレジスタへ書き込む。送信DMAチャネルが動作中なら動作完了まで待つ。
(3)送信者CPUは要求メッセージ送信制御部に受信者(相手)ボードID、送信者(自己)ボードID、要求メッセージコード、送信者(自己)データID、送信データ長を格納する。
(4)送信者CPUは要求メッセージ送信制御部にスタートコマンドを与え、要求メッセージ送信制御部は要求メッセージをシステムバスへ送信する。
(5)受信者バスコントローラはシステムバス上の要求メッセージの受信者ボードIDが自己のボードIDと一致していたらその要求メッセージをシステムバスから受信し、要求メッセージ受信制御部に格納し、受信者CPUに通知する。
(6)受信者CPUは要求メッセージ受信制御部の要求メッセージコードから要求メッセージを受信したことを認識し、送信データ長からその長さの受信バッファをデータメモリに確保する。
(7)受信者CPUは受信DMAチャネルのステータスレジスタを読み出して受信DMAチャネルが動作中でないことを確認する。動作中でないときは受信バッファのアドレスをアドレスレジスタへ、送信データ長をデータ長レジスタへ格納し、スタートコマンドをスタートレジスタへ書き込む。受信DMAチャネルが動作中なら動作完了まで待つ。
(8)受信者CPUは許可メッセージ送信制御部に送信者(相手)ボードID、受信者(自己)ボードID、許可メッセージコード、受信者(自己)データID、送信者(相手)データIDを格納する。ここで送信者ボードIDおよび送信者データIDは、上記(5)における要求メッセージで受信したものである。
(9)受信者CPUは許可メッセージ送信制御部にスタートコマンドを与え、許可メッセージ送信制御部は許可メッセージをシステムバスへ送信する。
(10)送信者バスコントローラはシステムバス上の許可メッセージの送信者ボードIDが自己のボードIDと一致していたらその許可メッセージをシステムバスから受信し、許可メッセージ受信制御部は許可メッセージの送信者データIDが要求メッセージ送信制御部の送信者データIDと一致していたら許可メッセージを受信し、送信者ボードID、受信者ボードID、受信者データIDをデータメッセージ送信制御部に転送する。
(11)データメッセージ送信制御部は予め設定しておいた送信DMAチャネルにDMA要求を与える。送信DMAチャネルは送信データをデータメモリから読み出し、その送信データをデータメッセージ送信制御部内の送信データバッファに格納する。データメッセージ送信制御部はデータメッセージをシステムバスへ送信する。
(12)送信DMAチャネルは1回のデータ転送毎にアドレスレジスタをインクリメント(+1)し、データ長レジスタをデクリメント(−1)し、データ長レジスタが0になると動作を停止し、ステータスレジスタに動作完了を示すコードを設定しCPUへ通知する。
(13)受信者バスコントローラはシステムバス上のデータメッセージの受信者ボードIDが自己のボードIDと一致していたらデータメッセージを受信し、データメッセージ受信制御部はデータメッセージの受信者データIDが許可メッセージ送信制御部の受信者データIDと一致していたらデータメッセージを受信する。
(14)データメッセージ受信制御部は予め設定しておいた受信DMAチャネルにDMA要求を与える。受信DMAチャネルはデータメッセージ受信制御部内の受信データバッファから受信データを読み出し、その受信データをデータメモリ内の受信バッファに格納する。
(15)受信DMAチャネルは1回のデータ転送毎にアドレスレジスタをインクリメントし、データ長レジスタをデクリメントし、データ長レジスタが0になると動作を停止し、ステータスレジスタに動作完了を示すコードを設定し、CPUへ通知する。
(16)送信者CPU及び受信者CPUは、各々ステータスレジスタの動作完了表示によりメッセージ転送の終了を認識し、データ転送の完了とDMAチャネルの動作完了を知る。
【0011】
一般にデータの転送要求は複数のボードで多重に発生するが、以上の従来構成では、あるボードが同一時点で1つの送信と1つの受信を実行できるだけなので、ボードで複数のデータ転送要求が発生した場合、ソフトウェアでデータ転送を蓄積し、データ転送の完了を待って逐次的に次のデータ転送を実行する必要があり、ソフトウェアが煩雑になる。
【0012】
同様に、複数のデータ転送要求が1つのボードに集中した場合2つめ以降のデータ転送要求は拒否されるので、送信者側でデータ転送要求を蓄積しなければならない。
【0013】
また、1データずつ逐次的にデータ転送を実行するので、転送性能が低い。
このような欠点を解決する方法として特願平9−7032号の方法が知られている。
【0014】
図16、17は、特願平9−7032号のバスコントローラを搭載したボードのブロック図である。図15との違いは4つのチャネルを有するDMAをバスコントローラに内蔵し、更に、バスコントローラの送信制御部、受信制御部に、それぞれ送信DMAチャネル制御部および受信DMAチャネル制御部を追加している点である。
【0015】
図18(a)〜(d)は、特願平9−7032号のメッセージパッシングで用いる各メッセージのフォーマットを示す図である。図14(a)〜(d)に示されているメッセージとの違いは各メッセージのデータID内にDMAチャネル番号が追加されている点である。データID内部にDMAチャネル番号が含まれるので、メッセージを受け渡す相互のボードはDMAチャネル番号を認識しても良いし、DMAチャネル番号を認識せずにデータIDのみとして認識しても良い。
【0016】
図16、17で、送信DMAチャネル制御部は上記(1)〜(16)で説明した動作のうち、
(2)において、送信DMAチャネルの確保を制御し、(7)において受信DMAチャネル制御部は受信DMAチャネルの確保を制御する動作が新たに追加される。
【0017】
送信者のDMAチャネル確保動作は以下のようになる。
(1)送信者CPUはDMAチャネルを確保するために送信DMAチャネル制御部の予約送信DMAチャネル番号レジスタを読み出す。
(2)送信DMAチャネル制御部はDMAチャネルに動作中でないものがあるかどうかを調べ、動作中でないDMAチャネル番号を返す。
(3)送信者CPUは読み出したDMAチャネル番号を要求メッセージ送信制御部の送信者(自己)DMAチャネル番号に格納する。
【0018】
送信者のデータ送信動作は以下のようになる。
(1)許可メッセージを受信する許可メッセージ受信制御部は、システムバス上の許可メッセージの送信者データIDおよび送信者DMAチャネル番号が要求メッセージ送信制御部の送信者データIDおよび送信者DMAチャネル番号と一致していたらその許可メッセージをシステムバスから受信し、その許可メッセージ内の送信者ボードID、受信者ボードID、受信者データID、受信者DMAチャネル番号、送信者DMAチャネル番号をデータメッセージ送信制御部に転送する。
(2)データメッセージ送信制御部は、許可メッセージ受信制御部から受信した送信者DMAチャネル番号によりDMAチャネルを選択し、該DMAチャネルへDMA要求を与える。
【0019】
受信者のDMA確保動作は以下のようになる。
(1)受信者CPUはDMAチャネルを確保するために受信DMAチャネル制御部の予約受信DMAチャネル番号レジスタを読み出す。
(2)受信DMAチャネル制御部はDMAチャネルに動作中でないものがあるかどうかを調べ、動作中でないDMAチャネル番号を返す。
(3)受信者CPUは読み出したDMAチャネル番号を許可メッセージ送信制御部の受信者(自己)DMAチャネル番号に格納する。
【0020】
受信者のデータ受信動作は以下のようになる。
(1)データメッセージを受信するデータメッセージ受信制御部は、システムバス上のデータメッセージの受信者データID及び受信者DMAチャネルが許可メッセージ送信制御部の受信者データIDおよび受信者DMAチャネル番号と一致していたら、そのデータメッセージをシステムバスから受信する。
(2)データメッセージ受信制御部は上記受信したデータメッセージ内の受信者DMAチャネル番号によりDMAチャネルを選択し、該DMAチャネルへDMA要求を与える。
【0021】
以上のように特願平9−7032号の発明では、バスコントローラがDMAチャネル確保を自動的に行って、そのDMAチャネルの番号をCPUに通知するため、CPUの負担が軽減され転送性能が向上する。またDMAチャネル番号を相手に通知してDMAチャネルの選択を自動的に行うので、複数の送信データまたは受信バッファとDMAを準備しておくことができ転送性能が向上する。
【0022】
【発明が解決しようとする課題】
これらの方法では、送信者CPUは確保した送信DMAチャネルのアドレスレジスタにデータのアドレスを、データ長レジスタに送信データのデータ長を格納し、また確保した送信DMAチャネル番号を要求メッセージ送信制御部の送信者(自己)DMAチャネル番号に格納するので、これらの処理を行うために、送信者CPUは送信DMAチャネル番号を意識する必要があり、そのため、送信者CPUの処理が煩雑になると同時に、上記一連の処理を送信者CPUが実行するので転送性能が低いという欠点がある。
【0023】
また、同様に、受信者CPUは確保した受信DMAチャネルのアドレスレジスタに受信バッファのアドレスを、データ長レジスタに送信データのデータ長を格納し、また確保した受信DMAチャネル番号を許可メッセージ送信制御部の受信者(自己)DMAチャネル番号に格納するので、これらの処理を行うために、受信CPUは受信DMAチャネル番号を意識する必要があり、そのため、受信者CPUの処理が煩雑になると同時に、上記一連の処理を受信者CPUが処理するので転送性能が低いという欠点がある。
【0024】
本発明の課題は、DMAチャネル番号に従って処理する煩雑さをなくし、システムバスを介するボード間のデータ転送の性能を向上させ、またDMAチャネル数の増加に対するハードウェアの増加を減らすことのできるバスコントローラを提供することである。
【0025】
本発明の送信者側でのバスコントローラは、送信者と受信者の間でバスを介してデータメッセージの授受を行うための、送信制御部と受信制御部とを少なくとも有するバスコントローラであって、複数のDMAチャネルを有し、前記送信制御部は、前記データメッセージの送信要求を受信者に伝える要求メッセージを記憶するための複数の要求メッセージ送信バッファを持つ要求メッセージ送信制御部と、前記受信者から前記データメッセージの受信が可能であることを示す許可メッセージを受信する許可メッセージ受信制御部と、前記受信者に送信すべき前記データメッセージを送信するデータメッセージ送信制御部と、前記要求メッセージを送信するために使用する予約をした要求メッセージ送信バッファを示す予約要求メッセージ送信バッファ番号と、前記要求メッセージを送信する場合に使用の予約をした前記DMAチャネルを示す予約送信DMAチャネル番号と、前記要求メッセージを送信するために使用可能な前記DMAチャネルが予約されたか否かを示す予約完了レジスタを持つ送信チャネル制御部を備えることを基本構成とする。
【0026】
本発明の受信者側でのバスコントローラは、送信者と受信者の間でバスを介してデータメッセージの授受を行うための、送信制御部と受信制御部とを少なくとも有するバスコントローラであって、複数のDMAチャネルを有し、前記受信制御部は、前記送信者からの前記受信者に対する前記データメッセージの送信要求を前記受信者に通知する要求メッセージを受信する要求メッセージ受信制御部と、前記送信者に前記データメッセージを受信可能であることを通知する許可メッセージを記憶するための複数の許可メッセージ送信バッファを持つ許可メッセージ送信制御部と、前記送信者から送信されてきた前記データメッセージを受信するデータメッセージ受信制御部と、前記許可メッセージを送信するために使用する予約をした前記許可メッセージ送信バッファを示す予約許可メッセージ送信バッファ番号と、前記許可メッセージの送信に使用する予約をした前記DMAチャネルを示す予約受信DMAチャネル番号と、前記許可メッセージの送信に使用可能な前記DMAチャネルが予約されたか否かを示す予約完了レジスタ有することを基本構成とする。
【0027】
本発明は上記の基本構成において、予約したメッセージ送信バッファ及びDMAチャネルの番号をバスコントローラに保持し、バスコントローラが該予約したDMAチャネル番号を該予約したメッセージバッファに格納し、またCPUが該予約されたDMAチャネルにアドレス及びデータ長等を設定するとき、バスコントローラが該予約したDMAチャネル番号で上記設定を行うDMAチャネルを選択することを特徴とする。
【0028】
また本発明は、複数のDMAチャネルの一部のハードウェアをまとめて一本化し、それを、該複数のDMAチャネルで共有させる。
本発明によれば、CPUがDMAチャネル番号を認識する必要がなく、CPUの処理が単純となりデータの転送性能が向上する。
【0029】
また本発明によれば、DMAチャネル数の増加に対するハードウェアの増加を削減する。
【0030】
【発明の実施の形態】
図1は、本発明の第1の実施形態である送信チャネル制御部を持つバスコントローラを搭載したボードのブロック図である。
【0031】
図16の構成と比較すると、送信DMAチャネル制御部の代わりに送信チャネル制御部が設けられている。送信チャネル制御部は、送信チャネル予約完了レジスタと、予約要求メッセージ送信バッファ番号と、予約送信DMAチャネル番号を備えている。また、要求メッセージ送信制御部、許可メッセージ受信制御部、及びデータメッセージ送信制御部それぞれが、要求メッセージ送信バッファ、許可メッセージ受信バッファ、データメッセージ送信バッファを複数備えている。このように、複数バッファを備えることにより、1つのメッセージ送信の完了を待つことなく次のメッセージも送信処理を続けて行うことが出来るようになるのでデータの転送効率が向上するものである。
【0032】
第1の実施形態に基づいた送信者のDMAチャネル確保動作は以下のようになる。
(1)送信者CPUは要求メッセージ送信バッファと送信DMAチャネルの確保をするために送信チャネル制御部の送信チャネル予約完了レジスタを読み出す。
(2)送信チャネル制御部は要求メッセージ送信バッファに動作中でないものがあるかどうか調べ、動作中でない要求メッセージ送信バッファ番号を予約要求メッセージ送信バッファ番号に格納する。
(3)送信チャネル制御部はDMAチャネルに動作中でないものがあるかどうかを調べ、動作中でないDMAチャネル番号を予約送信DMAチャネル番号に格納する。
(4)送信チャネル制御部は(2)、(3)が共に予約できたときだけ送信CPUの送信チャネル予約完了レジスタの読み出し要求に対して“1”を返し、(2)、(3)のいづれかが予約できないときは“0”を返す。
(5)送信者CPUは読み出した送信チャネル予約完了レジスタの値が“1”のときメッセージ送信可能であることを認識する。
(6)送信チャネル制御部は予約要求メッセージ送信バッファ番号が示す要求メッセージバッファの送信者(自己)DMAチャネル番号に、予約送信DMAチャネル番号を格納する。
【0033】
以上のように、第1の実施形態によれば、送信者CPUは予約したDMAチャネル番号を認識する必要がなく、送信チャネル制御部が要求メッセージバッファにDMAチャネル番号を格納するので、送信者CPUの処理が単純になりデータの転送性能が向上する。
【0034】
この後の送信処理は従来と同じであり、以下に示すようになる。
(7)送信者CPUは要求メッセージ送信制御部の上記(2)の処理で確保された要求メッセージ送信バッファに受信者(相手)ボードID、送信者(自己)ボードID、要求メッセージコード、送信者(自己)データID、送信データ長を格納する。
(8)送信者CPUは要求メッセージ送信制御部にスタートコマンドを与え、要求メッセージ送信制御部は上記処理で確保された要求メッセージ送信バッファの内容に基づいて要求メッセージをシステムバスへ送信する。
(9)送信者バスコントローラはシステムバス上の許可メッセージの送信者ボードIDが自己のボードIDと一致していたら、その許可メッセージをシステムバスから受信し、許可メッセージ受信制御部は許可メッセージの送信者データIDが要求メッセージ送信制御部の上記(2)の処理で確保された要求メッセージ送信バッファ内の送信者データIDと一致していたら許可メッセージを受信し、該許可メッセージ内の送信者ボードID、受信者ボードID、受信者データID及び受信者DMAチャネル番号をデータメッセージ送信制御部に転送する。更に、許可メッセージ受信制御部は、該許可メッセージ内の送信者(自己)DMAチャネル番号に基づいて、該DMAチャネル番号を有するDMAチャネルへDMA要求を出す。
(10)該DMA要求を受けたDMAチャネルはデータメモリから送信データを読み出し、その送信データを(9)で送信者ボードID、受信者ボードID、受信者データIDが格納されたデータメッセージ送信バッファの送信データバッファに格納する。そして、データメッセージ送信制御部は、データメッセージをシステムバスへ送信する。
【0035】
図2は、本発明の第2の実施形態である受信チャネル制御部を持つバスコントローラを搭載したボードのブロック図である。
図17との違いは、受信DMAチャネル制御部の代わりに受信チャネル制御部が設けられている。受信チャネル制御部は、受信チャネル予約完了レジスタと、予約許可メッセージ送信バッファ番号と、予約受信DMAチャネル番号を備えている。
【0036】
第2の実施形態による受信者のDMAチャネル確保動作は以下のようになる。(1)受信者CPUは許可メッセージ送信バッファと受信DMAチャネルを確保するために受信チャネル制御部の受信チャネル予約完了レジスタを読み出す。
(2)受信チャネル制御部は許可メッセージ送信バッファに動作中でないものがあるかどうか調べ、動作中でない許可メッセージ送信バッファ番号を予約許可メッセージ送信バッファ番号に格納する。
(3)受信チャネル制御部はDMAチャネルに動作中でないものがあるかどうかを調べ、動作中でないDMAチャネル番号を予約受信DMAチャネル番号に格納する。
(4)受信チャネル制御部は(2)、(3)が共に予約できたときだけ受信CPUの受信チャネル予約完了レジスタの読み出し要求に対して“1”を返し、(2)、(3)のいづれかが予約できないときは“0”を返す。
(5)受信者CPUは読み出した受信チャネル予約完了レジスタの値が“1”のときメッセージ受信可能であることを認識する。
(6)受信チャネル制御部は予約許可メッセージ送信バッファ番号が示す許可メッセージバッファの受信者(自己)DMAチャネル番号に、予約受信DMAチャネル番号を格納する。
【0037】
以上のように、第2の実施形態によれば、受信者CPUは予約したDMAチャネル番号を認識する必要がなく、受信チャネル制御部が許可メッセージバッファにDMAチャネル番号を格納するので、受信者CPUの処理が単純になりデータの転送性能が向上する。
【0038】
受信者側でのその他の処理は従来と同じであり、以下のようになる。
(−1)受信者バスコントローラは要求メッセージの受信者ボードIDが自己のボードIDと一致していたら要求メッセージを受信し、その要求メッセージを要求メッセージ受信制御部の空いている要求メッセージ受信バッファに格納し、受信者CPUに通知する。
(0)受信者CPUは要求メッセージ受信制御部の要求メッセージコードから要求メッセージを受信したことを認識し、送信データ長からその長さの受信バッファをデータメモリに確保する。
((−1)、(0)は、(1)より前の段階の処理であることを示している。)
上記(1)〜(6)の処理を行う。
(7)受信者CPUは許可メモリ送信制御部の上記(2)で確保された許可メッセージ送信バッファに送信者(相手)ボードID、受信者(自己)ボードID、許可メッセージコード、受信者(自己)データID、送信者(相手)データID、及び送信者DMAチャネル番号を格納する。
(8)受信者CPUは許可メッセージ送信制御部にスタートコマンドを与え、許可メッセージ送信制御部は、上記(6)、(7)で使用された許可メッセージ送信バッファに設定された許可メッセージをシステムバスへ送信する。
(9)受信者バスコントローラは送信者から送られてきたデータメッセージの受信者ボードIDが自己のボードIDと一致していたらデータメッセージを受信し、データメッセージ受信制御部はデータメッセージの受信データIDが許可メッセージ送信制御部の受信者データIDと一致していたらデータメッセージを受信する。
(10)データメッセージ受信制御部は、上記受信したデータメッセージ内の受信者(自己)DMAチャネル番号に対応するDMAチャネルにDMA要求を出す。該DMAチャネルは、対応するデータメッセージ受信バッファの受信データバッファからデータを読み出し、そのデータをデータメモリの受信バッファに格納する。
【0039】
図3は、本発明の第3の実施形態である送信チャネルを複数持つバスコントローラを搭載したボードのブロック図である。
図1との違いは、送信チャネル制御部が予約要求メッセージ送信バッファ番号と、予約送信DMAチャネル番号を持つ送信チャネルを複数備えている点である。従って、複数のメッセージ送信要求が生じたときに、1つのDMAチャネル確保動作が終わるのを待つことなく処理を続けることが出来る。
【0040】
送信チャネル制御部の動作は、送信チャネルが複数あることを除いては図1で説明したものと同じであるので説明を省略する。
図4は、本発明の第4の実施形態である受信チャネルを複数持つバスコントローラを搭載したボードのブロック図である。図2との違いは、受信チャネル制御部が予約許可メッセージ送信バッファ番号と、予約受信DMAチャネル番号を持つ受信チャネルを複数備えている点である。この構成も同様に複数の受信チャネルを有していることにより、1度に複数のメッセージが送信されてきた場合にもDMAチャネル確保のために初めのメッセージだけを受け付けて、他を待たせるような処理を行わなくても、1度に複数のメッセージを受け付けることが出来る。
【0041】
受信チャネル制御部の動作は、受信チャネルば複数あることを除いては図2で説明したものと同じであるので説明を省略する。
図5は、本発明の第5の実施形態である予約送信DMAチャネル番号で送信データをデータメモリから送信データバッファに転送するDMAチャネルを選択するバスコントローラを搭載したボードのブロック図である。図3との違いは、送信チャネルの予約送信DMAチャネル番号で上記送信データの転送を行うDMAチャネルを選択する点である。
【0042】
従って、送信者CPUがDMAチャネルのアドレスレジスタに送信データのアドレスを、データ長レジスタに送信データのデータ長を書き込むとき、それらが書込まれるDMAチャネルが予約送信DMAチャネル番号によって、自動的に選択されるので、送信者CPUは予約したDMAチャネル番号を認識する必要がなく、送信者CPUの処理が単純になりデータの転送性能が向上する。
【0043】
その他の処理は図1あるいは図3で説明したものと同様であるので省略する。図6は、本発明の第6の実施形態である予約受信DMAチャネル番号で受信データをデータメッセージ受信バッファからデータメモリ内の受信バッファに転送するDMAチャネルを選択するバスコントローラを搭載したボードのブロック図である。図4との違いは、受信チャネルの予約受信DMAチャネル番号で上記受信データの転送を行うDMAチャネルを選択する点である。
【0044】
従って、受信者CPUがDMAチャネルのアドレスレジスタに受信バッファのアドレスを、データ長レジスタに受信バッファのデータ長を書き込むとき、それらが書込まれるDMAチャネルが予約受信DMAチャネル番号によって自動的に選択されるので、受信者CPUは予約したDMAチャネル番号を認識する必要がなく、受信者CPUの処理が単純になりデータの転送性能が向上する。
【0045】
その他の処理は図2あるいは図4で説明したものと同様であるので説明を省略する。
図7は、本発明の第7の実施形態である要求メッセージ送信バッファの送信データ長をDMAチャネルのデータ長レジスタに転送するバスコントローラを搭載したボードのブロック図である。図5との違いは、送信者CPUが予約した要求メッセージ送信バッファに書き込んだ送信データ長を、要求メッセージ送信制御部が予約したDMAチャネルのデータ長レジスタに転送する点である。これにより、送信者CPUはDMAチャネルにデータ長を書き込む必要がなく、送信者CPUの処理が単純になりデータの転送性能が向上する。
【0046】
その他は、図5と同様であるので説明を省略する。
図8は、本発明の第8の実施形態であるDMAチャネルのデータ長レジスタから、送信データ長を要求送信メッセージバッファへ転送するバスコントローラを搭載したボードのブロック図である。図5との違いは、送信者CPUが予約したDMAチャネルに書き込んだ送信データ長を、該DMAチャネルが予約した要求メッセージ送信バッファの送信データ長に転送する点である。これにより送信者CPUは要求メッセージ送信バッファにデータ長を書き込む必要がなく、送信者CPUの処理が単純になりデータの転送性能が向上する。
【0047】
その他は、図5と同様であるので説明を省略する。
図9は、本発明の第9の実施形態であるDMAチャネルの構成を示している。上述した第1〜第8の実施形態では、DMAチャネルのアドレスレジスタはDMA転送を行うたびに+1する加算カウンタで構成され、データ長レジスタはDMA転送を行う度に−1する減算カウンタで構成される。これに対し、第9の実施形態では、DMAチャネルのアドレスレジスタおよびデータ長レジスタを単純なレジスタとし、加算カウンタおよび減算カウンタを集約している。この構成では、各DMAチャネルがデータの転送を行う前に、各DMAチャネルのアドレスレジスタの内容をアドレスカウンタへ、データ長レジスタの内容をデータ長カウンタへ転送し、DMA転送を終了した後アドレスカウンタの内容を各DMAチャネルのアドレスレジスタへ、データ長カウンタの内容をデータ長レジスタへ転送する。これにより加算カウンタ(アドレスカウンタが該当)および減算カウンタ(データ長カウンタが該当)を1組設ければよく、ハードウェアを減らすことが出来る。
【0048】
図10は、本発明の第10の実施形態であるリトライ信号で書き戻しをしないDMAチャネルの構成を示している。図9との違いは、リトライ信号が送信制御部からDMAチャネルに入力されていることである。この構成では、データ転送の異常でDMA転送のやり直しを行う必要があることを示すリトライ信号で、アドレスカウンタおよびデータ長カウンタの内容のDMAチャネルへの転送を無効にし、DMA転送をやり直すようにする。
【0049】
【発明の効果】
本発明によれば、CPUがDMAチャネル番号を認識する必要がなくあるため、CPUの処理が単純となりデータの転送性能が向上する。
【0050】
また複数のDMAチャネルのハードウェアをまとめたので、ハードウェアを削減できる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態である送信チャネル制御部を持つバスコントローラを搭載したボードのブロック図である。
【図2】本発明の第2の実施形態である受信チャネル制御部を持つバスコントローラを搭載したボードのブロック図である。
【図3】本発明の第3の実施形態である送信チャネルを複数持つバスコントローラを搭載したボードのブロック図である。
【図4】本発明の第4の実施形態である受信チャネルを複数持つバスコントローラを搭載したボードのブロック図である。
【図5】本発明の第5の実施形態である予約送信DMAチャネル番号でDMAチャネルを選択するバスコントローラを搭載したボードのブロック図である。
【図6】本発明の第6の実施形態である予約受信DMAチャネル番号でDMAチャネルを選択するバスコントローラを搭載したボードのブロック図である。
【図7】本発明の第7の実施形態である要求メッセージ送信バッファの送信データ長を転送するバスコントローラを搭載したボードのブロック図である。
【図8】本発明の第8の実施形態であるDMAチャネルの送信データ長を転送するバスコントローラを搭載したボードのブロック図である。
【図9】本発明の第9の実施形態であるDMAチャネルの構成を示す図である。
【図10】本発明の第10の実施形態であるリトライ信号で書き戻しをしないDMAチャネルの構成を示す図である。
【図11】情報処理装置のブロック図である。
【図12】ボードのブロック図である。
【図13】メッセージパッシングによるデータ転送プロトコルを示す。
【図14】メッセージパッシングのための各メッセージのフォーマットである。
【図15】メッセージパッシングを実行するボードのブロック図である。
【図16】従来のバスコントローラを搭載したボードのブロック図(その1)である。
【図17】従来のバスコントローラを搭載したボードのブロック図(その2)である。
【図18】従来のメッセージフォーマットである。
【符号の説明】
1100、1101 プロセッサボード
1102 I/Oボード
1103 ネットワークボード
1104 システムバス
1200 ボード
1201 CPU
1202 データメモリ
1203 外部インタフェース
1204 プログラムメモリ
1205 バスコントローラ
1206 ボード内バス

Claims (12)

  1. 送信者と受信者の間でバスを介してデータメッセージの授受を行うための、送信制御部と受信制御部とを少なくとも有するバスコントローラであって、
    送信制御部に設けられる複数の送信チャネルと受信制御部に設けられる複数の受信チャネルからなり、送信チャネルに設定されたデータをバスを介して受信チャネルに受信するための複数のDMAチャネルを有し、
    前記送信制御部は、
    前記データメッセージの送信要求を受信者に伝える要求メッセージを記憶するための複数の要求メッセージ送信バッファを持つ要求メッセージ送信制御部と、
    前記受信者から前記データメッセージの受信が可能であることを示す許可メッセージを受信する許可メッセージ受信制御部と、
    前記受信者に送信すべき前記データメッセージを送信するデータメッセージ送信制御部と、
    前記要求メッセージを送信するために予約している要求メッセージ送信バッファを示す予約要求メッセージ送信バッファ番号と、前記要求メッセージを送信するために予約している前記DMAチャネルを示す予約送信DMAチャネル番号と、前記要求メッセージを送信するための前記DMAチャネルが動作中か否かを示す予約完了レジスタを持つ送信チャネル制御部を備え、
    送信者のCPUは、該要求メッセージ送信バッファと送信のためのDMAチャネルを確保するために該送信チャネル制御部の該予約完了レジスタを読み出し、動作中で無い要求メッセージ送信バッファがあり、且つ、動作中で無いDMAチャネルがある場合に送信者のCPUがメッセージの送信が可能で、
    前記送信チャネル制御部は、前記予約要求メッセージ送信バッファ番号が示す前記要求メッセージ送信バッファに、前記要求メッセージを送信するときに使用可能な前記DMAチャネルを示す予約送信DMAチャネル番号を転送することを特徴とするバスコントローラ。
  2. 前記許可メッセージ受信制御部は、前記複数のDMAチャネルのレジスタを、前記予約送信DMAチャネル番号で選択することを特徴とする請求項1に記載のバスコントローラ。
  3. 前記要求メッセージ送信制御部は、予約した要求メッセージ送信バッファの送信データ長を予約したDMAチャネルに転送する請求項1または2に記載のバスコントローラ。
  4. 前記送信チャネル制御部は、予約したDMAチャネルのデータ長レジスタに設定された送信データ長を、予約した要求メッセージ送信バッファに転送することを特徴とする請求項1または2に記載のバスコントローラ。
  5. 送信者と受信者の間でバスを介してデータメッセージの授受を行うための、送信制御部と受信制御部とを少なくとも有するバスコントローラであって、
    送信制御部に設けられる複数の送信チャネルと受信制御部に設けられる複数の受信チャネルからなり、送信チャネルに設定されたデータをバスを介して受信チャネルに受信するための複数のDMAチャネルを有し、
    前記送信制御部は、
    前記データメッセージの送信要求を受信者に伝える要求メッセージを記憶するための複数の要求メッセージ送信バッファを持つ要求メッセージ送信制御部と、
    前記受信者から前記データメッセージの受信が可能であることを示す許可メッセージを受信する許可メッセージ受信制御部と、
    前記受信者に送信すべき前記データメッセージを送信するデータメッセージ送信制御部と、
    前記要求メッセージを送信するために予約している要求メッセージ送信バッファを示す予約要求メッセージ送信バッファ番号と、前記要求メッセージを送信するために予約している前記DMAチャネルを示す予約送信DMAチャネル番号と、前記要求メッセージを送 信するための前記DMAチャネルが動作中か否かを示す予約完了レジスタを持つ送信チャネル制御部を備え、
    送信者のCPUは、該要求メッセージ送信バッファと送信のためのDMAチャネルを確保するために該送信チャネル制御部の該予約完了レジスタを読み出し、動作中で無い要求メッセージ送信バッファがあり、且つ、動作中で無いDMAチャネルがある場合に送信者のCPUがメッセージの送信が可能で、
    前記送信チャネル制御部は、前記予約要求メッセージ送信バッファ番号と前記予約送信DMAチャネル番号を持つ送信チャネルを複数有し、
    前記複数の送信チャネルの前記予約要求メッセージ送信バッファ番号が示す前記要求メッセージ送信バッファに前記予約送信DMAチャネル番号を転送することを特徴とするバスコントローラ。
  6. 前記送信チャネル制御部は、前記予約要求メッセージ送信バッファ番号と前記予約送信DMAチャネル番号を持つ送信チャネルを複数備え、該複数の送信チャネルの前記予約送信DMAチャネル番号で前記複数のDMAチャネルのレジスタを選択することを特徴とする請求項に記載のバスコントローラ。
  7. 前記送信チャネル制御部は、前記予約要求メッセージ送信バッファ番号と前記予約送信DMAチャネル番号を持つ送信チャネルを複数備え、前記要求メッセージ送信制御部は、該複数の送信チャネルの前記予約要求メッセージ送信バッファ番号が示す前記要求メッセージ送信バッファの送信データ長を、複数の送信チャネルの前記予約DMAチャネル番号が示す前記DMAチャネルに転送することを特徴とする請求項5またはに記載のバスコントローラ。
  8. 前記送信チャネル制御部は、前記予約要求メッセージ送信バッファ番号と前記予約送信DMAチャネル番号を持つ送信チャネルを複数備え、前記送信チャネル制御部は、該複数の送信チャネルの前記予約DMAチャネル番号が示すDMAチャネルの送信データ長を、複数の送信チャネルの前記予約要求メッセージ送信バッファ番号が示す前記要求メッセージ送信バッファに転送することを特徴とする請求項5またはに記載のバスコントローラ。
  9. 送信者と受信者の間でバスを介してデータメッセージの授受を行うための、送信制御部と受信制御部とを少なくとも有するバスコントローラであって、
    送信制御部に設けられる複数の送信チャネルと受信制御部に設けられる複数の受信チャネルからなり、送信チャネルに設定されたデータをバスを介して受信チャネルに受信するための複数のDMAチャネルを有し、
    前記受信制御部は、
    前記送信者からの前記受信者に対する前記データメッセージの送信要求を前記受信者に通知する要求メッセージを受信する要求メッセージ受信制御部と、
    前記送信者に前記データメッセージを受信可能であることを通知する許可メッセージを記憶するための複数の許可メッセージ送信バッファを持つ許可メッセージ送信制御部と、
    前記送信者から送信されてきた前記データメッセージを受信するデータメッセージ受信制御部と、
    前記許可メッセージを送信するために予約している前記許可メッセージ送信バッファを示す予約許可メッセージ送信バッファ番号と、前記許可メッセージの送信に使用するために予約している前記DMAチャネルを示す予約受信DMAチャネル番号と、前記許可メッセージを送信するための前記DMAチャネルが動作中か否かを示す予約完了レジスタを有し、
    受信者のCPUは、該許可メッセージ送信バッファと受信のためのDMAチャネルを確保するために該予約完了レジスタを読み出し、動作中で無い許可メッセージ送信バッファがあり、且つ、動作中で無いDMAチャネルがある場合に受信者のCPUがメッセージの受信が可能で、
    前記受信チャネル制御部は、前記予約許可メッセージ送信バッファ番号が示す前記許可メッセージ送信バッファに、前記許可メッセージを送信するときに使用可能な前記DMAチャネルを示す予約受信DMAチャネル番号を転送することを特徴とするバスコントローラ。
  10. 前記データメッセージ受信制御部は、前記複数のDMAチャネルのレジスタを、前記予約受信DMAチャネル番号で選択することを特徴とする請求項に記載のバスコントローラ。
  11. 送信者と受信者の間でバスを介してデータメッセージの授受を行うための、送信制御部と受信制御部とを少なくとも有するバスコントローラであって、
    送信制御部に設けられる複数の送信チャネルと受信制御部に設けられる複数の受信チャネルからなり、送信チャネルに設定されたデータをバスを介して受信チャネルに受信するための複数のDMAチャネルを有し、
    前記受信制御部は、
    前記送信者からの前記受信者に対する前記データメッセージの送信要求を前記受信者に通知する要求メッセージを受信する要求メッセージ受信制御部と、
    前記送信者に前記データメッセージを受信可能であることを通知する許可メッセージを記憶するための複数の許可メッセージ送信バッファを持つ許可メッセージ送信制御部と、
    前記送信者から送信されてきた前記データメッセージを受信するデータメッセージ受信制御部と、
    前記許可メッセージを送信するために予約している前記許可メッセージ送信バッファを示す予約許可メッセージ送信バッファ番号と、前記許可メッセージの送信に使用するために予約している前記DMAチャネルを示す予約受信DMAチャネル番号と、前記許可メッセージを送信するための前記DMAチャネルが動作中か否かを示す予約完了レジスタを有し、
    受信者のCPUは、該許可メッセージ送信バッファと受信のためのDMAチャネルを確保するために該予約完了レジスタを読み出し、動作中で無い許可メッセージ送信バッファがあり、且つ、動作中で無いDMAチャネルがある場合に受信者のCPUがメッセージの受信が可能で、
    前記受信チャネル制御部は、前記予約許可メッセージ送信バッファ番号と前記予約受信DMAチャネル番号を持つ受信チャネルを複数有し、
    前記複数の受信チャネルの前記予約許可メッセージ送信バッファ番号が示す前記許可メッセージ送信バッファに前記予約受信DMAチャネル番号を転送することを特徴とするバスコントローラ。
  12. 前記受信チャネル制御部は、前記予約許可メッセージ送信バッファ番号と前記予約受信DMAチャネル番号を持つ受信チャネルを複数備え、
    該複数の受信チャネルの前記予約受信DMAチャネル番号で前記複数のDMAチャネルのレジスタを選択することを特徴とする請求項11に記載のバスコントローラ。
JP13089197A 1997-05-21 1997-05-21 バスコントローラ Expired - Fee Related JP3799741B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13089197A JP3799741B2 (ja) 1997-05-21 1997-05-21 バスコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13089197A JP3799741B2 (ja) 1997-05-21 1997-05-21 バスコントローラ

Publications (2)

Publication Number Publication Date
JPH10320345A JPH10320345A (ja) 1998-12-04
JP3799741B2 true JP3799741B2 (ja) 2006-07-19

Family

ID=15045136

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13089197A Expired - Fee Related JP3799741B2 (ja) 1997-05-21 1997-05-21 バスコントローラ

Country Status (1)

Country Link
JP (1) JP3799741B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6927776B2 (en) 2001-05-17 2005-08-09 Matsushita Electric Industrial Co., Ltd. Data transfer device and method
JP2006277250A (ja) * 2005-03-29 2006-10-12 Nec Corp 情報処理装置およびデータ通信制御方法

Also Published As

Publication number Publication date
JPH10320345A (ja) 1998-12-04

Similar Documents

Publication Publication Date Title
US5944797A (en) Data mover hardware controlled processing in a commanding system and in a commanded system for controlling frame communications on a link
JPH03130863A (ja) 制御要素転送システム
US6701386B2 (en) Identifier based data communication
JPH07210519A (ja) データ転送制御方法および送受信制御装置
JP2005504392A (ja) バス・システムおよびバス・インターフェース
JPH05227253A (ja) 効率的な論理プロトコルを使用した共用メモリと通信アダプタ間のメッセージ交換方法
JPH069361B2 (ja) メツセージ伝送方法
JP3799741B2 (ja) バスコントローラ
JPH117434A (ja) 複数ノードの非同期データ通信システム内で早期到達メッセージを処理するシステム
JP4104939B2 (ja) マルチプロセッサシステム
JP2005504393A (ja) バス・システムおよびバス・インターフェース
KR20020067752A (ko) 코프로세서 방식의 원칩 비동기 마이크로 프로세서 간의인터페이스 회로
JP2924783B2 (ja) リモートリード処理方法およびその装置
JPH10207829A (ja) バスコントローラ
KR100250465B1 (ko) 고속병렬컴퓨터의 메시지 전송 방법
JP4125933B2 (ja) 共通メモリを備えたプロセッサシステム
JP3058010B2 (ja) プロセッサ間通信方法及び装置
JP3299021B2 (ja) マルチバスii−scsiバスデータ転送方法および装置
JPH0621925A (ja) 多重化伝送路通信制御方式
JP3339442B2 (ja) 通信処理システムネットワーク
JPWO2004107188A1 (ja) データ処理装置及びデータ通信方法
JP2001127767A (ja) パケット転送システム及びそれを用いたパケット転送方法
JPH10143486A (ja) 並列計算機におけるデータ送受信方法
US8090891B2 (en) Method of providing communication in distributed systems
JP2001256171A (ja) データ転送方法及びモジュール

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050314

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050607

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050729

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050803

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060417

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20090512

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090512

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100512

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110512

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110512

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120512

Year of fee payment: 6

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20120512

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120512

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130512

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130512

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140512

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees