KR20010078055A - 멀티프로세서 데이터 처리 시스템에서 복구 불가능한에러를 허용하는 방법 및 장치 - Google Patents

멀티프로세서 데이터 처리 시스템에서 복구 불가능한에러를 허용하는 방법 및 장치 Download PDF

Info

Publication number
KR20010078055A
KR20010078055A KR1020010003628A KR20010003628A KR20010078055A KR 20010078055 A KR20010078055 A KR 20010078055A KR 1020010003628 A KR1020010003628 A KR 1020010003628A KR 20010003628 A KR20010003628 A KR 20010003628A KR 20010078055 A KR20010078055 A KR 20010078055A
Authority
KR
South Korea
Prior art keywords
data
memory
processing system
error
node
Prior art date
Application number
KR1020010003628A
Other languages
English (en)
Other versions
KR100406575B1 (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 KR20010078055A publication Critical patent/KR20010078055A/ko
Application granted granted Critical
Publication of KR100406575B1 publication Critical patent/KR100406575B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/427Loop networks with decentralised control
    • H04L12/433Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/082Associative directories
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

디렉토리 기준 멀티프로세서 컴퓨터 시스템은 데이터의 에러를 점검하는 능력을 제공하는 것에 의해 에러를 허용하는 메커니즘에 제공되고, 에러가 검출되는 경우, 상기 데이터의 다른 유효 사본이 상기 시스템에 있는 경우를 판정한다. 상기 데이터의 다른 사본을 이용할 수 있으면, 상기 데이터는 인터럽트를 발생할 필요없이 상기 데이터를 요구한 상기 프로세서/메모리 제어기에 제공된다.

Description

멀티프로세서 데이터 처리 시스템에서 복구 불가능한 에러를 허용하는 방법 및 장치{METHOD AND APPARATUS FOR TOLERATING UNRECOVERABLE ERRORS IN A MULTI-PROCESSOR DATA PROCESSING SYSTEM}
본 발명은 일반적으로 컴퓨터 시스템의 분야에 관한 것으로써, 특히 멀티프로세서 시스템에서 데이터 에러를 허용하는 구조 및 방법에 관한 것이다.
멀티프로세싱 컴퓨터 시스템은 일반적으로 계산 작업(computing task)을 수행하기 위하여 적용될 수 있는 2개 이상의 프로세서를 포함한다. 특정 계산 작업은 다른 프로세서가 무관한 프로세싱 작업을 수행하는 동안 한 개의 프로세서상에서수행될 수 있다. 대안으로, 특정 작업의 구성 요소들은 멀티프로세서사이에 분산됨으로서 그 계산 작업을 수행하는데 필요한 시간을 줄일 수 있다. 일반적으로 말해서, 프로세서는 한 개 이상의 피연산자의 연산을 실행하여 결과를 얻게 배치된 장치이다. 그 연산은 상기 프로세서에 의해 실행된 명령에 응답하여 수행될 수 있다.
한 개의 어드레스 기준 및 일관성있는 캐시를 가진 멀티프로세서 시스템은 플렉시블하고 강력한 계산 환경을 제공한다. 그 한 개의 어드레스 기준 및 일관성 있는 캐시는 데이터 분산 및 동적 로드 밸런싱(dynamic load balancing)에 대한 문제를 함께 해결한다. 또한, 그 한 개의 어드레스 기준 및 일관성 있는 캐시는 컴파일러, 표준 오퍼레이팅 시스템 및 멀티 프로그래밍을 병렬 계산 처리하는데 양호하게 제공됨으로써, 더욱 플렉시블하고 효과적으로 그 머신을 사용할 수 있다.
멀티프로세싱 컴퓨터 시스템에 대한 한 개의 구조는 분산 메모리 아키텍쳐이다. 분산 메모리 아키텍터는 한 개 이상의 프로세서 및 메모리를 갖는 복수의 노드를 통상적으로 포함한다. 그 노드들은 그 노드사이에 통신을 허용하는 네트워크에 결합된다. 전체적으로 고려해 볼 때, 모든 노드에 결합된 메모리는 각 노드에 의해 액세스될 수 있는 "공유 메모리"를 형성한다. 통상적으로 디렉토리는 어떤 노드가 특정 어드레스에 해당하는 데이터의 사본을 갖는지 여부를 식별하는데 이용된다. 그 데이터의 일관성은 그 디렉토리의 검사에 의해 데이터의 상태를 결정하기 위하여 유지된다.
출현한 예시적인 디렉토리 기준 캐시 일관성 아키텍쳐는 CC-NUMA(Cache- Coherent Non-Uniform Memory Access) 및 COMA(Cache-Only Memory Achitecture)를포함한다. 이러한 CC-NUMA 및 COMA 아키텍쳐는 분산 메모리, 스케일러블 상호 접속 네트워크 및 디렉토리 기준 캐시 일관성을 갖는다. 분산 메모리 및 스케일러블 상호 접속 네트워크는 그 필요한 스케일러블 메모리 밴드폭을 제공하는 반면, 디렉토리 기준 방법은 캐시 일관성을 제공한다. CC-NUMA 아키텍쳐와 반대로, COMA 아키텍쳐는 노드당 메인 메모리를 대용량 제2 또는 제3 캐시로 변환하며, 이것은 AM (Attraction Memory)으로 불린다. 이러한 변환은 태그를 상기 메인 메모리에서 데이터의 캐시 라인 크기 분할에 부가함으로써 발생한다. 결과적으로, 상기 시스템에서 한 데이터 항목의 위치는 상기 데이터 항목의 물리 어드레스로부터 결합 해제되고, 그 데이터 항목은 메모리 기준 패턴에 따라 메인 메모리에 자동으로 이주되거나 복사된다.
불운하게도, COMA 및 NUMA 아키텍쳐안에 데이터는 훼손되어 메모리에 에러를 발생시킨다. 그러한 에러는 전자 기억 장치와 같은 메모리에 초기에 기억되는 정보와 다른 정보가 복귀할 수 있기 때문에 발생한다. 일반적으로, 메모리 시스템에 통상 2가지 종류의 에러가 발생할 수 있다. 즉, 반복가능한(하드) 에러 및 일시적인(소프트) 에러가 발생할 수 있다. 하드 에러는 가끔 하드웨어를 고장나게 하고, 이러한 에러는 일정하고 반복가능하기 때문에 진단 및 수정이 상대적으로 용이하다. 소프트 에러는 한 비트가 오류 값을 한번 판독할 때 발생하지만, 결국에는 정확하게 작용한다.
메모리 에러 검출 또는 정확한 프로토콜을 이용하는 것에 의해 메모리 에러로부터 보호된다. 일부 프로토콜은 8 비트 데이터 바이트 중 1 비트의 에러만을 검출할 수 있는 반면, 다른 프로토콜은 1 비트 이상의 에러를 자동으로 검출할 수 있다. 다른 프로토콜은 한 개 및/또는 복수의 비트 메모리 문제를 검출하여 수정할 수 있다.
공통 에러 검출/수정 메커니즘은 패러티, 에러 정정 코드(ECC) 및 그와 유사한 것을 포함한다. 패러티 및 에러 정정 코드를 이용하여 중앙 처리 장치(CPU)와 메모리, 프로그램된 입출력(PIO) 장치 또는 그와 유사한 것들 사이에 전달된 데이터가 신뢰성이 있다는 것은 종래 기술에 널리 알려져 있다. 또한, ECC는 메모리의 특정 데이터 에러로부터 복구하는데 이용된다.
패리티 점검이 가능할 때, 메모리에 1 바이트가 기록될 때마다, 패리티 발생기/점검기로 불리는 논리 회로는 그 바이트를 점검하는 동시에 그 데이터 바이트가 짝수 또는 홀수 개의 1을 갖는지 여부를 판정한다. 그 데이터 바이트가 짝수의 1을 가지면, 9번째 패리티 비트는 1로 설정되고, 다르게는 0으로 설정된다. 따라서, 많은 비트들이 그 최초의 8 데이터 비트에서 1로 설정되었을지라도, 그 9 데이터 비트는 함께 홀수개의 1로 만들어진다. 이러한 메커니즘은 홀수 패리티로 언급된다. 상기 데이터가 메모리로부터 역으로 판독될 때, 그 패리티 회로는 에러 점검기로써 동작한다. 모든 9 비트를 역으로 판독하여 홀수 또는 짝수개의 1이 있으면 다시 판정한다. 짝수개의 1이 있으면, 상기 비트 중 한개에 에러가 있을 수 있다. 패리티 에러가 검출될 때, 그 패리티 회로는 인터럽트를 발생하여, 부정확한 메모리에서 실행중인 또는 실행가능한 프로세서를 훼손시키지 않게하기 위하여 상기 프로세서에게 명령한다.
패리티 점검은 단일 비트 에러 점검을 제공하지만, 메모리 에러를 수정하지 못한다. 또한, 패리티 점검은 그 에러를 수정하지 않고 한 에러의 존재를 판정한다. ECC는 단일 비트 및 멀티 비트를 검출할 수 있을 뿐만 아니라 단일 비트 또는 멀티 비트 에러를 수정할 수 있다. ECC는 특정 알고리즘을 이용하여 상기 보호 데이터안에 단일 비트 에러 또는 멀티 비트 에러를 회복하기에 충분한 세부 사항을 포함하는 비트 블록안에 정보를 인코딩한다. 단일 또는 멀티 비트 에러의 수정은 상기 사용된 ECC 알고리즘에 따른다. ECC가 부정확한 에러를 검출할 때, 데이터 훼손을 피하기 위하여 상기 시스템을 중지시키는 인터럽트를 발생한다.
종래의 에러 검출/수정 메커니즘이 갖는 한가지 문제점은 시스템 인터럽트의 빈도가 여전히 바람직한 빈도보다 크다는 것이다. 인터럽트는 고장 원인 및 시스템의 소프트웨어 능력에 따라 시스템 또는 프로세서를 리셋시킬 수 있다. 인터럽트는 시스템 가동 휴지 시간, 데이터 손실 및 제품 손실 때문에 바람직하지 않다.
따라서, 시스템 인터럽트를 줄이면서 에러를 검출하는 구조 및 기술에 대한 필요성이 남아있다. 상기 시스템은 단일 또는 멀티 비트 에러를 검출할 수 있어야 하며, 여전히 시스템 인터럽트를 피해야 한다.
본 발명은 일반적으로 데이터의 에러를 점검하기 위하여 채택된 방법 및 시스템을 제공하고, 만약 에러가 검출되면, 그 데이터가 상기 시스템내에서 정당하게 복사될 수 있는 경우를 판정한다.
본 발명의 일 특징에 있어서, 디렉토리 기준 데이터 처리 시스템에서 데이터를 전달하는 방법이 제공된다. 그 방법은 상기 필요한 장치에 의해 그 필요한 장치와 관련된 국부 메모리에 포함된 데이터를 액세스하는 단계와, 그 데이터에 에러 상태가 존재하는지 여부를 결정하는 단계와, 에러 상태가 존재하면, 그 데이터를 원격 메모리로부터 요구하는 단계를 포함한다. 일 실시예에 있어서, 상기 원격 메모리로부터 데이터를 요구하는 단계는 상기 데이터의 상태를 판정하기 위하여 처음에 한 디렉토리를 액세스하는 단계를 포함한다. 상기 원격 메모리에서 상기 데이터를 이용할 수 있다고 상기 상태가 지시하면, 상기 요구 장치 및 상기 원격 메모리를 결합하는 상호 접속으로 요구한다.
본 발명의 다른 특징에 있어서, 데이터 처리 시스템은 제1 프로세서, 제1 메모리 및 디렉토리를 갖는 제1 노드와, 제2 프로세서와 제2 메모리를 갖는 제2 노드와, 상기 제1 및 제2 노드를 결합하는 상호 접속을 포함한다. 상기 데이터 처리 시스템은 상기 제1 프로세서에 의해 상기 제1 메모리에 포함된 데이터를 액세스하는 프로세스와, 그 데이터에 에러 상태가 있는지 여부를 판정하는 프로세스와, 에러 상태가 존재하면, 상기 제2 메모리로부터 상기 데이터를 요구하는 프로세스를 포함한다.
본 발명의 또 다른 실시예에 있어서, 분산 공유 메모리를 갖는 디렉토리 기준 데이터 처리 시스템이 제공된다. 상기 데이터 처리 시스템은 적어도 한 개의 제1 프로세서, 제1 메모리 제1 메모리 제어기 및 상기 제1 메모리의 한 개 이상의 메모리 블록에 대한 상태 데이터를 포함하는 제1 디렉토리를 구비한 제1 노드와, 적어도 한 개의 제2 프로세서, 제2 메모리, 제2 메모리 제어기 및 상기 제2 메모리의 한 개 이상의 메모리 블록에 대한 상태 데이터를 포함하는 제2 디렉토리를 구비하는 제2 노드와, 상기 제1 노드 및 제2 노드를 접속하는 상호 접속을 포함한다. 상기 제1 메모리 제어기는 상기 제1 메모리에 포함된 데이터를 액세스하는 동시에 그 데이터에 에러가 있는지 여부를 판정하고, 에러가 있으면, 그 데이터에 대한 요구를 그 상호 접속에 위치하게 배치된다.
본 발명의 이러한 특징 및 다른 특징은 다음과 같은 상세한 설명 및 수반하는 도면을 검토함으로써 명백해질 것이다.
도 1은 본 발명이 어플리케이션을 찾을 수 있는 멀티프로세서 시스템에 대한 블록도.
도 2는 도 1의 노드에 대한 상세한 블록도.
도 3은 본 발명의 방법에 대한 간단한 논리 흐름도.
도 4는 도 3의 방법에 대한 부가적인 세부 사항을 도시하는 논리 흐름도.
도 5는 도 4와 다른 다른 논리 흐름을 도시하는 다른 논리 흐름도.
본 발명은 멀티프로세싱 환경에서 데이터의 에러를 점검하고, 에러가 검출되면, 그 시스템에서 이용할 수 있는 유효 데이터의 사본인지를 결정하기 위하여 채택된 방법 및 시스템을 제공한다. 그 데이터의 유효 사본을 이용할 수 있으면, 그 데이터는 인터럽트를 발생할 필요없이 그 데이터를 요구한 장치(예컨대, 프로세서 및/또는 메모리 제어기)에 제공된다. 본 발명은 그 요구된 메모리 블록의 원격 사본이 존재하지 않는 경우에만 시스템 인터럽트를 발생함으로써 시스템 이용가능성을 증대시키는 장점이 있다.
일 실시예에 있어서, 요구 장치(예컨대, 메모리 제어기)는 특정 메모리 위치에 기억된 데이터가 바람직하다는 것을 지시하는 메모리 판독 요구를 발생한다. 상기 메모리 제어기는 상기 요구된 메모리 블록의 유효 사본이 관련 메모리에 상주하는 경우를 판정한다. 그 관련 메모리는 캐시 메모리 또는 비 캐시 메모리(예컨대, 메인 메모리)가 될 수 있다. 그 메모리 블록이 상주하고 유효하면, 그 메모리 제어기는 응답하여 그 요구된 데이터 블록의 사본을 상기 요구 프로세서에 제공한다. 다른 방법으로, 상기 메모리 블록의 원격 사본이 요구된다.
요구한 메모리 제어기는 메모리 블록을 수신하여 임의의 필요한 에러 검출 및 수정 루틴을 실행한다. 상기 수신된 메모리 블록내에서 회복할 수 없는 에러의 경우에, 상기 요구한 메모리 제어기는 상기 메모리 블록의 원격 사본을 요구한다. 일 실시예에 있어서, 그 관련된 요구 프로세서는 회복 불가능한 에러 상태가 존재하는지 여부를 판정하기 전에 상기 원격 메모리 블록의 프로세싱을 개시한다.
NUMA 및 COMA 등 특정 시스템 아키텍쳐로 본원에 참조될지라도, 본 발명은 특정 아키텍쳐에 국한되지 않는다. 특정 아키텍쳐에 참조하여 더욱 예시한다. 일반적으로, 본 발명은 임의 멀티프로세서에 디렉토리에서 디렉토리 기준 시스템을 적용할 수 있다.
도 1은 본 발명을 적용할 수 있는 NUMA 시스템 등 일반 프로세서 시스템(10)의 개략 블록도이다. 시스템 상호 접속(12)은 노드 0 내지 노드 i와 같이 복수의 노드(14)를 결합하는데, 그 각각의 노드는 P0 내지 Pi와 같은 적어도 한 개의 프로세서를 포함한다. 그 각각의 프로세서(P0 내지 Pi)는 임의 갯수의 캐시 레벨을 포함할 수 있는 캐시 메모리(24)와 관련있다. 또한, 상기 시스템(10)은 I/0 어뎁터 (18) 및 다양한 I/O 장치(20)를 포함한다. 종래에 알려지거나 알려지지 않은 다양한 캐시 일관성 기법은 데이터의 가장 최근의 정당한 버젼을 상기 프로세서(P0 내지 Pi)에 의해 확실하게 이용되도록 이용될 수 있다.
도 2는 상기 시스템 상호 접속(12)으로 결합된 노드(14)의 세부 사항을 제공한다. 네트워크 인터페이스(21)는 상기 노드(14)를 상기 상호 접속(12)에 접속하는데 필요한 회로를 제공한다. 또한, 상기 노드(14)는 1차 또는 보드상에 캐시(24) 뿐만 아니라 한 개 이상의 오프 칩 또는 저 레벨 캐시를 포함한다. 그 특정한 캐시 아키텍쳐는 본 발명에 국한되지 않는다. 상기 노드(14)는 NUMA 시스템 같은 메인 메모리 또는 COMA 시스템 같은 어트랙션 메모리(attraction memory)가 될 수 있는 메모리(26)를 더 포함한다. 메모리 제어기(28)는 상기 노드(14)의 통신 캐시 일관성 기능 및 에러 점검을 지원한다. 개별적으로 도시된 바와 같이, 다른 실시예에서, 상기 메모리 제어기(28) 및 프로세서(22)가 메모리 제어 기능 및 데이터 프로세싱을 수행하기 위하여 배치된 통합 처리 장치가 고려될 수 있다.
상기 메모리(26)는 메모리 블록(30)에 예시된 바와 같이 메모리 블록에 배치된다. 각 노드(14)는 상기 상호 접속(12)으로 결합된 각 노드(14)에 대하여 상기 메모리(26)의 메모리 블록에 대한 엔트리를 갖는 디렉토리(29)를 포함한다. NUMA 형 아키텍쳐의 경우에, 상기 디렉토리(29)는 상태 필드(32) 및 데이터 필드(34)를 포함한다. 상기 데이터 필드(34)는 메모리(26)내의 유일한 어드레스 블록(예컨대, 메모리 블록 30)에 해당한다. 상기 상태 필드(32)는 상기 데이터 필드(34)의 데이터가 최근의 것인지 여부 및 그 데이터가 상기 데이터를 필요로 하는 특정 노드에 상주(국부 사본)하거나 그 밖의 다른 노드(14)에 상주(즉, 원격 사본)하는지 여부에 대한 정보를 포함한다. 본원에 이용된 바와 같이, 원격 사본은 상기 데이터를 요구하는 노드 이외의 노드(14) 메모리에 위치된 데이터로 언급한다. 그 원격 데이터는 상기 데이터를 요구하는 국부 메모리 장치에 액세스할 수 있는 메모리 장치의임의 형태로 상주할 수 있다. 예컨대, 상기 원격 데이터는 상기 상호 접속(12)에 접속된 다른 노드(14)상에 프로세서의 캐시 또는 메인 메모리에 상주될 수 있다.
COMA형 아키텍쳐의 경우에, 상기 디렉토리(29)는 어드레스 필드(35)를 포함한다. 상기 어드레스 필드(35)는 임의의 시간에 특정 메모리 블록(30)에 많은 데이터를 맵핑하는 아키텍쳐에 제공된다. 결과적으로, 데이터의 위치를 추적하기 위하여 상기 디렉토리(29)의 어드레스 필드를 유지할 필요가 있다.
일 실시예에 있어서, 캐시의 상태는 MESI 프로토콜에 의해 결정된다. MESI 프로토콜의 캐시 데이터 블록은 "M"(수정),"E"(배타적),"S"(공유),"I"(무효)의 4개의 상태 중 한개의 상태에 있다. 상기 MESI 프로토콜하에서, 각 캐시 엔트리(예컨대, 32 바이트 섹터)는 상기 4개의 가능한 상태로부터 상기 엔트리의 상태를 지시하는 2개의 부가적인 비트를 갖는다. 상기 요구 프로세서에 의해 찾은 엔트리의 초기 상태 및 액세스의 타입에 따르면, 그 상태는 변경될 수 있고, 특정 상태는 상기 요구 프로세서의 캐시의 엔트리에 설정된다. 예컨대, 한 섹터가 수정 상태에 있을 때, 그 어드레스된 섹터는 그 수정 섹터를 갖는 캐시에서만 유효하고, 그 수정 값은 시스템 메모리에 역으로 기록되지 않는다. 한 섹터가 배타적(E)일 때, 그 주목된 섹터에서만 나타나고, 시스템 메모리와 일치하지 않는다. 한 섹터가 공유이면, 캐시 및 적어도 한 개의 다른 캐시에서 유효하고, 그 모든 공유 섹터는 시스템 메모리와 일치한다. 최종적으로, 한 섹터가 무효일 때, 상기 어드레스된 섹터가 상기 캐시에 상주하지 않은 것을 나타낸다. 한 섹터가 상기 수정, 공유 또는 무효 상태 중 한 개의 상태에 있으면, 상기 특정 버스 트랜잭션에 따라 그 상태간에 이동할수 있다. 배타적인 상태의 한 섹터가 임의 다른 상태로 이동하는 동안, 한 섹터는 그것이 처음에 무효인 경우 배타적으로만 될 수 있다. 상기 MESI 프로토콜은 널리 공지되어 있지만, 본원에 참조용으로 포함된 미국 특허 제5,946,709호를 참조하면 더욱 이해할 수 있을 것이다. 또한, 본 발명은 특정 프로토콜로 특정하지 않았고, MESI는 유익하게 이용될 수 있는 한 개의 프로토콜을 도시한다.
도 3은 본 발명에 의해 이용된 프로세스(300)를 도시하는 흐름도이다. 단계(302)에서, 상기 프로세스(300)는 개시하여 상기 프로세서(22)가 메모리 요구(즉, 판독 또는 인출) 명령을 발생한다. 단계(306)에서, 상기 메모리 제어기(28)는 메모리(26)의 각 메모리 블록(30) 상태의 트랙을 유지하는데 이용되는 디렉토리 (29)를 액세스하고 검사한다. 단계(308)에서, 상기 메모리 제어기는 그 요구된 데이터가 국부적으로 유효한지를 판정한다. 즉, 그 국부 데이터(즉, 상기 요구 프로세서와 관련된 메모리에 포함된 데이터)가 유효한지 여부에 대하여 판정된다. "유효"라는 것은 다른 노드(14)상의 다른 프로세서에 의해 상기 데이터가 수정되지 않은 것을 의미한다. 상기 요구 데이터가 국부적으로 유효 및 이용가능하다면, 그 방법은 그 국부 데이터를 액세스하는 단계(312)로 진행한다.
그 요구 데이터가 유효하지 않거나 국부적으로 이용할 수 없으면, 그 프로세스는 단계(310)로 진행한다. 단계(310)에서 원격 인출 요구는 상기 데이터의 원격 사본을 승인하기 위하여 상기 메모리 제어기(28)에 의해 발생된다. 단계(314)에서 상기 방법(300)은 상기 데이터가 수신되었는지 여부를 문의한다. 상기 프로세스 (300)는 그 원격 데이터가 수신될 때까지 단계(314)를 통하여 루프로 진행한다. 상기 원격 데이터를 단계(314)에서 수신할 때, 상기 방법(300)은 단계(320)에서 상기 프로세서(22)로 데이터가 전송되는 것을 지시하는 논리 라인(328)을 따라 진행한다. 상기 연산은 단계(324)에서 종료한다.
선택적으로, 상기 국부 메모리 디렉토리는 단계(314)에서 데이터를 수신한 후에 단계(316)에서 갱신된다(데이터는 메인 메모리 또는 어트랙션 메모리에 기록될 수 있다). 그 프로세스(300)는 단계(318)에서 종료한다. 동일한 메모리 제어기/프로세서에 의한 다음 데이터 요구는 국부적으로 상기 데이터를 액세스할 수 있다(단계 312).
일 실시예에 있어서, 에러 점검은 단계(320)에서 상기 프로세서로 원격 사본을 전송한 후에 실행될 수 있다. 따라서, 상기 데이터가 단계(314)에서 수신되었다고 판정한 경우, 그 데이터는 단계(320)에서 상기 프로세서로 전송되고, 상기 방법 (300)은 그 프로세서가 프로세싱을 개시함으로써 지속한다. 상기 수신 데이터에 대한 패리티 에러가 있다고 패리티 점검기가 판정한 경우, 데이터 수정 알고리즘은 실행될 수 있다. 그 수신 데이터에 에러가 없으면, 그 데이터는 상기 프로세서의 실행 장치로 진행된다. 따라서, 상기 메모리 제어기에 의해 제공된 수신 데이터는 유효하게 판정되고, 그 데이터는 공지된 시스템의 메모리 제어기에서 발생하는 패리티 및 ECC 연산과 관련된 정상적인 대기 시간 없이 상기 실행 장치로 진행된다.
국부 메모리 액세스가 단계(312)에서 실행되면, 단계(322)에서 에러 판정이 이루어진다. 에러 상태가 나타나지 않으면(또는 ECC 등의 종래 수단에 의해 수정할 수 있는), 상기 데이터는 단계(320)에서 상기 프로세서(22)에 제공되고, 그 연산은단계(324)에서 종료된다.
상기 국부 데이터가 종래의 방법으로 수정할 수 없는 에러 상태를 포함하면, 그 방법은 단계(330)로 진행하여 그 데이터의 원격 사본을 이용할 수 있는지 여부를 문의한다. MESI 프로토콜을 이용하는 실시예에 있어서, 상기 방법(300)은 상기 데이터의 상태가 공유되었는지 여부를 판정할 것이다. 원격 위치에서 상기 데이터를 이용할 수 있으면, 상기 방법(300)은 상기 데이터의 원격 사본을 검색하기 위하여 인출 요구하는 단계(310)로 진행한다. 상기 데이터가 원격적으로 상주하지 않으면(단계 330), 머신 점검 인터럽트는 단계(332)에서 발생되고, 데이터 처리는 진단 루틴 또는 그와 유사한 것을 실행하는 동안 중지된다. 따라서, 본 발명은 데이터 에러가 발생하고, 수정할 수 없는 데이터 에러의 경우에 그 밖에 이용할 수 있는 데이터의 사본을 승인한다.
또한, 본 발명은 도 4 및 도 5에 관하여 아래에 기술된 바와 같이 데이터 에러 식별의 부가적인 특징을 포함한다. 도 4 및 도 5의 방법(400 및 500)은 도 3의 블록(334)내에서 수행될 수 있다. 블록(334)은 상기 요구 데이터가 수신될 때마다 논리 라인(338)을 따라 단계(314) 및 공유 데이터를 갖는 국부 데이터가 에러 상태인 경우에 논리 라인(336)을 따라 단계(330)로부터 진행한다. 일 실시예에 있어서, 상기 방법(300)은 논리 라인(328)으로부터 진행하는 단계와 유사하게 논리 라인 (336 및 338)을 따라 진행한다. 따라서, 단계(310)에서 발생된 원격 인출로부터 수신된 데이터는 상기 기술된 바와 같이 에러 판정이 이루어지기 전에 처리될 수 있다. 또한, 상기 방법(400,500)의 패리티 및 ECC의 사용이 더욱 예시된다. 본 발명이 패리티, ECC 또는 임의 다른 특정 검출 메커니즘의 사용이 필요없고, 데이터 에러 지시가 모두 필요하다는 것을 이해하여야 한다.
처음에, 도 4를 언급하면, 논리 라인(336)[단계(330)로부터]은 상기 시스템이 NUMA형 또는 다른 시스템과 반대인 COMA형 시스템인지 여부를 문의하는 단계 (402)로 진행한다. 상기 시스템이 COMA형이면, 단계(404)에서 메모리 블록은 국부 프로세서에 대하여 불능 또는 무효로 표시된다. 단계(404)는 동적으로 데이터를 재할당할 수 있는 하드웨어를 갖는 캐시 전용 시스템에서 실행될 수 있는 선택적인 단계이다. 단계(404)는 고속 하드웨어 구성 요소가 무효 데이터를 감시할 수 있는 메커니즘을 제공한다. 2개 중 한 경우에, 상기 방법은 상기 고장 필드 대체 장치(Field Replaceable Unit)(FRU)를 판정하기 위해 상기 서비스 프로세서가 사용한 에러를 상기 시스템이 기록하는 단계(406)로 진행한다. 상기 시스템은 어떤 비트가 불량인지를 아는 것에 의해 불량 카드 또는 DIMM을 판정할 수 있다. 일 실시예에 있어서, 불량 비트는 불량 국부 데이터(모든 데이터 비트 및 패리티 또는 ECC 비트)를 선택 경로(338)를 경유하여 상기 원격 인출 요구(단계 310)으로 수신된 양호한 데이터와 비교함으로서 판정된다. 상기 원격 인출로부터 가정상 양호한 데이터에 정합될 수 없는 상기 국부 데이터에 포함된 비트는 불량으로 고려된다. 부정확한 에러(UE)에 기인한 불량 비트는 정상적으로 알려져 있지 않고, 나아가서, 공지된 시스템은 통상적으로 복수의 카드 또는 메모리 모듈을 가로질러 데이터를 분산할 수 없는 시스템의 불량 카드/메모리 모듈을 격리할 수 없다.
이러한 에러 데이터가 단계(406)에서 기록될 때, 상기 오퍼레이팅 시스템은그 오퍼레이팅 시스템이 그 에러를 취급할 수 있게 단계(408)로 통지된다. 예컨대, 상기 오퍼레이팅 시스템은 치명적인 에러가 발생하기 전에 메모리의 불량 영역을 액세스하는 현재의 작업을 종료할 수 있다.
도 5의 방법은 대체 방법을 블록(334)에 제공한다. 단계(502)에서, 그 요구 노드는 단계(312)에서 액세스된 어떤 비트가 불량인지를 판정한다. 일 실시예에 있어서, 단계(502)는 도 4의 단계(406)에 대하여 상기 기술된 방법으로 수행된다. 즉, 프로세서/메모리 제어기는 단계(312)에서 수신된 불량 국부 데이터(모든 데이터 비트 및 에러 검출 비트, 예컨대, 패리티 또는 ECC 비트)와 단계(310)에서 원격 인출 요구으로 수신된 양호한 데이터를 비교한다. 상기 원격 인출로부터 가정적으로 양호한 데이터로 정합될 수 없는 국부 데이터에 포함된 비트는 불량으로 고려된다. 단계(504)에서, 상기 메모리 제어기는 단계(310)의 원격 인출로 제공된 가상적인 양호한 데이터로서 불량 데이터를 갖는 어드레스에 기록한다. 단계(506)에서, 상기 메모리 제어기는 방금 기억된 어드레스로부터 판독하고, 단계(508)에서, 에러 검출을 실행한다. 에러가 검출되지 않으면, 상기 방법은 에러를 수정했다는 지시로써 단계(510)로 진행하고, 단계(512)에서 수정가능한 에러가 발생했다는 것을 기록한다.
단계(508)에서 에러가 검출되면, 상기 메모리 제어기는 단계(514)에서 상기 에러를 수정할 수 없는 경우를 판정한다. 수정 불가능한 에러는 상기 데이터에 포함된 에러가 변경되지 않거나 질을 떨어뜨리는 것을 지시한다. 그 에러가 수정 불가능하면, 상기 프로세스는 도 4에 관하여 기재된 바와 같이 진행한다. 따라서, 단계(402)는 상기 시스템이 COMA형 시스템인지 여부를 판정하고, 그러한 경우, 단계 (404)의 메모리 블록을 표기한다. 상기 시스템 아키텍쳐에 상관없이, 상기 방법 (500)은 단계(406)의 에러 데이터를 기록하기 위하여 진행하고, 단계(408)에서 상기 오퍼레이팅 시스템에 통지하여, 단계(410)의 동작을 종료한다.
단계(514)에서 수정가능한 에러는 상기 불량 비트의 적어도 일부분이 단계 (502-506)에 의해 수정되고, 단계(508)에서 검출된 나머지 불량 비트가 상기 메모리 제어기의 수정 메커니즘에 의해 수정가능한 비트 갯수보다 작거나 같은 것을 지시한다. 따라서, 상기 나머지 불량 비트를 수정한 후에, 상기 방법(500)은 끝날 수 있다.
그러나, 도 5에 도시된 실시예에 있어서, 상기 방법(500)은 단계(508)에서 불량인 비트의 일부분이 하드 에러에 기인하는지 여부, 즉 동일한 비트가 되풀이하여 불량인지 여부를 판정한다. 단계(516)에서, 상기 방법(500)은 어떤 비트가 불량인지를 판정한다. 즉, 단계(506)에서 수신된 데이터는 단계(310)에서 발생된 원격 데이터 인출로부터 수신된 데이터와 비교된다. 상기 원격 데이터에 포함되지 않은 단계(506)로부터 수신된 데이터에 포함된 비트는 가정적으로 불량 비트이다.
결과적으로, 단계(518)에서, 단계(516)로 판정된 임의의 불량 데이터 비트가 최초의 불량 데이터 비트, 즉 단계(502)로 결정된 불량 비트와 일치하는지 여부에 대하여 비교된다. 그 불량 비트가 일치하지 않으면, 단계(508)에서 한 개 이상의 불량 비트는 소프트 에러 발생을 지시하는 단계(322)의 불량 비트와 다르다. 상기 방법(500)은 단계(512)로 진행하여 수정가능한 에러가 발생하는 것을 기록한다.
상기 데이터 비트가 단계(518)에 일치하면, 그 불량이 하드 에러라는 것을 알 수 있다. 즉, 그 불량은 단계(322)에서 초기 에러 상태 때문에 반복하여 불량이되는 비트상의 에러에 기인하고, 단계(502-504)에 의해 수정되지 않는다. 일 실시예에 있어서, 단계(522)에 의해 도시된 바와 같이, 상기 메모리 제어기는 스티어링 동작(steer operation)을 수행하여(상기 시스템상에 제공되는 경우) 불량 비트를 하드 에러로 대체한다. 스티어링은 메모리 동작동안에 검출된 불량 데이터 비트를 대체하기 위하여 선택되는 용장 데이터 비트를 이용한다. 비트를 스티어링한 후에, 스티어링 제거 동작이 실행된다. 스티어링 제거는 상기 최초 데이터 비트를 이용하는 데이터를 인출하고, ECC를 이용하는 데이터를 수정한 다음, 그 수정 데이터를 상기 용장 데이터 비트를 이용하여 동일한 어드레스에 역으로 기록한다. 따라서, 상기 스티어링 동작은 하드 불량 비트때문에 차후에 에러가 발생할 확률을 줄인다. 스티어링 동작이 바람직할지라도, 본 발명은 차후의 에러가 발생할 확률을 감소시키기 위하여 다른 수정 메커니즘의 사용을 관찰한다. 방법(500)은 수정가능한 에러의 출현이 기록되는 단계(512)로 진행한다.
본 발명의 양호한 실시예에 관하여 앞서 설명하였지만, 본 발명의 다른 실시예는 본 발명의 범위에 벗어남이 없이 발명되었고, 그 범위는 수반하는 청구범위에 의하여 판정된다.
본 발명의 에러 점검 방법 및 시스템을 제공하여 시스템 인터럽트를 줄일 수 있다.

Claims (32)

  1. 디렉토리 기준 데이터 처리 시스템의 데이터를 요구 장치로 전달하는 방법에 있어서,
    a) 상기 요구 장치에 의해 상기 요구 장치와 관련된 국부 메모리안의 데이터를 액세스하는 단계와,
    b) 상기 데이터에 에러 상태가 존재하는지 여부를 판정하는 단계와,
    c) 에러 상태가 존재한다면, 상기 데이터가 원격 메모리에서 이용할 수 있는지 여부를 판정하기 위하여 한 디렉토리를 액세스하는 단계와,
    d) 상기 데이터가 상기 원격 메모리에서 이용할 수 있으면, 상기 데이터를 상기 원격 메모리로부터 요구하는 단계를 포함하는 것인 디렉토리 기준 데이터 처리 시스템의 데이터를 요구 장치로 전달하는 방법.
  2. 제1항에 있어서,
    e) 상기 원격 메모리로부터 데이터를 수신하는 단계와,
    f) 상기 데이터를 상기 요구 장치에 제공하는 단계를 더 포함하는 것인 디렉토리 기준 데이터 처리 시스템의 데이터를 요구 장치로 전달하는 방법.
  3. 제1항에 있어서, 상기 단계 d)는 상기 요구 장치 및 원격 메모리를 결합하는 상호 접속으로 요구하는 단계를 포함하는 것인 디렉토리 기준 데이터 처리 시스템의 데이터를 요구 장치로 전달하는 방법.
  4. 제1항에 있어서, 상기 단계 b)가 에러 상태가 존재하지 않는다고 판정하는 경우 상기 데이터를 상기 요구 장치에 제공하는 단계를 더 포함하는 것인 디렉토리 기준 데이터 처리 시스템의 데이터를 요구 장치로 전달하는 방법.
  5. 제1항에 있어서, 상기 요구 장치는 메모리 제어기, 프로세서 및 이들의 결합 중 한 개로부터 선택되는 것인 디렉토리 기준 데이터 처리 시스템의 데이터를 요구 장치로 전달하는 방법.
  6. 제1항에 있어서, 상기 국부 메모리를 상기 원격 메모리로부터 수신된 데이터로 갱신하는 단계를 더 포함하는 것인 디렉토리 기준 데이터 처리 시스템의 데이터를 요구 장치로 전달하는 방법.
  7. 제1항에 있어서, 에러 상태가 존재하는 것을 판정한 후에 데이터 에러를 기록(log)하는 단계를 더 포함하는 것인 디렉토리 기준 데이터 처리 시스템의 데이터를 요구 장치로 전달하는 방법.
  8. 제1항에 있어서, 단계 a)전에 상기 데이터의 상태를 판정하는 단계를 더 포함하는 것인 디렉토리 기준 데이터 처리 시스템의 데이터를 요구 장치로 전달하는방법
  9. 제8항에 있어서, 상기 데이터의 상태를 판정하는 단계는 상기 디렉토리를 액세스하는 단계를 포함하는 것인 디렉토리 기준 데이터 처리 시스템의 데이터를 요구 장치로 전달하는 방법.
  10. 제1항에 있어서, 상기 단계 c)는 상기 데이터의 상태를 판정하는 단계를 포함하는 것인 디렉토리 기준 데이터 처리 시스템의 데이터를 요구 장치로 전달하는 방법.
  11. 제10항에 있어서, 상기 데이터의 상태를 판정하는 단계는 상기 데이터가 공유 상태인지 여부를 판정하는 단계를 포함하는 것인 디렉토리 기준 데이터 처리 시스템의 데이터를 요구 장치로 전달하는 방법.
  12. 제1항에 있어서,
    e) 상기 데이터를 포함하는 국부 메모리의 어드레스에 위치된 한 개 이상의 불량 비트를 식별하는 단계와,
    f) 상기 어드레스에서 한 개 이상의 비트를 상기 원격 메모리로부터 한 개 이상의 비트로 기록하는 단계와,
    g) 상기 어드레스로부터 판독하는 단계를 더 포함하는 것인 디렉토리 기준데이터 처리 시스템의 데이터를 요구 장치로 전달하는 방법.
  13. 제12항에 있어서,
    h) 상기 단계 g)에서 판독된 데이터에 포함된 한 개 이상의 불량 비트를 식별하는 단계와,
    i) 단계 h)에서 식별된 한 개 이상의 불량 비트가 단계 e)에서 식별된 한 개 이상의 불량 비트와 일치하는지 여부를 판정하는 단계를 더 포함하는 것인 디렉토리 기준 데이터 처리 시스템의 데이터를 요구 장치로 전달하는 방법.
  14. 제13항에 있어서, 단계 e) 및 h)는 상기 국부 메모리에 포함된 데이터와 상기 원격 메모리로부터 수신된 데이터를 비교하는 단계를 포함하는 것인 디렉토리 기준 데이터 처리 시스템의 데이터를 요구 장치로 전달하는 방법.
  15. 제12항에 있어서,
    h) 상기 국부 메모리의 어드레스에 위치된 데이터를 상기 원격 메모리로부터의 데이터로 기록하는 단계와,
    i) 상기 어드레스로부터 판독하는 단계와,
    j) 상기 단계 i)의 어드레스로부터 판독된 데이터에 에러 상태가 존재하는지 여부를 판정하는 단계와,
    k) 상기 단계 j)에서 에러 상태가 존재하는 경우, 단계 b)에서 포함된 한 개이상의 불량 비트가 상기 단계 i)에서 상기 데이터에 포함된 한 개 이상의 불량 비트와 일치하는지 여부를 판정하는 단계를 포함하는 것인 디렉토리 기준 데이터 처리 시스템의 데이터를 요구 장치로 전달하는 방법.
  16. 제15항에 있어서, 에러 데이터를 기록(log)하는 단계를 더 포함하는 것인 디렉토리 기준 데이터 처리 시스템의 데이터를 요구 장치로 전달하는 방법.
  17. 데이터 처리 시스템에 있어서,
    제1 처리 장치, 제1 메모리 및 디렉토리를 갖는 제1 노드와,
    제2 처리 장치 및 제2 메모리를 갖는 제2 노드와,
    상기 제1 및 제2 노드를 결합하는 상호 접속을 포함하고,
    상기 제1 처리 장치는
    a) 상기 제1 메모리에 포함된 데이터를 액세스하고,
    b) 상기 데이터에 에러 상태가 존재하는지 여부를 판정하며,
    c) 에러 상태가 존재하는 경우, 상기 디렉토리를 액세스하여 상기 시스템상의 다른 위치에 데이터가 상주하는 경우를 판정하기 위해 배치되는 것인 데이터 처리 시스템.
  18. 제17항에 있어서, 상기 제1 처리 장치는 상기 a)-c)를 실행하기 위하여 배치된 메모리 제어기를 포함하는 것인 데이터 처리 시스템.
  19. 제17항에 있어서, 상기 제1 및 제2 노드는 NUMA(Non-Uniform Memory Access) 아키텍쳐와 캐시 전용 메모리 아키텍쳐(Cache-Only Memory Architecture)(COMA) 중 한 개의 아키텍쳐로부터 선택된 아키텍쳐의 구성 요소인 데이터 처리 시스템.
  20. 제17항에 있어서, 상기 제1 처리 장치는 상기 c)에서 상기 데이터의 상태를 판정하기 위하여 배치되는 것인 데이터 처리 시스템.
  21. 제17항에 있어서, 상기 제1 처리 장치는 상기 제1 메모리에 상기 데이터가 위치되는지 여부를 판정하기 위하여 단계 a) 전에 상기 디렉토리를 액세스하기 위하여 배치되는 것인 데이터 처리 시스템.
  22. 제17항에 있어서, 상기 제1 처리 장치는 프로세서 및 메모리 제어기를 포함하고, 상기 메모리 제어기는 상기 a)-c)를 실행하기 위하여 배치되고,
    d) 에러 상태가 존재하지 않은 경우, 상기 프로세서에 상기 데이터를 제공하기 위하여 더 배치되는 것인 데이터 처리 시스템.
  23. 제17항에 있어서, 상기 적어도 한 개의 제1 노드 및 상기 상호 접속은
    d) 상기 데이터가 상기 시스템상의 다른 위치에 상주하는 경우, 상기 제2 노드로부터 상기 데이터를 요구하는 것을 더 실행하기 위하여 배치되는 것인 데이터처리 시스템.
  24. 제23항에 있어서, 상기 적어도 한 개의 제1 노드 및 상호 접속은
    e) 상기 데이터를 수신하고,
    f) 상기 제2 노드로부터 수신된 데이터로 상기 제1 메모리를 갱신하는 것을 실행하기 위하여 더 배치되는 데이터 처리 시스템.
  25. 제24항에 있어서, 상기 제1 처리 장치는 상기 a)-c)를 실행하기 위하여 채택되고, 상기 제1 메모리로 액세스된 데이터와 상기 제2 노드로부터 수신된 데이터를 비교하여 상기 제1 메모리로부터 요구된 데이터의 한 개 이상의 불량 비트를 판정하기 위해 더 채택된 데이터 처리 시스템.
  26. 제23항에 있어서, 상기 적어도 한 개의 제1 노드 및 상호 접속은
    e) 상기 제2 노드로부터 상기 데이터를 수신하고,
    f) 상기 제2 노드로부터 수신된 데이터를 상기 제1 처리 장치에 제공하고,
    g) 상기 제2 노드로부터 수신된 데이터로 상기 제1 메모리를 갱신하며,
    h) 에러 상태가 단계 b)에 존재하지 않는 경우, 상기 데이터를 상기 제1 처리 장치에 제공하는 것을 실행하기 위하여 더 배치되는 것인 데이터 처리 시스템.
  27. 제26항에 있어서, 상기 제1 처리 장치는 a) 전에 상기 디렉토리를 액세스하여 상기 데이터가 상기 제1 메모리에 위치되는지 여부를 판정하게 배치되는 것인 데이터 처리 시스템.
  28. 분산 공유 메모리를 갖는 디렉토리 기준 데이터 처리 시스템에 있어서,
    a) 적어도 제1 프로세서, 제1 메모리, 제1 메모리 제어기 및 상기 제1 메모리의 한 개 이상의 메모리 블록에 대한 상태 데이터를 포함하는 제1 디렉토리와,
    b) 적어도 제2 프로세서, 제2 메모리, 제2 메모리 제어기 및 상기 제2 메모리의 한 개 이상의 메모리 블록에 대한 상태 데이터를 포함하는 제2 디렉토리를 포함하는 제2 노드와,
    c) 상기 제1 노드 및 제2 노드를 접속하는 상호 접속을 포함하고,
    상기 제1 메모리 제어기는 상기 제1 메모리에 포함된 데이터를 액세스하고 상기 데이터에 에러 상태가 존재하는지 여부를 판정하여, 에러 상태가 존재하는 경우, 상기 상호 접속에 상기 데이터에 대하여 요구하는 디렉토리 기준 데이터 처리 시스템.
  29. 제28항에 있어서, 상기 제1 메모리 제어기는 상기 제1 디렉토리를 액세스하여 상기 데이터를 액세스하기 전에 상기 제1 메모리에 포함된 데이터의 상태를 판정하기 위하여 채택되는 디렉토리 기준 데이터 처리 시스템.
  30. 제28항에 있어서, 상기 제1 메모리 제어기는 상기 에러 상태가 수정 불가능에러 또는 수정 가능 에러인지 여부를 판정하기 위하여 더 배치되는 디렉토리 기준 데이터 처리 시스템.
  31. 제28항에 있어서, 상기 제1 메모리 제어기는 상기 제1 메모리에 포함된 데이터의 어떤 비트가 데이터 에러를 포함하는지를 식별하기 위하여 더 배치되는 것인 디렉토리 기준 데이터 처리 시스템.
  32. 제28항에 있어서, 상기 제1 메모리 제어기는 상기 상호 접속상의 요구에 응답하여 수신된 데이터와 상기 제1 메모리에 포함된 데이터를 비교하기 위하여 더 배치되는 디렉토리 기준 데이터 처리 시스템.
KR10-2001-0003628A 2000-02-03 2001-01-22 멀티프로세서 데이터 처리 시스템에서 복구 불가능한에러를 허용하는 방법 및 장치 KR100406575B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/497,589 US6615375B1 (en) 2000-02-03 2000-02-03 Method and apparatus for tolerating unrecoverable errors in a multi-processor data processing system
US09/497,589 2000-02-03

Publications (2)

Publication Number Publication Date
KR20010078055A true KR20010078055A (ko) 2001-08-20
KR100406575B1 KR100406575B1 (ko) 2003-11-21

Family

ID=23977478

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0003628A KR100406575B1 (ko) 2000-02-03 2001-01-22 멀티프로세서 데이터 처리 시스템에서 복구 불가능한에러를 허용하는 방법 및 장치

Country Status (5)

Country Link
US (1) US6615375B1 (ko)
JP (1) JP3851093B2 (ko)
KR (1) KR100406575B1 (ko)
CN (1) CN1220949C (ko)
TW (1) TW484069B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101231575B1 (ko) * 2004-12-21 2013-02-15 코닌클리케 필립스 일렉트로닉스 엔.브이. 광학 디스크 데이터의 오류 정정 방법 및 장치

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7035470B2 (en) * 2001-02-05 2006-04-25 Ati Technologies, Inc. System for handling errors related to IDCT data and method thereof
US7885336B2 (en) * 2001-02-05 2011-02-08 Ati Technologies Ulc Programmable shader-based motion compensation apparatus and method
NZ528503A (en) * 2001-03-12 2004-06-25 Honeywell Int Inc Method of recovering a flight critical computer after a radiation event
US6851071B2 (en) * 2001-10-11 2005-02-01 International Business Machines Corporation Apparatus and method of repairing a processor array for a failure detected at runtime
US7043666B2 (en) * 2002-01-22 2006-05-09 Dell Products L.P. System and method for recovering from memory errors
TW200417851A (en) * 2003-03-07 2004-09-16 Wistron Corp Computer system capable of maintaining system's stability while memory is unstable and memory control method
US7779296B2 (en) * 2004-07-23 2010-08-17 Emc Corporation Storing data replicas remotely
US7366846B2 (en) * 2005-01-14 2008-04-29 International Business Machines Corporation Redirection of storage access requests
US7328315B2 (en) * 2005-02-03 2008-02-05 International Business Machines Corporation System and method for managing mirrored memory transactions and error recovery
JP5021978B2 (ja) * 2006-08-11 2012-09-12 エヌイーシーコンピュータテクノ株式会社 マルチプロセッサシステム及びその動作方法
US7966526B2 (en) * 2007-04-10 2011-06-21 Galileo Tools Gmbh Software event recording and analysis system and method of use thereof
US20090150721A1 (en) * 2007-12-10 2009-06-11 International Business Machines Corporation Utilizing A Potentially Unreliable Memory Module For Memory Mirroring In A Computing System
JP4878050B2 (ja) * 2008-11-28 2012-02-15 富士通株式会社 コンピュータ及び制御方法
US8510615B2 (en) * 2009-10-22 2013-08-13 Xerox Corporation Virtual repair of digital media
US9128887B2 (en) * 2012-08-20 2015-09-08 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Using a buffer to replace failed memory cells in a memory component
JP5800058B2 (ja) * 2014-05-26 2015-10-28 富士通株式会社 情報処理装置、制御方法および制御プログラム
US11544153B2 (en) * 2020-03-12 2023-01-03 International Business Machines Corporation Memory error handling during and/or immediately after a virtual machine migration

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4044337A (en) 1975-12-23 1977-08-23 International Business Machines Corporation Instruction retry mechanism for a data processing system
US4538265A (en) 1983-03-24 1985-08-27 International Business Machines Corporation Method and apparatus for instruction parity error recovery
JPH0680492B2 (ja) 1984-09-29 1994-10-12 株式会社日立製作所 エラー回復方法
US4924466A (en) 1988-06-30 1990-05-08 International Business Machines Corp. Direct hardware error identification method and apparatus for error recovery in pipelined processing areas of a computer system
US5280615A (en) * 1990-03-23 1994-01-18 Unisys Corporation Out of order job processing method and apparatus
EP0528538B1 (en) 1991-07-18 1998-12-23 Tandem Computers Incorporated Mirrored memory multi processor system
US5406504A (en) * 1993-06-30 1995-04-11 Digital Equipment Multiprocessor cache examiner and coherency checker
US5771247A (en) 1994-10-03 1998-06-23 International Business Machines Corporation Low latency error reporting for high performance bus
JP3889044B2 (ja) 1995-05-05 2007-03-07 シリコン、グラフィクス、インコーポレイテッド 不均一メモリ・アクセス(numa)システムにおけるページ移動
US5720029A (en) 1995-07-25 1998-02-17 International Business Machines Corporation Asynchronously shadowing record updates in a remote copy session using track arrays
US5768623A (en) * 1995-09-19 1998-06-16 International Business Machines Corporation System and method for sharing multiple storage arrays by dedicating adapters as primary controller and secondary controller for arrays reside in different host computers
US5870537A (en) 1996-03-13 1999-02-09 International Business Machines Corporation Concurrent switch to shadowed device for storage controller and device errors
US5933653A (en) 1996-05-31 1999-08-03 Emc Corporation Method and apparatus for mirroring data in a remote data storage system
US5892970A (en) 1996-07-01 1999-04-06 Sun Microsystems, Inc. Multiprocessing system configured to perform efficient block copy operations
US6029231A (en) * 1996-12-03 2000-02-22 Emc Corporation Retrieval of data stored on redundant disks across a network using remote procedure calls
US5881282A (en) 1996-12-10 1999-03-09 Intel Corporation Controlling ill-behaved computer add-on device through a virtual execution mode
US6073209A (en) * 1997-03-31 2000-06-06 Ark Research Corporation Data storage controller providing multiple hosts with access to multiple storage subsystems
US5946709A (en) 1997-04-14 1999-08-31 International Business Machines Corporation Shared intervention protocol for SMP bus using caches, snooping, tags and prioritizing
DE69715203T2 (de) * 1997-10-10 2003-07-31 Bull Sa Ein Datenverarbeitungssystem mit cc-NUMA (cache coherent, non-uniform memory access) Architektur und im lokalen Speicher enthaltenem Cache-Speicher für Fernzugriff
US6260069B1 (en) * 1998-02-10 2001-07-10 International Business Machines Corporation Direct data retrieval in a distributed computing system
US6088815A (en) * 1998-02-23 2000-07-11 International Busines Machines Corporation Automatic data recovery for a duplex pair
US6151685A (en) * 1998-05-15 2000-11-21 International Business Machines Corporation System and method for recovering a segment directory for a log structured array
US6275900B1 (en) * 1999-01-27 2001-08-14 International Business Machines Company Hybrid NUMA/S-COMA system and method
US6449731B1 (en) * 1999-03-03 2002-09-10 Tricord Systems, Inc. Self-healing computer system storage
US6725343B2 (en) * 2000-10-05 2004-04-20 Hewlett-Packard Development Company, L.P. System and method for generating cache coherence directory entries and error correction codes in a multiprocessor system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101231575B1 (ko) * 2004-12-21 2013-02-15 코닌클리케 필립스 일렉트로닉스 엔.브이. 광학 디스크 데이터의 오류 정정 방법 및 장치

Also Published As

Publication number Publication date
JP3851093B2 (ja) 2006-11-29
TW484069B (en) 2002-04-21
US6615375B1 (en) 2003-09-02
JP2001249911A (ja) 2001-09-14
KR100406575B1 (ko) 2003-11-21
CN1220949C (zh) 2005-09-28
CN1319807A (zh) 2001-10-31

Similar Documents

Publication Publication Date Title
KR100406575B1 (ko) 멀티프로세서 데이터 처리 시스템에서 복구 불가능한에러를 허용하는 방법 및 장치
EP1310873B1 (en) Error recovery
US6292906B1 (en) Method and apparatus for detecting and compensating for certain snoop errors in a system with multiple agents having cache memories
US9477550B2 (en) ECC bypass using low latency CE correction with retry select signal
US6480975B1 (en) ECC mechanism for set associative cache array
US8205136B2 (en) Fault tolerant encoding of directory states for stuck bits
US7975169B2 (en) Memory preserved cache to prevent data loss
US7650467B2 (en) Coordination of multiprocessor operations with shared resources
US5875201A (en) Second level cache having instruction cache parity error control
US6405322B1 (en) System and method for recovery from address errors
US6012127A (en) Multiprocessor computing apparatus with optional coherency directory
US6108753A (en) Cache error retry technique
US7120836B1 (en) System and method for increasing cache hit detection performance
US5381544A (en) Copyback memory system and cache memory controller which permits access while error recovery operations are performed
US7689891B2 (en) Method and system for handling stuck bits in cache directories
US6035436A (en) Method and apparatus for fault on use data error handling
US9231618B2 (en) Early data tag to allow data CRC bypass via a speculative memory data return protocol
JP3129224B2 (ja) キャッシュメモリ装置
US6898738B2 (en) High integrity cache directory
US20060168503A1 (en) Systems and methods for mitigating latency associated with error detection and correction
EP0128353A2 (en) Error recovery of non-store-through cache
JPH09325912A (ja) 情報処理装置
JPH0353660B2 (ko)

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: 20091103

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee