KR20080011228A - 에러 완화를 위한 장치, 방법 및 시스템 - Google Patents

에러 완화를 위한 장치, 방법 및 시스템 Download PDF

Info

Publication number
KR20080011228A
KR20080011228A KR1020077029038A KR20077029038A KR20080011228A KR 20080011228 A KR20080011228 A KR 20080011228A KR 1020077029038 A KR1020077029038 A KR 1020077029038A KR 20077029038 A KR20077029038 A KR 20077029038A KR 20080011228 A KR20080011228 A KR 20080011228A
Authority
KR
South Korea
Prior art keywords
error
bit level
threshold
level errors
state elements
Prior art date
Application number
KR1020077029038A
Other languages
English (en)
Other versions
KR100954730B1 (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 KR20080011228A publication Critical patent/KR20080011228A/ko
Application granted granted Critical
Publication of KR100954730B1 publication Critical patent/KR100954730B1/ko

Links

Images

Classifications

    • 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/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1637Error detection by comparing the output of redundant processing systems using additional compare functionality in one or some but not all of the redundant processing components
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • 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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

비트 레벨 에러 카운트에 근거한 에러 완화의 선택적 활성화 장치 및 방법의 실시예가 개시된다. 일실시예에서, 장치는 복수의 상태 요소, 에러 카운터 및 활성화 로직을 포함한다. 에러 카운터는 상태 요소에서의 비트 레벨 에러의 수를 카운트하기 위한 것이다. 활성화 로직은 비트 레벨 에러의 수가 임계값을 초과하는 경우에 에러 완화를 증가시키기 위한 것이다.

Description

에러 완화를 위한 장치, 방법 및 시스템{SELECTIVE ACTIVATION OF ERROR MITIGATION BASED ON BIT LEVEL ERROR COUNT}
본 발명은 데이터 처리의 분야에 관한 것으로서, 특히, 데이터 처리 장치에서의 에러 완화의 분야에 관한 것이다.
집적 회로 제조 기법에서, 보다 작은 치수 및 보다 낮은 동작 전압의 마이크로프로세서 및 다른 데이터 처리 장치를 제공하기 위한 개선이 계속됨에 따라, 이들 장치의 제조자 및 사용자는 소프트 에러의 현상에 점점 더 관심을 갖게 되고 있다. 소프트 에러는 알파 입자 및 고에너지 중성자가 집적 회로에 충돌할 때 발생되며, 회로 노드에 저장된 전하를 변경시킨다. 전하 변경이 충분히 크다면, 노드상의 전압은 하나의 논리 상태를 나타내는 레벨로부터 다른 논리 상태를 나타내는 레벨로 변화될 수 있으며, 그러한 경우, 해당 노드에 저장된 정보가 훼손된다. 일반적으로, 소프트 에러 레이트(soft error rate; SER)는 회로 치수가 감소됨에 따라 증가되는데, 그 이유는, 회로 밀도가 증가할 때, 충돌 입자가 전압 노드에 부딪힐 가능성이 증가하기 때문이다. 마찬가지로, 동작 전압이 감소함에 따라, 상 이한 논리 상태들을 나타내는 전압 레벨들 사이의 차이가 감소하여, 회로 노드상의 논리 상태를 변경하는데 있어 보다 적은 에너지가 요구되며, 보다 많은 소프트 에러가 발생된다.
소프트 에러를 초래하는 입자를 차단하는 것은 매우 어렵기 때문에, 때때로 데이터 처리 장치는 소프트 에러를 검출하고, 때로는 보정하는 기법을 포함한다. 이들 에러 완화 기법은 에러 정정 코드(error-correcting-code; ECC), 스크러빙 캐시(scrubbing cache) 및 록스텝(lockstep) 방식의 실행 프로세서(running processor)를 이용하는 것을 포함한다. 그러나, 에러 완화 기법을 이용하는 것은 성능을 감소시키고 전력 소모를 증가시키는 경향이 있다. 더욱이, 에러 완화를 이용하는 것의 필요성 및 바람직함은, 장치가 이용되는 시간 및 장소에 따라 변할 수 있는데, 그 이유는, 높이, 자계 세기 및 방향, 및 태양의 작용과 같은 환경적인 요인이 SER에 영향을 미칠 수 있기 때문이다.
따라서, 에러 완화의 선택적 활성화가 바람직할 수 있다.
본 발명은 예를 통해 도시되며, 첨부 도면에 의해 제한되지는 않는다.
도 1은 프로세서에서의 본 발명의 실시예를 도시한 도면.
도 2는 본 발명의 실시예에 따른 멀티코어 프로세서를 도시한 도면.
도 3은 본 발명의 실시예에 따른 시스템을 도시한 도면.
도 4는 비트 레벨 에러 카운트에 근거하여 에러 완화를 선택적으로 활성화하는 방법에서의 본 발명의 실시예를 도시한 도면.
이하, 비트 레벨 에러 카운트에 근거한 에러 완화의 선택적 활성화의 실시예를 기술한다. 이하의 설명에서, 본 발명에 대한 보다 완전한 이해를 제공하기 위해, 구성요소 및 시스템 구성과 같은 다양한 특정 세부사항이 개시될 수 있다. 그러나, 당업자라면, 그러한 특정 세부사항 없이도 본 발명이 실시될 수 있음을 이해할 것이다. 또한, 본 발명을 불필요하게 불명료하게 하지 않도록, 소정의 잘 알려진 구조, 회로, 기법 등은 상세히 기술되지 않는다.
소프트 에러에 대한 책임이 있는 입자 플럭스(particle flux)의 임의의 성질로 인해, SER의 합리적인 평가는 에러 검출을 위해 비교적 큰 영역을 필요로 할 수 있다. 본 발명은 많은 프로세서 및 다른 장치의 다이 크기의 많은 부분을 이미 고려할 수 있는 캐시 메모리 및 스캔 셀과 같은 구조를 이용하여 에러 검출을 제공하기 때문에 바람직할 수 있다. 따라서, 본 발명은 다이 크기를 크게 증가시키고, 따라서 비용을 증가시키는 추가적인 에러 검출 구조를 요구하지 않으면서 구현될 수 있다.
도 1은 프로세서(100)에서의 본 발명의 실시예를 도시한다. 프로세서(100)는 Pentium® Processor Family, Itanium® Processor Family, 또는 인텔사(Intel Corporation)로부터의 다른 프로세서 패밀리, 또는 다른 회사로부터의 다른 프로세서와 같은 임의의 다양한 상이한 유형의 프로세서일 수 있다. 본 발명은 프로세서가 아닌, 메모리 장치와 같은 장치에서 구현될 수도 있다. 프로세서(100)는 메모리 어레이(110), 메모리 에러 카운트 유닛(120) 및 메모리 에러 완화 유닛(130)을 포함한다.
메모리 어레이(110)는 캐시 메모리와 같은 임의의 기능을 위해 이용된 정적 랜덤 액세스 메모리 셀과 같은 임의의 수의 행 및 임의의 수의 열의 임의의 유형의 메모리 셀일 수 있다. 메모리 어레이(110)는 패리티 또는 ECC와 같은 임의의 알려진 기법을 이용하여 메모리 어레이(110)내의 비트 레벨 에러를 검출하기 위한 에러 검출 회로(111)를 포함한다. 많은 프로세서 및 다른 장치 설계는 캐시 또는 다른 메모리 어레이에 대해 비교적 큰 영역을 포함하며, 이들 많은 어레이는 패리티 또는 ECC를 이미 포함한다. 따라서, 다이의 큰 영역이, 본 발명에 따른 에러 검출을 위해 저비용으로 이용될 수 있다.
메모리 에러 카운트 유닛(120)은 어레이 에러 카운터(121), 어레이 판독 카운터(122) 및 어레이 카운트 제어 모듈(123)을 포함한다. 어레이 에러 카운터(121)는 카운터 입력, 카운트 출력 및 리셋을 갖는 동기 또는 비동기의 임의의 알려진 카운터 회로일 수 있다. 어레이 에러 카운터(121)의 카운트 입력은 에러 검출 회로(111)에 연결되어, 비트 레벨 에러가 메모리 어레이(110)의 판독시에 검출되었음을 나타내는 신호를 수신함으로써, 어레이 에러 카운터(121)의 카운트 출력이, 어레이 에러 카운터(121)가 리셋된 이후 메모리 어레이(110)의 판독시에 검 출된 비트 레벨 에러의 전체 수를 나타내도록 한다.
또한, 어레이 판독 카운터(122)는 카운트 입력, 카운트 출력 및 리셋을 갖는 동기 또는 비동기의 임의의 알려진 카운터 회로일 수 있다. 어레이 판독 카운터(122)의 입력은 메모리 어레이(110)에 연결되어, 메모리 어레이(110)가 판독됨을 나타내는 신호를 수신함으로써, 어레이 판독 카운터(122)의 카운트 출력이, 어레이 판독 카운터(122)가 리셋된 이후 메모리 어레이(110)가 판독된 전체 회수를 나타내도록 한다.
이러한 실시예에서, 어레이 에러 카운터(121) 및 어레이 판독 카운터(122)는, 어레이 판독 카운터(122)에 의해 카운트된 메모리 어레이(110)의 판독 횟수가 소정의 한계에 도달할 때마다, 예를 들면, 1,000회의 판독시마다 리셋된다. 이러한 어레이 판독 한계값은 고정되거나 또는 프로그래밍될 수 있다. 적절한 어레이 판독 한계값은 메모리 어레이(110)의 영역, 크기, 비트의 수, SER을 합리적으로 적절하게 결정하기 위해 필요한 판독의 횟수의 기대값 및 임의의 다른 요인에 근거하여 선택될 수 있다. 또한, 어레이 에러 카운터(121) 및 어레이 판독 카운터(122)는 (예를 들면, 초단위로 측정된) 소정의 시간이 경과된 이후에 리셋되어, SER에서의 변화가, 메모리 어레이(110)가 상대적으로 비활성인 경우에도 검출될 수 있도록 한다. 다른 실시예에서, 추가적으로 또는 그 대신에, 카운터는 임의의 다른 이벤트 또는 신호에 근거하여 리셋될 수 있다.
이러한 실시예에서, 어레이 에러 카운터(121)의 출력은 어레이 카운트 제어 모듈(123)에 연결되어, 어레이 에러 카운터(121) 및 어레이 판독 카운터(122)가 리 셋될 때마다, 어레이 카운트 제어 모듈(123)이 어레이 판독 한계값당 비트 레벨 에러의 수를 수신하도록 한다. 다른 실시예에서, 비트 레벨 에러의 수는 어레이 카운트 제어 모듈(123)에 대해 계속적으로 이용가능하거나, 또는 임의의 다른 이벤트 혹은 신호에 근거하여 어레이 카운트 제어 모듈(123)에 송신될 수 있다.
또한, 어레이 카운트 제어 모듈(123)은 어레이 에러 임계값을 유지하도록 프로그래밍될 수 있는 어레이 에러 임계값 레지스터(124)를 포함할 수 있다. 다른 실시예에서, 어레이 에러 임계값은 고정될 수 있다. 비트 레벨 에러의 수가 어레이 에러 임계값을 초과한다면, 에러 완화가 활성화되거나 또는 증가된다. 적절한 어레이 에러 임계값은 원하는 SER 임계값에 대응하는 어레이 판독 한계값당 비트 레벨 에러의 수에 근거하여 선택될 수 있다. 다른 실시예는 카운터(121, 122)의 출력으로부터 SER을 계산하기 위한 로직을 포함할 수 있다. 비트 레벨 에러의 수가 어레이 에러 임계값을 초과하는지의 여부에 대한 결정은, 비교기 회로를 이용하는 것과 같은 임의의 알려진 방안을 이용하여 수행될 수 있다.
어레이 카운트 제어 모듈(123)은 메모리 에러 완화 유닛(130)에게, 비트 레벨 에러의 수가 어레이 에러 임계값을 초과하는지의 여부를 지시해 준다. 그러한 지시는 신호("높은 SER" 신호)의 상태 또는 전이, 또는 임의의 다른 알려진 방안에 근거할 수 있다. 어레이 카운트 제어 모듈(123)이, 어레이 에러 임계값이 초과되었음을 지시한다면, 메모리 에러 완화 유닛(130)은 다양한 알려진 방안들 중 임의의 하나 이상의 방안을 통해 에러 완화를 활성화 또는 증가시킨다. 예를 들어, 메모리 에러 완화 유닛(130)은 메모리 어레이(110)의 스크러빙을 활성화시키거나, 또는 메모리 어레이(110)의 주기적 스크러빙의 빈도를 증가시킬 수 있다.
도 2에 도시된 바와 같이, 본 발명은 메모리 어레이 대신에 에러 검출을 위한 순차 로직을 이용하여 구현될 수도 있다. 도 2는 본 발명의 실시예에 따른 멀티코어 프로세서(200)를 도시한다. 일반적으로, 멀티코어 프로세서는 하나보다 많은 실행 코어를 포함하는 단일의 집적 회로이다. 실행 코어는 인스트럭션을 실행하기 위한 로직을 포함한다. 실행 코어 이외에도, 멀티코어 프로세서는 본 발명의 영역내에서 전용 또는 공유 자원의 임의의 결합을 포함할 수 있다. 전용 자원은, 전용 레벨 1 캐시와 같은 단일 코어에 전용된 자원이거나, 또는 코어들의 임의의 서브셋에 전용된 자원일 수 있다. 공유 자원은, 공유 레벨 2 캐시, 또는 멀티코어 프로세서와 다른 구성요소 사이의 인터페이스를 지원하는 공유 외부 버스 유닛과 같은 모든 코어에 의해 공유된 자원이거나, 또는 코어들의 임의의 서브셋에 의해 공유된 자원일 수 있다.
멀티코어 프로세서(200)는 실행 코어(201) 및 실행 코어(202)를 포함한다. 실행 코어(201)는 스캔 체인(210), 순차 에러 카운트 유닛(220) 및 순차 에러 완화 유닛(230)을 포함한다.
스캔 체인(210)은 데이지 체인 또는 시프트 레지스터 배열과 같은 직렬 배열로 접속된 임의의 수의 스캔 셀일 수 있다. 스캔 셀은 순차 로직의 테스트 및 디버깅을 위해 중복 상태 정보를 제공하도록 많은 집적 회로에 부가되는, 래치 또는 플립플롭과 같은 순차 요소이다. 스캔 셀은 장치로부터 데이터를 순차적으로 시프트하거나 또는 데이터를 장치내로 순차적으로 전달함으로써 장치를 알려진 상태 로 만드는데 이용될 수 있는 체인으로 배열된다. 전형적으로, 스캔 셀은 장치가 공장을 떠나기 전에 디스에이블링된다.
많은 프로세서 설계는 스캔 셀을 포함하며, 많은 것이, 프로세서의 모든 순차적인 상태에 대한 스캔 셀이 존재함을 의미하는 "풀 스캔(full scan)" 능력을 포함한다. 따라서, 프로세서 다이의 커다란 영역, 아마도 대략적으로 프로세서의 순차 회로의 영역 만큼 큰 영역이, 본 발명에 따른 에러 검출을 위해 저비용으로 이용될 수 있다. 에러 검출 능력을 더 증가시키기 위해, 현존하는 스캔 셀 설계는 소프트 에러에 대한 그들의 감도를 증가시키도록 수정될 수 있다. 캐패시턴스를 추가 또는 제거하고, 채널 길이를 증가시키는 것과 같은 이들 설계 수정은, 정상 스캔 동작에 대한 기능을 방해하지 않고서 행해질 수 있으며, 그들이 정상 스캔 동작을 위해 디스에이블링되고 소프트 에러 검출을 위해 인에이블링될 수 있는 방식으로 행해질 수 있다. 따라서, 프로세서 또는 테스트 및 디버깅을 위한 다른 장치상에 포함된 스캔 셀은, 소프트 에러 검출을 위해 추가적으로 또는 대안적으로 구성될 수 있다.
에러 검출은 알려진 데이터 값을 스캔 체인(210)의 입력내로 일정하게 시프트하고, 출력을 관찰함으로써 수행될 수 있다. 에러는 스캔 체인(210)의 출력에 도달하는 상이한 값에 의해 표시될 것이다. 예를 들어, 스캔 체인(210)의 입력은 이진수 0으로 설정될 수 있다. 스캔 체인(210)의 출력에 도달하는 각각의 이진수 1은 1 비트 레벨 에러를 나타낸다. 1로부터 0으로의 전이가 아닌, 0으로부터 1로의 전이를 관찰하는 것은, 0으로부터 1로의 전이가 알파 및 중성자 입자 충돌 둘다 에 의해 초래될 수 있지만, 1로부터 0으로의 전이는 중성자에 의해서만 초래될 수 있는 n-웰 프로세스에서 바람직할 수 있다.
순차 에러 카운트 유닛(220)은 순차 에러 카운터(221) 및 순차 카운트 제어 모듈(223)을 포함한다. 순차 에러 카운터(221)는 카운트 입력, 카운트 출력 및 리셋을 갖는 동기 또는 비동기의 임의의 알려진 카운터 회로일 수 있다. 순차 에러 카운터(221)의 카운트 입력은 스캔 체인(210)의 출력에 연결되어, 순차 에러 카운터(221)의 카운트 출력이, 순차 에러 카운터(221)가 리셋된 이후 스캔 체인(210)에 의해 검출된 비트 레벨 에러의 전체 수를 나타내도록 한다. 이러한 실시예에서, 순차 에러 카운터(221)는 스캔 체인(210)의 각각의 풀 시프트, 즉, 입력에서 주입된 값이 출력에 도달하는데 필요한 클럭 주기의 수 이후에 리셋된다. 다른 실시예에서, 추가적으로 또는 대안적으로, 카운터는 임의의 다른 이벤트 또는 신호에 근거하여 리셋될 수 있다.
이러한 실시예에서, 순차 에러 카운터(221)의 출력은 순차 카운트 제어 모듈(223)에 연결되어, 순차 카운트 제어 모듈(223)이, 순차 에러 카운터(221)가 리셋될 때마다, 풀 스캔당 비트 레벨 에러의 수를 수신하도록 한다. 다른 실시예에서, 비트 레벨 에러의 수는 순차 카운트 제어 모듈(223)에 대해 계속적으로 이용가능하거나, 또는 임의의 다른 이벤트 혹은 신호에 근거하여 순차 카운트 제어 모듈(223)로 송신될 수 있다.
또한, 순차 카운트 제어 모듈(223)은 순차 에러 임계값을 유지하도록 프로그래밍될 수 있는 순차 에러 임계값 레지스터(224)를 포함한다. 다른 실시예에서, 어레이 에러 임계값은 고정될 수 있다. 비트 레벨 에러의 수가 순차 에러 임계값을 초과한다면, 에러 완화가 활성화되거나 또는 증가된다. 적절한 순차 에러 임계값은 스캔 체인(210)에서의 스캔 셀의 수에 근거하여 선택될 수 있다. 다른 실시예는 부분적 또는 풀 스캔의 수를 카운트하기 위한 스캔 카운터, 및 에러 카운터 및 스캔 카운터의 출력으로부터 SER을 계산하기 위한 로직을 포함할 수 있다. 비트 레벨 에러의 수가 순차 에러 임계값을 초과하는지의 여부에 대한 결정은 비교기 회로를 이용하는 것과 같은 임의의 알려진 방안을 이용하여 수행될 수 있다.
순차 카운트 제어 모듈(223)은 순차 에러 완화 유닛(230)에게, 비트 레벨 에러의 수가 순차 에러 임계값을 초과하는지의 여부를 지시해 준다. 그러한 지시는 높은 SER 신호의 상태 또는 전이, 또는 임의의 다른 알려진 방안에 근거할 수 있다. 순차 카운트 제어 모듈(223)이, 순차 에러 임계값이 초과되었음을 지시한다면, 순차 에러 완화 유닛(230)은 다양한 알려진 방안들 중 임의의 하나 이상의 방안을 통해 에러 완화를 활성화 또는 증가시킨다. 예를 들어, 순차 에러 완화 유닛(230)은 실행 코어(201)와 함께 록스텝 방식으로 실행하도록 실행 코어(202)를 활성화할 수 있다.
또한, 본 발명은 메모리 어레이, 스캔 체인, 또는 비트 레벨 에러가 검출될 수 있는 상태 요소를 갖는 임의의 다른 구조의 임의의 결합을 이용한 장치에서 구현될 수 있다. 예를 들어, 프로세서는 각각 그 자신의 대응하는 에러 카운트 및 완화 유닛을 갖는 둘 이상의 메모리 어레이, 또는 각각 그 자신의 대응하는 스캔 체인 및 에러 카운트 및 완화 유닛을 갖는 둘 이상의 실행 코어를 포함할 수 있다. 각각의 에러 카운트 유닛은 프로세스 및 구성적 취약성과 같은 요인을 고려하도록 조정될 임계값을 제공하기 위해, 하나 이상의 임계값 레지스터를 포함할 수 있다. 임계값 레지스터는 임계값의 조정을 허용하도록 프로그래밍될 수 있다.
몇몇 실시예에서, 단일 에러 카운트 유닛이 상이한 소스 및 유형의 에러에 대한 다수의 카운터를 포함할 수 있고/있거나, 다수의 에러 카운트 유닛으로부터의 높은 SER 신호들이, 어떤 유형의, 그리고 어떤 레벨의 에러 완화가 활성화될지를 결정하도록 함께 처리될 수 있다. 그러한 일실시예에서, 높은 SER 신호들은 함께 OR될 수 있다. 예를 들어, 에러 완화는, 어레이 에러 임계값 및 순차 에러 임계값 중 하나 또는 둘다가 초과되는 경우에 활성화될 수 있다. 그러한 다른 실시예에서, 에러 임계값이 초과되었는지에 대한 결정은 하나보다 많은 카운터로부터의 에러 카운트의 결합에 근거할 수 있다. 카운트는 함께 직접적으로 더해지거나, 또는 하나의 카운트가 다른 카운트보다 무겁게 가중화될 수 있는데, 그 이유는, 한 가지 유형 또는 소스의 에러가 보다 큰 신뢰도 관계를 나타내기 때문이다. 본 발명의 영역내에서, 다른 특정한 높은 SER 신호를 부정하거나 또는 무시하기 위해 하나의 특정한 높은 SER 신호를 제공하는 것과 같이, 에러 카운트 및/또는 높은 SER 신호를 처리하는 다른 형태가 또한 가능하다.
임의의 이들 또는 임의의 다른 실시예에서, 높은 SER 신호의 소스 및/또는 처리에 따라, 다양한 레벨 또는 유형의 에러 완화가 활성화 또는 증가될 수 있다. 예를 들어, 캐시 및 순차 로직 모두에 대한 에러 검출을 갖는 실시예에서, 단지 캐시로부터의 높은 SER 신호는 캐시 스크러빙을 활성화시킬 수 있고, 단지 순차 로 직으로부터의 높은 SER 신호는 록스텝핑을 활성화할 수 있으며, 둘 모두로부터의 높은 SER 신호는 동작 전압에서의 증가를 활성화할 수 있다.
더욱이, 실시예들은 단일 에러 카운트 유닛에 대한 다수의 에러 임계값을 포함하여, 에러 완화의 유형 또는 레벨이, SER의 검출된 크기에 따라 선택되도록 할 수 있다. 그러한 일실시예에서, 에러 완화의 다수의 계층이 이용가능할 수 있으며, 예를 들어, 어느 에러 임계값이 초과되었는지에 근거하여, 상이한 높은 SER 신호가, 어느 계층의 에러 완화를 선택할지를 나타내는데 이용될 수 있다. 이들 계층은 캐시 스크러빙의 빈도를 변화시키는 것과 같은 단일 기법의 상이한 레벨들에 의해 구별되거나, 또는 하나의 계층에서의 캐시 스크러빙 및 다른 계층에서의 동작 전압 증가와 같은 상이한 기법을 이용하여 구별될 수 있다. 하나 이상의 계층에서, 하나 이상의 에러 완화 기법이 비활성화되거나 또는 오프 상태로 될 수 있다. 각각의 다른 계층에서, 동일한 에러 완화가 단일 혹은 다수의 레벨들 중 하나에서 온(on)되거나 또는 활성화될 수 있다.
본 발명의 실시예는 상기한 것들의 임의의 결합을 포함할 수 있다. 소정의 실시예는 각각 다수의 에러 임계값을 갖는 다수의 에러 카운터, 및 높은 SER 신호의 처리에 근거하여 선택되는 다수 계층의 에러 완화를 포함할 수 있다. 처리는 소정의 유형 또는 소스의 에러에 보다 많은 가중치를 제공하도록 수행될 수 있다. 예를 들어, 큰 메모리로부터의 높은 SER 신호가 어서트되거나, 또는 2개의 보다 작은 어레이로부터의 두 개의 높은 SER 신호가 어서트되는 경우, 소정의 계층의 에러 완화로 진입할 수 있다. 다른 예로서, 스캔 체인으로부터의 높은 SER 신호가 어서트되는 경우 소정의 계층의 에러 완화로 진입할 수 있으며, 메모리 어레이로부터의 높은 SER 신호가 어서트되는 경우 보다 높은 레벨 또는 계층의 에러 완화로 진입할 수 있는데, 그 이유는, 메모리 어레이는 스캔 체인보다 다이 영역의 보다 큰 부분을 나타내기 때문이다.
몇몇 실시예에서, 높은 SER 신호의 타이밍, 카운터 출력 및 다른 신호는 중요하지 않은데, 그 이유는, 짧은 충돌이 아닌 높은 SER의 유지 기간을 검출하는 것이 목적일 수 있기 때문이다. 따라서, 신호는 파이프라이닝 또는 지연될 수 있으며, 상이한 유닛으로부터 상이한 시간에 도달할 수 있다. 또한, 높은 SER 신호에서의 이력(hysteresis)이 요망될 수 있고/있거나, 에러 완화 모드들 사이의 과다 상태(thrashing)을 피하기 위해 에러 완화를 활성화, 증가, 비활성화, 또는 감소하기 전에 에러 검출의 몇 번의 반복이 수행될 수 있다.
도 3은 본 발명의 실시예에 따른 시스템(300)을 도시한다. 시스템(300)은 프로세서(310), 시스템 제어기(320), 영구 메모리(330) 및 시스템 메모리(340)를 포함한다. 프로세서(310)는 기능 유닛(311) 및 에러 카운트 제어 유닛(312)을 포함하는, 전술한 바와 같은 임의의 프로세서일 수 있다. 기능 유닛(311)은 메모리 어레이, 순차 로직, 또는 비트 레벨 에러가 검출될 수 있는 상태 요소를 갖는 임의의 다른 구조를 포함한다. 에러 카운트 제어 유닛(312)은 기능 유닛(311)에서의 비트 레벨 에러의 수를 카운트하고, 기능 유닛(311)에서의 비트 레벨 에러의 수가 에러 임계값을 초과하는지의 여부를 나타낸다. 이러한 실시예에서, 에러 카운트 제어 유닛(312)은, 기능 유닛(311)에서의 비트 레벨 에러의 수가 에러 임계값을 초 과하는 경우, 높은 SER 신호(313)를 어서트한다.
시스템 제어기(320)는 높은 SER 신호(313)를 수신하도록 프로세서(310)에 연결된 임의의 칩셋 소자 또는 다른 소자일 수 있다. 이러한 실시예에서, 높은 SER 신호(313)가 어서트되면, 시스템 제어기(320)는 에러 완화를 활성화 또는 증가시킨다. 예를 들어, 시스템 제어기(320)는 소프트 에러를 완화시키기 위해 시스템, 프로세서 또는 다른 전압 레벨을 상승시킬 수 있는 전압 제어기를 포함하거나 또는 그러한 전압 제어기에 연결될 수 있다.
또한, 시스템 제어기(320)는 높은 SER 신호(313)의 상태를 저장하거나, 또는 그렇지 않은 경우 검출된 SER에 관한 정보를 유지하기 위한 영구 메모리(330)를 포함하거나 또는 그러한 영구 메모리에 연결될 수 있다. 영구 메모리(330)는 시스템(300) 또는 프로세서(310)가 오프 또는 다른 비활성화 상태에 있는 동안 정보를 유지할 수 있는 임의의 메모리일 수 있다. 예를 들어, 영구 메모리(330)는 플래시 메모리 또는 비휘발성 또는 배터리 백킹된(battery backed) RAM일 수 있다. 따라서, 소프트 에러 또는 다른 것으로 인한 시스템(300) 충돌의 경우, 시스템 제어기(320)는 재부팅시에 영구 메모리(330)를 판독하여, 가장 최근에 검출된 SER이 하이(high)였는지를 결정하고, 만약 그렇다면, 활성화된 에러 완화로 시스템(300)을 재부팅할 수 있다.
시스템 메모리(340)는 정적 또는 동적 RAM, 또는 자기 또는 광학 디스크 메모리와 같은 임의의 유형의 메모리일 수 있다. 시스템 메모리(340)는 프로세서(320)에 의해 실행될 인스트럭션 및 프로세서(320)에 의해 동작될 데이터, 또는 오퍼레이팅 시스템 소프트웨어, 애플리케이션 소프트웨어 또는 사용자 데이터와 같은 임의의 형태의 임의의 정보를 저장하는데 이용될 수 있다.
프로세서(310), 시스템 제어기(320), 영구 메모리(330) 및 시스템 메모리(340)는 임의의 배열로 서로 연결되고, 임의의 결합 버스, 또는 직접 혹은 지점간 접속과 연결되고, 임의의 다른 구성요소를 통해 연결될 수 있다. 또한, 시스템(300)은 도 3에 도시되지 않은, 주변 버스와 같은 임의의 버스, 또는 입/출력 장치와 같은 구성요소를 포함할 수 있다.
도 4는 비트 레벨 에러 카운트에 근거하여 에러 완화를 선택적으로 활성화하는 방법에서의 본 발명의 실시예를 도시한다. 도 4의 실시예에서, 에러 완화는 하이 또는 로우인 2개의 모드들 중 하나에 있을 수 있다. 하이 모드는 온 모드일 수 있고, 로우 모드는 오프 모드일 수 있으며, 또는, 에러 완화는 두 모드에서 온일 수 있지만 로우 모드보다는 하이 모드에서 보다 높은 레벨 또는 빈도로 동작한다. 도 4의 실시예에서의 에러 완화는 임의의 알려진 방안을 포함할 수 있다. 예를 들어, 하이 모드는 캐시 스크러빙, 록스텝 방식으로 둘 이상의 프로세서 코어를 실행, 또는 보다 높은 두 동작 전압에서의 장치 또는 장치의 일부분의 실행을 포함할 수 있다. 로우 모드는 보다 낮은 빈도의 캐시 스크러빙 또는 비동작, 록스텝이 아닌 방식으로 단독 또는 둘 이상의 단일 프로세서 코어를 실행, 또는 보다 낮은 두 동작 전압에서의 장치의 실행을 포함할 수 있다.
박스(410)에서, 프로세서 또는 다른 장치에서의 기능 블록에 대해 반복 한계 레지스터내로 반복 한계가 프로그래밍된다. 기능 블록은 메모리 어레이, 순차 로 직, 또는 상태 요소를 갖는 임의의 다른 구조를 포함한다. 반복 한계는 기능 블록에서의 상태 요소의 수, 크기, 영역, 구성, 아키텍쳐, 또는 기능 블록의 기능, 장치를 제조하는데 이용된 프로세스 기법, 장치의 이용을 위해 예측되는 용도 또는 환경, 또는 임의의 다른 요인에 근거할 수 있다.
박스(411)에서, 에러 임계값이 기능 블록에 대한 에러 임계값 레지스터내로 프로그래밍된다. 에러 임계값은 반복 한계와 동일한 요인들에 더하여, 반복 한계 그 자체와 같은 추가적인 요인들, 및 예상되는 SER에 근거할 수 있다.
박스(420)에서, 기능 블록이 이용중인 동안 이벤트의 반복 횟수가 카운트된다. 이벤트는 에러 레이트의 계산시에 분모(denominator)로서 카운트될 수 있는 임의의 이벤트일 수 있다. 예를 들어, 이벤트는 메모리 어레이에 대한 판독 액세스, 또는 스캔 체인의 풀 스캔일 수 있다. 반복의 횟수는 임의의 유형의 카운터를 이용하여 카운트될 수 있다.
박스(421)에서, 기능 블록이 이용중인 동안 상태 요소에서의 비트 레벨 에러의 수가 카운트된다. 비트 레벨 에러는 메모리 어레이에 대한 패리티, 또는 알려진 값을 스캔 체인의 입력으로 주입 및 순차 로직에 대한 출력을 관측하는 것 같은 임의의 알려진 기법을 이용하여 검출될 수 있다. 비트 레벨 에러의 수는 임의의 유형의 카운터를 이용하여 카운트될 수 있다.
박스(430)에서, 박스(420)에서 카운트된 반복의 수가 반복 한계에 도달했는지의 여부에 대한 결정이 행해진다. 그러한 결정은 반복 카운터 출력의 특정 비트에 근거하거나, 또는 반복 카운터 출력을 반복 한계 레지스터의 내용과 비교하는 것과 같은 임의의 알려진 방안에 따라 행해질 수 있다. 반복의 수가 반복 한계에 도달하는 경우, 방법은 박스(431)로 계속된다. 그 때까지, 방법은 박스(420)로 계속된다.
박스(431)에서, 박스(421)에서 카운트된 에러의 수가 에러 임계값을 초과하는지의 여부에 대한 결정이 행해진다. 그러한 결정은 에러 카운터 출력을 에러 임계값 레지스터의 내용과 비교하는 것과 같은 임의의 알려진 방안에 따라 행해질 수 있다. 카운트된 에러의 수가 임계값을 초과하는 경우, 방법은 박스(440)로 계속된다. 만약 그렇지 않다면, 방법은 박스(441)로 계속된다.
박스(440, 441)에서, 에러 완화가 하이 모드 또는 로우 모드인지의 여부에 대한 결정이 행해진다. 로우 모드에서는, 방법은 박스(440)로부터 박스(450)로, 또는 박스(441)로부터 박스(460)로 계속된다. 하이 모드에서는, 방법은 박스(440)로부터 박스(460)로, 또는 박스(441)로부터 박스(451)로 계속된다.
박스(450)에서, 에러 완화는 로우 모드로부터 하이 모드로 활성화 또는 증가된다. 박스(451)에서, 에러 완화는 하이 모드로부터 로우 모드로 비활성화 또는 감소된다. 박스(450, 451)로부터, 방법은 박스(460)로 계속된다. 박스(460)에서, 반복 및 에러 카운트가 리셋된다. 박스(460)로부터, 방법은 박스(420)로 복귀된다.
본 발명의 영역내에서, 도 4에 도시된 방법은 상이한 순서로, 도시된 단계들이 생략되고, 추가적인 단계들이 부가되거나, 또는 재순서화되고, 생략되거나 추가적인 단계들의 결합으로 수행될 수 있다. 예를 들어, 박스(410) 및 반복 카운트 에 대한 모든 참조는, 스캔 체인을 통한 단일의 풀 시프트에 근거하여 에러 카운트가 임계값과 비교되는 실시예에서 생략될 수 있다. 다른 예로서, 에러 완화가 하이 모드 또는 로우 모드에 있는지의 여부에 대한 결정은, 하이 모드로 유지되는 구현과 로우 모드로부터 하이 모드로 진행하는 구현 사이에 차이가 없는 실시예에서 생략될 수 있다. 더욱이, 본 발명은 에러 완화를 활성화할지의 여부에 대한 결정이, 하나보다 많은 기능 유닛으로부터의 하나보다 많은 에러 카운트에 근거할 수 있는 방법에서, 및 두 개보다 많은 에러 완화 모드를 포함하는 방법에서 구현될 수 있다.
프로세서(100), 프로세서(200), 또는 본 발명의 실시예에 따라 설계된 임의의 다른 구성요소 또는 구성요소의 부분은, 생성으로부터 시뮬레이션과 제조까지의 다양한 단계들에서 설계될 수 있다. 설계를 나타내는 데이터는 다수의 방법으로 설계를 나타낼 수 있다. 첫째, 시뮬레이션에서 유용한 바와 같이, 하드웨어는 하드웨어 서술 언어 또는 다른 기능 서술 언어를 이용하여 표현될 수 있다. 추가적으로 또는 대안적으로, 로직 및/또는 트랜지스터 게이트를 갖는 회로 레벨 모델은 설계 프로세스의 소정의 단계에서 생성될 수 있다. 더욱이, 대부분의 설계는, 소정의 단계에서, 그러한 설계가 다양한 장치의 물리적 배치를 나타내는 데이터로 모델링될 수 있는 레벨에 도달한다. 종래의 반도체 제조 기법이 이용되는 경우, 장치 배치 모델을 나타내는 데이터는, 집적 회로를 생성하는데 이용된 마스크에 대한 상이한 마스크 층상의 다양한 피쳐의 존재 또는 부재를 특정하는 데이터일 수 있다.
임의의 설계 표현에서, 데이터는 임의의 형태의 기계-판독가능 매체에 저장될 수 있다. 변조되거나 또는 그러한 정보를 송신하기 위해 생성된 광학 또는 전기적 파, 메모리, 또는 디스크와 같은 자기 또는 광학 저장 매체는 기계-판독가능 매체일 수 있다. 이들 매체 중 임의의 매체는 설계, 또는 본 발명의 실시예에서 이용된, 에러 복원 루틴에서의 인스트럭션과 같은 다른 정보를 "운반(carry)" 또는 "표시(indicate)"할 수 있다. 정보를 표시 또는 운반하는 전기적 캐리어 파가, 전기 신호의 복제, 버퍼링 또는 재송신이 수행되도록 송신될 때, 새로운 카피가 만들어진다. 따라서, 통신 제공자 또는 네트워크 제공자의 작용은, 본 발명의 기법을 구현하는 물품, 예를 들면, 캐리어 파의 카피를 만드는 작용일 수 있다.
따라서, 비트 레벨 에러 카운트에 근거한 에러 완화의 선택적 활성화가 개시되었다. 소정의 실시예들이 기술되고, 첨부 도면에서 도시되었지만, 그러한 실시예들은 단지 예시적인 것일 뿐, 본 발명을 제한하는 것은 아님을 이해할 것이며, 당업자라면 그러한 개시 내용으로부터 다양한 다른 변경이 가능함을 알 것이므로, 본 발명은 도시되고 기술된 특정 구성 및 배열에 한정되지 않음을 이해할 것이다. 예를 들어, 에러 완화를 증가시키는 것은 에러 완화를 오프 모드로부터 온 모드로 증가시키는 것을 포함할 수 있으며, 에러 카운트가 에러 임계값을 초과할 때 에러 완화를 증가시키는 것은 에러 카운트가 에러 임계값과 동일하거나 그것을 초과할 때 에러 완화를 증가시키는 것을 포함할 수 있다.
성장이 빠르고, 다른 진보가 쉽게 예측되지 않는 이와 같은 기술의 영역에서, 개시된 실시예들은 본 발명의 개시 내용의 원리 또는 첨부된 특허 청구 범위의 영역을 벗어나지 않고서도 기술적인 진보가 가능하게 함으로써 용이해지는 바와 같이 구성 및 세부사항에 있어서 쉽게 변형될 수 있다.

Claims (25)

  1. 복수의 상태 요소와,
    상기 복수의 상태 요소에서의 비트 레벨 에러의 수를 카운트하는 에러 카운터와,
    상기 비트 레벨 에러가 임계값을 초과하는 경우, 에러 완화를 증가시키는 활성화 로직을 포함하는 장치.
  2. 제 1 항에 있어서,
    상기 활성화 로직은 에러 완화를 오프 모드로부터 온 모드로 증가시키는 장치.
  3. 제 1 항에 있어서,
    상기 임계값을 저장하는 프로그래밍가능 레지스터를 더 포함하는 장치.
  4. 제 1 항에 있어서,
    상기 복수의 상태 요소는 메모리 셀 어레이를 포함하는 장치.
  5. 제 4 항에 있어서,
    상기 메모리 셀 어레이에 대한 액세스를 카운트하는 액세스 카운터를 더 포 함하는 장치.
  6. 제 5 항에 있어서,
    상기 에러 카운터는 상기 메모리 셀 어레이에 대한 액세스의 수에 근거하여 리셋되는 장치.
  7. 제 6 항에 있어서,
    상기 에러 카운터는 또한 시간에 근거하여 리셋되는 장치.
  8. 제 4 항에 있어서,
    상기 메모리 셀 어레이에서의 비트 레벨 에러를 검출하는 에러 검출 로직을 더 포함하는 장치.
  9. 제 6 항에 있어서,
    상기 에러 검출 로직은 패리티 검사 로직을 포함하는 장치.
  10. 제 4 항에 있어서,
    상기 활성화 로직은 상기 메모리 셀 어레이의 스크러빙(scrubbing)을 증가시키는 장치.
  11. 제 1 항에 있어서,
    상기 복수의 상태 요소는 복수의 스캔 셀을 포함하는 장치.
  12. 제 11 항에 있어서,
    상기 복수의 스캔 셀은 소프트 에러 검출을 위해 구성되는 장치.
  13. 제 11 항에 있어서,
    상기 복수의 스캔 셀은 스캔 체인으로 배열되는 장치.
  14. 제 13 항에 있어서,
    상기 에러 카운터는 상기 스캔 체인을 통한 풀 시프트(full shift)에 근거하여 리셋되는 장치.
  15. 복수의 실행 코어―제 1 복수의 실행 코어가 복수의 상태 요소를 포함함―와,
    상기 복수의 상태 요소에서의 비트 레벨 에러의 수를 카운트하는 에러 카운터와,
    상기 비트 레벨 에러의 수가 임계값을 초과하는 경우, 상기 제 1 및 제 2 복수의 실행 코어의 록스텝핑(lockstepping)을 활성화하는 활성화 로직을 포함하는 장치.
  16. 복수의 상태 요소에서의 비트 레벨 에러의 수를 카운트하는 단계와,
    상기 비트 레벨 에러의 수가 임계값을 초과하는 경우, 에러 완화를 증가시키는 단계를 포함하는 방법.
  17. 제 16 항에 있어서,
    상기 에러 완화를 증가시키는 단계는 에러 완화를 오프 모드로부터 온 모드로 증가시키는 단계를 포함하는 방법.
  18. 제 16 항에 있어서,
    프로그래밍가능 레지스터에 상기 임계값을 저장하는 단계를 더 포함하는 방법.
  19. 제 16 항에 있어서,
    상기 복수의 상태 요소는 메모리 셀 어레이를 포함하고,
    상기 방법은,
    상기 메모리 셀 어레이에 대한 액세스의 수를 카운트하는 단계와,
    상기 메모리 셀 어레이에 대한 액세스의 수에 근거하여, 비트 레벨 에러의 수의 카운트를 리셋하는 단계를 더 포함하는 방법.
  20. 제 19 항에 있어서,
    상기 에러 완화를 증가시키는 단계는 상기 메모리 셀 어레이의 스크러빙을 증가시키는 단계를 포함하는 방법.
  21. 제 16 항에 있어서,
    상기 복수의 상태 요소는 스캔 셀의 체인을 포함하고,
    상기 방법은,
    상기 스캔 셀의 체인을 통한 풀 시프트 이후에 비트 레벨 에러의 수의 카운트를 리셋하는 단계를 더 포함하는 방법.
  22. 복수의 상태 요소와, 상기 복수의 상태 요소에서의 비트 레벨 에러의 수를 카운트하는 에러 카운터와, 상기 비트 레벨 에러의 수가 임계값을 초과하는지의 여부를 나타내는 제어 로직을 포함하는 프로세서와,
    상기 제어 로직이, 상기 비트 레벨 에러의 수가 상기 임계값을 초과함을 나타내는 경우, 에러 완화를 증가시키는 시스템 제어기를 포함하는 시스템.
  23. 제 22 항에 있어서,
    상기 활성화 로직은 에러 완화를 오프 모드로부터 온 모드로 증가시키는 시스템.
  24. 제 22 항에 있어서,
    상기 비트 레벨 에러의 수가 상기 임계값을 초과하는지의 여부에 대한 표시를 저장하는 영구 메모리를 더 포함하는 시스템.
  25. DRAM(dynamic random access memory)과,
    복수의 상태 요소와, 상기 복수의 상태 요소에서의 비트 레벨 에러의 수를 카운트하는 에러 카운터와, 상기 비트 레벨 에러의 수가 임계값을 초과하는지의 여부를 나타내는 제어 로직을 포함하는 프로세서와,
    상기 제어 로직이, 상기 비트 레벨 에러의 수가 상기 임계값을 초과함을 나타내는 경우, 에러 완화를 증가시키는 활성화 로직을 포함하는 시스템.
KR1020077029038A 2005-06-13 2006-06-13 에러 완화를 위한 장치, 방법 및 시스템 KR100954730B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/151,818 2005-06-13
US11/151,818 US20070011513A1 (en) 2005-06-13 2005-06-13 Selective activation of error mitigation based on bit level error count

Publications (2)

Publication Number Publication Date
KR20080011228A true KR20080011228A (ko) 2008-01-31
KR100954730B1 KR100954730B1 (ko) 2010-04-23

Family

ID=37192294

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077029038A KR100954730B1 (ko) 2005-06-13 2006-06-13 에러 완화를 위한 장치, 방법 및 시스템

Country Status (6)

Country Link
US (1) US20070011513A1 (ko)
JP (1) JP2008546123A (ko)
KR (1) KR100954730B1 (ko)
CN (1) CN101198935B (ko)
DE (1) DE112006001233T5 (ko)
WO (1) WO2006135937A2 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100109445A (ko) * 2009-03-30 2010-10-08 가부시끼가이샤 도시바 메모리 컨트롤러 및 반도체 기억 장치
US8499206B2 (en) 2010-03-04 2013-07-30 Samsung Electronics Co., Ltd. Memory system and method for preventing system hang
KR20150144714A (ko) * 2014-06-17 2015-12-28 에이알엠 리미티드 저장 데이터 값의 에러 검출
KR20150144715A (ko) * 2014-06-17 2015-12-28 에이알엠 리미티드 저장 데이터 값의 에러 검출

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7581152B2 (en) * 2004-12-22 2009-08-25 Intel Corporation Fault free store data path for software implementation of redundant multithreading environments
JP4944518B2 (ja) * 2006-05-26 2012-06-06 富士通セミコンダクター株式会社 タスク遷移図表示方法及び表示装置
US8260035B2 (en) * 2006-09-22 2012-09-04 Kla-Tencor Corporation Threshold determination in an inspection system
US8122323B2 (en) * 2007-03-08 2012-02-21 Intel Corporation Method, apparatus, and system for dynamic ECC code rate adjustment
JP5265883B2 (ja) * 2007-05-24 2013-08-14 株式会社メガチップス メモリアクセスシステム
US8327245B2 (en) 2007-11-21 2012-12-04 Micron Technology, Inc. Memory controller supporting rate-compatible punctured codes
US8271515B2 (en) * 2008-01-29 2012-09-18 Cadence Design Systems, Inc. System and method for providing copyback data integrity in a non-volatile memory system
US7849387B2 (en) * 2008-04-23 2010-12-07 Intel Corporation Detecting architectural vulnerability of processor resources
US7937625B2 (en) * 2008-09-26 2011-05-03 Microsoft Corporation Evaluating effectiveness of memory management techniques selectively using mitigations to reduce errors
KR20100102925A (ko) * 2009-03-12 2010-09-27 삼성전자주식회사 리드 리클레임 신호를 발생하는 불휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
US9170879B2 (en) * 2009-06-24 2015-10-27 Headway Technologies, Inc. Method and apparatus for scrubbing accumulated data errors from a memory system
JP5198375B2 (ja) * 2009-07-15 2013-05-15 株式会社日立製作所 測定装置及び測定方法
US8448027B2 (en) * 2010-05-27 2013-05-21 International Business Machines Corporation Energy-efficient failure detection and masking
US8549379B2 (en) * 2010-11-19 2013-10-01 Xilinx, Inc. Classifying a criticality of a soft error and mitigating the soft error based on the criticality
US8719647B2 (en) * 2011-12-15 2014-05-06 Micron Technology, Inc. Read bias management to reduce read errors for phase change memory
US9141451B2 (en) 2013-01-08 2015-09-22 Freescale Semiconductor, Inc. Memory having improved reliability for certain data types
US9081719B2 (en) 2012-08-17 2015-07-14 Freescale Semiconductor, Inc. Selective memory scrubbing based on data type
US9081693B2 (en) 2012-08-17 2015-07-14 Freescale Semiconductor, Inc. Data type dependent memory scrubbing
US9141552B2 (en) 2012-08-17 2015-09-22 Freescale Semiconductor, Inc. Memory using voltage to improve reliability for certain data types
US9548135B2 (en) * 2013-03-11 2017-01-17 Macronix International Co., Ltd. Method and apparatus for determining status element total with sequentially coupled counting status circuits
US9280412B2 (en) * 2013-03-12 2016-03-08 Macronix International Co., Ltd. Memory with error correction configured to prevent overcorrection
WO2014142852A1 (en) 2013-03-13 2014-09-18 Intel Corporation Vulnerability estimation for cache memory
US9032261B2 (en) * 2013-04-24 2015-05-12 Skymedi Corporation System and method of enhancing data reliability
WO2015059804A1 (ja) * 2013-10-24 2015-04-30 株式会社日立製作所 ストレージシステムおよびその制御方法
US20150169441A1 (en) * 2015-02-25 2015-06-18 Caterpillar Inc. Method of managing data of an electronic control module of a machine
US9823962B2 (en) 2015-04-22 2017-11-21 Nxp Usa, Inc. Soft error detection in a memory system
US10013192B2 (en) 2016-08-17 2018-07-03 Nxp Usa, Inc. Soft error detection in a memory system
KR102393427B1 (ko) 2017-12-19 2022-05-03 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
US10866280B2 (en) 2019-04-01 2020-12-15 Texas Instruments Incorporated Scan chain self-testing of lockstep cores on reset
KR20230072336A (ko) 2021-11-17 2023-05-24 에스케이하이닉스 주식회사 반도체장치
US11720444B1 (en) * 2021-12-10 2023-08-08 Amazon Technologies, Inc. Increasing of cache reliability lifetime through dynamic invalidation and deactivation of problematic cache lines

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3341628A1 (de) * 1983-11-17 1985-05-30 Polygram Gmbh, 2000 Hamburg Geraeteanordnung zur fehlerermittlung bei plattenfoermigen informationstraegern
US5218691A (en) * 1988-07-26 1993-06-08 Disk Emulation Systems, Inc. Disk emulation system
US5838894A (en) * 1992-12-17 1998-11-17 Tandem Computers Incorporated Logical, fail-functional, dual central processor units formed from three processor units
JPH07177130A (ja) * 1993-12-21 1995-07-14 Fujitsu Ltd エラーカウント回路
US5974576A (en) * 1996-05-10 1999-10-26 Sun Microsystems, Inc. On-line memory monitoring system and methods
GB2329805B (en) * 1996-05-15 2000-09-20 Seagate Technology Read error recovery utilizing ECC and read channel quality indicators
JPH10312340A (ja) * 1997-05-12 1998-11-24 Kofu Nippon Denki Kk 半導体記憶装置におけるエラー検出,訂正方式
US7111290B1 (en) * 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US6560725B1 (en) * 1999-06-18 2003-05-06 Madrone Solutions, Inc. Method for apparatus for tracking errors in a memory system
US6615366B1 (en) * 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode
JP2001325155A (ja) * 2000-05-18 2001-11-22 Nec Eng Ltd データ記憶装置の誤り訂正方法
US20030023922A1 (en) * 2001-07-25 2003-01-30 Davis James A. Fault tolerant magnetoresistive solid-state storage device
JP2004152194A (ja) * 2002-10-31 2004-05-27 Ricoh Co Ltd メモリデータ保護方法
JP2004186856A (ja) * 2002-12-02 2004-07-02 Pioneer Electronic Corp 誤り訂正方法、装置及びプログラム
US7080305B2 (en) * 2002-12-23 2006-07-18 Sun Microsystems, Inc. System and method for correcting data errors
JP4073799B2 (ja) * 2003-02-07 2008-04-09 株式会社ルネサステクノロジ メモリシステム
US6704230B1 (en) * 2003-06-12 2004-03-09 International Business Machines Corporation Error detection and correction method and apparatus in a magnetoresistive random access memory
WO2005003962A2 (de) * 2003-06-24 2005-01-13 Robert Bosch Gmbh Verfahren zur umschaltung zwischen wenigstens zwei betriebsmodi einer prozessoreinheit sowie entsprechende prozessoreinheit
US7370260B2 (en) * 2003-12-16 2008-05-06 Freescale Semiconductor, Inc. MRAM having error correction code circuitry and method therefor
US7210077B2 (en) * 2004-01-29 2007-04-24 Hewlett-Packard Development Company, L.P. System and method for configuring a solid-state storage device with error correction coding
US20060075296A1 (en) * 2004-09-30 2006-04-06 Menon Sankaran M Method, apparatus and system for data integrity of state retentive elements under low power modes

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100109445A (ko) * 2009-03-30 2010-10-08 가부시끼가이샤 도시바 메모리 컨트롤러 및 반도체 기억 장치
US8499206B2 (en) 2010-03-04 2013-07-30 Samsung Electronics Co., Ltd. Memory system and method for preventing system hang
KR20150144714A (ko) * 2014-06-17 2015-12-28 에이알엠 리미티드 저장 데이터 값의 에러 검출
KR20150144715A (ko) * 2014-06-17 2015-12-28 에이알엠 리미티드 저장 데이터 값의 에러 검출

Also Published As

Publication number Publication date
KR100954730B1 (ko) 2010-04-23
CN101198935A (zh) 2008-06-11
DE112006001233T5 (de) 2008-04-17
CN101198935B (zh) 2012-11-07
JP2008546123A (ja) 2008-12-18
US20070011513A1 (en) 2007-01-11
WO2006135937A3 (en) 2007-02-15
WO2006135937A2 (en) 2006-12-21

Similar Documents

Publication Publication Date Title
KR100954730B1 (ko) 에러 완화를 위한 장치, 방법 및 시스템
US8397130B2 (en) Circuits and methods for detection of soft errors in cache memories
US8171386B2 (en) Single event upset error detection within sequential storage circuitry of an integrated circuit
Stoddard et al. A hybrid approach to FPGA configuration scrubbing
US8185812B2 (en) Single event upset error detection within an integrated circuit
US8161367B2 (en) Correction of single event upset error within sequential storage circuitry of an integrated circuit
Mitra et al. The resilience wall: Cross-layer solution strategies
Valadimas et al. Timing error tolerance in nanometer ICs
Leem et al. Cross-layer error resilience for robust systems
Andjelkovic et al. A review of particle detectors for space-borne self-adaptive fault-tolerant systems
Valadimas et al. Timing error tolerance in small core designs for SoC applications
Valadimas et al. Cost and power efficient timing error tolerance in flip-flop based microprocessor cores
US9264021B1 (en) Multi-bit flip-flop with enhanced fault detection
Palframan et al. Time redundant parity for low-cost transient error detection
Wei et al. A novel scheme for tolerating single event/multiple bit upsets (SEU/MBU) in non-volatile memories
US8890083B2 (en) Soft error detection
Hua et al. Low area, low power, robust, highly sensitive error detecting latch for resilient architectures
Neto et al. Evaluating fault coverage of bulk built-in current sensor for soft errors in combinational and sequential logic
US8239801B2 (en) Architecturally independent noise sensitivity analysis of integrated circuits having a memory storage device and a noise sensitivity analyzer
Floros et al. The time dilation scan architecture for timing error detection and correction
Lu et al. Architectural-level error-tolerant techniques for low supply voltage cache operation
Nunes et al. Evaluating xilinx SEU controller macro for fault injection
Liu et al. Recent advances on reliability of FPGAs in a radiation environment
Hosseinabady et al. Single-event upset analysis and protection in high speed circuits
Gong et al. An Error-Free 64KB ReRAM-Based nvSRAM Integrated to a Microcontroller Unit Supporting Real-Time Program Storage and Restoration

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
FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee