-
Die
Offenbarung betrifft eine integrierte Schaltung mit einer Vielzahl
von Betriebsmodi.
-
ALLGEMEINER STAND DER TECHNIK
-
In
einer herkömmlichen
Datenspeicheranordnung weist ein Computerknoten einen Hostbusadapter
(HBA) auf. Der HBA kommuniziert mit Hostvorrichtungen über den
Hostbus mittels eines Hostbusprotokolls, das mit dem Hostbus verbunden
ist. Der HBA kommuniziert auch über
eine oder mehrere Verbindungen mit einem Datenspeichersystem. Wenn
das Datenspeichersystem eine redundante Anordnung unabhängiger Platten
(RAID) aufweist, führt
der HBA in der Regel auch RAID-bezogene Vorgänge (zum Beispiel Vorgänge, die
an der Implementierung der RAID beteiligt sind) aus.
-
Der
HBA weist mehrere integrierte Schaltungschips auf, die der HBA benutzt,
um Kommunikationen zwischen dem HBA und dem Hostprozessor, Kommunikationen
zwischen dem HBA und dem Datenspeichersystem und die Vorgänge auszuführen, die
an der Implementierung der RAID beteiligt sind. In der Regel schränken diese
integrierten Schaltungschips die Kommunikationsfähigkeiten des HBAs derart ein,
dass der HBA nur ein einziges vorbestimmtes Hostbusprotokoll und
nur ein einziges vorbestimmtes Kommunikationsprotokoll benutzen kann.
-
US 6,189,052 beschreibt
einen I/O-Prozessor auf einem Chip zum Steuern der Kommunikation mit
Peripheriegeräten.
Ein I/O-Prozessorkern umfasst mindestens eine Anschlusssteuerung
zum Lesen und Einstellen physikalischer I/O-Anschlüsse, Auslösen von
Zeitgebern und Erzeugen von Unterbrechungen für den I/O-Prozessorkern, mindestens einen
Zeitgeber zum Abtasten der I/O-Anschlüsse, Einstellen der I/O-Anschlüsse und
Erzeugen der Unterbrechungen für
den I/O-Prozessorkern zu genau definierten Zeitpunkten. Der I/O-Prozessorkern
stellt Befehle zum Steuern der mindestens einen Anschlusssteuerung,
des mindestens einen Zeitgebers und der I/O-Anschlüsse bereit.
Der I/O-Prozessor weist auch einen RAM-Speicher auf dem Chip, der Befehle
für den
I/O-Prozessorkern
aufweist, mindestens ein Register zum Austausch von Information zwischen
dem I/O-Prozessor und einer verbundenen CPU auf dem gleichen Chip
und umgekehrt, und eine konfigurierte Logik auf, die zwischen dem
Kern und den I/O-Anschlüssen
zur Synchronisation von ankommenden und ausgehenden Signalen verbunden ist.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Merkmale
und Vorteile der Ausführungsformen
des beanspruchten Gegenstands werden aus der folgenden ausführlichen
Beschreibung und mit Bezug auf die Zeichnungen ersichtlich, in denen ähnliche
Bezugszeichen ähnliche
Teile bezeichnen. Es zeigen:
-
1 ein
Diagramm, das eine Systemausführungsform
darstellt.
-
2 ein
Diagramm, dass eine integrierte Schaltung in der Systemausführungsform
aus 1 in größerem Detail
darstellt.
-
3 ein
Diagramm, dass eine Schnittstellenschaltung in der integrierten
Schaltung aus 2 in größerem Detail darstellt.
-
4 ein
Diagramm, das eine andere Systemausführungsform darstellt.
-
5 ein
Flussdiagramm, das Vorgänge darstellt,
die gemäß einer
Ausführungsform
ausgeführt
werden können.
-
Wenngleich
die folgende ausführliche
Beschreibung mit Bezug auf beispielhafte Ausführungsformen vorgenommen wird,
wird der Fachmann viele Alternativen, Modifikationen und Variationen
davon erkennen. Dementsprechend soll der beanspruchte Gegenstand
weit gefasst betrachtet werden und nur gemäß den beiliegenden Ansprüchen definiert
sein. Die Erfindung ist durch die beiliegenden unabhängigen Ansprüche 1, 13
und 17 definiert.
-
AUSFÜHRLICHE BESCHREIBUNG
-
1 stellt
eine Systemausführungsform 100 des
beanspruchten Gegenstands dar. Das System 100 kann einen
Hostprozessor 12 aufweisen, der mit einem Chipsatz 14 verbunden
ist. Der Hostprozessor 12 kann zum Beispiel einen Intel® Pentium® IV-Mikroprozessor
umfassen, der im Handel von dem Bevollmächtigen der vorliegenden Anmeldung
erhältlich
ist. Natürlich
kann der Hostprozessor 12 ersatzweise eine andere Art von
Mikroprozessor wie zum Beispiel einen Mikroprozessor umfassen, der
im Handel von einer anderen Quelle als dem Bevollmächtigten
der vorliegenden Anmeldung erhältlich ist,
ohne von dieser Ausführungsform
abzuweichen.
-
Der
Chipsatz 14 kann ein Hostbrücken-/-knotensystem umfassen,
das den Hostprozessor 12, einen Systemspeicher 21 und
ein Benutzerschnittstellensystem 16 miteinander und mit
einem Bussystem 22 verbinden kann. Der Chipsatz 14 kann
auch ein I/O-Brücken-/-Knotensystem
(nicht dargestellt) umfassen, welches das Hostbrücken-/-knotensystem mit dem
Bus 22 verbindet. Der Chipsatz 14 kann integrierte
Schaltungschips wie diejenigen umfassen, die aus integrierten Schaltungschips
ausgewählt
sind, die im Handel von dem Bevollmächtigten der vorliegenden Anmeldung
erhältlich
sind (zum Beispiel Grafikspeicher und I/O-Steuerknoten-Chipsätze), wenngleich andere integrierte
Schaltungschips auch oder ersatzweise benutzt werden können, ohne
von dieser Ausführungsform
abzuweichen. Das Benutzerschnittstellensystem 16 kann zum
Beispiel eine Tastatur, Zeigervorrichtung und ein Anzeigesystem
umfassen, das einem Benutzer ermöglichen
kann, Befehle in das System 100 einzugeben und die Betriebsweise
desselben zu überwachen.
-
Der
Bus 22 kann einen Bus umfassen, der mit der Spezifikation
Peripheral Component Interconnect (PCI) ExpressTM Base
Specification Revision 1.0, veröffentlicht
am 22. Juli 2002, erhältlich
von der PCI Special Interest Group, Portland, Oregon, U.S.A. (nachstehend
als ein "PCI ExpressTM-Bus" bezeichnet) übereinstimmt.
Als Alternative kann der Bus 22 stattdessen einen Bus umfassen,
der mit der Spezifikation PCI-X Specification Rev. 1.0a, 24. Juli
2000, erhältlich
von der oben genannten PCI Special Interest Group, Portland, Oregon,
U.S.A. (nachstehend als ein "PCI-X-Bus" bezeichnet) übereinstimmt.
Als weitere Alternative kann der Bus 22 andere Arten und Konfigurationen
von Bussystemen umfassen, ohne von dieser Ausführungsform abzuweichen.
-
Die
Steuerkarte 20 kann mit dem Betrieb des Massenspeichers 28 verbunden
sein und diesen steuern. In dieser Ausführungsform kann der Massenspeicher 28 zum
Beispiel eine oder mehrere redundante Anordnungen unabhängiger Platten
(RAID) 29 umfassen. Die RAID-Menge, die von der RAID 29 implementiert
werden kann, kann 0, 1 oder größer als 1
sein.
-
Der
Prozessor 12, Systemspeicher 21, Chipsatz 14,
Bus 22 und Schaltkartenschlitz 30 können in einer
einzigen Schaltplatte wie zum Beispiel einer Systemhauptplatine 32 enthalten
sein. Der Massenspeicher 28 kann in einem oder mehreren
jeweiligen Gehäusen
enthalten sein, die von dem Gehäuse
getrennt sein können,
in dem die Hauptplatine 32 und die in der Hauptplatine 32 enthaltenen
Komponenten eingeschlossen sind.
-
Die
Karte 20 kann mit dem Massenspeicher 28 über eine
oder mehrere Netzwerkkommunikationsverbindungen 44 verbunden
sein. Wie nachstehend erläutert,
kann die Karte 20 in Abhängigkeit mindestens teilweise
des Betriebsmodus einer integrierten Schaltung 40, die
in der Karte 20 enthalten sein kann, Daten und/oder Befehle über die
Verbindungen 44 und unter Anwendung eines oder mehrerer
von verschiedenen unterschiedlichen Kommunikationsprotokollen, zum
Beispiel Fibre Channel-(FC), Serial Advanced Technology Attachment-(S-ATA) und/oder
Serial Attached Small Computer Systems Interface-(SAS)Protokollen,
mit dem Massenspeicher 28 austauschen. Natürlich kann
die I/O-Steuerkarte 20 Daten und/oder Befehle mit dem Massenspeicher 28 alternativ
mittels anderer und/oder zusätzlicher
Kommunikationsprotokolle austauschen, ohne von dieser Ausführungsform
abzuweichen.
-
Wenn
ein FC-Protokoll von der Steuerkarte 20 benutzt wird, um
Daten und/oder Befehle mit dem Massenspeicher 28 auszutauschen,
kann es gemäß dieser
Ausführungsform
mit der Schnittstelle oder dem Protokoll übereinstimmen oder kompatibel
sein, die oder das in der Spezifikation ANSI Standard Fibre Channel
Physical and Signaling Interface-3 X3.303:1998 Specification beschrieben
ist. Wenn ersatzweise oder zusätzlich
ein S-ATA-Protokoll von der Steuerkarte 20 benutzt wird,
um Daten und/oder Befehle mit dem Massenspeicher 28 auszutauschen, kann
dieses mit dem Protokoll übereinstimmen
oder kompatibel sein, das in "Serial
ATA: High Speed Serialized AT Attachment," Revision 1.0, veröffentlicht am 29. August 2001
von der Serial ATA Working Group, beschrieben ist. Wenn ferner ersatzweise
von der Steuerkarte 20 ein SAS-Protokoll benutzt wird, um
Daten und/oder Befehle mit dem Massenspeicher 28 auszutauschen,
kann dieses mit dem Protokoll übereinstimmen
oder kompatibel sein, das in "Information
Technology – Serial
Attached SCSI (SAS)," Working
Draft American National Standard of International Committee For
Information Technology Standards (INCITS) T10 Technical Committee,
Project T10/1562-D, Revision 2b, veröffentlicht am 19. Oktober 2002
vom American National Standards Institute, (nachstehend als „SAS-Standard" bezeichnet) und/oder
später
veröffentlichten
Versionen des SAS-Standards beschrieben ist.
-
Je
nach dem, ob zum Beispiel der Bus 22 einen PCI ExpressTM-Bus
oder einen PCI-X-Bus umfasst, kann der Schaltkartenschlitz 30 zum
Beispiel einen mit einem PCI ExpressTM-Bus
oder einem PCI-X-Bus kompatiblen oder übereinstimmenden Erweiterungsschlitz
oder Schnittstelle 36 umfassen. Die Schnittstelle 36 kann
einen Busverbinder 37 umfassen, der elektrisch und mechanisch
an einen passenden Busverbinder 34 angepasst ist, der in
einem Buserweiterungsschlitz oder Schnittstelle 35 in der Schaltkarte 20 enthalten
sein kann.
-
Die
Schaltkarte 20 kann eine integrierte Schaltung 40,
eine Betriebsmodus-Auswahlschaltung 42, einen von einem
Computer lesbaren Boot-Code-Speicher 39 und einen von einem
Computer lesbaren Speicher 38 umfassen. Wenngleich in den
Figuren nicht dargestellt, kann die integrierte Schaltung 40 alternativ
einen Speicher 38 und/oder Speicher 39 umfassen.
Wie hier verwendet, bedeutet eine „integrierte Schaltung" eine Halbleitervorrichtung
und/oder mikroelektronische Vorrichtung wie zum Beispiel einen Halbleiterchip
mit integrierter Schaltung. Die Speicher 38 und/oder 39 umfassen
jeweils eine oder mehrere der folgenden Speicherarten: Halbleiter-Firmwarespeicher,
programmierbaren Speicher, nichtflüchtigen Speicher, Nur-Lese-Speicher, elektrisch
programmierbaren Speicher, wahlfreien Zugriffsspeicher, Flashspeicher,
Magnetplattenspeicher und/oder optischen Plattenspeicher. Entweder
zusätzlich
oder alternativ umfassen die Speicher 38 und/oder 39 jeweils
andere und/oder später entwickelte
Arten von computerlesbarem Speicher.
-
Maschinenlesbare
Firmware-Programmbefehle können
in dem Speicher 38 gespeichert sein. Wie unten beschrieben,
kann auf diese Befehle von der integrierten Schaltung 40 zugegriffen
werden und sie können
von dieser ausgeführt
werden. Wenn sie von der integrierten Schaltung 40 ausgeführt werden, können diese
Befehle veranlassen, dass die integrierte Schaltung 40 die
hierin beschriebenen Vorgänge
als von der integrierten Schaltung 40 ausgeführt Vorgänge ausführt.
-
Der
Schlitz 30 und die Karte 20 sind derart konstruiert,
dass sie in den Schlitz 30 eingesetzt werden können. Wenn
die Karte 20 in den Schlitz 30 geeignet eingesetzt
ist, werden Verbinder 34 und 36 elektrisch und
mechanisch aneinander gekoppelt. Wenn die Verbinder 34 und 36 auf
diese Weise aneinander gekoppelt sind, wird die Karte elektrisch
an den Bus 22 gekoppelt und kann Daten und/oder Befehle
mit dem Systemspeicher 21, Hostprozessor 12 und/oder
Benutzerschnittstellensystem 16 über den Bus 22 und
den Chipsatz 14 austauschen.
-
Ohne
von dieser Ausführungsform
abzuweichen, kann die Betriebsschaltung der Karte 20 alternativ
nicht in der Karte 20 enthalten sein, sondern stattdessen
in anderen Strukturen, Systemen und/oder Vorrichtungen enthalten
sein. Diese anderen Strukturen, Systeme und/oder Vorrichtungen können zum
Beispiel in einer Hauptplatine 32 enthalten sein, die an
den Bus 22 gekoppelt ist, und Daten und/oder Befehle mit
anderen Komponenten (wie zum Beispiel Systemspeicher 21,
Hostprozessor 12 und/oder Benutzerschnittstellensystem 16)
in dem System 100 austauschen.
-
2 ist
ein Diagramm der integrierten Schaltung 40. Die integrierte
Schaltung 40 umfasst die Prozessorschaltung 202,
I/O-Schnittstellenschaltung 204, Speichersteuerschaltung 232,
Speichersteuerschaltung 230, Prozessorbus 206 und
die Busbrückenschaltung 208.
Die Prozessorschaltung 202, I/O-Schnittstellenschaltung 204,
Speichersteuerschaltung 232, Speichersteuerschaltung 230 und
die Busbrückenschaltung 208 können mit
dem Bus 206 verbunden sein und Daten und/oder Befehle über diesen
austauschen. Die Busbrückenschaltung 208 kann
den Prozessorbus 206 elektrisch mit dem Eingabe-/Ausgabe-(I/O)Bus 254 verbinden,
um Daten und/oder Befehle mit Vorrichtungen auszutauschen, die mit
dem Bus 254 verbunden sein können, während ermöglicht wird, dass jeweilige
Adressräume der
Busse 206 und 254 voneinander isoliert sind. Die Speichersteuerschaltung 230,
Hostbus-Schnittstellenschaltung 210,
Boot-Code-Speicherschnittstelle 242 und
periphere Schnittstellenschaltung 244 können auch mit dem Bus 254 elektrisch
verbunden sein und können
Daten und/oder Befehle über
den Bus 254 untereinander austauschen. Die Speichersteuerschaltung 230 kann
mit dem Speicher 38 elektrisch verbunden sein. Die Boot-Code-Speicherschnittstelle 242 kann
mit dem Speicher 39 verbunden sein. Die Speichersteuerschaltung 232 kann
mit dem computerlesbaren Speicher 228 elektrisch verbunden
sein. Der Speicher 228 kann zum Beispiel einen statischen wahlfreien
Zugriffsspeicher (SRAM) mit Mehrfachanschluss umfassen, wenngleich
der Speicher 228 andere Arten von computerlesbarem Speicher
umfassen kann, ohne von dieser Ausführungsform abzuweichen. Die
Hostbus-Schnittstellenschaltung 210 kann
mit der Hostbus-Schnittstelle 35 elektrisch
verbunden sein.
-
Die
Modusauswahlschaltung 42 kann mit der universellen I/O-Schnittstellenschaltung 248 elektrisch
verbunden sein, die in der Schnittstellenschaltung 246 enthalten
sein kann. Die Schnittstellenschaltung 246 kann andere
und/oder zusätzliche
Arten von Schnittstellenschaltung (nicht dargestellt) umfassen,
ohne von dieser Ausführungsform abzuweichen.
Die Schnittstellenschaltung, die in der Schnittstelle 246 enthalten
ist, kann zum Beispiel über
einen peripheren Bus (nicht dargestellt) verbunden sein. Die Schnittstelle 246 kann
mit dem Bus 254 über
die periphere Schnittstellenschaltung 244 verbunden sein,
die ermöglichen
kann, dass die Schnittstellenschaltung in der Schaltung 246,
die mit dem peripheren Bus in der Schaltung 246 verbunden
sein kann, Daten und/oder Befehle mit Vorrichtungen austauscht,
die mit dem Bus 254 verbunden sein können.
-
Die
Boot-Code-Speicherschnittstellenschaltung 242 kann ermöglichen,
dass Programmbefehle, die in dem Speicher 39 gespeichert
sind, daraus abgerufen werden und von der Prozessorschaltung 202 zum
Beispiel nach einer Rückstellung
der integrierten Schaltung 40 ausgeführt werden. Genauer kann die Prozessorschaltung 202 dem
Speicher 39 und/oder der Schnittstellenschaltung 242 über den
Bus 206, die Brückenschaltung 208,
den Bus 254 und die Schnittstellenschaltung 242 einen
oder mehrere Befehle bereitstellen, so dass solche Programmbefehle aus
dem Speicher 39 abgerufen und der Schaltung 202 über die
Schnittstelle 242, den Bus 254, die Brückenschaltung 208 und
den Bus 206 bereitgestellt werden.
-
Die
integrierte Schaltung 40 kann auch eine Leistungsüberwachungs-(PMON)Schaltung 226 umfassen.
Die PMON-Schaltung 226 kann zum Beispiel den Austausch
von Daten und/oder Befehlen, die über den Bus 206 und/oder
den Bus 254 ausgeführt werden,
und/oder andere und/oder zusätzliche
Vorgänge überwachen,
die von einer anderen Schaltung in der integrierten Schaltung 40 ausgeführt werden, und
kann basierend mindestens teilweise auf dieser Überwachung bestimmen, ob die
integrierte Schaltung 40 korrekt arbeitet. Die PMON-Schaltung 226 kann
die Ergebnisse ihrer Überwachungsaktivitäten zum
Beispiel der Prozessorschaltung 202 und/oder externen Vorrichtungen
wie zum Beispiel dem Hostprozessor 12 über die Schaltung 210 anzeigen.
-
Die
Prozessorschaltung 202 kann mehrere Prozessorkerne 216 und 218 aufweisen.
Wie hier verwendet, kann ein „Prozessorkern" eine festverdrahtete
Schaltung, eine programmierbare Schaltung und/oder eine Zustandsmaschinenschaltung
umfassen. Wie hier verwendet, kann die „Prozessorschaltung" auch eine festverdrahtete
Schaltung, eine programmierbare Schaltung und/oder eine Zustandsmaschinenschaltung
umfassen. In dieser Ausführungsform
kann jeder Prozessorkern 216 und 218 eine zugehörige Schaltung
umfassen, die mit der Intel® XScaleTM Core-Mikroarchitektur,
die im Intel® XScaleTM Core Developers Manual beschrieben ist,
das von dem Bevollmächtigten
der vorliegenden Anmeldung im Dezember 2000 veröffentlicht worden ist, kompatibel
ist oder mit dieser übereinstimmt.
Natürlich
kann die Schaltung 202, wie oben erwähnt, andere Arten einer Prozessorkernschaltung
umfassen, ohne von dieser Ausführungsform
abzuweichen. In dieser Ausführungsform
können
die Prozessorkerne 216 und 218 zum Beispiel einen
zugehörigen
computerlesbaren Programmbefehlsspeicher 220 und 224 umfassen,
die jeweilige Sätze
von Mikrocode-Programmbefehlen enthalten, welche die Prozessorkerne 216 und 218 jeweils
ausführen
können.
Die Ausführung
dieser jeweiligen Sätze
von Programmbefehlen von den jeweiligen Prozessorkernen 216 und 218 können zum
Beispiel zu der Ausführung
durch die Schaltung 202, den Kern 216 und/oder
den Kern 218 von Vorgängen
führen,
die hierin als jeweils von der Schaltung 202, dem Kern 216 und/oder
dem Kern 218 ausgeführt
beschrieben sind. Mindestens ein Teil dieser jeweiligen Sätze von
Programmbefehlen kann zum Beispiel aus dem Boot-Code-Speicher 39 abgerufen
werden, zum Beispiel nach einer Rückstellung der integrierten
Schaltung 40. Der Prozessorkern 216 kann auch
einen Level-2-Cachespeicher 222 umfassen, der von dem Prozessorkern 216 bei
der Ausführung der
hierin als von dem Prozessorkern 216 ausgeführten Vorgänge benutzt
werden kann.
-
Die
Schnittstellenschaltung 204 kann Protokollmaschinen 250A, 250B,
..., 250N) und physikalische Schichtschnittstellenschaltungen 252A, 252B, ..., 252N umfassen.
Wie nachstehend beschrieben, kann jede entsprechende Protokollmaschine 250A, 250B,
..., 250N mit den entsprechenden physikalischen Schichtschnittstellenschaltungen 252A, 252B 252N verbunden
sein und Daten und/oder Befehle damit austauschen. Folglich kann
zum Beispiel die Protokollmaschine 250A mit der physikalischen Schichtschnittstellenschaltung 252A verbunden
sein und Daten und/oder Befehle damit austauschen, die Protokollmaschine 250B kann
mit der physikalischen Schichtschnittstellenschaltung 252B verbunden
sein und Daten und/oder Befehle damit austauschen und die die Protokollmaschine 250N kann
mit der physikalischen Schichtschnittstellenschaltung 252N verbunden
sein und Daten und/oder Befehle damit austauschen. In dieser Ausführungsform
können
die jeweilige Konstruktion und Betriebsweise jeder der Protokollmaschinen 250A, 250B,
... 250N jeweils identisch sein. Außerdem können die entsprechende Konstruktion
und Betriebsweise jeder der Schnittstellen 252A, 252B,
... 252N in dieser Ausführungsform jeweils
identisch sein. Ohne von dieser Ausführungsform abzuweichen, können die
jeweiligen Anzahlen der Protokollmaschinen 252A, 252B,
... 252N) und der physikalische Schichtschnittstellenschaltungen 252A, 252B,
..., 252N und der Verbindungen 44 variieren. Jedoch
kann die Anzahl von Protokollmaschinen 250A, 250B,
... 250N in dieser Ausführungsform der
Anzahl physikalischer Schichtschnittstellen 252A, 2528,
... 252N entsprechen. In dieser Ausführungsform kann jede der physikalischen
Schichtschnittstellen 252A, 252B, ... 252N mit
einer zugehörigen
der Verbindungen 44 verbunden sein; folglich kann die Anzahl
physikalischer Schichtschnittstellen 252A, 252B,
... 252N in dieser Ausführungsform
der Anzahl von Verbindungen 44 entsprechen.
-
Die
Hostbus-Schnittstellenschaltung 210 kann eine zugehörige Schnittstellenschaltung
umfassen, die benutzt werden kann, um zu ermöglichen, dass die integrierte
Schaltung 40 gemäß einem
von mehreren unterschiedlichen Hostbusprotokollen, mit denen der
Bus 22 übereinstimmt
oder kompatibel ist, Daten und/oder Befehle mit anderen Vorrichtungen, die
mit dem Bus 22 verbunden sind, austauschen kann. Zum Beispiel
kann die Schaltung 210 in dieser Ausführungsform eine PCI-X-Busschnittstellenschaltung 212 und
eine PCI ExpressTM-Busschnittstellenschaltung 214 umfassen.
Das heißt,
wie unten erläutert,
mindestens teilweise in Abhängigkeit
von dem Busprotokoll, mit dem der Bus 22 übereinstimmen kann
oder kompatibel sein kann, kann ein bestimmter Betriebsmodus der
integrierten Schaltung 40 ausgewählt werden, in dem nur eine
einzige geeignete der zugehörigen
Schnittstellenschaltungen in der Schaltung 210 aktiviert
werden kann, um Daten und/oder Befehle mit Vorrichtungen auszutauschen,
die mit dem Bus 22 verbunden sind, wobei andere zugehörige Schnittstellenschaltungen
in der Schaltung 210 deaktiviert werden können. Wenn
zum Beispiel der Bus 22 in dieser Ausführungsform ein PCI-X-Bus ist, dann
kann die PCI-X-Schnittstellenschaltung 212 in dem ausgewählten Betriebsmodus
aktiviert und die PCI ExpressTM-Busschnittstellenschaltung 214 deaktiviert
werden. Wenn der Bus 22 in dieser Ausführungsform im Gegensatz dazu
ein PCI-X-Bus ist, dann
kann die PCI-X-Schnittstellenschaltung 212 in dem ausgewählten Betriebsmodus
deaktiviert und die PCI ExpressTM-Busschnittstellenschaltung 214 aktiviert
werden.
-
Wenngleich
in den Figuren nicht dargestellt, können die Speichersteuerschaltung 232 und/oder DMA-Schaltung 234 in
dieser Ausführungsform
mit dem Bus 254 elektrisch verbunden sein. In dieser Ausführungsform
kann die Speichersteuerschaltung 232 eine direkte Speicherzugriffs-(DMA) Schaltung 234 umfassen.
Die Speichersteuerschaltung 232 kann die Speicherung von
Daten in dem Speicher 228 und die Abrufung von Daten daraus
steuern. Zum Beispiel kann die Speichersteuerschaltung 232 in
dieser Ausführungsform
Befehle und/oder Daten mit zum Beispiel der Prozessorschaltung 202, Schnittstellenschaltung 204,
Schnittstellenschaltung 210 und/oder Speichersteuerschaltung 230 austauschen.
Mindestens teilweise basierend auf diesen Befehlen kann die Speichersteuerschaltung 232 Daten
und/oder Befehle mit dem Speicher 228 austauschen. Dies
kann dazu führen,
dass der Speicher 228 Daten gemäß den Befehlen und/oder Daten,
die der Speichersteuerschaltung 232 geliefert werden, speichert
und/oder abruft. Außerdem
kann die DMA-Schaltung 234 je nach dem ausgewählten Betriebsmodus
der integrierten Schaltung 40 basierend auf Befehlen und/oder
Daten, die von der Schaltung 234 aus einer anderen Schaltung
in der integrierten Schaltung 40 empfangen werden, den
Austausch von Daten und/oder Befehlen, die von der I/O-Schnittstellenschaltung 204 über eine
oder mehrere Verbindungen 44 empfangen werden oder übertragen
werden sollen, zwischen der I/O-Schnittstelle 204 und der
anderen Schaltung in der integrierten Schaltung 40 steuern.
Ohne von dieser Ausführungsform
abzuweichen, kann die DMA-Schaltung 234 nicht
in der Schaltung 232 enthalten sein, sondern stattdessen
eine Schaltung umfassen, die eine andere ist als die Schaltung 232,
und ist mit der Schaltung 232 und dem Bus 254 verbunden.
-
In
dieser Ausführungsform
kann die Speichersteuerschaltung 230 eine RAID-vorgangsbezogene
Schaltung 240 umfassen. Die Schaltung 240 kann
zum Beispiel die DMA-Schaltung 238 und die RAID-Berechnungsschaltung 236 umfassen.
Die Speichersteuerschaltung 230 kann die Speicherung von
Daten in dem externen Speicher 38 und die Abrufung von
Daten aus diesem steuern. Zum Beispiel kann die Speichersteuerschaltung 230 in
dieser Ausführungsform
Befehle und/oder Daten mit zum Beispiel der Prozessorschaltung 202,
der Schnittstellenschaltung 210 und/oder der Speichersteuerschaltung 232 austauschen.
Mindestens teilweise auf der Grundlage dieser Befehle kann die Speichersteuerschaltung 230 Daten
und/oder Befehle mit dem Speicher 38 austauschen. Dies
kann dazu führen,
dass der Speicher 38 Daten gemäß den Befehlen und/oder Daten,
die der Speichersteuerschaltung 232 geliefert werden, speichert
und/oder abruft. Außerdem
kann die DMA-Schaltung 238 je nach dem ausgewählten Betriebsmodus
der integrierten Schaltung 40 auf der Grundlage von Befehlen
und/oder Daten, die von der Schaltung 238 aus der anderen Schaltung
in der integrierten Schaltung 40 empfangen werden, den
Austausch von RAID-bezogenen Daten zwischen solch einer anderen
Schaltung in der integrierten Schaltung 40 austauschen.
Wie hier verwendet, beziehen sich „RAID-bezogene Daten" auf Daten, die an
Vorgängen
beteiligt sind, die an der Implementierung und/oder Verwaltung einer
RAID wie zum Beispiel der RAID 29 beteiligt sind, als Folge
davon erzeugt werden, als Eingabe oder Operanden darin benutzt werden
und/oder bei der Ausführung und/oder
Ermöglichung
davon benutzt werden. Die RAID-Berechnungsschaltung 236 kann
eine arithmetische Beschleunigerschaltung (nicht dargestellt) umfassen,
die dazu in der Lage sein kann, einen oder mehrere arithmetische
und/oder logische Vorgänge mittels
der und/oder betreffend die RAID-bezogenen Daten wie zum Beispiel
logische Exclusive-OR-Vorgänge
auszuführen,
die aus den anfänglichen
Benutzerdaten RAID-Paritätsdaten
erzeugen können und/oder
die anfänglichen
Benutzerdaten aus solchen RAID-Paritätsdaten erneut erzeugen können. Ohne
von dieser Ausführungsform
abzuweichen, können
die DMA-Schaltung 238 und/oder RAID-Berechnungsschaltung 236 nicht
in der Schaltung 230 enthalten sein, sondern können stattdessen
eine Schaltung umfassen, die nicht die Schaltung 230 ist und
mit der Schaltung 230 und dem Bus 254 verbunden
ist. Wieder ohne von dieser Ausführungsform
abzuweichen, kann die integrierte Schaltung 40 die RAID-Berechnungsschaltung 236 nicht
umfassen, sondern alternativ können
die arithmetischen und/oder logischen Vorgänge, die von der Schaltung 236 ausgeführt werden,
in Abhängigkeit
mindestens teilweise von dem ausgewählten Betriebsmodus der integrierten
Schaltung 40 stattdessen von dem Prozessorkern 216 ausgeführt werden.
-
Wie
oben erwähnt
kann die jeweilige Konstruktion jeder der Protokollmaschinen 250A, 250B, ... 250N identisch
sein. 3 ist ein Diagramm, das die Protokollmaschine 250A darstellt.
Die Protokollmaschine 250A kann ein Datentransportschicht-Protokoll
und eine Datenverbindungsschicht-Protokollschaltung 304 und
eine Steuerschaltung 302 umfassen. Das Datentransportschicht-Protokoll und die Datenverbindungsschicht-Protokollschaltung 304 können mit
der Steuerschaltung 302, dem Bus 206 und der physikalischen
Schnittstellenschaltung 252A elektrisch verbunden sein,
die mit der Protokollmaschine 250A verbunden ist. In dieser
Ausführungsform
kann die Schaltung 304 mehrere unterschiedliche jeweilige
Datentransportschicht-Protokollschaltungen 306A, 306B,
... 306M und mehrere unterschiedliche zugehörige Datenverbindungsschicht-Protokollschaltungen 308A, 308B,
... 308M aufweisen, die jeweils mit der unterschiedlichen
entsprechenden Datentransportschicht-Protokollschaltung 306A, 306B,
... 306M verbunden sind. Zum Beispiel kann die Datentransportschicht-Protokollschaltung 306A in
dieser Ausführungsform
mit einer Datenverbindungsschicht-Protokollschaltung 308A verbunden
und elektrisch gekoppelt sein, die Datentransportschicht-Protokollschaltung 306B kann
mit einer Datenverbindungsschicht-Protokollschaltung 308B verbunden
und elektrisch gekoppelt sein und die Datentransportschicht-Protokollschaltung 306M kann
mit einer Datenverbindungsschicht-Protokollschaltung 308M verbunden
und elektrisch gekoppelt sein.
-
In
dieser Ausführungsform
kann die Datentransportschicht-Protokollschaltung 306A, 306B,
... 306M unterschiedliche zugehörige Datentransportschicht-Kommunikationsprotokolle
ausführen,
die mit den unterschiedlichen zugehörigen Kommunikationsprotokollen,
gemäß denen
die Karte 20 mit dem Massenspeicher 28 über eine
oder mehrere Verbindungen 44 kommunizieren kann, verbunden und/oder
darin enthalten sein können.
In ähnlicher Weise
kann die Datenverbindungsschicht-Protokollschaltung 308A, 308B,
... 306M unterschiedliche zugehörige Verbindungsschicht-Kommunikationsprotokolle
ausführen,
die mit den unterschiedlichen zugehörigen Kommunikationsprotokollen,
gemäß denen die
Karte 20 mit dem Massenspeicher 28 über eine oder
mehrere Verbindungen 44 kommunizieren kann, verbunden und/oder
darin enthalten sein können.
Jede der zugehörigen
Datentransportschicht-Protokollschaltungen 306A, 306B,
... 306M kann mit der zugehörigen Verbindungsschicht-Protokollschaltung 308A, 308B,
... 308M verbunden oder daran gekoppelt sein, die das jeweilige
Datenverbindungsschicht-Protokoll ausführen kann, das mit dem gleichen
jeweiligen Kommunikationsprotokoll verbunden und/oder darin enthalten
ist wie das jeweilige Datentransportschicht-Protokoll, das jeweils
von der zugehörigen
Datentransportschicht-Protokollschaltung 306A, 306B,
... 306M ausgeführt
werden kann. Zum Beispiel können
die Schaltung 306A und die Schaltung 308A in dieser
Ausführungsform
jeweils ein Datentransportschicht-Protokoll und ein Datenverbindungsschicht-Protokoll
ausführen,
die jeweils mit dem Datentransportschicht-Protokoll und dem Datenverbindungsschichtprotokoll,
das in einem SAS-Protokoll
benutzt wird, verbunden sein und/oder darin enthalten sein können. Zum
Beispiel können die
Schaltung 306B und die Schaltung 308B in dieser Ausführungsform
jeweils auch ein Datentransportschicht-Protokoll und ein Datenverbindungsschicht-Protokoll
ausführen,
die jeweils mit dem Datentransportschicht-Protokoll und dem Datenverbindungsschicht-Protokoll,
das in einem FC-Protokoll benutzt
wird, verbunden sein und/oder darin enthalten sein können. Zum
Beispiel können
die Schaltung 306M und die Schaltung 308M in dieser
Ausführungsform
zusätzlich
jeweils ein Datentransportschicht-Protokoll und ein Datenverbindungsschicht-Protokoll
ausführen,
die jeweils mit dem Datentransportschicht-Protokoll und dem Datenverbindungsschicht-Protokoll,
das in einem S-ATA-Protokoll
benutzt wird, verbunden sein und/oder darin enthalten sein können. Die
Anzahl und die Art unterschiedlicher Datentransportschicht- und
Datenverbindungsschicht-Kommunikationsprotokolle, die von der Schaltung 304 implementiert
werden können.
-
Wenn
jede zugehörige
Datentransportschicht-Protokollschaltung 306A, 306B,
... 306M aktiv ist, kann sie Steuer- und/oder Datensignale
als Reaktion mindestens teilweise auf Befehle und/oder Daten, die
von dem Prozessorkern 218 empfangen und gemäß dem zugehörigen Datentransportschicht-Protokoll
von der jeweiligen Schaltung 306A, 306B, ... 306M ausgeführt werden,
der jeweiligen Datenverbindungsschicht-Schaltung 308A, 308B,
... 308M bereitstellen, mit denen die jeweilige Schaltung 306A, 306B,
... 306M verbunden ist. Dies kann bewirken, dass die jeweilige
Datenverbindungsschicht-Protokollschaltung 308A, 308B,
... 308M, die solche Steuer- und/oder Datensignale empfängt, entsprechende
Steuer- und/oder
Datensignale gemäß dem jeweiligen
Datenverbindungsschicht-Protokoll, das von dieser jeweiligen Datenverbindungsschicht-Schaltung
ausgeführt
wird, der physikalischen Schichtschnittstellenschaltung 252A bereitgestellt
wird. Dies kann dazu führen,
dass die physikalische Schichtschnittstellenschaltung 252A über eine der
Verbindungen 44 entsprechende Daten- und/oder Steuersignale
gemäß dem jeweiligen
Kommunikationsprotokoll (zum Beispiel SAS, FC oder S-ATA), welches
das jeweilige Datenverbindungsschicht-Protokoll umfasst, das von
der jeweiligen Datenverbindungsschicht-Schaltung ausgeführt wird, an
den Massenspeicher 28 überträgt.
-
In ähnlicher
Weise kann die physikalische Schichtschnittstellenschaltung 252A in
dieser Ausführungsform
Daten- und/oder Steuersignale gemäß dem jeweiligen Kommunikationsprotokoll
(zum Beispiel SAS, FC oder S-ATA), das von der Verbindung in den
Verbindungen 44 benutzt wird, mit der sie verbunden ist,
von dem Massenspeicher 28 empfangen. Mindestens teilweise
in Abhängigkeit
von dem ausgewählten
Betriebsmodus der integrierten Schaltung 40 kann die physikalische
Schichtschnittstellenschaltung 252A die empfangenen Daten- und/oder Steuersignale
der Datenverbindungsschicht-Protokollschaltung 308A, 308B,
... 308M bereitstellen, die in dem ausgewählten Betriebsmodus
aktiv ist. Dies kann dazu führen,
dass die aktive Datenverbindungsschicht-Protokollschaltung gemäß dem jeweiligen Datenverbindungsschicht-Protokoll,
das von der aktiven Datenverbindungsschicht-Protokollschaltung ausgeführt wird,
entsprechende Steuer- und/oder Datensignale zur Verwendung von der
Datentransportschicht-Protokollschaltung erzeugt und der Datentransportschicht-Protokollschaltung
bereitstellt, mit der sie verbunden ist. Dies kann bewirken, dass diese
Transportschicht-Protokollschaltung gemäß dem Datentransportschicht-Protokoll,
das von dieser Transportschicht-Protokollschaltung ausgeführt wird, entsprechende
Daten und/oder Befehle erzeugt, die zum Beispiel von einem Anwendungsprogramm
benutzt werden sollen, das von der Prozessorschaltung 202 und/oder
dem Hostprozessor 12 ausgeführt wird. Der Prozessorkern 202 kann
ein Signal an die Speichersteuerschaltung 232, Schnittstellenschaltung 210,
Schnittstellenschaltung 204 und/oder DMA-Schaltung 234 senden.
Dies kann zum Beispiel bewirken, dass die von dieser Transportschicht- Protokollschaltung
erzeugten Daten und/oder Befehle in dem Speicher 228 gespeichert
werden, dem Prozessorkern 218 bereitgestellt und/oder dem
Hostprozessor 12 zur Verwendung zum Beispiel von diesem
Anwendungsprogramm bereitgestellt werden.
-
In
dieser Ausführungsform
kann die Steuerschaltung 302 in der Protokollmaschine 250A als
Reaktion mindestens teilweise auf einen oder mehrere Befehle, die
von der Schnittstellenschaltung 204 aus zum Beispiel dem
Prozessorkern 218 empfangen werden, auswählen, welche
der Datentransportschicht-Protokollschaltungen 306A, 306B,
... 306M und welche der Datenverbindungsschicht-Protokollschaltungen 308A, 308B,
... 308M aktiv und/oder betriebsbereit sein können. Das
heißt,
wie nachstehend erläutert,
der Prozessorkern 218 kann je nach dem ausgewählten Betriebsmodus
der integrierten Schaltung 40 der Schnittstellenschaltung 204 einen
oder mehrere Befehle bereitstellen, die mit diesem ausgewählten Betriebsmodus
verbunden sind. Dies kann bewirken, dass die Steuerschaltung 302 Signale
an die Schaltung 304 sendet. Dies kann dazu führen, dass
nur eine der Transportschicht-Protokollschaltungen 306A, 306B,
... 306M (zum Beispiel die Schaltung 306A) und
nur eine der Datenverbindungsschicht-Protokollschaltungen 308A, 308B,
... 308M (zum Beispiel die Schaltung 308A, die
mit der Schaltung 306A verbunden ist), mit dem ausgewählten Betriebsmodus
der integrierten Schaltung 40 assoziiert ist, in dem Protokollmaschine 250A aktiv und/oder
betriebsbereit ist. Folglich kann die Protokollmaschine 250A mit
dem Massenspeicher 28 nur gemäß dem Kommunikationsprotokoll
(zum Beispiel SAS-Protokoll) kommunizieren, das die Transport- und
Datenverbindungsschicht-Protokolle umfasst und/oder damit verbunden
ist, die von der aktiven Transport- und Datenverbindungsschicht-Schaltung 306A und 308A in
der Protokollmaschine 250A ausgeführt werden. Folglich kann die
Auswahl des Betriebsmodus der integrierten Schaltung 40 der Erzeugung
eines oder mehrerer Befehle von dem Prozessorkern 218 entsprechen
und diese bewirken, die zu der Auswahl führen können, welche der Transport- und
Datenverbindungsschicht-Protokollschaltungen in der Protokollmaschine 250A aktiv
und/oder betriebsbereit sein kann, und dadurch des Kommunikationsprotokolls,
das von der Protokollmaschine 250A benutzt werden kann,
um mit dem Massenspeicher 28 zu kommunizieren. In ähnlicher
Weise können
der eine oder die mehreren Befehle, die von dem Prozessorkern 218 der
Schnittstellenschaltung 204 als Folge der Auswahl des Betriebsmodus
der integrierten Schaltung 40 bereitgestellt werden, auch
zu der Auswahl der entsprechenden Kommunikationsprotokolle führen, die
von jeder der anderen Protokollmaschinen in der Schnittstellenschaltung 204 benutzt
werden, um mit dem Massenspeicher 28 zu kommunizieren.
Zusätzlich
oder ersatzweise können
dieser eine oder diese mehreren Befehle auch auswählen, welche
der Protokollmaschinen 250A, 250B, ... 250N aktiviert
und/oder betriebsbereit sein kann oder deaktiviert und/oder nicht
betriebsbereit sein kann.
-
Außerdem können mindestens
teilweise in Abhängigkeit
von dem ausgewählten
Betriebsmodus der integrierten Schaltung 40 der Prozessorkern 216 und/oder
die RAID-vorgangsbezogene Schaltung 240 entweder aktiviert
werden, um einen oder mehrere Vorgänge auszuführen, die an der Implementierung
und/oder Verwaltung einer RAID wie zum Beispiel der RAID 29 beteiligt
sind, oder deaktiviert werden, um diese nicht auszuführen. Wenn
der Prozessorkern 216 und die Schaltung 240 zum
Beispiel aktiviert sind, um solche Vorgänge auszuführen, kann der Prozessorkern 216 als
Reaktion mindestens teilweise auf zum Beispiel eine oder mehrere
Anfragen, die von dem Hostprozessor 12 an die integrierte Schaltung 40 erteilt
werden, um Benutzerdaten in der RAID 29 zu speichern, abzurufen
und/oder wiederherzustellen, Programmbefehle ausführen, die
in dem Speicher 220 gespeichert sind und den Prozessorkern 216 dazu
veranlassen können,
gemäß zum Beispiel
herkömmlicher
RAID-Techniken Stellen in der RAID 29 zu bestimmen, in
denen Prüfdaten und/oder
Benutzerdaten, die mit den Prüfdaten
verbunden sind, gespeichert werden und/oder aus denen diese abgerufen
werden können.
Wie hier verwendet, bedeuten „Prüfdaten" erste Daten, die
mindestens teilweise auf der Grundlage von zweiten Daten erzeugt
werden und aus denen die zweiten Daten mindestens teilweise erneut
erzeugt werden können. Wenn
die RAID-Menge, die in der RAID 29 implementiert ist, gleich
null ist, können
Prüfdaten
nicht in der RAID 29 vorhanden sein, und diese Stellen
können
zum Beispiel Stellen in der RAID 29 eines oder mehrer Streifen
(nicht dargestellt) von Benutzerdaten umfassen. Wenn die RAID-Menge, die in der
RAID 29 implementiert ist, größer als eins ist, können die Prüfdaten Paritätsdaten
umfassen, und diese Stellen können
zum Beispiel Stellen in der RAID 29 eines oder mehrerer
Streifen (nicht dargestellt) solcher Prüfdaten und/oder Benutzerdaten
umfassen. Wenn die RAID-Menge,
die in der RAID 29 implementiert ist, alternativ gleich
eins ist (das heißt,
die RAID 29 eine Datenspiegelung implementiert), können die Prüfdaten eine
Kopie der Benutzerdaten umfassen und diese Stellen können zum
Beispiel Stellen der Benutzerdaten und die redundante Kopie der
Benutzerdaten in jeweiligen gespiegelten Volumina (nicht dargestellt)
in der RAID 29 umfassen. In dieser Ausführungsform können der
Prozessorkern 216 und/oder die RAID-Berechnungsschaltung 236 herkömmliche
RAID-Techniken benutzen, um die Prüfdaten mindestens teilweise
auf der Grundlage der Benutzerdaten zu erzeugen und/oder die Benutzerdaten
mindestens teilweise auf der Grundlage der Prüfdaten erneut zu erzeugen.
Je nach dem ausgewählten
Betriebsmodus der integrierten Schaltung 40 kann der Prozessorkern 218 Signale
an die Schnittstellenschaltung 204 senden. Dies kann dazu
führen, dass
eine der Protokollmaschinen (zum Beispiel die Protokollmaschine 250A)
die Benutzerdaten und/oder Prüfdaten über ihre
assoziierte Schnittstelle 252A und eine der Verbindungen 44,
mit der die Schnittstelle 252A verbunden sein kann, an
den Massenspeicher 28 sendet und/oder daraus abruft. Die Benutzerdaten
und/oder Prüfdaten
können
an den Stellen, die von dem Prozessor 216 bestimmt werden,
in der RAID gespeichert oder daraus abgerufen werden.
-
Der
Speicher 39, Speicher 220, Speicher 224 und/oder
Speicher 228 können
Programmbefehle umfassen, die, wenn sie von der integrierten Schaltung
ausgeführt
werden, unter anderem dazu führen können, dass
die Karte 20 Vorgänge
gemäß einer Ausführungsform
ausführt. 5 ist
ein Flussdiagramm, das diese und andere Vorgänge 600 darstellt,
die in dem System 100 gemäß einer Ausführungsform
ausgeführt
werden können.
-
Wie
durch Vorgang 602 dargestellt, können die Vorgänge 600 mit
der Auswahl des ausgewählten Betriebsmodus
der integrierten Schaltung 40 beginnen. In dieser Ausführungsform
kann der ausgewählte
Betriebsmodus der integrierten Schaltung 40 mindestens
teilweise auf der Grundlage oder als Folge eines oder mehrer Signale,
die der GPIO-Schnittstellenschaltung 248 von der Auswahlschaltung 42 bereitgestellt
werden, eines oder mehrerer Signale, die der Hostbus-Schnittstellenschaltung 210 von
dem Hostprozessor 12 bereitgestellt werden, der Ausführung von
der Prozessorschaltung 202 eines oder mehrerer Programmbefehle,
die in dem Speicher 39 gespeichert sind, und/oder der Detektion
und/oder Erkennung durch die Schaltung 204 eines oder mehrerer
jeweiliger Kommunikationsprotokolle, die in einer oder mehreren
Verbindungen 44 benutzt werden, ausgewählt werden.
-
Zum
Beispiel kann die Auswahlschaltung 42 in dieser Ausführungsform
eine oder mehrere Brücken
und/oder ein oder mehrere Dual-In-Line-Gehäuse(DIL)-Schalter 43 umfassen,
die (zum Beispiel von einem nicht dargestellten Bediener) in mehreren unterschiedlichen
Konfigurationen eingestellt sein können, um den ausgewählten Betriebsmodus
der integrierten Schaltung 40 auszuwählen. Das heißt, die
mehreren unterschiedlichen Konfigurationen der Brücke und/oder
Schalter 43 können
entsprechenden unterschiedlichen Betriebsmodi der integrierten Schaltung 40 entsprechen.
Wenn die eine oder die mehreren Brücken und/oder der eine oder
die mehreren DIL-Schalter 43 in einer bestimmten Konfiguration
eingestellt sind, kann die Auswahlschaltung 42 ein oder
mehrere Steuersignale erzeugen, die dem Betriebsmodus der integrierten
Schaltung 40, welcher der bestimmten Konfiguration entspricht,
entsprechen können
und/oder diese anzeigen können.
Nach zum Beispiel einer Rückstellung
der integrierten Schaltung 40 können diese ein oder mehrere
Steuersignale den Prozessorkernen 216 und 218 über die Schaltung 246,
Schaltung 244, den Bus 254, die Brückenschaltung 208 und
den Bus 206 geliefert werden.
-
Als
Reaktion mindestens teilweise auf dieses eine oder diese mehreren
Steuersignale kann der Prozessorkern 218 ein oder mehrere
Befehle erzeugen und an die Schnittstellenschaltung 204 und/oder Hostbus-Schnittstellenschaltung 210 liefern,
die gemäß dem Betriebsmodus
der integrierten Schaltung 40, der dem einen oder den mehreren
Steuersignalen entspricht oder durch diese anzeigt wird, auswählen können, welche
der Busschnittstellen 212 und 214 jeweils zu aktivieren
oder deaktivieren ist, welche Protokollmaschinen 250A, 250B,
... 250N jeweils zu aktivieren oder deaktivieren sind und/oder
die Protokolle, die von den Protokollmaschinen 250A, 250B, ... 250N zu
implementieren sind. Der Prozessorkern 218 kann auch einen
oder mehrere Befehle erzeugen und an die DMA-Schaltung 234 liefern, die
in Abhängigkeit
des Betriebsmodus der integrierten Schaltung 40, der dem
einen oder den mehreren Steuersignalen entspricht oder durch diese
anzeigt wird, entweder die DMA-Schaltung 234 aktivieren,
um den Austausch zwischen der I/O- Schnittstellenschaltung 204 und
der anderen Schaltung in der integrierten Schaltung 40 von
Daten und/oder Befehlen zu steuern, die von der I/O-Schnittstellenschaltung 204 über eine oder
mehrere Verbindungen 44 empfangen werden oder übertragen
werden sollen, oder die DMA-Schaltung 234 zu deaktivieren,
um diesen nicht mehr zu steuern.
-
Auch
als Reaktion mindestens teilweise dieses einen oder dieser mehreren
Steuersignale aus der Auswahlschaltung 42 kann der Prozessorkern 216 gemäß dem Betriebsmodus
der integrierten Schaltung 40, die dem einen oder den mehreren Steuersignalen
entspricht und/oder durch diese angezeigt wird, bestimmen, ob der
Prozessorkern 216 und/oder die RAID-vorgangsbezogene Schaltung 240 je
nach dem Betriebsmodus der integrierten Schaltung 40, der
von den Brücken
und/oder Schaltern 43 ausgewählt wird, betriebsbereit und/oder
aktiviert sein sollen oder nicht betriebsbereit und/oder deaktiviert
sein sollen.
-
Wenn
der Prozessorkern 216 bestimmt, dass der Prozessorkern 216 und/oder
die RAID-vorgangsbezogene Schaltung 240 betriebsbereit
und/oder aktiviert sein sollen, kann der Prozessorkern 216 Signale
an die Schaltung 240 senden. Dies kann bewirken, dass der
Prozessorkern 216 und/oder die Schaltung 240 einen
oder mehrere Vorgänge
ausführt,
die an der Implementierung und/oder Verwaltung einer RAID wie zum
Beispiel der RAID 29 beteiligt sind.
-
Wenn
der Prozessorkern 216 im Gegensatz dazu bestimmt, dass
der Prozessorkern 216 und/oder die RAID-vorgangsbezogene
Schaltung 240 nicht betriebsbereit und/oder deaktiviert
sein sollen, kann der Prozessorkern 216 Signale an die Schaltung 240 senden.
Dies kann bewirken, dass der Prozessorkern 216 und/oder
die Schaltung 240 deaktiviert werden, um keinen des einen
oder der mehreren Vorgänge
auszuführen,
die an der Implementierung und/oder Verwaltung einer RAID wie zum Beispiel
der RAID 29 beteiligt sind.
-
Alternativ
oder zusätzlich
können
das eine oder die mehreren Steuersignale aus der Auswahlschaltung 42 auch
an die Schaltung 210, Schaltung 234 und/oder Schaltung 240 geliefert
werden. Dies kann gemäß dem Betriebsmodus
der integrierten Schaltung 40, der dem einen oder den mehreren Steuersignalen
entspricht und/oder durch diese angezeigt wird, zu der Aktivierung
oder Deaktivierung der Busschnittstellenschaltung 212,
Busschnittstellenschaltung 214, Schaltung 240 und/oder
Schaltung 234 führen.
-
Alternativ
oder zusätzlich
kann der ausgewählte
Betriebsmodus der integrierten Schaltung 40 in dieser Ausführungsform
mindestens teilweise basierend auf und/oder als Folge von einem
oder mehreren Signalen, die der Hostbus-Schnittstellenschaltung 210 von
dem Hostprozessor 12 bereitgestellt werden, in Vorgang 602 ausgewählt werden.
Zum Beispiel kann die Hostbus-Schnittstellenschaltung 210 eine
oder mehrere Speicherstellen (nicht dargestellt) aufweisen, die
einen oder mehrere Werte enthalten können, die den ausgewählten Betriebsmodus der
integrierten Schaltung 40 anzeigen können. Diese eine oder diese
mehreren Speicherstellen können zum
Beispiel ein oder mehrere Konfigurationsregister umfassen. Nach
einer Rückstellung
des Systems 100 können
dieser eine oder diese mehreren Werte einen Standardbetriebsmodus
der integrierten Schaltung 40 anzeigen, in dem eine geeignete,
vorbestimmte der Schnittstellenschaltung 212 und Schnittstellenschaltung 214 aktiviert
wird, und zwar in Abhängigkeit
dessen, ob zum Beispiel der Bus 22 ein PCI-X-Bus oder ein
PCI ExpressTM-Bus ist. Der Hostprozessor 12 kann
gemäß dem Busprotokoll,
mit dem der Bus 22 kompatibel sein oder übereinstimmen kann,
einen oder mehrere Konfigurationszyklen initiieren und/oder ausführen, während der
der Hostprozessor 12 der Schaltung 210 ein oder
mehrere Steuersignale bereitstellen kann, die zu einer mindestens teilweisen Änderung
dieses einen oder dieser mehreren Werte führen können, um den Betriebsmodus auszuwählen, in
dem die integrierte Schaltung 40 arbeiten soll. Das heißt, dieser
eine oder diese mehreren Werte, die mindestens teilweise von dem
Hostprozessor 12 geändert
werden, können
einen Betriebsmodus anzeigen, in dem die integrierte Schaltung 40 arbeiten
soll. Davor oder gleichzeitig damit kann ein Bediener des Systems 100 den
gewünschten
Betriebsmodus der integrierten Schaltung 40 auswählen und
einen oder mehrere Befehle über
das Benutzerschnittstellensystem 16 an den Hostprozessor 12 erteilen,
was bewirken kann, dass der Hostprozessor 12 diesen einen
oder diese mehreren Werte derart ändert, dass der eine oder die
mehreren geänderten
Werte den gewünschten
Betriebsmodus anzeigen.
-
Danach
können
die Prozessorkerne 216 und 218 diesen einen oder
diese mehreren Werte, die in der einen oder den mehreren Speicherstellen
in der Hostbus-Schnittstellenschaltung 210 gespeichert sind,
untersuchen und können
daraus den ausgewählten
Betriebsmodus der integrierten Schaltung 40 bestimmen.
Der Prozessorkern 218 kann einen oder mehrere Befehle erzeugen
und an die Schnittstellenschaltung 204 liefern, die gemäß dem Betriebsmodus
der integrierten Schaltung 40, der diesen einem oder diese
mehreren Werten entspricht und/oder durch diese angezeigt wird,
auswählen
können,
welche Protokollmaschinen 250A, 250B, ... 250N jeweils zu
aktivieren oder deaktivieren sind und/oder die Protokolle, die von
den Protokollmaschinen 250A, 250B, ... 250N zu
implementieren sind. Der Prozessorkern 218 kann auch einen
oder mehrere Befehle erzeugen und an die DMA-Schaltung 234 liefern,
die in Abhängigkeit
des Betriebsmodus der integrierten Schaltung 40, der dem
einen oder den mehreren Werten entspricht oder von diesen angezeigt
wird, entweder die DMA-Schaltung 234 aktivieren, um den
Austausch zwischen der I/O-Schnittstellenschaltung 204 und der
anderen Schaltung in der integrierten Schaltung 40 von
Daten und/oder Befehlen zu steuern, die von der I/O- Schnittstellenschaltung 204 über eine
oder mehrere Verbindungen 44 empfangen werden oder übertragen
werden sollen, oder die DMA-Schaltung 234 zu deaktivieren,
um diesen nicht mehr zu steuern.
-
Der
Prozessorkern 216 kann gemäß dem Betriebsmodus der integrierten
Schaltung 40, der dem einen oder den mehreren Werten entspricht oder
von diesen angezeigt wird, bestimmen, ob der Prozessorkern 216 und/oder
die RAID-vorgangsbezogene
Schaltung 240 gemäß dem Betriebsmodus der
integrierten Schaltung 40, der von dem einen oder den mehreren
Werten angezeigt wird, betriebsbereit und/oder aktiviert sein sollen
oder nicht betriebsbereit und/oder deaktiviert sein sollen.
-
Wenn
der Prozessorkern 216 bestimmt, dass der Prozessorkern 216 und/oder
die RAID-vorgangsbezogene Schaltung 240 betriebsbereit
und/oder aktiviert sein sollen, kann der Prozessorkern 216 Signale
an die Schaltung 240 senden. Dies kann bewirken, dass der
Prozessorkern 216 und/oder die Schaltung 240 einen
oder mehrere Vorgänge
ausführt,
die an der Implementierung und/oder Verwaltung einer RAID wie zum
Beispiel der RAID 29 beteiligt sind.
-
Wenn
der Prozessorkern 216 im Gegensatz dazu bestimmt, dass
der Prozessorkern 216 und/oder die RAID-vorgangsbezogene
Schaltung 240 nicht betriebsbereit und/oder deaktiviert
sein sollen, kann der Prozessorkern 216 Signale an die Schaltung 240 senden.
Dies kann bewirken, dass der Prozessorkern 216 und/oder
die Schaltung 240 deaktiviert werden, um einen oder mehrere
Vorgänge auszuführen, die
an der Implementierung und/oder Verwaltung einer RAID wie zum Beispiel
der RAID 29 beteiligt sind.
-
Alternativ
oder zusätzlich
können
die Schaltung 234 und/oder die Schaltung 240 den
einen oder die mehreren Werte, die in der Schaltung 210 gespeichert
sind, untersuchen. Dies kann gemäß dem Betriebsmodus
der integrierten Schaltung 40, der dem einen oder den mehreren
Werten entspricht oder von diesen angezeigt wird, zur Aktivierung
oder Deaktivierung der Schaltung 240 und/oder Schaltung 234 führen.
-
Alternativ
oder zusätzlich
kann der ausgewählte
Betriebsmodus der integrierten Schaltung 40 in dieser Ausführungsform
mindestens teilweise auf der Grundlage und/oder als Folge der Ausführung durch
die Prozessorschaltung 202 eines oder mehrerer Programmbefehle,
die in dem Speicher 39 gespeichert sind, in Vorgang 602 ausgewählt werden. Das
heißt,
gemäß dieser
Ausführungsform
können unterschiedliche
entsprechende Betriebsmodi der integrierten Schaltung 40 mit
unterschiedlichen entsprechenden Firmware-Programmbefehlssatzbildern verbunden
werden, die bei Ausführung
mindestens teilweise von dem Prozessorkern 216 und dem
Prozessorkern 218 dazu führen können, dass diese entsprechenden
Betriebsmodi mit diesen entsprechenden ausgewählten Bildern verbunden werden,
und auch dazu führen
können,
dass die integrierte Schaltung 40 in den entsprechenden
Betriebsmodi arbeitet. In dieser Ausführungsform kann nur ein einzelnes Firmware-Programmbefehlssatzbild
in dem Speicher 39, Speicher 220 und/oder Speicher 224 gespeichert werden.
Dieses einzelne Firmware-Programmbefehlssatzbild kann einen oder
mehrere Firmware-Programmbefehle umfassen, die von den Prozessorkernen 216 und
Prozessor 218 nach zum Beispiel einer Rückstellung der integrierten
Schaltung 40 ausgeführt
werden können.
Dies kann bewirken, dass der Prozessorkern 218 einen oder
mehrere Befehle erzeugt und an die Schnittstellenschaltung 204 liefert,
die gemäß dem Betriebsmodus
der integrierten Schaltung 40, der mit dem einzelnen Firmware-Programmsatzbild
verbunden ist, das in dem Speicher 39, Speicher 220 und/oder
Speicher 224 gespeichert ist, auswählen kann, welche der Schnittstellen 212 und 214 zu
aktivieren ist und welche Protokollmaschinen 250A, 250B,
... 250N jeweils zu aktivieren oder deaktivieren sind und/oder
die Protokolle, die von den Protokollmaschinen 250A, 250B,
... 250N zu implementieren sind. Dies kann auch dazu führen, dass
der Prozessorkern 218 einen oder mehrere Befehle erzeugt
und an die DMA-Schaltung 234 liefert,
die in Übereinstimmung
mit dem Betriebsmodus der integrierten Schaltung 40, der
mit dem in dem Speicher 39 gespeicherten einzelnen Firmware-Programmsatzbild
verbunden ist, entweder die DMA-Schaltung 234 aktivieren,
um den Austausch zwischen der I/O-Schnittstellenschaltung 204 und der
anderen Schaltung in der integrierten Schaltung 40 von
Daten und/oder Befehlen zu steuern, die von der I/O-Schnittstellenschaltung 204 über eine
oder mehrere Verbindungen 44 empfangen werden oder übertragen
werden sollen, oder die DMA-Schaltung 234 zu deaktivieren,
um diesen nicht mehr zu steuern.
-
Die
Ausführung
dieses einen oder dieser mehreren Programmbefehle von dem Prozessorkern kann
auch dazu führen,
dass der Prozessorkern 216 gemäß dem Betriebsmodus der integrierten
Schaltung 40, der mit diesem einzelnen Firmware-Programmbefehlssatzbild
verbunden ist, bestimmt, ob der Prozessorkern 216 und/oder
die RAID-vorgangsbezogene Schaltung 240 in Übereinstimmung
mit diesem Betriebsmodus der integrierten Schaltung 40 betriebsbereit
und/oder aktiviert sein sollen oder nicht betriebsbereit und/oder
deaktiviert sein sollen.
-
Wenn
der Prozessorkern 216 bestimmt, dass der Prozessorkern 216 und/oder
die RAID-vorgangsbezogene Schaltung 240 betriebsbereit
und/oder aktiviert sein sollen, kann der Prozessorkern 216 Signale
an die Schaltung 240 senden. Dies kann bewirken, dass der
Prozessorkern 216 und/oder die Schaltung 240 einen
oder mehrere Vorgänge
ausführt,
die an der Implementierung und/oder Verwaltung einer RAID wie zum
Beispiel der RAID 29 beteiligt sind.
-
Wenn
der Prozessorkern 216 im Gegensatz dazu bestimmt, dass
der Prozessorkern 216 und/oder die RAID-vorgangsbezogene
Schaltung 240 nicht betriebsbereit und/oder deaktiviert
sein sollen, kann der Prozessorkern 216 Signale an die Schaltung 240 senden.
Dies kann bewirken, dass der Prozessorkern 216 und/oder
die Schaltung 240 deaktiviert sind, um einen oder mehrere
Vorgänge auszuführen, die
an der Implementierung und/oder Verwaltung einer RAID wie zum Beispiel
der RAID 29 beteiligt sind.
-
Alternativ
oder zusätzlich
kann der ausgewählte
Betriebsmodus der integrierten Schaltung 40 mindestens
teilweise auf der Grundlage und/oder als Folge der Detektion und/oder
Erkennung durch die Schaltung 204 des einen oder der mehreren
jeweiligen Kommunikationsprotokolle, die von einer oder mehreren
Verbindungen 44 benutzt werden, in Vorgang 602 ausgewählt werden.
Das heißt,
die Schaltung 204 kann Signale, die über eine oder mehrere Verbindungen 44 an
die Schaltung 204 übertragen werden,
die Daten und/oder Befehle verkörpern
können,
untersuchen und kann mindestens teilweise auf der Grundlage solch
einer Untersuchung ein oder mehrere jeweilige Kommunikationsprotokolle
detektieren und/oder erkennen, über
die solche Befehle und/oder Daten über eine oder mehrere Verbindungen 44 an
die Schaltung 204 übertragen
worden sein können.
Die Schaltung 204 kann dem Prozessorkern 218 ein
oder mehrere Signale bereitstellen, welche dieses eine oder diese
mehreren detektierten und/oder erkannten Protokolle anzeigen können und kann
gemäß dieser
detektierten oder erkannten Protokolle auswählen, welche Protokollmaschinen 250A, 250B,
... 250N jeweils zu aktivieren oder deaktivieren sind und/oder
das eine oder die mehreren Protokolle, die von den Protokollmaschinen 250A, 250B,
... 250N zu implementieren sind. Mindestens teilweise auf
der Grundlage der Anzeige, die dem Prozessorkern 218 von
der Schaltung 204 bereitgestellt wird, kann der Prozessorkern 218 einen
oder mehrere Befehle erzeugen und an die DMA-Schaltung 234 liefern,
welche die DMA-Schaltung 234 aktivieren können, um
den Austausch zwischen der I/O-Schnittstellenschaltung 204 und
der anderen Schaltung in der integrierten Schaltung 40 von
Daten und/oder Befehlen, die von der I/O-Schnittstellenschaltung 204 über eine
oder mehrere Verbindungen 44 empfangen werden oder übertragen
werden sollen, zu steuern. Ein oder mehrere Signale, die der GPIO-Schnittstellenschaltung 248 von
der Auswahlschaltung 42 bereitgestellt werden, ein oder
mehrere Signale, die der Hostbus-Schnittstellenschaltung 210 von
dem Hostprozessor 12 bereitgestellt werden, und/oder die
Ausführung
durch die Prozessorschaltung 202 eines oder mehrerer Programmbefehle,
die in dem Speicher 39 gespeichert sind, können benutzt werden,
um zum Beispiel in der oben beschriebenen Weise auszuwählen, ob
der Prozessorkern 216 und/oder die RAID-vorgangsbezogene Schaltung 240 betriebsbereit
und/oder aktiviert sein sollen oder nicht betriebsbereit und/oder
deaktiviert sein sollen, und welche der Schnittstellen 212 und 214 zu
aktivieren ist.
-
Nachdem
der ausgewählte
Betriebsmodus der integrierten Schaltung 40 als Ergebnis
von Vorgang 602 ausgewählt
worden ist, kann die integrierte Schaltung 40 in dem ausgewählten Betriebsmodus wie
durch Vorgang 604 in 5 dargestellt
arbeiten. Zum Beispiel kann ein Betriebsmodus, der als Ergebnis
von Vorgang 602 ausgewählt
sein kann, von der integrierten Schaltung 40 in dem System 100' in 4 ausgeführt werden.
Sofern nicht anderweitig angegeben, können die Konstruktion und Betriebsweise
des Systems 100' im
Wesentlichen der Konstruktion und Betriebsweise des Systems 100 aus 1 entsprechen.
In diesem Betriebsmodus der integrierten Schaltung 40 kann
die Schnittstellenschaltung 204 Daten und/oder Befehle
auf der Grundlage mindestens teilweise von Befehlen, die von dem
Prozessorkern 218 empfangen werden, mit der RAID 29 austauschen.
Der Prozessorkern 216 und die Schaltung 240 können deaktiviert
sein und ein oder mehrere Vorgänge,
die an der Ausführung
und/oder Ermöglichung
von Vorgängen
beteiligt sind, die an der Implementierung und/oder Verwaltung der
RAID 29 beteiligt sind, können von einer RAID-Steuerkarte 504 statt
von dem Prozessorkern 216 und/oder Schaltung 240 ausgeführt werden.
In dem System 100' kann
die Karte 504 eine Busschnittstelle 510 umfassen.
Je nach dem, ob zum Beispiel der Bus 22 einen PCI ExpressTM-Bus
oder einen PCI-X-Bus umfasst, kann das System 100' einen Schaltkartenschlitz 502 umfassen,
der einen Schaltkartenschlitz 510 aufweisen kann, der zum
Beispiel einen mit einem PCI ExpressTM-
oder PCI-X-Bus kompatiblen oder übereinstimmenden
Erweiterungsschlitz oder Schnittstelle 506 umfassen kann.
Die Schnittstelle 506 kann einen Busverbinder 508 umfassen,
der elektrisch und mechanisch an einen passenden Busverbinder 512 angepasst
ist, der in einer Buserweiterungsschnittstelle 510 in der
Schaltkarte 504 enthalten sein kann. Wenn der Verbinder 508 mit
dem Verbinder 512 zusammenpasst, kann die Karte 504 Daten
und/oder Befehle mit anderen Vorrichtungen wie zum Beispiel der Karte 20 über den
Bus 22 austauschen.
-
In
dem System 100' können Daten
und/oder Befehle, die von der Karte 20 aus der RAID 29 empfangen
werden, die in einem oder mehreren Vorgängen benutzt werden sollen,
die an der Ausführung und/oder
Ermöglichung
von Vorgängen
beteiligt sind, die an der Implementierung und/oder Verwaltung der RAID 29 beteiligt
sind, von der integrierten Schaltung 40 über den
Bus 22 an die Karte 504 übertragen werden. Die Karte 504 kann
solche Vorgänge
ausführen und
an die integrierte Schaltung 40 andere Befehle und/oder
Daten übertragen,
welche die Ergebnisse solcher Vorgänge darstellen und/oder verkörpern können. Der
Prozessorkern 218 kann der Schnittstelle 204 ein
oder mehrere Steuersignale bereitstellen, die dazu führen können, dass
die Schnittstelle 204 diese anderen Daten und/oder Befehle an
die RAID 29 überträgt, um die
RAID 29 mindestens teilweise zu implementieren und/oder
verwalten.
-
Alternativ
kann die Karte 504 in einem anderen Betriebsmodus der integrierten
Schaltung 40 anstatt des und/oder zusätzlich zu dem Austausch von Daten
und/oder Befehlen mit der integrierten Schaltung 40 über den
Bus 22 Daten und/oder Befehle mit der integrierten Schaltung 40 über eine
oder mehrere Kommunikationsverbindungen 500 austauschen,
die mit einer oder mehreren jeweiligen physikalischen Schnittstellen 252A, 252B,
... 252N verbunden sein können. Das heißt, in diesem
anderen Betriebsmodus der integrierten Schaltung 40 kann
ein untergeordneter Satz von physikalischen Schnittstellen 252A, 252B,
... 252N mit einer oder mehreren Verbindungen 44 verbunden
sein und ein anderer untergeordneter Satz physikalischer Schnittstellen 252A, 252B,
... 252N kann mit der Karte 504 über eine
oder mehrere Verbindungen 500 verbunden sein. In diesem
anderen Betriebsmodus der integrierten Schaltung 40 können der
Prozessorkern 216 und die Schaltung 240 deaktiviert
sein und Daten und/oder Befehle, die von der Karte 20 aus
der RAID 29 empfangen werden und in einem oder mehreren
Vorgängen
benutzt und/oder diese durchmachen sollen, die an der Ausführung und/oder
Ermöglichung
von Vorgängen
beteiligt sind, die an der Implementierung und/oder Verwaltung der
RAID 29 beteiligt sind, können von der integrierten Schaltung 40 über eine
oder mehrere Verbindungen 500 an die Karte 504 übertragen
werden. Die Karte 504 kann solche Vorgänge ausführen und andere Befehle und/oder
Daten, welche die Ergebnisse solcher Vorgänge darstellen und/oder verkörpern, an
die integrierte Schaltung 40 übertragen. Der Prozessorkern 218 kann
der Schnittstelle 204 ein oder mehrere Steuersignale bereitstellen,
die dazu führen
können,
dass die Schnittstelle 204 diese anderen Daten und/oder
Befehle an die RAID 29 überträgt, um die
RAID 29 mindestens teilweise zu implementieren und/oder
verwalten.
-
Folglich
kann eine Systemausführungsform eine
Schaltkarte umfassen, die mit dem Speicher verbunden werden kann.
Die Schaltkarte kann eine integrierte Schaltung aufweisen. Die integrierte
Schaltung kann in einem ausgewählten
Betriebsmodus arbeiten. Die integrierte Schaltung kann eine erste Schaltung
und eine zweite Schaltung umfassen. Die erste Schaltung kann mindestens
einen Vorgang ausführen,
der mindestens teilweise das Erzeugen von Prüfdaten mindestens teilweise
auf der Grundlage anderer Daten, das erneute Erzeugen der anderen
Daten mindestens teilweise auf der Grundlage der Prüfdaten und/oder
das Bestimmen von Stellen der Prüfdaten
und der anderen Daten in dem Speicher umfassen. Die zweite Schaltung
kann mindestens teilweise mindestens eine Schnittstelle steuern, um
die Prüfdaten
und/oder anderen Daten von der integrierten Schaltung zu übertragen
und/oder an dieser zu empfangen. Mindestens teilweise in Abhängigkeit
des ausgewählten
Betriebsmodus der integrierten Schaltung kann die erste Schaltung
aktiviert sein, um den mindestens einen Vorgang auszuführen, oder
deaktiviert sein, um diesen nicht auszuführen.
-
Zusammenfassend
kann eine Systemausführungsform
auch eine Schaltkarte umfassen, die eine integrierte Schaltung aufweist.
Die Schaltkarte kann mit einem Bus verbunden sein. Die Schaltkarte kann
in einem ausgewählten
Betriebsmodus arbeiten. Die integrierte Schaltung kann eine Prozessorschaltung
und eine Schnittstellenschaltung umfassen. Die Prozessorschaltung
kann mehrere Prozessorkerne aufweisen. Die Schnittstellenschaltung kann
gemäß mehreren
unterschiedlichen Protokollen kommunizieren. Mindestens einer der
Prozessorkerne kann einen Befehl an die Schnittstellenschaltung erteilen,
um gemäß mindestens
einem der mehreren unterschiedlichen Protokolle, die dem ausgewählten Betriebsmodus
der integrierten Schaltung entsprechen, zu kommunizieren.
-
Vorteilhaft
können
die integrierten Schaltungen dieser Systemausführungsformen verbesserte Kommunikationsfähigkeiten
bieten und im Vergleich zum Stand der Technik mittels einer größeren Anzahl von
Hostbus- und Kommunikationsprotokollen kommunizieren. Ebenfalls
vorteilhaft können
die Hostbus- und/oder Kommunikationsprotokolle, die von diesen integrierten
Schaltungen dieser Systemausführungsformen
benutzt werden, ausgewählt
werden. Außerdem
können
die integrierten Schaltungen dieser Systemausführungsformen einzelne entsprechende
Gehäuse
und/oder „Profile" aufweisen, die eine
Schaltung aufweisen können,
die benutzt werden kann, um RAID-bezogene Vorgänge und/oder Kommunikationsprotokollvorgänge auszuführen. Vorteilhaft
kann dies die Nützlichkeit
und/oder Vielseitigkeit der integrierten Schaltungen dieser Systemausführungsformen
verbessern, da diese integrierten Schaltungen benutzt werden können, um
solche RAID-bezogenen Vorgänge
auszuführen,
oder zusammen mit anderen RAID-Steuervorrichtungen
benutzt werden können,
die solche Vorgänge
ausführen.
-
Die
Begriffe und Ausdrücke,
die hierin verwendet worden sind, werden als beschreibende und nicht
einschränkende
Begriffe verwendet, wobei bei der Verwendung solcher Begriffe und
Ausdrücke nicht
die Absicht besteht, jegliche Äquivalente
der dargestellten und beschriebenen Merkmale (oder Teile davon)
auszuschließen,
und erkannt wird, dass verschiedene Modifikationen innerhalb des
Schutzbereichs der Ansprüche
möglich
sind. Dementsprechend sollen die Ansprüche all solche Äquivalente abdecken.