DE112019000488T5 - Speichervorrichtung, Speicheradressdecoder, System und zugehöriges Verfahren zur Erfassung eines Speicherangriffs - Google Patents

Speichervorrichtung, Speicheradressdecoder, System und zugehöriges Verfahren zur Erfassung eines Speicherangriffs Download PDF

Info

Publication number
DE112019000488T5
DE112019000488T5 DE112019000488.3T DE112019000488T DE112019000488T5 DE 112019000488 T5 DE112019000488 T5 DE 112019000488T5 DE 112019000488 T DE112019000488 T DE 112019000488T DE 112019000488 T5 DE112019000488 T5 DE 112019000488T5
Authority
DE
Germany
Prior art keywords
decoder
memory
error
detection logic
error detection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112019000488.3T
Other languages
English (en)
Inventor
Lorenzo Bedarida
Simone Bartoli
Albert S. Weiner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of DE112019000488T5 publication Critical patent/DE112019000488T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/024Detection or location of defective auxiliary circuits, e.g. defective refresh counters in decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/20Address safety or protection circuits, i.e. arrangements for preventing unauthorized or accidental access
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Eine Speichervorrichtung, ein Speicheradressdecoder, ein Speichersystem und ein zugehöriges Verfahren zur Erfassung eines Speicherangriffs sind offenbart. Eine Einrichtung schließt einen Speicherdecoder, einschließlich mehrerer Stufen in einem Decodierpfad, der konfiguriert ist, um ein Auswahlsignal von einem Eingangsadresssignal zu erzeugen, und Fehlererfassungslogik ein, die wirksam mit dem Speicherdecoder gekoppelt ist und konfiguriert ist, um Rückkopplungssignale, die von den mehreren Stufen verteilt sind, die auf einen Fehler entlang des Decodierpfades hinweisend sind, zu empfangen.

Description

  • PRIORITÄTSANSPRUCH
  • Diese Anmeldung beansprucht den Vorteil des Anmeldedatums der vorläufigen US-Patentanmeldung Serien-Nr. 62/620,699, eingereicht am 23. Januar 2018, für „MEMORY DEVICE, MEMORY ADDRESS DECODER, SYSTEM AND RELATED METHOD FOR MEMORY ATTACK DETECTION“ und beansprucht den Vorteil des Anmeldedatums der anhängigen US-Patentanmeldung Serien-Nr. 15/956,526, eingereicht am 18. April 2018, für „MEMORY DEVICE, MEMORY ADDRESS DECODER, SYSTEM, AND RELATED METHOD FOR MEMORY ATTACK DETECTION“, welche ebenso die Priorität der vorläufigen US-Patentanmeldung Serien-Nr. 62/620,699 beansprucht, deren Inhalte und Offenbarung jeweils hierin in ihrer Gesamtheit durch diese Bezugnahme aufgenommen sind.
  • TECHNISCHES GEBIET
  • Die hierin beschriebenen Ausführungsformen beziehen sich allgemein auf Speichersysteme und Fehlererfassung innerhalb von Speichersystemen.
  • STAND DER TECHNIK
  • Die Fehlereinstreuung ist ein Angriffsverfahren auf Chips mit einer sicheren integrierten Schaltung (IC-Chips). Es gibt viele Formen von Fehlereinstreuung, einschließlich Stromversorgungsauslenkung, Temperaturspitzen, IR-Laserlicht, logischer Angriff, fokussierter Ionenstrahl und Mikrosondierung. Diese Verfahren können vorgesehen sein, um den normalen Betrieb des sicheren Chips zu unterbrechen, mit der Absicht, ein inkorrektes Ausführen des Chips zu verursachen (z. B. verursachen, dass der Speicher falsch adressiert wird) und Zugang zu geschützten Inhalten zu ermöglichen oder einen inkorrekten Code zu validieren. Ein Beispiel einer bestehenden Technik zum Erfassen eines solchen Angriffs ist es, einen Nur-LeseSpeicher (ROM) zu koppeln, der die Wortleitungen an dem Ende des Speicherarrays teilt, so wie es in dem US-Patent 9,824,732 , erteilt am 21. November 2017, mit dem Titel „Memory System with Encoding“ beschrieben ist. Solch ein System kann Nachteile haben, wie beispielsweise den Bedarf, Latches hinzuzufügen, die Ergebnisse speichern, wenn der Lesevorgang endet, die Komplexität der Taktsignale, Vorladephase, und das Erfassen eines Schreibangriffs. Zusätzliche herkömmliche Verfahren können ein Exportieren einer Adresse außerhalb des Speicherarrays einschließen, um eine Integritätsprüfung durchzuführen. Diese und andere Verfahren zum Erfassen und Abmildern der Fehlereinstreuung können andere Nachteile haben.
  • OFFENBARUNG
  • In einer Ausführungsform umfasst eine Einrichtung einen Speicherdecoder, einschließlich mehrerer Stufen in einem Decodierpfad, der konfiguriert ist, um ein Auswahlsignal von einem Eingangsadresssignal zu erzeugen, und Fehlererfassungslogik, die wirksam mit dem Speicherdecoder gekoppelt ist und konfiguriert ist, um Rückkopplungssignale, die von den mehreren Stufen verteilt sind, die auf einen Fehler entlang des Decodierpfades hinweisend sind, zu empfangen.
  • In einer anderen Ausführungsform ist ein Verfahren zum Erfassen eines Fehlers innerhalb einer Speichervorrichtung offenbart. Das Verfahren umfasst ein Decodieren eines Eingangssignals über einen Speicherdecoder, einschließlich mehrerer Stufen in einem Decodierpfad, um ein Auswahlsignal von einem Eingangsadresssignal zu erzeugen, ein Erzeugen von Rückkopplungssignalen, die innerhalb der mehreren Stufen verteilt sind, und ein Übermitteln der Rückkopplungssignale an eine Fehlererfassungslogik, die auf einen Fehler entlang des Decodierpfades hinweisend sind.
  • In einer anderen Ausführungsform ist ein Verfahren zum Erfassen eines Fehlers innerhalb einer Speichervorrichtung offenbart. Das Verfahren umfasst ein Erfassen, über Fehlererfassungslogik für die Speichervorrichtung, eines Fehlers entlang eines Decodierpfades als Reaktion auf Rückkopplungssignale, die von mehreren Stufen eines Speicherdecoders der Speichervorrichtung verteilt sind, und ein Erzeugen eines Fehleralarmsignals als Reaktion auf das Erfassen des Fehlers.
  • Figurenliste
  • Während diese Offenbarung mit Ansprüchen endet, die bestimmte Ausführungsformen besonders hervorheben und deutlich beanspruchen, können verschiedene Merkmale und Vorteile von Ausführungsformen innerhalb des Schutzumfangs dieser Offenbarung leichter aus der folgenden Beschreibung bei Lesen in Verbindung mit den beigefügten Zeichnungen ermittelt werden, in denen:
    • 1 ein vereinfachtes schematisches Blockdiagramm eines Speichersystems mit Fehlererfassung gemäß Ausführungsformen der Offenbarung ist;
    • 2 ein vereinfachtes schematisches Blockdiagramm eines Fehlererfassers und Decoders gemäß einer Ausführungsform der Offenbarung ist;
    • 3 ein schematisches Schaltungsdiagramm der Decoderschaltungsanordnung und der integrierten Fehlererfassungsschaltungsanordnung ist;
    • 4 ein schematisches Schaltungsdiagramm der Decoderschaltungsanordnung und der integrierten Fehlererfassungsschaltungsanordnung ist;
    • 5 ein Flussdiagramm ist, das ein Verfahren zur Fehlererfassung innerhalb eines Adressdecoders einer Speichervorrichtung veranschaulicht;
    • 6 ein vereinfachtes schematisches Blockdiagramm eines elektronischen Beispielsystems ist, das ein Speichersystem mit Fehlererfassung gemäß Ausführungsformen der Offenbarung einschließt.
  • ART(EN) ZUM AUSFÜHREN DER ERFINDUNG
  • In der folgenden detaillierten Beschreibung wird auf die beigefügten Zeichnungen Bezug genommen, die einen Teil hiervon bilden und in denen zur Veranschaulichung spezifische Ausführungsformen gezeigt sind, in denen die Offenbarung ausgeführt werden kann. Diese Ausführungsformen werden ausreichend detailliert beschrieben, um es dem Durchschnittsfachmann zu ermöglichen, die Offenbarung auszuführen. Es versteht sich jedoch, dass die detaillierte Beschreibung und die spezifischen Beispiele, während sie Beispiele von Ausführungsformen der Offenbarung angeben, nur zur Veranschaulichung und nicht zur Einschränkung gegeben sind. Aus dieser Offenbarung können verschiedene Ersetzungen, Modifikationen, Ergänzungen Umgestaltungen oder Kombinationen davon innerhalb des Schutzumfangs der Offenbarung vorgenommen werden und für den Durchschnittsfachmann deutlich werden.
  • Gemäß der üblichen Praxis sind verschiedene Merkmale, die in den Zeichnungen veranschaulicht sind, möglicherweise nicht maßstabsgetreu gezeichnet. Die hierin dargestellten Veranschaulichungen sollen keine tatsächlichen Ansichten einer bestimmten Einrichtung (z. B. Vorrichtung, System, usw.) oder eines bestimmten Verfahrens sein, sondern sind lediglich Darstellungen, die zum Beschreiben verschiedener Ausführungsformen der Offenbarung verwendet werden. Dementsprechend können die Abmessungen der verschiedenen Merkmale zur Verdeutlichung beliebig erweitert oder reduziert sein. Zusätzlich können manche der Zeichnungen zur Verdeutlichung vereinfacht sein. Somit können die Zeichnungen möglicherweise nicht alle Komponenten von einer gegebenen Einrichtung oder alle Vorgänge eines bestimmten Verfahrens darstellen.
  • Hierin beschriebene Informationen und Signale können unter Verwendung beliebiger von einer Vielfalt von Technologien und Techniken dargestellt werden. Zum Beispiel können Daten, Anweisungen, Befehle, Informationen, Signale, Bits, Symbole und Chips, auf die in der Beschreibung Bezug genommen werden kann, durch Spannungen, Ströme, elektromagnetische Wellen, Magnetfelder oder -partikel, optische Felder oder Partikel oder eine beliebige Kombination davon dargestellt sein. Manche Zeichnungen können Signale zur Verdeutlichung der Darstellung und Beschreibung als ein einzelnes Signal veranschaulichen. Es sollte für den Durchschnittsfachmann ersichtlich sein, dass das Signal einen Bus von Signalen darstellen kann, wobei der Bus eine Vielfalt von Bitbreiten aufweisen kann und die Offenbarung auf einer beliebigen Anzahl von Datensignalen, einschließlich eines einzelnen Datensignals, implementiert werden kann.
  • Es versteht sich, dass jede Bezugnahme auf ein Element hierin unter Verwendung einer Bezeichnung wie beispielsweise „erste/r/s“, „zweite/r/s“ usw. die Menge oder Reihenfolge dieser Elemente nicht einschränkt, es sei denn, eine solche Einschränkung wird ausdrücklich angegeben. Vielmehr werden diese Bezeichnungen hierin als ein zweckmäßiges Verfahren zum Unterscheiden zwischen zwei oder mehr Elementen oder Instanzen eines Elements verwendet. Eine Bezugnahme auf ein erstes und zweites Element bedeutet also nicht, dass nur zwei Elemente eingesetzt werden dürfen oder dass das erste Element dem zweiten Element in irgendeiner Weise vorhergehen muss. Ebenso kann ein Satz von Elementen, sofern nicht anders angegeben, ein oder mehrere Elemente umfassen. Ebenso können manchmal Elemente, auf die in der Singularform Bezug genommen wird, auch eine oder mehrere Instanzen des Elements einschließen.
  • Ausführungsformen beziehen sich allgemein auf Techniken zur Fehlererfassung eines sicheren Systems oder einer Speichervorrichtung, die konfiguriert ist, um sichere Informationen zu speichern. Ein Angreifer könnte möglicherweise versuchen, Fehler in die Speichervorrichtung einzustreuen (z. B. über IR-Licht), in der Absicht, dass die aus einem Block gelesenen Daten zu einem kritischen Zeitpunkt der Ausführung geändert werden. Ausführungsformen der Offenbarung können in Verbindung mit einem Speicherarray, Zeilendecoder, Spaltendecoder, Spalten-Eingabe/Ausgabe-Modul (E/A-Modul), Logik, und/oder Encoder implementiert werden. Das Speicherarray kann mehrere Speicherzellen einschließen, die mit Wortleitungen und Bitleitungen gekoppelt sind. Ein Fehlererfasser kann innerhalb des Zeilendecoders und/oder des Spaltendecoders implementiert sein. Das Speicherarray kann als RAM, ROM, Flash-Speicher oder als andere Speicherkonfigurationen konfiguriert sein. Ausführungsformen der Offenbarung können auch ein Mikrocontrollersystem, einschließlich einer daran gekoppelten Speichervorrichtung, einschließen. Die Speichervorrichtung kann eine interne Fehlererfassungs- und Adressintegritätsverwaltungs-Funktionalität, wie hierin beschrieben, einschließen. Solch ein Mikrocontrollersystem kann einen oder mehrere von einem Prozessor, Direktspeicherzugriff (DMA), Peripherievorrichtungen, Speichercontroller, der an den Systembus zusammen mit der Speichervorrichtung gekoppelt ist, einschließlich der Fehlererfassung einschließen. Ein Systembus kann einen Datenbus, einen Adressbus und einen Steuerbus einschließen. Adresssignale werden auf dem Adressbus durch einen Speichercontroller und/oder einen DMA zum Lesen oder Schreiben von einer Speichervorrichtung platziert. Die Speichervorrichtung schließt ein Speicherarray und andere Schaltungsanordnungen und/oder Logik ein, um die hierin beschriebenen Prozesse und die hierin beschriebene Fehlererfassung durchzuführen. Ausführungsformen der vorliegenden Offenbarung schließen auch eingebettete Systeme mit Speicher ein, wie beispielsweise in Controllern, die für verschlüsselte Kommunikation, ATMs oder andere Systeme verwendet werden. Zusätzliche Ausführungsformen schließen sichere Systeme ein, einschließlich solcher, in denen Vor-Codierpfade und/oder Decoderpfade sichere Pfade sind.
  • 1 ist ein vereinfachtes schematisches Blockdiagramm eines Speichersystems 100 mit Fehlererfassung gemäß Ausführungsformen der Offenbarung. Das Speichersystem 100 kann ein Speicherarray 110, einen Zeilendecoder 120, einen Spaltendecoder 130, ein Spalten-Eingabe-/Ausgabe-Modul (E/A-Modul) 140, eine Logik 150 und eine Fehlererfassungslogik 160 einschließen. Das Speicherarray 110 schließt Wortleitungen 112 und Bitleitungen 114 ein, die wirksam mit Speicherzellen 116 gekoppelt sind. Das Speicherarray 110 kann als RAM, ROM, EEPROM, Flash-Speicher oder als andere Speicherkonfigurationen konfiguriert sein.
  • Im Betrieb werden Eingangsadresssignale durch den Zeilendecoder 120 und den Spaltendecoder 130 empfangen. Der Zeilendecoder 120 und der Spaltendecoder 130 sind konfiguriert, um die Anzahl der Eingangsadresssignale auf eine kleinere Anzahl von Auswahlsignalen zum Auswählen von Speicherzellen 116 aus dem Speicherarray 110 zu reduzieren. Die Decoder 120, 130 decodieren die Eingangsadresssignale und wählen unter Verwendung der Wortleitungen 112 und Bitleitungen 114 ein Speicherelement in dem Speicherarray 110 aus (z. B. eine oder mehrere Speicherzellen 116 wie beispielsweise ein Byte). Der Zeilendecoder 120 und der Spaltendecoder 130 können jeweils Logikgatter zum Auswählen von Wortleitungen 112 und Bitleitungen 114 einschließen. Das Spalten-E/A-Modul 140 kann eine Schaltungsanordnung (z. B. Multiplexer, Puffer, Leseverstärker) zum Lesen von Daten von und zum Schreiben von Daten in die ausgewählten Speicherzellen 116 einschließen. Das Lesen und Schreiben von Daten von und in die ausgewählten Speicherzellen 116 kann durch Steuersignale gesteuert werden, die durch die Logik 150 erzeugt werden.
  • Die Fehlererfassungslogik 160 kann konfiguriert sein, um Rückkopplungssignale 102 von Fehlererfassungselementen zu empfangen, die in den verschiedenen Stufen zum Erfassen möglicher Angriffe verteilt sind. Jede Stufe kann an die Fehlererfassungslogik 160 zurückberichten, die konfiguriert ist, um die Rückkopplungssignale von jeder Stufe zu analysieren und zu bestimmen, ob ein Fehler vorliegt, wie unten detaillierter erörtert wird. Die Fehlererfassungslogik 160 kann einen Fehleralarmsignal erzeugen, als Reaktion auf ein Bestimmen des Vorhandenseins des Fehlers entlang des Decoderpfades.
  • Obwohl die Fehlererfassungslogik 160 in 1 mit dem Zeilendecoder 120 implementiert gezeigt ist, schließen Ausführungsformen der Offenbarung auch eine Implementierung der Fehlererfassungslogik 160 mit dem Spaltendecoder 130 ein. Ausführungsformen können auch jeden des Zeilendecoders 120 und des Spaltendecoders 130, die mit der Fehlererfassungslogik 160 gekoppelt sind, oder eine getrennte Fehlererfassungslogik, dediziert für jeden des Zeilendecoders 120 und des Spaltendecoders 130, einschließen. Die Fehlererfassungslogik 160 kann innerhalb der Speichervorrichtung und/oder außerhalb der Speichervorrichtung (z. B. innerhalb des Mikrocontrollers oder einer anderen Vorrichtung) eines elektronischen Systems (6) angeordnet sein. In manchen Ausführungsformen können Abschnitte der Fehlererfassungslogik 160 über verschiedene Vorrichtungen des Systems verteilt sein. Zum Beispiel können manche Rückkopplungssignale durch die Speichervorrichtung empfangen und analysiert werden, und andere Rückkopplungssignale können durch den Mikrocontroller oder jede andere Kombination von Vorrichtungen innerhalb des Systems empfangen und analysiert werden.
  • Ausführungsformen der Offenbarung schließen eine Einrichtung, umfassend einen Speicherdecoder, einschließlich mehrerer Stufen in einem Decodierpfad, der konfiguriert ist, um ein Ausgangssignal von einem Eingangsadresssignal zu erzeugen, und Fehlererfassungslogik ein, die wirksam mit dem Speicherdecoder gekoppelt ist und konfiguriert ist, um Rückkopplungssignale, die von den mehreren Stufen verteilt sind, die auf einen Fehler entlang des Decodierpfades hinweisend sind, zu empfangen.
  • 2 ist ein vereinfachtes schematisches Blockdiagramm eines Fehlererfassers und Decoders 200 gemäß einer Ausführungsform der Offenbarung. Der Fehlererfasser und Decoder 200 schließt die Fehlererfassungslogik 160, einen globalen Decoder 220, einen lokalen Decoder 230 und einen Zeilendecoder 240 ein, die wirksam in Reihe geschaltet sind, um eine Eingangsadresse (z. B. add<4:0>), die von dem Speichercontroller kommend empfangen wurde, zu einem Auswahlsignal (z. B. w1<31:0>) zu decodieren, zum Zugreifen auf die ausgewählte Wortleitung oder Bitleitung des Speicherarrays ( 1). Die Eingangsadresse kann eine binäre Zahl mit Werten 0 bis zur höchsten nummerierten Zeile sein. Das resultierende Auswahlsignal wird für die Zeile selbst erzeugt, die ausgewählt (d. h. aktiviert) wird. Wie oben erörtert, kann die Fehlererfassungslogik 160 mit einem Zeilendecoder und/oder einem Spaltendecoder implementiert sein. Als solche können die Decoderstufen 220, 230, 240 entweder Teil des Zeilendecoders oder des Spaltendecoders von 1 sein.
  • Das Decodieren der Eingangsadresse zum Auswahlsignal erfolgt stufenweise, wie beispielsweise der globale Decoder 220, der die Eingangsadresse zu einer ersten Zwischenadresse decodiert (z. B. xpg/xpi/xpw<7:0>), die dann zu einer zweiten Zwischenadresse (z. B. inwl<31:0>) und weiter zu dem Auswahlsignal decodiert wird. Das in 2 gezeigte Auswahlsignal ist eine Wortleitungs-Auswahladresse. Während Fehlererfassungselemente innerhalb eines Zeilendecoders oder eines Spaltendecoders implementiert und verteilt sein können, kann das Auswahlsignal eine Wortleitungsadresse oder eine Bitleitungsadresse abhängig von der Art des Decoders sein. In manchen Ausführungsformen kann jeder des Zeilendecoders oder des Spaltendecoders seinen eigenen Fehlererfasser einschließen. Zusätzlich decodiert das in 2 gezeigte Beispiel (und stellt eine Fehlererfassung bereit für) ein 5-Bit-Eingangsadresssignal von dem Speichercontroller in ein 32-Bit-Auswahlsignalsignal an das Speicherarray. Unterschiedliche Größen von Speicherarrays werden in Betracht gezogen. Der Decoder kann skaliert werden, wie von dem Durchschnittsfachmann verstanden wird, um die Größe des Speicherarrays und der benötigten Adressen aufzunehmen. Zum Beispiel können zusätzliche Stufen zu dem Decodierpfad hinzugefügt werden.
  • Der globale Decoder 220 ist eine Vorcodierstufe, die konfiguriert ist, um die erste Zwischenadresse von der Eingangsadresse zu erzeugen. Bezugnehmend auf 2 kann der globale Decoder 220 add<2:0> verwenden, um xpw<7:0> zu erzeugen, add<3>, um xpwi<2:0> zu erzeugen, und add<4>, um xpg<1:0> zu erzeugen. Der lokale Decoder 230 ist eine Decodierstufe, die konfiguriert ist, um die zweite Zwischenadresse von der ersten Zwischenadresse zu erzeugen. Zum Beispiel können die ersten Zwischenadressen xpw<7:0> + xpwi<1:0> + xpg<1:0> verwendet werden, um inw1<31:0> zu erzeugen. Der Zeilendecoder 240 kann eine Enddecodierstufe sein, die konfiguriert ist, um das Auswahlsignal von der zweiten Zwischenadresse (oder vorherigen Zwischenadresse, falls mehr Stufen vorhanden sind) zu erzeugen. Zum Beispiel kann die zweite Zwischenadresse inwl<31:0> verwendet werden, um das Auswahlsignal w1<31:0> zu erzeugen.
  • Wie oben erörtert können Ausführungsformen der Offenbarung die Fehlererfassungselemente, die über den verschiedenen Stufen verteilt sind, zum Regenerieren der ursprünglichen Adressen und zum Erfassen möglicher Angriffe einschließen. Jede Stufe kann an die Fehlererfassungslogik 160 zurückberichten, die konfiguriert ist, um die Rückkopplungssignale von jeder Stufe zu analysieren und zu bestimmen, ob ein Fehler vorliegt.
  • Der Fehlererfasser und Decoder 200 schließt auch einen globalen Encoder 250 ein, der wirksam mit dem Ausgang des globalen Decoders 220 gekoppelt ist. Der globale Encoder 250 empfängt die ersten Zwischenausgabe von dem globalen Decoder 220 und ist konfiguriert, um einen Codierungsvorgang durchzuführen, der das Gegenteil des globalen Decoders 220 ist. Als ein Ergebnis ist der globale Encoder 250 konfiguriert, um eine Replikatadresse (z. B. add rep<4:0>) zu erzeugen, die an die Fehlererfassungslogik 160 übermittelt wird. Die Fehlererfassungslogik 160 kann die Replikatadresse mit der ursprünglichen Eingangsadresse von dem Speichercontroller vergleichen, um zu bestimmen, ob sie gleich sind. Falls nicht, wird ein Fehler erfasst und es ist bekannt, dass mindestens der globale Decoder 220 kompromittiert wurde. Der lokale Decoder 230 schließt eine Decoderschaltungsanordnung und integrierte Fehlererfassungsschaltungsanordnung ein, die konfiguriert sind, um einen möglichen Angriff auf Zwischen-Decodiersignale zu erfassen.
  • 3 ist ein schematisches Schaltungsdiagramm 300 eines Abschnitts einer Decoderschaltungsanordnung 302 bis 308 und der integrierten Fehlererfassungsschaltungsanordnung 312 bis 318 für den lokalen Decoder 230 ( 2). Der in 3 gezeigte Abschnitt der Decoderschaltungsanordnung 302 bis 308 erzeugt einen Abschnitt (z. B. inwl<3:0>) aus den zweiten Zwischenadressen (z. B. inwl<31:0>) von den ersten Zwischenadressen xpw<7:0> + xpwi<1:0> + xpg<1:0>, die durch den globalen Decoder 220 empfangen wurden (2). Es versteht sich, dass zusätzliche Abschnitte der Decoderschaltungsanordnung und der integrierten Fehlererfassungsschaltungsanordnung hinzugefügt werden können, um den lokalen Decoder abhängig von der Größe des Speicherarrays zu skalieren.
  • Die integrierte Fehlererfassungsschaltungsanordnung 312 bis 318 ist konfiguriert, um basierend auf einem Analysieren eines Bits zusammen mit einem anderen Bit innerhalb seines jeweiligen Decoderpfades zu bestimmen, ob jedes Ausgangsbit seines Decoderpfades das korrekte Bit ist. In manchen Ausführungsformen können das Ausgangsbit und das andere Bit innerhalb des Decoderpfades mit einem AND-Vorgang verglichen werden. Zum Beispiel kann jeder Abschnitt der Decoderschaltungsanordnung 302 bis 308 mit einer jeweiligen integrierten Fehlererfassungsschaltung 312 bis 318 gekoppelt sein, die das erste Ausgangsbit inwl<0> der zweiten Zwischenadressen und mindestens ein zusätzliches Bit aus dem Decoderpfad empfängt (z. B. das Steuerbit, das in einen Inverter eingegeben wird, um das erste Ausgangsbit inwl<0> zu erzeugen). Zum Beispiel kann die integrierte Fehlererfassungsschaltung 312 mindestens zwei Transistoren einschließen, die in Reihe geschaltet sind, die durch inwl<0> und sein vorheriges Steuerbit gesteuert werden. Die in Reihe geschalteten Transistoren sind ferner zwischen GND und einem resistiven Pull-Up-Transistor gekoppelt. Jeder resistive Pull-Up-Transistor kann einen P-Kanal-Transistor einschließen, der mit der VDD-Stromquelle gekoppelt ist, und sein Gate ist mit GND verbunden, um jedes Rückkopplungsausgangsbit inwl<0> bis inwl<4> auszugeben.
  • Die Steuerbits sollten entgegengesetzt sein, wenn kein Fehler vorliegt. Somit können eine durch die integrierten Fehlererfassungsschaltung 312 empfangene 0 und 1 eine 0 erzeugen, die bewirkt, dass ihr jeweiliger Pull-Up-Transistor aktiviert wird, damit das Zwischenrückkopplungssignal inwl ok<0> auf VDD hochgezogen werden kann, was anzeigt, dass kein Fehler vorhanden ist. Wenn eine 1 und eine 1 durch die integrierte Fehlererfassungsschaltung 312 empfangen werden, kann eine 1 erzeugt werden, die den jeweiligen Pull-Up-Transistor überschreibt, damit das Zwischenrückkopplungssignal inw1_ok<0> nicht hochgezogen wird - was somit anzeigt, dass ein Fehler vorhanden ist. In dieser Ausführungsform können eine 0 und eine 0 eine 0 ergeben, die ihren jeweiligen Pull-Up-Transistor aktiviert. Selbst wenn das Empfangen einer 0 und einer 0 technisch durch einen Fehler verursacht werden kann, kann die Fehlererfassungslogik immer noch ein Bit ausgeben, das anzeigt, dass kein Fehler vorhanden ist, um Platz zu sparen. In manchen Ausführungsformen können verschiedene Schaltungskonfigurationen und/oder logische Funktionen implementiert werden. Zum Beispiel kann ein XOR-Gatter verwendet werden, das die Genauigkeit auf Kosten einer zusätzlichen Schaltungsanordnung verbessern kann. Andere Konfigurationen werden ebenfalls in Betracht gezogen, wie beispielsweise Transistoren, die als ein AND-Gatter in Reihe zwischen VDD und inlw_ok<0> geschaltet sind. Zusätzlich können verschiedene Konfigurationen und logischen Funktionen zu verschiedenen Konfigurationen (oder Abwesenheit) der Pull-Up-Transistoren führen.
  • Andere Bits können verwendet werden, um das Vorhandensein eines Fehlers zu bestimmen. Zum Beispiel können das Steuerbit und das invertierte Ausgangsbit inwln<0> verglichen werden, die eher gleich als gegensätzlich sein sollten. In diesem Fall kann ein NAND-Gatter verwendet werden, so dass eine durch die integrierte Fehlererfassungsschaltung 312 empfangene 1 und eine 1 eine 0 erzeugen können, damit ein Zwischenrückkopplungssignal inwl_ok<0> anzeigen kann, dass ein Fehler nicht vorhanden ist, während eine 0 und eine 1, eine 1 und eine 0 oder eine 0 und eine 0, die durch die integrierte Fehlererfassungsschaltung 312 empfangen wurden, eine 1 erzeugen können, damit ein Zwischenrückkopplungssignal inwl_ok<0> anzeigen kann, dass ein Fehler vorhanden ist. Andere Gatter, wie beispielsweise OR oder NOR, können ebenfalls implementiert werden, abhängig davon, welche Kombinationen von Bits zum Bestimmen des Vorhandenseins eines Fehlers analysiert werden sollen.
  • Das Ergebnis dieser Analyse kann zurück an die Fehlererfassungslogik 160 als inwl_ok<7:0> übermittelt werden. Die Fehlererfassungslogik 160 kann jedes Bit des Zwischenrückkopplungssignals inwl_ok<7:0> analysieren, um zu bestimmen, ob irgendwelche Werte anzeigen, dass ein Fehler erfasst wurde. In manchen Ausführungsformen übermittelt der lokale Decoder 230 ein einziges Zwischenrückkopplungssignal inwl_ok im Gegensatz zu einem Bus von Rückkopplungssignalen (z. B. inwl<7:0>). In einer solchen Ausführungsform kann das einzelne Zwischenrückkopplungssignal inwl_ok innerhalb des lokalen Decoders 230 erzeugt werden, indem jedes Bit der inwl_ok<7:0>-Signale (z. B. über einen AND-Vorgang) vor dem Übermitteln des singulären Zwischenrückkopplungssignals inwl_ok zu der Fehlererfassungslogik 160 verglichen wird. Somit kann das singuläre Zwischenrückkopplungssignal inwl_ok das Vorhandensein eines Fehlers anzeigen, wenn eines der Bits der inwl_ok<7:0>-Signale einen Fehler anzeigt, und das singuläre Zwischenrückkopplungssignal inwl_ok kann die Abwesenheit eines Fehlers anzeigen, wenn alle Bits des inwl_ok<7:0>-Signals die Abwesenheit eines Fehlers anzeigen. Als ein Ergebnis kann ein Bit für diese Stufe durch die Fehlererfassungslogik 160 übermittelt und empfangen werden anstatt acht Bits.
  • Der Zeilendecoder 240 (oder Spaltendecoder) kann die Endstufe sein, die eine Decoderschaltungsanordnung und eine integrierte Fehlererfassungsschaltungsanordnung einschließt, die konfiguriert sind, um einen möglichen Angriff auf die Endstufe von Decodiersignalen zu erfassen.
  • 4 ist ein schematisches Schaltungsdiagramm 400 einer Decoderschaltungsanordnung 402 und einer integrierten Fehlererfassungsschaltungsanordnung 412 für den Zeilendecoder 240 (2). Die integrierte Fehlererfassungsschaltungsanordnung 412 ist konfiguriert, um zu bestimmen (z. B. über einen AND-Vorgang oder einen anderen Vorgang wie gewünscht), wie jedes Ausgangsbit ihres Decoderpfades verglichen mit einem anderen Bit innerhalb des Decoderpfades, um zu bestimmen, ob das Bit sein korrekter Wert ist. Das Ergebnis dieses Vergleichs kann zurück an die Fehlererfassungslogik 160 als wl_ok<31:0> übermittelt werden. Die Fehlererkennungsschaltungsanordnung 412 kann seriell gekoppelte Transistoren einschließen, welche die Steuerungseingaben empfangen und die ebenfalls mit einem resistiven Pull-Up-Transistor gekoppelt sind, um das Rückkopplungssignal wl ok zu erzeugen.
  • Die Fehlererfassungslogik 160 kann jedes Bit des Endrückkopplungssignals wl_ok<31:0> analysieren, um zu bestimmen, ob irgendwelche Werte anzeigen, dass ein Fehler erfasst wurde. In mancher Ausführungsform übermittelt der lokale Decoder 230 ein einziges Rückkopplungssignal wl ok im Gegensatz zu einem Bus von Rückkopplungssignalen. In einer solchen Ausführungsform kann das einzelne Rückkopplungssignal wl ok innerhalb des Zeilendecoders 240 erzeugt werden, indem jedes Bit (z. B. über einen AND-Vorgang oder anderen Vorgang wie gewünscht) der wl_ok<31:0>-Signale vor dem Übermitteln des singulären wl_ok-Rückkopplungssignals zu der Fehlererfassungslogik 160 verglichen wird. Als ein Ergebnis kann ein Bit für diese Stufe durch die Fehlererfassungslogik 160 übermittelt und empfangen werden anstatt zweiunddreißig Bits.
  • Als ein Ergebnis einer oder mehrerer Ausführungsformen der Offenbarung kann ein Erfassen eines Angriffs auf eine Speichervorrichtung erzielt werden, ebenso wie ein Identifizieren, welche Stufe des Decodierens durch den Angriff kompromittiert wurde. Zusätzlich kann die Verwendung einer ROM-Vorrichtung am Ende des Zeilendecoders beseitigt werden, was die Komplexität des Fehlererfassers durch Vermeiden eines Erzeugens von ROM-Taktsignalen sowie eine weniger komplizierte Verdrahtungsphase reduzieren kann.
  • Zusätzliche Ausführungsformen schließen ein Verfahren zum Erfassen eines Fehlers innerhalb einer Speichervorrichtung ein. Das Verfahren umfasst ein Decodieren eines Eingangssignals über einen Speicherdecoder, einschließlich mehrerer Stufen in einem Decodierpfad, um ein Auswahlsignal von einem Eingangsadresssignal zu erzeugen, und ein Erzeugen von Rückkopplungssignalen, die innerhalb der mehreren Stufen verteilt sind, und ein Übermitteln der Rückkopplungssignale an eine Fehlererfassungslogik, die auf einen Fehler entlang des Decodierpfades hinweisend ist.
  • Eine andere Ausführungsform schließt ein Verfahren zum Erfassen eines Fehlers innerhalb einer Speichervorrichtung ein. Das Verfahren umfasst ein Erfassen über Fehlererfassungslogik für die Speichervorrichtung eines Fehlers entlang eines Decodierpfades als Reaktion auf Rückkopplungssignale, die von mehreren Stufen eines Speicherdecoders der Speichervorrichtung verteilt sind, und ein Erzeugen eines Fehleralarmsignals als Reaktion auf das Erfassen des Fehlers.
  • 5 ist ein Flussdiagramm 500, das ein Verfahren zur Fehlererfassung innerhalb eines Adressdecoders einer Speichervorrichtung veranschaulicht. Bei Vorgang 510 schließt das Verfahren ein Erzeugen eines Replikat-Eingangsadresssignals ein. Das Replikat-Eingangsadresssignal kann mit einem globalen Encoder erzeugt werden, der ein Rückwärtscodieren des globalen Decoders durchführt, der das ursprüngliche Eingangssignal von dem Speichercontroller empfangen hat.
  • Bei Vorgang 520 schließt das Verfahren ein Durchführen einer internen Überprüfung der Genauigkeit von einem oder mehreren lokalen Zwischendecodern ein. Die interne Überprüfung kann ein Vergleichen von Ausgangsbits einschließen, die durch den lokalen Zwischendecoder mit einem internen Referenzbit erzeugt wurden, um zu bestimmen, dass die Bits nicht durch einen Angriff geändert wurden.
  • Bei Vorgang 530 schließt das Verfahren ein Durchführen einer internen Überprüfung der Genauigkeit der Enddecodierstufe (z. B. Zeilendecoder oder Spaltendecoder) ein, die die decodierte Endadresse für das Speicherarray erzeugt. Die interne Überprüfung kann ein Vergleichen von Ausgangsbits einschließen, die durch den Endstufendecoder mit einem internen Referenzbit erzeugt wurden, um zu bestimmen, dass die Bits nicht durch einen Angriff geändert wurden.
  • Bei Vorgang 540 schließt das Verfahren ein Analysieren der Rückkopplungssignale durch die Fehlererfassungslogik ein, um zu bestimmen, ob ein Angriff stattgefunden hat. Die Rückkopplungssignale können Signale einschließen, die durch jeden der Vorgänge 510, 520 und 530 erzeugt wurden, die auf die Ergebnisse der durchgeführten Konsistenzprüfungen hinweisend sind. Zum Beispiel kann das Replikat-Eingangsadresssignal ein Rückkopplungssignal sein, das mit dem ursprünglichen Eingangsadresssignal verglichen wird. Wenn die zwei Signale nicht übereinstimmen, kann die Fehlersteuerlogik bestimmen, dass ein Angriff stattgefunden hat. Ein Zwischen-Rückkopplungssignal (z. B. ein einzelnes Bit oder ein Bus von Signalen) kann von den lokalen Zwischendecodern gesendet werden als Reaktion auf die internen Überprüfungen, die während dem Vorgang 520 durchgeführt werden, die anzeigen, ob ein Angriff auf dem lokalen Zwischendecoder stattgefunden hat. Ein End-Ausgangs-Rückkopplungssignal (z. B. ein einzelnes Bit oder ein Bus von Signalen) kann von dem Endstufendecoder gesendet werden als Reaktion auf die internen Überprüfungen, die während dem Vorgang 530 durchgeführt werden, die anzeigen, ob ein Angriff auf dem Endstufendecoder stattgefunden hat.
  • Bei Vorgang 550 kann die Fehlererfassungslogik ein Fehleralarmsignal als Reaktion auf das Bestimmen des Vorhandenseins des Fehlers entlang des Decoderpfades erzeugen. Zum Beispiel kann die Fehlererfassungslogik aus irgendeinem der Rückkopplungssignale bestimmen, dass ein Fehler aufgetreten ist, und das Fehleralarmsignal entsprechend erzeugen.
  • 6 ist ein vereinfachtes schematisches Blockdiagramm eines elektronischen Beispielsystems 600, das ein Speichersystem 610 mit Fehlererfassung gemäß Ausführungsformen der Offenbarung einschließt. Das elektronische System 600 kann eine zentrale Verarbeitungseinheit (CPU) 602, Direktspeicherzugriff (DMA) 604, eine oder mehrere Peripherievorrichtungen 606, einen Speichercontroller 608 und ein Speichersystem 610, gekoppelt mit dem Systembus 612, einschließen. Der Systembus 612 kann einen Datenbus, Adressbus und Steuerbus einschließen. Adresssignale werden auf dem Adressbus durch den Speichercontroller 608 und/oder den DMA 604 zum Lesen oder Schreiben von dem Speichersystem 610 platziert. Das Speichersystem 610 schließt ein Speicherarray und andere Schaltungsanordnungen und/oder Logik ein, wie oben unter Bezugnahme auf 1 bis 5 erörtert.
  • Während bestimmte veranschaulichende Ausführungsformen in Verbindung mit den Figuren beschrieben wurden, wird der Durchschnittsfachmann erkennen und anerkennen, dass der Schutzumfang dieser Offenbarung nicht auf die Ausführungsformen beschränkt ist, die in dieser Offenbarung explizit gezeigt und beschrieben sind. Vielmehr können viele Ergänzungen, Streichungen und Modifikationen an den in dieser Offenbarung beschriebenen Ausführungsformen vorgenommen werden, um Ausführungsformen innerhalb des Schutzumfangs dieser Offenbarung zu erzeugen, wie beispielsweise diejenigen, die speziell beansprucht werden, einschließlich gesetzlicher Äquivalente. Zusätzlich können Merkmale einer offenbarten Ausführungsform mit Merkmalen einer anderen offenbarten Ausführungsform kombiniert werden, während sie immer noch innerhalb des Schutzumfangs dieser Offenbarung liegen, wie er von den Erfindern in Betracht gezogen wird.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • 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.
  • Zitierte Patentliteratur
    • US 9824732 [0003]

Claims (20)

  1. Einrichtung, umfassend: einen Speicherdecoder, einschließlich mehrerer Stufen in einem Decodierpfad, der konfiguriert ist, um ein Auswahlsignal aus einem Eingangsadresssignal zu erzeugen; und Fehlererfassungslogik, die wirksam mit dem Speicherdecoder gekoppelt ist und konfiguriert ist, um Rückkopplungssignale, die von den mehreren Stufen verteilt sind, die auf einen Fehler entlang des Decodierpfades hinweisend sind, zu empfangen.
  2. Einrichtung nach Anspruch 1, wobei der Speicherdecoder mindestens einen globalen Decoder, mindestens einen lokalen Decoder und mindestens einen Zeilendecoder in Reihe geschaltet einschließt.
  3. Einrichtung nach Anspruch 2, ferner umfassend einen globale Encoder, der konfiguriert ist, um eine Ausgabe von dem mindestens einen globalen Decoder zu empfangen und ein Replikat-Eingangsadresssignal zu erzeugen.
  4. Einrichtung nach Anspruch 3, wobei die Fehlererfassungslogik konfiguriert ist, um das Replikat-Eingangsadresssignal und das Eingangsadresssignal zu vergleichen, um zu bestimmen, ob ein Fehler vorhanden ist.
  5. Einrichtung nach Anspruch 3, wobei der mindestens eine lokale Decoder konfiguriert ist, um einen internen Vergleich von jedem Bit seines Decoderausgangspfades mit einem anderen Bit innerhalb einer Fehler-Decoderschaltungsanordnung, die mit dem mindestens einem lokalen Decoder gekoppelt ist, durchzuführen.
  6. Einrichtung nach Anspruch 3, wobei der mindestens eine Zeilendecoder konfiguriert ist, um einen internen Vergleich von jedem Bit seines Decoderausgangspfades mit einem anderen Bit innerhalb der Fehler-Decoderschaltungsanordnung, die mit mindestens einem Zeilendecoder gekoppelt ist, durchzuführen.
  7. Einrichtung nach Anspruch 1, wobei die Einrichtung eine Speichervorrichtung ist.
  8. Einrichtung nach Anspruch 1, wobei die Einrichtung ein Speicherdecoder ist.
  9. Einrichtung nach Anspruch 8, wobei der Speicherdecoder ein Zeilendecoder ist.
  10. Einrichtung nach Anspruch 8, wobei der Speicherdecoder ein Spaltendecoder ist.
  11. Einrichtung nach Anspruch 1, ferner umfassend einen Mikrocontroller, der mit einer Speichervorrichtung gekoppelt ist.
  12. Einrichtung nach Anspruch 11, wobei der Mikrocontroller die Fehlererfassungslogik einschließt und die Speichervorrichtung den Speicherdecoder einschließt.
  13. Einrichtung nach Anspruch 11, wobei die Speichervorrichtung sowohl die Fehlererfassungslogik als auch den Speicherdecoder einschließt.
  14. Verfahren zum Erfassen eines Fehlers innerhalb einer Speichervorrichtung, wobei das Verfahren umfasst: Decodieren eines Eingangssignals über einen Speicherdecoder, einschließlich mehrerer Stufen in einem Decodierpfad, um ein Auswahlsignal aus einem Eingangsadresssignal zu erzeugen; Erzeugen von Rückkopplungssignalen, die innerhalb der mehreren Stufen verteilt sind; und Übermitteln der Rückkopplungssignale an eine Fehlererfassungslogik, die auf einen Fehler entlang des Decodierpfades hinweisend ist.
  15. Verfahren nach Anspruch 14, ferner umfassend ein Empfangen der Rückkopplungssignale an der Fehlererfassungslogik, die innerhalb der Speichervorrichtung angeordnet ist.
  16. Verfahren nach Anspruch 14, ferner umfassend ein Empfangen der Rückkopplungssignale an der Fehlererfassungslogik, die innerhalb eines Mikrocontrollers angeordnet ist, der wirksam mit der Speichervorrichtung gekoppelt ist.
  17. Verfahren zum Erfassen eines Fehlers innerhalb einer Speichervorrichtung, wobei das Verfahren umfasst: Erfassen, über Fehlererfassungslogik für die Speichervorrichtung, eines Fehlers entlang eines Decodierpfades als Reaktion auf Rückkopplungssignale, die von mehreren Stufen eines Speicherdecoders der Speichervorrichtung verteilt sind; und Erzeugen eines Fehleralarmsignals als Reaktion auf das Erfassen des Fehlers.
  18. Verfahren nach Anspruch 17, ferner umfassend ein Empfangen der Rückkopplungssignale an der Fehlererfassungslogik, die innerhalb einer Vorrichtung außerhalb der Speichervorrichtung angeordnet ist.
  19. Verfahren nach Anspruch 17, ferner umfassend ein Empfangen der Rückkopplungssignale an der Fehlererfassungslogik, die intern der Speichervorrichtung angeordnet ist.
  20. Verfahren nach Anspruch 17, ferner umfassend ein Erzeugen der Rückkopplungssignale innerhalb mindestens eines von einem Zeilendecoder oder einem Spaltendecoder, die wirksam mit einem Speicherarray der Speichervorrichtung gekoppelt sind.
DE112019000488.3T 2018-01-23 2019-01-16 Speichervorrichtung, Speicheradressdecoder, System und zugehöriges Verfahren zur Erfassung eines Speicherangriffs Pending DE112019000488T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862620699P 2018-01-23 2018-01-23
US62/620,699 2018-01-23
US15/956,526 2018-04-18
US15/956,526 US11443820B2 (en) 2018-01-23 2018-04-18 Memory device, memory address decoder, system, and related method for memory attack detection
PCT/US2019/013859 WO2019147452A1 (en) 2018-01-23 2019-01-16 Memory device, memory address decoder, system and related method for memory attack detection

Publications (1)

Publication Number Publication Date
DE112019000488T5 true DE112019000488T5 (de) 2020-12-31

Family

ID=67299554

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019000488.3T Pending DE112019000488T5 (de) 2018-01-23 2019-01-16 Speichervorrichtung, Speicheradressdecoder, System und zugehöriges Verfahren zur Erfassung eines Speicherangriffs

Country Status (4)

Country Link
US (1) US11443820B2 (de)
CN (1) CN111630595A (de)
DE (1) DE112019000488T5 (de)
WO (1) WO2019147452A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10534554B2 (en) * 2017-10-13 2020-01-14 Silicon Storage Technology, Inc. Anti-hacking mechanisms for flash memory device
US10922203B1 (en) * 2018-09-21 2021-02-16 Nvidia Corporation Fault injection architecture for resilient GPU computing
CN114461476B (zh) * 2022-02-14 2023-09-26 深圳源创存储科技有限公司 一种内存条故障检测方法、装置及系统

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3049692A (en) * 1957-07-15 1962-08-14 Ibm Error detection circuit
US3657700A (en) 1970-07-13 1972-04-18 American Computer Commun Forward error correcting system
GB8612454D0 (en) * 1986-05-22 1986-07-02 Inmos Ltd Redundancy scheme for multi-stage apparatus
US4912710A (en) * 1988-02-29 1990-03-27 Harris Corporation Self-checking random access memory
US5949712A (en) 1997-03-27 1999-09-07 Xilinx, Inc. Non-volatile memory array using gate breakdown structure
US6522582B1 (en) 1999-03-05 2003-02-18 Xilinx, Inc. Non-volatile memory array using gate breakdown structures
US6044012A (en) 1999-03-05 2000-03-28 Xilinx, Inc. Non-volatile memory array using gate breakdown structure in standard sub 0.35 micron CMOS process
JP3913952B2 (ja) 1999-12-28 2007-05-09 株式会社東芝 半導体記憶装置
US6487139B1 (en) 2001-09-28 2002-11-26 Jagdish Pathak Memory row line driver circuit
US6809986B2 (en) 2002-08-29 2004-10-26 Micron Technology, Inc. System and method for negative word line driver circuit
US7042772B2 (en) 2002-09-26 2006-05-09 Kilopass Technology, Inc. Methods and circuits for programming of a semiconductor memory cell and memory array using a breakdown phenomenon in an ultra-thin dielectric
US6947328B1 (en) 2003-12-29 2005-09-20 Intel Corporation Voltage level shifter
US7444497B2 (en) * 2003-12-30 2008-10-28 Intel Corporation Managing external memory updates for fault detection in redundant multithreading systems using speculative memory support
JP4709525B2 (ja) 2004-10-14 2011-06-22 株式会社東芝 不揮発性半導体記憶装置
JP4799027B2 (ja) * 2005-03-31 2011-10-19 富士通株式会社 記憶制御回路、記憶制御回路におけるアドレスエラーチェック方法
EP1734536A1 (de) 2005-06-15 2006-12-20 STMicroelectronics SA Speicher geschützt gegen Fehlerinjektionsangriffe auf Speicherzellenauswahlsignale
JP2007194458A (ja) 2006-01-20 2007-08-02 Sanyo Electric Co Ltd ザッピング回路
JP2007234861A (ja) 2006-03-01 2007-09-13 Renesas Technology Corp 半導体装置の製造方法
JP2007310936A (ja) 2006-05-17 2007-11-29 Toshiba Corp 半導体記憶装置
JP4564476B2 (ja) 2006-09-04 2010-10-20 株式会社東芝 半導体装置
DE102007058928A1 (de) 2006-12-07 2008-06-26 Continental Teves Ag & Co. Ohg Verfahren und Halbleiterspeicher mit einer Einrichtung zur Erkennung von Adressierungsfehlern
JP4337904B2 (ja) 2007-04-12 2009-09-30 セイコーエプソン株式会社 集積回路装置および電子機器
JP4337903B2 (ja) 2007-04-12 2009-09-30 セイコーエプソン株式会社 集積回路装置および電子機器
US7542351B2 (en) 2007-05-31 2009-06-02 Freescale Semiconductor, Inc. Integrated circuit featuring a non-volatile memory with charge/discharge ramp rate control and method therefor
US20090037782A1 (en) * 2007-08-01 2009-02-05 Arm Limited Detection of address decoder faults
JP2009141218A (ja) 2007-12-07 2009-06-25 Toshiba Corp 半導体装置
JP2009206492A (ja) 2008-01-31 2009-09-10 Toshiba Corp 半導体装置
JP4560100B2 (ja) 2008-03-24 2010-10-13 株式会社東芝 半導体装置
JP5191766B2 (ja) 2008-03-24 2013-05-08 ルネサスエレクトロニクス株式会社 デコーダ回路
KR101526317B1 (ko) * 2008-05-09 2015-06-11 삼성전자주식회사 계층적 디코딩 장치
JP2009295781A (ja) 2008-06-05 2009-12-17 Toshiba Corp 半導体装置及びその製造方法
US7633095B1 (en) 2008-06-17 2009-12-15 Rf Micro Devices, Inc. Integration of high-voltage devices and other devices
US7859009B1 (en) 2008-06-17 2010-12-28 Rf Micro Devices, Inc. Integrated lateral high-voltage diode and thyristor
US7989889B1 (en) 2008-06-17 2011-08-02 Rf Micro Devices, Inc. Integrated lateral high-voltage metal oxide semiconductor field effect transistor
US7701785B2 (en) 2008-06-23 2010-04-20 Freescale Semiconductor, Inc. Memory with high speed sensing
JP5140512B2 (ja) * 2008-07-25 2013-02-06 ローム株式会社 記憶装置
KR101486745B1 (ko) 2008-11-05 2015-02-06 삼성전자주식회사 스페이서가 없는 비휘발성 메모리 장치 및 그 제조방법
JP2010123753A (ja) 2008-11-19 2010-06-03 Elpida Memory Inc 半導体装置、半導体装置におけるアンチヒューズ素子のプログラム方法、及び半導体装置の製造方法
US8213211B2 (en) 2009-02-06 2012-07-03 Sidense Corp. High reliability OTP memory
US8009481B2 (en) 2009-02-23 2011-08-30 Infineon Technologies Ag System and method for bit-line control
US8054694B2 (en) 2009-03-24 2011-11-08 Atmel Corporation Voltage generator for memory array
US8089816B2 (en) 2009-06-03 2012-01-03 Micron Technology, Inc. Memory erase methods and devices
JP5297342B2 (ja) 2009-11-02 2013-09-25 株式会社東芝 不揮発性半導体記憶装置
US8284589B2 (en) 2010-08-20 2012-10-09 Sandisk 3D Llc Single device driver circuit to control three-dimensional memory element array
JP2012043520A (ja) 2010-08-23 2012-03-01 Panasonic Corp 不揮発性半導体記憶装置及びその駆動方法
US8681572B2 (en) * 2011-03-24 2014-03-25 Micron Technology, Inc. Row address decoding block for non-volatile memories and methods for decoding pre-decoded address information
ITTO20120412A1 (it) * 2012-05-08 2013-11-09 St Microelectronics Srl Circuito decodificatore di riga per un dispositivo di memoria non volatile a cambiamento di fase
US8837252B2 (en) 2012-05-31 2014-09-16 Atmel Corporation Memory decoder circuit
US9036427B2 (en) 2013-06-12 2015-05-19 Arm Limited Apparatus and a method for erasing data stored in a memory device
US9824732B2 (en) 2015-08-03 2017-11-21 Atmel Corporation Memory system with encoding

Also Published As

Publication number Publication date
WO2019147452A1 (en) 2019-08-01
US11443820B2 (en) 2022-09-13
US20190228831A1 (en) 2019-07-25
CN111630595A (zh) 2020-09-04

Similar Documents

Publication Publication Date Title
DE69026743T2 (de) Fehlertolerantes Speichersystem
DE68907518T2 (de) Inhaltsadressierte Speicheranordnung.
DE69221773T2 (de) Halbleiterspeicherschaltung mit einer Struktur logischer Schaltung zur Prüfung
DE69904320T2 (de) On-chip schaltung und verfahren zur speicherschaltungs-prüfung
DE102011108933A1 (de) Sichere Speicherung durch interneBetriebssicherstellung
DE102013020712B4 (de) Techniken zum Speichern von Bits in Speicherzellen mit Hängenbleiben-auf-0-oder-1-Fehlern
DE60103397T2 (de) Gesicherter eeprom-speicher mit fehlerkorrekturschaltung
DE112019000488T5 (de) Speichervorrichtung, Speicheradressdecoder, System und zugehöriges Verfahren zur Erfassung eines Speicherangriffs
DE69416761T2 (de) Speicherschutzschaltung für EPROM
DE102008008067A1 (de) Integrierte Schaltung und Chip mit integrierter Schaltung
DE2225841C3 (de) Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers
DE3784181T2 (de) Fehlererkennung unter verwendung von paritaetspruefung mit veraenderlichem feld.
DE102017114054B4 (de) Speicheradressen-Schutzschaltung und Verfahren
DE69601030T2 (de) Gefiltertes, serielles ereignisgesteuertes befehlstor für &#34;flash&#34; speicher
DE102011054918A1 (de) Nichtflüchtige Speichervorrichtung, Verfahren zum Betreiben derselben und elektronische Vorrichtung mit derselben
DE102015113414A1 (de) Fehlerkorrektur unter Verwendung von WOM-Codes
DE69129492T2 (de) Halbleiterspeicher
DE102016118534A1 (de) Schaltung und Verfahren zum Prüfen der Integrität eines Steuersignals
DE102016214188A1 (de) Speichersystem mit Codierung
DE102011119585A1 (de) Verbesserte skalierbare CPU für die codierte Ausführung von Software in hochabhängigen sicherheitsrelevanten Anwendungen
DE102020120211A1 (de) Polarer neuronaler Netzwerk-Decodierer für Speichervorrichtungen
DE10058030A1 (de) Integrierte Schaltung mit Datenprüfmitteln auf einem Chip
DE102004014644A1 (de) Integrierter Schaltkreis
DE102005055158A1 (de) Schaltungsanordnung mit einer Einrichtung zur Erkennung von Manipulationsversuchen und Verfahren zur Erkennung von Manipulationsversuchen bei einer Schaltungsanordnung
DE102022208557A1 (de) Verfahren zur fehlerprüfungs- und bereinigungsoperation und halbleitersystem, das dasselbe verwendet

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication