CN1752936A - 将进程删除错误引向应用程序 - Google Patents

将进程删除错误引向应用程序 Download PDF

Info

Publication number
CN1752936A
CN1752936A CNA200510106411XA CN200510106411A CN1752936A CN 1752936 A CN1752936 A CN 1752936A CN A200510106411X A CNA200510106411X A CN A200510106411XA CN 200510106411 A CN200510106411 A CN 200510106411A CN 1752936 A CN1752936 A CN 1752936A
Authority
CN
China
Prior art keywords
application layer
mistake
error
processor
unit
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
CNA200510106411XA
Other languages
English (en)
Other versions
CN100419695C (zh
Inventor
S·慕克吉
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN1752936A publication Critical patent/CN1752936A/zh
Application granted granted Critical
Publication of CN100419695C publication Critical patent/CN100419695C/zh
Expired - Fee Related 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • 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/0793Remedial or corrective actions
    • 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/0715Error 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 system implementing multitasking

Abstract

一种处理器包括进程标识符单元,用于将进程标识符分配给处理器执行的一个或多个进程。处理器还包括错误检测器,用于检测处理器中的错误,以及错误记入单元,用于记入与检测出的错误相关联的进程标识符和错误信息。

Description

将进程删除错误引向应用程序
背景
本发明的实施例一般涉及处理处理器中的错误。
来自瞬时故障的单个比特翻转或错误是微处理器设计中的关键挑战。该故障源于来自宇宙射线的高能粒子—诸如中子和来自封装材料的阿尔法粒子—当它们经过半导体器件时产生电子—空穴对。晶体管源和扩散节点可收集这些电荷。足够量的累积电荷会改变逻辑装置的状态—诸如静态随机存取存储器(SRAM)单元、锁存器或门电路—从而将逻辑错误引入电子电路的运作中。因为这种错误不反映器件的永久性故障,所以其被称作软错误或瞬时错误。
随着片载晶体管的数量持续增加,软错误已变成微处理器设计者的增加的负担。对于接着的几个技术代来说,每个锁存或SRAM比特的原始错误率可设计成粗略地保持恒定或者稍许减少。因此,除非添加错误保护机制或使用更鲁棒的技术(诸如完全耗尽硅上绝缘体),在每个后续代中,微处理器的软错误率会按添加到半导体器件上的器件数量成比例地增加。
可以根据其影响和检测及对其校正的能力将比特错误分类。某些位错误可以被分类成“良性错误”,因为它们不被读取、不要紧或者可以在使用它们之前将其纠正。多数隐伏形式的错误是静数据破坏,其中错误不被检测且使得系统产生错误输出。为了避免静数据破坏,设计者常采用错误检测机制,诸如奇偶。错误纠正技术还可用于修复检测出的错误,尽管这种技术不能在所有情况下应用。检测错误但不纠正之的能力可避免生成不正确输出(通过在产生不正确输出前关闭受影响的进程),但它不能提供机制用于在出现这种错误时恢复和继续执行受影响的进程。这类错误被称作检测出的不可恢复错误(DUE,或DUE错误,或DUE事件)。
可根据DUE错误是否导致操作系统和/或另一种机制删除受错误影响的一个或多个用户进程或者DUE错误是否导致使整个机器(包括所有进程)崩溃而将DUE错误进一步细分,以避免数据破坏。第一种可以称作“进程删除DUE”错误。第二种可以称作“系统删除DUE”错误。进程删除DUE优于系统删除DUE,因为进程删除DUE允许系统继续运行和服务不受错误影响的进程。
为了解决瞬时故障引起的软错误,微处理器设计者可包括各种错误保护特点。可使用的保护特点的实例是奇偶、纠错码(ECC)、循环冗余校验(CRC)、锁定步进、辐射固化单元和硅上绝缘体制造技术。
错误保护特点也可包含于软件中。某些软件程序可涉及极其复杂的计算,即使在最快的可用计算机上也要运行几周或几个月。为了减少硬件错误的影响(可能使程序或整个系统崩溃),某些程序可执行错误恢复技术,诸如应用层检查点,以便在完成最终计算前倘若程序或系统崩溃的情况下避免丢失其所有中间计算。检查点可加入应用程序或进程,从而程序周期性地保存其状态。随后,如果诸如进程删除DUE的错误导致应用程序或进程被删除、停止或关闭时,可通过从检查点重启该应用程序或进程的执行而进行恢复。
在遇到进程删除DUE错误时,常规计算机系统向操作系统通知:没有别的选择只能删除受错误影响的程序。不幸地,常规计算机系统不向硬件错误(诸如进程删除DUE)提供引回到应用层进程,以允许应用程序触发或处理其自己的恢复。因此,当应用程序崩溃时,会损失宝贵的计算时间以等待用户干预和重启程序。
因此,需要将进程删除错误引向应用程序。
附图说明
通过附图中的实例而非限制说明本发明的各种实施例,其中相似标号表示相似元件。
图1A是根据本发明一个实施例的错误检测和记入单元的框图。
图1B是根据本发明一个实施例的系统和应用层错误处理单元的框图。
图1C是根据本发明一个实施例的应用层错误处理单元的框图。
图1D是说明根据本发明一个实施例的应用层错误处理方法的流程图。
图2是说明根据本发明一个实施例的错误处理方法的流程图。
图3是可使用本发明实施例的计算机系统的框图。
具体实施方式
描述了用于将过程删除错误引向应用程序的方法、装置和系统。在以下描述中,为了说明,阐述了许多具体细节,以提高本发明实施例的透彻理解。但本领域熟练技术人员显见的是:可以在没有这些具体细节的情况下事实本发明的实施例。在其它情况中,结构和装置按框图形式示出以避免使本发明实施例模糊。
说明书中对“一个实施例”或“一实施例”的引用表示结合实施例描述的特定特点、结构或特征包含于本发明的至少一个实施例中。说明书中各处短语“在一个实施例中”的出现不必都涉及相同的实施例。
现在参考图1A,其示出了根据本发明一个实施例的错误检测和记入(posting)单元100的框图。错误检测和记入单元100可包括错误检测单元102来检测处理器中的硬件错误,诸如软或瞬时错误。在一个实施例中,错误检测单元102可包括在处理器的各部分中的奇偶校验器。在一个实施例中,错误检测单元102可包括处理器中的各种错误检测机制。
操作系统可将进程标识符分配给处理器或由处理器执行的程序。在一个实施例中,与进程或程序有关的处理器中的每个地址可具有相同的进程标识符。错误检测和记入单元100可包括进程标识符(ID)单元103,以使进程标识符与处理器中的某些或所有硬件单元相关联。在一个实施例中,进程ID单元103使进程标识符与进程或程序执行中涉及的每个处理器硬件单元相关联。在一个实施例中,进程ID单元103使进程标识符与进程或程序执行中涉及的每个处理器硬件单元相关联并使进程标识符与同进程或程序相关的处理器中的每个地址相关联。例如,进程标识符可与地址一起存储于处理器的存储缓冲器、合并缓冲器和转换缓冲器。存储缓冲器可用于保存由处理器推测地将被执行的存储指令。合并缓冲器可用于将对高速缓存的多个写入收集成单个高速缓存块,随后将一个或多个高速缓存块写到高速缓存,而非分开写入各个数据字。转换缓冲器可用于处理器中,以便将虚拟地址转换成物理地址。存储与处理器中的地址相关的进程标识符可允许检测错误与它们的相应进程或程序相关。
仍参考图1A,在一个实施例中,分配的进程标识符可连同它们所分配的每个地址一起流过处理器,以使与程序或进程相关的处理器中的每个地址都伴随有进程标识符。当错误检测单元102检测出错误时,相关进程标识符可用于确定哪个程序或进程与该错误相关。识别由错误影响的应用程序或进程可允许仅删除应用程序或进程(例如,进程删除DUE,代替系统删除DUE),且根据本发明的实施例还可用于调用或触发应用层错误恢复机制。
错误检测和记入单元100可包括错误记入单元104,以便存储与检测出的错误相关联的记入的进程标识符(ID)106和记入的错误信息108。在一个实施例中,记入的错误信息108可包括与每个检测错误相关联的错误类型。在一个实施例中,记入的错误信息108可包括与每个检测错误相关联的地址。在一个实施例中,记入的错误信息108可包括关于每个检测错误在处理器中哪里出现(例如哪个处理器结构或单元)的信息。记入的错误信息108可包括与识别、分析和/或处理检测错误有关的其它类型的信息。
仍参考图1A,在一个实施例中,错误记入单元104记入(或使之可用)记入的进程ID 106和相关记入的错误信息108,从而处理器中的其它错误单元可确定何时检测出错误以及与检测出的错误相关的进程。在一个实施例中,错误记入单元104可使记入的进程ID 106和相关记入的错误信息108分别在信号112和116上可用。在一个实施例中,通过发出一读取信号110,记入的进程ID 106和有关记入的错误信息108可从错误记入单元104读取。在一个实施例中,错误记入单元104可生成错误标记114,以便提供一标记或警告,表示在错误记入单元104中记入了一个或多个检测错误。
在一个实施例中,图1A的错误检测和记入单元100可与图1B所示的系统和应用层错误处理单元140组合。
现在参考图1B,示出了根据本发明一个实施例的系统和应用层错误处理单元140的框图。系统和应用层错误处理单元140可包括系统层错误单元120和应用层单元150。系统层错误单元120可从错误记入单元104分别经由信号112、116和114接收记入的进程ID 106、相关记入的错误信息108和错误标记114。在一个实施例中,在声明错误标记114时,系统层错误单元120可读取(通过发出读取信号110)记入的进程ID 106和有关记入的错误信息108。
在一个实施例中,系统层错误单元120可基于记入的进程ID 106和相关记入的错误信息108确定记入的错误是否与应用程序或进程有关,如果是,则将记入的进程ID 106和相关记入的错误信息108在信号124上转发到应用层单元150。在一个实施例中,如果确定检测出的错误与系统层进程相关联或者出于某些原因应在系统层被处理,则系统层错误单元120可生成系统层错误中断122。
仍参考图1B,应用层单元150可包括应用层错误单元130和应用层中断处理机134。应用层错误单元130可基于转发的记入进程ID 106和相关的记入错误信息108确定哪个应用程序或进程与检测出的错误有关以及应如何处理该错误。例如,应用层错误单元130可确定应用程序是否具有其自己的错误恢复算法(诸如应用层检查点),是否应使用一般应用层错误处理器,和/或是否需要删除应用程序。在一个实施例中,应用层错误单元130可生成应用层错误中断132,以触发应用层中断处理机134,从而执行合适的错误恢复和对与检测出的错误相关联的应用程序或进程的处理。
在一个实施例中,应用层中断处理机134可用是同与错误相关的应用程序相关联的应用层错误处理机。在一个实施例中,通过基于应用层检查点启动恢复和重新运行操作,应用层中断处理机134可启动或触发由错误影响的应用的恢复。在一个实施例中,应用层中断处理机134向操作系统登记。
在一个实施例中,图1A的错误检测和记入单元100可与图1C所示的应用层单元150组合。
现在参考图1C,记入的进程ID 106、相关记入的错误信息108和错误标记114可分别经由信号112、116和114直接提供给应用层错误单元130,而非从系统层错误单元120转发,如图1B所示。例如,当较少剧烈的错误处理措施可能时,可以这么作以防止系统层错误单元10不必要地删除应用程序或使系统崩溃。例如,系统层错误单元120和其它系统层错误机制会不知不觉地关闭具有检查点和重启能力的应用程序或者在应用层恢复是可能的情况下使系统崩溃。
现在参考图1D,示出了说明根据本发明一个实施例的应用层错误处理方法160的流程图。该方法包括用于程序(诸如应用程序或进程)的轮询机制,以确定检测出的错误何时与该程序相关联。该方法从应用程序的启动(框162)和应用程序的执行(框164)开始。例如,用户可以在计算机系统上启动复杂计算天气预报程序的执行。
应用程序可周期性地轮询记入的错误信息(框166)并确定任何检测出的错误是否与应用程序相关联(菱形168)。在一个实施例中,应用程序可通过将记入的进程ID 106(图1A的)与应用程序的分配进程标识符进行比较来确定任何记入的错误是否与应用程序相关联。在一个实施例中,记入的进程ID 106和相关记入的错误信息108可存入错误记入单元104并由应用程序通过发出读取信号110(图1A)读取。在一个实施例中,应用程序可在消逝时间后周期性地进行轮询。在一个实施例中,应用程序可在所有存储或未高速缓存负载指令之前进行轮询,以防止静(silent)数据破坏泄漏。
如果轮询没有识别出与应用程序相关联的错误(菱形168),则该方法可返回到应用程序的正常执行(框164)。如果轮询识别出与应用程序相关联的错误(菱形168),则它可启动应用层错误处理机(框170)。在一个实施例中,应用层错误处理机(框170)可具有检查点和重启算法,且应用程序可在检查点处重启应用(框172)并从这点继续程序的执行(框164)。在一个实施例中,应用层错误处理机(框170)可防止应用程序在检查点处重启应用(框172)之前被删除、停止或关闭。按此方式,通过具有进程删除DUE错误的硬件引导到应用程序的错误恢复例程,应用程序能触发其自己的恢复。
现在参考图2,示出了说明根据本发明一个实施例的错误处理方法200的流程图。该方法通过检测处理器中的错误(框202),诸如软或瞬时硬件错误,随后确定检测出的错误是否是可纠正的(菱形204)而开始。如果是,则通过诸如ECC的纠错机制或算法纠正错误(框206)。如果检测出的错误是不可纠正的,则进程标识符和与错误相关联的错误信息被记入或者使其在系统中可用(框208)。可生成错误标记(框210),以便提供关于检测出的错误的警报。在一个实施例中,错误标记可使系统层和/或应用层错误单元评估所记入的错误。
仍参考图2,可分析记入的错误信息,以确定在应用层(例如,通过应用层错误处理机制)还是在系统层(例如,通过操作系统或其它系统层错误处理机制)处理检测出的错误(菱形212)。通过生成系统层错误中断(框214)并启动系统层错误处理机(框216)在系统层处理检测出的错误。通过生成应用层错误中断(框218)并启动应用层错误处理器(框220)在应用层处理检测出的错误。如果包含于应用中,则可启动应用层错误恢复例程来恢复与检测出的错误有关的应用(框222)。例如,应用的检查点和重启能力可用于重启应用的检查点。在一个实施例中,应用层错误处理器(框220)和/或应用层恢复例程(框222)可防止由硬件错误(诸如进程删除DUE错误)破坏的应用被删除。在一个实施例中,应用层错误处理机(框220)和/或应用层恢复例程(框222)可允许由硬件错误(诸如进程删除DUE错误)破坏的应用经由应用层恢复例程触发其自己的恢复。
可用在逻辑电路、状态机、微码或其组合中实现实施例。可用代码实现实施例,且其可以存储于存有指令的存储媒介上,可用于编程计算机系统以执行所述指令。存储媒介可包括,但不限于,任何类型的盘,包括软盘、光盘、紧致盘只读存储器(CD-ROM)、可重写紧致盘(CD-RW)和磁光盘,诸如只读存储器(ROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、可擦可编程只读存储器(EPROM)、闪存、电可擦可编程只读存储器(EEPROM)、磁或光卡的半导体器件或者适于存储电子指令的任何类型的媒体。
实例性实施例可以合适的计算机系统执行的软件形式实现,所述计算机系统配置有硬件装置的合适组合。图3是可使用本发明实施例的计算机系统的框图。
现在参考图3,示出了可使用本发明实施例的计算机系统300的框图。在一个实施例中,计算机系统300包括处理器310,它可包括通用或专用处理器,诸如微处理器、微控制器、可编程门阵列(PGA)等。如这里所使用的,术语“计算机系统”可表示任何类型的基于处理器的系统,诸如台式计算机、服务器计算机、膝上计算机等,或者其它类型的主机系统。
处理器310可包括错误单元312,它可根据本发明的各种实施例来实现。错误单元312提供了将进程删除错误引向应用程序的能力。在一个实施例中,如果应用层错误可由应用层错误恢复机制或算法处理,则将进程删除错误引向应用程序可防止相关进程被删除。
在一个实施例中,处理器310可在主机总线315上耦合到存储器集线器330,它可以经由存储器总线325耦合到系统存储器320(例如,动态RAM)。存储器集线器330还可在高级图形接口(AGP)总线333上耦合到视频控制器335,它可耦合到显示器337。AGP总线333可符合Intel Corporation,Santa Clara,California于1998年5月4日出版的Accelerated Graphics Port InterfaceSpecification,Revision 2.0。
存储器集线器330还可耦合(经由集线器链接338)到输入/输出(I/O)集线器340,其耦合到输入/输出(I/O)扩展总线342和外围部件互连(PCI)总线344,如1995年6月的PCI Local Bus Specification,Production Version,Revision2.1所定义的。I/O扩展总线342可耦合到I/O控制器346,它控制对一个或多个I/O设备的访问。如图3所示,在一个实施例中,这些装置可包括诸如软盘驱动器350的存储装置和诸如键盘352和鼠标354的输入装置。I/O集线器340例如还可耦合到硬盘驱动器356和紧致盘(CD)驱动器358,如图3所示。可以理解,其它存储媒介也可包含在系统中。
PCI总线344还可耦合到各种组件,例如包括与网络端口(未示出)耦合的网络控制器360。附加装置也可耦合到I/O扩展总线342和PCI总线344,诸如与并行端口、串行端口、非易失性存储器等耦合的输入/输出控制电路。
因此,描述了用于将进程删除错误引向应用程序的方法、装置和系统。虽然相对于有限数量的实施例描述了本发明,但在揭示内容的帮助下本领域的熟练技术人员可以理解许多修改和变型。所附权利要求书旨在覆盖落在本发明的真实精神和范围内的这种修改和变型。

Claims (30)

1.一种装置,其特征在于,包括:
进程标识符单元,用于使一个或多个进程标识符与由处理器执行的一个或多个相应进程相关联;
错误检测器,用于在处理器中检测错误,包括第一错误,其中第一错误与第一进程和第一进程标识符相关联;以及
错误记入单元,用于记入与检测出的错误相关联的进程标识符和错误信息,包括与第一错误相关联的第一进程标识符和第一错误信息。
2.如权利要求1所述的装置,其特征在于,处理器标识符单元用于使进程标识符与同进程相关的处理器中的地址相关联,从而处理器中检测出的错误具有相关联的进程标识符。
3.如权利要求1所述的装置,其特征在于,进一步包括应用层错误单元,用于在第一进程是应用层进程的情况下产生应用层中断。
4.如权利要求3所述的装置,其特征在于,进一步包括与应用层进程相关联的应用层中断处理机,用于响应于应用层中断在应用层处理第一错误。
5.如权利要求4所述的装置,其特征在于,应用层中断处理机用于在没有用户干预的情况下在检查点处重启应用层进程。
6.如权利要求1所述的装置,其特征在于,进一步包括系统层错误单元,用于响应于第一错误生成系统层中断或者在第一进程是应用层进程的情况下将第一错误信息转发到应用层错误单元,所述应用层错误单元用于生成应用层中断。
7.如权利要求6所述的装置,其特征在于,进一步包括:
系统层中断处理机,用于响应于系统层中断在系统层处理第一错误;以及
与应用层进程相关联的应用层中断处理机,用于响应于应用层中断在应用层处理第一错误。
8.如权利要求7所述的装置,其特征在于,应用层中断处理机用于在没有用户干预的情况下在检查点处重启应用层进程。
9.如权利要求1所述的装置,其特征在于,进一步包括:
轮询单元,用于轮询错误记入单元以确定一个或多个记入的进程标识符是否与应用层进程相关联;以及
与应用层进程相关联的应用层错误处理机,用于在第一进程标识符与应用层进程相关联的情况下在应用层处理第一错误。
10.如权利要求9所述的装置,其特征在于,应用层错误处理机用于在没有用户干预的情况下在检查点重启第一进程。
11.一种方法,其特征在于,包括:
使一个或多个进程标识符与处理器执行的一个或多个相应进程相关联;
在处理器中检测错误,包括第一错误,其中第一错误与第一进程以及相应的第一进程标识符相关联;以及
记入与检测出的错误相关联的进程标识符和错误信息,包括与第一错误相关联的第一进程标识符和第一错误信息。
12.如权利要求11所述的方法,其特征在于,进一步包括使进程标识符与同进程相关联的处理器中的地址相关联,从而处理器中检测出的错误具有相关联的进程标识符。
13.如权利要求11所述的方法,其特征在于,进一步包括:如果第一进程是应用层进程,则生成应用层中断。
14.如权利要求13所述的方法,其特征在于,进一步包括响应于应用层中断在应用层处理第一错误。
15.如权利要求14所述的方法,其特征在于,进一步包括在没有用户干预的情况下在检查点处重启应用层进程。
16.如权利要求11所述的方法,其特征在于,进一步包括响应于第一错误生成系统层中断或者在第一进程是应用层进程的情况下将第一错误信息转发到应用层错误单元,应用层错误单元生成应用层中断。
17.如权利要求16所述的方法,其特征在于,进一步包括:
响应于系统层中断,在系统层处理第一错误;以及
响应于应用层中断,在应用层处理第一错误。
18.如权利要求17所述的方法,其特征在于,进一步包括在没有用户干预的情况下在检查点处重启应用层进程。
19.如权利要求11所述的方法,其特征在于,进一步包括:
轮询记入的进程标识符以确定是否一个或多个记入的进程标识符与应用层进程相关联;以及
如果第一进程标识符与应用层进程相关联,则在应用层处理第一错误。
20.如权利要求19所述的方法,其特征在于,进一步包括在没有用户干预的情况下在检查点处重启第一进程。
21.一种方法,其特征在于,包括:
使进程标识符与同处理器执行的进程相对应的处理器中的每个地址相关联;
在处理器中检查错误,包括第一错误,其中第一错误与第一进程和相应的第一进程标识符相关联;
生成与检测出的错误相关联的错误信息,包括与第一错误相关联的第一错误信息;以及
基于进程标识符和相关联的错误信息,确定是用系统层错误处理机还是应用层错误处理机处理检测出的错误。
22.如权利要求21所述的方法,其特征在于,进一步包括:
如果第一进程标识符与应用层进程相关联,则用应用层错误处理机处理第一错误;以及
如果第一进程标识符不与应用层进程相关联,则用系统层错误处理机处理第一错误。
23.如权利要求21所述的方法,其特征在于,进一步包括:如果第一进程是应用层进程,则在没有用户干预的情况下在检查点处重启第一进程。
24.一种系统,其特征在于,包括:
处理器,用于执行一个或多个进程;
动态随机存取系统存储器,它被耦合成存储由处理器使用的指令;
进程标识符单元,用于使一个或多个相应进程标识符与一个或多个进程相关联;
错误检测器,用于在处理器中检测错误,包括第一错误,其中第一错误与第一进程和第一进程标识符相关联;以及
错误记入单元,用于记入与检测出的错误相关联的进程标识符和错误信息,包括与第一错误相关联的第一进程标识符和第一错误信息。
25.如权利要求24所述的系统,其特征在于,处理器标识符单元用于使进程标识符与同进程相关联的处理器中的地址相关联,从而处理器中检测出的错误具有相关联的进程标识符。
26.如权利要求24所述的系统,其特征在于,进一步包括应用层错误单元,用于在第一进程是应用层进程的情况下产生应用层中断。
27.如权利要求24所述的系统,其特征在于,进一步包括系统层错误单元,用于响应于第一错误生成系统层中断或者在第一进程是应用层进程的情况下将第一错误信息转发到应用层错误单元,所述应用层错误单元用于生成应用层中断。
28.一种包括含有指令的机器可访问媒介的制品,所述指令在被执行时,使得系统:
轮询处理器中与检测出的错误相对应的进程标识符,以确定是否一个或多个进程标识符与应用层进程相关联;以及
如果相应的第一进程标识符与应用层进程相关联,则在应用层处理第一检测出的错误。
29.如权利要求28所述的制品,其特征在于,进一步包括指令,其在被执行时使得系统保存应用层进程的状态。
30.如权利要求29所述的制品,其特征在于,进一步包括指令,其在被执行时使得系统在没有用户干预的情况下恢复应用层进程的保存状态。
CNB200510106411XA 2004-09-23 2005-09-23 将进程删除错误引向应用程序 Expired - Fee Related CN100419695C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/947,961 2004-09-23
US10/947,961 US7373558B2 (en) 2004-09-23 2004-09-23 Vectoring process-kill errors to an application program

Publications (2)

Publication Number Publication Date
CN1752936A true CN1752936A (zh) 2006-03-29
CN100419695C CN100419695C (zh) 2008-09-17

Family

ID=36127093

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200510106411XA Expired - Fee Related CN100419695C (zh) 2004-09-23 2005-09-23 将进程删除错误引向应用程序

Country Status (4)

Country Link
US (1) US7373558B2 (zh)
KR (1) KR100898650B1 (zh)
CN (1) CN100419695C (zh)
TW (1) TWI307014B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092715A (zh) * 2012-08-06 2013-05-08 新游游戏株式会社 处理程序错误的方法和执行该方法的服务器
CN104685474A (zh) * 2012-09-25 2015-06-03 惠普发展公司,有限责任合伙企业 包括不可纠正的错误的地址范围的通知

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7380169B2 (en) * 2004-09-24 2008-05-27 Intel Corporation Converting merge buffer system-kill errors to process-kill errors
US7370231B2 (en) * 2004-12-14 2008-05-06 Intel Corporation Method of handling errors
JP2006285453A (ja) * 2005-03-31 2006-10-19 Oki Electric Ind Co Ltd 情報処理装置、情報処理方法、および情報処理プログラム
US20060248069A1 (en) * 2005-04-18 2006-11-02 Research In Motion Limited Method and system for implementing customizable container services as component wireless applications
WO2007018651A1 (en) * 2005-08-05 2007-02-15 Honeywell International, Inc. Method for redunancy management of distributed and recoverable digital control system
US7853825B2 (en) * 2005-08-16 2010-12-14 Hewlett-Packard Development Company, L.P. Methods and apparatus for recovering from fatal errors in a system
US7818610B2 (en) * 2007-09-27 2010-10-19 Microsoft Corporation Rapid crash recovery for flash storage
JP5173495B2 (ja) * 2008-03-03 2013-04-03 キヤノン株式会社 情報処理装置、ジョブ処理方法、プログラム
KR101363414B1 (ko) * 2008-07-03 2014-02-14 삼성전자 주식회사 컴퓨터 시스템 및 그 제어방법
JP5595149B2 (ja) * 2010-07-05 2014-09-24 キヤノン株式会社 文書管理システム、画像処理装置、それらの制御方法及びプログラム
JP5880687B2 (ja) * 2012-03-27 2016-03-09 富士通株式会社 データ処理装置およびデータ処理方法
US10514867B2 (en) 2016-11-10 2019-12-24 Western Digital Technologies, Inc. System and methodology that facilitates error management within a shared non-volatile memory architecture
US10216571B2 (en) * 2016-11-10 2019-02-26 Western Digital Technologies, Inc. System and methodology for error management within a shared non-volatile memory architecture using bloom filters
CN113515317A (zh) * 2020-03-25 2021-10-19 华为技术有限公司 数据恢复的方法、装置
US11249872B1 (en) * 2020-06-26 2022-02-15 Xilinx, Inc. Governor circuit for system-on-chip

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4538265A (en) * 1983-03-24 1985-08-27 International Business Machines Corporation Method and apparatus for instruction parity error recovery
JPH0833833B2 (ja) * 1988-11-04 1996-03-29 富士通株式会社 オペレーティングシステムにおけるプロセス消滅方式
KR0164412B1 (ko) * 1995-07-25 1999-01-15 김광호 복수의 응용 프로세스 관리 방법
US5784394A (en) * 1996-11-15 1998-07-21 International Business Machines Corporation Method and system for implementing parity error recovery schemes in a data processing system
JP3253883B2 (ja) * 1997-01-31 2002-02-04 株式会社東芝 プロセスリスタート方法及びプロセス監視装置
DE19827430C2 (de) * 1997-07-22 2001-07-12 Siemens Ag Überwachungsverfahren zur Erkennung von Endlosschleifen und blockierten Prozessen in einem Rechnersystem
DE19827431C2 (de) * 1997-07-22 2000-12-07 Siemens Ag Verfahren zur Fehlererkennung in einem Prozessorsystem
US6016542A (en) * 1997-12-31 2000-01-18 Intel Corporation Detecting long latency pipeline stalls for thread switching
US6247118B1 (en) * 1998-06-05 2001-06-12 Mcdonnell Douglas Corporation Systems and methods for transient error recovery in reduced instruction set computer processors via instruction retry
KR20010064807A (ko) * 1999-12-18 2001-07-11 이계철 프로세스 동적 제어 장치 및 그 방법
US6567935B1 (en) * 1999-12-22 2003-05-20 Qwest Communications International Inc. Performance linking methodologies
KR20010064236A (ko) * 1999-12-27 2001-07-09 오길록 객체지향 칠의 프로세스 클래스 정의 사용에 대한 오류탐지 방법
US6622260B1 (en) * 1999-12-30 2003-09-16 Suresh Marisetty System abstraction layer, processor abstraction layer, and operating system error handling
US6745322B1 (en) * 2000-02-18 2004-06-01 Hewlett-Packard Development Company, Lp. Apparatus and method for conditionally flushing a pipeline upon a failure of a test condition
US6745346B2 (en) * 2000-12-08 2004-06-01 Intel Corporation Method for efficiently identifying errant processes in a computer system by the operating system (OS) for error containment and error recovery
US6708284B2 (en) * 2001-03-30 2004-03-16 Intel Corporation Method and apparatus for improving reliability in microprocessors
US7114104B1 (en) * 2003-02-11 2006-09-26 Compuware Corporation System and method of fault detection in a Unix environment
US7380169B2 (en) * 2004-09-24 2008-05-27 Intel Corporation Converting merge buffer system-kill errors to process-kill errors

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092715A (zh) * 2012-08-06 2013-05-08 新游游戏株式会社 处理程序错误的方法和执行该方法的服务器
CN104685474A (zh) * 2012-09-25 2015-06-03 惠普发展公司,有限责任合伙企业 包括不可纠正的错误的地址范围的通知
US9804917B2 (en) 2012-09-25 2017-10-31 Hewlett Packard Enterprise Development Lp Notification of address range including non-correctable error
CN104685474B (zh) * 2012-09-25 2018-04-20 慧与发展有限责任合伙企业 用于处理不可纠正的内存错误的方法及非瞬态处理器可读介质

Also Published As

Publication number Publication date
US7373558B2 (en) 2008-05-13
US20060075300A1 (en) 2006-04-06
TW200630787A (en) 2006-09-01
CN100419695C (zh) 2008-09-17
TWI307014B (en) 2009-03-01
KR20060051514A (ko) 2006-05-19
KR100898650B1 (ko) 2009-05-22

Similar Documents

Publication Publication Date Title
CN100419695C (zh) 将进程删除错误引向应用程序
CN100383746C (zh) 将合并缓冲器的系统删除差错转换成进程删除差错
Mukherjee et al. Cache scrubbing in microprocessors: Myth or necessity?
US7610523B1 (en) Method and template for physical-memory allocation for implementing an in-system memory test
US8572441B2 (en) Maximizing encodings of version control bits for memory corruption detection
US20060156177A1 (en) Method and apparatus for recovering from soft errors in register files
US10262754B2 (en) Fine grained online remapping to handle memory errors
KR20130033416A (ko) 메모리의 세그먼트들을 보호하기 위한 방법 및 장치
CN112053737B (zh) 一种在线并行处理的软错误实时检错与恢复方法及系统
US9043683B2 (en) Error protection for integrated circuits
US9041428B2 (en) Placement of storage cells on an integrated circuit
WO2006065687A1 (en) Method of handling errors occuring during the execution of an error handler
US20140201606A1 (en) Error protection for a data bus
Radojkovic et al. Towards resilient EU HPC systems: A blueprint
Li et al. Improving scratch-pad memory reliability through compiler-guided data block duplication
Greenan et al. Reliability mechanisms for file systems using non-volatile memory as a metadata store
Balaji et al. Fault tolerance techniques for scalable computing
US20140201599A1 (en) Error protection for integrated circuits in an insensitive direction
Nguyen et al. OBET: On-the-fly byte-level error tracking for correcting and detecting faults in unreliable DRAM systems
US9135110B2 (en) Method and device for enhancing the reliability of a multiprocessor system by hybrid checkpointing
Zhou et al. Designing scrubbing strategy for memories suffering MCUs through the selection of optimal interleaving distance
Hunt et al. Exploiting spatial information in datasets to enable fault tolerant sparse matrix solvers
WO2017146721A1 (en) Fault isolation in transaction logs
Garg Soft error fault tolerant systems: cs456 survey
US9021328B2 (en) Shared error protection for register banks

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080917

Termination date: 20130923