-
GEBIET DER ERFINDUNG
-
Diese Erfindung betrifft die permanente Speicherung von Daten mittels Schmelzsicherungen und insbesondere die Programmierung und Codierung solcher Schmelzsicherungen.
-
HINTERGRUND DER ERFINDUNG
-
Schmelzsicherungen lassen sich so anordnen, dass sie eine permanente Speicherung von Daten bereitstellen, zum Beispiel durch selektives Durchbrennen der Schmelzsicherungen, um die Daten zu codieren. Eine Schmelzsicherung wird üblicherweise als eine binäre „0” angesehen, wenn die Schmelzsicherung unversehrt ist, und als eine binäre „1”, wenn die Schmelzsicherung durchgebrannt ist. Somit erzeugt das selektive Durchbrennen von Schmelzsicherungen eine Binärzahl.
-
Beispiele von zur permanenten Speicherung von Daten verwendeten Schmelzsicherungen umfassen „e-Fuses” und Laser-Schmelzsicherungen. Wie in der Patentschrift
US 7461268 B2 erörtert, sind „e-Fuses” elektrisch programmierbar oder werden sie durch Anlegen einer hohen Durchbrennspannung an eine Schmelzsicherung geschrieben. Die Daten werden durch speicherndes Setzen der Daten in Register gelesen. Laser-Schmelzsicherungen werden durchgebrannt, indem ein Laser auf die Schmelzsicherung gerichtet wird, um sie zu überhitzen.
-
Schmelzsicherungen können verwendet werden, um Daten zu codieren, die unverändert fortbestehen sollen und die unbegrenzt aufbewahrt werden sollen, ohne eine Pufferbatterie zu erfordern. Ein Beispiel solcher Daten umfasst die Seriennummer einer Einheit und Daten über die Einheit. Nachdem die Daten codiert wurden, können die Daten üblicherweise nicht verändert werden. Ein weiteres Beispiel umfasst einen permanenten Verschlüsselungsschlüssel wie einen solchen, der zum Verschlüsseln und Entschlüsseln von Daten über eine Einheit, in welche die Schmelzsicherungen eingebettet sind, z. B. Einheiten-Metadaten, verwendet werden kann. Eine Verschlüsselungsmaschine hat dann den ausschließlichen Zugang zu dem Verschlüsselungsschlüssel zum Verschlüsseln oder Entschlüsseln der Daten, aber es gibt keine andere Möglichkeit des Zugangs, nachdem der Schlüssel codiert wurde.
-
Daten über eine Einheit können zum Beispiel durch den Hersteller der Einheit in einer speziellen Fertigungsstätte codiert werden. Verschlüsselungsschlüssel erfordern volle Sicherheit und werden an einem absolut sicheren Ort codiert, und nachdem sie codiert sind, kann weiteres Codieren durch Zerstören des Zugangs zur Codiervorrichtung verhindert werden. Im Fall von Laser-Schmelzsicherungen können die codierten Schmelzsicherungen durch eine Schicht bedeckt werden, welche das optische Lesen der Schmelzsicherungen verhindert und weiteres Codieren verhindert. Im Fall von „e-Fuses” kann der Zugriff von außen auf die Verschlüsselungsschlüssel zum Beispiel durch Durchbrennen einer Haupt-Schmelzsicherung beschränkt und schreibgeschützt werden, oder die „e-Fuses” können, wie in der Patentschrift
US 7461268 B2 erörtert, monotone Aktualisierungen in einer Richtung mit der Zeit ausführen, wie bei einem Versionswert, der nur erhöht werden kann.
-
Ein Problem kann die mögliche Einführung eines oder mehrerer Fehler in den Codierprozess dadurch, dass eine Schmelzsicherung vor dem Codierprozess, während des Codierprozesses und nach dem Codierprozess unbeabsichtigt durchgebrannt werden kann, umfassen. Üblicherweise erfordert ein solcher Fehler, dass der gesamte die Schmelzsicherungen verkörpernde Chip ausgesondert werden muss. Nachdem die Haupt-Schmelzsicherung durchgebrannt wurde, ist es gegebenenfalls unmöglich, festzustellen, ob eine Schmelzsicherung, die unversehrt sein sollte, durchgebrannt wurde. Alles, was ein Benutzer wüsste, ist, dass die den Chip verkörpernde Einheit nicht mehr funktioniert, weil sie ihre Metadaten nicht richtig lesen kann. Zu einem weiteren Problem kann die Entsorgung der codierten Schmelzsicherungen gehören, welche nicht mehr gebraucht werden oder gefährdet sind. Die Entsorgung muss geschützt erfolgen, um unbefugte Verwendung zu unterbinden.
-
Auch andere Dokumente beschäftigen sich mit e-Fuses. Beispielsweise ist in
US 6285619 B1 ein Schaltkreis zum Speichern eines Datenbit beschrieben, bei dem der Schaltkreis eine erste Sicherung ausweist, die ein erstes und ein zweites Ende hat, und eine zweite Sicherung, die ein drittes und ein viertes Ende hat.
-
KURZBESCHREIBUNG DER ERFINDUNG
-
Verfahren, Schmelzsicherungs-Codiersysteme, Schmelzsicherungs-Programmiersysteme und Einheiten werden bereitgestellt.
-
In einer Ausführungsform umfasst ein Schmelzsicherungs-Codiersystem eine Vielzahl von paarweise angeordneten Schmelzsicherungen, die so konfiguriert sind, dass jedes Schmelzsicherungs-Paar ein Datenbit darstellt, wenn eine Schmelzsicherung des Paars durchgebrannt ist; ein unprogrammiertes Bit darstellt, wenn keine Schmelzsicherung des Paars durchgebrannt ist; und ein auf Null gesetztes Bit (zero-ized bit) darstellt, wenn beide Schmelzsicherungen des Paars durchgebrannt sind. Das Anordnen der Schmelzsicherungen in Paaren gestattet das Erkennen und Melden gültiger Bits, ohne den Wert irgendeines Bits zu identifizieren.
-
Außerdem weist das Schmelzsicherungs-Codiersystem zusätzlich ein Erkennungssystem auf, das so konfiguriert ist, dass es erkennt, ob irgendein Schmelzsicherungs-Paar auf Null gesetzt ist, was zum Beispiel den Satz von Schmelzsicherungen unbrauchbar machen könnte.
-
In noch einer weiteren Ausführungsform umfasst ein Schmelzsicherungs-Programmiersystem eine Vielzahl von paarweise angeordneten Schmelzsicherungen; und ein System zum Durchbrennen von Schmelzsicherungen, das in der Lage ist, die Schmelzsicherungen der Paare so zu programmieren, dass jedes Paar ein Bit darstellt, was das Durchbrennen einer ersten Schmelzsicherung eines Paars, um ein „1”-Bit darzustellen, das Durchbrennen einer zweiten Schmelzsicherung eines Paars, um ein „0”-Bit darzustellen, und das Durchbrennen beider Schmelzsicherungen eines Paars, um ein auf Null gesetztes Paar darzustellen, umfasst, wobei, wenn keine Schmelzsicherung eines Paars durchgebrannt ist, dieses ein leeres, unprogrammiertes Bit (null, un-programmed bit) darstellt.
-
Außerdem weist auch dieses Schmelzsicherungs-Codiersystem zusätzlich ein Erkennungssystem auf, das so konfiguriert ist, dass es erkennt, ob irgendein Schmelzsicherungs-Paar auf Null gesetzt ist, was zum Beispiel den Satz von Schmelzsicherungen unbrauchbar machen könnte.
-
In noch einer weiteren Ausführungsform ist ein Prüfsystem so konfiguriert, dass es vor dem Programmieren eines Schmelzsicherungs-Paars beide Bits des Schmelzsicherungs-Paars darauf prüft, ob eine Schmelzsicherung des Paars durchgebrannt ist.
-
Und in noch einer weiteren Ausführungsform ist ein Speicherungssystem so konfiguriert, dass es jedes vom Prüfsystem gefundene Bitpaar, bei dem eine Schmelzsicherung des Paars durchgebrannt ist, identifiziert; und ist das System zum Durchbrennen von Schmelzsicherungen so konfiguriert, dass es jede Schmelzsicherung des gefundenen Schmelzsicherungs-Paars überspringt und nicht durchbrennt. Es besteht eine Wahrscheinlichkeit von 50 Prozent, dass die durchgebrannte Schmelzsicherung richtig ist.
-
In noch einer weiteren Ausführungsform ist ein Versuchs-Prüfsystem so konfiguriert, dass es die Gültigkeit der Programmierung durch Ausführen eines Versuchs prüft; und wenn der Versuch fehlschlägt, anzeigt, dass das identifizierte Bitpaar ein invertiertes Bit umfasst. Ein fehlgeschlagener Versuch zeigt an, dass die durchgebrannte Schmelzsicherung falsch ist. Es kann möglich sein, die Daten so abzuändern, dass sie zu dem invertierten Bit passen.
-
In einer weiteren Ausführungsform ist ein Erkennungssystem so konfiguriert, dass es vor dem Programmieren irgendeines Paars erkennt, ob alle Schmelzsicherungs-Paare leere, unprogrammierte Bits umfassen, und andernfalls, ob irgendein Paar nicht leer ist.
-
In noch einer weiteren Ausführungsform ist ein Prüfsystem so konfiguriert, dass es nach dem Programmieren jedes Schmelzsicherungs-Paars die Gültigkeit des jeweiligen Paars prüft.
-
In einer Ausführungsform ist das Prüfsystem so konfiguriert, dass es feststellt, ob jedes Schmelzsicherungs-Paar auf ein „1”-Bit oder ein „0”-Bit programmiert wurde, und andernfalls, dass mindestens ein Bitpaar ungültig ist.
-
In einer weiteren Ausführungsform ist das Schmelzsicherungs-System zum Durchbrennen von Schmelzsicherungen zusätzlich so konfiguriert, dass es, wenn mindestens ein ungültiges Bitpaar ermittelt wird, alle unversehrten Schmelzsicherungen der Paare durchbrennt, wodurch die Vielzahl von Schmelzsicherungen „auf Null gesetzt” wird.
-
In noch einer weiteren Ausführungsform ist ein Erkennungssystem so konfiguriert, dass es nach dem Durchbrennen der unversehrten Schmelzsicherungen der Paare erkennt, ob alle Schmelzsicherungs-Paare auf Null gesetzt sind, um dadurch sicherzustellen, dass der Satz von Schmelzsicherungen unbrauchbar ist.
-
In noch einer weiteren Ausführungsform umfasst eine Einheit ein Funktionssystem, ein Gefährdungserkennungssystem, das so konfiguriert ist, dass es erkennt, ob das Funktionssystem gefährdet ist, und ein System codierter Schmelzsicherungen, das eine Vielzahl von paarweise angeordneten Schmelzsicherungen umfasst, die so codiert sind, dass jedes Schmelzsicherungs-Paar ein Datenbit darstellt, wenn eine Schmelzsicherung des Paars durchgebrannt ist. Ein System zum Durchbrennen von Schmelzsicherungen ist so konfiguriert, dass es auf die durch das Gefährdungserkennungssystem gemachte Feststellung, dass das Funktionssystem gefährdet ist, mit dem Durchbrennen aller unversehrten Schmelzsicherungen der Paare reagiert, so dass beide Schmelzsicherungen jedes Paars durchgebrannt sind, um ein auf Null gesetztes Paar darzustellen, wodurch die Vielzahl von Schmelzsicherungen „auf Null gesetzt” wird, um dadurch den Satz von Schmelzsicherungen unbrauchbar zu machen.
-
Die folgende ausführliche Beschreibung ermöglicht in Verbindung mit den beigefügten Zeichnungen ein umfassenderes Verständnis der vorliegenden Erfindung.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist eine Zeichnung einer beispielhaften Anordnung von Schmelzsicherungen in Paaren gemäß der vorliegenden Erfindung;
-
Die 2A, 2B, 2C und 2D sind Zeichnungen von Beispielen von Darstellungen eines Schmelzsicherungs-Paars aus 1;
-
3 ist ein Schaltbild unversehrter und durchgebrannter „e-Fuses”, das in der Anordnung von Schmelzsicherungen in 1 realisiert sein kann;
-
Die 4A und 4B sind schematische Darstellungen mittels eines Laser-Systems durchgebrannter und unversehrter Schmelzsicherungen und eines Systems zum Bedecken der Schmelzsicherungen, das in der Anordnung von Schmelzsicherungen in 1 realisiert sein kann;
-
5 ist ein Ablaufplan, der ein Beispiel eines Fertigungsprozesses für die Anordnung von Schmelzsicherungen in 1 zeigt;
-
6 ist ein Blockschaltbild einer beispielhaften Anordnung zum Prüfen der Anordnung von Schmelzsicherungen in 1;
-
7 ist ein Blockschaltbild einer weiteren beispielhaften Anordnung zum Prüfen der Anordnung von Schmelzsicherungen in 1;
-
8 ist ein Blockschaltbild einer beispielhaften Anordnung zum Programmieren und Betreiben der Anordnung von Schmelzsicherungen in 1;
-
9 ist ein Beispiel der Zustände des Betriebs der Anordnung in 8;
-
10 ist eine Zeichnung einer Einheit, welche die Anordnung von Schmelzsicherungen in 1 realisiert; und
-
11 ist ein Ablaufplan, welcher ein Beispiel des Betriebs der Einheit in 10 im Fall einer Gefährdung der Einheit zeigt.
-
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
In der folgenden Beschreibung wird diese Erfindung anhand bevorzugter Ausführungsformen beschrieben, wobei auf die Figuren Bezug genommen wird, in welchen gleiche Bezugszeichen gleiche oder ähnliche Elemente bezeichnen. Zwar ist diese Erfindung im Sinne der besten Art und Weise zum Erreichen der Zielsetzungen dieser Erfindung beschrieben, der Fachmann wird jedoch erkennen, dass Veränderungen im Hinblick auf diese Erläuterungen vorgenommen werden können, ohne vom Geist oder vom Umfang der Erfindung abzuweichen.
-
Wie in 1 gezeigt, sind die Schmelzsicherungen 100 in Paaren 110, 111, ... 120, 121 angeordnet, wobei jedes Paar ein einziges Bit darstellt. Die Schmelzsicherungen 130 jedes Paars stellen zum Beispiel eine „1” dar, wenn sie durchgebrannt sind, und die Schmelzsicherungen 131 jedes Paars stellen eine „0” dar, wenn sie durchgebrannt sind. Die 2A, 2B, 2C und 2D sind Beispiele von Darstellungen eines Schmelzsicherungs-Paars aus 1. In 2A sind die Schmelzsicherung 140 und die Schmelzsicherung 141 des Paars 142 beide unversehrt und stellen diese zum Beispiel ein leeres Schmelzsicherungs-Paar oder ein Schmelzsicherungs-Paar, das nicht programmiert wurde, dar. In einem weiteren Beispiel stellt das Durchbrennen einer Schmelzsicherung eines Paars ein Datenbit dar; wie das Durchbrennen einer Schmelzsicherung 150 auf der einen Seite des Paars 152, während die Schmelzsicherung 151 unversehrt ist, eine „1” darstellt, wie in 2B gezeigt, wo ein „X” eine durchgebrannte Schmelzsicherung anzeigt. Das Durchbrennen einer Schmelzsicherung 161 auf der anderen Seite des Paars 162, während die Schmelzsicherung 160 unversehrt bleibt, stellt eine „0” dar, wie in 2C gezeigt. In noch einem weiteren Beispiel, wie in 2D gezeigt, stellt es ein auf Null gesetztes Bit dar, wenn beide Schmelzsicherungen 170 und 171 des Paars 172 durchgebrannt sind.
-
Techniken zum Durchbrennen von Schmelzsicherungen sind in der Fachwelt bekannt. Zum Beispiel werden „e-Fuses” durchgebrannt, indem ein Strom, der größer als ein gegebener Schwellenwert ist, durch die Schmelzsicherung geschickt wird. Wie in 3 gezeigt, können Schmelzsicherungen 180 und 181 durch die Gatter 185, 186 zwischen eine Leitung 182 und Masse 183, 184 gelegt werden. Wenn das Gatter 186 angesteuert wird und eine hohe Spannung (wie 3,3 Volt) an die Leitung 182 angelegt ist, genügt der Stromfluss zwischen der Leitung mit der hohen Spannung 182 und Masse 184 durch die Schmelzsicherung 181, um die Schmelzsicherung 181 durchzubrennen, während die Schmelzsicherung 180 aufgrund der Nicht-Ansteuerung des Gatters 185 unversehrt bleibt. Die Schmelzsicherungen können soweit in einen Chip eingebettet sein, dass die einzelnen Schmelzsicherungen, die unversehrt oder durchgebrannt sind, nicht durch Sicht direkt erkennbar sind. In einem anderen Beispiel wird ein Laser 190 in 4A für eine Zeitdauer und mit einer Leistung, welche ausreichen, um die Schmelzsicherung durchzubrennen, auf die Schmelzsicherung 192 auf dem Substrat 193 gerichtet, während der Laser nicht auf die Schmelzsicherung 191 gerichtet wird. Wenn gewünscht wird, die Schmelzsicherungen vor direkten Blicken zu verbergen, wird in 4B ein Überzug 195 aufgebracht 194, um die Schmelzsicherungen zu bedecken.
-
Schmelzsicherungen werden für Anwendungen verwendet, welche Daten codieren, die unverändert fortbestehen sollen und die unbegrenzt aufbewahrt werden sollen, ohne eine Pufferbatterie zu erfordern. Ein Beispiel solcher Daten umfasst die Seriennummer einer Einheit und Daten über die Einheit. Nachdem die Daten codiert wurden, können die Daten üblicherweise nicht verändert werden. Ein weiteres Beispiel umfasst einen permanenten Verschlüsselungsschlüssel wie einen solchen, der zum Verschlüsseln und Entschlüsseln von Daten über eine Einheit, in welches die Schmelzsicherungen eingebettet sind, wie Einheiten-Metadaten, verwendet werden kann. Eine Verschlüsselungsmaschine hat dann den ausschließlichen Zugang zu dem Verschlüsselungsschlüssel zum Verschlüsseln oder Entschlüsseln der Daten. Die vorliegende Erfindung ermöglicht eine ständige Sichtbarkeit des Zustands des Schlüssels, ohne einen tatsächlichen Zugriff auf die codierten Werte zu gestatten.
-
Wie in den 5, 6 und 7 gezeigt, wird der die Schmelzsicherungs-Paare verkörpernde Chip in Schritt 200 unter Verwendung bekannter Techniken hergestellt. In Schritt 201 werden die Schmelzsicherungs-Paare nach der Herstellung des Chips auf durchgebrannte Schmelzsicherungen geprüft.
-
In einer Ausführungsform soll mittels der durchgeführten Prüfung 201 festgestellt werden, ob irgendeine Schmelzsicherung durchgebrannt ist, so dass, wenn die Schmelzsicherungen die Prüfung bestehen, alle Schmelzsicherungs-Paare leere, unprogrammierte Bits umfassen, wo beide Schmelzsicherungen unversehrt sind, und die Prüfung schlägt andernfalls fehl, wenn irgendein Paar nicht leer ist. In einem Beispiel wird eine ODER-Schaltung 205 aus 6 auf jede Schmelzsicherung angewendet, um alle Schmelzsicherungen zu erkennen und festzustellen, ob irgendeine Schmelzsicherung durchgebrannt ist.
-
In einer weiteren Ausführungsform soll mittels der durchgeführten Prüfung 201 festgestellt werden, ob irgendein Schmelzsicherungs-Paar auf Null gesetzt ist, was zum Beispiel den Satz von Schmelzsicherungen unbrauchbar machen könnte. Ein auf Null gesetztes Schmelzsicherungs-Paar bedeutet, dass beide Schmelzsicherungen durchgebrannt sind und dass es unmöglich ist, ein Bit bereitzustellen, wo nur eine Schmelzsicherung durchgebrannt wird, um das Bit zu bilden. In einem Beispiel werden UND-Schaltungen 207 aus 7 mit jeder Schmelzsicherung jedes Schmelzsicherungs-Paars verbunden, und eine ODER-Schaltung 208 verknüpft die Ergebnisse, um anzuzeigen, ob irgendein Schmelzsicherungs-Paar auf Null gesetzt ist, was bedeutet, dass beide Schmelzsicherungen des Paars durchgebrannt sind. Bei dieser Prüfung können eine oder mehrere Schmelzsicherungen durchgebrannt sein, aber es sind keine zwei Schmelzsicherungen desselben Paars durchgebrannt. In einer Ausführungsform gestattet die vorliegende Erfindung die Möglichkeit, trotz Vorliegen mindestens einer durchgebrannten Schmelzsicherung eine Programmierung vorzunehmen.
-
Ganz gleich, welche Prüfung 201 angewendet wird, ein defekter Chip wird ausgesondert. Da alles andere gleich ist, z. B. zufriedenstellende Ausbeuten, wird die Prüfung aus 6 bevorzugt, bei welcher ein Chip defekt ist und ausgesondert wird, wenn irgendeine Schmelzsicherung durchgebrannt ist.
-
Chips, welche die Prüfung des Schritts 201 bestehen, werden dann zum Programmieren der Schmelzsicherungs-Paare verfügbar gemacht. Wenn die Schmelzsicherungen für eine Sicherheit erfordernde Situation programmiert werden sollen, wird der unprogrammierte Chip durch den Kunden oder die mit der Programmierung des Chips beauftragte Organisation in eine sichere Umgebung verbracht.
-
Ein Beispiel einer Anordnung von „e-Fuses” und die Schaltung zum Programmieren und Lesen der „e-Fuses” sind in 8 dargestellt.
-
Die Schmelzsicherungen eines Chips 197 sind auf die in 1 dargestellte Weise angeordnet, wo die Schmelzsicherungen in Paaren 210, ... 221 angeordnet sind, wobei jedes Paar ein einziges Bit darstellt. Die Schmelzsicherungen 230 jedes Paars stellen zum Beispiel eine „1” dar, wenn sie durchgebrannt sind, und die Schmelzsicherungen 231 jedes Paars stellen eine „0” dar, wenn sie durchgebrannt sind.
-
Im Beispiel in 8 gibt es 128 Schmelzsicherungs-Paare, welche insgesamt 256 Schmelzsicherungen umfassen.
-
Ein Komparator 240 umfasst die Schaltung zum Ermitteln des Zustands jedes Schmelzsicherungs-Paars. Wie oben in Bezug auf 2A erörtert, sind die Schmelzsicherung 140 und die Schmelzsicherung 141 des Paars 142 beide unversehrt und stellen diese zum Beispiel ein leeres Schmelzsicherungs-Paar oder ein Schmelzsicherungs-Paar, das nicht programmiert wurde, dar. Das Durchbrennen einer Schmelzsicherung eines Paars stellt ein Datenbit dar; wie das Durchbrennen einer Schmelzsicherung 150 auf der einen Seite des Paars 152, während die Schmelzsicherung 151 unversehrt ist, eine „1” darstellt, wie in 2B gezeigt, wo ein „X” eine durchgebrannte Schmelzsicherung anzeigt. Das Durchbrennen einer Schmelzsicherung 161 auf der anderen Seite des Paars 162, während die Schmelzsicherung 160 unversehrt bleibt, stellt eine „0” dar, wie in 2C gezeigt. Wo eine Schmelzsicherung des Paars durchgebrannt ist, wird entweder ein „1”-Bit oder ein „0”-Bit als ein „gültiger Wert” für ein Schmelzsicherungs-Paar angesehen. Wie in 2D gezeigt, umfasst ein auf Null gesetztes Bit den Zustand, wenn beide Schmelzsicherungen 170 und 171 des Paars 172 durchgebrannt sind.
-
Das Anordnen der Schmelzsicherungen in Paaren gestattet dem Komparator 240, gültige oder ungültige Bits zu erkennen und zu melden, ohne den Wert irgendeines Bits zu identifizieren.
-
Eine Steuereinheit 250 in 8 kann einen Teil desselben Chips 197 wie die Schmelzsicherungen 230, 231 und den Komparator 240 umfassen, oder sie kann einen separaten Chip umfassen, und sie wird verwendet, um die Schmelzsicherungen zu programmieren. Schmelzsicherungs-Quellen 252 und 253 liefern den Strom, welcher unter der Kontrolle der Steuereinheit 250 freigegeben wird, um die Schmelzsicherungen bei der Programmierung durchzubrennen. Der Komparator 240 liefert der Steuereinheit Informationen über Leitungen 255, 256 und 257, um den Zustand jedes Schmelzsicherungs-Paars zu verfolgen. Jede der Leitungen 255, 256 und 257 umfasst zum Beispiel einen Satz von 128 Leitungen, um den Zustand jedes Schmelzsicherungs-Paars anzuzeigen. Nach erfolgter Programmierung stellt der Komparator 240 den Dateninhalt der Schmelzsicherungen über einen Inverter 260 an die nutzende Einheit 265 bereit. Die in die Schmelzsicherungen codierten Daten können beispielsweise einen geheimen Verschlüsselungsschlüssel umfassen. Wenn die in die Schmelzsicherungen codierten Daten geheim gehalten werden müssen, ist kein Zugriff von außen auf die einzelnen Schmelzsicherungen 230, 231, den Komparator 240, den Inverter 260 oder die Leitungen, welche diese Elemente untereinander verbinden, oder auf die nutzende Einheit 265 zulässig. Ein direkter Zugriff auf die einzelnen Schmelzsicherungen steht nicht zur Verfügung. Durch Begrenzung der Ausgabeinformationen auf die Leitungen 255, 256 und 257 wird die Identifizierung des Werts irgendeines Bits verhindert. Zusätzlich wird ein Zugriff durch Sicht, Strahlung usw. auf die Schmelzsicherungen selbst verhindert, zum Beispiel durch Überzüge auf den Schmelzsicherungen, um eine Ermittlung des Zustands der Schmelzsicherungen von außen zu verhindern. Jeder derartige Zugriff von außen bedeutet eine Gefährdung der durch die Schmelzsicherungen gespeicherten geheimen Daten.
-
9 zeigt die Zustände einer Zustandsmaschine der zum Programmieren der Schmelzsicherungen 230, 231 verwendeten Steuereinheit 250 in 8. Wenn die Daten wie oben erörtert sicher sein müssen, muss die Fertigungsstätte, in welcher die Programmierung erfolgt, sicher sein. Die Steuereinheit 250 kann verschiedene Schnittstellen innerhalb der sicheren Umgebung aufweisen, wie eine Mikroprozessor-Schnittstelle 270, einen Takteingang 272, einen Eingang 274 zum Rücksetzen der Steuereinheit vor dem Programmieren eines Satzes von Schmelzsicherungen, einen Ausgang 276 zum Anzeigen eines Fehlers und einen Anschluss 278 zum Bereitstellen von Informationen, die zum Testen der Steuereinheit nützlich sein können.
-
Wie in den 8 und 9 gezeigt, wird die Steuereinheit im Zustand 300, wie POR (Power on reset (Einschaltrücksetzung)), rückgesetzt und werden die zu programmierenden Daten 310 an die Steuereinheit 250 geliefert. Vor dem Programmieren der Schmelzsicherungen im Zustand 320 fragt die Steuereinheit den Komparator 240 entsprechend einer der oben erörterten Prüfungen ab, um festzustellen, ob irgendeine Schmelzsicherung nach der Herstellung oder vor dem Programmieren durchgebrannt wurde.
-
In einer Ausführungsform soll die angewendete Prüfung 320 erkennen, ob irgendeine Schmelzsicherung durchgebrannt ist, so dass, wenn die Schmelzsicherungen die Prüfung bestehen, alle Schmelzsicherungs-Paare leere, unprogrammierte Bits umfassen, wo beide Schmelzsicherungen unversehrt sind, und andernfalls schlägt die Prüfung fehl, wenn irgendein Paar nicht leer ist. Dies umfasst das Abfragen der Leitungen 255 für alle Schmelzsicherungs-Paare, um festzustellen, ob sie alle leere, unprogrammierte Bits sind, und andernfalls, ob irgendein Paar nicht leer ist, was bedeutet, dass die Prüfung erkennen soll, ob irgendeine Schmelzsicherung durchgebrannt ist.
-
In einer weiteren Ausführungsform soll die angewendete Prüfung 320 feststellen, ob irgendein Schmelzsicherungs-Paar auf Null gesetzt ist, was den Satz von Schmelzsicherungen unbrauchbar macht. Ein auf Null gesetztes Schmelzsicherungs-Paar bedeutet, dass beide Schmelzsicherungen durchgebrannt sind und dass es unmöglich ist, ein Bit bereitzustellen, bei welchem nur eine Schmelzsicherung durchgebrannt ist, um das Bit zu bilden. Diese Prüfung beinhaltet das Abfragen der Leitungen 257, um festzustellen, ob irgendein Schmelzsicherungs-Paar auf Null gesetzt ist, was bedeutet, dass beide Schmelzsicherungen des Paars durchgebrannt sind.
-
In einer Ausführungsform wird die Schmelzsicherung durch die Steuereinheit 250 abgetastet, indem diese eine Funktionssteuerungsleitung 340 für die gewünschte Schmelzsicherung oder die gewünschten Schmelzsicherungen aktiviert, um einen Signalspeicher (latch) an jeder Schmelzsicherung mit ihrem Wert zu setzen, und die Komparatorlogik stellt die resultierenden Signale auf den Leitungen 255, 256 und 257 bereit. Die Abtastleitungen können einen Abtaststrom zur Schmelzsicherung freigeben und einen Signalspeicher betätigen, um die Daten an die Logik des Komparators 240 weiterzuleiten.
-
Unter der Prüfung des Zustands 320, wie in den 5 und 6 oder 7 gezeigt, bestehen die Schmelzsicherungen die Prüfung, wenn eine oder mehrere Schmelzsicherungen durchgebrannt sein können, aber keine zwei Schmelzsicherungen desselben Paars durchgebrannt sind.
-
Ganz gleich, welche Prüfung 320 angewendet wird, ein defekter Chip, der sich noch nicht in einer Einheit befindet, wird ausgesondert. Da alles andere gleich ist, da die vorliegende Erfindung in einer Ausführungsform die Möglichkeit zulässt, trotz Vorliegen mindestens einer durchgebrannten Schmelzsicherung eine Programmierung vorzunehmen, wird auf dieser Stufe die Prüfung der Leitungen 257 bevorzugt, bei welcher ein Chip nur dann ausfällt und ausgesondert wird, wenn beide Schmelzsicherungen eines Paars durchgebrannt sind.
-
Nach Abschluss der Prüfung 320 geht die Steuereinheit in einen Funktionszustand 330 über. Wenn die Schmelzsicherungen die Prüfung 320 nicht bestanden haben, können die Schmelzsicherungen zerstört werden, indem im Zustand 335 alle Schmelzsicherungen durchgebrannt werden, um den Chip auf Null zu setzen. Wenn die Schmelzsicherungen die Prüfung 320 bestanden haben, werden die Schmelzsicherungen beginnend beim Zustand 337 programmiert.
-
Die Schmelzsicherungen werden durch die Steuereinheit 250 durchgebrannt, welche die Leitungen 325, 326 einzeln ansteuert (die Leitungen 325, 326 stellen jeweils einen Satz einzelner Leitungen zu jeder Schmelzsicherung dar), um ein zugehöriges Gatter (185, 186 in 3) zu veranlassen, den Strom aus der zugehörigen Schmelzsicherungs-Quelle 252, 253 (182 in 3) durch die Schmelzsicherung zur Masse freizugeben und die Schmelzsicherung durchzubrennen. In einer Ausführungsform umfassen die Schmelzsicherungs-Quellen die geeignete Spannung, und sie liefern den geeigneten Strom, um eine Schmelzsicherung nach der anderen durchzubrennen.
-
Im Zustand 335 werden die Schmelzsicherungen zum Beispiel der Reihe nach durchgebrannt, beginnend mit dem Durchbrennen der Schmelzsicherungen 350 und 351 des Paars 210 und der Reihe nach fortfahrend mit den Schmelzsicherungen 360 und 361 des Paars 221. Wenn dies erledigt ist, werden die Schmelzsicherungen im Zustand 380 zum Beispiel durch die Abtastleitungen 257 abgetastet, um sicherzustellen, dass nun jedes Schmelzsicherungs-Paar auf Null gesetzt ist.
-
Wenn die Schmelzsicherungen die Prüfung 320 bestanden haben, werden die Schmelzsicherungen in einer Ausführungsform paarweise, beginnend beim Zustand 337, programmiert. Zum Beispiel werden die Abtastleitungen 340 für das Paar angesteuert und wird die Leitung „Gültiger Wert” 256 für das Paar abgefragt. In einer Ausführungsform erfolgt die Programmierung auf eine fehlertolerante Weise, unter der Voraussetzung, dass eine Wahrscheinlichkeit von 50 Prozent besteht, dass das Bit richtig ist, wenn eine Schmelzsicherung eines Paars vor dem Programmieren des Paars durchgebrannt wurde. Also wird das Paar bei der Programmierung übersprungen, und anschließend wird eine Überprüfungsprozedur durchgeführt, um festzustellen, ob das Bit zufällig richtig war. Wenn mehr als ein Paar eine durchgebrannte Schmelzsicherung aufweist, verringert sich die Wahrscheinlichkeit, dass die richtige Kombination von Schmelzsicherungen durchgebrannt ist, entsprechend; zum Beispiel besteht bei zwei durchgebrannten Schmelzsicherungen in zwei Paaren eine Wahrscheinlichkeit von 25 Prozent, dass die Kombination dieser Schmelzsicherungen richtig ist. Wenn der Zustand 337 zum Beispiel nach dem Abfragen der Leitung 255 für das Paar anzeigt, dass eine Schmelzsicherung dieses Paars durchgebrannt ist, wird das Programmieren dieses Paars also übersprungen und kehrt die Steuereinheit in den Zustand 330 zurück, um das nächste Paar zu abzufragen. Die Steuereinheit 250 stellt Speicherplatz bereit, um die Kennzeichnung des Bits, das übersprungen wurde, zu speichern.
-
In einer Ausführungsform werden die Instanzen des Zustands 337 der Reihe nach ausgeführt, beginnend beim Paar 210 mit dem Abfragen der Schmelzsicherungen 350 und 351 des Paars 210 und der Reihe nach fortfahrend mit den Schmelzsicherungen 360 und 361 des Paars 221.
-
Wenn die Steuereinheit die Abtastleitungen 340 für das gewünschte Schmelzsicherungs-Paar ansteuert und im Zustand 337 die Leitung 255 für das Paar abfragt und feststellt, dass das Paar unprogrammiert ist, wird im Zustand 370 eine der Schmelzsicherungen entsprechend den Programmdaten für dieses Bit durchgebrannt. Der Zustand 372 ermittelt, ob alle Daten programmiert wurden, und wenn nicht, kehrt die Steuereinheit 250 in den Zustand 337 zurück, um das nächste Schmelzsicherungs-Paar in der Abfolge abzufragen. Wenn dieses ebenfalls unprogrammiert ist, hört die Steuereinheit auf und kehrt sie in den Zustand 337 zurück, um den Wert zu prüfen, und programmiert dann im Zustand 370 durch Durchbrennen einer der Schmelzsicherungen das durch das Paar dargestellte Bit.
-
In einer Ausführungsform kann der Zustand 337 außerdem nach dem Programmieren jedes Schmelzsicherungs-Paars das Prüfen der Gültigkeit des jeweiligen Paars umfassen, zum Beispiel durch Ansteuern der Abtastleitungen 340 für das Paar und Abfragen der Leitung „Gültiger Wert” 256 für dieses Schmelzsicherungs-Paar.
-
Wenn der Zustand 372 anzeigt, dass alle Daten programmiert wurden, z. B. durch das Erreichen des Bits 221 und Durchbrennen entweder der Schmelzsicherung 360 oder der Schmelzsicherung 361, werden die Schmelzsicherungen im Zustand 380 durch die Steuereinheit 250 abgetastet. In einer Ausführungsform steuert der Zustand 380 die Abtastleitungen an und ermittelt der Zustand 330, ob jedes Schmelzsicherungs-Paar auf ein „1”-Bit oder ein „0”-Bit programmiert wurde, und andernfalls über die Abtastleitungen 256, dass mindestens ein Bitpaar ungültig ist. Der Komparator kann auf die Ansteuerung der Abtastleitungen 340 reagieren, indem er eine „Exklusiv-ODER-” Verknüpfung beider Bits jedes Schmelzsicherungs-Paars durchführt, um festzustellen, ob das Schmelzsicherungs-Paar gültig programmiert wurde und eine und nur eine Schmelzsicherung des Paars durchgebrannt wurde. Der Dateninhalt wird auf keinerlei Weise überprüft, nur die Gültigkeit des Paars wird auf dieses Weise überprüft. Also ist die Sicherheit dadurch gewahrt, dass es keinen Weg gibt, den Dateninhalt am Komparator, welcher zur Verwendung in der Steuereinheit 250 zur Verfügung steht, abzutasten, und der Dateninhalt auch nicht über die Mikroprozessor-Schnittstelle 270 oder den Hardware-Testanschluss 278 gelesen werden kann.
-
Im Fall, dass eine der Schmelzsicherungen vor dem Programmieren durchgebrannt wurde und dieses Bit deshalb im Zustand 337 übersprungen wurde, muss eine weitere Abfrage im Zustand 380 die Gültigkeit der Programmierung prüfen, indem sie einen Versuch durchführt; und bei Fehlschlagen des Versuchs anzeigt, dass das identifizierte Bitpaar ein invertiertes Bit enthält. Ein fehlgeschlagener Versuch bedeutet, dass die durchgebrannte Schmelzsicherung falsch ist. Es kann möglich sein, die Daten 310 so abzuändern, dass sie zu dem invertierten Bit passen, und der Versuch wird von neuem durchgeführt, bis das entsprechende Bit umgekehrt wurde und die Daten richtig sind.
-
Wenn der letzte durchgeführte Versuch keine richtigen Daten ergibt oder wenn die Daten 310 nicht geändert werden oder eine Änderungsgrenze erreicht wurde, kann die Steuereinheit in den Zustand 335 gehen, um alle Schmelzsicherungen durchzubrennen und den Chip auf Null zu setzen. Nachdem alle Schmelzsicherungen durchgebrannt wurden, sind keine Daten verfügbar, die aus einer Analyse des Chips ermittelt werden könnten.
-
Alternativ kann es in der Produktumgebung möglich sein, die Schaltung 260 als eine UND-Schaltung zu betreiben und alle Bits auf Null zu zwingen.
-
Wenn es sich bei den programmierten Daten um einen Verschlüsselungsschlüssel handelt, umfasst der Versuch das Verwenden des Schlüssels zum Entschlüsseln bekannter verschlüsselter Daten und zum Herausfinden, ob die Entschlüsselung erfolgreich war. Wenn die Daten geheim sind, muss die Prüfung innerhalb der sicheren Umgebung durchgeführt werden.
-
Nachdem der Chip gültig programmiert und in eine Einheit eingesetzt wurde, geht der Chip zum Beispiel bei einer Einschaltrücksetzung (POR, Power on reset) in den Rücksetzzustand 300. Die Abtastleitungen 340 werden in Schritt 320 aktiviert, und der Chip geht in den Funktionszustand 330, wo die Werte dem Benutzer 265 zur Verfügung stehen, und bleibt im Funktionszustand in Bereitschaft Der Chip bleibt bis zu einem Abschalten im Funktionszustand und wird bei einer nachfolgenden Einschaltrücksetzung rückgesetzt.
-
Die aus der in den 8 und 9 dargestellten Funktionsweise resultierende Sicherheit erfüllt oder übertrifft die Anforderungen der anwendbaren Sicherheitsstandards.
-
Wenn sich der Chip in einer Einheit befindet, wenn er auf Null gesetzt wird, kann er nicht ausgesondert werden. Wenn der Chip zum Beispiel einen Verschlüsselungsschlüssel enthalten soll, kann er nicht zur Verschlüsselung verwendet werden, aber die Einheit kann noch für alle anderen Funktionen verwendet werden.
-
Wie in den 10 und 11 gezeigt, ist der Chip 197 in einer Einheit 400 bereitgestellt. Die Einheit 400 umfasst ein Funktionssystem 401, ein Gefährdungserkennungssystem 402, das so konfiguriert ist, dass es erkennt, ob das Funktionssystem gefährdet ist, und ein System codierter Schmelzsicherungen 197, das eine Vielzahl von paarweise angeordneten Schmelzsicherungen umfasst, die so codiert sind, dass jedes Schmelzsicherungs-Paar ein Datenbit darstellt, wenn eine Schmelzsicherung des Paars durchgebrannt ist. Beispielweise ist ein System zum Durchbrennen von Schmelzsicherungen des Chips 197 so konfiguriert, dass es auf die durch das Gefährdungserkennungssystem 402 gemachte Feststellung, dass das Funktionssystem gefährdet ist, mit dem Durchbrennen aller unversehrten Schmelzsicherungen der Paare reagiert, so dass beide Schmelzsicherungen jedes Paars durchgebrannt sind, um ein auf Null gesetztes Paar darzustellen, wodurch die Vielzahl von Schmelzsicherungen „auf Null gesetzt” wird, was zum Beispiel den Satz von Schmelzsicherungen unbrauchbar und folglich den Dateninhalt, der vor dem Durchbrennen vorhanden war, unbekannt machen könnte.
-
Wenn das Gefährdungserkennungssystem 402 im Zustand 410 erkennt, dass die Einheit gefährdet ist, steuert die Steuereinheit 250, wenn sie ein Teil des Chips 197 ist, im Zustand 415 die Schmelzsicherungsleitungen 325, 326 einzeln an (die Leitungen 325, 326 stellen jeweils einen Satz einzelner Leitungen zu jeder Schmelzsicherung dar), um ein zugehöriges Gatter (185, 186 in 3) zu veranlassen, den Strom aus der zugehörigen Schmelzsicherungs-Quelle 252, 253 (182 in 3) durch die Schmelzsicherung zur Masse freizugeben und die Schmelzsicherung durchzubrennen, wofür zusätzlich 8 heranzuziehen ist.
-
Im Zustand 415 werden die Schmelzsicherungen zum Beispiel der Reihe nach durchgebrannt, beginnend mit dem Durchbrennen der Schmelzsicherungen 350 und 351 des Paars 210 und der Reihe nach fortfahrend mit den Schmelzsicherungen 360 und 361 des Paars 221. Wenn dies erledigt ist, werden die Schmelzsicherungen im Zustand 420 zum Beispiel durch die Abtastleitungen 257 abgetastet, um sicherzustellen, dass nun jedes Schmelzsicherungs-Paar auf Null gesetzt ist, und wenn dies nicht erledigt ist, wird das Auf-Null-Setzen fortgesetzt, und wenn dies im Zustand 425 erledigt ist, ist der Satz von Schmelzsicherungen unbrauchbar gemacht und ist folglich der Dateninhalt, der vor dem Durchbrennen vorhanden war, unbekannt.
-
Alternative Anordnungen der Steuereinheit 250, des Chips 197 und alternative Anordnungen der Zustände in den 9 und 11 können verwendet werden.
-
Die Umsetzungen können mit Software, Firmware, Mikrocode, Hardware und/oder jeder Kombination davon erfolgen. Die Umsetzung kann die Form von in einem Medium, z. B. einem Speicher der Steuereinheit 250, realisiertem Code oder realisierter Logik annehmen, wobei das Medium Hardware-Logik (z. B. ein Chip einer integrierten Schaltung, eine programmierbare Gatteranordnung (PGA (Programmable Gate Array)), eine anwendungsspezifische integrierte Schaltung (ASIC (Application Specific Integrated Circuit)) oder eine andere Schaltung, Logik oder Einheit) oder ein computerlesbares Speichermedium wie ein magnetisches Speichermedium (z. B. ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleiter-System, Halbleiter- oder Festkörperspeicher, Magnetband, eine entnehmbare Computerdiskette und einen Direktzugriffsspeicher (RAM (Random Access Memory)), einen Festwertspeicher (ROM (Read-Only Memory)), eine magnetische Festplatte und eine optische Platte, Compact-Disk-Festwertspeicher (CD-ROM), Schreib/Lese-Compact-Disk (CD-R/W (Compact Disk-Read/Write)) und DVD) umfassen kann.