-
ALLGEMEINER STAND DER
TECHNIK
-
1. Gebiet
-
Ausführungsformen
der vorliegenden Erfindung betreffen die Hot-Plug-Technologie und
insbesondere PCI/PCI-X-Standard-Hot-Plug-Controller (SHCPs; PCI
= peripheral component interconnect, Verbindung zwischen peripheren
Komponenten).
-
2. Diskussion
des Standes der Technik
-
Ein
PCI/PCI-X-Bus (PCI = peripheral component interconnect, Verbindung
zwischen peripheren Komponenten) ist ein Bus in einem Computersystem, der
einen Mikroprozessor und periphere Geräte, wie Tastaturen, Festplattenlaufwerke,
Grafikkarten usw., miteinander verbindet. Ein PCI/PCI-X-Bus weist Steckplätze auf,
in die die Adapterkarten für
die peripheren Geräte
eingesteckt oder von denen sie abgezogen werden können. Die
Hot-Plug-Technologie ermöglicht
einem Anwender, eine oder mehrere PCI-Adapterkarten physikalisch
abzuziehen oder einzustecken, ohne die Stromversorgung des gesamten
Systems abschalten oder die Systemsoftware neu starten zu müssen. Es
sind nur die individuellen PCI/PCI-X-Steckplätze betroffen und die anderen
Geräte
im System werden nicht getrennt.
-
Es
wurden von verschiedenen Anbietern Hot-Plug-Controller entwickelt,
die mit der PCI Hot-Plug
Specification, Version 1.0, 6. Oktober 1997, PCI Special Interest
Group, Portland, Oregon, USA, kompatibel sind. Es wurde vorgeschlagen,
standardisierte Hot-Plug-Controller zu entwickeln, so daß anbieterspezifische
Hot-Plug-Controller über
viele Plattformen hinweg kompatibel sein könnten. Die PCI Standard Hot-Plug
Controller and Subsystem Specification, Version 1.0, 20. Juni 2001,
PCI Special Interest Group, Portland, Oregon, USA, (hierin im Folgenden „SHCP-Spezifikation") wurde erstellt,
um sich dieser Herausforderung zu stellen.
-
Die
SHCP-Spezifikation sieht vor, daß jeder Steckplatz für eine Adapterkarte
Anzeigeelemente aufweist, wie Leuchtdioden (LEDs). Zum Beispiel sieht
die SHCP-Spezifikation vor, daß zwei
LEDs pro Steckplatz vorhanden sind, ein Leistungsanzeigeelement
(PLED) und ein Aufmerksamkeitsanzeigeelement (ALED). Laut der SHCP-Spezifikation
befindet sich jedes Anzeigeelement in einem von drei Zuständen: Ein,
Aus oder Blinkend.
-
Wenn
die PLED aus ist, zeigt sie an, daß die Hauptstromversorgung
des zugehörigen
Steckplatzes abgeschaltet ist und daß eine Adapterkarte gefahrlos
in den Steckplatz eingesteckt oder von diesem abgezogen werden kann.
Wenn die PLED an ist, zeigt sie an, daß die Hauptstromversorgung
des Steckplatzes eingeschaltet ist und daß eine Adapterkarte nicht gefahrlos
in den Steckplatz eingesteckt oder von diesem abgezogen werden kann.
Wenn die PLED blinkt, zeigt sie an, daß der Steckplatz hoch- oder
heruntergefahren wird und eine Adapterkarte nicht gefahrlos in den
Steckplatz eingesteckt oder von diesem abgezogen werden kann.
-
Wenn
die ALED an ist, zeigt sie an, daß am Steckplatz oder der Adapterkarte
ein Betriebsproblem vorliegt. Wenn die ALED aus ist, zeigt sie an,
daß der
Steckplatz und die Adapterkarte normal arbeiten. Wenn die ALED blinkt,
zeigt sie an, daß die
Systemsoftware den Steckplatz identifiziert, damit ein menschlicher
Bediener ihn finden kann. Die SHCP-Spezifikation bedingt, daß, wenn
die PLED oder die ALED blinkt, sie mit einer fünfzigprozentigen Einschaltdauer
(± 5
%) blinkt, wie 250 Nanosekunden (ns) Ein und 250 ns Aus, mit einer
vorgeschriebenen Frequenz.
-
Dieses
Anzeigeelementschema weist jedoch insofern Einschränkungen
auf, daß es
nicht sehr viele Informationen darüber mitteilt, was der Standard-Hot-Plug-Controller
(SHPC) tut. Das Anzeigeelementschema zeigt nur, ob ein Steckplatz
aktiv (die Adapterkarte in dem Steckplatz angetrieben wird) oder
inaktiv (die Adapterkarte in dem Steckplatz nicht angetrieben wird)
ist oder sich im Prozeß des
Wechselns des Zustands zwischen aktiv und inaktiv oder umgekehrt
befindet.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
In
den Zeichnungen zeigen gleiche Bezugsziffern im Allgemeinen identische,
funktionell ähnliche
und/oder strukturell gleichwertige Elemente an. Die Zeichnung, in
der ein Element zum ersten Mal erscheint, ist durch die Ziffer bzw.
Ziffern ganz links in der Bezugsziffer angezeigt, in denen:
-
1 ein
detailliertes Blockdiagramm eines Computersystems gemäß einer
Ausführungsform der
vorliegenden Erfindung ist;
-
2 ein
detailliertes Blockdiagramm des in 1 dargestellten
Standard-Hot-Plug-Controllers gemäß einer
Ausführungsform
der vorliegenden Erfindung ist;
-
3 ein
Ablaufdiagramm ist, das einen Prozeß zum Betreiben des in 1 dargestellten Standard-Hot-Plug-Controllers
gemäß einer
Ausführungsform
der vorliegenden Erfindung darstellt;
-
4 bis 15 Blinkmuster
gemäß einer Ausführungsform
der vorliegenden Erfindung darstellen und
-
16 ein
Zeitdiagramm ist, das ein nicht fünfzigprozentiges Blinkmuster
für eine
Leuchtdiode bzw. Leuchtdioden an einem PCI/PCI-X-Steckplatz bzw.
PCI/PCI-X-Steckplätzen
gemäß einer
Ausführungsform
der vorliegenden Erfindung darstellt.
-
AUSFÜHRLICHE
BESCHREIBUNG DER DARGESTELLTEN AUSFÜHRUNGSFORMEN
-
1 ist
ein detailliertes Blockdiagramm eines Computersystems 100 gemäß einer
Ausführungsform
der vorliegenden Erfindung. Das System 100 unterstützt in der
Regel ein Hochleistungstischcomputer, ein Arbeitsplatzrechner, einen
Server usw. In einer Ausführungsform
ist das System 100 eine UNIX-Plattform. In anderen Ausführungsformen
kann das System 100 eine Windows®- oder
Windows® NT-Plattform
sein. Fachmänner
werden zu schätzen wissen,
daß eine
Vielfalt an Plattformen beim Implementieren von Ausführungsformen
der vorliegenden Erfindung eingesetzt werden kann.
-
Das
System 100 in der dargestellten Ausführungsform enthält einen
Mikroprozessor 102, der an einen Speichercontroller 104 gekoppelt
ist. Der Speichercontroller 104 ist an eine Brücke 106 und
an einen Speicher 107 gekoppelt. Die Brücke 106 kann an den
Speicher-Controller 104 gekoppelt sein. Die Brücke 106 ist
außerdem über einen
PCI/PCI-X-Bus (PCI = peripheral component interconnect, Verbindung
zwischen peripheren Komponenten) an einen oder mehrere PCI/PCI-X-Steckplätze gekoppelt,
die durch die Steckplätze 108, 110, 112, 114, 116 und 118 dargestellt
sind.
-
Der
Mikroprozessor 102 kann ein beliebiger geeigneter Mikroprozessor
sein, der herkömmliche Funktionen
des Ausführens
von Programmieranweisungen durchführt, einschließlich des
Implementierens vieler Ausführungsformen
der vorliegenden Erfindung. Der Mikroprozessor 102 kann
ein Prozessor der Pentium®-Prozessorfamilie sein,
die von der Intel Corporation in Santa Clara, Kalifornien, USA,
erhältlich
ist, kann jedoch ein beliebiger Prozessor sein, der Befehle in den
SHPC 128 oder 130 laden kann. In einer Ausführungsform
enthält
der Mikroprozessor 102 Software 122, die der Mikroprozessor
zum Laden von Befehlen in den SHPC 128 oder 130 nutzt.
-
Natürlich können andere
Softwaretreiber, die vom Mikroprozessor unabhängig sind, dazu verwendet werden,
Befehle zu der Brücke 106 zu
steuern. Nach Lektüre
der Beschreibung hierin wird ein Durchschnittsfachmann problemlos
ausmachen, wie Ausführungsformen
der vorliegenden Erfindung unter Verwendung anderer Softwaretreiber
zu implementieren sind.
-
Der
dargestellte Speicher 107 kann ein beliebiger Speicher
sein, der seine herkömmlichen
Funktionen des Speicherns von Daten (Bildelemente, Bildrahmen, Audio,
Video usw.) und Software (Steuerlogik, Anweisungen, Code, Computerprogramme usw.)
zum Zugriff durch andere Komponenten des Systems 100 durchführt. Im
Allgemeinen enthält
der Speicher 107 mehrere Datenzeilen, die mehreren adressierbaren
Speicherstellen entsprechen. Der Speicher 107 kann ein
beliebiger bekannter dynamischer Direktzugriffsspeicher (dynamic
random access memory, DRAM), statischer RAM (SRAM), Flash-Speicher
usw. sein. Die Speichertechnologie ist wohl bekannt.
-
Der
Speichercontroller 104 kann ein beliebiger geeigneter Speichercontroller
sein, der herkömmliche
Funktionen des Steuerns und Überwachens
des Status der Datenzeilen des Speichers 107, der Fehlerprüfung usw.
durchführt.
Der Speichercontroller 104 kann auch eine primäre Schnittstelle
zu dem Mikroprozessor 102 und der Brücke 110 sein. Die
Speichercontrollertechnologie ist wohl bekannt.
-
Die
Brücke 106 koppelt
das Prozessor/Speicher-Untersystem (d. h. den Mikroprozessor 102, den
Speichercontroller 104 und den Speicher 107) an die
Hierarchie des PCI/PCI-X-Busses 120. Die Brücke 106 enthält eine
PCI-Express-Schnittstelle 123, die in der dargestellten
Ausführungsform
an zwei PCI-X-Schnittstellen 124 und 126 gekoppelt
ist. Die Brückentechnologie
ist wohl bekannt, die PCI-Express-Technologie ist wohl bekannt und
die PCI-X-Technologie ist wohl bekannt.
-
Obgleich
die Brücke 106 mit
an die zwei PCI-X-Schnittstellen 124 und 126 gekoppelter PCI-Express-Schnittstelle 123 gezeigt
ist, sind die Ausführungsformen
der vorliegenden Erfindung nicht derart beschränkt. Die Brücke 106 kann beispielsweise
eine beliebige Hostbrücke
sein, wie eine, die ein Prozessor/Speicher-Untersystem mit einem PCI/PCI-X-Bus
koppeln kann. Alternativ dazu kann die Brücke 106 eine beliebige PCI/PCI-X-zu-PCI/PCI-X-Brücke sein.
-
Jede
Schnittstelle 124 und 126 ist mit einem Standard-Hot-Plug-Controller
(SHPC) 128 bzw. 130 verknüpft. Jeder SHPC 128 und 130 ist
mit einem PCI/PCI-X-Bus verknüpft.
In der dargestellten Ausführungsform
ist der SHPC 128 mit dem PCI/PCI-X-Bus 120 verknüpft und
ein mit dem SHPC 130 verknüpfter PCI/PCI-X-Bus ist nicht
gezeigt. Nach Lektüre
der Beschreibung hierin wird ein Durchschnittsfachmann problemlos
ausmachen, wie der SHPC 130 für seinen verknüpften PCI/PCI-X-Bus zu
implementieren ist.
-
Jeder
der Steckplätze 108, 110, 112, 114, 116 und 118 ist
dafür konzipiert,
eine Adapterkarte zu aufzunehmen, die ein oder mehrere PCI/PCI-X-Geräte (z. B.
Drucker, Plattenlaufwerk, Tastatur, Maus usw.) beinhaltet. Der SHPC 128 steuert
das Hoch- und Herunterfahren der Steckplätze 108, 110, 112, 114, 116 und 118,
um zu ermöglichen,
daß Adapterkarten
in die Steckplätze 108, 110, 112, 114, 116 und 118 eingesteckt
oder von diesen abgezogen werden können, ohne das System 100 herunterzufahren oder
die Software 122 neu zu starten.
-
Jeder
SHPC ist mit Steckplatz-Steuerlogik (nicht gezeigt) verknüpft, bei
der es sich um eine elektronische Komponente bzw. elektronische
Komponenten handeln kann, die dafür verantwortlich ist bzw. sind,
dem SHCP 128 Signale bereitzustellen. Die Steckplatz-Steuerlogik
kann beispielsweise ein Signal bereitstellen, um den Energiezustand
eines oder mehrerer Ziel-PCI/PCI-X-Steckplätze zu steuern
(z. B. PWREN). Die Steckplatz-Steuerlogik kann ein Signal bereitstellen,
um die Verbindung des PCI/PCI-X-Taktgebers mit einem oder mehreren Ziel-PCI/PCI-X-Steckplätzen zu
steuern (z. B. CLKEN). Die Steckplatz-Steuerlogik kann ein Signal
bereitstellen, um die Verbindung verschiedener Bussignale mit einem
oder mehreren Ziel-PCI/PCI-X-Steckplätzen zu
steuern (z. B. BUSEN). Die Steckplatz-Steuerlogik kann ein Signal
bereitstellen, um einen oder mehrere Ziel-PCI/PCI-X-Steckplätze zurückzusetzen
(z. B. RST).
-
Die
SHCP-Spezifikation setzt voraus, daß zwei Leuchtdioden (LEDs)
vorliegen, die mit jedem Steckplatz 108, 110, 112, 114, 116 und 118 verknüpft sind
und sich in unmittelbarer Nähe
dieser befinden. In der dargestellten Ausführungsform beinhaltet der Steckplatz 108 eine
LED 132 und eine LED 134, der Steckplatz 110 beinhaltet
eine LED 136 und eine LED 138, der Steckplatz 112 beinhaltet
eine LED 140 und eine LED 142, der Steckplatz 114 beinhaltet
eine LED 144 und eine LED 146, der Steckplatz 116 beinhaltet
eine LED 148 und eine LED 150 und der Steckplatz 118 beinhaltet
eine LED 152 und eine LED 154.
-
Gemäß der SHPC-Spezifikation
können
die LEDs an oder aus sein oder mit einer fünfzigprozentigen Einschaltdauer
blinken und die SHPC-Spezifikation gibt ausdrücklich an, daß ein SHPC
den Zustand eines Anzeigeelements niemals als Reaktion auf ein Ereignis,
wie eine Stromstörung, ändern kann.
-
Gemäß Ausführungsformen
der vorliegenden Erfindung verfügen
die LEDs über
Blinkmuster, die eine Einschaltdauer oder eine Frequenz aufweisen,
bei der es sich nicht um die vorgeschriebene Einschaltdauer oder
die vorgeschriebene Frequenz handelt, um einem Bediener mehr Informationen
mitzuteilen, als wenn der Steckplatz aktiv oder inaktiv ist oder
sich im Prozeß des
Wechselns des Zustands zwischen aktiv und inaktiv oder umgekehrt
befindet. Die LEDs können
beispielsweise in einem Blinkmuster blinken, um einem Bediener mitzuteilen,
daß ein bestimmter
Befehl verarbeitet wird, ob der Befehl erfolgreich verarbeitet wurde,
ob dem Steckplatz Strom zugeführt
wurde, wenn der Befehl nicht erfolgreich verarbeitet wurde, wenn der
Befehl erfolgreich verarbeitet wurde, ob ein Fehler auftrat, von
dem sich die Brücke 106 wahrscheinlich
nicht erholen wird, und daß anschließendes fehlerhaftes
Verhalten nicht nur wahrscheinlich, sondern auch unberechenbar ist (oder
ein „harter
Fehler"), wenn der
Befehl erfolgreich verarbeitet wurde, ob ein Fehler auftrat, von
dem sich die Brücke 106 wahrscheinlich
erholen wird, die Brücke 106 jedoch
in einer Art und Weise eingesetzt wird, die beim normalen Betrieb
nicht erwartet wurde (oder ein „weicher Fehler"), und/oder ob den
Zielsteckplätzen
Strom zugeführt
wurde, wenn der Befehl nicht erfolgreich verarbeitet wurde.
-
2 ist
ein detailliertes Blockdiagramm des SHPC 128 gemäß einer
Ausführungsform
der vorliegenden Erfindung. Der SHCP 128 in der dargestellten
Ausführungsform
enthält
ein Befehlsregister 202. Das Befehlsregister 202 ist
an ein Register für
harte Fehler 204, ein Register für weiche Fehler 206 und einen
Controller der Blinkmuster der LED bzw. der LEDs des PCI/PCI-X-Steckplatzes
bzw. der PCI/PCI-X-Steckplätze 208 gekoppelt.
Das Register für
harte Fehler 204 und das Register für weiche Fehler 206 sind
außerdem
an den Blinkmuster-Controller 208 gekoppelt.
-
3 ist
ein Ablaufdiagramm, das einen Prozeß 300 zum Betreiben
des SHPC 128 gemäß einer
Ausführungsform
der vorliegenden Erfindung darstellt. Die Arbeitsgänge des
Prozesses 300 sind als mehrere separate Blöcke beschrieben,
die der Reihe nach in einer Art und Weise durchgeführt werden,
die beim Verstehen von Ausführungsformen
der Erfindung äußerst hilfreich
ist. Die Reihenfolge, in der sie beschrieben sind, sollte jedoch
nicht so aufgefaßt werden,
daß sie
voraussetzt, daß diese
Arbeitsgänge unbedingt
von der Reihenfolge abhängen
oder daß die
Arbeitsgänge
in der Reihenfolge durchzuführen sind,
in der die Blöcke
dargestellt sind.
-
Der
Prozeß 300 ist
natürlich
nur ein Beispielprozeß und
andere Prozesse können
zum Implementieren von Ausführungsformen
der vorliegenden Erfindung eingesetzt werden. Ein Medium, auf das
eine Maschine zugreifen kann, mit maschinenlesbaren Anweisungen
darauf kann dazu verwendet werden, zu bewirken, daß eine Maschine
(z. B. ein Prozessor) den Prozeß 300 durchführt.
-
In
einem Block 302 wird ein Befehl 210 in das Befehlsregister 202 geladen.
Obwohl es als ein einzelnes Register dargestellt ist, kann das Befehlsregister 202 ein
oder mehrere Register beinhalten, das bzw. die einen Befehl 210 speichert
bzw. speichern, der von der Software 122 erhalten wurde.
-
Ein
Befehl kann ein „LED-ON"-Befehl sein, der
den SHCP 128 anweist, eine LED für einen oder mehrere Zielsteckplätze dauerhaft
auf „Ein" zu schalten. Ein
anderer Befehl kann ein „LED-OFF"-Befehl sein, der
den SHCP 128 anweist, eine LED für einen oder mehrere Zielsteckplätze auf „AUS" zu schalten. Ein
anderer Befehl kann ein „LED-BLINK"-Befehl sein, der
den SHCP 128 anweist, die LED für einen oder mehrere Zielsteckplätze blinken
zu lassen.
-
Ein
anderer Befehl kann ein „PWRONLY"-Befehl sein, der
den SHCP 128 anweist, einen oder mehrere Zielsteckplätze hochzufahren,
ohne Takt- oder Bussignale mit dem Steckplatz zu verbinden. Ein
anderer Befehl kann ein „ENABLE"-Befehl sein, der
den SHCP 128 anweist, einen oder mehrere Zielsteckplätze hochzufahren
und die Takt- und Bussignale zu verbinden. Ein anderer Befehl kann
ein „DISABLE"-Befehl sein, der
den SHCP 128 anweist, Stromversorgung, Takt- und Bussignale
von einem oder mehreren Zielsteckplätzen zu trennen. Ein anderer
Befehl kann ein „CHANGE
PCI/PCI-X BUS SPEED"-Befehl
sein, der den SHCP 128 anweist, die Geschwindigkeit des
PCI/PCI-X-Busses 120 zu ändern.
-
In
einem Block 303 bestimmt der Prozeß 300, ob die Ausführung von
Blinkmustern, um einem Bediener mehr Informationen mitzuteilen,
als wenn der Steckplatz aktiv oder inaktiv ist oder sich im Prozeß des Wechselns
des Zustands zwischen aktiv und inaktiv oder umgekehrt befindet,
aktiviert ist. In einer Ausführungsform
der vorliegenden Erfindung wird ein Ein-Bit-Feld (ENABLE_FLASH_MODE-Bit)
im Debug-Raum des Blinkmuster-Controllers 208 bereitgestellt,
um anzuzeigen, daß die
LEDs die hierin beschriebenen Blinkmuster ausführen können. In dieser Ausführungsform
kann die Software 122 dieses Bit abfragen, um zu bestimmen,
ob es gesetzt ist.
-
Wenn
das ENABLE_FLASH_MODE-Bit nicht gesetzt ist, führt der Prozeß 300 in
einem Block 305 die normale Befehlsverarbeitung durch.
Wenn das ENABLE_FLASH_MODE-Bit gesetzt ist, verläuft der Prozeß 300 zu
einem Block 304.
-
Im
Block 304 bestimmt der Prozeß 300, ob der Befehl 210 erfolgreich
verarbeitet wurde. Wenn der Befehl 210 erfolgreich verarbeitet
wurde, führt
der Prozeß 300 einen
Block 306 aus.
-
Im
Block 306 blinkt die LED bzw. blinken die LEDs an einem
oder mehreren Zielsteckplätzen
in einem Blinkmuster, das mit dem bestimmten Befehl verknüpft ist.
In Ausführungsformen
der vorliegenden Erfindung kann der Blinkmuster-Controller 208 ein Register
sein, das darauf programmiert werden kann, zu bewirken, daß sich Blinkmuster
auf Basis eines bestimmten Befehls, Fehlers, SHCP-Status usw. ändern.
-
4 stellt
ein Blinkmuster für
die Befehle, eine LED einzuschalten, auszuschalten oder die LED blinken
zu lassen, gemäß Ausführungsformen
der vorliegenden Erfindung dar. Zum Zwecke der Erläuterung
nehme man an, daß die
oberen LEDs die Leistungsanzeigeelemente (PLEDs) und die unteren LEDs
die Aufmerksamkeitsanzeigeelemente (ALEDs) sind.
-
In
einem Beispiel, wenn der Befehl ist, eine LED des Steckplatzes 108 auf „EIN" zu schalten, blinkt
die ALED 134 einmal, wie durch die Ziffer „1" auf der ALED 134 in 4 angezeigt,
um anzuzeigen, daß der
Befehl erfolgreich verarbeitet wurde, und die PLED 132 oder
die ALED 134 schaltet sich wie vom Befehl angewiesen dauerhaft
ein. Die PLED 132 oder die ALED 134 wird solange
eingeschaltet bleiben, bis sie abgeschaltet wird. Wenn der Befehl ist,
eine LED des Steckplatzes 108 auf „AUS" zu schalten, blinkt die ALED 134 einmal,
wie durch die Ziffer „1" auf der ALED 134 in 4 angezeigt,
um anzuzeigen, daß der
Befehl erfolgreich verarbeitet wurde, und die PLED 132 oder
die ALED 134 schaltet sich wie vom Befehl angewiesen aus.
-
Wenn
der Befehl ist, eine LED des Steckplatzes 108 blinken zu
lassen, blinkt die ALED 134 einmal, wie durch die Ziffer „1" auf der ALED 134 in 4 angezeigt,
um anzuzeigen, daß der
Befehl erfolgreich verarbeitet wurde, und die PLED 132 oder die
ALED 134 blinkt wie vom Befehl angewiesen. Die PLED 132 oder
die ALED 134 wird einen unbestimmten Zeitraum lang weiter
blinken, bis bewirkt wird, daß sie
stoppt.
-
5 stellt
ein Blinkmuster für
einen PWRONLY-Befehl für
den Steckplatz 108 dar. In der dargestellten Ausführungsform
blinkt die ALED 134 zweimal, wie durch die Ziffern „1" und „2" auf der ALED 134 in 5 angezeigt,
um anzuzeigen, daß der
PWRONLY-Befehl erfolgreich verarbeitet wurde.
-
6 stellt
ein Blinkmuster für
einen ENABLE-Befehl für
den Steckplatz 110 dar. In der dargestellten Ausführungsform
blinkt die ALED 138 dreimal, wie durch die Ziffern „1" und „2" und „3" auf der ALED 138 in 6 angezeigt,
um anzuzeigen, daß der
ENABLE-Befehl erfolgreich verarbeitet wurde.
-
7 stellt
ein Blinkmuster für
einen DISABLE-Befehl für
den Steckplatz 116 dar. In der dargestellten Ausführungsform
blinkt die ALED 150 viermal, wie durch die Ziffern „1" und „2" und „3" und „4" auf der ALED 150 in 7 angezeigt,
um anzuzeigen, daß der
DISABLE-Befehl erfolgreich
verarbeitet wurde.
-
8 stellt
ein Blinkmuster für
einen „CHANGE
PCI/PCI-X BUS SPEED"-Befehl
dar, der alle Steckplätze 108, 110, 112, 114, 116 und 118 betrifft.
In der dargestellten Ausführungsform
blinkt jede ALED 134, 138, 142, 146, 150 und 154 fünfmal, wie durch
die Ziffern „1" und „2" und „3" und „4" und „5" auf den ALEDs 134, 138, 142, 146, 150 und 154 in 8 angezeigt,
um anzuzeigen, daß der „CHANGE PCI/PCI-X
BUS SPEED"-Befehl
erfolgreich verarbeitet wurde.
-
9 stellt
ein Blinkmuster für
einen PWRONLY-ALL-Befehl dar, der alle Steckplätze 108, 110, 112, 114, 116 und 118 betrifft.
In der dargestellten Ausführungsform
blinkt jede ALED 134, 138, 142, 146, 150 und 154 zweimal,
wie durch die Ziffern „1" und „2" auf den ALEDs 134, 138, 142, 146, 150 und 154 in 9 angezeigt,
um anzuzeigen, daß der
PWRONLY-ALL-Befehl erfolgreich verarbeitet wurde.
-
10 stellt
ein Blinkmuster für
einen ENABLE-ALL-Befehl dar, der alle Steckplätze 108, 110, 112, 114, 116 und 118 betrifft.
In der dargestellten Ausführungsform
blinkt jede ALED 134, 138, 142, 146, 150 und 154 dreimal,
wie durch die Ziffern „1" und „2" und „3" auf den ALEDs 134, 138, 142, 146, 150 und 154 in 10 angezeigt,
um anzuzeigen, daß der
ENABLE-ALL-Befehl
erfolgreich verarbeitet wurde.
-
Zur 3 zurückkehrend,
nachdem die LED bzw. die LEDs an einem oder mehreren Zielsteckplätzen in
einem Blinkmuster geblinkt hat bzw. haben, das mit dem bestimmten
Befehl verknüpft
ist, um anzuzeigen, daß der
Befehl erfolgreich verarbeitet wurde, bestimmt ein Block 307,
ob ein Fehler auftrat. Wenn kein Fehler aufgetreten ist, kehrt die
Steuerung zum Block 302 zurück. Wenn ein Fehler aufgetreten ist,
bestimmt ein Block 308, ob ein weicher Fehler aufgetreten
ist. Das Register für
weiche Fehler 206 kann ein Register sein, das eine Anzeige
speichert, daß ein
weicher Fehler auftrat. Ein Beispiel eines weichen Fehlers kann
ein Versuch sein, das Befehlsregister 202 zu laden, während ein
Befehl 210 verarbeitet wird. Wenn ein weicher Fehler aufgetreten
ist, führt
ein Block 310 ein „Weicher
Fehler"-Blinkmuster aus.
-
11 stellt
ein „Weicher
Fehler"-Blinkmuster
gemäß einer
Ausführungsform
der vorliegenden Erfindung dar. In der dargestellten Ausführungsform blinken
die ALEDs 134, 138, 142, 146, 150 und 154 einmal
in fortlaufender Reihenfolge, wobei die ALED 154 als erste
blinkt, wie durch die Ziffer „1" auf der ALED 154 angezeigt,
die ALED 150 als zweite blinkt, wie durch die Ziffer „2" auf der ALED 150 angezeigt, die
ALED 146 als dritte blinkt, wie durch die Ziffer „3" auf der ALED 146 angezeigt,
die ALED 142 als vierte blinkt, wie durch die Ziffer „4" auf der ALED 142 angezeigt,
die ALED 138 als fünfte
blinkt, wie durch die Ziffer „5" auf der ALED 138 angezeigt,
und die ALED 134 als sechste blinkt, wie durch die Ziffer „6" auf der ALED 134 angezeigt,
wobei die erste, die ALED 150 einmal als zweite blinkt.
-
Wenn
ein Fehler aufgetreten ist, nachdem die LED bzw. die LEDs an einem
oder mehreren Zielsteckplätzen
in einem Blinkmuster geblinkt hat bzw. haben, das mit dem bestimmten
Befehl verknüpft
ist, um anzuzeigen, daß der
Befehl erfolgreich verarbeitet wurde, bestimmt ein Block 312,
ob ein harter Fehler aufgetreten ist. Das Register für harte
Fehler 204 kann ein Register sein, das eine Anzeige speichert, daß ein harter
Fehler aufgetreten ist. Ein Beispiel eines harten Fehlers kann das
Laden eines „Reserviert"-Befehls in das Befehlsregister 202 sein.
Wenn ein harter Fehler aufgetreten ist, führt ein Block 314 ein „Harter
Fehler"-Blinkmuster
aus.
-
12 stellt
ein „Harter
Fehler"-Blinkmuster gemäß einer
Ausführungsform
der vorliegenden Erfindung dar. In der dargestellten Ausführungsform blinken
die ALEDs 134, 138, 142, 146, 150 und 154 einmal
in fortlaufender Reihenfolge, wobei die ALED 154 als sechste
blinkt, wie durch die Ziffer „6" auf der ALED 154 angezeigt,
die ALED 150 als fünfte
blinkt, wie durch die Ziffer „5" auf der ALED 150 angezeigt, die
ALED 146 als vierte blinkt, wie durch die Ziffer „4" auf der ALED 146 angezeigt,
die ALED 142 als dritte blinkt, wie durch die Ziffer „3" auf der ALED 142 angezeigt,
die ALED 138 als zweite blinkt, wie durch die Ziffer „2" auf der ALED 138 angezeigt,
und die ALED 134 als erste blinkt, wie durch die Ziffer „1" auf der ALED 134 angezeigt.
-
Zur 3 zurückkehrend,
wenn im Block 304 bestimmt wird, daß der Befehl nicht erfolgreich verarbeitet
wurde, führt
der Prozeß 300 einen
Block 3l6 aus. Im Block 316 bestimmt der Prozeß 300,
ob dem Zielsteckplatz bzw. den Zielsteckplätzen Strom zugeführt wird.
Wenn dem Zielsteckplatz bzw. den Zielsteckplätzen kein Strom zugeführt wird,
fährt ein Block 318 ein
Blinkmuster aus, das anzeigt, daß der Befehl nicht erfolgreich
verarbeitet wurde und daß dem
Zielsteckplatz bzw. den Zielsteckplätzen kein Strom zugeführt wird.
-
13 stellt
ein Blinkmuster gemäß einer Ausführungsform
der vorliegenden Erfindung dar, das ausgeführ wird, wenn der in das Befehlsregister 202 geladene
Befehl 210 „PWRONLY-ALL" ist, der Befehl 210 nicht
erfolgreich verarbeitet wurde und nicht allen Steckplätzen 108, 110, 112, 114, 116 und 118 Strom
zugeführt
wurde. In der dargestellten Ausführungsform
blinkt jede PLED 132, 136, 140, 144, 148 und 152 zweimal,
wie durch die Ziffern „1" und „2" an den PLEDs 132, 136, 140, 144, 148 und 152 in 13 angezeigt,
um anzuzeigen, daß den
Steckplätzen 108, 110, 112, 114, 116 und 118 kein
Strom zugeführt
worden ist. Zusammenfassend, wenn der Befehl 210 PWRONLY-ALL
ist, der Befehl 210 nicht erfolgreich verarbeitet wird
und den Steckplätzen 108, 110, 112, 114, 116 und 118 kein
Strom zugeführt wird,
blinkt jede ALED 134, 138, 142, 146, 150 und 154 zweimal
(9) und jede PLED 132, 136, 140, 144, 148 und 152 blinkt
zweimal (13).
-
14 stellt
ein Blinkmuster gemäß einer Ausführungsform
der vorliegenden Erfindung dar, das ausgeführt wird, wenn der in das Befehlsregister 202 geladene
Befehl 210 „ENABLE-ALL" ist und der Befehl 210 nicht
erfolgreich verarbeitet wurde, weil nicht allen Steckplätzen 108, 110, 112, 114, 116 und 118 Strom
zugeführt
wurde. In der dargestellten Ausführungsform
blinkt jede PLED 132, 136, 140, 144, 148 und 152 dreimal,
wie durch die Ziffern „1" und „2" und „3" an den PLEDs 132, 136, 140, 144, 148 und 152 in 14 angezeigt,
um anzuzeigen, daß der ENABLE-Befehl
nicht erfolgreich verarbeitet wurde und den Steckplätzen 108, 110, 112, 114, 116 und 118 kein
Strom zugeführt
worden ist.
-
Zum
Beispiel blinkt jede PLED 132, 136, 140, 144, 148 und 152 dreimal,
wie durch die Ziffern „1" und „2" und „3" an den PLEDs 132, 136, 140, 144, 148 und 152 in 14 angezeigt,
um anzuzeigen, daß der
ENABLE-Befehl nicht erfolgreich verarbeitet wurde und den Steckplätzen 108, 110, 112, 114, 116 und 118 kein
Strom zugeführt
worden ist. Zusammenfassend, wenn der Befehl 210 ENABLE-ALL
ist, der Befehl 210 nicht erfolgreich verarbeitet wird
und den Steckplätzen 108, 110, 112, 114, 116 und 118 kein
Strom zugeführt
wird, blinkt jede PLED 132, 136, 140, 144, 148 und 152 dreimal
(14).
-
Zur 3 zurückkehrend,
wenn der Prozeß 300 im
Block 316 bestimmt, daß dem
Zielsteckplatz bzw. den Zielsteckplätzen Strom zugeführt wird,
führt der
Prozeß 300 einen
Block 320 aus. Der Block 320 führt ein Blinkmuster aus, das
anzeigt, daß dem
Zielsteckplatz bzw. den Zielsteckplätzen Strom zugeführt wird.
-
15 stellt
ein Blinkmuster gemäß einer Ausführungsform
der vorliegenden Erfindung dar, das ausgeführt wird, wenn der in das Befehlsregister 202 geladene
Befehl 210 „PWRONLY-ALL" ist, der Befehl 210 nicht
erfolgreich verarbeitet wurde und allen Steckplätzen 108, 110, 112, 114, 116 und 118 Strom
zugeführt
wurde. In der dargestellten Ausführungsform
blinkt jede PLED 132, 136, 140, 144, 148 und 152 zweimal,
wie durch die Ziffern „1" und „2" an den PLEDs 132, 136, 140, 144, 148 und 152 in 15 angezeigt,
um anzuzeigen, daß der
in das Befehlsregister 202 geladene Befehl 210 „PWRONLY-ALL" ist, der Befehl 210 nicht
erfolgreich verarbeitet wurde und allen Steckplätzen 108, 110, 112, 114, 116 und 118 Strom
zugeführt
wurde.
-
Natürlich können andere
Blinkmuster dazu eingesetzt werden, einem Bediener mitzuteilen,
daß ein
bestimmter Befehl ausgeführt
wird, ob der Befehl erfolgreich verarbeitet wurde, ob dem Steckplatz Strom
zugeführt
wurde, ob ein Fehler auftrat, nachdem der Befehl ausgeführt wurde,
und/oder ob der Fehler ein „harter" Fehler oder ein „weicher" Fehler ist, ob dem
Zielsteckplatz bzw. den Zielsteckplätzen Strom zugeführt wurde
und/oder ob den Zielsteckplätzen
Strom zugeführt
wurde, wenn der Befehl nicht erfolgreich verarbeitet wurde. Nach
Lektüre
der Beschreibung hierin wird ein Durchschnittsfachmann problemlos
ausmachen, wie Ausführungsformen
der vorliegenden Erfindung unter Einsatz anderer Blinkmuster zu implementieren
sind.
-
Man
entsinne sich, daß die
LEDs in Ausführungsformen
der vorliegenden Erfindung über
Blinkmuster verfügen,
die geringer oder größer als
eine fünfzigprozentige
Einschaltdauer (± 5
%) sind, um einem Bediener mehr Informationen mitzuteilen, als wenn
der Steckplatz aktiv oder inaktiv ist oder sich im Prozeß des Wechselns
des Zustands zwischen aktiv und inaktiv oder umgekehrt befindet. 16 ist
ein Zeitdiagramm 1600 für
ein Blinkmuster mit einer Einschaltdauer, die geringer oder größer als
ein fünfzigprozentiges
(± 5
%) ist.
-
In
der dargestellten Ausführungsform
weist der Takt des Blinkmusters eine „Ein"-Periode 1602, gefolgt von
einer „Aus"-Periode 1604,
gefolgt von einer weiteren „Aus"-Periode 1606 auf,
die das Ende eines Blinkmusters des Befehls 210 und den
Start eines „Harter
Fehler"-Blinkmusters
und/oder eines „Weicher
Fehler"-Blinkmusters
kennzeichnet. Folglich kann die „Aus"-Periode 1606, wenn kein harter Fehler
oder weicher Fehler vorliegt, nachdem der Befehl 210 ausgeführt wurde,
andauern, bis der nächste Befehl 210 ausgeführt wird.
In einer Ausführungsform
ist die „Ein"-Periode 1602 einhundertachtundzwanzig
Millisekunden (128 ms), die „Aus"-Periode 1604 ist
128 ms und die „Aus"-Periode 1606 ist
500 ms.
-
In
Ausführungsformen
der vorliegenden Erfindung kann der Blinkmuster-Controller 208 ein
Hintergrundanforderer von gemeinsamen Ressourcen im System 100 sein.
Folglich kann das Laden eines Befehls 210 in das Befehlsregister 202 während der Ausführung eines
Blinkmusters bewirken, daß das Blinkmuster
abgebrochen wird, und die Steuerung kann zum SHCP 128 zurückkehren.
In diesen Aüsführungsformen
räumt der
Blinkmuster-Controller 208 das ausstehende Blinkmusterausführungssignal 212 möglicherweise
nicht. Statt dessen kann der Blinkmuster-Controller 208 darauf
warten, daß der Befehl 210 geladen
wird, bevor er das Blinkmuster wiederholt.
-
In
einer Ausführungsform
der vorliegenden Erfindung wird ein Ein-Bit-Feld im Debug-Raum des Blinkmuster-Controllers 208 bereitgestellt,
um anzuzeigen, daß ein
Blinkmuster ausgeführt
wird. In dieser Ausführungsform
kann die Software 122 dieses Bit abfragen, um zu bestimmen,
wann der nächste Befehl 210 zu
laden ist, um sicherzustellen, daß ein ausstehendes Blinkmuster
nicht gelöscht
wird. Der Debug-Raum kann auch dazu verwendet werden, die Einschaltdauer
des Blinkmusters zu ändern.
-
Ausführungsformen
der vorliegenden Erfindung können
unter Verwendung von Hardware, Software oder einer Kombination davon
implementiert werden. In Implementierungen, die Software einsetzen,
kann die Software auf einem Medium, auf das eine Maschine zugreifen
kann, gespeichert werden.
-
Ein
Medium, auf das eine Maschine zugreifen kann, beinhaltet einen beliebigen
Mechanismus, der Informationen in einer Form bereitstellt (d. h. speichert
und/oder überträgt), auf
die eine Maschine (z. B. ein Computer, eine Netzvorrichtung, ein
Minicomputer (PDA), ein Fertigungswerkzeug, eine beliebige Vorrichtung
mit einem Satz aus einem oder mehreren Prozessoren usw.) zugreifen
kann. Zum Beispiel kann ein Medium, auf das eine Maschine zugreifen
kann, beschreibbare und nicht beschreibbare Medien (z. B. Nur-Lese-Speicher
(read-only memory, ROM), Direktzugriffsspeicher (random access memory,
RAM), Magnetplattenspeichermedien, optische Speichermedien, Flash-Speichergeräte usw.) als
auch elektrisch, optisch oder akustisch verbreitete Signale oder
eine andere Form von verbreiteten Signalen (z. B. Trägerwellen,
Infrarotsignale, digitale Signale usw.) beinhalten.
-
In
der obigen Beschreibung sind zahlreiche spezifische Einzelheiten,
wie bestimmte Prozesse, Materialien, Vorrichtungen und so weiter,
vorgelegt, um ein vollständigeres
Verständnis
von Ausführungsformen
der Erfindung bereitzustellen. Ein Fachmann wird jedoch erkennen,
daß Ausführungsformen
der vorliegenden Erfindung ohne eines oder mehrere der spezifischen
Einzelheiten oder mit anderen Verfahren, Komponenten usw. ausgeübt werden
können.
In anderen Fällen
sind wohl bekannte Strukturen oder Arbeitsgänge nicht ausführlich gezeigt
oder beschrieben, um zu vermeiden, daß das Verständnis dieser Beschreibung verschleiert
wird.
-
Die
Bezugnahme überall
in dieser Beschreibung auf „eine
Ausführungsform" bedeutet, daß ein bestimmtes
Merkmal, eine bestimmte Struktur, ein bestimmter Prozeß, ein bestimmter
Block oder ein bestimmtes Charakteristikum, das bzw. die bzw. der in
Verbindung mit einer Ausführungsform
beschrieben wird, in mindestens einer Ausführungsform der vorliegenden
Erfindung enthalten ist. Folglich bedeutet das Vorkommen der Phrasen „in einer
Ausführungsform" an verschiedenen
Stellen überall
in dieser Beschreibung nicht notwendigerweise, daß die Phrasen
sich alle auf ein und dieselbe Ausführungsform beziehen. Die bestimmten
Merkmale, Strukturen oder Charakteristika können auf eine beliebige geeignete
Art und Weise in einer oder mehreren Ausführungsformen kombiniert werden.
-
Die
in den folgenden Ansprüchen
verwendeten Ausdrücke
sollten nicht derart aufgefaßt
werden, daß sie
Ausführungsformen
der Erfindung auf die spezifischen Ausführungsformen beschränken, die
in der Beschreibung und den Ansprüchen offenbart sind. Vielmehr
ist der Schutzumfang von Ausführungsformen
der Erfindung gänzlich
mittels der folgenden Ansprüche
zu ermitteln, die gemäß bewährten Lehren
der Auslegung von Ansprüchen
auszulegen sind.
-
ZUSAMMENFASSUNG
-
Gemäß Ausführungsformen
der vorliegenden Erfindung weisen Anzeigeelemente auf einem PCI/PCI-X,
der von einem Standard-Hot-Plug-Controller (SHPC) gesteuert wird,
Blinkmuster mit einer nicht fünfzigprozentigen
Einschaltdauer auf, die einem Bediener mitteilen, daß ein bestimmter
Befehl verarbeitet wird, ob der Befehl erfolgreich verarbeitet wurde,
ob dem Steckplatz Strom zugeführt
wurde, ob ein „harter" oder „weicher" Fehler auftrat,
wenn der Befehl erfolgreich verarbeitet wurde, und ob dem Steckplatz
Strom zugeführt
wurde, wenn der Befehl nicht erfolgreich verarbeitet wurde.