JP3199378B2 - 集積メモリ、その管理方法及び該方法から得られる情報システム - Google Patents
集積メモリ、その管理方法及び該方法から得られる情報システムInfo
- Publication number
- JP3199378B2 JP3199378B2 JP50903393A JP50903393A JP3199378B2 JP 3199378 B2 JP3199378 B2 JP 3199378B2 JP 50903393 A JP50903393 A JP 50903393A JP 50903393 A JP50903393 A JP 50903393A JP 3199378 B2 JP3199378 B2 JP 3199378B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- blocks
- block
- address
- test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
- G06F11/0763—Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1064—Adding 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
Description
e lectronique intgre)の管理方法、該方法の
実施の結果得られるメモリ、並びに該方法を実施するシ
ステムに関する。本発明はより特定的には、情報システ
ムと該システムのキャッシュメモリとに関する。
周辺サブシステムと通信し得る中央サブシステムからな
る。大規模システムの中央サブシステムは通常、バスを
介して内部メモリと入出力装置とに接続される複数のプ
ロセッサを含む。
ラムの命令を実行する機能を果たす。前記命令及びその
実行に必要なデータには、内部メモリのアドレス指定手
段を用いてプロセッサによりアクセスし得る。しかしな
がら、内部メモリのアクセス時間は比較的長いため、プ
ロセッサは通常キャッシュメモリを備えている。キャッ
シュメモリは、遥かに高速であるが容量が限定されてお
り、内部メモリの内容の抽出を幾つか記憶するにすぎな
い。キャッシュメモリは、データメモリと該データのア
ドレスのディレクトリとで構成される。データメモリは
通常、静的読み書きメモリ(SRAM)からなり、レベル連
想メモリ(mmoire associative niveaux)を構成
する。キャッシュメモリは同一の所定サイズを有する複
数のブロックに分割され、各ブロックは内部メモリとの
間の一定量の交換に対応する。これらのブロックはn個
のレベルを有するN個のカラムの形態に組織される。N
個の連続的ブロックはキャッシュメモリの1ページを構
成するため、キャッシュメモリは合計n個のページを含
む。従って、1つのページの1つのブロックのアドレス
は1つのカラムに対応する。しかしながら、所与のアド
レスのブロックは、対応カラムの任意のレベルに位置し
得る。ブロックのレベルは、対応カラムの諸ページの諸
アドレスとの比較を行うことによって決定される。ブロ
ックの探索時間を短縮するために、各カラムのレベル数
は少なくし、通常は2つ又は4つとする。
願人の特許出願EP−A−0434483号明細書には、マイク
ロプログラム化プロセッサに適合した処理回路が記述さ
れている。この先行特許明細書では、プロセッサが自己
のキャッシュメモリを介して、内部メモリとの通信を可
能にするバスに接続されている。各プロセッサ及びその
キャッシュメモリは、複数の集積回路パッケージを接続
する同一のプリント回路板上に一緒に載置される。
現在では、各プロセッサを1つのチップに集積し、これ
に、専用キャッシュメモリ(antmmoire priv
e)と称するキャッシュメモリ部分を組合わせることが
できる。専用キャッシュメモリは、共有キャッシュメモ
リ(antmmoire partage)と称しバスに接続さ
れているキャッシュメモリ外側部分に接続される。専用
キャッシュメモリも、データメモリとアドレスディレク
トリとからなる。
欠陥によって生じる問題に関する。前記問題を解決する
ためには、予備のコンポーネント及び回路を付加し、メ
モリの回路を再構成することが知られている。この再構
成は、欠陥部分を切断し、予備の回路及びコンポーネン
トを用いて前記欠陥部分を補足することからなる。別の
解決方法では、メモリブロックのような重複(冗長)機
能部分を加えて、対応する欠陥部分の代わりに使用す
る。重複部分の割り当てのために、メモリのディレクト
リにはデコーダを付加する。前述の2つの解決方法は、
コンポーネント及び回路を付加するため、メモリの有用
表面積が削減されるという欠点を有する。設計者は、集
積回路の性能を高めるために、常に有効表面積の最大利
用を目指しており、メモリ内の欠陥の補償に備えて前記
表面積の一部分を使用することを嫌う。前述の引用例の
ように、同一の集積回路内の処理回路に接続されたメモ
リの場合は特にそうである。前記引用例ではキャッシュ
メモリが表面積の約2/3を覆い、しかもプロセッサに必
要な場所を残さなければならない。回路の再構成は更
に、コスト及び時間のかかる高度の技術、例えば特にレ
ーザによる接続及び切断技術を必要とするか、又はメモ
リの特定部分の接続及び切断のためにメモリ内に切替え
エレメントを付加しなければならないという欠点も有す
る。重複も、起動された予備エレメントにおけるアドレ
ス指定の変更のためにディレクトリのデコーダが複雑化
されるという別の欠点を構成する。
を、補足的コンポーネント及び/又は回路を使用せずに
且つディレクトリを複雑化せずに使用できるようにす
る。
た複数のブロックを有するメモリを管理するための本発
明の方法は、機能欠陥のために使用不可能なブロックを
マーク(F)に結びつけることによって、前記使用不可
能なブロックへのアクセスを禁止することからなる。
メモリのブロックの一部が使用されないことを特徴とす
る。
メモリとアドレスレジスタとを含むキャシュメモリを備
えたプロセッサを少なくとも1つ有する情報システムで
あって、、前記データメモリが前述したようなメモリで
あることを特徴とする情報システムに関する。
限定的実施例の説明によって明らかにされよう。
示すブロック図である。該情報システムは複数のプロセ
ッサを含み、各プロセッサは、本発明の方法によって管
理される本発明の専用キャシュメモリを含んでいる。
示すブロック図である。
データメモリの構成を簡単に示すブロック図である。
アドレスレジスタの構成を簡単に示すブロック図であ
る。
使用されるアドレスの構造と、これらアドレス間の関係
とを示す説明図である。
めの本発明の方法の実施例を示す説明図である。
れるオートセット方法を実施するための、データメモリ
と、専用キャッシュメモリのレジスタと、プロセッサの
装置EAD及びBDPとの間の関係を簡単に示すブロック図で
ある。
オートセット方法を実施するための装置EAD及びBDPの実
行流れ図をそれぞれ示す説明である。
た本発明の中央サブシステムCSSを含む情報システムSYS
Tの概要をブロック図で示している。中央サブシステムC
SSは、16個のプロセッサCPU(CPU0、CPU1、...)とそれ
ぞれの周辺サブシステムIOSSiに接続されている入出力
装置IOUiとの間で通信を行うためにシステムバスSBに接
続されている内部メモリMUを含んでいる。バスSBは、デ
ータバスSB−DATと、アドレスバスSB−ADと、制御バスS
B−CTLとで構成されている。16のプロセッサCPUは4つ
のボードCPB(Central Processor Board)CPB0〜CPB3上
に4つずつ分配されている。各ボートCPB上では、特に
ボードCPB0上に示されているように、4つのプロセッサ
CPU0〜CPU3の各々が、専用キャシュメモリPCと基本処理
装置BPUとを含む集積回路VLSI(Very Large Scale Inte
gration)で構成されている。各ボードCPBは、プロセッ
サCPUの4つの専用キャシュメモリPCに接続されたプロ
セッサバスACBにシステムバスSBを接続する共有キャシ
ュメモリSHCをも担持している。プロセッサバスACBは、
データバスACB−DATと多重化アドレス及び制御バスACB
−ACとを含んでいる。共有キャッシュメモリSHCは、デ
ータメモリSHDとアドレスレジスタSHAとからなる。デー
タメモリSHDは、システムバスSBのデータバスSB−DATに
接続されていると共に、データバスACB−DATを介して4
つの専用キャシュメモリPCに接続されている。レジスタ
SHAは、システムバスSBのアドレスバスSB−ADと制御バ
スSB−CTLとをプロセッサバスACBの多重化アドレス及び
制御バスACB−ACに接続している。レジスタSHAは、アド
レスラインADRと内部制御ラインCDRとを介してデータメ
モリSHDを制御する。
ロセッサCPUのうち1つのプロセッサの構造をブロック
図で示している。専用キャシュメモリPCは通常のよう
に、データメモリDATと、メモリDAT内のデータのアドレ
スのディレクトリDIRとで構成されている。メモリDATは
通常、n個のレベルを有するN個のカラムの形態に構成
された複数のブロックからなる連想メモリ(mmoire
associative)である。レベルの数nは、カラムの数N
とブロックの大きさとの積に対するメモリDATの総容量
の比によって決定される。メモリDATはデータバスACB−
DATを介してプロセッサバスACBとの間でデータを交換す
る。ディレクトリDIRは、多重化アドレス及び制御バスA
CB−ACを介して、ボード上の他の3つのプロセッサ及び
共有キャッシュメモリSHCのアドレスレジスタSHAと通信
する。また、ディレクトリDIRは、共有キャッシュメモ
リSHCの場合と同様に、アドレスラインADR及び内部制御
ラインCDRを介してメモリDATを制御する。
サの3つの実行装置、即ち仮想アドレスを実際のアドレ
スに翻訳し専用キャッシュメモリPCのアドレス指定を行
う装置EAD(Effective Address Development)と、二進
及び十進演算装置BDP(Binary−Decimal Processor)
と、浮動小数点演算装置FPP(Floating Point Processo
r)とを含んでいる。これら3つの装置は内部バスCBを
介して相互に且つメモリDATに接続されている。内部バ
スCBは、メモリによって送出された命令を転送するため
のバスINSTと、メモリDATによって送出されたオペラン
ドを転送するためのバスOPと、3つの装置EAD、BDP及び
FPPのうち1つの装置からメモリDATに結果を書き込むか
又は前記3つの装置の間で結果を交換するための4バイ
トバスRESとを含む。特に、装置EADは、主に専用キャッ
シュメモリPCからの命令及びオペランドを得るためにア
ドレス指定動作に特異的に割り当てられる。該装置は、
アドレスラインL−ADを介してレジスタDIRに送るべき
実際のアドレスADを演算するための記述子抽出表TED(t
able des exraits de descripteurs)を含んでいる。該
装置はまた、アドレス指定制御信号CD−ADをレジスタDI
Rとの間で交換する。レジスタDIRは信号CD−ADに応答し
て、ラインADR及びCDRを介してメモリDATを制御する。
その結果メモリDATは、内部バスCBを介して、装置EAD、
BDP及びFPPとの間で命令、オペランド及び結果を交換で
きるようになる。前記3つの装置は各プロセッサCPU内
で自己のマイクロプログラムを独立して実行できるた
め、これらの装置によって実行される動作の同期及び統
一(cohrence)のために、制御ラインCD−CBを介して
相互に且つレジスタDIRに接続されている。この実施例
は、本発明の実施に適したプロセッサの好ましい実施例
を示す非限定的なものにすぎない。簡明化のため、第1
図及び第2図にはクロック回路及び保守装置を示さなか
った。類似の構造の中央情報サブシステムのマイクロプ
ログラム化機能の具体例は前出の特許出願EP−A−0434
483号明細書に記述されている。
メモリPCの管理方法の非限定的実施例を説明する。第3
図は、総容量216バイト、即ち64koのメモリDATの構成を
示している。該メモリは、16個のレベルLV0〜LV15を有
する64個のカラムの形態に構成されている。従って、各
レベルは64個のブロックBL0〜BL63を含む。各ブロック
は26バイト、即ち64バイトの大きさを有し、各カラムは
16個のレベルで対応する16個のブロックからなる。例え
ば、カラム12は16個のレベルLV0〜LV15を有する16個の
ブロックBL12からなる。64個のブロックの各々は16バイ
トのサブブロックSBLを4つ含み、従って16個のレベルL
V0〜LV15の各々で256個のサブブロックSBL0〜255を規定
する。メモリDATは、アドレスラインADRを介して、レジ
スタDIRからサブブロックのアドレスを受け取る。第5
図は前記アドレスDCA(Data Cache memory Address)の
具体例を示している。符号化されていないアドレスDCA
の最初の16のビットHIT0:15は後で説明するが、メモリD
ATの16個のレベルLV0〜LV15を決定する。これら16のビ
ットは、サブブロックSBLのアドレスを表す8つのビッ
トSBA16:23と、サブブロック内でのアドレス指定に使用
される4つのビットISBA24:27とに付加されている。8
つのビットSBAはメモリDAT内でデコーダDECによりデコ
ードされる。従って、各アドレスDCAは、バスCBを介し
て処理装置BPUにデータを供給することになるサブブロ
ックへのアクセスのためにメモリDATが必要とする情報
を記憶している。メモリDATでは、バスCBとの間のイン
タフェース回路として機能するデータパスDTPにそれぞ
れ接続されている書込みレジスタWL及び読み取りレジス
タRLと協働する136ビット(1つのサブブロックの大き
さを表す16バイト+1つのパリティバイト)データライ
ンにデータが供給される。
示している。図示のレジスタDIRは、メモリDATのブロッ
クのアドレスDEを記憶するための読出し書込みメモリで
ある。従ってDIRのメモリも、16個のレベルLV0〜LV15を
有する64個のカラムCOL0〜63の形態に組織されておりメ
モリDATのブロックBLのそれぞれのアドレスDEを記憶す
る複数のブロックからなる。レジスタDIRに記憶される
アドレスDEは、該レジスタが装置EADから受け取るアド
レスADに由来する。
によってレジスタDIRに供給されるアドレスADの具体例
を示している。アドレスADは、重みの大きいビットから
なる上位アドレスAHと、重みの小さいビットからなる低
位アドレスALとを含む。上位アドレスAHは、記述子抽出
表TEDでの処理後に装置EADによって供給された24個のビ
ット00:23で構成されている。上位アドレスAHは、対応
ブロックが存在するページを決定する。図示のアドレス
ADは、各論理メモリページが212バイト、即ち4koの大き
さを有することを前提とする。装置EADは、変換を行わ
ずに、従って高速で、低位アドレスALの12のビット24:3
5を供給する。これらのビットは論理メモリページの大
きさの212バイトの累乗に対応する。低位アドレスAL
は、対応ページ内の対応ブロックのアドレス指定に使用
される6ビット24:29の上位アドレスALHと、ブロック内
でのアドレス指定に使用される6ビット30:35の低位ア
ドレスALLとに分割されている。
ックのアドレスDCAの形成を示している。前述のよう
に、レジスタDIRのメモリは64バイトのブロックで構成
されており、メモリDATでは各ブロックBLが4つの16バ
イトサブブロックSBLに分割される。従って、メモリDAT
内のサブブロックSBLのアドレス指定の場合には、低位
アドレスALの12のビットが、サブブロックのアドレスSB
Aを構成する重みの大きい8つのビットと、サブブロッ
ク内部のアドレスISBAを構成する重みの小さい4つのビ
ットとに配分される。
たアドレスADを受け取った後に記憶するアドレスDE(Di
rectory Entry)の具体例も示している。該入力アドレ
スDEは、アドレスADの上位アドレスAHの24個のビット0
0:23からなるアドレスフィールドと、該アドレスフィー
ルドのビット00:11のパリティPOのビット24と、前記ア
ドレスフィールドの残りのビット12:12のパリティP1の
ビット25と、ブロックの状態STを表す2つのビット26、
27と、状態パリティPSのビット28とで構成されている。
通常のように、状態STは、第6図に示した方法で3つの
状態を決定する2つのビットV(Valide)及びM(Modi
fi)によって決定される。前記3つの状態とは、専用
キャッシュメモリPCが共有キャッシュメモリSHC内に存
在するブロックの同一コピーを有する(前記同一コピー
はプロセッサCPUの別の専用キャッシュメモリ内にも存
在し得る)場合のコピー有効状態10、専用キャッシュメ
モリPCだけが該専用メモリによって修正されたブロック
のコピーを有すべき場合のコピー有効修正状態11(別の
専用キャッシュメモリPC内、共有キャッシュメモリSHC
内、又は内部メモリMU内に存在するコピーは更新されて
いない)、並びに専用キャッシュメモリPCがブロックの
コピーを有していたがそれを喪失してしまった場合、例
えば、そうこうしているうちに別のプロセッサCPUが前
記ブロックに書込みをしてしまった場合のコピー無効状
態00である。状態パリティビットPSは、ビットVと、ビ
ットMと、低位アドレスALの上位部分ALHとの排他的論
理和の結果である。従って入力アドレスDEは、装置EAD
から受け取られる低位アドレスALを含んでいない。実際
の操作では、レジスタDIRは64バイトのブロックを管理
し、従って低位アドレスALの低位部分ALLをメモリDATに
直接転送することができる。上位部分ALHはレジスタDIR
のカラムのアドレス指定に直接使用される。
ADから受け取られたアドレスADの低位アドレスALの6つ
のビットALHは、デコーダDECOによって、所期のアドレ
スDEが存在する64個のカラムCOL0〜63のうちの1つのカ
ラムを指定する64個のビットにデコードされる。前記所
期のアドレスは、デコーダDECによって指定されたカラ
ム、該実施例ではカラムCOL20の16個のレベルLV0〜LV15
に記憶されている16個のアドレスの中から探索される。
前記アドレスの探索は、16個の比較器COMPで、カラムCO
L20の16個のアドレスDEのそれぞれのアドレスフィール
ド00:23をアドレスADの上位アドレスAHと比較すること
によって実行される。従って、16個のヒットHIT0:15
が、メモリDAT内で対応ブロックが存在するレベルを決
定する。第4図では非限定的な例として、前記アドレス
がレベルLV15に存在すると想定する。16個のヒットHIT
0:15は、レジスタDIRによってメモリDATに送られたアド
レスDCA(第5図)の最初の16個のビットを構成する。
該ビットHIT0−15は4ビット信号に符号化し得、その場
合はメモリDATでデコーダされる。しかしながら、符号
化及びデコードに必要な時間に起因して、メモリDATに
よる前記ビットの使用が遅れる。装置EADにより要求さ
れたブロックのレベル(該実施例ではレベルLV15)をメ
モリDAT内で決定するビットHIT0:15をレジスタDIRによ
って送出する動作は、比較器COMPAでブロックBLの状態S
Tが確認された後で実行される。第6図を参照しながら
説明したように、状態STはブロックBLのアドレスDEの2
つのビットV及びMによって決定される。プロセッサCP
UがメモリDATのブロックBL内で読取りを行いたい時は、
前記ブロックが有効状態(V=1)を有していさえすれ
ばよい。従って比較器COMPAは、DIRによって探索された
アドレスDE内のビットVの値を確認する。V=1であれ
ば、レジスタDIRは対応するブロックでの読取りを行う
ためのアドレスDCAをメモリDATに送る。V=0である
か、又は比較器COMPAによって行われる16の比較のいず
れもがブロックを指定しなければ、レジスタDIRはバスA
CB−AC(第2図)を介して共有キャッシュメモリSHCに
所期のブロックBLを要求する。次いでレジスタDIRは、
共有キャッシュメモリSHCから受け取るであろうブロッ
クBLを記憶するためのレベルをメモリDAT内で探す。後
述のように、前記レベルはブロック取替えアルゴリズム
を用いてオペレータにより選択される。取替えるべきブ
ロックBLの状態がV=1、M=1であれば、専用キャッ
シュメモリPCのみが前記ブロックの更新コピーを有する
ことになる。従って、前記ブロックのデータを共有キャ
ッシュメモリSHCに送らなければならない。この動作は
「スワップ(swap)」として知られている。新しいブロ
ックBLのデータはバスACB−DATから受け取られる。次い
でレジスタDIRは、メモリDATが前記ブロックを記憶し、
該ブロック内でプロセッサCPUに送るべきデータを読取
るように、アドレスDCAをメモリDATに送る。逆に、プロ
セッサCPUがメモリDATのブロックBLに書込みをしたい場
合には、前記ブロックの有効且つ一意のコピーを有して
いなければならない。従って比較器COMPAは、ブロック
が有効であるか否かを知るために、ビットVの状態を確
認し、次いでビットMの状態を確認する。M=1であれ
ば書込みが可能であり、レジスタDIRはアドレスDCAをメ
モリDATに送る。M=0であれば、レジスタDIRは他のプ
ロセッサがメモリDAT内のコピーを修正してないかどう
かを確かめなければならない。修正していなければ書込
みが可能であり、修正していれば、レジスタDIRはブロ
ックへの書込みの前にブロックを更新すべく作動する。
第3図のメモリDATに示すように、特にレベルLV0のブロ
ックBL18及びレベルLV15のブロックBL40は、これらのブ
ロックを使用不能にする製造欠陥を有すると想定した。
単一のサブブロック内に欠陥が1つでもあれば、ブロッ
クは使用不能と宣言される。
又は修理を行わずに使用することからなる。あるブロッ
クに割り当てられた場所における欠陥の存在は、該ブロ
ックが使用不能であることを意味するマークFによって
アドレス中に示される。第5図に示すアドレスDEでは、
マークFが、第6図に示したように、ブロックの状態ST
を決定するビットV及びMの使用不能を表す組合わせ01
からなる。この場合は、ブロックが使用不能な時にだけ
マークFが提示される。ブロックが機能的に使用可能で
あれば、ビットV及びMはブロックの3つの状態STのう
ちの1つを示すのに使用される。
ことは明白である。本発明の特徴は、使用不能ブロック
の数を所定の割合に制限することにある。前記割合をメ
モリDATのブロックの総数に関連させてもよい。該実施
例では、使用不能ブロックの数の限界値を10と選択し
た。これは、メモリDATの非使用ブロックの約1%に相
当する。しかしながら、これら10個のブロックが同一カ
ラム内にあると、該カラム内の使用可能なレベルが6つ
となるため、メモリの性能が大幅に制限される。従っ
て、各カラム内の使用不能ブロックの最大数に関しても
限界値を決定することが望ましい。該限界値は勿論、各
カラムに与えられたレベルの数に存在する。メモリDAT
が従来のように例えば2つのレベルだけで組織されてい
る場合には、カラム内に使用不能ブロックが1つ存在す
ると使用可能なレベルが1つしか残らないため、キャッ
シュメモリの性能が著しく低下する。レベルを4つ有す
る従来の構成では選択範囲は広がるが、その場合でも、
例えば2つのブロックにまたがる技術的欠陥を考慮し
て、1つのカラム内の使用不能ブロックの数は少なくと
も2つが望ましい。このようにすれば、使用不能な集積
回路の数及び該損失の影響が著しく減少する。この場
合、レベル数4の構成では使用可能なレベルが2つしか
残らない。本明細書に記載のレベル数16の構成では、実
行すべき比較の数と、所望の性能と、損失のコストの低
下との間のバランスが調和よく得られる。
は、種々のタイプの良く知られている使用可能なアルゴ
リズムの中から選択したアルゴリズムによって実行され
る。該実施例で使用されるアルゴリズムは、LRU(Last
Recently Used)という名称で知られている。該アルゴ
リズムは、取替えるべきブロックとして、DAT内で最も
古いレファレンスを有するブロックを指定する。該実施
例では既述のように、プロセッサがブロックに関する要
求を行う場合、プロセッサは対応ブロックのアドレスを
もってレジスタDIRにアクセスする。その結果レジスタD
IRは、前記ブロックが存在するか否かを見るためにカラ
ムの16個のレジスタで比較を行う(第4図)。前記ブロ
ックが存在していれば問題は起こらない。前記ブロック
が存在していない場合は、レジスタDIRは共有キャッシ
ュメモリSC内で前記ブロックを探さなければならず、共
有キャッシュメモリ内に前記ブロックがなければ、内部
メモリMU内で前記ブロックを探すことになる。その間
に、アルゴリズムLRUは幾つかの可能なレベルの中から
1つのレベルを選択する。従来の連想メモリでは、前記
可能なレベルの数が、メモリの構成のために選択したレ
ベルの数nに対応する。しかしながら、本発明の方法で
管理されるキャッシュメモリでは、アルゴリズムが使用
不能レベルを選択するようなことがあってはならない。
好ましい方法の1つでは、レジスタDIRがカラムの16個
のレベルのマスクをアルゴリズムに送る。該マスクは、
カラムに記憶されている16個のアドレスDEのビットV及
びMのコピーを含む。該マスクに1つ又は2つの使用不
能ブロックのマークFが含まれていれば、アルゴリズム
はそれを考慮して、送られてくるブロックに割り当てる
べきレベルを選択する。
みメモリに記憶されているアドレスDEの中に配置され
る。そのため、中央サブシステムCSSの機能が中断され
る毎に、マークFがアドレスDEと共に消去される。従っ
て、中央サブシステムCSSの所期化のたびに、マークF
を配置しなければならない。マークは例えば、専用キャ
ッシュメモリPC又は該専用キャッシュメモリを含む集積
回路の内部又は外部の小形リードオンリメモリであっ
て、例えば共有キャッシュメモリSHに接続されている前
記小形リードオンリメモリから抽出し得る。その場合
は、アルゴリズムLRUが前記小形リードオンリメモリに
質問するだけでよく、レジスタDIRによって送られるマ
スクは必要としない。
明が様々な変形及び適用例を有することを当業者に示唆
する。例えば、本発明は明らかに、情報システムの1つ
又は複数のプロセッサのあらゆる種類のキャッシュメモ
リに適用できると共に、共有キャッシュメモリSHCにも
適用できる。しかしながら、キャッシュメモリはレベル
連想メモリであるため、本発明の方法はあらゆるレベル
連想メモリに同様に適用できる。より一般的に言えば、
メモリDAT内でマトリクス格子状に配置されたブロック
はメモリのセルでもあり得、そのため当業者には明らか
なように、本発明の管理方法は連想メモリにもアドレス
指定可能メモリにも適用し得る。従って、前述の説明で
使用したブロックはより一般的な意味を有し、アドレス
指定可能メモリ又は連想メモリのセルであり得る。その
場合、レジスタDIRは前記メモリの制御回路である。従
って、一般的には、メモリが本発明を使用する場合は、
ブロック(又はセル)が使用されないことがある。二次
的なことであるが、メモリは、前記ブロックが使用され
ないことを表すマークFを含み得る。該実施例では、前
記マークは前記ブロックのアドレスに含まれる。しかし
ながら、既述のように、マークはメモリの外部、又はメ
モリを含む集積回路の外部のリードオンリメモリに含ま
せることもできる。該リードオンリメモリは、装置EAD
によってアドレスが要求されるたびに読み取られ得、又
はより有利には、該メモリの内容が、レジスタDIRのア
ドレス内に導入されるように、そしてキャッシュメモリ
の場合にはブロックの取替えアルゴリズムに供給される
ように、システムSYSTの初期化時に読み取られ得る。既
述のように、該実施例で形成されるマークFは、有利に
は、対応ブロックの状態STを表す2つのビットV及びM
の自由な組合わせを使用する。しかしながら、マークは
明らかに各アドレスDE内の補足ビットFの形態もとり得
る。その場合は、ビットFの2つの値によって、ブロッ
クが使用可能であるか又は使用不能であるかが示され
る。比較器COMPAはまずビットFの値を確認し、次いで
ブロックの状態STを探索する。レジスタDIRによってア
ルゴリズムLRUに送られるマスクはビットFしか含まな
い。また、該実施例で示した割合(proportion)は変え
ることができ、連想メモリの使用に応じて様々な形態を
とり得る。前記割合は、単にブロック全体又は各カラム
内の所定数の使用不能ブロックに関連させることがで
き、又は例えばメモリの機能及び/又は使用コンテクス
トに固有の別の基準に関連させることができる。
る。本発明は、第6図に基づいて説明した形態でマーク
Fを非使用ブロックのアドレスに書き込むための、メモ
リDATのオートテスト方法の好ましい実施例を提供す
る。
ムSYSTのプロセッサCPUの基本処理装置BPUは、前記プロ
セッサの正常な機能を制御するために、欧州特許出願EP
−A−0434083号明細書に従ってマイクロプログラム化
したものである。第7図、第8図及び第9図を参照しな
がら以下に説明するオートテスト方法の実施例は、有利
には、各プロセッサCPUの基本装置BPUの正常な機能を制
御するマイクロプログラムに付加されたオートテストマ
イクロプログラムSTMPを使用する。該オートテスト方法
の説明はまず第7図を参照しながら行う。第7図は、メ
モリDATと、レジスタDIRと、基本処理装置BPUの装置EAD
及びBDPのオートテストマイクロプログラムSTMPとによ
って実行されるオートテスト操作をブロック図で示して
いる。第7図にも、第2図を参照しながら説明したプロ
セッサに関して示したエレメントが示されている。第7
図では、メモリDATとレジスタDIRとの間のアドレスライ
ンADR及び制御ラインCDR、装置EDAとレジスタDIRとの間
のアドレスラインL−AD及び制御ラインCD−AD、装置ED
AとBDPとの間の制御ラインCD−CB、並びに内部バスCB内
にあって、装置EDA又はBDPからメモリDATに書き込むべ
き結果を転送するのに使用されるバスRESと、該実施例
の装置BDPと、メモリDATのオペランドを読取って装置ED
A又はBDP方向に転送するためのバスOPとが、符号を括弧
でくくった状態で示されている。該オートテスト方法に
使用される信号は前記ライン並びにバスRES及びOPのそ
ばに示されている。
L0〜BL63がパリティ欠陥又は所定データの書込み欠陥を
有していないかどうかを確認する第1テストから始ま
る。実際の操作では、前記データが、有利には、各レベ
ルLV0〜LV15の2つの隣接サブブロックSBL0〜SBL255の
間で交互になる(altern)2つの低位アドレスパター
ンALに対応する。例えば、1つのサブブロックが16のバ
イトを有することがわかっているため、偶数アドレスAL
0、AL2、AL4、...には各バイト毎にデータAAを与え、奇
数アドレスAL1、AL3、...にはデータ55を与える。該第
1テストは2つの段階を含む。
ある。装置EDAのオートテストマイクロプログラムSTMP
は、書込みコマンドIOEと、メモリDATのブロックBLのア
ドレスADの低位アドレスALと上位アドレスAHとをレジス
タDIRに順次供給する。装置BDPのオートテストマイクロ
プログラムSTMPは信号ALGOによって装置EDAのマイクロ
プログラムと同期し、メモリDATにブロックのデータを
供給する。これらの動作は、メモリDATの総てのブロッ
クにデータを書き込むためのループに従って繰り返され
る。
スト段階である。装置EDAのオートテストマイクロプロ
グラムSTMPは装置BDPから送出された信号ALGOによって
同期され、メモリDATのブロックBLの総てのアドレスAD
と、それぞれのブロックのデータの読取りコマンドIOR
とをレジスタDIRに順次送る。メモリDATは各アドレスの
データを読取り、これらのデータをバスOPを介して装置
BDPに転送し、パリティを確認し、総てのパリティ欠陥P
ARERを制御ラインCDRによってレジスタDIRに転送する。
装置BDPは読取られたデータを対応する書込まれたデー
タと比較し、結果WKRを装置EDAに送る。装置EDAはコマ
ンドDAOによって前記結果をレジスタDIRに転送する。こ
れに応答してレジスタDIRのハードウェア(matriel)
は、データエラー又はパリティエラーが確認されたDAT
のブロックに関するマークFを、第6図に基づいて説明
したようにアドレスDEに書き込む。レジスタDIRのハー
ドウェアは2つのエラーカウンタ、即ちメモリDATの総
ての使用不能ブロックのカウンタDATERと、各カラムの
総ての使用不能ブロックのカウンタCOLERとをも管理す
る。カウンタCOLERはレジスタDIRでカラムの変更毎にゼ
ロにリセットされる。前記カウンタのうちの1つが前述
の限界値を超えれば、集積回路は機能不良とみなされ、
廃棄される。
用いて実行される第2テストが続く。該第2テストは、
それぞれ段階1及び2と同じであり前記相補値に関する
2つの段階3及び4を含む。従って第2テストも、第1
テストのデータの相補値の交互パターン(motifs alter
ns)を用いて簡単に且つ迅速に実行されるという利
点を有する。しかしながら、パリティは相補値データに
関しては同一であるため、前述の2つのテストはパリテ
ィを変化させない。そこで該オートテスト方法は、パリ
ティが状態変化して十分にテストされるようにする第3
テストを含む。該テストは2つの段階5及び6を含む。
これらの段階はそれぞれ段階1及び2と同じであるが、
パリティを確実に変化させるデータに関する。例えば、
各サブブロックの最終バイトが他のバイトの値を相補す
る値を有するようにすればよい。最初の2つのテストで
引用したデータを参照して説明すれば、先行バイトが値
AAを有する時は最終バイトに値55を与え、先行バイトが
値55を有する時は最終バイトに値AAを与える。該テスト
も簡単且つ迅速に実行できる。
以然として不都合がある。これらのテストでは、2つの
データが隣接サブブロックの間で交互になる。従って、
メモリDATのアドレスデコーダDECが機能不良であると、
前記データの一方が同一アドレスに2度書込まれる可能
性がある。例えば、段階1で2つのデータのうちの一方
(AA...又は55...)をアドレスAL0及びAL2に書込みたい
場合、デコーダDECが2つのアドレスAL0及びAL2を混同
すると、前記値がアドレスAL0に2度書込まれ得る。該
テストは、結果HIT0−15によって制御されるレベルのマ
ルチプレクサが良好に機能しており2つのレベルを混同
していないかどうかを確認できると有利である。このよ
うな場合には、2つのアドレスでの読取りが同一のデー
タを与え、比較が良好と判断とされるが、現実にはデコ
ーダがアドレスAL2にアクセスすることはできない。従
って、交互の値のテストは前記エラーを検出することが
できない。そこで該オートテトス方法は、各サブブロッ
クに異なるデータを与えることからなる第4テストを含
む。該実施例では、メモリDATの4096個のサブブロック
が異なるデータを受け取ることができ、それに伴って各
サブブロックの最後の4つのバイトを表すレジスタの値
がインクリメントされる。該第4テストは、それぞれ段
階1及び2に類似しているが、デコーダのあらゆる機能
欠陥を検出するためにサブブロックで異なるデータを使
用する2つの段階7及び8を含む。
がある。装置EADは、メモリDATのサブブロックSBLにつ
いて要求を行う時は、サブブロックSBLを含むブロックB
LのアドレスAD=AH+ALH+ALLをレジスタDIRに供給す
る。即ち装置EADは、該実施例では、レジスタDIRに対し
て、メモリDATの所与のレベルに書込みを行うように命
令することができない。サブブロックへの書込みは、当
該ブロックを含むカラムを表すアドレスALHと、レベルH
IT0〜15の16のビットを形成するための上位アドレスAH
とに基づいてレジスタDIRが形成するアドレスDCAを必要
とする。しかしながら、該オートテトス方法の開始時に
は、正常な機能ではメモリDATのブロックの総てのアド
レスを記憶しているレジスタDIRの読出し書込みメモリ
が不確定な内容を有する。そのため、該オートテトス方
法の書込み段階1が始まる時に装置EADが所与のアドレ
スADをレジスタDIRに与えると、レジスタDIRでの比較に
よるレベルHIT0〜15のビットの決定が達成されない確率
が高い。従って、前記決定はアルゴリズムLRUによって
実行され、オートテトスがメモリDATの総てのブロック
について確定に行われるようにするのに必要な制御は受
けない。本発明が提案する方法は、オートテトス方法の
開始時に、メモリDATの1024個のブロックに対応する総
ての上位アドレスAHをレジスタDIRの読出し書込みメモ
リに供給し、前記上位アドレスAHが装置EADの要求アド
レスに対応するようにして、前記読出し書込みメモリを
初期化することからなる。該実施例のメモリDATにはブ
ロックが1024個しかないため、前述の初期化を実行する
ためには、第5図に示した上位アドレスAHの24個のビッ
トの一部分を使用するだけでよい。例えば、各アドレス
AHの重みの大きい16個のビットAH0:15を使用すれば、装
置EADの最初の要求はAH0+ALであり、2番目の要求はAH
1+AL、...16番目の要求はAH15+ALである。このように
して、装置EADがアドレスADを用いてクアセスする総て
のブロックがキャッシュメモリに存在することになり、
そのデータが信号HIT0:15を送出すべく比較され得る。
実際には、該実施例の装置EADで使用し得る4バイトレ
ジスタREGがレジスタDIRの初期化を行うのに使用され
た。別の方法は、レジスタDIRのレベルに装置EADが直接
アクセスできるようにすることからなる。これは、装置
EADとレジスタDIRとの間に16ビットバスか又はスキャン
パス(canal d′exploitation)を使用することによっ
て実行し得る。
9A図及び第9B図を参照しながら、本発明のオートテトス
方法の好ましい実施例を説明する。第8図、第9A図及び
第9B図の流れ図は、それぞれのオートテトスマイクロプ
ログラムSTMPを実行する装置EAD及び装置BDPの機能をそ
れぞれ示している。これら2つの流れ図は、前述のオー
トテトス方法を構成する4つのテストの各々の書込み段
階及び読取り−比較段階の展開を示している。該オート
テトスは、第9A図及び第9B図に示した流れ図の操作を1
回しか実行しない装置BDPの制御下で、装置EADが第8図
の流れ図の操作を4回実行した時に終了する。
容の初期化によって開始される。前記内容は装置BDPに
よりバスRESを介して送出される。レジスタDIRの16個の
レベルLV0〜LV15を表す論理値Fについて、カウンタCNT
が初期化される。メモリDATのブロックBL0のカラムのレ
ベルLV0への書込みを行うために、装置EADは64バイトの
書込みコマンドIOWをレジスタDIRに送る。装置EADは装
置BDPから同期信号ALGOが送られてくるのを待ち、該信
号を受け取ると、その値を確認する。値0は書込み段階
を表し、値1は読取り−比較段階を表す。この場合は書
込み段階1であるため、ALGO=0である。次いで、カウ
ンタCNTがインクリメントされ、装置EADがレベルLV1に
移る。装置EADは新しい書込みコマンドIOWを作成し、上
位アドレスAHをインクリメントし、信号ALGOを待つ。該
書込みサイクルは、カウンタCNTが0になるまで繰り返
される。CNT=0は、メモリDATのブロックBL0のカラム
の16番目のレベルLV15で書込みが実行されたことを意味
する。その結果、レジスタDIRのカラムCOL1に移り、メ
モリDATのブロックBL1のカラムで書込みが行われるよう
に、低位アドレスALの上位部分ALHがインクリメントさ
れる。前記カラムの総てのブロックにおける新しい書込
みサイクルは前述のように再開され、装置EADがメモリD
ATの総てのブロックにおける書込みを命令し終えるまで
繰り返される。この時点で、装置BDPは、該オートテス
ト方法の段階2を開始するための同期信号ALGO=1を送
出する。上位アドレスAHはレジスタREG内でゼロにリセ
ットされ、カウンタCNTは初期の論理値Fにリセットさ
れる。装置EADは、メモリDATのブロックBL0のカラムの
レベルLV0での読取りのために、読取りコマンドIORと上
位アドレスAHとをレジスタDIRに送る。装置EADは装置BD
Pで行われた比較の結果を受け取り、これをコマンドDAO
によってレジスタDIRに転送する。装置EADは装置BDPか
ら同期信号ALGOをも受け取る。この時点ではALGO=1で
あるため、カウンタCNTはデクリメントされ、カウンタC
NTが0になるまで読取り−比較サイクルが繰り返され
る。CNT=0は、総てのブロックBL0で読取り−比較が実
行されたことを意味する。この状態になると、装置EAD
がアドレスALHをインクリメントし、カウンタCNTを初期
値Fにリセットして、次のカウンタの総てのブロックの
読取り−比較に必要なアドレスを供給する。装置EADが
メモリDATのブロックの総てのアドレスをレジスタDIRに
送ると、装置BDPは同期信号ALGO=0を送出する。該信
号は、該オートテスト方法の段階2の終了を示し、第2
テストの書込み段階での手順を準備する。装置EADは流
れ図の出発点で操作を再開しながら、同様の方法で、該
オートテストの第2テスト、第3テスト及び第4テスト
を順次実行する。
ト方法が、バスRESを介して装置EADにレジスタREGのゼ
ロベースアドレスを送ることにより開始される。メモリ
DATの1024個のブロックを計数するために、カウンタCPT
は論理値4FFで初期化される。第2カウンタCTは、メモ
リDATの各ブロックの4つのサブブロックSBLを計数する
ために論理値4で初期化される。次いで装置BDPが、該
オートテスト方法の第4テストで実行されるデコーダの
テストに関する信号TESTDECの論理状態を確認する。初
期化時にはTESTDEC=0であり、これは該オートテスト
方法の最初の3つのテストがデコーダには関係ないこと
を示す。装置BDPは次いで隣接サブブロック間でデータ
が交互になるように命令する信号ALTERNの論理状態を確
認する。第7図を参照しながら説明したように、段階1
ではサブブロックに書込まれたデータが相補論理値A及
び5を交互に配置したものからなる。初期化時にはALTE
RN=0である。そこで装置BDPがポインタPTRを4バイト
レジスタREG1上に配置し(段階1の値Aに対応する)、
ALTERNが値1となる。装置BDPは次いで、該オートテス
ト方法が書込み段階WT=0(該方法の段階1、3、5及
び7)にあるのか、又は読取り−比較段階WT=1にある
のかを確認する。初期化時にはWT=0であるため、レジ
スタREG1の内容はバスRESを介してメモリDATに送られ、
次いでポインタPTRがインクリメントされる。従ってポ
インタはレジスタREG2上に配置される。該レジスタの内
容はバスRESを介してメモリDATに2度送られる。ポイン
タPTRは新たにインクリメントされ、レジスタREG3の内
容をバスRESを介してメモリDATに送る。この時点では、
バスがDATの第1サブブロックSBLOの16バイトデータを
送出し終えている。カウンタCTがデクリメントされ、そ
の結果第2サブブロックSBL1のために該レベルでループ
が再開される。該サブブロックではALTERN=1であり、
そのためポインタPTRがレジスタREG4(段階1で論理値
5)上に配置され、ALTERNが値0にリセットされる。該
ループは前述のように続けられる。第1ブロックBL0の
4つのサブブロックSBL0〜SBL3で書込みが終了するとCT
=0となり、装置BDPが書込みを続けるべきか否かを確
認する。この時点では、第2ブロックでの書込みを命令
するためにWT=0である。ブロックのカウンタCPTはデ
クリメントされ、装置BDPが同期信号ALGO=0を装置EAD
に送出すると同時に、書込みループが前記カウンタのレ
ベルで再開される。総てのブロックで書込みが終了する
と、CPT=0となる。この段階でWTは1となり、読取り
−比較段階を命令する。デコーダのテストのためにレジ
スタREG7が値0にセットされ、装置BDPが装置EADに同期
信号ALGO=1を送る。装置BDPの機能は前述の流れ図の
出発点で再開される。TESTDECは0に等しい状態を維持
し(該方法の段階2)、そのため装置BDPの機能は、WT
=1であれば、読取り−比較段階に移る。ALTERNは0に
初期化され、そのためポインタPTRはインクリメントさ
れる前にレジスタREG1上に配置される。メモリDATのブ
ロックBL0の第1サブブロックSBL0で読取られた4バイ
トデータOPEは、前記サブブロックに書き込まれている
レジスタREG1の内容と比較される。OPEがREG1と異なっ
ていれば、内部レジスタWKRは欠陥の存在を示すために
1にセットされる。OPE=REG1であれば、ポインタPTRが
インクリメントされ、次の4つのバイトOPEがレジスタR
EG2の内容と比較される。次の4つのバイトOPEについて
も同様のことが当て嵌まる。ポインタPTRは最後の4つ
のバイトOPEをレジスタREG3の内容と比較するためにイ
ンクリメントされる。比較欠陥が確認されると、レジス
タWKRはその都度1にセットされる。カウンタCTがデク
リメントされ、ループがブロックBL0の次のサブブロッ
クSBL1の読取り−比較のために再開される。ブロックBL
0の4つのサブブロックのテストが終了すると、CT=0
となり、装置BDPが読取り−比較(WT=1)を実行すべ
きか否かを確認する。答が“イエス”であれば、装置BD
PはバスRESを介して装置EADに欠陥レジスタWKRの内容を
送り、前記レジスタをゼロにリセットする。装置BDPは
メモリDATのブロックのカウンタCPTをデクリメントし、
同期信号ALGO=1を装置EADに送ると同時に、次のブロ
ック(BL1)の読取り−比較を実行すべく、流れ図にお
ける前記カウンタのレベルに戻す。前記ループはカウン
タCPTが0になるまで繰り返される。次いで装置BDPが、
次の段階が書込み段階であることを示すためにWTを値0
に戻し、TESTDEC=0であるか否かを確認する。この時
点では、書込み段階が該オートテスト方法の第2テスト
の段階3であり、従ってTESTDEC=0である。そこで装
置BDPは値3に初期化されたテストカウンタTESTをデク
リメントし、次のテストのレジスタREG1〜4を読取るた
めにポインタを変える。実際、第7図を参照しながら説
明したように、第2テストのデータは第1テストのデー
タの相補データである。次いで装置BDPは装置EADに同期
信号ALGO=1を送り、流れ図の出発点で操作を再開す
る。第2テストの終わりにTESTDECは0のままであり、
テストカウンタTESTはパリティテストである第3テスト
を開始するためにデクリメントされる。ポインタは、レ
ジスタREG1〜4が第7図の説明で非限定的に使用したデ
ータを有するように変えられる。装置BDPは信号ALGO=
1を装置EADに送り、流れ図の出発点に戻る。第3テス
トの終わりに装置BDPはTESTDEC=0且つTEST=0を見い
だす。これは、デコーダに関する最終テストを表すもの
である。その場合装置BDPはTESTDEC=1、レジスタREG7
=0とし、装置EADに信号ALGO=1を送り、流れ図の最
初に戻る。そのBDPがTESTDEC=1を見いだした時は、0
に初期化された4バイトレジスタREG7上にポインタが配
置され、前記レジスタの内容がインクリメントされる。
この時点ではWT=1(書込み段階7)であり、REG7の内
容がバスRESを介してメモリDATに送られる。次いで最後
のテストが最初の3つのテストと同様に実行される。唯
一の相違は、メモリDATの総てのブロックに異なるデー
タを書き込むべく、レジスタREG1及びREG4の代わりにレ
ジスタREG7を使用することにある。テストの最後に、装
置BDPはTESTDEC=1を見いだし、オートテスト方法の終
了を示すために同期信号ALGO=0を装置EADに送る。
Claims (10)
- 【請求項1】n個のレベルを有するN個のカラムの形態
に組織された複数のブロック(BL)を有するメモリ(DA
T)の管理方法であって、機能欠陥のために使用不能な
ブロックをマーク(F)に結び付けることにより、前記
使用不能ブロックへのアクセスを禁止し、該方法が、 メモリ中の使用不能ブロックの総数が、ブロックの総数
の所定の割合を超えない場合にメモリを有効とするよう
にメモリの有効性をテストし、 N個のカラムのそれぞれの使用不能ブロックの最大数に
したがって、レベルの数nを決定し、 使用不能ブロックを取り替えたり、修理したりせずにメ
モリを使用することができるようにすることを特徴とす
る管理方法。 - 【請求項2】メモリの有効性テストがコラムの各々の不
使用ブロックの数が所定数以下の場合にメモリを有効に
することからなることを特徴とする請求項1に記載の方
法。 - 【請求項3】有効性テストがメモリのオートテスト方法
によって実行されることを特徴とする請求項1または2
に記載の方法。 - 【請求項4】メモリのブロックを取り替えるためのアル
ゴリズム(LRU)がメモリの受け取ることができるブロ
ック用に保存されたレベルを選択するように、コラムの
n個のレベル用のマスクを前記アルゴリズムに供給する
ように、前記アルゴリズムを使用することからなる請求
項1乃至3のいずれか一項に記載の方法。 - 【請求項5】n個のレベルを有するN個のカラムの形態
に組織された複数のブロック(BL)を有するメモリ(DA
T)であって、使用不能ブロックへのアクセスを防止す
るように、機能欠陥のために使用不能なブロックをマー
ク(F)に結び付け、さらに、 メモリ中の使用不能ブロックの総数が、ブロックの総数
の所定の割合を超えない場合にメモリを有効とするよう
にメモリの有効性をテストするための手段(STMP,DATE
R)と、 N個のカラムのそれぞれの使用不能ブロックの最大数に
したがって、レベルの数nを決定するための手段(STM
P,COLER)と含み、 使用不能ブロックを取り替えたり、修理したりせずにメ
モリを使用することができるようにすることを特徴とす
るメモリ。 - 【請求項6】テスト手段がメモリ内の全不使用ブロック
のための第一のカウンタ(DATER)を含むことを特徴と
する請求項5に記載のメモリ。 - 【請求項7】コラムの各々の不使用ブロックの数が所定
数以下の場合にメモリを有効とするように、テスト手段
が各コラムの全不使用ブロックのための第一のカウンタ
(COLER)を含むことを特徴とする請求項5または6に
記載のメモリ。 - 【請求項8】有効性テスト手段が、メモリの制御回路に
結合している場合には、制御回路内の、好ましくはファ
ームウェアベースのメモリオートテスト方法を使用する
請求項5乃至7のいずれか一項に記載のメモリ。 - 【請求項9】メモリのブロックを取り替えるためのアル
ゴリズム(LRU)がメモリの受け取ることができるブロ
ック用に保存されたレベルを選択するように、コラムの
n個のレベル用のマスクを前記アルゴリズムに供給する
ように、前記アルゴリズムによって管理されることを特
徴とする請求項5乃至8のいずれか一項に記載のメモ
リ。 - 【請求項10】中央メモリと通信し、データメモリ(DA
T)とアドレスレジスタ(DIR)とを含むキャッシュを具
備する少なくとも一つのプロセッサを含む情報システム
であって、データメモリが請求項5乃至9のいずれか一
項に記載のものであることを特徴とする情報システム。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR9114182A FR2683924B1 (fr) | 1991-11-18 | 1991-11-18 | Memoire integree, son procede de gestion et systeme informatique en resultant. |
| FR91/14182 | 1991-11-18 | ||
| 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 JPH06504865A (ja) | 1994-06-02 |
| JP3199378B2 true 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) |
Families Citing this family (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0600729A1 (en) * | 1992-12-04 | 1994-06-08 | Plessey Semiconductors Limited | Data storage arrangement |
| 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 |
| US7305574B2 (en) * | 2004-10-29 | 2007-12-04 | International Business Machines Corporation | System, method and storage medium for bus calibration in 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 |
| 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 |
| 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 |
| 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 |
| JP4369523B2 (ja) | 2006-02-27 | 2009-11-25 | 富士通株式会社 | 縮退制御装置 |
| WO2007097026A1 (ja) * | 2006-02-27 | 2007-08-30 | Fujitsu Limited | キャッシュ制御装置およびキャッシュ制御プログラム |
| WO2007097019A1 (ja) | 2006-02-27 | 2007-08-30 | Fujitsu Limited | キャッシュ制御装置およびキャッシュ制御方法 |
| 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 |
| JP6024897B2 (ja) * | 2012-12-06 | 2016-11-16 | 国立大学法人神戸大学 | 低電圧動作キャッシュメモリ |
Family Cites Families (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5183429A (ja) * | 1975-01-20 | 1976-07-22 | Tokyo Shibaura Electric Co | |
| 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 |
| DE3671673D1 (de) * | 1985-03-18 | 1990-07-05 | Siemens Ag | Kontrolleinheit fuer 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 |
| AU604101B2 (en) * | 1987-04-13 | 1990-12-06 | Computervision Corporation | High availability cache organization |
| 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 |
| JPH0760413B2 (ja) * | 1989-05-12 | 1995-06-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メモリ・システム |
| US5070502A (en) * | 1989-06-23 | 1991-12-03 | Digital Equipment Corporation | Defect tolerant set associative cache |
| EP0407067A3 (en) * | 1989-07-06 | 1992-07-29 | Digital Equipment Corporation | Cache support architecture |
| 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 | 半導体記憶装置 |
-
1991
- 1991-11-18 FR FR9114182A patent/FR2683924B1/fr not_active Expired - Fee Related
-
1992
- 1992-11-16 EP EP92403072A patent/EP0543712B1/fr not_active Expired - Lifetime
- 1992-11-16 US US08/084,197 patent/US5537621A/en not_active Expired - Lifetime
- 1992-11-16 JP JP50903393A patent/JP3199378B2/ja not_active Expired - Lifetime
- 1992-11-16 WO PCT/FR1992/001062 patent/WO1993010497A1/fr not_active Ceased
- 1992-11-16 DE DE69230211T patent/DE69230211T2/de not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| DE69230211T2 (de) | 2000-02-10 |
| FR2683924A1 (fr) | 1993-05-21 |
| WO1993010497A1 (fr) | 1993-05-27 |
| US5537621A (en) | 1996-07-16 |
| FR2683924B1 (fr) | 1997-01-03 |
| DE69230211D1 (de) | 1999-12-02 |
| JPH06504865A (ja) | 1994-06-02 |
| EP0543712A1 (fr) | 1993-05-26 |
| EP0543712B1 (fr) | 1999-10-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3199378B2 (ja) | 集積メモリ、その管理方法及び該方法から得られる情報システム | |
| US4399506A (en) | Store-in-cache processor means for clearing main storage | |
| EP0447736B1 (en) | Multiprocessor system having distributed shared resources and dynamic and selective global data replication and method therefor | |
| US4905141A (en) | Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification | |
| US6170070B1 (en) | Test method of cache memory of multiprocessor system | |
| US5123101A (en) | Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss | |
| US4527238A (en) | Cache with independent addressable data and directory arrays | |
| US4357656A (en) | Method and apparatus for disabling and diagnosing cache memory storage locations | |
| 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 | |
| US6920521B2 (en) | Method and system of managing virtualized physical memory in a data processing system | |
| US6907494B2 (en) | Method and system of managing virtualized physical memory in a memory controller and processor system | |
| US3866183A (en) | Communications control apparatus for the use with a cache store | |
| US6904490B2 (en) | Method and system of managing virtualized physical memory in a multi-processor system | |
| US7590802B2 (en) | Direct deposit using locking cache | |
| US5235687A (en) | Method for replacing memory modules in a data processing system, and data processing system for performing the method | |
| KR20030033109A (ko) | 오류 복구 | |
| EP0131277B1 (en) | Computer hierarchy control | |
| EP0370175A2 (en) | Method and system for storing data in and retrieving data | |
| EP0770241B1 (en) | Automated safestore stack generation and move in a fault tolerant central processor | |
| US5553232A (en) | Automated safestore stack generation and move in a fault tolerant central processor | |
| EP0567355A2 (en) | A method and apparatus for operating a multiprocessor computer system having cache memories | |
| JPH06348593A (ja) | データ転送制御装置 | |
| JP3954248B2 (ja) | 情報処理装置の試験方法 | |
| CN1004945B (zh) | 地址控制装置 |
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 |