[go: up one dir, main page]

JPH09185557A - Redundant memory and data processor using redundant memory - Google Patents

Redundant memory and data processor using redundant memory

Info

Publication number
JPH09185557A
JPH09185557A JP8355613A JP35561396A JPH09185557A JP H09185557 A JPH09185557 A JP H09185557A JP 8355613 A JP8355613 A JP 8355613A JP 35561396 A JP35561396 A JP 35561396A JP H09185557 A JPH09185557 A JP H09185557A
Authority
JP
Japan
Prior art keywords
address
memory
data
input
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8355613A
Other languages
Japanese (ja)
Inventor
R Toms Thomas
トーマス・アール・トムス
W Shuradimski David
デビッド・ダブリュ・シュラディムスキー
Jeu Thomas
トーマス・ジェウ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of JPH09185557A publication Critical patent/JPH09185557A/en
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a redundant memory containing a main memory, a multiplexer, a cache and a non-volatile memory. SOLUTION: The redundant memory 25 supports the data change of a work unit without affecting the access time of the redundant memory 25. For accessing to a defective address, the data part 42 of a cache 40 is accessed. When an access address is matched with a programmed address in the cache 40, the multiplexer 32 selects the cache 40 and a main memory 30 which completely functions is realized. For example, the data word of defective flash EEPROM can be substituted by programming the address of flash EEPROM in a non-volatile memory 31. The redundant memory 25 can be incorporated in a data processor such as a micro controller 20 containing a central processing unit 21 and an on-chip peripheral equipment 24.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、一般に、半導体メモリ
に関し、さらに詳しくは、冗長メモリおよび冗長メモリ
を内蔵するデータ・プロセッサに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates generally to semiconductor memory, and more particularly to redundant memory and data processors incorporating redundant memory.

【0002】[0002]

【従来の技術】半導体メモリは、大量のデータを格納す
るために用いられる。これらのメモリは、数ビットの情
報から数百万ビットの情報まで格納できる。技術の進歩
に伴い、さまざまな種類のデータ処理用チップ上に集積
されるメモリの大型化が進んでいる。
Semiconductor memories are used to store large amounts of data. These memories can store several bits of information to millions of bits of information. With the progress of technology, the size of memories integrated on various types of data processing chips is increasing.

【0003】コンピュータ・システムでは、メモリ位置
が誤ったデータを生成するといくつかの問題が生じる。
問題の一例として、データ・プロセッサまたは集積回路
に格納された誤った位置から読み出される制御データの
破損(corruption)によるユーザのアプリケーションの機
能の無効化あるいは不確定化がある。この問題の根元を
理解するためには、これらの異常の無作為性のため、ユ
ーザによる面倒な解析を必要とする。従って、メモリ・
コンポーネントは、コンピュータ・システムで利用する
際に完全に機能できなければならない。
In computer systems, some problems arise when memory locations produce incorrect data.
One example of a problem is the disabling or indeterminacy of the functionality of a user's application due to the corruption of control data read from erroneous locations stored in a data processor or integrated circuit. Understanding the roots of this problem requires tedious analysis by the user due to the randomness of these anomalies. Therefore, the memory
The component must be fully functional when utilized in a computer system.

【0004】[0004]

【発明が解決しようとする課題】小さいチップ面積で大
量のデータを格納する半導体メモリの一例として、ラン
ダム・アクセス・メモリ(RAM)がある。製造プロセ
ス中に、時々生じる無作為な欠陥により、メモリ・セル
の一部が機能しなくなる、すなわち、正しい情報を格納
・提供できなくなることがある。しかし、一つまたは少
数の欠陥メモリ・セルのために、テスト後にチップ全体
を破棄するのは無駄である。そのため、業界では、解決
策、すなわち、冗長メモリ、を講じた。
A random access memory (RAM) is an example of a semiconductor memory that stores a large amount of data in a small chip area. During the manufacturing process, random defects that occur from time to time can cause some of the memory cells to fail, that is, to be unable to store and provide the correct information. However, it is futile to discard the entire chip after testing due to one or a few defective memory cells. Therefore, the industry has come up with a solution, namely redundant memory.

【0005】従来、冗長メモリは、チップ全体を破棄す
ることを防ぐために、ロウまたはカラム全体を交換して
単一ビットを修復する必要があった。従来、これには、
レーザ・ハードウェアを利用して、切断・接続により、
欠陥ビットを冗長ロウまたはカラムと交換することが伴
う。シリコン・ウェハまたはダイ上で厳密な物理的な位
置を見つけることは、レーザ・マシンが欠陥位置を切断
し、欠陥位置を冗長位置で修復できるように、プログラ
ムが位置を計算・格納する必要がある。この手順は、レ
ーザ・ハードウェアの購入および大幅なテスト時間を必
要とし、オーバヘッドを実質的に増加させる。
In the past, redundant memory required replacing entire rows or columns to restore a single bit in order to prevent discarding the entire chip. Traditionally, this includes
By disconnecting and connecting using laser hardware,
It involves exchanging defective bits with redundant rows or columns. Finding the exact physical location on a silicon wafer or die requires the program to calculate and store the location so that the laser machine can cut the defect location and repair the defect location in redundant locations. . This procedure requires the purchase of laser hardware and significant test time, and substantially increases the overhead.

【0006】ロウおよび/またはカラムが切断・修復さ
れると、他の問題、すなわち、第1に、ロウ冗長性のた
めにカラム容量を増加し、またカラム冗長性のためにロ
ウ容量を増加することによるデコード時間の増加、第2
に、最終製品コストの増加につながるダイ・サイズ領域
の増加、が現れる。
[0006] When a row and / or column is cut and repaired, another problem arises: first, it increases the column capacity for row redundancy and also increases the row capacity for column redundancy. Decoding time increases due to the second
Finally, there is an increase in die size area which leads to an increase in final product cost.

【0007】デコード時間の増加の問題点は、いくつか
の様相ががある。ロウまたはカラム冗長性を実施する
際、余分なロウまたはカラムをデコードしなければなら
ず、これが容量を追加する。また、冗長ロウまたはカラ
ムを選択し、また冗長ロウまたはカラムがデコーダによ
って選択された場合に、メイン・アレイにおけるロウま
たはカラムを選択解除することで、時間を追加しなけれ
ばならない。容量の増加は、遅延およびアクセス時間を
増加することに留意されたい。メモリのアクセス時間
は、有効な入力アドレスがメモリに与えられた時間か
ら、アクセスされるデータがデータ・バス上で有効とな
る時間まで測定される。
The problem of increased decoding time has several aspects. When implementing row or column redundancy, the extra rows or columns must be decoded, which adds capacity. Also, time must be added by selecting a redundant row or column and deselecting the row or column in the main array when the redundant row or column is selected by the decoder. Note that increasing capacity increases delay and access time. Memory access time is measured from the time a valid input address is provided to the memory to the time the data being accessed is valid on the data bus.

【0008】ダイナミック・ランダム・アクセス・メモ
リ(DRAM),スタティック・ランダム・アクセス・
メモリ(SRAM),リード・オンリ・メモリ(RO
M),EPROM(electrically programmable ROM) ,
EEPROM(electrically erasable and programmabl
e EPROM),ブロック消去可能EEPROM(フラッシュ
EEPROM)を含むさまざまなユーザ・メモリは、冗
長技術を利用して、欠陥ロウおよび/またはカラムを交
換できる。しかし、メモリがマイクロコントローラに内
蔵される場合、メモリはあらゆる動作モードでアクセス
可能とならないことがある。ユーザ・アプリケーション
のためにこれらのメモリを完全に動作状態にするために
は、冗長性を提供する不揮発性メモリ・セルのコンフィ
ギュレーションのカスタム化を可能にする方法が必要だ
った。このため、米国特許第5,179,536号 "SE
MICONDUCTOR MEMORY DEVICE HAVING MEANS FOR REPLACI
NG DEFECTIVE MEMORY CELLS"で教示されるメモリなどの
メモリの試験中に検出される欠陥ブロックのスタート・
アドレスを、不揮発性メモリ番地に格納することが行わ
れた。
Dynamic random access memory (DRAM), static random access memory
Memory (SRAM), Read Only Memory (RO
M), EPROM (electrically programmable ROM),
EEPROM (electrically erasable and programabl
Various user memories, including eEPROM) and block erasable EEPROM (flash EEPROM), can utilize redundant techniques to replace defective rows and / or columns. However, if the memory is built into the microcontroller, the memory may not be accessible in all modes of operation. In order to bring these memories fully operational for user applications, there was a need for a method that allowed the customization of the configuration of non-volatile memory cells that provided redundancy. Therefore, US Pat. No. 5,179,536 "SE
MICONDUCTOR MEMORY DEVICE HAVING MEANS FOR REPLACI
NG DEFECTIVE MEMORY CELLS "start of defective blocks detected during testing of memories such as those taught by
The address was stored in a non-volatile memory address.

【0009】ロウ/カラム冗長方式の一例では、アドレ
ス・バッファ,ロウ・デコーダ,カラム・デコーダ,セ
ンス増幅器およびメモリ・セル・アレイを必要とする。
アドレス・バッファは、入力アドレスを、ロウ・アドレ
ス信号およびカラム・アドレス信号を生成するロウおよ
びカラム・デコーダに結合する。比較器は、入力アドレ
スが現在の欠陥ロウ/カラムと一致するかどうかを検出
する。一致する場合、選択回路は駆動するように冗長メ
モリ部分をイネーブルする。一致しないが入力アドレス
がメモリのレンジ内の場合、非冗長ロウ/カラムが選択
される。正しい位置がデコードされると、センス増幅器
はデータを検出し、このデータをマイクロコントローラ
のデータ・バス上に駆動する。この種の冗長メモリで
は、アドレス・バッファがメイン・メモリと冗長メモリ
の両方をデコードする必要があり、もちろんこれにより
アドレスをデコードする時間が増加する。
One example of a row / column redundancy scheme requires an address buffer, row decoder, column decoder, sense amplifier and memory cell array.
The address buffer couples the input address to the row and column decoders that generate the row and column address signals. The comparator detects if the input address matches the current defective row / column. If there is a match, the select circuit enables the redundant memory portion to drive. If they do not match, but the input address is within the memory range, a non-redundant row / column is selected. Once the correct location is decoded, the sense amplifier detects the data and drives it on the microcontroller's data bus. This type of redundant memory requires the address buffer to decode both the main memory and the redundant memory, which of course increases the time to decode the address.

【0010】[0010]

【課題を解決するための手段】従って、特殊なハードウ
ェアを必要とせずにメモリ・アレイ内の欠陥部分を交換
でき、かつ大きな集積回路領域を追加せずまたデコード
時間や検出時間をあまり低下させない、冗長メモリ技術
が必要とされる。このようなメモリおよびこのメモリを
利用するデータ・プロセッサは本発明によって提供さ
れ、その特徴および利点については、添付の図面ととも
に以下の詳細な説明から明らかになろう。
Therefore, defective parts in a memory array can be replaced without requiring special hardware, and a large integrated circuit area is not added, and decoding time and detection time are not significantly reduced. , Redundant memory technology is needed. Such a memory and a data processor utilizing this memory are provided by the present invention, the features and advantages of which will be apparent from the following detailed description in conjunction with the accompanying drawings.

【0011】[0011]

【実施例】図1は、本発明による冗長メモリ(REDUNDANT
MEMORY)25を有するマイクロコントローラ20の形式
のデータ・プロセッサを、ブロック図で示す。マイクロ
コントローラ20は集積回路マイクロコントローラであ
り、一般に、中央処理装置(CPU)21、アドレス・
バス(ADDRESS BUS) 22,データ・バス(DATA BUS)2
3,周辺装置(PERIPHERAL)24および冗長メモリ(REDUN
DANT MEMORY)25を含む。CPU21は、アドレス・バ
ス22に接続された出力端子と、データ・バス23に接
続された双方向端子とを有する。周辺装置24は、アド
レス・バス22に接続された入力端子と、データ・バス
23に接続された双方向端子とを有する。冗長メモリ2
5は、アドレス・バス22に接続された入力端子と、デ
ータ・バス23に接続された双方向端子とを有する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 shows a redundant memory (REDUNDANT) according to the present invention.
A data processor in the form of a microcontroller 20 with a MEMORY) 25 is shown in a block diagram. The microcontroller 20 is an integrated circuit microcontroller, typically a central processing unit (CPU) 21, address
Bus (ADDRESS BUS) 22, Data bus (DATA BUS) 2
3. Peripheral device (PERIPHERAL) 24 and redundant memory (REDUN)
DANT MEMORY) 25 is included. CPU 21 has an output terminal connected to address bus 22 and a bidirectional terminal connected to data bus 23. Peripheral device 24 has an input terminal connected to address bus 22 and a bidirectional terminal connected to data bus 23. Redundant memory 2
5 has an input terminal connected to address bus 22 and a bidirectional terminal connected to data bus 23.

【0012】冗長メモリ25は、メイン・メモリ(MAIN
MEMORY) 30,不揮発性メモリ(NON-VOLATILE MEMORY)
31,マルチプレクサ(MUX)32およびキャッシュ
(CACHE) 40を含む。メイン・メモリ30は、アドレス
・バス22に接続された入力端子と、双方向端子とを有
する。不揮発性メモリ31は、データ・バス23に接続
された双方向端子と、出力端子とを有する。MUX32
は、第1双方向端子と、メイン・メモリ30の双方向端
子に接続された第2双方向端子と、データ・バス23に
接続された双方向端子とを有する。キャッシュ40は、
「TAG」と記されたタグ部分41と、「DATA」と
記されたデータ部分42とを含む。タグ部分41は、ア
ドレス・バス22に接続された入力端子と、「タグ・ヒ
ット(TAG HIT)」26と記された制御出力信号
を与える出力端子とを有する。データ部分42はタグ部
分41に接続され、MUX32の第1双方向端子に接続
された双方向端子を有する。
The redundant memory 25 is a main memory (MAIN
MEMORY) 30, non-volatile memory (NON-VOLATILE MEMORY)
31, multiplexer (MUX) 32 and cache
(CACHE) 40 is included. The main memory 30 has an input terminal connected to the address bus 22 and a bidirectional terminal. The non-volatile memory 31 has a bidirectional terminal connected to the data bus 23 and an output terminal. MUX32
Has a first bidirectional terminal, a second bidirectional terminal connected to the bidirectional terminal of the main memory 30, and a bidirectional terminal connected to the data bus 23. The cache 40 is
It includes a tag portion 41 labeled "TAG" and a data portion 42 labeled "DATA". Tag portion 41 has an input terminal connected to address bus 22 and an output terminal for providing a control output signal labeled "TAG HIT" 26. The data portion 42 is connected to the tag portion 41 and has a bidirectional terminal connected to the first bidirectional terminal of the MUX 32.

【0013】メイン・メモリ30は、データ素子がロウ
およびカラムに整理された従来のメモリ・アレイであ
る。入力アドレスに応答して、ワード・ライン・ドライ
バは、あるロウを選択するワード・ラインをアクティブ
にする。アドレスの別の部分は、カラム・デコーダをイ
ネーブルして、選択されたロウ、すなわち特定のデータ
・ワードに位置する特定の数のメモリ・セルのカラムを
選択させる。メイン・メモリ30では、各ロウは複数の
データ・ワードからなり、これらのデータ・ワードは、
複数のメモリ・セルからなり、各メモリ・セルはロウ/
カラム交点に位置する。
Main memory 30 is a conventional memory array in which data elements are arranged in rows and columns. In response to the input address, the word line driver activates the word line that selects a row. Another portion of the address enables the column decoder to select the selected row, ie, the column of the specified number of memory cells located in the specified data word. In main memory 30, each row consists of multiple data words, and these data words are
Consisting of multiple memory cells, each memory cell is a row /
Located at the column intersection.

【0014】本発明に従って、マイクロコントローラ2
0は、メイン・メモリ30のアクセス時間に悪影響を及
ぼさずに、ワード単位で冗長性を提供する冗長メモリ2
5を含む。冗長メモリ25は、メイン・メモリ・アレイ
としてメイン・メモリ30を含む。メイン・メモリ30
の欠陥メモリ番地に関する情報は、不揮発性メモリ31
とともにキャッシュ40によって与えられる。テスト中
に、メイン・メモリ30における欠陥(defective) メモ
リ・ワードは検出され、従来のVLSIプログラミング
方法により、メイン・メモリ30の欠陥メモリ・ワード
に対応するパッチ(patch) ・アドレスで、不揮発性メモ
リ31はプログラムされる。
According to the invention, the microcontroller 2
0 is a redundant memory 2 which provides redundancy in word units without adversely affecting the access time of the main memory 30.
5 is included. The redundant memory 25 includes a main memory 30 as a main memory array. Main memory 30
For information on defective memory addresses of the non-volatile memory 31
With cache 40. During testing, a defective memory word in the main memory 30 is detected and the non-volatile memory is detected by the conventional VLSI programming method at the patch address corresponding to the defective memory word in the main memory 30. 31 is programmed.

【0015】動作時、マイクロコントローラ20がリセ
ット中に、テスト時にメイン・メモリ30において検出
され、不揮発性メモリ31にプログラムされた欠陥ワー
ド番地のパッチ・アドレスは、キャッシュ40のタグ部
分41内に転送される。それ以降、通常動作中に、MU
X32は、タグ・ヒット信号26によって判定されるよ
うに、メイン・メモリ30またはキャッシュ40のデー
タ部分42のいずれかにデータ・バス23を選択的に接
続させる。この説明の観点における通常動作とは、マイ
クロコントローラ20がリセット状態ではない時間的な
ポイントであると理解されたい。不揮発性メモリ31に
格納されたパッチ・アドレスをタグ部分41およびデー
タ部分42に転送するだけでなく、リセット状態中のデ
ータ・プロセッサの動作は当技術分野において周知であ
り、これ以上詳しく説明しない。通常動作時に、冗長メ
モリ25が、冗長メモリ25に関連するレンジ内にあ
る、アドレス・バス22上で導通されるアドレスを受け
ると、キャッシュ40は、メイン・メモリ30が対応す
る番地をデコードする際に、タグ部分41に格納された
パッチ・アドレスがアドレス・バス22上で導通された
アドレスと一致するかどうかを判定する。導通されたア
ドレスがパッチ・アドレスと一致すると、タグ部分41
はMUX32への出力信号タグ・ヒット26をアクティ
ブにして、その第1双方向端子を選択し、データ・バス
23に接続する。同時に、タグ部分41においてヒット
したタグは、データ部分42における適切なデータ・ワ
ードを選択し、これはMUX32を介してデータ・バス
23に接続される。タグ選択およびデータ・バス23へ
の接続は、メイン・メモリ30のデコーディング回路か
ら独立して行われ、そのためそのアクセス時間には影響
を及ぼさない。タグ番地がアドレス・バス22上で導通
されるアドレスと一致しなければ、アクセスはメイン・
メモリ30において通常通りに行われ、タグ部分41か
らの出力信号タグ・ヒット26は非アクティブになり、
それによりマックス32は、第2双方端子、すなわち、
メイン・メモリ30の双方向端子に接続された端子を選
択して、データ・バス23に接続させる。
In operation, the patch address of the defective word address detected in the main memory 30 during the test and programmed in the non-volatile memory 31 during the reset of the microcontroller 20 during operation is transferred into the tag portion 41 of the cache 40. To be done. After that, during normal operation, the MU
X32 selectively connects data bus 23 to either main memory 30 or data portion 42 of cache 40 as determined by tag hit signal 26. It should be understood that normal operation in the context of this description is the point in time when the microcontroller 20 is not in the reset state. In addition to transferring the patch address stored in non-volatile memory 31 to tag portion 41 and data portion 42, the operation of the data processor during the reset state is well known in the art and will not be described in further detail. During normal operation, when the redundant memory 25 receives an address in the range associated with the redundant memory 25 that is conducted on the address bus 22, the cache 40 causes the main memory 30 to decode the corresponding address. First, it is determined whether the patch address stored in the tag portion 41 matches the address conducted on the address bus 22. When the conducted address matches the patch address, the tag portion 41
Activates the output signal tag hit 26 to MUX 32 to select its first bidirectional terminal and connect it to data bus 23. At the same time, the tag hit in tag portion 41 selects the appropriate data word in data portion 42, which is connected to data bus 23 via MUX 32. The tag selection and connection to the data bus 23 is made independent of the decoding circuit of the main memory 30 and therefore does not affect its access time. If the tag address does not match the address conducted on the address bus 22, the access is
As usual in memory 30, the output signal tag hit 26 from tag portion 41 becomes inactive,
Thereby, the Max 32 has the second both terminals, that is,
The terminal connected to the bidirectional terminal of the main memory 30 is selected and connected to the data bus 23.

【0016】データ・バス23への接続時に、リード,
ライト,プログラムまたは消去などの任意の種類のアク
セスを不揮発性メモリ31,データ部分42またはメイ
ン・メモリ30のいずれかに対して行うことができる。
When connecting to the data bus 23, leads,
Any type of access such as write, program or erase can be performed on either the non-volatile memory 31, the data portion 42 or the main memory 30.

【0017】一般に、マイクロコントローラ20は、C
PU21,周辺装置24および冗長メモリ25の形式の
メモリを含め、単一集積回路チップ上で典型的なコンピ
ュータ・システムの3つのメイン・ブロックのそれぞれ
を有する。CPU21は、RISC(reduced instructi
on set computer),CISC(complex instruction set
computer),デジタル信号プロセッサ(DSP)または
任意の他の既知のアーキテクチャを含む、既知のあるい
は従来のCPUアーキテクチャでもよい。CPU21
は、プログラムされた命令を実行し、この命令は、マイ
クロコントローラの観点では、オンチップで格納され、
冗長メモリ25内に格納してもよい。周辺装置24は、
シリアルまたはパラレル入出力ポート、タイマなど、任
意の従来の入出力モジュールでもよい。さらに、冗長メ
モリ25は、動作パラメータを格納したり、CPU21
のためにデータ・スクラッチ・パッド領域を提供でき
る。あるいは、マイクロコントローラ20は、冗長メモ
リ25以外に、異なるクラスのメモリを含んでもよい。
そのような場合、2つのメモリのうち一方は、プログラ
ム命令および動作パラメータを格納するため不揮発性メ
モリでもよく、第2メモリはランダム・アクセス・メモ
リ(RAM)でもよい。マイクロコントローラ20は、
完全に機能するために冗長性を必要とする、欠陥メモリ
・セルを有するいくつかのメモリ部分を有することがあ
る。本発明の冗長メモリ25は、各メモリ部分がメイン
・メモリ30の異なるクラスのメモリを有している場合
にも、利用できる。この場合、メイン・メモリ30は、
動作パラメータを格納したり、あるいは冗長的にCPU
21用のデータ・スクラッチ・パッド領域を提供して、
高精度化を図ることができる。すなわち、メイン・メモ
リ30が、マイクロコントローラ20の内部または外部
に関わらず、オプコードおよびオペランドの大半が格納
されているメモリでない場合、冗長メモリ25は、メモ
リのその部分が以前有していた機能を置換できる。
Generally, the microcontroller 20 has a C
It has each of the three main blocks of a typical computer system on a single integrated circuit chip, including memory in the form of a PU 21, peripherals 24 and redundant memory 25. The CPU 21 is a RISC (reduced instructi)
on set computer), CISC (complex instruction set)
computer), digital signal processor (DSP) or any other known architecture, including known or conventional CPU architectures. CPU 21
Executes programmed instructions, which are stored on-chip from the perspective of the microcontroller,
It may be stored in the redundant memory 25. The peripheral device 24 is
It may be any conventional input / output module such as serial or parallel input / output ports, timers, etc. Further, the redundant memory 25 stores the operation parameter and the CPU 21.
A data scratch pad area can be provided for. Alternatively, the microcontroller 20 may include different classes of memory besides the redundant memory 25.
In such a case, one of the two memories may be a non-volatile memory for storing program instructions and operating parameters and the second memory may be a random access memory (RAM). The microcontroller 20
It may have some memory portions with defective memory cells, which require redundancy to function fully. The redundant memory 25 of the present invention can also be used when each memory portion has a different class of memory than the main memory 30. In this case, the main memory 30
Stores operating parameters, or redundantly CPU
Provide a data scratch pad area for 21
Higher accuracy can be achieved. That is, if main memory 30 is not the memory in which most of the opcodes and operands, whether internal or external to microcontroller 20, are stored, redundant memory 25 provides the functionality that that portion of memory previously had. Can be replaced.

【0018】図1は、マイクロコントローラ・ファミリ
内の一つの可能なマイクロコントローラを示す。同じデ
ータ・プロセッサ・ファミリ内のマイクロコントローラ
は一般にいくつかの異なるオンボード周辺装置を有する
ので、マイクロコントローラ20はこのようなマイクロ
コントローラの一例にすぎない。別の実施例では、マイ
クロコントローラ20は、システム集積モジュール,シ
リアル通信モジュール,タイマ・モジュールまたは他の
冗長メモリなどのいくつかのオンボード周辺装置を含む
ことができ、これらはすべて対応する集積回路ピンを有
することができる。さらに、本実施例では、キャッシュ
40は、アドレス・バス22上で導通されるアドレスを
利用して一致を判定できるが、受信されるアドレスはア
ドレス・バス22の一部にすぎなくてもよい。さらに、
マイクロコントローラ20がアドレス変換またはアドレ
ス暗号化をそれぞれ利用する場合には、受信されるアド
レスは、アドレス・バス22の変換あるいはエンコード
されたもの、もしくはその一部でもよい。最後に、コプ
ロセッサをマイクロコントローラ20内で構成してもよ
い。
FIG. 1 shows one possible microcontroller within the microcontroller family. Microcontroller 20 is only one example of such a microcontroller, as microcontrollers within the same data processor family typically have several different onboard peripherals. In another embodiment, the microcontroller 20 may include some onboard peripherals such as a system integrated module, serial communication module, timer module or other redundant memory, all of which correspond to the corresponding integrated circuit pins. Can have. Further, in the present embodiment, cache 40 can utilize addresses conducted on address bus 22 to determine a match, but the received address need only be a portion of address bus 22. further,
If the microcontroller 20 utilizes address translation or address encryption, respectively, the received address may be the translated or encoded version of the address bus 22, or a portion thereof. Finally, the coprocessor may be configured within the microcontroller 20.

【0019】図1に示す実施例では、メイン・メモリ3
0および不揮発性メモリ31は、フラッシュEEPRO
Mセルからなることに留意されたい。タグ部分41およ
びデータ部分42は、スタティック・ラッチによって構
成される。ただし、他の実施例では、メイン・メモリ3
0は、スタティック・ランダム・アクセス・メモリ(S
RAM),ダイナミック・ランダム・アクセス・メモリ
(DRAM),不揮発性ランダム・アクセス・メモリ
(NVRAM)、プログラマブル・リード・オンリ・メ
モリ(PROM),消去可能PROM(EPROM),
電気的に消去可能PROM(EEPROM)を含む他の
種類のメモリからなってもよい。一般に、メイン・メモ
リ30が不揮発性メモリであるならば、不揮発性メモリ
31は、好ましくは、メイン・メモリ30と制御論理の
共有化を図るために同じ種類のものである。ただし、制
御論理を共有するしないに関わらず、不揮発性メモリ3
1は不揮発性であることが唯一必要である。メイン・メ
モリ30がROMの場合、不揮発性メモリ30をROM
にすることは困難であるが、これは第1に、メイン・メ
モリにおけるどのROM番地が製造時、すなわちテスト
前に、欠陥であるかわからないためであり、第2に、R
OMはプログラム可能でないためである。
In the embodiment shown in FIG. 1, the main memory 3
0 and the non-volatile memory 31 are flash EEPROM
Note that it consists of M cells. The tag portion 41 and the data portion 42 are composed of static latches. However, in another embodiment, the main memory 3
0 is a static random access memory (S
RAM), dynamic random access memory (DRAM), non-volatile random access memory (NVRAM), programmable read only memory (PROM), erasable PROM (EPROM),
It may comprise other types of memory including electrically erasable PROM (EEPROM). In general, if main memory 30 is a non-volatile memory, non-volatile memory 31 is preferably of the same type as main memory 30 for sharing control logic. However, the non-volatile memory 3 may or may not share the control logic.
1 need only be non-volatile. If the main memory 30 is a ROM, the non-volatile memory 30 is a ROM
First, it is difficult to know which ROM address in the main memory is defective at the time of manufacturing, that is, before the test.
This is because the OM is not programmable.

【0020】また、他の実施例では、図1の不揮発性メ
モリ31とキャッシュ40とを単一の回路に統合するこ
とが好ましいこともあることに留意されたい。この場
合、タグ部分41およびデータ部分42は、冗長メモリ
25をパワーダウンしたときにも、値を保持する任意の
従来の不揮発性メモリでもよい。この場合、リセット中
のコンフィギュレーションはバイパスできる。最後に、
他の実施例では、MUX32の機能は、タグ・ヒットが
アクティブにされたかどうかに応じて、データ部分42
または冗長メモリ50をデータ・バス23に接続するた
めだけでもよい。図2は、冗長メモリ50をブロック図
で示し、図1の冗長メモリ25として利用できる冗長メ
モリの特定の例を示す。冗長メモリ50は、アドレス・
バス52に接続された入力端子と、データ・バス54に
接続された双方向端子とを有する。また、冗長メモリ5
0は、「リセット(RESET)」56と記されたリセ
ット入力信号を受ける。冗長メモリ50は、一般に、メ
イン・メモリ(MAIN MEMORY)部60,シャドウ部70,
入出力部80,キャッシュ(CACHE) 90およびシーケン
サ(SEQUENCER) 200を含む。
It should also be noted that in other embodiments it may be preferable to combine the non-volatile memory 31 of FIG. 1 and the cache 40 into a single circuit. In this case, the tag portion 41 and the data portion 42 may be any conventional non-volatile memory that retains a value when the redundant memory 25 is powered down. In this case, the configuration being reset can be bypassed. Finally,
In another embodiment, the function of MUX 32 is that the data portion 42 depends on whether a tag hit was activated.
Alternatively, it may be only for connecting the redundant memory 50 to the data bus 23. 2 shows a block diagram of redundant memory 50, showing a specific example of a redundant memory that can be used as redundant memory 25 of FIG. The redundant memory 50 has an address
It has an input terminal connected to bus 52 and a bidirectional terminal connected to data bus 54. In addition, the redundant memory 5
0 receives a reset input signal labeled "RESET" 56. The redundant memory 50 is generally a main memory (MAIN MEMORY) unit 60, a shadow unit 70,
It includes an input / output unit 80, a cache 90 and a sequencer 200.

【0021】メイン・メモリ部60は、ロウ・デコーダ
(ROW DECODER) 61,メモリ・アレイ(MEMORY ARRAY)6
2およびカラム・デコーダ(COLUMN DECODER)63を含
む。ロウ・デコーダ61は、アドレス・バス52上で導
通される信号の一部を受ける入力端子と、出力端子とを
有する。メモリ・アレイ62は、ロウ・デコーダ61の
出力端子に接続された入力端子と、双方向データ端子と
を有する。カラム・デコーダ63は、「グローバル・デ
ータ・ライン・バス(GLOBAL DATA LINE BUS)」59と記
されたデータ・ラインのセットに接続された第1双方向
端子と、リセット制御信号56を受ける第1入力端子
と、メモリ・アレイ62のデータ端子に接続された第2
双方向端子と、アドレス・バス52上で導通される信号
の一部を受ける第2入力端子とを有する。
The main memory section 60 is a row decoder.
(ROW DECODER) 61, Memory array (MEMORY ARRAY) 6
2 and a column decoder (COLUMN DECODER) 63. Row decoder 61 has an input terminal for receiving a part of a signal conducted on address bus 52, and an output terminal. Memory array 62 has an input terminal connected to the output terminal of row decoder 61, and a bidirectional data terminal. The column decoder 63 has a first bidirectional terminal connected to a set of data lines labeled "GLOBAL DATA LINE BUS" 59, and a first bidirectional terminal that receives a reset control signal 56. A second terminal connected to the input terminal and the data terminal of the memory array 62
It has a bidirectional terminal and a second input terminal for receiving a portion of the signal conducted on address bus 52.

【0022】シャドウ部70は、不揮発性シャドウ・メ
モリ(NON-VOLATILE SHADOW MEMORY)71およびシャドウ
・デコーダ(SHADOW DECODER)72を含む。不揮発性シャ
ドウ・メモリ71は、リセット56を受ける入力端子
と、双方向端子とを有する。シャドウ・デコーダ72
は、アドレス・バス52上で導通される信号の一部を受
ける第1入力端子と、タグ・ヒット(TAG HIT)
制御信号を受ける第2入力端子と、グローバル・データ
・ライン・バス59に接続された第1双方向端子と、不
揮発性シャドウ・メモリ71の双方向端子に接続された
第2双方向端子とを有する。
The shadow section 70 includes a non-volatile shadow memory (NON-VOLATILE SHADOW MEMORY) 71 and a shadow decoder (SHADOW DECODER) 72. Nonvolatile shadow memory 71 has an input terminal for receiving reset 56, and a bidirectional terminal. Shadow decoder 72
Is a first input terminal for receiving a part of the signal conducted on the address bus 52, and a tag hit (TAG HIT).
A second input terminal for receiving the control signal, a first bidirectional terminal connected to the global data line bus 59, and a second bidirectional terminal connected to the bidirectional terminal of the nonvolatile shadow memory 71. Have.

【0023】入出力部80は、メイン・メモリ60とキ
ャッシュ90との間でマルチプレクサ機能を提供し、内
部I/O MUX部81,プログラム・ロード(PROGRAM
LOAD)部82およびセンス増幅器(SENSE AMP) 83を含
む。内部I/O MUX部81は、リセット制御信号5
6を受ける第1入力端子と、タグ・ヒット制御信号62
を受ける第2入力端子と、第3入力端子と、出力端子
と、データ・バス54に接続された第1双方向端子と、
第2双方向端子とを有する。プログラム・ロード部82
は、内部I/O MUX部81の出力端子に接続された
入力端子と、グローバル・データ・ライン・バス59に
接続された出力端子とを有する。センス増幅器83は、
グローバル・データ・ライン・バス59に接続された入
力端子と、内部I/O MUX部81の第3入力端子に
接続された出力端子とを有する。
The input / output unit 80 provides a multiplexer function between the main memory 60 and the cache 90, and has an internal I / O MUX unit 81 and a program load (PROGRAM).
LOAD) section 82 and sense amplifier (SENSE AMP) 83. The internal I / O MUX unit 81 uses the reset control signal 5
6, the first input terminal receiving 6 and the tag hit control signal 62
A second input terminal for receiving, a third input terminal, an output terminal, and a first bidirectional terminal connected to the data bus 54,
A second bidirectional terminal. Program load section 82
Has an input terminal connected to the output terminal of the internal I / O MUX section 81 and an output terminal connected to the global data line bus 59. The sense amplifier 83 is
It has an input terminal connected to the global data line bus 59 and an output terminal connected to the third input terminal of the internal I / O MUX section 81.

【0024】キャッシュ90は、リセット制御信号56
を受ける第1入力端子と、アドレス・バス52上で導通
される信号の一部を受ける第2入力端子と、内部I/O
MUX部81の第2双方向端子に接続された双方向端
子と、タグ・ヒット出力信号62を与える出力端子とを
有する。キャッシュ90は、「冗長タグ・イネーブル(R
EDUNDANCY TAG ENABLE (RTE)) 」101,比較器(COMPA
RATOR)102および冗長データ部分(REDUNDANT DATA PO
RTION)91と記された部分を含む。キャッシュ90は、
冗長データを格納する複数のエントリを含んでもよい。
図2には、RTEフィールド101,比較器フィールド
102および冗長データ・フィールド91を有する代表
的なエントリを示す。RTEフィールド101は、出力
を与える出力端子を有する。比較器102は、RTE1
01の出力端子から制御を受ける第1入力端子と、アド
レス・バス52上で導通される信号の一部を受ける第2
入力端子と、タグ・ヒット信号62を与える出力とを有
する。センス増幅器83は、「グローバル・データ・ラ
イン・バス」59と記されたバスに接続された入力端子
を有する。冗長性を必要としない場合には、比較器10
2の部分は非アクティブ状態に保持され、キャッシュ9
0の電力消費を実質的に省くことに留意されたい。
The cache 90 has a reset control signal 56.
A first input terminal for receiving a portion of a signal conducted on the address bus 52, and an internal I / O
It has a bidirectional terminal connected to the second bidirectional terminal of the MUX unit 81, and an output terminal for providing the tag hit output signal 62. The cache 90 stores "redundant tag enable (R
EDUNDANCY TAG ENABLE (RTE) "101, comparator (COMPA
RATOR) 102 and redundant data part (REDUNDANT DATA PO
RTION) 91 is included. The cache 90 is
It may include multiple entries that store redundant data.
FIG. 2 shows a typical entry having an RTE field 101, a comparator field 102 and a redundant data field 91. The RTE field 101 has an output terminal that provides an output. Comparator 102 is RTE1
A first input terminal controlled by the output terminal 01 and a second input terminal receiving a portion of the signal conducted on the address bus 52.
It has an input terminal and an output for providing a tag hit signal 62. Sense amplifier 83 has an input terminal connected to a bus labeled "Global Data Line Bus" 59. If no redundancy is required, the comparator 10
Part 2 is kept inactive and cache 9
Note that virtually zero power consumption is saved.

【0025】シーケンサ200は、リセット制御信号5
6を受ける入力端子と、「Nビット(N BITS)」と記され
た所定のビット数をアドレス・バス52上に与える第1
出力端子とを有し、アドレス・バス52は、ロウ・デコ
ーダ・ブロック61,カラム・デコーダ・ブロック6
3,シャドウ・デコーダ72およびキャッシュに内部接
続される。シーケンサ200内には、リセット制御信号
56がアクティブの際に、Nビット出力を与えるカウン
タ201がある。さらに、シーケンサ200は、本明細
書では説明しないが、冗長メモリ50内の各ブロックに
他の制御信号を与える。
The sequencer 200 uses the reset control signal 5
A first input terminal for receiving 6 and a predetermined number of bits described as "N BITS" on the address bus 52.
The address bus 52 has a row decoder block 61, a column decoder block 6 and an output terminal.
3, internally connected to shadow decoder 72 and cache. Within the sequencer 200 is a counter 201 that provides an N-bit output when the reset control signal 56 is active. In addition, sequencer 200 provides other control signals to each block within redundant memory 50, which is not described herein.

【0026】動作時、リセット状態中に、カウンタ20
1は、制御,アドレスおよびデータ情報を不揮発性シャ
ドウ・タグおよびデータ部分71から転送させて、RT
Eフィールド101,比較器フィールド102および冗
長データ・フィールド91にそれぞれ格納させるシーケ
ンスを発生する。具体的には、冗長タグ・イネーブル制
御ビットは、RTE部101にロードされ、メモリ・ア
レイ62における欠陥メモリ・ワードのパッチ・アドレ
スは、比較器フィールド102にロードされる。また、
メモリ・アレイ62が不揮発性メモリであるならば、欠
陥メモリ・ワードに関連するデータは、冗長データ・フ
ィールド91にロードしてもよい。不揮発性シャドウ・
メモリ71からシャドウ・デコーダ72までのこの情報
は、グローバル・データ・ライン・バス59に与えら
れ、センス増幅器83によって変換され、また内部I/
O MUX部81を介して特定の不揮発性メモリ・キャ
ッシュ・フィールドに結合される。
In operation, during the reset state, the counter 20
1 transfers control, address and data information from the non-volatile shadow tag and data portion 71 to the RT
A sequence for storing in the E field 101, the comparator field 102 and the redundant data field 91 is generated. Specifically, the redundant tag enable control bits are loaded into RTE section 101 and the patch address of the defective memory word in memory array 62 is loaded into comparator field 102. Also,
If memory array 62 is a non-volatile memory, the data associated with the defective memory word may be loaded into redundant data field 91. Non-volatile shadow
This information from the memory 71 to the shadow decoder 72 is provided on the global data line bus 59, converted by the sense amplifier 83 and also the internal I / O.
It is coupled to a particular non-volatile memory cache field via the O MUX portion 81.

【0027】リセット状態後に、RTEフィールド10
1が比較器102をイネーブルすると、アドレス比較器
出力であるタグ・ヒット信号62は、アドレス・バス5
2上で導通されたアドレスが比較器101に格納された
アドレス・フィールドと一致した場合に、アクティブに
される。冗長データ・フィールド91は、タグ・ヒット
信号62がアクティブにされた場合に、メモリ・アレイ
62内の欠陥アレイ番地の代わりに任意のアレイ・オペ
レーションについてアクセスされる。冗長データ・アク
セスはメイン・メモリ部60のアクセスと並行して行わ
れるので、冗長データ・アクセスはアクセス時間を増加
しない。
After the reset state, the RTE field 10
When 1 enables the comparator 102, the address comparator output, the tag hit signal 62, causes the address bus 5 to
It is activated when the address conducted on 2 matches the address field stored in the comparator 101. Redundant data field 91 is accessed for any array operation instead of the defective array address in memory array 62 when tag hit signal 62 is activated. Since the redundant data access is performed in parallel with the access to the main memory unit 60, the redundant data access does not increase the access time.

【0028】冗長メモリ50のプログラミングおよび消
去シーケンス中に、冗長メモリ50が不揮発性メモリの
場合、ランダム制御論理(RCL:random control log
ic)は、当技術分野で周知の方法によって、プログラミ
ング電圧および制御信号を冗長メモリ50内の適切なセ
クションに対してアクティブにする。ここでは図示しな
いが、通常動作中にメイン・メモリ部60をプログラム
するために用いられる同じRCL回路は、テスト・モー
ド中に不揮発性シャドウ・メモリ71をプログラムおよ
び消去するために用いられる。
During the programming and erasing sequence of the redundant memory 50, if the redundant memory 50 is a non-volatile memory, a random control logic (RCL) is used.
ic) activates the programming voltage and control signals to the appropriate section in redundant memory 50 by methods well known in the art. Although not shown here, the same RCL circuit used to program the main memory section 60 during normal operation is used to program and erase the non-volatile shadow memory 71 during test mode.

【0029】図2のキャッシュ90は、全部で4つのエ
ントリを有する2方向アソシアティブ・キャッシュ(two
-way associative cache) である。ただし、キャッシュ
90は、ディレクト・マップド・キャッシュ(direct ma
pped cache) ,フル・アソシアティブ・キャッシュ(ful
ly associative cache) または任意の数でアソシアティ
ブなキャッシュを含む任意の他の種類のキャッシュでも
よいことが理解される。
The cache 90 of FIG. 2 is a two-way associative cache (two) with a total of four entries.
-way associative cache). However, the cache 90 is a direct mapped cache (direct ma
pped cache), full associative cache (ful
It is understood that it may be a ly associative cache) or any other type of cache, including any number of associative caches.

【0030】既存の相補型金属酸化物半導体(CMO
S)回路設計手法を利用して、不揮発性メモリ・タグ
(NVMT)を有する大半の領域の影響は、図示しない
が、シーケンサ200内のランダム制御論理(RCL)
にあり、ここでNVMTあたり約10%の増加が得られ
る。RCLは、128Kバイト・フラッシュ領域全体に
おける約8%を占めると考えられる。128Kバイト・
フラッシュEEPROMの領域の増加は、NVMTあた
り約0.5%である。これとは対照的に、他の既知の冗
長方法では、128Kバイト・フラッシュEEPROM
アレイを利用した場合には、ロウあたり約4%,カラム
あたり約6%およびデータ構造あたり約8%の領域の増
加を必要とする。
Existing complementary metal oxide semiconductor (CMO)
S) Using circuit design techniques, the effect of most areas with non-volatile memory tags (NVMT) is not shown, but random control logic (RCL) within sequencer 200.
Where an increase of about 10% per NVMT is obtained. RCL is believed to occupy approximately 8% of the total 128 Kbyte flash area. 128K bytes
The increase in flash EEPROM area is about 0.5% per NVMT. In contrast, another known redundancy method is a 128 Kbyte flash EEPROM.
Utilizing arrays requires about 4% more area per row, about 6% per column and about 8% more area per data structure.

【0031】これらの推定パーセント値に適用した場
合、欠陥密度および歩留り情報について、標準的な集積
回路製造テキストブックを参照しなければならない。使
用すべき最適NVMT数を選択するトレードオフでは、
ランダム制御論理に組み込まれる設計の複雑さと、NV
MTがもたらすシステムの改善の両方を考慮すべきであ
る。
When applied to these estimated percentiles, standard integrated circuit manufacturing textbooks must be consulted for defect density and yield information. The trade-off to select the optimal number of NVMTs to use is
NV and the design complexity embedded in the random control logic
Both the system improvements that MT brings should be considered.

【0032】以上より、アクセス時間を改善し、領域を
低減し、また既知の方法に比較して、欠陥メモリといっ
しょに交換される正常なセルの数を低減する、冗長メモ
リが提供されたことが明らかであろう。
Thus, a redundant memory is provided which improves access time, reduces area, and reduces the number of normal cells exchanged with defective memory as compared to known methods. Will be clear.

【0033】本発明の一つの様相では、キャッシュ(4
0,90)のデータ部分(42,91)およびメイン・
メモリ(30,60)は、同じクラスのメモリである。
In one aspect of the invention, the cache (4
0,90) data part (42,91) and main
The memory (30, 60) is a memory of the same class.

【0034】本発明の別の様相では、メイン・メモリ
(60)は、ロウ・デコーダ(61),カラム・デコー
ダ(63)およびメモリ・アレイ(62)によって構成
される。ロウ・デコーダ(61)は、アドレスの第1部
分を受ける入力を有し、アドレス入力の第1部分に応答
して、複数のロウのうち選択されたロウをアクティブに
する。カラム・デコーダ(63)は、アドレスの第2部
分を受ける入力を有し、メイン・メモリ(60)のデー
タ端子を結合するため複数のカラムのうち少なくとも2
つを選択する。メモリ・アレイ(62)は、複数のメモ
リ・セルを有し、各メモリ・セルは複数のロウのうちの
一つと、複数のカラムのうちの一つとに結合される。
In another aspect of the invention, the main memory (60) is composed of a row decoder (61), a column decoder (63) and a memory array (62). The row decoder (61) has an input for receiving the first portion of the address, and activates a selected row of the plurality of rows in response to the first portion of the address input. The column decoder (63) has an input for receiving a second portion of the address, and at least two of the plurality of columns for coupling the data terminals of the main memory (60).
Choose one. The memory array (62) has a plurality of memory cells, each memory cell being coupled to one of the plurality of rows and one of the plurality of columns.

【0035】本発明のさらに別の様相では、カラム・デ
コーダ(63)は、アドレス入力の第2部分に応答し
て、複数の第2メモリ・セルをさらに選択し、ここで第
1メモリ・セルおよび複数の第2メモリ・セルは、複数
のロウの一つの上でデータ・ワードを形成し、また複数
のロウのそれぞれは複数のデータ・ワードをなす。
In yet another aspect of the invention, the column decoder (63) further selects a plurality of second memory cells in response to the second portion of the address input, where the first memory cells are selected. And a plurality of second memory cells form a data word on one of the plurality of rows, and each of the plurality of rows form a plurality of data words.

【0036】本発明のさらに別の様相では、不揮発性メ
モリ(31,70)は、冗長メモリ(25,50)の通
常動作時にはプログラム可能であることを特徴とする。
In yet another aspect of the invention, the non-volatile memory (31, 70) is programmable during normal operation of the redundant memory (25, 50).

【0037】本発明の別の様相では、不揮発性メモリ
(31,70)は、冗長メモリ(25,50)のテスト
・モード中にプログラム可能であることを特徴とする。
Another aspect of the invention is characterized in that the non-volatile memory (31, 70) is programmable during the test mode of the redundant memory (25, 50).

【0038】本発明のさらに別の様相では、キャッシュ
(40)はさらに冗長タグ・イネーブル・フィールド
(RTE)(101)によって構成され、このRTE
は、その論理状態に応答して、パッチ・アドレスと入力
アドレスとの比較をイネーブルする。
In yet another aspect of the invention, the cache (40) is further configured with a redundant tag enable field (RTE) (101), which RTE
Enables the comparison of the patch address with the input address in response to its logic state.

【0039】本発明のさらに別の様相では、タグ部分
(102)は、パッチ・アドレスを受ける第1入力と、
入力アドレスを受ける第2入力と、タグ・ヒット信号
(26)を与える出力とを有する比較器からなる。
In yet another aspect of the invention, the tag portion (102) has a first input for receiving a patch address,
It consists of a comparator having a second input for receiving the input address and an output for providing the tag hit signal (26).

【0040】本発明の別の様相では、比較器は、冗長タ
グ・イネーブル・フィールド(101)に結合されたイ
ネーブル入力をさらに有する。
In another aspect of the invention, the comparator further has an enable input coupled to the redundant tag enable field (101).

【0041】本発明のさらに別の様相では、メイン・メ
モリ(30,60)は、キャッシュ・メモリであること
を特徴とする。
According to yet another aspect of the present invention, the main memory (30, 60) is a cache memory.

【0042】本発明のさらに別の様相では、データ・プ
ロセッサ(20)は、マイクロコントローラであること
を特徴とし、アドレス・バス(22,52)およびデー
タ・バス(23,54)に結合された周辺装置(24)
をさらに含んで構成される。本発明のさらに別の様相で
は、テスト・モード中に検出および格納する段階は、メ
イン・メモリ(30,60)のプローブ・テスト中に検
出および格納する段階をさらに含んで構成される。
In yet another aspect of the invention, the data processor (20) is a microcontroller and is coupled to the address bus (22,52) and the data bus (23,54). Peripherals (24)
Is further included. In yet another aspect of the invention, the step of detecting and storing during the test mode further comprises the step of detecting and storing during a probe test of the main memory (30, 60).

【0043】本発明について好適な実施例の観点から説
明してきたが、当業者であれば、発明の精神から逸脱せ
ずに修正および変形例が可能なことが理解される。例え
ば、メイン・メモリ30は、SRAM,DRAM,RO
M,PROM,EPROM,EEPROM,FLASH
EPROM,NVRAMなど任意の種類のメモリでも
よい。また、本発明によるマイクロコントローラは、C
ISC,RISC,DSPなど任意の既知のCPUアー
キテクチャを冗長メモリ25といっしょに利用してもよ
く、またさまざまな周辺装置を含んでもよい。従って、
本発明は特許請求の範囲内の一切のこのような変形例お
よび修正を網羅するものとする。
Although the present invention has been described in terms of a preferred embodiment, those skilled in the art will appreciate that modifications and variations can be made without departing from the spirit of the invention. For example, the main memory 30 includes SRAM, DRAM, RO
M, PROM, EPROM, EEPROM, FLASH
Any type of memory such as EPROM or NVRAM may be used. Further, the microcontroller according to the present invention includes a C
Any known CPU architecture such as ISC, RISC, DSP may be utilized with redundant memory 25 and may include various peripherals. Therefore,
The invention is intended to cover all such variations and modifications within the scope of the claims.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明による冗長メモリを有するマイクロコン
トローラの形式のデータ・プロセッサを示すブロック図
である。
FIG. 1 is a block diagram showing a data processor in the form of a microcontroller with redundant memory according to the invention.

【図2】図1の冗長メモリとして利用できる冗長メモリ
を示すブロック図である。
FIG. 2 is a block diagram showing a redundant memory that can be used as the redundant memory in FIG.

【符号の説明】[Explanation of symbols]

20 マイクロコントローラ 21 中央処理装置(CPU) 22 アドレス・バス 23 データ・バス 24 周辺装置 25 冗長メモリ 30 メイン・メモリ 31 不揮発性メモリ 32 マルチプレクサ(MUX) 40 キャッシュ 41 タグ部分 42 データ部分 50 冗長メモリ 52 アドレス・バス 54 データ・バス 56 リセット 60 メイン・メモリ部 61 ロウ・デコーダ 62 メモリ・アレイ 63 カラム・デコーダ 70 シャドウ部 71 不揮発性シャドウ・メモリ 72 シャドウ・デコーダ 80 入出力部 81 内部I/O MUX部 82 プログラム・ロード部 83 センス増幅器 90 シーケンサ 91 冗長データ部分 101 冗長タグ・イネーブル(RTE) 102 比較器 200 シーケンサ 201 カウンタ 20 Micro Controller 21 Central Processing Unit (CPU) 22 Address Bus 23 Data Bus 24 Peripheral Device 25 Redundant Memory 30 Main Memory 31 Nonvolatile Memory 32 Multiplexer (MUX) 40 Cache 41 Tag Part 42 Data Part 50 Redundant Memory 52 Address Bus 54 data bus 56 reset 60 main memory unit 61 row decoder 62 memory array 63 column decoder 70 shadow unit 71 non-volatile shadow memory 72 shadow decoder 80 input / output unit 81 internal I / O MUX unit 82 Program load section 83 Sense amplifier 90 Sequencer 91 Redundant data section 101 Redundant tag enable (RTE) 102 Comparator 200 Sequencer 201 Counter

───────────────────────────────────────────────────── フロントページの続き (72)発明者 トーマス・ジェウ アメリカ合衆国テキサス州オースチン、ナ ンバー1006、ブラフ・スプリングス・ロー ド6503 ─────────────────────────────────────────────────── ─── Continued Front Page (72) Inventor Thomas Jew Bluff Springs Road 6503, Number 1006, Number Austin, Texas, USA

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 冗長メモリ(25,50)であって:複
数のロウおよび複数のカラムと、アドレス入力と、デー
タ端子とを有するメイン・メモリ(30,60)であっ
て、前記アドレス入力にて受けたアドレスに応答して、
前記メイン・メモリ(30,60)は第1メモリ・セル
を選択し、前記第1メモリ・セルは、選択されたロウの
一部を表す、メイン・メモリ(30,60);パッチ・
アドレスを格納する番地を有する不揮発性メモリ(3
1,70);前記不揮発性メモリ(31,70)に結合
され、前記パッチ・アドレスを格納するタグ部分(4
1,100)と、前記パッチ・アドレスに対応するデー
タを格納し、データ端子に結合されたデータ部分(4
2,91)とを有するキャッシュ(40,90);およ
び入力アドレスが前記キャッシュ(40,90)の前記
パッチ・アドレスと一致した場合に、外部データ・バス
(23,54)を前記キャッシュ(40,90)の前記
データ端子に結合し、前記入力アドレスが前記メイン・
メモリ(30,60)の範疇にある場合に、前記メイン
・メモリ(30,60)の前記第1メモリ・セルを前記
外部データ・バス(23,54)に結合するマルチプレ
クサ(32,80);によって構成されることを特徴と
する冗長メモリ(25,50)。
A redundant memory (25, 50): a main memory (30, 60) having a plurality of rows and a plurality of columns, an address input, and a data terminal, wherein the address input Responding to the received address,
The main memory (30, 60) selects a first memory cell, the first memory cell representing a portion of the selected row, the main memory (30, 60); a patch
A non-volatile memory (3 having an address for storing an address
1, 70); a tag portion (4) coupled to the non-volatile memory (31, 70) and storing the patch address.
1, 100) and data corresponding to the patch address and connected to the data terminal (4)
2, 91) and an external data bus (23, 54) on the cache (40, 90) when the input address matches the patch address of the cache (40, 90). , 90) and the input address is the main
A multiplexer (32,80) for coupling the first memory cell of the main memory (30,60) to the external data bus (23,54) when in the category of a memory (30,60); Redundant memory (25, 50) characterized by being configured by:
【請求項2】 冗長メモリ(25,50)であって:複
数のロウおよび複数のカラムと、アドレス入力と、デー
タ端子とを有するメイン・メモリ(30,60)であっ
て、前記アドレス入力にて受けたアドレスに応答して、
前記メイン・メモリ(30,60)は第1メモリ・セル
を選択し、第1メモリ・セルは選択されたロウの一部を
表す、メイン・メモリ(30,60);パッチ・アドレ
スを受けて格納するタグ部分(41,100)と、前記
パッチ・アドレスに対応するデータを格納し、データ端
子に結合された冗長データ部分(42,91)とを有す
るキャッシュ(40,90);および入力アドレスが前
記キャッシュ(40,90)の前記パッチ・アドレスと
一致した場合に、外部データ・バス(23,54)を前
記キャッシュ(40,90)の前記データ端子に結合
し、前記入力アドレスが前記メイン・メモリの範疇にあ
る場合、前記メイン・メモリ(30,60)の前記第1
メモリ・セルを前記外部データ・バス(23,54)に
結合するマルチプレクサ(32,80); によって構
成されることを特徴とする冗長メモリ(25,50)。
2. A redundant memory (25, 50) comprising: a main memory (30, 60) having a plurality of rows and a plurality of columns, an address input, and a data terminal, wherein the address input Responding to the received address,
The main memory (30, 60) selects a first memory cell, the first memory cell representing a part of the selected row, the main memory (30, 60); receiving a patch address A cache (40, 90) having a tag portion (41, 100) for storing and a redundant data portion (42, 91) for storing data corresponding to the patch address and coupled to a data terminal; and an input address If it matches the patch address of the cache (40, 90), the external data bus (23, 54) is coupled to the data terminal of the cache (40, 90), and the input address is the main address. The first of the main memory (30, 60) if it is in the memory category
Redundant memory (25, 50) characterized by a multiplexer (32, 80) coupling a memory cell to said external data bus (23, 54).
【請求項3】メイン・メモリ(30,60)に対して冗
長性を提供する方法であって:前記メイン・メモリ(3
0,60)において欠陥メモリ・セルを検出する段階;
前記欠陥メモリ・セルに対応するパッチ・アドレスをキ
ャッシュ(40,90)のタグ部分(41,100)に
格納する段階;入力アドレスを受ける段階;前記パッチ
・アドレスを前記入力アドレスと比較する段階;前記パ
ッチ・アドレスが前記入力アドレスと一致した場合に、
前記キャッシュ(40,90)のデータ部分(42,9
1)をデータ・バス(23,54)に結合する段階;お
よび前記パッチ・アドレスが前記入力アドレスと一致し
なかった場合に、前記入力アドレスが前記メイン・メモ
リ(30,60)の範疇にあるときに、前記メイン・メ
モリ(30,60)のデータ端子を前記データ・バス
(23,54)に結合する段階;によって構成されるこ
とを特徴とする方法。
3. A method for providing redundancy to a main memory (30,60) comprising: the main memory (3).
Detecting defective memory cells at 0, 60);
Storing a patch address corresponding to the defective memory cell in the tag portion (41, 100) of the cache (40, 90); receiving an input address; comparing the patch address with the input address; If the patch address matches the input address,
The data portion (42, 9) of the cache (40, 90)
1) to the data bus (23, 54); and if the patch address does not match the input address, the input address is in the category of the main memory (30, 60). Sometimes connecting the data terminals of the main memory (30, 60) to the data bus (23, 54).
【請求項4】 データ・プロセッサであって:アドレス
・バス(22,52);データ・バス(23,54);
前記アドレス・バス(22,52)および前記データ・
バス(23,54)に結合され、命令を処理してデータ
にアクセスする中央処理装置(21);および前記アド
レス・バス(22,52)および前記データ・バス(3
0,60)に結合された冗長メモリ(25,50)であ
って、前記冗長メモリは:複数のロウおよび複数のカラ
ムと、アドレス入力と、データ端子とを有するメイン・
メモリ(30,60)であって、前記アドレス入力にて
受けたアドレスに応答して、前記メイン・メモリ(3
0,60)は、第1メモリ・セルを選択し、前記第1メ
モリ・セルは選択されたロウの一部を表す、メイン・メ
モリ(30,60)と;パッチ・アドレスを格納するタ
グ部分(41,100)と、前記パッチ・アドレスに対
応するデータを格納し、データ端子に結合されたデータ
部分(42,91)とを有するキャッシュ(40,9
0)と:入力アドレスが前記キャッシュ(40,90)
の前記パッチ・アドレスと一致した場合に、前記データ
・バス(23,54)を前記キャッシュ(40,90)
の前記データ端子に結合し、前記データ入力アドレスが
前記メイン・メモリ(30,60)の範疇にある場合
に、前記メイン・メモリ(30,60)の前記第1メモ
リ・セルを前記データ・バス(23,54)に結合する
マルチプレクサ(32,80)と;からなる冗長メモリ
(25,50);によって構成されることを特徴とする
データ・プロセッサ(20)。
4. A data processor comprising: an address bus (22, 52); a data bus (23, 54);
The address bus (22, 52) and the data
A central processing unit (21) coupled to the buses (23, 54) for processing instructions and accessing data; and the address buses (22, 52) and the data buses (3).
0,60) redundant memory (25,50), said redundant memory comprising: a main memory having a plurality of rows and a plurality of columns, an address input and a data terminal.
A memory (30, 60) for responding to an address received at the address input,
0,60) selects a first memory cell, said first memory cell representing a part of the selected row; and a main memory (30,60); a tag portion storing a patch address. (41,100) and a cache (40,9) having data corresponding to the patch address and having a data portion (42,91) coupled to a data terminal.
0) and: the input address is the cache (40, 90)
The data bus (23, 54) to the cache (40, 90) when it matches the patch address of
The first memory cell of the main memory (30, 60) is coupled to the data bus of the main memory (30, 60) when the data input address is in the category of the main memory (30, 60). A data processor (20) comprising a redundant memory (25, 50) consisting of a multiplexer (32, 80) coupled to (23, 54).
【請求項5】 メイン・メモリ(30,60)に対して
冗長性を提供する方法であって:メイン・メモリ(3
0,60)において欠陥メモリ・セルを検出する段階;
前記欠陥メモリ・セルに対応するパッチ・アドレスを不
揮発性メモリ(31,70)に格納する段階;前記パッ
チ・アドレスをキャッシュ(40,90)のタグ部分
(41,100)にロードする段階;入力アドレスを受
ける段階;前記パッチ・アドレスを前記入力アドレスと
比較する段階;前記パッチ・アドレスが前記入力アドレ
スと一致した場合に、前記キャッシュ(40,90)の
データ部分(42,91)をデータ・バス(23,5
4)に結合する段階;および前記パッチ・アドレスが前
記入力アドレスと一致しなかった場合に、前記入力アド
レスが前記メイン・メモリ(30,60)の範疇にある
ときに、前記メイン・メモリ(30,60)のデータ端
子を前記データ・バス(23,54)に結合する段階;
によって構成されることを特徴とする方法。
5. A method for providing redundancy to a main memory (30, 60) comprising: main memory (3).
Detecting defective memory cells at 0, 60);
Storing the patch address corresponding to the defective memory cell in the non-volatile memory (31, 70); loading the patch address into the tag portion (41, 100) of the cache (40, 90); Receiving an address; comparing the patch address with the input address; storing the data portion (42, 91) of the cache (40, 90) when the patch address matches the input address; Bus (23,5
4); and the main memory (30, 60) when the input address is in the category of the main memory (30, 60) if the patch address does not match the input address. , 60) of the data terminal to the data bus (23, 54);
A method characterized by comprising:
JP8355613A 1995-12-26 1996-12-24 Redundant memory and data processor using redundant memory Pending JPH09185557A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US57962295A 1995-12-26 1995-12-26
US579622 1995-12-26

Publications (1)

Publication Number Publication Date
JPH09185557A true JPH09185557A (en) 1997-07-15

Family

ID=24317666

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8355613A Pending JPH09185557A (en) 1995-12-26 1996-12-24 Redundant memory and data processor using redundant memory

Country Status (1)

Country Link
JP (1) JPH09185557A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007264B1 (en) * 2003-05-02 2006-02-28 Xilinx, Inc. System and method for dynamic reconfigurable computing using automated translation
CN114355791A (en) * 2021-12-24 2022-04-15 重庆长安汽车股份有限公司 Simulation test method, system and computer readable storage medium for intelligent driving redundancy function

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007264B1 (en) * 2003-05-02 2006-02-28 Xilinx, Inc. System and method for dynamic reconfigurable computing using automated translation
CN114355791A (en) * 2021-12-24 2022-04-15 重庆长安汽车股份有限公司 Simulation test method, system and computer readable storage medium for intelligent driving redundancy function
CN114355791B (en) * 2021-12-24 2023-06-02 重庆长安汽车股份有限公司 Simulation test method, system and storage medium for intelligent driving redundancy function

Similar Documents

Publication Publication Date Title
JP3274332B2 (en) Controller / mass memory embedded semiconductor integrated circuit device, test method and use method thereof, and semiconductor integrated circuit device and test method therefor
US7958439B2 (en) Defective memory block remapping method and system, and memory device and processor-based system using same
US5757690A (en) Embedded ROM with RAM valid bits for fetching ROM-code updates from external memory
US5644699A (en) Memory apparatus and data processor using the same
US5970013A (en) Adaptive addressable circuit redundancy method and apparatus with broadcast write
US7633800B2 (en) Redundancy scheme in memory
US6438706B1 (en) On chip error correction for devices in a solid state drive
US5561627A (en) Nonvolatile semiconductor memory device and data processor
US6922798B2 (en) Apparatus and methods for providing enhanced redundancy for an on-die cache
US20020120826A1 (en) Method and apparatus for reconfigurable memory
US7136986B2 (en) Apparatus and method for controlling flash memories
US6678790B1 (en) Microprocessor chip having a memory that is reconfigurable to function as on-chip main memory or an on-chip cache
US20030061545A1 (en) Method and apparatus for providing test mode access to an instruction cache and microcode rom
US6798701B2 (en) Semiconductor integrated circuit device having data input/output configuration variable
US8250418B2 (en) Test mode for parallel load of address dependent data to enable loading of desired data backgrounds
US6011733A (en) Adaptive addressable circuit redundancy method and apparatus
US6192486B1 (en) Memory defect steering circuit
US6240532B1 (en) Programmable hit and write policy for cache memory test
US20030225987A1 (en) Software command sequence for optimized power consumption
US7065694B2 (en) Adaptive runtime repairable entry register file
JPH09185557A (en) Redundant memory and data processor using redundant memory
US5479609A (en) Solid state peripheral storage device having redundent mapping memory algorithm
US7254746B1 (en) Method and apparatus for using a fault tolerant memory in processor testing and design
EP0923029A1 (en) Redundant memory, data processor using same, and method therefor
WO1995030227A1 (en) A method and apparatus for testing a memory circuit with parallel block write operation