DE112018001444T5 - Verbesserte E/A-Fehlerdiagnose - Google Patents

Verbesserte E/A-Fehlerdiagnose Download PDF

Info

Publication number
DE112018001444T5
DE112018001444T5 DE112018001444.4T DE112018001444T DE112018001444T5 DE 112018001444 T5 DE112018001444 T5 DE 112018001444T5 DE 112018001444 T DE112018001444 T DE 112018001444T DE 112018001444 T5 DE112018001444 T5 DE 112018001444T5
Authority
DE
Germany
Prior art keywords
error
diagnostic information
diagnostic
task
computer
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.)
Pending
Application number
DE112018001444.4T
Other languages
English (en)
Inventor
David Reed
Dash Miller
Joseph Malinowski
Tabor Powelson
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
Publication of DE112018001444T5 publication Critical patent/DE112018001444T5/de
Pending legal-status Critical Current

Links

Images

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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

Offenbart wird ein Verfahren zum Sammeln von Diagnoseinformationen, die einem Fehler zugehörig sind. In einer Ausführungsform enthält ein derartiges Verfahren ein Erkennen eines Fehlers, der einer Eingabe/Ausgabe- (E/A) Operation zugehörig ist. Das Verfahren bestimmt, ob der Fehler wiederholt werden kann und aktiviert verschiedene Diagnosefunktionen, um eine Sammlung von Diagnoseinformationen zu verbessern, sofern dies der Fall ist. Das Verfahren wiederholt umgehend die E/A-Operation, die dem Fehler zugehörig ist, um den Fehler zu reproduzieren. Das Verfahren erfasst Diagnoseinformationen, die dem reproduzierten Fehler zugehörig sind, unter Verwendung der Diagnosefunktionen, die aktiviert worden sind. Ein entsprechendes System und Computerprogrammprodukt werden ebenfalls offenbart.

Description

  • HINTERGRUND
  • GEBIET DER ERFINDUNG
  • Diese Erfindung betrifft Systeme und Verfahren zum Sammeln von Diagnoseinformationen, die einem E/A-Fehler zugehörig sind.
  • HINTERGRUND DER ERFINDUNG
  • In dem z/OS-Betriebssystem werden Steuerblöcke zum Verwalten der Arbeit und Ressourcen eines Host-Systems verwendet. Diese Steuerblöcke werden intern als reale, virtuelle und/oder Festplatten-Speicherbereiche dargestellt und enthalten typischerweise spezielle Informationen, die zu Ereignissen, Aktivität und Zuständen gehören, die im Host-System auftreten. Steuerblöcke sind in den meisten Situationen miteinander verkettet und können viele Bereiche der internen Struktur des z/OS-Betriebssystems umspannen. Die Kenntnis von Steuerblöcken ist beim Bestimmen von entscheidenden Informationen über das Host-System und seinen Zustand nützlich, wenn ein Fehler auftritt.
  • Wenn eine Eingabe/Ausgabe- (E/A) Anforderung durch eine Anwendung generiert wird, die auf einem Host-System ausgeführt wird, erstellt der E/A-Treiber einen Steuerblock, der als E/A-Supervisor-Block (EASB) bezeichnet wird. Der EASB beschreibt die E/A-Anforderung und übergibt Parameter an einen und empfängt Antworten von einem Eingabe/Ausgabe-Supervisor (EAS). Wenn ein E/A-Fehler auftritt, werden oft Informationen in dem EASB-Steuerblock benötigt, um zu identifizieren, welches Kanalprogramm zum Lesen/Schreiben von Daten in eine bestimmte Einheit verwendet wurde. Leider wird der EASB zu dem Zeitpunkt, an dem ein SVC- (Supervisor-Steuerung) Dump zum Ermitteln der Inhalte eines EASB vorgenommen wird, oft bereits von einer anderen Anwendung erneut verwendet. Infolgedessen sind Daten in dem EASB zu dem Zeitpunkt, an dem der SVC-Dump vorgenommen wird, oft veraltet und nicht nützlich, um die Hauptursache für den E/A-Fehler zu ermitteln.
  • Diagnosewerkzeuge, wie beispielsweise der SVC-Dump, die Ablaufverfolgungsdaten sammeln, werden während normaler Operationen oft deaktiviert, um eine Mehrbelastung zu verringern. Somit ist es möglich, dass Ablaufverfolgungsdaten nicht beim ersten Auftreten eines E/A-Fehlers gesammelt werden. Obwohl ein Benutzer versuchen kann, den E/A-Fehler nach einem Aktivieren von Diagnosewerkzeugen zu reproduzieren, kann der E/A-Fehler oft nicht reproduziert werden oder nicht rechtzeitig reproduziert werden, um gewünschte Diagnoseinformationen zu sammeln. Dies kann ein Bestimmen der Hauptursache für den E/A-Fehler erschweren oder unmöglich machen.
  • In Anbetracht des Vorgenannten werden Systeme und Verfahren benötigt, um Diagnoseinformationen, die E/A-Fehlern zugehörig sind, effektiver zu sammeln.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Die Erfindung wurde in Reaktion auf den gegenwärtigen Stand der Technik und insbesondere in Reaktion auf die Probleme und Anforderungen in der Technik entwickelt, die durch aktuell verfügbare Systeme und Verfahren noch nicht vollständig gelöst und erfüllt worden sind. Dementsprechend wurde die Erfindung entwickelt, um Systeme und Verfahren zum Sammeln von Diagnoseinformationen bereitzustellen, die E/A-Fehlern zugehörig sind. Die Merkmale und Vorteile der Erfindung gemäß bevorzugten Ausführungsformen werden aus der folgenden Beschreibung und den Ansprüchen im Anhang umfassender offenkundig oder können durch Ausübung der hierin im Folgenden dargelegten Lösung erfahren werden.
  • In Übereinstimmung mit dem Vorgenannten wird ein Verfahren zum Sammeln von Diagnoseinformationen offenbart, die einem E/A-Fehler zugehörig sind. In einer Ausführungsform enthält ein derartiges Verfahren ein Erkennen eines Fehlers, der einer Eingabe/Ausgabe- (E/A) Operation zugehörig ist. Das Verfahren bestimmt, ob der Fehler wiederholt werden kann und aktiviert verschiedene Diagnosefunktionen, um eine Sammlung von Diagnoseinformationen zu verbessern, sofern dies der Fall ist. Das Verfahren wiederholt umgehend die E/A-Operation, die dem Fehler zugehörig ist, um den Fehler zu reproduzieren. Das Verfahren erfasst Diagnoseinformationen, die dem reproduzierten Fehler zugehörig sind, unter Verwendung der Diagnosefunktionen, die aktiviert worden sind. Ein entsprechendes System und Computerprogrammprodukt werden ebenfalls hierin offenbart und beansprucht.
  • Gemäß einem Aspekt wird ein Verfahren zum Sammeln von Diagnoseinformationen bereitgestellt, die einem Fehler zugehörig sind, wobei das Verfahren aufweist: ein Erkennen eines Fehlers, der einer Eingabe/Ausgabe- (E/A) Operation zugehörig ist; ein Bestimmen, ob der Fehler wiederholt werden kann; wenn der Fehler wiederholt werden kann, ein Aktivieren von verschiedenen Diagnosefunktionen, um eine Sammlung von Diagnoseinformationen zu verbessern; ein umgehendes Wiederholen der E/A-Operation, die dem Fehler zugehörig ist, um den Fehler zu reproduzieren; und ein Erfassen von Diagnoseinformationen, die dem reproduzierten Fehler zugehörig sind, unter Verwendung der aktivierten Diagnosefunktionen.
  • Gemäß einem weiteren Aspekt wird ein Computerprogrammprodukt zum Sammeln von Diagnoseinformationen bereitgestellt, die einem Fehler zugehörig sind, wobei das Computerprogrammprodukt ein nicht flüchtiges, durch einen Computer lesbares Speichermedium aufweist, in dem durch einen Computer verwendbarer Programmcode verkörpert ist, wobei der durch einen Computer verwendbare Programmcode konfiguriert ist, um Folgendes auszuführen, wenn er von mindestens einem Prozessor ausgeführt wird: ein Erkennen eines Fehlers, der einer Eingabe/Ausgabe- (E/A) Operation zugehörig ist; ein Bestimmen, ob der Fehler wiederholt werden kann; wenn der Fehler wiederholt werden kann, ein Aktivieren von verschiedenen Diagnosefunktionen, um eine Sammlung von Diagnoseinformationen zu verbessern; ein umgehendes Wiederholen der E/A-Operation, die dem Fehler zugehörig ist, um den Fehler zu reproduzieren; und ein Erfassen von Diagnoseinformationen, die dem reproduzierten Fehler zugehörig sind, unter Verwendung der aktivierten Diagnosefunktionen.
  • Gemäß einem weiteren Aspekt wird ein System zum Sammeln von Diagnoseinformationen bereitgestellt, die einem Fehler zugehörig sind, wobei das System aufweist: mindestens einen Prozessor; mindestens eine Arbeitsspeichereinheit, die betriebsfähig mit dem mindestens einen Prozessor verbunden ist und Anweisungen zur Ausführung auf dem mindestens einen Prozessor speichert, wobei die Anweisungen den mindestens einen Prozessor veranlassen zu: einem Erkennen eines Fehlers, der einer Eingabe/Ausgabe- (E/A) Operation zugehörig ist; einem Bestimmen, ob der Fehler wiederholt werden kann; wenn der Fehler wiederholt werden kann, einem Aktivieren von verschiedenen Diagnosefunktionen, um eine Sammlung von Diagnoseinformationen zu verbessern; einem umgehenden Wiederholen der E/A-Operation, die dem Fehler zugehörig ist, um den Fehler zu reproduzieren; und einem Erfassen von Diagnoseinformationen, die dem reproduzierten Fehler zugehörig sind, unter Verwendung der aktivierten Diagnosefunktionen.
  • Figurenliste
  • Nachstehend werden bevorzugte Ausführungsformen der vorliegenden Erfindung allein zu Beispielzwecken und unter Bezugnahme auf die folgenden Zeichnungen beschrieben:
    • 1 ist ein Blockschaubild höchster Ebene, das ein Beispiel für eine Netzwerkumgebung zeigt, in der Systeme und Verfahren gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung umgesetzt werden können;
    • 2 ist ein Blockschaubild höchster Ebene, das ein Beispiel für ein Speichersystem zur Verwendung in der Netzwerkumgebung von 1 zeigt;
    • 3 ist ein Blockschaubild höchster Ebene, das gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung ein Auftreten eines E/A-Fehlers zeigt, wobei verschiedene Diagnosefunktionen deaktiviert sind;
    • 4 ist ein Blockschaubild höchster Ebene, das gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung ein Informationssammlungsmodul zeigt, das konfiguriert ist, um eine Informationssammlung bei Auftreten eines E/A-Fehlers zu verbessern;
    • 5 ist ein Blockschaubild höchster Ebene, das gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt, wie das Informationssammlungsmodul Diagnosefunktionen aktiviert, um Informationen zu sammeln, die einem reproduzierten E/A-Fehler zugehörig sind;
    • 6 ist ein Blockschaubild höchster Ebene, das gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung das Informationssammlungsmodul und verschiedene zugehörige untergeordnete Module zeigt; und
    • 7 zeigt ein Beispiel für ein Verfahren zum Sammeln von Diagnoseinformationen, die einem E/A-Fehler zugehörig sind.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Es ist leicht zu verstehen, dass die Komponenten der vorliegenden Erfindung, wie allgemein beschrieben und in den Figuren hierin veranschaulicht, in einer großen Vielfalt von verschiedenen Konfigurationen angeordnet und ausgelegt werden könnten. Daher soll die folgende ausführlichere Beschreibung der Ausführungsformen der Erfindung, wie in den Figuren dargestellt, den Schutzumfang der Erfindung wie beansprucht keinesfalls einschränken, sondern ist rein repräsentativ für bestimmte Beispiele der aktuell berücksichtigten Ausführungsformen gemäß der Erfindung. Die aktuell beschriebenen Ausführungsformen sind am besten unter Bezugnahme auf die Zeichnungen zu verstehen, in denen gleiche Teile durchgehend mit gleichen Bezugszeichen angegeben werden.
  • Die vorliegende Erfindung kann als ein System, ein Verfahren und/oder ein Computerprogrammprodukt verkörpert werden. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) enthalten, auf dem durch einen Computer lesbare Programmanweisungen gespeichert sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen beibehalten und speichern kann. Das durch einen Computer lesbare Speichermedium kann zum Beispiel eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiter-Speichereinheit oder jede geeignete Kombination aus dem Vorgenannten sein, es ist aber nicht darauf beschränkt. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flashspeicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer CD-ROM, eine DVD, ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination des Vorgenannten. Ein durch einen Computer lesbares Speichermedium soll, wie hierin verwendet, nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder andere Übertragungsmedien ausbreiten (z.B. durch ein Lichtwellenleiterkabel geleitete Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sind, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen.
  • Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer eines Benutzers, teilweise auf dem Computer eines Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer eines Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf einem entfernt angeordneten Computer oder Server ausgeführt werden. In dem letzteren Szenario kann ein entfernt angeordneter Computer mit dem Computer eines Benutzers über jeden Typ von Netzwerk verbunden werden, einschließlich ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk(WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Nutzung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, feldprogrammierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die computerlesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der computerlesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung werden hierin unter Bezugnahme auf Veranschaulichungen von Ablaufplänen und/oder Blockschaubildern von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es sollte klar sein, dass jeder Block der Ablaufplandarstellungen und/oder der Blockschaubilder und Kombinationen von Blöcken in den Ablaufplandarstellungen und/oder den Blockschaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. eine andere programmierbare Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, sodass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, die Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Arbeitsschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu veranlassen, um einen durch einen Computer umgesetzten Prozess zu erzeugen, sodass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen Funktionen/Schritte umsetzen.
  • Unter Bezugnahme auf 1 wird ein Beispiel für eine Netzwerkumgebung 100 veranschaulicht. Die Netzwerkumgebung 100 wird dargestellt, um ein Beispiel für eine Umgebung zu zeigen, in der Systeme und Verfahren gemäß der Erfindung umgesetzt werden können. Die Netzwerkumgebung 100 wird zu Beispielzwecken und keinesfalls zur Einschränkung dargestellt. Die hierin offenbarten Systeme und Verfahren können zusätzlich zu der gezeigten Netzwerkumgebung 100 auf eine große Vielfalt von verschiedenen Netzwerkumgebungen angewendet werden.
  • Wie gezeigt, enthält die Netzwerkumgebung 100 einen oder mehrere Computer 102, 106, die durch ein Netzwerk 104 miteinander verbunden sind. Das Netzwerk 104 kann zum Beispiel ein lokales Netzwerk (LAN) 104, ein Weitverkehrsnetzwerk (WAN) 104, das Internet, ein Intranet 104 oder dergleichen enthalten. In bestimmten Ausführungsformen können die Computer 102, 106 sowohl Client-Computer 102 als auch Server-Computer 106 enthalten (die hierin auch als „Host-Systeme“ bezeichnet werden). Im Allgemeinen initiieren die Client-Computer 102 Datenübertragungssitzungen, während die Server-Computer 106 auf Anforderungen von den Client-Computern 102 warten. In bestimmten Ausführungsformen können die Computer 102 und/oder Server 106 mit einem oder mehreren internen oder externen direkt angeschlossenen Speichersystemen 109 verbunden werden (z.B. Festplattenlaufwerke, Solid-State-Drives, Bandlaufwerke usw.). Diese Computer 102, 106 und direkt angeschlossenen Speichersysteme 109 können unter Verwendung von Protokollen wie ATA, SATA, SCSI, SAS, Fibre Channel oder dergleichen Daten austauschen.
  • Die Netzwerkumgebung 100 kann in bestimmten Ausführungsformen hinter den Servern 106 ein Speichernetzwerk 108 enthalten, wie beispielsweise ein Speicherbereichsnetzwerk (SAN) 108 oder ein LAN 108 (wenn z.B. ein über ein Netzwerk angeschlossener Speicher verwendet wird). Dieses Netzwerk 108 kann die Server 106 mit einem oder mehreren Speichersystemen verbinden, wie z.B. Arrays 110 von Festplattenlaufwerken oder Solid-State-Drives, Bandbibliotheken 112, einzelnen Festplattenlaufwerken 114 oder Solid-State-Drives 114, Bandlaufwerken 116, CD-ROM-Bibliotheken oder dergleichen. Zum Zugreifen auf ein Speichersystem 110, 112, 114, 116 kann ein Host-System 106 über physische Verbindungen von einem oder mehreren Anschlüssen auf dem Host 106 zu einem oder mehreren Anschlüssen auf dem Speichersystem 110, 112, 114, 116 Daten austauschen. Eine Verbindung kann über einen Schalter, eine Konfiguration, eine direkte Verbindung oder dergleichen erfolgen. In bestimmten Ausführungsformen können die Server 106 und Speichersysteme 110, 112, 114, 116 Daten unter Verwendung eines Netzwerkstandards wie Fibre Channel (FC) austauschen.
  • Unter Bezugnahme auf 2 wird eine Ausführungsform eines Speichersystems 110 veranschaulicht, das ein Array von Festplattenlaufwerken 204 und/oder Solid-State-Drives 204 enthält. Wie gezeigt, enthält das Speichersystem 110 einen Speicher-Controller 200, einen oder mehrere Schalter 202 und ein oder mehrere Speicherlaufwerke 204, wie beispielsweise Festplattenlaufwerke 204 oder Solid-State-Drives 204 (wie zum Beispiel Laufwerke auf Flashspeicher-Grundlage 204). Der Speicher-Controller 200 kann einen oder mehrere Hosts 106 befähigen (z.B. offene System- und/oder Mainframe-Server 106, die Betriebssysteme wie z/OS, zVM oder dergleichen ausführen), auf Daten in dem einen oder den mehreren Speicherlaufwerken 204 zuzugreifen.
  • In ausgewählten Ausführungsformen enthält der Speicher-Controller 200 einen oder mehrere Server 206. Der Speicher-Controller 200 kann auch Host-Adapter 208 und Einheitenadapter 210 enthalten, um den Speicher-Controller 200 jeweils mit Host-Einheiten 106 und Speicherlaufwerken 204 zu verbinden. Mehrere Server 206a, 206b können Redundanz bereitstellen, um sicherzustellen, dass Daten für verbundene Hosts 106 immer verfügbar sind. Wenn ein Server 206a ausfällt, kann somit der andere Server 206b die E/A-Last des ausgefallenen Servers 206a übernehmen, um sicherzustellen, dass zwischen den Hosts 106 und den Speicherlaufwerken 204 eine E/A fortgesetzt werden kann. Dieser Prozess kann als „Failover“ (Ausfallsicherung) bezeichnet werden.
  • In ausgewählten Ausführungsformen kann jeder Server 206 einen oder mehrere Prozessoren 212 und einen Arbeitsspeicher 214 enthalten. Der Arbeitsspeicher 214 kann einen flüchtigen Speicher (z.B. RAM) sowie einen nicht flüchtigen Speicher (z.B. ROM, EPROM, EEPROM, Festplatten, Flashspeicher usw.) enthalten. Der flüchtige und nicht flüchtige Arbeitsspeicher kann in bestimmten Ausführungsformen Software-Module speichern, die auf dem bzw. den Prozessoren 212 ausführt werden und für ein Zugreifen auf Daten in den Speicherlaufwerken 204 verwendet werden. Diese Software-Module können alle Lese- und Schreibanforderungen in logischen Datenträgern in den Speicherlaufwerken 204 verwalten.
  • Ein Beispiel für ein Speichersystem 110 mit einer Architektur, die derjenigen ähnelt, die in 2 veranschaulicht wird, ist das DS8000™ Enterprise-Speichersystem von IBM. Das DS8000™ ist ein Hochleistungsspeicher-Controller mit hoher Kapazität, der einen Plattenspeicher bereitstellt, der für eine Unterstützung eines kontinuierlichen Betriebs ausgelegt ist. Die hierin offenbarten Systeme und Verfahren sind jedoch keinesfalls auf einen Betrieb mit dem DS8000™ Enterprise-Speichersystem 110 von IBM beschränkt, sondern können mit jedem vergleichbaren oder analogen Speichersystem 110 betrieben werden, unabhängig von Hersteller, Produktname oder Komponenten oder Komponentennamen, die dem System 110 zugehörig sind. Ferner wird jedes Speichersystem, das von einer oder mehreren Ausführungsformen der Erfindung profitieren könnte, als unter den Schutzumfang der Erfindung fallend betrachtet. Daher wird das IBM DS8000™ nur zu Beispielzwecken dargestellt und soll keinesfalls einschränkend sein.
  • Unter Bezugnahme auf 3 werden in den Betriebssystemen 300, wie beispielsweise z/OS, die Steuerblöcke 302 wie vorher erwähnt zum Verwalten der Arbeit und Ressourcen des Host-Systems 106 verwendet, auf dem das z/OS ausgeführt wird. Diese Steuerblöcke 302 werden intern als reale, virtuelle und/oder Festplatten-Speicherbereiche dargestellt und enthalten typischerweise spezielle Informationen, die zu Ereignissen, Aktivität und Zuständen gehören, die im Host-System 106 auftreten. Die Steuerblöcke 302 sind in den meisten Situationen miteinander verkettet und können viele Bereiche der internen Struktur des z/OS-Betriebssystems umspannen. Die Kenntnis der Steuerblöcke 302 ist beim Bestimmen von entscheidenden Informationen über das Host-System 106 und seinen Zustand nützlich, wenn ein Fehler auftritt.
  • Wenn eine Eingabe/Ausgabe- (E/A) Anforderung durch eine Anwendung generiert wird, die auf einem Host-System 106 ausgeführt wird, um auf Daten in Datenträgern 304 eines Speichersystems 110 zuzugreifen, erstellt der E/A-Treiber einen Steuerblock 302, der als E/A-Supervisor-Block (EASB) bezeichnet wird. Der EASB-Steuerblock 302 beschreibt die E/A-Anforderung und übergibt Parameter an einen und empfängt Antworten von einem Eingabe/Ausgabe-Supervisor (EAS). Wenn ein E/A-Fehler 306 auftritt, werden oft Informationen in den EASB-Steuerblöcken 302 benötigt, um zu identifizieren, welches Kanalprogramm zum Lesen/Schreiben von Daten in eine bestimmte Einheit verwendet wurde. Leider wird der EASB-Steuerblock 302 zu dem Zeitpunkt, an dem ein SVC-(Supervisor-Steuerung) Dump zum Ermitteln der Inhalte eines EASB-Steuerblocks 302 vorgenommen wird, oft bereits von einer anderen Anwendung erneut verwendet. Infolgedessen sind Daten in dem EASB-Steuerblock 302 zum Zeitpunkt des vorgenommenen SVC-Dump oft veraltet und nicht nützlich, um die Hauptursache für den E/A-Fehler zu ermitteln.
  • Diagnosewerkzeuge, wie beispielsweise ein SVC-Dump, die Ablaufverfolgungsdaten sammeln, werden während normaler Operationen oft deaktiviert (wie in 3 gezeigt), um eine Mehrbelastung zu verringern. Somit ist es möglich, dass Ablaufverfolgungsdaten nicht beim ersten Auftreten eines E/A-Fehlers 306 gesammelt werden. Obwohl ein Benutzer versuchen kann, den E/A-Fehler nach einem Aktivieren von Diagnosewerkzeugen zu reproduzieren, kann der E/A-Fehler 306 oft nicht reproduziert werden oder nicht rechtzeitig reproduziert werden, um gewünschte Diagnoseinformationen zu sammeln. Dies kann verursachen, dass ein Bestimmen der Hauptursache eines E/A-Fehlers 306 verzögert wird oder nicht möglich ist.
  • Unter Bezugnahme auf 4 kann ein Informationssammlungsmodul 400 in dem oder in Verbindung mit dem Host-System 106 bereitgestellt werden, um Diagnoseinformationen effektiver sammeln zu können, die einem E/A-Fehler 306 zugehörig sind. Im Allgemeinen kann das Informationssammlungsmodul 400 auf E/A-Fehler 306 überwachen, die in Zusammenhang mit E/A-Operationen auftreten. Wie in 4 gezeigt, können Diagnosefunktionen, wie zum Beispiel Ablaufverfolgungsfunktionen, während normaler Operationen deaktiviert werden, um eine Mehrbelastung auf dem Host-System 106 und/oder dem Speichersystem 110 zu verringern. Wenn ein E/A-Fehler 306 erkannt wird, kann das Informationssammlungsmodul 400 bestimmen, ob der E/A-Fehler 306 wiederholt werden kann (d.h. Operationen ausführen, die verursachen, dass der E/A-Fehler 306 erneut auftritt).
  • Wenn der E/A-Fehler 306 wiederholt werden kann, aktiviert das Informationssammlungsmodul 400 verschiedene Diagnosefunktionen auf dem Host-System 106 und/oder dem Speichersystem 110, um eine Datensammlung zu verbessern, und wiederholt umgehend die E/A, die den E/A-Fehler 306 verursacht hat, wie in 5 gezeigt. Die verursacht im Idealfall, dass der E/A-Fehler 306 erneut auftritt (als reproduzierter Fehler 500 gezeigt). Da die Diagnosefunktionen aktiviert sind, wird es dem Informationssammlungsmodul 400 dadurch möglich, verschiedene Typen von Diagnoseinformationen zu sammeln, die andernfalls nicht gesammelt würden. Zum Beispiel können Ablaufverfolgungsinformationen 502 wie diejenigen, die durch einen SVC-Dump generiert werden, von dem Informationssammlungsmodul 400 gesammelt werden. Da das Informationssammlungsmodul 400 die E/A, die den E/A-Fehler 306 verursacht hat, unmittelbar wiederholt, können Daten, die aus Datenstrukturen wie den Steuerblöcken 302 gesammelt werden, gültig und nicht veraltet sein.
  • Die oben beschriebenen Techniken sind insofern vorteilhaft, als sie ermöglichen, dass verschiedene Diagnosefunktionen während normaler Operationen deaktiviert werden können, um eine Mehrbelastung zu verringern. In bestimmten Ausführungsformen werden Diagnosefunktionen nur aktiviert, wenn ein E/A-Fehler 306 erkannt wird. Wenn ein E/A-Fehler 306 reproduziert wird und zugehörige Diagnoseinformationen gesammelt werden, können die Diagnosefunktionen wieder deaktiviert werden, um eine Mehrbelastung zu verringern. In bestimmten Ausführungsformen können die Diagnosefunktionen nach einer bestimmten Zeitspanne deaktiviert werden. In anderen Ausführungsformen werden die Diagnosefunktionen unmittelbar nach dem Sammeln von gewünschten Diagnoseinformationen deaktiviert. In noch weiteren Ausführungsformen werden die Diagnosefunktionen deaktiviert, nachdem die E/A eine ausgewählte Anzahl von Malen wiederholt wurde oder bis ein E/A-Fehler 306 reproduziert wird und Diagnoseinformationen gesammelt werden, je nachdem, welcher Fall zuerst eintritt. In jedem Fall können die aktivierten Diagnosefunktionen nach einer bestimmten Zeitspanne oder nach einem bestimmten Ereignis deaktiviert werden, um eine Mehrbelastung auf dem Host-System 106 und/oder dem Speichersystem 100 zu verringern.
  • Unter Bezugnahme auf 6 kann das Informationssammlungsmodul 400 verschiedene untergeordnete Module enthalten, die verschiedene Merkmale und Funktionen bereitstellen. Diese untergeordneten Module können in Hardware, Software, Firmware oder Kombinationen davon umgesetzt werden. Die untergeordneten Module werden zu Beispielzwecken dargestellt und sollen keinesfalls eine erschöpfende Liste von untergeordneten Modulen darstellen, die in dem Informationssammlungsmodul 400 enthalten sein können. Das Informationssammlungsmodul 400 kann mehr oder weniger Module als die dargestellten enthalten. Wie gezeigt, enthält das Informationssammlungsmodul 402 ein oder mehrere eines Einstellungsmoduls 600, Fehlererkennungsmoduls 602, Prüfmoduls 604, Wiederholungs-Bestimmungsmoduls 606, Diagnoseaktivierungsmoduls 608, Wiederholungsmoduls 610, Erfassungsmoduls 612 und Diagnosedeaktivierungsmoduls 614.
  • Das Einstellungsmodul 600 kann es einem Benutzer ermöglichen, die verbesserte Informationssammlung für bestimmte Aufgaben oder Adressräume einzuschalten. In bestimmten Ausführungsformen kann die verbesserte Informationssammlung für Aufgaben eingeschaltet werden, bei denen der Benutzer das Gefühl hat, dass sie kritisch oder fehleranfällig sind. Dies kann auf vielerlei Weise bewerkstelligt werden. Zum Beispiel kann ein Benutzer einen Parameter einrichten (z.B. ein SYS1.PARMLIB-Element), um eine Informationssammlung für eine Aufgabe zu dem Zeitpunkt eines ersten Programmladens (IPL) zu aktivieren, oder manuell einen Konsolenbefehl zum Aktivieren der Informationssammlung für eine bestimmte Aufgabe oder Adressraum-ID-Nummer (ASIS) auszugeben. Unter Verwendung von jeder dieser Techniken kann das Einstellungsmodul 600 ein Bit im Adressraum-Steuerblock 302 (ASCB) zum Zeitpunkt der Aufgabeninitialisierung einschalten, um anzugeben, dass eine erweiterte Informationssammlung (z.B. Ablaufverfolgung) aktiv ist.
  • In bestimmten Ausführungsformen kann das Einstellungsmodul 600 konfiguriert werden, um die Informationssammlung für einen bestimmten Adressraum so zu aktivieren, dass Diagnoseinformationen jedes Mal gesammelt werden, wenn sich Daten ändern, eine Logik aufgerufen wird oder andere Ereignisse in dem Adressraum auftreten. Die Auswirkung dieser Informationssammlung kann minimiert werden, indem eine Datenmenge verringert wird, die gesammelt oder jedes Mal gespeichert wird, wenn Informationen gesammelt werden. Auch eine Automatisierung kann verwendet werden, um die Informationssammlung in Zeiten von Spitzenarbeitslast abzuschalten und während Zeiträumen mit geringer Arbeitslast wieder einzuschalten. Jede dieser Optionen kann über SYS1.PARMLIB-Parameter gesteuert werden.
  • Das Fehlererkennungsmodul 602 kann erkennen, wann E/A-Fehler 306 auftreten. Wenn ein E/A-Fehler 306 auftritt, kann das Prüfmodul 604 prüfen, ob die Informationssammlung für die Aufgabe aktiviert ist. Dies kann zum Beispiel durch Prüfen des Bits im ASCB erfolgen, der der Aufgabe zugehörig ist. Das Wiederholungs-Bestimmungsmodul 606 kann ebenfalls prüfen, ob der E/A-Fehler 306 wiederholbar ist. Wenn der E/A-Fehler 306 wiederholbar ist, und die Informationssammlung für die Aufgabe aktiviert ist, kann das Diagnoseaktivierungsmodul 608 verschiedene Diagnosefunktionen aktivieren, um das Sammeln von Diagnoseinformationen zu verbessern. Zum Beispiel kann das Diagnoseaktivierungsmodul 608 Diagnosewerkzeuge aktivieren, wie beispielsweise SVC-Dumps, die Ablaufverfolgungsdaten sammeln.
  • Das Wiederholungsmodul 610 kann anschließend die E/A-Operation umgehend wiederholen, die den anfänglichen E/A-Fehler 306 verursacht hat. Im Idealfall wird dadurch der E/A-Fehler 306 reproduziert. Das Erfassungsmodul 612 erfasst anschließend die durch die Diagnosefunktionen gesammelten Informationen. In bestimmten Ausführungsformen kann das Erfassungsmodul 612 Informationen erfassen, die in den vorher erörterten SYS1.PARMLIB-Parametern angegeben sind. In bestimmten Ausführungsformen enthalten Standardinformationen, die erfasst und gespeichert werden, Daten aus den jüngsten EASB-Steuerblöcken 302, die ersten 128 Bytes von gelesenen/geschriebenen Daten und die letzten 128 Bytes von gelesenen/geschriebenen Daten. Das Erfassungsmodul 612 kann in bestimmten Ausführungsformen Diagnoseinformationen in einem vordefinierten Speicherbereich in demselben Adressraum speichern, in dem der E/A-Fehler 306 erkannt wurde.
  • Wenn die gewünschten Diagnoseinformationen erfasst worden sind, kann das Diagnosedeaktivierungsmodul 614 Diagnosefunktionen deaktivieren, die durch das Diagnoseaktivierungsmodul 608 aktiviert wurden. Alternativ kann das Diagnosedeaktivierungsmodul 614 die Diagnosefunktionen deaktivieren, wenn ein bestimmter Zeitraum verstrichen ist oder nach einer bestimmten Anzahl von Versuchen, den E/A-Fehler 306 zu reproduzieren.
  • In bestimmten Ausführungsformen überwacht das Fehlererkennungsmodul 602 auf alle Typen von E/A-Fehlern 306 von allen Typen von Aufgaben. Wenn ein E/A-Fehler 306 wiederholbar ist, aktiviert das Diagnoseaktivierungsmodul 608 Diagnosefunktionen, und das Wiederholungsmodul 610 wiederholt die E/A-Operation, die dem E/A-Fehler 306 zugehörig ist. Im Idealfall wird dadurch der E/A-Fehler 306 reproduziert. Das Erfassungsmodul 612 kann anschließend die Diagnoseinformationen erfassen, die dem E/A-Fehler 306 zugehörig sind. In bestimmten Ausführungsformen kann das Einstellungsmodul 600 den Parameter auch automatisch so einrichten, dass die Informationssammlung für die Aufgabe aktiviert wird, bei der der E/A-Fehler 306 aufgetreten ist. Jeder weitere E/A-Fehler 306, der dieser Aufgabe zugehörig ist, kann dann die Informationssammlung auslösen. Wenn ein E/A-Fehler 306 nicht wiederholbar ist, was von den Benutzereinstellungen abhängt, kann die Informationssammlung auch automatisch ausgelöst werden, um mit einem Speichern von Daten für eine zukünftige Ausführung der Aufgabe zu beginnen. Dies hilft sicherzustellen, dass die Informationssammlung für jede wiederholte Ausführung derselben Aufgabe aktiv ist. Die gesammelten Informationen stellen zusätzliche Details hinsichtlich der Art des E/A-Fehlers 306 bereit. Diese Details ermöglichen in vielen Fällen die Bestimmung der Hautursache, ohne dass dazu zusätzliche Ablaufverfolgungen oder Diagnosen mit einem reproduzierten E/A-Fehler 500 gesammelt werden müssen.
  • Unter Bezugnahme auf 7 wird eine Ausführungsform eines Verfahrens 700 zum Sammeln von Diagnoseinformationen veranschaulicht, die einem E/A-Fehler 306 zugehörig sind. Wie gezeigt, bestimmt das Verfahren 700 zunächst, ob ein E/A-Fehler 306 erkannt worden ist. Ist dies der Fall, bestimmt 704 das Verfahren 700, ob ein Parameter zum Aktivieren der Informationssammlung für die Aufgabe eingerichtet ist, die dem E/A-Fehler 306 zugehörig ist. Ist dies der Fall, bestimmt 706 das Verfahren 700, ob der E/A-Fehler 306 wiederholbar ist. Wenn der E/A-Fehler 306 wiederholbar ist, aktiviert 708 das Verfahren 700 Diagnosefunktionen, um die Sammlung von Diagnoseinformationen zu verbessern, und das Verfahren 700 wiederholt 710 die E/A, die den anfänglichen E/A-Fehler 306 verursacht hat. Im Idealfall wird dadurch der E/A-Fehler 306 reproduziert. Nach dem Reproduzieren erfasst 712 das Verfahren 700 die Diagnoseinformationen, die dem E/A-Fehler 306 zugehörig sind. Das Verfahren 700 deaktiviert 714 anschließend die Diagnosefunktionen, um eine Mehrbelastung zu verringern.
  • Die Ablaufpläne und Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder den Blockschaubildern ein Modul, ein Segment oder einen Teil von Code darstellen, der eine oder mehrere ausführbare Anweisungen zum Umsetzen der bestimmten logischen Funktion(en) aufweist. Es ist ebenfalls anzumerken, dass in einigen alternativen Umsetzungen die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt auftreten können. Zum Beispiel können zwei nacheinander gezeigte Blöcke tatsächlich im Wesentlichen parallel ausgeführt werden, oder die Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden, was von der beteiligten Funktionalität abhängt. Bei weiteren Umsetzungen sind möglicherweise nicht alle der offenbarten Schritte erforderlich, um die gewünschte Funktionalität zu erreichen. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufplandarstellungen sowie Kombinationen von Blöcken in den Blockschaubildern und/oder der Ablaufplandarstellung durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die angegebenen Funktionen oder Handlungen oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.

Claims (21)

  1. Verfahren zum Sammeln von Diagnoseinformationen, die einem Fehler zugehörig sind, wobei das Verfahren aufweist: ein Erkennen eines Fehlers, der einer Eingabe/Ausgabe- (E/A) Operation zugehörig ist; ein Bestimmen, ob der Fehler wiederholt werden kann; wenn der Fehler wiederholt werden kann, ein Aktivieren von verschiedenen Diagnosefunktionen, um eine Sammlung von Diagnoseinformationen zu verbessern; ein umgehendes Wiederholen der E/A-Operation, die dem Fehler zugehörig ist, um den Fehler zu reproduzieren; und ein Erfassen von Diagnoseinformationen, die dem reproduzierten Fehler zugehörig sind, unter Verwendung der aktivierten Diagnosefunktionen.
  2. Verfahren nach Anspruch 1, wobei ein Erfassen der Diagnoseinformationen ein Erfassen der Diagnoseinformationen in einem vordefinierten Speicherbereich aufweist.
  3. Verfahren nach Anspruch 2, wobei die E/A-Operation einer Aufgabe zugehörig ist.
  4. Verfahren nach Anspruch 3, wobei ein Erfassen der Diagnoseinformationen in einem vordefinierten Speicherbereich ein Erfassen der Diagnoseinformationen in einem Adressraum der Aufgabe aufweist.
  5. Verfahren nach Anspruch 1, das die Diagnosefunktionen für zukünftige Ausführungen der Aufgabe aktiviert, falls der Fehler nicht wiederholt werden kann.
  6. Verfahren nach Anspruch 5, ferner aufweisend ein Überwachen auf zukünftige Ausführungen der Aufgabe.
  7. Verfahren nach Anspruch 6, das eine Sammlung der Diagnoseinformationen unter Verwendung der Diagnosefunktionen bei einem Erkennen von zukünftigen Ausführungen der Aufgabe auslöst.
  8. Computerprogrammprodukt zum Sammeln von Diagnoseinformationen, die einem Fehler zugehörig sind, wobei das Computerprogrammprodukt ein nicht flüchtiges, durch einen Computer lesbares Speichermedium aufweist, in dem durch einen Computer verwendbarer Programmcode verkörpert ist, wobei der durch einen Computer verwendbare Programmcode konfiguriert ist, um Folgendes auszuführen, wenn er von mindestens einem Prozessor ausgeführt wird: ein Erkennen eines Fehlers, der einer Eingabe/Ausgabe- (E/A) Operation zugehörig ist; ein Bestimmen, ob der Fehler wiederholt werden kann; wenn der Fehler wiederholt werden kann, ein Aktivieren verschiedener Diagnosefunktionen, um eine Sammlung von Diagnoseinformationen zu verbessern; ein umgehendes Wiederholen der E/A-Operation, die dem Fehler zugehörig ist, um den Fehler zu reproduzieren; und ein Erfassen von Diagnoseinformationen, die dem reproduzierten Fehler zugehörig sind, unter Verwendung der aktivierten Diagnosefunktionen.
  9. Computerprogrammprodukt nach Anspruch 8, wobei ein Erfassen der Diagnoseinformationen ein Erfassen der Diagnoseinformationen in einem vordefinierten Speicherbereich aufweist.
  10. Computerprogrammprodukt nach Anspruch 9, wobei die E/A-Operation einer Aufgabe zugehörig ist.
  11. Computerprogrammprodukt nach Anspruch 10, wobei ein Erfassen der Diagnoseinformationen in einem vordefinierten Speicherbereich ein Erfassen der Diagnoseinformationen in einem Adressraum der Aufgabe aufweist.
  12. Computerprogrammprodukt nach Anspruch 8, wobei der durch einen Computer lesbare Programmcode ferner konfiguriert ist, um die Diagnosefunktionen für zukünftige Ausführungen der Aufgabe zu aktivieren, für den Fall, dass der Fehler nicht wiederholt werden kann.
  13. Computerprogrammprodukt nach Anspruch 12, wobei der durch einen Computer lesbare Programmcode ferner konfiguriert ist, um auf zukünftige Ausführungen der Aufgabe zu überwachen.
  14. Computerprogrammprodukt nach Anspruch 13, wobei der durch einen Computer lesbare Programmcode ferner konfiguriert ist, um bei einem Erkennen von zukünftigen Ausführungen der Aufgabe eine Sammlung der Diagnoseinformationen unter Verwendung der Diagnosefunktionen auszulösen.
  15. System zum Sammeln von Diagnoseinformationen, die einem Fehler zugehörig sind, wobei das System aufweist: mindestens einen Prozessor; mindestens eine Arbeitsspeichereinheit, die betriebsfähig mit dem mindestens einen Prozessor verbunden ist und Anweisungen zur Ausführung auf dem mindestens einen Prozessor speichert, wobei die Anweisungen den mindestens einen Prozessor veranlassen zu: einem Erkennen eines Fehlers, der einer Eingabe/Ausgabe- (E/A) Operation zugehörig ist; einem Bestimmen, ob der Fehler wiederholt werden kann; wenn der Fehler wiederholt werden kann, einem Aktivieren von verschiedenen Diagnosefunktionen, um eine Sammlung von Diagnoseinformationen zu verbessern; einem umgehenden Wiederholen der E/A-Operation, die dem Fehler zugehörig ist, um den Fehler zu reproduzieren; und einem Erfassen von Diagnoseinformationen, die dem reproduzierten Fehler zugehörig sind, unter Verwendung der aktivierten Diagnosefunktionen.
  16. System nach Anspruch 15, wobei ein Erfassen der Diagnoseinformationen ein Erfassen der Diagnoseinformationen in einem vordefinierten Speicherbereich aufweist.
  17. System nach Anspruch 16, wobei die E/A-Operation einer Aufgabe zugehörig ist.
  18. System nach Anspruch 17, wobei ein Erfassen der Diagnoseinformationen in einem vordefinierten Speicherbereich ein Erfassen der Diagnoseinformationen in einem Adressraum der Aufgabe aufweist.
  19. System nach Anspruch 15, wobei die Anweisungen den mindestens einen Prozessor ferner veranlassen, die Diagnosefunktionen für zukünftige Ausführungen der Aufgabe zu aktivieren, für den Fall, dass der Fehler nicht wiederholt werden kann.
  20. System nach Anspruch 19, wobei die Anweisungen den mindestens einen Prozessor ferner veranlassen, bei einem Erkennen von zukünftigen Ausführungen der Aufgabe eine Sammlung der Diagnoseinformationen unter Verwendung der Diagnosefunktionen auszulösen.
  21. Computerprogramm, aufweisend Programmcodemittel, die angepasst sind, um das Verfahren nach einem der Ansprüche 1 bis 7 auszuführen, wenn das Programm auf einem Computer ausgeführt wird.
DE112018001444.4T 2017-06-08 2018-06-06 Verbesserte E/A-Fehlerdiagnose Pending DE112018001444T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/616,921 US10599508B2 (en) 2017-06-08 2017-06-08 I/O error diagnostics
US15/616,921 2017-06-08
PCT/IB2018/054042 WO2018224971A1 (en) 2017-06-08 2018-06-06 Improved i/o error diagnostics

Publications (1)

Publication Number Publication Date
DE112018001444T5 true DE112018001444T5 (de) 2019-12-12

Family

ID=64564202

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018001444.4T Pending DE112018001444T5 (de) 2017-06-08 2018-06-06 Verbesserte E/A-Fehlerdiagnose

Country Status (5)

Country Link
US (1) US10599508B2 (de)
JP (1) JP7064225B2 (de)
DE (1) DE112018001444T5 (de)
GB (1) GB2577219B (de)
WO (1) WO2018224971A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11016862B2 (en) * 2017-05-23 2021-05-25 International Business Machines Corporation Error-initiated mirror redrive to collect diagnostic information
KR20220010303A (ko) * 2020-07-17 2022-01-25 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2762816B2 (ja) * 1992-02-14 1998-06-04 日本電気株式会社 トランザクション実行トレース情報採取方式
US5699505A (en) 1994-08-08 1997-12-16 Unisys Corporation Method and system for automatically collecting diagnostic information from a computer system
JPH0895834A (ja) * 1994-09-28 1996-04-12 Toshiba Corp システムダンプ採取方法
JPH10207790A (ja) 1997-01-20 1998-08-07 Fuji Xerox Co Ltd 入出力制御装置
AU5774200A (en) * 1999-06-28 2001-01-31 Sangate Systems Inc. Intelligent splitter, system, and methods of use
US7320084B2 (en) * 2003-01-13 2008-01-15 Sierra Logic Management of error conditions in high-availability mass-storage-device shelves by storage-shelf routers
JP2004227645A (ja) 2003-01-22 2004-08-12 Sharp Corp メモリ試験装置及びフェイル情報取得装置並びにフェイル情報取得方法
GB0412943D0 (en) * 2004-06-10 2004-07-14 Ibm A system for logging diagnostic information
US7290180B2 (en) 2004-09-02 2007-10-30 International Business Machines Corporation Method to use an alternate I/O debug path
US7373554B2 (en) * 2004-09-24 2008-05-13 Oracle International Corporation Techniques for automatic software error diagnostics and correction
US8458519B2 (en) * 2010-01-07 2013-06-04 International Business Machines Corporation Diagnostic data set component
GB2493242A (en) * 2010-05-18 2013-01-30 Ibm Transaction processing system
US9378116B2 (en) 2011-05-05 2016-06-28 International Business Machines Corporation Program subset execution and debug
US9400704B2 (en) 2013-06-12 2016-07-26 Globalfoundries Inc. Implementing distributed debug data collection and analysis for a shared adapter in a virtualized system
US10860465B2 (en) 2014-12-23 2020-12-08 Micro Focus Llc Automatically rerunning test executions
US10474565B2 (en) 2015-01-16 2019-11-12 Micro Focus Llc Root cause analysis of non-deterministic tests
US9690672B2 (en) * 2015-02-20 2017-06-27 International Business Machines Corporation Acquiring diagnostic data selectively
JP2016186719A (ja) 2015-03-27 2016-10-27 富士通株式会社 入出力制御装置、情報処理装置及び入出力制御装置の制御方法
US9734030B2 (en) 2015-10-01 2017-08-15 International Business Machines Corporation Synchronous input/output diagnostic controls
US10042688B2 (en) * 2016-03-02 2018-08-07 Western Digital Technologies, Inc. Self-diagnosis of device drive-detected errors and automatic diagnostic data collection
CN106708655B (zh) 2017-02-16 2021-07-16 中云信安(深圳)科技有限公司 基于二维纠错码的内存加固方法及电路

Also Published As

Publication number Publication date
GB2577219B (en) 2020-08-26
GB2577219A (en) 2020-03-18
US10599508B2 (en) 2020-03-24
JP2020522811A (ja) 2020-07-30
US20180357115A1 (en) 2018-12-13
GB201917950D0 (en) 2020-01-22
WO2018224971A1 (en) 2018-12-13
JP7064225B2 (ja) 2022-05-10

Similar Documents

Publication Publication Date Title
DE112018002951B4 (de) Verwenden eines spurformatcodes in einem cache-steuerblock für eine spur in einem cache, um lese- und schreibanforderungen in bezug auf die spur im cache zu verarbeiten
DE102012214324B4 (de) Verfahren und Vorrichtung zur Erleichterung der Datenüberprüfung mithilfe einer Prüfsumme in Verbindung mit einem Sidefile
DE112011100112B4 (de) Pufferspeicher-platte in blitzkopie-kaskade
DE112011100534B4 (de) Mehrstufiger Sicherungsprozess
DE102014108249A1 (de) Realisieren erweiterter Fehlerbehandlung für einen gemeinsam genutzten Adapter in einem virtualisierten System
DE60313468T2 (de) Speicherdienste und -systeme
DE102009023953A1 (de) Verfahren zum Booten eines zustandslosen Client
DE602004002674T2 (de) Speichersystem und Verfahren zur Erfassung und Verwendung von Schnappschüssen
DE112010004420T5 (de) Verfahren und System zur Verbesserung der Ausführungszeit von Software durch Optimierung elnes Leistungsmodells
DE202010017613U1 (de) Datenspeichervorrichtung mit host-gesteuerter Speicherbereinigung
DE112013001421T5 (de) Auf Richtlinien beruhendes Verwalten von Speicherfunktionen in Datenreplikationsumgebungen
DE102012215918A1 (de) Spiegeln virtueller Maschinen von einem primären auf einen sekundären Host
DE112018003524T5 (de) Dynamische datenverlagerung unter verwendung von speicherbänken auf cloud-grundlage
DE112015000343T5 (de) Erstellen einer Wiederherstellungskopie von einer Quelldaten-Kopie in einem Repository, das Quelldaten an verschiedenen Zeitpunkten aufweist
DE112017000210T5 (de) Selbstdiagnose von gerätetreiberdetektierten Fehlern und automatische Diagnosedatensammlung
DE112013000330T5 (de) In-Situ-Neubewertung von Prozessoren
DE112018005135T5 (de) Thin provisioning unter verwendung von speicherbänken auf cloud-grundlage
DE102016100773A1 (de) Erfassen von Komprimierungsleistungsmesswerten für die Verarbeitung von Daten
DE69934665T2 (de) Vorrichtung und verfahren zum gesicherten schreiben in einem plattencachespeicher für festplatten eines massenspeichersubsystems
DE112013006588T5 (de) Verwaltungssystem zum Verwalten eines Computersystems und Verwaltungsverfahren hierfür
DE112019005558T5 (de) Verwendung einer auf fehlerkorrektur basierenden metrik zur identifizierung schlecht funktionierender datenspeichervorrichtungen
DE112018001444T5 (de) Verbesserte E/A-Fehlerdiagnose
DE10027359A1 (de) Verfahren und Vorrichtung zur Vorhersage einer Wiederanlaufzeit und Festplattenlaufwerk
DE112011100168T5 (de) Erfassen von Diagnosedaten in einer Datenverarbeitungsumgebung
DE112021006772T5 (de) Speicherarrayfehler-minderung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence