DE10101552A1 - Cache-Speicher und Verfahren zur Adressierung - Google Patents
Cache-Speicher und Verfahren zur AdressierungInfo
- Publication number
- DE10101552A1 DE10101552A1 DE10101552A DE10101552A DE10101552A1 DE 10101552 A1 DE10101552 A1 DE 10101552A1 DE 10101552 A DE10101552 A DE 10101552A DE 10101552 A DE10101552 A DE 10101552A DE 10101552 A1 DE10101552 A1 DE 10101552A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- cache memory
- index
- tag
- 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.)
- 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/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
Abstract
Bei dem Cache-Speicher, dessen Adressen in Tag, Index und Offset aufgeteilt sind, sind als Hardware Mittel vorhanden, die eine umkehrbar eindeutige Transformation zwischen dem jeweiligen Tag-Teil der Adresse und einer verschlüsselten Tag-Adresse vornehmen. Es kann zusätzlich das Index-Feld der Adressen des Cache-Speichers durch eine weitere umkehrbar eindeutige Abbildung, die das Index-Feld auf ein verschlüsseltes Index-Feld abbildet, verschlüsselt werden. Auch dazu wird eine entsprechend vorzusehende Hardware-Einheit verwendet.
Description
Die vorliegende Erfindung betrifft einen Cache-Speicher, der
auf einem Security-Controller verwendet wird.
Cache-Speicher sind im allgemeinen relativ kleine, aber
schnelle Pufferspeicher, die eingesetzt werden, um die La
tenzzeit beim Zugriff eines Prozessors auf langsame externe
Speicher zu reduzieren. Der Cache-Speicher überdeckt dabei
ausgewählte Adressbereiche des externen Speichers und enthält
die temporär modifizierten Daten sowie damit verbundene In
formationen, wie z. B. Informationen zur Lokalisierung der
Daten. Eine Übersicht über Cache-Speicher gibt der Artikel
von Alan Jay Smith "Cache Memories" in Computing Surveys,
Vol. 14, No. 3, September 1982, Seite 473-530. Die in Hard
ware realisierten Cache-Speicher können allgemein als ein N-
way-set-assoziatives Speicherfeld charakterisiert werden. Da
bei bedeuten die Grenzfälle N = 1 einen Speicher mit Direct
Mapping und N = M einen voll-assoziativen Cache-Speicher, wo
bei M die Gesamtzahl der Einträge im Speicher bedeutet.
Im Allgemeinen werden die Daten in Blöcken von 2b Bytes pro
Speichereintrag gespeichert. Im allgemeinen Fall eines teil
assoziativen Cache-Speichers mit N = 2n Wegen wird üblicher
weise die p Bit breite Adresse des Datums so aufgeteilt, dass
n Bit den Index, b Bit den Offset und die übrigen p - n - b
Bit das Tag bilden. Das ist in der beigefügten Figur veran
schaulicht.
Beim Zugriff auf ein Datum im Cache-Speicher, z. B. bei einem
Lese- oder Schreibvorgang, wird das Index-Feld verwendet, um
ein Set direkt zu adressieren. Das Tag-Feld wird zusammen mit
dem jeweiligen Block abgespeichert, um ihn eindeutig inner
halb eines Sets zu identifizieren. Bei einer assoziativen Su
che nach dem Block wird das Tag-Feld der Adresse mit den Tag-
Feldern in dem selektierten Set verglichen, um so den betref
fenden Block aufzufinden. Der Offset-Eintrag wird benutzt, um
das Datum im Block zu adressieren.
Derartige Cache-Speicher stellen auf Security-Controllern
leicht zu identifizierende reguläre Strukturen dar. Damit
bilden diese Cache-Speicher abgesehen von Busleitungen und
Registersätzen bevorzugte physikalische Angriffspunkte für
ein unbefugtes Ausspähen oder Manipulieren von sicherheitsre
levanten Daten, z. B. durch Nadelangriffe oder Ähnliches. In
den externen Speichern werden üblicherweise sicherheitskriti
sche Daten durch eine schwer zu decodierende Verschlüsselung
geschützt, die z. B. in Hardware implementiert sein kann.
Diese harte Ver- und Entschlüsselung mit entsprechenden Algo
rithmen führt auch bei einer Hardware-Implementierung zu ei
ner hohen Latenzzeit im Betrieb des Speichers, die sich zur
Latenzzeit des Speichers selbst addiert und dabei den über
wiegenden Anteil darstellen kann. Eine derartige Verschlüsse
lung ist ungeeignet, da auf Cache-Speicher typischerweise in
einem oder zumindest wenigen Taktzyklen zugegriffen werden
können soll. Cache-Speicher stellen also einen Schwachpunkt
im Sicherheitskonzept eines derartigen Security-Controllers
dar, wenn sie nicht anderweitig geschützt werden.
Aufgabe der vorliegenden Erfindung ist es, eine Möglichkeit
für eine wirkungsvolle und praktikable Sicherung eines Cache-
Speichers auf einem Security-Controller anzugeben.
Diese Aufgabe wird mit dem Cache-Speicher mit den Merkmalen
des Anspruches 1 bzw. mit dem Verfahren zur Adressierung ei
nes Cache-Speichers mit den Merkmalen des Anspruches 3 ge
löst. Ausgestaltungen ergeben sich aus den jeweiligen abhän
gigen Ansprüchen.
Bei dem erfindungsgemäßen Cache-Speicher sind Mittel vorhan
den, die eine umkehrbar eindeutige Transformation zwischen
dem jeweiligen Tag-Teil der Adresse und einer verschlüsselten
Tag-Adresse vornehmen. Diese Mittel sind vorzugsweise als
Hardware vorhanden. Das erfindungsgemäße Verfahren zur Adres
sierung wendet eine umkehrbar eindeutige Transformation zwi
schen einem Tag-Teil einer Cache-Adresse und einer verschlüs
selten Tag-Adresse an, was vorzugsweise unter Einsatz von da
für vorgesehenen Mitteln geschieht, die als Hardware vorhan
den sind.
Die erfindungsgemäße Lösung gibt durch Mittel und Verfahren
eine Methode an, mit der das Sicherheitsniveau von Daten bzw.
deren Adressen in Cache-Speichern erhöht werden kann, wobei
die Zugriffszeit nicht oder allenfalls unwesentlich erhöht
wird. Wie eingangs beschrieben wurde, werden in set-assozia
tiven Cache-Speichern Daten mittels eines Index-Feldes und
eines Tag-Feldes abgelegt und abgerufen. Erfindungsgemäß wird
eine umkehrbar eindeutige (ein-eindeutige) Abbildung benutzt,
mit der das Tag-Feld der Adresse auf ein verschlüsseltes Tag-
Feld abgebildet wird und umgekehrt. Blöcke werden dann im
Cache-Speicher zusammen mit dem verschlüsselten Tag-Feld ab
gelegt. Auf diese Weise ist die Adressinformation für die Da
tenblöcke effizient geschützt. Die umkehrbar eindeutige Ab
bildung wird dabei durch eine dafür vorgesehene Hardware-
Einheit durchgeführt. Diese wird bei bevorzugten Ausgestal
tungen so ausgelegt, dass die Transformation innerhalb eines
Taktzyklusses, d. h. on-the-fly, durchgeführt werden kann.
Damit wird die Zugriffszeit auf den Cache-Speicher nicht er
höht.
Als weitere Ausgestaltung der Erfindung kann zusätzlich das
Index-Feld der Adressen des Cache-Speichers durch eine weite
re umkehrbar eindeutige Abbildung, die das Index-Feld auf ein
verschlüsseltes Index-Feld abbildet, verschlüsselt werden.
Auch dazu wird eine entsprechend vorzusehende Hardware-
Einheit verwendet. Damit wird ein sogenanntes Set-Scrambling
erreicht, bei dem der im Cache-Speicher zu verwaltende Block
in einem nicht auf triviale Weise aufzufindenden Set abgelegt
wird. Eine derartige Verschlüsselung wird vorzugsweise dann
zusätzlich durchgeführt, wenn die Architektur des Prozessors
nicht vorsieht, dass auf Daten "unaligned" zugegriffen werden
kann, so dass die Daten über die Blockgrenzen hinausragen.
Eine erfindungsgemäße Ausgestaltung eines Cache-Speichers ist
insbesondere bei Cache-Speichern auf Sicherheitscontrollern
(security-controller) bevorzugt.
Claims (4)
1. Cache-Speicher,
dessen Adressen eine Aufteilung in Tag, Index und Offset auf weisen,
dadurch gekennzeichnet, dass
Mittel vorhanden sind, die eine umkehrbar eindeutige Trans formation zwischen dem jeweiligen Tag-Teil der Adresse und einer verschlüsselten Tag-Adresse vornehmen.
dessen Adressen eine Aufteilung in Tag, Index und Offset auf weisen,
dadurch gekennzeichnet, dass
Mittel vorhanden sind, die eine umkehrbar eindeutige Trans formation zwischen dem jeweiligen Tag-Teil der Adresse und einer verschlüsselten Tag-Adresse vornehmen.
2. Cache-Speicher nach Anspruch 1, bei dem
die Mittel zusätzlich eine umkehrbar eindeutige Transformati
on zwischen dem jeweiligen Index-Teil der Adresse und einer
verschlüsselten Index-Adresse vornehmen.
3. Verfahren zur Adressierung eines Cache-Speichers, bei dem
eine umkehrbar eindeutige Transformation zwischen einem Tag-
Teil einer Cache-Adresse und einer verschlüsselten Tag-Adres
se vorgenommen wird.
4. Verfahren nach Anspruch 3, bei dem
zusätzlich eine umkehrbar eindeutige Transformation zwischen
einem Index-Teil einer Cache-Adresse und einer verschlüssel
ten Index-Adresse vorgenommen wird.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10101552A DE10101552A1 (de) | 2001-01-15 | 2001-01-15 | Cache-Speicher und Verfahren zur Adressierung |
CNA018220215A CN1486463A (zh) | 2001-01-15 | 2001-12-20 | 高速缓存及寻址方法 |
JP2002556374A JP2004530962A (ja) | 2001-01-15 | 2001-12-20 | キャッシュメモリおよびアドレス指定方法 |
EP01984723A EP1352328A1 (de) | 2001-01-15 | 2001-12-20 | Cache-speicher und verfahren zur adressierung |
PCT/DE2001/004821 WO2002056184A1 (de) | 2001-01-15 | 2001-12-20 | Cache-speicher und verfahren zur adressierung |
US10/619,979 US20040015644A1 (en) | 2001-01-15 | 2003-07-15 | Cache memory and method for addressing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10101552A DE10101552A1 (de) | 2001-01-15 | 2001-01-15 | Cache-Speicher und Verfahren zur Adressierung |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10101552A1 true DE10101552A1 (de) | 2002-07-25 |
Family
ID=7670595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10101552A Withdrawn DE10101552A1 (de) | 2001-01-15 | 2001-01-15 | Cache-Speicher und Verfahren zur Adressierung |
Country Status (6)
Country | Link |
---|---|
US (1) | US20040015644A1 (de) |
EP (1) | EP1352328A1 (de) |
JP (1) | JP2004530962A (de) |
CN (1) | CN1486463A (de) |
DE (1) | DE10101552A1 (de) |
WO (1) | WO2002056184A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004055678A2 (de) * | 2002-12-16 | 2004-07-01 | Infineon Technologies Ag | Verfahren zum betrieb eines cache-speichers |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10158393A1 (de) | 2001-11-28 | 2003-06-12 | Infineon Technologies Ag | Speicher für die Zentraleinheit einer Rechenanlage, Rechenanlage und Verfahren zum Synchronisieren eines Speichers mit dem Hauptspeicher einer Rechenanlage |
US20070020639A1 (en) * | 2005-07-20 | 2007-01-25 | Affymetrix, Inc. | Isothermal locus specific amplification |
US7543122B2 (en) * | 2005-08-11 | 2009-06-02 | Research In Motion Limited | System and method for obscuring hand-held device data traffic information |
DE602005002747T2 (de) * | 2005-08-11 | 2008-02-07 | Research In Motion Ltd., Waterloo | Vorrichtung und Verfahren zur Verschleierung der Datenverkehrsinformationen eines Handcomputers |
US8819348B2 (en) * | 2006-07-12 | 2014-08-26 | Hewlett-Packard Development Company, L.P. | Address masking between users |
CN101123471B (zh) * | 2006-08-09 | 2011-03-16 | 中兴通讯股份有限公司 | 可变带宽通信寻址数据处理方法 |
US8699714B2 (en) | 2008-11-17 | 2014-04-15 | Intrinsic Id B.V. | Distributed PUF |
CN104899159B (zh) * | 2014-03-06 | 2019-07-23 | 华为技术有限公司 | 高速缓冲存储器Cache地址的映射处理方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19957810A1 (de) * | 1999-03-03 | 2000-09-07 | Via Tech Inc | Streuabbildungsverfahren für eine Cache-Speicher-Einrichtung |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5314A (en) * | 1847-10-02 | pease | ||
US5379393A (en) * | 1992-05-14 | 1995-01-03 | The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | Cache memory system for vector processing |
FR2723223B1 (fr) * | 1994-07-29 | 1996-08-30 | Sgs Thomson Microelectronics | Procede de brouillage numerique et application a un circuit programmable |
US5649143A (en) * | 1995-06-02 | 1997-07-15 | Sun Microsystems, Inc. | Apparatus and method for providing a cache indexing scheme less susceptible to cache collisions |
-
2001
- 2001-01-15 DE DE10101552A patent/DE10101552A1/de not_active Withdrawn
- 2001-12-20 CN CNA018220215A patent/CN1486463A/zh active Pending
- 2001-12-20 JP JP2002556374A patent/JP2004530962A/ja not_active Withdrawn
- 2001-12-20 EP EP01984723A patent/EP1352328A1/de not_active Ceased
- 2001-12-20 WO PCT/DE2001/004821 patent/WO2002056184A1/de not_active Application Discontinuation
-
2003
- 2003-07-15 US US10/619,979 patent/US20040015644A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19957810A1 (de) * | 1999-03-03 | 2000-09-07 | Via Tech Inc | Streuabbildungsverfahren für eine Cache-Speicher-Einrichtung |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004055678A2 (de) * | 2002-12-16 | 2004-07-01 | Infineon Technologies Ag | Verfahren zum betrieb eines cache-speichers |
DE10258767A1 (de) * | 2002-12-16 | 2004-07-15 | Infineon Technologies Ag | Verfahren zum Betrieb eines Cache-Speichers |
WO2004055678A3 (de) * | 2002-12-16 | 2005-02-17 | Infineon Technologies Ag | Verfahren zum betrieb eines cache-speichers |
Also Published As
Publication number | Publication date |
---|---|
US20040015644A1 (en) | 2004-01-22 |
CN1486463A (zh) | 2004-03-31 |
WO2002056184A1 (de) | 2002-07-18 |
EP1352328A1 (de) | 2003-10-15 |
JP2004530962A (ja) | 2004-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112005002298B4 (de) | Leistungssteigerung einer Adreßübersetzung unter Verwendung von Übersetzungstabellen, die große Adreßräume umfassen | |
DE69635663T2 (de) | vERFAHREN FÜR DAS EINSPEICHERN VON DATEN IN EINEM FLASH-EEPROM-HAUPTSPEICHER IN EINEM RECHNERSYSTEM | |
DE69130086T2 (de) | Mehrstufeneinschluss in mehrstufigen Cache-Speicherhierarchien | |
DE69432314T2 (de) | Cachespeicher mit aufgeteiltem pegel | |
DE102010013389B4 (de) | Verfahren und System zum Durchführen von Caching, basierend auf der Heuristik auf Dateiebene | |
DE60017870T2 (de) | Eine halbleiterspeicherkarte-zugangsanordnung, ein rechnerlesbares aufzeichnungsmedium, initialisierungsverfahren,und eine halbleiterspeicherkarte | |
DE69432133T2 (de) | Datenprozessor mit Cache-Speicher | |
EP1246043B1 (de) | Verfahren zur Übertragung von Daten über einen Datenbus | |
DE68923863T2 (de) | Ein-/Ausgabecachespeicherung. | |
DE102005022893B3 (de) | Verfahren zum Zugreifen auf Speicherbereiche einer Speicherkarte durch eine anfordernde Anwendung und Speicherkarte | |
DE102019125059A1 (de) | Abbildung für multi-state-programmierung von speichervorrichtungen | |
DE112019001863T5 (de) | Verwenden von spursperren und schrittweitengruppensperren zum verwalten von cacheoperationen | |
DE19914730A1 (de) | Verfahren zum Verhindern eines Datenübertrags an beschädigte Adressen | |
GB9519669D0 (en) | Flash memory management system | |
DE112006001642T5 (de) | Adressfensterunterstützung für Direktspeicherzugriffsumsetzung | |
DE102016001591A1 (de) | System und Verfahren für Copy-On-Write auf einer SSD | |
DE112014000311B4 (de) | Absichern der Inhalte einer Speichereinheit | |
DE102010053282A1 (de) | Modifizierter B+ Baum zum Speichern von Nand-Speicher Umleitungszuordnungen | |
DE10101552A1 (de) | Cache-Speicher und Verfahren zur Adressierung | |
DE102015010906A1 (de) | Verfahren und Einrichtung zum Erzeugen von Inhaltsleere über Mülldaten, wenn Verschlüsselungsparameter geändert werden | |
DE102020115970B3 (de) | Befehlsoptimierung durch intelligente schwellwertdetektion | |
DE112019000627T5 (de) | Speicherstrukturbasiertes Coherency Directory Cache | |
DE112004000694B4 (de) | Ein Verfahren und eine Vorrichtung zur Verbesserung der Multi-CPU-Systemleistung für Speicherzugriffe | |
DE102020133130A1 (de) | Speicherrank-entwurf für einen speicherkanal, der für grafikanwendungen optimiert ist | |
DE3832758C2 (de) | Verfahren zum Adressieren eines im Rückschreib-Modus betriebenen virtuellen Cache-Speichers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8139 | Disposal/non-payment of the annual fee |