JP5489991B2 - メモリ割り当ての機構 - Google Patents
メモリ割り当ての機構 Download PDFInfo
- Publication number
- JP5489991B2 JP5489991B2 JP2010510749A JP2010510749A JP5489991B2 JP 5489991 B2 JP5489991 B2 JP 5489991B2 JP 2010510749 A JP2010510749 A JP 2010510749A JP 2010510749 A JP2010510749 A JP 2010510749A JP 5489991 B2 JP5489991 B2 JP 5489991B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- byte
- allocation
- data
- bytes
- 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
- 230000007246 mechanism Effects 0.000 title description 18
- 238000012545 processing Methods 0.000 claims description 46
- 238000000034 method Methods 0.000 claims description 31
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002195 synergetic effect Effects 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
- 239000002699 waste material Substances 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
ここで示す例では、小さい命令またはデータ・セグメントを保存するのに必要なメモリの空間は、全体で16バイトである。従来の16バイト・システムであれば、割り当ての各々(1、2、4、および8バイト)が16バイトずつ占めるため、4×16=64、さらにヘッダ用に+16バイト(すなわち、4つのヘッダ各々に4バイトずつ)で80に等しくなるので、80バイトが割り当てられるだろう。当然分かるように、開示の機構は、メモリに64バイトの節約をもたらす(すなわち、80−16=64)。
上記に示す例では、命令またはデータの小セグメントを保存するのに必要な空間すなわちメモリは16バイトである。この場合、従来のシステムであれば、120バイト(6×(16+4))が割り当てられることになる。当然分かるように、上述した機構は、メモリに104バイトの節約(120−16)をもたらすことになる。開示の機構は、上記の圧縮されたまたは「詰め込まれた」形態にて、コード・サイズと効率性とのトレードオフを与えることができ、このトレードオフは、メモリ資源の限られたセル・タイプ・プロセッサのような組み込みプロセッサに有用である。上述のように、ヘッダ形式の情報は、利用されるアドレスに符号化することができる。
Claims (4)
- メモリ割り当て要求を受信するステップであって、前記要求は、保存対象のデータ量を示している、前記受信するステップと、
前記保存対象のデータ量は非標準の量であると判断するステップと、
前記保存対象のデータの非標準のデータ量の整数倍の数に基づいた未使用のメモリ・アドレスを探し出すステップと、
前記未使用のメモリ・アドレスを利用して前記データを保存するステップを含み、
前記探し出すステップは、メモリ・アドレスのプールから未使用のメモリ・アドレスを探し出すステップをさらに含み、前記メモリ・アドレスのプールは、セグメントの前記整数倍の数のアドレスを含み、前記セグメントの数の2倍数であるアドレスは含まない、
方法。 - 標準割り当ては、メモリ空間の16バイト割り当てであって、非標準割り当ては、8バイト、4バイト、2バイトまたは1バイト割り当てのうちの1つである、請求項1に記載の方法。
- 命令の処理に基づいて、データを保存する連続したメモリの量を算出するステップと、
要求を使って前記データを保存するメモリ・アドレスを要求するステップであって、前記要求は、要求される連続したメモリの量のインジケータを含む、前記要求するステップと、
前記連続したメモリの量の整数倍の数であるメモリ・アドレスを受信するステップと、
前記メモリ・アドレスに前記データを保存するステップと、
探し出すステップをさらに含み、
前記探し出すステップが、メモリ・アドレスのプールから未使用のメモリ・アドレスを探し出すステップをさらに含み、前記メモリ・アドレスのプールは、前記セグメントの前記整数倍の数のアドレスを含み、前記セグメントの数の2倍数であるアドレスは含まない、
方法。 - 前記データが標準サイズであるかどうかを判断するステップと、前記データが標準サイズである場合には標準割り当てを提供するステップとをさらに含み、任意的に、標準割り当ては、メモリ空間の16バイト割り当てであって、非標準割り当ては、8バイト、4バイト、2バイト、または1バイト割り当てのうちの1つである、請求項3に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/758,321 | 2007-06-05 | ||
US11/758,321 US8015385B2 (en) | 2007-06-05 | 2007-06-05 | Arrangements for memory allocation |
PCT/EP2008/056653 WO2008148704A1 (en) | 2007-06-05 | 2008-05-30 | Arrangements for memory allocation |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010529545A JP2010529545A (ja) | 2010-08-26 |
JP5489991B2 true JP5489991B2 (ja) | 2014-05-14 |
Family
ID=39711015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010510749A Expired - Fee Related JP5489991B2 (ja) | 2007-06-05 | 2008-05-30 | メモリ割り当ての機構 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8015385B2 (ja) |
EP (1) | EP2153330B1 (ja) |
JP (1) | JP5489991B2 (ja) |
CN (1) | CN101681297B (ja) |
WO (1) | WO2008148704A1 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8082387B2 (en) * | 2007-10-29 | 2011-12-20 | Micron Technology, Inc. | Methods, systems, and devices for management of a memory system |
US8250336B2 (en) * | 2008-02-25 | 2012-08-21 | International Business Machines Corporation | Method, system and computer program product for storing external device result data |
US8527736B1 (en) | 2010-09-07 | 2013-09-03 | Adtran, Inc. | Systems and methods for improving address translation speed |
EP2798499B1 (en) | 2011-12-27 | 2020-11-18 | Intel Corporation | Methods and apparatus to manage workload memory allocation |
US8700838B2 (en) | 2012-06-19 | 2014-04-15 | Concurix Corporation | Allocating heaps in NUMA systems |
US9047196B2 (en) | 2012-06-19 | 2015-06-02 | Concurix Corporation | Usage aware NUMA process scheduling |
US9575813B2 (en) | 2012-07-17 | 2017-02-21 | Microsoft Technology Licensing, Llc | Pattern matching process scheduler with upstream optimization |
US9043788B2 (en) | 2012-08-10 | 2015-05-26 | Concurix Corporation | Experiment manager for manycore systems |
US8656135B2 (en) * | 2012-11-08 | 2014-02-18 | Concurix Corporation | Optimized memory configuration deployed prior to execution |
US8607018B2 (en) | 2012-11-08 | 2013-12-10 | Concurix Corporation | Memory usage configuration based on observations |
US8656134B2 (en) * | 2012-11-08 | 2014-02-18 | Concurix Corporation | Optimized memory configuration deployed on executing code |
US20130219372A1 (en) | 2013-03-15 | 2013-08-22 | Concurix Corporation | Runtime Settings Derived from Relationships Identified in Tracer Data |
WO2015094258A1 (en) * | 2013-12-19 | 2015-06-25 | Hewlett-Packard Development Company, L.P. | Transmission of command strings and status strings via memory bus |
US9582413B2 (en) * | 2014-12-04 | 2017-02-28 | International Business Machines Corporation | Alignment based block concurrency for accessing memory |
US10698687B1 (en) | 2017-09-05 | 2020-06-30 | Apple Inc. | Pipelined resource allocation using size aligned allocation |
US10824369B2 (en) * | 2018-07-31 | 2020-11-03 | Nutanix, Inc. | Elastic method of remote direct memory access memory advertisement |
CN111352723A (zh) * | 2018-12-21 | 2020-06-30 | 创发信息科技(苏州)有限公司 | 跨进程共享存储器动态分配的方法 |
US11010070B2 (en) * | 2019-01-31 | 2021-05-18 | Ralph Crittenden Moore | Methods for aligned, MPU region, and very small heap block allocations |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5666514A (en) * | 1994-07-01 | 1997-09-09 | Board Of Trustees Of The Leland Stanford Junior University | Cache memory containing extra status bits to indicate memory regions where logging of data should occur |
US6643765B1 (en) | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
US7146479B2 (en) * | 2001-07-18 | 2006-12-05 | City U Research Limited | Method and apparatus of storage allocation/de-allocation in object-oriented programming environment |
US6088777A (en) * | 1997-11-12 | 2000-07-11 | Ericsson Messaging Systems, Inc. | Memory system and method for dynamically allocating a memory divided into plural classes with different block sizes to store variable length messages |
US6643754B1 (en) * | 2000-02-15 | 2003-11-04 | International Business Machines Corporation | System and method for dynamically allocating computer memory |
US6757802B2 (en) | 2001-04-03 | 2004-06-29 | P-Cube Ltd. | Method for memory heap and buddy system management for service aware networks |
US7003597B2 (en) * | 2003-07-09 | 2006-02-21 | International Business Machines Corporation | Dynamic reallocation of data stored in buffers based on packet size |
US7181587B1 (en) * | 2003-08-18 | 2007-02-20 | Cray Inc. | Mapping an arbitrary number of contiguous memory pages at an arbitrary alignment |
EP1619584A1 (en) * | 2004-02-13 | 2006-01-25 | Jaluna SA | Memory allocation |
US7747834B2 (en) * | 2004-09-30 | 2010-06-29 | Kyocera Wireless Corp. | Memory manager for an embedded system |
US7334104B2 (en) * | 2004-11-20 | 2008-02-19 | International Business Machines Corporation | Satisfying memory allocation requests from memory pool or lookaside lists based on memory size requested to be allocated |
US7610468B2 (en) * | 2006-10-26 | 2009-10-27 | Hewlett-Packard Development Company, L.P. | Modified buddy system memory allocation |
-
2007
- 2007-06-05 US US11/758,321 patent/US8015385B2/en not_active Expired - Fee Related
-
2008
- 2008-05-30 JP JP2010510749A patent/JP5489991B2/ja not_active Expired - Fee Related
- 2008-05-30 CN CN200880015840.8A patent/CN101681297B/zh not_active Expired - Fee Related
- 2008-05-30 WO PCT/EP2008/056653 patent/WO2008148704A1/en active Application Filing
- 2008-05-30 EP EP08760244A patent/EP2153330B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8015385B2 (en) | 2011-09-06 |
EP2153330B1 (en) | 2012-11-28 |
WO2008148704A1 (en) | 2008-12-11 |
JP2010529545A (ja) | 2010-08-26 |
US20080307187A1 (en) | 2008-12-11 |
CN101681297A (zh) | 2010-03-24 |
EP2153330A1 (en) | 2010-02-17 |
CN101681297B (zh) | 2013-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5489991B2 (ja) | メモリ割り当ての機構 | |
US6549995B1 (en) | Compressor system memory organization and method for low latency access to uncompressed memory regions | |
JP3599352B2 (ja) | フレキシブルなn−ウェイ・メモリ・インターリーブ方式 | |
RU2509347C2 (ru) | Гибкое увеличение страниц памяти | |
US20100005222A1 (en) | Optimizing virtual memory allocation in a virtual machine based upon a previous usage of the virtual memory blocks | |
US9715453B2 (en) | Computing method and apparatus with persistent memory | |
EP0931290A1 (en) | Address mapping for system memory | |
KR102521051B1 (ko) | 하이브리드 데이터 룩-업 방법 | |
CN111104347B (zh) | 堆内存块查找方法、装置、设备及存储介质 | |
US6961840B2 (en) | Method and apparatus for managing a dynamic alias page table | |
US6779100B1 (en) | Method and device for address translation for compressed instructions | |
US9389997B2 (en) | Heap management using dynamic memory allocation | |
US9323774B2 (en) | Compressed pointers for cell structures | |
JP2024054306A (ja) | ハードウェアベースのメモリ圧縮 | |
US20090157995A1 (en) | Dynamic memory management in an rdma context | |
EP2466452B1 (en) | Register file and computing device using same | |
KR20030055467A (ko) | 다단계 분할을 이용한 기억소자 할당방법 | |
US20060190689A1 (en) | Method of addressing data in a shared memory by means of an offset | |
US9298460B2 (en) | Register management in an extended processor architecture | |
US7805581B2 (en) | Multiple address and arithmetic bit-mode data processing device and methods thereof | |
US5283878A (en) | Method and apparatus for encoding data types for object identification | |
US20040083350A1 (en) | Zero delay data cache effective address generation | |
US6981122B2 (en) | Method and system for providing a contiguous memory address space | |
EP0967553A2 (en) | Method of and apparatus for processing information, and providing medium | |
US8645651B2 (en) | Low-contention update buffer queuing for small systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110422 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121127 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130611 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130621 |
|
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: 20140204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140225 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5489991 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |