JP2004062377A - Shared cache memory fault processing system - Google Patents
Shared cache memory fault processing system Download PDFInfo
- Publication number
- JP2004062377A JP2004062377A JP2002217788A JP2002217788A JP2004062377A JP 2004062377 A JP2004062377 A JP 2004062377A JP 2002217788 A JP2002217788 A JP 2002217788A JP 2002217788 A JP2002217788 A JP 2002217788A JP 2004062377 A JP2004062377 A JP 2004062377A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- failure
- compartment
- shared cache
- shared
- 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
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は共有キャッシュメモリ障害処理方式に関し、特に複数のプロセッサから共有されているキャッシュメモリに発生した障害が影響する範囲を限定しながらシステム運用を継続させる共有キャッシュメモリ障害処理方式に関する。
【0002】
【従来の技術】
図7は、共有キャッシュメモリを備えるコンピュータシステムの例を示す説明図である。同図において、共有キャッシュユニット21及び22は同等の構成からなる共有キャッシュであり、それぞれプロセッサ11,12及び13,14に共有されている。また他方で、共有キャッシュユニット21,22はシステムバス31を介して主記憶41に接続される。
【0003】
昨今、このようなシステムにおいて、プロセッサや主記憶などのリソースを複数の区画に論理的に分割し、それぞれを独立したシステムとして運用する事が可能である。この場合、各区画に属するプロセッサからのメモリアクセスはプロセッサから送出される時点で区画に割り当てられたメモリ領域の先頭アドレスをオフセット値として加算されることにより、ソフトウェアは他の区画の存在を意識することなく命令を実行することが出来るようになっている。
【0004】
しかしながら、各区画毎の信頼性を考えるとき、図を参照しても判るように複数の区画で共有されるユニット、例えば共有キャッシュユニット21は区画1と区画2の単一故障点(SPOF:Single Point Of Failure)であり、キャッシュメモリの故障によって2つの区画がシステムダウンに至るという問題がある。
【0005】
【発明が解決しようとする課題】
上記のように、従来の共有キャッシュメモリを備えたコンピュータシステムでは、複数の区画から共用されているキャッシュメモリに障害が発生した場合に、それが訂正不可能な障害であれば、それぞれの区画がシステムダウンすることになるという欠点がある。
【0006】
本発明の目的は、上記のような問題点を改善するために、キャッシュメモリに発生した障害位置を特定し、その障害が影響する区画を限定するようにし、その障害の波及範囲を極力狭くすることができる共有キャッシュメモリ障害処理方式を提供することにある。
【0007】
【課題を解決するための手段】
本発明の共有キャッシュメモリ障害処理方式は、複数のコンパートメントを有し複数のプロセッサに共有された共有キャッシュメモリにおいて、各プロセッサごとに利用可能なコンパートメントをあらかじめ割り当て、任意の複数の区画に分かれたプロセッサから前記共有キャッシュメモリを共有する場合、キャッシュ索引時に訂正不可能な障害を検出したとき、前記障害が影響する区画を特定し、その障害を処理する手段を具備することを特徴とする。
【0008】
また、本発明の共有キャッシュメモリ障害処理方式は、複数のコンパートメントを有し複数のプロセッサに共有された共有キャッシュメモリにおいて、それぞれのプロセッサにどのコンパートメントを割り当てるかを示す構成情報を保持するコンパートメント指示回路と、任意のプロセッサからの要求によりキャッシュを索引するとき要求元のプロセッサに割り当てられていないコンパートメントのヒット判定を抑止するアドレス比較回路と、キャッシュへデータを登録するとき前記コンパートメント指示回路が保持する構成情報に従って要求元のプロセッサに割り当てられたコンパートメントを選択するリプレースエントリ生成回路と、キャッシュ索引時に訂正不可能な障害を検出したときそのコンパートメント番号を通知する障害検出回路と、前記障害検出回路からの通知に基づいて前記障害が影響する区画を特定し前記構成情報を更新して前記コンパートメント指示回路へ通知し障害処理を行う共有キャッシュ制御部とを有することを特徴とする。
【0009】
さらに、上記の共有キャッシュメモリ障害処理方式において、前記コンパートメント指示回路は、キャッシュのコンパートメント数に等しいビット幅および前記キャッシュに接続されるプロセッサ数に等しいワード数を含むレジスタ群を備え、前記共有キャッシュ制御部から前記構成情報を得てそれを保持し、さらに前記共有キャッシュ制御部からプロセッサID信号を得てコンパートメント割当情報を生成し、それを前記アドレス比較回路および前記リプレースエントリ生成回路へ通知することを特徴とする。
【0010】
また、本発明の共有キャッシュメモリ障害処理方式は、複数のコンパートメントを有し複数のプロセッサに共有された共有キャッシュメモリにおいて、キャッシュに発生した障害の回数をコンパートメントごとに保持する障害履歴レジスタと、キャッシュへデータを登録するとき前記障害履歴レジスタの情報を参照してデータを登録するコンパートメントを決定しキャッシュに指示するリプレースエントリ指示回路と、キャッシュ索引時に訂正不可能な障害を検出したときそのコンパートメント番号を共有キャッシュ制御部に通知する障害検出回路と、任意のプロセッサからの要求によりキャッシュにアクセスした際にミスヒットによりデータを登録する場合には前記障害履歴レジスタの情報を参照し障害履歴を持たないコンパートメントを選択することを前記リプレースエントリ指示回路に指示する共有キャッシュ制御部とを有することを特徴とする。
【0011】
さらに、上記の共有キャッシュメモリ障害処理方式において、前記障害履歴レジスタは、キャッシュのコンパートメント数に等しいワード数および管理すべき障害回数を保持可能なビット幅を含むレジスタ群を備え、前記共有キャッシュ制御部が送出する障害情報を障害履歴情報としてコンパートメントごとに保持し、それを前記リプレースエントリ生成回路および前記共有キャッシュ制御部へ送出することを特徴とする。
【0012】
さらに、本発明の共有キャッシュメモリ障害処理方式において、前記共有キャッシュ制御部は、前記障害検出回路から受信した障害情報を診断プロセッサに通知し、前記診断プロセッサの診断結果に基づいてその障害の処理を実行することを特徴とする。
【0013】
すなわち、本発明によるキャッシュメモリは、複数のコンパートメントからなるセットアソシアティブ方式の共有キャッシュであって、キャッシュを共有するプロセッサ毎に利用可能なコンパートメントを予め割り当てることができる。これにより共有キャッシュを複数の区画に分かれたプロセッサから共有する場合、キャッシュで訂正不能な障害が発生した際のシステムダウンに至る区画を特定し、障害の波及範囲を限定することができる。
【0014】
また、本発明による共有キャッシュメモリは、コンパートメント毎に当該コンパートメントの障害履歴を保持する障害履歴レジスタを備えることにより、キャッシュコンパートメントの障害履歴を管理すると共に、キャッシュミスヒットに伴うリプレースエントリを決定する際に障害履歴をもつコンパートメントへの登録を抑止することができる。
【0015】
さらに、障害の履歴を管理することにより、キャッシュメモリで障害を検出した際に障害履歴レジスタを参照し、当該コンパートメントで繰り返し障害が発生していることが判明した場合は、キャッシュメモリの動作を停止し、システムダウンに移行することが可能である。
【0016】
本発明は、特にコンピュータシステムを複数の論理区画に分割して各々の区画で独立してオペレーティングシステムを稼動させうるシステムについて、複数の区画からキャッシュメモリを共有する場合において有効であり、キャッシュで訂正不能な障害が発生した区画を特定し、障害の波及範囲を限定すると共に、他の区画の動作には影響を与えず運用を継続することができる。
【0017】
【発明の実施の形態】
以下、本発明について図面を参照しながら説明する。
【0018】
図1は本発明の実施の第一の形態を示すブロック図である。同図において、本発明による共有キャッシュメモリ障害処理方式は、複数のコンパートメントを有し複数のプロセッサ11および12に共有された共有キャッシュユニット21において、それぞれのプロセッサにどのコンパートメントを割り当てるかを示す構成情報を保持するコンパートメント指示回路52と、任意のプロセッサからの要求によりキャッシュを索引するとき要求元のプロセッサに割り当てられていないコンパートメントのヒット判定を抑止するアドレス比較回路59と、キャッシュへデータを登録するとき前記コンパートメント指示回路が保持する構成情報に従って要求元のプロセッサに割り当てられたコンパートメントを選択するリプレースエントリ生成回路55と、キャッシュ索引時に訂正不可能な障害を検出したときそのコンパートメント番号を通知する障害検出回路58と、前記障害検出回路からの通知に基づいて前記障害が影響する区画を特定し前記構成情報を更新して前記コンパートメント指示回路へ通知し障害処理を行う共有キャッシュ制御部51とを有する。
【0019】
すなわち、プロセッサ11,12の各々にどのキャッシュコンパートメントを割り当てるかを示す構成情報がコンパートメント指示回路52に保持される。プロセッサ11ないし12からの要求によりキャッシュを索引する際に、アドレス比較回路59は要求元のプロセッサに割り当てられていないキャッシュコンパートメントのヒットを判定を抑止する。
【0020】
また、キャッシュへデータ登録する際には、リプレースエントリ生成回路55は要求元のプロセッサに割り当てられたキャッシュコンパートメントの中から登録すべきコンパートメントを選択する。これにより、コンパートメント指示回路52が保持する構成情報に従ってプロセッサ毎に利用可能なキャッシュコンパートメントを任意に割り当てることが可能となる。
【0021】
また、キャッシュ索引時に障害検出回路58により訂正不可能なエラーを検出すると、共有キャッシュ制御部51は診断プロセッサへエラー報告と共に要求元のプロセッサ番号を通知する。これにより診断プロセッサは障害の影響を受ける区画を特定し、当該区画をシステムダウンさせる。
【0022】
図1を参照すると、共有キャッシュ制御部51は、プロセッサ11,12及びシステムバス31に接続されるとともに、共有キャッシュユニット21内の制御機能を有する。
【0023】
コンパートメント指示回路52は、共有キャッシュ制御部51,リプレースエントリ回路55,アドレス比較回路59に接続され、キャッシュ索引の際に索引要求元に対してどのキャッシュコンパートメントが割り当てられており有効かを示す情報を出力する。
【0024】
LRUメモリ53は、キャッシュのLRU(Least Recently Used)制御に用いるメモリで、キャッシュのライン毎に1bitの情報を保持する。
【0025】
アドレス生成部54は、共有キャッシュ制御部51からキャッシュ索引アドレスを入力して保持し、そのアドレスの一部をキャッシュ索引アドレス及びキーとして出力する。
【0026】
リプレースエントリ生成回路55は、共有キャッシュ制御部51,コンパートメント指示回路52,LRUメモリ53に接続され、キャッシュへのデータ登録時に登録すべきキャッシュコンパートメントを決定し、キャッシュアドレスアレイ(AA)56及びキャッシュデータアレイ(DA)57に対して、決定したコンパートメントへの書き込み指示を出力する。
【0027】
上記の共有キャッシュは、2ウェイセットアソシアティブ方式のストアインキャッシュあって、キャッシュのキーアドレスを格納するキャッシュAA56及びデータブロックを格納するキャッシュDA57は、それぞれ2つのコンパートメントからなるメモリアレイを構成する。
【0028】
アドレス比較回路59はキャッシュAA56,コンパートメント指示回路52,アドレス生成部54から信号を入力し、キャッシュヒット判定を行い、判定結果を出力する。
【0029】
データセレクタ60は、アドレス比較回路59からの出力を受け取り、キャッシュDA57から読み出したデータのうちいずれかのコンパートメントからの出力を選択し、出力する。
【0030】
障害検出回路58は、キャッシュAA56及びキャッシュDA57から読み出した値のパリティチェックを行い、エラーを検出した場合にそのコンパートメントの番号を共有キャッシュ制御部51へ出力する。
【0031】
図2は、コンパートメント指示回路52及びリプレースエントリ生成回路55の例を示す構成図である。
【0032】
図2において、コンパートメント指示回路52は、2ビット幅のレジスタの2ワードからなるレジスタ群により構成される。ここでレジスタのビット幅はキャッシュのコンパートメント数に等しく、ワード数は共有キャッシュユニット21に直接接続されるプロセッサ数に等しい。これらのレジスタ群は、共有キャッシュ制御部51より入力されるキャッシュコンパートメント毎の割り当て構成情報を保持する。
【0033】
また、コンパートメント指示回路52は、共有キャッシュ制御部51からレジスタの各ワードに対応する2本の要求元ID信号が入力され、レジスタ群の各ビット単位に要求元ID信号が”1”のワードに格納される値の論理和が出力され、コンパートメントの割り当て情報としてリプレースエントリ生成回路55とアドレス比較回路59へ分配される。
【0034】
さらに、図2を参照すると、リプレースエントリ回路55は、単純な組み合わせ回路により実現される。図3に、この組み合わせ回路の真理値を示す。
【0035】
次に、上記の共有キャッシュメモリの動作について説明する。
【0036】
(1−1)共有キャッシュメモリの初期化
システムの立ち上げ時、共有キャッシュメモリの初期化動作を行う場合には、通常キャッシュメモリの初期化時に行われるようなキャッシュAA56及びキャッシュDA57,LRUメモリ53のクリア動作に加えて、コンパートメント指示回路52への初期設定が行われる。
【0037】
コンパートメント指示回路52は、図2に既述したように、共有キャッシュメモリに接続される各プロセッサと共有キャッシュメモリの各コンパートメントの対応付けの情報を格納するレジスタから構成されており、この設定情報は外部の診断プロセッサからの制御により設定される。
【0038】
図2では、設定の一例としてプロセッサ11に共有キャッシュメモリのコンパートメント0,プロセッサ12に共有キャッシュメモリのコンパートメント1が割り付けられている例を図示した。
【0039】
(1−2)キャッシュメモリからの読み出し
続いて、プロセッサ11及び12から共有キャッシュメモリを読み出す場合の動作を説明すると、まずプロセッサからの読み出し要求は共有キャッシュ制御部51へ送られ、共有キャッシュ制御部51が共有キャッシュメモリの読み出しを開始する。
【0040】
共有キャッシュ制御部51は読み出し要求元のプロセッサ番号に該当するID信号をコンパートメント指示回路52に送出し、当該プロセッサに割り当てられた共有キャッシュのコンパートメント割り当て情報を得る。
【0041】
一方で、共有キャッシュ制御部51から読み出しアドレスがアドレス生成部54へ送られ、キャッシュAA56及びキャッシュDA57の索引アドレスを得て各々のメモリアレイを索引するとともに、索引キーをアドレス比較回路59へ渡す。
【0042】
アドレス比較回路59では、キャッシュAA56とアドレス生成部54から得た索引キーを比較し、キャッシュメモリのヒット判定を行うが、この時コンパートメント指示回路52からのコンパートメント割り当て情報により、読み出し要求元のプロセッサに割り当てられていないコンパートメントのヒット判定をマスクする。データセレクタ60では、このヒット判定結果を得てキャッシュDA57出力のデータのうち何れかを選択して共有キャッシュ制御部51へ渡す。
【0043】
この時、キャッシュヒットした場合は、共有キャッシュ制御部は取り出したデータをプロセッサへ送出して一連の動作が完了するが、キャッシュミスした場合はさらに主記憶41からのデータの取り出しを伴う。
【0044】
まず、アドレス比較回路59からキャッシュミスヒットの通知を受け取った共有キャッシュ制御部は、システムバス31へ要求アドレスの読み出し要求を送出する。
【0045】
続いて、LRUメモリ53は所定の論理に従ってリプレースすべきキャッシュコンパートメントを決定するが、この情報はリプレースエントリ生成回路55においてコンパートメント指示回路52から得られるコンパートメント割り当て情報によってマスクされ、要求元のプロセッサに割り当てられたコンパートメントの中から一つのコンパートメントを得る。
【0046】
共有キャッシュ制御部は、キャッシュAA56及びキャッシュDA57から当該コンパートメントのデータを読み出し、当該データが更新されていれば(キャッシュ中に”ダーティ”ブロックとして登録されていれば)システムバス31を経由して当該データを主記憶へ書き戻すことでリプレース動作が完了する。
【0047】
続いてシステムバス31への読み出し要求に応じて主記憶41または他の共有キャッシュが応答を返してくるので、共有キャッシュ制御部51は当該要求アドレス及びデータをキャッシュAA56及びキャッシュDA57の予め決定されたコンパートメントへ書き込むと同時に要求元のプロセッサへ送出する。
【0048】
(1−3)キャッシュメモリへの書き込み
次に、プロセッサ11及び12から共有キャッシュメモリへの書き込み動作を説明すると、まずプロセッサからの書き込み要求では、読み出しの場合と同様に共有キャッシュメモリの索引が行われる。
【0049】
キャッシュヒットした場合は、共有キャッシュ制御部51からキャッシュAA56及びキャッシュDA57の当該エントリへ要求アドレスの書き込み、LRUメモリ53の更新が行われて書き込み動作が完了する。
【0050】
キャッシュミスした場合は、読み出し時のミスヒットと同様にまず主記憶ないし他の共有キャッシュメモリから当該共有キャッシュメモリへのデータの登録と、必要に応じてキャッシュのリプレース動作が行われた後、キャッシュヒットした場合と同様に共有キャッシュメモリへの書き込みが行われ、動作が完了する。
【0051】
(1−4)バススヌープ動作
上記に説明したキャッシュの読み出し・書き込み動作の他、上記の共有キャッシュメモリの構成ではバススヌープによるキャッシュの索引及びデータの掃き出し・更新動作が必要となる。個々の索引動作・掃き出し動作・更新動作については、これまでの説明にて記述した動作と同様であるので、ここでは繰り返して説明は行わない。
【0052】
(1−5)キャッシュ障害発生時の動作
プロセッサ11ないし12からの読み出し要求や、キャッシュミス時のリプレース動作に伴う読み出し動作において、障害検出回路58が障害を検出した場合、共有キャッシュ制御部51は共有キャッシュメモリの読み出し動作を中断して共有キャッシュユニット21の動作を一次保留(HOLD)し、障害が発生したことを外部の診断プロセッサへ通知して以後の障害処理を委ねる。
【0053】
診断プロセッサでは、キャッシュメモリの訂正不能障害の通知を受け取ると、共有キャッシュ制御部51を介して障害コンパートメントの番号とプロセッサとキャッシュコンパートメントの割り当て情報を取り出し、障害が波及する論理区画を特定した後、当該論理区画をシステムダウンさせる処理を開始する。
【0054】
一方で、当該の共有キャッシュメモリに障害が波及しない論理区画が含まれている場合は、コンパートメント指示回路52の設定情報を更新して障害が発生した論理区画からのアクセスを抑止した後、共有キャッシュユニットの保留(HOLD)を解除し、運用を再開する。
【0055】
図4は本発明の実施の第二の形態を示すブロック図である。同図において、本発明による共有キャッシュメモリ障害処理方式は、複数のコンパートメントを有し複数のプロセッサ11および12に共有された共有キャッシュユニット21aにおいて、キャッシュに発生した障害の回数をコンパートメントごとに保持する障害履歴レジスタ62と、キャッシュへデータを登録するとき前記障害履歴レジスタの情報を参照してデータを登録するコンパートメントを決定しキャッシュに指示するリプレースエントリ指示回路65と、キャッシュ索引時に訂正不可能な障害を検出したときそのコンパートメント番号を共有キャッシュ制御部に通知する障害検出回路68と、任意のプロセッサからの要求によりキャッシュにアクセスした際にミスヒットによりデータを登録する場合には前記障害履歴レジスタの情報を参照し障害履歴を持たないコンパートメントを選択することを前記リプレースエントリ指示回路に指示する共有キャッシュ制御部61とを有する。
【0056】
すなわち、タグを格納するキャッシュアドレスアレイ(AA)66およびデータを格納するキャッシュデータアレイ(DA)67の障害が発生した回数を示す値をキャッシュコンパートメント毎に保持するレジスタが障害履歴レジスタ62である。障害履歴レジスタ62はキャッシュコンパートメント毎に複数ビットの情報を持ち、その各々をORした情報が障害履歴として出力される。
【0057】
プロセッサ11または12からの要求でキャッシュミスヒットによりキャッシュへデータ登録する際には、リプレースエントリ生成回路65が障害が発生した履歴を持たないキャッシュコンパートメントの中から登録すべきコンパートメントを選択する。これにより、障害履歴を持つコンパートメントへの新規の登録を抑止し、実際に障害が発生したキャッシュラインが上書きされて再利用されることがないようにできる。
【0058】
図4を参照すると、共有キャッシュ制御部61はプロセッサ11,12及びシステムバス31に接続されるとともに、共有キャッシュユニット21a内の制御機能を有する。
【0059】
障害履歴レジスタ62は、共有キャッシュ制御部61およびリプレースエントリ生成回路65に接続され、タグを格納するキャッシュアドレスアレイ(AA)66およびデータを格納するキャッシュデータアレイ(DA)67の障害が発生した回数を示す値をキャッシュコンパートメント毎に保持する。
【0060】
LRUメモリ63は、キャッシュのLRU(Least Recently Used)制御に用いるメモリで、キャッシュのライン毎に1bitの情報を保持する。
【0061】
アドレス生成部64は、共有キャッシュ制御部61からキャッシュ索引アドレスを入力して保持し、そのアドレスの一部をキャッシュ索引アドレス及びキーとして出力する。
【0062】
リプレースエントリ生成回路65は、共有キャッシュ制御部61,障害履歴レジスタ62,LRUメモリ63に接続され、キャッシュへのデータ登録時に登録すべきキャッシュコンパートメントを決定し、キャッシュアドレスアレイ(AA)66及びキャッシュデータアレイ(DA)67に対して、決定したコンパートメントへの書き込み指示を出力する。
【0063】
上記の共有キャッシュは、2ウェイセットアソシアティブ方式のストアインキャッシュであって、キャッシュAA66及びキャッシュDA67はそれぞれ2つのコンパートメントからなるメモリアレイを構成する。
【0064】
アドレス比較回路69は、キャッシュAA66及びアドレス生成部64から信号を入力し、キャッシュヒット判定を行い、判定結果を出力する。この時、ヒット判定結果は障害履歴レジスタ62が格納する障害履歴情報に影響されず、障害履歴が残っているコンパートメントであってもキーが一致した場合はキャッシュヒットとして判定結果を出力する。
【0065】
データセレクタ70は、アドレス比較回路69からの出力を受け取り、キャッシュDA67から読み出したデータのうちいずれかのコンパートメントからの出力を選択し出力する。
【0066】
障害検出回路68は、キャッシュAA66及びキャッシュDA67から読み出した値のパリティチェックを行い、エラーを検出した場合にそのコンパートメントの番号を共有キャッシュ制御部61へ出力する。
【0067】
図5は、障害履歴レジスタ62及びリプレースエントリ生成回路65の例を示す構成図である。
【0068】
同図において、障害履歴レジスタ62は、2ビット幅のレジスタの2ワードからなるレジスタ群により構成される。ここでレジスタのワード数はキャッシュのコンパートメント数に等しく、ビット幅は管理すべき障害履歴の回数表示が可能な幅が必要である。これらのレジスタ群は、共有キャッシュ制御部61よりセットされるキャッシュコンパートメント毎の障害履歴情報を保持する。保持される情報の全ては、共有キャッシュ制御部61及びリプレースエントリ生成回路65へ分配される。
【0069】
さらに、リプレースエントリ回路65は、同図に示すように単純な組み合わせ回路により実現される。図6に、この組み合わせ回路の真理値を示す。
【0070】
次に、上記の共有キャッシュメモリの動作について説明する。
【0071】
(2−1)共有キャッシュメモリの初期化
システムの立ち上げ時、共有キャッシュメモリの初期化動作を行う場合には、通常キャッシュメモリの初期化時に行われるようなキャッシュAA66及びキャッシュDA67,LRUメモリ63のクリア動作に加えて、障害履歴レジスタ62への初期設定が行われる。
【0072】
障害履歴レジスタ62は、図5に示したように、共有キャッシュメモリの各コンパートメント毎の障害履歴情報を格納するレジスタから構成されており、この履歴情報はシステム運用中に障害が発生した際に共有キャッシュ制御部61により書き換えられる。ここでは、システム動作中の一状態を示すため、適当な値を選んで図中に表示してある。
【0073】
(2−2)キャッシュメモリからの読み出し
続いて、プロセッサ11及び12から共有キャッシュメモリを読み出す場合の動作を説明すると、まずプロセッサからの読み出し要求は共有キャッシュ制御部61へ送られ、共有キャッシュ制御部61が共有キャッシュメモリの読み出しを開始する。
【0074】
すなわち、共有キャッシュ制御部61から読み出しアドレスがアドレス生成部64へ送られ、キャッシュAA66及びキャッシュDA67の索引アドレスを得て各々のメモリアレイを索引するとともに、索引キーをアドレス比較回路69へ渡す。
【0075】
アドレス比較回路69では、キャッシュAA66とアドレス生成部64から得た索引キーを比較し、キャッシュメモリのヒット判定を行う。データセレクタ70では、このヒット判定結果を得てキャッシュDA67出力のデータのうち何れかを選択して共有キャッシュ制御部61へ渡す。
【0076】
この時、キャッシュヒットした場合は、共有キャッシュ制御部は取り出したデータをプロセッサへ送出して一連の動作が完了するが、キャッシュミスした場合はさらに主記憶41からのデータの取り出しを伴う。
【0077】
まず、アドレス比較回路69からキャッシュミスヒットの通知を受け取った共有キャッシュ制御部61は、システムバス31へ要求アドレスの読み出し要求を送出する。
【0078】
続いて、LRUメモリ63に格納されるLRU情報により所定の論理に従ってリプレースすべきキャッシュコンパートメントを決定するが、この情報はリプレースエントリ生成回路65において障害履歴レジスタ62から得られる障害履歴情報によってマスクされ、障害履歴を持たないコンパートメントの中から新規の登録を行うべきコンパートメント番号を得る。
【0079】
共有キャッシュ制御部61は、キャッシュAA66及びキャッシュDA67から当該コンパートメントのデータを読み出し、当該データが更新されていれば(キャッシュ中に”ダーティ”ブロックとして登録されていれば)システムバス31を経由して当該データを主記憶41へ書き戻すことでリプレース動作が完了する。
【0080】
続いて、システムバス31への読み出し要求に応じて主記憶41または他の共有キャッシュメモリが応答を返してくるので、共有キャッシュ制御部61は当該要求アドレス及びデータをキャッシュAA66及びキャッシュDA67の予め決定されたコンパートメントへ書き込むと同時に要求元のプロセッサへ送出して一連の動作を完了する。
【0081】
(2−3)キャッシュメモリへの書き込み
次に、プロセッサ11及び12から共有キャッシュメモリへの書き込み動作を説明すると、まずプロセッサからの書き込み要求では、読み出しの場合と同様に共有キャッシュメモリの索引が行われる。
【0082】
キャッシュヒットした場合は、共有キャッシュ制御部61からキャッシュAA66及びキャッシュDA67の当該エントリへ要求アドレスの書き込み、LRUメモリ63の更新が行われて書き込み動作が完了する。
【0083】
キャッシュミスした場合は、読み出し時のミスヒットと同様に、まず主記憶41もしくは他の共有キャッシュメモリから当該共有キャッシュメモリへのデータの登録と、必要に応じてキャッシュのリプレース動作が行われた後、キャッシュヒットした場合と同様に共有キャッシュメモリへの書き込みが行われ、動作が完了する。
【0084】
(2−4)バススヌープ動作
上記に説明したキャッシュの読み出し・書き込み動作の他、上記の共有キャッシュメモリの構成ではバススヌープによるキャッシュの索引及びデータの掃き出し・更新動作が必要となる。個々の索引動作・掃き出し動作・更新動作については、これまでの説明にて記述した動作と同様であるので、ここでは繰り返して説明は行わない。
【0085】
(2−5)キャッシュ障害発生時の動作
プロセッサ11や12からの読み出し要求において、障害検出回路68が障害を検出した場合、共有キャッシュ制御部61は読み出したデータを破壊された(POISONED)データとして要求元のプロセッサへ送出する。破壊されたデータを受け取ったプロセッサは、処理の継続が不可能と判断して当該プロセッサを含む区画をシステムダウンさせるなどの処理を開始するが、このプロセスについては本発明の説明の範囲を超えるので詳しくは言及しない。
【0086】
続いて、共有キャッシュ制御部61は障害履歴レジスタ62の値を読み出し、障害が発生したコンパートメントに対応するワードの値を+1加算して再び障害履歴レジスタ62へ書き戻すことで、以後のキャッシュリプレース動作等で新規に当該コンパートメントにデータが登録されることがないようにする。
【0087】
この時、読み出した障害履歴情報の値が規定値(ここでは”11”とする)であった場合は、同一コンパートメントでの障害が規定回数以上繰り返されたと判断して、共有キャッシュユニット21の動作を保留(HOLD)し、繰り返し障害が発生したことを外部の診断プロセッサ(図示せず)へ通知して以後の障害処理を委ねる。
【0088】
診断プロセッサは通知を受け取ると、全ての区画を含むシステムをダウンさせるなどの障害処理を実行する。
【0089】
読み出した障害履歴情報の値が規定値を超えていなかった場合は、共有キャッシュ制御部61はさらにキャッシュAA66の障害が発生したラインをフラッシュし、破壊されたデータを破棄する。
【0090】
また、キャッシュミス時のリプレース動作や書き込みに伴う読み出し動作時に障害を検出した場合は、上記の読み出しの場合と同様の手段でプロセッサに障害を通知することが出来ないので、共有キャッシュ制御部61はキャッシュアクセスに使用されたアドレスから当該アドレスに対応する区画を特定しようと試みる。
【0091】
上記の共有キャッシュメモリのように、複数の区画を同時に稼働させる場合では、主記憶アドレスを各区画毎に割り当てた上でプロセッサからの主記憶アクセスは各区画毎のオフセット値を加算することで行われる。このオフセット値の加算はプロセッサ内部で行われることを想定しており、これにより各区画のソフトウェアは他の区画の存在を意識することなく実行することが可能となっている。従って障害を検出したときのアドレスが分かれば、対応する区画を特定することは可能である。
【0092】
区画の特定に成功した場合は、共有キャッシュ制御部は当該区画に属するプロセッサのいずれかへ割り込み等の手段を用いて障害を通知する。通知を受け取ったプロセッサは、処理の継続が不可能と判断して当該区画をシステムダウンさせるなどの処理を開始する。
【0093】
万一区画の特定が出来なかった場合、共有キャッシュ制御部61は全区画を含むシステム全体の運用継続が不可能と判断して共有キャッシュユニット21の動作を保留(HOLD)し、致命的な障害が発生したことを外部の診断プロセッサへ通知して以後の障害処理を委ねる。
【0094】
さらに区画の特定に成功した場合は、前述の読み出しの場合と同様、以後の障害履歴レジスタ62の更新およびキャッシュラインのフラッシュ動作が行われて一連の障害時の動作を完了する。
【0095】
上記のように、キャッシュメモリの障害が発生してプロセッサへの通知,障害履歴レジスタの更新,および当該キャッシュラインのフラッシュが完了した後は、共有キャッシュユニット21は直ちに運用を継続して後続のメモリアクセス要求やバススヌープ動作を実行することが可能となる。従って障害が波及しない区画では、障害の影響を受けることなく運用を継続することが可能である。
【0096】
また、障害履歴により障害が発生したコンパートメントへの登録が抑止された後も、当該コンパートメントの障害が発生したライン以外の既に登録済みのライン(健全なデータ)からの読み出し・書き込みを行うことは可能である。キャッシュの障害時に一般に行われているようなコンパートメント縮退方式に比べると、本発明では縮退操作に伴うキャッシュの掃き出し処理が不要であり、障害処理手順が簡略化されている。
【0097】
なお、上記の実施の形態では、共有キャッシュメモリの構成を2ウェイセットアソシアティブ方式としたが、これをさらに多くのコンパートメントから構成することもできる。例えば、4ウェイセットアソシアティブ構成にする場合、LRUメモリにキャッシュの各ライン毎6ビットの情報を付与する必要があり、リプレースエントリ生成回路もより複雑な構成となるが、上記と同様の動作にて実現可能である。
【0098】
さらに、上記においては、障害検出回路はパリティ検出回路であったが、今日ミッションクリティカル用途のコンピュータシステムで通常用いられているようにECC(エラー訂正コード)による障害検出・訂正を行う事も可能である。
【0099】
また、本発明は、共有キャッシュに接続されるプロセッサやバスの数に依存することなく実現可能である。
【0100】
【発明の効果】
以上、詳細に説明したように、本発明によれば、共有キャッシュメモリにおいて訂正不可能な障害を検出した場合に、その障害が発生したキャッシュラインを利用している論理区画を容易に特定することができるので、障害を他の論理区画の動作に波及させることなく当該の区画のみに閉じた障害処理、例えばシステムダウンを行わせることが可能となる。
【0101】
さらに、キャッシュメモリは障害が発生した後も運用を継続することが可能であり、障害が波及する区画を除く他の区画に対しては影響を与えることなくシステムの運用を継続することができる。
【図面の簡単な説明】
【図1】本発明の実施の第一の形態を示すブロック図。
【図2】図1の主要部を示す構成図。
【図3】リプレースエントリ生成回路55の真理値を示す説明図。
【図4】本発明の実施の第二の形態を示すブロック図。
【図5】図4の主要部を示す構成図。
【図6】リプレースエントリ生成回路65の真理値を示す説明図。
【図7】本発明の従来例を示す説明図。
【符号の説明】
11,12,13,14 プロセッサ
21,21a,22 共有キャッシュユニット
31 システムバス
41 主記憶
51,61 共有キャッシュ制御部
52 コンパートメント指示回路
53,63 LRUメモリ
54,64 アドレス生成部
55,65 リプレースエントリ生成回路
56,66 キャッシュAA
57,67 キャッシュDA
58,68 障害検出回路
59,69 アドレス比較回路
60,70 データセレクタ
62 障害履歴レジスタ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a shared cache memory failure handling method, and more particularly to a shared cache memory failure handling method for continuing system operation while limiting a range affected by a failure occurring in a cache memory shared by a plurality of processors.
[0002]
[Prior art]
FIG. 7 is an explanatory diagram illustrating an example of a computer system including a shared cache memory. In the figure, shared
[0003]
Recently, in such a system, it is possible to logically divide resources such as a processor and a main memory into a plurality of partitions and operate each of them as an independent system. In this case, when a memory access from a processor belonging to each section is performed, the software is aware of the existence of another section by adding the start address of the memory area allocated to the section as an offset value at the time of transmission from the processor. Instructions can be executed without the need.
[0004]
However, when considering the reliability of each section, a unit shared by a plurality of sections, for example, the shared cache unit 21 is a single point of failure (SPOF: Single) of the
[0005]
[Problems to be solved by the invention]
As described above, in a computer system having a conventional shared cache memory, when a failure occurs in a cache memory shared by a plurality of partitions, if the failure cannot be corrected, each partition is There is a disadvantage that the system will go down.
[0006]
An object of the present invention is to identify the location of a fault that has occurred in a cache memory, limit the section affected by the fault, and reduce the range of the fault as much as possible in order to improve the above problems. It is an object of the present invention to provide a shared cache memory failure handling method that can perform the processing.
[0007]
[Means for Solving the Problems]
The shared cache memory failure processing method according to the present invention is directed to a shared cache memory having a plurality of compartments, in which a usable compartment is pre-allocated for each processor in a shared cache memory shared by a plurality of processors, and a processor divided into an arbitrary plurality of partitions. In the case where the shared cache memory is shared, when an uncorrectable failure is detected at the time of cache indexing, a section affected by the failure is specified, and a means for processing the failure is provided.
[0008]
A shared cache memory fault processing method according to the present invention is a compartment instruction circuit for storing configuration information indicating which compartment is to be assigned to each processor in a shared cache memory having a plurality of compartments and shared by a plurality of processors. And an address comparison circuit for suppressing a hit judgment of a compartment not allocated to the requesting processor when indexing the cache by a request from any processor, and a configuration held by the compartment instruction circuit when registering data in the cache A replacement entry generation circuit for selecting a compartment allocated to the requesting processor according to the information; and a failure detection circuit for notifying the compartment number when an uncorrectable failure is detected during cache indexing. And a shared cache control unit that identifies a section affected by the failure based on a notification from the failure detection circuit, updates the configuration information, notifies the compartment instruction circuit, and performs a failure process. I do.
[0009]
Further, in the above-described shared cache memory failure handling method, the compartment instruction circuit includes a register group including a bit width equal to the number of compartments of the cache and a word number equal to the number of processors connected to the cache, And obtaining and holding the configuration information from the unit, further obtaining a processor ID signal from the shared cache control unit to generate compartment allocation information, and notifying it to the address comparison circuit and the replacement entry generation circuit. Features.
[0010]
Further, the shared cache memory fault processing method of the present invention includes a fault history register for holding the number of faults occurring in a cache for each compartment in a shared cache memory having a plurality of compartments and shared by a plurality of processors; A replacement entry instruction circuit for determining a compartment for registering data by referring to the information of the failure history register when registering data to the cache and instructing the cache, and when an uncorrectable failure is detected at the time of cache index, the compartment number is determined. A failure detection circuit for notifying the shared cache control unit, and a compartment having no failure history by referring to the information of the failure history register when registering data by mishit when accessing the cache by a request from an arbitrary processor. To And having a shared cache control unit instructing the replacement entry instruction circuit to-option.
[0011]
Further, in the above-described shared cache memory failure processing method, the failure history register includes a register group including a word number equal to the number of compartments in the cache and a bit width capable of holding the number of failures to be managed. Is stored for each compartment as failure history information, and the failure information is transmitted to the replacement entry generation circuit and the shared cache control unit.
[0012]
Further, in the shared cache memory failure processing method of the present invention, the shared cache control unit notifies a failure information received from the failure detection circuit to a diagnosis processor, and performs processing of the failure based on a diagnosis result of the diagnosis processor. It is characterized by executing.
[0013]
That is, the cache memory according to the present invention is a shared cache of a set associative system including a plurality of compartments, and an available compartment can be allocated in advance to each processor sharing the cache. As a result, when the shared cache is shared by the processors divided into a plurality of partitions, it is possible to specify a partition that leads to a system down when an uncorrectable failure occurs in the cache, and to limit the range of the failure.
[0014]
Further, the shared cache memory according to the present invention is provided with a failure history register for storing a failure history of the compartment for each compartment, so that the failure history of the cache compartment is managed and a replacement entry associated with a cache miss is determined. Registration in a compartment having a failure history can be suppressed.
[0015]
Furthermore, by managing the history of faults, when a fault is detected in the cache memory, the fault history register is referenced, and if it is determined that a fault has repeatedly occurred in the relevant compartment, the operation of the cache memory is stopped. Then, it is possible to shift to system down.
[0016]
The present invention is particularly effective for a system in which a computer system is divided into a plurality of logical partitions and an operating system can be operated independently in each of the partitions, when a cache memory is shared from a plurality of partitions, It is possible to specify a section where an unusual failure has occurred, limit the range of the failure, and continue operation without affecting the operation of other sections.
[0017]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, the present invention will be described with reference to the drawings.
[0018]
FIG. 1 is a block diagram showing a first embodiment of the present invention. In the figure, a shared cache memory failure processing method according to the present invention provides configuration information indicating which compartment is assigned to each processor in a shared cache unit 21 having a plurality of compartments and shared by a plurality of
[0019]
That is, configuration information indicating which cache compartment is to be assigned to each of the
[0020]
When registering data in the cache, the replacement
[0021]
When the
[0022]
Referring to FIG. 1, the shared cache control unit 51 is connected to the
[0023]
The
[0024]
The
[0025]
The
[0026]
The replacement
[0027]
The shared cache is a two-way set associative store-in cache, and a cache AA 56 for storing a key address of the cache and a cache DA 57 for storing a data block constitute a memory array including two compartments.
[0028]
The address comparison circuit 59 receives signals from the cache AA 56, the
[0029]
The
[0030]
The
[0031]
FIG. 2 is a configuration diagram showing an example of the
[0032]
In FIG. 2, the
[0033]
In addition, the
[0034]
Further, referring to FIG. 2, the
[0035]
Next, the operation of the above-described shared cache memory will be described.
[0036]
(1-1) Initialization of shared cache memory
When the initialization of the shared cache memory is performed when the system is started, the
[0037]
As described above with reference to FIG. 2, the
[0038]
FIG. 2 illustrates an example in which the processor 11 is assigned the
[0039]
(1-2) Reading from cache memory
Next, an operation for reading the shared cache memory from the
[0040]
The shared cache control unit 51 sends an ID signal corresponding to the processor number of the read request source to the
[0041]
On the other hand, the read address is sent from the shared cache control unit 51 to the
[0042]
The address comparison circuit 59 compares the cache AA 56 with the index key obtained from the
[0043]
At this time, if a cache hit occurs, the shared cache control unit sends the fetched data to the processor to complete a series of operations. However, if a cache miss occurs, data is further fetched from the main memory 41.
[0044]
First, the shared cache control unit that has received the notification of the cache mishit from the address comparison circuit 59 sends a request for reading the requested address to the
[0045]
Subsequently, the
[0046]
The shared cache control unit reads the data of the compartment from the cache AA 56 and the cache DA 57 and, if the data has been updated (registered as a “dirty” block in the cache), via the
[0047]
Subsequently, in response to the read request to the
[0048]
(1-3) Writing to cache memory
Next, the write operation from the
[0049]
If a cache hit occurs, the shared cache control unit 51 writes the requested address to the corresponding entry of the cache AA 56 and the cache DA 57, updates the
[0050]
When a cache miss occurs, data is first registered from the main memory or another shared cache memory to the shared cache memory, and a cache replacement operation is performed as necessary. Writing to the shared cache memory is performed as in the case of a hit, and the operation is completed.
[0051]
(1-4) Bus snoop operation
In addition to the above-described cache read / write operation, the configuration of the above-described shared cache memory requires a cache snooping and data sweep-out / update operation by a bus snoop. The individual indexing operation, sweeping-out operation, and updating operation are the same as the operations described in the above description, so that the description will not be repeated here.
[0052]
(1-5) Operation when a cache failure occurs
When the
[0053]
Upon receiving the notification of the uncorrectable failure of the cache memory, the diagnostic processor extracts the failure compartment number and the allocation information of the processor and the cache compartment through the shared cache control unit 51, specifies the logical partition to which the failure spreads, A process for bringing the logical partition down is started.
[0054]
On the other hand, if the shared cache memory includes a logical partition to which a failure does not propagate, the setting information of the
[0055]
FIG. 4 is a block diagram showing a second embodiment of the present invention. In the figure, the shared cache memory failure handling system according to the present invention holds the number of failures occurring in a cache for each compartment in a shared cache unit 21a having a plurality of compartments and shared by a plurality of
[0056]
That is, the
[0057]
When registering data in the cache due to a cache mishit in response to a request from the
[0058]
Referring to FIG. 4, the shared cache control unit 61 is connected to the
[0059]
The
[0060]
The
[0061]
The
[0062]
The replacement
[0063]
The above-mentioned shared cache is a two-way set associative store-in cache, and the cache AA 66 and the cache DA 67 each constitute a memory array including two compartments.
[0064]
The address comparison circuit 69 receives a signal from the cache AA 66 and the
[0065]
The
[0066]
The
[0067]
FIG. 5 is a configuration diagram showing an example of the
[0068]
In the figure, the
[0069]
Further, the
[0070]
Next, the operation of the above-described shared cache memory will be described.
[0071]
(2-1) Initialization of shared cache memory
When the initialization operation of the shared cache memory is performed when the system is started, in addition to the operation of clearing the cache AA 66, the cache DA 67, and the
[0072]
As shown in FIG. 5, the
[0073]
(2-2) Reading from the cache memory
Next, the operation when reading the shared cache memory from the
[0074]
That is, the read address is sent from the shared cache control unit 61 to the
[0075]
The address comparison circuit 69 compares the cache AA 66 with the index key obtained from the
[0076]
At this time, if a cache hit occurs, the shared cache control unit sends the fetched data to the processor to complete a series of operations. However, if a cache miss occurs, data is further fetched from the main memory 41.
[0077]
First, the shared cache control unit 61 that has received the notification of the cache mishit from the address comparison circuit 69 sends a request for reading the requested address to the
[0078]
Subsequently, the cache compartment to be replaced is determined according to a predetermined logic based on the LRU information stored in the
[0079]
The shared cache control unit 61 reads the data of the compartment from the cache AA 66 and the cache DA 67, and if the data has been updated (registered as a “dirty” block in the cache) via the
[0080]
Subsequently, since the main memory 41 or another shared cache memory returns a response in response to the read request to the
[0081]
(2-3) Writing to cache memory
Next, the write operation from the
[0082]
If a cache hit occurs, the shared cache control unit 61 writes the requested address to the corresponding entry of the cache AA 66 and the cache DA 67, updates the
[0083]
In the case of a cache miss, as in the case of a read miss, first, data is registered from the main memory 41 or another shared cache memory to the shared cache memory, and a cache replacement operation is performed as necessary. As in the case of a cache hit, writing to the shared cache memory is performed, and the operation is completed.
[0084]
(2-4) Bus snoop operation
In addition to the above-described cache read / write operation, the configuration of the above-described shared cache memory requires a cache snooping and data sweep-out / update operation by a bus snoop. The individual indexing operation, sweeping-out operation, and updating operation are the same as the operations described in the above description, so that the description will not be repeated here.
[0085]
(2-5) Operation when a cache failure occurs
When the
[0086]
Subsequently, the shared cache control unit 61 reads the value of the
[0087]
At this time, if the value of the read failure history information is a prescribed value (here, “11”), it is determined that the failure in the same compartment has been repeated a prescribed number of times or more, and the operation of the shared cache unit 21 is performed. Is held (HOLD), and the fact that a fault has repeatedly occurred is notified to an external diagnostic processor (not shown) and the subsequent fault processing is entrusted.
[0088]
Upon receiving the notification, the diagnostic processor performs a failure process such as bringing down a system including all partitions.
[0089]
If the value of the read failure history information does not exceed the specified value, the shared cache control unit 61 further flushes the failed line of the cache AA 66 and discards the destroyed data.
[0090]
Further, when a failure is detected during a replace operation at the time of a cache miss or a read operation accompanying a write, the failure cannot be notified to the processor by the same means as in the above-described read operation. An attempt is made to specify a partition corresponding to the address from the address used for the cache access.
[0091]
In the case where a plurality of partitions are operated at the same time as in the above-described shared cache memory, a main storage address is assigned to each partition, and the main storage access from the processor is performed by adding an offset value for each partition. Is It is assumed that the addition of the offset value is performed inside the processor, whereby the software of each section can be executed without being aware of the existence of other sections. Therefore, if the address at the time of detecting the failure is known, it is possible to specify the corresponding section.
[0092]
When the partition is successfully specified, the shared cache control unit notifies one of the processors belonging to the partition of the failure using a means such as an interrupt. Upon receiving the notification, the processor determines that the continuation of the processing is impossible and starts processing such as bringing down the system of the partition.
[0093]
If the partition cannot be identified, the shared cache control unit 61 determines that the operation of the entire system including all the partitions cannot be continued, suspends the operation of the shared cache unit 21 (HOLD), and causes a fatal failure. Is notified to an external diagnostic processor, and the subsequent fault processing is entrusted.
[0094]
Further, when the section is successfully specified, the update of the
[0095]
As described above, after the occurrence of a cache memory failure, the notification to the processor, the update of the failure history register, and the flushing of the cache line are completed, the shared cache unit 21 immediately continues to operate, and the subsequent memory An access request and a bus snoop operation can be executed. Therefore, in a section where the failure does not spread, the operation can be continued without being affected by the failure.
[0096]
Even after registration in the failed compartment is suppressed by the failure history, it is possible to read and write from already registered lines (healthy data) other than the failed line in that compartment. It is. Compared with the compartment degeneracy method that is generally performed when a cache fault occurs, the present invention does not require the process of flushing the cache accompanying the degeneration operation, and simplifies the fault processing procedure.
[0097]
In the above-described embodiment, the configuration of the shared cache memory is the two-way set associative system. However, the configuration can be configured with more compartments. For example, in the case of a 4-way set associative configuration, it is necessary to add 6-bit information to each line of the cache to the LRU memory, and the replacement entry generation circuit has a more complicated configuration. It is feasible.
[0098]
Further, in the above description, the failure detection circuit is a parity detection circuit, but it is also possible to perform failure detection and correction using an ECC (error correction code) as generally used in computer systems for mission critical applications today. is there.
[0099]
Further, the present invention can be realized without depending on the number of processors and buses connected to the shared cache.
[0100]
【The invention's effect】
As described above in detail, according to the present invention, when an uncorrectable failure is detected in a shared cache memory, it is possible to easily specify a logical partition using the failed cache line. Therefore, it is possible to cause only the partition concerned to perform closed failure processing, for example, system down, without spreading the failure to the operation of another logical partition.
[0101]
Furthermore, the cache memory can continue to operate even after a failure has occurred, and can continue to operate the system without affecting other partitions except for the partition affected by the failure.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a first embodiment of the present invention.
FIG. 2 is a configuration diagram showing a main part of FIG. 1;
FIG. 3 is an explanatory diagram showing a truth value of a replacement
FIG. 4 is a block diagram showing a second embodiment of the present invention.
FIG. 5 is a configuration diagram showing a main part of FIG. 4;
FIG. 6 is an explanatory diagram showing a truth value of a replacement
FIG. 7 is an explanatory view showing a conventional example of the present invention.
[Explanation of symbols]
11, 12, 13, 14 processors
21, 21a, 22 Shared cache unit
31 System bus
41 Main Memory
51, 61 Shared cache control unit
52 compartment indication circuit
53,63 LRU memory
54, 64 address generator
55, 65 replacement entry generation circuit
56,66 Cache AA
57,67 Cache DA
58, 68 failure detection circuit
59, 69 Address comparison circuit
60, 70 data selector
62 Failure history register
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002217788A JP3931757B2 (en) | 2002-07-26 | 2002-07-26 | Shared cache memory failure handling method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002217788A JP3931757B2 (en) | 2002-07-26 | 2002-07-26 | Shared cache memory failure handling method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004062377A true JP2004062377A (en) | 2004-02-26 |
JP3931757B2 JP3931757B2 (en) | 2007-06-20 |
Family
ID=31939153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002217788A Expired - Fee Related JP3931757B2 (en) | 2002-07-26 | 2002-07-26 | Shared cache memory failure handling method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3931757B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006260562A (en) * | 2005-03-14 | 2006-09-28 | Internatl Business Mach Corp <Ibm> | Method for recovering hardware and smp computer system (device and method of self-correction type cache using line deletion, data log recording, and fuse repair correction) |
US7330935B2 (en) | 2004-03-31 | 2008-02-12 | Nec Corporation | Set associative cache system and control method for cache memories |
JP2008052550A (en) * | 2006-08-25 | 2008-03-06 | Nec Computertechno Ltd | Multiprocessor system, memory control/coherency control apparatus, and method for guaranteeing coherency |
JP2012190330A (en) * | 2011-03-11 | 2012-10-04 | Toshiba Corp | Cash controller, cash control method and data storage device |
JP2012198805A (en) * | 2011-03-22 | 2012-10-18 | Denso Corp | Control device |
WO2024027325A1 (en) * | 2022-07-30 | 2024-02-08 | 超聚变数字技术有限公司 | Memory fault handling methods and apparatuses, and storage medium |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6275427B2 (en) | 2013-09-06 | 2018-02-07 | 株式会社東芝 | Memory control circuit and cache memory |
-
2002
- 2002-07-26 JP JP2002217788A patent/JP3931757B2/en not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7330935B2 (en) | 2004-03-31 | 2008-02-12 | Nec Corporation | Set associative cache system and control method for cache memories |
JP2006260562A (en) * | 2005-03-14 | 2006-09-28 | Internatl Business Mach Corp <Ibm> | Method for recovering hardware and smp computer system (device and method of self-correction type cache using line deletion, data log recording, and fuse repair correction) |
JP2008052550A (en) * | 2006-08-25 | 2008-03-06 | Nec Computertechno Ltd | Multiprocessor system, memory control/coherency control apparatus, and method for guaranteeing coherency |
JP2012190330A (en) * | 2011-03-11 | 2012-10-04 | Toshiba Corp | Cash controller, cash control method and data storage device |
JP2012198805A (en) * | 2011-03-22 | 2012-10-18 | Denso Corp | Control device |
WO2024027325A1 (en) * | 2022-07-30 | 2024-02-08 | 超聚变数字技术有限公司 | Memory fault handling methods and apparatuses, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP3931757B2 (en) | 2007-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7447845B2 (en) | Data processing system, processor and method of data processing in which local memory access requests are serviced by state machines with differing functionality | |
US7055003B2 (en) | Data cache scrub mechanism for large L2/L3 data cache structures | |
EP0300166B1 (en) | Cache memory having a resiliency in processing a variety of address faults | |
US8977820B2 (en) | Handling of hard errors in a cache of a data processing apparatus | |
US7343515B1 (en) | System and method for performing error recovery in a data processing system having multiple processing partitions | |
US6883069B2 (en) | Cache control device and manufacturing method thereof | |
US7685354B1 (en) | Multiple-core processor with flexible mapping of processor cores to cache banks | |
JP2572518B2 (en) | Managing data objects used to maintain state information for shared data in a local complex | |
JP5476391B2 (en) | Data processing system | |
US6006311A (en) | Dynamic updating of repair mask used for cache defect avoidance | |
JP4395425B2 (en) | Data processing apparatus and method for processing corrupted data values | |
US6480975B1 (en) | ECC mechanism for set associative cache array | |
US7240277B2 (en) | Memory error detection reporting | |
US7484131B2 (en) | System and method for recovering from a hang condition in a data processing system | |
US7447844B2 (en) | Data processing system, processor and method of data processing in which local memory access requests are serviced on a fixed schedule | |
US8291259B2 (en) | Delete of cache line with correctable error | |
US5958068A (en) | Cache array defect functional bypassing using repair mask | |
US20110047411A1 (en) | Handling of errors in a data processing apparatus having a cache storage and a replicated address storage | |
JPH07281914A (en) | Microsequencer-bus-controller subsystem | |
US20080133898A1 (en) | Technique for context state management | |
JP3900025B2 (en) | Hit determination control method for shared cache memory and hit determination control method for shared cache memory | |
US7395489B2 (en) | Control system and memory control method executing a detection of an error in a formation in parallel with reading operation | |
KR19980079609A (en) | Multiple Cache Directories for Snooping Devices | |
JP3931757B2 (en) | Shared cache memory failure handling method | |
JP5021978B2 (en) | Multiprocessor system and operation method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040420 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050308 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060913 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060926 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061030 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20061205 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061227 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20070119 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070201 |
|
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: 20070220 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070305 |
|
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 |