JP2006048237A - メモリマネジメント方法 - Google Patents

メモリマネジメント方法 Download PDF

Info

Publication number
JP2006048237A
JP2006048237A JP2004225879A JP2004225879A JP2006048237A JP 2006048237 A JP2006048237 A JP 2006048237A JP 2004225879 A JP2004225879 A JP 2004225879A JP 2004225879 A JP2004225879 A JP 2004225879A JP 2006048237 A JP2006048237 A JP 2006048237A
Authority
JP
Japan
Prior art keywords
memory
segment
free
size
allocation
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.)
Granted
Application number
JP2004225879A
Other languages
English (en)
Other versions
JP4668562B2 (ja
Inventor
Manabu Yoshioka
学 吉岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aplix Corp
Original Assignee
Aplix Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Aplix Corp filed Critical Aplix Corp
Priority to JP2004225879A priority Critical patent/JP4668562B2/ja
Publication of JP2006048237A publication Critical patent/JP2006048237A/ja
Application granted granted Critical
Publication of JP4668562B2 publication Critical patent/JP4668562B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】コンパクションの発生頻度を減少させ、空きメモリ領域の探索時間を短縮して高速なメモリアロケーションを実現し、更にはメモリ領域不足によるアプリケーションエラーを回避するメモリマネジメントプログラムおよび方法を提供する。
【解決手段】このメモリマネジメントプログラムは、CPU1に、メモリ割り付け要求が発生した場合に、要求されるメモリサイズに応じて、サイズ別のメモリ要求頻度と生存率との統計的データに基づいて分割された複数のメモリセグメントの中から一のメモリセグメントを特定し、当該メモリセグメントの空きメモリにメモリ割り付けを行う機能を実現させる。
【選択図】 図1

Description

本発明は、メモリマネジメント方法に関する。
従来、例えばオペレーティングシステム(以下、OSと称する)上でアプリケーションソフトウェアを実行する場合には、OSからアプリケーションソフトウェア側にヒープを確保した位置のアドレスが渡され、当該アプリケーションソフトウェアは当該アドレスの値を元にして確保したヒープを使用することになる。このような場合も含めて、空きメモリを効率良く管理することは予てから嘱望されている。そして、このような効率的なメモリマネジメントを実現する為の種々の技術が開発されている。
ここで、図8に示されるように、空きメモリを管理する手法の一つである動的メモリ割り付け法では、空きメモリ割り付け表により空きメモリのポインタとサイズを管理しており、当該空きメモリ割り付け表を参照することで、要求されるメモリサイズに応じて適切な空きメモリを割り付けている。そして、使用後の空きメモリは空きメモリ割り付け表に追加され、再使用可能とされる(以下、先行例1と称する)。
そして、図9に示されるように、空きメモリ内にそのサイズ(size)と次の空きメモリの先頭アドレス(next)とを埋め込み、システム側に最初の空きメモリ位置を指すポインタを持たせて、空きメモリをリンクリストで管理する方法がある。この方法では、システムからメモリ割り付け要求があると、空きメモリリンクリストを辿って割り付け可能なサイズの空きメモリを見付けてメモリ割り付けを行う。使用後の空きメモリはリンクリストに追加されて、再利用可能とされる(以下、先行例2と称する)。
また、図10に示されるように、ヒープの片側(低アドレス側または高アドレス側)からメモリ割付を開始し、システム側に使用可能な空きメモリの先端を示すポインタを持たせる方法もある。しかし、この方法では割り付けられたメモリの使用が終わって、実際には空きメモリになっていても、当該ポインタよりもメモリ割り付け開始側(図10では左側)のメモリは再利用できない。そこで、当該ポインタがメモリ割り付けの終端側(図10では右端)に達した際に、使用済みメモリを回収するとともに使用中のメモリをメモリ割り付け開始側(図10では左側)に寄せる処理、すなわちコンパクションを実行し、使用可能な空きメモリの先端をメモリ割り付け開始側に戻し、当該ポインタが指す位置を併せて変更することで、再利用可能とする方法が知られている(以下、先行例3と称する)。
しかしながら、上記先行例1では、空きメモリ割り付け表にサイズ制限があると、管理できる空きメモリの数は有限になる。さらに、空きメモリ割り付け表を参照してから空きメモリを探索することになるので、その分のオーバーヘッドが大きくなる。
そして、上記先行例2では、要求されたサイズのメモリを割り当てるためにリンクリストを順番に探っていく必要がある。従って、空きメモリを順次サーチすると特に空きメモリが細分化して分散している場合(すなわち、所謂フラグメンテーションを起こしている場合)には、処理に時間を要してしまうことになる。
また、先行例3では、メモリアロケーションに関しては高速に処理できるものの、空きメモリの管理ができないため、必要なメモリが不足した場合にはメモリアロケーション自体を諦めるか、コンパクション技法を用いて不要なメモリを回収した後にメモリの移動を行う必要がある。このコンパクションには時間を要することから、迅速なメモリアロケーションを阻害する要因となり得る。
本発明の目的とするところは、コンパクションの発生頻度を減少させ、空きメモリの探索時間を短縮して高速なメモリアロケーションを実現し、メモリ領域不足によるアプリケーションエラーを回避することにある。
上記目的を達成するために、本発明の第1の態様では、制御手段に、メモリ割り付け要求が発生した場合に、要求されるメモリサイズに応じて、サイズ別のメモリ要求頻度と生存率との統計的データに基づいて分割された複数のメモリセグメントの中から一のメモリセグメントを特定し、当該メモリセグメントの空きメモリにメモリ割り付けを行う機能を実現させることを特徴とするメモリマネジメントプログラムが提供される。
上記第1の態様においては、前記複数のメモリセグメントに含まれる空きメモリを、メモリセグメントごとに独立したリンクリストにより管理することができる。
本発明の第2の態様では、制御手段が、メモリ割り付け要求が発生した場合に、要求されるメモリサイズに応じて、サイズ別のメモリ要求頻度と生存率との統計的データに基づいて分割された複数のメモリセグメントの中から一のメモリセグメントを特定するステップと、当該メモリセグメントの空きメモリにメモリ割り付けを行うステップとを実行することを特徴とするメモリマネジメント方法が提供される。
上記第2の態様においては、前記複数のメモリセグメントに含まれる空きメモリを、メモリセグメントごとに独立したリンクリストにより管理することができ、前記複数のメモリセグメントの境界を動的に変更するステップをさらに有することも可能である。また、前記複数のメモリセグメントの各々におけるメモリ割り付けを固定長とすることもできる。さらに、前記複数のメモリセグメントにはアドレス上位側または下位側から順にメモリ割り付けが行われ、各メモリセグメントの空きメモリ領域の先頭を指し示すポインタにより空きメモリが管理されており、このポインタが指すアドレスを起点としてメモリ割り付けが行われるようにしてもよい。さらにまた、上記複数のメモリセグメントのそれぞれが空きメモリ不足となった場合にメモリ割り付けを行うための予備のメモリセグメントを設けてもよい。
本発明によれば、サイズ別のメモリ要求頻度と生存率との統計的データに基づいて分割された複数のメモリセグメントを、要求されるメモリサイズに応じて使い分けることにより、コンパクションの発生頻度を減少させて、高速なメモリアロケーションを実現することができる。特に空きメモリをメモリセグメントごとのリンクリストで管理している場合には、空きメモリの探索時間を短縮することができるので、極めて高速なメモリアロケーションを実現することができる。また、本発明の効果はアドレス上位側または下位側から順にメモリ割り付けが行われ、各メモリセグメントの空きメモリ領域の先頭を指し示すポインタにより空きメモリを管理する場合にも有効である。
以下、図面を参照して本発明の一実施の形態について説明する。
図1には本発明の一実施の形態に係るメモリマネジメント方法を実施するシステムの構成例を示し詳細に説明する。図1に示されるように、本システムは、システム全体の制御を司るCPU1、第1の記憶部2、第2の記憶部3を具備している。そして、このシステムは、各種組み込み機器、例えばホームサーバ等の家庭用ゲートウェイ機器や携帯電話機、PDA(携帯情報端末)等のモバイル端末等に適用可能なものである。
第1の記憶部2には、ポインタテーブル4、OS上で実行されるJava(登録商標)アプリケーション5、クラスライブラリ6、バーチャル・マシン(以下、VMと称する)プログラム7が格納されている。Java(登録商標)アプリケーションはJava(登録商標)言語でソースコードが作成されたものである。クラスライブラリ6には、様々な機能を有する複数のメソッドがカテゴリ毎にクラスに分類されて集められている。
また、第2の記憶部3は揮発性の記憶素子であるRAM等により構成されており、そのメモリ領域の一部は第1〜第n(nは自然数)メモリセグメントに分割されていて、VMがJava(登録商標)アプリケーションを実行するためのヒープ領域として使用される。これら各メモリセグメントにおける空きメモリは、それぞれ独立したリンクリストで管理されており、ポインタテーブル4は各リンクリストにおける最初の空きメモリの先頭アドレスに対するポインタを保持している。 すなわち、ポインタテーブル4を参照することにより、第1〜第nメモリセグメントのいずれかの空きメモリの1つに到達することができ、さらにリンクリストにより各メモリセグメント内の他の空きメモリを辿ることができるようになっている。
この例では、メモリサイズは第1のメモリセグメントはmem1未満、第2のメモリセグメントはmem1以上mem2未満、第3メモリセグメントはmem2以上mem3未満、・・・、第nメモリセグメントはmem[n−1]以上のサイズのオブジェクトが割り付けられるようになっている。
この実施の形態では、上記のようにJava(登録商標)アプリケーションを実行するためのヒープ領域が、割り付けられるメモリ(オブジェクト)のサイズに応じたメモリセグメントに分割されており、各メモリセグメント毎に独立したリンクリストにより空きメモリの管理がなされることを特徴の一つとしている。
本発明者らは、Java(登録商標)アプリケーション実行中に発生するメモリ割り付け要求について、その要求メモリサイズと割り付けられたメモリ(オブジェクト)の生存する長さとを調査した結果、要求メモリサイズによってメモリ割り付け要求の発生頻度には偏りがあり、また、サイズによってオブジェクトの生存率も相違していることを見出した。さらに、メモリサイズ毎のメモリ割り付け要求の発生頻度と生存率との乗算値をもって当該サイズのオブジェクトについて必要なヒープサイズを予測することができることから、ヒープ領域を当該ヒープサイズ毎のメモリセグメントに分割し、要求メモリサイズに応じて各メモリセグメントを使い分けることで、より効率的なメモリマネジメントが可能になることを見出した。特に、空きメモリをリンクリストにより管理する方法においては、上記のようにヒープ領域をメモリセグメントに分割し、各メモリセグメントを独立したリンクリストで管理することで、個々のリンクリストを短縮して空きメモリの探索に要するオーバーヘッドを軽減することも可能である。
具体的には、例えば第1メモリセグメントは0〜4byte、第2メモリセグメントは4〜8byte、第nメモリセグメントは32byte以上のようにメモリセグメントを分割するようにしてもよい。
このように要求メモリサイズに応じて複数のメモリセグメントを使い分けることにより、各メモリセグメントにおけるメモリ利用の単位を所定の範囲内に納めることができる。したがって、メモリ割り付け可能な空きメモリを速やかに見出すことが可能であり、迅速なメモリ割り付けが可能となるのである。
ここで、図2及び図3を参照して、上記構成のシステムによるメモリマネジメントについて詳細に説明する。尚、図2は分割された第1〜第nメモリセグメントと各ポインタとの関係を示す図であり、図3はメモリセグメント内の空きメモリを管理するリンクリストの説明図である(ここでは第1メモリセグメントを例示)。これら図2及び図3において、破線部分は使用中メモリを示し、その他は空きメモリを示している。
前述したように、ヒープは複数のメモリセグメントに分割されており、ポインタテーブル4には各メモリセグメントの空きメモリの1つへのポインタを保持している。このメモリマネジメント方法では、メモリ割り付けの要求が発生すると、要求されたメモリサイズに応じて第1〜第nメモリセグメントのいずれかを選択し、選択したメモリセグメントの空きメモリへのポインタをポインタテーブル4より読み出し、当該空きメモリにアクセスする。各メモリセグメントの空きメモリには自分のサイズと次の空きメモリへのポインタとが格納されており、リンクリストをなしているので、このリンクリストを辿って割り付け可能なサイズの空きメモリを見付けてメモリ割り付けを行う。
例えば、図3の例では、先ず要求されたメモリサイズに応じて第1のメモリセグメントが選択され、当該第1のメモリセグメントの空きメモリに対するポインタがポインタテーブル4より読み出され、当該第1のメモリセグメント内の空きメモリがなすリンクリストを#1→#2→#3→#4→#5と辿って、割り付け可能なサイズの空きメモリを見付けてオブジェクトを割り付ける。
ここで、図4(a)はヒープをメモリセグメントに分割していない場合におけるメモリアロケーションの概略図であり、図4(b)は本実施の形態に係るシステムによるメモリアロケーションの様子を示す図である。
図4(a)に示す例では、1回のサーチに時間tだけ要すると仮定すると要求サイズの空きメモリを見出すまでにt×サーチ回数だけ要することになるが、図4(b)に示す例では、先ず要求メモリサイズによりメモリセグメントが選択されるので、高速なメモリアロケーションが実現される。すなわち、この図4(b)に示される例では、要求メモリサイズSがN1<S<N2であることから、N1超N2未満のオブジェクトが割り付けられるメモリセグメントのみを対象として空きメモリのサーチを行う。このため、図4(a)のように全空きメモリを対象としてサーチを行う場合に比べて、図4(b)の場合にはメモリ割り付け可能な空きメモリを見出すまでの時間が短くなるのである。
さらに、図5に示されるように、経験則から同程度のサイズのメモリの取得と開放は定常状態ではバランスを保つため、同程度のサイズのメモリが空いている確率は高い。したがって、本実施の形態によれば、メモリ不足とコンパクションの発生が回避され、これがメモリ割り付け可能な空きメモリの発見に要する時間を短縮できることと相俟って、高速なメモリアロケーションが実現されるのである。
次に、図6及び図7のフローチャートを参照して、本発明の一実施の形態に係るメモリマネジメント方法について詳細に説明する。ここでは、図1を適宜参照する。
この方法に基づく処理を開始すると、先ず要求されているメモリサイズを判断し、その結果に応じてステップS102−1,S102−2,・・・,S102−nに分岐する(ステップS101)。すなわち、要求メモリサイズがmem1未満である場合には第1のメモリセグメントにある空きメモリへのポインタをポインタテーブル4より取得し(ステップS102−1)、mem1〜mem2の範囲内である場合には第2のメモリセグメントにある空きメモリへのポインタをポインタテーブル4より取得し(ステップS102−2)、・・・、mem[n-1]以上である場合には第nのメモリセグメントにある空きメモリへのポインタをポインタテーブル4より取得する(ステップS102−2)。
続いて、取得されたポインタにより選択されたメモリセグメントの空きメモリ、すなわち当該メモリセグメントの空きメモリを管理するリンクリストの最初の空きメモリを認識し(ステップS103)、この認識された空きメモリの大きさが要求サイズ以上であるかを判断する(ステップS104)。ここで、要求サイズ以上である場合には、認識中の空きメモリにメモリ割り付けを行い(ステップS105)、処理を終了する。
一方、要求サイズ未満である場合にはリンクリストの最後であるか否かを判断し(ステップS106)、最後でない場合にはリンクリストを利用して次の空きメモリを認識し(ステップS107)、上記ステップS104に戻り、上記処理を繰り返す。
上記ステップS106において、リンクリストの最後であると判断された場合には、メモリセグメント単位でのコンパクション処理を実施し(ステップS108)、ポインタの値を修正し(ステップS109)、得られた空きメモリの容量が要求サイズ以上であるか判断する(ステップS110)。そして、要求サイズ以上である場合には、この得られた空きメモリにメモリ割り付けを行い(ステップS111)、本処理を終了する。
一方、要求サイズ未満である場合には、エラー発生と判断し(ステップS112)、本処理を終了する。
以上説明したように、本発明の一実施の形態に係るメモリマネジメント方法では、メモリサイズ毎のメモリ割り付け要求の発生頻度と生存率との乗算値をもって当該サイズのオブジェクトについて必要なヒープサイズを予測し、ヒープ領域を当該ヒープサイズ毎のメモリセグメントに分割し、要求メモリサイズに応じて各メモリセグメントを使い分けることにより、効率的なメモリマネジメントを実現している。また、上記実施形態では空きメモリを各々リンクリストにより管理しているので、ヒープ領域をメモリセグメントに分割することでリンクリストを短縮することができ、これにより空きメモリの探索に要するオーバーヘッドを軽減することができる。
以上、本発明の実施の形態について説明したが、本発明はこれに限定されることなくその趣旨を逸脱しない範囲で種々の改良・変更が可能であることは勿論である。
例えば、各メモリセグメントの境界は動的に変更可能な構成とすれば、あるメモリセグメントのメモリが圧迫されることを防止することが可能である。その場合には、例えば、あるメモリセグメントにおいて空きメモリの量が一定値よりも少なくなった場合には、そのメモリセグメントを拡げるように境界を変更してもよい。また、実際のJava(登録商標)アプリケーション実行時に発生するメモリ割り付け要求の傾向を測定しておき、各メモリセグメントの境界をその傾向に沿った形に動的に変更するようにすることも可能である。
また、各メモリセグメントにおけるメモリ割り付けを固定長とすれば、オーバーヘッドを軽くすることができる。この場合には、リンクリストからsizeが不要となる。
また、各メモリセグメントで線形にメモリアロケーションポイントを移動させる方法を採用してもよい。この場合には、コンパクションが対象とするメモリサイズが小さくなるのでコンパクションのオーバーヘッドを軽減するという効果を得ることができる。さらに、個々のメモリセグメントでメモリ領域不足となった場合に、それを補うための領域を別途(独立したメモリセグメントとして)設けてもよい。
さらに、上記実施形態では、Java(登録商標)実行環境に本発明を適用した場合を示したが、本発明の範囲がこれに限られるものではないことは言うまでもないことである。
本発明の一実施の形態に係るメモリマネジメント方法を実施するシステムの構成図。 分割された第1〜第nメモリセグメントと各ポインタとの関係を示す図。 メモリセグメント内の空きメモリを管理するリンクリストの説明図。 (a)はヒープを割り付けるメモリのサイズに応じたメモリセグメント分割を行っていない場合のメモリアロケーションの様子を示す図、(b)は本実施の形態に係るシステムによるメモリアロケーションの様子を示す図。 経験則から同程度のサイズのメモリの取得と開放は定常状態ではバランスを保つことが明らかであるので、同程度のサイズのメモリが空いている確率は高いことを説明するための図。 本発明の一実施の形態に係るメモリマネジメント方法について詳細に説明するフローチャート。 本発明の一実施の形態に係るメモリマネジメント方法について詳細に説明するフローチャート。 従来技術に係る空きメモリを管理する手法の一つである動的メモリ割り付け法の説明図。 従来技術に係る空きメモリリンクリストで空きメモリを管理する方法の説明図。 従来技術に係る線形にメモリアロケーションポイントを移動させる方法の説明図。
符号の説明
1・・・CPU、2・・・第1記憶部、3・・・第2記憶部、4・・・ポインタテーブル、5・・・Java(登録商標)アプリケーション、6・・・クラスライブラリ、7・・・VMプログラム。

Claims (8)

  1. 制御手段に、メモリ割り付け要求が発生した場合に、要求されるメモリサイズに応じて、サイズ別のメモリ要求頻度と生存率との統計的データに基づいて分割された複数のメモリセグメントの中から一のメモリセグメントを特定し、当該メモリセグメントの空きメモリにメモリ割り付けを行う機能を実現させることを特徴とするメモリマネジメントプログラム。
  2. 前記複数のメモリセグメントに含まれる空きメモリは、メモリセグメントごとに独立したリンクリストにより管理されていることを特徴とする請求項1に記載のメモリマネジメントプログラム。
  3. 制御手段が、メモリ割り付け要求が発生した場合に、
    要求されるメモリサイズに応じて、サイズ別のメモリ要求頻度と生存率との統計的データに基づいて分割された複数のメモリセグメントの中から一のメモリセグメントを特定するステップと、
    当該メモリセグメントの空きメモリにメモリ割り付けを行うステップと
    を実行することを特徴とするメモリマネジメント方法。
  4. 前記複数のメモリセグメントに含まれる空きメモリは、メモリセグメントごとに独立したリンクリストにより管理されていることを特徴とする請求項3に記載のメモリマネジメント方法。
  5. 前記複数のメモリセグメントの境界を動的に変更するステップをさらに有することを特徴とする請求項3または請求項4に記載のメモリマネジメント方法。
  6. 前記複数のメモリセグメントの各々におけるメモリ割り付けを固定長とすることを特徴とする請求項3から請求項5のいずれか1項に記載のメモリマネジメント方法。
  7. 前記複数のメモリセグメントにはアドレス上位側または下位側から順にメモリ割り付けが行われ、各メモリセグメントの空きメモリ領域の先頭を指し示すポインタにより空きメモリが管理されており、このポインタが指すアドレスを起点としてメモリ割り付けが行われることを特徴とする請求項3に記載のメモリマネジメント方法。
  8. 上記複数のメモリセグメントのそれぞれが空きメモリ不足となった場合にメモリ割り付けを行うための予備メモリセグメントが設けられていることを特徴とする請求項3から請求項7のいずれか1項に記載のメモリマネジメント方法。
JP2004225879A 2004-08-02 2004-08-02 メモリマネジメントプログラムおよびメモリマネジメント方法 Expired - Fee Related JP4668562B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004225879A JP4668562B2 (ja) 2004-08-02 2004-08-02 メモリマネジメントプログラムおよびメモリマネジメント方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004225879A JP4668562B2 (ja) 2004-08-02 2004-08-02 メモリマネジメントプログラムおよびメモリマネジメント方法

Publications (2)

Publication Number Publication Date
JP2006048237A true JP2006048237A (ja) 2006-02-16
JP4668562B2 JP4668562B2 (ja) 2011-04-13

Family

ID=36026734

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004225879A Expired - Fee Related JP4668562B2 (ja) 2004-08-02 2004-08-02 メモリマネジメントプログラムおよびメモリマネジメント方法

Country Status (1)

Country Link
JP (1) JP4668562B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008065764A (ja) * 2006-09-11 2008-03-21 Aplix Corp メモリアロケーション方法およびメモリアロケーションプログラム
JP2009211219A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
US8930614B2 (en) 2011-07-29 2015-01-06 Kabushiki Kaisha Toshiba Data storage apparatus and method for compaction processing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6410365A (en) * 1987-07-03 1989-01-13 Fuji Electric Co Ltd Alternate buffer automatic acquisition system
JPH02311936A (ja) * 1989-05-26 1990-12-27 Nec Software Ltd ヒープ領域管理方式
JPH0962564A (ja) * 1995-08-24 1997-03-07 Nec Corp バッファ割り当て制御システム
JP2000132396A (ja) * 1998-10-28 2000-05-12 Fujitsu Ltd インスタンス管理方法及び情報処理装置
JP2003196152A (ja) * 2001-12-27 2003-07-11 Nec Corp メモリプール管理方式

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6410365A (en) * 1987-07-03 1989-01-13 Fuji Electric Co Ltd Alternate buffer automatic acquisition system
JPH02311936A (ja) * 1989-05-26 1990-12-27 Nec Software Ltd ヒープ領域管理方式
JPH0962564A (ja) * 1995-08-24 1997-03-07 Nec Corp バッファ割り当て制御システム
JP2000132396A (ja) * 1998-10-28 2000-05-12 Fujitsu Ltd インスタンス管理方法及び情報処理装置
JP2003196152A (ja) * 2001-12-27 2003-07-11 Nec Corp メモリプール管理方式

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008065764A (ja) * 2006-09-11 2008-03-21 Aplix Corp メモリアロケーション方法およびメモリアロケーションプログラム
JP2009211219A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
JP4675985B2 (ja) * 2008-03-01 2011-04-27 株式会社東芝 メモリシステム
US8930614B2 (en) 2011-07-29 2015-01-06 Kabushiki Kaisha Toshiba Data storage apparatus and method for compaction processing

Also Published As

Publication number Publication date
JP4668562B2 (ja) 2011-04-13

Similar Documents

Publication Publication Date Title
US7716258B2 (en) Method and system for multiprocessor garbage collection
US8504792B2 (en) Methods and apparatuses to allocate file storage via tree representations of a bitmap
US10372601B2 (en) Managing memory in a computer system
CN105159777A (zh) 进程的内存回收方法及装置
US8250121B2 (en) Zero-copy maturing of large objects in generational heap with copying collection
US20140115291A1 (en) Numa optimization for garbage collection of multi-threaded applications
CN106383666B (zh) 一种数据存储方法及装置
US11221947B2 (en) Concurrent garbage collection with minimal graph traversal
CN111324427A (zh) 一种基于dsp的任务调度方法及装置
CN114327917A (zh) 内存管理方法、计算设备及可读存储介质
CN108829345B (zh) 日志文件的数据处理方法和终端设备
JP4668562B2 (ja) メモリマネジメントプログラムおよびメモリマネジメント方法
US20170255548A1 (en) Method and system for dynamically updating data fields of buffers
EP4369191A1 (en) Memory scanning method and apparatus
JP2018132948A (ja) 読込プログラム、読込方法および情報処理装置
CN111666150A (zh) 存储空间的分配方法、装置、终端及计算机可读存储介质
KR101744017B1 (ko) 실시간 검색을 위한 데이터 인덱싱 방법 및 장치
CN108345551B (zh) 一种存储数据的方法及装置
CN109542806B (zh) 总线数据解析方法、装置及存储介质
JP4540556B2 (ja) データアクセス方法及びそのプログラム
US8880828B2 (en) Preferential block recycling in a redirect-on-write filesystem
CN112506813A (zh) 一种内存管理方法和系统
CN112947863A (zh) 一种飞腾服务器平台下存储空间合并成的方法
US20190129843A1 (en) Method and system for parallel mark processing
JP2014170430A (ja) メモリ管理方法、データ要素回収方法とデータ要素回収プログラム、情報処理装置およびその制御方法と制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061020

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101012

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101210

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: 20110104

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: 20110113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140121

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees