-
PRIORITÄT
-
Die vorliegende Anmeldung beansprucht die Priorität der
US-Patentanmeldung Nr. 16/020,918 , eingereicht am 27. Juni 2018, mit der Bezeichnung „APPARATUS FOR AUTONOMOUS SECURITY AND FUNKTIONAL SAFETY OF CLOCK AND VOLTAGES“, welche durch Verweis in ihrer Gesamtheit einbezogen wird.
-
HINTERGRUND
-
Die Sicherheit von Hardware und Software ist von höchster Bedeutung, während Computervorrichtungen (z.B. Laptops, Tablets, Smartphones, Computer, Server, Internet der Dinge usw.) zum täglichen Brot der Benutzer werden. Signale auf den physischen Prozessor-Pins können so manipuliert werden, dass bewirkt wird, dass der Prozessor eine unbeabsichtigte Funktion ausführt. Beispielsweise können Daten, die zur internen Verwendung durch den Prozessor in einem nicht-flüchtigen Speicher gespeichert sind, von unberechtigten Benutzern abgerufen werden, die andere Signale auf den Pins des Prozessors verwenden. In ähnlicher Weise kann Software, die auf dem Prozessor abläuft, bewirken, dass die Hardware des Prozessors unberechtigte Funktionen ausführt (z.B. Verringern des Teilerverhältnisses eines Phasenregelkreises). Obwohl viele Anstrengungen unternommen worden sind, um Software-Viren abzuschwächen oder von Computervorrichtungen und/oder zu entfernen, bleibt die Hardware für einen geübten Hacker weitgehend ungeschützt.
-
Figurenliste
-
Die Ausführungsformen der Offenbarung sind vollständiger zu verstehen aus der nachstehenden detaillierten Beschreibung und aus den begleitenden Zeichnungen verschiedener Ausführungsformen der Offenbarung, welche jedoch nicht so verstanden werden sollten, dass sie die Offenbarung auf die speziellen Ausführungsformen beschränken, sondern lediglich der Erläuterung und dem Verständnis dienen.
- 1 zeigt eine höhere Architektur von Takt- und Spannungsüberwachungseinheiten, um für funktionelle Sicherheit (Functional Safety, FUSA) eines Prozessors zu sorgen, gemäß einigen Ausführungsformen der Offenbarung.
- 2 zeigt eine graphische Darstellung, welche ein Zeitdiagramm der höheren Architektur gemäß einigen Ausführungsformen darstellt.
- 3 zeigt einen Ein-Frequenz-Oszillator mit schmalem Bereich zum Überwachen der Frequenz eines Takts für die FUSA gemäß einigen Ausführungsformen.
- 4 zeigt ein Spannungsüberwachungs-Schaltungssystem zum Überwachen der Spannung für die FUSA gemäß einigen Ausführungsformen.
- 5 zeigt einen Referenzgenerator für die FUSA gemäß einigen Ausführungsformen.
- 6 zeigt eine Taktgeberarchitektur, welche mit einem oder mehreren Leistungsüberwachungs-Schaltungssystemen zum Überwachen der FUSA gekoppelt ist, gemäß einigen Ausführungsformen.
- 7 zeigt einen skalierbaren Komparator, der auf einer parallelen Präfix-Baumarchitektur zum Bereitstellen der FUSA basiert, gemäß einigen Ausführungsformen.
- 8 zeigt eine Tastverhältnis-Überwachungseinheit für die FUSA gemäß einigen Ausführungsformen.
- 9A-B zeigen eine Frequenzverschlechterungs-Überwachungseinheit bzw. eine graphische Darstellung, welche einen Alterungseinfluss zeigt, gemäß einigen Ausführungsformen.
- 10A zeigt ein Schaltungssystem zum Vergleichen eines Referenztakts mit einem Rückkopplungstakt und zum Erzeugen von Indikatoren der Phasenverriegelung gemäß einigen Ausführungsformen.
- 10B zeigt eine Logik zum Bestimmen einer Phasenfehlerverschlechterung für FUSA-Zwecke gemäß einigen Ausführungsformen.
- 11 zeigt einen Einschaltdetektor für die Architektur der 1 gemäß einigen Ausführungsformen.
- 12 zeigt eine intelligente Vorrichtung oder ein Computersystem oder ein SoC (System-on-Chip) mit einer Vorrichtung zum Verbessern der FUSA gemäß einigen Ausführungsformen der Offenbarung.
-
DETAILLIERTE BESCHREIBUNG
-
Verschiedene Ausführungsformern beschreiben ein Verfahren und eine Vorrichtung zum kontinuierlichen und genauen Überwachen, dass alle externen und internen Taktfrequenzen von Interesse strenge Sicherheitsanforderungen und Anforderungen an die funktionelle Sicherheit (FUSA) erfüllen. In einigen Ausführungsformen überwacht die Vorrichtung für die FUSA selbständig externe Spannungs- und Taktparameter vor dem Booten oder Fuse-down von Lasten. Beispielsweise überwacht die Vorrichtung unabhängig von jeglichem Trimmen oder jeglicher Kalibrierung verschiedener Schaltungen externe Spannungs- und Taktparameter, um etwaige unerwartete Änderungen an den Spannungs- und Taktparametern zu identifizieren und zu markieren. In einigen Ausführungsformen werden kombinierte Spannungs/Takt-Genauigkeitsüberwachungseinheiten für die Sicherheit und die funktionelle Sicherheit in einer integrierten Lösung bereitgestellt.
-
Einige Ausführungsformen stellen Überwachungseinheiten bereit, welche kontinuierlich Taktfrequenzen und Spannungen von Interesse verfolgen und Fehler an eine oder mehrere funktionelle Steuerungen und Sicherheitssteuerungen melden, wenn minimale und maximale Schwellenwerte überschritten werden. Diese Schwellenwerte können für ein Produkt vorprogrammiert werden oder zu einem späteren Zeitpunkt programmierbar sein. In einigen Ausführungsformen wird ein Oszillator (z.B. Induktor-Kondensator(LC)-Hochfrequenztank) mit einem sehr schmalen Frequenzbereich bereitgestellt, welcher einen stabilen Takt liefert, um externe und/oder interne Takte genau zu überwachen. In einigen Ausführungsformen wird eine Toggle-Überwachungseinheit bereitgestellt, welche erkennt, wenn ein externer Takt toggelt, um die Überwachungseinheiten zuzuschalten. In einigen Ausführungsformen werden Spannungsreferenzgeneratoren (z.B. Bandlücken(BG)-Schaltungen) und Spannungsregler (z.B. Low-Dropout-Regler) bereitgestellt, um unabhängig interne Spannungen zu erzeugen, die von den FUSA-Überwachungseinheiten benötigt werden. In einigen Ausführungsformen unterstützen die Spannungsreferenzgeneratoren und die Spannungsregler einen weiten Versorgungsspannungs-Eingabebereich. Ein eingebauter Einschaltdetektor (Power-On-Detector, POD) wird ebenfalls bereitgestellt, um die Erzeugung von Versorgungsspannung und Referenzspannung zu ermöglichen. In einigen Ausführungsformen verfolgt die Spannungsüberwachungseinheit konstant die Spannung und meldet alle Abweichungen von eingestellten Schwellenwerten. In einer solchen Ausführungsform werden aus Sicherheitsgründen für die Sicherheit vor dem Fuse-Down der Lasten Hardware-Standardwerte verwendet und Trimm- oder Kalibrierungs-Codes für verschiedene Schaltungssysteme für die funktionelle Sicherheit können angewendet werden, bevor die Trimm- oder Kalibrierungsverfahren aktiviert werden.
-
In einigen Ausführungsformen können einige oder alle Anomalien, die von den Überwachungseinheiten entdeckt werden (z.B. Übertaktung, Änderung der Frequenz eines externen Referenztakts, Änderung der Versorgungsspannung usw.), abgemildert werden, indem Schaltungsparameter von Downstream-Schaltungen und Logik neu eingestellt werden. Wenn sich beispielsweise die Frequenz des externen Takts ändert, kann es sein, dass der entsprechende Regelkreis (Phase Locked Loop, PLL) nicht den richtigen Takt erzeugt. Um dies zu beheben, wird die externe Taktfrequent bestimmt und es wird eine geeignete Änderung an dem PLL-Teilerverhältnis vorgenommen, damit der PLL-Ausgabetakt auf seiner erwarteten Frequenz bleibt.
-
In einigen Ausführungsformen wird eine Vorrichtung zum Überwachen von Rückkopplungstakten von Regelkreisen (PLLs) bereitgestellt. In einigen Ausführungsformen werden die Rückkopplungstakte in der Frequenz durch einen Teiler unterteilt, bevor diese Takte überwacht werden, um die Genauigkeit der Überwachungseinheit zu erhöhen. Obwohl einige Ausführungsformen in Bezug auf die Überwachung von Rückkopplungstakten für PLLs beschrieben werden, können alle Takte mit bekannten Frequenzen überwacht werden, die mit bekannten Referenztaktfrequenzen eingestellt sind. In einigen Ausführungsformen wir eine FUSA-Steuerung bereitgestellt, welche im Rotationsprinzip einstellt, welche Takte aus mehreren Takten von Interesse zu überwachen sind, und dabei die Replikation von Hochgeschwindigkeitszählern/Logik vermeidet. In einigen Ausführungsformen werden die Überwachungseinheiten für HVM (High Volume Monitoring, Überwachung mit hohem Volumen) mit BIST (Built-In Self-Test, Eingebauter Selbsttest) verwendet, um die PLL Taktteilerverhältnisse nach einem spezifizierten Verriegelungs-Timer intern zu ändern. Beispielsweise werden die Überwachungseinheiten verschiedener Ausführungsformen verwendet, um HDMI-300+-Frequenzen auf Genauigkeit zu testen, und hierdurch wird die Testzeit deutlich verringert.
-
In der folgenden Beschreibung werden zahlreiche Einzelheiten beschrieben, um für eine gründlichere Erläuterung der Ausführungsformen der vorliegenden Offenbarung zu sorgen. Dem Fachmann ist jedoch ersichtlich, dass Ausführungsformen der vorliegenden Offenbarung ohne diese speziellen Einzelheiten ausgeübt werden können. In anderen Fällen werden wohlbekannte Strukturen und Vorrichtungen statt im Detail in Blockdiagrammform dargestellt, um zu vermeiden, dass die Ausführungsformen der vorliegenden Offenbarung unklar werden.
-
Man beachte, dass in den entsprechenden Zeichnungen der Ausführungsformen Signale mit Linien dargestellt sind. Einige Linien können dicker sein, um Signalwege anzuzeigen, die grundlegender sind, und/oder Pfeile an einem oder mehreren Enden aufweisen, um die Hauptrichtung des Informationsflusses anzuzeigen. Solche Anzeigen sollen nicht beschränkend sein. Stattdessen werden die Linien in Verbindung mit einer oder mehreren beispielhaften Ausführungsformen benutzt, um ein einfacheres Verständnis einer Schaltung oder einer logischen Einheit zu ermöglichen. Jedes dargestellte Signal, welches durch Darstellungserfordernisse oder Vorlieben bestimmt wird, kann tatsächlich ein oder mehrere Signale umfassen, welche in jede Richtung laufen können und mit einer beliebigen geeigneten Art von Signalschema realisiert werden können.
-
Überall in der Beschreibung und in den Ansprüchen bedeutet der Begriff „verbunden“ eine direkte Verbindung, wie z.B. eine elektrische, mechanische oder magnetische Verbindung zwischen den Dingen, die verbunden sind, ohne irgendwelche Zwischenvorrichtungen.
-
Der Begriff „gekoppelt“ bedeutet eine direkte oder indirekte Verbindung, wie z.B. eine direkte elektrische, mechanische oder magnetische Verbindung zwischen den Dingen, die verbunden sind, durch eine oder mehrere passive oder aktive Zwischenvorrichtungen.
-
Der Begriff „benachbart“ bezieht sich hier im Allgemeinen auf eine Position eines Dings, das sich neben einem anderen Ding befindet (z.B. unmittelbar daneben oder in der Nähe davon, mit einem oder mehreren Dingen dazwischen) oder an dieses angrenzt (z.B. anstößt).
-
Der Begriff „Schaltung“ oder „Modul“ kann sich auf eine oder mehrere passive und/oder aktive Komponenten beziehen, die so eingerichtete sind, dass sie miteinander zusammenarbeiten, um für eine gewünschte Funktion zu sorgen.
-
Der Begriff „Signal“ kann sich auf mindestens ein Stromsignal, Spannungssignal, magnetisches Signal oder Daten-/Taktsignal beziehen. Die Bedeutung von „ein“, „eine“ und „der“, „die“, „das“ umfasst auch Bezugnahmen auf den Plural. Die Bedeutung von „in“ umfasst „in“ und „auf‟.
-
Der Begriff „Skalieren“ bezieht sich im Allgemeinen auf das Umwandeln eines Designs (schematisch und Layout) von einer Verfahrenstechnologie auf eine andere Verfahrenstechnologie und das anschließende Verringern der Layoutfläche. Der Begriff „Skalieren“ bezieht sich außerdem im Allgemeinen auf eine Verkleinerung des Layouts und von Vorrichtungen innerhalb desselben Technologieknotens. Der Begriff „Skalieren“ kann sich auch auf das Anpassen (z.B. Verlangsamen oder Beschleunigen - d.h. Herunterskalieren bzw. Heraufskalieren) einer Signalfrequenz relativ zu einem anderen Parameter beziehen, z.B. zur Energieversorgungsstärke. Die Begriffe „im Wesentlichen“, „nahe“, „ungefähr“, „nahezu“ und „etwa“ beziehen sich im Allgemeinen darauf, innerhalb +/-10 % eines Zielwerts zu liegen.
-
Sofern nicht anders angegeben, wird durch die Verwendung der Ordnungsadjektive „erste“, „zweite“, „dritte“ usw. zum Beschreiben eines gemeinsamen Objekts lediglich angezeigt, dass gleiche Elemente bezeichnet werden, die in verschiedenen Fällen vorkommen, und es soll dadurch nicht impliziert werden, dass die so beschriebenen Objekte in einer gegebenen Reihenfolge stehen, entweder zeitlich, räumlich, in einer Rangfolge oder in einer beliebigen anderen Weise.
-
Für die Zwecke der vorliegenden Offenbarung bedeuten die Ausdrücke „A und/oder B“ und „A oder B“ (A), (B) oder (A und B). Für die Zwecke der vorliegenden Offenbarung bedeutet der Ausdruck „A, B und/oder C“ (A), (B), (C), (A und B), (A und C), (B und C) oder (A, B und C).
-
Die Begriffe „links“, „rechts“, „vorn“, „hinten“, „oben“, „unten“, „über“, „unter“ und dergleichen in der Beschreibung und in den Ansprüchen werden, falls vorhanden, zu Beschreibungszwecken und nicht notwendigerweise zum Beschreiben permanenter relativer Positionen verwendet.
-
Es sei herausgestellt, dass jene Elemente der Figuren, welche die gleichen Bezugszahlen (oder Bezeichnungen) aufweisen wie die Elemente irgendeiner anderen Figur, auf irgendeine Weise ähnlich wie bei der beschriebenen arbeiten können ohne jedoch darauf beschränkt zu sein.
-
Für die Zwecke der Ausführungsformen sind die Transistoren in verschiedenen hierin beschriebenen Schaltungen und Logikblöcken Metall-Oxid-Halbleiter(MOS)-Transistoren oder Ableitungen davon, wobei die MOS-Transistoren Drain-, Source-, Gate- und Bulk-Anschlüsse. Die Transistoren und/oder, die MOS-Transistor-Ableitungen umfassen außerdem Tri-Gate- und FinFET-Transistoren, zylindrische Gate-All-Around-Transistoren, Tunnel-FETs (TFETs), Square-Wire oder Rectangular-Ribbon-Transistoren, ferroelektrische FETs (FeFETs) oder andere Vorrichtungen, welche eine Transistorfunktionalität realisieren, wie Kohlenstoff-Nanoröhrchen oder Spintronic-Vorrichtungen. Symmetrische MOSFET-Source- und MOSFET-Drain-Anschlüsse d.h. sind identische Anschlüsse und werden hier austauschbar verwendet. Eine TFET-Vorrichtung hingegen weist asymmetrische Source- und Drain-Anschlüsse auf. Der Fachmann erkennt, dass andere Transistoren, zum Beispiel Bipolar-Übergangs-Transistoren (BJT PNP/NPN), BiCMOS, CMOS usw. verwendet werden können, ohne vom Umfang der Offenbarung abzuweichen.
-
1 zeigt eine höhere Architektur 100 von Takt- und Spannungsüberwachungseinheiten, um für funktionelle Sicherheit (Functional Safety, FUSA) eines Prozessors zu sorgen, gemäß einigen Ausführungsformen der Offenbarung. In einigen Ausführungsformen umfasst die Architektur 100 für die FUSA eine Bandlücken(BG)-Schaltung einen Low-Dropout(LDO)-Regler, einen Einschaltdetektor (Power On Detector, POD) und eine Spannungsüberwachungseinheit (Voltage Monitor, VM), welche zusammen im Kasten 101 zusammengefasst sind; einen Oszillator (z.B. LC-Tank-Oszillator) 102; mehrere Zähler und Komparatoren 1031-n (wobei „n‟ eine ganze Zahl größer als 1 ist); einen Toggle-Detektor 104, einen Teiler 105, einen Multiplexer 106, eine Steuerung 107, einen Multiplexer 108 und einen Teiler 109. In einigen Ausführungsformen sind der Toggle-Detektor 104, die Steuerung 107 und andere Schaltungssysteme, welche das Verfahren zum Bereitstellen der FUSA steuern, Teil einer FUSA-Steuerung.
-
In einigen Ausführungsformen erfasst der POD des Blocks 101 die Spannung auf der VccIn-Energieversorgungsschiene (z.B. 1,2 V bis 2 V) und vergleicht die Spannung mit einem minimalen (Min) Schwellenwert und einem maximalen (Max) Schwellenwert. Eine mögliche Realisierung des POD ist in Bezug auf 11 veranschaulicht. Wieder Bezug nehmend auf 1, erzeugt in einigen Ausführungsformen die Bandlücken(BG)-Schaltung des Blocks 101 eine Referenzspannung, welche als eine Referenzspannung für eine oder mehrere Spannungsüberwachungseinheiten und den LDO verwendet wird. In einigen Ausführungsformen verfolgt (verfolgen) eine Spannungsüberwachungseinheit(en) konstant die Spannung von VccIn und melden alle Abweichungen von den eingestellten Schwellenwerten. Aus Sicherheitsgründen werden vor dem Fuse-Down der Lasten Hardware-Standardwerte verwendet. In einigen Ausführungsformen können vor der Aktivierung Trimm-Codes (trim) oder Kalibrierungs-Codes für die funktionelle Sicherheit auf die BG-Schaltung angewendet werden. In einigen Ausführungsformen vergleichen die Spannungsüberwachungseinheiten (VMs) im Block 101 die Versorgungsspannung (VccIn) mit bekannten minimalen (min) und maximalen (max) Schwellenwerten. Wenn die VccIn-Spannungsstärke außerhalb der min/max-Schwellenwerte liegt, wird ein Fehlersignal erzeugt (z.B. wird Error_0 angegeben). Eine mögliche Architektur zur Verwendung einer BG-Schaltung mit einem Spannungsregler wird in 5 beschrieben.
-
Wieder Bezug nehmend auf 1, wird in einigen Ausführungsformen ein Oszillator mit schmalem Bereich 102 verwendet, um einen Oszillationstakt OSC_Clk für verschiedene Logiken der Architektur 100 bereitzustellen. Beispielsweise wird der Oszillationstakt OSC_Clk Zählern und/oder Komparatoren 1031-n bereitgestellt, um Flanken zu zählen, die innerhalb eines speziellen (oder programmierbaren) Zeitfensters zu sehen sind. In einigen Ausführungsformen umfasst der Oszillator mit schmalem Bereich 102 einen LC-Tank mit einem Standard-Mid-Coarse-Band und Fein-Codes, welche zusammen einen Gesamtbereich von weniger als beispielsweise +/-400 MHz aufweisen. Eine mögliche Architektur eines LC-Tanks ist in Bezug auf 3 veranschaulicht.
-
Wieder Bezug nehmend auf 1, werden in einigen Ausführungsformen die Zähler 1031-n verwendet, um den Eingabetakt OSC_Clk für ein Zeitfenster abzutasten, welches von einer bestimmten Anzahl an Zyklen des Eingabetakts bestimmt wird (z.B. von einer Version von XTAL, eines ausgewählten Rückkopplungstakts FB_Clk). Die primäre Genauigkeit der Zähler wird eingestellt durch die nominale Frequenz des abgetasteten Takts und die Metastabilität seiner Flip-Flops, und schwach empfindlich für die Schwankung in der LC-Tank-Frequenz OSC_Clk.
-
In einigen Ausführungsformen erkennt der Toggle-Detektor (oder die Überwachungseinheit) 104, wenn der externe Takt XTAL toggelt, und schaltet dann selbständig XTAL oder andere Referenzüberwachungseinheiten zu. Beispielsweise umfasst der Toggle-Detektor 104 eine Flankenerkennungsschaltung, welche identifiziert, wann ein Übergang (z.B. von Low auf High oder von High auf Low) für den XTAL-Takt beobachtet wird. Der XTAL-Takt kann beispielweise ein Off-Die-Takt sein, der von einem Kristall erzeugt wird.
-
In verschiedenen Ausführungsformen befindet sich der Toggle-Detektor 104 auf dem Die und ist kommunikativ mit einem Pin gekoppelt, welcher den externen Takt XTAL empfängt. In einigen Ausführungsformen erzeugt der Toggle-Detektor 104, wenn er einen Übergang in dem XTAL-Takt empfängt, ein Aktivierungssignal EN_XTAL. Das Aktivierungssignal EN_XTAL wird verwendet, um die Zähler und die Komparatoren zu aktivieren, welche beginnen, die Frequenz von XTAL zu zählen und die gezählte Frequenz mit einer minimalen (min) und/oder einer maximalen (max) Schwellenfrequenz zu vergleichen. Die Ausgabe jedes Zähler&Komparator-Blocks 1031-n ist ein Zählwert (z.B. Count_1 aus dem Block 1031) und ein Fehlerindikator (z.B. Error_1 aus dem Block 1031), welcher anzeigt, dass der Frequenzzählwert außerhalb der Grenzen der minimalen oder maximalen erwarteten Zählwerte liegt. Hier werden für die FUSA zur Sicherheit feste XTALs/Referenzen verwendet. Beispielsweise können Straps oder Sicherungen verwendet werden, um die min/max-Schwellenwerte zu definieren, wenn mehrere XTAL/Referenz-Frequenzen unterstützt werden.
-
Um die Genauigkeit des Zählers 1031-n zu erhöhen, wird der Eingabetakt durch Teilen in der Frequenz verkleinert. In einigen Ausführungsformen wird ein Teiler 105 verwendet, um die Frequenz des XTAL-Takts durch Teilen zu verkleinern. Die durch Teilen verkleinerte Frequenz wird dann einem Multiplexer (Mux.) 106 bereitgestellt, welcher eines aus dem XTAL-Takt oder dem durch Teilen verkleinerten XTAL-Takt (gemäß dem Auswahlsignal Seil) für den Zähler 1031 bereitstellt. In einigen Ausführungsformen stellt eine Steuerung (nicht dargestellt) das Seil-Signal bereit. Diese Steuerung wird auch als die FUSA-Steuerung bezeichnet. Der Mux 106 ermöglicht die Flexibilität zum Zählen der XTAL-Frequenz direkt oder in geteilter Form.
-
In einigen Ausführungsformen zählt einer der Zähler (z.B. 103n) einen oder mehrere PLL-Rückkopplungstakte (PLL_FB1 bis PLL_FBn). Die PLL-Rückkopplungstakte PLL_FB1 bis PLL_FBn weisen bekannte oder feste Frequenzen auf, die aus ihren entsprechenden Teilerverhältnissen abgeleitet werden. Wie im Fall des XTAL-Takts werden der Multiplexer 108 und der Teiler 109 so bereitgestellt, dass sie einen der Rückkopplungstakte auswählen und seine Frequenz durch Teilen verkleinern, um FB_Clk für den Zähler 103n zu erzeugen um genauer zu zählen. Im Allgemeinen gilt, je höher das Teilerverhältnis, desto besser die Genauigkeit der Taktüberwachungseinheit. In einigen Ausführungsformen wird die Steuerungseinheit 107 (z.B. Teil der FUSA-Steuerung) bereitgestellt, welche mit Kenntnis jedes Takt- und Zustandsübergangs im Rotationsprinzip umschalten kann, welcher Takt von PLL_FB1 bis PLL_FBn nacheinander zu überwachen ist um Fehler während der Frequenzübergänge zu maskieren. Für diese Lösung der Taktrotation muss kein tatsächliches Teilerverhältnis bekannt sein, wenn die Rückkopplungstakte ungeachtet des PLL-Teilerverhältnisses der PLLs konstante Frequenzen aufweisen. Der Zähler 103n wird durch ENn aktiviert, wenn zum Zählen FB_Clk verfügbar ist. In verschiedenen Ausführungsformen wird dieses Aktivierungssignal ENn durch die Steuerung 107 ausgegeben, wenn die Steuerung 107 einen toggelnden FB_Clk oder ein Toggeln von einem, einigen oder allen der Takte PLL_FB1 bis PLL_FBn erfasst.
-
2 zeigt eine graphische Darstellung 200, welche ein Zeitdiagramm der höheren Architektur gemäß einigen Ausführungsformen darstellt. Die graphische Darstellung 200 zeigt vier Wellenformen - XTAL, OSC_Clk, EN und Count_1, als Beispiele zum Darstellen des Betriebs der Architektur 100. Wenn der Toggle-Detektor 104 einen Übergang im XTAL-Takt erfasst, wird das Aktivierungssignal EN ausgegeben. Sobald EN ausgegeben ist beginnt der Zähler 1031 die Frequenz der Flanken von OSC_Clk zwischen seinen zwei ansteigenden Flanken zu zählen. Der Wert des Zählers wird durch Count_1 dargestellt, welches ein Multibit-Code ist.
-
3 zeigt einen Ein-Frequenz-Oszillator mit schmalem Bereich 300 (auch als LC-Tank-Oszillator bezeichnet) zum Überwachen der Frequenz eines Takts für die FUSA gemäß einigen Ausführungsformen. Der LC-Tank-Oszillator 300 umfasst die Induktoren L1 und L2, die in Reihe geschaltet sind und zusammen parallel zu den Kondensatorbänken 301 und 302 geschaltet sind. In einigen Ausführungsformen ist die Kondensatorbank 301 eine grobe Bank, welche Kondensatoren umfasst, die binär gewichtet sind. In einigen Ausführungsformen ist die Kondensatorbank 302 eine feine Bank, welche Kondensatoren umfasst, die Thermometer-gewichtet sind. Hier bezieht sich grobe Bank auf eine Gruppe von Kondensatoren, wobei jeder Kondensator, wenn er dem Kapazitätsnetzwerk hinzugefügt wird, die Kapazität um ein viel höheres Maß erhöht, als wenn ein Kondensator aus einer feinen Bank dem Kapazitätsnetzwerk hinzugefügt wird.
-
In einigen Ausführungsformen sind Transistoren des n-Typs MN0 und MN1 kreuzgekoppelt und außerdem mit den Induktoren L1 und L2 und den Kondensatorbänken 301 und 302 gekoppelt, um die Oszillation zu bewirken und auch, um die Oszillationsfrequenz zu steuern. In verschiedenen Ausführungsformen kann sie Oszillationsamplitude durch Schalter eingestellt werden, welche durch Ivco[0] bis Ivco[n] gesteuert werden, welche Widerstände R[0] bis R[n] zu der Source der Transistoren MN0 und MN1 addieren/davon subtrahieren. So wird der Vorspannungsstrom des LC-Tank-Oszillators modifiziert. In einigen Ausführungsformen wird die Ausgabe Vcoout des LC-Tank-Oszillators 300 durch einen Post-VCO(Voltage Controlled Oscillator, Spannungsgesteuerter Oszillator)-Puffer (PVB) 303 gepuffert. Um den LC-Tank-Oszillator 300 auszugleichen, ist auch ein Replika- oder Dummy-PVB 304 mit dem Induktor L1 gekoppelt, um für die gleichen Anstiegs- und Abfallzeiten für den Vcoout-Takt zu sorgen. In verschiedenen Ausführungsformen ist Vcoout (z.B. OSC_Clk) ein stabiler Takt, welcher verwendet wird, um externe und/oder interne Takte genau zu überwachen oder abzutasten.
-
4 zeigt ein Spannungsüberwachungs(VM)-Schaltungssystem 400 zum Überwachen der Spannung für die FUSA gemäß einigen Ausführungsformen. In einigen Ausführungsformen umfasst das VM-Schaltungssystem 400 einen ersten Komparator 401 und einen zweiten Komparator 402. In einigen Ausführungsformen sind die Ausgaben VmaxCmpOut und VminCmpOut aus dem ersten Komparator 401 bzw. dem zweiten Komparator 402 haftende Ausgaben. Wenn sich zum Beispiel die Signale auf Knoten VmaxCmpOut und VminCmpOut ändern, werden diese Signale Latchgespeichert und verbleiben in diesen logischen Zuständen. In einigen Ausführungsformen sind der erste Komparator 401 und der zweite Komparator 402 getaktete Komparatoren. Es kann jeder geeignete getaktete Komparator verwendet werden, um den ersten Komparator 401 und den zweiten Komparator 402 zu realisieren.
-
In verschiedenen Ausführungsformen kann die Energieversorgung VccRef zu den Komparatoren 401/402 durch ein Low-Dropout(LDO)-Regler-Schaltungssystem bereitgestellt, welches in Bezug auf 5 beschrieben wird. Wieder Bezug nehmend auf 4, vergleicht hier der erste Komparator 401 eine durch Teilen verkleinerte Version Vp der Energieversorgung VccX mit einem oberen oder maximalen Schwellenwert Vmax_thresh. Der zweite Komparator 402 vergleicht eine durch Teilen verkleinerte Version Vp der Energieversorgung VccX mit einem unteren oder minimalen Schwellenwert Vmin_thresh. So überwacht der erste Komparator 401 VccX in Bezug auf einen oberen Schwellenwert, während der zweite Komparator 402 VccX in Bezug auf einen unteren Schwellenwert überwacht. In einigen Ausführungsformen wird die durch Teilen verkleinerte Version Vp der Energieversorgung VccX durch eine Widerstandsleiter oder einen Spannungsteiler erzeugt, umfassend die Widerstandsvorrichtungen RCM1 und RCM2. In einigen Ausführungsformen weisen die Widerstandsvorrichtungen RCM1 und RCM2 einstellbare Widerstände auf.
-
In einigen Ausführungsformen werden der maximale Schwellenwert Vmax_thresh und der minimale Schwellenwert Vmin_thresh durch einen Widerstandsteiler erzeugt. In diesem Beispiel wird ein Stapel von drei einstellbaren Widerstandsvorrichtungen RTH1 bis RTH3 verwendet, um den maximalen Schwellenwert Vmax_thresh und den minimalen Schwellenwert Vmin_thresh bereitzustellen. Die Widerstandsvorrichtungen können auf eine beliebige geeignete Weise realisiert werden. Beispielsweise können die Widerstandsvorrichtungen unter Verwendung diskreter Widerstände, Transistoren, die im linearen Bereich arbeiten, usw. realisiert werden. Diese Widerstandsvorrichtungen können einstellbare Widerstände aufweisen. Durch Anzeigen, wenn VccX oberhalb oder unterhalb eines erwarteten Schwellenwerts liegt, kann ein Prozessor alle Probleme der funktionellen Sicherheit erfassen und Schritte unternehmen, um diese abzumildern.
-
5 zeigt eine Referenzgeneratorarchitektur 500 für die FUSA gemäß einigen Ausführungsformen. In einigen Ausführungsformen kann die Referenzspannungsversorgung VccVref für den ersten Komparator 401 und den zweiten Komparator 402 durch die Architektur 500 bereitgestellt werden, welche einen endlichen Automaten (Finite State Machine, FSM) 501, einen BG-Referenzgenerator 502 und einen Niederspannungsregler (VR) 503 umfasst. In einigen Ausführungsformen kalibriert der FSM 501 in Abhängigkeit von dem Spannungswert von BGref den BG-Referenzgenerator 502, indem er eine oder mehrere Vorrichtungen des BG-Referenzgenerator 502 trimmt (z.B. Strom/Spannungs-Ansteuerungsstärken der Vorrichtungen einstellt), um die Stärke von BGref auf eine erwartete Stärke zu bekommen. In einigen Ausführungsformen ist der VR 503 ein Low-Dropout(LDO)-Regler, welcher durch VccIn betrieben wird. Zum Realisieren des VR 503 kann ein beliebiges geeignetes LDO-Regler-Design verwendet werden. In einigen Ausführungsformen kann der VR 503 ein Einheitsverstärkungs-Puffer sein. Zum Realisieren des VR 503 kann ein beliebiges geeignetes Einheitsverstärkungs-Puffer-Design verwendet werden.
-
6 zeigt eine Taktgeberarchitektur 600, welche mit einem oder mehreren Leistungsüberwachungs-Schaltungssystemen zum Überwachen der FUSA verbunden ist, gemäß einigen Ausführungsformen. Die Architektur 600 umfasst einen Phasenfrequenzdetektor (PFD) 601, eine Ladungspumpe (Charge Pump, CP) 602, ein Loop-Filter oder Low-Pass-Filter (LPF) 603, einen spannungsgesteuerten Oszillator (VCO) 604, einen Post-VCO-Puffer (PVB) 605, einen Multiplexer 606, einen Teiler 607, ein Tastverhältniseinstellungs(Duty Cycle Adjustment, DCA)-Schaltungssystem 608, Taktverteilungs-Puffer 609, einen Tastverhältnisautomaten 610 und einen Delta-Sigma-Modulator (DSM) 611. In einigen Ausführungsformen arbeiten verschiedene Schaltungssysteme der Taktgeberarchitektur 600 mit verschiedenen Energieversorgungen, welche durch die Domänen 613, 614 und 615 angezeigt sind. In einigen Ausführungsformen empfängt der VCO eine separate Energieversorgung von einem LDO 612. In einigen Ausführungsformen empfangen ein oder mehrere aus der CP 602, dem Loop-Filter 603, dem VCO 604, dem PVB 605, dem Rückkopplungsteiler 607 und anderen Vorrichtungen/Schaltungssystemen entlang dem Taktfortpflanzungsweg eine separate Energieversorgung von dem LDO 612. Die Taktarchitektur empfängt einen Referenztakt (RefClk) wie XTAL oder seine Ableitung und dieser Takt wird vom PFD 601 empfangen, welcher den FBClk (z.B. einen aus PLL_FB1 bis PLL_FBn) umfasst. Die Ausgabe des PFD 601 sind Up- und Down(Dn)-Signale, welche der CP 602 befehlen, Ladung auf einen Steuerknoten zu geben oder davon abzuziehen. Die Spannung auf dem Steuerknoten wird dann vom LPF 603 gefiltert, um Vcntl zu erzeugen, welche die Oszillationsfrequenz des VCO 604 steuert. Die Ausgabe Vclk des VCO wird durch 605 gepuffert und dem DCA-Schaltungssystem 608 bereitgestellt. In einigen Ausführungsformen wird durch den Mux 606 einer aus ClkGrid oder PLLClk als ein Takt zur Eingabe in den Teiler 607 ausgewählt. In einigen Ausführungsformen empfängt der Teiler 607 ein ganzzahliges Verhältnis oder ein Bruchzahl-Teilungsverhältnis vom DSM 611. In verschiedenen Ausführungsformen wird die Leistungsfähigkeit der Taktgeberarchitektur 600 durch Überprüfen von Signalen wie Up, Dn, des Tastverhältnisses von ClkGrid usw. überwacht. Eine Änderung der Eigenschaften von Up, Dn, des Tastverhältnisses von ClkGrid gegenüber ihren erwarteten Eigenschaften kann einen Einblick in eine Gefahr für die funktionelle Sicherheit für die Taktgeberarchitektur 600 bieten. Hier ist die Taktgeberarchitektur 600 ein Phasenregelkreis und ist als eine beispielhafte Architektur zur FUSA-Überwachung dargestellt. Die Techniken zur FUSA-Überwachung können jedoch auf jede Taktgeberarchitektur anwendbar sein.
-
7 zeigt einen skalierbaren Komparator, der auf einer parallelen Präfix-Baumarchitektur 700 zum Bereitstellen der FUSA basiert, gemäß einigen Ausführungsformen. In einigen Ausführungsformen werden unter Verwendung der Architektur 700 ein erster und ein zweiter Komparator 401/402 realisiert. In einigen Ausführungsformen ist die Komparatorarchitektur 700 ein Multi-Bit-Komparatorbaum, umfassend das NAND-Gate 701 und das NOR-Gate 704 zum Vergleichen der Eingaben a[i] und b[i], gefolgt von Stufen, umfassend die komplexe Logik 702 und das UND-Gate 705, die komplexe Logik 703 und das UND-Gate 706 usw. Hier sind die ersten wenigen Stufen des Multi-Bit-Komparatorbaums dargestellt, in dessen erster Stufe berechnet wird, ob einzelne Bits eines Binärworts „a“ größer (G[i]) oder gleich (E[i]) entsprechenden Bits von „b“ sind. Die restlichen Stufen kombinieren logarithmisch die G- und E-Bits von Signifikanz [i,i-j] mit jenen von [i-j-1, i-k] zum Erzeugen der Signifikanz [i,i-k]. Diese Fanin-2-Abbildung ist ein Beispiel; es sind Bäume von Fanin-3+ möglich, ebenso wie alternative Vergleichscodierungen (z.B. weniger als anstatt gleich viel wie).
-
8 zeigt eine Tastverhältnis-Überwachungseinheit 800 für die FUSA gemäß einigen Ausführungsformen. In einigen Ausführungsformen umfasst die Tastverhältnis-Überwachungseinheit einen Komparator 802 (z.B. auf Basis der Architektur 700), welcher den Tastverhältnis-Code von der DCC (Duty Cycle Corrector, Tastverhältnis-Korrektureinheit) 610 mit einem vorgegebenen Code 801 vergleicht. Die DCC erfasst gemäß einigen Ausführungsformen das Tastverhältnis des Clock Grid. In einigen Ausführungsformen werden die DCA-Codes durch die DCC aktualisiert, um die DCD zu minimieren. Die Ausgabe des Komparators 802 wird dann einer FUSA-Steuerung bereitgestellt. Die FUSA-Steuerung kann eine Meldung oder einen Indikator über die Gesundheit des Tastverhältnisses bereitstellen und anzeigen, wenn das Tastverhältnis des PLLClk außerhalb seines erwarteten Bereichs liegt. Beispielsweise kann die Tastverhältnis-Überwachungseinheit 800 Einblick in eine Tastverhältnisverzerrung (Duty Cycle Distortion, DCD) aufgrund asymmetrischer Alterung von Vorrichtungen des p-Typs gegenüber denen des n-Typs gewähren. Die DCD kann Phasenstrecken-Zeitüberschreitung und sogar eine Impulsbreitenverflüchtigung bewirken.
-
9A-B zeigen eine Frequenzverschlechterungs-Überwachungseinheit 900 für die FUSA bzw. eine graphische Darstellung 920, welche einen Alterungseinfluss zeigt, gemäß einigen Ausführungsformen. In einigen Ausführungsformen umfasst die Frequenzverschlechterungs-Überwachungseinheit 900 einen Analog-Digital-Wandler (ADC), welcher die VCO-Eingabesteuerungsspannung Vctrl in eine digitale Darstellung V1 (z.B. einen 10-Bit-Digital-Code V1 [9:0]) umwandelt. In einigen Ausführungsformen ist der Originalwert (Vcfresh) von Vctrl in Digital-Code im Speicher 902 gespeichert. Dieser Originalwert ist der Wert von Vctrl für ein gegebenes Teilerverhältnis zu der Zeit als das Produkt/der DIE hergestellt und erstmals in Gebrauch genommen wurde. Der Originalwert V2, der Vcfresh entspricht, wird dann mit V1 (welcher Vcaged entspricht) verglichen, um zu bestimmen, wie die Alterung die Leistungsfähigkeit des PLL 613 und somit die FUSA beeinflusst hat. Um zu ermöglichen, eine Verschiebung in der Steuerungsspannung, Vctrl, für die gleiche Zielfrequenz Ftgt zu bestimmen, in einigen Ausführungsformen das Teilerverhältnis verwendet, wenn Vcfresh erzeugt wird, und mit einem Zielfrequenz-Teilerverhältnis verglichen, bevor die Ausgabe des Komparators 902 der FUSA-Steuerung bereitgestellt wird. Beispielsweise wird die Ausgabe des Komparators 902 mit der Ausgabe des XNOR-Gate 905 einer UND-Operation unterzogen, bevor die FUSA-Steuerung über die Verschlechterung von Vcntl mit der Zeit informiert wird.
-
10A zeigt ein Schaltungssystem 1000 zum Vergleichen eines Referenztakts mit einem Rückkopplungstakt und zum Erzeugen von Indikatoren der Phasenregelung gemäß einigen Ausführungsformen. In einigen Ausführungsformen umfasst das Schaltungssystem 1000 das XOR-Gate 1001, gefolgt von Kette von Verzögerungspuffern 1002, Multiplexern 1003 und 1004 und UND-Gates 1005 und 1006, die miteinander gekoppelt sind, wie dargestellt. Die Eingaben in das XOR-Gate 1001 sind ein Referenztakt (clkref) und ein Rückkopplungstakt (clkfb). Diese Takte werden verglichen und die Ausgabe des Vergleichs (z.B. XOR-Gate 1001) wird in die Impulse RawUnlock und FusaUnlock umgewandelt. Hier stellen RawUnlock und FusaUnlock frühe Anzeigen einer Trennung in Phasen von clkref und clkfb bereit. In einigen Ausführungsformen wird der Multiplexer 1003 verwendet, um den Schwellenwert zum Anzeigen, wenn die Phasen von clkfb und clkref ausreichend getrennt sind, um eine RawUnlock-Anzeige auszurufen, zu modifizieren. Dieser Schwellenwert kann durch RawThresh modifiziert werden. In einigen Ausführungsformen wird der Multiplexer 1004 verwendet, um den Schwellenwert zum Anzeigen, wenn die Phasen von clkfb und clkref ausreichend getrennt sind, um eine FusaUnlock-Anzeige auszurufen, zu modifizieren. Dieser Schwellenwert kann durch FusaThresh modifiziert werden.
-
10B zeigt eine Logik 1020 zum Bestimmen einer Phasenfehlerverschlechterung für FUSA-Zwecke gemäß einigen Ausführungsformen. Da Vorrichtungen einer Taktgeberquelle (z.B. eines PLL) altern, werden die Vorrichtungen langsamer und die Taktgeberquellen können die Phasen- oder die Frequenzverriegelung früher verlieren, als wenn die Vorrichtungen neu hergestellt wären. In einigen Ausführungsformen wird die Logik 1020 bereitgestellt, um die Verriegelungsverschlechterung zu überwachen und davor zu warnen, indem sie einen frühen Verriegelungsfehler der Phasen- oder Frequenzverriegelung der Taktgeberquelle anzeigt. Diese frühe Anzeige (z.B. FUSA Lock) wird einer FUSA-Steuerung bereitgestellt, welche das Verriegelungsfenster des Verriegelungsdetektors modifizieren kann, der zu den Taktgeberquellen gehört, so dass die Taktgeberquellen keine Entriegelung ihres Systems erklären. Die FUSA-Steuerung kann ferner anfordern, dass ein Energie- oder Frequenzverwaltungssystem Taktfrequenzanforderungen verringert, so dass Logiken mit einem Prozessor entspanntere Zeitfenster aufweisen können.
-
In einigen Ausführungsformen umfasst die Logik 1020 einen Abwärtszähler 1021, einen Verriegelungsdetektor 1022 und einen FUSA-Verriegelungsdetektor 1023. Hier sind der Verriegelungsdetektor 1022 und der FUSA-Verriegelungsdetektor 1023 Duplikate des echten Verriegelungsdetektors einer Taktgeberquelle. Der Abwärtszähler 1021 zählt von einem maximalen Verriegelungsschwellenwert (auch bezeichnet als anfänglicher (Init) Verriegelungsschwellenwert (Init_LockThresh)) herab, bis Lock zurückgenommen wird (z.B. es gibt keine Verriegelung). In einigen Ausführungsformen arbeitet der Abwärtszähler 1021 auch an OSC_clk (z.B. ist der Zählertakt CntrClk der gleiche wie OSC Clk oder dessen durch teilen verkleinerte Version). Wenn Lock zurückgenommen wird, wird ein echter PLL-Phasenfehler zur Zeit Null bestimmt. Hier ist der Verriegelungsdetektor 1021 ein beliebiges Verriegelungsdetektor-Schaltungssystem, welches die Up- und Down-Impulse überwacht, die von einem Phasenfrequenzdetektor erzeugt werden (welcher den Referenztakt RefClk und den Rückkopplungstakt FbClk vergleicht). Solange die Differenz der Up- und Down-Impulse für eine vorgegebene Zeit innerhalb eines PLL_LockThrshold (eines Verriegelungsschwellenwerts) liegt, wird das Lock-Signal angegeben. Wenn die Differenz zwischen Up- and Down-Impulsen größer als der PLL_LockThreshold wird, wird das Lock-Signal zurückgenommen, wodurch ein Verlust der Verriegelung der Taktgeberquelle angezeigt wird.
-
Wenn der Abwärtszähler 1021 herunterzählt und den PLL_Lock-Schwellenwert verringert, wird das Fenster des Verriegelungsdetektors 1022 zum Bestätigen der Verriegelung verengt bis der Verriegelungsdetektor einen Verriegelungsverlust erklärt. Wenn Lock zurückgenommen wird (z.B. wenn das Lock-Signal einen Verriegelungsverlust anzeigt), wird ein Referenz-PLL-Phasenfehler oder ein echter PLL-Phasenfehler zur Zeit Null bestimmt. In einigen Ausführungsformen wird der Wert des PLL-Lock-Schwellenwerts, der dazu führt, dass Lock zurückgenommen wird, für ein spezielles Verfahren, eine spezielle Spannung, eine spezielle Temperaturbedingung in einem nicht-flüchtigen Speicher aufgezeichnet. Nun, da der Referenz-PLL_Lock-Schwellenwert bestimmt ist, wird zu dem echten PLL_Lock-Schwellenwert ein Alterungsschutzband (Guard Band, GB) hinzugefügt, um alterungsinduzierte Verschlechterungen zu berücksichtigen. Somit wird ein modifizierter Verriegelungsschwellenwert FUSA_LockThresh berechnet, welcher einen frühen Verriegelungsfehler durch ein FUSA_Lock-Signal einer FUSA-Steuerung bereitstellt. Die FUSA-Steuerung kann dann geeignete Schritte unternehmen, um die Phasenfehlerverschlechterung (z.B. Phasenfehler zwischen Clkref und Clkfb) abzumildern. Beispiele für geeignete Schritte umfassen die Verringerung der Versorgungsspannung, die Verringerung der Betriebsfrequenz durch Ändern des Teilerverhältnisses des Phasenregelkreises usw.
-
11 zeigt einen Einschaltdetektor (POD) 1100, der für 1 verwendet wird, gemäß einigen Ausführungsformen. In einigen Ausführungsformen umfasst der POD 1100 eine Bandlücken-Referenzschaltung, welche die Widerstände R1, R2, R3, R4 und R5, die Dioden 1101 und 1102, den Schmitt-Trigger-Puffer 1104 und das Digitalfilter 1105 umfasst, die miteinander gekoppelt sind, wie dargestellt. Hier ist VCCIN die Eingabeversorgungsspannung, welche überwacht wird, um zu sehen, ob sie hoch genug ist, um „gut“ zu verwenden zu sein. Der Indikator PowerUp zeigt, wenn er angegeben ist, an, dass VCCIN hoch genug ist, um von anderen Logiken und Schaltungen verwendet zu werden. Beispielsweise wird PowerUp verwendet, um eine Testoperation für die funktionelle Sicherheit oder die Sicherheit zu aktivieren oder zu deaktivieren.
-
Die Diode 1102 ist N-mal größer als die Diode 1101 und daher ist die Stromstärke durch R2 N-mal größer (minus die Stromstärke R5) als die Stromstärke durch R1. Die Spannungen V1 und V2, die zu den zwei Widerständen R1 und R2 gehören, werden von dem Komparator 1103 verglichen. Die Ausgabe des Komparators 1103 wird in ein Signal umgewandelt, welches auf VCCIN/2 (z.B. die Hälfte von VCCIN) wirkt, und wird dem Schmitt-Trigger 1104 bereitgestellt. Wenn die Energieversorgung VCCIN einen Schwellenwert überschreitet, toggelt die Ausgabe des Schmitt-Triggers 1104, wodurch eine mögliche gute Spannung angezeigt wird. Die Ausgabe des Schmitt-Triggers 1104 wird durch das Digital-Filter 1105 gefiltert, um richtige eine PowerUp-Anzeige sicherzustellen. Der PowerUp-Indikator wird dann der FUSA-Steuerung verwendet, um zu ermöglichen, dass andere FUSA-Schaltungssysteme verschiedene Eigenschaften überwachen (z.B. Taktfrequenz, Spannungen, Tastverhältnis, Phasenfehler usw.).
-
Die verschiedenen Takt- und Spannungsüberwachungseinheiten verschiedener Ausführungsformen sind Grundbestandteile von Hardware-Sicherheits- und Sicherheitsprodukten. Die verschiedenen Sicherheitsüberwachungseinheiten stellen autonome Antworten in Echtzeit oder nahezu in Echtzeit bereit. Die FUSA-Überwachungseinheiten verfolgen die Veränderungen der Takte und der Spannungen mit der Zeit.
-
12 zeigt eine intelligente Vorrichtung oder ein Computersystem oder ein SoC (System-on-Chip) mit einer Vorrichtung zum Verbessern der FUSA gemäß einigen Ausführungsformen der Offenbarung. 12 zeigt ein Blockschaubild einer Ausführungsform einer mobilen Vorrichtung, bei welcher Schnittstellenverbinder mit flacher Oberfläche verwendet werden könnten. In einigen Ausführungsformen repräsentiert die Computervorrichtung 1600 eine mobile Computervorrichtung, z.B. einen Tablet-Computer, ein Mobiltelefon oder Smartphone, einen drahtlosen E-Reader oder eine andere drahtlose mobile Vorrichtung. Es versteht sich, dass bestimmte Komponenten allgemein dargestellt sind und dass in der Computervorrichtung 1600 nicht alle Komponenten einer solchen Vorrichtung dargestellt sind.
-
In einigen Ausführungsformen umfasst die Computervorrichtung 1600 einen ersten Prozessor 1610 mit einer Vorrichtung zur Verbesserung der FUSA gemäß einigen beschriebenen Ausführungsformen. Andere Blöcke der Computervorrichtung 1600 können ebenfalls eine Vorrichtung zur Verbesserung der FUSA gemäß einigen beschriebenen Ausführungsformen aufweisen. Die verschiedenen Ausführungsformen der vorliegenden Offenbarung können auch eine Netzwerk-Schnittstelle innerhalb von 1670 umfassen, z.B. eine drahtlose Schnittstelle, so dass eine Systemausführungsform in eine drahtlose Vorrichtung integriert werden kann, beispielsweise in ein Mobiltelefon oder einen Personal Digital Assistant.
-
In einigen Ausführungsformen kann der Prozessor 1610 (und/oder der Prozessor 1690) eine oder mehrere physische Vorrichtungen umfassen, z.B. Mikroprozessoren, Anwendungsprozessoren, Mikrocontroller, programmierbare Logikvorrichtungen oder andere Verarbeitungsmittel. Die von dem Prozessor 1610 durchgeführten Verarbeitungsoperationen umfassen die Ausführung einer Betriebsplattform oder eines Betriebssystems, auf welchem Anwendungen und/oder Vorrichtungsfunktionen ausgeführt werden. Die Verarbeitungsoperationen umfassen Operationen, die auf I/O (Eingabe/Ausgabe) mit einer Benutzerperson oder mit anderen Vorrichtungen bezogen sind, Operationen, die auf die Energieverwaltung bezogen sind, und/oder Operationen, die auf das Verbinden der Computervorrichtung 1600 mit einer anderen Vorrichtung bezogen sind. Die Verarbeitungsoperationen können außerdem Operationen umfassen, welche auf Audio-I/O und/oder Anzeige-I/O bezogen sind.
-
In einigen Ausführungsformen umfasst die Computervorrichtung 1600 ein Audio-Untersystem 1620, welches Hardware- (z.B. Audio-Hardware und Audio-Schaltungen) und Software-Komponenten (z.B. Treiber, Codecs) umfasst, die mit dem Bereitstellen von Audiofunktionen für die Computervorrichtung verbunden sind. Audiofunktionen können Lautsprecher- und/oder Kopfhörer-Ausgänge sowie Mikrofoneingänge umfassen. Vorrichtungen für solche Funktionen können in die Computervorrichtung 1600 integriert oder mit der Computervorrichtung 1600 verbunden sein. In einer Ausführungsform interagiert ein Benutzer mit der Computervorrichtung 1600 durch Bereitstellen von Audiobefehlen, welche von dem Prozessor 1610 empfangen und verarbeitet werden.
-
In einigen Ausführungsformen umfasst die Computervorrichtung 1600 ein Anzeige-Untersystem 1630. Das Anzeige-Untersystem 1630 repräsentiert Hardware- (z.B. Anzeigevorrichtungen) und Software-Komponenten (z.B. Treiber), welche eine visuelle und/oder taktile Anzeige für einen Benutzer zum Interagieren mit der Computervorrichtung 1600 bereitstellen. Das Anzeige-Untersystem 1630 umfasst eine Anzeigeschnittstelle 1632, welche den speziellen Bildschirm oder die spezielle Hardware-Vorrichtung umfasst, die verwendet wird, um dem Benutzer eine Anzeige bereitzustellen. In einer Ausführungsform umfasst die Anzeigeschnittstelle 1632 Logik, die von dem Prozessor 1610 getrennt ist, um zumindest eine gewisse Verarbeitung durchzuführen, die auf die Anzeige bezogen ist. In einer Ausführungsform umfasst das Anzeige-Untersystem 1630 eine Touchscreen-Vorrichtung (oder Touchpad-Vorrichtung), welche einem Benutzer sowohl Eingabemöglichkeiten als auch Ausgaben bereitstellt.
-
In einigen Ausführungsformen umfasst die Computervorrichtung 1600 eine I/O-Steuerung 1640. Die I/O-Steuerung 1640 repräsentiert Hardware-Vorrichtungen und Software-Komponenten, welche auf eine Interaktion mit einem Benutzer bezogen sind. Die I/O-Steuerung 1640 ist so zu betreiben, dass sie eine Hardware verwaltet, welche Teil des Audio-Untersystems 1620 und/oder des Anzeige-Untersystems 1630 sind. Außerdem veranschaulicht die I/O-Steuerung 1640 einen Verbindungspunkt für zusätzliche mit der Computervorrichtung 1600 verbundene Vorrichtungen, durch welche ein Benutzer mit dem System interagieren könnte. Beispielsweise könnten Vorrichtungen, die mit der Computervorrichtung 1600 verbunden werden können, Mikrofonvorrichtungen, Lautsprecher oder Stereosysteme, Videosysteme oder andere Anzeigevorrichtungen, Tastatur- oder Tastenfeldvorrichtung-Vorrichtungen oder andere I/O-Vorrichtungen zur Verwendung mit speziellen Anwendungen umfassen, wie z.B. Kartenlesegeräte oder andere Vorrichtungen.
-
Wie oben erwähnt, kann die I/O-Steuerung 1640 mit dem Audio-Untersystem 1620 und/oder dem Anzeige-Untersystem 1630 interagieren. Beispielsweise können durch eine Eingabe durch ein Mikrofon oder eine andere Audiovorrichtung eine Eingabe oder Befehle für einen oder mehrere Anwendungen oder Funktionen der Computervorrichtung 1600 bereitgestellt werden. Außerdem kann statt oder zusätzlich zu einer Anzeigeausgabe eine Audioausgabe bereitgestellt werden. In einem anderen Beispiel fungiert, wenn das Anzeige-Untersystem 1630 einen Touchscreen umfasst, die Anzeigevorrichtung auch als eine Eingabevorrichtung, welche zumindest teilweise durch die I/O-Steuerung 1640 verwaltet werden kann. Es kann auch zusätzliche Schaltflächen oder Schalter auf der Computervorrichtung 1600 geben, um I/O-Funktionen bereitzustellen, die von der I/O-Steuerung 1640 verwaltet werden.
-
In einigen Ausführungsformen verwaltet die I/O-Steuerung 1640 Vorrichtungen, wie z.B. Beschleunigungsmessvorrichtungen, Kameras, Lichtsensoren oder andere Umgebungssensoren oder andere Hardware, die in der Computervorrichtung 1600 enthalten sein kann. Die Eingabe kann Teil einer direkten Benutzerinteraktion sein sowie für Eingaben von Umgebungswerten in das System sorgen, um dessen Operation zu beeinflussen (wie z.B. Rauschfilterung, Einstellen von Anzeigen für die Helligkeitserfassung, Anwenden eines Blitzes für eine Kamera oder andere Merkmale).
-
In einigen Ausführungsformen umfasst die Computervorrichtung 1600 eine Energieverwaltung 1650, welche den Batteriestromverbrauch, das Laden der Batterie und Merkmale verwaltet, die auf einen Stromsparbetrieb bezogen sind. Das Speicher-Untersystem 1660 umfasst Speichervorrichtungen zum Speichern von Informationen in der Computervorrichtung 1600. Speicher kann nicht-flüchtige (der Zustand ändert sich nicht, wenn die Energiezufuhr zu der Speichervorrichtung unterbrochen wird) und/oder flüchtige (der Zustand ist unklar, wenn die Energiezufuhr zu der Speichervorrichtung unterbrochen wird) Speichervorrichtungen umfassen. Das Speicher-Untersystem 1660 kann Anwendungsdaten, Benutzerdaten, Musik, Fotos, Dokumente oder andere Daten speichern, ebenso wie Systemdaten (permanente oder temporäre), die auf die Ausführung der Anwendungen und Funktionen der Computervorrichtung 1600 bezogen sind.
-
Elemente der Ausführungsformen werden auch als ein maschinenlesbares Medium (z.B. Speicher 1660) zum Speichern der computerausführbaren Befehle (z.B. Befehle zum Realisieren beliebiger anderer hierin beschriebener Verfahren) bereitgestellt. Das maschinenlesbare Medium (z.B. der Speicher 1660) kann, ohne darauf beschränkt zu sein, Flash-Speicher, optische Platten, CD-ROMs, DVD-ROMs, RAMs, EPROMs, EEPROMs, magnetische oder optische Karten, Phasenwechselspeicher (Phase Change Memory, PCM) oder andere Arten von maschinenlesbaren Medien umfassen, die zum Speichern elektronischer oder computerausführbarer Befehle geeignet sind. Beispielsweise können Ausführungsformen der Offenbarung als ein Computerprogramm (z.B. BIOS) heruntergeladen werden, welches mittels Datensignalen über eine Kommunikationsverbindung (z.B. einen Modem oder eine Netzwerkverbindung) von einem entfernten Computer (z.B. einem Server) auf einen anfordernden Computer (z.B. einen Client) übertragen werden kann.
-
In einigen Ausführungsformen umfasst die Computervorrichtung 1600 Verbindungsmöglichkeiten 1670. Die Verbindungsmöglichkeiten 1670 umfassen Hardware-Vorrichtungen (z.B. drahtlose und/oder drahtgebundene Verbinder und Kommunikations-Hardware) und Software-Komponenten (z.B. Treiber, Protokollstapel), um der Computervorrichtung 1600 zu ermöglichen, mit externen Vorrichtungen zu kommunizieren. Bei der Computervorrichtung 1600 könnte es sich um separate Vorrichtungen handeln, wie z.B. andere Computervorrichtungen, drahtlose Zugangspunkte oder Basisstationen, ebenso wie Peripheriegeräte, z.B. Headsets, Drucker oder andere Vorrichtungen.
-
Die Verbindungsmöglichkeiten 1670 können mehrere verschiedene Typen von Verbindungsmöglichkeiten umfassen. Zur Verallgemeinerung ist die Computervorrichtung 1600 mit zellulären Verbindungsmöglichkeiten 1672 und drahtlosen Verbindungsmöglichkeiten 1674 veranschaulicht. Die zellulären Verbindungsmöglichkeiten 1672 beziehen sich im Allgemeinen auf zelluläre Netzwerk-Verbindungsmöglichkeiten, die von drahtlosen Trägern bereitgestellt werden, z.B. über GSM (Global System for Mobile Communications) oder Variationen oder Ableitungen, CDMA (Code Division Multiple Access) oder Variationen oder Ableitungen, TDM (Time Division Multiplexing) oder Variationen oder Ableitungen oder andere zelluläre Dienststandards. Die drahtlosen Verbindungsmöglichkeiten (oder die drahtlose Schnittstelle) 1674 beziehen sich auf drahtlose Verbindungsmöglichkeiten, die nicht zellulär sind, und können Personal-Area-Netzwerke (z.B. Bluetooth, Near Field usw.), lokale Netzwerke (z.B. Wi-Fi) und/oder Fernbereichs-Netzwerke (z.B. WiMax) oder eine andere drahtlose Kommunikation umfassen.
-
In einigen Ausführungsformen umfasst die Computervorrichtung 1600 periphere Verbindungen 1680. Die peripheren Verbindungen 1680 umfassen Hardware-Schnittstellen und Verbinder, ebenso wie Software-Komponenten (z.B. Treiber, Protokollstapel), zur Herstellung peripherer Verbindungen. Es versteht sich, dass die Computervorrichtung 1600 sowohl eine Peripherievorrichtung zu anderen Computervorrichtungen sein könnte („zu“ 1682), als auch Peripherievorrichtungen aufweisen könnte, die mit ihr verbunden sind („von“ 1684). Die Computervorrichtung 1600 weist gewöhnlich einen „Docking“-Verbinder zum Verbinden mit anderen Computervorrichtungen auf, für Zwecke wie Verwalten (z.B. Herunterladen und/oder Hochladen, Ändern, Synchronisieren) von Inhalt auf der Computervorrichtung 1600. Außerdem kann ein Docking-Verbinder der Computervorrichtung 1600 ermöglichen mit bestimmten Peripheriegeräten verbunden zu werden, welche der Computervorrichtung 1600 ermöglichen, Inhaltsausgaben zu steuern, z.B. an audiovisuelle oder andere Systeme.
-
Zusätzlich zu einem eigenentwickelten Docking-Verbinder oder einer anderen eigenentwickelten Verbindungs-Hardware kann die Computervorrichtung 1600 Peripherieverbindungen 1680 über gewöhnliche oder Standard-Verbinder herstellen. Gewöhnlich Typen können einen Universal-Serial-Bus(USB)-Verbinder (welcher beliebige aus einer Anzahl verschiedener Hardware-Schnittstellen umfassen kann), DisplayPort einschließlich MiniDisplayPort (MDP), High Definition Multimedia Interface (HDMI), Firewire oder andere Typen umfassen.
-
Eine Bezugnahme in der Beschreibung auf „eine Ausführungsform“, „einige Ausführungsformen“ oder „andere Ausführungsformen“ bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, die in Verbindung mit den Ausführungsformen beschrieben wird, in zumindest einigen Ausführungsformen enthalten ist, aber nicht notwendigerweise in allen Ausführungsformen. Wenn „eine Ausführungsform“ oder „einige Ausführungsformen“ an verschiedenen Stellen auftreten, bezieht sich dies nicht notwendigerweise auf dieselben Ausführungsformen. Wenn in der Beschreibung angegeben wird, dass eine Komponente, ein Merkmal, eine Struktur oder eine Eigenschaft enthalten sein „kann“ oder „könnte“, ist es nicht erforderlich, dass diese bestimmte Komponente, dieses bestimmte Merkmal, diese bestimmte Struktur oder diese bestimmte Eigenschaft enthalten ist. Wenn in der Beschreibung und in den Ansprüchen auf „ein“ Element Bezug genommen wird, bedeutet dies nicht, dass es nur eines der Elemente gibt. Wenn in der Beschreibung oder den Ansprüchen auf „ein zusätzliches“ Element Bezug genommen wird, schließt dies nicht aus, dass es mehr als eines des zusätzlichen Elements gibt.
-
Ferner können die bestimmten Merkmale, Strukturen, Funktionen oder Eigenschaften in einer oder mehreren Ausführungsformen in einer beliebigen geeigneten Weise kombiniert werden. Beispielsweise kann eine erste Ausführungsform mit einer zweiten Ausführungsform kombiniert werden, überall wo die bestimmten Merkmale, Strukturen, Funktionen oder Eigenschaften, die zu den zwei Ausführungsformen gehören, sich nicht gegenseitig ausschließen.
-
Obwohl die Offenbarung in Verbindung mit speziellen Ausführungsformen davon beschrieben worden ist, werden dem Fachmann im Lichte der vorstehenden Beschreibung viele Alternativen, Modifikationen und Variationen solcher Ausführungsformen ersichtlich. Die Ausführungsformen der Offenbarung sollen all solche Alternativen, Modifikationen und Variationen umfassen, so dass sie innerhalb des breit angelegten Umfangs der anhängenden Ansprüche liegen.
-
Außerdem können innerhalb der Figuren zur Vereinfachung der Darstellung und der Beschreibung wohlbekannte Energieversorgungs-/Masseverbindungen zu IC-Chips und anderen Komponenten dargestellt worden sein oder nicht, um die Offenbarung nicht unklar zu machen. Ferner können Anordnungen in Blockdiagrammform dargestellt sein, um zu vermeiden, dass die Offenbarung unklar wird, und auch im Hinblick auf die Tatsache, dass Eigenschaften in Bezug auf die Realisierung solcher Blockdiagrammanordnung stark von der Plattform abhängen, innerhalb welcher die vorliegende Offenbarung zu realisieren ist (d.h. solche Eigenschaften sollten durchaus innerhalb des Zuständigkeitsbereichs des Fachmanns liegen). Wo spezielle Einzelheiten (z.B. Schaltungen) ausgeführt werden, um beispielshafte Ausführungsformen der Offenbarung zu beschreiben, sollte es dem Fachmann ersichtlich sein, dass die Offenbarung ohne diese oder mit Variationen dieser speziellen Einzelheiten ausgeübt werden kann. Die Beschreibung ist somit nicht als beschränkend, sondern als veranschaulichend anzusehen.
-
Es wird eine Zusammenfassung bereitgestellt, welche dem Leser ermöglicht, die Natur und den Kern der technischen Offenbarung festzustellen. Die Zusammenfassung mit dem Verständnis gegeben, dass sie nicht verwendet wird, um den Umfang oder die Bedeutung der Ansprüche zu beschränken. Die folgenden Ansprüche werden hiermit in die detaillierte Beschreibung einbezogen, wobei jeder Anspruch selbständig für eine separate Ausführungsform steht.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-