利用用户上下文信息检测故障状况并随后恢复的方法和设备的制作方法

文档序号:6570585阅读:158来源:国知局
专利名称:利用用户上下文信息检测故障状况并随后恢复的方法和设备的制作方法
技术领域
本发明总体上涉及检测故障状况,更具体而言涉及利用协处理单元检 测处理单元中的故障状况,以及响应于其进一步利用该协处理单元使用存 储的故障前用户上下文信息来恢复处理单元。
背景技术
计算系统通常由集成电路(ic)和各种其他电子组件等构成,所述电 子组件例如是但不限于状态机、专用集成电路(ASIC)、逻辑门和离散逻辑 器件。像大部分电子器件那样,这些组件对静电放电以及其他由于静电和/ 或电磁事件而传导电荷(即放电)的事件(统称为放电事件)很敏感。如 果足够强烈,这种放电事件会使组件进入不正确、不良或错误状态,由此 使元件至少暂时无法工作。换言之发生了故障。尽管一些系统设计师已经 提供了针对放电事件保护或隔离系统组件的器件,厂家不使用充分的屏蔽 或采用低效的保护机制来确保防范这种事件也并非少见。在一些情况下, 制造设计决策可能由装置的功能、装置的尺寸或物理特性或简单的经济情 况来支配。在任何情况下,计算系统会受到且将继续受到各种放电事件的 影响,这种放电事件将导致故障(即无法工作的状况)。
移动装置对放电事件尤其敏感,并且由于它们的使用性质,可能会发 生故障。例如,移动装置根据定义是小巧且便携的。用户能够手持装置移 动很大距离且跨越各种环境。因此,用户的移动可能会对用户身体或衣服 上的电荷产生加强作用。在接触或接近移动装置时,用户可能会充当导线, 将电荷转移到移动装置并可以使其无法工作。然而还发现,非移动计算机 系统,例如台式计算机、机顶盒或其他计算系统也可能对放电事件敏感, 且在类似的操作者将电荷传导到这种系统的情况下可能会发生故障。
如本领域的普通技术人员所公知的,诸如移动电话或其他手持装置的
计算系统可以包括两个处理单元,中央处理单元(CPU)和图形处理单元
(GPU)。 CPU经由北桥、南桥、任何适当的一根或多根总线或任何其组合耦 合到GPU,以传递绘图命令和其他操作命令或指令,随后加以执行。GPU可 以与多个寄存器、帧缓冲器和图形处理器相关联。类似地,CPU可以与多个 个体组件相关联,且耦合到用于存储可执行指令和工作数据等的系统存储 器。在一个实施例中,可以在系统存储器中存储各种驱动程序和其他软件 模块以在CPU中执行。
大部分移动装置的CPU通常是被屏蔽的以防其及其相关电子组件受到 放电事件影响。然而,由于和制造和设计相关的设计决策多种多样,移动 装置的GPU得不到充分保护是常见情况。因此,己经发现在发生放电事件 时,GPU及其相关电子组件中的至少一个或多个处于不良或不工作状态。例 如,发现GPU寄存器尤其易发生故障,且需要重启来继续工作。
尽管现有技术中有解决方案来捡测与GPU相关的故障状况(即指示发 生故障的任何状况)并将GPU恢复到可工作状态,但没有使处理单元恢复 到已知的无缝或接近无缝操作的可工作状态的已知方案。例如,已知利用 CPU执行的驱动程序监测GPU的某些寄存器来检测放电事件和随后的故障状 况。已知的现有技术通常通过重新启动故障影响的GPU和GPU驱动程序来 工作。然而,重新启动GPU会丢失在GPU驱动程序正常工作期向获得的用 户上下文信息。于是,CPU的操作系统以及发出由CPU和GPU之一执行的命 令的其他客户端/应用需要在执行之前产生新的用户上下文信息。通常,这 需要用户启动此前在检测到故障状况之前运行的软件模块/驱动程序的另 一实例。本领域的普通技术人员和计算装置的一般用户都理解这会导致数 据丢失,且用户对它们的计算装置不满意。
因此,需要一种在计算系统中使用的故障检测和恢复方法和设备,其 中,协处理单元上运行的驱动程序、客户端和其他应用不受与处理单元相 关的故障状况影响。另一种需求是恢复计算系统,使其受影响部分返回到 已知的可用状态。因此,操作系统或使用该处理单元的客户端/应用都不会 受到放电事件的影响。相反,它们仍然继续工作,只给用户对计算系统的 体验带来最小的影响。如上所述,这种方法和设备在检测出故障状况之后 提供了一种接近无缝的恢复方法。
根据本发明的第一方面,提供了一种方法,包括
在检测到与处理单元相关联的故障状况时,利用所存储的用户上下文 信息恢复所述处理单元。
根据本发明的第二方面,提供了一种包括通过至少一个如下操作检测 与处理单元相关联的故障状况的方法
由协处理单元检测与所述协处理单元相关联的^f入己接收到标识故障
状况的信息;
由所述协处理单元基于监测与正常运行中的处理单元相关联的至少一
个存储器位置(memory location)来检测初始故障状况,并由所述协处理单 元基于确定与所述处理单元相关联的至少另一个存储器位置包含指示故障 状况的信息来验证所述初始故障状况为故障状况;
由所述协处理单元确定与所述处理单元相关联的至少一个处理单元标 识存储器位置包含不正确的处理单元标识信息;以及
由所述协处理单元确定与所述处理单元相关联的至少一个像素时钟存 储器位置包含不正确的像素时钟信息;以及
在检测到故障状况之后,至少通过利用初始化例程将处理单元的至少 一个存储器位置重新初始化到工作状态来利用所存储的用户上下文信息恢 复所述处理单元。
根据本发明的第三方面,提供了一种设备,包括
用于在检测到与所述处理单元相关联的故障状况时利用所存储的用户 上下文信息恢复所述处理单元的逻辑。
根据本发明的第四方面,提供了一种设备,包括 处理单元;以及
可运行地耦合到所述处理单元和包含所存储的指令的存储器的协处理 单元,使得当所述协处理单元执行所述指令时,使所述协处理单元
在检测到与处理单元相关联的故障状况时,利用所存储的用户上下文 信息恢复所述处理单元。
根据本发明的第五方面,提供了一种包括所存储的指令的存储器,在
执行所述指令时使协处理单元
在检测到与处理单元相关联的故障状况时,利用所存储的用户上下文 信息恢复所述处理单元。


在结合附图考虑以下描述时,本发明将更容易得到理解,在附图中, 类似的附图标记表示类似元件
图1为方框图,示出了根据本公开的一个实施例的检测与处理单元相 关联的故障状况并恢复处理单元的系统的一个范例;
图2为流程图,示出了根据本公开一个实施例的用于检测故障状况和 恢复处理单元的方法的一个范例;
图3为流程图,示出了根据图2的方法检测与处理单元相关的故障状 况的一个范例;
图4为流程图的第一部分,示出了在图2的方法中使用的检测与处理 单元相关的故障状况的方法的另一个范例; 图5为图4的方法的后部分;
图6为流程图,示出了根据图2的方法的利用所存储的用户上下文信 息恢复处理单元的一个范例;以及
图7为方框图,示出了根据本公开的第二实施例的检测与处理单元相 关联的故障状况并随后恢复处理单元的系统的第二范例。
具体实施例方式
总地讲来,本公开提供了一种包括处于计算环境中处理单元和协处理 单元的系统,其中处理单元用于检测与协处理单元相关联的故障状况,且 在检测之后利用所存储的用户上下文信息恢复处理单元。在正常工作期间, 由协处理单元存储用户上下文信息,其中用户上下文信息例如包括关于处 理单元及其相关组件和器件是处于"开启"或"关断"状况的状态信息, 用于支持处理单元及其相关组件和器件的使用率和功能性的其他配置信 息。此外,用户上下文信息可以包括表示在执行特定操作命令时要使用的 资源的信息、资源的位置信息、以及与处理单元存储器位置相关的其他信
息。当处理单元的至少一部分由于诸如静电放电的放电事件而变得不工作 时,检测到与处理单元相关的故障状况。协处理单元可以通过在检查与处 理单元相关联的至少一个存储器位置之后识别出表示故障状况的信息来检 测故障状况。
在检测时,协处理单元利用所存储的用户上下文信息恢复处理单元, 由此使协处理单元及其相关组件返回到已知的可工作状态而无需重启与处 理单元相关联的任何相关驱动程序,或无需重启运行于处理单元上且与协 处理单元交互的任何其他客户端。可以用用户上下文信息来将处理单元、 与处理单元相关联的显示器以及与处理单元相关联的一个或多个电路之一 的当前(即故障后检测的)状态信息与同一装置或电路在故障前检测状态 信息进行匹配。将故障后的状态信息与故障前的状态信息进行匹配可以包 括在发出要使用至少一个存储器位置的操作命令时向至少一个存储器位置 或寄存器写入所存储用户上下文信息的必要部分。
在一个实施例中,协处理单元包括用于实施当前披露的方法的驱动逻 辑等。在另一个实施例中,该协处理单元能够执行驻留在存储器中的软件 模块,其中该模块含有被存储的指令,该指令在被执行时实施等价的方法。
在各种优点之中,本公开提供了一种用于检测与处理单元相关联的故 障状况并利用用户上下文信息恢复处理单元的方法和设备。通过存储用户 上下文信息,与处理单元相关联的或与处理单元交互的驱动程序以及其他 客户端和应用无需被重启或重新初始化。因此,该恢复方法与已知的现有 技术方案相比,在其效率、速度和功能性方面提供了一种接近无缝的过程。
图1为方框图,示出了根据本公开一个实施例的系统100的一个范例, 其至少包括处理单元102、协处理单元104和存储器106。发明人构思的是, 系统100可以与一个或多个大型计算机系统(未示出)相关联。系统100 还可以包括至少一个直接或间接耦合到处理单元的显示装置108,使得显示 装置108能够从处理单元102接收控制信息和显示信息以随后进行显示。 系统100还可以包括至少一个视频输入装置110,例如摄像机或其他视频信 息源。该视频输入装置110利用任何适当的装置直接或间接耦合到处理单 元102和协处理单元104,由此可以在处理单元102和协处理单元104之间 传输控制和其他视频信息。利用北桥、南桥、至少一个总线或任何适当组
合将处理单元102直接或间接地耦合到协处理单元104,以实现其间的充分 通信。类似地,通过至少一个总线或任何其他适当的数据传输结构将协处 理单元104直接或间接地耦合到存储器106,以实现充分通信。
在一个实施例中,处理单元102可以是系统100的图形处理单元(GPU) 或任何其他适当的处理单元,其中利用一个或多个集成电路(IC)、离散逻 辑器件、状态机、专用集成电路(ASIC)或任何其他适当结构来制造或构 成处理单元102。发明人进一步构思,可以在系统100中使用的一个或多个 物理卡上设置包括处理单元102的组件。处理单元102包括耦合到帧缓冲 器114的处理器112以及也耦合到该处理器112的至少一个处理单元存储 器位置116。发明人构思,处理器112可以包括至少一个处理装置,例如但 不限于在图形处理单元或任何其他处理单元中常见的任何适当的分布式或 非分布式处理或微处理装置。在一个实施例中,处理器112为能够执行在 显示装置108上进行显示的绘图命令的图形处理器或渲染引擎。本发明还 类似地构思,帧缓冲器114以及与处理单元116相关联的至少一个存储器 位置可以是任何适当的存储器件,例如但不限于易失性和非易失性存储器、 随机存取存储器(例如包括RAM、 DRAM、 SRAM)、基于ROM的存储器(例如 包括R0M、 PR0M、 EPR0M、 EEPR0M)和闪速存储器。在一个实施例中,与处 理单元116相关联的至少一个存储器位置包括多个用于处理器112的专用 通用寄存器。
协处理单元104可以是系统100的中央处理单元(CPU)或任何其他适 当的处理单元。协处理单元104至少包括操作系统(0S)逻辑118和驱动 程序逻辑120,其中驱动程序逻辑120对应于与处理单元102相关联的装置 驱动程序。例如,驱动程序逻辑120可以对应于GPU驱动程序。协处理单 元104的个体组件,例如OS逻辑118和驱动程序逻辑120可以包括用于向 外传播与驱动程序对应的操作系统和装置/处理单元(例如处理单元102) 相关的各种逻辑功能的任何适当结构。例如,可以利用例如一个或多个集 成电路(IC)、离散逻辑器件、状态机、专用集成电路(ASIC)或任何其他 适当的装置来实现OS逻辑118和驱动程序逻辑120。发明人构思,可以在 系统100中使用的一个或多个物理卡上设置包括协处理单元104的组件。
在一个实施例中,驱动程序逻辑120可以包括能够存储与处理单元102
相关联的用户上下文信息的处理单元用户上下文信息存储逻辑122、能够检 测与处理单元102相关联的故障状况的处理单元和故障检测逻辑124,以及 能够利用所存储的用户上下文信息恢复处理单元102的利用用户上下文信 息恢复处理单元的逻辑126。 OS逻辑118和驱动程序逻辑120彼此耦合, 而通过任何适当装置将个体逻辑组件122-126类似地彼此耦合,以提供其 间的通信以及上述系统组件102、 104、 106、 108、 110之间的通信。为了 进行例示,将逻辑组件122-126描述成驱动程序逻辑126之内的三个适当 彼此耦合的独立逻辑组件,以实现必要的数据和信息流动。然而,发明人 构思,可以组合逻辑组件122-126以形成单个逻辑组件或任何数量的逻辑 组件而不脱离本公开的精神或范围。
存储器106可以是分布式或非分布式存储器或任何其他适当形式的存 储器,包括但不限于易失性和非易失性存储器、随机存取存储器(例如包 括RAM、 DR颜、SRAM)、基于ROM的存储器(例如包括R0M、 PR0M、 EPR0M、 EEPR0M)和闪速存储器。发明人还进一步构思,存储器106可以对应于任 何能够至少与协处理单元104交互的适当外部存储器装置。存储器106能 够存储如用户上下文信息存储器128所示的用户上下文信息,以及实现系 统100的功能所需的其他类型的信息。在一个实施例中,存储器106对应 于系统存储器。
如本领域的普通技术人员所知,协处理单元104用于向处理单元102 发送绘图命令和其他操作命令等。各种操作命令可以源自诸如协处理单元 104的操作系统或协处理单元104上运行的任何数量的客户端或应用的源。 操作命令可以包括处理单元102用于执行命令中所请求的操作的用户上下 文信息等信息。用于每个操作命令的用户上下文信息通常是至少由驱动程 序逻辑126创建的且可以包含(例如)表示在执行操作命令时要使用的资 源(例如存储器中存储的纹理)的信息、该资源位于何处(例如地址或指 向该地址的指针)和其他与处理单元存储器位置116相关的信息(例如在 执行特定操作命令时使用的存储器位置数据)。如通常所理解的,用户上下 文信息可以对应于与协处理单元104上运行的特定客户端或应用相关联的 特定用户上下文。通常,在正常运行期间由驱动程序逻辑126恢复用户上 下文信息并保持在存储器106中,以在稍后的与操作命令的同一来源相关
联的操作命令中使用。在一个实施例中,除了与存储器106中用户上下文
信息的存储、维护和检索相关的其他功能之外,处理单元用户上下文信息
存储逻辑122执行该功能。
如上所述,诸如系统100之类的许多系统包括针对放电事件的对于协 处理单元104的充分屏蔽和保护,而对处理单元102则忽略或提供低级别 的保护。因此,在放电事件中,系统100的至少一部分(例如协处理单元 104)安全地吸收该冲击并继续无误差的工作。然而,在很多放电事件中, 处理单元102和一个或多个处理单元存储器位置116进入不正确、不良或 错误状态,使得处理单元102的至少一部分无法工作。
图2为流程图,示出了用于检测故障并随后恢复处理单元的方法的一 个范例。该方法开始于方框206,其中,在检测到故障状况时,利用所存储 用户上下文信息恢复处理单元。在一个范例中,这可以对应于利用图1的 使用用户上下文信息的恢复处理单元的逻辑126来将处理单元102恢复到 已知的可工作状态。本质上,方框206的方法包含如虚线方框202和204 所示的两个其他方法。在方框202中,在处理单元正常运行期间存储用户 上下文信息。在一个范例中,可以利用与图1所示的协处理单元104的驱 动程序逻辑120相关的处理单元用户上下文信息存储逻辑122实现方框202 中枚举的方法的特定部分。在处理单元102正常运行期间,处理单元用户 上下文信息存储逻辑122存储用于由处理单元102执行命令操作的用户上 下文信息。返回到图2的方法,在方框204中,检测出与处理单元相关联 的故障状况。出于示例的目的,可以由图1的处理单元故障检测逻辑124 执行故障状况检测。最后,如方框208中所示,图2的方法可以包括在检 测到故障状况时经由初始化序列对显示器进行重新初始化。根据图1的系 统100,在一个范例中,可以通过从处理单元102向显示装置108发送适当 的用于重新初始化的适当的控制信息来实现这点。在完成时,该方法结束。
图3为流程图,示出了如图2的方框204所示检测与处理单元相关联 的故障状况的一个范例。如图所示,该方法可以包括如方法方框302-308 所示的至少四个不同例程中的一个或多个。在一种情况下,如方框302所 示,通过利用协处理单元检测与协处理单元相关联的输入已接收到标识故 障状况的信息来检测故障状况。在一个范例中,这可以对应于利用图1的
协处理单元104,更具体而言利用与协处理单元的处理器(未示出)相关联 的通用输入/输出(GPIO)管脚或端口来检测标识故障状况的信息。在一个 实施例中,GPIO管脚可以耦合到诸如图1的显示装置108的显示器,从而 被设计成尤其容易受放电事件影响且随后出现故障。例如,在发生放电事 件时,图1所示的系统100可能会从用户或任何其他物体接收到转移的电 荷,由此经由显示装置108在GPI0管脚处接收到转移的带电粒子。在一个 实施例中,GPIO管脚可以看到切换的状态,或者表示故障状况的任何其他 信号或信息。
图3的方法还可以包括由协处理单元基于监测与正常运行的处理单元 相关联的至少一个存储器位置来检测初始故障状况,并基于确定与处理单 元相关联的另一个存储器位置包含指示故障状况的信息来验证该初始故障 状况为故障状况,如方框304所示。出于示例的目的,该可选项可以对应 于利用协处理单元104,更具体而言利用处理单元故障检测逻辑124来监测 与处理单元116相关联的至少一个存储器位置的至少一个特定的操作命令 存储器位置。在一个范例中,这可以对应于监测与处理单元102相关联的 已知寄存器。在处理单元102执行操作命令时,与处理单元116相关联的 至少一个存储器位置的至少一个特定的操作命令存储器位置通常会接收和 存储反映操作完成的新信息等。在正确的存储器位置未接收到指示完成的 信息、未保存在其中或写入其中时,处理单元故障检测逻辑124检测初始 故障状况。此时,处理单元故障检测逻辑124将通过检査与处理单元116 相关联的至少另一个存储器位置(例如,己知尤其易受放电事件影响且发 生故障的至少一个预定存储器位置)来验证该初始故障状况为故障状况。 这可能对应于检查与"不成功"操作命令不相关的一个或多个存储器位置 (即不用于执行操作命令的存储器位置)。如果处理单元故障检测逻辑126 检查的与处理单元116相关联的至少另一个存储器位置中所含的信息不正 确或不可读、或者无效,处理单元故障检测逻辑124断定该初始故障状况 为故障状况。
或者,方框204的方法可以包括由协处理单元判断与处理单元相关联 的至少一个处理单元标识存储器位置包含不正确的处理单元标识信息,如 方框306所示。在一个范例中,这可以包括利用处理单元故障检测逻辑124来检査被标识为处理单元标识存储器位置的至少一个处理单元存储器位置
116,其中所保持的处理单元标识信息用于和协处理单元104等通信。在至
少一个处理单元标识存储器位置中所含的信息不正确、不可读或无效的情
况下,检测出故障状况。最后,图3的方法可以包括由协处理单元确定与 处理单元相关联的至少一个像素时钟存储器位置包含不正确的像素时钟信 息,如方框308所示。类似于方框306的方法(其中该方法包括由协处理 单元确定至少一个处理单元标识存储器位置116包含不正确的信息),处理 单元故障检测逻辑124可以类似地标识和检查与图1的处理单元存储器位 置116相关联的至少一个像素时钟存储器位置,以确定其中存储的像素时 钟信息是否正确。如果该信息不正确,则检测出故障状况。
图4为流程图,示出了根据图2的方法检测与处理单元相关联的故障 状况的另一个范例。通常,图4的方法类似于图3的方法。然而,图4所 示的方法示出了根据图2的方框204检测故障状况的更为动态的方法。例 如,图4的方法可以被实现为一个或多个例程,其中将上述逻辑组件用于 实现该一个或多个例程。该方法开始于判断方框402,其中,由协处理单元 判断与协处理单元相关联的输入是否已收到标识故障状况的信息。如果已 经收到这种信息,该方法前进到根据图2的方框206,在此利用所存储用户 上下文信息恢复处理单元。在一个实施例中,方框402可以由处理单元故 障检测逻辑124加以实施并可以对应于特定的超时期间。例如,处理单元 故障检测逻辑124可以在任何适当的超时期间(例如800ms)中"探听"与 协处理单元相关联的处理器(未示出)的GPIO管脚上的状态改变或其他所 接收的信息,其中状态改变或其他所接收的信息指示故障状况。如果协处 理单元已经收到了故障标识信息,则验证有故障状况。
或者,如果未接收到这种信息,该方法在判定方框404中继续进行, 在此由协处理单元基于监测与正常运行的处理单元相关联的至少一个存储 器位置来确定是否检测出初始故障状况。判断方框404类似于方法方框304 的第一部分,且可以如上所述利用处理单元故障检测逻辑124来执行。在 一个实施例中,处理单元故障检测逻辑124使用类似的超时期间(例如 800ms),使得如果在该超时期间之内操作命令未使与处理单元116相关联 的至少一个存储器位置(例如寄存器)存储表示完成操作命令的信息(例
如位),就可以确定存在初始故障状况。然而,如果存储了表示完成了操作 命令的信息,则可以确定不存在初始故障状况。该确定的依据是导致"未 完成"操作命令的一个原因可能是放电事件。该确定是"初始的",仅仅因 为做出该确定本身并不表示上面定义的故障状况。
如果未检测出初始故障状况,根据引用的首字母A,该方法前进到图5 的判断方框502。然而,如果判定检测到初始故障状况,那么该方法在判断 方框406中继续进行,在此通过涉及到协处理单元的验证过程来确定该初 始故障状况是否是故障状况。判断方框406基本类似于图3的方法方框304 的第二部分,且类似地,基本由处理单元故障检测逻辑124来执行。如果 证实该初始故障状况为故障状况,该方法继续到图2的方框206,以恢复处 理单元。或者,如果初始故障状况不是故障状况,根据首字母A,该方法前 进到图5的判断方框502。
在一个实施例中,可以在独立于图4和5的方框的剩余部分的连续运 行的例程中实现方框404和406,该处理单元检测逻辑124可以设置失败标 记,以指示该初始故障状况为故障状况。例如,该失败标记可以对应于存 储器106中的变量或任何其他适当存储器位置(未示出)中的至少一位。 于是,方框404和406可以包括检査适当的存储器位置,看是否存在失败 标记。
如上所述,图5为图4方法的第二部分并开始于判断方框502,在此协 处理单元判断与处理单元相关联的至少一个像素时钟是否含有不正确的像 素时钟信息。如果该至少一个像素时钟寄存器包含不正确的像素时钟信息, 该方法前进到图2的方框206。或者,该方法返回到判断方框402,以重新 初始化与图2的方框204相关的例程。可以按照上文针对方法方框306和 308所述的方式实现判断方框502和504。通过这种方式,本领域的普通技 术人员将认识到,图1的处理单元故障检测逻辑124可以利用协处理单元 104上连续执行的一个或多个例程来确定是否检测到与处理单元104相关联 的故障状况。
发明人构思,可以使用任何适当的机制来触发方框206的恢复方法。 例如,如果图4和5中的任何判断方框检测到或确定有故障状况,可以由 处理单元故障检测逻辑124在存储器106的适当位置设置类似于失败标记
的故障标记,由此向利用用户上下文信息恢复处理单元的逻辑126指示必
须要进行恢复。或者,故障标记可以是任何其他适当的存储器位置(未示 出)中的至少一个位,以表示相同内容。
图6为流程图,示出了根据图2在检测出故障状况时恢复处理单元102 的方法的一个范例。该方法开始于方框602,在此在检测出故障状况时,禁 止向处理单元发出至少一个操作命令。出于说明的目的,这可以对应于利 用图1所示的利用用户上下文信息恢复处理单元的逻辑126来防止由任何 客户端、应用或其他装置向处理单元102发出至少一个命令。在将驱动程 序逻辑120用于执行存储器中存储的指令的情况下(参见图7,其中驱动程 序为软件模块),可以通过获得所有相互排除的对象(互斥体)来实施该方 法,互斥体允许客户端、应用和其他装置访问、读取或写入处理单元102。 本领域的普通技术人员将理解,操作系统可以使用一个或多个互斥对象来 提供对共享资源的访问权限。例如,如果为一个过程、线程或应用分配了 互斥对象来访问与处理单元102相关联的共享资源,则其他过程、线程或 应用不能访问该特定的共享资源。
该方法在方框604中继续,在此根据初始化例程将与处理单元相关联 的至少一个存储器位置重新初始化到工作状态。在一个实施例中,方框604 所示的重新初始化方法可以包括向与处理单元相关联的至少一个存储器位 置写入故障信息,然后向处理单元的至少一个存储器位置写入初始化信息。 出于例示的目的,这可以对应于使用利用用户上下文信息恢复处理单元的 逻辑来切换与处理器112的已知复位管脚或端口相关联的状态,并使用现 有技术中公知的任意数量的初始化例程来向与处理单元116相关联的至少 一个存储器位置写入缺省值,由此复位处理单元102的处理器112。在这一 点上,本领域的普通技术人员可以发现该至少一个存储器位置尚未处于可 工作状态。于是,可以使用利用用户上下文信息恢复处理单元的逻辑126 来根据初始化例程向与处理单元116相关联的至少一个存储器位置填充或 写入初始化信息,由此使与处理单元116相关联的至少一个存储器位置进 入可工作状态。可以发现,方法方框604的实施可以对应于在系统100启 动期间使用的已建立的例程。
该方法在方框606继续,在此,使用所存储用户上下文信息来确定与
至少一个处理单元相关联的故障前检测状态信息、与处理单元相关联的一 个或多个显示装置、以及与处理单元相关联的一个或多个电路。应该理解,
可以利用任何形式的技术来构造电路,因此,电路例如可以包括IC、 ASIC、
状态机、离散逻辑组件或任何其他电子组件。本领域的普通技术人员将理 解,状态信息可以包括处理单元、 一个或多个显示装置、或一个或多个电 路是处于"开启"还是"关断"状况,以及用于支持处理单元、 一个或多 个显示装置或一个或多个电路的使用和功能性的任何其他配置信息。例如,
与处理单元102相关联的一个或多个电路可以包括任何数字信号处理器
(DSP),例如但不限于视频编码器/解码器和音频编码器/解码器。然而, 发明人构思,可以根据图6的方框606和608配置与处理单元102相关联 的任何其他电路。
在一个实施例中,可以使用利用用户上下文信息恢复处理单元的逻辑 126和存储器106执行方框606中描述的方法。更具体而言,可以使用利用 用户上下文信息恢复处理单元的逻辑126通过图1的用户上下文信息存储 器128中的(即存储在存储器106中)所存储的用户上下文信息来循环, 以确定至少一个处理单元102、与处理单元108相关联的一个或多个显示装 置、以及与处理单元102相关联的一个或多个电路的故障前检测状态信息。 例如,在确定一个或多个与处理单元102相关联的显示装置是否处于"开 启"状况时,利用用户上下文信息恢复处理单元的逻辑126可以检查存4诸 器128中所存储的用户上下文信息,以判断是否有任何应用或客户端产生 的表示一个或多个显示装置应当处于"开启"状况的用户上下文信息(故 障探测之前)。
在确定故障前检测状态信息时,该方法在方框608中结束,在此,改 变处理单元、 一个或多个显示器、和一个或多个电路中的至少一个的故障 后检测状态信息以基于所存储的用户上下文信息匹配所确定的故障前检测 状态信息。在一个实施例中,改变故障后检测状态信息,以通过向与负责 支持处理单元、 一个或多个显示器、和一个或多个电路中的至少一个的功 能性的处理单元相关联的至少一个存储器位置写入状态信息来匹配所确定 的故障前检测状态信息。在该范例中,利用用户上下文信息恢复处理单元的 逻辑126可以用于向与处理单元116相关联的至少一个对应存储器位置写
入状态信息。在另一个实施例中,利用用户上下文信息恢复处理单元的逻
辑126可以仅在发出需要使用至少一个存储器位置的操作命令时向对应的 存储器位置写入状态信息。换言之,在该范例中,直到处理单元102上执 行的应用或客户端产生需要与至少一个存储器位置相关联的功能性的命令 操作之前,不改变故障后检测状态信息。
图7为用于检测与处理器相关联的故障状况并在检测出故障状况时对 其进行恢复的系统700的可选范例。像系统100那样,系统700包括处理 器102,且可以包括上面与图1所述相同方式耦合在其间的显示装置108和 视频输入装置110。类似地,系统700包括耦合到存储器(例如系统存储 器)704和处理器102的协处理单元702,相对于协处理单元104和存《诸器 106处于图1所示方式的显示装置108和视频输入装置110。存储器704包 括OS模块706、驱动模块708和用户上下文信息存储器128等。此外,马区 动程序模块708包括处理单元用户上下文信息模块710、处理单元故障检测 模块712和利用用户上下文信息恢复处理单元的模块714。总地来说,上面 列出的模块706-714包括所存储的指令,从而在协处理单元702执行指令 时,使协处理单元702执行与如上所述的图1的对应逻辑组件118-126禾目 同的功能和操作。因此构思可以将用于检测处理单元中故障并利用所存^诸
的用户上下文信息对其修复的系统实现为硬件和软件电子组件的任意乡且合。
因此,以上参考图1-7描述的方法和设备集成了在检测出故障状况时 利用所存储的用户上下文信息对协处理单元进行恢复。因为用户上下文f言 息中包含的信息表示在故障检测之前处理单元及其相关电路的状态,因lt匕 可以恢复处理单元的功率状态。通过改变处理单元、 一个或多个显示装置、 以及一个或多个电路中的至少一个的故障后检测状态信息以基于用户上下 文信息匹配所确定的故障前检测状态信息,迅速将处理单元102恢复到其 故障前的状况。换言之,处理单元102被恢复到已知的可工作状况或系纟充 (例如系统IOO)的用户受故障状况影响最小的状况。通过存储用户上下文 信息并在故障检测之后维护它,可以将其用于恢复不工作的处理单元102, 而无需重启或重新初始化该处理单元上运行的客户端、应用和驱动程序。 因而实现了接近无缝的恢复过程。
已经仅仅出于例示和描述的目的而非限制的目的给出了本发明的以上 详细描述和其中描述的范例。因此本发明意图覆盖落在以上披露和本文主 张的基本原理精神和范围之内的任何和所有的修改、变化和等价要件。
权利要求
1、一种方法,其包括在检测到与处理单元相关联的故障状况时,使用所存储的用户上下文信息恢复所述处理单元。
2、 根据权利要求1所述的方法,还包括在所述处理单元的正常运行期 间存储所述用户上下文信息。
3、 根据权利要求1或2所述的方法,其中检测所述故障状况包括下列各项中的至少一项由协处理单元检测与所述协处理单元相关联的输入己接收到标识所述 故障状况的信息;以及由所述协处理单元检测与所述处理单元相关联的至少一个存储器位置 包含指示故障状况的信息。
4、 根据权利要求3所述的方法,其中检测至少一个存储器位置包含指示故障状况的信息包括下列各项中的至少一项由所述协处理单元基于监测与正常运行中的所述处理单元相关联的至 少另一个存储器位置来检测初始故障状况,并由所述协处理单元基于确定 与所述处理单元相关联的所述至少一个存储器位置包含指示所述故障状况的信息来验证所述初始故障状况为所述故障状况;由所述协处理单元确定与所述处理单元相关联的至少一个处理单元标 识存储器位置包含不正确的处理单元标识信息;以及由所述协处理单元确定与所述处理单元相关联的至少一个像素时钟存 储器位置包含不正确的像素时钟信息。
5、 根据前述任一权利要求所述的方法,其中恢复所述处理单元包括 使用初始化例程将与所述处理单元相关联的至少一个存储器位置重新初始化到工作状态。
6、 根据权利要求5所述的方法,其中恢复所述处理单元包括防止向所 述处理单元发出至少一个操作命令。
7、 根据权利要求5或6所述的方法,其中使用初始化例程将与所述处 理单元相关联的至少一个存储器位置重新初始化到工作状态包括向与所述处理单元相关联的所述至少一个存储器位置写入缺省信息;以及向与所述处理单元相关联的所述至少一个存储器位置写入初始化信息。
8、 根据前述任一权利要求所述的方法,其中恢复所述处理单元包括 使用所存储的用户上下文信息来确定下列各项中至少一项的故障前检测状态信息所述处理单元、与所述处理单元相关联的一个或多个显示装 置、以及与所述处理单元相关联的一个或多个电路;以及基于所存储的用户上下文信息来改变下列各项中的至少一项的故障后 检测状态信息,以匹配所确定的故障前检测功率状态所述处理单元、所 述一个或多个显示装置、以及所述一个或多个电路。
9、 根据权利要求8所述的方法,其中改变所述故障后检测状态信息包 括当发出需要使用与所述处理单元相关联的至少一个存储器位置、与所 述处理单元相关联的至少另一个存储器位置、以及与所述处理单元相关联 的至少又一个存储器位置这三者中的一个或多个的操作命令时,向与所述 处理单元相关联的所述至少一个存储器位置、与所述处理单元相关联的所 述至少另一个存储器位置,以及与所述处理单元相关联的所述至少又一个 存储器位置这三者中的一个或多个中写入所存储的用户上下文信息的至少 一部分。
10、 根据前述任一权利要求所述的方法,包括在检测到所述故障状况 时通过初始化序列对显示器进行重新初始化。
11、 一种包括所存储的指令的存储器,所述指令在被执行时使协处理 单元根据任一前述权利要求所述的方法恢复处理单元。
12、 一种设备,其包括 处理单元;以及可操作地耦合到所述处理单元和包含所存储的指令的存储器的协处理 单元,从而当由所述协处理单元执行所述指令时,使所述协处理单元根据 权利要求1到10中的任一项所述的方法恢复所述处理单元。
13、 一种设备,其包括用于在检测到与处理单元相关联的故障状况时使用所存储的用户上下 文信息恢复所述处理单元的逻辑。
14、 根据权利要求13所述的设备,其中所述逻辑还用于在处理单元的 正常运行期间存储所述用户上下文信息。
15、 根据权利要求13或14所述的设备,其中用于检测故障状况的所述逻辑包括用于使协处理单元检测下列各项中至少一项的逻辑与所述协处理单元相关联的输入已接收到标识所述故障状况的信息;以及与所述处理单元相关联的至少一个存储器位置包含至少一个指示故障 状况的存储位。
16、 根据权利要求13到15中任一项权利要求所述的设备,其中用于使用所存储的用户上下文信息恢复所述处理单元的所述逻辑包括用于执行如下操作的逻辑使用所存储的用户上下文信息来确定下列各项中至少一项的故障前检 测状态信息所述处理单元、与所述处理单元相关联的一个或多个显示装置、以及与所述处理单元相关联的一个或多个电路;以及基于所存储的用户上下文信息来改变下列各项中的至少一项的故障后 检测状态信息,以匹配所确定的故障前检测功率状态所述处理单元、所 述一个或多个显示装置、以及所述一个或多个电路。
17、根据权利要求16所述的设备,其中用于改变所述故障后检测状态 信息的所述逻辑包括用于在发出需要使用至少一个存储器位置的操作命令 时向所述处理单元的所述至少一个存储器位置写入所存储的用户上下文信 息的至少一部分的逻辑。
全文摘要
一种系统的协处理单元检测与协处理单元相关联的故障状况,并在检测到时利用所存储的用户上下文信息恢复处理单元。在正常工作期间,由协处理单元在存储器中存储用于执行操作命令的用户上下文信息并在故障检测之后进行维护。当由于放电静电事件导致处理单元的至少一部分无法工作时检测为故障状况。可以通过由协处理单元接收到表示故障状况的信息,或通过检查与处理单元相关联的至少一个存储器位置来确定其中存储的信息是否表示故障状况来检测故障状况。协处理单元利用所存储的用户上下文信息将故障前检测状态信息恢复到与处理单元相关联的存储位置,使处理单元返回到已知的可工作状态。
文档编号G06F11/14GK101390058SQ200680053400
公开日2009年3月18日 申请日期2006年12月27日 优先权日2005年12月28日
发明者A·S·德阿尔梅达, H·严, I·W·Y·扬, M·艾哈迈迪 申请人:Ati技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1