DE69325877T2 - Prozessorsteuerungscodeaktualisierung - Google Patents

Prozessorsteuerungscodeaktualisierung

Info

Publication number
DE69325877T2
DE69325877T2 DE69325877T DE69325877T DE69325877T2 DE 69325877 T2 DE69325877 T2 DE 69325877T2 DE 69325877 T DE69325877 T DE 69325877T DE 69325877 T DE69325877 T DE 69325877T DE 69325877 T2 DE69325877 T2 DE 69325877T2
Authority
DE
Germany
Prior art keywords
code
new
memory
old
microprogram
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.)
Expired - Lifetime
Application number
DE69325877T
Other languages
English (en)
Other versions
DE69325877D1 (de
Inventor
Dennis Albert Kukula
Vern John Legvold
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE69325877D1 publication Critical patent/DE69325877D1/de
Publication of DE69325877T2 publication Critical patent/DE69325877T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf Rechnersysteme und insbesondere auf das Aktualisieren des Prozessorsteuercodes in Rechnersystemen.
  • Rechnersysteme enthalten üblicherweise einen Mikroprozessor, der Eingabe- und Ausgabevorgänge zahlreicher zugehöriger peripherer Geräte nach einem Schema (oder BIOS, "grundlegendes Eingabe- und Ausgabesystem") steuert, das als Mikroprogramm in einem dazugehörigen Speicher gespeichert ist. Wenn sich die Anforderungen ändern, das Eingabe/Ausgabe-Steuersystem zu ändern, ist es wünschenswert, das Mikroprogramm zu ändern, mit dem diese Funktionen durch den Mikroprozessor ausgeführt werden. Dies wird üblicherweise bewerkstelligt, indem das Mikroprogramm geändert wird, das den Prozessor steuert. Dies ist jedoch ziemlich problematisch gewesen.
  • IBM TDB vom März 1990, Bd. 32, Nr. 10A, S. 282 bis 283, beschreibt eine Technik zum automatisch beim Einschalten erfolgenden Qnline-Aktualisieren von elektronisch löschbaren Festspeichern (ROS) an einer Übertragungs-E/A-Prozessor- oder E/A- Adapter-Karte während des anfänglichen Ladens des Mikroprogramms (IML). Eine Vergleichsroutine stellt fest, ob eine Aktualisierung erforderlich ist, und wenn dies der Fall ist, führt eine Aktualisierungseinrichtung das notwendige Aktualisieren durch.
  • Als weiteres Beispiel enthalten Speichersteuerungen (oder "Speichersteuereinheiten"), wie etwa die Einheit 3990, die von der International Business Machines (IBM) Corporation verkauft wird, üblicherweise zwei Gruppenanschlüsse, die Zugriff auf eine einzelne Gruppe von Direktzugriffs-Speichereinrichtungen (DASDs) gestatten. Jeder der Gruppenanschlüsse befindet sich an einer getrennten Stromversorgung, und jeder hat die Fähigkeit, sein eigenes Mikroprogramm zu laden. Jeder Gruppenanschluss hat zwei Mikroprozessoren, und jeder Mikroprozessor stellt einen getrennten Pfad zu den Speichereinrichtungen bereit. Innerhalb jedes Mikroprozessors regelt das Mikroprogramm den Zugriff des Hauptrechners auf die Speichereinrichtung.
  • Das übliche Verfahren des Aktualisierens des Mikroprogramms in jedem Gruppenanschluss bewirkt eine Unterbrechung im Betrieb des Gruppenanschlusses, wenn das Mikroprogramm geladen und der Gruppenanschluss neu initialisiert wird. Die Verfahrensweise kann im herkömmlichen-System bis zu einer halben Stunde pro Gruppenanschluss dauern. In diesem Zusammenhang bedeutet "unterbrochen", dass der Gruppenanschluss den Zugriff auf die Daten hinter der Steuereinheit verliert, bis das neue Mikroprogramm unter Benutzung eines Einschaltens / Wiedereinschaltens in beide Gruppenanschlüsse geladen worden ist. Daher sind längerwährende Betriebsunterbrechungen allgemein unerwünscht.
  • Eine andere, aber nicht weniger unerwünschte Verfahrensweise besteht darin, das Aktualisieren des Mikroprogramms auf kleine Veränderungen zu beschränken. Dies ist jedoch nicht durchführbar, wenn bedeutende und wesentliche Veränderungen im Mikroprogramm anstehen.
  • Damit besteht nach Stand der Technik ein Bedürfnis nach einer Technologie, ein Mikroprogramm mit minimaler Unterbrechung im Betrieb eines Steuerprozessors wesentlich zu verändern.
  • Demgemäß stellt die Erfindung ein Verfahren zum automatischen Installieren eines neuen Prozessorsteuercodes in einem mit einem alten Prozessorsteuercode laufenden Rechnersystem bereit, wobei das Verfahren die Schritte enthält:
  • Laden des neuen Codes in das Rechnersystem;
  • Identifizieren von Werten aus einer Vielzahl von Aktualisierungsvariablen (MIVs) sowohl in dem neuen als auch in dem alten Code und Vergleichen der Aktualisierungsvariablen in dem neuen Code mit den entsprechenden in dem alten Code, um festzustellen, welche Betriebsmittel (58, 60, AWEs) zu steuern sind, um ein Aktualisieren des Codes zu bewirken; und
  • Veranlassen von Veränderungen in dem Prozessorsteuercode beim Steuern der Betriebsmittel auf der Grundlage der Ergebnisse des Vergleiches.
  • Die Variablen beziehen sich auf Betriebsmittel, die von dem Rechnersystem verwaltet werden. Vorzugsweise enthält das Verfahren auch den Schritt des Initialisierens des Rechnersystems, nachdem die Veränderungen in seinem Betrieb vorgenommen worden sind.
  • Die Erfindung stellt auch eine Vorrichtung zum automatischen Installieren eines neuen Prozessorsteuercodes in einem mit einem alten Prozessorsteuercode laufenden Rechnersystem bereit, wobei die Vorrichtung umfasst:
  • Mittel zum Laden des neuen Codes in das Rechnersystem;
  • Mittel zum Identifizieren von Werten aus einer Vielzahl von Aktualisierungsvariablen (MIVs) sowohl in dem neuen als auch in dem alten Code und zum Vergleichen der Aktualisierungsvariablen in dem neuen Code mit den entsprechenden in dem alten Code, um festzustellen, welche Betriebsmittel (58, 60, AWEs) zu steuern sind, um ein Aktualisieren des Codes zu bewirken; und
  • Mittel zum Bewirken von Veränderungen in dem Prozessorsteuercode während des Steuerns der Betriebsmittel auf der Grundlage der Ergebnisse des Vergleiches.
  • Üblicherweise enthält das Rechnersystem viele Prozessoren, welche die gleichen Geräte steuern, und der neue Steuercode wird in einem der Prozessoren installiert, die mit dem alten Steuercode laufen. Ein Beispiel eines derartigen Systems ist eines, das eine Vielzahl von Speichersteuerungen hat. Es sollte jedoch wahrgenommen werden, dass die Erfindung in einem beliebigen Rechnersystem anwendbar ist, das einen Steuercode benutzt, der von Zeit zu Zeit aktualisiert wird.
  • Die Vorrichtung oder das System installiert bei minimaler Betriebsunterbrechung automatisch einen neuen Prozessorsteuer- Code in einem Rechnersystem, das mit einem alten Prozessorsteuercode läuft. Der neue Code wird in das Rechnersystem geladen und mit dem alten Code verglichen, um Werte aus einer Vielzahl von Aktualisierungsvariablen zu identifizieren. Veränderungen beim Betrieb des Rechnersystems werden auf der Grundlage der Werte der Aktualisierungsvariablen bewirkt, ohne dass sein Betrieb unterbrochen wird.
  • Das Mikroprogramm enthält Variable zur Betriebsmittelverwaltung, die gekennzeichnet und denen vorgegebene Werte zugeordnet werden. Die Variablen zur Betriebsmittelverwaltung werden mit entsprechenden Variablen in dem alten Code verglichen, um festzustellen, welche Betriebsmittel zu steuern sind, um ein Aktualisieren des Systems zu bewirken. Damit werden wesentliche Veränderungen im Mikroprogramm automatisch und ohne Unterbrechung bewirkt.
  • Eine Ausführungsform der Erfindung wird nun als Beispiel unter Bezug auf die folgenden Zeichnungen beschrieben:
  • Fig. 1 ist ein Blockschaltbild eines Datenverarbeitungssystems.
  • Fig. 2 ist ein Blockschaltbild der Speichersteuerung des Datenverarbeitungssystems von Fig. 1.
  • Fig. 3 ist ein Blockschaltbild eines Speicherpfades für die Speichersteuerung des Datenverarbeitungssystems von Fig. 1.
  • Fig. 4 ist ein Flussdiagramm, das eine andere bevorzugte Ausführungsform erläutert, in der Mikroprogramminstallationen automatisch und ohne Bedienereingriff vorgenommen werden.
  • Eine Einschätzung der vorliegenden Erfindung wird durch eine Betrachtung eines typischen konventionellen Großrechnersystems hinsichtlich der Betriebsmittel erleichtert, die verwaltet werden müssen. Dies wird das Verständnis für die Notwendigkeit von Veränderungen oder Aktualisierungen im Prozessorsteuercode (Mikroprogramm) erleichtern, mit dem die Betriebsmittel verwaltet werden.
  • Fig. 1 zeigt ein Übersichts-Blockschaltbild eines Datenverarbeitungssystems 10. Das System 10 enthält eine Speichersteuerung 12, eine Vielzahl von Hauptrechnern 14, 16, 18 und 20 und eine Vielzahl von Direktzugriffs-Speichergeräten (DASD) 22 bis 32. Derzeitig sind Plattenspeichereinheiten die am häufigsten übliche Art von DASD. In großen Datenverarbeitungssystemen mit vielen Rechnern bedient eine große Anzahl von Direktzugriffs- Speichergeräten mehrere Rechner.
  • Die Speichersteuerung 12 ist logisch zwischen den Hauptrechnern 14 bis 20 und den DASDs 22 bis 32 angeordnet. Die Speichersteuerung 12 handhabt Verbindung und Trennung zwischen einem bestimmten Rechner und einer Magnetplatteneinheit zum Übertragen eines Datensatzes.
  • Die Speichersteuerung IBM Modell 3990 ist ein Beispiel einer Speichersteuerung, die dafür benutzt wird, Verbindungen zwischen Magnetplatteneinheiten und Hauptrechnern zu steuern. Die Hauptrechner 14 bis 20 sind üblicherweise Großrechnersysteme, wie etwa der IB 3090, das Modell E59000 oder andere vergleichbare Systeme.
  • Die Steuerung vom Typ IBM 3990 Modell 3 kann bis zu sechzehn Kanäle von Hauptrechnern und bis zu vierundsechzig Magnetplattenspeichereinheiten handhaben. Daher sind die Hauptrechner 14 bis 20 mit Speichersteuerung 12 durch mindestens einen und durch bis zu vier Kanäle verbunden. Beispielsweise ist der Hauptrechner 20 mit Speichersteuerung 12 durch Kanäle 34(a), 34(b), 34(c) und 34(d) verbunden. Obgleich in Fig. 1 vier Hauptrechnersysteme und sechs Direktzugriffs-Speichereinrichtungen dargestellt sind, kann die Speichersteuerung 12 zusätzliche Kanäle und Direktzugriffs-Speichereinrichtungen handhaben.
  • Fig. 2 beschreibt die Speichersteuerung 12 ausführlicher. Die Speichersteuerung 12 hat zwei Speichergruppenanschlüsse 36 und 38, von denen jeder für wahlweise Verbindung zwischen einem Hauptrechner und einer Direktzugriffs-Speichereinrichtung sorgt. Die Gruppenanschlüsse 36 und 38 befinden sich an getrennten Stromversorgungen. Der erste Gruppenanschluss 36 enthält einen ersten Mehrwegspeicherinterpolator 62 mit den zugehörigen Speicherpfaden 48 und 50, einen gemeinsam genutzten Steuerbereich 64 und einem Cachespeicher 58. Der zweite Gruppenanschluss 38 enthält einen zweiten Mehrwegspeicherinterpolator 63 mit zugehörigen Speicherpfaden 52 und 54, einen gemeinsam genutzten Steuerbereich (SCA) 66 und einen Permanentspeicher (NVS) 60.
  • Fig. 3 ist ein Blockschaltbild eines Speicherpfades. Der Speicherpfad 48 ist mit einem Mehrwegspeicherinterpolator 62 durch einen oberen Anschluss und mit einer Vielzahl von Direktzugriffs-Speichereinrichtungen durch einen unteren Anschluss verbunden. Datenübertragung zwischen dem Mehrwegspeicherinterpolator 62 und einer der Direktzugriffs-Speichereinrichtungen erfolgt während Synchronbetrieb über eine automatische Datenübertragungsschaltung 74, die, falls erforderlich, durch einen Ratenänderungs-Zwischenspeicher 76 unterstützt wird. Ratenänderungs-Zwischenspeicher 76 kompensiert Unterschiede zwischen der Datenübertragungsgeschwindigkeit bei Plattenlaufwerken, DASDs und der Betriebsgeschwindigkeit der Kanäle zu Hauptrech nern. Die Kanäle handhaben Daten üblicherweise mit einer schnelleren Rate als die Direktzugriffs-Speichereinrichtungen. Ein Anschlussadapter 72 steuert Datenübertragung zwischen dem Cachespeicher 58, dem Permanentspeicher 60 und dem unteren Anschluss. Der Anschlussadapter 72 steuert auch die Datenübertragung zwischen Cachespeicher 58 und dem oberen Anschluss. Wie vorstehend erörtert, sorgt das Vorhandensein von Cachespeicher 58 und Permanentspeicher 60 für den logischen Abschluss von spezifischen Datenübertragungen, ohne dass auf physische Synchronisation der Platten- und Kanalverbindung gewartet wird. Alle Vorgänge des Speicherpfades 48 werden von einem Mikroprozessors 70 gesteuert. Die Mikroprogrammsteuerung des Prozessors wird durch den Mikroprozessor auf dem Speicherpfad ausgeführt, um den Betrieb der Speichersteuerung zu steuern. Daher nutzen, obwohl jeder Speicherpfad in der Tat eine selbständig arbeitende Steuereinheit ist, die auf ihrem eigenen Mikroprozessor beruht, die Speicherpfade über den SCA gemeinsam Prozessorsteuerinformationen für Synchronisationsfunktionen zum Handhaben von Verbindungen, Trennungen und erneuten Verbindungen in Bezug auf eine Transaktion.
  • Unter erneuter Bezugnahme auf Fig. 2 hat jeder Speicherpfad in der Speichersteuerung Zugriff auf drei adressierbare Speichergeräte, die zur Unterstützung des Speichersteuerungsbetriebes benutzt werden. Die drei Speichergeräte sind: der Cachespeicher 58, der Permanentspeicher 60 und der gemeinsam genutzte Steuerbereich 64/66. Die drei Speichergeräte und die asynchronen Arbeitsmittel bilden die gemeinsam genutzten Baugruppen der Steuereinheit 3990.
  • Cachespeicher sind ihrer Anwendung nach allgemein bekannt als Zusatzeinrichtung für Rechnerspeicher, bei denen sie als Hochgeschwindigkeitsspeicher für Anweisungen und Daten benutzt wird, auf die häufig zugegriffen wird. Die Zeitspanne nach dem letzten Gebrauch eines Datensatzes wird als Anzeige für die Häufigkeit des Gebrauch benutzt. Cachespeicher unterscheiden sich von Systemspeichern darin, dass ihr Inhalt vom Zeitpunkt des letzten Gebrauchs an altert. Im Adressraum eines Rechnerspeichers müssen Programmdaten freigegeben werden, ehe Daten Zugriff erhalten, die miteinander um Platz im Adressraum konkurrieren. Im Cachespeicher führt die Konkurrenz um Platz dazu, dass Daten aus dem Speicher herausfallen, wenn sie die am längsten nicht benutzten Daten werden. Obwohl periodisch Daten in den Cachespeicher kommen, auf die selten zugegriffen wird, neigen diese dazu zu "altern", und fallen aus dem Speicher heraus. Der Inhalt wird im Systemspeicher dupliziert. Ein Speichersteuerungscachespeicher führt für Direktzugriffs-Speichereinrichtungen und Speichersteuerungen eine Analogfunktion aus. Das Lesen von Daten vom Magnetmedium (und das Aufzeichnen von Daten darauf) der Direktzugriffs-Speichereinrichtungen ist ziemlich zeitaufwendig. Zu den Faktoren, welche die Lese- und Aufzeichnungsvorgänge verlangsamen, gehört die Zeit, die für die Magnetplatte erforderlich ist, den Standort eines Datensatzes in Ausrichtung zu einem Wandler zu bringen, und die begrenzte Bandbreite des Magnetwandlers, der zum Lesen und Aufzeichnen von Daten benutzt wird. Durch Duplizieren von Daten, auf die häufig zugegriffen wird, im Cachespeicher wird die Lesezeit für Daten vermindert, und der Durchsatz des Datenspeichersystem wird beträchtlich verbessert. Hochgeschwindigkeitsbauelemente sind hinsichtlich der Kosten pro Speicherbyte teuer, insbesondere im Vergleich mit Magnetspeichermedien, und damit ist ein Cachespeicher im Vergleich mit der Speicherein richtung recht klein. Im Sinne der vorliegenden Beschreibung sollte angemerkt werden, dass dann, wenn ein Cachespeicher nicht verfügbar ist, kein Versuch unternommen wird, auf den Cachespeicher zuzugreifen, bis ein Befehl "Cachespeicher verfügbar machen" vom Hauptrechner empfangen wird.
  • Permanentspeicher (NVS) dienen dem Cachespeicher als Sicherung für die Zwischenspeicherfunktion. Der Zugriff auf einen NVS erfolgt schneller als der Zugriff auf eine Direktzugriffs- Speichereinrichtung, aber im allgemeinen langsamer als auf den Cachespeicher. Daten werden zum Cachespeicher und zum NVS verzweigt, um den Cachespelcher im Falle eines Netzausfalles zu sichern. Daten, die in einem NVS aufgezeichnet worden sind, werden als so sicher betrachtet, als ob sie auf Magnetmedien aufgezeichnet worden wären. Beim Abstufen eines Datensatzes zu einem NVS wird dem Hauptrechner angezeigt, dass die Daten erfolgreich gespeichert worden sind. Der NVS ist für Schnellaufzeichnungsvorgänge und zum Einrichten von Doppelkopiepaaren erforderlich. Wenn der Cachespeicher nichtverfügbar gemacht worden ist, werden alle Schnellaufzeichnungsdaten während des Vorganges des Nichtverfügbarmachens abgestuft, und es werden in dem NVS keine neuen Schnellaufzeichnungsdaten aufgezeichnet, bis, der Cachespeicher verfügbar gemacht worden ist. Wenn der Cachespeicher nichtverfügbar ist, muss der NVS noch die Bitabbilder aufrechterhalten, welche die Zylinder definieren, die zwischen den primären und den sekundären Einrichtungen für Doppelkopien nicht synchron sind.
  • Ein gemeinsam genutzter Steuerbereich (SCA) ist ein Speicherbereich, der über alle Speicherpfade gemeinsam genutzt wird. Es gibt üblicherweise zwei Arten von Daten in dem SCA. Die erste sind Daten zur Unterstützung der DASD, und die zweite sind die Daten zur Unterstützung des Speicherns im Cachespeicher und erweiterter Funktionen (d. h. Schnellaufzeichnung und Doppelkopie).
  • Ein weiteres für den Großrechner verfügbares Betriebsmittel kann ein asynchrones Arbeitselement (AWE) sein. Ein AWE ist eine Task, die durch einen beliebigen Prozessor ausgeführt wird, durch den Daten aus dem Cachespeicher entnommen und aufgezeichnet oder zur DASD "abgestuft" werden. Diese Baugruppen steuern die internen Arbeitselemente, welche die asynchrone Funktion steuern, die durch die Cachespeichersteuereinheit angefordert werden (d. h. Stapel ändern, abgestufte modifizierte Daten, Cachespeicherverwaltung usw.).
  • Es ist klar, dass die beiden Gruppenanschlüsse in der Steuereinheit 3990 Datenstrukturen gemeinsam nutzen. In dem Maße, wie sich die Betriebsanforderungen des Systems ändern und wie neue und verbesserte Merkmale des Systems verfügbar gemacht werden, stehen Veränderungen beim Betrieb des Systems insbesondere im Hinblick auf die Verwaltung der vielen vorstehend erwähnten Betriebsmittel an. Diese Veränderungen werden durch Verändern des Mikroprogramms realisiert, das den Systembetrieb durch die Mikroprozessoren 70 steuert. Wie vorstehend erwähnt, umfasst die herkömmliche Verfahrensweise zum Vornehmen bedeutender Änderungen im Mikroprogramm eine Unterbrechung des Systembetriebes, während das neue Mikroprogramm in den Mikroprozessorspeicher geladen wird, üblicherweise über eine Unterstützungseinrichtung (Diskettenlaufwerk, 68 und 69 in Fig. 2). Das traditionelle Verfahren zum Aktualisieren des Mikroprogramms in jedem Gruppenanschluss bringt eine Betriebsunterbrechung am Gruppenanschluss mit sich, während das Mikroprogramm geladen und der Gruppenanschluss neu initialisiert wird.
  • Da diese Verfahrensweise bis zu einer halben Stunde dauern kann, ist die Betriebsunterbrechung allgemein nicht wünschenswert.
  • Der Bedarf nach dem Stand der Technik für einen im wesentlichen aktualisierenden Mikroprogramm mit minimaler Unterbrechung des Betriebes eines Steuerprozessors wird durch die vorliegende Erfindung angesprochen. Die Erfindung stellt ein System zum automatischen Installieren eines neuen Prozessorsteuercodes in einem Rechnersystem bereit, das mit einem alten Prozessorsteuercode läuft, wobei sein Betrieb minimal unterbrochen wird. In Verbindung mit der Steuereinheit 3990 ist bekannt, dass die betroffene gemeinsam benutzte Baugruppe nur im Verlaufe von Cachespeichervorgängen benutzt wird. Wenn dies auftritt, kann der Cachespeicher nichtverfügbar gemacht werden, und das neue Mikroprogramm kann ohne Unterbrechung installiert werden. Im allgemeinen wird der neue Code, wie nachstehend ausführlich erläutert, in das Rechnersystem geladen und mit dem alten Code verglichen, um Werte aus einer Vielzahl von Aktualisierungsvariablen zu identifizieren. Veränderungen im Betrieb des Rechnersystems werden auf der Grundlage der Werte der Aktualisierungsvariablen ohne Unterbrechung seines Betriebes bewirkt.
  • Eine spezielle Ausführungsform enthält ein Mikroprogramm, in dem Variable zur Betriebsmittelverwaltung gekennzeichnet und ihnen vorgegebene Werte zugeordnet werden. Die Variablen zur Betriebsmittelverwaltung werden mit entsprechenden Variablen im alten Code verglichen, um festzustellen, welche Betriebsmittel zu steuern sind, um ein Aktualisieren des Systems zu bewirken. Damit werden wesentliche Veränderungen im Mikroprogramm automatisch und ohne Unterbrechung bewirkt.
  • Die SCA-Strukturen der Geräte sind im Verlauf der Zeit stabil geblieben und ändern sich im allgemeinen nur, wenn ein neues Mikroprogramm einen neuen Gerätetyp unterstützt. Wenn dies auftritt, wird das neue Mikroprogramm während einer Aktualisierung gemäß den vorliegenden Lehren eingerichtet, um für vorhandene Geräte unter Verwendung des vorhandenen Formates Daten im SCA zu speichern. Das neue Format wird nur für neue Geräte benutzt. Dies wird nur das Abrufen und Speichern von Daten im SCA betreffen. Da der Steuerspeicher innerhalb eines Steuerpfades nicht gemeinsam genutzt wird, können die im Steuerspeicher des neuen Mikroprogramms benutzten Strukturen in einem einzigen Format eingerichtet werden.
  • Die folgenden Schritte definieren das Geschehen bei der gleichlaufenden unterbrechungsfreien Installation des Mikroprogramms:
  • 1. Kanalpfade weg vom Gruppenanschluss vom Hauptrechner verändern;
  • 2. Schnittstellen zum Gruppenanschluss deaktivieren;
  • 3. Unterstützungseinrichtung benutzen, um Gruppenanschluss stillzulegen;
  • neue Disketten laden;
  • 5. Unterstützungseinrichtung benutzen, um Gruppenanschluss wieder aufzunehmen;
  • 6. Schnittstellen aktivieren;
  • 7. Kanalpfade hin zum Gruppenanschluss vom Hauptrechner verändern;
  • 8. für anderen Gruppenanschluss wiederholen.
  • Ein Schlüsselaspekt ist die Identifizierung von Installationsvariablen des Mikroprogramms (MIVs). Installationswerte werden in jeder neuen Version jeder Variablen zugeordnet. Es wird nur agiert, wenn sich der Wert einer MIV zwischen Versionen ändert. Damit erfolgt eine unterbrechungsfreie Installation, wenn sich eine gemeinsam genutzte Struktur ändert, die ein Gerät nicht beeinflusst.
  • In der erläuternden Ausführung werden die folgenden Installationsvariablen definiert:
  • mit Unterbrechung = das neue Mikroprogramm unterbricht
  • Cachespeicher nichtverfügbar = der Cachespeicher muss während des Installationsvorganges nichtverfügbar sein
  • NVS nichtverfügbar = der NVS muss während des Installationsvorganges nichtverfügbar sein
  • AWE einschränkend = alle AWEs müssen während des Installationsvorganges auf der spätesten Ebene des Mikroprogramms laufen; und
  • reserviert = Platz, der für zusätzliche nichtdefinierte Variablen reserviert ist. In der erläuternden Ausführungsform ist diesen Variablen ein Wert von null zugeordnet worden.
  • Während der Installation wird das neu zu installierende Mikroprogramm den Mikroprozessor 70 veranlassen, die MIV-Werte des alten Mikroprogramms mit den MIV-Werten des neuen Mikroprogramms zu vergleichen. Die folgende Liste definiert die durch das Mikroprogramm ausgelöste Vorgehensweise, wenn Installationswerte zwischen dem alten und dem neuen Mikroprogramm nicht gleich sind.
  • Unterbrechende Variable: Der Installationsvorgang wird nicht abgeschlossen, und eine Nachricht wird an der Konsole der Unterstützungseinrichtung (SF) aufgezeichnet.
  • Variable für nichtverfügbaren Cachespeicher: Wenn der Cachespeicher verfügbar ist, wird der Installationsvorgang angehalten, und der Cachespeicher wird in automatischem Betriebsmodus nichtverfügbar gemacht, oder es wird an der SF-Konsole eine Nachricht aufgezeichnet, die den CE (Anpassungstechniker) anweist, vor dem erneuten Start des Installationsvorganges den Cachespeicher nichtverfügbar zu machen.
  • Variable für nichtverfügbaren NVS: Wenn der NVS verfügbar ist, wird der Installationsvorgang angehalten, und der NVS wird in einem automatischen Betriebsmodus nichtverfügbar gemacht, oder es wird an der SF-Konsole eine Nachricht aufgezeichnet, die den CE anweist, vor dem erneuten Start des Installationsvorganges den NVS nichtverfügbar zu machen.
  • Begrenzungswerte für AWE: Das Mikroprogramm wird AWEs nur an dem Gruppenanschluss zur Verfügung stellen, der gerade geladen wurde.
  • Die Werte der Installationsvariablen sind im Speicher (Steuerspeicher) des Mikroprozessors jedes Speicherpfades enthalten. Wenn ein Gruppenanschluss das Laden eines anfänglichen Mikro programms (IML) vornimmt, erfolgt eine Prüfung, um festzustellen, ob der andere Gruppenanschluss geladen worden ist. Wenn der andere Gruppenanschluss nicht geladen worden ist, werden die Werte der Installationsvariablen vom Steuerspeicher in den SCA geschoben. Wenn der andere Gruppenanschluss geladen worden ist, werden die Werte der Installationsvariablen mit den Werten verglichen, die aktuell im SCA gespeichert sind. Der Vergleich geht als ,nicht gleich' aus, ungeachtet der Größenordnung des Unterschiedes oder ob der neue geringer als der alte ist. Dies ermöglicht das Installieren eines ,alten Code' ebenso wie einer fortgeschriebenen Version.
  • In einer Ausführung wird, wenn die Unterbrechungswerte nicht gleich sind, die Speichereinrichtung dafür benutzt, an der Wartungskonsole eine Nachricht anzuzeigen, und der Installationsvorgang wird beendet. Wenn die Werte für die Nichtverfügbarkeit des Cachespeicher nicht gleich sind, wird eine Prüfung vorgenommen, um sicherzustellen, dass der Status des Cachespeichers ,NICHTVERFÜGBAR' ist. Wenn er nicht verfügbar ist, ersetzt der neue Wert den alten Wert im SCA, und die Installation geht weiter. Wenn der Cachespeicher verfügbar ist, wird die SF dazu benutzt, an der Wartungskonsole eine Nachricht anzuzeigen, und der Installationsvorgang wird angehalten.
  • Die Verarbeitung für das Signal ,NVS nichtverfügbar' ist mit der für Cachespeicher nichtverfügbar identisch.
  • Wenn die die AWE begrenzenden Werte nicht gleich sind, wird der neue Wert im SCA gespeichert, und eine erneute Initialisierung wird aufgerufen. Die erneute Initialisierung wird veranlasst, dass die AWEs geschlossen und neu initialisiert werden. AWEs werden nur SPs (Speicherpfad, Fig. 3) zur Verfügung gestellt, deren Variablenwerte für die AWE-Begrenzung gleich denen im SCA sind. Dies gestattet es, dass nur das neue Mikroprogramm mit den neuen Strukturen läuft. Erstellungen von neuen AWEs durch das alte Mikroprogramm werden blockiert, weil sie unter Benutzung der alten Struktur erzeugt worden wären. Dies kann erreicht werden, indem ein ,im Fortschreiten begriffener' Code zurückgeschickt wird, wenn ein Versuch unternommen wird, ein neues AWE auf einem SP niedriger Stufe zu erzeugen. Dieser ,im Fortschreiten begriffene' Code führt dazu, dass der Erstellungsvorgang an einen anderen SP weitergeleitet wird. Die Erstellungsfunktion wird modifiziert, um Erstellungen von Nicht-AWEs zurückzuweisen, welche die asynchrone Gerätewartung (d. h. Bewegen der Geräteköpfe) und Kanalbefehle (z. B. Untersystemfunktion ausführen oder Systemmodus einstellen) blockieren würden. Erstellungen für Stapelveränderungen werden noch auf einer beliebigen Stufe des Mikroprogramms ablaufen, aber nur auf dem neuen Mikroprogramm ausgeführt. Fehlerhaftes Einschalten lädt IML mit unterschiedlichem Code. Dies veranlasst den letzten Gruppenanschluss dazu, davon auszugehen, dass er den gewünschten Code geladen hat und weiterarbeitet, um den anderen Gruppenanschluss zu zwingen, mit verminderter Leistung, ohne AWEs, zu arbeiten.
  • Das vorstehend beschriebene Mikroprogramm ermöglicht einen Bedienereingriff beim Installieren eines neuen Mikroprogramms.
  • Fig. 4 ist ein Flussdiagramm, das eine alternative bevorzugte Ausführung veranschaulicht, mit der Mikroprogramminstallationen automatisch und ohne Bedienereingriff erfolgen.
  • Die nachstehenden Tabellen 1 und 2 geben ein Beispiel der Anwendung der Erfindung zum Unterstützen der Mikroprogrammin stallation. Im Beispiel werden die Mikroprogrammversionen wie folgt definiert:
  • Rel 6.0 = Version des Mikroprogramms 3990 zum Unterstützen einer neuen Hardware-Plattform.
  • Rel 6.1 = Verbesserungen, die gemeinsam genutzte Baugruppen nicht aktualisierten.
  • Rel 7.0 = Veränderung des Cachespeicher-Algorithmus.
  • Rel 8.0 = fügt Unterstützung neuen Geräteformats und veränderter AWE-Struktur hinzu. Tabelle 1 Variablenwerte für die vier Versionen des Mikroprogramms Tabelle 2 Installationsverarbeitung

Claims (7)

  1. JA Verfahren zum automatischen Installieren eines neuen Prozessorsteuercodes in einem Rechnersystem, das mit altem Prozessorsteuercode läuft, wobei das Verfahren die Schritte enthält:
    Laden des neuen Code in das Rechnersystem;
    Identifizieren von Werten aus einer Vielzahl von Aktualisierungsvariablen (MIVs) sowohl in dem neuen Code wie in dem alten Code und Vergleichen der Aktualisierungsvariablen in dem neuen Coäe mit den entsprechenden in dem alten Code, um festzustellen, welche Betriebsmittel (58, 60 AWEs) zu steuern sind, um ein Aktualisieren des Codes zu bewirken; und
    Bewirken von Veränderungen in dem Prozessorsteuercode während des Steuerns der Betriebsmittel auf der Grundlage von Ergebnissen des Vergleiches.
  2. 2. Verfahren nach Anspruch 1, wobei sich die Variablen (MIVs) auf Betriebsmittel (58, 60, AWEs) beziehen, die von dem Rechensystem verwaltet werden.
  3. 3. Verfahren nach Anspruch 1 oder Anspruch 2, das weiterhin den Schritt des Initialisierens des Rechensystems enthält, nachdem die Veränderungen in seinem Betrieb bewirkt worden sind.
  4. 4. Vorrichtung zum automatischen Installieren eines neuen Prozessorsteuercodes in einem Rechnersystem, das mit einem alten Prozessorsteuercode läuft, wobei die Vorrichtung umfasst:
    Mittel zum Laden des neuen Code in das Rechnersystem;
    Mittel zum Identifizieren von Werten aus einer Vielzahl von Aktualisierungsvariablen (MIVs) sowohl in dem neuen Code und in dem alten Code und zum Vergleichen der Aktualisierungsvariablen in dem neuen Code mit den entsprechenden in dem alten Code, um festzustellen, welche Betriebsmittel (58, 60, AWEs) zu steuern sind, um eine Aktualisierung des Code zu bewirken; und
    Mittel zum Bewirken von Veränderungen in dem Prozessorsteuercode während des Steuerns der Betriebsmittel auf der Grundlage der Ergebnisse des Vergleiches.
  5. 5. Vorrichtung nach Anspruch 4, wobei die Variablen (MIVs) sich auf Betriebsmittel (58, 60, AWEs) beziehen, die Von dem Rechensystem verwaltet werden.
  6. 6. Vorrichtung nach Anspruch 4 oder Anspruch 5, die weiterhin Mittel zum Initialisieren des Rechensystems enthält, nachdem die Veränderungen in seinem Betrieb bewirkt worden sind.
  7. 7. Vorrichtung nach einem beliebigen der Ansprüche 4 bis 6, wobei das Rechensystem mehrere Prozessoren (48, 52, 70) enthält, welche die gleichen Geräte (22 bis 32) steuern, und wobei der neue Steuercode in einem der mit dem alten Steuercode laufenden Prozessoren installiert wird.
DE69325877T 1992-12-15 1993-12-06 Prozessorsteuerungscodeaktualisierung Expired - Lifetime DE69325877T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US99076092A 1992-12-15 1992-12-15

Publications (2)

Publication Number Publication Date
DE69325877D1 DE69325877D1 (de) 1999-09-09
DE69325877T2 true DE69325877T2 (de) 2000-02-24

Family

ID=25536512

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69325877T Expired - Lifetime DE69325877T2 (de) 1992-12-15 1993-12-06 Prozessorsteuerungscodeaktualisierung

Country Status (4)

Country Link
US (1) US5537598A (de)
EP (1) EP0602869B1 (de)
JP (1) JP2710195B2 (de)
DE (1) DE69325877T2 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717950A (en) * 1994-01-11 1998-02-10 Hitachi, Ltd. Input/output device information management system for multi-computer system
JP2918784B2 (ja) * 1994-03-29 1999-07-12 キヤノン株式会社 画像処理装置及び方法
US6421679B1 (en) * 1995-10-27 2002-07-16 International Business Machines Corporation Concurrent patch to logical partition manager of a logically partitioned system
US5950012A (en) * 1996-03-08 1999-09-07 Texas Instruments Incorporated Single chip microprocessor circuits, systems, and methods for self-loading patch micro-operation codes and patch microinstruction codes
DE19620888A1 (de) * 1996-05-23 1997-11-27 Siemens Ag Verfahren zur Aktualisierung eines Teils eines Programmcodes, wobei der Programmcode in einer Interpreter-Programmiersprache vorliegt, während der Ausführung des Programmcodes, durch einen Rechner
JP3003619B2 (ja) * 1997-04-09 2000-01-31 日本電気株式会社 装置内部設定情報バックアップ装置及び方法並びに装置内部設定情報バックアップ制御プログラムを記憶した記憶媒体
US6189145B1 (en) 1997-05-28 2001-02-13 International Business Machines Corporation Concurrent patch to logical partition manager of a logically partitioned system
US6460175B1 (en) 1997-07-18 2002-10-01 International Business Machines Corporation Program product for modular, parallel, remote software installation with repeatable, externally-invocable steps
US5974258A (en) * 1997-07-18 1999-10-26 International Business Machines Corporation Method and apparatus for performing single-function software operations on a server processor for a target of one or more processors in a network of processors
US5930515A (en) * 1997-09-30 1999-07-27 Scientific-Atlanta, Inc. Apparatus and method for upgrading a computer system operating system
US5896527A (en) * 1997-10-31 1999-04-20 Lucent Technologies Inc. Accessing data during the transition between program releases
JP2003067208A (ja) * 2001-08-23 2003-03-07 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
US20070113051A1 (en) * 2005-10-17 2007-05-17 Honeywell International Inc. Apparatus and method for live loading of control applications in a process control environment
US7516293B2 (en) * 2006-09-08 2009-04-07 International Business Machines Corporation Increased performance using mixed memory types
US8898653B2 (en) 2007-06-27 2014-11-25 International Business Machines Corporation Non-disruptive code update of a single processor in a multi-processor computing system
US8136108B2 (en) * 2008-09-03 2012-03-13 Computime, Ltd Updating firmware with multiple processors
CN103970576A (zh) * 2014-05-23 2014-08-06 小米科技有限责任公司 安装信息展示方法、获取方法和装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1052738B (it) * 1975-12-24 1981-07-20 Cselt Centro Studi Lab Telecom Dispositivo per il caricamento automatico della memoria centrale di calcolatori elettronici
JPS5831439A (ja) * 1981-08-19 1983-02-24 Fujitsu Ltd フア−ムウエアの更新方式
EP0116694B1 (de) * 1983-02-22 1990-09-12 International Business Machines Corporation Verfahren zur dynamischen Rekonfiguration eines Datenverarbeitungssystems bei Hinzufügung von Einrichtungen
JPH067380B2 (ja) * 1985-08-30 1994-01-26 株式会社日立製作所 マルチプロセッサシステム
JP2753706B2 (ja) * 1987-12-09 1998-05-20 富士通株式会社 計算機におけるipl方法
JPH0823816B2 (ja) * 1988-02-04 1996-03-06 株式会社日立製作所 マイクロプログラム変更装置
US5155847A (en) * 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
US4954941A (en) * 1988-08-31 1990-09-04 Bell Communications Research, Inc. Method and apparatus for program updating
US5155837A (en) * 1989-03-02 1992-10-13 Bell Communications Research, Inc. Methods and apparatus for software retrofitting
US5142680A (en) * 1989-04-26 1992-08-25 Sun Microsystems, Inc. Method for loading an operating system through a network
EP0463251A1 (de) * 1990-06-28 1992-01-02 International Business Machines Corporation Software-Installation
US5202998A (en) * 1990-08-31 1993-04-13 International Business Machines Corporation Fast, simultaneous multi-processor system status communication interface
JPH04148235A (ja) * 1990-10-08 1992-05-21 Hitachi Ltd マイクロプログラムの更新方式
US5257368A (en) * 1991-03-28 1993-10-26 International Business Machines Corp. System for dynamically changing a system I/O configuration by determining differences between current and future configurations and describing differences to software and hardware control blocks
JP2582956B2 (ja) * 1991-05-07 1997-02-19 三菱電機株式会社 プログラマブル制御装置
JPH05100843A (ja) * 1991-10-09 1993-04-23 Fujitsu Ltd マイクロプログラムロード方法
US5359730A (en) * 1992-12-04 1994-10-25 International Business Machines Corporation Method of operating a data processing system having a dynamic software update facility

Also Published As

Publication number Publication date
JP2710195B2 (ja) 1998-02-10
EP0602869A2 (de) 1994-06-22
US5537598A (en) 1996-07-16
JPH06214782A (ja) 1994-08-05
DE69325877D1 (de) 1999-09-09
EP0602869B1 (de) 1999-08-04
EP0602869A3 (en) 1994-08-24

Similar Documents

Publication Publication Date Title
DE69325877T2 (de) Prozessorsteuerungscodeaktualisierung
DE69724846T2 (de) Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus
DE69615611T2 (de) Externes Speichersystem mit redundanten Speichersteuerungen
DE69323225T2 (de) Datenbehandlung in einem System mit Prozessor zur Steuerung des Zugangs zu einer Mehrzahl von Datenspeicherplatten
DE69730449T2 (de) Erzeugung einer spiegeldatenkopie (bild) unter verwendung von referenzetiketten
DE69311952T2 (de) Verfahren und System zur inkrementalen Datensicherung
DE69622253T2 (de) System und verfahren für on-line- und echzeit-datenmigration
DE69728212T2 (de) Speichersteuerung und diese verwendendes Rechnersystem
DE60224598T2 (de) Umkehr eines Kommunikationspfades zwischen Speichergeräten
DE69312781T2 (de) Verfahren und System zum Seitendatei Statusabrufen in einem Nullzeittyp Sicherungskopieprozess
DE102004064069B4 (de) Plattenarrayvorrichtung
DE112010004931B4 (de) Mehrphasige Wiederherstellung von Dateisystemen mit Selektiver Bedarfsweiser Verfügbarkeit von Daten
DE69117371T2 (de) Hintergrund-Plattenoberflächenanalyse durch eine Steuerung für intelligente Speicherplattenanordnung ausgeführt
DE60038364T2 (de) Computersystem und Speicherauszugsdatenverwaltungsverfahren
DE112011100112B4 (de) Pufferspeicher-platte in blitzkopie-kaskade
DE69706693T2 (de) Verfahren und vorrichtung für mehrere kontexte in speicheruntersystemzieleinrichtungen
DE602005002024T2 (de) Fernkopiersystem und Fernkopierverfahren
DE69907991T2 (de) Dateisicherungssystem
DE60310960T2 (de) Halten von informationen in einem oder mehreren virtuellen volumenaggregaten mit mehreren virtuellen volumen
DE102004056216A1 (de) Fernkopiersystem und Speichersystem
DE102012201154A1 (de) Transaktionsspeicher
DE602004011175T2 (de) Speichersteuergerät, Speichersystem, und Speichersystemsteuerungsverfahren
DE112018005768B4 (de) Copy-source-to-target-verwaltung in einem datenspeichersystem
DE112020003608T5 (de) Wiederherstellung der verbindungsgeschwindigkeit in einem datenspeichersystem
DE4429969A1 (de) Verfahren für einen Programmpaketeaustausch in einem Mehrrechnersystem und Rechner dafür

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7