JPH09231161A - 直接メモリ・アクセス(dma)システム - Google Patents

直接メモリ・アクセス(dma)システム

Info

Publication number
JPH09231161A
JPH09231161A JP8307546A JP30754696A JPH09231161A JP H09231161 A JPH09231161 A JP H09231161A JP 8307546 A JP8307546 A JP 8307546A JP 30754696 A JP30754696 A JP 30754696A JP H09231161 A JPH09231161 A JP H09231161A
Authority
JP
Japan
Prior art keywords
entry
cache
list
mru
data
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
JP8307546A
Other languages
English (en)
Inventor
Denny E Gentry
デントン・イー・ジェントリー
Rasoul M Oskouy
ラソウル・エム・オスコウィ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH09231161A publication Critical patent/JPH09231161A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 オンチップ・キャッシュ・メモリを使用し
て、高速ネットワーク・インタフェースにおいて複数の
仮想チャネルをサポートするDMA装置の動作に関する
頻繁に使用されるチャネル状態情報への高速アクセス機
構を提供する。 【解決手段】 ホスト・プロセッサまたはDMA装置に
よって特定のチャネル状態へのアクセスを実行すると、
まずキャッシュがアクセスされ、この状態情報が現在、
キャッシュにない場合は、外部メモリが読み取られ、こ
の状態情報がキャッシュに書き込まれる。二重リンク・
リストを使用して、最後に使用されたチャネルが追跡さ
れる。キャッシュされているチャネル情報がアクセスさ
れると、対応するエントリはリストの1番上へ移動され
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マルチチャネル高
速ネットワーク中の複数のチャネルを介したデータの転
送をサポートするマルチチャネル直接メモリ・アクセス
(DMA)エンジンに関する。
【0002】
【従来の技術】ある種のアプリケーションでは複数のD
MA機構が必要である。1つの技法として、DMA転送
を実行する複数の装置をサポートする複数組のDMAハ
ードウェアを用意提供することがある。他の技法とし
て、複数の装置とメモリとの間のDMA転送をサポート
するように構成できる1組のDMAハードウェアを用意
することがある。しかし、DMAハードウェアの高速ア
クセスのために各装置の構成情報または状態情報を維持
しなければならない。速度を向上させるために、DMA
ハードウェアと同じ構成要素上に配置されたメモリにす
べての状態情報を維持することが望ましい。しかし、オ
ンチップ・メモリ上に維持する場合、多数の装置をサポ
ートする場合にはコストがかなりかさむ。
【0003】
【発明が解決しようとする課題】本発明は、サポートさ
れる各装置ごとの状態情報を記憶する大量のメモリを必
要とせずに多数の装置の仮想サポートを可能にする装置
と方法を提供することを目的とする。
【0004】
【課題を解決するための手段】本発明は、DMA機構に
よって、非同期転送モード(ATM)ネットワークなど
の高速ネットワーク上で受信されたデータをホスト・コ
ンピュータ・システム・メモリへ転送するための102
4個の通信チャネルをサポートすることができる。
【0005】一実施態様では、複数の高速チャネルを介
してネットワークから受信されたデータは、単一のDM
Aエンジンによって実行されるDMA転送を通じてホス
ト・コンピュータ・システム・メモリへ転送される。シ
ステムは、可能な各チャネルごとに状態情報を維持する
ように構成される。DMAエンジンは、特定のチャネル
用に用意された状態情報に従って転送を実行する。状態
情報の総量は大きく、オンチップ・メモリに収めるには
法外なコストがかかる。さらに、DMAエンジンによっ
てサポートされるすべてのチャネルが同時に活動状態に
なる可能性は極めて低い。したがって、チャネル状態情
報は外部メモリに維持される。
【0006】頻繁に使用されるチャネルに関する状態情
報に高速でアクセスためにオンチップ・キャッシュ・メ
モリが使用される。本発明の実施態様では、キャッシュ
は128個の接続に関する情報を維持する。したがっ
て、128個のチャネルに関する最大128個までのD
MA状態がキャッシュによって維持される。キャッシュ
・メモリは、小型であり、外部メモリよりも高速のアク
セスを与える。たとえば、ホスト・プロセッサまたはD
MAエンジンによってチャネル状態へのアクセスを実行
する際、まずキャッシュがアクセスされ、現在キャッシ
ュに状態情報がない場合は、外部メモリが読み取られ、
状態情報がキャッシュに書き込まれる。キャッシュはす
べてのチャネルに関する状態を記憶しているわけではな
いので、高速アルゴリズムを使用して、最後に使用され
た項目を識別するように項目が連続的に更新され、最近
アクセスされたチャネルを記憶する空間を与えるために
どのチャネル状態情報項目をキャッシュから削除すべき
かが判定される。本発明の目的、特徴、利点は、下記の
詳細な説明から明らかになろう。
【0007】
【発明の実施の形態】本発明は、ネットワークとの間で
データを転送できるように多数のチャネルを仮想的にサ
ポートするチャネル・キャッシュを提供する。本発明
は、ATMネットワークを介してデータを転送する非同
期転送モード(ATM)インタフェース・カードに関連
して説明される。しかし、本発明は、これに限らず、同
様な環境で使用することができる。
【0008】図1は、本発明のデータ転送調和方法およ
び装置を使用するATMネットワーク・インタフェース
回路を組み込んだ例示的なコンピュータ・システム・ネ
ットワークを示す。コンピュータ・システム・ネットワ
ーク10は、1つまたは複数のATMネットワーク・イ
ンタフェース回路(NIC)12を組み込んだホスト・
コンピュータ・システム(図示せず)を含む。NIC1
2は、ネットワーク10に結合されたホスト・コンピュ
ータ・システム間のデータの非同期転送をイネーブルす
るためにローカルATM交換機14を通じて公衆ATM
交換機16に結合される。別法として、NIC12は公
衆ATM交換機16に直接結合することもできる。図1
に示したように、コンピュータ・システム・ネットワー
ク10は、ATMネットワークをサポーティング・フレ
ームワークとして使用するイーサネット・ネットワーク
やトークン・リング・ネットワーク17など他のネット
ワークを接続するゲートウェイとして機能するローカル
・エリア・ネットワーク(「LAN」)エミュレーショ
ン15の使用を組み込んだコンピュータ・システムを含
むこともできる。
【0009】図2は、本発明の一実施形態によるデータ
転送調和方法および装置を使用するATM NIC12
のアーキテクチャを示す簡略化システム図である。AT
MNIC12は、ATMプロトコルに従って動作するネ
ットワークATMセル・インタフェース40にシステム
・バス38を通じて結合されたホスト・コンピュータ・
システム48とのインタフェースをとる。
【0010】図のATM NIC12は、システム・バ
ス・インタフェース20と、汎用入出力(「GIO」)
インタフェース24と、ATM層コア22と、ローカル
・スレッド・インタフェース26と、送信(TX)FI
FO28と、受信(RX)FIFO30と、セル・イン
タフェース・ブロック32と、外部バッファ・メモリ・
インタフェース34と、クロック合成回路36とを含
む。
【0011】NIC12の要素20ないし36は共働し
て、複数の帯域幅群として動的に割り振られた複数のチ
ャネルを通じてネットワーク中のホスト・コンピュータ
48と他のコンピュータとの間でデータを転送する。ネ
ットワーク・インタフェース回路12の要素は全体とし
て、ホスト・コンピュータ・システム48のシステム・
バス38に結合されたマルチチャネル・インテリジェン
ト直接メモリ・アクセス(DMA)制御装置として機能
する。一実施形態では、複数の送信チャネルおよび受信
チャネルが、全二重155/622Mbps(毎秒メガ
ビット)物理リンクを使用する仮想接続として実行され
る。外部バッファ・メモリ・インタフェース34を介し
て外部バッファ・メモリ42へ送られる、システム・バ
ス38の異なるチャネルに予約された複数のデータのパ
ケットが、セル・インタフェース・ブロック32を通じ
てATMセル・インタフェース40への送信ができるよ
うにシステム・ATM層コア22によって送信セルとし
てセグメント化される。コア22は、受信したセルのパ
ケットへの再アセンブリを容易にする再アセンブリ論理
機構も備える。
【0012】3つのメモリ・サブシステムがNIC12
の動作に関連付けられる。これには、ホスト・コンピュ
ータ・システム48に配置されたホスト・メモリ49
と、NIC12の外部の外部バッファ・メモリ42と、
コア22に配置された記憶ブロック44とが含まれる。
NIC12は、外部バッファ・メモリ42と記憶ブロッ
ク44の2つのメモリ領域を管理する。外部バッファ・
メモリ42は、NIC12によってサポートされるすべ
ての送信チャネルおよび受信チャネルに関するパケット
・データを含む。記憶ブロック44は、送信チャネルお
よび受信チャネルに関するDMA状態情報と、DMA転
送が実行されるホスト・メモリ49中のデータ構造を指
し示すポインタとを含む。記憶ブロック44は、ホスト
48とATMセル・インタフェース40との間で転送さ
れるパケット用の複数の送信バッファおよび受信バッフ
ァを管理する特殊データ構造も含む。
【0013】ホスト・コンピュータ・システム48は、
データ・パケットと、送受信中のパケットを指し示すポ
インタとを含むホスト・メモリ49を含む。前述のよう
に、NIC12は、ホスト・コンピュータ・システム上
で実行されるアプリケーションからは非同期転送のセル
記述詳細が分からないようにする。本発明では、ホスト
・コンピュータ・システム48上で実行されるソフトウ
ェアが、ラップ・アラウンド送受信リングを、当技術分
野で知られているパケット・インタフェースと共に使用
して、送受信データを管理すると仮定される。
【0014】TXバッファおよびRXバッファ、たとえ
ばTX FIFO28およびRXFIFO30は、コア
22とセル・インタフェース・ブロック32との間に結
合され、それぞれ、送信パケットおよび受信パケットの
送信セル・ペイロードおよび受信セル・ペイロードをス
テージングするために使用される。セル・インタフェー
ス・ブロック32は、クロック合成回路36から与えら
れるクロック信号によって駆動され、ネットワークのA
TMセル・インタフェース40との間でセルを送受信す
る。好ましくは、ATMセル・インタフェース40、し
たがってセル・インタフェース・ブロック32は、AT
Mフォーラム仕様に記載されたATM汎用試験・動作物
理インタフェース(「UTOPIA」)規格を満たす。
クロック合成回路36は、UTOPIA仕様を満たすた
めに、20MHzないし25MHzのクロック信号と4
0MHzないし50MHzのクロック信号のどちらかを
供給し、セル・インタフェース・ブロック32が、15
5Mbpsでは8ビット・ストリームを20MHzない
し25MHzでサポートし、622Mbpsデータ・ス
トリームでは16ビット・ストリームを40MHzない
し50MHzでサポートすることができるようにする。
【0015】それぞれ、4バイト・セル・ヘッダと48
バイト・ペイロードとを有する、52バイト・データ・
セルが、コア22の制御の下で、TXバッファ・メモリ
26のTX FIFO28から外部バッファ・メモリ・
インタフェース34を介してセル・インタフェース・ブ
ロック32へ4バイト群として転送される。セル・イン
タフェース・ブロック32は、TX FIFO28を通
じてデータ・セルを受信すると、53バイト・データを
155Mbpsと622MbpsのどちらかでATMセ
ル・インタフェース40に送る前に、ヘッダ・チェック
サムをセル・ヘッダの第5のバイトとして各セルに挿入
する。逆に、セル・インタフェース・ブロック32は、
ATMセル・インタフェース40からセルを受信する
と、各セル中の第5のバイト中のヘッダ・チェックサム
を調べ、チャックサムが正しいかどうかを判定する。正
しい場合は、チェックサムを表すバイトがセルから除去
され、52バイト・データ・セルが、155Mbpsと
622Mbpsのどちらかで一度に4バイトずつRX
FIFO30へ転送され、正しくない場合は、セル全体
がドロップされる。転送されたバイトはコア22の制御
の下で外部バッファ・メモリ・インタフェース34を介
してRXバッファ・メモリ45に記憶される。
【0016】一実施形態では、TX FIFO28およ
びRX FIFO30の幅は33ビットであり、このう
ちの32ビットは、データを送信するために使用され、
1ビットはタグとして使用される。タグ・ビットは、4
バイト・セル・ヘッダを48バイト・セル・ペイロード
と区別するために使用される。タグ・ビットは、コア2
2内に配置されたTX回路50によって生成される。一
実施形態では、タグ・ビットは、セル・ヘッダの始めを
示すときは1にセットされ、セル・ペイロードを示すと
きは0にセットされる。したがって、タグ・ビットは、
セルの最初の4バイト(ヘッダ)に関しては1であり、
セルの残りの48バイト(セル・ペイロード)に関して
は0である。
【0017】セル・インタフェース・ブロック32内に
配置されたTX回路54は、TXFIFO28からデー
タ・セルを受信すると、タグ・ビットを調べる。タグ・
ビットが1である場合、TX回路54は、対応する32
ビットをセルのヘッダとして復号する。タグ・ビットが
0である場合、TX回路54は、対応する32ビットを
データとして復号する。逆に、セル・インタフェース・
ブロック32がATMセル・インタフェース40からデ
ータ・セルを受信すると、セル・インタフェース・ブロ
ック32中のRX回路56が、4バイト・セル・ヘッダ
を48バイト・セル・ペイロードと区別するタグ・ビッ
トを生成する。セル・インタフェース・ブロック32は
次いで、データ・セルを各4バイトのいくつかの群とし
てRXFIFO30にディスパッチする。コア22中の
RX回路52は、RX FIFO30からセル・データ
を受信すると、前述のようにタグ・ビットの値に応じて
セル・データを復号する。
【0018】20MHz信号および40MHz信号の2
つの同期クロック信号が、クロック合成回路36を介し
てATMセル・インタフェース・クロックからセル・イ
ンタフェース・ブロック32に与えられる。40MHz
クロックは、UTOPIAの仕様に従って622Mbp
sの場合に16ビット・データ・ストリームを40MH
zで提供するために供給される。UTOPIAの仕様に
従って155Mbpsの場合に8ビット・データ・スト
リームを20MHzで与えるために、クロック合成回路
36で、40MHzクロック信号が2で除される。40
MHzクロック信号は、1.2Gbps伝送速度をもた
らすために外部バッファ・メモリ・インタフェース34
にも与えられる。また、GIO24は40MHzクロッ
ク信号を使用してデータを送受信する。
【0019】40MHzクロック信号のあらゆるサイク
ルで、TXバッファ・メモリ46は、TX FIFO2
8に32ビット・データを与え、RXバッファ・メモリ
45は、RX FIFO30から32ビット・データを
読み取る。しかし、ATMセル・インタフェース40
は、622Mbpsで動作する際には2クロック・サイ
クルごとに4バイトのデータをTX FIFO28から
読み取り、155Mbpsで動作する際には8クロック
・サイクルごとに4バイトのデータをTX FIFO2
8から読み取る。同様に、セル・インタフェース・ブロ
ックは、622Mbpsで動作する際には2クロック・
サイクルごとに4バイトのデータをTXFIFO28に
与え、155Mbpsで動作する際には8クロック・サ
イクルごとに4バイトのデータをTX FIFO28に
提与える。コア22のセル・バースト転送速度は、セル
・インタフェース・ブロック32のセル・バースト転送
速度とは異なるが、TX FIFO28とセル・インタ
フェース・ブロック32との間のデータ転送速度は、平
均では、TX FIFO28とコア22との間のデータ
転送速度と同じである。同様に、RX FIFO30と
セル・インタフェース・ブロック32との間のデータ転
送速度は、平均では、RX FIFO28とコア22と
の間のデータ転送速度と同じである。これは、TX F
IFO28およびRX FIFO30とコア22との間
のデータ転送速度がそれぞれ、セル・インタフェース・
ブロック32によってデータが読み取られあるいは書き
込まれる速度に依存するからである。一実施形態では、
TX FIFO28の深さは、18ワード長または1
1/2セル長であり、RX FIFO30の深さは70
ワード長である。
【0020】システム・バス・インタフェース20およ
びGIOインタフェース24は、ホスト・コンピュータ
・システム48にはATMセル・インタフェース40へ
の転送の詳細が分からないようにする。さらに、コア2
2にはシステム・バス38の詳細およびホストの詳細は
分からない。本発明の実施形態では、アメリカ電子・電
気学界(「IEEE」)規格1496仕様に指定された
ように、システム・バスはSバスである。システム・バ
ス・インタフェース20は、システム・バス、本発明の
例ではSバスの仕様に従って通信するように構成され
る。システム・バス・インタフェース20をそれぞれの
異なるホスト・コンピュータ・システム・バスに整合す
るように構成できることが企図される。システム・バス
・インタフェース20は、GIOインタフェース24に
よって指定されたプロトコルに従ってデータを送受信す
るようにも構成される。GIOインタフェース24は、
コア22がホスト・コンピュータと通信するための特有
のインタフェースを形成する。したがって、コア22
は、それぞれの異なるホスト・コンピュータ・システム
およびバスとのインタフェースをとるNIC12のそれ
ぞれの異なる実施形態ごとに異なる必要はない。
【0021】図3は、それぞれ、ネットワークとの間で
データを送受信するように機能し、送信ブロック(T
X)310および受信(RX)ブロック315を示すシ
ステム・ATM層コア22の一部の簡略化ブロック図で
ある。本発明を受信ブロック315に関して説明する。
しかし、本発明を送信ブロック310にも適用できるこ
とが企図される。
【0022】受信ブロック315は、RXアンロード・
ブロック320とRXロード・ブロック325とを含
む。ネットワークから受信されたデータを含むセルは、
セル・ヘッダが除去され、RXロード・ブロック325
にロードされ、RXアンロード・ブロック320へ転送
され、それに続いてホスト・プロセッサへ転送される。
受信ブロック315は、最大1024個の仮想チャネル
をサポートすることができる。チャネルとは、ホスト・
プロセッサと、ATMネットワークに結合された第2の
ホスト・システムとの間の識別された接続である。10
24個のチャネルをサポートするのに必要なハードウェ
アの量を最小限に抑えるために、仮想チャネル・サポー
トが行われる。これはホスト・プロセッサに対して透過
的である。受信されたデータをホスト・メモリへ転送す
るために使用されるDMAハードウェアは、メモリに記
憶されている状態情報に従って機能する。状態情報によ
って、受信ブロックは特定のチャネルに対する転送を実
行することができる。状態情報には、チャネルの物理的
位置/コード、データ転送速度、受信されたデータを転
送すべきメモリ位置、エラー情報、システム仕様および
ネットワーク仕様に従って転送を実行するのに必要なそ
の他の情報を示す状況ビットを含めることができる。
【0023】ホスト・プロセッサに対して、装置は、ホ
ストによって個別にアドレスすることができる1024
個のチャネルを含む。前述のように、RXロード・ハー
ドウェア、すなわち1024個の使用可能なチャネルに
対応する1024個の状態の1つで動作する1組のハー
ドウェアが使用される。好ましくは、状態は外部メモリ
に記憶される。キャッシュを使用して、それぞれの異な
るチャネル状態のサブセットが記憶され、たとえば、キ
ャッシュは128個の状態を記憶するのに十分な大きさ
のものである。キャッシュは、高速ATMネットワーク
を介して受信されたデータを迅速に処理するのに十分な
速度で動作する。
【0024】エラーの可能性を最小限に抑えるために、
より低速のホスト・プロセッサから送信されたコマンド
は、アドレス・バスとデータ・バスを共に使用して、特
定の仮想チャネルに対する動作を実行するのに必要な情
報を転送することによってアトミックに転送される。本
発明の実施形態では、ホスト・プロセッサは、チャネル
に対応する1組のアドレスを知っている。アドレスは、
実行すべきコマンドと、コマンドを実行すべきチャネル
を指定するものである。したがって、仮想チャネル・コ
マンドおよびチャネルのアドレスは、アドレス・バスを
介して転送され、このコマンドを実行するのに必要なデ
ータ/情報からなるコマンド・データはデータ・バスを
介して転送される。データ・バスを介して転送される例
示的なデータは、図4aに示されており、アドレス・バ
スを介して転送されるデータは図4bに示されている。
【0025】図4bを参照すると分かるように、ホスト
によって使用されるチャネル・アドレスは、装置が配置
されたカードのスロット・バス・アドレスと、情報がV
CIレジスタ(通常、装置は、ホスト・プロセッサから
アクセスできる他の多数のレジスタを含むことができ
る)へ送られることを示すアドレスと、VCIコマンド
のタイプと、チャネルのID(VCI ID)とからな
る。この情報は、ホストへ転送される。好ましい実施形
態では、ホストは、VCIコマンドの各タイプごとにア
ドレスのアレイを記憶する。したがって、ホスト・プロ
セッサは、実行すべき特定のコマンドのために使用でき
るアドレスのアレイから特定のチャネル・アドレスを選
択するに過ぎない。
【0026】図3で表された実施形態を再び参照すると
分かるように、データ・バス340およびアドレス・バ
ス345を介して転送された情報は、カードの受信回路
355によって受信される。後述のように、様々な段階
での論理機構は、所定のビットを復号し、VCIコマン
ドのタイプ、VCI ID、コマンド・データがその後
の実行のためにVCIレジスタに記憶されるようにデー
タをルーチングする。好ましくは、受信回路355中の
論理機構は、アドレス・バスを介して受信されたビット
から得たスロットIDを解析する。カード(図示せず)
上の論理機構は次いで、アドレス・バスを介して受信さ
れたデータの27ビットないし20ビットから、情報を
転送すべきカード上のチップを判定する。残りのビット
と、データ・バスを介して受信された32ビットは、識
別されたチップ、本発明の例ではチップ305へ転送さ
れる。
【0027】構成要素305上の論理機構は好ましく
は、アドレス・バス345から受信されたビットをビッ
トごとに解析し、データを受信ブロック315へ転送す
べきか、それとも送信ブロック310へ転送すべきかを
判定する。受信ブロック315は、データおよび残りの
アドレス情報がRXロード・ブロック325へ転送され
ることを判定する論理機構を含む。受信回路中の論理機
構が、情報をVCIレジスタへ転送すべきであることを
VCIレジスタ・アドレスから判定した場合、残りのア
ドレス・ビットおよびデータ・ビットは、VCIレジス
タ360を含むVCIコマンド論理機構335へ転送さ
れる。VCI ID、コマンド・タイプ、コマンド・デ
ータはVCIレジスタ360に記憶される。これを図4
cに示す。図4cに示したVCIレジスタ360は3つ
のレジスタとして表されているが、レジスタを1つまた
は複数のレジスタとして実施できることは容易に明らか
になろう。VCIコマンド論理機構は、VCIコマンド
のタイプを処理し、1つの仮想チャネルに対して動作を
実行すべきであると判定し、RXブロックが、まず対応
する状態情報をキャッシュ330(図3)から検索する
ことによって、識別された仮想接続に対してコマンドを
実行する。
【0028】VCI IDは、特定のチャネルに関する
情報が現在キャッシュ330(図3)内にあるかどうか
を判定するためにテーブルを参照するのに使用される。
図6を参照すると分かるように、VCIマップ606
は、VCIが現在キャッシュされているかどうかを項目
615で識別し、キャッシュされている場合は、キャッ
シュの位置を項目610で識別する。
【0029】好ましくは、MRU二重リンク・リスト6
30を使用して、キャッシュに対するポインタが維持さ
れ、最初に削除すべきキャッシュ・エントリ(すなわ
ち、最初にアクセスされたチャネル)が判定される。M
RUリスト中の各エントリは好ましくは、使用済みフィ
ールド640と、VCI IDフィールド645と、前
ポインタ650と、次ポインタ655とを含む。前ポイ
ンタ650は、最後から2番目に使用された項目を指し
示し、次ポインタ655は、1つ前に使用された項目を
指す。キャッシュ670は、対応するチャネルに関する
データを処理するために受信ブロックによって必要とさ
れる情報をキャッシュする。キャッシュ670からチャ
ネル情報が削除されると、その情報は、すべての102
4個のチャネルに関するチャネル情報を記憶するより低
速なメモリ680に記憶される。
【0030】MRUリストは、本明細書ではMRU_f
irstおよびMRU_lastと呼ばれる2つのポイ
ンタも含む。MRU_firstポインタは、最後に使
用されたエントリを指し示し、MRU_lastポイン
タは、最初に使用されたエントリを指し示す。新しいチ
ャネル状態をキャッシュに格納する必要があるとき、M
RU_lastによって識別される現時点で1番最初に
使用されたエントリとその状態が置き換わる。好ましく
は、MRU_lastは、すべてのキャッシュ動作中に
更新される。
【0031】キャッシュ・メモリは極めて高速であり、
ATMプロトコルによって指定される高速に適応する。
したがって、キャッシュ670中のエントリの状態は頻
繁に、迅速に変化する。システムがデータを転送するう
えで複数のバス・サイクルを必要とし、VCIコマンド
・ブロックが、第1のバス・サイクル中に情報の第1の
部分を受信した時点で実行を開始し、VCIマップ60
5およびMRUリストを参照してチャネル情報がキャッ
シュされているかどうかを判定し、キャッシュされてい
る場合にキャッシュ670中の情報の位置を判定し、残
りの情報が転送されるまでに、このチャネル情報がキャ
ッシュから失われる場合は、このコマンドを実行するこ
とによってエラーが発生する。すべての必要な情報をア
トミックに受信することによって、そのような問題は回
避される。
【0032】特定の仮想チャネルに対してコマンドを実
行させるチャネル情報を転送するために実行されるプロ
セスを図5のフローチャートによって示す。ステップ5
05で、ホスト・プロセッサは、ネットワーク・インタ
フェース・カードへ転送すべきアドレスおよびデータを
用意する。一度にサポートされる装置は128個に過ぎ
ないが、ホスト・プロセッサには、完全な1組の102
4個の装置が使用できるように見える。前述のように、
ステップ510でデータがコアにおいて受信された後ま
ず、ネットワーク・インタフェース・カードのスロット
・アドレスが削除される。VCIコマンドおよびコマン
ドのタイプを識別する情報は、データ・ストリームを受
信ブロックのVCI回路(図3の335)へ送るために
論理機構によって使用されるので、次いでステップ51
5で処理されデータ・ストリームから削除される。ステ
ップ520で、VCI IDおよび実行すべきコマンド
が、VCI回路中のレジスタに配置される。VCI回路
は次いでステップ525で、特定のチャネルに対してこ
のコマンドを処理することができる。
【0033】ランダム置換アルゴリズムの効率を高める
ために、キャッシュの更新は、他のエントリをキャッシ
ュに入れる必要があるときにどのキャッシュ・エントリ
を削除すべきかに関する情報を提供するMRUリストに
よって制御される。MRUリストは、エントリがアクセ
スまたは削除されるときにリストを更新するために必要
なクロック・サイクルの数を低減させるために新規の方
法で更新される。図6に示したように、MRUリスト
は、一連の前ポインタ650および次ポインタ655を
通じて二重リンクされている。キャッシュの更新および
サポーティング構造は好ましくは状態マシンによって制
御される。
【0034】この構造によって達成される速度機能増強
は、アクセスされたばかりのキャッシュされたVCIが
共通に発生することで自明である。このことを図8a、
8b、8c、8d、8eの図および図7aおよび7bの
フローチャートを使用して説明する。キャッシュ機構を
セル受信プロセスおよび構造に関して説明するが、この
説明が送信プロセスおよび構造にも当てはまることは容
易に明らかになろう。
【0035】図7aおよび7bを参照すると分かるよう
に、ステップ705で、セルを処理すべきである場合
は、セル・ヘッダが復号され、VCIマップを参照する
ことによってチャネルが識別される。ステップ710
で、DMA状態情報IDがキャッシュされているかどう
かが、VCIマップから判定される。ステップ712
で、チャネル情報がキャッシュされていない場合、ステ
ップ715で、チャネル情報がメモリから読み取られ、
キャッシュに配置され、ステップ740で、セルに関す
る動作が実行される。チャネル情報がすでにキャッシュ
されており、まだリストの1番上に配置されてはいない
場合は、最初にステップ740で、セルに対して動作が
実行される。
【0036】セルに対して動作が実行された後、MRU
リストが迅速に更新され、アクセスされたエントリが最
小のクロック・サイクル数でリストの1番上へ移動され
る。ステップ745で、アクセスされたチャネルに対応
するMRUリスト中のエントリがDMA状態を通じて識
別される。好ましくは、ステップ747で、このエント
リが、MRU_firstで識別されたMRUリスト中
の第1のエントリであるかどうかを判定する試験が実行
される。これが第1のエントリである場合、MRUリス
トを更新する必要はなく、更新プロセスは完了する。こ
のエントリが第1の項目でない場合は、ステップ750
で更新プロセスが継続する。ステップ750で、リスト
の現在の1番上のエントリの前ポインタが、アクセスさ
れたエントリを指し示すように更新される。
【0037】ステップ753で、このエントリが、それ
が最初に使用されたエントリであることを示すMRU_
lastポインタによって指し示されているかどうかを
判定する試験が実行される。このエントリが最初に使用
されたエントリでない場合、ステップ755で、アクセ
スされたエントリの次ポインタによって指し示されたエ
ントリの前ポインタが、アクセスされたエントリの前ポ
インタによって指し示されたエントリを指し示すように
更新される。
【0038】このエントリが、最初に使用されたエント
リである場合、プロセスはステップ760に進み、アク
セスされたエントリの前ポインタによって指し示された
エントリの次ポインタが、アクセスされたエントリの次
ポインタによって指し示されたエントリを指し示すよう
に更新される。次に、MRUリストの1番上にあるエン
トリを指し示すMRUポインタ(MRU_first)
が、アクセスされたエントリを指し示すように更新され
る。ステップ765で、アクセスされたエントリの次の
ポインタもリストの現在の所1番上のエントリを指し示
すように更新され、アクセスされたエントリの前ポイン
タは何も指し示さないように更新される。これらのステ
ップが実行された後、アクセスされたエントリはMRU
リストの1番上のエントリとして機能する(770)。
【0039】したがって、顕著な時間節約が達成され
る。従来の技術では、アクセスされたエントリ、次のエ
ントリ、前のエントリがどこにあるかを判定するだけで
かなりのクロック・サイクル数が必要になる可能性があ
る。本明細書で説明したプロセスおよび構造を使用すれ
ば、MRUリストは6クロック・サイクル後に更新され
る。これを図8aないし8eに関して示す。図8aない
し8eを参照すると分かるように、最初の3クロック・
サイクルは、VCIマップを参照し、MRUリスト中の
アクセスされたエントリを識別し、1番上のエントリの
ポインタをアクセスされたエントリを指し示すように更
新するために使用される(図8a、8b)。第3のクロ
ック・サイクル中に、アクセスされたエントリの前のエ
ントリの次ポインタが更新され(図8c)、第4のクロ
ック・サイクル中に、アクセスされたエントリの次のエ
ントリの前ポインタが更新される(図8d)。前述のポ
インタが更新された後、同じクロック・サイクル中に最
後の3つのポインタを更新することができる。具体的に
は、図8eに示したように、MRU_firstポイン
タが、アクセスされたエントリを指し示すように更新さ
れ、アクセスされたエントリの前のエントリおよび次の
エントリが更新される。
【0040】DMA状態が、リスト中の最初に使用され
たエントリに対応する例では、MRUリストは、図9a
ないし9eに記載したステップに従って更新される。図
9aないし9eを参照すると分かるように、更新すべき
アクセスされたエントリの次のエントリがないので第4
のクロック・サイクル中にMRU−lastポインタが
更新されることを除いて、実行されるステップは、図8
aないし8eで説明したサイクルとまったく同様なサイ
クルである。
【0041】本発明を好ましい実施形態に関連して説明
した。当業者には前記の説明に照らして多数の変更、修
正、変形、使用が明らかであることは自明である。
【図面の簡単な説明】
【図1】 情報転送の非同期転送モード・プロトコルを
実施する例示的なコンピュータ・ネットワークである。
【図2】 ホスト・コンピュータ・システムに接続され
たネットワーク・インタフェース装置の簡略化ブロック
図である。
【図3】 本発明の教示によって動作する受信ブロック
を示すシステム・コアの簡略化ブロック図である。
【図4】 データ・バス及びアドレス・バスを介して転
送される情報を示す図(a,b)と本発明の教示によっ
てコマンドを実行するために使用されるデータを記憶す
るために使用されるレジスタを示す図(c)である。
【図5】 1バス伝送中のコマンドおよびデータの装置
への伝送をイネーブルする実行ステップを概略的に示す
フローチャートである。
【図6】 受信キャッシュの簡略化ブロック図である。
【図7】 キャッシュを更新するプロセスを示すフロー
チャートである。
【図8】 受信キャッシュを更新するプロセスを示す図
である。
【図9】 項目が最初に使用された項目であるときに受
信キャッシュを更新するプロセスを示す図である。
【符号の説明】
20 システム・バス・インタフェース 22 ATM層コア 24 汎用入出力インタフェース 26 ローカル・スレーブ・インタフェース 28 送信FIFO 30 受信FIFO 32 セル・インタフェース・ブロック 34 外部バッファ・メモリ・インタフェース 36 クロック合成回路 38 システム・バス 40 ネットワークATMセル・インタフェース 42 外部バッファ・メモリ 44 記憶ブロック 45 RXバッファ・メモリ 48 ホスト・コンピュータ・システム 49 ホスト・メモリ 54 TX回路 56 RX回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ラソウル・エム・オスコウィ アメリカ合衆国 94539 カリフォルニア 州・フレモント・アンプクア コート・ 968

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 データをネットワークからホスト・メモ
    リへ転送する直接メモリ・アクセス(DMA)システム
    において、 ネットワーク上のチャネルからデータを受信する受信器
    と、 ホスト・メモリで受信されたデータを転送するために使
    用される、複数のチャネルに関する複数のチャネル情報
    を記憶する外部メモリと、 最後に使用されたチャネル情報のキャッシュ・エントリ
    を含むキャッシュと、 MRUキャッシュ中のキャッシュ・エントリに対応する
    リスト・エントリを複数備えるMRUリストとを備え、 そのMRUリスト中の各リスト・エントリは、 キャッシュ中の対応するキャッシュ・エントリを指し示
    すキャッシュ・ポインタと、 リスト・エントリに対応するキャッシュ・エントリの前
    にアクセスされたキャッシュ・エントリに対応する前の
    リスト・エントリを指し示す前ポインタと、 対応するキャッシュ・エントリの次にアクセスされたキ
    ャッシュ・エントリに対応するリスト・エントリを指し
    示す次ポインタとを有し、 さらに、受信されたデータを対応するチャネル情報に従
    ってホスト・メモリへ転送するDMA制御装置を備え、
    そのDMA制御装置は、対応するチャネルに関する対応
    するチャネル情報を検索するためにキャッシュにアクセ
    スし、対応するチャネル情報がキャッシュに記憶されて
    いない場合は、外部メモリにアクセスし、対応するチャ
    ネル情報を検索して対応するチャネル情報をキャッシュ
    に記憶し、さらに、対応するチャネル情報を含む現キャ
    ッシュ・エントリを最後に使用されたものとして識別す
    るようにMRUリストを更新することを特徴とするDM
    Aシステム。
  2. 【請求項2】 複数のキャッシュ・エントリを有するキ
    ャッシュを備えるキャッシュ・メモリ・システムで、最
    後に使用された(MRU)キャッシュ・エントリのID
    を迅速に更新する方法において、 キャッシュ・エントリに対応する複数のリスト・エント
    リを備えるMRUリストを生成するステップを含み、各
    エントリが、 キャッシュ中の対応するキャッシュ・エントリを指し示
    すキャッシュ・ポインタと、 リスト・エントリに対応するキャッシュ・エントリの前
    にアクセスされたキャッシュ・エントリに対応する前の
    リスト・エントリを指し示す前ポインタと、 対応するキャッシュ・エントリの次にアクセスされたキ
    ャッシュ・エントリに対応するリスト・エントリを指し
    示す次ポインタとを備え、 さらに、現キャッシュ・エントリのデータがアクセスさ
    れた場合に、対応する現リスト・エントリが現キャッシ
    ュ・エントリを最後に使用されたものとして識別するよ
    うにMRUリストを更新するステップを含むことを特徴
    とする方法。
  3. 【請求項3】 キャッシュ・メモリ中の最後に使用され
    た(MRU)エントリのIDを更新する装置であって、 キャッシュ・メモリ中のエントリに対応する複数のリス
    ト・エントリを備えるMRUリストを備え、各エントリ
    が、 キャッシュ中の対応するキャッシュ・エントリを指し示
    すキャッシュ・ポインタと、 リスト・エントリに対応するキャッシュ・エントリの前
    にアクセスされたキャッシュ・エントリに対応する前の
    リスト・エントリを指し示す前ポインタと、 対応するキャッシュ・エントリの次にアクセスされたキ
    ャッシュ・エントリに対応するリスト・エントリを指し
    示す次ポインタとを有し、 さらに、アクセスされた現キャッシュ・エントリがMR
    Uキャッシュ・エントリとして識別するようにMRUリ
    ストを迅速に更新する制御装置を備えることを特徴とす
    る装置。
JP8307546A 1995-11-03 1996-11-05 直接メモリ・アクセス(dma)システム Pending JPH09231161A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/553041 1995-11-03
US08/553,041 US5875352A (en) 1995-11-03 1995-11-03 Method and apparatus for multiple channel direct memory access control

Publications (1)

Publication Number Publication Date
JPH09231161A true JPH09231161A (ja) 1997-09-05

Family

ID=24207871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8307546A Pending JPH09231161A (ja) 1995-11-03 1996-11-05 直接メモリ・アクセス(dma)システム

Country Status (3)

Country Link
US (1) US5875352A (ja)
EP (1) EP0772131A3 (ja)
JP (1) JPH09231161A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002530778A (ja) * 1998-11-24 2002-09-17 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 複数の仮想ダイレクトメモリアクセスチャネルをサポートするためのダイレクトメモリアクセスエンジン
JP2007080037A (ja) * 2005-09-15 2007-03-29 Fujitsu Ltd Dma転送システム
JP2007249816A (ja) * 2006-03-17 2007-09-27 Ricoh Co Ltd データ通信回路および調停方法

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6034945A (en) 1996-05-15 2000-03-07 Cisco Technology, Inc. Method and apparatus for per traffic flow buffer management
US6128278A (en) * 1996-08-30 2000-10-03 Mmc Networks, Inc. Cell queuing in ATM switches
JP3133004B2 (ja) * 1996-11-21 2001-02-05 株式会社日立製作所 ディスクアレイ装置およびその制御方法
US6718375B1 (en) * 1997-01-31 2004-04-06 Hewlett-Packard Development Company, L.P. Using local storage to handle multiple outstanding requests in a SCI system
US6381657B2 (en) * 1997-01-31 2002-04-30 Hewlett-Packard Company Sharing list for multi-node DMA write operations
US6658537B2 (en) * 1997-06-09 2003-12-02 3Com Corporation DMA driven processor cache
US6430191B1 (en) 1997-06-30 2002-08-06 Cisco Technology, Inc. Multi-stage queuing discipline
US6201813B1 (en) 1997-06-30 2001-03-13 Cisco Technology, Inc. Method and apparatus for using ATM queues for segmentation and reassembly of data frames
US6487202B1 (en) * 1997-06-30 2002-11-26 Cisco Technology, Inc. Method and apparatus for maximizing memory throughput
US6021446A (en) * 1997-07-11 2000-02-01 Sun Microsystems, Inc. Network device driver performing initial packet processing within high priority hardware interrupt service routine and then finishing processing within low priority software interrupt service routine
US6526060B1 (en) 1997-12-05 2003-02-25 Cisco Technology, Inc. Dynamic rate-based, weighted fair scheduler with explicit rate feedback option
US6307860B1 (en) 1998-04-03 2001-10-23 Mmc Networks, Inc. Systems and methods for data transformation and transfer in networks
GB2347765A (en) * 1999-03-11 2000-09-13 Ibm Cache memory addressing system
US6775292B1 (en) 2000-01-24 2004-08-10 Cisco Technology, Inc. Method for servicing of multiple queues carrying voice over virtual circuits based on history
US7142558B1 (en) 2000-04-17 2006-11-28 Cisco Technology, Inc. Dynamic queuing control for variable throughput communication channels
US6601137B1 (en) * 2000-04-19 2003-07-29 Western Digital Technologies, Inc. Range-based cache control system and method
US6553457B1 (en) * 2000-04-19 2003-04-22 Western Digital Technologies, Inc. Tag memory disk cache architecture
US6606682B1 (en) * 2000-04-19 2003-08-12 Western Digital Technologies, Inc. Cluster-based cache memory allocation
US6725329B1 (en) * 2000-04-19 2004-04-20 Western Digital Technologies, Inc. Cache control system and method having hardware-based tag record allocation
US6791555B1 (en) * 2000-06-23 2004-09-14 Micron Technology, Inc. Apparatus and method for distributed memory control in a graphics processing system
US6687699B1 (en) * 2000-09-15 2004-02-03 Hewlett-Packard Development Company, L.P. System and method for tracking computer data
EP1215585B1 (en) * 2000-12-15 2010-05-19 International Business Machines Corporation Virtualization of i/o adapter resources
DE60142152D1 (de) 2000-12-15 2010-07-01 Ibm Virtualisierung von E/A-Adapterressourcen
US7370352B2 (en) 2001-09-06 2008-05-06 Intel Corporation Techniques for storing and retrieving security information corresponding to cryptographic operations to support cryptographic processing for multiple network traffic streams
US7133914B1 (en) * 2001-10-31 2006-11-07 Cisco Technology, Inc. Statistics-preserving ACL flattening system and method
US20030101312A1 (en) * 2001-11-26 2003-05-29 Doan Trung T. Machine state storage apparatus and method
EP1341092A1 (en) * 2002-03-01 2003-09-03 Motorola, Inc. Method and arrangement for virtual direct memory access
US7133972B2 (en) * 2002-06-07 2006-11-07 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
US7200024B2 (en) * 2002-08-02 2007-04-03 Micron Technology, Inc. System and method for optically interconnecting memory devices
US7117316B2 (en) * 2002-08-05 2006-10-03 Micron Technology, Inc. Memory hub and access method having internal row caching
US7254331B2 (en) * 2002-08-09 2007-08-07 Micron Technology, Inc. System and method for multiple bit optical data transmission in memory systems
US6754117B2 (en) 2002-08-16 2004-06-22 Micron Technology, Inc. System and method for self-testing and repair of memory modules
US7149874B2 (en) 2002-08-16 2006-12-12 Micron Technology, Inc. Memory hub bypass circuit and method
US7836252B2 (en) 2002-08-29 2010-11-16 Micron Technology, Inc. System and method for optimizing interconnections of memory devices in a multichip module
US6820181B2 (en) * 2002-08-29 2004-11-16 Micron Technology, Inc. Method and system for controlling memory accesses to memory modules having a memory hub architecture
US7102907B2 (en) * 2002-09-09 2006-09-05 Micron Technology, Inc. Wavelength division multiplexed memory module, memory system and method
US7809252B2 (en) * 2003-04-09 2010-10-05 Corel Inc. Systems and methods for caching multimedia data
US7245145B2 (en) * 2003-06-11 2007-07-17 Micron Technology, Inc. Memory module and method having improved signal routing topology
US7120727B2 (en) * 2003-06-19 2006-10-10 Micron Technology, Inc. Reconfigurable memory module and method
US7428644B2 (en) * 2003-06-20 2008-09-23 Micron Technology, Inc. System and method for selective memory module power management
US7107415B2 (en) * 2003-06-20 2006-09-12 Micron Technology, Inc. Posted write buffers and methods of posting write requests in memory modules
US7260685B2 (en) * 2003-06-20 2007-08-21 Micron Technology, Inc. Memory hub and access method having internal prefetch buffers
US7389364B2 (en) * 2003-07-22 2008-06-17 Micron Technology, Inc. Apparatus and method for direct memory access in a hub-based memory system
US7210059B2 (en) * 2003-08-19 2007-04-24 Micron Technology, Inc. System and method for on-board diagnostics of memory modules
US7133991B2 (en) 2003-08-20 2006-11-07 Micron Technology, Inc. Method and system for capturing and bypassing memory transactions in a hub-based memory system
US7136958B2 (en) * 2003-08-28 2006-11-14 Micron Technology, Inc. Multiple processor system and method including multiple memory hub modules
US20050050237A1 (en) * 2003-08-28 2005-03-03 Jeddeloh Joseph M. Memory module and method having on-board data search capabilities and processor-based system using such memory modules
US7310752B2 (en) 2003-09-12 2007-12-18 Micron Technology, Inc. System and method for on-board timing margin testing of memory modules
US7194593B2 (en) * 2003-09-18 2007-03-20 Micron Technology, Inc. Memory hub with integrated non-volatile memory
US7120743B2 (en) * 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US7234070B2 (en) * 2003-10-27 2007-06-19 Micron Technology, Inc. System and method for using a learning sequence to establish communications on a high-speed nonsynchronous interface in the absence of clock forwarding
US7216196B2 (en) * 2003-12-29 2007-05-08 Micron Technology, Inc. Memory hub and method for memory system performance monitoring
US7330992B2 (en) * 2003-12-29 2008-02-12 Micron Technology, Inc. System and method for read synchronization of memory modules
US7188219B2 (en) 2004-01-30 2007-03-06 Micron Technology, Inc. Buffer control system and method for a memory system having outstanding read and write request buffers
US7788451B2 (en) * 2004-02-05 2010-08-31 Micron Technology, Inc. Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system
US7412574B2 (en) * 2004-02-05 2008-08-12 Micron Technology, Inc. System and method for arbitration of memory responses in a hub-based memory system
US7181584B2 (en) * 2004-02-05 2007-02-20 Micron Technology, Inc. Dynamic command and/or address mirroring system and method for memory modules
US7366864B2 (en) 2004-03-08 2008-04-29 Micron Technology, Inc. Memory hub architecture having programmable lane widths
US7257683B2 (en) * 2004-03-24 2007-08-14 Micron Technology, Inc. Memory arbitration system and method having an arbitration packet protocol
US7120723B2 (en) * 2004-03-25 2006-10-10 Micron Technology, Inc. System and method for memory hub-based expansion bus
US7213082B2 (en) * 2004-03-29 2007-05-01 Micron Technology, Inc. Memory hub and method for providing memory sequencing hints
US7447240B2 (en) * 2004-03-29 2008-11-04 Micron Technology, Inc. Method and system for synchronizing communications links in a hub-based memory system
US6980042B2 (en) * 2004-04-05 2005-12-27 Micron Technology, Inc. Delay line synchronizer apparatus and method
US7590797B2 (en) * 2004-04-08 2009-09-15 Micron Technology, Inc. System and method for optimizing interconnections of components in a multichip memory module
US7162567B2 (en) * 2004-05-14 2007-01-09 Micron Technology, Inc. Memory hub and method for memory sequencing
US7222213B2 (en) * 2004-05-17 2007-05-22 Micron Technology, Inc. System and method for communicating the synchronization status of memory modules during initialization of the memory modules
US7363419B2 (en) 2004-05-28 2008-04-22 Micron Technology, Inc. Method and system for terminating write commands in a hub-based memory system
US7519788B2 (en) * 2004-06-04 2009-04-14 Micron Technology, Inc. System and method for an asynchronous data buffer having buffer write and read pointers
US7310748B2 (en) 2004-06-04 2007-12-18 Micron Technology, Inc. Memory hub tester interface and method for use thereof
US7392331B2 (en) * 2004-08-31 2008-06-24 Micron Technology, Inc. System and method for transmitting data packets in a computer system having a memory hub architecture
US20060168407A1 (en) * 2005-01-26 2006-07-27 Micron Technology, Inc. Memory hub system and method having large virtual page size
US7631115B2 (en) * 2005-02-04 2009-12-08 Intel Corporation Techniques to manage data transfer utilizing buffer hints included in memory access requests
US8417842B2 (en) * 2008-05-16 2013-04-09 Freescale Semiconductor Inc. Virtual direct memory access (DMA) channel technique with multiple engines for DMA controller
CN102486753B (zh) 2009-11-30 2015-09-16 国际商业机器公司 构建及允许访问高速缓存的方法、设备及存储系统
CN103020004B (zh) * 2012-12-14 2015-09-09 杭州华为数字技术有限公司 高速缓存非对称一致性内存访问系统的访问方法和装置
DE102014207417A1 (de) * 2014-04-17 2015-10-22 Robert Bosch Gmbh Schnittstelleneinheit
US10241946B2 (en) * 2017-01-18 2019-03-26 Nxp Usa, Inc. Multi-channel DMA system with command queue structure supporting three DMA modes

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1234038A (ja) * 1968-01-30 1971-06-03
US4126893A (en) * 1977-02-17 1978-11-21 Xerox Corporation Interrupt request controller for data processing system
DE2816838C2 (de) * 1978-04-18 1982-06-09 Siemens AG, 1000 Berlin und 8000 München Verfahren und Prioritätssteuereinheit zum Zuordnen von Prioritäten
US4636946A (en) * 1982-02-24 1987-01-13 International Business Machines Corporation Method and apparatus for grouping asynchronous recording operations
US4858117A (en) * 1987-08-07 1989-08-15 Bull Hn Information Systems Inc. Apparatus and method for preventing computer access by unauthorized personnel
US5182800A (en) * 1990-11-16 1993-01-26 International Business Machines Corporation Direct memory access controller with adaptive pipelining and bus control features
EP0549924A1 (en) * 1992-01-03 1993-07-07 International Business Machines Corporation Asynchronous co-processor data mover method and means
JPH06509896A (ja) * 1992-05-12 1994-11-02 セイコーエプソン株式会社 スケーラブル・コプロセッサ
US5606688A (en) * 1994-08-31 1997-02-25 International Business Machines Corporation Method and apparatus for dynamic cache memory allocation via single-reference residency times

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002530778A (ja) * 1998-11-24 2002-09-17 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 複数の仮想ダイレクトメモリアクセスチャネルをサポートするためのダイレクトメモリアクセスエンジン
JP2007080037A (ja) * 2005-09-15 2007-03-29 Fujitsu Ltd Dma転送システム
JP4499008B2 (ja) * 2005-09-15 2010-07-07 富士通マイクロエレクトロニクス株式会社 Dma転送システム
US7970959B2 (en) 2005-09-15 2011-06-28 Fujitsu Semiconductor Limited DMA transfer system using virtual channels
JP2007249816A (ja) * 2006-03-17 2007-09-27 Ricoh Co Ltd データ通信回路および調停方法

Also Published As

Publication number Publication date
EP0772131A2 (en) 1997-05-07
EP0772131A3 (en) 1998-02-04
US5875352A (en) 1999-02-23

Similar Documents

Publication Publication Date Title
JPH09231161A (ja) 直接メモリ・アクセス(dma)システム
US5848293A (en) Method and apparatus for transmission and processing of virtual commands
US5740448A (en) Method and apparatus for exclusive access to shared data structures through index referenced buffers
US5751951A (en) Network interface
JP3819484B2 (ja) Mpegパケットをパケット化およびセグメント化する装置および方法
US5745684A (en) Apparatus and method for providing a generic interface between a host system and an asynchronous transfer mode core functional block
US5778180A (en) Mechanism for reducing data copying overhead in protected memory operating systems
US6021446A (en) Network device driver performing initial packet processing within high priority hardware interrupt service routine and then finishing processing within low priority software interrupt service routine
JP4205181B2 (ja) Atmパケット・ヘッダおよびデータをホスト・コンピュータ・システムにバースト転送するための方法および装置
US5664116A (en) Buffering of data for transmission in a computer communication system interface
US5446726A (en) Error detection and correction apparatus for an asynchronous transfer mode (ATM) network device
JP4090510B2 (ja) アプリケーションデータのダイレクトマッピングのためのコンピュータインターフェース
US5745790A (en) Method and apparatus for reporting the status of asynchronous data transfer
EP1131923A1 (en) Multi-protocol conversion assistance method and system for a network accelerator
EP0752665B1 (en) Method and apparatus for coordinating data transfer between hardware and software
US5930525A (en) Method and apparatus for network interface fetching initial and data burst blocks and segmenting blocks and scheduling blocks compatible for transmission over multiple virtual circuits
US5680401A (en) Method and apparatus for asynchronously segmenting packets of multiple channels into ATM cells
US6603768B1 (en) Multi-protocol conversion assistance method and system for a network accelerator

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060425

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060725

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060803

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070327