JP3288712B2 - コンテキストデータ検索用のリンクキャッシュ - Google Patents

コンテキストデータ検索用のリンクキャッシュ

Info

Publication number
JP3288712B2
JP3288712B2 JP53589396A JP53589396A JP3288712B2 JP 3288712 B2 JP3288712 B2 JP 3288712B2 JP 53589396 A JP53589396 A JP 53589396A JP 53589396 A JP53589396 A JP 53589396A JP 3288712 B2 JP3288712 B2 JP 3288712B2
Authority
JP
Japan
Prior art keywords
cache
information unit
information
index
context
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP53589396A
Other languages
English (en)
Other versions
JPH10513591A (ja
Inventor
バーマン,スチュアート
チャウ,ヴィ
フィアコ,ピーター
Original Assignee
エミュレックス コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23795833&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP3288712(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by エミュレックス コーポレーション filed Critical エミュレックス コーポレーション
Publication of JPH10513591A publication Critical patent/JPH10513591A/ja
Application granted granted Critical
Publication of JP3288712B2 publication Critical patent/JP3288712B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 1. 産業上の利用分野 本発明は情報をコンピュータメモリに記憶するための
方法および装置に関するものであり、さらに詳細には、
通信リンクを介して受信されたデータのフレームに関連
したコンテキスト情報をコンピュータキャッシュに効率
的に記憶するための方法および装置に関するものであ
る。
2. 関連技術の説明 ほぼ全てのコンピュータシステムがメモリまたは記憶
装置に記憶された情報に依存している。記憶された情報
が動作指示を備えている場合もあり、また、情報がデー
タである場合もある。いずれの場合においても、メモリ
または記憶装置から情報を回復するのに要する時間は、
システムの動作における制限要素になりえる。さらに、
メモリまたは記憶装置は一般的に、作動速度によって値
段がつけられる(すなわち、より高速な装置は遅いメモ
リ装置よりも情報ユニット記憶能力についての値段が一
般的に高い)。従って、メモリの価格を大幅に上げるこ
となくシステム記憶またはメモリからデータ回復の速度
を高めるために、キャッシュメモリの使用が一般的な方
法になっている。
キャッシュメモリの使用の裏の前提は、比較的小さ
く、高速のメモリを提供することにより、またそのメモ
リに最も頻繁にもしくは最も最近使用された情報を記憶
させることにより、メモリから情報を回復するのに要す
る時間の平均量が削減される。従って、メモリから情報
が要求されると、キャッシュコントローラは情報が存在
するかどうかを決定するためにキャッシュを検索する。
情報が存在する場合(「キャッシュヒット」と呼ばれ
る)、高速キャッシュ装置から情報が読出される。キャ
ッシュに情報が存在しない場合(「キャッシュミス」と
呼ばれる)には、メインメモリから情報を読出さなけれ
ばならない。キャッシングの1方法によれば、キャッシ
ュミスが発生すると、情報はキャッシュ内にロードされ
てその情報を回復する次の試みに具える。しかしなが
ら、どの情報がキャッシュ内にロードされるべきかを決
定するための異なる複数のアルゴリズムが知られてい
る。
キャッシュメモリがその速度のために比較的高額なた
め、キャッシュ内のメモリスペースが非常に重要な必需
品であり、可能な限り効率的に使用される。キャッシュ
は効率的に使用する程小型になるにもかかわらず、同レ
ベルのパフォーマンスを提供することが可能である。ま
た、決まったサイズのキャッシュについては、キャッシ
ュがより効率的になるにつれ、キャッシュ内にはさらに
多くの情報が存在し、キャッシュヒットのチャンスも増
えるためにシステムが情報をメモリから回復する速度が
早くなる。
キャッシュを使用した状況の1つとしては、ファイバ
チャネル検索・交換マネージャのような通信プロトコル
コントローラがある。キャッシュは入ってくる情報のフ
レームに関連するコンテキスト情報を記憶するために使
用されている。さらに詳細には、ファイバチャネルプロ
トコルに関連した各情報のフレームは、装置間の同じ
「会話」の一部である他の情報のフレームに関連する
(「交換」と呼ばれる)。各フレームに関連したオーバ
ヘッド情報(「交換コンテキスト」と呼ばれる)によっ
て、プロトコル管理エンジンがデータの送信および受信
を記録でき、フレームを再命令でき、また通信リンクの
管理におけるプロトコルによって要求された他の処理を
実行することができる。交換コンテキストに加え、各フ
レームは通信リンクの他端の装置の特性を識別する状態
情報と関連しており、これは「遠隔ポートコンテキス
ト」と呼ばれる。一般に、同一の交換における各フレー
ムの交換コンテキストは同一である。しかしながら、異
なる交換のフレームの交換コンテキストは同一ではな
い。さらに、同一の遠隔ポートへと転送された、または
同一の遠隔ポートから転送されたフレームの遠隔ポート
コンテキストは(すなわち転送先のポート)、一般に同
一である。しかしながら、他のポートからのまたは他の
ポートへの転送は独特の遠隔ポートコンテキストを有す
る。従って、異なる交換に関連するが同一の遠隔ポート
より受信された2つのフレームは、同一の遠隔ポートコ
ンテキストを有するが、交換コンテキストは異なる。一
般に、受信された各フレームのためのコンテキスト(す
なわち、遠隔ポートコンテキストと交換コンテキストの
両方)は、メモリに記憶された情報を使用してアドレス
指定された単一のロケーションに記憶されている。キャ
ッシュが使用される際、情報が現在キャッシュ内に存在
する場合、キャッシュからコンテキストが検索される。
そうでない場合には、情報はメモリから検索される。交
換コンテキストと遠隔ポートコンテキストの各々を記憶
するために、キャッシュは比較的大きくなくてはならな
い。キャッシュメモリの経費と、キャッシュメモリをよ
り効率的に使用したいという要望を考慮すると、コンテ
キストキャッシュ内にコンテキスト情報を記憶するため
のより効率的な手段の提供が望まれる。本発明はこのよ
うな手段を提供するものである。
発明の概要 本発明は、関連する情報を記憶した2つの独立したキ
ャッシュをリンクするための方法および装置に関するも
のである。本発明において、第1キャッシュメモリに記
憶された各情報ユニットは、第2キャッシュメモリに記
憶された情報ユニットの1つと関連する。第1キャッシ
ュメモリに記憶された各情報のユニットは、第2キャッ
シュメモリ内の関連する情報ユニットへのインデックス
を含んでいる。従ってキャッシュは「リンクされてい
る」。リンクされた2つのキャッシュを使用することに
より、システム内におけるキャッシュメモリの総量が削
減され、第2キャッシュに記憶された情報内に余分な部
分ができる。システムによっては冗長は、第1キャッシ
ュに記憶された1つまたはそれ以上の情報ユニットに関
連した第2キャッシュに記憶されたいくつかの情報ユニ
ットの結果である。
本発明によれば、第2キャッシュ内の特定なユニット
に関連した、第1キャッシュ内のユニットの数に係わら
ず、第2キャッシュに記憶された各情報ユニットは1度
しか記憶されない。例えば、本発明による情報ブロック
は、第1キャッシュに記憶された情報ユニット(例えば
「交換コンテキスト」)と、第2キャッシュに記憶され
た情報ユニット(例えば「ポートコンテキスト」)を含
んでいる。第2キャッシュ内の関連するポートコンテキ
ストへのポインタまたはインデックス(「ポートコンテ
キストインデックス」)は、各交換コンテキストに関連
している。本発明の好ましい実施例において、ポートコ
ンテキストインデックスは交換コンテキストに埋込まれ
ている。そのため、1つまたはそれ以上の交換コンテキ
ストが同一のポートコンテキストに関連しているとして
も、関連するポートコンテキストは1度した記憶されな
い。
要求装置が情報ブロックを要求すると、第1キャッシ
ュコントローラが第1キャッシュを検索し、交換コンテ
キストが第1キャッシュ内に存在するかどうかを決定す
る。第1キャッシュ内に交換コンテキストが存在しない
場合には、第1キャッシュコントローラが調整コントロ
ール論理回路に情報を送り、マイクロコントローラがメ
インコンテキストメモリアレイ(例えば「コンテキスト
アレイ」)からの交換コンテキストを読出すように要求
する。コンテキストアレイから読出された交換コンテキ
スト情報は、第1キャッシュに記憶される。本発明によ
れば、第1キャッシュ内のポートコンテキストインデッ
クスは、第2キャッシュ内の関連するポートコンテキス
ト情報を第2キャッシュコントローラに送るために使用
される。つまり、ポートコンテキストインデックスは、
第1キャッシュから第2キャッシュコントローラへと通
信されたということになる。第2キャッシュコンテキス
トアレイは次に、第1キャッシュから検索された交換コ
ンテキストに関連するポートコンテキストアレイ情報を
探す。ポートコンテキスト情報が見つかると、要求を出
した装置にポートコンテキスト情報と交換コンテキスト
情報の両方が存在する。
本発明の好ましい実施例の詳細は、添付の図面と後述
する説明で述べる。本発明の詳細を知れば、様々な追加
のイノベーションおよび変更を加えられることが当業者
には明白になるはずである。
図面の簡単な説明 第1図は本発明の1実施例を示すブロック図である。
第2a図、第2b図は、本発明の1実施例によるフレーム
の編成を示す記録構成である。
第3図は本発明の1実施例を説明する高レベルのフロ
ーチャートである。
上述の図面において、同一の要素については同じ参照
符号および指示で示している。
発明の詳細な説明 本説明を通じ、ここで示した好ましい実施例および例
は本発明を限定するものというよりは模範として考慮さ
れるべきである。
第1図は、ホストコンピュータ用のファイバチャネル
通信アダプタ100のコンテキストにおける本発明のブロ
ック図である。通信アダプタ100は、通信アダプタ100と
遠隔装置(図示せず)との間のファイバチャネリンクに
よってデータのフレームを受信および送信する。本発明
は通信アダプタ以外の装置に使用できることが当業者に
は理解されるであろう。例えば、本発明は、第1情報ユ
ニットが、関連する第2情報ユニットと共に記憶される
いかなるシステムにも使用できる。
第1図に示す本発明の実施例はマイクロコントローラ
101、第1キャッシュ103、第1キャッシュコントローラ
105、第2キャッシュ109、第2キャッシュコントローラ
111、調整コントローラ110、プロトコル管理エンジン11
3を含む。マイクロコントローラ101は、通信アダプタ10
0におけるほとんどの情報を提供する。メモリ107(従来
のRAM、磁気ディスクドライブ、光ディスクドライ
ブ、、フラッシュRAM、その他データを記憶する装置)
はマイクロコントローラ101に連結している。メモリ107
はコンテキストアレイ112を設けていることが好まし
い。コンテキストアレイ112は第キャッシュ103もしくは
第2キャッシュ109に関連した情報ユニットを含むこと
が好ましい。
第1キャッシュ103は、(例えば、良く知られた「直
接マップコピーバック」アルゴリズムにより)最も最近
要求された第1キャッシュに関連したこれらの情報ユニ
ット(例えば「交換コンテキスト」)を記憶する。第2
キャッシュ109は、第1キャッシュ103内の少なくとも1
つの対応する情報ユニットに関連したこれらの情報ユニ
ット(例えば「ポートコンテキスト」)を記憶する。
第1図に示した本発明の実施例によれば、第1キャッ
シュコントローラ105は、最近受信されたかもしくはこ
れから送信される特定のデータのフレームに関連した交
換コンテキストの要求を受信する。調整コントローラ11
0は、キャッシュからのミス(例えば、キャッシュ103、
109からの情報の読出しの失敗)が正確に処理され(詳
細に後述する)、両キャッシュ103、109にヒットがあっ
た時(つまり、両キャッシュ内に検索した情報が見つか
った時)のみにその情報が各キャッシュ103、109より出
力されることを確実にする。
第1および第2キャッシュ103、109は、2つの「リンク
された」キャッシュ103、109が、交換コンテキストとポ
ートコンテキストを同一の場所に記憶した単一の「仮
想」キャッシュであるかのように外部装置に現れる。
本発明の1実施例によれば、第1および第2キャッシ
ュコントローラ105、111は単一状態機械として実行され
る。第1および第2キャッシュ105、111の動作は順次動
作であることが好ましい。これはつまり、第1キャッシ
ュコントローラ105が要求された交換コンテキストを見
つけた後でのみ、第2キャッシュコントローラ111が関
連するポートコンテキストの検索を開始するということ
である。調整コントローラ110は第2状態機械として実
行されることが好ましい。書込みパスコントローラ115
は第3状態機械として実行されることが好ましい。従っ
て、キャッシュコントローラ105、111、調整コントロー
ラ110、書込みパスコントローラ115の各々が、通信アダ
プタ100内の独立した装置であることが好ましい。
本発明の1実施例の動作 通信アダプタを容易に理解するために、本発明の動作
を以下に述べる。つまり、通信アダプタに関連した本発
明の動作を説明することにより当業者は本発明をより理
解することができる。しかしながら、本発明のリンクキ
ャッシュは広範囲の使用に適用されることが理解される
べきである。
第1図に示した通信アダプタ100によれば、通信アダ
プタ100がフレームを受信する場合、フレームは先ず、
バス信号線117を介してプロトコル管理エンジン113内の
受信ユニット114に受信される。本発明の1実施例によ
れば、各フレームは第2a図、第2b図に示したように編成
されている。
本発明によれば、受信された各フレームはフレーム開
始フィールド201、フレームヘッダ202、ペイロードフィ
ールド203、巡回符号フィールド204、フレームフィール
ドの終了205を含んでいる。フレームヘッダ202(第2b図
に詳細に示す)内において、識別情報がいくつかの識別
フィールドに存在している。このような2つのフィール
ドは、オリジネータ交換識別(OX_ID)フィールド201と
レスポンダ交換識別(RX_ID)212である。これら2つの
フィールド210、212の1つが、フレームを含む特定の交
換(例えば、2つの装置間の会話の同一部分に属するデ
ータフレームのグループ)を識別する。後述の説明にあ
るように、ファイバチャネルリンクにかかる特定の交換
のフレームの各々が、同じ交換に関連した互いのフレー
ムと同一の遠隔ポートと関連していなければならないた
め、フレームが送出される特定の遠隔ポートを間接的に
識別するためにも識別情報が使用される。
プロトコル管理エンジン113内の受信ユニット114は受
信したフレームから識別情報を読出し、第1キャッシュ
103内に記憶された識別情報に関連したポインタまたは
インデックス(例えば「交換インデックス」)と通信す
る。受信されたフレームがファイバチャネルフレームで
ある本発明の少なくとも1実施例において、識別情報
は、F_CTLフィールド214内の交換オリジネータ/レスポ
ンダビットの状態によってOX_IDフィールド210またはRX
_IDフィールド212のいずれかより読出される。少なくと
も1実施例において、受信されたフレームから読出され
た識別情報は交換インデックスとして直接使用される。
別の実施例においては、識別情報は受信ユニット114、
プロトコル管理エンジン113、または第1キャッシュコ
ントローラ105によって交換インデックスにマップされ
る。交換インデックスは、信号線119を介してプロトコ
ル管理エンジン113から第1キャッシュコントローラ105
へと連結している。交換インデックスを受信すると、第
1キャッシュコントローラ105は交換インデックスによ
って表示された通りに受信されたフレームと関連する交
換コンテキストを、従来の方法によって探そうとする。
本発明によれば、各交換コンテキストは、関連するポ
インタまたはインデックスを第2キャッシュ内に含んで
いる(例えば「ポートコンテキストインデックス」)各
ポートコンテキストインデックス(PCI)は交換コンテ
キストに関連したポートコンテキストを識別する。第1
キャッシュ103内にヒットがあった場合、PCIは信号線12
1を介して第1キャッシュ103から第2キャッシュコント
ローラ111へと通信される。第2キャッシュコントロー
ラ111内にPCIが受信されると、第2キャッシュコントロ
ーラ111が、第2キャッシュ109内にPCIによって識別さ
れたポートコンテキストを探そうとする。第2キャッシ
ュ109(両キャッシュ103、109共、プロトコル管理エン
ジン113によって検索された情報を含んでいる)にキャ
ッシュヒットがある場合、調整コントローラ110が交換
コンテキストとポートコンテキストを出力することがで
きる。さらに詳細には、交換コンテキストとポートコン
テキストは、各々信号線123、125を介して調整コントロ
ーラ110に連結していることが好ましい。調整コントロ
ーラ110により、フレームに関連した交換コンテキスト
とポートコンテキストの両方が、信号線127を介してプ
ロトコル管理エンジン113と通信することができる。別
の実施例において、キャッシュ装置103、109からの直接
出力は調整コントローラ110からの信号によって可能に
なる。
第1キャッシュ103内にミスがある場合、第1キャッ
シュコントローラ105が調整コントローラ110に、信号線
129を介してミスが発生したという信号を送る。これに
応じて調整コントローラ110が、第1キャッシュ103内に
要求された交換コンテキストを記憶する場所があるかど
うかを決定する。もしない場合には、好ましくは信号線
131を介してメモリ107内のコンテキストアレイ112に直
接メモリアクセス(DMA)動作を使用することで、調整
コントローラが交換コンテキストをキャッシュからコン
テキストアレイ112へと保存する。第1キャッシュ103内
にスペースが得られると、調整コントローラ110が信号
線131を介してコンテキストアレイ112からメモリ107にD
MA読出し動作を実行し、プロトコル管理エンジン113に
より受信されたフレームに関連した交換コンテキストを
読出すことが好ましい。そのフレームが通信アダプタ10
0から受信される最初のフレームである場合、調整コン
トローラ110はコンテキストアレイ112内に交換コンテキ
ストを発見しない。それにより調整コントローラ110
が、信号線133を介してマイクロコントローラ101に割込
む。マイクロコントローラ101は、将来受信されるその
交換の各フレームに関連する交換コンテキストと折衝す
る。交換コンテキストとの折衝プロセスにおいて、マイ
クロコントローラ101は、その交換に対してどの装置が
オリジネータになるかを表示する。
本発明の好ましい実施例において、マイクロコントロ
ーラ101はPCIを交換コンテキストの一部として割り当て
る。フレームがオリジネートしたポートが既に通信アダ
プタ100と通信している場合、ポートコンテキストはす
でに折衝されている。従って、そのポートと通信アダプ
タ100との間で既に使用されたものと同じポートコンテ
キストが使用される。そのため、フレームが送出された
ポートに関連したPCIが既に存在することになる。その
ポートに関連したコンテキストアレイ内にポートコンテ
キストが記憶されていない場合には、新しいPCIが生成
される。
マイクロコントローラ101がその交換に対する交換コ
ンテキストを完了すると、マイクロコントローラ101は
交換コンテキストをコンテキストアレイ112に記憶し、
また、第1キャッシュ103に記憶される交換コンテキス
トのコピーを調整コントローラ110に送る。また、マイ
クロコントローラ101は、DMA動作においてコンテキスト
アレイ112から交換コンテキストを直接読出すように調
整コントローラ110に対して信号を送る。調整コントロ
ーラ110は次に、書込みパスコントローラ115に対して交
換コンテキストを適用する。書込みパスコントローラ11
5は、2つのキャッシュ103、109の各々への入力を調整
する状態機械である。書込みパスコントローラ115は、
各キャッシュ103、109に対して書込み動作の優先順位を
決める。つまり、3つの異なるコンポーネントが各キャ
ッシュ103、109に書込みをするするということである。
調整コントローラ110は各キャッシュ103、109への書込
みの最も高い優先順位を有している。各キャッシュ10
3、109への書込みの次に高い優先順位を有するのがプロ
トコル管理エンジン113である。各キャッシュ103、109
への書込みの順位が一番低いのがマイクロコントローラ
101である。書込みパスコントローラ115は同時に、優先
準位の高い装置がキャッシュに書込みを試みているかど
うか決定する。もしそうである場合、その装置は最初に
各キャッシュ103、109に書込みを許可される。調整コン
トローラ110が最も高い優先順位を有しているので、既
に他の装置の1つが第1キャッシュ103に書込みをして
いない限り、調整コントローラ110は遅延なく交換コン
テキストを第1キャッシュ103に書込む。書込みパスコ
ントローラ115は、どちらのキャッシュ103、109に書込
みがされているかにより、信号線132または134を介して
調整コントローラ110が書込みをしているキャッシュ10
3、109に対して書込みストローブを起動する。キャッシ
ュへのストローブの起動は、信号線135を介して、書込
み動作が完了したことの応答(肯定応答)としてやはり
調整コントローラ110に連結される。
次に第1キャッシュコントローラ105は、再び第1キ
ャッシュ103から交換コンテキストへのアクセスを試み
る。第1キャッシュ103は次に、交換コンテキストがヒ
ットにより既に見つかっている時と同じ方法で、交換コ
ンテキスト内に含まれたPCIを第2キャッシュコントロ
ーラ111へ出力する。第1キャッシュコントローラ105も
調整コントローラ110にキャッシュヒットを送る。従っ
て、第2キャッシュコントローラ111は、第2キャッシ
ュ109内にPCIと関連したポートコンテキストを探そうと
する。
第2キャッシュ109内にポートコンテキストが見つか
らなかった場合、第2キャッシュコントローラ111が調
整コントローラ110に信号を送る。場所がない場合に
は、コントローラ110が、既に第2キャッシュ109内に存
在するポートコンテキストの1つのDMA書込みをコンテ
キストアレイ112に実行することにより、第2キャッシ
ュ109内の場所が要求されたポートコンテキストのため
の第2キャッシュ109内に存在することを確実にする。
調整コントローラ110は次に、コンテキストアレイ112内
にポートコンテキストを探す。PCIが現在ポートコンテ
キストと関連していない場合(すなわち、交換コンテキ
ストが生成された際にPCIがフレームのために作成され
る)、調整コントローラ110がマイクロコントローラ101
に割込む。マイクロコントローラ101はポートコントテ
キストと折衝して、そのポートコンテキストをPCIと関
連したコンテキストアレイ112内の場所に記憶する。マ
イクロコントローラ101はポートコンテキストのコピー
を、第2キャッシュ109に保存するために調整コントロ
ーラ110に送る。また、マイクロコントローラ101は、コ
ンテキストアレイ112にDMA読出し動作を実行して再びポ
ートコンテキストを読出すように、調整コントローラ11
0に信号を送る。
調整コントローラ110は、書込みパスコントローラ115
を介して第2キャッシュ109にポートコンテキストを書
込む。次に調整コントローラ110が、再びポートコンテ
キストを探すように第2キャッシュコントローラ111に
命令を出す。すると第2キャッシュコントローラ111が
調整コントローラ110に対してヒットを送る。両キャッ
シュがヒットを得たことの表示を調整コントローラが受
けると、調整コントローラ110を介してキャッシュ103、
109からプロトコル管理エンジン113に交換コンテキスト
とポートコンテキストが供給される。
本発明は、通信アダプタ110から遠隔ポートにフレー
ムが送信される際にも同様に動作する。フレームが送信
される際、マイクロコントローラ101が信号線137を介し
てプロトコル管理エンジン113に交換コンテキストとPCI
とを送る。これに応じてプロトコル管理エンジン113
が、表示された交換コンテキストを探すようにという要
求を、信号線119を介して第1キャッシュコントローラ1
05に送信する。この要求は、送出されるフレームが一部
分を成す交換に関連した交換インデックスを含む。交換
インデックスによって示された交換コンテキストが第1
キャッシュ103に存在しない場合、上述した通りに処理
を進める。つまり、調整コントローラ110がコンテキス
トアレイ112内でDMA動作を実行するということである。
調整コントローラ110は交換コンテキストを書込みパス
コントローラ115へと返却する。書込みパスコントロー
ラ115は既に処理された要求がないようにする。書込み
パスコントローラ115は次に、第1キャッシュ103に交換
コンテキストを書込む。第1キャッシュコントローラ11
5に再び交換コンテキストを探すように信号が送信され
る。すると第1キャッシュコントローラが調整コントロ
ーラ110にヒットを送信し、第2キャッシュコントロー
ラ111にPCIを供給する。
PCIに関連したポートコンテキストが第2キャッシュ1
09内に存在しない場合、調整コントローラ110がコンテ
キストアレイ112にDMA読出しを実行する。ポートコンテ
キストがコンテキストアレイ112に存在しない場合に
は、マイクロコントローラ101が新しいポートコンテキ
ストを生成する。どちらの場合においてもポートコンテ
キストが調整コントローラ110に供給され、第2キャッ
シュ109に記憶される。第2キャッシュコントローラ111
は再びポートコンテキストを探し、調整コントローラ11
0にヒットを送信する。調整コントローラ110は次に、プ
ロトコル管理エンジン113に供給される交換コンテキス
トとポートコンテキストを生じる。
第3図は本発明の動作の高レベルフローチャートであ
る。先ず、第1キャッシュコントローラ105が交換コン
テキストの要求を受信する(ステップ301)次に、第1
キャッシュコントローラ105が、第1キャッシュ103内に
交換コンテキストを探そうとする(ステップ303)。交
換コンテキストが見つかった場合、第1キャッシュ103
から第2キャッシュコントローラ111にPCIが送信される
(ステップ305)。第2キャッシュコントローラ111が第
2キャッシュ109内に、関連するポートコンテキスト探
そうとする。第2キャッシュコントローラ111が関連す
るポートコンテキストを見つけると、調整コントローラ
110に信号が送られ、交換コンテキストとポートコンテ
キストの両方がキャッシュ103、109から出力される(ス
テップ309)。
ステップ303に戻り、交換コンテキストが見つからな
い場合には、コンテキストアレイ112から交換コンテキ
ストを読出すようにとの信号が、キャッシュコントロー
ラから調整コントローラ110へと送られる(ステップ31
1)。コンテキストアレイ112に交換コンテキストが存在
しない場合には、マイクロコントローラ101が割込ま
れ、交換コンテキストに折衝する(ステップ313)。交
換コンテキストはコンテキストアレイ112に記憶される
(ステップ315)。次にプロセスはステップ311へと戻
り、調整コントローラ110が再びコンテキストアレイ112
から交換コンテキストの読出しを試みる(ステップ31
1)。この時には交換コンテキストは存在する。コンテ
キストアレイに交換コンテキストが見つかると、交換コ
ンテキストは第1キャッシュ103に記憶される(ステッ
プ315)。次に第1キャッシュコントローラ105は再び第
1キャッシュ103内に交換コンテキストを探す(ステッ
プ303)。この時には交換コンテキストが見つかる。交
換コンテキストが第1キャッシュ103内に見つかると、
上述した通りにプロセスが続く。
ステップ307において、ポートコンテキストが第2キ
ャッシュ109内に存在しない場合、調整コントローラ110
に、コンテキストアレイ112内にポートコンテキストを
見つけるようにとの信号が送信される(ステップ31
7)。コンテキストアレイ112内にポートコンテキストが
存在する場合には、ポートコンテキストは第2キャッシ
ュ109に記憶される(ステップ319)。コンテキストアレ
イ112内にポートコンテキストが存在しない場合、調整
コントローラ110がマイクロコントローラ101に割込み新
しいポートコンテキストに折衝する(ステップ321)。
次にポートコンテキストが第2キャッシュ109に記憶さ
れる(ステップ319)。ポートコンテキストが第2キャ
ッシュ109に記憶されると、第2キャッシュコントロー
ラ110が再びポートコンテキストを探そうとする(ステ
ップ307)。プロセスは上述した通りに進行する。
交換コンテキストとポートコンテキストは送信および
受信の両機能によって使用される。しかしながら、通信
アダプタに使用された本発明の好ましい実施例によれ
ば、単一の交換コンテキストまたはポートコンテキスト
が受信と送信の両動作に同時に使用されることはできな
い。本発明の好ましい実施例において、各エントリは送
信ロックビットと受信ロックビットの両方を備えてい
る。受信されたフレームに関連してエントリが使用され
ている場合、そのエントリに関連した受信ロックビット
がセットされる。同様に、送信されるフレームに関連し
てエントリが使用されている場合、送信ロックビットが
セットされる。ロックビットがセットされると、コンテ
キストアレイ112およびキャッシュ103、109において関
連するデータを変更することができない。これらのロッ
クビットを使用することにより、コンテキストアレイ11
2に記憶された情報と各キャッシュ103、109に保守され
た情報との間の統一性が維持される。本発明によれば、
そのコンテキストに関連したフレームの処理が終了した
後に、いずれのポートもしくは交換に関連したコンテキ
ストもプロトコル管理エンジン113によってアップデー
トされることができる。プロトコル管理エンジン113に
よって情報がアップデートされる場合、アップデートは
ロックビットフラグがリセットされる前に達成される。
プロトコル管理エンジン113からのアップデートは、コ
ンテキストアップデート情報を書込みパスコントローラ
115に存在させることで達成されることが好ましい。書
込みパスコントローラ115は、調整コントローラ110がキ
ャッシュ103、109に書込みを試みる際と同じ一般的な方
法で動作する。つまり、書込みパスコントローラ115
が、上述した優先順位に関連して、キャッシュ103、109
に記憶される情報を所望のキャッシュ103、109のエント
リに送る。次に、どちらのキャッシュに書込みがされて
いるかにより、書込みパスコントローラ115が信号線13
2、134にかけて書込みストローブを起動する。
さらに、マイクロコントローラ101がキャッシュ103、
109に直接書込むことができるテスト機能が使用可能で
ある。このような書込み動作は、上述した方法と同じ一
般的な方法で、書込みパスコントローラ115を介して実
行される。つまり、マイクロコントローラ101が書込み
パスコントローラ115に書込まれる情報に連結する。書
込みパスコントローラ115は、保留中または進行中の他
の書込み動作があるかどうかを決定する。ない場合に
は、書込みパスコントローラ115は記憶される情報を適
当なキャッシュ103、109に送り、信号線132または信号
線134のどちらかにストローブを起動する。
マイクロコントローラ101が、キャッシュ103、109の
どちらかから読出しを試みるとすると、情報は適当なキ
ャッシュコントローラ105、111によって検索されなけれ
ばならない。調整コントローラ110は情報をマイクロコ
ントローラ101へと転送する。例えば、マイクロコント
ローラ101は、第1キャッシュコントローラ105を介して
第1キャッシュ103からの交換コンテキストを要求する
かもしれない。情報は調整コントローラ110に供給さ
れ、調整コントローラ110はその情報をマイクロコント
ローラ101、メモリ107、またはマイクロコントローラ10
1内のレジスタに保存する。
本発明の本質的な利点は、関連する情報を記憶するリ
ンクされた2つのキャッシュを使うことでキャッシュの
トータルサイズの縮小が可能なことであり、それによ
り、1つまたはそれ以上の第1情報ユニットに関連した
第2情報ユニットが1度記憶されたらそれ以上記憶され
ることがないため、キャッシュを検索する際にキャッシ
ュのサイズが縮小され、ヒットの可能性が増大すること
であることが当業者に理解されるはずである。
本発明の複数の実施例が説明されている。にもかかわ
らず、本発明の精神と範囲を逸脱しない限り様々な改良
を加えることが可能であることが理解されるであろう。
例えば、本発明のリンクキャッシュは、第2情報ユニッ
トに関連した第1情報ユニットを記憶するためにキャッ
シュが使用されるいかなるシステムにも使用することが
できる。例えば、住所をキャッシュに記憶したデータベ
ースにおいて、ストリートアドレスは第1キャッシュに
記憶され、インデックスは住所に関連した都市、州、郵
便番号を記憶する第2キャッシュに記憶される。
本発明の第1および第2キャッシュコントローラと調
整コントローラは、ハードウェアまたはソフトウェアの
いずれにも設けることができる。ハードウェアに設けた
場合、本発明はより高速になり、ファイバチャネル通信
アダプタへの使用がより適切になる。しかしながら、速
度が重要でない他の使用においては、本発明をソフトウ
ェアに設けることが適切であり、またさらに好ましい。
本発明の別の実施例において、第1および第2キャッ
シュコントローラは、第1および第2キャッシュが共有
する単一のコントローラであってもよい。さらに、第1
および第2キャッシュ103、109は、同一のメモリ装置に
近接した場所に設けることができる。またさらに、第1
および第2キャッシュは第1キャッシュへのエントリが
第2へのエントリと接触することなく点在するようなか
たちで混合することができる。本発明の少なくとも1実
施例において、第1および第2キャッシュ103、109は、
各交換コンテキストとポートコンテキストのためのキャ
ッシュへの個別のエントリを備えた単一のキャッシュで
あると考慮されるため、各交換コンテキストエントリ
が、キャッシュ内の別の場所に記憶された関連するポー
トコンテキストにPCIを備えることができる。
従って、本発明は特定の実施例によって限定されるも
のではなく、添付の請求の範囲によってのみ限定される
ものである。
フロントページの続き (72)発明者 フィアコ,ピーター アメリカ合衆国 92686 カリフォルニ ア州 ヨルバ リンダ,フェアモント 3420 (56)参考文献 特開 昭63−238646(JP,A) 特開 平1−103341(JP,A) 特開 平5−207069(JP,A) 特開 平8−23347(JP,A) 特開 平3−42744(JP,A) 特開 平6−261078(JP,A) 特開 平7−143180(JP,A) 特開 平1−231452(JP,A) 米国特許4670839(US,A) (58)調査した分野(Int.Cl.7,DB名) H04L 12/56 H04L 12/28 G06F 13/00 G06F 12/08

Claims (15)

    (57)【特許請求の範囲】
  1. 【請求項1】関連するメモリ装置に記憶される情報ユニ
    ットの第1および第2サブセットである情報ユニットを
    記憶するリンクキャッシュメモリであって、 (a) 該情報の第1サブセットを記憶する第1キャッ
    シュ装置と、 (b) 該情報の第2サブセットを記憶する第2キャッ
    シュ装置と、 (c) 第1および第2キャッシュ装置と連結し、 (1) 外部装置より第1インデックスを受信し、 (2) 第1キャッシュ装置で、第1インデックスに関
    連する第1情報ユニットを検索し、 (3) 第1情報ユニットが第1キャッシュ装置に存在
    する場合、第1情報ユニットが見つかったことを示す第
    1表示を出力し、 (4) 第1情報ユニットに組込まれた第2インデック
    スを第1キャッシュ装置から受信し、 (5) 第2キャッシュ装置で、第2インデックスに関
    連する第2情報ユニットを検索し、 (6) 第2情報ユニットが第2キャッシュ装置に存在
    する場合、第2情報ユニットが見つかったことを示す第
    2表示を出力する、キャッシュコントローラと、 (d) 該キャッシュコントローラと連結して該キャッ
    シュコントローラから、第1および第2キャッシュ装置
    で第1および第2情報ユニットを見つけたことを示す第
    1および第2表示を受信し、このような表示の受信に応
    じ、第1および第2情報ユニットの出力を可能とする調
    整コントローラと、 (e) 該調整コントローラ、第1および第2キャッシ
    ュ装置と連結し、複数の源の1つからの入力信号を第1
    または第2キャッシュ装置の入力と連結し、該入力信号
    によって表現された入力データがキャッシュ装置に記憶
    されていることを該入力信号源に対して表示する書込み
    パスコントローラと、 を有することを特徴とするリンクキャッシュメモリ。
  2. 【請求項2】第1および第2メモリ装置の各々が、関連
    するメモリ装置よりも読出し時間が短いことを特徴とす
    る請求の範囲1記載のリンクキャッシュメモリ。
  3. 【請求項3】前記書込みパスコントローラがさらに、複
    数の入力源がキャッシュに情報を同時に書込もうとする
    際に、また、最高優先順位を有する源からオリジネート
    する入力信号をキャッシュ装置に連結する際に、複数の
    源の内のどれが優先順位を有するかを決定することを特
    徴とする請求の範囲1記載のリンクキャッシュメモリ。
  4. 【請求項4】関連するメモリ装置に記憶される情報ユニ
    ットの第1および第2サブセットである情報ユニットを
    記憶するリンクキャッシュメモリであって、 (a) 該情報の第1サブセットを記憶する第1キャッ
    シュ装置と、 (b) 該情報の第2サブセットを記憶する第2キャッ
    シュ装置と、 (c) 第1および第2キャッシュ装置と連結し、 (1) 外部装置より第1インデックスを受信し、 (2) 第1キャッシュ装置で、第1インデックスに関
    連する第1情報ユニットを検索し、 (3) 第1情報ユニットが第1キャッシュ装置に存在
    する場合、第1情報ユニットが見つかったことを示す第
    1表示を出力し、 (4) 第1情報ユニットに組込まれた第2インデック
    スを第1キャッシュ装置から受信し、 (5) 第2キャッシュ装置で、第2インデックスに関
    連する第2情報ユニットを検索し、 (6) 第2情報ユニットが第2キャッシュ装置に存在
    する場合、第2情報ユニットが見つかったことを示す第
    2表示を出力する、キャッシュコントローラと、 (d) 該キャッシュコントローラと連結して該キャッ
    シュコントローラから、第1および第2キャッシュ装置
    で第2および第2情報ユニットを見つけたことを示す第
    1および第2表示を受信し、このような表示の受信に応
    じ、第1および第2情報ユニットの出力を可能とする調
    整コントローラであって、関連するメモリ装置から情報
    を読出すために直接メモリアクセス動作を実行すること
    が可能である該調整コントローラと、 を有することを特徴とするリンクキャッシュメモリ。
  5. 【請求項5】関連するメモリ装置に記憶される情報ユニ
    ットの第1および第2サブセットである情報ユニットを
    記憶するリンクキャッシュメモリであって、 (a) 該情報の第1サブセットを記憶する第1キャッ
    シュ装置と、 (b) 該情報の第2サブセットを記憶する第2キャッ
    シュ装置と、 (c) 第1および第2キャッシュ装置と連結し、 (1) 外部装置より第1インデックスを受信し、 (2) 第1キャッシュ装置で、第1インデックスに関
    連する第1情報ユニットを検索し、 (3) 第1情報ユニットが第1キャッシュ装置に存在
    する場合、第1情報ユニットが見つかったことを示す第
    1表示を出力し、 (4) 第1情報ユニットに組込まれた第2インデック
    スを第1キャッシュ装置から受信し、 (5) 第2キャッシュ装置で、第2インデックスに関
    連する第2情報ユニットを検索し、 (6) 第2情報ユニットが第2キャッシュ装置に存在
    する場合、第2情報ユニットが見つかったことを示す第
    2表示を出力する、キャッシュコントローラと、 (d) 該キャッシュコントローラと連結して該キャッ
    シュコントローラから、第1および第2キャッシュ装置
    で第1および第2情報ユニットを見つけたことを示す第
    1および第2表示を受信し、このような表示の受信に応
    じ、第1および第2情報ユニットの出力を可能とする調
    整コントローラと、 (e) 第1情報ユニットが使用されている時に、第1
    キャッシュ装置をロックして該第1情報ユニットが変更
    されることを防ぎ、第2情報ユニットが使用されている
    時に、第2キャッシュ装置をロックして該第2情報ユニ
    ットが変更されることを防ぐロック手段と、を有し、 第1情報ユニットが交換コンテキストであり、第2情報
    ユニットがポートコンテキストであり、該交換コンテキ
    ストとポートコンテキストは送信または受信されるデー
    タのフレームに関連しており、また、該ポートコンテキ
    ストまたは交換コンテキストは受信されるフレームに関
    連して使用される時に、前記ロック手段が受信ロックビ
    ットを起動することを特徴とするリンクキャッシュメモ
    リ。
  6. 【請求項6】関連するメモリ装置に記憶される情報ユニ
    ットの第1および第2サブセットである情報ユニットを
    記憶するリンクキャッシュメモリであって、 (a) 該情報の第1サブセットを記憶する第1キャッ
    シュ装置と、 (b) 該情報の第2サブセットを記憶する第2キャッ
    シュ装置と、 (c) 第1および第2キャッシュ装置と連結し、 (1) 外部装置より第1インデックスを受信し、 (2) 第1キャッシュ装置で、第1インデックスに関
    連する第1情報ユニットを検索し、 (3) 第1情報ユニットが第1キャッシュ装置に存在
    する場合、第1情報ユニットが見つかったことを示す第
    1表示を出力し、 (4) 第1情報ユニットに組込まれた第2インデック
    スを第1キャッシュ装置から受信し、 (5) 第2キャッシュ装置で、第2インデックスに関
    連する第2情報ユニットを検索し、 (6) 第2情報ユニットが第2キャッシュ装置に存在
    する場合、第2情報ユニットが見つかったことを示す第
    2表示を出力する、キャッシュコントローラと、 (d) 該キャッシュコントローラと連結して該キャッ
    シュコントローラから、第1および第2キャッシュ装置
    で第1および第2情報ユニットを見つけたことを示す第
    1および第2表示を受信し、このような表示の受信に応
    じ、第1および第2情報ユニットの出力を可能とする調
    整コントローラと、 (e) 第1情報ユニットが使用されている時に、第1
    キャッシュ装置をロックして該第1情報ユニットが変更
    されることを防ぎ、第2情報ユニットが使用されている
    時に、第2キャッシュ装置をロックして該第2情報ユニ
    ットが変更されることを防ぐロック手段と、を有し、 第1情報ユニットが交換コンテキストであり、第2情報
    ユニットがポートコンテキストであり、該交換コンテキ
    ストとポートコンテキトは送信または受信されるデータ
    のフレームに関連しており、また、ポートコンテキスト
    または交換コンテキストが送信されるフレームに関連し
    て使用される時に、前記ロック手段が送信ロックビット
    を起動することを特徴とするリンクキャッシュメモリ。
  7. 【請求項7】データのフレームを受信および送信する、
    ホスト内に設けられた通信アダプタであって、 (a) 交換コンテキスト情報とポートコンテキスト情
    報を含むコンテキストデータを記憶するためのメモリ装
    置と、 (b) 該メモリ装置よりも短い読出し時間を有する、
    交換コンテキスト情報のサブセットを記憶する第1キャ
    ッシュ装置と、 (c) 前記メモリ装置よりも短い読出し時間を有す
    る、ポートコンテキスト情報のサブセットを記憶する第
    2キャッシュ装置と、 (d) 第1および第2キャッシュ装置と連結し、 (1) 外部装置より第1インデックスを受信し、 (2) 第1キャッシュ装置で、第1インデックスに関
    連する交換コンテキストを検索し、 (3) 第1インデックスに関連する交換コンテキスト
    が第1キャッシュ装置に存在する場合、交換コンテキス
    トが見つかったことを示す第1表示を出力し、 (4) 交換コンテキストに組込まれた第2インデック
    スを第1キャッシュ装置から受信し、 (5) 第2キャッシュ装置で、第2インデックスに関
    連するポートコンテキストを検索し、 (6) 該ポートコンテキストが第2キャッシュ装置に
    存在する場合、第2インデックスに関連するポートコン
    テキストが見つかったことを示す第2表示を出力する、 キャッシュコントローラと、 (e) 該キャッシュコントローラと連結して該キャッ
    シュコントローラから、第1および第2キャッシュ装置
    で第1および第2インデックスに関連する交換コンテキ
    ストとポートコンテキストを見つけたことを示す第1お
    よび第2表示を受信し、第1および第2表示の受信に応
    じ、交換コンテキストとポートコンテキストの出力を可
    能にする調整コントローラと、 (f) 前記メモリ装置と調整コントローラとに連結し
    て、前記調整コントローラからの要求を受信すると前記
    メモリ装置に記憶されている交換コンテキストとポート
    コンテキスト情報を生成し、第1および第2キャッシュ
    装置に直接書込みをするマイクロコントローラと、 を有することを特徴とする通信アダプタ。
  8. 【請求項8】前記調整コントローラ、マイクロコントロ
    ーラ、およびキャッシュコントローラと連結して、 (l) ホストへ通信リンクを介して送信されるデータ
    のフレームを受信し、 (m) 該データのフレームに関連する第1インデック
    スを決定し、 (n) 第1インデックスをキャッシュコントローラに
    通信し、 (p) 交換コンテキストが第1キャッシュ装置内に存
    在し、ポートコンテキスト情報が第2キャッシュ装置内
    に存在する場合、第1および第2インデックスに関連す
    る交換コンテキストおよびポートコンテキスト情報を受
    信し、 (q) 受信したデータのフレームを処理するために、
    交換コンテキストとポートコンテキストを使用する、 プロトコル管理エンジンをさらに有することを特徴とす
    る請求の範囲7記載の通信アダプタ。
  9. 【請求項9】前記調整コントローラ、マイクロコントロ
    ーラ、およびキャッシュコントローラと連結して、 (l') ホストから通信リンクを介して送信されるデー
    タのフレームを受信し、 (m') 該データのフレームに関連する第1インデック
    スを受信し、 (n) 第1インデックスをキャッシュコントローラに
    通信し、 (p) 交換コンテキストが第1キャッシュ装置内に存
    在し、ポートコンテキスト情報が第2キャッシュ装置内
    に存在する場合、第1および第2インデックスに関連す
    る交換コンテキストおよびポートコンテキスト情報を受
    信し、 (q) 送信されるデータのフレームを処理するため
    に、交換コンテキストとポートコンテキストを使用す
    る、 プロトコル管理エンジンをさらに有することを特徴とす
    る請求の範囲7記載の通信アダプタ。
  10. 【請求項10】(r) 第1および第2キャッシュ装置
    からの出力は前記調整コントローラに連結されるもので
    あり、 (s) もし見つかれば、第1インデックスに関連する
    第1情報ユニットと、第2インデックスに関連する第2
    情報ユニットは第1および第2キャッシュ装置よりそれ
    ぞれ受信されるものであり、 (t) 第1および第2表示が受信された場合のみ、前
    記調整コントローラは第1および第2情報ユニットを出
    力するものである、 ことを特徴とする請求の範囲1、4、5または6記載の
    リンクキャッシュメモリ。
  11. 【請求項11】第1メモリ装置、第2メモリ装置、およ
    びキャッシュコントローラを備えたリンクキャッシュ装
    置で情報ユニットを記憶および検索する方法であって、
    該第1および第2メモリ装置は、関連する外部メモリ装
    置に記憶される情報ユニットのそれぞれ第1および第2
    サブセットである情報ユニットを各々有するものにおい
    て、 (a) 外部制御装置より第1インデックスを受信し、 (b) 第1メモリ装置で、第1インデックスに関連す
    る第1情報ユニットを検索し、 (c) 第1情報ユニットが第1キャッシュ装置に存在
    する場合、第1情報ユニットが見つかったことを示す第
    1表示を通信し、 (d) 第1情報ユニットに組込まれた第2インデック
    スを第1メモリ装置から受信し、 (e) 第2キャッシュ装置で、第2インデックスに関
    連する第2情報ユニットを検索し、 (f) 第2情報ユニットが第2キャッシュ装置に存在
    する場合、第2情報ユニットが見つかったことを示す第
    2表示を出力し、 (g) 第1インデックスに関連する第1情報ユニット
    が第1キャッシュ装置に存在しない場合、 (1) 直接メモリアクセス動作を前記関連する外部メ
    モリ装置に実行して、第1インデックスに関連する第1
    情報ユニットを読出し、その第1情報ユニットを第1キ
    ャッシュ装置に記憶し、 (2) 第1キャッシュ装置に関連する第1情報ユニッ
    トが第1キャッシュ装置内に存在することを示す第1表
    示を通信し、 (h) 第2インデックスに関連する第2情報ユニット
    が第2キャッシュ装置に存在しない場合、 (1) 直接メモリアクセス動作を前記関連する外部メ
    モリ装置に実行して、第2インデックスに関連する第2
    情報ユニットを読出し、その第2情報ユニットを第2キ
    ャッシュ装置に記憶し、 (2) 第2キャッシュ装置に関連する第2情報ユニッ
    トが第2キャッシュ装置内に存在することを示す第2表
    示を通信する、 ステップを有することを特徴とする方法。
  12. 【請求項12】第1メモリ装置、第2メモリ装置、およ
    びキャッシュコントローラを備えたリンクキャッシュ装
    置で情報ユニットを記憶および検索する方法であって、
    該第1および第2メモリ装置は、関連する外部メモリ装
    置に記憶される情報ユニットのそれぞれ第1および第2
    サブセットである情報ユニットを各々有するものにおい
    て、 (a) 外部制御装置より第1インデックスを受信し、 (b) 第1メモリ装置で、第1インデックスに関連す
    る第1情報ユニットを検索し、 (c) 第1情報ユニットが第1キャッシュ装置に存在
    する場合、第1情報ユニットが見つかったことを示す第
    1表示を通信し、 (d) 第1情報ユニットに組込まれた第2インデック
    スを第1メモリ装置から受信し、 (e) 第2キャッシュ装置で、第2インデックスに関
    連する第2情報ユニットを検索し、 (f) 第2情報ユニットが第2キャッシュ装置に存在
    する場合、第2情報ユニットが見つかったことを示す第
    2表示を出力し、 (g) 第1および第2キャッシュ装置が第1および第
    2情報ユニットを見つけたことを示す第1および第2表
    示を、キャッシュコントローラより受信し、 (h) 第1および第2表示の両方の受信に応じて、第
    1および第2情報ユニットの出力を可能にし、 (i) 前記外部メモリ装置からの情報を読出すための
    直接メモリアクセス動作を実行する、 ステップを有することを特徴とする方法。
  13. 【請求項13】第1メモリ装置、第2メモリ装置、およ
    びキャッシュコントローラを備えたリンクキャッシュ装
    置で情報ユニットを記憶および検索する方法であって、
    該第1および第2メモリ装置は、関連する外部メモリ装
    置に記憶される情報ユニットのそれぞれ第1および第2
    サブセットである情報ユニットを各々有するものにおい
    て、 (a) 外部制御装置より第1インデックスを受信し、 (b) 第1メモリ装置で、第1インデックスに関連す
    る第1情報ユニットを検索し、該第1情報ユニットが交
    換コンテキストであり、 (c) 第1情報ユニットが第1キャッシュ装置に存在
    する場合、第1情報ユニットが見つかったことを示す第
    1表示を通信し、 (d) 第1情報ユニットに組込まれた第2インデック
    スを第1メモリ装置から受信し、 (e) 第2キャッシュ装置で、第2インデックスに関
    連する第2情報ユニットを検索し、該第2情報ユニット
    がポートコンテキストであり、 (f) 第2情報ユニットが第2キャッシュ装置に存在
    する場合、第2情報ユニットが見つかったことを示す第
    2表示を出力し、 (g) 第1および第2キャッシュ装置が第1および第
    2情報ユニットを見つけたことを示す第1および第2表
    示を、キャッシュコントローラより受信し、 (h) 第1および第2表示の両方の受信に応じて、第
    1および第2情報ユニットの出力を可能にし、 (i) 第1情報ユニットが使用されている時に、該第
    1情報ユニットが変更されることを防ぐために第1メモ
    リ装置をロックし、また、第2情報ユニットが使用され
    ている時に、該第2情報ユニットが変更されることを防
    ぐために第2メモリ装置をロックし、 (j) 前記交換コンテキストとポートコンテキスト
    を、送信または受信されるデータのフレームと関連さ
    せ、 (k) 前記ポートコンテキストまたは交換コンテキス
    トが受信されるフレームに関連して使用される時に、受
    信ロックビットを起動する、 ステップを有することを特徴とする方法。
  14. 【請求項14】第1メモリ装置、第2メモリ装置、およ
    びキャッシュコントローラを備えたリンクキャッシュ装
    置で情報ユニットを記憶および検索する方法であって、
    該第1および第2メモリ装置は、関連する外部メモリ装
    置に記憶される情報ユニットのそれぞれ第1および第2
    サブセットである情報ユニットを各々有するものにおい
    て、 (a) 外部制御装置より第1インデックスを受信し、 (b) 第1メモリ装置で、第1インデックスに関連す
    る第1情報ユニットを検索し、該第1情報ユニットが交
    換コンテキストであり、 (c) 第1情報ユニットが第1キャッシュ装置に存在
    する場合、第1情報ユニットが見つかったことを示す第
    1表示を通信し、 (d) 第1情報ユニットに組込まれた第2インデック
    スを第1メモリ装置から受信し、 (e) 第2キャッシュ装置で、第2インデックスに関
    連する第2情報ユニットを検索し、該第2情報ユニット
    がポートコテキストであり、 (f) 第2情報ユニットが第2キャッシュ装置に存在
    する場合、第2情報ユニットが見つかったことを示す第
    2表示を出力し、 (g) 第1および第2キャッシュ装置が第1および第
    2情報ユニットを見つけたことを示す第1および第2表
    示を、キャッシュコントローラより受信し、 (h) 第1および第2表示の両方の受信に応じて、第
    1および第2情報ユニットの出力を可能にし、 (i) 第1情報ユニットが使用されている時に、該第
    1情報ユニットが変更されることを防ぐために第1メモ
    リ装置をロックし、また、第2情報ユニットが使用され
    ている時に、該第2情報ユニットが変更されることを防
    ぐために第2メモリ装置をロックし、 (j) 前記交換コンテキストとポートコンテキスト
    を、送信または受信されるデータのフレームと関連さ
    せ、 (k) 前記ポートコンテキストまたは交換コンテキス
    トが送信されるフレームに関連して使用される時に、送
    信ロックビットを起動する、 ステップを有することを特徴とする方法。
  15. 【請求項15】(r) 第1および第2キャッシュ装置
    からの出力は前記調整コントローラに連結されるもので
    あり、 (s) もし見つかれば、第1インデックスに関連する
    第1情報ユニットと、第2インデックスに関連する第2
    情報ユニットは第1および第2キャッシュ装置よりそれ
    ぞれ受信されるものであり、 (t) 第1および第2表示が受信された場合のみ、前
    記調整コントローラは第1および第2情報ユニットを出
    力するものである、 ことを特徴とする請求の範囲7記載の通信アダプタ。
JP53589396A 1995-05-26 1996-05-24 コンテキストデータ検索用のリンクキャッシュ Expired - Fee Related JP3288712B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US45227495A 1995-05-26 1995-05-26
US08/452,274 1995-05-26
PCT/US1996/007636 WO1996037845A1 (en) 1995-05-26 1996-05-24 Linked caches for context data search

Publications (2)

Publication Number Publication Date
JPH10513591A JPH10513591A (ja) 1998-12-22
JP3288712B2 true JP3288712B2 (ja) 2002-06-04

Family

ID=23795833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53589396A Expired - Fee Related JP3288712B2 (ja) 1995-05-26 1996-05-24 コンテキストデータ検索用のリンクキャッシュ

Country Status (7)

Country Link
US (1) US5745727A (ja)
EP (1) EP0834131A4 (ja)
JP (1) JP3288712B2 (ja)
KR (1) KR100299358B1 (ja)
AU (1) AU5875996A (ja)
CA (1) CA2221797C (ja)
WO (1) WO1996037845A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5678020A (en) * 1994-01-04 1997-10-14 Intel Corporation Memory subsystem wherein a single processor chip controls multiple cache memory chips
US6118776A (en) * 1997-02-18 2000-09-12 Vixel Corporation Methods and apparatus for fiber channel interconnection of private loop devices
US6185203B1 (en) * 1997-02-18 2001-02-06 Vixel Corporation Fibre channel switching fabric
US5956723A (en) * 1997-03-21 1999-09-21 Lsi Logic Corporation Maintaining identifier information in a memory using unique identifiers as a linked list
US6356944B1 (en) * 1997-03-31 2002-03-12 Compaq Information Technologies Group, L.P. System and method for increasing write performance in a fibre channel environment
FR2761802B1 (fr) * 1997-04-08 1999-06-18 Sgs Thomson Microelectronics Ensemble de deux memoires sur un meme circuit integre monolithique
US6493825B1 (en) * 1998-06-29 2002-12-10 Emc Corporation Authentication of a host processor requesting service in a data processing network
US6243791B1 (en) * 1998-08-13 2001-06-05 Hewlett-Packard Company Method and architecture for data coherency in set-associative caches including heterogeneous cache sets having different characteristics
US6825848B1 (en) * 1999-09-17 2004-11-30 S3 Graphics Co., Ltd. Synchronized two-level graphics processing cache
US7475124B2 (en) * 2002-09-25 2009-01-06 Emc Corporation Network block services for client access of network-attached data storage in an IP network
US8244880B2 (en) * 2003-10-22 2012-08-14 International Business Machines Corporation Connection management method, system, and program product
AU2003304561A1 (en) * 2003-10-22 2005-06-08 International Business Machines Corporation Connection management method, system, and program product
US20080133836A1 (en) * 2006-11-30 2008-06-05 Magid Robert M Apparatus, system, and method for a defined multilevel cache
KR101259395B1 (ko) * 2011-05-24 2013-04-30 어보브반도체 주식회사 마이크로 컨트롤러 및 그의 동작방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4670839A (en) * 1982-09-27 1987-06-02 Data General Corporation Encachement apparatus using two caches each responsive to a key for simultaneously accessing and combining data therefrom
EP0463874A2 (en) * 1990-06-29 1992-01-02 Digital Equipment Corporation Cache arrangement for file system in digital data processing system
WO1994027222A1 (de) * 1993-05-10 1994-11-24 Jochen Liedtke Verfahren zum umsetzen einer virtuellen speicheradresse mit einer ersten länge in eine realadresse mit einer zweiten länge
EP0675443A1 (en) * 1994-03-30 1995-10-04 Digital Equipment Corporation Apparatus and method for accessing direct mapped cache

Also Published As

Publication number Publication date
KR19990022010A (ko) 1999-03-25
WO1996037845A1 (en) 1996-11-28
EP0834131A1 (en) 1998-04-08
EP0834131A4 (en) 2001-10-31
CA2221797A1 (en) 1996-11-28
CA2221797C (en) 2000-08-22
US5745727A (en) 1998-04-28
KR100299358B1 (ko) 2001-09-03
AU5875996A (en) 1996-12-11
JPH10513591A (ja) 1998-12-22

Similar Documents

Publication Publication Date Title
JP2802043B2 (ja) クロック故障検出回路
US6385705B1 (en) Circuit and method for maintaining order of memory access requests initiated by devices in a multiprocessor system
US6065087A (en) Architecture for a high-performance network/bus multiplexer interconnecting a network and a bus that transport data using multiple protocols
JP3288712B2 (ja) コンテキストデータ検索用のリンクキャッシュ
KR100252570B1 (ko) 축소된요구블로킹을갖는캐시메모리
KR100962769B1 (ko) 수퍼차지 메시지 교환기
US20050235072A1 (en) Data storage controller
US6061274A (en) Methods and apparatus for message transfer in computer storage system
US5594927A (en) Apparatus and method for aligning data transferred via DMA using a barrel shifter and a buffer comprising of byte-wide, individually addressabe FIFO circuits
JP2000514941A (ja) バスから収集されたデータに対するパリティ発生フライバルxor
US6105076A (en) Method, system, and program for performing data transfer operations on user data
US5845145A (en) System for generating and sending a critical-world-first data response packet by creating response packet having data ordered in the order best matching the desired order
US7487298B2 (en) Disk array device, method for controlling the disk array device and storage system
JP2587190B2 (ja) システム間チャネルページング機構
JP3122606B2 (ja) メッセージ受信制御方式
US6516343B1 (en) Computer system and method for enhancing memory-to-memory copy transactions by utilizing multiple system control units
US7430634B2 (en) Data transfer apparatus and data transfer method
US6847990B2 (en) Data transfer unit with support for multiple coherency granules
US5546560A (en) Device and method for reducing bus activity in a computer system having multiple bus-masters
US6594726B1 (en) Digital data storage subsystem including arrangement for efficiently controlling fast write storage operation
US20020184427A1 (en) Data transmission sequencing method associated with briding device and application system
JP2636760B2 (ja) マルチプロセッサシステム
JPS6319856Y2 (ja)
JPH04163664A (ja) 分散メモリ型の並列計算機システム
JPH02253357A (ja) ディスク・キャッシュ装置

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees