CN1731368A - 分析从崩溃得到的数据的方法和数据处理系统 - Google Patents
分析从崩溃得到的数据的方法和数据处理系统 Download PDFInfo
- Publication number
- CN1731368A CN1731368A CNA2005100771005A CN200510077100A CN1731368A CN 1731368 A CN1731368 A CN 1731368A CN A2005100771005 A CNA2005100771005 A CN A2005100771005A CN 200510077100 A CN200510077100 A CN 200510077100A CN 1731368 A CN1731368 A CN 1731368A
- Authority
- CN
- China
- Prior art keywords
- handling system
- data handling
- data
- partial memory
- storer
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种方法、装置和计算机指令,用于对从数据处理系统的崩溃得到的数据进行分析。响应于数据处理系统的崩溃,保留数据处理系统中的部分存储器。以适于分析部分存储器中数据的环境,重启数据处理系统。
Description
技术领域
本发明主要涉及一种改进的数据处理系统,具体来说,涉及一种数据处理的方法和装置。更具体而言,本发明涉及一种在数据处理系统的崩溃之后进行数据分析的方法、装置和计算机指令。
背景技术
在数据处理系统的测试应用和其他构件中,测试和调试阶段过程中的系统崩溃并不少见。系统崩溃发生在出现故障或错误而操作系统无法从中恢复时。软件或硬件都可能导致系统崩溃。系统崩溃意味着数据处理系统无法工作,并可能引起硬件故障或者严重的软件错误或者瑕疵。瑕疵是导致数据处理系统或软件故障的软件或硬件中的错误或缺陷。
在系统崩溃之后,一般会收集数据,用于在不同的系统或重启后的当前系统上进行分析。
在系统崩溃之后的数据分析一般在不同的数据处理系统上进行。崩溃的数据一般通过OS转储(dump)收集到磁带或磁盘存储器或者外部业务处理器,或者通过某种其它类型的外部分析器收集。收集数据进行远程分析有多种好处。例如,在某些情况下,数据处理系统可以返回继续工作,而数据分析则同时进行。此外,崩溃数据可以在生产环境中收集,发送给专家进行分析。
但是,也存在着一些限制。对跟踪数据保存的一种限制是跟踪数据的大小。跟踪数据是由硬件监控器或者软件监控器收集的数据。这些监控器记录一系列情况或数据,以生成跟踪数据。例如,监控器可以记录跟踪的程序流,监控器也可以跟踪记录程序所处理的数据序列,或者可以是数据处理系统的构件之间传送的数据。收集的跟踪数据的大小一般受限于可用资源,例如磁带或磁盘的容量,或者可以是业务部件的存储及其卸载能力。此外,卸载跟踪数据的时间与跟踪数据的大小以及卸载接口的带宽成正比。
与业务部件维护的数据处理系统相比,业务部件一般是相对较慢且所支持的带宽较低的处理器。此外,业务处理器必须相对简单,能够自己进行初始化。这种类型的处理器被定制为具有初始化数据处理系统以及在数据处理系统运行时进行监控的能力。由于具有数据处理系统中的所有部件,为了节省成本,业务处理器的大小只考虑了它基本的初始化和监控任务。
业务部件的带宽、处理和存储资源一般都很有限。这种限制在某些问题上成为一个主要的障碍。
业务部件不是收集数据的唯一方法。操作系统可以将系统转储传送到磁盘或磁带。
一个例子是分析系统存储器中收集的跟踪数据。需要几千兆字节或更大的跟踪数据的情况并不少见。因此,将这么大量的跟踪数据发送到某个介质,例如硬盘或其它存储设备,用于在另一数据处理系统上进行分析,这不仅需要很多时间,而且减慢了测试和调试进度。很多时候,跟踪数据被转移到另一数据处理系统,因为与收集跟踪数据的操作环境相比,该数据处理系统上的操作环境更适于分析跟踪数据。
业务部件可以有多种方式收集跟踪数据。业务部件可以通过JTAG访问存储器和芯片数据。这种方法适用于很多类型的崩溃,但非常慢。第二种方法是将业务处理器DMA数据从主系统存储器转移到它的本地存储器。这种方法要快得多,但需要系统的大部分都可以操作,当然,业务部件必须有资源来存储或卸载数据。
目前,数十兆字节的数据的传送和进行普通的格式化需要几小时。一些情况下,在收集过程中筛选数据,以减少收集的数据量。或者,有时只收集部分跟踪数据进行分析。这些方案导致分析过程中遗失可能有用的数据。
因此,需要有一种改进的方法、装置和计算机指令来分析系统崩溃后的数据。
发明内容
本发明提供了一种方法、装置和计算机指令来对数据处理系统发生崩溃后的数据进行分析。针对数据处理系统出现的崩溃,保留数据处理系统中的一部分存储器。在剩余存储器中,以适于分析存储器保留部分中跟踪数据的环境,重启数据处理系统。
根据本发明的一个方面,提供一种数据处理系统中用于对从所述数据处理系统的崩溃得到的数据进行分析的方法,该方法包括:响应于所述数据处理系统的所述崩溃,保留所述数据处理系统中的部分存储器;以及以适于分析所述部分存储器中的数据的环境,重启所述数据处理系统。
根据本发明的另一个方面,提供一种用于对从数据处理系统的崩溃得到的数据进行分析的数据处理系统,该数据处理系统包括:总线系统;连接到所述总线系统的通信单元;连接到所述总线系统的存储器,其中所述存储器包括一组指令;以及连接到所述总线系统的处理单元,其中响应于所述数据处理系统的所述崩溃,所述处理单元执行所述的一组指令,以保留所述数据处理系统中的部分存储器,并以适于分析所述部分存储器中数据的环境重启该数据处理系统。
根据本发明的再一个方面,提供一种用于对从数据处理系统的崩溃得到的数据进行分析的数据处理系统,该数据处理系统包括:保留装置,用于响应于所述数据处理系统的所述崩溃,保留所述数据处理系统中的部分存储器;以及重启装置,用于以适于分析所述部分存储器中的跟踪数据的环境,重启所述数据处理系统。
根据本发明的再一个方面,提供一种用于对从数据处理系统的崩溃得到的数据进行分析的的计算机可读介质中的计算机程序产品,该计算机程序产品包括:第一指令集,用于响应于所述数据处理系统的所述崩溃,保留所述数据处理系统中的部分存储器;以及第二指令集,用于以适于分析所述部分存储器中的数据的环境,重启所述数据处理系统。
附图说明
所附权利要求书提出了本发明特有的新属性。但是,本发明本身以及优选的使用模式,还有它们的目的和优点,都将参考后面结合附图阅读的说明性实施方式的详细描述,被很好地理解。
图1是可以按照本发明的一种优选实施方式实现本发明的数据处理系统的图形表示;
图2是可以实现本发明的数据处理系统的框图;
图3是可以实现本发明的另一数据处理系统的框图;
图4示出按照本发明的一种优选实施方式,分析跟踪数据所用的部件的图;
图5示出按照本发明的一种优选实施方式保留跟踪数据的图;
图6是按照本发明的一种优选实施方式,提供崩溃后分析环境的处理的流程图;
图7是按照本发明的一种优选实施方式,提供分析跟踪数据的环境的处理的流程图;
图8是按照本发明的一种优选实施方式,设置存储器以保留跟踪数据的处理的流程图;以及
图9是按照本发明的一种优选实施方式,存储跟踪数据的处理的流程图。
具体实施方式
现在参看附图,特别参看图1,示出了按照本发明的一种优选实施方式实现本发明的数据处理系统的图形表示。示出的计算机100包括系统单元102、视频显示终端104、键盘106、存储设备108以及鼠标110,存储设备108可以包括软盘或者其它类型的永久或可移动存储介质。个人计算机100可以包括附加输入设备,例如操纵杆、触摸板、触摸屏、跟踪球、麦克风以及类似设备。计算机100可以利用任何适当的计算机来实现,例如IBM eServer计算机或者IntelliStation计算机,它们是位于纽约Armonk的国际商业机器公司的产品。尽管该图中示出了一台计算机,然而本发明的其它实施方式可以在其它类型的数据处理系统中实现,例如网络计算机。计算机100优选地还包括图形用户接口(GUI),该接口可以通过工作于计算机100中的计算机可读介质中驻留的系统软件来实现。
现在参看图2,示出了可以实现本发明的数据处理系统的框图。数据处理系统200是计算机,例如图1中计算机100的一个例子,其中可以装入实现了本发明的处理的代码或指令。数据处理系统200采用外设互连(PCI)本地总线体系结构。尽管示出的例子采用了PCI总线,也可以采用其它总线体系结构,例如加速图形端口(AGP)和工业标准体系结构(ISA)。处理器202和主存储器204通过PCI桥208连接到PCI本地总线206。PCI桥208还可以包括用于处理器202的集成的存储控制器和缓存。通过直接部件互连或者通过一个内插连接器,可以实现到PCI本地总线206的附加连接。在示出的例子中,局域网(LAN)适配器210、小计算机系统接口(SCSI)主机总线适配器212以及扩展总线接口214通过直接部件连接被连接到PCI本地总线206。与此相比,音频适配器216、图形适配器218以及音频/视频适配器219通过插入扩展槽的内插板,连接到PCI本地总线206。扩展总线接口214提供了用于键盘和鼠标适配器220、调制解调器222和附加存储器224的连接。SCSI主机总线适配器212为硬盘驱动器226、磁带驱动器228和CD-ROM驱动器230提供了连接。典型的PCI本地总线实现能支持3个或4个PCI扩展槽或内插连接器。
操作系统在处理器202上运行,用于协调和控制图2的数据处理系统200的各个部件。该操作系统可以是商用的操作系统,例如是可以从微软公司得到的视窗XP。面向对象的编程系统,例如Java可以运行于该操作系统之上,并根据数据处理系统200上运行的Java程序或应用,提供到操作系统的调用。“Java”是Sun微系统公司的商标。操作系统指令、面向对象的编程系统以及应用或程序位于存储设备——例如硬盘驱动器226上,可以装入主存储器204,由处理器202执行。
本领域一般技术人员能理解,图2的硬件可以取决于实施情况而变化。除了图2示出的硬件之外,也可以使用其它内部硬件或外部设备,例如快闪只读存储器(ROM)、等同的非易失性存储器或者光盘驱动器和类似设备,也可以用这些设备取代图2的硬件。此外,本发明的处理可以应用于多处理器数据处理系统。
例如,数据处理系统200如果可选地配制成网络计算机,可以不包括SCSI主机总线适配器212、硬盘驱动器226、磁带驱动器228和CD-ROM 230。在这种情况下,计算机——准确地说是客户端计算机包括某种类型的网络通信接口,例如LAN适配器210、调制解调器222或类似接口。另一个例子是,数据处理系统200可以是一个独立系统,它被配置为不管该系统是否包含某种类型的网络通信接口它都能够重启,而不依赖于某种类型的网络通信接口。另一个例子是,数据处理系统200可以是个人数字助理(PDA),它配备有ROM和/或快闪ROM,为存储操作系统文件和/或用户生成的数据提供非易失性存储器。
图2示出的例子以及前面描述的例子并不是为了提出体系结构方面的限制。例如,数据处理系统200除了可以采用PDA形式之外,也可以是笔记本计算机或者手持计算机。数据处理系统200也可以是公共资讯站或者因特网终端。
本发明的处理由处理器202利用计算机实现的指令来执行,指令可以位于存储器中,例如主存储器204、存储器224或者位于一个或多个外部设备226-230中。
下面,图3的框图示出了可以实现本发明的另一数据处理系统。数据处理系统300可以是一个对称多处理器(SMP)系统,包括连接到系统总线306的多个处理器301、302、303和304。例如,数据处理系统300可以是作为网络中服务器实现的IBM eServer,它是位于纽约Armonk的国际商业机器公司的产品。或者,也可以采用单处理器系统。连接到系统总线306的还有存储控制器/缓存308,它提供了到多个本地存储器360-363的接口。I/O总线桥310连接到系统总线306,并提供到I/O总线312的接口。存储控制器/缓存308和I/O总线桥310可以按照所示那样集成。
在该例中,数据处理系统300是逻辑分区(LPAR)数据处理系统。因此,数据处理系统300可以有多个同时运行的异构操作系统(或者单操作系统的多个实例)。这些多个操作系统的每一个都可以运行有任意数量的软件程序。数据处理系统300是逻辑分区的,使得不同的PCI I/O适配器320-321、328-329和336、图形适配器348和硬盘适配器349可以被指派给不同的逻辑分区。这种情况下,图形适配器348为显示设备(未示出)提供连接,而硬盘适配器349提供连接来控制硬盘350。
这样,例如,假定数据处理系统300被划分成3个逻辑分区P1、P2和P3。每个PCI I/O适配器320-321、328-329和336、图形适配器348、硬盘适配器349、每个主处理器301-304和来自本地存储器360-363的存储器被指派给这三个分区中的每一个。这些例子中,存储器360-363可以是双列直插存储器模块(DIMM)的形式。DIMM一般不是以单个DIMM的形式被指派给分区。而是分区可以得到平台所能看到的所有存储器的一部分。例如,处理器301、本地存储器360-363中的一部分存储器和I/O适配器320、328和329可以被指派给逻辑分区P1;处理器302-303、本地存储器360-363中的一部分存储器和PCI I/O适配器321和326可以被指派给逻辑分区P2;处理器304、本地存储器360-363中的一部分存储器、图形适配器348和硬盘适配器349可以被指派给逻辑分区P3。
运行在数据处理系统300内的每个操作系统被指派给不同的逻辑分区。这样,运行在数据处理系统300内的每个操作系统只能够访问在其逻辑分区内的那些I/O单元。因此,例如高级交互执行(AIX)操作系统的一个实例可以在分区P1内执行,AIX操作系统的第二实例(图像)可以在分区P2内执行,而Linux或OS/400操作系统可以在逻辑分区P3内运行。
连接到I/O总线312的外设互连(PCI)主桥314提供了到PCI本地总线315的接口。多个PCI输入/输出适配器320-321可以通过PCI到PCI桥316、PCI总线318、PCI总线319、I/O槽370和I/O槽371连接到PCI总线315。PCI到PCI桥316提供了到PCI总线318和PCI总线119的接口。PCI I/O适配器320和321分别放置于I/O槽370和371中。典型的PCI总线实现能支持4个到8个I/O适配器(也就是内插连接器的扩展槽)。每个PCI I/O适配器320-321提供了数据处理系统300和输入/输出设备之间的接口,输入/输出设备例如是作为数据处理系统300的客户端的其它网络计算机。
附加的PCI主机桥322为附加PCI总线323提供了接口。PCI总线323连接到多个PCI I/O适配器328-329。PCI I/O适配器328-329可以通过PCI到PCI桥324、PCI总线326、PCI总线327、I/O槽372以及I/O槽373连接到PCI总线323。PCI到PCI桥324提供了到PCI总线326和PCI总线327的接口。PCI I/O适配器328和329分别放置在I/O槽372和373中。通过这种方式,附加I/O设备——例如调制解调器或网络适配器可以通过每个PCI I/O适配器328-329来支持。通过这种方式,数据处理系统300允许连接到多个网络计算机。
与插入I/O槽374的图形适配器348对应的存储器可以通过PCI总线344、PCI到PCI桥342、PCI总线341和PCI主机桥340连接到I/O总线312。硬盘适配器349可以放置于连接到PCI总线345的I/O槽375。PCI总线345连接到PCI到PCI桥342,该桥通过PCI总线341连接到PCI主机桥340。
PCI主机桥330为PCI总线331提供了连接到I/O总线312的接口。PCI I/O适配器336连接到I/O槽376,该槽通过PCI总线333连接到PCI到PCI桥332。PCI到PCI桥332连接到PCI总线331。该PCI总线还将PCI主机桥330连接到业务处理器信箱接口和ISA总线访问通过逻辑394以及PCI到PCI桥332。业务处理器信箱接口和ISA总线访问通过逻辑394转发通往PCI/ISA桥393的PCI访问。NVRAM存储器392连接到ISA总线396。业务处理器335通过其本地PCI总线395连接到业务处理器信箱接口和ISA总线访问通过逻辑394。业务处理器335还通过多个JTAG/I2C总线334连接到处理器301-304。JTAG/I2C总线334是JTAG/扫描总线(参见IEEE 1149.1)和飞利浦I2C总线的组合。但是,JTAG/I2C总线334可以替换成只有飞利浦I2C总线,或者只有JTAG/扫描总线。所有主处理器301、302、303和304的SP-ATTN信号一起连接到业务处理器的中断输入信号。业务处理器335有它自己的本地存储器391,并能够访问硬件OP面板390。
当数据处理系统300最初启动时,业务处理器335利用JTAG/I2C总线334来询问系统(主机)处理器301-304、存储控制器/缓存308和I/O总线桥310。在完成该步骤之后,业务处理器335对数据处理系统300有了存量和拓扑的理解。业务处理器335还对通过询问主机处理器301-304、存储控制器/缓存308和I/O总线桥310发现的所有部件执行内置自测试(BIST)、基本保障测试(BAT)和存储测试。业务处理器335收集并报告在BIST、BAT和存储测试中检测到的故障的所有差错信息。
如果在移去BIST、BAT和存储测试中发现的故障部件之后,仍然可以进行系统资源有意义/有效的配置,那么允许数据处理系统300继续向本地(主机)存储器360-363装入可执行代码。业务处理器335随后释放主机处理器301-304,用于执行本地存储器360-363中装入的代码。在主机处理器301-304执行来自数据处理系统300的各个操作系统中的代码时,业务处理器335进入监控和差错报告模式。业务处理器335所监控的项的类型包括,例如冷却风扇速度和操作、热传感器和电源调整器,以及处理器301-304、本地存储器360-363和I/O总线桥310所报告的可恢复和不可恢复差错。
业务处理器335负责存储和报告与数据处理系统300中所有监控项相关的差错信息。业务处理器335还基于差错类型和定义的阈值来采取相应行动。例如,业务处理器335可能注意到处理器缓存中可恢复差错过多,并确定这是重大故障的前兆。基于这种判断,业务处理器335可能对该资源进行标记,用于在当前正在运行的会话和将来初始程序装入(IPL)的过程中退出配置。
数据处理系统300可以利用各种商用计算机系统来实现。例如,数据处理系统300可以采用国际商业机器公司的IBM eServer iSeries模型840系统来实现。这种系统可以利用OS/400操作系统来支持逻辑分区,OS/400操作系统也可从国际商业机器公司得到。
本领域一般技术人员能够理解,图3中的硬件可以有所变化。例如,除了所示硬件,也可以采用其它外设,例如光盘驱动器和类似设备,或者用其它外设来取代所示硬件。所示例子并不意味着提出针对本发明的体系结构的限制。
本发明为可重启的后崩溃分析环境提供了一种方法、装置和计算机指令。本发明的机制提供了数据处理系统中进行分析所需的处理和带宽资源。发生崩溃的同一数据处理系统用于完成这种分析。
本发明的机制通过利用数据处理系统中的存储器保留功能,保留待进行分析的存储器的那些部分,从而能够将跟踪数据保留在存储器中。然后数据处理系统利用数据处理系统中剩余的存储器,以适于分析跟踪数据的环境重启。通过这种方式,能够得到较大量的处理能力和带宽资源。使用这种机制,对超过100千兆字节的跟踪数据的交互查询只需要几分钟,而不是几小时。这种机制还无需在收集和/或预选需要分析的部分跟踪数据的过程中对跟踪数据进行严格的筛选。
下面参看图4,该图示出了按照本发明的一种优选实施方式,分析跟踪数据所用的部件。操作系统400用于程序402的测试阶段。跟踪数据404在程序402执行过程中被收集并存储。如果数据处理系统发生了崩溃,当数据处理系统重启时,跟踪数据404被保留在存储器中。
在这些说明性的例子中,跟踪数据所在的存储器被设置进入自定时刷新状态。更为确切地讲,动态随机访问存储器(DRAM)被置于这样一种状态,其中DRAM负责保留其内容,而不需要来自存储控制器的明确指令。数据处理系统以操作系统406代替操作系统400重启。操作系统406用于提供一种更适于分析程序408分析跟踪数据的环境。
Linux是可用于进行分析的操作系统的一个例子。或者可以采用任何应用,只要该应用适合所要进行的调试的需要。此外,并不需要使用完全的操作系统(OS)。可以采用任何调试环境或者特定代码。调试工具可以设计成利用多个处理器进行搜索并筛选该存储器,其中多个处理器用于并行搜索跟踪数据的不同范围,以发现选定的模式。
现在参看图5,其按照本发明的一种优选实施方式示出跟踪数据的保留。在该例中,跟踪数据500位于存储器502中。如果发生崩溃,跟踪数据500所在的存储器502的部分被设置进入自定时刷新状态,以保留该数据。在这些例子中,启动处理504设置存储器502进入该状态。存储器502也可以由业务控制器设置进入该状态。这样,存储器502保留跟踪数据500。数据的保留可以通过存储控制器506的接口,例如联合测试行动组(JTAG)接口来设置。
现在参看图6,示出按照本发明的一种优选实施方式提供后崩溃分析环境的处理的流程图。图6所示处理可以在数据处理系统,例如图2的数据处理系统200中实现。具体来说,该处理可以被设置进入启动处理,例如图5的启动处理504。
该处理开始于识别包含了跟踪数据的存储器(步骤600)。这种识别可以在跟踪数据被存储在存储器中,并将跟踪数据存入存储器中的识别位置之前进行。通过这种方式,执行程序或处理产生的跟踪数据可以存储在存储器中。之后,初始化并清除没有跟踪数据的存储器(步骤602)。装入分析跟踪数据的操作系统(步骤604)。然后启动跟踪数据的分析(步骤606),处理随后终止。
接下来参看图7,示出按照本发明的一种优选实施方式提供分析跟踪数据的环境的处理的流程图。图7所示处理可以在数据处理系统,例如图3的数据处理系统300中实现。该数据处理系统可以运行启动处理,例如图5的启动处理504。
该处理开始于检测需要分析跟踪数据的情况(步骤700)。作为检测到该情况的响应,从产生跟踪数据的原始分区中移走存有跟踪数据的存储器(步骤702)。通过从原始分区列表中移走包含跟踪数据的地址来移走该存储器。该存储器被指派给新的分区(步骤704)。通过在新分区中增加包含跟踪数据的地址范围来将存储器指派给新的分区。之后,在新分区中启动跟踪数据的分析(步骤706),处理随后终止。
接下来参看图8,示出了按照本发明的一种优选实施方式,设置保留跟踪数据的存储器的处理的流程图。图8中给出的处理可以在各种部件——例如业务控制器中实现或在启动代码中实现。启动代码中实现的步骤可以在图5的启动处理504中实现。
该处理开始于初始化存储控制器(步骤800)。随后初始化DRAM(步骤802)。初始化DRAM以实现启动,包括设置SDRAM模式寄存器和设置缓存行大小。此外,在启动DRAM的步骤中,进行存储组预加电,并且以特定的有规律的间隔启动存储器更新。随后清除并初始化存储器(步骤804)。之后进行诊断存储器测试(步骤806)。该步骤是这些例子中的可选步骤。步骤800到808可以由业务控制器或启动代码来执行。业务控制器是例如数据处理系统之外的业务处理器。
接着,初始化I/O子系统(步骤808)。随后装入操作系统(步骤810)。然后开始操作系统的执行(步骤812)。随后得到资源列表并初始化资源列表(步骤814)。该资源列表包括例如I/O资源和有效存储范围。此外,本发明的机制包括新的资源列表,例如指定在程序执行过程中保留跟踪数据的存储器组。之后,调用一个子程序来指定资源列表中确定的存储器中的缓冲器,用来保留跟踪数据。激活钩子(hook),将可能的相关数据存储到该缓冲器中。这些钩子可以通过子程序调用(步骤816)激活。接着,处理检测到某个情况(步骤818)。确定该情况是不是感兴趣的差错,这种差错需要重启数据处理系统(步骤820)。该差错可以是软件或硬件检测出来的差错。如果没有检测到差错,处理返回到步骤818。否则,被识别出包含跟踪数据的存储器被设置进入自定时刷新模式(步骤822),随后处理终止。
步骤808到812由启动代码执行。在这些例子中,步骤814到822由操作系统执行。该跟踪处理基于发现的资源指定缓存并激活钩子,例如子过程调用,来存储可能的相关数据。该处理用于将数据存储在出现系统崩溃时保留的存储器部分中。
现在参看图9,示出按照本发明的一种优选实施方式,在系统崩溃之后重启数据处理系统的处理的流程图。在感兴趣的情况发生例如硬件或软件检测到差错之后,重启系统时,包含跟踪数据的存储器被设置进入刷新模式,如图8中步骤822。这是一种自定时刷新模式,其导致SDRAM启动维持其状态所需的刷新周期,而不是等待定期刷新命令。
之后,该系统被重置,其存储器保持加电状态(步骤900)。存储控制器然后重启,指定的存储器组已经处于刷新模式(步骤902)。其余的存储器组正常初始化(步骤904)。进行诊断存储器测试(步骤906)。在这些例子中,该步骤是可选的。所有存储器被设置进入正常的刷新状态(步骤908)。存储控制器指令自定时刷新模式下的存储器组退出该模式,返回到正常的刷新状态。I/O子系统被初始化(步骤910),装入调试环境(步骤912)。在这些例子中,该调试环境是另一种操作系统。
任何调试代码都可以装入,以生成用于分析跟踪数据的环境。例如,可以采用一个独立的搜索程序,搜索特定情况的跟踪数据,并打印出它的发现。
该环境随后被初始化,而不重写跟踪数据(步骤914)。这一步骤通过使用如下资源列表来完成,该资源列表包含有存储跟踪数据的地址。包含跟踪数据的存储器被视为保留存储器。存储器的其它部分被重写和清除。随后开始调试环境的执行(步骤916)。然后对调试分析进行初始化(步骤918),之后处理终止。
步骤900到906可以由业务控制器或者启动代码来完成。步骤908由存储控制器通过启动代码的指令来完成。步骤910到916由启动代码来完成,步骤914和918可以通过启动代码或操作系统来初始化。
根据实现的不同,存储控制器可以连接到设计为存储系统行为的专用硬件,而不象图8步骤814那样,将跟踪数据的存储器置于列表中。通过这样的实现,业务控制器对跟踪数据收集硬件进行启动和停止操作,指令存储控制器设置SDRAM进入自定时刷新。通过这种方式,系统可以重启,将包含跟踪数据的存储控制器映射到系统地址,而不是作为普通存储器列入调试操作系统中。
因此,本发明为可重启后崩溃分析环境提供了一种改进的方法、装置和计算机指令。本发明的机制在发生崩溃的数据处理系统的存储器中保留了跟踪数据。数据处理系统随后以一种不同的环境——例如更适合分析跟踪数据的操作系统重启。之后,利用系统资源对跟踪数据进行分析。通过这种方式,跟踪数据的处理可以得到较大量的带宽和处理能力,减少了分析该数据所需的时间量。
注意到以下这一点很重要,即本发明虽然针对全功能的数据处理系统的环境进行了描述,但本领域一般技术人员能够理解,本发明的处理能够以指令的计算机可读介质的形式,以及多种其它形式分发,并且不管实际用于实现分发的信号承载介质的特定类型是什么,本发明都一样适用。计算机可读介质的例子包括可记录类型介质以及传输类型介质,可记录类型介质例如软盘、硬盘驱动器、RAM、CD-ROM、DVD-ROM,传输类型介质例如数字和模拟通信链路、采用例如射频和光波传输的传输形式的有线或无线通信链路。计算机可读介质可以采用编码格式,经解码后才在特定数据处理系统中实际使用。
本发明的描述只是用于说明和描述目的,并不是穷举性的,也不是将本发明限于所公开的形式。对本领域一般技术人员而言,显然可以有许多修改和变化。实施方式的选择和描述只是为了最好地解释本发明的原理和实际应用,为了让本领域中其他的一般技术人员能够了解本发明的各种实施方式具有适于所设想的特定用途的各种修改。
Claims (25)
1.一种数据处理系统中用于对从所述数据处理系统的崩溃得到的数据进行分析的方法,该方法包括:
响应于所述数据处理系统的所述崩溃,保留所述数据处理系统中的部分存储器;以及
以适于分析所述部分存储器中的数据的环境,重启所述数据处理系统。
2.根据权利要求1的方法,还包括:
分析所述部分存储器中的跟踪数据。
3.根据权利要求2的方法,其中利用所述数据处理系统中的剩余存储器来执行所述分析步骤。
4.根据权利要求1的方法,其中所述保留步骤包括:
设置所述部分存储器进入自定时刷新模式;以及
保持向所述部分存储器加电。
5.根据权利要求1的方法,其中所述数据处理系统是逻辑分区数据处理系统,它具有多个分区,其中所述保留步骤包括:
从所述多个分区中的第一分区移走部分存储器,形成移走的存储器;以及
将所述移走的存储器指派给所述多个分区的第二分区,其中所述第二分区包含适于分析跟踪数据的环境。
6.根据权利要求1的方法,其中所述重启步骤包括:
在所述数据处理系统中装入调试环境;以及
在所述调试环境中初始化资源,而不重写所述部分存储器。
7.根据权利要求6的方法,其中所述初始化步骤利用资源列表避免重写所述部分存储器,在前述资源列表中所述部分存储器被视为保留的存储器。
8.根据权利要求1的方法,其中所述环境是操作系统。
9.一种用于对从数据处理系统的崩溃得到的数据进行分析的数据处理系统,该数据处理系统包括:
总线系统;
连接到所述总线系统的通信单元;
连接到所述总线系统的存储器,其中所述存储器包括一组指令;以及
连接到所述总线系统的处理单元,其中响应于所述数据处理系统的所述崩溃,所述处理单元执行所述的一组指令,以保留所述数据处理系统中的部分存储器,并以适于分析所述部分存储器中数据的环境重启该数据处理系统。
10.一种用于对从数据处理系统的崩溃得到的数据进行分析的数据处理系统,该数据处理系统包括:
保留装置,用于响应于所述数据处理系统的所述崩溃,保留所述数据处理系统中的部分存储器;以及
重启装置,用于以适于分析所述部分存储器中的跟踪数据的环境,重启所述数据处理系统。
11.根据权利要求10的数据处理系统,还包括:
分析装置,用于分析所述部分存储器中的跟踪数据。
12.根据权利要求11的数据处理系统,其中所述分析装置利用所述数据处理系统中的剩余存储器来操作。
13.根据权利要求10的数据处理系统,其中该保留装置包括:
设置装置,用于设置所述部分存储器进入自定时刷新模式;以及
保持装置,用于保持向所述部分存储器加电。
14.根据权利要求10的数据处理系统,其中所述数据处理系统是逻辑分区数据处理系统,它具有多个分区,其中所述保留装置包括:
移走装置,用于从所述多个分区中的第一分区移走部分存储器,形成移走的存储器;以及
指派装置,用于将所述移走的存储器指派给所述多个分区的第二分区,其中所述第二分区包含适于分析跟踪数据的环境。
15.根据权利要求10的数据处理系统,其中所述重启装置包括:
装入装置,用于在所述数据处理系统中装入调试环境;以及
初始化装置,用于在所述调试环境中初始化资源,而不重写所述部分存储器。
16.根据权利要求15的数据处理系统,其中所述初始化装置利用资源列表避免重写所述部分存储器,在前述资源列表中所述部分存储器被视为保留的存储器。
17.根据权利要求10的数据处理系统,其中所述环境是操作系统。
18.一种用于对从数据处理系统的崩溃得到的数据进行分析的的计算机可读介质中的计算机程序产品,该计算机程序产品包括:
第一指令集,用于响应于所述数据处理系统的所述崩溃,保留所述数据处理系统中的部分存储器;以及
第二指令集,用于以适于分析所述部分存储器中的数据的环境,重启所述数据处理系统。
19.根据权利要求18的计算机程序产品,还包括:
第三指令集,用于分析所述部分存储器中的跟踪数据。
20.根据权利要求19的计算机程序产品,其中所述第三指令集使用所述数据处理系统中的剩余存储器。
21.根据权利要求18的计算机程序产品,其中所述第一指令集包括:
第一子指令集,用于设置所述部分存储器进入自定时刷新模式;以及
第二子指令集,用于保持向所述部分存储器加电。
22.根据权利要求18的计算机程序产品,其中所述数据处理系统是逻辑分区数据处理系统,它具有多个分区,其中所述第一指令集包括:
第一子指令集,用于从所述多个分区中的第一分区移走部分存储器,形成移走的存储器;以及
第二子指令集,用于将所述移走的存储器指派给所述多个分区的第二分区,其中所述第二分区包含适于分析跟踪数据的环境。
23.根据权利要求18的计算机程序产品,其中所述第二指令集包括:
第一子指令集,用于在所述数据处理系统中装入调试环境;以及
第二子指令集,用于在所述调试环境中初始化资源,而不重写所述部分存储器。
24.根据权利要求23的计算机程序产品,其中所述第三子指令集利用资源列表避免重写所述部分存储器,在前述资源列表中所述部分存储器被视为保留的存储器。
25.根据权利要求18的计算机程序产品,其中所述环境是操作系统。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/912,503 US7346809B2 (en) | 2004-08-05 | 2004-08-05 | Bootable post crash analysis environment |
US10/912,503 | 2004-08-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1731368A true CN1731368A (zh) | 2006-02-08 |
CN100388231C CN100388231C (zh) | 2008-05-14 |
Family
ID=35758905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100771005A Expired - Fee Related CN100388231C (zh) | 2004-08-05 | 2005-06-15 | 分析从崩溃得到的数据的方法和数据处理系统 |
Country Status (3)
Country | Link |
---|---|
US (2) | US7346809B2 (zh) |
CN (1) | CN100388231C (zh) |
TW (1) | TWI355585B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102306119A (zh) * | 2011-06-30 | 2012-01-04 | 北京新媒传信科技有限公司 | 捕获全局异常的系统及方法 |
CN106294108A (zh) * | 2015-05-27 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 应用程序测试方法及装置 |
CN107729170A (zh) * | 2017-09-29 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种hba卡生成转存文件的方法及装置 |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7346809B2 (en) * | 2004-08-05 | 2008-03-18 | International Business Machines Corporation | Bootable post crash analysis environment |
US7533254B2 (en) * | 2004-10-29 | 2009-05-12 | Finisar Corporation | Volatile memory persistence during warm reboot in an optical transceiver |
US7555677B1 (en) * | 2005-04-22 | 2009-06-30 | Sun Microsystems, Inc. | System and method for diagnostic test innovation |
US20060256726A1 (en) * | 2005-05-10 | 2006-11-16 | Jennings Lynn M | Systems and methods for viewing data in a trace buffer |
TWI297433B (en) * | 2006-01-12 | 2008-06-01 | Quanta Comp Inc | Pci-e debug card |
US7818616B2 (en) * | 2007-07-25 | 2010-10-19 | Cisco Technology, Inc. | Warm reboot enabled kernel dumper |
GB2455537A (en) * | 2007-12-12 | 2009-06-17 | Symbian Software Ltd | Recording information relevant to exceptions |
US7818622B2 (en) * | 2008-04-29 | 2010-10-19 | International Business Machines Corporation | Method for recovering data processing system failures |
KR101658485B1 (ko) * | 2009-06-18 | 2016-09-22 | 삼성전자주식회사 | 휴대용 단말기에서 디버깅을 위한 부팅 방법 및 장치 |
US8738937B2 (en) * | 2010-07-13 | 2014-05-27 | Intel Corporation | Method and apparatus to limit memory power |
US8954546B2 (en) | 2013-01-25 | 2015-02-10 | Concurix Corporation | Tracing with a workload distributor |
US9256969B2 (en) | 2013-02-01 | 2016-02-09 | Microsoft Technology Licensing, Llc | Transformation function insertion for dynamically displayed tracer data |
US9323863B2 (en) | 2013-02-01 | 2016-04-26 | Microsoft Technology Licensing, Llc | Highlighting of time series data on force directed graph |
US9021447B2 (en) | 2013-02-12 | 2015-04-28 | Concurix Corporation | Application tracing by distributed objectives |
US8843901B2 (en) | 2013-02-12 | 2014-09-23 | Concurix Corporation | Cost analysis for selecting trace objectives |
US20130283281A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Deploying Trace Objectives using Cost Analyses |
US8997063B2 (en) | 2013-02-12 | 2015-03-31 | Concurix Corporation | Periodicity optimization in an automated tracing system |
US8924941B2 (en) | 2013-02-12 | 2014-12-30 | Concurix Corporation | Optimization analysis using similar frequencies |
US20130219372A1 (en) | 2013-03-15 | 2013-08-22 | Concurix Corporation | Runtime Settings Derived from Relationships Identified in Tracer Data |
US9575874B2 (en) | 2013-04-20 | 2017-02-21 | Microsoft Technology Licensing, Llc | Error list and bug report analysis for configuring an application tracer |
US9734040B2 (en) | 2013-05-21 | 2017-08-15 | Microsoft Technology Licensing, Llc | Animated highlights in a graph representing an application |
US8990777B2 (en) | 2013-05-21 | 2015-03-24 | Concurix Corporation | Interactive graph for navigating and monitoring execution of application code |
US9280841B2 (en) | 2013-07-24 | 2016-03-08 | Microsoft Technology Licensing, Llc | Event chain visualization of performance data |
US9292415B2 (en) | 2013-09-04 | 2016-03-22 | Microsoft Technology Licensing, Llc | Module specific tracing in a shared module environment |
CN105765528B (zh) | 2013-11-13 | 2019-09-24 | 微软技术许可有限责任公司 | 具有可配置原点定义的应用执行路径跟踪的方法、系统和介质 |
EP3069267A4 (en) | 2013-11-13 | 2017-09-27 | Microsoft Technology Licensing, LLC | Software component recommendation based on multiple trace runs |
US9262274B2 (en) * | 2013-12-24 | 2016-02-16 | International Business Machines Corporation | Persistent data across reboots |
US10146657B2 (en) * | 2014-03-26 | 2018-12-04 | Intel Corporation | Initialization trace of a computing device |
US9852172B2 (en) | 2014-09-17 | 2017-12-26 | Oracle International Corporation | Facilitating handling of crashes in concurrent execution environments of server systems while processing user queries for data retrieval |
GB2541454B (en) * | 2015-08-21 | 2021-10-13 | Siemens Ind Software Inc | Tracing interconnect circuitry |
US12099739B2 (en) * | 2020-07-28 | 2024-09-24 | International Business Machines Corporation | Trace data protection |
TWI798680B (zh) * | 2021-04-14 | 2023-04-11 | 群聯電子股份有限公司 | 主機記憶體緩衝區管理方法、記憶體儲存裝置與記憶體控制電路單元 |
CN112965670B (zh) * | 2021-04-22 | 2023-08-01 | 群联电子股份有限公司 | 主机存储器缓冲区管理方法、存储装置与控制电路单元 |
US20240192847A1 (en) * | 2022-12-09 | 2024-06-13 | Dell Products L.P. | Data storage placement system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4521847A (en) * | 1982-09-21 | 1985-06-04 | Xerox Corporation | Control system job recovery after a malfunction |
IN169637B (zh) * | 1987-07-01 | 1991-11-23 | Digital Equipment Corp | |
US6035420A (en) * | 1997-10-01 | 2000-03-07 | Micron Electronics, Inc. | Method of performing an extensive diagnostic test in conjunction with a bios test routine |
US6314532B1 (en) * | 1998-12-04 | 2001-11-06 | Lucent Technologies Inc. | Method and system for recovering from a software failure |
US6543010B1 (en) * | 1999-02-24 | 2003-04-01 | Hewlett-Packard Development Company, L.P. | Method and apparatus for accelerating a memory dump |
US6493837B1 (en) * | 1999-07-16 | 2002-12-10 | Microsoft Corporation | Using log buffers to trace an event in a computer system |
US6728907B1 (en) * | 2000-04-14 | 2004-04-27 | Microsoft Corporation | System and method for self-diagnosing system crashes |
US6738928B1 (en) * | 2000-06-19 | 2004-05-18 | Hewlett-Packard Development Company, L.P. | Method and expert system for analysis of crash dumps |
US6910160B2 (en) * | 2002-01-10 | 2005-06-21 | International Business Machines Corporation | System, method, and computer program product for preserving trace data after partition crash in logically partitioned systems |
US7346809B2 (en) * | 2004-08-05 | 2008-03-18 | International Business Machines Corporation | Bootable post crash analysis environment |
-
2004
- 2004-08-05 US US10/912,503 patent/US7346809B2/en not_active Expired - Fee Related
-
2005
- 2005-06-15 CN CNB2005100771005A patent/CN100388231C/zh not_active Expired - Fee Related
- 2005-08-02 TW TW094126217A patent/TWI355585B/zh not_active IP Right Cessation
-
2008
- 2008-01-02 US US11/968,274 patent/US7805636B2/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102306119A (zh) * | 2011-06-30 | 2012-01-04 | 北京新媒传信科技有限公司 | 捕获全局异常的系统及方法 |
CN106294108A (zh) * | 2015-05-27 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 应用程序测试方法及装置 |
CN106294108B (zh) * | 2015-05-27 | 2020-04-28 | 腾讯科技(深圳)有限公司 | 应用程序测试方法及装置 |
CN107729170A (zh) * | 2017-09-29 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种hba卡生成转存文件的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
TW200627153A (en) | 2006-08-01 |
US20060031717A1 (en) | 2006-02-09 |
US20080104451A1 (en) | 2008-05-01 |
US7346809B2 (en) | 2008-03-18 |
CN100388231C (zh) | 2008-05-14 |
TWI355585B (en) | 2012-01-01 |
US7805636B2 (en) | 2010-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100388231C (zh) | 分析从崩溃得到的数据的方法和数据处理系统 | |
US7900011B2 (en) | Apparatus, system, and method for improving system performance in a large memory heap environment | |
JP5579354B2 (ja) | 関連アプリケーションに対するトラック・データ・クロスリファレンスを保存する方法及び装置 | |
CN1181435C (zh) | 通过资源恢复得到系统最优可用性的方法和系统 | |
US8407515B2 (en) | Partition transparent memory error handling in a logically partitioned computer system with mirrored memory | |
EP1668509B1 (en) | Method and apparatus for monitoring and resetting a co-processor | |
JP3910554B2 (ja) | 論理パーティション・データ処理システムでのエラーまたはイベントを処理する方法、コンピュータ・プログラム、データ処理システム | |
US6934879B2 (en) | Method and apparatus for backing up and restoring data from nonvolatile memory | |
US8190946B2 (en) | Fault detecting method and information processing apparatus | |
CN1940884A (zh) | 计算机系统、计算机网络及其方法 | |
JP2004220582A (ja) | 論理環境においてエラーログを報告するための方法および装置 | |
US20080263309A1 (en) | Creating a Physical Trace from a Virtual Trace | |
US8255639B2 (en) | Partition transparent correctable error handling in a logically partitioned computer system | |
WO2013080288A1 (ja) | メモリ縮退方法及び情報処理装置 | |
CN103034577B (zh) | 一种定位关机慢的方法及装置 | |
US7200772B2 (en) | Methods and apparatus to reinitiate failed processors in multiple-processor systems | |
US20100085871A1 (en) | Resource leak recovery in a multi-node computer system | |
US7954012B2 (en) | Hierarchical debug information collection | |
US8537662B2 (en) | Global detection of resource leaks in a multi-node computer system | |
US8336055B2 (en) | Determining the status of virtual storage in the first memory within the first operating system and reserving resources for use by augmenting operating system | |
CN112068980B (zh) | 采样cpu挂死前信息的方法和装置、设备和存储介质 | |
CN117312113A (zh) | 一种性能检测方法、装置、电子设备及存储介质 | |
CN1707683A (zh) | 硬盘状态监测方法 | |
US20150121151A1 (en) | Information processing apparatus and information collection method | |
JP2006092055A (ja) | 計算機システム |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080514 |
|
CF01 | Termination of patent right due to non-payment of annual fee |