CN1139036C - 防止对先前的故障设备完成加载或存储操作的方法及装置 - Google Patents

防止对先前的故障设备完成加载或存储操作的方法及装置 Download PDF

Info

Publication number
CN1139036C
CN1139036C CNB991047877A CN99104787A CN1139036C CN 1139036 C CN1139036 C CN 1139036C CN B991047877 A CNB991047877 A CN B991047877A CN 99104787 A CN99104787 A CN 99104787A CN 1139036 C CN1139036 C CN 1139036C
Authority
CN
China
Prior art keywords
storage operation
loading
error register
bus
equipment
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 - Lifetime
Application number
CNB991047877A
Other languages
English (en)
Other versions
CN1234562A (zh
Inventor
D・C・博森
D·C·博森
麦劳克林
C·A·麦劳克林
尼科尔森
J·O·尼科尔森
尼尔
D·M·尼尔
瑟伯
S·M·瑟伯
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 CN1234562A publication Critical patent/CN1234562A/zh
Application granted granted Critical
Publication of CN1139036C publication Critical patent/CN1139036C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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
    • 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

Landscapes

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

Abstract

来自每个I/O设备的设备选择线被单独地连接至一PCI主桥接器,以便当一错误在该PCI总线上被发现时,一故障设备的设备号可以被登录在一错误寄存器中。直到该错误寄存器复位为止,其后的加载和存储操作被延迟直至该主体设备的设备号可以根据该错误寄存器被检验为止。如果该主体设备是先前的故障设备,则通过强制错误的奇偶性或者将所有字节允许置零来防止完成对该设备的加载/存储操作。

Description

防止对先前的故障设备完成加载或 存储操作的方法及装置
本发明一般涉及总线错误处理,特别涉及在加载和存储操作期间处理总线错误。更特别地,本发明涉及在加载和存储操作期间,通过强制错误的数据奇偶性或零字节允许来防止总线错误的损害,由此增强从这种错误中恢复的能力。
许多数据处理系统支持标准输入/输出(I/O)系统,该系统符合外围部件互连(PCI)的局部总线体系结构,该体系结构是一种支持许多复杂功能的体系结构,所述复杂功能包括通过PCI-PCI桥接器的I/O扩展,对等(设备-设备)数据传送,多功能设备以及集成和插入式设备。在从PCI总线上设置对I/O设备的I/O操作时,设备驱动器必须执行一系列对该I/O设备的加载和/或存储操作。如果任意的这种操作在I/O总线上产生一奇偶校验错误,则需要将这一信息返回至设备驱动器,使得设备驱动器能够在启动该操作前中止。
例如,第一存储操作可被用于设备I/O设备中的一地址,接下来由第二存储操作通知该I/O设备开始数据传送。如果该第一存储操作产生一错误并且该第二存储操作然后被接收,则该I/O设备将开始对一不正确的存储单元的操作。PCI体系结构不包括要求适配器防止加载和/或存储操作在一错误后继续的规定。大多数现代的系统允许在存储操作后继续设备驱动器的执行,而不是等待对该存储操作的一“成功”的响应以确定其是否正确地完成。这样是最佳的,因为等待对一存储操作的响应所需的处理器延迟将大大降低系统性能。
在不等待对每个加载或存储操作的应答的情况下,允许设备驱动器防止在一错误后完成其后的加载和/或存储操作的一种技术是,在发布“进行”存储操作(存储操作通知设备驱动器开始)之前设备驱动器读回所有的设置信息,并且然后比较该读回数据与所存储的数据,以便在发布该“进行”存储操作之前确定这两个数据是否相同。但是,在许多情况下,相对于处理器指令时间来说,这需要大量的处理器时间用于在设备之外的该加载操作和长的路径。另一可能的解决方案是检查在接口中的位或者在I/O设备中的状态寄存器以便确定在一存储操作后是否产生了一错误。但是,这也需要大量的处理器时间并且当前的处理体系结构不支持这一方案。
另外的一种解决方案是,当在一存储操作后出现一错误时,I/O设备产生一外部中断,但是在继续之前等待一中断会消耗大量的时间。另外的可能性将通常是适配器相关的,因此,不能与没有考虑这种解决方案的任何I/O设备一起工作,或者将需要大量的处理器时间。
因此,最好是提供一种方法和装置,用于在不等待对每个加载或存储操作的应答的情况下,防止在一错误后完成加载和/或存储操作。这样另外的优点是,该机构避免了更改PCI适配器或I/O设备硬件的需求,使得该机构被用于任意的即使没有特别设计用于该机构的I/O设备。
因此,本发明的一个目的是提供一种用于总线错误处理的方法和装置。
本发明的另一个目的是提供一种用于处理在加载和存储操作期间的总线错误的方法和装置。
因此,本发明的再一个目的是提供一种方法和装置,用于采用强制错误数据奇偶性或零字节允许,通过先前遇到错误的设备的识别,防止在加载和存储操作期间总线错误的损害。
上述目的的实现如下。来自每个I/O设备的设备选择线被单独地连接至一PCI主桥接器,以便当一错误被送到PCI总线上时,一故障设备的设备号可以登录在一错误寄存器中。直到该错误寄存器复位为止,其后的加载和存储操作被延迟直至该主体设备的设备号可以根据该错误寄存器被检验为止。如果该主体设备是先前出故障的设备,则通过强制错误的奇偶性或者将所有字节允许置零来防止完成对该设备的加载/存储操作。通过强制错误的奇偶性或者零字节允许,该I/O设备将通过激活其设备选择线,来响应该加载或者存储请求,但将不接收存储数据。象当错误寄存器被清除时的所有加载存储操作一样,对没有登录在错误寄存器中的设备的操作被允许正常地进行下去。因此将不影响正常的系统操作,并且如果在错误恢复期间的操作不引起另外的损害,则将允许这些操作进行下去。
本发明的上述以及其它的目的、性能和优点将在下面的详细描述中变得明白。
认为是新的性能的本发明的特征被陈述于后附的权利要求中。但是,发明本身,以及最佳实施例,其它的目的和优点,将最好参照下面的说明性的实施例的详细描述并且结合附图来理解,其中:
图1描述了一个其中可以实现本发明的一最佳实施例的数据处理系统的方框图;
图2是根据本发明的一最佳实施例的一外围部件互连的主桥接器图;
图3A-3B描述了一些根据本发明的最佳实施例的高级流程图,用于在检测一错误后处理在一外围部件互连总线上的加载和存储操作的进程。
现参照附图,特别参照图1,描述了其中可以实现本发明的最佳实施例的一数据处理系统。数据处理系统100是一包括多个处理器102和104的对称多处理器(SMP)系统,这些处理器最好由来自New York,Armonk的IBM公司的PowerPCTM处理器系列的其中之一组成。虽然在该示范性的实施例中仅仅描述了两个处理器,但是可以采用一个或更多的处理器。本发明可应用于除SMP数据处理系统之外的其它系统,例如单处理器系统、NUMA体系结构的系统,分组系统等等。
每个处理器102和104分别具有用于分级至这些处理器的数据和指令的相关联级的二个(L2)高速缓存106和108。处理器102和104通过L2高速缓存106和108连接至系统总线110。连接至系统总线110的还有局部存贮器112、一提供对显示器(未示出)的连接的存贮器映象图形适配器114、以及一耦合系统总线110至I/O总线118的输入/输出(I/O)总线桥接器。诸如键盘120和指点设备122等输入设备连接至I/O总线118,指点设备122可以是鼠标、跟踪球等等。
在本发明中连接至系统总线110的还有外围部件互连(PCI)主桥接器124,它耦合系统总线110至PCI总线126。PCI总线126包括用于适配器128和130的多个插槽,这些适配器连接非易失性存储设备132和134至PCI总线126。非易失性存储设备132和134可以是磁盘、固态盘或者其它常规存储设备。
数据处理系统100的操作对本领域的技术人员是公知的。包含在存储设备,例如非易失性存储设备132和134或者例如只读存贮器(ROM)等其它设备中的软件包括一操作系统和相关的例行程序,它们根据系统加电而被加载。这种软件被加载到系统存贮器112中并且经由L2高速缓存106和108被分级至处理器102和104,包含在存储设备132和/或134中的应用软件和相关的数据亦是如此。键盘120和指点设备122可被用于通过一用户接口控制正在执行的软件应用程序,该用户接口可以是一图形用户接口。
本领域的技术人员知道,该数据处理系统100可以包括许多图1中未明确示出的其它部件,例如串行和并行口、至网络或附属设备的连接、管理对系统总线110和/或系统存贮器112的访问的控制器等等。而且,其它的系统体系结构,例如NUMA或分组结构,可以与本发明一起被采用。这种修改和变形处于本发明的精神和范围之内。
参见图2,描述了根据本发明的一最佳实施例的外围部件互连主桥接器图。在开发对防止在错误之后完成加载和存储问题的解决方案中,克服上述限制的一个关键是,延迟报告任何错误,直到设备驱动器为了某些其它的理由,需要从该设备中执行一加载为止。这时,先前的错误可以被报告。但是,为了成功地实现这一点,必须有一用于防止对适配器的状态进一步“损害”的机构。为了实现这一点,在对该设备的错误的第一加载或存储操作后,硬件应该防止其它的加载和存储操作到达该I/O设备。
在大多数I/O总线上的大多数I/O设备由地址选择,并且可以有一些它们响应的地址范围。在配置诸如PCI主桥接器124等的主桥接器以防止加载和存储操作到达I/O设备中,典型的方法将包含在主桥接器中重复I/O设备的译码或者在一特定主桥接器中关断至所有设备的全部加载和存储操作。前一解决方案是不可扩充的,而后一方案将消除比所希望的多得多的I/O操作。例如,一个PCI主桥接器可能提供至四个或更多I/O设备的连接。
在本发明中,对基于PCI的系统,通过重新设计PCI主桥接器124,解决了防止在错误之后完成加载和存储的问题。从每个I/O设备132和134连接至PCI主桥接器124的单独设备选择(DEVSEL)线202a-202n被连接至PCI主桥接器124。这样允许每个设备132和134译码其各自的地址范围并且向PCI主桥接器124报告其是否被选择。如果在对PCI总线126的加载或存储操作中检测到一错误(例如数据奇偶校验错误--PERR),则产生错误的设备经由各自的设备选择线202a-202n被登录在错误寄存器204中。从此时起直到PCI主桥接器124中的错误寄存器204被清除为止,有效数据决不会根据一存储操作传送至产生先前的错误的I/O设备,并且该I/O设备也决不允许根据一加载操作完成一有效的读事务。
在本发明中,一旦在PCI总线126上检测到一错误,如果一设备是先前产生错误的设备一即,如果从设备选择线202a-202n读取的DEVSEL匹配产生该错误并且登录在错误寄存器204中的I/O适配器的DEVSEL时,则就不允许完成对该设备的加载和存储操作。由于DEVSEL信号加入几个周期到总线操作中,因此,PCI主桥接器124可以延迟对该I/O设备的操作直至接收到该DEVSEL信号为止。
现参照图3A和图3B,图3A-3B描述了根据本发明的最佳实施例的高级流程图,用于在检测一错误后处理在一外围部件互连总线上的加载和存储操作的进程。在本发明中,产生错误的设备通过与该设备相关联的设备选择而被登录在PCI主桥接器的错误寄存器中。其后,对在该错误寄存器中标识的(多个)I/O设备的另外的加载和存储操作将被禁止完成。
图3A描述了根据本发明的防止对先前的故障设备完成加载/存储操作的第一种方法的进程。该进程开始于步骤302,该步骤说明接收用于连接到PCI总线的一设备的加载或存储操作。该进程然后到达步骤304,该步骤确定在该PCI主桥接器中的错误寄存器是否被清除。如果否,则该进程进行到步骤306,该步骤延迟与该加载或存储对应的读或写的完成直至可以读该设备选择线为止。这一点可以采用在PCI总线上的发送端准备(IRDY)信号线来实现。通过不启动该发送端准备线,该读或写可以被延迟直至在该设备选择线上的设备选择指示符(这里也称作设备标识符或设备号)已经根据存储在该错误寄存器中的设备号(即,从先前的错误捕获的设备号)被检验为止。
对于存储操作,该进程可以选择性地进行至步骤307,该步骤将具有正确奇偶性的数据放到总线上以便准备发送至该I/O设备。如果该主体设备不是登录在错误寄存器中的先前的故障设备,则允许该存储操作正常地进行下去。然后该进程从步骤307中,如果实现的话,否则从步骤306中进行到步骤308,一旦用于该加载或存储操作所涉及的I/O设备的设备选择指示符变成可用的,步骤308就判定该设备选择指示符是否登录在PCI主桥接器的错误寄存器中。
如果该设备选择指示符登录在错误寄存器中,表示一先前的故障设备,则该进程进行到步骤310,该步骤强制在该操作中的数据奇偶错误。对于存储操作,这可以通过改变总线上的奇偶性以强制数据奇偶错误来实现。对于加载操作,一信号可以传送至该PCI总线桥接器,虽然存储错误的奇偶性,该信号也将被解释。然后,PCI主桥接器将自然地发出一PCI总线上的奇偶错误(PERR)信号至该I/O设备,因而通知该设备不产生任何应伴随一正确读操作的读方面的活动。
然后该进程进行至步骤312,在该步骤中结束操作。这可以通过启动该发送端准备信号并且在一个数据传送后结束该操作来实现。由于错误的数据奇偶性,该设备不应在一存储操作中使用任何错误的数据或者在一加载操作中具有任何读方面的活动。因此,该操作实质上是无操作。在一加载操作中,错误可以返回至该处理器,该处理器能检测该错误并且将该错误扣在执行该操作的特定设备驱动器上。然后该设备驱动器可以清除在PCI主桥接器中的用于该设备的错误寄存器状态,以便允许对该设备的其它的操作。然后该设备驱动器将执行适当的整理并且重新启动。
再参照步骤308,如果设备选择指示符不匹配在PCI主桥接器的错误寄存器中的任何设备号,表示设备不是先前的故障设备,则该进程进行至步骤314,该步骤允许该操作继续进行。这可以通过简单地启动该发送端准备信号并且允许该操作进行下去来实现。在任何事件中都需要该发送端准备信号进行下去的加载操作可以在延迟后简单地继续进行下去;对于存储操作,如果在延迟该操作之前具有正确奇偶性的数据被(可选择地)放到线上,也可以简单地继续进行下去。
现回到步骤304,如果当接收加载/存储操作时错误寄存器被清除,则该进程类似地进行至步骤314,该步骤允许操作正常地进行下去。注意,对一“好”的I/O设备(没有登录在错误寄存器的一个设备)的加载/存储操作的延迟仅仅产生到该错误寄存器复位为止。因此,仅仅除了错误恢复期间外,本发明的方法不影响正常系统操作的性能。从步骤304或者312,进程到达步骤314,该步骤表示该进程变成空闲直至接收至另一加载或存储操作为止。
图3B描述了根据本发明的防止对先前的故障设备完成加载/存储操作的第二种方法的进程。除了对数据强制错误的奇偶性外,图3A的方法包括允许数据(或者至少去掉其余部分的单节拍数据)的传送。该方法具有一缺点,就是PCI体系结构规范没有指定一设备不采用具有错误的奇偶性的数据。好的设计不应利用具有错误的奇偶性的数据,但这样做并不违反该PCI体系结构规范。描述于图3B的另一方法通过将一数据传送的字节允许设置为零而不是对该数据强制错误的奇偶性来避免这种限制。这样具有的优点是在PCI体系结构规范中被明确地提出,它规定在没有任何永久改变的情况下,其中没有要求字节允许的一访问的目标必须完成当前的数据阶段。PCI体系结构规范还指出:对于读事务,这表示数据或状态不改变;对于写事务,数据不存储。
图3B中描述的进程开始于步骤322,该步骤说明接收用于连接到PCI总线的一设备的加载或存储操作。该进程然后到达步骤324,该步骤确定在该PCI主桥接器中的错误寄存器是否被清除。如果否,则该进程进行到步骤326,该步骤通过如第一种方法的不启动该发送端准备信号,延迟与该加载或存储操作对应的读或写的完成,直至可以读该设备选择线为止。
从步骤326开始,图3B中描述的方法与前面描述的方法不同,在该方法中,用来防止完成加载/存储操作的机构在根据错误寄存器检验设备号之前被启动。因此,该进程进行到步骤328,该步骤将所有的零字节允许(BE)放到总线上(即,全部失效的)。这将指示I/O设备不根据一存储操作从总线上获得任何数据并且不根据一加载操作导致的读产生任何方面的活动。
该进程然后到达步骤330,该步骤判定在设备选择线上的设备号是否包含在PCI主桥接器的错误寄存器中,以便指示该设备是否为先前的故障设备。如果是,则该进程进行到步骤332,如上所述,该步骤启动发送端准备信号并且结束该周期。因此该总线操作实质上是无操作。如前所述,错误可以返回至处理器以允许操作系统和设备驱动器分别清除该PCI主桥接器错误寄存器并且整理然后重新开始。
如果设备号匹配登录在错误寄存器中的设备标识符,则进程进行到步骤334,该步骤终止并且重新开始该操作。这可以通过启动该发送端准备信号并且允许该操作继续(再一个无操作),然后利用首地址和有效字节允许重新开始该操作来实现。如前一方法所述,如果当接收加载/存储操作时错误寄存器被清除,则该进程从步骤324进行至步骤336,使得不影响在正常操作期间的系统性能并且仅仅在错误恢复期间延迟操作。从步骤332或者336,进程到达步骤338,该步骤表示该进程变成空闲直至接收至另一加载或存储操作为止。
示于图3A和图3B两个可选择的方法都具有优点和局限性。对数据强制错误的奇偶性允许对没有登录在错误寄存器中的设备的操作进行下去而没有不必要的延迟,但是不保证该错误数据将不被采用。将字节允许填充为零防止错误的数据被采用,但是需要终止并重新开始对“好”设备(没有登录在错误寄存器中的设备)的操作。因此,最好的方法依赖于本发明实现的具体的环境。
除了防止完成对先前的故障设备的加载和存储操作外,PCI主桥接器还应防止对该故障设备的直接存储存贮器访问(DMA)。为了实现这一点,PCI主桥接器可能将一仲裁级与设备选择线相关联并且防止该故障设备在任何时候接收总线允许(GNT)信号。
上述的防止对一先前故障I/O设备的损害的技术不仅可以用于奇偶错误,而且可以用于在加载或存储操作期间,在PCI总线上出现的任何其它错误,例如来自目标设备的一目标异常中断,其中所述的操作可以被扣住在一特定设备上。另外,如果接收到的错误不能被扣住在一特定设备中(例如地址奇偶错误),则错误寄存器可以被设备以指示在PCI主桥接器范围内的所有I/O设备已经具有一错误,并且对这些设备的所有其后的加载或存储操作将被标记为错误。
除了在PCI总线上发现的错误外,所述防止对一设备损害的技术也可用于在PCI主桥接器的其它方面上的总线错误。只要该错误可以被扣住到一特定PCI设备上,本发明的方法就将提供一比较可行的解决方案。例如,如果在对一PCI设备的存储操作中出现一奇偶错误,则该PCI主桥接器可以传送该奇偶检验错误至PCI总线。当此后该设备以一设备选择进行响应时,它也将以一奇偶检验错误信号进行响应。然后上述的方法将产生作用。
在不需要对PCI适配器硬件的任何改变并且不需要实质上大量的处理器时间的情况下,本发明防止了对先前的故障设备完成加载和存储操作。如果一设备产生了故障并且错误恢复还没有完成(如果错误寄存器还没有复位),则本发明的方法仅仅延迟加载/存储操作,而在正常系统操作期间,不会影响性能。本发明的方法还隔离了先前的故障设备并且允许对其它设备的加载和存储操作进行下去,即使该目标设备在与先前的故障设备相同的PCI主桥接器的范围之内。
虽然本发明已经参照最佳实施例进行了具体的描述和展示,但是,本领域的技术人员应该明白的是,在不脱离本发明的精神和范围的前提下可以在形式和细节上作出种种变化。

Claims (28)

1.一种防止对先前的故障设备完成加载或存储操作的方法,包括:
响应接收一加载或存储操作,检验一错误寄存器的状态;
响应确定该错误寄存器还未被复位,延迟该加载或存储操作直至用于该加载或存储操作的目标设备的设备标识符相对于该错误寄存器可以被检验为止;以及
响应确定用于该加载或存储操作的目标设备的该设备标识符被登录在该错误寄存器中,防止完成该加载或存储操作。
2.根据权利要求1的方法,其中检验一错误寄存器的状态的步骤还包括:
检验在一主桥接器内的错误寄存器的状态。
3.根据权利要求1的方法,其中延迟该加载或存储操作直至用于该加载或存储操作的目标设备的设备标识符可以根据该错误寄存器被检验为止的步骤还包括:
根据该加载或存储操作延迟读或写直至该设备标识符在连接至一主桥接器的设备选择线上变成可用的为止。
4.根据权利要求1的方法,其中延迟该加载或存储操作直至用于该加载或存储操作的目标设备的设备标识符可以根据该错误寄存器被检验为止的步骤还包括:
不启动一发送端准备信号。
5.根据权利要求1的方法,其中防止完成该加载或存储操作的步骤还包括:
对该加载或存储操作强制奇偶错误。
6.根据权利要求5的方法,其中所述对该加载或存储操作强制奇偶错误的步骤还包括:
对一存储操作改变在总线上的数据的奇偶性。
7.根据权利要求5的方法,其中所述对该加载或存储操作强制奇偶错误的步骤还包括:
对一加载操作,将奇偶错误通知一设备。
8.根据权利要求5的方法,还包括:
在传送单节拍数据后,终止用于该加载或存储操作的数据传送。
9.根据权利要求1的方法,其中防止完成该加载或存储操作的步骤还包括:
将用于该加载或存储操作的全零字节允许送至总线上。
10.根据权利要求9的方法,还包括:
终止并重新启动该加载或存储操作。
11.根据权利要求1的方法,还包括:
根据在总线上检测到错误,当该错误发生时登录基于设备选择线的一设备标识符至该错误寄存器中。
12.根据权利要求1的方法,还包括:
响应确定用于加载或存储操作的目标设备的该设备标识符没有被登录在该错误寄存器中,允许该加载或存储操作进行下去。
13.根据权利要求12的方法,其中允许该加载或存储操作进行下去的步骤还包括:
对于一存储操作,不改变在总线上的数据的奇偶性;并且
启动一发送端准备信号。
14.根据权利要求1的方法,还包括:
响应确定该错误寄存器已经被复位,允许该加载或存储操作进行下去。
15.一种用于防止对先前的故障设备完成加载或存储操作的装置,包括:
一连接总线至数据处理系统的其余部分的主桥接器;
连接至该主桥接器的多条设备选择线;以及
一错误寄存器,当在该总线上检测到一错误时,将在所述设备选择线上的一设备标识符登录在该错误寄存器中,
其中该主桥接器包括:
一装置,响应接收一加载或存储操作,用于检验错误寄存器的状态;
一装置,响应确定该错误寄存器还未被复位,用于延迟该加载或存储操作直至用于该加载或存储操作的目标设备的设备标识符相对于该错误寄存器可以被检验为止;以及
一装置,响应确定用于该加载或存储操作的目标设备的该设备标识符被登录在该错误寄存器中,用于防止完成该加载或存储操作。
16.根据权利要求15的装置,其中,该错误寄存器被包括在该主桥接器内。
17.根据权利要求15的装置,其中用于延迟该加载或存储操作直至用于该加载或存储操作的目标设备的设备标识符可以根据该错误寄存器被检验为止的装置还包括:
一装置,用于根据该加载或存储操作延迟读或写直至该设备标识符在所述设备选择线上变成可用的为止。
18.根据权利要求1的装置,其中所述用于延迟该加载或存储操作直至用于该加载或存储操作的一目标设备的设备标识符可以根据该错误寄存器被检验为止的装置还包括:
用于不启动一发送端准备信号的装置。
19.根据权利要求15的装置,其中用于防止完成该加载或存储操作的装置还包括:
用于对该加载或存储操作强制奇偶错误的装置。
20.根据权利要求19的装置,其中所述用于对该加载或存储操作强制奇偶错误的装置还包括:
用于对一存储操作改变在总线上的数据的奇偶性的装置。
21.根据权利要求19的装置,其中所述用于对该加载或存储操作强制奇偶错误的装置还包括:
一装置,用于对一加载操作,将奇偶错误通知一设备。
22.根据权利要求19的装置,还包括:
一装置,用于在传送单节拍数据后,终止用于该加载或存储操作的数据传送。
23.根据权利要求15的装置,其中所述用于防止完成该加载或存储操作的装置还包括:
将用于该加载或存储操作的全零字节允许送至总线上的装置。
24.根据权利要求23的装置,还包括:
用于终止并重新启动该加载或存储操作的装置。
25.根据权利要求15的装置,还包括:
一装置,响应在总线上检测错误,用于当该错误发生时,将在所述设备选择线的一设备标识符登录在该错误寄存器中。
26.根据权利要求15的装置,还包括:
一装置,响应确定用于加载或存储操作的目标设备的该设备标识符没有被登录在该错误寄存器中,用于允许该加载或存储操作进行下去。
27.根据权利要求26的装置,其中用于允许该加载或存储操作进行下去的装置还包括:
一装置,用于对一存储操作,不改变在总线上的数据的奇偶性;以及
用于启动一发送端准备信号的装置。
28.根据权利要求15的装置,还包括:
一装置,响应确定该错误寄存器已经被复位,用于允许该加载或存储操作进行下去。
CNB991047877A 1998-05-04 1999-04-02 防止对先前的故障设备完成加载或存储操作的方法及装置 Expired - Lifetime CN1139036C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/072418 1998-05-04
US09/072,418 US6223299B1 (en) 1998-05-04 1998-05-04 Enhanced error handling for I/O load/store operations to a PCI device via bad parity or zero byte enables

Publications (2)

Publication Number Publication Date
CN1234562A CN1234562A (zh) 1999-11-10
CN1139036C true CN1139036C (zh) 2004-02-18

Family

ID=22107431

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB991047877A Expired - Lifetime CN1139036C (zh) 1998-05-04 1999-04-02 防止对先前的故障设备完成加载或存储操作的方法及装置

Country Status (7)

Country Link
US (1) US6223299B1 (zh)
EP (1) EP0955585B1 (zh)
JP (1) JP3437939B2 (zh)
KR (1) KR100337215B1 (zh)
CN (1) CN1139036C (zh)
DE (1) DE69914966D1 (zh)
TW (1) TW424179B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101625656B (zh) * 2009-07-28 2012-09-19 杭州华三通信技术有限公司 一种处理pci系统异常的方法及装置

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI19991735A (fi) * 1999-08-16 2001-02-17 Nokia Networks Oy Menetelmä ja laite tietokonejärjestelmän toimintavarmuuden parantamiseksi
US6643727B1 (en) * 2000-06-08 2003-11-04 International Business Machines Corporation Isolation of I/O bus errors to a single partition in an LPAR environment
US6665753B1 (en) * 2000-08-10 2003-12-16 International Business Machines Corporation Performance enhancement implementation through buffer management/bridge settings
US6976191B2 (en) * 2002-03-07 2005-12-13 International Business Machines Corporation Method and apparatus for analyzing hardware errors in a logical partitioned data processing system
US6934888B2 (en) * 2002-03-07 2005-08-23 International Business Machines Corporation Method and apparatus for enhancing input/output error analysis in hardware sub-systems
US20040008192A1 (en) * 2002-07-10 2004-01-15 Waterman John Karl Parity checking system and method for a display system
US7650530B2 (en) * 2002-09-30 2010-01-19 International Business Machines Corporation Initializing a processing system to ensure fail-safe boot when faulty PCI adapters are present
JP4123942B2 (ja) * 2003-01-14 2008-07-23 株式会社日立製作所 情報処理装置
JP4153802B2 (ja) * 2003-02-07 2008-09-24 株式会社ルネサステクノロジ 記憶装置
US7103808B2 (en) * 2003-04-10 2006-09-05 International Business Machines Corporation Apparatus for reporting and isolating errors below a host bridge
CN1302358C (zh) * 2003-05-21 2007-02-28 华为技术有限公司 一种桥接芯片的复位方法及其装置
US7877647B2 (en) * 2003-05-23 2011-01-25 Hewlett-Packard Development Company, L.P. Correcting a target address in parallel with determining whether the target address was received in error
US7275199B2 (en) * 2004-08-05 2007-09-25 International Business Machines Corporation Method and apparatus for a modified parity check
CN100372094C (zh) * 2004-10-29 2008-02-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
US7412629B2 (en) * 2005-06-09 2008-08-12 International Business Machines Corporation Method to override daughterboard slots marked with power fault
US20080148104A1 (en) * 2006-09-01 2008-06-19 Brinkman Michael G Detecting an Agent Generating a Parity Error on a PCI-Compatible Bus
JP4656080B2 (ja) * 2007-04-16 2011-03-23 株式会社日立製作所 情報処理装置のシステム部品
US8510599B2 (en) 2010-06-23 2013-08-13 International Business Machines Corporation Managing processing associated with hardware events
US8566480B2 (en) 2010-06-23 2013-10-22 International Business Machines Corporation Load instruction for communicating with adapters
US8626970B2 (en) 2010-06-23 2014-01-07 International Business Machines Corporation Controlling access by a configuration to an adapter function
US8478922B2 (en) 2010-06-23 2013-07-02 International Business Machines Corporation Controlling a rate at which adapter interruption requests are processed
US8650335B2 (en) 2010-06-23 2014-02-11 International Business Machines Corporation Measurement facility for adapter functions
US8621112B2 (en) 2010-06-23 2013-12-31 International Business Machines Corporation Discovery by operating system of information relating to adapter functions accessible to the operating system
US8505032B2 (en) 2010-06-23 2013-08-06 International Business Machines Corporation Operating system notification of actions to be taken responsive to adapter events
US8650337B2 (en) 2010-06-23 2014-02-11 International Business Machines Corporation Runtime determination of translation formats for adapter functions
US8572635B2 (en) 2010-06-23 2013-10-29 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification
US8504754B2 (en) 2010-06-23 2013-08-06 International Business Machines Corporation Identification of types of sources of adapter interruptions
US8468284B2 (en) 2010-06-23 2013-06-18 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification to a guest operating system
US9213661B2 (en) 2010-06-23 2015-12-15 International Business Machines Corporation Enable/disable adapters of a computing environment
US8639858B2 (en) 2010-06-23 2014-01-28 International Business Machines Corporation Resizing address spaces concurrent to accessing the address spaces
US8615645B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Controlling the selectively setting of operational parameters for an adapter
US8635430B2 (en) 2010-06-23 2014-01-21 International Business Machines Corporation Translation of input/output addresses to memory addresses
US8549182B2 (en) 2010-06-23 2013-10-01 International Business Machines Corporation Store/store block instructions for communicating with adapters
US9342352B2 (en) 2010-06-23 2016-05-17 International Business Machines Corporation Guest access to address spaces of adapter
US9195623B2 (en) 2010-06-23 2015-11-24 International Business Machines Corporation Multiple address spaces per adapter with address translation
JP5201176B2 (ja) * 2010-07-09 2013-06-05 株式会社日立製作所 情報処理装置
US9442793B2 (en) * 2013-07-23 2016-09-13 Qualcomm Incorporated Robust hardware/software error recovery system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404483A (en) * 1990-06-29 1995-04-04 Digital Equipment Corporation Processor and method for delaying the processing of cache coherency transactions during outstanding cache fills
DE69230129T2 (de) * 1991-12-18 2000-06-15 Sun Microsystems Inc Schreibüberlappung mit Verhinderung des Überschreibens
US5313627A (en) * 1992-01-02 1994-05-17 International Business Machines Corp. Parity error detection and recovery
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
US5522050A (en) * 1993-05-28 1996-05-28 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
US5790831A (en) * 1994-11-01 1998-08-04 Opti Inc. VL-bus/PCI-bus bridge
CA2160500C (en) * 1994-11-30 1999-11-09 Amy Kulik Pci/isa bridge having an arrangement for responding to pci bridge address parity errors for internal pci slaves in the pci/isa bridge
US5859988A (en) * 1995-09-29 1999-01-12 Intel Corporation Triple-port bus bridge
KR100244836B1 (ko) * 1995-11-02 2000-02-15 포만 제프리 엘 컴퓨터시스템 및 다수의 기능카드 중 한개의 기능카드를 격리하는 방법
US5857080A (en) * 1996-09-10 1999-01-05 Lsi Logic Corporation Apparatus and method for address translation in bus bridge devices
US5857085A (en) * 1996-11-13 1999-01-05 Cypress Semiconductor Corporation Interface device for XT/AT system devices on high speed local bus
US5872910A (en) * 1996-12-27 1999-02-16 Unisys Corporation Parity-error injection system for an instruction processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101625656B (zh) * 2009-07-28 2012-09-19 杭州华三通信技术有限公司 一种处理pci系统异常的方法及装置

Also Published As

Publication number Publication date
JPH11353244A (ja) 1999-12-24
EP0955585A3 (en) 2003-03-19
DE69914966D1 (de) 2004-04-01
KR100337215B1 (ko) 2002-05-17
KR19990087931A (ko) 1999-12-27
JP3437939B2 (ja) 2003-08-18
EP0955585A2 (en) 1999-11-10
CN1234562A (zh) 1999-11-10
EP0955585B1 (en) 2004-02-25
US6223299B1 (en) 2001-04-24
TW424179B (en) 2001-03-01

Similar Documents

Publication Publication Date Title
CN1139036C (zh) 防止对先前的故障设备完成加载或存储操作的方法及装置
US5499346A (en) Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus
US5784712A (en) Method and apparatus for locally generating addressing information for a memory access
US5802269A (en) Method and apparatus for power management of distributed direct memory access (DDMA) devices
US6304984B1 (en) Method and system for injecting errors to a device within a computer system
US6523140B1 (en) Computer system error recovery and fault isolation
US5596716A (en) Method and apparatus for indicating the severity of a fault within a computer system
EP1588260B1 (en) Hot plug interfaces and failure handling
US6728791B1 (en) RAID 1 read mirroring method for host adapters
US20040093454A1 (en) USB endpoint controller flexible memory management
US5784393A (en) Method and apparatus for providing fault detection to a bus within a computer system
JPH07311716A (ja) コンピュータシステム、コンピュータシステムに周辺装置をインタフェースさせるための並列ポート回路、およびその動作方法
US7631226B2 (en) Computer system, bus controller, and bus fault handling method used in the same computer system and bus controller
US20060149866A1 (en) Method and apparatus for transferring data
US4858234A (en) Method and apparatus for error recovery in a multibus computer system
US7143206B2 (en) Method for controlling data transfer unit having channel control unit, storage device control unit, and DMA processor
US4837767A (en) Bus adapter module with improved error recovery in a multibus computer system
TWI337308B (en) Host bus adapter, server computer, storage area network, apparatus and method for providing a selectively transparent interface for transactions between one or more primary devices on a primary bus and a secondary device on a secondary bus
EP0535697A1 (en) Microprocessor bus interface protocol analyzer
US5809260A (en) Burst mode data transmission retry of previously aborted block transfer of data
US5168564A (en) Cancel mechanism for resilient resource management and control
JP2807010B2 (ja) ホストコンピュータとテープ駆動部間の相互接続用のテープ駆動制御ユニットおよびその操作方法
US20060129714A1 (en) Method and apparatus for transferring data
EP1306766A1 (en) Method and apparatus for providing address parity checking for multiple overlapping address spaces on a shared bus
US6701385B1 (en) Raid 1 write mirroring method for host adapters

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20040218

CX01 Expiry of patent term