CN104536844A - 实时错误恢复的方法和系统 - Google Patents

实时错误恢复的方法和系统 Download PDF

Info

Publication number
CN104536844A
CN104536844A CN201410830913.6A CN201410830913A CN104536844A CN 104536844 A CN104536844 A CN 104536844A CN 201410830913 A CN201410830913 A CN 201410830913A CN 104536844 A CN104536844 A CN 104536844A
Authority
CN
China
Prior art keywords
type
mistake
error
physical layer
misdata
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
CN201410830913.6A
Other languages
English (en)
Other versions
CN104536844B (zh
Inventor
S·穆特拉沙纳鲁
D·达斯夏尔马
J·佩罗奥苏布拉亚
E·R·韦哈格
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 CN104536844A publication Critical patent/CN104536844A/zh
Application granted granted Critical
Publication of CN104536844B publication Critical patent/CN104536844B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Retry When Errors Occur (AREA)

Abstract

一种不需要重置系统的附加到系统的设备的错误恢复的方法和系统。在本发明的一个实施例中,平台检测到附加设备的错误并且关闭与附加设备的通信链路。平台纠正错误并且自动地重新训练与附加设备的通信链路。通过这种方式,在本发明的一个实施例中,不需要重置平台来纠正检测到的错误。

Description

实时错误恢复的方法和系统
本申请是申请日为2013年3月22日、申请号为201180045741.6、发明名称为“实时错误恢复的方法和系统”的申请的分案申请。
技术领域
本发明涉及错误恢复,并且更具体地而非排它地,涉及不需要重置系统的附加到系统上的设备的错误恢复的方法和系统。
背景技术
平台通常具有数个经由通信接口连接的外围设备。当连接到平台的任意一个设备经历不可纠正的错误时,需要重置平台来纠正所述不可纠正错误。平台的重置防止了不可纠正错误的传播。
虽然平台的重置能够解决设备中的不可纠正错误,但是平台的重置减小了平台的可靠性。在关键任务计算机平台或服务器中,当遇到不可纠正错误时进行平台的重置能对平台所需的99.999%的正常运行时间造成巨大影响。
附图说明
本发明的实施例的特征和优点将从下列主题的详细描述中变得清晰,其中:
图1示出了根据本发明一个实施例的平台的框图。
图2示出了根据本发明一个实施例的控制器。
图3示出了本发明一个实施例的实时错误恢复链路状态机。
图4示出了根据本发明一个实施例的实时错误恢复逻辑的框图。
图5示出了根据本发明一个实施例的实时错误恢复的流程图。
图6示出了根据本发明一个实施例的实时错误恢复的流程图。
图7示出了根据本发明一个实施例的实时错误恢复的流程图。
图8示出了根据本发明一个实施例的实现本文中公开的方法的系统。
图9示出了根据本发明一个实施例的实现本文中公开的方法的系统。
具体实施方式
通过示例方式而非通过在附图中进行限制方式来示出本文描述的本发明的实施例。为了说明的简洁和清楚,附图中说明的元件未必按照比例绘制。例如,为了清楚,可以相对于其他元件放大一些元件的尺寸。此外,当认为合适时,会在附图中重复附图标记以指示相应的或类似的元件。本说明书中引用本发明的“一个实施例”或“实施例”指结合包括在本发明的所描述的特定特征、结构或特性包括在本发明的至少一个实施例中。本说明书中各处出现的短语“在一个实施例中”并不必然全都指同一实施例。
本发明的实施例提供了附加到系统的设备的错误恢复方法和系统,而不需要系统重置。在本发明的一个实施例中,系统或平台检测到所附设备的错误并关闭与所附设备的通信链路。平台纠正错误并自动地重新训练与所附设备的通信链路。通过这种方式,在本发明的一个实施例中,不需要重置平台来纠正检测到的错误。平台或系统包括但不限于:台式计算机、膝上型计算机、上网本、笔记本计算机、个人数字助理(PDA)、服务器、工作站、蜂窝式电话、移动计算设备、互联网装置或任何其它类型的计算设备。
在本发明的一个实施例中,平台能够选择一种或多种类型的错误用于实时错误恢复。所述错误包括但不仅限于:不可纠正错误、可纠正错误、非致命性错误、致命性错误,和其他类型的错误分类。不可纠正错误包括但不仅限于:影响平台接口的功能的错误情况。可纠正错误包括但不仅限于:平台的硬件能恢复而没有任何信息损失的错误情况。致命性错误包括但不仅限于:致使特定通信链路和相关的硬件不可靠的不可纠正错误情况。非致命性错误包括但不仅限于:致使特定事务不可靠但是通信链路是功能完善的不可纠正错误。
图1示出了根据本发明一个实施例的平台105的框图100。在本发明的一个实施例中,平台与由PCI特别兴趣组织(PCI-SIG)维护的外围部件互连(PCI)高速(PCIe)标准或规范至少是部分兼容的。
在本发明的一个实施例中,平台105具有耦合到根联合体120的处理核心110。根联合体120与总线140和存储器130相耦合,并且支持三个根端口142、144和146。根端口142、144和146经由PCIe通信链路152、154和156分别地耦合到PCIe终端设备1-3160、162和164。在本发明的一个实施例中,根联合体120代表处理器核心110生成事务请求。在本发明的一个实施例中,根联合体120与处理核心120相集成。
在本发明的一个实施例中,根端口142、144和146中的每一个均具有当检测到错误时执行实时错误恢复的逻辑。在本发明的一个实施例中,当检测到错误时,根端口142、144和146中的每一个的实时错误恢复促使它们对应的PCIe通信链路进行自动恢复,而不需要重置平台105。
例如,在本发明的一个实施例中,根端口142具有状态机来检测PCIe设备160的任何错误。例如,在本发明的一个实施例中,当从PCIe设备1160接收分组时根端口142的物理层(PHY)检测接收机错误,并捕获(trap)接收机错误。根端口142在检测到接收机错误之后,强迫降低或关闭PCIe通信链路152的连接状态。通过这样做,在本发明的一个实施例中,根端口142防止错误或错误分组的传播。
根端口142向平台105指示已检测并且捕获PCIe通信链路152的错误。在本发明的一个实施例中,根端口142向平台105做出的指示包括但不仅限于:设置中断信号、写寄存器、向处理核心110发送信号等。相关领域的一个普通技术人员将容易地理解根端口142能够使用任意其他方法或机制来向平台105指示已检测并捕获错误。在不影响本发明工作的情况下,也能够使用其他的方法或机制。
当平台105已从根端口142接收到已检测并且捕获PCIe通信链路152的错误的指示时,平台105纠正或改正不可纠正错误。在本发明的一个实施例中,平台105使用软件来执行错误处理或错误管理。当平台105已结束错误纠正时,平台105发出完成错误恢复的指示。
在接收来自平台105的完成错误恢复的指示之后,根端口142重新启动PCIe通信链路152。根端口142重新训练PCIe通信链路152,并当重新训练完成时使PCIe通信链路152为接通(Linkup)状态。根端口142向链路训练和状态机(LTSSM)发送信号或指示,并且平台105初始化根端口142并允许PCIe设备1160恢复正常操作。
根端口144和146的工作类似于根端口142,并且在本文中不再重复。平台105的配置并不意味着限制,并且在不影响本发明工作的情况下,也能使用平台105的其他配置。
图2示出了根据本发明一个实施例的控制器205。为了说明清楚的目的,参考图1对图2进行讨论。在本发明的一个实施例中,当检测到错误时,根端口142、144和146中的每一个都具有控制器205来执行实时错误恢复。
在本发明的一个实施例中,控制器205具有PCIe物理链路层和事务层210以及请求队列220。请求队列220与用于根端口的端口仲裁的仲裁器350相耦合。PCIe物理链路层和事务层210提供了PCIe通信链路212来促进根端口和PCIe终端设备之间的通信。从PCIe通信链路212接收来自PCIe终端设备的PCIe分组并且事务层处理PCIe。相关领域的一个普通技术人员将容易地理解物理链路层和事务层220的工作,并且将不作描述。
请求队列220维护完成队列222、投递式(posted)请求队列224和非投递式(non-posted)请求队列226。在本发明的一个实施例中,控制器205的请求指的是启动事务序列的分组。请求包括但不仅限于操作代码、地址和长度、数据,或任意其他信息。事务序列包括但不仅限于,与请求者执行单个逻辑转移相关联的单个请求和零或更多完成。完成包括但不仅限于,用于终止事务序列的分组、用于部分地终止事务序列的分组等。在本发明的一个实施例中,每一个完成对应于前面的请求。
完成队列222保持对所述完成的跟踪,并且所述完成包括但不仅限于,读请求完成、输入/输出(I/O)写完成、配置写完成等。投递式请求队列224保持对投递式请求的跟踪,并且投递式请求包括但不仅限于,存储器写请求、信息请求等。非投递式请求队列226保持对非投递式请求的跟踪,并且非投递式请求包括但不仅限于,读请求、输入/输出(I/O)写请求、配置写请求等。
实时错误恢复链路状态机240与PCIe物理链路层和事务层210以及请求队列220相耦合。在本发明的一个实施例中,实时错误恢复链路状态机240促进根端口的错误恢复,而不需要重置平台105。实时错误恢复链路状态机240监控PCIe物理链路层和事务层210是否已检测到任何错误。在本发明的一个实施例中,事务层保持对检测到的错误的跟踪。
实时错误恢复链路状态机240识别错误的类型,并且当识别的错误需要错误恢复时停用PCIe通信链路212。在本发明的一个实施例中,当检测到不可纠正错误时,实时错误恢复链路状态机240执行错误恢复。在本发明的另一实施例中,实时错误恢复链路状态机240还可以执行其他类型错误的错误恢复。
在本发明的一个实施例中,实时错误恢复链路状态机240通过设置LTSSM为关闭(Link Down)状态来停用PCIe通信链路212。实时错误恢复链路状态机240向平台105中的软件发送已检测到错误的建议性消息或通知。
实时错误恢复链路状态机240中止或取消控制器205的出站或外出请求。出站请求包括但不仅限于,出站投递式请求、出站完成,和出站非投递式请求。在本发明的一个实施例中,通过使用主控中止操作来中止出站非投递式请求。
实时错误恢复链路状态机240检查请求队列220来确定在导致错误的错误请求之前接收入站请求。在本发明的一个实施例中,在导致错误的错误请求之前接收的入站请求被允许正常地排空。在本发明的一个实施例中,丢弃或放弃在导致错误的错误请求之后接收的入站请求。
未解决完成跟踪机230与请求队列220和实时错误恢复链路状态机240相耦合。未解决完成跟踪机230保持对还没有接收完成的挂起的出站非投递式请求和被实时错误恢复链路状态机240丢弃的出站非投递式请求的跟踪。未解决完成跟踪机230向实时错误恢复链路状态机240发送出站非投递式请求的列表。
为还没有接收完成的挂起的出站非投递式请求的每个原始请求者,实时错误恢复链路状态机240生成主控中止完成。对已被丢弃的出站非投递式请求的每个原始请求者,实时错误恢复链路状态机240也生成主控中止完成。在本发明的一个实施例中,通过发送主控中止完成,实时错误恢复链路状态机240防止完成超时。
当完成错误恢复时,实时错误恢复链路状态机240启动PCIe通信链路212。在本发明的实施例中,实时错误恢复链路状态机240通过在本发明的一个实施例中将LTSSM设置为接通状态来启动PCIe通信链路212。LTSSM重新训练PCIe通信链路212,并且当激活PCIe通信链路212时,在平台105上的软件初始化根端口。
控制器205的描述并不意味着限制,并且在不影响本发明工作的情况下,也能够使用控制器205的其他配置。例如,在本发明的一个实施例中,实时错误恢复链路状态机240和未解决完成跟踪机230组合成为单个模块。
图3示出了本发明的一个实施例中的实时错误恢复链路状态机310。为图示清楚,参考2讨论图3。实时错误恢复链路状态机310具有重置状态320、错误检测状态330,以及队列和链路控制状态340。
当激活控制器210时,实时错误恢复链路状态机310进入重置状态320。在重置状态320中,实时错误恢复链路状态机310初始化其设置。例如,在本发明的一个实施例中,实时错误恢复链路状态机310设置在重置阶段期间用语错误恢复的监控的错误类型。在本发明的另一实施例中,能打开或关闭实时错误恢复链路状态机310。在本发明的一个实施例中,能通过寄存器位设置来控制实时错误恢复链路状态机310的激活。在本发明的另一实施例中,能通过启动信号来控制实时错误恢复链路状态机310的激活。相关领域中的一个普通技术人员将容易地理解在不影响本发明工作的情况下,也能使用其他方法来控制实时错误恢复链路状态机310的激活。
在重置状态320中初始化之后,实时错误恢复链路状态机310进入错误检测状态330。在本发明的一个实施例中,仅在启动或激活实时错误恢复链路状态机310时,实时错误恢复链路状态机310进入错误检测状态330。在错误检测状态330中,实时错误恢复链路状态机310检查是否已检测到错误。
在本发明的一个实施例中,实时错误恢复链路状态机310通过读取PCIe物理链路层和事务层210的错误日志来检查是否已检测到错误。在本发明的另一实施例中,当已检测到错误时,PCIe物理链路层和事务层210向实时错误恢复链路状态机310发送错误信号或指示。相关领域中的一个普通技术人员将容易地理解在不影响本发明工作的情况下,也能使用其他方法来检测错误。
在错误检测状态330中,当已检测到错误时,实时错误恢复链路状态机310发送指示。例如,在本发明的一个实施例中,当已检测到错误时,实时错误恢复链路状态机310确认中断信号。当已确认中断信号时,软件读取中断信号并执行错误恢复。
实时错误恢复链路状态机310进入队列&链路控制状态340并停用PCIe通信链路212。在本发明的一个实施例中,实时错误恢复链路状态机310执行请求队列220的错误恢复。在本发明的一个实施例中,当实时错误恢复链路状态机310已结束挂起的出站非投递式请求的主控中止并且已丢弃出站请求时,实时错误恢复链路状态机310确认静止信号。静止信号指示平台中的软件:在根端口中没有挂起的流量或分组。
当实时错误恢复链路状态机310已结束请求队列220的错误处理时,实时错误恢复链路状态机310激活PCIe通信链路212并且返回到重置状态320。实时错误恢复链路状态机310允许平台105处理错误而不需要重置系统来达到高可靠性、可用性和可服务性(RAS)。
图4示出了根据本发明的一个实施例的实时错误恢复(LER)逻辑的框图400。在本发明的一个实施例中,控制和状态寄存器430控制LER逻辑。在本发明的一个实施例中,控制和状态寄存器430具有LER严重性信号432、LER允许信号434、状态信号436、端口静止信号438。在本发明的一个实施例中,控制和状态寄存器430具有触发器(未示出)来存储LER严重性信号432、LER允许信号434、状态信号436、端口静止信号438中的每一个的设置。
LER允许信号434控制LER逻辑的激活和停用。错误[x]信号410示出了已检测到错误的错误信号或指示,并且x表示错误的具体类型。错误掩码[x]信号412是控制错误[x]信号410的信号。例如,在本发明的一个实施例中,错误[x]信号410表示或指示完成超时错误。当检测到完成超时错误时,确认错误[x]信号410为逻辑高。错误掩码[x]信号412和错误[x]信号410与“与”门450的输入相耦合。错误掩码[x]信号412控制是否设置错误[x]信号410为“与”门450的输出信号、错误状态[x]416。
错误状态[x]416使用“与”门452与LER错误掩码[x]信号418选通。LER错误掩码[x]信号418控制是否将错误状态[x]416设置为“与”门452的输出信号。“与”门452的输出信号与逻辑“或”门456相耦合。“或”门456的输出使用“与”门460与LER允许信号434选通。
LER允许信号434控制是否将“与”门460的输出信号设置为触发器431的输入信号。“与”门462控制触发器431的重置信号。“与”门460的输出信号和状态允许信号464向“与”门462提供输入。状态允许信号464控制是否将“与”门460的输出信号设置为触发器431的输出信号、状态信号436。在本发明的一个实施例中,状态信号436指示软件来执行请求队列的错误管理。
当请求队列220的错误管理结束时,软件确认端口静止信号438。端口静止信号438指示没有挂起的完成并且错误恢复结束。在本发明的一个实施例中,每一个错误与严重性级别相关联。例如,在本发明的一个实施例中,可纠正错误与严重性级别0422相关联,不可纠正和非致命性错误与严重性级别1相关联。严重性级别n表示存在多于两个的严重性级别。
在本发明的一个实施例中,错误[x]状态信号410与特定严重性级别相关联。当“与”门458的输出被确认时,逻辑块420允许错误[x]状态信号410的严重性级别强制为严重性级别0。“与”门458的输入与LER严重性信号432、LER允许信号458和LER错误掩码[x]信号418相耦合。当将LER允许信号458设置为逻辑一并且将LER错误掩码[x]信号418设置为逻辑零时,LER严重性信号432控制“与”门458的输出。在本发明的一个实施例中,为强制错误[x]状态信号410的严重性级别为零,确认LER严重性信号432。这允许控制错误严重性的设置。
为了说明清楚,LER逻辑的框图400示出了特定错误所需的逻辑。对于LER支持的每个另外的错误,逻辑是复制的。“或”门456与LER支持的每个另外的错误相耦合。相关领域中的一个普通技术人员将容易地理解每个另外的错误所需的逻辑,并且在本文中不再描述。能够使用一个或多个寄存器位(未示出)来配置图4中示出的各个信号的设置。相关领域中的一个普通技术人员将容易地理解在不影响本发明工作的情况下,能使用LER逻辑的其他配置。
图5示出了根据本发明一个实施例的实时错误恢复的流程图500。为了说明清楚,参考图2和图4讨论图5。在步骤510中,LER链路状态机240进入重置状态。在重置状态中,初始化LER链路状态机240。在步骤520中,LER链路状态机240向LTSSM发送确认信号,PCIe通信链路是活动的或就绪的。在步骤530中,流程500检查LER是否是活动的或就绪的。在本发明的一个实施例中,流程500检查LER允许信号434来确定LER是否是活动的。
如果LER不是活动的,则流程500结束。如果LER是活动的,则流程500转到步骤540来检查是否已检测到不可纠正错误。如果没有检测到不可纠正错误,则流程500转到步骤540来保持对不可纠正错误的监控。如果已检测到不可纠正错误,则流程500转到步骤550来降低或停用PCIe通信链路。发出建议性消息来指示不可纠正错误的检测。在本发明的一个实施例中,向软件发送建议性消息,使得软件能够对于检测到的不可纠正错误采取纠正行动。
在步骤560中,流程500执行错误恢复或检测到错误的纠正行动。在步骤570中,流程500检查入站和出站队列是否排空。如果没有排空,则流程500转到步骤570。如果排空,则流程500转到步骤580来检查是否已接收到所有的完成。步骤580等待直到接收到用于所处理的非投递式事务的所有未解决完成来确保随后不会发送过时的完成。如果没有接收所有完成,则流程500转到步骤580。如果接接收所有完成,则流程500转到步骤590来重新训练PCI通信链接。在步骤595中,流程500检查是否清空了不可纠正错误的状态。在本发明的一个实施例中,在发送了建议性消息之后,在中断服务例程期间执行步骤595。如果没有清空不可纠正错误的状态,则流程500转到步骤595。如果清空了不可纠正错误的状态,则流程500转到步骤510。
图6示出了根据本发明一个实施例的实时错误恢复的流程图600。为了说明清楚,参考图2和图4说明图6。
在步骤605中,流程600检查是否已接收到建议性信息。如果没有接收到,则流程600转到步骤605。如果接收到,则流程600转到步骤610来确认LER状态位。在步骤620中,流程600检查是否设置了静止位。静止位指示是否有任何的挂起事务。
如果没有设置静止位,则流程600转到步骤620。如果设置了静止位,则流程600重新确认LER状态位。在步骤630中,流程600检查PCIe通信链路是否是活动的。如果不是活动的,则流程600转到步骤630。如果是活动的,则流程转到步骤635来初始化根端口并将PCIe终端设备恢复到系统,并且流程600结束。
图7示出了根据本发明一个实施例的实时错误恢复的流程700。为了说明清楚,参考图5讨论图7。在步骤705中,入站和出站队列已排空。在本发明的一个实施例中,步骤705确保已从入站队列排空所有入站接收的投递式和非投递式事务和完成。步骤705也终止转发到错误链路的任意事务。
在步骤710中,流程700对于没有被接收或丢弃的任何挂起的出站非投递式请求生成主控中止完成。在步骤720中,流程700向没有被接收或丢弃的每个挂起的出站非投递式请求的原始请求者发送主控中止完成。在本发明的一个实施例中,通过硬件执行流程500和700,并且通过软件执行流程600。在本发明的另一实施例中,能够用硬件和软件/固件的任意组合来执行流程500、600和700。例如,在本发明的一个实施例中,通过平台105的驱动软件来执行流程600。
图8示出了根据本发明一个实施例的实现本文中公开的方法的系统800。系统800包括但不仅限于,台式计算机、膝上型计算机、上网本、笔记本计算机、个人数字助理(PDA)、服务器、工作站、蜂窝式电话、移动计算设备、互联网装置或任何其它类型的计算设备。在另一实施例中,用于实现本文中公开的方法的系统800可以是片上系统(SOC)的系统。
处理器810具有执行系统800的指令的处理核心812。处理核心812包括但不仅限于,取出指令的预取逻辑、对指令进行解码的解码逻辑、执行指令的执行逻辑等。处理器810具有高速缓存系统800指令和/或数据的高速缓存存储器816。在本发明的另一实施例中,高速缓存存储器816包括但不仅限于,级别一、级别二和级别三高速缓存存储器或在处理器810中的高速缓存存储器的任意其他配置。
存储器控制中心(MCH)814执行功能,使得处理器810能够访问存储器830并与其通信,所述存储器830包括易失性存储器832和/或非易失性存储器834。易失性存储器832包括但不仅限于,同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM),和/或任何其他类型的随机存取存储器设备。非易失性存储器834包括但不仅限于,NAND快闪存储器、相变存储器(PCM)、只读存储器(ROM),电可擦可编程只读存储器(EEPROM),或任何其它类型的非易失性存储器设备。
存储器830存储将由处理器810执行的信息和指令。当处理器810正在执行指令时,存储器830也可以存储临时变量或其他中间信息。芯片组820经由点对点(PtP)接口817和822与处理器810相连。芯片组820使得处理器810能够连接到系统800中的其他模块。在本发明的一个实施例中,接口817和822根据PtP通信协议(例如快速路径互连(QPI)等)进行操作。芯片组820连接到显示设备840,显示设备840包括但仅不限于,液晶显示器(LCD)、阴极射线管(CRT)显示器,或任何其它形式的可视显示设备。
此外,芯片组820连接到互连各个模块874、860、862、864和866的一个或多个总线850和855。如果总线速度或通信协议存在不匹配,总线850和855可以经由总线桥872互连在一起。芯片组820与以下项但并不仅限于以下项耦合:非易失性存储器860、大容量存储设备862、键盘/鼠标864和网络接口866。大容量存储设备862包括但不仅限于,固态驱动器、硬盘驱动器、通用串行总线快闪存储器驱动器,或任何其它形式的计算机数据存储介质。通过使用任何类型的公知的网络接口标准来实现网络接口866,所述网络接口标准包括但不仅限于,以太网接口、通用串行总线(USB)接口、外围部件互连(PCI)快速接口、无线接口和/或任何其它适当类型的接口。无线接口根据但不限于根据以下协议进行操作:IEEE 802.11标准及其有关的标准家族、家庭插接AV(Home Plug AV,HPAV)、超宽带(UWB)、蓝牙、WiMax,或任何形式的无线通信协议。
尽管图8中示出的模块被描述为在系统800内分离的块,但是由这些块中的一些执行的功能可以被集成到单个半导体电路中,或可以使用两个或更多分离的集成电路来实现。例如,尽管高速缓存存储器816被描述为处理器810中分离的块,但是可以相应地将高速缓存存储器816并入到处理核心812中。在本发明的另一个实施例中,系统800可以包括多于一个的处理器/处理核心。
图9示出了根据本发明一个实施例的实现本文中公开的方法的系统900。系统900具有耦合到芯片组920的I/O控制器中心(ICH),和互连各个模块874、860、862、864和866的一个或多个总线850和855。在本发明的一个实施例中,ICH具有逻辑来执行附加到系统900的设备的错误恢复而不需要重置系统。系统900中元件的工作类似于系统800中出现的元件,并且在文本中不再描述。
本文公开的方法可以通过硬件、软件、固件或其任何其它组合来实现。尽管描述了所公开主题的实施例的示例,但是相关领域的技术人员将容易地理解,可以替代地使用实现所公开主题的许多其他方法。在之前的描述中,已经描述了所公开主题的各个方案。为了解释的目的,阐述了具体的数量、系统和配置,以提供对本主题的透彻理解。然而,对于受益于本公开的相关领域的技术人员显而易见地是,可以在没有这些具体细节的情况下实施本主题。在其他例子中,省略、简化、组合或拆分了公知的特征、组件或模块以免模糊所公开的主题。
本文使用的术语“可操作的”意思是,当设备或系统处于电源关闭状态时,设备、系统、协议等能够操作或适于操作以用于其期望的功能。所公开主题的各个实施例可以通过硬件、固件、软件或其组合来实现,并且可以通过参考或结合程序代码(例如指令、函数、过程、数据结构、逻辑、应用程序、用于设计的模拟、仿真和制造的设计表示或格式)来描述,当机器访问所述程序代码时导致该机器执行任务、定义抽象数据类型或低级硬件上下文,或产生结果。
可以使用在一个或多个计算设备(例如,通用计算机或计算设备)上存储并执行的代码和数据来实现附图中所示的技术。这种计算设备使用机器可读介质(例如机器可读存储介质(例如:磁盘;光盘;随机存取存储器;只读存储器;闪速存储器设备;相变存储器))和机器可读通信介质(例如,电子的、光的、声的或其它形式的传播信号—例如载波、红外信号、数字信号等)来对代码和数据进行存储和传送(在内部以及通过网络与其它计算设备)。
虽然参考说明性实施例描述了所公开的主题,但是该描述并非旨在以限制性的含义来解释。对于所公开主题所属领域中的技术人员来说显而易见的说明性实施例的各种变型以及本主题的其它实施例被认为在所公开的主题的范围内。

Claims (29)

1.一种处理器,包括:
与设备耦合的至少一个接口;
其中,所述接口包括物理层逻辑,用于:
检测将从另一设备接收的数据中的错误;
识别所述错误是不可纠正错误;
响应于所述不可纠正错误而防止错误数据的传播,其中错误数据的传播将被防止而不发生重置。
2.根据权利要求1所述的处理器,其中,所述物理层逻辑还用于生成所述错误的类型的指示。
3.根据权利要求2所述的处理器,其中,所述物理层逻辑包含于分层协议栈中。
4.根据权利要求3所述的处理器,其中,所述指示用于将所述错误通知给在所述分层协议栈中层次比所述物理层逻辑更高的逻辑。
5.根据权利要求3所述的处理器,其中,所述分层协议逻辑还包括分组处理逻辑。
6.根据权利要求1所述的处理器,还包括用于识别由所述物理层逻辑检测到的错误以及将所述错误通知给软件控制器的逻辑。
7.根据权利要求1所述的处理器,其中,所述错误包括物理层错误。
8.根据权利要求1所述的处理器,其中,所述错误包括接收器错误。
9.根据权利要求1所述的处理器,其中,所述物理层逻辑用于从预定 义的错误类型集合中识别所述错误的类型,其中所述错误类型集合包括不可纠正错误类型和可纠正错误类型。
10.根据权利要求9所述的处理器,其中,响应于可纠正错误而继续数据传输状态。
11.根据权利要求1所述的处理器,其中,所述数据包括特定数据,并且所述错误数据包括在所述特定数据之后接收到的数据。
12.根据权利要求11所述的处理器,在处理所述错误之后继续数据传输。
13.根据权利要求1所述的处理器,其中,不可纠正错误与所述接口的功能相关。
14.根据权利要求1所述的处理器,其中,所述设备包括显示设备。
15.根据权利要求1所述的处理器,其中,所述物理层逻辑对应于分层协议的物理层。
16.根据权利要求15所述的处理器,其中,所述封层协议包括串行、点到点互连协议。
17.一种片上系统设备,包括:
与摄像机设备耦合的第一接口;
与另一设备耦合的第二接口;
所述第一接口或所述第二接口中的至少一个包括:
分层协议的物理层逻辑,其中所述分层协议包括串行、点到点互连协议,并且所述物理层逻辑用于:
从另一设备接收特定数据;
检测所述特定数据中的错误;
从预定义的错误类型集合中识别所述错误的类型,其中所述错误类型集合包括不可纠正错误类型和可纠正错误类型;以及
当所述错误类型被识别为不可纠正时,防止错误数据的传播,其中所述错误数据包括所述特定数据之后的数据,所述错误数据的传播被防止而不发生重置,从而允许在处理所述错误之后恢复数据。
18.一种膝上型计算设备,包括:
在所述膝上型计算设备中包括的一个或多个部件;以及
片上系统设备,包括:
与所述部件中的特定一个部件耦合的接口;其中所述接口包括:
分层协议的物理层逻辑,其中所述物理层逻辑用于:
检测从所述部件中的另一部件接收的数据中的错误;
从预定义的错误类型集合中识别所述错误的类型,其中所述错误类型集合包括不可纠正错误类型和可纠正错误类型;
当所述错误类型被识别为不可纠正时,防止错误数据的传播,其中所述错误数据的传播被防止而不发生重置。
19.根据权利要求18所述的膝上型计算设备,其中,所述特定部件包括显示设备。
20.根据权利要求18所述的膝上型计算设备,其中,所述显示设备包括液晶显示器(LCD)。
21.一种服务器系统,包括:
片上系统(SoC),其中所述片上系统包括:
与设备耦合的接口;以及
物理层逻辑,用于:
检测从另一设备接收的数据中的错误;
从预定义的错误类型集合中识别所述错误的类型,其中所述错误类型集合包括不可纠正错误类型和可纠正错误类型;
当所述错误类型被识别为不可纠正时,防止错误数据的传播,其中所述错误数据的传播被防止而不发生重置。
22.一种处理错误的方法,所述方法包括:
在处理器处检测从另一设备接收的数据中的错误;
从预定义的错误类型集合中识别所述错误的类型,其中所述错误类型集合包括不可纠正错误类型和可纠正错误类型;以及
当所述错误类型被识别为不可纠正时,防止错误数据的传播,其中所述错误数据的传播被防止而没有重置所述处理器。
23.如权利要求22所述的方法,还包括将所述错误报告给基于软件的控制器。
24.如权利要求22所述的方法,还包括使得机器生成所述错误的通知。
25.如权利要求24所述的方法,其中,所述通知用于识别所述错误的类型。
26.如权利要求22所述的方法,其中,所述错误包括互连的物理层中的错误。
27.一种系统,包括用于执行如权利要求22-26中任一项所述方法的单元。
28.如权利要求27所述的系统,其中,所述单元包括其上存储有代码的计算机可读存储介质,当在机器上执行所述代码时,使得所述机器执行 如权利要求22-26中任一项所述的方法。
29.一种片上系统,包括:
存储器控制器;
高速缓冲存储器;
输入/输出控制器;以及
与设备耦合的至少一个接口,其中所述接口包括物理层逻辑,用于:
检测从另一设备接收的数据中的错误;
识别所述错误是不可纠正错误;
当所述错误类型被识别为不可纠正时,防止错误数据的传播,其中所述错误数据的传播被防止而没有重置所述处理器。
CN201410830913.6A 2010-09-24 2011-09-23 实时错误恢复的方法和系统 Active CN104536844B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/889,954 US8782461B2 (en) 2010-09-24 2010-09-24 Method and system of live error recovery
US12/889,954 2010-09-24
CN201180045741.6A CN103270497B (zh) 2010-09-24 2011-09-23 实时错误恢复的方法和系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201180045741.6A Division CN103270497B (zh) 2010-09-24 2011-09-23 实时错误恢复的方法和系统

Publications (2)

Publication Number Publication Date
CN104536844A true CN104536844A (zh) 2015-04-22
CN104536844B CN104536844B (zh) 2018-12-18

Family

ID=45871916

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201180045741.6A Active CN103270497B (zh) 2010-09-24 2011-09-23 实时错误恢复的方法和系统
CN201410830913.6A Active CN104536844B (zh) 2010-09-24 2011-09-23 实时错误恢复的方法和系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201180045741.6A Active CN103270497B (zh) 2010-09-24 2011-09-23 实时错误恢复的方法和系统

Country Status (5)

Country Link
US (1) US8782461B2 (zh)
EP (2) EP2977904A1 (zh)
CN (2) CN103270497B (zh)
TW (1) TWI464577B (zh)
WO (1) WO2012040658A1 (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782461B2 (en) 2010-09-24 2014-07-15 Intel Corporation Method and system of live error recovery
US9489008B2 (en) * 2011-12-22 2016-11-08 Intel Corporation Method and apparatus for clock frequency ratio independent error logging
AU2012398458B2 (en) * 2012-06-06 2016-05-19 Intel Corporation Recovery after input/output error-containment events
US9262270B2 (en) * 2012-12-28 2016-02-16 Intel Corporation Live error recovery
US9086966B2 (en) * 2013-03-15 2015-07-21 Intel Corporation Systems, apparatuses, and methods for handling timeouts
CN106126454B9 (zh) * 2013-05-20 2019-08-30 华为技术有限公司 一种计算机系统、高速外围组件互联端点设备的访问方法和装置
WO2014186938A1 (zh) * 2013-05-20 2014-11-27 华为技术有限公司 一种计算机系统、高速外围组件互联端点设备的访问方法和装置
US9442793B2 (en) * 2013-07-23 2016-09-13 Qualcomm Incorporated Robust hardware/software error recovery system
US9152584B2 (en) 2013-10-29 2015-10-06 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Providing bus resiliency in a hybrid memory system
US9459972B2 (en) 2014-06-20 2016-10-04 International Business Machines Corporation Alternative port error recovery with limited system impact
US9626270B2 (en) * 2014-09-26 2017-04-18 Intel Corporation Link retraining based on runtime performance characteristics
WO2016057315A1 (en) * 2014-10-05 2016-04-14 Amazon Technologies, Inc. Emulated endpoint configuration
US9942866B2 (en) 2015-09-11 2018-04-10 Nxp Usa, Inc. Method for determining and recovering from loss of synchronization, communication units and integrated circuits therefor
CN105205021B (zh) * 2015-09-11 2018-02-13 华为技术有限公司 断开PCIe设备与主机之间的链接的方法和装置
WO2017158666A1 (ja) * 2016-03-14 2017-09-21 株式会社日立製作所 計算機システム、計算機システムのエラー処理方法
US9792167B1 (en) 2016-09-27 2017-10-17 International Business Machines Corporation Transparent north port recovery
US10372649B2 (en) * 2016-11-03 2019-08-06 International Business Machines Corporation PCIe Link Reset to Minimize Workload Impact
CN108228374B (zh) * 2017-12-28 2021-08-20 华为技术有限公司 一种设备的故障处理方法、装置及系统
US10636577B2 (en) * 2018-05-25 2020-04-28 Qualcomm Incorporated Safe handling of link errors in a peripheral component interconnect express (PCIE) device
US11797368B2 (en) 2022-01-27 2023-10-24 Hewlett Packard Enterprise Development Lp Attributing errors to input/output peripheral drivers
CN112941398B (zh) * 2021-01-28 2022-06-03 淮阴工学院 一种石墨增强自润滑铜合金及其制备方法
US11789807B1 (en) * 2021-03-30 2023-10-17 Amazon Technologies, Inc. Autonomous management of communication links
US11909850B1 (en) 2021-06-23 2024-02-20 Amazon Technologies, Inc. Dynamic improvement of a communication channel
WO2023044725A1 (en) * 2021-09-24 2023-03-30 Intel Corporation Methods and apparatus for runtime recovery of processor links

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030101371A1 (en) * 2001-11-29 2003-05-29 International Business Machines Corporation Method, system, and program for error handling in a dual adaptor system where one adaptor is a master
US20040139374A1 (en) * 2003-01-10 2004-07-15 International Business Machines Corporation Method for tagging uncorrectable errors for symmetric multiprocessors
CN1942863A (zh) * 2004-02-13 2007-04-04 英特尔公司 用于在奇偶错误检测之后维持数据完整性的装置和方法
CN101006430A (zh) * 2004-08-20 2007-07-25 皇家飞利浦电子股份有限公司 借助数据处理系统和外围设备的错误响应

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5528749A (en) 1994-08-05 1996-06-18 Thomson Consumer Electronics, Inc. Automatic instrument turn off/on for error correction
KR19990084442A (ko) 1998-05-06 1999-12-06 김영환 피씨아이(pci) 버스를 이용한 디바이스의 에러처리방법
US6671831B1 (en) 2000-06-13 2003-12-30 Cypress Semiconductor Corp. Fault tolerant USB method and apparatus
US6745345B2 (en) 2000-12-04 2004-06-01 International Business Machines Corporation Method for testing a computer bus using a bridge chip having a freeze-on-error option
US7099318B2 (en) * 2001-12-28 2006-08-29 Intel Corporation Communicating message request transaction types between agents in a computer system using multiple message groups
US6990604B2 (en) * 2001-12-28 2006-01-24 Storage Technology Corporation Virtual storage status coalescing with a plurality of physical storage devices
JP3826940B2 (ja) * 2004-06-02 2006-09-27 日本電気株式会社 障害復旧装置および障害復旧方法、マネージャ装置並びにプログラム
US20060271718A1 (en) 2005-05-27 2006-11-30 Diplacido Bruno Jr Method of preventing error propagation in a PCI / PCI-X / PCI express link
TW200718079A (en) * 2005-10-27 2007-05-01 Qualcomm Inc Nak-to-ack error detection and recovery
US20070240018A1 (en) * 2005-12-29 2007-10-11 Intel Corporation Functional level reset on a per device/function basis
JP2008250632A (ja) * 2007-03-30 2008-10-16 Matsushita Electric Ind Co Ltd データ処理システム
US20090063894A1 (en) * 2007-08-29 2009-03-05 Billau Ronald L Autonomic PCI Express Hardware Detection and Failover Mechanism
US7774638B1 (en) * 2007-09-27 2010-08-10 Unisys Corporation Uncorrectable data error containment systems and methods
US7921327B2 (en) * 2008-06-18 2011-04-05 Dell Products L.P. System and method for recovery from uncorrectable bus errors in a teamed NIC configuration
EP2359534B1 (en) * 2008-12-15 2014-05-07 Hewlett-Packard Development Company, L.P. Detecting an unreliable link in a computer system
JP5281942B2 (ja) * 2009-03-26 2013-09-04 株式会社日立製作所 計算機およびその障害処理方法
US8677180B2 (en) * 2010-06-23 2014-03-18 International Business Machines Corporation Switch failover control in a multiprocessor computer system
US8782461B2 (en) 2010-09-24 2014-07-15 Intel Corporation Method and system of live error recovery

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030101371A1 (en) * 2001-11-29 2003-05-29 International Business Machines Corporation Method, system, and program for error handling in a dual adaptor system where one adaptor is a master
US20040139374A1 (en) * 2003-01-10 2004-07-15 International Business Machines Corporation Method for tagging uncorrectable errors for symmetric multiprocessors
CN1942863A (zh) * 2004-02-13 2007-04-04 英特尔公司 用于在奇偶错误检测之后维持数据完整性的装置和方法
CN101006430A (zh) * 2004-08-20 2007-07-25 皇家飞利浦电子股份有限公司 借助数据处理系统和外围设备的错误响应

Also Published As

Publication number Publication date
CN103270497B (zh) 2016-06-08
WO2012040658A1 (en) 2012-03-29
CN104536844B (zh) 2018-12-18
CN103270497A (zh) 2013-08-28
US20120079312A1 (en) 2012-03-29
EP2619668A1 (en) 2013-07-31
US8782461B2 (en) 2014-07-15
EP2977904A1 (en) 2016-01-27
TW201229744A (en) 2012-07-16
EP2619668A4 (en) 2016-01-13
TWI464577B (zh) 2014-12-11

Similar Documents

Publication Publication Date Title
CN104536844A (zh) 实时错误恢复的方法和系统
US10691520B2 (en) Live error recovery
US10679690B2 (en) Method and apparatus for completing pending write requests to volatile memory prior to transitioning to self-refresh mode
TWI588835B (zh) 記憶體裝置中錯誤管理之方法及系統
TWI452469B (zh) 周邊元件互連高速(PCIe)大容量儲存裝置、包含該PCIe大容量儲存裝置之系統及用於操作該PCIe大容量儲存裝置之方法
TWI553650B (zh) 以記憶體控制器來處理資料錯誤事件之方法、設備及系統
US20170017495A1 (en) Multi-processor startup system
US11336318B2 (en) Transceiver device port configuration and monitoring system
US10846256B2 (en) Multi-endpoint device sideband communication system
US9037910B2 (en) SAS self-test operations
CN109710479B (zh) 一种处理方法及第一设备、第二设备
WO2022155919A1 (zh) 一种故障处理方法、装置及系统
CN210380890U (zh) 一种Modbus设备的通讯系统及SIS系统
CN112306536A (zh) 一种主板及其芯片以及芯片升级方法
US7568121B2 (en) Recovery from failure in data storage systems
TWI772242B (zh) 記憶裝置以及相關快閃記憶體控制器
US9489008B2 (en) Method and apparatus for clock frequency ratio independent error logging
CN118035158A (zh) 一种存储设备的使用方法及存储设备

Legal Events

Date Code Title Description
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant