JP4155413B2 - アプリケーションとバス間の非同期データ転送を自動的に管理する非同期データパイプ - Google Patents

アプリケーションとバス間の非同期データ転送を自動的に管理する非同期データパイプ Download PDF

Info

Publication number
JP4155413B2
JP4155413B2 JP53178097A JP53178097A JP4155413B2 JP 4155413 B2 JP4155413 B2 JP 4155413B2 JP 53178097 A JP53178097 A JP 53178097A JP 53178097 A JP53178097 A JP 53178097A JP 4155413 B2 JP4155413 B2 JP 4155413B2
Authority
JP
Japan
Prior art keywords
data
application
packet
bus
transaction
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 - Lifetime
Application number
JP53178097A
Other languages
English (en)
Other versions
JP2000506295A (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 ソニー エレクトロニクス インク
Publication of JP2000506295A publication Critical patent/JP2000506295A/ja
Application granted granted Critical
Publication of JP4155413B2 publication Critical patent/JP4155413B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/128Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network
    • 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/40071Packet processing; Packet format

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Multimedia (AREA)
  • Information Transfer Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Bus Control (AREA)
  • Small-Scale Networks (AREA)

Description

技術分野
本発明は、アプリケーションとバスとの間で行われるデータ転送の自動的な管理に関する。詳しくは、本発明は、アプリケーションとバス間の非同期データ転送動作の遂行に必要なトランザクションを自動的に生成する方法に関する。
背景技術
1995年6月16日に発表されたIEEE1394仕様書「P1394高性能シリアルバスのための仕様書」ドラフト8.01vl(The IEEE 1394 standard,”P1394 Standard For A High Performance Serial Bus,”Draft8.01vl,June 16,1995)は、非同期データ転送及びアイソクロナスデータ転送に対応し、比較的安価に高速シリアルバスアーキテクチャを実現する国際標準規格である。アイソクロナスデータ転送は、リアルタイム転送の一種であり、このアイソクロナスデータ転送では、送信側アプリケーションと受信側アプリケーションにおいて、特定のデータの転送間隔が等しい。アイソクロナスデータ転送においては、各パケットは、それぞれ固有の周期で転送される。アイソクロナスデータ転送の理想的なアプリケーションとしては、例えばビデオ記録装置とテレビジョン受像機がある。ビデオ記録装置は、映像と音声を記録し、記録したデータを個々の塊、すなわちパケットに分割する。さらに、ビデオ記録装置は、映像と音声の各パケットを一定の周期で送信し、テレビジョン受像機において映像と音声が再生される。IEEE1394規格に準拠したバス技術により、チャンネルによるアプリケーション間のアイソクロナスデータ転送が実現される。これによれば、データと共に6ビットのチャンネル番号が送信され、このチャンネル番号に基づいて適切なアプリケーションがパケットを受信する。また、チャンネルにより、バスを介して複数のアプリケーションが同時にアイソクロナスデータを送受信することができる。非同期データ転送は、比較的古くから用いられているデータ転送方式であり、非同期データ転送では、できるだけ速く、可能な限り多くのデータが送信側から受信側へ転送される。
IEEE1394規格は、デジタル装置を汎用入出力接続により相互接続する高速シリアルバスを提供するものである。IEEE1394規格は、デジタルインタフェースを規定しており、これによりアプリケーションは、デジタルデータをアナログデータに変換する必要がなく、バスを介してデータをデジタルフォーマットのまま送信することができる。したがって、受信側のアプリケーションが受信するデータはアナログデータではなくデジタルデータであり、受信側のアプリケーションでは、アナログデータをデジタルデータに変換する手間が省かれる。IEEE1394規格に必要なケーブルは、デジタル装置間の接続に用いて大量にデータを転送する他のケーブルに比べてかなり細くすることができる。また、IEEE1394バスがアクティブな状態であっても、新たな装置をバスに接続したり、切り離したりすることができる。バスに新たな装置が接続され、あるいは切り離された場合には、IEEE1394バスは、現ノード間でデータの送受ができるよう自動的にバス環境の再設定を行う。ノードは、バスにおいて固有のアドレスを有する論理的なエンティティとみなされる。各ノードは、識別ROMと、制御レジスタの標準セットと、ノード自身のアドレス空間とを有している。
IEEE1394規格で規定されているプロトコルを図1に示す。このプロトコルは、シリアルバス管理ブロック10と、このシリアルバス管理ブロック10にそれぞれ接続されたトランザクションレイヤ12と、リンクレイヤ14と、物理レイヤ16とを有する。物理レイヤ16は、装置、すなわちアプリケーションとIEEE1394ケーブルとを電気的且つ機械的に接続する。さらに物理レイヤ16は、アービトレーション機能を有し、IEEE1394バスに接続されている全ての装置が実際にデータ送信及び受信するアクセスパスを有しているか確認する。リンクレイヤ14は、非同期データ転送アイソクロナスデータ転送の両方に対応したパケット配信を行う。リンクレイヤ14は、肯定応答プロトコル(acknowledgement protocol)を用いて非同期データ転送をサポートし、さらにジャストインタイムデータ配信(just-in-time data delivery)を行うリアルタイム帯域保証プロトコル(real-time guaranteed band width protocol)を用いてアイソクロナスデータ転送をサポートしている。トランザクションレイヤ12は、読出、書込及びロックを含む非同期データ転送を行うために必要なコマンドをサポートしている。シリアルバス管理ブロック10は、アイソクロナスデータ転送を管理するアイソクロナスリソースマネージャを備えている。さらに、シリアルバス管理ブロック10は、アービトレーションのタイミングを最適化し、バス上の全ての装置に供給される電力が適切な値となるよう調整、サイクルマスタ、アイソクロナスチャンネル及び帯域リソース、及びエラーの基本的な通知を行うことによりシリアルバス全体の環境を制御する。
アイソクロナスデータ転送初期化するために幾つかの非同期データ転送を行って、アプリケーションの環境設定を行い、及びアイソクロナスデータ転送に用いる特定のチャンネルを決定する必要がある。チャンネルが決定されると、送信側のアプリケーションでは、バッファを用いてデータをバッファリングした後、データを送信し、受信側のアプリケーションでは、バッファを用いてデータをバッファリングした後、データを処理する。幾つかの周辺機器においては、その機器をシステムに導入するに当たり、多数の非同期トランザクションを用いて大量のデータを転送する必要がある。これらのトランザクションを高速且つ効率良く生成するためには、汎用CPU又はマイクロコントローラに各要求パケットの生成処理を任せることは望ましくない。
そこで、API及びアプリケーションを実行するプロセッサに監視させることなく、非同期データ転送の遂行に必要なトランザクションを自動的に生成する非同期データパイプが必要である。
発明の開示
非同期データパイプ(ADP)は、アプリケーションのためのバスを介した非同期データ転送動作の遂行に必要なトランザクションを自動的に生成する。ADPは、アプリケーションによってプログラミングされるレジスタファイルを備える。レジスタファイルにより、アプリケーションは、データ転送動作の要求及び特性をプログラミングすることができる。レジスタファイルは、バス速度と、トランザクションラベルと、トランザクションコードと、転送先ノード識別と、転送先オフセットアドレスと、各データパケットのパケット長と、パケットカウンタと、パケットカウンタンプフィールドと、制御フィールドと、ステータスフィールドとを含んでいる。アプリケーションによって、レジスタファイルがプログラミングされ、起動された後、ADPは、トランザクション及びヘッダを生成するテンプレートとしてレジスタファイルの情報を用い、適切な範囲のアドレス間で行われるデータ転送動作の遂行に必要な読出又は書込トランザクションを自動的に生成する。ADPは、インクリメント機能がディセーブルにされていない、すなわちトランザクションを生成するアドレスが単一であることが示されていない限り、各トランザクション毎に、転送先オフセットアドレスを、各データパケットのパケット長に応じ自動的にインクリメントする。パケットカウンタ値は、生成す残りのトランザクションの数を表している。パケットカウンタ値は、各データパケットが転送された後に、デクリメントされる。アプリケーションは、パケットカウンタバンプフィールド書込を行うことにより、パケットカウンタ値をインクリメントすることができる。
複数の非同期データ転送動作管理するために、装置内に複数のADPを設けるようにしてもよい。このような装置では、各ADPは、固有のトランザクションラベル値又値の範囲を有している。各ADPには、マルチプレクサが接続されており、マルチプレクサは、複数のADPから供給されるトランザクション及びデータパケットを多重化してバスに送信する。また、各ADPには、デマルチプレクサ接続されており、デマルチプレクサは、バスから受理信号及びデータパケットを受信し、トランザクションコード及びトランザクションラベル値を用いて、受理信号及びデータパケットを適切なADPにルーチングする。
【図面の簡単な説明】
図1は、IEEE1394規格に定義されているプロトコルを示す図である。
図2は、本発明を適用した3つの非同期データパイプを備えるリンクコア構成を示すブロック図である。
図3は、各非同期データパイプ内のレジスタファイルを示す図である。
発明を実施するための最良の形態
本発明を適用した非同期データパイプは、バスを介してアプリケーションからの又はへの非同期データ転送を実行するために必要な非同期トランザクションを自動的に生成する。本明細書で用いるアプリケーションという用語は、アプリケーション又はデバイスドライバの両方を指す。データ転送動作が行われるバスは、好ましくは、IEEE1394規格に準拠したバスである。なお、当業者には明らかであるが、本発明の非同期データパイプは、他の種類のバスを介して行われるデータ転送の管理にも用いることができる。非同期データパイプは、アプリケーションの指示により、アプリケーションによってテータが供給されるローカルデータバッファ、すなわちFIFOとつ以上の非同期トランザクションを用いバス上の一定範囲内の複数のアドレスとの間で、あらゆる量のデータ転送する能力を有する
非同期データパイプは、データ転送動作を行うときに、アプリケーションによってプログラミングされるレジスタファイルを備える。このレジスタファイルにより、アプリケーションは、トランザクションを生成するバス速度、トランザクションの種類を表すトランザクションラベル及びトランザクションコードそれによって転送を行う転送先ノード識別子と、転送開始する開始アドレスを表す転送先オフセットアドレス、各データパケットのパケット長含むデータ転送の要求プログラミングすることができる。また、レジスタファイルは、生成する残りのパケット数を監視するパケットカウンタと、アプリケーションパケットカウンタ値をインクリメントすることができるようにするパケットカウンタバンプフィールドと、制御フィールドと、ステータスフィールドとを含んでいる。なお、トランザクションがバス上の単一のアドレスに対して生成される場合には、アプリケーションは、非同期データパイプのインクリメント機能をオフにすることができる。
アプリケーションによってレジスタファイルがプログラミングされ、起動された後、非同期データパイプは、適切な範囲のアドレス間で行われるデータ転送動作の遂行に必要な読出又は書込トランザクションを自動的に生成する。非同期データパイプは、レジスタファイル内の情報をテンプレートとして用いて、データ転送動作の遂行に必要なトランザクション及び適切なヘッダを生成する。インクリメント機能がディセーブルされない限り、非同期データパイプは、各トランザクションの転送先オフセットアドレスフィールドの値を転送するパケットのサイズに応じて自動的にインクリメントする。このように、非同期データパイプが必要なトランザクションを自動的に生成するので、起動中のアプリケーションによってプロセッサ直接的に制御又は監視することは不要となる。したがって、本発明の非同期データパイプがデータ転送動作遂行している、アプリケーションは、他の機能を実行し、他のタスクを遂行することができる。また、レジスタファイルは、パケットカウンタバンプフィールドを含み、このパケットカウンタバンプフィールドにより、アプリケーションは、非同期データパイプが完了する残りのトランザクションの数をインクリメントすることができる。このように、非同期データパイプは、必要に応じて、データ転送動作の遂行に必要なトランザクションの生成を制御する能力を有する
装置は、複数のデータ転送動作を管理するために、複数の非同期データパイプを備えることができる。このような装置では、バスと各非同期データパイプとの間にマルチプレクサを挿入し、これにより複数の非同期データパイプからバス送信するトランザクション及びデータパケットを多重化する。各非同期データパイプには、デマルチプレクサも接続されており、これによりバスから受信する信号及びデータパケットを適切な非同期データパイプにルーチングする。デマルチプレクサは、トランザクションコード及びトランザクションラベルの値を用いて、情報を受信する非同期データパイプを決定する。
装置内において、各非同期データパイプは、固有のトランザクションラベル値又値の範囲を有している。
本発明を適用した3つの非同期データパイプ(ADP)を備えるリンク回路を図2に示す。好ましい実施の形態において、リンク回路10は、単一の集積回路又はチップに形成されている。リンク回路10は、アプリケーション11、13とバス58とをリンクさせるものである。アプリケーション11、13を実行しているプロセッサは、システムバス15に接続されている(以下、単に、アプリケーション11、は、システムバス1に接続されているという)。システムバス15には、ファーストインファーストアウトバッファ(FIFO)323436接続されている。また、アプリケーション11、は、アプリケーションインタフェース回路18に接続されている。アプリケーションインタフェース回路18は、制御レジスタ38と、1組の非同期データパイプ202224と、リンクコア44とに接続されている。各非同期データパイプ202224は、それぞれレジスタ262830を備えている。各FIFO323436は、それぞれ適切な非同期データパイプ202224に対応している。すなわち、FIFO32は、非同期データパイプ20に接続されており、FIFO34は、非同期データパイプ22に接続されており、FIFO36は、非同期データパイプ24に接続されている。制御レジスタ38は、各非同期データパイプ202224に接続されている。各非同期データパイプ202224は、送信データ転送動作に用いるマルチプレクサ40と、受信データ転送動作に用いるデマルチプレクサ42とに接続されている。ここで、送信データ転送動作とは、アプリケーション11、13からバス58の方向に行われるデータ転送動作であり、受信データ転送動作とは、バス58からアプリケーション11、13の方向に行われるデータ転送動作である。リンクコア44は、送信機46と、受信機48と、周期タイマ50と、周期モニタ52と、CRCエラーチェック回路5と、バス58への物理的インタフェースを司る物理的インタフェース回路56とを備える。送信機46は、マルチプレクサ40と、周期タイマ50と、CRCエラーチェック回路54と、物理的インタフェース回路56とに接続されている。受信機48は、デマルチプレクサ42と、周期モニタ52と、CRCエラーチェック回路54と、物理的インタフェース回路56とに接続されている。周期タイマ50は、周期モニタ52に接続されている。物理的インタフェース回路56は、バス58に接続されている。
図2に示す装置は、3つの非同期データパイプ202224を備えている。この非同期データパイプの数は、装置用途に応じて、いかなる数であってもよいことは、当業者には明らかである。各非同期データパイプ20、22、24は、アプリケーション11、13のデータ転送を自動的に制御することができる。したがって、以下の説明により明らかなように、装置に非同期データパイプを追加することにより、同時に実行できるデータ転送動作の量が増え、すなわち装置の処理能力を高めることができる。
各非同期データパイプ20、22、24は、バス58を介しアプリケーション11、13に対して送受されるデータの双方向データパスである。非同期データパイプ20、22、24の動作に先立って、非同期データパイプ20、22、24内のレジスタファイルを外部エンティティによってプログラミングする必要がある。この外部エンティティは、アプリケーション11、13であってもよく、装置内の他の情報又は状態機械であってもよい。本発明の実施の形態においては、非同期データパイプ20、22、24内のレジスタファイルは、アプリケーション11、13によってプログラミングされる。各非同期データパイプ20、22、24は、レジスタファイルをテンプレートとして用いて、送信データに必要なヘッダを生成し、又は受信データのヘッダを調べ、分離する。
非同期データパイプ20、22、24のレジスタファイルは、後に詳細に説明するように、バス58の開始アドレスと、トランザクションの種類及びサイズに関するデータを含んでいる。実施の形態においては、トランザクションの種類とは、クワドレット読出、クワドレット書込、ブロック読出、ブロック書込のうちのいずれかである。トランザクションのサイズは、クワドレットトランザクションの場合は4バイトであり、又はブロックトランザクションの場合は、ブロック要求サイズである。
非同期データパイプ20、22、24は、イネーブルにされると、レジスタファイルにプログラミングされたパラメータに基づく非同期トランザクションを用いてアプリケーション11、13のデータ転送する。アプリケーション11、13からバス58に接続された他のノードへの書込トランザクション場合、非同期データパイプ20、22、24は、そのFIFOインタフェースから入手可能なアプリケーションデータが供給されこのデータに、リンクコア44によって要求される形式適切なヘッダ情報を付加して、マルチプレクサ40を介してリンクコア44に供給する。バス58に接続された他のノードからアプリケーション11、13への読出トランザクション場合、非同期データパイプ20、22、24は、適切な読出要求パケットを出し、データを受信すると、このデータを読出応答パケットに応じて、FIFOインタフェースを介してアプリケーション11、13にルーチングする。読出トランザクション及び書込トランザクションの両方場合、非同期データパイプ20、22、24は、リンクコア44によって要求されたきに、データをバス58の特定のパケットフォーマットに変換する。また、非同期データパイプ20、22、24は、アプリケーション11、13の要求を遂行するために必要なアドレスの範囲が増加するトランザクションのためのアドレス計算を行う。
換言すると、バス58のアドレス空間におけるアドレスの範囲を増加させて、次のトランザクションのアドレスを指定する。
各非同期データパイプ20、22、24のFIFOインタフェースは、直接FIFO323436に接続されており、FIFO323436は、それぞれ非同期データパイプ20、22、24が制御するデータパスに専用である。各FIFO323436は、それぞれ単一の非同期データパイプ20、22、24専用である。各非同期データパイプ20、22、24のリンクインタフェースは、マルチプレクサ40及びデマルチプレクサ42を介してリンクコア44に接続されている。各非同期データパイプ20、22、24からリンクコア44に供給されるデータは、リンクコア44によって要求されるフォーマットを有している。各非同期データパイプ20、22、24は、リンクコア44からリンクコア44の仕様によって定義されるフォーマット供給されるデータを受信するように設計されている。装置内に複数の非同期データパイプが備えられている場合、各非同期データパイプは、マルチプレクサ40及びデマルチプレクサ42を介してリンクコア44に接続される。
リンクコア44からの非同期データパイプ202224に供給されるデータは、デマルチプレクサ42によってルーチングされる。デマルチプレクサ42は、トランザクションコード及びトランザクションラベルを用いて、データを適切な非同期データパイプ20、22、24にルーチングする。デマルチプレクサ42は、パケットヘッダのトランザクションコードフィールド及びパケットヘッダのトランザクションラベルフィールドの値を用いて、バス58からの応答パケットを適切な非同期データパイプ20、22、24にルーチングする。そして、この適切な非同期データパイプ20、22、24は、この応答パケットを対応する要求パケットを見つける
デマルチプレクサ42は、パケットをリンクコア44から非同期データパイプ20、22、24にルーチングするときに、パケットの情報変化させない。したがって、リンクコア44により生成された全ての情報は、供給先の非同期データパイプ20、22、24に供給される。非同期データパイプ20、22、24は、リンクコア44から供給されたデータをアプリケーション11、13転送する前に、バス58のプロトコルによって要求されヘッダ情報分離を含む、リンクコア44からのデータに必要な全ての処理を施す。送信データに対しては、非同期データパイプ20、22、24は、アプリケーション11、13からデータをリンクコア44によって要求される適正なフォーマットに変換する。このとき、各非同期データパイプ20、22、24は、適切なヘッダ情報を生成し、アプリケーションからデータに挿入付加した後、このデータをマルチプレクサ40を介してリンクコア44に供給する。
全ての非同期データパイプ202224に対して、リンクインタフェースは、リンクコア44の機能に必要な互換性があるフォーマットデータを生成及び使用する。非同期データパイプ202224は、書込動作の間、リンクコア44の要求に対応すべく、要求されたバス58の特定のヘッダ情報を生成し、アプリケーション11、13からデータにこのヘッダ情報を挿入する。また、非同期データパイプ202224には、読出動作の間リンクコア44から非同期データパイプ20、22、24の1つにデータを移動するリンクコア44によって準備されたフォーマットのデータが供給される。換言すると、リンクコア44から適切な非同期データパイプ202224のいずれかにデータを移動するにあたり、データを処理する必要はない。
装置内非同期データパイプが1つのみである場合、この非同期データパイプは直接リンクコア44接続することができる。一方、装置内に非同期データパイプを複数設ける場合、複数の非同期データパイプとリンクコア44との間に適切なマルチプレクサ40及びデマルチプレクサ42を設ける必要がある。マルチプレクサ4は、非同期データパイプ202224のリンクインタフェースからデータが供給され、これらのデータを多重化してリンクコア44に供給し、これらのデータはパケット単位でバス58に送信される。これらのデータは、送信元のアプリケーション11、13よって設定された優先権に基づいてバス58にルーチングされる。デマルチプレクサ42は、バス58から供給される各パケットのトランザクションコードフィールド及びトランザクションラベルフィールドの値と、非同期応答パケットのヘッダのトランザクションラベル値とを用いて、そのパケットを適切な非同期データパイプ202224にルーチングする。
本発明を適用した非同期データパイプ20、22、24は、対応するFIFO32、34、36とリンクコア44との間の双方向データパスである。非同期データパイプ20、22、24は、対応するFIFO32、34、36からリンクコア44にデータを転送する場合、適切なヘッダ情報を生成し、データの先頭にヘッダ情報を付加した後、ヘッダ情報が付加されたデータをリンクコア44に供給する。リンクコア44は、非同期データパイプ20、22、24により生成された情報を用いてバス58を介した書込動作を行う。リンクコア44からFIFO32、34、36にデータを供給する場合、非同期データパイプ20、22、24は、読出トランザクションのための適切なヘッダ情報を生成する。非同期データパイプ20、22、24は、リンクコア44にこのヘッダ情報を供給し、リンクコア44は、読出要求パケットをバス58に送信する。その後、応答側のノードは、読出応答パケットを返す。リンクコア44は、この読出応答パケットを検出して、デマルチプレクサ42に供給し、そして、デマルチプレクサ42はトランザクションコード及びトランザクションラベルフィールドの値に基づいて適切な非同期データパイプ20、22、24を判別してこの読出応答パケットを読出要求を発した非同期データパイプ20、22、24に供給する。そして、非同期データパイプ20、22、24は、この読出応答パケットからヘッダ情報を分離し、対応するFIFO32、34、36にデータを供給する。データはさらにFIFO32、34、36からアプリケーション11、13に供給され、処理される。非同期データパイプ20、22、24は、バス5を介して送信する要求が読出要求であるか書込要求であるかにかかわらず、アプリケーション11、13からの、又はアプリケーション11、13への全てのデータ転送が完了するまで適切な要求を生成し続ける。
複数の非同期データパイプを備える装置では、データ転送の複数のスレッドを同時に維持することができる。これは、組込みアプリケーション、例えばアプリケーションを起動するために一連のコマンドを読み込、又はステータス情報を報告ながら記録媒体データを転送することができるディスクドライブにとって有用である。デマルチプレクサ42は、データを各非同期データパイプ20、22、24に適切供給する機能を有する。本発明の好ましい実施の形態においては、各非同期データパイプ20、22、24は、固有のトランザクションラベル又は値の範囲を有する。デマルチプレクサ42は、トランザクションラベル及びトランザクションコードフィールドの値に基づいて適切な非同期データパイプ20、22、24を判別する。各非同期データパイプ20、22、24は、後に詳細に説明するように、専用のレジスタファイルを有する。レジスタファイルは、例えばデータ転送動作を開始する外部のアプリケーションによりプログラミングされる。レジスタファイルが一旦プログラミングされると、非同期データパイプ20、22、24は、バス58を介して、範囲が増加するアドレスに対して、又は固定のアドレスに対して書込及び読出動作を行うことができるようになる。これらのトランザクションのサイズは、ブロックサイズであってもクドレットサイズであってもよい。アプリケーション11、13は、データ転送動作をプログラミングするとき、転送するブロックの総数を供給するとしてもよく、一度に1つの数のブロックカウンタを「バンプ」するとしてもよく、また、この両方を組み合わせて用いるようにしてもよい。非同期データパイプ20、22、24は、転送すデータブロックの総数がプログラミングされ場合、アプリケーション11、13が他の動作又は他のタスクを実行している間に転送動作の実行に必要なトランザクションを生成する。各非同期データパイプ20、22、24は、ブロックカウンタの値が0になるまで、バス58に関する特定のアドレスポインタコンテキストを維持し、読出及び書込トランザクションを実行する。
各非同期データパイプ20、22、24は、専用のレジスタファイルを備え、レジスタファイルは、データ転送を開始するアプリケーション11、13によりプログラミングされ、バス58を介して行われるデータ転送の実行に必要なトランザクションの生成に用いられる。本実施の形態における各非同期データパイプ20、22、24が有するレジスタファイルの構成を図3に示す。レジスタファイル80は、それぞれ16進法で001Fの番号が付された32バイトのデータを有する。図3では、それぞれが4バイトを有するの水平方向の列を備える表の形式でレジスタファイル80を示している。図3に示すオフセット欄82は、各列の開始バイトの、レジスタファイル80の開始アドレスからのオフセットを示すものである。読出(R)/書込(W)欄84は、各列のフィールドが読出及び書込可能なものであるか(R/W)、読出専用のものであるか(R)、あるいは書込専用のものであるか(W)を示している。
速度フィールドspは、レジスタファイル80のバイト1中の2ビットのフィールドである。速度フィールドspに対しては、読出及び書込うことができる。速度フィールドspは、全ての要求パケットが生成されるバス速度を定義するフィールドである。速度フィールドsp内の値は、書込動作により更新される。速度フィールドspに対して読出動作を行うことにより、このフィールドに書き込まれた最の値が返される。速度フィールドsp値は、バス58に対する全ての要求パケットが生成される速度を示す2ビットの値である。下記の表1は、バス速度と速度フィールドspの値との関係を示す表である。
Figure 0004155413
したがって、表1に示すように、速度フィールドspにおける値00は、全ての要求パケットが生成されるバス速度を100Mbpsと定めるものであり、値01は、要求パケットが生成されるバス速度を200Mbpsとするものであり、値10は、要求パケットを生成するバス速度を400Mbpsとするものである。
トランザクションラベルフィールドt1は、レジスタファイル80のバイト2における6ビットのフィールドである。トランザクションラベルフィールドt1に対しては、読出及び書込うことができる。トランザクションラベルフィールドt1には、対応する非同期データパイプ20、22、24により生成された全ての要求パケットに用いるトランザクションラベルの値が格納される。代替の実施の形態として、単一の非同期データパイプトランザクションラベルの範囲を管理するようにしてもよい。トランザクションラベルフィールドt1の値は、書込動作により更新される。トランザクションラベルフィールドt1に対して読出動作を行うことによりこのフィールドに書き込まれた最の値が返される。装置内に複数の非同期データパイプが存在する場合、デマルチプレクサ42が要求のあった非同期データパイプに応答パケットを適切にルーチングできるようにするために、トランザクションラベルフィールドt1には、各非同期データパイプに固有の値が格納される。
好ましい実施の形態においては、レジスタファイル80のバイト2における下位2ビットは、常に論理値Lとなるようにプログラミングされている。
トランザクションコードフィールドtCodeは、レジスタファイル80内のバイト3における4ビットのフィールドである。トランザクションコードフィールドtCodeに対しても、読出及び書込が行える。トランザクションコードフィールドtCodeには、対応する非同期データパイプ20、22、24により生成された全ての要求パケットに用いるトランザクションコードが格納される。トランザクションコードフィールドtCodeの値は、書込動作により更新される。トランザクションコードフィールドtCodeに対して読出動作を行うことにより、ここに書き込まれた最の値が返される。トランザクションコードフィールドtCodeの値は、実行する動作表す4ビットの値である。トランザクションコードフィールドtCodeに格納される値と実行する動作の種類との関係を次の表2に示す。
Figure 0004155413
トランザクションコードフィールドtCodeに格納されている値が0000である場合、実行するデータ転送動作は、クワドレツト書込動作である。トランザクションコードフィールドtCodeに格納されている値が0001である場合、実行するデータ転送動作は、ブロック書込動作である。トランザクションコードフィールドtCodeに格納されている値が0100である場合、実行するデータ転送動作は、クワドレット読出動作である。トランザクションコードフィールドtCodeに格納されている値が0101である場合、実行するデータ転送動作は、ブロック読出動作である。トランザクションコードフィールドtCodeに格納されている値が1001である場合、実行する動作は、ロック動作である。
好ましい実施の形態においては、レジスタファイル80のバイト3における下位4ビットは、バス58を介したデータ転送に用いるパケットヘッダ用の予備的フィールドとして用いることができるようにするため、常に論理値Lを示すようにプログラミングされている。
転送先識別フィールドdestination_IDは、レジスタファイル80のバイト4及びバイト5にあたる16ビットのフィールドである。この転送先識別子フィールドdestination IDに対しては、読出及び書込を行うことができる。この転送先識別フィールドdestination_IDには、データ転送動作のために、対応する非同期データパイプ20、22、24により生成された全ての要求パケットの転送先ノードの識別子(IDを示す16ビットの値が格納される。転送先識別フィールドdestination_IDの値は書込動作により更新される。このフィールドに対して読出動作を行うことにより、転送先識別フィールドdestination_IDに書き込まれた最の値が返される。転送先識別フィールドdestination_IDの値は、転送動作を行うバス58上のノードを示す。したがって、バス58上の各ノードは、それぞれ固有の識別を有している。
上位転送先オフセットフィールドdestination_offset Hiは、レジスタファイル80のバイト6及びバイト7にあたる16ビットのフィールドである。この上位転送先オフセットフィールドdestination_offset Hiに対しては、読出及び書込を行うことができる。上位転送先オフセットフィールドdestination_offset Hiには、生成された次の要求パケットの転送先オフセットアドレスの上位16ビットが格納される。この上位転送先オフセットフィールドdestination_offset Hiの値は、書込動作により更新される。上位転送先オフセットフィールドdestination offset Hiに対して読出動作を行うことにより、このフィールドに現在格納されている転送先オフセットアドレスの上位16ビットの値が返される。
下位転送先オフセットフィールドdestination_offset Loは、レジスタファイル80のバイト8〜Bにあたる32ビットのフィールドである。下位転送オフセットフィールドdestination_offset Loに対しては、読出及び書込を行うことができる。この下位転送先オフセットフィールドdestination_offset Loには、生成された次の要求パケットに用いる転送先オフセットアドレスの下位32ビットが格納される。下位転送先オフセットフィールドdestination_offset Loの値は、書込動作により更新される。この下位転送先オフセットフィールドdestination_offset Loに対して読出動作を行うことにより、転送先オフセットアドレスの下位32ビットの現在の値が返される。上位転送先オフセットフィールドdestination_offset Hiと下位転送先オフセットアドレスdestination_offset Loとを組み合わせることにより、現トランザクション生成する48ビットの転送先オフセットアドレスが形成される。制御フィールド内の後に説明する非インクリメントフラグが論理値Lを示している場合、非同期データパイプ20、22、24は、読出又は書込トランザクションが生成された後に、上位転送先オフセットフィールドdestination_offset Hi及び下位転送先オフセットフィールドdestination_offset Loからなる48ビットの転送先オフセットフィールドにデータ長フィールドに格納されている値を加える。
データ長フィールドdata_lengthは、レジスタファイル80のバイトC及びDにあたる16ビットのフィールドである。データ長フィールドdata_lengthに対しては、読出及び書込うことができる。データ長フィールドdata_lengthには、対応する非同期データパイプ20、22、24により生成された全ての要求パケットのサイズバイト数で示す値が格納される。データ長フィールドdata_lengthの値は、書込動作により更新される。また、データ長フィールドdata_lengthに対して読出動作を行うことにより、このフィールドに書き込まれている最の値が返される。データ長フィールドdata_lengthの値は、下記の表3に示すように、レジスタファイル80内の他のフィールド値によって制限される。
Figure 0004155413
拡張トランザクションコードフィールドextended_tCodeは、レジスタファイル80のバイトE及びFにあたる16ビットのフィールドである。拡張トランザクションコードフィールドextended_tCodeに対しては読出及び書込動作を行うことができる。拡張トランザクションコードフィールドextended_tCodeは、書込動作によって更新される。拡張トランザクションコードフィールドextended_tCodeに対して読出動作を行うことにより、このフィールドに書き込まれた最の値が返される。拡張トランザクションコードフィールドextended_tCodeは、ロックトランザクション以外の全てのトランザクションに対して0000の値をとる。トランザクションコードフィールドtCodeの値が1001に設定された場合、これはロック要求であることを示し、このとき拡張トランザクションコードフィールドextended_tCodeは、ロックトランザクションについての拡張トランザクションコード値を格納する。
パケットカウンタフィールドは、レジスタファイル80のバイト1013にあたるフィールドであり、システム設定に応じて8〜32ビットの値を格納する。パケットカウンタフィールドに対しては、読出及び書込を行うことができる。パケットカウンタフィールドは、データ転送動作完了するために生成する残りの要求パケット数を格納する。パケットカウンタフィールドの値は書込動作により更新される。パケットカウンタフィールドに対して読出動作を行うことにより、現時点において生成する残りの要求パケットの数が返される。パケットカウンタフィールドの値は、各トランザクションが生成される毎にデクリメントされる。生成する要求パケットの数を完全に制御するために、パケットカウンタフィールド値が0になると、パケットカウンタフィールドは書込専用となる。
パケットカウンタバンプフィールドは、レジスタファイル80のバイト14〜17にあたる書込専用のフィールドである。このパケットカウンタバンプフィールドに書込が行われると、対応する非同期データパイプ20、22、24は、パケットカウンタフィールドの値をインクリメントする。パケットカウンタバンプフィールドに対して読出動作行っても、返される値は予測不能である。パケットカウンタバンプフィールドを設けることにより、要求を出したアプリケーション11、13は、現在の転送動作のために更なるトランザクションを生成することができる。好ましい実施の形態においては、パケットカウンタフィールドの値が0ではない場合に、パケットカウンタフィールドの値をインクリメントさせるものは、非同期データパイプ20、22、24によるこのパケットカウンタバンプフィールドへの書込動作のみである。
制御フィールドは、レジスタファイル80のバイト18〜1Bにあたる32ビットのフィールドである。制御フィールドに対しては読出及び書込動作を行うことができる。制御フィールドにおいて、ビット0〜29は、予備のビットであり、ビット30は、非インクリメント制御ビットnon_incrであり、ビット31は、動作制御ビットgoである。非同期データパイプ20、22、24をイネーブルにするためには、動作制御ビットgoを論理値Hに設定する。この動作制御ビットgoを論理値Lに変更すると、即座に、あるいは非同期データパイプ20、22、24がトランザクション処理中であるときは、そのトランザクションの終了時に、非同期データパイプ20、22、24はディセーブルされる。このように、非同期データパイプ20、22、24は、この動作制御ビットgoが論理値Hに設定されている間にのみ動作する。非同期データパイプ20、22、24により生成される要求パケットが固定のアドレス、すなわち増加しないアドレスに対するものである場合、非インクリメント制御ビットnon_incrは、論理値Hに設定される。非インクリメント制御ビットnon_incrが論理値Lに設定された場合は、対応する非同期データパイプ20、22、24は、各トランザクションを完了する毎に、転送先オフセット値にデータ長フィールドdata_lengthの値を加える。
ステータスフィールドは、レジスタファイル80のバイト1C〜1Fにあたる32ビットのフィールドである。このステータスフィールドに対しては、読出動作及び書込動作を行うことができる。ステータスフィールドには、対応する非同期データパイプ20、22、24により生成された全ての要求パケットの受理応答コード及び応答コートが格納される。ステータスフィールドは、エラーフィールドと、応答コードフィールドと、受理信号受信フィールドと、受理信号送信フィールドとを有している。
エラーフィールドは、対応する非同期データパイプ20、22、24の動作を中断させるエラーが発生した場合、そのエラーを示す4ビットの値を格納する。動作制御ビットgoが論理値Hに設定されると、エラーフィールドは、クリアされる。一方、エラーフィールドが有効になると、動作制御ビットgoは、非同期データパイプ20、22、24によって論理値Lにクリアされる。表4は、エラーフィールドに格納される値と、その意味との関係を示す表である。
Figure 0004155413
エラーフィールド内の値0000は、エラーが発生していないことを示す。エラーフィールド内の値0001は、以前に送信した要求パケットに対して受信された受理信号が正しくなかったためにエラーが発生したことを示す。エラーフィールド内の値0010は、応答パケットに対して送信された受理信号が正しくなかったためにエラーが発生したことを示す。エラーフィールド内の値0100は、分割トランザクションの時間切れによりエラーが発生したことを示す。エラーフィールド内の値1000は、バスリセットが発生したことを示す。
応答コードフィールドは、直前の応答コードを格納する4ビットのフィールドである。直前に行われたトランザクションが書込トランザクションであり、この書込トランザクションが統合されたトランザクションとして遂行された場合、応答コードフィールドには、値1111が格納される。
受理信号受信フィールドは、4ビットのフィールドからなり、非同期データパイプ20、22、24により生成された直前の要求パケットに対してリモートのノードから送られてきた最新の受理信号を格納する。
受理信号送信フィールドは、対応する非同期データパイプ20、22、24により生成された全ての要求パケットに対する応答パケットに応じて非同期データパイプ20、22、24が生成した最新の受理信号を格納する4ビットのフィールドである。
ステータスフィールドの値は、書込動作により更新される。このステータスフィールドに対して読出動作を行うことにより、非同期データパイプ20、22、24及びデータ転送動作の現在の状態が返される。要求パケットのうちの1つ又は対応する応答パケットにエラーが生じた場合、非同期データパイプ20、22、24は、即座に更なる要求パケットの生成を停止する。続いて、非同期データパイプ20、22、24は、応答コードフィールドrCodeと、受理信号受信フィールドack_inと、受理信号送信フィールドack_outとに格納されている値をステータスフィールドにラッチする。これらの値をステータスフィールドにラッチした後、非同期データパイプ20、22、24は、アプリケーションインタフェースを介してアプリケーション11、13に中断信号を供給し、現データ転送動作中にエラーが発生したことをアプリケーション11、13に知らせる。
読出動作
読出動作を実行してバス58を介して接続された他のノードからデータを入手するにあたり、非同期データパイプ20、22、24は、レジスタファイル80に登録された情報をテンプレートとして用いて適切な読出要求パケットを生成する。転送先のノードからデータを受信する場合、デマルチプレクサ42は、トランザクションコードフィールドtCode及びトランザクションラベルフィールドt1の値に基づいて、このデータを適切な非同期データパイプ20、22、24にルーチングする。非同期データパイプ20、22、24は、データパケットからヘッダ情報を分離して、このデータパケットをFIFO32、34、36に供給する。
アプリケーション11、13このFIFO32、34、36からデータを受信する。
非同期データパイプ20、22、24は、起動されてバス58からデータをFIFO32、34、36に供給するとき、下記の表5に示すように、データ受信状態機械として機能する。
Figure 0004155413
FIFOインタフェースは、バスインタフェースに同期したクロック信号を用いて、非同期データパイプ20、22、24から対応するFIFO32、34、36へのデータの供給のタイミングを制御する。FIFO32、34、36は、常に、非同期データパイプ20、22、24から入手可能な1ワード分のデータを受信する状態にある。FIFO32、34、36にデータを受け入れる余地がないときに、要求信号が供給された場合、FIFO32、34、36にオーバーランが発生する。これによりFIFO32、34、36は、エラー状態となり、このエラー状態は、対応する非同期データパイプ20、22、24により検出される。このFIFOオーバーランが発生すると、FIFO32、34、36内のデータがクリアされて更なるデータを受信できる状態となるまで、残りのトランザクションは中断される。この場合、ステータスフィールド内の受理信号送信フィールドack outは、このエラーを反映した値を示す。
バス58からデータを読み出すために、処理元のアプリケーション11、13は、適切な非同期データパイプ20、22、24のレジスタファイル80に適切な情報をプログラミングする。処理に用いるバス速度として、例えば100Mbps、200Mbps、400Mbps等のうちのいずれかの値が速度フィールドspに格納される。この使用されるバス速度は、物理的インタフェース回路56の性能及びバス58にサポートされている範囲内で設定される。トランザクションコードフィールドtCodeには、遂行す特定のトランザクションを示す適切な値が格納される。転送先識別フィールドdestination_IDには、全ての要求パケットに対して、バス58上の転送先ノード識別に対応する適切な値がプログラミングされる。
上位転送先オフセットフィールドdestination_offset Hi及び下位転送先オフセットフィールドdestination_offset Loは、48ビットの開始転送先オフセット値を格納する。制御フィールドの非インクリメントビットが論理値Lである場合、転送先オフセットフィールドの値は、各要求トランザクションが生成された後に増加される。生成される各要求パケットのバイト数は、データ長フィールドdata_lengthにプログラミングされる。トランザクションコードフィールドtCodeの値が0100、すなわちこのトランザクションがクワドレット読出トランザクションであることを示している場合、データ長フィールドdata_lengthに格納される値は、4である。トランザクションコードフィールドtCodeの値が0101、すなわちこのトランザクションがブロック読出トランザクションであることを示している場合、データ長フィールドdata_lengthには、上述の表3で示す、プログラミングされたバス速度において許容される範囲内で、適切な値がプログラミングされる。ここでは、実行されるトランザクションは、読出動作であり、ロックトランザクションではないため、拡張トランザクションコードフィールドextended_tCodeの値は0である。
パケットカウンタフィールドには、現在のデータ転送動作を遂行するために生成及び送信するトランザクションの数が格納される。アプリケーション11、13が適切なトランザクションを生成するためにパケットカウンタバンプフィールドに書込を行い、その都度パケットカウンタフィールドの値を1ずつインクリメントするような場合であれば、パケットカウンタフィールドの値の初期値を0とすることもできる。全ての要求パケットを同一の転送先オフセットアドレスに送信する場合、制御フィールドの非インクリメントビットは、論理値Hに設定される。一方、要求パケットを送信するアドレスの範囲が増加する場合、制御フィールドの非インクリメントビットは、論理値Lに設定される。非同期データパイプ20、22、24を起動してデータ転送動作に必要な適切なトランザクションの生成を開始させるために、制御フィールド内の動作制御ビットgoは、論理値Hに設定される。
制御フィールド内の動作制御ビットgoが論理値Hに設定されると、非同期データパイプ20、22、24イネーブルにされる。非同期データパイプ20、22、24は、イネーブルにされると、表6に示すような読出状態機械として機能し、読出要求パケットを生成する。
Figure 0004155413
処理元のアプリケーション11、13は、パケットカウンタバンプフィールドに対していつでも書込動作を行うことができ、これによりパケットカウンタフィールドの値に1を加える。表6に示すような、非同期データパイプ読出状態機械は、動作中の非同期データパイプ20、22、24に接続されたFIFO32、34、36内に1パケット分以上のデータを受信する余地がある場合、読出要求パケットを生成する。また、非同期データパイプ20、22、24によって実現された読出状態機械は、非同期データパイプ20、22、24に対応するFIFO32、34、36が完全に空である場合も読出要求パケットを生成する。実際のアプリケーションにおいて、非同期データパイプ20、22、24に対応するFIFO32、34、36からデータが十分速く、十分短い待ち間隔で確実に送信されるような場合では、FIFO32、34、36の容量は、レジスタファイル80のデータ長フィールドdata_lengthの値により特定されるバイト数より小さくすることができる。
非同期データパイプ20、22、24は、読出要求パケットを生成及び送信することにより、これに対応する応答パケットを転送先ノードに生成させる。装置内に複数の非同期データパイプが存在する場合、デマルチプレクサ42は、読出応答パケットのトランザクションコードフィールドtCode及びトランザクションラベルフィールドt1の値を用いて、そのパケットを適切な非同期データパイプにルーチングする。データが供給された非同期データパイプは、パケットのヘッダを分離し、対応するFIFOインタフェースが使用できるデータフィールドを作成する。
制御フィールドの非インクリメントビットが論理値Hである場合、非同期データパイプ20、22、24は、各読出要求パケットを生成した後に、次のデータ要求パケットの生成を準備するために、転送先オフセットアドレスの値にデータ長フィールドdata_lengthの値を加える。表6の読出状態機械には示していないが、非同期データパイプ20、22、24は、自らが生成する各書込要求パケットについて、受理信号受信フィールドack_in及び対応する読出応答パケットの応答コードフィールドrCodeを調査する。受理信号受信フィールドack_in又は応答コードフィールドrCodeがエラーを示している場合、又は非同期データパイプ20、22、24が何らかのエラーのために読出応答パケットに対して不正な受理コードを返さざるを得ないような場合、非同期データパイプ20、22、24は、直ちに動作を停止し、受理コード及び応答コードフィールドrCodeの両方をレジスタファイル80の非同期データパイプステータスフィールドに保存する。スプリットトランザクションのために、非同期データパイプ20、22、24は応答時間を計測する。要求パケットの送信から応答パケットの受信までの時間間隔が100ms以上である場合、非同期データパイプ20、22、24は、動作を停止し、レジスタファイル80のステータスフィールドに所定のステータス情報を格納する。
書込動作
非同期データパイプ20、22、24は、書込動作の実行時、処理元のアプリケーション11、13からバス58に接続された他のノードにデータを送信するにあたり、レジスタファイル80に格納された情報をテンプレートとして用いて、適切なヘッダ情報を生成する。
生成されたヘッダは、適切なデータパケットに付加され、リンクコア44を介してバス58に送信される。インクリメント機能がディセーブルでなければ、非同期データパイプ20、22、24は、転送先オフセットフィールドの値を増加させた後、次のデータパケットのヘッダを生成する。各トランザクションが生成される毎に、パケットカウンタの値はデクリメントされる。この処理は、パケットカウンタの値が0になるまで繰り返される。
起動された各非同期データパイプ20、22、24は、FIFO32、34、36からバス58へのデータ転送を行うとき、下記の表7に定義するようなデータ送信状態機械として機能する。
Figure 0004155413
FIFOインタフェースは、バスインタフェースに同期したクロックを用いてFIFO32、34、36から対応する非同期データパイプ20、22、24にデータを送信するタイミングを制御する。FIFO32、34、36は、非同期データパイプ20、22、24から要求があったときにいつでも送信することのできる1ワード分のデータを保持している。要求信号Reqが送信されたが、FIFO32、34、36にデータが存在しない場合、FIFO32、34、36にアンダーランが発生する。
対応する非同期データパイプ20、22、24は、これによって発生するエラーを検知し、適切な処理を施す。アプリケーション11、13は、バス58を介して送信す適切なデータがFIFO32、34、36に確実に保存されるよう動作する。FIFOアンダーランが発生すると、FIFO32、34、36にデータが追加されるまで、残りのトランザクションが停止される。
バス58を介した書込動作を行うために、アプリケーション11、13は、適切な非同期データパイプ20、22、24内のレジスタファイル80に適切な情報をプログラミングする。速度フィールドspには、使用される適切なバス速度、例えば100Mbps、200Mps、400Mbps等を示す値が格納される。バス速度は、物理的インタフェースの性能及びバス58が対応できる範囲を考慮して選択される。トランザクションコードフィールドtCodeには、実行される特定のトランザクションを示す値が格納される。例えば、要求がクワドレット書込要求である場合、トランザクションコードフィールドtCodeには、値0000が格納される。要求がブロック書込要求である場合、トランザクションコードフィールドtCodeには、値0001が格納される。転送先識別フィールドdestination_IDには、それぞれの要求パケットに対する、バス58上の転送先ノード識別に対応する適切な値が格納される。
上位転送先オフセットフィールドdestination_offset Hiと、下位転送先オフセットフィールドdestination_offset Loとには、48ビットの開始転送先オフセット値が格納される。制御フィールド内の非インクリメントビットが論理値を示している場合、レジスタファイル80の転送先オフセットフィールドの値は、各要求トランザクションが完了する度に増加される。データ長フィールドdata_lengthには、生成される各要求パケットのバイト数が格納される。トランザクションコードフィールドtCodeの値が0000、すなわちこのトランザクションがクワドレット書込トランザクションであることを示している場合、データ長フィールドdata_lengthに格納される値は、4である。トランザクションコードフィールドtCodeの値が0001、すなわちことトランザクションがブロック書込トランザクションであることを示している場合、データ長フィールドdata_lengthには、上述した表3に示すような、指定されたバス速度において使用できる範囲内で、適切な値を格納する。ここで遂行される処理は、書込動作であるため、拡張トランザクションコードフィールドextended_tCodeの値は0である。
パケットカウンタフィールドには、このトランザクションを遂行するために生成及び送信するパケットの数を示す値が格納される。アプリケーション11、13がパケットカウンタバンプフィールドに書込を行って適切なトランザクションを生成し、その都度パケットカウンタフィールドに1を加えるような場合は、パケットカウンタフィールドの初期値を0に設定することができる。全ての要求パケットを同一の転送先オフセットアドレスに送信する場合、制御フィールド内の非インクリメントビットは、論理値Hに設定される。要求パケットを転送するアドレスの範囲が増加する場合、制御フィールドの非インクリメントビットは、論理値Lに設定される。データ転送動作の遂行に必要な適切なトランザクションを非同期データパイプ20、22、24に生成させるために、制御フィールドの動作制御ビットgoは、論理値Hに設定される。
レジスタファイル80の制御フィールド内の動作制御ビットgoが論理値Hに設定されると、非同期データパイプ20、22、24イネーブルにされる。非同期データパイプ20、22、24は、起動中、表8に示すような書込状態機械として機能し、要求パケットを生成する。
Figure 0004155413
転送元のアプリケーション11、13は、パケットカウンタバンプフィールドに常時書込動作を行うことができ、これによりパケットカウンタフィールドの値に1を加える。上述した表8に定義したような非同期データパイプ書込状態機械は、起動中の非同期データパイプ20、22、24に接続されたFIFO32、34、36内に1パケット分以上のデータが存在する場合、常に書込要求パケットを生成する。非同期データパイプ書込状態機械は、また、この非同期データパイプ20、22、24に対応するFIFO32、34、36が完全に一杯の状態である場合も、常に書込要求パケットを生成する。
実際のアプリケーションにおいて、非同期データパイプ20、22、24に対応するFIFO32、34、36からデータが十分速く、十分短い待ち間隔で確実に送信されるような場合では、FIFO32、34、36の容量は、レジスタファイル80のデータ長フィールドdata_lengthの値により特定されるバイト数より小さくすることができる。
制御フィールドの非インクリメントビットが論理値Lに設定されている場合、非同期データパイプ20、22、24は、各書込要求パケットを生成する毎に、次の書込要求パケットの生成の準備のために転送先オフセット値にデータ長フィールドdata_lengthの値を加える。表8には示していないが、非同期データパイプ20、22、24は、自らが生成する各書込要求パケットについて、受理信号受信フィールドack_in及び、転送先ノードが書込応答パケットを生成する場合は、対応する応答コードフィールドrCodeを調査する。受理信号受信フィールドack_in又は応答コードフィールドrCodeがエラーを示している場合、又は非同期データパイプ20、22、24が何らかのエラーにより、読出応答パケットに対して不正な受理コードを返さざるを得ないような場合、非同期データパイプ20、22、24は、直ちに動作を停止し、受理コード及び応答コードフィールドrCodeの両方をレジスタファイル80の非同期データパイプステータスフィールドに保存する。スプリットトランザクションのために、非同期データパイプ20、22、24は応答時間を計測する。
要求パケットの送信から応答パケットの受信までの時間間隔が100ms以上である場合、非同期データパイプ20、22、24は、動作を中断し、レジスタファイル80のステータスフィールドに所定のステータス情報を格納する。
本発明の好ましい実施の形態においては、バス58は、IEEE1394規格に準拠したバスである。したがって、各非同期データパイプ20、22、24は、IEEE1394規格に対応する形式でトランザクション、ヘッダ、要求パケット、応答パケットを生成する。しかしながら、当業者には明らかであるが、本発明に係る非同期データパイプを他の種類のバスとともに用いてもよい。この場合、非同期データパイプは、採用された特定のバスに適応するようなトランザクション、ヘッダ、要求パケット、応答パケットを生成する。
本発明の構成や動作の理解を容易にするために、細部を詳細に特定した実施の形態を説明したが、ここで述べた特定の形態や細部は、添付の特許請求の範囲を制限するものではない。当業者は、ここで説明した実施の形態を変形して用いることができるが、そのような変形は、本発明の技術的範囲内にある。

Claims (40)

  1. アプリケーション(1)とバス(58)間にデータパスを形成しアプリケーション(1からの及びへの該バス(58)を介した非同期データ転送動作を自動的に制御する非同期データパイプにおいて
    a.データ転送動作に関するパラメータを受信する受信手段と、
    b.上記アプリケーション(1)と、上記バスに接続されたノードとの間のデータ転送の遂行に必要なトランザクションを、上記アプリケーションを実行するプロセッサの直接的な制御又は該アプリケーションによる介在なしで、自動的に生成する生成手段とを備える非同期データパイプ(20)。
  2. 上記アプリケーション(1上記データ転送動作に関するパラメータ保存するレジスタファイル(26)を更に備える請求の範囲第1項記載の非同期データパイプ(20)。
  3. 上記レジスタファイル(26)は、上記データデータ転送動作の遂行に必要なトランザクション及びヘッダを生成するためのテンプレートとして用いられることを特徴とする請求の範囲第2項記載の非同期データパイプ(20)。
  4. 上記レジスタファイル(26)に保存されるパラメータは、上記バス(58)のアドレス空間内の転送先アドレスと、転送するデータの長さと、転送する各データパケットの長さと、転送方向とが含むことを特徴とする請求の範囲第3項記載の非同期データパイプ(20)。
  5. 上記アプリケーションに対してデータを送受するデータバッファ(32)を更に備える請求の範囲第2項記載の非同期データパイプ(20)。
  6. 上記バス(56)は、IEEE1394規格に準拠したバスであることを特徴とする請求の範囲第5項記載の非同期データパイプ(20)。
  7. 上記データ転送動作に必要なトランザクションは、各トランザクションが生成される毎に、上記転送先アドレスに各データパケットの長さを加えることにより範囲が増加するアドレスに対して生成されることを特徴とする請求の範囲第4項記載の非同期データパイプ(20)。
  8. 上記データ転送動作に必要なトランザクションは、固定のアドレスに対して生成されることを特徴とする請求の範囲第4項記載の非同期データパイプ(20)。
  9. 上記レジスタファイル(26)は、転送する残りのパケットの数を表すパケットカウンタの値更に含むことを特徴とする請求の範囲第4項記載の非同期データパイプ(20)。
  10. 上記アプリケーション(1)は、上記レジスタファイル(26)の所定のフィールド書込を行うことにより、上記パケットカウンタの値をインクリメントすることを特徴とする請求の範囲第9項記載の非同期データパイプ(20)。
  11. 上記アプリケーション(1)と、バス(58)に接続されたノードとの間の書込データ転送動作を管理する管理方法において
    a.上記アプリケーション(1から上記書込データ転送動作に関するパラメータを受信するステップと、
    b.上記アプリケーションからパケットデータを入手するステップと、
    c.上記アプリケーションを実行するプロセッサを、該アプリケーションで直接的に制御又は監視することなく上記書込データ転送動作の遂行に必要なヘッダを生成するステップと、
    d.上記パケットデータの転送先アドレスを含む上記ヘッダを該パケットデータに付加するステップと、
    e.上記ヘッダを含むデータパケットをバス(58)送信するステップとを有する管理方法。
  12. 上記アプリケーション(1)から受信するパラメータは、レジスタファイル(26)に保存されることを特徴とする請求の範囲第11項記載の管理方法。
  13. 上記パラメータは、転送先アドレスと、転送するデータの長さと、転送する各データパケットの長と、転送するパケットの数を示すパケットカウンタの値とが含むことを特徴とする請求の範囲第12項記載の管理方法。
  14. 上記レジスタファイル(26)は、上記アプリケーション(1を実行するプロセッサを、該アプリケーションで直接的に制御又は監視することなく上記バス(58)を介してデータパケットの書込動作を行うために必要なヘッダ及びトランザクションを生成するためのテンプレートとして用いられることを特徴とする請求の範囲第13項記載の管理方法。
  15. f.上記転送先アドレスを上記データパケットの長さの分増加するステップと、
    g.上記パケットカウンタの値デクリメントするステップと、
    h.上記パケットカウンタの値が0になるまで各データパケットに対して上記bからgのステップを繰り返すステップとを更に有する請求の範囲第14項記載の管理方法。
  16. 上記データパケットは、上記アプリケーション(1)によってロードされたデータメモリバッファ(32)から入手されることを特徴とする請求の範囲第15項記載の管理方法。
  17. アプリケーション(1)と、バス(58)に接続されたノードとの間の読出データ転送動作を管理する管理方法において
    a.上記アプリケーション(1)から上記読出データ転送動作に関するパラメータを受信するステップと、
    b.上記アプリケーション(11)を実行するプロセッサの直接的な制御又は該アプリケーションによる介在に関係なく、上記バス(58)に位置するノードからデータパケットを要求するために必要なトランザクションを生成するステップと、
    c.上記バス(58)からデータパケットを受信するステップと、
    d.上記データパケットからヘッダ情報を分離するステップと、
    e.上記ヘッダ情報を分離したデータパケットを上記アプリケーション(1)に供給するステップとを有する管理方法。
  18. 上記アプリケーション(1)から供給されるパラメータは、レジスタファイル(26)に保存されることを特徴とする請求の範囲第17項記載の管理方法。
  19. 上記パラメータは、データ送信するノード内の開始アドレスを示す転送先アドレスと、転送するデータの長さと、転送する各データパケットの長さと、転送するパケットの数を示すパケットカウンタの値を含むことを特徴とする請求の範囲第18項記載の管理方法。
  20. 上記レジスタファイル(26)は、上記アプリケーションを実行するプロセッサを、該アプリケーションによって直接的に制御又は監視することなく、上記ノードからデータパケットを読み出すために必要なトランザクション及びヘッダを生成するためのテンプレートとして用いられることを特徴とする請求の範囲第19項記載の管理方法。
  21. f.上記転送先アドレスを上記データパケットの長さの分増加させるステップと、
    g.上記パケットカウンタの値デクリメントするステップと、
    h.上記パケットカウンタの値が0になるまで各データパケットに対して上記bからgのステップを繰り返すステップとを更に有する請求の範囲第20項記載の管理方法。
  22. 上記データパケットは、データメモリバッファ(32)を介して上記アプリケーション(1)に供給されることを特徴とする請求の範囲第21項記載の管理方法。
  23. つ以上のアプリケーション(11、)とバス(58)との間で行われる非同期データ転送を管理する管理装置において
    a.複数のアプリケーションとバス間にデータパスを形成し
    i.上記アプリケーションに対してデータパスを形成しするためのデータ転送動作に関するパラメータを受信する受信手段と、
    ii.上記データ転送動作の遂行に必要なトランザクションを、上記アプリケーションを実行するプロセッサを直接的に制御することなく、自動的に生成する生成手段とを有する複数の非同期データパイプ(202224)と、
    b.上記バス(58)に接続され、該バス(58)にデータを送信し、及びバスからデータを受信する物理的バスインタフェース(44)と、
    c.上記複数の非同期データパイプ(202224)と上記物理的バスインタフェース(44)との間に接続され、該複数の非同期データパイプ(202224)からバス(58)にデータパケットを送信するマルチプレクサ(40)と、
    d.上記複数の非同期データパイプ(202224)と上記物理的バスインタフェース(44)との間に接続され、バス(58)から受信したデータパケットが複数の非同期データパイプ(202224)のうちの適切な1つに供給されるようルーチングするデマルチプレクサ(42)とを備える管理装置。
  24. 上記各非同期データパイプ(202224)は、データ転送に関するデータ及びパラメータが保存されるレジスタファイル(262830)を有することを特徴とする請求の範囲第23項記載の管理装置。
  25. 上記データ及びパラメータは、上記アプリケーション(11、)によって上記レジスタファイル(26)保存されることを特徴とする請求の範囲第24項記載の管理装置。
  26. 上記レジスタファイル(26)は、データ転送が行われるノードを特定する上記バス(58)のアドレス空間内の転送先のアドレスと、転送するデータの長さと、各データパケットの長と、データ転送の方向とに関する情報を含むことを特徴とする請求の範囲第24項記載の管理装置。
  27. 上記レジスタファイルは、データ転送動作がルーチングされる非同期データパイプ(20)を特定するトランザクションラベル値を含み上記各非同期データパイプ(202224)は、固有のトランザクションラベル値を有することを特徴とする請求の範囲第26項記載の管理装置。
  28. 上記レジスタファイルは、データ転送動作が行われる非同期データパイプ(20)を特定するトランザクションラベルの範囲含み上記各非同期データパイプ(202224)は、固有のトランザクションラベル又は値の範囲を有することを特徴とする請求の範囲第26項記載の管理装置。
  29. 上記レジスタファイル(26)は、上記アプリケーションを実行するプロセッサを、該アプリケーションによって直接的に制御又は監視することなく、上記データ転送動作の遂行に必要なトランザクション及びヘッダを生成するためのテンプレートとして用いられることを特徴とする請求の範囲第27項記載の管理装置。
  30. 上記デマルチプレクサ(42)は、上記データパケット内のトランザクションラベル値に基づいて、該データパケットをどの非同期データパイプ(20)にルーチングするかを判定することを特徴とする請求の範囲第29項記載の管理装置。
  31. 上記デマルチプレクサ(42)は、書込応答パケット内のトランザクションラベル値に基づいて、該書込応答パケットをどの非同期データパイプ(20)にルーチングするかを判定することを特徴とする請求の範囲第30項記載の管理装置。
  32. 上記データ転送に必要なトランザクションは、各トランザクションが生成される毎に、上記転送先アドレスに各データパケットの長さを加えることにより増加する範囲のアドレスに対して生成されることを特徴とする請求の範囲第30項記載の管理装置。
  33. 上記データ転送に必要なトランザクションは、固定のアドレスに対して生成されることを特徴とする請求の範囲第30項記載の管理装置。
  34. 上記バス(58)は、IEEE1394規格に準拠したバスであることを特徴とする請求の範囲第30項記載の管理装置。
  35. アプリケーション(1)とIEEE1394規格に準拠したバス(58)間にデータパスを形成し、該アプリケーションからの及びへの該バス(58)を介した非同期データ転送を管理する非同期データパイプ(20)において
    a.レジスタファイル(26)と、
    b.上記レジスタファイル(26)に接続され、上記アプリケーション(1)からデータ転送に関するパラメータを受信し、該パラメータを上記レジスタファイル(26)に保存するプログラミング回路と、
    c.上記レジスタファイル(26)に接続され、上記レジスタファイル内の情報をテンプレートとして用いて、上記アプリケーションを実行するプロセッサを、該アプリケーションによって直接的に制御又は監視することなく、データ転送動作の遂行に必要なトランザクション及びヘッダを自動的に生成する自動トランザクション生成回路とを備える非同期データパイプ。
  36. 上記レジスタファイル(26)は、転送先のアドレスと、転送するデータの長さと、転送する各データパケットの長さと、転送方向とに関する情報を含むことを特徴とする請求の範囲第35項記載の非同期データパイプ(20)。
  37. 上記データ転送動作に必要なトランザクションは、増加する範囲のアドレスに対して生成されることを特徴とする請求の範囲第36項記載の非同期データパイプ(20)。
  38. 上記データ転送動作に必要なトランザクションは、固定のアドレスに対して生成されることを特徴とする請求の範囲第36項記載の非同期データパイプ(20)。
  39. 上記レジスタファイル(26)は、転送する残りのデータパケットの数を表すパケットカウンタの値含み、該パケットカウンタの値は、各データパケットが転送された後に、デクリメントされることを特徴とする請求の範囲第36項記載の非同期データパイプ(20)。
  40. 上記アプリケーション(1)は、上記レジスタファイル(26)内の所定のフィールド書込を行うことにより、上記パケットカウンタの値を自動的にインクリメントすることを特徴とする請求の範囲第39項記載の非同期データパイプ(20)。
JP53178097A 1996-03-07 1997-02-19 アプリケーションとバス間の非同期データ転送を自動的に管理する非同期データパイプ Expired - Lifetime JP4155413B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/612,321 US6519268B1 (en) 1996-03-07 1996-03-07 Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure
US08/612,321 1996-03-07
PCT/US1997/002546 WO1997033230A1 (en) 1996-03-07 1997-02-19 Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure

Publications (2)

Publication Number Publication Date
JP2000506295A JP2000506295A (ja) 2000-05-23
JP4155413B2 true JP4155413B2 (ja) 2008-09-24

Family

ID=24452676

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53178097A Expired - Lifetime JP4155413B2 (ja) 1996-03-07 1997-02-19 アプリケーションとバス間の非同期データ転送を自動的に管理する非同期データパイプ

Country Status (10)

Country Link
US (4) US6519268B1 (ja)
EP (1) EP0885418B1 (ja)
JP (1) JP4155413B2 (ja)
KR (1) KR100439539B1 (ja)
AT (1) ATE198237T1 (ja)
AU (1) AU2129997A (ja)
CA (1) CA2247341C (ja)
DE (1) DE69703732T2 (ja)
TW (1) TW381233B (ja)
WO (1) WO1997033230A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577782B2 (en) * 1996-02-02 2009-08-18 Sony Corporation Application programming interface for data transfer and bus management over a bus structure
US6233637B1 (en) * 1996-03-07 2001-05-15 Sony Corporation Isochronous data pipe for managing and manipulating a high-speed stream of isochronous data flowing between an application and a bus structure
US6519268B1 (en) * 1996-03-07 2003-02-11 Sony Corporation Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure
US6128669A (en) * 1997-09-30 2000-10-03 Compaq Computer Corporation System having a bridge with distributed burst engine to decouple input/output task from a processor
US5978858A (en) * 1997-09-30 1999-11-02 Compaq Computer Corporation Packet protocol and distributed burst engine
US6292844B1 (en) * 1998-02-12 2001-09-18 Sony Corporation Media storage device with embedded data filter for dynamically processing data during read and write operations
US6912566B1 (en) * 1998-07-28 2005-06-28 Siemens Aktiengesellschaft Memory device and method for operating the memory device
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
US6505255B1 (en) 1999-04-29 2003-01-07 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Method for formatting and routing data between an external network and an internal network
WO2000065781A1 (en) * 1999-04-23 2000-11-02 Sony Electronics Inc. Method of and apparatus for implementing and sending an asynchronous control mechanism packet
US6523064B1 (en) 1999-04-29 2003-02-18 Mitsubishi Electric Research Laboratories, Inc Network gateway for collecting geographic data information
US6633547B1 (en) 1999-04-29 2003-10-14 Mitsubishi Electric Research Laboratories, Inc. Command and control transfer
US6378000B1 (en) 1999-04-29 2002-04-23 Mitsubish Electric Research Laboratories, Inc Address mapping in home entertainment network
JP2001244952A (ja) * 2000-02-29 2001-09-07 Sony Corp 通信制御装置
FR2813408B1 (fr) * 2000-08-29 2006-08-04 Canon Kk Procedes de transfert de types multiples de donnees au sein d'un noeud de communication, et reseaux comportant un tel noeud
US8370517B2 (en) * 2001-09-27 2013-02-05 International Business Machines Corporation Conserving energy in a data processing network
US7248568B1 (en) * 2002-02-26 2007-07-24 Marvell International, Ltd. Apparatus for detecting hidden nodes in a wireless network
DE10302363A1 (de) * 2003-01-22 2004-08-05 Deutsche Thomson-Brandt Gmbh Verfahren zum Betreiben eines Netzwerks von Schnittstellenknoten und Schnittstelleneinrichtung
US7983142B2 (en) 2004-03-30 2011-07-19 Intel Corporation Apparatus, systems, and methods for the reception and synchronization of asynchronous signals
DE102004045118A1 (de) * 2004-09-17 2006-03-23 Robert Bosch Gmbh Verfahren und Vorrichtung zur Datenübertragung
US8156220B1 (en) * 2007-09-28 2012-04-10 Emc Corporation Data storage system
US9063922B2 (en) 2012-12-18 2015-06-23 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Firmware generated register file for use in hardware validation
US10223407B2 (en) * 2014-10-31 2019-03-05 Cisco Technology, Inc. Asynchronous processing time metrics
US11550982B2 (en) 2015-11-04 2023-01-10 Chronos Tech Llc Application specific integrated circuit interconnect
US10073939B2 (en) 2015-11-04 2018-09-11 Chronos Tech Llc System and method for application specific integrated circuit design
US9977853B2 (en) 2015-11-04 2018-05-22 Chronos Tech Llc Application specific integrated circuit link
US10708842B2 (en) * 2016-01-13 2020-07-07 Locus Control LLC Low power communications system
US10181939B2 (en) 2016-07-08 2019-01-15 Chronos Tech Llc Systems and methods for the design and implementation of an input and output ports for circuit design
US10637592B2 (en) * 2017-08-04 2020-04-28 Chronos Tech Llc System and methods for measuring performance of an application specific integrated circuit interconnect
CN109919359B (zh) * 2019-02-01 2024-06-04 武汉天之然知识产权运营有限公司 一种基于adp算法的车辆路径规划方法
US11087057B1 (en) 2019-03-22 2021-08-10 Chronos Tech Llc System and method for application specific integrated circuit design related application information including a double nature arc abstraction

Family Cites Families (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2221629C3 (de) 1972-05-03 1978-04-27 Siemens Ag, 1000 Berlin Und 8000 Muenchen Verfahren zur Synchronisierung in Zeitmultiplex-Übertragungssystemen
US3906484A (en) 1972-09-13 1975-09-16 Westinghouse Electric Corp Decoder input circuit for receiving asynchronous data bit streams
NL7313756A (ja) * 1972-10-11 1974-04-16
US4067059A (en) 1976-01-29 1978-01-03 Sperry Rand Corporation Shared direct memory access controller
US4218756A (en) 1978-06-19 1980-08-19 Bell Telephone Laboratories, Incorporated Control circuit for modifying contents of packet switch random access memory
US4409656A (en) 1980-03-13 1983-10-11 Her Majesty The Queen, In Right Of Canada As Represented By The Minister Of National Defense Serial data bus communication system
US4395710A (en) 1980-11-26 1983-07-26 Westinghouse Electric Corp. Bus access circuit for high speed digital data communication
US4379294A (en) 1981-02-12 1983-04-05 Electric Power Research Institute, Inc. Data highway access control system
US4493021A (en) 1981-04-03 1985-01-08 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Multicomputer communication system
US4507732A (en) * 1981-10-05 1985-03-26 Burroughs Corporation I/O subsystem using slow devices
US4633392A (en) 1982-04-05 1986-12-30 Texas Instruments Incorporated Self-configuring digital processor system with logical arbiter
GB8304950D0 (en) 1983-02-22 1983-03-23 Int Computers Ltd Data communication systems
US4897783A (en) 1983-03-14 1990-01-30 Nay Daniel L Computer memory system
US4857910A (en) 1983-12-19 1989-08-15 Pitney Bowes Inc. Bit-map CRT display control
US4739323A (en) 1986-05-22 1988-04-19 Chrysler Motors Corporation Serial data bus for serial communication interface (SCI), serial peripheral interface (SPI) and buffered SPI modes of operation
DE3683943D1 (de) 1986-11-14 1992-03-26 Ibm Steuerungsschnittstelle fuer datentransfer zwischen einer datenverarbeitungseinheit und ein-ausgabevorrichtungen.
US4972470A (en) 1987-08-06 1990-11-20 Steven Farago Programmable connector
US4998245A (en) * 1987-12-17 1991-03-05 Matsushita Electric Industrial Co., Ltd. Information transmission system having collective data transmission and collection devices
US5005151A (en) * 1988-05-13 1991-04-02 Dallas Semiconductor Corporation Interleaved arbitration scheme for interfacing parallel and serial ports to a parallel system port
US5140679A (en) 1988-09-14 1992-08-18 National Semiconductor Corporation Universal asynchronous receiver/transmitter
US5008879B1 (en) 1988-11-14 2000-05-30 Datapoint Corp Lan with interoperative multiple operational capabilities
US5359713A (en) 1989-06-01 1994-10-25 Legato Systems, Inc. Method and apparatus for enhancing synchronous I/O in a computer system with a non-volatile memory and using an acceleration device driver in a computer operating system
JPH03123232A (ja) 1989-10-06 1991-05-27 Matsushita Electric Ind Co Ltd データ伝送制御処理方法
JPH03156554A (ja) 1989-11-14 1991-07-04 Hitachi Ltd データ転送制御方式
FR2658971B1 (fr) 1990-02-23 1995-07-28 Europ Rech Electr Lab Procede de traitement des donnees numeriques de controle associees a un signal video de type hd-mac et dispositif pour la mise en óoeuvre du procede.
JP3369580B2 (ja) 1990-03-12 2003-01-20 ヒューレット・パッカード・カンパニー 直接メモリアクセスを行うためのインターフェース装置及び方法
US5325510A (en) 1990-05-25 1994-06-28 Texas Instruments Incorporated Multiprocessor system and architecture with a computation system for minimizing duplicate read requests
US5343469A (en) 1990-06-14 1994-08-30 Nec Corporation Communication system and communication devices having lock function
US5546553A (en) 1990-09-24 1996-08-13 Texas Instruments Incorporated Multifunctional access devices, systems and methods
US5307491A (en) 1991-02-12 1994-04-26 International Business Machines Corporation Layered SCSI device driver with error handling circuit providing sense data from device directly to the driver on the occurrence of an error
DE4129205A1 (de) 1991-03-28 1992-10-01 Bosch Gmbh Robert Verfahren zum aufbau von botschaften fuer den datenaustausch und/oder fuer die synchronisation von prozessen in datenverarbeitungsanlagen
US5369773A (en) 1991-04-26 1994-11-29 Adaptive Solutions, Inc. Neural network using virtual-zero
US5276684A (en) 1991-07-22 1994-01-04 International Business Machines Corporation High performance I/O processor
JP3243803B2 (ja) 1991-08-28 2002-01-07 ソニー株式会社 Av機器
US5487153A (en) 1991-08-30 1996-01-23 Adaptive Solutions, Inc. Neural network sequencer and interface apparatus
DE69230093T2 (de) * 1991-11-19 2000-04-13 International Business Machines Corp., Armonk Multiprozessorsystem
US5471632A (en) 1992-01-10 1995-11-28 Digital Equipment Corporation System for transferring data between a processor and a system bus including a device which packs, unpacks, or buffers data blocks being transferred
US5475860A (en) 1992-06-15 1995-12-12 Stratus Computer, Inc. Input/output control system and method for direct memory transfer according to location addresses provided by the source unit and destination addresses provided by the destination unit
US5485594A (en) * 1992-07-17 1996-01-16 International Business Machines Corporation Apparatus and method using an atomic fetch and add for establishing temporary ownership of a common system resource in a multiprocessor data processing system
US5497466A (en) 1992-07-17 1996-03-05 Texas Instruments Inc. Universal address generator
EP0588046A1 (en) 1992-08-14 1994-03-23 International Business Machines Corporation IEEE standard 802.2 virtual device driver
US5647057A (en) * 1992-08-24 1997-07-08 Texas Instruments Incorporated Multiple block transfer mechanism
US5499344A (en) 1992-10-07 1996-03-12 Texas Instruments Incorporated Programmable dual port data unit for interfacing between multiple buses
KR100305268B1 (ko) 1992-11-02 2001-11-22 아담 씨. 스트리겔 스위칭메카니즘에서의등시(等時)데이타의국부루프백
US5550802A (en) 1992-11-02 1996-08-27 National Semiconductor Corporation Data communication network with management port for isochronous switch
EP0596651A1 (en) 1992-11-02 1994-05-11 National Semiconductor Corporation Network for data communication with isochronous capability
US5361261A (en) 1992-11-02 1994-11-01 National Semiconductor Corporation Frame-based transmission of data
US5544324A (en) 1992-11-02 1996-08-06 National Semiconductor Corporation Network for transmitting isochronous-source data using a frame structure with variable number of time slots to compensate for timing variance between reference clock and data rate
EP0596648A1 (en) 1992-11-02 1994-05-11 National Semiconductor Corporation Network link endpoint capability detection
KR940017376A (ko) 1992-12-21 1994-07-26 오오가 노리오 송신 방법, 수신 방법, 통신 방법 및 쌍방향 버스 시스템
EP0607733A1 (en) 1993-01-08 1994-07-27 International Business Machines Corporation Apparatus and method for data communications between nodes
US5400340A (en) 1993-03-04 1995-03-21 Apple Computer, Inc. End of packet detector and resynchronizer for serial data buses
GB2275852B (en) 1993-03-05 1997-02-26 Sony Broadcast & Communication Signal synchroniser with resynchronise control
US5689678A (en) 1993-03-11 1997-11-18 Emc Corporation Distributed storage array system having a plurality of modular control units
US5412698A (en) 1993-03-16 1995-05-02 Apple Computer, Inc. Adaptive data separator
US5509126A (en) 1993-03-16 1996-04-16 Apple Computer, Inc. Method and apparatus for a dynamic, multi-speed bus architecture having a scalable interface
US5559967A (en) * 1993-03-18 1996-09-24 Apple Computer, Inc. Method and apparatus for a dynamic, multi-speed bus architecture in which an exchange of speed messages occurs independent of the data signal transfers
WO1994022253A1 (en) 1993-03-20 1994-09-29 International Business Machines Corporation Method and apparatus for extracting connection information from protocol headers
DE4323405A1 (de) 1993-07-13 1995-01-19 Sel Alcatel Ag Zugangskontrollverfahren für einen Pufferspeicher sowie Vorrichtung zum Zwischenspeichern von Datenpaketen und Vermittlungsstelle mit einer solchen Vorrichtung
JP3373607B2 (ja) * 1993-09-01 2003-02-04 富士通株式会社 プロセッサの制御機構検証用命令列の自動生成方法及び装置
US5887145A (en) 1993-09-01 1999-03-23 Sandisk Corporation Removable mother/daughter peripheral card
US5444709A (en) 1993-09-30 1995-08-22 Apple Computer, Inc. Protocol for transporting real time data
US5446854A (en) * 1993-10-20 1995-08-29 Sun Microsystems, Inc. Virtual memory computer apparatus and address translation mechanism employing hashing scheme and page frame descriptor that support multiple page sizes
US5682493A (en) 1993-10-21 1997-10-28 Sun Microsystems, Inc. Scoreboard table for a counterflow pipeline processor with instruction packages and result packages
CA2134061A1 (en) 1993-10-28 1995-04-29 Aaron William Ogus Frame buffering of network packets
JP3307085B2 (ja) * 1993-12-10 2002-07-24 ソニー株式会社 通信方法及び電子機器
US5835726A (en) 1993-12-15 1998-11-10 Check Point Software Technologies Ltd. System for securing the flow of and selectively modifying packets in a computer network
US5659780A (en) 1994-02-24 1997-08-19 Wu; Chen-Mie Pipelined SIMD-systolic array processor and methods thereof
EP1087571B1 (en) * 1994-03-09 2003-06-04 Matsushita Electric Industrial Co., Ltd. Data transmission system and method
US5465402A (en) 1994-03-23 1995-11-07 Uniden America Corp. Automatic frequency transfer and storage method
US5566174A (en) 1994-04-08 1996-10-15 Philips Electronics North America Corporation MPEG information signal conversion system
JP3129143B2 (ja) 1994-05-31 2001-01-29 松下電器産業株式会社 データ転送方法
BR9507981A (pt) * 1994-06-15 1997-08-12 Thomson De Consumer Electronic Aparelho para processamento de sinais
US5689244A (en) 1994-06-24 1997-11-18 Sony Corporation Communication system and electronic apparatus
JP3458469B2 (ja) 1994-07-15 2003-10-20 ソニー株式会社 信号受信装置及び通信方法
JP3203978B2 (ja) 1994-07-25 2001-09-04 ソニー株式会社 データ送受信装置、データ受信装置及びデータ送信装置
US5706439A (en) 1994-09-27 1998-01-06 International Business Machines Corporation Method and system for matching packet size for efficient transmission over a serial bus
US5687316A (en) 1994-07-29 1997-11-11 International Business Machines Corporation Communication apparatus and methods having P-MAC, I-MAC engines and buffer bypass for simultaneously transmitting multimedia and packet data
US6205538B1 (en) * 1994-08-24 2001-03-20 Sun Microsystems, Inc. Instruction result labeling in a counterflow pipeline processor
JP3561969B2 (ja) * 1994-08-30 2004-09-08 ソニー株式会社 編集方法及び編集制御機器
US5668948A (en) 1994-09-08 1997-09-16 International Business Machines Corporation Media streamer with control node enabling same isochronous streams to appear simultaneously at output ports or different streams to appear simultaneously at output ports
US5603058A (en) 1994-09-08 1997-02-11 International Business Machines Corporation Video optimized media streamer having communication nodes received digital data from storage node and transmitted said data to adapters for generating isochronous digital data streams
US5586264A (en) 1994-09-08 1996-12-17 Ibm Corporation Video optimized media streamer with cache management
US5548587A (en) 1994-09-12 1996-08-20 Efficient Networks, Inc. Asynchronous transfer mode adapter for desktop applications
US5617419A (en) * 1994-09-20 1997-04-01 International Business Machines Corporation Adapting switch port and work station communication adapters to data frame types with disparate formats and data rates
JP3371174B2 (ja) 1994-09-22 2003-01-27 ソニー株式会社 パケット受信装置
US5619646A (en) 1994-09-27 1997-04-08 International Business Machines Corporation Method and system for dynamically appending a data block to a variable length transmit list while transmitting another data block over a serial bus
US5632016A (en) 1994-09-27 1997-05-20 International Business Machines Corporation System for reformatting a response packet with speed code from a source packet using DMA engine to retrieve count field and address from source packet
US5504757A (en) * 1994-09-27 1996-04-02 International Business Machines Corporation Method for selecting transmission speeds for transmitting data packets over a serial bus
US5640592A (en) 1994-09-30 1997-06-17 Mitsubishi Kasei America, Inc. System for transferring utility algorithm stored within a peripheral device to a host computer in a format compatible with the type of the host computer
US5828903A (en) 1994-09-30 1998-10-27 Intel Corporation System for performing DMA transfer with a pipeline control switching such that the first storage area contains location of a buffer for subsequent transfer
WO1996013776A1 (en) 1994-10-31 1996-05-09 Intel Corporation M & a for exchanging data, status, and commands over a hierarchical serial bus assembly using communication packets
US5602853A (en) * 1994-11-03 1997-02-11 Digital Equipment Corporation Method and apparatus for segmentation and reassembly of ATM packets using only dynamic ram as local memory for the reassembly process
US5704052A (en) 1994-11-06 1997-12-30 Unisys Corporation Bit processing unit for performing complex logical operations within a single clock cycle
US5664124A (en) 1994-11-30 1997-09-02 International Business Machines Corporation Bridge between two buses of a computer system that latches signals from the bus for use on the bridge and responds according to the bus protocols
KR0138964B1 (ko) 1994-12-14 1998-06-15 김주용 데이타 포멧 변화기를 포함한 차분 펄스 코드 변조기
US5526353A (en) 1994-12-20 1996-06-11 Henley; Arthur System and method for communication of audio data over a packet-based network
US5533018A (en) 1994-12-21 1996-07-02 National Semiconductor Corporation Multi-protocol packet framing over an isochronous network
US5835733A (en) 1994-12-22 1998-11-10 Texas Instruments Incorporated Method and apparatus for implementing a single DMA controller to perform DMA operations for devices on multiple buses in docking stations, notebook and desktop computer system
US5781780A (en) 1994-12-22 1998-07-14 Texas Instruments Incorporated Power management supply interface circuitry, systems and methods
US5533021A (en) 1995-02-03 1996-07-02 International Business Machines Corporation Apparatus and method for segmentation and time synchronization of the transmission of multimedia data
CN1912885B (zh) * 1995-02-13 2010-12-22 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的系统和方法
US5559796A (en) 1995-02-28 1996-09-24 National Semiconductor Corporation Delay control for frame-based transmission of data
US5784712A (en) * 1995-03-01 1998-07-21 Unisys Corporation Method and apparatus for locally generating addressing information for a memory access
US5594732A (en) 1995-03-03 1997-01-14 Intecom, Incorporated Bridging and signalling subsystems and methods for private and hybrid communications systems including multimedia systems
US5519701A (en) 1995-03-29 1996-05-21 International Business Machines Corporation Architecture for high performance management of multiple circular FIFO storage means
JP3249334B2 (ja) 1995-04-06 2002-01-21 株式会社東芝 ディジタルインターフェース装置及びディジタルインターフェース方法
US5655138A (en) 1995-04-11 1997-08-05 Elonex I. P. Holdings Apparatus and method for peripheral device control with integrated data compression
FI98028C (fi) 1995-05-03 1997-03-25 Nokia Mobile Phones Ltd Datasovitin
US5761464A (en) * 1995-05-22 1998-06-02 Emc Corporation Prefetching variable length data
US5841771A (en) * 1995-07-07 1998-11-24 Northern Telecom Limited Telecommunications switch apparatus and method for time switching
US5793953A (en) * 1995-07-07 1998-08-11 Sun Microsystems, Inc. Method and apparatus for allowing packet data to be separated over multiple bus targets
US5815678A (en) 1995-07-14 1998-09-29 Adaptec, Inc. Method and apparatus for implementing an application programming interface for a communications bus
US5606559A (en) * 1995-08-11 1997-02-25 International Business Machines Corporation System and method for an efficient ATM adapter/device driver interface
US5787298A (en) 1995-08-18 1998-07-28 General Magic, Inc. Bus interface circuit for an intelligent low power serial bus
US5752076A (en) 1995-08-31 1998-05-12 Intel Corporation Dynamic programming of bus master channels by intelligent peripheral devices using communication packets
US5832492A (en) * 1995-09-05 1998-11-03 Compaq Computer Corporation Method of scheduling interrupts to the linked lists of transfer descriptors scheduled at intervals on a serial bus
US5692211A (en) 1995-09-11 1997-11-25 Advanced Micro Devices, Inc. Computer system and method having a dedicated multimedia engine and including separate command and data paths
US6122279A (en) * 1995-10-02 2000-09-19 Virata Limited Asynchronous transfer mode switch
US5701302A (en) 1995-10-25 1997-12-23 Motorola, Inc, Method and apparatus for adaptively companding data packets in a data communication system
US5751951A (en) * 1995-10-30 1998-05-12 Mitsubishi Electric Information Technology Center America, Inc. Network interface
US5872569A (en) * 1995-10-30 1999-02-16 Xerox Corporation Apparatus and method for programming and/or controlling output of a job in a document processing system
US5970236A (en) 1995-11-14 1999-10-19 Compaq Computer Corporation Circuit for selectively performing data format conversion
US5812883A (en) 1995-11-22 1998-09-22 Mitsubishi Chemical America, Inc. System for reading and storing formatting information after formatting a first storage medium and using the stored formatting information to format a second storage medium
US7577782B2 (en) * 1996-02-02 2009-08-18 Sony Corporation Application programming interface for data transfer and bus management over a bus structure
US6631435B1 (en) * 1996-02-02 2003-10-07 Sony Corporation Application programming interface for data transfer and bus management over a bus structure
US5991520A (en) * 1996-02-02 1999-11-23 Sony Corporation Application programming interface for managing and automating data transfer operations between applications over a bus structure
US5799041A (en) 1996-02-05 1998-08-25 Xinex Networks Inc. Network for multimedia asynchronous transfer mode digital signal transmission and components thereof
US6233637B1 (en) * 1996-03-07 2001-05-15 Sony Corporation Isochronous data pipe for managing and manipulating a high-speed stream of isochronous data flowing between an application and a bus structure
US6519268B1 (en) * 1996-03-07 2003-02-11 Sony Corporation Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure
US5828416A (en) 1996-03-29 1998-10-27 Matsushita Electric Corporation Of America System and method for interfacing a transport decoder to a elementary stream video decorder
US5761430A (en) 1996-04-12 1998-06-02 Peak Audio, Inc. Media access control for isochronous data packets in carrier sensing multiple access systems
EP0860823A4 (en) 1996-07-15 2001-05-02 Toshiba Kk DEVICE WITH DIGITAL INTERFACE, NETWORK SYSTEM WITH THIS DEVICE AND COPY PROTECTION PROCEDURE
US5951019A (en) * 1996-09-05 1999-09-14 Centre For Engineering Research Inc. Method of forming a metal-to-metal seal in high pressure applications with low contact stress
US5774683A (en) 1996-10-21 1998-06-30 Advanced Micro Devices, Inc. Interconnect bus configured to implement multiple transfer protocols
US5761457A (en) 1996-10-21 1998-06-02 Advanced Micro Devices Inc. Inter-chip bus with fair access for multiple data pipes
US5832245A (en) 1996-10-21 1998-11-03 Advanced Micro Devices, Inc. Method for isochronous flow control across an inter-chip bus
US5835793A (en) 1997-05-02 1998-11-10 Texas Instruments Incorporated Device and method for extracting a bit field from a stream of data
US5938752C1 (en) * 1997-05-20 2002-02-05 Microsoft Corp System and method for encapsulating legacy data transport protocols for ieee 1394 serial bus
US6085270A (en) 1998-06-17 2000-07-04 Advanced Micro Devices, Inc. Multi-channel, multi-rate isochronous data bus
JP4318649B2 (ja) 2005-02-01 2009-08-26 因幡電機産業株式会社 コーナー用化粧カバー

Also Published As

Publication number Publication date
ATE198237T1 (de) 2001-01-15
US7145921B2 (en) 2006-12-05
DE69703732D1 (de) 2001-01-25
US6519268B1 (en) 2003-02-11
US7567590B2 (en) 2009-07-28
DE69703732T2 (de) 2001-06-13
CA2247341A1 (en) 1997-09-12
KR100439539B1 (ko) 2004-11-03
EP0885418B1 (en) 2000-12-20
TW381233B (en) 2000-02-01
JP2000506295A (ja) 2000-05-23
AU2129997A (en) 1997-09-22
US20030123475A1 (en) 2003-07-03
KR19990087389A (ko) 1999-12-27
EP0885418A1 (en) 1998-12-23
WO1997033230A1 (en) 1997-09-12
US7944952B2 (en) 2011-05-17
US20060291508A1 (en) 2006-12-28
US20090268760A1 (en) 2009-10-29
CA2247341C (en) 2008-11-04

Similar Documents

Publication Publication Date Title
JP4155413B2 (ja) アプリケーションとバス間の非同期データ転送を自動的に管理する非同期データパイプ
JP3993893B2 (ja) バスを介したデータ転送及びバス管理に用いるアプリケーションプログラミングインターフェイス
US7590133B2 (en) Data communication system, data communication method, and data communication apparatus
US6445711B1 (en) Method of and apparatus for implementing and sending an asynchronous control mechanism packet used to control bridge devices within a network of IEEE STD 1394 serial buses
US6651119B2 (en) Method for allocating priorities to plurality of DMA engines for processing data packets based on bus phase and transactions status
WO2000023906A1 (en) System for dynamically binding subobjects into objects to represent devices within ieee 1394 serial bus network
US6857028B1 (en) Data transfer control device and electronic equipment
US5935267A (en) Data communication method and a data communication system for use with a digital network
KR100407095B1 (ko) 데이터 통신 시스템 및 데이터 통신 방법
JP2002111704A (ja) データ送受信装置及び方法
EP1093269A2 (en) Data transfer control device and electronic equipment
EP1156423A2 (en) Information processing apparatus, information processing method and bridge utilizing the same
KR100311707B1 (ko) 데이타 통신 시스템, 데이타 통신 방법, 데이타 통신 장치 및 디지탈 인터페이스
JPH10341247A (ja) データ送信装置、データ受信装置、データ伝送システム及びデータ伝送方法
US20010024445A1 (en) Communication system, communication device and communication method
JP4033915B2 (ja) データストリーム制御方法及び装置
JP3860878B2 (ja) データ受信装置およびデータ伝送システム
JP2000196624A (ja) 伝送管理装置、情報処理装置及び情報伝送システム
US6421745B1 (en) Asynchronous connections with scattering page tables for transmitting data from a producer device to a consumer device over an IEEE 1394 serial data bus
US6993022B1 (en) Method of and apparatus for directly mapping communications through a router between nodes on different buses within a network of buses
JP4046846B2 (ja) データ通信システム及びデータ通信装置
JPH1155297A (ja) 伝送媒体接続装置および記憶媒体
JP2000032005A (ja) デ―タ通信システム、デ―タ通信方法、デ―タ通信装置、デジタルインタフェ―ス及び記憶媒体
JP2000032010A (ja) デ―タ通信システム、デ―タ通信方法、デ―タ通信装置、デジタルインタフェ―ス及び記憶媒体
JPH10243022A (ja) パケット変換装置および媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070206

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070330

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070806

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080602

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080703

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

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080723

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

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120718

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120718

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130718

Year of fee payment: 5

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term