DE602004003677T2 - Bootsteuersystem - Google Patents

Bootsteuersystem Download PDF

Info

Publication number
DE602004003677T2
DE602004003677T2 DE602004003677T DE602004003677T DE602004003677T2 DE 602004003677 T2 DE602004003677 T2 DE 602004003677T2 DE 602004003677 T DE602004003677 T DE 602004003677T DE 602004003677 T DE602004003677 T DE 602004003677T DE 602004003677 T2 DE602004003677 T2 DE 602004003677T2
Authority
DE
Germany
Prior art keywords
startup
data
significant
protection code
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE602004003677T
Other languages
English (en)
Other versions
DE602004003677D1 (de
Inventor
Intl. Prop. Gp. Masanori c/o Hitachi Ltd. Fujii
Intl. Prop. Gp. Yasuo c/o Hitachi Ltd. Inoue
Intl. Prop. Gp. Nobuyuki c/o Hitachi Ltd. Minowa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE602004003677D1 publication Critical patent/DE602004003677D1/de
Application granted granted Critical
Publication of DE602004003677T2 publication Critical patent/DE602004003677T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Description

  • 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.

Claims (5)

  1. Bootsteuersystem (120), aufweisend: einen Prozessor (111), Hochfahrspeicherbereiche (115, 117) zum Speichern von zum Hochfahren des Prozessors benötigter Hochfahrdaten und eines einen Schutzcode für die Hochfahrdaten darstellenden Hochfahrschutzcodes, und Datenprüfhardware (121), dadurch gekennzeichnet, daß die Hochfahrdaten ein höchstwertiges Hochfahrdatenelement (DH), das das Element auf der höchstwertigen Seite der Hochfahrdaten darstellt, und ein niedrigstwertiges Hochfahrdatenelement (DL) umfassen, das das Element auf der niedrigstwertigen Seite der Hochfahrdaten darstellt, der Hochfahrschutzcode einen höchstwertigen Hochfahrschutzcode (PH), der den Schutzcode des höchstwertigen Elements (DH) der Hochfahrdaten darstellt, und einen niedrigstwertigen Hochfahrschutzcode (PL) enthält, der den Schutzcode des niedrigstwertigen Elements (DL) der Hochfahrdaten darstellt, der Hochfahrspeicherbereich einen ersten Hochfahrteilspeicherbereich (115B) und einen zweiten Hochfahrteilspeicherbereich (117B) umfaßt, der erste Hochfahrteilspeicherbereich (115B) das höchstwertige Hochfahrdatenelement (DH) und den niedrigstwertigen Hochfahrdatenschutzcode (PL) speichert, der zweite Hochfahrteilspeicherbereich (117B) das niedrigstwertige Hochfahrdatenelement (DL) und den höchstwertigen Hochfahrschutzcode (PH) speichert und die Datenprüfhardware (121) eingerichtet ist, den niedrigstwertigen Hochfahrschutzcode (PL) und das höchstwertige Hochfahrdatenelement (DH) aus dem ersten Hochfahrteilspeicherbereich (115B) zu lesen, den höchstwertigen Hochfahrschutzcode (PH) und das niedrigstwertige Hochfahrdatenelement (DL) aus dem zweiten Hochfahrteilspeicherbereich (117B) zu lesen, eine erste Teilprüfung auszuführen, die die Gültigkeit des höchstwertigen Hochfahrschutzcode (PH) und/oder des höchstwertigen Hochfahrdatenelements (DH) prüft, und eine zweite Teilprüfung auszuführen, die die Gültigkeit des niedrigstwertigen Hochfahrschutzcodes (PL) und des niedrigstwertigen Hochfahrdatenelements (DL) prüft, und den Prozessor (111) 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 (DH) und das niedrigstwertige Hochfahrdatenelement (DL) in den Prozessor einzugeben, wenn sowohl in der ersten Teilprüfung als auch in der zweiten Teilprüfung ein positives Prüfungsergebnis erhalten wird.
  2. System nach Anspruch 1, wobei die Datenprüfhardware (121) eingerichtet ist, die vom Prozessor (111) erhaltenen Hochfahrdaten in die höchstwertigen Hochfahrdatenelemente und die niedrigstwertigen Hochfahrdatenelemente zu unterteilen, den höchstwertigen Hochfahrschutzcode unter Verwendung der höchstwertigen Hochfahrdatenelemente zu erzeugen, den niedrigstwertigen Hochfahrschutzcode unter Verwendung der niedrigstwertigen Hochfahrdatenelemente zu erzeugen, die höchstwertigen Hochfahrdatenelemente und den niedrigstwertigen Hochfahrdatenschutzcode im ersten Hochfahrteilspeicherbereich (116B) zu speichern und die niedrigstwertigen Hochfahrdatenelemente und den höchstwertigen Hochfahrschutzcode im zweiten Hochfahrteilspeicherbereich (116B) zu speichern.
  3. Speichersteuersystem (100), das mit einer externen Vorrichtung (1) verbunden ist und folgendes umfaßt: mehrere Speichervorrichtungen (9) zum Speichern von Daten, einen Cache-Speicher (15) zum vorübergehenden Speichern von Daten, die zwischen den Speichervorrichtungen und der externen Vorrichtung ausgetauscht werden, und eine Steuervorrichtung (13, 19) zum Steuern des zwischen den Speichervorrichtungen und der externen Vorrichtung durch den Cache-Speicher vorgenommenen Datenaustauschs, wobei das Speichersteuersystem ein Bootsteuersystem (120) nach Anspruch 1 enthält.
  4. System (100) nach Anspruch 3, wobei die Datenprüfhardware (121) folgendes umfaßt: eine Unterteilungsschaltung (119) zum Unterteilen der vom Prozessor (111) erhaltenen Hochfahrdaten in die höchstwertigen Hochfahrdatenelemente und die niedrigstwertigen Hochfahrdatenelemente, eine Schutzcode-Erzeugungsschaltung (119) zur Erzeugung des höchstwertigen Hochfahrschutzcodes (PH) unter Verwendung der höchstwertigen Hochfahrdatenelemente (DH) und zur Erzeugung des niedrigstwertigen Hochfahrschutzcodes (PL) unter Verwendung der niedrigstwertigen Hochfahrdatenelemente (DL), und eine Datenspeicherschaltung (251) zum Speichern der höchstwertigen Hochfahrdatenelemente (DH) und des niedrigstwertigen Hochfahrdatenschutzcodes (PL) im ersten Hochfahrteilspeicherbereich (115B) und zum Speichern der niedrigstwertigen Hochfahrdatenelemente (DL) und des höchstwertigen Hochfahrschutzcodes (PH) im zweiten Hochfahrteilspeicherbereich (117B).
  5. Prozessorchip (201), aufweisend: einen Prozessorkern (203), und ein Bootsteuersystem (120) nach Anspruch 1.
DE602004003677T 2004-04-19 2004-10-19 Bootsteuersystem Active DE602004003677T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004122739 2004-04-19
JP2004122739A JP4544901B2 (ja) 2004-04-19 2004-04-19 記憶制御システム及びブート制御システム

Publications (2)

Publication Number Publication Date
DE602004003677D1 DE602004003677D1 (de) 2007-01-25
DE602004003677T2 true DE602004003677T2 (de) 2007-10-04

Family

ID=34930742

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004003677T Active DE602004003677T2 (de) 2004-04-19 2004-10-19 Bootsteuersystem

Country Status (4)

Country Link
US (2) US7287155B2 (de)
EP (1) EP1589427B1 (de)
JP (1) JP4544901B2 (de)
DE (1) DE602004003677T2 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7623660B1 (en) 2004-07-20 2009-11-24 Xilinx, Inc. Method and system for pipelined decryption
US7689726B1 (en) * 2004-10-01 2010-03-30 Xilinx, Inc. Bootable integrated circuit device for readback encoding of configuration data
US7328335B1 (en) 2004-10-01 2008-02-05 Xilinx, Inc. Bootable programmable logic device for internal decoding of encoded configuration data
TWI355608B (en) * 2008-01-30 2012-01-01 Inventec Corp Computer system with dual basic input output syste
GB2471464A (en) * 2009-06-29 2011-01-05 Nokia Corp Procedure for generating a merged command list form the static lists to be used to start up or boot up the host device.
CN102087625A (zh) * 2009-12-04 2011-06-08 鸿富锦精密工业(深圳)有限公司 开机测试系统及测试方法
TWI450194B (zh) * 2011-11-10 2014-08-21 Inst Information Industry 作業系統處理方法以及系統、以及儲存其之電腦可讀取記錄媒體
CN109634906B (zh) * 2018-12-12 2022-07-05 浪潮(北京)电子信息产业有限公司 一种ic通信系统和方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1002271B (it) * 1973-12-27 1976-05-20 Honeywell Inf Systems Perfezionamento ai dispositivi di controllo di parita nelle memorie a semiconduttori
JPS6371736A (ja) * 1986-09-12 1988-04-01 Fujitsu Ltd Romのパリテイビツト領域割当方式
US5388267A (en) * 1991-05-29 1995-02-07 Dell Usa, L.P. Method and apparatus for updating and restoring system BIOS functions while maintaining BIOS integrity
JPH05216776A (ja) * 1992-02-04 1993-08-27 Hitachi Ltd 自動車用コントロールユニット
JPH06243049A (ja) * 1993-02-15 1994-09-02 Fujitsu Ltd パリティ制御回路
US5797023A (en) 1994-10-17 1998-08-18 Digital Equipment Corporation Method and apparatus for fault tolerant BIOS addressing
KR100198382B1 (ko) * 1996-05-07 1999-06-15 윤종용 멀티-부팅 기능을 갖는 컴퓨터 장치
TW400469B (en) 1997-07-08 2000-08-01 Winbond Electronics Corp Device capable of fixing programs in embedded microprocessor
JPH1196012A (ja) * 1997-09-19 1999-04-09 Yokogawa Electric Corp 分散制御装置
US5832005A (en) 1997-12-11 1998-11-03 International Business Machines Corporation Fault-tolerant method and means for managing access to an initial program load stored in read-only memory or the like
JP2000148467A (ja) * 1998-11-05 2000-05-30 Sharp Corp 情報処理装置、情報処理装置の基本システムプログラム書換方法及び情報処理装置の基本システムプログラム書換プログラムを記録した記録媒体
US6571347B1 (en) 1999-05-24 2003-05-27 Winbond Electronics Corporation Apparatus and method for intelligent computer initiation program recovery
JP2001109629A (ja) 1999-10-05 2001-04-20 Toshiba Corp Cpuのブート制御装置及びブート制御方法
US6625730B1 (en) 2000-03-31 2003-09-23 Hewlett-Packard Development Company, L.P. System for validating a bios program and memory coupled therewith by using a boot block program having a validation routine
US6571310B1 (en) * 2000-04-20 2003-05-27 International Business Machines Corporation Method and apparatus for managing a heterogeneous data storage system
US6792556B1 (en) 2000-05-31 2004-09-14 Dell Products L.P. Boot record recovery
US6490668B2 (en) * 2000-12-15 2002-12-03 Hewlett-Packard Company System and method for dynamically moving checksums to different memory locations
TWI240864B (en) * 2001-06-13 2005-10-01 Hitachi Ltd Memory device
JP4434539B2 (ja) * 2001-12-26 2010-03-17 富士通マイクロエレクトロニクス株式会社 プロセッサおよびそのブート方法
US6907522B2 (en) 2002-06-07 2005-06-14 Microsoft Corporation Use of hashing in a secure boot loader
JP2004021811A (ja) * 2002-06-19 2004-01-22 Hitachi Ltd 不揮発メモリを使用したディスク制御装置
US7017017B2 (en) * 2002-11-08 2006-03-21 Intel Corporation Memory controllers with interleaved mirrored memory modes
US7340638B2 (en) 2003-01-30 2008-03-04 Microsoft Corporation Operating system update and boot failure recovery
TWI243335B (en) 2003-09-04 2005-11-11 Htc Corp Booting method for performing warm boot or cold boot when CPU is down, and its computer system

Also Published As

Publication number Publication date
DE602004003677D1 (de) 2007-01-25
US7287155B2 (en) 2007-10-23
EP1589427A1 (de) 2005-10-26
JP2005309580A (ja) 2005-11-04
US20080046672A1 (en) 2008-02-21
JP4544901B2 (ja) 2010-09-15
US7644263B2 (en) 2010-01-05
US20050235138A1 (en) 2005-10-20
EP1589427B1 (de) 2006-12-13

Similar Documents

Publication Publication Date Title
DE69827949T2 (de) Gerät und verfahren um speicherfehler zu erkennen und zu berichten
DE3128740C2 (de)
DE69821426T2 (de) Speicheranordung, und Datenverarbeitungssystem und -Verfahren
DE2416609C2 (de) Datenverarbeitungsanlage mit einer zentralen Verarbeitungseinheit und Multiprogrammierung mit mehreren Programmunterbrechungs-Prioritätsstufen
DE69937808T2 (de) Verfahren und vorrichtung zur konfiguration und initialisierung einer speichervorrichtung und eines speicherkanals
DE69727083T2 (de) Überprüfungssystem um die integrität der parität einer speicherplattenmatrix aufrechtzuerhalten
DE102004049454B4 (de) Verfahren zur Benutzung von Featuremarkern zur Bestimmung der Kompatibilität zwischen Bios-Revisionen und installierter Hardware bei der Flash-Aktualisierung
DE102004027672A1 (de) Speicherplattenarraysystem
EP0228559A1 (de) Fehlertolerante Mehrrechneranordnung
DE10048402B4 (de) Datenspeichersystem
DE102006054830A1 (de) System und Verfahren zum Konfigurieren von integrierten Schaltungen von Informationsverarbeitungssystemen
DE69934665T2 (de) Vorrichtung und verfahren zum gesicherten schreiben in einem plattencachespeicher für festplatten eines massenspeichersubsystems
DE602004003677T2 (de) Bootsteuersystem
DE112007000688B4 (de) Fehlerverwaltungstopologien
DE102016109892B4 (de) Datenverarbeitungsvorrichtung und Verfahren zum Einsparen von Leistung in einer Datenverarbeitungsvorrichtung
DE112021000246T5 (de) Nachrichtenübermittlung von der peer-speicherungsvorrichtung über den steuerbus
DE60133522T2 (de) Behandlung des Speicherüberlaufs in einem Datenverarbeitungssystem
DE2810421C2 (de) Speicherschutzeinrichtung
DE112018006401T5 (de) Transparent zugeordnete flash-memory-sicherheit
DE102022109208A1 (de) Verwaltung der Verwendung von Geheimnissen der Verwaltungssteuerung basierend auf der Besitzgeschichte der Firmware
EP1611517B1 (de) Programmgesteuerte einheit
EP1611516A2 (de) Programmgesteuerte einheit
DE112020005933T5 (de) Sicheres laden eines in einen mikrocontroller eingebetteten abbildes
DE112019000413T5 (de) Sicherheitserweiterung für Speichersteuerungen
DE102020111321A1 (de) System und verfahren zur erkennung und berichtigung von datenfehlern eines transparenten registers

Legal Events

Date Code Title Description
8364 No opposition during term of opposition