KR102164716B1 - 전원을 효율적으로 관리하기 위한 소프트웨어 운영 방법 및 이를 이용한 장치 - Google Patents
전원을 효율적으로 관리하기 위한 소프트웨어 운영 방법 및 이를 이용한 장치 Download PDFInfo
- Publication number
- KR102164716B1 KR102164716B1 KR1020180083781A KR20180083781A KR102164716B1 KR 102164716 B1 KR102164716 B1 KR 102164716B1 KR 1020180083781 A KR1020180083781 A KR 1020180083781A KR 20180083781 A KR20180083781 A KR 20180083781A KR 102164716 B1 KR102164716 B1 KR 102164716B1
- Authority
- KR
- South Korea
- Prior art keywords
- software
- electronic device
- state
- memory
- power
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4893—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3246—Power saving characterised by the action undertaken by software initiated power-off
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3278—Power saving in modem or I/O interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
Abstract
전원을 효율적으로 관리하기 위한 소프트웨어 운영 방법 및 이를 이용한 장치를 개시한다.
본 실시예의 일 측면에 의하면, 전원을 효율적으로 관리하기 위한 전자장치에 있어서, 네트워크와의 연결 유지에 필요한 정보를 저장하는 제1 메모리, 제1 소프트웨어와 제2 소프트웨어를 저장하는 제2 메모리, 데이터를 송수신하는 트랜시버, 상기 제1 소프트웨어와 상기 제2 소프트웨어의 수행 주기를 체크하기 위한 타이머, Sleep 상태로 전환하고, 제1 주기마다 wake-up 상태로 전환해 상기 제1 소프트웨어를 운영하고, 상기 제1 소프트웨어의 운영이 종료하면 상기 sleep 상태로 전환하고, 제2 주기마다 상기 wake-up 상태로 전환해 상기 제2 소프트웨어를 운영하고, 상기 제2 소프트웨어의 운영이 종료되면 상기 sleep 상태로 전환하는 제어부를 포함하고, 상기 제1 소프트웨어와 상기 제2 소프트웨어는 수행 주기에 따라 분류된 것임을 특징으로 하는 전자장치를 제공한다.
본 실시예의 일 측면에 의하면, 전원을 효율적으로 관리하기 위한 전자장치에 있어서, 네트워크와의 연결 유지에 필요한 정보를 저장하는 제1 메모리, 제1 소프트웨어와 제2 소프트웨어를 저장하는 제2 메모리, 데이터를 송수신하는 트랜시버, 상기 제1 소프트웨어와 상기 제2 소프트웨어의 수행 주기를 체크하기 위한 타이머, Sleep 상태로 전환하고, 제1 주기마다 wake-up 상태로 전환해 상기 제1 소프트웨어를 운영하고, 상기 제1 소프트웨어의 운영이 종료하면 상기 sleep 상태로 전환하고, 제2 주기마다 상기 wake-up 상태로 전환해 상기 제2 소프트웨어를 운영하고, 상기 제2 소프트웨어의 운영이 종료되면 상기 sleep 상태로 전환하는 제어부를 포함하고, 상기 제1 소프트웨어와 상기 제2 소프트웨어는 수행 주기에 따라 분류된 것임을 특징으로 하는 전자장치를 제공한다.
Description
본 발명은 전원을 효율적으로 관리하기 위한 소프트웨어 운영 방법 및 이를 이용한 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 발명에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
종래 전자장치를 이용함에 있어서, 사용자는 전자장치를 사용할 때에만 전원을 켜고, 사용을 종료하면 전원을 껐다. 그러나, 전자장치가 통신을 이용해 언제 다른 장치로부터 데이터를 수신할지 모르는 경우라면 사용자는 전자장치의 전원을 항시 켜두게 된다. 항시 전원을 켜 둔 전자장치는 배터리가 빠르게 소모되어, 배터리의 용량, 지속시간 등이 문제가 되기도 한다.
게다가, 기술이 발전함에 따라 점차 많은 전자장치들이 무선 통신을 이용하면서 휴대할 수 있게 되었다. 그에 따라 전자장치들의 배터리 소모 문제가 더욱 대두되기 시작했다. 이를 해결하기 위한 하나의 방법으로 전자장치의 전원모드를 나누고 있다. 예를 들면, 사용자가 전자장치인 휴대폰을 직접 이용해 통화를 하거나 게임을 이용하는 경우와 사용자가 잠을 자거나 영화관에서 영화를 보는 경우와 같이 휴대폰을 직접 이용하지 않는 경우를 나누고 있다. 전자의 경우 휴대폰의 모든 내부 구성에 전원이 인가되나, 후자의 경우 휴대폰의 내부 구성 중 통신 관련 구성에만 전원이 인가될 수 있다.
본 실시예는, 전원을 효율적으로 관리하는 소프트웨어 운영 방법 및 이를 이용한 전자장치를 제공하는 데 주된 목적이 있다. 또한, 본 실시예는 절전모드에서 전력의 소비를 줄이고, 빠르게 wake-up 상태로 전환할 수 있다.
본 실시예의 일 측면에 의하면, 전원을 효율적으로 관리하기 위한 전자장치에 있어서, 네트워크와의 연결 유지에 필요한 정보를 저장하는 제1 메모리, 제1 소프트웨어와 제2 소프트웨어를 저장하는 제2 메모리, 데이터를 송수신하는 트랜시버, 상기 제1 소프트웨어와 상기 제2 소프트웨어의 수행 주기를 체크하기 위한 타이머, Sleep 상태로 전환하고, 제1 주기마다 wake-up 상태로 전환해 상기 제1 소프트웨어를 운영하고, 상기 제1 소프트웨어의 운영이 종료하면 상기 sleep 상태로 전환하고, 제2 주기마다 상기 wake-up 상태로 전환해 상기 제2 소프트웨어를 운영하고, 상기 제2 소프트웨어의 운영이 종료되면 상기 sleep 상태로 전환하는 제어부를 포함하고, 상기 제1 소프트웨어와 상기 제2 소프트웨어는 수행 주기에 따라 분류된 것임을 특징으로 하는 전자장치를 제공한다.
본 실시예의 다른 측면에 의하면, 전원을 효율적으로 관리하기 위한 전자장치의 방법에 있어서, Sleep 상태로 전환하는 단계, 제1 주기마다 wake-up 상태로 전환해 제1 소프트웨어를 운영하는 단계, 상기 제1 소프트웨어의 운영이 종료하면 상기 sleep 상태로 전환하는 단계, 제2 주기마다 상기 wake-up 상태로 전환해 제2 소프트웨어를 운영하는 단계, 및 상기 제2 소프트웨어의 운영이 종료되면 상기 sleep 상태로 전환하는 단계를 포함하고, 상기 제1 소프트웨어와 상기 제2 소프트웨어는 수행 주기에 따라 분류된 것임을 특징으로 하는 방법을 제공한다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 전자장치의 절전모드에서 평균 전력 소모를 줄일 수 있다. 또한, 본 실시예에 의하면, sleep 상태에서 wake-up 상태로 전환에 소요되는 시간을 줄일 수 있다.
도 1은 본 개시에 따른 전자장치의 구성도를 나타낸 도면,
도 2는 일 예로 전자장치의 절전모드에서 시간에 따른 전원의 상태 변화를 나타낸 도면,
도 3은 일 예로 전자장치의 전원모드를 관리하는 소프트웨어의 운영방식을 나타낸 도면,
도 4는 다른 일 예로 전자장치의 전원모드를 관리하는 소프트웨어의 운영방식을 나타낸 도면,
도 5는 또 다른 일 예로 전자장치의 전원모드를 관리하는 소프트웨어의 운영방식을 나타낸 도면,
도 6은 도 5에 따른 소프트웨어의 부팅 시간을 나타낸 도면,
도 7은 본 개시의 실시예에 따른 전자장치를 운영하기 위한 소프트웨어의 순서도를 나타낸 도면이다.
도 2는 일 예로 전자장치의 절전모드에서 시간에 따른 전원의 상태 변화를 나타낸 도면,
도 3은 일 예로 전자장치의 전원모드를 관리하는 소프트웨어의 운영방식을 나타낸 도면,
도 4는 다른 일 예로 전자장치의 전원모드를 관리하는 소프트웨어의 운영방식을 나타낸 도면,
도 5는 또 다른 일 예로 전자장치의 전원모드를 관리하는 소프트웨어의 운영방식을 나타낸 도면,
도 6은 도 5에 따른 소프트웨어의 부팅 시간을 나타낸 도면,
도 7은 본 개시의 실시예에 따른 전자장치를 운영하기 위한 소프트웨어의 순서도를 나타낸 도면이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '…부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 개시에 따른 전자장치의 구성도를 나타낸 도면이다.
도 1을 참조하면, 전자장치(100)는 트랜시버(transceiver)(110), CPU(120), 타이머(timer)(130), 램(RAM)(140), 및 코드 메모리(150)을 포함할 수 있다.
도 1에서는 다수의 구성으로 나누어 설명하나 여러 개의 구성이 하나의 구성으로 통합되어 구현될 수 있으며 또는 하나의 구성이 여러 개의 구성으로 나누어 구현될 수도 있다.
트랜시버(110)(또는 송수신부)는 다른 장치와 데이터를 송수신한다. 예를 들어, 전자장치(100)가 와이파이 통신을 지원하면, 트랜시버(110)는 와이파이 AP(access point)와 데이터를 송수신할 수 있다. 또한, 전자장치(100)가 이동 통신을 지원하면, 트랜시버(110)는 기지국(eNB)과 데이터를 송수신할 수 있다.
CPU(120)(또는 제어부)는 전자장치(100)의 다른 구성들을 제어할 수 있다. 예를 들어, CPU(120)는 트랜시버(110)를 제어해 데이터를 송수신하고, 램(RAM)(140) 또는 코드 메모리(150)로부터 데이터를 읽을 수 있다.
타이머(timer)(130)는 전자장치(100)의 내부 구성간에 동기를 맞추기 위해 이용되고, 상기 전자장치(100)의 전원이 절전모드에 있을 경우 sleep 상태와 wake-up 상태를 전환하는데 이용될 수 있다.
램(RAM)(140)은 전자장치(100)의 운영 중에 필요한 데이터를 저장하는데 이용되고, 코드 메모리(150)에 저장된 소프트웨어를 램(RAM)(140)에 다운로드하여 실행하는데 이용될 수 있다.
코드 메모리(150)는 전자장치(100)의 전원이 꺼지더라도 소프트웨어 코드가 저장된 상태로 유지되는 메모리로 통상 플래쉬(flash) 메모리로 구현된다. 일반적으로 코드 메모리(150)에는 부팅 프로그램이 저장될 수 있다.
이 외에도 도 1에는 도시되지 않았으나 전원을 공급하기 위한 배터리, 다양한 센서 등이 전자장치(100)에 포함될 수 있다.
전자장치의 전원모드는 크게 연결모드와 절전모드(또는 저전력모드(power save mode))로 나눌 수 있다. 상기 전자장치는 모드와 관계없이 항상 네트워크와 연결된 상태이다. 다만, 상기 전자장치가 상기 네트워크와 얼마나 자주, 얼마나 많은 양의 데이터를 송수신하는지에 따라 상기 전자장치의 전원모드는 연결모드와 절전모드로 나눠 운용될 수 있다. 예를 들어, 사용자가 상기 전자장치를 이용해 인터넷 게임을 이용한다면 지속적으로 데이터를 송수신하여야 하기 때문에 상기 전자장치의 전원모드는 연결모드가 되고, 사용자가 상기 전자장치를 이용하지 않는다면 상기 전자장치의 전원모드는 절전모드일 수 있다. 또한, 상기 연결모드와 상기 절전모드는 상기 전자장치의 내부 구성 중 전원이 공급되는 구성에 따라서 분류될 수도 있다.
이하에서는 상기 전자장치의 절전모드에 대해 설명한다. 구체적으로 와이파이 시스템을 예로 하여 설명하나, 반드시 와이파이 시스템에 한정되는 것은 아니다.
도 2는 일 예로 전자장치의 절전모드에서 시간에 따른 전원의 상태 변화를 나타낸 도면이다.
상기 전자장치의 전원모드가 절전모드라도, 상기 전자장치는 네트워크에 연결되어 인증이 완료되었으며 언제든지 통신할 수 있는 대기상태이다. 따라서, 상기 전자장치는 주기적으로 전원을 켜 비콘(beacon) 신호를 수신하여 송수신할 데이터가 있는지 판단하고, 송수신할 데이터가 없다면 비콘의 다음 신호를 수신하기 위한 최소한의 구성을 제외한 나머지 구성의 전원을 차단한다. 이와 같이 비콘 신호를 수신하기 위해 상기 전자장치의 전원이 켜진 상태를 wake-up 상태(201, 203)라 칭하고, 최소한의 구성을 제외한 나머지 구성의 전원이 차단된 상태를 sleep 상태(205)라 칭하기로 한다.
구체적으로, 상기 전자장치가 sleep 상태(205)에서는 내부 구성 중 트랜시버의 전원을 차단할 수 있다. 또는 상기 전자장치는 타이머와 램의 일부만을 제외한 나머지 구성의 전원을 선택적으로 차단할 수 있다. 다만 상기 전자장치는 sleep 상태(205)로 전환하기 전 연결된 네트워크의 정보를 미리 저장할 수 있다. 또한, 상기 전자장치는 다음 wake-up 상태(201, 203)로 전환될 시점을 타이머를 이용해 설정할 수 있다. 상기 전자장치가 sleep 상태(205)에서는 트랜시버의 전원을 차단하기 때문에 어떠한 데이터도 송수신할 수 없다.
상기 전자장치는 주기적으로 또는 비주기적으로 sleep 상태(205)에서 wake-up 상태(201, 203)로 전환한다. 비콘 신호의 송신 주기(beacon interval)마다 wake-up 상태(201, 203)로 전환될 수 있으며, DTIM(delivery traffic indication map) 주기마다 wake-up 상태(201, 203)로 전환될 수 있다. 일반적으로 DTIM 주기는 비콘 신호의 송신 주기의 정수배가 된다. 이 밖에도 상기 전자장치가 송신할 데이터가 있거나 센서를 주기적으로 모니터링 해야 한다면 비콘 신호를 수신하지 않더라도 sleep 상태(205)에서 wake-up 상태(201, 203)로 전환할 수 있다.
상기 전자장치가 sleep 상태(205)에서 wake-up 상태(201, 203)로 전환하기 위해서는 소프트웨어를 로딩(loading)하고 초기화하는 부팅(booting)을 해야 한다. 따라서, 상기 전자장치는 비콘 신호가 수신되기 전 부팅 시간을 고려해 wake-up 상태(201, 203)로 전환한다. 상기 전자장치가 wake-up 상태(201, 203)로 전환되면 비콘 신호를 수신하여 추가로 수신할 데이터가 있는지 여부, 네트워크 설정을 변경해야 하는지 여부, 재접속이 필요한지 여부 등을 판단한다. 만약 상기 전자장치의 추가적인 동작이 필요하지 않다면 wake-up 상태(203)는 짧은 기간동안만 유지되고 다시 sleep 상태(205)로 전환된다. 그러나, 상기 전자장치의 추가적인 동작이 필요하다면 wake-up 상태(201)는 길게 유지될 수 있다. 예컨대, 상기 전자장치가 데이터를 송신하게 되면 상대방으로부터 ack를 수신하고 그 결과를 상기 전자장치의 내부에 업데이트 해야 되기 때문에 wake-up 상태(201)는 길게 유지될 수 있다. 즉, 상기 전자장치는 wake-up 상태(201)에서 처리해야 하는 일의 양에 따라 유지 시간을 달리할 수 있다.
절전모드의 전자장치는 wake-up 상태(201, 203)와 sleep 상태(205)가 반복적으로 전환된다.
도 3은 일 예로 전자장치의 전원모드를 관리하는 소프트웨어의 운영방식을 나타낸 도면이다.
도 3을 참조하면, 전자장치(100)는 sleep 상태에서 타이머(130)와 RAM(140)의 전원만을 켜두고, wake-up 상태에서는 타이머(130)와 RAM(140) 외의 트랜시버(110), CPU(120)의 전원도 켠다.
도 3에서 설명하는 소프트웨어의 운영방식은 하나의 소프트웨어를 이용해 전자장치(100)의 전원을 최초로 켤 때 풀 부팅(full booting)을 하고, 이후 전자장치(100)가 sleep 상태로 전환하더라도 CPU(120)가 사용하는 RAM(140)의 전원은 켠 상태로 유지하여 RAM(140)에 저장된 데이터를 보존한다. 따라서, 전자장치(100)가 sleep 상태에서 wake-up 상태로 전환하더라도 소프트웨어 로딩없이 간단한 초기화 과정만 수행하면 된다. 이러한 운영방식은 부팅 시간(310)이 매우 짧다는 장점이 있으나 sleep 상태에서도 RAM(140)의 전원을 켜두기 때문에 전력소모(320)가 크다는 단점을 갖는다.
도 4는 다른 일 예로 전자장치의 전원모드를 관리하는 소프트웨어의 운영방식을 나타낸 도면이다.
도 4를 참조하면, 전자장치(100)는 sleep 상태에서 타이머(130)와 RAM(140)의 일부인 RTM(retention memory)(430)에만 전원만을 켜두고, wake-up 상태에서는 코드 메모리(150)를 포함하여 전자장치(100)의 모든 내부 구성에 전원을 켠다.
도 4에서 설명하는 소프트웨어의 운영방식은 도 3에서와 마찬가지로 하나의 소프트웨어를 이용해 전자장치(100)의 전원을 최초로 켤 때 풀 부팅(full booting)을 하지만, 이후 전자장치(100)가 sleep 상태로 전환시 와이파이 연결 정보나 TCP 세션 연결 정보 등 각종 연결 유지에 필요한 데이터만 RTM(430)에 저장하고 RTM(430)의 전원만 켠 상태로 유지한다. 즉, 타이머(130)와 RTM(430)을 제외한 전자장치(100)의 다른 구성은 전원을 꺼 전력 소모(420)를 최소화한다. 이러한 운영방식은 전자장치(100)가 wake-up 모드로 전환시 소프트웨어 로딩과 초기화를 다시 수행해야 하기 때문에 부팅 시간(410)이 길다는 단점이 있다. 만약 비콘 신호를 수신하는 주기가 짧아 빈번하게 wake-up 상태로 전환되어야 한다면 부팅 시간 때문에 오히려 평균 전력 소모가 커질 수도 있다.
도 5는 또 다른 일 예로 전자장치의 전원모드를 관리하는 소프트웨어의 운영방식을 나타낸 도면이다.
도 5를 참고하면, 도 4와 마찬가지로 RAM(140)의 일부인 RTM(430)에 각종 연결 유지에 필요한 데이터를 저장하고 전자장치(100)가 sleep 상태일 때에도 전원을 공급한다. RTM(430)에 저장된 데이터는 이후 설명하는 소프트웨어 간의 동기화에 이용될 수 있다.
도 5에서 설명하는 소프트웨어의 운영방식은 다수의 소프트웨어를 운영하면서 전자장치가 절전모드에서 수행해야 하는 일의 양에 따라 수행하는 소프트웨어를 달리 운영하는 방식이다. 예를 들면, 비콘 신호를 수신하는 일은 자주 주기적으로 수행해야 하며 단순하고 간단하기 때문에 이를 위한 소프트웨어 0(software_0)(510)를 운영할 수 있다. 또한, 주기적으로 센서를 체크해야 한다면 이를 수행하는 소프트웨어 1(software_1)(520)를 비콘 신호를 수신하여 처리하는 소프트웨어 0(software_0)(510)와는 별도로 운영할 수 있다. 그리고, 자주 발생하지는 않으나 다른 장치와 데이터를 송수신하고 네트워크 정보를 갱신하는 등 다수의 일을 처리해야 한다면 이는 소프트웨어 0(software_0)(510), 소프트웨어 1(software_1)(520)과는 다른 별도의 소프트웨어 n(software_n)(530)으로 운영할 수 있다.
즉, 소프트웨어 0(software_0)(510)은 주기적으로 단순한 기능만을 수행하기 때문에 부팅 시간인 소프트웨어 로딩 시간과 초기화 시간을 작게 줄이며 부팅으로 인한 전력 소모를 줄일 수 있다. 소프트웨어 1(software_1)(520)은 소프트웨어 0(software_0)(510)과 주기도 다르며 다른 기능을 수행하기 위해 운영할 수 있다. 만약 소프트웨어 0(software_0)(510)과 소프트웨어 1(software_1)(520)이 동일한 주기로 비슷한 기능을 수행한다면 하나의 소프트웨어로도 운영될 수 있다. 또한, 소프트웨어 0(software_0)(510)이 실행된 후 추가적으로 다른 기능을 수행해야 한다면 다른 소프트웨어를 부팅할 수 있다. 마지막으로 소프트웨어 n(software_n)(530)은 간혹 수행되지만 다양하고 많은 기능을 수행하기 위해 운영될 수 있다. 따라서 소프트웨어 n(software_n)(530)은 부팅 시간인 소프트웨어 로딩 시간과 초기화 시간이 소프트웨어 0(software_0)(510) 및 소프트웨어 1(software_1)(520)보다는 오래 걸려 부팅시 소모되는 전력이 클 수 있다. 하지만 소프트웨어 n(Software_n)(530)의 실행 주기가 길거나 실행 빈도를 충분히 낮게 제한한다면 평균 전력 소모를 충분히 작게 관리할 수 있다.
그래서, 자주 실행되는 기능과 그렇지 않은 기능을 잘 나누어 소프트웨어 0(software_0)(510), 소프트웨어 1(software_1)(520), 소프트웨어 n(software_n) (530) 등으로 나누어 관리하면 평균 전력 소모를 최소화 할 수 있다.
각 소프트웨어들간의 데이터 동기화는 RTM(430)을 통해 이루어질 수 있다. RTM(430)에는 각종 연결 유지에 필요한 정보뿐만 아니라 운영되는 모든 소프트웨어들이 공통으로 참조하거나 하나의 소프트웨어가 다른 소프트웨어로 전달할 정보가 저장될 수 있다. 각 소프트웨어들은 wake-up으로 전환시 RTM(430)을 참조하여 상태 정보 등을 포함한 자신의 변수들을 초기화하고, 이후 자기의 해당 기능을 수행한 결과를 RTM(430)에 업데이트할 수 있다.
도 6은 도 5에 따른 소프트웨어의 부팅 시간을 나타낸 도면이다.
도 6의 (a)는 도 5에서 설명한 소프트웨어 0(software_0)(510)의 부팅 시간(610)을 나타낸 것이고, 도 6의 (b)는 도 5에서 설명한 소프트웨어 n(software_n)(530)의 부팅 시간(620)을 나타낸 것이다. 소프트웨어 0(software_0)(510)는 수행 주기도 짧고 단순한 기능만을 수행하기 때문에 부팅 시간(610)도 비교적 짧은 편이다. 반면, 소프트웨어 n(software_n)(530)은 수행 주기는 길지만 다양하고 많은 기능을 수행하기 때문에 부팅 시간(620)이 길 수 있다.
도 7은 본 개시의 실시예에 따른 전자장치를 운영하기 위한 소프트웨어의 순서도를 나타낸 도면이다.
상기 전자장치는 전력모드가 절전모드로 변경됨에 따라 sleep 상태로 전환한다(710). 상기 전자장치는 상기 sleep 상태에서 내부 구성 중 일부 구성의 전원을 차단할 수 있다. 예를 들어, 트랜시버의 전원을 차단하게 되면 상기 전자장치는 데이터를 송수신할 수 없게 된다. 상기 전자장치는 상기 sleep 상태로 전환하기 전 네트워크와의 연결 유지에 필요한 정보를 메모리에 저장할 수 있다. 이와 같이 네트워크와의 연결 유지에 필요한 정보를 저장해 둠으로써 상기 전자장치는 wake-up 상태로 전환했을 때 빠르게 상기 네트워크와 연결할 수 있다.
상기 전자장치는 제1 주기마다 sleep 상태에서 wake-up 상태로 전환해 제1 소프트웨어를 운영한다(720). 예를 들어, 상기 전자장치는 비콘 신호를 수신하기 위해 상기 제1 주기마다 sleep 상태에서 wake-up 상태로 전환할 수 있다.
상기 전자장치는 상기 제1 소프트웨어의 운영이 종료하면 다시 상기 sleep 상태로 전환한다(730).
상기 전자장치는 제2 주기마다 상기 sleep 상태에서 상기 wake-up 상태로 전환해 제2 소프트웨어를 운영한다(740). 예를 들어, 상기 전자장치는 데이터를 송수신하기 위해 상기 제2 주기마다 sleep 상태에서 wake-up 상태로 전환할 수 있다.
상기 전자장치는 상기 제2 소프트웨어의 운영이 종료되면 상기 sleep 상태로 전환한다(750).
상기 제1 소프트웨어와 상기 제2 소프트웨어는 데이터의 동기화를 위해 항상 전원이 켜진 메모리를 이용할 수 있다. 즉, 각 소프트웨어는 부팅시 메모리에 저장된 정보를 이용해 변수 등을 초기화하고, 운영이 완료되면 상기 메모리에 필요한 정보를 업데이트할 수 있다.
상기 제1 소프트웨어와 상기 제2 소프트웨어는 수행 주기 또는 수행하는 기능 중 적어도 어느 하나에 따라 분류된 것일 수 있다. 또는 상기 제1 소프트웨어와 상기 제2 소프트웨어는 부팅시 전력소모를 최소화하기 위해 더 분류된 것일 수 있다. 또한, 상기 제1 소프트웨어와 상기 제2 소프트웨어는 부팅 시간이 동일하지 않다.
도 7에서는 과정 710 내지 과정 750을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것이다. 다시 말해, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 7에 기재된 순서를 변경하여 실행하거나 과정 710 내지 과정 750 중 하나 이상의 과정을 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 7은 시계열적인 순서로 한정되는 것은 아니다.
한편, 도 7에 도시된 과정들은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 즉, 컴퓨터가 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
Claims (12)
- 전원을 효율적으로 관리하기 위한 전자장치에 있어서,
제1 소프트웨어 및 제2 소프트웨어를 저장하는 제1 메모리;
상기 제1 소프트웨어 및 상기 제2 소프트웨어가 실행되는 영역인 제2 메모리;
상기 제1 소프트웨어와 상기 제2 소프트웨어의 수행 주기를 체크하기 위한 타이머;
상기 전자장치의 wake-up 상태 유지 시간을 결정하는 데 필요한 정보를 수신하는 트랜시버; 및
상기 수행 주기에 따라 상기 제1 소프트웨어 또는 상기 제2 소프트웨어 중 어느 하나를 상기 제2 메모리에 로드하여 상기 전자장치를 sleep 상태에서 wake-up 상태로 전환시키고, 상기 유지 시간 후 sleep 상태로 전환시키는 제어부;
를 포함하되,
상기 제1 소프트웨어는 수행 빈도가 높고 크기가 작으며, 상기 제2 소프트웨어는 수행 빈도가 낮고 크기가 큰 것을 특징으로 하는 전자장치. - 제1항에 있어서,
상기 제1 소프트웨어와 상기 제2 소프트웨어는 수행해야 하는 기능에 따라 더 분류된 것임을 특징으로 하는 전자장치. - 제1항에 있어서,
상기 제2 메모리는 상기 제1 소프트웨어와 상기 제2 소프트웨어가 공통으로 이용하는 공통 정보를 저장하는 RTM(retention memory)을 포함하되,
상기 전자장치의 sleep 상태에서 상기 RTM 및 상기 타이머에 전력이 공급되며, 상기 제1 메모리, 상기 제2 메모리의 영역 중 상기 RTM이 포함되지 않은 메모리 영역, 상기 트랜시버 및 상기 제어부에는 전력이 공급되지 않고,
상기 전자장치가 sleep 상태에서 wake-up 상태로 전환될 때, 상기 제어부는 상기 RTM에 저장된 상기 공통 정보를 이용하는 것을 특징으로 하는 전자장치. - 제1항에 있어서,
상기 제1 소프트웨어와 상기 제2 소프트웨어는 부팅 시간이 동일하지 않음을 특징으로 하는 전자장치. - 삭제
- 제1항에 있어서,
상기 제1 소프트웨어는 와이파이 시스템의 비콘 신호를 수신하기 위한 소프트웨어고,
상기 제2 메모리는 와이파이 시스템의 네트워크 연결 정보를 저장하는 RTM을 포함하되,
상기 전자장치의 sleep 상태에서 상기 RTM 및 상기 타이머에 전력이 공급되며, 상기 제1 메모리, 상기 제2 메모리의 영역 중 상기 RTM이 포함되지 않은 메모리 영역, 상기 트랜시버 및 상기 제어부에는 전력이 공급되지 않고,
상기 전자장치가 sleep 상태에서 wake-up 상태로 전환될 때, 상기 제어부는 상기 네트워크 연결 정보를 이용하는 것을 특징으로 하는 전자장치. - 전자장치에 의해 수행되는 전원 관리 방법에 있어서,
Sleep 상태로 전환하는 단계;
제1 주기마다 wake-up 상태로 전환해 제1 소프트웨어를 운영하는 단계;
상기 제1 소프트웨어의 운영이 종료하면 상기 sleep 상태로 전환하는 단계;
제2 주기마다 상기 wake-up 상태로 전환해 제2 소프트웨어를 운영하는 단계; 및
상기 제2 소프트웨어의 운영이 종료되면 상기 sleep 상태로 전환하는 단계를 포함하고,
상기 제1 소프트웨어와 상기 제2 소프트웨어는 수행 주기 및 크기에 따라 분류된 것임을 특징으로 하는 전원 관리 방법. - 제7항에 있어서,
상기 제1 소프트웨어와 상기 제2 소프트웨어는 수행해야 하는 기능에 따라 더 분류된 것임을 특징으로 하는 전원 관리 방법 - 제7항에 있어서,
상기 제1 소프트웨어와 상기 제2 소프트웨어는 부팅 시간이 동일하지 않음을 특징으로 하는 전원 관리 방법. - 제7항에 있어서,
상기 제1 소프트웨어를 운영하는 단계는,
상기 제1 소프트웨어와 상기 제2 소프트웨어가 공통으로 이용하는 공통 정보를 메모리에 저장하는 단계를 포함하고,
상기 전자장치의 sleep 상태는 상기 메모리의 영역 중 상기 공통 정보를 저장한 RTM 영역에 전력을 공급받는 상태이며,
상기 제2 소프트웨어를 운영하는 단계는,
wake-up 상태로 전환할 때 상기 공통 정보를 이용하는 것을 특징으로 하는 전원 관리 방법. - 삭제
- 제7항에 있어서,
상기 제1 소프트웨어는 와이파이 시스템의 비콘 신호를 수신하기 위한 소프트웨어고,
상기 제1 소프트웨어를 운영하는 단계는,
상기 제1 소프트웨어와 상기 제2 소프트웨어가 와이파이 시스템의 네트워크 연결 정보를 메모리에 저장하는 단계를 포함하고,
상기 전자장치의 sleep 상태는 상기 메모리의 영역 중 상기 네트워크 연결 정보를 저장한 RTM 영역에 전력을 공급받는 상태이며,
상기 제2 소프트웨어를 운영하는 단계는,
wake-up 상태로 전환할 때 상기 네트워크 연결 정보를 이용하는 것을 특징으로 하는 전원 관리 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180083781A KR102164716B1 (ko) | 2018-07-19 | 2018-07-19 | 전원을 효율적으로 관리하기 위한 소프트웨어 운영 방법 및 이를 이용한 장치 |
US16/516,311 US11137816B2 (en) | 2018-07-19 | 2019-07-19 | Software operation method for managing power supply and apparatus using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180083781A KR102164716B1 (ko) | 2018-07-19 | 2018-07-19 | 전원을 효율적으로 관리하기 위한 소프트웨어 운영 방법 및 이를 이용한 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200009426A KR20200009426A (ko) | 2020-01-30 |
KR102164716B1 true KR102164716B1 (ko) | 2020-10-14 |
Family
ID=69161827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180083781A KR102164716B1 (ko) | 2018-07-19 | 2018-07-19 | 전원을 효율적으로 관리하기 위한 소프트웨어 운영 방법 및 이를 이용한 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11137816B2 (ko) |
KR (1) | KR102164716B1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014102836A (ja) | 2012-11-16 | 2014-06-05 | Samsung Electronics Co Ltd | 携帯用電子装置の節電モードでのプロセッサ活動の監視及び管理方法とこれを支援する電子装置 |
JP2016178666A (ja) | 2016-05-06 | 2016-10-06 | 華為技術有限公司Huawei Technologies Co.,Ltd. | 電池式モバイル無線情報デバイスの動作中の電力消費を最小化する方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5745375A (en) * | 1995-09-29 | 1998-04-28 | Intel Corporation | Apparatus and method for controlling power usage |
US7500127B2 (en) * | 2003-09-18 | 2009-03-03 | Vulcan Portals Inc. | Method and apparatus for operating an electronic device in a low power mode |
US8224639B2 (en) * | 2004-03-29 | 2012-07-17 | Sony Computer Entertainment Inc. | Methods and apparatus for achieving thermal management using processing task scheduling |
US20060015855A1 (en) * | 2004-07-13 | 2006-01-19 | Kumamoto Danny N | Systems and methods for replacing NOP instructions in a first program with instructions of a second program |
US8510577B2 (en) * | 2008-07-28 | 2013-08-13 | Microsoft Corporation | Reducing power consumption by offloading applications |
US8923176B2 (en) * | 2011-03-08 | 2014-12-30 | Skype | Saving power in a wireless communication device |
JP5836491B2 (ja) * | 2012-08-24 | 2015-12-24 | ▲華▼▲為▼終端有限公司Huawei Device Co., Ltd. | 端末の立ち上がり周期を調整する方法、装置、端末、コンピュータプログラム及び記憶媒体 |
KR20150001219A (ko) * | 2013-06-26 | 2015-01-06 | 모다정보통신 주식회사 | 절전모드를 제공하는 방법 및 장치 |
KR20160121876A (ko) * | 2015-04-13 | 2016-10-21 | (주)에프씨아이 | 와이파이시스템의 슬립모드로부터 어웨이크모드로 전환하는 방법 |
-
2018
- 2018-07-19 KR KR1020180083781A patent/KR102164716B1/ko active IP Right Grant
-
2019
- 2019-07-19 US US16/516,311 patent/US11137816B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014102836A (ja) | 2012-11-16 | 2014-06-05 | Samsung Electronics Co Ltd | 携帯用電子装置の節電モードでのプロセッサ活動の監視及び管理方法とこれを支援する電子装置 |
JP2016178666A (ja) | 2016-05-06 | 2016-10-06 | 華為技術有限公司Huawei Technologies Co.,Ltd. | 電池式モバイル無線情報デバイスの動作中の電力消費を最小化する方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200026341A1 (en) | 2020-01-23 |
US11137816B2 (en) | 2021-10-05 |
KR20200009426A (ko) | 2020-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111954253B (zh) | 一种重配置消息处理方法、电子设备及存储介质 | |
KR101832953B1 (ko) | 모바일 디바이스의 어플리케이션 프로세서의 원격 시동 | |
US11115926B2 (en) | User node, a network node and methods for wireless communication | |
US20080254841A1 (en) | Communication terminal and computer-readable storage medium | |
CN108632309B (zh) | 一种升级窄带物联网终端的方法及装置 | |
US9037086B2 (en) | Method for controlling bluetooth device for power conservation | |
CN106060911B (zh) | 一种射频单元的休眠、唤醒方法及基站 | |
KR20180085214A (ko) | 사물 인터넷 통신 방법 및 그 전자 장치 | |
US11563634B2 (en) | Hardware platform based on FPGA partial reconfiguration for wireless communication device | |
CN110933721A (zh) | 唤醒无线电部漫游 | |
CN105323387A (zh) | 用于并行化ue唤醒处理的装置、系统和方法 | |
CN110958622A (zh) | 一种信息发送和接收方法及装置、终端和基站 | |
KR20160121876A (ko) | 와이파이시스템의 슬립모드로부터 어웨이크모드로 전환하는 방법 | |
US20150282091A1 (en) | Method for DSDS/DSDA Idle Power Optimization by Adaptive RF Power Retention and Delta Programming | |
CN109429320B (zh) | 能量预算的系统恢复 | |
US10736031B2 (en) | Access point energy saving method and access point | |
KR102164716B1 (ko) | 전원을 효율적으로 관리하기 위한 소프트웨어 운영 방법 및 이를 이용한 장치 | |
KR20130101989A (ko) | 관리 방법 및 관련된 컴퓨터 시스템 및 이를 사용하는 기계 판독가능한 저장 매체 | |
US10602342B1 (en) | SIM over-the-air update for non-IP devices | |
WO2017160392A1 (en) | Low power cellular modem system architecture | |
EP3820203B1 (en) | Interactive electronic label device communication system and method | |
KR101986634B1 (ko) | 사물인터넷 기기의 전력 절감 방법 및 장치 | |
JP4880739B2 (ja) | 無線lanシステム、データ通信制御方法、及びアクセスポイント | |
US20170255407A1 (en) | Device, save data reduction method, and computer-readable recording medium | |
CN110913377B (zh) | 切换串口工作状态的方法、系统、蓝牙追踪设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |