Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3683227B2 - ローカルバスブリッジ - Google Patents
[go: Go Back, main page]

JP3683227B2 - ローカルバスブリッジ - Google Patents

ローカルバスブリッジ Download PDF

Info

Publication number
JP3683227B2
JP3683227B2 JP2002090130A JP2002090130A JP3683227B2 JP 3683227 B2 JP3683227 B2 JP 3683227B2 JP 2002090130 A JP2002090130 A JP 2002090130A JP 2002090130 A JP2002090130 A JP 2002090130A JP 3683227 B2 JP3683227 B2 JP 3683227B2
Authority
JP
Japan
Prior art keywords
node
portal
local bus
packet
ieee
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
JP2002090130A
Other languages
English (en)
Other versions
JP2003289314A (ja
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 JP2002090130A priority Critical patent/JP3683227B2/ja
Priority to US10/391,024 priority patent/US7043594B2/en
Priority to EP03006290A priority patent/EP1351451A3/en
Publication of JP2003289314A publication Critical patent/JP2003289314A/ja
Application granted granted Critical
Publication of JP3683227B2 publication Critical patent/JP3683227B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40091Bus bridging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はローカルバスブリッジに関し、特にシリアルバスを分割し、互いに送受信をするためのローカルバスブリッジに関する。
【0002】
【従来の技術】
コンピュータの性能は年々加速化し、それに合わせて記憶装置等の周辺装置もますます高度化している。従来、家電製品とコンピュータ製品とは明確に区分されているが、近年、コンピュータの家電化と家電製品のディジタル化とが進み、両者が互いに共存することができる環境が必要となっている。
【0003】
このような背景において、高速かつ大容量のデータ転送を実現できるインタフェースとしてIEEE(The Institute of Electrical and Electronics Engineers)1394で標準化された高速シリアルバス(以下、IEEE1394バスとする)があげられる。このIEEE1394バスについては、「IEEE Standard for a High Performance Serial Bus」(以下、IEEE1394−1995とする)に記載されている。
【0004】
IEEE1394−1995ではデータ転送速度として、100Mbps(メガビット/秒)、200Mbps、400Mbpsが規定されている。さらに、IEEE1394−1995の拡張規格であるIEEE1394.bでは、最高3200Mbpsのデータ転送速度が規定されている。
【0005】
信号線はシールドされたツイストペアで構成され、耐ノイズ性を考慮して小振幅の差動信号でドライブされている。このデータはデータとストローブとからなっており、クロックはデータとストローブとの排他的論理和によって受信側で生成される。
【0006】
IEEE1394バスを用いて構築されたネットワークの一例を図40に示す。IEEE1394バスは取り回しが容易かつシンプルな構成のケーブル2100を用いる。また、接続形状はSCSI(Small Computer System Interface)のように、ノード(端末機器)2101〜210nのようなデイジーチェン接続に固定されず、ノード2101からノード2111,2121を通して、ノード2131〜2134のように複数のポート2130を持つノードで枝分かれさせて接続することも可能である。
【0007】
IEEE1394バスの大きな特徴として、電源を切ることなく、IEEE1394バスのネットワークに新しくノードを追加したり、取り外したりすることができる。IEEE1394−1995ではIEEE1212規格に従った64ビット固定アドレシングを採用している。
【0008】
IEEE1394のアドレスマップを図41に示す。アドレスマップの上位16ビットはNODE ID2201を示す。NODE ID2201の上位10ビットはBUS ID2202と、下位6ビットをPHY(Physical)ID2203とに分けられる。BUS ID2201は0から1023までを指定することができるが、1023はローカルバス2204(データ転送元であるノードに直接接続されているバス)を示す。また、PHY ID2203は0から63までを指定することができるが、63はブロードキャスト2205(バス内で接続されている全てのノードに宛てられるデータ)を示す。
【0009】
よって、IEEE1394においてはバス数が1023、各々のバスに63のノード、合計64449台の接続が可能である。各々のノードに割当てられたアドレス空間は残りの48ビット(256テラバイト)である。0から‘FFFFDFFF FFFF’(‘’は16進数を示す)がメモリ空間2208に、‘FFFF E000 0000’から‘FFFF EFFF FFFF’がプライベート空間2207に、‘FFFF F000 0000’から‘FFFF FFFF FFFF’がレジスタ空間2206にそれぞれ割当てられる。
【0010】
IEEE1394のレジスタはIEEE1212で規格されているCSR(Control and Status Registers)アーキテクチャを採用しているスタイルによって規定されている。CSRはレジスタ空間の‘000 0000’から‘000 01FF’までをCSRコアと基本的なレジスタ空間2209とによって構成されている。続けて、‘000 0200’から‘000 03FF’までをバス依存の用途2210で予約している。さらに‘000 0800’以降の空間も初期ユニットの中にノード依存のリソースのための空間2212として予約している。
【0011】
トランザクション対応のノードは、コンフィグレーションROM空間2211に会社識別子等のノードの特徴や機能を示す情報を実装しなくてはならない。コンフィグレーションROMは、図42に示すような内容が会社識別子のみの最小フォーマット形式と、図43に示すような一般フォーマット形式とがある。一般フォーマットにはbus info block2301内にnode vendor ID2302(すなわち、会社識別子)とchip ID2303とがある。
【0012】
図40において、各ノード間はツイストペア線2組をシールドしたケーブル2100で接続されている。各ノードはポート2130からケーブル2100の信号線に所定のバイアス電圧をかけている。図40に示すネットワークにおいてノードの追加または取外しがおきた場合、例えば、新規にノード2141のポート2140とノード2134のポート2130とがケーブルで接続された場合、ポート2130において信号線のバイアス電圧の変動を検知したノード2134はネットワーク全体に、ネットワークを初期化するための信号であるバスリセット信号を送信する。
【0013】
バスリセット信号を受信した各ノードと、バスリセット信号を送信したノード2134とは、これまでに記憶していたネットワークにあるバス及び接続されているノードに関する情報(以下、トポロジ情報とする)を破棄する。これによって、ネットワークの初期化が完了する。続いて、ネットワークではトポロジ情報の再構築が実行される。
【0014】
その時、各ノードに図41で示すPHY ID2203が割当てられ、そのバスの制御権を管理するルートノードや後述するIsochronousリソースを管理するIsochronous Resource Manager(以下、IRMとする)が決定する。これらのバスの初期化からトポロジの構築までの設定は、各ノード間で自動的に行われるので、ネットワークの使用者はノード毎に設定する必要はない。これらの特徴を有するIEEE1394バスはコンピュータとその周辺機器との接続のための手段だけに留まらず、家庭内のあらゆる機器間の接続を可能にしている。
【0015】
IEEE1394バス上では、パケットを転送するプロセスをサブアクション(subaction)と呼び、大きく分けて下記に示す二種類が存在する。一つはIsochronousサブアクションと呼ばれ、IEEE1394バスの特徴でもあるパケットを規則的な間隔で転送するという機能をもっている。このサブアクションでは特定のノードに転送するのでなく、チャネルアドレスを使用してバス全体に転送する。
【0016】
もう一つはAsynchronousサブアクションと呼ばれる、非同期の転送方法である。AsynchronousサブアクションはIsochronousサブアクションとは異なり、規則的な間隔でデータを転送することはできない。数バイトのヘッダ情報と実データとを、指定されたノードに転送し、データを受信したノードは必ず認識パケット(Acknowledge Packet)を返す。但し、転送先アドレス内のPHY ID2203が63のブロードキャストや、IEEE1394−1995の拡張規格であるIEEE1394a−2000から定義されているアシンクロナスストリームパケット(Asynchronous Stream Packet)等の認識パケットを必要としないサブアクションの場合、認識パケットは返らない。
【0017】
IEEE1394のシステム構成の一例を図44に示す。IEEE1394バスに接続されている、トランザクション対応のノードは物理層(Physical Layer)機能2403及びリンク層(Link Layer)機能2404からなるハードウェア(hardware)機能2401と、トランザクション層(Transaction Layer)機能2405及びシリアルバス管理(Serial Bus Management)機能2406からなるファームウェア(firmware)機能2402とを有している。送信パケットはトランザクション層機能2405からリンク層機能2404、物理層機能2405を通ってIEEE1394バス2400に送信される。また、受信パケットはIEEE1394バス2400から物理層機能2403、リンク層機能2404を通ってトランザクション層機能2405へと送られる。
【0018】
物理層機能2403はバスリセットによる初期化からトポロジの構築、IEEE1394バス2400のシリアルバスとリンク層機能2404のパラレルバスの変換、IEEE1394バス2400上におけるアービトレーションへの参加等である。この中のトポロジの構築フェーズにおいて、物理層機能2403はSELF IDパケットと呼ばれる、自分のNODE ID2201やスピード、接続情報等を他ノードに対して伝えるためのパケットを自動的に送信する。
【0019】
リンク層機能2404は、後述するサイクルスタートパケットの制御、パケット送信、リトライ制御、パケット受信制御、上記のCSRの管理等である。トランザクション層機能2405は、送信パケットの生成、受信パケットの処理等である。シリアルバス管理機能2406は、ノードの制御や、上記のIRMの機能等である。
【0020】
Isochronousサブアクション、Asynchronousサブアクションが行われているバスの一例を図45に示す。IEEE1394バスでは、上述した通り、バスリセット後のトポロジ構築によってルートノードが確定し、Isochronousパケットがある環境ではこのルートノードがサイクルスタートパケット(Cycle Start Packet)2502を送信するサイクルマスタになる。
【0021】
サイクルマスタは約125μs(マイクロ秒)の間隔で、サイクルスタートパケット2502を送出する。IRMからIsochronousリソースを獲得したノードはサイクルスタートパケット2502を検知すると、Isochronousパケット2503を送出する。その約125μsのサイクル期間2501内のすべてのIsochronousパケット2503が転送し終わり、サブアクションギャップ(Subaction gap)2506を検出すると、各ノードはAsynchronousパケット2504を送出し、それを受信したノードが認識パケット2505を返す。
【0022】
尚、サイクルスタートパケット2502もAsynchronousパケットである。また、上記のAsynchronousサブアクションにおけるトランザクションの形態として、二種類のトランザクションがある。
【0023】
トランザクションの形態の一つであるユニファイドトランザクションのデータの流れを図46に示す。要求ノードのトランザクション層2601から送信された要求パケットは要求ノードのリンク層2602、応答ノードのリンク層2603を通って、応答ノードのトランザクション層2604が受信する。すると、応答ノードのトランザクション層2604はすぐにこのパケットに対する完了の認識パケットを送信し、これを要求ノードのトランザクション層2601が確認してトランザクションが完結する。
【0024】
もう一つの形態であるスプリットトランザクションのデータの流れを図47に示す。要求ノードのトランザクション層2601から送信された要求パケットが、上述したユニファイドトランザクションと同様にして、応答ノードのトランザクション層2604で受信する。すると、応答ノードのトランザクション層2604はこのパケットに対し、ペンディングの認識パケットを送信し、ひとまずトランザクションを終わらせる。その後、応答ノードのトランザクション層2604で前に受取った要求に対する応答が準備できた時点で、完了の応答パケットを送信する。そのパケットを要求ノードのトランザクション層2601が確認し、送信した認識パケットを応答ノードのトランザクション層2604が確認して、トランザクションが完結する。
【0025】
IEEE1394バスではケーブルが挿抜される度に、上述したバスリセットが発生し、バスの初期化が行われるので、バスの使用効率が低下してしまう。この問題を解決するために、上記のBUS IDを使用してバスを分割するIEEE1394バスブリッジがP1394.1の規格や特開平11−220485号公報に示されている。
【0026】
【発明が解決しようとする課題】
上述した従来のIEEE1394バスでは、バスに接続されている全てのノードがあらゆるノードに対して使用権があるので、一つのノードがIEEE1394バスに接続されている他のノードを占有することができないという問題がある。
【0027】
また、IEEE1394バスブリッジを用いてIEEE1394バスを分割した時には、バスリセットからトポロジ情報を構築するまでの工程も分割されるので、IEEE1394バスブリッジの先に接続されているノードの存在を知る術がないという問題がある。
【0028】
そこで、本発明の目的は上記の問題点を解消し、IEEE1394バスに接続されるノードを特定のノードが確実に占有可能な環境を得ることができるローカルバスブリッジを提供することにある。
【0029】
また、本発明の他の目的は、バスを分割しても双方のバスに接続されているノード同士が互いに存在を認識可能な環境を得ることができるローカルバスブリッジを提供することにある。
【0030】
【課題を解決するための手段】
本発明によるローカルバスブリッジは、シリアルバスを分割して構築されかつ各々複数のノードが接続された第1及び第2のローカルバスを接続するローカルバスブリッジであって、
予め設定された特定ノードが接続された前記第1のローカルバスに前記第2のローカルバスの接続情報を通知する手段と、前記第2のローカルバスに前記特定ノードの情報のみを提示する手段とを備え
前記第1のローカルバスに接続されたノードと前記第2のローカルバスに接続されたノードとの間のデータ転送を相互に可能とするためにID変換を行う手段と、前記特定ノードの情報と前記第2のローカルバスに接続されたノード各々の情報とを管理するID変換テーブルとを含み、
前記ID変換テーブルを用いて前記特定のノードと前記第2のローカルバスに接続されたノード各々とのデータ転送を可能とし、
前記ID変換テーブルは、前記特定ノード及び前記第2のローカルバスに接続されたノード各々に固有の認識番号を用いて管理している。
【0031】
すなわち、本発明のローカルバスブリッジは、IEEE1394ローカルバスブリッジにおいて、BUS IDを変えることなく、バスを分割し、各バスに接続されているノードにおいてバスが分割されていることを意識することなく、互いに認識しあい、パケットの送受信を可能にしたことを特徴としている。
【0032】
本発明のローカルバスブリッジでは、一方のバスに対して他方のノードに接続されている特定のノードとして振舞い、その他のノードの存在を隠す。したがって、その特定のノードが同じバスに接続されているノードを占有することが可能となる。
【0033】
【発明の実施の形態】
次に、本発明の実施例について図面を参照して説明する。図1は本発明の一実施例によるローカルバスブリッジの構成を示すブロック図である。図1において、IEEE1394ローカルバスブリッジ1はLINK機能2と、専用PHY(Physical Layer)機能6と、標準PHY機能7と、ROM(Read Only Memory)8とから構成されている。ここで、PHY機能とはIEEE1394−1995またはその拡張規格で規定された物理層の機能を持つハードウェアのことである。
【0034】
また、LINK機能2は内部ポータル3と、外部ポータル4と、制御部5とから構成されている。内部ポータル3及び外部ポータル4はPHY−LINKインタフェース102,103を通じてそれぞれ専用PHY機能6及び標準PHY機能7に接続されている。
【0035】
内部ポータル3はローカルバス101上で一つのノードとして機能し、ローカルバス104に接続されているノードの情報を伝える。外部ポータル4はローカルバス104上でローカルバス101に接続されている特定のノードとして機能し、ローカルバス101に接続されているその他のノードの情報は伝えない。
【0036】
また、内部ポータル3及び外部ポータル4と制御部5とは内部バス111,112で接続されており、互いに通信が可能である。また、制御部5からROM8にコンフィグレーションROMの情報等の必要な情報を読み書きすることが可能である。
【0037】
制御部5は上記のシリアルバス管理、トランザクション層、リンク層の機能の他に、バスリセット分割、コンフィグレーションROMのミラーリング、NODE ID変換、スピード変換の機能を行う。
【0038】
IEEE1394ローカルバスブリッジ1は、内部ポータル3が接続されているローカルバス101に特定の端末を接続し、その識別情報をROM8に事前に記録しておき、電源投入後、ROM8からの識別情報により内部ポータル3側に接続されている特定の端末を検出する。
【0039】
一方、IEEE1394ローカルバスブリッジ1は、外部ポータル4が接続されているローカルバス104に接続されているすべての端末の識別情報を読出し、制御部5に格納する。IEEE1394ローカルバスブリッジ1は、再度、ローカルバス101にバスリセットを発生させ、ローカルバス104の接続情報を通知するために自己識別パケットを制御部5で生成し、専用PHY6を介して送信する。さらに、IEEE1394ローカルバスブリッジ1はローカルバス104にローカルバス101に接続されている特定の端末の情報のみを提示することによって、その特定の端末として振舞う。
【0040】
図2は図1の内部ポータル3の構成を示すブロック図である。図2において、内部ポータル3はパケット受信制御部31とパケット送信制御部32とから構成されている。パケット受信制御部31はパケット受信部311と、Asynchronousパケット受信制御部312と、Isochronousパケット受信制御部313とから構成されている。パケット送信制御部32はパケット送信部321と、サイクルスタートパケット送信制御部322と、Asynchronousパケット送信制御部323と、Isochronousパケット送信制御部324とから構成されている。
【0041】
パケット受信制御部31においてはローカルバス101から受信したパケットを専用PHY機能6を通して受信し、そのパケットをパケット受信部311によってAsynchronousパケットとIsochronousパケットとに分割し、各受信制御部に転送する。Asynchronousパケット受信制御部312はパケットを受信すると、必要な情報を制御部5に送り、許可を受けてから必要な情報を付加して制御部5に転送する。また、Isochronousパケット受信制御部313はパケットを受信すると、転送に必要な情報を付加して制御部5に転送する。
【0042】
パケット送信制御部32においては制御部5からサイクルスタートパケット送信制御部322にパケットが転送されてきたら、そのパケットをパケット送信部321からAsynchronousのタイミングで専用PHY機能6に送信し、ローカルバス101における上記のAsynchronousサブアクションを行う。
【0043】
制御部5からAsynchronous送信制御部323に転送されてきたパケットは、上記のサイクルスタートパケットと同様に、Asynchronousのタイミングでパケット送信部321から送信を行う。尚、サイクルスタートパケットとAsynchronousパケットとにおいては、サイクルスタートパケットが優先して送信される。Isochronous送信制御部324も、上記と同様にして、IsochronousのタイミングでIsochronousサブアクションを行う。
【0044】
図3は図1の外部ポータル4の構成を示すブロック図である。図3において、外部ポータル4はパケット受信制御部41とパケット送信制御部42とから構成されている。パケット受信制御部41はパケット受信部411と、サイクルスタートパケット受信制御部412と、Asynchronousパケット受信制御部413と、Isochronousパケット受信制御部414とから構成されている。パケット送信制御部42はパケット送信部421と、サイクルスタートパケット送信制御部422と、Asynchronousパケット送信制御部423と、Isochronousパケット送信制御部424とから構成されている。外部ポータル4ではサイクルスタートパケット受信制御部412を除いて、上述した内部ポータル3と同様の動作をする。
【0045】
内部ポータル3は後述する専用PHY機能6の動作によって、確実に上記のサイクルマスタ及びIRMになるので、サイクルスタートパケットは送信方向のみであるが、外部ポータル4ではバスリセットの度にサイクルマスタが変わり、サイクルスタートパケットの送受信の方向が決まる。送信する時は内部ポータル3と同様の動作となり、受信動作はローカルバス104からのパケットを標準PHY機能7を通して受信し、パケット受信部411、サイクルスタートパケット受信制御部412と通じて制御部5に転送する動作となる。
【0046】
図4は図1の制御部5の構成を示すブロック図である。図4において、制御部5はサイクルスタートパケット制御部51と、トランザクション制御部52と、ID変換部53と、CSR(Control and Status Registers)制御部54とから構成されている。トランザクション制御部52は内部ポータル3から外部ポータル4へパケットを転送するためのAsynchronousパケット転送FIFO(First In First Out)521と、Isochronousパケット転送FIFO522と、外部ポータル4から内部ポータル3へパケットを転送するためのAsynchronousパケット転送FIFO523と、Isochronous転送FIFO524とから構成されている。
【0047】
サイクルスタートパケット制御部51は外部ポータル4がサイクルマスタであるか否かを調査し、サイクルマスタであれば、サイクルスタートパケットを送信するタイミングで内部ポータル3及び外部ポータル4の両方に送信し、サイクルマスタでなければ、外部ポータル4からサイクルスタートパケットが転送されてきたら、そのタイミングで内部ポータル3にサイクルスタートパケットを送信する。
【0048】
トランザクション制御部52は内部ポータル3からAsynchronousパケットを受信したら、Asynchronousパケット転送用FIFO521に1パケット分受信してから外部ポータル4へ送信する。また、外部ポータル4からAsynchronousパケットが転送されてきた場合も、上記と同様である。
【0049】
トランザクション制御部52は内部ポータル3からIsochronousパケットを受信したら、外部ポータル4で送受信するサイクルスタートパケットの後に送信するタイミングで外部ポータル4に転送する。外部ポータル4から転送してきた場合も基本的には同じであるが、後述するように、両者の送信タイミングは少々異なる。
【0050】
ID変換部53は内部ポータル3のローカルバス101に接続されているノードのトポロジと、外部ポータル4のローカルバス104に接続されているノードのトポロジとを認識するとともに、その情報をID変換テーブル531に保持する。
【0051】
図5は図4のID変換テーブル531の構成を示す図である。ここで、内部ポータル3をポータルA、外部ポータル4をポータルBとする。図5において、ID変換テーブル531はポータルAノード管理番号531a、ポータルAノード転送性能コード531b、ポータルAノードID531c、ポータルBノード管理番号531d、ポータルBノード転送性能コード531e、ポータルBノードID531f、ポータルBノード管理番号アクティブフラグ531g、ポータルBノードアクティブフラグ531h、ポータルB自ノードフラグ531i、ポータルBルートフラグ531j、ポータルBコンテンダフラグ531k、仮想ポート管理番号531lの各フィールドから構成されている。
【0052】
ポータルAノード管理番号531aのフィールドには上記のポータルAで検出した登録ノードのnode vendor ID(会社識別子)2302及びchip ID2303のデータが格納される。ポータルAのバスリセット発生時に登録ノードを検出する動作では、このポータルAノード管理番号531aと比較し、一致したものを登録ノードと判断する。これは、各装置において、バスリセット時に不変である認識番号(装置固有の認識番号)を使うことで、各装置を識別しようとするものである。尚、図5ではnode vendor ID2302及びchip ID2303をマージして32ビット構成としているが、node vendor ID2302及びchip ID2303をそのまま格納して64ビット構成としてもよい。また、node vendor ID2302及びchip ID2303以外に、各装置を識別する手段があれば、それを管理コードとしても差し支えない。
【0053】
ポータルAノード転送性能コード531bのフィールドは2ビットで構成され、登録ノードの転送可能速度をあらわす。本発明のIEEE1394ローカルバスブリッジは、ポータルAからポータルBへのパケット転送時及びポータルBからポータルAへのパケット転送時、接続相手に合わせた適正な転送速度に変換をも可能とさせているためである。尚、転送性能がS100(100Mbps)の場合に#0、S200(200Mbps)の場合に#1、S400(400Mbps)の場合に#2としている。
【0054】
ポータルAノードID531cのフィールドは6ビットで構成され、ポータルAに登録されているノードのポータルAでのノードID、及びポータルAから見たポータルBの各ノードのノードIDを示すものである。
【0055】
ポータルBノード管理番号531dのフィールドにはポータルBに存在する各ノードのnode vendor ID2302及びchip ID2303のデータが格納される。ポータルBのバスリセット発生時にノードを検出する動作では、このポータルBノード管理番号531dを使って各ノードの識別を行う。これも、各装置において、バスリセット時に不変である認識番号を使うことで、各装置を識別しようとするものである。尚、図5ではnode vendor ID2302及びchip ID2303をマージして32ビット構成としているが、node vendor ID2302及びchip ID2303をそのまま格納して64ビット構成としてもよい。また、node vendor ID2302及びchip ID2303以外に、各装置を識別する手段があれば、それを管理コードとしても差し支えない。
【0056】
ポータルBノード転送性能コード531eのフィールドは2ビットで構成され、ポータルBの各ノードの転送可能速度を表す。ポータルAと同様に、転送性能がS100(100Mbps)の場合に#0、S200(200Mbps)の場合に#1、S400(400Mbps)の場合に#2としている。これは本発明のIEEE1394ローカルバスブリッジ1において、ポータルAからポータルBへのパケット転送時、及びポータルBからポータルAへのパケット転送時に接続相手に合わせた適正な転送速度への変換をも可能とさせているためである。
【0057】
ポータルBノードID531fのフィールドは6ビットで構成され、ポータルB上での各ノードのノードIDを格納する。ポータルBノード管理番号アクティブフラグ531gのフィールドは1ビットで構成され、ポータルBノード管理番号531dが有効かどうかを表す。ポータルBでバスリセットが発生した場合には各ノードの識別時に随時アクティブにしていく。
【0058】
ポータルBノードアクティブフラグ531hのフィールドは1ビットで構成され、ポータルBの各仮想ポートにノードが存在するかどうかを示すものである。IEEE1394ローカルバスブリッジ1はポータルBのバスリセットで認識したノードに対応したポートをアクティブにする。例えば、ポータルBのノードが抜かれた場合、IEEE1394ローカルバスブリッジ1はポータルBノードアクティブフラグ531hをクリアさせる。もし、抜かれたノードが復活した場合、IEEE1394ローカルバスブリッジ1はそのポータルBノード管理番号531dに一致すると、ポータルBノードアクティブフラグ531hを有効にする。
【0059】
これは、ポータルBのバスリセットを、不用意にポータルAへ伝えず、ポータルAの転送効率を向上させるために用意している。但し、ポータルBで新しいノードが発見された場合、すなわち、ポータルBノード管理番号アクティブフラグ531gがアクティブであるポータルBノード管理番号531dと一致するノードが存在しない場合には、初めてポータルBに新しいノードが追加されたことを認識することができる。
【0060】
ポータルB自ノードフラグ531iのフィールドは1ビットで構成され、ポータルBのノード識別時、IEEE1394ローカルバスブリッジ1が割当てられたノードについてフラグをアクティブにする。
【0061】
ポータルBルートフラグ531jのフィールドは1ビットで構成され、ポータルBのルートノードのノードについてアクティブにする。ポータルBコンテンダフラグ531kのフィールドは1ビットで構成され、ポータルBのコンテンダが可能なノードについてアクティブにする。もし、ポータルBルートフラグ531jがアクティブでポータルBコンテンダフラグ531kがアクティブでない場合、サイクルマスタが存在しなくなり、サイクルがポータルAとの整合を取れなくなってしまう。そのうような不整合を生じさせないため、ポータルBルートフラグ531jとポータルBコンテンダフラグ531kとが用意されている。
【0062】
仮想ポート管理番号531lのフィールドは4ビットで構成され、ポータルBの各ノードをどのポートに割り振るかを管理するために用意されている。仮想ポート管理番号531lは仮想16ポートPHYのポート2からポート15までに対応する。ポータルB自ノードフラグ531iが立っているところは、番号の読みを1つ飛ばして数える。ゆえに、それぞれの番号はそれぞれのポート番号と一致する。パケットの転送はこのID変換テーブル531の情報を基に行われる。
【0063】
CSR制御部54は各ポータルに接続されたノードから自ノードのレジスタ空間2206宛てのパケットを受信した場合、自動的に応答パケットを生成して送信する。外部ポータル4から自ノードのコンフィグレーションROM空間2211にアクセスがきた場合には、内部ポータル3側に接続されている特定のノードから事前にコピーしたコンフィグレーションROMの内容を返す。
【0064】
上述のID変換を実現させるためには、ポータルBのトポロジを、ポータルAへ伝えることが必要となるが、単純に自ノードの自己識別パケットや、ポータルBで発生した自己識別パケットのノードIDを変換した自己識別パケットを送出することはできない。なぜなら、ポータルBとポータルAとはそれぞれ独立したローカルバスとしてトポロジを構成しているため、ポータルAでの各自己識別パケットのポート接続情報に不整合が生じてしまうためである。そこで、トポロジの不整合を生じさせないための方策が必要となる。これを実現するため、ポータルAに対し、仮想16ポートPHYに見せかけることで、解決することができる。
【0065】
図6は本発明の一実施例で用いる仮想16ポートPHYのイメージ図である。図6においては上記の解決策のイメージを示している。図6において、本発明ではIEEE1394ローカルバスブリッジ1に仮想的に16ポートが存在するように見せかけている。
【0066】
ポータルAに現実に存在するポートはポートP(0) 11及びP(1) 12である。残りのポートP(2) 13,P(3) 14,P(4) 15,P(5) 16,P(6) 17,P(7) 18,P(8) 19,P(9) 20,P(10)21,P(11)22,P(12)23,P(13)24,P(14)25,P(15)26は仮想ポートとし、ポータルBの各ノードがそれぞれに接続されているように見せかける。
【0067】
図7は本発明の一実施例によるローカルバスブリッジの自ノードの自己識別パケットの詳細な構成を示す図であり、図8は本発明の一実施例によるポータルBの各ノードの自己識別パケットの詳細な構成を示す図である。これら図7及び図8はポータルBのトポロジをポータルAへ伝える際の自己識別パケットを示している。
【0068】
図7においてはIEEE1394ローカルバスブリッジの自ノードの自己識別パケットの詳細な構成を示している。この自己識別パケットは3つのパケットPKT(0) 601,PKT(1) 602,PKT(2) 603で構成されており、P(0) 604,P(1) 605,P(2) 606,P(3) 607,P(4) 608,P(5) 609,P(6) 610,P(7) 611,P(8) 612,P(9) 613,P(10)614,P(11)615,P(12)616,P(13)617,P(14)618,P(15)619の各フィールドによってポート15までのポートの状態を伝えることができる。
【0069】
すなわち、この16個のポートのうちP(2) 606,P(3) 607,P(4) 608,P(5) 609,P(6) 610,P(7) 611,P(8) 612,P(9) 613,P(10)614,P(11)615,P(12)616,P(13)617,P(14)618,P(15)619の各フィールドによって14個のポートを仮想ポートに割当てることで、ポータルBのトポロジ情報をポータルAに伝えることができる。尚、各パケットの情報は、ID変換テーブル531の情報を基に生成されて送信される。
【0070】
図8においてはポータルBの各ノードの自己識別パケットの詳細な構成を示している。この自己識別パケットはあたかも仮想ポートに接続され、かつそれぞれのノードには1個のポートしか存在しないようにP(1) 702,P(2) 703を未接続と表す#00に固定している。P(0) 701及びその他の情報はID変換テーブル531の情報を基に生成することができる。
【0071】
このように、仮想16ポートPHY構成を実現させることによって、後述するID変換を効率的に、かつ単純化させることができる。もし、ポータルBのトポロジをそのまま反映させた場合、ID変換テーブル531は非常に複雑化し、ハードウェアロジックでは対応することができない。今回のような、ローカルバスブリッジを実現させるためには、高速でのID変換が必要であり、ID変換テーブル531を単純化させることによって、それを実現するものである。ちなみに、ID変換テーブル531の仮想ポート管理番号531lは、その仮想ポートに対応している。管理番号#00は仮想ポートP(2) 13、管理番号#01は仮想ポートP(3) 14、以下順次、昇順に割当て、自ノードフラグの部分は飛ばして管理し、管理番号#14は仮想ポートP(15)26と割り振る。したがって、ID変換テーブル531とトポロジ管理とが非常に簡略化され、高速な自己識別パケットの送信やID変換を可能とすることができる。
【0072】
Isochronousサブアクションは、サイクルスタートパケットによって等時性を保たせている。本発明のIEEE1394ローカルバスブリッジ1では、ポータルAとポータルBとが別々のローカルバスであることから、その同期を取るため、ポータルAまたはポータルBのどちらかでルートを確保する必要がある。
【0073】
ポータルBには別のIEEE1394ローカルバスブリッジが接続される場合が考えられ、その場合、互いにルートを取り合ってしまう可能性がある。したがって、IEEE1394ローカルバスブリッジ1のポータルAにおいてルートを確実に取る方法を考える必要がある。そのため、ポータルA側のPHYに専用PHY機能6が必要となる。
【0074】
次に、確実にルートを取る方法について説明する。通常ルートの決定は、PHY同士でペアレントノティファイ信号とチャイルドノティファイ信号とのやり取りで行わる。バスリセットが発生すると、トポロジの構築が開始される。
【0075】
各PHYは1つのポートを除いて接続されているポートが無いか、または1つのポートを除いて接続されたポートからペアレントノティファイ信号を受取った場合、残った1つのポートに対してペアレントノティファイ信号を受信するか否かを規定時間待って、ペアレントノティファイ信号を受取らなかった場合、自らペアレントノティファイ信号を出力する。
【0076】
逆に、すべてのポートからペアレントノティファイ信号を受信した場合、そのPHYがルートとなる。そこで、本発明で使用する専用PHY機能6は、バスリセット後のトポロジ構築時、ペアレントノティファイ信号を出すタイミングをループ検出しないぎりぎりまで遅らせることによって、確実にルートを取ることを可能とさせている。
【0077】
図9〜図11は本発明の一実施例によるローカルバスブリッジ全体の動作を示すフローチャートである。図12は本発明の一実施例における登録モード時の接続形態を示す図であり、図13は本発明の一実施例における登録モード時にポータルAへの最初のバスリセットを発行してから自己識別フェーズの終了までの流れを示す図であり、図14は本発明の一実施例における登録モード時にポータルAへの最初のバスリセット発行時の各ノードの自己識別パケットの詳細な構成を示す図である。
【0078】
これら図9〜図14を参照して本実施例の動作について説明する。まず、本発明のIEEE1394ローカルバスブリッジ1全体の動作について説明する。尚、以下の説明では上記の内部ポータル3をポータルA、外部ポータル4をポータルBとする。
【0079】
IEEE1394ローカルバスブリッジには、2つの動作方式があり、その動作方式の設定方法は、本実施例においてハードウェアリセットが解除された時の一入力端子の状態を見て動作方式を決定づけるものとする。動作方式は、ポータルAに接続する特定のノードをIEEE1394ローカルバスブリッジに事前に登録する動作方式と、通常運用する時の動作方式とがある。以下、前者を登録モード、後者を通常モードと称す。まず、登録モードについて説明する。
【0080】
登録モード時の接続形態を図12に示す。登録モード時にはIEEE1394ローカルバスブリッジ1のポータルA側のポート91,92のいずれかに1台のIEEE1394インタフェースを有する端末機器を接続する。ここではこの端末機器をノードA9とする。
【0081】
ユーザはIEEE1394ローカルバスブリッジ1を登録モードに設定した後、電源を投入する(図9ステップS1)。IEEE1394ローカルバスブリッジ1に接続されるハードウェアリセット信号が解除と同時に、IEEE1394ローカルバスブリッジ1は登録モードに入る。
【0082】
まず、動作方式に関わらず、EEPROM(Electrically Erasable Programmable Read−Only Memory)8の内容をCSR制御部54内部のレジスタ(図示せず)にロードする(図9ステップS2)。このデータの内容はポータルA側に接続されるノードに示すためのIEEE1394ローカルバスブリッジ1自身のコンフィグレーションROMの内容である。
【0083】
続いて、IEEE1394ローカルバスブリッジ1はポータルA側にバスリセットを発生する(図9ステップS3,S4)。バスリセットが発生すると、自己識別フェーズが開始される。この自己識別フェーズの動作について、図13及び図14を参照して説明する。図13は横軸が時間で、バスリセットが発生してから、自己識別フェーズの終了までを表している。図14はノードAの自己識別パケットの詳細PKT(0) 901及びIEEE1394ローカルバスの自己識別パケットの詳細PKT(1) 921,PKT(2) 922,PKT(3) 923を示すものである。
【0084】
ポータルAのローカルバス上でバスリセットが発生すると、PHYからバスリセット開始を知らせるステート(Bus Reset)801が通知される。次に、ノードA9とIEEE1394ローカルバスブリッジ1との間でトポロジの構築がなされ、子ノード、親ノードが決定され、自己識別フェーズが開始される。
【0085】
ポータルA側のPHYは、上述した専用PHY機能6であるので、必ずIEEE1394ローカルバスブリッジ1がルートとなる。自己識別パケットの送信順番は、ルートから見て子ノードの中でポート0側から順次送信が許される。図12での接続形態では、ノードA9及びIEEE1394ローカルバスブリッジ1のみの構成であるため、子ノードであるノードA9の自己識別パケットが、ノードA9から発行されるノードAの識別パケット(ID#0)802がそれにあたる。この時の自己識別パケットの詳細は図14に示すノードAの自己識別パケットの詳細PKT(0) 901の形になる。
【0086】
この場合、最初の自己識別パケットであるため、上記の自己識別パケットのPHY ID902は#0となる。gap cnt903は現在、ノードA9に設定されているギャップカウントの値が反映される。ここでは、全くの最初の自己識別フェーズであるため、#3Fとなる。sp904、del905、cビット906、pwr907はノードA9の条件に準じる。
【0087】
p(0) 908はノードA9のP(0) 91の状態を表し、IEEE1394ローカルバスブリッジ1に対して子ノードであるため、#10となる。p(1) 909はノードA9のP(1) 92の状態を表し、未接続であるため、#01となる。p(2) 910はノードA9に存在しないため、#00となる。
【0088】
iビット911はバスリセットを発生させたかどうかを示すので、状況によって変化する。ここでは、IEEE1394ローカルバスブリッジ1がバスリセットを発行しているため、#0となる。ノードA9には、これ以上ポートが存在しないため、mビット912を#0とし、連結の自己識別パケットが無いことを表している。
【0089】
ノードA9の自己識別パケットの発行が完了すると、他ノードが存在しないため、ルートであるIEEE1394ローカルバスブリッジ1が自己識別パケットを発行する。IEEE1394ローカルバスブリッジ1には仮想16ポートのポートが存在しているため、自己識別パケットは3個送出することになる。図13におけるブリッジ識別パケットID#1(1/3)803、ブリッジ識別パケットID#1(2/3)804及びブリッジ識別パケットID#1(3/3)805がそれにあたる。この時の自己識別パケットの詳細な構成は図14に示すIEEE1394ローカルバスの自己識別パケットの詳細PKT(1) 921,PKT(2) 922,PKT(3) 923の形になる。
【0090】
上記の自己識別パケットのPHY ID924は2つ目のノードであることから#1となる。ブリッジ識別パケットID#1(1/3)803のgap cunt925は#3F固定とする。但し、本発明のIEEE1394ローカルバスブリッジ1の性能によって適正な値にするべきである。
【0091】
sp926は使用条件によって事前に決めておけばよい。ここでは400Mbps対応とし、#2としている。cビット927はIEEE1394ローカルバスブリッジ1がポータルAで必ずルートになる性質上、コンテンダ機能を有する必要がある。したがって、#1とする。
【0092】
p(0) 928とp(1) 929とがIEEE1394ローカルバスブリッジ1において実在するポートである。2つあるポートのうちの1つは必ず#11となる。もし、2ポートとも接続されていたならば、p(0) 928、p(1) 929ともに#11となる。
【0093】
バスリセットを発生させたのは、IEEE1394ローカルバスブリッジ1であるので、iビット931は#1となる。mビット932は自己識別パケットが3つ必要であるため#1となる。p(2) 930、ブリッジ識別パケットID#1(2/3)804のp(3) 〜p(10)933、ブリッジ識別パケットID#1(3/3)805のp(11)〜p(15)934については、ポータルBの情報に割当てるが、ここではポータルBの情報を有していないため、便宜上すべて未接続と見せかけるため、#01とする。
【0094】
IEEE1394ローカルバスブリッジ1の自己識別パケットが終了し、規定時間が経過し、サブアクションギャップが発生すると、ステート(Subaction Gap)806がPHYから通知され、自己識別フェーズが終了する。
【0095】
図15は本発明の一実施例における登録モード時にポータルAの最初の自己識別フェーズの終了時の16ポートPHYの接続状態を示す図である。図15においては16ポートPHYに置き換えたポータルA側から見たイメージ接続状態を示している。
【0096】
ノードA9のノードIDは#0となり、IEEE1394ローカルバスブリッジ1のノードIDは#1となる。その他の仮想ポート27には何も繋がっていないように見せかけている。自己識別フェーズ(図5ステップS5)が完了した時点で、ノードIDは図15に示す通りに割り振られる。
【0097】
図16は本発明の一実施例におけるリードリクエストパケットの詳細な構成を示す図であり、図17は本発明の一実施例における応答パケットの詳細な構成を示す図である。
【0098】
続いて、IEEE1394ローカルバスブリッジ1はノードA9のコンフィグレーションROMの内容を読込むために、まず図16に示すリードリクエストパケットを送信する。
【0099】
図16において、destinationID1001はパケット送信先のノードIDを示し、数値‘FFC0’(16進数)はローカルバスのPHY ID#0、すなわち宛先ノードA9を示す。TL1002はトランザクションラベルを示し、送信側のリンク層ロジックが任意に割り振る。RT1003はリトライコード、tcode1004はトランザクションコードで、数値の‘4’はQuadlet(32ビット幅)のデータリードリクエストパケットであることを示す。
【0100】
sourceID1005は送信元のノードIDを示し、数値‘FFC1’は送信元であるIEEE1394ローカルバスブリッジ1のノードIDを示す。destination offset1006はコンフィグレーションROM領域の先頭アドレス番地‘FFFFF0000400’を示す。
【0101】
続いて、ノードA9はリードリクエストパケット受信後に、認識パケット(ペンディング)を送信する。IEEE1394ローカルバスブリッジ1はノードA9がリードリクエストパケットを受信したことを認識する。続いて、ノードA9は図17に示すような応答パケットを送信する。
【0102】
図17において、TL1102は上述したリードリクエストパケットのTLと同じ数値が入る。quadlet data1103はコンフィグレーションROM先頭番地の32ビットデータが読出される。IEEE1394ローカルバスブリッジ1はquadlet data1103をCSR制御部54内のレジスタに格納し、これをノードA9のコンフィグレーションROMの最終アドレスまで繰り返す。
【0103】
コンフィグレーションROMの最終アドレスの算出はコンフィグレーションROMのcrc length(図43参照)から算出される。crc lengthはコンフィグレーションROMのbus info block2301以降のデータ長をQuadlet(32ビット)単位で提示している。よって、コンフィグレーションROMの最終アドレスは‘FFFF F000 0400’+crc length×4となる。
【0104】
ノードA9のコンフィグレーションROMの内容を全てCSR制御部54のレジスタに格納したら(図9ステップS6)、IEEE1394ローカルバスブリッジ1はノードA9のnode vendor ID2302及びchip ID2303の内容をCSR制御部54からEEPROM8に格納する(図9ステップS7)。ここで、IEEE1394ローカルバスブリッジ1の登録モードを完了し(図9ステップS8)、通常モードに移行する。
【0105】
図18は本発明の一実施例における通常モード時の接続形態を示す図であり、図19は本発明の一実施例における通常モード時にポータルAへの最初のバスリセットを発行してから自己識別フェーズの終了までの流れを示す図である。図20は本発明の一実施例における通常モード時にポータルAへの最初のバスリセット発行時の各ノードの自己識別パケットの詳細な構成を示す図であり、図21は本発明の一実施例における通常モード時にポータルAの最初の自己識別フェーズの終了時の接続状態を示す図であり、図22は本発明の一実施例における登録ノードの情報が反映された状態のID変換テーブルの構成を示す図である。
【0106】
続いて、図9〜図11に示すフローチャートにしたがって、図18〜図22を参照して通常モードの動作について説明する。図18は通常モード時の接続形態例を示す。
【0107】
IEEE1394ローカルバスブリッジ1は電源投入後(図9ステップS1)、上述した登録モード時と同様に、EEPROM8から自ノードのコンフィグレーションROM情報をCSR制御部54内のレジスタに格納する(図9ステップS2)。続いて、IEEE1394ローカルバスブリッジ1はポータルA側にバスリセットを発生させる(図9ステップS3,S9)。
【0108】
バスリセットが発生すると、自己識別フェーズが開始される(図9ステップS10)。この自己識別フェーズの動作について、図19及び図20を参照して説明する。
【0109】
図19は横軸が時間で、バスリセットが発生してから、自己識別フェーズの終了までを表している。図20はノードB9−2の自己識別パケットの詳細PKT(0) 1301、ノードAの自己識別パケットの詳細PKT(1) 1321、ノードCの自己識別パケットの詳細PKT(2) 1341、IEEE1394ローカルバスブリッジ1の自己識別パケットの詳細PKT(3) 1361,PKT(4) 1362,PKT(5) 1363を示すものである。
【0110】
ポータルAのローカルバス上でバスリセットが発生すると、PHYからはバスリセット開始を知らせるステート(Bus Reset)1201が通知される。次に、ノードA9−1、ノードB9−2、ノードC9−3及びIEEE1394ローカルバスブリッジ1間でトポロジの構築がなされ、子ノード、親ノードが決定され、自己識別フェーズが開始される。
【0111】
ポータルA側のPHYは、上述した専用PHY機能6であるので、必ずIEEE1394ローカルバスブリッジ1がルートとなる。自己識別パケットの送信順番は、ルートから見て子ノードの中でポート0側から順次送信が許される。図18に示す接続形態では、ノードB9−2が最小番号の子ノードとなる。したがって、最初の自己識別パケットが、ノードB9−2から発行される。図19におけるノードBの識別パケット(ID#0)1202がそれにあたる。この時の自己識別パケットの詳細は図20のノードBの自己識別パケットの詳細PKT(0) 1301に示される形になる。
【0112】
PHY ID1302は最初の自己識別パケットであるため、#0となる。gap cnt1303は現在、ノードB9−2に設定されているギャップカウントの値が反映される。sp1304、del1305、cビット1306、pwr1307はノードB9−2の条件に準じる。
【0113】
p(0) 1308はノードB9−2のP(0) 91−2の接続状態を表し、ノードA9−1が親ノードであるため、#10となる。p(1) 1309はノードB9−2のP(1) 92−2の状態を表し、未接続であるため、#01となる。p(2) 1310はノードB9−2に存在しないため、#00となる。
【0114】
iビット1311はバスリセットを発生させたかどうかを示すので、状況によって変化する。ここでは、IEEE1394ローカルバスブリッジ1がバスリセットを発行しているため、#0となる。ノードB9−2にはこれ以上ポートが存在しないため、mビット1312を#0とし、連結の自己識別パケットが無いことを表している。
【0115】
次に、自己識別パケットの送信をルートから許可されるのは、2番目に最小番号をもつノードA9−1である。したがって、2番目の自己識別パケットが、ノードA9−1から発行される。図19におけるノードAの識別パケット(ID#1)1203がそれにあたる。この時の自己識別パケットの詳細は図20のノードAの自己識別パケットの詳細PKT(1) 1321に示される形になる。
【0116】
PHY ID1322は2番目の自己識別パケットであるため、#1となる。gap cnt1323は現在、ノードA9−1に設定されているギャップカウントの値が反映される。sp11324、del1325、cビット1326、pwr1327はノードA9−1の条件に準じる。
【0117】
p(0) 1328はノードA9−1のP(0) 91−1の接続状態を表し、IEEE1394ローカルバスブリッジ1が親ノードであるため、#10となる。p(1) 1329はノードA9−1のP(1) 92−1の状態を表し、ノードB9−2が子ノードとして接続されているため、#11となる。p(2) 1330はノードA9−1に存在しないため、#00となる。
【0118】
iビット1331はバスリセットを発生させたかどうかを示すので、状況によって変化する。ここでは、IEEE1394ローカルバスブリッジ1がバスリセットを発行しているため、#0となる。ノードA9−1にはこれ以上ポートが存在しないため、mビット1332を#0とし、連結の自己識別パケットが無いことを表している。
【0119】
次に、自己識別パケットの送信をルートから許可されるのは、3番目に最小番号をもつノードC9−3である。したがって、3番目の自己識別パケットが、ノードC9−3から発行される。図19におけるノードCの識別パケット(ID#2)1204がそれにあたる。この時の自己識別パケットの詳細は図20のノードCの自己識別パケットの詳細PKT(2) 1341に示される形になる。
【0120】
PHY ID1342は3番目の自己識別パケットであるため、#2となる。gap cnt1343は現在、ノードC9−3に設定されているギャップカウントの値が反映される。sp1344、del1345、cビット1346、pwr1347はノードC9−3の条件に準じる。
【0121】
p(0) 1348はノードC9−3のP(0) 91−3の接続状態を表し、IEEE1394ローカルバスブリッジ1が親ノードであるため、#10となる。p(1) 1349はノードC9−3のP(1) 92−3の状態を表し、未接続のため、#01となる。p(2) 1350はノードC9−3に存在しないため、#00となる。
【0122】
iビット1351はバスリセットを発生させたかどうかを示すので、状況によって変化する。ここでは、IEEE1394ローカルバスブリッジ1がバスリセットを発行しているため、#0となる。ノードC9−3にはこれ以上ポートが存在しないため、mビット1352を#0とし、連結の自己識別パケットが無いことを表している。
【0123】
ノードC9−3の自己識別パケットの発行が完了すると、他ノードが存在しないため、ルートであるIEEE1394ローカルバスブリッジ1が自己識別パケットを発行する。IEEE1394ローカルバスブリッジ1には仮想16ポートのポートが存在しているため、自己識別パケットは3個送出することになる。図19におけるブリッジ識別パケットID#1(1/3)1205、ブリッジ識別パケットID#1(2/3)1206、ブリッジ識別パケットID#1(3/3)1207がそれにあたる。この時の自己識別パケットの詳細は図20のIEEE1394ローカルバスの自己識別パケットの詳細PKT(3) 1361、PKT(4) 1362、PKT(5) 1363に示される形になる。
【0124】
PHY ID1364は4番目のノードであることから#3となる。gap cunt1365、sp1366、cビット1367に関しては、上記の登録モード時と同じである。
【0125】
p(0) 1368とp(1) 1369とがIEEE1394ローカルバスブリッジ1において実在するポートである。図18に示す実施形態では2ポートとも接続されているため、p(0) 1368及びp(1) 1369がともに#11となる。バスリセットを発生させたのは、IEEE1394ローカルバスブリッジ1であるので、iビット1371は#1となる。mビット1372は自己識別パケットが3つ必要であり、続く自己識別パケットが存在するので、#1となる。
【0126】
p(2) 1370、ブリッジ識別パケットID#1(2/3)1206のp(3) 〜p(10)1373と、ブリッジ識別パケットID#1(3/3)1207のp(11)〜p(15)1374とについては、ポータルBの情報に割当てるが、この時点ではまだ、ポータルBの情報を有していないため、便宜上すべて未接続と見せかけるため、#01とする。
【0127】
IEEE1394ローカルバスブリッジ1の自己識別パケットが終了し、規定時間が経過し、サブアクションギャップが発生すると、ステート(Subaction Gap)1208がPHYから通知され、自己識別フェーズが終了する。この時点でのトポロジは図21に示すノードA9−1、ノードB9−2、ノードC9−3及びIEEE1394ローカルバスブリッジ1のようになる。
【0128】
続いて、IEEE1394ローカルバスブリッジ1はポータルA側のバス上から登録ノードを検出する。その検出動作ではEEPROM8からCSR制御部54内のレジスタに、上述した登録モードで格納したノードA9−1のnode vendor ID2302及びchip ID2303のデータを格納する(図9ステップS11)。
【0129】
まず、ノードID#0であるノードB宛てにコンフィグレーションROMのnode vendor ID2302及びchip ID2303の値を転送スピードS100(100Mbps)で読出す。上記のようにして登録したnode vendor ID2302及びchip ID2303のデータを比較し、登録したデータはノードA9−1のものなので不一致となる。同様に、ノードID#0であるノードB9−2から読出しを行い、これも不一致になる。さらに、ノードID#1であるノードA9−1から読出しを行う。この時、node vendor ID2302及びchip ID2303の値は上記の登録モードで登録した値と一致する(図9ステップS12,S13、図11ステップS19,S20)。
【0130】
続いて、同じリードリクエストパケットを転送スピードS200(200Mbps)で送信するノードA9−1から認識パケット及び応答パケットを受信したら、さらに転送スピードS400(400Mbps)でリードリクエストパケットで送信する。S400のリードリクエストパケットに対し、ノードA9−1が認識パケットを送信しなかった場合、IEEE1394ローカルバスブリッジ1はノードA9−1の転送性能がS200までであると判断する。認識パケット及び応答パケットを受信した場合には、転送性能がS400であると判断する。ここで、登録したノードAのノードIDは#1であり、その転送性能コード(S100、またはS200、あるいはS400)をID変換部53に通知する。
【0131】
登録ノードの決定時に得られたノードID及び登録ノードの検出時に得られた転送性能コードはID変換部53に配置されているID変換テーブル531に格納して管理する。その反映された状態を図22に示す。
【0132】
図22において、ポータルAノード管理番号521aに、登録されているノードのnode vendor ID2302及びchip ID2303の値が入っている。ここでは、仮に#1としている。このポータルAノード管理番号531aと一致したノードであるノードA9−1の転送性能コードはポータルA転送性能コード531bのフィールドに格納される。その値は、登録ノードの検出時に決定さる。ここでは、仮にS200であったと仮定して#01が格納されている。
【0133】
そして、ポータルAノード管理番号531aと一致したノードA9−1のノードIDは、ポータルAノードID531cのフィールドに格納される。これで、ID変換テーブル531のポータルAについて情報がすべて得られたことになる。この間、ポータルB側に関し、ポータルA側のテーブルが確定していないため、ID変換動作はさせない。その方法として、ポータルB側へ対して、「ACKBUSY」を送信することでそれを実現している。もちろん、「NO ACK」と送信することでも、同じ効果が得られる。ようは、ポータルBのトランザクションに対して反応させないことである。
【0134】
次に、IEEE1394ローカルバスブリッジ1はポータルBのトポロジ情報を得るため、ポータルBにバスリセットを発生させる(図10ステップS14,S15)。バスリセットの起動は外部ポータル4に接続されている標準PHY機能7に対して、バスリセット要求を発行することで実施する。
【0135】
図23は本発明の一実施例における通常モード時にポータルBへの最初のバスリセットを発行してから自己識別フェーズの終了までの流れを示す図であり、図24は本発明の一実施例におけるポータルBの自己識別フェーズによって構築されたID変換テーブルの構成を示す図である。これら図23及び図24を用いてポータルBの自己識別フェーズ動作について説明する。
【0136】
図23はその自己識別フェーズの動作遷移で、横軸が時間で、バスリセットが発生してから、自己識別フェーズの終了までを表している。図24はその時のID変換テーブル531を示すものである。ポータルBのローカルバス上でバスリセットが発生すると、PHYからバスリセット開始を知らせるステート(BusReset)1401が通知される。
【0137】
次に、ノードD9−4、ノードE9−5、ノードF9−6及びIEEE1394ローカルバスブリッジ1間でトポロジの構築がなされ、子ノード、親ノードが決定され、自己識別フェーズが開始される(図10ステップS16)。ポータルB側のPHYは、標準PHY機能7であるので、IEEE1394規格通り、自己識別フェーズが行われる。
【0138】
図21に示す接続形態において、ノードE9−5がルートになったと仮定すると、自己識別パケットの送信順番はルートから見て子ノードの中でポート0側から順次送信が許されるので、ノードD9−4から最初の自己識別パケットが発行される。図23におけるノードDの自己識別パケット(ID#0)1402がそれにあたる。この自己識別パケットはポータルBのローカルバスの最初の自己識別パケットであるため、ノードD9−4のノードIDは#0となる。
【0139】
IEEE1394ローカルバスブリッジ1がこの自己識別パケットを受信した時、ID変換部53はID変換テーブル531の仮想ポート管理番号531lの番号#00にポインタを設定する。そして、ID変換部53はその行に相当するポータルBノードID531fのフィールドに#0を格納する。さらに、ID変換部53はポータルBノードアクティブフラグ531hを#1に設定する。もしも、このノードがコンテンダであったならば、ID変換部53はポータルBコンテンダフラグ531kを#1に設定するが、ここでは、仮にコンテンダではないものとしている。
【0140】
次に、自己識別パケットの送信をルートから許可されるのは、2番目に最小番号をもつIEEE1394ローカルバスブリッジ1である。したがって、2番目の自己識別パケットが、IEEE1394ローカルバスブリッジ1から発行される。図23におけるブリッジの自己識別パケット(ID#1)1403がそれにあたる。
【0141】
ブリッジの自己識別パケット(ID#1)1403は2番目の自己識別パケットであるため、IEEE1394ローカルバスブリッジ1のノードIDは#1となる。IEEE1394ローカルバスブリッジ1がこの自己識別パケットを受信した時、ID変換部53はID変換テーブル531の仮想ポート管理番号531lの番号#01にポインタを設定する。そして、ID変換部53はその行に相当するポータルBノードID531fのフィールドに#1を格納する。また、ID変換部53はポータルBノードアクティブフラグ351hを#1に設定する。さらに、ID変換部53はIEEE1394ローカルバスブリッジ1がコンテンダであるため、明らかに、ポータルBコンテンダフラグ531kを#1に設定することになる。
【0142】
このブリッジの自己識別パケット(ID#1)1403の後に、標準PHY機能7から、自ノードのノードIDが#1である通知として、ステート(ID#1)1404がIEEE1394ローカルバスブリッジ1に通知される。IEEE1394ローカルバスブリッジ1はこの通知を受信すると、先の自己識別パケットを自ノードのPHYが送信したものと認識し、さらにポータルB自ノードフラグ531iを#1に設定する。
【0143】
3番目に最小番号をもつノードはノードF9−6である。したがって、3番目の自己識別パケットがノードF9−6から発行される。図23におけるノードFの識別パケット(ID#2)1405がそれにあたる。
【0144】
ノードFの識別パケット(ID#2)1405は3番目の自己識別パケットであるため、ノードF9−6のノードIDは#2となる。IEEE1394ローカルバスブリッジ1がこの自己識別パケットを受信した時、ID変換部53はID変換テーブル531の仮想ポート管理番号531lの番号#02にポインタを設定する。そして、ID変換部53はその行に相当するポータルBノードID531fのフィールドに#2を格納する。さらに、ID変換部53はポータルBノードアクティブフラグ531hを#1に設定する。尚、本実施例ではノードF9−6は仮にコンテンダではないものとしている。
【0145】
ノードF9−6の自己識別パケットの発行が完了すると、他ノードが存在しないため、ルートであるノードE9−5が自己識別パケットを発行する。図23におけるノードE自己識別パケット(ID#3)1406がそれにあたる。
【0146】
ノードE9−5のノードIDは4番目のノードであることから、#3となる。IEEE1394ローカルバスブリッジ1がこの自己識別パケットを受信した時、ID変換部53はID変換テーブル531の仮想ポート管理番号531lの番号#03にポインタを設定する。そして、ID変換部53はその行に相当するポータルBノードID531fのフィールドに#3を格納する。さらに、ID変換部53はポータルBノードアクティブフラグ531hを#1に設定する。さらにまた、このノードE9−5がコンテンダであると仮定すると、ID変換部53はポータルBコンテンダフラグ531kを#1に設定することになる。
【0147】
ノードE9−5の自己識別パケット送信が終了し、規定時間が経過し、サブアクションギャップが発生すると、ステート(Subaction Gap)1407がPHYから通知され、自己識別フェーズが終了したことをIEEE1394ローカルバスブリッジ1が認識するととに、最後に自己識別パケットを送信したノードE9−5がルートであることが判り、さらに、ポータルBルートフラグ531jを#1に設定する。
【0148】
この時点で、ルートノードがコンテンダであるかどうかを検査する。本実施例ではルートノードのノードIDとコンテンダノードのノードIDとが一致するため、これで、ID変換テーブル531のポータルB側の構築が完了する。
【0149】
もし、ルートノードとコンテンダノードとが一致しない場合、IEEE1394ローカルバスブリッジ1は自ノードをフォースルートとした、PHYコンフィグパケットを送信してバスリセットを発行する。このパケットを送信し、バスリセットを発行すると、次のトポロジ構築で、コンテンダであるIEEE1394ローカルバスブリッジ1がルートとなることができる。この仕組みの詳細はIEEE1394規格で規定されているため、省略する。
【0150】
続いて、再度、自己識別フェーズが開始されるが、今度は、IEEE1394ローカルバスブリッジ1が確実にルートとなるため、確実にID変換テーブル531の構築を完了することができる。図24はこれら一連のポータルBの自己識別フェーズによって構築されたID変換テーブル531の状態を示すものである。
【0151】
自己識別フェーズが完了すると、IEEE1394ローカルバスブリッジ1は次にポータルBの全ノードコンフィグレーションROMのノード識別子のリードを開始する(図10ステップS17)。コンフィグレーションROMのノード識別子とは、各ノードが保有するnode vendor ID2302及びchip ID2303のことである。
【0152】
トポロジの解析から得られた、ポータルBの各ノードIDはそのまま、各ノードの識別に使うことはできない。なぜなら、次のバスリセットが発生した場合、ノードIDは全く違うIDになる可能性があるためである。そこで、各ノードに対してはコンフィグレーションROMのノード識別子で管理することが必要となる。
【0153】
ID変換部53はポータルBによるバスリセット時の自己識別フェーズに構築されたID変換テーブル531においてポータルBノードID531fとポータルBノードアクティブフラグ531hとポータルB自ノードフラグ531iとポータルBルートフラグ531jとを用いながら、各ノードのコンフィグレーションROMのノード識別子を読出し、ポータルBノード管理番号531dへ登録していく(図10ステップS18)。
【0154】
図25は本発明の一実施例におけるポータルBのノード管理番号の取得時のID変換テーブルの構成を示す図である。この図25を用いてポータルBノード管理番号531dの取得手順について説明する。
【0155】
上述の自己識別フェーズが完了した時点で、IEEE1394ローカルバスブリッジ1は仮想ポート管理番号531lのポインタを#00にする。次に、IEEE1394ローカルバスブリッジ1はポータルBルートフラグ531j及びポータルB自ノードフラグ531iがアクティブでなく、且つポータルBノードアクティブフラグ531hがアクティブであるかを調べる。
【0156】
ID変換テーブル531の仮想ポート管理番号531lのポインタ#00の行を見ると、上記条件に当てはまる。そこで、IEEE1394ローカルバスブリッジ1は仮想ポート管理番号531lのポインタ#00に対応するポータルBノードID531fを調べる。本実施例では#0となっている。次に、IEEE1394ローカルバスブリッジ1はポータルBのノードIDが#0のノードすなわちノードD9−4に対してコンフィグレーションROMのノード識別子を読みに行く。この時、IEEE1394ローカルバスブリッジ1は転送速度S400で読出しを試みる。ここで、ノードD9−4の転送速度能力がS100しかないと仮定する。
【0157】
IEEE1394ローカルバスブリッジ1からノードD9−4へのコンフィグレーションROMのノード識別子の読出し要求に対してノードD9−4は反応しない。次に、IEEE1394ローカルバスブリッジ1はS200でノードD9−4へのコンフィグレーションROMのノード識別子の読出し要求を行う。当然、ノードD9−4は反応することができない。
【0158】
次に、IEEE1394ローカルバスブリッジ1はS100でノードD9−4へのコンフィグレーションROMのノード識別子の読出し要求を行う。本転送速度はノードD9−4の転送性能に合致するため、ノードD9−4は反応し、コンフィグレーションROMのノード識別子に対して応答を返答する。IEEE1394ローカルバスブリッジ1はノードD9−4の転送速度がS100であることを認識するとともに、コンフィグレーションROMのノード識別子を取得することができる。
【0159】
取得したコンフィグレーションROMのノード識別子のデータは、ポータルBノード管理番号531dに保存される。ここでは仮にノードD9−4のコンフィグレーションROMのノード識別子を#2に仮定している。そして、IEEE1394ローカルバスブリッジ1は転送性能がS100であることがわかったので、ポータルBノード転送性能コード531eを#00に設定する。これで、ノードD9−4に対する情報はすべて揃うことになる。
【0160】
次に、IEEE1394ローカルバスブリッジ1は仮想ポート管理番号531lのポインタを#01に設定する。IEEE1394ローカルバスブリッジ1はポータルBルートフラグ531j及びポータルB自ノードフラグ531iがアクティブでなく、且つポータルBノードアクティブフラグ531hがアクティブであるかを調べる。すると、IEEE1394ローカルバスブリッジ1はポータルB自ノードフラグ531iがアクティブであることを認識する。つまり、IEEE1394ローカルバスブリッジ1はコンフィグレーションROMのノード識別子の読出しが不要であることを理解する。但し、ポータルBルートフラグ531jがアクティブでないため、まだ、コンフィグレーションROMのノード識別子の読出しが終了していないノードがあることが判る。
【0161】
次に、IEEE1394ローカルバスブリッジ1は仮想ポート管理番号531lのポインタを#02に設定する。ポータルBルートフラグ531j及びポータルB自ノードフラグ531iがアクティブでなく、且つポータルBノードアクティブフラグ531hがアクティブであるかを調べる。ID変換テーブル531の仮想ポート管理番号531lのポインタ#02の行を見ると、上記条件に当てはまる。そこで、IEEE1394ローカルバスブリッジ1は仮想ポート管理番号531lのポインタ#02に対応するポータルBノードID531fを調べる。本実施例では#2となっている。
【0162】
次に、IEEE1394ローカルバスブリッジ1はポータルBのノードIDが#2のノード、すなわちノードF9−6に対してコンフィグレーションROMのノード識別子を読みに行く。上述したノードD9−4の時と同様に、IEEE1394ローカルバスブリッジ1は転送速度をS400から読出しを試みる。ここで、ノードF9−6の転送速度能力がS200と仮定する。
【0163】
IEEE1394ローカルバスブリッジ1からノードF9−6へのコンフィグレーションROMのノード識別子の読出し要求に対して、ノードF9−6は反応しない。次に、S200でノードF9−6へのコンフィグレーションROMのノード識別子の読出し要求に対して、ノードF9−6は反応し、コンフィグレーションROMのノード識別子に対して応答を返答する。
【0164】
IEEE1394ローカルバスブリッジ1はノードF9−6の転送速度がS200であることを認識するとともに、コンフィグレーションROMのノード識別子を取得することができる。取得したコンフィグレーションROMのノード識別子のデータはポータルBノード管理番号531dに保存される。
【0165】
ここでは仮にポータルF9−6のコンフィグレーションROMのノード識別子を#3に仮定している。そして、転送性能がS200であることがわかったので、ポータルBノード転送性能コード531eを#01に設定する。これで、ノードF9−6に対する情報はすべて揃うことになる。
【0166】
次に、仮想ポート管理番号531lのポインタを#03に設定する。ポータルBルートフラグ531j及びポータルB自ノードフラグ531iがアクティブでなく、且つポータルBノードアクティブフラグ531hがアクティブであるかを調べる。ID変換テーブル531の仮想ポート管理番号531lのポインタ#03の行を見ると、ポータルBルートフラグ531jがアクティブであり、このノードが最大のノードIDをもち、これ以上のノードが無いことが判る。したがって、IEEE1394ローカルバスブリッジ1はこれが最後のコンフィグレーションROMのノード識別子読出し動作であると認識することができる。
【0167】
次に、仮想ポート管理番号531lのポインタ#03に対応するポータルBノードID531fを調べる。本実施例では#3となっている。ポータルBのノードIDが#3のノード、すなわちノードE9−5に対してコンフィグレーションROMのノード識別子を読みに行く。上述したノードD9−4の時と同様に、転送速度をS400から読出しを試みる。ここで、ノードE9−5の転送速度能力がS400と仮定する。
【0168】
IEEE1394ローカルバスブリッジ1からノードE9−5へのコンフィグレーションROMのノード識別子の読出し要求に対して、ノードE9−5は反応することができ、コンフィグレーションROMのノード識別子に対して応答を返答する。IEEE1394ローカルバスブリッジ1はノードE9−5の転送速度がS400であることを認識するとともに、コンフィグレーションROMのノード識別子を取得することができる。
【0169】
取得したコンフィグレーションROMのノード識別子のデータは、ポータルBノード管理番号531dに保存される。ここでは仮にポータルE9−5のコンフィグレーションROMのノード識別子を#4に仮定している。そして、転送性能がS400であることがわかったので、ポータルBノード転送性能コード531eを#10に設定する。これで、ノードE9−5に対する情報はすべて揃うことになる。さらに、先に述べたように、本ノードがルートであるので、これですべてのノードに対する情報を取得することができたことがわかる。
【0170】
上述した説明の中で、ポータルBノードアクティブフラグ531hがアクティブでなかった場合の例が抜けているので、その場合の動作について以下に説明する。もし、ポータルBノードアクティブフラグ531hがアクティブでなかった場合、その行のコンフィグレーションROMのノード識別子読出し動作は行わず、仮想ポート管理番号531lのポインタを1つ上げる。
【0171】
これらの動作を簡単にまとめると、ポータルBノードアクティブフラグ531hがアクティブであるノードが、コンフィグレーションROMのノード識別子の調査対象であり、ポータルB自ノードフラグ531iが立っているノードは、対象から外す。ポータルBルートフラグ531jが見つかると、それが最後のノードである。仮想ポート管理番号531lによるポインタは#00から開始し、1つずつ加算して調べていくということになる。
【0172】
図26は本発明の一実施例における通常モード時にポータルA及びポータルBのID変換テーブル情報がそろった状態を示す図である。図26においては、上記の手順によって、ポータルA及びポータルBのID変換テーブル情報が確立された状態を示している。
【0173】
図26において、ポータルAはノードA9−1、ノードB9−2、ノードC9−3、IEEE1394ローカルバスブリッジ1が接続され、それぞれノードIDは#1、#0、#2、#3となっている。ポータルBはノードD9−4、ノードE9−5、ノードF9−6、IEEE1394ローカルバスブリッジ1が接続され、それぞれノードIDは#0、#3、#1、#2となっている。
【0174】
この状態では、ポータルA及びポータルBのローカルバスが独立した状態になっており、それぞれのローカルバス内ではパケットの転送が可能であるが、ポータルAからはポータルBが見えていないため、ポータルAからポータルBへのパケットの転送はできない。
【0175】
図27は本発明の一実施例における通常モード時にポータルAへの2回目のバスリセットを発行してから自己識別フェーズの終了までの流れを示す図であり、図28及び図29は本発明の一実施例における通常モード時にポータルAの2回目のバスリセット発行時の各ノードの自己識別パケットの詳細な構成を示す図である。図30は本発明の一実施例におけるID変換テーブルの構築が完了時のポータルAから見たイメージを示す図であり、図31は本発明の一実施例におけるID変換テーブルの構築が完了時のノードIDの状態を示す図である。これら図25と図27〜図31とを参照して、ポータルBの情報をポータルAに伝える方法について説明する。
【0176】
図27は横軸が時間で、バスリセットが発生してから、自己識別フェーズの終了までを表している。図28及び図29はノードBの自己識別パケットの詳細PKT(0) 1601、ノードAの自己識別パケットの詳細PKT(1) 1611、ノードCの自己識別パケットの詳細PKT(2) 1603、ノードDの自己識別パケットの詳細PKT(3) 1621、IEEE1394ローカルバスの自己識別パケットの詳細PKT(4) 1641、PKT(5) 1642、PKT(6) 1643、ノードFの自己識別パケットの詳細PKT(7) 1661、ノードEの自己識別パケットの詳細PKT(8) 1671を示すものである。
【0177】
まず、IEEE1394ローカルバスブリッジ1はポータルAにバスリセットを発行する。バスリセットが発生すると、ポータルAの自己識別フェーズが開始される。この動作は上述したポータルAの自己識別フェーズと同様の動作である。ポータルAのローカルバス上でバスリセットが発生すると、PHYからバスリセット開始を知らせるステート(Bus Reset)1501が通知され、ポータルA内でのトポロジの構築がなさる。
【0178】
次いで、ポータルAの自己識別フェーズが開始される。自己識別パケットは図27〜図29に示す通り、ノードB9−2、ノードA9−1、ノードC9−3というように、順次、自己識別パケットが送信される。ポータルAの各ノードの自己識別パケットを受信し終えると、次はIEEE1394ローカルバスブリッジ1が送信する順番となる。ここで、ID変換部53はID変換テーブル531において、まず、仮想ポート管理番号531lのポインタを#00にする。
【0179】
次に、ID変換部53はポータルBノードアクティブフラグ531hがアクティブであるかを調べる。アクティブであった場合、ID変換部53は次いでポータルB自ノードフラグ531iがアクティブであるかどうか調べる。そして、ID変換部53はポータルBルートフラグ531jの状態を調べる。もし、ポータルBノードアクティブフラグ531jがアクティブでなければ、ID変換部53は仮想ポート管理番号531lのポインタに#1加算し、上記と同様の調査を行う。
【0180】
本実施例では、仮想ポート管理番号531lのポインタが#00の行におけるポータルBノードアクティブフラグ531hがアクティブである。そこで、ID変換部53はID変換テーブル531にポータルAノードID531cにポータルAの各ノードから受信した自己識別パケットの最後のノードID#2に#1加算したノードID#3を設定する。これは、自己識別パケットのノードIDはIEEE1394規格上、連続した昇順の番号割当てになることに準じるためである。
【0181】
次に、ID変換部53はポータルB自ノードフラグ531iを調べると、アクティブではない。したがって、ID変換部53はポータルBの仮想ポートの自己識別パケットを送信する必要があり、且つそのパケットはIEEE1394ローカルバスブリッジ1の子ノードとして送信する必要があると判断する。さらに、ID変換部53はポータルBルートフラグ531jの状態を調べと、アクティブではなく、続く自己識別パケットがあることを認識する。ID変換部53はこれらの確認が終わると、ID変換テーブル531の情報を基に自己識別パケットを生成する。図28のノードDの自己識別パケットの詳細PKT(3) 1631がそれになる。
【0182】
PHY ID1632にはID変換テーブル531のポータルAノードID531cの値#3が設定される。sp1633にはID変換テーブル531のポータルB転送性能コード531eの値#0が設定される。cビット1634にはID変換テーブル531のポータルBコンテンダフラグ531kの状態#0を設定する。p(0) 1635には、まだポータルB自ノードフラグ531iがアクティブになったことがないため、子ノードとして#10を設定する。
【0183】
ノードD9−4に対応した自己識別パケットの生成が終了すると、ID変換部53は自己識別パケットをポータルAへ送信する。図27のノードDの識別パケット(ID#3)1505がそれにあたる。先ほどのポータルBルートフラグ531jがまだアクティブとなっていないため、次の自己識別パケットの送信準備に入る。
【0184】
まず、ID変換部53は仮想ポート管理番号531lのポインタを#1加算し、#01とする。この行におけるポータルBノードアクティブフラグ531hはアクティブである。そこで、ID変換部53はID変換テーブル531にポータルAノードID531cに先ほど割り当てたノードIDの番号#3に#1加算したノードID#4を設定する。
【0185】
次に、ID変換部53はポータルB自ノードフラグ531iを調べると、アクティブである。したがって、IEEE1394ローカルバスブリッジ1はこれに続いて自己識別パケットを送信する必要があると判断する。ID変換部53はID変換テーブル531の情報を基に自己識別パケットを生成する。図29のブリッジ識別パケットの詳細PKT(4) 1641、PKT(5) 1642、PKT(6) 1643がそれになる。
【0186】
PHY ID1644にはID変換テーブル531のポータルAノードID531cの値#4が設定される。p(0) 1645、p(1) 1646、p(2) 1647には、IEEE1394ローカルバスブリッジ1より小さいノードと接続されているため、子ノードとして扱う。したがって、#11が設定される。p(3) 1648、p(4) 1649には、IEEE1394ローカルバスブリッジ1より大きいノードIDと接続されているため、親ノードとして扱い、#10が設定される。p(5) 〜p(10) 1650及びp(11)〜p(15)1651にはノードの割当てが無いため、未接続とし、#01を設定する。自ノードに対応した自己識別パケットの生成が終了すると、ID変換部53は自己識別パケットをポータルAへ送信する。図27のブリッジ識別パケットID#1(1/3)1505、ブリッジ識別パケットID#1(2/3)1506、ブリッジ識別パケットID#1(3/3)1507がそれにあたる。
【0187】
ID変換部53はポータルBルートフラグ531jがまだアクティブとなっていないため、次の自己識別パケットの送信準備に入る。ID変換部53は仮想ポート管理番号531lのポインタを#1加算して#02とする。この行におけるポータルBノードアクティブフラグ531hはアクティブである。そこで、ID変換部53はID変換テーブル531にポータルAノードID531cに先ほど割当てたノードIDの番号#4に#1加算したノードID#5を設定する。
【0188】
次に、ID変換部53はポータルB自ノードフラグ531iがすでに送信済みであり、ポータルBの仮想ポートの自己識別パケットを送信する必要があり、且つそのパケットがIEEE1394ローカルバスブリッジ1の親ノードとして送信する必要があると判断する。ID変換部53はこれらの確認が終わると、ID変換テーブル531の情報を基に自己識別パケットを生成する。図29のノードFの自己識別パケットの詳細PKT(7) 1661がそれになる。
【0189】
PHY ID1662にはID変換テーブル531のポータルAノードID531cの値#5が設定される。sp1663にはID変換テーブル531のポータルB転送性能コード531eの値#1が設定される。cビット1664にはID変換テーブル531のポータルBコンテンダフラグ531kの状態#0を設定する。p(0) 1665にはすでにポータルB自ノードフラグ531iがアクティブになった後であるため、親ノードとして#11を設定する。ノードF9−6に対応した自己識別パケットの生成が終了すると、ID変換部53は自己識別パケットをポータルAへ送信する。図27のノードFの識別パケット(ID#5)1509がそれにあたる。ID変換部53はポータルBルートフラグ531jがまだアクティブとなっていないため、次の自己識別パケットの送信準備に入る。
【0190】
ID変換部53は仮想ポート管理番号531lのポインタを#1加算し、#03とする。この行におけるポータルBノードアクティブフラグ531hはアクティブである。そこで、ID変換部53はID変換テーブル531に、ポータルAノードID531cに先ほど割当てたノードIDの番号#5に#1加算したノードID#6を設定する。
【0191】
次に、ID変換部53はポータルB自ノードフラグ531iがすでに送信済みであり、ポータルBの仮想ポートの自己識別パケットを送信する必要があり、且つそのパケットがIEEE1394ローカルバスブリッジ1の親ノードとして送信する必要があると判断する。ID変換部53はこれらの確認が終わると、ID変換テーブル531の情報を基に自己識別パケットを生成する。図29のノードEの自己識別パケットの詳細PKT(8) 1671がそれになる。
【0192】
PHY ID1672にはID変換テーブル531のポータルAノードID531cの値#6が設定される。sp1673にはID変換テーブル531のポータルB転送性能コード531eの値#2が設定される。cビット1674にはID変換テーブル531のポータルBコンテンダフラグ531kの状態#1を設定する。p(0) 1675にはすでにポータルB自ノードフラグ531iがアクティブになった後であるため、親ノードとして#11を設定する。ノードE9−5に対応した自己識別パケットの生成が終了すると、ID変換部53は自己識別パケットをポータルAへ送信する。図27のノードEの識別パケット(ID#6)1510がそれにあたる。ID変換部53はポータルBルートフラグ531jがアクティブとなっているため、これで自己識別パケットの送信がすべて完了したと判断し、次の送信準備に入らない。
【0193】
その後、規定時間が経過し、サブアクションギャップが発生すると、ステート(Subaction Gap)1511がPHYから通知され、自己識別フェーズが終了する。これら一連のポータルAの自己識別フェーズによって、ポータルBの情報がポータルAに伝えられる。
【0194】
図30においては、ポータルAからみたトポロジイメージを示しており、ノードA9−1のノードIDは#1となり、ノードB9−2のノードIDは#0となり、ノードC9−3のノードIDは#2となる。次いで、ノードD9−4がIEEE1394ローカルバスブリッジ1のP(2) 13に繋がっており、そのノードIDは#3となり、IEEE1394ローカルバスブリッジ1のノードIDは#4となる。
【0195】
ノードF9−6はIEEE1394ローカルバスブリッジ1のP(3) 14に繋がっており、そのノードIDは#5となり、ノードE9−5はIEEE1394ローカルバスブリッジ1のP(4) 15に繋がっており、そのノードIDは#6でルートとなる。その他の仮想ポートには何も繋がっていないように見せかけている。このようにして、ポータルBのトポロジをポータルAへ伝達する自己識別フェーズが完了する。
【0196】
続いて、IEEE1394ローカルバスブリッジ1はポータルA側のバス上から登録ノードの検出する。動作は上述した動作と同様となるので、その説明を省略する。ID変換部53に検出したノードA9−1のノードID番号#2と転送性能コードとを通知する。
【0197】
これら一連の動作でID変換テーブル531の構築が完了し、通常のID変換が可能となる。ここで、ポータルAから見たノードIDとポータルBから見たノードIDの状態を整理すると、図31に示すようになる。
【0198】
ポータルAのトポロジはノードIDの低い順から、ノードB9−2、ノードA9−1、ノードC9−3、ノードD9−4、IEEE1394ローカルバスブリッジ1、ノードF9−6、ノードE9−5となる。これらのノードは登録ノードA9−1からすべてアクセスが可能である。
【0199】
次いで、ポータルBのトポロジはノードIDの低い順から、ノードD9−4、IEEE1394ローカルバスブリッジ1、ノードF9−6、ノードE9−5となる。IEEE1394ローカルバスブリッジ1は登録ノードA9−1に成りすますので、実際のポータルBのトポロジは、ノードIDの低い順から、ノードD9−4、ノードA9−1、ノードF9−6、ノードE9−5と見える。すなわち、登録ノードA9−1が所属するローカルバスに所属するノードB9−2、ノードC9−3はポータルBから完全に隠すことができる。
【0200】
次に、ID変換動作について図25と図31とを用いて説明する。図31において、ノードA9−1からノードE9−5へのパケット転送が発生したとする。ポータルAから見たノードE9−5のノードIDは#6である。したがって、ノードA9−1からは、転送元ノードIDを#1、転送先ノードIDを#6、としてパケットを送信することになる。
【0201】
IEEE1394ローカルバスブリッジ1はそのパケットを受取ると、まず、図25に示すID変換テーブル531を参照し、転送元ノードIDを検査する。ノードIDが#1であることから、ノードA9−1からのパケットであり、ポータルBへ転送許可されているノードであることを認識する。もしここで、ノードA9−1以外のノードからのパケットであった場合、ポータルBへの転送は行わない。
【0202】
次に、IEEE1394ローカルバスブリッジ1は転送先ノードIDを検査する。IEEE1394ローカルバスブリッジ1はID変換テーブル531のポータルAノードID531cを参照すると、ノードID#6を見つけ、ポータルBのノードであることがわかる。もしここで、ポータルBのノードでなければ、ポータルBへの転送は行わない。
【0203】
続いて、IEEE1394ローカルバスブリッジ1はポータルBノードアクティブフラグ531hを検査し、アクティブであることを認識する。もしここで、ポータルBノードアクティブフラグ531hが立っていない場合、IEEE1394ローカルバスブリッジ1はポータルBのトポロジに変更が発生していて、かつポータルAへその情報を通知していない状態であったと判断し、ポータルAへバスリセットを発行し、ポータルBのトポロジをポータルAへ通知することになる。IEEE1394ローカルバスブリッジ1はこれら検査を終了し、ポータルBへ転送すべきパケットであることを認識すると、ID変換を開始する。
【0204】
ID変換は次の手順で行う。ID変換部53は図25に示すID変換テーブル531のポータルAノードID531cの#6の行のポータルBノードID531dを検索し、ノードID#3を認識する。また、ID変換部53はポータルBノード転送性能コード531eから、S400の転送が可能であることを認識する。ID変換部53はこれらの情報から、転送元ノードIDをポータルBにおけるIEEE1394ローカルバスブリッジ1のノードIDである#1に変換する。ID変換部53は転送先ノードIDをポータルBのノードE9−5のノードIDである#3に変換する。IEEE1394ローカルバスブリッジ1は変換が完了すると、ポータルBへパケットを転送し、さらにS200であったパケットをS400にして、転送を開始する。
【0205】
次に、図31においてノードE9−5からノードA9−1へのパケット転送が発生したとする。ポータルBから見たノードA9−1のノードIDはIEEE1394ローカルバスブリッジ1のノードIDであり、#1である。したがって、ノードE9−5からは、転送元ノードIDを#3、転送先ノードIDを#1、としてパケットを送信することになる。IEEE1394ローカルバスブリッジ1はそのパケットが自分へのパケットであり、それはポータルAへのパケット転送を意味することを認識する。もしここで、自ノード宛以外へのパケットであった場合、ポータルAへの転送は行わない。
【0206】
IEEE1394ローカルバスブリッジ1はこれら検査を終了し、ポータルAへ転送すべきパケットであることを認識すると、ID変換を開始する。ID変換は次の手順で行う。ID変換部53は図25に示すID変換テーブル531のポータルBノードID531dの#3の行のポータルAノードID531cを検索し、ノードID#6を認識する。また、ID変換部53はポータルAノード転送性能コード531bから、S200の転送が可能であることを認識する。ID変換部53はこれらの情報から、転送元ノードIDをポータルAにおけるノードE9−5のノードIDである#6に変換する。転送先ノードIDはポータルAのノードA9−1のノードIDである#1に変換する。IEEE1394ローカルバスブリッジ1は変換が完了すると、ポータルAへパケットを転送し、さらにS400であったパケットをS200にして、転送を開始する。
【0207】
ポータルBでノードが抜かれた、または追加された、ルートノードの変更等、さまざまな要因によってバスリセットが発生することがある。バスリセットが発生すると、ポータルBのトポロジが変更され、ポータルAへ通知する必要があるが、不用意にすべてのバスリセットを通知すると、ポータルAの転送効率が下がるため、IEEE1394ローカルバスブリッジ1は最低限のバスリセットのみを通知させることによって、ポータルAの転送効率を向上させることができる。以下、ポータルBのバスリセットをポータルAに通知する条件を列記する。
【0208】
1つ目はIEEE1394ローカルバスブリッジ1を設計する際、ポータルAからポータルBへのLOCKトランザクションにおいて、IEEE1394ローカルバスブリッジ1に代替させる機能を持たせた場合、IEEE1394ローカルバスブリッジ1が代替動作を行わないLOCKトランザクションが発生した後、またはIEEE1394ローカルバスブリッジ1に代替させる機能を持たせなかった場合で、LOCKトランザクションが発生した後のポータルBのバスリセット発生した場合、ポータルAとポータルBとの不整合が生じることになる。この場合、ポータルAへバスリセットを発生させ、再度、自発的にLOCKトランザクション発行を促し、整合をとる。
【0209】
2つ目はIEEE1394ローカルバスブリッジ1を設計する際、ポータルAへのIsochronousパケットを転送させないことができる機能を持たせることによって、ポータルAの転送効率を上げることができる。この機能を有効/無効にすることができる機能を持たせた場合、ポータルAのアプリケーションによってバスリセットを期待している場合がある。したがって、Isochronousパケット転送の有効/無効を切替える際には、そのことをアプリケーションへ知らせるためにバスリセットを発生させる。
【0210】
3つ目はポータルBにおいて新たなノードが追加された場合、ポータルAへバスリセットを発生させ、ノードの追加があったことを伝える必要がある。4つ目はポータルBのルートノードが変更となった場合、リソースの取り直しが必要となる。そのため、ポータルAへバスリセットを通知する必要がある。
【0211】
これらバスリセットをポータルAへ伝えるべき項目を列挙したが、要は、ポータルAとポータルBとにおいて、IEEE1394ローカルバスブリッジ1にて吸収できない事態が発生した場合には、バスリセットにて整合を取ることになる。さて、ポータルBからノードが抜かれた場合についてであるが、この場合、ポータルAにバスリセットを発行することで、トポロジを伝えることも考えられるが、IEEE1394ローカルバスブリッジ1ではID変換テーブル531にて吸収することで、ポータルAへバスリセットを発生させず、ポータルAの転送効率を向上させることができる。
【0212】
図32は本発明の一実施例においてノードDが抜かれた時の接続を示す図であり、図33は本発明の一実施例においてノードDが抜かれた時のID変換テーブルの構成を示す図である。これら図32及び図33を参照して上記の方法について説明する。
【0213】
図32は図31の構成からノードD9−4が抜かれた状態を示す。図31の状態からノードD9−4が抜かれると、ポータルBにてバスリセットが発生する。IEEE1394ローカルバスブリッジ1はバスリセットが発生したことを受け、ID変換テーブル531のポータルBノードアクティブフラグ531hをクリアさせる。ポータルBではバスリセットが発生したため、自己識別プロセスが開始され、各ノード間で自己識別がなされる。図32ではノードE9−5、ノードF9−6、IEEE1394ローカルバスブリッジ1間でそれが行われる。
【0214】
自己識別プロセスが終了すると、IEEE1394ローカルバスブリッジ1はID変換テーブル531の再構築を行うため、各ノードからコンフィグレーションROMのノード識別子の取得を開始する。コンフィグレーションROMのノード識別子の取得は、ポータルBのノードIDの若い順から開始する。仮に、今回のバスリセットで、ノードIDの若い順をIEEE1394ローカルバスブリッジ1、ノードF9−6、ノードE9−5の順だったとする。IEEE1394ローカルバスブリッジ1は、まずノードID#0を調べる。このノードは自ノードであるため、図33のポータルB自ノードフラグ531iがセットされている行、すなわち仮想ポート管理番号531lのポインタ#01のポータルBノードアクティブフラグ531hをセットする。
【0215】
次に、IEEE1394ローカルバスブリッジ1はノードID#1について調べ、ノードID#1のコンフィグレーションROMのノード識別子の取得を行った結果と、ポータルBノード管理番号531dとを比較し、一致するところがあるか調べる。その結果、ノードID#1は従来より存在していたノードF9−6であり、仮想ポート管理番号531lのポインタ#02と一致する。IEEE1394ローカルバスブリッジ1は一致した行のポータルBノードアクティブフラグ531hをセットするとともに、ポータルBノードID531f、ポータルBノード転送性能コード531eを更新する。
【0216】
次に、IEEE1394ローカルバスブリッジ1はノードID#2について調べ、ノードID#2のコンフィグレーションROMのノード識別子の取得を行った結果と、ポータルBノード管理番号531dとを比較し、一致するところがあるか調べる。その結果、ノードID#2は従来より存在していたノードE9−5であり、仮想ポート管理番号531lのポインタ#03と一致する。IEEE1394ローカルバスブリッジ1は一致した行のポータルBノードアクティブフラグ531hをセットするとともに、ポータルBノードID531f、ポータルBノード転送性能コード531eを更新する。
【0217】
また、このノードが最上位ノード、すなわちルートノードであるので、IEEE1394ローカルバスブリッジ1はこのノードがバスリセット前のルートノードと一致するかどうか調べる。もし、ルートノードが変更されていたならば、IEEE1394ローカルバスブリッジ1はポータルAへバスリセットを発行することになる。しかしながら、本例では、ルートノードは変わらなかったので、これでID変換テーブル531の更新を終える。その結果、図33に示すように、ID変換テーブル531が更新される。
【0218】
ここで、注意すべき点はポータルAノードIDを変更しないことである。ポータルAとの関連付けはポータルBノード管理番号531dを使って管理しているので、ポータルBノードIDがどのように変更しても、不整合を生じることは無い。一点あるとすれば、ポータルAのノードA9−1がノードD9−4が抜かれたことに気が付いていないということになる。もし、ノードA9−1がノードD9−4へアクセスした場合、ポータルAへバスリセットを発生させ、ノードD9−4が抜かれたことを通知すれば不整合を生じさせなく済む。また、ノードD9−4が抜かれてから、一度もアクセスされること無く、ノードD9−4が再度、接続された場合、上述した手順によって、ID変換テーブル531が更新されるが、ルートの変更が無い限り、ポータルAへはバスリセットを通知する必要はない。
【0219】
ポータルAでバスリセットが発生した場合、基本的にはポータルBへバスリセットを通知する必要は無い。但し、ポータルAの登録ノードのコンフィグROMの内容が変更されている等、登録ノード状態をポータルBへ伝える場合にのみ、ポータルBへバスリセットを発行する必要がある。
【0220】
ポータルAに接続されている登録ノードがポータルB側に対するパケットはIEEE1394ローカルバスブリッジ1で受信され、IEEE1394ローカルバスブリッジ1が認識パケット(ペンディング)を返信する。IEEE1394ローカルバスブリッジ1は受信したパケットをポータルB用のIDに返還した後に、ポータルBに送信する。
【0221】
ポータルB側でIEEE1394ローカルバスブリッジ1が認識パケットを受信した時、ポータルA側に確認パケットを生成して送信する。ポータルBでの通信がスプリットトランザクションの場合はさらにポータルBのノードから確認パケットが送信される。IEEE1394ローカルバスブリッジ1はそれを受信し、認識パケット(ペンディング)を送信する一方、ポータルA側の登録ノード宛てのパケットにID変換して送信する。
【0222】
登録ノードは確認パケットに対する認識パケットを送信する。IEEE1394ローカルバスブリッジ1はそれを受信し、ポータルB側に確認パケットを生成して送信する。ポータルAに接続されているノードからIEEE1394ローカルバスブリッジ1宛てのパケットに対して、CSRのアクセスであればCSR制御部54にてユニファイドトランザクションで応答する。それ以外は認識パケット(アドレスエラー)を返送して通信を終了させる。
【0223】
ポータルAの登録ノード以外のノードからポータルBのノード宛てのパケットに関してはIEEE1394ローカルバスブリッジ1が認識パケット(アドレスエラー)を返送して通信を終了させる。
【0224】
ポータルBに接続されているノードからIEEE1394ローカルバスブリッジ1へのアクセスが来ると、IEEE1394ローカルバスブリッジ1はそのアクセスがCSRへのアクセスであれば、CSR制御部54にてユニファイドトランザクションで応答し、それ以外に対するアクセスであれば、ひとまずペンディングの認識パケットを返し、ポータルAへ転送する。
【0225】
その後、ポータルからの認識パケットがビジーとペンディング以外であれば、IEEE1394ローカルバスブリッジ1はそれに対応した応答パケットを自動生成し、ポータルBへ送信し、スプリットトランザクションを完了させる。
【0226】
もし、ポータルAからの認識パケットがビジーであれば、IEEE1394ローカルバスブリッジ1は再度、同じパケットをポータルAへ送信し、ペンディングであればポータルAからの応答パケットにゆだね、ポータルBへ応答パケットを送信しない。また、パケットの転送方法については、ポータルAからポータルBに関しても、上記と同等である。
【0227】
ここで、サイクルスタートパケットについて説明する。上述したように、IEEE1394ローカルバスブリッジ1はポータルAでは確実にルートノードになるが、ポータルBではバスリセットの度にルートノードになったり、ならなかったりする。IEEE1394ローカルバスブリッジ1はポータルBでルートノードの時と、そうでない時とで違った動きをする。
【0228】
IEEE1394ローカルバスブリッジ1はポータルBでルートノードになった時に、サイクルスタートのタイミングで、先ずポータルBにサイクルスタートパケットを送信し、一定時間後、ポータルAにサイクルスタートパケットを送信する。また、IEEE1394ローカルバスブリッジ1はポータルBでルートノードにならなかった時に、ポータルBでサイクルスタートパケットを受信したら、受信が完了した時点でポータルAにサイクルスタートパケットを送信開始する。このようにして、ポータルAとポータルBとのサイクルスタートタイミングのずれは、ポータルBでルートノードになってもならなくても同等となる。
【0229】
IEEE1394ローカルバスブリッジ1周辺のバスでは上述のタイミングでサイクルスタートパケットが流れるので、ポータルBからポータルAへのIsochronousパケットの転送は、受信と同時に送信することによって実現される。しかしながら、ポータルAからポータルBに転送する際には、ポータルAでIsochronousパケットを受信した時点で、ポータルBではサブアクションギャップを検出している可能性があるので、1サイクル分のIsochronousパケットをFIFOにためておき、次のサイクルスタートパケットを待ってから送信を開始する。
【0230】
現在、殆どのIEEE1394機器はP1394.1で規定されているブリッジに対応することができない。このP1394.1規格はIEEE1394−1995やIEEE1394a−2000において具体的な規定がなく、これらの規格に準拠した機器が、BUS IDがローカルバスを示していないパケットを受信しても反応することができないからである。
【0231】
しかしながら、本発明のIEEE1394ローカルバスブリッジを間に挟むことによって、ポータルBからポータルAへパケットを転送する際、送信先を示すPHY IDの中のBUS IDをローカルバスに変換して転送するので、ブリッジに対応することができない機器もブリッジとの接続が可能になる。
【0232】
本発明の他の実施例として、その基本的構成は上記の通りであるが、ポータルBにてリピータがあった場合についてさらに工夫している。通常、リピータはノードIDが割当てられるが、機能は単にケーブルの延長と捕らえることができる。すなわち、IEEE1394ローカルバスブリッジにおいて、ポータルAへ伝える必要がない。そこで、ポータルBにおいて、リピータが存在した場合について説明する。
【0233】
図34は本発明の他の実施例におけるリピータ有りの場合の接続を示す図であり、図35は本発明の他の実施例におけるリピータ有りのノードIDを示す図であり、図36は本発明の他の実施例におけるリピータ有りの時のバスリセットを発行してから自己識別フェーズの終了までの流れを示す図である。
【0234】
また、図37及び図38は本発明の他の一実施例におけるリピータ有りの時のバスリセット発行時の各ノードの自己識別パケットの詳細な構成を示す図であり、図39は本発明の他の実施例におけるリピータ有りの時のポータルAから見た接続を示す図である。これら図34〜図39を参照して本発明の他の実施例について説明する。
【0235】
図34に示すように、例えばノードE9−5がリピータだとすると、上述したように、IEEE1394ローカルバスブリッジ1はポータルAのトポロジを確認し、続いてポータルBのトポロジを確認し、最後にポータルBのトポロジをポータルAへ伝える。これら一連の基本的な動作は変わらない。違いは、ポータルBのトポロジを確認する際にリピータの存在を認識することと、ポータルBのトポロジをポータルAへ伝える際、リピータの存在を伝えないことにある。
【0236】
リピータであるかどうかは自己識別パケットのLビットを調べることで認識することができる。リピータの場合、このビットがインアクティブとなっている。IEEE1394ローカルバスブリッジ1はポータルBのトポロジを調べる際、この自己識別パケットのLビットも調査する。もし、このビットがインアクティブであったならば、ID変換テーブル531にも登録しない。
【0237】
実際のトポロジは、図35に示されるように、ポータルBではノードE9−5についてもノードID#2が割当てられる。しかしながら、ノードE9−5はリピータであるので、ポータルBのトポロジをポータルAへ伝える場合、図36〜図38に示すように、自己識別パケットを送信することになる。
【0238】
図36は横軸が時間で、バスリセットが発生してから、自己識別フェーズの終了までを表している。図37及び図38はノードBの自己識別パケットの詳細PKT(0) 1801、ノードAの自己識別パケットの詳細PKT(1) 1811、ノードCの自己識別パケットの詳細PKT(2) 1821、ノードDの自己識別パケットの詳細PKT(3) 1831、ノードFの自己識別パケットの詳細PKT(4) 1841、IEEE1394ローカルバスの自己識別パケットの詳細PKT(5) 1851、PKT(6) 1852、PKT(7) 1853を示すものである。
【0239】
まず、IEEE1394ローカルバスブリッジ1はポータルAにバスリセットを発行する。バスリセットが発生すると、ポータルAの自己識別フェーズが開始される。この動作は上述した基本的な動作と同じである。ポータルAのローカルバス上でバスリセットが発生すると、PHYからバスリセット開始を知らせるステート(Bus Reset)1701が通知され、ポータルA内でのトポロジの構築がなさる。
【0240】
次いで,ポータルAの自己識別フェーズが開始される。自己識別パケットは図36に示すとおり、ノードBの自己識別パケット(ID#0)1702、ノードAの自己識別パケット(ID#1)1703、ノードCの自己識別パケット(ID#2)1704というように順次、自己識別パケットが送信される。
【0241】
ポータルAの各ノードの自己識別パケットを受信し終えると、次はIEEE1394ローカルバスブリッジ1がノードDの自己識別パケット(ID#3)1705、ノードFの自己識別パケット(ID#4)1706、次いで自己の自己識別パケットID#5(1/3)1707、自己の自己識別パケットID#5(2/3)1708、自己の自己識別パケットID#5(3/3)1709を送信する。
【0242】
図37及び図38にその詳細な構成を示す。ここで注意すべきは、ノードE9−5の自己識別パケットを送信しないことにある。その後、規定時間が経過し、サブアクションギャップが発生すると、ステート(Subaction Gap)1710がPHYから通知され、自己識別フェーズが終了する。これら一連のポータルAの自己識別フェーズによって、ポータルBの情報がポータルAに伝えられる。
【0243】
図39はポータルAから見たトポロジイメージを示している。図39において、ノードA9−1のノードIDは#1となり、ノードB9−2のノードIDは#0、ノードC9−3のノードIDは#2となる。次いで、ノードD9−4がIEEE1394ローカルバスブリッジ1のP(2) 13に繋がっており、そのノードIDは#3となり、ノードF9−6はIEEE1394ローカルバスブリッジ1のP(3) 14に繋がっており、そのノードIDは#4、IEEE1394ローカルバスブリッジ1のノードIDは#5となる。
【0244】
ノードE9−5は存在せず、その他の仮想ポートには何も繋がっていないように見せかけている。このようにしてポータルBのトポロジをポータルAへ伝達することによって、ポータルAではポータルB上のリピータの存在をなくし、ポータルBのノードIDを効率的に使うことが可能である。
【0245】
以上、本発明の各実施例について説明したが、本発明のローカルバスブリッジは専用PHY等のハードウェア特有の部分を除いて、ハードウェア、ファームウェアのどちらでも実現が可能である。
【0246】
また、本発明のローカルバスブリッジはIEEE1394のシステムだけによらず、同様のシリアルバスネットワークを形成するシステムにおいても実現可能である。尚、本発明は上記の各実施例に限定されず、本発明の技術思想の範囲内において、各実施例を適宜変更可能であるは明らかである。
【0247】
このように、本発明では、IEEE1394ローカルバスブリッジ1を使用することによって、BUS IDを変えることなく、バスを分割し、各バスに接続されているノードにおいてバスが分割されていることを意識することなく、互いに認識することができる。
【0248】
また、本発明では、IEEE1394ローカルバスブリッジ1が一方のバスに対して他方のノードに接続されている特定のノードとして振舞うことによって、その他のノードを隠し、その特定のノードが同じバスに接続されているノードを占有することができる。
【0249】
さらに、本発明では、IEEE1394ローカルバスブリッジ1がバスリセットを分割し、バスリセットが起きたローカルバスに対して自動的に他方のローカルバスに接続されたノード情報を提示することによって、双方のバスの利用効率の低下を避けることができる。
【0250】
さらにまた、本発明では、片方のローカルバス内で閉ざされたパケットを他方のローカルバスへ通さないことによって、双方のバスの利用効率を向上させることができる。
【0251】
【発明の効果】
以上説明したように本発明のローカルバスブリッジは、各々複数のノードが接続された第1及び第2のローカルバスを接続するローカルバスブリッジであって、予め設定された特定ノードが接続された第1のローカルバスに第2のローカルバスの接続情報を通知し、第2のローカルバスに特定ノードの情報のみを提示することによって、IEEE1394バスに接続されるノードを特定のノードが確実に占有可能な環境を得ることができるという効果が得られる。
【0252】
また、本発明の他のローカルバスブリッジは、各々複数のノードが接続された第1及び第2のローカルバスを接続するローカルバスブリッジであって、予め設定された特定ノードが接続された第1のローカルバスに第2のローカルバスの接続情報を通知し、第2のローカルバスに特定ノードの情報のみを提示することによって、バスを分割しても双方のバスに接続されているノード同士が互いに存在を認識可能な環境を得ることができるという効果が得られる。
【図面の簡単な説明】
【図1】本発明の一実施例によるローカルバスブリッジの構成を示すブロック図である。
【図2】図1の内部ポータルの構成を示すブロック図である。
【図3】図1の外部ポータルの構成を示すブロック図である。
【図4】図1の制御部の構成を示すブロック図である。
【図5】図4のID変換テーブルの構成を示す図である。
【図6】本発明の一実施例で用いる仮想16ポートPHYのイメージ図である。
【図7】本発明の一実施例によるローカルバスブリッジの自ノードの自己識別パケットの詳細な構成を示す図である。
【図8】本発明の一実施例によるポータルBの各ノードの自己識別パケットの詳細な構成を示す図である。
【図9】本発明の一実施例によるローカルバスブリッジ全体の動作を示すフローチャートである。
【図10】本発明の一実施例によるローカルバスブリッジ全体の動作を示すフローチャートである。
【図11】本発明の一実施例によるローカルバスブリッジ全体の動作を示すフローチャートである。
【図12】本発明の一実施例における登録モード時の接続形態を示す図である。
【図13】本発明の一実施例における登録モード時にポータルAへの最初のバスリセットを発行してから自己識別フェーズの終了までの流れを示す図である。
【図14】(a),(b)は本発明の一実施例における登録モード時にポータルAへの最初のバスリセット発行時の各ノードの自己識別パケットの詳細な構成を示す図である。
【図15】本発明の一実施例における登録モード時にポータルAの最初の自己識別フェーズの終了時の16ポートPHYの接続状態を示す図である。
【図16】本発明の一実施例におけるリードリクエストパケットの詳細な構成を示す図である。
【図17】本発明の一実施例における応答パケットの詳細な構成を示す図である。
【図18】本発明の一実施例における通常モード時の接続形態を示す図である。
【図19】本発明の一実施例における通常モード時にポータルAへの最初のバスリセットを発行してから自己識別フェーズの終了までの流れを示す図である。
【図20】(a)〜(d)は本発明の一実施例における通常モード時にポータルAへの最初のバスリセット発行時の各ノードの自己識別パケットの詳細な構成を示す図である。
【図21】本発明の一実施例における通常モード時にポータルAの最初の自己識別フェーズの終了時の接続状態を示す図である。
【図22】本発明の一実施例における登録ノードの情報が反映された状態のID変換テーブルの構成を示す図である。
【図23】本発明の一実施例における通常モード時にポータルBへの最初のバスリセットを発行してから自己識別フェーズの終了までの流れを示す図である。
【図24】本発明の一実施例におけるポータルBの自己識別フェーズによって構築されたID変換テーブルの構成を示す図である。
【図25】本発明の一実施例におけるポータルBのノード管理番号の取得時のID変換テーブルの構成を示す図である。
【図26】本発明の一実施例における通常モード時にポータルA及びポータルBのID変換テーブル情報がそろった状態を示す図である。
【図27】本発明の一実施例における通常モード時にポータルAへの2回目のバスリセットを発行してから自己識別フェーズの終了までの流れを示す図である。
【図28】(a)〜(d)は本発明の一実施例における通常モード時にポータルAの2回目のバスリセット発行時の各ノードの自己識別パケットの詳細な構成を示す図である。
【図29】(a)〜(c)は本発明の一実施例における通常モード時にポータルAの2回目のバスリセット発行時の各ノードの自己識別パケットの詳細な構成を示す図である。
【図30】本発明の一実施例におけるID変換テーブルの構築が完了時のポータルAから見たイメージを示す図である。
【図31】本発明の一実施例におけるID変換テーブルの構築が完了時のノードIDの状態を示す図である。
【図32】本発明の一実施例においてノードDが抜かれた時の接続を示す図である。
【図33】本発明の一実施例においてノードDが抜かれた時のID変換テーブルの構成を示す図である。
【図34】本発明の他の実施例におけるリピータ有りの場合の接続を示す図である。
【図35】本発明の他の実施例におけるリピータ有りのノードIDを示す図である。
【図36】本発明の他の実施例におけるリピータ有りの時のバスリセットを発行してから自己識別フェーズの終了までの流れを示す図である。
【図37】(a)〜(d)は本発明の他の一実施例におけるリピータ有りの時のバスリセット発行時の各ノードの自己識別パケットの詳細な構成を示す図である。
【図38】(a),(b)は本発明の他の一実施例におけるリピータ有りの時のバスリセット発行時の各ノードの自己識別パケットの詳細な構成を示す図である。
【図39】本発明の他の実施例におけるリピータ有りの時のポータルAから見た接続を示す図である。
【図40】IEEE1394バスを用いて構築されたネットワークの一例を示す図である。
【図41】IEEE1394のアドレスマップを示す図である。
【図42】内容が会社識別子のみの最小フォーマット形式のコンフィグレーションROMの内容を示す図である。
【図43】一般フォーマット形式のコンフィグレーションROMの内容を示す図である。
【図44】IEEE1394のシステム構成の一例を示す図である。
【図45】Isochronousサブアクション及びAsynchronousサブアクションが行われているIEEE1394バスの一例を示す図である。
【図46】ユニファイドトランザクションのデータの流れを示す図である。
【図47】スプリットトランザクションのデータの流れを示す図である。
【符号の説明】
1 IEEE1394ローカルバスブリッジ
2 LINK機能
3 内部ポータル
4 外部ポータル
5 制御部
6 専用PHY機能
7 標準PHY機能
8 ROM
9,9−1〜9−6 ノード
31,41 パケット受信制御部
32,42 パケット送信制御部
51 サイクルスタートパケット制御部
52 トランザクション制御部
53 ID変換部
54 CSR制御部
101,104 ローカルバス
102,103 PHY−LINKインタフェース
111,112 内部バス
311,411 パケット受信部
312,413 Asynchronousパケット受信制御部
313,414 Isochronousパケット受信制御部
321,421 パケット送信部
322,422 サイクルスタートパケット送信制御部
323,423 Asynchronousパケット送信制御部
324,424 Isochronousパケット送信制御部
412 サイクルスタートパケット受信制御部

Claims (12)

  1. シリアルバスを分割して構築されかつ各々複数のノードが接続された第1及び第2のローカルバスを接続するローカルバスブリッジであって、
    予め設定された特定ノードが接続された前記第1のローカルバスに前記第2のローカルバスの接続情報を通知する手段と、前記第2のローカルバスに前記特定ノードの情報のみを提示する手段とを有し、
    前記第1のローカルバスに接続されたノードと前記第2のローカルバスに接続されたノードとの間のデータ転送を相互に可能とするためにID変換を行う手段と、前記特定ノードの情報と前記第2のローカルバスに接続されたノード各々の情報とを管理するID変換テーブルとを含み、
    前記ID変換テーブルを用いて前記特定のノードと前記第2のローカルバスに接続されたノード各々とのデータ転送を可能とし、
    前記ID変換テーブルは、前記特定ノード及び前記第2のローカルバスに接続されたノード各々に固有の認識番号を用いて管理することを特徴とするローカルバスブリッジ。
  2. 前記第1のローカルバスにおいて確実にルートになることを特徴とする請求項1記載のローカルバスブリッジ。
  3. 前記ID変換は、前記第1及び第2のローカルバス各々のトポロジを解析し、前記第1及び第2のローカルバス各々に接続されたノード各々の識別情報を管理することを特徴とする請求項1または請求項2記載のローカルバスブリッジ。
  4. 前記固有の認識番号は、node vendor ID及びchip IDであることを特徴とする請求項1から請求項3のいずれか記載のローカルバスブリッジ。
  5. 前記ID変換テーブルは、前記特定ノード及び前記第2のローカルバスに接続されたノード各々の転送性能を管理し、前記特定ノードと前記第2のローカルバスに接続されたノード各々とのパケット転送時の転送速度を適性にすることを特徴とする請求項1から請求項4のいずれか記載のローカルバスブリッジ。
  6. 前記ID変換は、ネットワークを初期化するためのバスリセットによる前記第1及び第2のローカルバス各々におけるトポロジの変化を前記ID変換テーブルにて吸収し、整合性を維持することを特徴とする請求項1から請求項5のいずれか記載のローカルバスブリッジ。
  7. 前記第1及び第2のローカルバス各々における前記ID変換テーブルで吸収できない不整合が発生した時にバスリセットを発行してトポロジの再構築を行うことを特徴とする請求項1から請求項6のいずれか記載のローカルバスブリッジ。
  8. 前記第2のローカルバスに接続されたノード各々から前記特定ノードへのアクセスに対して当該特定ノードに代行して動作することを特徴とする請求項1から請求項7のいずれか記載のローカルバスブリッジ。
  9. 前記第2のローカルバスのトポロジを仮想ポートに割当てて当該トポロジを形成し、そのトポロジを前記第1のローカルバスに伝達することを特徴とする請求項1から請求項8のいずれか記載のローカルバスブリッジ。
  10. 前記第2のローカルバスのトポロジを前記第1のローカルバスに伝達する際に自己識別パケットを生成して送信することを特徴とする請求項1から請求項9のいずれか記載のローカルバスブリッジ。
  11. 前記第2のローカルバスにおけるリピータの情報を排除したトポロジを前記第1のローカルバスに伝達することを特徴とする請求項1から請求項9のいずれか記載のローカルバスブリッジ。
  12. 前記ローカルバスは、IEEE1394ローカルバスであることを特徴とする請求項1から請求項11のいずれか記載のローカルバスブリッジ。
JP2002090130A 2002-03-28 2002-03-28 ローカルバスブリッジ Expired - Fee Related JP3683227B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2002090130A JP3683227B2 (ja) 2002-03-28 2002-03-28 ローカルバスブリッジ
US10/391,024 US7043594B2 (en) 2002-03-28 2003-03-19 Local bus bridge
EP03006290A EP1351451A3 (en) 2002-03-28 2003-03-21 Local bus bridge

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002090130A JP3683227B2 (ja) 2002-03-28 2002-03-28 ローカルバスブリッジ

Publications (2)

Publication Number Publication Date
JP2003289314A JP2003289314A (ja) 2003-10-10
JP3683227B2 true JP3683227B2 (ja) 2005-08-17

Family

ID=28035850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002090130A Expired - Fee Related JP3683227B2 (ja) 2002-03-28 2002-03-28 ローカルバスブリッジ

Country Status (3)

Country Link
US (1) US7043594B2 (ja)
EP (1) EP1351451A3 (ja)
JP (1) JP3683227B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69940781D1 (de) * 1999-12-30 2009-06-04 Sony Deutschland Gmbh Schnittstellenverbindungsschicht- Einrichtung zum Aufbau eines verteilten Netzwerks
DE10356128A1 (de) * 2003-12-02 2005-06-30 Robert Bosch Gmbh Netzwerkbrücke
JP4297378B2 (ja) * 2004-07-20 2009-07-15 パイオニア株式会社 ブリッジ及び送信装置、並びに情報システム
DE102004062034A1 (de) * 2004-12-23 2006-07-13 Robert Bosch Gmbh Repeaterknoten für ein Netzwerk
WO2007037117A1 (ja) * 2005-09-29 2007-04-05 Pioneer Corporation 中継装置及び中継方法、変換装置及び変換方法、中継処理用プログラム及び変換処理用プログラム並びに情報記録媒体
WO2009043762A2 (en) * 2007-10-04 2009-04-09 U-Man Universal Media Access Networks Gmbh Digital multimedia network with hierarchical parameter control protocol

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848249A (en) * 1995-06-15 1998-12-08 Intel Corporation Method and apparatus for enabling intelligent I/O subsystems using PCI I/O devices
US6131119A (en) * 1997-04-01 2000-10-10 Sony Corporation Automatic configuration system for mapping node addresses within a bus structure to their physical location
US6453071B2 (en) * 1997-04-04 2002-09-17 Canon Kabushiki Kaisha Data communication apparatus, method and system and programs for data communication process stored in computer readable storage medium
US6219697B1 (en) * 1997-05-02 2001-04-17 3Com Corporation Method and apparatus for operating the internet protocol over a high-speed serial bus
JP3601950B2 (ja) * 1997-09-16 2004-12-15 株式会社東芝 通信装置およびネットワーク情報提示方法
JP3277874B2 (ja) * 1998-01-29 2002-04-22 日本電気株式会社 Ieee1394ブリッジ
US6141767A (en) * 1998-04-03 2000-10-31 Sony Corporation Method of and apparatus for verifying reliability of contents within the configuration ROM of IEEE 1394-1995 devices
JP2000013423A (ja) * 1998-06-26 2000-01-14 Sony Corp 情報処理装置および方法、並びに提供媒体
US6496862B1 (en) * 1998-08-25 2002-12-17 Mitsubishi Electric Research Laboratories, Inc. Remote monitoring and control of devices connected to an IEEE 1394 bus via a gateway device
US6539450B1 (en) * 1998-11-29 2003-03-25 Sony Corporation Method and system for adjusting isochronous bandwidths on a bus
US6633547B1 (en) * 1999-04-29 2003-10-14 Mitsubishi Electric Research Laboratories, Inc. Command and control transfer
US6523064B1 (en) * 1999-04-29 2003-02-18 Mitsubishi Electric Research Laboratories, Inc Network gateway for collecting geographic data information
US6378000B1 (en) * 1999-04-29 2002-04-23 Mitsubish Electric Research Laboratories, Inc Address mapping in home entertainment network
JP2001086120A (ja) * 1999-09-10 2001-03-30 Matsushita Electric Ind Co Ltd ネットワーク間接続機器およびネットワークシステム
JP3449313B2 (ja) 1999-09-28 2003-09-22 日本電気株式会社 機器情報収集方法、機器制御装置およびブリッジ
US6751697B1 (en) * 1999-11-29 2004-06-15 Sony Corporation Method and system for a multi-phase net refresh on a bus bridge interconnect
EP1133108A1 (en) * 2000-03-07 2001-09-12 Sony International (Europe) GmbH Interface link layer device for long delay connections
JP2002033750A (ja) * 2000-07-18 2002-01-31 Sony Corp 情報処理装置及び方法、媒体
JP2002164954A (ja) * 2000-11-27 2002-06-07 Sony Corp 通信制御装置及びその通信制御方法

Also Published As

Publication number Publication date
US7043594B2 (en) 2006-05-09
JP2003289314A (ja) 2003-10-10
EP1351451A3 (en) 2006-04-26
US20030188081A1 (en) 2003-10-02
EP1351451A2 (en) 2003-10-08

Similar Documents

Publication Publication Date Title
US6157972A (en) Apparatus and method for processing packetized information over a serial bus
JP4278439B2 (ja) 情報通信装置、そのシステム、その方法、そのプログラム、および、そのプログラムを記録した記録媒体
JP3175826B2 (ja) ネットワーク構成方法およびネットワーク管理ノード
US20010007118A1 (en) Communication path control method for data networks using high-speed buses interconnected by bridges
JP2000188626A (ja) 一体のマイクロコントロ―ラ・エミュレ―タを有するリンク/トランザクション層コントロ―ラ
US20020010824A1 (en) Electronic equipment and method for processing digital serial data at bus initialization phase in interface unit
US6374316B1 (en) Method and system for circumscribing a topology to form ring structures
US6823408B2 (en) Electronic equipment, and method for controlling state of physical layer circuit therefor
JP2003174486A (ja) 情報通信装置、情報通信方法および情報通信処理プログラム
US6909699B2 (en) Data transfer system, data transfer management apparatus and data transfer method
JP3683227B2 (ja) ローカルバスブリッジ
US6647446B1 (en) Method and system for using a new bus identifier resulting from a bus topology change
US6751697B1 (en) Method and system for a multi-phase net refresh on a bus bridge interconnect
US6584539B1 (en) Method and system for message broadcast flow control on a bus bridge interconnect
US20040131071A1 (en) Interface circuit
US7352742B2 (en) Method and apparatus for transmitting to an upper layer of information included in a packet
WO2000057263A1 (en) A method and system for a multi-phase net refresh on a bus bridge interconnect
JP4619726B2 (ja) ネットワーク加入ステーションに関する情報の要求方法及び当該方法を実行するネットワーク加入ステーション
JP4502653B2 (ja) パケット送受信装置及びそれに用いるパケット識別方法
JP2002111698A (ja) データ転送装置、ネットワークシステム及びデータ転送方法
JP3767747B2 (ja) Ieee1394シリアルバスへの接続機器とその物理id付与方法
US20010044869A1 (en) Interface unit for digital serial data, bridge portal utilizing the same, and a method for transmitting digital data
CN1965539A (zh) 在分布式站的网络中提供站专有信息表的方法和执行方法的网络站
JP4095384B2 (ja) 情報処理システム、情報処理装置、情報処理方法、プログラム及び記憶媒体
WO2001038951A2 (en) A method and system for circumscribing a topology to form ring structures

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050328

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050524

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S633 Written request for registration of reclamation of name

Free format text: JAPANESE INTERMEDIATE CODE: R313633

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

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20080603

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100603

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100603

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110603

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120603

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120603

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130603

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees