JP5111813B2 - メモリアロケーション方法およびメモリアロケーションプログラム - Google Patents
メモリアロケーション方法およびメモリアロケーションプログラム Download PDFInfo
- Publication number
- JP5111813B2 JP5111813B2 JP2006245622A JP2006245622A JP5111813B2 JP 5111813 B2 JP5111813 B2 JP 5111813B2 JP 2006245622 A JP2006245622 A JP 2006245622A JP 2006245622 A JP2006245622 A JP 2006245622A JP 5111813 B2 JP5111813 B2 JP 5111813B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- size
- node
- address
- free
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims description 284
- 238000000034 method Methods 0.000 title claims description 41
- 230000002457 bidirectional effect Effects 0.000 claims description 32
- 230000008569 process Effects 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 16
- 238000007726 management method Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 239000003999 initiator Substances 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000005056 compaction Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Landscapes
- Memory System (AREA)
Description
前記メモリアロケーション処理が行われるごとに、メモリ要求により要求されたサイズと、当該メモリ要求に応じて返した空きメモリの次の空きメモリにアクセスするためのアドレスを表す履歴情報とを含むノードを履歴情報とを蓄積し、
新たなメモリ要求がなされた際に、前記各ノードに対し最大サイズを記録したノードから順にアクセスしてその記録サイズを前記新たにメモリ要求されたサイズと比較することにより、前記新たにメモリ要求されたサイズを超えない最大のサイズを記録したノードを選択し、この選択されたノードに記録されたアドレスから前記単方向リンクリストの検索を行うことを特徴とするメモリアロケーション方法が提供される。
前記メモリアロケーション処理が行われるごとに、メモリ要求により要求されたサイズと、当該メモリ要求に応じて返した空きメモリの次の空きメモリにアクセスするためのアドレスを表す履歴情報とを含むノードを蓄積し、
新たなメモリ要求がなされた際に、前記各ノードに対し最大サイズを記録したノードから順にアクセスしてその記録サイズを前記新たにメモリ要求されたサイズと比較することにより、前記新たにメモリ要求されたサイズを超えない最大のサイズを記録したノードを選択し、この選択されたノードに記録されたアドレスから単方向リンクリストの検索を行う処理を、前記プロセッサに実行させることを特徴とするメモリアロケーションプログラムが提供される。
まず、メモリ要求されたサイズにかかるノードが、双方向リンクリスト206中に存在するかが判断される(ST201)。ここで存在しないと判断された場合には、双方向リンクリスト106に新しいノードを追加する(ST202)。次いで、追加したノードに、メモリ要求されたサイズと、ST109でアロケートした空きメモリの一つ前の空きメモリのアドレスとを書き込む。一方、ST201でメモリ要求されたサイズにかかるノードが存在すると判断された場合には、メモリ要求されたものと同サイズのノードに、アロケートした空きメモリの一つ前の空きメモリのアドレスを書き込む(ST203)。このようなST201からST203までの処理で、双方向リンクリスト106に今回の検索結果が記録される。
図7は、双方向リンクリスト106に1,5,30のノードが保持されている状態を示している。ここでは、ヒープ109上にサイズ1,3,5,4,9,10,3,10,5の空きメモリがこの順で並んでおり、サイズ1にかかるノードはダミー108を指しており、このダミーは最初の空きメモリのアドレスが記録されている。また、サイズ5にかかるノードには検索履歴として2番目の空きメモリのアドレスが記録されており、サイズ5にかかるノードは9番目の空きメモリが記録されている。
Claims (8)
- 所定サイズのメモリ要求に対して、空きメモリを管理する単方向リンクリストを検索して、最初に見付かった所定サイズ以上の空きメモリを返すメモリアロケーション処理を行うメモリアロケーション方法において、
前記メモリアロケーション処理が行われるごとに、メモリ要求により要求されたサイズと、当該メモリ要求に応じて返した空きメモリの次の空きメモリにアクセスするためのアドレスを表す履歴情報とを含むノードを蓄積し、
新たなメモリ要求がなされた際に、前記各ノードに対し最大サイズを記録したノードから順にアクセスしてその記録サイズを前記新たにメモリ要求されたサイズと比較することにより、前記新たにメモリ要求されたサイズを超えない最大のサイズを記録したノードを選択し、この選択されたノードに記録されたアドレスから前記単方向リンクリストの検索を行うことを特徴とするメモリアロケーション方法。 - 前記履歴情報は、返した空きメモリの1つ前の空きメモリのアドレスであることを特徴とする請求項1に記載のメモリアロケーション方法。
- 前記各ノードは、メモリ要求されたサイズの降順に配列された双方向リンクリストとして管理されていることを特徴とする請求項2に記載のメモリアロケーション方法。
- さらにまた、前記双方向リンクリストに新たなノードを追加することによって、低サイズ側のノードに記録されたアドレスが高サイズ側のノードに記録されたアドレスよりも前記単方向リンクリスト後方を指すようになった場合には、当該高サイズ側のノードを削除することを特徴とする請求項3に記載のメモリアロケーション方法。
- 所定サイズのメモリ要求に対して、空きメモリを管理する単方向リンクリストを検索して、最初に見付かった所定サイズ以上の空きメモリを返すメモリアロケーション処理を、プロセッサに実行させるメモリアロケーションプログラムであって、
前記メモリアロケーション処理が行われるごとに、メモリ要求により要求されたサイズと、当該メモリ要求に応じて返した空きメモリの次の空きメモリにアクセスするためのアドレスを表す履歴情報とを含むノードを蓄積する処理と、
新たなメモリ要求がなされた際に、前記各ノードに対し最大サイズを記録したノードから順にアクセスしてその記録サイズを前記新たにメモリ要求されたサイズと比較することにより、前記新たにメモリ要求されたサイズを超えない最大のサイズを記録したノードを選択し、この選択されたノードに記録されたアドレスから単方向リンクリストの検索を行う処理と
を、前記プロセッサに実行させるメモリアロケーションプログラム。 - 前記履歴情報は、返した空きメモリの1つ前の空きメモリのアドレスであることを特徴とする請求項5に記載のメモリアロケーションプログラム。
- 前記各ノードは、メモリ要求されたサイズの降順に配列された双方向リンクリストとして管理されていることを特徴とする請求項6に記載のメモリアロケーションプログラム。
- さらにまた、前記双方向リンクリストに新たなノードを追加することによって、低サイズ側のノードに記録されたアドレスが高サイズ側のノードに記録されたアドレスよりも前記単方向リンクリスト後方を指すようになった場合には、当該高サイズ側のノードを削除する処理を、前記プロセッサに実行させることを特徴とする請求項7に記載のメモリアロケーションプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006245622A JP5111813B2 (ja) | 2006-09-11 | 2006-09-11 | メモリアロケーション方法およびメモリアロケーションプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006245622A JP5111813B2 (ja) | 2006-09-11 | 2006-09-11 | メモリアロケーション方法およびメモリアロケーションプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008065764A JP2008065764A (ja) | 2008-03-21 |
JP5111813B2 true JP5111813B2 (ja) | 2013-01-09 |
Family
ID=39288406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006245622A Expired - Fee Related JP5111813B2 (ja) | 2006-09-11 | 2006-09-11 | メモリアロケーション方法およびメモリアロケーションプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5111813B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3627343A1 (en) * | 2018-09-19 | 2020-03-25 | censhare AG | Efficient in-memory multi-version concurrency control for a trie data structure based database |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08221318A (ja) * | 1995-02-15 | 1996-08-30 | Seiko Epson Corp | メモリのアロケータ及びアロケーション方法 |
JPH09160823A (ja) * | 1995-12-13 | 1997-06-20 | Brother Ind Ltd | 電子機器におけるメモリの領域管理制御装置 |
AUPP638698A0 (en) * | 1998-10-06 | 1998-10-29 | Canon Kabushiki Kaisha | Efficient memory allocator utilising a dual free-list structure |
JP4668562B2 (ja) * | 2004-08-02 | 2011-04-13 | 株式会社アプリックス | メモリマネジメントプログラムおよびメモリマネジメント方法 |
-
2006
- 2006-09-11 JP JP2006245622A patent/JP5111813B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008065764A (ja) | 2008-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6014925B2 (ja) | メモリ回収方法および装置 | |
KR100843543B1 (ko) | 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법 | |
KR101183424B1 (ko) | 관리되지 않는 메모리에 대한 콜렉션을 수행하기 위한 방법및 시스템 | |
US20130198437A1 (en) | Memory management device and memory management method | |
US7802070B2 (en) | Approach for de-fragmenting physical memory by grouping kernel pages together based on large pages | |
KR100690804B1 (ko) | 휴대단말기의 메모리 정리 방법 | |
KR100526178B1 (ko) | 플래시 메모리 액세스 장치 및 방법 | |
CN1130641C (zh) | 具有永久性存储器的可恢复磁盘控制系统 | |
US9645922B2 (en) | Garbage collection in SSD drives | |
CN108431783B (zh) | 访问请求处理方法、装置及计算机系统 | |
US7543124B1 (en) | Method for preventing page replacement of unreferenced read-ahead file pages | |
US5761501A (en) | Stacked skip list data structures | |
CN102567184A (zh) | 一种基于Flash的日志存储方法 | |
CN110945486B (zh) | 一种存储碎片管理方法及终端 | |
CN108829342B (zh) | 一种日志存储方法、系统及存储装置 | |
JP5776474B2 (ja) | ストレージ装置、ストレージ制御装置およびコピー先データアクセス方法 | |
CN114265670B (zh) | 一种内存块整理方法、介质及计算设备 | |
US20130304972A1 (en) | Control device, storage device, and storage control method | |
US6804762B1 (en) | Method and system for garbage collection using a dynamically tuned write barrier | |
CN114490443A (zh) | 一种基于共享内存的golang进程内缓存方法 | |
JP5111813B2 (ja) | メモリアロケーション方法およびメモリアロケーションプログラム | |
CN111694806B (zh) | 一种事务日志的缓存方法、装置、设备和存储介质 | |
JPH05210584A (ja) | 改善されたぺージングを有するディジタルデータプロセッサ | |
JPH039494B2 (ja) | ||
CN116088862A (zh) | 一种对于数据缓存的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090901 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120314 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120327 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120523 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20120529 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120911 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121010 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151019 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |