KR102283686B1 - 저장 데이터 값의 에러 검출 - Google Patents

저장 데이터 값의 에러 검출 Download PDF

Info

Publication number
KR102283686B1
KR102283686B1 KR1020150085225A KR20150085225A KR102283686B1 KR 102283686 B1 KR102283686 B1 KR 102283686B1 KR 1020150085225 A KR1020150085225 A KR 1020150085225A KR 20150085225 A KR20150085225 A KR 20150085225A KR 102283686 B1 KR102283686 B1 KR 102283686B1
Authority
KR
South Korea
Prior art keywords
parity
data
value
storage units
logic
Prior art date
Application number
KR1020150085225A
Other languages
English (en)
Other versions
KR20150144715A (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 KR20150144715A publication Critical patent/KR20150144715A/ko
Application granted granted Critical
Publication of KR102283686B1 publication Critical patent/KR102283686B1/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/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
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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
    • 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/0727Error 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 a storage system, e.g. in a DASD or network based storage system
    • 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
    • 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
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • 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
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

장치는 복수의 저장 유닛을 갖고 있다. 패리티 생성기는 복수의 저장 유닛에 저장된 각각의 값에 따라 패리티 값을 생성하도록 구성되어 있다. 이러한 패리티 생성기는 상기 패리티 값의 결정이 상기 복수의 저장 유닛에 저장된 데이터에 대한 판독 접근과 관계없도록 구성되어 있다. 검출기는 상기 패리티 값의 변화를 검출하도록 구성되어 있다.

Description

저장 데이터 값의 에러 검출{ERROR DETECTION IN STORED DATA VALUES}
본 발명은 데이터 처리 시스템에 관한 것이다. 보다 구체적으로, 본 발명은 데이터 값을 저장하도록 구성되어 있고 저장된 데이터 값의 변화를 검출하도록 제공된 회로를 갖는 데이터 저장 장치에 관한 것이다.
데이터 저장 장치에 저장된 데이터 값은 예를 들어, 저장된 데이터 값의 비트 플립을 유발하는 입자 충돌(particle strike)에 의해 변화에 취약할 수 있다. 이러한 이유로, 종래 데이터 저장 장치에는 데이터 저장 장치로부터 판독된 데이터 값이 원래 저장된 이후에 임의의 방식으로 변경되었는지를 판정하기 위한 메커니즘이 제공되었다. 이러한 메커니즘의 하나는 패리티 검사 회로를 제공하는 것이다. 이러한 패리티 검사 회로는 데이터 값이 데이터 저장 장치에 저장되어 있을 때, 패리티 값이 (예를 들어, 단일 최종 패리티 비트를 생성하기 위해 XOR 트리에 데이터 값을 넘김으로써) 이러한 데이터 값에 기초하여 생성된 다음 데이터 저장 장치의 데이터 값과 연관되어 저장되도록 구성되어 있다. 저장된 데이터 값이 나중에 판독될 때, 이러한 데이터 값의 개별적인 비트는 다시 동일한 XOR 트리로 넘겨져 비교 패리티가 생성될 수 있고, 그다음, 이러한 비교 패리티는 해당 데이터 값이 원래 저장되었을 때 데이터 값과 연관되어 저장된 패리티 비트와 비교될 수 있다. 2개의 패리티 비트 값이 상이하다면, 저장된 데이터 값에 비트 플립이 일어났다는 것을 알게 되고, 그다음, 이러한 저장된 데이터 값을 버리거나 이러한 저장된 데이터 값을 보정하려는 시도등의 적절한 응답이 수행될 수 있다.
이러한 방식으로 작동되도록 구성된 데이터 저장 장치(10)의 예가 도 1에 개략적으로 도시되어 있다. 멀티 비트 데이터 값이 처음에 수신되고 이러한 데이터 값의 비트가 각각의 비트 셀(11-14)(이해를 위해 단지 4개의 비트 셀이 도시되어 있지만 보통 보다 많은 비트 셀이 제공될 수 있다는 것을 유념해야 한다)에 저장되는 한편, 이러한 멀티 비트 데이터 값은 또한 저장된 데이터 값과 연관되어 로케이션(16)에 저장되는 단일 비트 패리티 값 P를 생성하는 XOR 트리(15)에 넘겨진다. 판독 접근이 수행될 때, 이러한 데이터 값의 개별적인 비트 역시 (XOR 트리(15)와 동일하게 구성된) XOR 트리(17)로 넘겨지고 최종 패리티 비트 값이 패리티 비트 저장부(16)로부터 판독된 패리티 비트 P와 비교 회로(18)에 의해 비교된다. 이러한 2개의 값이 상이하면 에러 플래그가 어서트된다.
제1 특징에서, 본 발명은 데이터를 수신하고 판독 접근에 응답하여 상기 데이터를 출력하도록 구성된 복수의 저장 유닛; 및 상기 복수의 저장 유닛과 연관된 패리티 생성기를 포함하고, 상기 패리티 생성기는, 상기 복수의 저장 유닛의 각각으로부터 각각의 값을 복수의 입력부에서 수신하고; 상기 복수의 입력부로부터 패리티 값을 결정하고; 상기 패리티 값을 출력하도록 구성되어 있고, 상기 패리티 값의 결정은 상기 복수의 저장 유닛에 저장된 데이터에 대한 판독 접근으로부터 독립되어 있고, 상기 장치는 상기 패리티 값의 변화를 검출하도록 구성된 검출기를 더 포함하는 장치를 제공한다.
본 기술은 저장 데이터 값에 판독 접근이 있을 때마다 처음에 생성된 패리티 비트와 비교하기 위한 패리티 비트를 생성하는데 소비되는 에너지가 유익하지 않다는 것을 인식하고 있다. 특히, 판독 접근이 기록 접근 보다 훨씬 더 많은 빈도수로 데이터 값에 대해 실행될 수 있고, 이에 따라 원래의 패리티 비트의 생성과 연관된 에너지 소비량과 각 판독 접근을 위한 패리티 비트의 생성과 연관된 에너지 소비량 사이의 상당한 비대칭이 나타날 수 있다는 것이 인식되었다. 이에 따라, 본 기술은 복수의 저장 유닛으로부터 수신하는 복수의 입력으로부터 패리티 값을 생성하도록 설계된 패리티 생성기가 제공되는 구성을 제안하고 있는데, 상기 패리티 값의 생성은 상기 복수의 저장 유닛에 저장된 데이터로의 판독 접근에 대해 독립적이다. 따라서, 보다 낮은 에너지 소비량을 갖는 장치가 제공되는데, 그 이유는 판독 접근이 실행될 때마다 패리티 값이 재계산되지 않기 때문이다.
상기 패리티 생성기는 판독 접근에 관계없도록 구성되어서 상기 데이터 저장 유닛중 하나에 저장된 데이터 비트의 값이 변하지 않으면 상기 저장 데이터 값 패리티 생성 회로에서 전환이 일어나지 않도록 구성되어 있다. 이에 따라, 패리티 결정은 동시에 일어날 수 있다. 즉, 저장 데이터 비트중 하나에 에러가 발생하자마자 수행된다. 이것은 에러가 일어나자마자 표시(flag)될 수 있을 뿐만 아니라 에러의 누적을 차단하는데 도움이 되기 때문에 유익하다. 이것은 저장 데이터 값에 기초하여 생성된 패리티 값을 사용함으로써 데이터 에러를 방지하려고 하는 데이터 저장 장치에서 상당한데, 그 이유는 2개의 비트가 저장 데이터 값에서 변하는 경우(또는 실제로 임의의 추가 짝수의 비트가 변하는 경우)에 이러한 변화가 이러한 패리티 방법에 의해 검출될 수 없고, 이러한 패리티 값이 다시 처음 패리티 값과 동일하기 때문이다. 따라서, 저장 데이터 값에서 데이터 비트중 하나가 변하자마자 변하는 패리티 비트의 생성은 짝수의 다수의 비트 플립이 간과되는 잠재적인 데이터 손상을 차단하는데 도움이 된다.
상기 패리티 값의 변화를 검출하도록 구성된 검출기는 다양한 형태를 취할 수 있고, 천이 검출기 및 능동 비교기중 하나일 수 있다. 즉, 이러한 검출기는 패리티 값 자체의 변화를 검출하도록 구성된 디바이스의 형태를 취할 수 있거나, 패리티 값이 변화를 거쳤는지 여부를 판정하기 위해 다른 값과 패리티 값을 비교하도록 구성된 디바이스의 형태를 취할 수 있다.
일부 실시예에서, 상기 장치는 상기 데이터가 상기 복수의 저장 유닛에 의해 수신될 때 상기 데이터와 연관된 제2 패리티 값을 생성하도록 구성된 제2 패리티 생성기를 더 포함하고 있다.
상기 제2 패리티 값은 상기 장치에서 다양한 방법으로 사용될 수 있지만, 일부 실시예에서, 상기 제2 패리티 값은 상기 데이터가 상기 복수의 저장 유닛에 의해 저장될 때 상기 복수의 저장 유닛과 연관된 추가 저장 유닛에 저장되고; 상기 제2 패리티 값은 상기 패리티 값의 변화를 검출하도록 상기 패리티 값과 비교하기 위해 상기 검출기에 의해 상기 추가 저장 유닛으로부터 판독된다. 그래서, 상기 제2 패리티 값은 상기 데이터가 처음에 수신되었을 때, 상기 저장 유닛에 저장된 데이터와 연관된 패리티 값이 가졌던 값의 "스냅샷"을 나타낼 수 있어서, 상기 검출기는 저장 데이터에 판독 접근이 없어도 이러한 처음 스냅샷으로부터 임의의 일탈이 있는지 계속 감시할 수 있다.
상기 장치의 패리티 값의 생성의 상대 타이밍이 특정 구현 필요조건에 따라 변할 수 있지만, 일부 실시예에서, 상기 패리티 생성기는 상기 제2 패리티 생성기가 상기 제2 패리티 값을 생성한 후에 상기 패리티 값을 생성하도록 구성되어 있다. 상기 제2 패리티 생성기가 상기 제2 패리티 값을 생성한 후에 상기 패리티 값을 생성하도록 상기 패리티 생성기를 구성함으로써 저장 데이터의 "참" 패리티의 처음 스냅샵(즉, 이러한 스냅샵에 의해 수신된 순간에 가졌던 것에 상응한다)이 먼저 제2 패리티 값으로서 포착되고, 그 후에 이러한 처음 "참" 값에 대해 임의의 비교가 이루어질 수 있다.
일부 실시예에서, 상기 데이터 저장 장치는 상기 데이터 워드가 상기 복수의 데이터 저장 유닛에 기록되고 있을 때 어서트되는 기록 인에이블 신호를 전송하도록 구성된 기록 인에이블 신호 라인을 더 포함하고, 상기 기록 인에이블 신호 라인은 상기 검출기에 결합되어 있고 상기 검출기는 상기 기록 인에이블 신호가 어서트될 때 작동불능된다. 이러한 데이터 워드가 복수의 데이터 저장 유닛에 기록되고 있는 기간은 패리티 생성 회로가 잠시 미결정 상태로 있는 기간으로서 인식되는데, 그 이유는 기록되고 있는 데이터 워드의 개별적인 데이터 비트의 값에 발생하는 패리티 비트의 의존성 때문이다. 그래서, 이러한 데이터 비트가 기록될 때 각 개별적인 데이터 비트의 기록의 상대 타이밍에 의해 패리티 비트의 값이 짧게 변동될 수 있다. 기록 인에이블 신호가 어서트되는 기간 동안 검출기를 작동불능시킴으로써 이러한 짧은 미결정 기간이 올바로 무시될 수 있다. 그래서, 패리티 비트의 값의 변화의 검출은 저장 데이터 값에서 일어나는 진짜 에러가 검출되어야 하는 나머지 시간 동안만 능동적이다.
일부 실시예에서, 상기 데이터 저장 장치는 상기 복수의 저장 유닛이 판독될 수 있는 복수의 판독 포트를 포함하는 멀티 포트 레지스터 파일이다. 본 기술은 복수의 판독 포트의 제공이 각 판독 접근과 연관된 패리티 값의 생성이 잠재적으로 상당한 빈도로 일어날 수도 있고 본 기술에 의해 제공되는 바와 같이, 각 판독 접근과 연관된 이러한 패리티 생성을 피하는 것이 특히 유익하다는 것을 의미한다는 사실로 인해, 본 기술의 이점이 일부 나타나는 장치를 멀티 포트 레지스터 파일이 나타내고 있다는 것을 인식하고 있다. 멀티 포트 레지스터 파일은 또한 보통 멀티 포트 레지스터 파일의 레이아웃과 연관되어 제공되어야 할 많은 상호접속 때문에 본 기술의 구현을 위한 특별히 유리한 상황일 수 있다. 그래서, 본 기술이 예를 들어, 데이터 값의 각 비트를 저장하는 각 플립플롭과 연관되어 하나의 XOR 게이트를 추가하는 것과 같이, 종래의 패리티 생성 체계 보다 제공할 보다 많은 게이트(보통 XOR 게이트)가 필요할 수 있지만, 이러한 보다 큰 게이트 수는 반드시 레지스터 파일의 제공을 위한 보다 많은 면적을 의미하는 것은 아니다. 이것은 이러한 멀티 포트 레지스터 파일의 레이아웃 면적이 보통 그 상호접속에 의해 좌우된다는 사실 때문이다. 예를 들어, 현대의 멀티 포트 레지스터 파일은 23개의 병렬(수평) 워드 라인이 각 플립플롭에 대해 필요하다는 것을 의미하는 9개의 기록 포트 및 14개의 판독 포트를 가질 수도 있다. 이러한 것들은 자주 레이아웃에서 상당한 "백색 공간"으로 "배선 제어"될 수 있다는 것이 이러한 멀티 포트 레지스터 파일의 구현에서 발견되었다. 이러한 패리티 생성 회로의 제공이 하나의 추가 수평 신호와 같이 적게 추가될 수 있기 때문에, 멀티 포트 레지스터 파일에 필요한 면적에 상당한 영향을 주지 않으면서, 본 기술을 구현하는 레이아웃에 약간의 추가 게이트 비용을 숨기는 것이 가능하다.
상기 패리티 생성기는 다양한 방식으로 제공될 수 있다. 일부 실시예에서, 상기 패리티 생성기는 상기 복수의 저장 유닛과 연관되어 제공된 선형 연접된 로직 회로를 포함하고, 각각의 로직 회로는 그 입력중 하나로서 각각의 저장 유닛의 각각의 데이터 비트를 갖고 있다. 각각의 저장 유닛에 저장된 데이터 비트가 XOR 게이트를 위한 하나의 입력과 이전의 XOR 게이트의 출력에 의해 제공되는 다른 입력을 제공하는 선형 연접된 로직 회로(예를 들어, 하나의 XOR 게이트가 각각의 저장 유닛과 연관되어 제공된 XOR 게이트의 체인 세트)는 저장 유닛 자체에 약간만 추가되는 장점을 갖고 있다. 실제로, 특히 레이아웃에 2배 높이 셀이 사용되는 경우에 추가 필요한 로직 회로(예를 들어, XOR 게이트)가 저장 유닛(예를 들어, 플립플롭) 안에 포개지는 것이 가능할 수 있다.
그러나, 다른 실시예에서, 상기 패리티 생성기는 로직 회로의 계층 트리를 포함하고, 상기 계층 트리의 최하위 레벨의 로직 회로는 그 입력으로서 각각의 저장 유닛의 쌍의 각각의 데이터 비트를 각각 갖고 있고, 상기 계층 트리의 최상위 레벨의 로직 회로는 그 입력으로서 패리티 비트를 생성한다. 이러한 로직 회로의 계층 트리는 레이아웃에서 일부 추가 수평 배선의 잠재적인 비용이 있지만 패리티 계산 대기 시간이 감소되는 장점을 갖고 있다. 그러나, 상술된 바와 같이 이러한 추가 수평 배선은 사실, 레이아웃의 기존의 백색 공간이 이러한 배선을 흡수할 수 있는 멀티 포트 레지스터 파일과 같은 구현에서 레이아웃 면적에 거의 영향을 주지 않는다. 이러한 패리티 생성 로직 회로의 게이트(예를 들어, XOR 게이트)의 수는 보통 동일하다.
로직 회로의 계층 구조를 갖는 일부 실시예에서, 상기 데이터 저장 장치는 상기 계층 트리의 최상위 레벨에서 출력된 패리티 값을 수신하고 스캔 아웃 신호에 응답하여 스캔 유닛의 스캔 출력부에서 상기 패리티 값을 출력하도록 구성된 상기 스캔 유닛을 더 포함하고 있다. 따라서, 이러한 스캔 유닛에 의해 복수의 데이터 저장 유닛의 내용이 스캔 체인의 단일 포인트를 통해 관찰될 수 있다. 예를 들어, 일련의 데이터 비트가 데이터 저장 유닛의 전체 내용에 상응하기 보다는, 검사 패턴이 통상의(병렬) 데이터 경로를 통해 데이터 저장 유닛에 기록될 수 있고, 최종 패리티 비트가 단일 데이터 비트로서 스캔 아웃될 수 있다.
상기 패리티 생성기가 단순히, 상기 데이터 워드의 데이터 비트 모두에 의존하는 하나의 패리티 값을 생성하는 경우가 있을 수 있지만, 일부 실시예에서, 상기 패리티 생성기는 상기 복수의 저장 유닛에 저장된 상기 데이터의 모두 보다 적은 데이터에 따라 서브 패리티 비트를 생성하도록 구성되어 있다. 보다 적은 데이터 비트가 이러한 서브 패리티 비트를 생성하도록 사용된다는 사실로 인해 이것 역시 패리티 계산 대기 시간을 줄인다.
데이터 워드를 위한 서브 패리티의 생성의 특별한 구현은 다수의 형태를 가질 수 있다. 예를 들어, 하나의 실시예에서, 상기 패리티 생성기는 상기 복수의 저장 유닛에 저장된 데이터에 대한 복수의 서브 패리티 비트를 생성하도록 구성되어 있다. 이에 따라, 전체 데이터 워드에 대해 하나의 패리티 비트를 생성하기 보다는, 데이터는 예를 들어, 2개의 부분으로 분할될 수 있고 이러한 부분의 각각에 대해 서브 패리티 비트가 생성될 수 있다. 이로 인해, 특히 패리티 생성기가 선형 연접되어 제공된 실시예에서, 이러한 서브 패리티 비트중 하나의 변화가 상기 검출기에 의해 검출될 때 일어난 에러의 위치의 보다 정밀한 판단이 가능하고, 전체 데이터에 대한 하나의 패리티 비트의 판정 보다 일반적으로 빠르다.
그러나, 데이터 워드의 일부가 무시될 수 있어서, 예를 들어, 데이터 워드의 다른 부분이 에러의 발생에 대해 감시될 필요가 있기 때문에 서브 패리티 비트가 생성되는 경우가 있을 수 있다. 이에 따라, 일부 실시예에서, 상기 패리티 생성기는 상기 복수의 저장 유닛에 저장된 적어도 하나의 데이터 비트가 상기 서브 패리티 비트의 값에 영향을 주지 않도록 구성되어 있다.
일부 실시예에서, 상기 데이터 저장 장치는 복수의 데이터 워드를 저장하도록 구성되어 있고, 상기 패리티 생성기는 상기 데이터 워드의 각각에 대한 각각의 패리티 비트를 생성하도록 구성되어 있고, 상기 장치는 상기 각각의 패리티 비트중 어느 하나라도 값이 변하면 에러 플래그를 생성하도록 구성된 결합 로직 회로를 더 포함하고 있다. 이렇게 생성된 에러 플래그에 의해, 에러가 데이터 저장 장치에 저장된 복수의 데이터 워드 중 하나에서 일어났다고 인식하고, 적절한 보정 동작을 취할 수 있다. 또한, 본 기술은 복수의 데이터 워드중에, 데이터 에러가 발생한 특정 위치(즉, 여기에서는, 복수의 데이터 워드중에 에러를 포함하는 특정 데이터 워드)를 식별할 수 있는 것 보다는 에러가 발생하였다는 것을 인식하는 것이 보다 중요한 상황이 있다는 것을 인식하고 있다. 예를 들어, 레지스터 파일에서, (예를 들어, 레지스터 파일에 의해 저장된 복수의 데이터 워드에 저장된 데이터 워드중 하나에 이러한 에러가 상대적으로 드물기 때문에) 특정 데이터 워드(또는 특정 데이터 비트)에 대해 타겟 보정 동작을 취하는 대신에 레지스터 파일의 전체 내용을 단순히 교체하거나 갱신하는 것이 바람직하고 판단할 수 있다.
일부 실시예에서, 상기 장치는 복수의 데이터 워드를 저장하도록 구성되어 있고, 상기 패리티 생성기는 상기 데이터 워드의 각각에 대한 각각의 패리티 비트를 생성하도록 구성되어 있고, 상기 장치는 논-에러 값 또는 에러 값을 유지하도록 구성된 에러 레지스터를 더 포함하고, 상기 에러 레지스터는 상기 각각의 패리티 비트중 하나 이상의 값이 변하면 상기 에러 값 유지로 전환되도록 구성되어 있다. 이러한 구성은 정상 환경에서 논-에러 값을 유지하는 "스티키 레지스터"를 제공하지만, 각각의 패리티 비트중 하나가 값을 바꾸면 에러 값 유지로 전환되도록 구성되어 있고, 추가 패리티 비트의 값이 변한다고 해도 이러한 에러 값을 계속 유지할 것이다. 따라서, 이러한 에러 레지스터는 상기 데이터 저장 장치에 저장된 복수의 데이터 워드중 하나에서 에러가 발생하였는지를 판정하도록 (예를 들어, 폴링 메커니즘을 통해) 감시될 수 있고, 상술된 예에서 처럼, 어느 특정 데이터 워드가 에러를 유발하였는지를 더 식별 시도하지 않고 복수의 데이터 워드 모두를 교체하거나 갱신하는 것과 같은 보정 동작을 취할 수 있다.
제2 특징에서, 본 발명은 복수의 데이터 저장 유닛에 데이터를 저장하는 단계; 판독 접근에 응답하여 상기 복수의 저장 유닛으로부터 상기 데이터를 출력하는 단계; 상기 복수의 저장 유닛과 연관된 패리티 생성기의 복수의 입력부의 각각에서 상기 복수의 저장 유닛의 각각으로부터 값을 수신하는 단계; 상기 복수의 입력부로부터 패리티 값을 결정하는 단계; 상기 제1 패리티 값을 출력하는 단계; 및 능동 비교기에 의해 상기 출력된 패리티의 변화를 검출하는 단계를 포함하고, 상기 패리티 값의 결정은 상기 복수의 저장 유닛에 저장된 상기 데이터에 대한 상기 판독 접근으로부터 독립되어 있는 방법을 제공한다.
제3 특징에서, 본 발명은 복수의 데이터 저장 유닛에 데이터를 저장하기 위한 수단; 판독 접근에 응답하여 상기 복수의 저장 유닛으로부터 상기 데이터를 출력하기 위한 수단; 상기 복수의 저장 유닛과 연관된 패리티 값을 생성하기 위한 수단의 복수의 입력부중 각각에서 상기 복수의 저장 유닛의 각각으로부터 값을 수신하기 위한 수단으로서, 상기 복수의 저장 유닛과 연관된 패리티 값을 생성하기 위한 수단은 상기 복수의 저장 유닛에 저장된 상기 데이터에 대한 상기 판독 접근으로부터 독립되어 있는 패리티 값을 생성하도록 구성되어 있는 수단; 상기 제1 패리티 값을 출력하기 위한 수단; 및 상기 출력된 패리티의 변화를 검출하기 위한 수단을 포함하는 장치를 제공한다.
제4 특징에서, 본 발명은 각각 데이터 워드의 각각의 데이터 비트를 저장하도록 구성된 복수의 데이터 저장 유닛; 상기 복수의 데이터 저장 유닛에 저장된 데이터 워드의 데이터 비트에 따라 상기 데이터 워드에 대한 패리티 비트를 생성하도록 구성된 저장 데이터 값 패리티 생성 회로; 및 상기 패리티 비트의 값의 변화를 검출하도록 구성된 천이 검출 회로를 포함하고, 상기 저장 데이터 값 패리티 생성 회로는 상기 데이터 워드가 상기 복수의 데이터 저장 유닛으로부터 판독될 때 상기 저장 데이터 값 패리티 생성 회로에서 전환이 일어나지 않도록 구성되어 있는 데이터 저장 장치를 제공한다.
상기 저장 데이터 값 패리티 생성 회로는 상기 데이터 저장 유닛중 하나에 저장된 데이터 비트의 값이 변하지 않으면 상기 저장 데이터 값 패리티 생성 회로에서 전환이 일어나지 않도록 구성되어 있다.
상기 데이터 저장 장치는 새로운 데이터 워드가 상기 복수의 데이터 저장 유닛에 기록될 때 기록 패리티를 생성하고 상기 기록 패리티를 저장하도록 구성된 기록 패리티 비트 회로를 더 포함하고, 상기 천이 검출 회로는 상기 데이터 워드에 대한 패리티 비트와 상기 저장된 기록 패리티 비트의 비교에 의해 상기 변화를 검출하도록 구성되어 있다.
상기 천이 검출 회로는 상기 데이터 워드에 대한 패리티 비트가 변하지 않으면 상기 천이 검출 회로에서 전환이 일어나지 않도록 구성되어 있다.
상기 데이터 저장 장치는 상기 데이터 워드가 상기 복수의 데이터 저장 유닛에 기록되고 있을 때 어서트되는 기록 인에이블 신호를 전송하도록 구성된 기록 인에이블 신호 라인을 더 포함하고, 상기 기록 인에이블 신호 라인은 상기 천이 검출 회로에 결합되어 있고 상기 천이 검출 회로는 상기 기록 인에이블 신호가 어서트될 때 작동불능된다.
상기 데이터 저장 장치는 상기 복수의 데이터 저장 유닛이 판독될 수 있는 복수의 판독 포트를 포함하는 멀티 포트 레지스터 파일일 수 있다.
상기 저장 데이터 값 패리티 생성 회로는 상기 복수의 데이터 저장 유닛과 연관되어 제공된 선형 연접된 로직 회로를 포함하고, 각각의 로직 회로는 그 입력중 하나로서 각각의 데이터 저장 유닛의 각각의 데이터 비트를 갖고 있다.
상기 저장 데이터 값 패리티 생성 회로는 로직 회로의 계층 트리를 포함하고, 상기 계층 트리의 최하위 레벨의 로직 회로는 그 입력으로서 각각의 데이터 저장 유닛의 쌍의 각각의 데이터 비트를 각각 갖고 있고, 상기 계층 트리의 최상위 레벨의 로직 회로는 그 입력으로서 상기 데이터 워드에 대한 패리티 비트를 생성한다.
상기 데이터 저장 장치는 상기 계층 트리의 최상위 레벨에서 출력된 데이터 워드에 대한 패리티를 수신하고 스캔 아웃 신호에 응답하여 스캔 유닛의 스캔 출력부에서 상기 패리티 비트를 출력하도록 구성된 상기 스캔 유닛을 더 포함할 수 있다.
상기 저장 데이터 값 패리티 생성 회로는 상기 복수의 데이터 저장 유닛에 저장된 상기 데이터 워드의 모든 데이터 비트 보다 적은 수의 데이터 비트에 따라 상기 데이터 워드에 대한 서브 패리티 비트를 생성하도록 구성될 수 있다.
상기 저장 데이터 값 패리티 생성 회로는 상기 데이터 워드에 대한 복수의 서브 패리티 비트를 생성하도록 구성될 수 있다.
상기 저장 데이터 값 패리티 생성 회로는 상기 복수의 데이터 저장 유닛에 저장된 데이터 워드의 데이터 비트중 적어도 하나가 상기 서브 패리티 비트의 값에 영향을 주지 않도록 구성될 수 있다.
상기 데이터 저장 장치는 복수의 데이터 워드를 저장하도록 구성될 수 있고, 상기 저장 데이터 값 패리티 생성 회로는 상기 데이터 워드의 각각에 대한 각각의 패리티 비트를 생성하도록 구성될 수 있고, 상기 데이터 저장 장치는 상기 각각의 패리티 비트중 어느 하나라도 값이 변하면 에러 플래그를 생성하도록 구성된 결합 로직 회로를 더 포함할 수 있다.
상기 데이터 저장 장치는 복수의 데이터 워드를 저장하도록 구성될 수 있고, 상기 저장 데이터 값 패리티 생성 회로는 상기 데이터 워드의 각각에 대한 각각의 패리티 비트를 생성하도록 구성될 수 있고, 상기 데이터 저장 장치는 논-에러 값 또는 에러 값을 유지하도록 구성된 에러 레지스터를 더 포함하고, 상기 에러 레지스터는 상기 각각의 패리티 비트중 하나 이상의 값이 변하면 상기 에러 값 유지로 전환되도록 구성될 수 있다.
제5 특징에서, 본 발명은 복수의 데이터 저장 유닛에 데이터 워드의 각각의 데이터 비트를 저장하는 단계; 상기 복수의 데이터 저장 유닛에 저장된 데이터 워드의 데이터 비트에 따라 복수의 중간 단계를 통해 상기 데이터 워드에 대한 패리티 비트를 생성하는 단계로서, 상기 데이터 워드가 상기 복수의 데이터 저장 유닛으로부터 판독될 때 상기 복수의 중간 단계에서 전환이 일어나지 않는 단계; 및 상기 패리티 비트의 값의 변화를 검출하는 단계를 포함하는 데이터 저장 방법을 제공한다.
제6 특징에서, 본 발명은 복수의 데이터 저장 유닛에 데이터 워드의 각각의 데이터 비트를 저장하기 위한 수단; 상기 복수의 데이터 저장 유닛에 저장된 데이터 워드의 데이터 비트에 따라 복수의 중간 단계를 통해 상기 데이터 워드에 대한 패리티 비트를 생성하기 위한 수단으로서, 상기 데이터 워드가 상기 복수의 데이터 저장 유닛으로부터 판독될 때 상기 복수의 중간 단계에서 전환이 일어나지 않는 수단; 및 상기 패리티 비트의 값의 변화를 검출하기 위한 수단을 포함하는 데이터 저장 장치를 제공한다.
본 발명은 다음의 첨부된 도면에 설명된 바와 같이 그 실시예를 참조하여 단지 예로서 설명될 것이다.
도 1은 종래 기술에 따른 저장된 데이터 값이 기록되었을 때와 판독되었을 때 사이에 이러한 저장된 데이터 값에 에러가 발생하였는지를 판정하기 위한 패리티 비트 생성의 사용을 개략적으로 설명한 도면이다.
도 2는 하나의 실시예에서 저장 데이터 값에서 에러를 검출할 수 있도록 구성된 데이터 저장 장치를 개략적으로 도시한 도면이다.
도 3은 다른 실시예에서 저장 데이터 값에서 에러를 검출할 수 있도록 구성된 데이터 저장 장치를 개략적으로 도시한 도면이다.
도 4a 및 도 4b는 데이터 저장 유닛과 연관되어 제공된 패리티 생성 회로의 2개의 실시예를 개략적으로 설명하는 도면이다.
도 5a는 하나의 실시예에서 선형 연접된 XOR 게이트로서 패리티 생성 회로를 제공하는 것을 개략적으로 도시하는 도면이다.
도 5b는 하나의 실시예에서 XOR 트리로서 패리티 생성 회로를 제공하는 것을 개략적으로 설명하는 도면이다.
도 6은 하나의 실시예에서 스캔 플롭이 XOR 트리의 출력부에 결합된 XOR 트리로서 패리티 생성 회로를 제공하는 것을 개략적으로 설명하는 도면이다.
도 7은 하나의 실시예에서 하나 이상의 서브 패리티 비트의 생성을 개략적으로 설명하는 도면이다.
도 8은 하나의 실시예에서 멀티 포트 레지스터 파일을 개략적으로 도시한 도면이다.
도 9는 하나의 실시예의 방법에서 취해진 일련의 단계를 개략적으로 설명하는 도면이다.
도 2는 하나의 실시예의 데이터 저장 장치(20)를 개략적으로 도시하고 있다. 이러한 데이터 저장 장치(20)는 프로세서 유닛이 사용하는 특정 데이터 값의 저장을 위해 프로세서 유닛과 밀접하게 연관되어 제공된 레지스터 파일이다. 이러한 데이터 값은 데이터 저장 장치에 데이터 워드로서 저장되어 있고, 기록 연산에서 데이터 워드는 데이터 저장 장치의 기억 용량에 기록되고, 이러한 기억 용량은 이러한 실시예에서 각각 데이터 워드의 하나의 비트를 저장하도록 구성된 플립플롭의 세트에 의해 제공된 다수의 데이터 저장 유닛(21-24)에 의해 제공되어 있다. (특히 데이터 저장 유닛(23, 24)이 일련의 점들에 의해 분리되어 있다는 사실에 의해) 저장되는 데이터 워드의 비트의 수는 4를 초과할 수 있고, 도 2에 도시된 단지 4개의 데이터 저장 유닛은 단지 설명을 위한 것이라는 것을 이해할 것이다. 또한, 데이터 저장 장치(20)는 다수의 데이터 워드를 저장하도록 구성되어 있지만, 이해를 위해, 하나의 데이터 워드와 관련된 기억 용량만이 도시되어 있다.
기록 프로세스의 일부로서, 데이터 워드 역시 데이터 워드의 데이터 비트의 각 값에 의존하여 단일 패리티 비트 P를 생성하도록 구성된 XOR 트리(25)로 전송된다. 이러한 패리티 비트 P는 데이터 워드 자체를 저장하는 데이터 저장 유닛(21-24)과 연관되어 제공된 패리티 비트 저장 로케이션(26)에 저장된다. 동시 패리티 생성 회로(27) 역시 저장 데이터 워드를 유지하는 데이터 저장 유닛(21-24)과 연관되어 제공된다. 특히, 이러한 동시 패리티 생성 회로(27)는 데이터 워드를 유지하는 데이터 저장 유닛의 실질상 제1 데이터 저장 유닛(21)과 연관되어 제공된 패리티 로직 유닛(28-30)을 포함하고 있다. 각 패리티 로직 유닛(28-30)은 데이터 저장 유닛의 세트의 이전의 단계로부터 유도된 입력을 취하고 이러한 입력을 연관된 데이터 저장 유닛에 의해 유지된 값과 논리적으로 결합하도록 구성되어 있다. 도 2에 도시된 실시예에서, 패리티 로직 유닛(28-30)은 각 XOR 게이트이어서 XOR 게이트(28)는 그 입력으로서 데이터 저장 유닛(21, 22)에 저장된 값을 취하고, XOR 게이트(29)는 그 입력으로서 하나의 입력으로의 XOR(28)의 출력 및 데이터 저장 유닛(23)에 저장된 값을 취하고, XOR 게이트(30)는 그 입력으로서 이전의 XOR 게이트(도시되지 않음)로부터의 출력 및 데이터 저장 유닛(24)에 저장된 값을 취한다. 이러한 방식으로, 데이터 저장 유닛(21-24)의 각 내용에 의존하는 패리티 비트가 생성된다. 특히 이렇게 하여, 데이터 저장 유닛(21-24)으로의 임의의 판독 접근에 관계없이 패리티 비트를 실시간으로 계산하도록 배열되어 있다는 것을 유념해야 한다. XOR 게이트(28-30)에 의해 생성된 패리티 비트가 데이터 워드가 데이터 저장 유닛(21-24)에 기록되고 있는 동안에 다소 미결정 상태이지만, 일단 데이터 워드가 기록되면, 이러한 동시 패리티 생성 로직은 데이터 저장 유닛중 하나에서 비트 플립이 존재할 때까지 (또는 새로운 데이터 워드가 데이터 저장 유닛에 기록될 때까지) 전환되지 않을 것이다. 마지막 XOR 게이트(30)의 출력은 능동 비교 회로(31)에 하나의 입력을 제공하고, 이러한 능동 비교 회로(31)는 그 다른 입력으로서 패리티 비트 저장부(26)에 저장된 값 P를 취한다. 능동 비교 회로(31)는 예를 들어, 다양한 XOR 게이트에 의해 제공되는 그 입력중 하나가 변할 때만 전환한다는 점에서 "능동성"을 갖는다.
도 3은 다른 실시예의 데이터 저장 장치(40)를 개략적으로 도시하고 있다. 도 2에 도시된 실시예와 같이, 데이터 저장 장치(40)는 프로세서 유닛이 사용하는 특정 데이터의 저장을 위해 프로세서 유닛과 밀접하게 연관되어 제공되는 레지스터 파일이다. 또한, 도 2에 도시된 실시예와 같이, 데이터 저장 장치(40)는 다수의 데이터 워드를 저장하도록 구성되어 있지만, 이해를 위해 하나의 데이터 워드와 관련된 기억 용량만이 도시되어 있다.
여기에서, 도 2에 도시된 실시예의 경우에서와 같이, 기록 접근 동안, 각각 데이터 워드의 단일 비트를 유지하는 데이터 저장 유닛(41-44)의 세트에 멀티비트 데이터 워드가 기록된다. 그러나, 여기에서, 도 2에 실시예와 달리, 아무런 패리티 비트도 기록 연산의 일부로서 계산되고 저장되지 않는다. 그러나, 도 3의 패리티 로직 유닛(45-47)에 의해 표시된 동시 패리티 생성 체인은 도 2의 패리티 로직 유닛(28-30)에 의해 표시된 동시 패리티 체인(27)에 직접 대응한다.
도 3에 도시된 실시예에서, 동시 패리티 체인의 최종 컴포넌트(47)의 출력은 이러한 값의 임의의 변화를 검출하고 이러한 변화가 검출될 때 에러 검출 신호를 출력하도록 구성된 천이 검출기(48)에 의해 수신된다. 도 3의 데이터 저장 유닛(41-44)의 세트는 데이터 저장 장치의 특정 행(행 0)에 상응하고, 이러한 데이터 저장 장치는 데이터 워드를 저장할 수 있는 이러한 데이터 저장 유닛의 추가 행(도시되지 않음)을 포함하고 있다. 이러한 데이터 저장 장치의 특정 행으로의 기록은 이러한 행을 위한 대응하는 "기록 인에이블" 신호가 어서트될 때 가능하다(그리고, 당업자는 이러한 기록 인에이블 신호의 사용을 잘 알고 있으므로 추가로 상세히 설명되지 않았다). 도 3에 도시된 바아 같이, 천이 검출기(48)는 또한 기록 인에이블 신호 라인에 결합되어 있고, 이러한 신호는 천이 검출기(48)의 인에이블 입력에 반전되어 결합되어 있다. 이러한 구성에 의해 기록 프로세스 동안 천이 검출이 가능하지 않도록 보장된다. 하지만 이러한 행이 기록되고 있지 않을 때, 천이 검출기는 활성화된다. 이에 따라, 그 다음으로, 에러로 인한 이러한 행의 임의의 상태 변화는 천이 검출기(48)에 의해 포착될 수 있다. 도 2에 도시된 실시예와 비교할 때, 도 3의 이러한 실시예는 필요한 레이아웃 면적에서 장점을 갖고 있는데, 그 이유는 추가 XOR 트리 및 패리티 저장 유닛(각각 도 2의 부재번호 25 및 26)이 생략되기 때문이다. 그러나, 도 3에 도시된 실시예의 특징은 이러한 행이 기록 사이클 동안 보다 더 취약하다는 것이다. 그 이유는 (도 2의 패리티 비트 저장 유닛(26)에 저장된 것과 같은) 기준 패리티 비트가 도 3 실시예의 일부가 아니고 기록 프로세스 동안 일어나는 변화가 식별되지 않는 가능성이 존재하기 때문이다. 그러나, 많은 경우에 기록 프로세스가 비교적 드물고 후속 판독 프로세스가 비교적 훨씬 더 빈번하다는 것을 고려하면, 이러한 리스크는 수용가능하게 낮은 레벨에 있도록 결정될 수 있다. 도 2에 도시된 능동 비교 회로(31)와 유사하게, 천이 검출기(48)는 (패리티 로직 유닛(47)으로부터의) 그 입력의 값이 변경될 때만 전환되도록 구성되어 있다.
도 4a 및 도 4b는 예를 들어, 도 2의 데이터 저장 유닛(23) 및 연관된 패리티 생성 로직(29) 또는 도 3의 데이터 저장 유닛(43) 및 그 연관된 패리티 생성 로직(46)과 같은, 연관된 패리티 생성 로직과 함께 개별적인 데이터 저장 유닛의 2개의 실시예를 개략적으로 도시하고 있다. 도 4a는 플립플롭으로서 구현된 데이터 저장 유닛을 개략적으로 도시하고 있다. 이러한 플립플롭이 RTL(레지스터-트랜스퍼 레벨)에서 구현된 레지스터 파일 내의 데이터 저장 유닛으로서 제공되는 경우에, 이러한 레지스터 파일은 예를 들어, 플립플롭을 사용하여 합성 툴에 의해 합성될 수 있고 동시 패리티 검출 로직 역시 RTL로 구현될 수 있다. 대안으로, 패리티 검출 로직(본 예에서는 XOR 게이트)이 플립플롭 자체 내에 제공될 수 있고 레지스터 파일은 배치 및 배선 기술에 의해 구현될 수 있다. 플립플롭에 XOR 로직을 제공하는 것은 특히 2배 높이의 플립플롭 셀이 사용되는 경우에 가능하다. 도 4b는 데이터 저장 유닛이 주문형 비트 셀 기반 레지스터 파일 설계에서 제공되는 예를 개략적으로 도시하고 있다.
도 5a 및 도 5b는 동시 패리티 검출 로직을 제공하기 위한 2개의 대안의 실시예를 개략적으로 도시하고 있다. 도 5a에서 선형 연접 또는 체인으로서 개별적인 패리티 검출 유닛(XOR 게이트(60))이 제공되어 있다. 이와 대조하여 도 5b는 개별적인 데이터 저장 유닛(61)의 쌍이 계층 트리의 최하위 레벨에서 비교되고 반복 프로세스로 함께 결합되어, 데이터 저장 유닛(61)에 저장되는 데이터 워드를 위한 최종 패리티 비트를 생성하는 트리 구조로 XOR 게이트(62)가 배열되어 있는 계층 트리로서 배열된 동시 패리티 생성 로직을 개략적으로 도시하고 있다. 도 5b에 도시된 트리 구조의 장점은 수평 배선의 비용에도 불구하고 도 5a에 도시된 선형 연접에 대해 감소된 패리티 계산 대기 시간이다.
도 6은 도 5b에 도시된 것과 관련된, 즉, 동시 패리티 생성 로직이 계층 트리로서 배열되어 있는 실시예를 개략적으로 도시하고 있는데, 이러한 실시예에서, XOR 트리(게이트)(62)의 출력 역시 스캔-플롭(63)에 제공된다. 스캔 플롭(63)은 스캔 아웃 신호(즉, 여기에서는 그 스캔 클록 입력)에 응답하여 그 출력부에서 XOR 트리의 출력(즉, 패리티 비트)을 제공하도록 구성되어 있다. 이로 인해 자동 검사 패턴 생성(ATPG) 데이터 워드가 개별적인 데이터 저장 유닛(61)에 (병렬로) 기록될 수 있고(도시된 예에서, 이러한 데이터 저장 유닛(61)은 레지스터 파일에서 8-비트 데이터 워드 저장 로케이션을 제공한다), XOR 트리(62)는 레지스터 파일의 플립플롭(61)의 각각을 관찰할 수 있다. XOR 트리(62)의 끝에 관찰 검사 포인트(스캔 플롭(63))를 추가함으로써 스캔 체인 전체에서 레지스터 파일 플립플롭(61)을 스캔할 필요가 없다. 규격 ATPG는 예를 들어, 제1 패턴을 레지스터 파일에 병렬로 인가한 다음 제2 패턴을 레지스터 파일에 병렬로 인가하여, 레지스터 플립플롭(61)을 검사하는데 사용될 수 있다. 후속 패턴 사이의 플립핑 비트에 대한 정확한 응답이 레지스터 파일을 검사하기 위해 스캔 플립플롭(63)의 스캔 출력부에 관찰될 수 있다. 그래서, 약간 증가된 면적만으로 레지스터 파일의 검사능력이 향상될 수 있고, 실제로 각 개별적인 데이터 저장 유닛(61)과 하나씩 연관된 스캔 플립플롭의 체인이 제공되는 보통의 방식과 비교하여 상당한 수의 스캔 플립플롭을 감소시킬 수 있다.
도 7은 패리티 계산이 모두 보다 적은 데이터 워드에 실행될 수 있는 데이터 워드(64)를 개략적으로 도시하고 있다. 이것은 데이터 워드(64)의 4개의 최상위 비트에 기초하여 생성된 서브 패리티 비트 A 및 데이터 워드(64)의 4개의 최하위 비트에 기초하여 생성된 서브 패리티 비트 B에 의해 도 7에 도시되어 있다. 일부 실시예에서, 서브 패리티 비트 A 및 B 모두가 생성되어, 에러에 대해 데이터 워드(64)를 감시하는 전체 적용 범위를 제공하고 전체 데이터 워드(64)에 대해 생성된 단일 패리티 비트에 대해 감소된 패리티 계산 대기 시간을 가질 수 있는데, 그 이유는 보다 적은 수의 비트가 각 서브 패리티 비트를 생성하기 위해 결합되기 때문이다. 이것은 물론 단일 패리티 비트와 대조되어 2개의 서브 패리티 비트를 계산하는데 필요한 추가 로직의 비용으로 이루어진다. 대신 도 7에 도시된 2개의 서브 패리티 비트중 하나 만이, 예를 들어, 서브 패리티 비트 A 만이 생성되는 경우가 있을 수 있다. 이것은 데이터 워드(64)의 일부만이 에러 발생의 감시를 필요로 하고, 나머지 부분은 덜 중요하고 이러한 부분에서 일어나는 에러가 무시될 수 있는 상황에 유익할 수 있다.
도 8은 다수의 데이터 워드(71)를 저장하도록 구성되어 있는 레지스터 파일(70)을 개략적으로 도시하고 있는데, 예를 들어, 도 8에 도시된 실시예에서, 이것은 128 워드 레지스터 파일이고, 각 저장된 데이터 워드(71)는 8-비트 워드이다. 이러한 레지스터 파일(70)은 9개의 기록 포트 및 14개의 판독 포트를 갖는 멀티 포트 레지스터 파일이다. 상당 수의 판독 포트를 제공함으로써, 저장 데이터 워드가 판독될 때마다 주어진 저장된 데이터 워드에 대한 패리티 비트가 생성되지 않도록, 각 데이터 워드(71)의 저장을 위해 제공된 저장 유닛과 연관된 패리티 로직(72)이 본 기술에 따라 구성되는 것이 특히 유리할 수 있다. 도 8의 동시 패리티 생성 회로(72)는 단지 개략적으로 도시되어 있고, 도 2 또는 도 3에 도시된 실시예에 따라 보다 상세하게 제공될 수 있다.
에러가 저장 데이터 워드(71)중 하나에 대한 패리티 로직 유닛(72)중 하나에 의해 검출된다면 에러 플래그가 어서트되도록, 이러한 입력 모두를 단일 출력("에러 플래그")으로 결합하도록 구성된 결합 로직(73)에 각 동시 패리티 로직 유닛(72)의 출력이 제공된다. 따라서, 이로 인해 에러의 생성이 거의 순시로 통지되고 적절한 보정 액션이 신속하게 취해질 수 있다. 결합 로직(73)은 예를 들어, 이러한 출력들을 단일 출력으로 결합하기 위해 OR 게이트의 트리에 의해 제공될 수 있다. 결합 로직(73)에 대한 단일 출력이 또한 "스티키(sticky)" 에러 레지스터(74)에 제공된다는 것을 유념해야 한다. 이러한 스티키 에러 레지스터는 각 패리티 로직 유닛(72)의 출력중 적어도 하나가 변할 때까지 "노 에러" 상태를 나타내는 값을 유지하도록 구성되어 있고, 이로 인해 "스티키" 에러 레지스터(74)는 이러한 레지스터가 리셋될 때까지 수신하는 입력 값의 추가 변화에도 불구하고 계속 유지될 "에러" 상태를 나타내는 값을 유지하는 것으로 변경된다. 대안으로, 각 패리티 로직 유닛(72)의 출력은 "스티키" 에러 레지스터(74)에 직접 제공될 수 있다는 것에 주목해야 한다. 그 이유는 임의의 패리티 로직 유닛(72)에 의해 생성된 패리티 비트의 변화는 "스티키" 에러 레지스터(74)가 그 "에러" 상태 값을 유지하도록 하는데 사용될 수 있기 때문이다. 따라서, 이러한 스티키 에러 레지스터(74)는 에러가 발생하였을 때를 식별하도록 예를 들어, 폴링(polling) 프로세스에 의해 감시될 수 있다. 도 8에 도시된 실시예에서, 시스템은 이러한 에러가 발생할 때 레지스터 파일(70)의 전체 내용이 리프레시되도록 함으로써 에러 플래그(또는 레지스터(74)에 의해 유지되는 에러 상태)에 반응하도록 구성되어 있다. 이에 따라, 이러한 실시예에서, 어디에서 특정 에러가 일어났는지를 식별하고 이러한 특정 저장 로케이션에 대해 보정 액션을 취하려고 하는 것 보다는 단순히 각 저장된 데이터 워드(71)의 내용을 재기록하는 것이 보다 효율적이라고 판단하였다는 것에 주목해야 한다.
도 9는 하나의 실시예의 방법에서 취해진 일련의 단계를 개략적으로 도시하고 있다. 제1 단계 100에서, 데이터 워드를 그 선택된 저장 로케이션에 기록하도록 (예를 들어, 이러한 데이터 워드가 기록되어야 하는 레지스터 파일 내의 특정 행을 식별하여, 이러한 행에 대한 인에이블 신호를 어서트함으로써) 기록 프로세스가 수행된다. 기록 프로세스의 일부로서, 단계 101에서 패리티 비트가 XOR 트리를 통해 생성되고 데이터 워드와 연관되어 저장된다. 그다음, 단계 102에 표시된 바와 같이, 저장된 데이터 워드에 비트 플립이 일어난 경우에만 이러한 저장 로케이션에 결합된 XOR 연결(동시 패리티 생성 회로) 및 능동 비교 회로가 전환되는 상태가 설정된다. 이러한 비트 플립이 데이터 워드에서 일어나지 않는 동안(단계 103으로부터 "No" 경로), 단계 104에서 이러한 데이터 워드가 판독될 지에 대한 여부를 결정한다. 판독될 데이터 워드라면 흐름은 데이터 워드가 그 저장 로케이션으로부터 판독되는 단계 105를 통해 진행한다(그리고 특히 이것은 XOR 연결 또는 능동 비교 회로에 아무런 영향도 주지 않는다는 것에 주목해야 한다). 그다음, 흐름은 다시 단계 102로 진행한다. 대안으로, 아무런 판독이 수행되지 않으면(단계 104로부터 "No" 경로), 흐름은 직접 단계 102로 복귀한다. 그러나, 비트 플립이 데이터 워드에서 일어날 때(단계 103으로부터 "Yes" 경로), 이러한 비트 플립에 의해 패리티 변화가 XOR 연결을 통해 퍼져나가서(단계 106), 단계 107에서, 능동 비교 회로가 전환되고, 검출된 패리티 변화가 표시된다.
본 발명의 특정 실시예가 여기에 설명되었지만, 본 발명은 이에 제한되지 않고 많은 수정 및 추가가 본 발명의 범위 안에서 가능할 수 있음을 이해할 것이다. 예를 들어, 다음의 종속항의 특징의 독립항의 특징과의 다양한 결합이 본 발명의 범위로부터 벗어남 없이 가능할 수도 있다.

Claims (17)

  1. 장치로서,
    복수의 저장 유닛으로서, 상기 복수의 저장 유닛의 각각은 데이터 워드의 데이터 비트를 저장하고, 상기 복수의 저장 유닛은 판독 접근에 응답하여 상기 데이터 워드를 출력하도록 구성된 복수의 저장 유닛; 및
    상기 복수의 저장 유닛 중의 하나와 연관된 각각의 패리티 로직 유닛을 가지는 패리티 로직 유닛의 체인을 포함하고, 상기 패리티 로직 유닛의 적어도 하나의 패리티 로직 유닛은,
    상기 적어도 하나의 패리티 로직 유닛의 연관된 저장 유닛으로부터 제1 입력을 수신하고;
    상기 적어도 하나의 패리티 로직 유닛의 이전 패리티 로직 유닛으로부터 제2 입력을 수신하고;
    상기 제1 및 제2 입력으로부터 패리티 값을 결정하도록 구성되고,
    상기 패리티 값의 변화를 검출하도록 구성된 검출기를 더 포함하는 것을 특징으로 하는 장치.
  2. 제1항에 있어서, 상기 검출기는 천이 검출기 및 능동 비교기중 하나인 것을 특징으로 하는 장치.
  3. 제1항에 있어서, 상기 데이터 워드가 상기 복수의 저장 유닛에 의해 수신될 때 상기 데이터 워드와 연관된 다른 패리티 값을 생성하도록 구성된 패리티 생성기를 더 포함하는 것을 특징으로 하는 장치.
  4. 제3항에 있어서, 상기 다른 패리티 값은 상기 데이터 워드가 상기 복수의 저장 유닛에 의해 수신될 때 상기 복수의 저장 유닛과 연관된 추가 저장 유닛에 저장되고;
    상기 다른 패리티 값은 상기 패리티 값의 변화를 검출하도록 상기 패리티 값과 비교하기 위해 상기 검출기에 의해 상기 추가 저장 유닛으로부터 판독되는 것을 특징으로 하는 장치.
  5. 제3항에 있어서, 상기 패리티 로직 유닛의 체인은 상기 패리티 생성기가 상기 다른 패리티 값을 생성한 후에 상기 패리티 값을 생성하도록 구성되어 있는 것을 특징으로 하는 장치.
  6. 제1항에 있어서, 상기 데이터 워드가 상기 복수의 데이터 저장 유닛에 기록되고 있을 때 어서트되는 기록 인에이블 신호를 전송하도록 구성된 기록 인에이블 신호 라인을 더 포함하고, 상기 기록 인에이블 신호 라인은 상기 검출기에 결합되어 있고 상기 검출기는 상기 기록 인에이블 신호가 어서트될 때 작동불능되는 것을 특징으로 하는 장치.
  7. 제1항에 있어서, 상기 장치는 상기 복수의 저장 유닛이 판독되는 복수의 판독 포트를 포함하는 멀티 포트 레지스터 파일인 것을 특징으로 하는 장치.
  8. 제1항에 있어서, 상기 패리티 로직 유닛의 체인은 상기 복수의 저장 유닛과 연관되어 제공된 선형 연접된 로직 회로를 포함하고, 각각의 로직 회로는 그 입력중 하나로서 각각의 저장 유닛의 각각의 데이터 비트를 갖고 있는 것을 특징으로 하는 장치.
  9. 제1항에 있어서, 상기 패리티 로직 유닛의 체인은 로직 회로의 계층 트리를 포함하고,
    상기 계층 트리의 최하위 레벨의 각 로직 회로는 입력으로서 각각의 저장 유닛의 쌍의 각각의 데이터 비트를 갖고 있고,
    상기 계층 트리의 최상위 레벨의 로직 회로는 출력으로서 패리티 비트를 생성하는 것을 특징으로 하는 장치.
  10. 제9항에 있어서, 상기 계층 트리의 최상위 레벨에서 출력된 패리티 값을 수신하고 스캔 아웃 신호에 응답하여 스캔 유닛의 스캔 출력부에서 상기 패리티 값을 출력하도록 구성된 상기 스캔 유닛을 더 포함하는 것을 특징으로 하는 장치.
  11. 제1항에 있어서, 상기 패리티 로직 유닛의 체인은 상기 복수의 저장 유닛에 저장된 상기 데이터의 모두 보다 적은 데이터에 따라 서브 패리티 비트를 생성하도록 구성되어 있는 것을 특징으로 하는 장치.
  12. 제11항에 있어서, 상기 패리티 로직 유닛의 체인은 상기 복수의 저장 유닛에 저장된 데이터에 대한 복수의 서브 패리티 비트를 생성하도록 구성되어 있는 것을 특징으로 하는 장치.
  13. 제11항에 있어서, 상기 패리티 로직 유닛의 체인은 상기 복수의 저장 유닛에 저장된 적어도 하나의 데이터 비트가 상기 서브 패리티 비트의 값에 영향을 주지 않도록 구성되어 있는 것을 특징으로 하는 장치.
  14. 제1항에 있어서, 상기 장치는 복수의 데이터 워드를 저장하도록 구성되어 있고, 상기 패리티 로직 유닛의 체인은 상기 데이터 워드의 각각에 대한 각각의 패리티 비트를 생성하도록 구성되어 있고,
    상기 각각의 패리티 비트중 어느 하나라도 값이 변하면 에러 플래그를 생성하도록 구성된 결합 로직 회로를 더 포함하는 것을 특징으로 하는 장치.
  15. 제1항에 있어서, 상기 장치는 복수의 데이터 워드를 저장하도록 구성되어 있고, 상기 패리티 로직 유닛의 체인은 상기 데이터 워드의 각각에 대한 각각의 패리티 비트를 생성하도록 구성되어 있고,
    논-에러 값 또는 에러 값을 유지하도록 구성된 에러 레지스터를 더 포함하고, 상기 에러 레지스터는 상기 각각의 패리티 비트중 하나 이상의 값이 변하면 상기 에러 값 유지로 전환되도록 구성되어 있는 것을 특징으로 하는 장치.
  16. 복수의 데이터 저장 유닛에 데이터를 저장하는 단계;
    판독 접근에 응답하여 상기 복수의 저장 유닛으로부터 상기 데이터를 출력하는 단계;
    패리티 로직 유닛의 체인으로 패리티 값을 생성하는 단계로서, 상기 패리티 로직 유닛의 체인의 적어도 하나의 패리티 로직 유닛은,
    상기 적어도 하나의 패리티 로직 유닛과 연관된 저장 유닛으로부터 제1 입력을 수신하고,
    상기 적어도 하나의 패리티 로직 유닛의 이전 패리티 로직 유닛으로부터 제2 입력을 수신하고,
    상기 제1 및 제2 입력으로부터 패리티 값을 결정하도록 구성되는 단계; 및
    상기 패리티 값에서의 변화를 검출하는 단계를 포함하는 것을 특징으로 하는 방법.
  17. 복수의 데이터 저장 유닛에 데이터를 저장하기 위한 수단;
    판독 접근에 응답하여 상기 복수의 저장 유닛으로부터 상기 데이터를 출력하기 위한 수단;
    패리티 로직 유닛의 체인으로 패리티 값을 생성하는 수단으로서, 상기 패리티 로직 유닛의 체인의 적어도 하나의 패리티 로직 유닛은:
    상기 적어도 하나의 패리티 로직 유닛과 연관된 저장 유닛으로부터 제1 입력을 수신하기 위한 수단,
    상기 적어도 하나의 패리티 로직 유닛의 이전 패리티 로직 유닛으로부터 제2 입력을 수신하기 위한 수단,
    상기 제1 및 제2 입력으로부터 패리티 값을 결정하기 위한 수단을 포함하는 수단;
    상기 패리티 값을 출력하기 위한 수단; 및
    상기 패리티 값의 변화를 검출하기 위한 수단을 포함하는 것을 특징으로 하는 장치.
KR1020150085225A 2014-06-17 2015-06-16 저장 데이터 값의 에러 검출 KR102283686B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/306,714 US9529671B2 (en) 2014-06-17 2014-06-17 Error detection in stored data values
US14/306,714 2014-06-17

Publications (2)

Publication Number Publication Date
KR20150144715A KR20150144715A (ko) 2015-12-28
KR102283686B1 true KR102283686B1 (ko) 2021-07-30

Family

ID=54836237

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150085225A KR102283686B1 (ko) 2014-06-17 2015-06-16 저장 데이터 값의 에러 검출

Country Status (3)

Country Link
US (1) US9529671B2 (ko)
KR (1) KR102283686B1 (ko)
TW (1) TWI691833B (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9760438B2 (en) * 2014-06-17 2017-09-12 Arm Limited Error detection in stored data values
US9891976B2 (en) 2015-02-26 2018-02-13 Arm Limited Error detection circuitry for use with memory
GB2555627B (en) 2016-11-04 2019-02-20 Advanced Risc Mach Ltd Error detection
US10797078B2 (en) 2018-08-14 2020-10-06 Taiwan Semiconductor Manufacturing Company Limited Hybrid fin field-effect transistor cell structures and related methods
US11429478B2 (en) 2019-06-05 2022-08-30 Stmicroelectronics International N.V. Robust soft error tolerant multi-bit D flip-flop circuit
US11411584B2 (en) * 2020-09-28 2022-08-09 Western Digital Technologies, Inc. Data storage device channel encoding current data using redundancy bits generated over preceding data
US11468962B2 (en) * 2021-03-03 2022-10-11 Micron Technology, Inc. Performing memory testing using error correction code values
KR102669845B1 (ko) * 2023-11-16 2024-05-28 주식회사 에이피랩스 SoC 버스 오류 검출과 메모리 오류 정정 장치 및 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6181164B1 (en) * 1999-01-08 2001-01-30 Xilinx, Inc. Linear feedback shift register in a programmable gate array
US20050223208A1 (en) * 2004-03-05 2005-10-06 Moran Timothy G Transient transceiver clock configuration
US20080040519A1 (en) * 2006-05-02 2008-02-14 Alacritech, Inc. Network interface device with 10 Gb/s full-duplex transfer rate
US20110231732A1 (en) * 2010-03-22 2011-09-22 Phison Electronics Corp. Error correcting method, and memory controller and memory storage system using the same
US20120240014A1 (en) * 2011-03-14 2012-09-20 Infineon Technologies Ag Error Tolerant Flip-Flops
US20120303986A1 (en) * 2011-05-27 2012-11-29 Arm Limited Verifying state integrity in state retention circuits

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3699322A (en) 1971-04-28 1972-10-17 Bell Telephone Labor Inc Self-checking combinational logic counter circuit
JPH03214809A (ja) 1990-01-19 1991-09-20 Nec Corp リニアフィードバック・シフトレジスタ
US5193092A (en) * 1990-12-20 1993-03-09 Vlsi Technology, Inc. Integrated parity-based testing for integrated circuits
US5623506A (en) 1994-01-28 1997-04-22 International Business Machines Corporation Method and structure for providing error correction code within a system having SIMMs
GB2304941B (en) 1995-06-24 1999-09-08 Motorola Ltd Feedback and shift unit
US5523707A (en) * 1995-06-30 1996-06-04 International Business Machines Corporation Fast, low power exclusive or circuit
US5757823A (en) 1995-10-03 1998-05-26 International Business Machines Corporation Error detection and correction for four-bit-per-chip memory system
US6275311B1 (en) 1997-06-30 2001-08-14 Pirelli Cavi E Sistemi S.P.A. Optical device for processing an optical digital signal
DE19733748C2 (de) 1997-08-04 1999-07-15 Bosch Gmbh Robert Datenübertragungsvorrichtung
US6295626B1 (en) 1997-10-20 2001-09-25 Nortel Networks Limited Symbol based algorithm for hardware implementation of cyclic redundancy check
US6018304A (en) 1997-12-18 2000-01-25 Texas Instruments Incorporated Method and apparatus for high-rate n/n+1 low-complexity modulation codes with adjustable codeword length and error control capability
US6332173B2 (en) 1998-10-31 2001-12-18 Advanced Micro Devices, Inc. UART automatic parity support for frames with address bits
US6137734A (en) 1999-03-30 2000-10-24 Lsi Logic Corporation Computer memory interface having a memory controller that automatically adjusts the timing of memory interface signals
US6262596B1 (en) 1999-04-05 2001-07-17 Xilinx, Inc. Configuration bus interface circuit for FPGAS
US6457154B1 (en) 1999-11-30 2002-09-24 International Business Machines Corporation Detecting address faults in an ECC-protected memory
US6433725B1 (en) * 2000-11-27 2002-08-13 Turner Research, Inc. High speed analog-to-digital converter
US6938198B1 (en) 2001-04-12 2005-08-30 Broadband Royalty Corporation Method and system for accelerating ethernet checksums
US7283380B1 (en) * 2001-08-03 2007-10-16 Netlogic Microsystems, Inc. Content addressable memory with selective error logging
DE10147643C2 (de) 2001-09-27 2003-10-09 Infineon Technologies Ag Multiplexerzelle und Multiplexer-Schaltungsanordnung
US7124331B2 (en) 2002-05-14 2006-10-17 Sun Microsystems, Inc. Method and apparatus for providing fault-tolerance for temporary results within a CPU
US7278085B1 (en) 2003-03-06 2007-10-02 Maxtor Corporation Simple error-correction codes for data buffers
WO2005099206A1 (en) 2004-03-09 2005-10-20 Thomson Licensing Cross-encoding of information in independent channels
US7328396B2 (en) 2004-05-28 2008-02-05 International Business Machines Corporation Cyclic redundancy check generating circuit
JP4413091B2 (ja) * 2004-06-29 2010-02-10 株式会社ルネサステクノロジ 半導体装置
US7589362B1 (en) * 2004-07-01 2009-09-15 Netlogic Microsystems, Inc. Configurable non-volatile logic structure for characterizing an integrated circuit device
JP4980565B2 (ja) * 2004-12-21 2012-07-18 富士通セミコンダクター株式会社 半導体メモリ
US8005209B2 (en) 2005-01-06 2011-08-23 Polytechnic University Invariance based concurrent error detection for the advanced encryption standard
US20070011513A1 (en) * 2005-06-13 2007-01-11 Intel Corporation Selective activation of error mitigation based on bit level error count
US7346862B2 (en) 2005-08-19 2008-03-18 Synopsys, Inc. Method and apparatus for optimizing a logic network in a digital circuit
US20070250755A1 (en) 2006-03-29 2007-10-25 Wayne Burleson Dormant error checker
US7886210B2 (en) 2007-02-09 2011-02-08 International Business Machines Corporation Apparatus for pipelined cyclic redundancy check circuit with multiple intermediate outputs
US8112699B2 (en) * 2008-02-14 2012-02-07 Atmel Rousset S.A.S. Error detecting/correcting scheme for memories
US8225187B1 (en) 2008-03-31 2012-07-17 Xilinx, Inc. Method and apparatus for implementing a cyclic redundancy check circuit
TWI419481B (zh) * 2009-12-31 2013-12-11 Nat Univ Tsing Hua 低密度奇偶檢查碼編解碼器及其方法
US8438344B2 (en) * 2010-03-12 2013-05-07 Texas Instruments Incorporated Low overhead and timing improved architecture for performing error checking and correction for memories and buses in system-on-chips, and other circuits, systems and processes
US8365055B2 (en) 2010-06-24 2013-01-29 International Business Machines Corporation High performance cache directory error correction code
US8694862B2 (en) 2012-04-20 2014-04-08 Arm Limited Data processing apparatus using implicit data storage data storage and method of implicit data storage
GB2505705A (en) 2012-09-10 2014-03-12 St Microelectronics Res & Dev Circuit for combining signals comprising a plurality of edge detectors
US9122625B1 (en) * 2012-12-18 2015-09-01 Western Digital Technologies, Inc. Error correcting code encoder supporting multiple code rates and throughput speeds for data storage systems
US20140325303A1 (en) 2013-04-30 2014-10-30 Lsi Corporation Systems and Methods for Protected Data Encoding
GB2520232A (en) 2013-08-06 2015-05-20 Univ Edinburgh Multiple Event Time to Digital Converter
US9471416B2 (en) 2014-02-28 2016-10-18 Cavium, Inc. Partitioned error code computation
US9244124B2 (en) * 2014-03-28 2016-01-26 International Business Machines Corporation Initializing and testing integrated circuits with selectable scan chains with exclusive-or outputs
US9760438B2 (en) 2014-06-17 2017-09-12 Arm Limited Error detection in stored data values

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6181164B1 (en) * 1999-01-08 2001-01-30 Xilinx, Inc. Linear feedback shift register in a programmable gate array
US20050223208A1 (en) * 2004-03-05 2005-10-06 Moran Timothy G Transient transceiver clock configuration
US20080040519A1 (en) * 2006-05-02 2008-02-14 Alacritech, Inc. Network interface device with 10 Gb/s full-duplex transfer rate
US20110231732A1 (en) * 2010-03-22 2011-09-22 Phison Electronics Corp. Error correcting method, and memory controller and memory storage system using the same
US20120240014A1 (en) * 2011-03-14 2012-09-20 Infineon Technologies Ag Error Tolerant Flip-Flops
US20120303986A1 (en) * 2011-05-27 2012-11-29 Arm Limited Verifying state integrity in state retention circuits

Also Published As

Publication number Publication date
KR20150144715A (ko) 2015-12-28
US20150363268A1 (en) 2015-12-17
TWI691833B (zh) 2020-04-21
TW201610664A (zh) 2016-03-16
US9529671B2 (en) 2016-12-27

Similar Documents

Publication Publication Date Title
KR102283686B1 (ko) 저장 데이터 값의 에러 검출
CN102084430B (zh) 用于修补高容量/高带宽存储器装置的方法及设备
TWI733967B (zh) 用於修復操作的修復電路以及包括修復電路的記憶體裝置
JP4899556B2 (ja) 半導体集積回路
KR102271054B1 (ko) 저장 데이터 값의 에러 검출
US10665316B2 (en) Memory device
JP4353329B2 (ja) 半導体記憶装置及びそのテスト方法
US20050157565A1 (en) Semiconductor device for detecting memory failure and method thereof
US20090049350A1 (en) Error correction code (ecc) circuit test mode
JP5611916B2 (ja) 半導体集積回路
US8341470B2 (en) Semiconductor memory device supporting read data bus inversion function and method of testing the semiconductor memory device
JP4793741B2 (ja) 誤り訂正回路、誤り訂正方法
US8671317B2 (en) Built-in self test circuit and designing apparatus
US10180888B2 (en) Memory sparing on memory modules
US20230259433A1 (en) Systems and methods to test an asychronous finite machine
US20180090221A1 (en) Boot-up control circuit and semiconductor apparatus including the same
US8516336B2 (en) Latch arrangement for an electronic digital system, method, data processing program, and computer program product for implementing a latch arrangement
JP2010040092A (ja) 半導体集積回路
US7719908B1 (en) Memory having read disturb test mode
US11385288B2 (en) Device, method and system of error detection and correction in multiple devices
US10381104B2 (en) Semiconductor device
CN108694987B (zh) 半导体存储装置及其测试方法
JP5385871B2 (ja) 半導体記憶装置
US8549371B1 (en) Semiconductor memory device
JPS63133245A (ja) 故障検出回路

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant