KR100337215B1 - 불량 패리티 또는 제로 바이트 인에이블을 통한 pci장치로의입출력 로드/기억동작을 위한 향상된 오류 처리 방법 - Google Patents

불량 패리티 또는 제로 바이트 인에이블을 통한 pci장치로의입출력 로드/기억동작을 위한 향상된 오류 처리 방법 Download PDF

Info

Publication number
KR100337215B1
KR100337215B1 KR1019990013381A KR19990013381A KR100337215B1 KR 100337215 B1 KR100337215 B1 KR 100337215B1 KR 1019990013381 A KR1019990013381 A KR 1019990013381A KR 19990013381 A KR19990013381 A KR 19990013381A KR 100337215 B1 KR100337215 B1 KR 100337215B1
Authority
KR
South Korea
Prior art keywords
load
error
store operation
register
store
Prior art date
Application number
KR1019990013381A
Other languages
English (en)
Other versions
KR19990087931A (ko
Inventor
보쎈더글라스크래이그
맥로린찰스앤드류
닐대니마빈
니콜슨제임스오토
써버스티븐마크
Original Assignee
포만 제프리 엘
인터내셔널 비지네스 머신즈 코포레이션
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 포만 제프리 엘, 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 포만 제프리 엘
Publication of KR19990087931A publication Critical patent/KR19990087931A/ko
Application granted granted Critical
Publication of KR100337215B1 publication Critical patent/KR100337215B1/ko

Links

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

Abstract

본 발명은 오류 발생 장치의 로드 또는 기억 동작이 완료되는 것을 방지하는 방법에 관한 것이다. 각 I/O 장치로부터 장치 선택 라인은 개별적으로 PCI 호스트 브리지에 연결되어 있으므로, 오류가 PCI 버스 상에 발견되는 경우에 오류 발생 장치의 장치 번호가 오류 레지스터 내에 로그(log)된다. 주체(subject) 장치의 장치 번호가 오류 레지스터에 대하여 검사(check)될 때까지 다음의 로드(load) 및 기억(store) 동작이 지연되고 나서야 오류 레지스터가 리셋된다. 주체 장치가 이전 단계에서 오류가 발생한 장치라면, 불량 패리티(bad parity)를 강제로 부여하거나 바이트 인에이블(byte enable)을 모두 제로(zero)로 하여, 그 장치에 대한 로드/기억 동작이 완료되는 것을 방지한다. 강제 불량 패리티와 제로(zero) 바이트 인에이블에 의하여 I/O 장치는 자체의 장치 선택 라인을 구동하여 로드 또는 기억 요구에 대하여 응답할 것이지만, 기억 데이터를 받아들이지 않을 것이다. 오류 레지스터에 로그되지 않은 장치에 대한 동작은 정상적으로 계속하여 수행되도록 허용되며, 오류 레지스터가 소거되는 경우에 모든 로드 및 기억 동작들은 정상적으로 진행되도록 허용된다. 따라서 정상적인 시스템 동작은 영향을 받지 않으며, 더 이상 손상이 유발되지 않는다면 오류 복구 동안에 동작이 계속하여 수행되도록 허용된다.

Description

불량 패리티 또는 제로 바이트 인에이블을 통한 PCI 장치로의 입출력 로드/기억 동작을 위한 향상된 오류 처리 방법 {ENHANCED ERROR HANDLING FOR I/O LOAD/STORE OPERATIONS TO A PCI DEVICE VIA BAD PARITY OR ZERO BYTE ENABLES}
본 발명은 버스 오류 처리(error handling)에 관한 것으로, 구체적으로는 로드/기억(load/store) 동작 동안 버스 오류를 처리하는 것에 관한 것이다. 더욱 구체적으로, 본 발명은 강제 불량 데이터 패리티(forced bad data parity) 또는 제로 바이트 인에이블(zero byte enables)을 통하여 로드 및 기억 동작 동안 버스 오류에 의한 손상(damage)을 방지하여 이러한 오류로부터 복구하는 능력을 향상시키기위한 것이다.
많은 데이터 처리 시스템들은 주변 장치 연결(peripheral architecture interconnect; PCI) 로컬 버스 아키텍쳐(architecture)에 적합한 표준 입출력(I/O) 시스템을 지원(support)하고 있으며, 아키텍쳐는 PCI간의 브리지, 동위 계층간(peer-to-peer)의 데이터 전송, 다기능 장치 및 집적화되고 플러그인(plug-in) 된 장치를 통한 I/O 확장(expansion)을 포함하는 많은 복합적인 특징을 지원한다. PCI 버스 상에서 I/O 장치에 대하여 I/O 동작을 설정하는 경우에, 장치 드라이버(device driver)는 I/O 장치에 대하여 연속된 로드 및/또는 기억 동작을 수행해야만 한다. 이러한 동작 중의 임의 동작이 I/O 버스 상에서 패리티 오류를 갖는다면, 그 동작이 초기화되기 전에 장치 드라이버가 중지될 수 있도록 그 정보를 장치 드라이버로 리턴할 필요가 있다.
예를 들면, 제1 기억 동작은 I/O 장치에 어드레스를 설정하기 위해 사용될 수 있으며, 다음의 제2 기억 동작은 데이터 전송을 시작하도록 I/O 장치로 신호를 보내는데 사용될 수 있다. 제1 기억 동작이 오류를 가진 상태에서 그 다음의 제2 기억 동작이 수신되면, I/O 장치는 부적합한(incorrect) 위치에서 동작을 시작한다. PCI 아키텍쳐는 오류 발생 후에 로드/기억 동작이 계속되는 것을 방지하기 위한 어댑터를 설계하는 어떠한 대책도 포함하지 않는다. 대부분 현재 시스템들은 기억 동작후에 장치 드라이버 실행이 계속되도록 하며, 기억 동작이 완전하고 정확하게 수행되었는지를 판단하기 위하여 로드/기억 동작에 대해 성공적임이라는 응답을 기다리지는 않는다. 기억 동작에 대한 응답을 기다리는데 요구되는 프로세서 기능 정지(stall)가 시스템 성능을 상당히 저하시키므로 이것은 바람직하다.
매 로드 또는 기억 동작마다 응답을 기다리지 않고 오류 후에 장치 드라이버가 게속되는 로드/기억 동작을 완료하는 것을 방지하도록 하는 하나의 기술은, 장치 드라이버가 '개시(go)' 기억 동작 (장치 드라이버에게 시작하도록 신호하는 기억 동작)을 지시하기(issue) 전에 모든 셋업(setup) 정보를 되읽고(read back), 그 다음 되읽혀진 데이터와 기억된 데이터를 비교하여 '개시' 기억 동작을 지시하기에 앞서 그 두 개가 동일한 것인지를 판단한다. 그러나, 이것은 장치에 대한 로드 동작에 대하여 많은 프로세서 시간을 요구하고, 대부분의 경우에 프로세서 인스트럭션(instruction) 시간에 비하여 긴 경로(path)를 요구한다. 또 하나의 가능한 해결책은 인터페이스 내의 비트 또는 I/O 장치 내의 상태 레지스터(status register)를 검사(examine)하여 기억 동작 후에 오류가 발생되었는지를 판단하는 것이다. 그러나, 이것은 현재의 아키텍쳐에 의하여 지원되지 않으며, 또한 많은 프로세서 시간을 요구한다.
또 다른 해결책은 기억 동작 후 오류가 있는 경우에 I/O 장치가 외부 인터럽트를 생성하는 것이지만, 기억 동작을 계속하기 전에 인터럽트를 기다리는데 많은 시간이 걸린다. 그 외에 생각할 수 있는 가능성은 일반적으로 어댑터에 달려 있으므로, 그 해결책을 위하여 설계되지 않은 임의의 I/O 장치로는 작동할 수 없거나 많은 프로세서 시간을 요구하게 될 것이다.
그러므로, 로드 또는 기억 동작마다 응답을 기다리지 않고 오류 발생 후의 로드 및/또는 기억 동작이 완료되는 것을 방지하기 위한 방법과 장치를 제공하는 것이 바람직하다. 또한, 메커니즘이 PCI 어댑터 또는 I/O 장치 하드웨어에 대한 변경을 요구하는 것을 피하도록 하는 것이 바람직하며, 이에 따라 메커니즘에 그 메커니즘용으로 특별히 설계되지 않은 어떠한 I/O 장치도 사용할 수 있다.
따라서, 본 발명의 목적은 버스 오류 처리를 위한 방법 및 장치를 제공하는 것이다.
본 발명의 다른 목적은 로드 및 기억 동작 동안에 버스 오류를 처리하기 위한 방법 및 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 강제 불량 데이타 패리티 또는 제로 바이트 인에이블 사용에 의하여 이전 단계에 오류가 발생하였던 장치를 식별하여 로드 및 기억 동작 동안 버스 오류에 의한 손상을 방지하기 위한 방법 및 장치를 제공하는 것이다.
도 1은 본 발명의 바람직한 실시예가 구현되는 데이터 처리 시스템의 블록도.
도 2는 본 발명의 바람직한 실시예에 따른 주변 장치 연결 호스트 브리지의 블록도.
도 3a 및 도 3b는 본 발명의 실시예에 따른 오류 검출 후 주변 장치 연결 버스 상에서의 로드 및 기억 동작을 처리하는 프로세스에 대한 상위 레벨 순서도.
상기 목적은 이하에 기술되는 바에 의하여 달성된다. 각 I/O 장치로부터 장치 선택 라인은 개별적으로 PCI 호스트 브리지에 연결되어 있으므로, 오류가 PCI 버스 상에 발견되는 경우에 오류 발생 장치의 장치 번호가 오류 레지스터 내에 로그(log)된다. 대상(subject) 장치의 장치 번호가 오류 레지스터에 대하여 검사(check)될 때까지 다음의 로드 및 기억 동작이 지연되고 나서야 오류 레지스터가 리셋된다. 대상 장치가 이전 단계에서 오류가 발생한 장치라면, 불량 패리티를 강제로 부여하거나 바이트 인에이블을 모두 제로(zero)로 하여, 그 장치에 대한 로드/기억 동작이 완료되는 것을 방지한다. 강제 불량 패리티와 제로 바이트 인에이블에 의하여, I/O 장치는 자체의 장치 선택 라인을 구동하여 로드 또는 기억 요구에 대하여 응답할 것이지만, 기억 데이터를 받아들이지 않을 것이다. 오류 레지스터에 로그되지 않은 장치에 대한 동작은 정상적으로 계속하여 수행되도록 허용되며, 오류 레지스터가 소거되는 경우에 모든 로드 및 기억 동작들은 정상적으로 진행되도록 허용된다. 따라서 정상적인 시스템 동작은 영향을 받지 않으며, 그러한 동작에 의하여 더 이상 손상이 유발되지 않는다면 오류 복구 동안에 동작이 계속하여 수행되도록 허용된다.
상기 부가적인 본 발명의 목적 및 추가 목적, 특징 및 장점은 다음에 기술되는 설명에서 명확해질 것이다.
본 발명의 신규한 특징은 첨부된 특허 청구의 범위에 기술되어 있다. 첨부된 도면과 함께 예시된 실시예의 상세한 설명을 참조하면 본 발명의 바람직한 실시예, 추가적인 목적 및 장점이 보다 확실하게 이해될 수 있을 것이다.
도 1을 참조하면, 본 발명의 바람직한 실시예가 구현되는 데이터 처리 시스템이 도시되어 있다. 데이터 처리 시스템(100)은 다수의 프로세서(102,104)를 포함하는 대칭형 멀티프로세서 시스템(symetric multiprocessor system; SMP)이며, 이들 프로세서(102,104)는 바람직하게는 뉴욕 아몽크(Amornk)에 소재한 IBM (International Business machines)사에서 입수가능한 파워PCTM계열의 프로세서 중의 하나로 이루어진다. 예시된 실시예에서는 단지 두 개의 프로세서만 도시되어있으나, 하나 또는 그 이상의 프로세서가 추가로 사용될 수 있다. 본 발명은 SMP 데이터 처리 시스템 이외에, 단일 프로세서 시스템, NUMA 아키텍쳐 시스템, 클러스터(cluster) 시스템 및 동종류의 다른 시스템에 적용 가능하다.
각 프로세서(102,104)는 데이터 및 인스트럭션을 프로세서로 스테이징(staging)하는 연관 레벨 2(L2) 캐시((106,108)를 각각 포함한다. 프로세서(102,104)는 L2 캐시(106,108)을 통하여 시스템 버스(110)에 연결되어 있다. 또한 로컬 메모리, 디스플레이(도시되지 않음)에 대한 연결을 제공하는 메모리 맵 그래픽 어댑터(114), I/O 버스(118)에 시스템 버스(110)를 연결하는 입/출력(I/O) 버스 브리지(bus bridge)가 시스템 버스(110)에 연결되어 있다. 키보드(120)와, 마우스, 트랙볼(trackball) 등의 포인팅 장치(pointing device, 22)와 같은 입력 장치가 I/O 버스(118)에 연결되어 있다.
또한 본 발명에서 시스템 버스(110)를 주변 장치 연결(Peripheral Component Interface; PCI) 버스(126)에 연결하는 PCI 호스트 브리지(124)가 시스템 버스(110)에 연결되어 있다. PCI 버스(126)는 비휘발성 기억 장치(132,134)를 PCI 버스(126)에 연결하는 다수의 어댑터(128,130)용 슬롯을 포함한다. 비휘발성 기억 장치(132,134)는 자기 디스크 드라이버, 고체 상태 디스크, 또는 그 밖의 통상적인 기억 장치일 수 있다.
데이터 처리 시스템(100)의 동작은 해당 기술 분야에 종사하는 통상의 지식을 가진 자에게 알려져 있다. 비휘발성 기억 장치(132,134) 등의 기억 장치와 읽기 전용 메모리(ROM) 등의 그 밖의 장치내에 포함된 소프트웨어는 시스템에 대한 전력 공급에 응답하여 로드되는 운영 체제와 관련된 루틴을 포함한다. 이러한 소프트웨어는 시스템 메모리(112)로 로드되고, L2 캐시(106,108)를 통하여 프로세서(102,104)로 스테이지(stage)되며, 이러한 소프트웨어는 기억 장치(132 및/또는 134) 내에 포함된 응용 소프트웨어이고 관련 데이타이다. 키보드(120)와 포인팅 장치(122)는 그래픽 사용자 인터페이스일 수 있는 사용자 인터페이스를 통하여 실행되는 소프트웨어 응용을 제어하는데 사용된다.
본 발명이 속한 기술 분야에서 통상의 지식을 가진 자는 직렬 및 병렬 포트, 네트워트 또는 부가 장치에 대한 연결 장치, 시스템 버스(110) 및/또는 시스템 메모리(112) 등에 대한 액세스를 조절하는 컨트롤러 등과 같은 도 1에 도시되지 않는 다수의 추가 구성 요소가 데이터 처리 시스템(100)에 포함될 수 있다는 것을 인식할 수 있을 것이다. 이외에, 본 발명과 관련하여 NUMA 또는 클러스터 구조와 같은 다른 시스템 아키텍쳐 구조가 사용될 수 있다. 이러한 수정과 변형은 본 발명의 특징과 범위내에서 이루어질 수 있다.
도 2를 참조하면, 본 발명의 바람직한 실시예에 따른 PCI 호스트 브리지의 블록도가 도시되어 있다. 오류 발생 후에 로드 및 기억 동작의 완료를 방지하는 문제의 해결책을 개발하는데 있어서, 이전에 기술된 한계(limitation)를 피하는 하나의 해답은 다른 어떠한 이유로 장치 드라이버가 장치로부터 로드 동작의 수행을 요구할 때까지 임의의 오류의 보고를 지연시키는 것이다. 그 때 가서, 이전의 오류가 보고될 수 있다. 그러나, 이것을 성공적으로 수행하기 위해서는 어댑터의 상태에 대한 또 다른 손상을 방지하는 메커니즘이 있어야 한다. 이를 위하여, 장치에 대하여 제1 로드 또는 기억 동작 오류가 발생한 후에, 하드웨어가 또 다른 로드 및 기억 동작이 I/O 장치로 도달하는 것을 방지하여야 한다.
대개 I/O 버스 상의 대부분의 I/O 장치는 어드레스에 의하여 선택되며, 그들이 응답하는 다수의 어드레스 범위(range)를 가진다. 로드 및 기억 동작이 I/O 장치로 도달하는 것을 방지하도록 PCI 버스 호스트 브리지(124)와 같은 호스트 브리지를 구성하는데 있어서, 통상의 접근법은 호스트 브리지 내에 I/O 장치의 디코딩(decoding)을 복제하거나 특정 호스트 브리지 하에서 모든 장치에 대한 모든 로드 및 기억 동작을 차단하는 것을 포함할 것이다. 전자의 해결책은 계량화할 수 없으며, 후자의 해결책은 바람직한 수보다 많은 I/O 동작을 차단할 것이다. 예를 들면, 하나의 PCI 호스트 브리지는 4개 이상의 I/O 장치에 대한 연결을 제공할 수 있다.
본 발명에서는 PCI 호스트 브리지(124)를 재설계함으로써 PCI를 기초로 한 시스템에 대하여 오류 발생 후에 로드/기억이 완료되는 것을 방지하는 문제를 해결한다. 각 I/O 장치(132. 134)로부터의 개별적인 장치 선택(DEVSEL) 라인 (202a∼202n)은 PCI 호스트 브리지(124)에 연결되어 있다. 이것은 각 장치 (132,134)가 각자의 어드레스 범위를 복호화하고, 각 장치가 선택될 때 PCI 호스트 브리지(124)로 보고하도록 한다. PCI 버스로의 로드 또는 기억 동작시 오류(데이터 패리티 오류(PERR) 등)가 검출되면, 오류가 발생된 장치는 각각의 장치 선택 라인(202a∼202n)을 통하여 오류 레지스터(204)에 로그된다. 이 시점부터 PCI 호스트 브리지(124) 내 오류 레지스터(204)가 소거(clear)될 때까지, 기억 동작의 경우 이전에 오류가 발생되었던 I/O 장치로는 유효 데이터가 절대로 전달되지 않으며, 로드 동작의 경우 I/O 장치가 로드 동작 상에서 유효한 판독 트랜잭션(valid read transaction)을 완료하도록 허용하지 않는다.
본 발명에서, 일단 오류가 PCI 버스 상에서 검출되면, 이 장치가 이전에 오류가 발생한 장치라면(즉, 장치 선택 라인(202a∼202n)으로부터 판독된 DEVSEL과 오류를 가지고 있고 오류 레지스터(204)에 로그되어 있는 I/O 어댑터의 DEVSEL과 일치한다면), 이 장치로의 로드 및 기억 동작이 완료되도록 허용되지 않는다. DEVSEL 신호가 다수의 주기 동안 버스 동작에 개입하기 때문에, DEVSEL 신호가 수신될 때까지 PCI 호스트 브리지는 I/O 장치로의 동작을 지연시킬 수 있다.
도 3a와 3b를 참조하면, 본 발명의 바람직한 실시예에 따른 오류 검출 후에 주변 장치 연결 버스 상에서 로드 및 기억 동작을 처리하는 프로세스에 대한 상위 레벨 순서도가 도시되어 있다. 본 발명에서는, 오류가 발생한 장치는 그 장치에 관한 장치 선택 신호에 의해 PCI 호스트 브리지의 오류 레지스터 내에 로그된다. 또한, 오류 레지스터 내에서 식별되는 I/O 장치로의 로드 및 기억 동작이 완료되는 것이 계속 방지된다.
도 3a는 본 발명에 따라 이전에 오류가 발생한 장치에 대한 로드/기억 동작이 완료되는 것을 방지하는 제1 방법에 대한 프로세스(process)를 도시한다. 프로세스는 단계(302)에서 시작하고, 단계(302)에서는 PCI 버스에 연결된 장치에 대한 로드 또는 기억 동작을 수신한다. 그 다음 프로세스는 단계(304)로 나아가고, 단계(304)에서 PCI 호스트 브리지의 오류 레지스터가 소거되었는지를 판단한다. 오류 레지스터가 소거되지 않았다면 단계(306)로 진행하고, 단계(306)에서 장치 선택 라인이 판독될 때까지 로드 또는 기억에 해당하는 판독(read) 또는 기록(write)의 완료를 지연시킨다. 이것은 PCI 버스 내의 개시 준비(IRDY) 신호 라인을 사용하여 달성될 수 있다. 개시 준비 라인을 활성화시키지 않는 것에 의하여 장치 선택 라인 상의 장치 선택 지시기(indicator)(여기서는 장치 식별자 또는 장치 번호로 부름)가 오류 레지스터에 유지되고 있는 장치 번호(즉, 이전 오류로부터 획득된 장치 번호)와 대조될 때까지 판독 또는 기억이 지연될 수 있다.
기억 동작의 경우, 프로세스가 선택적으로(optionally) 단계(307)로 진행하고, 단계(307)에서 I/O 장치로 전송하기 위한 준비로 양호(good) 패리티를 가지는 데이터를 버스 상에 배치시킨다. 이것은 대상 장치가 이전 단계에서 오류가 발생하여 오류 레지스터에 로그되어 있는 고장 장치가 아니라면 기억 동작이 정상적으로 계속하여 수행되도록 한다. 단계(307)가 수행되었다면 단계(307)로부터, 그렇지 않으면 프로세스는 단계(306)로부터 단계(308)로 나아가고, 단계(308)에서는 일단 I/O 장치에 로드 또는 기억 동작을 지시하기 위한 장치 선택 지시기가 사용 가능하게 되면, 장치 선택 지시기가 PCI 호스트 브리지 내의 오류 레지스터에 로그되었는지를 판단한다.
장치 선택 지시기가 오류 레지스터에 로그되어 있으면 장치가 이전에 오류 가 발생한 장치임을 나타내므로 프로세스는 단계(310)로 진행하고, 단계(310)에서 데이터 패리티 오류를 동작 상에 강제로 부여한다. 기억 동작의 경우, 이것은 버스 상의 패리티를 변경하여 데이터 패리티 오류를 강제로 부여함으로써 달성된다. 로드 동작의 경우, 마치 불량 패리티가 있는 것처럼 해석될 신호가 PCI 호스트 브리지로 전송될 것이다. 그 다음, PCI 호스트 브리지는 당연히 PCI 버스를 통해 패리티 오류(PERR)를 I/O 장치로 알릴 것이고, 따라서 장치가 어떠한 판독 부작용도 발생하지 않고 양호한 판독 동작을 수행하게 된다.
그 다음 프로세스는 단계(312)로 나아가고, 단계(312)에서 동작을 종료한다. 이것은 하나의 데이터 전송 후에 개시 준비 신호를 활성화시키고 동작을 종료하는 것에 의하여 달성된다. 불량 데이터 패리티에 의하여 장치는 기억 동작의 경우 어떠한 불량 데이터도 사용하지 않게 될 것이고, 로드 동작의 경우 어떠한 판독 부작용도 가지지 않게 될 것이다. 따라서, 동작은 본질적으로 무동작(no-op)이다. 로드 동작 상에서 오류가 프로세서로 리턴될 수 있으며, 프로세서는 오류를 검출하고, 동작을 수행하는 특정 장치 드라이버 상에 오류를 고정시킨다(pin). 그 다음 장치 드라이버는 PCI 호스트 브리지의 오류 레지스터 상태를 소거하여 장치가 그 장치에 대한 추가 동작을 허용하도록 한다. 장치 드라이버는 적절한 소거(clean-up)를 수행하고 재시작된다.
다시 단계(308)을 참조하면, 장치 선택 지시기가 PCI 호스트 브리지 오류 레지스터 내의 어느 장치 번호와도 일치하지 않으면, 장치는 이전에 오류가 발생한 장치가 아니였음을 나타내므로 프로세스는 단계(314)로 진행하고, 단계(314)에서 동작이 계속되도록 허용한다. 이것은 단지 개시 준비 신호를 활성화시키고 동작이 계속하여 수행되도록 허용하는 것에 의하여 달성된다. 어느 경우에도 계속 수행하기 위하여 개시 준비 신호를 요구하는 로드 동작은 지연 후에 간단하게 계속될 수 있으며, 양호 패리티를 가지는 데이터가 (선택적으로) 동작을 지연시키는 것에 우선하여 버스 상에 배치되면, 기억 동작 또한 간단하게 계속될 수 있다.
단계(304)로 돌아가서, 로드/기억 동작이 수신되는 경우에 오류 레지스터가 소거되면 프로세스는 마찬가지로 단계(314)로 진행하고, 단계(314)에서 동작이 정상적으로 계속하여 수행되도록 허용한다. '양호(good)' I/O 장치(오류 레지스터에 로그되지 않은 것)에 대한 로드/기억 동작의 지연은 오류 레지스터가 리셋될 때까지만 발생한다. 그러므로 본 발명의 방법은 정상적인 시스템 동작 상의 성능에는 영향을 끼치지 않고, 단지 오류 복구 동안에만 영향을 끼친다. 프로세스는 단계(314 또는 312)에서 단계(316)로 나아가고, 단계(316)에서 로드 또는 기억 동작이 추가로 수신될 때까지 프로세스는 아이들(idle) 상태가 된다.
도 3b는 본 발명에 따른 이전 단계에서 오류가 발생한 장치에 대하여 로드/기억 동작의 완료를 방지하는 제2 방법에 대한 프로세스를 나타낸다. 도 3a의 방법은 데이터(또는 적어도 단일(single) 데이터 비트(beat), 나머지는 버림)의 전송을 허용하지만 데이터 상에 불량 패리티를 강제로 부여한다. 이 방법은 PCI 아키텍쳐 명세(specification)가 장치는 불량 패리티를 갖는 데이터를 사용해서는 안된다는 것을 기술하지 않고 있다는 점에서 결점을 가진다. 바람직한 설계는 불량 패리티를 가지는 데이터를 사용하지 않아야 하나, 그렇게 한다고 해서 PCI 아키텍쳐 명세를 위반하는 것은 아니다. 도 3b에 도시된 대안 방법은 데이터 상에 불량 패리티를 강제로 부여하는 대신에 데이터 전송용 바이트 인에이블을 0으로 설정하여 이 한계를 극복한다. 이것은 PCI 아키텍쳐 사양에 명백하게 기술되어 있다는 이점을 가지는데, PCI 아키텍쳐 사양은 바이트 인에이블이 표명되지(assert) 않은 액세스의 대상이 반드시 어떠한 영구적인 변경(permanent change) 없이 현재 데이터 위상(phase)을 완료해야 함을 기술하고 있다. PCI 아키텍쳐 사양은 판독 트랜잭션 상에서 데이터 또는 상태(status)가 변경되지 않고, 기록 트랜잭션상에서 데이터가 기억되지 않을 것을 추가로 지시한다.
도 3b에 도시된 프로세스는 단계(322)에서 시작하고, 단계(322)에서 PCI 버스에 연결된 장치에 대한 로드 또는 기억 동작을 수신한다. 그 다음에, 프로세스는 단계(324)로 나아가고, 단계(324)에서 PCI 호스트 브리지의 오류 레지스터가 소거되었는지를 판단한다. 오류 레지스터가 소거되지 않았다면 프로세스는 단계(326)로 진행하고, 단계(326)에서는 제1 방법에서와 같이 개시 준비 신호를 활성화시키지 않는 것에 의해, 장치 선택 라인이 판독될 때까지 로드 또는 기억 동작에 해당하는 판독 또는 기록의 완료를 지연시킨다.
단계(326)부터, 도 3b에 도시된 방법은 로드/기억 동작의 완료 방지를 위하여 사용되는 메커니즘이 장치 번호를 오류 레지스터와 대조되기 전에 구동된다는 점에서 전술한 방법과는 다르다. 따라서, 프로세스는 단계(328)로 나아가고, 단계(328)에서 버스 상에 바이트 인에이블을 모두 제로로 하여(즉, 모두 비활성) 배치한다. 이것은 I/O 장치가 기억 동작시 어떤 데이터도 버스에서 제거하지 않도록 하고, 로드 동작시 결과 판독(resulting read)으로부터 어떠한 부작용도 가지지 않도록 지시한다.
그 다음 프로세스는 단계(330)로 나아가고, 단계(330)에서는 장치가 이전에 오류가 발생한 장치이었음을 나타내는, PCI 호스트 브리지 상의 오류 레지스터 내에 장치 선택 라인 상의 장치 번호가 포함되는지를 판단한다. 장치 번호가 오류 레지스터내에 포함된다면, 프로세스는 단계(332)로 진행하고, 단계(332)에서는 위에 기술한 바와 같이 개시 준비 신호를 활성화시키고 사이클을 종료한다. 따라서, 버스 동작은 본질적으로 무동작이다. 이전에 기술한 바와 같이, 오류는 프로세서로 리턴되어 운영 체제와 장치 드라이버가 각각 PCI 호스트 브리지 오류 레지스터를 소거하고, 재시작하도록 허용한다.
장치 번호가 오류 레지스터에 로그된 장치 식별자와 일치하지 않으면 대신에 프로세스는 단계(334)로 진행하고, 단계(334)에서 동작을 종료하고 재시작한다. 이것은 개시 준비 신호를 활성화시키고 동작이 계속되도록 하는 것에 의하여 달성되고(본래 무동작임), 그 다음 제1 어드레스와 유효 바이트 인에이블로 동작을 재시작한다. 그 다음 프로세스는 단계(336)로 나아가고, 단계(336)에서 프로세스가 정상적으로 계속 수행되도록 한다. 이전의 방법과 같이, 로드/기억 동작이 수신되는 경우에 오류 레지스터가 소거되면 프로세스는 단계(324)에서 단계(336)로 나아감으로써, 정상적인 동작 동안에 시스템 성능은 영향을 받지 않으며, 단지 오류 복구동안에만 동작이 지연된다. 프로세스는 단계(332 또는 336)로부터 단계(338)로 나아가고, 단계(338)에서 로드/기억 동작이 추가로 수신될 때까지 프로세스가 아이들 상태가 된다.
도 3a와 도3b에 도시된 두 개의 선택적인 방법은 장점과 한계를 가진다. 데이터 상에 불량 패리티를 강제로 부여하는 것은 불필요한 지연없이 오류 레지스터에 로그되지 않은 장치에 대하여 동작이 계속하여 수행되도록 하지만, 불량 데이터가 이용되지 않을 것이라고는 보증하지는 않는다. 바이트 인에이블을 제로로하는것은 불량 데이터가 사용되는 것을 방지하지만, '양호' 장치(오류 레지스터에 로그되지 않은 것들)에 대한 동작이 종료되고 재시작되도록 요구한다. 따라서, 최적의 방법은 본 발명이 구현되는 특정 환경에 달려 있다.
이전 단계에서 오류가 발생한 장치에 대한 로드 및 기억 동작이 완료되는 것을 방지하는 것 이외에, PCI 호스트 브리지는 오류 발생 장치로부터의 직접 메모리 액세스(DMA)를 방지하여야 한다. 그것을 하기 위하여, PCI 호스트 브리지는 중재 레벨을 장치 선택 라인에 결합시키고, 언제나 오류 발생 장치가 버스 허가(GNT) 신호를 수신하는 것을 방지할 수 있다.
위에 기술된 이전 단계에서 오류가 발생한 I/O 장치에 대한 손상을 방지하는 기술은 패리티 오류에 대하여 사용될 뿐만 아니라, 로드 또는 기억 동작 동안에 PCI 상에서 발견되고 대상 장치로부터 중단된 대상과 같은 특정 장치에 대하여 고정되는 어떠한 다른 오류에 대해서도 사용될 수 있다. 추가적으로, 오류가 수신되고 특정 장치로 고정될 수 없다면(어드레스 패리티 오류 등), 그 다음 오류 레지스터는 PCI 호스트 브리지하의 모든 I/O 장치가 오류를 가진다는 것을 나타내도록 설정될 수 있으며, 그 장치들에 대한 차후의 모든 로드 또는 기억 동작은 오류로 플래그(flag)될 것이다.
PCI 버스 상에 발견되는 오류 이외에, 장치에 대한 손상을 방지하는 기술은 PCI 호스트 브리지의 반대쪽의 버스 상의 오류에 대하여 이용될 수 있다. 오류가 특정 장치에 고정되어 있는 한, 본 발명의 방법은 보다 효과있는 해결책을 제공할 것이다. 예를 들면, 패리티 오류가 PCI 장치에 대한 기억 동작 상에서 발견되면,PCI 호스트 브리지는 그 불량 패리티를 PCI 버스 상으로 전달할 것이다. 그 다음에 장치가 장치 선택에 응답하는 경우에, 장치는 또한 패리티 오류 (PERR) 신호에 응답할 것이다. 그 다음 위에 기술된 방법은 효력을 발생할 것이다.
본 발명은 PCI 어댑터 하드웨어에 대한 어떠한 변경도 요구하지 않고, 실질적인 프로세서의 시간을 요구하지 않으면서 이전 단계에서 오류가 발생한 장치에 대한 로드 및 기억 동작의 완료를 방지한다. 본 발명의 방법은 장치에 오류가 발생되고 오류의 복구가 여전히 완료되지 않았으면(오류 레지스터가 여전히 리셋되지 않으면) 로드/기억 동작을 단지 지연시키고, 정상적으로 시스템이 동작하는 동안에는 영향을 미치지 않는다. 또한, 본 발명의 방법은 대상 장치가 이전 단계에서 오류가 발생한 장치와 같이 동일한 PCI 호스트 브리지 하에 있다 하더라도, 이전 단계에서 오류가 발생한 장치를 격리시키고, 나머지 장치들이 로드 및 기억 동작을 계속하여 수행하도록 한다.
본 발명의 바람직한 실시예가 상세히 예시되었지만, 특허 청구 범위에 기재된 본 발명의 특징 및 범위를 벗어나지 않는 범위 내에서 이들 실시예에 대한 다양한 변경이 당업자에 의해 이루어질 수 있다.
본 발명에 따른 버스 오류 처리를 위한 방법 및 장치는 강제 불량 데이터 패리티 또는 제로 바이트 인에이블의 사용에 의하여 이전 단계에서 오류가 발생한 장치의 식별을 통하여 로드 및 기억 동작 동안 버스 오류에 의한 손상을 방지할 수 있다.

Claims (28)

  1. 이전 단계에서 오류가 발생한 장치에 대한 로드 또는 기억 동작의 완료를 방지하는 방법에 있어서,
    a) 로드 또는 기억 동작의 수신에 응답하여 오류 레지스터의 상태를 검사하는 단계;
    b) 오류 레지스터가 리셋되어 있지 않다는 판단에 응답하여, 로드 또는 기억 동작을 수행할 대상 장치에 대한 장치 식별자가 상기 오류 레지스터와 대조될 때까지 상기 로드 또는 기억 동작을 지연시키는 단계; 및
    c) 상기 로드 또는 기억 동작의 대상 장치에 대한 장치 식별자가 상기 오류 레지스터 내에 로그되어 있다는 판단에 응답하여, 상기 로드 또는 기억 동작이 완료되는 것을 방지하는 단계
    를 포함하는 오류 발생 장치의 동작 완료 방지 방법.
  2. 제1항에 있어서, 상기 오류 레지스터의 상태를 검사하는 단계가 호스트 브리지 내의 오류 레지스터의 상태를 검사하는 단계를 추가로 포함하는 오류 발생 장치의 동작 완료 방지 방법.
  3. 제1항에 있어서, 상기 로드 또는 기억 동작을 지연시키는 단계는 상기 장치 식별자가 호스트 브리지에 연결된 장치 선택 라인 상에서 사용 가능하게 될 때까지 상기 로드 또는 기억 동작에 해당하는 판독 또는 기록을 지연시키는 단계를 추가로 포함하는 오류 발생 장치의 동작 완료 방지 방법.
  4. 제1항에 있어서, 상기 로드 또는 기억 동작을 지연시키는 단계가 개시(initiator) 준비 신호를 활성화시키지 않는 단계를 추가로 포함하는 오류 발생 장치의 동작 완료 방지 방법.
  5. 제1항에 있어서, 상기 로드 또는 기억 동작이 완료되는 것을 방지하는 단계가 상기 로드 또는 기억 동작 상에 불량 패리티(bad parity)를 강제로 부여하는 단계를 추가로 포함하는 오류 발생 장치의 동작 완료 방지 방법.
  6. 제5항에 있어서, 상기 로드 또는 기억 동작 상에 불량 패리티를 강제로 부여하는 단계가 기억 동작에 대한 버스 상의 데이터 패리티를 변경하는 단계를 추가로 포함하는 오류 발생 장치의 동작 완료 방지 방법.
  7. 제5항에 있어서, 상기 로드 또는 기억 동작 상에 불량 패리티를 강제로 부여하는 단계가 로드 동작 중인 장치로 패리티 오류 신호를 보내는 단계를 추가로 포함하는 오류 발생 장치의 동작 완료 방지 방법.
  8. 제5항에 있어서, 단일 데이터 비트(beat)를 전송한 후에 상기 로드 또는 기억 동작에 대한 데이터 전송을 종료하는 단계를 추가로 포함하는 오류 발생 장치의 동작 완료 방지 방법.
  9. 제1항에 있어서, 상기 로드 또는 기억 동작이 완료되는 것을 방지하는 단계가 버스상에 상기 로드 또는 기억 동작에 대한 바이트 인에이블(byte enable)을 모두 제로(zero)로 하는 단계를 추가로 포함하는 오류 발생 장치의 동작 완료 방지 방법.
  10. 제9항에 있어서, 상기 로드 또는 기억 동작을 종료하고 재시작하는 단계를 추가로 포함하는 오류 발생 장치의 동작 완료 방지 방법.
  11. 제1항에 있어서, 버스 상에서 오류가 검출되면, 상기 오류가 오류 레지스터에 존재하는 경우 장치 선택 라인에 의거하여 장치 식별자를 로그하는 단계를 추가로 포함하는 오류 발생 장치의 동작 완료 방지 방법.
  12. 제1항에 있어서, 상기 로드 또는 기억 동작의 대상 장치에 대한 장치 식별자가 상기 오류 레지스터 내에 로그되어 있지 않다는 판단에 응답하여, 상기 로드 또는 기억 동작이 계속 수행되도록 하는 단계를 추가로 포함하는 오류 발생 장치의 동작 완료 방지 방법.
  13. 제12항에 있어서,
    상기 로드 또는 기억 동작이 계속 수행되도록 하는 단계가
    기억 동작에 대한 버스 상의 데이터 패리티를 변경하지 않는 단계; 및
    개시 준비 신호를 활성화시키는 단계
    를 추가로 포함하는 오류 발생 장치의 동작 완료 방지 방법.
  14. 제1항에 있어서, 상기 오류 레지스터가 리셋되어 있다는 판단에 응답하여, 상기 로드 또는 기억 동작이 계속 수행되도록 하는 단계를 추가로 포함하는 오류 발생 장치의 동작 완료 방지 방법.
  15. 이전 단계에서 오류가 발생한 장치에 대한 로드 또는 기억 동작의 완료를 방지하는 메커니즘에 있어서,
    a) 버스를 데이터 처리 시스템의 나머지(remainder)에 연결하는 호스트 브리지;
    b) 상기 호스트 브리지에 연결된 장치 선택 라인; 및
    c) 오류가 상기 버스 상에서 검출되는 경우 상기 장치 선택 라인 상의 장치 식별자를 로그하는 오류 레지스터
    를 포함하고,
    상기 호스트 브리지는
    i) 로드 또는 기억 동작의 수신에 응답하여, 오류 레지스터의 상태를 검사하는 수단;
    ii) 상기 오류 레지스터가 리셋되지 않다는 판단에 응답하여, 상기 로드 또는 기억 동작의 대상 장치에 대한 장치 식별자가 상기 오류 레지스터와 대조될 때까지 상기 로드 또는 기억 동작을 지연시키는 수단; 및
    iii) 상기 로드 또는 기억 동작의 대상 장치에 대한 장치 식별자가 상기 오류 레지스터 내에 로그되어 있다는 판단에 응답하여, 상기 로드 또는 기억 동작이 완료되는 것을 방지하는 수단
    을 포함하는
    오류 발생 장치의 동작 완료 방지 메커니즘.
  16. 제15항에 있어서, 상기 오류 레지스터가 상기 호스트 브리지 내에 포함되어 있는 오류 발생 장치의 동작 완료 방지 메커니즘.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
KR1019990013381A 1998-05-04 1999-04-15 불량 패리티 또는 제로 바이트 인에이블을 통한 pci장치로의입출력 로드/기억동작을 위한 향상된 오류 처리 방법 KR100337215B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US9/072,418 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
US09/072,418 1998-05-04

Publications (2)

Publication Number Publication Date
KR19990087931A KR19990087931A (ko) 1999-12-27
KR100337215B1 true KR100337215B1 (ko) 2002-05-17

Family

ID=22107431

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990013381A KR100337215B1 (ko) 1998-05-04 1999-04-15 불량 패리티 또는 제로 바이트 인에이블을 통한 pci장치로의입출력 로드/기억동작을 위한 향상된 오류 처리 방법

Country Status (7)

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

Families Citing this family (39)

* 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 株式会社日立製作所 情報処理装置のシステム部品
CN101625656B (zh) * 2009-07-28 2012-09-19 杭州华三通信技术有限公司 一种处理pci系统异常的方法及装置
US8626970B2 (en) 2010-06-23 2014-01-07 International Business Machines Corporation Controlling access by a configuration to an adapter function
US9195623B2 (en) 2010-06-23 2015-11-24 International Business Machines Corporation Multiple address spaces per adapter with address translation
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
US8650335B2 (en) 2010-06-23 2014-02-11 International Business Machines Corporation Measurement facility for adapter functions
US8478922B2 (en) 2010-06-23 2013-07-02 International Business Machines Corporation Controlling a rate at which adapter interruption requests are processed
US9342352B2 (en) 2010-06-23 2016-05-17 International Business Machines Corporation Guest access to address spaces of adapter
US8635430B2 (en) 2010-06-23 2014-01-21 International Business Machines Corporation Translation of input/output addresses to memory addresses
US8650337B2 (en) 2010-06-23 2014-02-11 International Business Machines Corporation Runtime determination of translation formats for adapter functions
US8504754B2 (en) 2010-06-23 2013-08-06 International Business Machines Corporation Identification of types of sources of adapter interruptions
US8615645B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Controlling the selectively setting of operational parameters for an adapter
US8639858B2 (en) 2010-06-23 2014-01-28 International Business Machines Corporation Resizing address spaces concurrent to accessing the address spaces
US9213661B2 (en) 2010-06-23 2015-12-15 International Business Machines Corporation Enable/disable adapters of a computing environment
US8549182B2 (en) 2010-06-23 2013-10-01 International Business Machines Corporation Store/store block instructions for communicating with adapters
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
US8566480B2 (en) 2010-06-23 2013-10-22 International Business Machines Corporation Load instruction for communicating with adapters
US8510599B2 (en) 2010-06-23 2013-08-13 International Business Machines Corporation Managing processing associated with hardware events
US8572635B2 (en) 2010-06-23 2013-10-29 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification
JP5201176B2 (ja) * 2010-07-09 2013-06-05 株式会社日立製作所 情報処理装置
US9442793B2 (en) * 2013-07-23 2016-09-13 Qualcomm Incorporated Robust hardware/software error recovery system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960018949A (ko) * 1994-11-30 1996-06-17 월리엄 티. 엘리스 브리지 및 컴퓨터 시스템

Family Cites Families (11)

* 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
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960018949A (ko) * 1994-11-30 1996-06-17 월리엄 티. 엘리스 브리지 및 컴퓨터 시스템

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100337215B1 (ko) 불량 패리티 또는 제로 바이트 인에이블을 통한 pci장치로의입출력 로드/기억동작을 위한 향상된 오류 처리 방법
US6182248B1 (en) Method and tool for computer bus fault isolation and recovery design verification
US6643727B1 (en) Isolation of I/O bus errors to a single partition in an LPAR environment
EP2966650B1 (en) Memory built-in self test for a data processing apparatus
US7685476B2 (en) Early notification of error via software interrupt and shared memory write
US20020184576A1 (en) Method and apparatus for isolating failing hardware in a PCI recoverable error
US8424016B2 (en) Techniques to manage critical region interrupts
US6502156B1 (en) Controlling I/O devices independently of a host processor
RU2137182C1 (ru) Выполнение инструкции обработки данных
JP2002358210A (ja) コントローラリセットを処理する方法、及びコントローラリセットを処理するシステム及び方法を有する冗長コントローラデータ格納システム
US7631226B2 (en) Computer system, bus controller, and bus fault handling method used in the same computer system and bus controller
US6745345B2 (en) Method for testing a computer bus using a bridge chip having a freeze-on-error option
US7392350B2 (en) Method to operate cache-inhibited memory mapped commands to access registers
JPH09185578A (ja) 拡張/ブリッジpciバスにおいてpci割込みバインディングおよびそれに関連した待ち時間を最適化するための方法および装置
US5293384A (en) Microprocessor bus interface protocol analyzer
US6189117B1 (en) Error handling between a processor and a system managed by the processor
US8028189B2 (en) Recoverable machine check handling
US6898732B1 (en) Auto quiesce
US7650530B2 (en) Initializing a processing system to ensure fail-safe boot when faulty PCI adapters are present
US11366710B1 (en) Methods and systems for reducing downtime from system management mode in a computer system
US11360839B1 (en) Systems and methods for storing error data from a crash dump in a computer system
KR100328425B1 (ko) 공유 버스에서 다중 중첩 어드레스 공간을 지원하는 방법 및 장치
US7085859B2 (en) Method, apparatus and program storage device for automatically presenting status from a host bus adapter until an error is detected
US20080229022A1 (en) Efficient system bootstrap loading
CN116302687A (zh) 通信恢复方法、装置、系统及可读存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120427

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee