KR102014083B1 - 단말기의 메모리 관리방법 및 장치 - Google Patents

단말기의 메모리 관리방법 및 장치 Download PDF

Info

Publication number
KR102014083B1
KR102014083B1 KR1020120158288A KR20120158288A KR102014083B1 KR 102014083 B1 KR102014083 B1 KR 102014083B1 KR 1020120158288 A KR1020120158288 A KR 1020120158288A KR 20120158288 A KR20120158288 A KR 20120158288A KR 102014083 B1 KR102014083 B1 KR 102014083B1
Authority
KR
South Korea
Prior art keywords
data
reserved
reserved area
areas
memory
Prior art date
Application number
KR1020120158288A
Other languages
English (en)
Other versions
KR20140087712A (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 KR1020120158288A priority Critical patent/KR102014083B1/ko
Priority to US14/070,338 priority patent/US9335946B2/en
Priority to EP13199422.0A priority patent/EP2750042B1/en
Priority to CN201380069520.1A priority patent/CN104903869B/zh
Priority to PCT/KR2013/012001 priority patent/WO2014104679A1/en
Publication of KR20140087712A publication Critical patent/KR20140087712A/ko
Application granted granted Critical
Publication of KR102014083B1 publication Critical patent/KR102014083B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Studio Devices (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

본 발명은 단말기의 메모리 관리방법 및 장치에 관한 것으로, 특히 빠르게 메모리의 영역을 회수할 수 있는 메모리 관리방법에 관한 것이다.
이를 달성하기 위해 단말기의 메모리 관리방법 및 장치는, 복수의 예약영역들에 대응되는 복수의 디바이스들이 구동되지 않을 때, 상기 복수의 예약영역들 각각에 설정된 데이터 회수조건에 대응되는 데이터를 상기 복수의 예약영역들에 저장하는 과정과; 상기 복수의 디바이스들이 구동될 때, 상기 복수의 예약영역들 각각에 저장된 데이터를 상기 복수의 예약영역들 각각에 설정된 데이터 회수조건으로 처리하여, 상기 복수의 디바이스들의 구동을 위한 상기 복수의 예약영역들을 회수하는 과정을 포함하는 것을 특징으로 한다.

Description

단말기의 메모리 관리방법 및 장치{METHOD AND DEVICE FOR MANAGING MEMORY IN TERMINAL}
본 발명은 단말기의 메모리 관리방법 및 장치 에 관한 것으로, 특히 빠르게 메모리의 영역을 회수할 수 있는 단말기의 메모리 관리방법 및 장치에 관한 것이다.
시스템상의 어떤 디바이스들은 물리적으로 연속된 메모리 버퍼의 할당을 필요로 하는 경우가 있다. 예를 들어, 어떤 하드웨어는 DMA 를 위해서 항상 물리적으로 연속적인 메모리 버퍼를 요구한다. 물론, scatter/gather DMA 기능을 처리하는 하드웨어를 갖춘 디바이스도 있지만, 저가의 DMA 엔진을 구비한 하드웨어에서 물리적으로 연속적인 메모리를 요구하는 경우는 매우 흔하다.
이러한 하드웨어들에는 카메라, 비디오 디코더/인코더 등이 있다. 특히, 최근의 Full HD 영상 프레임은 약 2백만 화소 이상이고 이것을 처리하는 데에는 약 6MB 의 메모리가 필요로 한다. 또한, 이들 하드웨어들은 제조비용의 이유 등으로 단순한 DMA 엔진을 구비하고 있어서, 구동을 위하여 반드시 물리적으로 연속적인 메모리가 제공되어야 한다.
운영체제가 사용하는 메모리 관리의 특성상, 물리적으로 연속적인 메모리 할당이 항상 보장될 수는 없다. 운영체제는 물리 주소 공간을 작은 단위의 페이지 프레임으로 나누어 관리한다. 이러한 방법은 운영체제에서 구동되는 각각의 프로세스에게 논리적으로 연속적인 메모리 공간을 제공하는 데는 아무런 문제가 없다. 그러나, 매우 장시간 수행 중이던 단말기의 시스템에서는 일정 크기 이상의 물리적으로 연속된 메모리 공간을 찾는 것이 거의 불가능하다. 즉, 물리 메모리의 단편화 상태에 따라서 디바이스 구동이 보장되지 않을 수 있는 것이다.
이러한 문제는 단말기와 같은 전자 기기에 치명적이다. 단말기의 일부 기능이 메모리 할당의 성공 여부에 따라 구동되지 않을 수도 있음을 의미한다. 전자 기기의 기능들은 사용자가 원할 때 항상 구동될 수 있음이 보장되는 것이 일반적이므로, 이러한 불확실성은 문제가 된다.
게다가, 어떤 디바이스들은 특정 메모리 위치의 할당을 요구하거나, 미리 정해진 규칙으로 정렬되어야만 하는 경우도 있다. 따라서 제조비용의 감소 혹은 개발의 편리를 위하여 하드웨어 설계자들은 종종 이러한 제약 사항을 설계에 반영하고 있다. 그러나 이러한 제약 사항은, 물리적으로 연속적인 메모리 할당을 더욱 힘들게 만든다.
상기와 같은 문제점을 해결하기 위해, 종래의 디바이스 드라이버는 운영체제 구동 초기에 자신이 필요한 메모리 영역을 따로 예약하는 방식을 취한다. 운영체제 구동 초기에는 물리적으로 연속적인 메모리를 손쉽게 확보할 수 있으므로, 이때에 디바이스 동작에 필요한 메모리의 영역을 예약 처리하여 운영체제가 해당 영역을 사용할 수 없도록 한다. 상기와 같은 방법은 디바이스가 구동되는 시점에 물리적으로 연속된 메모리 할당이 항상 성공함을 보장한다. 따라서 운영체제는 디바이스 드라이버가 예약한 메모리의 영역을 제외한 영역만을 사용하게 되며, 메모리의 예약영역은 오직 해당 디바이스만을 위하여 사용된다.
도 1은 예약영역과 비 예약영역을 포함하는 물리적인 메모리를 도시하고 있다.
상기 도 1의 메모리에서는, 영상코덱 디바이스를 위해 예약된 영역(101a)과, 카메라디바이스를 위해 예약된 영역(101b)과, 상기 예약영역(101a)과 상기 비 예약영역(101b)을 제외하고 운영체체가 동적으로 할당하면서 사용할 수 있는 비 예약영역(102)을 나타내고 있다.
하지만, 메모리 예약방법은 디바이스가 구동 중이지 않을 때에도 상기 예약영역을 사용하지 못하게 됨으로, 메모리를 낭비하게 되는 단점이 있다. 예를 들어, 단말기의 전체사용 시간 중에서 카메라 기능이 동작하는 시간은 10% 미만일 경우, 카메라 디바이스를 위해 예약된 영역은 카메라 기능이 사용되지 않는 나머지 90% 시간에도 전혀 활용되지 못하고 낭비된다.
최근 임베디드 시스템에서는 하나의 CPU 칩에 여러 가지 디바이스들을 하나의 패키지로 통합한 SoC (System on Chip)을 사용하고 있다. 이러한 SoC 들에 포함된 비디오 디코더/인코더 등과 같은 디바이스들의 종류와 개수가 점차 늘어남에 따라, 이들 하드웨어를 위해 예약된 메모리 영역으로 인하여, 예약되어 낭비되는 메모리의 양이 증가하고 있다. 이것은 운영체제가 활용할 수 있는 가용메모리의 감소를 가져오게 되고, 이를 보상하기 위해 제품에 보다 많은 메모리를 탑재하게 되어 결과적으로 재료비의 상승으로 이어진다.
상기와 같은 문제점을 해소하기 위해, 메모리의 예약영역을 가지는 디바이스가 구동하지 않을 때, 상기 예약영역을 비 예약영역같이 즉, 운영체제 활용할 수 있는 가용메모리 영역으로 사용할 수 있는 방안을 사용하고 있다.
메모리의 예약영역을 가지는 디바이스가 구동하지 않을 때 상기 예약영역을 상기 비 예약영역과 같이 사용하다가, 상기 디바이스가 구동되면 상기 예약영역에 저장된 데이터를 비워냄으로써 상기 예약영역을 본래 목적인 상기 디바이스에게 제공하는 것이다.
상기와 같이 예약영역에 저장된 데이터를 비워내는 것을 보통 페이지 이동(page migration)이라 부른다.
상기와 같은 메모리 관리 기법의 장점은 종래에 거의 항상 유휴 상태로 존재하던 디바이스의 예약영역을 일반적인 용도로 활용함으로써 메모리의 낭비를 없애고 메모리 자원의 활용도(utilization)를 높이며 가용 메모리영역의 증가로 인한 전반적인 시스템 성능을 기대할 수 있다는 것이다.
그러나, 페이지 이동(page migration)부담에 따라 디바이스의 구동시간이 증가되는 문제가 발생되고 있다.
예를 들어, 카메라 디바이스가 사용할 메모리의 예약영역을 일반적인 용도로 활용하게 될 경우, 카메라 기능을 사용하는 응용 어플리케이션의 구동이 종래보다 지연되는 결과를 가져온다. 최근의 카메라 디바이스는 수십 메가바이트 정도의 메모리를 소모하는데, 수십 메가바이트의 메모리 공간에 대하여 페이지 이동(page migration)을 수행하는 것은, 결국 카메라구동 시간의 상당한 지연을 가져오게 되는 문제점이 발생하게 된다.
따라서 본 발명의 목적은 빠르게 메모리의 영역을 회수할 수 있는 단말기의메모리 관리방법 및 장치를 제공하는 것이다.
본 발명의 다른 목적은 본 발명은 메모리 관리방법에 관한 것으로, 특히 디바이스가 구동되는 시점에 상기 디바이스의 예약영역을 빠르게 회수하여 상기 예약영역을 본래의 용도로 사용할 수 있는 단말기의 메모리 관리방법 및 장치에 관한 것이다.
상기 목적을 달성하기 위한 단말기의 메모리 관리방법은, 복수의 예약영역들에 대응되는 복수의 디바이스들이 구동되지 않을 때, 상기 복수의 예약영역들 각각에 설정된 데이터 회수조건에 대응되는 데이터를 상기 복수의 예약영역들에 저장하는 과정과; 상기 복수의 디바이스들이 구동될 때, 상기 복수의 예약영역들 각각에 저장된 데이터를 상기 복수의 예약영역들 각각에 설정된 데이터 회수조건으로 처리하여, 상기 복수의 디바이스들의 구동을 위한 상기 복수의 예약영역들을 회수하는 과정을 포함하는 것을 특징으로 한다.
또한 상기 목적을 달성하기 위한 단말기의 메모리 관리방법은, 복수의 예약영역들에 대응되는 복수의 디바이스들이 구동되지 않을 때, 상기 복수의 디바이스들 중 구동빈도수가 가장 낮은 디바이스의 예약영역부터 데이터를 저장하는 과정과; 상기 복수의 디바이스들이 구동될 때, 상기 복수의 예약영역들 각각에 저장된 데이터를 처리하여, 상기 복수의 디바이스들의 구동을 위한 상기 복수의 예약영역들을 회수하는 과정을 포함하는 것을 특징으로 한다.
또한 상기 목적을 달성하기 위한 단말기의 메모리 관리장치는, 동영상 녹화 또는 동영상 재생을 위해 구동되며, 메모리에서 예약영역을 가지는 영상코덱과; 사진촬영 또는 동영상 녹화를 위한 프리뷰기능 수행을 위해 구동되며, 상기 메모리에서 예약영역을 가지는 카메라부와; 복수의 예약영역들과 복수의 비 예약영역들을 포함하며, 상기 복수의 예약영역들에 대응되는 복수의 디바이스들이 구동되지 않을 때, 상기 복수의 예약영역들 각각에 설정된 데이터 회수조건에 대응되는 데이터가 저장되고, 상기 복수의 디바이스들이 구동될 때, 상기 복수의 예약영역들 각각에 저장된 데이터가 상기 복수의 예약영역들 각각에 설정된 데이터 회수조건으로 처리되어, 상기 복수의 디바이스들의 구동을 위한 상기 복수의 예약영역들이 회수되는 상기 메모리를 포함하는 것을 특징으로 한다.
또한 상기 목적을 달성하기 위한 단말기의 메모리 관리장치는, 동영상 녹화 또는 동영상 재생을 위해 구동되며, 메모리에서 예약영역을 가지는 영상코덱과; 사진촬영 또는 동영상 녹화를 위한 프리뷰기능 수행을 위해 구동되며, 상기 메모리에서 예약영역을 가지는 카메라부와; 복수의 예약영역들과 복수의 비 예약영역들을 포함하며, 상기 복수의 예약영역들에 대응되는 복수의 디바이스들이 구동되지 않을 때, 상기 복수의 예약영역들 중 구동빈도수가 낮은 디바이스의 예약영역들부터 데이터가 저장되고, 상기 복수의 디바이스들이 구동될 때 상기 복수의 예약영역들 각각에 저장된 데이터가 처리되어 상기 복수의 디바이스들의 구동을 위한 상기 복수의 예약영역들이 회수되는 상기 메모리를 포함하는 것을 특징으로 한다.
본 발명은 단말기의 메모리 관리방법 및 장치를 제공함으로써, 메모리의 예약영역에 저장된 데이터 처리시간으로 인한 디바이스의 구동시간 증가를 감소시켜서 단말기에서 보다 빠른 응답성을 보장할 수 있는 효과가 있다.
도 1은 예약영역과 비 예약영역을 포함하는 물리적인 메모리를 도시한 도면.
도 2는 본 발명의 실시 예에 따른 단말기의 구성도.
도 3은 본 발명의 제1 실시 예에 따라 데이터 회수조건에 따라 메모리의 예약영역에 데이터를 저장하는 과정을 도시한 흐름도.
도 4는 본 발명의 제1 실시 예에 따라 데이터 회수조건에 따라 메모리의 예약영역에 데이터를 처리하는 과정을 도시한 흐름도.
도 5a - 도 5b는 본 발명의 실시 예에 따른 메모리에서 예약영역의 데이터를 빠르게 처리하는 동작을 설명하기 위한 도면.
도 6은 본 발명의 실시 예에 따른 메모리에서 예약영역의 저장공간과 상관없이 예약영역의 데이터를 빠르게 처리하는 동작을 설명하기 위한 도면.
도 7은 본 발명의 제2 실시 예에 따라 디바이스의 구동빈도수가 낮은 예약영역부터 데이터를 저장하는 과정을 도시한 흐름도.
이하 본 발명의 바람직한 실시 예들의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 도면들 중 동일한 구성들은 가능한 한 어느 곳에서든지 동일한 부호들을 나타내고 있음을 유의하여야 한다.
본 발명의 실시 예에 따른 단말기는 휴대 단말기와 고정 단말기를 포함한다. 여기서, 휴대 단말기는 휴대가 용이하게 이동 가능한 전자기기로서, 화상전화기, 휴대폰, 스마트 폰(smart phone), IMT-2000(International Mobile Telecommunication 2000) 단말기, WCDMA 단말기, UMTS(Universal Mobile Telecommunication Service) 단말기, PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), DMB(Digital Multimedia Broadcasting) 단말기, E-Book, 휴대용 컴퓨터(Notebook, Tablet 등) 또는 디지털 카메라(Digital Camera) 등이 될 수 있다. 그리고 고정 단말기는 데스크탑(desktop) 개인용 컴퓨터 등이 될 수 있다.
도 2는 본 발명의 실시 예에 따른 단말기의 구성도이다.
상기 도 2를 참조하면, RF부(123)는 단말기의 무선 통신 기능을 수행한다. 상기 RF부(123)는 송신되는 신호의 주파수를 상승변환 및 증폭하는 RF송신기와, 수신되는 신호를 저잡음 증폭하고 주파수를 하강변환하는 RF수신기등을 포함한다. 데이터처리부(120)는 상기 송신되는 신호를 부호화 및 변조하는 송신기 및 상기 수신되는 신호를 복조 및 복호화 하는 수신기 등을 구비한다. 즉, 상기 데이터 처리부(120)는 모뎀(MODEM) 및 코덱(CODEC)으로 구성될 수 있다. 여기서 상기 코덱은 패킷데이터 등을 처리하는 데이터 코덱과 음성 등의 오디오 신호를 처리하는 오디오 코덱을 구비한다. 오디오 처리부(125)는 상기 데이터 처리부(120)의 오디오 코덱에서 출력되는 수신 오디오신호를 재생하거나 또는 마이크로부터 발생되는 송신 오디오신호를 상기 데이터 처리부(120)의 오디오 코덱에 전송하는 기능을 수행한다.
키 입력부(127)는 숫자 및 문자 정보를 입력하기 위한 키들 및 각종 기능들을 설정하기 위한 기능 키들을 구비한다.
카메라부(140)는 영상 데이터를 촬영하며, 촬영된 광 신호를 전기적 신호로 변환하는 카메라 센서와, 상기 카메라센서로부터 촬영되는 아날로그 영상신호를 디지털 데이터로 변환하는 신호처리부를 구비한다. 여기서 상기 카메라 센서는 CCD 또는 CMOS센서라 가정하며, 상기 신호처리부는 DSP(Digital Signal Processor)로 구현할 수 있다. 또한 상기 카메라 센서 및 신호처리부는 일체형으로 구현할 수 있으며, 또한 분리하여 구현할 수도 있다. 상기 카메라부(140)를 통해 사진촬영 또는 동영상 녹화를 위한 프리뷰 기능을 수행하기 위한 상기 카메라(140)는 상기 메모리(130)의 복수의 예약영역들 중 해당 예약영역을 사용하면서 빠르게 구동되어, 상기 사진촬영 또는 상기 동영상 녹화를 위한 프리뷰 기능을 수행할 수 있다.
상기 영상처리부(150)는 상기 카메라부(140)에서 출력되는 영상신호를 표시부(160)에 표시하기 위한 ISP(Image Signal Processing)를 수행하며, 상기 ISP는 감마교정, 인터폴레이션, 공간적 변화, 이미지 효과, 이미지 스케일, AWB, AE,AF등과 같은 기능을 수행한다. 따라서 상기 영상처리부(150)는 상기 카메라부(140)에서 출력되는 영상신호를 프레임 단위로 처리하며, 상기 프레임 영상데이터를 상기 표시부(160)의 특성 및 크기에 맞춰 출력한다. 또한 상기 영상처리부(150)는 영상코덱(151)을 구비하며, 상기 표시부(160)에 표시되는 프레임 영상데이터를 설정된 방식으로 압축하거나, 압축된 프레임 영상데이터를 원래의 프레임 영상데이터로 복원하는 기능을 수행한다. 여기서 상기 영상코덱(151)은 JPEG 코덱, MPEG4 코덱, Wavelet 코덱 등이 될 수 있다. 상기 영상처리부(150)는 OSD(On Screen Display) 기능을 구비한다고 가정하며, 상기 프로세서(110)의 제어하여 표시되는 화면크기에 따라 온 스크린 표시데이터를 출력할 수 있다.
상기 영상코덱(151)를 통해 동영상 녹화 또는 동영상 재생이 수행될 경우, 동영상 녹화 또는 동영상 재생을 수행하기 위한 상기 코덱(140)은 메모리(130)의 복수의 예약영역들 중 해당 예약영역을 사용하면서 빠르게 구동되어, 상기 동영상 녹화 또는 상기 동영상 재생을 수행할 수 있다.
상기 표시부(160)는 상기 영상처리부(250)에서 출력되는 영상신호를 화면으로 표시하며, 상기 프로세서(110)에서 출력되는 사용자 데이터를 표시한다. 여기서 상기 표시부(160)는 LCD를 사용할 수 있으며, 이런 경우 상기 표시부(160)는 LCD제어부(LCD controller), 영상데이터를 저장할 수 있는 메모리 및 LCD표시소자 등을 구비할 수 있다. 여기서 상기 LCD를 터치스크린(touch screen) 방식으로 구현하는 경우, 입력부로 동작할 수도 있으며, 이때 상기 표시부(260)에는 상기 키 입력부(127)와 같은 키들을 표시할 수 있다.
상기 프로세서(110)는 단말기의 전반적인 동작을 제어하는 기능을 수행한다.
상기 프로세서(110)는 특정기능 수행이 선택될 때, 특정기능을 수행하기 위한 특정 디바이스가 구동되도록 제어하며, 이때 상기 특정디바이스는 운영체제에 의해 상기 메모리(130)의 영역을 할당 받아 상기 특정기능을 수행하며, 상기 할당된 메모리의 특정영역은 상기 메모리의 복수의 예약영역들과 복수의 비예약 영역들 중 어느 하나가 될 수 있다.
상기 메모리(130)의 복수의 예약영역들 중 영상코덱 디바이스를 위한 예약영역이 존재할 경우, 상기 프로세서(110)는 동영상 녹화 또는 동영상 재생이 수행될 때, 상기 동영상 녹화 또는 상기 동영상 재생을 수행하기 위해 상기 영상코덱(161)이 구동되도록 제어하면, 상기 영상코덱(161)은 상기 운영체제에 의해 상기 메모리(130)의 복수의 예약영역들 중 자신의 예약영역을 통해, 상기 동영상 녹화 또는 상기 동영상 재생을 수행할 수 있다.
또는 상기 메모리(130)의 복수의 예약영역들 중 카메라 디바이스를 위한 예약영역이 존재할 경우, 상기 프로세서(110)는 사진촬영 또는 동영상 녹화를 위한 프리뷰기능이 수행될 때, 상기 사진촬영 또는 상기 동영상 녹화를 위한 프리뷰기능을 수행하기 위해 상기 카메라부(140)가 구동되도록 제어하면, 상기 카메라부(140)은 상기 운영체제에 의해 상기 메모리(130)의 복수의 예약영역들 중 자신의 예약영역을 통해, 상기 사진촬영 또는 상기 동영상 녹화를 위한 프리뷰기능을 수행할 수 있다.
상기 메모리(130)는 프로그램 메모리, 데이터 메모리들로 구성될 수 있다. 상기 프로그램 메모리는 단말기의 일반적인 동작을 제어하기 위한 프로그램들을 저장할 수 있다. 또한 상기 데이터 메모리는 상기 프로그램들을 수행하는 중에 발생되는 데이터들을 일시 저장하는 기능을 수행한다.
상기 메모리(130)는 물리적으로 복수의 예약영역들과 복수의 비 예약영역들을 포함한다. 상기 메모리(130)의 복수의 예약영역들 각각에는, 상기 복수의 예약영역들에 대응되는 상기 복수의 디바이스들이 구동되지 않을 때, 비 예약영역으로 사용될 수 있도록 데이터 회수조건이 설정되어 있다.
도 3은 본 발명의 제1 실시 예에 따라 데이터 회수조건에 따라 메모리의 예약영역에 데이터를 저장하는 과정을 도시한 흐름도이다.
상기 도 3을 참조하면, 복수의 예약영역들과 복수의 비 예약영역들을 포함하는 메모리에서, 상기 복수의 예약영역들을 위한 복수의 디바이스들이 구동되지 않을 때, 운영체제는 상기 복수의 예약영역들을 상기 복수의 비 예약영역들과 동일한 일반적인 용도로 사용할 수 있다. 상기 예약영역은 특정디바이스를 위해 물리적으로 연속된 미리 할당된 영역들이며, 상기 비 예약영역은 운영체제에 의해 동적으로 할당되는 영역들을 나타낸다.
상기 일반적인 용도 사용할 수 있다는 의미는, 프로세스의 코드, 스택, 힙, 페이지 캐시 등과 같은 운영체제의 자료구조, 및 운영체제 상에서 구동되는 프로세스들의 가상 주소 공간을 구성하는 내용들을 저장하는 공간으로 예약영역이 활용될 수 있음을 의미한다.
본 발명의 실시 예에서 상기 복수의 예약영역들 각각은 데이터 회수조건이 설정되어 있다.
상기 데이터 회수조건은, 상기 복수의 예약영역들에 대응되는 상기 복수의 디바이스들이 구동될 때 상기 비 예약영역들과 동일하게 사용되고 있는 상기 복수의 예약영역들을 빠르게 회수하기 위해, 초기 구동속도가 빠르게 진행되어야하는 순서대로 상기 복수의 디바이스들에 대응되는 상기 복수의 예약영역들 각각에 설정된다.
상기 데이터 회수조건은 디바이스의 초기 구동속도를 빠르게 진행할 수 있는 순서대로, 데이터를 삭제하는 데이터 무시조건, 데이터를 비 예약영역으로 이동하는 비 예약영역 이동조건 및 데이터를 보조기억장치로 이동하는 보조기억장치 이동조건을 포함한다.
상기 데이터 무시조건은 예약영역에 저장된 데이터를 바로 삭제하는 것임으로 데이터 처리속도가 가장 빠르며, 상기 비 예약영역 이동조건은 메모리 내에서의 이동임으로 상기 데이터 무시조건 다음으로 데이터 처리속도가 빠르다. 또한, 상기 보조기억장치 이동조건은 상기 메모리에서 상기 보조기억장치로의 이동임으로 상기 데이터 처리속도는 상기 비 예약영역 이동조건 다음이 될 것이다.
따라서 초기 구동속도가 빠르게 진행되어야 하는 디바이스의 종류에 따라 대응되는 메모리의 예약영역에 적절한 데이터 처리조건이 설정될 수 있다.
일반적으로 단말기에서 카메라 기능 동작은 신속히 구동되어야 한다. 반면, 동영상 재생 기능 동작은 초기 구동 시간이 다소 지연이 있더라도 용인될 수 있다. 또한, 동영상 녹화 기능도 프리뷰 영상이 표시되고 명시적인 녹화 (인코딩) 시작 명령이 내려지기 전까지 어느 정도 시간적 여유가 있다. 따라서, 하드웨어 영상코덱 디바이스가 사용하는 메모리의 예약은 다소 느리게 페이지 이동(page migration)즉 데이터가 처리되어도 크게 문제가 없다.
따라서, 상기와 같은 경우, 카메라 디바이스를 위한 예약영역의 데이터 회수조건은 가장 처리속도가 빠르게 데이터를 삭제하는 데이터 무시조건으로 설정되고, 하드웨어 영상코덱 디바이스를 위한 예약영역은 데이터를 비 예약영역으로 이동하는 비 예약영역 이동조건, 또는 데이터를 보조기억장치로 이동하는 보조기억장치 이동조건으로 설정될 수 있다.
상기와 같이 복수의 예약영역들 각각에 데이터 처리조건이 설정되어 있고, 301단계에서 상기 복수의 예약영역들이 메모리를 캐시처럼 사용하는 페이지 캐시용도로 사용 중일 때, 302단계에서 보조기억장치에 저장된 데이터에 대한 독출이 요청되면, 운영체제는 상기 복수의 예약영역들 중 데이터 무시조건으로 설정된 예약영역에 상기 독출된 데이터를 저장하는 303단계를 진행한다.
상기 보조기억장치에 저장된 데이터가 독출되어 상기 메모리의 영역에 저장되면, 이는 페이지 캐시의 클린(clean)상태가 된다.
상기 페이지 캐시의 클린(clean)상태란 보조기억장치로부터 독출된 데이터가 메모리에 캐시된 이후 갱신되지 않아, 상기 메모리에 캐시된 데이터를 다시 상기 보조기억장치에 다시 반영할 필요가 없는 상태를 의미한다. 즉, 보조기억장치와 메모리에 동일한 데이터가 존재하는 것을 의미한다. 따라서 상기 보조기억장치의 데이터를 독출하여 상기 메모리의 영역에 저장하고 있음으로, 상기 메모리의 영역에 저장된 상기 보조기억장치로부터 독출된 데이터는 삭제되어도 무망하다.
따라서, 상기 보조기억장치에 저장된 데이터의 독출이 요청될 때, 운영체제는 데이터를 삭제하는 데이터 무시조건에 설정된 메모리의 예약영역에 상기 독출이 요청된 데이터를 저장하도록 한다.
또한 상기 301단계에서 상기 복수의 예약영역들(A)이 페이지 캐시용도로 사용 중일 때, 304단계에서 보조기억장치로 데이터 기록이 요청되면, 운영체제는 상기 복수의 예약영역들 중 보조기억장치 이동조건으로 설정된 예약영역에 상기 독출된 데이터를 저장하는 305단계를 진행한다.
상기 보조기억장치에 기록되기 위한 데이터가 메모리의 영역에 저장되면, 이는 페이지 캐시의 더티(dirty)상태가 된다.
상기 페이지 캐시의 더티(dirty)상태란 보조기억장치로부터 독출된 데이터가 메모리에 캐시된 이후 갱신되어, 상기 갱신된 데이터가 상기 보조기억장치로 반영되어야하는 상태를 나타낸다. 즉, 보조기억장치와 메모리에 동일한 데이터가 존재하지 않는 것을 의미한다. 따라서 상기 메모리에만 저장되어 있고, 상기 보조기억장치에 저장되어 있지 않음으로, 상기 메모리의 영역에 저장된 데이터는 상기 보조기억장치로 이동되어야 한다.
따라서, 상기 보조기억장치의 데이터의 기록이 요청될 때, 운영체제는 데이터를 보조기억장치로 이동시키는 보조기억장치 이동조건으로 설정된 메모리의 예약영역에 상기 기록이 요청된 데이터를 저장하도록 한다.
또한 보조기억장치와 메모리에 동일한 데이터가 존재하는 페이지 캐시의 클린(clean)상태에서 메모리의 데이터가 수정되면, 페이지 캐시의 더티(dirty)상태가 된다. 그리고 보조기억장치와 메모리에 동일한 데이터가 존재하지 않는 페이지 캐시의 더티(dirty)상태에서 메모리에 저장된 데이터가 보조기억장치로 이동되면 페이지 캐시의 클린(clean)상태가 된다.
상기와 같이 상기 페이지 캐시의 클린(clean)상태는 상기 페이지 캐시의 더티(dirty)상태로 변경될 수 있고, 상기 페이지 캐시의 더티(dirty)상태는 상기 페이지 캐시의 클린(clean)상태로 변경될 수 있다.
따라서 상기 페이지 캐시의 클린(clean)상태에서 상기 페이지 캐시의 더티(dirty)상태로 변경된 메모리의 예약영역에 저장된 데이터는, 디바이스 구동과 상관없이, 보조기억장치 이동조건이 설정된 예약영역으로 이동될 수 있다.
또한 상기 페이지 캐시의 더티(dirty)상태에서 상기 페이지 캐시의 클린(clean)상태로 변경된 메모리의 예약영역에 저장된 데이터는, 디바이스 구동과 상관없이, 데이터 무시조건이 설정된 예약영역으로 이동될 수 있다.
또한, 306단계에서 메모리의 복수의 예약영역들(A)이 페이지 캐시외의 비 예약영역과 동일한 용도로 사용 중일 때, 307단계에서 특정 데이터의 저장이 요청되면, 상기 복수의 예약영역들 중 비 예약영역 이동조건이 설정된 예약영역에 상기 특정데이터를 저장하는 308단계를 진행한다.
상기 도 3과 같은 과정들을 통해 복수의 예약영역들(A)에 데이터를 저장하고, 상기 복수의 예약영역들에 대응되는 복수의 디바이스들이 구동될 때 상기 복수의 예약영역들에 저장된 데이터를 빠르게 처리하는 과정을 상기 도 4에서 설명한다.
상기 도 4는 본 발명의 제1 실시 예에 따라 데이터 회수조건에 따라 메모리의 예약영역에 데이터를 처리하는 과정을 도시한 흐름도이다.
상기 도 4를 참조하면, 401단계에서 상기 복수의 예약영역들 중 특정 예약영역을 가지는 디바이스가 구동되면, 운영체제는 상기 특정 예약영역에 데이터가 존재하는지 판단하고, 상기 특정 예약영역에 데이터가 존재하면, 402단계에서 상기 구동된 디바이스의 예약영역에 설정된 데이터 회수조건을 판단한다.
상기 운영체제는 403단계에서 상기 설정된 데이터 회수조건이 데이터 무시조건으로 판단되면, 상기 특정 예약영역에 저장된 데이터를 바로 삭제하여 상기 특정 예약영역을 회수함으로, 상기 특정 예약영역을 상기 디바이스 구동을 위한 본래의 예약영역으로 사용하는 404단계를 진행한다.
또는 상기 운영체제가 405단계에서 상기 설정된 데이터 회수조건이 보조기억장치 이동조건으로 판단되면, 상기 특정 예약영역에 저장된 데이터를 상기 보조기억장치로 이동하여 상기 특정 예약영역을 회수함으로, 상기 특정 예약영역을 상기 디바이스 구동을 위한 본래의 예약영역으로 사용하는 406단계를 진행한다. 이 경우 운영체제는 상기 데이터가 상기 특정 예약영역 대신, 상기 보조기억장치에 저장되어 있음을 나타내도록 페이지 테이블을 수정한다.
또는 상기 운영체제가 407단계에서 상기 설정된 데이터 회수조건이 비 예약영역 이동조건으로 판단되면, 상기 특정 예약영역에 저장된 데이터를 메모리의 비 예약영역들 중 빈 영역으로 이동하여 상기 특정 예약영역을 회수함으로, 상기 특정 예약영역을 상기 디바이스 구동을 위한 본래의 예약영역으로 사용하는 408단계를 진행한다. 이 경우 운영체제는 상기 데이터가 상기 특정 예약영역 대신, 상기 비 예약영역의 빈 영역에 저장되어 있음을 나타내도록 페이지 테이블을 수정한다.
도 5a - 도 5b는 본 발명의 실시 예에 따른 메모리에서 예약영역의 데이터를 빠르게 처리하는 동작을 설명하기 위한 도면이다.
상기 도 3 - 도 4의 과정을 도 5a - 도 5b를 통해 설명하면, 상기 도 5a와 같은 메모리의 복수의 예약영역들(A)에서 페이지 프레임#10이 “보조기억장치 이동조건”이 설정되고, 페이지 프레임#8 및 페이지 프레임#9가“데이터 무시조건”으로 설정되며, 페이지 프레임 #7이“비 예약영역 이동조건”으로 설정되어 있다고 가정한다.
그러면, 상기 도 3의 302단계에서와 같이 데이터 독출이 요청되면, 보조기억장치로부터 독출 된 데이터는“데이터 무시조건”으로 설정된 예약영역인 페이지 프레임#8 또는 페이지 프레임#9에 저장된다.
또는, 상기 도 3의 304단계에서와 같이 데이터 기록이 요청되면, 보조기억장치에 기록될 데이터는“보조기억장치 이동조건”으로 설정된 예약영역인 페이지 프레임#10에 저장된다.
또는, 상기 도 3의 307단계에서와 같이 특정 데이터에 대한 저장이 요청되면,“비 예약영역 이동조건”으로 설정된 예약영역인 페이지 프레임#7에 저장된다.
그리고, 상기 도 5b에서와 같이, 상기 복수의 예약영역들(A) 중 예약영역인 페이지 프레임#10에 대응되는 디바이스가 구동되면, 상기 페이지 프레임#10에 저장된 데이터는 보조기억장치로 이동됨으로, 상기 예약영역인 페이지 프레임#10이 회수되어 상기 구동된 디바이스의 영역으로 사용된다.
또는 상기 복수의 예약영역들(A) 중 예약영역인 페이지 프레임#8 또는 페이지 프레임#9에 대응되는 디바이스가 구동되면, 상기 페이지 프레임#8 또는 페이지 프레임#9에 저장된 데이터는 바로 삭제됨으로, 상기 예약영역인 페이지 프레임#8 또는 페이지 프레임#9가 회수되어 상기 구동된 디바이스의 영역으로 사용된다.
상기와 같이, 비 예약영역들과 동일하게 사용되는 예약영역들 각각에 데이터 회수조건을 설정함에 따라, 빠른 초기 구동을 필요로 하는 디바이스의 경우 대응되는 예약영역을 빠르게 회수하여 본래의 목적으로 사용할 수 있게 할 수 있다.
도 6은 본 발명의 실시 예에 따른 메모리에서 예약영역의 저장공간과 상관없이 예약영역의 데이터를 빠르게 처리하는 동작을 설명하기 위한 도면이다.
상기 도 6에서는 복수의 예약영역들(A)과 복수의 비 예약영역들(B)을 포함하는 물리적인 메모리를 도시하고 있다.
상기 복수의 예약영역들(A)은 동영상 녹화 또는 재생과 같은 동작을 수행할 때 하드웨어 영상코덱 동작을 위해 사용되는 예약영역(601a)과, 사진촬영 또는 동영상 녹화 시 프리뷰 기능을 위해 카메라 동작을 위해 사용되는 예약영역(601b)을 포함한다. 따라서 상기 영상코덱 디바이스를 위한 예약영역(601a)은 상기 카메라 디바이스를 위한 예약영역(601b)보다 더 많은 저장공간을 가지고 있다.
그러나, 일반적으로 카메라 기능은 신속한 구동이 요청되는 반면, 동영상 재생기능은 초기 구동시간이 다소 지연이 되더라도 용인되고 있다.
따라서 저장공간이 작은 예약영역(601b)에 데이터 처리속도가 가장 빠른“데이터 무시조건”으로 데이터 회수조건이 설정되고, 저장공간이 더 큰 예약영역(601a)에“보조기억장치 이동조건” 또는 “비 예약영역 이동조건”으로 데이터 회수조건이 설정되어도, 상기 예약영역(601a)에 저장된 데이터에 대한 처리 즉, 페이지 이동(page migration)수행에 크게 문제가 발생되지 않는다.
즉, 메모리의 예약영역에 대응되는 디바이스의 구동특정과 페이지 이동(page migration) 처리가 수월한 정도를 고려하여 메모리의 예약영역을 활용하는 것이다.
상기 도 7은 본 발명의 제2 실시 예에 따라 디바이스의 구동빈도수가 낮은 예약영역부터 데이터를 저장하는 과정을 도시한 흐름도이다.
상기 도 7을 참조하면, 복수의 예약영역들과 복수의 비 예약영역들을 포함하는 메모리에서, 상기 복수의 예약영역들을 위한 복수의 디바이스들이 구동되지 않을 때, 운영체제는 상기 복수의 예약영역들을 상기 복수의 비 예약영역들과 동일한 일반적인 용도로 사용할 수 있다.
상기 예약영역은 특정디바이스를 위해 물리적으로 연속된 미리 할당된 영역들이며, 상기 비 예약영역은 운영체제에 의해 동적으로 할당되는 영역들을 나타낸다.
상기 일반적인 용도 사용할 수 있다는 의미는, 프로세스의 코드, 스택, 힙, 페이지 캐시 등과 같은 운영체제의 자료구조, 및 운영체제 상에서 구동되는 프로세스들의 가상 주소 공간을 구성하는 내용들을 저장하는 공간으로 예약영역이 활용될 수 있음을 의미한다.
본 발명의 실시 예에서는 예약영역들을 비 예약영역들과 동일한 용도로 사용할 때, 디바이스의 구동빈도수를 기반으로 예약영역에 데이터를 저장한다.
즉, 예약영역들을 가지는 디바이스들 중에는 자주 구동되는 디바이스가 있는 반면, 거의 사용되지 않는 디바이스가 존재할 수 있다. 예를 들어, 동영상 재생을 사진 촬영보다 더 빈번하게 사용하는 사용자의 경우, 덜 사용하는 카메라 디바이스를 위한 예약영역을 우선하여 활용할 수 있다. 물론, 반대의 사용 패턴을 갖는 사용자의 경우 반대의 우선순위를 가질 수도 있을 것이다.
따라서, 예약영역을 비 예약영역과 동일한 용도로 사용할 때, 예약영역들 중 자주 사용되지 않은 즉, 구동빈도수가 가장 낮은 디바이스의 예약영역에 데이터먼저 저장하는 것이다.
단말기에는 예약영역들을 가지는 디바이스들 각각에 대한 구동빈도수를 체크하기 위한 별도의 모니터 어플리케이션이 존재할 수 있다.
상기 모니터 어플리케이션에 의해 메모리의 복수의 예약영역들에 대응되는 복수의 디바이스들의 구동빈도수가 체크되는 동안, 701단계에서 메모리의 복수의 예약영역들에 대한 데이터 저장이 요청되면, 운영체제는 상기 모니터 어플리케이션에 의해 체크된 상기 복수의 영역들에 대응되는 상기 복수의 디바이스들 각각에 대한 구동빈도수를 판단하는 702단계를 진행한다.
그리고, 상기 운영체제는 상기 복수의 디바이스들 중 구동빈도수가 가장 낮은 즉, 제1 우선순위를 가지는 디바이스의 예약영역에 상기 데이터를 저장하는 703단계를 진행한다.
이후 다시 복수의 예약영역에 대한 데이터 저장이 요청되면, 상기 운영체제는 다시 상기 복수의 디바이스들 중 구동빈도수가 가장 낮은 제2 우선순위를 가지는 디바이스의 예약영역에 상기 데이터를 저장하는 단계를 반복한다.
상기와 같이 디바이스의 구동빈도수가 낮은 예약영역들부터 순서적으로 데이터를 저장함으로써, 구동빈도수가 높은 디바이스가 구동될 때, 데이터가 저장되어 있지 않은 예약영역을 바로 사용함으로써 빠르게 구동될 수 있다.
상기 도 3 - 상기 도 4에서는 데이터 회수조건에 따라 예약영역에 저장된 데이터를 처리하고, 상기 도 7에서는 디바이스의 구동빈도수에 따라 예약영역에 저장된 데이터를 처리하는 것을 실 시예로 설명하고 있다. 그러나 상기 실 시예뿐만 아니라, 메모리의 예약영역을 비 예약영역과 동일한 용도로 활용함에 있어서, 디바이스의 특성상 빠른 데이터 처리가 요구되는 예약영역 보다, 빠른 데이터 처리가 요구되는지 않는 예약영역을 우선적 사용할 수 있다. 예를 들어, 빈번히 사용되는 카메라 디바이스에 대응되는 예약영약 보다는, 카메라디바이스보다 덜 사용되는 동영상 재생을 위한 영상코덱 디바이스에 대응되는 예약영역이 우선적으로 사용될 수 있다.
본 발명의 단말기의 메모리 관리방법 및 장치는 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, 광학 디스크, 자기 테이프, 플로피 디스크, 하드 디스크, 비휘발성 메모리 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (29)

  1. 단말기의 메모리 관리방법에 있어서,
    복수의 예약영역들에 대응되는 복수의 디바이스들이 구동되지 않을 때, 상기 복수의 예약영역들 각각에 설정된 데이터 회수조건에 대응되는 데이터를 상기 복수의 예약영역들에 저장하는 과정과,
    상기 복수의 디바이스들이 구동될 때, 상기 복수의 예약영역들 각각에 저장된 데이터를 상기 복수의 예약영역들 각각에 설정된 데이터 회수조건으로 처리하여, 상기 복수의 디바이스들의 구동을 위한 상기 복수의 예약영역들을 회수하는 과정을 포함하는 것을 특징으로 하는 메모리 관리방법.
  2. 제1 항에 있어서,
    상기 메모리는 특정 디바이스들을 위해 물리적으로 연속된 영역이 미리 할당된 예약영역들과, 동적으로 할당되어 사용되는 비 예약영역들을 포함하는 것을 특징으로 하는 메모리 관리방법.
  3. 제1 항에 있어서,
    상기 복수의 예약영역들 각각에 데이터 처리조건을 설정하는 과정을 더 포함하는 것을 특징으로 하는 메모리 관리방법.
  4. 제1 항에 있어서
    상기 데이터 회수조건은, 상기 복수의 디바이스들이 구동될 때 비 예약영역들과 동일하게 사용되고 있는 상기 복수의 예약영역들을 빠르게 회수하기 위해, 초기 구동속도가 빠르게 진행되어야하는 순서대로 상기 복수의 디바이스들에 대응되는 상기 복수의 예약영역들 각각에 설정되는 것을 특징으로 하는 메모리 관리방법.
  5. 제1 항에 있어서,
    상기 데이터 회수조건은, 디바이스의 초기 구동속도를 빠르게 진행할 수 있는 순서대로, 데이터를 삭제하는 데이터 무시조건, 데이터를 비 예약영역으로 이동하는 비 예약영역 이동조건 및 데이터를 보조기억장치로 이동하는 보조기억장치 이동조건을 포함하는 것을 특징으로 하는 메모리 관리방법.
  6. 제1 항에 있어서, 상기 저장하는 과정은,
    상기 복수의 예약영역들이 페이지 캐시로 사용하는 동안, 페이지가 클린(clean)상태가 되는 데이터 독출이 요청되면, 보조 기억장치로부터 독출된 데이터를 상기 데이터 회수조건 중 데이터 무시조건으로 설정된 예약영역에 상기 독출이 요청된 데이터를 저장하는 과정과,
    상기 복수의 예약영역들이 페이지 캐시로 사용하는 동안, 페이지가 더티(dirty)상태가 되는 데이터 기록이 요청되면, 보조 기억장치에 기록될 데이터를 상기 데이터 회수조건 중 보조 기억장치 이동조건으로 설정된 예약영역에 상기 기록이 요청된 데이터를 저장하는 과정과,
    상기 복수의 예약정보들이 페이지 캐시 외에 비 예약영역들과 동일한 용도로 사용되는 동안 특정 데이터의 저장이 요청되면, 상기 데이터 회수조건 중 비 예약영역 이동조건으로 설정된 예약영역에 상기 특정 데이터를 저장하는 과정을 포함하는 것을 특징으로 하는 메모리 관리방법.
  7. 제1 항에 있어서, 상기 복수의 영역들을 회수하는 과정은,
    상기 복수의 디바이스들 중 특정 디바이스가 구동되면, 상기 특정 디바이스에 대응되는 예약영역에 데이터가 저장되어 있는지 판단하는 과정과,
    상기 특정 디바이스에 대응되는 상기 예약영역에 데이터가 저장되어 있으면, 상기 예약영역에 설정된 데이터 회수조건에 따라 상기 저장된 데이터를 처리하여, 상기 특정 디바이스를 구동을 위한 상기 예약영역을 회수하는 과정을 포함하는 것을 특징으로 하는 메모리 관리방법.
  8. 제1 항에 있어서, 상기 복수의 영역들을 회수하는 과정은,
    상기 복수의 디바이스들 중 특정 디바이스가 구동되면, 상기 특정 디바이스에 대응되는 예약영역에 데이터가 저장되어 있는지 판단하는 과정과,
    상기 특정 디바이스에 대응되는 상기 예약영역에 데이터가 저장되어 있으면, 상기 예약영역에 설정된 데이터 회수조건을 판단하는 과정과,
    상기 예약영역에 설정된 데이터 회수조건이 데이터 무시조건이면, 상기 예약영역에 저장된 데이터를 삭제하는 과정과,
    상기 예약영역에 설정된 데이터 회수조건이 보조 기억장치 이동조건이면, 상기 예약영역에 저장된 데이터를 보조 기억장치로 이동하는 과정과,
    상기 예약영역에 설정된 데이터 회수조건이 비 예약영역 이동조건이면, 상기 예약영역에 저장된 데이터를 상기 비 예약영역 중 빈 영역으로 이동하는 과정을 포함하는 것을 특징으로 하는 메모리 관리방법.
  9. 단말기의 메모리 관리방법에 있어서,
    복수의 예약영역들에 대응되는 복수의 디바이스들이 구동되지 않을 때, 상기 복수의 디바이스들 중 구동빈도수가 가장 낮은 디바이스의 예약영역부터 데이터를 저장하는 과정과,
    상기 복수의 디바이스들이 구동될 때, 상기 복수의 예약영역들 각각에 저장된 데이터를 처리하여, 상기 복수의 디바이스들의 구동을 위한 상기 복수의 예약영역들을 회수하는 과정을 포함하는 것을 특징으로 하는 메모리 관리방법.
  10. 제9 항에 있어서,
    상기 메모리는 특정 디바이스들을 위해 물리적으로 연속된 영역이 미리 할당된 예약영역들과, 동적으로 할당되어 사용되는 비 예약영역들을 포함하는 것을 특징으로 하는 메모리 관리방법.
  11. 제9 항에 있어서, 상기 저장하는 과정은,
    상기 복수의 예약영역들이 비 예약영역들과 동일한 용도로 사용되는 동안 특정 데이터의 저장이 요청되면, 상기 복수의 디바이스들 각각에 대한 구동빈도수를 판단하는 과정과,
    상기 복수의 디바이스들 중 구동빈도수가 가장 낮은 디바이스에 대응되는 예약영역부터 순서적으로 상기 특정 데이터를 저장하는 과정을 포함하는 것을 특징으로 하는 메모리 관리방법.
  12. 제9 항에 있어서, 상기 복수의 영역들을 회수하는 과정은,
    상기 복수의 디바이스들 중 특정 디바이스가 구동되면, 상기 특정 디바이스에 대응되는 예약영역에 데이터가 저장되어 있는지 판단하는 과정과,
    상기 특정 디바이스에 대응되는 상기 예약영역에 데이터가 저장되어 있으면, 데이터 삭제, 비 예약영역 중 빈 영역이동 및 보조 기억장치로 데이터 이동 중 적어도 하나를 통해 상기 예약영역에 저장된 데이터를 처리하여, 상기 특정 디바이스를 구동을 위한 상기 예약영역을 회수하는 과정을 포함하는 것을 특징으로 하는 메모리 관리방법.
  13. 제9 항에 있어서
    모니터 어플리케이션을 통해 상기 복수의 예약영역들에 대응되는 상기 복수의 디바이스들에 대한 구동빈도수를 체크하는 과정을 더 포함하는 것을 특징으로 하는 메모리 관리방법.
  14. 제1 항 내지 제13 항 중 어느 한 항에 따른 방법을 수행하기 위한 프로그램이 기록된 프로세서가 판독 가능한 기록매체.
  15. 단말기의 메모리 관리장치에 있어서,
    동영상 녹화 또는 동영상 재생을 위해 구동되며, 메모리에서 예약영역을 가지는 영상코덱과,
    사진촬영 또는 동영상 녹화를 위한 프리뷰기능 수행을 위해 구동되며, 상기 메모리에서 예약영역을 가지는 카메라부와,
    복수의 예약영역들과 복수의 비 예약영역들을 포함하며, 상기 복수의 예약영역들에 대응되는 복수의 디바이스들이 구동되지 않을 때, 상기 복수의 예약영역들 각각에 설정된 데이터 회수조건에 대응되는 데이터가 저장되고, 상기 복수의 디바이스들이 구동될 때, 상기 복수의 예약영역들 각각에 저장된 데이터가 상기 복수의 예약영역들 각각에 설정된 데이터 회수조건으로 처리되어, 상기 복수의 디바이스들의 구동을 위한 상기 복수의 예약영역들이 회수되는 상기 메모리를 포함하는 것을 특징으로 하는 메모리 관리장치.
  16. 제15 항에 있어서,
    상기 예약영역은 특정 디바이스들을 위해 물리적으로 연속된 영역이 미리 할당된 영역이고, 상기 비 예약영역은 동적으로 할당되어 사용되는 비 예약영역인 것을 특징으로 하는 메모리 관리장치.
  17. 제15 항에 있어서
    상기 데이터 회수조건은, 상기 복수의 디바이스들이 구동될 때 비 예약영역들과 동일하게 사용되고 있는 상기 복수의 예약영역들을 빠르게 회수하기 위해, 초기 구동속도가 빠르게 진행되어야 하는 순서대로 상기 복수의 디바이스들에 대응되는 상기 복수의 예약영역들 각각에 설정되는 것을 특징으로 하는 메모리 관리장치.
  18. 제15 항에 있어서,
    상기 데이터 회수조건은, 디바이스의 초기 구동속도를 빠르게 진행할 수 있는 순서대로, 데이터를 삭제하는 데이터 무시조건, 데이터를 비 예약영역으로 이동하는 비 예약영역 이동조건 및 데이터를 보조기억장치로 이동하는 보조기억장치 이동조건을 포함하는 것을 특징으로 하는 메모리 관리장치.
  19. 제15 항에 있어서, 상기 메모리에서,
    상기 복수의 예약영역들에 대응되는 상기 복수의 디바이스들이 구동되지 않을 때, 상기 복수의 영역들이 페이지 캐시로 사용되는 경우, 상기 데이터 회수조건 중 데이터 무시조건으로 설정된 예약영역에 페이지가 클린(clean)상태가 되는 데이터가 저장되고,
    상기 복수의 영역들이 페이지 캐시로 사용되는 경우, 상기 데이터 회수조건 중 보조 기억장치 이동조건으로 설정된 예약영역에 페이지가 더티(dirty)상태가 되는 데이터가 저장되며,
    상기 복수의 예약정보들이 페이지 캐시 외에 비 예약영역들과 동일한 용도로 사용되는 경우, 상기 데이터 회수조건 중 비 예약영역 이동조건으로 설정된 예약영역에 특정 데이터가 저장되는 것을 특징으로 하는 메모리 관리장치.
  20. 제15 항에 있어서, 상기 메모리에서,
    상기 복수의 디바이스들 중 특정 디바이스가 구동될 때, 상기 특정 디바이스에 대응되는 예약영역에 저장된 데이터가 상기 예약영역에 설정된 상기 데이터 회수조건에 따라 처리되어, 상기 특정 디바이스를 구동을 위한 상기 예약영역이 회수되는 것을 특징으로 하는 메모리 관리장치.
  21. 제15 항에 있어서,
    상기 복수의 디바이스들 중 특정 디바이스가 구동될 때, 상기 특정 디바이스에 대응되는 예약영역의 상기 데이터 회수조건이 데이터 무시조건이면, 상기 예약영역에 저장된 데이터가 삭제되고,
    상기 특정 디바이스에 대응되는 예약영역의 상기 데이터 회수조건이 무시조건이면, 상기 예약영역에 저장된 데이터가 삭제되며,
    상기 특정 디바이스에 대응되는 예약영역의 상기 데이터 회수조건이 비 예약영역 이동조건이면, 상기 예약영역에 저장된 데이터가 상기 비 예약영역 중 빈 영역으로 이동되는 것을 특징으로 하는 메모리 관리장치.
  22. 제15 항에 있어서, 상기 메모리에서
    상기 영상코덱을 위한 예약영역은, 상기 영상코덱이 구동되지 않을 때 상기 영상코덱을 위한 예약영역에 설정된 데이터 회수조건에 대응되는 데이터가 상기 영상코덱을 위한 예약영역에 저장되고, 상기 영상코덱이 구동될 때 상기 영상코덱을 위한 예약영역에 설정된 데이터 회수조건에 따라 상기 영상코덱을 위한 예약영역에 저장된 데이터가 처리된 후, 상기 영상코덱의 구동을 위한 예약영역으로 회수되는 것을 특징으로 하는 메모리 관리장치.
  23. 제15 항에 있어서, 상기 메모리에서
    상기 카메라부를 위한 예약영역은, 상기 카메라부가 구동되지 않을 때 상기 카메라부를 위한 예약영역에 설정된 데이터 회수조건에 대응되는 데이터가 상기 카메라부를 위한 예약영역에 저장되고, 상기 카메라부가 구동될 때 상기 카메라부를 위한 예약영역에 설정된 데이터 회수조건에 따라 상기 카메라부를 위한 예약영역에 저장된 데이터가 처리된 후, 상기 카메라부의 구동을 위한 예약영역으로 회수되는 것을 특징으로 하는 메모리 관리장치.
  24. 단말기의 메모리 관리장치에 있어서,
    동영상 녹화 또는 동영상 재생을 위해 구동되며, 메모리에서 예약영역을 가지는 영상코덱과,
    사진촬영 또는 동영상 녹화를 위한 프리뷰기능 수행을 위해 구동되며, 상기 메모리에서 예약영역을 가지는 카메라부와,
    복수의 예약영역들과 복수의 비 예약영역들을 포함하며, 상기 복수의 예약영역들에 대응되는 복수의 디바이스들이 구동되지 않을 때, 상기 복수의 예약영역들 중 구동빈도수가 낮은 디바이스의 예약영역들부터 데이터가 저장되고, 상기 복수의 디바이스들이 구동될 때 상기 복수의 예약영역들 각각에 저장된 데이터가 처리되어 상기 복수의 디바이스들의 구동을 위한 상기 복수의 예약영역들이 회수되는 상기 메모리를 포함하는 것을 특징으로 하는 메모리 관리장치.
  25. 제24 항에 있어서,
    상기 예약영역은 특정 디바이스들을 위해 물리적으로 연속된 영역이 미리 할당된 영역이고, 상기 비 예약영역은 동적으로 할당되어 사용되는 비 예약영역인 것을 특징으로 하는 메모리 관리장치.
  26. 제24 항에 있어서, 상기 메모리에서
    상기 복수의 예약영역들 각각에 저장된 데이터는 데이터 삭제, 비 예약영역 중 빈 영역이동 및 보조 기억장치로 데이터 이동 중 적어도 하나를 통해 처리되는 것을 특징으로 하는 메모리 관리장치.
  27. 제24 항에 있어서,
    모니터 어플리케이션을 통해 상기 복수의 예약영역들에 대응되는 상기 복수의 디바이스들에 대한 구동빈도수를 체크하는 것을 것을 특징으로 하는 메모리 관리장치.
  28. 제24 항에 있어서, 상기 메모리에서
    상기 영상코덱이 상기 카메라부보다 구동빈도수가 높은 경우, 상기 영상코덱이 구동되지 않을 때 상기 영상코덱을 위한 예약영역에 데이터가 저장되고, 상기 영상코덱이 구동될 때 상기 영상코덱을 위한 예약영역에 저장된 데이터가 처리된 후, 상기 영상코덱의 구동을 위한 예약영역으로 회수되는 것을 특징으로 하는 메모리 관리장치.
  29. 제24 항에 있어서, 상기 메모리에서
    상기 카메라가 상기 영상코덱 보다 구동빈도수가 높은 경우, 상기 카메라부가 구동되지 않을 때 상기 카메라부를 위한 예약영역에 특정 데이터가 저장되고, 상기 카메라부가 구동되지 않을 때 상기 카메라부를 위한 예약영역에 저장된 데이터가 처리된 후, 상기 카메라부의 구동을 위한 예약영역으로 회수되는 것을 특징으로 하는 메모리 관리장치.
KR1020120158288A 2012-12-31 2012-12-31 단말기의 메모리 관리방법 및 장치 KR102014083B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020120158288A KR102014083B1 (ko) 2012-12-31 2012-12-31 단말기의 메모리 관리방법 및 장치
US14/070,338 US9335946B2 (en) 2012-12-31 2013-11-01 Method and apparatus for managing memory
EP13199422.0A EP2750042B1 (en) 2012-12-31 2013-12-23 Method and apparatus for managing memory
CN201380069520.1A CN104903869B (zh) 2012-12-31 2013-12-23 用于管理存储器的方法和设备
PCT/KR2013/012001 WO2014104679A1 (en) 2012-12-31 2013-12-23 Method and apparatus for managing memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120158288A KR102014083B1 (ko) 2012-12-31 2012-12-31 단말기의 메모리 관리방법 및 장치

Publications (2)

Publication Number Publication Date
KR20140087712A KR20140087712A (ko) 2014-07-09
KR102014083B1 true KR102014083B1 (ko) 2019-08-27

Family

ID=49916912

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120158288A KR102014083B1 (ko) 2012-12-31 2012-12-31 단말기의 메모리 관리방법 및 장치

Country Status (5)

Country Link
US (1) US9335946B2 (ko)
EP (1) EP2750042B1 (ko)
KR (1) KR102014083B1 (ko)
CN (1) CN104903869B (ko)
WO (1) WO2014104679A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102014083B1 (ko) * 2012-12-31 2019-08-27 삼성전자주식회사 단말기의 메모리 관리방법 및 장치
US9916096B2 (en) * 2014-02-05 2018-03-13 International Business Machines Corporation Increasing data storage capacity
US10379741B2 (en) * 2014-04-17 2019-08-13 Seagate Technology Llc Dynamic storage device region provisioning
KR102402780B1 (ko) 2015-06-04 2022-05-27 삼성전자 주식회사 메모리 관리 방법 및 장치
US10678702B2 (en) * 2016-05-27 2020-06-09 Advanced Micro Devices, Inc. Using multiple memory elements in an input-output memory management unit for performing virtual address to physical address translations
KR102534744B1 (ko) 2018-02-23 2023-05-22 삼성전자주식회사 메모리를 제어하는 전자 장치 및 제어 방법
US11487581B2 (en) * 2020-02-14 2022-11-01 Dell Products L.P. Initialization data memory space allocation system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090144349A1 (en) 2007-11-29 2009-06-04 International Business Machines Corporation Memory management
US20090187911A1 (en) 2008-01-04 2009-07-23 Patrice Martinez Computer device with reserved memory for priority applications

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027194B2 (en) * 1988-06-13 2011-09-27 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
DE19846676C1 (de) * 1998-10-09 2000-03-02 Siemens Ag Verfahren zur Absicherung von Einsprungsadressen
US6370633B2 (en) 1999-02-09 2002-04-09 Intel Corporation Converting non-contiguous memory into contiguous memory for a graphics processor
US20040044886A1 (en) * 2000-07-12 2004-03-04 Ng Weiloon Partition recovery method
JP2003131938A (ja) 2001-10-22 2003-05-09 Matsushita Electric Ind Co Ltd メモリ管理方法およびその装置
KR20030071299A (ko) 2002-02-28 2003-09-03 주식회사 엘지이아이 메모리 관리 장치
US7484070B1 (en) 2004-01-09 2009-01-27 Conexant Systems, Inc. Selective memory block remapping
US7302546B2 (en) 2004-01-09 2007-11-27 International Business Machines Corporation Method, system, and article of manufacture for reserving memory
US7496908B2 (en) * 2004-01-14 2009-02-24 International Business Machines Corporation Method and apparatus for optimizing code execution using annotated trace information having performance indicator and counter information
US20050155022A1 (en) * 2004-01-14 2005-07-14 International Business Machines Corporation Method and apparatus for counting instruction execution and data accesses to identify hot spots
JP4164452B2 (ja) * 2004-02-02 2008-10-15 キヤノン株式会社 情報処理方法及び装置
JP4715286B2 (ja) * 2004-05-11 2011-07-06 株式会社日立製作所 計算機システムおよび計算機システムの制御方法
US7509521B2 (en) * 2004-08-23 2009-03-24 Microsoft Corporation Memory dump generation with quick reboot
US20060069825A1 (en) * 2004-09-24 2006-03-30 Hodder Leonard B Method and system of transferring firmware from a host device to a printing device
JP2006285669A (ja) * 2005-03-31 2006-10-19 Toshiba Corp ホスト機器
KR20080016058A (ko) 2006-08-17 2008-02-21 에스케이 텔레콤주식회사 자바 가상 머신의 메모리 관리 장치 및 방법
US7721065B2 (en) 2006-09-28 2010-05-18 Kyocera Mita Corporation Reducing memory fragmentation by learning memory allocation patterns
KR100858241B1 (ko) * 2006-10-25 2008-09-12 삼성전자주식회사 하이브리드 플래시 메모리 장치 및 그것의 가용 블록 할당방법
JP2008117195A (ja) * 2006-11-06 2008-05-22 Hitachi Ltd 半導体記憶装置
US20080295097A1 (en) 2007-05-24 2008-11-27 Advanced Micro Devices, Inc. Techniques for sharing resources among multiple devices in a processor system
KR20090033975A (ko) * 2007-10-02 2009-04-07 엘지전자 주식회사 복수개의 메모리를 구비한 영상표시기기 및 그 제어 방법
US8082385B2 (en) * 2008-05-02 2011-12-20 Sony Corporation Systematic memory shift for pre-segmented memory
MY152449A (en) * 2008-09-29 2014-09-30 Panasonic Corp Information recording medium, recording method, and reproducing method
JP5420972B2 (ja) * 2009-05-25 2014-02-19 株式会社東芝 メモリ管理装置
KR102014083B1 (ko) * 2012-12-31 2019-08-27 삼성전자주식회사 단말기의 메모리 관리방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090144349A1 (en) 2007-11-29 2009-06-04 International Business Machines Corporation Memory management
US20090187911A1 (en) 2008-01-04 2009-07-23 Patrice Martinez Computer device with reserved memory for priority applications

Also Published As

Publication number Publication date
WO2014104679A1 (en) 2014-07-03
CN104903869A (zh) 2015-09-09
EP2750042A1 (en) 2014-07-02
US20140189272A1 (en) 2014-07-03
CN104903869B (zh) 2017-07-07
US9335946B2 (en) 2016-05-10
EP2750042B1 (en) 2018-07-04
KR20140087712A (ko) 2014-07-09

Similar Documents

Publication Publication Date Title
KR102014083B1 (ko) 단말기의 메모리 관리방법 및 장치
US20130222629A1 (en) Methods, apparatuses, and computer program products for facilitating concurrent video recording and still image capture
US9565146B2 (en) Apparatus and method for controlling messenger in terminal
CN111984130B (zh) 快捷操作方法、装置及电子设备
US10901947B2 (en) Method for recognizing infrequently-used data and terminal
WO2022095502A1 (zh) 视频获取方法及终端
CN112770059B (zh) 拍照方法、装置及电子设备
WO2021082486A1 (zh) 获取样本的方法、装置、设备、存储介质及程序
CN103747354A (zh) 智能电视与外接存储设备连接的控制方法和控制装置
CN107408073B (zh) 使用存储器压缩来减少存储器提交开销
US20140108604A1 (en) Apparatus and method for providing electronic letter paper download service in terminal
US11368531B2 (en) Method and apparatus for file management
KR100797122B1 (ko) 휴대 단말기의 이동식 저장 매체를 이용한 파일 처리 장치및 방법
CN112948440A (zh) 页面数据的处理方法及装置、终端、存储介质
EP4398558A1 (en) Display method and apparatus
EP1870897A2 (en) Method and apparatus for setting playlist for content files in mobile terminal
US20100100531A1 (en) Electronic device and method for managing medias
CN108874591A (zh) 文件处理方法及相关产品
CN111447439B (zh) 图像编码方法、图像编码装置及移动终端
CN115687270A (zh) 数据存储整理方法、装置、电子设备和存储介质
US20120062764A1 (en) Data management device and recording medium
US20080133792A1 (en) Information processing device, method and program for displaying number of transferred data
US20150193363A1 (en) System and method for enabling the fast extraction of interleaved image data
CN113934692A (zh) 文件清理方法、装置、存储介质及设备
WO2023237047A1 (zh) 数据处理方法及电子设备

Legal Events

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