KR102531858B1 - 전력 관리를 수행하는 반도체 장치 및 그 동작 방법 - Google Patents

전력 관리를 수행하는 반도체 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR102531858B1
KR102531858B1 KR1020160035066A KR20160035066A KR102531858B1 KR 102531858 B1 KR102531858 B1 KR 102531858B1 KR 1020160035066 A KR1020160035066 A KR 1020160035066A KR 20160035066 A KR20160035066 A KR 20160035066A KR 102531858 B1 KR102531858 B1 KR 102531858B1
Authority
KR
South Korea
Prior art keywords
token
chip
key
tokens
sub
Prior art date
Application number
KR1020160035066A
Other languages
English (en)
Other versions
KR20170110816A (ko
Inventor
유태희
한상우
박영민
정의영
박재우
김병렬
홍용환
Original Assignee
에스케이하이닉스 주식회사
연세대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이하이닉스 주식회사, 연세대학교 산학협력단 filed Critical 에스케이하이닉스 주식회사
Priority to KR1020160035066A priority Critical patent/KR102531858B1/ko
Priority to US15/453,259 priority patent/US10554395B2/en
Publication of KR20170110816A publication Critical patent/KR20170110816A/ko
Application granted granted Critical
Publication of KR102531858B1 publication Critical patent/KR102531858B1/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/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
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • 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/3243Power saving in microcontroller unit
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses
    • 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/81Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer by operating on the power supply, e.g. enabling or disabling power-on, sleep or resume operations
    • 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/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • 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/2147Locking files
    • 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

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

본 기술에 의한 반도체 장치는 각각 키 및 토큰을 입출력하는 포트를 포함하고 상기 포트를 통해 링 구조로 연결되어 상기 키 및 토큰을 순환시키는 다수의 칩을 포함하되, 다수의 칩 중 어느 하나는 토큰이 필요한 동작을 하는 경우 키를 보유한 조건에서 가용 토큰이 필요 토큰 이상이 될 때까지 대기 상태로 설정될 수 있다.

Description

전력 관리를 수행하는 반도체 장치 및 그 동작 방법{SEMICONDUCTOR DEVICE MANAGING POWER BUDGET AND OPERATING METHOD THEREOF}
본 발명은 전력 관리를 수행하는 반도체 장치 및 그 동작 방법에 관한 것으로서 보다 구체적으로는 멀티 토큰을 기반으로 전력 관리를 수행하는 반도체 장치 및 그 동작 방법에 관한 것이다.
반도체 장치의 동작 종류에 따라서는 평균적인 전력 소모보다 더 많은 최대 순간 전류를 소모하는 구간이 발생할 수 있다.
이러한 구간을 피크존(PKZ: Peak Zone)이라고 하고 이러한 구간을 포함하는 동작을 피크존 동작이라고 한다.
이러한 피크존 동작이 반도체 장치 내의 여러 칩에서 동시에 발생하는 경우 과도한 전류 소모로 인하여 반도체 장치에 페일이 발생할 수 있다.
이러한 피크존 동작을 관리하기 위하여 아래의 특허문헌 1과 같이 토큰을 이용한 전력 관리 기술이 개시된 바 있다.
도 1 내지 도 2는 종래의 반도체 장치의 블록도이고, 도 3은 종래의 반도체 장치의 동작을 설명하는 그래프이다.
도 1, 2의 반도체 장치(10)는 그 내부에 다수의 칩(11 ~ 14)을 포함하며 다수의 칩들은 토큰을 전달하기 위하여 단방향 링 구조로 연결된다.
도 1의 경우 컨트롤러(20)는 반도체 장치(10) 내의 다수의 칩(11 - 14)과 함께 단방향 링 구조를 형성하는 예이다.
컨트롤러(20)는 반도체 장치(10) 내의 다수의 칩(11 - 14)들에 대한 활성화 신호(CE0 - CE3)를 출력한다.
또한 컨트롤러(20)는 제 1 칩(11)에 토큰을 제공하고 제 4 칩(14)으로부터 토큰(TK0)을 제공받는다.
토큰(TK)은 제 1 칩(11)으로부터 제 2 칩(12)으로, 제 2 칩(12)으로부터 제 3 칩(13)으로, 제 3 칩(13)으로부터 제 4 칩(14)으로 전달될 수 있다.
도 2의 경우 반도체 장치(10) 내의 다수의 칩(11 - 14)들만 단방향 링 구조를 형성하고, 컨트롤러(20)는 링 구조에서 제외되는 점에서 도 1과 차이가 있다.
다만 컨트롤러(20)는 동작 초기에 제 1 칩(11)에 토큰을 제공하여 제 1 칩 내지 제 4 칩이 링 구조를 이루며 토큰을 주고 받을 수 있도록 동작을 개시할 뿐이다.
도 3은 토큰을 이용한 전력 관리 방법을 나타낸 파형도이다.
초기에 컨트롤러(20)에서 제 1 칩(11)에 제공한 토큰이 100이라고 가정한다.
t1에 제 1 칩(C0)은 20의 토큰을 필요로 하는 피크존 동작을 개시한다. 제 1 칩(C0)은 20의 토큰을 필요로 하는 피크존 동작에 충분한 100의 토큰을 가지고 있으므로 해당 피크존 동작을 수행할 수 있다.
제 1 칩(C0)은 나머지 80의 토큰을 제 2 칩(C1)으로 전달한다.
t2에서 제 2 칩(C1)은 50의 토큰을 필요로 하는 피크존 동작을 개시한다. 제 2 칩(C1)은 50의 토큰을 필요로 하는 피크존 동작에 충분한 80의 토큰을 가지고 있으므로 해당 피크존 동작을 수행할 수 있다.
제 2 칩(C0)은 나머지 30의 토큰을 제 3 칩(C2)으로 전달한다.
t3에서 제 3 칩(C2)은 60의 토큰을 필요로 하는 피크존 동작을 개시하고자 한다. 그러나 제 3 칩(C2)은 60의 토큰을 필요로 하는 피크존 동작에 충분하지 않은 30의 토큰을 가지고 있으므로 해당 피크존 동작을 수행할 수 없다.
이에 따라 제 3 칩(C2)은 피크존 동작을 수행하지 못하고 대기해야 한다.
t4 직전에 제 1 칩(C0)의 피크존 동작이 종료되면 20만큼의 토큰이 제 2 칩(C1)을 거쳐 제 3 칩(C2)으로 제공되어 제 3 칩은 50의 토큰을 가지게 된다. 그러나 제 3 칩(C2)은 여전히 60의 토큰을 필요로 하는 피크존 동작에 충분하지 않은 50의 토큰을 가지고 있으므로 해당 피크존 동작을 수행할 수 없다.
이에 따라 제 3 칩(C2)은 피크존 동작을 수행하지 못하고 대기해야 한다.
t5 직전에 제 2 칩(C1)의 피크존 동작이 종료되면 50만큼의 토큰이 제 3 칩(C2)으로 제공되어 제 3 칩(C2)은 100의 토큰을 가지게 된다.
이에 따라 제 3 칩(C2)은 t5에 60의 토큰을 필요로 하는 피크존 동작을 개시하고, 나머지 40의 토큰을 제 4 칩(C3)으로 전달한다.
이와 같이 종래의 기술에서는 단방향 링 구조를 이용하여 토큰을 전달하고 충분한 토큰이 모일 때까지 피크존 동작을 수행하지 않고 대기하는 방식을 사용하고 있다.
이에 따라 어느 하나의 칩에서 피크존 동작을 수행하지 못하고 대기 상태에 있으면 그 다음 칩은 피크존 동작을 수행하기에 충분한 토큰이 있더라도 피크존 동작을 수행하지 못하고 계속 대기해야 하므로 반도체 장치(10)의 동작 성능을 저하시킨다.
도 3은 대기 시간이 유한하게 종료되는 경우를 예시하고 있으나 종래의 기술에서는 다음과 같이 대기 시간이 종료되지 않는 데드록(dead-lock) 현상이 발생할 수 있다.
도 4는 종래 기술의 문제인 데드록 현상을 설명하는 도면이다.
(A)에서 제 1 칩(11)과 제 3 칩(13)은 각각 30과 80의 토큰을 필요로 하며 제 2 칩(12)과 제 4 칩(14)은 토큰을 필요로 하지 않는다. 가용한 토큰은 100으로서 모두 제 1 칩(11)에 할당된 상태이다.
(B)에서 제 1 칩(11)은 필요한 토큰 30을 제외한 나머지 토큰 70을 토큰을 필요로 하는 제 3 칩(13)까지 전달한 상태이다. 이에 따라 (B)에서 제 1 칩(11)의 필요 토큰은 0이 되고 제 3 칩(13)의 가용 토큰은 70이 된다.
(C)에서 제 1 칩(11)은 여전히 토큰이 필요한 동작을 진행하는 중이고, 제 2 칩(12)은 필요 토큰이 40인 동작이 할당된 상태이며, 제 3 칩(13)은 필요한 토큰에 비하여 가용한 토큰이 작아 대기 중인 상태이다.
(D)에서 제 1 칩(11)은 토큰이 필요한 동작을 완료하고 토큰을 제 2 칩(12)으로 전달한 상태이다. 그러나 제 2 칩(12) 및 제 3 칩(13)은 모두 필요한 토큰에 비하여 가용한 토큰이 작아 대기 중인 상태이다.
그런데 제 2 칩(12)과 제 3 칩(13)에 추가로 제고될 토큰이 존재하지 않으므로 제 2 칩(12)과 제 3 칩(130의 대기 상태는 종료될 가능성이 없으며 이에 따라 반도체 장치(10) 전체가 동작이 멈추는 데드록 문제가 발생한다.
이와 같이 종래의 반도체 장치(10)는 전력 관리를 위해 동작 성능을 과도하게 저하시킬 우려가 있을 뿐만 아니라 심지어 특정한 조건에서는 장치의 동작 자체가 중단되는 데드록 문제가 있다.
KR 10-2014-0006344 A KR 10-2012-0123653 A US 9043590 B2
본 발명은 피크 전류의 소모를 최적화하면서도 동작 성능을 향상시킬 수 있는 반도체 장치 및 그 동작 방법을 제공한다.
본 발명의 일 실시예에 의한 반도체 장치는 각각 키 및 토큰을 입출력하는 포트를 포함하고 상기 포트를 통해 링 구조로 연결되어 상기 키 및 토큰을 순환시키는 다수의 칩을 포함하되, 다수의 칩 중 어느 하나는 토큰이 필요한 동작을 하는 경우 키를 보유한 조건에서 가용 토큰이 필요 토큰 이상이 될 때까지 대기 상태로 설정될 수 있다.
본 발명의 일 실시예에 의한 반도체 장치의 동작 방법은 제 1 칩 및 제 2 칩을 포함하는 다수의 칩이 링 구조로 연결되어 링 구조를 통해 키와 토큰을 전달하는 반도체 장치의 동작 방법으로서 제 1 칩이 토큰을 필요로 하는 동작을 수행하는지 판단하는 제 1 단계; 제 1 칩이 키를 보유하고 있는지 판단하는 제 2 단계; 제 1 칩이 보유한 가용 토큰이 동작에 필요한 필요 토큰을 비교하는 제 3 단계; 및 필요 토큰이 가용 토큰보다 큰 경우 제 1 칩이 키를 보유하고 있는 경우에 있어서 제 1 칩이 대기 상태가 되는 제 4 단계를 포함할 수 있다.
본 발명은 토큰을 필요로 하는 반도체 장치에서 가용 토큰이 필요 토큰이 될 때까지 무제한 대기 상태에 빠지는 데드록 현상을 회피하여 반도체 장치의 동작 성능을 향상시킬 수 있다.
도 1, 2는 종래의 전력 관리를 수행하는 반도체 장치의 블록도.
도 3은 종래의 전력 관리 방법을 설명하는 파형도.
도 4는 종래의 전력 관리 방법의 문제를 보여주는 설명도.
도 5 내지 도 7은 본 발명의 일 실시예에 의한 반도체 장치의 블록도.
도 8 내지 11은 반도체 장치의 동작을 나타낸 순서도.
도 8은 반도체 장치의 동작을 나타내는 설명도.
이하에서는 첨부한 도면을 참조하여 본 발명의 실시예를 개시한다.
도 5 내지 7은 본 발명의 일 실시예에 의한 반도체 장치(100)를 나타내는 블록도이다.
본 발명의 일 실시예에 의한 반도체 장치(100)는 내부에 다수의 칩(110 - 140)을 포함한다. 본 실시예에서는 4개의 칩을 예시하였으나 다른 실시예에서는 다른 개수의 칩을 포함할 수 있다.
다수의 칩(110 ~ 140) 각각은 전력 관리를 위하여 입력 포트(IP)를 통해 키 (Key) 및 토큰(TK)을 입력받고, 출력 포트(OP)를 통해 키(Key) 및 토큰(TK)을 출력한다.
본 실시예에서 컨트롤러(200)는 동작 초기에 키와 토큰을 제 1 칩(110)에 입력할 수 있다.
컨트롤러(1)는 제 1 칩(110) 내지 제 4 칩(140)에 대해서 칩 인에이블 신호(CE0 - CE3)를 제공할 수 있다.
키와 토큰은 하나의 데이터로 조합되거나 또는 별도의 데이터로서 입력 포트(IP) 및 출력 포트(OP)를 통해 입출력될 수 있다.
도 5에서는 키와 토큰이 동일한 입력 포트(IP) 및 출력 포트(OP)를 통해 입출력되는 것으로 도시되어 있으나 도 6과 같이 이들이 별도의 포트(KIP, KOP, TIP, TOP)를 사용하여 입출력되는 구성도 용이하게 알 수 있다.
도5 및 도 6에서는 키와 토큰이 제 1 칩(110) -> 제 2 칩(120) -> 제 3 칩(130) -> 제 4 칩(140) -> 제 1 칩(110)과 같이 동일한 방향으로 순환한다.
도 7에서는 도 6과 달리 키와 토큰이 서로 다른 방향으로 순환하는 구성 역시 가능하다.
다수의 칩(110 ~ 140) 각각은 토큰을 필요로 하는 작업을 하는 경우 키가 존재하는 경우에 한하여 가용 토큰이 필요 토큰 이상이 될 때까지 대기할 수 있으며, 이를 통해 데드록 현상을 피할 수 있다.
본 실시예에 의한 반도체 장치(100)의 동작 방법을 도 8 내지 11을 참조하여 개시한다.
도 8은 반도체 장치(100)에 포함된 어느 한 칩의 동작을 나타낸 순서도이다.
각 순서도는 전력 제어가 수행되는 단위 사이클에서의 동작을 설명한 것이며 매 단위 사이클마다 순서도의 동작이 반복될 수 있다.
먼저 현재 칩에서 수행하려는 동작이 토큰을 필요로 하는지 판단한다(S110). 예를 들어 피크존 동작은 토큰을 필요로 한다.
현재 칩이 토큰을 필요로 하지 않으면 다음 칩으로 토큰을 출력한다(S170). 이때 현재 칩에 키가 있으면 키 역시 다음 칩으로 출력한다.
현재 칩이 토큰을 필요로 하면 현재 칩에 키가 존재하는지 판단한다(S120). 현재 칩에 키가 없으면 단계(S170)로 이동한다.
현재 칩에 키가 존재하면 현재 칩에서 필요 토큰이 가용 토큰보다 더 큰지 판단한다(S130).
현재 칩에서 필요 토큰이 가용 토큰보다 크면 동작을 종료한다. 이에 따라 현재 칩은 키가 존재하는 경우에 한하여 키를 보유한 채 가용 토큰이 충분하게 될 때까지 대기하게 된다.
현재 칩에서 필요 토큰이 가용 토큰보다 크지 않으면 필요한 토큰만큼 토큰을 할당하고 다음 칩으로 잔여 토큰(가용 토큰 - 필요 토큰)과 키를 출력한다(S140).
이후 현재 칩에서 토큰이 필요한 동작을 수행한다(S150, S151)
동작이 종료되면 할당되었던 필요 토큰을 반납하고(S160), 이후 다음 칩으로 토큰을 출력한다(S170)
도 9는 키의 유무를 판단하는 단계의 위치가 변경된 점에서 도 8의 실시예와 상이하다.
도 8에서는 키가 존재하지 않으면 가용 토큰이 필요 토큰 이상이더라도 동작을 수행하지 않는다.
도 9의 실시예에서는 키의 존재 유무를 판단하는 단계(S131)가 단계(S130)에서 필요 토큰이 가용 토큰보다 큰 경우에 수행된다.
이에 따라 가용 토큰이 필요 토큰보다 이상인 경우에는 키의 유무에 없이 해당 동작을 수행하게 된다.
도 9에서 단계(S131)의 판단 결과 키가 존재하지 않으면 단계(S170)로 이동하여 다음 칩으로 토큰을 출력하고, 키가 존재하면 곧바로 종료하여 보유한 토큰을 가지고 대기 상태가 된다.
기타 동작은 도 8의 실시예와 동일하므로 설명을 생략한다.
도 10은 토큰이 필요한 동작이 다수의 서브 동작으로 구분되는 경우 서브 동작 단위로 토큰을 제어하는 점에서 도 8의 실시예와 차이가 있다.
먼저 현재 칩에서 수행하려는 동작이 토큰을 필요로 하는지 판단한다(S110). 예를 들어 피크존 동작은 토큰을 필요로 한다.
현재 칩이 토큰을 필요로 하지 않으면 다음 칩으로 토큰을 출력한다(S170). 이때 현재 칩에 키가 있으면 키 역시 다음 칩으로 출력한다.
현재 칩이 토큰을 필요로 하면 현재 칩에 키가 존재하는지 판단한다(S120). 현재 칩에 키가 없으면 단계(S170)로 이동한다.
현재 칩에 키가 존재하면 현재 칩에서 필요 토큰이 가용 토큰보다 더 큰지 판단한다(S130).
현재 칩에서 필요 토큰이 가용 토큰보다 크면 동작을 종료한다. 이에 따라 현재 칩은 키가 존재하는 경우에 한하여 키를 보유한 채 가용 토큰이 충분하게 될 때까지 대기하게 된다.
현재 칩에서 필요 토큰이 가용 토큰보다 크지 않으면 필요한 토큰만큼 토큰을 할당하고 다음 칩으로 잔여 토큰(가용 토큰 - 필요 토큰)과 키를 출력한다(S140).
이후 현재 칩에서 토큰이 필요한 동작의 서브 동작을 수행한다(S150, S151)
서브 동작이 종료되면 할당되었던 필요 토큰을 반납하고(S160) 이를 가용 토큰으로 설정한다(S161).
이후 다음 서브 동작이 존재하는지 판단한다(S162).
다음 서브 동작이 존재하지 않으면 단계(S170)로 이동하여 다음 칩으로 토큰을 출력한다.
다음 서브 동작이 존재하면 다음 서브 동작에 필요한 토큰을 필요 토큰으로 설정한다(S163).
이후 필요 토큰이 가용 토큰보다 큰지 판단한다(S164)
필요 토큰이 가용 토큰보다 크면 단계(S170)로 이동하여 다음 칩으로 토큰을 출력하고 종료한다.
필요 토큰이 가용 토큰보다 크지 않으면 단계(S140)로 이동하여 전술한 동작들을 반복한다.
도 11은 키의 유무를 판단하는 단계의 위치가 변경된 점에서 도 10의 실시예와 상이하다.
도 10에서는 키가 존재하지 않으면 가용 토큰이 필요 토큰 이상이더라도 동작을 수행하지 않는다.
도 11의 실시예에서는 키의 존재 유무를 판단하는 단계(S131)가 단계(S130)에서 필요 토큰이 가용 토큰보다 큰 경우에 수행된다.
이에 따라 가용 토큰이 필요 토큰보다 이상인 경우에는 키의 유무에 없이 해당 동작을 수행하게 된다.
도 11에서 단계(S131)의 판단 결과 키가 존재하지 않으면 단계(S170)로 이동하여 다음 칩으로 토큰을 출력하고, 키가 존재하면 곧바로 종료하여 보유한 토큰을 가지고 대기 상태가 된다.
기타 동작은 도 10의 실시예와 동일하므로 설명을 생략한다.
도 12는 본 발명의 효과를 설명하는 설명도이다.
(A)에서 제 1 칩(110)과 제 3 칩(130)은 각각 30과 80의 토큰을 필요로 하며 제 2 칩(120)과 제 4 칩(140)은 토큰을 필요로 하지 않는다. 가용 토큰은 100으로서 모두 제 1 칩(110)에 할당된 상태이다. 또한 키는 제 1 칩(110)에 존재하고 나머지 칩에는 존재하지 않는다.
(B)에서 제 1 칩(110)은 필요 토큰 30을 제외한 나머지 토큰 70과 키를 토큰을 필요로 하는 제 3 칩(130)까지 전달한 상태이다. 이에 따라 (B)에서 제 1 칩(110)의 필요 토큰은 0이 되고 제 3 칩(130)의 가용 토큰은 70이 된다.
(C)에서 제 1 칩(110)은 여전히 토큰이 필요한 동작을 진행하는 중이고, 제 2 칩(120)은 필요 토큰이 40인 동작이 할당된 상태이며, 제 3 칩(130)은 필요 토큰에 비하여 가용 토큰이 작아 대기 중인 상태이다.
(D)에서 제 1 칩(110)은 토큰이 필요한 동작을 완료하고 토큰을 제 2 칩(120)으로 전달한 상태이다. 종래와 달리 제 2 칩(120)은 키가 존재하지 않으므로 가용 토큰을 모두 다음 칩인 제 3 칩(130)으로 출력한 상태가 된다. 제 3 칩(130)은 가용 토큰이 100이 되어 토큰이 필요한 동작을 수행하게 된다.
이에 따라 본 발명에서는 종래와 같은 데드록 현상이 발생하지 않아 성능을 향상시킬 수 있다.
이상의 개시는 본 발명의 실시예로서 본 발명의 권리범위는 이상의 개시나 도면에 의해 정해지는 것이 아니라 특허청구범위에 문언적으로 기재된 범위 및 그 균등범위에 의해 정해진다.
10, 100: 반도체 장치
20, 200: 컨트롤러
11 ~ 14, 110 ~ 140: 제 1 칩 ~ 제 4 칩

Claims (22)

  1. 각각 키 및 토큰을 입출력하는 포트를 포함하고 상기 포트를 통해 링 구조로 연결되어 상기 키 및 토큰을 순환시키는 다수의 칩을 포함하되,
    상기 다수의 칩 중 어느 하나는 상기 토큰이 필요한 동작을 하는 경우 상기 키를 보유한 조건에서 가용 토큰이 필요 토큰 이상이 될 때까지 대기 상태로 설정될 수 있고,
    상기 다수의 칩 중 어느 하나가 상기 키를 보유하고 있지 않으면 상기 필요 토큰이 상기 가용 토큰보다 큰 경우에 한하여 상기 어느 하나가 상기 가용 토큰을 상기 다수의 칩 중 다른 하나로 출력하고,
    상기 토큰이 필요한 동작은 다수의 서브 동작을 포함하되, 상기 다수의 칩 중 어느 하나는 상기 다수의 서브 동작 중 제 1 서브 동작을 수행하는데 필요한 토큰이 가용한 토큰 이상이 되는 경우 상기 제 1 서브 동작을 수행하는 반도체 장치.
  2. 청구항 1에 있어서, 상기 다수의 칩은 각각 상기 키를 입출력하는 키 입출력 포트와 상기 토큰을 입출력하는 토큰 입출력 포트를 포함하는 반도체 장치.
  3. 청구항 2에 있어서, 상기 링 구조는 상기 키 입출력 포트가 연결된 제 1 링 구조와 상기 토큰 입출력 포트가 연결된 제 2 링 구조를 포함하되,
    상기 제 1 링 구조에서 키의 순환 방향과 상기 제 2 링 구조에서 토큰의 순환 방향은 동일한 반도체 장치.
  4. 청구항 2에 있어서, 상기 링 구조는 상기 키 입출력 포트가 연결된 제 1 링 구조와 상기 토큰 입출력 포트가 연결된 제 2 링 구조를 포함하되,
    상기 제 1 링 구조에서 키의 순환 방향과 상기 제 2 링 구조에서 토큰의 순환 방향은 상이한 반도체 장치.
  5. 청구항 1에 있어서, 상기 다수의 칩 중 어느 하나는 상기 가용 토큰이 상기 필요 토큰 이상이 되는 경우 상기 토큰이 필요한 동작을 수행하는 반도체 장치.
  6. 청구항 5에 있어서, 상기 다수의 칩 중 어느 하나는 상기 토큰이 필요한 동작을 수행하기 전에 잔여 토큰과 보유한 키를 다음 칩으로 출력하는 반도체 장치.
  7. 삭제
  8. 청구항 1에 있어서, 상기 다수의 칩 중 어느 하나는 상기 제 1 서브 동작을 수행한 후 보유한 토큰이 상기 제 1 서브 동작에 후속하는 제 2 서브 동작을 수행하는데 필요한 토큰 이상이 되는 경우 상기 제 2 서브 동작을 수행하는 반도체 장치.
  9. 청구항 1에 있어서, 상기 다수의 칩 중 어느 하나는 상기 제 1 서브 동작을 수행하기 전에 잔여 토큰과 보유한 키를 다음 칩으로 출력하는 반도체 장치.
  10. 제 1 칩 및 제 2 칩을 포함하는 다수의 칩이 링 구조로 연결되어 상기 링 구조를 통해 키와 토큰을 전달하는 반도체 장치의 동작 방법으로서
    상기 제 1 칩이 토큰을 필요로 하는 동작을 수행하는지 판단하는 제 1 단계;
    상기 제 1 칩이 키를 보유하고 있는지 판단하는 제 2 단계;
    상기 제 1 칩이 보유한 가용 토큰이 상기 동작에 필요한 필요 토큰을 비교하는 제 3 단계;
    상기 필요 토큰이 상기 가용 토큰보다 큰 경우 상기 제 1 칩이 상기 키를 보유하고 있는 경우에 있어서 상기 제 1 칩이 대기 상태가 되는 제 4 단계; 및
    상기 가용 토큰이 상기 필요 토큰 이상인 경우 상기 제 1 칩이 상기 토큰을 필요로 하는 동작을 수행하는 제 5 단계
    를 포함하되,
    상기 제 1 칩이 상기 키를 보유하고 있지 않으면 상기 필요 토큰이 상기 가용 토큰보다 큰 경우에 한하여 상기 제 1 칩이 상기 가용 토큰을 상기 제 2 칩으로 출력하는 단계를 더 포함하고,
    상기 토큰을 필요로 하는 동작은 적어도 제 1 서브 동작과 제 2 서브 동작을 포함하고, 상기 필요 토큰은 상기 제 1 서브 동작을 수행하는데 필요한 토큰이며, 상기 제 5 단계는
    상기 제 1 서브 동작을 수행하는 단계;
    상기 제 1 서브 동작 수행 이후 상기 필요 토큰과 상기 제 2 서브 동작을 수행하는데 필요한 토큰을 비교하는 단계; 및
    상기 필요 토큰이 상기 제 2 서브 동작을 수행하는데 필요한 토큰보다 큰 경우 상기 제 2 서브 동작을 수행하는 단계
    를 포함하는 반도체 장치의 동작 방법.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 청구항 10에 있어서, 상기 제 5 단계 이전에 상기 제 1 칩이 잔여 토큰을 상기 제 2 칩으로 출력하는 제 6 단계를 더 포함하는 반도체 장치의 동작 방법.
  15. 청구항 14에 있어서, 상기 제 6 단계는 상기 제 1 칩이 상기 키를 보유하는 경우 상기 키를 상기 제 2 칩으로 출력하는 단계를 더 포함하는 반도체 장치의 동작 방법.
  16. 청구항 14에 있어서, 상기 제 6 단계는 상기 제 1 칩이 상기 키를 보유하는 경우 상기 키를 제 3 칩으로 출력하는 단계를 더 포함하는 반도체 장치의 동작 방법.
  17. 삭제
  18. 청구항 10에 있어서, 상기 필요 토큰이 상기 제 2 서브 동작을 수행하는데 필요한 토큰 미만이면 상기 필요 토큰을 상기 제 2 칩으로 출력하는 단계를 더 포함하는 반도체 장치의 동작 방법.
  19. 청구항 10에 있어서, 상기 제 5 단계 이후 상기 필요 토큰을 상기 제 2 칩으로 출력하는 제 7 단계를 더 포함하는 반도체 장치의 동작 방법.
  20. 청구항 10에 있어서, 상기 제 1 칩이 토큰을 필요로 하는 동작을 수행하지 않으면 상기 토큰을 제 2 칩으로 출력하는 단계를 더 포함하는 반도체 장치의 동작 방법.
  21. 청구항 20에 있어서, 상기 제 1 칩이 상기 키를 보유하는 경우 상기 키를 상기 제 2 칩으로 출력하는 단계를 더 포함하는 반도체 장치의 동작 방법.
  22. 청구항 20에 있어서, 상기 제 1 칩이 상기 키를 보유하는 경우 상기 키를 제 3 칩으로 출력하는 단계를 더 포함하는 반도체 장치의 동작 방법.






KR1020160035066A 2016-03-24 2016-03-24 전력 관리를 수행하는 반도체 장치 및 그 동작 방법 KR102531858B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160035066A KR102531858B1 (ko) 2016-03-24 2016-03-24 전력 관리를 수행하는 반도체 장치 및 그 동작 방법
US15/453,259 US10554395B2 (en) 2016-03-24 2017-03-08 Semiconductor device managing power budget and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160035066A KR102531858B1 (ko) 2016-03-24 2016-03-24 전력 관리를 수행하는 반도체 장치 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20170110816A KR20170110816A (ko) 2017-10-12
KR102531858B1 true KR102531858B1 (ko) 2023-05-11

Family

ID=59896441

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160035066A KR102531858B1 (ko) 2016-03-24 2016-03-24 전력 관리를 수행하는 반도체 장치 및 그 동작 방법

Country Status (2)

Country Link
US (1) US10554395B2 (ko)
KR (1) KR102531858B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140143558A1 (en) * 2012-11-21 2014-05-22 International Business Machines Corporation Distributed chip level managed power system

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69528449T2 (de) * 1995-05-18 2003-07-03 Hewlett Packard Co Integrierte Halbleiterschaltungsanordnung zum Schutz mehrerer Hilfsmittel in einer elektronischen Einheit
AUPO798697A0 (en) * 1997-07-15 1997-08-07 Silverbrook Research Pty Ltd Data processing method and apparatus (ART51)
US6714553B1 (en) * 1998-04-15 2004-03-30 Top Layer Networks, Inc. System and process for flexible queuing of data packets in network switching
US7873830B2 (en) * 2006-01-13 2011-01-18 International Business Machines Corporation Methods for coordinating access to memory from at least two cryptography secure processing units
US8555096B2 (en) * 2009-08-07 2013-10-08 Advanced Processor Architectures, Llc Method and apparatus for selectively placing components into a sleep mode in response to loss of one or more clock signals or receiving a command to enter sleep mode
KR20110044027A (ko) * 2009-10-22 2011-04-28 삼성전자주식회사 키 입력 장치
US8335123B2 (en) 2009-11-20 2012-12-18 Sandisk Technologies Inc. Power management of memory systems
US8572423B1 (en) * 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
CN101984575B (zh) * 2010-10-14 2015-06-03 中兴通讯股份有限公司 一种保护移动终端软件的方法和装置
KR20140006344A (ko) * 2012-07-04 2014-01-16 에스케이하이닉스 주식회사 메모리 시스템 및 그것에 포함된 메모리 장치의 동작 방법
US9858208B2 (en) * 2013-03-21 2018-01-02 International Business Machines Corporation System for securing contents of removable memory
US9612643B2 (en) * 2014-03-29 2017-04-04 Intel Corporation Controlling the CPU slew rates based on the battery state of charge
KR101604009B1 (ko) * 2014-05-12 2016-03-17 주식회사 키페어 공인인증을 위한 보안 토큰 및 그 구동 방법
US10048744B2 (en) * 2014-11-26 2018-08-14 Intel Corporation Apparatus and method for thermal management in a multi-chip package
KR101979783B1 (ko) * 2015-03-30 2019-08-28 에스케이하이닉스 주식회사 전력 관리를 수행하는 반도체 장치 및 그 동작 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140143558A1 (en) * 2012-11-21 2014-05-22 International Business Machines Corporation Distributed chip level managed power system

Also Published As

Publication number Publication date
US10554395B2 (en) 2020-02-04
US20170277244A1 (en) 2017-09-28
KR20170110816A (ko) 2017-10-12

Similar Documents

Publication Publication Date Title
US7089076B2 (en) Scheduling multi-robot processing systems
CN101750977B (zh) 应用用户界面控制半导体制造装置的系统与方法
US9846665B2 (en) Chip synchronization by a master-slave circuit
CN104954291B (zh) 一种交换端口分配装置、机箱及交换端口分配方法
KR102531858B1 (ko) 전력 관리를 수행하는 반도체 장치 및 그 동작 방법
EP3285173A1 (en) Cpu interconnecting apparatus, system and control method, control apparatus therefor
CN104199738B (zh) 一种多数据处理设备协同工作方法及系统
CN107004105A (zh) 一种信息卡识别电路及终端
CN109684255A (zh) 一种fpga管脚复用电路及控制方法
US10885953B2 (en) Data buffer with two different operating voltages for input and output circuitry
US9569272B2 (en) Device and method for the distributed execution of digital data processing operations
KR102510729B1 (ko) 전력 관리를 수행하는 반도체 장치 및 그 동작 방법
US20160292090A1 (en) Data processing system capable of controlling peripheral devices using group identification information and control method thereof
KR101979783B1 (ko) 전력 관리를 수행하는 반도체 장치 및 그 동작 방법
US8219242B2 (en) Automated material handling system and method
US10769090B2 (en) Information processing apparatus, control method of information processing, and non-transitory computer-readable storage medium for storing program
JP5951025B2 (ja) 入出力応答制御設定装置
CN109727617A (zh) 存储元件
KR102259094B1 (ko) Plc용 스캔 프로그램의 구동 방법
US20230315539A1 (en) Systems and methods for distributed quantum computing
CN106228056A (zh) 一种终端的解锁方法及终端
US9697323B2 (en) Accelerated and accuracy-enhanced delay and noise injection calculation for analysis of a digital circuit using grid computing
KR20200143770A (ko) 멀티 코어 plc 및 멀티 코어 plc의 스캔 방법
JP2010224818A (ja) データ選択装置、データ選択方法及びプログラム
JP2000242508A (ja) 割り込み調停回路

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant