CN101271417A - 修复数据处理***的方法、数据处理***及信息处置*** - Google Patents

修复数据处理***的方法、数据处理***及信息处置*** Download PDF

Info

Publication number
CN101271417A
CN101271417A CNA2008100830026A CN200810083002A CN101271417A CN 101271417 A CN101271417 A CN 101271417A CN A2008100830026 A CNA2008100830026 A CN A2008100830026A CN 200810083002 A CN200810083002 A CN 200810083002A CN 101271417 A CN101271417 A CN 101271417A
Authority
CN
China
Prior art keywords
processor
core
par
ticular
processor core
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
CNA2008100830026A
Other languages
English (en)
Other versions
CN101271417B (zh
Inventor
马克·D·麦克劳克林
迈克·C·杜龙
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 CN101271417A publication Critical patent/CN101271417A/zh
Application granted granted Critical
Publication of CN101271417B publication Critical patent/CN101271417B/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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2043Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space
    • 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
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

一种数据处理***,包括多个处理器,其中每个处理器具有多个处理器核心。来自特定处理器核心的核心检查停止指示与特定核心相关联的存储器阵列出现错误。响应于核心检查停止,***向另一个处理器核心转移该特定处理器核心的工作量。该***也从***的当前配置中删除该特定处理器核心。响应于核心检查停止与错误,如果错误是在与特定核心相关联的处理器存储器阵列中,***初始化该特定处理器核心。***随后尝试利用阵列内置自检(ABIST)电路校正错误。如果ABIST成功校正错误,特定处理器核心的初始化完成,且***将该特定处理器核心返回到当前处理器配置。然而,如果ABIST校正错误并不成功,则***将在未来使用中删除包含错误的处理器存储器阵列部分。

Description

修复数据处理***的方法、数据处理***及信息处置***
技术领域
在这里,本公开通常涉及数据处理***,更具体的说,涉及使用具有多处理器核心的处理器的数据处理***。
背景技术
现代的数据处理***通常使用处理器阵列,以形成获得高性能操作的处理器***。尽管在***组件中发生错误,但这些处理器***可包括高级特性,以增强***的可用性。一个这样的特性是例如处理器与存储器的***组件的“持久分配”(persistent deallocation)。持久分配提供了一种机制,使得在***组件经历不可恢复错误(unrecoverable error)之后将其标记为不可用。该特性阻止该被标记的组件包含在启动时间或初始化时的处理器***或数据处理***的配置中。例如,如果1)在***启动时间测试组件失败、2)在运行时间组件经历不可恢复的错误、或3)在运行时间组件超过可恢复错误的阈值,则处理器***中的服务处理器可包括标记组件为不可用的固件。
一些现代的处理器***使用例如处理器和存储器的***组件的“动态分配”(dynamic deallocation)。如果组件超过可恢复错误的预先确定的阈值,则该特性有效地在运行期间将组件从使用中移除。
高性能多处理器数据处理***可使用每个都含有例如L1和L2高速缓存的内部存储器阵列的处理器。如果这些缓存阵列之一出现可校正错误,则错误校正通常是可能的。例如,当处理器***在特定高速缓存阵列中检测到错误时,阵列内置自测(ABIST)可能检测到可修复的错误。一旦检测到所述错误,***可设置标记位,以指示ABIST在下一次启动时间运行,并尝试校正所述错误。不幸地,该方法并不处置不可校正错误,且典型地需要处理器***的重新启动,以发起ABIST错误校正尝试。
其它的方式也可用于在例如高速缓存的内部存储器阵列中校正错误的尝试。例如,如果从高速缓存中载入操作失败,并引起高速缓存错误,则处理器***可能多次重试载入操作。如果重试载入操作仍旧失败,则***可能从下一级高速缓冲存储器尝试相同的载入操作。在另一种方式中,处理器***可包括协助从高速缓存奇偶校验错误中恢复的软件。例如,在检测到缓存奇偶校验错误后,软件清理高速缓存,并与处理器同步。在刷新与同步操作之后,处理器***以尝试校正高速缓存错误执行高速缓存载入的重试。虽然该方法可能起作用,但是刷新高速缓存和再次同步耗费宝贵的处理器***时间,且并不能实际地修复缓存。
所需要的就是用于提出以上问题的处理器***修复的设备与方法。
发明内容
因此,在一个实施例中,公开一种方法,用于在***的运行时间期间修复数据处理***。该方法包括通过数据处理***的特定处理器核心在运行时间期间处理信息,以处置分配到特定处理器核心的工作量。数据处理***包括多个包含多处理器核心的处理器,所述特定处理器核心是该多处理器核心的一个处理器核心。该方法也包括通过核心错误处置器从特定处理器核心接收核心检查停止(checkstop),该核心检查停止指示特定处理器核心在运行时间的不可校正错误。该方法进一步包括通过核心错误处置器响应于核心检查停止,而将该特定处理器核心的工作量传输到***的另一个处理器核心,并移动该特定处理器核心离线。该方法还进一步包括如果特定处理器核心的处理器存储阵列展示在运行时间不可校正的错误,则通过服务处理器初始化特定处理器核心,并因此为特定处理器核心初始化启动时间。该方法还包括在特定处理器核心启动时间,通过服务处理器尝试校正错误。该方法进一步包括如果尝试步骤成功校正错误,则通过服务处理器将特定处理器核心移回到在线,使得特定处理器核心可再次在运行时间处理信息。
在另一个实施例中,公开一种多处理器数据处理***,其包括多个处理器,每个处理器包括多个处理器核心。该***包括耦接到多个处理器核心的服务处理器,以处置来自于多个处理器的***检查停止。该***还包括耦接到多个处理器核心的核心错误处置器,以处置来自于多个处理器的核心检查停止。核心错误处置器从特定处理器核心中接收核心检查停止。核心检查停止指示在特定处理器核心运行时间的不可校正错误。核心错误处置器向***的另一个处理器核心传输特定处理器核心的工作量,并响应于核心检查停止而移动该特定处理器核心离线。如果特定处理器核心的处理器存储器阵列展示在运行时间不可校正的错误,则所述服务处理器初始化特定处理器核心,因此为特定处理器核心初始化启动时间。在特定处理器核心的启动时间,服务处理器还尝试校正错误。如果在启动时间校正错误的尝试是成功的,则所述服务处理器随后将特定处理器核心移回到在线,使得在运行时间该特定处理器核心可再次处理信息。
附图说明
附图仅图解了本发明示范性的实施例,由于发明概念包括其它等同有效的实施例,因此其不限定本发明的范围。
图1示出所公开的多处理器数据处理***的框图。
图2示出所公开的数据处理***使用的具有代表性的多核处理器的框图。
图3示出所公开的数据处理***的可选的框图。
图4是示出当***遇到处理器核心检查停止时,所公开的数据处理***使用的错误校正方法中的处理流程的流程图。
图5是示出当***遇到***检查停止时,所公开的数据处理***使用的错误校正方法中的处理流程的流程图。
具体实施方式
术语处理器节点“热插拔”或处理器节点“并行维护”(concurrentmaintenance)描述无需打断操作***或在***的其它处理器节点上执行的软件,而从全功能数据处理***中添加或移除处理器节点的能力。处理器节点包括一个或多个处理器、存储器和I/O设备,它们通过公共构造而彼此相互连接。在Power6处理器架构的一个版本中,用户可在热插拔或并行维护操作中向数据处理***加入合计8个处理器节点。因此,热插拔能力允许用户服务或更新***,而无需本来由于***关机和重启而导致的代价高的停机时间。(Power6是IBM公司的商标)
一些已有的处理器节点热插拔的实现遵循以下三个高级步骤。首先,在通过添加或移除处理器节点而改变数据处理***配置之前,数据处理***暂时使***的所有节点之间的通信链接无效。第二,数据处理***将描述在添加或移除处理器节点之前的***配置的旧的配置设置切换到描述在添加或移除处理器节点之后的***配置的新的配置设置。第三,数据处理***初始化通信链接,以重新使能***中所有节点之间的通信流。上述三个步骤将在非常短的时间量内执行,因为如果处理器节点之间的通信路径对于传输数据在大量时间内不可用,则在***上运行的软件将挂起。
当数据处理***执行并行维护操作,以添加或移除包含多处理器的处理器节点时,数据处理***将可能经历故障的节点。当这样的故障节点问题出现时,重要的是***从这个问题中恢复。美国专利申请2006/0187818 A1中教导了一种从这样的故障节点情形中自动恢复的方法,其名称为“Method andApparatus For Automatic Recovery From A Failed Node Concurrent MaintenanceOperation”,于Fed.9,2005提出申请,在此通过引用其全文在此合并其公开内容,且其被受让给与本申请相同的受让人。
处理器备用(sparing)是从生成检查停止的处理器向备用处理器传输工作的一种方法。计算机***可包括多个处理单元,其中至少一个单元是备用的。处理器备用方法提供了一种机制,所述机制用于向备用处理器传送检查停止的处理器的微架构(micro-architected)状态。在名称为“Computer SystemWith Transparent Processor Sparing”的美国专利6,115,829和名称为“Transparent Processor Sparing”的美国专利6,289,112中描述了处理器备用和处理器检查停止,在此通过引用它们的全文在此合并二者的公开内容,且它们被受让给与本申请相同的受让人。
多处理器***可使用检查停止分级,其包括***检查停止、卷(book)检查停止和芯片检查停止。在这种方式中,多处理器***可包括多个卷,其中每个卷包括多个处理器,每个处理器位于相应的芯片上。如果***生成***检查停止,则当***尝试校正时,整个***停止正常的信息处理活动。如果处理器的特定卷生成卷检查停止,则当***尝试校正时,处理器的卷停止正常的信息处理活动。如果特定处理器或处理器芯片产生处理器芯片检查停止,则当***尝试校正时,所述处理器芯片停止正常信息处理活动。***检查停止、在Webel等的“Run-Control Migration From Single Book ToMultibooks”,IBM JRD,Vol.48,No.3/4May/July 2004中描述了卷检查停止和处理器芯片检查停止,在此通过引用其全文将其合并。
多处理器***可使用每个包含多个核心的处理器。如果多处理器***中双核心处理器的一个核心出现硬件逻辑错误,则包含该错误的核心的处理器生成检查停止。***随后将这两个核心的工作量传输给多处理器***中其它的备用核心。在Fair等的“Reliability,Availability,And Serviceability(RAS)ofthe IBM eServer z990”,IBM JRD Vol.48,No.3/4May/July 2004中描述了这样的安排,在此通过引用其全文将其合并。
Power6处理器架构包括在“每个核心”基础上进行并行维护或处理器备用的能力。如果与特定核心相关的存储器阵列显示有错误,则Power6多处理器***的处理器中的每个核心生成相应的“核心检查停止”,即,“本地检查停止”。内部核心错误、接口奇偶校验错误和逻辑错误也可导致核心检查停止。与典型的包括当***检查停止出现时使整个***停机的***检查停止不同的是,来自特定核心的核心检查停止可导致特定核心离线,而不影响***中其它核心的处理。换句话说,如果处理器核心展示引起例如“核心检查停止”的(多个)错误,则在允许剩余核心在其运行时间期间继续操作的同时,***可有效地断开所述处理器核心。核心检查停止中断在各自核心中的处理,且指示各自核心和关联的电路保存或冻结它们的状态。
图1示出包含具有核心检查停止能力的多处理器数据处理***105的信息处置***(IHS)100的框图。每个处理器包括多个处理器核心,以增强性能。当在特定处理器核心的存储器阵列中出现错误时,***105产生针对该特定核心的核心检查停止。在该描述中,术语“可校正错误”和“不可校正错误”(或UE)分别指在运行时间的错误可校正性和在运行时间的错误不可校正性。数据处理***105包括多核处理器(CPUs)111、112、113与114,其中以处理器111为代表。具有代表性的处理器111包括与剩余的处理器112、113和114相同的处理器核心C0和C1。在该特定实例中,处理器111、112和113包括2个核心,而处理器114包括4个核心,即核心C0、C1、C2和C3。所公开***的其它实例可使用包括比在该特定实例中示出的更多核心的处理器。所公开***的其它实例还可使用比在该实例中所示的更多或更少的处理器。处理器111、112、113和114包括相应的ABIST引擎115-1、115-2、115-3和115-4。在一个实施例中,处理器111、112、113和114包括相应的半导体芯片或裸片,其中每个芯片或裸片包括多个处理器核心。虽然为了说明图1示出在每个处理器中的ABIST引擎,但是在实际实践中,每个处理器核心可在该核心中包括相应的ABIST引擎。
每个处理器111、112、113和114包括存储器总线MEM,和输入/输出总线I/O。***105包括连接结构120,其将处理器111、112、113和114的存储器总线、MEM与I/O总线、I/O耦接到共享的***存储器125和I/O电路130。结构120提供在处理器111-114之间,以及***存储器125和I/O电路130的通信链路。总线135耦接到I/O电路130,以允许其它组件耦接到***105。例如,视频控制器140将显示器145耦接到总线135,以向用户显示信息。例如键盘和鼠标定位设备的I/O设备150耦接到总线135。网络接口155耦接到总线135,使得***105能够有线的或无线的连接到网络或其它信息处置***。例如硬盘驱动器、CD驱动器、DVD驱动器、介质驱动器或其它非易失性存储装置的非易失性存储装置160耦接到总线135,以向***105提供永久的信息存储。一个或多个操作***OS-A和OS-B,从存储装置160载入到存储器125,以管理***105的运行。存储装置160可存储多个软件应用162(APPLIC),以供***105执行。
服务处理器165耦接到JTAG总线167,以控制***活动,例如下面将详细描述的错误处置和***初始化或启动。JTAG总线167从服务处理器165通过处理器111、112、113和114循环,使得服务处理器165可与其核心通信。在一个实施例中,例如膝上型电脑、笔记本电脑或其它形式因素的计算机***的控制计算机***170耦接到服务处理器165。硬件管理控制台(HMC)应用175执行控制计算机***170,以提供允许用户通电或断电***105的接口。HMC应用175还允许用户在***105中安装并运行分区。在一个实施例中,一个分区对应于一个操作***实例,也就是每分区一个操作***。在如图1所示特定的实施例中,HMC 175将处理器111、112、113配置在两个分区中。更具体而言,HMC 175将处理器111和112配置在操作***OS-A在其上执行的分区180中。如图所示,HMC 175还将处理器113配置在操作***OS-B在其上执行的另一个分区185中。尽管其它的操作***也可使用,但是在一个实施例中,操作***OS-A可是AIX操作***,而操作***OS-B可是Linux操作***。保持处理器114为备用资源,HMC175可将所述处理器114配置在分区中,并在稍后使用。
图2描述***105中具有代表性的处理器(CPU)111。处理器111是包含2个核心的多核处理器,也就是核心C0和C1。核心C0和C1分别包括不可高速缓存单元NCU(0)和NCU(1)。NCU(0)和NCU(1)处理存储器映射的I/O指令,例如禁止高速缓存载入和存储指令。核心C0和C1还分别包括载入存储单元LSU(0)和LSU(1)。处理器111包括L1和L2高速缓冲存储器阵列L1(0)和L2(0),其与核心CO相关联,并向核心C0提供信息。处理器111还包括L1和L2高速缓冲存储器阵列L1(1)和L2(1),其与核心C1相关联,并向核心C1提供信息。处理器111进一步包括L2和L3高速缓存目录,L2DIR(0)和L3DIR(0)与核心C0相关联。处理器111还包括L2和L3高速缓存目录,L2DIR(1)和L3DIR(1)与核心C1相关联。这些高速缓存目录保持获知相应的高速缓存中数据的状态的标签,例如修改、共享和独占。***存储器125在处理器111-114的外部,而核心0的处理器存储器阵列,也就是L1(0)、L2(0)、L2DIR(0)和L3DIR(0),以及它们的核心1对应物,位于处理器111-114的内部。
图3是多处理器数据处理***105的可选框图表示。服务处理器165在控制计算机***170中的HMC175的控制下操作。尽管在图3中显示为分离块,管理程序(hypervisor)310是跨越在操作***105中所有处理器的控制软件或固件。管理程序310控制***105中处理器的分区,使得例如操作***OS-A在一个分区中运行,而操作***OS-B在另一个分区中运行。在HMC175和服务处理器165的指挥下,管理程序310可分配其它操作***OS-N,或者不同实例的OS-A和/或OS-B操作***,以保持未配置或备用的处理器,例如图1中的处理器114。在该表示中,物理处理器(CPUs)、***存储器和I/O电路总体结合在公共的CPU-存储器-I/O块305中,以指示CPU、存储器和I/O是管理程序310可分区和配置的资源。
例如在传统的多处理器数据处理***中的高速缓冲存储器的处理器存储器阵列中的不可校正错误,可引起检查停止,其停机处理器的全部分区。在***或分区重新启动,以及***“分离(gards out)”(也就是发生离线)或修复包含错误的处理器时,将引发停机时间。从当前处理器阵列中“分离(gardingout)”处理器的另一形式是从当前的处理器配置中去配置包含错误的处理器。为了避免来自产生错误处理器的未来错误,该处理器的分离(garding out)有效地将该处理器标记为损坏,使得***将来不使用该处理器。在图1中,当前配置包括分区180和185中的处理器,但是并不包括备用处理器114。管理程序310可区分处理器114,并稍后将处理器114包括在当前配置中。如果处理器114的核心稍后加入到管理程序310下的核心的当前配置中,则处理器114的处理器核心对于数据处理活动是可用的。
图1中的数据处理***提供允许单个处理器核心检查停止而无需使整个***停机的核心检查停止能力。在当前配置中,处理器111、112和113中的每个核心可产生相应的核心检查停止,也就是本地检查停止。管理程序310有效地耦接到当前配置中的处理器111、112和113的每个核心,以监视来自这些核心中任何一个的核心检查停止。当特定处理器核心的处理器存储器阵列包含错误时,核心检查停止可出现。例如,与图2中处理器111的处理器核心C0相关的处理器存储器阵列L1(0)、L2(0)、L2DIR(0)或L3(0)之一中的错误引起在处理器111的处理器核心C0中的核心检查停止。当出现这样的核心检查停止时,管理程序310将工作量由所述处理器核心C0移至备用处理器核心,例如图1处理器114中的核心之一。为了获得这样的工作量传输,***105使用所保存的检查点。所保存的检查点是适当起作用的处理器核心在其运行期间保存的那些检查点。所保存的检查点包括处理器核心的寄存器中的内容,以及处理器核心的流水线的状态。以此方式,当由于核心中的错误而发生核心检查停止时,***可传输该核心的工作量与所保存的停止点到另一个处理器核心进行处理。在完成从展示出错误的核心传输工作量以后,***105从当前配置中分离(gards out)或去配置该核心,而***剩下的核心继续在运行时间操作,而无需中断用户程序。换句话说,当管理程序310遇到来自处理器111的核心C0的核心检查停止时,管理程序310将该核心C0从可用于处理例如软件应用执行的数据处理活动的处理器核心的当前配置中删除。
所公开的多处理器数据处理***105可尝试从与处理器核心的当前配置中的每个特定核心相关的处理器存储器阵列之一中的错误恢复。处理器核心的当前配置是指当前在分区中且可用于例如软件应用执行的数据处理活动和操作***活动的那些处理器核心。因此,图1中所显示的当前配置包括处理器111、112和113中的处理器核心,而并不包括处理器114的备用处理器核心。
经历***105可使用所公开的方法尝试恢复的错误的处理器存储器阵列包括存储器阵列,例如处理器核心的当前配置中每个处理器核心的L1(0)、L2(0)、L2DIR(0)或L3(0)。在一个实施例中,每个处理器存储器阵列L1(0)、L2(0)、L2DIR(0)和L3(0)包括错误校验码(ECC)位,也就是冗余位,以通过位舵(bit steering)允许信息条目中的错误校正。作为具有代表性的实例,考虑到***105尝试从处理器111的L2(0)高速缓存阵列中的错误恢复的情形。当***105检测到处理器111的处理器核心C0的存储器阵列L2(0)中的错误时,这个事件引起处理器110的处理器核心C0产生核心检查停止,并重新初始化或重新启动处理器核心C0。在处理器111的处理器核心C0重新启动期间,***105中剩下的核心在运行时间继续操作。在处理器核心C0重新初始化之后,***105在失败组件上运行扩展的内置自检(ABIST),也就是在该特定实例中的处理器111的L2(0)缓冲存储器阵列。如图1所示,处理器111、112、113和114每个包括执行扩展的ABIST的相应的ABIST引擎115-1、115-2、115-3和115-4。该ABIST引擎与JTAG总线167相连接。在该实例中,当处理器111的处理器核心C0初始化或重新启动时间,服务处理器170中的服务处理器码(未示出)通过JTAG总线167将ABIST引擎115-1激活。该服务处理器码也检查在处理器111的处理器核心C0上运行所述扩展ABIST的结果。如果ABIST操作确定错误为可校正错误,例如通过冗余位的位舵可校正的错误,则ABIST在运行时间进行校正或修复。然而,如果ABIST不能发现错误,或发现没有备用位可用于校正,则ABIST去配置该L2(0)缓存或L2(0)缓存的包含错误的片段。换句话说,ABIST从可用于数据处理活动的处理器核心的当前配置中移除损坏的包含错误的L2(0)部分。服务处理器码或固件随后使用并行维护程序,以将该处理器核心带回到在线状态。服务处理器码或固件随后将该处理器核心重新整合到运行***,也就是处理器核心的当前配置中。当***105重新整合该经历错误的处理器核心回到***中时,该处理器核心将示出经修复的L2(0)存储器阵列或具有分离的(garded)存储器片段的L2(0)存储器阵列。***105执行这些错误处置操作,而无需在运行时间期间断并未展示处理器存储器阵列错误的剩下的处理器核心的***工作。
图4是描述在所公开的用于多处理器数据处理***的错误处置方法的一个实施例中的处理流程图。在图4流程图中,在开始运行时间操作之前,服务处理器165按照框400,进行启动时间的活动。更具体而言,在硬件管理控制台(HMC)175的指挥下,服务处理器165初始化或启动***105。服务处理器165为处理器和***105中的其它组件执行安装操作。在该启动时间和初始化时期间,服务处理器165初始化该***105的物理组件,并对这样的组件执行内置自检(BIST),以确保它们均运行正常。在安装和测试之后,服务处理器165向***存储器125载入管理程序310,也就是存在于物理处理器和操作***之间的软件层。管理程序310在运行时间操作,并获知例如处理器、存储器和I/O装置的分区资源的分离。管理程序310还存储存储器125的地址传输信息。管理程序310还按照框405建立并控制处理器111-114的处理器核心的分区,以建立处理器核心的当前配置。图3中,在操作***OS-A和OS-B下执行的应用程序必须通过管理程序310,以获得对物理CPU(处理器)、存储器和I/O的访问,图3中块305所示。
返回到图4中的流程图,当块400中的“启动时间”完成时,***105的处理器开始“运行时间”,在该运行时间期间,操作***运行,且在处理器上执行应用。当执行应用时,可校正错误或不可校正错误可在处理器核心或处理器中相关的存储器阵列中出现。根据框410,在该特定实例中例如单个位错误的可校正错误在处理器111的核心C0的缓冲存储器阵列L1(0)中发生。按照框415,高速缓冲存储器L1(0)自身检测可校正错误,并使用错误校验码(ECC)及时校正错误,而无需退出运行时间。如果错误在运行时间不是可校正的,则如图4所示,处理流程继续从块410流转到块420。
在一个实施例中,管理程序310用作核心错误处置器,以监视处理器的当前配置中的所有核心的不可校正错误。不可校正错误是在经历错误的核心的运行时间期间不可校正的错误。多位错误就是不可校正错误的一个实例。在该特定实例中,管理程序310在运行时间期间,从处理器111的核心C1按照框420检测核心检查停止。为了讨论的,缓冲存储器阵列L2(1)中的不可校正错误引起该不可校正错误,尽管不可校正错误也可出现在其它存储器阵列L1(1)、L2DIR(1)和L3DIR(1)。当核心C1检查停止出现时,如果该核心是可用的,管理程序310按照框425检测该本地检查停止,并准备将处理器111的核心C1的工作量移至另一个处理器核心,例如处理器113的核心C0。更详细的,来自处理器111的核心C1的核心检查停止引起核心C1冻结其状态。如上所陈述,处理器核心保存在处理器核心的正常操作期间的检查点。因此,该处理器核心的状态是可向另一可用处理器核心无缝传输,如果前一处理器核心遇到不可校正错误并产生检查停止。在该实例中,管理程序310随后使得处理器111的核心C1离线。换句话说,管理程序310按照框425分离该出现问题的核心C1,并将该核心C1从***105的当前配置中删除。在离线状态时,处理器111的核心C1并不产生更多的错误。在实际实践中,管理程序310可检测不可校正错误,并向服务处理器165报告该不可校正错误。管理程序310可检测处理器111的核心C1的本地检查停止,并采取行动分离该核心C1,以及从处理器的当前配置中删除核心C1。在这种情况下,管理程序是一种机制,其实际上将处理器111的核心C1之前所执行的工作量转移到例如处理器113的核心C0的另一个处理器核心。
按照判定块430,管理程序310确定不可校正错误(UE)是否在处理器存储器阵列中,所述处理器存储器阵列例如发出核心检查停止的处理器核心的高速缓冲存储器。换句话说,如果处理器111的核心C1管理检查,则判定块430确定该核心检查停止是否来自于处理器111的L1(1)、L2(1)、L2DIR(1)和L3DIR(1)的存储器阵列。如果不可校正错误来自这些处理器存储器阵列之一,则服务处理器165按照框435初始化或重新启动该出现问题的处理器111的处理器核心C1。服务处理器165具有通过JTAG总线165到出现核心检查停止的核心的低级访问,在本实例中也就是处理器111的核心C1,以使得服务处理器165能够重新初始化该核心。服务处理器165运行阵列内置自检(ABIST)固件,以尝试通过位舵校正在处理器存储器阵列中的错误。当前,处理器111的核心C1以启动时间运行,而***105的剩下的处理器核心继续在它们的运行时间期间处理应用。服务处理器165按照框440执行测试,以确定位舵是否成功尝试校正在出现问题的处理器存储器阵列中的错误。如果位舵在出现问题的核心1的运行时间期间成功的校正不可校正错误,则服务处理器165按照框445完成该处理器核心1的的重新初始化。响应于来自服务处理器165的命令,当***105为了数据处理活动而需要该核心1时,管理程序310将处理器111的核心C1重新整合到当前配置中。例如,该管理程序310将处理器111的核心C1置于具有其它为了数据处理活动准备的处理器核心的分区中。下一步,服务处理器165按照框450将新的资源通知管理程序310,也就是说处理器111的核心1是在运行时间准备作为***资源而使用的分区中。该错误处置过程随后终止于结束块455。在实际实践中,***105按照框410在运行时间继续利用管理程序310操作,以监视本地检查停止。
如果在启动时间,位舵校正以前在运行时间不可校正的错误并不成功,则服务处理器165按照块460分离出现问题的存储器阵列或者出现问题的存储器阵列包含错误的部分。还句话说,在该实例中,管理程序可拿走存储器阵列L2(1)包含错误的部分离线,以使得可不再产生错误。服务处理器165按照框445随后完成处理器111的核心1的初始化。处理器的核心1随后再次在运行时间可用,以处理数据处理任务。如果在判定块430中,管理程序发现该不可校正错误不起源于处理器存储器阵列,则该处理器核心错误处置处理终止于块455。再次,在实际实践中,管理程序按照框410继续寻找本地核心检查停止。
图5描述通过数据处理***105在***检查停止中处置的处理流程的流程图。如上所描述的,管理程序310处置核心检查停止。然而,服务处理器165处置***检查停止。***检查停止是主要的***事件,其需要***中的处理器停止运行,并重新初始化。由于这样的事件包括多于一个核心,所以引起***检查停止的这样的主要的***事件的实例是构造120中的不可校正错误(UE)。***105在运行时间按照框500操作。服务处理器165从处理器111-114监视***检查停止。如果服务处理器165不接收***检查停止,则服务处理器165按照判定块505继续监视***检查停止。然而,如果服务处理器165接收***检查停止,则服务处理器165按照框510执行校正动作。例如,一旦检测***检查停止,服务处理器通过读取***中所有处理器的错误寄存器(未示出)使问题局部化。服务处理器随后通过收集硬件扫描环数据,以及一些***存储器的预先定义内容而产生***堆。在该错误数据收集完成后,如果用户配置服务处理器165,则***105可自动重新载入初始程序(re-IPL)(initial program load)。在一个实施例中,服务处理器可选择地产生现场可替换部件(FRU)的插图编号,以使得服务技术员能够替换有缺陷部件。
对于本领域技术人员而言,参考本发明的描述而对本发明实施例的修改或选择将是显而易见的。因此,本描述教导那些本领域的技术人员执行本发明的方式,且意图仅为了说明而构造。所示和所描述的发明的形式组成当前实施例。本领域技术人员可在形状、大小和部件的安排上作出各种改变。例如,本领域技术人员可将此处所展示和描述的元件替换为相当的元件。此外,本领域技术人员在获得本发明的描述的优点之后,可能独立于其它特性,而使用本发明的某一特性,但这并不离开本发明的范围。

Claims (30)

1、一种在***运行时间期间修复数据处理***的方法,该方法包括:
通过所述数据处理***的特定处理器核心,在运行时间期间处理信息,以处理分配到特定处理器核心的工作量,其中数据处理***包括多个处理器,该多个处理器包括其特定处理器核心是一个处理器核心的多处理器核心;
通过核心错误处置器,接收来自特定处理器核心的核心检查停止,所述核心检查停止指示在特定处理器核心运行时间不可校正的错误;
核心错误处置器响应于核心检查停止,将该特定处理器核心的工作量传输到***的另一个处理器核心,并移动该特定处理器核心离线;
如果特定处理器核心的处理器存储器阵列展示出在运行时间不可校正的错误,则通过服务处理器,初始化该特定处理器核心,从而为该特定处理器核心初始化启动时间;
通过服务处理器,尝试在特定处理器核心的启动时间校正错误;以及
如果在校正错误中尝试步骤成功,则通过服务处理器,将该特定处理器核心移动回到在线,使得在运行时间特定处理器核心可再次处理信息。
2、如权利要求1所述的方法,其中除了所述特定处理器核心,***的处理器核心在初始化步骤和尝试步骤期间在运行时间继续操作。
3、如权利要求1所述的方法,其中尝试步骤包括位舵操作。
4、如权利要求1所述的方法,其中尝试步骤包括阵列内置自检(ABIST)操作。
5、如权利要求1所述的方法,进一步包括通过核心错误处置器确定错误是否来自所述特定处理器核心的处理器存储器阵列。
6、如权利要求5所述的方法,其中处理器存储器阵列是所述特定处理器核心的L1高速缓存阵列、L2高速缓存阵列和L3高速缓存阵列之一。
7、如权利要求5所述的方法,其中,如果尝试步骤不成功,则服务处理器去配置包含错误的处理器存储器阵列的部分。
8、如权利要求1所述的方法,其中核心错误处置器是管理程序。
9、如权利要求8所述的方法,进一步包括通过服务处理器从多个多核处理器之一接收***检查停止。
10、如权利要求9所述的方法,进一步包括响应于***检查停止,通过服务处理器重新初始化数据处理***。
11、一种多处理器数据处理***,包括:
多个处理器,每个处理器包括多个处理器核心;
服务处理器,耦接到所述多个处理器核心,以处置来自多个处理器的***检查停止;
核心错误处置器,耦接到所述多个处理器核心,以处置来自多个处理器核心的核心检查停止,其中所述核心错误处置器:
从特定处理器核心接收核心检查停止,所述核心检查停止指示在特定处理器核心运行时间不可校正的错误;
响应于核心管理检查点检查停止,向***的另一个处理器核心传输所述特定处理器核心的工作量,并移动特定处理器核心离线;
其中所述服务处理器:
如果特定处理器核心的处理器存储器阵列展示在运行时间不可校正的错误,则初始化该特定处理器核心,从而初始化该特定处理器核心的启动时间;
尝试在特定处理器核心启动时间校正错误;以及
如果尝试在启动时间校正错误成功,则将特定处理器核心移动到在线,使得在运行时间特定处理器核心可再次处理信息。
12、如权利要求11所述的多处理器数据处理***,其中,在服务处理器在启动时间尝试校正错误的同时,除了该特定处理器核心的***的处理器核心继续在运行时间操作。
13、如权利要求11所述的多处理器数据处理***,其中服务处理器执行位舵操作,以尝试特定处理器核心在启动时间校正错误。
14、如权利要求11所述的多处理器数据处理***,其中处理器核心包括在启动时间测试处理器核心的ABIST电路。
15、如权利要求11所述的多处理器数据处理***,其中核心错误处置器确定错误是否来自所述特定处理器核心的处理器存储器阵列。
16、如权利要求15所述的多处理器数据处理***,其中处理器存储器阵列是特定处理器的L1高速缓存阵列、L2高速缓存阵列和L3高速缓存阵列之一。
17、如权利要求15所述的多处理器数据处理***,其中如果在启动时间尝试校正错误不成功,则服务处理器去配置包含错误的处理器存储器阵列的部分。
18、如权利要求11所述的多处理器数据处理***,其中核心错误处置器包括管理程序。
19、如权利要求18所述的多处理器数据处理***,其中服务处理器从多个多核心处理器之一接收***检查停止。
20、如权利要求19所述的多处理器数据处理***,其中响应于***检查停止,服务处理器重新初始化数据处理***。
21、一种信息处置***,其包括:
多个处理器,每个处理器包括多个处理器核心;
***存储器,耦接到多个处理器核心;
非易失性存储装置,耦接到多个处理器核心的;
服务处理器,耦接到多个处理器核心,以处置来自多个处理器的***检查停止;
核心错误处置器,耦接到多个处理器核心,以处置来自多个处理器核心的核心检查停止,其中核心错误处置器:
从特定处理器核心接收核心检查停止,该核心检查停止指示在特定处理器核心运行时间的不可校正的错误;
响应于核心检查停止,向***的另一个处理器核心传输该特定处理器核心的工作量,并移动特定处理器核心离线;
其中服务处理器:
如果特定处理器核心的处理器存储器阵列展示在运行时间不可校正的错误,则初始化该特定处理器核心,从而初始化该特定处理器核心的启动时间;
尝试在特定处理器核心启动时间校正错误;以及
如果尝试在启动时间校正错误成功,则将特定处理器核心移动回到在线,使得在运行时间特定处理器核心可再次处理信息。
22、如权利要求21所述的信息处置***,其中在服务处理器尝试在启动时间校正错误的同时,除了该特定处理器核心以外***的处理器核心在运行时间继续操作。
23、如权利要求21所述的信息处置***,其中服务处理器执行位舵操作,以尝试在特定处理器核心启动时间校正错误。
24、如权利要求21所述的信息处置***,其中处理器核心包括在启动时间测试处理器核心的ABIST电路。
25、如权利要求21所述的信息处置***,其中核心错误处置器确定错误是否来自所述特定处理器核心的处理器存储器阵列。
26、如权利要求25所述的信息处置***,其中处理器存储器阵列是特定处理器的L1高速缓存阵列、L2高速缓存阵列和L3高速缓存阵列之一。
27、如权利要求25所述的信息处置***,其中如果在启动时间尝试校正错误不成功,则服务处理器去配置包含错误的处理器存储器阵列的部分。
28、如权利要求21所述的信息处置***,其中核心错误处置器包括管理程序。
29、如权利要求28所述的信息处置***,其中服务处理器从多个多核心处理器之一接收***检查停止。
30、如权利要求29所述的信息处置***,其中响应于***检查停止,服务处理器重新初始化数据处理***。
CN2008100830026A 2007-03-22 2008-03-17 修复数据处理***的方法、数据处理***及信息处置*** Expired - Fee Related CN101271417B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/689,556 2007-03-22
US11/689,556 US20080235454A1 (en) 2007-03-22 2007-03-22 Method and Apparatus for Repairing a Processor Core During Run Time in a Multi-Processor Data Processing System

Publications (2)

Publication Number Publication Date
CN101271417A true CN101271417A (zh) 2008-09-24
CN101271417B CN101271417B (zh) 2010-10-13

Family

ID=39775875

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100830026A Expired - Fee Related CN101271417B (zh) 2007-03-22 2008-03-17 修复数据处理***的方法、数据处理***及信息处置***

Country Status (2)

Country Link
US (1) US20080235454A1 (zh)
CN (1) CN101271417B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102208993A (zh) * 2010-03-12 2011-10-05 微软公司 弹性连通性健康管理框架
CN102231125A (zh) * 2011-05-16 2011-11-02 铁道部运输局 临时限速服务器的安全通信机平台
CN102567143A (zh) * 2010-12-17 2012-07-11 微软公司 前摄错误扫描及隔离的错误校正
CN104750580A (zh) * 2013-12-27 2015-07-01 凯为公司 用于多核处理器的具有内部和外部访问的后备处理器单元
CN107077407A (zh) * 2015-01-21 2017-08-18 日立汽车***株式会社 车辆控制装置
CN109872150A (zh) * 2017-12-04 2019-06-11 恩智浦美国有限公司 具有时钟同步操作的数据处理***
CN111033630A (zh) * 2017-10-17 2020-04-17 微芯片技术股份有限公司 具有mbist的多处理器内核设备

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7484125B2 (en) * 2003-07-07 2009-01-27 Hewlett-Packard Development Company, L.P. Method and apparatus for providing updated processor polling information
US7603582B2 (en) * 2005-02-18 2009-10-13 Hewlett-Packard Development Company, L.P. Systems and methods for CPU repair
US7673171B2 (en) 2005-02-18 2010-03-02 Hewlett-Packard Development Company, L.P. Systems and methods for CPU repair
US7607040B2 (en) * 2005-02-18 2009-10-20 Hewlett-Packard Development Company, L.P. Methods and systems for conducting processor health-checks
US7694174B2 (en) * 2005-02-18 2010-04-06 Hewlett-Packard Development Company, L.P. Systems and methods for CPU repair
US8667324B2 (en) * 2005-02-18 2014-03-04 Hewlett-Packard Development Company, L.P. Systems and methods for CPU repair
US8661289B2 (en) * 2005-02-18 2014-02-25 Hewlett-Packard Development Company, L.P. Systems and methods for CPU repair
US7694175B2 (en) 2005-02-18 2010-04-06 Hewlett-Packard Development Company, L.P. Methods and systems for conducting processor health-checks
US7917804B2 (en) * 2005-02-18 2011-03-29 Hewlett-Packard Development Company, L.P. Systems and methods for CPU repair
US7607038B2 (en) 2005-02-18 2009-10-20 Hewlett-Packard Development Company, L.P. Systems and methods for CPU repair
US7783877B2 (en) * 2007-05-15 2010-08-24 Inventec Corporation Boot-switching apparatus and method for multiprocessor and multi-memory system
US20090187735A1 (en) * 2008-01-22 2009-07-23 Sonix Technology Co., Ltd. Microcontroller having dual-core architecture
US7512837B1 (en) * 2008-04-04 2009-03-31 International Business Machines Corporation System and method for the recovery of lost cache capacity due to defective cores in a multi-core chip
US7966536B2 (en) * 2008-04-11 2011-06-21 International Business Machines Corporation Method and apparatus for automatic scan completion in the event of a system checkstop
US7966519B1 (en) * 2008-04-30 2011-06-21 Hewlett-Packard Development Company, L.P. Reconfiguration in a multi-core processor system with configurable isolation
US8291430B2 (en) * 2009-07-10 2012-10-16 International Business Machines Corporation Optimizing system performance using spare cores in a virtualized environment
US8499144B2 (en) * 2009-12-07 2013-07-30 International Business Machines Corporation Updating settings of a processor core concurrently to the operation of a multi core processor system
US8151147B2 (en) * 2009-12-17 2012-04-03 Hewlett-Packard Development Company, L.P. Synchronize error handling for a plurality of partitions
US8392761B2 (en) * 2010-03-31 2013-03-05 Hewlett-Packard Development Company, L.P. Memory checkpointing using a co-located processor and service processor
US8868975B2 (en) 2011-07-26 2014-10-21 International Business Machines Corporation Testing and operating a multiprocessor chip with processor redundancy
US9015025B2 (en) 2011-10-31 2015-04-21 International Business Machines Corporation Verifying processor-sparing functionality in a simulation environment
CN104137072A (zh) 2011-12-30 2014-11-05 英特尔公司 在多核心环境中管理硬件错误的方法和装置
US8977895B2 (en) * 2012-07-18 2015-03-10 International Business Machines Corporation Multi-core diagnostics and repair using firmware and spare cores
US9262231B2 (en) 2012-08-07 2016-02-16 Advanced Micro Devices, Inc. System and method for modifying a hardware configuration of a cloud computing system
US20140047095A1 (en) * 2012-08-07 2014-02-13 Advanced Micro Devices, Inc. System and method for tuning a cloud computing system
US9152532B2 (en) 2012-08-07 2015-10-06 Advanced Micro Devices, Inc. System and method for configuring a cloud computing system with a synthetic test workload
US9658895B2 (en) 2012-08-07 2017-05-23 Advanced Micro Devices, Inc. System and method for configuring boot-time parameters of nodes of a cloud computing system
JP6029737B2 (ja) * 2013-02-15 2016-11-24 三菱電機株式会社 制御装置
US9842040B2 (en) 2013-06-18 2017-12-12 Empire Technology Development Llc Tracking core-level instruction set capabilities in a chip multiprocessor
US9612988B2 (en) * 2013-07-23 2017-04-04 International Business Machines Corporation Donor cores to improve integrated circuit yield
US9239797B2 (en) * 2013-08-15 2016-01-19 Globalfoundries Inc. Implementing enhanced data caching and takeover of non-owned storage devices in dual storage device controller configuration with data in write cache
US9697124B2 (en) 2015-01-13 2017-07-04 Qualcomm Incorporated Systems and methods for providing dynamic cache extension in a multi-cluster heterogeneous processor architecture
US9652315B1 (en) * 2015-06-18 2017-05-16 Rockwell Collins, Inc. Multi-core RAM error detection and correction (EDAC) test
CN105528180B (zh) * 2015-12-03 2018-12-07 浙江宇视科技有限公司 一种数据存储方法、装置及设备
US10223235B2 (en) 2016-05-26 2019-03-05 International Business Machines Corporation Comprehensive testing of computer hardware configurations
US10216599B2 (en) 2016-05-26 2019-02-26 International Business Machines Corporation Comprehensive testing of computer hardware configurations
US10579499B2 (en) * 2017-04-04 2020-03-03 International Business Machines Corporation Task latency debugging in symmetric multiprocessing computer systems
US10372522B2 (en) * 2017-04-28 2019-08-06 Advanced Micro Devices, Inc. Memory protection in highly parallel computing hardware

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6502208B1 (en) * 1997-03-31 2002-12-31 International Business Machines Corporation Method and system for check stop error handling
US6115829A (en) * 1998-04-30 2000-09-05 International Business Machines Corporation Computer system with transparent processor sparing
JP2000181890A (ja) * 1998-12-15 2000-06-30 Fujitsu Ltd マルチプロセッサ交換機及びその主プロセッサ切替方法
US6581190B1 (en) * 1999-11-30 2003-06-17 International Business Machines Corporation Methodology for classifying an IC or CPU version type via JTAG scan chain
US6643796B1 (en) * 2000-05-18 2003-11-04 International Business Machines Corporation Method and apparatus for providing cooperative fault recovery between a processor and a service processor
WO2002069469A1 (en) * 2001-02-24 2002-09-06 International Business Machines Corporation Fault tolerance in a supercomputer through dynamic repartitioning
US6851071B2 (en) * 2001-10-11 2005-02-01 International Business Machines Corporation Apparatus and method of repairing a processor array for a failure detected at runtime
US7275180B2 (en) * 2003-04-17 2007-09-25 International Business Machines Corporation Transparent replacement of a failing processor
US7111196B2 (en) * 2003-05-12 2006-09-19 International Business Machines Corporation System and method for providing processor recovery in a multi-core system
US7257734B2 (en) * 2003-07-17 2007-08-14 International Business Machines Corporation Method and apparatus for managing processors in a multi-processor data processing system
JP2006153538A (ja) * 2004-11-26 2006-06-15 Fujitsu Ltd プロセッサ、そのエラー解析方法及びプログラム
US7512837B1 (en) * 2008-04-04 2009-03-31 International Business Machines Corporation System and method for the recovery of lost cache capacity due to defective cores in a multi-core chip

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102208993A (zh) * 2010-03-12 2011-10-05 微软公司 弹性连通性健康管理框架
CN102567143A (zh) * 2010-12-17 2012-07-11 微软公司 前摄错误扫描及隔离的错误校正
CN102567143B (zh) * 2010-12-17 2014-12-03 微软公司 前摄错误扫描及隔离的错误校正
CN102231125A (zh) * 2011-05-16 2011-11-02 铁道部运输局 临时限速服务器的安全通信机平台
CN104750580A (zh) * 2013-12-27 2015-07-01 凯为公司 用于多核处理器的具有内部和外部访问的后备处理器单元
CN104750580B (zh) * 2013-12-27 2018-11-23 凯为公司 用于多核处理器的具有内部和外部访问的后备处理器单元
CN107077407A (zh) * 2015-01-21 2017-08-18 日立汽车***株式会社 车辆控制装置
CN107077407B (zh) * 2015-01-21 2020-02-21 日立汽车***株式会社 车辆控制装置
CN111033630A (zh) * 2017-10-17 2020-04-17 微芯片技术股份有限公司 具有mbist的多处理器内核设备
CN111033630B (zh) * 2017-10-17 2024-01-05 微芯片技术股份有限公司 具有mbist的多处理器内核设备
CN109872150A (zh) * 2017-12-04 2019-06-11 恩智浦美国有限公司 具有时钟同步操作的数据处理***

Also Published As

Publication number Publication date
CN101271417B (zh) 2010-10-13
US20080235454A1 (en) 2008-09-25

Similar Documents

Publication Publication Date Title
CN101271417B (zh) 修复数据处理***的方法、数据处理***及信息处置***
US6574748B1 (en) Fast relief swapping of processors in a data processing system
CN100578462C (zh) 降低时钟同步双模冗余***中错误率的装置、方法和***
US7404105B2 (en) High availability multi-processor system
Meaney et al. IBM z990 soft error detection and recovery
US7627781B2 (en) System and method for establishing a spare processor for recovering from loss of lockstep in a boot processor
US6851074B2 (en) System and method for recovering from memory failures in computer systems
US8635492B2 (en) State recovery and lockstep execution restart in a system with multiprocessor pairing
US7313717B2 (en) Error management
Reick et al. Fault-tolerant design of the IBM Power6 microprocessor
US9112887B2 (en) Mirroring solution in cloud storage environment
US20120221884A1 (en) Error management across hardware and software layers
JPH09258995A (ja) 計算機システム
WO2020239060A1 (zh) 错误恢复的方法和装置
US7366948B2 (en) System and method for maintaining in a multi-processor system a spare processor that is in lockstep for use in recovering from loss of lockstep for another processor
JP2004326775A (ja) 分散ノード環境におけるfru障害分離のための機構
WO2012119432A1 (zh) 提高计算机***稳定性的方法及计算机***
JP5224038B2 (ja) コンピュータ装置、コンピュータ装置の運用継続方法及びプログラム
US7502958B2 (en) System and method for providing firmware recoverable lockstep protection
Spainhower et al. G4: A fault-tolerant CMOS mainframe
Alves et al. RAS Design for the IBM eServer z900
US7624302B2 (en) System and method for switching the role of boot processor to a spare processor responsive to detection of loss of lockstep in a boot processor
Henderson Power8 processor-based systems ras
US7356733B2 (en) System and method for system firmware causing an operating system to idle a processor
KR100313712B1 (ko) 이중화된프로세서를위한결함기반의소프트웨어결함허용방법

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: 20101013

Termination date: 20120317