CN102999406A - 从硬件故障模式的增强转储数据收集的方法和系统 - Google Patents

从硬件故障模式的增强转储数据收集的方法和系统 Download PDF

Info

Publication number
CN102999406A
CN102999406A CN2012103314139A CN201210331413A CN102999406A CN 102999406 A CN102999406 A CN 102999406A CN 2012103314139 A CN2012103314139 A CN 2012103314139A CN 201210331413 A CN201210331413 A CN 201210331413A CN 102999406 A CN102999406 A CN 102999406A
Authority
CN
China
Prior art keywords
computer
reflection
call
cpu
hardware equipment
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.)
Granted
Application number
CN2012103314139A
Other languages
English (en)
Other versions
CN102999406B (zh
Inventor
D.J.麦科伊
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.)
Qindarui company
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 CN102999406A publication Critical patent/CN102999406A/zh
Application granted granted Critical
Publication of CN102999406B publication Critical patent/CN102999406B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/079Root cause analysis, i.e. error or fault 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/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/0712Error 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 a virtual computing platform, e.g. logically partitioned systems
    • 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/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种收集用于诊断计算机硬件设备的故障的方法和系统。在接收到导致全系统崩溃导致的计算机硬件设备的故障的指示之后,收集计算机硬件设备的中央处理单元(CPU)的地址转换表。检索计算机硬件设备的操作系统(OS)映像的调用栈帧的格式。基于收集的地址转换表和检索的多个调用栈帧的格式,检索调用栈帧并且将其输出到计算机文件。

Description

从硬件故障模式的增强转储数据收集的方法和系统
技术领域
本发明涉及一种增强数据处理系统响应不期望硬件故障的能力的方法和系统,并且更具体地涉及一种收集诊断硬件故障的数据的技术。
背景技术
许多中到大规模计算机处理系统包含一种类型的控制处理器、以及一个或多个能够在多操作系统下提供虚拟计算机处理系统的虚拟处理器。可以将硬件故障检测和终止机制建立在处理器、微代码(即,固件)和操作系统中。可以由硬件、微代码、固件或基于软件的代码流、事件或任务来引起系统范围(system-wide)的硬件级终止(例如,从物理硬件故障或逻辑设计问题)。可以收集并且存储故障数据,并且可以将其转发回处理器的提供商用于分析和恢复动作。
发明内容
在第一实施例中,本发明提供了一种用于诊断计算机硬件设备的故障的收集数据的方法。所述方法包括计算机接收导致全系统崩溃(crash)的计算机硬件设备的故障的指示。所述方法还包括计算机收集计算机硬件设备的中央处理单元(CPU)的地址转换表。所述方法还包括计算机检索计算机硬件设备的操作系统(OS)映像的调用栈(call stack)的多个调用栈帧的格式。所述方法还包括,基于收集的地址转换表和检索的多个调用栈帧的格式,计算机检索多个调用栈帧。所述方法还包括计算机将检索的多个调用栈帧输出到计算机文件。
在第二实施例中,本发明提供了一种计算机系统,包括:中央处理单元(CPU),耦接到CPU的存储器,以及耦接到CPU的计算机可读、有形存储设备。所述存储设备包含指令,该指令当经由存储器通过CPU执行时,实施收集用于诊断计算机硬件设备的故障的数据的方法。所述方法包括计算机系统接收导致全系统崩溃的计算机硬件设备的故障的指示。所述方法还包括计算机系统收集计算机硬件设备的CPU的地址转换表。所述方法还包括计算机系统检索计算机硬件设备的操作系统(OS)映像的调用栈的多个调用栈帧的格式。所述方法还包括,基于收集的地址转换表和检索的多个调用栈帧的格式,计算机系统检索多个调用栈帧。所述方法还包括计算机系统将多个调用栈帧输出到计算机文件。
在第三实施例中,本发明提供了一种计算机程序产品,包括:具有计算机可读程序指令存储其中的计算机可读、有形存储设备,计算机可读程序指令当通过计算机系统的中央处理单元(CPU)执行时,实施收集用于诊断计算机硬件设备的故障的数据的方法。所述方法包括计算机系统接收导致全系统崩溃的计算机硬件设备的故障的指示。所述方法还包括计算机系统收集计算机硬件设备的中央处理单元(CPU)的地址转换表。所述方法还包括计算机系统检索计算机硬件设备的操作系统(OS)映像的调用栈的多个调用栈帧的格式。所述方法还包括,基于收集的地址转换表和检索的多个调用栈帧的格式,计算机系统检索多个调用栈帧。所述方法还包括计算机系统将检索的多个调用栈帧输出到计算机文件。
在第四实施例中,本发明提供了一种用于支持计算基础结构的过程。所述过程包括:在包括处理器的计算机中提供用于创建、集成、主管(host)、维护、和部署计算机可读代码中至少一个的至少一个支持服务。所述处理器执行代码中包含的指令,使计算机进行收集用于诊断计算机硬件设备的故障的数据的方法。所述方法包括计算机接收导致全系统崩溃的计算机硬件设备的故障的指示。所述方法还包括计算机收集计算机硬件设备的中央处理单元(CPU)的地址转换表。所述方法还包括计算机检索计算机硬件设备的操作系统(OS)映像的调用栈的多个调用栈帧的格式。所述方法还包括,基于收集的地址转换表和检索的多个调用栈帧的格式,计算机检索多个调用栈帧。所述方法还包括计算机将检索的多个调用栈帧输出到计算机文件。
本发明的实施例提供辅助服务设备或辅助服务处理器,来进行用于收集故障数据的增强数据收集技术,以便诊断和确定用于被认为硬件引起的故障,而实际上由软件触发的系统范围崩溃的恢复动作,所述故障数据与系统的操作系统实例(instance)有关或与管理程序有关。在此公开的实施例收集与不同分区的管理程序固件和内核/操作系统映像之间的交互有关的数据,以便保留不同分区的操作系统分离。
附图说明
图1是根据本发明的实施例的、收集用于诊断计算机硬件设备的软件造成的故障的数据的系统的框图。
图2是根据本发明的实施例的、收集用于诊断计算机硬件设备的软件造成的故障的数据的过程的流程图,其中该过程在图1的系统中实施。
图3是根据本发明的实施例的、在图1的系统中包括的并且实施图2的过程的计算机系统的框图。
具体实施方式
概览
本发明认识到在现有的中到大规模计算机处理系统中的故障终止和故障数据收集机制仅收集与很可能已经发生故障的项目直接相关的数据,因此为诊断可能由微代码/固件或基于软件的代码流、事件或任务触发的系统范围硬件级终止提供了不充足的数据。本发明还认识到其它已知数据收集机制通过关注于从没有导致硬件类型故障的、基于系统处理器的微代码和/或软件操作系统终止模式收集数据,也为诊断系统范围硬件级终止提供了不充足的数据。本发明还认识到虚拟化技术需要在系统处理器上执行的各操作系统之间的隔离,使得没有来自操作系统有效存储器映像(又称作,分区)的数据存在于系统及转储中。以上提及的隔离防止在与硬件设计逻辑故障的软件代码流交互的情况下的适当诊断。
本发明的实施例可以提供一种用于在经历系统范围硬件级终止(例如,由于物理硬件故障或逻辑设计问题)的计算机系统中收集数据的方法和系统,所述系统范围硬件级终止被认为由硬件造成,而实际上由微代码、固件或基于软件代码流、事件或任务触发。如在此使用的,系统范围硬件级终止(又称作,硬件处理器故障模式)被定义为指示计算机硬件设备已经发生故障的全系统崩溃,并且可能是崩溃的原因。本发明的实施例利用这样的构思:在系统存储器中的操作系统和管理程序固件使用一些关于它们的栈、页面转换机制(例如,用于虚拟化的公共页面表)和任务数据存储机制的相同的相互关联的架构和结构。因此,在可以将错误描述为在管理程序固件和操作系统微代码或内核之间的相互关联的区域中,在此公开的辅助服务设备(或辅助服务处理器)基于以上提及的相互关联架构和结构,并且基于每个操作系统映像的特征(诸如,每个操作系统映像的字节序(endian)格式、字大小、栈帧格式、寻址模式),从故障核收集数据点。由辅助服务设备收集的数据点包括,但不限于,在执行任务而不管任务所属的操作系统映像的情况下来自物理或虚拟处理器的调用栈。辅助服务设备不需要救护(ambulance)逻辑分区(LPAR)来收集以上提及的故障数据。
收集用于诊断计算机硬件设备的软件造成的故障的数据的系统
图1是根据本发明的实施例的、收集用于诊断计算机硬件设备的软件造成的故障的数据的系统的框图。系统100的实施例包括计算机系统102,计算机系统102包括系统主存储器104。系统主存储器104是用作计算机系统102的主存储器的有形计算机数据存储设备。在一个实施例中,系统主存储器104是易失性存储器。
计算机系统102运行操作系统(OS)映像106-1…106-N和内核108-1…108-N,其中N≥2。OS映像106-1…106-N与内核108-1…108-N以一一对应形式相关联。管理程序(即,分区管理器)管理其中运行OS映像106-1…106-N和内核108-1…108-N的管理逻辑分区(未示出)。
OS映像106-1…106-N具有相似的映像架构结构,诸如,根映像结构。例如,根映像结构(诸如,处理器架构控制区(PACA)和节点架构控制区(NACA))要求具有与OS映像之间的最低结构一致性用于管理程序支持。在本发明的实施例中,控制队列和分配要求在OS映像106-1…106-N之间一致用于硬件设备通信。
计算机系统102包括辅助服务设备112,辅助服务设备112运行实现包括在本发明的实施例中的数据收集处理的转储收集程序114。辅助服务设备112包括一个或更多计算机数据存储库,其包括从在计算机系统102中包括的硬件设备收集的操作系统映像元数据116、转储输出文件118、以及系统硬件信息(未示出)。操作系统映像元数据116被存储在计算机数据存储设备上,并且包括计算机系统102的平台上的各种类型的OS映像106-1…106-N的信息。OS映像106-1…106-N的类型之一可以是管理程序的程序映像。
OS映像元数据116包括以下呈现的用于计算机系统102的每个硬件中央处理单元(CPU)的数据:
·字节序格式(即,大字节序、小字节序或混合字节序)
·字大小(例如,32位或64位)
·指示栈回链(backchain)指针的寄存器(例如,GPR1)
·引用要由CPU执行的下一指令的地址的寄存器
·寻址模式(例如,虚拟、实际等)
·用于地址转换的地址转换方法和地址转换表
·怎样确定CPU所属的OS映像的类型。OS映像类型可以是操作系统的特定类型(或类型或版本)的枚举,以及指示管理程序的程序的类型。
在一个实施例中,辅助服务设备112通过访问计算机系统102的CPU(未示出)的寄存器(未示出)并且检索寄存器内的位来确定以上列出的数据。
对于与计算机系统102的每个CPU相关联的任务,OS映像元数据116包括在存储器内的任务结构的布置(layout)。OS映像元数据116不必重复由CPU寄存器提供的信息(见以上列出的数据),除了怎样在寄存器存储在任务存储器处格式化以外。
转储收集程序114从OS映像元数据116中检索以上列出的数据并且从系统主存储器104中检索数据,以便检索包括调用栈帧(未示出)的数据点。OS映像元数据116描述以下由辅助服务设备112用于检索关于调用栈帧的信息的信息:
·下一栈帧指针或多个指针(用于双重链栈(doubly chained stack))在哪里存储
·指令返回地址在哪里定位。对于大多数硬件架构,指令返回地址被描述为在从调用程序返回时下一个要执行的指令的地址。
·调用栈帧的执行类型(例如,32位或64位;单级存储或专有虚拟寻址;小字节序;大字节序或混合字节序字架构)。帧的执行类型说明在相同OS映像内可以同时运行多个环境的操作系统。
·调用栈帧的类型(例如,例外或非例外、隐藏或开放等)转储收集程序114输出包括调用栈帧的检索的数据点作为转储输出文件118中的转储映像。转储输出文件118被存储在辅助服务设备112中包括的计算机数据存储设备(未示出)上。转储映像指示在计算机系统102的全系统崩溃时的计算机系统102中的操作系统的状态。可以分析转储输出文件118以诊断计算机系统102的全系统崩溃的与软件有关的原因,并且确定从全系统崩溃恢复的(多个)动作。
在另一实施例中,将OS映像元数据116和/或转储输出文件118存储在辅助服务设备112外部和计算机系统102外部、并且与辅助服务设备112耦接的一个或更多计算机数据存储库中。
在另一实施例中,辅助服务设备112在计算机系统102外部,并且(例如,通过有线附属)与计算机系统102耦接。
系统100的组件功能以下关于图2和图3进一步描述。
收集用于诊断计算机硬件设备的软件造成的故障的数据的过程
图2是根据本发明的实施例的、收集用于诊断计算机硬件设备的软件造成的故障的数据的过程的流程图,其中该过程在图1的系统中实施。收集用于诊断计算机硬件设备的软件造成的故障的数据的过程在步骤200开始。在步骤202之前,计算机系统102(见图1)经历全系统崩溃(即,硬件平台崩溃),并且终止模式指示计算机硬件故障。全系统崩溃可以是例如硬件检测的处理器、流水线、高速缓存、或存储器错误的结果。虽然终止模式指示硬件故障,但是要求与OS有关的数据以适当地了解和诊断报告的硬件的故障。
在全系统崩溃之后而在步骤202之前,辅助服务设备112(见图1)或计算机系统102中包括的或与其耦接的另一设备或处理器(图1中未示出)检测或接收计算机系统102(见图1)的硬件故障模式的指示。
在步骤202,辅助服务设备112(见图1)或其它设备或处理器收集明显与硬件有关的条件的硬件转储信息。可以从诸如(多个)系统处理器、高速缓冲设备、流水线、输入/输出(I/O)设备和使用保留系统主存储器104(见图1)的选择的电路的一个或更多硬件设备中收集硬件转储信息。例如,用保留系统主存储器的选择生成硬件转储信息在由位于纽约州Armonk的国际商业机器公司提供的
Figure BDA00002110639600061
系统中可用。
在一个实施例中,在前进到步骤S204之前,辅助服务设备112(见图1)或其它设备或处理器将硬件转储信息写入转储输出文件118。在一个实施例中,在步骤202中采用已知过程收集硬件转储信息。
在步骤204中,辅助服务设备112(见图1)或计算机系统102(见图1)中包括的或与其耦接的另一设备或处理器(图1中未示出)收集硬件地址转换表。硬件地址转换表包括由计算机系统102(见图1)的CPU用于将虚拟地址和I/O地址转换成实际存储器地址或I/O地址的数据。不同于当前数据收集技术,其中当终止模式是软件故障时收集硬件地址转换表,而当终止模式是硬件故障时不收集硬件地址转换表,本发明的实施例收集硬件地址转换表,因为软件可能是硬件故障的原因。在一个实施例中,在前进到步骤206之前,辅助服务设备112(见图1)或其它设备或处理器将硬件地址转换表写入转储输出文件118。
在步骤206中,辅助服务设备112(见图1)或计算机系统102(见图1)中包括的或与其耦接的另一设备或处理器(图1中未示出)收集在计算机系统(见图1)中有效的OS映像106-1…106-N(见图1)的虚拟映像配置信息。通过使用来自OS映像元数据116(见图1)的数据,从系统主存储器104(见图1)收集虚拟映像配置信息。在步骤206中收集的虚拟映像配置信息包括指示在故障时刻CPU线程到OS映像106-1…106-N(见图1)的分配的数据。在一个实施例中,在前进到步骤208之前,辅助服务器设备112(见图1)或其它设备或处理器将收集的虚拟映像配置信息写入转储输出文件118。
不同于当前数据收集技术,其中当终止模式是软件故障时收集虚拟映像配置信息,而当终止模式是硬件故障时不收集虚拟映像配置信息,即使终止模式指示硬件故障,本发明的实施例在步骤206收集虚拟映像配置信息。
步骤208针对分配到计算机系统102(见图1)中的OS映像106-1…106-N(见图1)的每个CPU线程开始外循环。在外循环的迭代中考虑的CPU线程在此也称作当前CPU线程。
在步骤210中,辅助服务设备112(见图1)将当前CPU线程的标识(即,CPU线程号码)与在步骤206中收集的虚拟映像配置信息相比较,从而确定当前CPU线程分配到的OS映像106-1…106-N(见图1)的OS映像。步骤210还包括辅助服务设备112(见图1)识别当前CPU线程分配到的OS映像的类型(也称作,OS映像类型)。
在步骤212中,辅助服务设备112(见图1)从OS映像元数据116(见图1)中检索任务和帧格式化数据(即,任务的格式化数据和调用栈帧的格式化数据)。在步骤212中检索的任务和帧格式化数据与在步骤210中识别的OS映像类型相关联。
在步骤214中,辅助服务设备112(见图1)确定当前CPU线程的指令执行环境。通过从OS映像元数据116(见图1)中检索数据,辅助服务设备112(见图1)确定在步骤210中确定的OS映像使用的字大小(例如,32位或64位),该OS映像是否使用小字节序、大字节序或混合字节序格式,该OS映像是否处于管理程序模式中,分配到该OS映像的CPU的状态,以及将使用哪个寄存器来确定第一调用栈帧入口的地址。
在步骤216中,辅助服务设备112(见图1)检索任务信息(即,关于在全系统崩溃时刻的当前CPU线程运行的任务的信息)。步骤216包括辅助服务设备112(见图1)通过使用在步骤212中检索的任务格式化数据,来检索系统主要存储器104(见图1)中的任务存储器的位置。在一个实施例中,在前进到步骤218之前,辅助服务设备112(见图1)从任务存储器复制包括任务信息(即,检索的任务信息)的页面,并且将包括检索的任务信息的页面写入转储输出文件118。
步骤218针对当前CPU线程分配到的OS映像的调用栈中的每个调用栈帧开始内循环。在内循环的迭代中考虑的调用栈帧在此也称作当前调用栈帧。
在步骤220中,辅助服务设备112(见图1)通过使用在步骤212中检索的帧格式化数据来检索调用栈帧。在一个实施例中,在前进到步骤222之前,辅助服务设备112(见图1)从系统主存储器104(见图1)复制包括调用栈帧(即,检索的调用栈帧)的页面,并且将包括检索的调用栈帧的页面写入转储输出文件118。
在步骤222中,辅助服务设备112(见图1)识别当前调用栈帧的程序执行地址,通过使用识别的程序执行地址来检索当前调用栈帧的程序信息,并且确定该程序信息的类型。步骤222可以以各种格式检索程序信息,诸如,扩展公共对象文件格式(eXtended Common Object File Format,XCOFF)。在一个实施例中,在循环回步骤218之前(如果识别了内循环中要考虑的下一调用栈帧的地址),传递控制回到步骤208(如果没有用于当前CPU线程的下一调用栈帧,并且存在外循环中有要考虑的下一CPU线程)或者否则前进到步骤224,辅助服务设备112(见图1)从系统主存储器104(见图1)中复制包括程序信息(即,检索的程序信息)的页面,并且将包括检索的程序信息的页面写入到转储输出文件118中。
当内循环到达不存在更多的要格式化的调用栈帧的调用栈的结束是,将控制传递回到步骤208,并且如果存在下一CPU线程,在开始于步骤208的外循环的下一迭代中考虑下一CPU线程。如果内循环和外循环二者都分别结束处理所有调用栈帧和CPU线程,则图2的处理在步骤224结束。
每次在步骤204、206、208、210、212、214、216、220和222中从系统主存储器104(见图1)中检索信息时,转储收集程序114(见图1)进行地址转换。如果还没有全系统崩溃,计算机系统102(见图1)的硬件在运行期间可以进行地址转换。因为在步骤202之前由于全系统崩溃终止硬件,硬件不能用于地址转换。因此,转储收集程序114(见图1)从OS映像元数据116(见图1)中查找并且检索元数据,其中元数据与当前CPU线程的特定CPU任务相关联地存储。检索的的特定CPU任务的元数据包括调用栈帧的类型和地址转换模式(例如,单级或专有寻址,实际或虚拟,共享等)。随后,转储收集程序114(见图1)识别CPU的地址转换方法。基于识别地址转换方法,转储收集程序114(见图1)在步骤204、206、208、210、212、214、216、220和222进行地址转换,以便从系统主存储器104(见图1)中取回信息。
图2的过程可以包括将映像控制结构转储到转储输出文件118。为了转储映像控制结构,辅助服务设备112(见图1)捕捉映像控制结构数据的地址转换、地址转换数据、和要求的位置。在可替换实施例中,辅助服务设备112(见图1)可以捕捉用于在帧或页面级转储映像控制结构的数据,以允许后端(backend)工具来分析数据。
在本发明的实施例中,每次在步骤216、220和222中将页面写入到转储输出文件118时,存在重复页面可能被写入转储输出文件的机会。在可替换实施例中,辅助服务设备112(见图1)通过采用对系统主存储器104(见图1)的要被输出到转储输出文件118中的转储映像的页面进行跟踪而防止重复页面的机会。代替在步骤216、220和222中具有单独输出到转储输出文件118,可替换实施例包括在步骤224的转储处理完结时页面高速缓存输出步骤216、220和222要求的每个页面恰好一次。
在步骤224之后,转储输出文件118包括在步骤202、204、206、216、220和222写入的页面和其它数据,其包括转储映像。基于转储输出文件118中的转储映像,分析人员或计算机确定计算机系统102中的操作系统的状态,诊断硬件故障,并且确定由软件导致硬件故障,可选地确定恢复计算机系统102的一个或更多动作来,并且可选地实施恢复计算机系统的一个或更多动作。
计算机系统
图3是根据本发明的实施例的、在图1的系统中包括的并且实施图2的过程的计算机系统的框图。系统300是系统100(见图1)的实施例并且包括计算机系统102,计算机系统102包括辅助服务设备112作为嵌入式系统。辅助服务设备112其自身是计算机系统并且大体上包括中央处理单元(CPU)302、存储器304、输入/输出(I/O)接口306、总线308以及用于程序存储的计算机数据存储单元312。在可替换实施例中,辅助服务设备112以及其组件是计算机系统102的外部的并且与其耦接的计算机系统。CPU 302执行辅助服务设备112的计算和控制功能,包括执行程序码314中包括的指令以进行收集用于诊断计算机硬件设备的故障的数据的方法,其中经由存储器304通过CPU 302执行指令。CPU 302可以包括单个处理单元,或者可以在一个或更多位置横跨一个或更多处理单元分布(例如,在客户端或服务器上)。在一个实施例中,程序码314包括代码转储收集程序114(见图1)。
存储器304可以包括以下描述的任何已知计算机可读存储介质。在一个实施例中,存储器304的高速缓存存储器元件提供至少一些程序码(例如,程序码314)的临时存储,以便减少在执行程序码的指令时必须从大容量存储器检索代码的次数。此外,与CPU 302类似,存储器304可以位于包括一个或更多类型的数据存储器的单个物理地点,或者以各种形式横跨多个物理系统分布。此外,存储器304可以包括例如横跨局域网(LAN)或广域网(WAN)分布的数据。
I/O接口306包括用于向或从辅助服务设备112外部的源交换信息的任何系统。一个或更多I/O设备(未示出)可以耦接至辅助服务设备112,并且可以包括任何已知类型的外部设备,包括显示设备(即,监视器)、键盘、鼠标、打印机、扩音器、手持设备、传真机等。总线308提供辅助服务设备112中的每个组件之间的通信链路,并且可以包括任何类型的传输链路,包括电、光、无线等。
I/O接口306还允许辅助服务设备112在计算机数据存储单元312或其它计算机数据存储单元(未示出)上存储信息(例如,数据或程序指令,诸如程序码314),或从计算机数据存储单元312或其它计算机数据存储单元(未示出)检索信息。计算机数据存储单元312可以包括以下描述的任何已知计算机可读存储介质。例如,计算机数据存储单元312可以是非易失性数据存储设备,诸如,磁盘驱动器(即,硬盘驱动器)或光盘驱动器(例如,接收CD-ROM盘的CD-ROM驱动器)。
存储器304和/或存储单元312可以存储计算机程序码314,计算机程序码314包括经由存储器304通过CPU 302执行的、用于收集诊断计算机硬件设备的故障的数据的指令。尽管图3描绘存储器304为包括程序码314,但是本发明构思其中存储器304不同时包括所有代码314的实施例,而在一个时刻只包括代码314的一部分。
此外,存储器304可以包括图3中未示出的其它系统,诸如在CPU 302上运行,并且提供在辅助服务设备112内和/或连接到辅助服务设备112的各种组件的控制的操作系统(例如,Linux)。
存储单元312和/或与辅助服务设备112耦接的一个或更多其它计算机数据存储单元(未示出)可以存储OS映像元数据116(见图1)、转储输出文件118(见图1)和从计算机系统102的硬件设备收集的系统硬件信息。
计算机系统102大体上包括CPU 352、存储器354、输入/输出(I/O)接口356、总线358,并且与一个或更多I/O设备360以及计算机数据存储单元362耦接。CPU 352执行计算机系统102的计算和控制功能。CPU 352可以包括单个处理单元,或横跨一个或更多位置中的一个或更多处理单元分布(例如,在客户端和服务器上)。
存储器354可以包括任何已知计算机可读存储介质。存储器354可以位于包括一个或更多类型的数据存储器的单个物理位置,或以各种形式横跨多个物理系统分布。此外,存储器354可以包括例如横跨LAN或WAN分布的数据。
I/O接口356包括用于在外部源和计算机系统102之间交换信息的任何系统,所述信息包括辅助服务设备112和计算机系统102的一个或更多组件之间的信息。如通过具有CPU 352和辅助服务设备112之间的图3中的虚线的双箭头所描绘的,由在此公开的过程用于检索转储数据的信息经由I/O接口356在CPU 352和辅助服务设备112之间交换,,而不要求辅助服务设备112和CPU 352之间的直接连接,从而区别本发明的实施例与救护设备(ambulance device)。如由具有存储器354和辅助服务设备112之间的图3中的虚线的双箭头所描绘的,由在此公开的过程用于检索转储数据的信息经由I/O接口356在存储器354和辅助服务设备112之间交换,而不要求辅助服务设备112和存储器354之间的直接连接,从而进一步区分本发明的实施例与救护设备。
一个或更多I/O设备360可以与计算机系统102耦接并且可以包括任何已知类型的外部设备,包括显示设备(例如,监视器)、键盘、鼠标、打印机、扩音器、手持设备、传真机等。总线358提供计算机系统102中每个组件之间的通信链路,并且可以包括任何类型的传输链路,包括电、光、无线等。
I/O接口356还允许计算机系统102在计算机数据存储单元362或另一计算机数据存储单元(未示出)上存储信息(例如,数据或程序指令),或从计算机数据存储单元362或另一计算机数据存储单元(未示出)检索信息。计算机数据存储单元362可以包括任何已知的计算机可读存储介质。
在一个实施例中,存储器354是或包括系统主存储器104(见图1)。此外,存储器354可以包括图3中未示出的其它系统,诸如在CPU 352上运行,并且提供在计算机系统102内和/或连接到计算机系统102的各种组件的控制的操作系统(例如,Linux)。
如本领域技术人员将认识到的,本发明可以被体现为系统、方法或计算机程序产品。相应地,本发明的实施例的一方面可以采用完全硬件方面、完全软件方面(包括固件、驻留软件、微代码等)或组合软件和硬件方面的方面的形式,其都可以一般地在此称为“模块”。此外,本发明的实施例可以采用具有体现或者其上存储计算机可读程序代码(例如,程序码314)的一个或更多计算机可读介质(例如,存储器304和/或计算机数据存储单元312)中体现的计算机程序产品的形式。
可以采用一个或更多计算机可读介质(例如,存储器304和计算机数据存储单元312)的任意组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。在一个实施例中,计算机可读存储介质是计算机可读存储设备或计算机可读存储装置。计算机可读存储介质可以是,例如但不限于,电、磁、光、电磁、红外或半导体系统、装置、设备或以上的任何适当组合。计算机可读存储介质的更多具体示例的非穷举性列表包括:具有一个或更多线缆的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦写可编程只读存储器(EPROM或Flash存储器)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储设备、磁存储设备、或以上的任何适当组合。在本文的上下文中,计算机可读存储介质可以是有形介质,其可以包含或存储供系统、装置、或设备使用的或与其连接的以便执行指令的程序(例如,程序314)。
计算机可读信号介质可以包括例如在基带或作为载波的一部分的,具有其中体现计算机可读程序码的传播数据信号。这样的传播信号可以采用任何的多种形式,包括但不限于,电磁、光、或其任何适当组合。计算机可读信号介质可以是任何计算机可读介质,其不是计算机可读存储介质并且可以通信、传播或传输供系统、装置、或设备使用的或与其连接用于执行指令的程序。
在计算机可读介质上体现的程序码(例如,程序码314)可以使用任何适当介质传送,包括但不限于无线、有线、光纤线缆、RF等,或以上的任何适当组合。
用于执行本发明的各方面的操作的计算机程序码(即,程序码314)可以以一个或更多编程语言的任何组合编写,包括面向对象编程语言(诸如,Smalltalk、C++等)以及传统过程编程语言(诸如,“C”编程语言或类似的编程语言)。程序码的指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立软件包执行、部分地在用户计算机上并且部分地在远程计算机上执行、或者完全在远程计算机或服务器上执行,其中以上提及的用户计算机、远程计算机和服务器可以是例如,辅助服务设备112或具有与图3中包括的辅助服务设备112的组件相似的组件的另一计算机系统(未示出)。在后一场景中,远程计算机可以通过任何类型的网络(未示出),包括LAN或WAN,与用户计算机连接,或者可以进行到外部计算机的连接(例如,通过使用因特网服务提供商的因特网)。
参照根据本发明实施例的流程图图示(例如,图2)和/或方法、装置(系统)的框图(例如,图1和图3)、和计算机程序产品,在此描述了本发明的各方面。将要了解的是流程图图示和/或框图的每个框,以及流程图图示和/或框图的框的组合可以被计算机程序指令(例如,程序码314)实施。这些计算机程序指令可以提供给通用计算机、专用计算机、或其它可编程数据处理装置的一个或多个硬件处理器(例如,CPU 302),从而生产出一种机器,以便经由计算机或其它可编程数据处理装置的处理器执行的指令建立用于实现流程图和/或框图的一个或多个框规定的功能/动作的装置(means)。
这些计算机程序指令还可以存储在可以引导计算机(例如,计算机系统102)、其它可编程数据处理装置或其它设备以特定方式动作的计算机可读介质(例如,存储器304或计算机数据存储单元312)中,使得在计算机可读介质中存储的指令(例如,程序314)产生包括实施流程图和/或框图的框或多个框中规定的功能/动作的指令的制造品。
计算机程序指令还可以被载入到计算机(例如,辅助服务设备112)、其它可编程数据处理装置、或其它设备使得在计算机、其它可编程装置、或其它设备上执行一系列的操作步骤,来产生计算机实施的过程,使得计算机、其它可编程装置、或其它设备执行的指令(例如,程序314)提供实施流程图和/或框图的框或多个框中规定的功能/动作的过程。
可以通过关于收集用于诊断计算机硬件设备的故障的数据提供布置或集成计算基础结构的服务提供商,对本发明的实施例的任何组件进行布置、管理、服务等。因此,本发明的实施例公开了用于支持计算机基础结构的过程,其中该过程包括在包括一个或更多处理器(例如,CPU 302)的计算机系统(例如,辅助服务设备112)中,提供至少一个用于以下中的至少一个的支持服务:集成、主管、维护、和部署计算机可读码(例如程序码314),其中所述(多个)处理器执行使得计算机系统收集用于诊断计算机硬件设备的故障的数据的的代码中包含的指令。
在另一实施例中,本发明提供了一种基于订阅、广告和/或费用的进行本发明的处理步骤的方法。即,诸如解决方案集成商(Solution Integrator)的服务提供商可以提供以创建、维护、支持等收集用于诊断计算机硬件设备的故障的数据的处理。在这种情况下,服务提供商可以为一个或更多客户创建、维护、支持等进行本发明的处理步骤的计算机基础结构。作为回报,服务提供商可以按照订阅和/或费用协议从客户收取付款,和/或服务提供商可以从向一个或更多第三方卖出广告内容来接收付款。
图2的流程图和图1和图3的框图图示了根据本发明的各个实施例的系统、方法和计算机程序产品的可能的实现的架构、功能和操作。在这方面,流程图和框图中的每个框可以代表模块、片段、或代码(例如,程序码314)的部分,其包括用于实施规定逻辑功能的一个或更多可执行指令。还应该注意到,在一些可替换实施例中,框中表示的功能可以以与图中不同的顺序发生。例如,相继示出的两个框,取决于所涉及的功能,实际上可以实质上同时执行,或者有时可以逆序执行框。还将要注意到,框图和/或流程图图示的每个框,以及框图和/或流程图图示的框的组合,可以由执行规定功能或动作的基于专用硬件的系统来实施,或者专用硬件和计算机指令的组合来实施。
虽然在此为例示目的已经描述了本发明的实施例,但是对于本领域技术人员许多修改和改变将变得显而易见。相应地,权利要求意图包含落入本发明的真实精神和范围内的所有修改和改变。

Claims (16)

1.一种收集用于诊断计算机硬件设备的故障的数据的方法,所述方法包括以下步骤:
计算机接收导致全系统崩溃的计算机硬件设备的故障的指示;
计算机收集计算机硬件设备的中央处理单元CPU的地址转换表;
计算机检索计算机硬件设备的操作系统OS映像的调用栈的多个调用栈帧的格式;
基于收集的地址转换表和检索的多个调用栈帧的格式,计算机的处理器检索多个调用栈帧;以及
计算机将检索的多个调用栈帧输出到计算机文件。
2.如权利要求1所述的方法,还包括以下步骤:
计算机收集在计算机硬件设备的故障时,指定CPU的CPU线程到计算机硬件设备的OS映像的分配的配置信息;
基于收集的配置信息,计算机确定OS映像被分配到CPU线程,并且识别OS映像的类型;
基于识别的OS映像的类型,计算机检索计算机数据存储单元中任务的结构的布置,其中检索多个调用栈帧的格式的步骤基于识别的OS映像的类型。
3.如权利要求1所述的方法,还包括计算机检索计算机硬件设备的OS映像的元数据的步骤,其中元数据指定OS映像的字大小、OS映像的字节序格式、OS映像分配到的CPU线程是否处于管理程序模式的指示、调用栈的顶部入口的地址、以及进行OS映像中的地址转换的方法,并且其中检索多个调用栈帧的步骤还基于所述字大小、所述字节序格式、所述CPU线程是否处于管理程序模式的指示、所述调用栈的顶部入口的地址、以及所述进行地址转换的方法。
4.如权利要求3所述的方法,其中检索多个调用栈帧的步骤包括:基于进行由检索的元数据和收集的地址转换表指定的地址转换的方法,转换调用栈的顶部入口的地址。
5.如权利要求1所述的方法,还包括计算机将OS映像的类型识别为管理程序的程序映像。
6.如权利要求1所述的方法,其中计算机检索多个调用栈帧的步骤通过系统处理单元外部的服务处理器执行,所述系统处理单元经由计算机硬件设备的管理程序运行多个OS映像,其中服务处理器不要求由管理程序管理的救护逻辑分区LPAR。
7.如权利要求1所述的方法,还包括以下步骤:
计算机收集计算机硬件设备的中央处理单元CPU的第二地址转换表;
计算机检索计算机硬件设备的第二OS映像的第二调用栈的第二多个调用栈帧的第二格式,其中所述OS映像和所述第二OS映像为不同类型但是具有公共锚结构,所述公共的锚结构包括公共映像核通信区和公共处理器通信阵列,并且其中所述OS映像的调用栈的多个调用栈帧的格式不同于第二格式;
基于收集的第二地址转换表和检索的第二多个调用栈帧的第二格式,计算机检索第二多个调用栈帧;
计算机将检索的第二多个调用栈帧输出到计算机文件;以及
接收基于计算机文件的故障的诊断,所述计算机文件包括所述OS映像的调用栈的多个调用栈帧以及所述第二OS映像的第二调用栈的第二多个调用栈帧。
8.一种计算机系统,包括:
中央处理单元CPU;
耦接到CPU的存储器;
耦接到CPU的计算机可读、有形存储设备,所述存储设备包含指令,该指令当经由存储器通过CPU执行时,实施收集用于诊断计算机硬件设备的故障的数据的方法,所述方法包括以下步骤:
计算机系统接收导致全系统崩溃的计算机硬件设备的故障的指示;
计算机系统收集计算机硬件设备的中央处理单元CPU的地址转换表;
计算机系统检索计算机硬件设备的操作系统OS映像的调用栈的多个调用栈帧的格式;
基于收集的地址转换表和检索的多个调用栈帧的格式,计算机系统检索多个调用栈帧;以及
计算机系统将检索的多个调用栈帧输出到计算机文件。
9.如权利要求8所述的计算机系统,其中所述方法还包括以下步骤:
计算机系统收集在计算机硬件设备的故障时,指定CPU的CPU线程到计算机硬件设备的OS映像的分配的配置信息;
基于收集的配置信息,计算机系统确定OS映像被分配到CPU线程,并且识别OS映像的类型;
基于识别的OS映像的类型,计算机系统检索计算机数据存储单元中任务的结构的布置,其中检索多个调用栈帧的格式的步骤基于识别的OS映像的类型。
10.如权利要求8所述的计算机系统,其中所述方法还包括计算机系统检索计算机硬件设备的OS映像的元数据的步骤,其中元数据指定OS映像的字大小、OS映像的字节序格式、OS映像分配到的CPU线程是否处于管理程序模式的指示、调用栈的顶部入口的地址、以及进行OS映像中的地址转换的方法,以及其中检索多个调用栈帧的步骤还基于所述字大小、所述字节序格式、所述CPU线程是否处于管理程序模式的指示、所述调用栈的顶部入口的地址、以及所述进行地址转换的方法。
11.如权利要求10所述的计算机系统,其中检索多个调用栈帧的步骤包括:基于由检索的元数据和收集的地址转换表指定的进行地址转换的方法,转换调用栈的顶部入口的地址。
12.如权利要求8所述的计算机系统,其中所述方法还包括以下步骤:计算机系统将OS映像的类型识别为管理程序的程序映像。
13.如权利要求8所述的计算机系统,其中计算机检索多个调用栈帧的步骤通过系统处理单元外部的服务处理器进行,所述系统处理单元经由计算机硬件设备的管理程序运行多个OS映像,其中服务处理器不要求由管理程序管理的救护逻辑分区(LPAR)。
14.如权利要求8所述的方法,其中所述方法还包括以下步骤:
计算机系统收集计算机硬件设备的中央处理单元CPU的第二地址转换表;
计算机系统检索计算机硬件设备的第二OS映像的第二调用栈的第二多个调用栈帧的第二格式,其中所述OS映像和所述第二OS映像为不同类型但是具有公共的锚结构,所述公共的锚结构包括公共映像核通信区和公共处理器通信阵列,并且其中所述OS映像的调用栈的多个调用栈帧的格式不同于第二格式;
基于收集的第二地址转换表和检索的第二多个调用栈帧的第二格式,计算机系统检索第二多个调用栈帧;
计算机系统将检索的第二多个调用栈帧输出到计算机文件;以及
接收基于计算机文件的故障的诊断,所述计算机文件包括所述OS映像的调用栈的多个调用栈帧以及所述第二OS映像的第二调用栈的第二多个调用栈帧。
15.一种用于支持计算基础结构的过程,所述过程包括:在包括处理器的计算机中提供用于创建、集成、主管、维护和部署计算机可读代码中至少一个的至少一个支持服务,其中所述处理器执行在代码中包含的指令,使得计算机进行收集用于诊断计算机硬件设备的故障的数据的方法,其中所述方法包括以下步骤:
计算机接收导致全系统崩溃的计算机硬件设备的故障的指示;
计算机收集计算机硬件设备的中央处理单元CPU的地址转换表;
计算机检索计算机硬件设备的操作系统OS映像的调用栈的多个调用栈帧的格式;
基于收集的地址转换表和检索的多个调用栈帧的格式,计算机的处理器检索多个调用栈帧;以及
计算机将检索的多个调用栈帧输出到计算机文件。
16.如权利要求15所述的过程,其中所述方法还包括以下步骤:
计算机收集在计算机硬件设备的故障的时,指定CPU的CPU线程到计算机硬件设备的OS映像的分配的配置信息;
基于收集的配置信息,计算机确定OS映像被分配到CPU线程,并且识别OS映像的类型;
基于识别的OS映像的类型,计算机检索计算机数据存储单元中任务的结构的布置,其中检索多个调用栈帧的格式的计算机可读指令基于识别的OS映像的类型。
CN201210331413.9A 2011-09-07 2012-09-07 从硬件故障模式的增强转储数据收集的方法和系统 Active CN102999406B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/226,655 US8762790B2 (en) 2011-09-07 2011-09-07 Enhanced dump data collection from hardware fail modes
US13/226,655 2011-09-07

Publications (2)

Publication Number Publication Date
CN102999406A true CN102999406A (zh) 2013-03-27
CN102999406B CN102999406B (zh) 2016-03-30

Family

ID=47074985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210331413.9A Active CN102999406B (zh) 2011-09-07 2012-09-07 从硬件故障模式的增强转储数据收集的方法和系统

Country Status (4)

Country Link
US (4) US8762790B2 (zh)
CN (1) CN102999406B (zh)
DE (1) DE102012215216B4 (zh)
GB (1) GB2495586B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326022A (zh) * 2015-06-26 2017-01-11 伊姆西公司 转储的自动分配方法和设备
CN114710237A (zh) * 2022-03-25 2022-07-05 湖南鼎一致远科技发展有限公司 通讯接口的数据处理方法、装置、电子设备及存储介质

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762790B2 (en) 2011-09-07 2014-06-24 International Business Machines Corporation Enhanced dump data collection from hardware fail modes
US8782472B2 (en) * 2011-10-28 2014-07-15 Dell Products L.P. Troubleshooting system using device snapshots
GB2508344A (en) * 2012-11-28 2014-06-04 Ibm Creating an operating system dump
EP3029572A4 (en) * 2013-07-31 2016-07-20 Fujitsu Ltd INFORMATION PROCESSING DEVICE, MEMORY STORAGE METHOD AND STORAGE STORAGE PROGRAM
US9317356B2 (en) * 2013-10-15 2016-04-19 Globalfoundries Inc. Device state capture during operating system dump
US9785492B1 (en) * 2013-12-09 2017-10-10 Forcepoint Llc Technique for hypervisor-based firmware acquisition and analysis
US9734325B1 (en) 2013-12-09 2017-08-15 Forcepoint Federal Llc Hypervisor-based binding of data to cloud environment for improved security
US9696940B1 (en) 2013-12-09 2017-07-04 Forcepoint Federal Llc Technique for verifying virtual machine integrity using hypervisor-based memory snapshots
DE102014213287A1 (de) 2014-07-09 2016-01-14 Bayerische Motoren Werke Aktiengesellschaft Navigationsverfahren
DE102014214507A1 (de) 2014-07-24 2016-01-28 Bayerische Motoren Werke Aktiengesellschaft Verfahren zur Erstellung eines Umfeldmodells eines Fahrzeugs
DE102014214505A1 (de) 2014-07-24 2016-01-28 Bayerische Motoren Werke Aktiengesellschaft Verfahren zur Erstellung eines Umfeldmodells eines Fahrzeugs
DE102014214506A1 (de) 2014-07-24 2016-01-28 Bayerische Motoren Werke Aktiengesellschaft Verfahren zur Erstellung eines Umfeldmodells eines Fahrzeugs
US10067813B2 (en) 2014-11-21 2018-09-04 Samsung Electronics Co., Ltd. Method of analyzing a fault of an electronic system
US9852028B2 (en) * 2015-04-21 2017-12-26 International Business Machines Corporation Managing a computing system crash
IN2015CH04519A (zh) * 2015-08-27 2015-09-11 Wipro Ltd
US9971650B2 (en) 2016-06-06 2018-05-15 International Business Machines Corporation Parallel data collection and recovery for failing virtual computer processing system
US10331508B2 (en) 2016-06-23 2019-06-25 Vmware, Inc. Computer crash risk assessment
US10365959B2 (en) 2016-06-23 2019-07-30 Vmware, Inc. Graphical user interface for software crash analysis data
US10338990B2 (en) 2016-06-23 2019-07-02 Vmware, Inc. Culprit module detection and signature back trace generation
US10268563B2 (en) 2016-06-23 2019-04-23 Vmware, Inc. Monitoring of an automated end-to-end crash analysis system
US10191837B2 (en) 2016-06-23 2019-01-29 Vmware, Inc. Automated end-to-end analysis of customer service requests
US10324796B2 (en) * 2016-08-11 2019-06-18 International Business Machines Corporation Stack detail recovery
US10514972B2 (en) * 2018-04-27 2019-12-24 Dell Products L. P. Embedding forensic and triage data in memory dumps
US10891181B2 (en) 2018-10-25 2021-01-12 International Business Machines Corporation Smart system dump
US11044440B2 (en) 2019-11-04 2021-06-22 Times Fiber Communications, Inc. Universal MoCA gateway splitter
US20210089411A1 (en) * 2020-12-04 2021-03-25 Intel Corporation Restoring persistent application data from non-volatile memory after a system crash or system reboot
JP2022118489A (ja) 2021-02-02 2022-08-15 キオクシア株式会社 メモリシステム
US11977629B2 (en) * 2021-06-30 2024-05-07 Microsoft Technology Licensing, Llc Retrospective memory analysis

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6681348B1 (en) * 2000-12-15 2004-01-20 Microsoft Corporation Creation of mini dump files from full dump files
CN101216797A (zh) * 2008-01-11 2008-07-09 中国移动通信集团四川有限公司 大型数据中心it系统基础软硬件平台的深度巡检系统和方法
CN101398768A (zh) * 2008-10-28 2009-04-01 北京航空航天大学 一种分布式虚拟机监视器系统的构建方法
CN101977248A (zh) * 2010-10-25 2011-02-16 浪潮电子信息产业股份有限公司 一种利用域名进行服务器带外管理的方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002095585A1 (en) 2001-05-24 2002-11-28 Techtracker, Inc. Program execution stack signatures
US6996751B2 (en) * 2001-08-15 2006-02-07 International Business Machines Corporation Method and system for reduction of service costs by discrimination between software and hardware induced outages
US20050204199A1 (en) * 2004-02-28 2005-09-15 Ibm Corporation Automatic crash recovery in computer operating systems
US7325163B2 (en) 2005-01-04 2008-01-29 International Business Machines Corporation Error monitoring of partitions in a computer system using supervisor partitions
US7418635B2 (en) 2005-01-25 2008-08-26 Tandberg Storage Asa Automatically triggered snapshot data dump for storage unit with embedded system
US8375386B2 (en) * 2005-06-29 2013-02-12 Microsoft Corporation Failure management for a virtualized computing environment
WO2007050667A2 (en) * 2005-10-25 2007-05-03 The Trustees Of Columbia University In The City Of New York Methods, media and systems for detecting anomalous program executions
US7788537B1 (en) * 2006-01-31 2010-08-31 Emc Corporation Techniques for collecting critical information from a memory dump
JP2007226413A (ja) 2006-02-22 2007-09-06 Hitachi Ltd メモリダンプ方法、メモリダンププログラム、及び、計算機システム
US7979749B2 (en) 2006-11-15 2011-07-12 International Business Machines Corporation Method and infrastructure for detecting and/or servicing a failing/failed operating system instance
US7685474B2 (en) * 2007-03-16 2010-03-23 Symantec Corporation Failsafe computer support assistant using a support virtual machine
US8069371B2 (en) * 2007-04-26 2011-11-29 Hewlett-Packard Development Company, L.P. Method and system for remotely debugging a hung or crashed computing system
US8949671B2 (en) * 2008-01-30 2015-02-03 International Business Machines Corporation Fault detection, diagnosis, and prevention for complex computing systems
JP4572251B2 (ja) 2008-09-29 2010-11-04 株式会社日立製作所 計算機システム、計算機システムの障害の予兆検知方法及びプログラム
US8132057B2 (en) * 2009-08-07 2012-03-06 International Business Machines Corporation Automated transition to a recovery kernel via firmware-assisted-dump flows providing automated operating system diagnosis and repair
US8762790B2 (en) 2011-09-07 2014-06-24 International Business Machines Corporation Enhanced dump data collection from hardware fail modes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6681348B1 (en) * 2000-12-15 2004-01-20 Microsoft Corporation Creation of mini dump files from full dump files
CN101216797A (zh) * 2008-01-11 2008-07-09 中国移动通信集团四川有限公司 大型数据中心it系统基础软硬件平台的深度巡检系统和方法
CN101398768A (zh) * 2008-10-28 2009-04-01 北京航空航天大学 一种分布式虚拟机监视器系统的构建方法
CN101977248A (zh) * 2010-10-25 2011-02-16 浪潮电子信息产业股份有限公司 一种利用域名进行服务器带外管理的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326022A (zh) * 2015-06-26 2017-01-11 伊姆西公司 转储的自动分配方法和设备
CN106326022B (zh) * 2015-06-26 2019-05-10 伊姆西公司 转储的自动分配方法和设备
CN114710237A (zh) * 2022-03-25 2022-07-05 湖南鼎一致远科技发展有限公司 通讯接口的数据处理方法、装置、电子设备及存储介质
CN114710237B (zh) * 2022-03-25 2024-01-26 湖南鼎一致远科技发展有限公司 通讯接口的数据处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
US9396057B2 (en) 2016-07-19
DE102012215216B4 (de) 2021-04-29
US10671468B2 (en) 2020-06-02
US20140250335A1 (en) 2014-09-04
US20160299809A1 (en) 2016-10-13
GB2495586B (en) 2013-08-14
US20180293127A1 (en) 2018-10-11
US8762790B2 (en) 2014-06-24
US10013298B2 (en) 2018-07-03
DE102012215216A1 (de) 2013-03-07
CN102999406B (zh) 2016-03-30
GB201215455D0 (en) 2012-10-17
US20130061096A1 (en) 2013-03-07
GB2495586A (en) 2013-04-17

Similar Documents

Publication Publication Date Title
CN102999406B (zh) 从硬件故障模式的增强转储数据收集的方法和系统
CN101268445B (zh) 用于向多核环境中的应用程序提供实时线程服务的方法、装置
CN104040515B (zh) 在逻辑驱动器模型下呈现直接存取的存储设备
US20110252426A1 (en) Processing batch transactions
CN101615106A (zh) 用于虚拟化sas存储适配器的方法和系统
WO2009146612A1 (zh) 嵌入式c语言环境下异常处理方法及装置
CN103582879B (zh) 管理耦合设施中的操作员消息缓冲器
CN103649926A (zh) 提供在异构计算环境下访问主机数据对象
TWI659305B (zh) 用於擴展私用快取中快取行之獨佔持有之設備
US10871918B2 (en) Writing composite objects to a data store
CN103597453B (zh) 用于测试耦合设施的操作员消息命令
CN103973470A (zh) 用于无共享集群的集群管理方法和设备
CN101154202A (zh) 管理多处理器计算机系统中的系统管理中断的系统和方法
CN111049904A (zh) 多公有云资源监控的方法与设备
CN101086717B (zh) 存储瞬态信息的系统和方法
CN103597462A (zh) 发送操作员消息命令到耦合设施
CN109544392B (zh) 用于保险订单处理的方法、系统、设备以及介质
CN104903865B (zh) 将虚拟机vm映像应用于计算机系统的方法和系统
CN103562877B (zh) 处理操作员消息命令
CN111295648A (zh) 数据处理系统中的作业管理
CN103778003B (zh) 用于资源的分层锁定的方法和系统
US11790087B2 (en) Method and apparatus to identify hardware performance counter events for detecting and classifying malware or workload using artificial intelligence
CN110647289A (zh) 卫星遥感云计算平台及系统
Zhang et al. Automated Root Causing of Cloud Incidents using In-Context Learning with GPT-4
US20090217290A1 (en) Method and System for Task Switching with Inline Execution

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211111

Address after: New York, United States

Patentee after: Qindarui company

Address before: Armank, New York, USA

Patentee before: International Business Machines