DE10115717A1 - Memory redundant system uses a contents addressable memory to store addresses of defect cells - Google Patents
Memory redundant system uses a contents addressable memory to store addresses of defect cellsInfo
- Publication number
- DE10115717A1 DE10115717A1 DE2001115717 DE10115717A DE10115717A1 DE 10115717 A1 DE10115717 A1 DE 10115717A1 DE 2001115717 DE2001115717 DE 2001115717 DE 10115717 A DE10115717 A DE 10115717A DE 10115717 A1 DE10115717 A1 DE 10115717A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- address
- cam
- data
- redundant
- 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.)
- Withdrawn
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
Landscapes
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
Description
Die Erfindung bezieht sich allgemein auf Computerspeicher systeme. Die Erfindung bezieht sich insbesondere auf Ver fahren und Vorrichtungen zum Speichern und Verarbeiten von redundanten Daten.The invention relates generally to computer memory systems. The invention particularly relates to Ver drive and devices for storing and processing redundant data.
Während der Herstellung von Speichervorrichtungen können eine oder mehrere spezifische Speicherpositionen innerhalb einer einzigen Speichervorrichtung defekt werden. Wenn ein Mikroprozessor versucht, Daten zu einer defekten Speicher position zu schreiben, dann werden die Daten gespeichert oder nicht gespeichert. Wenn beispielsweise die defekte Po sition dauerhaft in den "1"-Zustand verriegelt ist, dann kann ein "0"-Datenbit nie gespeichert werden. Wenn ähnli cherweise ein Mikroprozessor versucht, die Daten zu lesen, die in der defekten Position gespeichert sind, dann kann das Datenlesen genau oder nicht genau sein. Die Schaltungs anordnungsperipherie zu den Speicherpositionen kann außer dem defekt werden. Ein Reihendecodierer kann beispielsweise für eine spezielle Reihenadresse versagen, oder eine Wort zeile kann fehlerhaft sein. Typische Speichervorrichtungen können Millionen von Speicherpositionen, Reihen und Wort zeilen enthalten, von denen jeweils ein paar defekt sein können. Eine Speichervorrichtung, die einen einzigen Defekt eines beliebigen Typs enthält, ist eine defekte Speicher vorrichtung. Defekte Speichervorrichtungen werden allgemein als unbrauchbar weggeworfen. Daher begrenzen Defekte we sentlich die Ausbeute eines Speichervorrichtungsherstel lungsverfahrens.During the manufacture of memory devices one or more specific locations within a single storage device may become defective. When a Microprocessor tries to store data on a defective memory position, then the data is saved or not saved. For example, if the defective bottom sition is permanently locked in the "1" state, then a "0" data bit can never be saved. If similar a microprocessor tries to read the data, which are stored in the defective position, then can the data reading may be accurate or not accurate. The circuit arrangement periphery to the storage positions can save the become defective. A row decoder can, for example fail for a special row address, or a word line can be faulty. Typical storage devices can store millions of locations, rows, and word lines included, some of which may be defective can. A storage device that has a single defect contains any type is a defective memory contraption. Defective memory devices are becoming common thrown away as unusable. Therefore, defects limit us significantly the yield of a memory device manufacturer procedure.
Die Probleme, die durch Speicherdefekte aufgeworfen werden, sind um so ernster, wenn der Speicher in einer weiteren Vorrichtung, wie z. B. einem integrierten RAM-(Random Access Memory = Direktzugriffsspeicher)Cache in einem Mi kroprozessorchip, eingebettet bzw. integriert ist. Bei die sem Fall ist die Ausbeute des Speichers der dominierende Ausbeutetreiber des Hostchips. Um die Sache weiter zu ver schlimmern, ist es schwer, integrierte Speicher, aufgrund des Fehlens eines direkten Zugriffs zu den Eingängen und Ausgängen dieser Speicher, zu testen.The problems posed by memory defects are all the more serious if the memory is in another Device such. B. an integrated RAM (Random Access Memory = cache in a Mi microprocessor chip, is embedded or integrated. At the In this case, the storage yield is the dominant one Yield driver of the host chip. To further ver the matter worse, it is hard to due to built-in memory the lack of direct access to the entrances and Outputs of this memory to test.
Die Aufgabe der vorliegenden Erfindung besteht darin, eine Vorrichtung, ein Verfahren zur Datenspeicherung und ein Verfahren zur Datenwiedergewinnung zu schaffen, die eine Nutzung von defekten Speichervorrichtungen ermöglichen.The object of the present invention is a Device, a method for data storage and a Data recovery procedures that create a Allow use of defective storage devices.
In einer Hinsicht ist die Erfindung eine Vorrichtung. Die Vorrichtung weist einen Primärspeicher, einen CAM (= Con tent Addressable Memory = inhaltsadressierbaren Speicher), einen Adreßbus, einen redundanten Speicher, einen Datenbus und eine Freigabesignalleitung auf. Der Primärspeicher ist möglicherweise dahingehend defekt, daß beispielsweise Spei cherzellen, Wortzeilen oder Reihendecodierer Defekte auf weisen können. Der CAM enthält Adressen von Zellen, die in dem primären Speicher defekt sind. Der Adreßbus verbindet den primären Speicher und den CAM. Der redundante Speicher ist mit dem CAM verbunden. Auf Daten der defekten Zellen kann in dem redundanten Speicher zugegriffen werden. Der Datenbus ist mit dem primären Speicher und dem redundanten Speicher verbunden. Die Freigabesignalleitung gibt von dem CAM zu dem Primärspeicher aus. Wenn eine Adresse in dem Adreßbus mit einer Adresse übereinstimmt, die in dem CAM gespeichert ist, greift der CAM auf den redundanten Spei cher gemäß der Adresse zu, verbindet den redundanten Spei cher mit dem Datenbus und stellt die Freigabesignalleitung in einen ersten Zustand ein, wodurch eine Verbindung zwi schen dem Primärspeicher und dem Datenbus verhindert wird. Wenn eine Adresse in dem Adreßbus nicht mit einer beliebi gen gespeicherten Adresse in dem CAM übereinstimmt, dann stellt der CAM die Freigabesignalleitung in einen zweiten Zustand ein, wodurch eine Verbindung zwischen dem Primär speicher und dem Datenbus freigegeben wird bzw. aktiviert wird.In one respect, the invention is an apparatus. The Device has a primary memory, a CAM (= Con tent addressable memory), an address bus, a redundant memory, a data bus and an enable signal line. The primary storage is possibly defective in that, for example, Spei cells, word lines or row decoder defects can point. The CAM contains addresses of cells that are in the primary memory is defective. The address bus connects the primary memory and the CAM. The redundant memory is connected to the CAM. On data from the defective cells can be accessed in the redundant memory. The Data bus is with the primary memory and the redundant Memory connected. The enable signal line gives from that CAM to the primary storage. If an address in the Address bus matches an address that is in the CAM is saved, the CAM accesses the redundant memory according to the address, connects the redundant memory cher with the data bus and provides the enable signal line in a first state, whereby a connection between primary memory and the data bus is prevented. If an address in the address bus does not match any matches the stored address in the CAM, then the CAM places the enable signal line in a second State on, creating a connection between the primary memory and the data bus is released or activated becomes.
In einer weiteren Hinsicht ist die Erfindung ein Verfahren zur Datenspeicherung zur Verwendung mit einem möglicherwei se defekten Primärspeicher und einem redundanten Speicher. Das Verfahren weist die Schritte des Empfangens von minde stens einem Teil einer Speicheradresse, des Empfangens ei ner Mehrzahl von Datenbits, die zur Speicherung in dem Pri märspeicher bei einer Position basierend auf der Speicher adresse bestimmt sind, und des Abfragens eines CAM mit min destens einem Teil der Speicheradresse auf. Wenn der minde stens eine Teil der Speicheradresse in dem CAM gefunden wird, speichert das Verfahren alle der Mehrzahl von Daten bits in dem redundanten Speicher.In another aspect, the invention is a method for data storage for use with a possibly defective primary memory and a redundant memory. The method has the steps of receiving minde least part of a memory address, the reception ner plurality of data bits that are to be stored in the pri march storage at a location based on the storage address are determined, and querying a CAM with min least part of the memory address. If the mind at least part of the memory address found in the CAM the method stores all of the plurality of data bits in the redundant memory.
In noch einer weiteren Hinsicht ist die Erfindung ein Ver fahren zur Datenwiedergewinnung zur Verwendung mit einem möglicherweise defekten Primärspeicher und einem redundan ten Speicher. Das Verfahren weist die Schritte des Empfan gens von mindestens einem Teil einer Speicheradresse und des Abfragens eines CAM mit dem mindestens einen Teil der Speicheradresse auf. Wenn der mindestens eine Teil der Speicheradresse nicht in dem CAM gefunden wird, dann ge winnt das Verfahren ein Datenwort in seiner Gesamtheit aus dem Primärspeicher wieder. Wenn andererseits der mindestens eine Teil der Speicheradresse in dem CAM gefunden wird, ge winnt das Verfahren ein Datenwort in seiner Gesamtheit aus dem redundanten Speicher wieder.In yet another aspect, the invention is a ver drive to data recovery for use with a possibly defective primary storage and a redundant memory. The procedure has the steps of receiving gens of at least part of a memory address and querying a CAM with the at least part of the Memory address. If the at least part of the Memory address is not found in the CAM, then ge the method extracts a data word in its entirety the primary storage again. If, on the other hand, the least part of the memory address in the CAM is found, ge the method extracts a data word in its entirety the redundant memory again.
Im Vergleich zum Stand der Technik können bestimmte Ausfüh
rungsbeispiele der Erfindung bestimmte Vorteile einschließ
lich der folgenden Vorteile erreichen:
Compared to the prior art, certain embodiments of the invention can achieve certain advantages including the following advantages:
- 1. eine verbesserte Ausbeute für Speichervorrichtungen und andere Vorrichtungen, die integrierte Speicher enthalten; 1. an improved yield for memory devices and other devices that have built-in memory contain;
- 2. die Reparatur von Defekten, die große Blöcke, wie z. B. eine Reihe eines Speichers, ruinieren, sowie von Defekten, die getrennte Positionen in einem Speicher beeinflussen; und2. the repair of defects, the large blocks such. B. ruin a row of a memory, as well as of Defects, the separate positions in a memory influence; and
- 3. einen anpassungsfähigen Selbstausgleich von Defekten in Speichern, wie z. B. integrierten Speichern, auf die nicht direkt zugegriffen werden kann.3. an adaptable self-compensation of defects in memories such as B. integrated storage that cannot be accessed directly.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung sind nachfolgend bezugnehmend auf die beiliegenden Zeich nungen näher erläutert. Es zeigen:Preferred embodiments of the present invention are below referring to the attached drawing nations explained in more detail. Show it:
Fig. 1 ein Blockdiagramm eines Speichersystems; Fig. 1 is a block diagram of a memory system;
Fig. 2 ein Blockdiagramm eines Systems mit einem redun danten Speicher gemäß einem Ausführungsbeispiel der Erfindung; Figure 2 is a block diagram of a system with a redundant memory according to an embodiment of the invention.
Fig. 3 ein Flußdiagramm eines Verfahrens zur Datenspei cherung gemäß einem Ausführungsbeispiel der Er findung, und Fig. 3 is a flowchart of a method for Datenspei insurance according to an exemplary embodiment of the invention, and
Fig. 4 ein Flußdiagramm eines Verfahrens zur Datenwie dergewinnung gemäß einem Ausführungsbeispiel der Erfindung. Fig. 4 is a flow diagram of a method for data recovery according to an embodiment of the invention.
Fig. 1 ist ein Blockdiagramm eines Speichersystems 100. Das Speichersystem 100 umfaßt ein Speicherarray 105, wobei je des Element desselben 1 Bit speichern kann. Eine exemplari sche, physische Anordnung der Elemente des Speicherarrays 105 ist ein quadratisches Gitter. Eine exemplarische Größe des Speicherarrays 105 kann 4.096 Bits × 4.096 Bits sein, was zu einer Gesamtkapazität von 2 MB (Megabyte) führt. Wenn der Inhalt des Speicherarrays 105 logisch in 64-Bit- Worte segmentiert ist, dann kann das quadratische Speicher array 105, das eine Kapazität von 2 MB aufweist, in 4.096 Reihen eingeteilt sein, wobei jede Reihe 64 Wörter oder Spalten enthält, was zu einer Gesamtzahl von 262.144 Wör tern führt. Auf jedes der 262.144 Wörter kann eindeutig durch eine 18-Bit-Adresse Bezug genommen werden. 12 der 18 Adreßbits werden verwendet, um eine der 4.096 Reihen in dem Speicherarray 105 zu spezifizieren, und 6 der 18 Adreßbits werden verwendet, um eine der 64 Spalten zu spezifizieren. Fig. 1 is a block diagram of a memory system 100. The memory system 100 comprises a memory array 105 , each of which can store 1 bit. An exemplary physical arrangement of the elements of the memory array 105 is a square grid. An exemplary size of the memory array 105 may be 4,096 bits × 4,096 bits, resulting in a total capacity of 2 MB (megabytes). If the content of the memory array 105 is logically segmented into 64-bit words, then the square of memory array 105, which has a capacity of 2 MB, to be divided into 4096 rows with each row containing 64 words or columns, resulting in a Total number of 262,144 words. Each of the 262,144 words can be uniquely referenced by an 18-bit address. 12 of the 18 address bits are used to specify one of the 4,096 rows in the memory array 105 , and 6 of the 18 address bits are used to specify one of the 64 columns.
Das Speichersystem 100 kann ein Teil eines Computers oder einer anderen elektronischen Vorrichtung sein. Das Spei cherarray 105 kann von einem statischen oder dynamischen oder einem anderen Typ sein. Das Speichersystem 100 kann von sich aus physisch getrennt als eine Speichervorrichtung gehäust sein oder kann in einem integrierten Gehäuse als ein Speichersystem zusammen mit anderen Teilsystemen, wie z. B. einem Cachespeicherteilsystem eines Mikroprozessors, kombiniert sein. Das Speichersystem 100 kann ein RAM, ROM (= Read Only Memory = Nur-Lese-Speicher), ein EPROM (= Electrically Programmable ROM = elektrisch programmierbarer ROM), ein EEPROM (= Erasable EPROM = löschbarer EPROM) oder eine andere Art von Speicher sein.Storage system 100 may be part of a computer or other electronic device. The storage array 105 can be of a static or dynamic or other type. The storage system 100 may be physically separate as a storage device, or may be in an integrated housing as a storage system along with other subsystems, such as. B. a cache memory subsystem of a microprocessor can be combined. Memory system 100 may be RAM, Read Only Memory (ROM), Electrically Programmable ROM (EPROM), Erasable EPROM (EEPROM), or some other type of memory his.
Beim Betrieb wird eine Adresse in dem Adreßbus 110 pla ziert. Die Adresse in dem Adreßbus 110 nimmt auf ein Wort in einer spezifischen Reihe-Spalte-Position des Speicher arrays 105 Bezug. Eine Lese/Schreib-(R/W-)Zeile 115, die zwei getrennte Zeilen sein kann, wird in ein I/O-(= In put/Output = Eingangs/Ausgangs)Modul 120 eingespeist und spezifiziert, ob die spezifische Reihe-Spalte-Position ge lesen oder geschrieben werden soll. Wenn eine Schreibopera tion stattfindet, wird ein Wort, das in dem Datenbus 125 plaziert wurde, durch das I/O-Modul 120 zu der spezifizier ten Reihe-Spalte des Speicherarrays 105 geschrieben. Wenn eine Leseoperation stattfindet, wird das Wort, das bei der spezifizierten Reihe-Spalte des Speicherarrays 105 gespei chert ist, durch das I/O-Modul 120 erfaßt und in dem Daten bus 125 plaziert. In operation, an address is placed on address bus 110 . The address in the address bus 110 refers to a word in a specific row-column position of the memory array 105 . A read / write (R / W) line 115 , which can be two separate lines, is fed into an I / O - (= In put / Output = input / output) module 120 and specifies whether the specific series Column position should be read or written. When a write operation occurs, a word placed on data bus 125 is written by I / O module 120 to the specified row column of memory array 105 . When a read operation occurs, the word stored in the specified row column of memory array 105 is sensed by I / O module 120 and placed on data bus 125 .
Das Decodieren einer Speicheradresse wird durch einen oder mehrere Decodierer durchgeführt. Jeder Decodierer nimmt allgemein als Eingangssignal N Adreßleitungen auf und gibt 2N "Wort"-Leitungen aus. Ansprechend auf einen speziellen Zustand der N Adreßleitungen stellt ein Decodierer exakt eine seiner Wortleitungen ein. Das heißt, die Wortleitungen befinden sich in einer Eins-Aktiv-Bedingung. Jede Ausgangs wortleitung entspricht einem der 2N möglichen Zustände der N Adreßleitungen. In dem Computersystem 100 decodiert unter den Größen- und Geometrie-Annahmen, die oben dargelegt sind, ein Reihendecodierer 130 12 Adreßleitungen, um ei ne der 4.096 unterschiedlichen Wortleitungen einzustellen - eine für jede Reihe des Speicherarrays 105. Ein Spalten decodierer 135 decodiert ähnlicherweise 6 Adreßleitun gen, um eine der 64 Spaltendecodierleitungen einzustellen, die eine spezifizierte Spalte des Speicherarrays 105 aus wählen.A memory address is decoded by one or more decoders. Each decoder generally accepts N address lines as the input signal and outputs 2 N "word" lines. In response to a special state of the N address lines, a decoder sets exactly one of its word lines. That is, the word lines are in a one-active condition. Each output word line corresponds to one of the 2 N possible states of the N address lines. In the computer system 100, using the size and geometry assumptions set forth above, a row decoder 130 decodes 12 address lines to set one of the 4,096 different word lines - one for each row of the memory array 105 . A column decoder 135 similarly decodes 6 address lines to set one of the 64 column decode lines that select a specified column of the memory array 105 .
Ein innerer Datenbus 140 ist zwischen das Speicherarray 105 und das I/O-Modul 120 geschaltet. Wie durch die Anordnung, die in Fig. 1 dargestellt ist, vorgeschlagen, ist die Brei te des inneren Datenbusses 140 typischerweise gleich der Breite des Datenbusses 125 (z. B. 64 Bit), wobei in diesem Fall ein Wort zu einem Zeitpunkt zwischen dem Speicherarray 105 und dem I/O-Modul 120 übertragen wird. Bei einer alter nativen Anordnung ist die Breite des inneren Datenbusses 140 gleich einer Seitenabmessung des Speicherarrays 105 (z. B. 4.096 Bits), und der Spaltendecodierer ist logisch zwi schen dem Speicherarray 105 und dem I/O-Modul 120 positio niert. Bei dieser alternativen Anordnung wählt der Spalten decodierer aus, welcher Block von Leitungen in dem inneren Datenbus 140 bearbeitet werden soll.An inner data bus 140 is connected between the memory array 105 and the I / O module 120 . As suggested by the arrangement shown in FIG. 1, the width of the inner data bus 140 is typically equal to the width of the data bus 125 (e.g., 64 bits), in which case one word at a time between that Storage array 105 and the I / O module 120 is transferred. In an alternate native arrangement, the width of the inner data bus 140 is equal to a page dimension of the memory array 105 (e.g., 4,096 bits) and the column decoder is logically positioned between the memory array 105 and the I / O module 120 . In this alternative arrangement, the column decoder selects which block of lines in inner data bus 140 to process.
Fig. 2 ist ein Blockdiagramm eines redundanten Speichersy stems 200 gemäß einem Ausführungsbeispiel der Erfindung. Das redundante Computersystem 200 weist das Speichersystem 100, das durch einen CAM (inhaltsadressierbaren Speicher) 210 vergrößert wird, ein RAM-Array 220, das mit dem CAM 210 durch einen Satz von Wortleitungen 230 verbunden ist, eine Freigabesignalleitung 240 und einen Invertierer 250 auf. Das RAM-Array 220 liefert einen redundanten Speicher, um Defekte in dem Speichersystem 100 zu reparieren, das der Primärspeicher für das System 200 ist. Der Adreßbus 110 speist in sowohl das Speichersystem 100 als auch den CAM 210 ein. Der CAM 210 ist vorzugsweise lediglich mit einem Teil der Adreßleitungen in dem Adreßbus 110 verbunden oder verarbeitet lediglich einen Teil der Adreßleitungen in dem Adreßbus 110, wie z. B. den Teil des Adreßbusses 110, der eine Reihenadresse bildet. Der CAM 210 wird initialisiert, um alle Reihenadressen zu enthalten, die in dem Speichersy stem 100 defekt sind. (Das Initialisierungsverfahren ist detaillierter im folgenden beschrieben.) Der Parameter N stellt den Betrag der Redundanz dar, die durch den CAM 210 in Verbindung mit dem RAM 220 geliefert wird (die zusammen ein "CAM-RAM" genannt werden). Der CAM 210 weist eine Kapa zität auf, um bis zu N Reihenadresseneinträge zu speichern. Der RAM 220 enthält N Reihen eines redundanten Speichers. N Wortleitungen 230 sind zwischen den CAM 210 und den RAM 220 geschaltet. Jede Wortleitung 230 ist zwischen einen CAM- Eintrag und eine RAM-Reihe geschaltet. N kann ein beliebi ger zweckmäßiger Wert, wie z. B. 8, 32 oder 128, sein. Fig. 2 is a block diagram of a redundant Speichersy stems 200 according to an embodiment of the invention. The redundant computer system 200 includes the memory system 100 , which is augmented by a CAM (content addressable memory) 210 , a RAM array 220 connected to the CAM 210 by a set of word lines 230 , an enable signal line 240, and an inverter 250 . RAM array 220 provides redundant memory to repair defects in memory system 100 , which is the primary memory for system 200 . Address bus 110 feeds into both memory system 100 and CAM 210 . The CAM 210 is preferably connected to only a portion of the address lines in the address bus 110 or processes only a portion of the address lines in the address bus 110 , such as. B. the part of the address bus 110 that forms a row address. The CAM 210 is initialized to contain all row addresses that are defective in the memory system 100 . (The initialization process is described in more detail below.) The parameter N represents the amount of redundancy provided by the CAM 210 in conjunction with the RAM 220 (which are collectively called a "CAM-RAM"). The CAM 210 has a capacity to store up to N row address entries. RAM 220 contains N rows of redundant memory. N word lines 230 are connected between CAM 210 and RAM 220 . Each word line 230 is connected between a CAM entry and a RAM row. N can be any convenient value, such as. B. 8, 32 or 128.
Der CAM 210 wird während des Testens des Speichersystems 100 initialisiert. Während des systematischen Adreßtestens (z. B. des Adreßabtasttestens) des Speichersystems 100 wer den Reihenadressen, für die eine beliebige Zelle nicht er folgreich betrieben wird, in den Inhalt des CAM 210 ge schrieben. Reihenadressen, für die alle Zellen erfolgreich betrieben werden, werden nicht in den Inhalt des CAM 210 geschrieben. Auf diese Art und Weise werden defekte Zellen in dem Speichersystem 100 durch den redundanten Speicher des CAM-RAM 210-220 repariert. Defekte werden auf einer Von-Reihe-Zu-Reihe-Basis repariert. Das heißt, wenn ein be liebiges Bit in einer beliebigen Zelle in einer Reihe des Speichersystems 100 defekt ist, dann ersetzt der CAM-RAM 210-220 die gesamte Reihe. Wenn ähnlicherweise das Spei chersystem 100 eine defekte Wortleitung oder einen defekten Reihendecodierer aufweist, dann korrigiert der CAM-RAM 210-220 die gesamte(n) betroffene(n) Reihe(n). Alle Zellen, die von einem Defekt in einer Wortleitung oder einem Reihende codierer betroffen sind, oder die Zelle selbst werden als defekte Zellen betrachtet.CAM 210 is initialized during testing of memory system 100 . During systematic address testing (e.g., address scan testing) of the memory system 100, the row addresses for which any cell is not successfully operated are written into the contents of the CAM 210 . Row addresses for which all cells are operated successfully are not written into the content of the CAM 210 . In this way, defective cells in the memory system 100 are repaired by the redundant memory of the CAM-RAM 210-220 . Defects are repaired on a row-by-row basis. That is, if any bit in any cell in a row of memory system 100 is defective, CAM-RAM 210-220 replaces the entire row. Similarly, if memory system 100 has a defective word line or row decoder, CAM-RAM 210-220 corrects the entire row (s) concerned. All cells that are affected by a defect in a word line or a row encoder, or the cell itself, are considered to be defective cells.
Jedes Speichersystem 100 ist möglicherweise in dem Sinne defekt, daß das Speichersystem 100 einen oder mehrere De fekte enthalten oder nicht enthalten kann. Wenn es keine Defekte in dem Speichersystem 100 gibt, wie es üblicherwei se der Fall ist, dann ist der CAM-RAM 210-220 nicht notwen dig. Wenn das Speichersystem 100 defekt ist, kann jedoch in den meisten Fällen der CAM-RAM 210-220 die Defekte reparie ren. Auf diese Art und Weise verbessert das System 200 mit einem redundanten Speicher wesentlich die Ausbeute des Speichersystems.Each storage system 100 may be defective in the sense that storage system 100 may or may not contain one or more defects. If there are no defects in the memory system 100 , as is usually the case, then the CAM-RAM 210-220 is not necessary. If the memory system 100 is defective, however, the CAM-RAM 210-220 can repair the defects in most cases. In this way, the system 200 with redundant memory significantly improves the yield of the memory system.
Das System 200 mit einem redundanten Speicher 200 kann phy sisch in einem oder mehreren Bauteilen gehäust sein. Das System 200 mit einem redundanten Speicher ist vorzugsweise einstückig zusammen in einer einzigen, integrierten Schal tung gehäust. Bei Fällen, bei denen das Speichersystem 100 physisch von dem CAM-RAM 210-220 getrennt ist, können die Speichersysteme 100 vorher ausgesondert werden, so daß le diglich dieselben, von denen bekannt ist, daß dieselben de fekt sind, durch den CAM-RAM 210-220 vergrößert werden. Selbst in jenen Fällen ist es jedoch einfacher und zweckmä ßiger, alle Speichersysteme 100, selbst dieselben, die frei von Defekten sind, durch den CAM-RAM 210-220 zu vergrößern.The system 200 with a redundant memory 200 can be physically housed in one or more components. The system 200 with a redundant memory is preferably housed in one piece together in a single, integrated circuit device. In cases where the memory system 100 is physically separate from the CAM-RAM 210-220 , the memory systems 100 can be discarded beforehand so that only those that are known to be defective are recognized by the CAM-RAM 210-220 are enlarged. However, even in those cases, it is easier and more convenient to enlarge all memory systems 100 , even those that are free of defects, by the CAM-RAM 210-220 .
Fig. 3 ist ein Flußdiagramm eines Verfahrens 300 zur Daten speicherung gemäß einem Ausführungsbeispiel der Erfindung. Das Verfahren 300 zur Datenspeicherung beginnt, wenn eine Reihenadresse empfangen (310) wird und ein Datenwort emp fangen (320) wird. Allgemein kann die Reihenadresse jeder beliebige Teil einer Speicheradresse oder eine ganze Adres se sein, obwohl eine Reihenadresse bevorzugt wird. Bei dem System 200 mit einem redundanten Speicher wird die Reihen adresse durch den CAM 210 und das Speichersystem 100 von dem Adreßbus 110 empfangen, und das Datenwort wird in dem Da tenbus 125 empfangen. Die Schritte 310 und 320 des Empfan gens können in umgekehrter Reihenfolge oder gleichzeitig durchgeführt werden. Zu einem beliebigen Zeitpunkt nach dem Schritt 310 des Empfangens der Adressen fragt (330) das Verfahren 300 einen CAM, wie z. B. den CAM 210, mit der Reihenadresse ab, um zu bestimmen (340), ob ein überein stimmender Eintrag existiert. Zum gleichen Zeitpunkt, zu dem der Schritt 330 des Abfragens durchgeführt wird, spei chert (335) das Verfahren 300 das Datenwort in einem Pri märspeicher, wie z. B. dem Speichersystem 100. Wenn der Schritt 340 des Bestimmens einen übereinstimmenden Eintrag in dem CAM findet, dann enthält ein redundanter Speicher, wie z. B. der RAM 220, eine ganze Reihe, die zu der defek ten Reihe in dem Primärspeicher redundant ist, und das Ver fahren 300 speichert (350) das gesamte, empfangene Datenwort in der redundanten Reihe. FIG. 3 is a flow diagram of a method 300 for data storage according to an embodiment of the invention. The data storage method 300 begins when a row address is received ( 310 ) and a data word received ( 320 ). In general, the row address can be any part of a memory address or an entire address, although a row address is preferred. In system 200 with redundant memory, the row address is received by CAM 210 and memory system 100 from address bus 110 , and the data word is received in data bus 125 . Steps 310 and 320 of receiving may be performed in reverse order or simultaneously. At any point in time after step 310 of receiving the addresses, method 300 queries ( 330 ) a CAM, e.g. B. CAM 210 with the row address to determine ( 340 ) whether a matching entry exists. At the same time that the query step 330 is performed, the method 300 stores ( 335 ) the data word in a primary memory, such as. B. storage system 100 . If the step 340 of determining finds a matching entry in the CAM, then contains redundant memory, such as. B. RAM 220 , a whole row that is redundant to the defective th row in the primary memory, and the method 300 stores ( 350 ) the entire received data word in the redundant row.
Es sei bemerkt, daß das Verfahren 300 zur Speicherung unbe dingt bzw. ohne eine Bedingung Datenwörter in dem Primär speicher speichert (335). Ein Datenwort wird mit anderen Worten in dem Primärspeicher selbst dann gespeichert (335), wenn bestimmt (340) wird, daß sich die Reihenadresse in dem CAM befindet, was bedeutet, daß die Reihe in dem Primär speicher defekt ist. Die Speicherung (335) in defekten Rei hen in dem Primärspeicher ist harmlos, da das Datenwort ebenfalls in dem redundanten Speicher, aus dem dasselbe im mer wieder in der Zukunft (wie im folgenden unter Bezugnah me auf Fig. 4 beschrieben) wiedergewonnen werden kann, ge speichert (350) ist. Als eine Alternative kann das Verfah ren 30 den Schritt 335 des primären Speicherns bedingt - lediglich bei dem Fall, daß die Antwort auf den Schritt 340 des Bestimmens NEIN ist - durchführen.It should be noted that the method 300 for storage unconditionally stores data words in the primary memory ( 335 ). In other words, a data word is stored ( 335 ) in the primary memory even if it is determined ( 340 ) that the row address is in the CAM, which means that the row in the primary memory is defective. The storage ( 335 ) in defective rows in the primary memory is harmless, since the data word can also be retrieved in the redundant memory, from which the same will always be retrieved in the future (as described below with reference to FIG. 4). ge stores ( 350 ). As an alternative, method 30 may conditionally perform step 335 of primary storage only in the event that the answer to step 340 of determining is NO.
Fig. 4 ist ein Flußdiagramm eines Verfahrens 400 zur Daten wiedergewinnung gemäß einem Ausführungsbeispiel der Erfin dung. Das Verfahren 400 zur Datenwiedergewinnung beginnt, wenn eine Reihenadresse empfangen (410) wird. Die Reihen adresse kann allgemeiner ein beliebiger Teil einer Speicher adresse oder eine gesamte Adresse sein, obwohl eine Rei henadresse bevorzugt wird. In dem redundanten Speichersy stem 200 wird die Reihenadresse durch den CAM 210 und das Speichersystem 100 von dem Adreßbus 110 empfangen. Nach dem Schritt 410 des Empfangens der Adresse fragt (430) das Ver fahren 400 einen CAM, wie z. B. den CAM 210, mit der Rei henadresse ab und greift (435) gleichzeitig auf die Adresse in einem Primärspeicher, wie z. B. dem Speichersystem 100, zu. Nach dem Schritt 430 des Abfragens bestimmt (440) das Verfahren 400, ob ein übereinstimmender Eintrag in dem CAM existiert. Wenn dies der Fall ist, dann enthält ein redun danter Speicher, wie z. B. der RAM 230, eine gesamte Reihe, die redundant zu der defekten Reihe in dem Primärspeicher ist. In diesem Fall greift (460) das Verfahren 400 auf das Datenwort in dem redundanten Speicher zu und gibt (465) die Ausgabe des gesamten, adressierten Datenworts aus der redun danten Reihe frei. Der Schritt 465 des Freigebens wird vor zugsweise in dem System 200 mit einem redundanten Speicher durch Löschen (nach unten ziehen) des Freigabesignals 240 durchgeführt, das über den Invertierer 250 die Drei- Zustand- (z. B. TRI-STATE(TM)) Ausgangstreiber von dem RAM 220, der mit dem Datenbus 125 verbunden ist, freigibt bzw. aktiviert. Wenn der Schritt 440 des Bestimmens keinen über einstimmenden Eintrag findet, was bedeutet, daß die Reihe des Speichersystems nicht defekt ist, dann gibt (445) das Verfahren 400 die Ausgabe des gesamten, adressierten Daten worts aus dem Primärspeicher frei. Der Schritt 445 des Freigebens wird vorzugsweise in dem redundanten Speichersy stem 200 durch Aktivieren (hoch) des Freigabesignals 240 durchgeführt. Das Freigabesignal 240 gibt vorzugsweise Drei-Zustand-Ausgangstreiber in dem I/O-Modul 120 des Spei chersystems 100, das mit dem Datenbus 125 verbunden ist, frei. Das Freigabesignal 240 wird alternativ mit der Lese- (R-)Leitung 115 in dem Speichersystem 100 logisch UND- verknüpft. Folglich treibt während einer Leseoperation ab hängig von dem Zustand des Freigabesignals 240 entweder der RAM 220 oder das Speichersystem 100 den Datenbus 125. FIG. 4 is a flow diagram of a method 400 for data recovery in accordance with an embodiment of the invention. The data recovery method 400 begins when a row address is received ( 410 ). The row address may more generally be any part of a memory address or an entire address, although a row address is preferred. In the redundant memory system 200 , the row address is received by the CAM 210 and the memory system 100 from the address bus 110 . After step 410 of receiving the address, the method 400 asks ( 430 ) a CAM, such as. B. the CAM 210 , with the row address and accesses ( 435 ) simultaneously on the address in a primary memory, such as. B. storage system 100 . After querying step 430, method 400 determines ( 440 ) whether a matching entry exists in the CAM. If this is the case, then a redundant memory, such as. B. RAM 230 , an entire row that is redundant to the defective row in the primary memory. In this case, the method 400 accesses ( 460 ) the data word in the redundant memory and releases ( 465 ) the output of the entire addressed data word from the redundant row. The step 465 of releasing is preferably carried out in the system 200 with a redundant memory by deleting (pulling down) the releasing signal 240 which, via the inverter 250, the three-state (e.g. TRI-STATE (TM)) Output driver from RAM 220 connected to data bus 125 enables. If the step 440 of determining does not find a matched entry, which means that the row of the memory system is not defective, then the method 400 releases ( 445 ) the output of all of the addressed data word from the primary memory. The release step 445 is preferably carried out in the redundant memory system 200 by activating (high) the release signal 240 . The enable signal 240 preferably enables three-state output drivers in the I / O module 120 of the storage system 100 , which is connected to the data bus 125 . The enable signal 240 is alternatively logically ANDed with the read (R) line 115 in the memory system 100 . As a result, during a read operation, depending on the state of the enable signal 240, either the RAM 220 or the memory system 100 drives the data bus 125 .
Es sei bemerkt, daß das Verfahren 400 zur Wiedergewinnung bedingungslos auf Datenwörter in dem Primärspeicher zu greift (435). Mit anderen Worten wird auf die Adresse in dem Primärspeicher selbst dann zugegriffen, wenn bestimmt (440) wird, daß sich die Reihenadresse in dem CAM befindet, was bedeutet, daß die Reihe in dem Primärspeicher defekt ist. Die Ausgabe des Datenworts bei der Adresse, auf die zugegriffen wird, wird bei diesem Fall jedoch nicht freige geben. Als eine Alternative kann das Verfahren 400 den pri mären Schritt 435 des Zugreifens bedingt - lediglich bei dem Fall, daß die Antwort auf den Schritt 440 des Bestim mens NEIN ist - durchführen. Das heißt, der Schritt 435 des Zugreifens kann genau vor den Schritt 445 des Freigebens in Fig. 4 bewegt werden.It should be noted that the method 400 for retrieval unconditionally accesses data words in primary storage ( 435 ). In other words, the address in the primary memory is accessed even if it is determined ( 440 ) that the row address is in the CAM, which means that the row in the primary memory is defective. In this case, however, the output of the data word at the accessed address will not be released. As an alternative, the method 400 may perform the primary access step 435 only in the event that the answer to the determination step 440 is NO. That is, access step 435 can be moved just prior to release step 445 in FIG. 4.
Claims (20)
einem Primärspeicher (100), der möglicherweise defekt ist;
einem inhaltsadressierbaren Speicher (CAM) (210), in dem Adressen von defekten Zellen in dem Primärspeicher (100) gespeichert sind;
einem Adreßbus (110), der mit dem Primärspeicher (100) und dem CAM (210) verbunden ist;
einem redundanten Speicher (220), der mit dem CAM (210) verbunden ist, wodurch auf Daten der defekten Zellen in dem redundanten Speicher (220) zugegriffen werden kann;
einem Datenbus (125), der mit dem Primärspeicher (100) und dem redundanten Speicher (220) verbunden ist; und
einem Freigabesignalleitungsausgang (240) von dem CAM (210) zu dem Primärspeicher (100), wobei der CAM (210) auf den redundanten Speicher (220) gemäß einer Adresse in dem Adreßbus (110) zugreift, den redundanten Spei cher (220) mit dem Datenbus (125) verbindet, und die Freigabesignalleitung (240) in einen ersten Zustand einstellt, wenn eine Adresse in dem Adreßbus (110) mit einer Adresse übereinstimmt, die in dem CAM (210) ge speichert ist, wodurch eine Verbindung zwischen dem Primärspeicher (100) und dem Datenbus (125) verhindert wird, und wobei der CAM (210) die Freigabesignallei tung (240) in einen zweiten Zustand einstellt, wenn eine Adresse in dem Adreßbus (110) nicht mit einer Adresse übereinstimmt, die in dem CAM (210) gespeichert ist, wodurch eine Verbindung zwischen dem Primärspei cher (100) und dem Datenbus (125) freigegeben wird. 1. Device ( 200 ) with the following features:
a primary memory ( 100 ) that may be defective;
a content addressable memory (CAM) ( 210 ) in which addresses of defective cells are stored in the primary memory ( 100 );
an address bus ( 110 ) connected to the primary memory ( 100 ) and the CAM ( 210 );
a redundant memory ( 220 ) connected to the CAM ( 210 ), whereby data of the defective cells in the redundant memory ( 220 ) can be accessed;
a data bus ( 125 ) connected to the primary memory ( 100 ) and the redundant memory ( 220 ); and
an enable signal line output (240) of the CAM (210) to the primary memory (100), wherein the CAM (210) to the redundant memory (220) accessed according to an address in the address bus (110), the redundant SpeI cher (220) connects to the data bus ( 125 ) and sets the enable signal line ( 240 ) to a first state when an address in the address bus ( 110 ) matches an address stored in the CAM ( 210 ), thereby creating a connection between the primary memory ( 100 ) and the data bus ( 125 ) is prevented, and wherein the CAM ( 210 ) sets the enable signal line ( 240 ) to a second state when an address in the address bus ( 110 ) does not match an address in the CAM ( 210 ) is stored, whereby a connection between the primary memory ( 100 ) and the data bus ( 125 ) is released.
einem Drei-Zustand-Treiber, der von dem Primärspeicher (100) mit dem Datenbus (125) verbunden ist; und
einem Drei-Zustand-Treiber, der von dem redundanten Speicher (220) mit dem Datenbus (125) verbunden ist.4. The device ( 200 ) according to claim 3 further comprising the features:
a three-state driver connected from the primary memory ( 100 ) to the data bus ( 125 ); and
a three-state driver connected from the redundant memory ( 220 ) to the data bus ( 125 ).
Empfangen von mindestens einem Teil einer Speicher adresse;
Empfangen einer Mehrzahl von Datenbits, die zur Spei cherung in dem Primärspeicher (100) bei einer Position, basierend auf der Speicheradresse, bestimmt sind;
Abfragen eines inhaltsadressierbaren Speichers (CAM) (210) mit dem mindestens einen Teil der Speicheradres se;
Speichern von allen Datenbits der Mehrzahl von Daten bits in dem redundanten Speicher (220), wenn mindes tens ein Teil der Speicheradresse in dem CAM (210) ge funden wird.5. A method of data storage for use with a possibly defective primary memory ( 100 ) and a redundant memory ( 220 ), with the following steps:
Receiving at least a portion of a memory address;
Receiving a plurality of data bits intended to be stored in the primary memory ( 100 ) at a location based on the memory address;
Querying a content addressable memory (CAM) ( 210 ) with the at least a part of the memory address;
Store all data bits of the plurality of data bits in the redundant memory ( 220 ) if at least a portion of the memory address is found in the CAM ( 210 ).
Speichern von allen Datenbits der Mehrzahl von Daten bits in dem Primärspeicher (100).11. The method according to any one of claims 5 to 10 with fer ner following step:
Storage of all data bits of the plurality of data bits in the primary memory ( 100 ).
Empfangen von mindestens einem Teil einer Speicherad resse;
Abfragen eines inhaltsadressierbaren Speichers (CAM) (210) mit dem mindestens einen Teil der Speicheradres se;
Wiedergewinnen eines Datenworts in der Gesamtheit des selben aus dem Primärspeicher (100), wenn der mindes tens eine Teil der Speicheradresse nicht in dem CAM (210) gefunden wird; und
Wiedergewinnen eines Datenworts in der Gesamtheit des selben aus dem redundanten Speicher (220), wenn der mindestens eine Teil der Speicheradresse in dem CAM (210) gefunden wird.13. A data recovery method for use with a possibly defective primary memory ( 100 ) and a redundant memory ( 220 ), comprising the following steps:
Receiving at least a portion of a memory address;
Querying a content addressable memory (CAM) ( 210 ) with the at least a part of the memory address;
Retrieving a data word in its entirety from the primary memory ( 100 ) if the at least part of the memory address is not found in the CAM ( 210 ); and
Retrieving a data word in its entirety from the redundant memory ( 220 ) when the at least part of the memory address is found in the CAM ( 210 ).
Einstellen eines Freigabesignals in einen ersten Zu stand, wenn der mindestens eine Teil der Speicher adresse nicht in dem CAM (210) gefunden wird; und
Einstellen eines Freigabesignals in einen zweiten Zu stand, wenn der mindestens eine Teil der Speicher adresse in dem CAM (210) gefunden wird.18. The method according to any one of claims 13 to 17 with fer ner following steps:
Setting an enable signal in a first state if the at least part of the memory address is not found in the CAM ( 210 ); and
Setting a release signal in a second state when the at least part of the memory address is found in the CAM ( 210 ).
Ergänzen des Freigabesignals und
Freigeben eines Drei-Zustand-Treibers, der mit dem re dundanten Speicher (220) verbunden ist, mit dem er gänzten Freigabesignal.20. The method according to claim 18 or 19, wherein the step of recovering a data word in its entirety from the redundant memory ( 220 ) comprises the following steps:
Supplement the release signal and
Enabling a three-state driver, which is connected to the redundant memory ( 220 ), with which it complements the enable signal.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US58320300A | 2000-05-30 | 2000-05-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10115717A1 true DE10115717A1 (en) | 2001-12-13 |
Family
ID=24332113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2001115717 Withdrawn DE10115717A1 (en) | 2000-05-30 | 2001-03-30 | Memory redundant system uses a contents addressable memory to store addresses of defect cells |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE10115717A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004004562A1 (en) * | 2004-01-29 | 2005-08-25 | Infineon Technologies Ag | Memory device with redundant memory management has a reserve memory cell field and a memory control unit that reallocates defective main memory cells to reserve memory cells |
-
2001
- 2001-03-30 DE DE2001115717 patent/DE10115717A1/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004004562A1 (en) * | 2004-01-29 | 2005-08-25 | Infineon Technologies Ag | Memory device with redundant memory management has a reserve memory cell field and a memory control unit that reallocates defective main memory cells to reserve memory cells |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69702858T2 (en) | SEMICONDUCTOR MEMORY TEST DEVICE WITH REDUNDANCY ANALYSIS | |
DE102004007644A1 (en) | Apparatus and method for compressing redundancy information for embedded memory, including cache memories, integrated circuits | |
DE60012081T2 (en) | Non-volatile semiconductor memory device that allows a data read operation during a data write / erase operation | |
DE10206720A1 (en) | System and method for operating a programmable counter for column failure with redundancy assignment | |
DE102006001492A1 (en) | Semiconductor memory e.g. nitride read only memory, arrangement, has controller for selecting memory cells in memory array or in non-volatile redundancy information storage that is directly associated with controller via sense amplifier | |
DE2617408A1 (en) | DATA PROCESSING DEVICE | |
EP1113362B1 (en) | Integrated semiconductor memory with a memory unit for storing addresses of faulty memory cells | |
EP0046976A2 (en) | Semi-conductor memory made of memory building blocks with redundant memory areas | |
EP1008993B1 (en) | Writeable memory with self-test device and method therefor | |
DE10131388B4 (en) | Integrated dynamic memory and method for operating the same | |
DE10337284B4 (en) | Integrated memory with an integrated memory function test circuit and method of operating the integrated memory | |
DE102004012279B3 (en) | Self-testing method for memories embedded in semicomnductor chip using memory self-testing control with memory self-testing register for storing memory test configuration data | |
DE60304642T2 (en) | Flash memory and method of operating the same | |
DE102004028340A1 (en) | Reduce memory failures in integrated circuits | |
DE10292320T5 (en) | Method and device for analyzing and repairing memory | |
EP0990236B1 (en) | Storage cell system and method for testing the function of storage cells | |
DE10256487B4 (en) | Integrated memory and method for testing an integrated memory | |
DE19922786A1 (en) | Semiconductor memory testing method | |
DE102004047330B4 (en) | Integrated semiconductor memory | |
DE10035705A1 (en) | Defective relief analysis procedure of memory, involves detecting line or row address of defective cell in searched memory area, and specifying and storing address of defective cell | |
DE112007003117T5 (en) | New implementation of column redundancy for a flash memory with high write parallelism | |
DE102004039831B4 (en) | Multi-chip package | |
DE4302754C1 (en) | Monolithic integrated data memory e.g. for access to data table or list - uses Hash function to generate memory address from data to be entered | |
EP0902924A1 (en) | Redundancy concept for memory circuits with rom storage cells | |
DE10115717A1 (en) | Memory redundant system uses a contents addressable memory to store addresses of defect cells |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8130 | Withdrawal |