JPH10240621A - マルチプロセッサ・コンピュータ・システム - Google Patents
マルチプロセッサ・コンピュータ・システムInfo
- Publication number
- JPH10240621A JPH10240621A JP9301323A JP30132397A JPH10240621A JP H10240621 A JPH10240621 A JP H10240621A JP 9301323 A JP9301323 A JP 9301323A JP 30132397 A JP30132397 A JP 30132397A JP H10240621 A JPH10240621 A JP H10240621A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- cache
- line
- state
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/0826—Limited pointers directories; State-only directories without pointers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/082—Associative directories
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Abstract
レンシーを採用しているシステムにおいて、メモリの利
用を改善する方法を提供する。 【解決手段】 コンピュータ・システムは共有されてい
るシステム・メモリ105A,Bの中に存在するデータ
のラインと、データ・キャッシュ・メモリ121A,B
の中に存在しているデータのラインとの間の無矛盾性を
維持するために、ディレクトリ・ベースのキャッシュ・
コヒーレンシー・スキームをもち、共有されているシス
テム・メモリのライン・ステータス情報をキャッシュす
るために共有されているシステム・メモリに関連するス
テート・キャッシュ・メモリをもっている。
Description
ャッシュ・メモリおよび1つの共有メモリを備えるマル
チプロセッサ・コンピュータ・システムに関し、特に、
キャッシュのコヒーレンシーを維持するためにディレク
トリ・ベースのプロトコルを採用しているマルチプロセ
ッサ・コンピュータ・システムに関する。
去数年間にコンピュータ・システムの性能、スピード、
集積密度、容量においてほとんど指数関数的な増加が見
られた。これらの改善の結果、コンピュータ・システム
に対するコストの減少と共に、コンピュータ・システム
の利用がさらに拡大され、より高度な、そしてリソース
集中型のコンピュータ・アプリケーションが開発され
た。最近の歴史的な傾向によると、アプリケーションに
必要なメモリの容量は年当たり2倍で増加している。コ
ンピュータ・システムおよびその部品のコストは近年に
おいて着実に低下してきたが、システムのメイン・メモ
リおよびキャッシュ・メモリにおいて利用される高速の
RAMメモリは、依然としてコンピュータ・システムの
内部での最もコストの高いコンポーネントの1つとなっ
ている。
およびオペレーティング・システムのソフトウェアの一
時記憶のために主として使われるシステム・メモリおよ
びキャッシュ・メモリも、パリティ・ビット、キャッシ
ュのコヒーレンシー状態の情報、および誤り検出および
/または訂正用シンドローム・ビットを記憶するため
に、より高度なマルチプロセッサ・システムの内部で利
用されつつある。これらのマルチプロセッサ・システム
の追加のメモリ要求、および先進のオペレーティング・
システムおよびアプリケーションのより高いメモリ需要
の結果、高速のRAMに対する需要およびコストが増大
した。
を利用するため、およびシステムおよびキャッシュの必
要メモリ量を減らすための、より効率的な方法が望まれ
ている。
リ・ベースのキャッシュ・コヒーレンシーを採用してい
るコンピュータ・システムの内部において、メモリの利
用を改善するための新しい、そして有用な方法を提供す
ることである。
プロセッサ・コンピュータ・システムは、複数のプロセ
ッサ、およびメモリ・システムを含み、メモリ・システ
ムは、複数のデータ・キャッシュ・メモリと、前記複数
のプロセッサによって共有される1つのシステム・メモ
リとを含み、少なくとも1つのデータ・キャッシュ・メ
モリが前記プロセッサの各1つに関連し、前記メモリ・
システムは前記共有メモリのラインに対するライン・ス
テータス情報を格納するための手段を備えていて、前記
ライン・ステータス情報を格納するための手段は、前記
共有のシステム・メモリに関連し、メモリのライン・ス
テータス情報をキャッシュするための手段が備えられて
いるステート・キャッシュ・メモリを含むことを特徴と
する。
キャッシュ・メモリのサイズは任意の一時点において、
システム・メモリのすべてが利用(キャッシュ)される
ことはほとんどないという認識において、システム・メ
モリの中に含まれているラインの16分の1程度のライ
ンのためのステート情報を記憶するためのサイズとなっ
ている。上記のステート・キャッシュは直接マップ型の
キャッシュであって、メモリの関連するラインに対する
ステート情報は、タグ・フィールドと一緒にステート・
キャッシュの内部に格納され、タグ・フィールドは関連
するメモリ・ラインのアドレスの最初の4ビットであ
り、残りのアドレス・ビットによってステート・キャッ
シュの内部でインデックスされる。
ム・メモリの中に存在しているデータのラインと、マル
チプロセッサ・コンピュータ・システムのデータ・キャ
ッシュ・メモリの中のデータ・ラインとの間の無矛盾性
を維持する方法が提供される。そのマルチプロセッサ・
コンピュータ・システムは複数のプロセッサを含み、各
プロセッサはシステム・メモリを共有し、その中で少な
くとも1つのデータ・キャッシュ・メモリが前記プロセ
ッサのそれぞれ1つと関係付けられていて、その方法は
共有されるシステム・メモリのラインに対するライン・
ステータス情報を格納するステップを含み、その方法は
共有されるシステム・メモリのラインに対するライン・
ステータス情報をステータス・キャッシュ・メモリの中
にキャッシュするステップを含むことを特徴とする。
に説明するが、これは単なる例示としてのものにすぎな
い。
は、NCRが開発したシステム技法を利用している先進
のマルチプロセッサ・アーキテクチャを開発した。ま
た、このアーキテクチャは標準のハイ・ボリューム(S
HV)コンポーネント、例えば、IntelのPent
ium Proプロセッサ、PCI I/Oチップセッ
ト、pentium Proチップセット、Penti
um Proバス・トポロジー(P6)、および標準の
メモリ・モジュール(SIMMおよびDIMM)などを
有利に使用している。NCRのシステム技法を標準のS
HVコンポーネントと慎重に統合化することによって、
NCRは世界クラスのスケーラビリティおよび機能の内
容を提供することができ、しかもSHVに資本を投資
し、そしてフル・カスタムの開発に関連する欠点を無く
している。このアーキテクチャの1つの実装が図1に示
されている。
よびBによって識別される2つの4プロセッサ・ビルデ
ィング・ブロックまたはコンプレックスから形成され
る、8プロセッサのSMPシステムが示されている。各
コンプレックスは同一の構造およびコンポーネントを含
み、それぞれコンプレックス「A」および「B」に対し
てAまたはBのいずれかで終わる参照番号によって識別
されている。
テムの部分が高バンド幅のスプリット・トランザクショ
ン・プロセッサ・バス103Aに接続されている、4台
までのプロセッサ101Aを含む図が示されている。各
プロセッサ301Aにはキャッシュ・メモリ321Aが
関連付けられている。システム・メモリ105Aは先進
のデュアルポート型のメモリ・コントローラ107Aを
通じてバス103Aに接続されている。プロセッサ・バ
ス103Aはメモリ・コントローラ107Aの第1ポー
トに接続されている。第2のメモリ・コントローラのポ
ートは高バンド幅のI/Oバス115(このバスはここ
では拡張バスとも呼ばれる)に接続され、そのバスは複
数のPCI I/Oインターフェース109Aに対する
接続を提供する。先進のメモリ・コントローラ107A
を例外として、これらのコンポーネントのすべては現在
商品として入手できるコンポーネントである。例えば、
プロセッサ101AはIntelのPentium P
roプロセッサであり、バス103Aおよび115はP
entium Pro(P6)のバス・トポロジーであ
ってよい。
07Aはプロセッサ・バス103AとI/Oバス15と
の間のすべての方向におけるすべての制御およびデータ
の流れを管理する。I/Oバスは以下に説明されるよう
に、P6からPCI I/Oへのブリッジおよび、別の
プロセッサ・バスへ接続するための別のAMC ASI
Cを含んでいてもよい。また、AMC 107Aはコヒ
ーレントDRAMメモリ・アレイに対するアクセスも制
御する。現在実装されているようなAMCは、制御およ
びデータのスライスASICペアから構成されている。
はコンプレックスAと構造が同じである。この2つのコ
ンプレックスは拡張バス115によって相互に接続され
ており、共有されるI/Oデバイス、キャッシュ・メモ
リおよび他のコンポーネント以外に、プロセッサ101
Aと101Bとの間、およびシステム・メモリ105A
と105Bとの間の通信を可能にしている。
はプロセッサ・バス上でバス・スヌーピング・プロトコ
ルを使う。バス・スヌーピングはプロセッサとメモリと
の間でのデータの転送を追跡管理する方法である。少数
の密結合プロセッサによるこのシステムに対する性能上
の利点が存在する。1つのプロセッサが同じバス上で別
のプロセッサのデータ・キャッシュの中にあるデータを
必要とする場合、そのデータは両方のプロセッサによっ
て共有することができる。そうでない場合、そのデータ
はメイン・メモリ105Aまたは105Bから呼び出さ
れなければならず、それはシステム・バスのトラヒック
を必要とする、より時間の掛かる動作である。この方法
はシステム・バスの競合を減らすことによってシステム
の性能を高める。
ャは次の特徴を含む。
そして通常よく使われるチップ(IOBなど)をサポー
トしている。
ーラ107Aおよび107Bによってデュアル・バスの
接続および利用ができ、各バスは64ビットのバンド幅
で66MHzで動作し、533MB/秒のデータ転送レ
ートを維持することができる。
ングを減らし、IOB間のトラヒックとは無関係に動作
することができる、プロセッサからメモリへのプライベ
ートな径路を備えることによって、より大きなスケーラ
ビリティを提供する。
を拡張バス115に接続することができる。
ン処理(High Availability Tra
nsaction Processing)(HAT
P)およびスケーラブル・データ・ウェアハウス(Sc
aleable Data Warehouse)(S
DW)サーバのニーズを満たすことができ、一方、コン
ピュータ業界のSHVの動きに沿っている。
ピードを改善し、プロセッサが従来型のDRAMメイン
・メモリの遅いスピードで動作するのではなく、キャッ
シュ・メモリの速い速度で効果的に動作できることによ
って提供される利点はよく知られている。キャッシュ・
メモリはメイン・メモリよりもその関連するプロセッサ
に対して情報をより速く提供する。したがって、読出し
サイクルが改善される。キャッシュ・メモリはそれに関
連するプロセッサから情報を高いレートで受信し、キャ
ッシュがプロセッサとは独立に、必要に応じてメイン・
メモリへ書き込んでいる間にプロセッサが処理を継続す
ることができるようにするので、書込みサイクルも改善
される。しかし、マルチプロセッサ・システムの内部
で、121Aおよび121Bなどのキャッシュ・メモリ
を使うことは追加の利点を提供する。メモリまたはシス
テムのバスをより効果的に利用することによって、シス
テムの性能が改善される。メモリ・バス上のトラヒック
が減少する。各データの読出しおよび書込みの動作はメ
イン・メモリを関与させる必要がなく、データは適宜バ
ースト・サイクルを実行することによって、データ・キ
ャッシュとメイン・メモリとの間で交換することができ
る。
るシステム、そして特に複数のデータ・キャッシュ・メ
モリおよび複数レベルのデータ・キャッシュ・メモリを
採用しているシステムにおいて、指定されたメモリ・ロ
ケーションからのデータが、メイン・メモリの中および
1つまたはそれ以上のデータ・キャッシュ・メモリの中
に同時に存在する可能性がある。しかし、メイン・メモ
リの中およびデータ・キャッシュ・メモリの中のデータ
は常に同じであるとは限らない。これはマイクロプロセ
ッサがメイン・メモリおよび他のデータ・キャッシュ・
メモリを更新せずに、自分に関連付けられているデータ
・キャッシュ・メモリの中に含まれているデータを更新
する時、あるいは、別のバス・マスタがマイクロプロセ
ッサのデータ・キャッシュ・メモリの中にあるコピーを
更新せずに、メイン・メモリの中のデータを変更する時
に発生する可能性がある。
ル105Aおよび105Bおよび各種のデータ・キャッ
シュ・メモリの間のデータの転送を追跡するために、シ
ステムはメモリとキャッシュベースのコヒーレンシーの
ハイブリッドを利用する。システム・メモリとキャッシ
ング・エージェント、すなわち、システム・バス・プロ
セッサとの間のコヒーレンシーは中央集中型/分散型の
ディレクトリ・ベースのキャッシュの組合せのコヒーレ
ンシーによって維持される。
ーレンシーの方式は、プロセッサとメモリとの間のデー
タ転送を追跡管理する1つの方法である。データのコヒ
ーレンシーに対するこの方式によって、メモリのステー
タス・テーブルが、どのプロセッサがそれぞれに関連す
るデータ・キャッシュ・メモリの中のメモリのどのライ
ンを所有しているかを識別する。1つのプロセッサがデ
ータを要求した時、ステータス・テーブルはそのデータ
の最近のコピーが存在しているメイン・メモリまたはプ
ロセッサのデータ・キャッシュの内部のロケーションを
識別する。この方法の利点は、プロセッサがスヌーピン
グによってアクセスできないキャッシュ内に存在してい
るデータにアクセスする必要が生じるまで、追加の作業
が実行される必要がないことである。ディレクトリ・ベ
ースのキャッシュ・コヒーレンシーは、システム・バス
上に密結合型のプロセッサが多数存在している場合に最
も有効である。
されている中央集中型/分散型ディレクトリ・ベースの
キャッシュ・コヒーレンシー方式は、2つのディレクト
リ・エレメントから構成されている。ディレクトリ・ス
キームの内部の中央のエレメントはシステム・メモリの
中にあり、そしてメモリ・ライン・ステータス・テーブ
ル(Memory Line Status Tabl
e)(MLST)と呼ばれる。システム・メモリの内部
の各メモリ・ラインは、MLSTの中に1つの対応して
いるエントリを含む。この対応しているエントリは1つ
のラインがキャッシュされているかどうか、そしてその
場合に、それが1つのプロセッサ(またはバス)によっ
て独占的に所有されているか、あるいは複数のプロセッ
サ(またはバス)に渡って共有されているかどうかを示
している情報を含む。ディレクトリ・スキームおよびM
LSTはシステム・バスによって、あるいはプロセッサ
によってメモリ・ラインの所有権を識別するためにセッ
トアップすることができる。「ビット・パー・バス(b
it‐per‐bus)」のMLSTはバス・ベースで
の所有権を識別し、一方、粒度のより細かい「ビット・
パー・プロセッサ(bit‐per‐processo
r)」のMLSTは、プロセッサ・ベースでの所有権を
識別する。その違いはメモリの設計に特有のものであ
り、したがって、システム・バス上の他のデバイスに対
してはトランスペアレントであることに留意されたい。
テム・メモリを示している。このメモリは32バイトの
ブロック・サイズ、すなわちライン・サイズの225個の
ブロックまたはラインを備えている。また、各ラインは
ステート情報を記憶するための追加のいくつかのビット
を含んでいる。ステート情報の記憶に対して専用に使わ
れているメモリのセクションがMLSTを形成する。
ロセッサのデータ・キャッシュのディレクトリの内部に
ローカルに存在している。特定のプロセッサに関連する
そのエレメントは、プロセッサ・ライン・ステータス・
テーブル(Processor Line Statu
s Table)(PLST)と呼ばれている。各キャ
ッシュ・ラインはPLSTの中に対応しているエントリ
を有する。ローカル・プロセッサの視点からは、このエ
ントリはメイン・メモリのラインの有効なコピーをライ
ンが含んでいるかどうか、そしてその場合に、そのライ
ンへの変更がシステムの他の部分に対してブロードキャ
ストされなければならないかどうかを示している情報を
含む。システムの視点からは、各プロセッサのPLST
はメモリ・インターベンション・コマンド(Memor
y InterventionCommands)(M
IC)として知られている特殊なシステム・バス・サイ
クルに対するスレーブである。これらのサイクルは特定
のラインのローカル・ステートについてPLSTに問い
合わせ、そして/またはPLSTがそのローカル・ステ
ートを変更するように知らせる。各データ・キャッシュ
・メモリおよびその関連するPLSTの構造は、図2に
示されているシステム・メモリの構造に類似している。
ィファイド(変更)‐エクスクルーシブ(排他的)‐シ
ェアード(共有)‐インバリッド(無効)(Modif
ied‐Exclusive‐Shared‐Inva
lid)(MESI)ステート・ビットから構成されて
いる。このMESIキャッシュのコヒーレンシー・プロ
トコルはメイン・メモリとデータ・キャッシュ・メモリ
との間のデータの無矛盾性を維持するためのハードウェ
ア実装型のプロトコルである。MESIハードウェア・
キャッシュ・コヒーレンシー・プロトコルの代表的な実
装では、次のことができるキャッシュ・コントローラの
利用が必要である。
に対して同じライン・サイズを使用する。
ティを観察する。
に対するステート情報を維持する。
モリの内部でのデータの無矛盾性を維持するための適当
なアクションを取る。
うか、それが他のキャッシュの中で利用できるかどう
か、およびそれが変更されているかどうかを定義する4
つのステートを表す。キャッシュの中のデータの各ライ
ンはそのデータのラインがMODIFIED(変更され
ている)、EXCLUSIVE(排他的)、SHARE
D(共有されている)、またはINVALID(無効)
であるかどうかを示す1つの関連するフィールドを含
む。プロセッサ・ライン・ステータス・テーブルの内部
では、各キャッシュ・ラインは次の4つの可能なMES
Iステートの1つにマークされている。
(PM)‐このステートはこのキャッシュの中だけで排
他的に利用され、そして変更されているデータのライン
を示す。変更されているデータはプロセッサから変更が
加えられたものである。変更されたラインは共有メモリ
・バスを獲得せずにキャッシュの中でローカルに更新す
ることができる。システムの中のいくつかの他のデバイ
スがこのラインを必要とする場合、それを所有している
キャッシュがそのデータを供給しなければならない。
‐ このステートはこのキャッシュの中だけで排他的に
利用されるデータのラインを示し、このラインは変更さ
れていないこと(メイン・メモリも有効なコピーを持っ
ている)、およびローカル・プロセッサがシステムに通
知せずにこのラインを自由に変更できることを示す。排
他的なデータはそれに何らかの方法で変更が加えられる
まで他のプロセッサからは使うことができない。排他的
なラインに対して書き込むことによって、それは変更さ
れた状態に変化し、他のキャッシュに知らせることなし
に変更を行うことができ、したがって、メモリ・バスの
アクティビティは発生されない。PEのステートにある
ラインはMLSTの中でMOとマークされる。これにつ
いては以下に説明される。
S)‐ このステートは他のキャッシュと共有されてい
る可能性があるデータのライン(同じラインが1つまた
はそれ以上のキャッシュの中に存在する可能性がある)
を示す。共有されているデータは複数のプロセッサの間
で共有されている可能性があり、複数のキャッシュの中
に格納されている可能性がある。共有されているライン
はメイン・メモリにアクセスせずに、ローカルのプロセ
ッサによって読むことができる。ローカルに共有されて
いるとマークされているマークに対してプロセッサが書
き込む時、それはその書込みをシステムに対してもブロ
ードキャストしなければならない。
のステートはデータのラインがそのキャッシュの中で利
用できないことを示す。特定のキャッシュの中の無効デ
ータは、診断または同様な使用以外には後で処理のため
に使われることはない。このラインに対する読出しは
「ミス」(利用できない)となる。このラインに対する
書込みによって、メモリ・バスに対するライトスルー・
サイクルが発生する。すべてのキャッシュ・ラインはシ
ステムの初期化時にこの(PI)ステートへリセットさ
れる。
がメモリの1つのラインを所有している時、それが変更
されているか、あるいは排他的であるかどうかにかかわ
らず、メイン・メモリの中のメモリのその所有されてい
るラインに対して書込みを行うと、そのプロセッサのデ
ータ・キャッシュ・メモリの中に含まれている同じデー
タが即時に更新されることになる。
次の3つの可能なステート、すなわち、NOT CAC
HED(キャッシュされていない)(MNC)、SHA
RED(共有されている)(MS)、およびOWNED
(所有されている)(MO)のうちの1つにメモリ・ラ
インをマークする。文字MはこれらのステートをPLS
Tのステートと区別するものであり、PLSTのステー
トは文字Pを使うことによって識別されている。その他
に、バスまたはプロセッサ・ベースのいずれかにおける
共有または所有を示しているバス/またはプロセッサの
ステート・ビットがある。
ていない)(MNC):どのキャッシュの中にもそのラ
インのコピーがないことを示す。すべてのメモリ・ライ
ンはシステムの初期化時にその(MNC)ステートにリ
セットされなければならない。
いる状態)(MS):1つまたはそれ以上のキャッシュ
がそのラインのコピーを持っている可能性があることを
示す。
る状態)(MO):1つのキャッシュ、そしてただ1つ
のキャッシュだけにそのラインのコピーがあることを示
し、そしてメモリの中のデータはそれにマッチしない可
能性がある(メモリのデータは古くなっていると推測さ
れる)ことを示す。
で「可能性がある」という言葉が使われていることに留
意されたい。MLSTの中に特定のメモリ・ラインに関
する最新の情報がない、いくつかの状況がある。例え
ば、MLSTは1つのラインが2つの特定のプロセッサ
によって共有されているとしてマークする可能性があ
る。というのは、MLSTはその2つのプロセッサの両
方がそれを読むのを見たからである。しかし、両方のプ
ロセッサはMLSTに通知せずに新しいデータのための
余地を作るためにそのラインを捨てた(「サイレント置
換」と呼ばれる)時以来、長い時間が経っている可能性
がある。MLSTは或るマスタがMICを強制すること
によってそのラインに対してアクセスする時、常に特定
のラインの最新の状態に自然に「キャッチアップ」す
る。この例においては、このラインに対する第3のプロ
セッサに対する書込みによって(現在は不必要である)
MICが他のキャッシュされたコピーの無効化が起動さ
れ、そしてそのMLSTが最新の状態に更新される。し
かし、MLSTは常にキャッシュ・ラインのステートに
ついて保守的な観点を保持する。すなわち、1つのプロ
セッサによって所有されるか、あるいは共有されている
ラインは常にそのMLSTの中で正しくマークされてい
る。そのMLSTの中の「古い」情報は最早どのプロセ
ッサのデータ・キャッシュの中にも存在しない「所有さ
れている」、あるいは「共有されている」としてマーク
されているラインの形式を取る。
セッサのベースのいずれかにおいて共有または所有を示
している、追加のバスおよび/またはプロセッサのステ
ートを含む。
us)プロトコルはライン当たりに3つのメモリ・ステ
ート・ビットを使ってそのラインの現在の状態を示す。
1つのビットは共有されているか、あるいは所有されて
いるかを示し、そして他の2つのビットはどのバス(A
またはB)または複数のバス(AおよびB)がその共有
された、あるいは所有されたラインを持っているかを示
す。バスの所有権はそのバス上のプロセッサの1つがそ
のラインを所有していることを示す。ラインは1つのプ
ロセッサだけによって所有され、したがって、1つのバ
スだけによって所有される可能性があることに留意され
たい。共有されているラインは各バス上の1つまたはそ
れ以上のプロセッサによって共有されている可能性があ
る。
essor)プロトコルの場合、そのラインの現在状態
を示すためにライン当たりのn+1個のビット(nはプ
ロセッサの数に等しい)から構成されるMLSTがあ
る。1つのビットはそのラインが共有されている(M
S)か、または所有されている(MO)かのいずれかで
あることを示し、そして他のn個のビットはどのプロセ
ッサまたは複数のプロセッサがそのラインをキャッシュ
しているかを示す。特定のプロセッサにPiの番号が付
けられる。ここでi=0〜n−1である。iが偶数であ
るすべてのPiはバスA上にあり、iが奇数であるすべ
てのPiがバスB上にある。プロセッサの所有権はどの
プロセッサ(1つだけ)がそのラインを所有しているか
を示す。共有されているラインはいずれか、あるいは両
方のバス上で1つまたはそれ以上のプロセッサによって
共有される可能性がある。
ム、例えば、説明されている中央集中型/分散型のディ
レクトリ・ベースのキャッシュ・コヒーレンシー・スキ
ームはステート情報を記憶するためにかなりな量の追加
のメモリを必要とすることは明らかである。このステー
トの記憶のオーバヘッドは利用できるメモリの全容量の
うちの固定のパーセンテージである。例えば、32バイ
トのブロック・サイズまたはライン・サイズの1ギガバ
イトのシステム・メモリを備えているシステムにおい
て、各ラインは4つの4ビット・ステート情報を含んで
おり、16メガバイトのMLSTがそのステート情報の
記憶のために必要となる。
メモリの量は、そのシステムの内部で採用されているデ
ィレクトリ・ベースのキャッシュ・コヒーレンシー・ス
キーム(例えば、従来型のディレクトリ・ベースのキャ
ッシュ・コヒーレンシー・スキーム)、あるいはビット
・パー・バスまたはビット・パー・プロセッサMLST
プロトコルのいずれかを利用している中央集中型/分散
型のディレクトリ・ベースのキャッシュ・メモリ・コヒ
ーレンシー・スキーム)によって変わる。また、ステー
トの記憶のオーバヘッドは、ビット・パー・プロセッサ
のMLSTプロトコルを利用している中央集中型/分散
型のディレクトリ・ベースのキャッシュ・コヒーレンシ
ー・スキームを採用しているシステムの中のプロセッサ
の数に直接に関係している。
はディレクトリ・ベースのコヒーレンシーによるメモリ
・システムに対するステート情報をキャッシュするため
の方法を提供する。ここで説明される方法は、システム
・メモリのすべてが一度に利用されることはほとんどな
いという認識に基づいて作られている。したがって、ス
テート記憶に必要なメモリの量はアクティブなメモリ・
ラインに対するステートのエントリをキャッシュするこ
とによって、すなわち、MLSTをキャッシュすること
によって減らすことができる。
の代表的なデータ・キャッシュと同様な、ステート情報
に対するキャッシュを提供する。この構造が図3および
4に示されている。
バイトであって、33,554,432(225)百万メ
モリ・ブロックまたはラインに分割されている1ギガバ
イト(229バイト)のサイズのシステム・メモリ105
Aを示している。メモリ105Aの中に格納されている
データは29ビットのアドレス301を提示することに
よってアクセスされる。「X」ビットとして識別されて
いるアドレスの中の25個の上位ビットは、メモリ・ブ
ロックまたはラインの番号を識別する。「W」ビットと
して識別されている次の4個のアドレス・ビットは、そ
のメモリ・ブロックの内部のワードをポイントとし、一
方、下位のアドレス・ビット「B」は1つのワードの内
部のバイトを識別する。
るステート・キャッシュ・メモリ303Aは、「キャッ
シュ・タグRAM」305Aおよび「キャッシュ・デー
タRAM」307Aとして識別されている2つのセクシ
ョンを含む。ステート・キャッシュ・メモリ303Aの
中の各ライン・エントリは、キャッシュ・データRAM
に対してセーブされたステート情報およびキャッシュ・
タグRAMの中に格納される4ビットのタグを含む。
ドレス・ビットの合計数のサブセットによってインデッ
クスされる。アドレス・ビットの残りの部分、すなわ
ち、タグ・ビットは、記憶装置の中の各エントリに対す
る内容の一部である。インデックス・ビットはステート
・キャッシュの中のエントリの個数を定義し、そしてタ
グ・ビットはステート・キャッシュの中の同じエントリ
に対して競合する可能性のあるメモリ・ラインの数を決
定する。インデックス・ビットとタグ・ビットを加えた
ものは、サポートできるメモリ・ラインの合計数を定義
する。本質的に、ステート記憶における削減はタグ・ビ
ットの数によって定義される。例えば、タグ・ビットの
数が4であった場合、この概念に対するステート記憶の
必要量は従来のアーキテクチャの場合の16分の1であ
る。
び動作についてのさらに詳細の情報が図4に示されてい
る。ステート・キャッシュの中のエントリは、メイン・
メモリ105Aをアクセスするために使われるのと同じ
アドレス301を提示することによってアクセスされ
る。そのアドレスの中の4個の上位ビットはタグ・ビッ
トとして識別され、次の21個のアドレス・ビットはイ
ンデックス・ビットとして識別される。これらの25個
のアドレス・ビットは図4の中でXビットとして識別さ
れているのと同じビットであり、それらはメイン・メモ
リ105Aの内部のメモリ・ブロックを識別するために
使われる。
チェックされるべきキャッシュの特定のエントリまたは
ラインを指定するために、アドレスのインデックス・フ
ィールドが使われる。次に、アドレスのタグ・ビットが
その選択されたキャッシュ・ラインのタグと比較され
る。マッチがあった場合、キャッシュ・ヒットが発生
し、その選択されたキャッシュ・ラインに関連するステ
ート・ビットが検索される。
ート情報を格納するために、アドレスのインデックス・
フィールドが使われ、タグおよびステート情報の記憶の
ためのキャッシュの特定のエントリまたはラインが識別
される。最初の4つのアドレス・ビットはキャッシュ・
タグRAMにセーブされ、一方、そのアドレスに関連す
るステート情報はキャッシュ・データRAMにセーブさ
れる。オプションとして、誤り検出および/または誤り
シンドローム・ビットまたはパリティ・ビットをステー
ト・キャッシュ・メモリの中に含めることができる。
マップ型のキャッシュである。しかし、ステート・キャ
ッシュは連想型、セクター型、あるいはデータ・キャッ
シュとしての直接マップ型でもよいことに留意された
い。
ある。読出しまたは書込みの動作がシステム・メモリに
ついて要求されると、ステート・キャッシュはそのプロ
トコルによって変わる必要なコヒーレンシー・サイクル
を決定するためにアクセスされる。ステート・キャッシ
ュの中のタグ情報がメモリ・アドレスの対応しているビ
ットとマッチした場合、その対応しているコヒーレンシ
ー・サイクルが実行されて、そのステートが更新され
る。タグ・マッチがなかった場合、デフォールトステー
トに対するコヒーレンシー動作が実行され(おそらく何
も実行されない)、そして新しいライン・アドレスおよ
びステートがそのステート・キャッシュに対して割り当
てられる。おそらく、既存のエントリがその新しいライ
ンによって置き換えられる。コヒーレンシー動作は置き
換えられたライン・ステートをデフォールトのステート
にするために必要となる可能性がある。これらの置換コ
ヒーレンシー動作はステートの記憶の容量を減らすため
の性能コストであるが、それは上記のように、程良いス
テート・キャッシュ・サイズおよび代表的な作業負荷に
対しては無視できる程度である。
によって提供されるメモリ空間の節約が次の例で示され
る。以前に記述された1ギガバイトのメモリと4ビット
のコヒーレンシー・ステート・フィールドをメモリの1
ライン当たりに必要とするシステムを考える。メモリの
基本コヒーレンシー・ブロックまたはラインは32バイ
トとである。メモリのすべてに対する4ビットのステー
トを格納するためには、16MBのステート・メモリ
(3200万ライン×4ビット/ライン)が必要とな
る。ステート・メモリの中の各エントリは4ビットのタ
グを含み、ステート・メモリはライン当たりの情報の8
ビットを含むことになり、これは従来の量の倍である。
しかし、4ビットのタグのためにラインの数は16分の
1だけで済む。したがって、必要なステート・メモリの
全容量は2MBであり、それは従来の量の8分の1に過
ぎない。そのトレードオフはステート・キャッシュ・エ
ントリの置換が発生する可能性があることであるが、そ
れは比較的少数である。この例においては、ステート・
キャッシュは64MBのデータ・キャッシュ(200万
個のエントリ、それぞれが32バイトのラインを表して
いる)と等価である。
量を減らすための、システム・メモリ105Aについて
のステート・キャッシュ・メモリ303Aの利用を示し
ている。システム・メモリ105Bに関連する第2のス
テート・キャッシュ・メモリ303Bも提供されてい
る。
は、キャッシュされたステート・エントリの置換から結
果として生じる追加のコヒーレンシー・アクションが通
常の転送を妨害することである。しかし、この妨害はほ
とんどの作業負荷に対して程良いサイズのステート・キ
ャッシュの場合は無視できる程度である。また、キャッ
シュされないメモリ・ラインのデフォールト・ステート
は共有型であると仮定され、ほとんどのメモリ操作は所
有されているラインに対してだけはなく、共有されてい
るラインに対するものが普通であるので、置換によって
何らかのアクションが生じることはおそらくほとんどな
い。追加のコヒーレンシー・アクションが発生するの
は、無効化のトランザクションを生じることになる所有
権に対するキャッシュされないラインがアクセスされた
場合だけとなる。
の中にキャッシュ・ステート情報を維持することによっ
てメモリ・システムの必要量を節約する、マルチプロセ
ッサ・コンピュータ・システムのための新しく、そして
有用なディレクトリ・ベースのキャッシュ・コヒーレン
シー・メモリ・システムが、本発明によって提供される
ことが分かる。
8プロセッサのスーパー・ハイ・ボリューム(SHV)
シメントリック・マルチプロセッシング(SMP)コン
ピュータ・システムの単純なブロック図表現である。
であり、メモリのステート情報を格納するための、従来
の技法による、メモリ・ブロックの記憶のための第1の
メモリ領域と、ステート情報の記憶のための第2のメモ
リ領域を示す。
ステート情報を記憶するためのキャッシュ・メモリのブ
ロック図表現である。
ブロック図表現であり、ステート・キャッシュ303の
構造および動作に関して、さらに詳細を提供する。
Claims (2)
- 【請求項1】 複数のプロセッサ(101A、101
B)と、メモリ・システムとを含むマルチプロセッサ・
コンピュータ・システムであって、前記メモリ・システ
ムが、 複数のデータ・キャッシュ・メモリ(121A、121
B)と、 前記複数のプロセッサ(101A、101B)によって
共有されるシステム・メモリ(105A、105B)と
を含み、 少なくとも1つの前記データ・キャッシュ・メモリが前
記プロセッサのそれぞれ1つと関連し、 前記メモリ・システムは共有されているメモリのライン
に対するライン・ステータス情報を格納するための手段
を有し、 前記ライン・ステータス情報を格納するための手段が、 前記共有されているシステム・メモリ(105A)に関
連し、前記メモリのライン・ステータス情報をキャッシ
ュするための手段が装備されているステート・キャッシ
ュ・メモリ(303A、303B)を含むことを特徴と
するマルチプロセッサ・コンピュータ・システム。 - 【請求項2】 マルチプロセッサ・コンピュータ・シス
テムの中の、共有されているシステム・メモリの中に存
在しているデータのラインと、データ・キャッシュ・メ
モリの中のデータのラインとの間の無矛盾性を維持する
方法であって、前記マルチプロセッサ・コンピュータ・
システムが複数のプロセッサ(101A、101B)を
含み、前記複数のプロセッサがシステム・メモリ(10
5A、105B)を共有し、そして少なくとも1つのデ
ータ・キャッシュ・メモリ(121A、121B)が前
記プロセッサ(101A、101B)のそれぞれ1つに
関連し、 前記方法が共有されているシステム・メモリ(105
A、105B)のラインに対するライン・ステータス情
報を格納するステップを含み、 前記方法が共有されているシステム・メモリのラインに
対するライン・ステータス情報をステート・キャッシュ
・メモリ(303A、303B)の中にキャッシュする
ことを特徴とする方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/762,636 | 1996-12-09 | ||
US08/762,636 US5848434A (en) | 1996-12-09 | 1996-12-09 | Method and apparatus for caching state information within a directory-based coherency memory system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10240621A true JPH10240621A (ja) | 1998-09-11 |
Family
ID=25065660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9301323A Pending JPH10240621A (ja) | 1996-12-09 | 1997-10-31 | マルチプロセッサ・コンピュータ・システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US5848434A (ja) |
EP (1) | EP0851356A3 (ja) |
JP (1) | JPH10240621A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002163149A (ja) * | 2000-10-31 | 2002-06-07 | Hewlett Packard Co <Hp> | マルチプロセッサシステムのキャッシュコヒーレンスプロトコル |
JP2008027435A (ja) * | 2006-06-29 | 2008-02-07 | Intel Corp | 排他的所有権のスヌープフィルタ |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6055610A (en) * | 1997-08-25 | 2000-04-25 | Hewlett-Packard Company | Distributed memory multiprocessor computer system with directory based cache coherency with ambiguous mapping of cached data to main-memory locations |
EP0908825B1 (en) * | 1997-10-10 | 2002-09-04 | Bull S.A. | A data-processing system with cc-NUMA (cache coherent, non-uniform memory access) architecture and remote access cache incorporated in local memory |
US6085276A (en) * | 1997-10-24 | 2000-07-04 | Compaq Computers Corporation | Multi-processor computer system having a data switch with simultaneous insertion buffers for eliminating arbitration interdependencies |
US6052760A (en) * | 1997-11-05 | 2000-04-18 | Unisys Corporation | Computer system including plural caches and utilizing access history or patterns to determine data ownership for efficient handling of software locks |
US6070231A (en) * | 1997-12-02 | 2000-05-30 | Intel Corporation | Method and apparatus for processing memory requests that require coherency transactions |
US6625694B2 (en) * | 1998-05-08 | 2003-09-23 | Fujitsu Ltd. | System and method for allocating a directory entry for use in multiprocessor-node data processing systems |
US6226716B1 (en) * | 1998-12-22 | 2001-05-01 | Unisys Corporation | Test driver for use in validating a circuit design |
US6304945B1 (en) * | 1999-05-13 | 2001-10-16 | Compaq Computer Corporation | Method and apparatus for maintaining cache coherency in a computer system having multiple processor buses |
US6519685B1 (en) * | 1999-12-22 | 2003-02-11 | Intel Corporation | Cache states for multiprocessor cache coherency protocols |
US6405292B1 (en) * | 2000-01-04 | 2002-06-11 | International Business Machines Corp. | Split pending buffer with concurrent access of requests and responses to fully associative and indexed components |
US6633960B1 (en) * | 2000-08-31 | 2003-10-14 | Hewlett-Packard Development Company, L.P. | Scalable directory based cache coherence protocol |
US6738836B1 (en) * | 2000-08-31 | 2004-05-18 | Hewlett-Packard Development Company, L.P. | Scalable efficient I/O port protocol |
US6779087B2 (en) * | 2001-04-06 | 2004-08-17 | Sun Microsystems, Inc. | Method and apparatus for checkpointing to facilitate reliable execution |
US7062592B2 (en) * | 2002-03-25 | 2006-06-13 | Intel Corporation | Selecting a queue for service in a queuing system |
US7246303B2 (en) | 2002-03-25 | 2007-07-17 | Intel Corporation | Error detection and recovery of data in striped channels |
US20050013251A1 (en) * | 2003-07-18 | 2005-01-20 | Hsuan-Wen Wang | Flow control hub having scoreboard memory |
US7080168B2 (en) * | 2003-07-18 | 2006-07-18 | Intel Corporation | Maintaining aggregate data counts for flow controllable queues |
US7324537B2 (en) * | 2003-07-18 | 2008-01-29 | Intel Corporation | Switching device with asymmetric port speeds |
US7623524B2 (en) * | 2003-12-22 | 2009-11-24 | Intel Corporation | Scheduling system utilizing pointer perturbation mechanism to improve efficiency |
US7324541B2 (en) * | 2003-12-22 | 2008-01-29 | Intel Corporation | Switching device utilizing internal priority assignments |
US7570654B2 (en) * | 2003-12-22 | 2009-08-04 | Intel Corporation | Switching device utilizing requests indicating cumulative amount of data |
US20050207436A1 (en) * | 2004-03-18 | 2005-09-22 | Anujan Varma | Switching device based on aggregation of packets |
US7676628B1 (en) * | 2006-03-31 | 2010-03-09 | Emc Corporation | Methods, systems, and computer program products for providing access to shared storage by computing grids and clusters with large numbers of nodes |
US8473566B1 (en) | 2006-06-30 | 2013-06-25 | Emc Corporation | Methods systems, and computer program products for managing quality-of-service associated with storage shared by computing grids and clusters with a plurality of nodes |
US20080065837A1 (en) * | 2006-09-07 | 2008-03-13 | Sodick Co., Ltd. | Computerized numerical control system with human interface using low cost shared memory |
US20080159145A1 (en) * | 2006-12-29 | 2008-07-03 | Raman Muthukrishnan | Weighted bandwidth switching device |
CN103544269B (zh) * | 2013-10-17 | 2017-02-01 | 华为技术有限公司 | 目录的存储方法、查询方法及节点控制器 |
WO2016049807A1 (zh) * | 2014-09-29 | 2016-04-07 | 华为技术有限公司 | 多核处理器系统的缓存目录处理方法和目录控制器 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4394731A (en) * | 1980-11-10 | 1983-07-19 | International Business Machines Corporation | Cache storage line shareability control for a multiprocessor system |
US4410944A (en) * | 1981-03-24 | 1983-10-18 | Burroughs Corporation | Apparatus and method for maintaining cache memory integrity in a shared memory environment |
US4775955A (en) * | 1985-10-30 | 1988-10-04 | International Business Machines Corporation | Cache coherence mechanism based on locking |
US5317716A (en) * | 1988-08-16 | 1994-05-31 | International Business Machines Corporation | Multiple caches using state information indicating if cache line was previously modified and type of access rights granted to assign access rights to cache line |
US4928225A (en) * | 1988-08-25 | 1990-05-22 | Edgcore Technology, Inc. | Coherent cache structures and methods |
JPH0680499B2 (ja) * | 1989-01-13 | 1994-10-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセッサ・システムのキャッシュ制御システムおよび方法 |
JP2825906B2 (ja) * | 1990-02-01 | 1998-11-18 | 株式会社日立製作所 | 計算機システム |
US5265232A (en) * | 1991-04-03 | 1993-11-23 | International Business Machines Corporation | Coherence control by data invalidation in selected processor caches without broadcasting to processor caches not having the data |
US5313609A (en) * | 1991-05-23 | 1994-05-17 | International Business Machines Corporation | Optimum write-back strategy for directory-based cache coherence protocols |
US5398325A (en) * | 1992-05-07 | 1995-03-14 | Sun Microsystems, Inc. | Methods and apparatus for improving cache consistency using a single copy of a cache tag memory in multiple processor computer systems |
US5450563A (en) * | 1992-10-30 | 1995-09-12 | International Business Machines Corporation | Storage protection keys in two level cache system |
US5394555A (en) * | 1992-12-23 | 1995-02-28 | Bull Hn Information Systems Inc. | Multi-node cluster computer system incorporating an external coherency unit at each node to insure integrity of information stored in a shared, distributed memory |
JPH07129468A (ja) * | 1993-11-04 | 1995-05-19 | Matsushita Electric Ind Co Ltd | 主記憶制御装置 |
DE69519816T2 (de) * | 1994-05-03 | 2001-09-20 | Hewlett Packard Co | Anordnung mit Duplikat des Cache-Etikettenspeichers |
-
1996
- 1996-12-09 US US08/762,636 patent/US5848434A/en not_active Expired - Fee Related
-
1997
- 1997-10-13 EP EP97308077A patent/EP0851356A3/en not_active Withdrawn
- 1997-10-31 JP JP9301323A patent/JPH10240621A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002163149A (ja) * | 2000-10-31 | 2002-06-07 | Hewlett Packard Co <Hp> | マルチプロセッサシステムのキャッシュコヒーレンスプロトコル |
JP2008027435A (ja) * | 2006-06-29 | 2008-02-07 | Intel Corp | 排他的所有権のスヌープフィルタ |
Also Published As
Publication number | Publication date |
---|---|
US5848434A (en) | 1998-12-08 |
EP0851356A2 (en) | 1998-07-01 |
EP0851356A3 (en) | 1999-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5848434A (en) | Method and apparatus for caching state information within a directory-based coherency memory system | |
US5809536A (en) | Method for reducing the number of coherency cycles within a directory-based cache coherency memory system uitilizing a memory state cache | |
US6629205B2 (en) | System and method for increasing the snoop bandwidth to cache tags in a cache memory subsystem | |
US7669018B2 (en) | Method and apparatus for filtering memory write snoop activity in a distributed shared memory computer | |
JP2540517B2 (ja) | 階層キヤツシユメモリ装置および方法 | |
US5671391A (en) | Coherent copyback protocol for multi-level cache memory systems | |
US6018791A (en) | Apparatus and method of maintaining cache coherency in a multi-processor computer system with global and local recently read states | |
US6959364B2 (en) | Partially inclusive snoop filter | |
CA1306312C (en) | Write-shared cache circuit for multiprocessor system | |
US6049851A (en) | Method and apparatus for checking cache coherency in a computer architecture | |
JP4237142B2 (ja) | 統合ディレクトリとプロセッサキャッシュを備えたコンピュータシステム | |
US6973544B2 (en) | Method and apparatus of using global snooping to provide cache coherence to distributed computer nodes in a single coherent system | |
US6078997A (en) | Directory-based coherency system for maintaining coherency in a dual-ported memory system | |
US20010010068A1 (en) | State-based allocation and replacement for improved hit ratio in directory caches | |
KR20110031361A (ko) | 스누프 필터링 메커니즘 | |
JP2006501548A (ja) | リモートキャッシュプレゼンス情報を記録するプロセッサキャッシュを備えたコンピュータシステム | |
US7117312B1 (en) | Mechanism and method employing a plurality of hash functions for cache snoop filtering | |
US7325102B1 (en) | Mechanism and method for cache snoop filtering | |
US20020078304A1 (en) | System and method for allocating a directory entry for use in multiprocessor-node data processing systems | |
EP0817065B1 (en) | Methods and apparatus for a coherence transformer for connecting computer system coherence domains | |
EP1224553B1 (en) | Multi-processor system and method of accessing data therein | |
US5860120A (en) | Directory-based coherency system using two bits to maintain coherency on a dual ported memory system | |
US6148375A (en) | Hierarchical bus simple COMA architecture for shared memory multiprocessors having a bus directly interconnecting caches between nodes | |
US7213109B1 (en) | System and method for providing speculative ownership of cached data based on history tracking | |
KR970007671A (ko) | 원격 접근 제어기 및 이것을 포함하는 분산된 공유 메모리 다중프로세서 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041019 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060809 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20061108 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20061113 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061127 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070220 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070620 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070730 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070802 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20070914 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100122 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100127 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100222 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100226 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100323 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100326 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100423 |