KR101805234B1 - 데이터 메모리의 모니터링 방법, 비일시적 컴퓨터 판독가능 저장 매체 및 보조 메모리 - Google Patents

데이터 메모리의 모니터링 방법, 비일시적 컴퓨터 판독가능 저장 매체 및 보조 메모리 Download PDF

Info

Publication number
KR101805234B1
KR101805234B1 KR1020137000864A KR20137000864A KR101805234B1 KR 101805234 B1 KR101805234 B1 KR 101805234B1 KR 1020137000864 A KR1020137000864 A KR 1020137000864A KR 20137000864 A KR20137000864 A KR 20137000864A KR 101805234 B1 KR101805234 B1 KR 101805234B1
Authority
KR
South Korea
Prior art keywords
memory
data
stored
data memory
error
Prior art date
Application number
KR1020137000864A
Other languages
English (en)
Other versions
KR20130031888A (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 KR20130031888A publication Critical patent/KR20130031888A/ko
Application granted granted Critical
Publication of KR101805234B1 publication Critical patent/KR101805234B1/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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

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)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

본 발명은 데이터 메모리(10)를 모니터링 하기 위한 방법에 관한 것이며, 상기 모니터링 방법의 경우 에러 검출 방법에 의해 데이터 메모리(10)의 메모리 라인들(33) 내에 저장된 에러가 있는 데이터 워드들(24)이 검출 및/또는 보정되며, 에러 검출 방법에 의해 에러가 있는 것으로서 평가되는 데이터 워드(24)가 저장되어 있는 데이터 메모리(10)의 주소(30)는 보조 메모리(14)에 기록되고 검사 프로그램(18)에 제공된다.

Description

데이터 메모리의 모니터링 방법, 비일시적 컴퓨터 판독가능 저장 매체 및 보조 메모리{METHOD, NON-TRANSITORY COMPUTER READABLE STORAGE MEDIUM, AND AUXILIARY MEMORY FOR MONITORING A DATA MEMORY}
본 발명은 데이터 메모리를 모니터링 하기 위한 방법에 관한 것이며, 상기 모니터링 방법의 경우 에러 검출 방법에 의해 데이터 메모리에 저장된 에러가 있는 데이터 워드들이 검출되고 그리고/또는 보정된다.
또한, 본 발명은 상기 모니터링 방법을 실행하기 위한 검사 프로그램과, 이 검사 프로그램을 포함하는 메모리 매체와, 보조 메모리에 관한 것이다.
오늘날의 마이크로 컨트롤러는 예컨대 정적 데이터 메모리[RAM, "랜덤 액세스 메모리(random access memory)"]를 위한 수백 킬로바이트 크기의 데이터 메모리 또는 예컨대 소위 플래시 메모리에 프로그램들을 영구적으로 저장하기 위한 수 메가바이트 크기의 데이터 메모리를 필요로 한다. 높은 저장 용량 또는 이런 저장 용량의 기술적 구현에 상응하게 데이터 에러는 비교적 빈번하게 발생하거나 적어도 발생할 가능성이 있다. 기본적으로 2가지 에러 현상이 존재한다. 첫 번째로는 기록 주기 및 판독 주기가 반복되더라도 개선이 이루어지지 않는 지속적인 에러이다. 두 번째로는 RAM 메모리에서 예컨대 알파 방사선으로 인해, 기록-판독 주기 이후에는 다시 사라지는 개별적인 데이터 에러들이 발생할 수 있다.
그러므로 데이터 무결성(data integrity)의 개선을 위해 에러 방지 방법[ECC, "에러 보정 코드(error correction code)"]이 자주 이용된다. 예컨대 단일 비트 에러들은 항상 보정될 수 있다. 2-비트 에러들은 항상 검출될 수 있으며, 다중 비트 에러들도 대부분 검출될 수 있다(그러나 항상 그런 것은 아니다). 그러나 ECC 방법은 다중 에러를 갖는 복수의 데이터 워드를 경우에 따라, 비트 에러를 가지면서 원래 내용(original content)과 상이한 데이터 워드로서 평가하고 이에 상응하게 상기 데이터 워드를 잘못 보정한다.
랜덤으로 형성되는 데이터 워드들에 예시의 ECC 방법을 적용한 결과 확인된 점에 따르면, 상기 ECC 방법은 일련의 데이터 워드들 중에서 예컨대 28퍼센트를 단일 에러를 갖는 유효한 데이터 워드들로서 평가하고, 데이터 워드들 중 나머지 72퍼센트를 (ECC 방법의 각각의 형성 규칙과 관련하여) 무효한 것으로서 평가한다. 그러나 안전에 문제가 되는 적용 시에 국제 표준에 의한 요건은 매우 까다롭다. 예컨대 표준 ISO 26262, ASIL-D는 상기와 같이 랜덤으로 형성되는 데이터 워드들 중 99퍼센트를 초과하는 부분이 무효한 것으로 검출되어야 한다고 요구한다.
그러므로 종래 기술에 따라 확장된 조치에 따르면, 예컨대 다중 비트 에러들에서도 데이터 에러들의 보정 또는 검출을 개선하기 위해, 데이터 워드들에 부가되는 검사 비트(소위 잉여 비트)의 개수를 높인다. 이는 데이터 메모리의 메모리 요소들을 추가적으로 복잡하게 하면서 이에 상응하게 데이터 메모리의 가격을 인상시킨다.
또한, ECC 방법은 연속해서 이른바 내부 코딩(ECC)과 외부 코딩(EDC, CRC)이 데이터 워드들에 적용됨으로써 2단계로 실행될 수 있다. 그러나 이런 방법 역시도 복잡하면서도 고가이다.
본 발명은, 에러 검출 방법에 의해 에러가 있는 것으로서 평가되는 각각의 데이터 워드가 저장되어 있는 데이터 메모리의 하나 또는 복수의 주소가 보조 메모리에 기록되고 검사 프로그램에 제공됨으로써 전술한 방법의 개선을 제안한다. 이하에서는 에러들을 보정하는 방법(소위 에러 보정 방법)도 에러 검출 방법으로서 간주한다.
본 발명에 따른 방법은, 데이터 메모리의 데이터 워드들이 에러들 및/또는 결함들에 대해 특히 양호하게 보호될 수 있으면서도, 데이터 메모리를 확대할 필요 없거나 다단계의 에러 검출 방법을 적용할 필요가 없다는 장점을 갖는다.
본 발명은, 오늘날의 데이터 메모리가 매우 많은 수의 데이터 워드를 저장할 수 있으며, 동시에 휘발성 에러들이나 지속적인 결함들에 대한 민감성이 물리적 조건에 따라 상승한다는 고려 사항을 기초로 한다. 특히 본 발명은, 데이터 메모리 내 휘발성 에러들 또는 지속적인 결함들이 빈번하게 단일 또는 소수의 메모리 라인들 또는 이 메모리 라인에 저장된 데이터 워드들에만 관계한다는 사실을 고려한다. 그에 따라, 데이터 무결성을 개선하기 위한 통상적인 예방 조치는 데이터 메모리의 크기에 비례하는 비용을 요구한다는 점에 한해서 적합하지 않은 것으로서 증명된다.
그러므로 본 발명에 따라서 에러 검출 방법, 다시 말하면 예컨대 ECC 방법에 의해 에러가 있는 것으로서 평가되는 데이터 워드가 저장되어 있는 데이터 메모리의 주소들은 보조 메모리에 기록되고 이에 따라 별도로 처리된다. 그럼으로써 비용은 전체적으로 비교적 낮게 유지될 수 있다. 보조 메모리에 저장된 정보들은 바람직하게는 검사 프로그램에 제공되고 예컨대 규칙적으로 검사 프로그램에 의해 분석된다. 그에 따라 데이터 메모리의 데이터 무결성을 높이기 위한 조치들이 하기에서 가능한 실시예에 따라 계속해서 설명되는 바와 같이 유도된다.
개념 설명에 대해서는 하기 사항이 주지된다. 데이터 메모리는 각각 데이터 메모리의 이른바 메모리 라인을 지시하는 "주소들"을 통해 제어된다. 데이터 메모리의 각각의 메모리 라인은 복수의 (물리적) 소위 저장 위치를 포함하며, 이들 저장 위치에는 각각 단일 비트 정보, 다시 말해 단일 데이터 비트가 저장된다. 메모리 라인에 저장된 데이터 비트 전체는 데이터 워드로서 지칭된다. 메모리 라인들 또는 저장 위치들에서는 "휘발성 에러"이거나 "지속적인 결함"인 "에러들"이 발생할 수 있다. 보조 메모리는 소정 개수(N)의 "주소 레지스터"에 주소들을 저장하며, 각각의 주소 레지스터에, 예컨대 "할당 비트"를 포함하는 추가 정보가 저장된다. "데이터"는 데이터 메모리들에 저장될 수 있는 임의의 정보를 의미한다.
바람직한 실시예에 따라, 에러 검출 방법은 실질적으로 데이터 메모리에 할당된 전자 회로에 의해 실행된다. 상기 에러 검출 방법은 예컨대 소위 "에러 보정 코딩"(ECC, Error Correction Coding)으로서 구현된다. 이는 바람직하게는 데이터 메모리에 기록될 데이터가, 차후 판독 시에 함께 검출되어 평가되는 소위 잉여 비트만큼 보충되게끔 하는 전자 회로에 의해 구현될 수 있으며, 그럼으로써 특정 에러들 또는 에러 패턴들이 검출 및/또는 보정될 수 있게 된다. 그럼으로써 경우에 따라 계산 시간은 절감되고 비용은 감소될 수 있다.
본원의 방법의 구현예에 따라, 에러 검출 방법에 의해 단일 비트 에러와 결부된 것으로서 평가된 데이터 워드들을 갖는 주소들만이 보조 메모리에 기록된다. 단일 비트 에러들은 특별한 방식으로, 휘발성 에러들(다시 말해 일시적으로 단일의 기록 및 판독 과정에만 관계하는 에러들)의 발생뿐 아니라, 데이터 메모리의 저장 위치들의 지속적인 결함을 나타낸다. 그 밖에도 단일 비트 에러들의 경우 시스템 레벨에서 무결성 및 신뢰성을 보장하기 위해 하위의 시스템 조치를 이용할 수 있다.
보조 메모리에 저장된 각각의 주소에 대해, 상기 주소의 유효 여부가 표시된다면, 보조 메모리의 관리는 단순화된다. 예컨대 각각의 주소에 대해 함께 저장된 "할당 비트"에 의해서는 간단한 방식으로 이에 따라 "유효한" 주소를 포함하는 할당된 주소 레지스터가, 할당되지 않은, 다시 말하면 비어 있는 주소 레지스터와 구분될 수 있다. 따라서 보조 메모리는 특히 효율적으로 이용될 수 있다. 그러므로 초기화 시에 바람직하게는 상기 할당 비트들은 무효한 것으로 설정된다.
또한, 에러 검출 방법에 의한 에러가 있는 데이터 워드의 검출 시에 우선 보조 메모리의 유효한 주소들이, 에러가 있는 데이터 워드의 주소가 이미 저장되었는지의 여부와 관련하여 분석된다. 만일 에러가 있는 데이터 워드의 주소가 저장되어 있는 경우라면, 보조 메모리의 내용은 변경되지 않는다. 그에 반해서 에러가 있는 데이터 워드의 주소가 보조 메모리에 저장되어 있지 않다면, 비어 있는 주소 레지스터 내 저장이 이루어지며, 해당하는 할당 비트가 설정된다.
특히 본원의 방법에 의해서, 주소가 보조 메모리에 저장되는 데이터 워드는, 데이터 워드가 단일 비트 에러 또는 다중 비트 에러를 포함하는지의 여부 및/또는 데이터 워드의 메모리 라인이 단일 비트 에러 또는 다중 비트 에러에 상응하는 결함을 포함하는지의 여부 및/또는 데이터 워드의 메모리 라인들의 에러가 일시적으로 또는 지속적으로 발생하는지의 여부 및/또는 메모리 라인의 내부에서 어떠한 저장 위치들에 각각 관계하는지와 관련하여 검사 프로그램에 의해 분석된다. 그에 따라 데이터 워드 또는 메모리 라인과 이 메모리 라인에 포함된 저장 위치들은 특히 기본적으로 분석 및 평가되고 경우에 따라 보정될 수 있다. 이에 대한 상세 내용은 하기의 절들에서 본 발명의 일 실시예에 의해 더욱 상세하게 설명된다.
특히, 휘발성 에러가 검출되는 경우, 보조 메모리의 주소 레지스터에서 해당하는 주소를 소거하거나, 해당하는 할당 비트를 재설정할 수 있다. 그 외에 할당되지 않은 주소 레지스터가 완전하게 이진 제로들(binary zero)로 채워지는 점에 한해서 할당 비트의 이용을 완전히 생략할 수도 있다.
본원의 방법은, 검사 프로그램이 휘발성 메모리의 경우에, 기대되는 에러 메커니즘에 매칭된 기록-판독 검사를 실행하고, 비휘발성 메모리의 경우에서는 CRC 코딩의 체크섬(checksum)을 이용한 에러 검사를 실행한다면, 데이터 메모리의 구조에 따라 차별화된 방식으로 적용될 수 있다. 예컨대 휘발성 메모리들에서 단일 비트 에러들과 다중 비트 에러들 간의 구분은 바람직하게는 각각 기대되는 에러 패턴들에 매칭된 기록-판독 검사에 의해 이루어진다. 비휘발성 메모리들의 경우 이는 CRC 체크섬 방법["순환 중복 검사(Cyclic Redundancy Check)]에 의해, 다시 말하면 더욱 큰 데이터 블록에 걸친 순환 중복 검사에 의해 이루어질 수 있다.
본원의 방법의 바람직한 구현예에 따라, 첫 번째로 정확하게 보정 가능한 에러들 간에, 두 번째로 잘못 보정되었거나 잘못 검출된 다중 비트 에러들 간에, 그리고/또는 세 번째로 휘발성 에러들 또는 지속적인 결함들 간에 구분이 이루어진다. 특히 이는 본 발명에 따라 바람직하게는 컴퓨터 지원 절차들에 의해, 다시 말하면 소프트웨어를 기반으로 이루어진다. "정확하게 보정 가능한 에러들"은 어느 경우든 통상적인 ECC 크기를 기초로 하여 단일 비트 에러들을 의미한다. 그러나 이용되는 기술 수단들에 따라서는 정확하게 보정 가능한 에러들이 다중 비트 에러들도 의미할 수 있다. 그러므로 이와 같은 구분을 위해 전자 회로에 대한 추가적인 비용은 요구되지 않으며, 본원의 방법은 유연하게 실행될 수 있고 개별적으로 매칭될 수 있다.
보충적으로, 단일 비트 에러 및/또는 다중 비트 에러 및/또는 단일 비트 결함 및/또는 다중 비트 결함의 허용 개수에 대해 한계 값들이 사전 설정되고, 하나 이상의 한계 값이 초과되는 경우 메모리 관리 장치의 반응이 이루어진다. 그럼으로써, 예컨대 한편으로 데이터 무결성과 관련하여, 그리고 다른 한편으로는 데이터 메모리의 가용성과 관련하여, 본원의 방법은 각각의 요건에 간단하게 매칭될 수 있다. 예컨대 이미 단일 비트 결함 및/또는 개별 다중 비트 에러들 또는 다중 비트 결함들에서 (다중 비트 에러들 또는 다중 비트 결함들은 경우에 따라 보정되지 않는다) 하기에서 더욱 상세하게 설명되는 메모리 관리 장치의 반응이 이루어질 수 있다.
본원의 방법은, 메모리 관리 장치의 반응이 하기의 조치들 중 하나 이상의 조치를 포함할 때 특히 유용하다.
- 결함 있는 메모리 라인의 비활성화 및/또는 대체 메모리 라인의 할당,
- 결함 있는 메모리 라인 영역의 비활성화 및/또는 대체 메모리 라인 영역의 할당,
- 메시지, 경보(alarm) 및/또는 에러 비트의 형성,
- 안전한 것으로서 평가되는 상태로 데이터 메모리의 전환 및/또는 데이터 메모리의 상위 시스템의 전환.
그에 따라 결함 있는 것으로서 검출되는 단일 또는 복수의 메모리 라인이 비활성화될 수 있고, 대체 메모리 라인들 또는 심지어는 대체 메모리 라인 영역들이 할당될 수 있다. 이를 위해 적합한 방법들은 앞서 공지되었다. 또한, 메시지 또는 경보도 형성될 수 있으며, 이는 예컨대 가령 자동차에서처럼 안전에 민감한 시스템에서 중요하다. 또한, 필요에 따라서는, 데이터 메모리 또는 상위 시스템 또는 부분 시스템이, 안전한 것으로서 평가되는 매칭 상태로 전환될 수도 있다.
검사 프로그램의 기능과 무관하게 대안적으로 또는 보충적으로 보조 메모리의 오버플로우 신호에 의해 데이터 메모리 및/또는 상위 시스템은 안전한 것으로서 평가되는 상태로 전환될 수 있다.
또한, 본 발명에 따라, 보조 메모리의 내용은 데이터 메모리의 스위치 오프 또는 이 데이터 메모리의 상위 시스템의 스위치 오프 이전에 비휘발성 메모리에 백업되고 스위치 온 이후에 상기 비휘발성 메모리로부터 다시 재구성될 수 있다. 그에 따라 선행된 작동의 에러 히스토리가 계속 유지되고, 후속하는 스위치 온 이후에 바람직하게는 예컨대 특히 빈번하게 국소화되는 에러들 또는 결함들을 신속하게 검출하여 제거하거나 우회하기 위해 다시 이용될 수 있다.
본원의 방법의 보충 사항은, 휘발성 에러들 및/또는 지속적인 결함들이 계수되고 그리고/또는 통계학적으로 평가되는 것에 있다. 그에 따라 검사 프로그램은 확장되고 데이터 메모리의 유용성의 판단을 위해 보충되는 연산을 실행할 수 있지만, 이런 연산은 에러 검출을 위한 종래의 회로로는 실행할 수 없다.
이에 보충적으로, 계수 및/또는 통계학적 평가의 결과가 데이터 메모리의 제조업체 또는 상위 시스템의 제조업체로 전송된다. 이런 전송은 (기술적인 측면에서 적어도 준비되어 있는 것과 같은) 원격 제어식 진단 시스템에 의해 이루어질 수 있고, 예컨대 자동차의 제조업체 및/또는 데이터 메모리의 제조업체로, 시작될 수 있는 문제들에 대한 조기의 정보들을 전송할 수 있다.
본원의 방법은, 스위치 온 이후에, 그리고/또는 데이터 메모리의 작동 동안 기능 검사가 실행되면, 그리고 그럼으로써 기능 검사 동안 본원의 방법에 따라 에러가 있는 것으로서 평가된 메모리 라인들을 지시하는, 데이터 메모리의 주소들이 보조 메모리에 기록될 때, 더욱 효과적으로 실행된다. 기능 검사는 휘발성 메모리의 경우 바람직하게는 기록-판독 검사로서 형성되고, 휘발성 메모리의 경우에서는 판독 전용 검사로서 형성된다. 그에 따라 경우에 따라 존재하는 절차들이 본원의 방법에 의해 바람직하게 보충될 수 있고, 본 발명에 따라 데이터 메모리 내 데이터 무결성의 판단을 위해 이용될 수 있는 추가의 정보들이 형성된다.
또한, 기록-판독 검사와 결부되어서는, 주소들이 보조 메모리에 저장되어 있는 메모리 라인들에 대해 제1 체크섬이 형성되고, 제1 체크섬은 저장되며, 데이터 메모리의 추가의 작동에서 보조 메모리에 저장되었던 주소들을 갖는 메모리 라인들에 대해 하나 이상의 추가 체크섬이 규칙적으로 형성되며, 그리고 상기 하나 이상의 추가 체크섬은 상기 제1 체크섬과 비교된다.
바람직한 실시예에 따라, 제1 체크섬을 형성하기 위해 이용되는 주소들이 추가로 백업된다. 이처럼 추가로 백업되는 주소들은 이어서 하나 이상의 추가 체크섬의 형성을 위해 이용될 수 있다. 그에 따라, 추가 체크섬들이 보조 메모리의 현재 내용과 무관하게 형성될 수 있는 점이 달성된다.
그럼으로써 바람직하게는 변경 또는 가변되지 않는 것으로서 알고 있는 개별 메모리 라인들 또는 메모리 라인 영역들을 규칙적으로 검사할 수 있다. 데이터 메모리의 작동 시작 및 소정의 작동 시간 후에, 그리고 본 발명에 따른 방법의 실행과 경우에 따라서는 기록-판독 검사의 실행에 의해, 보조 메모리에는 단일 비트 에러 또는 단일 비트 결함과 결부된 것으로서 평가된 메모리 라인들의 주소들이 존재한다. 상기 단일 비트 에러들 또는 단일 비트 결함들은 에러 검출 장치에 의해 보정 가능한 것으로서 승인된다. 에러 검출 장치의 각각의 실시예에 따라, 경우에 따라서는, 사정에 따라 보정 가능한 다중 비트 에러들 또는 다중 비트 결함들과 함께 동일한 방식으로 처리가 이루어질 수 있다. 그런 다음 보조 메모리에 저장된 주소들의 (에러 검출 장치에 의해 정확하게 보정되는) 데이터 워드들에 대해 예컨대 CRC 방법에 따라 체크섬이 형성되어 저장된다. 이 경우 예컨대 이중 저장에 의한 백업 저장도 유용할 수 있다. 보충적으로, 보조 메모리의 주소들을 추가로 저장하는 점도 생각해볼 수 있다. 이어서 순환적으로 또는 규칙적으로 진행되는 검사가, 보조 메모리에 존재하는 주소들에 대해 (또는 앞서 추가로 저장된 주소들에 대해) 체크섬이 형성되고, 작동 시작 이후에 형성되어 저장된 체크섬과 비교되는 방식으로 실행된다. 비교 결과 일치하지 않으면, 에러의 심각도에 매칭되는 반응이 이루어질 수 있다. 이런 절차의 장점은, 검사가 비교적 짧은 시간 동안 지속되고 그로 인해 데이터 메모리 또는 상위 시스템의 정상적인 작동 동안에도 이루어질 수 있다는 점에 있다. 검사 동안 그 사이 추가의 에러가 있는 메모리 라인들 또는 메모리 라인 영역들이 검출된 점에 한해서, 설명한 순환적으로 또는 규칙적으로 진행되는 검사를 이에 상응하게 매칭하는 점도 유용할 수 있다.
이 경우 유용할 수 있는 점에 따라, 기록-판독 검사는 메모리 라인 영역들에 할당되고 상이한 메모리 라인 영역들이 독립적으로 연속해서 기록-판독 검사가 실행된다. 그에 따라, 데이터 메모리의 능동적인 작동 동안에도 기록-판독 검사와, 이 기록-판독 검사를 토대로 하는, 주소들과 데이터 워드들의 본 발명에 따른 처리를 실행할 수 있다. 이를 위해 경우에 따라서는, 지정된 메모리 영역에 대해 우선 내용의 백업 사본을 작성하고, 그런 다음 상기 영역에서 기록-판독 검사를 실행하며, 그런 후에 백업 사본을 다시 상기 영역에 다시 복사할 필요가 있다.
보충적으로, 에러 검출 방법 또는 이 에러 검출 방법을 실행하는 전자 회로는 데이터 메모리의 스위치 온 이후에 그리고/또는 데이터 메모리의 작동 동안에 데이터 메모리의 적합한 기능에 대해 검사된다. 이처럼 본 발명에 따른 방법에 대한 기초를 나타내는 에러 검출 방법이 에러 없이 실행되는 점이 보장될 수 있다.
또한, 본 발명은 컴퓨터 상에서 실행될 수 있고 본 발명에 따른 방법을 실행할 수 있는 방식으로 프로그래밍 되는 검사 프로그램에도 관한 것이다. 여기서 "컴퓨터"는 하나 이상의 프로그램 메모리와 이 프로그램 메모리에 접근하는 논리 회로를 포함하는 모든 유형의 장치를 의미한다. 다시 말하면 예컨대 컴퓨터, PC, 가령 자동차의 개회로 및/또는 폐회로 제어 장치, 부울 논리를 이용하는 상태 머신, 마이크로 프로세서 시스템, 마이크로 컨트롤러, 지능형 USB 메모리 장치[USB, "범용 직렬 버스(Universal Serial Bus)"] 등이 있다.
또한, 본 발명은 본원의 방법을 실행하기 위한 보조 메모리에도 관한 것이다. 상기 보조 메모리는 독립적인 유닛으로서 형성될 수 있거나, 임의의 존재하는 메모리 시스템이나 전자 회로에 통합될 수도 있다.
이하에서는 본 발명의 복수의 추가 구현예가 연속적인 요약 설명으로 설명된다. 상기 구현예들은 개별적으로, 또는 임의의 조합 구성으로도 본 발명에 대해 중요할 수 있다.
안전에 매우 문제가 되는 적용의 경우, 일 조치에 따라, 휘발성 에러들을 허용할 수 있기는 하지만, 이미 개별의 지속적인 단일 비트 결함으로 인해 반응을 야기하거나, 데이터 메모리 또는 상위 시스템을 안전한 것으로서 평가되는 상태로 전환할 수 있다.
그에 반해 가용성이 매우 중요한 적용의 경우에는, 검사 프로그램의 이용을 완전하게 생략하고 에러 처리를 실질적으로 에러 보정으로 제한할 필요가 있을 수 있다.
데이터 메모리 내 휘발성 에러들은 이러한 에러 검출 이후에 즉시 검사 프로그램에 따라 보정될 수 있거나, 또는 대안적으로 해당하는 저장 위치가 모니터링 되고 있는 기간에 상당하는 시간 동안 대기가 이루어질 수 있다.
검사 프로그램은 휘발성 에러들의 발생 비율을 산출할 수 있고, 이 비율이 한계 값을 초과하는 경우에는 추가 검사 및/또는 조치를 실행할 수 있다.
데이터 메모리의 스위치 오프 이전에, 검사 프로그램은 플래시 메모리의 저장 위치이면서 에러가 있는 것으로서 평가되는 상기 저장 위치들을 다시 기록하고자 하는 시도를 할 수 있다.
검사 프로그램은 데이터 메모리를 복수의 메모리 라인 영역으로 분할하고, 안전에 문제가 되는 데이터 내용을 위해, 지속적인 결함이 없는 메모리 라인 영역들을 이용할 수 있다.
검사 프로그램은 검출된 단일 비트 에러들 및/또는 단일 비트 결함들을 각각의 메모리 라인 영역에 할당할 수 있고, 상기 에러들과 결부되고 안전에 문제가 되는 것으로서 평가되는 메모리 라인 영역들에 대해 특별한 검사를 실행할 수 있다.
하기에서 설명되는 본 발명의 가능한 구현예들은 실질적으로 기록-판독 검사와 결부되는 데이터 메모리의 본원의 방법에 따른 검사에 관한 것이다.
데이터 메모리를 검사하는 기록-판독 검사는 특별한 기록-판독 검사 프로그램에 의해 이루어질 수 있거나, 대안적으로 적어도 부분적으로 전자 회로에 의해 이루어질 수 있다. 기록-판독 검사가 프로그램 지원 절차에 의해 실행된다면, 이미 검사의 실행에 의해 트리거링 되는 방식으로 보조 메모리는 에러가 있는 메모리 라인들의 주소들로 기록될 수 있다.
비휘발성 메모리, 예컨대 플래시 메모리 또는 ROM 메모리("판독 전용 메모리")의 판독 전용 검사 시에는 체크섬들이 데이터 메모리 전체에 대해, 또는 개별 메모리 라인 영역들에 대해 형성될 수 있다. 추가로 에러 검출 장치가 활성화될 수 있고, 에러들 중 어떠한 에러가 에러 검출 장치에 의해 보정될 수 있는지가 검사될 수 있다. 그 외에 본 발명에 따른 방법에 의해, 에러들이 관계하는 메모리 라인들의 주소들이 보조 메모리에 기록되고 검사 프로그램에 제공될 수 있다. 대안적으로 에러 검출 장치가 비활성화된 경우에도 비휘발성 데이터 메모리가 판독될 수 있고 그 결과는 비교를 위해 이용될 수 있다.
보충적으로, 메모리 라인의 각각의 저장 위치에 대해 한번은 에러 검출의 작용을 이용하고, 한번은 에러 검출의 작용을 이용하지 않는 조건에서 접근이 이루어지게 하고, 그런 후에 각각 두 결과들이 비교되도록, 기록-판독 검사 또는 판독 전용 검사를 실행하는 점을 생각해볼 수 있다. 잉여 비트들 내에서 경우에 따른 에러를 검출하기 위해, 보충적으로, 데이터 워드들과 해당하는 잉여 비트들의 새로운 계산이 이루어질 수 있으며, 그런 후에 새로이 계산된 잉여 비트들은 메모리 라인 내에 이전에 저장된 잉여 비트들과 비교될 수 있다.
기록-판독 검사의 목적은, 에러가 있는 것으로서 평가되는 모든 메모리 라인의 주소들로 보조 메모리를 채우는 것일 수 있다. 이에 후속하여, 주소들이 지금까지 보조 메모리 내에 존재하지 않은 메모리 라인들에서 발생하는 에러들이 검출 및/또는 보정된 경우, 새로운 유형의 에러가 추론될 수 있고 적합한 조치가 실행될 수 있다. 이는 경우에 따라 상위 시스템의 소위 인터럽트, 즉 "중단"에 의해 유도될 수 있으며, 이때 인터럽트는 예컨대 데이터 메모리의 정상적인 작동에서 보조 메모리의 할당 비트가 설정될 때 형성된다.
다음에서 설명되는 본 발명의 가능한 구현예들은 실질적으로 기능성과 관련한 에러 검출 장치의 검사와 결부되는 데이터 메모리의 본원에 방법에 따른 검사에 관한 것이다.
예컨대 데이터 메모리 또는 상위 시스템의 스위치 온 이후에 기능성과 관련하여 에러 검출 장치의 검사가 실행되는 점에 한해서, 에러 검출 장치를 검사하는 논리(다시 말해 전자 회로)는 데이터 메모리 또는 상위 시스템의 일반적인 자가 검사(self-test) 동안 바람직하게는 함께 검사될 수 있다. 그럼으로써 에러 검출 장치의 검사는 훨씬 더 확실해질 수 있다. 각각의 실시예가 기술적 측면에서 가능한 점에 한해서, 에러 검출 장치 및/또는 이 에러 검출 장치를 검사하는 논리는 작동 시작 시뿐 아니라 데이터 메모리의 정상적인 작동 동안에도, 비교 가능한 방식으로 검사될 수 있다. 검사하는 논리에 대안적으로, 에러 검출 장치의 검사는 특별한 프로그램 부분에 의해서도 이루어질 수 있다. 선택적으로 검사는 정상적인 작동 중에 보조 메모리가 비어있지 않을 때에만 실행될 수도 있다.
보충적으로 에러 검출 장치는, 의도적으로 에러가 있도록 기록되거나 에러가 있는 것으로 알려진 하나 또는 복수의 데이터 워드가 데이터 메모리에서 판독되고 이런 관점에서 에러 검출 장치의 보정 특성이 검사되고 그리고/또는 평가되면서, 검사될 수 있다.
작동 중 기록될 수 없는 메모리들의 경우 의도적으로 에러가 있는 데이터 워드들이 사전 설정된 주소들에 기록될 수 있으며, 더욱 정확하게 말하면 단일 비트 에러들뿐 아니라 다중 비트 에러들도 기록될 수 있다. 그러므로 에러 검출 장치의 기능성은 상기 주소들에 대한 접근을 통해 검사될 수 있다. 이 경우 보조 메모리의 오버플로우를 방지하기 위해 데이터 메모리의 판독 전용 검사에서 상기 주소들을 제거하는 것이 유용할 수 있다. 검사의 만료 후에 사전 설정된 주소들은 보조 메모리에서 다시 소거되고 해당하는 할당 비트가 재설정될 수 있다.
RAM 메모리나, 기타 작동 중 기록이 가능한 데이터 메모리의 실시예들에서는, 의도적으로 에러가 있는 데이터 워드들이 프로그램 부분에 의해서도 작동 동안, 에러 검출 장치가 일시적으로 비활성화된 경우 데이터 워드들과 해당하는 잉여 비트들이 분리되어 형성되어 기록됨으로써 형성될 수 있다. 그런 후에 에러 검출 장치의 검사가 실행된다. 이 경우 지금까지 에러가 있는 것으로 평가되지 않았던 메모리 라인들로 상기 검사를 제한하는 점이 유용할 수 있다. 마찬가지로 검사의 만료 이후에 사전 설정된 주소들과, 해당하는 할당 비트를 다시 소거하고 재설정하는 것이 유용할 수 있다.
또한, 데이터 메모리가 이미 검출된 에러들 또는 지속적인 결함들을 포함할 때에만 에러 검출 장치의 검사를 실행하고, 이 경우 에러가 있는 것으로서 평가되는 메모리 라인들만을 이용할 수도 있다.
보충적으로, 에러 검출 장치의 검사를 규칙적으로 실행할 수 있으며, 이 경우에는, 검사가 반복되는 경우 데이터 메모리 전체가 실질적으로 검사에 의해 고려될 수 있는 방식으로, 매번 또 다른 메모리 라인 영역이 이용된다.
다음에서 설명되는 본 발명의 가능한 구현예들은 실질적으로 기록-판독 검사 또는 판독 전용 검사와 결부되는 데이터 메모리의 본원의 방법에 따른 검사에 관한 것이다.
보충적으로, (예컨대 특정 메모리 라인에 대해 물리적으로 또는 논리적으로 인접하여) 제1 단계에서 복사에 의해 또 다른 자유로운 메모리 라인 영역에 백업되는 원래의 메모리 라인 영역이 선택되도록 기록-판독 검사를 실행할 수 있다. 그런 후에 제2 단계에서 원래의 메모리 라인 영역이 기록-판독 검사에 의해 검사된다. 데이터 메모리의 기록 불가능한 실시예의 경우 (예컨대 플래시 메모리 또는 ROM 메모리의 경우) 메모리 라인 영역들에 대한 체크섬들이 형성될 수 있다. 마지막에 가서, 백업된 데이터는 원래의 메모리 라인 영역에 경우에 따라 다시 재기록될 수 있다.
데이터 메모리를 모니터링 하기 위한 본 발명에 따른 방법과 함께 상기 기록-판독 검사 또는 판독 전용 검사를 실행함으로써, 특정 시간 간격 이내에 데이터 메모리 전체가 검사될 수 있으며, 그에 따라 상기 시간 간격 이내에 모든 에러가 있는 메모리 라인의 주소들도 보조 메모리에 존재할 수 있다.
다음에서 설명되는 본 발명의 가능한 구현예들은 실질적으로 소위 메모리 폐쇄와 결부되는 데이터 메모리의 본원의 방법에 따른 검사에 관한 것이다.
이를 위해, 본원의 방법을 통해 보조 메모리에 저장된 데이터 메모리의 주소들은 더 이상 이용하지 않거나, 예외의 경우에만 이용한다. 이를 위해, 3가지 가능한 방법이 제안된다.
(A) 계속해서 앞서 설명한 메모리 관리 장치에 기능적인 측면에서 상응하거나, 상기 메모리 관리 장치에 속하는 소위 "메모리 관리 유닛(Memory Management Unit)(MMU)"의 이용. 이 경우 작동 시작 시점에 이루어지는 기록-판독 검사 또는 판독 전용 검사 개시 시에 에러가 있는 것으로 평가되어 보조 메모리에 저장된 주소들이 메모리 관리 장치 또는 MMU로 전달된다. 그럼으로써 상기 (물리적) 주소들은 추가의 이용을 위해 간단한 방식으로 차단될 수 있다.
(B) 관련된 영역들의 회로에 따른 분리:
분리 점들, (통합된) 안전 장치들 또는 스위치들을 이용하여 데이터 메모리의 개별 메모리 라인들 및/또는 메모리 라인 영역들을 원하는 대로 폐쇄하는 점은 공지되었다. 본 발명에 따른 방법은 앞서 절 (A)에서 설명된 것과 유사하게 상기 폐쇄와 유용하게 조합될 수 있다. 다시 말해 보조 메모리에 저장된 주소들은 폐쇄를 위해 이용될 수 있다. 이는 예컨대 작동 동안, 특수화된 작동 시간 동안, 또는 작업장에서 수동으로 이루어질 수 있다.
(C) 프로그램 기술 측면의 조치, 소위 "학습형 소프트웨어":
메모리 라인들 또는 메모리 라인 영역들의 할당 시에, 즉 "메모리 할당" 시에, 보조 메모리에 저장되어 있는 주소들은 더 이상 이용되지 않는다.
다음에서 설명되는 본 발명의 가능한 구현예는 실질적으로 에러 메모리와 결부되는 데이터 메모리의 본원의 방법에 따른 검사에 관한 것이다.
(예컨대 자동차에 장착될 수 있는) 데이터 메모리의 스위치 오프 또는 상위 시스템의 스위치 오프 이전에, 에러 메모리에서 보조 메모리의 내용에 대한 기록이 실행될 수 있다. 그에 따라 어떠한 주소들 또는 메모리 라인들이 에러가 있는 것으로서 검출되었는지가 기록될 수 있다. 그에 따라 특히 작업장 진단을 위해 중요한 정보들이 백업될 수 있다.
또한, 본 발명의 목적은 병렬 기재 청구항들에 따른 검사 프로그램과 메모리 매체에 의해서도 달성된다. 바람직한 개선예들은 종속항들에서 제시된다. 본 발명의 추가의 특징들은 예시의 실시예들에 대한 하기의 설명과 도면에서 제시되며, 상기 특징들은 독자적으로뿐 아니라 상이한 조합 구성으로도 본 발명에 대해 중요할 수 있으며, 이에 대해서는 재차 분명하게 지시되지 않는다.
도 1은 에러 검출을 위한 회로와 보조 메모리를 포함하는 데이터 메모리를 도시한 블록 회로도이다.
도 2는 일 실시예에 따르는 본 발명에 따른 방법의 절차 단계들을 나타낸 흐름도이다.
도 1에는 에러 검출 장치(12)와, 이 에러 검출 장치(12)에 연결된 보조 메모리(14)를 포함하는 데이터 메모리(10)가 도시되어 있다. 수직으로 표시된 파선(16)은 도 1의 도면에서 본 발명에 따르는 추가의 전자 회로(오른쪽)로부터, 종래 기술에 따라 사전 공지된 부분(왼쪽)을 구분한다. 마찬가지로 도면의 오른쪽 부분에는 특히 보조 메모리(14)에 판독 및 기록하는 방식으로 접근하여 보조 메모리의 정보들을 처리할 수 있는 검사 프로그램(18)이 도시되어 있다. 이는 양방향 화살표(20)에 의해 기호로 도시되어 있다. 필요에 따라 검사 프로그램(18)은 데이터 메모리(10) 및 에러 검출 장치(12)의 주변에 존재하는 나머지 정보들에도 접근할 수 있다. 비휘발성 메모리(19)는 양방향 데이터 링크(21)를 통해 보조 메모리(14)에 연결된다.
전체적으로 도 1의 도해는 회로 기반 요소들("하드웨어")뿐 아니라 컴퓨터 지원 절차들("소프트웨어")을 도시하고 있다. 에러 검출 장치(12)(ECC, "에러 보정 코딩")는 본원에서 전자 회로로서 형성된다. 또한, 도 1에 도시된 요소들은 복수의 전자 소자로 분할될 수 있거나, 전체적으로 단지 하나의 요소로 함께 수용될 수 있다("단일 칩 솔루션").
데이터 메모리(10)는 양방향으로 에러 검출 장치(12)와 연결된다. 내부 데이터 경로(22)는 에러 검출 장치(12)에서 해당하는 잉여 비트들(26)로 보충되어 데이터 메모리(10) 내에 저장될 예정이거나 저장되는 데이터 워드들(24)을 안내한다. 데이터 워드들(24)은 각각 임의의 개수이지만 고정된 개수로 복수의 비트를 포함한다. 외부 데이터 경로(28)는 잉여 비트들(26)을 포함하지 않는 데이터 워드들(24)을 메모리 관리 장치(29)에 대해 양방향으로 공급한다. 마찬가지로 주소들(30)은 내부에 저장된 데이터의 관리를 위해 메모리 관리 장치(29)로부터 데이터 메모리(10)로 공급된다. 이 경우 각각의 주소(30)는 데이터 메모리(10)의 해당하는 메모리 라인(33)을 지시하며, 다시 말하면 메모리 라인(33)은 적어도 각각 해당하는 잉여 비트들(26)을 포함하는 데이터 워드(24)의 길이에 상응하는 개수로 각각의 비트에 대한 저장 위치들(35)을 포함한다.
또한, 메모리 관리 장치(29)는 검사 프로그램(18)과 정보들을 교환할 수도 있으면서 전자 회로 및/또는 컴퓨터 지원 절차로서 형성될 수 있다. 그러나 이는 본원에서 상세하게 설명하지 않는다. 양방향 화살표(31)는 미도시된 상위 시스템에 대한 링크를 나타낸다. 상위 시스템은 예컨대 자동차의 개회로 및/또는 폐회로 제어 장치, 컴퓨터(PC), 마이크로 컨트롤러, 데이터 대용량 메모리 등이다. 그러나 이는 도 1에 도시되어 있지 않다.
에러 검출 장치(12)의 제1 출력단(32)은, 다중 비트 에러들이 검출 및/또는 보정될 때 정보들을 출력한다. 제2 출력단(34)은, 단일 비트 에러들이 검출되고 그리고/또는 보정될 때 정보들을 출력하며, 특히 이들 정보를 주소(30)의 형태로 보조 메모리(14)로 공급한다. 주소 레지스터(36)의 총 개수(N)가 유효 주소들(30)로 채워지고, 그에 따라 모든 해당하는 할당 비트(38)가 설정되면, 오버플로우 신호(37)가 형성된다. 플래그(39)는 새로운 주소(30)가 현재, 보조 메모리(14)에 기록되었음을 표시한다. 플래그(39)는 예컨대 인터럽트로서 지칭되는 일시적인 프로그램 중단을 야기하기 위해 이용될 수 있다.
보조 메모리(14)는 각각 해당하는 할당 비트(38)와 함께 저장되는 소정 개수(N)의 주소 레지스터(36)를 포함한다. 도면에서 최상단의 주소 레지스터(36)와 최상단 할당 비트(38)가 대표적으로 도면 부호로 표시되어 있다. 이 경우 개수(N)는 보조 메모리(14)에 저장될 수 있는 최대 엔트리 개수를 표시한다.
에러 검출 장치(12)가 단일 비트 에러를 검출하여 보정하는 경우, 관련된 데이터 워드(24)의 주소(30)는 보조 메모리(14)에 저장된 모든 유효한 주소(30)와 비교된다. 해당하는 할당 비트(38)가 설정되면, 다시 말해 예컨대 이진 값 "1"을 포함하면 보조 메모리(14) 내의 주소(30)는 "유효"한 것이다. 상기 주소(30)가 이미 보조 메모리(14)에 저장되어 있는 점에 한해, 추가의 반응은 이루어지지 않는다. 그에 반해 주소(30)가 여전히 보조 메모리(14)에 저장되어 있지 않다면, 상기 주소는 보조 메모리(14) 내에서 비어있는 주소 레지스터(36)에 저장된다. 비어 있는(다시 말해 "유효"하지 않는) 주소 레지스터(36)는, 해당하는 할당 비트(38)가 설정되지 않은, 다시 말하면 예컨대 이진 값 "0"을 포함하는 점에서 검출된다. 주소 레지스터(36)에 주소(30)를 저장한 후에는 상기 주소 레지스터의 해당하는 할당 비트(38)가 설정된다.
사전 설정될 수 있는 시간 간격 이내에, 또는 특정 시점에, 규칙적으로 검사 프로그램(18)이 순환된다. 이러한 과정은 본원의 경우 메모리 관리 장치(29)에 의해 야기된다. 보조 메모리(14) 내에 저장된 각각의 유효한 주소(30)에 대해 검사 프로그램(18)은 각각의 주소(30)에 의해 지시되는 데이터 워드(24)가 실제로 단일의 에러가 있는 비트를 포함하는지의 여부를 분석한다. 그러나 데이터 워드(24) 내에서 하나의 다중 비트 에러 또는 다중 비트 결함이 검사 프로그램(18)에 의해 발견되고, 그리고/또는 복수의 데이터 워드(24) 내에서 복수의 단일 비트 에러 또는 단일 비트 결함이 검사 프로그램(18)에 의해 발견되는 경우라면, 각각 사전 설정될 수 있는 반응들이 이루어질 수 있다. 상기 반응들은 하기 사항들을 포함할 수 있다.
- 결함 있는 메모리 라인(33)의 비활성화 및/또는 대체 메모리 라인(33)의 할당,
- 결함 있는 메모리 라인 영역의 비활성화 및/또는 대체 메모리 라인 영역의 할당,
- 메시지, 경보 및/또는 에러 비트의 형성,
- 안전한 것으로서 평가되는 상태로 데이터 메모리(10)의 전환 및/또는 이 데이터 메모리(10)의 상위 시스템의 전환.
검사 프로그램(18)의 기능과 무관하게, 대안적으로 또는 보충적으로, 보조 메모리(14)의 오버플로우 신호(37)에 의해서, 데이터 메모리(10) 및/또는 상위 시스템은 안전한 것으로서 평가되는 상태로 전환될 수 있는데, 그 이유는 데이터 메모리(10)가 전체적으로 더 이상 충분히 확실하게 작동하지 않으며 그에 따라 사용되지 못하는 것으로 추정되기 때문이다.
단일 비트 에러들과 다중 비트 에러들 간의 구분은 휘발성 메모리들(RAM)의 경우 각각 기대되는 에러 패턴에 매칭된 기록-판독 검사에 의해 이루어지며, 이런 기록-판독 검사는 예컨대 데이터 메모리(10)의 작동 시작 시에, 또는 그 정상적인 작동 동안 실행된다. 비휘발성 메모리들(플래시)의 경우 이는 CRC 체크섬 방법("순환 중복 검사", Cyclic Redundancy Check)에 의해 이루어질 수 있다.
데이터 메모리(10)가 휘발성 메모리로서 형성되는 점에 한해서, 검사 프로그램(18)은 추가로, 에러 또는 에러 패턴이 데이터 메모리(10)의 각각의 메모리 라인(33) 내에 지속적으로 존재하는지("결함")의 여부, 또는 상기 에러 또는 에러 패턴이 휘발성으로만 발생했는지의 여부를 분석한다. 후자의 경우라면, 해당하는 주소 레지스터(36)의 할당 비트(38)가 재설정되면서, 상기 주소 레지스터는 비워진다. 또한, 검사 프로그램(18)은, 정확하게 보정된 단일 비트 에러들 또는 단일 비트 결함들, 또는 잘못 검출되었거나 잘못 보정된 다중 비트 에러들 또는 다중 비트 결함들이 존재하는지의 여부도 검사할 수 있다. 그 외에도 검사 프로그램(18)은 데이터 워드(24)의 검출된 에러를 경우에 따라 보정할 수 있고, 마찬가지로 에러 계수를 실행하거나 에러 통계를 작성할 수 있다.
또한, 사전 설정될 수 있는 조건들 및 사전 설정될 수 있는 한계 값들에 따라 반응(들)을 야기할 수도 있다. 예컨대 가능한 단일 비트 결함의 최소 개수를 사전 설정할 수 있고, 이 최소 개수부터 에러의 의미에 상응하는 반응이 야기된다.
비휘발성 메모리(19)는, 양방향 데이터 링크(21)를 통해 보조 메모리(14)에 연결되어, 데이터 메모리(10)의 스위치 오프 또는 상위 시스템의 스위치 오프 이전에 보조 메모리(14)의 내용을 백업하고 스위치 온 이후에 다시 상기 보조 메모리(14)에서 재구성하는 기능을 갖는다.
도 2에는 예컨대 컴퓨터 프로그램에 의해 처리될 수 있는, 본 발명에 따른 방법의 가능한 실시예의 절차 단계들이 흐름도로 도시되어 있다. 컴퓨터 또는 제어 장치에 의한 처리에 대안적으로 또는 보충적으로 논리 회로들도 함께 이용할 수 있다.
절차는 시작 블록(50)에서 개시된다. 질의 블록(52)에서는 단일 비트 에러가 에러 검출 장치(12)에 의해 현재 검출 및/또는 보정되었는지의 여부가 검사된다. 해당되지 않으면, 질의 블록(54)으로 분기된다.
단일 비트 에러가 에러 검출 장치(12)에 의해 현재 검출 및/또는 보정된 경우라면, 블록(56)에서는 단일 비트 에러에 속하는 데이터 메모리(10)의 주소(30)가 검출된다. 질의 블록(58)에서는 상기 주소(30)가 이미 보조 메모리(14)에 존재하는지의 여부가 검사된다. 해당되는 경우라면, 도 2의 기초가 되는 실시예의 경우, 추가의 반응은 이루어지지 않으며, 질의 블록(52)으로 다시 분기된다.
그러나 상기 주소(30)가 보조 메모리(14)에 여전히 존재하지 않는 경우라면, 블록(60)으로 분기된다. 이 블록(60)에서 상기 주소(30)는 보조 메모리(14)의 비어있는 주소 레지스터(36)에 기록되고 해당하는 할당 비트(38)가 설정된다. 이 경우 필요에 따라 보조 메모리(14)에 존재하는 나머지 주소들(30)이 변위되고, 그리고/또는 분류될 수 있다. 그런 다음 본원의 방법은 질의 블록(54)에서 계속 실행된다.
질의 블록(54)에서는 검사 프로그램(18)을 시작하기 위한 조건들이 존재하는지의 여부가 검사된다. 해당되지 않는 경우라면, 블록(52)으로 다시 분기된다. 해당되는 경우라면, 블록(62)에서 검사 프로그램(18)이 시작된다. 이어서 질의 블록(52)으로 다시 분기되어 절차는 계속해서 실행된다.
자명한 사실로서, 도 2에 도시된 절차는 예시일 뿐이다. 추가의 실시예들은 특히 독립 청구항들에 설명된 구현예들을 포함한다. 또한, 절차는 상위 시스템에 의해 시작되거나 정지되거나 중단될 수 있다. 그러나 이는 도 2에 상세하게 도시하지는 않았다.

Claims (22)

  1. 데이터 메모리를 모니터링 하기 위한 방법으로서,
    상기 데이터 메모리의 메모리 라인들에 저장된 에러가 있는 데이터 워드들이 검출되거나, 보정되거나, 검출 및 보정되도록 상기 데이터 메모리에 에러 검출 방법을 처리 회로에 의해 적용하는 단계;
    상기 에러 검출 방법에 의해 에러가 있는 것으로 평가되는 데이터 워드들의 적어도 한 서브세트 중의 각각의 데이터 워드에 대해서, 각각의 상기 데이터 워드가 저장되어 있는 상기 데이터 메모리의 주소를 보조 메모리에 상기 처리 회로에 의해 기록하는 단계; 및
    상기 보조 메모리에 저장되어 있는 상기 데이터 메모리 주소들에 대해 에러 검출을 수행하도록, 상기 보조 메모리에 상기 데이터 메모리 주소들 중 적어도 하나가 저장되어 있는 경우에, 상기 에러 검출 방법의 상기 적용에 독립한 스케줄에 따라 상기 보조 메모리를 순환적으로 살펴보는(cylically run through) 검사 프로그램을 상기 처리 회로에 의해 적용하는 단계
    를 포함하는, 데이터 메모리의 모니터링 방법.
  2. 제1항에 있어서, 상기 처리 회로는 상기 에러 검출 방법을 수행하기 위해 상기 데이터 메모리에 할당된 전자 회로를 포함하는, 데이터 메모리의 모니터링 방법.
  3. 제1항 또는 제2항에 있어서, 상기 에러 검출 방법에 의해 보정될 수 있는 것으로서 평가된 데이터 워드들을 갖는 주소들만이 상기 보조 메모리에 기록되는, 데이터 메모리의 모니터링 방법.
  4. 제1항 또는 제2항에 있어서, 상기 보조 메모리에 저장된 각각의 주소에 대해, 상기 주소가 유효한지의 여부가 표시되는, 데이터 메모리의 모니터링 방법.
  5. 제1항 또는 제2항에 있어서, 상기 에러 검출 방법에 의해 에러가 있는 데이터 워드가 검출된 경우, 상기 에러가 있는 데이터 워드의 주소가 이미 저장되어 있는지 여부를 알아 내도록 상기 보조 메모리에 이미 기록된 주소들이 검사되는, 데이터 메모리의 모니터링 방법.
  6. 제1항 또는 제2항에 있어서, 상기 보조 메모리에 해당 주소가 저장되어 있는 상기 데이터 워드들 각각에 대해, 상기 검사 프로그램은 (i) 상기 데이터 워드가 단일 비트 에러 또는 다중 비트 에러를 포함하는지의 여부; (ii) 상기 데이터 워드의 메모리 라인이 단일 비트 에러 또는 다중 비트 에러에 상응하는 결함을 포함하는지의 여부; (iii) 상기 데이터 워드의 상기 메모리 라인의 에러가 일시적으로 또는 지속적으로 발생하는지의 여부; 및 (iv) 상기 메모리 라인의 내부에서 어떠한 저장 위치들이 각각의 경우에 영향을 받는지 중 적어도 하나를 판정하는, 데이터 메모리의 모니터링 방법.
  7. 제1항 또는 제2항에 있어서, 상기 검사 프로그램은 휘발성 RAM(Random Access Memory)의 경우에, 기대되는 에러 메커니즘들에 매칭된 기록-판독 검사를 실행하는, 데이터 메모리의 모니터링 방법.
  8. 제1항 또는 제2항에 있어서, 상기 검사 프로그램은 비휘발성 메모리의 경우, CRC 코딩의 체크섬을 이용한 에러 검사를 실행하는, 데이터 메모리의 모니터링 방법.
  9. 제1항 또는 제2항에 있어서, (i) 정확하게 보정 가능한 에러들 간에, (ii) 잘못 보정되었거나 잘못 검출된 다중 비트 에러들 간에, 그리고 (iii) 휘발성 에러들 또는 지속적인 결함들 간에 구분이 이루어지는, 데이터 메모리의 모니터링 방법.
  10. 제1항 또는 제2항에 있어서, 단일 비트 에러, 다중 비트 에러, 단일 비트 결함, 및 다중 비트 결함 중 적어도 하나의 허용 개수에 대한 임계치들이 사전 설정되고, 적어도 하나의 임계치가 초과되는 경우 메모리 관리 장치의 반응이 이루어지는, 데이터 메모리의 모니터링 방법.
  11. 제10항에 있어서, 상기 메모리 관리 장치의 반응은 하기 조치들, 즉
    - 결함 있는 메모리 라인의 비활성화, 대체 메모리 라인의 할당, 또는 결함 있는 메모리 라인의 비활성화와 대체 메모리 라인의 할당,
    - 결함 있는 메모리 라인 영역의 비활성화, 대체 메모리 라인 영역의 할당, 또는 결함 있는 메모리 라인 영역의 비활성화와 대체 메모리 라인 영역의 할당,
    - 메시지, 경보, 에러 비트 중 하나 이상의 조합의 형성, 및
    - 상기 데이터 메모리 및 상기 데이터 메모리보다 상위 시스템 중 적어도 하나를 안전한 것으로 평가되는 상태로 전환
    중에서 하나 이상의 조치를 포함하는, 데이터 메모리의 모니터링 방법.
  12. 제11항에 있어서, 상기 보조 메모리의 내용은, 상기 데이터 메모리의 스위치 오프 또는 상기 데이터 메모리보다 상위 시스템의 스위치 오프 이전에, 비휘발성 메모리에 백업되고, 스위치 온 이후에 상기 비휘발성 메모리로부터 재구성되는, 데이터 메모리의 모니터링 방법.
  13. 제1항 또는 제2항에 있어서, 상기 검사 프로그램에 의해서 검출된 데이터 워드 에러들이 보정되는, 데이터 메모리의 모니터링 방법.
  14. 제1항 또는 제2항에 있어서, 휘발성 에러들, 지속적인 결함들, 또는 휘발성 에러들과 지속적인 결함들이 계수되거나; 통계학적으로 평가되거나; 상기 계수 및 통계학적 평가가 모두 실행되는, 데이터 메모리의 모니터링 방법.
  15. 제14항에 있어서, 상기 계수 및 통계학적 평가 중 하나의 결과가 상기 데이터 메모리의 제조업체 또는 상위 시스템의 제조업체로 전송되는, 데이터 메모리의 모니터링 방법.
  16. 제1항 또는 제2항에 있어서, 상기 데이터 메모리의 스위치 온 이후, 작동 동안, 또는 상기 데이터 메모리의 스위치 온 이후 및 작동 동안에 상기 데이터 메모리의 기능 검사가 실행되고, 상기 기능 검사 동안에 에러가 있는 것으로서 평가된 메모리 라인들을 지시하는 상기 데이터 메모리의 주소들이 상기 보조 메모리에 기록되는, 데이터 메모리의 모니터링 방법.
  17. 데이터 메모리를 모니터링 하기 위한 방법으로,
    상기 데이터 메모리의 메모리 라인들에 저장된 에러가 있는 데이터 워드들을 검출 및 보정 중 적어도 하나를 하도록 에러 검출 방법을 사용하는 단계;
    상기 에러 검출 방법에 의해 에러가 있다고 평가된 데이터 워드가 저장된 상기 데이터 메모리의 주소를 보조 메모리에 기록하는 단계; 및
    검사 프로그램에 상기 주소가 사용 가능하게 하는 단계를 포함하고,
    상기 데이터 메모리의 스위치 온 이후 및 동작 동안 중 적어도 하나의 경우에 상기 데이터 메모리의 기능 검사가 실행되고, 상기 기능 검사 동안 에러가 있다고 평가된 메모리 라인들을 가리키는 상기 데이터 메모리의 주소들이 상기 보조 메모리에 기록되고,
    주소들이 상기 보조 메모리에 저장되어 있는 메모리 라인들에 대해 제1 체크섬이 형성되고, 상기 제1 체크섬은 저장되며, 상기 제1 체크섬을 형성하기 위해 이용된 상기 주소들이 추가로 저장되며, 상기 데이터 메모리의 추가의 동작 동안에 메모리 라인들 - 상기 메모리 라인들 중 하나의 주소는 상기 보조 메모리에 저장되었거나 상기 메모리 라인들의 주소들은 추가로 저장됨 - 에 대한 하나 이상의 추가 체크섬이 형성되며, 상기 하나 이상의 추가 체크섬은 상기 제1 체크섬과 비교되는, 데이터 메모리의 모니터링 방법.
  18. 제16항에 있어서, 상기 기능 검사는 메모리 라인 영역들에 할당되고, 상이한 메모리 라인 영역들은 독립적으로 연속해서 기능 검사가 실행되는, 데이터 메모리의 모니터링 방법.
  19. 제1항 또는 제2항에 있어서, 상기 에러 검출 방법 또는 상기 에러 검출 방법을 실행하는 전자 회로는 상기 데이터 메모리의 스위치 온 이후, 작동 동안, 또는 상기 데이터 메모리의 스위치 온 이후 및 작동 동안에 적합한 기능에 대해 검사되는, 데이터 메모리의 모니터링 방법.
  20. 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 비일시적 컴퓨터 판독가능 저장 매체에는 처리 회로에 의해 실행 가능한 명령어들이 저장되고, 상기 명령어들은 상기 처리 회로에 의해 실행 시, 상기 처리 회로로 하여금 데이터 메모리를 모니터링 하기 위한 방법을 실행하게 하고, 상기 방법은,
    상기 데이터 메모리의 메모리 라인들에 저장된 에러가 있는 데이터 워드들이 검출되거나, 보정되거나, 검출 및 보정되도록 상기 데이터 메모리에 에러 검출 방법을 적용하는 단계;
    상기 에러 검출 방법에 의해 에러가 있는 것으로 평가되는 데이터 워드들의 적어도 한 서브세트 중의 각각의 데이터 워드에 대해서, 각각의 상기 데이터 워드가 저장되어 있는 상기 데이터 메모리의 주소를 보조 메모리에 기록하는 단계; 및
    상기 보조 메모리에 저장되어 있는 상기 데이터 메모리 주소들에 대해 에러 검출을 수행하도록, 상기 보조 메모리에 상기 데이터 메모리 주소들 중 적어도 하나가 저장되어 있는 경우에, 상기 에러 검출 방법의 상기 적용에 독립한 스케줄에 따라 상기 보조 메모리를 순환적으로 살펴보는(cylically run through) 검사 프로그램을 적용하는 단계를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  21. 컴퓨터 내의 보조 메모리로서,
    레지스터들 및
    데이터 메모리의 메모리 라인들에 저장된 에러가 있는 데이터 워드들이 검출되거나, 보정되거나, 검출 및 보정되도록 상기 데이터 메모리에 에러 검출 방법을 적용하고, 상기 에러 검출 방법에 의해 에러가 있는 것으로 평가되는 데이터 워드들의 적어도 한 서브세트 중의 각각의 데이터 워드에 대해서, 각각의 상기 데이터 워드가 저장되어 있는 상기 데이터 메모리의 주소를 상기 보조 메모리에 기록하고, 상기 보조 메모리에 저장되어 있는 상기 데이터 메모리 주소들에 대해 에러 검출을 수행하도록, 상기 보조 메모리에 상기 데이터 메모리 주소들 중 적어도 하나가 저장되어 있는 경우에, 상기 에러 검출 방법의 상기 적용에 독립한 스케줄에 따라 상기 보조 메모리를 순환적으로 살펴보는(cylically run through) 검사 프로그램을 적용하도록 구성된 처리 회로로의 인터페이스를 포함하는, 보조 메모리.
  22. 삭제
KR1020137000864A 2010-07-13 2011-06-27 데이터 메모리의 모니터링 방법, 비일시적 컴퓨터 판독가능 저장 매체 및 보조 메모리 KR101805234B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102010031282.7A DE102010031282B4 (de) 2010-07-13 2010-07-13 Verfahren zum Überwachen eines Datenspeichers
DE102010031282.7 2010-07-13
PCT/EP2011/060700 WO2012007266A1 (de) 2010-07-13 2011-06-27 Verfahren zum überwachen eines datenspeichers

Publications (2)

Publication Number Publication Date
KR20130031888A KR20130031888A (ko) 2013-03-29
KR101805234B1 true KR101805234B1 (ko) 2018-01-10

Family

ID=44351630

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137000864A KR101805234B1 (ko) 2010-07-13 2011-06-27 데이터 메모리의 모니터링 방법, 비일시적 컴퓨터 판독가능 저장 매체 및 보조 메모리

Country Status (5)

Country Link
US (1) US9170875B2 (ko)
KR (1) KR101805234B1 (ko)
CN (1) CN102971714B (ko)
DE (1) DE102010031282B4 (ko)
WO (1) WO2012007266A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013202865A1 (de) 2013-02-21 2014-08-21 Robert Bosch Gmbh Verfahren zum Überwachen eines Datenspeichers
US9715424B1 (en) * 2013-08-23 2017-07-25 Rambus Inc. Memory device and repair method with column-based error code tracking
US9825884B2 (en) 2013-12-30 2017-11-21 Cavium, Inc. Protocol independent programmable switch (PIPS) software defined data center networks
US10656992B2 (en) * 2014-10-22 2020-05-19 Cavium International Apparatus and a method of detecting errors on registers
DE102015204337A1 (de) * 2015-03-11 2016-09-15 Siemens Aktiengesellschaft Sicherheitsrelevantes Computersystem
DE102015004580A1 (de) * 2015-04-14 2016-10-20 Airbus Defence and Space GmbH Übertragungsverfahren und Vorrichtungen zur Übertragung
US9990245B2 (en) * 2015-11-25 2018-06-05 Stmicroelectronics S.R.L. Electronic device having fault monitoring for a memory and associated methods
TWI581093B (zh) * 2016-06-24 2017-05-01 慧榮科技股份有限公司 資料儲存媒體之損壞資料行的篩選方法
CN106128493B (zh) * 2016-08-01 2018-04-20 四川新环佳科技发展有限公司 一种可移动大容量的存储器
DE102016225308A1 (de) * 2016-12-16 2018-06-21 Robert Bosch Gmbh Verfahren und Vorrichtung zum Kalibrieren eines Steuergerätes
WO2018219948A1 (en) * 2017-05-31 2018-12-06 Widex A/S A method of operating a hearing aid fitting system and a hearing aid fitting system
DE202017104362U1 (de) * 2017-07-21 2017-08-07 Robert Bosch Gmbh Zeitstempeleinheit und Kommunikationssteuereinheit für eine Teilnehmerstation eines Kommunikationsnetzwerks
FR3083888B1 (fr) * 2018-07-10 2020-06-19 Continental Automotive France Procede de surveillance de la corruption des donnees dans au moins une memoire non volatile d'un calculateur

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090070630A1 (en) * 2007-09-12 2009-03-12 Dell Products, Lp System and method of identifying and storing memory error locations

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511164A (en) * 1995-03-01 1996-04-23 Unisys Corporation Method and apparatus for determining the source and nature of an error within a computer system
JP3511576B2 (ja) * 1998-10-02 2004-03-29 松下電器産業株式会社 ディスク記録再生方法および装置
US6715116B2 (en) 2000-01-26 2004-03-30 Hewlett-Packard Company, L.P. Memory data verify operation
US6842867B2 (en) * 2001-01-26 2005-01-11 Dell Products L.P. System and method for identifying memory modules having a failing or defective address
US20060282755A1 (en) 2005-05-31 2006-12-14 Jong-Hoon Oh Random access memory having ECC
US8205146B2 (en) * 2005-07-21 2012-06-19 Hewlett-Packard Development Company, L.P. Persistent error detection in digital memory
US7861138B2 (en) * 2006-12-05 2010-12-28 Qimonda Ag Error correction in memory devices
JP4343945B2 (ja) * 2006-12-28 2009-10-14 三菱電機株式会社 電子制御装置
US8032816B2 (en) * 2007-06-01 2011-10-04 International Business Machines Corporation Apparatus and method for distinguishing temporary and permanent errors in memory modules
JP2009181439A (ja) * 2008-01-31 2009-08-13 Toshiba Corp メモリシステム
JP5363460B2 (ja) * 2008-07-30 2013-12-11 パナソニック株式会社 誤り訂正機能付きコントローラ、誤り訂正機能付き記憶装置、及び誤り訂正機能付きシステム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090070630A1 (en) * 2007-09-12 2009-03-12 Dell Products, Lp System and method of identifying and storing memory error locations

Also Published As

Publication number Publication date
DE102010031282B4 (de) 2022-05-12
US20130191701A1 (en) 2013-07-25
WO2012007266A1 (de) 2012-01-19
CN102971714B (zh) 2017-05-17
US9170875B2 (en) 2015-10-27
CN102971714A (zh) 2013-03-13
KR20130031888A (ko) 2013-03-29
DE102010031282A1 (de) 2012-01-19

Similar Documents

Publication Publication Date Title
KR101805234B1 (ko) 데이터 메모리의 모니터링 방법, 비일시적 컴퓨터 판독가능 저장 매체 및 보조 메모리
US7971112B2 (en) Memory diagnosis method
EP2095234B1 (en) Memory system with ecc-unit and further processing arrangement
US7171594B2 (en) Pausing a transfer of data
US9804917B2 (en) Notification of address range including non-correctable error
CN106803429B (zh) 具有用于存储器的故障监测的电子设备及相关联的方法
KR101557572B1 (ko) 메모리 회로들, 메모리에 액세스하는 방법 및 메모리를 복구하는 방법
JP7418397B2 (ja) コモンモード障害信号に応じたメモリスキャン動作
US10379946B2 (en) Controller
US20160364280A1 (en) Circuitry and method for testing an error-correction capability
EP2715541A1 (en) Mram field disturb detection and recovery
JP5451087B2 (ja) 障害処理装置および方法
JP2010204851A (ja) 記憶装置及び情報処理装置
JP4950214B2 (ja) データ記憶装置における停電を検出する方法、およびデータ記憶装置を復旧する方法
US9658919B2 (en) Malfunction escalation
JP4851525B2 (ja) データ処理システムおよびその駆動方法
CN113625957B (zh) 一种硬盘故障的检测方法、装置及设备
CN113342571A (zh) 一种应用于嵌入式系统的eeprom数据掉电不丢失方法
TW201606785A (zh) 記憶體控制器
US8108740B2 (en) Method for operating a memory device
KR102411938B1 (ko) 위성 시스템에서 메모리를 관리하기 위한 장치 및 방법
CN112151104B (zh) 存储器存放装置及其动态数据修复的方法
JP6914430B2 (ja) メモリ診断装置及びメモリ診断方法
CN102543210A (zh) 闪存错误检查及纠正修复方法
JP2023104466A (ja) 車載電子制御装置、及びメモリ制御方法

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