JP2000099406A - L1デ―タ・キャッシュ・パリティ・エラ―のための回復方法及びシステム - Google Patents

L1デ―タ・キャッシュ・パリティ・エラ―のための回復方法及びシステム

Info

Publication number
JP2000099406A
JP2000099406A JP11114792A JP11479299A JP2000099406A JP 2000099406 A JP2000099406 A JP 2000099406A JP 11114792 A JP11114792 A JP 11114792A JP 11479299 A JP11479299 A JP 11479299A JP 2000099406 A JP2000099406 A JP 2000099406A
Authority
JP
Japan
Prior art keywords
cache
data storage
error
processor
instruction
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.)
Granted
Application number
JP11114792A
Other languages
English (en)
Other versions
JP3663317B2 (ja
Inventor
Craig Bossen Douglas
ダグラス・クレイグ・ボッセン
Arthur Chalott Kevin
ケビン・アーサー・チャロット
Rajasekaraia Jaishima Namraza
ナムラザ・ラジャセカライア・ジャイシマ
Saha Avizit
アヴィジト・サハ
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2000099406A publication Critical patent/JP2000099406A/ja
Application granted granted Critical
Publication of JP3663317B2 publication Critical patent/JP3663317B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

(57)【要約】 【課題】 キャッシュ・メモリを含むプロセッサを有す
る、改善されたコンピュータ・システムを提供すること
である。 【解決手段】 キャッシュ・エラー(パリティ・エラー
など)を処理する方法が、割込みサービスなどの、そし
て特にデータ記憶割込みなどの無関係なシステム資源を
用いてエラーを報告することにより、ソフトウェア回復
を可能にする。データ記憶割込みを生成し、データ記憶
割込みステータス・レジスタ(DSISR)により、デ
ータ記憶割込みがパリティ・エラーの結果であることを
示すことにより、パリティ・エラーが報告される。パリ
ティ・エラーを処理する間に、プロセッサのコンテキス
トが完全に同期される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般に、コンピュー
タ・システムに関し、より詳細には、マシン・チェック
を要求することなく、すなわち、システムの"リブート"
を要求することなく、パリティ・エラーなどの検出エラ
ーからのソフトウェア回復を可能にするように、コンピ
ュータ・システムを動作させる方法に関し、特に、第1
レベル・データ・キャッシュにおいて発生するパリティ
・エラーに適応化したこうした方法に関する。
【0002】
【従来の技術】従来のコンピュータ・システムは、シス
テム・メモリ素子(ランダム・アクセス・メモリすなわ
ちRAM)及び様々な周辺装置または入出力(I/O)
装置に接続される1つ以上の処理ユニットを含む。こう
した周辺またはI/O装置には、表示モニタ、キーボー
ド、グラフィック・ポインタ(マウス)、及び永久記憶
装置(ハード・ディスク)などが含まれる。システム・
メモリ素子は、処理ユニットがプログラム命令を実行す
るために使用され、それらの命令の他にプログラムに供
給される、またはプログラムにより生成されるデータ値
を記憶する。処理ユニットは様々な手段により周辺装置
と通信し、それらには、汎用相互接続またはバス、或い
は直接メモリ・アクセス・チャネルが含まれる。コンピ
ュータ・システムは、モデム、プリンタ及びネットワー
ク・アダプタへの接続のためのシリアル・ポート及びパ
ラレル・ポートなどの、多くの追加の構成要素を有し得
る。更に他の構成要素は、上述の装置と関連して使用さ
れ、例えば、表示アダプタがビデオ表示モニタを制御す
るために使用され、メモリ制御装置がシステム・メモリ
をアクセスするために使用され得る。
【0003】従来の処理ユニットは、命令を適切な実行
ユニットに転送する分岐ユニット及びディスパッチ・ユ
ニットの他に、様々な実行ユニット及びレジスタを有す
るプロセッサ・コアを含む。命令及びデータの両方のた
めのキャッシュが一般に提供され、プロセッサにより繰
り返しアクセスされ得る値を一時的に記憶し、値をシス
テム・メモリ(RAM)からロードする長いステップを
回避することにより、処理をスピード・アップする。こ
れらのキャッシュは、それらが単一の集積化チップ上に
プロセッサ・コアと一体にパッケージ化される場合、"
オンボード"と呼ばれる。各キャッシュは、プロセッサ
・コアとキャッシュ・メモリとの間の値の転送を管理す
る、キャッシュ制御装置またはバス・インターフェイス
・ユニットと関連付けられる。
【0004】処理ユニットは、オンボード(レベル1)
・キャッシュをサポートするレベル2(L2)キャッシ
ュなどの、追加のキャッシュを含み得る。換言すると、
L2キャッシュはシステム・メモリとオンボード・キャ
ッシュ間の媒介として作用し、オンボード・キャッシュ
よりもより多くの情報(命令及びデータの両方)を記憶
できるが、より長いアクセス時間を要する欠点がある。
相互接続されるキャッシュの多くのレベルが存在するマ
ルチレベル・キャッシュ階層も提供され得る。
【0005】典型的なシステム・アーキテクチャが図1
に示され、これはIBM(本出願人)により販売される
PowerPC(商標)マイクロプロセッサの模範例で
ある。コンピュータ・システム10は処理ユニット12
a、様々なI/O装置14、RAM16、及びファーム
ウェア18を含み、ファームウェアの主な目的は、コン
ピュータが最初にオンされる度に、オペレーティング・
システムを探索し、周辺装置の1つからそれをロードす
ることである。処理ユニット12aはシステム・バス2
0を用いて周辺装置と通信する(ローカル周辺バス(例
えばPCI)がシステム・バスと共に使用され得る)。
処理ユニット12aはプロセッサ・コア22、及び命令
キャッシュ24及びデータ・キャッシュ26を含み、こ
れらは高速メモリ素子を用いて実現され、単一の集積化
チップ28上に、プロセッサ・コアと一緒に一体的にパ
ッケージ化される。
【0006】キャッシュ30(L2)は、プロセッサ・
バス32を介して、キャッシュ24及び26をサポート
する。例えばキャッシュ30は256キロバイトまたは
512キロバイトの記憶容量を有するチップであり、プ
ロセッサは、総記憶容量64キロバイトのオンボード・
キャッシュを有するPowerPC(商標)604シリ
ーズのプロセッサである。キャッシュ30はバス20に
接続され、メモリ16からプロセッサ・コア22への情
報の全てのローディングは、キャッシュ30を介して実
行されなければならない。処理ユニット12bにより示
されるように、2つ以上のプロセッサが提供され得る。
【0007】値は、0または1の値を有するビット(バ
イナリ・デジット)を用いて、コンピュータ内に記憶さ
れる。所与のキャッシュ・ブロック内のビットは、ソフ
ト・エラー(例えば迷放射線または静電気の放電により
引き起こされるランダムな過渡状態)またはハード・エ
ラー(永久状態、例えば欠陥セル)のいずれかによる、
不正な値を含み得る。エラーの1つの一般的な原因は、
回路リードとのワイヤ・ボンドを形成するために使用さ
れるはんだ(C4)バンプ内の鉛により発せられるアル
ファ線放射に起因するソフト・エラーである。ほとんど
のエラーは単一ビット・エラー、すなわちフィールド内
の1ビットだけが不正である。
【0008】データ・キャッシュ26内などのキャッシ
ュ・ブロックが(エラー訂正コードなどにより訂正され
得ない)エラーを含む場合、データ・キャッシュ26が
プロセッサ・コア22にパリティ・エラーを知らせる。
パリティ・エラーは検出され得るが、コンピュータのオ
ペレーティング・システムが問題となる命令を識別し、
コンテキスト同期を提供するための機構が現在存在しな
い。その結果、多くのシステムでは、ソフトウェア回復
機構が定義されておらず、全てのパリティ・エラーがマ
シン・チェック、すなわちシステムのリブートを生じ
る。
【0009】"リブート"は、その基本プログラム命令、
すなわちオペレーティング・システムを再ロードするこ
とによる、コンピュータ・システムの再始動を指し示
し、従って非常に時間を消費する。この制限はこうした
システムの重大な品質問題を生じる。なぜなら、それは
不便を引き起こすだけでなく、ファイルまたはデータが
紛失され得るからである。従って、例えばL1データ・
キャッシュ・パリティ・エラーからのソフトウェア回復
を可能にする方法を考案することが望まれる。また、こ
の方法が全コンテキスト同期を可能にし、複数ソフトウ
ェア回復機構を可能にすれば、更に有利である。
【0010】
【発明が解決しようとする課題】従って、本発明の目的
は、キャッシュ・メモリを含むプロセッサを有する、改
善されたコンピュータ・システムを提供することであ
る。
【0011】本発明の別の目的は、パリティ・エラーな
どのキャッシュ・エラーのソフトウェア回復を可能にす
る、こうした改善されたコンピュータ・システムを提供
することである。
【0012】更に本発明の別の目的は、コンテキスト同
期を可能にし、障害の悪影響を低減するキャッシュ・パ
リティ・エラーのためのこうした回復機構を提供するこ
とである。
【0013】
【課題を解決するための手段】上述の目的が、コンピュ
ータ・システムにおいてキャッシュ・パリティ・エラー
を処理する方法により達成される。この方法は一般に、
キャッシュ・パリティ・エラー以外の定義条件の発生時
に、割込みサービスを生成し、コンピュータ・システム
のプロセッサの現オペレーションを延期するステップ
と、プロセッサに関連付けられるキャッシュ内のパリテ
ィ・エラーを検出するステップと、割込みサービスを用
いて、パリティ・エラーをプロセッサに報告するステッ
プとを含む。ここで述べる実施例は、ロード命令に起因
するオンボード(L1)・キャッシュ・パリティ・エラ
ーの処理に適応化されるが、本発明はストア命令に起因
するキャッシュ・パリティ・エラーの処理にも適応化さ
れ得る。好適な実施例では、パリティ・エラーがデータ
記憶割込みを生成し、データ記憶割込みステータス・レ
ジスタ(DSISR)を用い、データ記憶割込みがパリ
ティ・エラーの結果であることを示すことにより報告さ
れる。
【0014】本発明はプロセッサ・コンテキストの同期
を有利に可能にする。プロセッサのマシン・ステータス
・レジスタ(保管/再記憶レジスタの1つ)が、次に完
了する命令に対するポインタを保持するために使用さ
れ、それにより、次に完了する命令に先行する全ての命
令が、既に実行を完了済みであり、次に完了する命令に
続くいずれの命令も実行を開始していない。データ記憶
割込みに応答して、対応するキャッシュ・ブロックのフ
ラッシュが実行される。
【0015】
【発明の実施の形態】本発明は、検出されたキャッシュ
・エラーからのソフトウェア回復を可能にする方法に関
する。後述の実施例では、本発明は、ロード命令から生
じるL1データ・パリティ・エラーを、AIXオペレー
ティング・システムなどのこのオペレーティング・シス
テムにとって、見えるようにする機構を提供する(AI
XはIBMの商標である)。ソフトウェア回復は、命令
に対するL1パリティ・エラーに応答して、割込み、特
にデータ記憶割込み(DSI)をシミュレートすること
により可能になる。
【0016】割込みはコンピュータにおいて、様々な装
置がサービスを要求するために、または問題を報告する
ために、コンピュータ・プロセッサの注意を獲得するた
めに使用される。プロセッサが割込みを受信すると、そ
れは通常、その現オペレーションを延期し、その作業の
ステータス(プロセッサ・"コンテキスト")を保管し、
制御を割込みハンドラとして知られる特殊ルーチンに移
す。割込みハンドラは割込みを生じた特定の条件を処理
する命令を含む。メモリに記憶されたテーブルが、割込
みハンドラを構成する様々な命令のアドレスを提供する
ポインタ(ベクトル)を含む。周辺装置により生成され
る外部割込みに加え、プロセッサ自身がプログラム・エ
ラー(0による除算演算の間の試行など)に応答して、
またはオペレーティング・システム・サービスを要求す
るために、内部割込みを発行できる。同時割込み要求の
処理を制御するために、異なる優先順位が異なる割込み
に割当てられる。割込み要求線がコンピュータの内部ハ
ードウェア内に組み込まれ、割込みをCPUに送信する
ために使用される。
【0017】データ記憶割込み(DSI)の使用は強制
的ではなく、当業者であれば、他の資源(ソフトウェア
によりアクセス可能なシステム・ビット)が、特定のコ
ンピュータ・アーキテクチャに従い使用され得る。パリ
ティ・エラーを報告するために、データ記憶割込みを使
用することは便利である。なぜなら、データ記憶割込み
ステータス・レジスタ(DSISR)が、使用可能な余
分のビットを有し、これが割込みが実際にパリティ・エ
ラーの結果であることを示すために使用され得るからで
ある(DSISRのビット7及び8が予備であり、通
常、0にセットされる)。
【0018】パリティ・エラーから割込みへの変換は、
好適には、全コンテキスト同期を達成するための追加の
論理無しに、全てのレジスタが適切にセットされるよう
にするステージにおいて達成される。同期はプロセッサ
内で実行中の特定のプロセスに対して有効な、全ての命
令及びデータ値の状態を指し示す(同期は、多くの命令
が同時にディスパッチされ得るスーパスカラ・プロセッ
サでは、極めて重大である)。こうした同期が重要な訳
は、それがソフトウェア回復機構の豊富なセットを可能
にするからであるが、同期は本発明にとって不可欠では
ない。他の機構はコンテキスト同期を提供しなくてもよ
い。
【0019】この点に関して、DSIの使用は特に便利
である。なぜなら、本発明は、DSI条件を検出後、完
全なコンテキスト同期のために大域フラッシュを実行す
るシステム(PowerPC(商標)630fpプロセ
ッサに類似する)内に埋め込まれ得るからである。正規
のマシン・チェック経路が不能にされ、パリティ・エラ
ーが代わりにDSIに変換される場合、同一のコンテキ
スト同期が、何の不利益無しに、すなわち他の追加のハ
ードウェア無しに、パリティ・エラーに対して達成され
る。一般に、パリティ・エラー事象は次の要求を満足す
る場合、コンテキスト同期である。すなわち、1)オペ
レーションが命令のディスパッチを停止する。2)既に
実行中の全ての命令が、それらが引き起こすであろう全
ての例外を報告するまで、ロード・オペレーションが完
了されない。3)ロード・オペレーションに先行する命
令が、それらが開始されたカテゴリ(特権、再配置、記
憶保護など)において実行を完了する。4)投機フェッ
チ及び実行の全ての結果が廃棄され、犯人のロード・オ
ペレーションに続く命令がフェッチされ、オペレーショ
ンにより確立されたコンテキストにおいて実行される。
【0020】好適な実施例によれば、割込みが発生する
とき、保管/再記憶レジスタ・ゼロ(SRR0)と呼ば
れるマシン・ステータス・レジスタが、全ての先行する
命令が実行を完了し、続くいずれの命令も実行を開始し
ていないように、ある命令を指し示すようにセットされ
る。SRR0によりアドレス指定される命令は、割込み
タイプに応じて命令を完了済みであったり、そうでなか
ったりする。SRR0が割込みを生じた命令を指し示す
か、それとも次の命令を指し示すかは、ステータス・ビ
ット及び割込みタイプにより決定される。従って、それ
らは正しくセットされなければならない。
【0021】図2を参照すると、L1データ・キャッシ
ュ・パリティ・エラーをDSIに変換するために使用さ
れ得るプロセッサ論理100の1実施例のブロック図が
示される。プロセッサ論理100は分岐ユニット102
を含み、これは既知のように、適切な命令シーケンスを
決定する。分岐ユニット102は、順序付けされた命令
をディスパッチ・ユニット104に転送し、ディスパッ
チ・ユニットが個々の命令を適切な論理ユニット(例え
ば、ロード/ストア・ユニット、固定小数点実行ユニッ
ト、または浮動小数点実行ユニット)に発行する。分岐
ユニット102はまた、保管/リストア・レジスタ(S
RR0)106に接続され、ロード・オペレーションが
開始されるとき、ロード・オペレーションを含む命令を
指し示すポインタが、SRR0 106に記憶される。
【0022】ロード・オペレーションはディスパッチ・
ユニット104により、1つ以上のロード/ストア・ユ
ニット108に転送され、これが要求値のアドレスを生
成する。このアドレスがデータ・アドレス・パイプライ
ン110、及びL1キャッシュ・ルックアップ(ディレ
クトリ)112に伝送される。データがルックアップ1
12から、バス・インターフェイス114を介して、マ
ルチプレクサ116の入力に転送される。マルチプレク
サ116は、"以前の(previous)"データ・アドレス・
レジスタ(PREDAR)118に接続される第3の入
力を有する。マルチプレクサ116は、パリティ・チェ
ック回路120により制御され、後者は、L1キャッシ
ュ・ルックアップ112がパリティ・エラーを含むデー
タを出力する場合、PREDARラインを選択する。エ
ラーを生じた命令が次に完了する場合、PREDAR1
18の内容がデータ・アドレス・レジスタ(DAR)1
22に転送される。適切なステータス・ビット124が
命令が完了したか否かを示すように更新され、同期マシ
ン・チェック割込み(例えばDSI) が生成される。
DAR122の内容が読出され、フラッシュ(例えば"
dcbf"PowerPC(商標)命令)が、DAR1
22内に含まれるアドレスに対応するキャッシュ・ブロ
ックに対して実行される。データがシステム・メモリと
一貫性があった(例えば"変更(modified)"キャッシュ
・コヒーレンス状態でない)と仮定すると、対応するキ
ャッシュ・ブロックが単に"無効"とマークされ、割込み
処理からの復帰の際にプログラム実行が、SRR0が指
し示す命令を継続する。データが変更された場合、マシ
ン・チェックが生成されなければならない。
【0023】DSISRビットを使用しない別の実施例
では、パリティ・エラーが非同期マシン・チェックか
ら、"同期"の(すなわちエラーを生じた命令に結合され
た)回復可能なマシン・チェックに変換される。この実
施例は、別の保管/リストア・レジスタSRR1内のビ
ットをセットし、キャッシュ・パリティ・エラーが回復
可能か否かを示す。不正なライン(割込みを生じた命
令)のアドレスが、DAR内で見い出される。
【0024】本発明は特定の実施例に関連して述べられ
てきたが、この説明は本発明を制限するものではない。
当業者であれば、上述の説明を鑑み、開示された実施例
の様々な変更、並びに本発明の別の実施例が明らかとな
ろう。例えば、上述の実施例は、ロード・オペレーショ
ンの間のL1データ・キャッシュ・パリティ・エラーを
扱ったが(これはほとんどのL1パリティ・エラーがロ
ードの間に発生するので一般に意味深い)、ストア・オ
ペレーションから生じるパリティ・エラーについても複
雑度は増すものの、同様に扱うことができる。従って、
こうした変更も、本発明の趣旨または範囲から逸れるこ
となく実現可能である。
【0025】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0026】(1)コンピュータ・システムにおいてキ
ャッシュ・エラーを処理する方法であって、キャッシュ
・エラー以外の定義条件の発生時に、前記コンピュータ
・システムのプロセッサの現オペレーションを延期する
ために、割込みサービスを構築するステップと、前記プ
ロセッサに関連付けられるキャッシュ内のエラーを検出
するステップと、前記割込みサービスにより、前記エラ
ーを前記プロセッサに報告するステップとを含む、方
法。 (2)前記検出するステップが、前記プロセッサがロー
ド命令を前記キャッシュに発行するステップに応答して
実行され、前記エラーがパリティ・エラーである、前記
(1)記載の方法。 (3)前記構築するステップが、関連データ記憶割込み
ハンドラを有するデータ記憶割込みサービスを定義する
ステップを含む、前記(1)記載の方法。 (4)前記報告するステップが、データ記憶割込みを生
成するステップと、データ記憶割込みステータス・レジ
スタにより、前記データ記憶割込みが前記エラーの結果
であることを示すステップとを含む、前記(3)記載の
方法。 (5)前記報告するステップが、前記プロセッサのコン
テキストを同期するステップを含む、前記(1)記載の
方法。 (6)前記同期するステップが、命令のディスパッチを
停止するステップと、前記プロセッサ内で既に実行中の
命令を、該命令が開始されたそれぞれのカテゴリにおい
て、前記命令がそれらが引き起こすであろうあらゆる例
外を報告するポイントまで完了するステップと、前記エ
ラーに関連付けられる命令に続く、投機フェッチ及び実
行の結果を廃棄するステップとを含む、前記(5)記載
の方法。 (7)前記同期するステップが、前記プロセッサのマシ
ン・ステータス・レジスタ内の、次に完了する命令を指
し示すポインタをロードすることにより、前記次に完了
する命令に先行する全ての命令が既に実行を完了し、前
記次に完了する命令に続くいずれの命令も実行を開始し
ていないようにする、前記(5)記載の方法。 (8)前記報告するステップの後、前記次に完了する命
令から、前記プロセッサのオペレーションを再開するス
テップを含む、前記(7)記載の方法。 (9)前記構築するステップが、関連データ記憶割込み
ハンドラを有するデータ記憶割込みサービスを定義する
ステップを含む、前記(5)記載の方法。 (10)前記エラーがキャッシュ・パリティ・エラーで
あり、前記報告するステップがデータ記憶割込みを生成
するステップを含み、前記同期するステップが、前記キ
ャッシュ内の、前記パリティ・エラーに関連付けられる
キャッシュ・ブロックをフラッシュするステップを含
む、前記(9)記載の方法。 (11)前記フラッシュするステップに応答して、前記
キャッシュ・ブロックのコヒーレンス状態が無効とマー
クされる、前記(10)記載の方法。 (12)複数の値を記憶するメモリ手段と、前記メモリ
手段のそれぞれのアドレスに関連付けられる1つ以上の
値を記憶するキャッシュ手段を含む、プログラム命令を
処理する手段と、前記処理手段を前記メモリ手段に相互
接続する手段と、前記処理手段を制御するオペレーティ
ング・システムと、前記キャッシュ・エラーの後、前記
処理手段が前記オペレーティング・システムを再始動す
ることなく、オペレーションを継続するように、前記キ
ャッシュ手段内のエラーを処理する手段とを含む、コン
ピュータ・システム。 (13)前記処理手段が、キャッシュ・エラー以外の定
義条件の発生時に、前記処理手段の現オペレーションを
延期する割込みサービスと、前記割込みサービスによ
り、前記キャッシュ・エラーを前記処理手段に報告する
手段とを含む、前記(12)記載のコンピュータ・シス
テム。 (14)前記エラーがキャッシュ・パリティ・エラーで
あり、前記処理手段が関連ロード命令の実行に応答し
て、前記キャッシュ・パリティ・エラーを検出する手段
を含む、前記(12)記載のコンピュータ・システム。 (15)前記処理手段が、関連データ記憶割込みハンド
ラを有するデータ記憶割込みサービスを定義する手段
と、データ記憶割込みを生成する手段と、前記データ記
憶割込みサービスに、前記データ記憶割込みが前記エラ
ーの結果であることを示す手段とを含む、前記(12)
記載のコンピュータ・システム。 (16)前記処理手段が、該処理手段のコンテキストを
同期する手段を含む、前記(12)記載のコンピュータ
・システム。 (17)前記同期手段が、前記プロセッサのマシン・ス
テータス・レジスタ内の、次に完了する命令を指し示す
ポインタをロードすることにより、前記次に完了する命
令に先行する全ての命令が既に実行を完了し、前記次に
完了する命令に続くいずれの命令も実行を開始していな
いようにする、前記(16)記載のコンピュータ・シス
テム。 (18)前記処理手段が、関連データ記憶割込みハンド
ラを有するデータ記憶割込みサービスを定義する手段
と、データ記憶割込みを生成する手段と、前記データ記
憶割込みサービスに、前記データ記憶割込みが前記エラ
ーの結果であることを示す手段とを含む、前記(16)
記載のコンピュータ・システム。 (19)前記エラーがキャッシュ・パリティ・エラーで
あり、前記同期手段が、前記キャッシュ内の、前記パリ
ティ・エラーに関連付けられるキャッシュ・ブロックを
フラッシュする、前記(18)記載のコンピュータ・シ
ステム。 (20)前記同期手段が前記キャッシュ・ブロックを無
効とマークする、前記(19)記載のコンピュータ・シ
ステム。
【図面の簡単な説明】
【図1】従来のマルチプロセッサ・コンピュータ・シス
テムのブロック図である。
【図2】本発明に従い、L1データ・キャッシュ・パリ
ティ・エラーをデータ記憶割込み変換するために使用さ
れるプロセッサ論理の1実施例のブロック図である。
【符号の説明】
10 コンピュータ・システム 12a、12b 処理ユニット 14 I/O装置 16 RAM 18 ファームウェア 20 システム・バス 22 プロセッサ・コア 24 命令キャッシュ 26 データ・キャッシュ 28 単一の集積化チップ 30 キャッシュ(L2) 32 プロセッサ・バス 100 プロセッサ論理 102 分岐ユニット 104 ディスパッチ・ユニット 106 保管/リストア・レジスタ(SRR0) 108 ロード/ストア・ユニット 110 データ・アドレス・パイプライン 112 L1キャッシュ・ルックアップ 114 バス・インターフェイス 116 マルチプレクサ 118 "以前の"データ・アドレス・レジスタ(PRE
DAR) 120 パリティ・チェック回路 122 データ・アドレス・レジスタ(DAR) 124 ステータス・ビット
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ケビン・アーサー・チャロット アメリカ合衆国78660、テキサス州フルガ ービル、ヘイワース・コーブ 17907 (72)発明者 ナムラザ・ラジャセカライア・ジャイシマ アメリカ合衆国78732、テキサス州オース ティン、オールド・ソルト・トレイル 12407 (72)発明者 アヴィジト・サハ アメリカ合衆国78759、テキサス州オース ティン、ドミニオン・コーブ 4000

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】コンピュータ・システムにおいてキャッシ
    ュ・エラーを処理する方法であって、 キャッシュ・エラー以外の定義条件の発生時に、前記コ
    ンピュータ・システムのプロセッサの現オペレーション
    を延期するために、割込みサービスを構築するステップ
    と、 前記プロセッサに関連付けられるキャッシュ内のエラー
    を検出するステップと、 前記割込みサービスにより、前記エラーを前記プロセッ
    サに報告するステップとを含む、方法。
  2. 【請求項2】前記検出するステップが、前記プロセッサ
    がロード命令を前記キャッシュに発行するステップに応
    答して実行され、前記エラーがパリティ・エラーであ
    る、請求項1記載の方法。
  3. 【請求項3】前記構築するステップが、関連データ記憶
    割込みハンドラを有するデータ記憶割込みサービスを定
    義するステップを含む、請求項1記載の方法。
  4. 【請求項4】前記報告するステップが、 データ記憶割込みを生成するステップと、 データ記憶割込みステータス・レジスタにより、前記デ
    ータ記憶割込みが前記エラーの結果であることを示すス
    テップとを含む、請求項3記載の方法。
  5. 【請求項5】前記報告するステップが、前記プロセッサ
    のコンテキストを同期するステップを含む、請求項1記
    載の方法。
  6. 【請求項6】前記同期するステップが、 命令のディスパッチを停止するステップと、 前記プロセッサ内で既に実行中の命令を、該命令が開始
    されたそれぞれのカテゴリにおいて、前記命令がそれら
    が引き起こすであろうあらゆる例外を報告するポイント
    まで完了するステップと、 前記エラーに関連付けられる命令に続く、投機フェッチ
    及び実行の結果を廃棄するステップとを含む、請求項5
    記載の方法。
  7. 【請求項7】前記同期するステップが、前記プロセッサ
    のマシン・ステータス・レジスタ内の、次に完了する命
    令を指し示すポインタをロードすることにより、前記次
    に完了する命令に先行する全ての命令が既に実行を完了
    し、前記次に完了する命令に続くいずれの命令も実行を
    開始していないようにする、請求項5記載の方法。
  8. 【請求項8】前記報告するステップの後、前記次に完了
    する命令から、前記プロセッサのオペレーションを再開
    するステップを含む、請求項7記載の方法。
  9. 【請求項9】前記構築するステップが、関連データ記憶
    割込みハンドラを有するデータ記憶割込みサービスを定
    義するステップを含む、請求項5記載の方法。
  10. 【請求項10】前記エラーがキャッシュ・パリティ・エ
    ラーであり、 前記報告するステップがデータ記憶割込みを生成するス
    テップを含み、 前記同期するステップが、前記キャッシュ内の、前記パ
    リティ・エラーに関連付けられるキャッシュ・ブロック
    をフラッシュするステップを含む、 請求項9記載の方法。
  11. 【請求項11】前記フラッシュするステップに応答し
    て、前記キャッシュ・ブロックのコヒーレンス状態が無
    効とマークされる、請求項10記載の方法。
  12. 【請求項12】複数の値を記憶するメモリ手段と、 前記メモリ手段のそれぞれのアドレスに関連付けられる
    1つ以上の値を記憶するキャッシュ手段を含む、プログ
    ラム命令を処理する手段と、 前記処理手段を前記メモリ手段に相互接続する手段と、 前記処理手段を制御するオペレーティング・システム
    と、 前記キャッシュ・エラーの後、前記処理手段が前記オペ
    レーティング・システムを再始動することなく、オペレ
    ーションを継続するように、前記キャッシュ手段内のエ
    ラーを処理する手段とを含む、コンピュータ・システ
    ム。
  13. 【請求項13】前記処理手段が、 キャッシュ・エラー以外の定義条件の発生時に、前記処
    理手段の現オペレーションを延期する割込みサービス
    と、 前記割込みサービスにより、前記キャッシュ・エラーを
    前記処理手段に報告する手段とを含む、請求項12記載
    のコンピュータ・システム。
  14. 【請求項14】前記エラーがキャッシュ・パリティ・エ
    ラーであり、前記処理手段が関連ロード命令の実行に応
    答して、前記キャッシュ・パリティ・エラーを検出する
    手段を含む、請求項12記載のコンピュータ・システ
    ム。
  15. 【請求項15】前記処理手段が、 関連データ記憶割込みハンドラを有するデータ記憶割込
    みサービスを定義する手段と、 データ記憶割込みを生成する手段と、 前記データ記憶割込みサービスに、前記データ記憶割込
    みが前記エラーの結果であることを示す手段とを含む、
    請求項12記載のコンピュータ・システム。
  16. 【請求項16】前記処理手段が、該処理手段のコンテキ
    ストを同期する手段を含む、請求項12記載のコンピュ
    ータ・システム。
  17. 【請求項17】前記同期手段が、前記プロセッサのマシ
    ン・ステータス・レジスタ内の、次に完了する命令を指
    し示すポインタをロードすることにより、前記次に完了
    する命令に先行する全ての命令が既に実行を完了し、前
    記次に完了する命令に続くいずれの命令も実行を開始し
    ていないようにする、請求項16記載のコンピュータ・
    システム。
  18. 【請求項18】前記処理手段が、 関連データ記憶割込みハンドラを有するデータ記憶割込
    みサービスを定義する手段と、 データ記憶割込みを生成する手段と、 前記データ記憶割込みサービスに、前記データ記憶割込
    みが前記エラーの結果であることを示す手段とを含む、
    請求項16記載のコンピュータ・システム。
  19. 【請求項19】前記エラーがキャッシュ・パリティ・エ
    ラーであり、前記同期手段が、前記キャッシュ内の、前
    記パリティ・エラーに関連付けられるキャッシュ・ブロ
    ックをフラッシュする、請求項18記載のコンピュータ
    ・システム。
  20. 【請求項20】前記同期手段が前記キャッシュ・ブロッ
    クを無効とマークする、請求項19記載のコンピュータ
    ・システム。
JP11479299A 1998-05-04 1999-04-22 コンピュータ・システム Expired - Fee Related JP3663317B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/072,324 US6332181B1 (en) 1998-05-04 1998-05-04 Recovery mechanism for L1 data cache parity errors
US09/072324 1998-05-04

Publications (2)

Publication Number Publication Date
JP2000099406A true JP2000099406A (ja) 2000-04-07
JP3663317B2 JP3663317B2 (ja) 2005-06-22

Family

ID=22106891

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11479299A Expired - Fee Related JP3663317B2 (ja) 1998-05-04 1999-04-22 コンピュータ・システム

Country Status (4)

Country Link
US (1) US6332181B1 (ja)
JP (1) JP3663317B2 (ja)
KR (1) KR100342802B1 (ja)
TW (1) TW432284B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100369684B1 (ko) * 2000-08-31 2003-01-29 엘지전자 주식회사 패리티 에러 검출 및 생성 회로
US7716537B2 (en) 2008-04-16 2010-05-11 Kabushiki Kaisha Toshiba Information processing apparatus and error correction method

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6901540B1 (en) * 1999-11-08 2005-05-31 International Business Machines Corporation TLB parity error recovery
US6950978B2 (en) * 2001-03-29 2005-09-27 International Business Machines Corporation Method and apparatus for parity error recovery
US7487339B2 (en) * 2001-10-12 2009-02-03 Mips Technologies, Inc. Method and apparatus for binding shadow registers to vectored interrupts
US7552261B2 (en) * 2001-10-12 2009-06-23 Mips Technologies, Inc. Configurable prioritization of core generated interrupts
US7290179B2 (en) * 2003-12-01 2007-10-30 Intel Corporation System and method for soft error handling
US7275202B2 (en) * 2004-04-07 2007-09-25 International Business Machines Corporation Method, system and program product for autonomous error recovery for memory devices
US7353445B1 (en) * 2004-12-10 2008-04-01 Sun Microsystems, Inc. Cache error handling in a multithreaded/multi-core processor
TWI295771B (en) * 2005-08-08 2008-04-11 Rdc Semiconductor Co Ltd Faulty storage area self markup access control method and system
JP2007164929A (ja) * 2005-12-16 2007-06-28 Fujitsu Ltd 記憶媒体管理装置、記憶媒体管理プログラム、記憶媒体管理方法
US20070162475A1 (en) * 2005-12-30 2007-07-12 Intel Corporation Method and apparatus for hardware-based dynamic escape detection in managed run-time environments
US7991965B2 (en) 2006-02-07 2011-08-02 Intel Corporation Technique for using memory attributes
US7953907B1 (en) * 2006-08-22 2011-05-31 Marvell International Ltd. Concurrent input/output control and integrated error management in FIFO
US7610448B2 (en) * 2006-12-27 2009-10-27 Intel Corporation Obscuring memory access patterns
US7987384B2 (en) * 2008-02-12 2011-07-26 International Business Machines Corporation Method, system, and computer program product for handling errors in a cache without processor core recovery
US8095831B2 (en) * 2008-11-18 2012-01-10 Freescale Semiconductor, Inc. Programmable error actions for a cache in a data processing system
JP2010231619A (ja) * 2009-03-27 2010-10-14 Renesas Electronics Corp 情報処理装置
JP5625329B2 (ja) * 2009-11-16 2014-11-19 富士通株式会社 演算処理装置及び演算処理装置の制御方法
KR101772020B1 (ko) 2011-05-30 2017-08-29 삼성전자주식회사 불휘발성 메모리 장치, 이의 동작 방법, 및 이를 포함하는 메모리 시스템
US8719320B1 (en) 2012-03-29 2014-05-06 Amazon Technologies, Inc. Server-side, variable drive health determination
US8972799B1 (en) 2012-03-29 2015-03-03 Amazon Technologies, Inc. Variable drive diagnostics
US9037921B1 (en) * 2012-03-29 2015-05-19 Amazon Technologies, Inc. Variable drive health determination and data placement
US9792192B1 (en) 2012-03-29 2017-10-17 Amazon Technologies, Inc. Client-side, variable drive health determination
CN110990175B (zh) * 2018-10-03 2023-03-14 慧荣科技股份有限公司 错误处置方法以及数据存储装置及其控制器
CN110989918B (zh) 2018-10-03 2023-03-28 慧荣科技股份有限公司 写入控制方法以及数据存储装置及其控制器
CN112231403B (zh) * 2020-10-15 2024-01-30 北京人大金仓信息技术股份有限公司 数据同步的一致性校验方法、装置、设备和存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2965074B2 (ja) * 1987-08-25 1999-10-18 株式会社日立製作所 マイクロコンピュータ
US5283876A (en) 1990-10-05 1994-02-01 Bull Hn Information Systems Inc. Virtual memory unit utilizing set associative memory structure and state machine control sequencing with selective retry
US5649090A (en) * 1991-05-31 1997-07-15 Bull Hn Information Systems Inc. Fault tolerant multiprocessor computer system
US5604753A (en) 1994-01-04 1997-02-18 Intel Corporation Method and apparatus for performing error correction on data from an external memory
US5550988A (en) 1994-03-01 1996-08-27 Intel Corporation Apparatus and method for performing error correction in a multi-processor system
WO1996033459A1 (en) * 1995-04-18 1996-10-24 International Business Machines Corporation High available error self-recovering shared cache for multiprocessor systems
US5630055A (en) 1995-05-05 1997-05-13 Digital Equipment Corporation Autonomous pipeline reconfiguration for continuous error correction for fills from tertiary cache or memory
US5875201A (en) * 1996-12-30 1999-02-23 Unisys Corporation Second level cache having instruction cache parity error control

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100369684B1 (ko) * 2000-08-31 2003-01-29 엘지전자 주식회사 패리티 에러 검출 및 생성 회로
US7716537B2 (en) 2008-04-16 2010-05-11 Kabushiki Kaisha Toshiba Information processing apparatus and error correction method

Also Published As

Publication number Publication date
JP3663317B2 (ja) 2005-06-22
TW432284B (en) 2001-05-01
US6332181B1 (en) 2001-12-18
KR19990087932A (ko) 1999-12-27
KR100342802B1 (ko) 2002-07-03

Similar Documents

Publication Publication Date Title
JP3663317B2 (ja) コンピュータ・システム
US5636374A (en) Method and apparatus for performing operations based upon the addresses of microinstructions
US5384906A (en) Method and apparatus for synchronizing a plurality of processors
KR970004514B1 (ko) 고장 허용 멀티프로세서 컴퓨터 시스템
US5388242A (en) Multiprocessor system with each processor executing the same instruction sequence and hierarchical memory providing on demand page swapping
US5317726A (en) Multiple-processor computer system with asynchronous execution of identical code streams
JP3096451B2 (ja) データを転送する方法およびプロセッサ
US5870582A (en) Method and apparatus for completion of non-interruptible instructions before the instruction is dispatched
US20020013892A1 (en) Emulation coprocessor
US6718403B2 (en) Hierarchical selection of direct and indirect counting events in a performance monitor unit
JP3176129B2 (ja) マイクロプロセッサのオンチップキャッシュのモニタ構造及びモニタ方法
US20050240733A1 (en) Apparatus and method for selecting instructions for execution based on bank prediction of a multi-bank cache
JPH04232532A (ja) ディジタル・コンピュータ・システム
EP1221088B1 (en) Method and apparatus for processing load instructions
US6094711A (en) Apparatus and method for reducing data bus pin count of an interface while substantially maintaining performance
US5771247A (en) Low latency error reporting for high performance bus
US10209991B2 (en) Instruction set and micro-architecture supporting asynchronous memory access
US5862308A (en) Fault intercept and resolution process independent of operating system
JP2843750B2 (ja) スーパースカラ・プロセッサ・システムにおける非逐次命令ディスパッチおよび実行のための方法およびシステム
US20020040422A1 (en) Resource access control for a processor
US6363474B1 (en) Process switching register replication in a data processing system
JP3182741B2 (ja) 分散命令完了方法及びプロセッサ
WO2001025903A1 (en) A method for precise trap handling in case of speculative and out-of-order loads
US20050283586A1 (en) Stepping a virtual machine guest
US20050188264A1 (en) Reproducing errors via inhibit switches

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040316

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040607

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050328

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees