IP Library Granted Patent US 10,409,498
Granted Patent B2
US 10,409,498 · App. 15/172,951 · Granted Sep 10, 2019

Method and apparatus for managing memory

Inventors: Kibeom Kim (Seoul, KR); Jinkyu Koo (Yongin-si, KR); Kwonsik Kim (Suwon-si, KR); Hyojeong Lee (Suwon-si, KR)
Assignee: Samsung Electronics Co., Ltd.
G06F3/0611G06F3/0631G06F3/0665G06F3/0673
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 10,409,498
App. No.
15/172,951
Granted
Sep 10, 2019
Kind
B2
Abstract

A method for managing a memory and an electronic device are provided. The method includes setting a list including an exclusive relationship, between a page unit memory allocation requester and a contiguous memory allocation requester, corresponding to a segment of a contiguous memory allocation region, receiving a memory allocation request, confirming whether the memory allocation requester comprises the memory allocation requester included in the list, and allocating a page of the contiguous memory allocation region corresponding to the segment, if the memory allocation requester is included in the list.

Claims (51)

1. A method for managing a memory, the method comprising:

setting a segment list of a contiguous memory allocation region, the segment list including a plurality of segments, each segment associated with a corresponding page unit memory allocation requester and a corresponding contiguous memory allocation requester;

receiving a first memory allocation request from a first memory allocation requester;

identifying a segment in the segment list having the first memory allocation requester as one of the corresponding page unit memory allocation requester or the corresponding contiguous memory allocation requester; and

allocating a page included in the segment in response to the memory allocation request,

wherein the setting of the segment list comprises:

identifying a page unit memory allocation requester and a contiguous memory allocation requester that are not activated simultaneously; and

associating the identified page unit memory allocation requester and the identified contiguous memory allocation requester with a segment of the segment list.

2. The method of claim 1 , further comprising managing bitmap information for the contiguous memory allocation region,

wherein the bitmap information indicates whether a page included in the contiguous memory allocation region is reclaimable.

3. The method of claim 2 , further comprising:

determining that the memory allocation request includes a contiguous memory allocation request; and

determining a contiguous memory page region of the contiguous memory allocation region for processing the contiguous memory allocation request based on the bitmap information.

4. The method of claim 3 , wherein the determining of the contiguous memory page region comprises determining a page region of the contiguous memory allocation region in which a page movement required for the requested contiguous memory allocation is minimized relative to other page regions of the contiguous memory allocation region.

5. The method of claim 4 , wherein the page region in which the page movement is minimized comprises a page region in which a number of reclaimable pages based on the bitmap information is maximized relative to other page regions of the contiguous memory allocation region based on memory allocation request.

6. The method of claim 2 , further comprising updating the bitmap information when reclaimable information of the page included in the contiguous memory region is changed.

7. The method of claim 1 , further comprising:

receiving a second memory allocation request from a second memory allocation requester;

determining that the second memory allocation requester is a page unit allocation requester;

identifying a second segment in the segment list in which a corresponding contiguous memory allocation requester is not activated; and

adding the second memory allocation requester to the second segment.

8. The method of claim 7 , further comprising:

identifying that a third contiguous memory allocation requester corresponding to the second segment is activated while the second memory allocation requester is activated; and

adding the second memory allocation requester to a third segment in the segment list while the second page unit memory allocation is activated.

9. An electronic device comprising:

a memory including a contiguous memory allocation region; and

at least one processor configured to:

set a segment list of the contiguous memory allocation region, the segment list including a plurality of segments, each segment associated with a corresponding page unit memory allocation requester and a corresponding contiguous memory allocation requester,

receive a first memory allocation request from a first memory allocation requester,

identify a segment in the segment list having the first memory allocation requester as one of the corresponding page unit memory allocation requester or the corresponding contiguous memory allocation requester, and

allocate a page included in the segment in response to the memory allocation request,

wherein to set the segment list, the at least one processor is configured to:

identify a page unit memory allocation requester and a contiguous memory allocation requester that are not activated simultaneously, and

associate the identified page unit memory allocation requester and the identified contiguous memory allocation requester with a segment of the segment list.

10. The electronic device of claim 9 ,

wherein the at least one processor is further configured to manage bitmap information for the contiguous memory allocation region, and

wherein the bitmap information indicates whether a page included in the contiguous memory allocation region is reclaimable.

11. The electronic device of claim 10 , wherein the at least one processor is further configured to:

determine that the memory allocation request includes a contiguous memory allocation request, and

determine a contiguous memory page region of the contiguous memory allocation region for processing the contiguous memory allocation request based on the bitmap information.

12. The electronic device of claim 11 , wherein the at least one processor is further configured to determine a page region of the contiguous memory allocation region in which a page movement required for the requested contiguous memory allocation is minimized relative to other page regions of the contiguous memory allocation region.

13. The electronic device of claim 12 , wherein the page region in which the page movement is minimized comprises a page region in which a number of reclaimable pages based on the bitmap information is maximized relative to other page regions of the contiguous memory allocation region based on memory allocation request.

14. The electronic device of claim 10 , wherein the at least one processor is further configured to update the bitmap information when reclaimable information of the page included in the contiguous memory region is changed.

15. The electronic device of claim 9 , wherein the at least one processor is further configured to:

receive a second memory allocation request from a second memory allocation requester,

determine that the second memory allocation requester is a page unit allocation requester,

identify a second segment in the segment list in which a corresponding contiguous memory allocation requester is not activated, and

adding the second memory allocation requester to the second segment.

16. The electronic device of claim 15 , wherein the at least one processor is further configured to:

identify that a third contiguous memory allocation requester corresponding to the second segment is activated while the second memory allocation requester is activated, and

add the second memory allocation requester to a third segment in the segment list while the second page unit memory allocation is activated.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: KIM, KIBEOM; KOO, JINKYU; KIM, KWONSIK; LEE, HYOJEONG
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 038802/0035 →
Priority Claims (1)
KR 10-2015-0079037 · Jun 4, 2015 · national
Continuity (1)
Related Publication 20160357455A1 · Dec 8, 2016
Cited By (1)
US 12,373,119