IP Library Granted Patent US 6,931,507
Granted Patent B2
US 6,931,507 · App. 10/307,101 · Granted Aug 16, 2005

Memory allocation method using multi-level partition

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,931,507
App. No.
10/307,101
Granted
Aug 16, 2005
Kind
B2
Abstract

The present invention relates to a memory allocation method using multi-level partition, which is capable of analyzing an allocation-requested fixed size to be used as a basic allocation unit, dividing the memory into a plurality of blocks, subdividing each of the blocks into the same number of subblocks and designating subblocks having the same orders in different blocks with the same pointer value. The memory allocation method according to the present invention comprises the steps of analyzing an allocation-requested fixed size to be used as a basic allocation unit and dividing the memory into a plurality of blocks, subdividing each of the divided blocks into one or more subblocks of the same size, the divided blocks being subdivided into the same number of subblocks, designating each of the subblocks having the same orders in different blocks with the same pointer value, and allocating the subblocks designated with the same pointer value as one memory space.

Claims (24)

1. A method for allocating memory by a memory space of a fixed size using multi-level partition in a device utilizing the memory, comprising the steps of:

a) analyzing an allocation-requested fixed size to be used as a basic allocation unit and dividing the memory into a plurality of blocks;

b) subdividing each of the divided blocks into one or more subblocks of the same size, the divided blocks being subdivided into the same number of subblocks;

c) designating each of the subblocks having the same orders in different blocks with the same pointer value; and

d) allocating the subblocks designated with the same pointer value as one memory space.

2. The method according to claim 1 , wherein, at the step a), the allocation-requested size is expressed as a binary number, and wherein the memory is divided into the blocks of the number of 1s in the binary number.

3. The method according to claim 2 , wherein the blocks have sizes proportional to position values of the 1s, respectively.

4. The method according to claim 2 , wherein each of the blocks is divided into subblocks, each of the subblocks in the same block having the same size as a position value of a “1” corresponding to the block.

5. The method according to claim 1 , wherein the pointer value indicates a position order of each of the subblocks.

6. The method according to claim 1 , wherein the step d) further includes the step of:

e) generating a real address of each the subblocks according to the pointer value and a relative location value set for each of the subblocks.

7. The method according to claim 6 , wherein the real address (AD) is generated using the following equations 2 and 3:

[Equation 2]

if the relative location value y of the subblock is one of 0 to (a−1),

AD=a×z+y,

[Equation 3]

if the relative location value y of the subblock is one of a to (D−1),

AD =( a ×( m− 1))+( b×z+y )

where, “a” is a size of a smaller subblock, “b” is a size of a larger subblock, “D” is an allocation-requested size, “m” is the entire number of subblocks in each of the blocks, “z” is a pointer value, and “y” is a relative location value.

8. A computer-readable recording medium storing a program in a system having a processor and memory, the program executing the steps of:

a) analyzing an allocation-requested fixed size to be used as a basic allocation unit and dividing the memory into a plurality of blocks;

b) subdividing each of the divided blocks into one or more subblocks of the same size, the divided blocks being subdivided into the same number of subblocks;

c) designating each of the subblocks having the same orders in different blocks with the same pointer value; and

d) allocating the subblocks designated with the same pointer value as one memory space.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2012
From: IPG ELECTRONICS 502 LIMITED; ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
To: PENDRAGON ELECTRONICS AND TELECOMMUNICATIONS RESEARCH LLC
Reel/Frame 028611/0643 →
ASSIGNMENT OF ONE HALF (1/2) OF ALL OF ASSIGNORS' RIGHT, TITLE AND INTEREST Recorded Nov 3, 2009
From: ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
To: IPG ELECTRONICS 502 LIMITED
Reel/Frame 023456/0363 →