KR20080033690A - Device and method of memory allocation with 2 stage for mobile phone - Google Patents

Device and method of memory allocation with 2 stage for mobile phone Download PDF

Info

Publication number
KR20080033690A
KR20080033690A KR1020060099671A KR20060099671A KR20080033690A KR 20080033690 A KR20080033690 A KR 20080033690A KR 1020060099671 A KR1020060099671 A KR 1020060099671A KR 20060099671 A KR20060099671 A KR 20060099671A KR 20080033690 A KR20080033690 A KR 20080033690A
Authority
KR
South Korea
Prior art keywords
memory
page
allocated
data
block
Prior art date
Application number
KR1020060099671A
Other languages
Korean (ko)
Other versions
KR101376268B1 (en
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/en
Priority to PCT/KR2007/004933 priority patent/WO2008044865A1/en
Publication of KR20080033690A publication Critical patent/KR20080033690A/en
Application granted granted Critical
Publication of KR101376268B1 publication Critical patent/KR101376268B1/en

Links

Images

Classifications

    • 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
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • 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

An apparatus for allocating a memory in a terminal and a method for operating the apparatus are provided to allocate an area of a memory according to the request of a program promptly and prevent the fragmentation of the memory through repetition of allocation and recovery. A memory unit(100) records operation data of a program, which is driven by the control of a controller, in an allocated area, and deletes data in a returned area. A memory allocator(110) divides an area of the memory unit into plural pages and divides each of the pages into plural blocks. The memory allocator manages the blocks such that the blocks are sorted into allocated blocks where data are recorded and blank blocks where data are not recorded. A controller(120) controls the memory allocator. The controller searches for a page having a desired blank block by the request of the program, and records the data of the program in the desired blank block of the searched page.

Description

단말기의 메모리 할당 장치 및 방법{DEVICE AND METHOD OF MEMORY ALLOCATION WITH 2 STAGE FOR MOBILE PHONE}Device and method for allocating memory of terminal {DEVICE AND METHOD OF MEMORY ALLOCATION WITH 2 STAGE FOR MOBILE PHONE}

도 1 은 종래 기술의 일예에 의한 메모리 할당방식 설명도,1 is an explanatory diagram of a memory allocation method according to an example of the prior art;

도 2 는 종래 기술의 일예에 의한 메모리 할당방식 설명도, 2 is an explanatory diagram of a memory allocation method according to an example of the prior art;

도 3 은 본 발명에 의한 단말기의 메모리 할당장치 기능 구성도, 3 is a functional block diagram of a memory allocation device of a terminal according to the present invention;

도 4 는 본 발명에 의한 단말기의 메모리 할당 상태 설명도, 4 is an explanatory diagram of a memory allocation state of a terminal according to the present invention;

도 5 는 본 발명 단말기의 메모리 할당자에 의한 메모리 할당방법 순서도, 5 is a flowchart illustrating a memory allocation method by a memory allocator of a terminal of the present invention;

도 6 은 본 발명 단말기의 제어부에 의한 메모리 할당방법 순서도. 6 is a flowchart illustrating a memory allocation method by the controller of the present invention terminal.

**도면의 주요부분에 대한 부호의 설명**          ** Description of the symbols for the main parts of the drawings **

100 : 메모리부 110 : 메모리 할당자100: memory unit 110: memory allocator

112 : 블록관리부 114 : 페이지관리부112: block management unit 114: page management unit

120 : 제어부 120: control unit

본 발명은 단말기의 프로그램이 요청하는 메모리 크기를 단편화 발생이 적은 상태로 신속하게 할당 및 회수하는 것으로, 특히, 메모리를 2 단계로 구분 할당하므로, 신속하게 할당하고, 반복 재할당에 의하여 단편화가 발생하지 않는 단말기의 메모리 할당 장치 및 방법에 관한 것이다. The present invention quickly allocates and retrieves a memory size requested by a program of a terminal with less fragmentation. In particular, since the memory is divided into two stages, fragmentation occurs quickly by re-allocating. The present invention relates to a memory allocation apparatus and a method of a terminal which do not.

이동통신용 단말기는, 기지국이 형성하는 서비스 영역 안에서 무선접속하여 자유롭게 이동하면서 언제 어디서나 원하는 상대방과 즉시 통신하는 장비이다. The mobile communication terminal is a device that instantly communicates with a desired counterpart anytime and anywhere while wirelessly connecting and freely moving within a service area formed by a base station.

이러한 단말기는 사용자에 의하여 항상 휴대되고 이동하므로, 일반적으로 부피가 작은 소형이며 가볍게 제작되고, 메모리 등이 포함되는 자원(RESOURCE)을 많이 구성할 수 없는 특수성이 있다. Since such a terminal is always carried and moved by a user, it is generally small in size, lightly made, and has a specificity in that a lot of resources (RESOURCE) including memory and the like cannot be configured.

단말기에 구비되는 메모리에는 프로세서(CPU)에 의하여 이용되는 것으로, 비휘발성(NON VOLATILE)의 롬과 휘발성(VOLATILE)의 램이 포함된다. The memory provided in the terminal is used by a processor (CPU), and includes a nonvolatile ROM and a volatile RAM.

비휘발성 메모리는 단말기 운용에 기본적으로 필요한 데이터 또는 프로그램을 한번 기록하면, 동작전원의 공급이 차단되어도 지워지지 않도록 반영구적으로 기록한다. Non-volatile memory is recorded semi-permanently so that once the data or program basically necessary for the operation of the terminal is recorded, it is not erased even if the supply of operating power is cut off.

휘발성 메모리는 단말기 운용 중에 일시적으로 필요한 프로그램 및 데이터 등을 기록하는 것으로, 동작전원이 차단되면 기록된 데이터 내용이 삭제되며, 힙(HEAP) 메모리로 불리는 공용 메모리이고, 시스템 운용에 필수적인 프로그램을 위한 영역과, 응용 프로그램을 위한 영역으로 구분된다. Volatile memory records programs and data that are temporarily needed during the operation of the terminal.If the operating power is cut off, the recorded data is deleted, and it is a common memory called heap memory and is an area for programs essential for system operation. And the area for application programs.

이러한 힙 메모리는 프로세서가 할당받아 사용하고, 사용이 완료되면 반환하여 재사용하므로, 한정된 메모리 용량을 다수의 프로그램이 효율적으로 공동 사용 하게 된다. Such heap memory is allocated and used by the processor, and is returned and reused when the use is completed, so that a limited number of programs can efficiently share a limited amount of memory.

이와 같이 프로세서에 의하여 할당 요청되는 메모리 영역 또는 크기는, 해당 각 프로그램에 따라 필요한 크기가 다르게 되며, 사용이 완료된 메모리 용량은 가비지 컬렉션 프로그램에 의하여 회수되고, 회수된 메모리는, 다른 프로그램이 요구하는 경우에 재할당 된다. In this way, the memory area or size allocated by the processor is different in size depending on each program, and the used memory capacity is recovered by the garbage collection program, and the recovered memory is requested by another program. Are reassigned to

이때, 회수된 메모리 크기가 요청된 메모리의 크기보다 작은 경우는, 재할당 되지 못하고, 요청된 크기보다 큰 경우는, 재할당하고 남은 메모리 영역이 발생하지만, 또 다른 프로그램이 재할당 요청한 크기보다 작게 되어, 재할당하기에 충분하지 못하게 되는 메모리의 단편화(FRAGMENTATION) 현상이 발생한다. At this time, if the size of the recovered memory is smaller than the size of the requested memory, it cannot be reallocated. If the size of the recovered memory is larger than the requested size, the memory space remaining after the reallocation is generated, but smaller than the size requested by another program This results in fragmentation of memory that is not sufficient to reallocate.

즉, 단편화 현상에 의하여, 실제 메모리 전체의 물리적 영역 또는 크기 또는 공간은 남아 있지만, 프로그램이 활용할 수 없는 크기의 다수로 구분되므로, 프로그램이 요청하는 크기의 메모리를 할당하지 못하는 경우가 발생한다. That is, due to the fragmentation phenomenon, since the physical area or the size or the space of the entire physical memory remains, but is divided into a large number of sizes that the program cannot utilize, there is a case that the program cannot allocate the memory of the size requested.

도 1을 참조하여, 종래 기술의 일예에 의한 메모리 할당방식을, 일예로 설명하면, 힙 메모리(10)의 전체 크기가 10 Mbyte이고, 다수의 응용 프로그램이 각각의 필요한 메모리 크기를 요구한다. Referring to FIG. 1, a memory allocation method according to an example of the prior art will be described as an example. The total size of the heap memory 10 is 10 Mbytes, and a plurality of applications require each required memory size.

(a)에 도시한 바와 같이 3 Mbyte, 2 Mbyte, 3 Mbyte 크기가, 메모리 할당자(ALLOCATOR)에 의하여 각 응용 프로그램에 할당(ALLOCATION) 및 점유되므로, 데이터가 기록되고, 2 Mbyte가 대기 상태의 여백(FREE)으로 남는 것으로 가정한다. As shown in (a), since 3 Mbyte, 2 Mbyte, and 3 Mbyte sizes are allocated and occupied by each application by the memory allocator, data is recorded and 2 Mbytes are in the standby state. Assume that it remains free.

이때, (b)에 도시된 것과 같이, 해당 응용 프로그램의 종료에 의하여 할당된 3 Mbyte와 2 Mbyte 메모리의 점유가 해제되어 반환되므로 대기상태가 된다. At this time, as shown in (b), the occupancy of the 3 Mbyte and 2 Mbyte memory allocated by the termination of the application is released and returned to the standby state.

또한, (c)에 도시된 것과 같이, 다른 응용 프로그램이 4 Mbyte 크기를 요구하여 메모리를 할당한 상태이고, 또 다른 응용 프로그램이 3 Mbyte 크기를 요구하는 경우, 메모리의 단편화에 의하여, 물리적으로는 남아 있으나, 메모리를 할당하지 못하게 된다. In addition, as shown in (c), when another application requests a memory size of 4 Mbytes and another application requests a size of 3 Mbytes, the memory is fragmented physically. It will remain, but will not be able to allocate memory.

이와 같이 한정된 메모리를 효율적으로 할당 및 재할당하기 위한 다양한 방식이 제시되고 있다. Various methods for efficiently allocating and reallocating such limited memory have been proposed.

메모리 자원이 제한되지 않는 경우, 큰 용량의 메모리를 할당하고, 절대 주소위치를 관리하는 방식이 있으나, 이동통신용 단말기에서는, 메모리 자원의 용량이 제한되므로, 큰 용량의 메모리 할당과 절대 주소위치를 확보하기 어려운 문제가 있다. When memory resources are not limited, there is a method of allocating a large memory and managing an absolute address location. However, in a mobile communication terminal, the capacity of the memory resource is limited, so that a large memory allocation and an absolute address location are secured. There is a problem that is difficult to do.

도 2 를 참조하여, 종래 기술의 다른 일예에 의한 메모리 할당방식을 설명하면, 메모리를 동일한 크기의 블록(BLOCK)으로 구분하고, 응용 프로그램의 요청에 의하여 베스트 피트 방식과, 워스트 피트 방식과, 퍼스트 피트 방식으로 할당한다. Referring to FIG. 2, a memory allocation method according to another example of the prior art will be described. The memory is divided into blocks of the same size, and a best fit method, a worst fit method, and a first fit method are requested by an application program. Allocate it in the pit method.

(a)에서는, 메모리 전체 영역을 다수의 블록단위로 분할 및 구분하고, 응용 프로그램에 할당되어 점유되고 데이터가 기록되는 블록은 새도우(SHADOW) 상태로 도시되어 있다. In (a), a block in which a whole memory area is divided and divided into a plurality of block units, allocated to an application program, occupied, and written data is shown in a shadow state.

일예로, 다른 응용 프로그램이 블록 하나 크기의 메모리 영역을 할당 요청하는 경우를, 각 방식 별로 구분하여 설명한다. As an example, a case where another application program requests allocation of a memory area of one block size will be described separately for each method.

베스트 피트(BEST FIT) 방식은, 할당자에 의하여 메모리(10)를 검색하므로, 데이터가 기록되지 않은 여백상태로 대기 중인 청크(CHUNK)를 검색하고, 블록 하나 크기의 대기 상태 청크(CHUNK) 메모리 영역을 찾아서 할당하는 방식으로 (b)에 도시되어 있다. Since the best fit method retrieves the memory 10 by the allocator, it searches for the chunks that are waiting in the blank state where no data is recorded, and waits for the chunks of one block size. It is shown in (b) in a way that finds and assigns an area.

이러한 방식은, 메모리를 효율적으로 이용할 수 있으나, 할당에 비교적 많은 시간이 소요되는 문제가 있다. This method can efficiently use memory, but has a problem in that it takes a relatively long time to allocate.

워스트 피트(WORST FIT) 방식은, 할당자에 의하여 검색된 청크 메모리 중에서, 가장 용량이 큰 청크 메모리 영역을 할당하는 방식으로, (c)에 도시되어 있다. The WORST FIT method is a method of allocating the largest chunk memory area among the chunk memories searched by the allocator, and is illustrated in (c).

이러한 방식은, 메모리 할당을 신속하게 할 수 있으나, 할당된 청크 메모리가 4 개의 블록으로 이루어지므로, 요청된 1 개 블록이 할당되고, 3 개 블록이 남게 되므로, 전체 운용시간(RUN-TIME)이 길어지는 경우, 단편화가 심각하게 커지는 문제가 있다. This method can quickly allocate memory, but since the allocated chunk memory is made up of four blocks, one requested block is allocated and three blocks remain, resulting in a total run time. If it is long, there is a problem that fragmentation becomes seriously large.

퍼스트 피트(FIRST FIT) 방식은, 할당자에 의하여 검색된 첫 번째 순서의 청크 메모리를 할당하는 방식으로, (d)에 도시되어 있다. The FIRST FIT method is a method of allocating the chunk memory of the first order retrieved by the allocator, and is illustrated in (d).

이러한 방식에서도, 메모리 할당을 신속하게 할 수 있으나, 할당된 청크 메모리가 2 개의 블록으로 이루어지므로, 1 개 블록의 메모리가 할당되고 1개 블록이 단편화 되므로, 전체 운용시간(RUN-TIME)이 길어지는 경우, 단편화가 커지는 문제가 있다. Even in this manner, the memory allocation can be made quickly, but since the allocated chunk memory is made up of two blocks, one block of memory is allocated and one block is fragmented, resulting in a long run-time. In case of loss, there is a problem of large fragmentation.

이동통신용 단말기가 운용되는 상태에서, 이러한 단편화 현상에 의하여 운용(OPERATION)되는 응용(APPLICATION) 프로그램에 필요한 메모리를 할당하지 못하 는 경우, 데드락(DEAD LOCK)이 발생하여 단말기가 운용되지 못하고 다운되는 문제가 있다. When the mobile communication terminal is in operation and fails to allocate the memory required for the application program operated by this fragmentation, a deadlock occurs and the terminal fails to operate. There is.

이러한 문제는, 단말기 문제로 국한되는 것이 아니고, 사용자는 중요한 정보획득의 기회를 손실하게 되며, 단말기의 선호도 및 신뢰도가 떨어지고, 이동통신 시스템 사업자의 영업 손실과 관련이 있는 문제가 있다. This problem is not limited to the terminal problem, the user loses important information acquisition opportunities, the preference and reliability of the terminal is low, there is a problem associated with the loss of sales of the mobile communication system operators.

따라서 단말기의 한정된 메모리를 이용하여, 단편화 현상이 발생되지 않도록 하는 기술을 개발할 필요가 있다. Therefore, there is a need to develop a technique for preventing fragmentation from occurring by using a limited memory of the terminal.

본 발명은 이동통신용 단말기에 있어서, 힙 메모리를 2 단계로 분할하고, 프로세서의 요청에 의하여 할당 및 회수하므로, 프로세서는 점유된 메모리 영역이 분리되지 않고, 단편화가 발생되지 않는 단말기의 메모리 할당 장치 및 방법을 제공하는 것이 그 목적이다. In the mobile communication terminal, the heap memory is divided into two stages, and the processor allocates and retrieves the memory according to a request of the processor. Thus, the processor allocates the memory area of the terminal and the fragmentation does not occur. The purpose is to provide a method.

상기와 같은 목적을 제공하기 위하여 안출한 본 발명은, 단말기에 있어서, 제어부의 제어와 감시에 의하여 프로그램의 운용 데이터를 할당된 영역에 기록하고, 회수된 영역의 데이터를 지우는 메모리부; 메모리부의 영역을 다수의 페이지로 구분하고, 각 페이지를 다수의 블록으로 분할하며, 데이터가 기록된 할당블록과 기록되지 않은 여백블록으로 구분 관리하는 메모리 할당자; 메모리 할당자를 감시하고, 프로그램 요청에 의하여, 해당 크기의 여백블록이 남아 있는 페이지를 검색하여 할당하며, 할당된 페이지의 여백블록 영역에 상기 프로그램의 데이터를 기록하 는 제어부; 가 포함되는 구성을 제시한다. The present invention devised to provide the above object, the terminal comprising: a memory unit for recording the operation data of the program in the allocated area by the control and monitoring of the control unit, and erases the data of the recovered area; A memory allocator for dividing an area of the memory unit into a plurality of pages, dividing each page into a plurality of blocks, and managing the partition into an allocation block in which data is recorded and a blank block in which data is not recorded; A controller for monitoring a memory allocator, retrieving and allocating a page in which a blank block of a corresponding size remains, and recording data of the program in a blank block area of the allocated page; Present a configuration that includes.

또한, 상기와 같은 목적을 제공하기 위하여 안출한 본 발명은, 메모리 할당자에 의하여 메모리부를 관리하는 경우 소정 단위 크기의 페이지로 분할 구분하는 과정; 메모리 할당자에 의하여 각 페이지를 다수 블록으로 분할하고, 데이터가 기록된 할당블록과 기록되지 않은 여백블록으로 관리하는 과정; 메모리 할당자는 제어부로부터 메모리 할당 요청이 있으면, 페이지 단위로 요청된 크기의 여백블록을 확인하고, 설정된 순서에 의하여 페이지를 할당하는 과정; 이 포함되는 구성을 제시한다. In addition, the present invention devised to provide the above object, the process of dividing into a page of a predetermined unit size when managing the memory unit by the memory allocator; Dividing each page into a plurality of blocks by a memory allocator, and managing each page into an allocation block in which data is recorded and an empty block in which data is not recorded; When the memory allocator requests a memory allocation from the controller, the memory allocator checks a margin block of a requested size in units of pages and allocates pages according to a set order; This presents the included configuration.

또한, 상기와 같은 목적을 제공하기 위하여 안출한 본 발명은, 단말기의 제어부에 의하여 응용 프로그램이 구동되는 경우, 데이터 기록에 필요한 메모리 크기를 확인하는 과정; 제어부에 의하여 메모리 할당자를 제어하고, 상기 확인되어 요청된 크기의 메모리가 있는 페이지를 검색하고, 상기 검색된 페이지를 할당하는 제 1 할당 과정; 할당된 페이지에 구성되는 하나의 여백블록 크기가 상기 확인되어 요청된 크기가 아닌 경우, 다른 페이지를 할당하는 제 2 할당 과정; 할당된 페이지를 구성하는 여백블록을 할당하여 데이터를 기록하고 프로그램의 구동이 완료되면 할당된 블록을 반환한 후에 할당된 페이지를 반환하는 과정; 이 포함되는 구성을 제시한다. In addition, the present invention devised in order to provide the above object, the process of confirming the memory size required for data recording when the application program is driven by the control unit of the terminal; A first allocation process of controlling a memory allocator by a control unit, searching for a page having a memory of the checked and requested size, and allocating the retrieved page; A second allocating step of allocating another page when the size of one blank block configured in the allocated page is not the requested size; Allocating margin blocks constituting the allocated page to record data, and returning the allocated page after returning the allocated block when driving of the program is completed; This presents the included configuration.

이하, 상기와 같은 구성의 본 발명에 의한 것으로, 단말기의 메모리 할당 장 치 및 방법을 첨부된 도면을 참조하여 상세히 설명한다. Hereinafter, the present invention having the configuration described above will be described in detail with reference to the accompanying drawings.

본 발명을 설명하기 위하여 첨부된 것으로, 도 3 은 본 발명에 의한 단말기의 메모리 할당 장치 기능 구성도 이고, 도 4 는 본 발명에 의한 단말기의 메모리 할당 상태 설명도 이며, 도 5 는 본 발명에 의한 단말기의 메모리 할당자에 의한 메모리 할당방법 순서도 이고, 도 6 은 본 발명에 의한 단말기의 제어부에 의한 메모리 할당방법 순서도 이다. 3 is a functional configuration diagram of a memory allocation apparatus of a terminal according to the present invention, FIG. 4 is a diagram illustrating a memory allocation state of a terminal according to the present invention, and FIG. 6 is a flowchart illustrating a memory allocation method by a memory allocator of a terminal, and FIG. 6 is a flowchart of a memory allocation method by a controller of a terminal according to the present invention.

본 발명의 실시 예를 설명함에 있어서, 본 발명과 직접적으로 관련 없고, 잘 알려져 있는 기술 내용에 대하여서는 설명을 생략하므로, 본 발명의 요지를 흐르지 않고 명확하게 전달한다. In describing the embodiments of the present invention, descriptions are omitted for technical contents that are not directly related to the present invention and are well known, and thus, the present invention is clearly transmitted without passing the gist of the present invention.

도 3 을 참조하여, 본 발명에 의한 단말기의 메모리 할당 장치를 설명하면, 프로그램의 운용에 의하여 생성되는 데이터를 할당된 영역에 기록하는 메모리부(100); 메모리부의 영역을 다수의 페이지로 구분하고 다시 다수의 블록으로 구분하여 관리하는 메모리 할당자(110); 메모리 할당자를 제어하여 데이터를 기록할 여백이 있는 페이지의 블록에 데이터를 직접 기록하는 제어부(120)가 포함되는 구성이다. Referring to FIG. 3, a memory allocation apparatus of a terminal according to the present invention will include: a memory unit 100 for recording data generated by operation of a program in an allocated area; A memory allocator 110 which divides an area of the memory unit into a plurality of pages and divides and manages the area into a plurality of blocks again; The control unit 120 controls the memory allocator to directly write data in a block of a page in which data is to be recorded.

이동통신용 단말기에 내장 구비되는 메모리부(100)는, 단말기의 이동성과 휴대성에 의하여 용량 또는 크기가 제한된다. The memory unit 100 included in the mobile communication terminal is limited in capacity or size by the mobility and portability of the terminal.

또한, 단말기는 통신이외에 다양한 부가서비스를 운용하기 위하여 다양한 응 용 프로그램이 동시 구동된다. In addition, the terminal is running a variety of applications in order to operate a variety of additional services in addition to communication.

이러한 각 프로그램은 구동에 의하여 데이터를 생성하고, 프로그램의 원활한 구동을 위하여, 이와 같이 생성된 데이터 또는 파라미터 등의 필요한 데이터를 할당된 영역에 기록 및 관리하여야 한다. Each such program generates data by driving, and in order to smoothly drive the program, necessary data such as data or parameters generated in this way must be recorded and managed in the allocated area.

그러므로 이와 같이 제한된 메모리부의 용량을 이용하여, 다수의 프로그램이 구동되면서 생성하거나, 또는 파라미터 등과 같이 구동에 필요한 데이터를 기록하여야 한다. Therefore, by using the limited capacity of the memory unit, it is necessary to generate a plurality of programs while driving or to record data necessary for driving such as parameters.

이와 같이 한정된 용량의 공동 메모리를 다수의 프로그램이 효율적으로 이용하기 위하여서는, 일정한 크기로 분할하여 신속하게 할당하고, 사용이 완료된 메모리는 반환에 의하여 회수 및 재할당하며, 이러한 과정에서 단편화 현상이 발생하여 이용할 수 없는 영역이 발생하지 않도록 하는 것이 본 발명의 기술이다. In order to efficiently use a limited amount of co-memory as described above, the program is divided into a predetermined size and quickly allocated, and the used memory is recovered and reallocated by return, and fragmentation occurs in this process. It is a technique of the present invention to prevent the occurrence of unusable areas.

이와 같이 메모리부(100)에 구비되는 메모리 용량은, 메모리 할당자(110)의 페이지 관리부(114)에 의하여, 설정된 소정 크기로 구분되어 분할 관리된다. In this way, the memory capacity provided in the memory unit 100 is divided and managed by the page management unit 114 of the memory allocator 110 in a predetermined predetermined size.

또한, 이와 같이 페이지 관리부(114)에 의하여 구분된 페이지 단위의 메모리를, 블록관리부(112)에 의하여 다수의 블록으로 구분하여 관리한다.In addition, the memory in units of pages divided by the page manager 114 is divided into a plurality of blocks by the block manager 112 and managed.

블록관리부(112)는, 이와 같이 관리되는 블록이, 데이터가 기록된 할당블록인지 또는 데이터가 기록되지 않은 여백블록인지를 관리한다. The block management unit 112 manages whether the block managed in this way is an allocated block in which data is recorded or a blank block in which data is not recorded.

제어부(120)는, 프로그램이 구동되는 경우, 필요한 메모리 크기를 확인하고, 메모리 할당자(110)를 제어하여, 이와 같이 확인된 메모리 크기가 확보된 페이지 단위의 메모리를 검색한다. When the program is driven, the controller 120 checks the required memory size and controls the memory allocator 110 to search the memory in the page unit in which the checked memory size is secured.

이와 같이 검색된 페이지 단위의 메모리 영역은 다수가 될 수 있고, 각 프로그램은 구동되면서, 활용상태 또는 성격이 다른 데이터를 각각 구분하여 따로 기록할 필요가 있다. As described above, the searched memory unit may have a large number of pages, and each program is driven, and it is necessary to separately record data having different utilization states or characteristics.

이와 같은 데이터는, 프로그램이 구동되어 운용되면서 생성한 데이터와, 프로그램 구동에 필요한 파라미터 등이 포함된다. Such data includes data generated while the program is driven and operated, parameters required for driving the program, and the like.

이때, 페이지 관리부(114)는 블록관리부(112)를 제어하여, 제어부(120)가 검색 요청한 크기의 메모리 용량이 여백블록으로 남아 있는지를 확인하고, 이와 같은 확인에서 검색된 모든 페이지 단위를 소정의 설정된 순서에 의하여 정렬하여 제어부에 제공한다. At this time, the page manager 114 controls the block manager 112 to check whether the memory capacity of the size requested by the controller 120 remains as a blank block, and sets all page units searched in this check to a predetermined value. It arranges according to order and provides it to a control part.

이와 같이 검색된 페이지를 정렬하는 순서는, 일예로, 전체 여백 용량의 크기가 큰 순서, 크기가 작은 순서, 반환되어 회수된 순서, 최종 사용된 순서, 관리되는 주소가 빠른 순서 등등과 같이, 여러 가지 방식이 있으며, 본 발명의 설명에서는, 어느 한 가지 방식에 제한받지 않는 것으로 한다. The order of sorting the pages retrieved in this way is various, for example, the order of the size of the total margin capacity is large, the order of the smallest, the order of the returned and retrieved, the last used order, the order of the managed addresses, etc. There is a system, and the description of the present invention shall not be limited to any one system.

제어부(120)는, 검색된 페이지 단위의 메모리를 설정된 소정 순서에 의하여 할당받고, 할당받은 페이지 단위에 구성되는 각 여백블록을 확인하여, 일렬순서로 구성되고 하나의 블록으로 관리할 수 있는지를 확인한다. The controller 120 allocates the searched page unit memory according to a predetermined order and checks each blank block configured in the allocated page unit, and confirms whether it can be managed in one block and managed in one block. .

제어부(120)에 의하여, 이러한 확인에서 하나의 블록으로 관리할 수 없는 것으로 확인되면, 순서에 의한 다른 페이지를 할당하고, 블록의 크기를 다시 확인하는 과정을 반복하므로, 필요한 여백블록이 하나로 관리되도록 한다. If it is determined by the control unit 120 that it cannot be managed as one block in this confirmation, the process of allocating different pages according to the order and repeating the check of the size of the block is repeated, so that the necessary blank blocks are managed as one. do.

이와 같이 할당된 해당 페이지에 구비되는 블록은, 프로그램의 구동에 필요 한 파라미터 등의 운용 데이터와 생성된 데이터 등을 기록 및 갱신한다. The block provided in the page allocated as described above records and updates operational data such as parameters required for driving the program, generated data, and the like.

또한, 하나의 프로그램이 구분 관리하여야할 데이터가 있는 경우, 상기 제어부는, 가능한 동일한 프로그램에 할당되고 점유된 페이지를, 다시 할당하므로, 관리가 간편하도록 한다. In addition, when there is data to be managed separately by one program, the control unit reassigns pages allocated and occupied to the same program as much as possible, thereby simplifying management.

이러한 프로그램의 구동이 완료되면, 제어부(120)의 제어와 감시에 의하여, 할당받은 여백블록을 반환하고, 모든 여백블록의 반환이 완료되면, 해당 페이지를 반환한다. When the driving of the program is completed, the allocated margin block is returned by control and monitoring of the controller 120, and when the return of all margin blocks is completed, the corresponding page is returned.

이와 같은 본 발명은, 메모리를 페이지 단위와, 블록 단위의 2 단계로 구분하고, 할당하는 경우에도 페이지를 먼저 할당하고, 다시 블록 단위로 할당하며, 반환에 의하여 회수하는 경우에도, 블록을 먼저 회수하고, 해당 페이지의 블록 단위가 모두 회수된 경우에 해당 페이지를 회수한다. According to the present invention, the memory is divided into two stages of a page unit and a block unit, and when a block is allocated, a page is allocated first, a block unit is allocated, and a block is recovered first even when a block is returned. If all the block units of the page are recovered, the page is recovered.

따라서 메모리의 할당이 신속하고 관리가 간편하며, RUN-TIME이 길어지는 경우에도 메모리에 단편화가 발생하지 않는 등의 장점이 있다. Therefore, memory allocation is quick and easy to manage, and there is an advantage that fragmentation does not occur even in a long run-time.

도 4를 참조하여, 본 발명에 의한 단말기의 메모리 할당 상태를 설명하면, 메모리부(100)를 메모리 할당자의 페이지 관리부에 의하여, 소정의 크기로 1 페이지부터 순서대로 구분 분할하여 관리한다. Referring to FIG. 4, a memory allocation state of a terminal according to the present invention will be described. The memory unit 100 is divided and managed by a page allocator of a memory allocator in a predetermined size from one page to another.

일실시 예로, 제1 프로그램이 구동되면서, 이미 1번, 2번, 7번, 9번 페이지를 할당받아 점유 및 사용 중이고, 제2 프로그램이 구동되면서, 3번, 4번, 6번, 8번의 페이지를 점유하여 사용 중이다. As an example, while the first program is running, pages 1, 2, 7, and 9 are already occupied and occupied and used, and while the second program is running, the 3, 4, 6, 8 times The page is occupied and in use.

이때, 제 1 프로그램과 제 2 프로그램이 구분하여 관리하여야 할 데이터를 각각 생성하였고, 할당을 위하여 메모리를 요청한다. At this time, the first program and the second program respectively generate data to be managed separately, and requests memory for allocation.

이러한 제어부(120)는, 제1 프로그램이 점유한 1번, 2번, 7번 페이지를 검색하고, 할당을 요청한 크기의 메모리가 없으므로, 마지막 9번 페이지를 검색하며, 9번 페이지에, 요청한 크기의 메모리 크기가 있음을 확인하여, 할당하는 상태가 도시되어 있다. The controller 120 searches for pages 1, 2, and 7 occupied by the first program, and since there is no memory of the size requested for allocation, the controller 120 searches for the last 9 pages, and in page 9, the requested size Confirming that there is a memory size, the allocation state is shown.

또한, 제 2 프로그램의 경우는, 3번, 4번, 6번 페이지를 검색하여, 요청된 크기의 여백블록이 없고, 8번 페이지를 검색하여, 마지막 블록이 요청된 크기의 여백블록으로 확인되고 할당된 상태가 도시되어 있다. In the case of the second program, the third, fourth, and sixth pages are searched, and there are no margin blocks of the requested size, and the last block is identified as the margin blocks of the requested size. The assigned state is shown.

도 5를 참조하면, 본 발명의 메모리 할당자에 의한 메모리 할당방법은, 메모리 할당자에 의하여 메모리를 관리하는 경우 페이지 단위로 구분하는 과정; 페이지를 블록 단위로 구분하고, 데이터 기록 상태를 관리하는 과정; 할당 요청 크기가 있는 페이지를 설정된 순서에 의하여 할당하는 과정; 으로 구성된다. Referring to FIG. 5, the memory allocating method according to the memory allocator of the present invention may include: dividing the data into page units when managing the memory by the memory allocator; Dividing the page into blocks and managing a data recording state; Allocating a page having an allocation request size in a set order; It consists of.

도 5와 도 3을 참조하여, 본 발명의 메모리 할당자에 의한 메모리 할당방법을 상세히 설명하면, 메모리 할당자(110)는 제어부(120)의 제어와 감시에 의하여, 메모리부(100)를 관리하는 경우(S100), 메모리부(100)에 구비되는 메모리 용량을 설정된 소정 단위의 크기로 구분하여, 각각을 페이지 단위로 할당 및 관리한다(S110). 5 and 3, the memory allocating method by the memory allocator of the present invention will be described in detail. The memory allocator 110 manages the memory unit 100 under the control and monitoring of the control unit 120. In this case (S100), the memory capacity provided in the memory unit 100 is divided into predetermined predetermined unit sizes, and each is allocated and managed in units of pages (S110).

이와 같이 구분된 메모리부(100)의 페이지 단위는, 메모리 할당자(110)의 블록관리부(112)에 의하여, 소정 크기의 다수 블록으로 분할되고, 각 블록은 유효한 데이터가 기록된 상태인지를 관리한다(S120). The page units of the memory unit 100 divided as described above are divided into a plurality of blocks of a predetermined size by the block management unit 112 of the memory allocator 110, and each block manages whether valid data is recorded. (S120).

이러한 메모리 할당자(110)는, 제어부(120)로부터 구동되는 프로그램이 필요로 하는 메모리의 할당을 요청하는지 확인하고(S130), 이러한 확인에서 메모리를 할당하여야 하는 경우, 페이지 단위의 메모리 영역을 검색하여, 프로그램이 요청하는 크기의 여백블록이 있는지를 확인한다(S140). The memory allocator 110 checks whether the program driven by the controller 120 requests the allocation of memory required (S130), and if such memory is to be allocated from the check, the memory area of the page unit is searched. Then, it is checked whether there is a margin block of a size requested by the program (S140).

이와 같이 확인된 페이지 중에서 요청된 크기의 여백블록이 있는 페이지를 설정된 순서에 의하여, 프로그램에 할당하므로(S150), 해당 여백블록에 데이터가 기록된다. In this way, the page having the margin block of the requested size is allocated to the program according to the set order (S150), so that data is recorded in the margin block.

따라서 프로그램이 요청하는 크기의 메모리를 페이지 단위로 검색하므로, 검색이 빠르고, 할당이 신속하게 되는 장점이 있다. Therefore, since the memory of the size requested by the program is searched in units of pages, the search is quick and the allocation is quick.

도 6을 참조하여, 본 발명에 의한 단말기의 제어부에 의한 메모리 할당방법을 설명하면, 제어부에 의하여 구동된 프로그램이 필요로 하는 메모리 크기를 확인하는 과정; 메모리부를 검색하여 해당 여백이 있는 페이지 단위로 할당받는 과정; 여백이 요청된 크기가 아니면 다른 페이지를 할당하는 과정; 할당된 페이지의 여백블록에 데이터를 기록하고 프로그램의 구동이 완료되면 페이지를 반환하는 과정; 으로 구성된다. Referring to FIG. 6, a method of allocating a memory by a controller of a terminal according to an embodiment of the present invention may include: checking a memory size required by a program driven by the controller; Searching for a memory unit and allocating a page unit having a corresponding margin; Allocating another page if the margin is not the requested size; Writing data in the margin block of the allocated page and returning the page when the program is completed; It consists of.

도 6과 도 3을 참조하여, 본 발명의 제어부에 의한 메모리 할당방법을 상세 히 설명하면, 단말기의 제어부(120)에 의하여 응용(APPLICATION) 프로그램이 구동되는지를 확인한다(S200). 6 and 3, the memory allocation method by the control unit of the present invention will be described in detail, it is checked whether the APPLICATION program is driven by the control unit 120 of the terminal (S200).

이와 같은 제어부(120)에 의하여 응용 프로그램이 구동되는 것으로 확인되면, 프로그램이 필요로 하는 데이터 저장용 메모리의 크기 또는 용량이 얼마 인지를 확인한다(S210). When it is determined that the application program is driven by the control unit 120 as described above, it is checked how much the size or capacity of the data storage memory required by the program is (S210).

필요한 메모리의 크기를 확인한 제어부(120)는, 메모리 할당자(110)를 제어하여, 이와 같이 확인된 크기의 여백블록이 있는 페이지를 검색하고(S220), 이와 같이 검색된 페이지를 설정된 소정의 순서로 정렬하여, 선택된 페이지를 프로그램에 할당한다(S230). The controller 120 that checks the size of the required memory controls the memory allocator 110 to search for a page having a blank block of the size determined as described above (S220), and searches the pages thus found in a predetermined order. The sorted pages are allocated to the program (S230).

제어부(120)는, 프로그램에 할당된 메모리 페이지의 여백블록 크기를 분석하므로, 할당에 필요하게 요청된 크기 인지를 확인한다(S240). The controller 120 analyzes the size of the margin block of the memory page allocated to the program, thereby confirming whether the size is required for the allocation (S240).

이러한 확인에서 요청된 메모리 크기가 하나의 일관된 여백블록으로 구성되지 않은 것으로 분석 및 확인되면, 검색된 페이지의 설정된 순서에 의하여 다음 순서의 페이지 또는 다른 페이지를 다시 할당하고(S250), 여백블록이 요청된 크기로 일관된 크기 인지를 다시 확인한다(S240). If the requested memory size is analyzed and confirmed as not consisting of one consistent margin block in this check, the next order of pages or another page is reallocated according to the set order of the retrieved pages (S250), and the margin blocks are requested. Check again whether the size is a consistent size (S240).

이러한 확인에서, 할당된 페이지에 구비되는 여백블록이 프로그램이 필요로 하는 크기로 일관된 여백블록으로 구성되어 있으면, 해당 여백블록을 구동된 프로그램에 할당하고, 구동된 프로그램은 필요한 파라미터 및 데이터와 생성된 데이터 등을 기록한다(S260). In this confirmation, if the margin block included in the allocated page is composed of the margin blocks consistent with the size required by the program, the margin block is allocated to the driven program, and the driven program is generated with the necessary parameters and data. Data and the like are recorded (S260).

제어부(120)는 구동되어 운용중인 프로그램의 구동이 완료된 것으로 확인되 면(S270), 데이터를 기록을 위하여 할당받은 블록을 반환하고, 이러한 반환에 의하여 회수된 블록의 데이터를 지운다. When it is determined that the driving of the program being driven and operated is completed (S270), the control unit 120 returns a block allocated for recording data, and erases the data of the recovered block by this return.

이와 같은 제어부(120)는, 해당 페이지를 구성하는 모든 블록이 반환되었는지 확인하고, 모든 블록이 반환된 경우, 해당 페이지를 반환한다(S280). The controller 120 checks whether all blocks constituting the page are returned, and if all blocks are returned, returns the corresponding page (S280).

따라서 단말기의 RUN-TIME이 길어지고, 다수의 프로그램이 운용되는 상태에서, 메모리의 할당 및 회수가 반복되어도, 단편화가 발생하지 않으므로, 제한된 메모리를 보다 효율적으로 활용하는 장점이 있다. Accordingly, since the RUN-TIME of the terminal is long and a plurality of programs are operated, fragmentation does not occur even if memory allocation and repetition are repeated, there is an advantage of more efficiently utilizing limited memory.

이상과 같은 실시 예로 본 발명을 설명하였으나, 본 발명은 반드시 이러한 실시 예에 국한되는 것이 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다. 따라서 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 한다. Although the present invention has been described in the embodiments as described above, the present invention is not necessarily limited to these embodiments, and various modifications can be made without departing from the spirit of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.

상기와 같은 구성의 본 발명은, 메모리 자원이 제한적으로 구비되는 단말기에서 각 프로그램이 요청하는 메모리 크기를 신속하게 할당하여 신뢰성을 높이는 사용상 편리한 효과가 있다. The present invention having the above configuration has a convenient effect of increasing reliability by quickly allocating a memory size requested by each program in a terminal having limited memory resources.

또한, 단말기의 RUN-TIME이 길어지면서 메모리 할당 및 회수의 반복에 의하여 발생하는 단편화가 발생되지 않아 한정된 메모리를 효율적으로 운용하는 산업적 이용효과가 있다. In addition, since the RUN-TIME of the terminal becomes longer, fragmentation caused by repetition of memory allocation and retrieval does not occur, and thus there is an industrial use effect of efficiently operating a limited memory.

Claims (15)

단말기에 있어서, In the terminal, 제어부의 제어와 감시에 의하여 구동된 프로그램의 운용 데이터를 할당된 영역에 기록하고, 반환된 영역의 데이터를 지우는 메모리부; A memory unit for recording operation data of a program driven by control and monitoring of the control unit in an allocated area and erasing data of the returned area; 상기 메모리부의 영역을 다수의 페이지로 구분하고, 각 페이지를 다수의 블록으로 분할하며, 데이터가 기록된 할당블록과 기록되지 않은 여백블록으로 구분 관리하는 메모리 할당자; A memory allocator for dividing an area of the memory unit into a plurality of pages, dividing each page into a plurality of blocks, and managing the partition into an allocated block in which data is recorded and a blank block in which data is not recorded; 상기 메모리 할당자를 감시하고, 프로그램 요청에 의하여, 해당 크기의 여백블록이 남아 있는 페이지를 검색하여 할당하며, 할당된 페이지의 여백블록 영역에 상기 프로그램의 데이터를 기록하는 제어부; 를 포함하여 구성되는 단말기의 메모리 할당 장치. A controller for monitoring the memory allocator, retrieving and allocating a page in which a blank block of a corresponding size remains, and writing data of the program in a blank block area of the allocated page; Memory allocation apparatus of the terminal configured to include. 제 1 항에 있어서, 상기 메모리 할당자는, The method of claim 1, wherein the memory allocator, 상기 메모리부의 전체 영역을 설정된 단위 크기의 페이지로 분할하고, 각 페이지에 데이터가 기록될 수 있는 영역이 남아 있는지를 감시하는 페이지 관리부; A page management unit dividing the entire area of the memory unit into pages of a set unit size, and monitoring whether an area in which data can be written remains on each page; 상기 페이지 관리부가 분할한 각 페이지 영역을 다수의 블록으로 분할하고, 데이터가 기록된 할당블록 영역과, 데이터가 기록되지 않은 여백블록 영역으로 구분 감시하는 블록관리부; 가 포함되는 구성을 특징으로 하는 단말기의 메모리 할당 장치. A block manager for dividing each page area divided by the page manager into a plurality of blocks, and dividing and monitoring the allocated block area into which data is recorded and the blank block area into which data is not recorded; Memory allocation apparatus of the terminal, characterized in that the configuration includes. 제 1 항에 있어서, 상기 제어부는, The method of claim 1, wherein the control unit, 상기 메모리 할당자를 감시하여, 상기 프로그램이 요청한 크기의 여백블록이 남아있는 페이지를 선택하고, 상기 프로그램에 할당하는 구성으로 이루어지는 것을 특징으로 하는 단말기의 메모리 할당 장치. And monitoring the memory allocator, selecting a page in which a blank block of the size requested by the program remains, and allocating the page to the program. 제 3 항에 있어서, 상기 제어부는, The method of claim 3, wherein the control unit, 상기 할당된 페이지의 여백블록 크기를 감시하여, 상기 프로그램이 요청한 크기가 하나의 여백블록으로 구비되지 않으면, 다른 페이지를 선택하여 다시 할당하는 구성으로 이루어지는 것을 특징으로 하는 단말기의 메모리 할당 장치. And monitoring the size of the allocated space of the allocated page, and if the size requested by the program is not provided as one space block, selecting and reassigning another page. 제 4 항에 있어서, 상기 페이지 선택은, The method of claim 4, wherein the page selection, 설정된 소정 순서에 의하여 다음 순서의 페이지를 선택하는 것을 특징으로 하는 단말기의 메모리 할당 장치. And a page in the next order is selected according to the predetermined order. 제 3 항 또는 제 4 항에 있어서, 상기 제어부는, The method of claim 3 or 4, wherein the control unit, 상기 메모리 할당자에 의하여 메모리의 할당된 영역에 상기 프로그램의 데이터를 직접 기록하는 구성으로 이루어지는 것을 특징으로 하는 단말기의 메모리 할당 장치. And the memory allocator writes data of the program directly to the allocated area of the memory by the memory allocator. 메모리 할당자에 의하여 메모리부를 관리하는 경우 소정 단위 크기의 페이지로 분할 구분하는 과정; When the memory unit is managed by the memory allocator, dividing into pages of a predetermined unit size; 상기 메모리 할당자에 의하여 각 페이지를 다수 블록으로 분할하고, 데이터가 기록된 할당블록과 기록되지 않은 여백블록으로 관리하는 과정; Dividing each page into a plurality of blocks by the memory allocator, and managing each page into an allocation block in which data is recorded and an empty block in which data is not recorded; 상기 메모리 할당자는 제어부로부터 메모리 할당 요청이 있으면, 페이지 단위로 요청된 크기의 여백블록을 확인하고, 설정된 순서에 의하여 페이지를 할당하는 과정; 을 포함하여 구성되는 단말기의 메모리 할당 장치 운용방법. When the memory allocator requests a memory allocation from the controller, the memory allocator checks a margin block of a requested size in units of pages and allocates pages according to a set order; Method of operating a memory allocation device of a terminal configured to include. 제 7 항에 있어서, 상기 할당과정은, The method of claim 7, wherein the assignment process, 상기 메모리 할당자에 의하여 제어부로부터 구동된 프로그램의 데이터를 기록할 소정 크기의 메모리 할당 요청이 있는지를 확인하는 과정; Confirming, by the memory allocator, whether there is a memory allocation request of a predetermined size to record data of a program driven from the controller; 상기 메모리 할당 요청이 있으면, 각 페이지 단위를 검색하여, 상기 요청된 크기의 여백 영역이 있는지 확인하는 과정; If there is a memory allocation request, searching each page unit to determine whether there is a margin area of the requested size; 상기 검색된 페이지 중에서, 상기 요청된 크기의 여백 영역이 있는 페이지를 할당하는 과정; 이 포함되는 것을 특징으로 하는 단말기의 메모리 할당 장치 운용방법. Allocating a page having a margin area of the requested size among the searched pages; Method of operating a memory allocation device of a terminal comprising a. 제 8 항에 있어서, 상기 페이지 할당은, The method of claim 8, wherein the page allocation, 상기 검색된 페이지를 설정된 소정 순서에 의하여 할당하고, 추가 할당을 요청하거나 다른 페이지를 요청하는 경우에도 다음 순서의 페이지를 할당하는 것을 특징으로 하는 단말기의 메모리 할당 장치 운용방법. And allocating the searched pages in a predetermined order, and allocating pages in a next order even when requesting additional allocation or requesting another page. 단말기의 제어부에 의하여 응용 프로그램이 구동되는 경우, 데이터 기록에 필요한 메모리 크기를 확인하는 과정; When the application is driven by the controller of the terminal, checking a memory size required for data recording; 상기 제어부에 의하여 메모리 할당자를 제어하고, 상기 확인되어 요청된 크기의 메모리가 있는 페이지를 검색하고, 상기 검색된 페이지를 할당하는 제 1 할당 과정; A first allocation process of controlling a memory allocator by the controller, searching for a page having a memory of the checked and requested size, and allocating the retrieved page; 상기 할당된 페이지에 구성되는 하나의 여백블록 크기가 상기 확인되어 요청된 크기가 아닌 경우, 다른 페이지를 할당하는 제 2 할당 과정; A second allocating step of allocating another page if the one size block size configured in the allocated page is not the checked and requested size; 상기 할당된 페이지를 구성하는 여백블록을 할당하여 데이터를 기록하고 프로그램의 구동이 완료되면 할당된 블록을 반환한 후에 할당된 페이지를 반환하는 과정; 을 포함하여 구성되는 단말기의 메모리 할당 장치 운용방법. Allocating blank blocks constituting the allocated page to record data and returning the allocated page after returning the allocated block when driving of the program is completed; Method of operating a memory allocation device of a terminal configured to include. 제 10 항에 있어서, 상기 제 1 할당과정은, The method of claim 10, wherein the first allocation process, 상기 구동된 프로그램이 이미 메모리를 페이지 단위로 할당받고, 추가할당을 하여야 하는 경우, 상기 할당된 페이지의 여백 영역을 검색하는 것을 특징으로 하는 단말기의 메모리 할당 장치 운용방법. And searching for a margin area of the allocated page when the driven program has already allocated memory in units of pages and needs to allocate additional memory. 제 10 항에 있어서, 상기 반환과정은, The method of claim 10, wherein the return process, 상기 제어부에 의하여 할당된 페이지의 할당된 여백블록에 상기 프로그램이 생성한 데이터를 기록하는 과정; Recording the data generated by the program in the allocated space block of the page allocated by the controller; 상기 제어부에 의하여 상기 프로그램이 구동을 완료하였는지 확인하는 과정; Confirming whether the program is completed by the controller; 상기 프로그램이 구동을 완료하면 할당된 블록을 먼저 반환하고, 다음 순서로 해당 페이지를 반환하는 과정; 으로 구성되는 것을 특징으로 하는 단말기의 메모리 할당 장치 운용방법. Returning the allocated block first when the program finishes driving, and then returning the corresponding page in the following order; Method of operating a memory allocation device of a terminal, characterized in that consisting of. 제 12 항에 있어서, 상기 블록의 반환 또는 페이지의 반환은, The method of claim 12, wherein the return of the block or the return of the page, 상기 블록 또는 페이지에 기록된 데이터를 지우는 것을 특징으로 하는 단말 기의 메모리 할당 장치 운용방법. And erasing data recorded in the block or page. 제 12 항에 있어서, 상기 데이터의 기록은, The method of claim 12, wherein the recording of the data, 상기 제어부에 의하여 상기 메모리의 할당된 여백블록에 직접구동방식으로 데이터를 기록하는 것을 특징으로 하는 단말기의 메모리 할당 장치 운용방법. And operating the memory allocation apparatus of the terminal by the control unit to record data in the allocated blank block of the memory by a direct drive method. 제 10 항에 있어서, 상기 제 2 할당과정은, The method of claim 10, wherein the second allocation process, 상기 다른 페이지를 할당하는 경우, 설정된 소정 순서에 의하여 지정된 페이지가 할당되는 것을 특징으로 하는 단말기의 메모리 할당 장치 운용방법. And in case of allocating the other page, a designated page is allocated in a predetermined order.
KR1020060099671A 2006-10-13 2006-10-13 Device and method of memory allocation with 2 stage for mobile phone KR101376268B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060099671A KR101376268B1 (en) 2006-10-13 2006-10-13 Device and method of memory allocation with 2 stage for mobile phone
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 (en) 2006-10-13 2006-10-13 Device and method of memory allocation with 2 stage for mobile phone

Publications (2)

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

Family

ID=39283027

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060099671A KR101376268B1 (en) 2006-10-13 2006-10-13 Device and method of memory allocation with 2 stage for mobile phone

Country Status (2)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100937826B1 (en) * 2008-07-14 2010-01-20 주식회사 엘지텔레콤 System and method for displaying web page image
WO2016182341A1 (en) * 2015-05-11 2016-11-17 삼성전자 주식회사 Electronic device and memory allocation method therefor

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10733027B2 (en) 2018-10-07 2020-08-04 Hewlett Packard Enterprise Development Lp Memory allocator

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04319721A (en) * 1991-04-19 1992-11-10 Hitachi Ltd Method for controlling picture switching of multi-item input terminal equipment
JPH05207090A (en) * 1992-01-30 1993-08-13 Hitachi Ltd Terminal communication system
US6247105B1 (en) * 1996-06-20 2001-06-12 Sun Microsystems, Inc. Externally identifiable descriptor for standard memory allocation interface
JP2002032256A (en) * 2000-07-19 2002-01-31 Matsushita Electric Ind Co Ltd Terminal
JP2004192346A (en) * 2002-12-11 2004-07-08 Seiko Epson Corp Memory management device, proxy server, browser terminal, memory management program, server program, terminal program, monitor program, and method for managing memory

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100937826B1 (en) * 2008-07-14 2010-01-20 주식회사 엘지텔레콤 System and method for displaying web page image
WO2016182341A1 (en) * 2015-05-11 2016-11-17 삼성전자 주식회사 Electronic device and memory allocation method therefor
US10255175B2 (en) 2015-05-11 2019-04-09 Samsung Electronics Co., Ltd. Electronic device and memory allocation method therefor

Also Published As

Publication number Publication date
WO2008044865A1 (en) 2008-04-17
KR101376268B1 (en) 2014-03-21

Similar Documents

Publication Publication Date Title
CN109542333B (en) Memory system and control method for controlling nonvolatile memory
US10761731B2 (en) Array controller, solid state disk, and method for controlling solid state disk to write data
US10409526B2 (en) Adaptive garbage collection
US10049040B2 (en) Just in time garbage collection
KR101465789B1 (en) Write and merge methods in memory card systems for reducing the number of page copies
KR20180121794A (en) MEMORY DEVICE AND ITSELF METHOD AND ELECTRONIC SYSTEM CONTAINING DYNAMIC SUPERBLOCK
CN110781096A (en) Apparatus and method for performing garbage collection by predicting demand time
KR102349999B1 (en) Semiconductor device and operating method thereof
US20130166828A1 (en) Data update apparatus and method for flash memory file system
US10929286B2 (en) Arbitrated management of a shared non-volatile memory resource
CN108475230B (en) Storage system and system garbage recycling method
KR20130096881A (en) Flash memory device
CN107817945B (en) Data reading method and system of hybrid memory structure
CN110347613B (en) Method for realizing RAID in multi-tenant solid-state disk, controller and multi-tenant solid-state disk
KR20190044873A (en) A data storage device including nonexclusive and exclusive memory region
CN106598504B (en) data storage method and device
KR20170065427A (en) Data processing method and apparatus of solid state disk
CN110389712B (en) Data writing method and device, solid state disk and computer readable storage medium
KR101376268B1 (en) Device and method of memory allocation with 2 stage for mobile phone
US8068363B2 (en) Flash memory apparatus and read operation control method therefor
KR101950759B1 (en) Garbage collection method for performing memory controller of storage device and memory controler
CN117215485A (en) ZNS SSD management method, data writing method, storage device and controller
CN110119245B (en) Method and system for operating NAND flash memory physical space to expand memory capacity
KR101083683B1 (en) Flash Memory Apparatus and Read Operation Control Method Therefor
CN111813708B (en) Block mapping system and method for storage device

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