JP2001517844A - マルチポートメモリを用いる知的データバスインタフェース - Google Patents

マルチポートメモリを用いる知的データバスインタフェース

Info

Publication number
JP2001517844A
JP2001517844A JP2000513376A JP2000513376A JP2001517844A JP 2001517844 A JP2001517844 A JP 2001517844A JP 2000513376 A JP2000513376 A JP 2000513376A JP 2000513376 A JP2000513376 A JP 2000513376A JP 2001517844 A JP2001517844 A JP 2001517844A
Authority
JP
Japan
Prior art keywords
data
bus
data bus
port
interface
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.)
Pending
Application number
JP2000513376A
Other languages
English (en)
Inventor
リンデンシュトルト,フォルカー
Original Assignee
アイコア・テクノロジーズ・インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アイコア・テクノロジーズ・インコーポレイテッド filed Critical アイコア・テクノロジーズ・インコーポレイテッド
Publication of JP2001517844A publication Critical patent/JP2001517844A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2153Using hardware token as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Bus Control (AREA)
  • Storage Device Security (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 3つの独立したデータポートを有するトリプルポートメモリを用いる知的データバスインタフェースはメモリに記憶されるデータと2つの双方向データバスとデータプロセッサとへの同時のアクセスを与える。2つのデータバスおよびプロセッサは別個のデータポートに結合され、キャッシュはトリプルポートメモリにあるデータに対し各々の最大データ速度で独立してアクセスすることができる。トリプルポートメモリを用いているので、データ、プロセッサ、またはデータバスに対するアクセスを与えるのにデータのコピーまたは移動を全く必要としない。この知的データバスインタフェースは、暗号化/解読、ネットワークプロトコルおよびPCI/SCIブリッジを全速でそのポートのうち任意のポートにてしかもホストプロセッサに負荷をかけることなく処理するのに特に好適である。

Description

【発明の詳細な説明】
【0001】
【発明の背景】
この発明は知的データバスインターフェイスに関し、より特定的にはマルチポ
ートメモリとデータプロセッサとを有する知的データバスインターフェイスに関
する。
【0002】 ホストコンピュータのバスとスレーブコンピュータまたはI/O装置のバスと
の間の典型的なインターフェイスには、2つの独立した双方向ポートを有するデ
ュアルポートメモリが含まれる。このデュアルポートメモリは、一般には、両方
のコンピュータの重複するアドレス空間にある。それらコンピュータ間における
データの転送は、一方のコンピュータに、デュアルポートメモリに関連付けられ
るそのコンピュータのアドレス空間に書込を行なわせ、他方のコンピュータに、
デュアルポートメモリに関連付けられるその他方のコンピュータのアドレス空間
からそのデータを続いて読出させることによって行なわれる。このデュアルポー
トメモリは、異なるデータ速度で動作するホストバスとスレーブバスとの間にお
けるインターフェイスとして特に有利である。このインターフェイスは、プロト
コル、制御、およびデータ処理機能のために、ホストコンピュータおよびスレー
ブコンピュータの中央処理装置(CPU)への、割込みにより駆動されるアクセ
スを必要とする。各CPUは、そのCPUの処理力のうち大きな割合を要求し得
るインターフェイス割込みによって負荷をかけられる。
【0003】 典型的な知的インターフェイスは、ホストコンピュータのCPUにかかる多く
の入力/出力(I/O)関連タスクを軽減する専用マイクロプロセッサを含む入
力/出力プロセッサ(IOP)を有する。したがって、より高いI/O性能が達
成され得る一方で、ホストCPUにかかる処理負荷も低減される。加えて、この
IOPはより高いレベルのI/Oプロトコルを実行し、暗号化/解読のようなデ
ータ変換を実行し、先読みキャッシングおよび書込データマージングといった知
的実行時最適化を実行し得る。
【0004】 既存の知的データバスインターフェイスの一例が、Murphyへの米国特許第5,
130,981号におけるネットワークブリッジ100として開示されている。
「知的」という語は、このネットワークブリッジに含まれる専用システムプロセ
ッサ101からきている。Murphyのネットワークブリッジでは、単一ポートのラ
ンダムアクセスメモリ(RAM)102を用いることにより、第1のネットワー
ク105および第2のネットワーク106からそれぞれ第1および第2のDMA
コントローラ103、104を介してネットワークブリッジにより受取られたデ
ータパケットを記憶する。このシステムプロセッサおよびDMAコントローラは
、それらシステムプロセッサまたはDMAコントローラが単一ポートRAMに同
時にアクセスすることを防止する3ポートRAMインターフェイスを介して、R
AMに記憶されるデータパケットにアクセスする。理想的には、この3ポートR
AMインターフェイス107はそのアクセスを単一ポートRAMに割当て、した
がって、プロセッサおよび2つのDMAコントローラは単一ポートRAMに対し
等しいアクセス優先度を有する。しかしながら、等しいアクセス優先度を与える
ためには、RAMのアクセスサイクル時間はプロセッサまたはDMAコントロー
ラのアクセスサイクル時間の3倍でなければならず、したがって、ネットワーク
ブリッジの最大帯域幅をRAMの帯域幅の約3分の1に制限しなければならない
。この3ポートRAMインターフェイスゲートの単一ポートRAMに対するアク
セスは、プロセッサおよびDMAコントローラが単一ポートメモリに同時および
非同期でアクセスすることを防止する態様にて行なわれる。さらに、2つのネッ
トワーク間におけるデータ転送およびすべての要求はMurphyの特許ではRAMを
介して行なわれなければならない。
【0005】 一般に、ホストコンピュータおよびスレーブコンピュータのオペレーティング
システムは、既存のデータバスまたはネットワークインターフェイスを用いるた
めに、ハードウェア特有機能を実現しなければならない。現在、知的データバス
インターフェイスに対する標準化努力は、当該オペレーティングシステムから独
立した標準知的インターフェイスプロトコルを定義することによってそのオペレ
ーティングシステムを特定の知的インターフェイスハードウェアから接続解除す
ることに向けられている。したがって、標準プロトコルを実現する知的インター
フェイスハードウェアは、その標準プロトコルをサポートするすべてのオペレー
ティングシステムと適合性がある。例示的な標準には、インテリジェントI/O
(I2O)アーキテクチャ、インテル/マイクロソフトバーチャルインターフェ イス(VI)アーキテクチャ、ユニフォームドライバインターフェイス、および
IEEE SCI物理層APIがある。I2O標準は、知的I/Oハードウェア アーキテクチャ、ホストCPUとIOPとの間のバイト転送プロトコル、転送ド
ライバインターフェイス、メッセージプロトコル、ならびにIOP初期化および
構成を具体的には定義する。
【0006】 インテルi960RPなどのような現在利用可能な知的IOP 2を図1にお
いて単純化された形式にて示す。このインテルIOPはI2O基準内にて動作す るよう位置付けられる。このIOPは、内部メモリ6を有するマイクロプロセッ
サ(プロセッサ)4と、メモリバスインターフェイスユニット(MIU)8と、
ローカルバスインターフェイスユニット(BIU)12と、2つの直接メモリア
クセス(DMA)インターフェイス14、18とを含む。これらプロセッサ、M
IU、BIUおよびDMAインターフェイスはインターフェイスバス10によっ
て相互に接続される。このIOPの多数のI/Oインターフェイスによって、そ
れは知的I/Oブリッジとして働き、および、バスインターフェイスに対する初
期化および制御機能を実行する。IOPの主DMAインターフェイス14は、典
型的には、ホストのローカル周辺構成要素相互接続(PCI)バス16を介して
ホストCPU(図示せず)に接続される。副DMAインターフェイス18は副P
CIバス20を介してネットワークハードウェア(図示せず)に接続される。P
CI−PCIブリッジ22は、PCIバス16と20との間のDMAデータ交換
を、IOPを使用することなくおよびいずれのバスにおけるスループットも低減
することなく可能にする。IOPのマイクロプロセッサは内部バス10によって
MIU8とBIU12と2つのDMAインターフェイス14、18とに接続する
【0007】 典型的なI/O動作では、IOP 2は、そのオン・チップ内部メモリ6にあ
る特定のアドレスに投稿される要求を受取る。次いで、プロセッサ4がその要求
をデコードし、PCIバス20を用いて適当なネットワークインターフェイス(
図示せず)を構成することによりその要求に応答する。このネットワークインタ
ーフェイスは、その要求を実行して、その結果のデータをホストコンピュータの
メモリへ/からコピーするが、それはPCI−PCIブリッジ22を用いて行な
われる。DMAトランザクションの完了後、IOP 2は適当な割込みを受取り
、それによってその要求に対する完了動作がトリガされる。
【0008】 IOP 2のアーキテクチャから生ずる性能の限界は、データ暗号化/解読、
パケット単位フロー制御、または知的ネットワークインターフェイスにおけるよ
り高次のプロトコル層の実現といった、付加的なI/Oデータ処理が必要とされ
る場合に明らかである。このようなI/Oデータ処理の場合、プロセッサ4はデ
ータストリームに対し直接のアクセスを有さなければならない。データストリー
ムに対するCPUのアクセスはいくつかの技術を用いてなされ得るが、それらの
うちの2つを以下に略述する。
【0009】 第1の技術では、プロセッサ4はプログラムされたI/Oを実行し、PCIバ
ス20を用いてネットワークインターフェイスの内部弾性バッファから直接読出
を行ない、データを内部処理し、ホストPCIバス16を用いながらデータを直
接主PCIアドレス空間にあるターゲットメモリに書込む。残念なことに、この
プログラムされたI/Oの間は、2つのDMAインターフェイス14、18のい
ずれにおいても、どのようなアクセスレイテンシでもプロセッサ4の速度を実質
的に低減し、したがって、その処理能率を低減するかもしれない。さらに、この
IOPを介しての利用可能な総帯域は、内部バス10の帯域幅の2分の1から任
意のプロセッサプログラムコードフェッチ(プログラムキャッシュミス)および
2つのDMAインターフェイス14、18のいずれにおけるアクセスレイテンシ
またはストールを引いたものに制限される。
【0010】 第2の技術では、PCIバスアクセスレイテンシは、2つのインターフェイス
14、18においてDMAエンジンを用いて、ローカルメモリ(図示せず)との
データの移動をローカルメモリバス24を通してMIU8を介しながら行なうこ
とによって回避され得る。このローカルメモリは任意のI/O処理に対して弾性
バッファとして働く。高速内部メモリ6も、PCIバスレイテンシを回避するた
め弾性バッファであってもよい。内部メモリ6は典型的には小さく、たとえば1
Kバイトであり、これはデータパケットの送り手と受け手との間に緊密な結合を
必要とする。内部メモリ6を用いると、利用可能な総帯域幅は、バス10の帯域
幅の2分の1、プロセッサ4によるより少ない任意のコードフェッチに制限され
る。PCIバスのいずれへのアクセスレイテンシもより大きなデータバーストに
わたって償却され、無視され得る。しかしながら、内部メモリ6が小さすぎ、ロ
ーカルメモリ(図示せず)が用いられる場合には、総データスループットは、内
部バス10の帯域幅の1/4から任意のコードフェッチに対し必要とされる帯域
幅を引いたものに制限される。
【0011】 上記の2つの技術の帯域幅制限が示すように、既存のIOP 2のアーキテク
チャは、IOPがスケジュール動作および制御動作を実行している場合には有利
である。しかしながら、IOPが高速データストリームにアクセスすることを要
求される場合には、その性能はそのアーキテクチャの固有の帯域幅制約のため更
に制限される。
【0012】 かくして、内部プロセッサを有する知的データバスインターフェイスであって
、その内部プロセッサがそのインターフェイスを通過する高速データストリーム
のデータ速度に過度に影響することなくそのデータストリームにアクセスしその
データストリームで動作し得る知的データバスインターフェイスが絶対的に求め
られている。さらに、高速データストリームの帯域幅より何倍も大きい帯域幅で
動作しなければならないような超高速内部データバスを有することを必要とせず
にデータを自身にわたってブリッジし得るような知的データバスインターフェイ
スも要求されている。この発明はこれらの要求を満たし、さらなる関連の利点を
提供するものである。
【0013】
【発明の概要】
この発明は、柔軟性がありかつ効率的なデータインターフェイスを提供するた
めの知的データバスインターフェイスおよび関連の方法にて実施される。この知
的データバスインターフェイスは、マルチポートメモリと、第1の双方向データ
バスと、第2の双方向データバスと、プロセッサとを含む。マルチポートメモリ
は複数のデータ記憶セルを有し、それら複数のデータ記憶セルにおけるデータの
書込および読出を同時および非同期で行なうよう構成される少なくとも3つの独
立した双方向データポートを有する。第1の双方向データバスは双方向データポ
ートのうち第1のポートに結合される。第2の双方向データバスは双方向データ
ポートのうち第2のポートに結合される。プロセッサは双方向データポートのう
ち第3のポートに結合され、複数のデータ記憶セルにあるデータで動作する。こ
の知的データバスインターフェイスは、マルチポートメモリを用いることにより
、各双方向データバスがその全帯域幅データ速度で独立して動作する一方で、プ
ロセッサがデータストリームを処理することを可能にする。
【0014】 この発明のさらに詳細な特徴においては、知的データバスインターフェイスは
、第1の双方向データバスと第1の双方向データポートとの間に結合される第1
のデータバスインターフェイスユニットと、第2の双方向データバスと第2の双
方向データポートとの間に結合される第2のデータバスインターフェイスユニッ
トとをさらに含む。これら第1および第2のデータバスインターフェイスユニッ
トは複数のデータ記憶セルにおけるデータの読出および書込を非同期で行なう。
プロセッサは、第1および第2のデータバスインターフェイスのひとつによって
複数のデータ記憶セルの一部に先に書込まれたデータで非同期で動作し、一方、
第1および第2のバスインターフェイスは複数のデータ記憶セルのそれぞれ他の
部分においてデータの書込および読出を同時に行なう。さらに、この知的データ
バスインターフェイスは、第1のデータバスと第2のデータバスとの間における
データブリッジを行なうために第1のバスインターフェイスユニットと第2のバ
スインターフェイスユニットとの間に結合されるパス・スルー論理ユニットをさ
らに含んでもよい。加えて、第1のデータバスはPCIデータバスであってもよ
く、第1のデータバスインターフェイスユニットはPCIインターフェイスユニ
ットであってもよく、第2のデータバスはSCIデータバスであってもよく、第
2のデータバスインターフェイスはSCIインターフェイスユニットであっても
よい。このパス・スルー論理ユニットはSCIデータバス上のデータアドレスを
PCIデータバス上のデータアドレスに翻訳してSCIからPCIへのデータバ
スブリッジを与え得る。さらに、このパス・スルー論理ユニットはPCIデータ
バス上のデータアドレスをSCIデータバス上のデータアドレスに翻訳してPC
IからSCIへのデータバスブリッジを与え得る。さらに、内部バスをプロセッ
サとPCIインターフェイスユニットとの間に結合してもよい。
【0015】 この発明の他のより詳細な特徴では、SCIデータバスは64ビットデータア
ドレスを用いてもよく、PCIデータバスは32ビットデータアドレスを用いて
もよく、マルチポートメモリは、SCIデータバスに結合される第2の双方向デ
ータバスを形成するようその4つのポートのうちの2つが構成されるカッドポー
トメモリを用いるトリプルポートメモリであってもよい。さらに、パス・スルー
論理ユニットはSCIバスインターフェイスユニットとPCIバスインターフェ
イスユニットとの間においてフライ・バイのアドレス翻訳を実現してもよい。さ
らに、データブリッジは分割されたトランザクションプロトコルと単一化された
トランザクションプロトコルとの間におけるプロトコル変換を実行してもよい。
代替的に、プロセッサが第1のデータバスインターフェイスと第2のデータバス
インターフェイスとの間におけるブロック読出をスケジューリングすることによ
って連鎖モードDMAを実施してもよい。
【0016】 この発明の他のより詳細な特徴では、第1のデータバスがホストPCIデータ
バスで、第1のデータバスインターフェイスユニットが第1のDMAインターフ
ェイスユニットであってもよく、第2のデータバスがスレーブPCIデータバス
で、第2のデータバスインターフェイスユニットが第2のDMAインターフェイ
スユニットであってもよく、したがって、パス・スルー論理ユニットは、ホスト
PCIデータバス上のデータアドレスをPCIデータバスに送り、スレーブPC
Iデータバス上のデータアドレスをホストPCIデータバスに送ることによって
、PCIからPCIへのブリッジユニットを与えてもよい。代替的に、ATMバ
スのような第3の双方向データバスをATMインターフェイスによって少なくと
も3つの双方向データポートのうち第4のポートに結合してもよく、第1のデー
タバスがイーサネットデータバスで、第1のデータバスユニットが第1のイーサ
ネットインターフェイスユニットであってもよく、第2のデータバスがイーサネ
ットデータバスで、第2のデータバスインターフェイスユニットが第2のイーサ
ネットインターフェイスユニットであってもよく、パス・スルー論理ユニットに
よって第1のイーサネットバスと第2のイーサネットバスとの間におけるデータ
ブリッジを与えてもよい。さらに、内部バスをプロセッサと第1のデータバスイ
ンターフェイスユニットと第2のデータバスインターフェイスユニットとに結合
して、プロセッサならびに第1および第2のデータバスインターフェイスユニッ
ト間における制御命令および構成命令の通信を可能にしてもよい。
【0017】 この発明のさらに別のより詳細な特徴におていは、プロセッサはマルチポート
メモリに記憶されるデータにおいて暗号化および解読を行なう。さらに、このプ
ロセッサはデータ暗号化および解読のためのデジタル状態機械またはデータ操作
状態機械であってもよい。このプロセッサは、反射メモリプロトコルメモリキャ
ッシュを実現するためのローカルメモリを含んでもよい。加えて、第2のプロセ
ッサを少なくとも3つの双方向データポートのうち第4のポートに結合してもよ
い。さらに、ホストバスインターフェイスをマルチポートメモリのポートに接続
してもよい。
【0018】 この発明のある代替実施例は、プロセッサと、第1のデータバスとデータの授
受を行なうための第1のバスインターフェイスと、第2のデータバスとデータの
授受を行なうための第2のバスインターフェイスと、複数の記憶セルにデータを
記憶するためおよびそれら記憶セルから記憶されたデータを読出すための第1、
第2および第3のポートを有するトリプルポートメモリとを含むインターフェイ
スである。第1のポートは第1のバスインターフェイスに結合されるが、これは
、第1のデータバスから受取られるデータが記憶セルに記憶され、記憶セルから
第1のバスインターフェイスによって読出されるデータが第1のデータバスに送
られるようになされる。第2のポートは第2のバスインターフェイスに結合され
るが、これは、第2のデータバスから受取られるデータが記憶セルに記憶され、
記憶セルから第2のバスインターフェイスによって読出されるデータが第2のデ
ータバスに送られるようになされる。プロセッサは記憶セルにあるデータを読出
し、処理しおよび記憶するため第3のポートに結合され、特定のポートを介して
特定の記憶セルに記憶されるデータは、その特定のポートが別の記憶セルにおい
てデータを読出しているかまたは記憶させている間に、その特定のポートからは
独立した別のポートによって読出されるべく利用可能である。
【0019】 さらに、この発明はデータをインターフェイスするための方法においても実施
される。この方法は、複数のデータ記憶セルを有するマルチポートメモリを設け
るステップと、第1のポートを介して第1のデータバスから受取られるデータを
それら複数の記憶セルの第1の部分に記憶するステップと、複数のデータ記憶セ
ルの第1の部分に記憶されるデータを第2のポートを介して処理する一方で、第
1のポートを介して第1のデータバスから受取られている最中のデータを独立し
てかつ同時にそれら複数の記憶セルの第2の部分に記憶させるステップとを含む
【0020】 この発明のより詳細な特徴として、上記の方法は、さらに、複数のデータ記憶
セルの第1の部分に記憶される処理されたデータを第3のデータポートを介して
読出し、その一方で、それら複数のデータ記憶セルの第2の部分に記憶されるデ
ータを第2のポートを介して独立してかつ同時に処理し、さらにその一方で、第
1のポートを介して第1のデータバスから受取られている最中のデータを複数の
記憶セルの第3の部分に独立してかつ同時に記憶させるステップを含む。
【0021】
【好ましい実施例の詳細な説明】
ここで図2を参照して、この発明の第1の実施例に従う知的データバスインタ
ーフェイス30が示される。このバスインターフェイス30は図1のIOP 2
にいくらか同様であってもよいが、ただし、トリプルポートメモリなどのマルチ
ポートメモリ32と、パス・スルー論理ユニット52とをさらに含む。このイン
ターフェイスは、内部プロセッサメモリ36を伴うプロセッサ34を含み、第1
および第2のデータバス46、50にそれぞれ関連付けられる2つの外部バスイ
ンターフェイス44、48を含む。各データバス46、50はトリプルポートメ
モリの双方向データポート32a、32bに対応のバスインターフェイス44、
48を介して結合されるが、それらには、トリプルポートメモリ内における特定
されるバッファ記憶セルとの間でデータパケットを授受する能力がある。プロセ
ッサ34はトリプルポートメモリの第3の双方向データポート32cに結合され
る。この発明に従うと、この知的データバスインターフェイスのある特定の利点
とは、各双方向データポートが他のデータポートと同期したり他のデータポート
を待ったりすることなくその最大アクセス速度に到るデータ速度で独立してデー
タを送り受取り得るという点である。
【0022】 プロセッサ34は内部バス40によってトリプルポートメモリ32の第3のポ
ート32cとDMAインターフェイス44、48とに結合される。このプロセッ
サは、トリプルポートメモリの第3のポートを介して両方のデータバス46、5
0のデータにアクセスを有するので、いずれのデータバス46、50のデータ速
度とは独立した速度で、かついずれのバスとトリプルポートメモリとの間の全速
データ転送に割込むことなく、トリプルポートメモリ内にあるデータで動作して
もよい。したがって、このプロセッサは、トリプルポートメモリ内の記憶セルの
或るバッファスロットまたはセグメントを修正し、その一方で、第1のバスイン
ターフェイスによって記憶セルの第2のバッファまたはセグメントに書込が行な
われ、その一方で、第2のバスインターフェイスによって記憶セルの第3のバッ
ファまたはセグメントからのデータが読出され得る。したがって、データバス4
6、50は全速で動作してもよく、プロセッサ34からは完全に独立する。高速
データストリームに対処するためにさらなる処理性能が必要とされる場合には、
さらなるポートをそのトリプルポートメモリに付加して、マルチポートメモリを
形成して、さらなるプロセッサをそれらさらなるポートに接続してもよい。
【0023】 さらに、この発明の知的データバスインターフェイス30は、図1のMIU8
およびBIU12と機能上同様であってもよいメモリバスインターフェイスユニ
ット(MIU)38とローカルバスインターフェイスユニット(BIU)42と
を含んでもよい。マルチポートメモリ32の専用ポート32cを介して、プロセ
ッサ34は2つのバスインターフェイス44、48を通過するすべてのデータに
対し直接のアクセスを有する。このプロセッサは内部バス40のマスタであり、
したがって、このプロセッサがこの内部バスを介してマルチポートメモリのポー
トにアクセスする場合には、アクセスレイテンシもなければ、他のバス競合もな
い。この結果、インターフェイス30を介する利用可能な総データ変換帯域幅は
、内部バス40の速度によって決められる、合計の内部プロセッサのマルチポー
トメモリポートの帯域幅の2分の1から、任意のプロセッサプログラムコードフ
ェッチ(プログラムキャッシュミス)に対し必要とされる帯域幅を引いたもので
ある。内部バスの帯域幅は、最速の外部バスの帯域幅の十分2倍になるようその
幅を増大させることによって容易に増大され得る。さらに、このプロセッサは、
内部バスを介していずれのバスインターフェイス44、48にも直接アクセスを
有することにより、それらバスインターフェイスを初期化し構成してもよい。
【0024】 バスインターフェイス44、48に接続されるマルチポートメモリ32の2つ
のポートは、そのメモリの帯域幅に到るデータ速度でデータパケットを授受し得
る。これらバスインターフェイスは、パス・スルー論理ユニット52を用いて図
1のPCI−PCIブリッジ22と同様の機能を有し、マルチポートメモリ32
と組合せて、データパケットを「パス・スルー」態様で送ることを、プロセッサ
34にそのデータにアクセスさせることなく実現するよう構成されてもよい。こ
のパス・スルー論理ユニット52はパケット単位態様でデータパケットで選択的
に動作し、したがって、フィルタ処理機能を実現する。所与のデータパケットを
送るという判断が生ずるのは、そのパケットがバスインターフェイスのいずれか
にて受取られている最中であり、そのパケットがプロセッサを通って経路付けら
れない場合である。このパス・スルー論理ユニットは、プロセッサによって構成
される状態機械であって、些細な肯定応答パケットを代行受信するかまたは特定
のデータパケットをバイパスして、些細なパケットの処理というタスクからプロ
セッサ34を解放するような状態機械であってもよい。このパス・スルー論理ユ
ニットは、たとえばPCI,SBUS,SCI,シリアルエキスプレス(Serial
Express)、ATMまたはイーサネットなどのような、単一化されたトランザク ションバス、分割されたトランザクションバス、およびネットワークとインタフ
ェースすることに関連付けられるある選択されたレベルのパケット処理を実現す
る。
【0025】 プロセッサ34はデータストリームの任意の部分に対し制約のない直接のアク
セスを有し、異なるバス間におけるプロトコル変換および帯域幅変換の両方を可
能にする。このプロセッサは、バスインターフェイスのいずれにも影響すること
なくデータストリームの任意の部分にて複雑なデータ操作を実行してもよい。し
たがって、このプロセッサは下層のネットワークプロトコル層を効率よく吸収し
てホストコンピュータの処理負荷を減じ得る。プロセッサによるパケット処理に
対するペナルティは、その知的データバスインターフェイスにおける加えられる
レイテンシである。このレイテンシは、しかしながら、同じタスクを実行するホ
ストCPUによって課せられるいかなるレイテンシよりもはるかに小さいもので
ある。
【0026】 簡略化のため、図2に示される知的データバスインターフェイス30はトリプ
ルポートメモリ32を利用する。この発明は、しかしながら、トリプルポートメ
モリに限定されるものではない。たとえば、図3に示されるように、カッドポー
トメモリ32′を用いることにより、そのメモリの第4のポート32dに接続さ
れるたとえばハードウェア暗号化/解読エンジンなどのようなさらなるプロセッ
サ34′をサポートしてもよい。このさらなるプロセッサは内部バス40′に対
し必要とされる帯域幅を下げてもよい。
【0027】 マルチポートメモリ70を用いる知的バスインターフェイスの別の実施例は、
図4に示されるSCI−PCIブリッジ60にある。このブリッジは、単一化さ
れたトランザクションバスとしてしばしば特徴付けられるPCIバス62と、分
割されたトランザクションネットワークとしてよく特徴付けられるSCIバス6
4とをインターフェイスする。SCIインターフェイス66にて受取られるSC
Iパケットは先読みキャッシュ線であってもよく、したがって、とリプルポート
メモリ70にある弾性バッファ内に記憶される必要があってもよい。さらに、こ
のブリッジは、トリプルポートメモリ70とPCIバス62との間に結合される
PCIインターフェイス68を含む。2つのデータバス62および64は非同期
で、つまり異なるデータ速度で動作してもよい。
【0028】 市場で入手可能なマルチポートメモリを用いながら、知的マルチポートメモリ
ブリッジ60を市場において在庫がありすぐに入手可能な(COTS)チップを
用いて実現し、したがって、より高価な特定用途向け集積回路(ASIC)設計
を回避してもよい。さらに、大量生産コストを低減するために、その設計のさま
ざまな論理部分を単一のASICに組合せてもよい。SCI−PCIブリッジ6
0は、図4においては、チップデバイスではなくボードレベルのデバイスとして
示される。内部バス72は、プロセッサ74を、そのローカルメモリ76と、た
とえばリードオンリメモリ(ROM)のようなファームウェア78と、トリプル
ポートメモリ70とに接続する。このプロセッサはCOTSマイクロコントロー
ラである。このプロセッサは、初期化、構成および特別なサイクル、たとえば読
出−修正、書込−トランザクションなどのために、ローカルPCIバスインター
フェイス68に対し直接のアクセスを有する。さらに、直接PCIアクセスパス
を用いて、ローカルメモリ76において反射メモリ領域を実現してもよい。この
プロセッサを用いて、SCIネットワークを用いながらすべての他のマッピング
された遠隔の反射メモリとともにこの反射メモリに対して同期プロトコルを実現
してもよい。この場合、ローカルPCIホストはその反射ローカルメモリ76か
ら直接読出を行ない得る。
【0029】 SCIインターフェイス66およびPCIインターフェイス68の両方は、そ
れらがデータを送受することを可能にする同様の二重の機能を実現してもよい。
バスインターフェイス60のマスタ機能は、そのインターフェイスにわたって所
与のデータパケットを送る能力である。SCIインターフェイス66の場合、ト
リプルポートメモリ70にあるデータパケットはネットワークに送られ、一方、
PCIインターフェイス68の場合は、トリプルポートメモリにあるデータパケ
ットは特定されるPCIアドレスにおいて読出または書込が行なわれる。
【0030】 SCIインターフェイス66はデータを受取りそれを利用可能な弾性バッファ
に記憶する。当業者には容易に理解されるように、弾性バッファは空きバッファ
リストまたは可用性参照テーブルを用いて実現してもよい。どのようなバッファ
資源管理方法が選択されるかはこの発明にとっては重要ではない。さらに入来す
る要求は、空きバッファが全く利用可能でない場合には遮断される。さらに、所
与のパケットがプロセッサ74によって処理される必要があるかまたはパス・ス
ルー論理ユニット80によって処理される必要があるかを判断するため、SCI
インターフェイスはデータを監視する。
【0031】 PCIバス62は単一化されたトランザクションバスであるため、PCIイン
ターフェイス68はより複雑である。書込トランザクションの場合、そのデータ
は利用可能なバッファに記憶される。PCIデータバーストサイズが64または
256バイトのブロックサイズを超える場合、複数の書込バーストが発生する。
書込バッファのすべてがいっぱいである場合、PCIインターフェイスは少なく
とも1つのバッファが空きになるまで再試行を出す。発生する各PCIデータバ
ーストごとに、PCIインターフェイス68は、プロセッサ74に対し、たとえ
ばメッセージ列のような既存の方法を用いながら、保留中の要求を通知する。次
いで、プロセッサは任意の必要な再フォーマット化およびアドレス翻訳を実行す
る。書込パケット処理が成功裏に完了した後、プロセッサは当該パケットをSC
Iネットワークインターフェイスへ送るためにスケジューリングする。
【0032】 PCI読出トランザクションの場合、ローカルメモリ76の一部である反射メ
モリ領域を特定の読出が選択するか否か、または透過読出が実行されることにな
るかどうかが、内部アドレスマップによって規定される。ローカル反射メモリ7
6へのアクセスに対し、ローカルバス72が裁定されて適当な読出トランザクシ
ョンが実行される。透過読出の場合、その読出アドレスは読出要求としてトリプ
ルポートメモリ70に書込まれ、プロセッサは通知を受ける。プロセッサは、要
求される読出データがローカルキャッシュの任意のものにおいて利用可能である
かどうかを判断するために確認を行なう。要求されるデータがキャッシングされ
ない場合、適当なSCI読出要求が発生される。所与の属性が先読みキャッシン
グを許可する場合、64または256バイトの読出トランザクションが発生され
、その要求されるワードを通達する。1ワードの代わりに64バイトを読出すた
めの付帯コストは小さなものである。
【0033】 このアーキテクチャを実現する2つのキャッシュ層があってもよい。第1のキ
ャッシュ層はトリプルポートメモリ70である。隣接するアドレスへのさらなる
読出トランザクションは、第1のSCI読出が完了されるとただちに全うされ得
る。第2のキャッシュ層はローカルメモリ76において実現される。トリプルポ
ートメモリ70からの読出データパケットがパージ処理される前、その完了され
た読出トランザクションの後、プロセッサ74は、それを、2次キャッシュとし
て働くローカルメモリ76のうち予約される領域にコピーしてもよい。このキャ
ッシュ線へのさらなる読出トランザクションの場合、局所的にキャッシングされ
るデータは、あたかも遠隔モードから受取られたかのように、しかしながらより
少ないレイテンシで、コピーし戻され得る。トリプルポートメモリ70とローカ
ルメモリ76との間のコピートランザクションは、当業界において公知のように
、フライ・バイのトランザクションとして実行され、1データワードにつきわず
か1クロックしか要しない。トリプルポートメモリ70にある各有効読出データ
バッファはキャッシュタグエントリによって対応されるが、これは、PCI読出
インタフェース68が、プロセッサの介入なくキャッシュ線の可用性および場所
を判断することを可能にするものである。
【0034】 反射メモリ領域への書込トランザクションはSCIアドレスドメインへの書込
と同様に扱われる。プロセッサ74は、書込データを反射メモリにコピーし、適
当なSCI書込トランザクションを発生させて、他のすべてのリンクされる反射
メモリセグメントを更新する。反射メモリのサブアドレスへの入来するSCI書
込は適当な反射メモリ領域にコピーされる。
【0035】 プロセッサ74を些細なデータパケットの処理から解放するために、プロセッ
サ74は、SCIインタフェース66を、特定のデータパケットタイプをパス・
スルー論理ユニット80に送るように構成し得る。たとえば、投稿される書込応
答成功メッセージは、トリプルポートメモリ70内の適当なバッファ資源を解放
するのみで、プロセッサによる処理を必要としない。このパス・スルー論理ユニ
ットの別の特徴は、ストリーム状のブロックデータを処理する能力である。たと
えば非同期の映像データのように、再フォーマット化を必要としない、データの
、長いDMAバーストの場合、基本的なDMAバッファタイプ(典型的には64
または256バイトブロック)をPCIインタフェース68に直接送ってもよい
。パス・スルー論理ユニット80はPCIインタフェース68の適当なキーアド
レスに対して書込を行ない、適当なPCIバーストをトリガする。プロセッサ7
4は、どのパケットがパス・スルー論理ユニット80によって送られるかを制御
する。この送り選択は、パケットのタイプ、ソースアドレス、およびSCIサブ
アドレスに依存する。複数の同時データストリームが存在し、それらのうちいく
つかはプロセッサをバイパスし、それらのうち他のものはプロセッサによって処
理されてもよい。
【0036】 SCIサブアドレスの関連部分はSCIスレーブインタフェース66によって
検査され、PCIマスタインタフェース68に送られる。適切にフォーマットさ
れたアドレス翻訳テーブルがトリプルポートメモリに記憶されると仮定する場合
、PCIマスタインタフェース68はSCI−PCIアドレス翻訳をオンザフラ
イで実行してもよい。
【0037】 SCI−PCIのフライ・バイのアドレス翻訳法を図5〜図7に示す。この方
法はPCI−SCIアドレス翻訳を実行するようにされてもよい。SCI要求ア
ドレス100のうち関連の上位ビットは図4のSCIインタフェース66によっ
て検査される一方で、そのアドレスは利用可能なバッファスロット102にある
定義された静的サブアドレスに書込まれる。SCIソースIDを用いて異なるS
CIホストに対する異なるアドレスマップまたは権限を定義してもよい。図5に
示されるすべてのアドレスビットを用いる必要はない。トリプルポートメモリ7
0のPCIポートは独立したアドレスバスを伴う2つのデータワードとして実現
されてもよいが、これは図5においてはアドレスドメインAおよびBとして示さ
れている。アドレスドメインAはホストシステムのページサイズと等価であるが
、これは典型的には4Kバイトであり、したがって12のアドレス指定用ビット
を必要とする。PCIインタフェース68におけるアドレス段階中において、ア
ドレスドメインA 104はページのサブアドレスを保持するが、これは通過さ
せられるものである。ドメインAのアドレスビットは、トリプルポートメモリ7
0において、受け手側アドレス102の基底アドレスにそのアドレスワードの適
当な静的バッファオフセットを加えたものによって定義される場所から読出され
る。アドレスドメインB 106は、翻訳されたアドレスにアクセスオプション
108、たとえば読出専用属性などを加えたものを保持する。読取専用領域への
書込のような違法アクセスの場合、そのトランザクションは終結され、アドレス
専用段階をもたらす結果となる。アドレス部分106はアドレス翻訳テーブルエ
ントリ110から読出される。それは、アドレス翻訳テーブルの基底アドレスに
アドレス翻訳指標112を加えたものによって定義されるが、これはSCIスレ
ーブインタフェース66によって検査されるものである。その新しいアドレスは
トリプルポートメモリ70の異なる部分を同時にアドレス指定することによって
アセンブルされるが、それは、適当なバッファアドレスおよびアドレス翻訳指標
の、送られた事前の知識を用いて行なわれる。マルチポートメモリPCIバスの
2つのサブワードは、典型的なマルチポートメモリが1ポートにつき8または1
6ビットの幅にて利用可能であることを考慮すれば、容易に実現される。したが
って、32ビットのPCIデータバスが複数のマルチポートメモリチップからア
センブルされ得る。したがって、所与のポートのすべてのアドレスビットを併せ
てバス化しないことによって、複数の個々にアドレス指定可能なデータのサブワ
ードが創出され、それらを用いることにより、翻訳されたアドレスをコンパイル
し得る。
【0038】 外部LUTを伴うフライ・バイのアドレス翻訳法のさらに詳細な記載を図6に
示す。64ビットのSCIアドレス100と32ビットのPCIアドレス114
とが、各破線領域が4ビットを表現する状態で尺度決めするように描かれている
。当然のことながら、他のアドレスビット幅も可能であり、この発明は64ビッ
トのSCIアドレスおよび32ビットのPCIアドレスに限定されるものではな
い。
【0039】 SCIインタフェース66は、入来するSCI要求をマルチポートメモリ70
にあるその適当なスロット102にコピーする一方で、さらに、その入来要求の
アドレスビットを検査する。この例では、SCIアドレスビット48、43〜4
2および21〜16を用いて9ビットの指標112を16ビットのSCIからP
CIへの参照テーブルに形成する。このSCIからPCIへの参照テーブル指標
は3つのフィールドからコンパイルされる。第1の指標ビットはSCIソースI
Dの最下位ビットである。このビットは、SCI要求者の2つのグループの間に
おける、それらのアクセス権限およびウインドウに関する差異を与える。次の2
つの指標ビット(SCIアドレスビット43〜42)は、サイズが4MBまでの
、4つまでの同時ウインドウを可能にするよう用いられる。最下位の6つの指標
ビットは所与のウインドウにおいて64ページまでを定義する。この実施例では
、パス・スルー論理装置80が要求を受入れそれをPCIインタフェース68に
送るよう、SCIサブアドレスビット47〜44は0であることを要求されるこ
とに注目されたい。
【0040】 参照テーブルからの上位2ビットは2ビットの制御フィールド116を定義す
る。この制御フィールド116の第1のビットは書込防止ビットとして用いられ
、第2のビットはPCIインタフェース68のバイトスワップエンジンを制御す
るよう用いられる。この特徴によって、ページ単位のエンディアネス(endianes
s)変換が可能となる。参照テーブルからの残りの14ビットはPCIマスタア ドレスのビット16〜29を形成する。上位2つのPCIアドレスビットはCS
Rレジスタによって定義され、PCIマスタ基底アドレスを定義する。これによ
り、1GBのPCIアドレスウインドウが認められる。SCIからPCIへのL
UTはどのようなメモリサイズであってもよい。512のアドレス翻訳エントリ
が十分でない場合には、より大きなメモリを用いることによってより大きなLU
T指標112を可能にし得る。
【0041】 SCIアドレスは、常に、トリプルポートメモリ70にある適当な入力バッフ
ァの特定のサブアドレスに書込まれる。したがって、トリプルポートメモリのア
ドレス指定を、そのデータ出力がこのアドレスワードを駆動するように行なうこ
とが可能である。この場合、そのメモリの下位16ビットに対応する出力可能化
信号のみが可能化され、一方、上位16ビットはSCIからPCIへのLUTに
よって同時に供給される。PCIマスタシーケンサによって適当なアドレスがL
UT指標112から発生されるが、これはパス・スルー論理ユニット80を用い
てそれに送られたものである。
【0042】 外部参照テーブルメモリはトリプルポートメモリ70の一部をその参照テーブ
ル用に予約することによってそのトリプルポートメモリに吸収され得る。上記の
場合への唯一の変更は、トリプルポートメモリのPCIポートがその最上位およ
び最下位16ビットポートの独立したアドレス指定を可能にしなければならない
という点である。この場合、PCIローカルメモリポートは、2つの独立したア
ドレスバスを有するが、1つの制御バスを有する。
【0043】 内部LUTおよびタグ比較を伴うフライ・バイのアドレス翻訳法の記載を図7
に示す。このアドレス翻訳法は、使用されるオペレーティングシステムのページ
サイズによって駆動される。典型的なページサイズは4Kバイトである。小さな
ページサイズおよび小さなマルチポートメモリ70にて利用可能な限られた数の
アドレス翻訳エントリを仮定する場合、マルチポートメモリ70に記憶されるエ
ントリはアドレス翻訳キャッシュエントリとして実現される。先と同様、SCI
アドレスのうち選択されるビットを検査し利用して参照テーブル指標112を構
築する。しかしながら、アドレス翻訳エントリ(ATE)108は32ビット幅
であり、その一部は、そのエントリが有効であるよう適当なSCIターゲットア
ドレスビット120と一致することを必要とするATEキャッシュタグ118を
定義する。これらSCIターゲットアドレスビット120はアドレス翻訳指標フ
ィールド112と同様の態様にてSCIインタフェース66により検査されPC
Iインタフェース68に送られ得る。さらに、それらはマルチポートメモリ70
のPCIポートから読出され得る。
【0044】 次いで、最終のPCIアドレスが、入来するバッファスロットSCIターゲッ
トアドレスオフセットのデータビット0〜11および適当な一致するアドレス翻
訳エントリのビット12〜31からコンパイルされる。これは、アドレスタグが
比較されるATEの読出に続くサイクル中に行なわれる。PCIアドレス段階中
、マルチポートメモリ70の第2の8ビットポート(D8−15)は不能化され
、PCIインタフェース68は先に読出された/検査されたアドレスビットを適
宜駆動する。
【0045】 PCIからSCIへのアドレス翻訳も同様に実現されることに注目されたい。
さらに、より複雑な実施例では、1つのデータポートが複数のアドレスバスを有
してもよい。そのような実現例によって上記の方法が拡張される。
【0046】 上記の方法の場合マイクロコントローラ74またはPCIローカルバス62か
ら見たトリプルポートメモリ70のメモリマップは、下の表1に従って実現され
てもよい。
【0047】
【表1】
【0048】 現在利用可能な最も単純なマルチポートメモリはデュアルポートメモリまたは
カッドポートメモリのいずれかである。3つのデュアルポートメモリを用いてト
リプルポートメモリを実現することも可能であるが、図8に示されるように、カ
ッドポートメモリ130を用いれば、トリプルポートメモリ70を構築するのに
わずか1つのメモリチップしか必要としない。カッドポートメモリは4つの8ビ
ットデータバスを有する。したがって、4つのチップを組合せることにより32
ビットバスを形成する必要がある。SCI後置バスインタフェースは典型的には
64ビット幅である。8つの8ビットマルチポートメモリを用いて64ビットバ
スを構築することを回避するために、2つのデータポートを組合せることにより
64ビットバスを形成し得る。この統合された64ビットバスの最下位アドレス
ビットはある固定されたレベルに結びつけられる(ポート2に対してロウ、およ
びポート3に対してハイ)。どのアドレスビットがどのレベルに結びつけられる
かは、IOPバスインタフェースのエンディアネス性質およびデータバスBの組
織に依存する。64ビットの書込トランザクションが実行される場合、カッドポ
ートメモリは、同一のタイミングで2つの隣接するメモリ位置への2つのポート
での2つの同時の書込要求を認識する。このことは、この発明のインタフェース
がさまざまなバス幅に対応し得、しかも特別に設計されるチップを必要としない
ということを表している。マルチポートメモリのすべてのポートは非同期で動作
して、各ポートにおける独立したクロックドメインを可能にする。カッドポート
メモリの他の利用例では、第4のポートをさらなるネットワークポートとして用
いるか、または、1つのプロセッサ74が非効率的であるとわかった場合には第
2のプロセッサ74´の追加を可能にする。
【0049】 カッドポートメモリ130を用いるトリプルポートメモリ70の構成を図9に
てより詳細に示す。ブリンクアドレスバスは11ビット幅であるが、これは、そ
の最下位アドレスピンがそれぞれGNDまたはVCCに結びつけられるからであ
る(関係するバスのエンディアネスに依存するすべてのチップに対し、A2(0
)<=‘0’、A3(0)<=‘1’またはその逆)。PCIローカルバスチッ
プB1はD8〜D15を駆動するチップとは非対称であるが、それによってパス
・スルーのアドレスの一部および一部のATEアドレスビットが制約される。出
力可能化信号およびおそらくはアドレスバスの他のグループ分けも特定のフライ
・バイのアドレス翻訳スキームに依っては明らかに可能である。
【0050】 図10はこの発明に従うカッドポートメモリ162に基づく知的ネットワーク
ルータ60のアーキテクチャを示す。この選択された例は、たとえば、155M
ビットのATMリンク164に2つの独立した100メガビットのイーサネット
LANリンク166、168を加えたものを実現するLAN/WAN防火壁であ
る。これは、パス・スルー論理装置170を用いてイーサネットブリッジとして
も機能し得る。プロセッサ172は、先の実施例にあるように、ローカルメモリ
174とファームウェアROM176とによってサポートされ、内部バス184
を用いて構成および制御のためすべてのネットワークポートに対しアクセスを有
する。すべてのATMトラフィックはカッドポートメモリ162を介して経路づ
けられるが、すべての防火壁機能およびLAN/WANプロトコル変換はプロセ
ッサ172によって実行される。図10に示されるネットワークインタフェース
178、180および182は考えられ得るデータバス構成の例である。この発
明は、しかしながら、いかなる特定のプロトコルまたはネットワーク基準にも限
定されない。
【0051】 上記はこの発明の特定の実施例を参照しているが、当業者ならば、これらは例
示にすぎず、これら実施例をこの発明の権利から逸脱することなく変更し得、こ
の発明の範囲は前掲の特許請求の範囲によって規定されることが理解されるであ
ろう。
【図面の簡単な説明】
【図1】 先行技術の知的I/Oプロセッサの単純化されたブロック図であ
る。
【図2】 この発明に従う、2つのPCIバス間にて動作するためにトリプ
ルポートメモリを有する知的データバスインタフェースの第1の実施例のブロッ
ク図である。
【図3】 この発明に従う、第1のネットワークバスと第2のネットワーク
バーストの間で動作するためにカッドポートメモリおよび2つのプロセッサを有
する知的データバスインタフェースの第2の実施例のブロック図である。
【図4】 この発明に従う、PCIバスとSCIバスとの間で動作する知的
データバスインタフェースの第3の実施例のブロック図である。
【図5】 SCIバスおよびPCIバスのアドレスドメイン間でアドレスを
変換するためにアドレス翻訳テーブルを用いる、図4のバスインタフェースとと
もに用いられるフライ・バイのアドレス翻訳法の概略図である。
【図6】 図5のフライ・バイのアドレス翻訳法に従う、64ビットのSC
Iアドレスを32ビットのPCIアドレスに変換するための方法のデータフロー
図である。
【図7】 図5のフライ・バイのアドレス翻訳法に従う、64ビットのSC
Iアドレスを32ビットのPCIアドレスに変換するための別の方法のデータフ
ロー図である。
【図8】 2つのnビット幅のデータバスと1つの2nビット幅のデータバ
スとを有する、この発明に従う、カッドポートメモリから形成されるトリプルポ
ートメモリの概略図である。
【図9】 32ビットのPCIバスと64ビットのSCIバスとを有する、
図8のトリプルポートメモリに従う、トリプルポートメモリを形成するよう構成
されるカッドポートメモリの概略図である。
【図10】 2つのイーサネットネットワークとATMネットワークとの間
においてインタフェースを行うための、この発明のカッドポートメモリに基づく
知的ネットワークルータのブロック図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SZ,UG,ZW),EA(AM ,AZ,BY,KG,KZ,MD,RU,TJ,TM) ,AL,AM,AT,AU,AZ,BA,BB,BG, BR,BY,CA,CH,CN,CU,CZ,DE,D K,EE,ES,FI,GB,GE,GH,HU,IL ,IS,JP,KE,KG,KP,KR,KZ,LC, LK,LR,LS,LT,LU,LV,MD,MG,M K,MN,MW,MX,NO,NZ,PL,PT,RO ,RU,SD,SE,SG,SI,SK,SL,TJ, TM,TR,TT,UA,UG,UZ,VN,YU,Z W (72)発明者 リンデンシュトルト,フォルカー ドイツ連邦共和国、デー−69120 ハイデ ルベルク、シュレーデルシュトラーセ、 90、ユニバーシティ・ハイデルベルク、イ ンスティテュート・フォー・ハイ・エナジ ー・フィジックス、レーアシュトゥール・ フォー・ハードウェア・インフォルマーテ ィク Fターム(参考) 5B014 EB01 GC07 GC24 GC27 GC36 GD14 GD19 GD23 GD33 GD45 HB05 HB14 5B061 BA03 DD01 DD11 FF04 FF05 FF13 GG14 PP05 5K034 FF12 HH42 HH61

Claims (29)

    【特許請求の範囲】
  1. 【請求項1】 複数のデータ記憶セルと、複数のデータ記憶セルにおいてデ
    ータを同時に非同期で書込み読出すよう構成される少なくとも3つの独立した双
    方向データポートとを有するマルチポートメモリと、 双方向データポートのうち第1のポートを第1の双方向データバスに結合する
    ための第1の手段と、 双方向データポートのうち第2のポートを第2の双方向データバスに結合する
    ための第2の手段と、 双方向データポートのうち第3のポートに結合され、複数のデータ記憶セルに
    おけるデータで動作するプロセッサとを含む、インタフェース装置。
  2. 【請求項2】 第1のデータバスはnデータビットを用い、 第2のデータバスはmデータビットを用い、mはnより大きく、 マルチポートメモリはカッドポートメモリを用いるトリプルポートメモリであ
    り、カッドポートメモリは、その4つのポートのうちの1つが第1のデータバス
    用に構成され、その4つのポートのうち2つが第2のバスデータバス用に構成さ
    れて、より幅の広いmビットデータアドレスをサポートする、請求項1に規定さ
    れるインタフェース装置。
  3. 【請求項3】 第1の結合手段は、第1の双方向データバスと第1の双方向
    データポートとの間に結合され、複数のデータ記憶セルからデータを非同期で書
    込みおよび読出すための第1のデータバスインタフェースユニットを含み、 第2の結合手段は、第2の双方向データバスと第2の双方向データポートとの
    間に結合され、複数のデータ記憶セルから非同期でデータを書込みおよび読出し
    するための第2のデータバスインタフェースユニットを含み、 プロセッサは第1および第2のデータバスインタフェースのうちの1つによっ
    て複数のデータ記憶セルのうちある部分に既に書込まれているデータで非同期で
    動作し、その一方で、第1および第2のバスインタフェースは複数のデータ記憶
    セルのそれぞれ別の部分からデータを同時に書込みおよび読出す、請求項1に規
    定されるインタフェース装置。
  4. 【請求項4】 第1のバスインタフェースユニットと第2のバスインタフェ
    ースユニットとの間に結合され、第1のデータバスと第2のデータバスとの間に
    おいてデータブリッジを与えるためのパス・スルー論理ユニットをさらに含む、
    請求項3に規定されるインタフェース装置。
  5. 【請求項5】 データブリッジは、分割されたトランザクションプロトコル
    と単一化されたトランザクションプロトコルとの間にてプロトコル変換を実行す
    る、請求項4に規定されるインタフェース装置。
  6. 【請求項6】 第1のデータバスはPCIデータバスであり、 第1のデータバスインタフェースユニットはPCIインタフェースユニットで
    あり、 第2のデータバスはSCIデータバスであり、 第2のデータバスインタフェースはSCIインタフェースユニットであり、 パス・スルー論理ユニットはSCIデータバス上のデータアドレスをPCIデ
    ータバス上のデータアドレスに翻訳することによりSCIからPCIへのデータ
    バスブリッジを与える、請求項4に規定されるインタフェース装置。
  7. 【請求項7】 パス・スルー論理はPCIデータバス上のデータアドレスを
    SCIデータバス上のデータアドレスに翻訳することによりPCIからSCIへ
    のデータバスブリッジを与える、請求項6に規定されるインタフェース装置。
  8. 【請求項8】 SCIデータバスは64ビットのデータアドレスを用い、 PCIデータバスは32ビットのデータアドレスを用い、 マルチポートメモリはカッドポートメモリを用いるトリプルポートメモリであ
    り、カッドポートメモリは、その4つのポートのうちの1つがPCIデータバス
    用に構成され、その4つのポートのうち2つがSCIバスデータバス用に構成さ
    れて、より幅の広い64ビットデータアドレスをサポートする、請求項4に規定
    されるインタフェース装置。
  9. 【請求項9】 パス・スルー論理ユニットはSCIバスインタフェースユニ
    ットとPCIバスインタフェースユニットとの間でフライ・バイのアドレス翻訳
    を実現する、請求項8に規定されるインタフェース装置。
  10. 【請求項10】 第1のデータバスはホストPCIデータバスであり、 第1のデータバスインタフェースユニットは第1のDMAインタフェースユニ
    ットであり、 第2のデータバスはスレーブPCIデータバスであり、 第2のデータバスインタフェースユニットは第2のDMAインタフェースユニ
    ットであり、 パス・スルー論理ユニットは、ホストPCIデータバス上のデータアドレスを
    スレーブPCIデータバスに送り、スレーブPCIデータバス上のデータアドレ
    スをホストPCIデータバスに送ることにより、PCIからPCIへのブリッジ
    ユニットを与える、請求項3に規定されるインタフェース装置。
  11. 【請求項11】 プロセッサは第1のデータバスインタフェースユニットと
    第2のデータバスインタフェースユニットとの間においてブロック読出をスケジ
    ューリングすることにより連鎖モードDMAデータ転送を実現する、請求項3に
    規定されるインタフェース装置。
  12. 【請求項12】 プロセッサと第1のデータバスインタフェースユニットと
    第2のデータバスインタフェースユニットとに結合され、プロセッサと第1のデ
    ータバスインタフェースユニットと第2のデータバスインタフェースユニットと
    の間における制御命令および構成命令の通信を可能にするための内部バスをさら
    に含む、請求項3に規定されるインタフェース装置。
  13. 【請求項13】 双方向データポートのうち第4のポートを第3の双方向デ
    ータバスに結合するための第3の手段をさらに含む、請求項1に規定されるイン
    タフェース装置。
  14. 【請求項14】 第3の結合手段は、双方向データポートのうち第4のポー
    トの結合される第3の双方向データバスインタフェースユニットを含み、 インタフェース装置は、第1のバスインタフェースユニットと第2のバスイン
    タフェースユニットとの間に結合され第1のデータバスと第2のデータバスとの
    間においてローカルネットワークブリッジを与えるためのパス・スルー論理ユニ
    ットをさらに含む、請求項13に規定されるインタフェース装置。
  15. 【請求項15】 第1のデータバスは第1のイーサネットデータバスであり
    、 第1の結合手段は第1のイーサネットインタフェースユニットを含み、 第2のデータバスは第2のイーサネットデータバスであり、 第2の結合手段は第2のイーサネットインタフェースユニットを含み、 第3の結合手段は第3の双方向データバスと第4の双方向データポートとの間
    に結合されるATMインタフェースユニットを含み、 パス・スルー論理ユニットは第1のイーサネットデータバスと第2のイーサネ
    ットデータバスとの間においてデータブリッジを与える、請求項14に規定され
    るインタフェース装置。
  16. 【請求項16】 プロセッサはマルチポートメモリに記憶されるデータにて
    暗号化および解読を実行するための手段を含む、請求項1に規定されるインタフ
    ェース装置。
  17. 【請求項17】 双方向データポートのうち第4のポートに結合され複数の
    データ記憶セルのデータで動作する第2のプロセッサをさらに含む、請求項1に
    規定されるインタフェース装置。
  18. 【請求項18】 プロセッサはデジタル状態機械である、請求項1に規定さ
    れるインタフェース装置。
  19. 【請求項19】 プロセッサは反射メモリプロトコルを実現するためのロー
    カルメモリを含む、請求項1に規定されるインタフェース装置。
  20. 【請求項20】 プロセッサはメモリキャッシュを実現するためのローカル
    メモリを含む、請求項1に規定されるインタフェース装置。
  21. 【請求項21】 プロセッサと、 第1のデータバスとの間でデータの送受を行なうための第1のバスインタフェ
    ースと、 第2のデータバスとの間でデータの送受を行なうための第2のバスインタフェ
    ースと、 第1、第2および第3のポートを有し、複数の記憶セルにデータを記憶し、そ
    れら記憶セルから記憶されるデータを読出すためのトリプルポートメモリとを含
    み、 第1のポートは、第1のデータバスから受取られるデータが記憶セルに記憶さ
    れ、記憶セルから第1のバスインタフェースによって読出されるデータが第1の
    データバスに送られるように第1のバスインタフェースに結合され、 第2のポートは、第2のデータバスから受取られるデータが記憶セルに記憶さ
    れ、記憶セルから第2のバスインタフェースによって読出されるデータが第2の
    データバスに送られるように第2のバスインタフェースに結合され、 プロセッサは記憶セルにおいてデータを読出し、処理しおよび記憶するため第
    3のポートに結合され、 特定のポートを介して特定の記憶セルに記憶されたデータは、その特定のポー
    トが別の記憶セルにおいてデータの読出または書込を行なっている間に、別のポ
    ートによってその特定のポートからは独立して読出されるよう利用可能である、
    インタフェース装置。
  22. 【請求項22】 複数の双方向データポートを有するマルチポートメモリと
    、 複数のバスインタフェースとを含み、各インタフェースはマルチポートメモリ
    においてデータを記憶および読出すため複数のデータポートのうちの1つに接続
    され、さらに、 複数のデータプロセッサを含み、各データプロセッサは、同時にマルチポート
    メモリの異なる部分からデータを読出し、記憶されたデータを処理し、処理され
    たデータをマルチポートメモリにおいて記憶するため、複数のデータポートのう
    ち別個のデータポートに結合される、インタフェース装置。
  23. 【請求項23】 複数のプロセッサの各々はマルチポートメモリに記憶され
    るデータにて暗号化および解読を実行するための手段を含む、請求項22に規定
    されるインタフェース装置。
  24. 【請求項24】 複数のバスインタフェースと複数のデータプロセッサとの
    間に結合され、複数のデータプロセッサと複数のバスインタフェースとの間で制
    御命令および構成命令を通信するための内部バスをさらに含む、請求項22に規
    定されるインタフェース装置。
  25. 【請求項25】 マルチポートメモリを用いながらプロセッサとは独立して
    2つのバスインタフェース間にてデータを送るためのパス・スルー論理装置をさ
    らに含む、請求項22に規定されるインタフェース装置。
  26. 【請求項26】 パス・スルー論理装置は2つのバスインタフェース間にて
    フライ・バイのアドレス翻訳を実現する、請求項25に規定されるインタフェー
    ス装置。
  27. 【請求項27】 マルチポートメモリは、カッドポートメモリを用いながら
    異なるポートデータバス幅を伴うトリプルポートメモリを実現するカッドポート
    メモリである、請求項22に規定されるインタフェース装置。
  28. 【請求項28】 複数のデータ記憶セルを有するマルチポートメモリを設け
    るステップと、 第1のポートを通して第1のデータバスから受取られるデータを複数の記憶セ
    ルのうち第1の部分に記憶させるステップと、 複数のデータ記憶セルのうち第1の部分に記憶されるデータを第2のポートを
    介して処理し、一方で、第1のポートを介して第1のデータバスから受取られて
    いる最中のデータを複数の記憶セルのうち第2の部分に独立して同時に記憶させ
    るステップとを含む、データをインタフェースするための方法。
  29. 【請求項29】 複数のデータ記憶セルのうち第1の部分に記憶される処理
    されたデータを第3のデータポートを介して読出し、その一方で、複数のデータ
    記憶セルのうち第2の部分に記憶されるデータを第2のポートを介して独立して
    および同時に処理し、その一方で、第1のポートを介して第1のデータバスから
    受取られている最中のデータを複数の記憶セルのうち第3の部分に独立して同時
    に記憶させるステップをさらに含む、請求項28に規定されるデータをインタフ
    ェースするための方法。
JP2000513376A 1997-09-23 1998-09-22 マルチポートメモリを用いる知的データバスインタフェース Pending JP2001517844A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/935,921 US6067595A (en) 1997-09-23 1997-09-23 Method and apparatus for enabling high-performance intelligent I/O subsystems using multi-port memories
US08/935,921 1997-09-23
PCT/US1998/020049 WO1999016200A2 (en) 1997-09-23 1998-09-22 Intelligent data bus interface using multi-port memory

Publications (1)

Publication Number Publication Date
JP2001517844A true JP2001517844A (ja) 2001-10-09

Family

ID=25467893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000513376A Pending JP2001517844A (ja) 1997-09-23 1998-09-22 マルチポートメモリを用いる知的データバスインタフェース

Country Status (9)

Country Link
US (1) US6067595A (ja)
EP (1) EP1047994B1 (ja)
JP (1) JP2001517844A (ja)
KR (1) KR20010015608A (ja)
CN (1) CN1154934C (ja)
AT (1) ATE392664T1 (ja)
AU (1) AU9665798A (ja)
DE (1) DE69839374T2 (ja)
WO (1) WO1999016200A2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005332145A (ja) * 2004-05-19 2005-12-02 Nec Electronics Corp データ転送制御回路及びデータ転送方法
JP2006120119A (ja) * 2004-10-20 2006-05-11 Seagate Technology Llc 二重制御装置を有する冗長データ記憶システムおよびその動作方法
JP2006252153A (ja) * 2005-03-10 2006-09-21 Canon Inc データ処理装置
JP2013078019A (ja) * 2011-09-30 2013-04-25 Lapis Semiconductor Co Ltd 通信装置、受信制御方法及び送信制御方法

Families Citing this family (137)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19529434B4 (de) * 1995-08-10 2009-09-17 Continental Teves Ag & Co. Ohg Microprozessorsystem für sicherheitskritische Regelungen
US6343086B1 (en) * 1996-09-09 2002-01-29 Natural Microsystems Corporation Global packet-switched computer network telephony server
JPH1185668A (ja) * 1997-09-11 1999-03-30 Mitsubishi Electric Corp バス制御装置
US8539112B2 (en) 1997-10-14 2013-09-17 Alacritech, Inc. TCP/IP offload device
US8621101B1 (en) 2000-09-29 2013-12-31 Alacritech, Inc. Intelligent network storage interface device
US6320859B1 (en) * 1997-10-31 2001-11-20 Nortel Networks Limited Early availability of forwarding control information
US6363076B1 (en) * 1998-01-27 2002-03-26 International Business Machines Corporation Phantom buffer for interfacing between buses of differing speeds
CA2228687A1 (en) * 1998-02-04 1999-08-04 Brett Howard Secured virtual private networks
US6473818B1 (en) * 1998-09-09 2002-10-29 Advanced Micro Devices, Inc. Apparatus and method in a network interface device for asynchronously generating SRAM full and empty flags using coded read and write pointer values
TW502172B (en) * 1998-10-26 2002-09-11 Winbond Electronics Corp Digital camera to printer conversion device with USB structure
US6272567B1 (en) * 1998-11-24 2001-08-07 Nexabit Networks, Inc. System for interposing a multi-port internally cached DRAM in a control path for temporarily storing multicast start of packet data until such can be passed
US6738821B1 (en) * 1999-01-26 2004-05-18 Adaptec, Inc. Ethernet storage protocol networks
US7107612B1 (en) * 1999-04-01 2006-09-12 Juniper Networks, Inc. Method, apparatus and computer program product for a network firewall
US6701432B1 (en) * 1999-04-01 2004-03-02 Netscreen Technologies, Inc. Firewall including local bus
JP2000315186A (ja) * 1999-05-06 2000-11-14 Hitachi Ltd 半導体装置
US6553446B1 (en) * 1999-09-29 2003-04-22 Silicon Graphics Inc. Modular input/output controller capable of routing packets over busses operating at different speeds
US6282144B1 (en) * 2000-03-13 2001-08-28 International Business Machines Corporation Multi-ported memory with asynchronous and synchronous protocol
US6633967B1 (en) * 2000-08-31 2003-10-14 Hewlett-Packard Development Company, L.P. Coherent translation look-aside buffer
AU2001289045A1 (en) * 2000-09-08 2002-03-22 Avaz Networks Hardware function generator support in a dsp
US8019901B2 (en) * 2000-09-29 2011-09-13 Alacritech, Inc. Intelligent network storage interface system
DE10050980A1 (de) * 2000-10-13 2002-05-02 Systemonic Ag Speicherkonfiguration mit I/O-Unterstützung
US7328232B1 (en) 2000-10-18 2008-02-05 Beptech Inc. Distributed multiprocessing system
US6704831B1 (en) * 2000-11-16 2004-03-09 Sun Microsystems, Inc. Method and apparatus for converting address information between PCI bus protocol and a message-passing queue-oriented bus protocol
CN1818894B (zh) * 2001-01-31 2013-07-31 株式会社日立制作所 数据处理系统和数据处理器
US6961475B2 (en) * 2001-03-30 2005-11-01 Ricoh Co., Ltd. Context model access to memory based on run and skip counts and context model skipping
KR100412130B1 (ko) * 2001-05-25 2003-12-31 주식회사 하이닉스반도체 램버스 디램의 출력전류 제어회로
US7047328B1 (en) * 2001-07-13 2006-05-16 Legerity, Inc. Method and apparatus for accessing memories having a time-variant response over a PCI bus by using two-stage DMA transfers
EP1417820B1 (de) * 2001-08-07 2017-02-08 PHOENIX CONTACT Cyber Security AG Verfahren und computersystem zur sicherung der kommunikation in netzwerken
US7013464B2 (en) * 2001-10-17 2006-03-14 Beptech, Inc. Method of communicating across an operating system
US20030112758A1 (en) * 2001-12-03 2003-06-19 Pang Jon Laurent Methods and systems for managing variable delays in packet transmission
US20030105799A1 (en) * 2001-12-03 2003-06-05 Avaz Networks, Inc. Distributed processing architecture with scalable processing layers
US6829660B2 (en) * 2001-12-12 2004-12-07 Emulex Design & Manufacturing Corporation Supercharge message exchanger
US7389315B1 (en) * 2002-02-28 2008-06-17 Network Appliance, Inc. System and method for byte swapping file access data structures
US7146454B1 (en) * 2002-04-16 2006-12-05 Cypress Semiconductor Corporation Hiding refresh in 1T-SRAM architecture
GB0221464D0 (en) * 2002-09-16 2002-10-23 Cambridge Internetworking Ltd Network interface and protocol
US7260112B2 (en) * 2002-12-24 2007-08-21 Applied Micro Circuits Corporation Method and apparatus for terminating and bridging network protocols
US7103697B2 (en) * 2003-01-08 2006-09-05 Emulex Design & Manufacturing Corporation Flow-through register
US7100002B2 (en) * 2003-09-16 2006-08-29 Denali Software, Inc. Port independent data transaction interface for multi-port devices
US7949782B2 (en) * 2003-11-06 2011-05-24 Qualcomm Incorporated Extended link monitoring channel for 10 Gb/s Ethernet
JP2005293427A (ja) * 2004-04-02 2005-10-20 Matsushita Electric Ind Co Ltd データ転送処理装置及びデータ転送処理方法
US7373447B2 (en) * 2004-11-09 2008-05-13 Toshiba America Electronic Components, Inc. Multi-port processor architecture with bidirectional interfaces between busses
CA2593247A1 (en) * 2005-01-10 2006-11-16 Quartics, Inc. Integrated architecture for the unified processing of visual media
JP4667108B2 (ja) * 2005-04-11 2011-04-06 パナソニック株式会社 データ処理装置
US7725609B2 (en) 2005-08-05 2010-05-25 Qimonda Ag System memory device having a dual port
DE102006045248A1 (de) * 2005-09-29 2007-04-19 Hynix Semiconductor Inc., Ichon Multiport-Speichervorrichtung mit serieller Eingabe-/Ausgabeschnittstelle
KR100725100B1 (ko) * 2005-12-22 2007-06-04 삼성전자주식회사 포트간 데이터 전송기능을 갖는 멀티패쓰 억세스블 반도체메모리 장치
KR100684553B1 (ko) * 2006-01-12 2007-02-22 엠텍비젼 주식회사 듀얼 포트 메모리와 결합되는 마이크로 프로세서
US7600081B2 (en) * 2006-01-18 2009-10-06 Marvell World Trade Ltd. Processor architecture having multi-ported memory
US7844756B2 (en) * 2007-01-22 2010-11-30 International Business Machines Corporation Selection of data mover for data transfer
US7702840B1 (en) 2007-05-14 2010-04-20 Xilinx, Inc. Interface device lane configuration
US7573295B1 (en) 2007-05-14 2009-08-11 Xilinx, Inc. Hard macro-to-user logic interface
US7557607B1 (en) 2007-05-14 2009-07-07 Xilinx, Inc. Interface device reset
US7535254B1 (en) 2007-05-14 2009-05-19 Xilinx, Inc. Reconfiguration of a hard macro via configuration registers
US7626418B1 (en) 2007-05-14 2009-12-01 Xilinx, Inc. Configurable interface
US20110063214A1 (en) * 2008-09-05 2011-03-17 Knapp David J Display and optical pointer systems and related methods
US8456092B2 (en) * 2008-09-05 2013-06-04 Ketra, Inc. Broad spectrum light source calibration systems and related methods
WO2010027459A2 (en) * 2008-09-05 2010-03-11 Firefly Green Technologies Inc. Optical communication device, method and system
US8773336B2 (en) * 2008-09-05 2014-07-08 Ketra, Inc. Illumination devices and related systems and methods
US9276766B2 (en) * 2008-09-05 2016-03-01 Ketra, Inc. Display calibration systems and related methods
US9509525B2 (en) * 2008-09-05 2016-11-29 Ketra, Inc. Intelligent illumination device
US8179787B2 (en) * 2009-01-27 2012-05-15 Smsc Holding S.A.R.L. Fault tolerant network utilizing bi-directional point-to-point communications links between nodes
US8471496B2 (en) * 2008-09-05 2013-06-25 Ketra, Inc. LED calibration systems and related methods
US10210750B2 (en) 2011-09-13 2019-02-19 Lutron Electronics Co., Inc. System and method of extending the communication range in a visible light communication system
US8674913B2 (en) 2008-09-05 2014-03-18 Ketra, Inc. LED transceiver front end circuitry and related methods
US8521035B2 (en) * 2008-09-05 2013-08-27 Ketra, Inc. Systems and methods for visible light communication
EP2340491B1 (en) * 2008-10-24 2019-11-27 Hewlett-Packard Development Company, L.P. Direct-attached/network-attached storage device
US8316192B2 (en) * 2009-10-08 2012-11-20 Honeywell International Inc. Multiple-port memory systems and methods
US8683108B2 (en) 2010-06-23 2014-03-25 International Business Machines Corporation Connected input/output hub management
US8656228B2 (en) 2010-06-23 2014-02-18 International Business Machines Corporation Memory error isolation and recovery in a multiprocessor computer system
US8645606B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Upbound input/output expansion request and response processing in a PCIe architecture
US8650335B2 (en) 2010-06-23 2014-02-11 International Business Machines Corporation Measurement facility for adapter functions
US8478922B2 (en) 2010-06-23 2013-07-02 International Business Machines Corporation Controlling a rate at which adapter interruption requests are processed
US8671287B2 (en) 2010-06-23 2014-03-11 International Business Machines Corporation Redundant power supply configuration for a data center
US8677180B2 (en) 2010-06-23 2014-03-18 International Business Machines Corporation Switch failover control in a multiprocessor computer system
US8505032B2 (en) 2010-06-23 2013-08-06 International Business Machines Corporation Operating system notification of actions to be taken responsive to adapter events
US9195623B2 (en) 2010-06-23 2015-11-24 International Business Machines Corporation Multiple address spaces per adapter with address translation
US8650337B2 (en) 2010-06-23 2014-02-11 International Business Machines Corporation Runtime determination of translation formats for adapter functions
US8468284B2 (en) 2010-06-23 2013-06-18 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification to a guest operating system
US8510599B2 (en) 2010-06-23 2013-08-13 International Business Machines Corporation Managing processing associated with hardware events
US8566480B2 (en) 2010-06-23 2013-10-22 International Business Machines Corporation Load instruction for communicating with adapters
US8745292B2 (en) 2010-06-23 2014-06-03 International Business Machines Corporation System and method for routing I/O expansion requests and responses in a PCIE architecture
US8615622B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Non-standard I/O adapters in a standardized I/O architecture
US8549182B2 (en) 2010-06-23 2013-10-01 International Business Machines Corporation Store/store block instructions for communicating with adapters
US8635430B2 (en) 2010-06-23 2014-01-21 International Business Machines Corporation Translation of input/output addresses to memory addresses
US9213661B2 (en) 2010-06-23 2015-12-15 International Business Machines Corporation Enable/disable adapters of a computing environment
US8645767B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Scalable I/O adapter function level error detection, isolation, and reporting
US8918573B2 (en) 2010-06-23 2014-12-23 International Business Machines Corporation Input/output (I/O) expansion response processing in a peripheral component interconnect express (PCIe) environment
US9342352B2 (en) 2010-06-23 2016-05-17 International Business Machines Corporation Guest access to address spaces of adapter
US8639858B2 (en) 2010-06-23 2014-01-28 International Business Machines Corporation Resizing address spaces concurrent to accessing the address spaces
US8615645B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Controlling the selectively setting of operational parameters for an adapter
US8626970B2 (en) 2010-06-23 2014-01-07 International Business Machines Corporation Controlling access by a configuration to an adapter function
US8504754B2 (en) 2010-06-23 2013-08-06 International Business Machines Corporation Identification of types of sources of adapter interruptions
US8417911B2 (en) 2010-06-23 2013-04-09 International Business Machines Corporation Associating input/output device requests with memory associated with a logical partition
US8416834B2 (en) 2010-06-23 2013-04-09 International Business Machines Corporation Spread spectrum wireless communication code for data center environments
US8621112B2 (en) 2010-06-23 2013-12-31 International Business Machines Corporation Discovery by operating system of information relating to adapter functions accessible to the operating system
US8572635B2 (en) 2010-06-23 2013-10-29 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification
CN103119573A (zh) * 2010-09-21 2013-05-22 三菱电机株式会社 Dma控制器以及数据读出装置
USRE49454E1 (en) 2010-09-30 2023-03-07 Lutron Technology Company Llc Lighting control system
US9386668B2 (en) 2010-09-30 2016-07-05 Ketra, Inc. Lighting control system
US8749172B2 (en) 2011-07-08 2014-06-10 Ketra, Inc. Luminance control for illumination devices
US9117037B2 (en) * 2011-11-21 2015-08-25 Acer Incorporated Interface apparatus, cascading system thereof and cascading method thereof
CN103376866B (zh) * 2012-04-19 2016-09-14 鸿富锦精密工业(深圳)有限公司 服务器系统
EP2845110B1 (en) * 2012-04-30 2018-10-24 Hewlett-Packard Enterprise Development LP Reflective memory bridge for external computing nodes
US10762011B2 (en) 2012-04-30 2020-09-01 Hewlett Packard Enterprise Development Lp Reflective memory bridge for external computing nodes
US9345097B1 (en) 2013-08-20 2016-05-17 Ketra, Inc. Interference-resistant compensation for illumination devices using multiple series of measurement intervals
USRE48955E1 (en) 2013-08-20 2022-03-01 Lutron Technology Company Llc Interference-resistant compensation for illumination devices having multiple emitter modules
US9578724B1 (en) 2013-08-20 2017-02-21 Ketra, Inc. Illumination device and method for avoiding flicker
US9360174B2 (en) 2013-12-05 2016-06-07 Ketra, Inc. Linear LED illumination device with improved color mixing
US9155155B1 (en) 2013-08-20 2015-10-06 Ketra, Inc. Overlapping measurement sequences for interference-resistant compensation in light emitting diode devices
US9332598B1 (en) 2013-08-20 2016-05-03 Ketra, Inc. Interference-resistant compensation for illumination devices having multiple emitter modules
US9237620B1 (en) 2013-08-20 2016-01-12 Ketra, Inc. Illumination device and temperature compensation method
US9651632B1 (en) 2013-08-20 2017-05-16 Ketra, Inc. Illumination device and temperature calibration method
US9247605B1 (en) 2013-08-20 2016-01-26 Ketra, Inc. Interference-resistant compensation for illumination devices
US9769899B2 (en) 2014-06-25 2017-09-19 Ketra, Inc. Illumination device and age compensation method
USRE48956E1 (en) 2013-08-20 2022-03-01 Lutron Technology Company Llc Interference-resistant compensation for illumination devices using multiple series of measurement intervals
US9736895B1 (en) 2013-10-03 2017-08-15 Ketra, Inc. Color mixing optics for LED illumination device
US9146028B2 (en) 2013-12-05 2015-09-29 Ketra, Inc. Linear LED illumination device with improved rotational hinge
US9736903B2 (en) 2014-06-25 2017-08-15 Ketra, Inc. Illumination device and method for calibrating and controlling an illumination device comprising a phosphor converted LED
US9557214B2 (en) 2014-06-25 2017-01-31 Ketra, Inc. Illumination device and method for calibrating an illumination device over changes in temperature, drive current, and time
US9392663B2 (en) 2014-06-25 2016-07-12 Ketra, Inc. Illumination device and method for controlling an illumination device over changes in drive current and temperature
US10161786B2 (en) 2014-06-25 2018-12-25 Lutron Ketra, Llc Emitter module for an LED illumination device
US9510416B2 (en) 2014-08-28 2016-11-29 Ketra, Inc. LED illumination device and method for accurately controlling the intensity and color point of the illumination device over time
US9392660B2 (en) 2014-08-28 2016-07-12 Ketra, Inc. LED illumination device and calibration method for accurately characterizing the emission LEDs and photodetector(s) included within the LED illumination device
CN104407992B (zh) * 2014-12-17 2017-04-05 中国人民解放军国防科学技术大学 一种基于双端口寄存器阵列的四端口存储器
US9485813B1 (en) 2015-01-26 2016-11-01 Ketra, Inc. Illumination device and method for avoiding an over-power or over-current condition in a power converter
US9237623B1 (en) 2015-01-26 2016-01-12 Ketra, Inc. Illumination device and method for determining a maximum lumens that can be safely produced by the illumination device to achieve a target chromaticity
US9237612B1 (en) 2015-01-26 2016-01-12 Ketra, Inc. Illumination device and method for determining a target lumens that can be safely produced by an illumination device at a present temperature
CN105159842B (zh) * 2015-08-31 2018-03-27 浪潮(北京)电子信息产业有限公司 存储系统数据写时拷贝的处理方法和处理装置
AU2017251520A1 (en) 2016-04-11 2018-10-04 Tti (Macao Commercial Offshore) Limited Modular garage door opener
JP6880402B2 (ja) * 2017-05-10 2021-06-02 富士通株式会社 メモリアクセス制御装置及びその制御方法
CN107678992B (zh) * 2017-11-08 2019-10-11 四川虹美智能科技有限公司 一种通信装置及一种通信系统
CN109862553B (zh) * 2017-11-30 2022-07-12 华为技术有限公司 终端和通信方法
US10983920B2 (en) * 2018-02-08 2021-04-20 Xilinx, Inc. Customizable multi queue DMA interface
US11272599B1 (en) 2018-06-22 2022-03-08 Lutron Technology Company Llc Calibration procedure for a light-emitting diode light source
CN111027284B (zh) * 2019-12-05 2023-08-25 集奥聚合(北京)人工智能科技有限公司 一种基于数据灵活接入标准化输出方法
US11218396B2 (en) * 2019-12-23 2022-01-04 Seagate Technology Llc Port-to-port network routing using a storage device
CN113504893B (zh) * 2021-07-23 2022-08-26 河南亿秒电子科技有限公司 一种智能芯片架构和高效处理数据的方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1394431A (en) * 1971-06-24 1975-05-14 Plessey Co Ltd Multiprocessor data processing system
EP0088789B1 (en) * 1981-09-18 1987-08-05 CHRISTIAN ROVSING A/S af 1984 Multiprocessor computer system
US4564782A (en) * 1983-09-02 1986-01-14 Murata Manufacturing Co., Ltd. Ceramic filter using multiple thin piezoelectric layers
JPH0760595B2 (ja) * 1988-01-12 1995-06-28 日本電気株式会社 半導体メモリ
US5214760A (en) * 1988-08-26 1993-05-25 Tektronix, Inc. Adaptable multiple port data buffer
US5237670A (en) * 1989-01-30 1993-08-17 Alantec, Inc. Method and apparatus for data transfer between source and destination modules
US5130981A (en) * 1989-03-22 1992-07-14 Hewlett-Packard Company Three port random access memory in a network bridge
JPH04257048A (ja) * 1991-02-12 1992-09-11 Mitsubishi Electric Corp デュアルポートメモリ
US5442708A (en) * 1993-03-09 1995-08-15 Uunet Technologies, Inc. Computer network encryption/decryption device
GB2278698B (en) * 1993-05-05 1997-09-03 Hewlett Packard Co Multi-ported data storage device with improved cell stability
US5737569A (en) * 1993-06-30 1998-04-07 Intel Corporation Multiport high speed memory having contention arbitration capability without standby delay
US5440523A (en) * 1993-08-19 1995-08-08 Multimedia Communications, Inc. Multiple-port shared memory interface and associated method
JPH07225727A (ja) * 1994-02-14 1995-08-22 Fujitsu Ltd 計算機システム
JPH08212132A (ja) * 1995-02-07 1996-08-20 Mitsubishi Electric Corp 記憶装置
US5793996A (en) * 1995-05-03 1998-08-11 Apple Computer, Inc. Bridge for interconnecting a computer system bus, an expansion bus and a video frame buffer
US5659518A (en) * 1995-05-22 1997-08-19 Micron Technology, Inc. Multi-port memory with multiple function access cycles and transfers with simultaneous random access
US5734847A (en) * 1995-06-15 1998-03-31 Intel Corporation Method and apparatus for enabling intelligent I/O subsystems using PCI I/O devices
US5875470A (en) * 1995-09-28 1999-02-23 International Business Machines Corporation Multi-port multiple-simultaneous-access DRAM chip
KR0150072B1 (ko) * 1995-11-30 1998-10-15 양승택 병렬처리 컴퓨터 시스템에서의 메모리 데이타 경로 제어장치
US5748921A (en) * 1995-12-11 1998-05-05 Advanced Micro Devices, Inc. Computer system including a plurality of multimedia devices each having a high-speed memory data channel for accessing system memory
US5799209A (en) * 1995-12-29 1998-08-25 Chatter; Mukesh Multi-port internally cached DRAM system utilizing independent serial interfaces and buffers arbitratively connected under a dynamic configuration
US5828623A (en) * 1996-02-23 1998-10-27 Integrated Device Technology, Inc. Parallel write logic for multi-port memory arrays

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005332145A (ja) * 2004-05-19 2005-12-02 Nec Electronics Corp データ転送制御回路及びデータ転送方法
JP2006120119A (ja) * 2004-10-20 2006-05-11 Seagate Technology Llc 二重制御装置を有する冗長データ記憶システムおよびその動作方法
JP2006252153A (ja) * 2005-03-10 2006-09-21 Canon Inc データ処理装置
JP2013078019A (ja) * 2011-09-30 2013-04-25 Lapis Semiconductor Co Ltd 通信装置、受信制御方法及び送信制御方法

Also Published As

Publication number Publication date
ATE392664T1 (de) 2008-05-15
US6067595A (en) 2000-05-23
EP1047994B1 (en) 2008-04-16
WO1999016200A2 (en) 1999-04-01
CN1154934C (zh) 2004-06-23
AU9665798A (en) 1999-04-12
CN1279785A (zh) 2001-01-10
DE69839374T2 (de) 2009-06-25
DE69839374D1 (de) 2008-05-29
EP1047994A2 (en) 2000-11-02
KR20010015608A (ko) 2001-02-26
WO1999016200A3 (en) 2000-07-27
EP1047994A4 (en) 2002-07-24

Similar Documents

Publication Publication Date Title
JP2001517844A (ja) マルチポートメモリを用いる知的データバスインタフェース
US6611883B1 (en) Method and apparatus for implementing PCI DMA speculative prefetching in a message passing queue oriented bus system
US5915104A (en) High bandwidth PCI to packet switched router bridge having minimized memory latency
US7496699B2 (en) DMA descriptor queue read and cache write pointer arrangement
JP4755390B2 (ja) メモリを介してデータ処理システムの間でデータのフローを制御する方法および装置
US6622193B1 (en) Method and apparatus for synchronizing interrupts in a message passing queue oriented bus system
US6490661B1 (en) Maintaining cache coherency during a memory read operation in a multiprocessing computer system
US6275905B1 (en) Messaging scheme to maintain cache coherency and conserve system memory bandwidth during a memory read operation in a multiprocessing computer system
US8850098B2 (en) Direct memory access (DMA) address translation between peer input/output (I/O) devices
JP4447892B2 (ja) マルチコア通信モジュールを組み入れたデータ通信システム及び方法
JP4755391B2 (ja) メモリを介してデータ処理システムの間でデータのフローを制御する方法および装置
US7240141B2 (en) Programmable inter-virtual channel and intra-virtual channel instructions issuing rules for an I/O bus of a system-on-a-chip processor
US6678801B1 (en) DSP with distributed RAM structure
US6189062B1 (en) Apparatus and method for address translation in bus bridge devices
US6163829A (en) DSP interrupt control for handling multiple interrupts
US6317803B1 (en) High-throughput interconnect having pipelined and non-pipelined bus transaction modes
JP4317365B2 (ja) 周辺デバイスからホスト・コンピュータ・システムに割込みを転送する方法および装置
JP2003508850A (ja) ローカルi/oバスに近接するブリッジでの入出力(i/o)アドレス変換
US7752281B2 (en) Bridges performing remote reads and writes as uncacheable coherent operations
US6266723B1 (en) Method and system for optimizing of peripheral component interconnect PCI bus transfers
US6425071B1 (en) Subsystem bridge of AMBA's ASB bus to peripheral component interconnect (PCI) bus
JP2000029826A (ja) 多重レベルキャッシングを有する3ポ―トfifoデ―タバッファ
US6799247B1 (en) Remote memory processor architecture
US5666556A (en) Method and apparatus for redirecting register access requests wherein the register set is separate from a central processing unit
US20020166004A1 (en) Method for implementing soft-DMA (software based direct memory access engine) for multiple processor systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050418

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070724

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080108