KR101467514B1 - 사용자 응답 시간을 고려한 메모리 관리 장치 및 방법 - Google Patents
사용자 응답 시간을 고려한 메모리 관리 장치 및 방법 Download PDFInfo
- Publication number
- KR101467514B1 KR101467514B1 KR1020100045589A KR20100045589A KR101467514B1 KR 101467514 B1 KR101467514 B1 KR 101467514B1 KR 1020100045589 A KR1020100045589 A KR 1020100045589A KR 20100045589 A KR20100045589 A KR 20100045589A KR 101467514 B1 KR101467514 B1 KR 101467514B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- release
- unit
- releasing
- allocated
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Studio Devices (AREA)
Abstract
시스템의 성능을 고려하여 빠른 사용자 대기 시간을 줄 수 있는 메모리 관리 장치는 메모리를 할당하는 메모리 할당부, 시스템의 성능 또는 사용자 응답 시간을 고려하여, 할당된 메모리의 해제에 관한 해제 단위를 획득하는 해제 단위 산출부, 및 획득된 해제 단위에 기초하여 할당된 메모리를 해제하는 메모리 해제부를 포함한다.
Description
메모리를 할당하거나 할당된 메모리를 해제하기 위한 메모리 관리 기술과 관련된다.
메모리 할당(memory allocation)이란 어떤 프로세스 또는 어떤 디바이스가 메모리의 특정 영역을 사용할 수 있도록 해당 부분을 확보하는 것을 말한다. 그리고 메모리 할당해제(memory deallocation)란 어떤 프로세스 또는 어떤 디바이스가 확보한 메모리의 특정 영역의 점유를 해제하고 원래의 상태로 되돌리는 것을 말한다.
한편 대용량 파일을 처리하는 시스템, 예를 들어, 대용량의 영상 데이터를 재생 및 녹화하는 디지털 카메라 또는 디지털 캠코더의 경우, 재생모드(play mode)에서 기록모드(recording mode)로 넘어갈 때 사용자 대기 시간이 존재하는 것이 일반적이다.
이 사용자 대기 시간은 모드 전환 시의 메모리 할당해제 동작이 수행됨에 따라 발생된다. 즉 재생모드에서 영상 데이터를 메모리로 로딩하기 위해 메모리 할당 동작이 수행되었다가 기록모드로 넘어갈 때 메모리 할당해제 동작이 수행되는데, 이 메모리 할당해제 동작이 수행될 때 필요 이상으로 CPU가 사용됨으로써 사용자 대기 시간이 길어지는 경우가 있다.
그리고 메모리 할당해제 동작은 메모리 크기와 관련된 어떤 고정된 값을 미리 정해놓고 그 고정된 값에 해당하는 메모리 영역을 반복적으로 해제하는 방식으로 여러 번에 걸쳐서 수행됨이 통상적이다.
대용량의 데이터를 처리하는 시스템에 있어서 사용자 응답 시간을 줄일 수 있는 메모리 관리 장치, 메모리 관리 방법, 및 이러한 장치 및 방법을 이용한 전자장치가 제공된다.
본 발명의 일 양상에 따른 메모리 관리 장치는 메모리를 할당하는 메모리 할당부, 시스템의 성능 또는 사용자 응답 시간을 고려하여, 할당된 메모리의 해제에 관한 해제 단위를 획득하는 해제 단위 산출부, 및 획득된 해제 단위에 기초하여 할당된 메모리를 해제하는 메모리 해제부를 포함할 수 있다.
또한 본 발명의 일 양상에 따른 메모리 관리 방법은 메모리를 할당하는 단계, 시스템의 성능 또는 사용자 응답 시간을 고려하여, 할당된 메모리의 해제에 관한 해제 단위를 획득하는 단계, 및 획득된 해제 단위에 기초하여 할당된 메모리를 해제하는 단계를 포함할 수 있다.
또한 본 발명의 일 양상에 따른 전자 장치는, 메모리 및 메모리의 할당 및 해제를 관리하는 메모리 관리자를 포함하며, 메모리 관리자는 시스템의 성능 또는 사용자 응답 시간을 고려하여 메모리의 해제 단위를 획득하고 획득된 해제 단위에 기초하여 할당된 메모리 영역을 해제할 수 있다.
개시된 내용에 따르면, 메모리 할당 해제를 수행함에 있어서 시스템의 성능 및/또는 사용자의 응답 시간을 고려하여 설정된 해제 단위를 이용해서 메모리 할당 해제가 수행되기 때문에 메모리 할당 해제 동작에 따른 사용자 대기 시간을 최소화할 수 있다.
특히 캠코더와 같이 대용량 파일을 처리하는 임베디드 시스템에서 재생모드(Play Mode)에서 기록모드(Recording Mode)으로 전환시 처리되는 메모리 할당해제 동작을 개선함으로써 사용자 대기 시간을 획기적으로 줄일 수 있다.
도 1은 본 발명의 일 실시예에 따른 전자 장치를 도시한다.
도 2는 본 발명의 일 실시예에 따른 메모리 할당해제 동작을 도시한다.
도 3은 본 발명의 일 실시예에 따른 메모리 관리 장치를 도시한다.
도 4는 본 발명의 일 실시예에 따른 고정형 해제 단위와 가변형 해제 단위를 도시한다.
도 5는 본 발명의 일 실시예에 따른 메모리 관리 방법을 도시한다.
도 6은 본 발명의 일 실시예에 따른 해제 단위 획득 방법을 도시한다.
도 2는 본 발명의 일 실시예에 따른 메모리 할당해제 동작을 도시한다.
도 3은 본 발명의 일 실시예에 따른 메모리 관리 장치를 도시한다.
도 4는 본 발명의 일 실시예에 따른 고정형 해제 단위와 가변형 해제 단위를 도시한다.
도 5는 본 발명의 일 실시예에 따른 메모리 관리 방법을 도시한다.
도 6은 본 발명의 일 실시예에 따른 해제 단위 획득 방법을 도시한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시를 위한 구체적인 예를 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 전자 장치를 도시한다.
도 1을 참조하면, 본 실시예에 따른 전자 장치(100)는 디지털 카메라(또는 디지털 캠코더) 또는 이러한 디지털 카메라(또는 디지털 캠코더)가 탑재된 모바일 기기(예컨대, 스마트폰 PMP, PDA 등)의 일부 구성이 될 수 있다.
본 실시예에 따른 전자 장치(100)는 메모리(101) 및 메모리 관리자(102)를 포함할 수 있다. 메모리(101)는 운영체제, 응용 프로그램 및 현재 사용중인 데이터를 저장 및 유지한다. 메모리 관리자(102)는 전자 장치(100) 상에서 실행되는 프로세스에 메모리(101)의 특정 부분을 할당(allocation)하거나 어떤 프로세스에 할당된 메모리(101)의 특정 부분을 할당 해제(deallocation)하여 전자 장치(100)로 반환한다. 본 실시예에 있어서, 메모리 할당이란 어떤 프로세스 또는 어떤 디바이스가 메모리(101)의 특정 영역을 사용할 수 있도록 해당 부분을 확보하는 것을 말한다. 또한 메모리 할당해제, 메모리 해제 또는 할당된 메모리의 해제란 어떤 프로세스 또는 어떤 디바이스가 확보한 메모리의 특정 영역의 점유 상태를 해제하고 원래의 상태로 되돌리는 것을 말한다.
예를 들어, 전자 장치(100)가 디지털 캠코더인 경우, 메모리 관리자(102)는 저장된 영상 데이터를 재생하기 위한 재생 모드에 응답하여 메모리(101)의 특정 영역을 재생과 관련된 프로세스에 할당할 수 있다. 또한 새로운 영상 데이터를 기록 또는 녹화하기 위한 기록 모드에 응답하여 재생 모드에서 할당되었던 메모리(101)의 특정 영역을 해제하는 것이 가능하다.
메모리 관리자(102)가 메모리(101)를 해제할 때 해제 동작은 소정의 해제 단위에 기초하여 수행된다. 해제 단위란 할당된 메모리를 해제할 때의 해제 동작의 기본 단위로 정의된다. 이러한 해제 단위는 몇 개의 페이지로 이루어질 수 있는데, 전자 장치(100)의 CPU 성능 및/또는 사용자 응답 시간을 고려하여 결정될 수 있다.
해제 단위는 시스템 성능과 관계 없이 어떤 고정된 값을 가질 수도 있으나 본 실시예에 따른 전자 장치(100)는 시스템 성능에 따라 해제 단위를 적절하게 결정하고 결정된 해제 단위에 기초하여 메모리 해제 동작을 수행함으로써 사용자 대기 시간을 줄일 수 있다.
예를 들어, 전자 장치(100)가 디지털 캠코더인 경우 재생모드에서 기록모드로 넘어갈 때 메모리 할당 해제가 수행될 수 있는데, 이 메모리 할당 해제를 시스템의 성능 및/또는 사용자 응답 시간에 따라 결정되는 소정의 해제 단위로 수행하여 모드전환 시의 사용자 대기 시간을 줄이는 것이 가능하다.
도 2는 본 발명의 일 실시예에 따른 메모리 할당 해제 동작을 도시한다.
도 2를 참조하면, 할당된 메모리 영역(201)은 9개의 페이지(202)로 이루어지고 메모리 할당 해제 동작의 기본 단위인 해제 단위는 3개의 페이지로 이루어진다. 그러나 이것은 설명의 편의를 위해 예시적으로 나타낸 것에 불과한 것으로, 실제 시스템에 적용할 경우에는 수백 또는 수천 개의 페이지(202)로 할당된 메모리 영역(201)이 구성될 수 있음은 물론이고, 해제 단위 역시 수백 또는 수천 개의 페이지(202)로 구성될 수 있다.
본 실시예에 따라, 메모리 할당 해제 동작은 다음과 같이 여러 번에 걸쳐서 이루어진다. 예컨대, 먼저 해제 단위에 대응되는 첫 번째 부분(203)의 할당이 해제된다. 첫 번째 부분(203)의 할당이 해제되면 해제 단위에 대응되는 두 번째 부분(204)의 할당이 해제된다. 마찬가지로 두 번째 부분(204)의 할당이 해제되면 해제 단위에 대응되는 세 번째 부분(205)의 할당이 해제된다. 이와 같이 해제 동작이 이루어지는 횟수를 해제 동작 횟수라 명명한다. 즉 도 2에서 해제 동작 횟수는 3회이다.
해제 동작 횟수는 사용자의 대기 시간 또는 사용자의 응답 시간과 관련된다. 예컨대, 메모리 할당 해제는 디지털 캠코더의 재생모드와 기록모드 간의 모드 전환 시에 수행될 수 있는데, 해제 동작 횟수에 따라 사용자 대기 시간이 빨라질 수도 있고 느려질 수도 있다. 즉, 가장 빠른 사용자 대기 시간에 대응되는 최적의 해제 동작 횟수가 존재할 수 있다.
도 3은 본 발명의 일 실시예에 따른 메모리 관리 장치를 도시한다. 이것은 도 1의 메모리 관리자(102)에 관한 구성의 일 예가 될 수 있다.
도 1 및 도 3을 참조하면, 메모리 관리 장치(300)는 메모리 할당부(301), 해제 단위 산출부(302), 및 메모리 해제부(303)를 포함한다.
메모리 할당부(301)는 시스템의 제 1 모드에 응답하여, 시스템 상의 프로세스에 메모리(101)의 일부 영역을 할당한다. 시스템이 디지털 캠코더인 경우, 예컨대, 메모리 할당부(301)는 저장된 영상 데이터를 재생 또는 표시하기 위한 재생모드에 따라 메모리 할당 동작을 실행하는 것이 가능하다.
메모리 해제부(303)는 시스템의 제 2 모드에 응답하여, 시스템 상의 프로세스에 할당된 메모리(101)의 일부 영역을 소정의 해제 단위로 해제하여 시스템에 반환한다. 시스템이 디지털 캠코더인 경우, 예컨대, 메모리 해제부(303)는 영상 데이터를 기록 또는 녹화하기 위한 기록모드에 따라 메모리 할당 해제 동작을 실행할 수 있다.
메모리를 할당하고 해제하기 위해서는 mmap() 시스템콜과 munmap() 시스템콜이 사용될 수 있다. mmap() 시스템콜은 둘 이상의 프로그램에 의해 읽히거나 기록될 수 있는 메모리 영역을 설정한다. 원래 이 시스템콜은 프로세스 공간에 매핑할 목적으로 도입된 기능이지만, 실제로는 메모리 영역을 할당하는 목적으로도 사용될 수 있다. mmap() 시스템콜을 사용할 때 off 파라미터를 지정하면 공유되는 세그먼트에 의해 액세스되는 파일 데이터의 시작을 변경할 수 있으며, 특정 메모리 어드레스를 요청하기 위해 addr 파라미터를 사용할 수 있다. 그리고, munmap () 시스템콜은 mmap()시스템콜에 의해 확보한 프로세스 공간 영역을 해제 할 수 있게 한다.
메모리 할당 해제와 관련하여 해제 단위 산출부(302)는 할당 해제 동작의 기본 단위인 해제 단위를 시스템의 성능을 고려하여 결정한다. 예를 들어, 해제 단위 산출부(302)는 시스템의 CPU 성능 또는 CPU 동작 속도를 고려하여 다음과 같이 해제 단위를 산출하는 것이 가능하다.
수학식 1을 참조하여 해제 단위 산출 방법을 살펴본다.
먼저 최초로 메모리가 할당되면 사전에 정의된 해제 동작 횟수로 메모리 할당 해제 동작을 수행하였을 경우의 사용자 응답 시간을 측정한다. 이 때 사용자 응답 시간은 CPU의 종류, 즉 CPU의 성능에 따라 달라질 수 있다. 그리고 해제 동작 횟수를 증감하면서 각 횟수 별로 사용자 응답 시간을 측정하고 최소의 사용자 응답 시간을 갖는 해제 동작 횟수를 최적 해제 동작 횟수로 선택한다. 최적 해제 동작 횟수가 선택되면 할당된 메모리의 크기를 이용해서 해제 단위를 결정한다.
예를 들어, 최초 100MB의 메모리가 할당되었고 사전에 정의된 기준 해제 동작 횟수가 25회라고 가정한다. 해제 단위 산출부(302)는 기준 해제 동작 횟수의 일정 범위 안에서 각 횟수 별 사용자 응답 시간을 측정한다. 예컨대, 해제 단위 산출부(302)는 25회를 중심으로 일정 횟수 증감된 범위에서 횟수 별 사용자 응답 시간을 측정하는 것이 가능하다. 이 때 26회의 해제 동작 횟수에서 사용자 응답 시간이 가장 짧았다면 이 26회를 최적 해제 동작 횟수로 선택한다. 최적 해제 동작 횟수가 얻어지면 수학식 1과 같이 할당된 메모리 크기를 최적 해제 동작 횟수로 나누어서 해제 단위를 결정하는 것이 가능하다.
또한 이후 300MB의 메모리가 할당되면 다시 사용자 응답 시간을 측정해서 최적 해제 동작 횟수를 선택하게 되는데 이 때는 26회가 아닌 다른 최적 해제 동작 횟수가 선택될 수 있다. 예를 들어 30회의 최적 해제 동작 횟수가 선택되면 300MB/30회의 해제 단위로 할당해제를 수행한다.
도 4는 본 발명의 일 실시예에 따른 고정형 해제 단위와 가변형 해제 단위를 도시한다.
도 4를 참조하면, 메모리 할당을 해제할 때 시스템의 CPU 성능과 무관하게 해제 단위가 고정되는 경우와 CPU 성능을 고려하여 해제 단위가 조절되는 경우의 차이점을 알 수 있다. 예를 들어, 할당된 100MB를 해제하는 경우, 고정형 해제 단위를 사용하면 8page 단위로 3,328회에 걸쳐서 해제 동작이 수행된다. 그러나 가변형 해제 단위를 사용하면 CPU의 성능을 고려하여 가장 빠른 사용자 응답 속도를 얻을 수 있는 해제 단위인 1,024page가 얻어지고 얻어진 1,024page 단위로 26회에 걸쳐서 해제 동작이 수행되는 것이 가능하다. 즉 시스템의 종류 또는 CPU의 성능에 따라 100MB를 해제할 때 8page 단위로 3,328회 걸쳐서 해제하는 경우와 1,024page 단위로 26회에 걸쳐서 해제하는 경우 사용자 응답 시간이 다를 수 있다. 이 때 해제 단위를 어떤 특정한 값으로 고정하지 않고 가장 빠른 사용자 응답 시간을 얻을 수 있는 값으로 조절해서 해제 동작을 수행하면 메모리 할당 해제 동작에 따른 사용자 대기 시간을 줄일 수 있게 되는 것이다.
도 5는 본 발명의 일 실시예에 따른 메모리 관리 방법을 도시한다.
도 1, 도 3 및 도 5를 참조하여 본 실시예에 따른 메모리 관리 방법을 설명하면 다음과 같다.
먼저 메모리(101)를 할당한다(501). 예컨대, 전자 장치(100)가 디지털 캠코더인 경우 메모리 할당부(301)가 저장된 영상 데이터를 재생하기 위한 재생 모드에 응답하여 메모리(101)의 특정 영역을 할당하는 것이 가능하다.
이어서 메모리(101)의 할당 해제에 따라 시스템의 성능 및/또는 사용자의 응답 시간을 고려한 해제 단위를 획득한다(502). 예컨대, 해제 단위 산출부(302)가 수학식 1과 같이 해제 단위를 획득하는 것이 가능하다.
해제 단위가 획득되면, 획득된 해제 단위에 기초하여 메모리(101)의 할당을 해제한다. 예컨대, 전자 장치(100)가 디지털 캠코더인 경우 메모리 해제부(303)가 영상 데이터를 기록하기 위한 기록 모드에 응답하여 재생 모드에서 할당되었던 메모리(101)의 특정 영역을 해제하는 것이 가능하다.
도 6은 본 발명의 일 실시예에 따른 해제 단위 획득 방법을 도시한다.
도 3 및 도 6을 참조하면, 해제 단위를 얻기 위하여, 먼저 해제 동작 횟수 별로 사용자 응답 시간을 측정한다(601). 예컨대, 해제 단위 산출부(302)가 사전에 정의된 해제 동작 횟수를 기준으로 각 횟수 별 사용자 응답 시간을 측정하는 것이 가능하다.
그리고 최적 해제 동작 횟수를 결정한다(602). 예컨대, 해제 단위 산출부(302)가 측정된 사용자 응답 시간을 이용하여 최소 응답 시간에 대응되는 해제 동작 횟수를 선택하는 것이 가능하다.
그리고 할당된 메모리 영역의 크기를 최적 해제 동작 횟수로 나누어서 해제 단위를 획득한다(603). 예컨대, 해제 단위 산출부(302)가 수학식 1과 같이 해제 단위를 계산하는 것이 가능하다.
한편, 본 실시예에 따른 메모리 관리 장치 및 방법은 어떤 시스템의 운영체제 중 일부로 구현될 수도 있다. 운영체제는 응용 프로그램으로부터 시스템콜이 호출되거나, 하드웨어로부터 인터럽트가 발생되었을 경우에만 동작한다. 예를 들어, 본 실시예에 따른 운영체제가 라이브러리 함수 mmap & munmap 를 호출해서 메모리를 할당하고 해제하는 작업을 수행하는 경우, 응용 프로그램은 라이브러리 내에 존재하는 라이브러리 함수 mmap을 호출한다. 라이브러리 함수 mmap는 그안에서 mmap시스템콜을 호출한다. mmap시스템콜은 보통함수처럼 보이지만 아키텍처 의존적으로 해당 인스터력션을 실행하고 강제적으로 인터럽트를 발생시킨다. 이렇게 함으로써 운영체제 내의 기능을 호출하게 된다. 운영체제는 mmap시스템콜 처리를 시작한다. mmap시스템콜은 가상 파일시스템기능에서 실행이 된다. Filesystem는 대상이 되는 파일의 데이터가 어느 디바이스의 어느 블록에 배치되어 있는 지를 알아내고, 그 디바이스를 제어할 블록 디바이스 드라이버에 읽기를 요청한다. 블록형 디바이스 드라이버는 읽기 요청에 따라 하드웨어를 제어한다. 하드웨어은 I/O요청에 따라 디바이스 블록상의 데이터를 운영체제내의 캐시 영역에 전송한다. 전송이 완료되면, 하드웨어 인터럽트라고 하는 형태로 운영체제에 통지한다. 파일시스템은 운영체제내의 캐시 영역으로부터 라이브러리 함수 mmap이 관리하고 있는 버퍼 내의 데이터를 복사한다. 이것으로 운영체제의 mmap 시스템콜 처리가 끝난다.
또한 본 발명의 실시 예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상에서 본 발명의 실시를 위한 구체적인 예를 살펴보았다. 전술한 실시 예들은 본 발명을 예시적으로 설명하기 위한 것으로 본 발명의 권리범위가 특정 실시 예에 한정되지 아니할 것이다.
Claims (15)
- 메모리를 할당하는 메모리 할당부;
시스템의 성능과 해제 동작 횟수 별로 측정된 사용자 응답 시간을 함께 고려하여, 할당된 메모리의 해제에 관한 해제 단위를 획득하는 해제 단위 산출부; 및
상기 획득된 해제 단위에 기초하여 할당된 메모리를 해제하는 메모리 해제부; 를 포함하는 메모리 관리 장치.
- 제 1 항에 있어서, 상기 메모리 할당부는
상기 시스템의 제 1 모드에 응답하여, 상기 시스템 상의 프로세스에 상기 메모리의 일부 영역을 할당하는 메모리 관리 장치.
- 제 2 항에 있어서,
상기 시스템은 디지털 카메라 및 디지털 카메라가 탑재된 휴대용 기기 중 적어도 하나를 포함하며, 상기 제 1 모드는 상기 시스템에 저장된 데이터를 재생하기 위한 재생모드로 정의되는 메모리 관리 장치.
- 제 1 항에 있어서, 상기 메모리 해제부는
상기 시스템의 제 2 모드에 응답하여, 상기 시스템 상의 프로세스에 할당된 메모리의 일부 영역을 상기 획득된 해제 단위로 해제하여 상기 시스템에 반환하는 메모리 관리 장치.
- 제 4 항에 있어서,
상기 시스템은 디지털 카메라 및 디지털 카메라가 탑재된 휴대용 기기 중 적어도 하나를 포함하며, 상기 제 2 모드는 상기 시스템에 데이터를 기록하기 위한 기록모드로 정의되는 메모리 관리 장치.
- 제 1 항에 있어서, 상기 해제 단위 산출부는
상기 시스템의 성능에 따라, 할당된 메모리를 해제하기 위한 해제 동작의 횟수 별로 측정된 사용자 응답 속도 중 최소의 사용자 응답 시간을 갖는 최적 해제 동작 횟수를 획득하고, 할당된 메모리의 크기를 획득된 최적 해제 동작 횟수로 나누어서 상기 해제 단위를 획득하는 메모리 관리 장치.
- 제 1 항에 있어서, 상기 해제 단위는
할당된 메모리를 해제할 때의 해제 동작의 기본 단위로 정의되며, 적어도 1 이상의 페이지를 포함하는 메모리 관리 장치.
- 메모리를 할당하는 단계;
시스템의 성능과 해제 동작 횟수 별로 측정된 사용자 응답 시간을 함께 고려하여, 할당된 메모리의 해제에 관한 해제 단위를 획득하는 단계; 및
상기 획득된 해제 단위에 기초하여 할당된 메모리를 해제하는 단계; 를 포함하는 메모리 관리 방법.
- 제 8 항에 있어서, 상기 할당하는 단계는
상기 시스템의 제 1 모드에 응답하여, 상기 시스템 상의 프로세스에 상기 메모리의 일부 영역을 할당하는 과정을 포함하는 메모리 관리 방법.
- 제 8 항에 있어서, 상기 해제 단위를 획득하는 단계는
상기 시스템의 성능에 따라, 할당된 메모리를 해제하기 위한 해제 동작의 횟수 별로 사용자 응답 속도를 측정하는 과정;
상기 측정된 사용자 응답 속도 중 최소의 사용자 응답 시간을 갖는 최적 해제 동작 횟수를 획득하는 과정; 및
상기 할당된 메모리의 크기를 상기 최적 해제 동작 횟수로 나누어서 상기 해제 단위를 획득하는 과정; 을 포함하는 메모리 관리 방법.
- 제 8 항에 있어서, 상기 해제하는 단계는
상기 시스템의 제 2 모드에 응답하여, 상기 시스템 상의 프로세스에 할당된 메모리의 일부 영역을 상기 획득된 해제 단위로 해제하여 상기 시스템에 반환하는 과정을 포함하는 메모리 관리 방법.
- 메모리; 및
상기 메모리의 할당 및 해제를 관리하는 메모리 관리자; 를 포함하며,
상기 메모리 관리자는 시스템의 성능과 해제 동작 횟수 별로 측정된 사용자 응답 시간을 함께 고려하여 상기 메모리의 해제 단위를 획득하고 획득된 해제 단위에 기초하여 할당된 메모리 영역을 해제하는 전자 장치.
- 제 12 항에 있어서, 상기 전자 장치는
디지털 카메라 및 디지털 카메라가 탑재된 휴대용 기기 중 적어도 하나를 포함하는 전자 장치.
- 제 12 항에 있어서, 상기 메모리 관리자는
상기 전자 장치에 기록된 데이터를 재생하기 위한 재생모드에 응답하여 상기 메모리의 일부분을 상기 전자 장치 상의 프로세스에 할당하고,
상기 전자 장치에 데이터를 기록하기 위한 기록모드에 응답하여 상기 할당된 메모리의 일부분을 상기 해제 단위에 기초하여 해제하는 전자 장치.
- 제 12 항에 있어서, 상기 메모리 관리자는
상기 전자 장치의 CPU 성능에 따라, 할당된 메모리를 해제하기 위한 해제 동작의 횟수 별로 측정된 사용자 응답 속도 중 최소의 사용자 응답 시간을 갖는 최적 해제 동작 횟수를 획득하고, 할당된 메모리의 크기를 획득된 최적 해제 동작 횟수로 나누어서 상기 해제 단위를 획득하는 전자 장치.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100045589A KR101467514B1 (ko) | 2010-05-14 | 2010-05-14 | 사용자 응답 시간을 고려한 메모리 관리 장치 및 방법 |
JP2011104862A JP5868611B2 (ja) | 2010-05-14 | 2011-05-10 | ユーザ応答時間を考慮したメモリ管理装置及び方法 |
EP11165602.1A EP2386957B1 (en) | 2010-05-14 | 2011-05-11 | Apparatus and method for managing memory in consideration of user response time |
CN201110123485.XA CN102298553B (zh) | 2010-05-14 | 2011-05-13 | 根据用户响应时间来管理存储器的设备和方法 |
US13/107,551 US9223689B2 (en) | 2010-05-14 | 2011-05-13 | Apparatus and method for managing memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100045589A KR101467514B1 (ko) | 2010-05-14 | 2010-05-14 | 사용자 응답 시간을 고려한 메모리 관리 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110125937A KR20110125937A (ko) | 2011-11-22 |
KR101467514B1 true KR101467514B1 (ko) | 2014-12-01 |
Family
ID=44508682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100045589A KR101467514B1 (ko) | 2010-05-14 | 2010-05-14 | 사용자 응답 시간을 고려한 메모리 관리 장치 및 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9223689B2 (ko) |
EP (1) | EP2386957B1 (ko) |
JP (1) | JP5868611B2 (ko) |
KR (1) | KR101467514B1 (ko) |
CN (1) | CN102298553B (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6369286B2 (ja) * | 2014-10-23 | 2018-08-08 | 富士通株式会社 | プロセス間通信プログラム、解放要求方法、および並列演算装置 |
US11689472B2 (en) | 2021-07-09 | 2023-06-27 | International Business Machines Corporation | Dynamic allocation of computing resources |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030071299A (ko) * | 2002-02-28 | 2003-09-03 | 주식회사 엘지이아이 | 메모리 관리 장치 |
WO2009098547A1 (en) * | 2008-02-08 | 2009-08-13 | Freescale Semiconductor, Inc. | Memory management |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05108462A (ja) * | 1991-10-21 | 1993-04-30 | Hokuriku Nippon Denki Software Kk | 表形式エデイタにおける動的メモリの中間制御方式 |
KR20000002901A (ko) | 1998-06-24 | 2000-01-15 | 윤종용 | 메모리 통계를 가지는 메모리 관리 방법 |
RU2257609C2 (ru) * | 1999-10-21 | 2005-07-27 | Мацусита Электрик Индастриал Ко., Лтд. | Устройство доступа к полупроводниковой карте памяти, компьютерно-считываемый носитель записи, способ инициализации и полупроводниковая карта памяти |
JP2001154860A (ja) * | 1999-11-29 | 2001-06-08 | Nec Corp | オペレーティングシステムのメモリ管理方法 |
US6658652B1 (en) * | 2000-06-08 | 2003-12-02 | International Business Machines Corporation | Method and system for shadow heap memory leak detection and other heap analysis in an object-oriented environment during real-time trace processing |
KR100369799B1 (ko) | 2000-12-30 | 2003-01-30 | 삼성전자 주식회사 | 엠베드 시스템의 동적 메모리 관리방법 및 장치 |
JP2006074391A (ja) * | 2004-09-01 | 2006-03-16 | Canon Inc | ファイル記録方法および記録装置 |
KR100758282B1 (ko) | 2004-12-04 | 2007-09-12 | 한국전자통신연구원 | 비트맵 메모리를 이용한 메모리 관리 장치 및 그 방법 |
KR20070092715A (ko) | 2005-01-05 | 2007-09-13 | 톰슨 라이센싱 | 파일의 콘텐츠를 관리하는 장치 및 방법 |
KR20070074916A (ko) | 2006-01-11 | 2007-07-18 | 주식회사 팬택 | 효율적으로 동적 메모리를 할당하는 통신 단말기 및 상기통신 단말기의 동작 방법 |
KR100622114B1 (ko) * | 2006-02-24 | 2006-09-18 | 주식회사 퓨전소프트 | 임베디드 시스템에서의 효율적인 동적 메모리 관리방법 및그 시스템 |
US8099577B2 (en) * | 2007-03-20 | 2012-01-17 | Oracle International Corporation | Managing memory in a system that includes a shared memory area and a private memory area |
JP4415071B2 (ja) * | 2007-06-22 | 2010-02-17 | 富士通マイクロエレクトロニクス株式会社 | メモリ共有システム装置 |
US8082387B2 (en) | 2007-10-29 | 2011-12-20 | Micron Technology, Inc. | Methods, systems, and devices for management of a memory system |
JP5270924B2 (ja) * | 2008-01-30 | 2013-08-21 | 株式会社東芝 | 固定長メモリブロック管理装置及び固定長メモリブロック管理装置の制御方法 |
US20100030994A1 (en) * | 2008-08-01 | 2010-02-04 | Guzman Luis F | Methods, systems, and computer readable media for memory allocation and deallocation |
US20100229175A1 (en) * | 2009-03-05 | 2010-09-09 | International Business Machines Corporation | Moving Resources In a Computing Environment Having Multiple Logically-Partitioned Computer Systems |
-
2010
- 2010-05-14 KR KR1020100045589A patent/KR101467514B1/ko not_active IP Right Cessation
-
2011
- 2011-05-10 JP JP2011104862A patent/JP5868611B2/ja not_active Expired - Fee Related
- 2011-05-11 EP EP11165602.1A patent/EP2386957B1/en not_active Not-in-force
- 2011-05-13 CN CN201110123485.XA patent/CN102298553B/zh not_active Expired - Fee Related
- 2011-05-13 US US13/107,551 patent/US9223689B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030071299A (ko) * | 2002-02-28 | 2003-09-03 | 주식회사 엘지이아이 | 메모리 관리 장치 |
WO2009098547A1 (en) * | 2008-02-08 | 2009-08-13 | Freescale Semiconductor, Inc. | Memory management |
Also Published As
Publication number | Publication date |
---|---|
EP2386957B1 (en) | 2016-04-27 |
US20110283080A1 (en) | 2011-11-17 |
JP5868611B2 (ja) | 2016-02-24 |
CN102298553A (zh) | 2011-12-28 |
JP2011243196A (ja) | 2011-12-01 |
KR20110125937A (ko) | 2011-11-22 |
EP2386957A1 (en) | 2011-11-16 |
CN102298553B (zh) | 2016-05-04 |
US9223689B2 (en) | 2015-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2015169145A1 (zh) | 内存管理方法和设备 | |
US8954652B2 (en) | Method and controller for identifying a unit in a solid state memory device for writing data to | |
JP5827403B2 (ja) | メモリタイプ間でデータを移動させるための技術 | |
JP2007026094A (ja) | 実行装置およびアプリケーションプログラム | |
KR20110050457A (ko) | 플래시 메모리 저장 장치에서 동적 메모리 할당에 의해 일어나는 자기 축출을 회피하는 방법 | |
JP2006513493A (ja) | フリーバッファプールを使用することによるメモリの管理 | |
JP2005353070A5 (ko) | ||
US20160026399A1 (en) | Block i/o interface for a host bus adapter that utilizes nvdram | |
US20160019031A1 (en) | Method and system for processing memory | |
US10664393B2 (en) | Storage control apparatus for managing pages of cache and computer-readable storage medium storing program | |
JP2006338201A (ja) | 論理ボリューム管理装置、論理ボリューム管理方法およびプログラム | |
WO2011121870A1 (ja) | データ記録装置、及びデータ記録方法 | |
KR101467514B1 (ko) | 사용자 응답 시간을 고려한 메모리 관리 장치 및 방법 | |
JP6311365B2 (ja) | 記憶領域管理装置、記憶領域管理方法及び記憶領域管理プログラム | |
US8868800B2 (en) | Accelerator buffer access | |
JP5158576B2 (ja) | 入出力制御システム、入出力制御方法、及び、入出力制御プログラム | |
US9058113B2 (en) | Storage region providing device, storage region providing method, and recording medium | |
US20120226861A1 (en) | Storage controller and method of controlling storage controller | |
CN111444113B (zh) | 非易失性存储介质共享方法、装置、电子设备及存储设备 | |
US10496318B1 (en) | System and method for capacity management in multi-tiered storage | |
JP4792065B2 (ja) | データ記憶方法 | |
US7757053B2 (en) | Apparatus and method for managing stacks for efficient memory usage | |
JP2006277530A (ja) | 割当システム、割当装置、割当方法及びそのプログラム | |
JP2005166073A (ja) | 記憶装置の制御装置および制御方法 | |
JP2003248620A (ja) | 動的メモリ管理方法及び動的メモリ管理情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20171030 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |