KR102134527B1 - 디지털 저전압 검출 및 제어를 위한 방법 및 장치 - Google Patents

디지털 저전압 검출 및 제어를 위한 방법 및 장치 Download PDF

Info

Publication number
KR102134527B1
KR102134527B1 KR1020187020469A KR20187020469A KR102134527B1 KR 102134527 B1 KR102134527 B1 KR 102134527B1 KR 1020187020469 A KR1020187020469 A KR 1020187020469A KR 20187020469 A KR20187020469 A KR 20187020469A KR 102134527 B1 KR102134527 B1 KR 102134527B1
Authority
KR
South Korea
Prior art keywords
voltage
clock cycle
threshold
slope
sensor
Prior art date
Application number
KR1020187020469A
Other languages
English (en)
Other versions
KR20180095891A (ko
Inventor
소티리오스 조고풀로스
2세 조셉 티. 다이비니
자파르 사보즈
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 KR20180095891A publication Critical patent/KR20180095891A/ko
Application granted granted Critical
Publication of KR102134527B1 publication Critical patent/KR102134527B1/ko

Links

Images

Classifications

    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/03Astable circuits
    • H03K3/0315Ring oscillators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/01Shaping pulses
    • H03K5/02Shaping pulses by amplifying
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/19Monitoring patterns of pulse trains
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/22Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral
    • H03K5/24Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral the characteristic being amplitude
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/22Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral
    • H03K5/26Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral the characteristic being duration, interval, position, frequency, or sequence
    • 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
    • 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/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • 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/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • G06F1/305Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations in the event of power-supply fluctuations
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Nonlinear Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Measurement Of Current Or Voltage (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Power Sources (AREA)

Abstract

저전압 검출 및 정정을 위한 방법 및 장치가 개시된다. IC는 다양한 기능성 회로 블록들에서 구현되는 센서들을 포함한다. 센서들은 링 오실레이터들을 사용하여 구현되고, 다항식에 의해 특성을 나타낼 수 있다. 센서들은 대응하는 기능성 유닛에 제공되는 공급 전압을 모니터링하는 데 사용된다. 센서들은 연속적인 클록 사이클들에 걸쳐 공급 전압 노드 상의 전압을 표시하는 정보를 제공한다. 비교 회로부는 검출된 전압을 하나 이상의 전압 임계치들과 비교하는 데 사용될 수 있는 반면, 델타 비교 회로부는 기울기 또는 전압의 변화율을 결정하는 데 사용될 수 있다. 비교 회로부 및 델타 비교 회로부에 의해 수행된 비교들에 기초하여, 제어 회로부는 공급 노드 상의 전압을 특정 범위로 가져오기 위해 하나 이상의 전압 정정 액션들이 취해질 것인지를 결정할 수 있다.

Description

디지털 저전압 검출 및 제어를 위한 방법 및 장치
본 개시내용은 집적 회로들에 관한 것으로, 더 상세하게는, 집적 회로의 동작 동안 공급 전압들을 모니터링 및 제어하는 것에 관한 것이다.
특징부 크기들이 감소함에 따라, 집적 회로(IC)들 상의 트랜지스터들의 수는 그에 따라 증가했다. 단위 면적 당 트랜지스터들의 수의 증가로 인해 IC들의 열 출력이 대응하여 증가하게 되었다. 더욱이, 단위 면적 당 트랜지스터의 수의 증가는 또한 IC 상의 다양한 기능성 회로부에 제공되는 공급 전압들의 감소에 대응하게 되었다. 이는 결과적으로 IC들의 성능, 전력 소비, 및 열 출력의 균형을 맞추는 데 있어서 어려운 과제를 야기하였다. 이를 위해, 많은 IC들은, IC의 다양한 메트릭들(예를 들어, 온도, 전압, 전압 강하들)을 모니터링하고, 수신된 측정들에 기초하여 성능을 조정하는 서브시스템들을 구현한다.
시스템 메트릭들을 모니터링하는 데 사용되는 IC 서브시스템들은 전형적으로 하나 이상의 센서들 및 적어도 하나의 제어 시스템을 포함한다. 공정, 전압, 및 온도 변동들과 같은 인자들로 인해, 적어도 그러한 서브시스템의 센서들은 IC 내의 기능성 회로부에 전력을 공급하는 데 사용되는 것과 상이한 공급장치로부터 전력을 수신하도록 결합될 수 있다. 예를 들어, 일부 IC들은 기능성 회로부에 전력을 제공하는 데 사용되는 공급장치들과 별개인 아날로그 전원 공급장치를 사용한다. 이는 IC 상의 기능성 회로부에 전력을 제공하는 공급장치들에 야기되는 변동들로부터 일정 정도 격리되는 센서들을 제공할 수 있다.
저전압(undervoltage) 검출 및 정정을 위한 방법 및 장치가 개시된다. 일 실시예에서, 집적 회로(IC)는 다양한 기능성 회로 블록들에서 구현되는 다수의 센서들을 포함한다. 센서들은 링 오실레이터들을 사용하여 구현될 수 있고, 다항식에 의해 특성을 나타낼 수 있다. 센서들은 그 센서들이 구현되는 기능성 유닛에 제공되는 공급 전압을 모니터링하는 데 사용된다. 센서들은 다수의 연속적인 클록 사이클들 각각에 걸쳐 공급 전압 노드 상의 전압을 표시하는 정보를 제공할 수 있다. 비교 회로부는 검출된 전압을 하나 이상의 전압 임계치들과 비교하는 데 사용될 수 있는 반면, 델타 비교 회로부는 기울기 또는 전압의 변화율을 결정하는 데 사용될 수 있다. 비교 회로부 및 델타 비교 회로부에 의해 수행된 비교들에 기초하여, 제어 회로부는 공급 노드 상의 전압을 특정 범위로 가져오기 위해 하나 이상의 전압 정정 액션들이 취해질 것인지를 결정할 수 있다.
다양한 실시예들에서, 센서들은 링 오실레이터들을 사용하여 구현될 수 있다. 일 실시예에서, 각각의 센서는 상이한 특성들을 갖는 2개의 별개의 링 오실레이터들을 포함할 수 있다. 상이한 특성들은 각각의 특성 다항식들에 의해 표시될 수 있다. 주파수들은 링 오실레이터들 및 전압 둘 모두로부터 획득될 수 있으며, 각각의 특성 다항식들을 사용하여 연산 회로부는 전압에 대한 해를 구할 수 있다. 다른 실시예에서, 단일 링 오실레이터는 가변 입력 및 바이어스 전압들을 수신할 수 있는 특수 구성 인버터들을 이용하여 구현될 수 있다. 전압 및 온도는 다중 감지 기법을 사용하여 결정될 수 있다.
공급 전압을 다시 특정 범위 내로 가져오기 위해 취해질 임의의 전압 정정 액션들은 다수의 비교들에 기초하여 결정될 수 있다. 각각의 클록 사이클들 동안, 주어진 센서에 의해 검출된 공급 전압 노드 상의 전압은 하나 이상의 전압 임계치들과 비교될 수 있다. 부가적으로, 연속적인 클록 사이클들에 걸쳐, 기울기(또는 전압의 변화율)가 하나 이상의 기울기 임계치들과 비교될 수 있다. 이들 다수의 비교들에 기반하여, 상이한 액션들이 취해질 수 있다. 예를 들어, 전압이 특정 임계치 미만이지만(전압이 범위 밖에 있다는 것을 표시함) 기울기가 소정의 임계치 미만이면(전압이 감소하고 있지 않거나 또는 실제로는 자신의 특정 범위를 향해 다시 증가하고 있다는 것을 표시함), 제1 전압 정정 액션이 취해질 수 있다. 제2 예에서, 전압이 임계치 미만이고 기울기가 소정의 임계치를 초과하면(전압이 급속히 감소하고 있다는 것을 표시함), 제2 전압 정정 액션이 취해질 수 있다. 또 다른 제3 예에서, 전압이 소정의 임계치 값을 초과하지만(전압이 특정 범위 내에 있다는 것을 표시함) 기울기 비교가 전압이 급속히 감소하고 있다는(그리고 그에 따라, 어떠한 액션도 취해지지 않으면, 범위 밖으로 떨어질 것이라는) 것을 표시하면, 제3 전압 정정 액션이 취해질 수 있다. 전압 정정 액션들은 기능성 회로 블록에 제공되는 클록 신호를 스로틀링하는 것, 기능성 회로 블록에 제공되는 전류의 양을 증가시키는 것, 또는 기능성 회로 블록의 적응적 클록킹을 포함할 수 있지만 이에 제한되지는 않는다. 더욱이, 가장 최근에 검출된 전압의 값 및 델타 비교 동작에 의해 결정된 바와 같은 추세(trend) 둘 모두에 따라 다수의 액션들이 동시에 수행될 수 있다.
다음의 상세한 설명은 첨부 도면들을 참조하며, 이제 도면들이 간단히 설명된다.
도 1은 IC의 일 실시예의 블록도이다.
도 2는 다수의 센서들을 갖는 기능성 회로 블록의 일 실시예의 블록도이다.
도 3은 2개의 링 오실레이터들을 이용하는 센서의 실시예에 대한 동작 개념을 예시하는 블록도이다.
도 4는 2개의 링 오실레이터들을 갖는 센서의 일 실시예의 블록도이다.
도 5는 단일 링 오실레이터를 갖는 센서의 일 실시예의 블록도이다.
도 6은 링 오실레이터를 구현하는 데 사용되는 회로부의 일 실시예의 개략도이다.
도 7은 전압 임계치 비교 회로부 및 델타 비교 회로부를 포함하는 비교기 유닛의 일 실시예의 블록도이다.
도 8은 전력 관리 회로의 일 실시예의 블록도이다.
도 9는 디지털 저전압 조건의 존재 및 정정을 결정하기 위한 방법의 일 실시예를 예시하는 흐름도이다.
도 10은 예시적인 시스템의 일 실시예의 블록도이다.
개시되는 발명 대상은 다양한 수정들 및 대안적인 형태들이 가능하지만, 그의 특정 실시예들은 도면들에서 예시로 도시되고, 본 명세서에서 상세히 설명될 것이다. 그러나, 도면들 및 이에 대한 상세한 설명은 발명 대상을 개시된 특정 형태로 제한하도록 의도되는 것이 아니라, 반대로, 첨부된 청구범위에 의해 정의되는 바와 같은 개시된 발명 대상의 사상 및 범주 내에 속하는 모든 수정들, 등가물들 및 대안들을 포괄하려는 의도로 이해하여야 한다. 본 명세서에서 사용되는 표제들은 오직 구성 목적들을 위한 것이며 설명의 범주를 제한하기 위해 사용되는 것으로 의도되지 않는다. 본 출원 전반에 걸쳐 사용되는 바와 같이, "일 수 있다(may)"라는 단어는 의무적인 의미(즉, "이어야만 한다(must)"를 의미)라기보다 오히려 허용의 의미(즉, "~에 대해 가능성을 갖는다"는 의미)로 사용된다. 유사하게, "포함하다(include, includes)" 및 "포함하는(including)"이라는 단어들은, 포함하지만 이로 제한되지 않음을 의미한다.
다양한 유닛들, 회로들 또는 다른 컴포넌트들이 태스크 또는 태스크들을 수행하도록 "구성되는 것"으로 설명될 수 있다. 그러한 맥락들에서, "~하도록 구성된"은 동작 동안에 태스크 또는 태스크들을 수행하는 "회로부를 갖는"을 일반적으로 의미하는 구조의 광의의 설명이다. 그와 같이, 유닛/회로/컴포넌트는 유닛/회로/컴포넌트가 현재 온(on) 상태가 아닐 시에도 태스크를 수행하도록 구성될 수 있다. 일반적으로, "~하도록 구성된"에 대응하는 구조를 형성하는 회로부는 동작을 구현하도록 실행가능한 프로그램 명령어들을 저장하는 하드웨어 회로들 및/또는 메모리를 포함할 수 있다. 메모리는 정적 또는 동적 랜덤 액세스 메모리와 같은 휘발성 메모리 및/또는 비휘발성 메모리, 예를 들어 광 또는 자기 디스크 저장소, 플래시 메모리, 프로그래밍 가능한 판독 전용 메모리(programmable read-only memory)들 등을 포함할 수 있다. 유사하게, 다양한 유닛들/회로들/컴포넌트들은 설명의 편의를 위해 태스크 또는 태스크들을 수행하는 것으로 설명될 수 있다. 그러한 설명은 "~하도록 구성된"이라는 문구를 포함하는 것으로 해석되어야 한다. 하나 이상의 태스크를 수행하도록 구성된 유닛/회로/컴포넌트를 언급하는 것은 그 유닛/회로/컴포넌트에 대해 35 U.S.C. § 112, (f)항(또는 pre-AIA의 6항)의 해석을 적용하지 않고자 명확히 의도된다.
이제 도 1을 참조하면, IC의 일 실시예의 블록도가 도시된다. 도시된 실시예에서, IC(10)는 2개의 기능성 회로 블록들, 즉 프로세싱 유닛(PU)(130), 및 PU(140)를 포함한다. 다양한 실시예들에서, PU(130)의 부가적인 인스턴스들을 포함하는 다른 기능성 회로 블록들이 포함될 수 있다. 따라서 PU(130) 및 PU(140)는 본 명세서에서 예시적인 기능성 회로 블록들로서 도시되지만, 본 개시내용의 범주를 제한하도록 의도되지 않는다. PU(130, 140)는 각각 범용 프로세서 코어, 그래픽 프로세싱 유닛, 디지털 신호 프로세싱 유닛, 또는 프로세싱 기능을 수행하도록 구성된 사실상 임의의 다른 종류의 기능성 유닛일 수 있다. 본 개시내용의 범주는 이러한 유형들의 기능성 회로 블록들 중 임의의 것뿐만 아니라, 본 명세서에 명시적으로 언급되지 않은 다른 것들에도 적용될 수 있다. 본 명세서에 도시된 기능성 회로 블록들의 갯수는 예시적일 뿐만 아니라, 본 개시내용은 어떠한 특정 갯수에도 한정되지 않는다.
도시된 실시예의 PU(130)는 명령어 세트의 명령어들을 실행하고 범용 프로세싱 동작들을 수행하도록 구성된 범용 프로세서 코어이다. 따라서 PU(130)의 기능성 회로부(131)는 다양한 유형들(정수, 부동소수 등)의 실행 유닛들, 레지스터 파일들, 스케줄러들, 명령어 페치 유닛들, 다양한 레벨들의 캐시 메모리와 같은 다양한 유형들의 회로부, 및 프로세서 코어에서 구현될 수 있는 다른 회로부를 포함할 수 있다. PU(130), 및 PU(130) 내의 모든 회로부는 이 실시예에서 공급 전압(Vdd1)을 수신하도록 결합된다. 그러나, 다수의 전력 도메인들 및 그에 따른 다수의 공급 전압들이 PU(130)의 다양한 실시예들 내에서 구현될 수 있음을 유의한다. 더욱이, PU(130)에 제공되는 공급 전압들은 전력 관리 회로부(도시되지 않음)의 제어하에 달라질 수 있다. 전력 관리 회로부는 성능 레벨들, 열 출력, 및 전력 소비를 제어하는 것과 같은 다양한 이유들로 인해 전압들을 조정한다.
예시된 실시예의 PU(140)는, 일부 실시예들에서 그래픽 프로세싱 코어들, 다양한 유형들의 메모리 및 레지스터들 등을 포함할 수 있는 그래픽 프로세싱 회로부와 같은 다양한 유형들의 프로세싱 회로부를 구현할 수 있는 기능성 회로부(141)를 포함한다. 도시된 실시예의 PU(140)는, PU(130)에 의해 수신된 바와 같은 Vdd1과는 별개인 제2 공급 전압(Vdd2)를 수신하도록 결합된다.
PU(130) 및 PU(140)는 둘 모두 다수의 센서들(120)을 포함한다. 본 명세서에 도시된 특정 갯수의 센서들은 예시적인 것이고, 실제 실시예들에서는 더 많거나, 더 적거나 또는 같을 수 있다. 센서들(120)은 하나 이상의 성능 메트릭들, 또는 파라미터들을 감지하도록 구성될 수 있다. 이러한 특정 실시예에서, 센서들은 전압 및 온도 값들을 감지하도록 구성된다. 감지된 전압 및 온도 값들은 결과적으로 내부에 구현되는 회로부가 한계들 내에서 동작하고 있는지 여부 및/또는 더 높은 성능을 낼 수 있는지 여부를 결정하는 데 사용될 수 있다.
도시된 실시예의 각각의 센서들(120)은 기능성 회로 블록들의 그의 각자의 기능성 회로 블록 내의 기능성 회로부와 동일한 전압 공급장치에 결합된다. 즉, PU(130) 내의 각각의 센서(120)는 공급 전압(Vdd1)을 수신하도록 결합되는 반면, PU(140) 내의 각각의 센서는 Vdd2를 수신하도록 결합된다. 종래 기술의 실시예들에서, 그러한 센서들은 전형적으로 센서들이 구현된 위치 근처에 있는 기능성 회로부의 공급장치와 별개인 공급장치로부터 전력을 수신하도록 결합된다. 이는 다른 전압 공급장치에 대한 연결 경로를 만들어야 하기 때문에 그것들의 IC/기능성 회로 블록 내의 배치를 제한할 수 있다. 더욱이, 종래 기술 실시예들의 센서들은 전형적으로 본 명세서에서 논의되는 실시예들에서 사용되는 것들보다 더 클 수 있는데, 이는 그것들의 갯수 및 배치를 추가로 제한할 수 있다. 대조적으로, 본 명세서에서 구현되는 센서들(120)은 단순화된 센서들일 수 있다. 따라서, 센서들(120)은 종래 기술 센서들보다 작을 수 있다. 이는 결과적으로 더 많은 센서들이 IC 상에 배치되도록 허용할 수 있다. 더욱이, 센서들은 더 작은 영역들에 배치되어, 그것들의 구현의 다양성을 증가시킬 수 있다. 일 실시예에서, 센서들(120)은 하나 이상의 링 오실레이터들을 사용하여 구현될 수 있다. 그러나, 링 오실레이터에 의해 생성되는 주파수가 공정, 전압, 및 온도 변동들에 현저한 의존성을 보일 수 있기 때문에, 링 오실레이터들은 이러한 종속성들이 그것들의 정확도에 악영향을 주지 않도록 보정될 수 있다. 다양한 보정 및 동작 방법론들이 아래에서 더 상세하게 논의되고 있다. 각각의 센서에 대한 초기 보정(및 특성들)이 알려진 전압들 및 온도들에서 자동 시험 장비(ATE)를 사용하는 시험 동안 수행될 수 있음을 유의한다. IC(10)가 구현된 시스템의 시동 및/또는 동작 동안 후속 보정들이 수행될 수 있다.
도시된 실시예의 IC(10)는 계측 제어 회로부(MCC)(105)를 포함한다. MCC(105)는 IC(10)의 다양한 기능성 회로 블록들 내의 센서들(120)의 동작과 관련된 다양한 동작들을 수행할 수 있다. 도시된 실시예에서, MCC(105)는 계측 버스(13)를 통해 각각의 센서들(120)에 결합된다. IC(10)의 동작 동안, 각각의 센서들(120)은, 예를 들어, 그것들의 각자의 링 오실레이터(들)의 주파수의 판독들을 수행하고, 주파수 판독치를 디지털 포맷으로 변환하고, 그 정보를 MCC(105)에 송신할 수 있다. 이 실시예에서, MCC(105)는 직렬 버스이고, 정보는 스캔 체인의 동작과 유사한 동작으로 버스 상에서 시프트될 수 있다. 그러나, 센서들과의 통신들을 위한 상이한 메커니즘들을 이용하는 실시예들이 가능하고 고려된다.
MCC(105)는 또한, 다양한 전력 제어 액션들이 수행될 수 있게 할 수 있는 회로부를 구현하는 전력 관리 유닛(PMU)(115)을 포함한다. 이들 전력 제어 액션들 중 일부는 센서들(120)로부터 획득된 판독치들에 기초하여 수행될 수 있다. 일 실시예에서, PU들(130 또는 140) 중 하나(또는 더 일반적으로는 임의의 기능성 회로 블록)에 전력을 제공하는 전력 공급 노드 상의 저전압 조건(예를 들어, 전압 "강하")을 결정하는 것에 응답하여, PMU(115)는 공급 노드 상의 전압이 특정 범위 내로 복귀하게 하기 위한 액션을 수행할 수 있다.
본 명세서에 도시되지는 않지만, IC(10)는 클록 트리(tree)의 다양한 레벨들에서 하나 이상의 클록 생성 회로들 및 다수의 클록 게이팅 회로들을 포함할 수 있다. 도시된 실시예의 PMU(115)는, 클록 신호의 스로틀링, (클록 트리의 하나 이상의 레벨들에서의 게이팅을 통한) 미리 결정된 시간 동안의 클록 신호의 억제, 및 클록 신호의 주파수를 변경시키는 것과 같은 다양한 액션들을 수행하기 위해 클록 생성 회로 및 클록 게이팅 회로들에 제공될 수 있는 신호들을 생성하도록 구성된다.
IC(10)는 또한, 온-칩 전원 공급장치, 하나 이상의 온-칩 전압 조절기들 중 어느 하나, 또는 둘 모두(또한, 본 명세서에 도시되지 않음)를 포함할 수 있다. PMU(115)는 전력이 다양한 프로세싱 유닛들(또는 더 일반적으로는 기능성 회로 블록들)에 어떻게 제공되는지를 제어하기 위해 전원 공급장치 및 전압 조절기(들) 중 어느 하나 또는 둘 모두에 제공되기 위한 다양한 제어 신호들을 생성할 수 있다. PMU(115)에 의해 생성된 제어 신호들을 사용하여 야기될 수 있는 다양한 액션들은 전력 게이팅, 전압 공급 노드 상에 제공되는 전압을 제어하는 것, 및 기능성 회로 블록에 제공되는 전류의 양을 제어하는 것을 포함한다.
PMU(115)에 의해 수행되는 다양한 액션들은 서비스 프로세서(111)로부터 수신된 신호들에 기초할 수 있으며, 이는 아래에서 더 상세하게 논의된다. 일 실시예에서, 서비스 프로세서(111)는 어떤 액션 또는 액션들의 조합들이 수행될 것인지 및 기능성 회로 블록들 중 어느 것이 그러한 액션들의 타겟들이 될지를 표시하는 디지털 코드를 제공할 수 있다. 또한 아래에서 논의될 바와 같이, 서비스 프로세서(111)는 IC(10) 내의 다양한 센서들(120)로부터 획득된 판독치들에 기초하여 이들 코드들을 생성할 수 있다. 일반적으로 말해서, PMU(115) 및 서비스 프로세서(111)는 함께 취해져서, 감지된 정보에 기초하여 임의의 전력 제어 액션들이 취해질지, 어떤 제어 액션들이 취해질지를 결정하고, 제어 액션들이 취해지게 하기 위한 신호들을 생성하기로 결정할 수 있는 제어 회로부를 구현할 수 있다. 이것은 도면들에 예시된 실시예들의 맥락으로 아래에서 논의된다. 그러나, 그러한 회로부의 구현들은 본 개시내용의 범주 내에 여전히 속하면서 하나의 실시예로부터 다음의 실시예까지 광범위하게 변할 수 있다는 것이 이해될 것이다. 따라서, 본 명세서에서 논의되는 실시예들은 예시적인 것이지만, 제한하는 것으로 의도되지 않는다.
MCC(105)는 각각의 센서들(120)로부터 그것들의 대응적으로 결합된 계측 버스(13)의 인스턴스들을 통해 주파수 정보를 수신할 수 있다. 주파수 정보를 사용하여, MCC(105)는 각각의 센서들(120)에 의해 감지된 전압 및 온도를 결정할 수 있다. 도시된 실시예에서, MCC(105)는 서비스 프로세서(111) 및 그에 결합된 메모리(112)를 포함한다. 서비스 프로세서(111)는 다양한 센서들(120)로부터 수신된 판독치들의 값을 결정할 뿐만 아니라 판독치들에 기초하여 소정의 액션들이 취해질지 여부를 결정할 시에 다수의 기능들을 수행할 수 있다. 일 실시예에서, 서비스 프로세서는, 각각의 센서들(120)에 의해 감지된 전압 및 온도를 계산하고, 다양한 비교 동작들을 수행하며, 저전압 조건들을 정정하기 위해 수행되는 액션들을 포함하여, 취해질 임의의 전력 제어 액션들의 표시(디지털 코드들의 형태임)를 PMU(115)에 제공하는 회로부를 구현할 수 있다. 일부 경우들에서, 그러한 회로부는, 감지된 값들을 결정하고, 다양한 임계치들과의 비교들을 수행하며, PMU(115)에 의해 취해질 제어 액션들을 결정하는 다양한 태스크들을 수행하기 위한 명령어들을 실행하는 범용 프로세싱 회로부로서 구현될 수 있다. 다른 실시예들에서, 위의 액션들은 하드와이어드(hardwired) 회로부에 의해 수행될 수 있다. 일반적으로 말해서, 계산, 비교, 및 코드 생성 기능들은 하드웨어 회로들, 펌웨어, 및/또는 서비스 프로세서(111)에서 실행되는 소프트웨어 명령어들의 임의의 적합한 조합에 의해 수행될 수 있다. 따라서, 본 명세서에 도시된 임의의 예시적인 회로들은 특정 태스크를 수행하도록 구성된 하드와이어드 회로부를 사용하여, 또는 소프트웨어 및/또는 펌웨어로부터 수신된 명령어들을 실행하는 범용 프로세싱 회로부로서 구현될 수 있다.
일 실시예에서, 서비스 프로세서(111)는 각각의 센서들(120)로부터 수신된 주파수 정보에 기초하여 전압 및 온도 값들에 대한 해를 구하기 위한 소프트웨어 루틴의 명령어들을 실행할 수 있다. 전용 회로부가 소프트웨어 명령어들의 실행 대신에 이러한 태스크를 수행하는 실시예들이 또한 가능하고 고려된다. 메모리(112)는 센서들로부터 수신된 주파수 정보, 결정된 전압 및 온도 정보, 및 계산들의 수행 동안 생성되는 중간 정보를 포함하는 다양한 정보를 저장하도록 서비스 프로세서에 의해 사용될 수 있다. 메모리(112)는 또한 센서들 및 회로부(예를 들어, 링 오실레이터들)의 특성을 나타내는 정보를 내부에 저장할 수 있다. 소정의 동작들 동안, 메모리(112)는 (예를 들어, 이력 결과들이 소망되면) 임시 또는 이전의 계산 결과들을 저장할 수 있다. 메모리(112)는 휘발성 메모리, 비휘발성 메모리, 또는 이들의 조합을 사용하여 구현될 수 있다.
서비스 프로세서(111)는 계산된 전압들 및 온도들의 결과들을 사용하여 부가적인 동작들을 수행할 수 있다. 이들 동작들 중에서, 전압 공급 노드 상의 전압 강하가 발생했는지 또는 임박한지를 결정하는 동작이 있다. 본 명세서에서 정의된 바와 같은 전압 강하는, 공급 전압 노드 상에 존재하는 전압이 특정 값 미만으로 떨어지는 경우 발생할 수 있다. 예를 들어, 공칭 값의 10%의 범위가 전압 공급 노드 상에서 전달되는 공급 전압에 대한 수용가능한 범위로서 특정될 수 있다. 전압이 10%를 초과하여 떨어지면, 이는 이러한 예에서 전압 강하로 고려된다. 전압 강하가 기능성 회로 블록에서 회로부의 바람직하지 않은 동작을 야기할 수 있기 때문에, 그들을 방지하고, 그들이 발생하면, 그들을 가능한 빨리 해결함으로써 그것들의 영향을 최소화시키는 것이 바람직하다. 전압 강하들은 전원 공급장치로부터의 전압 과도기(voltage transient)들 또는 실질적으로 동시에 스위칭하는 많은 수의 회로들로부터의 스위칭 잡음과 같은 다수의 이유들 때문에 발생할 수 있다.
서비스 프로세서(111)에 의한 전압 강하의 검출은 비교 동작들을 수행함으로써 수행될 수 있다. 특히, (센서(120)에 의해 감지된 바와 같은) 공급 전압 노드 상에 존재하는 전압은 하나 이상의 전압 임계치들과 비교될 수 있다. 전압이 특정 임계치 미만(예를 들어, 특정 값 아래로 10% 초과)이면, 전압 강하의 존재가 표시될 수 있다. 일부 실시예들에서, 감지된 전압은 다수의 상이한 임계치들과 비교될 수 있으며, 이들 임계치들 중 일부는 관련 공급 전압에 대한 특정 범위 내에 있을 수 있는 반면, 다른 임계치들은 그렇지 않다. 비교들이 서비스 프로세서(111)의 동작 동안 연속적인 클록 사이클들에 걸쳐 수행될 수 있음을 유의한다. 클록 사이클들은 대응하는 기능성 회로 블록에 제공되는 클록 신호 또는 비교 동작들을 동기화시키기 위해 사용되는 다른 클록 신호의 사이클들일 수 있다.
감지된 전압들의 대응하는 임계치들과의 비교들에 부가하여, 서비스 프로세서(111)는 또한 연속적인 클록 사이클들에 걸쳐 공급 전압의 변화율(즉, 그의 기울기)의 계산을 수행할 수 있다. 계산된 기울기 값을 사용하여, 부가적인 정보가 결정될 수 있다. 예를 들어, 기울기는 하나 이상의 기울기 임계치들과 비교될 수 있다. 전압이 범위 내에 있지만 그의 가드 대역의 에지에 가깝고, 기울기가 소정의 임계치 미만(즉, 하방 추세)이라고 전압 비교들이 결정하면, 이는 전압 강하가 아직 발생하지 않더라도 전압 강하가 임박했다는 표시일 수 있다. 다른 예에서, 전압 비교가 전압의 최소 가드 대역의 임계치 바로 아래이지만, 기울기가 소정의 임계치를 초과(기울기가 상방 추세라는 것을 표시함)하면, 이는 전압 강하가 해결되는 데 근접했고 공급 전압의 그의 특정 범위로의 복귀가 임박했다는 표시일 수 있다.
일반적으로 말해서, 전압들과 임계치들 및 기울기들과 기울기 임계치들의 비교를 포함하는 비교들의 조합은 전압 공급 노드 상의 전압 상태 뿐만 아니라 전압 강하를 향하거나 그로부터 멀어지는 전압의 추세를 결정하는 데 사용될 수 있다. 이들 비교 결과들은 PMU(115)에 제공될 수 있는 디지털 코드들을 생성하도록 서비스 프로세서(111)에 의해 사용될 수 있다. 디지털 코드들은, 어떠한 액션도 취해지지 않을 것이라는 것을 표시할 수 있거나 또는 전압 강하를 해결하고 임박한 전압 강하의 영향을 최소화시키기 위해 취해질 하나 이상의 특정 액션들을 표시할 수 있다. 이들 디지털 코드들을 수신하는 것에 응답하여, PMU(115)는 전압 강하를 최소화시키고 그리고/또는 해결하기 위해 다양한 액션들을 수행할 수 있다. 예를 들어, 대응하는 기능성 회로 블록(예를 들어, PU(130))에 제공되는 전류의 양이 증가될 수 있거나, 클록 신호의 주파수가 감소될 수 있거나, 또는 클록 신호가 특정 시간 동안 억제될 수 있다. 단일로 또는 서로 조합하여 수행될 수 있는 이들 액션들은 예시적인 것이고, 본 명세서에서 명시적으로 논의되지 않은 다른 액션들이 또한 수행될 수 있다. 일반적으로, 전압이 자신의 특정 범위 내로 복귀되도록 전압 공급 노드 상의 강하를 해결하려는 목적으로 제어 액션들이 수행될 수 있다. 더욱이, 일부 실시예들에서 전압 강하들의 발생을 방지하고 그에 의해 공급 전압 노드 상에서 공급 전압의 안정성을 유지하려는 목표로 액션들이 취해질 수 있다.
MCC(105)는 또한 센서(120)의 인스턴스뿐만 아니라, 기준 센서(107)를 포함한다. MCC(105)의 센서(120)는 (서비스 프로세서(111) 및 메모리(112)와 같이) 공급 전압(Vdd3)을 수신하도록 결합된다. 더욱이, 센서(120)는 IC(10) 상에 구현되는 센서(120)의 다른 인스턴스들에 따라 구성될 수 있다. 기준 센서(107)는 아날로그 전압 공급장치(AVdd)로부터 그의 공급 전압을 수신할 수 있다. 도시된 실시예의 기준 센서(107)는 공정, 전압, 및 온도 변동들에 덜 예민한 고정밀 센서일 수 있다. 기준 센서(107)로부터의 온도 판독치들은 보정들 동안 기준으로서 사용될 수 있거나, 또는 재보정들이 필요한 때를 결정하는 데 사용될 수 있다.
도 2는 다수의 센서들(120)을 갖는 기능성 회로 블록의 일 실시예의 블록도이다. 도시된 실시예에서, 기능성 회로 블록(FCB)(211)은 IC 상에서 구현되는 사실상 임의의 유형의 기능성 회로부일 수 있다. 기능성 회로부(211)에는 디지털 회로들, 아날로그 회로들, 및 혼합 신호 회로들이 포함될 수 있다. FCB(211)의 센서들(120)은 기능성 회로부(211) 내의 및 그 둘레의 다양한 위치들에서 구현된다. 그것들의 상대적으로 작은 입지 면적으로 인해, 적어도 일부 센서들(120)은 기능성 회로(211)에 의해 다른 방법으로 점유되는 영역 내에서 구현될 수 있는 반면, 다른 센서들은 그 영역 근방에 또는 부분적으로는 그 내에 구현될 수 있다. 이 실시예의 센서들(120)은 계측 버스(13)에 의해 직렬 구성으로 결합되고, 이를 통해 데이터(예를 들어, 링 오실레이터들에 대한 주파수 데이터)가 시프트될 수 있다. 도시된 실시예의 각각의 센서들(120)은 기능성 회로부(211)에 의해 수신되는 것과 동일한 공급 전압(Vdd)을 수신하도록 결합된다.
도 3은 2개의 링 오실레이터들을 이용하는 센서의 실시예에 대한 동작 개념을 예시하는 블록도이다. 일부 실시예에서, 각각의 센서는 서로 상이한 특성들을 갖도록 설계된 2개의 링 오실레이터들을 포함한다. 2개의 링 오실레이터들은 서로에 대하여 매우 근접하게 구현될 수 있고, 따라서 실질적으로 동일한 전압 및 온도 조건들 하에서 동작할 수 있다. 그러나, 그것들의 특성들이 서로 상이하기 때문에, 2개의 링 오실레이터들은 동일한 전압 및 온도 조건들 하에서 상이한 주파수들로 동작할 수 있다. 이 원리는 각각의 링 오실레이터들로부터의 주파수 판독치들을 사용하여 센서에서 전압 및 온도의 결정을 가능하게 할 수 있다.
예시된 예에서, 2개의 링 오실레이터들(RO1, RO2)은 각각 카운터 1 및 카운터 2에 결합되어 있다. 판독치를 취할 시에, 각각의 링 오실레이터는 그의 각자 결합된 카운터를 미리 결정된 양의 시간 동안 토글링하도록 허용될 수 있다. 미리 결정된 시간이 경과한 이후에, 카운터들은 정지되고 그것들의 카운트 값들은 주파수를 표시하도록 제공될 수 있다.
각각의 링 오실레이터들은 다항식에 의해 특성을 나타낼 수 있다. 더 구체적으로는, 각각의 링 오실레이터에 의해 출력된 주파수는 전압 및 온도의 비선형 함수에 의해 방정식 1에 도시된 바와 같이 주어진 형태로 특성을 나타낼 수 있다:
fRO = Σα ijTiVj (1)
따라서, RO1의 주파수는 다음과 같이 특성을 나타낼 수 있고:
fRO1 = Σα ijTiVj (2),
반면 RO2의 주파수는 다음과 같이 특성을 나타낼 수 있다:
fRO2 = Σ βijTiVj (3).
위 방정식들의 'f' 항들은 주파수를 표현할 수 있거나, 또는 대안적으로, 기준 주파수에 대한 발진 주파수와 위상들의 갯수의 곱의 비율을 표현할 수 있다. 주어진 링 오실레이터에 대응하는 이 수식에서 항들의 갯수의 결정은 그의 특성들에 따라 달라진다. 일반적으로, 비선형 항들의 갯수가 많을수록 다항식들을 이용하여 링 오실레이터 주파수를 표현하는 정확도는 증가한다.
출력 주파수들(또는 위에서 언급한 곱)은 비선형 방정식 계산기에 제공될 수 있다. 링 오실레이터들의 특성을 나타내는 다항식들을 사용하여, 센서에 의해 검출된 바와 같은 전압 및 온도 둘 모두에 대한 연립 방정식의 해를 구할 수 있다. 일 실시예에서, 비선형 방정식 계산기는 (도 1의) 서비스 프로세서(111) 및 그것에 의해 실행되는 소프트웨어 명령어를 사용하여 구현될 수 있다. 더 일반적으로, 비선형 방정식 계산기는 하드웨어, 소프트웨어, 펌웨어, 및 이들의 임의의 조합을 사용하여 구현될 수 있다. 또한, 일부 실시예들에서 비선형 방정식들의 해를 구하는 것은 대응하는 기능성 회로 블록들에서 로컬적으로 수행될 수 있다는 것이 가능하고 고려된다.
위 방정식들의 계수들은 주어진 전압 및 온도 값들의 세트에 대한 실제 링 오실레이터 주파수들에 기초하여 계산될 수 있다. 9항의 함수 및 링 오실레이터 특성들을 계산하는 데 사용되는 24 데이터 포인트들의 세트(전압, 온도, 및 출력 주파수)를 사용하여 주파수가 정의되는 링 오실레이터의 모델을 고려해보자. 더 많은 수의 데이터 포인트들이 계수들을 결정하는 데 사용되면, 결과적인 함수는 대응하는 링 오실레이터의 특성을 더 잘 나타낼 수 있다. 이 기법은 링 오실레이터 특성의 표면 근사로 지칭될 수 있고, 수치해석 기법들을 사용하여 큰 데이터 포인트들의 세트를 다항식으로 맵핑할 수 있다.
예로서, 링 오실레이터의 주파수가 다음의 수식에 의해 정의되는 것으로 고려해보자:
Figure 112018070261379-pct00001
링 오실레이터 주파수의 측정들이
Figure 112018070261379-pct00002
에서 발생하면, 다음의 행렬들이 형성될 수 있다:
Figure 112018070261379-pct00003
Figure 112018070261379-pct00004
Figure 112018070261379-pct00005
여기서
Figure 112018070261379-pct00006
이다.
따라서, 주파수(F)는 F = AX (8)로서 정의될 수 있다. 최소 자승 추정을 사용하여 A 항에 대한 해를 구해서, 원시 표면 근사의 모든 계수들을 연산할 수 있다.
이 개념은 위에서 설명한 바와 같이 각각의 특성을 나타냄으로써 상이한 특성들의 세트를 갖는 2개의 링 오실레이터들로 확장될 수 있다. 따라서, 서로 매우 근접하게 배치되어, 동일한 공급 전압을 수신하고, 실질적으로 동일한 로컬 온도에서 동작하는 2개의 링 오실레이터들은 다음의 두 수식들로 특성을 나타낼 수 있다:
Figure 112018070261379-pct00007
위에서 2개의 링 오실레이터들은 동일한 길이들을 갖는 다항식들로 특성을 나타내는 것으로 가정하지만, 이것이 모든 인스턴스들에 반드시 요구되는 것은 아니다.
위 연립 방정식들의 해를 구하는 복잡성은 부분 선형(PWL) 기법을 사용하여 감소될 수 있다. 이 기법을 사용하여, 링 오실레이터의 출력 주파수에 대한 2차원 비선형 표면은 PWL 함수들의 세트를 사용하여 기술될 수 있다. 전체 전압 및 온도에 대한 동작의 표면은 다수의 삼각형 구역들로 분할될 수 있고, 삼각형 구역마다 대응하는 특성들이 전압 및 온도의 선형 함수를 사용하여 기술될 수 있다. 따라서, 전체 표면은 정수 n개의 PWL 구역들로 쪼개져, 다음과 같이 기술될 수 있다:
Figure 112018070261379-pct00008
PWL 함수들 각각에 대한 계수들은 임의의 주어진 영역을 기술하는 삼각형의 3개의 꼭지점들에서의 출력 주파수들을 사용하여 결정될 수 있다. 예를 들어, 제1 축 상의 온도들(T1 및 T2)과 제2 축 상의 전압들(V1 및 V2) 사이에서 연장되는 삼각형을 기술하는 PWL 함수에 대하여, (T 1, V 1), (T 1, V 2), 및 (T 2, V 1)에서 측정된 주파수들이 각각 f 1, f 2, 및 f 3로 주어지고, PWL에 대한 인덱스가 i로 주어지는 경우, 그 영역의 대응하는 PWL 함수에 대한 계수들을 연산하기 위하여 다음의 방정식들의 세트의 해를 구할 수 있다:
Figure 112018070261379-pct00009
이는 모든 구역에 대하여 반복되어 그것의 PWL 특성을 결정하고, 그에 따라 링 오실레이터에 대한 동작의 표면을 결정할 수 있다.
링 오실레이터들 둘 모두가 PWL 함수의 세트를 이용하여 특성을 나타내게 되면, 비선형 방정식들의 세트의 해를 구하는 것은 PWL 방정식들의 세트의 해를 구하는 것으로 감소될 수 있다. 각각의 PWL 연산에 대하여 해가 구해질 방정식들은 일반적으로 다음과 같이 기술될 수 있다:
Figure 112018070261379-pct00010
온도(T), 및 전압(V)에 대하여 두 방정식들을 풀면, 결과는 다음과 같다:
Figure 112018070261379-pct00011
이전에 언급된 바와 같이, 본 명세서에서 논의되는 계산들은 MCC(105), 구체적으로는 서비스 프로세서(111)에서 수행될 수 있다. 이는 각각의 센서(120)가 작은 영역에서 구현되고 그것의 전력 소비를 제한하도록 허용할 수 있는데, 그 이유는 그 센서가 주파수의 전압 및/또는 온도로의 어떠한 변환도 수행할 필요가 없기 때문이다. 더 일반적으로, 주파수 측정을 위하여 사용되는 특징부들은 각각의 센서(120) 내에 구현될 수 있는 반면, PWL 연산, 공정 변동, 반복, 및 정확도에 대한 보정에 사용되는 특징부들은 MCC(105) 내에 구현될 수 있다.
각각의 링 오실레이터의 표면 근사(및 그에 따른 그의 각자의 PWL 표현)는 공정 코너마다 변경될 수 있고 또한 로컬 온다이(on-die) 변동들을 겪을 수 있다. 또한, 주어진 링 오실레이터의 정확도는 에이징과 같은 영향들로 인해 감소될 수 있다. 따라서, 그러한 링 오실레이터들에 사용되는 보정 방식은 각각의 특성들을 업데이트할 수 있다. 이 특성들은 각각의 링 오실레이터로부터의 정확한 측정들의 제한된 세트에 기초하여 업데이트될 수 있다. 주어진 링 오실레이터에 대한 원시(그러나 정확하지 않음) 모델이 다음과 같은 경우
Figure 112018070261379-pct00012
실제 측정들의 세트를 수행함으로써 계수들을 업데이트하여 링 오실레이터의 더 정확한 모델은 다음과 같다:
Figure 112018070261379-pct00013
이 보정은 원시 모델 및 보정 포인트들의 세트 둘 모두를 고려한다. 포인트들의 갯수가 증가함에 따라, 정확도는 그에 따라 증가한다. 반대로, 보정 알고리즘의 효율성은 최소 갯수의 데이터 포인트들에 기초한 사후보정 모델의 정확도에 의해 결정될 수 있다.
일 실시예에서, 본 개시내용에 따른 보정 알고리즘은 임의의 보정 포인트에서 오차 신호의 스케일링된 값을 사용하여 계수들을 업데이트하는 것을 포함한다. 보정 포인트들 중 임의의 것에 대하여, 오차 신호(e)는 실제 측정과 모델에 의해 예측된 값 사이의 차이로서 정의될 수 있다. 이는∀k∈{1,2,…,m}을 의미한다:
Figure 112018070261379-pct00014
원시 모델(α_ij)의 계수들이 A 0으로 주어진 벡터에 통합되는 경우, 모든 단일 보정 포인트에 대하여 벡터가 업데이트되는 순환 접근법이 이용될 수 있다:
Figure 112018070261379-pct00015
일 실시예에서, G 벡터는 순환 최소 자승(RLS) 기법을 사용하여 결정될 수 있다. 이는 결과적으로, 제한된 보정 데이터의 세트에 기초하여 최종 원하는 값들로의 상대적으로 빠른 수렴을 초래할 수 있다. RLS 기법을 사용할 시에, G 벡터는 각각의 단계 동안 순환적으로 업데이트된다. RLS 기법은 다음과 같은 링 오실레이터의 대안적인 특성을 이용할 수 있다:
Figure 112018070261379-pct00016
여기서 U는 (i +1)(j + 1) 항들의 벡터인데, 즉:
Figure 112018070261379-pct00017
이로부터, 대각 행렬이 형성될 수 있다:
Figure 112018070261379-pct00018
임의의 보정 포인트에 대하여, 다음의 연산들의 세트가 수행될 수 있다:
Figure 112018070261379-pct00019
여기서 λ는 망각 인자이고, e는 오차이다.
따라서, 위에서 설명된 바와 같은 순환 최소 자승 알고리즘을 사용하여, 링 오실레이터의 특성을 나타내는 다항식에 대한 계수들은 보정 절차 동안 업데이트될 수 있다. 그러한 보정들은 다양한 시간들에서, 이를테면 시스템 시동 시에, 시스템/IC의 수명 동안의 선택된 시간들에서, MCC(105) 내의 기준 센서(107) 및 센서(120)의 큰 변동들에 응답하여 등에서 수행될 수 있다. 그와 같이, 전압 및 온도는, 링 오실레이터 주파수들에 기초하여 작은 입지 면적을 갖는 간단한 센서들의 사용을 가능하게 하면서 시스템의 수명에 걸쳐 합리적인 레벨의 정확도로 결정될 수 있다.
도 4는 2개의 링 오실레이터들을 이용하는 센서의 일 실시예를 예시하는 도면이다. 도시된 실시예에서, 센서(140)는 링 오실레이터들(141 및 142)을 포함하고, 이들은 서로에 대하여 상이한 특성들을 가질 수 있다. 이 특정 실시예에서, 링 오실레이터(141)는 직렬 결합된 인버터들을 사용하여 구현되는 반면, 링 오실레이터(142)는 직렬 결합된 NAND 게이트들을 사용하여 구현된다. 링 오실레이터들(141 및 142) 둘 모두는 동일한 공급 전압(Vdd)(로컬)을 수신하도록 결합되고, 서로에 매우 근접하게 배치된다. 그러나, 상이한 회로 구현들로 인해, 링 오실레이터들(141 및 142)은 동일한 동작 조건들에서 상이한 주파수들로 발진할 수 있다. 위 논의에 따르면, 이는 링 오실레이터들(141 및 142)에 의해 생성된 각자의 주파수들이 센서(140)의 전압 및 온도에 대한 해를 구하기 위한 기초가 될 수 있게 할 수 있다.
링 오실레이터들(141 및 142)은 카운터들(143 및 144)에 각각 결합된다. 이 카운터들은 그것들의 각자 결합된 링 오실레이터들 내의 하나 이상의 탭 포인트들에 결합될 수 있다. 측정을 수행하는 동안, 카운터들(143 및 144)은 결과적으로 링 오실레이터들(141 및 142)에 의해 생성된 주파수들을 표시할 수 있는 하나 이상의 카운트 값들을 각각 추적할 수 있다. 일부 실시예들에서, 각각의 카운터들(143 및 144)은 카운터들이 측정 동안 카운트를 누적하도록 허용하기 위한 실행 시간을 추적하는 각자의 타이머를 포함할 수 있다. 카운터들 둘 모두에에 결합되는 별개의 타이머가 제공되는 다른 실시예들이 가능하고 고려된다.
카운터들(143 및 144)은 각각 레지스터(144)에 결합된다. 레지스터(144)를 사용하여, (도 1의) MCC(105)는 정보를 카운터들에 입력할 수 있고, 또한 그로부터 정보를 수신할 수 있다. 예를 들어, 카운터가 대응적으로 결합된 링 오실레이터의 발진에 의해 생성된 카운트 값을 추적하는 실행 시간을 표시하는 정보는 MCC(105)로부터, 레지스터(145)를 통해 카운터 안으로 입력될 수 있다. 시작 표시는 또한 레지스터(145)를 통해 입력될 수 있다. 카운터들(143 및 144)로부터, 레지스터(145)는 실제 측정 동안 생성된 카운트 값들을 수신할 수 있다. 도 1에 도시된 실시예에 따라, 이 값들은 전압 및 온도 값들을 연산하는 데 사용하기 위하여 계측 버스(13)를 통해 MCC(105)로 직렬로 시프트될 수 있다. 레지스터(145)가 MCC(105)의 구현에 직접 결합되는 실시예들이 또한 가능하고 고려된다.
도 5는 단일 링 오실레이터를 이용하는 센서의 일 실시예를 예시하는 도면이다. 이 유형의 센서를 사용하여, 전압 및 온도는 상이한 입력 전압들에서 측정들이 수행되는 단일 링 오실레이터를 사용하여 측정들을 진행하는 다중 감지 기법을 사용하여 결정될 수 있다. 이 특정 실시예에서 링 오실레이터(151)는 바이어스 전압(VBias), 및 선택형 입력 전압(Vin)을 수신하도록 결합된다. 바이어스 전압은 그러한 전압을 생성하기 위한 임의의 적합한 회로부에 의해 생성될 수 있고, 모든 측정들에 대하여 실질적으로 동일할 수 있다. 바이어스 전압을 생성하기 위한 회로부는 센서에 대하여 로컬일 수 있거나, 또는 광역적으로 생성되어 센서들 각각에 분배될 수 있다. 입력 전압(Vin)은 선택 회로(155)를 통해 입력된 전압 중 어느 하나일 수 있다. 일 실시예에서 이 전압들의 생성은 도 6을 참조하여 아래에서 추가로 설명된다. 이 전압들을 선택하기 위한 선택 신호의 제어는 MCC(105)에 의해 수행될 수 있다.
도시된 실시예의 링 오실레이터(151)는 하나 이상의 탭 포인트들을 통해 카운터(152)에 결합되어, 동작할 경우 카운터가 토글링되도록 할 수 있다. 따라서 카운터(152)는 카운트 값을 추적할 수 있고, 미리 결정된 기간의 종료 시에, 카운팅을 중단하고 카운트 값을 레지스터(153)에 제공할 수 있다. 이어서 카운트 값은 전압 및 온도 연산을 위하여 MCC(105)에 전달될 수 있다. 유사하게, 카운터(152)는 MCC(105)로부터, 레지스터(153)를 통해, 도 4의 실시예를 참조하여 위에서 설명한 것과 유사한 방식으로 정보를 수신할 수 있다.
링 오실레이터(151)는 도 3을 참조하여 위에서 설명한 것과 유사한 방식으로 다항식에 의해 특성을 나타낼 수 있다. 그 기법은 다수의 전압들 및 주파수들에서 이루어지는 다수의 주파수 측정들에 대한 표면 근사 기법을 수반할 수 있다. 즉, 링 오실레이터(151)의 주파수 응답은, 전압 및 온도의 관점에서, 위 방정식(1) 및 방정식(4)에 따라 특성을 나타낼 수 있다.
전압 및 온도 측정들을 수행하기 위하여, 주파수 측정들은 선택기(155)를 통해 제공되는 4개의 상이한 입력 전압들에서 행해질 수 있다. 다음의 주파수 측정들이 행해질 수 있다:
V in = V GS1인 경우, f 1 = f 0 + K VCO(V GS1 - V 0) (23),
V in = V GS2인 경우, f 2 = f 0 + K VCO(V GS2 - V 0) (24),
V in = a1 V 인 경우, f3 = f 0 + K VCO(a1 V - V 0) (25), 및
V in = a2V 인 경우, f4 = f 0 + K VCO(a2 V - V 0) (26).
위 방정식들의 세트는 링 오실레이터의 동일한 선형화된 모델(즉 KVCO, V0, 및 f0)이 그것들 모두에 사용될 수 있도록 a1V 및 a2V가 VGS1 및 VGS2에 가깝게 선택됨을 가정한다.
위 측정으로부터, 다음 방정식이 도출될 수 있다:
(f 4 - f 3) / (f 2 - f 1) = (a 2 - a 1)V / (V GS1 - V GS2) (27).
임계치 미만 구역에서 VTlnN, 및 VT는 kT/q로 다시 쓰여질 수 있다. 따라서, 방정식(25)는 다음과 같이 다시 쓰여질 수 있다:
(f 4 - f 3) / (f 2 - f 1) = (a 2 - a 1)V / (kT/q)lnN (28).
이로부터, 링 오실레이터 특성은 다음과 같이 간소화할 수 있다:
fRO = Σβ ijTiTj (29).
방정식(27)을 사용하여, 온도(T)에 대한 해가 구해진 뒤, 전압(V)에 대한 해를 구하기 위하여 다항식 특성에 다시 대입될 수 있다.
ATE를 사용하는 보정에 대하여, 주파수들은 2개의 온도들 및 2개의 공급 전압들에서 결정될 수 있다. 다른 측정된 주파수들에 선형 보간법이 사용될 수 있다. 부가적인 주파수 측정들이 표면 근사를 개선할 수 있다. 동작 동안, 부가적인 측정들이 취해질 수 있고, 결과들은 원하는 갯수가 대체될 때까지 보간된 값들을 대체하는 데 사용된다. 이는 결과적으로 정상 동작 동안 취해진 측정들의 정확도를 개선할 수 있다.
도 6은 센서(120) 내에서 그리고 그와 함께 사용되는 회로 소자들의 개략도들을 포함한다. 도시된 실시예에서, 링 오실레이터(151)는 다수의 직렬 결합된 인버터들(161)을 포함한다. 각각의 인버터(161)는 2개의 PMOS(p-채널 금속 산화물 반도체) 및 2개의 NMOS(n-채널 금속 산화물 반도체) 트랜지스터들의 스택을 포함한다. PMOS 스택은 P1 및 P2를 포함하는 반면, NMOS 스택은 N1 및 N2를 포함한다. 동작 동안, P1의 게이트 단자는 도 5를 참조하여 위에서 논의된 입력 전압들 중 하나를 수신한다. 유사하게, N1은 그의 각자의 게이트 단자 상에서 바이어스 전압(VBias)을 수신한다. P2 및 N2는 각각 입력 노드에 결합된 각자의 게이트 단자들 및 출력 노드에 결합된 각자의 드레인 단자들을 갖는다. 따라서, P2 및 N2는 실제 인버터 기능들을 수행하도록 동작한다. N1은 인버터의 특성들을 설정하도록 동작하는 반면, P1은 상이한 Vin의 값들을 통해, 인버터의 특성들을 변경시키도록 동작한다. 링 오실레이터(151)의 각각의 인버터(161)는 이러한 방식으로 구성될 수 있다. 인버터들(161) 각각의 P1에 제공되는 입력 전압을 변경시킬 시에, 링 오실레이터(151)의 특성들 및 그에 따라 링 오실레이터(151)에 의해 출력되는 주파수가 변경될 수 있다. 이는 결과적으로 각각의 센서에 의해 검출되는 온도 및 전압(즉, 공급 전압)을 결정하기 위한 보정들 및 측정들이 수행되도록 허용할 수 있다.
도시된 실시예의 기준 회로(162)는 각각의 인버터(161)의 P1에 Vin으로서 제공될 수 있는 다양한 전압들을 생성하도록 구성된다. 회로는 PMOS 트랜지스터들(P3, P4, 및 P5), 및 NMOS 트랜지스터들(N3 및 N4)을 포함한다. 트랜지스터(P3)는 Vdd(로컬)와 저항기(R1) 사이에 결합되는데, 저항기(R1)는 상대적으로 큰 저항 값을 갖는다. 이 저항기는 P3, P4, 및 P5에 대한 게이트 전압을 설정한다. 전압들(VGS1 및 VGS2)은 P4 및 P5의 드레인 단자들로부터 각각 취해진다. P4와 P5의 상대적인 크기는 1 : N이고, 따라서 전압들(VGS1, VGS2)은 상이하다(이는 또한 방정식(26)의 'N' 항의 소스임). R1에 큰 저항 값을 사용하는 것은 N3 및 N4를 통해 흐르는 전류가 매우 작아지고 따라서 디바이스들이 임계치 미만 구역에서 동작하는 것을 보장한다. 이는 VGS1과 VGS2의 차이가 절대 온도(PTAT) 전압에 비례하는 것을 보장한다. 다른 2개의 전압들(a1V, a2V)은 저항 사다리(163) 상의 탭 포인트들로부터 생성된다.
기준 회로(162)는 다양한 방식들로 구현될 수 있다. 일 실시예에서, 각각의 센서는 그에 전용되는 기준 회로(162)를 포함할 수 있다. 다른 실시예에서, 각각의 기능성 회로 블록은 각각의 센서의 링 오실레이터(151)에 이 전압들을 제공하는 기준 회로(162)를 가질 수 있다. 또 다른 실시예에서, 각각 상이한 전압 공급장치(또는 전압 레일)는 기준 회로(162)와 연관될 수 있는데, 이는 동일한 공급원으로부터 공급 전압을 수신하는 각각의 링 오실레이터(151)에 다양한 전압들을 분배한다.
이제, 도 7을 참조하면, 비교기 유닛의 일 실시예의 블록도가 도시된다. 일 실시예에서 비교기 유닛(160)은 하드와이어드 회로부로 구현될 수 있다. 다른 실시예에서, 비교기 유닛(160)은 회로부 및 펌웨어의 조합을 사용하여 구현될 수 있다. 또 다른 실시예에서, 비교기 유닛(160)은, 예를 들어, 프로세싱 회로 및 그에 의해 실행되는 소프트웨어 명령어들을 갖는 서비스 프로세서(111)에서 구현될 수 있다. 일반적으로, 비교기 유닛은 하드웨어, 소프트웨어, 및/또는 펌웨어의 임의의 적합한 조합을 사용하여 구현될 수 있다.
도 7에 도시된 실시예는 델타 비교기(167) 및 3개의 비교기들(168)을 포함한다. 본 명세서에 도시된 비교기들(168)의 갯수는 예시적인 것이고, 다른 실시예들은 더 많거나 또는 더 적은 갯수의 비교기들을 구현할 수 있다. 비교기들(168)은 (디지털 형태로 수신된) 전압 판독치를 대응하는 임계치 값과 비교하는 데 사용될 수 있다. 본 명세서에 도시된 각각의 비교기(168)는 수신된 전압을 상이한 임계치와 비교한다. 예를 들어, 제1 임계치는 공급 전압에 대한 가드 대역 내에 있지만, 그 가드 대역의 에지에 상대적으로 가까울 수 있다. 제2 임계치는 가드 대역 외부에 있고 제1 임계치보다 작을 수 있다. 제3 임계치는 제2 임계치보다 작을 수 있다. 수신된 전압 값을 이들 임계치들과 비교함으로써, 저전압(또는 전압 강하) 조건의 존재 뿐만 아니라 그의 심각도가 검출될 수 있다.
전압 판독치들은 또한 하나의 클록 사이클로부터 다음의 클록 사이클까지의 공급 전압의 변화율 및 변화 방향을 결정하도록 기울기 비교들을 수행하기 위해 제공된다. 도시된 실시예의 비교기 유닛(160)은 디지털 형태로 제공된 전압 값을 수신하도록 결합된 클록된 저장 소자(164)를 포함한다. 각각의 클록 사이클 상에서, 클록된 저장 소자는 수신된 전압 값을 기울기 검출기(165)로 출력할 수 있다. 기울기 검출기(165)는 적어도 2개의 가장 최근에 수신된 전압 값들을 저장하고 그 둘 사이의 비교를 수행하여, 임의의 전압 변화의 크기 및 방향을 결정할 수 있다. 예를 들어, 음의 기울기는 전압이 하강하고 있다는 것을 표시할 수 있는 반면, 양의 기울기는 전압이 상승하고 있다는 것을 표시할 수 있다. 기울기는 기울기를 기울기 임계치와 비교할 수 있는 델타 비교기(167)에 제공된다. 비교 결과는 기울기가 임계치 미만인 사이클들의 갯수를 카운팅할 수 있는 카운터(166)에 제공될 수 있다. 카운터(166)는 또한 카운트 값을 카운트 임계치와 비교할 수 있다.
일부 실시예들에서, 델타 비교기(168)의 다수의 인스턴스들이 구현될 수 있고, 다수의 카운터들이 구현되어 위에서 논의된 것과 동일한 기능을 수행할 수 있음을 유의한다.
비교기들(168) 및 카운터(166)의 출력은 트리거 로직(169)에 제공될 수 있다. 도시된 실시예에서, 트리거 로직(168)은 다양한 비교들의 결과들을 어그리게이팅(aggregate)하고, 전압을 특정 제한들 내로 가져오기 위해 하나 이상의 전압 정정 액션들이 취해질 것인지를 결정할 수 있다. 더욱이, 트리거 로직(169)은 또한 전압을 다시 그의 특정 제한들 내로 가져오기 위해 취해질 액션들의 유형 또는 유형들을 결정할 수 있다. 결과적인 출력은 PMU(115)에 제공되는 디지털 코드일 수 있으며, 이어서 PMU(115)는 전압 정정 액션(들)이 수행되게 하는 부가적인 신호들을 생성할 수 있다.
전압을 다시 특정 범위 내로 가져오기 위해 수행되는 액션들은 다양한 비교 결과들에 따라 변경될 수 있다. 예를 들어, 전압이 그의 특정 제한들 내에 있지만 소정의 양의 시간 동안 음의 기울기를 가졌다는 것을 비교 결과들이 표시하면, 이는 전압 강하가 발생할 가능성이 있거나 임박했음을 표시할 수 있다. 따라서, 트리거 로직(169)은 그러한 조건을 검출하는 것에 응답하여, PMU(115)에 의해 취해질 제1 전압 정정 액션을 표시하는 제1 디지털 코드를 생성할 수 있다. 예를 들어, 코드는 PMU(115)가 전압 강하를 저지하거나 최소화시키기 위해 클록 주파수를 감소시켜, 전압이 특정 제한들 내에 완전히 있을 때까지 감소된 값으로 주파수를 유지시킨다는 것을 표시할 수 있다.
다른 상황에서, 비교는 전압이 현저히 그의 가드 대역 밖에 있고 기울기가 임계치를 초과할 만큼 충분한 시간에서 음이라는 것을 표시할 수 있다. 이는 결과적으로 상대적으로 심각한 전압 강하를 표시할 수 있다. 이러한 경우, 트리거 로직(169)은 PMU(115)가 조건을 정정하기 위해 다수의 액션들을 수행하는 것을 초래하는 코드를 생성할 수 있다. 예를 들어, PMU(115)는 전원 공급장치 또는 전압 조절기가 대응하는 기능성 회로부에 제공되는 전류의 양을 증가시키게 하는 신호들을 생성하면서, 그 기능성 회로부에 제공되는 클록 신호의 주파수 감소를 또한 수행할 수 있다.
또 다른 제3 예에서, 비교 결과들은 전압이 그의 특정 가드 대역 외부에 있다는 것을 표시할 수 있는 반면, 카운터는 기울기가 카운트 임계치를 초과하는 시간 동안 음이 아니라는 것을 표시한다(또는 대안적으로, 다른 델타 비교기는 기울기가 양이라는 것(이는 전압이 상승하고 있다는 것을 표시함)을 표시할 수 있음). 이는 현재의 전압 강하가 덜 심각하거나, 또는 정정 액션들이 이전에 취해졌다면 강하가 해결되었다는 것을 표시할 수 있다. 어떠한 이전의 액션들도 취해지지 않았다면, 트리거 로직(169)은 PMU(115)가 단일 액션, 이를테면 대응하는 기능성 회로 블록을 스로틀링하는 것 또는 그 기능성 회로 블록에 제공되는 전류의 양을 증가시키는 것을 수행하기 위한 신호들을 생성하게 하는 디지털 코드를 생성할 수 있다. 대안적으로, 전압 강하 조건이 이전에 존재했고 다수의 액션들을 수행하기 위한 디지털 코드가 생성되었다면, 트리거 로직(169)은 이러한 상황에서 그 액션들 중 하나를 수행하는 것을 중단하기 위해 디지털 코드를 변경시킬 수 있다.
일반적으로, 트리거 로직(169)은 다수의 상이한 조건들에 대해 수행될 전압 정정 액션들을 표시하도록 다수의 상이한 방식들로 구성될 수 있다. 조건들은 전압과 전압 임계치의 하나 이상의 비교들, 기울기와 기울기 임계치의 하나 이상의 비교들, 및 기울기 임계치가 초과된 시간의 카운트와 카운트 임계치의 하나 이상의 비교들을 포함하는 비교들의 조합에 기초할 수 있다.
이제, 도 8을 참조하면, PMU(115)의 일 실시예가 도시된다. 도시된 실시예에서, PMU(115)는 비교 유닛(160)으로부터 전압 정정 액션 코드(즉, 디지털 코드)를 수신하도록 결합된 디코드 유닛(175)을 포함한다. 디코드 유닛(175)은 존재하는 경우, 수행될 액션 또는 액션들의 유형을 결정하기 위해 디코드 동작을 수행할 수 있다.
전압 정정 액션이 전원 공급장치 및/또는 전압 조절기를 수반하면, 디코드 유닛은 대응하는 전력 공급 제어 신호들을 전력 공급 제어 유닛(171)에 제공할 수 있다. 전력 공급 제어 유닛(171)은 전원 공급장치 및/또는 전압 조절기가 하나 이상의 공급 전압 관련 액션들(예를 들어, 전류 흐름을 증가시킴)을 수행하게 하는 전력 공급 제어 신호들을 생성함으로써 응답할 수 있다.
수신된 전압 정정 액션 코드가 클록 제어 액션이 수행될 것임을 표시하면, 디코드 유닛(175)은 클록 제어 유닛(173)에 제공되는 클록 제어 신호들을 생성할 수 있다. 클록 제어 유닛(173)은 클록 생성 유닛 및/또는 하나 이상의 클록 게이팅 회로들에 제공되는 클록 제어 신호들을 생성함으로써 응답할 수 있다. 액션들은 클록 트리의 다양한 레벨들의 하나 이상의 클록 게이팅 회로들에서 클록 신호를 억제하는 것, (공급원에서 또는 클록 게이팅 회로들을 조작함으로써) 주파수를 변경시키는 것, 또는 미리 결정된 시간 기간 동안 대응하는 기능성 회로 블록에 제공되는 클록 신호를 완전히 억제하는 것을 포함할 수 있다.
이제 도 9를 참조하면, 디지털 저전압 조건의 존재 및 정정을 결정하기 위한 방법의 일 실시예를 예시하는 흐름도가 도시된다. 방법(900)은 위에서 논의된 것들과 같은 다양한 하드웨어/소프트웨어/펌웨어 실시예들을 사용하여 수행될 수 있다. 부가적으로, 방법(900)은 본 명세서에서 명시적으로 논의되지 않은 다른 실시예들을 이용하여 수행될 수 있다.
방법(900)은 연속적인 클록 사이클들에 걸쳐 전압 판독치들을 수신 및 비교하는 단계(블록(905))로 시작한다. 센서들은 링 오실레이터들을 사용하여 구현될 수 있고, 감지된 전압은 대응하는 다항식들에 의해 표시된 바와 같은 그것들의 특성들에 부가하여 각각의 링 오실레이터들에 의해 출력된 주파수에 기초하여 계산될 수 있다. 계산된 전압 값들은 하나 이상의 전압 임계치 값들과 비교될 수 있다.
이는 방법을 수행하는 장치가 구현되는 시스템의 동작 동안 진행될 수 있다. 방법(900)은 전압 변화 기울기를 기울기 임계치와 비교하는 단계(블록(910))를 더 포함한다. 이는 전압이 자신의 공칭의 특정 값을 향해 이동하고 있는지 또는 그로부터 멀리 이동하고 있는지를 표시할 수 있다. 기울기는 비교 직전에 결정될 수 있고, 크기 및 방향 값을 가질 수 있다. 기울기가, 예를 들어 임계치 값에 대해 음인 시간의 양을 추적하기 위해 기울기 비교와 함께 선택적인 카운트 비교 동작이 또한 수행될 수 있다.
각각의 비교들의 결과들은 임의의 전압 정정 액션이 수행될지를 결정하도록 어그리게이팅될 수 있다(블록(915)). 방법(900)의 이러한 부분은 또한 전압 강하를 정정하기 위해 수행될 액션들의 유형 또는 유형들의 결정을 포함할 수 있다. 위에서 언급된 바와 같이, 다수의 상이한 액션들이 수행될 수 있고, 이들 액션들은 클록 신호를 제어하는 것 및 전원 공급장치 및/또는 전압 조절기의 출력을 제어하는 것의 다양한 조합들을 포함할 수 있다. 어떠한 전압 정정 액션도 취해지지 않으면(블록(920)에서 아니오), 방법(900)은 블록(905)으로 복귀하며, 각각의 클록 사이클 상에서 전압 값들을 수신하고 그 전압 값들에 기초하여 비교들을 수행하는 것이 계속된다. 전압 정정 액션이 수행되면(블록(920)에서 예), 전력 관리 유닛은 전력 공급 제어 및/또는 클록 제어를 통해 액션을 수행할 수 있다(블록(925)).
다음으로 도 10을 참조하면, 시스템(150)의 일 실시예의 블록도가 도시된다. 예시된 실시예에서, 시스템(150)은 외부 메모리(158)에 결합된 집적 회로(10)의 적어도 하나의 인스턴스를 포함한다. 집적 회로(10)는 외부 메모리(158)에 결합되는 메모리 제어기를 포함할 수 있다. 집적 회로(10)는 하나 이상의 주변장치들(154) 및 외부 메모리(158)에 결합된다. 또한 집적 회로(10)에 공급 전압들을 공급할 뿐만 아니라, 메모리(158) 및/또는 주변장치들(154)에 하나 이상의 공급 전압들을 공급하는 전원 공급장치(156)가 제공된다. 일부 실시예들에서, 집적 회로(10)의 1개 초과의 인스턴스가 포함될 수 있다(그리고 1개 초과의 외부 메모리(158)가 또한 포함될 수 있음).
주변장치들(154)은 시스템(150)의 유형에 따라 임의의 원하는 회로부를 포함할 수 있다. 예를 들어, 일 실시예에서, 시스템(150)은 모바일 디바이스(예를 들어, 개인 휴대 정보 단말기(personal digital assistant, PDA), 스마트 폰 등)일 수 있고, 주변장치들(154)은 WiFi, 블루투스(Bluetooth), 셀룰러, 글로벌 포지셔닝 시스템 등과 같은 다양한 유형들의 무선 통신용 디바이스들을 포함할 수 있다. 또한, 주변장치들(154)은 RAM 저장소, 솔리드 스테이트 저장 소(solid state storage) 또는 디스크 저장소를 포함하는 부가적인 저장소를 포함할 수 있다. 주변장치들(154)은 터치 디스플레이 스크린들 또는 멀티터치 디스플레이 스크린들을 포함하는 디스플레이 스크린, 키보드 또는 다른 입력 디바이스들, 마이크로폰들, 스피커들 등과 같은 사용자 인터페이스 디바이스들을 포함할 수 있다. 다른 실시예들에서, 시스템(150)은 임의의 유형의 컴퓨팅 시스템(예를 들어, 데스크톱 개인용 컴퓨터, 랩톱, 워크스테이션, 태블릿 등)일 수 있다.
외부 메모리(158)는 임의의 유형의 메모리를 포함할 수 있다. 예를 들어, 외부 메모리(158)는 SRAM, 동적 RAM(DRAM), 이를테면 동기식 DRAM(SDRAM), 더블 데이터 레이트(DDR, DDR2, DDR3, LPDDR1, LPDDR2, 등) SDRAM, RAMBUS DRAM 등일 수 있다. 외부 메모리(158)는 메모리 디바이스들이 장착되는 하나 이상의 메모리 모듈들, 이를테면 단일 인라인 메모리 모듈(SIMM)들, 듀얼 인라인 메모리 모듈(DIMM)들 등을 포함할 수 있다.
상기의 개시내용이 완전히 이해된다면, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어서 다수의 변형들 및 수정들이 명백해질 것이다. 다음의 청구범위는 모든 그러한 변형들 및 수정들을 망라하는 것으로 해석되는 것으로 의도된다.

Claims (20)

  1. 집적 회로로서,
    제1 클록 사이클 및 상기 제1 클록 사이클에 연속적인 제2 클록 사이클 각각에 걸쳐 전압 공급 노드 상에 존재하는 전압을 검출하도록 구성된 센서(120) - 상기 센서는 서로에 대하여 상이한 특성들을 갖는 제1 및 제2 링 오실레이터들(141, 142)을 포함하고, 상기 제1 및 제2 링 오실레이터들 각각은 각자의 주파수 정보를 연산 회로(105)에 제공하도록 결합되며, 상기 연산 회로는 상기 제1 및 제2 링 오실레이터들 각각으로부터 수신된 주파수 정보에 기초하여 상기 제1 클록 사이클 및 상기 제2 클록 사이클 각각에서 상기 전압을 계산하도록 구성됨 -;
    상기 제1 클록 사이클 및 상기 제2 클록 사이클 각각에서 검출된 전압들을 복수의 전압 임계치들 각각과 비교하도록 구성된 비교 회로부(168);
    상기 제1 클록 사이클로부터 상기 제2 클록 사이클까지 상기 전압 공급 노드 상에 존재하는 상기 전압의 변화율을 하나 이상의 기울기 임계치들과 비교하도록 구성된 델타 비교기(167); 및
    상기 비교 회로부 및 상기 델타 비교기에 의해 수행된 비교들에 기초하여 하나 이상의 전압 조정 액션들이 취해질지를 결정하도록 구성되고, 적어도 하나가 취해질 것이라고 결정하는 것에 응답하여 상기 하나 이상의 전압 조정 액션들을 수행하도록 추가로 구성된 제어 회로부(115)를 포함하는, 집적 회로.
  2. 제1항에 있어서,
    상기 비교 회로부는,
    상기 제1 클록 사이클 및 상기 제2 클록 사이클 중 하나에서 검출된 전압을 제1 전압 임계치와 비교하도록 구성된 제1 비교기; 및
    상기 제1 클록 사이클 및 상기 제2 클록 사이클 중 하나에서 검출된 전압을 제2 전압 임계치와 비교하도록 구성된 제2 비교기 - 상기 제2 전압 임계치는 상기 제1 전압 임계치와는 상이함 - 를 포함하는, 집적 회로.
  3. 제1항에 있어서,
    상기 비교 회로부 및 상기 델타 비교기는 상기 전압 조정 액션을 수행하는 것에 후속하여 각자의 비교들을 수행하는 것을 계속하도록 구성되는, 집적 회로.
  4. 제3항에 있어서,
    상기 제어 회로부는 상기 비교 회로부 및 상기 델타 비교기로부터 수신된 정보에 기초하여, 상기 적어도 하나의 전압 조정 액션이 성공적이라고 결정하는 것에 응답하여 상기 하나 이상의 전압 조정 액션들 중 적어도 하나를 수행하는 것을 중단하도록 구성되는, 집적 회로.
  5. 제1항에 있어서,
    상기 하나 이상의 전압 조정 액션들을 수행하는 것은,
    상기 센서가 구현되는 기능성 회로 블록을 스로틀링하는 것;
    상기 센서가 구현되는 기능성 회로 블록의 적응적 클록킹을 수행하는 것; 및
    상기 센서가 구현되는 기능성 회로 블록에 공급되는 전류의 양을 증가시키는 것
    중 하나 이상을 수행하는 것을 포함하는, 집적 회로.
  6. 제1항에 있어서,
    상기 제어 회로부는, 상기 전압이 적어도 제1 전압 임계치보다 작고 상기 변화율이 제1 기울기 임계치를 초과하는 것에 응답하여 제1 전압 조정 액션을 수행하도록 구성되는, 집적 회로.
  7. 제6항에 있어서,
    상기 제어 회로부는, 상기 전압이 적어도 상기 제1 전압 임계치보다 작고 상기 변화율이 상기 제1 기울기 임계치보다 작은 것에 응답하여 제2 전압 조정 액션을 수행하도록 구성되는, 집적 회로.
  8. 제7항에 있어서,
    상기 제어 회로부는, 상기 전압이 적어도 상기 제1 전압 임계치보다 작고 상기 변화율이 제2 기울기 임계치보다 작은 것에 응답하여 제3 전압 조정 액션을 수행하도록 구성되는, 집적 회로.
  9. 제1항에 있어서,
    상기 제1 및 제2 링 오실레이터들 각각은 각자의 다항식에 의해 특성을 나타내며,
    상기 연산 회로는 상기 제1 및 제2 링 오실레이터들의 동작 주파수들 및 상기 제1 및 제2 링 오실레이터들 각각의 특성을 나타내는 각자의 다항식들을 사용하여 전압 및 온도에 대한 해를 구함으로써 상기 센서에 의해 검출된 전압을 결정하도록 구성되는, 집적 회로.
  10. 집적 회로에 의해 수행되는 저전압 조건들을 검출하고 정정하기 위한 방법(900)으로서,
    제1 클록 사이클 및 상기 제1 클록 사이클에 연속적인 제2 클록 사이클에 걸쳐 전압 공급 노드 상의 각자의 전압들을 결정하는 단계(905) - 상기 전압은 서로에 대하여 상이한 특성들을 갖는 제1 및 제2 링 오실레이터들(141, 142)의 각자의 주파수들에 기초하여 상기 전압을 계산하도록 구성된 연산 회로(105)를 갖는 센서(120)에 의해 결정됨 -;
    상기 각자의 전압들을 복수의 전압 임계치들 각각과 비교하는 단계(905);
    상기 제1 클록 사이클 및 상기 제2 클록 사이클 각각에 대한 전압 공급 노드 상에서 검출된 전압들에 기초하여 상기 전압의 변화율을 결정하는 단계(910);
    상기 전압의 변화율을 하나 이상의 기울기 임계치들과 비교하는 단계(910); 및
    상기 각자의 전압들을 복수의 전압 임계치 및 상기 하나 이상의 기울기 임계치들과 비교하는 것으로부터의 결과들에 기초하여 하나 이상의 전압 조정 액션들이 제어 회로부(115)에 의해 수행될지를 결정하는 단계(925)를 포함하는, 저전압 조건들을 검출하고 정정하기 위한 방법(900).
  11. 제10항에 있어서,
    제1 비교기 회로(168)가 상기 제1 클록 사이클 및 상기 제2 클록 사이클 중 하나에서 검출된 전압을 제1 전압 임계치와 비교하는 단계; 및
    제2 비교기 회로(168)가 상기 제1 클록 사이클 및 상기 제2 클록 사이클 중 하나에서 검출된 전압을 제2 전압 임계치와 비교하는 단계 - 상기 제2 전압 임계치는 상기 제1 전압 임계치와는 상이함 - 를 더 포함하는, 저전압 조건들을 검출하고 정정하기 위한 방법(900).
  12. 제10항에 있어서,
    상기 각자의 전압들을 복수의 전압 임계치 및 상기 하나 이상의 기울기 임계치들과 비교하는 것으로부터의 결과들에 기초하여 전압 조정 액션을 수행하는 단계 - 전압 조정 액션은 상기 전압 공급 노드 상에 존재하는 전압을 특정 범위 내로 복귀시키기 위한 액션들을 수행하는 것을 포함함 -;
    상기 전압 조정 액션을 수행하는 단계에 후속하여, 상기 각자의 전압들을 복수의 전압 임계치들 각각과 비교하는 것 및 상기 제1 클록 사이클 및 상기 제2 클록 사이클 각각에 대한 전압 공급 노드 상에서 검출된 전압들에 기초하여 상기 전압의 변화율을 결정하는 것을 계속하는 단계를 더 포함하는, 저전압 조건들을 검출하고 정정하기 위한 방법(900).
  13. 제12항에 있어서,
    상기 전압 공급 노드 상에 존재하는 전압이 상기 특정 범위 내로 복귀된다는 표시에 응답하여 전압 조정 액션을 수행하는 것을 중단하는 단계를 더 포함하는, 저전압 조건들을 검출하고 정정하기 위한 방법(900).
  14. 제12항에 있어서,
    상기 전압 조정 액션을 수행하는 단계는,
    상기 센서가 구현되는 기능성 회로 블록을 스로틀링하는 것;
    상기 기능성 회로 블록의 적응적 클록킹을 수행하는 것; 및
    상기 기능성 회로 블록에 공급되는 전류의 양을 증가시키는 것
    중 하나 이상을 수행하는 단계를 포함하는, 저전압 조건들을 검출하고 정정하기 위한 방법(900).
  15. 제10항에 있어서,
    상기 제어 회로부를 사용하여, 상기 전압이 적어도 제1 전압 임계치보다 작고 상기 변화율이 제1 기울기 임계치를 초과하는 것에 응답하여 제1 전압 조정 액션을 수행하는 단계;
    상기 제어 회로부를 사용하여, 상기 전압이 적어도 상기 제1 전압 임계치보다 작고 상기 변화율이 상기 제1 기울기 임계치보다 작은 것에 응답하여 제2 전압 조정 액션을 수행하는 단계; 및
    상기 제어 회로부를 사용하여, 상기 전압이 적어도 상기 제1 전압 임계치보다 작고 상기 변화율이 제2 기울기 임계치보다 작은 것에 응답하여 제3 전압 조정 액션을 수행하는 단계를 더 포함하는, 저전압 조건들을 검출하고 정정하기 위한 방법(900).
  16. 제10항에 있어서,
    상기 제1 및 제2 링 오실레이터들 각각은 각자의 다항식에 의해 특성을 나타내며,
    상기 방법은, 상기 연산 회로가 상기 제1 및 제2 링 오실레이터들의 동작 주파수들 및 상기 제1 및 제2 링 오실레이터들 각각의 특성을 나타내는 각자의 다항식들을 사용하여 전압 및 온도에 대한 해를 구함으로써 상기 센서에 의해 검출되는 전압을 결정하는 단계를 더 포함하는, 저전압 조건들을 검출하고 정정하기 위한 방법(900).
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020187020469A 2016-01-21 2017-01-11 디지털 저전압 검출 및 제어를 위한 방법 및 장치 KR102134527B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/002,495 US9825620B2 (en) 2016-01-21 2016-01-21 Method and apparatus for digital undervoltage detection and control
US15/002,495 2016-01-21
PCT/US2017/013016 WO2017127269A1 (en) 2016-01-21 2017-01-11 Method and apparatus for digital undervoltage detection and control

Publications (2)

Publication Number Publication Date
KR20180095891A KR20180095891A (ko) 2018-08-28
KR102134527B1 true KR102134527B1 (ko) 2020-07-15

Family

ID=57915105

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187020469A KR102134527B1 (ko) 2016-01-21 2017-01-11 디지털 저전압 검출 및 제어를 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US9825620B2 (ko)
EP (1) EP3405850B1 (ko)
JP (1) JP6621929B2 (ko)
KR (1) KR102134527B1 (ko)
CN (1) CN108475101B (ko)
WO (1) WO2017127269A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10437311B2 (en) 2016-09-06 2019-10-08 International Business Machines Corporation Mitigation of on-chip supply voltage noise by monitoring slope of supply voltage based on time-based sensors
US10261561B2 (en) * 2016-09-06 2019-04-16 International Business Machines Corporation Mitigation of on-chip supply voltage based on local and non-local (neighboring) cores' supply voltage information and decision
KR20180090495A (ko) * 2017-02-03 2018-08-13 삼성전자주식회사 반도체 장치의 테스트 방법 및 이를 수행하는 테스트 시스템
CN107063487B (zh) * 2017-06-13 2019-09-20 京东方科技集团股份有限公司 温度传感器、显示面板和显示装置
US11073884B2 (en) * 2017-11-15 2021-07-27 International Business Machines Corporation On-chip supply noise voltage reduction or mitigation using local detection loops
JP2019106053A (ja) * 2017-12-13 2019-06-27 ルネサスエレクトロニクス株式会社 半導体装置
US10627883B2 (en) * 2018-02-28 2020-04-21 Advanced Micro Devices, Inc. Onboard monitoring of voltage levels and droop events
US11531385B2 (en) 2018-09-17 2022-12-20 Samsung Electronics Co., Ltd. Voltage droop monitoring circuits, system-on chips and methods of operating the system-on chips
CN109388219A (zh) * 2018-09-28 2019-02-26 Tcl移动通信科技(宁波)有限公司 移动终端程序耗电检测方法、装置和计算机设备
KR20200046282A (ko) * 2018-10-24 2020-05-07 삼성전자주식회사 집적 회로 장치 및 고 대역폭 메모리 장치
US11616841B2 (en) * 2020-02-07 2023-03-28 Taiwan Semiconductor Manufacturing Company Limited Remote mapping of circuit speed variation due to process, voltage and temperature using a network of digital sensors
KR20210158223A (ko) * 2020-06-23 2021-12-30 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
JP7391787B2 (ja) 2020-07-28 2023-12-05 ルネサスエレクトロニクス株式会社 半導体装置
US11953982B2 (en) 2022-07-19 2024-04-09 International Business Machines Corporation Dynamic guard band with timing protection and with performance protection
US11989071B2 (en) * 2022-07-19 2024-05-21 International Business Machines Corporation Dynamic guard band with timing protection and with performance protection

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6853259B2 (en) 2001-08-15 2005-02-08 Gallitzin Allegheny Llc Ring oscillator dynamic adjustments for auto calibration
US6809606B2 (en) 2002-05-02 2004-10-26 Intel Corporation Voltage ID based frequency control for clock generating circuit
US6882238B2 (en) 2003-03-21 2005-04-19 Intel Corporation Method and apparatus for detecting on-die voltage variations
JP4905354B2 (ja) * 2005-09-20 2012-03-28 富士通株式会社 電源電圧調整装置
US7459958B2 (en) * 2006-06-19 2008-12-02 International Business Machines Corporation Circuits to reduce threshold voltage tolerance and skew in multi-threshold voltage applications
US20090077404A1 (en) * 2007-09-14 2009-03-19 Gainspan, Inc. Method and system of reducing power consumption of system on chip based on analog-to-digital control circuitry
JP4355350B2 (ja) * 2007-11-16 2009-10-28 日本電波工業株式会社 発振周波数制御回路
DE102008006301B4 (de) * 2008-01-28 2017-06-08 Infineon Technologies Ag Schaltungsanordnung zum Detektieren von Spannungsänderungen und Verfahren zum Detektieren einer Spannungsänderung
US7937563B2 (en) 2008-05-27 2011-05-03 Advanced Micro Devices, Inc. Voltage droop mitigation through instruction issue throttling
US7915910B2 (en) * 2009-01-28 2011-03-29 Apple Inc. Dynamic voltage and frequency management
US8949666B2 (en) * 2009-02-12 2015-02-03 President And Fellows Of Harvard College Adaptive event-guided system and method for avoiding voltage emergencies
US8826048B2 (en) 2009-09-01 2014-09-02 Nvidia Corporation Regulating power within a shared budget
US8368385B2 (en) 2009-09-25 2013-02-05 Intel Corporation Methods and systems to detect voltage changes within integrated circuits
US9535473B2 (en) * 2009-10-30 2017-01-03 Apple Inc. Compensating for aging in integrated circuits
US8258861B2 (en) * 2010-01-08 2012-09-04 Analog Devices, Inc. Systems and methods for minimizing power consumption
TW201140308A (en) * 2010-03-15 2011-11-16 Kyushu Inst Technology Semiconductor device, detection method, and program
US9483098B2 (en) * 2010-04-01 2016-11-01 Qualcomm Incorporated Circuits, systems and methods to detect and accommodate power supply voltage droop
US8510582B2 (en) * 2010-07-21 2013-08-13 Advanced Micro Devices, Inc. Managing current and power in a computing system
US8575993B2 (en) * 2011-08-17 2013-11-05 Broadcom Corporation Integrated circuit with pre-heating for reduced subthreshold leakage
US9448125B2 (en) 2011-11-01 2016-09-20 Nvidia Corporation Determining on-chip voltage and temperature
US8390384B1 (en) * 2011-11-21 2013-03-05 Microchip Technology Incorporated Precision on-board tuning of embedded microcontroller oscillator using charge time measurement unit
JP2014106112A (ja) * 2012-11-27 2014-06-09 Fujitsu Ltd 電圧変動検出回路及び半導体集積回路
CN103166604B (zh) * 2013-01-29 2015-10-28 殷明 一种低功耗片内时钟产生电路
US9052528B2 (en) * 2013-02-28 2015-06-09 Johnson & Johnson Vision Care, Inc. Electronic ophthalmic lens with multi-input voting scheme
US9383407B2 (en) * 2013-10-16 2016-07-05 Apple Inc. Instantaneous IR drop measurement circuit
US10060955B2 (en) 2014-06-25 2018-08-28 Advanced Micro Devices, Inc. Calibrating power supply voltages using reference measurements from code loop executions
US9400308B2 (en) * 2014-07-03 2016-07-26 Qualcomm Incorporated Multi-domain heterogeneous process-voltage-temperature tracking for integrated circuit power reduction
US10060966B2 (en) * 2015-03-24 2018-08-28 Intel Corporation Method and apparatus for enhancing guardbands using “in-situ” silicon measurements

Also Published As

Publication number Publication date
WO2017127269A1 (en) 2017-07-27
US20170214399A1 (en) 2017-07-27
JP2019505997A (ja) 2019-02-28
EP3405850B1 (en) 2023-05-03
CN108475101B (zh) 2021-01-15
KR20180095891A (ko) 2018-08-28
JP6621929B2 (ja) 2019-12-18
CN108475101A (zh) 2018-08-31
EP3405850A1 (en) 2018-11-28
US9825620B2 (en) 2017-11-21

Similar Documents

Publication Publication Date Title
KR102134527B1 (ko) 디지털 저전압 검출 및 제어를 위한 방법 및 장치
KR102179316B1 (ko) 계측 시스템을 위한 기준 회로
KR101999076B1 (ko) 온칩 파라미터 측정
JP5638110B2 (ja) 熱制御装置及び方法
US7714635B2 (en) Digital adaptive voltage supply
US7560945B2 (en) Integrated circuit failure prediction
US7895454B2 (en) Instruction dependent dynamic voltage compensation
US20080186002A1 (en) Temperature dependent voltage source compensation
US10197455B2 (en) Thermal oscillator
US10539971B2 (en) Adaptive voltage scaling circuitry
US11258447B2 (en) Integration of analog circuits inside digital blocks
CN113366324A (zh) 检测器
KR20110047887A (ko) 온도검출회로

Legal Events

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