-
Die
vorliegende Anmeldung bezieht sich auf die japanische Patent-Offenlegungsschrift 2004-122739
vom 19. April 2004 und beansprucht Priorität nach dieser.
-
Die
vorliegende Erfindung bezieht sich auf ein Speichersteuersystem
und ein Verfahren zum Steuern des Hochfahrens eines Prozessors.
-
Zu
den Verfahren zum Schutz der von einem Prozessor gelesenen Daten
gehören
zum Beispiel die in der japanischen Patent-Offenlegungsschrift 2001-109629,
der Patent-Offenlegungsschrift
EP 1324198 und
der Patentanmeldung
EP 1369764 beschriebenen
Verfahren.
-
Die
japanische Patent-Offenlegungsschrift 2001-109629 beschreibt die
Herstellung von zwei Bootprogrammen, die von einem Prozessor verwendet
werden; wird das normale Hochfahren durch Lesen eines dieser Bootprogramme
nicht erreicht, wird das andere Bootprogramm gelesen.
-
Die
japanische Patent-Offenlegungsschrift 2003-196097 beschreibt, dass
der Boot-ROM zusätzlich
zu den Befehlen den erwarteten Wert der Prüfsumme der Befehle speichert,
ein DSP (digitaler Signalprozessor) die Befehle im Boot-ROM liest
und diese in den Befehlsspeicher schreibt und dann eine Prüfsummenberechnung
unter Verwendung des erwarteten Werts der Prüfsumme im Boot-ROM an den so
in den Befehlsspeicher gelesenen Befehlen ausführt.
-
Die
japanische Patent-Offenlegungsschrift 2004-13905 beschreibt ein
Verfahren in Zusammenhang mit Codeschutz im Bootprogramm.
-
Im
Allgemeinen wird, wenn ein Prozessor die Verarbeitung für das Hochfahren
ausführt,
zuerst eine Initialisie rung durchgeführt, indem die Registerwerte
des Prozessors zurückgesetzt
werden. Als Nächstes
liest der Prozessor das Bootprogramm aus dem Speicher wie zum Beispiel
einem ROM (nachstehend zur einfacheren Beschreibung als „Bootspeicher" bezeichnet), erweitert
das so gelesene Bootprogramm in den mit dem Prozessor verbundenen
lokalen Speicher und liest entsprechend diesem so in den lokalen
Speicher erweiterten Bootprogramm das Betriebssystem (OS) aus dem
Bootspeicher und erweitert es in den lokalen Speicher. Auf diese
Weise wird der Prozessor hochgefahren.
-
Bei
dieser Anordnung besteht eine Möglichkeit,
dass bei Vorliegen eines Fehlers in dem Datencode, der das Bootprogramm
oder das Betriebssystem bildet, das vom Prozessor gelesen und zum
Beispiel in die Register geschrieben wird, der Prozessor mit diesem
fehlerhaften Datencode hochfährt,
was dazu führt,
dass der Prozessor sich aufhängt
(zum Beispiel eine andere Verarbeitung als die ausführt, die
ausgeführt
werden sollte). Diese Möglichkeit
wird in den Fällen
weiter erhöht,
wenn zum Beispiel eine aktualisierte Betriebssystemversion im Bootspeicher überschrieben
wird und aufgrund von Fehlern beim Überschreiben fehlerhafte Datencodes
in den Bootspeicher geschrieben werden.
-
US 5.832.005 beschreibt
ein Verfahren und eine Einrichtung in einer speicherprogrammgesteuerten
Maschine zur Aufrechterhaltung eines ununterbrochenen Zugriffs und
Kopierens von einfachen paritätscodierten
Worten eines Urladeprogramms (IPL) oder anderer Software aus einem
Nurlesespeicher oder einem Speicher mit begrenzter Wiederbeschreibbarkeit
bei Vorliegen von erkennbaren Fehlern, Löschungen oder Störungen.
Das Verfahren verwendet erkannte Paritätsfehler in einem aus dem Speicher
kopierten Wort zum Modifizieren des Adressregisters, um dasselbe
Wort an einer Spiegeladresse einer Image-Kopie des IPL zu suchen.
Die Image-Kopie ist in einem zweiten Bereich von zusammenhängenden
Speicheradressen gespeichert, die den Adressbereich des Original-IPL
nicht überschneiden
und mit diesem symme trisch sind. Das IPL wird sodann aus dem zweiten
Adressbereich aufgerufen, bis entweder ein weiterer Paritätsfehler
ein Zurückschalten
auf das Original-IPL bewirkt oder das Programm endet.
-
US 6.571.347B beschreibt
eine intelligente Computerinitialisierungsprogramm-Wiederherstellungsvorrichtung
mit einem ersten Speicher, der ein erstes Computerinitialisierungsprogramm
enthält, wobei
der erste Speicher ein Ändern
des gespeicherten ersten Initialisierungsprogramms gestattet, einem Festwertspeicher,
der ein zweites Computerinitialisierungsprogramm enthält, und
einer mit dem ersten Speicher und dem Festwertspeicher verbundenen Schaltung,
die einen Wert aus dem ersten Programm berechnet und mit einem vorbestimmten
Wert vergleicht, um den ersten Speicher zu aktivieren, wenn der
Wert dem vorbestimmten Wert entspricht, und um den Festwertspeicher
zu aktivieren, wenn sich der Wert von dem vorbestimmten Wert unterscheidet.
-
Ein
Ziel der vorliegenden Erfindung ist daher die Sicherstellung dessen,
dass bei der Verarbeitung vor dem Hochfahren des Prozessors keine
fehlerhaften Datencodes vom Prozessor gelesen werden.
-
Weitere
Ziele der vorliegenden Erfindung werden aus der nachstehenden Beschreibung
ersichtlich.
-
Ein
Bootsteuersystem nach der vorliegenden Erfindung umfasst
einen
Prozessor,
Hochfahrspeicherbereiche zum Speichern von zum Hochfahren
des Prozessors benötigter
Hochfahrdaten und eines einen Schutzcode für die Hochfahrdaten darstellenden
Hochfahrschutzcodes und
Datenprüfhardware, dadurch gekennzeichnet,
dass
die Hochfahrdaten ein höchstwertiges Hochfahrdatenelement,
das das Element auf der höchstwertigen Seite
der Hochfahrdaten darstellt, und ein niedrigstwertiges Hochfahrdatenelement
umfassen, das das Element auf der niedrigstwertigen Seite der Hochfahrdaten
darstellt,
der Hochfahrschutzcode einen höchstwertigen Hochfahrschutzcode,
der den Schutzcode des höchstwertigen
Elements der Hochfahrdaten darstellt, und einen niedrigstwertigen
Hochfahrschutzcode enthält, der
den Schutzcode des niedrigstwertigen Elements der Hochfahrdaten
darstellt,
der Hochfahrspeicherbereich einen ersten Hochfahrteilspeicherbereich
und einen zweiten Hochfahrteilspeicherbereich umfasst,
der
erste Hochfahrteilspeicherbereich das höchstwertige Hochfahrdatenelement
und den niedrigstwertigen Hochfahrschutzcode speichert,
der
zweite Hochfahrteilspeicherbereich das niedrigstwertige Hochfahrdatenelement
und den höchstwertigen
Hochfahrschutzcode speichert, und
die Datenprüfhardware
eingerichtet ist,
den niedrigstwertigen Hochfahrschutzcode
und das höchstwertige
Hochfahrdatenelement aus dem ersten Hochfahrteilspeicherbereich
zu lesen,
den höchstwertigen
Hochfahrschutzcode und das niedrigstwertige Hochfahrdatenelement
aus dem zweiten Hochfahrteilspeicherbereich zu lesen,
eine
erste Teilprüfung
auszuführen,
die die Gültigkeit des
höchstwertigen
Hochfahrschutzcodes und/oder des höchstwertigen Hochfahrdatenelements
prüft, und
eine zweite Teilprüfung
auszuführen,
die die Gültigkeit
des niedrigstwertigen Hochfahrschutzcodes und/oder des niedrigstwertigen
Hochfahrdatenelements prüft,
und
den Prozessor zurückzusetzen,
wenn in der ersten Teilprüfung
und/oder der zweiten Teilprüfung
ein negatives Prüfungsergebnis
erhalten wird, und das höchstwertige
Hochfahrdatenelement und das niedrigstwertige Hochfahrdatenelement
in den Prozessor einzugeben, wenn sowohl in der ersten Teilprüfung als
auch in der zweiten Teilprüfung
ein positives Prüfungsergebnis
erhalten wird.
-
Dieses
Bootsteuersystem kann in verschiedenen Arten von elektronischen
Geräten
mit einem Prozessor enthalten sein.
-
Die „Hochfahrdaten" können zum
Beispiel aus dem Bootprogramm des Betriebssystems für den Prozessor
und Bestandteilen des Betriebssystems selbst bestehen, die entsprechend
diesem Bootprogramm gelesen werden. Außerdem kann der „Hochfahrschutzcode" zum Beispiel aus
Paritäts-
oder Fehlerkorrekturcode (ECC) bestehen.
-
Auch
kann die Gültigkeitsprüfung des
Hochfahrschutzcodes und/oder der Hochfahrdaten eine Prüfung der
Gültigkeit
der Hochfahrdaten unter Verwendung zum Beispiel des Hochfahrschutzcodes und/oder
eine Prüfung
der Gültigkeit
des Hochfahrschutzcodes unter Verwendung der Hochfahrdaten sein.
-
Ein
Speichersteuersystem nach einer Ausführungsform der vorliegenden
Erfindung umfasst weiter mehrere Speichervorrichtungen zum Speichern
von Daten,
einen Cache-Speicher zum vorübergehenden Speichern von Daten,
die zwischen den Speichervorrichtungen und einer externen Vorrichtung
ausgetauscht werden, und
eine Steuervorrichtung zum Steuern
des zwischen den Speichervorrichtungen und der externen Vorrichtung
durch den Cache-Speicher vorgenommenen Datenaustauschs.
-
Bei
einer weiteren bevorzugten Ausführungsform
der vorliegenden Erfindung umfasst die Datenprüfhardware eine Unterteilungsschaltung,
die die vom Prozessor erhaltenen Hochfahrdaten in die höchstwertigen
Hochfahrdatenelemente und die niedrigstwertigen Hochfahrdatenelemente
unterteilt, eine Schutzcode-Erzeugungsschaltung, die den höchstwertigen
Hochfahrschutzcode unter Verwendung der höchstwertigen Hochfahrdatenelemente
erzeugt und den niedrigstwertigen Hochfahrschutzcode unter Verwendung
der niedrigstwertigen Hochfahrdatenelemente erzeugt, und eine Datenspeicherschaltung,
die die höchstwertigen
Hochfahrdatenelemente und den niedrigstwertigen Hochfahrschutzcode
im ersten Hochfahrteilspeicherbereich speichert und die niedrigstwertigen
Hochfahrdatenelemente und den höchstwertigen
Hochfahr schutzcode im zweiten Hochfahrteilspeicherbereich speichert.
-
Ein
Prozessorchip nach einer weiteren Ausführungsform der vorliegenden
Erfindung weist einen Prozessorkern und ein Bootsteuersystem nach
dem vorstehenden ersten Aspekt auf.
-
1 zeigt
den Gesamtaufbau eines Computersystems mit einem Speichersteuersystem
nach einer Ausführungsform
der vorliegenden Erfindung.
-
2 zeigt
ein Beispiel für
den Aufbau eines Bootsteuersystems.
-
3 zeigt
die Datenstruktur in den beiden Bootspeichern 115 und 117,
die von einem Mikroprozessor (MP) im Bootsteuersystem und im lokalen Speicher
dieses Mikroprozessors verwendet wird.
-
4 zeigt
den Verarbeitungsablauf beim Lesen der MP-Hochfahrdaten durch den MP 111.
-
5 zeigt
den Verarbeitungsablauf beim Schreiben der MP-Hochfahrdaten durch
den MP 111.
-
6 zeigt
einen Kanalsteuerabschnitt nach einem ersten modifizierten Beispiel
einer Ausführungsform
der vorliegenden Erfindung.
-
7 zeigt
eine Ansicht zur Erläuterung
eines zweiten modifizierten Beispiels einer Ausführungsform der vorliegenden
Erfindung.
-
Eine
Ausführungsform
der vorliegenden Erfindung wird nachstehend unter Bezugnahme auf
die Zeichnungen beschrieben, wobei als Beispiel ein Fall verwendet
wird, bei dem ein Bootsteuersystem nach einer Ausführungsform
der vorliegenden Erfindung auf ein Speichersteuersystem angewendet
wird.
-
1 zeigt
das Gesamtaufbau eines Computersystems mit einem Speichersteuersystem
nach einer Ausführungsform
der vorliegenden Erfindung.
-
Dieses
Computersystem 100 umfasst ein Speichersteuersystem 3 und
ein oder mehrere Host-Systeme 1, die mit diesem Speichersteuersystem 3 verbunden
sind.
-
Ein
Host-System 1 kann zum Beispiel ein Personalcomputer oder
eine Workstation sein und bildet ein Computersystem mit zum Beispiel
einer CPU (Zentralprozessoreinheit) und einem Speicher. Verschiedene
Funktionen können
durch Ausführung verschiedener
Arten von Programmen durch die CPU des Host-Systems 1 realisiert
werden. Das Host-System 1 ist über ein Kommunikationsnetzwerk wie
zum Beispiel ein LAN mit dem Speichersteuersystem 3 verbunden.
-
Das
Speichersteuersystem 3 ist zum Beispiel ein RAID-System (Redundant
Array of Independent Inexpensive Discs) mit einer oder mehreren physikalischen
Plattengruppen 9 mit mehreren in einer Array angeordneten
Plattenspeichervorrichtungen. Das Speichersteuersystem 3 umfasst
einen oder mehrere Kanalsteuerabschnitte 13, einen Cache-Speicher 15,
einen Steuerspeicher 17, eine oder mehrere physikalische
Plattengruppen 9, einen oder mehrere Plattensteuerabschnitte 19,
einen Vermittlungssteuerungsabschnitt 21 und einen Serviceprozessor
(SVP) 12.
-
Die
Kanalsteuerabschnitte 13 sind mit Host-Systemen 1 verbunden.
Die Kanalsteuerabschnitte 13 können durch eine Hardware-Schaltung und
möglicherweise
durch Software gebildet sein und die Datenübertragung zwischen diesem
Speichersteuersystem 3 und den Host-Systemen 1 vornehmen,
die damit verbunden sind. Die Kanalsteuerabschnitte 13 umfassen
eine Kommunikationsschnittstelle für die Durchführung der
Kommunikation mit den Host-Systemen 1, die damit verbunden
sind, und umfassen auch einen Prozessor zur Durchführung der
Verarbeitung durch Interpretation verschiedener Arten von Befehlen,
die von den Host-Systemen 1 erhalten werden. Die Kanalsteuerabschnitte 13 lesen
die im Cache-Speicher 15 gespeicherten Daten und übertragen
diese nach Prüfung
von im Steuerspeicher 17 registrierten Informationen an
die Host-Systeme 1;
außerdem
speichern sie die von den Host-Systemen 1 erhaltenen Daten,
die geschrieben werden sollen, im Cache-Speicher 15.
-
Der
Cache-Speicher 15 ist ein von den Kanalsteuerabschnitten 13 und
den Plattensteuerabschnitten 19 gemeinsam genutzter Speicher.
Im Cache-Speicher 15 werden die zwischen den Kanalsteuerabschnitten 13 und
den Plattensteuerabschnitten 19 ausgetauschten Daten vorübergehend
gespeichert.
-
Der
Steuerspeicher 17 ist ebenfalls ein von den Kanalsteuerabschnitten 13 und
den Plattensteuerabschnitten 19 gemeinsam genutzter Speicher.
Im Steuerspeicher 17 werden Daten von den Host-Systemen 1 in
noch zu beschreibende logische Volumes 11 geschrieben,
und Steuerinformationen, die sich zum Beispiel auf die Übertragung
von daraus gelesenen Daten von den logischen Volumes 11 an
die Host-Systeme 1 beziehen, werden registriert.
-
Jede
physikalische Plattengruppe 9 ist durch Anordnen mehrerer
Plattenspeichervorrichtungen in einer Array gebildet. Verschiedene
Arten von Vorrichtungen wie zum Beispiel Festplattenlaufwerke, Diskettenlaufwerke
oder Halbleiterspeichervorrichtungen können als die Plattenspeichervorrichtungen verwendet
werden, die die physikalischen Plattengruppen 9 bilden.
Mehrere logische Volumes 11, die logische Speicherbereiche
bilden, sind in dem physikalischen Speicherbereich eingerichtet,
der von der einen oder den mehreren physikalischen Plattengruppen 9 bereitgestellt
wird.
-
Die
Plattensteuerabschnitte 19 sind zum Beispiel für jede der
physikalischen Plattengruppen 9 vorgesehen und steuern
vorgeschriebene physikalische Plattengruppen 9. Die Plattensteuerabschnitte 19 können durch
Hardware-Schaltungen, Software oder eine Kombination davon gebildet
sein. Die Plattensteuerabschnitte 19 führen zum Beispiel das Lesen
oder Schreiben von Daten im Hinblick auf ein logisches Volume durch,
das entsprechend den im Steuerspeicher 17 enthaltenen Steuerinformationen aus
den mehreren logischen Volumes 11 ausgewählt wird.
Außerdem
wandeln die Plattensteuerabschnitte 19 Datenzugriffsanforderungen
für logische
Volumes 11 in Datenzugriffsanforderungen auf physikalische Platten
um, indem sie logische Adressen in physikalische Adressen umsetzen.
-
Der
Vermittlungssteuerungsabschnitt 21 kann als ein Hochgeschwindigkeitsbus
wie zum Beispiel ein sehr schnelles Kreuzschienenvermittlungssystem
ausgebildet sein, das die Datenübertragung unter
Verwendung einer schnellen Koppelaktion durchführt. Der Vermittlungssteuerungsabschnitt 21 ist
für die
gegenseitige Kommunikation mit den Kanalsteuerabschnitten 13,
den Plattensteuerabschnitten 19, dem Steuerspeicher 17 und
dem Cache-Speicher 15 ausgelegt. Der Austausch von Daten
oder Befehlen zwischen diesen Kanalsteuerabschnitten 13,
den Plattensteuerabschnitten 19, dem Steuerspeicher 17 und
dem Cache-Speicher 15 erfolgt über den Vermittlungssteuerungsabschnitt 21.
-
Der
SVP 12 ist ein Datenverarbeitungsterminal (zum Beispiel
ein Notebook-Personalcomputer). Der SVP 12 ist über ein
Kommunikationsnetzwerk (zum Beispiel ein LAN) mit einem nicht gezeigten
Mikroprozessor in jedem Kanalsteuerabschnitt 13 und in
jedem Plattensteuerabschnitt 19 verbunden. Der SVP 12 zeigt
vom Mikroprozessor empfangene Informationen auf seinem Bildschirm
an.
-
Vorstehend
ist ein Computersystem 100 nach dieser Ausführungsform
beschrieben. Dieses Computersystem 100 kann direkt mit
den Plattensteuerabschnitten 19 und den physikalischen
Plattengruppen 9 oder indirekt mit Hilfe eines Netzwerks verbunden
sein. Auch können
die physikalischen Plattengruppen 9 und die Plattensteuerabschnitte 19 integriert
aufgebaut sein. Ein einzelnes logisches Volume 11 kann
jeweils jedem einzelnen Kanalsteuerabschnitt 13 zugeordnet
sein oder ein einzelnes logisches Volume 11 kann von mehreren
Kanalsteuerabschnitten 13 gemeinsam genutzt werden.
-
Wie
vorstehend erwähnt,
auch wenn in 1 nicht gezeigt, können einer
oder mehrere Mikroprozessoren (nachstehend als MP bezeichnet) in den
Kanalsteuerabschnitten 13 und den Plattensteuerabschnitten 19 vorgesehen
sein. Der eine oder die mehreren Mikroprozessoren steuern den Betrieb
der Kanalsteuerabschnitte 13 oder der Plattensteuerabschnitte 19,
soweit diese vorgesehen sind. Bei dieser Ausführungsform ist ein Bootsteuersystem
vorgesehen, das so aufgebaut ist, dass vor dem Hochfahren des eingebauten
MP kein fehlerhafter Datencode von den Kanalsteuerabschnitten 13 und
den Plattensteuerabschnitte 19 gelesen werden kann. Dieses
Bootsteuersystem wird nachstehend beschrieben.
-
2 zeigt
ein Beispiel für
den Aufbau eines Bootsteuersystems. 3 zeigt
die Datenstrukturen in den beiden Bootspeichern 115 und 117,
die von dem Mikroprozessor (MP) in diesem Bootsteuersystem und im
lokalen Speicher dieses Mikroprozessors verwendet werden. Bei der
folgenden Beschreibung ist zu beachten, dass die zwischen dem Bootspeicher 115 und 117 und
dem MP 111 ausgetauschten Daten als „MP-Daten" bezeichnet werden, um sie von den Daten
zu unterscheiden, die zwischen dem Host-System 1 und dem
Speichersteuersystem 3 ausgetauscht werden.
-
Wie
in 2 gezeigt, weist das Bootsteuersystem 120 nach
dieser Ausführungsform
einen ersten Bootspeicher 115, einen zweiten Bootspeicher 117,
einen lokalen Speicher 159, einen MP 111 und einen
programmierbaren Logikbaustein (PLD) 121 auf.
-
Der
erste Bootspeicher 115 und der zweite Bootspeicher 117 sind
jeweils nichtflüchtige 8-Byte-Speicher
(zum Beispiel ein ROM oder ein Flash-ROM). Der erste Bootspeicher 115 weist
mehrere Speicherbereiche auf, zum Beispiel einen ersten Direktausführungsbereich 115B und
einen ersten Dateibereich 115F. In gleicher Weise weist
der zweite Bootspeicher 117 mehrere Speicherbereiche auf, zum
Beispiel einen zweiten Direktausführungsbereich 117B und
einen zweiten Dateibereich 117F.
-
Die
Direktausführungsbereiche 115B und 117B sind
Speicherbereiche zur Speicherung der erforderlichen MP-Daten (nachstehend
als MP-Hochfahrdaten bezeichnet), die vom MP 111 gelesen
werden, um das Betriebssystem (OS) des MP 111 hochzufahren
(mit anderen Worten bis zum Starten des OS). Im Einzelnen sind im
ersten Direktausführungsbereich 115B zum
Beispiel höchstwertige
MP-Hochfahrdatenelemente von einem Byte (nachstehend als „Hochfahr-DH" bezeichnet) und
niedrigstwertige Schutzdaten von einem Byte (nachstehend als „PL" bezeichnet) abwechselnd
nebeneinander angeordnet. Im zweiten Direktausführungsbereich 117B sind zum
Beispiel niedrigstwertige MP-Hochfahrdatenelemente von einem Byte
(nachstehend als „Hochfahr-DL" bezeichnet) und
höchstwertige
Schutzdaten von einem Byte (nachstehend als „PH" bezeichnet) abwechselnd nebeneinander
angeordnet.
-
Die
Hochfahr-DH sind MP-Datenelemente auf der höchstwertigen Seite der MP-Hochfahrdaten und
die Hochfahr-DL sind MP-Datenelemente auf der niedrigstwertigen
Seite der MP-Hochfahrdaten. Die Datengrößen der Hochfahr-DH und der
Hochfahr-DL können
gleich oder unterschiedlich sein. Die MP-Hochfahrdaten (zum Beispiel
Zwei-Byte-Daten) sind in die Hochfahr-DH (zum Beispiel Ein-Byte-Daten)
und die Hochfahr-DL
(zum Beispiel Ein-Byte-Daten) unterteilt. Im Übrigen sind die MP-Hochfahrdaten
ein Bestandteil zum Beispiel des Bootprogramms des MP 111 und/oder
des Betriebssystems, das entsprechend diesem Bootprogramm gelesen
wird.
-
Weiter
sind die PH MP-Daten mit dem höchstwertigen
Hochfahrschutzcode, der den Schutzcode für die Hochfahr-DH darstellt,
der ersten Adresse im ersten Bootspeicher 115 der Hochfahr-DH
und von dem ersten Adressschutzcode, der den Schutzcode für diese
erste Adresse darstellt, mindestens dem höchstwertigen Hochfahrschutzcode.
In gleicher Weise sind die PL MP-Daten mit dem niedrigstwertigen
Hochfahrschutzcode, der den Schutzcode für die Hochfahr-DL darstellt,
der zweiten Adresse im zweiten Bootspeicher 117 der Hochfahr-DL
und von dem zweiten Adressschutzcode, der den Schutzcode für diese
zweite Adresse darstellt, mindestens dem niedrigstwertigen Hochfahrschutzcode.
Der Schutzcode kann zum Beispiel Paritäts- oder Fehlerkorrekturcode
(ECC) sein.
-
Wie
aus dieser Beschreibung und 3 ersichtlich
wird, speichert der erste Direktausführungsbereich 115B einen
einzelnen PL im Hinblick auf ein einzelnes Hochfahr-DH. In gleicher
Weise speichert der zweite Direktausführungsbereich 117B einen
einzelnen PH im Hinblick auf ein einzelnes Hochfahr-DL.
-
Die
Dateibereiche 115F und 117F sind Speicherbereiche,
in denen die vom Betriebssystem verwendeten MP-Daten (nachstehend
als MP-Daten für
das OS bezeichnet) nach dem Hochfahren des OS des MP 111 gespeichert
werden. Die MP-Daten für
das OS umfassen zum Beispiel Zwei-Byte-Daten. In 3 sind
die höchstwertigen
Bytes der MP-Hochfahrdaten und OS-Daten schraffiert dargestellt, und die
niedrigstwertigen Bytes sind durch ein Punktmuster dargestellt.
Die Dateibereiche 115F und 117F können die
erwarteten Werte der Prüfsumme
für die
verschiedenen Elemente der MP-Daten für das OS speichern. Außerdem können der
erste Direktausführungsbereich 115B und/oder
der erste Dateibereich 115F bzw. der zweite Direktausführungsbereich 117B und/oder
der zweite Dateibereich 117F variabel sein (zum Beispiel
kann der MP 111 die Kapazitäten der jeweiligen Bereiche
entsprechend einer Benutzeranforderung einstellen). Darüber hinaus
können
die Direktausführungsbereiche 115B und 117B in
einem ersten Teilspeicher (zum Beispiel einem DRAM) vorgesehen sein,
und die Dateibereiche 115F und 117F können in
einem von dem ersten Teilspeicher getrennten zweiten Teilspeicher
(zum Beispiel einem SRAM) vorgesehen sein.
-
Vorstehend
sind der erste Bootspeicher 115 und der zweite Bootspeicher 117 beschrieben.
Es ist zu beachten, dass es nicht wesentlich ist, dass der erste
Bootspeicher 115 und der zweite Bootspeicher 117 in
getrennten Speichern vorgesehen sind; so könnten zum Beispiel ein dem
ersten Bootspeicher 115 entsprechender erster Speicherbereich
und ein dem zweiten Bootspeicher 117 entsprechender zweiter
Speicherbereich im selben Speicher vorgesehen sein. Auch könnten der
erste Bootspeicher 115 und der zweite Bootspeicher 117 für jeden
MP vorgesehen sein oder sie könnten
von mehreren MP gemeinsam genutzt werden.
-
Der
lokale Speicher 159 wird vom MP 111 zum Beispiel
als Arbeitsbereich des MP 111 oder als Empfangspufferbereich
benutzt, in dem die von außerhalb
dieses Bootsteuersystems 120 (zum Beispiel von einem Host-System 1 oder
einem logischen Volume 11) empfangenen Daten vorübergehend
gespeichert werden. Die MP-Hochfahrdaten und die MP-Daten für das OS,
die vom MP 111 aus dem ersten Bootspeicher 115 und
dem zweiten Bootspeicher 117 gelesen werden, werden in
den lokalen Speicher 159 erweitert. Ein Beispiel für das Ergebnis
dieser Erweiterung ist in 3 gezeigt.
Im Einzelnen werden die Hochfahr-DH und PL, die aus dem ersten Direktausführungsbereich 115B gelesen
werden, und die Hochfahr-DL und PH, die aus dem zweiten Direktausführungsbereich 115F gelesen
werden, in einen ersten vorgeschriebenen Bereich 159A des
lokalen Speichers 159 erweitert. Außerdem werden die MP-Daten
für das
OS, die aus dem ersten Dateibereich 115F gelesen werden,
und die MP-Daten für das
OS, die aus dem zweiten Dateibereich 117F gelesen werden,
in einen zweiten vorgeschriebenen Bereich 159B des lokalen
Speichers 159 erweitert.
-
Der
in 2 gezeigte MP 111 steuert den Betrieb
des Kanalsteuerabschnitts 13 oder des Plattensteuerabschnitts 19,
in dem dieser MP 111 enthalten ist. Wenn der MP 111 zum
Beispiel in einem Kanalsteuerabschnitt 13 enthalten ist,
liest der MP 111 zum Beispiel die von einem Host-System 1 empfangenen
Daten in den Cache-Speicher 15, und der Plattensteuerabschnitt 19 liest
die Daten, die in den Cache-Speicher 15 geschrieben
worden sind, und überträgt diese
Daten an ein Host-System 1. Außerdem schreibt der MP 111,
wenn er in einem Plattensteuerabschnitt 19 enthalten ist, zum
Beispiel Daten, die aus einem logischen Volume 11 gelesen
worden sind, in den Cache-Speicher 15, und in den Cache-Speicher 15 geschriebene
Daten werden von einem Kanalsteuerabschnitt 13 gelesen
und in einem logischen Volume 11 gespeichert. Bei einem
solchen MP 111 wird beim Lesen der MP-Daten die zuvor in einem
Register 123 des MP 111 registrierte Originaladresse
zum Lesen an einen PLD 121 ausgegeben, und dementsprechend
wird, wenn ein Datenpaar von den Bootspeichern 115 und 117 empfangen
wird, dieses Datenpaar in den ersten vorgeschriebenen Bereich 159A des
lokalen Speichers 159 erweitert. Außerdem gibt der MP 111 die
MP-Hochfahrdaten
und die Originaladresse zum Speichern, die das Speicherziel hierfür angibt,
an den PLD 121 aus. Zu beachten ist, dass die „Originaladresse" die vom MP 111 verwaltete
Adresse ist und sich von den Adressen der Bootspeicher 115 und 117 unterscheidet.
Die erste Adresse, die die Adresse des ersten Bootspeichers 115 ist,
und die zweite Adresse, die die Adresse des zweiten Bootspeichers 117 ist,
werden vom PLD 121 aus der Originaladresse erzeugt. Wenn
die Originaladresse zum Lesen und die Adresse zum Speichern allgemein
gemeint sind, werden diese nachstehend einfach als „Originaladressen" bezeichnet.
-
Der
PLD 121 ist zum Beispiel eine reine Hardware-Schaltung,
die im Übertragungsweg
zwischen dem MP 111 und dem ersten Bootspeicher 115 und
dem zweiten Bootspeicher 117 angeordnet ist. Der PLD 121 weist
einen Adresspuffer 101, eine Adressumwandlungsschaltung 102,
einen Lesepuffer 109, eine Datenprüfschaltung 107, eine
Adressschutzcode-Erzeugungsschaltung 105, einen Datenpuffer 103,
eine Unterteilungs-/Schutzcode-Erzeugungsschaltung 119 und
eine Verknüpfungsschaltung 251 auf.
-
Der
Adresspuffer 101 ist ein Puffer zum vorübergehenden Speichern der Originaladressen,
die über
die Datenein-/-ausgabeleitung 8 vom
MP 111 eingegeben werden.
-
Die
Adressumwandlungsschaltung 102 erfasst die Originaladressen
aus dem Adresspuffer 101 und erzeugt unter Ver wendung dieser
Originaladressen eine erste Adresse (das heißt eine Adresse im ersten Bootspeicher 115)
und eine zweite Adresse (das heißt eine Adresse im zweiten
Bootspeicher 117). Die Adressumwandlungsschaltung 102 bestimmt
im Voraus die Regel, nach der eine erhaltene Originaladresse zum
Erzeugen einer ersten und einer zweiten Adresse verwendet wird,
und gibt die erste und die zweite Adresse aus, die nach dieser Regel erzeugt
werden. Die erste ausgegebene Adresse wird über eine erste Adressleitung 2A in
den ersten Bootspeicher 115 eingegeben, und die zweite
Adresse wird über
eine zweite Adressleitung 2B in den zweiten Bootspeicher 117 eingegeben.
Außerdem werden
die erste und die zweite Adresse in die Adressschutzcode-Erzeugungsschaltung 105 eingegeben.
Hierbei ist zu beachten, dass die erste Adresse zum Beispiel eine
erste Teiladresse zum Lesen oder Schreiben des Hochfahr-DH von einem
Byte und eine zweite Teiladresse zum Lesen oder Schreiben des PL
von einem Byte umfasst. Außerdem
umfasst die zweite Adresse zum Beispiel eine dritte Teiladresse
zum Lesen oder Schreiben des Hochfahr-DL von einem Byte und eine
vierte Teiladresse zum Lesen oder Schreiben des PH von einem Byte.
-
Wenn
die erste Adresse, die in den ersten Bootspeicher 115 eingegeben
wurde, auf der Basis der Originaladresse zum Lesen erzeugt wird,
werden die MP-Daten, die an der ersten Adresse im ersten Bootspeicher 115 vorliegen, über eine
erste Datenleitung 4A an den PLD 121 ausgegeben.
Außerdem werden,
wenn die zweite Adresse, die in den zweiten Bootspeicher 117 eingegeben
wurde, auf der Basis der Originaladresse zum Lesen erzeugt wird,
die MP-Daten, die an der zweiten Adresse im zweiten Bootspeicher 117 vorliegen, über eine
zweite Datenleitung 4B an den PLD 121 ausgegeben.
Die MP-Daten, die über
die erste Datenleitung 4A bzw. die zweite Datenleitung 4B ausgegeben
werden, werden vorübergehend
im Lesepuffer 109 gespeichert. Es ist zu beachten, dass
vor dem Hochfahren des MP 111 die Hochfahr-DH und PL und
die Hochfahr-DL und PH in den Lesepuffer 109 gelesen werden.
-
Die
Hochfahr-DH und die Hochfahr-DL, die dann gelesen werden, sind Bestandteile
derselben MP-Daten. Mit anderen Worten, wenn zum Beispiel ein bestimmtes
Paar aus Hochfahr-DH und PL gelesen wird, wird ein Paar mit einem
anderen Hochfahr-DL, das nicht zu denselben MP-Daten wie das Hochfahr-DH gehört, nicht
gelesen, aber ein Hochfahr-DL, das zu denselben MP-Daten wie dieses Hochfahr-DH
gehört,
wird gelesen. Dies liegt daran, dass die erste und die zweite Adresse,
die von der Adressumwandlungsschaltung 102 erzeugt werden, den
Inhalt darstellen, der so gelesen wird.
-
Die
Datenprüfschaltung 107 führt eine
Datenprüfung
unter Verwendung der Hochfahr-DH und PL und der Hochfahr-DL und
PH im Lesepuffer 109 durch. Die Datenprüfschaltung 107 führt zum
Beispiel eine erste Prüfung
durch, die eine Prüfung
der Gültigkeit
des Hochfahr-DH und/oder des PH darstellt, und eine zweite Prüfung, die
eine Prüfung
der Gültigkeit
des Hochfahr-DL und/oder des PL darstellt. Im Einzelnen prüft die Datenprüfschaltung 107 zum
Beispiel in der ersten Prüfung
die Gültigkeit
des Hochfahr-DH unter Verwendung des im PH enthaltenen höchstwertigen
Hochfahrschutzcodes und in der zweiten Prüfung die Gültigkeit des Hochfahr-DL unter Verwendung
des im PL enthaltenen niedrigstwertigen Hochfahrschutzcodes. Erhält die Datenprüfschaltung 107 sowohl
in der ersten als auch in der zweiten Prüfung ein positives Prüfungsergebnis,
gibt die Datenprüfschaltung 107 das
Hochfahr-DH und den PL sowie das Hochfahr-DL und den PH über eine Datenein-/-ausgabeleitung 8 in
den Lesepuffer 109 an den MP 111 ein. Wenn die
Datenprüfschaltung 107 hingegen
in der ersten Prüfung
und/oder der zweiten Prüfung
ein negatives Prüfungsergebnis
erhält,
führt sie
die vorgeschriebene Fehlerverarbeitung durch, so dass weder das
Hochfahr-DH und der PL noch das Hochfahr-DL und der PH an den MP 111 ausgegeben
werden. Die Fehlerverarbeitung kann zum Beispiel darin bestehen,
dass die Datenprüfschaltung 107 die
im PH und PL enthaltene erste und zweite Adresse an den ersten Bootspeicher 115 und den
zweiten Bootspeicher 117 ausgibt, dieselben Hochfahr-DH
und PL und Hochfahr-DL und PH in den Lesepuffer 109 liest
und die erste und die zweite Prüfung
erneut durchführt.
Außerdem
kann die Fehlerverarbeitung zum Beispiel darin bestehen, dass die Datenprüfschaltung 107 den
MP 111 unter Verwendung einer Reset-Signalleitung 6 zurücksetzt.
Es ist zu beachten, dass die Datenprüfschaltung 121 nicht immer
die erste und die zweite Prüfung
durchführen muss,
sondern zum Beispiel die Fehlerverarbeitung durchführen könnte, ohne
die zweite Prüfung
vorzunehmen, wenn bei der ersten Prüfung ein negatives Prüfungsergebnis
erhalten wird.
-
Der
Datenpuffer 103 ist ein Puffer, in dem MP-Hochfahrdaten,
die vom MP 111 über
die Datenein-/-ausgabeleitung 8 eingegeben werden, vorübergehend
gespeichert werden.
-
Die
Unterteilungs-/Schutzcode-Erzeugungsschaltung 119 unterteilt
die MP-Hochfahrdaten im Datenpuffer 103 in ein Hochfahr-DH
und ein Hochfahr-DL. Außerdem
erzeugt die Hochfahrschutzcode-Erzeugungsschaltung 119 höchstwertigen Hochfahrschutzcode
auf der Basis der durch die Unterteilung erhaltenen Hochfahr-DH
und erzeugt niedrigstwertigen Hochfahrschutzcode auf der Basis der
durch die Unterteilung erhaltenen Hochfahr-DL. Die Unterteilungs-/Schutzcode-Erzeugungsschaltung 119 erzeugt
Hochfahr-DH, Hochfahr-DL, höchstwertigen
Hochfahrschutzcode und niedrigstwertigen Hochfahrschutzcode und
gibt diese aus.
-
Die
Adressschutzcode-Erzeugungsschaltung 105 erzeugt einen
ersten Adressschutzcode auf der Basis der ersten Adresse von der
Adressumwandlungsschaltung 102 und erzeugt einen zweiten Adressschutzcode
auf der Basis der zweiten Adresse. Die Adressschutzcode-Erzeugungsschaltung 105 gibt
die erste und die zweite Adresse von der Adressumwandlungsschaltung 102 mit
dem auf diese Weise erzeugten ersten und zweiten Adressschutzcode aus.
-
Eine
Verknüpfungsschaltung 251 erzeugt
einen PH durch Verknüpfen
des ersten Adressschutzcodes von der Adressschutzcode-Erzeugungsschaltung 105,
der ersten Adresse und des höchstwertigen Hochfahrschutzcodes
und gibt diesen PH und ein aus den Hochfahr-DH und den Hochfahr-DL
ausgewähltes
Hochfahr-DL von der Unterteilungs-/Schutzcode-Erzeugungsschaltung 119 über die
zweite Datenleitung 4B an den zweiten Bootspeicher 117 aus. Auf
diese Weise werden das Hochfahr-DL und der PH in die Position geschrieben,
die durch die zweite Adresse angegeben ist, die über die zweite Adressleitung 2B von
der Adressumwandlungsschaltung 102 in den zweiten Bootspeicher 117 eingegeben wird.
Außerdem
erzeugt die Verknüpfungsschaltung 251 einen
PL durch Verknüpfen
des zweiten Adressschutzcodes von der Adressschutzcode-Erzeugungsschaltung 105,
der zweiten Adresse und des niedrigstwertigen Hochfahrschutzcodes
und gibt diesen PL und ein aus den Hochfahr-DH und den Hochfahr-DL
ausgewähltes
Hochfahr-DH von der Unterteilungs-/Schutzcode-Erzeugungsschaltung 119 über die
erste Datenleitung 4A an den ersten Bootspeicher 115 aus.
Auf diese Weise werden das Hochfahr-DH und der PL in die Position geschrieben,
die durch die erste Adresse angegeben ist, die über die erste Adressleitung 2A von
der Adressumwandlungsschaltung 102 in den ersten Bootspeicher 115 eingegeben
wird.
-
Der
Verarbeitungsablauf in diesem Bootsteuersystem 120 wird
nachstehend beschrieben.
-
4 zeigt
den Verarbeitungsablauf beim Lesen der MP-Hochfahrdaten durch den MP 111.
-
Wenn
zum Beispiel die Stromversorgung des MP 111 eingeschaltet
wird, setzt der MP 111 den Wert des Registers 123 zurück (Schritt
S1) und führt die
Initialisierung des Registers 123 durch (S2). Auf diese
Weise wird die Originaladresse zum Lesen der MP-Hochfahrdaten in
das Register 123 geschrieben. Der MP 111 gibt
die Originaladresse zum Lesen (zum Beispiel die Originaladresse
zum Lesen des Bootprogramms), die in das Register 123 geschrieben
wird, an den PLD 121 aus (S3).
-
Die
Originaladresse zum Lesen, die vom MP 111 an den PLD 121 ausgegeben
wird, wird im Adresspuffer 101 gespei chert. Die Adressumwandlungsschaltung 102 erzeugt
unter Verwendung der Originaladresse zum Lesen im Adresspuffer 101 eine erste
und eine zweite Adresse und gibt damit die erste Adresse im ersten
Bootspeicher 115 und die zweite Adresse im zweiten Bootspeicher 117 an
(S4). Auf diese Weise werden das Hochfahr-DH und der PL, die in
der ersten Adresse des ersten Bootspeichers 115 enthalten
sind, gelesen und im Puffer 109 gespeichert, und das Hochfahr-DL
und der PH, die in der zweiten Adresse des zweiten Bootspeichers 117 enthalten
sind, werden im Lesepuffer 109 gespeichert (S5).
-
Die
Datenprüfschaltung 107 prüft die Gültigkeit
(das heißt
sie nimmt eine erste Prüfung
vor) des Hochfahr-DH unter Verwendung des im PH im Lesepuffer 109 enthaltenen
höchstwertigen
Hochfahrschutzcodes und prüft
die Gültigkeit
(das heißt
sie nimmt eine zweite Prüfung
vor) des Hochfahr-DL
unter Verwendung des im PL enthaltenen niedrigstwertigen Hochfahrschutzcodes
(S6).
-
Wenn
in der ersten Prüfung
und/oder der zweiten Prüfung
ein negatives Prüfungsergebnis
erhalten wird (Nein in Schritt S7), führt die Datenprüfschaltung 107 die
vorgeschriebene Fehlerverarbeitung durch, um dafür zu sorgen, dass weder das Hochfahr-DH
und der PL noch das Hochfahr-DL und der PH an den MP 111 ausgegeben
werden, und setzt den MP 111 unter Verwendung zum Beispiel
der Reset-Signalleitung 6 zurück (S8). Auf diese Weise wird
der MP 111 gesperrt (S11).
-
Erhält in Schritt
S7 die Datenprüfschaltung 107 ein
positives Prüfungsergebnis
sowohl für
die erste als auch für
die zweite Prüfung
(Ja in Schritt S7), werden das Hochfahr-DH und der PL und das Hochfahr-DL und
der PH im Lesepuffer 109 an den MP 111 übertragen
(S9). Mit anderen Worten, die Datenprüfschaltung 107 erlaubt
das Lesen des Hochfahr-DH und des PL und des Hochfahr-DL und des PH
an den MP 111.
-
Die
Verarbeitung der Schritte S6 bis S9 wird für alle Hochfahr-DH und PL sowie
Hochfahr-DL und PH im Hinblick auf das Bootprogramm ausgeführt (Nein
in Schritt S10).
-
Wenn
das Hochfahr-DH und der PL und das Hochfahr-DL und der PH durch
den PLD 121 gelesen werden, erweitert der MP 111 (S12)
dieses Hochfahr-DH und den PL und dieses Hochfahr-DL und den PH,
die auf diese Weise in den lokalen Speicher 159 gelesen
worden sind.
-
Wenn
alle Hochfahr-DH und PL und Hochfahr-DL und PH im Hinblick auf das
Bootprogramm im lokalen Speicher 159 registriert worden
sind (Ja in Schritt S13), das heißt wenn das Bootprogramm ordnungsgemäß in den
lokalen Speicher 159 geschrieben worden ist, gibt der MP 111 die
Originaladresse zum Lesen des OS entsprechend diesem Bootprogramm
aus (S14). Auf diese Weise wird die vorstehend beschriebene Verarbeitung
der Schritte S4 bis S10 ausgeführt.
Das heißt,
wenn fehlerhafter Code im OS enthalten ist, das aus dem Bootspeicher 115 und 117 gelesen
wird, wird der MP 111 entsprechend dem Reset-Signal vom
PLD 121 gesperrt (S15), aber anderenfalls wird das OS des
MP 111 hochgefahren (Ja in Schritt S16, S17 und S18), indem
das OS im lokalen Speicher 159 erweitert wird.
-
Es
ist zu beachten, dass, wenn das OS hochgefahren wird, wenn zum Beispiel
der erwartete Wert der Prüfsumme
im Hinblick auf die MP-Daten für
das verwendete OS in den Dateibereichen 115F und 117F gespeichert
ist, das OS des MP 111 eine Summenprüfung im Hinblick auf die MP-Daten
für das
OS durchführen
kann. Mit anderen Worten, vor dem Hochfahren des MP 111 wird
eine Hardware-Prüfung an
den MP-Daten durchgeführt,
die vom MP 111 gelesen werden, und nach dem Hochfahren
des MP 111 kann eine Software-Prüfung durch das OS an den MP-Daten
vorgenommen werden, die vom MP 111 gelesen werden.
-
5 zeigt
den Verarbeitungsablauf beim Schreiben der MP-Hochfahrdaten durch
den MP 111.
-
Der
MP 111 überträgt (S51)
die Originaladresse zum Speichern der Gruppe der MP-Hochfahrdaten,
die das Bootprogramm oder das OS darstellen, und auch die Gruppe
dieser MP-Hochfahrdaten an den PLD 121.
-
Die
Gruppe der MP-Hochfahrdaten, die vom MP 111 an den PLD 121 übertragen
wird, wird im Datenpuffer 103 gespeichert.
-
Die
Unterteilungs-/Schutzcode-Erzeugungsschaltung 119 unterteilt
(S53) die jeweiligen Gruppen der MP-Hochfahrdaten im Datenpuffer 103 in
Hochfahr-DH und Hochfahr-DL. Außerdem
erzeugt die Unterteilungs-/Schutzcode-Erzeugungsschaltung 119 (S54)
höchstwertigen
Hochfahrschutzcode auf der Basis der durch dieses Unterteilungsverfahren erhaltenen
Hochfahr-DH und erzeugt niedrigstwertigen Hochfahrschutzcode auf
der Basis der durch dieses Unterteilungsverfahren erhaltenen Hochfahr-DL. Die
Unterteilungs-/Schutzcode-Erzeugungsschaltung 119 erzeugt
Hochfahr-DH, Hochfahr-DL, höchstwertigen
Hochfahrschutzcode und niedrigstwertigen Hochfahrschutzcode und
gibt diese aus (S55).
-
Die
Originaladresse zum Speichern, die vom MP 111 an den PLD 121 übertragen
wird, wird im Adresspuffer 101 gespeichert. Die Adressumwandlungsschaltung 102 erzeugt
die erste und die zweite Adresse auf der Basis der Originaladresse
zum Speichern im Adresspuffer 101 und gibt die erste Adresse im
ersten Bootspeicher 115 und die zweite Adresse im zweiten
Bootspeicher 117 an (S56). Außerdem gibt die Adressumwandlungsschaltung 102 die
erste und die zweite Adresse an die Adressschutzcode-Erzeugungsschaltung 105 aus.
-
Die
Adressschutzcode-Erzeugungsschaltung 105 erzeugt ersten
Adressschutzcode auf der Basis der ersten Adresse von der Adressumwandlungsschaltung 102 und
erzeugt zweiten Adressschutzcode auf der Basis der zweiten Adresse
(S57). Die Adressschutzcode-Erzeugungsschaltung 105 gibt
den ersten und den zweiten Adressschutzcode, die so erzeugt worden
sind, und die erste und die zweite Adresse von der Adressumwandlungsschaltung 102 aus
(S58).
-
Die
Verknüpfungsschaltung 251 erzeugt
einen PL durch Verknüpfen
des zweiten Adressschutzcodes von der Adressschutzcode-Erzeugungsschaltung 105 und
der zweiten Adresse und des niedrigstwertigen Hochfahrschutzcodes
und schreibt (S59) diesen PL zusammen mit dem aus den Hochfahr-DH und
den Hochfahr-DL ausgewählten
Hochfahr-DH von der Unterteilungs-/Schutzcode-Erzeugungsschaltung 119 über die
erste Datenleitung 4A in den ersten Bootspeicher 115.
Außerdem
erzeugt die Verknüpfungsschaltung 251 einen
PH durch Verknüpfen des
ersten Adressschutzcodes von der Adressschutzcode-Erzeugungsschaltung 105 und
der ersten Adresse und des höchstwertigen
Hochfahrschutzcodes und schreibt (S60) diesen PH zusammen mit dem
aus den Hochfahr-DH und den Hochfahr-DL ausgewählten Hochfahr-DL von der Unterteilungs-/Schutzcode-Erzeugungsschaltung 119 über die
zweite Datenleitung 4B in den zweiten Bootspeicher 117.
-
Wie
vorstehend beschrieben, ist bei dieser Ausführungsform ein PLD 121 im Übertragungsweg zwischen
dem MP 111 und den Bootspeichern 115 und 117 angeordnet.
Die Bootspeicher 115 und 117 speichern MP-Hochfahrdaten
und deren Schutzcode. Wenn die MP-Hochfahrdaten und deren Schutzcode
zum Hochfahren des MP 111 aus den Bootspeichern 115 und 117 ausgegeben
werden, führt
der PLD 121 eine Hardware-Prüfung der Gültigkeit der MP-Hochfahrdaten
unter Verwendung von deren Schutzcode durch. Wird als Ergebnis ein
negatives Prüfungsergebnis
erhalten, gibt der PLD 121 die MP-Hochfahrdaten nicht an
den MP 111 aus. Auf diese Weise kann zum Beispiel die Unannehmlichkeit des
Aufhängens
des MP 111 aufgrund des Betriebs mit fehlerhaften Datencodes
verhindert werden, weil auch ohne Hochfahren des MP 111 eine
Prüfung
der Gültigkeit
der vom MP 111 angeforderten MP-Daten durchgeführt wird
und, wenn die Möglichkeit
besteht, dass diese MP-Daten fehlerhafte Datencodes enthalten, es
dem MP 111 nicht erlaubt wird, diese MP-Daten zu lesen.
-
Außerdem sind
bei der vorstehend beschriebenen Ausführungsform die Hochfahr-DH
und die Hochfahr-DL, die die MP-Daten
darstellen, in getrennten Bootspeichern 115 und 117 gespeichert,
der PH einschließlich
des Schutzcodes der Hochfahr-DH ist im zweiten Bootspeicher 117 gespeichert,
in dem die Hochfahr-DL gespeichert sind, und die PL einschließlich der
Schutzcodes der Hochfahr-DL sind im ersten Bootspeicher 119 gespeichert,
in dem die Hochfahr-DH gespeichert sind. Mit anderen Worten, ein
bestimmter Bootspeicher speichert nicht die Schutzcodes für bestimmte
MP-Elemente der MP-Hochfahrdaten,
sondern vielmehr die Schutzcodes für die anderen MP-Datenelemente.
Folglich wird, wenn zum Beispiel aufgrund einer Ursache wie etwa
dem Vorliegen eines Fehlers im zweiten Bootspeicher 117 die
Hochfahr-DL und PH fehlerhafte Codes enthalten (zum Beispiel alle
Teilcodes sind null geworden), bei der Prüfung der Gültigkeit der Hochfahr-DH unter
Verwendung dieser PH ein negatives Prüfungsergebnis erhalten, so
dass, wenn die Gültigkeit
von fehlerhaften Hochfahr-DL mit normalen PL geprüft wird,
ein negatives Prüfungsergebnis
erhalten wird, was zu einer Entscheidung führt, dass nicht nur die Hochfahr-DL
und PH fehlerhaft sind, sondern auch die Hochfahr-DH und PL. Die
Sicherheit zur Verhinderung dessen, dass der MP 111 fehlerhafte Daten
liest, kann dadurch erhöht
werden.
-
Außerdem können bei
der vorstehend beschriebenen Ausführungsform die Speicherbereiche der
Bootspeicher 115 und 117 entsprechend der Art der
darin gespeicherten Daten klassifiziert werden. Die Bootspeicher 115 und 117 können zum
Beispiel in Direktausführungsbereiche 115B und 117B,
in denen MP-Hochfahrdaten gespeichert sind, und in Dateibereiche 115F und 117F eingeteilt
werden, in denen nach dem Hochfahren benutzte OS-Daten gespeichert
sind. Auf diese Weise können
die Daten, die vom MP 111 gelesen werden, je nach Art des Speicherbereichs
mit verschiedenen Verfahren geprüft
werden.
-
Verschiedene
modifizierte Beispiele der vorstehend beschriebenen Ausführungsform
sind denkbar. Diese modifizierten Beispiele sind nachstehend beschrieben.
Es ist zu beachten, dass sich die Beschreibung auf die Unterschiede
gegenüber
der vorstehend beschriebenen Ausführungsform kon zentriert, und übereinstimmende
Beschreibungen werden weggelassen oder vereinfacht.
-
(1) Erstes modifiziertes
Beispiel
-
6 zeigt
einen Kanalsteuerabschnitt nach einem ersten modifizierten Beispiel
der Ausführungsform
der vorliegenden Erfindung.
-
Der
Kanalsteuerabschnitt 13 umfasst zum Beispiel eine Mikroprozessoreinheit
(nachstehend als MPU bezeichnet) 201, einen lokalen Speicher 159,
eine Host-Schnittstellenschaltung (nachstehend als Host-Schnittstelle
bezeichnet) 204, die mit dem Host-System 1 verbunden
ist, und eine Vermittlungsschnittstellenschaltung (nachstehend als
Vermittlungsschnittstelle bezeichnet) 208, die mit einem
Vermittlungssteuerungsabschnitt 21 verbunden ist. Die MPU 201 umfasst
einen Prozessorkern 203, einen ersten Bootspeicher 115 und
einen zweiten Bootspeicher 117, die zum Beispiel die vom
Prozessorkern 203 gelesenen MP-Hochfahrdaten enthalten,
und einen PLD 121, der im Übertragungsweg zwischen dem
Prozessorkern 203 und den Bootspeichern 115 und 117 angeordnet
ist. Außerdem
umfasst die MPU 201 eine DMR-Steuerung 207, die
den direkten Speicherzugriff steuert, eine Speichersteuerung 209,
die den Zugriff durch den Prozessorkern 203 auf den lokalen
Speicher 159 steuert, und eine Schnittstellensteuerung,
die die Kommunikation zwischen dem Prozessorkern 203 und
einer Vorrichtung außerhalb der
MPU 201 über
einen PCI-Bus 206 steuert. Der Prozessorkern 203 wird
hochgefahren, wenn er das Betriebssystem (OS) aus den Bootspeichern 115 und 117 liest.
Die Bootspeicher 115 und 117 können SRAM- oder DRAM-Speicher
sein.
-
Bei
diesem ersten modifizierten Beispiel ist, wie in 6 gezeigt,
ein System wie das des vorstehend beschriebenen Bootsteuersystems
auf dem einzelnen Chip der MPU 201 untergebracht. Auf diese
Weise kann eine Verringerung der Anzahl der Bauteile für den Aufbau
des Bootsteuersystems erreicht werden.
-
Obwohl
die Zeichnungen ein Beispiel zeigen, bei dem die MPU 201 in
den Kanalsteuerabschnitten 13 enthalten war, ist zu beachten,
dass die MPU 201 auch in den Plattensteuerabschnitten 19 integriert sein
könnte.
-
(2) Zweites modifiziertes
Beispiel
-
7 zeigt
eine Ansicht zur Erläuterung
eines zweiten modifizierten Beispiels der Ausführungsform der vorliegenden
Erfindung.
-
Ein
Bootsteuersystem 123 ist in die Kanalsteuerabschnitte 13 (oder
die Plattensteuerabschnitte 19) integriert. Ein SVP 12 ist über ein
Kommunikationsnetzwerk wie zum Beispiel ein LAN mit dem MP 111 im
Bootsteuersystem 123 verbunden.
-
Der
SVP 12 überwacht
die verschiedenen MP in den Kanalsteuerabschnitten 13 in
jedem Plattensteuerabschnitt 19 (die Überwachung erfolgt zum Beispiel
durch regelmäßiges Aussenden
von Signalen an jeden MP und Überwachen,
ob ein vorgeschriebenes Antwortsignal erhalten wird oder nicht). Wenn
der SVP 12 einen MP, der hätte hochfahren sollen, nicht
erfassen kann (wenn zum Beispiel kein Antwortsignal von dem MP erhalten
wird, der hätte hochfahren
sollen), wie zum Beispiel in 7 gezeigt,
werden eine Meldung dahingehend, dass dieser MP nicht hochgefahren
ist, und eine Meldung, die die Neuinstallation des Programms oder
des Betriebssystems empfiehlt, auf dem Bildschirm angezeigt.
-
Während vorstehend
eine bevorzugte Ausführungsform
und verschiedene modifizierte Beispiele der vorliegenden Erfindung
beschrieben wurden, stellen diese lediglich Beispiele zur Erläuterung
der vorliegenden Erfindung dar, und der Umfang der vorliegenden
Erfindung ist nicht als auf diese Ausführungsform und diese modifizierten
Beispiele beschränkt
anzusehen. Die vorliegende Erfindung könnte auf verschiedene andere
Weise praktisch angewendet werden.