JP6505266B2 - メモリ管理装置を用いた自動メモリ管理 - Google Patents
メモリ管理装置を用いた自動メモリ管理 Download PDFInfo
- Publication number
- JP6505266B2 JP6505266B2 JP2017568415A JP2017568415A JP6505266B2 JP 6505266 B2 JP6505266 B2 JP 6505266B2 JP 2017568415 A JP2017568415 A JP 2017568415A JP 2017568415 A JP2017568415 A JP 2017568415A JP 6505266 B2 JP6505266 B2 JP 6505266B2
- Authority
- JP
- Japan
- Prior art keywords
- size
- memory
- logical address
- objects
- subspace
- 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.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims description 111
- 239000003471 mutagenic agent Substances 0.000 claims description 50
- 238000000034 method Methods 0.000 claims description 48
- 238000013507 mapping Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 18
- 230000006835 compression Effects 0.000 claims description 12
- 238000007906 compression Methods 0.000 claims description 12
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 claims description 3
- 238000005056 compaction Methods 0.000 description 46
- 238000004891 communication Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 238000013467 fragmentation Methods 0.000 description 7
- 238000006062 fragmentation reaction Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 101100377706 Escherichia phage T5 A2.2 gene Proteins 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
Claims (15)
- ランダムアクセスメモリ(120)を有するコンピュータシステム(100)内の自動メモリ管理モジュール(150)を動作するためのコンピュータ実施方法(400)であって、前記方法(400)は、
第1の部分空間(155−1)および第2の部分空間(155−2、555−2)を有する論理アドレス空間(155)のために、異なるサイズクラスのオブジェクトのためのスロットを有する部分(1、2・・・8)を有する前記論理アドレス空間(155)の前記第2の部分空間(155−2、555−2)を確保するステップ(410)であって、前記確保するステップ(410)は、前記第2の部分空間(155−2、555−2)のサイズを、係数とミューテータ(140)の最大ヒープサイズ(HS)との積として計算することを含み、前記最大ヒープサイズ(HS)は、前記第2の部分空間(155−2、555−2)内に潜在的に格納されうる前記オブジェクトの累算されたサイズであるステップと、
前記ミューテータ(140)から、前記コンピュータシステム(100)の前記ランダムアクセスメモリ(120)内に格納されうる特定のオブジェクト(O[1]・・・O[9])のためのメモリ割当要求(141)を受信するステップ(420)と、
前記論理アドレス空間(155)内の特定の論理アドレス(Axy;A2.1・・・A1.4)を前記特定のオブジェクト(O[1]・・・O[9])に割り当てるステップ(430)であって、前記自動メモリ管理モジュール(150)は、少なくとも1つの基準(TS、OA)に従って、前記特定のオブジェクト(O[1]・・・O[9])を区別し(435)、第1の部分空間(155−1)からの論理アドレス(A1.y)および第2の部分空間(155−2)からの論理アドレス(A2.y)を割り当てるステップ(431、432)と、
前記第2の部分空間(155−2)からの前記割り当てられた論理アドレス(A2.y)を前記ランダムアクセスメモリ(120)内の物理メモリ(P1・・・P104)にメモリ管理装置(130)によってマッピングするステップ(442)と、
前記ランダムアクセスメモリ内で対応するオブジェクトを移動することと組み合わせて、前記第1の部分空間(155−1)内の論理アドレスを圧縮するステップ(451)と、
を含む方法(400)。 - 前記確保するステップ(410)において、前記係数は、前記論理アドレス空間(155)の前記第2の部分空間(155−2)内の前記部分の数(M)に対応し、各部分は、特定サイズのオブジェクトのためのスロットを有する、
請求項1に記載の方法(400)。 - 前記確保するステップ(410)は、等しいサイズの部分のために実行される、
請求項1または2に記載の方法(400)。 - 前記確保するステップ(410)は、前記最大ヒープサイズ(HS)に対応する前記部分のサイズを計算することを含む、
請求項1から3のいずれかに記載の方法(400)。 - 前記確保するステップ(410)は、第1の数のスロットを2の累乗の数として有する開始部分を有する部分を確保することを含み、隣接するスロットは、前記第1の数のスロットから等比数列で計算されるスロットの数を有する、
請求項1から4のいずれかに記載の方法(400)。 - 前記割り当てるステップ(430)において、前記自動メモリ管理モジュール(150)は、オブジェクトサイズ基準である前記少なくとも1つの基準(TS、OA)に従って、前記特定のオブジェクト(O[1]・・・O[9])を区別する(425)、
請求項1から5のいずれかに記載の方法(400)。 - 前記割り当てるステップ(430)において、前記自動メモリ管理モジュール(150)は、所定の閾値サイズ(TS)を前記オブジェクトサイズ基準として用い、前記第1の部分空間(155−1)内の論理アドレスを、前記所定の閾値サイズ(TS)未満のオブジェクトサイズを有するオブジェクトのために割り当て(431)、前記第2の部分空間(155−2)内の論理アドレスを、前記所定の閾値サイズ(TS)以上のオブジェクトサイズを有するオブジェクトのために割り当てる(432)、
請求項6に記載の方法(400)。 - 前記所定の閾値サイズ(TS)は、前記ランダムアクセスメモリ(120)のページサイズ(PS)に関連する、
請求項7に記載の方法(400)。 - 前記所定の閾値サイズ(TS)は、前記ページサイズ(PS)に等しい、または、前記ページサイズの倍数に等しい、
請求項8に記載の方法(400)。 - 前記特定の論理アドレスのいくつかを、前記第1および第2の部分空間(155−1、155−2)のいずれかから割当解除するさらなるステップによって、ランダムアクセスメモリ(120)内の前記オブジェクトを圧縮せずに、前記第2の部分空間(155−2)内の以前に割り当てられた論理アドレスから前記物理メモリのマッピングを解除するように前記メモリ管理装置(130)に命令する、
請求項1から9のいずれかに記載の方法(400)。 - 前記自動メモリ管理モジュール(150)は、オブジェクト属性(OA)である前記少なくとも1つの基準に従って、前記特定のオブジェクト(O[1]・・・O[9])を区別する(425)、
請求項1に記載の方法(400)。 - 前記オブジェクト属性(OA)は、オブジェクトタイプ、オブジェクトアクセスの頻度、外部コードに渡される前記オブジェクトおよびハードウェアによって直接アクセスされる前記オブジェクトから選択される属性を備える、
請求項11に記載の方法(400)。 - 請求項1から12のいずれかに記載のコンピュータ実施方法のステップを実行するためのコンピュータシステム(100)。
- コンピュータプログラムであって、
コンピュータのメモリ内にロードされ、前記コンピュータの少なくとも1つのプロセッサによって実行されるとき、請求項1から12のいずれかに記載のコンピュータ実施方法のステップを実行する、
コンピュータプログラム。 - 前記自動メモリ管理モジュール(150)は、JAVA、C#、PYTHON、JAVASCRIPT、SCALAおよびGOを含む群から選択されるプログラミング言語で記述されるミューテータ(140、140’)のためのランタイム環境(RTE)の一部である、
請求項14に記載のコンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP15174377.0A EP3113026B1 (en) | 2015-06-29 | 2015-06-29 | Automatic memory management using a memory management unit |
EP15174377.0 | 2015-06-29 | ||
PCT/EP2016/064761 WO2017001305A1 (en) | 2015-06-29 | 2016-06-24 | Automatic memory management using a memory management unit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018525724A JP2018525724A (ja) | 2018-09-06 |
JP6505266B2 true JP6505266B2 (ja) | 2019-04-24 |
Family
ID=53761932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017568415A Active JP6505266B2 (ja) | 2015-06-29 | 2016-06-24 | メモリ管理装置を用いた自動メモリ管理 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11176031B2 (ja) |
EP (1) | EP3113026B1 (ja) |
JP (1) | JP6505266B2 (ja) |
CN (1) | CN107924363B (ja) |
ES (1) | ES2747962T3 (ja) |
PL (1) | PL3113026T3 (ja) |
WO (1) | WO2017001305A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3113026B1 (en) | 2015-06-29 | 2019-07-24 | aicas GmbH | Automatic memory management using a memory management unit |
CN106445589A (zh) * | 2016-09-08 | 2017-02-22 | 百富计算机技术(深圳)有限公司 | 嵌入式小系统的应用程序加载方法和装置 |
CN110618840B (zh) * | 2019-08-23 | 2021-12-17 | 宁波方太厨具有限公司 | 一种中央烟道系统的吸油烟机地址码自动匹配方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6209066B1 (en) * | 1998-06-30 | 2001-03-27 | Sun Microsystems, Inc. | Method and apparatus for memory allocation in a multi-threaded virtual machine |
US6950837B2 (en) * | 2001-06-19 | 2005-09-27 | Intel Corporation | Method for using non-temporal streaming to improve garbage collection algorithm |
US7325118B2 (en) | 2003-09-30 | 2008-01-29 | Samsung Electronics, Co., Ltd. | Method and apparatus for executing dynamic memory management with object-oriented program |
GB2406668B (en) * | 2003-10-04 | 2006-08-30 | Symbian Ltd | Memory management in a computing device |
US7490117B2 (en) * | 2003-12-31 | 2009-02-10 | Intel Corporation | Dynamic performance monitoring-based approach to memory management |
US7363456B2 (en) * | 2005-04-15 | 2008-04-22 | International Business Machines Corporation | System and method of allocating contiguous memory in a data processing system |
US7953773B2 (en) * | 2005-07-15 | 2011-05-31 | Oracle International Corporation | System and method for deterministic garbage collection in a virtual machine environment |
JP5224498B2 (ja) | 2007-02-28 | 2013-07-03 | 学校法人早稲田大学 | メモリ管理方法、情報処理装置、プログラムの作成方法及びプログラム |
US8327111B2 (en) * | 2009-03-30 | 2012-12-04 | International Business Machines Corporation | Method, system and computer program product for batched virtual memory remapping for efficient garbage collection of large object areas |
US8200718B2 (en) * | 2009-07-02 | 2012-06-12 | Roberts Michael L | Parallelized, incremental garbage collector |
US8799615B2 (en) * | 2010-10-21 | 2014-08-05 | International Business Machines Corporation | Organization of a small object area and a large object area in a java heap |
US8904008B2 (en) * | 2012-01-09 | 2014-12-02 | Microsoft Corporation | Assignment of resources in virtual machine pools |
JP5586718B2 (ja) * | 2012-06-19 | 2014-09-10 | 株式会社東芝 | 制御プログラム、ホスト装置の制御方法、情報処理装置およびホスト装置 |
WO2014155666A1 (ja) * | 2013-03-29 | 2014-10-02 | 株式会社 東芝 | 論理アドレスと物理アドレスとの間のマッピングを管理するストレージシステム、ストレージコントローラ及び方法 |
CN104732153B (zh) * | 2013-12-18 | 2018-01-12 | 群联电子股份有限公司 | 数据抹除方法、存储器控制电路单元及存储器存储装置 |
CN203882329U (zh) * | 2014-05-30 | 2014-10-15 | 南京莘纳吉物流有限公司 | 一种适用于不同环境、不同对象的电子标签 |
EP3113026B1 (en) | 2015-06-29 | 2019-07-24 | aicas GmbH | Automatic memory management using a memory management unit |
-
2015
- 2015-06-29 EP EP15174377.0A patent/EP3113026B1/en active Active
- 2015-06-29 ES ES15174377T patent/ES2747962T3/es active Active
- 2015-06-29 PL PL15174377T patent/PL3113026T3/pl unknown
-
2016
- 2016-06-24 CN CN201680044291.1A patent/CN107924363B/zh active Active
- 2016-06-24 WO PCT/EP2016/064761 patent/WO2017001305A1/en active Application Filing
- 2016-06-24 JP JP2017568415A patent/JP6505266B2/ja active Active
-
2017
- 2017-12-27 US US15/855,146 patent/US11176031B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP3113026A1 (en) | 2017-01-04 |
ES2747962T3 (es) | 2020-03-12 |
US20180137045A1 (en) | 2018-05-17 |
CN107924363A (zh) | 2018-04-17 |
CN107924363B (zh) | 2021-12-21 |
EP3113026B1 (en) | 2019-07-24 |
PL3113026T3 (pl) | 2020-03-31 |
WO2017001305A1 (en) | 2017-01-05 |
JP2018525724A (ja) | 2018-09-06 |
US11176031B2 (en) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100874702B1 (ko) | 플래시 메모리 파일 시스템을 효율적으로 관리하기 위한장치 드라이버 및 방법 | |
US9405697B2 (en) | Memory management method and apparatus | |
US9058212B2 (en) | Combining memory pages having identical content | |
US9081692B2 (en) | Information processing apparatus and method thereof | |
US8225065B2 (en) | Hierarchical scalable memory allocator | |
JP6130971B2 (ja) | データをフラッシュメモリ装置に書き込む方法、フラッシュメモリ装置及び記憶システム | |
US10942683B2 (en) | Reducing page invalidation broadcasts | |
JP6505266B2 (ja) | メモリ管理装置を用いた自動メモリ管理 | |
US10237233B2 (en) | Allocating identifiers with minimal fragmentation | |
US9772776B2 (en) | Per-memory group swap device | |
US10860472B2 (en) | Dynamically deallocating memory pool subinstances | |
US11403213B2 (en) | Reducing fragmentation of computer memory | |
US11467766B2 (en) | Information processing method, apparatus, device, and system | |
US11226738B2 (en) | Electronic device and data compression method thereof | |
KR20150096177A (ko) | 가비지 컬렉션 수행 방법 및 그 방법을 이용한 플래시 메모리 장치 | |
US9442835B1 (en) | Dynamic memory allocation using suballocation of cell blocks | |
US10579515B1 (en) | Recycling segment pages while preserving integrity of memory addressing | |
US20230273727A1 (en) | Dynamic storage for adaptive mapping for data compression on a storage device | |
US20220171742A1 (en) | Electronic device and method for controlling electronic device | |
KR102334237B1 (ko) | 다중 포그라운드 어플리케이션을 위한 페이지 캐쉬 관리 방법 및 장치 | |
US20230168822A1 (en) | Memory management method and semiconductor device adjusting size of contiguous memory allocation area | |
KR20230081585A (ko) | 연속 메모리 할당 영역의 크기를 조정하는 메모리 관리 방법 및 반도체 장치 | |
KR20070030041A (ko) | 페이징 기법을 이용한 이동통신 단말기의 메모리 관리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181218 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190213 |
|
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: 20190225 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190326 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6505266 Country of ref document: JP 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |