KR20220053055A - 클록 변동들 하에서의 전압-변화 검출 - Google Patents

클록 변동들 하에서의 전압-변화 검출 Download PDF

Info

Publication number
KR20220053055A
KR20220053055A KR1020227012862A KR20227012862A KR20220053055A KR 20220053055 A KR20220053055 A KR 20220053055A KR 1020227012862 A KR1020227012862 A KR 1020227012862A KR 20227012862 A KR20227012862 A KR 20227012862A KR 20220053055 A KR20220053055 A KR 20220053055A
Authority
KR
South Korea
Prior art keywords
voltage
signal
circuit
delay
dependent
Prior art date
Application number
KR1020227012862A
Other languages
English (en)
Other versions
KR102492252B1 (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 KR20220053055A publication Critical patent/KR20220053055A/ko
Application granted granted Critical
Publication of KR102492252B1 publication Critical patent/KR102492252B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • G01R19/165Indicating that current or voltage is either above or below a predetermined value or within or outside a predetermined range of values
    • G01R19/16533Indicating that current or voltage is either above or below a predetermined value or within or outside a predetermined range of values characterised by the application
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • G01R19/0038Circuits for comparing several input signals and for indicating the result of this comparison, e.g. equal, different, greater, smaller (comparing pulses or pulse trains according to amplitude)
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • G01R19/165Indicating that current or voltage is either above or below a predetermined value or within or outside a predetermined range of values
    • G01R19/16566Circuits and arrangements for comparing voltage or current with one or several thresholds and for indicating the result not covered by subgroups G01R19/16504, G01R19/16528, G01R19/16533
    • G01R19/1659Circuits and arrangements for comparing voltage or current with one or several thresholds and for indicating the result not covered by subgroups G01R19/16504, G01R19/16528, G01R19/16533 to indicate that the value is within or outside a predetermined range of values (window)
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • G01R19/30Measuring the maximum or the minimum value of current or voltage reached in a time interval
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/75Protecting 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 by inhibiting the analysis of circuitry or operation
    • 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/75Protecting 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 by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting 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 by inhibiting the analysis of circuitry or operation with measures against power attack
    • 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/185Electrical failure alarms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • 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/2143Clearing memory, e.g. to prevent the data from being stolen
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
    • H03K2005/00019Variable delay

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)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Nonlinear Science (AREA)
  • Emergency Management (AREA)
  • Business, Economics & Management (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

집적 회로(IC)에 대한 전압-기반 공격들을 검출하는 것은 클록 지터의 존재 하에서 어렵다. 전파하는 신호들은 전압-기반 공격으로 인해 발생한 지연 성분 및 클록 변동으로 인해 발생한 지연 특성으로 인한 것인 전체 지연을 나타낼 수 있다. 전압-변화 검출 회로(106)는 제 1 전압-종속 회로(302-1) 및 제 2 전압-종속 회로(302-2), 그리고 전압 분석 회로(306)를 포함한다. 전압-종속 회로들(302-1, 302-2)은 제 1 전압 감도(304-1) 및 제 2 전압 감도(304-2)에 근거하여 그리고 클록 신호(204)에 응답하여 전압 레벨(216)을 표시하는 제 1 신호(218-1) 및 제 2 신호(218-2)를 생성한다. 전압 분석 회로(306)는 제 1 신호(218-1) 및 제 2 신호(218-2)에 근거하여 전압 경보 신호(108)를 발생시킨다. 결합된 신호는 제 1 신호(218-1) 및 제 2 신호(218-2)에서의 지연 특성을 중화시킨다. 따라서, 전압-기반 공격은 두 개의 전압-종속 회로들을 사용함으로써 클록 변동의 존재 하에서 검출가능하다.

Description

클록 변동들 하에서의 전압-변화 검출
전자 디바이스(electronic device)들은 제조, 통신, 운송, 건강관리, 상거래, 사회적 상호작용, 및 오락에서 필수적인 역할들을 한다. 예를 들어, 전자 디바이스들은 상거래 및 통신을 위한 클라우드-기반 분산형 컴퓨팅 기능을 제공하는 서버 팜(server farm)들을 작동시킨다. 전자 디바이스들은 또한 의료 디바이스들에서 가전기기(appliance)들에 이르기까지, 그리고 차량들에서 산업용 도구들에 이르기까지, 현대 장비의 많은 상이한 타입들 내에 내장(embed)된다. 추가적으로, 하나의 전자 디바이스(스마트폰)는 손이 닿는 곳에 있어야 할 사실상 필수품이 되었다. 전자 디바이스들이 현대 생활의 모든 양상들에 대해 침투해 있고 중요하게 됨에 따라, 디바이스 보안은 필수적인 것이 되었다.
많은 사람들은 맬웨어(malware)에 익숙해 있는데, 이러한 맬웨어는 일반적으로는 때때로 "컴퓨터 바이러스(computer virus)"로서 지칭된다. 회복력 있는 오퍼레이팅 시스템(operating system), 안전한 컴퓨팅 실행들, 및 안티-맬웨어 프로그램은 종종 맬웨어의 많은 타입들과 싸움으로써 원격 위협들로부터 사용자의 정보를 안전하게 유지시킬 수 있다. 하지만, 전자 디바이스들에 의해 저장된 정보의 보안은 또한, 하드웨어에 대한 물리적 공격들을 통해 위협받을 수 있다. 달리 말하면, 일부 하드웨어 공격들은 안전하게 유지되도록 의도된 정보에 악의적 행위자가 액세스(access)할 수 있게 하기 위해 앞서 나열된 전략들을 우회할 수 있거나 약화시킬 수 있다.
전자 디바이스의 하드웨어는, 안전하게 보호돼야 하는 정보를 이용할 수 있는 기능을 포함하는 일부 바람직한 기능을 가능하도록 하기 위해 지능(intelligence)을 제공하는 집적 회로(Integrated Circuit, IC)를 포함한다. 이러한 정보의 보호를 지원하기 위해서, 일부 IC들은 금융 데이터, 패스워드(password)들, 및 비밀 키(secret key)들과 같은 안전하게 보호돼야 하는 정보의 암호화 및 암호해독화를 용이하게 하기 위해 보안 회로(security circuitry)를 포함한다. 불행하게도, 악의적 행위자들은 "강화된(hardened)" 회로 부분들 내에 저장된 정보 또는 그렇지 않으면 IC에 의해 안전하게 보호되는 정보에 대한 액세스를 얻기 위한 시도를 행하기 위해 IC(IC의 보안 회로를 포함함)를 물리적으로 공격할 수 있다. 결과적으로, 이러한 물리적 공격들을 식별, 차단, 격퇴, 또는 그렇지 않으면 저지할 수 있는 하드웨어-기반 조치들을 IC에 통합시키는 것이 유익하다.
이러한 배경기술 부분은 본 개시내용의 맥락을 일반적으로 제시하기 위해 제공된다. 본 명세서에서 달리 표시되지 않는 한, 이러한 부분에서 설명되는 자료는 본 개시내용 또는 첨부된 청구항들에 대한 종래 기술인 것으로 명시적으로든 암시적으로든 인정되지 않는다.
이러한 개요 부분은 클록 변동(clock fluctuation)들 하에서의 전압-변화 검출의 간략화된 개념들을 소개하기 위해 제공된다. 이러한 간략화된 개념들은 아래의 상세한 설명에서 더 설명된다. 따라서, 이러한 부분은 청구되는 주된 내용의 필수적인 특징들을 식별시키기 위해 의도된 것이 아니고, 청구되는 주된 내용의 범위를 결정함에 있어 사용하기 위해 의도된 것이 아니다.
전자 디바이스들은 전압 또는 주파수 스파이크 공격(spike attack)들에 취약할 수 있는 집적 회로(IC)들을 포함한다. 이러한 물리적 공격들은 회로의 타이밍 특성(timing characteristic)들을 변경시킬 수 있고 인위적인 준안정성(artificial metastability)을 도입할 수 있다. 악의적 행위자는 안전하게 보호되도록 의도된 데이터를 누출시키는 상태에 회로가 있게 하기 위해 이러한 인위적인 준안정성을 활용할 수 있다. 이러한 데이터를 보호하기 위해, IC 칩(chip) 상의 회로는 물리적 공격을 검출할 수 있고 경보 신호(alert signal)를 발행할 수 있다. 경보 신호에 응답하여, IC 칩은 이러한 공격에 대항하여 보호를 위한 일부 조치(action)를 취할 수 있다.
전압-기반 공격은 예를 들어, 준안정성을 유발시키기 위해 회로 부분의 전압 레벨(voltage level)을 변경시키는 것을 포함한다. 따라서 회로 부분은 전압 레벨이 변경되고 있음을 결정함으로써 공격을 검출할 수 있다. 전압 레벨이 변경되고 있음을 결정하는 것은 전압에 민감한 회로를 사용하여 전파하는 신호가 지연된다고 관측(observation)하는 것에 근거할 수 있다. 한편 일부 환경들에서, 클록 신호(clock signal)의 주파수 변동들, 또는 클록 변동들은 IC 칩에 대한 물리적 공격들에 대항하여 싸우기 위해 의도적으로 생성된다. 클록 변동은 어느 정도의 무작위화(randomization)를 도입할 수 있다. 무작위화는 모니터링되는 신호들에 가해진 준안정성으로부터 데이터 값들을 추론(inferring)하는 것을 더 어렵게 한다. 보안 회로에서의 클록 변동들의 사용으로 인해, 클록 신호의 주파수 변동들의 존재 하에서 전압-기반 공격이 일어날 수 있다. 이러한 상황들에서, 전압-기반 공격을 검출하는 것은 도전과제가 되는데, 왜냐하면 신호 지연은, 전압-기반 공격으로 인해 발생한 변하는 전압에 부분적으로 기인할 수 있고 그리고 물리적 공격들과 싸우도록 의도된 클록 변동에 부분적으로 기인할 수 있기 때문이다.
이러한 도전과제에 대처하기 위해, 일부 구현예들은 서로 다른 제 1 전압 감도(voltage sensitivity) 및 제 2 전압 감도를 갖는 제 1 전압-종속 회로(voltage-dependent circuit) 및 제 2 전압-종속 회로를 각각 사용하여 제 1 신호 및 제 2 신호를 발생시킨다. 결과적으로, 제 1 신호 및 제 2 신호는 전압 변화(voltage variation)들에 대해 다르게 반응하여 두 신호들의 신호 지연 성분들이 이들 간에 다르게 된다. 하지만, 제 1 신호 및 제 2 신호는 주파수 변동들을 겪는 클록 신호에 대해 유사하게 반응한다. 따라서, 제 1 신호 및 제 2 신호 각각은 클록 변동으로 인해 서로 실질적으로 동일한 지연 특성을 포함한다. 제 1 신호와 제 2 신호를 결합시켜 결합된 신호를 생성함으로서, 클록 변동으로 인한 지연 특성은 중화(neutralize)되지만, 전압 변동으로 인한 지연 성분은 적어도 부분적으로 유지될 수 있다. 따라서 이러한 결합된 신호는 클록 변동들의 존재 하에서도 전압 레벨을 변경시키는 전압-기반 공격을 검출하는데 사용될 수 있다.
제 1 전압-종속 회로 및 제 2 전압-종속 회로 각각은 복수의 지연 유닛(delay unit)들을 포함하는 지연 회로(delay circuit)를 포함한다. 각각의 지연 유닛은 각각의 제 1 전압-종속 회로 또는 제 2 전압-종속 회로에 대한 대응하는 전압 감도를 갖는다. 각각의 지연 유닛은 예를 들어, 두 개의 제 1 전압-종속 회로와 제 2 전압-종속 회로 간에 상이한 각각의 임계 전압을 갖는 적어도 하나의 트랜지스터를 사용하여 실현될 수 있다. 예시적 동작들에서, 토글 플립-플롭(toggle flip-flop)은 각각의 싸이클(cycle)에 대해 에지(edge)를 발생시킨다. 에지는 구성하는 트랜지스터들의 각각의 임계 전압에 종속하는 전파 속도에서 지연 유닛들의 각각의 세트를 통해 전파한다. 제 1 전압-종속 회로 및 제 2 전압-종속 회로 각각은 또한 버퍼 체인(buffer chain) 및 복수의 샘플링 레지스터(sampling register)들을 포함하는 샘플링 회로(sample circuit)를 포함한다. 지연된 에지는 각각의 지연 회로로부터 각각의 샘플링 회로의 버퍼 체인에 결합되어 에지는 각각의 버퍼 체인을 통해 진행하게 된다. 복수의 샘플링 레지스터들이 버퍼 체인에 결합되어 지연된 에지가 각각의 싸이클 동안 버퍼 체인을 따라 얼마나 멀리 진행하는지를 포착(capture)하게 된다. 제 1 전압-종속 회로 또는 제 2 전압-종속 회로에 의해 각각 출력된 제 1 신호 또는 제 2 신호는 대응하는 각각의 신호 지연을 나타내는 위치에서 에지를 포함한다.
전압 분석 회로(voltage analysis circuit)가 제 1 전압-종속 회로 및 제 2 전압-종속 회로로부터 제 1 신호 및 제 2 신호를 각각 수용하여 전압-기반 공격이 일어나고 있는지를 결정하게 된다. 분석은 제 1 신호와 제 2 신호를 결합시키는 것, 그리고 결합된 신호를 적어도 하나의 임계치에 비교하는 것을 포함한다. 분석은 또한, 제 1 신호 및 제 2 신호를 서로 비교하여 전압 스파이크(voltage spike)가 양(positive)인지 또는 음(negative)인지를 결정하게 된다. 이러한 방식들로, 대응하는 제 1 전압 감도 및 제 2 전압 감도를 갖는 제 1 전압-종속 회로 및 제 2 전압-종속 회로를 이용함으로써, IC 칩 또는 그 일부분이 클록 변동들을 겪고 있는 동안 전압-기반 공격이 검출될 수 있다.
아래에서 설명되는 실시형태들은 클록 변동들 하에서의 전압-변화 검출을 위한 장치를 포함한다. 장치는 제 1 전압-종속 회로, 제 2 전압-종속 회로, 전압 분석 회로, 및 클록 신호를 전파시키도록 구성된 클록 라인(clock line)을 포함한다. 제 1 전압-종속 회로는 클록 라인에 결합되고, 그리고 제 1 전압-종속 회로는 제 1 전압 감도(voltage sensitivity)에 근거하여 그리고 클록 신호에 응답하여 전압 레벨(voltage level)을 표시하는 제 1 신호를 생성하도록 구성된다. 제 2 전압-종속 회로는 클록 라인에 결합되고, 그리고 제 2 전압-종속 회로는 제 2 전압 감도에 근거하여 그리고 클록 신호에 응답하여 전압 레벨을 표시하는 제 2 신호를 생성하도록 구성된다. 전압 분석 회로가 제 1 전압-종속 회로 및 제 2 전압-종속 회로에 결합된다. 전압 분석 회로는 제 1 신호 및 제 2 신호에 근거하여 전압 경보 신호(voltage alert signal)를 발생시키도록 구성된다.
아래에서 설명되는 실시형태들은 클록 변동들 하에서의 전압-변화 검출을 위한 장치에 의해 수행되는 방법을 포함한다. 방법은 클록 신호를 제공하는 것을 포함한다. 방법은 또한, 제 1 전압 감도에 근거하여 클록 신호를 전파시키는 것에 응답하여 전압 레벨을 나타내는 제 1 신호를 생성하는 것을 포함한다. 방법은 추가적으로, 제 2 전압 감도에 근거하여 클록 신호를 전파시키는 것에 응답하여 전압 레벨을 나타내는 제 2 신호를 생성하는 것을 포함한다. 방법은 또한, 제 1 신호 및 제 2 신호에 근거하여 전압 경보 신호를 발생시키는 것을 포함한다.
아래에서 설명되는 실시형태들은 클록 변동들 하에서의 전압-변화 검출을 위한 집적 회로(IC)를 포함한다. 장치는 클록 라인, 제 1 전압-종속 회로, 제 2 전압-종속 회로, 및 전압 분석 회로를 포함한다. 클록 라인은 하나 이상의 주파수 변동들을 갖는 클록 신호를 전파시키도록 구성된다. 제 1 전압-종속 회로는 클록 라인에 결합된다. 제 1 전압-종속 회로는 제 1 임계 전압을 갖는 적어도 하나의 제 1 트랜지스터를 사용하여 클록 신호를 전파시켜 전압 레벨을 나타내는 제 1 신호를 생성하도록 구성된다. 제 2 전압-종속 회로는 클록 라인에 결합된다. 제 2 전압-종속 회로는 제 2 임계 전압을 갖는 적어도 하나의 제 2 트랜지스터를 사용하여 클록 신호를 전파시켜 전압 레벨을 나타내는 제 2 신호를 생성하도록 구성된다. 전압 분석 회로가 제 1 전압-종속 회로 및 제 2 전압-종속 회로에 결합된다. 전압 분석 회로는 제 1 신호와 제 2 신호의 조합에 근거하여 클록 신호의 하나 이상의 주파수 변동들을 중화(neutralizing)시킴으로써 전압-기반 공격을 검출하도록 구성된다.
아래에서 설명되는 실시형태들은 장치 또는 IC의 적어도 일부로서 실현될 수 있는 클록 변동들 하에서의 전압-변화 검출을 위한 시스템을 포함한다. 시스템은 클록 신호의 주파수 변동들 또는 클록 변동들의 존재 하에서 전압 변화들을 검출하기 위한 수단을 포함한다. 전압 변화들을 검출하기 위한 수단은 클록 신호를 제공하도록 구성된다. 전압 변화들을 검출하기 위한 수단은 또한, 제 1 전압 감도에 근거하여 클록 신호를 전파시키는 것에 응답하여 전압 레벨을 나타내는 제 1 신호를 생성하도록 구성된다. 전압 변화들을 검출하기 위한 수단은 추가적으로, 제 2 전압 감도에 근거하여 클록 신호를 전파시키는 것에 응답하여 전압 레벨을 나타내는 제 2 신호를 생성하도록 구성된다. 전압 변화들을 검출하기 위한 수단은 또한, 제 1 신호 및 제 2 신호에 근거하여 전압 경보 신호를 발생시키도록 구성된다.
클록 변동들 하에서의 전압-변화 검출의 장치들 그리고 클록 변동들 하에서의 전압-변화 검출을 위한 기법들이 다음의 도면들을 참조하여 설명된다. 동일한 특징들 및 컴포넌트들을 참조시키기 위해 도면들 전체에 걸쳐 동일한 번호들이 사용된다.
도 1은 클록 변동들 하에서 전압-변화 검출을 구현하기 위한 전압-변화 검출 회로를 포함하는 집적 회로(IC)를 갖는 예시적인 장치를 예시한다.
도 2는 클록 변동들 하에서 전압-변화 검출을 구현할 수 있는 전압-변화 검출 회로 및 보호 회로를 포함하는 예시적 IC를 예시한다.
도 3은 제 1 전압-종속 회로, 제 2 전압-종속 회로, 및 전압-분석 회로를 포함하는 전압-변화 검출 회로의 예를 예시하는 개략적 도면이다.
도 4는 도 3의 제 1 전압-종속 회로, 제 2 전압-종속 회로, 및 전압-분석 회로의 예시적 실시형태들을 예시하는 개략적 도면이다.
도 5는 전압-종속 회로의 예시적 지연 회로를 예시하는 회로 도면이다.
도 6a는 전압-종속 회로의 예시적 샘플링 회로를 예시하는 회로 도면이다.
도 6b는 전압-종속 회로의 또 하나의 다른 예시적 샘플링 회로를 예시하는 회로 도면이다.
도 7은 클록 변동들 하에서 전압-변화 검출을 위한 예시적 방식을 도시한다.
도 8은 장치가 클록 변동들 하에서 전압-변화 검출을 구현하기 위한 예시적 방법들을 예시한다.
도 9는 장치가 클록 변동들 하에서 전압-변화 검출을 구현하기 위한 다른 예시적 방법들을 예시한다.
도 10은 하나 이상의 설명되는 실시형태들에 따라 클록 변동들 하에서 전압-변화 검출을 구현할 수 있는 예시적 전자 디바이스의 다양한 컴포넌트들을 예시한다.
개관(Overview)
전자 디바이스들은 집적 회로(IC) 칩들을 포함한다. 일부 IC 칩들은 정보를 안전하게 유지시키는 것을 담당하는 보안 회로를 포함한다. 불행하게도, IC 칩에 대한 직접적인 액세스를 갖는 자들을 포함하는 악의적 행위자들은 안전하게 유지되도록 의도된 정보를 얻기 위한 시도를 행하기 위해 IC 칩에 대한 물리적 공격을 수행할 수 있다. 예를 들어, 보안 회로는 안전하게 보호되도록 의도된 데이터를 암호화하기 위해 사용되는 비밀 키를 저장할 수 있다. 물리적 공격은 비밀 키를 목표로 할 수 있고, 그리고 비밀 키는 데이터가 암호해독될 수 있게 하고 이에 따라 악의적 행위자에 의해 액세스될 수 있게 한다. 일부 경우들에서, 물리적 공격의 일부로서, 악의적 행위자는 일반적으로는 IC 칩에 대한 또는 특정적으로는 보안 회로에 대한 특정된 제한(limit)들의 경계(bound)들 밖에 있는 전압들 또는 다른 시그널링 파라미터(signaling parameter)들을 적용한다.
특정된 제한들을 초과하는 신호들 또는 입력들을 적용하는 것은 회로로 하여금 비계획된 또는 비의도된 방식들로 반응하도록 할 수 있다. 물리적 공격의 일부로서, 악의적 행위자는 과도한 신호들 또는 입력들을 반복적으로 적용하고, 그 값들을 또한 변경시킬 수 있다. 이러한 프로세스 동안, 악의적 행위자는 IC 칩의 내부 혹은 외부 시그널링을 모니터링(monitor)한다. 시간 경과에 따라 이러한 시그널링을 모니터링함으로써, 악의적 행위자는 비밀 키의 표시를 알아내려고 할 수 있다. 따라서, IC 칩은 저장된 비밀 키를 누출시킬 수 있거나 또는 그렇지 않으면 누설할 수 있고, 그리고 비밀 키로 암호화된 임의의 정보를 비의도적으로 노출시킬 수 있다.
따라서, 악의적 행위자가 IC 칩 상에 저장된 그리고 안전하게 보호되도록 의도된 비밀 키 또는 다른 정보를 알아내려고 하는 것을 더 어렵게 만드는 것이 유익하다. 물리적 공격들의 이러한 타입들과 싸우기 위한 하나의 접근법은 보호 회로의 동작의 타이밍(timing)을 제어하고 있는 클록 신호의 주파수를 변경시키는 것이다. 클록 신호 주파수를 변경시킴으로써, 악의적 행위자가 모니터링하고 있는 시그널링에 무작위화(randomization)의 조치(measure)가 도입된다. 무작위화의 이러한 조치는 목표가 된 데이터를 추론(inferring)하는 것 또는 그렇지 않으면 추출하는 것의 어려움을 증가시킨다. 따라서, IC 칩 보안을 증가시키기 위한 하나의 접근법은 클록 신호 주파수를 조정하는 것이거나 또는 클록 신호의 주파수로 하여금 변동하도록 하는 것이다.
보호 회로를 물리적으로 공격하기 위한 하나의 예시적 접근법에서, 악의적 행위자는 IC 칩의 사양(specification)들과 불일치하는 방식으로 공급 전압의 전압 레벨 또는 입력 신호들을 변경시킨다. 물리적 공격에 대항하는 대응조치(countermeasure)를 구현할 수 있도록 하기 위해, 물리적 공격이 먼저 검출된다. 전압-기반 공격을 검출하기 위한 예시적 방식은 전압이 변하고 있음 또는 전압이 부적절한 레벨에서 설정되어 있음을 확인하는 것이다. 이렇게 하기 위해, 전압 레벨이 결정된다. 전압 레벨은 전압-종속성인 하나 이상의 회로 디바이스들을 이용함으로써 결정될 수 있다. 특정적으로, 전압-종속 회로 디바이스들을 통한 신호의 전파의 속도는 공급 전압의 전압 레벨에 근거하여 변한다. 만약 일련의 전압-종속 회로 디바이스들을 통해 전파하는 신호의 경과된 시간 또는 지연이 변한다면, 전압 변경의 존재가 추론될 수 있다. 따라서, IC 칩 보안을 증가시키기 위한 또 하나의 다른 접근법은 전파하는 신호의 지연 기간(delay period)에 근거하여 전압 레벨을 검출하는 전압-종속 회로 디바이스들을 이용하는 것이다.
앞에서 설명된 바와 같이, 일부 상황들에서, 악의적 행위자에 의해 모니터링될 수 있는 신호들에 무작위화의 조치를 도입함으로써 IC 칩 보안을 증진시키기 위해 클록 신호 주파수를 조정하는 것이 유익하다. 다른 상황들에서, 악의적 행위자에 의해 초래되는 전압 레벨 변경을, 전파하는 신호의 지연에 근거하여, 검출하는 것이 유익하다. 불행하게도, 양쪽 전략들을 함께 구현하는 것은 어려웠다. 후자의 전략은 클록 신호에 응답하여 동작하는 회로를 통해 전파하는 신호의 지연 기간(delay period)을 사용하는 것을 포함하는데, 이것이 의미하는 것은 지연 기간이 또한 클록 신호의 주파수에 영향을 받는다는 것이다. 전자의 전략은 클록 신호의 주파수를 변경시키는 것을 포함한다. 결과적으로, 전압 레벨에서의 변경을 반영하도록 의도된 지연 기간은 또한 클록 신호의 주파수에서의 변경을 바람직하지 않게 반영할 수 있다. 요컨대, 전압-종속 회로 디바이스들을 통해 전파되는 신호는 공급 전압의 동시발생적 전압 레벨에 근거하여 지연되지만, 전파되는 신호는 또한 클록 신호의 주파수 변동에 의해 초래되는 시간적 특성(temporal characteristic)을 포함한다. 따라서, 관측된 지연 중 얼마만큼이 악의적 행위자에 의해 유발된 전압 변경에 의해 초래된 것인지, 그리고 관측된 지연 중 얼마만큼이 클록 신호의 주파수 변동의 결과인지를 확인하는 것은 어렵다.
변동하는 주파수를 갖는 클록 신호 하에서 동작하고 있는 회로에 대한 전압-기반 공격을 검출할 수 있는 것이 유리하게 된다. 이렇게 하기 위해, 일부 구현예들에서, IC 칩은 두 개의 전압-종속 회로들 및 전압 분석 회로를 갖는 전압-변화 검출 회로를 포함한다. 제 1 전압-종속 회로는 제 1 전압 감도를 갖고, 그리고 제 2 전압-종속 회로는 제 2 전압 감도를 갖는다. 상이한 전압 감도들을 이용해, 두 개의 회로들은 상이한 속도들에서 지연 회로를 통해 신호를 전파시킨다. 예를 들어, 제 1 전압-종속 회로는 제 1 전압 감도에 근거하여 그리고 클록 신호에 응답하여 제 1 신호를 생성한다. 제 2 전압-종속 회로는 제 2 전압 감도에 근거하여 그리고 클록 신호에 응답하여 제 2 신호를 생성한다. 각각의 신호는 상이한 정도로 공급 전압의 전압 레벨에 대한 변경들에 의해 영향을 받는데, 예컨대, 각각의 신호는 공급 전압 변화로 인해 상이한 지연을 갖는다.
하지만, 제 1 신호 및 제 2 신호 각각은 클록 신호의 주파수 변동들에 대해 실질적으로 유사한 방식으로 영향을 받는다. 따라서, 각각의 신호는 클록 변동으로 인한 실질적으로 유사한 지연 특성을 포함한다. 동작시, 전압 분석 회로는 제 1 신호와 제 2 신호를 결합시킨다(예컨대, 제 1 신호와 제 2 신호 간의 차이를 결정함). 결과적인 결합된 신호는 공통의 지연 특성을 중화시킨다(예컨대, 실질적으로 소멸(cancel)시킴). 결합된 신호는 전압 글리치(voltage glitch)가 일어났는지를 검출하기 위해 적어도 하나의 임계치에 비교될 수 있다. 본 명세서에서 설명되는 바와 같이, 전압 분석 회로는 또한, 검출된 전압 글리치가 양의 전압 글리치인지 아니면 음의 전압 글리치인지를 확인하기 위해 제 1 신호와 제 2 신호를 서로 비교할 수 있다.
이러한 방식들로, 전압-기반 공격은 두 개의 전압-종속 회로들을 사용함으로써 클록 변동의 존재 하에서 검출될 수 있다. 이에 따라, IC 칩에 대한 물리적 공격들을 저지하기 위한 클록 신호의 주파수 변동들은 전압-기반 물리적 공격들을 검출하기 위해 전압 변화들을 검출하기 위한 지연-기반 접근법들과 결합되어 사용될 수 있다.
일부 구현예들이, 저장된 비밀 키의 예시적인 안전한 보호의 측면에서 묘사되거나 설명되지만, 설명되는 구현예들은 IC 칩의 시그널링 및 데이터에 대한 권한없는 액세스를 막는 것에 일반적으로 적용가능하다. 또한, 설명되는 구현예들은 일반적으로 회로에 적용가능하고, 그리고 "강화된" 또는 다른 보안-지향 회로에만 한정되지 않는다. 더욱이, 클록 변동(또는 클록 신호의 변동하는 주파수)은 보안 목적 혹은 다른 목적들을 위해 IC 칩의 설계로 인해 발생할 수 있거나, 또는 악의적 행위자에 의한 물리적 공격으로 인해 발생할 수 있다.
세부사항의 다양한 레벨들에서의 예시적인 구현예들이, 관련된 도면들을 참조하여 아래에서 논의된다. 아래에서의 논의는 먼저 예시적인 동작 환경을 제시하고, 그 다음에 예시적인 하드웨어, 방식들 및 기법들을 설명한다. 예시적인 방법들이, 흐름도들 또는 도면들을 참조하여 이후에 설명된다.
예시적 환경(Example Environment)
도 1은 클록 변동들 하에서 전압-변화 검출을 구현하기 위한 전압-변화 검출 회로(106)를 포함하는 집적 회로(IC)(104)를 갖는 예시적인 장치(102)를 예시한다. 이러한 에에서, 장치(102)는 스마트폰으로서 도시된다. 하지만, 장치(102)는 임의의 적절한 컴퓨팅 디바이스(computing device) 또는 전자 디바이스(electronic device)로서 구현될 수 있는데, 예컨대, 모바일 통신 디바이스(mobile communication device), 모뎀(modem), 셀룰러 폰(cellular phone) 혹은 모바일 폰(mobile phone), 모바일 스테이션(mobile station), 게이밍 디바이스(gaming device), 내비게이션 디바이스(navigation device), 미디어 디바이스(media device) 혹은 엔터테인먼트 디바이스(entertainment device)(예컨대, 미디어 스트리머(media streamer) 혹은 게이밍 제어기(gaming controller)), 랩탑 컴퓨터(laptop computer), 데스크탑 컴퓨터(desktop computer), 태블릿 컴퓨터(tablet computer), 스마트 기기(smart appliance), 차량-기반 전자 시스템(vehicle-based electronic system), 착용가능 컴퓨팅 디바이스(wearable computing device)(예컨대, 의류(clothing) 혹은 시계(watch)), 사물 인터넷(Internet of Things, IoTs) 디바이스, 머신 혹은 일부 장비의 전자 부분, 서버 컴퓨터(server computer) 혹은 그 일부(예컨대, 서버 블레이드(server blade)), 등으로서 구현될 수 있다. 장치(102)의 예시된 예들은 태블릿 디바이스(102-1), 스마트 텔레비전(102-2), 데스크탑 컴퓨터(102-3), 서버 컴퓨터(102-4), 스마트시계(102-5), 스마트폰 혹은 문서 판독기(102-6), 및 지능형 안경(intelligent glasses)(102-7)을 포함한다.
예시적 구현예들에서, 장치(102)는 적어도 하나의 IC(104)를 포함한다. IC(104)는 범용 프로세서(general-purpose processor), 시스템-온-칩(System-on-Chip, SoC), 보안 IC(security IC), 메모리 칩(memory chip), (예컨대, 전송 또는 수신되는 정보에 암호화 또는 암호해독화를 수행하는) 통신 IC(communications IC), 등으로서 실현될 수 있다. IC(104)는 전압-변화 검출 회로(106)를 포함한다. 동작시, 전압-변화 검출 회로(106)는 전압-기반 공격이 일어나고 있음을 표시할 수 있는 전압 변화를 검출하기 위해 IC(104)의 적어도 일부분을 모니터링한다. 어떤 임계치 또는 특정 범위를 초과하는 전압 레벨의 변화의 검출에 응답하여, 전압-변화 검출 회로(106)는 전압 경보 신호(108)를 발생시킨다. 따라서, 전압 경보 신호(108)는 모니터링되는 전압 레벨의 검출된 변화를 표시할 수 있다. 전압 경보 신호(108)의 발행에 응답하여, 장치(102)의 IC(104) 혹은 또 다른 부분은 전압-변화 검출 응답(110)을 구현할 수 있고, 이것은 도 2를 참조하여 설명된다.
클록 변동들 하에서의 전압-변화 검출을 위한 예시적 방식들, 기법들 및 하드웨어(Example Schemes, Techniques, and Hardware for Voltage-Variation Detection Under Clock Fluctuations)
도 2는 클록 변동들 하에서 전압-변화 검출을 구현할 수 있는 전압-변화 검출 회로(106) 및 보호 회로(206)를 포함하는 예시적 IC(104)를 예시한다. IC(104)는 전압 레벨(216)을 포함한다. 전압 레벨(216)은 예를 들어, IC(104) 상의 하나 이상의 파워 도메인(power domain)들 혹은 회로 영역들을 위한 공급 전압(228)(예컨대, Vdd)에 대응할 수 있다. 온-칩(on-chip) 또는 오프-칩(off-chip) 파워 관리 회로(미도시)가 공급 전압(228)을 발생시킬 수 있고, 공급 전압(228)의 전압 레벨(216)을 목표 전압 범위(222) 내에서 유지시킬 수 있다. 하지만, 전압 레벨(216)은 목표 전압 범위(222)의 경계들 밖에 있는 혹은 목표 전압 범위(222)를 초과하는 전압 변화(224)를 겪을 수 있다. 이러한 전압 변화(224)는 IC(104)에 대한 전압-기반 공격(212)에 의해 초래될 수 있다. 본 명세서에서 설명되는 바와 같이, 전압-변화 검출 회로(106)는 전압 변화(224)를 검출하고, 이러한 검출에 응답하여 전압 경보 신호(108)를 발생시킨다.
일부 시나리오들에서, 전압-기반 공격(212)은 메모리(208) 내에 저장되어 있는 비밀 키(210)를 목표로 할 수 있다. 비밀 키(210)는 또 다른 디바이스에 디스플레이돼야 하거나 전달돼야 하는 정보를 포함하는 보호돼야 할 정보를 암호화하거나 암호해독화하는데 사용될 수 있다. 일부 경우들에서, 악의적 행위자는 비밀 키(210)가 암호화 또는 암호해독화를 위해 사용되고 있는 동안 일어나는 시그널링을 모니터링함으로써 비밀 키(210)를 추론하려고 할 수 있다. 예를 들어, 암호화 동작들 동안 전류 흐름들을 추출함으로써 시그니처(signature)들이 획득될 수 있다. 시그니처들은 특정 동작들을 반복하고 모니터링되는 신호들을 비교함으로써 비밀 키(210)를 누설하도록 조작될 수 있다. 모니터링되는 시그널링에 무작위화를 도입하고, 그럼으로써 동일한 동작들을 반복적으로 수행하기 위한 노력들을 저지하기 위해서, 클록 신호(204)는 변경될 수 있다.
일부 구현예들에서, 클록 신호(204)는 적어도 하나의 주파수 변동(214)을 나타낸다. 예컨대, 클록 신호(204)는 시간 경과에 따라 변동하는 주파수를 가질 수 있다. 이러한 주파수 변동(214)은 IC(104)에 대한 공격으로 인해 발생할 수 있다. 하지만, 주파수 변동(214)은 또한 혹은 대신, 물리적 공격의 일부로서 잠재적으로 모니터링될 수 있는 시그널링에 무작위화를 도입하기 위한 보안 조치로서 의도적으로 생성될 수 있다. 예를 들어, 클록 발생기(202), 또는 클록 트리(clock tree)의 일부는 주파수 변동(214)을 갖도록 클록 신호(204)를 발생시키도록 구성될 수 있다. 클록 신호(204)의 주파수 변동(214)은 "클록 지터(clock jitter)"로서 지칭될 수 있다. 비록 클록 신호(204)의 주파수 변동(214)이 전압-기반 공격(212)을 더 어렵게 만들지만, 주파수 변동(214)은 또한 전압-기반 공격(212)의 검출을 더 어렵게 만들 수 있다.
전압-기반 공격(212)을 검출하기 위한 일부 접근법들은 전압-기반 지연을 나타내는 성분을 갖는 신호를 획득하는 것을 포함한다. 만약 지연이 너무 크거나, 또는 그렇지 않으면 예상된 지연 기간으로부터 너무 멀리 벗어난다면, 회로는 전압-기반 공격(212)이 일어나고 있다고 추론할 수 있다. 하지만, 클록 신호(204)의 주파수 변동(214) 하에서 전파되는 신호는 또한 클록 변동으로 인해 발생하는 지연 특성을 가질 수 있다. 달리 말하면, 신호는, 전압-기반 공격(212)으로부터의 전압 변화(224)로 인해 발생한 지연을 나타낼 수 있거나, 보안을 증진시키기 위해 의도적으로 생성되었던 클록 신호(204)의 주파수 변동(214)으로 인해 발생한 지연을 나타낼 수 있거나, 또는 이러한 원인들이 조합된 지연을 나타낼 수 있다. 복수의 상이한 소스(source)들로 인해 발생할 수 있는 지연의 원인을 결정하는 것, 이에 따라 전압-기반 공격(212)이 일어나고 있을 수 있는지 여부를 결정하는 것은 도전과제이다.
본 명세서에서 설명되는 구현예들은 적어도 하나의 신호에서 주파수 변동(214)을 갖는 클록 신호(204)로 인해 발생하는 지연 특성이 중화될 수 있게 한다. 따라서, 적어도 하나의 신호, 또는 그 파생물(derivative)인 신호에 남아있는 전압-기반 공격(212)으로 인해 발생한 지연 성분이 공격의 검출을 위해 결정될 수 있다. 이렇게 하기 위해서, 전압-변화 검출 회로(106)는 두 개의 신호들을 생성하는데, 제 1 신호(218-1) 및 제 2 신호(218-1)를 생성한다. 전압-변화 검출 회로(106)는 상이한 전압 감도들을 갖는 두 개의 회로들을 포함하는데, 이들 각각은 각각의 신호(218)를 생성한다. 이러한 회로들의 예들이 도 3과 함께 시작하여 아래에서 설명된다. 상이한 전압 감도들로 인해, 제 1 신호(218-1)와 제 2 신호(218-2) 각각은 전압 변화에 기반을 둔 상이한 지연 성분을 갖는다. 하지만, 각각의 신호(218)는 다른 신호의 클록-변동-기반 지연 특성(clock-fluctuation-based delay characteristic)과 근사적으로 동등한 클록-변동-기반 지연 특성을 갖는다.
예시적 동작들에서, 전압-변화 검출 회로(106)는 제 1 신호(218-1)와 제 2 신호(218-2)를 결합시켜 결합된 신호(220)를 생성하게 된다. 결합 동작(226)은 각각의 신호(218)에 존재하는 클록-변동-기반 지연 특성을 실질적으로 소멸시켜 클록 변동의 영향이 실질적으로 중화된 결합된 신호(220)를 생성하게 된다. 예컨대, 클록 신호(204)의 주파수 변동(214)의 영향은 관측가능한 지연들이 전압-기반 지연들인 것으로서 분석될 수 있도록 충분히 감소될 수 있다. 예시적 유추(analogy)로서, 결합 동작(226)은 제 1 신호(218-1)와 제 2 신호(218-2) 간의 공통-모드 양상(common-mode aspect)들을 제거하지만 차별적 양상(differential aspect)들은 남겨둔다. 아래에서 설명되는 바와 같이, 각각의 신호(218)는 다중-비트 디지털 신호(multi-bit digital signal)로서 구현될 수 있다. 이러한 구현예들에서, 결합 동작(226)은 차감(예컨대, 뺄셈) 동작을 사용하여 실행될 수 있다.
따라서, 결합된 신호(220)는 공급 전압(228)의 전압 레벨(216)의 전압 변화(224)를 표시한다. 제 1 신호(218-1), 및 제 2 신호(218-2), 및 결합된 신호(220)에 근거하여, 전압-변화 검출 회로(106)는 하나 이상의 비교 동작들 및 적어도 하나의 임계치를 사용하여 전압-기반 공격(212)이 일어나고 있는지를 검출할 수 있다. 만약 전압-기반 공격(212)이 검출된다면, 전압-변화 검출 회로(106)는 전압 경보 신호(108)를 발생시키고 전압 경보 신호(108)를 보호 회로(206)에 제공한다. 이러한 경우에, 전압 경보 신호(108)는 전압 레벨(216)이 목표 전압 범위(222) 밖에 있다고 표시한다. 보호 회로(206)는 전압-변화 검출 회로(106)에 결합되어 이로부터 전압 경보 신호(108)를 수용한다. 보호 회로(206)는 전압 레벨(216)이 목표 전압 범위(222) 밖에 있음에 응답하여 (도 1의) 장치(102)를 보호하기 위한 적어도 하나의 조치를 취한다. 따라서, 전압 경보 신호(108)에 응답하여, 보호 회로(206)는 적어도 하나의 전압-변화 검출 응답(110)을 수행한다.
전압-변화 검출 응답(110)은 전압-기반 공격(212)과 싸우도록 설계된다. 전압-변화 검출 응답(110)은 공격의 기록을 보유하기 위해 활동 혹은 모니터링된 신호들을 기록(logging)하는 것을 포함할 수 있다. 더욱이, 보호 회로(206)는 비밀 키(210)와 같은 목표가 된 정보를 보호하도록 동작할 수 있다. 예시적 보호 조치들은, 암호화 동작들을 중지하는 것, 메모리(208)에 대한 액세스를 차단하는 것, 메모리(208)를 정지(powering down)시키는 것, 메모리(208)를 포함하는 파워 도메인에서 전력을 폐쇄(collapsing)시키는 것, 비밀 키(210)에 대한 액세스를 물리적으로 끊는 것, 비밀 키(210)를 삭제하거나 또는 그렇지 않으면 파괴하는 것, 등을 포함한다. 비록 도 2에서 도시되는 특정 컴포넌트들(예컨대, 전압-변화 검출 회로(106), 클록 발생기(202), 메모리(208), 및 보호 회로(206))이 하나의 국지화된 블록(localized block)의 단일 인스턴스(instance)로서 보여지고 있지만, 이들 각각은 복수의 인스턴스들에서 실현될 수 있거나, 또는 IC(104)의 일부 부분에 걸쳐 분산되는 회로로서 실현될 수 있다. 예를 들어, 전압-변화 검출 회로(106)의 상이한 인스턴스들이, 국지화된 전압-기반 공격들(212)을 검출하기 위해 IC(104) 둘레의 다양한 위치들에서 위치할 수 있다.
도 3은 제 1 전압-종속 회로(302-1), 제 2 전압-종속 회로(302-2), 및 전압-분석 회로(306)를 포함하는 전압-변화 검출 회로(106)의 예를 예시하는 개략적 도면이다. 전압-변화 검출 회로(106)는 또한 교정 회로(calibration circuit)(308) 및 클록 라인(clock line)(310)을 포함할 수 있다. 클록 라인(310)은 예를 들어, (도 2의) 클록 발생기(202)에 결합되는 클록 트리(미도시)의 일부를 형성할 수 있다. 클록 라인(310)은 클록 신호(204)를 전파시키고, 그리고 클록 신호(204)를 제 1 전압-종속 회로(302-1) 및 제 2 전압-종속 회로(302-2)에 제공한다. 클록 신호(204)는 제 1 전압-종속 회로(302-1) 및 제 2 전압-종속 회로(302-2)의 동작 동안 (도 2)의 주파수 변동(214)을 겪을 수 있다. 보여지는 바와 같이, 전압 레벨(216)은 공급 전압(228)에 대응할 수 있다.
예시적 구현예들에서, 제 1 전압-종속 회로(302-1) 및 제 2 전압-종속 회로(302-2)는 클록 라인(310)에 결합되어 클록 신호(204)를 수용하게 된다. 제 1 전압-종속 회로(302-1)는 제 1 전압 감도(304-1)에 대응한다. 제 1 전압-종속 회로(302-1)는 제 1 전압 감도(304-1)에 근거하여 그리고 클록 신호(204)에 응답하여 전압 레벨(216)을 표시하도록 제 1 신호(218-1)를 생성한다. 제 2 전압-종속 회로(302-2)는 제 2 전압 감도(304-2)에 대응한다. 제 2 전압-종속 회로(302-2)는 제 2 전압 감도(304-2)에 근거하여 그리고 클록 신호(204)에 응답하여 전압 레벨(216)을 표시하도록 제 2 신호(218-2)를 생성한다.
제 1 전압 감도(304-1)는 제 1 전압-종속 회로(302-1)의 적어도 일부분 내에서의 클록 신호(204)의 제 1 전파 속도에 대응하고, 여기서 제 1 전파 속도는 또한 전압 레벨(216)에 대한 응답이다. 제 2 전압 감도(304-2)는 제 2 전압-종속 회로(302-2)의 적어도 일부분 내에서의 클록 신호(204)의 제 2 전파 속도에 대응하고, 여기서 제 2 전파 속도는 또한 전압 레벨(216)에 대한 응답이다. 여기서, 제 1 전파 속도와 제 2 전파 속도는 상이한 전압 감도들에 근거하여 서로 다르다. 따라서, 제 1 신호(218-1)의 생성은 제 1 전압 감도(304-1)에 근거하여 제 1 전파 속도에서 클록 신호(204)를 전파시키는 것을 포함할 수 있다. 그리고, 제 2 신호(218-2)의 생성은 제 2 전압 감도(304-2)에 근거하여 제 2 전파 속도에서 클록 신호(204)를 전파시키는 것을 포함할 수 있다. 이러한 신호 전파의 예들이 도 4 내지 도 6b를 참조하여 설명된다.
전압 분석 회로(306)가 제 1 전압-종속 회로(302-1) 및 제 2 전압-종속 회로(302-2)에 결합된다. 전압 분석 회로(306)는 제 1 신호(218-1) 및 제 2 신호(218-2)에 근거하여 전압 경보 신호(108)를 발생시킨다. 예를 들어, 전압 분석 회로(306)는 제 1 신호(218-1)와 제 2 신호(218-2)의 조합을 사용하여 컴퓨팅되는 (도 2의) 결합된 신호(220)에 근거하여 전압 경보 신호(108)를 발생시킬 수 있다. 전압 경보 신호(108)를 발생시키는 예들이 도 4, 도 7, 및 도 8을 참조하여 설명된다.
교정 회로(308)는 전압-변화 검출 회로(106)의 일부일 수 있거나 전압-변화 검출 회로(106)로부터 분리될 수 있다. 보여지는 바와 같이, 교정 회로(308)는 제 1 전압-종속 회로(302-1) 및 제 2 전압-종속 회로(302-2)에 결합된다. 교정 회로(308)는 제 1 전압-종속 회로(302-1) 및 제 2 전압-종속 회로(302-2)에 제공되는 적어도 하나의 교정 신호(312)를 발생시킨다. 교정을 위한 예시적 접근법들이 도 4, 도 5, 및 도 7을 참조하여 설명된다.
도 4는 제 1 전압-종속 회로(302-1), 제 2 전압-종속 회로(302-2), 및 전압-분석 회로(306)의 예시적 실시형태들을 예시하는 개략적 도면(400)이다. 보여지는 바와 같이, 각각의 전압-종속 회로(302)는 지연 회로(402) 및 샘플링 회로(404)를 포함한다. 특정적으로, 제 1 전압-종속 회로(302-1)는 지연 회로(402-1) 및 샘플링 회로(404-1)를 포함한다. 제 2 전압-종속 회로(302-2)는 지연 회로(402-2) 및 샘플링 회로(404-2)를 포함한다. 각각의 지연 회로(402)는 교정 회로(308)에 결합되어 교정 신호(312)를 수신하고, 클럭 라인(310)에 결합되어 클록 신호(204)를 수신한다. 전압 분석 회로(306)는 신호 결합기 회로(signal combiner circuit)(406), 신호 비교 회로(signal comparison circuit)(408), 및 분석 로직(analysis logic)(410)을 포함한다. 신호 결합기 회로(406) 및 신호 비교 회로(408) 각각은 샘플링 회로(404-1)와 샘플링 회로(404-2) 양쪽 모두에 직접적으로 또는 간접적으로 결합될 수 있어 제 1 신호(218-1) 및 제 2 신호(218-2)를 수신할 수 있다.
예시적 구현예들에서, 각각의 지연 회로(402)는 클럭 라인(310)에 결합되고, 그리고 클록 신호(204)를 지연시켜 지연된 클록 신호(414)를 생성한다. 각각의 샘플링 회로(404)는 각각의 지연 회로(402)로부터, 지연된 클록 신호(414)를 수용한다. 각각의 샘플링 회로(404)는 각각의 지연 회로(402)와 전압 분석 회로(306) 사이에 결합된다. 동작시, 각각의 샘플링 회로(404)는 복수의 버퍼링된 순간들에 걸쳐 각각의 지연된 클록 신호(414)를 샘플링하여 신호(218)를 생성하고, 이러한 신호(218)는 전압 분석 회로(306)에 제공된다. 일부 구현예들에서, 각각의 지연 회로(402)는 대응하는 전압 감도(304)에 근거하여 그리고 클록 신호(204)에 응답하여 지연된 클록 신호(414)를 생성한다.
특징적으로, 지연 회로(402-1)는 지연된 클록 신호(414-1)를 생성하고, 지연 회로(402-2)는 지연된 클록 신호(414-2)를 생성한다. 더욱이, 샘플링 회로(404-1)는 지연 회로(402-1)와 전압 분석 회로(306) 사이에 결합되고, 샘플링 회로(404-1)는 지연된 클록 신호(414-1)를 샘플링하여 제 1 신호(218-1)를 생성한다. 유사하게, 샘플링 회로(404-2)는 지연 회로(402-2)와 전압 분석 회로(306) 사이에 결합되고, 샘플링 회로(404-2)는 지연된 클록 신호(414-2)를 샘플링하여 제 2 신호(218-2)를 생성한다.
전압 감도(304)는 예를 들어, 특정 임계 전압을 갖는 트랜지스터를 사용하여 실현될 수 있다. 이러한 경우들에서, 제 1 전압-종속 회로(302-1)의 하나 이상의 제 1 트랜지스터들은 제 1 전압 감도(304-1)를 실현하기 위해 제 1 임계 전압을 가질 수 있다. 유사하게, 제 2 전압-종속 회로(302-2)의 하나 이상의 제 2 트랜지스터들은 제 2 전압 감도(304-2)를 실현하기 위해 제 2 임계 전압을 가질 수 있다. 이러한 트랜지스터들은 지연 회로(402)의 일부로서 포함될 수 있거나, 또는 샘플링 회로(404)의 일부로서 포함될 수 있거나, 또는 제 1 전압-종속 회로(302-1)와 제 2 전압-종속 회로(302-2) 각각의 지연 회로(402) 및 샘플링 회로(404) 양쪽 모두의 일부로서 포함될 수 있다.
전압 분석 회로(306)는, 제 1 전압-종속 회로(302-1)의 샘플링 회로(404-1)로부터 제 1 신호(218-1)를 수용하고, 그리고 제 2 전압-종속 회로(302-2)의 샘플링 회로(404-2)로부터 제 2 신호(218-2)를 수용한다. 신호 결합기 회로(406)는 제 1 신호(218-1)와 제 2 신호(218-2)를 결합시켜 결합된 신호(220)를 생성한다. 분석 로직(410)은 결합된 신호(220)에 근거하여 제 1 전압 경보 신호(108)를 발생시킬 수 있다. 신호 비교 회로(408)는 적어도 제 1 신호(218-1)와 제 2 신호(218-2)를 비교하여 제 1 신호(218-1)와 제 2 신호(218-2) 간의 상대적인 지연 크기(예컨대, 지연 길이 혹은 지연 기간)를 나타내는 적어도 하나의 비교 신호(412)를 생성한다. 추가적으로 또는 대안적으로, 신호 비교 회로(408)는 결합된 신호(220)를 적어도 하나의 임계치와 비교할 수 있어 또 하나의 다른 비교 신호(412)를 생성할 수 있다. 분석 로직(410)은 적어도 하나의 비교 신호(412)에 근거하여 전압 경보 신호(108)를 발생시킬 수 있다. 일반적으로, 분석 로직(410)은 적어도 하나의 비교 신호(412), 결합된 신호(220), 및 적어도 하나의 전압 임계치에 근거하여 전압 경보 신호(108)를 발생시킬 수 있다. 분석 로직(410)을 포함하는 전압 분석 회로(306)의 예시적 동작들이 도 7 및 도 8을 참조하여 설명된다.
일부 구현예들에서, 교정 회로(308)는 칩-별 기반의 IC(104)의 제조 이후 전압-변화 검출 회로(106)를 교정하도록 동작한다. 교정 신호(312)는 지연 회로(402)의 프로그래밍가능한 지연량을 설정한다. 교정을 위한 예시적 접근법들이 도 7를 참조하여 아래에서 설명된다. 교정은 지연된 클록 신호(414)를 생성하기 위해 클록 신호(204)의 전파가 이루어지는 지연 회로(402)의 지연 유닛들의 수량(quantity)을 확립하는 것을 포함할 수 있다. 이러한 확립하는 것은 도 5에서 도시되는 멀티플렉서(multiplexer)를 제어하는 것을 포함할 수 있다.
도 5는 (예컨대, 도 3 및 도 4의) 전압-종속 회로(302)의 예시적 지연 회로(402)를 예시하는 회로 도면이다. 보여지는 바와 같이, 지연 회로(402)는 복수의 지연 유닛들(514) 및 적어도 하나의 멀티플렉서(502)를 포함한다. 복수의 지연 유닛들(514)은 아래에서 설명되는 바와 같이 특정 전압 감도(304)를 제공할 수 있다. 지연 회로(402)는 또한, 인버터(inverter)(508) 및 플립-플롭(Flip-Flop)(506)(FF(506))을 포함하고, 여기서 플립-플롭(506)은 입력 단자(input terminal), 출력 단자(output terminal), 및 클록킹 단자(clocking terminal)를 갖는다. 인버터(508)는 플립-플롭(506)의 출력 단자와 입력 단자에 걸쳐 결합된다. 플립-플롭(506)의 클록킹 단자는 (예컨대, 도 3 및 도 4의) 클록 라인(310)에 결합되어 클록 신호(204)를 수신한다. 플립-플롭(506)은 클록 신호(204)에 응답하여, 예컨대, 클록 신호(204)의 각각의 싸이클에서, 펄스(pulse) 혹은 펄스의 에지(edge)를 플립-플롭(506)의 출력 단자에서 개시(launch)시킬 수 있다.
예시적 구현예들에서, 멀티플렉서(502)는 복수의 입력 단자들, 적어도 하나의 출력 단자, 및 적어도 하나의 제어 입력(512)을 포함한다. 복수의 지연 유닛들(514)은 플립-플롭(506)의 출력 단자와 멀티플렉서(502)의 복수의 입력 단자들 사이에 결합된다. 복수의 지연 유닛들(514)의 적어도 일부분은 직렬로 함께 결합되고 지연 유닛(510)의 복수의 인스턴스들을 포함한다. 각각의 지연 유닛(510)은 예를 들어, 인버터, 입력들이 단락된 NAND 게이트, 등으로서 실현될 수 있다. 각각의 지연 유닛(510)은 다른 지연 유닛들과 동일한 길이의 지연을 일으킬 수 있거나, 또는 다른 지연 유닛들과는 다른 길이를 갖는 지연을 일으킬 수 있다. 보여지는 바와 같이, 각각의 지연 유닛(510)은 임계 전압(518)(Vth(518))을 갖는 또는 임계 전압(518)(Vth(518))에 대응하는 적어도 하나의 트랜지스터(516)를 포함할 수 있다. 임계 전압(518)은 적어도 부분적으로 에지가 지연 유닛(510)을 얼마나 빨리 트리거(trigger)하는 지를 결정할 수 있고, 따라서 복수의 지연 유닛들(514)의 적어도 일부분을 통해 진행하는 클록 신호 에지의 전파 속도를 결정할 수 있다.
예시적 동작들에서, 플립-플롭(506)은 클록 신호(204)에 응답하여 복수의 지연 유닛들(514) 안으로 에지를 개시시킨다. 에지에 의해 진행되는 경로의 길이는 프로그래밍가능한 지연량을 확립하기 위해 멀티플렉서(502)를 사용하여 프로그래밍될 수 있다. 상이한 경로들은 상이한 수량들의 지연 유닛들(510)을 포함할 수 있어 지연 기간 또는 지연 길이와 같은 지연 크기를 확립할 수 있게 된다. 도 5에서, 멀티플렉서(502)는 네 개의 입력 단자들을 포함한다. 하지만, 멀티플렉서(502)는 상이한 수량의 입력 단자들을 가질 수 있다. 멀티플렉서(502)의 상단 입력 단자는 지연 유닛(510)이 없는 경로에 결합되고, 하단 입력 단자는 다섯 개의 지연 유닛들(510)을 갖는 경로에 결합된다. 두 개의 중간 입력 단자들은 하나 또는 세 개의 지연 유닛들(510)을 갖는 두 개의 경로들에 결합된다. 복수의 지연 유닛들(514)의 하나 이상의 지연 유닛들(510)을 통한 전파이후, 클록 신호(204)는 지연된 클록 신호(414)로 변환된다. 지연량을 프로그래밍하기 위해, 멀티플렉서(502)의 특정 입력 단자는 제어 입력(512)을 사용하여 멀티플렉서(502)의 출력 단자에 선택적으로 결합될 수 있다.
일부 경우들에서, 교정 신호(312)가 제어 입력(512)에 결합되어 멀티플렉서(502)의 출력 단자에 결합되기 위한 멀티플렉서(502)의 입력 단자를 선택하게 된다. 이러한 것이 지연된 클록 신호(414)를 위한 지연 기간을 프로그래밍하기 때문에, (예컨대, 도 3 및 도 4의) 교정 회로(308)는 교정 동안 지연 기간을 확립하기 위해 사용될 수 있다. 제어 입력(512)의 값 또는 설정은 교정 절차 동안 비트들의 단일 세트 또는 적어도 하나의 선택된 스위치에 융합(fuse)될 수 있고, 그 다음에 IC(104)의 수명 동안 사용될 수 있다. 교정 접근법과 무관하게, 복수의 지연 유닛들(514)의 일부 수량의 지연 유닛들(510)에 의해 지연된 클록 신호(204)의 전파하는 에지는 제어 입력(512)에 근거하여 선택되고, 그리고 멀티플렉서(502)는 선택된 신호의 에지들을 지연된 클록 신호(414)로서 전달(forward)한다.
비록 지연 회로(402)의 하나의 특정 구현예가 도 5에서 도시되지만, 지연 회로(402)는 대안적 방식들로 구현될 수 있다. 예를 들어, 복수의 지연 유닛들(514)은 상이한 수량의 지연 유닛들(510)을 포함할 수 있다. 두 개의 "인접하는(adjacent)" 경로들 사이의 입도(granularity)는 단일 지연 유닛(510) 또는 복수의 지연 유닛들(510)일 수 있다. 각각의 지연 유닛(510)은 다른 지연 유닛들(510)과 비교하여 동일한 지연 길이 또는 상이한 지연 길이를 가질 수 있다. 하나 이상의 지연 유닛들(510)이 하나보다 많은 경로에서 사용될 수 있거나 사용되지 않을 수 있다(예를 들어, 보여지는 바와 같이, 복수의 상이한 경로들에서 사용될 수 있거나 또는 복수의 상이한 경로들에서의 사용을 위해 이용가능할 수 있음). 지연 회로(402)는 교정 신호(312)에 응답하여 지연 기간을 공동으로(jointly) 확립하는 복수의 멀티플렉서들을 포함할 수 있다. 더욱이, 지연 유닛들(510)은 굵음(coarse), 중간(medium), 및 미세함(fine)과 같은 지연 기간들의 상이한 입도들로 그룹화될 수 있다. 예컨대, 세 개의 멀티플렉서들 각각이, 직렬로 함께 결합되는 세 개의 상이한 지연 입도들 각각에서 네 개의 지연 길이들 중 선택할 수 있는 그러한 세 개의 멀티플렉서들을 이용하면, 64개의 상이한 지연 기간들(4x4x4=64)이 교정 절차 동안 프로그래밍을 위해 이용가능하다.
도 6a는 (예컨대, 도 3 및 도 4의) 전압-종속 회로(302)의 예시적 샘플링 회로(404)를 예시하는 회로 도면이다. 보여지는 바와 같이, 샘플링 회로(404)는 버퍼 체인(buffer chain)(608) 및 복수의 레지스터 유닛(register unit)들(602-1, 602-2, 602-3, ..., 602-N)을 포함한다. 버퍼 체인(608)은 아래에서 설명되는 바와 같이 전압 감도(304)를 제공할 수 있다. 버퍼 체인(608)은 직렬로 함께 결합되는 복수의 버퍼 유닛(buffer unit)들(604-1, 604-2, ..., 604-(N-1))을 포함한다. 변수 "N"은 양의 정수를 나타낸다. 각각의 레지스터 유닛(602)은, 입력 단자, 출력 단자, 및 클록킹 단자를 포함한다. 각각의 레지스터 유닛(602)의 클록킹 단자는 클록 신호(204)에 결합된다. 각각의 레지스터 유닛(602)은 예컨대, 하나의 디지털 비트(digital bit)를 저장하고, 예를 들어, 임의 타입의 래치(latch), 임의 타입의 플립-플롭(예컨대, "D" 플립-플롭), 등으로서 구현될 수 있다.
예시적 구현예들에서, 복수의 레지스터 유닛들(602-1 ... 602-N)의 각각의 레지스터 유닛(602)은 버퍼 체인(608)의 각각의 버퍼 유닛(604)에 대응하거나 결합된다. 각각의 버퍼 유닛(604)은 예컨대, 인버터로서 실현될 수 있다. 보여지는 바와 같이, 각각의 버퍼 유닛(604)은 임계 전압(518)(Vth(518))을 갖는 또는 임계 전압(518)(Vth(518))에 대응하는 적어도 하나의 트랜지스터(516)를 포함할 수 있다. 임계 전압(518)은 적어도 부분적으로 에지가 버퍼 유닛(604)을 얼마나 빨리 트리거하는 지를 결정할 수 있고, 따라서 버퍼 체인(608)을 통해 진행하는 지연된 클록 신호(414)의 에지의 전파 속도를 결정할 수 있다.
예시적 동작들에서, 버퍼 체인(608)의 초기 버퍼 유닛(604-1)은 지연 회로(402)로부터, 예컨대, 지연 회로(402)의 멀티플렉서(502)로부터, 지연된 클록 신호(414)를 수용한다. 지연된 클록 신호(414)의 지연된 에지는 버퍼 체인(608)을 따라 하나의 버퍼 유닛(604)으로부터 다음 버퍼 유닛(604)으로 전파하여 복수의 버퍼 유닛들(604-1, 604-2, ..., 604-(N-1))은 지연된 클록 신호(414)의 복수의 버퍼링된 버전(buffered version)들을 공동으로 생성하게 된다. 각각의 버퍼 유닛(604)의 출력은 각각의 레지스터 유닛(602)의 입력 단자에 제공된다. 이것은 복수의 레지스터 유닛들(602-1 ... 602-N)로 하여금 버퍼 체인(608)을 따라 존재하는 시그널링을 샘플링할 수 있게 하고, 따라서 클록 신호(204)가 전이(transition)할 때, 지연된 에지가 버퍼 체인(608)을 따라 어디에 존재하는지를 결정할 수 있게 한다. 따라서, 복수의 레지스터 유닛들(602-1 ... 602-N)은 지연된 클록 신호(414)의 복수의 버퍼링된 버전들을 공동으로 래치시킬 수 있어 신호(218)를 생성할 수 있게 된다. 복수의 샘플링된 디지털 값들(606-1, 606-2, 606-3, ..., 606-N)이 복수의 레지스터 유닛들(602-1, 602-2, 602-3, ..., 602-N)의 각각의 출력 단자들에서 신호(218)로서 제공된다. 신호(218)의 예시적 디지털 버전(digital version)들이 도 7을 참조하여 아래에서 설명된다.
특정 방식으로 도시되었지만, 샘플링 회로(404)는 다르게 구현될 수 있다. 예를 들어, 버퍼 체인(608)의 버퍼 유닛들(604)의 수량은, 예컨대, 만약 초기 버퍼 유닛(604-1)의 출력이 초기 레지스터 유닛(602-1)의 입력 단자에 결합된다면, "N"개일 수 있다. 더욱이, 버퍼 체인(608)을 따라 복수의 버퍼 유닛들(604-1 ... 604-(N-1))의 출력들을 샘플링하기 위해 추가적인 회로 디바이스들이 이용될 수 있다. 양쪽 대안예들을 갖는 예가 도 6b에서 예시된다.
도 6b는 (예컨대, 도 3 및 도 4의) 전압-종속 회로(302)의 또 하나의 다른 예시적 샘플링 회로(404)를 예시하는 회로 도면이다. 이러한 예에서, (도 6a의) 각각의 레지스터 유닛(602)은 D 플립-플롭으로서 실현되고, 두 개의 가로행(row)들로 편성(organize)된다. 제 1 가로행의 D 플립-플롭들(652)은 클록 신호(204)에 응답하여 버퍼 체인(608)으로부터 디지털 값들을 수용한다. 배타적 NOR 게이트들(654)의 가로행은 제 1 가로행의 D 플립-플롭들(652)로부터 출력되는 값들을 수신하여 버퍼 체인(608)을 따라 인접하는 디지털 값들이 동일하게 되는 하나 이상의 위치들을 식별하게 된다. OR 게이트들(656)의 가로행은 배타적 NOR 게이트들(654)의 가로행과 제 2 가로행의 D 플립-플롭들(660) 간의 브리지(bridge)를 제공한다.
가능한 스티키 비트(sticky bit)들에 대처(counteract)하기 위해, AND 게이트들(658)의 가로행의 출력들은 OR 게이트들(656)의 가로행의 입력들에 결합된다. AND 게이트들(658)의 가로행은 스티키 신호(sticky signal)(614)에 응답하여 동작한다. OR 게이트들(656)의 가로행의 출력들은 제 2 가로행의 D 플립-플롭들(660)의 입력 단자들에 결합된다. OR 게이트들(656)의 가로행의 OR 게이트들은 배타적 NOR 게이트들(654)의 가로행에 의해 수정된 바와 같은 버퍼 체인(608)을 따라 존재하는 디지털 값들을 전달한다. 이것은 제 2 가로행의 D 플립-플롭들(660)로 하여금 버퍼 체인(608)을 따라 시그널링을 샘플링할 수 있게 하고, 따라서 클록 신호(204)가 전이할 때, 지연된 에지가 버퍼 체인(608)을 따라 어디에 존재하는지를 결정할 수 있게 한다. 복수의 샘플링된 디지털 값들(606-1, 606-2, ..., 606-N)(또한 도 6a의 복수의 샘플링된 디지털 값들)이 제 2 가로행의 D 플립-플롭들(660)의 D 플립-플롭들의 각각의 출력 단자들에서 신호(218)로서 제공된다. 신호(218)의 예시적 디지털 버전들이 도 7을 참조하여 다음에 설명된다.
도 7은 클록 변동들 하에서 전압-변화 검출을 위한 예시적 방식(700)을 도시한다. (예컨대, 도 6a 및 도 6b의) 신호(218)에 대한 샘플링된 디지털 값들의 집합체(collection)(702)가 도 7의 상단에서 예시된다. 집합체(702)의 제 1 가로행은 클록 지터가 없는 경우 하에서 공칭 주파수(nominal frequency)를 갖는 공칭 전압 레벨(nominal voltage level)에 대응한다. 교정을 위한 하나의 접근법으로 인해, 디지털 값 "1"이 신호(218)를 따라 중앙에 위치한다. 집합체(702)의 제 2 가로행 및 제 3 가로행은 신호(218) 내에서 전압-기반 지연 성분을 반영한다. 집합체(702)의 제 2 가로행은 클록 지터가 없는 경우 하에서 낮은 전압 레벨에 대응한다. 더 낮은 전압 레벨로 인해, 신호 전파는 더 느리다. 결과적으로, (도 6a 및 도 6b의) 버퍼 체인(608)을 따르는 디지털 값들이 (또한, 도 6a 및 도 6b의) 복수의 레지스터 유닛들(602-1 ... 602-N)에 의해 샘플링될 때 디지털 값 "1"은 신호(218)를 따라 중앙 위치에 도달하지 못하게 된다. 집합체(702)의 제 3 가로행은 클록 지터가 없는 경우 하에서 높은 전압 레벨에 대응한다. 더 높은 전압 레벨로 인해, 신호 전파는 더 빠르다. 결과적으로, 버퍼 체인(608)을 따르는 디지털 값들이 복수의 레지스터 유닛들(602-1 ... 602-N)에 의해 샘플링될 때 디지털 값 "1"은 신호(218)를 따라 중앙 위치를 넘어 가게 된다.
집합체(702)의 제 4 가로행은 신호(218) 내에서 주파수-기반 지연 특성을 반영한다. 집합체(702)의 제 4 가로행은 더 낮은 주파수를 갖는 클록 지터 하에서의 공칭 전압에 대응한다. 더 낮은 클록 주파수로 인해, 에지는, 클록 신호가 디지털 값들이 샘플링되도록 하기 전에, 버퍼 체인(608)을 따라 전파하는데 더 많은 시간을 갖는다. 결과적으로, 버퍼 체인(608)을 따르는 디지털 값들이 복수의 레지스터 유닛들(602-1 ... 602-N)에 의해 샘플링될 때 디지털 값 "1"은 신호(218)를 따라 중앙 위치를 넘어 가게 된다. 제 3 가로행 및 제 4 가로행이 서로 다른 동작 파라미터들 하에서 신호(218)에 대해 유사한 값들을 생성하기 때문에, 전파하는 에지의 시간적 편차(temporal deviation) 혹은 위치적 편차(positional deviation)의 소스를 식별하는 것은 어렵다.
집합체(702)의 제 5 가로행은 신호(218) 내에서 전압-기반 지연 성분 및 주파수-기반 지연 특성을 모두 반영한다. 집합체(702)의 제 5 가로행은 더 낮은 주파수를 갖는 클록 지터 하에서 높은 전압 레벨에 대응한다. 더 높은 전압과 더 낮은 클록 주파수 간의 상호작용으로 인해, 에지는 적절한 교정 이후에도 많은 가능한 위치들 중 임의의 위치에 있을 수 있다. 예로서 도시되는 바와 같이, 버퍼 체인(608)을 따르는 디지털 값들이 복수의 레지스터 유닛들(602-1 ... 602-N)에 의해 샘플링될 때 디지털 값 "1"은 신호(218)를 따라 근사적으로 중앙에 위치한다. 제 1 가로행 및 제 5 가로행이 서로 다른 동작 파라미터들 하에서 신호(218)에 대해 유사한 값들을 생성하기 때문에, 전파하는 에지의 시간적 편차의 원인을 식별하는 것은 어려우며, 또는 본 경우에서와 같이 편차가 존재하는 경우에도 혹은 존재함에도 그러하다. 도 7에서는 에지가 단일 디지털 값(예컨대, "1")에 의해 표현되지만, 에지는 다른 디지털 값(예컨대, "0")에 의해 표현될 수 있거나, 또는 가능한 준안정성으로 인해 실리콘(silicon) 내에서 복수의 값들에 의해 표현될 수 있다(예컨대, "1101" 또는 "1001"이 긴 버퍼 체인(608) 내에서 에지를 나타낼 수 있음).
전압-기반 지연 성분 및 주파수-기반 지연 특성 양쪽 모두의 잠재적 존재로 인해 발생하는 모호성의 적어도 일부를 해결하기 위해, 상이한 제 1 전압 감도 및 제 2 전압 감도를 갖는 디지털 디바이스들의 제 1 세트 및 제 2 세트를 사용하여 제 1 신호 및 제 2 신호가 각각 생성된다. 제 1 전압-종속 회로(302-1) 및 제 2 전압-종속 회로(302-2)가 도 7의 중간에 도시된다. 제 1 전압-종속 회로(302-1)는 제 1 전압 감도(304-1)를 갖는 일부 디지털 디바이스들을 포함한다. 예를 들어, 하나 이상의 제 1 트랜지스터들(516-1)은 제 1 임계 전압(518-1)을 가질 수 있다. 이러한 제 1 트랜지스터들(516-1)은, (도 5의) 지연 회로(402)의 복수의 지연 유닛들(514)의 지연 유닛들(510) 내에 포함될 수 있거나, 또는 (도 6a 및 도 6b의) 샘플링 회로(404)의 버퍼 체인(608)의 버퍼 유닛들(604) 내에 포함될 수 있거나, 또는 양쪽 모두 내에 포함될 수 있다. 제 2 전압-종속 회로(302-2)는 제 2 전압 감도(304-2)를 갖는 일부 디지털 디바이스들을 포함한다. 예를 들어, 하나 이상의 제 2 트랜지스터들(516-2)은 제 2 임계 전압(518-2)을 가질 수 있다. 이러한 제 2 트랜지스터들(516-2)은, 지연 회로(402)의 복수의 지연 유닛들(514)의 지연 유닛들(510) 내에 포함될 수 있거나, 또는 샘플링 회로(404)의 버퍼 체인(608)의 버퍼 유닛들(604) 내에 포함될 수 있거나, 또는 양쪽 모두 내에 포함될 수 있다. 하지만, 만약 다양한 전압 감도들(304)을 갖는 트랜지스터들(516)이 지연 회로(402)의 복수의 지연 유닛들(514)의 지연 유닛들(510) 내에 존재한다면, 교정은 더 간단하다. 트랜지스터들(516) 각각은 예를 들어, 전계-효과 트랜지스터(Field-Effect Transistor, FET)로서 구현될 수 있는데, 예컨대, 금속-산화물-반도체 FET(Metal-Oxide-Semiconductor FET, MOSFET)로서 구현될 수 있다.
도 7의 하단에 그래프(graph)(704)가 도시된다. 그래프(704)는 두 개의 샘플링 회로들(404)의 두 개의 버퍼 체인들(608)을 논리적으로 나타내고, 수평 축을 따라 좌측으로부터 우측으로 증가하는 지연을 도시한다. 지연 회로(402)의 (예컨대, 도 5의 복수의 지연 유닛들(514)을 포함하는) 지연 라인으로부터의 펄스가 706에서 좌측에서 입력되고 그래프(704)의 우측 방향으로 각각의 샘플링 회로(404)의 버퍼 체인(608)을 따라 진행한다. 수직 축을 따라, 하위 절반은 제 1 전압 감도(304-1)를 갖는 디지털 디바이스들에 대응하고, 상위 절반은 제 2 전압 감도(304-2)를 갖는 디지털 디바이스들에 대응한다. 이러한 예에서, 제 1 전압 감도(304-1)는 상대적으로 더 낮은 전압 레벨에 대응하고, 제 2 전압 감도(304-2)는 상대적으로 더 높은 전압 레벨에 대응한다. 예컨대, 제 1 임계 전압(518-1)은 제 2 임계 전압(518-2)보다 더 낮을 수 있다. 공칭 전압(Vn) 및 공칭 주파수(Fn)를 갖는 기준선(baseline) 또는 중앙점(median point)이 중앙선(median line)(708)에 의해 표시된다.
네 개의 지연들이 네 개의 신호들(218)에 의해 표시되는바, 제 1 신호(218-11), 또 하나의 다른 제 1 신호(218-12), 제 2 신호(218-21), 및 또 하나의 다른 제 2 신호(218-22)에 의해 표시된다. 전압 레벨을 증가시키는 것 대 전압 레벨을 감소시키는 것에 관계된 경향 그리고 제 1 전압 감도(304-1) 대 제 2 전압 감도(304-2)에 관계된 경향이 존재한다. 일반적으로, 전압 레벨에서의 변화들은 결과적으로, 상대적으로 더 낮은 전압 레벨을 갖는 제 1 전압 감도(304-1)와 비교하여, 상대적으로 더 높은 전압 레벨을 갖는 제 2 전압 감도(304-2)와 함께 더 현저한 지연을 일으킨다. 따라서, 제 2 신호들(218-21 및 218-22)이 제 1 신호들(218-11 및 218-12)보다 중앙선(708)으로부터 더 멀리 벗어난다. 또한, 전압 레벨을 낮추는 전압 변화들은 전압 레벨을 증가시키는 전압 변화들보다 더 현저한 지연 변경을 생성한다. 따라서, 최소 전압(Vmin)으로의 전압 변화로 인해 발생하는 제 1 신호(218-11) 및 제 2 신호(218-21)는 최대 전압(Vmax)으로의 전압 변화로 인해 발생하는 제 1 신호(218-12) 및 제 2 신호(218-22)보다 중앙선(708)으로부터 더 멀리 밀려난다.
이러한 경향들은 (도 4의) 분석 로직(410)으로 하여금 전압이 변경되고 있는지를 결정할 수 있게 한다. 추가적으로, 이러한 경향들은 분석 로직(410)으로 하여금 전압 변화를 공칭 전압 레벨에 대해 양(positive)인 것으로서 혹은 음(negative)인 것으로서 식별할 수 있게 한다. 이렇게 하기 위해, 분석 로직(410)은 또한, 두 개의 제 1 신호(218-1)와 제 2 신호(218-2) 간의 차이에 대해 두 개의 델타 임계치(delta threshold)들을 사용하는데, 음의 델타 임계치(nDelta Max) 및 양의 델타 임계치(pDelta Max)를 사용한다. 전압 변화를 결정하기 위해 이러한 신호들 및 임계치들을 사용하는 예시적 분석 프로세스들이 도 8을 참조하여 아래에서 설명된다.
(예컨대, 도 3의) 전압-변화 검출 회로(106)는 제조 동안의 프로세스 변화들을 보상하도록 교정될 수 있는데, 이러한 변화들은 전압 감도(304)의 정도에 상당히 영향을 미칠 수 있다. 교정 절차를 수행하기 위해서, 교정 회로(308)는 공칭 전압에 대해 버퍼 체인(608)을 따라 적절한 중앙점을 확립하기 위해 지연 회로(402)의 설정을 결정한다. 이렇게 하기 위해, 교정 회로(308)는, 버퍼 체인(608)의 복수의 버퍼 유닛들(604-1 내지 604-(N-1))의 버퍼 유닛들(604)의 수량, 공칭 전압 레벨(Vnom), 그리고 최소 전압(Vmin) 및 최대 전압(Vmax)에 대응할 수 있는 (도 2의) 목표 전압 범위(222)를 고려한다. 동작시, 교정 회로(308)는 목표 전압 범위(222) 내에서 지연 회로(402)의 멀티플렉서(502)의 설정을 변경시킴으로써 제공될 수 있는 상이한 프로그래밍가능한 지연량들을 시험(test)한다. 공칭 조건들 하에서 에지가 도달하는 중앙선(708)은, 공칭 전압보다 낮은 전압들이 공칭 전압보다 큰 전압들보다 지연에 더 많이 영향을 미치는 경향을 수용하기 위해 버퍼 체인(608)을 따라 중앙에 위치하지 않을 수 있다.
클록 변동들 하에서의 전압-변화 검출을 위한 방식들, 기법들, 및 하드웨어가 일반적으로 설명되었고, 이러한 논의는 이제 예시적 방법들로 전환된다.
클록 변동들 하에서의 전압-변화 검출을 위한 예시적 방법들(Example Methods for Voltage-Variation Detection Under Clock Fluctuations)
예시적 방법들이 도 8 및 도 9의 흐름도들을 참조하여 아래에서 설명된다. 이러한 방법들의 실시형태들은 예를 들어, 하드웨어(예컨대, 메모리와 연계된 프로세서 또는 고정된 로직 회로), 펌웨어, 또는 이들의 일부 조합으로 구현될 수 있다. 프로세스들은 도 1 내지 도 6b에서 보여지는 장치들 또는 컴포넌트들 중 하나 이상을 사용하여 실현될 수 있으며, 이러한 컴포넌트들은 더 분할될 수 있고, 결합될 수 있고, 기타 등등일 수 있다. 이러한 도면들의 디바이스들 및 컴포넌트들은 일반적으로 펌웨어를 나타내거나, 또는 사용자 혹은 서버 디바이스들, 패키징된 모듈들, IC 칩들, 혹은 회로들과 같은 하드웨어를 나타내거나, 또는 이들의 조합을 나타낸다. 따라서, 이러한 도면들은 설명된 방법들을 구현할 수 있는 많은 가능한 시스템들 또는 장치들 중 일부를 예시한다.
이러한 흐름도들에 대해, 동작들이 보여지는 그리고/또는 설명되는 순서들은 한정의 의미로 해석되도록 의도된 것이 아니다. 설명되는 방법 동작들의 임의의 수 혹은 조합은 주어진 방법 또는 대안적 방법을 구현하기 위해 임의의 순서로 결합될 수 있다. 동작들이 또한 생략될 수 있거나 설명되는 방법들에 추가될 수 있다. 더욱이, 설명되는 동작들은 전체적으로 또는 부분적으로 중첩되는 방식들로 구현될 수 있다. 비록 두 개의 흐름도들이 별개로 설명되지만, 이들의 동작들은 상호연관될 수 있다. 예를 들어, 도 8에서 도시되는 동작들 중 하나 이상은 도 9의 블록(908)에 대한 동작(들)의 일부로서 구현될 수 있다.
도 8은 장치가 클록 변동들 하에서 전압-변화 검출을 구현하기 위한 예시적 방법들을 흐름도(800)로 예시한다. 흐름도(800)의 동작들은 (예컨대, 도 2 내지 도 4의) 전압-변화 검출 회로(106)의 전압 분석 회로(306)의 분석 로직(410)에 의해 수행될 수 있다. 804에서, 분석 로직(410)은 제 1 신호(218-1)가 적어도 하나의 에지 표시(예컨대, 하나의 숫자(digit) 및 다른 숫자들과는 다른 몇 개의 숫자들)를 포함하는지를 결정한다. 만약 그렇지 않다면, 802에서 전압-변화 검출 회로(106)의 분석 로직(410)은 전압 경보 신호(108)를 발행한다. 만약 그렇다면, 806에서 분석 로직(410)은 제 2 신호(218-2)가 적어도 하나의 에지 표시를 포함하는지를 결정한다. 만약 그렇지 않다면, 802에서 분석 로직(410)은 전압 경보 신호(108)를 발행한다. 반면, 제 1 신호(218-1) 및 제 2 신호(218-2) 양쪽 모두가 (804 및 806에서 결정된 바와 같이) 적어도 하나의 에지 표시를 갖는다면, 흐름도(800)는 808에서 계속된다.
808에서, 분석 로직(410)은 제 2 신호(218-2)가 제 1 신호(218-1)보다 더 큰 지연을 갖는지를 결정한다. 만약 그렇다면, 810에서 분석 로직(410)은 제 1 신호(218-1)와 제 2 신호(218-2) 간의 신호 차이가 양의 델타 임계치("양의-델타 max")보다 더 큰지를 결정한다. 여기서, (도 2 및 도 4의) 결합된 신호(220)는 차분 신호(difference signal)로서 실현되거나 또는 디지털 값들의 세트로서 실현되며, (도 2의) 결합 동작(226)은 차분 동작(difference operation)으로서 구현된다. 만약 신호 차이가 양의 델타 임계치보다 더 크다면, 812에서 분석 로직(410)은 양의 전압 글리치가 일어났음을 결정한다. 달리 말하면, 분석 로직(410)은 전압 레벨(216)이 목표 전압 범위(222)의 높은 쪽(high side)을 초과했음을 결정한다. 이에 따라, 802에서 전압-변화 검출 회로(106)의 분석 로직(410)은 전압 경보 신호(108)를 발행한다. 전압 경보 신호(108)는 전압 글리치의 일반적인 표시 또는 양의 전압 글리치의 특정 표시를 제공할 수 있다.
만약 808에서의 결정 또는 810에서의 결정이 부정적이라면(예컨대, 제 2 신호(218-2)가 제 1 신호(218-1)보다 더 많이 지연되지 않는다면, 또는 신호 차이가 양의 델타 임계치를 초과하지 않는다면), 흐름도(800)는 814에서 계속된다. 814에서, 분석 로직(410)은 제 1 신호(218-1)가 제 2 신호(218-2)보다 더 큰 지연을 갖는지를 결정한다. 만약 그렇다면, 816에서 분석 로직(410)은 제 1 신호(218-1)와 제 2 신호(218-2) 간의 신호 차이가 음의 델타 임계치("음의-델타 max")보다 더 큰지를 결정한다. 만약 신호 차이가 음의 델타 임계치보다 더 크다면, 818에서 분석 로직(410)은 음의 전압 글리치가 일어났음을 결정한다. 달리 말하면, 전압 레벨(216)은 목표 전압 범위(222)의 낮은 쪽(low side)을 초과했거나 혹은 그 아래로 떨어졌다. 이에 따라, 802에서 분석 로직(410)은 전압 경보 신호(108)를 발행한다. 전압 경보 신호(108)는 전압 글리치의 일반적인 표시 또는 음의 전압 글리치의 특정 표시를 제공할 수 있다.
전압 경보 신호(108)는 추가적으로 또는 대안적으로, 보간(interpolation) 또는 참조표(lookup table)를 사용하여 계산된 것과 같은 컴퓨팅된 전압 레벨을 보고할 수 있다. 802 이후에, 흐름도(800)는, 만약 보호 회로(206)에 의한 보호 조치가 전압-변화 검출 회로(106)의 동작을 중단시키는 것을 포함하지 않는다면, 804에서 계속될 수 있다. 더욱이, 만약 814에서의 결정 또는 816에서의 결정이 부정적이라면(예컨대, 제 1 신호(218-1)가 제 2 신호(218-2)보다 더 큰 지연을 갖지 않는다면, 또는 신호 차이가 음의 델타 임계치를 초과하지 않는다면), 흐름도(800)는 820에서 표시된 바와 같이 다음 싸이클에 대해 반복되고, 804에서 시작한다.
도 9는 장치가 클록 변동들 하에서 전압-변화 검출을 구현하기 위한 다른 예시적 방법들을 흐름도(900)로 예시한다. 902에서, 클록 신호가 제공된다. 예를 들어, 전압-변화 검출 회로(106)가 클록 신호(204)를 제공할 수 있다. 일부 경우들에서, IC 칩(104)의 클록 발생기(202)가 클록 신호(204)를 발생시킬 수 있고, 그리고 클록 트리가 클록 신호(204)를 전압-변화 검출 회로(106)의 일부인 클록 라인(310)으로 라우팅(route)시킬 수 있다. 보안 목적들을 위해, 적어도 클록 라인(310)을 따라 전파하는 클록 신호(204)는 주파수 변동(214)을 생성하기 위해 의도적으로 "지터링(jittering)"될 수 있다.
904에서, 제 1 전압 감도에 근거하여 클록 신호를 전파시킴에 응답하여 전압 레벨을 표시하는 제 1 신호가 생성된다. 예를 들어, 전압-변화 검출 회로(106)는 제 1 전압 감도(304-1)에 근거하여 클록 신호(204)를 전파시킴에 응답하여 전압 레벨(216)을 표시하는 제 1 신호(218-1)를 생성할 수 있다. 예를 들어, 제 1 전압-종속 회로(302-1)의 지연 회로(402-1)는 복수의 지연 유닛들(514)의 일부 수량의 지연 유닛들(510)을 통해 클록 신호(204)를 전파시킬 수 있다. 지연 유닛들(510) 중 적어도 하나는 제 1 전압 감도(304-1)를 실현하기 위해 제 1 임계 전압(518-1)을 갖는 트랜지스터(516-1)로 구성될 수 있다.
906에서, 제 2 전압 감도에 근거하여 클록 신호를 전파시킴에 응답하여 전압 레벨을 표시하는 제 2 신호가 생성된다. 예를 들어, 전압-변화 검출 회로(106)는 제 2 전압 감도(304-2)에 근거하여 클록 신호(204)를 전파시킴에 응답하여 전압 레벨(216)을 표시하는 제 2 신호(218-2)를 생성할 수 있다. 이렇게 하기 위해, 제 2 전압-종속 회로(302-2)의 지연 회로(402-2)는 복수의 지연 유닛들(514)의 일부 수량의 지연 유닛들(510)을 통해 클록 신호(204)를 전파시킬 수 있다. 지연 유닛들(510) 중 적어도 하나는 제 2 전압 감도(304-2)를 실현하기 위해 제 2 임계 전압(518-2)을 갖는 트랜지스터(516-2)로 구성될 수 있다.
908에서, 제 1 신호 및 제 2 신호에 근거하여 전압 경보 신호가 발생된다. 예를 들어, 전압-변화 검출 회로(106)가 제 1 신호(218-1) 및 제 2 신호(218-2)에 근거하여 전압 경보 신호(108)를 발생시킬 수 있다. 여기서, 전압 분석 회로(306)는, 제 1 신호(218-1) 및 제 2 신호(218-2)를 사용하여 컴퓨팅된 결합된 신호(220)에 근거하여, 그리고 이러한 신호들 및 적어도 하나의 임계치를 포함하는 하나 이상의 비교 동작들에 근거하여, 전압 경보 신호(108)를 발생시킬 수 있다. 예시적 비교 동작들은 앞에서 도 8을 참조하여 808, 810, 814, 및 816에서 설명된다.
일부 구현예들에서, 제 1 신호(218-1)의 생성은, 클록 신호(204)를 (예컨대, 제 1 전압-종속 회로(302-1)의 제 1 지연 회로(402-1)의 프로그래밍가능한 지연량에 의해 확립되는) 제 1 지연량만큼 지연시켜 제 1 지연된 클록 신호(414-1)를 생성하는 것, 그리고 제 1 신호(218-1)를 생성하기 위해 제 1 지연된 클록 신호(414-1)를 복수의 상이한 인스턴스들(예컨대, 제 1 지연된 클록 신호(414-1)의 상이한 버퍼링된 버전들)에서 샘플링하는 것을 포함할 수 있다. 더욱이, 제 2 신호(218-2)의 생성은, 클록 신호(204)를 제 2 지연량만큼 지연시켜 제 2 지연된 클록 신호(414-2)를 생성하는 것, 그리고 제 2 신호(218-2)를 생성하기 위해 제 2 지연된 클록 신호(414-2)를 복수의 상이한 인스턴스들에서 샘플링하는 것을 포함할 수 있다.
예시적 전자 디바이스 (Example Electronic Device)
도 10은 하나 이상의 설명되는 실시형태들에 따라 클록 변동들 하에서 전압-변화 검출을 구현할 수 있는 예시적 전자 디바이스(1000)의 다양한 컴포넌트들을 예시한다. 전자 디바이스(1000)는, 고정된, 모바일, 독립형, 또는 내장된 디바이스 중 어느 하나 또는 이들의 조합으로서 구현될 수 있고, 수요자, 컴퓨터, 휴대가능, 사용자, 서버, 통신, 전화기, 내비게이션, 게이밍, 오디오, 카메라, 메시징, 미디어 재생, 및/또는 다른 타입의 전자 디바이스(100)(예컨대, 도 1에서 장치(102)로서 도시된 스마트폰)의 임의의 형태로 구현될 수 있다.
전자 디바이스(1000)는 앞에서 설명된 바와 같은 수신된 데이터, 전송된 데이터, 또는 다른 정보와 같은 디바이스 데이터(1004)의 유선 및/또는 무선 통신을 가능하게 하는 하나 이상의 통신 송수신기들(1002)을 포함할 수 있다. 예시적 통신 송수신기들(1002)은, NFC 송수신기들, 다양한 IEEE 802.15 (블루투스(BluetoothTM)) 표준들을 따르는 무선 개인 영역 네트워크(Personal Area Network, PAN)(Wireless PAN, WPAN) 무선기기(radio)들, 다양한 IEEE 802.11 (와이-파이(Wi-FiTM)) 표준들 중 임의의 표준을 따르는 무선 로컬 영역 네트워크(Local Area Network, LAN)(Wireless LAN, WLAN) 무선기기들, 셀룰러 전화통신을 위한 무선 와이드 영역 네트워크(Wide Area Network, WAN)(Wireless WAN, WWAN) 무선기기들(예컨대, 3GPP를 따르는 것들), 다양한 IEEE 802.16 (와아맥스(WiMAXTM)) 표준들을 따르는 무선 도심 영역 네트워크(Metropolitan Area Network, MAN)(Wireless MAN, WMAN) 무선기기들, 적외선 데이터 협회(Infrared Data Association, IrDA) 프로토콜(protocol)을 따르는 적외선(Infrared, IR) 송수신기들, 및 유선 로컬 영역 네트워크(LAN) 이더넷 송수신기들을 포함한다.
전자 디바이스(1000)는 또한, 사용자-선택가능 입력들, 메시지들, 애플리케이션들, 음악, 텔레비전 콘텐츠, 녹화된 비디오 콘텐츠, 그리고 임의의 콘텐츠 및/또는 데이터 소스로부터 수신된 임의의 다른 타입의 오디오, 비디오, 및/또는 이미지 데이터와 같은, 임의 타입의 데이터, 미디어 콘텐츠, 및/또는 다른 입력들이 수신될 수 있는 하나 이상의 데이터 입력 포트들(1006)을 포함할 수 있다. 데이터 입력 포트들(1006)은, USB 포트들, 동축 케이블 포트들, 광섬유 상호연결들 또는 케이블링을 위한 광섬유 포트들, 그리고 플래시 메모리, DVD들, CD들, 등을 위한 다른 직렬 혹은 병렬 커넥터들(내부 커넥터들이 포함됨)을 포함할 수 있다. 이러한 데이터 입력 포트들(1006)은 전자 디바이스를 키보드들, 마이크로폰들, 카메라들, 또는 다른 센서들과 같은 컴포넌트들, 주변기기들, 또는 부속기기들에 결합시키는데 사용될 수 있다.
이러한 예의 전자 디바이스(1000)는, 디바이스의 동작을 제어하기 위해 컴퓨터-실행가는 명령들을 프로세싱(예컨대, 실행)하는 (예컨대, SoC의 일부로서 구현되는) 프로세서 및 메모리 결합형 시스템을 포함할 수 있는 적어도 하나의 프로세서(1008)(예컨대, 애플리케이션 프로세서들, 마이크로프로세서들, 디지털-신호 프로세서(Digital-Signal Processor, DSP)들, 제어기들, 등)를 포함한다. 프로세서(1008)는 애플리케이션 프로세서, 내장된 제어기, 마이크로제어기, 보안 프로세서, 등으로서 구현될 수 있다. 일반적으로, 프로세서 또는 프로세싱 시스템은, 집적 회로 또는 온-칩 시스템, 디지털-신호 프로세서(DSP), 애플리케이션-특정 집적 회로(Application-Specific Integrated Circuit, ASIC), 현장-프로그래밍가능 게이트 어레이(Field-Programmable Gate Array, FPGA), 복합 프로그래밍가능 로직 디바이스(Complex Programmable Logic Device, CPLD), 그리고 실리콘 및/또는 다른 물질들에서의 다른 구현예들의 컴포넌트들을 포함할 수 있는 하드웨어로 적어도 부분적으로 구현될 수 있다.
대안적으로 또는 추가적으로, 전자 디바이스(1000)는, 1010에서 (전자 회로(1010)로서) 전반적으로 표시되는 프로세싱 및 제어 회로들과 연결되어 구현되는 소프트웨어, 하드웨어, 펌웨어, 또는 고정된 로직 회로를 포함할 수 있는 전자 회로 중 어느 하나 혹은 임의의 조합과 함께 구현될 수 있다. 이러한 전자 회로(1010)는, 예컨대, 컴퓨터-판독가능 매체들 상에 저장된 프로세싱/컴퓨터-실행가능 명령들을 통해, 그리고 로직 회로 및/또는 하드웨어(예컨대, FPGA와 같은 것)를 통해, 그리고 기타 등등을 통해, (도 10에서는 보여지지 않는) 실행가능 또는 하드웨어-기반 모듈들을 구현할 수 있다.
보여지지는 않지만, 전자 디바이스(1000)는 디바이스 내에서 다양한 컴포넌트들을 결합시키는 시스템 버스, 상호연결, 크로스바(crossbar), 또는 데이터 전송 시스템을 포함할 수 있다. 시스템 버스 또는 상호연결은, 메모리 버스 또는 메모리 제어기, 주변기기 버스, 범용 직렬 버스 및/또는 다양한 버스 아키텍처들 중 임의의 것을 이용하는 프로세서 혹은 로컬 버스와 같은 상이한 버스 구조들 중 어느 하나 또는 이들의 조합을 포함할 수 있다.
전자 디바이스(1000)는 또한 데이터 저장을 가능하게 하는 하나 이상의 메모리 디바이스들(1012)을 포함하는데, 그 예들은, 랜덤 액세스 메모리(Random Access Memory, RAM), 비-휘발성 메모리(예컨대, 판독-전용 메모리(Read-Only Memory, ROM), 플래시 메모리, EPROM, 및 EEPROM), 그리고 디스크 저장 디바이스를 포함한다. 따라서, 메모리 디바이스(들)(1012)는 시스템의 상이한 논리적 저장 레벨들에 걸쳐 분산될 수 있고, 뿐만 아니라 상이한 물리적 컴포넌트들에서 분산될 수 있다. 메모리 디바이스(들)(1012)는 디바이스 데이터(1004), 코드 및/또는 데이터의 다른 타입들, 그리고 다양한 디바이스 애플리케이션들(1020)(예컨대, 소프트웨어 애플리케이션들 또는 프로그램들)을 저장하기 위한 데이터 저장 메커니즘들을 제공한다. 예를 들어, 오퍼레이팅 시스템(operating system)(1014)은 메모리 디바이스(1012) 내에서 소프트웨어 명령들로서 유지될 수 있고, 프로세서(1008)에 의해 실행될 수 있다.
일부 구현예들에서, 전자 디바이스(1000)는 또한, 오디오 데이터를 프로세싱하는 그리고/또는 오디오 및 비디오 데이터를 오디오 시스템(1018) 및/또는 디스플레이 시스템(1022)(예컨대, 비디오 버퍼 또는 스마트폰 혹은 카메라의 스크린)으로 전달하는 오디오 및/또는 비디오 프로세싱 시스템(1016)을 포함한다. 오디오 시스템(1018) 및/또는 디스플레이 시스템(1022)은 오디오, 비디오, 디스플레이, 및/또는 이미지 데이터를 프로세싱하고, 디스플레이하고, 그리고/또는 그렇지 않으면 렌더링(rendering)하는 임의의 디바이스들을 포함할 수 있다. 디스플레이 데이터 및 오디오 신호들은, RF(무선 주파수(Radio Frequency)) 링크(link), S-비디오 링크, HDMI(High-Definition Multimedia Interface; 고-선명 멀티미디어 인터페이스), 복합 비디오 링크, 컴포넌트 비디오 링크, DVI(Digital Video Interface; 디지털 비디오 인터페이스), 아날로그 오디오 연결, 또는 다른 유사한 통신 링크, 예컨대, 미디어 데이터 포트(1024)를 통해 오디오 컴포넌트 및/또는 디스플레이 컴포넌트로 전달될 수 있다. 일부 구현예들에서, 오디오 시스템(1018) 및/또는 디스플레이 시스템(1022)은 전자 디바이스(1000)의 외부 혹은 별개의 컴포넌트들이다. 대안적으로, 디스플레이 시스템(1022)은 통합된 터치 인터페이스의 일부와 같은 예시적 전자 디바이스(1000)의 통합된 컴포넌트일 수 있다.
도 10의 전자 디바이스(1000)는 도 1의 장치(102)의 예시적 구현예이다. 따라서, 프로세서(1008)는 (예컨대, 도 1 및 도 2의) IC(104)의 예이다. 프로세서(1008)는 전압-변화 검출 회로(106)의 인스턴스 및 보호 회로(206)의 인스턴스를 포함하는 것으로서 예시된다. 앞에서 설명되는 바와 같이, 이러한 회로 컴포넌트들 중 하나 이상은 프로세서(1008)의 일부와 같은 동일한 IC 칩의 일부일 수 있거나, 또는 대신 별개의 다이들 상에 위치할 수 있다. 예를 들어, 전압-변화 검출 회로(106)는 별개의 보안-지향 칩 상에 위치할 수 있고, 반면 보호 회로(206)는 별개의 CPU 칩 상에 위치한다. 대안적으로, 전압-변화 검출 회로(106)는 칩의 일 부분 상에 위치할 수 있고, 반면 보호 회로(206)는 동일한 칩의 상이한 부분 혹은 코어 상에 위치한다. 비록 명시적으로 예시되지는 않지만, 메모리 디바이스(1012)는 전압-변화 검출 회로(106) 또는 보호 회로(206)의 인스턴스를 포함할 수 있다. 따라서, 본 명세서에서 설명되는 바와 같은 클록 변동들 하에서의 전압-변화 검출의 원리들은 도 10의 전자 디바이스(1000)에 의해 구현될 수 있거나, 또는 도 10의 전자 디바이스(1000)와 연계되어 구현될 수 있다.
추가적인 사례들(Additional Examples)
다음에서, 일부 사례들이 설명된다.
사례 1: 장치는, 클록 신호(clock signal)를 전파시키도록 구성된 클록 라인(clock line)과; 클록 라인에 결합되는 제 1 전압-종속 회로(voltage-dependent circuit)와, 여기서 제 1 전압-종속 회로는 제 1 전압 감도(voltage sensitivity)에 근거하여 그리고 클록 신호에 응답하여 전압 레벨(voltage level)을 표시하는 제 1 신호를 생성하도록 구성되며; 클록 라인에 결합되는 제 2 전압-종속 회로와, 여기서 제 2 전압-종속 회로는 제 2 전압 감도에 근거하여 그리고 클록 신호에 응답하여 전압 레벨을 표시하는 제 2 신호를 생성하도록 구성되며; 그리고 제 1 전압-종속 회로 및 제 2 전압-종속 회로에 결합되는 전압 분석 회로(voltage analysis circuit)를 포함하고, 전압 분석 회로는 제 1 신호 및 제 2 신호에 근거하여 전압 경보 신호(voltage alert signal)를 발생시키도록 구성된다.
사례 2: 사례 1의 장치에서, 전압 분석 회로는 제 1 신호와 제 2 신호를 결합시켜 결합된 신호를 생성하도록 구성된 신호 결합기 회로(signal combiner circuit)를 포함하고; 그리고 전압 분석 회로는 결합된 신호에 근거하여 전압 경보 신호를 발생시키도록 구성된다.
사례 3: 사례 2의 장치에서, 전압 분석 회로는, 제 1 신호와 제 2 신호를 비교하여 제 1 신호와 제 2 신호 간의 상대적인 지연 크기(delay size)를 표시하는 비교 신호(comparison signal)를 생성하도록 구성된 신호 비교 회로(signal comparison circuit)를 포함하고; 그리고 전압 분석 회로는 비교 신호, 결합된 신호, 및 적어도 하나의 전압 임계치(voltage threshold)에 근거하여 전압 경보 신호를 발생시키도록 구성된다.
사례 4: 사례 1 내지 사례 3 중 어느 하나의 사례의 장치에서, 클록 신호는 제 1 전압-종속 회로 및 제 2 전압-종속 회로의 동작 동안 주파수 변동(frequency fluctuation)을 겪도록 구성되고; 그리고 전압 경보 신호는 전압 레벨이 목표 전압 범위(target voltage range) 밖에 있음을 표시한다.
사례 5: 사례 4의 장치는 또한, 전압 분석 회로에 결합되어 전압 경보 신호를 수용하도록 구성된 보호 회로(protection circuitry)를 포함하고, 보호 회로는 전압 레벨이 목표 전압 범위 밖에 있음에 응답하여 장치를 보호하기 위한 적어도 하나의 조치(action)를 취하도록 구성되고, 여기서 장치는 적어도 하나의 집적 회로(integrated circuit)를 포함하는 전자 디바이스(electronic device)를 포함하고, 적어도 하나의 집적 회로는 제 1 전압-종속 회로, 제 2 전압-종속 회로, 및 전압 분석 회로를 포함한다.
사례 6: 사례 1 내지 사례 5 중 어느 하나의 사례의 장치에서, 제 1 전압 감도는 제 1 전압-종속 회로 내에서 클록 신호의 제 1 전파 속도에 대응하고, 여기서 제 1 전파 속도는 전압 레벨에 대한 응답이며; 제 2 전압 감도는 제 2 전압-종속 회로 내에서 클록 신호의 제 2 전파 속도에 대응하고, 여기서 제 2 전파 속도는 전압 레벨에 대한 응답이며; 그리고 제 1 전파 속도는 제 2 전파 속도와는 다르다.
사례 7: 사례 1 내지 사례 6 중 어느 하나의 사례의 장치에서, 제 1 전압-종속 회로는, 클록 라인에 결합되어 클록 신호를 지연시켜 지연된 클록 신호를 생성하도록 구성된 지연 회로와; 그리고 지연 회로와 전압 분석 회로 사이에 결합되는 샘플링 회로(sample circuit)를 포함하고, 여기서 샘플링 회로는 지연된 클록 신호를 샘플링하여 제 1 신호를 생성하도록 구성된다.
사례 8: 사례 7의 장치에서, 샘플링 회로는 직렬로 함께 결합되는 복수의 버퍼 유닛(buffer unit)들 및 복수의 레지스터 유닛(register unit)들을 포함하고, 복수의 버퍼 유닛들은 지연 회로에 결합되어 지연된 클록 신호를 수용하도록 구성된 초기 버퍼 유닛을 포함하고, 복수의 버퍼 유닛들은 지연된 클록 신호의 복수의 버퍼링된 버전(buffered version)들을 공동으로(jointly) 생성하도록 구성되고, 복수의 레지스터 유닛들 중 각각의 레지스터 유닛은 복수의 버퍼 유닛들 중 각각의 버퍼 유닛에 결합되고, 복수의 레지스터 유닛들은 지연된 클록 신호의 복수의 버퍼링된 버전들을 공동으로 래치(latch)시켜 제 1 신호를 생성하도록 구성된다.
사례 9: 사례 7 또는 사례 8의 장치에서, 지연 회로는 프로그래밍가능한 지연량(programmable delay amount)을 제공하여 클록 신호를 지연시키고 지연된 클록 신호를 생성하도록 구성되며, 지연 회로는, 함께 직렬로 결합되는 복수의 지연 유닛(delay unit)들과, 그리고 적어도 하나의 제어 입력을 포함하는 적어도 하나의 멀티플렉서(multiplexer)를 포함한다.
사례 10: 사례 9의 장치는 또한, 적어도 하나의 멀티플렉서의 적어도 하나의 제어 입력을 사용하여 프로그래밍가능한 지연량을 확립하도록 구성된 교정 회로(calibration circuit)를 포함한다.
사례 11: 사례 10의 장치에서, 교정 회로는 샘플링 회로의 복수의 버퍼 유닛들의 버퍼 유닛들의 수량(quantity), 공칭 전압 레벨(nominal voltage level), 최소 전압, 및 최대 전압에 근거하여, 프로그래밍가능한 지연량을 확립하도록 구성된다.
사례 12: 사례 7 내지 사례 11 중 어느 하나의 사례의 장치에서, 제 2 전압-종속 회로는, 클록 라인에 결합되어 클록 신호를 지연시켜 지연된 클록 신호를 생성하도록 구성된 지연 회로와, 그리고 제 2 전압-종속 회로의 지연 회로와 전압 분석 회로 사이에 결합되는 샘플링 회로를 포함하고, 여기서 제 2 전압-종속 회로의 샘플링 회로는 제 2 전압-종속 회로의 지연 회로로부터의 지연된 클록 신호를 샘플링하여 제 2 신호를 생성하도록 구성되며, 제 1 전압-종속 회로의 지연 회로는 제 1 임계 전압을 갖는 제 1 트랜지스터를 포함하고, 제 2 전압-종속 회로의 지연 회로는 제 2 임계 전압을 갖는 제 2 트랜지스터를 포함하고, 제 1 임계 전압은 제 2 임계 전압보다 더 낮다.
사례 13: 사례 1 내지 사례 11 중 어느 하나의 사례의 장치에서, 클록 라인은 하나 이상의 주파수 변동들을 갖는 클록 신호를 전파시키도록 구성되고, 제 1 전압-종속 회로는 제 1 임계 전압을 갖는 적어도 하나의 제 1 트랜지스터를 사용하여 클록 신호를 전파시켜 전압 레벨을 표시하는 제 1 신호를 생성하도록 구성되고, 제 2 전압-종속 회로는 제 2 임계 전압을 갖는 적어도 하나의 제 2 트랜지스터를 사용하여 클록 신호를 전파시켜 전압 레벨을 표시하는 제 2 신호를 생성하도록 구성되고, 그리고 전압 분석 회로는 제 1 신호와 제 2 신호의 조합에 근거하여 클록 신호의 하나 이상의 주파수 변동들을 중화(neutralizing)시킴으로써 전압-기반 공격(voltage-based attack)을 검출하여 전압 경보 신호를 발생시키도록 구성된다.
사례 14: 사례 13의 장치에서, 장치는 집적 회로를 포함하고, 여기서 집적 회로는, 비밀 키(secret key)를 저장하도록 구성된 메모리(memory)와, 그리고 전압 분석 회로에 결합되어 전압-기반 공격의 검출에 응답하여 비밀 키를 보호하도록 구성된 보호 회로를 포함한다.
사례 15: 사례 1 내지 사례 14 중 어느 하나의 사례의 장치에서, 클록 라인은 하나 이상의 주파수 변동들을 갖는 클록 신호를 전파시키도록 구성되고, 제 1 전압-종속 회로는 클록 신호의 하나 이상의 주파수 변동들로 인해 발생한 적어도 하나의 특성(characteristic)을 갖는 제 1 신호를 생성하도록 구성되고, 제 2 전압-종속 회로는 클록 신호의 하나 이상의 주파수 변동들로 인해 발생한 적어도 하나의 특성을 갖는 제 2 신호를 생성하도록 구성되고, 전압 분석 회로는, 제 1 신호와 제 2 신호를 결합시켜 결합된 신호를 생성하여 클록 신호의 하나 이상의 주파수 변동들로 인해 발생한 아울러 제 1 신호 및 제 2 신호 내에 존재하는 적어도 하나의 특성을 실질적으로 소멸(cancel)시키도록 구성되고, 전압 분석 회로는 결합된 신호에 근거하여 전압 경보 신호를 발생시키도록 구성된다.
사례 16: 클록 변동들 하에서의 전압-변화 검출을 위한 장치에 의한 방법, 방법은, 클록 신호를 제공하는 것과; 제 1 전압 감도에 근거하여 클록 신호를 전파시키는 것에 응답하여 전압 레벨을 표시하는 제 1 신호를 생성하는 것과; 제 2 전압 감도에 근거하여 클록 신호를 전파시키는 것에 응답하여 전압 레벨을 표시하는 제 2 신호를 생성하는 것과; 그리고 제 1 신호 및 제 2 신호에 근거하여 전압 경보 신호를 발생시키는 것을 포함한다.
사례 17: 사례 16의 방법에 있어서, 제공하는 것은 하나 이상의 주파수 변동들을 갖는 클록 신호를 제공하는 것을 포함하고; 제 1 신호를 생성하는 것은 클록 신호의 하나 이상의 주파수 변동들로 인해 발생한 적어도 하나의 특성을 갖는 제 1 신호를 생성하는 것을 포함하고; 제 2 신호를 생성하는 것은 클록 신호의 하나 이상의 주파수 변동들로 인해 발생한 적어도 하나의 특성을 갖는 제 2 신호를 생성하는 것을 포함하고; 그리고 발생시키는 것은 제 1 신호 및 제 2 신호 내에 존재하는 하나 이상의 주파수 변동들로 인해 발생한 적어도 하나의 특성을 실질적으로 소멸시키기 위해 제 1 신호와 제 2 신호를 결합시키는 것을 포함한다.
사례 18: 사례 16 또는 사례 17의 방법에 있어서, 제 1 신호를 생성하는 것은 제 1 전압 감도에 근거하여 제 1 전파 속도에서 클록 신호를 전파시키는 것을 포함하고; 그리고 제 2 신호를 생성하는 것은 제 2 전압 감도에 근거하여 제 2 전파 속도에서 클록 신호를 전파시키는 것을 포함한다.
사례 19: 사례 16 내지 사례 18 중 어느 하나의 사례의 방법에 있어서, 제 1 신호를 생성하는 것은, 클록 신호를 제 1 지연량만큼 지연시켜 제 1 지연된 클록 신호를 생성하는 것과, 그리고 제 1 신호를 생성하기 위해 제 1 지연된 클록 신호를 복수의 상이한 인스턴스들에서 샘플링하는 것을 포함하고; 그리고 제 2 신호를 생성하는 것은, 클록 신호를 제 2 지연량만큼 지연시켜 제 2 지연된 클록 신호를 생성하는 것과, 그리고 제 2 신호를 생성하기 위해 제 2 지연된 클록 신호를 복수의 상이한 인스턴스들에서 샘플링하는 것을 포함한다.
사례 20: 사례 16 내지 사례 19 중 어느 하나의 사례의 방법에 있어서, 발생시키는 것은 제 1 신호 및 제 2 신호를 사용하여 전압 레벨이 목표 전압 범위 밖에 있음에 응답하여 전압 경보 신호를 발생시키는 것을 포함한다.
사례 21: 사례 16 내지 사례 20 중 어느 하나의 사례의 방법에 있어서, 발생시키는 것은, 제 2 신호와 제 1 신호 간의 차이가 양의 델타 임계치보다 더 크다는 것에 근거하여 그리고 제 2 신호가 제 1 신호보다 더 크다는 것에 응답하여 양의 전압 글리치를 표시하도록 전압 경보 신호를 발생시키는 것을 포함한다.
사례 22: 사례 16 내지 사례 21 중 어느 하나의 사례의 방법에 있어서, 발생시키는 것은, 제 1 신호와 제 2 신호 간의 차이가 음의 델타 임계치보다 더 크다는 것에 근거하여 그리고 제 1 신호가 제 2 신호보다 더 크다는 것에 응답하여 음의 전압 글리치를 표시하도록 전압 경보 신호를 발생시키는 것을 포함한다.
사례 23: 집적 회로가, 하나 이상의 주파수 변동들을 갖는 클록 신호를 전파시키도록 구성된 클록 라인과; 클록 라인에 결합되는 제 1 전압-종속 회로와, 여기서 제 1 전압-종속 회로는 전압 레벨을 표시하는 제 1 신호를 생성하기 위해 제 1 임계 전압을 갖는 적어도 하나의 제 1 트랜지스터를 사용하여 클록 신호를 전파시키도록 구성되며; 클록 라인에 결합되는 제 2 전압-종속 회로와, 여기서 제 2 전압-종속 회로는 전압 레벨을 표시하는 제 2 신호를 생성하기 위해 제 2 임계 전압을 갖는 적어도 하나의 제 2 트랜지스터를 사용하여 클록 신호를 전파시키도록 구성되며; 그리고 제 1 전압-종속 회로 및 제 2 전압-종속 회로에 결합되는 전압 분석 회로를 포함하고, 여기서 전압 분석 회로는 제 1 신호와 제 2 신호의 조합에 근거하여 클록 신호의 하나 이상의 주파수 변동들을 중화시킴으로써 전압-기반 공격을 검출하도록 구성된다.
사례 24: 사례 23의 집적 회로는 또한, 비밀 키를 저장하도록 구성된 메모리와; 그리고 전압 분석 회로에 결합되어 전압-기반 공격의 검출에 응답하여 비밀 키를 보호하도록 구성된 보호 회로를 포함한다.
사례 25: 사례 1 내지 사례 15 중 어느 하나의 사례의 장치에 있어서, 제 1 전압-종속 회로는 제 1 지연 회로를 포함하고, 제 1 지연 회로는 제 1 임계 전압을 갖는 적어도 하나의 제 1 트랜지스터를 포함하는 적어도 하나의 제 1 지연 유닛을 포함하고, 제 1 지연 회로는 클록 라인에 결합되어 적어도 하나의 제 1 트랜지스터를 사용하여 클록 신호를 지연시키도록 구성되고; 제 2 전압-종속 회로는 제 2 지연 회로를 포함하고, 제 2 지연 회로는 제 2 임계 전압을 갖는 적어도 하나의 제 2 트랜지스터를 포함하는 적어도 하나의 제 2 지연 유닛을 포함하고, 제 2 지연 회로는 클록 라인에 결합되어 적어도 하나의 제 2 트랜지스터를 사용하여 클록 신호를 지연시키도록 구성되고; 그리고 제 1 임계 전압은 제 2 임계 전압과는 다르다.
사례 26: 사례 25의 장치에 있어서, 제 1 전압-종속 회로는 적어도 하나의 제 1 트랜지스터의 제 1 임계 전압에 근거하여 제 1 신호를 생성하도록 구성되고; 제 2 전압-종속 회로는 적어도 하나의 제 2 트랜지스터의 제 2 임계 전압에 근거하여 제 2 신호를 생성하도록 구성되고; 그리고 전압 분석 회로는 제 1 신호와 제 2 신호의 조합에 근거하여 전압 경보 신호를 발생시키도록 구성된다.
문맥이 다르게 지시하지 않는다면, 단어 "또는"의 본 명세서에서의 사용은 "포함적 또는(inclusive or)"의 사용인 것으로 고려될 수 있거나, 또는 단어 "또는"에 의해 연결되는 하나 이상의 항목들의 포함 혹은 적용을 허용하는 용어인 것으로 고려될 수 있다(예를 들어, 어구 "A 또는 B"는 단지 "A"만을 허용하는 것으로서, 또는 단지 "B"만을 허용하는 것으로서, 또는 "A"와 "B" 양쪽 모두를 허용하는 것으로서 해석될 수 있음). 또한, 본 명세서에서 사용되는 바와 같이, 항목들의 목록 중 "적어도 하나"로 지칭되는 어구는 이러한 항목들의 임의의 조합을 지칭하며, 여기에는 단일 멤버(member)들이 포함된다. 예컨대, "a, b, 또는 c 중 적어도 하나"는 a, b, c, a-b, a-c, b-c, 및 a-b-c를 포괄할 수 있고, 뿐만 아니라 동일한 요소의 배수들을 갖는 임의의 조합을 포괄할 수 있다(예컨대, a-a, a-a-a, a-a-b, a-a-c, a-b-b, a-c-c, b-b, b-b-b, b-b-c, c-c, 및 c-c-c, 또는 a, b, 및 c의 임의의 다른 순서). 더욱이, 수반되는 도면들에서 나타나는 항목들 및 본 명세서에서 논의되는 용어들은 하나 이상의 항목들 또는 용어들을 표시할 수 있고, 따라서 이러한 쓰여진 설명에서 항목들 및 용어들의 단일 혹은 복수 형태들이 상호교환가능하게 참조될 수 있다. 비록 클록 변동들 하에서 전압-변화 검출을 위한 구현예들이 특정 특징들 및/또는 방법들에 특정된 언어로 설명되었지만, 첨부되는 청구항들의 주제가 이러한 설명되는 특정 특징들 또는 방법들에 반드시 한정되는 것은 아니다. 오히려, 이러한 특정 특징들 및 방법들은 클록 변동들 하에서 전압-변화 검출을 위한 예시적 구현예들로서 개시된다.

Claims (15)

  1. 장치로서, 상기 장치는,
    클록 신호(clock signal)를 전파시키도록 되어 있는 클록 라인(clock line)과;
    상기 클록 라인에 결합되는 제 1 전압-종속 회로(voltage-dependent circuit)와, 여기서 상기 제 1 전압-종속 회로는 제 1 전압 감도(voltage sensitivity)에 근거하여 그리고 상기 클록 신호에 응답하여 전압 레벨(voltage level)을 표시하는 제 1 신호를 생성하도록 되어 있으며;
    상기 클록 라인에 결합되는 제 2 전압-종속 회로와, 여기서 상기 제 2 전압-종속 회로는 제 2 전압 감도에 근거하여 그리고 상기 클록 신호에 응답하여 상기 전압 레벨을 표시하는 제 2 신호를 생성하도록 되어 있으며; 그리고
    상기 제 1 전압-종속 회로 및 상기 제 2 전압-종속 회로에 결합되는 전압 분석 회로(voltage analysis circuit)를 포함하고,
    상기 전압 분석 회로는 상기 제 1 신호 및 상기 제 2 신호에 근거하여 전압 경보 신호(voltage alert signal)를 발생시키도록 되어 있는 것을 특징으로 하는 장치.
  2. 제1항에 있어서,
    상기 전압 분석 회로는 상기 제 1 신호와 상기 제 2 신호를 결합시켜 결합된 신호를 생성하도록 되어 있는 신호 결합기 회로(signal combiner circuit)를 포함하고,
    상기 전압 분석 회로는 상기 결합된 신호에 근거하여 상기 전압 경보 신호를 발생시키도록 되어 있는 것을 특징으로 하는 장치.
  3. 제2항에 있어서,
    상기 전압 분석 회로는, 상기 제 1 신호와 상기 제 2 신호를 비교하여 상기 제 1 신호와 상기 제 2 신호 간의 상대적인 지연 크기(delay size)를 표시하는 비교 신호(comparison signal)를 생성하도록 되어 있는 신호 비교 회로(signal comparison circuit)를 포함하고,
    상기 전압 분석 회로는 상기 비교 신호, 상기 결합된 신호, 및 적어도 하나의 전압 임계치(voltage threshold)에 근거하여 상기 전압 경보 신호를 발생시키도록 되어 있는 것을 특징으로 하는 장치.
  4. 제1항 내지 제3항 중 어느 하나의 항에 있어서,
    상기 클록 신호는 상기 제 1 전압-종속 회로 및 상기 제 2 전압-종속 회로의 동작 동안 주파수 변동(frequency fluctuation)을 겪도록 되어 있고,
    상기 전압 경보 신호는 상기 전압 레벨이 목표 전압 범위(target voltage range) 밖에 있음을 표시하는 것을 특징으로 하는 장치.
  5. 제4항에 있어서,
    상기 장치는 또한, 상기 전압 분석 회로에 결합되어 상기 전압 경보 신호를 수용하도록 되어 있는 보호 회로(protection circuitry)를 포함하고,
    상기 보호 회로는 상기 전압 레벨이 상기 목표 전압 범위 밖에 있음에 응답하여 상기 장치를 보호하기 위한 적어도 하나의 조치(action)를 취하도록 되어 있고,
    상기 장치는 적어도 하나의 집적 회로(integrated circuit)를 포함하는 전자 디바이스(electronic device)를 포함하고,
    상기 적어도 하나의 집적 회로는 상기 제 1 전압-종속 회로, 상기 제 2 전압-종속 회로, 및 상기 전압 분석 회로를 포함하는 것을 특징으로 하는 장치.
  6. 제1항 내지 제5항 중 어느 하나의 항에 있어서,
    상기 제 1 전압 감도는 상기 제 1 전압-종속 회로 내에서 상기 클록 신호의 제 1 전파 속도에 대응하고, 상기 제 1 전파 속도는 상기 전압 레벨에 대한 응답이며,
    상기 제 2 전압 감도는 상기 제 2 전압-종속 회로 내에서 상기 클록 신호의 제 2 전파 속도에 대응하고, 상기 제 2 전파 속도는 상기 전압 레벨에 대한 응답이며,
    상기 제 1 전파 속도는 상기 제 2 전파 속도와는 다른 것을 특징으로 하는 장치.
  7. 제1항 내지 제6항 중 어느 하나의 항에 있어서,
    상기 제 1 전압-종속 회로는,
    상기 클록 라인에 결합되어 상기 클록 신호를 지연시켜 지연된 클록 신호를 생성하도록 되어 있는 지연 회로와, 그리고
    상기 지연 회로와 상기 전압 분석 회로 사이에 결합되는 샘플링 회로(sample circuit)를 포함하고,
    상기 샘플링 회로는 상기 지연된 클록 신호를 샘플링하여 상기 제 1 신호를 생성하도록 되어 있는 것을 특징으로 하는 장치.
  8. 제7항에 있어서,
    상기 샘플링 회로는 직렬로 함께 결합되는 복수의 버퍼 유닛(buffer unit)들 및 복수의 레지스터 유닛(register unit)들을 포함하고,
    상기 복수의 버퍼 유닛들은 상기 지연 회로에 결합되어 상기 지연된 클록 신호를 수용하도록 되어 있는 초기 버퍼 유닛을 포함하고,
    상기 복수의 버퍼 유닛들은 상기 지연된 클록 신호의 복수의 버퍼링된 버전(buffered version)들을 공동으로(jointly) 생성하도록 되어 있고,
    상기 복수의 레지스터 유닛들 중 각각의 레지스터 유닛은 상기 복수의 버퍼 유닛들 중 각각의 버퍼 유닛에 결합되고,
    상기 복수의 레지스터 유닛들은 상기 지연된 클록 신호의 상기 복수의 버퍼링된 버전들을 공동으로 래치(latch)시켜 상기 제 1 신호를 생성하도록 되어 있는 것을 특징으로 하는 장치.
  9. 제7항에 있어서,
    상기 지연 회로는 프로그래밍가능한 지연량(programmable delay amount)을 제공하여 상기 클록 신호를 지연시키고 상기 지연된 클록 신호를 생성하도록 되어 있으며,
    상기 지연 회로는,
    함께 직렬로 결합되는 복수의 지연 유닛(delay unit)들과, 그리고
    적어도 하나의 제어 입력을 포함하는 적어도 하나의 멀티플렉서(multiplexer)를 포함하는 것을 특징으로 하는 장치.
  10. 제9항에 있어서,
    상기 장치는 또한,
    상기 적어도 하나의 멀티플렉서의 상기 적어도 하나의 제어 입력을 사용하여 상기 프로그래밍가능한 지연량을 확립하도록 되어 있는 교정 회로(calibration circuit)를 포함하는 것을 특징으로 하는 장치.
  11. 제10항에 있어서,
    상기 교정 회로는 상기 샘플링 회로의 복수의 버퍼 유닛들의 버퍼 유닛들의 수량(quantity), 공칭 전압 레벨(nominal voltage level), 최소 전압, 및 최대 전압에 근거하여 상기 프로그래밍가능한 지연량을 확립하도록 되어 있는 것을 특징으로 하는 장치.
  12. 제7항 내지 제11항 중 어느 하나의 항에 있어서,
    상기 제 2 전압-종속 회로는,
    상기 클록 라인에 결합되어 상기 클록 신호를 지연시켜 지연된 클록 신호를 생성하도록 되어 있는 지연 회로와, 그리고
    상기 제 2 전압-종속 회로의 상기 지연 회로와 상기 전압 분석 회로 사이에 결합되는 샘플링 회로를 포함하고,
    상기 제 2 전압-종속 회로의 상기 샘플링 회로는 상기 제 2 전압-종속 회로의 상기 지연 회로로부터의 상기 지연된 클록 신호를 샘플링하여 상기 제 2 신호를 생성하도록 되어 있으며,
    상기 제 1 전압-종속 회로의 상기 지연 회로는 제 1 임계 전압을 갖는 제 1 트랜지스터를 포함하고,
    상기 제 2 전압-종속 회로의 상기 지연 회로는 제 2 임계 전압을 갖는 제 2 트랜지스터를 포함하고,
    상기 제 1 임계 전압은 상기 제 2 임계 전압보다 낮은 것을 특징으로 하는 장치.
  13. 제1항 내지 제11항 중 어느 하나의 항에 있어서,
    상기 클록 라인은 하나 이상의 주파수 변동들을 갖는 상기 클록 신호를 전파시키도록 되어 있고,
    상기 제 1 전압-종속 회로는 제 1 임계 전압을 갖는 적어도 하나의 제 1 트랜지스터를 사용하여 상기 클록 신호를 전파시켜 상기 전압 레벨을 표시하는 상기 제 1 신호를 생성하도록 되어 있고,
    상기 제 2 전압-종속 회로는 제 2 임계 전압을 갖는 적어도 하나의 제 2 트랜지스터를 사용하여 상기 클록 신호를 전파시켜 상기 전압 레벨을 표시하는 상기 제 2 신호를 생성하도록 되어 있고,
    상기 전압 분석 회로는 상기 제 1 신호와 상기 제 2 신호의 조합에 근거하여 상기 클록 신호의 상기 하나 이상의 주파수 변동들을 중화(neutralizing)시킴으로써 전압-기반 공격(voltage-based attack)을 검출하여 상기 전압 경보 신호를 발생시키도록 되어 있는 것을 특징으로 하는 장치.
  14. 제13항에 있어서,
    상기 장치는 집적 회로를 포함하고,
    상기 집적 회로는,
    비밀 키(secret key)를 저장하도록 되어 있는 메모리(memory)와, 그리고
    상기 전압 분석 회로에 결합되어 상기 전압-기반 공격의 검출에 응답하여 상기 비밀 키를 보호하도록 되어 있는 보호 회로를 포함하는 것을 특징으로 하는 장치.
  15. 제1항에 있어서,
    상기 클록 라인은 하나 이상의 주파수 변동들을 갖는 상기 클록 신호를 전파시키도록 되어 있고,
    상기 제 1 전압-종속 회로는 상기 클록 신호의 상기 하나 이상의 주파수 변동들로 인해 발생한 적어도 하나의 특성(characteristic)을 갖는 상기 제 1 신호를 생성하도록 되어 있고,
    상기 제 2 전압-종속 회로는 상기 클록 신호의 상기 하나 이상의 주파수 변동들로 인해 발생한 상기 적어도 하나의 특성을 갖는 상기 제 2 신호를 생성하도록 되어 있고,
    상기 전압 분석 회로는, 상기 제 1 신호와 상기 제 2 신호를 결합시켜 결합된 신호를 생성하여 상기 클록 신호의 상기 하나 이상의 주파수 변동들로 인해 발생한 아울러 상기 제 1 신호 및 상기 제 2 신호 내에 존재하는 상기 적어도 하나의 특성을 실질적으로 소멸(cancel)시키도록 되어 있고,
    상기 전압 분석 회로는 상기 결합된 신호에 근거하여 상기 전압 경보 신호를 발생시키도록 되어 있는 것을 특징으로 하는 장치.
KR1020227012862A 2019-11-19 2019-11-19 클록 변동들 하에서의 전압-변화 검출 KR102492252B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/062282 WO2021101528A1 (en) 2019-11-19 2019-11-19 Voltage-variation detection under clock fluctuations

Publications (2)

Publication Number Publication Date
KR20220053055A true KR20220053055A (ko) 2022-04-28
KR102492252B1 KR102492252B1 (ko) 2023-01-26

Family

ID=68916570

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227012862A KR102492252B1 (ko) 2019-11-19 2019-11-19 클록 변동들 하에서의 전압-변화 검출

Country Status (7)

Country Link
US (2) US11486911B2 (ko)
EP (1) EP3850523B1 (ko)
JP (1) JP7369867B2 (ko)
KR (1) KR102492252B1 (ko)
CN (1) CN114586034A (ko)
TW (1) TWI755038B (ko)
WO (1) WO2021101528A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114586034A (zh) * 2019-11-19 2022-06-03 谷歌有限责任公司 时钟波动下的电压变化检测
US11880454B2 (en) * 2020-05-14 2024-01-23 Qualcomm Incorporated On-die voltage-frequency security monitor
US11799627B2 (en) * 2020-11-19 2023-10-24 Nuvoton Technology Corporation Protection against side-channel attacks by balancing cell drive polarity
US11336273B1 (en) 2021-09-02 2022-05-17 Mellanox Technologies, Ltd. Protection against attacks on integrated circuits using voltage monitoring

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070013414A1 (en) * 2005-06-30 2007-01-18 Fabrice Paillet 0th droop detector architecture and implementation

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6583653B1 (en) * 2000-03-31 2003-06-24 Intel Corporation Method and apparatus for generating a clock signal
US7355435B2 (en) * 2005-02-10 2008-04-08 International Business Machines Corporation On-chip detection of power supply vulnerabilities
CA2697920C (en) 2007-08-27 2018-01-02 Telefonaktiebolaget L M Ericsson (Publ) Transient detector and method for supporting encoding of an audio signal
JP4428433B2 (ja) * 2007-09-25 2010-03-10 株式会社デンソー 気象情報表示装置、プログラム
EP2257906B1 (en) 2008-03-19 2013-02-27 Freescale Semiconductor, Inc. A method for protecting a cryptographic module and a device having cryptographic module protection capabilities
US8497694B2 (en) * 2010-02-10 2013-07-30 Qualcomm Incorporated On-chip sensor for measuring dynamic power supply noise of the semiconductor chip
EP2662791A1 (en) 2012-05-11 2013-11-13 Stichting IMEC Nederland A method and apparatus for monitoring timing of cricital paths
US9164563B2 (en) * 2012-05-24 2015-10-20 International Business Machines Corporation Processor noise mitigation using differential critical path monitoring
JP6047330B2 (ja) * 2012-08-02 2016-12-21 サターン ライセンシング エルエルシーSaturn Licensing LLC 電源監視回路、交直変換装置、および、電源監視回路の制御方法
JP2014106112A (ja) * 2012-11-27 2014-06-09 Fujitsu Ltd 電圧変動検出回路及び半導体集積回路
US9607153B2 (en) 2013-03-13 2017-03-28 Qualcomm Incorporated Apparatus and method for detecting clock tampering
WO2014182300A1 (en) * 2013-05-08 2014-11-13 Intel Corporation Voltage detector with high voltage protection
US8878580B1 (en) 2013-07-22 2014-11-04 Via Technologies, Inc. Apparatus and method for generating a clock signal with reduced jitter
WO2015145487A1 (ja) 2014-03-28 2015-10-01 三菱電機株式会社 クロック位相制御回路
US9535119B2 (en) 2014-06-30 2017-01-03 Intel Corporation Duty cycle based timing margining for I/O AC timing
US9689917B2 (en) * 2014-08-01 2017-06-27 Oracle International Corporation Digital voltage droop monitor with clock jitter adjustment
US9459314B1 (en) * 2014-10-08 2016-10-04 Microsemi Storage Solutions (U.S.), Inc. Circuit and method for real-time monitoring of process, temperature, and voltage variations
JP6533135B2 (ja) * 2015-09-16 2019-06-19 ルネサスエレクトロニクス株式会社 半導体装置
US10958414B2 (en) 2016-02-23 2021-03-23 Google Llc Clock period randomization for defense against cryptographic attacks
KR102512819B1 (ko) * 2016-04-19 2023-03-23 삼성전자주식회사 딜레이 코드를 발생하는 전압 모니터
US11962313B2 (en) * 2016-12-23 2024-04-16 Advanced Micro Devices, Inc. Adaptive DCO VF curve slope control
EP3376423A1 (en) * 2017-03-14 2018-09-19 Gemalto Sa Self-adaptive countermeasures
US10754414B2 (en) * 2017-09-12 2020-08-25 Ambiq Micro, Inc. Very low power microcontroller system
CN114586034A (zh) * 2019-11-19 2022-06-03 谷歌有限责任公司 时钟波动下的电压变化检测
US11474130B2 (en) * 2020-06-22 2022-10-18 Nxp B.V. Voltage glitch detection in integrated circuit

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070013414A1 (en) * 2005-06-30 2007-01-18 Fabrice Paillet 0th droop detector architecture and implementation

Also Published As

Publication number Publication date
TW202121100A (zh) 2021-06-01
TWI755038B (zh) 2022-02-11
US20230131119A1 (en) 2023-04-27
CN114586034A (zh) 2022-06-03
US11486911B2 (en) 2022-11-01
KR102492252B1 (ko) 2023-01-26
EP3850523B1 (en) 2022-03-16
JP2023501886A (ja) 2023-01-20
WO2021101528A1 (en) 2021-05-27
US20210148957A1 (en) 2021-05-20
JP7369867B2 (ja) 2023-10-26
EP3850523A1 (en) 2021-07-21

Similar Documents

Publication Publication Date Title
KR102492252B1 (ko) 클록 변동들 하에서의 전압-변화 검출
Shepherd et al. Physical fault injection and side-channel attacks on mobile devices: A comprehensive analysis
US20220292226A1 (en) Peripheral Device Comportability with Security Circuitry
Shila et al. Design, implementation and security analysis of hardware Trojan threats in FPGA
CN107533607B (zh) 通过信号延迟监测来进行攻击检测
Milosevic et al. Malware in IoT software and hardware
Nisarga et al. System-level tamper protection using MSP MCUs
US10339979B2 (en) Secure protection block and function block system and method
Luo et al. Faulty clock detection for crypto circuits against differential fault analysis attack
Monjur Internet-of-Things (IoT) Security Threats: Attacks on Communication Interface
Monjur et al. ADobf: Obfuscated Detection Method against Analog Trojans on I 2 C Master-Slave Interface
Dabrowski et al. Poster: Hardware trojans-detect and react?
Farag et al. Smart employment of circuit redundancy to effectively counter trojans (SECRET) in third-party IP cores
US9645602B2 (en) Frequency sensor for side-channel attack
Dumitru et al. On Borrowed Time--Preventing Static Power Side-Channel Analysis
US20230177154A1 (en) Sparse Encodings for Control Signals
Muttaki et al. FTC: A Universal Framework for Fault-Injection Attack Detection and Prevention
Potestad-Ordóñez et al. Protecting FPGA-Based Cryptohardware Implementations from Fault Attacks Using ADCs
EP4285264A1 (en) Secure chip-wide communication
TW202328956A (zh) 使用域定向屏蔽之效能及安全資料處理
WO2022213129A1 (en) Read-only memory (rom) security
WO2022213128A1 (en) Read-only memory (rom) security
JP2020161090A (ja) システム半導体チップ、システム半導体チップの情報漏洩検出方法及びシステム半導体チップの情報漏洩抑止方法

Legal Events

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