DE102009000141A1 - Device and method for identifying memory units of a cache memory - Google Patents
Device and method for identifying memory units of a cache memory Download PDFInfo
- Publication number
- DE102009000141A1 DE102009000141A1 DE102009000141A DE102009000141A DE102009000141A1 DE 102009000141 A1 DE102009000141 A1 DE 102009000141A1 DE 102009000141 A DE102009000141 A DE 102009000141A DE 102009000141 A DE102009000141 A DE 102009000141A DE 102009000141 A1 DE102009000141 A1 DE 102009000141A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- cache
- memory block
- data
- block
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1064—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
Abstract
Die Erfindung betrifft eine Vorrichtung zur Kennzeichnung von Speichereinheiten eines Cache-Speichers, welcher als Zwischenspeicher zwischen einer Recheneinheit (1) und einem Hauptspeicher (4) arbeitet und welcher Kopien der Daten (D) des Hauptspeichers (4) enthält, die der Recheneinheit (1) zur Verfügung gestellt werden. Um Ausfälle von kompletten Cache-Speichern zuverlässig zu verhindern, ist eine Informationseinheit (U, 14) vorhanden, welche den Funktionszustand mindestens eines Speicherblocks (9a, 9b, 9c) des Cache-Speichers (3) kennzeichnet.The invention relates to a device for identifying memory units of a cache memory, which operates as a buffer between a computing unit (1) and a main memory (4) and which contains copies of the data (D) of the main memory (4) ) to provide. In order to reliably prevent failures of complete cache memories, there is an information unit (U, 14) which identifies the functional state of at least one memory block (9a, 9b, 9c) of the cache memory (3).
Description
Stand der TechnikState of the art
Vorrichtung zur Kennzeichnung von Speichereinheiten eines Cache-Speichers, welcher als Zwischenspeicher zwischen einer Recheneinheit und einem Hauptspeicher arbeitet und welcher Kopien der Daten des Hauptspeichers enthält, die der Recheneinheit zur Verfügung gestellt werden.contraption for characterizing memory units of a cache memory, which as a buffer between a computing unit and a main memory works and which contains copies of the main memory data, which are made available to the arithmetic unit.
Moderne Prozessoren bzw. Mikrokontroller besitzen heute verbreitet Cache-Speicher, der Zugriffe auf Daten bzw. Befehle im Hauptspeicher deutlich beschleunigt. Cache-Speicher sind meist als SRAM aufgebaute Zwischenspeicher, die Kopien der Daten eines Hauptspeichers enthalten und diese auf Grund sehr kurzer Zugriffszeiten dem Prozessor sehr schnell zur Verfügung stellen können. Der Cache-Speicher ist in Speicherblöcken organisiert, welche auch als Cache-lines bezeichnet werden.modern Processors or microcontrollers today have widespread cache memory, access to data or commands in main memory significantly accelerated. Cache memories are mostly buffers constructed as SRAM, the copies of the data of a main memory contain and these on Reason for very short access times to the processor very fast Can provide. The cache is organized in memory blocks, which are also called cache lines be designated.
Bei der Herstellung dieser hoch integrierten Schaltung sowie deren Betrieb kann es zu einer Vielzahl von permanenten Defekten innerhalb der Schaltung kommen, die aber oft nur ein lokal eng begrenztes Gebiet, z. B. einzelne Bits eines Registers oder einzelne Speicherzellen betreffen. Tritt ein solcher Defekt innerhalb eines Cache-Speichers auf, kann dadurch der gesamte Cache-Speicher unbrauchbar werden.at the production of this highly integrated circuit and its operation There may be a variety of permanent defects within the But often only a locally narrowly defined area, z. B. individual bits of a register or individual memory cells affect. If such a defect occurs within a cache memory This can render the entire cache unusable.
Aus
der
Dieses Verfahren funktioniert allerdings nur bei solchen Cache-Speichern, wo ein eindeutiger Zusammenhang zwischen angeforderter Speicheradresse und Speicherblock des Cache-Speichers besteht. Darüber hinaus sind zusätzlich Register für die Index-Bits sowie Vergleichseinheiten notwendig.This Method works only with such cache memories, where a clear relationship between requested memory address and memory block of the cache memory. About that In addition, there are additional registers for the index bits and comparison units necessary.
Offenbarung der ErfindungDisclosure of the invention
Der Erfindung liegt die Aufgabe zugrunde eine Vorrichtung und ein Verfahren zur Kennzeichnung von Speichereinheiten eines Cache-Speichers anzugeben, bei welchen Ausfälle von kompletten Cache-Speichern zuverlässig verhindert werden.Of the Invention is the object of an apparatus and a method to indicate memory units of a cache memory, in which failures of complete cache memories reliable be prevented.
Die erfindungsgemäße Vorrichtung zur Kennzeichnung von Speichereinheiten eines Cache-Speichers mit den Merkmalen des Anspruchs 1 weist den Vorteil auf, dass eine Verwendung von fehlerhaften Speicherblöcken verhindert wird. Durch die Informationseinheit, welche den Funktionszustand mindestens eines Speicherblocks des Cache-Speichers kennzeichnet, ist ein selektives Abschalten der defekten Speicherblöcke möglich, wobei die Funktionalität des verbleibenden Cache-Speichers erhalten bleibt.The Inventive device for labeling memory units of a cache having the features of Claim 1 has the advantage that a use of faulty Memory blocks is prevented. Through the information unit, which the functional state of at least one memory block of Cache memory is a selective shutdown of the defective Memory blocks possible, with the functionality of the remaining cache memory.
Vorteilhafterweise ist als Informationseinheit zur Kennzeichnung des Funktionszustandes des Speicherblockes ein Informationsbit vorhanden. Diese Kennzeichnung eignet sich nicht nur für Cache-Speicher mit einer direkten Abbildung der Speicherpositionen, sondern auch für vollassoziative und n-fach assoziative Cache-Speicher. Die erfindungsgemäße Vorrichtung lässt sich mit einem geringen Aufwand an zusätzlicher Hardware realisieren, insbesondere dann wenn eine große Anzahl von Speicherblöcken als defekt markiert werden müssen.advantageously, is as an information unit for identifying the functional state of the memory block an information bit available. This marking is not only suitable for cache memory with a direct Illustration of the memory positions, but also for fully associative and n-way associative cache memories. The inventive Device can be with a small amount of additional Realize hardware, especially if a large Number of memory blocks must be marked as defective.
In einer Weiterbildung ist jeweils ein Informationsbit zur Kennzeichnung des Funktionszustandes für jeden Speicherblock vorhanden. Durch die Verwendung dieses zusätzlichen Informationsbits für jeden Speicherblock (Cache-Line) wird dokumentiert, ob dieser Speicherblock defekt oder funktionsfähig ist.In A further development is in each case an information bit for identification the functional state for each memory block available. By using this additional informational bit for each memory block (cache line) is documented whether this memory block is defective or functional.
Als kleinste Informationseinheit enthält der Speicherblock, welcher durch das Informationsbit gekennzeichnet ist, neben der Dateninformation, ein die Gültigkeit der gespeicherten Daten anzeigendes Verwaltungsbit und eine Kennung, die auf die Adresse der Daten hinweist.When smallest unit of information contains the memory block, which is characterized by the information bit next to the Data information, a validity of the stored Data indicating the management bit and an identifier that refers to the address of the Data indicates.
Als Alternative ist jeweils ein Informationsbit für eine Mehrzahl von Speicherblöcken vorgesehen, wobei jeder Speicherblock, bestehend aus der Dateninformation, dem Verwaltungsbit und der Kennung mit demselben Index in jeweils einem anderen Cachespeicherblock angeordnet ist. Auf diese Weise können mittels eines Informationsbits mehrere der Speicherblöcke, so genannte Sets, gleichzeitig abgeschaltet werden, wodurch sich der Bedarf an Speicherplatz für die zusätzlichen Informationsbits reduziert und weniger Verwaltungsaufwand für die Organisation des Cache-Speichers notwendig ist.When Alternative is in each case an information bit for a plurality provided by memory blocks, each memory block, consisting of the data information, the management bit and the identifier with the same index in a different cache block is. In this way, by means of an information bit several of the memory blocks, called sets, at the same time be turned off, thereby reducing the need for space for reduces the extra information bits and less Administrative overhead for organizing the cache necessary is.
In einer weiteren Ausgestaltung der Erfindung ist die Informationseinheit ein Speicher, welcher dem Cache-Speicher vorgeschaltet ist und in welchem die Position des defekten Speicherblockes abgelegt ist. Register zur Speicherung von Index-Bits sowie daran angeschlossene Vergleichseinheiten können somit entfallen.In Another embodiment of the invention is the information unit a memory which precedes the cache memory and in which the position of the defective memory block is stored. Register for storing index bits and connected to them Comparative units can thus be omitted.
Vorteilhafterweise ist der Speicher mit der dem Speicher einen Index zuführenden Recheneinheit verbunden, wobei der Speicher diesen Index mit dem Index, der die Position des defekten Speicherblocks kennzeichnet, vergleicht und bei Übereinstimmung den Zugriff auf den Speicherblock unterbindet. Das Vergleichsergebnis wird dabei in den normalen Prozess des Zugriffs der Recheneinheit auf den Cache-Speicher ohne zusätzlichen Hardwareaufwand eingearbeitet und bewertet.advantageously, is the memory with the index supplying the memory Computing unit, the memory with this index Index indicating the position of the defective memory block, compares and, if they match, accesses the Memory block is disabled. The comparison result is in the normal process of access of the arithmetic unit to the cache memory incorporated and evaluated without additional hardware.
In einer Ausgestaltung sind mindestens die Recheneinheit und der Cache-Speicher auf einem Halbleitersubstrat angeordnet. Mit der erfindungsgemäßen Vorrichtung wird eine Abschaltung des kompletten Chips, der die Recheneinheit und den Cache-Speicher trägt, infolge von permanenten Defekten in lokal begrenzten Gebieten des Cache-Speichers verhindert.In One embodiment is at least the arithmetic unit and the cache memory arranged on a semiconductor substrate. With the invention Device will be a shutdown of the complete chip that the Computing unit and the cache carries, as a result of permanent defects in localized areas of the cache memory prevented.
In einer anderen Weiterbildung der Erfindung existiert ein Verfahren zur Kennzeichnung von Speichereinheiten eines Cache-Speichers, welcher als Zwischenspeicher zwischen einer Recheneinheit und einem Hauptspeicher arbeitet und der Kopien der Daten des Hauptspeichers enthält, die der Recheneinheit zur Verfügung gestellt werden. Um Ausfälle von kompletten Cache-Speichern zuverlässig zu verhindern, wird zur Erkennung des Funktionszustandes eines Speicherblockes ein Test durchgeführt, um einen defekten Speicherblock zu erkennen und durch Setzen einer Information in einer Informationseinheit den Zugriff auf den defekten Speicherblock zu unterbinden. Mittels eines solchen Softwaretests werden die defekten Speicherblöcke zuverlässig erkannt und gekennzeichnet, so dass sie im weiteren Betriebsablauf der Recheneinheit nicht mehr benutzt werden können.In Another embodiment of the invention, a method exists for characterizing memory units of a cache memory, which as a buffer between a computing unit and a main memory works and contains copies of the main memory data, which are made available to the arithmetic unit. Around Failures of complete cache storage reliable to prevent, is used to detect the functional state of a memory block a test performed to a defective memory block and by setting information in an information unit to prevent access to the defective memory block. through such a software test will be the defective memory blocks reliably recognized and marked so that they are in further operation of the arithmetic unit are no longer used can.
Alternativ zu den Sortwaretests besteht auch die Möglichkeit, Fehler während des Betriebs zu erkennen. Dazu können so genannte fehlererkennende bzw. fehlerkorrigierende Codes mit entsprechender Hardwareunterstützung genutzt werden.alternative there is also the possibility of errors in the sorting tests during operation. Can do this so-called error-detecting or error-correcting codes with appropriate hardware support can be used.
Die von der Recheneinheit geforderten Daten werden bei einem unterbundenen Zugriff auf den defekten Speicherblock aus dem Hauptspeicher geladen, wodurch sichergestellt wird, dass der Prozessablauf in der Recheneinheit korrekt weitergeführt wird.The required by the arithmetic unit data are prevented in a Access to the defective memory block loaded from main memory, thereby ensuring that the process flow in the arithmetic unit is continued correctly.
Da der Cache-Speicher über einen eigenen Cache-Controller verfügt, welcher die Zugriffe der Recheneinheit auf den Cache-Speicher und den Hauptspeicher koordiniert, erfolgt der Test am einfachsten über diesen Cache-Controller, der kontrollierte Zugriffe auf den Cache-Speicher ermöglicht. Somit lässt sich die Testsoftware besonders einfach gestalten.There the cache memory via its own cache controller has, which the accesses of the arithmetic unit to the Cache memory and the main memory coordinated, the test is done The easiest way to use this cache controller is controlled Access to the cache memory allows. Thus lets make the test software very easy.
Vorteilhafterweise erlaubt der Cache-Controller die Auswahl eines Speicherblockes eines Hauptspeicherblocks über die Erstellung eines Konfigurationsregisters innerhalb des Cache-Controllers, welches direkt von der Recheneinheit beschrieben wird. Dadurch ist ein einfacher und schneller Vergleich der getesteten Adressen möglich.advantageously, The cache controller allows the selection of a memory block of a main memory block via the creation of a configuration register within the cache controller, which is described directly by the arithmetic unit. This is a simpler way and faster comparison of the tested addresses possible.
In einer Weiterbildung wird zum kontinuierlichen Zugriff auf alle Speicherblöcke das Konfigurationsregister umprogrammiert. Somit kann der Reihe nach auf alle Datenblöcke eines Sets zugegriffen werden.In a training is for continuous access to all memory blocks reprogrammed the configuration register. Thus, in turn all blocks of a set are accessed.
Kurze Beschreibung der ZeichnungenBrief description of the drawings
Die Erfindung lässt zahlreiche Ausführungsformen zu. Eine davon soll anhand der in der Zeichnung dargestellten Figuren näher erläutert werden.The Invention allows for numerous embodiments. One of them should be based on the figures shown in the drawing be explained in more detail.
Es zeigt:It shows:
Ausführungsformen der ErfindungEmbodiments of the invention
Gleiche Merkmale sind mit gleichen Bezugszeichen gekennzeichnet.Same Features are identified by the same reference numerals.
In
Es
gibt verschiedene Arten von Cache-Speichern, die sich dadurch unterscheiden,
wie einzelne Blöcke des Hauptspeichers
Bei
einer direkten Abbildung gibt es für eine vorgegebene Adresse
nur eine Möglichkeit, wo sich die Daten innerhalb des Cache-Speichers
Bei
einer voll assoziativen Abbildung können sich die Daten
einer Adresse in jedem beliebigen Speicherblock des Cache-Speichers
Bei der n-fach assoziativen Abbildung werden n direkt zugeordnete Caches-Speicher frei angewählt.at The n-fold associative mapping becomes n directly allocated cache memory freely selected.
In
Das
Verwaltungsbit V gibt an, ob der Speicherblock
In
Beim
Zugriff der Recheneinheit
Mittels
eines Und-Gliedes
Ist
das Bit U in einem der Speicherblöcke
Bei
der in
Diese Ausführungsform findet in n-fach assoziativen Cache-Speichern Anwendung, da dadurch der Bedarf an zusätzlicher Hardware reduziert wird.These Embodiment finds in n-fold associative cache memories Application, because of the need for additional hardware is reduced.
Eine
mögliche Ausführungsform des erfindungsgemäßen
Verfahrens soll anhand von
Im
Block
Im
Block
Anstelle
des Bits U kann aber auch ein inhaltsadressierbarer Speicher
Das
Resultat des Indexvergleiches des Speichers
Durch
das Abschalten einzelner funktionsunfähiger Speicherblöcke
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list The documents listed by the applicant have been automated generated and is solely for better information recorded by the reader. The list is not part of the German Patent or utility model application. The DPMA takes over no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- - US 5708789 [0004] US 5708789 [0004]
Claims (13)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102009000141A DE102009000141A1 (en) | 2009-01-12 | 2009-01-12 | Device and method for identifying memory units of a cache memory |
CN2009801541810A CN102272740A (en) | 2009-01-12 | 2009-11-24 | Device and method for identifying sotrage units of a cache memory |
EP09801677A EP2386086A1 (en) | 2009-01-12 | 2009-11-24 | Device and method for identifying storage units of a cache memory |
PCT/EP2009/065757 WO2010079000A1 (en) | 2009-01-12 | 2009-11-24 | Device and method for identifying storage units of a cache memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102009000141A DE102009000141A1 (en) | 2009-01-12 | 2009-01-12 | Device and method for identifying memory units of a cache memory |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102009000141A1 true DE102009000141A1 (en) | 2010-07-15 |
Family
ID=41796450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102009000141A Withdrawn DE102009000141A1 (en) | 2009-01-12 | 2009-01-12 | Device and method for identifying memory units of a cache memory |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP2386086A1 (en) |
CN (1) | CN102272740A (en) |
DE (1) | DE102009000141A1 (en) |
WO (1) | WO2010079000A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5708789A (en) | 1993-11-01 | 1998-01-13 | Sgs-Thomson Microelectronics, Inc. | Structure to utilize a partially functional cache memory by invalidation of faulty cache memory locations |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080010566A1 (en) * | 2006-06-21 | 2008-01-10 | Chang Tsung-Yung Jonathan | Disabling portions of memory with non-deterministic errors |
-
2009
- 2009-01-12 DE DE102009000141A patent/DE102009000141A1/en not_active Withdrawn
- 2009-11-24 CN CN2009801541810A patent/CN102272740A/en active Pending
- 2009-11-24 EP EP09801677A patent/EP2386086A1/en not_active Withdrawn
- 2009-11-24 WO PCT/EP2009/065757 patent/WO2010079000A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5708789A (en) | 1993-11-01 | 1998-01-13 | Sgs-Thomson Microelectronics, Inc. | Structure to utilize a partially functional cache memory by invalidation of faulty cache memory locations |
Also Published As
Publication number | Publication date |
---|---|
CN102272740A (en) | 2011-12-07 |
WO2010079000A1 (en) | 2010-07-15 |
EP2386086A1 (en) | 2011-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112007003015B4 (en) | Method and device for cache-based error detection and correction in a memory | |
EP1124232B1 (en) | Integrated semiconductor memory with redundant cells | |
EP1113362B1 (en) | Integrated semiconductor memory with a memory unit for storing addresses of faulty memory cells | |
DE10225381A1 (en) | Method and device for storing memory test information | |
DE3032630A1 (en) | SEMICONDUCTOR MEMORY FROM MEMORY BLOCKS WITH REDUNDANT MEMORY AREAS | |
EP1008993B1 (en) | Writeable memory with self-test device and method therefor | |
DE102006039747A1 (en) | Context state information handling device for microprocessor, has saving region with set of segments for storing context state information, where information is restored to processor context state independent of other state information | |
DE2225841B2 (en) | Method and arrangement for systematic error checking of a monolithic semiconductor memory | |
DE19930169B4 (en) | Test device and method for testing a memory | |
DE112020003028T5 (en) | DEVICES AND METHODS FOR REPAIRING DEFECTIVE MEMORY CELLS BASED ON A SPECIFIED FAILURE RATE FOR CERTAIN MEMORY CELLS | |
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 | |
DE10147138A1 (en) | Method for integrating imperfect semiconductor memory devices in data processing devices | |
DE10337284A1 (en) | Integrated memory with an integrated memory function test circuit and method of operating the integrated memory | |
DE10256487B4 (en) | Integrated memory and method for testing an integrated memory | |
DE102009000141A1 (en) | Device and method for identifying memory units of a cache memory | |
DE10229164A1 (en) | Memory chip with a data generator and test logic and method for testing memory cells of a memory chip | |
DE10134654A1 (en) | Process for error analysis of memory modules | |
EP1113453A2 (en) | Memory circuit | |
EP1248978A2 (en) | Data memory | |
DE10155486B4 (en) | Arrangement for processing status information from external units | |
DE102005018790A1 (en) | Integrated circuit and method for operating and parallel testing integrated circuits | |
EP1100016B1 (en) | Memory device with replacement memory cells | |
EP2002446B1 (en) | Method for operating a memory unit comprising the marking of memory blocks that are identified as defective | |
DE2853165A1 (en) | ARRANGEMENT FOR SELECTING A STORAGE ELEMENT GROUP FROM A VARIETY OF STORAGE ELEMENT GROUPS IN A CACHE STORAGE UNIT | |
DE102014203963A1 (en) | Method and device for controlling a memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R005 | Application deemed withdrawn due to failure to request examination |