KR20170015706A - 글리치 검출기, 그것을 포함하는 전자 장치 및 그것의 알람 신호 발생 방법 - Google Patents

글리치 검출기, 그것을 포함하는 전자 장치 및 그것의 알람 신호 발생 방법 Download PDF

Info

Publication number
KR20170015706A
KR20170015706A KR1020150108166A KR20150108166A KR20170015706A KR 20170015706 A KR20170015706 A KR 20170015706A KR 1020150108166 A KR1020150108166 A KR 1020150108166A KR 20150108166 A KR20150108166 A KR 20150108166A KR 20170015706 A KR20170015706 A KR 20170015706A
Authority
KR
South Korea
Prior art keywords
value
count value
alarm signal
clock
generating
Prior art date
Application number
KR1020150108166A
Other languages
English (en)
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 KR1020150108166A priority Critical patent/KR20170015706A/ko
Priority to US15/198,636 priority patent/US20170032125A1/en
Priority to CN201610608177.9A priority patent/CN106405208A/zh
Publication of KR20170015706A publication Critical patent/KR20170015706A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • G01R19/25Arrangements for measuring currents or voltages or for indicating presence or sign thereof using digital measurement techniques
    • G01R19/2503Arrangements for measuring currents or voltages or for indicating presence or sign thereof using digital measurement techniques for measuring voltage only, e.g. digital volt meters (DVM's)
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31727Clock circuits aspects, e.g. test clock circuit details, timing aspects for signal generation, circuits for testing clocks
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R11/00Electromechanical arrangements for measuring time integral of electric power or current, e.g. of consumption
    • G01R11/02Constructional details
    • G01R11/16Adaptations of counters to electricity meters
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31702Testing digital circuits including elements other than semiconductor transistors, e.g. biochips, nanofabrics, mems, chips with magnetic elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/073Special arrangements for circuits, e.g. for protecting identification code in memory
    • G06K19/07309Means for preventing undesired reading or writing from or onto record carriers
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/18Status alarms
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/18Status alarms
    • G08B21/182Level alarms, e.g. alarms responsive to variables exceeding a threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Emergency Management (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Analogue/Digital Conversion (AREA)
  • Chemical & Material Sciences (AREA)
  • Nanotechnology (AREA)
  • Manipulation Of Pulses (AREA)
  • Alarm Systems (AREA)

Abstract

본 발명에 따른 글리치 검출기는, 전원전압에 대응하는 클록을 발생하는 클록 발생기, 상기 클록을 카운팅하는 카운터, 및 상기 카운터로부터 출력된 카운트 값과 기준값을 비교하고, 상기 비교 결과에 따른 알람 신호를 발생하는 비교기를 포함한다.

Description

글리치 검출기, 그것을 포함하는 전자 장치 및 그것의 알람 신호 발생 방법{GLITCH DETECTOR, ELECTRONIC DEVICE HAVING THE SAME, AND ALARM SIGNAL GENERATION METHOD THEREOF}
본 발명은 글리치 검출기, 그것을 포함한 전자 장치 및 그것의 알람 신호 발생 방법에 관한 것이다.
글리치 어택(glitch attack) 기술은 스마트 카드가 예측 불가능하게 동작되도록 외부로부터 인가되는 신호 또는 전원에 이상한 신호를 가함으로써 스마트 카드를 마음대로 해킹하는 것을 말한다. 예컨대, 스마트 카드 내부 칩을 구동하기 위한 동작전압에 글리치를 주어 EEPROM으로부터 데이터를 유출하는 방법이 시도될 수 있다. 이에 스마트 카드는 이를 위해 전원전압에 갑자기 전압이 높아지거나 낮아지는 것을 탐지하는 글리치 검출기를 내장한다.
본 발명의 목적은, 신규한 글리치 검출기 및 그것을 포함하는 전자 장치 및 그것의 알람 신호 발생 방법을 제공하는 데 있다.
본 발명의 실시 예에 따른 글리치 검출기는, 전원전압에 대응하는 클록을 발생하는 클록 발생기, 상기 클록을 카운팅하는 카운터, 및 상기 카운터로부터 출력된 카운트 값과 기준값을 비교하고, 상기 비교 결과에 따른 알람 신호를 발생하는 비교기를 포함한다.
실시 예에 있어서, 상기 클록 발생기는 링 오실레이터를 포함한다.
실시 예에 있어서, 상기 카운터는 리플 카운터를 포함한다.
실시 예에 있어서, 상기 카운트 값을 시스템 클록에 동기화시키는 동기화기를 더 포함한다.
실시 예에 있어서, 상기 카운터로부터 출력되는 상기 카운트 값은 바이너리 코드 값이고, 상기 바이너리 코드 값을 그레이 코드 값으로 변환시키고, 상기 변환된 그레이 코드 값을 상기 동기화기에 출력하는 바이너리 그레이 코드 변환기; 및 상기 동기화기는 상기 변환된 그레이 코드 값을 상기 시스템 클록에 동기화시키고, 상기 동기화된 그레이 코드 값을 바이너리 코드 값으로 변환시키고, 상기 변환된 바이너리 코드 값을 상기 비교기로 출력하는 그레이 바이너리 코드 변환기를 더 포함한다.
실시 예에 있어서, 상기 기준값을 발생하는 기준값 발생기를 더 포함한다.
실시 예에 있어서, 상기 기준값은 고정된 값이다.
실시 예에 있어서, 상기 기준값은 가변되는 값이다.
실시 예에 있어서, 상기 기준값은 무빙 에버리지 값이다.
실시 예에 있어서, 상기 카운트 값에서 상기 무빙 에버리지 값을 뺀 값의 절대값이 사전에 결정된 값보다 클 때, 상기 비교기는 상기 알람 신호를 발생한다.
실시 예에 있어서, 상기 카운트 값이 상기 무빙 에버리지 값보다 크고, 상기 카운트 값이 상한값보다 클 때, 상기 비교기는 상기 알람 신호를 발생하거나, 혹은, 상기 카운트 값이 상기 무빙 에버리지 값보다 크지 않고, 상기 카운트 값이 하한값보다 작을 때, 상기 비교기는 상기 알람 신호를 발생한다.
실시 예에 있어서, 상기 기준값은 이전 카운트 값이고, 상기 카운트 값에서 상기 이전 카운트 값을 뺀 값의 절대값이 사전에 결정된 값보다 클 때, 상기 비교기는 상기 알람 신호를 발생한다.
실시 예에 있어서, 상기 카운트 값이 상한값보다 클 때, 상기 비교기는 상기 알람 신호를 발생하거나, 혹은 상기 카운트 값이 상기 상한값보다 크지 않고 상기 카운트 값이 하한값보다 작을 때, 상기 비교기는 상기 알람 신호를 발생한다.
실시 예에 있어서, 시스템 클록의 카운팅 동작 구간에서, 상기 클록 발생기는 상기 클록을 발생하고, 그리고, 상기 카운터는 상기 클록을 카운팅하고, 상기 시스템 클록의 전송 동작 구간에서 상기 클록 발생기는 상기 클록을 발생하지 않고, 그리고 상기 카운터는 상기 카운트 값을 상기 비교기로 출력한다.
본 발명의 실시 예에 따른 전자 장치는, 적어도 하나의 중앙 처리 장치; 및 전원전압에 대응하는 클록을 발생하고, 상기 클록을 카운팅하고, 상기 카운팅된 카운트 값과 기준값을 비교하고, 상기 비교 결과에 따른 알람 신호를 발생하고, 상기 알람 신호를 상기 적어도 하나의 중앙 처리 장치에 출력하는 글리치 검출기를 포함한다.
실시 예에 있어서, 상기 적어도 하나의 중앙 처리 장치는 상기 알람 신호에 응답하여 리셋 동작을 수행한다.
실시 예에 있어서, 상기 기준값은 상기 글리치 검출기 내부에서 발생된다.
실시 예에 있어서, 상기 기준값은 상기 적어도 하나의 중앙 처리 장치에서 발생된다.
실시 예에 있어서, 상기 기준값은 상한값과 하한값을 포함하고, 상기 적어도 하나의 중앙 처리 장치는 상기 상한값과 상기 하한값을 변경함으로써, 상기 글리치 검출기의 민감도가 조절된다.
실시 예에 있어서, 상기 글리치 검출기는 상기 전자 장치의 관리 정책에 따라 활성화 혹은 비활성화된다.
본 발명의 실시 예에 따른 글리치 검출기의 알람 신호 발생 방법은: 전원전압에 대응하는 클록을 발생하는 단계; 상기 클록을 카운팅하는 단계; 상기 카운팅된 카운트 값과 기준값을 비교하는 단계; 및 상기 비교 결과에 따른 알람 신호를 발생하는 단계를 포함한다.
실시 예에 있어서, 상기 비교하는 단계는, 상기 카운트 값에서 상기 기준값을 뺀 값의 절대값이 사전에 결정된 값보다 큰 지를 비교하는 단계; 상기 카운트 값이 상한값보다 큰 지를 비교하는 단계; 혹은 상기 카운트 값이 하한값보다 작은 지를 비교하는 단계를 포함한다.
실시 예에 있어서, 상기 기준값이 무빙 에버리지 값이고, 상기 비교하는 단계는, 상기 카운트 값에서 상기 무빙 에버리지 값을 뺀 값의 절대값이 사전에 결정된 값보다 큰 지를 비교하는 단계를 포함한다.
실시 예에 있어서, 상기 기준값은 무빙 에버리지 값이고, 상기 비교하는 단계는, 상기 카운트 값이 상기 무빙 에버리지 값보다 큰 지를 비교하는 단계; 상기 카운트 값이 상기 무빙 에버리지 값보다 크다면, 상기 카운트 값이 상한값보다 큰 지를 판별하는 단계; 및 상기 카운트 값이 상기 무빙 에버리지 값보다 크지 않다면, 상기 카운트 값이 하한값보다 작은 지를 판별하는 단계를 포함한다.
실시 예에 있어서, 상기 알람 신호를 발생하는 단계는, 상기 카운트 값이 상기 상한값보다 크거나 상기 카운트 값이 상기 하한값보다 작을 때, 상기 알람 신호를 발생하는 단계를 포함한다.
실시 예에 있어서, 상기 기준값은 이전 카운트 값이고, 상기 비교하는 단계는, 상기 카운트 값에서 상기 이전 카운트 값을 뺀 값의 절대값이 사전에 결정된 값보다 큰 지를 판별하는 단계를 포함한다.
실시 예에 있어서, 상기 카운트 값을 시스템 클록에 동기화시키는 단계를 더 포함하고, 상기 비교하는 단계는, 상기 동기화된 카운트 값과 상기 기준값을 비교하는 단계를 포함한다.
실시 예에 있어서, 상기 글리치 검출기는 상기 카운트 값과 상기 기준값을 비교하는 비교기를 포함하고, 상기 카운트 값을 상기 비교기로 전송하는 단계를 더 포함하고, 시스템 클록의 카운팅 동작 구간에서 상기 클록이 발생되고 그리고 상기 클록을 카운팅되고, 상기 시스템 클록의 전송 동작 구간에서 상기 카운트 값이 상기 비교기로 전송된다.
본 발명의 다른 실시 예에 따른 글리치 검출기는, 전원전압에 대응하는 제 1 클록을 발생하는 링오실레이터; 상기 제 1 클록을 카운팅하는 카운터; 및 제 2 클록에 응답하여 상기 카운터로부터 출력된 카운트 값과 기준값을 비교하고, 상기 비교 결과에 따라 알람 신호를 발생하는 비교기를 포함한다.
본 발명의 실시 예에 따른 글리치 검출기, 그것을 포함하는 전자 장치 및 그것의 알람 신호 발생 방법은, 디지털 회로들로 글리치를 검출함으로써, 아날로그의 그것과 비교하여 크기도 작고, 다양한 반도체 공정에 수정 없이 적용할 수 있다.
또한, 본 발명의 실시 예에 따른 글리치 검출기, 그것을 포함하는 전자 장치 및 그것의 알람 신호 발생 방법은, 기준값을 다양한 동작 환경에서 변경함으로써, 글리치 검출의 민감도를 조절할 수 있다.
도 1은 본 발명의 실시 예에 따른 글리치 검출기를 예시적으로 보여주는 도면이다.
도 2는 본 발명의 실시 예에 따른 클록 발생기를 예시적으로 보여주는 도면이다.
도 3은 본 발명의 실시 예에 따른 카운터를 예시적으로 보여주는 도면이다.
도 4는 본 발명의 다른 실시 예에 따른 글리치 검출기를 예시적으로 보여주는 도면이다.
도 5는 본 발명의 또 다른 실시 예에 따른 글리치 검출기를 예시적으로 보여주는 도면이다.
도 6은 본 발명의 또 다른 실시 예에 따른 글리치 검출기를 예시적으로 보여주는 도면이다.
도 7은 본 발명의 또 다른 실시 예에 따른 글리치 검출기를 예시적으로 보여주는 도면이다.
도 8은 본 발명의 실시 예에 따른 알람 신호(S_alarm)가 리셋 신호로 사용되는 전자 장치를 예시적으로 보여주는 블록도이다.
도 9는 본 발명의 실시 예에 따른 글리치 검출기의 알람 신호 발생 방법을 예시적으로 보여주는 흐름도이다.
도 10은 본 발명의 다른 실시 예에 따른 글리치 검출기의 알람 신호 발생 방법을 예시적으로 보여주는 흐름도이다.
도 11은 본 발명의 또 다른 실시 예에 따른 글리치 검출기의 알람 신호 발생 방법을 예시적으로 보여주는 흐름도이다.
도 12는 본 발명의 또 다른 실시 예에 따른 글리치 검출기의 알람 신호 발생 방법을 예시적으로 보여주는 흐름도이다.
도 13은 본 발명의 또 다른 실시 예에 따른 글리치 검출기의 알람 신호 발생 방법을 예시적으로 보여주는 흐름도이다.
도 14는 본 발명의 또 다른 실시 예에 따른 글리치 검출기의 알람 신호 발생 방법을 예시적으로 보여주는 흐름도이다.
도 15는 본 발명의 또 다른 실시 예에 따른 글리치 검출기의 알람 신호 발생 방법을 예시적으로 보여주는 흐름도이다.
도 16은 본 발명의 실시 예에 따른 전자 장치를 예시적으로 보여주는 블록도이다.
도 17은 본 발명의 실시 예에 따른 모바일 장치를 예시적으로 보여주는 블록도이다.
도 18은 본 발명의 실시 예에 따른 글리치 검출기의 동작 결과를 예시적으로 보여주는 도면이다.
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 혹은 대체물을 포함한다.
제 1 혹은 제 2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고 유사하게 제 2 구성 요소는 제 1 구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 혹은 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 혹은 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 혹은 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 혹은 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 혹은 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 혹은 이들을 조합한 것들의 존재 혹은 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 실시 예에 따른 글리치 검출기(100)를 예시적으로 보여주는 도면이다. 도 1을 참조하면, 글리치 검출기(100)는 클록 발생기(110), 카운터(120), 및 비교기(130)를 포함할 수 있다.
클록 발생기(110)는 전원전압(Vdd)을 입력받고, 전원전압(Vdd)에 대응하는 클록(CLK_OSC)을 발생하도록 구현될 수 있다. 예를 들어, 전원전압(Vdd)이 상대적으로 높으면 고주파수의 클록(CLK_OSC)이 발생되고, 전원전압(Vdd)이 상대적으로 낮으면 저주파수의 클록(CLK_OSC)이 발생될 수 있다. 실시 예에 있어서, 클록 발생기(110)는 전압 제어 오실레이터(voltage controlled oscillator, VCO)일 수 있다. 예를 들어, 클록 발생기(110)는 링 오실레이터(ring oscillator), LC 오실레이터, LC 전압 제어 오실레이터 등 일 수 있다. 상술 한 클록 발생기(110)는 본 발명이 제한되지 않는 실시 예에 불과하다고 이해되어야 할 것이다.
카운터(120)는 클록 발생기(110)로부터 출력된 클록(CLK_OSC)을 카운팅하고, 카운트 값(CNT)을 출력하도록 구현될 수 있다. 실시 예에 있어서, 카운터(120)는 동기식 혹은 비동기식 카운터일 수 있다. 예를 들어, 카운터(120)는 리플 카운터(ripple counter), BCD 카운터, 2진 카운터, 링 카운터, 존슨 카운터 등 일 수 있다. 상술한 카운터(120)는 본 발명이 제한되지 않는 실시 예에 불과하다고 이해되어야 할 것이다.
비교기(130)는 카운터(120)로부터 출력된 카운트 값(CNT)을 입력받고, 카운트 값(CNT)과 기준값(REF)을 비교하고, 비교 결과에 대응하는 알람 신호(S_alarm)를 발생하도록 구현될 수 있다. 예를 들어, 비교 결과 카운트 값(CNT)과 기준값(REF)이 급격한 차이를 갖는다면, 알람 신호(S_alarm)가 발생될 수 있다. 실시 예에 있어서, 카운트 값(CNT)과 기준값(REF)의 차이가 사전에 결정된 값(predetermined value; PDV)보다 클 때, 알람 신호(S_alarm)가 발생될 수 있다.
일반적인 글리치 검출기는 아날로그 회로로 구성된다. 이러한 아날로그 방식의 글리치 검출기는 저항, 캐퍼시터 등의 수동소자의 특성 등을 공정에 맞게 튜닝하여 설계해야 하므로, 새로운 공정을 도입할 때마다 다시 설계해야 하는 문제점이 있다. 또한, 일반적으로 캐퍼시터 등의 수동소자의 크기가 크기 때문에 많은 면적을 차지하게 됨으로써, 반도체의 생산 원가를 높이는 문제점도 있다. 또한, 단순 비교만 가능하기 때문에 다양한 종류의 글리치에 대응하기 어렵다는 문제점이 있다.
반면에, 본 발명의 글리치 검출기(100)는, 도 1에 도시된 바와 같이 디지털 회로들로 구현됨으로써, 아날로그의 그것과 비교하여 크기도 작고, 다양한 반도체 공정에 수정 없이 적용할 수 있고, 또한 다양한 동작 환경에서 소프트웨어적으로 튜닝하는 것만으로 사용 가능하다.
도 2는 본 발명의 실시 예에 따른 클록 발생기(110)를 예시적으로 보여주는 도면이다. 도 2를 참조하면, 클록 발생기(110)는 클록(CLK_OSC)을 출력하는 링 오실레이터로 구현될 수 있다.
클록 발생기(110)는 도 2에 도시된 바와 같이, 직렬 연결된 3개의 인버터들(INV1 ~ INV3)을 포함할 수 있다. 인버터들(INV1 ~ INV3) 각각은 전원전압(Vdd)과 접지단(GND) 사이에 연결되고, 제 1 인버터(INV1)의 입력단은 제 3 인버터(INV3)의 출력단에 연결될 수 있다. 한편, 도 2에 도시된 클록 발생기(110)는 3개의 인버터들(INV1 ~ INV3)로 구성되지만, 본 발명의 인버터들의 개수가 여기에 제한되지 않을 것이다. 클록 발생기(110)는 3개 이상의 홀수 개의 인버터들로 구현될 수 있다. 한편, 상술한 클록 발생기(110)는 본 발명이 제한되지 않는 실시 예에 불과하다고 이해되어야 할 것이다.
도 3은 본 발명의 실시 예에 따른 카운터(120)를 예시적으로 보여주는 도면이다. 도 3을 참조하면, 카운터(120)는 리플 카운터로 구현될 수 있다.
카운터(120)는 도 3에 도시된 바와 같이, 4개의 플립플롭들(FF1 ~ FF4)로 구성된 리플 카운터를 포함할 수 있다. 플립플롭들(FF1 ~ FF4) 각각의 입력단(D)은 출력단(/Q)에 연결되고, 앞 단의 플립플롭(예를 들어, FF1)의 출력단(Q)은 윗단의 플립플롭(예를 들어, FF2)의 트리거 입력단(CK)에 연결되고, 제 1 플립플롭(FF1)의 트리거 입력단(CK)에 클록(CLK_OSC)이 입력된다. 제 1 내지 제 4 플립플롭(FF4)의 출력단들(Q)으로부터 카운트 값(CNT[3:0])이 출력될 수 있다. 즉, 4 비트의 카운트 값이 출력될 수 있다.
한편, 도 3에 도시된 카운터(120)는 4개의 플립플롭들(FF1 ~ FF4)로 구성되지만, 본 발명의 플립플롭들의 개수가 여기에 제한되지 않을 것이다. 카운터(120)는 복수의 플립플롭들로 구현될 수 있다. 한편, 상술한 카운터(120)는 본 발명이 제한되지 않는 실시 예에 불과하다고 이해되어야 할 것이다.
한편, 본 발명의 글리치 검출기는 카운트 값(CNT)을 시스템 클록에 동기화시키는 동기화기(synchronizer)를 더 포함할 수 있다.
도 4는 본 발명의 다른 실시 예에 따른 글리치 검출기(200)를 예시적으로 보여주는 도면이다. 도 4를 참조하면, 글리치 검출기(200)는, 도 1의 도시된 글리리 검출기(100)와 비교하여, 카운터(120)와 비교기(130) 사이에 연결된 동기화기(125)를 더 포함할 수 있다.
동기화기(125)는 카운터(120)로부터 출력된 카운트 값(CNT)을 입력받고, 카운트 값(CNT)을 시스템 클록(CLK_SYS)에 동기화시킨 동기화된 카운트 값(CNT')으로 출력하도록 구현될 수 있다. 비교기(130)는 시스템 클록(CLK_SYS) 도메인에서 동작하고, 동기화된 카운트 값(CNT')과 기준값(REF)을 비교하고, 그 결과에 대응하는 알람 신호(S_alarm)를 발생할 수 있다.
한편, 본 발명의 글리리 검출기는 카운팅 동작에서 야기되는 글리치 에러를 줄이기 위하여 카운트 값(CNT)을 그레이 코드(gray code)로 변경할 수도 있다.
도 5는 본 발명의 또 다른 실시 예에 따른 글리치 검출기(300)를 예시적으로 보여주는 도면이다. 도 5를 참조하면, 글리치 검출기(300)는, 도 4의 도시된 글리치 검출기(200)와 비교하여, 동기화기(125)의 앞 단과 뒤 단에 배치된 바이너리 그레이 코드 변환기(124) 및 그레이 바이너리 코드 변환기(126)를 더 포함할 수 있다.
바이너리 그레이 코드 변환기(124)는 카운터(120)로부터 출력된 카운트 값(CNT)을 그레이 코드 값으로 변환하도록 구현될 수 있다. 여기서 카운터(120)로부터 카운트 값(CNT)은 바이너리 코드 값이라고 가정하겠다.
동기화기(125)는 그레이 코드로 변환된 카운트 값을 시스템 클록(CLK_OSC)에 동기화시키 출력할 수 있다. 여기서 출력되는 동기화된 카운트 값은 그레이 코드 값일 수 있다.
그레이 바이너리 코드 변환기(126)는 동기화기(125)로부터 출력되는 그레이 코드 값을 바이너리 코드 값으로 변환하도록 구현될 수 있다. 바이너리 코드 값으로 변환된 카운트 값이 비교기(130)에 입력될 수 있다.
본 발명의 실시 예에 따른 글리치 검출기(300)는 카운트 값(CNT)을 1 비트씩 변하는 그레이 코드로 변환시킨 뒤에 동기화시킴으로써, 다른 값으로 인식될 오류를 줄일 수 있다.
한편, 본 발명의 글리치 검출기는 기준값(REF)을 발생하는 기준값 발생기를 더 포함할 수 있다.
도 6은 본 발명의 또 다른 실시 예에 따른 글리치 검출기(400)를 예시적으로 보여주는 도면이다. 도 6을 참조하면, 글리치 검출기(400)는 도 1에 도시된 글리치 검출기(100)와 비교하여 기준값(REF)을 발생하는 기준값 발생기(140)를 더 포함할 수 있다. 기준값 발생기(140)는 하드웨어/펌웨어/소프트웨어적으로 기준값(REF)을 발생하도록 구현될 수 있다.
실시 예에 있어서, 기준값(REF)은 고정된 값이거나 가변되는 값일 수 있다.
실시 예에 있어서, 기준값 발생기(140)는 외부로부터 기준값 정보를 입력받고, 입력된 기준값 정보에 대응하는 기준값(REF)을 발생하도록 구현될 수 있다. 여기서 기준값 정보는 도시되지 않았지만, 기준값 발생기(140) 내의 레지스터들 내부에 저장될 수 있다. 여기서 기준값(RFF)은 바이너리 코드 값일 수 있다.
실시 예에 있어서, 기준값 발생기(140)는 기준값(REF)으로 사용하기 위하여 다양한 종류의 평균값을 이용하도록 구현될 수 있다. 예를 들어, 기준값(REF)으로 무빙 에버리지(moving average) 값이 이용될 수 있다. 여기서 무빙 에버리지 값은 카운트 값(CNT)의 실시간 평균값으로, 아래의 수학식으로 계산될 수 있다.
Figure pat00001
여기서, prior_CNT는 이전 카운트 값이고, CNT는 현재 카운트 값이다. 한편, 본 발명의 무빙 에버리지 값을 계산하는 방법은 수학식 1에 제한되지 않는다고 이해되어야 할 것이다.
한편, 상술한 기준값 발생기(140)는 본 발명이 제한되지 않는 실시 예에 불과하다고 이해되어야 할 것이다. 도 6에 도시된 기준값 발생기(140)는 글리치 검출기(400) 내부에 존재하지만, 본 발명이 반드시 여기에 제한될 필요는 없다. 본 발명의 기준값 발생기는 글리치 검출기 외부에도 존재할 수 있다. 특히, 기준값 발생기는 글리치 검출기의 외부에 존재하는 중앙 처리 장치/프로세서에 펌웨어적으로 혹은 소프트웨어적으로 구현될 수 있다.
한편, 기준값 발생기(140)는, 도시되지 않았지만 도 4의 글리치 검출기(200) 및 도 5의 글리치 검출기(300)에도 추가될 수 있다고 이해되어야 할 것이다.
한편, 본 발명의 글리치 검출기는 별도의 동기화기를 사용하지 않고도 시스템 클록(CLK_SYS)을 효율적으로 사용함으로써 카운트 값(CNT)을 동기화시킬 수 있다.
도 7은 본 발명의 또 다른 실시 예에 따른 글리치 검출기(500)를 예시적으로 보여주는 도면이다. 도 7을 참조하면, 글리치 검출기(500)는 클록 발생기(210), 카운터(220), 및 비교기(230)를 포함할 수 있다.
클록 발생기(210)는 시스템 클록(CLK_SYS, "제 2 클록")에 응답하여 활성화/비활성화될 수 있도록 구현될 수 있다. 즉, 클록 발생기(210)는 시스템 클록(CLK_SYS)의 카운팅 동작 구간에서 클록(CLK_OSC, "제 1 클록")을 발생하고, 시스템 클록(CLK_SYS)의 전송 동작 구간에서 클록(CLK_OSC) 발생을 중단사킬 수 있다.
카운터(220)는 시스템 클록(CLK_SYS)에 응답하여 활성화/비활성화될 수 있도록 구현될 수 있다. 즉, 카운터(220)는 시스템 클록(CLK_SYS)의 카운팅 동작 구간에서 클록(CLK_OSC)에 대한 카운팅 동작을 수행하고, 시스템 클록(CLK_SYS)의 전송 동작 구간에서 카운팅 동작을 중단하고, 카운트 값(CNT)을 출력할 수 있다.
실시 예에 있어서, 시스템 클록(CLK_SYS)의 한 사이클(혹은, 주기)마다 카운팅 동작 구간과 전송 동작 구간이 반복될 수 있다. 상술한 카운팅 동작 구간과 전송 동작 구간의 반복은 본 발명이 제한되지 않는 실시 예에 불과하다고 이해되어야 할 것이다. 도 7에 도시된, 카운팅 동작 구간의 크기와 전송 동작 구간의 크기는 모두 한 싸이클로 동일하다. 하지만, 본 발명이 반드시 여기에 제한되지 않을 것이다. 카운팅 동작 구간의 크기와 전송 동작 구간의 크기는 서로 다를 수도 있다.
추가로, 비교 동작 구간이 추가될 수도 있다. 다른 실시 예에 있어서, 비교 동작 구간은 전송 동작 구간 내에 포함될 수도 있다. 한편, 상술한 카운터(220)는 본 발명이 제한되지 않는 실시 예에 불과하다고 이해되어야 할 것이다.
한편, 추가로 글리치 검출기(500)는 도 6에 도시된 기준값 발생기(140)를 더 포함할 수 있다.
도 8은 본 발명의 실시 예에 따른 알람 신호(S_alarm)가 리셋 신호로 사용되는 전자 장치(10)를 예시적으로 보여주는 블록도이다. 도 8을 참조하면, 전자 장치(10)는, 적어도 하나의 글리치 검출기(11) 및 적어도 하나의 중앙 처리 장치(12)를 포함할 수 있다.
적어도 하나의 글리치 검출기(11)는, 도 1에 도시된 글리치 검출기(100), 도 4에 도시된 글리치 검출기(200), 도 5에 도시된 글리치 검출기(300), 도 6에 도시된 글리치 검출기(400), 도 7에 도시된 글리치 검출기(500), 및 그것들의 조합 등 중 어느 하나로 구현될 수 있다.
적어도 하나의 중앙 처리 장치(12)는 적어도 하나의 글리치 검출기(11)로부터 출력되는 알람 신호(S_alarm)에 응답하여 리셋 동작을 수행하도록 구현될 수 있다. 실시 예에 있어서, 하나의 알람 신호(S_alarm)에 응답하여 리셋 동작이 수행될 수 있다. 다른 실시 예에 있어서, 소정의 시간 동안 복수의 알람 신호들에 응답하여 리셋 동작이 수행될 수 있다. 상술한 리셋 동작은 본 발명이 제한되지 않는 실시 예들에 불과하다고 이해되어야 할 것이다.
전자 장치(10)는, 예를 들어, 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동전화기(mobile phone), 화상전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 카메라(camera), 웨어러블 장치(wearable device), 전자 시계(electronic clock), 손목 시계(wrist watch), 가전 제품(home appliance)(예: 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기 등), 인공 지능 로봇, TV, DVD(digital video disk) 플레이어, 오디오, 각종 의료기기(예: MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 초음파기 등), 네비게이션(navigation) 장치, GPS 수신기(global positioning system receiver), EDR(event data recorder), FDR(flight data recorder), 셋톱 박스(set-top box), TV 박스(예를 들면, 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 전자 사전, 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(electronic equipment for ship, 예를 들면, 선박용 항법 장치, 자이로콤파스 등), 항공 전자기기(avionics), 보안 기기, 전자 의복, 전자 키, 캠코더(camcorder), 게임 콘솔(game consoles), HMD(head-mounted display), 평판표시장치(flat panel display device), 전자 액자, 전자 앨범, 통신 기능을 포함한 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 서명 입력장치(electronic signature receiving device) 혹은 프로젝터(projector) 등의 다양한 장치들 중 하나 혹은 그 이상의 조합일 수 있다.
도 9는 본 발명의 실시 예에 따른 글리치 검출기의 알람 신호 발생 방법을 예시적으로 보여주는 흐름도이다. 도 1 내지 도 9를 참조하면, 글리치 검출기의 알람 신호(S_alarm) 발생 방법은 다음과 같다.
클록 발생기(도 1 참조, 110)는 전원전압(Vdd)에 대응하는 클록(CLK_OSC)을 발생할 수 있다(S110). 카운터(도 1 참조, 120)는 클록 발생기(110)로부터 출력된 클록(CLK_OSC)을 카운팅 할 수 있다(S120). 비교기(도 1 참조, 130)는 카운트 값(CNT)이 기준값(REF)보다 큰 지를 판별할 수 있다(S130). 여기서 기준값(REF)은 고정된 값이거나 가변적인 값일 수 있다. 만일, 카운트 값(CNT)이 기준값(REF)보다 크다면, 알람 신호(S_alarm)가 발생될 수 있다(S140). 반면에, 카운트 값(CNT)이 기준값(REF)보다 크지 않다면, S110 단계로 다시 진입할 수 있다.
한편, 도 9에 도시된 알람 신호 발생 방법은, 카운트 값(CNT)이 기준값(REF)보다 클 때 알람 신호(S_alarm)를 발생하였다. 하지만, 본 발명이 여기에 제한되지 않는다고 이해되어야 할 것이다. 본 발명은 카운트 값(CNT)이 기준값(REF)보다 작을 때 알람 신호(S_alarm)를 발생할 수도 있다.
한편, 본 발명의 글리치 검출기의 알람 신호 방법은, 기준값(REF)으로 무빙 에버리지 값을 이용하여 알람 신호(S_alarm)를 발생할 수도 있다.
도 10은 본 발명의 다른 실시 예에 따른 글리치 검출기의 알람 신호 발생 방법을 예시적으로 보여주는 흐름도이다. 도 10을 참조하면, 글리치 검출기의 알람 신호(S_alarm) 발생 방법은, 도 9의 그것과 비교하여 S230 단계가 다르다. S210, S220 단계들은, 도 9에 도시된 S110, S120 단계들과 각각 동일하게 동작할 수 있다. 이에 S210 및 S220의 자세한 설명은 생략하겠다. S230 단계에서, 카운트 값(CNT)에서 무빙 에버리지 값을 뺀 값의 절대값이 사전에 결정된 값(PDV)보다 큰지가 판별될 수 있다. 카운트 값(CNT)에서 무빙 에버리지 값을 뺀 값의 절대값이 사전에 결정된 값(PDV)보다 크다면, 알람 신호(S_alarm)가 발생될 수 있다(S240).
한편, 도 10에서, 카운트 값(CNT)에서 무빙 에버리지 값을 뺀 값의 절대값이 사전에 결정된 값(PDV)보다 크거나 크지 않다고 판별하는 것은, 카운트 값(CNT)의 상한값(Upper Limit)과 하한값(Lower Limit)이 모두 동일하다는 의미이다. 하지만, 본 발명이 반드시 여기에 제한될 필요는 없다. 본 발명은 카운트 값(CNT)의 상한값과 하한값을 별도로 설정할 수도 있다.
도 11은 본 발명의 또 다른 실시 예에 따른 글리치 검출기의 알람 신호 발생 방법을 예시적으로 보여주는 흐름도이다. 도 11을 참조하면, S310, S320 단계들은, 도 9에 도시된 S110, S120 단계들과 각각 동일하게 동작할 수 있다. 이에 S310 및 S320의 자세한 설명은 생략하겠다. S330 단계에서, 카운트 값(CNT)이 무빙 에버리지 값보다 큰지가 판별될 수 있다. 만일, 카운트 값(CNT)이 무빙 에버리지 값보다 크다면, 카운트 값(CNT)이 상한값(Upper Limit)보다 큰 지가 판별될 수 있다(S340). 만일, 카운트 값(CNT)이 상한값보다 크다면, 알람 신호(S_alarm)가 발생될 수 있다(S350). 이때, 알람 신호(S_alarm)는 양의(positive) 글리치를 지시할 수 있다. 여기서 상한값은 양의 글리치 판단 기준으로 사용자에 의해 적절하게 설정될 수 있다.
반면에, 카운트 값(CNT)이 무빙 에버리지 값보다 크지 않다면, 카운트 값(CNT)이 하한값(Lower Limit)보다 작은 지가 판별될 수 있다(S345). 만일, 카운트 값(CNT)이 하한값(Lower Limit)보다 작다면, 알람 신호(S_alarm)가 발생될 수 있다. 이때, 알람 신호(S_alarm)는 음의(negative) 글리치를 지시할 수 있다.
또한, S350 단계 이후, S340 단계에서, 카운트 값(CNT)이 상한값보다 크지 않거나, 혹은 S345 단계에서, 카운트 값(CNT)이 하한값보다 작지 않다면, 글리치 검출을 위하여 S310 단계로 다시 진입할 것이다. 여기서 하한값은 음의 글리치 판단 기준으로 사용자에 의해 적절하게 설정될 수 있다.
한편, 본 발명의 글리치 검출기의 알람 신호 방법은, 기준값(REF)으로 이전 카운트 값(prior CNT)을 이용하여 알람 신호(S_alarm)를 발생할 수도 있다.
도 12는 본 발명의 또 다른 실시 예에 따른 글리치 검출기의 알람 신호 발생 방법을 예시적으로 보여주는 흐름도이다. 도 12를 참조하면, S410, S420 단계들은, 도 9에 도시된 S110, S120 단계들과 각각 동일하게 동작할 수 있다. 이에 S410 및 S420의 자세한 설명은 생략하겠다. S430 단계에서, 카운트 값(CNT)에서 이전 카운트 값(prior CNT)을 뺀 값에 대한 절대값이 사전에 결정된 값(PDV)보다 큰 지가 판별될 수 있다. 여기서 이전 카운트 값(prior CNT)은 글리치 검출기의 내부 혹은 외부에 저장되어 있다고 가정하겠다. 만일, 카운트 값(CNT)에서 이전 카운트 값(prior CNT)을 뺀 값에 대한 절대값이 사전에 결정된 값(PDV)보다 크다면, 알람 신호(S_alarm)가 발생될 수 있다(S440).
또한, S430 단계 이후 혹은, S430 단계에서 카운트 값(CNT)에서 이전 카운트 값(prior CNT)을 뺀 값에 대한 절대값이 사전에 결정된 값(PDV)보다 크지 않다면, 글리치 검출을 위하여 S410 단계로 다시 진입할 것이다.
한편, 본 발명의 글리치 검출기의 알람 신호 방법은, 기준값(REF)으로 상한값과 하한값을 동시에 이용하여 알람 신호(S_alarm)를 발생할 수도 있다.
도 13은 본 발명의 또 다른 실시 예에 따른 글리치 검출기의 알람 신호 발생 방법을 예시적으로 보여주는 흐름도이다. 도 13을 참조하면, S510, S520 단계들은, 도 9에 도시된 S110, S120 단계들과 각각 동일하게 동작할 수 있다. 이에 S510 및 S520의 자세한 설명은 생략하겠다. S540 단계에서, 카운트 값(CNT)에서 상한값(Upper Limit)보다 큰 지가 판별될 수 있다. 만일, 카운트 값(CNT)이 상한값보다 크다면, 양의 글리치를 지시하는 알람 신호(S_alarm)가 발생될 수 있다(S550). 반면에 카운트 값(CNT)이 상한값(Upper Limit)보다 크지 않다면, 카운트 값(CNT)이 하한값(Lower Limit)보다 작은 지가 판별될 수 있다(S545). 만일, 카운트 값(CNT)이 하한값(Lower Limit)보다 작다면, 음의 글리치를 지시하는 알람 신호(S_alarm)가 발생될 수 있다(S550).
한편, 도 13에서는 S540 단계를 먼저 수행한 뒤 S545 단계를 다음에 수행하였지만, 본 발명이 반드시 여기에 제한될 필요는 없다. 본 발명의 알람 신호 발생 방법은, S545 단계를 먼저 수행한 뒤에 S540 단계를 다음에 수행할 수도 있다. 상술한 순서들은 본 발명이 제한되지 않는 실시 예들에 불과하다고 이해되어야 할 것이다.
한편, 본 발명의 글리치 검출기의 알람 신호 발생 방법은 카운트 값(CNT)을 동기화시키는 과정을 더 포함할 수 있다.
도 14는 본 발명의 또 다른 실시 예에 따른 글리치 검출기의 알람 신호 발생 방법을 예시적으로 보여주는 흐름도이다. 도 14를 참조하면, 알람 신호 발생 방법은, 도 10에 도시된 그것과 비교하여 S625 단계를 추가할 수 있다. 도 14에 도시된 S610, S620, S630, S640 단계들은, 도 10에 도시된 S210, S220, S230, S240 단계들 각각 동일하게 동작할 수 있다. 이에 S610, S620, S630, S640 단계들의 자세한 설명은 생략하겠다. S625 단계에서, 카운트 값(CNT)은 오실레이터 클록(CLK_OSC) 도메인으로부터 시스템 클록(CLK_SYS) 도메인으로 동기화될 수 있다. 카운트 값(CNT)의 동기화 동작은, 도 4에 설명된 동기화기(125)에 의해 수행될 수 있다.
한편, 본 발명의 글리치 검출기의 알람 신호 발생 방법은, 시스템 클록(CLK_SYS)을 카운팅 동작 구간과 전송 동작 구간으로 구분함으로써(도 7 참조) 카운트 값(CNT)을 동기화시킬 수도 있다.
도 15는 본 발명의 또 다른 실시 예에 따른 글리치 검출기의 알람 신호 발생 방법을 예시적으로 보여주는 흐름도이다. 도 7 및 도 15를 참조하면, 글리치 검출기의 알람 신호 발생 방법은 다음과 같다.
시스템 클록(CLK_SYS)의 카운팅 동작 구간에서 클록 발생기(도 7 참조, 210)는 전원전압(Vdd)에 대응하는 클록(CLK_OSC)을 발생할 수 있다(S710). 카운터(도 7 참조, 220)는, 시스템 클록(CLK_SYS)의 카운팅 동작 구간에서 클록 발생기(210)로부터 출력된 클록(CLK_OSC)을 카운팅 할 수 있다(S720). 이후에, 시스템 클록(CLK_SYS)의 전송 동작 구간에서 카운터(220)는 카운트 값(CNT)을 비교기(도 7 참조, 230)로 출력할 수 있다(S725).
비교기(230)는 카운트 값(CNT)에서 무빙 에버리지 값을 뺀 값의 절대값이 사전에 결정된 값(PDV)보다 큰 지를 판별할 수 있다(S730). 만일, 카운트 값(CNT)에서 무빙 에버리지 값을 뺀 값의 절대값이 사전에 결정된 값(PDV)보다 크다면, 알람 신호(S_alarm)가 발생될 수 있다(S740).
또한, S740 단계 이후 혹은, S730 단계에서 카운트 값(CNT)에서 이전 카운트 값(prior CNT)을 뺀 값에 대한 절대값이 사전에 결정된 값(PDV)보다 크지 않다면, 글리치 검출을 위하여 S710 단계로 다시 진입할 것이다.
한편, 도 9에 도시된 알람 신호 발생 방법은, 카운트 값(CNT)이 기준값(REF)보다 클 때 알람 신호(S_alarm)를 발생하였다. 하지만, 본 발명이 여기에 제한되지 않는다고 이해되어야 할 것이다. 본 발명은 카운트 값(CNT)이 기준값(REF)보다 작을 때 알람 신호(S_alarm)를 발생할 수도 있다.
도 16은 본 발명의 실시 예에 따른 전자 장치(1000)를 예시적으로 보여주는 블록도이다. 도 16을 참조하면, 전자 장치(1000)는 적어도 하나의 프로세서(1100), 버퍼 메모리(1200), 코드 메모리(1300), 글리치 검출기(1400), 암호 처리 회로(1500), 비휘발성 메모리 인터페이스(1600), 비휘발성 메모리 장치(1700) 및 호스트 인터페이스(1800)를 포함할 수 있다. 전자 장치(1100)는 데이터 저장 매체(SSD, 메모리 스틱, UFS 장치), 메모리 카드(SD, MMC, eMMC, 등), 스마트 카드, 모바일 기기(예를 들어, 스마트폰, 갤럭시 탭), 등일 수 있다.
프로세서(1100)는 전자 장치(1000)에 대한 전반적인 동작을 제어하도록 구현될 수 있다. 프로세서(1100)는 알람 신호(S_alarm)에 응답하여 특정 동작(리셋 동작, 회로 보호 동작, 개인 정보 보호 동작 등)을 수행하도록 구현될 수 있다.
실시 예에 있어서, 프로세서(1100)는 보안 프로세서(secure processor) 혹은 보안 칩(secure element, SE) 등 일 수 있다. 예를 들어, 프로세서(1100)는 마이크로프로빙(Microprobing), 소프트웨어 공격(Software Attack), 도청(Eavesdropping), 오류 생성(Fault Generation) 등과 같은 부정 조작(Tampering) 공격으로부터 보호되도록 부정 조작 방지(Tamper-Resistant) 기능을 가질 수 있다.
버퍼 메모리(1200)는 프로세서(1100)의 제어에 따라 동작하며, 프로세서(1100)에 의해서 처리되는 데이터가 임시 저장되거나, 비휘발성 메모리 장치(1700)로 전송되거나 데이터 혹은 비휘발성 메모리 장치(1700)로부터 읽어온 데이터 버퍼링할 수 있다. 실시 예에 있어서, 버퍼 메모리(1200)는 RAM(random access memory), SRAM (static random access memory), PRAM (phase-change random access memory) 일 수 있다.
코드 메모리(1300)는 전자 장치(1000)를 관리/운영하기 위한 코드(code) 및/혹은 어플리케이션을 저장하도록 구현될 수 있다. 실시 예에 있어서, 코드 메모리(1300)는 ROM(read only memory), PRAM 일 수 있다.
글리치 검출기(1400)는 전원전압(Vdd)의 모니터링하고, 전원전압(Vdd)의 글리치(양의 글리치, 혹은 음의 글리치)를 검출하고, 검출된 글리치에 대응하는 알람 신호(S_alarm)를 발생할 수 있다. 글리치 검출기(1400)는, 상술된 도 1 내지 도 15에서 설명된 글리치 검출기(100, 200, 300, 400, 500) 및/혹 알람 신호 검출 방법에 따른 구성 및/혹 동작으로 구현될 수 있다.
암호 처리 회로(1500)는 입출력 데이터에 대한 암/복호 동작을 수행하도록 구현될 수 있다. 암호 처리 회로(1500)는 알람 신호(S_alarm)에 응답하여 리셋되거나 비활성화되도록 구현될 수 있다. 도 16에 도시된 암호 처리 회로(1500)는 프로세서(1100)의 외부에 존재하지만, 본 발명이 반드시 여기에 제한되지 않을 것이다. 암호 처리 회로(1500)는 프로세서(1100) 내부에 존재하도록 구현될 수 있다.
NVM 인터페이스(1600)를 통해 비휘발성 메모리 장치(1700)와 데이터 등을 주고받도록 구현될 수 있다. 비휘발성 메모리 장치(1700)는, 낸드 플래시 메모리(NAND Flash Memory), 수직형 낸드 플래시 메모리(Vertical NAND; VNAND), 노아 플래시 메모리(NOR Flash Memory), 저항성 램(Resistive Random Access Memory: RRAM), 상변화 메모리(Phase-Change Memory: PRAM), 자기저항 메모리(Magnetoresistive Random Access Memory: MRAM), 강유전체 메모리(Ferroelectric Random Access Memory: FRAM), 스핀주입 자화반전 메모리(Spin Transfer Torque Random Access Memory: STT-RAM) 등이 될 수 있다. 또한, 비휘발성 메모리 장치(100)는 3차원 어레이 구조(three-dimensional array structure)로 구현될 수 있다.
호스트 인터페이스(1800)는 PATA 버스(parallel AT attachment bus), SATA 버스(serial AT attachment bus), SCSI, USB, PCIe, SD, SAS, UFS, eMMC, MMC, 낸드 인터페이스 등을 통해 외부의 호스트와 연결될 수 있다.
도 16에 도시되지 않았지만, 전자 장치(1000)는 ECC(error correction code) 회로를 더 포함할 수 있다. ECC 회로는, 비휘발성 메모리 장치(1700)로부터 수신된 데이터의 페일 비트(fail bit) 또는 에러 비트(error bit)를 정정하기 위한 에러 정정 코드(ECC; Error Correction Code)를 발생하고, 비휘발성 메모리 장치(1700)로 제공되는 데이터의 에러 정정 인코딩을 수행하여, 패리티(parity) 비트가 부가된 데이터를 형성한다. 패리티 비트는 비휘발성 메모리 장치(1700)에 저장될 수 있다. 또한, ECC 회로는 비휘발성 메모리 장치(1700)로부터 출력된 데이터에 대하여 에러 정정 디코딩을 수행할 수 있다. ECC 회로는 패리티(parity)를 사용하여 에러를 정정할 수 있다. ECC 회로는 LDPC(low density parity check) code, BCH code, turbo code, 리드-솔로몬 코드(Reed-Solomon code), convolution code, RSC(recursive systematic code), TCM(trellis-coded modulation), BCM(Block coded modulation) 등의 코디드 모듈레이션(coded modulation)을 사용하여 에러를 정정할 수 있다.
도시되지 않았지만, 전자 장치(1000)는 무선 통신 기능(예를 들어, WiFi)을 탑재할 수 있다. 한편, 전자 장치(1000)는 도 16에 도시되지 않은 구성들을 더 포함할 수 있거나, 도 16에 도시된 구성들 중 적어도 하나(글리치 검출기 제외)를 포함하지 않을 수도 있다.
도 17은 본 발명의 실시 예에 따른 모바일 장치(2000)를 예시적으로 보여주는 블록도이다. 도 17을 참조하면, 모바일 장치(2000)는 글리치 검출기(2020), 프로세서(AP/ModAP, 2100), 버퍼 메모리(2200), 디스플레이/터치 모듈(2300) 및 저장 장치(2400)를 포함한다.
글리치 검출기(2020)는 상술된 도 1 내지 도 15에서 설명된 글리치 검출기(100, 200, 300, 400, 500) 및 그것의 알람 신호 발생 방법에 따라 알람 신호(S_alarm)를 발생할 수 있다. 실시 예에 있어서, 글리치 검출기(2020)는 모바일 장치(2000)의 파워-온과 동시에 활성화 될 수 있다. 다른 실시 예에 있어서, 글리치 검출기(2020)는 사용자의 요청에 따라, 혹은 모바일 장치(2000)의 내부적인 관리 정책(전력 소비 정책, 공격 방어 정책, 등)에 따라 활성화/비활성화 될 수 있다.
프로세서(2100)는 모바일 장치(2000)의 전반적인 동작 및 외부와의 유선/무선 통신을 제어하도록 구현될 수 있다. 예를 들어, 프로세서(2100)는 어플리케이션 프로세서(AP, application processor), 통합 모뎀 어플리케이션 프로세서(ModAP) 등 일 수 있다.
버퍼 메모리(2200)는 모바일 장치(2000)의 처리 동작 시 필요한 데이터를 임시로 저장하도록 구현될 수 있다. 디스플레이/터치 모듈(2300)은 프로세서(2100)에서 처리된 데이터를 디스플레이하거나, 터치 패널로부터 데이터를 입력받도록 구현될 수 있다. 저장 장치(2400)는 사용자의 데이터를 저장하도록 구현될 수 있다. 저장 장치(2400)는 eMMC(embedded multimedea card), SSD(solid state drive), UFS(universal flash storage) 등 일 수 있다.
도 18은 본 발명의 실시 예에 따른 글리치 검출기의 동작 결과를 예시적으로 보여주는 도면이다. 도 18을 참조하면, 본 발명의 실시 예에 따른 글리치 검출기는, 기울기가 급한 양의 글리치, 기울기가 완만한 양의 글리치, 뿐만아니라, 음의 글리치도 검출할 수 있다. 여기서 양의 글리치는 무빙 에버리지를 기준으로 상한값보다 클 때를 지시하고, 음의 글리치는 무빙 에버리지를 기준으로 하한값보다 작을 때를 지시한다.
실시 예에 있어서, 상한값 및 하한값은 고정된 값일 수 있다. 다른 실시 예에 있어서, 상한값 및/혹 하한값은 외부에서 소프트웨어적으로 변경 가능할 수 있다. 즉, 글리치 검출기의 민감도가 조절 가능하다.
한편, 상술 된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 활용할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함할 것이다.
100, 200, 300, 400, 500, 11, 1400, 2020: 글리치 검출기
10, 1000: 전자 장치
2000: 모바일 장치
110: 클록 발생기
120: 카운터
130: 비교기
125: 동기화기
124: 바이너리 그레이 코드 변환기
126: 그레이 바이너리 코드 변환기
140: 기준값 발생기

Claims (20)

  1. 전원전압에 대응하는 클록을 발생하는 클록 발생기;
    상기 클록을 카운팅하는 카운터; 및
    상기 카운터로부터 출력된 카운트 값과 기준값을 비교하고, 상기 비교 결과에 따른 알람 신호를 발생하는 비교기를 포함하는 글리치 검출기.
  2. 제 1 항에 있어서,
    상기 클록 발생기는 링 오실레이터를 포함하는 글리치 검출기.
  3. 제 1 항에 있어서,
    상기 카운터는 리플 카운터를 포함하는 글리치 검출기.
  4. 제 1 항에 있어서,
    상기 카운트 값을 시스템 클록에 동기화시키는 동기화기를 더 포함하는 글리치 검출기.
  5. 제 4 항에 있어서,
    상기 카운터로부터 출력되는 상기 카운트 값은 바이너리 코드 값이고,
    상기 바이너리 코드 값을 그레이 코드 값으로 변환시키고, 상기 변환된 그레이 코드 값을 상기 동기화기에 출력하는 바이너리 그레이 코드 변환기; 및
    상기 동기화기는 상기 변환된 그레이 코드 값을 상기 시스템 클록에 동기화시키고, 상기 동기화된 그레이 코드 값을 바이너리 코드 값으로 변환시키고, 상기 변환된 바이너리 코드 값을 상기 비교기로 출력하는 그레이 바이너리 코드 변환기를 더 포함하는 글리치 검출기.
  6. 제 1 항에 있어서,
    상기 기준값을 발생하는 기준값 발생기를 더 포함하는 글리치 검출기.
  7. 제 6 항에 있어서,
    상기 기준값은 무빙 에버리지 값인 글리치 검출기.
  8. 제 7 항에 있어서,
    상기 카운트 값에서 상기 무빙 에버리지 값을 뺀 값의 절대값이 사전에 결정된 값보다 클 때, 상기 비교기는 상기 알람 신호를 발생하는 글리치 검출기.
  9. 제 7 항에 있어서,
    상기 카운트 값이 상기 무빙 에버리지 값보다 크고, 상기 카운트 값이 상한값보다 클 때, 상기 비교기는 상기 알람 신호를 발생하거나, 혹은,
    상기 카운트 값이 상기 무빙 에버리지 값보다 크지 않고, 상기 카운트 값이 하한값보다 작을 때, 상기 비교기는 상기 알람 신호를 발생하는 글리치 검출기.
  10. 제 6 항에 있어서,
    상기 기준값은 이전 카운트 값이고,
    상기 카운트 값에서 상기 이전 카운트 값을 뺀 값의 절대값이 사전에 결정된 값보다 클 때, 상기 비교기는 상기 알람 신호를 발생하는 글리치 검출기.
  11. 제 6 항에 있어서,
    상기 카운트 값이 상한값보다 클 때, 상기 비교기는 상기 알람 신호를 발생하거나, 혹은
    상기 카운트 값이 상기 상한값보다 크지 않고 상기 카운트 값이 하한값보다 작을 때, 상기 비교기는 상기 알람 신호를 발생하는 글리치 검출기.
  12. 제 1 항에 있어서,
    시스템 클록의 카운팅 동작 구간에서, 상기 클록 발생기는 상기 클록을 발생하고, 그리고, 상기 카운터는 상기 클록을 카운팅하고,
    상기 시스템 클록의 전송 동작 구간에서 상기 클록 발생기는 상기 클록을 발생하지 않고, 그리고 상기 카운터는 상기 카운트 값을 상기 비교기로 출력하는 글리치 검출기.
  13. 적어도 하나의 중앙 처리 장치; 및
    전원전압에 대응하는 클록을 발생하고, 상기 클록을 카운팅하고, 상기 카운팅된 카운트 값과 기준값을 비교하고, 상기 비교 결과에 따른 알람 신호를 발생하고, 상기 알람 신호를 상기 적어도 하나의 중앙 처리 장치에 출력하는 글리치 검출기를 포함하는 전자 장치.
  14. 제 13 항에 있어서,
    상기 적어도 하나의 중앙 처리 장치는 상기 알람 신호에 응답하여 리셋 동작을 수행하는 전자 장치.
  15. 제 13 항에 있어서,
    상기 기준값은 상기 적어도 하나의 중앙 처리 장치에서 발생되는 전자 장치.
  16. 글리치 검출기의 알람 신호 발생 방법에 있어서:
    전원전압에 대응하는 클록을 발생하는 단계;
    상기 클록을 카운팅하는 단계;
    상기 카운팅된 카운트 값과 기준값을 비교하는 단계; 및
    상기 비교 결과에 따른 알람 신호를 발생하는 단계를 포함하는 방법.
  17. 제 16 항에 있어서,
    상기 기준값이 무빙 에버리지 값이고,
    상기 비교하는 단계는,
    상기 카운트 값에서 상기 무빙 에버리지 값을 뺀 값의 절대값이 사전에 결정된 값보다 큰 지를 비교하는 단계를 포함하는 방법.
  18. 제 16 항에 있어서,
    상기 기준값은 무빙 에버리지 값이고,
    상기 비교하는 단계는,
    상기 카운트 값이 상기 무빙 에버리지 값보다 큰 지를 비교하는 단계;
    상기 카운트 값이 상기 무빙 에버리지 값보다 크다면, 상기 카운트 값이 상한값보다 큰 지를 판별하는 단계; 및
    상기 카운트 값이 상기 무빙 에버리지 값보다 크지 않다면, 상기 카운트 값이 하한값보다 작은 지를 판별하는 단계를 포함하는 방법.
  19. 제 18 항에 있어서,
    상기 알람 신호를 발생하는 단계는,
    상기 카운트 값이 상기 상한값보다 크거나 상기 카운트 값이 상기 하한값보다 작을 때, 상기 알람 신호를 발생하는 단계를 포함하는 방법.
  20. 제 16 항에 있어서,
    상기 기준값은 이전 카운트 값이고,
    상기 비교하는 단계는,
    상기 카운트 값에서 상기 이전 카운트 값을 뺀 값의 절대값이 사전에 결정된 값보다 큰 지를 판별하는 단계를 포함하는 방법.
KR1020150108166A 2015-07-30 2015-07-30 글리치 검출기, 그것을 포함하는 전자 장치 및 그것의 알람 신호 발생 방법 KR20170015706A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020150108166A KR20170015706A (ko) 2015-07-30 2015-07-30 글리치 검출기, 그것을 포함하는 전자 장치 및 그것의 알람 신호 발생 방법
US15/198,636 US20170032125A1 (en) 2015-07-30 2016-06-30 Glitch detector, electronic device having the same, and alarm signal generation method thereof
CN201610608177.9A CN106405208A (zh) 2015-07-30 2016-07-28 毛刺检测器和具有该毛刺检测器的电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150108166A KR20170015706A (ko) 2015-07-30 2015-07-30 글리치 검출기, 그것을 포함하는 전자 장치 및 그것의 알람 신호 발생 방법

Publications (1)

Publication Number Publication Date
KR20170015706A true KR20170015706A (ko) 2017-02-09

Family

ID=57882794

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150108166A KR20170015706A (ko) 2015-07-30 2015-07-30 글리치 검출기, 그것을 포함하는 전자 장치 및 그것의 알람 신호 발생 방법

Country Status (3)

Country Link
US (1) US20170032125A1 (ko)
KR (1) KR20170015706A (ko)
CN (1) CN106405208A (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3415937A1 (en) * 2017-06-15 2018-12-19 Nagravision S.A. Method for detecting at least one glitch in an electrical signal and device for implementing this method
CN107462827B (zh) * 2017-08-31 2019-07-23 北京智芯微电子科技有限公司 带有内部稳压器的电源毛刺检测电路
FR3071318A1 (fr) * 2017-09-21 2019-03-22 Stmicroelectronics (Rousset) Sas Detection de perturbations d'une tension continue
KR102423645B1 (ko) 2017-11-15 2022-07-22 삼성디스플레이 주식회사 신호 송수신 장치, 상태 정보 신호를 수신하는 소스 드라이버 및 그것을 포함하는 표시 장치
CN109831188A (zh) * 2019-01-14 2019-05-31 四川九洲电器集团有限责任公司 信号处理方法及装置
US11442492B2 (en) 2019-03-04 2022-09-13 Intel Corporation Clock glitch mitigation apparatus and method
US11500708B2 (en) * 2020-04-27 2022-11-15 Renesas Electronics Corporation Semiconductor device and system using the same
US11474130B2 (en) * 2020-06-22 2022-10-18 Nxp B.V. Voltage glitch detection in integrated circuit
TWI755771B (zh) * 2020-06-24 2022-02-21 新唐科技股份有限公司 處理電路及處理方法
KR20220057840A (ko) 2020-10-30 2022-05-09 삼성전자주식회사 글리치 검출기, 이를 포함하는 보안 소자 및 전자 시스템
US11947672B2 (en) * 2021-03-02 2024-04-02 Nxp B.V. Voltage glitch detection circuit
CN113110278B (zh) * 2021-04-13 2022-05-27 珠海格力智能装备有限公司 信息交互方法、装置、存储介质及处理器
US11809609B2 (en) * 2021-09-03 2023-11-07 Arm Limited Malicious attack detection techniques

Also Published As

Publication number Publication date
CN106405208A (zh) 2017-02-15
US20170032125A1 (en) 2017-02-02

Similar Documents

Publication Publication Date Title
KR20170015706A (ko) 글리치 검출기, 그것을 포함하는 전자 장치 및 그것의 알람 신호 발생 방법
US11506482B2 (en) Determining device curvature in smart bendable systems
US10396978B2 (en) Crypto devices, storage devices having the same, and encryption and decryption methods thereof
US9092621B2 (en) Method of detecting fault attack
US9984732B2 (en) Voltage monitor for generating delay codes
US10929527B2 (en) Methods and arrangements for implicit integrity
WO2014124023A1 (en) Integrated circuit identification and dependability verification using ring oscillator based physical unclonable function and age detection circuitry
US20160179472A1 (en) Random number generation device and method for generating random number
US10223532B2 (en) Protection of data stored in a volatile memory
US9805184B2 (en) Method of unlocking an electronic device based on motion recognitions, motion recognition unlocking system, and electronic device including the same
WO2014112999A1 (en) Grouping of physically unclonable functions
US20170123470A1 (en) Electrical fast transient tolerant input/output (i/o) communication system
US8319533B2 (en) System for detecting a reset condition in an electronic circuit
US10217498B2 (en) Techniques for preventing tampering with PROM settings
US10193537B2 (en) Random data generation circuit, memory storage device and random data generation method
CN109428721B (zh) 用于确定物理不可克隆功能电路的健康状况的方法或装置
KR20170029700A (ko) 시퀀셜 회로 및 그것의 동작 방법
US9059789B2 (en) Signal processing method, connector, and memory storage device
US20150186676A1 (en) Real-time clock (rtc) modification detection system
US10331413B2 (en) Random number generating system and random number generating method thereof
US20130162392A1 (en) System and method for unlocking screen of electronic device
KR20200141173A (ko) 리드 클럭 생성 회로 및 이를 포함하는 데이터 처리 회로
US20180113031A1 (en) Method and device for monitoring temperature of an electronic element
US11132483B2 (en) Method and arrangement for forming an electronic circuit
US11487600B2 (en) Electronic circuit