CN100580637C - 防止固件缺陷干扰逻辑时钟的方法和系统 - Google Patents
防止固件缺陷干扰逻辑时钟的方法和系统 Download PDFInfo
- Publication number
- CN100580637C CN100580637C CN200710109548A CN200710109548A CN100580637C CN 100580637 C CN100580637 C CN 100580637C CN 200710109548 A CN200710109548 A CN 200710109548A CN 200710109548 A CN200710109548 A CN 200710109548A CN 100580637 C CN100580637 C CN 100580637C
- Authority
- CN
- China
- Prior art keywords
- clock
- scan
- firmware
- value
- enable
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318569—Error indication, logging circuits
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
提供了用于防止固件缺陷干扰逻辑时钟的计算机实现的方法和数据处理系统。响应于固件接口请求对功能单元的扫描操作,只有在停止对该功能单元的逻辑时钟的情况下,保护逻辑才允许对该功能单元激活扫描使能,否则不激活扫描使能、指示错误并且给出对固件的中断。同样,响应于来自固件接口、用来停止对功能单元的逻辑时钟的命令,只有在功能单元已经指示灾难性错误时,保护逻辑才允许停止对于该功能单元的时钟,否则不停止时钟、指示错误并且给出对固件的中断。
Description
技术领域
本发明总体涉及固件缺陷。更具体地,本发明针对用于防止固件缺陷干扰逻辑时钟的计算机实现方法和数据处理系统,以改进系统的可靠性。
背景技术
大多数据处理系统使用用于检测并且可能诊断错误的机制,以及提供从错误恢复的可能性。通常这两个功能是截然不同的,需要不同的硬件和软件机制。
在硬件和软件中实现的可靠性、可用性和可维护性(RAS)概念针对防止或识别系统故障(可靠性)、在故障情况下保持系统运行的能力(可用性)和以非破坏性的方法修复故障的能力(可维护性)。为了在新产品开发期间诊断设计错误、在生产时在系统建立期间识别坏的部分以及为了在系统操作时捕获错误,可在各级系统开发上提出RAS。RAS还可针对各种类型的故障,包括系统级设计疏忽、逻辑错误、例如硬件错误的硬故障、或者例如由于外部噪声或电路故障而在存储器中或数据传送后引起的数据错误的软错误。
在某些情况下,只需要识别已经发生了错误。在其它情况下,需要诊断错误,即,具体地识别其来源。最后,在某些情况下,希望消除或纠正错误。
在大型可缩放计算机系统中,高可用性取决于检测和隔离故障的能力。一旦被隔离,故障元件就与系统的其余部分隔开。为了确定根本原因和正确的恢复或修复动作,必须在故障元件还处于故障状态时从其收集数据,而不影响机器中的其余工作元件的稳态操作。
可通过问题分析固件来实时分析首次故障数据捕获(FFDC)数据,或将其传送到远程支持地点并由产品支持分析者来分析。在使用电平敏感扫描设计(LSSD)锁存器(latch)的设计中,此FFDC通常需要仅对故障元件停止逻辑时钟,并仅从故障元件中扫描出锁存器的状态。
在机器的其余部分继续运行的同时停止时钟并从故障元件中扫描出锁存器值,这需要计时边界和扫描链(chain)的分离。希望在扫描域中具有精细粒度,以减少许多测试或初始化功能的有效负载。在大型可缩放的多节点计算机系统中,在系统中所有芯片上的计时边界和扫描链的数目可能非常大(数千)。由于大量的I/O连接,所以经常在系统中的多个芯片上分配用于这些计时和扫描链边界的控制,这将需要全部从单芯片或控制器来独立控制I/O连接。这样,需要系统控制固件来管理分配的计时和扫描控制。系统控制固件的复杂度使得其倾向于产生缺陷,就像任何其它复杂的软件或固件应用。
如果对于还在运行的机器的某部分中的元件的时钟无意地停止了,则将使得机器的那部分、或甚至整个机器故障。如果在逻辑时钟还在运行时访问扫描链,则将使得相应元件或整个机器故障。因为在系统控制固件中的缺陷可能引起不正确地停止时钟或不正确地访问扫描链,所以希望有方法防止这样的固件缺陷干扰机器中还在运行的元件。
对此问题的其它已知解决方案包括使用具有硬件状态机的专用时钟芯片,以控制每个时钟域的停止和启动,以及仅在关闭逻辑时钟的情况下向目标芯片/扫描链提供扫描时钟,或者依靠固件以分别在停止时钟或扫描链之前明确地确认检查停止(checkstop)状态或时钟停止状态。
使用专用时钟芯片的已知方法存在多个缺点。首先,在构成机器的芯片组中有附加的部分数目,这增加了成本并增加了计算建立块所占面积。其次,它要求在时钟芯片和全部芯片上的所有时钟域和扫描链之间的许多连接,这再次添加了包装成本和额外的故障的可能点。
如果对于每个扫描链而独立驱动扫描时钟,则具有多个扫描链的芯片必须在内部连线多个扫描时钟组。因为希望为了芯片级测试而以很快的频率扫描,所以扫描时钟配线要求在设计中的一些“平衡”,因此多个扫描时钟组大大增加了扫描时钟分配的设计工作。通过对每个扫描链使用分离的扫描使能(enable)信号和为每个链选通(gate)位于每个芯片中的扫描时钟,可减轻此问题,但是用于每个链的分离的扫描使能信号显著地增加已经沉重的来自时钟芯片的连接要求。编码值也可帮助减少连接,但是,这样也减少了同时为了高效测试和初始化排序而选择多个扫描链的灵活性。
依靠固件来明确地确认检查停止状态或时钟状态,这不提供对于固件错误的完整保护。在编码中采用公共练习(common practice)可减少错误的可能性,但是不会消除它们。并且当固件错误确实引起机器故障时,经常有故障使得硬件看起来有问题而不是固件,这导致了不正确的诊断和修复动作。
发明内容
说明性实施例的不同方面提供了用于防止固件缺陷干扰逻辑时钟的计算机实现的方法和数据处理系统。一个说明性的实施例从用于功能单元的固件接口接收对于扫描操作的请求。该请求包括扫描链长度值和环(ring)选择。说明性实施例使用扫描链长度值来产生全局扫描时钟。说明性实施例响应于环选择被设置为等于1的环选择值和全局时钟使能值被设置为等于0,而将扫描使能信号的值设置为等于1。通过扫描使能信号来选通全局扫描时钟,以形成本地扫描时钟。
此外,说明性实施例响应于环选择值被设置为1和全局时钟使能值被设置为等于1,而将扫描使能信号的值设置为等于0。然后,说明性实施例在寄存器中生成错误,并生成对固件接口的中断。
另一个说明性的实施例从用于功能单元的固件接口接收命令以控制一组逻辑时钟,并且该命令包括下一寄存器值。说明性实施例确定该组逻辑时钟是否正在运行。说明性实施例响应于当前运行的时钟,而确定下一寄存器值是否被设置为等于0。下一寄存器值被设置为等于0表示停止时钟,而下一寄存器值被设置为等于1表示启动时钟。说明性实施例响应于下一寄存器值被设置为等于0而确定是否将检查停止值设置为等于1。说明性实施例响应于检查停止值被设置为等于1而停止时钟。
此外,说明性实施例响应于检查停止值被设置为等于0而忽略该命令。随后,说明性实施例将错误发送到错误寄存器,并生成中断。
附图说明
在所附的权利要求中阐述了说明性实施例的相信是新颖性特征的特性,但是当接合附图阅读时,通过参考下面说明性实施例的详细描述,将最佳地理解说明性实施例的方面以及优选的使用模式、其它目的和优点,其中:
图1是其中可实现说明性实施例的代表性处理器芯片;
图2是根据说明性实施例的对称多处理器节点的示例性配置;
图3A-图3H表示根据说明性实施例的多个处理器节点的示例性组合;
图4图解了根据说明性实施例的多功能域中的电平敏感扫描设计(LSSD)锁存器的计时和扫描;
图5A描绘了根据说明性实施例的多功能逻辑单元中的功能计时的示例性时序图;
图5B图解了根据说明性实施例可独立控制来自时钟控制逻辑的全局时钟使能信号;
图6是对于根据说明性实施例的多功能逻辑单元的扫描计时的时序图;
图7图解了根据说明性实施例的分离逻辑单元的逻辑时钟和扫描时钟的独立控制;
图8图解了根据说明性实施例在扫描逻辑单元时无意地引起的危险,同时对该单元的逻辑时钟仍然运行;
图9图解了根据说明性实施例的多功能单元的时钟运行扫描保护;
图10图解了根据说明性实施例的多功能单元的检查停止时钟停止保护;
图11图解了根据说明性实施例的多功能单元的时钟运行扫描保护操作的流程图;以及
图12图解了根据说明性实施例的多功能单元的检查停止时钟停止保护操作的流程图。
具体实施方式
说明性实施例提供了计算机实现的方法和数据处理系统,以防止固件缺陷干扰多内核微处理器芯片中的逻辑时钟,从而改善系统稳定性。从故障组件收集首次故障数据捕获(FFDC)数据,以供诊断,这要求停止逻辑时钟并经由LSSD扫描而提取锁存器内容,同时系统中的其余操作元件保持运行。在系统中的所有芯片上分配时钟控制逻辑和扫描控制逻辑,每个具有存储器映射的寄存器接口,通过系统控制固件操作该寄存器接口。从每个逻辑时钟域到时钟运行控制逻辑的检查停止指示选择(gate)来自系统控制固件的更新是否关系到停止逻辑时钟域。为每个逻辑时钟域对扫描控制逻辑指示时钟运行状态,以选择是否对扫描链准予了固件访问。检测可能潜在地中断正在运行的逻辑域的不正确的固件动作,阻止该动作,并且通过指示违反(violation)的状态而向系统控制固件反向报告中断。
图1是其中可实现说明性实施例的代表性内核处理器芯片。处理器芯片100可具有一个或多个处理器内核102。每个处理器内核可简称为内核。处理器内核可具有多线程能力、检错和恢复功能、多个通用寄存器(GPR)和专用寄存器(SPR)。
根据说明性实施例,可将处理器内核102连接到二级(L2)高速缓存104和非高速缓存单元(NCU)106。NCU 106可通过将从处理器内核102接收的命令、地址和数据放置在存储装置的构造(fabric)总线130上以存储到主存储器,而处理存储命令。可替换地,这样的存储可以是对于存储器映射的I/O或寄存器的。,NCU 106可通过将从处理器内核102接收的命令和地址放置在构造总线130上以便访问存储器或存储器映射I/O或寄存器、以及接收从构造总线130返回的数据,而处理加载命令。可将对以后容易受到频繁访问的存储器的访问存储在L2高速缓存104中,以便减少由处理器芯片102执行的进一步操作的等待时间(latency)。
L2104可经由可互连到在同一板上的、以及还超出处理器芯片100所位于的板的其它芯片的构造总线130,而类似地提供对其内容的访问。可提供邻近的、但在芯片外的三级(L3)高速缓存116。管理在处理器内核102和L3高速缓存116之间的访问的控制在L3高速缓存控制114中。类似地,可在芯片上提供存储器控制器122和I/O接口126,以利于分别对总存储器124和各种I/O集线器128的长等待时间的访问。
对称多处理器(SMP)构造控制118是通过各种附属装置来协调构造总线130的竞争(contention)的专用装置,并且经由扩展端口A、B、X、Y和Z120来提供给SMP拓扑配置。在实施例中示出了5个扩展端口,但是应理解,为了获得复杂的多芯片拓扑的不同级,可使用更少或更多的扩展端口。预期5个端口可向64个芯片提供它们之间的快速指令、数据和时序信号。
普适(pervasive)控制108是存在于芯片上找到的各个处理块的外部、以及混合在各个处理块内部的电路。通过在每个处理器内核102的方便指令边界处提供每个处理器内核102的各个GPR和SPR的冗余副本,在普适控制108的功能中提供对每个处理器内核102上的处理器状态的备份。此外,普适控制108可帮助检错和将此错误传送到外部支持处理器(服务处理器)110,以由例如带外(out-of-band)固件执行进一步的动作。应当注意术语“支持处理器”和“服务处理器”可互换使用。
普适控制108是用于冗余振荡器112的选通点,并且提供或接收导出的(derivative)时序信号。应理解,错误或其它条件可从配置中去除一个或多个冗余振荡器112,并且普适控制108的一个目的在于从冗余振荡器112中选择更好的时序信号(或容限内的至少一个时序信号),并且选择可经由扩展端口120到达的分步编码(step-encoded)信号。
普适控制108还可包含控制状态机,用于响应于来自支持处理器110的激励而启动和停止时钟、扫描电平敏感扫描设计(LSSD)锁存器和到寄存器设备的串行通信路径(SCOM)。
图2以处理器节点200的形式并根据说明性实施例,示出了使用图1的内核处理器芯片的对称多处理器节点的示例性配置。处理器节点200可包含一个或多个服务处理器202、存储体(memory bank)204、I/O集线器210、构造扩展端口208和节点外(off-node)构造扩展端口206。构造扩展端口208和节点外构造扩展端口206为A和B端口216提供从多芯片模块(MCM)226到其它处理器节点上的MCM的连接性。构造端口X、Y和Z 222与同一处理器节点220内的MCM 226互连。构造端口X、Y、Z、A和B与图1中的构造130、SMP构造控制130和扩展端口120有关。
此外,通过与图1的存储器控制器122和存储器124之间的连接有关的连接220来将存储体204连接到MCM 226。每个多芯片模块226可在其硬件配置方面相同,但是由固件在系统初始化期间配置,以支持不同的系统拓扑和功能,例如主从功能的使能、或者可缩放多节点SMP系统中的多个节点的不同组合之间的连接性。
在特定的MCM中,可能发现内核处理器芯片212,其可以是处理器芯片,如图1的处理器芯片100,还可以是L3高速缓存214,其可以是例如图1的L3高速缓存116的L3高速缓存。处理器节点200可具有路由到在处理器节点200上发现的每个芯片的一个或多个振荡器224。在振荡器与功能单元之间的连接扩展到整个板和芯片,但是为了限制混乱而未在图2中示出。类似地,应理解,虽然未在图2中示出错综复杂的相互连接,但是在扩展端口206、208和到板上的各种芯片的I/O集线器210(如MCM 266的构造端口216和I/O端口218)之间存在许多这样的相互连接。
根据说明性实施例,图3A-3H描绘了例如图2的处理器节点200的多个处理器节点的组合。在此例子中,在单板或层300上,存在通过各个处理器节点302的节点外构造端口304而连接的8个处理器节点302。节点外构造扩展端口304允许不同的处理器节点302将数据和命令传递到层300上的其它节点。虽然未示出,但是可通过各个处理器节点302的构造扩展端口306来互连类似于层300的附加层。
图4图解了根据说明性实施例的多功能域中的电平敏感扫描设计(LSSD)锁存器的计时和扫描。使用用于平衡电学特性的网格结构,在例如图2的处理器芯片212的整个芯片上分配网格(grid)时钟402。可从锁相环(PLL)电路或一些其它类型的稳定振荡器源(如图2的振荡器224)驱动网格时钟402。
扫描控制逻辑404提供全局扫描时钟a_clk和b_clk,其被分配到芯片上的所有逻辑单元。逻辑单元x 408和逻辑单元y 410代表两个这样的逻辑单元。扫描控制逻辑404也为逻辑单元x 408和逻辑单元y 410提供独立的scan_enable信号412,其确定是否将在扫描操作中包括每个相应的逻辑电压中的锁存器。
时钟控制逻辑414为每个逻辑单元提供独立的全局时钟使能信号416,其控制是否对每个相应的逻辑单元运行或停止逻辑时钟。
逻辑单元x 408和逻辑单元y 410各自分别包含至少一个逻辑时钟分频器418或420,其将网格时钟402分频为分离的反相C1和C2时钟。电平敏感扫描设计(LSSD)锁存器使用主从触发器(filp_flop)。主L1触发器422和424具有数据输入和扫描输入。数据输入是通过功能逻辑426或428馈送的,并利用来自本地时钟分频器418或420的C1时钟而捕获。在与(AND)门430、432、434或436中,对全局扫描时钟a_clk和b_clk 406与各个scan_enable信号412执行与操作,以形成内部扫描时钟clka和clkb。内部扫描时钟clka用于捕获由不同的锁存器(在图中未示出)的扫描输出馈送到主L1触发器422和424的扫描输入。从L2触发器438或440仅仅得到来自主L1触发器422或424的数据。在或(OR)门422或444中,对本地时钟分频器418或420的C2输出与内部扫描时钟clkb执行或操作,以捕获从主L1触发器422或424到从L2触发器438或440中的数据。
扫描控制逻辑404用于通过链接在一起的锁存器而连续移动数据scan_out到scan_in,而不修改沿此路径的值。时钟控制逻辑414用于使得可以通过每个机器循环的计算结果来更新启动锁存器。在相同的功能单元中,这些操作相互排斥。
从固件接口446驱动扫描控制逻辑404和时钟控制逻辑414。固件接口446的实现方式在本申请的范围之外,但是可以是工业标准接口,如I 2C或JTAG(IEEE 1149.1),或者如由在图1的外部服务处理器110上运行的带外固件、或在系统中一个或多个处理器内核(如图1的处理器内核102)上运行的主机固件使用的本说明性实施例中的专利(proprietary)串行通信(SCOM)接口。
图5A描绘了根据说明性实施例的多功能逻辑单元的功能计时的示例性时序图。逻辑单元可为例如图4的逻辑单元408和逻辑单元410的逻辑单元。网格时钟(clkg)502从机器引导序列的初期开始自由运行。固件向例如图4的时钟控制逻辑414的时钟控制逻辑发出命令,以同时启动用于逻辑单元x504和逻辑单元y 506的时钟。全局时钟使能信号glb_clk_enable_x 508和glb_clk_enable_y 510变为激活,这允许例如图4的逻辑时钟分频器418或420的本地时钟分频器激活它们的时钟输出。如所示的,C2时钟512和514与clkg 502反相地激活,而C1时钟516和518与clkg 502同相地激活。根据是否正对芯片上的某些其它功能单元执行扫描操作,全局扫描时钟a_clk/b_clk 520可以激活或不激活。但是,不考虑全局扫描时钟a_clk/b_clk520是否正运行,功能单元scan_enable信号scan_enable_x 522和scan_enalbe_y 524为无效的低,因此本地扫描时钟clka 526和528以及本地扫描时钟clkb 530和532为无效(inactive)。由于本地扫描时钟clkb 530和532为无效,所以C2_b时钟534和536简单地跟随来自本地时钟分频器的输出的C2时钟512和514。因为如果C1时钟516和518和C2_b时钟534和536同时都激活,则来自例如图4的功能逻辑426或428的功能逻辑的data_in将通过例如图4的主L1触发器422或424的主L1触发器、和例如图4的从L2触发器438或440的从L2触发器涌入,使得锁存器仅表现为延迟元件而非存储器元件,所以C1时钟516和518必须与C2_b时钟534和536反相。
回到图5A,固件随后向例如图4的时钟控制逻辑414的时钟控制逻辑发出命令,以同时停止用于逻辑单元x 504和逻辑单元y 506这两者的时钟。glb_clk_enable_x 538和glb_clk_enable_y 540变为无效,如所图解的,这引起本地时钟分频器使它们的输出542、544、546和548无效。同样,C2_b时钟534和536简单地跟随分频器的输出C2时钟512和514,因此C2_b 550和C2_b 552也停止。
图5B图解了根据说明性实施例可独立控制来自时钟控制逻辑的全局时钟使能信号。全局时钟使能信号可以是例如图4的全局时钟使能信号416的全局时钟使能信号,而时钟控制逻辑可为例如图4的时钟控制逻辑414的时钟控制逻辑。固件向时钟控制逻辑发出命令,以仅对逻辑单元x 504启动时钟。时钟控制逻辑激活glb_clk_enable_x 554,其仅对逻辑单元x 504启动功能时钟556。然后固件向时钟控制逻辑发出分离的命令以启动对逻辑单元y506启动时钟,同时保留对逻辑单元x 504运行的时钟。时钟控制逻辑激活glb_clk_enable_y 558,其对逻辑单元y 506启动功能时钟560。
图6是根据说明性实施例的对于多功能逻辑单元的扫描计时的时序图。逻辑单元可以是例如图4的逻辑单元408和逻辑单元410的逻辑单元。固件向例如图4的扫描控制逻辑404的扫描控制逻辑发出命令,以选择用于扫描的逻辑单元x 602和逻辑单元y 604这两者。扫描控制逻辑激活全局scan_enable信号scan_enable_x 606和scan_enable_y 608。然后扫描控制逻辑激活全局扫描时钟a_clk 610和b_clk 612以通过锁存器扫描链来连续地移动值。固件包括具有扫描命令的扫描链中锁存器的数目,使得扫描控制逻辑能够为要通过链移动的位数提供正确数目的a_clk 610和b_clk 612对。时序图中的间隙614图解了所示的重复图案可继续比图上实际示出的更长的时间。
使用例如图4的与门430、432、434和436的与门,对全局扫描时钟与每个功能逻辑单元602或604中的scan_enable执行与操作。对于逻辑单元x 602,由于激活了scan_enable_x 606,本地扫描时钟clka 616跟随全局扫描时钟a_clk 610,而本地扫描时钟clkb 618跟随全局扫描时钟b_clk 612。因为glb_clk_enable_x 620是无效的,所以来自例如图4的本地时钟分频器418的本地时钟分频器的C1和C2时钟622是无效的,因此C2_b时钟624跟随本地扫描时钟clkb 618。类似地,对于逻辑单元y 604,由于激活了scan_enable_y 608,本地扫描时钟clka 626跟随全局扫描时钟a_clk 610,而本地扫描时钟clkb 628跟随全局扫描时钟b_clk 612。因为glb_clk_enable_y 630是无效的,所以来自例如图4的本地时钟分频器420的本地时钟分频器的C1和C2时钟632是无效的,因此C2_b时钟634跟随本地扫描时钟clkb 628。
在扫描链中移动了所希望的位置数目后,固件将命令发送到扫描控制逻辑,以终止扫描操作。扫描控制逻辑使得scan_enable_x 636和scan_enable_y638这两者无效。在示例性实施例中,在扫描操作结束后,扫描控制逻辑停止驱动全局扫描时钟a_clk 610和b_clk 612,由于对于逻辑单元x 602,无效的scan_enable_x 636将总是强制关闭对于逻辑单元x 602的clka 642和clkb 644的本地扫描时钟,并且C2_b时钟646跟随clkb 644,所以这与全局扫描时钟a_clk 640是否保持运行无关。类似地,对于逻辑单元y 604,无效的scan_enable_y 638将强制关闭对于逻辑单元y 604的clka 648和clkb 650的本地扫描时钟,并且C2_b时钟652跟随clkb 650。
图7图解了根据说明性实施例的用于分离逻辑单元的逻辑时钟和扫描时钟的独立控制。固件将命令发送到例如图4的时钟控制逻辑414的时钟控制逻辑,以仅对逻辑单元x 702启动时钟。时钟控制逻辑激活glb_clk_enable_x706,其激活逻辑单元x 702内的时钟708,然后固件向例如图4的扫描控制逻辑404的扫描控制逻辑发送命令,以仅对逻辑单元y 704初始化扫描操作。扫描控制逻辑激活scan_enable_y 710并驱动经过本地扫描时钟714的全局扫描时钟712。由于scan_enable_x 716在逻辑单元x 702中无效,所以逻辑单元x 702不被逻辑单元y 704中的激活扫描操作影响。由于scan_enable_y718在逻辑单元y 704中无效,逻辑单元y 704不被在逻辑单元x 702中运行的逻辑时钟影响。
对本领域的技术人员应该显而易见的是:如果无意地停止了逻辑单元的逻辑时钟,则将引起逻辑单元故障。不那么显而易见的是,在图8中所图解的危险由于无意地尝试扫描逻辑单元而引起,同时逻辑时钟对该单元仍然运行。可能由于固件错误使得不正确的命令被发送到扫描控制逻辑或时钟控制逻辑而引起这样的情形。
图8图解了根据说明性实施例在扫描逻辑单元时无意地引起的危险,同时对该单元的逻辑时钟仍然运行。固件首先将命令发送到例如图4的时钟控制逻辑414的时钟控制逻辑,以仅对逻辑单元x 802启动时钟。时钟控制逻辑激活glb_clk_enable_x 806,其激活逻辑单元x 802中的时钟808。然后固件向例如图4的扫描控制逻辑404的扫描控制逻辑发送命令,以仅对逻辑单元y 804初始化扫描操作,但是还不正确地包括逻辑单元x 802。扫描控制逻辑激活scan_enable_y 810并驱动经过逻辑单元y 804的本地扫描时钟814的全局扫描时钟812。但是,因为固件错误还将逻辑单元x 802包括在扫描操作的目标中,所以扫描控制逻辑还激活逻辑单元x 802中的scan_enable_y 816。这在逻辑单元x 802中引起2个危险。
第一个危险818显示出在从本地时钟分频器输出C1时钟822的同时激活本地扫描时钟clka 820。如前面所提到的,对主L1触发器同时激活C1时钟822和本地扫描时钟820引起在锁存器中捕获不可预料的值。
第二个危险824显示出对本地扫描时钟clkb 826与C2_b时钟828执行或操作,这使得在从本地时钟分频器输出C1时钟830的同时激活C2_b时钟828。如前所述,如果C1时钟830和C2_b时钟828同时激活,则主L1触发器和从L2触发器将向下游逻辑涌入和传播不可预料的值。
图9图解了根据说明性实施例的多功能单元的时钟运行扫描保护。例如图4的时钟控制逻辑的时钟控制逻辑902向所有功能单元以及保护逻辑908和910提供全局时钟使能glb_clk_enable_x 904和glb_clk_enable_y 906,其中保护逻辑908和910是例如图4的扫描控制逻辑404的扫描控制逻辑912的部分。例如图4的固件接口446的固件接口914通过首先写入在扫描控制逻辑912中的长度寄存器916来初始化扫描操作,其中状态机918使用首先写入的长度寄存器916来产生正确数目的全局扫描时钟920。然后固件接口914将命令寄存器922(其包含用来识别例如读、写、开始、继续或结束的扫描操作的类型的命令字段924)写入状态机918和环选择(ring select)926,其识别将由扫描操作执行操作的扫描链。
环选择字段926可具有用于每个扫描链的专用位,或者可以使用编码值或位的组合来选择扫描链的多个组合。为了清楚示例,图9仅示出了对应于例如图4的逻辑单元408和410的功能逻辑单元x和功能逻辑单元y的2个分离的环选择928和930。
保护逻辑908使用用于功能逻辑单元x的全局时钟使能glb_clk_enable_x 904、以及用于功能逻辑单元x的环选择ring_select_x928,以根据真值表934确定其是否应该激活用于功能逻辑单元x的scan_enable scan_enable_x 932。类似地,保护逻辑910使用用于功能逻辑单元y的全局时钟使能glb_clk_enable_y 906、以及用于功能逻辑单元y的环选择ring_select_y 930,以根据真值表938确定其是否应该激活用于功能逻辑单元y的scan_enable scan_enable_y 936。
保护逻辑真值表934用于功能单元x,并且图示了如果ring_select_x928的输入为0,则不管glb_clk_enable_x 904的输入值是什么,scan_enable_x 932的输出都将为0。但是,如果ring_select_x 928的输入为1,则scan_enable_x 932的输出只有当glb_clk_enable_x 904的输入是指示逻辑时钟对于功能单元x不运行的0时才激活,即设置为1。如果ring_select_x 928的输入是1,并且glb_clk_enable_x 904的输入也是1,这指示逻辑时钟对于功能单元正在运行,那么,抑制对scan_enable_x 932的输出,即设置为0,并且向错误寄存器944发信号通知错误940。
类似地,保护逻辑真值表938用于功能单元y,并且图示了如果ring_select_y 930的输入为0,则不管glb_clk_enable_y 906的输入值是什么,scan_enable_y 936的输出都将为0。但是,如果ring_select_y 930的输入为1,则scan_enable_y 936的输出只有当glb_clk_enable_y 906的输入是指示逻辑时钟对于功能单元y不运行的0时才激活,即设置为1。如果ring_select_y 930的输入是1,并且glb_clk_enable_y 906的输入也是1,这指示逻辑时钟对于功能单元y正在运行,那么,抑制到scan_enable_y936的输出,即设置为0,并且向错误寄存器944发信号通知错误942。
对于错误的情况,状态机918可能继续或不继续激活指定数目的全局扫描时钟920。无论怎样,因为扫描启动932和936未激活,即设置为0,所以全局扫描时钟920没有影响,因此避免了例如图8的危险814和820,并且进一步防止了故障。
在错误寄存器944中设置的位使得向固件提出中断947。当固件由于尝试的扫描操作而结束时,将经由中断946和错误寄存器944对其通知:因为对于与特定环选择相关的功能单元的时钟还在运行,所以扫描操作异常中止。这指示不正确地尝试扫描操作的可能的固件错误。可能的后续固件诊断在本申请的范围之外。
图10图解了根据说明性实施例的多功能单元的检查停止时钟停止保护。固件接口1002向例如图4的时钟控制逻辑406的时钟控制逻辑1004发送命令,以通过写入全局时钟使能(glb_clk_enable)寄存器1006而对于一个或多个逻辑单元启动或停止时钟。glb_clk_enable寄存器1006中的每个位驱动对相应功能单元的全局时钟使能。寄存器位中的“1”对相应的功能单元激活全局时钟使能,使得逻辑时钟运行;而寄存器位中的“0”对相应的功能单元使得全局时钟无效,从而停止逻辑时钟。保护逻辑1008和1010根据真值表1012和1014确定来自固件接口1002的值是否将被写入glb_clk_enable寄存器1006。glb_clk_enable寄存器1006可具有对应于多个分离的功能单元的许多位。为了说明性实施例的清楚,图10仅示出了对应于例如图4的逻辑单元408和410的功能存储单元x和功能存储单元y的2个分离位的保护逻辑1908和1010。
每个功能单元指示作为来自对于相应的保护逻辑1008或1010的checkstop_x 1016或checkstop_y 1018的检查停止的重大错误情形。还向固件(未示出)报告该重大错误情形,使得固件知道为错误情形搜集首次故障数据捕获(FFDC),这要求仅对故障的功能单元停止时钟,并读取扫描链。
根据真值表1012,如果glb_clk_enable_x 1020的当前值是1,即指示对于功能单元x的逻辑时钟已经在运行,则在也存在来自从功能单元x指示的checkstop_x 1016的检查停止的情况下才允许来自固件接口1002的命令将向glb_clb_enable寄存器1006输入的glb_clk_enable_next 1024改变为0以停止对功能单元x的时钟。类似地,根据真值表1014,如果glb_clk_enable_y 1022的当前值是1,即指示逻辑时钟已经对于功能单元y运行,则在也存在根据从功能单元y指示的checkstop_y 1018指示的检查停止的情况下才允许来自固件接口1002的命令将向glb_clb_enable寄存器1006输入的glb_clk_enable_next 1026改变为0以停止对功能单元y的时钟。换而言之,如果功能单元已经指示灾难性的检查停止错误1028或1030,则保护逻辑1008和1010将只允许固件对于该功能单元停止时钟。这防止固件错误对于运行的、无故障的功能逻辑单元不正确地停止逻辑时钟,其可能引起其他的故障。
如果固件接口1002尝试写glb_clb_enable寄存器1006,以停止没有指示来自checkstop_x 1016或checkstop_y 1018的检查停止的逻辑单元的时钟,则保护逻辑1008和1010将不关闭相应的glb_clk_enable 1020或1022位,并且将指示到错误寄存器1032的相应的错误1028或1030。
错误寄存器1032中设置的位使得向国件提出中断1034。在固件尝试写glb_clb_enable寄存器1006之后,将经由中断1034和错误寄存器1032向固件通知:因为对于未指示任何灾难性故障的正在运行的功能单元尝试停止逻辑时钟,所以操作异常中止。这指示不正确地尝试停止对错误的功能单元的时钟的可能的固件错误。可能的后续的固件诊断在此申请的范围外。
在说明性实施例中,如果glb_clk_enable_y 1020和1022是0,即指示对于相应的逻辑单元已经停止了逻辑时钟,则保护逻辑1008和1010允许来自固件接口1002的命令将glb_clk_enable_next 1024和1026写为0或1,即分别为停止或启动逻辑时钟。因为在说明性实施例中,对于已经指示灾难性故障的逻辑单元启动时钟,不会引起额外的逻辑故障,所以不需要在这方面的保护。
但是,替代实施例(在图10中未示出)可能响应于固件接口1002被设置等于1、glb_clk_enable 1020和1022被设置等于0(指示对于相应的功能单元的逻辑时钟已经停止),容易地防止启动时钟,并且通过将checkstop_x1016或checkstop_y 1018设置为等于1而从相应的功能单元指示灾难性的故障。换言之,如果希望这样的保护,则替代实施例可以通过将glb_clk_enable_next 1024和1026设置为等于0,而容易地防止对于故障的功能单元启动时钟。
如果glb_clk_enable 1020和1022为1,指示对于相应的逻辑单元逻辑时钟已正在运行,则因为不会改变对于相应的逻辑单元的逻辑时钟的状态,所以保护逻辑1008和1010允许来自固件接口1002的命令将glb_clb_enable寄存器1006写为1。
因为可能存在想要停止对于正常功能单元的时钟的情况,比如重启整个计算机,所以说明性实施例实现超权(override)(在图10中未示出),其中固件可禁用保护逻辑1008和1010,以允许停止时钟,而不考虑来自checkstop_x 1016或checkstop_y 1018的指示停止。只有系统控制固件而不是主机固件才能禁用保护逻辑1008和1010,并且需要比较不易受到固件错误的影响的显式(explicit)协议。
图11图解了根据说明性实施例的多功能单元的时钟运行扫描保护操作的流程图。当操作开始时,例如图4的固件接口446的固件接口通过首先对例如图9中的长度寄存器916的长度寄存器写入扫描链值而开始扫描操作(步骤1102)。然后固件接口写入例如图9中的命令寄存器922的命令寄存器(步骤1104)。命令寄存器包含识别例如读、写、开始、继续或结束的扫描操作的类型的命令字段、以及识别将由扫描操作执行操作哪个扫描链的环选择字段。响应于来自步骤1104的、写入到命令寄存器的命令,例如图9的状态机918的状态机使用长度寄存器中的扫描链值,来生成正确数目的全局扫描时钟(步骤1106)。
例如图9的保护逻辑908的保护逻辑使用来自例如图4的时钟控制414的时钟控制逻辑的全局时钟使能、以及来自在步骤1104中所写的命令寄存器的环选择,来确定是否应该激活用于特定功能单元的scan_enable信号(步骤1108)。保护逻辑确定环选择是否为0(步骤1110)。如果环选择被设置为1,则保护逻辑确定全局时钟使能是否被设置为0(步骤1112)。如果全局时钟使能被设置为0,则通过将scan_enabl e信号值设置为1而激活scan_enable信号(步骤1114),并且完成扫描操作,此后终止操作。通过扫描使能信号来选通全局扫描时钟,以形成本地扫描时钟,如图5的本地扫描时钟clka 526和528以及本地扫描时钟clkb 530和532。
如果在步骤1110,环选择被设置为0,则因为对于扫描操作不选择链,所以则不激活scan_enable信号(步骤1116),而后操作终止。如果在步骤1112,全局时钟使能被设置为1,则保护逻辑强制或超权使scan_enalbe信号为0(步骤1118)。保护逻辑生成错误寄存器中的错误位(步骤1120),其使得扫描控制逻辑生成对固件的中断(步骤1122),而后操作终止。当固件通过尝试的扫描操作而结束时,将经由中断向固件通知:因为逻辑时钟正对于与特定的环选择相关联的功能单元运行,所以扫描操作异常中止(abort)。这指示不正确地尝试扫描操作的可能的固件错误。
图12图解了根据说明性实施例的多功能单元的检查停止时钟停止保护操作的流程图。当操作开始时,例如图10的固件接口1002的固件接口向例如图4的时钟控制逻辑406的时钟控制逻辑1004发送命令,以通过对例如图10的全局时钟使能寄存器1006的全局时钟使能寄存器写入而对于一个或多个逻辑单元启动或停止时钟(步骤1202)。例如图10的保护逻辑1008的保护逻辑确定来自固件接口的值是否将被写入全局时钟使能寄存器(步骤1204)。
保护逻辑确定所接收的命令是否为来自系统控制固件的超权以绕开保护逻辑并停止时钟(步骤1206)。因为可能存在想要停止对于正常功能单元的时钟的情况,比如重启整个计算机,所以操作的一个方面实现超权,其中系统控制固件可禁用保护逻辑,以允许停止时钟,而不考虑检查停止指示。为了保持保护逻辑的效力,所述超权需要不易于由于固件错误而意外执行的特定协议。如果命令是来自系统控制固件的、停止时钟的超权,则时钟停止(步骤1208),而后操作终止。
如果在步骤1206,命令不是来自系统控制固件的超权,则保护逻辑确定逻辑时钟是否已经在运行(步骤1210)。如果逻辑时钟尚未运行,并且来自固件接口的命令是要启动或者停止时钟,则保护逻辑将全局时钟使能设置为适当的状态,并发送命令(步骤1212),而后操作终止。对于已经指示灾难性错误的逻辑单元启动时钟不会引起额外的逻辑故障;在此方面不需要保护。如果在步骤1210,逻辑时钟已经在运行,则保护逻辑确定来自固件接口的命令是否是写入0(操作1214)。如果命令是写入1,则因为启动时钟命令不会改变逻辑时钟的状态,所以将命令设置为启动时钟(步骤1216),而后操作终止。
如果在步骤1214,来自固件接口的命令是写入0,则确定检查停止是否被设置为1(步骤1218)。如果检查停止被设置为1,则停止时钟(步骤1220),而后操作终止。如果在步骤1218,检查停止被设置为0,则忽略来自固件接口的停止时钟的命令(步骤1222)。然后向错误寄存器发送错误(步骤1224),并且,保护逻辑生成对固件接口的中断(步骤1226),而后操作终止。
因此,说明性实施例提供了计算机实现的方法和数据处理系统,以防止固件缺陷干扰多内核微处理器芯片中的逻辑时钟,从而改善系统稳定性。从故障组件收集首次故障数据捕获(FFDC)数据,以供诊断,这要求停止逻辑时钟并经由LSSD扫描而提取锁存器内容,同时系统中的其余操作元件保持运行。在系统中的所有芯片上分配时钟控制逻辑和扫描控制逻辑,每个具有存储器映射的寄存器接口,通过系统控制固件操作该寄存器接口。从每个逻辑时钟域到时钟运行控制逻辑的检查停止指示选择(gate)来自系统控制固件的更新是否关系到停止逻辑时钟域。为每个逻辑时钟域对扫描控制逻辑指示时钟运行状态,以选择是否对扫描链准予了固件访问。检测可能潜在地中断正在运行的逻辑域的不正确的固件动作,阻止该动作,并且通过指示违反的状态而向系统控制固件反向报告中断。
本发明可采取全部硬件实施例、全部软件实施例或包括硬件和软件元素的实施例的形式。在优选实施例中,以软件实现本发明,所述软件包括但不限于固件、常驻软件、微码等。
此外,说明性实施例可采用来自提供程序代码的计算机可用或计算机可读介质的计算机程序产品的形式,以由计算机或者任何指令执行系统使用或结合它们使用。为此描述的目的,计算机可用或计算机可读介质可为任何有形设备,其可以容纳、存储、通信、传播或传输程序,以由指令执行系统、设备或装置使用或结合它们使用。
所述介质可为电、磁、光、电磁、红外或半导体系统(或设备或装置)或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可拆卸计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘当前的例子包括致密盘只读存储器(CD-ROM)、致密盘读/写(CD-R/W)和DVD。
适于存储和/或执行程序代码的数据处理系统将包括通过系统总线而直接或间接耦接到存储器元件的至少一个处理器。存储器元件可包括在实际执行程序代码期间应用的本地存储器、大容量存储器和提供至少某些程序代码的暂时存储以便于减少在执行期间必须从大容量存储器检索代码的次数的高速缓冲存储器。
输入/输出或I/O装置(包括但不限于键盘、显示器、定点装置等)可直接或通过中间I/O控制器耦接到系统。
网络适配器可连接到系统,使得数据处理系统能够通过中间私有或公共网络而耦接到其它数据处理系统或远程打印机或存储装置。调制解调器、电缆调制解调器和以太网卡正是网络适配器的一些当前可用类型。
为了说明和描述的目的,已经提出了本发明的描述,并且不是想要穷举或限于所公开的形式的本发明。对于本领域的技术人员很多修改和变换将是明显的。选择并描述实施例以最好地解释本发明的原理、实践应用,并且使得其他本领域的技术人员能够理解具有适用于预期的使用目的的各种修改的的各种实施例的本发明。
Claims (8)
1.一种防止固件缺陷干扰逻辑时钟的计算机实现的方法,所述计算机实现的方法包括:
从用于功能单元的固件接口接收对于扫描操作的请求,其中所述请求包括扫描链长度值和环选择;
根据所述扫描链长度值来产生相应数目的全局扫描时钟;以及
响应于所述环选择被设置为等于1的环选择值和全局时钟使能值被设置为等于0,将扫描使能信号的值设置为等于1,其中通过所述扫描使能信号来选通所述全局扫描时钟,以形成本地扫描时钟。
2.如权利要求1所述的计算机实现的方法,还包括:
响应于环选择值被设置为等于0,将扫描使能信号的值设置为等于0。
3.如权利要求1所述的计算机实现的方法,还包括:
响应于环选择值被设置为1和全局时钟使能值被设置为等于1,将扫描使能信号的值设置为等于0;
在寄存器中生成错误;以及
生成对于固件接口的中断。
4.如权利要求1所述的计算机实现的方法,其中所述请求是对于多个功能单元的多个请求,并且其中对于多个功能单元中的每个功能单元独立地提出所述多个请求中的每个请求。
5.一种防止固件缺陷干扰逻辑时钟的系统,包括:
用于从用于功能单元的固件接口接收对于扫描操作的请求的装置,其中所述请求包括扫描链长度值和环选择;
用于根据所述扫描链长度值来产生相应数目的全局扫描时钟的装置;以及
用于响应于所述环选择被设置为等于1的环选择值和全局时钟使能值被设置为等于0而将扫描使能信号的值设置为等于1的装置,其中通过所述扫描使能信号来选通所述全局扫描时钟,以形成本地扫描时钟。
6.如权利要求5所述的系统,进一步包括用于响应于所述环选择值被设置为0而将扫描使能信号的值设置为等于0的装置。
7.如权利要求5所述的系统,进一步包括用于响应于所述环选择值被设置为1和所述全局时钟使能值被设置为等于1,而将扫描使能信号的值设置为等于0,在寄存器中生成错误,以及生成对于固件接口的中断的装置。
8.如权利要求5所述的系统,其中所述请求是对于多个功能单元的多个请求,并且其中对于多个功能单元中的每个功能单元独立地提出所述多个请求中的每个请求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/459,942 US7568138B2 (en) | 2006-07-26 | 2006-07-26 | Method to prevent firmware defects from disturbing logic clocks to improve system reliability |
US11/459,942 | 2006-07-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101114254A CN101114254A (zh) | 2008-01-30 |
CN100580637C true CN100580637C (zh) | 2010-01-13 |
Family
ID=38987824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710109548A Expired - Fee Related CN100580637C (zh) | 2006-07-26 | 2007-06-25 | 防止固件缺陷干扰逻辑时钟的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7568138B2 (zh) |
CN (1) | CN100580637C (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8176355B2 (en) * | 2007-06-07 | 2012-05-08 | International Business Machines Corporation | Recovery from hardware access errors |
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 |
US20100107148A1 (en) * | 2008-10-28 | 2010-04-29 | International Business Machines Corporation | Check-stopping firmware implemented virtual communication channels without disabling all firmware functions |
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 |
WO2012172682A1 (ja) * | 2011-06-17 | 2012-12-20 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
US8745279B2 (en) * | 2011-10-31 | 2014-06-03 | International Business Machines Corporation | Self-healing and reconfiguration in an integrated circuit |
CN105067994B (zh) * | 2015-09-15 | 2018-08-28 | 上海新储集成电路有限公司 | 定位片上系统时序逻辑错误、错误率计算及其应用方法 |
US10248470B2 (en) * | 2016-08-31 | 2019-04-02 | International Business Machines Corporation | Hierarchical hardware object model locking |
US10802932B2 (en) * | 2017-12-04 | 2020-10-13 | Nxp Usa, Inc. | Data processing system having lockstep operation |
-
2006
- 2006-07-26 US US11/459,942 patent/US7568138B2/en not_active Expired - Fee Related
-
2007
- 2007-06-25 CN CN200710109548A patent/CN100580637C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101114254A (zh) | 2008-01-30 |
US20080028266A1 (en) | 2008-01-31 |
US7568138B2 (en) | 2009-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100580637C (zh) | 防止固件缺陷干扰逻辑时钟的方法和系统 | |
US12038838B2 (en) | Distributed processor memory chip with multi-port processor subunits | |
EP3493062B1 (en) | Data processing system having lockstep operation | |
Mitra et al. | Reconfigurable architecture for autonomous self-repair | |
CN100541442C (zh) | 高性能串行总线测试方法 | |
CN100495357C (zh) | 处理误差信息和在处理器系统中注入误差的方法和装置 | |
US7055117B2 (en) | System and method for debugging system-on-chips using single or n-cycle stepping | |
US7620841B2 (en) | Re-utilizing partially failed resources as network resources | |
US20140164839A1 (en) | Programmable device, method for reconfiguring programmable device, and electronic device | |
US20080010621A1 (en) | System and Method for Stopping Functional Macro Clocks to Aid in Debugging | |
WO2007014854A1 (en) | Method and apparatus for soft-error immune and self-correcting latches | |
CN112115664B (zh) | 一种多模式多时钟域的芯片集成控制系统 | |
CN103748562A (zh) | 测试、验证和调试架构 | |
US20040216003A1 (en) | Mechanism for FRU fault isolation in distributed nodal environment | |
US7627718B2 (en) | Frozen ring cache | |
US8301936B2 (en) | Apparatus and method for performing a screening test of semiconductor integrated circuits | |
Li et al. | Self-repair of uncore components in robust system-on-chips: An opensparc t2 case study | |
US20060184840A1 (en) | Using timebase register for system checkstop in clock running environment in a distributed nodal environment | |
US8423843B2 (en) | Method and system thereof for optimization of power consumption of scan chains of an integrated circuit for test | |
US11360839B1 (en) | Systems and methods for storing error data from a crash dump in a computer system | |
Parekhji et al. | Concurrent error detection using monitoring machines | |
US6587963B1 (en) | Method for performing hierarchical hang detection in a computer system | |
JP5022110B2 (ja) | 半導体集積回路 | |
US9092333B2 (en) | Fault isolation with abstracted objects | |
Parulkar et al. | DFX of a 3 rd Generation, 16-core/32-thread UltraSPARC-CMT Microprocessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100113 |
|
CF01 | Termination of patent right due to non-payment of annual fee |