JPH06504865A - 集積メモリ、その管理方法及び該方法から得られる情報システム - Google Patents

集積メモリ、その管理方法及び該方法から得られる情報システム

Info

Publication number
JPH06504865A
JPH06504865A JP5509033A JP50903393A JPH06504865A JP H06504865 A JPH06504865 A JP H06504865A JP 5509033 A JP5509033 A JP 5509033A JP 50903393 A JP50903393 A JP 50903393A JP H06504865 A JPH06504865 A JP H06504865A
Authority
JP
Japan
Prior art keywords
memory
address
block
blocks
dat
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
JP5509033A
Other languages
English (en)
Other versions
JP3199378B2 (ja
Inventor
シヤルロ,デイデイエ
ケリベル,ジヨジアーヌ
ベルナール,クリステイアン
Original Assignee
ブル・エス・アー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ブル・エス・アー filed Critical ブル・エス・アー
Publication of JPH06504865A publication Critical patent/JPH06504865A/ja
Application granted granted Critical
Publication of JP3199378B2 publication Critical patent/JP3199378B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • 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/0751Error or fault detection not based on redundancy
    • G06F11/0763Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
    • 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/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 集積メモリ、その管理方法及び該方法から得られる情報システム 本発明は、欠陥を含み得る集積電子メモリ(m6moire MlecLron ique inL6gr6e)の管理方法、該方法の実施の結果得られるメモリ 、並びに該方法を実施するシステムに関する1本発明はより1キ定的には、情報 システムと該システムグ)キヤ・lシュメモリとに関する。
情報システムは、入出力装置を介して1つ又は複数の周辺サブシステムと通信し 得る中央サブシステムからなる。
大規模システムの中央サブシステムは通常、バスを介して内部メモリと入出力装 置とに接続される複数のプロセッサを3む。
各10セ、ツサは、内部メモリに記憶されているプログラムの命令を実行する機 能を果たす、前記命令及びその実行に必要なデータには、内部メモリのアドレス 指定手段を用いて10セ・ソサによりアクセスし得る。しかしながら、内部メモ リのアクセス時間は比較的長いため、プロセッサは通常キャッシュメモリを備え ている。キャッシュメモリは、遥かに高速であるが容量が限定されており、内部 メモリの内容の抽出を幾つか記憶するにすぎない、キャッシュメモリは、データ メモリと該データのアドレスのディレクトリとで構成される。データメモリは通 常、静的読み書きメモリ(SRAM )からなり、レベル連想メモリ(m合mo ire associative 色n1veaux)を構成する。キャッシュ メモリは同一の所定サイズを有する複数のブロックに分割され、各ブロックは内 部メモリとの間の一定量の交換に対応する。これらのブロックはn個のレベルを 有するN個のカラムの形態に組織される。N個の連続的ブロックはキャッシュメ モリの1ページを構成するため、キャッシュメモリは合計n個のページを含む、 従って、1つのページの1つのブロックのアドレスは1つのカラムに対応する。
しかしながら、所与のアドレスのブロックは、対応カラムの任意のレベルに位置 し得る。ブロックのレベルは、対応カラムの諸ページの諸アドレスとの比較を行 うことによって決定される。ブロックの探索時間を短縮するために、各カラムの レベル数は少なくし、通常は2つ又は4つとする。
プロセッサは種々の処理回路からなる0例えば、本出願人の特許出願EP−A− 0434483号明細書には、マイクロプログラム化プロセッサに適合した処理 回路が記述されている。この先行特許明細書では、プロセッサが自己のキャッシ ュメモリを介して、内部メモリとの通信を可能にするバスに接続されている。各 プロセッサ及びそのキャッシュメモリは、複数の集積回路パッケージを接続する 同一のプリント回路板上に一緒に載置される。
回路の集積能は増加の一途をたどっており、そのため現在では、各プロセッサを 1つのチップに集積し、これに、専用キャッシュメモリ(ant6mI!moi re priv6e)と称するキャッシュメモリ部分を組合わせることができる 。専用キャッシュメモリは、共有キャッシュメモリ(ant’m!曽oire  partagee)と称しバスに接続されているキャッシュメモリ外側部分に接 続される。専用キャッシュメモリも、データメモリとアドレスディレクトリとか らなる。
本発明は、メモリのコンポーネント及び/又は回路の欠陥によって生じる問題に 関する。前記問題を解決するためには、予備のコンポーネント及び回路を付加し 、メモリの回路を再構成することが知られている。この再構成は、欠陥部分を切 断し、予備の回路及びコンポーネントを用いて前記欠陥部分を補足することから なる。別の解決方法では、メモリブロックのような重複(冗長)機能部分を加え て、対応する欠陥部分の代わりに使用する。重複部分の割り当てのために、メモ リのディレクトリにはデコーダを付加する。前述の2つの解決方法は、コンポー ネント及び回路を付加するため、メモリの有用表面積が削減されるという欠点を 有する。設計者は、集積回路の性能を高めるために、常に有効表面積の最大利用 を自損しており、メモリ内の欠陥の補償に備えて前記表面積の一部分を使用する ことを嫌う。前述の引用例のように、同一の集積回路内の処理回路に接続された メモリの場合は特にそうである、前記引用例ではキャッシュメモリが表面積の約 2/3を覆い、しかもプロセッサに必要な場所を残さなければならない0回路の 再構成は更に、コスト及び時間のかかる高度の技術、例えば特にレーザによる接 続及び切断技術を必要とするか、又はメモリの特定部分の接続及び切断のために メモリ内に切替えエレメントを付加しなければならないという欠点も有する。重 複も、起動された予備エレメントにおけるアドレス指定の変更のためにディレク トリのデコーダが複雑化されるという別の欠点を構成する。
本発明は前述の欠点を解消し、欠陥を有するメモリを、補足的コンポーネント及 び/又は回路を使用せずに且つディレクトリを複雑化せずに使用できるようにす る。
n個のレベルを有するN個のカラムの形態に組織された複数のブロックを有する メモリを管理するための本発明の方法は、機能欠陥のために使用不可能なブロッ クをマーク(F)に結びつけることによって、前記使用不可能なブロックへのア クセスを禁止することからなる。
本発明の方法の実施の結果得られる集積メモリは、該メモリのブロックの一部が 使用されないことを特徴とする。
本発明はより特定的には、内部メモリと通信しデータメモリとアドレスレジスタ とを含むキャシュメモリを備えたプロセッサを少なくとも1つ有する情報システ ムであって、前記データメモリが前述したようなメモリであることを特徴とする 情報システムに関する。
本発明の特徴及び利点は、添付図面に基づく以下の非限定的実施例の説明によっ て明らかにされよう。
添付図面中、第1図は本発明の情報システムの概要を示すブロック図である。該 情報システムは複数のプロセッサを含み、各プロセッサは、本発明の方法によっ て管理される本発明の専用キャシュメモリを含んでいる。
第2図は第1図の情報システムのプロセッサを簡単に示すブロック図である。
第3図は第2図のプロセッサの専用キャシュメモリのデータメモリの構成を簡単 に示すブロック図である。
第4図は第2図のプロセッサの専用キャシュメモリのアドレスレジスタの構成を 簡単に示すブロック図である。
第5図は第3図及び第4図に示したキャシュメモリで使用されるアドレスの構造 と、これらアドレス間の関係とを示す説明図である。
第6図はデータメモリのブロックをマーキングするための本発明の方法の実施例 を示す説明図である。
第7図は本発明の方法のマーキングを行うのに使用されるオートセット方法を実 施するための、データメモリと、専用キャッシュメモリのレジスタと、プロセッ サの装置EAD及びBDPとの間の関係を簡単に示すブロック図である。
第8図、第9A図及び第9B図は、第7図の説明で触れたオートセット方法を実 施するための装置EAD及びBDPの実行流れ図をそれぞれ示す説明である。
第1図は、複数の周辺サブシステムIO3Siに接続された本発明の中央サブシ ステムC8Sを含む情報システム5YSTの概要をブロック図で示している。中 央サブシステムC8Sは、16個ノフロセッサCPU (CPUO,CPUl1 .0.)とそれぞれの周辺サブシスチムニ08siに接続されている人出方装置 l0Uiとの間で通信を行うためにシステムバスSBに接続されている内部メモ リMUを含んでいる。バスSBは、データバス5B−DATと、アドレスバス5 B−ADと、制御バス5B−CTLとで構成されている。16のプロセッサCP Uは4つのボードCP B (Central Processor Boar d) CP B O〜CP B 3上に4つずつ分配されている。各ボードCP B上では、特にボードCPBO上に示されているように、4つのプロセッサcp uo〜CPU3の各々が、専用キャシュメモリPCと基本処理装置BPUとを含 む集積回路VLS I (Very Large 5cale Integra tion)で構成されている。各ボードCPBは、プロセッサCPUの4つの専 用キャシュメモリPCに接続されたプロセッサバスACBにシステムバスSBを 接続する共有キャシュメモリSHCをも担持している。
プロセッサバスACBは、データバスACB−DATと多重化アドレス及び制御 バスACB−ACとを含んでいる。
共有キャシュメモリSHCは、データメモリSHDとアドレスレジスタSHAと からなる。データメモリSHDは、システムバスSBのデータバス5B−DAT に接続されていると共に、データバスACB−DATを介して4つの専用キャシ ュメモリPCに接続されている。レジスタSHAは、システムバスSHのアドレ スバス5B−ADと制御バス5B−CTLとをプロセッサバスACBの多重化ア ドレス及び制御バスACB−ACに接続している。レジスタSHAは、アドレス ラインADHと内部制御ラインCDRとを介してデータメモリSHDを制御する 。
第2図は、中央サブシステムcssのボードCPBの16のプロセッサCPUの うち1つのプロセッサの構造をブロック図で示している。専用キャシュメモリP Cは通常のように、データメモリDATと、メモリDAT内のデータのアドレス のディレクトリDIRとで構成されている。メモリDATは通常、n個のレベル を有するN個のカラムの形態に構成された複数のブロックからなる連想メモリ( m6moire associative)である。レベルの数nは、カラムの 数Nとブロックの大きさとの積に対するメモリDATの総容量の比によって決定 される。メモリDATはデータバスACB−DATを介してプロセッサバスAC Bとの間でデータを交換する。ディレクトリDIRは、多重化アドレス及び制御 バスACB−ACを介して、ボード上の他の3つのプロセッサ及び共有キャッシ ュメモリSHCのアドレスレジスタSHAと通信する。また、ディレクトリDI Rは、共有キャッシュメモリSHCの場合と同様に、アドレスラインADR及び 内部制御ラインCDRを介してメモリDATを制御する。
図示の各プロセッサの基本処理装置BPUは、プロセッサの3つの実行装置、即 ち仮想アドレスを実際のアドレスに翻訳し専用キャッシュメモリPCのアドレス 指定を行う装置E A D (Effective Address Deve lopment)と、二進及び十進演算装置B D P (Binary−De cimal Processor)と、浮動小数点演算袋N F P P (F loating Po1nt Processor)とを含んでいる。これら3 つの装置は内部バスCBを介して相互に且つメモリDATに接続されている。内 部バスCBは、メモリによって送出された命令を転送するためのバスlN5Tと 、メモリDATによって送出されたオペランドを転送するためのバスOPと、3 つの装置EAD、BDP及びFPPのうち1つの装置がらメモリDATに結果を 書き込むか又は前記3つの装置の間で結果を交換するための4バイトバスRES とを含む、特に、装置EADは、主に専用キャッシュメモリPCからの命令及び オペランドを得るためにアドレス指定動作に特異的に割り当てられる。
該装置は、アドレスラインL−ADを介してレジスタDIRに送るべき実際のア ドレスADを演算するための記述子抽出衣T E D (table des  exraits de deseripteurs)を含んでいる。該装置はま た、アドレス指定制御信号CD−ADをレジスタDIRとの間で交換する。レジ スタDIRは信号CD−ADに応答して、ラインADR及びCDRを介してメモ リDATを制御する。その結果メモリDATは、内部バスCBを介して、装置E AD、BDP及びPPPとの間で命令、オペランド及び結果を交換できるように なる。
前記3つの装置は各プロセッサCPU内で自己のマイクロプログラムを独立して 実行できるため、これらの装置によって実行される動作の同期及び統一(coh I!rence )のために、制御ラインCD−CBを介して相互に且つレジス タDIRに接続されている。この実施例は、本発明の実施に適したプロセッサの 好ましい実施例を示す非限定的なものにすぎない、簡明化のため、第1図及び第 2図にはクロック回路及び保守装置を示さなかった。類似の構造の中央情報サブ システムのマイクロプログラム化機能の具体例は前出の特許出願EP−A−04 34483号明細書に記述されている。
ここで、第3図〜第6図を参照しながら、キャッシュメモリpcの管理方法の非 限定的実施例を説明する。第3図は、総容量2目バイト、即ち64koのメモリ DATの構成を示している。該メモリは、16個のレベルLVO〜LV15を有 する64個のカラムの形態に構成されている。
従って、各レベルは64個のブロックBLO〜BL63を含む、各ブロックは2 6バイト、即ち64バイトの大きさを有し、各カラムは16個のレベルで対応す る16個のブロックからなる0例えば、カラム12は16個のレベルLVO〜L V15を有する16個のブロックBL12からなる。64個のブロックの各々は 16バイトのサブブロックSBLを4つ含み、従って16個のレベルLVO〜L VI5の各々で256個のサブブロック5BLO〜255を規定する。メモリD ATは、アドレスラインADRを介して、レジスタDIFtからサブブロックの アドレスを受け取る。
第5図は前記アドレスD CA (Data Cache memory Ad dresS)の具体例を示している。符号化されていないアドレスDCAの最初 の16のビットHITO:15は後で説明するが、メモリDATの16個のレベ ルLVO〜LV15を決定する。これら16のビットは、サブブロックSBLの アドレスを表す8つのビット5BA16:23と、サブブロック内でのアドレス 指定に使用される4つのビットl5BA24 : 27とに付加されている。8 つのビットSBAはメモリDAT内でデコーダDECによりデコードされる。
従って、各アドレスDCAは、バスCBを介して処理装置BPUにデータを供給 することになるサブブロックへのアクセスのためにメモリDATが必要とする情 報を記憶している。メモリDATでは、バスCBとの間のインタフェース回路と して機能するデータバスDTPにそれぞれ接続されている書込みレジスタWL及 び読み取りレジスタRLと協働する136ビツト(1つのサブブロックの大きさ を表す16バイト+1つのパリティバイト)データラインにデータが供給される 。
第4図はレジスタDIRの構成及び機能をブロック図で示している0図示のレジ スタDIRは、メモリDATのブロックのアドレスDEを記憶するための読出し 書込みメモリである。従ってDIRのメモリも、16個のレベルLV0〜LV1 5を有する64個のカラムC0LO〜63の形態に組織されておりメモリDAT のブロックBLのそれぞれのアドレスDEを記憶する複数のブロックからなる。
レジスタDIRに記憶されるアドレスDEは、該レジスタが装置EADから受け 取るアドレスADに由来する。
第5図は、ブロックのアドレス指定のために装置EADによってレジスタDIR に供給されるアドレスADの具体例を示している。アドレスADは、重みの大き いビットからなる上位アドレスAHと、重みの小さいビットからなる低位アドレ スALとを含む。上位アドレスAHは、記述子抽出衣TEDでの処理後に装置E ADによって供給された24個のビット00 : 23で構成されている。上位 アドレスAHは、対応ブロックが存在するページを決定する1図示のアドレスA Dは、各論理メモリページが2■2バイト、即ち4koの大きさを有することを 前提とする。装置EADは、変換を行わずに、従って高速で、低位アドレスAL の12のビット24:35を供給する。これらのビットは論理メモリベージの大 きさの212バイトの累乗に対応する。
低位アドレスALは、対応ページ内の対応ブロックのアドレス指定に使用される 6ビツト24 : 29の上位アドレスA’LHと、ブロック内でのアドレス指 定に使用される6ビツト30 : 35の低位アドレスALLとに分割されてい る。
第5図は、アドレスADに基づくメモリDATのサブブロックのアドレスDCA の形成を示している。前述のように、レジスタDIRのメモリは64バイトのブ ロックで構成されており、メモリDATでは各ブロックBLが4つの16バイト サブブロツクSBLに分割される。従って、メモリDAT内のサブブロックSB Lのアドレス指定の場合には、低位アドレスALの12のビットが、サブブロッ クのアドレスSBAを構成する重みの大きい8つのビットと、サブブロック内部 のアドレスl5BAを構成する重みの小さい4つのビットとに配分される。
第5図は、レジスタDIRが、装置EADによって供給されたアドレスADを受 け取った後に記憶するアドレスDE (Directory Entry )の 具体例も示している。該入力アドレスDEは、アドレスADの上位アドレスAH の24個のビット00 : 23からなるアドレスフィールドと、該アドレスフ ィールドのビット00:11のパリティPOのビット24と、前記アドレスフィ ールドの残りのビット12:12のパリティP1のビット25と、ブロックの状 態STを表す2つのビット26.27と、状態パリティPSのビット28とで構 成されている。通常のように、状態STは、第6図に示した方法で3つの状態を 決定する2つのとットV (Valide)及びM (Nodifi6)によっ て決定される。前記3つの状態とは、専用キャッシュメモリPCが共有キャッシ ュメモリSHC内に存在するブロックの同一コピーを有する(前記同一コピーは プロセッサCPUの別の専用キャッシュメモリ内にも存在し得る)場合のコピー 有効状filo、専用キャッシュメモリPCだけが該専用メモリによって修正さ れたブロックのコピーを有すべき場合のコピー有効修正状R11(別の専用キャ ッシュメモリPC内、共有キャッシュメモリSHC内、又は内部メモリMU内に 存在するコピーは更新されていない)、並びに専用キャッシュメモリPCがブロ ックのコピーを有していたがそれを喪失してしまった場合、例えば、そうこうし ているうちに別のプロセッサCPUが前記ブロックに書込みをしてしまった場合 のコピー無効状g00である。状態パリティビットPSは、ビットVと、ビット Mと、低位アドレスALの上位部分ALHとの排他的論理和の結果である。従っ て入力アドレスDEは、装置EADから受け取られる低位アドレスALを含んで いない、実際の操作では、レジスタDIRは64バイトのブロックを管理し、従 って低位アドレスALの低位部分ALLをメモリDATに直接転送することがで きる。上位部分ALHはレジスタDIRのカラムのアドレス指定に直接使用され る。
第4図はレジスタDIRの機能原理を示している。装置EADから受け取られた アドレスADの低位アドレスALの6つのビットALHは、デコーダDECOに よって、所期のアドレスDEが存在する64個のカラムC0LO〜63のうちの 1つのカラムを指定する64個のビットにデコードされる。前記所期のアドレス は、デコーダDECによって指定されたカラム、該実施例ではカラムC0L20 の16個のレベルLVO〜LV15に記憶されている16個のアドレスの中から 探索される。前記アドレスの探索は、16個の比較器COMPで、カラムC0L 20の16個のアドレスDEのそれぞれのアドレスフィールド00 : 23を アドレスADの上位アドレスAHと比較することによって実行される。従って、 16個のヒツトHITO:15が、メモリDAT内で対応ブロックが存在するレ ベルを決定する。第4図では非限定的な例として、前記アドレスがレベルLV1 5に存在すると想定する。16個のヒツトHITO:15は、レジスタDIRに よってメモリDATに送られたアドレスDCA (第5図)の最初の16個のビ ットを構成する。該ビットHITO−15は4ビット信号に符号化し得、その場 合はメモリDATでデコードされる。しかしながら、符号化及びデコードに必要 な時間に起因して、メモリDATによる前記ビットの使用が遅れる。装置EAD により要求されたブロックのレベル(該実施例ではレベルLV15)をメモリD AT内で決定するビットHITO:15をレジスタDIRによって送出する動作 は、比較器COMPAでブロックBLの状態STが確認された後で実行される。
第6図を参照しながら説明したように、状態STはブロックBLのアドレスDE の2つのビットV及びMによって決定される。プロセッサCPUがメモリDAT のブロックBL内で読取りを行いたい時は、前記ブロックが有効状a(V=1) を有していさえすればよい、従って比較器COMPAは、DIRによって探索さ れたアドレス指定内のビットVの値を確認する。■=1であれば、レジスタDI Rは対応するブロックでの読取りを行うためのアドレスDCAをメモリDATに 送る。■=0であるか、又は比較器COMPAによって行われる16の比較のい ずれもがブロックを指定しなければ、レジスタDIRはバスACB−AC(第2 図)を介して共有キャッシュメモリSHCに所期のブロックBLを要求する。次 いでレジスタDIRは、共有キャッシュメモリS HCから受け取るであろうブ ロックBLを記憶するためのレベルをメモリDAT内で探す、後述のように、前 記レベルはブロック取替えアルゴリズムを用いてオペレータにより選択される。
取替えるべきブロックBLの状態がV=1M=1であれば、専用キャッシュメモ リPCのみが前記ブロックの更新コピーを有することになる。従って、前記ブロ ックのデータを共有キャッシュメモリSHCに送らなければならない。この動作 は「スワップ(swap) Jとして知られている。新しいブロックBLのデー タはバスACB−DATから受け取られる。次いでレジスタDIRは、メモリD ATが前記ブロックを記憶し、該ブロック内でプロセッサCPUに送るべきデー タを読取るように、アドレスDCAをメモリDATに送る。逆に、プロセッサC PUがメモリDATのブロックBLに書込みをしたい場合には、前記ブロックの 有効且つ一意のコピーを有していなければならない。従って比較器COMPAは 、ブロックが有効であるか否かを知るために、ビットVの状態を確認し、次いで ビットMの状態を確認する1M=1であれば書込みが可能であり、レジスタDI RはアドレスDCAをメモリDATに送る1M=0であれば、レジスタDIRは 他のプロセッサがメモリDAT内のコピーを修正してないかどうかを確かめなけ ればならない、修正していなければ書込みが可能であり、修正していれば、レジ スタDIRはブロックへの書込みの前にブロックを更新すべく作動する。 第3 図のメモリDATに示すように、特にレベルLVOのブロックBL18及びレベ ルLV15のブロックBL40は、これらのブロックを使用不能にする製造欠陥 を有すると想定した。単一のサブブロック内に欠陥が1つでもあれば、ブロック は使用不能と宣言される。
本発明は、欠陥のあるメモリDATを、欠陥部分の交換又は修理を行わずに使用 することからなる1本発明の第1の特徴として、あるブロックに割り当てられた 場所における欠陥の存在は、該ブロックが使用不能であることを意味するマーク Fによってアドレス中に示される。第5図に示すアドレスDEでは、マークFが 、第6図に示したように、ブロックの状態STを決定するビット■及びMの使用 不能を表す組合わせ01からなる。この場合は、ブロックが使用不能な時にだけ マークFが提示される。ブロックが機能的に使用可能であれば、とット■及びM はブロックの3つの状態STのうちの1つを示すのに使用される。
メモリDATの性能が使用不能ブロックの数に依存することは明白である。本発 明の別の特徴は、使用不能ブロックの数を所定の割合に制限することにある。前 記割合をメモリDATのブロックの総数に関連させてもよい、該実施例では、使 用不能ブロックの数の限界値を10と選択した。
これは、メモリDATの非使用ブロックの約1%に相当する。しかしながら、こ れら10個のブロックが同一カラム内にあると、該カラム内の使用可能なレベル が6つとなるため、メモリの性能が大幅に制限される。従って、各カラム内の使 用不能ブロックの最大数に関しても限界値を決定することが望ましい。該限界値 は勿論、各カラムに与えられたレベルの数に依存する。メモリDATが従来のよ うに例えば2つのレベルだけで組織されている場合には、カラム内に使用不能ブ ロックが1つ存在すると使用可能なレベルが1つしか残らないため、キャッシュ メモリの性能が著しく低下する。レベルを4つ有する従来の構成では選択範囲は 広がるが、その場合でも、例えば2つのブロックにまたがる技術的欠陥を考慮し て、1つのカラム内の使用不能ブロックの数は少なくとも2つが望ましい、この ようにすれば、使用不能な集積回路の数及び該損失の影響が著しく減少する。こ の場合、レベル数4の構成では使用可能なレベルが2つしか残らない。本明細書 に記載のレベル数16の構成では、実行すべき比較の数と、所望の性能と、損失 のコストの低下との間のバランスが調和よく得られる。
いずれのキャッシュメモリでも、ブロックの取替えは、種々のタイプの良く知ら れている使用可能なアルゴリズムの中から選択したアルゴリズムによって実行さ れる。該実施例で使用されるアルゴリズムは、L RU (La5t Rece ntly IJsed)という名称で知られている。該アルゴリズムは、取替え るべきブロックとして、DAT内で最も古いレファレンスを有するブロックを指 定する。該実施例では既述のように、プロセッサがブロックに関する要求を行う 場合、プロセッサは対応ブロックのアドレスをもってレジスタDIRにアクセス する。その結果レジスタDIRは、前記ブロックが存在するか否かを見るために カラムの16個のレジスタで比較を行う(第4図)、前記ブロックが存在してい れば問題は起こらない。前記ブロックが存在していない場合は、レジスタDIR は共有キャッシュメモリSC内で前記ブロックを探さなければならず、共有キャ ッシュメモリ内に前記ブロックがなければ、内部メモリMU内で前記ブロックを 探すことになる。その間に、アルゴリズムLRUは幾つかの可能なレベルの中か ら1つのレベルを選択する。従来の連想メモリでは、前記可能なレベルの数が、 メモリの構成のために選択したレベルの数nに対応する。しかしながら、本発明 の方法で管理されるキャッシュメモリでは、アルゴリズムが使用不能レベルを選 択するようなことがあってはならない。好ましい方法の1つでは、レジスタDI Rがカラムの16個のレベルのマスクをアルゴリズムに送る。該マスクは、カラ ムに記憶されている16個のアドレスDEのビットV及びMのコピーを含む、該 マスクに1つ又は2つの使用不能ブロックのマークFが含まれていれば、アルゴ リズムはそれを考慮して、送られてくるブロックに割り当てるべきレベルを選択 する。
該実施例では、マークFがレジスタD[’tの読出し書込みメモリに記憶されて いるアドレスDEの中に配置される。
そのため、中央サブシステムC8Sの機能が中断される毎に、マークFがアドレ スDEと共に消去される。従って、中央サブシステムC8Sの初期化のたびに、 マークFを配置しなければならない、マークは例えば、専用キャッシュメモリP C又は該専用キャッシュメモリを含む集積回路の内部又は外部の小形リードオン リメモリであって、例えば共有キャッシュメモリSHに接続されている前記小形 り−ドオンリメモリから抽出し得る。その場合は、アルゴリズムLRUが前記小 形リードオンリメモリに質問するだけでよく、レジスタDIRによって送られる マスクは必要としない。
本発明の好ましい実施例に関する以上の説明は、本発明が様々な変形及び適用例 を有することを当業者に示唆する。
例えば、本発明は明らかに、情報システムの1つ又は複数のプロセッサのあらゆ る種類のキャッシュメモリに適用できると共に、共有キャッシュメモリSHCに も適用できる。
しかしながら、キャッシュメモリはレベル連想メモリであるため、本発明の方法 はあらゆるレベル連想メモリに同様に適用できる。より一般的に言えば、メモリ DAT内でマトリクス格子状に配置されたブロックはメモリのセルでもあり得、 そのため当業者には明らかなように、本発明の管理方法は連想メモリにもアドレ ス指定可能メモリにも適用し得る。従って、前述の説明で使用したブロックはよ り一般的な意味を有し、アドレス指定可能メモリ又は連想メモリのセルであり得 る。その場合、レジスタDIRは前記メモリの制御回路である。従って、一般的 には、メモリが本発明を使用する場合は、ブロック(又はセル)が使用されない ことがある。二次的なことであるが、メモリは、前記ブロックが使用されないこ とを表すマークFを含み得る。
該実施例では、前記マークは前記ブロックのアドレスに含まれる。しかしながら 、既述のように、マークはメモリの外部、又はメモリを含む集積回路の外部のり 一ドオンリメモリに含ませることもできる。該リードオンリメモリは、装置EA Dによってアドレスが要求されるたびに読み取られ得、又はより有利には、該メ モリの内容が、レジスタDIRのアドレス内に導入されるように、そしてキャッ シュメモリの場合にはブロックの取替えアルゴリズムに供給されるように、シス テム5YSTの初期化時に読み取られ得る。既述のように、該実施例で形成され るマークFは、有利には、対応ブロックの状111isTを表す2つのビット■ 及びMの自由な組合わせを使用する。しかしながら、マークは明らかに各アドレ スDE内の補足ビットFの形態もとり得る。その場合は、ビットFの2つの値に よって、ブロックが使用可能であるか又は使用不能であるかが示される。
比較器COMPAはまずビットFの値を確認し、次いでブロックの状sSTを探 索する。レジスタDIRによってアルゴリズムLRUに送られるマスクはビット Fしか含まない。また、該実施例で示した割合(ρroportion )は変 えることができ、連想メモリの使用に応じて様々な形態をとり得る。前記割合は 、単にブロック全体又は各カラム内の所定数の使用不能ブロックに関連させるこ とができ、又は例えばメモリの機能及び/又は使用コンチクストに固有の別の基 準に関連させることができる。
非使用ブロックのマーキングは様々な方法で実行し得る。
本発明は、第6図に基づいて説明した形態でマークFを非使用ブロックのアドレ スに書き込むための、メモリDATのオートテスト方法の好ましい実施例を提供 する。
既述のように、非限定的実施例として説明したシステム5YSTのプロセッサC PUの基本処理装置BPUは、前記プロセッサの正常な機能を制御するために、 欧州特許出願EP−A−0434083号明細書に従ってマイクロプログラム化 したものである。第7図、第8図及び第9図を参照しながら以下に説明するオー トテスト方法の実施例は、有利には、各プロセッサCPUの基本装置BPUの正 常な機能を制御するマイクロプログラムに付加されたオートテストマイクロプロ グラムSTMPを使用する。該オートテスト方法の説明はまず第7図を参照しな がら行う、第7図は、メモリDATと、レジスタDIRと、基本処理装置BPU の装置EAD及びBDPのオートテストマイクロプログラムSTMPとによって 実行されるオートテスト操作をブロック図で示している。第7図にも、第2図を 参照しながら説明したプロセッサに関して示したエレメントが示されている。第 7図では、メモリDATとレジスタDIRとの間のアドレスラインADH及び制 御ラインCDR1装置EDAとレジスタDIRとの間のアドレスラインL−AD 及び制御ラインCD−AD、装置EDAとBDPとの間の制御ラインCD−CB 、並びに内部バスCB内にあって、装置EDA又はBDPからメモリDATに書 き込むべき結果を転送するのに使用されるバスRESと、該実施例の装置BDP と、メモリDATのオペランドを読取って装置EDA又はBDP方向に転送する ためのバスOPとが、符号を括弧でくくった状態で示されている。該オートテス ト方法に使用される信号は前記ライン並びにバスRES及びOPのそばに示され ている。
該オートテスト方法は、メモリDATの総てのブロックBLO〜BL63がパリ ティ欠陥又は所定データの書込み欠陥を有していないかどうかを確認する第1テ ストから始まる。実際の操作では、前記データが、有利には、各レベルLVO〜 LV15の2つの隣接サブブロック5BLO〜5BL255の間で交互になる( alterna) 2つの低位アドレスパターンALに対応する0例えば、1つ のサブブロックが16のバイトを有することがわかっているため、偶数アドレス ALO1AL2、AL4110.には各バイト毎にデータAAを与え、奇数アド レスALL、AlB12.。
にはデータ55を与える。該第1テストは2つの段階を含む。
段階1は、第7図に実線で簡単に示した書込み段階である。装置EDAのオート テストマイクロプログラムSTMPは、書込みコマンドIOEと、メモリDAT のブロックBLのアドレスADの低位アドレスALと上位アドレスAHとをレジ スタDIRに順次供給する。装置BDPのオートテストマイクロプログラムST MPは信号ALGOによって装置EDAのマイクロプログラムと同期し、メモリ DATにブロックのデータを供給する。これらの動作は、メモリDATの総ての ブロックにデータを書き込むためのループに従って繰り返される。
段Rt2は、第7図に点線で簡単に示した読取り及びテスト段階である。装置E DAのオートテストマイクロプログラムSTMPは装置BDPから送出された信 号ALGOによって同期され、メモリDATのブロックBLの総てのアドレスA Dと、それぞれのブロックのデータの読取りコマンドIORとをレジスタDIR に順次送る。メモリDATは各アドレスのデータを読取り、これらのデータをバ スOPを介して装置BDPに転送し、パリティを確認し、総てのパリティ欠陥P ARERを制御ラインCDRによってレジスタDIRに転送する。装置BDPは 読取られたデータを対応する書込まれたデータと比較し、結果WKRを装置ED Aに送る。装置EDAはコマンドDAOによって前記結果をレジスタDIRに転 送する。これに応答してレジスタDIRのハードウェア(mat6riel ) は、データエラー又はパリティエラーが確認されたDATのブロックに関するマ ークFを、第6図に基づいて説明したようにアドレスDEに書き込む、レジスタ DIRのハードウェアは2つのエラーカウンタ、即ちメモリDATの総ての使用 不能ブロックのカウンタDATERと、各カラムの総ての使用不能ブロックのカ ウンタC0LERとをも管理する。カウンタC0LERはレジスタDIRでカラ ムの変更毎にゼロにリセットされる。前記カウンタのうちの1つが前述の限界値 を超えれば、集積回路は機能不良とみなされ、廃棄される。
該オートテスト方法では次に、先行データの相補値を用いて実行される第2テス トが続く、該第2テストは、それぞれ段階1及び2と同じであり前記相補値に関 する2つの段階3及び4を含む、従って第2テストも、第1テストのデータの相 補値の交互パターン(motifs altern6s)を用いて簡単に且つ迅 速に実行されるという利点を有する。しかしながら、パリティは相補値データに 関しては同一であるため、前述の2つのテストはパリティを変化させない。
そこで該オートテスト方法は、パリティが状態変化して十分にテストされるよう にする第3テストを含む、該テストは2つの段階5及び6を含む、これらの段階 はそれぞれ段階1及び2と同じであるが、パリティを確実に変化させるデータに 関する0例えば、各サブブロックの最終バイトが他のバイトの値を相補する値を 有するようにすればよい。
最初の2つのテストで引用したデータを参照して説明すれば、先行バイトが値A Aを有する時は最終バイトに値55を与え、先行バイトが値55を有する時は最 終バイトに値AAを与える。該テストも簡単且つ迅速に実行できる。
しかしながら、前記3つのテスト(段階1〜6)には依然として不都合がある。
これらのテストでは、2つのデータが隣接サブブロックの間で交互になる。従っ て、メモリDATのアドレスデコーダDECが機能不良であると、前記データの 一方が同一アドレスに2度書込まれる可能性がある6例えば、段階1で2つのデ ータのうちの一方(AA。
、5又は55.、、)をアドレスALO及びAl1に書込みたい場合、デコーダ DECが2つのアドレスALO及びAl1を混同すると、前記値がアドレスAL Oに2度書込まれ得る。該テストは、結果HITO−15によって制御されるレ ベルのマルチプレクサが良好に機能しており2つのレベルを混同していないかど うかを確認できると有利である。このような場合には、2つのアドレスでの読取 りが同一のデータを与え、比較が良好と判断とされるが、現実にはデコーダがア ドレスAL2にアクセスすることはできない、従って、交互の値のテストは前記 エラーを検出することができない、そこで該オートチトス方法は、各サブブロッ クに異なるデータを与えることからなる第4テストを含む、該実施例では、メモ リDATの4096個のサブブロックが異なるデータを受け取ることができ、そ れに伴って各サブブロックの最後の4つのバイトを表すレジスタの値がインクリ メントされる。該第4テストは、それぞれ段階1及び2に類似しているが、デコ ーダのあらゆる機能欠陥を検出するためにサブブロックで異なるデータを使用す る2つの段階7及び8を含む。
以上説明してきたオートチトス方法には更に別の問題がある。装置EADは、メ モリDATのサブブロックSBLについて要求を行う時は、サブブロックSBL を含むブロックBLのアドレスAD=AH+ALH+ALLをレジスタDIRに 供給する。即ち装置EADは、該実施例では、レジスタDIRに対して、メモリ DATの所与のレベルに書込みを行うように命令することができない、サブブロ ックへの書込みは、当該ブロックを含むカラムを表すアドレスALHと、レベル HITO〜15の16のビットを形成するための上位アドレスAHとに基づいて レジスタDIRが形成するアドレスDCAを必要とする。しかしながら、該オー トチトス方法の開始時には、正常な機能ではメモリDATのブロックの総てのア ドレスを記憶しているレジスタDIRの読出し書込みメモリが不確定な内容を有 する。そのため、該オートチトス方法の書込み段階1が始まる時に装置EADが 所与のアドレスADをレジスタDIRに与えると、レジスタDIRでの比較によ るレベル)(ITO〜15のビットの決定が達成されない確率が高い。従って、 前記決定はアルゴリズムLRUによって実行され、オートチトスがメモリDAT の総てのブロックについて確実に行われるようにするのに必要な制御は受けない 0本発明が提案する方法は、オートチトス方法の開始時に、メモリDATの10 24個のブロックに対応する総ての上位アドレスAHをレジスタDIRの読出し 書込みメモリに供給し、前記上位アドレスAHが装置EADの要求アドレスに対 応するようにして、前記読出し書込みメモリを初期化することからなる。該実施 例のメモリDATにはブロックが1024個しかないため、前述の初期化を実行 するためには、第5図に示した上位アドレスAHの24個のビットの一部分を使 用するだけでよい。例えば、各アドレスAHの重みの大きい16個のビットAH O:15を使用すれば、装置EADの最初の要求はAHO+ALであり、2番目 の要求はAH1+AL1...16番目の要求はAH15+ALである。このよ うにして、装置EADがアドレスADを用いてクアセスする総てのブロックがキ ャッシュメモリに存在することになり、そのデータが信号HITO:15を送出 すべく比較され得る。実際には、該実施例の装置EADで使用し得る4バイトレ ジスタREGがレジスタDIRの初期化を行うのに使用された。別の方法は、レ ジスタDIRのレベルに装置EADが直接アクセスできるようにすることからな る。これは、装置EADとレジスタDIRとの間に16ビツトバスか又はスキャ ンパス(canal d’ exploitation)を使用することによっ て実行し得る。
ここで、本明細書の説明の一部分として、第8図、第9A図及び第9B図を参照 しながら、本発明のオートチトス方法の好ましい実施例を説明する。第8図、第 9A図及び第9B図の流れ図は、それぞれのオートチトスマイクロプログラムS TMPを実行する装置EAD及び装置BDPの機能をそれぞれ示している。これ ら2つの流れ図は、前述のオートチトス方法を構成する4つのテストの各々の書 込み段階及び読取り一比較段階の展開を示している。該オートチトスは、第9A 図及び第9B図に示した流れ図の操作を1回しか実行しない装置BDPの制御下 で、装置EADが第8図の流れ図の操作を4回実行した時に終了する。
第8図では、第1テストの段階1がレジスタREGの内容の初期化によって開始 される。前記内容は装置BDPによりバスRESを介して送出される。レジスタ DIRの16個のレベルLVO〜LV15を表す論理値Fについて、カウンタC NTが初期化される。メモリDATのブロックBLOのカラムのレベルLVOへ の書込みを行うために、装置EADは64バイトの書込みコマンドIOWをレジ スタDIRに送る。装置EADは装置BDPから同期信号ALGOが送られてく るのを待ち、該信号を受け取ると、その値を確認する。値0は書込み段階を表し 、値1は読取り一比較段階を表す。この場合は書込み段階1であるため、A L  GO= Oである。次いで、カウンタCNTがインクリメントされ、装置EA DがレベルL■1に移る。装置EADは新しい書込みコマンドIOWを作成し、 上位アドレスA Hをインクリメントし、信号ALGOを待つ。該書込みサイク ルは、カウンタCNTが0になるまで繰り返される。
CNT=Oは、メモリDATのブロックBLOのカラムの16番目のレベルLV 15で書込みが実行されたことを意味する。その結果、レジスタDIRのカラム C0L1に移り、メモリDATのブロックBLIのカラムで書込みが行われるよ うに、低位アドレスALの上位部分ALHがインクリメントされる。前記カラム の総てのブロックにおける新しい書込みサイクルは前述のように再開され、装置 EADがメモリDATの総てのブロックにおける書込みを命令し終えるまで繰り 返される。この時点で、装置BDPは、該オートテスト方法の段階2を開始する ための同期信号ALGO= 1を送出する。上位アドレスAHはレジスタREG 内でゼロにリセットされ、カウンタCNTは初期の論理値Fにリセットされる。
装置EADは、メモリDATのブロックBLOのカラムのレベルLVOでの読取 りのために、読取りコマンドIORと上位アドレスAHとをレジスタDIRに送 る。装置EADは装置BDPで行われた比較の結果を受け取り、これをコマンド DAOによってレジスタDIRに転送する。装置EADは装置BDPから同期信 号ALGOをも受け取る。この時点ではALGO=1であるため、カウンタCN Tはデクリメントされ、カウンタCNTが0になるまで読取り一比較サイクルが 繰り返される。CNT=Oは、総てのブロックBLOで読取り一比較が実行され たことを意味する。この状態になると、装置EADがアドレスALHをインクリ メントし、カウンタCNTを初期値Fにリセットして、次のカウンタの総てのブ ロックの読取り一比較に必要なアドレスを供給する。装置EADがメモリDAT のブロックの総てのアドレスをレジスタDIRに送ると、装置BDPは同期信号 ALGO=Oを送出する。該信号は、該オートテスト方法の段階2の終了を示し 、第2テストの書込み段階での手順を準備する。装置EADは流れ図の出発点で 操作を再開しながら、同様の方法で、該オートテストの第2テスト、第3テスト 及び第4テストを順次実行する。
第9図では、装置BDPによって実行されるオートテスト方法が、バスRESを 介して装置EADにレジスタREGのゼロベースアドレスを送ることにより開始 される。メモリDATの1024個のブロックを計数するために、カウンタCP Tは論理値4FFで初期化される。第2カウンタCTは、メモリDATの各ブロ ックの4つのサブブロックSBLを計数するために論理値4で初期化される0次 いで装置BDPが、該オートテスト方法の第4テストで実行されるデコーダのテ ストに関する信号TESTDECの論理状態を確認する。初期化時にはTEST DEC=0であり、これは該オートテスト方法の最初の3つのテストがデコーダ には関係ないことを示す、装置BDPは次いで隣接サブブロック間でデータが交 互になるように命令する信号ALTERNの論理状態を確認する。第7図を参照 しながら説明したように、段階1ではサブブロックに書込まれたデータが相補論 理値A及び5を交互に配置したものからなる。初期化時にはALTERN=Oで ある。そこで装置BDPがポインタPTRを4バイトレジスタREGI上に配置 しく段階1の値Aに対応する)、ALTERNが値1となる。装置BDPは次い で、該オートテスト方法が書込み段階WT=O(該方法の段階1.3.5及び7 )にあるのか、又は読取り一比較段階WT=1にあるのかを確認する。
初期化時にはWT=0であるため、レジスタREG1の内容はバスRESを介し てメモリDATに送られ、次いでポインタPTRがインクリメントされる。従っ てポインタはレジスタREG2上に配置される。該レジスタの内容はバスRES を介してメモリDATに2度送られる。ポインタPTRは新たにインクリメント され、レジスタREG3の内容をバスRESを介してメモリDATに送る。この 時点では、バスがDATの第1サブブロツク5BLOの16バイトデータを送出 し終えている。カウンタCTがデクリメントされ、その結果第2サブブロツク5 BLIのために該レベルでループが再開される。該サブブロックではALTER N=1であり、そのためポインタPTRがレジスタREG4 (段階1で論理値 5)上に配置され、ALTERNが値0にリセットされる。該ループは前述のよ うに続けられる。第1ブロツクBLOの4つのサブプロ・yり5EILO〜5B L3で書込みが終了するとCT=Oとなり、装置BDPが書込みを続けるべきか 否かを確認する。この時点では、第2ブロツクでの書込みを命令するためにWT =Oである。ブロックのカウンタCPTはデクリメントされ、装置BDPが同期 信号ALGO=0を装置EADに送出すると同時に、書込みループが前記カウン タのレベルで再開される。総てのブロックで書込みが終了すると、CPT= 0 となる。この段階でWTは1となり、読取り一比較段階を命令する。デコーダの テストのためにレジスタREG7が値0にセットされ、装置BDPが装置EAD に同期信ALGO=1を送る。装置BDPの機能は前述の流れ図の出発点で再開 される。TESTDECはOに等しい状態を維持しく該方法の段階2)、そのた め装置BDPの機能は、WT=1であれば、読取り一比較段階に移る。ALTF 、RNは0に初期化され、そのためポインタPTRはインクリメントされる前に レジスタREGI上に配置される。メモリDATのブロックBLOの第1サブブ ロツク5BLOで読取られた4バイトデータOPEは、前記サブプロ・yりに書 き込まれているレジスタREGIの内容と比較される。OPEがREGlと異な っていれば、内部レジスタWKRは欠陥の存在を示すために1にセットされる。
0PE=REG1であれば、ポインタPTRがインクリメントされ、次の4つの バイトOPEがレジスタREG2の内容と比較される0次の4つのバイトOPE についても同様のことが当て嵌まる。ポインタPTRは最後の4つのバイトOP EをレジスタREG3の内容と比較するためにインクリメントされる。比較欠陥 が確認されると、レジスタWKRはその都度1にセットされる。カウンタCTが デクリメントされ、ループがブロックBLOの次のサブブロック5BLIの読取 り一比較のために再開される。ブロックBLOの4つのサブブロックのテストが 終了すると、CT=Oとなり、装置BDPが読取り一比較(WT=1)を実行す べきか否かを確認する。答が“イエス”であれば、装置BDPはバスRESを介 して装置EADに欠陥レジスタWKRの内容を送り、前記レジスタをゼロにリセ ットする。装置BDPはメモリDATのブロックのカウンタCPTをデクリメン トし、同期信号ALGO= 1を装置EADに送ると同時に、次のブロック(B LI)の読取り一比較を実行すべく、流れ図における前記カウンタのレベルに戻 す。前記ループはカウンタCPTが0になるまで繰り返される0次いで装置BD Pが、次の段階が書込み段階であることを示すためにWTを値0に戻し、TES TDEC=Oであるか否かを確認する。この時点では、書込み段階が該オートテ スト方法の第2テストの段階3であり、従ってTESTDEC=0である。そこ で装置BDPは値3に初期化されたテストカウンタTESTをデクリメントし、 次のテストのレジスタREGI〜4を読取るためにポインタを変える。実際、第 7図を参照しながら説明したように、第2テストのデータは第1テストのデータ の相補データである。次いで装置BDPは装置EADに同期信ALGO=1を送 り、流れ図の出発点で操作を再開する。第2テストの終わりにTESTDECは 0のままであり、テストカウンタTESTはパリティテストである第3テストを 開始するためにデクリメントされる。ポインタは、レジスタREGI〜4が第7 図の説明で非限定的に使用したデータを有するように変えられる。装置BDPは 信号ALGO=1を装置EADに送り、流れ図の出発点に戻る。第3テストの終 わりに装置BDPはTESTDEC=O且つTEST=Oを見いだす、これは、 デコーダに関する最終テストを表すものである。その場合装置BDPはTEST DEC=1.レジスタREG7−〇とし、装置EADに信号ALGO=1を送り 、流れ図の最初に戻る。そのBDPがTESTDEC=1を見いだした時は、0 に初期化された4バイトレジスタREG7上にポインタが配置され、前記レジス タの内容がインクリメントされる。この時点ではWT=1(書込み段階7)であ り、REG7の内容がバスRESを介してメモリDATに送られる1次いで最後 のテストが最初の3つのテストと同様に実行される。唯一の相違は、メモリDA Tの総てのブロックに異なるデータを書き込むべく、レジスタREGI及びRE G4の代わりにレジスタREG7を使用することにある。テストの最後に、装置 BDPはTESTDEC=1を見いだし、オートテスト方法の終了を示すために 同期信号ALGO=Oを装置EADに送る。
CB

Claims (12)

    【特許請求の範囲】
  1. 1.n個のレベルを有するN個のカラムの形態に組織された複数のブロック(B L)を有するメモリ(DAT)の管理方法であって、機能欠陥のために使用不能 なブロックをマーク(F)に結び付けることにより、前記使用不能ブロックヘの アクセスを禁止することを特徴とするメモリ管理方法。
  2. 2.使用不能ブロックのマーク(F)を該ブロックのアドレス(DE)に組込む ことを特徴とする請求項1に記載の方法。
  3. 3.各アドレス(DE)が該アドレスのブロックの状態(ST)を示すために少 なくとも2つのビット(V、M)を組合わせたものを含んでおり、該方法が、マ ーク(F)を前記2つのビットの自由な組合わせで形成することを特徴とする請 求項2に記載の方法。
  4. 4.使用不能ブロックの数を所定の割合以内に制限することを特徴とする請求項 1から3のいずれか一項に記載の方法。
  5. 5.レベル数nを、各カラムの欠陥ブロック数に関する限界値に応じて決定する ことを特徴とする請求項1から4のいずれか一項に記載の方法。
  6. 6.メモリのブロック取替えアルゴリズム(LRU)にマークを供給することを 特徴とする請求項1から5のいずれか一項に記載の方法。
  7. 7.メモリのオートテスト方法によってマーキングを実行することを特徴とする 請求項1から6のいずれか一項に記載の方法。
  8. 8.メモリが制御、書込み及び読取り回路に接続されており、該方法が前記制御 回路でマイクロプログラム化されていることを特徴とする請求項7に記載の方法 。
  9. 9.請求項1から8のいずれか一項に記載の方法の実施の結果得られる、n個の レベルを有するN個のカラムの形態に組織された複数のブロックを有するメモリ であって、前記ブロックの一部が使用されないことを特徴とするメモリ。
  10. 10.各カラムの総ての使用不能ブロックに関する第1カウンタ(COLER) を含んでいることを特徴とする請求項9に記載のメモリ。
  11. 11.メモリの総ての使用不能ブロックに関する第2カウンタ(DATER)を 含んでいることを特徴とする請求項9又は10に記載のメモリ。
  12. 12.内部メモリと通信するキャッシュメモリを具備し且つデータメモリ(DA T)とアドレスレジスタ(DIR)とを有する少なくとも1つのプロセッサを含 んでいる情報システムであって、前記データメモリが請求項8から11のいずれ か一項に記載のメモリであることを特徴とする情報システム。
JP50903393A 1991-11-18 1992-11-16 集積メモリ、その管理方法及び該方法から得られる情報システム Expired - Lifetime JP3199378B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR91/14182 1991-11-18
FR9114182A FR2683924B1 (fr) 1991-11-18 1991-11-18 Memoire integree, son procede de gestion et systeme informatique en resultant.
PCT/FR1992/001062 WO1993010497A1 (fr) 1991-11-18 1992-11-16 Memoire integree, son procede de gestion et systeme informatique en resultant

Publications (2)

Publication Number Publication Date
JPH06504865A true JPH06504865A (ja) 1994-06-02
JP3199378B2 JP3199378B2 (ja) 2001-08-20

Family

ID=9419051

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50903393A Expired - Lifetime JP3199378B2 (ja) 1991-11-18 1992-11-16 集積メモリ、その管理方法及び該方法から得られる情報システム

Country Status (6)

Country Link
US (1) US5537621A (ja)
EP (1) EP0543712B1 (ja)
JP (1) JP3199378B2 (ja)
DE (1) DE69230211T2 (ja)
FR (1) FR2683924B1 (ja)
WO (1) WO1993010497A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007097027A1 (ja) * 2006-02-27 2007-08-30 Fujitsu Limited 縮退制御装置および縮退制御プログラム
WO2007097026A1 (ja) * 2006-02-27 2007-08-30 Fujitsu Limited キャッシュ制御装置およびキャッシュ制御プログラム
WO2007097019A1 (ja) * 2006-02-27 2007-08-30 Fujitsu Limited キャッシュ制御装置およびキャッシュ制御方法
JP2014115723A (ja) * 2012-12-06 2014-06-26 Kobe Univ 低電圧動作キャッシュメモリ

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2273185A (en) * 1992-12-04 1994-06-08 Plessey Semiconductors Ltd Cache lock-out
US5535164A (en) * 1995-03-03 1996-07-09 International Business Machines Corporation BIST tester for multiple memories
DE19510621C2 (de) * 1995-03-23 1997-02-20 Blaupunkt Werke Gmbh Speicheranordnung für Analogsignale
US6067594A (en) * 1997-09-26 2000-05-23 Rambus, Inc. High frequency bus system
DE10339787B4 (de) * 2003-08-28 2005-11-03 Infineon Technologies Ag Speichermodul
US7299313B2 (en) 2004-10-29 2007-11-20 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
US7277988B2 (en) * 2004-10-29 2007-10-02 International Business Machines Corporation System, method and storage medium for providing data caching and data compression in a memory subsystem
US7305574B2 (en) * 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration in a memory subsystem
US7512762B2 (en) 2004-10-29 2009-03-31 International Business Machines Corporation System, method and storage medium for a memory subsystem with positional read data latency
US7356737B2 (en) * 2004-10-29 2008-04-08 International Business Machines Corporation System, method and storage medium for testing a memory module
US7395476B2 (en) * 2004-10-29 2008-07-01 International Business Machines Corporation System, method and storage medium for providing a high speed test interface to a memory subsystem
US7441060B2 (en) * 2004-10-29 2008-10-21 International Business Machines Corporation System, method and storage medium for providing a service interface to a memory system
US7478259B2 (en) 2005-10-31 2009-01-13 International Business Machines Corporation System, method and storage medium for deriving clocks in a memory system
US7685392B2 (en) 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
US7636813B2 (en) * 2006-05-22 2009-12-22 International Business Machines Corporation Systems and methods for providing remote pre-fetch buffers
US7640386B2 (en) 2006-05-24 2009-12-29 International Business Machines Corporation Systems and methods for providing memory modules with multiple hub devices
US7584336B2 (en) * 2006-06-08 2009-09-01 International Business Machines Corporation Systems and methods for providing data modification operations in memory subsystems
US7669086B2 (en) 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US7581073B2 (en) * 2006-08-09 2009-08-25 International Business Machines Corporation Systems and methods for providing distributed autonomous power management in a memory system
US7539842B2 (en) * 2006-08-15 2009-05-26 International Business Machines Corporation Computer memory system for selecting memory buses according to physical memory organization information stored in virtual address translation tables
US7606988B2 (en) * 2007-01-29 2009-10-20 International Business Machines Corporation Systems and methods for providing a dynamic memory bank page policy

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5183429A (ja) * 1975-01-20 1976-07-22 Tokyo Shibaura Electric Co
JPS63278158A (ja) * 1987-04-13 1988-11-15 プライム・コンピューター・インコーポレーテッド 連想キャッシュ・メモリー
JPH02297647A (ja) * 1989-05-12 1990-12-10 Ibm Japan Ltd メモリ・システム
JPH03118650A (ja) * 1989-07-06 1991-05-21 Digital Equip Corp <Dec> キャッシュサポート構造

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR116049A (ja) * 1975-03-20
JPS5525820A (en) * 1978-08-08 1980-02-23 Nec Corp Buffer memory device
US4168541A (en) * 1978-09-25 1979-09-18 Sperry Rand Corporation Paired least recently used block replacement system
US4234935A (en) * 1978-12-04 1980-11-18 International Business Machines Corporation Means for maintaining the identification of defective minor loops in a magnetic bubble memory
US4562536A (en) * 1983-06-30 1985-12-31 Honeywell Information Systems Inc. Directory test error mode control apparatus
US4744049A (en) * 1984-10-15 1988-05-10 Motorola, Inc. Microcode testing of a cache in a data processor
EP0195324B1 (de) * 1985-03-18 1990-05-30 Siemens Aktiengesellschaft Kontrolleinheit für einen Magnetplattenspeicher
JPS62235262A (ja) * 1986-04-07 1987-10-15 住友電気工業株式会社 窒化アルミニウム焼結体の製造方法
US4809276A (en) * 1987-02-27 1989-02-28 Hutton/Prc Technology Partners 1 Memory failure detection apparatus
JPS6476240A (en) * 1987-09-18 1989-03-22 Nec Corp Micro-program controller
US5031054A (en) * 1988-09-26 1991-07-09 Digital Equipment Corporation In-drive defect detector
US5075804A (en) * 1989-03-31 1991-12-24 Alps Electric Co., Ltd. Management of defect areas in recording media
US5070502A (en) * 1989-06-23 1991-12-03 Digital Equipment Corporation Defect tolerant set associative cache
US5200959A (en) * 1989-10-17 1993-04-06 Sundisk Corporation Device and method for defect handling in semi-conductor memory
FR2656442B1 (fr) * 1989-12-21 1994-07-29 Bull Sa Processeur a plusieurs unites microprogrammees avec mecanisme d'execution anticipee des instructions.
US5216655A (en) * 1991-06-26 1993-06-01 Digital Equipment Corporation Method and apparatus for surface reallocation for improved manufacturing process margin
JPH05334898A (ja) * 1992-06-02 1993-12-17 Mitsubishi Electric Corp 半導体記憶装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5183429A (ja) * 1975-01-20 1976-07-22 Tokyo Shibaura Electric Co
JPS63278158A (ja) * 1987-04-13 1988-11-15 プライム・コンピューター・インコーポレーテッド 連想キャッシュ・メモリー
JPH02297647A (ja) * 1989-05-12 1990-12-10 Ibm Japan Ltd メモリ・システム
JPH03118650A (ja) * 1989-07-06 1991-05-21 Digital Equip Corp <Dec> キャッシュサポート構造

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007097027A1 (ja) * 2006-02-27 2007-08-30 Fujitsu Limited 縮退制御装置および縮退制御プログラム
WO2007097026A1 (ja) * 2006-02-27 2007-08-30 Fujitsu Limited キャッシュ制御装置およびキャッシュ制御プログラム
WO2007097019A1 (ja) * 2006-02-27 2007-08-30 Fujitsu Limited キャッシュ制御装置およびキャッシュ制御方法
US8006139B2 (en) 2006-02-27 2011-08-23 Fujitsu Limited Degeneration control device and degeneration control program
US8060698B2 (en) 2006-02-27 2011-11-15 Fujitsu Limited Method and apparatus for controlling degradation data in cache
JP2014115723A (ja) * 2012-12-06 2014-06-26 Kobe Univ 低電圧動作キャッシュメモリ

Also Published As

Publication number Publication date
US5537621A (en) 1996-07-16
EP0543712B1 (fr) 1999-10-27
DE69230211D1 (de) 1999-12-02
EP0543712A1 (fr) 1993-05-26
JP3199378B2 (ja) 2001-08-20
FR2683924A1 (fr) 1993-05-21
DE69230211T2 (de) 2000-02-10
FR2683924B1 (fr) 1997-01-03
WO1993010497A1 (fr) 1993-05-27

Similar Documents

Publication Publication Date Title
JPH06504865A (ja) 集積メモリ、その管理方法及び該方法から得られる情報システム
US4707784A (en) Prioritized secondary use of a cache with simultaneous access
US4551799A (en) Verification of real page numbers of stack stored prefetched instructions from instruction cache
US9405595B2 (en) Synchronizing multiple threads efficiently
US7797503B2 (en) Configurable memory system and method for providing atomic counting operations in a memory device
US6470380B1 (en) Signal processing device accessible as memory
CA1325290C (en) Write back buffer with error correcting capabilities
US4399506A (en) Store-in-cache processor means for clearing main storage
US4313158A (en) Cache apparatus for enabling overlap of instruction fetch operations
EP0159713B1 (en) Apparatus for controlling merging of data parts into a cache unit
JPH06348642A (ja) マルチプル・バス・ネットワークの初期化方法及びその装置
JPS604493B2 (ja) マイクロプログラム化データ処理システム
US4961135A (en) Translation lookaside buffer control system
US5553232A (en) Automated safestore stack generation and move in a fault tolerant central processor
EP0770241A2 (en) Automated safestore stack generation and move in a fault tolerant central processor
US5051894A (en) Apparatus and method for address translation of non-aligned double word virtual addresses
JPH0916472A (ja) キャッシュメモリ試験方法
US5283878A (en) Method and apparatus for encoding data types for object identification
JP2011164948A (ja) キャッシュシステム
US5682528A (en) Spoon-feed initialization in a multiprocessor system
JP3954248B2 (ja) 情報処理装置の試験方法
JP3424430B2 (ja) プロセッサ
JPS60142759A (ja) Lru決定用記憶装置のエラ−検出方式
EP0066083B1 (en) An address substitution apparatus
CA1204216A (en) Digital data processing system with vertical and horizontal microcode control

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080615

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090615

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090615

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100615

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110615

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110615

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120615

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130615

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130615

Year of fee payment: 12