CN1942863A - 用于在奇偶错误检测之后维持数据完整性的装置和方法 - Google Patents
用于在奇偶错误检测之后维持数据完整性的装置和方法 Download PDFInfo
- Publication number
- CN1942863A CN1942863A CNA2005800112237A CN200580011223A CN1942863A CN 1942863 A CN1942863 A CN 1942863A CN A2005800112237 A CNA2005800112237 A CN A2005800112237A CN 200580011223 A CN200580011223 A CN 200580011223A CN 1942863 A CN1942863 A CN 1942863A
- Authority
- CN
- China
- Prior art keywords
- bus
- transaction
- bad parity
- affairs
- wrong
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0745—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
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)
- Detection And Correction Of Errors (AREA)
Abstract
在一些实施方案中,描述了用于在奇偶错误检测之后维持数据完整性的方法和装置。在一个实施方案中,所述方法包括响应于奇偶错误检测阻止总线事务。一旦总线事务被中止,调用奇偶错误处理机例程,以根据储存的关于检测到的奇偶错误的错误总线事务的事务信息,进行奇偶错误恢复。在一个实施方案中,所述储存的信息包括曾导致该错误的总线主控,以及与损坏数据相关联的地址,针对所述损坏数据曾断言奇偶错误。在一个实施方案中,进行数据记录来跟踪与错误总线事务相关联的总线主控,以使对问题或老化硬件设备的标识能进行。描述了其他实施方案,并且主张对它们的权利要求。
Description
发明领域
本发明的一个或更多个实施方案一般地涉及计算机系统设计领域。更具体地,本发明的一个或更多个实施方案涉及用于在奇偶错误检测之后维持数据完整性的方法和装置。
发明背景
通常使用一条或更多条用于互连设备的总线来进行计算机系统内的设备之间的通信。这些总线可以是耦合到设备的专用总线,或者是被多个单元或设备(例如,总线代理(agent))复用的非专用总线。此外,计算机系统内的总线可以专用于传输具体类型的信息。例如,许多微处理器体系结构包括由地址、数据和控制总线构成的三总线系统,所述地址、数据和控制总线分别用于传输数据、地址和控制信号。
体系结构设计中的大量研究针对增加计算机系统内的数据吞吐量。在过去的十年期间,外设部件互连(PCI)已经提供非常成功的通用输入/输出(I/O)互连标准。PCI是利用PCI信令(signaling)技术的通用I/O互连标准,包括多分支并行总线实现。遗憾的是,自PCI的引入的十年时间已经导致PCI的各种缺点被认识到,所述各种缺点诸如相对低的时钟速度、延迟事务的使用、等待状态以及导致拙劣性能的其他不足。结果,系统体系结构已经以PCI总线协议中的不足为目标设计PCI-X。遗憾的是,PCI-X保留许多由PCI总线协议产生的不足。
附图简要说明
在附图的各幅图中,本发明的各个实施方案是以实施例的方式而不是以限制的方式来图示说明的,并且其中:
图1是根据一个实施方案,图示用于在奇偶错误检测之后维持数据完整性的计算机系统的框图。
图2是根据一个实施方案,进一步图示图1的计算机系统的框图。
图3是根据一个实施方案,进一步图示图1的计算机系统的框图。
图4是根据一个实施方案,进一步图示图1-3的事务捕捉卡的框图。
图5是根据一个实施方案,图示用于在奇偶错误检测之后维持数据完整性的方法的流程图。
图6是根据一个实施方案,图示用于响应于检测到的奇偶错误,阻止(block)总线事务的方法的流程图。
图7是根据一个实施方案,调用奇偶错误处理机(handler)例程来进行奇偶错误恢复的流程图。
图8是根据一个实施方案,图示用于调用奇偶错误处理机例程来进行奇偶错误恢复的方法的流程图。
图9是根据一个实施方案,图示用于记录(log)错误总线事务以标识问题硬件设备的方法的流程图。
图10是根据一个实施方案,图示用于标识错误总线事务的方法的流程图。
图11是根据一个实施方案,图示用于标识错误总线事务的方法的流程图。
图12是根据一个实施方案,图示用于跟踪与错误总线事务相关联的总线主控以标识问题硬件设备的方法的流程图。
图13是图示用于使用所公开的技术的设计的模拟、仿真和制造的各种设计表示(representation)或格式的框图。
详细描述
描述了用于在奇偶错误检测之后维持数据完整性的方法和装置。在一个实施方案中,所述方法包括响应于奇偶错误检测阻止总线事务。一旦总线事务被中止,调用奇偶错误处理机例程,以根据储存的关于检测到的奇偶错误的错误总线事务的事务信息,进行奇偶错误恢复。在一个实施方案中,储存的事务信息包括曾导致该错误的总线主控,以及与已校数据相关联的地址,针对所述已校数据曾断言奇偶错误。在一个实施方案中,进行数据记录来跟踪与错误的(错误)总线事务相关联的总线主控,以使对问题或老化硬件设备的标识能进行。
系统体系结构
图1是根据一个实施方案,图示用于在奇偶错误检测之后维持数据完整性的计算机系统100的框图。如所图示的,计算机系统100包括处理器系统总线(前端总线(FSB))102,所述处理器系统总线用于在处理器(CPU)102和芯片组200之间传达信息。如在这里所描述的,术语“芯片组”以共同描述耦合到CPU 120以执行期望的系统功能性的各种设备的方式被使用。
在一个实施方案中,芯片组200包括输入/输出(I/O)块210,所述输入/输出块210例如I/O控制器、I/O桥等。代表性地,I/O块210通过I/O总线230与至少I/O卡120通信。如在这里所描述的,驻留在总线230上的每个设备或I/O卡被称为I/O总线230的总线代理。这样,要求I/O总线230的各个总线代理为I/O总线230的所有权进行仲裁,以发送总线事务。要求这种仲裁是因为一般不允许多个总线代理同时驱动总线。
在一个实施方案中,计算机系统100包括总线事务捕捉卡(BTCC)250。代表性地,根据一个实施方案,BTCC250协助计算机系统100在奇偶错误检测之后维持数据完整性。数据完整性在诸如储存架(storage rack)、电信服务器等的服务器级别系统中是极为重要的。但是,在正常的、个人计算机(PC)平台操作期间,数据错误通常为未被检测的,或者导致系统重新启动。因此,不管结果如何,错误的数据能够不被标志为错误的数据而到达目的设备(目标设备)。
结果,未被检测的数据可以到达目标总线代理,导致平台或系统基于损坏的数据做出决定。因此,在一个实施方案中,BTCC 250监控I/O总线230上的事务以检测新的事务。例如,在一个实施方案中,可以根据外设部件互连(PCI)或PCI express(PCI-X)总线协议配置I/O总线230。根据该协议,BTCC 250可以监控总线230以标识事务启动信号,所述事务启动信号例如根据PCI/PCI-X总线协议的FRAME#信号。
如在这里进一步所描述的,与井号(#)相关联或者用井号附加的信号表示低态有效信号,或者当被断言时被驱动为低态的信号。但是,如在这里所描述的,术语“断言”、“正在断言”、“断言的”、“置位(set)”、“正在置位”、“解除断言的(deasserted)”、“解除断言”、“正在解除断言”等可以指这样的数据信号,所述数据信号是低态有效或高态有效信号。因此,当与信号相关联时,这些术语可互换地被用来要求(require)高态有效或低态有效信号。一旦检测到总线事务,BTCC 250进行进一步的监控以确定请求者或目标总线代理是否断言奇偶错误信号。
如在这里所描述的,可以使用常规方法进行接收的数据的奇偶校验检测,例如,通过使用偶数奇偶校验或奇数奇偶校验,其中一个或更多个位随数据一起被接收,并进行逻辑操作。基于该逻辑操作的输出,接收的数据可以被标识为正确的或损坏的。如在这里进一步所描述的,正在请求数据的总线代理在这里被称为“请求者”。同样地,数据从其被请求的总线代理被称为“完成者”。如在这里进一步所描述的,总线事务的完成者被称为“总线主控”,而总线事务的请求者或发起者被称为“目标总线代理”。
再次参照图1,I/O卡120是目标总线代理,所述目标总线代理可以针对接收的数据进行奇偶校验计算。在所图示的实施方案中,如PCI/PCI-X总线协议所描述的,I/O卡120将例如PERR#断言为奇偶错误信号202。根据常规PCI总线协议,I/O块210将常规地监控奇偶错误信号202的断言,并且当被断言时,将发送硬件故障中断到CPU 102(INTR212)。在一个实施方案中,INTR 212可以包括非可屏蔽中断(NMI)或其他相似硬件故障中断。
因此,当中断被发送到CPU 102时,CPU 102通常将导致系统重新启动,所述系统重新启动导致损坏数据的丢失。并且,虽然I/O卡120可以断言奇偶错误信号202,但是沿I/O总线230的总线事务继续发送直至系统重新启动发生。结果,计算机系统100可能继续操作,并且基于或使用损坏的数据做出决定。因此,在一个实施方案中,BTCC 250捕捉总线230的当前总线事务。在一个实施方案中,在当前总线事务传输损坏数据时,BTCC250将该事务标识为“错误总线事务”。
在一个实施方案中,BTCC 250储存事务信息,所述事务信息包括,但不仅限于,错误总线事务的总线主控、数据损坏地址和目标总线代理。在一个实施方案中,中断处理机例程可以查询BTCC 250以读取关于错误总线事务的事务信息,所述中断处理机例程包括,但不仅限于,目标总线代理的设备驱动器的中断奇偶错误处理机例程、与硬件故障中断相关联的中断处理机例程或者其他相似软件。因此,与常规I/O总线协议形成对比的是,关于错误的总线事务的事务信息是由BTCC 250来保存的,并且可以被用来解决奇偶错误,以及用于数据记录的目的。
图2根据用于在奇偶错误检测之后维持数据完整性的双总线配置,图示计算机系统100的实施方案。在实施方案中,芯片组200包括存储器桥220和I/O桥210。因此,使用包括存储器桥220和分离的I/O桥210的单个芯片组,以及在图2和3中图示的配置,计算机系统100可以运作。代表性地,主存储器110被耦合到存储器桥220。在一个实施方案中,主存储器110可以包括,但不仅限于包括一个或更多个随机访问存储器(RAM)、动态RAM(DRAM)、同步RAM(SRAM)、同步DRAM(SDRAM)、双倍数据率(DDR)SDRAM(DDR-SDRAM)、Rambus DRAM(RDRAM)或者能够支持高速数据缓冲的任何设备。
在一个实施方案中,BTCC 250被提供给主总线230和从主线240。在图示的实施方案中,总线代理140发起请求来自总线代理150的数据的总线事务。作为响应,总线代理150作为总线主控完成所请求的事务,并且将所请求的数据提供给目标总线代理140。在一个实施方案中,目标总线代理140在接收的数据上进行奇偶校验计算,并且针对错误总线事务向I/O桥210发送或断言奇偶错误信号202。
在一个实施方案中,目标总线代理140置位设备专用状态寄存器中的状态位,以指示曾检测到数据相(data phase)奇偶错误。在一个实施方案中,目标总线代理140生成中断以调用设备驱动器中断处理机。在一个实施方案中,所述处理机检查设备的状态以确定曾检测到数据相奇偶错误,并且执行所述处理机的奇偶错误处理机例程。在一个实施方案中,奇偶错误处理机例程被修改来查询BTCC 250,以确定关于错误总线事务的事务信息并且尝试奇偶错误恢复。在可替换的实施方案中,硬件中断处理机被调用来执行奇偶错误处理机例程。
图3根据一个实施方案,进一步图示用于在奇偶错误检测之后维持数据完整性的计算机系统100。如所图示的,目标总线代理140被耦合到主总线230,而主控总线代理130被耦合到从总线240。关于错误总线事务的事务信息的捕捉可以由BTCC 250-1和BTCC250-2的结合来进行。在可替换的实施方案中,BTCC 250可以被实现为处于I/O桥210内,并且因此,减轻将BTCC耦合到主总线230和从总线240两者的需求。代表性地,BTCC被实现为被耦合到主总线230或从总线240的连接器的I/O卡。
图4是根据一个实施方案,进一步图示图1到3的BTCC 250的框图。代表性地,BTCC250包括地址捕捉逻辑260,所述地址捕捉逻辑260可以查询I/O总线230/240,以根据PCI/PCI-X总线协议,标识例如帧信号(FRAME#)。一旦检测到,地址捕捉逻辑260确定当前或者新的总线事务正在被断言。因此,地址捕捉逻辑260捕捉与当前总线事务相关联的地址。在一个实施方案中,主控捕捉逻辑270还监控I/O总线230/240,以确定当前总线事务的总线主控或完成者。另外,主控捕捉逻辑270还确定总线事务的目标或发起者。
在一个实施方案中,当奇偶错误信号202被断言(如被错误事务逻辑280检测到)时,错误事务地址262和总线主控272被储存在储存设备290内。在一个实施方案中,储存装置290代表易失性存储器,所述易失性存储器例如RAM、SRAM、DRAM、SDRAM、RDRAM或其他相似的固态存储器。因此,关于错误总线事务的事务信息被储存在临时存储器290内,并且可以被奇偶错误处理机例程查询。在一个实施方案中,奇偶错误处理机例程还可以被配置来跟踪与错误的总线事务相关联的总线主控。
因此,基于对总线主控的跟踪,奇偶错误处理机例程(例如,数据记录软件)可以将错误事务计数(count)与耦合到计算机系统100的总线的每个总线代理关联。因此,每次总线代理是错误总线事务的总线主控时,与该总线代理相关联的错误事务计数累加。错误事务计数可以与预定时间段内的预定错误事务计数进行比较。代表性地,当总线代理具有超过预定错误事务计数的错误事务计数时,该总线代理可以被标识为问题总线代理或硬件设备。现在描述用于实现本发明的实施方案的过程性方法。
操作
图5是根据一个实施方案,图示用于在奇偶错误检测之后维持数据完整性的方法300的流程图。代表性地,在过程框302处,确定奇偶错误信号是否被断言。在过程框310处,响应于检测到的奇偶错误,总线事务被阻止。在过程框340处,奇偶错误处理机例程被调用,以根据储存的关于检测到的奇偶错误的错误总线事务的事务信息,进行奇偶错误恢复过程(procedure)。因此,与常规技术形成对比的是,由总线代理进行的进一步的事务发送被禁止,直至奇偶错误处理机例程已经完成一个或更多个恢复过程。
图6是根据一个实施方案,图示用于图5的过程框310的阻止总线事务的方法320的流程图。在过程框322处,检测奇偶错误信号的断言。一旦检测到,在过程框324处,确定奇偶错误的错误总线事务是否完成。因此,一旦检测到的奇偶错误的错误总线事务完成,进行过程框326的操作来置位终止事务标志。因此,在过程框328处,总线仲裁请求被拒绝,直至终止事务标志被解除断言或重置。
图7是根据一个实施方案,图示用于图5的过程框330的调用奇偶错误处理机的方法350的流程图。在过程框352处,中断被生成以调用中断处理机例程。在一个实施方案中,所述中断是由错误总线事务的发起者/目标总线代理生成的。在过程框354处,根据储存的关于检测到的奇偶错误的错误总线事务的事务信息,中断处理机例程执行奇偶错误处理机例程。
在过程框356处,确定奇偶错误处理机例程是否已经解决奇偶错误。一旦奇偶错误已经被解决,在过程框358处,终止事务标志被重置,以停止中止(unsuspend)总线事务。但是,如果奇偶错误处理机例程不能解决奇偶错误,则例如非可屏蔽中断(NMI)的硬件故障中断可以被发送到系统以导致系统重新启动。在一个实施方案中,奇偶错误处理机例程是由硬件中断处理机例程来执行的。
图8是根据一个实施方案,图示用于图5的过程框340的调用奇偶错误处理机例程的方法370的流程图。在过程框372处,读取储存的关于错误总线事务的损坏地址的事务信息。在过程框374处,读取储存的关于错误总线事务的目标总线代理的事务信息。在过程框376处,根据损坏地址,事务数据被重新传送到目标总线代理。在过程框378处,确定数据的重新传送是否未成功。当数据的重新传送未成功时,在过程框380处,系统操作被暂停。否则,控制流返回到过程框340(图5)。
图9是根据一个实施方案,图示用于跟踪与错误总线事务相关联的总线主控以检测问题硬件设备的方法400的流程图。在过程框440处,确定奇偶错误信号是否被断言。一旦被断言,在过程框450处,关于奇偶错误的源总线事务的事务信息被记录为错误总线事务。在过程框460处,与错误总线事务相关联的总线主控被跟踪以标识问题硬件设备。在过程框490处,确定问题硬件设备是否被检测到。当这样的设备被检测到时,在过程框492处,问题硬件设备的通知被发送到系统管理员。
图10是根据一个实施方案,图示在检测奇偶错误信号的断言之前进行的方法402的流程图。在过程框404处,检测新的总线事务。一旦检测到,在过程框406处,标识新的总线事务的总线主控。一旦被标识,在过程框408处,标识总线事务的数据地址。在过程框410处,确定奇偶错误信号是否被断言。一旦被断言,在过程框412处,例如,如参照图1到4所图示的,总线事务、总线主控和数据地址(事务信息)被储存在例如总线事务捕捉卡(BTCC)的储存设备内。
图11是根据一个实施方案,图示在过程框440处,在检测奇偶错误信号的断言之前进行的方法420的流程图。在过程框422处,确定事务启动信号是否被断言。一旦被断言,在过程框424处,标识新的总线事务。一旦被标识,在过程框426处,锁存新的总线事务的地址。一旦被锁存,在过程框428处,标识新的总线事务的事务类型。最终,在过程框430处,标识总线事务的完成者或总线主控。
图12是根据一个实施方案,图示用于图9的过程框460的跟踪总线主控的方法470的流程图。在过程框472处,与总线错误事务相关联的总线主控的列表被维护。在过程框474处,当分别的总线主控与新的错误总线事务有关时,与该分别的总线主控相关联的错误事务计数被更新。在过程框470处,将错误事务计数与预定错误事务计数进行比较。在过程框478处,确定关于硬件设备的事务错误计数是否超过预定错误事务计数。当出现所述状况时,在过程框480处,问题硬件设备被检测到。
因此,如在这里关于一个或更多个实施方案所描述的,一旦奇偶错误信号被断言,总线外设被拒绝总线所有权,同时例如总线事务捕捉卡的外部卡储存关于错误总线事务的事务信息,所述错误总线事务导致奇偶错误信号的断言。使用所述事务信息,设备驱动器中断处理机例程,或者硬件中断处理机服务例程可以收集关于错误总线事务的事务信息来进行奇偶错误恢复,所述奇偶错误恢复诸如重新传送未损坏的数据。一旦恢复完成,系统可以重新启动,或者准许总线事务可以继续。
因此,无论是在设备驱动器内被实现,或者由硬件中断处理机服务例程来实现,对错误总线事务的事务信息的捕捉使对老化或问题硬件设备的标识能进行。并且,错误的总线事务并没有根据常规的I/O总线协议技术而丢失,并且可以根据描述的实施方案而被用来重新传送数据或者进行其他恢复过程。因此,数据完整性在PC平台或服务器平台内被维持,从而禁止了基于损坏的数据的平台决定或者对损坏数据的使用。
图13是图示用于使用所公开的技术的设计的模拟、仿真和制造的各种表示或格式的框图。表示设计的数据可以以多个方式表示该设计。首先,如在模拟中有用的,硬件可以使用硬件描述语言或者另一功能描述语言来表示,所述功能描述语言实质上提供设计的硬件被期待如何运作的计算机化模型。硬件模型510可以被储存在诸如计算机存储器的储存介质500中,从而可以使用模拟软件520来模拟该模型,所述模拟软件520将特定的检验程序组(test suite)530应用到该硬件模型以确定它是否确实如所想的那样运行。在一些实施方案中,模拟软件没有被记载、捕捉或包含在介质中。
在设计的任何表示中,数据可以被储存在任何形式的机器可读介质中。被调制或者以其他方式生成以传输这种信息的光或电波560、存储器550或者诸如盘的磁或光储存装置540可以是机器可读介质。这些介质中的任何一个可以携带设计信息。因此,术语“携带”(例如,携带信息的机器可读介质)覆盖储存在储存设备上的信息,或者被编码或调制到载波中或载波上的信息。描述设计或者设计的细节的位集合是(当在诸如载波或储存介质的机器可读介质中被实施时)可以是它本身内外密封(sealed in and out of itself)的制品,或者他人用于进一步的设计或制造的制品。
可替换的实施方案
将认识到,对于其他实施方案,不同的系统配置可以被使用。例如,尽管系统100包括单个CPU 102,但是对于其他实施方案,多处理器系统(其中一个或更多个处理器可以在配置和操作方面类似于以上所描述的CPU 102)可以从各个实施方案的在奇偶错误检测之后的数据完整性维持中受益。此外,例如服务器、工作站、桌上型计算机系统、游戏系统、嵌入式计算机系统、刀片式服务器等不同类型的系统或不同类型的计算机系统可以被用于其他实施方案。
在所公开的示例性实施方案和最好的模式的情况下,可以对所公开的实施方案作出修改和变化,而仍处于由所附的权利要求书定义的本发明的实施方案的范围内。
Claims (35)
1.一种方法,包括:
响应于检测到的奇偶错误,阻止总线事务;以及
调用奇偶错误处理机例程,以根据储存的事务信息进行奇偶错误恢复,所述储存的事务信息关于作为错误总线事务的所述检测到的奇偶错误的源总线事务。
2.如权利要求1所述的方法,其中在中止总线事务之前,所述方法还包括:
检测数据相奇偶错误信号的断言。
3.如权利要求1所述的方法,其中在阻止总线事务之前,所述方法还包括:
检测新的总线事务;
标识所述新的事务的总线主控;
标识所述总线事务的数据地址;以及
如果奇偶错误信号被断言,则储存所述总线主控和数据地址。
4.如权利要求1所述的方法,其中阻止总线事务的操作包括:
检测奇偶错误信号的断言;
一旦所述错误总线事务完成,置位终止事务标识;以及
拒绝总线仲裁请求,直至所述终止事务标识被解除断言。
5.如权利要求1所述的方法,其中调用所述奇偶错误处理机的操作包括:
生成中断,以调用中断处理机例程;以及
根据关于所述错误总线事务的所述储存的事务信息,由所述中断处理机例程执行所述奇偶错误处理机例程。
6.如权利要求1所述的方法,还包括:
(a)记录关于所述错误总线事务的所述事务信息;
(b)跟踪与错误总线事务相关联的总线主控,以标识问题硬件设备;以及
(c)当由(b)确定而检测到问题硬件设备时,发送所述问题硬件设备的通知到系统管理员。
7.如权利要求1所述的方法,其中调用所述奇偶错误处理机的操作还包括:
确定所述奇偶错误处理机例程是否已经解决所述检测到的奇偶错误;以及
如果所述错误处理机已经解决所述检测到的奇偶错误,则重置终止事务标志,以停止中止总线事务。
8.如权利要求7所述的方法,还包括:
如果所述奇偶错误处理机例程不能解决所述奇偶错误,则发送硬件故障中断。
9.如权利要求1所述的方法,其中调用所述奇偶错误处理机的操作还包括:
(a)读取关于损坏地址的所述储存的事务信息;
(b)读取关于事务目标的所述储存的事务信息;
(c)根据所述损坏地址,向所述事务目标重新传送数据;
(d)如果(c)的所述数据的所述重新传送操作不成功,则暂停系统操作。
10.如权利要求1所述的方法,其中所述储存的事务信息包括所述奇偶错误的源总线主控,和具有奇偶错误的损坏的数据的损坏地址。
11.一种制品,所述制品包括具有储存在其上的指令的机器可读介质,所述指令可以被用来对系统进行编程以执行方法,所述方法包括:
响应于检测到的奇偶错误,阻止总线事务;以及
调用奇偶错误处理机例程,以根据储存的事务信息进行奇偶错误恢复,所述储存的事务信息关于作为错误总线事务的所述检测到的奇偶错误的源总线事务。
12.如权利要求11所述的制品,其中阻止总线事务的操作包括:
检测奇偶错误信号的断言;以及
一旦所述检测到的奇偶错误的所述源总线事务完成,置位终止事务标志。
13.如权利要求11所述的制品,其中调用所述奇偶错误处理机的操作包括:
生成中断,以调用中断处理机例程;以及
根据关于所述检测到的奇偶错误的所述源总线事务的所述储存的信息,由所述中断处理机例程执行所述奇偶错误处理机例程。
14.如权利要求11所述的制品,其中调用所述奇偶错误处理机的操作还包括:
确定所述奇偶错误处理机例程是否已经解决所述奇偶错误;以及
如果所述错误处理机已经解决所述检测到的奇偶错误,则重置终止事务标志,以停止中止总线事务;以及
拒绝总线仲裁请求,直至所述终止事务标识被解除断言。
15.如权利要求11所述的制品,其中调用所述奇偶错误处理机的操作还包括:
(a)读取关于损坏地址的所述储存的事务信息;
(b)读取关于事务目标的所述储存的事务信息;
(c)根据所述损坏地址,向所述事务目标重新传送数据;
(d)如果(c)的所述数据的所述重新传送操作不成功,则暂停系统操作。
16.一种方法,包括:
(a)检测奇偶错误信号的断言;
(b)记录事务信息,所述事务信息关于作为错误总线事务的所述检测到的奇偶错误的源总线事务;
(c)跟踪与错误总线事务相关联的总线主控,以标识问题硬件设备;以及
(d)当由(c)确定而检测到问题硬件设备时,发送所述问题硬件设备的通知到系统管理员。
17.如权利要求16所述的方法,其中在检测所述奇偶错误信号的断言之前,所述方法包括:
检测新的总线事务;
标识所述新的事务的总线主控;
标识所述总线事务的数据地址;以及
如果奇偶错误信号被断言,则储存所述总线主控和所述数据地址。
18.如权利要求16所述的方法,其中跟踪总线主控的操作包括:
维护与错误总线事务相关联的总线主控的列表;
当分别的总线主控与新的错误总线事务有关时,更新与所述分别的总线主控相关联的错误事务计数;
将所述错误事务计数与预定错误事务计数进行比较;以及
当关于所述硬件设备的事务错误计数超过所述预定错误事务计数时,检测问题硬件设备。
19.如权利要求16所述的方法,其中在检测所述奇偶错误信号的断言之前,所述方法包括:
检测事务启动信号的断言,以标识新的总线事务;
锁存所述新的总线事务的地址;
标识所述新的总线事务的事务类型;以及
标识所述总线事务的完成者。
20.如权利要求16所述的方法,其中记录操作还包括:
读取所述错误总线事务的储存的地址;以及
根据所述储存的地址,读取设备配置寄存器,以确定所述源总线事务的完成者为所述错误总线事务的总线主控。
21.一种制品,所述制品包括具有储存在其上的指令的机器可读介质,所述指令可以被用来对系统进行编程以执行方法,所述方法包括:
(a)检测奇偶错误信号的断言;
(b)记录事务信息,所述事务信息关于作为错误总线事务的所述奇偶错误的源总线事务;
(c)跟踪与错误总线事务相关联的总线主控,以标识问题硬件设备;以及
(d)当由(c)确定而检测到问题硬件设备时,发送所述问题硬件设备的通知到系统管理员。
22.如权利要求21所述的制品,其中在检测所述奇偶错误信号的断言之前,所述方法包括:
检测新的总线事务;
标识所述新的事务的总线主控;
标识所述总线事务的数据地址;以及
如果奇偶错误信号被断言,则储存所述总线主控和所述数据地址。
23.如权利要求21所述的制品,其中跟踪总线主控的操作包括:
维护与错误总线事务相关联的总线主控的列表;
当分别的总线主控与新的错误总线事务有关时,更新与所述分别的总线主控相关联的错误事务计数;
将所述错误事务计数与预定错误事务计数进行比较;以及
当关于所述硬件设备的事务错误计数超过所述预定错误事务计数时,检测问题硬件设备。
24.如权利要求21所述的制品,其中在检测所述奇偶错误信号的断言之前,所述方法包括:
检测事务启动信号的断言,以标识新的总线事务;
锁存所述新的总线事务的地址;
标识所述新的总线事务的事务类型;以及
标识所述总线事务的完成者。
25.如权利要求21所述的制品,其中记录源信息的操作包括:
读取所述错误总线事务的储存的地址;以及
根据所述源地址,读取设备配置寄存器,以确定所述源总线事务的完成者为所述错误总线事务的总线主控。
26.一种总线代理,包括:
储存单元,所述储存单元储存包括总线事务源的事务信息;
控制器,所述控制器响应于检测到的奇偶错误,阻止总线事务,并且调用奇偶错误处理机例程来根据储存在所述储存单元中的所述事务信息,进行奇偶错误恢复。
27.如权利要求26所述的总线代理,其中所述控制器检测奇偶错误信号的断言,并且一旦所述检测到的奇偶错误的源总线事务完成,置位终止事务标志。
28.如权利要求26所述的总线代理,其中所述控制器生成中断,以调用中断处理机例程,并且所述中断处理机例程根据关于所述检测到的奇偶错误的源总线事务的储存的事务信息,执行所述奇偶错误处理机例程。
29.如权利要求26所述的总线代理,其中所述总线代理是芯片组。
30.如权利要求26所述的总线代理,其中所述总线代理是I/O控制器。
31.一种系统,包括:
总线;
耦合到所述总线的至少一个总线代理;以及
耦合到总线的芯片组,所述芯片组包括:
耦合到所述芯片组的总线接口的控制器,所述控制器响应于检测到的奇偶错误,阻止总线事务,并且调用奇偶错误处理机例程来根据储存的事务信息进行奇偶错误恢复,所述储存的事务信息关于作为错误总线事务的所述检测到的奇偶错误的源总线事务。
32.如权利要求31所述的系统,还包括:
事务捕捉逻辑,所述事务捕捉逻辑检测事务启动信号的断言以标识新的总线事务,锁存所述新的总线事务的地址以标识所述新的总线事务的事务类型,将所述总线事务的完成者标识为所述总线事务的总线主控,并且将至少所述地址和所述总线主控储存为所述储存的事务信息。
33.如权利要求32所述的系统,其中所述事务捕捉逻辑包括输入/输出(I/O)卡。
34.如权利要求31所述的系统,其中所述芯片组包括存储器控制器。
35.如权利要求31所述的系统,其中所述芯片组包括输入/输出(I/O)控制器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/779,140 | 2004-02-13 | ||
US10/779,140 US7251755B2 (en) | 2004-02-13 | 2004-02-13 | Apparatus and method for maintaining data integrity following parity error detection |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1942863A true CN1942863A (zh) | 2007-04-04 |
CN100501685C CN100501685C (zh) | 2009-06-17 |
Family
ID=34886572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005800112237A Expired - Fee Related CN100501685C (zh) | 2004-02-13 | 2005-01-21 | 用于在奇偶错误检测之后维持数据完整性的装置和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7251755B2 (zh) |
EP (1) | EP1714214A1 (zh) |
CN (1) | CN100501685C (zh) |
TW (1) | TWI297834B (zh) |
WO (1) | WO2005083568A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101320341B (zh) * | 2007-06-07 | 2011-11-30 | 国际商业机器公司 | 数据扫描错误恢复系统和方法 |
CN104536844A (zh) * | 2010-09-24 | 2015-04-22 | 英特尔公司 | 实时错误恢复的方法和系统 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004046288A1 (de) * | 2004-09-24 | 2006-03-30 | Robert Bosch Gmbh | Verfahren zur Abarbeitung eines Computerprogramms auf einem Computersystem |
DE102004046611A1 (de) * | 2004-09-25 | 2006-03-30 | Robert Bosch Gmbh | Verfahren zur Abarbeitung eines Computerprogramms auf einem Computersystem |
EP1643506B1 (en) * | 2004-10-04 | 2006-12-06 | Research In Motion Limited | System and method for automatically saving memory contents of a data processing device on power failure |
US7496789B2 (en) * | 2005-06-06 | 2009-02-24 | Oracle International Corporation | Handling restart attempts for high availability managed resources |
US20080148104A1 (en) * | 2006-09-01 | 2008-06-19 | Brinkman Michael G | Detecting an Agent Generating a Parity Error on a PCI-Compatible Bus |
KR102385541B1 (ko) | 2017-09-29 | 2022-04-11 | 삼성전자주식회사 | 버스 시스템 |
CN109101710B (zh) * | 2018-07-27 | 2023-06-06 | 天津津电供电设计所有限公司 | 一种倾斜悬吊管母线力学参数的计算装置和方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4959772A (en) * | 1988-03-24 | 1990-09-25 | Gould Inc. | System for monitoring and capturing bus data in a computer |
US5499346A (en) * | 1993-05-28 | 1996-03-12 | International Business Machines Corporation | Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus |
US5511164A (en) * | 1995-03-01 | 1996-04-23 | Unisys Corporation | Method and apparatus for determining the source and nature of an error within a computer system |
US5790870A (en) * | 1995-12-15 | 1998-08-04 | Compaq Computer Corporation | Bus error handler for PERR# and SERR# on dual PCI bus system |
US5862316A (en) * | 1996-07-01 | 1999-01-19 | Sun Microsystems, Inc. | Multiprocessing system having coherency-related error logging capabilities |
US5933614A (en) * | 1996-12-31 | 1999-08-03 | Compaq Computer Corporation | Isolation of PCI and EISA masters by masking control and interrupt lines |
US6012148A (en) * | 1997-01-29 | 2000-01-04 | Unisys Corporation | Programmable error detect/mask utilizing bus history stack |
KR100213187B1 (ko) * | 1997-03-20 | 1999-08-02 | 윤종용 | 에러 마스터 검출장치 |
US6622260B1 (en) * | 1999-12-30 | 2003-09-16 | Suresh Marisetty | System abstraction layer, processor abstraction layer, and operating system error handling |
US20020073359A1 (en) * | 2000-09-08 | 2002-06-13 | Wade Jennifer A. | System and method for high priority machine check analysis |
US6898740B2 (en) * | 2001-01-25 | 2005-05-24 | Hewlett-Packard Development Company, L.P. | Computer system having configurable core logic chipset for connection to a fault-tolerant accelerated graphics port bus and peripheral component interconnect bus |
US6766479B2 (en) * | 2001-02-28 | 2004-07-20 | Stratus Technologies Bermuda, Ltd. | Apparatus and methods for identifying bus protocol violations |
US6996750B2 (en) * | 2001-05-31 | 2006-02-07 | Stratus Technologies Bermuda Ltd. | Methods and apparatus for computer bus error termination |
US6915446B2 (en) * | 2001-09-29 | 2005-07-05 | Hewlett-Packard Development Company, L.P. | Supporting error correction and improving error detection dynamically on the PCI-X bus |
US6944796B2 (en) * | 2002-06-27 | 2005-09-13 | Intel Corporation | Method and system to implement a system event log for system manageability |
-
2004
- 2004-02-13 US US10/779,140 patent/US7251755B2/en not_active Expired - Fee Related
-
2005
- 2005-01-21 CN CNB2005800112237A patent/CN100501685C/zh not_active Expired - Fee Related
- 2005-01-21 WO PCT/US2005/002044 patent/WO2005083568A1/en active Application Filing
- 2005-01-21 EP EP05711830A patent/EP1714214A1/en not_active Withdrawn
- 2005-01-27 TW TW094102496A patent/TWI297834B/zh not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101320341B (zh) * | 2007-06-07 | 2011-11-30 | 国际商业机器公司 | 数据扫描错误恢复系统和方法 |
CN104536844A (zh) * | 2010-09-24 | 2015-04-22 | 英特尔公司 | 实时错误恢复的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2005083568A1 (en) | 2005-09-09 |
TWI297834B (en) | 2008-06-11 |
TW200537307A (en) | 2005-11-16 |
US20050193288A1 (en) | 2005-09-01 |
US7251755B2 (en) | 2007-07-31 |
EP1714214A1 (en) | 2006-10-25 |
CN100501685C (zh) | 2009-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1942863A (zh) | 用于在奇偶错误检测之后维持数据完整性的装置和方法 | |
US6829729B2 (en) | Method and system for fault isolation methodology for I/O unrecoverable, uncorrectable error | |
TWI229796B (en) | Method and system to implement a system event log for system manageability | |
US7222270B2 (en) | Method for tagging uncorrectable errors for symmetric multiprocessors | |
US8984513B2 (en) | Transfer of event logs for replication of executing programs | |
US8108582B2 (en) | Notifying asynchronous events to a host of a data storage system and apparatus for the same | |
US20020184576A1 (en) | Method and apparatus for isolating failing hardware in a PCI recoverable error | |
US6845469B2 (en) | Method for managing an uncorrectable, unrecoverable data error (UE) as the UE passes through a plurality of devices in a central electronics complex | |
US7937610B2 (en) | Fast node failure detection via disk based last gasp mechanism | |
CN104685474A (zh) | 包括不可纠正的错误的地址范围的通知 | |
US20130111258A1 (en) | Sideband error signaling | |
CN1744049A (zh) | 用于调试输入/输出故障的方法和系统 | |
US7953914B2 (en) | Clearing interrupts raised while performing operating system critical tasks | |
US10324778B2 (en) | Utilizing an error prediction and avoidance component for a transaction processing system | |
US6604161B1 (en) | Translation of PCI level interrupts into packet based messages for edge event drive microprocessors | |
US8726102B2 (en) | System and method for handling system failure | |
US8028190B2 (en) | Computer system and bus control device | |
US8880956B2 (en) | Facilitating processing in a communications environment using stop signaling | |
CN109062839A (zh) | 一种检测hba卡的方法、装置和计算机可读存储介质 | |
CN116991710B (zh) | 自动测试方法及其系统、电子设备、存储介质 | |
US20050204185A1 (en) | Detecting and identifying data loss | |
US7934128B2 (en) | Methods, systems and computer program products for fault tolerant applications | |
US7895493B2 (en) | Bus failure management method and system | |
US7596724B2 (en) | Quiescence for retry messages on bidirectional communications interface | |
CN118503016A (zh) | 一种gpu命令异常恢复方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090617 Termination date: 20200121 |