KR102030074B1 - 레지스터 쓰기 오류 방지 장치 및 방법 - Google Patents

레지스터 쓰기 오류 방지 장치 및 방법 Download PDF

Info

Publication number
KR102030074B1
KR102030074B1 KR1020170149610A KR20170149610A KR102030074B1 KR 102030074 B1 KR102030074 B1 KR 102030074B1 KR 1020170149610 A KR1020170149610 A KR 1020170149610A KR 20170149610 A KR20170149610 A KR 20170149610A KR 102030074 B1 KR102030074 B1 KR 102030074B1
Authority
KR
South Korea
Prior art keywords
register
masking
bit
data
setting value
Prior art date
Application number
KR1020170149610A
Other languages
English (en)
Other versions
KR20190053575A (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 현대오트론 주식회사
Priority to KR1020170149610A priority Critical patent/KR102030074B1/ko
Publication of KR20190053575A publication Critical patent/KR20190053575A/ko
Application granted granted Critical
Publication of KR102030074B1 publication Critical patent/KR102030074B1/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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 레지스터 쓰기 오류 방지 장치에 관한 것으로, 데이터 레지스터의 읽기나 쓰기를 허용하거나 방지하기 위한 설정 값이 각 비트별로 저장되는 제1 마스킹 레지스터; 상기 제1 마스킹 레지스터에 각 비트별로 저장된 동일한 설정 값이 저장되는 제2 마스킹 레지스터; 상기 제1 마스킹 레지스터의 각 비트별 설정 값과 상기 제2 마스킹 레지스터의 각 비트별 설정 값을 오아(OR) 연산하는 오아 연산부; 및 상기 오아 연산부의 연산 결과를 각 비트별로 저장하는 제3 마스킹 레지스터;를 포함하고, 상기 제3 마스킹 레지스터의 각 비트별 설정 값에 의해서 상기 데이터 레지스터의 쓰기를 허용하거나 방지한다.

Description

레지스터 쓰기 오류 방지 장치 및 방법{APPARATUS AND METHOD FOR PREVENTING REGISTER WRITE ERROR}
본 발명은 레지스터 쓰기 오류 방지 장치 및 방법에 관한 것으로, 보다 상세하게는 반도체 소자의 다수의 레지스터 중 보호하고자 하는 개별 레지스터 혹은 그룹 레지스터에 오류 값이 써지지 않도록 다중으로 보호하는 레지스터 쓰기 오류 방지 장치 및 방법에 관한 것이다.
통상적으로 한국은 반도체 강국에 속하지만 자동차에 들어가는 반도체 경쟁력은 매우 취약하다. 특히 최근에 전기차, 자율주행차뿐만 아니라 기존의 내연기관 차량과 관련한 전장산업에 반도체 기술은 매우 중요하다.
상대적으로 부가가치가 떨어지는 메모리 반도체 대량 생산에 특화된 국내 반도체 산업은 특수 반도체 제조기반에서는 취약한 면이 있다.
예컨대 자동차용 반도체와 같은 특수 반도체는 안전성이 매우 중요하다.
가령, 차량의 각종 상태 정보를 자동차용 반도체에 저장하고, 이 저장된 정보를 바탕으로 차량 주행과 관련된 기능을 수행해야 하는데, 만약 노이즈나 해킹에 의해 이러한 상태 정보가 오류 값으로 바뀔 경우에 치명적인 안전사고로 이어질 수 있기 때문이다.
따라서 자동차용 반도체에서는 한번 저장된 데이터가 의도하지 않게 변경되지 않도록(즉, 오류 값이 쉽게 써지지 않도록) 하는 방지 대책이 필요하다.
본 발명의 배경기술은 대한민국 공개특허 10-2015-0118035호(2015.10.21. 공개, 반도체 디바이스, 진단 테스트, 및 진단 테스트 회로)에 개시되어 있다.
본 발명의 일 측면에 따르면, 본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 반도체 소자의 다수의 레지스터 중 보호하고자 하는 개별 레지스터 혹은 그룹 레지스터에 오류 값이 써지지 않도록 다중으로 보호하는 레지스터 쓰기 오류 방지 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명의 일 측면에 따른 레지스터 쓰기 오류 방지 장치는, 데이터 레지스터의 읽기나 쓰기를 허용하거나 방지하기 위한 설정 값이 각 비트별로 저장되는 제1 마스킹 레지스터; 상기 제1 마스킹 레지스터에 각 비트별로 저장된 동일한 설정 값이 저장되는 제2 마스킹 레지스터; 상기 제1 마스킹 레지스터의 각 비트별 설정 값과 상기 제2 마스킹 레지스터의 각 비트별 설정 값을 오아(OR) 연산하는 오아 연산부; 및 상기 오아 연산부의 연산 결과를 각 비트별로 저장하는 제3 마스킹 레지스터;를 포함하고, 상기 제3 마스킹 레지스터의 각 비트별 설정 값에 의해서 상기 데이터 레지스터의 쓰기를 허용하거나 방지하는 것을 특징으로 한다.
본 발명에 있어서, 상기 레지스터 쓰기 오류 방지 장치는, 상기 제3 마스킹 레지스터의 마스킹을 허용하거나 허용하지 않음으로써, 각 데이터 레지스터의 비트 전체에 대해서 읽기나 쓰기를 허용하거나 허용하지 않는 인에이블 단자;를 더 포함하는 것을 특징으로 한다.
본 발명에 있어서, 각 데이터 레지스터의 비트 전체에 대하여 한꺼번에 읽기나 쓰기를 허용하거나 방지하기 위하여, 상기 제3 마스킹 레지스터의 각 비트를, 상기 각 데이터 레지스터의 인에이블 단자에 각기 와이어드 로직으로 직접 연결하는 것을 특징으로 한다.
본 발명에 있어서, 각 데이터 레지스터의 인에이블 단자가 인에이블 상태에 있을 경우, 상기 제3 마스킹 레지스터의 설정 값에 따라 해당하는 데이터 레지스터에 대해서 쓰기가 허용되거나 방지되는 것을 특징으로 한다.
본 발명에 있어서, 상기 인에이블 단자가 인에이블 상태가 아닌 경우, 상기 제3 마스킹 레지스터의 설정 값에 관계없이 상기 데이터 레지스터에 대한 쓰기는 불가하게 되는 것을 특징으로 한다.
본 발명에 있어서, 그룹으로 설정된 적어도 둘 이상의 개별 데이터 레지스터의 비트 전체를 한꺼번에 마스킹 하기 위하여, 상기 제3 마스킹 레지스터의 각 비트는, 그룹으로 설정된 적어도 둘 이상의 개별 데이터 레지스터의 각 인에이블 단자에 공통으로 와이어드 로직으로 직접 연결되는 것을 특징으로 한다.
본 발명에 있어서, 상기 제1 마스킹 레지스터에 오류 값이 써지더라도, 상기 제2 마스킹 레지스터가 정상 값을 유지하는 경우, 상기 제3 마스킹 레지스터의 설정 값은 변경되지 않으며, 이에 따라 상기 제3 마스킹 레지스터에 의해 마스킹되는 개별 데이터 레지스터 또는 복수의 개별 레지스터를 그룹핑 한 레지스터 그룹에 오류 값이 써지는 것을 방지하도록 구현된 것을 특징으로 한다.
본 발명에 있어서, 상기 제1 마스킹 레지스터에 오류 값이 써지고, 또한 상기 제2 마스킹 레지스터에도 오류 값이 써지더라도, 개별 데이터 레지스터에서 상기 제3 마스킹 레지스터의 마스킹 여부를 허용하는 해당 인에이블 단자의 상태가 인에이블 상태가 아닌 경우, 상기 제3 마스킹 레지스터의 상태에 관계없이 마스킹을 허용하지 않음으로써, 개별 데이터 레지스터 또는 복수의 개별 레지스터를 그룹핑 한 레지스터 그룹에 오류 값이 써지는 것을 방지하도록 구현된 것을 특징으로 한다.
본 발명의 다른 측면에 따른 레지스터 쓰기 오류 방지 방법은, 제1 마스킹 레지스터가 데이터 레지스터의 읽기나 쓰기를 허용하거나 방지하기 위한 설정 값을 각 비트별로 저장하는 단계; 상기 제1 마스킹 레지스터가 각 비트별로 저장된 동일한 설정 값을 제2 마스킹 레지스터에 저장하는 단계; 상기 제1 마스킹 레지스터의 각 비트별 설정 값과 상기 제2 마스킹 레지스터의 각 비트별 설정 값을 오아 연산부가 오아(OR) 연산하는 단계; 및 제3 마스킹 레지스터가 상기 오아 연산부의 연산 결과를 각 비트별로 저장하는 단계;를 포함하고, 상기 제3 마스킹 레지스터의 각 비트별 설정 값에 의해서 상기 데이터 레지스터의 쓰기를 허용하거나 방지하는 것을 특징으로 한다.
본 발명에 있어서, 각 데이터 레지스터의 비트 전체에 대해서 읽기나 쓰기를 허용하거나 허용하지 않도록 설정되는 인에이블 단자에 의해, 상기 제3 마스킹 레지스터의 마스킹을 허용하거나 허용하지 않는 단계;를 더 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 제3 마스킹 레지스터의 각 비트를, 상기 각 데이터 레지스터의 인에이블 단자에 각기 와이어드 로직으로 직접 연결하는 것에 의해, 각 데이터 레지스터의 비트 전체에 대하여 한꺼번에 읽기나 쓰기를 허용하거나 방지할 수 있도록 이루어진 것을 특징으로 한다.
본 발명에 있어서, 각 데이터 레지스터의 인에이블 단자가 인에이블 상태에 있을 경우, 상기 제3 마스킹 레지스터가 그 설정 값에 따라 해당하는 데이터 레지스터에 대해서 쓰기를 허용하거나 방지하는 것을 특징으로 한다.
본 발명에 있어서, 상기 인에이블 단자가 인에이블 상태가 아닌 경우, 상기 제3 마스킹 레지스터가 그 설정 값에 관계없이 상기 데이터 레지스터에 대한 쓰기를 불가하게 하는 것을 특징으로 한다.
본 발명에 있어서, 상기 제3 마스킹 레지스터의 각 비트가, 그룹으로 설정된 적어도 둘 이상의 개별 데이터 레지스터의 각 인에이블 단자에 공통으로 와이어드 로직으로 직접 연결되는 것에 의해, 그룹으로 설정된 적어도 둘 이상의 개별 데이터 레지스터의 비트 전체를 한꺼번에 마스킹 하도록 이루어진 것을 특징으로 한다.
본 발명에 있어서, 상기 제1 마스킹 레지스터에 오류 값이 써지더라도, 상기 제2 마스킹 레지스터가 정상 값을 유지하는 경우, 상기 제3 마스킹 레지스터는 그 설정 값을 변경하지 않으며, 이에 따라 상기 제3 마스킹 레지스터에 의해 마스킹되는 개별 데이터 레지스터 또는 복수의 개별 레지스터를 그룹핑 한 레지스터 그룹에 오류 값이 써지는 것을 방지하도록 이루어진 것을 특징으로 한다.
본 발명에 있어서, 상기 제1 마스킹 레지스터에 오류 값이 써지고, 또한 상기 제2 마스킹 레지스터에도 오류 값이 써지더라도, 개별 데이터 레지스터에서 상기 제3 마스킹 레지스터의 마스킹 여부를 허용하는 해당 인에이블 단자의 상태가 인에이블 상태가 아닌 경우, 상기 제3 마스킹 레지스터의 상태에 관계없이 마스킹을 허용하지 않음으로써, 개별 데이터 레지스터 또는 복수의 개별 레지스터를 그룹핑 한 레지스터 그룹에 오류 값이 써지는 것을 방지하도록 이루어진 것을 특징으로 한다.
본 발명의 일 측면에 따르면, 본 발명은 반도체 소자의 다수의 레지스터 중 보호하고자 하는 개별 레지스터 혹은 그룹 레지스터에 오류 값이 써지지 않도록 다중으로 보호함으로써, 데이터 안전성을 향상시키는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 레지스터 쓰기 오류 방지 장치가 적용되는 반도체의 기본적인 구성을 설명하기 위한 예시도.
도 2는 상기 도 1에 있어서, 레지스터에 오류 값이 써지는 것을 방지하기 위해서 사용되는 마스크 레지스터를 설명하기 위하여 보인 예시도.
도 3은 본 발명의 일 실시예에 따른 레지스터 쓰기 오류 방지 장치의 개략적인 구성을 보인 예시도.
도 4는 상기 도 3에 있어서, 개별 레지스터 비트 전체 또는 그룹 레지스터 비트 전체에 대한 쓰기 허용과 쓰기 방지 방법을 설명하기 위한 예시도.
도 5 및 도 6은 상기 도 3에 있어서, 레지스터 쓰기 오류 방지 장치의 동작 방법을 예시적으로 설명하기 위하여 보인 흐름도.
이하, 첨부된 도면을 참조하여 본 발명에 따른 레지스터 쓰기 오류 방지 장치 및 방법의 일 실시예를 설명한다.
이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 레지스터 쓰기 오류 방지 장치가 적용되는 반도체의 기본적인 구성을 설명하기 위한 예시도이고, 도 2는 상기 도 1에 있어서, 레지스터에 오류 값이 써지는 것을 방지하기 위해서 사용되는 마스크 레지스터를 설명하기 위하여 보인 예시도이다.
도 1에 도시된 바와 같이, 일반적으로 반도체(200)는 내부에 각종 연산회로 영역, 논리회로 영역, 비교회로 영역, 메모리 영역, 및 레지스터 영역 등이 포함되어 원하는 특정 기능을 수행할 수 있도록 구현된다.
상기 반도체(200)는 독립적으로 동작할 수도 있으나, 도 1에 도시된 바와 같이, 상위 제어부(100)와 통신하여 특정 타이밍(즉, 필요한 순간)에 동작함으로써, 그 동작 결과를 상위 제어부(100)에 전송하여 자동차 시스템의 전체적인 기능이 연계 동작될 수 있도록 구현된다.
이때 상기 반도체(200)의 영역에는 극히 소량의 데이터나 처리중인 중간 결과를 일시적으로 기억해 두는 고속의 전용 영역인 레지스터 영역(210)이 있으며, 비트, 바이트, 또는 워드 단위로 설계될 수 있다.
그런데 상기 레지스터 영역(210)의 각종 레지스터는 주기적으로 쓰기와 읽기가 수행되는 레지스터, 또는 차량 동작 초기에 한번 쓰여지면 그 이후로는 차량 동작이 종료될 때까지 읽기만 수행되는 레지스터가 있다. 즉, 정상 상황이라면 필요에 따라(주기별 or 상황별) 원하는 값만 읽고 쓸 수 있으나(도 2의 (a) 참조), 비정상 상황이라면 원하지 않는 값(오류 값)이 쓰여질 수 있다(도 2의 (b) 참조). 이에 따라 레지스터에 원하지 않는 값이 쓰여지는 것을 방지하기 위하여, 상기 레지스터의 읽기 및 쓰기를 제어할 수 있는 마스크 레지스터(또는 마스킹 레지스터)를 설정하게 된다(도 2의 (c) 참조).
참고로 상기 마스크 레지스터는, 어느 비트 패턴(bit pattern)의 특정 비트 위치의 정보를 변경 허용하거나 변경을 허용하지 않도록 하기 위해서 사용되는 문자, 또는 「비트 패턴」으로서, 여기서 마스크는 불 연산(boolean operation)의 오퍼랜드(operand)의 한 방법이고, 마스크를 행하는 것을 마스킹(masking)이라고 하고, 마스크로서 사용되는 비트를 마스크 비트(mask bit), 또한 마스킹에 사용되는 레지스터(register)를 마스크 레지스터(mask register)라고 한다.
따라서 정상적인 상황이라면 상기 마스크 레지스터에 의해 레지스터(이하, 상기 마스크 레지스터와 구분하기 위하여 편의상 데이터 레지스터라고 기재함)의 읽기와 쓰기가 제어되어야 한다.
특히 상기 마스크 레지스터에 의해 초기에 쓰인 데이터를 읽기만 수행할 수 있는 레지스터(즉, 데이터 레지스터)는, 정상적인 상황일 경우(즉, 마스크 레지스터를 쓰기 가능한 설정 값으로 변경하지 않을 경우), 초기에 쓰인 데이터가 변경되지 않아야 한다.
하지만 노이즈나 해킹에 의해 상기 마스크 레지스터의 설정 값 자체가 변경될 경우(즉, 쓰기 가능한 설정 값으로 변경될 경우), 상기 데이터 레지스터의 값이 변경되는(즉, 오류 값이 써지는) 문제점이 발생하게 된다.
따라서 본 실시예는 상기 마스크 레지스터의 설정 값이 변경되더라도 상기 데이터 레지스터에 오류 값이 써지지 않도록 하기 위하여, 상기 데이터 레지스터를 다중으로 보호하는 레지스터 쓰기 오류 방지 장치를 제공한다.
도 3은 본 발명의 일 실시예에 따른 레지스터 쓰기 오류 방지 장치의 개략적인 구성을 보인 예시도이다.
도 3에 도시된 바와 같이, 본 실시예에 따른 레지스터 쓰기 오류 방지 장치는, 제1 마스킹 레지스터(또는 마스킹 레지스터1)(211), 제2 마스킹 레지스터(또는 마스킹 레지스터2)(212), 오아(OR) 연산부(213), 제3 마스킹 레지스터(또는 최종 마스킹 레지스터)(214), 및 인에이블 비트(또는 인에이블 단자)(215)를 포함한다.
본 실시예에 따른 레지스터 쓰기 오류 방지 장치는 반도체(200)의 레지스터 영역(210) 내부에 추가하는 방식으로 구현되거나, 상기 레지스터 영역(210) 외부에 별도로 추가하는 방식으로 구현될 수 있다.
상기 제1 마스킹 레지스터(또는 마스킹 레지스터1)(211)는, 데이터 레지스터(예 : 레지스터1, 레지스터2, 레지스터3 등)의 읽기나 쓰기를 허용하거나 방지하기 위한 설정 값(예 : 0-쓰기 허용, 1-쓰기 방지)이 각 비트별로 저장된다.
상기 제2 마스킹 레지스터(또는 마스킹 레지스터2)(212)는, 상기 제1 마스킹 레지스터(또는 마스킹 레지스터1)(211)에 각 비트별로 저장된 동일한 설정 값(예 : 0-쓰기 허용, 1-쓰기 방지)이 저장된다.
다만 여기서 쓰기 허용이나 쓰기 방지를 위한 설정 값은 0과 1을 바꿔서 사용할 수도 있다.
상기 오아(OR) 연산부(213)는 상기 제1 마스킹 레지스터(또는 마스킹 레지스터1)(211)의 각 비트별 설정 값과 상기 제2 마스킹 레지스터(또는 마스킹 레지스터2)(212)의 각 비트별 설정 값을 오아(OR) 연산한다.
상기 제3 마스킹 레지스터(또는 최종 마스킹 레지스터)(214)는 상기 오아(OR) 연산부(213)의 연산 결과를 각 비트별로 저장한다.
결과적으로 상기 제3 마스킹 레지스터(또는 최종 마스킹 레지스터)(214)의 각 비트별 설정 값에 의해서 상기 데이터 레지스터(예 : 레지스터1, 레지스터2, 레지스터3 등)의 읽기나 쓰기를 허용하거나 방지한다.
즉, 상기 제1 마스킹 레지스터(또는 마스킹 레지스터1)(211)와 상기 제2 마스킹 레지스터(또는 마스킹 레지스터2)(212)의 설정 값이 동시에 동일하게 변경되지 않는 한 상기 제3 마스킹 레지스터(또는 최종 마스킹 레지스터)(214)의 각 비트별 설정 값은 변경되지 않으므로, 상기 데이터 레지스터(예 : 레지스터1, 레지스터2, 레지스터3 등)에 오류 값이 써지는 것을 방지한다.
이때 상기 제3 마스킹 레지스터(또는 최종 마스킹 레지스터)(214)는 상기 데이터 레지스터(예 : 레지스터1, 레지스터2, 레지스터3 등)의 각 비트별 읽기나 쓰기를 허용하거나 방지할 수 있다. 이를 위해서는 상기 제3 마스킹 레지스터(또는 최종 마스킹 레지스터)(214)의 각 비트가, 상기 데이터 레지스터(예 : 레지스터1, 레지스터2, 레지스터3 등)의 대응하는 각 비트별로 각기 와이어드 로직으로 직접 연결되어야 한다(미도시).
하지만 마스킹 레지스터에 의해 데이터 레지스터의 각 비트별 읽기나 쓰기를 허용하거나 방지하는 방식은 종래에도 일반적으로 사용하는 방식이므로 본 실시예에서는 이에 대한 구체적인 설명은 생략한다.
다만 본 실시예에서는 상기 데이터 레지스터(예 : 레지스터1, 레지스터2, 레지스터3 등)의 비트 전체(즉, 바이트 단위, 또는 워드 단위 등)에 대하여 읽기나 쓰기를 허용하거나 방지할 수 있도록 하는 회로의 제공에 특징이 있는 바, 이에 대해서 보다 구체적으로 설명한다.
본 실시예에서 상기 데이터 레지스터(예 : 레지스터1, 레지스터2, 레지스터3 등)의 비트 전체(즉, 바이트 단위, 또는 워드 단위 등)에 대하여 한꺼번에 읽기나 쓰기를 허용하거나 방지하기 위하여, 상기 제3 마스킹 레지스터(또는 최종 마스킹 레지스터)(214)의 각 비트를, 상기 데이터 레지스터(예 : 레지스터1, 레지스터2, 레지스터3 등)의 비트 전체에 대해서 읽기나 쓰기를 허용하거나 허용하지 않는 단자(또는 마스킹을 허용하거나 허용하지 않는 단자)(예 : 인에이블 단자 or 인에이블 비트)(215)에 각기 와이어드 로직으로 직접 연결한다.
따라서 본 실시예에 따른 레지스터 쓰기 오류 방지 장치는, 각 데이터 레지스터(예 : 레지스터1, 레지스터2, 레지스터3 등)의 비트 전체에 대해서 읽기나 쓰기를 허용하거나 허용하지 않는 단자(예 : 인에이블 단자 or 인에이블 비트)(215)를 더 포함한다.
즉, 각 데이터 레지스터(예 : 레지스터1, 레지스터2, 레지스터3 등)의 상기 인에이블 단자(또는 인에이블 비트)(215)가 허용 상태(예 : 1)로 설정되어 있을 때, 상기 제3 마스킹 레지스터(또는 최종 마스킹 레지스터)(214)의 해당 비트의 설정 값(예 : 쓰기 허용, 쓰기 방지)에 따라 해당하는 데이터 레지스터(예 : 레지스터1, 레지스터2, 레지스터3 등)에 대해서 쓰기가 허용되거나 방지된다.
만약 상기 인에이블 단자(또는 인에이블 비트)(215)가 비허용 상태(예 : 0)로 설정되어 있을 경우에는 상기 제3 마스킹 레지스터(또는 최종 마스킹 레지스터)(214)의 해당 비트의 설정 값(예 : 쓰기 허용, 쓰기 방지)에 관계없이 상기 데이터 레지스터(예 : 레지스터1, 레지스터2, 레지스터3 등)에 대한 쓰기는 불가하다.
또한 상기 인에이블 단자(또는 인에이블 비트)(215)가 허용(또는 인에이블) 상태(예 : 1)로 설정되어 있다고 하더라도, 상기 제1 마스킹 레지스터(또는 마스킹 레지스터1)(211)와 상기 제2 마스킹 레지스터(또는 마스킹 레지스터2)(212)의 설정값이 동시에 동일하게 변경되지 않는 한 쓰기 방지가 해제되지 않으므로 오류 값이 해당하는 데이터 레지스터(예 : 레지스터1, 레지스터2, 레지스터3 등)에 써지는 것은 불가하다.
이에 따라 데이터 레지스터(예 : 레지스터1, 레지스터2, 레지스터3 등)에 대한 안전성이 향상된다.
한편 상기 도 3에서는 상기 제3 마스킹 레지스터(또는 최종 마스킹 레지스터)(214)의 해당 비트의 설정 값(예 : 쓰기 허용, 쓰기 방지)에 의해서 개별 데이터 레지스터(예 : 레지스터1, 레지스터2, 레지스터3 등)의 비트 전체에 대해서 마스킹하는 방법을 설명하였다(도 4의 (a) 참조).
도 4는 상기 도 3에 있어서, 개별 레지스터 비트 전체 또는 그룹 레지스터 비트 전체에 대한 쓰기 허용과 쓰기 방지 방법을 설명하기 위한 예시도이다.
도 4의 (a)는 도 3에서 설명한 바와 같이, 상기 제3 마스킹 레지스터(또는 최종 마스킹 레지스터)(214)의 해당 비트를 개별 데이터 레지스터(예 : 레지스터1, 레지스터2, 레지스터3 등)의 인에이블 단자(또는 인에이블 비트)(215)에 와이어드 로직으로 직접 연결하고 개별 데이터 레지스터(예 : 레지스터1, 레지스터2, 레지스터3 등)의 비트 전체를 마스킹하는 방법을 설명하기 위한 예시도이다.
도 4의 (b)는 상기 제3 마스킹 레지스터(또는 최종 마스킹 레지스터)(214)의 해당 비트를 하나의 그룹으로 설정된 개별 데이터 레지스터(예 : 레지스터1, 레지스터2, 레지스터3 등)의 각 인에이블 단자(또는 인에이블 비트)(215)에 공통으로 와이어드 로직으로 직접 연결하여, 상기 그룹으로 설정된 개별 데이터 레지스터(예 : 레지스터1, 레지스터2, 레지스터3 등)의 비트 전체를 한꺼번에 마스킹하는 방법을 설명하기 위한 예시도이다.
이는 기존에 마스킹 레지스터의 각 비트의 설정 값에 의해 데이터 레지스터의 대응하는 비트만을 마스킹하는 방식에 비해서 쓰기 방지의 효율(예 : 시간적 효율, 공간적 효율)을 향상시키는 효과가 있다.
도 5 및 도 6은 상기 도 3에 있어서, 레지스터 쓰기 오류 방지 장치의 동작 방법을 예시적으로 설명하기 위하여 보인 흐름도이다.
도 5를 참조하면, 본 실시예는 마스킹 레지스터 1(또는 제1 마스킹 레지스터)(211)에 오류 값이 써지더라도(S101), 마스킹 레지스터 2(또는 제2 마스킹 레지스터)(212)가 정상 값을 유지하는 경우(S102), 상기 제1 마스킹 레지스터(또는 마스킹 레지스터1)(211)의 설정 값과 상기 제2 마스킹 레지스터(또는 마스킹 레지스터2)(212)의 설정 값이 오아(OR) 연산되어 최종 저장되는 상기 제3 마스킹 레지스터(또는 최종 마스킹 레지스터)(214)의 설정 값은 변경되지 않으므로, 개별 데이터 레지스터 또는 복수의(즉, N개의) 개별 레지스터를 그룹핑 한 레지스터 그룹에 오류 값이 써지는 것을 방지한다(S103).
도 6을 참조하면, 본 실시예는 마스킹 레지스터 1(또는 제1 마스킹 레지스터)(211)에 오류 값이 써지고(S201), 또한 마스킹 레지스터 2(또는 제2 마스킹 레지스터)(212)에도 오류 값이 써지는 경우(S202), 쓰기 허용 상태가 되어 데이터 레지스터(예 : 레지스터1, 레지스터2, 레지스터3 등)의 쓰기가 허용된다.
하지만 본 실시예에서 개별 데이터 레지스터(예 : 레지스터1, 레지스터2, 레지스터3 등)에서 상기 최종 마스킹 레지스터(즉, 제3 마스킹 레지스터)의 마스킹 여부를 허용(또는 인에이블)하는 해당 인에이블 단자(또는 인에이블 비트)(215)의 상태가 인에이블 상태가 아닌 경우(S203의 아니오), 상기 최종 마스킹 레지스터(즉, 제3 마스킹 레지스터)의 상태에 관계없이 마스킹을 허용하지 않으므로, 개별 데이터 레지스터 또는 복수의(즉, N개의) 개별 레지스터를 그룹핑 한 레지스터 그룹에 오류 값이 써지는 것을 방지한다(S204).
반대로 개별 데이터 레지스터(예 : 레지스터1, 레지스터2, 레지스터3 등)의 해당 인에이블 단자(또는 인에이블 비트)(215)의 상태가 인에이블 상태인 경우(S203의 예), 상기 최종 마스킹 레지스터(즉, 제3 마스킹 레지스터)의 상태에 따라 개별 데이터 레지스터 또는 복수의(즉, N개의) 개별 레지스터를 그룹핑 한 레지스터 그룹에 쓰기가 허용된다(S205).
상기와 같이 본 실시예는 복수의 마스킹 레지스터(예 : 마스킹 레지스터1, 마스킹 레지스터2, 최종 마스킹 레지스터)에 의해서 개별 레지스터 혹은 그룹 레지스터에 오류 값이 써지지 않도록 다중으로 보호하는 효과가 있으며, 또한 각 개별 레지스터의 마스킹 허용 여부를 결정하는 인에이블 단자(또는 인에이블 비트)(215)의 상태에 의해 마스킹을 허용하지 않을 경우 개별 레지스터 혹은 그룹 레지스터에 오류 값이 써지지 않도록 다중으로 보호하는 효과가 있다.
이상으로 본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 기술적 보호범위는 아래의 특허청구범위에 의해서 정하여져야 할 것이다.
210 : 레지스터 영역 211 : 제1 마스킹 레지스터
212 : 제2 마스킹 레지스터 213 : 오아(OR) 연산부
214 : 제3 마스킹 레지스터 215 : 인에이블 단자

Claims (16)

  1. 데이터 레지스터의 읽기나 쓰기를 허용하거나 방지하기 위한 설정 값이 각 비트별로 저장되는 제1 마스킹 레지스터;
    상기 제1 마스킹 레지스터에 각 비트별로 저장된 동일한 설정 값이 저장되는 제2 마스킹 레지스터;
    상기 제1 마스킹 레지스터의 각 비트별 설정 값과 상기 제2 마스킹 레지스터의 각 비트별 설정 값을 오아(OR) 연산하는 오아 연산부; 및
    상기 오아 연산부의 연산 결과를 각 비트별로 저장하는 제3 마스킹 레지스터;를 포함하고,
    상기 제3 마스킹 레지스터의 각 비트별 설정 값에 의해서 상기 데이터 레지스터의 쓰기를 허용하거나 방지하는 것을 특징으로 하는 레지스터 쓰기 오류 방지 장치.
  2. 제 1항에 있어서, 상기 레지스터 쓰기 오류 방지 장치는,
    상기 제3 마스킹 레지스터의 마스킹을 허용하거나 허용하지 않음으로써,
    각 데이터 레지스터의 비트 전체에 대해서 읽기나 쓰기를 허용하거나 허용하지 않는 인에이블 단자;를 더 포함하는 것을 특징으로 하는 레지스터 쓰기 오류 방지 장치.
  3. 제 1항에 있어서,
    각 데이터 레지스터의 비트 전체에 대하여 한꺼번에 읽기나 쓰기를 허용하거나 방지하기 위하여,
    상기 제3 마스킹 레지스터의 각 비트를, 상기 각 데이터 레지스터의 인에이블 단자에 각기 와이어드 로직으로 직접 연결하는 것을 특징으로 하는 레지스터 쓰기 오류 방지 장치.
  4. 제 2항에 있어서,
    각 데이터 레지스터의 인에이블 단자가 인에이블 상태에 있을 경우, 상기 제3 마스킹 레지스터의 설정 값에 따라 해당하는 데이터 레지스터에 대해서 쓰기가 허용되거나 방지되는 것을 특징으로 하는 레지스터 쓰기 오류 방지 장치.
  5. 제 4항에 있어서,
    상기 인에이블 단자가 인에이블 상태가 아닌 경우, 상기 제3 마스킹 레지스터의 설정 값에 관계없이 상기 데이터 레지스터에 대한 쓰기는 불가하게 되는 것을 특징으로 하는 레지스터 쓰기 오류 방지 장치.
  6. 제 1항에 있어서,
    그룹으로 설정된 적어도 둘 이상의 개별 데이터 레지스터의 비트 전체를 한꺼번에 마스킹 하기 위하여,
    상기 제3 마스킹 레지스터의 각 비트는, 그룹으로 설정된 적어도 둘 이상의 개별 데이터 레지스터의 각 인에이블 단자에 공통으로 와이어드 로직으로 직접 연결되는 것을 특징으로 하는 레지스터 쓰기 오류 방지 장치.
  7. 제 1항에 있어서,
    상기 제1 마스킹 레지스터에 오류 값이 써지더라도, 상기 제2 마스킹 레지스터가 정상 값을 유지하는 경우, 상기 제3 마스킹 레지스터의 설정 값은 변경되지 않으며,
    이에 따라 상기 제3 마스킹 레지스터에 의해 마스킹되는 개별 데이터 레지스터 또는 복수의 개별 레지스터를 그룹핑 한 레지스터 그룹에 오류 값이 써지는 것을 방지하도록 구현된 것을 특징으로 하는 레지스터 쓰기 오류 방지 장치.
  8. 제 1항에 있어서,
    상기 제1 마스킹 레지스터에 오류 값이 써지고, 또한 상기 제2 마스킹 레지스터에도 오류 값이 써지더라도, 개별 데이터 레지스터에서 상기 제3 마스킹 레지스터의 마스킹 여부를 허용하는 해당 인에이블 단자의 상태가 인에이블 상태가 아닌 경우,
    상기 제3 마스킹 레지스터의 상태에 관계없이 마스킹을 허용하지 않음으로써, 개별 데이터 레지스터 또는 복수의 개별 레지스터를 그룹핑 한 레지스터 그룹에 오류 값이 써지는 것을 방지하도록 구현된 것을 특징으로 하는 레지스터 쓰기 오류 방지 장치.
  9. 제1 마스킹 레지스터가 데이터 레지스터의 읽기나 쓰기를 허용하거나 방지하기 위한 설정 값을 각 비트별로 저장하는 단계;
    상기 제1 마스킹 레지스터가 각 비트별로 저장된 동일한 설정 값을 제2 마스킹 레지스터에 저장하는 단계;
    상기 제1 마스킹 레지스터의 각 비트별 설정 값과 상기 제2 마스킹 레지스터의 각 비트별 설정 값을 오아 연산부가 오아(OR) 연산하는 단계; 및
    제3 마스킹 레지스터가 상기 오아 연산부의 연산 결과를 각 비트별로 저장하는 단계;를 포함하고,
    상기 제3 마스킹 레지스터의 각 비트별 설정 값에 의해서 상기 데이터 레지스터의 쓰기를 허용하거나 방지하는 것을 특징으로 하는 레지스터 쓰기 오류 방지 방법.
  10. 제 9항에 있어서,
    각 데이터 레지스터의 비트 전체에 대해서 읽기나 쓰기를 허용하거나 허용하지 않도록 설정되는 인에이블 단자에 의해, 상기 제3 마스킹 레지스터의 마스킹을 허용하거나 허용하지 않는 단계;를 더 포함하는 것을 특징으로 하는 레지스터 쓰기 오류 방지 방법.
  11. 제 9항에 있어서,
    상기 제3 마스킹 레지스터의 각 비트를, 각 데이터 레지스터의 인에이블 단자에 각기 와이어드 로직으로 직접 연결하는 것에 의해, 상기 각 데이터 레지스터의 비트 전체에 대하여 한꺼번에 읽기나 쓰기를 허용하거나 방지할 수 있도록 이루어진 것을 특징으로 하는 레지스터 쓰기 오류 방지 방법.
  12. 제 10항에 있어서,
    각 데이터 레지스터의 인에이블 단자가 인에이블 상태에 있을 경우, 상기 제3 마스킹 레지스터가 그 설정 값에 따라 해당하는 데이터 레지스터에 대해서 쓰기를 허용하거나 방지하는 것을 특징으로 하는 레지스터 쓰기 오류 방지 방법.
  13. 제 12항에 있어서,
    상기 인에이블 단자가 인에이블 상태가 아닌 경우, 상기 제3 마스킹 레지스터가 그 설정 값에 관계없이 상기 데이터 레지스터에 대한 쓰기를 불가하게 하는 것을 특징으로 하는 레지스터 쓰기 오류 방지 방법.
  14. 제 9항에 있어서,
    상기 제3 마스킹 레지스터의 각 비트가, 그룹으로 설정된 적어도 둘 이상의 개별 데이터 레지스터의 각 인에이블 단자에 공통으로 와이어드 로직으로 직접 연결되는 것에 의해, 그룹으로 설정된 적어도 둘 이상의 개별 데이터 레지스터의 비트 전체를 한꺼번에 마스킹 하도록 이루어진 것을 특징으로 하는 레지스터 쓰기 오류 방지 방법.
  15. 제 9항에 있어서,
    상기 제1 마스킹 레지스터에 오류 값이 써지더라도, 상기 제2 마스킹 레지스터가 정상 값을 유지하는 경우, 상기 제3 마스킹 레지스터는 그 설정 값을 변경하지 않으며, 이에 따라 상기 제3 마스킹 레지스터에 의해 마스킹되는 개별 데이터 레지스터 또는 복수의 개별 레지스터를 그룹핑 한 레지스터 그룹에 오류 값이 써지는 것을 방지하도록 이루어진 것을 특징으로 하는 레지스터 쓰기 오류 방지 방법.
  16. 제 9항에 있어서,
    상기 제1 마스킹 레지스터에 오류 값이 써지고, 또한 상기 제2 마스킹 레지스터에도 오류 값이 써지더라도, 개별 데이터 레지스터에서 상기 제3 마스킹 레지스터의 마스킹 여부를 허용하는 해당 인에이블 단자의 상태가 인에이블 상태가 아닌 경우, 상기 제3 마스킹 레지스터의 상태에 관계없이 마스킹을 허용하지 않음으로써, 개별 데이터 레지스터 또는 복수의 개별 레지스터를 그룹핑 한 레지스터 그룹에 오류 값이 써지는 것을 방지하도록 이루어진 것을 특징으로 하는 레지스터 쓰기 오류 방지 방법.
KR1020170149610A 2017-11-10 2017-11-10 레지스터 쓰기 오류 방지 장치 및 방법 KR102030074B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170149610A KR102030074B1 (ko) 2017-11-10 2017-11-10 레지스터 쓰기 오류 방지 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170149610A KR102030074B1 (ko) 2017-11-10 2017-11-10 레지스터 쓰기 오류 방지 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20190053575A KR20190053575A (ko) 2019-05-20
KR102030074B1 true KR102030074B1 (ko) 2019-10-08

Family

ID=66678683

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170149610A KR102030074B1 (ko) 2017-11-10 2017-11-10 레지스터 쓰기 오류 방지 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102030074B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100275817B1 (ko) 1996-11-06 2001-01-15 김영환 라이트 드라이버 회로
JP2011511383A (ja) 2008-02-07 2011-04-07 アナログ・デバイシズ・インコーポレーテッド 保護された動作モードの間にシステムアクセスを制御するための方法および装置
US20130227210A1 (en) 2012-02-28 2013-08-29 Micron Technology, Inc. Memory, memory controllers, and methods for dynamically switching a data masking/data bus inversion input
JP2014222546A (ja) 2014-08-22 2014-11-27 ルネサスエレクトロニクス株式会社 自動車

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060089332A (ko) * 2005-02-04 2006-08-09 삼성전자주식회사 인터럽트 우선순위를 설정 가능한 인터럽트 컨트롤러

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100275817B1 (ko) 1996-11-06 2001-01-15 김영환 라이트 드라이버 회로
JP2011511383A (ja) 2008-02-07 2011-04-07 アナログ・デバイシズ・インコーポレーテッド 保護された動作モードの間にシステムアクセスを制御するための方法および装置
US20130227210A1 (en) 2012-02-28 2013-08-29 Micron Technology, Inc. Memory, memory controllers, and methods for dynamically switching a data masking/data bus inversion input
JP2014222546A (ja) 2014-08-22 2014-11-27 ルネサスエレクトロニクス株式会社 自動車

Also Published As

Publication number Publication date
KR20190053575A (ko) 2019-05-20

Similar Documents

Publication Publication Date Title
US9389793B2 (en) Trusted execution and access protection for embedded memory
JP5535547B2 (ja) セキュアメモリインターフェース
US8140216B2 (en) Method of detecting manipulation of a programmable memory device of a digital controller
US8867746B2 (en) Method for protecting a control device against manipulation
CN101772807A (zh) 在多通道大容量存储装置中的ecc功能块布局
WO2004107176A1 (en) Method and apparatus for determining access permission
EP2294581B1 (en) A system for distributing available memory resource
US20150324576A1 (en) Method for implementing a communication between control units
EP3460632B1 (en) Microcontroller and control method of the same
US20070174622A1 (en) Protection of data of a memory associated with a microprocessor
US10366018B2 (en) Control apparatus with access monitoring unit configured to request interrupt process
KR102030074B1 (ko) 레지스터 쓰기 오류 방지 장치 및 방법
US20170286324A1 (en) Semiconductor device and access management method
CN110020561B (zh) 半导体装置和操作半导体装置的方法
JP5975923B2 (ja) 車両用制御装置
US11704128B2 (en) Method for executing a machine code formed from blocks having instructions to be protected, each instruction associated with a construction instruction to modify a signature of the block
US10885195B2 (en) Process for loading a secure memory image for a microcontroller and assembly including a microcontroller
US20210390180A1 (en) Devices and methods to secure a system on a chip
US20230080617A1 (en) Sensor device
US20200394132A1 (en) Memory device
JP2017204083A (ja) メモリ保護システム
CN105094004B (zh) 用于运行控制设备的方法
US20110219219A1 (en) Semiconductor integrated circuit and register address controller
KR20190100074A (ko) 독립적인 다운스트림 공정을 이용한 자동차 기능 안전 준수를 위한 메모리 보안
JP5756413B2 (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
GRNT Written decision to grant