-
Die
vorliegende Erfindung betrifft eine programmierbare Stromversorgungsvorrichtung
mit konfigurierbaren Beschränkungen
und ein Verfahren zum Betreiben einer programmierbaren Stromversorgungsvorrichtung
mit konfigurierbaren Beschränkungen.
In allgemeinen Worten ausgedrückt
ist die vorliegende Erfindung auf ein Verfahren und eine Vorrichtung
zur Vereinfachung der Steuerung, Kontrolle und Programmierung von Energieverwaltungsvorrichtungen
oder Stromversorgungsvorrichtungen ausgerichtet. In Folgenden bezieht sich
der Ausdruck Stromversorgungsvorrichtung allgemein auf Energieverwaltungsvorrichtungen,
Stromversorgungsvorrichtungen sowie auch auf Stromversorgungssystem-Hostcontroller.
-
Zur
Vereinfachung der Steuerung bzw. Kontrolle und der Programmierung
von Stromversorgungsvorrichtungen wurde der sogenannte Power System
Management Bus (PMBus) Standard definiert. Bekannte Busprotokolle,
wie zum Beispiel I2C oder SMBus, erlauben
die Programmierung einer Energieverwaltungsvorrichtung durch direktes
Schreiben in interne Register der Vorrichtung. Anwender und Benutzer,
die solche Vorrichtungen interaktiv konfigurieren oder Software
für Stromversorgungssystem-Hostcontroller
schreiben, benötigen
eine Menge an proprietären
bzw. systemgebundenen Informationen über diese Vorrichtungen sowie einen
tiefen Einblick in sowie große
Kenntnisse über
die Funktion ihrer Register. So stellt zum Beispiel der oben erwähnte bekannte
Power System Management Bus Standard PMBus eine einfache Befehlssprache
mit standardisierten Konfigurations- und Interaktionsbefehlen bereit.
Somit kann sich der Benutzer mehr auf das Energiesystemverwaltungskonzept
selber konzentrieren und wird unabhängiger von der internen Vorrichtungsarchitektur.
-
Die
Programmierbarkeit einer Stromversorgungsvorrichtung wird für gewöhnlich von
einem integrierten Schaltkreis gehandhabt. Dieser integrierte Schaltkreis
kann während
verschiedener Stufen der Fertigung oder Herstellung programmiert
werden. Diese Herstellungsstufen können zum Beispiel bei dem Chiphersteller, dem
Modulhersteller, dem Systemhersteller und dem Endbenutzer stattfinden.
Während
jeder Stufe sollten gewisse Beschränkungen bezüglich der Programmierbarkeit
gelten, um einerseits einen sicheren Betrieb der Stromversorgungsvorrichtung
zu gewährleisten
und um andererseits eine ausreichende Flexibilität der Stromversorgungsvorrichtung
zu erlauben. Diese Beschränkungen
können
bei jeder Stufe anders sein und sollten von der vorhergehenden Stufe
definiert werden.
-
Programmierbare
Stromversorgungsvorrichtungen können
durch eine Anzahl von Befehlen oder Anweisungen programmiert werden,
die in einem Programm assembliert werden und/oder in Register der
programmierbaren Stromversorgungsvorrichtung geschrieben werden
und von einem integrierten Schaltkreis ausgeführt werden, der diese Stromversorgungsvorrichtung
steuert.
-
Eine
programmierbare Stromversorgungsvorrichtung kann mit einer konfigurierbaren
Beschränkung bezüglich der
Programmierbarkeit der Stromversorgungsvorrichtung versehen sein.
Die Beschränkung
kann von Stufe zu Stufe größer werden
und darf ohne Berechtigung nicht reduziert werden. Das Beseitigen
von Beschränkungen
einer programmierbaren Stromversorgungsvorrichtung kann im Falle
von zurückgesendeten defekten
Vorrichtungen wünschenswert
sein. Beschränkungen
bezüglich
der Programmierbarkeit von programmierbaren Stromversorgungsvorrichtungen
können
zum Beispiel ein Schreibschutz bezüglich bestimmter Befehle oder
Variablen, eine Begrenzung der Werte eines Befehlsparameters oder
einer Variablen oder ein Leseschutz sein.
-
Der
oben erwähnte
bekannte PMBus-Standard kann für
gewöhnlich
einen sogenannten WRITE_PROTECT-Befehl umfassen, der die Auswahl
von einem der nachfolgenden Schreibschutzmodi erlaubt:
- • alle
Befehle sind schreibgeschützt,
mit Ausnahme des Befehls WRITE_PROTECT selber;
- • alle
Befehle sind schreibgeschützt,
mit Ausnahme von drei Befehlen, zum Beispiel WRITE_PROTECT, OPERATION
und PAGE;
- • alle
Befehle sind schreibgeschützt,
mit Ausnahme von fünf
Befehlen, wie zum Beispiel WRITE_PROTECT, OPERATION, PAGE (wie vorher
erwähnt)
sowie ON_OFF_CONFIG und VOUT_COMMAND; und
- • kein
Befehl ist schreibgeschützt.
-
Diese
existierenden Lösungen
stellen keinen fein dosierten Schutzmechanismus für programmierbare Stromversorgungsvorrichtungen
bereit, der verschiedene Parameter berücksichtigt, die von einer Fertigungsstufe
zu einer anderen Fertigungsstufe angepasst werden müssen, zum
Beispiel von dem Vorrichtungshersteller zu dem Endkunden oder Endbenutzer.
In bekannten programmierbaren Stromversorgungsvorrichtungen kann
entweder ein großer
Betrag von Parametern modifiziert werden, auch unbeabsichtigt, oder
es ist ein sehr begrenzter Zugriff möglich, der keine ausreichende
Flexibilität
bereitstellt. Des Weiteren schließen die existierenden Lösungen für programmierbare
Stromversorgungsvorrichtungen keine Bereichsprüfungen für Betriebsparameter der Stromversorgungsvorrichtungen
ein. Dies kann zu beträchtlichen
Risiken der Zerstörung
der kompletten programmierbaren Stromversorgungsvorrichtung in Folge
eines unbeabsichtigten Programmierens von ungeeigneten Parametern,
z. B. von zu hohen Parameterwerten oder zu niedrigen Parameterwerten in
Abhängigkeit
von dem jeweiligen Parameter, führen.
-
Die
Erfindung löst
dieses bzw. weitere Probleme durch die Gegenstände der Ansprüche 1, 25,
26, 27.
-
Vorteilhafte
Weiterbildungen sind in den Unteransprüchen angegeben.
-
Die
Erfindung geht die oben genannten Probleme an, indem sie eine Anzahl
von Einfrierebenen (Freeze Levels) oder Programmierbarkeitsebenen
(Programmability Levels) in der programmierbaren Stromversorgungsvorrichtung
einführt.
In Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung umfasst die konfigurierbare Beschränkung der
Stromversorgungsvorrichtung eine Anzahl von Einfrierebenen der Programmierbarkeit
derart, dass jede Einfrier-/Programmierbarkeitsebene eine vorbestimmte
Zugriffbeschränkung
bezüglich
der Programmierbarkeit der Stromversorgungsvorrichtung definiert.
-
Die
Verwendung von mehreren Einfrier-/Programmierbarkeitsebenen in dem
Betrieb bzw. der Operation der programmierbaren Stromversorgungsvorrichtung
kann einer hierarchischen Ordnung unterliegen. Außerdem können die
Fertigungsebenen mit bestimmten Einfrier-/Programmierbarkeitsebenen
assoziiert sein. Im Allgemeinen kann eine höhere Einfrier-/Programmierbarkeitsebene
im Hinblick auf die hierarchische Ordnung zu einem eingeschränkteren
Zugriff auf Parameter der programmierbaren Stromversorgungsvorrichtung führen als
eine niedrigere Einfrier-/Programmierbarkeitsebene. Auf diese Weise
kann zum Beispiel der Modulhersteller einige Parameter an modulspezifische
Anforderungen anpassen, die von dem Systemhersteller in der nächsten Stufe
nicht modifiziert werden können.
Dies kann auch einen angenehmen Effekt für den Systemhersteller in Bezug
auf Garantieangelegenheiten haben.
-
Ein
Beispiel für
einen Satz von Herstellungsebenen, die mit bestimmten Einfrier-/Programmierbarkeitsebenen
assoziiert sein können,
die in Übereinstimmung
mit der vorliegenden Erfindung verwendet werden, kann wie folgt
lauten:
- • Chipherstellerebene:
Es
kann sein, dass auf der Herstellerebene für den integrierten Schaltkreis-Chip
keine Zugriffsbeschränkungen
installiert sind, um den Chiphersteller in die Lage zu versetzen,
den Chip in jeglicher Hinsicht für alle
Vorhaben und Zwecke programmieren zu können. Der Chip kann von dem
Chiphersteller zum Beispiel durch eine schnellere Zugriffsschnittstelle
als den PMBus (Power System Management Bus) programmiert werden,
und der Chiphersteller kann auf alle Informationen zugreifen. Dieser
Zugriff darf nicht durch die Erfordernis einer Berechtigung beschränkt sein,
aber dieser Zugriff kann markiert werden. Der Chiphersteller kann
die Zugriffsbeschränkungen
programmieren, die für
den integrierten Schaltkreis-Chip wichtig sind und die für alle Anwendungen
des Chips relevant sein können.
- • Modulherstellerebene:
Der
Modulhersteller integriert den integrierten Schaltkreis-Chip in
ein Modul. Der Modulhersteller hat vielleicht nur über PMBus
(Power Sys tem Management Bus) Zugriff auf den Chip und kann den
Chip zwar programmieren, aber nur innerhalb der Zugriffsbeschränkungen,
die von dem Chiphersteller in der Herstellungsebene oder Einfrier-/Programmierbarkeitsebene
vorher festgelegt worden sind. Der Modulhersteller kann die Beschränkungen
weiter verschärfen
und/oder weitere Zugriffsbeschränkungen
hinzufügen,
die für den
sicheren Betrieb des Moduls wichtig sein können und die relevant für alle Anwendungen
des Moduls sein können.
- • Systemherstellerebene:
Der
Systemhersteller integriert oder installiert das Modul in ein System. Ähnlich wie
der Modulhersteller hat der Systemhersteller vielleicht nur PMBus-Zugriff.
Der Systemhersteller kann den integrierten Schaltkreis-Chip in dem Modul
programmieren, das in das System integriert oder in diesem installiert
wird, aber nur innerhalb der Zugriffsbeschränkungen, die von dem Modulhersteller
in der Herstellungsebene oder der Einfrier-/Programmierbarkeitsebene vorher festgelegt
worden sind. Der Systemhersteller kann die Zugriffsbeschränkungen
noch verschärfen
und/oder weitere Zugriffsbeschränkungen
hinzufügen,
die für
den sicheren Betrieb des Systems wichtig sein können und die für alle Anwendungen
dieses Systems relevant sein können.
- • „Endbenutzer”-Ebene:
Der
Endbenutzer integriert das System in eine Anwendung. Es ist ziemlich
unüblich,
dass die Stromversorgung von dem Endbenutzer programmiert wird.
Aber in einem Ausführungsbeispiel
der vorliegenden Erfindung kann es nichtsdestoweniger für den Endbenutzer
möglich
sein, den Host der Stromversorgungsvorrichtung zu programmieren
und somit den integrierten Schaltkreis-Chip über PMBus innerhalb der Beschränkungen
programmieren zu können,
die von dem Systemhersteller in der Herstellungsebene oder Einfrier-/Programmierbarkeitsebene
vorher festgelegt worden sind. Nach der „Endbenutzer”-Ebene
ist kein weiteres Einfrieren/Sperren oder keine weitere Zugriffsbeschränkung mehr
notwendig oder geeignet.
-
Wenn
der integrierte Schaltkreis-Chip einen Fehler umfasst und dieser
Fehler den funktionellen Betrieb durch den Endbenutzer beeinflussen
kann, dann kann der nachfolgende beispielhafte Rücksendungsprozess in Übereinstimmung
mit der vorliegenden Erfindung durchgeführt werden:
- • Der Endbenutzer
schickt das System an den Systemhersteller zurück.
- • Der
Systemhersteller analysiert das System. Es kann sein, dass der Systemhersteller
für einige
Analysen die Systemherstellerebene betreten muss. Deshalb gibt der
Systemhersteller die Zugriffe auf das System in der Systemherstellerebene
für Analysezwecke
frei (unfreeze) oder entsperrt (unlock) diese. Die Analyse kann
zeigen, dass der Fehler entweder in dem Modul oder in dem Chip sitzt,
so dass das Modul an den Modulhersteller zurückgeschickt wird.
- • Der
Modulhersteller geht in einer ähnlichen
Art und Weise vor wie der Systemhersteller. Folglich analysiert der
Modulhersteller das System, und für einige Analyseverfahren muss
der Modulhersteller eventuell die Modulherstellerebene betreten.
Deshalb gibt der Modulhersteller die Zugriffe auf das System in
der Modulherstellerebene für
Analysezwecke frei oder entsperrt diese. Nach dem Freigeben oder
Entsperren sowie Analysieren des Chips durch den Modulhersteller
kann der Chip an den Chiphersteller zurückgeschickt werden.
- • Der
Chiphersteller kann die Vorrichtung in der Chipherstellerebene durch
sein Passwort freigeben oder entsperren und kann den Chip über PMBus
analysieren. Dies kann innerhalb einer begrenzten Bandbreite erlaubt
sein, und somit können
nicht alle internen Informationen lesbar sein. Für einen besseren Zugriff, zum
Beispiel einen schnelleren Zugriff auf alle Informationen, kann
der Vorrichtungshersteller den Chip durch einen schnellen Zugriffsport
(z. B. JTAG) analysieren. Deshalb muss der schnelle Zugriffsport
aktiviert werden, was zu einer Markierung führen kann (siehe zweite Markierung,
wie diese oben beschrieben worden ist). Wenn ein Fehler in einem
integrierten Schaltkreis-Chip gefunden wird, kann ein anderes Chipexemplar
an den Modulhersteller zurückgeschickt
werden, da der fehlerhafte Chip nun markiert ist.
-
In
diesem Ausführungsbeispiel
sind vier Einfrierebenen oder Programmierbarkeitsebenen der programmierbaren
Stromversorgungsvorrichtung bereitgestellt. Aber in Übereinstimmung
mit der vorliegenden Erfindung kann eine beliebige Anzahl von Einfrier-/Programmierbarkeitsebenen
bereitgestellt werden.
-
In Übereinstimmung
mit einem Ausführungsbeispiel
der vorliegenden Erfindung kann das Eintreten von einer aktuellen
Einfrier-/Programmierbarkeitsebene in eine höhere Einfrier-/Programmierbarkeitsebene oder
in die nächste,
hierarchisch höhere
Einfrier-/Programmierbarkeitsebene nur mit einer entsprechenden Berechtigung
möglich
sein. Alternativ dazu kann das Eintreten von einer aktuellen Einfrier-/Programmierbarkeitsebene
in eine höhere
Einfrier-/Programmierbarkeitsebene oder in die nächst höhere Einfrier-/Programmierbarkeitsebene
ohne eine Berechtigung möglich
sein. Darüber
hinaus kann es möglich
sein, von einer aktuellen Einfrier-/Programmierbarkeitsebene in
eine hierarchisch niedrigere Einfrier-/Programmierbarkeitsebene
oder in die nächst
niedrigere Einfrier-/Programmierbarkeitsebene entweder mit einer
Berechtigung oder ohne eine Berechtigung einzutreten.
-
In Übereinstimmung
mit einem anderen Ausführungsbeispiel
der vorliegenden Erfindung kann das Eintreten von einer aktuellen
Einfrier-/Programmierbarkeitsebene in eine höhere oder niedrigere Einfrier-/Programmierbarkeitsebene
mit Berechtigung oder ohne Berechtigung mit Hilfe einer nicht löschbaren
Markierung in einem integrierten Schaltkreis der programmierbaren
Stromversorgungsvorrichtung angezeigt werden. Diese nicht löschbare
Markierung, die den Wechsel einer Einfrier-/Programmierbarkeitsebene
anzeigt, z. B. in Folge des Eintretens von einer aktuellen Einfrier-/Programmierbarkeitsebene
in eine andere Einfrier-/Programmierbarkeitsebene entweder mit Berechtigung
oder ohne Berechtigung, kann als ein Programmierbarkeitsmechanismus
verstanden werden, der den Wechsel von Einfrier-/Programmierbarkeitsebenen
ohne Berechtigung anzeigt.
-
Im
Falle eines Wechsels von einer aktuellen Einfrier-/Programmierbarkeitsebene
in eine niedrigere Einfrier-/Programmierbarkeitsebene der programmierbaren
Stromversorgungsvorrichtung kann die Markierung in einem integrierten
Schaltkreis der programmierbaren Stromversorgungsvorrichtung einen
unberechtigten Wechsel oder eine unberechtigte Programmierung anzeigen.
Außerdem
kann die Markierung in einem integrierten Schaltkreis der programmierbaren
Stromversorgungsvorrichtung den Namen und somit die Verantwortlichkeit
bzw. Haftbarkeit der Instanz ausschließen oder anzeigen, die für die vorherige
Stufe verantwortlich ist.
-
In Übereinstimmung
mit noch einem anderen Ausführungsbeispiel
der vorliegenden Erfindung unterstützt die programmierbare Stromversorgungsvorrichtung
mehrere Einfrier-/Programmierbarkeitsebenen. In diesem Ausführungsbeispiel
kann ein spezifisches Passwort oder eine spezifische Markierung
der programmierbaren Stromversorgungsvorrichtung mit jeder Einfrier-/Programmierbarkeitsebene
assoziiert sein, um den Weg zurück
zu der nächst
niedrigeren Einfrier-/Programmierbarkeitsebene zu kontrollieren
bzw. zu überwachen
(gilt nicht für
die niedrigste verfügbare
Einfrier-/Programmierbarkeitsebene der programmierbaren Stromversorgungsvorrichtung).
Alternativ dazu kann ein spezifisches Passwort oder eine spezifische
Markierung der programmierbaren Stromversorgungsvorrichtung mit
jeder Einfrier-/Programmierbarkeitsebene assoziiert sein, um den
Weg zurück
zu der nächst
höheren
Einfrier-/Programmierbarkeitsebene zu kontrollieren und zu überwachen
(gilt nicht für
die höchste
verfügbare
Einfrier-/Programmierbarkeitsebene der programmierbaren Stromversorgungsvorrichtung).
-
Im
Folgenden werden zwei der oben vorgeschlagenen Betriebsmodi oder
Optionen einer programmierbaren Stromversorgungsvorrichtung in Übereinstimmung
mit der vorliegenden Erfindung genauer erklärt.
-
Als
eine erste Option in Übereinstimmung
mit der vorliegenden Erfindung kann eine höhere Einfrier-/Programmierbarkeitsebene
durch einen dedizierten Schreibbefehl, z. B. „Einfrier-/Sperr-Befehl” (Freeze/Lock
Command), betreten werden. In einem Ausführungsbeispiel der vorliegenden
Erfindung kann dieser Einfrier-/Sperr-Befehl zusammen mit einem
Passwort als einer ersten Variablen und einem optionalen Strafparameter
(Penalty Parameter) als einer zweiten Variablen gesendet werden.
Eine niedrigere Einfrier-/Programmierbarkeitsebene kann durch einen
zweiten dedizierten Befehl, z. B. „Freigabe-/Entsperr-Befehl” (Unfreeze/Unlock
Command) betreten werden. In Ü bereinstimmung
mit einem Ausführungsbeispiel
der vorliegenden Erfindung kann dieser „Freigabe-/Entsperr-Befehl” zusammen
mit dem entsprechenden Passwort gesendet werden. Das korrekte Passwort
für diese
Aktion kann das Passwort sein, das mit dem „Einfrier-/Sperr-Befehl” installiert
worden ist, um die höhere
Einfrier-/Programmierbarkeitsebene zu betreten.
-
Wenn
ein „Freigabe-/Entsperr-Befehl” mit einem
falschen Passwort gesendet wurde, dann kann eine „Strafprozedur” (Penalty
Prozedur) begonnen werden, die von dem Strafparameter konfiguriert
worden ist. Eine nachfolgende Strafhandhabung oder -prozedur kann
definieren, wie viel Anstrengung in dem Fall notwendig ist, wenn
ein falsches Passwort mit dem „Freigabe-/Entsperr-Befehl” gesendet
wird, um einen unberechtigten Zugriff zu verhindern.
-
Wenn
der „Freigabe-/Entsperr-Befehl” durch
eine Lesetransaktion gesendet wird, dann können andere Informationen (nicht
das Passwort) zurückgesendet
werden, z. B. die aktuelle Einfrier-/Programmierbarkeitsebene. Dadurch
wird das Auslesen des vorher installierten Passworts verhindert.
Auf diese Weise kann ein Hersteller eines Moduls für eine programmierbare
Stromversorgungsvorrichtung einige Parameter schützen, indem er in eine höhere Einfrier-/Programmierbarkeitsebene
eintritt, bevor die Module an einen nachfolgenden Hersteller eines
programmierbaren Stromversorgungssystems versendet werden.
-
Wenn
ein oder mehrere der Modulparameter später geändert werden müssen, dann
kann der Modulhersteller wieder in die niedrigere Einfrier-/Programmierbarkeitsebene
eintreten, indem er sein eigenes Passwort anwendet. Diese Modifikation
der Modulparameter kann nach dem Rücksenden der Module von dem
Systemhersteller notwendig sein. Der Einfrier-/Sperr- – Freigabe-/Entsperr-Mechanismus
kann so oft wie nötig ausgeführt werden,
da die Passwörter
und die Einfrier-/Programmierbarkeitsebenen neu programmiert werden können. Folglich
werden die Passwörter
und die Einfrier-/Programmierbarkeitsebenen abweichend von bekannten
Techniken nicht in einem nur einmal programmierbaren Speicher gespeichert.
In Übereinstimmung
mit einem Ausführungsbeispiel
der vorliegenden Erfindung können
die damit in Beziehung stehenden Bits in einer Untereinheit eines
nur einmal programmierbaren Speichers gespeichert werden. Aber dies
kann die Anzahl an Einfrier-/ Sperr- – Freigabe-/Entsperr-Zyklen
begrenzen oder würde
sonst einen ziemlich großen
Speicher erfordern. Deshalb werden in einem anderen Ausführungsbeispiel
der vorliegenden Erfindung die damit verbundenen Informationen in
einem mehrere Male programmierbaren nichtflüchtigen Speicher (z. B. EEPROM)
gespeichert, wenn der Passwortmechanismus verwendet wird.
-
Als
eine zweite Option in Übereinstimmung
mit der vorliegenden Erfindung kann eine erste Anzahl von einem
oder mehreren, einmal programmierbaren Bits als eine erste Markierung
und eine zweite Anzahl von einem oder mehreren, einmal programmierbaren
Bits als eine zweite Markierung verwendet werden. Diese beiden Markierungen
können
drei mögliche
Zustände
definieren. Wenn zum Beispiel beide Markierungen nicht gesetzt sind,
dann bedeutet dies, dass die Einfrier-/Programmierbarkeitsebene
entsperrt ist und niemals gesperrt war. Wenn zum Beispiel eine Markierung
gesetzt ist, dann bedeutet dies, dass die Einfrier-/Programmierbarkeitsebene
gesperrt worden ist. Wenn zum Beispiel beide Markierungen gesetzt
sind, dann bedeutet dies, dass die Einfrier-/Programmierbarkeitsebene
wieder entsperrt worden ist (und vorher gesperrt war).
-
In Übereinstimmung
mit einer weiteren Ausführungsform
der vorliegenden Erfindung können
diese Markierungen nur gesetzt, aber nicht beseitigt oder gelöscht werden.
Deswegen können
die Markierungen nur einmal gesetzt werden und dann immer aus dem
Chip ausgelesen werden. Die Verwendung von nur einmal programmierbaren
Markierungen zum Freigeben/Entsperren kann für das Tracking verwendet werden
und kann als eine „Änderungshistorie” interpretiert
werden. In diesem Zusammenhang können
die einmal programmierbaren Markierungen dazu verwendet werden,
eingefrorene Vorrichtungen ohne Kenntnis der Passwörter zu
analysieren, z. B. im Fall einer Fehleranalyseanforderung (FAR;
Failure Analysis Request). Auf diese Weise kann der Hersteller Gewährleistungsangelegenheiten überprüfen, wenn
die Vorrichtungen nach dem Freigeben/Entsperren der programmierbaren
Markierungen verwendet worden sind, da es nachgewiesen werden kann,
dass der Passwortmechanismus umgangen oder überlistet worden ist. Der nur
einmal programmierbare Speicher kann ein PROM, ein EPROM sein, so
dass ein programmiertes Bit durch elektrische Einrichtungen nicht
gelöscht
werden kann. Darüber
hinaus kann der nur einmal programmierbare Speicher ein EEPROM oder
ein FLASH oder Teil eines EEPROM oder FLASH mit einem Hardware-
oder einem Software-Schutz sein, der das Löschen des Programminhalts verhindert.
-
In Übereinstimmung
mit noch einer anderen Ausführungsform
der vorliegenden Erfindung kann sich jede Beschränkungsvariable auf einen dedizierten
Stapelspeicher beziehen, oder ein Stapelspeicher handhabt alle Beschränkungsvariablen
in einer Gruppe, und außerdem
können
auch beide Alternativen miteinander kombiniert werden. In Übereinstimmung
mit einem Ausführungsbeispiel
der vorliegenden Erfindung können dedizierte
Variable („Beschränkungsvariable”) und ein
oder mehrere Stapelspeicher derart spezifiziert werden, dass sie
die Beschränkung
bezüglich
bestimmter Befehle und der damit verbundenen Parameter definieren können. So
können
die dedizierten Variablen zum Beispiel definieren, dass sich ein
Stapelspeicher jeweils auf einen Parameter bezieht. In Übereinstimmung
mit einem anderen Ausführungsbeispiel
der vorliegenden Erfindung repräsentiert
die Spitze bzw. das obere Ende eines Stapelspeichers den jüngsten Satz
von Beschränkungsvariablen,
die den erlaubten Bereich für
Betriebsparameter und neue Beschränkungsvariable für die nächst höhere Einfrier-/Programmierbarkeitsebene
definieren können.
Wenn die nächste
Einfrier-/Programmierbarkeitsebene betreten wird, können die
modifizierten Beschränkungsvariablen
für die
neue Einfrier-/Programmierbarkeitsebene dem Stapelspeicher hinzugefügt, also
oben auf den Stapel gepackt werden (Push). Somit repräsentiert
das obere Ende des Stapelspeichers die Beschränkungsvariablen, die in dieser
Einfrier-/Programmierbarkeitsebene angelegt werden.
-
Ein
Beispiel für
eine Beschränkungsvariable
ist das Datenbyte des Befehls WRITE_PROTECT des PMBus Standards.
Ein Beispiel für
einen Satz von Beschränkungsregeln
kann wie folgt aussehen:
- • Der Schreibzugriff wird nur
den Befehlen erlaubt, die nicht schreibgeschützt sind, wie dies durch das
Datenbyte von WRITE_PROTECT definiert ist;
- • Das
Datenbyte von WRITE_PROTECT muss einer der zugelassenen Werte sein,
wie sie in der nachfolgenden Tabelle definiert sind;
-
Schreibschutz-Datenbyte
an der Spitze des Stapelspeichers |
Zugelassene
Werte für
das Datenbyte von WRITE_PROTECT |
00000000b
= 00h |
00h,
20h, 40, 80h |
00100000b
= 20h |
20h,
40h, 80h |
01000000b
= 40h |
40h,
80h |
10000000b
= 80h |
80h |
-
Ein
anderes Beispiel für
eine Beschränkungsvariable
ist der Schutz von Parameterbereichen. Mehrere Parameter können von
einer Herstellerstufe zu der nächsten
Herstellerstufe eingeschränkt
sein, um unerwünschte,
sogenannte „Tuning”-Effekte
von Parametern zu vermeiden und das Risiko einer Systemzerstörung zu
begrenzen. Ein anderer Parameter für die vorteilhafte Begrenzung
des Risikos der Systemzerstörung
kann die Ausgangsspannung einer Stromversorgung sein.
-
Zum
Beispiel erzeugt der Vorrichtungshersteller eine Vorrichtung, die
in der Lage ist, Ausgangsspannungen in einem Bereich von etwa 0
V bis 6 V zu liefern, um die meisten üblichen Anwendungen mit einer einzigen
Vorrichtung abzudecken. Der Modulhersteller kann auf 1,5 V-Anwendungen
abzielen und externe Komponenten verwenden, die an den niedrigeren
Spannungsbereich angepasst sind. In einem solchen Fall ist es wichtig,
die Vorrichtung vor der Abgabe von 6 V zu schützen, da dies die Zerstörung des
Moduls bewirken könnte.
Mit Hilfe der vorliegenden Erfindung kann der Modulhersteller den
erreichbaren Ausgangsspannungsbereich auf 2 V begrenzen, indem er
in eine höhere
Einfrier-/Programmierbarkeitsebene mit einem beschränkten Parameterbereich
eintritt. Auf diese Weise kann der Systemhersteller die Ausgangsspannung
innerhalb eines neuen beschränkten
Bereichs von etwa 0 V bis 2 V festlegen.
-
In Übereinstimmung
mit einem Ausführungsbeispiel
der vorliegenden Erfindung kann eine Vielzahl von Beschränkungsvariablen
definiert werden. In diesem Fall sollte Vorsorge getroffen werden,
dass die Beschränkungsregeln
zwischen dem oberen Ende des Stapelspeichers und der Beschränkungsvariablen
gewährleisten,
dass die Beschränkungsvariable
durch Programmieren innerhalb dieser Beschränkungsregel nicht weniger strikt
wird. Beispiele für
Be schränkungsvariable
werden in der vorliegenden Beschreibung weiter unten gegeben werden.
-
In Übereinstimmung
mit einem anderen Ausführungsbeispiel
der vorliegenden Erfindung können
die Beschränkungen
entsprechend den Anforderungen programmiert werden, die von jeder
Einfrier-/Programmierbarkeitsebene vorgegeben werden. Auf diese
Weise kann ein beträchtlicher
Grad an Flexibilität
erreicht werden, während
zur gleichen Zeit das Risiko der Zerstörung begrenzt wird. In der
niedrigsten Einfrier-/Programmierbarkeitsebene ist kein Eintreten
in einer niedrigere Einfrier-/Programmierbarkeitsebene möglich. Diese
Beschränkung
kann für
den Freigabe-/Entsperr-Befehl gelten. Wenn der Stapelspeicher ein
oberes Limit besitzt, dann existiert eine höchste Einfrier-/Programmierbarkeitsebene,
so dass ein Eintreten in eine höhere Einfrier-/Programmierbarkeitsebene
nicht möglich
ist. Diese Beschränkung
kann sich auf den Einfrier-/Sperrbefehl beziehen. In diesem Zusammenhang
kann es vorteilhaft sein, dass die Beschränkungsvariablen in dieser höchsten Einfrier-/Programmierbarkeitsebene
nicht programmierbar sind.
-
In Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung wird eine programmierbare Stromversorgungsvorrichtung
mit Folgendem bereitgestellt:
- • eine Anzahl
von hierarchisch geordneten Einfrier-/Programmierbarkeitsebenen
von Programmierbarkeit;
- • die
nächst
höhere
Einfrier-/Programmierbarkeitsebene kann ohne eine Passwortüberprüfung betreten werden,
aber ein zusätzliches
Passwort oder eine zusätzliche
Markierung muss installiert werden, um den Weg zurück zu der
niedrigeren Einfrier-/Programmierbarkeitsebene zu erlauben (berechtigt
durch ein Passwort oder zurückverfolgt
durch eine Markierung);
- • ein
frei programmierbares Passwort oder ein Mechanismus mit einer nicht
löschbaren
Markierung für
jede Einfrier-/Programmierbarkeitsebene (außer für die niedrigste Ebene);
- • ein
Betreten der nächst
niedrigeren Einfrier-/Programmierbarkeitsebene kann:
- • entweder
berechtigt (Passwortschutz mit Strafprozedur im Falle, dass ein
falsches Passwort verwendet wird); oder
- • markiert
(wobei für
Rückverfolgungszwecke
eine nicht löschbare
Markierung gesetzt wird, nachdem der Eintritt erfolgt ist); oder
- • jede
Kombination aus berechtigtem und markiertem Eintreten sein (z. B.
berechtigtes Eintreten für
eine Gruppe von Ebenen, markiertes Eintreten für eine andere Gruppe von Ebenen);
- • eine
Beschränkung,
die für
Parameter durch Variable definiert ist, ein Stapelspeicher und Beschränkungsregeln,
wobei
- • das
obere Ende des Stapelspeichers die Beschränkungsvariablen beschränkt;
- • die
Beschränkungsvariablen
einen oder mehrere Befehle, Befehlsparameter oder Variable beschränken;
- • Beschränkungen
zu einem reduzierten Programmierwertbereich eines Parameters oder
zu einem vollständig
deaktivierten Programmierungszugriff auf einen Parameter führen können;
- • in
Abhängigkeit
von dem Parameter und seiner Verwendung in dem System der Beschränkungsmechanismus
ausgewählt
werden kann (einige Parameter können
Bereichsbeschränkungen
aufweisen, wohingegen andere nicht modifiziert werden können).
-
Mit
der vorliegenden Erfindung kann eine integrierte Stromversorgungsvorrichtung
gegen unberechtigtes, unbeschränktes
Programmieren geschützt
werden, oder unberechtigtes, unbeschränktes Programmieren wird nicht
löschbar
in dem integrierten Schaltkreis markiert. Der Beschränkungsmechanismus
in Übereinstimmung
mit der vorliegenden Erfindung kann auch als Schutz vor einer fehlerhaften
oder unbeabsichtigten Modifikation von Parametern dienen.
-
Der
integrierte Schaltkreis kann durch mehrere Herstellungsstufen wandern
(Chiphersteller, Modulhersteller, ...), und während jeder Stufe können die
Beschränkungen
in Übereinstimmung
mit der vorliegenden Erfindung größer werden. In Übereinstimmung
mit einem Ausführungsbeispiel
der vorliegenden Erfindung kann in jeder Herstellungsstufe ein neues
Passwort an die Vorrichtung gesendet werden, wenn die nächste Einfrier-/Programmierbarkeitsebene
betreten wird. Dieser Mechanismus in Übereinstimmung mit der vorliegenden Erfindung
kann eine unerwünschte
Modifikation der internen Daten verhindern.
-
In Übereinstimmung
mit einer anderen Ausführungsform
der vorliegenden Erfindung können
Beschränkungen,
die über
den Befehl WRITE_PROTECTION des PMBus Standards hinausgehen, definiert
werden, vor allem für
den Schutz von Betriebsparametern. Das automatische Passwortknacken
kann in Folge der Strafprozedur in Übereinstimmung mit der vorliegenden
Erfindung stark erschwert werden.
-
Die
beigefügte
Zeichnung ist eingeschlossen, um ein weiteres Verständnis der
vorliegenden Erfindung bereitzustellen, und ist in diese Patentschrift
aufgenommen und bildet einen Teil davon. Die Zeichnung veranschaulicht
ein Ausführungsbeispiel
der vorliegenden Erfindung und dient zusammen mit der Beschreibung
dazu, die Prinzipien der Erfindung zu erläutern. Andere Ausführungsbeispiele
der vorliegenden Erfindung und viele der beabsichtigten Vorteile
der vorliegenden Erfindung werden ohne Weiteres erkannt werden,
wenn diese durch Bezugnahme auf die nachfolgende ausführliche
Beschreibung besser verständlich
werden.
-
In
der nachfolgenden ausführlichen
Beschreibung wird Bezug auf die beigefügte Zeichnung genommen, die
einen Teil davon bildet und in der zu Veranschaulichungszwecken
spezifische Ausführungsbeispiele gezeigt
sind, in denen die Erfindung praktiziert werden kann. Weil Komponenten
von Ausführungsbeispielen der
vorliegenden Erfindung in einer Anzahl von unterschiedlichen Ausrichtungen
positioniert werden können, wird
die Richtungsterminologie zu Zwecken der Veranschaulichung verwendet
und ist in keinster Weise beschränkend.
Es sollte klar sein, dass andere Ausführungsbeispiele verwendet werden
können
und dass strukturelle oder logische Änderungen durchgeführt werden
können,
ohne dass von dem Schutzumfang der vorliegenden Erfindung abgewichen
wird. Die nachfolgende ausführliche
Beschreibung soll daher nicht in einem beschränkenden Sinne betrachtet werden,
und der Schutzumfang der vorliegenden Erfindung ist durch die angehängten Patentansprüche definiert.
-
Ein
Ausführungsbeispiel
der Basisarchitektur für
eine programmierbare Stromversorgungsvorrichtung in Übereinstimmung
mit der vorliegenden Erfindung ist in der beigefügten Zeichnung gezeigt. 1 zeigt
ein Blockdiagramm, das ein Ausführungsbeispiel
einer Basisarchitektur für
eine programmierbare Stromversorgungsvorrichtung in Übereinstimmung
mit der vorliegenden Erfindung veranschaulicht.
-
Wie
aus 1 ersichtlich wird, umfasst eine programmierbare
Stromversorgung in Übereinstimmung mit
einem Ausführungsbeispiel
der Erfindung ein Element oder ein Modul „Konfigurationsvariable für die Stromversorgung”. Die Variablen
können
in dem Element „Konfigurationsvariable
für die
Stromversorgung” durch
ein anderes Element oder ein anderes Modul geändert werden, das als „Befehls-/Variablen-Handler” bezeichnet
wird. Die Beeinflussungen zwischen den Elementen oder Modulen werden
in 1 von den zweispitzigen Pfeilen und einspitzigen
Pfeilen angegeben. Beide Elemente, nämlich das Element „Konfigurationsvariable
für die
Stromversorgung” und
das Element „Befehls-/Variablen-Handler”, können mit
einem Hostcontroller (in 1 nicht gezeigt) kommunizieren.
-
Ein
Element „Beschränkungsvariable” umfasst
Beschränkungsvariable,
die in Registern des Elements „Beschränkungsvariable” oder in
einer anderen geeigneten Speichervorrichtung gespeichert werden
können. Diese
Beschränkungsvariablen
definieren die Beschränkungen
bezüglich
der Befehle, die von dem Element „Befehls-/Variablen-Handler” gehandhabt
werden. Beschränkungsvariable
können
für jeden
Befehl definieren, ob der Befehl akzeptiert wird, und wenn der Befehl
akzeptiert wird, ob irgendwelche Beschränkungen dafür gelten. Im Allgemeinen kann
die Stromversorgungsvorrichtung auch Befehle akzeptieren, die die
Beschränkungsvariablen ändern, und
kann auch Befehle akzeptieren, die die Einfrier-/Programmierbarkeitsebene
verändern
bzw. wechseln.
-
Auch
diese Befehle können
Beschränkungen
unterliegen, die von den Beschränkungsvariablen
definiert werden. Wenn ein Einfrier-/Programmierbarkeitsebenen-Wechselbefehl
von dem Host angefordert wird, dann verifiziert ein Element „Wechsel
der Einfrier-/Programmierbarkeitsebene” den Befehl und seine Parameter
mit Hilfe eines Elements „Passwort-Stapelspeicher” und der
aktuellen Einfrier-/Programmierbarkeitsebene. Wenn die Verifizierung
des Befehls und seiner Parameter fehlschlägt, ist der Befehl ungültig. Reaktionen
auf ungültige
Befehle können
eine Zurückweisung
oder eine Aktivierung einer Strafmarkierung oder Verletzungsmarkierung
sein, wie dies durch das Kästchen „Verletzungsmarkierung” in 1 angegeben
ist.
-
Wenn
ein Einfrier-/Programmierbarkeitsebenen-Wechselbefehl gültig ist,
dann wird die Einfrier-/Programmierbarkeitsebene gewechselt, wie
dies von dem Element „Stapelspeicher” in 1 angegeben
wird. Das „Stapelspeicher”-Element
umfasst Beschränkungsvariable
verschiedener Einfrier-/Programmierbarkeitsebenen, z. B. N-1, N-2,
N-3. Das Wechseln der Einfrier-/Programmierbarkeitsebene bedeutet,
dass die aktuellen Beschränkungsvariablen
dem Stapelspeicher hinzugefügt,
also oben auf den Stapel gepackt werden (Push) oder die Beschränkungsvariablen
aus dem Stapelspeicher entfernt, also von dem Stapel heruntergenommen
werden (Pop), wie dies durch das Kästchen „Hinzufügen/Entfernen” (Push/Pop)
in 1 angegeben ist. Dies kann auch zu Hinzufüge-/Entfern-Aktionen
in dem Passwort Stapelspeicher führen,
wie dies durch den zweispitzigen Pfeil gezeigt ist, der auf das
Kästchen „Passwortstapelspeicher” in 1 zeigt.
-
Das
Element „Befehls-/Variablen-Handler” kann die
Schnittstelle zu einem Hostcontroller bereitstellen. Die Einfrier-/Programmierbarkeitsebenen-Wechselbefehle oder
die Befehle zur Änderung
der Beschränkungsvariablen,
die von der Stromversorgungsvorrichtung gehandhabt werden, können Befehle
sein, die für
den Modul- oder Systemhersteller definiert worden sind, z. B. PMBus-Befehle,
sowie auch Befehle sein, die für
die Chiphersteller definiert worden sind, z. B.) TAG-Befehle.
-
Im
Folgenden werden weitere Ausführungsbeispiele
der vorliegenden Erfindung offenbart, wobei bestimmte Einzelheiten
im Hinblick auf Folgendes beschrieben werden:
- • die Beschränkungsvariablen
und Beschränkungsregeln,
- • den
Satz von Einfrier-/Programmierbarkeitsebenen,
- • die
Strafprozedur und
- • die
Speicherung von Variablen und Stapelspeichern.
-
Implementierungen
der vorliegenden Erfindung werden im Hinblick auf die Variablen
und Stapelspeicher beschrieben. In Übereinstimmung mit einem Ausführungsbeispiel
der vorliegenden Erfindung ist eine Beschränkungsvariable ein Datenbyte,
Wort oder Block eines Schreibschutzbefehls. In diesem Fall definiert
jedes Bit dieser Variablen den Schreibschutz eines Befehls oder
einer Gruppe von Befehlen. Ein Null-Bit bedeutet, dass dieser Befehl
nicht schreibgeschützt
ist, ein Eins-Bit bedeutet, dass dieser Befehl schreibgeschützt ist.
In einem alternativen Ausführungsbeispiel
der vorliegenden Erfindung bedeutet ein Eins-Bit, dass dieser Befehl nicht
schreibgeschützt
ist, ein Null-Bit bedeutet, dass dieser Befehl schreibgeschützt ist.
Ein Bit in der Variablen muss Eins sein, wenn das entsprechende
Bit an dem oberen Ende des Stapelspeichers ebenfalls auf Eins gesetzt
ist. Somit kann der Satz von schreibgeschützten Befehlen nicht von Stufe
zu Stufe schrumpfen, und ein Befehl, der in einer Stufe schreibgeschützt war,
bleibt in den nachfolgenden Stufen ebenfalls schreibgeschützt.
-
Im
Allgemeinen können
Beschränkungsregeln
derart definiert sein, dass jedes Bit eines Datenbytes, Worts oder
Blocks, das in der vorhergehenden Einfrier-/Programmierbarkeitsebene
gesetzt und eingefroren worden war, in der aktuellen Einfrier-/Programmierbarkeitsebene
nicht gelöscht
werden darf, oder umgekehrt.
-
In Übereinstimmung
mit einem anderen Ausführungsbeispiel
der vorliegenden Erfindung ist eine Beschränkungsvariable eine obere Grenze
für numerische
Daten eines Befehls, z. B. der befohlenen Ausgangsspannung (VOUT_COMMAND).
Es kann sein, dass der Befehl nicht berücksichtigt wird (PMBus: nicht
bestätigen),
wenn seine numerischen Daten entweder größer als die Variable sind oder
wenn seine numerischen Daten nicht kleiner als die Variable sind,
was von dem Typ der Variablen abhängt. Wenn auf eine Variable
wie etwa VOUT_COMMAND in einem Schreibprozess zugegriffen wird,
dann muss sie kleiner als ihr entsprechendes Element an der Spitze
des Stapelspeichers sein. In Übereinstimmung
mit einem anderen Ausführungsbeispiel
der vorliegenden Erfindung wird eine Beschränkungsvariable durch einen
anderen Befehl gesetzt.
-
Ähnliche
Ausführungsbeispiele
der vorliegenden Erfindung können
gefunden werden, indem eine untere Grenze definiert wird, ein numerischer
Datenbereich (von einer unteren Grenze zu einer oberen Grenze) definiert
wird, oder ein endlicher Satz von zugelassenen Werten definiert
wird. Außerdem
kann die numerische Reihenfolge des Befehls-Datenbyte, -Worts oder
-Blocks oder jede andere Ordnung für die Beschränkungsregel
verwendet werden.
-
Wie
oben erwähnt
worden ist, kann in Übereinstimmung
mit der vorliegenden Erfindung eine Strafprozedur bereitgestellt
werden, zum Beispiel, um das Passwortknacken schwieriger zu machen.
Ein Ausführungsbeispiel
der Strafprozedur kann folgendermaßen sein: Wenn ein falsches
Passwort in den Chip oder die Vorrichtung eingegeben worden ist,
dann kann der Zugriff auf den Chip oder die Vorrichtung für eine bestimmte Zeitspanne
blockiert werden. Die Zeit kann von einem Strafparameter festgelegt
werden. Dieser Strafparameter kann die Strafzeit in Form einer vordefinierten
Einheit repräsentieren.
-
Ein
anderes Ausführungsbeispiel
einer Strafprozedur kann durch das Einführen von Strafbefehlen in den
Chip oder die Vorrichtung gegeben werden. Wenn das Passwort falsch
war, muss der Host den Freigabe- oder Entsperr-Befehl eine festgelegte Anzahl von Malen
wiederholen, die von dem Strafparameter spezifiziert wird. Zum Beispiel
kann der Strafparameter die Anzahl von Wiederholungen repräsentieren.
In einem anderen Ausführungsbeispiel
der vorliegenden Erfindung muss der Freigabe- oder Entsperr-Befehl
mit dem korrekten Passwort wiederholt werden.
-
Im
Folgenden werden eine Implementierung für die Speicherung der Variablen,
d. h., die Einfrier- oder Programmierbarkeitsebenen-Informationen,
und der Stapelspeicher erörtert.
-
In Übereinstimmung
mit einem anderen Ausführungsbeispiel
der vorliegenden Erfindung sind die Einfrier-/Programmierbarkeitsebenen-Informationen
(Einfrier-/Programmierbarkeitsebene, Passwort und Strafe) auf dem
Chip oder in der Vorrichtung verfügbar, selbst nachdem die Stromzufuhr
zu dem Chip oder der Vorrichtung abgeschaltet worden ist. Deshalb
können
die Einfrier-/Programmierbarkeitsebenen-Informationen in einem nichtflüchtigen
Speicher oder in einem Speicher des Chips oder der Vorrichtung mit
einer se paraten Stromversorgung gespeichert werden. Die Variablen
können
zum Beispiel in Registern oder in einem flüchtigen RAM mit einer separaten
Stromversorgung gespeichert werden, was einen schnellen Lese- und
Schreibzugriff erlauben kann. Vorausgesetzt, der Lesezugriff auf
den nichtflüchtigen
Speicher ist schnell genug, dann können die Variablen auch in
einem nichtflüchtigen
Speicher gespeichert werden, der sich idealerweise nahe bei dem
Stapelspeicher befindet.
-
Obwohl
spezifische Konfigurationen und Anordnungen erörtert worden sind, sollte es
klar sein, dass dies lediglich zu veranschaulichenden Zwecken erfolgt
ist. Ein Fachmann auf dem einschlägigen Fachgebiet wird erkennen,
dass andere Konfigurationen und Anordnungen verwendet werden können, ohne
dass von dem Erfindungsgedanken und dem Schutzumfang der vorliegenden
Erfindung abgewichen wird. Es wird einem Fachmann auf dem einschlägigen Fachgebiet
offensichtlich sein, dass die vorliegende Erfindung auch in einer
Vielfalt von anderen Anwendungen verwendet werden kann.
-
Obwohl
verschiedene Ausführungsbeispiele
der vorliegenden Erfindung oben beschrieben worden sind, sollte
es klar sein, dass sie lediglich beispielshalber vorgelegt wurden
und keine Beschränkung
darstellen. Es wird den Fachleuten auf dem betreffenden Fachgebiet
ersichtlich sein, dass verschiedene Änderungen bezüglich der
Form und der Einzelheiten darin durchgeführt werden können, ohne
dass von dem Erfindungsgedanken und dem Schutzumfang der Erfindung
abgewichen wird. Somit soll die Breite und der Schutzumfang der
vorliegenden Erfindung nicht durch irgendeines der oben beschriebenen
exemplarischen Ausführungsbeispiele
beschränkt
sein, sondern soll nur in Übereinstimmung
mit den nachfolgenden Patentansprüchen und ihren Äquivalenten
definiert sein.