KR101376268B1 - 단말기의 메모리 할당 장치 및 방법 - Google Patents

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

Info

Publication number
KR101376268B1
KR101376268B1 KR1020060099671A KR20060099671A KR101376268B1 KR 101376268 B1 KR101376268 B1 KR 101376268B1 KR 1020060099671 A KR1020060099671 A KR 1020060099671A KR 20060099671 A KR20060099671 A KR 20060099671A KR 101376268 B1 KR101376268 B1 KR 101376268B1
Authority
KR
South Korea
Prior art keywords
memory
block
page
program
order
Prior art date
Application number
KR1020060099671A
Other languages
English (en)
Other versions
KR20080033690A (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 KR1020060099671A priority Critical patent/KR101376268B1/ko
Priority to PCT/KR2007/004933 priority patent/WO2008044865A1/en
Publication of KR20080033690A publication Critical patent/KR20080033690A/ko
Application granted granted Critical
Publication of KR101376268B1 publication Critical patent/KR101376268B1/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
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Memory System (AREA)

Abstract

본 발명은 단말기의 프로그램이 요청하는 메모리 크기를 단편화 발생이 적은 상태로 신속하게 할당 및 회수하는 것으로, 단말기의 제어부에 의하여 응용 프로그램이 구동되는 경우, 데이터 기록에 필요한 메모리 크기를 확인하는 과정; 제어부에 의하여 메모리 할당자를 제어하고, 상기 확인되어 요청된 크기의 메모리가 있는 페이지를 검색하고, 상기 검색된 페이지를 할당하는 제 1 할당 과정; 할당된 페이지에 구성되는 하나의 여백블록 크기가 상기 확인되어 요청된 크기가 아닌 경우, 다른 페이지를 할당하는 제 2 할당 과정; 할당된 페이지를 구성하는 여백블록을 할당하여 데이터를 기록하고 프로그램의 구동이 완료되면 할당된 블록을 반환한 후에 할당된 페이지를 반환하는 과정; 이 포함되는 구성을 특징 등으로 하여, 각 프로그램이 요청하는 메모리 크기를 신속하게 할당하고, 할당 및 회수의 반복에 의하여 단편화가 발생되지 않아 한정된 메모리를 효율적으로 운용하는 효과가 있다.
이동통신, 메모리, 할당, 회수, 청크

Description

단말기의 메모리 할당 장치 및 방법{DEVICE AND METHOD OF MEMORY ALLOCATION WITH 2 STAGE FOR MOBILE PHONE}
도 1 은 종래 기술의 일예에 의한 메모리 할당방식 설명도,
도 2 는 종래 기술의 일예에 의한 메모리 할당방식 설명도,
도 3 은 본 발명에 의한 단말기의 메모리 할당장치 기능 구성도,
도 4 는 본 발명에 의한 단말기의 메모리 할당 상태 설명도,
도 5 는 본 발명 단말기의 메모리 할당자에 의한 메모리 할당방법 순서도,
도 6 은 본 발명 단말기의 제어부에 의한 메모리 할당방법 순서도.
**도면의 주요부분에 대한 부호의 설명**
100 : 메모리부 110 : 메모리 할당자
112 : 블록관리부 114 : 페이지관리부
120 : 제어부
본 발명은 단말기의 프로그램이 요청하는 메모리 크기를 단편화 발생이 적은 상태로 신속하게 할당 및 회수하는 것으로, 특히, 메모리를 2 단계로 구분 할당하므로, 신속하게 할당하고, 반복 재할당에 의하여 단편화가 발생하지 않는 단말기의 메모리 할당 장치 및 방법에 관한 것이다.
이동통신용 단말기는, 기지국이 형성하는 서비스 영역 안에서 무선접속하여 자유롭게 이동하면서 언제 어디서나 원하는 상대방과 즉시 통신하는 장비이다.
이러한 단말기는 사용자에 의하여 항상 휴대되고 이동하므로, 일반적으로 부피가 작은 소형이며 가볍게 제작되고, 메모리 등이 포함되는 자원(RESOURCE)을 많이 구성할 수 없는 특수성이 있다.
단말기에 구비되는 메모리에는 프로세서(CPU)에 의하여 이용되는 것으로, 비휘발성(NON VOLATILE)의 롬과 휘발성(VOLATILE)의 램이 포함된다.
비휘발성 메모리는 단말기 운용에 기본적으로 필요한 데이터 또는 프로그램을 한번 기록하면, 동작전원의 공급이 차단되어도 지워지지 않도록 반영구적으로 기록한다.
휘발성 메모리는 단말기 운용 중에 일시적으로 필요한 프로그램 및 데이터 등을 기록하는 것으로, 동작전원이 차단되면 기록된 데이터 내용이 삭제되며, 힙(HEAP) 메모리로 불리는 공용 메모리이고, 시스템 운용에 필수적인 프로그램을 위한 영역과, 응용 프로그램을 위한 영역으로 구분된다.
이러한 힙 메모리는 프로세서가 할당받아 사용하고, 사용이 완료되면 반환하여 재사용하므로, 한정된 메모리 용량을 다수의 프로그램이 효율적으로 공동 사용 하게 된다.
이와 같이 프로세서에 의하여 할당 요청되는 메모리 영역 또는 크기는, 해당 각 프로그램에 따라 필요한 크기가 다르게 되며, 사용이 완료된 메모리 용량은 가비지 컬렉션 프로그램에 의하여 회수되고, 회수된 메모리는, 다른 프로그램이 요구하는 경우에 재할당 된다.
이때, 회수된 메모리 크기가 요청된 메모리의 크기보다 작은 경우는, 재할당 되지 못하고, 요청된 크기보다 큰 경우는, 재할당하고 남은 메모리 영역이 발생하지만, 또 다른 프로그램이 재할당 요청한 크기보다 작게 되어, 재할당하기에 충분하지 못하게 되는 메모리의 단편화(FRAGMENTATION) 현상이 발생한다.
즉, 단편화 현상에 의하여, 실제 메모리 전체의 물리적 영역 또는 크기 또는 공간은 남아 있지만, 프로그램이 활용할 수 없는 크기의 다수로 구분되므로, 프로그램이 요청하는 크기의 메모리를 할당하지 못하는 경우가 발생한다.
도 1을 참조하여, 종래 기술의 일예에 의한 메모리 할당방식을, 일예로 설명하면, 힙 메모리(10)의 전체 크기가 10 Mbyte이고, 다수의 응용 프로그램이 각각의 필요한 메모리 크기를 요구한다.
(a)에 도시한 바와 같이 3 Mbyte, 2 Mbyte, 3 Mbyte 크기가, 메모리 할당자(ALLOCATOR)에 의하여 각 응용 프로그램에 할당(ALLOCATION) 및 점유되므로, 데이터가 기록되고, 2 Mbyte가 대기 상태의 여백(FREE)으로 남는 것으로 가정한다.
이때, (b)에 도시된 것과 같이, 해당 응용 프로그램의 종료에 의하여 할당된 3 Mbyte와 2 Mbyte 메모리의 점유가 해제되어 반환되므로 대기상태가 된다.
또한, (c)에 도시된 것과 같이, 다른 응용 프로그램이 4 Mbyte 크기를 요구하여 메모리를 할당한 상태이고, 또 다른 응용 프로그램이 3 Mbyte 크기를 요구하는 경우, 메모리의 단편화에 의하여, 물리적으로는 남아 있으나, 메모리를 할당하지 못하게 된다.
이와 같이 한정된 메모리를 효율적으로 할당 및 재할당하기 위한 다양한 방식이 제시되고 있다.
메모리 자원이 제한되지 않는 경우, 큰 용량의 메모리를 할당하고, 절대 주소위치를 관리하는 방식이 있으나, 이동통신용 단말기에서는, 메모리 자원의 용량이 제한되므로, 큰 용량의 메모리 할당과 절대 주소위치를 확보하기 어려운 문제가 있다.
도 2 를 참조하여, 종래 기술의 다른 일예에 의한 메모리 할당방식을 설명하면, 메모리를 동일한 크기의 블록(BLOCK)으로 구분하고, 응용 프로그램의 요청에 의하여 베스트 피트 방식과, 워스트 피트 방식과, 퍼스트 피트 방식으로 할당한다.
(a)에서는, 메모리 전체 영역을 다수의 블록단위로 분할 및 구분하고, 응용 프로그램에 할당되어 점유되고 데이터가 기록되는 블록은 새도우(SHADOW) 상태로 도시되어 있다.
일예로, 다른 응용 프로그램이 블록 하나 크기의 메모리 영역을 할당 요청하는 경우를, 각 방식 별로 구분하여 설명한다.
베스트 피트(BEST FIT) 방식은, 할당자에 의하여 메모리(10)를 검색하므로, 데이터가 기록되지 않은 여백상태로 대기 중인 청크(CHUNK)를 검색하고, 블록 하나 크기의 대기 상태 청크(CHUNK) 메모리 영역을 찾아서 할당하는 방식으로 (b)에 도시되어 있다.
이러한 방식은, 메모리를 효율적으로 이용할 수 있으나, 할당에 비교적 많은 시간이 소요되는 문제가 있다.
워스트 피트(WORST FIT) 방식은, 할당자에 의하여 검색된 청크 메모리 중에서, 가장 용량이 큰 청크 메모리 영역을 할당하는 방식으로, (c)에 도시되어 있다.
이러한 방식은, 메모리 할당을 신속하게 할 수 있으나, 할당된 청크 메모리가 4 개의 블록으로 이루어지므로, 요청된 1 개 블록이 할당되고, 3 개 블록이 남게 되므로, 전체 운용시간(RUN-TIME)이 길어지는 경우, 단편화가 심각하게 커지는 문제가 있다.
퍼스트 피트(FIRST FIT) 방식은, 할당자에 의하여 검색된 첫 번째 순서의 청크 메모리를 할당하는 방식으로, (d)에 도시되어 있다.
이러한 방식에서도, 메모리 할당을 신속하게 할 수 있으나, 할당된 청크 메모리가 2 개의 블록으로 이루어지므로, 1 개 블록의 메모리가 할당되고 1개 블록이 단편화 되므로, 전체 운용시간(RUN-TIME)이 길어지는 경우, 단편화가 커지는 문제가 있다.
이동통신용 단말기가 운용되는 상태에서, 이러한 단편화 현상에 의하여 운용(OPERATION)되는 응용(APPLICATION) 프로그램에 필요한 메모리를 할당하지 못하 는 경우, 데드락(DEAD LOCK)이 발생하여 단말기가 운용되지 못하고 다운되는 문제가 있다.
이러한 문제는, 단말기 문제로 국한되는 것이 아니고, 사용자는 중요한 정보획득의 기회를 손실하게 되며, 단말기의 선호도 및 신뢰도가 떨어지고, 이동통신 시스템 사업자의 영업 손실과 관련이 있는 문제가 있다.
따라서 단말기의 한정된 메모리를 이용하여, 단편화 현상이 발생되지 않도록 하는 기술을 개발할 필요가 있다.
본 발명은 이동통신용 단말기에 있어서, 힙 메모리를 2 단계로 분할하고, 프로세서의 요청에 의하여 할당 및 회수하므로, 프로세서는 점유된 메모리 영역이 분리되지 않고, 단편화가 발생되지 않는 단말기의 메모리 할당 장치 및 방법을 제공하는 것이 그 목적이다.
상기와 같은 목적을 제공하기 위하여 안출한 본 발명은, 단말기에 있어서, 제어부의 제어와 감시에 의하여 프로그램의 운용 데이터를 할당된 영역에 기록하고, 회수된 영역의 데이터를 지우는 메모리부; 메모리부의 영역을 다수의 페이지로 구분하고, 각 페이지를 다수의 블록으로 분할하며, 데이터가 기록된 할당블록과 기록되지 않은 여백블록으로 구분 관리하는 메모리 할당자; 메모리 할당자를 감시하고, 프로그램 요청에 의하여, 해당 크기의 여백블록이 남아 있는 페이지를 검색하여 할당하며, 할당된 페이지의 여백블록 영역에 상기 프로그램의 데이터를 기록하 는 제어부; 가 포함되는 구성을 제시한다.
또한, 상기와 같은 목적을 제공하기 위하여 안출한 본 발명은, 메모리 할당자에 의하여 메모리부를 관리하는 경우 소정 단위 크기의 페이지로 분할 구분하는 과정; 메모리 할당자에 의하여 각 페이지를 다수 블록으로 분할하고, 데이터가 기록된 할당블록과 기록되지 않은 여백블록으로 관리하는 과정; 메모리 할당자는 제어부로부터 메모리 할당 요청이 있으면, 페이지 단위로 요청된 크기의 여백블록을 확인하고, 설정된 순서에 의하여 페이지를 할당하는 과정; 이 포함되는 구성을 제시한다.
또한, 상기와 같은 목적을 제공하기 위하여 안출한 본 발명은, 단말기의 제어부에 의하여 응용 프로그램이 구동되는 경우, 데이터 기록에 필요한 메모리 크기를 확인하는 과정; 제어부에 의하여 메모리 할당자를 제어하고, 상기 확인되어 요청된 크기의 메모리가 있는 페이지를 검색하고, 상기 검색된 페이지를 할당하는 제 1 할당 과정; 할당된 페이지에 구성되는 하나의 여백블록 크기가 상기 확인되어 요청된 크기가 아닌 경우, 다른 페이지를 할당하는 제 2 할당 과정; 할당된 페이지를 구성하는 여백블록을 할당하여 데이터를 기록하고 프로그램의 구동이 완료되면 할당된 블록을 반환한 후에 할당된 페이지를 반환하는 과정; 이 포함되는 구성을 제시한다.
이하, 상기와 같은 구성의 본 발명에 의한 것으로, 단말기의 메모리 할당 장 치 및 방법을 첨부된 도면을 참조하여 상세히 설명한다.
본 발명을 설명하기 위하여 첨부된 것으로, 도 3 은 본 발명에 의한 단말기의 메모리 할당 장치 기능 구성도 이고, 도 4 는 본 발명에 의한 단말기의 메모리 할당 상태 설명도 이며, 도 5 는 본 발명에 의한 단말기의 메모리 할당자에 의한 메모리 할당방법 순서도 이고, 도 6 은 본 발명에 의한 단말기의 제어부에 의한 메모리 할당방법 순서도 이다.
본 발명의 실시 예를 설명함에 있어서, 본 발명과 직접적으로 관련 없고, 잘 알려져 있는 기술 내용에 대하여서는 설명을 생략하므로, 본 발명의 요지를 흐르지 않고 명확하게 전달한다.
도 3 을 참조하여, 본 발명에 의한 단말기의 메모리 할당 장치를 설명하면, 프로그램의 운용에 의하여 생성되는 데이터를 할당된 영역에 기록하는 메모리부(100); 메모리부의 영역을 다수의 페이지로 구분하고 다시 다수의 블록으로 구분하여 관리하는 메모리 할당자(110); 메모리 할당자를 제어하여 데이터를 기록할 여백이 있는 페이지의 블록에 데이터를 직접 기록하는 제어부(120)가 포함되는 구성이다.
이동통신용 단말기에 내장 구비되는 메모리부(100)는, 단말기의 이동성과 휴대성에 의하여 용량 또는 크기가 제한된다.
또한, 단말기는 통신이외에 다양한 부가서비스를 운용하기 위하여 다양한 응 용 프로그램이 동시 구동된다.
이러한 각 프로그램은 구동에 의하여 데이터를 생성하고, 프로그램의 원활한 구동을 위하여, 이와 같이 생성된 데이터 또는 파라미터 등의 필요한 데이터를 할당된 영역에 기록 및 관리하여야 한다.
그러므로 이와 같이 제한된 메모리부의 용량을 이용하여, 다수의 프로그램이 구동되면서 생성하거나, 또는 파라미터 등과 같이 구동에 필요한 데이터를 기록하여야 한다.
이와 같이 한정된 용량의 공동 메모리를 다수의 프로그램이 효율적으로 이용하기 위하여서는, 일정한 크기로 분할하여 신속하게 할당하고, 사용이 완료된 메모리는 반환에 의하여 회수 및 재할당하며, 이러한 과정에서 단편화 현상이 발생하여 이용할 수 없는 영역이 발생하지 않도록 하는 것이 본 발명의 기술이다.
이와 같이 메모리부(100)에 구비되는 메모리 용량은, 메모리 할당자(110)의 페이지 관리부(114)에 의하여, 설정된 소정 크기로 구분되어 분할 관리된다.
또한, 이와 같이 페이지 관리부(114)에 의하여 구분된 페이지 단위의 메모리를, 블록관리부(112)에 의하여 다수의 블록으로 구분하여 관리한다.
블록관리부(112)는, 이와 같이 관리되는 블록이, 데이터가 기록된 할당블록인지 또는 데이터가 기록되지 않은 여백블록인지를 관리한다.
제어부(120)는, 프로그램이 구동되는 경우, 필요한 메모리 크기를 확인하고, 메모리 할당자(110)를 제어하여, 이와 같이 확인된 메모리 크기가 확보된 페이지 단위의 메모리를 검색한다.
이와 같이 검색된 페이지 단위의 메모리 영역은 다수가 될 수 있고, 각 프로그램은 구동되면서, 활용상태 또는 성격이 다른 데이터를 각각 구분하여 따로 기록할 필요가 있다.
이와 같은 데이터는, 프로그램이 구동되어 운용되면서 생성한 데이터와, 프로그램 구동에 필요한 파라미터 등이 포함된다.
이때, 페이지 관리부(114)는 블록관리부(112)를 제어하여, 제어부(120)가 검색 요청한 크기의 메모리 용량이 여백블록으로 남아 있는지를 확인하고, 이와 같은 확인에서 검색된 모든 페이지 단위를 소정의 설정된 순서에 의하여 정렬하여 제어부에 제공한다.
이와 같이 검색된 페이지를 정렬하는 순서는, 일예로, 전체 여백 용량의 크기가 큰 순서, 크기가 작은 순서, 반환되어 회수된 순서, 최종 사용된 순서, 관리되는 주소가 빠른 순서 등등과 같이, 여러 가지 방식이 있으며, 본 발명의 설명에서는, 어느 한 가지 방식에 제한받지 않는 것으로 한다.
제어부(120)는, 검색된 페이지 단위의 메모리를 설정된 소정 순서에 의하여 할당받고, 할당받은 페이지 단위에 구성되는 각 여백블록을 확인하여, 일렬순서로 구성되고 하나의 블록으로 관리할 수 있는지를 확인한다.
제어부(120)에 의하여, 이러한 확인에서 하나의 블록으로 관리할 수 없는 것으로 확인되면, 순서에 의한 다른 페이지를 할당하고, 블록의 크기를 다시 확인하는 과정을 반복하므로, 필요한 여백블록이 하나로 관리되도록 한다.
이와 같이 할당된 해당 페이지에 구비되는 블록은, 프로그램의 구동에 필요 한 파라미터 등의 운용 데이터와 생성된 데이터 등을 기록 및 갱신한다.
또한, 하나의 프로그램이 구분 관리하여야할 데이터가 있는 경우, 상기 제어부는, 가능한 동일한 프로그램에 할당되고 점유된 페이지를, 다시 할당하므로, 관리가 간편하도록 한다.
이러한 프로그램의 구동이 완료되면, 제어부(120)의 제어와 감시에 의하여, 할당받은 여백블록을 반환하고, 모든 여백블록의 반환이 완료되면, 해당 페이지를 반환한다.
이와 같은 본 발명은, 메모리를 페이지 단위와, 블록 단위의 2 단계로 구분하고, 할당하는 경우에도 페이지를 먼저 할당하고, 다시 블록 단위로 할당하며, 반환에 의하여 회수하는 경우에도, 블록을 먼저 회수하고, 해당 페이지의 블록 단위가 모두 회수된 경우에 해당 페이지를 회수한다.
따라서 메모리의 할당이 신속하고 관리가 간편하며, RUN-TIME이 길어지는 경우에도 메모리에 단편화가 발생하지 않는 등의 장점이 있다.
도 4를 참조하여, 본 발명에 의한 단말기의 메모리 할당 상태를 설명하면, 메모리부(100)를 메모리 할당자의 페이지 관리부에 의하여, 소정의 크기로 1 페이지부터 순서대로 구분 분할하여 관리한다.
일실시 예로, 제1 프로그램이 구동되면서, 이미 1번, 2번, 7번, 9번 페이지를 할당받아 점유 및 사용 중이고, 제2 프로그램이 구동되면서, 3번, 4번, 6번, 8번의 페이지를 점유하여 사용 중이다.
이때, 제 1 프로그램과 제 2 프로그램이 구분하여 관리하여야 할 데이터를 각각 생성하였고, 할당을 위하여 메모리를 요청한다.
이러한 제어부(120)는, 제1 프로그램이 점유한 1번, 2번, 7번 페이지를 검색하고, 할당을 요청한 크기의 메모리가 없으므로, 마지막 9번 페이지를 검색하며, 9번 페이지에, 요청한 크기의 메모리 크기가 있음을 확인하여, 할당하는 상태가 도시되어 있다.
또한, 제 2 프로그램의 경우는, 3번, 4번, 6번 페이지를 검색하여, 요청된 크기의 여백블록이 없고, 8번 페이지를 검색하여, 마지막 블록이 요청된 크기의 여백블록으로 확인되고 할당된 상태가 도시되어 있다.
도 5를 참조하면, 본 발명의 메모리 할당자에 의한 메모리 할당방법은, 메모리 할당자에 의하여 메모리를 관리하는 경우 페이지 단위로 구분하는 과정; 페이지를 블록 단위로 구분하고, 데이터 기록 상태를 관리하는 과정; 할당 요청 크기가 있는 페이지를 설정된 순서에 의하여 할당하는 과정; 으로 구성된다.
도 5와 도 3을 참조하여, 본 발명의 메모리 할당자에 의한 메모리 할당방법을 상세히 설명하면, 메모리 할당자(110)는 제어부(120)의 제어와 감시에 의하여, 메모리부(100)를 관리하는 경우(S100), 메모리부(100)에 구비되는 메모리 용량을 설정된 소정 단위의 크기로 구분하여, 각각을 페이지 단위로 할당 및 관리한다(S110).
이와 같이 구분된 메모리부(100)의 페이지 단위는, 메모리 할당자(110)의 블록관리부(112)에 의하여, 소정 크기의 다수 블록으로 분할되고, 각 블록은 유효한 데이터가 기록된 상태인지를 관리한다(S120).
이러한 메모리 할당자(110)는, 제어부(120)로부터 구동되는 프로그램이 필요로 하는 메모리의 할당을 요청하는지 확인하고(S130), 이러한 확인에서 메모리를 할당하여야 하는 경우, 페이지 단위의 메모리 영역을 검색하여, 프로그램이 요청하는 크기의 여백블록이 있는지를 확인한다(S140).
이와 같이 확인된 페이지 중에서 요청된 크기의 여백블록이 있는 페이지를 설정된 순서에 의하여, 프로그램에 할당하므로(S150), 해당 여백블록에 데이터가 기록된다.
따라서 프로그램이 요청하는 크기의 메모리를 페이지 단위로 검색하므로, 검색이 빠르고, 할당이 신속하게 되는 장점이 있다.
도 6을 참조하여, 본 발명에 의한 단말기의 제어부에 의한 메모리 할당방법을 설명하면, 제어부에 의하여 구동된 프로그램이 필요로 하는 메모리 크기를 확인하는 과정; 메모리부를 검색하여 해당 여백이 있는 페이지 단위로 할당받는 과정; 여백이 요청된 크기가 아니면 다른 페이지를 할당하는 과정; 할당된 페이지의 여백블록에 데이터를 기록하고 프로그램의 구동이 완료되면 페이지를 반환하는 과정; 으로 구성된다.
도 6과 도 3을 참조하여, 본 발명의 제어부에 의한 메모리 할당방법을 상세 히 설명하면, 단말기의 제어부(120)에 의하여 응용(APPLICATION) 프로그램이 구동되는지를 확인한다(S200).
이와 같은 제어부(120)에 의하여 응용 프로그램이 구동되는 것으로 확인되면, 프로그램이 필요로 하는 데이터 저장용 메모리의 크기 또는 용량이 얼마 인지를 확인한다(S210).
필요한 메모리의 크기를 확인한 제어부(120)는, 메모리 할당자(110)를 제어하여, 이와 같이 확인된 크기의 여백블록이 있는 페이지를 검색하고(S220), 이와 같이 검색된 페이지를 설정된 소정의 순서로 정렬하여, 선택된 페이지를 프로그램에 할당한다(S230).
제어부(120)는, 프로그램에 할당된 메모리 페이지의 여백블록 크기를 분석하므로, 할당에 필요하게 요청된 크기 인지를 확인한다(S240).
이러한 확인에서 요청된 메모리 크기가 하나의 일관된 여백블록으로 구성되지 않은 것으로 분석 및 확인되면, 검색된 페이지의 설정된 순서에 의하여 다음 순서의 페이지 또는 다른 페이지를 다시 할당하고(S250), 여백블록이 요청된 크기로 일관된 크기 인지를 다시 확인한다(S240).
이러한 확인에서, 할당된 페이지에 구비되는 여백블록이 프로그램이 필요로 하는 크기로 일관된 여백블록으로 구성되어 있으면, 해당 여백블록을 구동된 프로그램에 할당하고, 구동된 프로그램은 필요한 파라미터 및 데이터와 생성된 데이터 등을 기록한다(S260).
제어부(120)는 구동되어 운용중인 프로그램의 구동이 완료된 것으로 확인되 면(S270), 데이터를 기록을 위하여 할당받은 블록을 반환하고, 이러한 반환에 의하여 회수된 블록의 데이터를 지운다.
이와 같은 제어부(120)는, 해당 페이지를 구성하는 모든 블록이 반환되었는지 확인하고, 모든 블록이 반환된 경우, 해당 페이지를 반환한다(S280).
따라서 단말기의 RUN-TIME이 길어지고, 다수의 프로그램이 운용되는 상태에서, 메모리의 할당 및 회수가 반복되어도, 단편화가 발생하지 않으므로, 제한된 메모리를 보다 효율적으로 활용하는 장점이 있다.
이상과 같은 실시 예로 본 발명을 설명하였으나, 본 발명은 반드시 이러한 실시 예에 국한되는 것이 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다. 따라서 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 한다.
상기와 같은 구성의 본 발명은, 메모리 자원이 제한적으로 구비되는 단말기에서 각 프로그램이 요청하는 메모리 크기를 신속하게 할당하여 신뢰성을 높이는 사용상 편리한 효과가 있다.
또한, 단말기의 RUN-TIME이 길어지면서 메모리 할당 및 회수의 반복에 의하여 발생하는 단편화가 발생되지 않아 한정된 메모리를 효율적으로 운용하는 산업적 이용효과가 있다.

Claims (15)

  1. 제어부의 제어에 의하여 프로그램의 데이터를 할당된 영역에 기록하고, 반환된 영역의 데이터를 지우는 메모리부;
    상기 메모리부의 영역을 다수의 페이지로 구분하고, 상기 페이지를 다수의 블록으로 분할하며, 상기 블록을 데이터가 기록된 할당블록 및 데이터가 기록되지 않은 여백블록으로 관리하는 메모리 할당자;
    상기 메모리 할당자를 감시하고, 프로그램의 요청에 대응되는 크기의 여백블록이 남아 있는 페이지를 기 설정된 소정 순서에 의하여 선택하여 할당하며, 상기 할당된 페이지의 여백블록 영역에 상기 프로그램의 데이터를 기록하는 제어부;를 포함하되,
    상기 소정 순서는
    반환되어 회수된 순서, 최종 사용된 순서 및 관리되는 주소가 빠른 순서 중 적어도 하나 이상을 기반으로 설정되는 것을 특징으로 하는 단말기의 메모리 할당 장치.
  2. 제 1 항에 있어서, 상기 메모리 할당자는,
    상기 메모리부의 영역을 소정 단위 크기의 페이지로 구분하고, 상기 페이지에 데이터가 기록될 수 있는 영역이 남아 있는지를 감시하는 페이지 관리부;
    상기 페이지를 다수의 블록으로 분할하고, 상기 블록을 데이터가 기록된 할당블록 및 데이터가 기록되지 않은 여백블록으로 관리하는 블록관리부;를 포함하는 것을 특징으로 하는 단말기의 메모리 할당 장치.
  3. 삭제
  4. 제 1 항에 있어서, 상기 제어부는,
    상기 선택된 페이지에 상기 프로그램의 요청에 대응되는 크기의 여백블록이 일렬순서로 구성된 하나의 블록으로 구비되지 않으면,
    상기 프로그램 요청에 대응되는 크기의 여백블록이 일렬순서로 구성된 하나의 블록으로 구비된 다른 페이지를 선택하여 할당하는 것을 특징으로 하는 단말기의 메모리 할당 장치.
  5. 삭제
  6. 삭제
  7. 메모리부의 영역을 소정 단위 크기의 페이지로 구분하는 단계;
    상기 페이지를 다수의 블록으로 분할하고, 상기 블록을 데이터가 기록된 할당블록 및 데이터가 기록되지 않은 여백블록으로 관리하는 단계;
    프로그램의 메모리 할당 요청이 있으면, 상기 프로그램의 요청에 대응되는 크기의 여백블록을 상기 페이지 단위로 확인하고, 상기 프로그램의 요청에 대응되는 크기의 여백블록이 남아 있는 페이지를 기 설정된 순서에 의하여 선택하여 할당하는 단계;를 포함하되,
    상기 소정 순서는
    반환되어 회수된 순서, 최종 사용된 순서 및 관리되는 주소가 빠른 순서 중 적어도 하나 이상을 기반으로 설정되는 것을 특징으로 하는 단말기의 메모리 할당 방법.
  8. 삭제
  9. 삭제
  10. 프로그램의 요청에 대응되는 여백블록의 크기를 확인하는 단계;
    상기 프로그램의 요청에 대응되는 크기의 여백블록이 남아 있는 페이지를 기 설정된 소정 순서에 의하여 선택하는 제 1 할당 단계와,
    상기 소정 순서는 반환되어 회수된 순서, 최종 사용된 순서 및 관리되는 주소가 빠른 순서 중 적어도 하나 이상을 기반으로 설정되며,;
    상기 선택된 페이지에 상기 프로그램의 요청에 대응되는 크기의 여백블록이 일렬순서로 구성된 하나의 블록으로 구비되지 않으면,
    상기 프로그램의 요청에 대응되는 크기의 여백블록이 일렬순서로 구성된 하나의 블록으로 구비된 다른 페이지를 할당하는 제 2 할당 단계;
    상기 다른 페이지의 여백블록에 데이터를 기록하고 상기 프로그램의 구동이 완료되면, 상기 데이터가 기록된 블록을 반환한 후에 상기 할당된 페이지를 반환하는 단계;를 포함하는 것을 특징으로 하는 단말기의 메모리 할당 방법.
  11. 제 10 항에 있어서, 상기 제 1 할당단계는,
    상기 프로그램에 추가적으로 메모리를 할당하는 경우, 기 할당된 페이지를 가장 먼저 선택하는 것을 특징으로 하는 단말기의 메모리 할당 방법.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
KR1020060099671A 2006-10-13 2006-10-13 단말기의 메모리 할당 장치 및 방법 KR101376268B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060099671A KR101376268B1 (ko) 2006-10-13 2006-10-13 단말기의 메모리 할당 장치 및 방법
PCT/KR2007/004933 WO2008044865A1 (en) 2006-10-13 2007-10-10 Device and method for allocating memory of terminal device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060099671A KR101376268B1 (ko) 2006-10-13 2006-10-13 단말기의 메모리 할당 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20080033690A KR20080033690A (ko) 2008-04-17
KR101376268B1 true KR101376268B1 (ko) 2014-03-21

Family

ID=39283027

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060099671A KR101376268B1 (ko) 2006-10-13 2006-10-13 단말기의 메모리 할당 장치 및 방법

Country Status (2)

Country Link
KR (1) KR101376268B1 (ko)
WO (1) WO2008044865A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100937826B1 (ko) * 2008-07-14 2010-01-20 주식회사 엘지텔레콤 웹페이지 이미지 표시 시스템 및 방법
KR102402789B1 (ko) 2015-05-11 2022-05-27 삼성전자 주식회사 전자 장치 및 이의 메모리 할당 방법
US10733027B2 (en) 2018-10-07 2020-08-04 Hewlett Packard Enterprise Development Lp Memory allocator

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010039607A1 (en) * 1996-06-20 2001-11-08 Richard Goldstein Externally identifiable descriptor for standard memory allocation interface

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04319721A (ja) * 1991-04-19 1992-11-10 Hitachi Ltd 多項目入力端末装置の画面切替制御方法
JPH05207090A (ja) * 1992-01-30 1993-08-13 Hitachi Ltd 端末通信方式
JP2002032256A (ja) * 2000-07-19 2002-01-31 Matsushita Electric Ind Co Ltd 端末装置
JP2004192346A (ja) * 2002-12-11 2004-07-08 Seiko Epson Corp メモリ管理装置、プロキシサーバ、ブラウザ端末、メモリ管理プログラム、サーバ用プログラム、端末用プログラム及び監視プログラム、並びにメモリ管理方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010039607A1 (en) * 1996-06-20 2001-11-08 Richard Goldstein Externally identifiable descriptor for standard memory allocation interface

Also Published As

Publication number Publication date
WO2008044865A1 (en) 2008-04-17
KR20080033690A (ko) 2008-04-17

Similar Documents

Publication Publication Date Title
RU2661280C2 (ru) Контроллер массива, твердотельный диск и способ для управления твердотельным диском для записи данных
US10409526B2 (en) Adaptive garbage collection
KR101465789B1 (ko) 페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법
CN110781096A (zh) 用于通过预测需求时间来执行垃圾收集的设备和方法
KR102349999B1 (ko) 반도체 장치 및 그 동작 방법
US20130166828A1 (en) Data update apparatus and method for flash memory file system
KR20130096881A (ko) 플래시 메모리 장치
CN108475230B (zh) 一种存储系统和系统垃圾回收方法
CN104866428A (zh) 数据存取方法和数据存取装置
CN107817945B (zh) 一种混合内存结构的数据读取方法和系统
CN106598504B (zh) 数据存储方法及装置
KR20170065427A (ko) Ssd의 데이터 프로세싱 방법 및 장치
CN110389712B (zh) 数据写入方法及其装置、固态硬盘和计算机可读存储介质
KR101376268B1 (ko) 단말기의 메모리 할당 장치 및 방법
US8068363B2 (en) Flash memory apparatus and read operation control method therefor
US20060136668A1 (en) Allocating code objects between faster and slower memories
CN117215485A (zh) Zns ssd管理方法及数据写入方法、存储装置、控制器
CN110119245B (zh) 用于操作nand闪存物理空间以扩展存储器容量的方法和系统
KR101083683B1 (ko) 플래쉬 메모리 장치 및 및 이를 위한 리드동작 제어 방법
KR101950759B1 (ko) 저장 장치의 메모리 컨트롤러가 수행하는 가비지 컬렉션 방법 및 메모리 컨트롤러
CN112181276B (zh) 提升存储设备服务质量的大块构造、分配方法及其存储设备
CN111813708B (zh) 用于存储装置的块映射系统和方法
US10552086B2 (en) Global pool of garbage collection units (GCUs) in a shared non-volatile memory device
US20210191851A1 (en) System and method for facilitating reduction of latency and mitigation of write amplification in a multi-tenancy storage drive
KR101609304B1 (ko) 멀티칩 플래시 저장장치 및 그 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190226

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191216

Year of fee payment: 7