KR102091409B1 - 전자장치 및 그 제어방법 - Google Patents

전자장치 및 그 제어방법 Download PDF

Info

Publication number
KR102091409B1
KR102091409B1 KR1020180065621A KR20180065621A KR102091409B1 KR 102091409 B1 KR102091409 B1 KR 102091409B1 KR 1020180065621 A KR1020180065621 A KR 1020180065621A KR 20180065621 A KR20180065621 A KR 20180065621A KR 102091409 B1 KR102091409 B1 KR 102091409B1
Authority
KR
South Korea
Prior art keywords
memory
memory recovery
recovery operation
electronic device
data
Prior art date
Application number
KR1020180065621A
Other languages
English (en)
Other versions
KR20190106623A (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 CN201980018071.5A priority Critical patent/CN111837105A/zh
Priority to PCT/KR2019/002546 priority patent/WO2019172622A1/ko
Priority to US16/977,288 priority patent/US20210004272A1/en
Priority to EP19764448.7A priority patent/EP3745263A4/en
Publication of KR20190106623A publication Critical patent/KR20190106623A/ko
Application granted granted Critical
Publication of KR102091409B1 publication Critical patent/KR102091409B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

전자장치는, 메모리와; 메모리에 로딩된 데이터에 기반한 프로세스를 실행하며, 전자장치의 현재 동작 부하의 레벨을 확인하며, 메모리의 가용용량을 늘리는 제1메모리회수 동작과, 제1메모리회수 동작과 메모리 회수 속도가 상이한 제2메모리회수 동작 중에서, 판단된 전자장치의 현재 동작 부하의 레벨에 대응하는 어느 한 동작을 실행하는 프로세서를 포함한다.

Description

전자장치 및 그 제어방법 {ELECTRONIC APPARATUS AND CONTROL METHOD THEREOF}
본 발명은 CPU, 프로세서 등의 하드웨어에 의해 운영체제, 어플리케이션 등의 소프트웨어를 실행시킴으로써 동작하는 전자장치 및 그 제어방법에 관한 것으로서, 상세하게는 동작 중에 소프트웨어의 실행에 필요한 메모리의 가용용량을 확보하기 위한 구조의 전자장치 및 그 제어방법에 관한 것이다.
소정의 정보를 특정 프로세스에 따라서 연산 및 처리하기 위해, 연산을 위한 CPU, 칩셋, 메모리 등의 전자부품들을 기본적으로 포함하는 전자장치는, 처리 대상이 되는 정보가 무엇인지에 따라서 다양한 종류로 구분될 수 있다. 예를 들면, 전자장치에는 범용의 정보를 처리하는 PC나 서버 등의 정보처리장치가 있고, 영상 정보를 처리하는 영상처리장치가 있다. 영상처리장치, 디스플레이장치, 정보처리장치 등 다양한 전자장치는 단일 개체로서 그 자체적으로 사전 부여된 기능을 수행한다.
전자장치가 동작하는 기본적인 구조는 하드웨어 및 소프트웨어의 두 가지 측면을 함께 고려해야 한다. 하드웨어의 측면에서 전자장치는 프로세스의 연산 및 처리를 위한 개체인 CPU, 프로세서 또는 SOC와, 프로세스를 위한 데이터가 로딩되는 메모리를 포함한다. 소프트웨어의 측면에서, 전자장치는 시스템의 기본 관리를 수행하는 운영체제 또는 커널과, 운영체제 상에서 구동하며 프로세스를 실행하는 어플리케이션을 포함한다. 예를 들면, CPU는 운영체제에 해당하는 데이터를 메모리에 로딩하여 실행시키고, 운영체제가 실행되는 동안에 어플리케이션을 메모리에 로딩하여 운영체제 상에서 실행시킴으로써, 최종적으로 어플리케이션의 실행에 의해 프로세스가 수행된다.
시간이 경과함에 따라서 여러 프로세스의 실행 및 종료가 반복되면, 프로세스의 데이터가 메모리에 로딩되는 점유율, 즉 메모리의 사용용량이 늘어나고 메모리의 가용용량이 줄어든다. 전자장치의 운영체제는 메모리의 가용용량이 소정의 한계치 이하로 줄어들면, 차후의 프로세스의 실행을 위해 메모리의 사용용량을 줄이고 가용용량을 늘리는 동작을 수행한다. 통상적으로, 이러한 동작을 메모리 회수라고 지칭한다.
메모리 회수는 운영체제 내의 프로그램 코드로 구현되며, 소정의 조건을 만족하면 실행된다. 운영체제는 여러 가지의 메모리 회수 방식을 가질 수 있는데, 예를 들면, 종래의 리눅스 기반의 운영체제는 KSD(Kernel Swap Daemon)와 LMK(Low Memory Killer)의 메모리 회수 방식을 가진다. 그런데, 이와 같은 메모리 회수 동작은 필연적으로 CPU의 부하를 발생시키게 되는데, 전자장치의 멀티태스킹 특성 때문에 CPU가 메모리 회수 동작에만 사용되는 것은 아니다. 즉, 메모리 회수 동작이 수행되는 동안에도 타 프로세스에 의해 CPU가 사용될 수 있으며, 이 경우에 CPU의 과부하가 발생할 수 있다. CPU의 과부하는 전자장치의 동작의 지연을 발생시킨다.
따라서, CPU의 과부하를 최소화시키면서도 시스템 상태에 적응적으로 메모리 회수를 수행할 수 있는 전자장치가 요구된다.
본 발명의 실시예에 따른 전자장치는, 메모리와; 상기 메모리에 로딩된 데이터에 기반한 프로세스를 실행하며, 상기 전자장치의 현재 동작 부하의 레벨을 확인하며, 상기 프로세스를 실행하도록 로딩된 데이터의 전체를 메모리에서 회수하여 메모리의 가용용량을 늘리는 제1메모리회수 동작과, 상기 제1메모리회수 동작과 메모리 회수 속도가 상이하고 상기 프로세스를 실행하도록 로딩된 데이터의 일부를 메모리에서 회수하여 메모리의 가용용량을 늘리는 제2메모리회수 동작 중에서, 상기 판단된 전자장치의 현재 동작 부하의 레벨에 따라 어느 한 동작을 선택하여 실행하는 프로세서를 포함한다. 이로써, 전자장치는 프로세서의 과부하를 최소화시키면서도 시스템 상태에 적응적으로 메모리 회수를 수행할 수 있다.
여기서, 상기 전자장치의 현재 동작 부하는, 상기 프로세서의 현재 동작 부하를 포함할 수 있다.
또한, 상기 프로세서는, 상기 확인된 레벨이 제1임계치보다 높으면 상기 제2메모리회수 동작보다 메모리 회수 속도가 빠른 상기 제1메모리회수 동작을 실행하고, 상기 확인된 레벨이 상기 제1임계치보다 높지 않으면 상기 제2메모리회수 동작을 실행할 수 있다.
여기서, 상기 제1메모리회수 동작은 LMK(Low Memory Killer) 방식에 따르며, 상기 제2메모리회수 동작은 KSD(Kernel Swap Daemon) 방식에 따를 수 있다.
또한, 상기 제1메모리회수 동작 및 상기 제2메모리회수 동작 중 어느 하나의 실행은, 상기 가용용량이 제2임계치보다 낮은 것으로 감지되면 수행되도록 마련될 수 있다.
여기서, 상기 프로세서는, 상기 제1메모리회수 동작 및 상기 제2메모리회수 동작 중 어느 하나를 실행한 이후의 상기 가용용량이 상기 제2임계치보다 낮은 제3임계치보다 낮으면, 상기 제1메모리회수 동작 및 상기 제2메모리회수 동작을 함께 실행할 수 있다.
또한, 상기 제2메모리회수 동작은, 상기 메모리에 로딩된 프로세스의 데이터를 기 설정된 중요도에 따라서 분류하고, 상기 분류 결과에 따라서 분류된 일부 데이터에 대한 메모리 회수를 수행할 수 있다.
또한, 본 발명의 실시예에 따른 전자장치의 제어방법은, 상기 전자장치의 메모리에 로딩된 데이터에 기반한 프로세스를 실행하는 단계와; 상기 전자장치의 현재 동작 부하의 레벨을 확인하는 단계와; 상기 프로세스를 실행하도록 로딩된 데이터의 전체를 메모리에서 회수하여 메모리의 가용용량을 늘리는 제1메모리회수 동작과, 상기 제1메모리회수 동작과 메모리 회수 속도가 상이하고 상기 프로세스를 실행하도록 로딩된 데이터의 일부를 메모리에서 회수하여 메모리의 가용용량을 늘리는 제2메모리회수 동작 중에서, 상기 판단된 전자장치 현재 동작 부하의 레벨에 따라 어느 한 동작을 선택하여 실행하는 단계를 포함한다.
여기서, 상기 전자장치의 현재 동작 부하는, 상기 전자장치의 프로세서의 현재 동작 부하를 포함할 수 있다.
또한, 상기 제1메모리회수 동작 및 상기 제2메모리회수 동작 중에서 어느 한 동작을 실행하는 단계는, 상기 확인된 레벨이 제1임계치보다 높으면 상기 제2메모리회수 동작보다 메모리 회수 속도가 빠른 상기 제1메모리회수 동작을 실행하고, 상기 확인된 레벨이 상기 제1임계치보다 높지 않으면 상기 제2메모리회수 동작을 실행하는 단계를 포함할 수 있다.
여기서, 상기 제1메모리회수 동작은 LMK 방식에 따르며, 상기 제2메모리회수 동작은 KSD 방식에 따를 수 있다.
또한, 상기 제1메모리회수 동작 및 상기 제2메모리회수 동작 중 어느 하나의 실행은, 상기 가용용량이 제2임계치보다 낮은 것으로 감지되면 수행되도록 마련될 수 있다.
여기서, 상기 제1메모리회수 동작 및 상기 제2메모리회수 동작 중 어느 하나를 실행한 이후의 상기 가용용량이 상기 제2임계치보다 낮은 제3임계치보다 낮으면, 상기 제1메모리회수 동작 및 상기 제2메모리회수 동작을 함께 실행하는 단계를 더 포함할 수 있다.
또한, 상기 제2메모리회수 동작은, 상기 메모리에 로딩된 프로세스의 데이터를 기 설정된 중요도에 따라서 분류하고, 상기 분류 결과에 따라서 분류된 일부 데이터에 대한 메모리 회수를 수행할 수 있다.
도 1은 본 발명의 실시예에 따른 디스플레이장치의 구성 블록도이다.
도 2는 본 발명의 실시예에 따른 디스플레이장치의 프로세서가 데이터를 램에 로딩하는 원리를 나타내는 예시도이다.
도 3은 본 발명의 실시예에 따른 디스플레이장치의 제어방법을 나타내는 플로우차트이다.
도 4는 본 발명의 실시예에 따른 디스플레이장치가 KSD를 실행하는 원리를 나타내는 예시도이다.
도 5는 본 발명의 실시예에 따른 디스플레이장치가 LMK를 실행하는 원리를 나타내는 예시도이다.
도 6은 본 발명의 실시예에 따른 디스플레이장치가 KSD 및 LMK를 선택적으로 실행하는 방법에 관한 플로우차트이다.
도 7은 본 발명의 실시예에 따른 디스플레이장치에서 시간 경과에 따라서 램의 가용용량의 변화 추이를 나타내는 그래프이다.
도 8은 본 발명의 실시예에 따른 디스플레이장치의 프로세서의 사용률에 대응하는 메모리회수 동작을 선택하는 원리를 나타내는 예시도이다.
이하에서는 첨부도면을 참조하여 본 발명에 따른 실시예들에 관해 상세히 설명한다. 각 도면을 참조하여 설명하는 실시예들은 특별한 언급이 없는 한 상호 배타적인 구성이 아니며, 하나의 장치 내에서 복수 개의 실시예가 선택적으로 조합되어 구현될 수 있다. 이러한 복수의 실시예의 조합은 본 발명의 기술분야에서 숙련된 기술자가 본 발명의 사상을 구현함에 있어서 임의로 선택되어 적용될 수 있다.
만일, 실시예에서 제1구성요소, 제2구성요소 등과 같이 서수를 포함하는 용어가 있다면, 이러한 용어는 다양한 구성요소들을 설명하기 위해 사용되는 것이며, 용어는 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용되는 바, 이들 구성요소는 용어에 의해 그 의미가 한정되지 않는다. 실시예에서 사용하는 용어는 해당 실시예를 설명하기 위해 적용되는 것으로서, 본 발명의 사상을 한정하지 않는다.
또한, 본 명세서에서의 복수의 구성요소 중 "적어도 하나(at least one)"라는 표현이 나오는 경우에, 본 표현은 복수의 구성요소 전체 뿐만 아니라, 복수의 구성요소 중 나머지를 배제한 각 하나 혹은 이들의 조합 모두를 지칭한다.
도 1은 본 발명의 실시예에 따른 디스플레이장치의 구성 블록도이다.
도 1에 도시된 바와 같이, 본 실시예에 따른 장치는 디스플레이장치(100)로 구현된다. 그러나, 본 발명의 사상이 적용되는 장치는 디스플레이장치(100) 뿐만 아니라, 다양한 어플리케이션이 인스톨되고 해당 어플리케이션의 실행 시에 소정의 프로세스를 실행하도록 마련된 다양한 종류의 전자장치로 구현될 수 있다. 이러한 전자장치는 예를 들면, TV, 데스크탑 또는 랩탑 컴퓨터, 태블릿 컴퓨터, 모바일 폰, 휴대용 멀티미디어 재생기기, 웨어러블 디바이스, 비디오 월, 전자액자, 생활가전 등과 같이, 다양한 종류의 장치로 구현될 수 있다.
디스플레이장치(100)는 외부장치와 통신하는 통신부(110)와, 소정 데이터가 입출력되도록 마련된 신호입출력부(120)와, 영상을 표시하는 디스플레이부(130)와, 사용자 입력이 수행되는 사용자입력부(140)와, 데이터가 저장되는 저장부(150)와, 데이터를 처리하는 프로세서(160)를 포함한다.
통신부(110)는 네트워크에 대한 통신접속을 위한 구성요소로서, 다양한 종류의 유선 및 무선 통신 프로토콜에 대응하는 통신모듈, 통신칩 등의 구성요소들 중 적어도 하나 이상을 포함하는 양방향 통신회로이다. 예를 들면, 통신부(110)는 와이파이 방식에 따라서 AP와 무선통신을 수행하는 무선통신모듈이나, 라우터 또는 게이트웨이에 유선 접속된 랜카드 등을 포함한다.
신호입출력부(120)는 로컬 접속을 위한 구성요소로서, 소정의 외부장치와 일대일 또는 일대다 방식으로 유선 접속됨으로써 해당 외부장치에 대해 데이터를 수신하거나 또는 데이터를 출력한다. 신호입출력부(120)는 예를 들면, HDMI 포트, USB 포트 등과 같이, 기 설정된 전송규격에 따른 커넥터가 접속되도록 마련된 하나 이상의 포트를 포함한다.
디스플레이부(130)는 화면 상에 영상을 표시할 수 있는 디스플레이 패널을 포함한다. 디스플레이 패널은 액정 방식과 같은 수광 구조 또는 OLED 방식과 같은 자발광 구조로 마련된다. 디스플레이부(130)는 디스플레이 패널의 구조에 따라서 부가적인 구성을 추가로 포함할 수 있는데, 예를 들면 디스플레이 패널이 액정 방식이라면, 액정 디스플레이 패널에 광을 공급하는 백라이트유닛과 액정 디스플레이 패널의 액정을 구동시키는 패널구동기판 등이 구성요소로 추가된다.
사용자입력부(140)는 사용자의 입력을 수행하기 위해 마련된 다양한 종류의 입력 인터페이스를 포함한다. 사용자입력부(140)는 디스플레이장치(100)의 종류에 따라서 여러 가지 형태의 구성이 가능하며, 예를 들면 디스플레이장치(100)의 기계적 또는 전자적 버튼부, 디스플레이장치(100)와 분리된 리모트 컨트롤러, 터치패드, 디스플레이부(130)에 설치된 터치스크린 등이 있다.
저장부(150)는 프로세서(160)에 의해 억세스되며, 프로세서(160)의 제어에 따라서 데이터의 독취, 기록, 수정, 삭제, 갱신 등의 동작이 수행된다. 저장부(150)는 전원의 제공 유무와 무관하게 데이터를 저장할 수 있는 비휘발성 메모리(151)와, 전원이 공급되는 동안에 데이터를 저장할 수 있고 전원이 공급되지 않으면 데이터가 소실되는 휘발성 메모리(152)를 포함한다. 비휘발성 메모리(151)에는 플래시메모리(flash-memory), 하드디스크 드라이브, SSD(solid-state drive) 등이 있으며, 휘발성 메모리(152)에는 버퍼, 램 등이 있다.
프로세서(160)는 인쇄회로기판 상에 장착되는 CPU, 칩셋, 버퍼, 회로 등으로 구현되는 하나 이상의 하드웨어 프로세서를 포함하며, 설계 방식에 따라서는 SOC(system on chip)로 구현될 수도 있다. 프로세서(160)는 디멀티플렉서, 디코더, 스케일러, 오디오 DSP, 앰프 등의 다양한 프로세스에 대응하는 모듈들을 포함하며, 이들 중 일부 또는 전체가 SOC로 구현될 수 있다. 예를 들면, 디멀티플렉서, 디코더, 스케일러 등 영상처리와 관련된 모듈이 영상처리 SOC로 구현되고, 오디오 DSP는 SOC와 별도의 칩셋으로 구현되는 것이 가능하다.
프로세서(160)는 디스플레이장치(100)의 제반 동작을 수행하는 동작의 하드웨어 주체가 된다. 소프트웨어의 관점에서 디스플레이장치(100)의 소정 동작은 운영체제 또는 커널이 수행하거나 또는 커널 상에서 실행되는 어플리케이션에 의해 수행되는데, 프로세서(160)는 소프트웨어가 실행되도록 데이터의 연산, 처리 및 제어를 수행한다. 예를 들어 프로세서(160)는 디스플레이장치(100)의 운영체제 또는 커널을 실행시키고, 또한 커널 상에서 어플리케이션, 프로그램을 실행시킴으로써 프로세스가 수행되도록 한다.
프로세서(160)는 프로세스에 관한 데이터를 먼저 휘발성 메모리(152)인 램에 로딩시키고, 램에 로딩되어 있는 데이터에 기초하여 프로세스를 실행시킨다. 이하, 프로세서(160)가 데이터를 램에 로딩하는 원리에 관해 설명한다.
도 2는 본 발명의 실시예에 따른 디스플레이장치의 프로세서가 데이터를 램에 로딩하는 원리를 나타내는 예시도이다.
도 2에 도시된 바와 같이, 디스플레이장치(200)는 커널(240) 및 복수의 어플리케이션(250)의 데이터를 저장하는 비휘발성 메모리인 플래시메모리(210)와, 휘발성 메모리인 램(220)과, 프로세서(230)를 포함한다. 소프트웨어인 커널(240) 및 어플리케이션(250)의 동작은, 하드웨어인 프로세서(230)의 연산, 처리, 제어에 의해 수행된다.
디스플레이장치(200)의 전원이 턴온되면 부팅이 수행되며, 부팅 동안에 커널(240)은 플래시메모리(210)로부터 램(220)으로 로딩되며, 램(220) 상에서 실행된다. 커널(240)은 디스플레이장치(200)의 동작이 진행되는 동안 발생하는 여러 이벤트에 응답하여, 각 어플리케이션(250)이 램(220)에 로딩되도록 한다. 램(220)에 로딩된 어플리케이션(250)은 램(220)의 가용용량을 점유하며, 커널(240) 상에서 실행된다.
램(220)의 가용용량은, 데이터가 로딩되지 않거나 또는 현재 실행중인 프로세스에 대해 할당되지 않은 램(220)의 저장영역의 용량을 지칭한다. 한편, 램(220)의 사용용량은, 데이터가 로딩되어 있고 현재 실행중인 프로세스에 대해 할당되어 있는 램(220)의 저장영역의 용량을 지칭한다.
커널(240)은 여러 프로세스의 실행 또는 종료 이벤트에 따라서, 플래시메모리(210)의 어플리케이션(250)을 램(220)에 로딩하여 실행시키거나, 램(220)의 저장영역에서 어플리케이션(250)의 데이터의 할당을 해제할 수 있다.
그런데, 디스플레이장치(200)의 동작 시간이 경과됨에 따라서 프로세스의 실행이 반복되면, 램(220)의 사용용량이 늘어남으로써 램(220)의 가용용량이 부족해질 수 있다. 램(220)의 가용용량이 부족하면 램(220)에 새로운 프로세스를 위한 데이터의 로딩이 곤란하다.
이에, 커널(240)은 램(220)의 가용용량이 부족하다고 판단하면, 메모리 회수 동작을 수행한다. 커널(240)은 여러 가지 방법으로 램(220)의 가용용량이 부족한지 여부를 판단할 수 있다. 예를 들면, 커널(240)은 램(220)의 가용용량이 기 설정된 제1임계치보다 낮아지거나, 램(220)의 사용용량이 기 설정된 제2임계치보다 높아지거나, 현재 실행중인 프로세스의 개수가 기 설정된 제3임계치보다 높아지면, 메모리 회수 동작이 필요하다고 판단할 수 있다.
이하, 본 발명의 실시예에 따른 커널(240) 또는 프로세서(230)의 메모리 회수 동작에 관해 설명한다.
도 3은 본 발명의 실시예에 따른 디스플레이장치의 제어방법을 나타내는 플로우차트이다.
도 3에 도시된 바와 같이, 다음과 같은 동작이 디스플레이장치에 인스톨된 커널을 구동시키는 프로세서에 의해 실행된다.
310 단계에서 디스플레이장치는 램의 가용용량이 소정의 제1임계치보다 낮아지는 이벤트가 발생하였는지를 확인한다. 만일 램의 가용용량이 제1임계치보다 낮아지는 이벤트가 발생하지 않았다고 확인되면, 디스플레이장치는 현재 실행되는 프로세스를 유지한다.
반면, 램의 가용용량이 제1임계치보다 낮아지는 이벤트가 발생하였다고 확인되면, 320 단계에서 디스플레이장치는 디스플레이장치의 현재 동작 부하의 레벨을 확인한다.
330 단계에서 디스플레이장치는 확인된 현재 동작 부하의 레벨을 소정의 제2임계치와 비교한다.
현재 동작 부하의 레벨이 제2임계치보다 크면, 340 단계에서 디스플레이장치는 복수의 메모리회수 동작 중에서 제1메모리회수 동작을 실행한다.
반면, 현재 동작 부하의 레벨이 제2임계치보다 크지 않으면, 350 단계에서 디스플레이장치는 복수의 메모리회수 동작 중에서 제1메모리회수 동작과 메모리 회수 속도가 상이한 제2메모리회수 동작을 실행한다.
이상의 동작들은, 커널에 포함된 프로그램 코드에 의해 구현된다.
이로써, 디스플레이장치는 디스플레이장치의 현재 동작 부하에 대응하여 최적화된 메모리회수 동작을 선택함으로써, 메모리회수 동작에 따른 시스템 과부하를 최소화할 수 있다.
여기서, 디스플레이장치가 디스플레이장치의 현재 동작 부하의 레벨을 확인하는 방법은 여러 가지가 가능하다. 예를 들면, 디스플레이장치는 퍼센티지로 나타나는 프로세서의 현재 사용율에 의해, 또는 현재 실행중인 프로세스의 개수에 의해, 디스플레이장치의 현재 동작 부하의 레벨을 판단할 수 있다. 즉, 디스플레이장치는 프로세서의 현재 사용율이 높으면 동작 부하 레벨이 높다고 판단하고, 프로세서의 현재 사용율이 낮으면 동작 부하 레벨이 낮다고 판단한다.
또한, 본 실시예에서는 디스플레이장치가 현재 동작 부하 레벨이 상대적으로 높으면 제1메모리회수 동작을 실행하고, 현재 동작 부하 레벨이 상대적으로 낮으면 제2메모리회수 동작을 실행하는 것으로 설명하였다. 그러나, 서로 상이한 방식의 메모리회수 동작이 셋 이상일 수도 있으며, 디스플레이장치가 현재 동작 부하 레벨의 가능 범위를 복수 개로 구분하고, 구분된 각 범위에 대응하는 개별적인 메모리회수 동작을 실행하는 구성도 가능하다.
한편, 복수의 메모리회수 동작은 커널의 종류 또는 특성에 따라서 다양한 방식이 디스플레이장치에 적용될 수 있다. 예를 들면, 리눅스 기반의 커널은 KSD(Kernel Swap Daemon)와 LMK(Low Memory Killer)의 메모리 회수 방식을 가진다. 본 실시예에서의 제1메모리회수 동작은, 구체적으로 제2메모리회수 동작에 비해 메모리 회수 속도가 빠르고, 프로세서의 부하가 낮으며, 메모리 회수 효율이 낮다.
즉, 본 발명의 실시예에 따른 디스플레이장치는 메모리회수 동작이 수행되고자 할 때에, 장치의 현재 동작 부하가 높으면 메모리 회수 속도가 상대적으로 빠른 제1메모리회수 동작을 실행하고, 장치의 현재 동작 부하가 낮으면 메모리 회수 속도가 상대적으로 느린 제2메모리회수 동작을 실행한다. 이로써, 메모리회수 동작이 실행되는 동안에 디스플레이장치에서 실행되는 여러 프로세스의 지연을 최소화시킬 수 있다.
이를 고려하면, 제1메모리회수 동작은 리눅스 기반의 커널에서의 LMK에 해당하며, 제2메모리회수 동작은 KSD에 해당한다. 이하, LMK 및 KSD에 관해 구체적으로 설명한다.
도 4는 본 발명의 실시예에 따른 디스플레이장치가 KSD를 실행하는 원리를 나타내는 예시도이다.
도 4에 도시된 바와 같이, 메모리회수 이전 단계(410)를 나타내는 막대그래프는 램의 전체 용량 중에서 디스플레이장치의 여러 프로세스가 현재 점유하는 사용용량을 나타낸다. 램의 전체 저장영역의 총 용량을 100%라고 하면, 본 단계(410)에서 프로세스가 점유하는 램의 사용용량(411)은 m%이고, 나머지 용량인 램의 가용용량(412)은 (100-m)%이다.
KSD는 램에 로딩된 프로세스의 데이터 중에서 주요 데이터 및 부가 데이터를 구분하고, 구분 결과에 따라서 주요 데이터는 램에 유지시키고 부가 데이터는 램에서 배제시킴으로써, 메모리를 회수하는 방법이다. 여기서, 주요 데이터는 프로세스의 실행에 꼭 필요한 코어 데이터로서, 어플리케이션의 프로그램 코드 등이 있다. 부가 데이터는 주요 데이터보다 프로세스에서의 중요도가 낮은 데이터, 즉 프로세스의 실행에 선택적으로 사용되거나 또는 경우에 따라서 사용되지 않을 수 있는 데이터로서, 캐시 데이터, 메타데이터 등이 있다.
디스플레이장치는 이러한 KSD를 실행하여 메모리 회수를 수행한다. 메모리회수 이후 단계(420)의 막대그래프에 따르면, 이전 단계(410) 시 m%를 점유했던 프로세스의 데이터 중에서, n%를 점유하는 프로세스의 주요 데이터(421)는 유지되고, (m-n)%를 점유하는 프로세스의 부가 데이터(422)는 회수된다.
이와 같이, KSD에 따른 메모리회수 동작은 프로세스의 주요 데이터(421)가 회수되지 않고 램에 유지되므로, 차후 해당 프로세스가 재실행될 때에는 램에 유지되고 있던 주요 데이터(421)가 그대로 사용될 수 있다. 따라서, KSD는 해당 프로세스의 재실행 시 응답성이 상대적으로 빠르고, 메모리 회수 효율이 상대적으로 높다.
한편, KSD는 램에 로딩되어 있는 프로세스의 데이터 중에서 주요 데이터(421) 및 부가 데이터(422)를 구별해야 하므로, 프로세서의 부하가 상대적으로 높고, 메모리 회수 속도가 상대적으로 느리다.
도 5는 본 발명의 실시예에 따른 디스플레이장치가 LMK를 실행하는 원리를 나타내는 예시도이다.
도 5에 도시된 바와 같이, 메모리회수 이전 단계(510)를 나타내는 막대그래프는 램의 전체 용량 중에서 디스플레이장치의 여러 프로세스가 현재 점유하는 사용용량을 나타낸다. 램의 전체 저장영역의 총 용량을 100%라고 하면, 본 단계(510)에서 프로세스가 점유하는 램의 사용용량(511)은 m%이고, 램의 가용용량(512)은 (100-m)%이다.
LMK는 KSD와 달리 램에 로딩된 프로세스 데이터 중에서 주요 데이터 및 부가 데이터를 구분하지 않는다. LMK는 램에 로딩된 프로세스 중에서 중요도가 떨어지는 프로세스의 전체 데이터를 램에서 배제시킴으로써, 메모리를 회수하는 방법이다. 보다 구체적으로는, 사전에 정의된 중요도별로 구분된 복수 개의 그룹이 설정되어 있으며, LMK는 복수의 그룹 중 중요도가 낮은 그룹에 속하는 프로세스를 식별하고, 식별된 프로세스의 데이터를 회수하는 방법이다.
디스플레이장치는 이러한 LMK를 실행하여 메모리 회수를 수행한다. 메모리회수 이후 단계(520)의 막대그래프에 따르면, 이전 단계(510) 시 m%를 점유했던 프로세스의 데이터(511)가 모두 회수됨을 알 수 있다. 본 도면에서는 램의 용량이 0%인 것으로 나타내고 있는데, 앞선 KSD의 설명과 명확히 비교하기 위해 간략화된 것이다. 즉, 본 도면에서 LMK가 적용된 단계(520)에서는 중요도가 낮은 프로세스의 경우만을 나타내고 있다.
이와 같이, LMK에 따른 메모리회수 동작은 프로세스의 전체 데이터가 램으로부터 회수되므로, 차후 해당 프로세스가 재실행될 때에는 해당 프로세스의 데이터가 다시 램으로 로딩되는 과정을 필요로 한다. 따라서, LMK는 해당 프로세스의 재실행 시 응답성이 상대적으로 느리고, 메모리 회수 효율이 상대적으로 낮다.
한편, LMK는 램에 로딩되어 있는 프로세스의 데이터 중에서 주요 데이터 및 부가 데이터를 구별하지 않고, 중요도에 따라서 선택된 프로세스의 전체 데이터를 회수하므로, 프로세서의 부하가 상대적으로 낮고, 메모리 회수 속도가 상대적으로 빠르다.
KSD 및 LMK의 비교를 정리하면 다음과 같다. KSD는 프로세서의 부하가 높고, 메모리 회수 속도가 느리고, 메모리 회수 효율이 높고, 메모리 회수 이후 프로세스의 재실행 시 응답성이 상대적으로 빠르다. 이에 비해, LMK는 프로세서의 부하가 낮고, 메모리 회수 속도가 빠르고, 메모리 회수 효율이 낮고, 메모리 회수 이후 프로세스의 재실행 시 응답성이 상대적으로 느리다.
따라서, 메모리회수 동작 시 프로세서의 부하가 높은 경우에, KSD는 프로세서의 과부하를 야기할 수 있으므로, 신속하게 메모리 회수가 가능한 LMK가 보다 유리하다. 반면, 메모리회수 동작 시 KSD를 실행하더라도 프로세서가 부하를 감당할 수 있는 경우에, 메모리 회수 효율이 낮은 LMK보다는 KSD가 보다 유리할 수 있다.
KSD 및 LMK의 두 가지 메모리회수 방식을 본 발명의 실시예에 따른 디스플레이장치에 적용한 경우에, 디스플레이장치는 다음과 같이 동작한다.
도 6은 본 발명의 실시예에 따른 디스플레이장치가 KSD 및 LMK를 선택적으로 실행하는 방법에 관한 플로우차트이다.
도 6에 도시된 바와 같이, 다음과 같은 동작이 디스플레이장치에 인스톨된 커널에 의해, 또는 해당 커널을 구동시키는 프로세서에 의해 실행된다.
610 단계에서 디스플레이장치는 램의 가용용량이 제1임계치보다 낮아지는 이벤트의 발생을 감지한다.
620 단계에서 디스플레이장치는 프로세서의 현재 부하의 레벨을 확인한다.
630 단계에서 디스플레이장치는 확인된 프로세서의 현재 부하의 레벨이 제2임계치보다 높은지 여부를 확인한다.
프로세서의 현재 부하의 레벨이 제2임계치보다 높으면, 640 단계에서 디스플레이장치는 LMK를 실행하여 메모리회수를 수행한다.
반면, 프로세서의 현재 부하의 레벨이 제2임계치보다 높지 않으면, 650 단계에서 디스플레이장치는 KSD를 실행하여 메모리회수를 수행한다.
본 실시예에서는 LMK 및 KSD의 두 가지 방식이 적용되는 경우에 관해 설명하였으나, 본 발명의 사상은 다양한 메모리회수 동작 중에서 셋 이상의 방식이 적용되는 경우에도 본 실시예와 동일한 원리에 따라서 수행될 수 있다.
그런데, 경우에 따라서는 이상 설명한 바와 같은 메모리회수 방법에 의해서도, 램의 가용용량을 충분히 확보하지 못하고, 오히려 램의 가용용량이 상기한 이벤트 때보다 더 떨어질 수도 있다. 이러한 경우에는, 디스플레이장치는 KSD 및 LMK를 함께 실행함으로써, 가능한 한 신속하게 램의 가용용량을 확보한다. 이하, 이러한 실시예에 관해 설명한다.
도 7은 본 발명의 실시예에 따른 디스플레이장치에서 시간 경과에 따라서 램의 가용용량의 변화 추이를 나타내는 그래프이다.
도 7에 도시된 바와 같이, 시간 경과에 따라서 램의 가용용량은 변화한다. 본 그래프에서, 가로축은 시간을 나타내며 세로축은 램의 가용용량을 나타낸다. 단위의 경우, 시간 단위는 클럭(clock)이며 램의 가용용량 단위는 바이트(byte)일 수 있으나, 각각의 단위는 편의상 적용된 것으로서 그 외의 다양한 단위가 적용될 수 있다.
디스플레이장치에는 제1임계치(h1)와, 제1임계치보다 높은 제2임계치(h2)의 두 가지 임계치가 사전에 설정된다. 제1임계치(h1) 및 제2임계치(h2)는 제조 과정에서 다양한 실험을 통해 결정될 수 있다. 이들 두 임계치는 메모리회수 동작의 트리거로 사용된다.
디스플레이장치는 제1시점(t1)에 램의 가용용량이 제2임계치(h2) 이하로 내려가는 것으로 판단되면, 디스플레이장치의 현재 동작 부하에 대응하여 KSD 및 LMK 중 어느 하나를 선택적으로 실행한다(710). 이러한 동작은 앞선 실시예와 동일한 원리에 따르므로 자세한 설명을 생략한다. KSD 및 LMK 중 어느 하나의 실행에 의해 램의 가용용량이 다시 제2임계치(h2)보다 높게 올라가면, 디스플레이장치는 메모리회수 동작을 종료한다.
그런데, 디스플레이장치의 상태에 따라서는 KSD 및 LMK 중 어느 하나의 실행에도 불구하고 제2시점(t2)에 램의 가용용량이 제1임계치(h1) 이하로 내려갈 수도 있다(720). 이와 같은 상황으로 판단되면, 디스플레이장치는 KSD 및 LMK를 함께 실행하여 메모리회수 동작을 수행한다. 이후, 디스플레이장치는 램의 가용용량이 제1임계치(h1) 및 제2임계치(h2) 사이의 값이 되면 디스플레이장치의 현재 동작 부하에 대응하여 KSD 및 LMK 중 어느 하나를 선택적으로 실행하고, 램의 가용용량이 다시 제2임계치(h2)보다 높게 올라가면 메모리회수 동작을 종료한다.
KSD 및 LMK를 함께 실행하는 방법은, 디스플레이장치의 동작 부하가 커지는 대신, 램의 가용용량을 보다 신속하고 많이 확보할 수 있게 된다. 예를 들면, 디스플레이장치는 상대적으로 중요도가 높은 프로세스에 대해 KSD에 따라서 주요 데이터와 부가 데이터를 구별하는 동안에, 상대적으로 중요도가 떨어지는 프로세스에 대해 LMK에 따라서 먼저 신속하게 메모리회수를 수행하고, 그 다음 구별된 부가 데이터에 대한 메모리회수를 수행한다.
이러한 방법에 따라서, 디스플레이장치는 메모리회수 동작중에도 불구하고 램의 가용용량이 떨어지는 상황에 대처할 수 있다.
한편, 앞선 실시예에서는 프로세서의 부하에 대응하여 두 가지 메모리회수 동작을 선택적으로 사용하는 경우에 관해 설명하였으나, 본 발명의 사상은 셋 이상의 메모리회수 동작을 선택적으로 사용하는 경우로도 확장될 수 있다. 이하, 이러한 실시예에 관해 설명한다.
도 8은 본 발명의 실시예에 따른 디스플레이장치의 프로세서의 사용률에 대응하는 메모리회수 동작을 선택하는 원리를 나타내는 예시도이다.
도 8에 도시된 바와 같이, 프로세서의 사용률은 0%부터 100% 사이의 범위로 나타낼 수 있다. 프로세서의 사용률에서, 기 설정된 p%와, p%보다 높은 r%가 사전에 디스플레이장치에 설정된다. 이들 p, r의 값들은 양수로서, 디스플레이장치의 제조 단계에서 실험을 통해 결정될 수 있다. 이러한 설정에 의하여, 프로세서의 사용률은 0% 및 p% 사이의 제1범위, p% 및 r% 사이의 제2범위, r% 및 100% 사이의 제3범위로 구분될 수 있다.
한편, 복수의 메모리회수 동작은, 제1메모리회수 동작, 제1메모리회수 동작보다 메모리 회수 속도가 빠른 제2메모리회수 동작, 제2메모리회수 동작보다 메모리 회수 속도가 빠른 제3메모리회수 동작의 3가지 상이한 방식을 포함한다. 즉, 세 메모리 회수 동작 중에서 제1메모리회수 동작이 프로세서의 부하 및 메모리 회수 효율이 가장 높다. 제2메모리회수 동작은 프로세서의 부하, 메모리회수 속도, 메모리회수 효율 세 가지의 정도가 제1메모리회수 동작 및 제3메모리회수 동작 사이의 값을 나타낸다.
디스플레이장치는 프로세서의 현재 부하의 레벨이 제1범위에 있으면 제1메모리회수 동작을 실행하며, 프로세서의 현재 부하의 레벨이 제2범위에 있으면 제2메모리회수 동작을 실행하며, 프로세서의 현재 부하의 레벨이 제3범위에 있으면 제3메모리회수 동작을 실행한다.
즉, 디스플레이장치는 프로세서의 현재 부하의 레벨이 상대적으로 낮으면 복수의 메모리회수 동작 중 메모리회수 속도가 가장 느린 제1메모리회수 동작을 실행하며, 프로세서의 현재 부하의 레벨이 중간 정도면 메모리회수 속도가 중간 정도인 제2메모리회수 동작을 실행하며, 프로세서의 현재 부하의 레벨이 상대적으로 높으면 메모리회수 속도가 가장 빠른 제3메모리회수 동작을 실행한다.
이로써, 디스플레이장치는 프로세서의 현재 부하에 대응하여 셋 이상의 메모리회수 동작을 선택적으로 실행할 수 있다.
이상 실시예들에서 설명한 바와 같은 장치의 동작은, 해당 장치에 탑재된 인공지능에 의해 수행될 수 있다. 인공지능은 기계 학습 알고리즘을 활용하여 다양한 제반 시스템에 적용될 수 있다. 인공지능 시스템은 인간 수준 내지는 인간 수준에 버금가는 지능을 구현하는 컴퓨터 시스템으로서, 기계, 장치 또는 시스템이 자율적으로 학습하고 판단하며, 사용 경험의 누적에 기반하여 인식률 및 판단 정확도가 향상되는 시스템이다. 인공지능 기술은 입력되는 데이터들의 특징을 스스로 분류하고 학습하는 알고리즘을 이용한 기계학습(deep-running) 기술 및 알고리즘을 활용하여, 인간의 두뇌의 인지, 판단 등의 기능을 모사하는 요소 기술들로 구성된다.
요소 기술들은, 예를 들면 인간의 언어와 문자를 인식하는 언어적 이해 기술, 사물을 인간의 시각처럼 인식하는 시각적 이해 기술, 정보를 판단하여 논리적으로 추론하고 예측하는 추론 및 예측 기술, 인간의 경험 정보를 지식 데이터로 처리하는 지식 표현 기술, 차량의 자율 주행이나 로봇의 움직임을 제어하는 동작 제어 기술 중 적어도 어느 하나를 포함한다.
여기서, 언어적인 이해는 인간의 언어 또는 문자를 인식하고 응용 처리하는 기술로서, 자연어의 처리, 기계 번역, 대화 시스템, 질의 응답, 음성 인식 및 합성 등을 포함한다.
추론 예측은 정보를 판단하여 논리적으로 예측하는 기술로서, 지식 및 확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다.
지식 표현은 인간의 경험 정보를 지식 데이터로 자동화 처리하는 기술로서, 데이터의 생성 및 분류와 같은 지식 구축, 데이터의 활용과 같은 지식 관리 등을 포함한다.
본 발명의 예시적 실시예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이러한 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 예를 들어, 컴퓨터 판독 가능 매체는 삭제 가능 또는 재기록 가능 여부와 상관없이, ROM 등의 저장 장치와 같은 휘발성 또는 비휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 CD, DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 이동 단말 내에 포함될 수 있는 메모리는 본 발명의 실시 예들을 구현하는 지시들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다. 본 저장 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어의 기술 분야에서 숙련된 기술자에게 공지되어 사용 가능한 것일 수도 있다.
100 : 디스플레이장치
110 : 통신부
120 : 신호입출력부
130 : 디스플레이부
140 : 사용자입력부
150 : 저장부
151 : 비휘발성 메모리
152 : 휘발성 메모리
160 : 프로세서

Claims (16)

  1. 전자장치에 있어서,
    메모리와;
    상기 메모리에 로딩된 데이터에 기반한 프로세스를 실행하며,
    상기 전자장치의 현재 동작 부하의 레벨을 확인하며,
    상기 프로세스를 실행하도록 로딩된 데이터의 전체를 메모리에서 회수하여 메모리의 가용용량을 늘리는 제1메모리회수 동작과, 상기 제1메모리회수 동작과 메모리 회수 속도가 상이하고 상기 프로세스를 실행하도록 로딩된 데이터의 일부를 메모리에서 회수하여 메모리의 가용용량을 늘리는 제2메모리회수 동작 중에서, 상기 확인된 전자장치의 현재 동작 부하의 레벨에 따라 어느 한 동작을 선택하여 실행하는 프로세서를 포함하는 전자장치.
  2. 제1항에 있어서,
    상기 전자장치의 현재 동작 부하는, 상기 프로세서의 현재 동작 부하를 포함하는 전자장치.
  3. 제1항에 있어서,
    상기 프로세서는, 상기 확인된 레벨이 제1임계치보다 높으면 상기 제2메모리회수 동작보다 메모리 회수 속도가 빠른 상기 제1메모리회수 동작을 실행하고, 상기 확인된 레벨이 상기 제1임계치보다 높지 않으면 상기 제2메모리회수 동작을 실행하는 전자장치.
  4. 제3항에 있어서,
    상기 제1메모리회수 동작은 LMK(Low Memory Killer) 방식에 따르며, 상기 제2메모리회수 동작은 KSD(Kernel Swap Daemon) 방식에 따르는 전자장치.
  5. 제3항에 있어서,
    상기 제1메모리회수 동작 및 상기 제2메모리회수 동작 중 어느 하나의 실행은, 상기 가용용량이 제2임계치보다 낮은 것으로 감지되면 수행되도록 마련된 전자장치.
  6. 제5항에 있어서,
    상기 프로세서는, 상기 제1메모리회수 동작 및 상기 제2메모리회수 동작 중 어느 하나를 실행한 이후의 상기 가용용량이 상기 제2임계치보다 낮은 제3임계치보다 낮으면, 상기 제1메모리회수 동작 및 상기 제2메모리회수 동작을 함께 실행하는 전자장치.
  7. 제1항에 있어서,
    상기 제2메모리회수 동작은, 상기 메모리에 로딩된 프로세스의 데이터를 기 설정된 중요도에 따라서 분류하고, 상기 분류 결과에 따라서 분류된 일부 데이터에 대한 메모리 회수를 수행하는 전자장치.
  8. 삭제
  9. 전자장치의 제어방법에 있어서,
    상기 전자장치의 메모리에 로딩된 데이터에 기반한 프로세스를 실행하는 단계와;
    상기 전자장치의 현재 동작 부하의 레벨을 확인하는 단계와;
    상기 프로세스를 실행하도록 로딩된 데이터의 전체를 메모리에서 회수하여 메모리의 가용용량을 늘리는 제1메모리회수 동작과, 상기 제1메모리회수 동작과 메모리 회수 속도가 상이하고 상기 프로세스를 실행하도록 로딩된 데이터의 일부를 메모리에서 회수하여 메모리의 가용용량을 늘리는 제2메모리회수 동작 중에서, 상기 확인된 전자장치 현재 동작 부하의 레벨에 따라 어느 한 동작을 선택하여 실행하는 단계를 포함하는 전자장치의 제어방법.
  10. 제9항에 있어서,
    상기 전자장치의 현재 동작 부하는, 상기 전자장치의 프로세서의 현재 동작 부하를 포함하는 전자장치의 제어방법.
  11. 제9항에 있어서,
    상기 제1메모리회수 동작 및 상기 제2메모리회수 동작 중에서 어느 한 동작을 실행하는 단계는,
    상기 확인된 레벨이 제1임계치보다 높으면 상기 제2메모리회수 동작보다 메모리 회수 속도가 빠른 상기 제1메모리회수 동작을 실행하고, 상기 확인된 레벨이 상기 제1임계치보다 높지 않으면 상기 제2메모리회수 동작을 실행하는 단계를 포함하는 전자장치의 제어방법.
  12. 제11항에 있어서,
    상기 제1메모리회수 동작은 LMK 방식에 따르며, 상기 제2메모리회수 동작은 KSD 방식에 따르는 전자장치의 제어방법.
  13. 제11항에 있어서,
    상기 제1메모리회수 동작 및 상기 제2메모리회수 동작 중 어느 하나의 실행은, 상기 가용용량이 제2임계치보다 낮은 것으로 감지되면 수행되도록 마련된 전자장치의 제어방법.
  14. 제13항에 있어서,
    상기 제1메모리회수 동작 및 상기 제2메모리회수 동작 중 어느 하나를 실행한 이후의 상기 가용용량이 상기 제2임계치보다 낮은 제3임계치보다 낮으면, 상기 제1메모리회수 동작 및 상기 제2메모리회수 동작을 함께 실행하는 단계를 더 포함하는 전자장치의 제어방법.
  15. 제9항에 있어서,
    상기 제2메모리회수 동작은, 상기 메모리에 로딩된 프로세스의 데이터를 기 설정된 중요도에 따라서 분류하고, 상기 분류 결과에 따라서 분류된 일부 데이터에 대한 메모리 회수를 수행하는 전자장치의 제어방법.
  16. 삭제
KR1020180065621A 2018-03-09 2018-06-07 전자장치 및 그 제어방법 KR102091409B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201980018071.5A CN111837105A (zh) 2018-03-09 2019-03-05 电子设备及其控制方法
PCT/KR2019/002546 WO2019172622A1 (ko) 2018-03-09 2019-03-05 전자장치 및 그 제어방법
US16/977,288 US20210004272A1 (en) 2018-03-09 2019-03-05 Electronic device and method for controlling same
EP19764448.7A EP3745263A4 (en) 2018-03-09 2019-03-05 ELECTRONIC DEVICE AND METHOD OF CONTROLLING THEREOF

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180028252 2018-03-09
KR1020180028252 2018-03-09

Publications (2)

Publication Number Publication Date
KR20190106623A KR20190106623A (ko) 2019-09-18
KR102091409B1 true KR102091409B1 (ko) 2020-03-20

Family

ID=68070996

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180065621A KR102091409B1 (ko) 2018-03-09 2018-06-07 전자장치 및 그 제어방법

Country Status (4)

Country Link
US (1) US20210004272A1 (ko)
EP (1) EP3745263A4 (ko)
KR (1) KR102091409B1 (ko)
CN (1) CN111837105A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022055261A1 (ko) * 2020-09-10 2022-03-17 삼성전자 주식회사 메모리를 관리하기 위한 전자 장치, 전자 장치의 동작 방법, 및 비 일시적 저장 매체

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240014742A (ko) * 2022-07-26 2024-02-02 삼성전자주식회사 성능 정보를 고려하는 메모리 관리 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100900439B1 (ko) 2006-12-05 2009-06-01 한국전자통신연구원 임베디드 시스템을 위한 메모리 부족상황 관리 방법 및장치
JP2011165093A (ja) 2010-02-12 2011-08-25 Nippon Telegr & Teleph Corp <Ntt> メモリアクセス調査装置、メモリアクセス調査方法、及びプログラム
JP5088366B2 (ja) * 2007-03-27 2012-12-05 富士通株式会社 仮想計算機制御プログラム、仮想計算機制御システムおよび仮想計算機移動方法
KR101675199B1 (ko) * 2013-09-18 2016-11-10 인텔 코포레이션 이종 메모리 액세스

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833510B (zh) * 2010-03-29 2012-10-10 清华大学 闪存ftl的地址转换方法
CN101833512A (zh) * 2010-04-22 2010-09-15 中兴通讯股份有限公司 一种内存回收方法及其装置
KR102513961B1 (ko) * 2015-11-11 2023-03-27 삼성전자주식회사 멀티 운영시스템을 지닌 전자장치 및 이의 동적 메모리 관리 방법
US10635337B2 (en) * 2016-06-27 2020-04-28 Intel Corporation Dynamic configuration of compressed virtual memory
CN107220076B (zh) * 2016-09-27 2018-10-30 华为技术有限公司 一种内存回收方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100900439B1 (ko) 2006-12-05 2009-06-01 한국전자통신연구원 임베디드 시스템을 위한 메모리 부족상황 관리 방법 및장치
JP5088366B2 (ja) * 2007-03-27 2012-12-05 富士通株式会社 仮想計算機制御プログラム、仮想計算機制御システムおよび仮想計算機移動方法
JP2011165093A (ja) 2010-02-12 2011-08-25 Nippon Telegr & Teleph Corp <Ntt> メモリアクセス調査装置、メモリアクセス調査方法、及びプログラム
KR101675199B1 (ko) * 2013-09-18 2016-11-10 인텔 코포레이션 이종 메모리 액세스

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022055261A1 (ko) * 2020-09-10 2022-03-17 삼성전자 주식회사 메모리를 관리하기 위한 전자 장치, 전자 장치의 동작 방법, 및 비 일시적 저장 매체

Also Published As

Publication number Publication date
CN111837105A (zh) 2020-10-27
US20210004272A1 (en) 2021-01-07
KR20190106623A (ko) 2019-09-18
EP3745263A1 (en) 2020-12-02
EP3745263A4 (en) 2021-03-31

Similar Documents

Publication Publication Date Title
US10579910B2 (en) Dynamic classifier selection based on class skew
US9851904B2 (en) Garbage collection while maintaining predetermined writing speed
US9424177B2 (en) Clock switching method, memory controller and memory storage apparatus
CN106802772B (zh) 数据回收的方法、装置及固态硬盘
JP6864718B2 (ja) ハイブリッド電源のシステム及び方法
KR101904955B1 (ko) 터치 기반의 모바일 기기에서의 컴퓨팅 자원 할당방법 및 장치
KR102091409B1 (ko) 전자장치 및 그 제어방법
US20200167183A1 (en) Electronic apparatus and control method thereof
US9891846B2 (en) System and method for preventing solid state drive corruption after dirty shutdown power loss
CN111475299A (zh) 内存分配方法、装置、存储介质及电子设备
CN112204514A (zh) 用于保留非易失性存储器的预期寿命的技术
CN110249305A (zh) 浏览器崩溃或挂起时的shell操作浏览器扩展
US11726821B2 (en) Electronic apparatus and control method thereof
WO2019172622A1 (ko) 전자장치 및 그 제어방법
US11803459B2 (en) Latency tolerance reporting value determinations
US20230259457A1 (en) Electronic apparatus and control method thereof
KR20220169695A (ko) 전자장치 및 그 제어방법
US11113130B2 (en) Electronic apparatus and control method thereof
US20240143499A1 (en) Dynamic nand read/write access time for ssd reliability and performance enhancement
US12001329B2 (en) System and method for storage class memory tiering
KR20230114004A (ko) 전자장치 및 그 제어방법
CN113031868B (zh) 一种存储器的控制方法及装置
CN103677757A (zh) 一种能够感知存储设备带宽的程序并行度控制方法
CN105378675A (zh) 经由来自运行系统的存储器写入的存储器图像捕获
KR20180050846A (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