DE102006030888B4 - Verfahren und Vorrichtung zum Erzeugen eines Startwertes für einen Pseudo-Zufallszahlengenerator - Google Patents

Verfahren und Vorrichtung zum Erzeugen eines Startwertes für einen Pseudo-Zufallszahlengenerator Download PDF

Info

Publication number
DE102006030888B4
DE102006030888B4 DE102006030888A DE102006030888A DE102006030888B4 DE 102006030888 B4 DE102006030888 B4 DE 102006030888B4 DE 102006030888 A DE102006030888 A DE 102006030888A DE 102006030888 A DE102006030888 A DE 102006030888A DE 102006030888 B4 DE102006030888 B4 DE 102006030888B4
Authority
DE
Germany
Prior art keywords
memory
value
unstable
random number
memory cell
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.)
Active
Application number
DE102006030888A
Other languages
English (en)
Other versions
DE102006030888A1 (de
Inventor
Peter Dr. Laackmann
Markus Janke
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102006030888A priority Critical patent/DE102006030888B4/de
Priority to US11/756,294 priority patent/US8069196B2/en
Publication of DE102006030888A1 publication Critical patent/DE102006030888A1/de
Application granted granted Critical
Publication of DE102006030888B4 publication Critical patent/DE102006030888B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators

Abstract

Vorrichtung (100) zum Erzeugen eines Startwertes für einen Pseudo-Zufallszahlengenerator mit einer Einrichtung (120) zum Bestimmen des Startwerts basierend auf einem Ausgabewert einer Speicherzelle (115), gekennzeichnet durch:
eine Einrichtung (110) zum instabilen Auslesen des Ausgabewertes aus der Speicherzelle (115), wobei die Speicherzelle über einen Zellstrom oder eine Zellspannung derart ansteuerbar ist, dass der Speicherzellen-Inhalt instabil auslesbar ist oder wobei die Einrichtung (110) zum instabilen Auslesen ferner einen Leseverstärker aufweist, der den Ausgabewert bestimmt, wobei der Ausgabewert auf einem Vergleich eines Speicherzellensignals, das auf dem Speicherzelleninhalt basiert, mit einer Lesereferenz basiert, und die Lesereferenz derart einstellbar ist, dass der Ausgabewert entweder gleich oder komplementär zu dem Speicherzelleninhalt auslesbar ist.

Description

  • Hintergrund
  • Die vorliegende Erfindung bezieht sich auf eine Vorrichtung und ein Verfahren zum Erzeugen eines Startwertes für einen Pseudo-Zufallszahlengenerator, wie er beispielsweise in Smart Cards verwendet wird.
  • Eine Aufgabe, die in Security Controllern häufig zu lösen ist, ist das Erzeugen von Zufallszahlen, und insbesondere echten Zufallszahlen wie sie von einem echten Zufallszahlengenerator generiert werden können. Echte Zufallszahlengeneratoren werden auch True-RNGs (RNG = Random Number Generator) genannt. Solche True-RNGs sind in ihrer Implementierung aufwändig und kostenintensiv. Deshalb kommen häufig Pseudo-Zufallszahlengeneratoren zum Einsatz, sogenannte PRNGs (PRNG = Pseudo Random Number Generator), die allerdings Zahlenfolgen basierend auf einem deterministischen Algorithmus beginnend von einem Startwert generieren, die bei Kenntnis des Algorithmus durch Außenstehende prinzipiell nachvollziehbar und somit nicht mehr zufällig sind.
  • Als Pseudo-Zufallszahlen bezeichnet man Zahlenfolgen, die durch einen deterministischen Algorithmus in einem Pseudo-Zufallszahlengenerator berechnet werden und somit nicht zufällig sind, aber für hinreichend kurze Sequenzen zufällig erscheinen. Da die Zufallszahlenberechnung deterministisch basierend auf einem Startwert, der auch als Seed (= englisch Samen) bezeichnet wird, erfolgt, ist eine so erzeugte Zufallszahlenfolge reproduzierbar, wenn man einen bekannten Startwert voraussetzt. Die entstehende Zahlenfolge ist dann bei Kenntnis des Algorithmus und des Startwerts durch Außenstehende sogar vorhersagbar.
  • Herkömmliche echte Zufallszahlengeneratoren bedingen praktisch immer das Vorhandensein von analogen Schaltungselementen, vor deren Implementierung in vornehmlich digitalen Schaltungen jedoch oft zurückgeschreckt wird. Beispielsweise können mittels analoger Bauelemente, durch Abtasten eines Rauschsignals, dessen Amplitude zufällig ist, echte Zufallszahlen erzeugt werden.
  • Weiter verbreitet ist jedoch die Verwendung eines Pseudo-Zufallszahlengenerators, der zwar keine optimale Zufallszahlenfolge liefert, jedoch rein in Digitaltechnik implementierbar ist. Ein solcher Pseudo-Zufallszahlengenerator benötigt allerdings einen Startwert. Will man verhindern, dass eine prinzipielle Möglichkeit des Rückrechnens besteht, so darf dieser Startwert auch einem Hersteller nicht bekannt sein. Dies bedingt, dass der Startwert des Pseudo-Zufallszahlengenerators auch im Chip selbst generiert werden sollte, was wiederum nur auf der Basis eines echten Zufallszahlengenerators möglich ist, so dass die Implementierung eines Pseudo-Zufallszahlengenerators mit einem bekannten Startwert das Problem der Rückrechenbarkeit nicht löst.
  • Da die Implementierung eines analogen Bausteins, wie es zur Erzeugung einer echten Zufallszahlenfolge notwendig wäre, beispielsweise auf einer Smart Card/Chip Card nur sehr bedingt bzw. mit hohem Aufwand möglich ist, stellt das Problem des Erzeugens einer nicht rückrechenbaren Zufallszahl auf einer Smart Card oder einer sonstigen kryptographischen Vorrichtung ein großes technisches Problem dar.
  • Die US 6714955 beschreibt einen schnellen Zufallszahlengenerator, der sich aus einem echten Zufallszahlengenerator und einem Pseudozufallszahlengenerator zusammensetzt. Dabei generiert der echte Zufallszahlengenerator einen Eingangswert für den Pseudozufallszahlengenerator. Der echte Zufallszahlengenerator basiert dabei auf so genannten Latches, die durch eine entsprechende zeitliche Ansteuerung in einen metastabilen Zustand gebracht werden, so dass deren Ausgänge nicht mehr vorhersagbar sind. Die Ansteuerung erfolgt dabei bewusst zu kritischen Zeitpunkten, d. h. je nach der relativen Lage der Signalflanken an den Eingängen eines Latches, gerät dieses in einen metastabilen Zustand.
  • Die US 20050004959 offenbart einen Zufallszahlengenerator, der auf einer Kaskade von verschalteten Flip-Flops beruht. Die Flip-Flops sind dabei durch Verzögerungsglieder voneinander getrennt, so dass an den Eingängen der verwendeten D-Flip-Flops unterschiedliche Verzögerungen entstehen. Durch diese Verschaltung wird ein metastabiler Zustand der Flip-Flops provoziert, was durch einen gezielten Vergleich der Signale an Ein- und Ausgängen verifiziert werden kann. Auch hier wird der Effekt ausgenutzt, dass durch zeitlich manipulierte Signalflanken an den Eingängen eines D-Flip-Flops, dieses gezielt in einen metastabilen Zustand gebracht werden kann, in dem der Ausgang einen zufälligen Wert annehmen kann.
  • In der US 20030061250 ist ebenfalls ein Zufallsgenerator beschrieben, der auf metastabilen Zuständen von Flip-Flops beruht. Hier wird beispielsweise vorgeschlagen ein RS-Flip-Flop zu verwenden, dessen Ausgangssignal nach einem Einschaltvorgang nicht definiert ist. Mit Hilfe eines RS-Flip-Flops kann eine Zufallsfolge von binären Nullen und Einsen erzeugt werden, wenn der Eingang des Flip-Flops nach einem Einschaltvorgang unbeschaltet bleibt, und das Flip-Flop immer wieder zurückgesetzt wird. Ein dem Flip-Flop nachgeschalteter Entzerrer sorgt dafür, dass in der Zufallsfolge die gewünsch ten Auftrittswahrscheinlichkeiten für eine binäre Null und eine binäre Eins vorliegen.
  • Die US 4571556 offenbart eine Anordnung zur Erzeugung einer Pseudozufallsfolge. Die Pseudozufallsfolge entsteht dabei durch Multiplikation einer Folge von zufälligen Impulsen einer vorbestimmten Länge mit einem periodischen Taktsignal. Die Folgenlänge wird dabei von Reglern eingestellt. Mehrere solche Anordnungen können über verschiedene Logik-Gatter miteinander verknüpft werden, um beispielsweise die Folgenlänge zu erhöhen.
  • Zusammenfassung der Erfindung
  • Es ist die Aufgabe der vorliegenden Erfindung, ein verbessertes Konzept zur Erzeugung eines Startwertes für einen Pseudozufallszahlengenerator zu schaffen.
  • Diese Aufgabe wird gelöst durch eine Vorrichtung gemäß Anspruch 1, eine Schaltung gemäß Anspruch 9, einen Chip gemäß Anspruch 12 und ein Verfahren gemäß einem der Ansprüche 15 oder 18.
  • Gemäß einem Ausführungsbeispiel umfasst die vorliegende Erfindung eine Vorrichtung zum Erzeugen eines Startwertes für einen Pseudo-Zufallszahlengenerator, mit einer Einrichtung zum instabilen Auslesen eines Ausgabewertes auf einer Spei cherzelle und mit einer Einrichtung zum Bestimmen des Startwertes basierend auf dem Ausgabewert der Speicherzelle.
  • Gemäß einem weiteren Ausführungsbeispiel schafft die vorliegende Erfindung ferner eine Schaltung mit einem Speicher, der durch ein Instabil-Signal ansteuerbar ist, um instabil ausgelesen zu werden. Ferner umfasst die Schaltung eine Steuerung mit einem Ausgang für das Instabil-Signal, einem Eingang für einen instabil aus dem Speicher ausgelesenen Speicherinhalt und einem Ausgang für einen Startwert. Die Schaltung umfasst ferner einen Pseudo-Zufallszahlengenerator, mit einem Eingang für den Startwert und einem Ausgang für eine Pseudo-Zufallszahl, die auf dem Startwert basiert.
  • Gemäß einem weiteren Ausführungsbeispiel schafft die vorliegende Erfindung einen Chip mit einem Speicher, der durch ein Instabil-Signal ansteuerbar ist, um instabil ausgelesen zu werden und einer Steuerung, mit einem Ausgang für das Instabil-Signal, einem Eingang für einen instabil aus dem Speicher ausgelesenen Speicherinhalt, und einem Ausgang für einen Startwert. Ferner umfasst der Chip einen Pseudo-Zufallszahlengenerator, mit einem Eingang für den Startwert und einem Ausgang für eine Pseudo-Zufallszahl, die auf dem Startwert basiert.
  • Kurzbeschreibung der Figuren
  • Ausführungsbeispiele der vorliegenden Erfindung werden im folgenden bezugnehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen
  • 1 ein prinzipielles Blockschaltbild einer Vorrichtung zum Erzeugen eines Startwerts für einen Pseudo-Zufallszahlengenerator gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 2 einen beispielhaften Aufbau einer Speicherzelle;
  • 3 ein Ablaufdiagram eines Ausführungsbeispiels eines Verfahrens dar;
  • 4 ein Ausführungsbeispiel einer Schaltung;
  • 5 ein weiteres Ausführungsbeispiel einer Schaltung; und
  • 6 ein Ausführungsbeispiel eines Chips.
  • Detaillierte Beschreibung
  • Es sei darauf hingewiesen, dass bei der nachfolgenden Figurenbeschreibung gleiche Elemente in den Figuren gleiche Bezugszeichen aufweisen, und eine wiederholte Beschreibung weggelassen wird.
  • Ein prinzipielles Blockschaltbild eines Ausführungsbeispiels der vorliegenden Erfindung ist in 1 dargestellt. 1 zeigt eine Vorrichtung 100 zum Erzeugen eines Startwertes für einen Pseudo-Zufallszahlengenerator, mit einer Einrichtung 110 zum instabilen Auslesen eines Ausgabewertes aus einer Speicherzelle 115 und mit einer Einrichtung 120 zum Bestimmen des Startwertes basierend auf dem Ausgabewert der Speicherzelle 115.
  • Das Ausführungsbeispiel von 1 weist den Vorteil auf, dass der Startwert für einen Pseudo-Zufallszahlengenerator unaufwändig und insbesondere ohne eine Notwendigkeit analoger Bauelemente zufällig erzeugt werden kann, beispielsweise basierend auf einem Speicherinhalt von Speicherzellen, die bewusst instabil ausgelesen werden, so dass der ausgelesene Inhalt einer Zufallszahl entspricht, und basierend auf der so erhaltenen Zufallszahl ein zufälliger Startwert für einen Pseudo-Zufallszahlengenerator erzeugt werden kann. Da dieser Startwert nunmehr unbekannt ist, wird somit ein Rückrechnen erheb lich erschwert. Deutlicher wird das Erreichen dieses Vorteils aus folgender Beschreibung.
  • In einem Ausführungsbeispiel ist die Speicherzelle 115, beispielsweise diejenige eines EEPROMs (EEPROM = Electrical Erasible Programmable Read-Only Memory). Diese Art von Speicherelementen kommen beispielsweise im Bereich der Smart Cards/Chip Cards zum Einsatz. Das EEPROM kann in MOS-Technik implementiert sein (MOS = Metall Oxid Schicht). Ein solcher EEPROM-Speicherbaustein ist exemplarisch in 2 dargestellt. 2 zeigt insbesondere exemplarisch zwei MOSFETs (FET = FeldEffektTransistor) 210 und 220, die zwei Speicherzellen des EEPROMs bilden, um jeweils den Wert eines unterschiedlichen Bits zu speichern. Die beiden MOSFETs haben sogenannte Floating Gates 230 und 240. Ein Floating Gate wird durch eine Metalloxidschicht von dem Steuergate und dem Kanal isoliert. Durch Ladungsinjektion auf das Floating Gate wird der FET hochohmig. Dies wird in 2 durch die Schraffierung des Floating Gates 240 angedeutet. In 2 ist exemplarisch der MOSFET 220 geladen, wohingegen der MOSFET 210 ungeladen ist. Sie speichern in diesem exemplarisch gezeigten Fall folglich unterschiedliche Bitwerte. Die EEPROM Speicherzellen können durch einen hohen Spannungsimpuls zwischen einer Leitung 245 und der Leitung 260 bzw. 265, der die Ladung der Sperrschicht in den Ursprungszustand versetzt, gelöscht werden, wobei die Leitung 245 dabei mit Elektroden verbunden ist, die nahe der Floating Gates angeordnet sind.
  • Der EEPROM von 2 ist beispielsweise mit einem Leseverstärker (nicht gezeigt) ausgestattet. Dieser Leseverstärker ist im wesentlichen eine Art Komparator, welcher das Signal, nämlich Spannung oder Strom, aus dem Zellenfeld, nämlich den Strom oder die Spannung über den jeweiligen MOSFET, mit einer Lesereferenz vergleicht. Wenn die Lesereferenz überschritten wird, so ist der Speicher innerhalb der Zelle als Zustand bzw. Bitwert A zu bewerten, falls nicht, dann als Zustand B. Bezugnehmend auf 2 würde beispielsweise bei An legen einer Spannungsdifferenz zwischen einem Leitungspaar von Leitungen 250 und 260, die mit Source bzw. Drain des MOSFET 210 verbunden sind, ein Strom durch den MOSFET 210 fließen, wohingegen dies bei Anlegen einer Spannungsdifferenz zwischen ein Paar von Leitungen 255 und 265, die mit Source bzw. Drain der MOSFET 220 verbunden sind, nicht der Fall wäre. Die Stromsignale werden dem Leseverstärker oder Komparator zugeführt, der dann den Strömen durch Vergleich mit einer Lesereferenz die entsprechenden Speicherzellenzustände zuordnet. Daraus ergibt sich, dass für die Informationsauswertung die Lesereferenz von entscheidender Bedeutung ist. Im Normalbetrieb einer Speicherzelle ist hierbei das Bestreben, die Lesereferenz so zu wählen, dass auch gealterte Zellen, bei denen die durch die Ladungsinjektion auf dem Floating Gate bewirkte Ladungsmenge geringer ist, noch einen definierten Zustand erzeugen. Das EEPROM von 2 bietet nun die Möglichkeit, die Lesereferenz zu variieren, so dass mit „verschärften" Lesereferenzen die Zellinformation bewertet wird und der Leseverstärker ein „instabiles Auslesen" durchführt, um als die Einrichtung 110 zu fungieren, in dem Sinne, dass der Leseverstärker mit mehr und mehr gegenüber dem Normalzustand veränderter Lesereferenz, Zellen mit einem bestimmten Bitwert fälschlicherweise dem anderen Bitwert zuordnet. Wie es nun im folgenden beschrieben wird, nutzt die Einrichtung 120 die Veränderbarkeit der Lesereferenz so aus, dass sie gerade in einem instabilen Bereich liegt, d. h. einige Zellen die den Zustand A enthalten als A ausgelesen werden und andere Zellen, die den Zustand A enthalten als B interpretiert werden, um einen Startwert aus den instabil ausgelesenen Zuständen zu bestimmen. Gemäß nachfolgend beschriebener Ausführungsbeispiele wird die geeignete Lesereferenz herausgefunden, indem die Lesereferenz iterativ variiert und sichergestellt wird, dass der instabile Zustand möglichst gut erreicht wird.
  • Der Ablauf einer solchen iterativen Näherung ist in 3 in einem Ablaufdiagramm beispielhaft dargestellt. Ausgehend von einem Referenzsignal für einen stabilen Bereich bzw. für ein stabiles Auslesen 310 wird nun in einem Schritt 320 durch die Einrichtung 120 das Referenzsignal nachgeregelt und ein Kriterium, das ein Maß für die erreichte Instabilität der Speicherzelle 115 darstellt, in einem Schritt 330 überprüft. Beispielsweise könnte in einem Ausführungsbeispiel ein bestimmter Speicherbereich aus mehreren Speicherzellen periodisch ausgelesen werden, währenddessen die Lesereferenz für diesen Speicherbereich iterativ variiert wird. Ein Kriterium für die erreichte Instabilität wäre dann beispielsweise, bzw. das Ziel der Iteration wäre dann zum Beispiel erreicht, wenn möglichst die Hälfte der Informationen korrekt und die andere Hälfte falsch ausgelesen werden, wobei die Speicherzellen des Speicherbereichs beispielsweise zuvor alle auf einen vorbestimmten bekannten Bitwert initialisiert wurden. Der Startwert wird dann unter Verwendung dieses Referenzwertes im Schritt 340 gemäß 3 bestimmt, nämlich auf der Basis der mit dem iterativ bestimmten Referenzwert gewonnenen instabil ausgelesenen Zellenzustände. Der Startwert für den Pseudo-Zufallszahlengenerator kann den instabil ausgelesenen Zellenzuständen unmittelbar entsprechen oder kann dann aus diesen ausgelesenen Bits beispielsweise mittels Bildung des Hamming-Gewichtes, durch Hash-Algorithmen oder auch durch komprimierende oder selektierende Funktionen gewonnen werden. Komprimierende Funktionen bilden beispielsweise eine Anzahl ausgelesener Speicherzelleninhalte bzw. Bits auf eine entsprechend geringere Anzahl von Speicherzelleninhalten oder Bits ab. Selektierende Funktionen selektieren beispielsweise aus einem entsprechend ausgelesenen Datenwort eine Anzahl von Ziffern, um daraus ein neues Datenwort zu bilden.
  • In einem weiteren Ausführungsbeispiel kann alternativ zur Anpassung der Lesereferenz, auch die Zellspannung über die Leitungspaare 250/260 bzw. 255/265, welche über Pumpen generiert werden können, bzw. der Zellstrom, variiert werden, und so die Speicherzellen in einem instabilen Zustand ausgelesen werden. Dies ist beispielsweise auch bei UCP (UCP = Uniform Channel Programming) Speichern möglich. UCP Speicher kommen ebenfalls häufig in Smart Cards/Chip Cards vor. Zusätzlich kann ein UCP-Speicher eine iterative Variation einer Lesereferenz zulassen, so dass ein instabiler Auslesezustand alternativ oder zusätzlich zur Zellspannungsvariation durch die Lesereferenzvariation erreichbar ist. Zusätzlich kann der UCP-Speicher einen sogenannten Disturb-Counter aufweisen, über den Zellbereiche identifiziert werden können, welche aufgrund von Programmierungen in der Nachbarschaft bereits instabiler geworden sind, was durch die Einrichtung 120 dazu verwendet werden kann, um ältere Zellen vorab auszuwählen, die zur Startwerterzeugung herangezogen werden.
  • In einem weiteren Ausführungsbeispiel der vorliegenden Erfindung könnte ein Programm, welches auf einer Smart Card/Chip Card läuft, zunächst einen EEPROM-Speicherbereich suchen, in dem der Disturb-Counter einen hohen Wert enthält und dann bei periodischem Auslesen dieses Bereiches die Lesereferenz iterativ variieren, wie es beispielhaft in 3 dargestellt ist.
  • 4 zeigt ein weiteres Ausführungsbeispiel der vorliegenden Erfindung. 4 zeigt eine Schaltung 400 mit einem Speicher 410, der durch ein Instabil-Signal 415 ansteuerbar ist, um instabil ausgelesen zu werden. Ferner weist die Schaltung eine Steuerung 420 mit einem Ausgang für das Instabil-Signal 415, einem Eingang für einen instabil aus dem Speicher ausgelesenen Speicherinhalt 425, und einen Ausgang für einen Startwert auf. Die Schaltung 400 weist ferner einen Pseudo-Zufallszahlengenerator 430 auf, mit einem Eingang 435 für den Startwert und einem Ausgang für eine Pseudo-Zufallszahl die auf dem Startwert basiert. Der Speicher 410, der in 4 dargestellt ist, weist ferner einen Leseverstärker 440 und Speicherzellen 450 auf. Die Speicherzellen 450 sind beispielsweise EEPROM-Speicherzellen, wie sie exemplarisch in 2 erläutert wurden. Im Ausführungsbeispiel dargestellt in 4, ist am Leseverstärker 440 ange deutet, dass die Lesereferenz eines Komparators basierend auf dem Instabil-Signal 415 angepasst wird. Die Steuerung 420 könnte demzufolge einen iterativen Anpassungs-Algorithmus, wie er exemplarisch im Ablaufdiagramm in 3 dargestellt und erläutert wurde, durchführen. In 4 ist durch gestrichelte Linien angedeutet, dass gemäß dem Ausführungsbeispiel von 4 der Leseverstärker als die Einrichtung 110 zum instabilen Auslesen eines Ausgabewertes fungiert und die Steuerung 420 als die Einrichtung 120 zum Bestimmen des Startwertes basierend auf dem Ausgabewert der Speicherzelle 115.
  • 5 zeigt ein weiteres Ausführungsbeispiel der vorliegenden Erfindung. In 5 sind die gleichen Komponenten wie bereits anhand von 4 besprochen dargestellt, lediglich die Verschaltung innerhalb des Speichers 410 ist unterschiedlich und soll andeuten, dass in diesem Ausführungsbeispiel über das Instabil-Signal 415 das Versorgungssignal, also die Zellspannung oder der Zellstrom, angepasst werden, um den instabilen Bereich der Speicherzellen 450 anzusteuern. Wie bereits anhand von 4 erläutert, kann die Steuerung 420, über einen iterativen Annäherungsprozess, gemäß 3, nun einen instabilen Bereich, bzw. ein instabiles Auslesen der Ausgabewerte der Speicherzellen 450 durchführen. Eine Kombination der Ausführungsbeispiele von 4 und 5 wäre natürlich wie bereits erwähnt ebenfalls denkbar.
  • 6 illustriert ein weiteres Ausführungsbeispiel der vorliegenden Erfindung. 6 zeigt einen Chip 600, auf dem die bereits an den 4 und 5 besprochenen Komponenten implementiert bzw. integriert sind. Der Chip 600 weist einen Speicher 410 auf, mit einem Leseverstärker 440 und Speicherzellen 450, der durch ein Instabil-Signal 415 ansteuerbar ist, um stabil ausgelesen zu werden. Der Chip 600 weist ferner eine Steuerung 420 auf, mit einem Ausgang für das Instabil-Signal 415, einem Eingang für einen instabil aus dem Speicher 410 ausgelesenen Speicherinhalt und einem Ausgang für einen Startwert. Ferner weist der Chip einen Pseudo- Zufallszahlengenerator 430 auf, mit einem Eingang 435 für den Startwert und einem Ausgang für eine Pseudo-Zufallszahl, die auf dem Startwert basiert. Ferner sind in 6 durch gestrichelte Linien nochmals die Einrichtung 110 zum instabilen Auslesen eines Ausgabewertes aus einer Speicherzelle 115 und die Einrichtung 120 zum Bestimmen des Startwertes basierend auf dem Ausgabewert der Speicherzelle 115 eingezeichnet.
  • Ein Vorteil von Ausführungsbeispielen der vorliegenden Erfindung ist, dass der Startwert einerseits im NVM für zukünftige Nutzungen gespeichert werden kann, andererseits aber auch das Verfahren jederzeit erneut durchgeführt werden kann. Hierdurch ergeben sich vielfältige Möglichkeiten. Beispielsweise kann der Startwert bei der Produktion einmalig generiert werden, um dann zukünftig in einem NVM-Speicher gespeichert zu werden, alternativ könnte auf die beschriebene Art und Weise der Startwert nach einem Neustart des Chips oder der Schaltung immer wieder neu generiert werden. In einem weiteren Ausführungsbeispiel würde der Startwert einmalig generiert werden, im NVM-Speicher abgelegt werden, und bei Aufruf des Pseudo-Zufallszahlengenerators entsprechend verwendet werden. Ein Ausgabewert des Pseudo-Zufallszahlengenerators könnte dann an die Stelle des Startwertes in einem zusätzlichen oder auch im gleichen Speicher in der Schaltung oder auf dem Chip abgelegt werden, so dass für den nächsten Aufruf des Pseudo-Zufallszahlengenerators respektive für den nächsten Neustart der Schaltung oder des Chips ein anderer Startwert zur Verfügung steht.
  • Da NVM-Speicher Alterungsprozessen unterliegen, besteht ein weiterer Vorteil von Ausführungsbeispielen der vorliegenden Erfindung in einer sehr geringen Belastung für den NVM-Speicher, welcher sonst immer neue Startwerte bzw. Zwischenwerte abspeichern müsste. Das Anwendungsbeispiel des einmaligen Bestimmens des Startwertes und Speichern des Startwertes in einem NVM-Speicher für zukünftige Verwendung bringt also den Vorteil, dass durch das beschriebene Verfahren bzw. die beschriebene Schaltung, Vorrichtung oder Chip, Alterungsprozesse des NVM-Speichers aufgrund des Generierens von Startwerten ausbleiben, da dies nur einmalig geschieht und somit nur einen Schreibzyklus nach sich zieht.
  • Ein weiterer Vorteil der Anwendungsbeispiele der vorliegenden Erfindung liegt darin, dass NVM-Speicher zumeist nur eine begrenzte Schreibzyklenzahl aufweisen und bei dem hier beschriebenen Verfahren ein Startwert durch das Auslesen generiert wird, d. h. dass durch das Generieren des Startwerts keine Abnutzung des NVM-Speichers wie beim Schreiben auftreten.
  • Bei Ausführungsbeispielen der vorliegenden Erfindung wird durch eine Vorrichtung bzw. ein Verfahren unter Ausnutzung eines instabilen Auslesens eines NVM-Speichers durch temporäre Veränderung der Lesereferenz respektive der Zellenspannung/Stroms, ein Startwert für einen Pseudo-Zufallszahlengenerator erzeugt. Der beschriebene Effekt wird kontrolliert eingesetzt und die gelesenen Daten direkt, über ein Hamming-Gewicht/Abstand, über Hash-Algorithmen oder über komprimierende bzw. selektierende Funktionen in einen Startwert für einen Pseudo-Zufallszahlengenerator umgewandelt. Zusätzliche Vorteile vorliegender Ausführungsbeispiele liegen darin, dass herkömmliche Security-Controller mit einer CPU (CPU = Central Processing Unit), sowie verschiedenen Peripherie-Modulen, unter anderem auch NVM-Modulen (EEPROM/Flash) ausgerüstet sind. Da jedoch keine echten Zufallszahlengeneratoren vorhanden sind, bieten Ausführungsbeispiele der vorliegenden Erfindung die Möglichkeit einen dem Hersteller unbekannten Startwert für einen Pseudo-Zufallszahlengenerator zu generieren. Alternativ beim Start eines Programmes oder auch einmalig bei der Produktion kann nun der NVM-Speicher mit einem Ausführungsbeispiel eines erfindungsgemäßen Verfahrens ausgelesen werden, wobei eine Lesereferenz oder eine Zellspannung/Strom iterativ variiert werden kann, währenddessen ein Speicherbereich periodisch ausgelesen wird. Ein Disturb- Counter kann als Indikation für einen geeigneten Speicherbereich herangezogen werden und durch optionales Nacharbeiten, wie beispielsweise durch Hash-Algorithmen, durch komprimierende oder selektierende Funktionen, bzw. durch Bestimmen von Hamming-Gewichten oder Hamming-Abständen zwischen unterschiedlichen Speicherbereichen, können dem Hersteller unbekannte Startwerte für Pseudo-Zufallszahlengeneratoren generiert werden.
  • Ausführungsbeispiele der vorliegenden Erfindung können in Smart Cards/Chip Cards integriert werden und generell das Problem der Rückrechenbarkeit von Pseudo-Zufallszahlenfolgen lösen. Security-Controller sind mit einer CPU sowie verschiedenen Peripherie-Modulen, unter anderem auch einem NVM-Modul (EEPROM/Flash) ausgerüstet. Dies bietet nun in vielen Anwendungsbereichen die Möglichkeit, bei Start eines Programmes oder einmal bei der Produktion das NVM-Modul mit dem beschriebenen Verfahren auszulesen, d. h. beispielsweise iterativ einen instabilen Lesezustand zu ermitteln, um dann einen Startwert für einen Pseudo-Zufallszahlengenerator zu erzeugen.
  • Prinzipiell können in Ausführungsbeispielen alle denkbaren Speichertypen zum Einsatz kommen. Neben NVM-Speichern sind beispielsweise auch RAM-Speicher (RAM = Random Access Memory) denkbar, bei denen zum Beispiel durch Erhöhen des Refreshzyklus, bzw. das Auslesen mit einem längeren Abstand zum letzten Refreshzeitpunkt ein instabiles Auslesen erreicht werden kann. Weiterhin kann in Ausführungsbeispielen ein einmalig programmierbarer ROM-Speicher vorgesehen sein (ROM = Read Only Memory), um den Startwert zu speichern, wobei die Programmierung beispielsweise bei der Herstellung geschehen kann. Alternativ kann auch ein Speicher vorgesehen sein, bzw. der gleiche Speicher, der auch zu Erzeugung der Startwertes herangezogen wird, kann auch dazu dienen, um den Startwert zu speichern bzw. auch zwischenzuspeichern, falls erneut zu einen späteren Zeitpunkt, z. B. beim nächsten Einschalten ein Startwert generiert wird. Ferner sind die hier genannten Ausführungsbeispiele nicht auf Smart Cards/Chip Cards beschränkt und können allgemein überall dort eingesetzt werden, wo Startwerte für Pseudo-Zufallszahlengeneratoren erzeugt werden und entsprechende Speicherbausteine vorhanden sind.
  • Insbesondere wird darauf hingewiesen, dass abhängig von den Gegebenheiten das erfindungsgemäße Schema auch in Software implementiert sein kann. Die Implementierung kann auf einem digitalen Speichermedium, insbesondere einer Diskette oder einer CD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem und/oder Mikrocontroller zusammenwirken können, dass das entsprechende Verfahren ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computerprogrammprodukt mit auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn das Computerprogrammprodukt auf einem Rechner und/oder Mikrocontroller abläuft. In anderen Worten ausgedrückt kann die Erfindung somit als ein Computerprogramm mit einem Programmcode zur Durchführung des Verfahrens realisiert werden, wenn das Computerprogramm auf einem Computer und/oder Mikrocontroller abläuft.
  • 100
    Vorrichtung zum Erzeugen eines Startwerts
    110
    Einrichtung zum instabilen Auslesen
    115
    Speicherzelle
    120
    Einrichtung zum Bestimmen des Startwerts
    210
    MOSFET
    220
    MOSFET
    230
    Floating Gate
    240
    Floating Gate
    245
    Gateanschluss
    250
    Versorgungsleitung Source
    255
    Versorgungsleitung Drain
    260
    Versorgungsleitung Source
    265
    Versorgungsleitung Drain
    310
    Referenzsignal für stabilen Bereich
    320
    Nachregeln des Referenzsignals
    330
    Kriterium für Instabilität
    340
    Bestimmen des Startwertes
    400
    Schaltung
    410
    Speicher
    415
    Instabil-Signal
    420
    Steuerung
    425
    Eingang für instabil ausgelesenen Speicherinhalt
    430
    Pseudo-Zufallszahlengenerator
    435
    Eingang für den Startwert
    440
    Leseverstärker
    450
    Speicherzellen
    600
    Chip

Claims (21)

  1. Vorrichtung (100) zum Erzeugen eines Startwertes für einen Pseudo-Zufallszahlengenerator mit einer Einrichtung (120) zum Bestimmen des Startwerts basierend auf einem Ausgabewert einer Speicherzelle (115), gekennzeichnet durch: eine Einrichtung (110) zum instabilen Auslesen des Ausgabewertes aus der Speicherzelle (115), wobei die Speicherzelle über einen Zellstrom oder eine Zellspannung derart ansteuerbar ist, dass der Speicherzellen-Inhalt instabil auslesbar ist oder wobei die Einrichtung (110) zum instabilen Auslesen ferner einen Leseverstärker aufweist, der den Ausgabewert bestimmt, wobei der Ausgabewert auf einem Vergleich eines Speicherzellensignals, das auf dem Speicherzelleninhalt basiert, mit einer Lesereferenz basiert, und die Lesereferenz derart einstellbar ist, dass der Ausgabewert entweder gleich oder komplementär zu dem Speicherzelleninhalt auslesbar ist.
  2. Vorrichtung (100) gemäß Anspruch 1, wobei die Einrichtung (110) zum instabilen Auslesen einen NVM-Speicher (NVM = Non-Volatile Memory) aufweist.
  3. Vorrichtung (100) gemäß einem der Ansprüche 1 oder 2, wobei die Einrichtung (110) zum instabilen Auslesen einen EEPROM-Speicher (EEPROM = Electrical Erasable Programmable Read-Only Memory) aufweist.
  4. Vorrichtung (100) gemäß Anspruch 2 oder 3, wobei der NVM-Speicher ferner eine Zähl-Einrichtung mit einem Zählerstand aufweist, wobei der Zählerstand ein Maß für eine Stabilität einer Speicherzelle (115) ist.
  5. Vorrichtung (100) gemäß einem der Ansprüche 1 bis 4, wobei die Einrichtung (120) zum Bestimmen des Startwertes eine Einrichtung zum Bestimmen eines Hamming-Gewichtes, eine Einrichtung zum Bestimmen eines Hamming-Abstands, oder eine Ein richtung zum Ausführen einer komprimierenden oder selektierenden Funktion aufweist.
  6. Vorrichtung (100) gemäß einem der Ansprüche 1 bis 5, wobei die Einrichtung (110) zum instabilen Auslesen ansteuerbar ist, um durch instabiles Auslesen einen Auslesewert zu bestimmen, und die Einrichtung (120) zum Bestimmen des Startwerts ansteuerbar ist, um den Startwert zu bestimmen, und die Vorrichtung (100) ferner eine einmalig programmierbare Einrichtung zum Speichern aufweist, die den Startwert oder einen auf dem Startwert basierenden Wert speichert.
  7. Vorrichtung (100) gemäß einem der Ansprüche 1 bis 6, bei der die Einrichtung (110) zum instabilen Auslesen und die Einrichtung (120) zum Bestimmen des Startwerts durch einen Neustart der Vorrichtung (100) aktivierbar sind und die Vorrichtung (100) ferner eine Einrichtung zum Speichern aufweist, in der der Startwert oder ein auf dem Startwert basierender Wert speicherbar ist.
  8. Vorrichtung (100) gemäß einem der Ansprüche 1 bis 7, die in einen Chip integriert ist.
  9. Schaltung (400) mit einem Speicher (410) der durch ein Instabil-Signal (415) ansteuerbar ist, um instabil ausgelesen zu werden, wobei in dem Speicher (410) eine Zellspannung, ein Zellstrom oder eine Lesereferenz durch das Instabil-Signal (415) ansteuerbar ist; einer Steuerung (420) mit einem Ausgang für das Instabil-Signal (415), einem Eingang (425) für einen instabil aus dem Speicher ausgelesenen Speicherinhalt und einem Ausgang für einen Startwert; und einem Pseudo-Zufallszahlengenerator (430), mit einem Eingang (435) für den Startwert und einem Ausgang für eine Pseudo-Zufallszahl, die auf dem Startwert basiert.
  10. Schaltung (400) gemäß Anspruch 9, die ferner einen Speicher für den Startwert oder einen auf dem Startwert basierenden Wert aufweist.
  11. Schaltung (400) gemäß einem der Ansprüche 9 oder 10, wobei der Speicher (410) einen NVM-Speicher oder ein EEPROM aufweist.
  12. Chip (600) mit einem Speicher (410), der durch ein Instabil-Signal (415) ansteuerbar ist, um instabil ausgelesen zu werden, wobei in dem Speicher (410) eine Zellspannung, ein Zellstrom oder eine Lesereferenz durch das Instabil-Signal (415) ansteuerbar ist; einer Steuerung (420) mit einem Ausgang für das Instabil-Signal (415), einem Eingang (425) für einen instabil aus dem Speicher (410) ausgelesenen Speicherinhalt und einem Ausgang für einen Startwert; und einem Pseudo-Zufallszahlengenerator (430) mit einem Eingang (435) für den Startwert und einem Ausgang für eine Pseudo-Zufallszahl, die auf dem Startwert basiert.
  13. Chip (600) gemäß Anspruch 12, der ferner einen Speicher für den Startwert oder einen auf dem Startwert basierenden Wert aufweist.
  14. Chip (600) gemäß Anspruch 13, wobei der Speicher (410) einen NVM-Speicher, ein EEPROM oder ein Flash-EEPROM aufweist.
  15. Verfahren zum Erzeugen eines Startwerts für einen Pseudo-Zufallszahlengenerator, mit folgenden Schritten: instabiles Auslesen eines Ausgabewertes aus einer Speicherzelle, basierend auf einem Schritt des iterativen Nachführens einer Zellspannung, eines Zellstroms oder einer Lesereferenz und einem Schritt des Prüfens der Instabilität des Auslesens; und Bestimmen des Startwerts basierend auf dem Ausgabewert der Speicherzelle.
  16. Verfahren Anspruch 15, das ferner einen Schritt des Ausführens einer Rechenoperation, basierend auf dem instabil ausgelesenen Ausgabewert, zur Bestimmung des Startwertes aufweist.
  17. Verfahren gemäß einem der Ansprüche 15 oder 16, bei dem der Schritt des Bestimmens das Berechnen eines Hamming-Gewichtes, einer Hamming-Distanz oder das Anwenden einer komprimierenden oder selektierenden Funktion umfasst.
  18. Verfahren zum Erzeugen einer Pseudo-Zufallszahl, mit folgenden Schritten: instabiles Auslesen eines Ausgabewertes aus einer Speicherzelle, basierend auf einem Schritt des iterativen Nachführens einer Zellspannung, eines Zellstroms oder einer Lesereferenz und einem Schritt des Prüfens der Instabilität des Auslesens; Bestimmen eines Startwerts basierend auf dem Ausgabewert der Speicherzelle; und Generieren der Pseudo-Zufallszahl basierend auf dem Startwert.
  19. Verfahren gemäß Anspruch 18, das ferner einen Schritt des Berechnens des Startwerts basierend auf dem instabil ausgelesenen Ausgabewert umfasst.
  20. Verfahren gemäß einem der Ansprüche 18 oder 19, bei dem der Schritt des Bestimmens das Berechnen eines Hamming-Gewichtes, einer Hamming-Distanz oder das Anwenden einer komprimierenden oder selektierenden Funktion umfasst.
  21. Computer Programm mit einem Programm-Code zum Erzeugen eines Startwerts für einen Pseudo-Zufallszahlengenerator, durch instabiles Auslesen eines Ausgabewertes aus einer Speicherzelle und Bestimmen des Startwerts basierend auf dem Ausgabewert der Speicherzelle.
DE102006030888A 2006-07-04 2006-07-04 Verfahren und Vorrichtung zum Erzeugen eines Startwertes für einen Pseudo-Zufallszahlengenerator Active DE102006030888B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102006030888A DE102006030888B4 (de) 2006-07-04 2006-07-04 Verfahren und Vorrichtung zum Erzeugen eines Startwertes für einen Pseudo-Zufallszahlengenerator
US11/756,294 US8069196B2 (en) 2006-07-04 2007-05-31 Method and device for creating a starting value for a pseudorandom number generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102006030888A DE102006030888B4 (de) 2006-07-04 2006-07-04 Verfahren und Vorrichtung zum Erzeugen eines Startwertes für einen Pseudo-Zufallszahlengenerator

Publications (2)

Publication Number Publication Date
DE102006030888A1 DE102006030888A1 (de) 2008-01-10
DE102006030888B4 true DE102006030888B4 (de) 2009-06-25

Family

ID=38805947

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006030888A Active DE102006030888B4 (de) 2006-07-04 2006-07-04 Verfahren und Vorrichtung zum Erzeugen eines Startwertes für einen Pseudo-Zufallszahlengenerator

Country Status (2)

Country Link
US (1) US8069196B2 (de)
DE (1) DE102006030888B4 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI362611B (en) * 2007-12-12 2012-04-21 Phison Electronics Corp Random number generator and random number generating method thereof
US8130955B2 (en) * 2007-12-21 2012-03-06 Spansion Llc Random number generation through use of memory cell activity
JP2010062651A (ja) * 2008-09-01 2010-03-18 Panasonic Corp 無線送信装置及び無線受信装置
KR101818443B1 (ko) * 2011-07-08 2018-01-16 삼성전자주식회사 메모리 컨트롤러, 및 상기 메모리 컨트롤러를 포함하는 메모리 시스템
US9189201B2 (en) * 2011-09-20 2015-11-17 Qualcomm Incorporated Entropy source with magneto-resistive element for random number generator
US9201629B2 (en) 2013-03-14 2015-12-01 International Business Machines Corporation Instruction for performing a pseudorandom number seed operation
US8873750B2 (en) * 2013-03-14 2014-10-28 International Business Machines Corporation Instruction for performing a pseudorandom number generate operation
US9529570B2 (en) * 2014-03-19 2016-12-27 Seagate Technology Llc Random number generation using pulsed programming parameters
US10536266B2 (en) 2017-05-02 2020-01-14 Seagate Technology Llc Cryptographically securing entropy for later use

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4571556A (en) * 1983-07-28 1986-02-18 Mi Medical & Scientific Instruments, Inc. Randomized-clock circuit
US20030061250A1 (en) * 2001-09-26 2003-03-27 Kabushiki Kaisha Toshiba Random number generating circuit
US6714955B2 (en) * 1999-12-21 2004-03-30 Bull, S.A. High speed random number generation
US20050004959A1 (en) * 2003-03-14 2005-01-06 Laszlo Hars VLSI implementation of metastability-based random number generator using delay ladders

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6795837B1 (en) * 1999-03-31 2004-09-21 Intel Corporation Programmable random bit source
US20020128928A1 (en) * 2001-03-09 2002-09-12 Hiroshi Sukegawa Music distribution method for distributing production such as music, server used for said music distribution method, and music reproduction apparatus
US7124155B2 (en) * 2002-07-25 2006-10-17 Koninklijke Philips Electronics N.V. Latching electronic circuit for random number generation
US7146392B2 (en) * 2003-06-30 2006-12-05 International Business Machines Corporation Random number generator
DE102004011170B4 (de) * 2004-03-08 2006-03-23 Siemens Ag Manipulationssichere Erzeugung von echten Zufallszahlen

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4571556A (en) * 1983-07-28 1986-02-18 Mi Medical & Scientific Instruments, Inc. Randomized-clock circuit
US6714955B2 (en) * 1999-12-21 2004-03-30 Bull, S.A. High speed random number generation
US20030061250A1 (en) * 2001-09-26 2003-03-27 Kabushiki Kaisha Toshiba Random number generating circuit
US20050004959A1 (en) * 2003-03-14 2005-01-06 Laszlo Hars VLSI implementation of metastability-based random number generator using delay ladders

Also Published As

Publication number Publication date
DE102006030888A1 (de) 2008-01-10
US20080010331A1 (en) 2008-01-10
US8069196B2 (en) 2011-11-29

Similar Documents

Publication Publication Date Title
DE102006030888B4 (de) Verfahren und Vorrichtung zum Erzeugen eines Startwertes für einen Pseudo-Zufallszahlengenerator
DE60317768T2 (de) Verfahren zum Auslesen einer nichtflüchtigen Speichervorrichtung und zugehörige Vorrichtung
DE102011055714B4 (de) Verfahren zum Programmieren einer nicht-flüchtigen Speichervorrichtung
DE19859494C2 (de) Nichtflüchtiger Mehrebenen-Halbleiterspeicherbaustein mit einer Schaltung zum Einstellen der Datenlesezeit
DE3900798C2 (de) Verfahren zum Programmieren eines elektrisch löschbaren und programmierbaren Nur-Lese-Speichers
DE3925153C2 (de)
DE102005030661B4 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Verfahren zum Betreiben und Herstellen eines nichtflüchtigen Halbleiterspeicherbauelementes
DE102005061375B4 (de) NOR-Flashspeicherbauelement mit Mehrpegel-Speicherzelle und Bitwert-Detektionsverfahren
DE602005004253T2 (de) Speicher, bei dem zum Lesen an die Wortleitung eine Spannungs-Rampe angelegt wird, die mit einem Stromgenerator erzeugt wird
DE112005001325T5 (de) Lösch-Algorithmus für einen Multilevel-Bit-Flash-Speicher
DE102004013042A1 (de) Spannungsregler und zugehöriger Halbleiterspeicherbaustein
DE10034743B4 (de) Flash-Speicherbauelement und Programmierverfahren hierfür
DE19904786A1 (de) Nur-Lese-Speicher und Verfahren zum Herstellen eines Nur-Lese-Speichers
DE112004000703B4 (de) Verfahren zum Betrieb einer Doppelzellenspeichereinrichtung mit einer verbesserten Lesebereichsspanne über die Lebensdauer hinweg
DE102008016204A1 (de) Auslesen von Mehrpegelspeicherungszellen
DE102014118512B4 (de) Verfahren, Gerät und Vorrichtung zur Datenverarbeitung
DE112017006698T5 (de) Erreichen einheitlicher lesezeiten in nicht flüchtigen mehrebenenspeichern
DE3038641A1 (de) Halbleiter-speicherschaltung
DE112004002927B4 (de) Halbleiterbauelement und Verfahren zum Beschreiben desselben
DE102006040571B4 (de) Vorrichtung und Verfahren zum Auslesen einer Speicherinformation
DE112004000658B4 (de) Verfahren zum Programmieren einer Doppelzellenspeichereinrichtung zur Speicherung von Mehrfach-Datenzuständen pro Zelle
DE10022767A1 (de) Adressgenerator zur Erzeugung von Adressen für eine On-Chip Trimmschaltung
DE102006061359B4 (de) Vorrichtung und Verfahren zur Dateninvertierung
DE60114007T2 (de) Verwendungserkennungsschaltung
DE10085097B4 (de) Verfahren und Einrichtung zum Steuern kompensierter Puffer

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition