[go: up one dir, main page]

DE60020956T2 - Verfahren und vorrichtung zur regelung der verfügbaren fähigkeiten eines gerätes - Google Patents

Verfahren und vorrichtung zur regelung der verfügbaren fähigkeiten eines gerätes Download PDF

Info

Publication number
DE60020956T2
DE60020956T2 DE60020956T DE60020956T DE60020956T2 DE 60020956 T2 DE60020956 T2 DE 60020956T2 DE 60020956 T DE60020956 T DE 60020956T DE 60020956 T DE60020956 T DE 60020956T DE 60020956 T2 DE60020956 T2 DE 60020956T2
Authority
DE
Germany
Prior art keywords
mask
mode
ccw
eeprom
control word
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.)
Expired - Lifetime
Application number
DE60020956T
Other languages
English (en)
Other versions
DE60020956D1 (de
Inventor
V. Baiju PATEL
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE60020956D1 publication Critical patent/DE60020956D1/de
Application granted granted Critical
Publication of DE60020956T2 publication Critical patent/DE60020956T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • 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/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Description

  • STAND DER TECHNIK
  • 1. GEBIET DER TECHNIK
  • Die vorliegende Erfindung betrifft allgemein die Fähigkeiten von Steuersystemen und im Besonderen die Änderung ausgewählter Eigenschaften eines Bausteins bzw. einer Vorrichtung.
  • 2. BESCHREIBUNG DES STANDS DER TECHNIK
  • Hersteller bestimmter elektronischer Geräte bzw. Bausteine wie etwa von integrierten Schaltungen, Mikroprozessoren, Netzwerkadaptern bzw. Netzwerkschnittstellen und Computersystemen, stellen beispielsweise Produkte mit unterschiedlichen Fähigkeiten oder Funktionen her. Derartige verschiedene Produktversionen können aus Marketing- oder rechtlichen Gründen hergestellt werden. Zum Beispiel untersagen die US-amerikanischen Exportgesetze den Export bestimmter Technologien, die ein bestimmtes Niveau bzw. Maß einer Verarbeitungsleistung oder kryptografischen Sicherheit überschreiten. Zur weiteren Ausweitung der Ziele von Herstellern oder um den Gesetzen zu entsprechen, setzen Hersteller verschiedene Techniken ein, um bestimmte Fähigkeiten bzw. Funktionen für bestimmte Versionen eines Produkts zu ermöglichen bzw. zu aktivieren, während bestimmte Fähigkeiten für andere Versionen des Produkts deaktiviert werden. Wenn das Produkt durch Software manipuliert oder betrieben werden kann, so kann der Hersteller in bestimmten Fällen in der Lage sein, Produktfähigkeiten bzw. Produktfunktionen über Softwaresteuerungen oder Versionsaktualisierungen der Softwarekonfiguration zu aktivieren oder zu deaktivieren.
  • Zum Beispiel Offenbart EP-A-0899648 ein Verfahren zur automatischen Regelung bzw. Anpassung eines Computersystems, um automatische Verschlüsselungs-Engines/Algorithmen unter Verwendung von GPS-Satelliten für eine Landesverifizierung in Bezug auf US-Bundesgesetze in Bezug auf die Verschlüsselung für Exportzwecke zu aktivieren bzw. zu deaktivieren. Wenn das Produkt hingegen aufgrund seiner Beschaffenheit nur durch Hardwaresteuerungen manipuliert werden kann, so gestaltet sich die Versionssteuerung bzw. die Versionsregelung komplizierter und lässt sich schwieriger verwalten.
  • Für das Beispiel kryptografischer Merkmale bzw. Eigenschaften von Computerhardware-Vorrichtungen ist es eine Anforderung für die Entwicklung exportierbarer und nicht exportierbarer Produkte, die kryptografische Fähigkeiten aufweisen, dass das exportierbare Produkt bestimmte Fähigkeiten nicht aufweisen darf, die das nicht exportierbare Produkt aufweist. Zum Beispiel können nicht exportierbare Produkte eine Verschlüsselung gemäß dem Data Encryption Standard (DES) implementieren, und zwar unter Verwendung von Schlüssel- bzw. Verschlüsselungslängen von 40, 56, 112 oder 168 Bits. Im Gegensatz dazu können exportierbare Produkte für die Verschlüsselung nur Verschlüsselungs- bzw. Schlüssellängen von 40 Bits implementieren. In Anbetracht dieser Einschränkung kann es der Wunsch eines Herstellers sein, ein Produkt herzustellen, das so konfiguriert werden kann, dass es entweder in einem exportierbaren oder in einem nicht exportierbaren Modus arbeitet. Sobald das Produkt exportiert wird, sollte es ferner nicht möglich sein, die nicht exportierbaren Fähigkeiten des exportierten Produkts zu aktivieren. In dem vorliegenden Beispiel sollte das Produkt nach dem Export nicht so konfiguriert werden können, dass es Schlüssel- bzw. Verschlüsselungslängen von 56, 112 oder 168 Bits verwendet.
  • Zur Kontrolle der Kosten für den Entwicklungs- und Fertigungsaufwand für derartige Produkte sollte der Hersteller in vielen Fällen in der Lage sein, die Konfiguration des Produkts für den exportierbaren Modus oder andere reduzierte Fähigkeiten bzw. Funktionen zeitlich bis zu den allerletzten Fertigungsphasen des Fertigungsprozesses zu verzögern. Aus diesem Grund sollte es möglich sein, das Produkt so spät wie möglich zu möglichst geringen Kosten für den exportierbaren Modus oder eine andere reduzierte Fähigkeit bzw. einen reduzierten Funktionsumfang zu verändern, während es gleichzeitig weiterhin außerordentlich schwierig oder gar unmöglich bleiben soll, dass eine andere Partei bzw. ein Dritter die deaktivierten Funktionen bzw. Fähigkeiten zu einem späteren Zeitpunkt aktiviert.
  • Zurzeit werden verschiedene Verfahren zur Behandlung dieses Konfigurationsproblems eingesetzt. Ein grundsätzlicher Ansatz ist es, zwei separate Designs bzw. Bauweisen des Produkts bereitzustellen, und zwar eine Bauweise für den Export oder mit reduziertem Funktionsumfang, und eine Bauweise für den inländischen Einsatz bzw. mit vollständigem Funktionsumfang. Dies bedeutet jedoch, dass vorab für jede Bauweise die Produktanforderungen bekannt sein müssen, um den Produktbestand des Herstellers zu regeln. Wenn das Produkt ferner in ein größeres System passt, müssen OEMs (englische Abkürzung für Original Equipment Manufacturers), die das Produkt verwenden, ebenfalls die Anforderungen für Ihre Systeme in den Vereinigten Staaten von Amerika wie auch im Ausland kennen. Darüber hinaus trägt der Hersteller die Gemeinkosten und übernimmt die Verwaltungsaufgaben für die Unterstützung zweier unterschiedlicher Versionen des Produkts. Dieser Ansatz weist eindeutig Nachteile auf. Aufgrund des globalen Fertigungsprozesses werden häufig nicht exportierbare Produkte exportiert und zu einem späteren Zeitpunkt wieder zurück in das Ursprungsland gebracht. In diesem Fall kann sich die Verwaltung der Vielzahl von Beständen in verschiedenen Ländern sogar noch komplizierter gestalten.
  • Gemäß einem weiteren Ansatz kann der Hersteller die Entscheidung in Bezug auf die Konfiguration des Produkts durch die Integration einer elektronischen Sicherung in das Produkt zeitlich verzögern. Bei einer elektronischen Sicherung kann es sich zum Beispiel um einen Draht in dem Produkt handeln, der durch das Anlegen einer hohen Spannung oder eines hohen Stroms zerbrochen werden kann. Im Inneren kann das Produkt den Status des durch den Draht fließenden Stroms überprüfen, um die gültigen Betriebsfunktionen des Produkts zu bestimmen. Unter Verwendung spezieller Hilfsmittel kann die elektronische Sicherung somit zerstört werden, um ein exportierbares Produkt zu erzeugen. Für einen OEM stellt dieser Ansatz weiterhin Probleme dar, wenn der OEM wünscht, das Produkt in ein Systemdesign zu integrieren und weiterhin die Entscheidung zeitlich zu verzögern, ob das System exportiert oder im Inland verkauft werden soll. Im Zuge der zunehmenden Globalisierung von Systemfertigungsstandorten ist dieser Ansatz in vielen Fällen nicht umsetzbar. Darüber hinaus ist die Implementierung elektronischer Sicherungen in Silizium verhältnismäßig teuer.
  • Das U.S. Patent US-A-5,721,703 offenbart zum Beispiel eine integrierte Schaltung, die in einem von zwei Modi betrieben werden kann, wobei die Schaltung durch ein Modusauswahlsignal programmierbar ist. Bei der integrierten Schaltung handelt es sich für gewöhnlich um eine FLASH-Zelle, und bei den Betriebsmodi handelt es sich für gewöhnlich um einen "Normalmodus" und eine "Testmodus".
  • EP-A-0708446 offenbart einen elektrisch löschbaren, programmierbaren Nur-Lesespeicher (EEPROM), der so programmiert ist, dass er unter Verwendung von Maskenoptionsbits in einem gewünschten Betriebsmodus arbeitet. Eine Steuerschaltung kopiert die Maskenoptionsbits nur dann in ein flüchtiges Maskenoptionsregister, wenn eine CPU nicht auf den programmierbaren Speicher zugreift, wobei die Steuerschaltung ansonsten den Zugriff auf die Maskenoptionsbits sperrt.
  • Gemäß einem weiteren Ansatz können ein oder mehre Pins bzw. Stifte des Hardwareprodukts selektiv verbunden werden, so dass bei einer Verbindung des Pins ein logischer Wert (z.B. eine 0 oder eine 1) angelegt werden kann, um das Produkt für den Einsatz in einem Modus mit vollständigem Funktionsumfang zu aktivieren. Wenn der Pin hingegen nicht verbunden ist, kann der vorbestimmte Wert hingegen nicht zugeführt bzw. angelegt werden, und somit ist lediglich ein Betrieb in dem exportierbaren Modus bzw. dem Modus mit reduziertem Funktionsumfang möglich. Dieser Ansatz erfordert wiederum eine Handlung seitens des Herstellers verhältnismäßig frühzeitig in dem Fertigungsprozess, um korrekte Bonding- bzw. Verbindungsattribute zu gewährleisten.
  • Benötigt wird somit eine Konfigurationstechnik zur Überwindung dieser und anderer Nachteile gemäß dem Stand der Technik.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Vorgesehen ist gemäß einem ersten Aspekt der vorliegenden Erfindung eine Vorrichtung gemäß den gegenständlichen Ansprüchen 1 oder 5.
  • Vorgesehen ist gemäß einem zweiten Aspekt der vorliegenden Erfindung ein Verfahren gemäß dem gegenständlichen Anspruch 3.
  • Vorgesehen ist gemäß einem dritten Aspekt der vorliegenden Erfindung ein Computerprogramm gemäß dem gegenständlichen Anspruch 6.
  • Bevorzugte Merkmale der vorliegenden Erfindung sind in den Unteransprüchen definiert.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden genauen Beschreibung der vorliegenden Erfindung deutlich. In den Zeichnungen zeigen:
  • 1 ein Diagramm einer Konfigurationssteuerungsvorrichtung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; und
  • 2 ein Flussdiagramm der Verarbeitung einer Schreibsteuerungslogik gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
  • GENAUE BESCHREIBUNG DER ERFINDUNG
  • Ein Ausführungsbeispiel der vorliegenden Erfindung umfasst ein Verfahren und eine Vorrichtung zum selektiven Deaktivieren von Fähigkeiten oder Funktionen eines Hardwareprodukts wie etwa einer integrierten Schaltung.
  • Verweise in der Patentschrift auf "ein Ausführungsbeispiel" der vorliegenden Erfindung bedeuten, dass auf ein bestimmtes Merkmal, eine bestimmte Struktur oder Eigenschaft, die in Verbindung mit dem Ausführungsbeispiel beschrieben werden, in mindestens einem Ausführungsbeispiel der vorliegenden Erfindung enthalten sind. Wenn die Formulierung "in einem Ausführungsbeispiel" somit an verschiedenen Stellen der Patentschrift vorkommt, so bezieht sich die Formulierung somit nicht unbedingt immer auf das gleiche Ausführungsbeispiel.
  • Die Abbildung aus 1 zeigt ein Diagramm einer Konfigurationssteuerungsvorrichtung 8 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Ein Hardwareprodukt oder ein Hardwarebaustein, wie etwa eine integrierte Schaltung 10, weist zum Beispiel einen elektrisch löschbaren, programmierbaren Nur-Lesespeicher (EEPROM) 12 auf. Fortschritte in Bezug auf die Fertigungsfähigkeiten in letzter Zeit haben es möglich gemacht, EEPROMs in integrierte Schaltungen (IS) zu integrieren. Zumindest ein Abschnitt des EEPROM kann zum Speichern von Konfigurationsinformationen für den Baustein reserviert werden. In einem Ausführungsbeispiel umfassen die Konfigurationsinformationen ein 32-Bit-Wort, wobei der Umfang der Erfindung diesbezüglich jedoch nicht beschränkt ist. In alternativen Ausführungsbeispielen kann jede beliebige Anzahl von Bits zum Speichern der Konfigurationsinformationen verwendet werden, einschließlich auch nur einem einzigen Bit. Der reservierte Raum kann in einem Ausführungsbeispiel als ein Konfigurationssteuerwort (CCW als englische Abkürzung von Configuration Control Word) 14 bezeichnet werden. Das CCW speichert einen Wert, der einen aktuellen Konfigurationsschlüssel oder eine Konfigurationsflagge für den Baustein anzeigt. Ein Maskenwert, der in einem Ausführungsbeispiel als Konfigurationssteuermaske (CCM als englische Abkürzung von Configuration Control Mask) 16 bezeichnet wird, kann in einem Speicher (nicht abgebildet) gespeichert werden oder anderweitig in dem Baustein wie etwa einer IS 10 als ein "hart codierter" binärer Wert dargestellt werden. Die CCM kann durch die gleiche Anzahl von Bits wie das CCW dargestellt werden. In bestimmten Ausführungsbeispielen kann die CCM in dem EEPROM 12 gespeichert werden.
  • Wenn der Wert des CCW 14 in dem EEPROM 12 in einem Ausführungsbeispiel mit der CCM 16 übereinstimmt, kann der Baustein bzw. die Vorrichtung nur in einem ersten Betriebsmodus betrieben werden, der einen Modus mit reduziertem Funktionsumfang oder einen exportierbaren Modus anzeigen kann. Wenn das CCW nicht mit der CCM übereinstimmt, kann der Baustein in einem zweiten Betriebsmodus betrieben werden, der einen Modus mit vollständigem Funktionsumfang oder einen nicht exportierbaren Modus anzeigt. In einem anderen Ausführungsbeispiel können diese Beziehungen bzw. Verhältnisse verändert werden, so dass für den Fall, dass das CCW mit der CCM übereinstimmt, der Baustein in dem zweiten Betriebsmodus arbeiten kann, und wenn das CCW nicht mit der CCM übereinstimmt, kann der Baustein in dem ersten Betriebsmodus betrieben werden. Der Wert des CCW kann durch Signalisierung eines bzw. mehrerer neuer Werte auf der bzw. den Schreibzeile(n) 18 verändert werden. In einem Ausführungsbeispiel können 32 Schreibzeilen vorgesehen sein, und zwar die gleiche Anzahl an Schreibzeilen wie an Bits in dem CCW und der CCM, wobei der Umfang der vorliegenden Erfindung jedoch nicht darauf beschränkt ist. In anderen Ausführungsbeispielen können eine oder mehrere Zeilen verwendet werden, sofern die Anzahl der Zeilen der Anzahl der Bits in dem CCW und der CCM entspricht. Die Schreibsteuerungslogik (WCL als englische Abkürzung von Write Control Logic) 20 steuert, ob der Wert des CCW elektronisch auf einen anderen Wert programmiert werden kann. Die WCL liest den Wert des CCW aus dem EEPROM 12 aus und vergleicht ihn mit dem Wert der CCM. Wesentliches Merkmal der Schreibsteuerungslogik 20 ist es in einem Ausführungsbeispiel, dass für den Fall, dass der in dem CCW gespeicherte Wert der CCM entspricht, das CCW nicht in einen anderen Wert geändert werden kann. Wenn der in dem CCW gespeicherte Wert jedoch nicht mit der CCM übereinstimmt, kann das CCW auch auf jeden anderen Wert geändert werden (einschließlich des Wertes der CCM). In einem anderen Ausführungsbeispiel können diese Beziehungen bzw. Verhältnisse geändert werden, so dass für den Fall, dass der in dem CCW gespeicherte Wert nicht mit der CCM übereinstimmt, das CCW nicht in einen anderen Wert verändert werden darf. Wenn der in dem CCW gespeicherte Wert jedoch mit der CCM übereinstimmt, so kann das CCW in jeden beliebigen anderen Wert geändert werden (einschließlich dem Wert der CCM). Die Beziehung zwischen dem CCW und der CCM, welche die Fähigkeiten bzw. die Funktionen bestimmt (z.B. mit einer Übereinstimmung oder mit fehlender Übereinstimmung) kann auch durch die Bauweise entschieden bzw. abhängig von dieser ausgewählt werden.
  • Wenn der Baustein in anderen Ausführungsbeispielen mehr als zwei Betriebsmodi oder Fähigkeits- bzw. Funktionsgruppen erfordert, so können auch mehrere CCMs verwendet werden, so dass jede CCM einen ausgewählten Betriebsmodus oder eine ausgewählte Fähigkeit anzeigt. Danach kann ein bestimmter Betriebsmodus oder eine bestimmte Fähigkeit bzw. Funktion ausgewählt werden, in dem das CCW so eingestellt wird, dass es mit der entsprechenden CCM übereinstimmt.
  • Eine Konfigurationserzwingungslogik (CEL als englische Abkürzung von Configuration Enforcement Logic) 22 liest den Wert des CCW aus dem EEPROM 12 und vergleicht diesen mit dem Wert der CCM. Die Konfigurationserzwingungslogik 22 schränkt den Betrieb des Bausteins ein, so dass bestimmte Fähigkeiten bzw. Funktionen auf der Basis der Werte des CCW und der CCM aktiviert oder deaktiviert werden. Wenn der Baustein zum Beispiel in zwei Modi arbeitet, dem exportierbaren Modus und dem nicht exportierbaren Modus, und wenn der Wert des CCW mit dem Wert der CCM für exportierbare Hardware übereinstimmt, so können die vollständigen DES (z.B. eine Schlüssellänge von 56 Bits) oder Dreifach-DES (z.B. eine Schlüssellänge von 112 und 168 Bits) Fähigkeiten deaktiviert werden. Wenn der Wert des CCW hingegen nicht mit dem Wert der CCM übereinstimmt, so kann der vollständige Funktionsumfang zugelassen werden. Alternativ kann das zwischen der CCM und dem CCW bestimmte entgegengesetzte Verhältnis (z.B. mit einer Übereinstimmung oder einer fehlenden Übereinstimmung) für die Auswahl des Betriebsmodus eingesetzt werden. Die Konfigurationserzwingungslogik 22 schreibt Werte in eine Fähigkeitsflagge 24, um anzuzeigen, ob der vollständige oder der reduzierte Funktionsempfang aktiviert ist. In anderen Ausführungsbeispielen können mehrere Fähigkeitsflaggen bzw. Funktionsflaggen verwendet werden, und zwar je eine für jede CCM oder jede Funktionsebene oder jeden Betriebsmodus. Eine andere Systemlogik (nicht abgebildet) kann die Fähigkeitsflagge 24 daraufhin lesen, um den Betriebsstatus zu bestimmen und die Bausteinfunktionen entsprechend zu aktivieren oder zu deaktivieren.
  • Die Abbildung aus 2 zeigt ein Flussdiagramm der Verarbeitung der Schreibsteuerungslogik gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Bei einem Versuch, einen ausgewählten Wert in ein Konfigurationssteuerwort (CCW) in dem EEPROM zu schreiben, liest die Schreibsteuerungslogik das CCW und die Konfigurationssteuermaske (CCM) in dem Block 40. Wenn das CCW in dem Block 42 der CCM entspricht, so ist in dem Block 44 keine Aktualisierung des CCW zulässig, und die Verarbeitung der Schreibsteuerungslogik endet in dem Block 46. Wenn das CCW in dem Block 42 nicht mit der CCM übereinstimmt, so kann das CCW in dem Block 48 auf eine ausgewählte Werteingabe in den Baustein über die Schreibzeilen gesetzt werden. Hiermit wird festgestellt, dass diese Logik eine "einmal beschreibbare" Funktion für das CCW implementiert, wenn der CCM-Wert in das CCW geschrieben wird. Diese Festlegung des CCW als Übereinstimmung mit der CCM ist unwiderruflich.
  • Die Größe des CCW und der CCM kann abhängig von den Designanforderungen für eine bestimmte integrierte Schaltung oder einen Baustein und abhängig davon ausgewählt werden, ob das CCW auf einen bestimmten Wert initialisiert ist oder nach der Herstellung bzw. Fertigung in einem wahlfreien Zustand verbleibt. Wenn das CCW zum Zeitpunkt der Herstellung auf einen bestimmten Wert initialisiert wird (z.B. alle auf 0 oder alle auf 1), so kann das CCW nur ein Bit groß sein und trotzdem die Steuerung der beiden Betriebsmodi oder zweier bestimmter Fähigkeits- bzw. Funktionsgruppen ausüben. Wenn für einen Indikator von einem Bit CCW zum Zeitpunkt der Herstellung immer gleich 1 ist, kann die CCM auf 0 gesetzt werden. Wenn die Bits in dem CCW hingegen wahlfrei sind (d.h. mit gleicher Wahrscheinlichkeit für eine 0 oder eine 1), so können mehr Bits als ein Bit verwendet werden. In diesem Fall kann die CCM jeden Wert aufweisen und somit so ausgewählt werden, dass die Komplexität der Schreibsteuerungslogik und der Konfigurationserzwingungslogik so gering gehalten wird. Wenn die CCW-Bits mit einer Wahrscheinlichkeit p gleich 1 sind, kann die CCM so ausgewählt werden, dass x Bits 1 sind, mit x = pn, wobei n der Anzahl der Bits in der CCM und dem CCW entspricht. Die Anzahl der Bits in dem CCW kann auch auf Kostenanforderungen basieren. Wenn zum Beispiel n = 32 gilt, so ist einer von 2 ** 32 Bausteinen nicht exportierbar, da dieser anfänglich einen CCW-Wert aufweist, der dem der CCM entspricht. Wenn hingegen n = 4 gilt, so ist einer von 2 ** 4 Chips nicht exportierbar. Auf der Basis der geringsten Marktnachfrage, der Kosten für das EEPROM und der Kosten für die hinzugefügte Schreibkonfiguration und die Konfigurationserzwingungslogik sind in Bezug auf die Auswahl der Anzahl der Bits für das CCW und die CCM Kompromisse in Bezug auf das Design bzw. die Bauweise möglich.
  • Da die Ausführungsbeispiele der vorliegenden Erfindung ein Verfahren und eine Vorrichtung zur Steuerung der verfügbaren Fähigkeiten bzw. Funktionen integrierter Schaltungen oder Bausteine durch EEPROM-Programmierung umfassen, kann sie auf jeder Stufe bzw. in jeder Phase des Fertigungsprozesses implementiert bzw. angewandt werden, wenn ein EEPROM umprogrammiert werden kann. Zur Änderung der Betriebsfähigkeiten bzw. der Betriebsfunktionen des Bausteins, ist ein Zugriff auf die Schreibzeilen erforderlich. Wenn der Baustein zum Beispiel in einem Computersystem enthalten ist, so kann die Steuerung somit auch nach der Herstellung des ganzen Computersystems ausgeübt werden, sofern der Zugriff auf die Schreibzeile(n) verfügbar ist. Die Kosten für die Programmierung des Bausteins sind gering, da dafür weder spezielle Hilfsmittel noch spezielle Verfahren erforderlich sind. Das hierin dargestellte Beispiel erörtert zwar die Steuerung kryptografischer Fähigkeiten bzw. Funktionen, wobei Ausführungsbeispiele der vorliegenden Erfindung jedoch zur individuellen Anpassung, zur Beschränkung oder zur Steuerung anderer Fähigkeiten bzw. Funktionen eines Bausteins eingesetzt werden können. Dies ermöglicht es einem Hersteller, weniger Produktversionen zu erzeugen, als wie diese konfiguriert werden können, um verschiedene Fähigkeiten bzw. Funktionen zu betreiben, und zwar auf der Basis preislicher oder anderer Anforderungen.
  • Die vorliegende Erfindung wurde vorstehend zwar in Bezug auf veranschaulichende Ausführungsbeispiele beschrieben, wobei diese Beschreibung jedoch nicht als einschränkend auszulegen ist. Verschiedene Modifikationen der veranschaulichenden Ausführungsbeispiele sowie weiterer Ausführungsbeispiele der vorliegenden Erfindung, die für den Fachmann auf dem Gebiet der Erfindung erkennbar sind, an den sich die Erfindung richtet, fallen unter den Umfang der vorliegenden Erfindung.

Claims (7)

  1. Vorrichtung in einem Baustein zur Steuerung der verfügbaren Fähigkeiten des Bausteins, wobei die Vorrichtung folgendes umfasst: ein EEPROM (12), das ein Steuerwort (14) mit mindestens einem Bit speichert; eine Maske (16) mit mindestens einem Bit; und eine erste Logik (20), die mit dem EEPROM und der Maske gekoppelt ist, um einen ersten Betriebsmodus des Bausteins auszuwählen, wenn das Steuerwort nicht mit der Maske übereinstimmt, und zur Auswahl eines zweiten Betriebsmodus des Bausteins, wenn das Steuerwort mit der Maske übereinstimmt.
  2. Vorrichtung nach Anspruch 1, wobei: die gesteuerten Fähigkeiten unwiderrufbar einen exportierbaren oder nicht exportierbaren Betriebsmodus für eine integrierte Schaltung auswählen; die genannte Maske eine Steuermaske darstellt; und die genannte erste Logik eine Schreibsteuerlogik darstellt, die mit dem EEPROM und der Steuermaske gekoppelt ist.
  3. Verfahren zum Steuern der verfügbaren Fähigkeiten eines Bausteins mit einem EEPROM (12), wobei das Gerät eine Maske (16) mit mindestens einem Bit speichert, wobei das Verfahren folgendes umfasst: das Auswählen eines ersten Betriebsmodus des Bausteins, wenn ein Steuerwort (14) mit mindestens einem Bit, wobei das Steuerwort in dem EEPROM gespeichert ist, mit der Maske übereinstimmt; und das Auswählen eines zweiten Betriebsmodus des Bausteins, wenn das Steuerwort nicht mit der Maske übereinstimmt.
  4. Verfahren nach Anspruch 3, wobei es sich bei dem Baustein um eine integrierte Schaltung handelt, und wobei die ersten und zweiten Betriebsmodi entsprechende exportierbare kryptografische und nicht exportierbare kryptografische Modi aufweisen; und wobei: der genannte erste Betriebsmodus nur einen exportierbaren kryptografischen Betriebsmodus für die integrierte Schaltung zulässt, wenn das Steuerwort das genannte mindestens eine Bit aufweist; und wobei der genannte zweite Betriebsmodus einen nicht exportierbaren kryptografischen Betriebsmodus der integrierten Schaltung zulässt, wenn das Steuerwort nicht mit der Maske übereinstimmt.
  5. Vorrichtung zur Steuerung einer Mehrzahl von Betriebsmodi eines Bausteins, wobei die Vorrichtung folgendes umfasst: ein EEPROM (12), das ein Steuerwort mit mindestens einem Bit speichert; eine Mehrzahl von Masken (16), wobei jede Maske mindestens ein Bit aufweist und einem der entsprechenden Betriebsmodi entspricht; und eine erste Logik (20), die mit dem EEPROM und der Mehrzahl von Masken gekoppelt ist, um einen ausgewählten Betriebsmodus des Bausteins zuzulassen, wenn das Steuerwort mit einer entsprechenden Maske der Mehrzahl von Masken übereinstimmt.
  6. Computerprogramm, das eine Computerprogramm-Codeeinrichtung umfasst, die in der Lage ist alle Schritte des Verfahrens aus den Ansprüchen 3 und 4 auszuführen, wenn das Programm auf einem Computer ausgeführt wird.
  7. Computerprogramm nach Anspruch 6, wenn dieses auf einem computerlesbaren Medium ausgeführt ist.
DE60020956T 1999-04-28 2000-04-13 Verfahren und vorrichtung zur regelung der verfügbaren fähigkeiten eines gerätes Expired - Lifetime DE60020956T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US302273 1999-04-28
US09/302,273 US6317849B1 (en) 1999-04-28 1999-04-28 Method and apparatus for controlling available capabilities of a device
PCT/US2000/010043 WO2000065425A1 (en) 1999-04-28 2000-04-13 Method and apparatus for controlling available capabilities of a device

Publications (2)

Publication Number Publication Date
DE60020956D1 DE60020956D1 (de) 2005-07-28
DE60020956T2 true DE60020956T2 (de) 2006-05-18

Family

ID=23167038

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60020956T Expired - Lifetime DE60020956T2 (de) 1999-04-28 2000-04-13 Verfahren und vorrichtung zur regelung der verfügbaren fähigkeiten eines gerätes

Country Status (6)

Country Link
US (1) US6317849B1 (de)
EP (1) EP1173805B1 (de)
AU (1) AU4459800A (de)
DE (1) DE60020956T2 (de)
TW (1) TW487838B (de)
WO (1) WO2000065425A1 (de)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658018B1 (en) * 1999-06-30 2003-12-02 Intel Corporation Method and system of providing advanced teaming functionality capable of utilizing heterogeneous adapters to improve utility and performance
US6785811B1 (en) * 2000-03-23 2004-08-31 International Business Machines Corporation Methods, systems and computer program products for providing multiple cryptographic functions to applications using a common library
US6885953B2 (en) * 2000-11-17 2005-04-26 Lecroy Corporation Oscilloscope panel capture and implementation
US7318146B2 (en) * 2001-06-19 2008-01-08 Micron Technology, Inc. Peripheral device with hardware linked list
EP1570330A2 (de) 2002-11-27 2005-09-07 Koninklijke Philips Electronics N.V. Schutzmittel in einer integrierten schaltung
US6724335B1 (en) * 2003-06-03 2004-04-20 Broadcom Corporation Systems and methods for digital upconversion for television signals
US7289632B2 (en) 2003-06-03 2007-10-30 Broadcom Corporation System and method for distributed security
US9652637B2 (en) 2005-05-23 2017-05-16 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for allowing no code download in a code download scheme
US9904809B2 (en) 2006-02-27 2018-02-27 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for multi-level security initialization and configuration
US9489318B2 (en) 2006-06-19 2016-11-08 Broadcom Corporation Method and system for accessing protected memory
US20070290715A1 (en) * 2006-06-19 2007-12-20 David Baer Method And System For Using One-Time Programmable (OTP) Read-Only Memory (ROM) To Configure Chip Usage Features
US20100138575A1 (en) 2008-12-01 2010-06-03 Micron Technology, Inc. Devices, systems, and methods to synchronize simultaneous dma parallel processing of a single data stream by multiple devices
US8140780B2 (en) 2008-12-31 2012-03-20 Micron Technology, Inc. Systems, methods, and devices for configuring a device
US20100174887A1 (en) 2009-01-07 2010-07-08 Micron Technology Inc. Buses for Pattern-Recognition Processors
US9323994B2 (en) 2009-12-15 2016-04-26 Micron Technology, Inc. Multi-level hierarchical routing matrices for pattern-recognition processors
US20130275709A1 (en) 2012-04-12 2013-10-17 Micron Technology, Inc. Methods for reading data from a storage buffer including delaying activation of a column select
US9524248B2 (en) 2012-07-18 2016-12-20 Micron Technology, Inc. Memory management for a hierarchical memory system
US9703574B2 (en) 2013-03-15 2017-07-11 Micron Technology, Inc. Overflow detection and correction in state machine engines
US9448965B2 (en) 2013-03-15 2016-09-20 Micron Technology, Inc. Receiving data streams in parallel and providing a first portion of data to a first state machine engine and a second portion to a second state machine
US9977628B2 (en) * 2014-04-16 2018-05-22 Sandisk Technologies Llc Storage module and method for configuring the storage module with memory operation parameters
US11366675B2 (en) 2014-12-30 2022-06-21 Micron Technology, Inc. Systems and devices for accessing a state machine
WO2016109570A1 (en) 2014-12-30 2016-07-07 Micron Technology, Inc Systems and devices for accessing a state machine
WO2016109571A1 (en) 2014-12-30 2016-07-07 Micron Technology, Inc Devices for time division multiplexing of state machine engine signals
US10846103B2 (en) 2015-10-06 2020-11-24 Micron Technology, Inc. Methods and systems for representing processing resources
US10691964B2 (en) 2015-10-06 2020-06-23 Micron Technology, Inc. Methods and systems for event reporting
US10977309B2 (en) 2015-10-06 2021-04-13 Micron Technology, Inc. Methods and systems for creating networks
US10146555B2 (en) 2016-07-21 2018-12-04 Micron Technology, Inc. Adaptive routing to avoid non-repairable memory and logic defects on automata processor
US10019311B2 (en) 2016-09-29 2018-07-10 Micron Technology, Inc. Validation of a symbol response memory
US10268602B2 (en) 2016-09-29 2019-04-23 Micron Technology, Inc. System and method for individual addressing
US12197510B2 (en) 2016-10-20 2025-01-14 Micron Technology, Inc. Traversal of S portion of a graph problem to be solved using automata processor
US10929764B2 (en) 2016-10-20 2021-02-23 Micron Technology, Inc. Boolean satisfiability
US10592450B2 (en) 2016-10-20 2020-03-17 Micron Technology, Inc. Custom compute cores in integrated circuit devices

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0855023A (ja) * 1994-07-25 1996-02-27 Motorola Inc データ処理システムおよびその方法
US5604880A (en) 1994-08-11 1997-02-18 Intel Corporation Computer system with a memory identification scheme
US5598569A (en) 1994-10-17 1997-01-28 Motorola Inc. Data processor having operating modes selected by at least one mask option bit and method therefor
US5651068A (en) 1995-03-08 1997-07-22 Hewlett-Packard Company International cryptography framework
US5721703A (en) 1996-04-29 1998-02-24 Micron Technology, Inc. Reprogrammable option select circuit
US6125446A (en) 1997-08-29 2000-09-26 Compaq Computer Corporation Computer architecture with automatic disabling of hardware/software features using satellite positioning data
US6009012A (en) 1998-06-03 1999-12-28 Motorola Inc. Microcontroller having a non-volatile memory and a method for selecting an operational mode

Also Published As

Publication number Publication date
WO2000065425A1 (en) 2000-11-02
EP1173805A1 (de) 2002-01-23
AU4459800A (en) 2000-11-10
US6317849B1 (en) 2001-11-13
EP1173805B1 (de) 2005-06-22
DE60020956D1 (de) 2005-07-28
TW487838B (en) 2002-05-21

Similar Documents

Publication Publication Date Title
DE60020956T2 (de) Verfahren und vorrichtung zur regelung der verfügbaren fähigkeiten eines gerätes
DE69719479T2 (de) Datenverarbeitungssystemsicherheit
DE69209538T2 (de) Automatische Konfiguration einer Einheit für koppelbare Rechner
DE2837201C2 (de)
DE69809527T2 (de) Externe Speichervorrichtung und Datenverarbeitungsverfahren
DE69815258T2 (de) Elektrisch programmier- und löschbarer nichtflüchtiger Speicher mit einem lese- und/oder schreibgeschützen Bereich einschliesslich zugehöriger elektronischer Schaltung
DE112007003231B4 (de) Programmierbare Anzeigevorrichtung und Steuersystem
DE19912446C1 (de) Einrichtung zum Einstellen von Betriebsgrößen in mehreren programmierbaren integrierten Schaltungen, insbesondere enthaltend jeweils einen Hallgenerator
DE10115729B4 (de) Vielseitiges Boot-Verfahren für eine Anwendungs-Software eines Mikrocontrollers
DE10164415A1 (de) Verfahren und Anordnung zur Programmierung und Verifizierung von EEPROM-Pages sowie ein entsprechendes Computerprogrammprodukt und ein entsprechendes computerlesbares Speichermedium
DE102013008308A1 (de) System und Verfahren zur Adressierung von Vorrichtungen, die mit einem Bussystem, insbesondere einem LIN-Bus, verbunden sind
DE69421737T2 (de) Ein-Ausgabe-Speicherkarte und Ein-Ausgabe-Speicherkartensteuerungsverfahren
DE102006054830B4 (de) Verfahren zum Konfigurieren von integrierten Schaltungen von Informationsverarbeitungssystemen
DE112022002574T5 (de) Elektronische Steuervorrichtung für ein Fahrzeug, elektronisches Steuersystem für ein Fahrzeug, und Aktualisierte-Konfigurationsinformationen-Bestimmungsprogramm
DE60211338T2 (de) Integrierte schaltungsanordnung mit funktionssteuerung
DE10142646B4 (de) Technik zur Datenauffrischung für ein Fahrzeug
DE10002204B4 (de) Verfahren zum Schutz eines Mikrorechners eines Steuergeräts gegen Manipulation eines Programmes und Vorrichtung zur Durchführung des Verfahrens
DE69735907T2 (de) Verfahren zur Identifizierung eines Peripheriegerätes in einem Halbleitergerät
DE10241385A1 (de) Integrierter Schaltkreis
DE60000296T2 (de) Vorrichtung und Verfahren zum Rekonfigurieren der Stiftenzuweisung von einer oder mehreren Funktionsschaltungen in einem Mikrokontroller
DE102008055033B4 (de) Schaltkreis und Verfahren zum Einstellen von Daten und ihre Anwendung in integrierten Schaltkreisen
DE69908519T2 (de) Halbleiterschaltung mit Produktspezifikationsänderungsfunktion
DE102023110087A1 (de) Verfahren und System zur Personalisierung eines sicheren Elements
DE10196017B4 (de) Firmware-Vor-Ort-Programmierschnittstelle und Verfahren zum Programmieren
DE10085097B4 (de) Verfahren und Einrichtung zum Steuern kompensierter Puffer

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: HEYER, V., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 806