Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
APPARATUS FOR AND METHOD OF MANAGING MEMORY ALLOCATION FOR PLATFORMS OF MOBILE TERMINAL
Document Type and Number:
WIPO Patent Application WO/2008/044864
Kind Code:
A1
Abstract:
Disclosed herein is an apparatus and method of managing memory allocation for platforms of a mobile terminal. The method includes a confirmation step of confirming the available capacity of a heap memory unit and a heap memory size to be allocated to an executed platform and confirming whether the executed platform is a system platform or an application platform; a system step of moving a limit pointer to a position corresponding to an extending state to additionally secure a memory region and allocating the secured memory region to the executed platform when the executed platform corresponds to the system platform and the heap memory size to be allocated to the executed platform is larger than a system heap region; and an application step of allocating a memory region required by the executing platform among a heap memory region ranging from one end of the heap memory unit to the limit pointer of the application heap region to the executed platform when the executed platform corresponds to the application platform. A memory region is preferentially allocated to the system platform such that the terminal is stably operated.

Inventors:
KIM JONG BAE (KR)
KIM HOO JONG (KR)
Application Number:
PCT/KR2007/004932
Publication Date:
April 17, 2008
Filing Date:
October 10, 2007
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SK TELECOM CO LTD (KR)
KIM JONG BAE (KR)
KIM HOO JONG (KR)
International Classes:
G06F12/02
Foreign References:
US7024436B22006-04-04
EP1607863A22005-12-21
KR20050015742A2005-02-21
KR20020038195A2002-05-23
Attorney, Agent or Firm:
YOON YANG KIM SHIN & YU (Namkang Bldg.1340-6Seocho-dong, Seocho-gu, Seoul 137-861, KR)
Download PDF:
Claims:

Claims

[1] An apparatus of managing memory allocation for platforms of a mobile terminal, comprising: a modem processor for performing control and monitoring to load a platform selected according to a control command, confirm a required heap memory size, move a limit pointer to preferentially secure a memory region having a size required by a system platform, and allocate the secured memory region to the system platform; a memory allocation unit for booting the selected platform, allocating a heap memory region having a size required by the selected platform to the platform, preferentially securing a heap memory region required by the system platform and allocating the heap memory region to the system platform, variably moving the limit pointer to divide a heap memory into a system heap region and an application heap region under the control of the modem processor; and a heap memory unit for preferentially allocating a memory region designated by the limit pointer to the system memory and allocating the remaining memory region to an application platform under the control of the memory allocation unit.

[2] The apparatus according to claim 1, further comprising a key input unit which is connected to the modem processor and receives a control command for executing a platform for operating a selected service of the terminal.

[3] The apparatus according to claim 1, wherein the memory allocation unit comprises: a limit pointer part for varying the position of the limit pointer which designates the memory region required by the system platform from one end of the heap memory unit under the control of the modem processor; a platform loading part for loading the selected platform such that the platform is booted and executed under the control of the modem processor; and a heap allocation part for confirming a required memory size and preferentially allocating the heap memory unit to the system platform under the control of the modem processor.

[4] The apparatus according to claim 1, wherein the modem processor performs control and monitoring to vary the position of the limit pointer such that the system heap region of the heap memory unit is not allocated to an application platform, and move the limit pointer to a position corresponding to an extending state to additionally secure the system heap region when the system platform requires a memory size larger than a current set memory size.

[5] The apparatus according to claim 4, wherein the limit pointer secures a memory

region to be allocated to the system platform from one end of the heap memory unit and prevents the secured memory region from being allocated to the application platform.

[6] The apparatus according to claim 4, wherein the modem processor designates a region of the heap memory unit, which starts from the end of the heap memory unit, opposite to the system heap region, as the application heap region.

[7] A method of managing memory allocation for platforms of a mobile terminal, comprising: a confirmation step of confirming the size of a heap memory unit and a heap memory size to be allocated to an executed platform and confirming whether the executed platform is a system platform or an application platform; a system step of moving a limit pointer to a position corresponding to an extending state to additionally secure a memory region and allocating the secured memory region to the executed platform when the executed platform corresponds to the system platform and the heap memory size to be allocated to the executed platform is larger than a system heap region; and an application step of allocating a memory region required by the executing platform among a heap memory region ranging from one end of the heap memory unit to the limit pointer of the application heap region to the executed platform when the executed platform corresponds to the application platform.

[8] The method according to claim 7, wherein the confirmation step comprises the steps of: confirming whether the system platform is executed; and checking whether the heap memory size to be allocated to the system platform is larger than a currently available capacity of the system heap memory region when it is confirmed that the system platform is executed, and the system step comprises the steps of: moving the limit pointer to the position corresponding to the extending state to additionally secure system heap memory capacity when the heap memory size to be allocated to the system platform is larger than the available capacity of the system heap memory; and allocating the system heap memory to the executed system platform.

[9] The method according to claim 8, wherein the step of moving the limit pointer to the position corresponding to the extending state preserves the size of the system heap memory region and moves the limit pointer to occupy the application heap region to additionally secure the system heap memory capacity.

[10] The method according to claim 8 or 9, wherein the limit pointer is returned to the original position to return the occupied application heap memory region when

the execution of the system platform is completed and the heap memory region allocated to the system platform is returned. [11] The method according to claim 7, wherein the application heap region corresponds to a region of the heap memory, which is not allocated to the system heap memory region by the limit pointer. [12] The method according to claim 11, wherein the application heap memory region is located opposite to the system heap memory region. [13] The method according to claim 7, wherein a minimum size of the system heap region is secured from one end of the heap memory unit by the limit pointer and a maximum size of the system heap region is guaranteed, and the application heap region has a maximum size corresponding to the region of the heap memory unit other than the system heap region.

Description:

Description

APPARATUS FOR AND METHOD OF MANAGING MEMORY ALLOCATION FOR PLATFORMS OF MOBILE TERMINAL

Technical Field

[1] The present invention relates to allocation of a memory size required by a platform of a mobile communication terminal, and more particularly, to an apparatus for and method of managing memory allocation for platforms of a mobile terminal to preferentially secure and allocate a heap memory region required by a system platform. Background Art

[2] Generally, a mobile communication terminal is a high-tech communication device that wirelessly connects with a desired counterpart and communicates with the counterpart while freely moving in a service area formed by a base station system. The mobile communication terminal is compact for mobility and portability. The operation efficiency of the mobile communication terminal is low because a period of time for which the mobile communication terminal is directly used for communication is practical. A user carries the mobile communication terminal all the time because it is difficult to estimate when and where communication is carried out.

[3] To improve the utilization of the mobile communication terminal and its application to actual life, various services such as DMB TV, camera, recorder, calculator, memo- pad, phonebook, game, and PDA functions are added to a communication service which is a basic service of the terminal.

[4] Accordingly, the mobile communication terminal includes a hardware structure such as a small computer and the communication function which is a basic function of the mobile communication terminal is set to a standby state all the time and detects a received communication signal which is randomly generated.

[5] There is an additional service which can be in a background operating state for allowing another function to be operated while being in an operating state all the time when set to the operating state. This program is referred to a real-time embedded program or a platform. A system platform is required to operate the mobile communication terminal basically and an application platform provides various additional functions.

[6] The mobile communication terminal is a kind of an embedded system which processes various functions in real time and allocates a memory size or a memory region to each platform such that each platform records information, which is generated by real-time processing, in real time.

[7] The system platform for a basic operation and the application platform for operations

of various additional services are added to the mobile communication terminal. To operate a function of the mobile communication terminal, a platform corresponding to the function must be loaded and booted and corresponding data must be recorded. When a platform and corresponding data are required, a RAM (Random Access Memory) for recording and deleting data is used and the memory region used to record and delete the data is referred to as a heap memory region.

[8] Furthermore, the mobile communication terminal has a restricted small-capacity memory because of mobility and portability, and thus various techniques for allocating and managing a limited small-capacity heap memory have been proposed.

[9] The techniques for allocating and managing the limited small-capacity heap memory include a sequential memory allocation method and a buddy memory allocation method.

[10] The sequential memory allocation method searches a heap memory from the beginning of the heap memory for a memory region having a requested size and, when there is an empty region corresponding to the memory region having the requested size, allocates the empty region to the memory region. In this case, a relatively long period of time is required for memory allocation.

[11] The buddy memory allocation method includes a buddy free list, searches the buddy free list for the address of a memory corresponding to a required memory size and allocates the memory of the searched address. The buddy memory allocation method generates fragmentation that only a part of the allocated memory is used and another part of the allocated memory is not used.

[12] The heap memory region of the mobile communication terminal is divided into a system heap region for a basic function and other important functions and an application heap region for the application platform. The system heap region for the basic function must be secured and the application heap region has allocation priority lower than that of the system heat region because the application heap region is required for additional services.

[13] Accordingly, a technique of allocating a heap memory for a stable operation of the system platform of the mobile communication terminal is required. Disclosure of Invention Technical Solution

[14] Accordingly, the present invention has been made to solve the above-mentioned problems occurring in the conventional art, and a primary object of the present invention is to provide an apparatus for and method of preferentially securing and allocating a heap memory region required to operate a system platform of a mobile communication terminal in order to stably operate a basic function of the mobile com-

munication terminal.

Advantageous Effects

[15] According to the present invention, in a mobile communication terminal having a limited memory resource capacity and a plurality of platforms, a memory region is preferentially allocated to a system platform such that the mobile communication terminal is stably operated.

[16] Furthermore, a basic function of the terminal is stably operated even though the terminal includes limited memory resources, and thus a user can conveniently use the terminal.

Brief Description of the Drawings

[17] The above and other objects, features and advantages of the present invention will be apparent from the following detailed description of the preferred embodiments of the invention in conjunction with the accompanying drawings, in which:

[18] FIG.1 illustrates a functional configuration of an apparatus of managing memory allocation for platforms of a mobile terminal according to the present invention;

[19] FIG. 2 illustrates a variable position state of a limit pointer of a heap memory according to the present invention; and

[20] FIG. 3 is a flow chart of a method of managing memory allocation for platforms of a mobile terminal according to the present invention. Best Mode for Carrying Out the Invention

[21] To accomplish the above object of the present invention, according to the present invention, there is provided an apparatus of managing memory allocation for platforms of a mobile terminal, comprising: a modem processor for performing control and monitoring to load a platform selected according to a control command, confirm a required heap memory size, move a limit pointer to preferentially secure a memory region having a size required by a system platform, and allocate the secured memory region to the system platform; a memory allocation unit for booting the selected platform, allocating a heap memory region having a size required by the selected platform to the platform, preferentially securing a heap memory region required by the system platform and allocating the heap memory region to the system platform, variably moving the limit pointer to divide a heap memory into a system heap region and an application heap region under the control of the modem processor; and a heap memory unit for preferentially allocating a memory region designated by the limit pointer to the system memory and allocating the remaining memory region to an application platform under the control of the memory allocation unit.

[22] To accomplish the object of the present invention, there is also provided a method of managing memory allocation for platforms of a mobile terminal, comprising: a con-

firmation step of confirming the size of a heap memory unit and a heap memory size to be allocated to an executed platform and confirming whether the executed platform is a system platform or an application platform; a system step of moving a limit pointer to a position corresponding to an extending state to additionally secure a memory region and allocating the secured memory region to the executed platform when the executed platform corresponds to the system platform and the heap memory size to be allocated to the executed platform is larger than a system heap region; and an application step of allocating a memory region required by the executing platform among a heap memory region ranging from one end of the heap memory unit to the limit pointer of the application heap region to the executed platform when the executed platform corresponds to the application platform. Mode for the Invention

[23] An apparatus for and method of managing memory allocation for platforms of a mobile terminal according to the present invention will be explained with reference to attached drawings.

[24] A terminal which uses the apparatus of managing memory allocation for platforms of a mobile terminal transmits and receives an audio signal and a data signal while freely moving in a service area formed by a mobile communication system. The terminal can be a mobile terminal, a PDA, a notebook computer, and a data terminal.

[25] The terminal includes programs or platforms for performing various functions. To execute each platform, a corresponding program is loaded and booted and a memory for storing a required parameter and generated data is needed. The memory required by an executed platform is referred to as a heap memory.

[26] However, the terminal is manufactured in a compact structure for portability and mobility, and thus the terminal generally includes limited resources including the heap memory. A plurality of platforms commonly use the heap memory having a limited capacity.

[27] The present invention preferentially allocates a heap memory region required for a program of a system platform which is essential for operating a basic function of the terminal among the entire heap memory, and then allocates the remaining heap memory region to an application platform.

[28] FIG. 1 illustrates a functional configuration of the apparatus of managing memory allocation for platforms of a mobile terminal according to the present invention. Referring to FIG. 1, the apparatus of managing memory allocation for platforms of a mobile terminal according to the present invention includes a key input unit 10, a modem processor 20, a memory allocation unit 30, and a heap memory unit 70.

[29] The key input unit 10 receives a control command for controlling the operation of a

mobile communication terminal and executing a platform for operating a service selected from searched services. That is, the key input unit 10 receives the control command for selecting and executing a platform providing a service.

[30] The modem processor 20 controls and monitors the operation of the terminal.

Furthermore, the modem processor 20 performs control and monitoring to load and execute a selected platform and adjust the size of a heap memory to allocate a memory region having a required size.

[31] The memory allocation unit 30 includes a platform loading part 60 for loading and booting a selected platform, a heap allocation part 50 for allocating a heap memory region having a size required by the selected platform, and a limit pointer part 40 for variably extending a system region of the heap memory.

[32] The heap memory unit 70 includes a heap memory that platforms require. The heap memory unit 70 moves a limit pointer under the control of the modem processor and the memory allocation unit to extend a system region of the heap memory or return the extended system region to the original state. The heap memory unit 70 is divided into a system heap region and an application heap region by the limit pointer.

[33] FIG. 2 illustrates a variable position state of the limit pointer of the heap memory according to the present invention.

[34] Referring to FIG. 2, the heap memory unit 70 is divided into the system heap region and the application heap region by the limit pointer. The limit pointer is variably moved under the control of the limit pointer part 40 monitored by the modem processor 20. The system heap region corresponds to a region ranging from the left end of the heap memory unit 70 to the limit pointer and the application heap region corresponds to a region ranging from the limit pointer to the right end of the heap memory unit 70. The system heap region can occupy the entire application heap region if required.

[35] That is, the system heap region and the application heap region are located opposite to each other and varied by the limit pointer. A minimum size of the system heap region is secured while a minimum size of the application heap region is not secured.

[36] The limit pointer prevents the system heap region from being allocated to the application heap region and is moved to the application heap region when a heap memory region to be allocated to the system platform is insufficient to additionally secure the system heap memory region.

[37] As described above, when the limit pointer is moved to extend the system heap region, the application heap region must have a marginal region occupied by the system heap region.

[38] For example, when the control command for executing a selected service is inputted to the modem processor 20 through the key input unit 10, the modem processor 20

controls the memory allocation unit 30 to execute a platform corresponding to the selected service. The memory allocation unit 30 is operated in such a manner that the platform loading part 60 loads and boots the corresponding platform from the heap memory unit 70, checks whether the platform is a system platform or an application platform, and confirm a heap memory size (or capacity) required by the executed platform.

[39] The heap allocation part 50 analyzes information provided by the platform loading part 60 to confirm whether the loaded and booted platform is a system platform or an application platform and, simultaneously, confirms the memory size to be allocated to the platform. The heap allocation part 50 allocates a memory region having the size requested by the platform when a designated region of the heap memory unit 70 has a marginal region.

[40] For example, when a designated system region of the heap memory unit 70 is smaller than the memory region having a requested size, the heap allocation part 50 notifies the modem processor 20 that the system region of the heap memory unit 70 is insufficient.

[41] The modem processor 20 searches the application heap region of the heap memory unit 70 and controls the limit pointer unit 40 to move the limit pointer to the application heap region when it is confirmed that the application heap region has a marginal region. That is, the system heap region can be extended to occupy the application heap region, and the application heap region is relatively reduced.

[42] Since the system platform is an essential program for operating the terminal, a heap memory region is preferentially allocated to the system platform and, simultaneously, an application program is prevented from occupying the heap memory region according to the limit pointer.

[43] That is, the limit pointer is moved to the application heap region such that the system heap region additionally occupies the heap memory unit 70. Furthermore, when the execution of the corresponding plat form is completed, the application heap region occupied by the system heap region is returned and the limit pointer is returned to the original position.

[44] FIG. 3 is a flow chart of a method of managing memory allocation for platforms of a mobile terminal according to the present invention. The method of managing memory allocation for platforms of a mobile terminal will be explained with reference to FIGS. 1 and 3.

[45] The modem processor 20 confirms whether the terminal is operated in step SlOO.

When it is confirmed that the terminal is operated, the modem processor 20 monitors the memory allocation unit 30 to confirm the size of a heap memory and the size of a memory region required by an executed platform in step Sl 10.

[46] The modem processor 20 confirms whether the executed platform is a program

according to the system platform in step S 120. When the executed platform is a program according to the system platform, the modem processor 20 confirms whether a heap memory region to be allocated to the executed platform is larger than a current marginal memory region of a system heap region in step S 130.

[47] When the heap memory region to be allocated to the executed platform is larger than the current marginal memory region of the system heap region, the modem processor 20 controls and monitors the limit pointer part 40 of the memory allocation unit 50 to vary the position of the limit pointer of the heap memory unit 70 such that the limit pointer is moved to a position corresponding to an extending state to add a required memory region to the system heap memory region in step S 140.

[48] The modem processor 20 which controls and monitors the operation of additionally securing the system heap region controls the memory allocation unit 30 to allocate the memory region to the executed platform program in step S 150.

[49] Furthermore, when the modem processor 20 confirms that the executed platform is an application program in step S 160, the memory allocation unit 30 searches the heap memory for the limit pointer located in the application heap region and allocates a memory region to the application platform when the heap memory has a marginal region in step S 170.

[50] As described above, a limited heap memory region of the terminal is divided into a system region and a heap region by the limit pointer and a memory region is preferentially allocated to the system platform. Accordingly, a basic function of the terminal can be stably executed.

[51] The present invention can also be embodied as computer readable codes on a computer readable recording medium. The computer readable recording medium is any data storage device that can store data which can be thereafter read by a computer system. Examples of the computer readable recording medium include read-only memory (ROM), random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, and carrier waves (such as data transmission through the Internet). The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

[52] While this invention has been particularly shown and described with reference to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. The preferred embodiments should be considered in descriptive sense only and not for purposes of limitation. Therefore, the scope of the invention is defined not by the detailed description of the invention but by the appended claims, and all differences within the

scope will be construed as being included in the present invention.