JPH06309220A - Memory control system - Google Patents

Memory control system

Info

Publication number
JPH06309220A
JPH06309220A JP12220393A JP12220393A JPH06309220A JP H06309220 A JPH06309220 A JP H06309220A JP 12220393 A JP12220393 A JP 12220393A JP 12220393 A JP12220393 A JP 12220393A JP H06309220 A JPH06309220 A JP H06309220A
Authority
JP
Japan
Prior art keywords
garbage collection
space
memory address
cell
address space
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
JP12220393A
Other languages
Japanese (ja)
Other versions
JP2580519B2 (en
Inventor
Yuichi Yoshida
裕一 吉田
Masatoshi Sato
正俊 佐藤
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP5122203A priority Critical patent/JP2580519B2/en
Publication of JPH06309220A publication Critical patent/JPH06309220A/en
Application granted granted Critical
Publication of JP2580519B2 publication Critical patent/JP2580519B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PURPOSE:To provide the system which is high in the utilization efficiency of a memory address space and improves the execution efficiency of garbage collection by performing the garbage collection in the memory address space by a moving method first, and then performing subsequent collection by a lateral sliding method by link inversion if a copy space is deficient during the execution of the garbage collection. CONSTITUTION:Each of utilization space and a copy space is assigned by 1/2 first and normal processing other than the garbage collection is performed (step S3), and, for example, the garbage collection becomes necessary. Then the garbage collection by the moving method is started (step S4) and when the garbage collection normally ends (step S5), namely, when the amount of active cells matches an estimated amount or is less than the estimate amount, the garbage collection normally ends. When the garbage collection does not normally end in the step S5, on the other hand, the garbage collection is performed by the lateral sliding method by link inversion.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、計算機システムでのガ
ーベジコレクションを効率的に実現することのできるメ
モリ制御方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory control system capable of efficiently implementing garbage collection in a computer system.

【0002】[0002]

【従来の技術】メモリアドレス空間における不要情報の
収集を行うためにガーベジコレクションが行われてお
り、このようなガーベジコレクションのアルゴリズムと
しては、「移動法」や「リンク反転による横滑り法」等
がある。上記移動法とは、メモリアドレス空間を二等分
し、先ず、一方の部分空間のみに情報を格納し、これに
よって自由セル{未使用のセル(=領域)}がなくなっ
たとき、ルート(リンクの出発点となる特定のセル)か
ら到達可能なセル、即ちアクティブセルをもう一方の部
分空間へコピーするものである。
2. Description of the Related Art Garbage collection is performed in order to collect unnecessary information in a memory address space. As algorithms for such garbage collection, there are "movement method" and "sideslip method by link inversion". . The move method is to divide the memory address space into two equal parts, and first store the information in only one of the partial spaces. When the free cell {unused cell (= area)} disappears, the root (link The cell that is reachable from the specific cell that is the starting point of, that is, the active cell is copied to the other subspace.

【0003】また、リンク反転による横滑り法とは、ア
クティブセルの並び順を保持したまま、アクティブセル
をメモリアドレス空間末端に集める方法であり、その印
づけにスタックを使わないという特徴を持っている。
The skid method by link inversion is a method of collecting active cells at the end of the memory address space while maintaining the order of arrangement of the active cells, and has a feature that a stack is not used for marking. .

【0004】図2は、そのリンク反転による横滑り法の
説明図である。先ず、メモリアドレス空間において、
(A)ではセルaがセルbを指している状態である。即
ち、セルaがセルbへのポインタを持っている場合であ
る。ここで、セルaを矢印の方向を移動させようとした
場合、このセルaは自由に移動することができる。これ
は、セルaを移動させたとしても、セルbへのポインタ
は変化しないからである。
FIG. 2 is an explanatory diagram of the sideslip method by the link inversion. First, in the memory address space,
In (A), cell a is pointing to cell b. That is, cell a has a pointer to cell b. Here, when the cell a is to be moved in the direction of the arrow, this cell a can move freely. This is because the pointer to cell b does not change even if cell a is moved.

【0005】一方、(B)に示すように、他のセル(こ
こではセルb)から指されているセル(ここではセル
a)は自由に移動することができない。即ち、セルaを
移動すると、セルbのポインタを修正しなければならな
いが、他のセルから指されているセルは、どのセルから
指されているかは分からないため、このような修正はで
きないためである。
On the other hand, as shown in (B), the cell (here, cell a) pointed to by another cell (here, cell b) cannot move freely. That is, when the cell a is moved, the pointer of the cell b must be corrected, but the cell pointed to by another cell cannot be known because it is not known from which cell the cell is pointed. Is.

【0006】即ち、あるセルを移動させようとした場
合、そのポインタと逆方向であれば自由に移動できる
が、ポインタと同方向の場合はそのままでは移動できな
いことになる。
That is, when a certain cell is to be moved, it can be moved freely in the opposite direction of the pointer, but cannot be moved as it is in the same direction as the pointer.

【0007】そこで、上記図2(B)のような場合は、
図2(C1)〜(C3)に示すように行う。先ず、(C
1)に示すように、一旦ポインタを逆転させ、ポインタ
をセルの移動方向とは逆方向になるようにする。尚、こ
のポインタの付け替えは、全ての領域を1回走査し、セ
ルbのポインタがセルaであることを確認することで行
うことができる。
Therefore, in the case as shown in FIG.
This is performed as shown in FIGS. 2 (C1) to (C3). First, (C
As shown in 1), the pointer is once reversed so that the pointer is in the direction opposite to the moving direction of the cell. It should be noted that this pointer replacement can be performed by scanning all areas once and confirming that the pointer of the cell b is the cell a.

【0008】上記(C1)でポインタがセルの移動方向
と逆方向となったため、セルaは自由に移動できるよう
になり、従って、これをメモリアドレス空間の末端とし
てメモリアドレス先頭ブロックに移動する。この状態が
(C2)である。そして、セルaの移動が終了すると、
再度、メモリアドレス空間を走査し、(C3)に示すよ
うに、ポインタを逆転させ、これによって、(B)に示
す状態であってもセルaを移動させることができる。こ
のようにして、リンク反転による横滑り法では、アクテ
ィブセルをメモリアドレス空間の末端(先頭メモリアド
レス方向)に収集し、ガーベジコレクションを実行す
る。
In (C1), since the pointer is in the direction opposite to the moving direction of the cell, the cell a can be moved freely, and therefore, the cell a is moved to the memory address head block as the end of the memory address space. This state is (C2). Then, when the movement of the cell a is completed,
The memory address space is again scanned, and the pointer is reversed as shown in (C3), whereby the cell a can be moved even in the state shown in (B). In this way, in the skid method by link inversion, active cells are collected at the end of the memory address space (in the direction of the first memory address), and garbage collection is executed.

【0009】[0009]

【発明が解決しようとする課題】上述したリンク反転に
よる横滑り法は、印付けにスタックを使用しないという
特長を持っているが、その反面、メモリアドレス空間を
その全体に亘って二度走査するため、実行効率は良くな
いといった欠点を持っている。即ち、アクティブセル量
が少ない時は、“移動法”が有利である。
The skid method by link inversion described above has a feature that a stack is not used for marking, but on the other hand, since the memory address space is scanned twice over the entire area. However, it has a drawback that the execution efficiency is not good. That is, when the amount of active cells is small, the "moving method" is advantageous.

【0010】しかしながら、移動法の場合、ガーベジコ
レクションの実行時に、全てのアクティブセルがコピー
されなければならないため、通常のアクセスを行う利用
空間とコピー先空間とは等しい大きさとなっている。と
ころが、一般に、ガーベジコレクションを行う場合、通
常使用空間のアクティブセル量に比べてコピー先空間に
コピーするセル量は少なく、このような観点から、移動
法の場合は、メモリアドレス空間の制限に起因してガー
ベジコレクションの起動回数が多くなってしまい、シス
テム性能の低下を招くといった問題点を有していた。本
発明は、上記従来の問題点を解決するためになされたも
ので、メモリアドレス空間の利用効率が高く、かつガー
ベジコレクションの実行効率も向上させることができる
メモリ制御方式を提供することを目的とする。
However, in the case of the transfer method, since all active cells must be copied at the time of executing the garbage collection, the used space for normal access and the copy destination space have the same size. However, in general, when performing garbage collection, the amount of cells to be copied to the copy destination space is smaller than the amount of active cells in the normally used space, and from this perspective, in the case of the move method, due to the limitation of the memory address space. As a result, the number of times garbage collection is started increases, which causes a problem that system performance deteriorates. The present invention has been made to solve the above conventional problems, and an object of the present invention is to provide a memory control method that enables high utilization efficiency of a memory address space and also improves execution efficiency of garbage collection. To do.

【0011】[0011]

【課題を解決するための手段】本発明のメモリ制御方式
は、メモリアドレス空間のガーベジコレクションを行う
場合、最初に、前記メモリアドレス空間を、通常のアク
セスを行う利用空間と、コピー先空間とに分割し、前記
利用空間のアクティブセルを前記コピー先空間にコピー
することでガーベジコレクションを行う移動法で実行す
ると共に、前記利用空間とコピー先空間の分割割合を前
回のガーベジコレクションの結果に基づき決定し、その
後、前記移動法による前記メモリアドレス空間のガーベ
ジコレクションを実行中に前記コピー先空間が不足する
場合、これ以降のガーベジコレクションを、アクティブ
セルの並び順を保持したまま当該アクティブセルを前記
メモリアドレス空間の末端に集めるリンク反転による横
滑り法で行うことを特徴とするものである。
According to the memory control method of the present invention, when performing a garbage collection of a memory address space, first, the memory address space is divided into a used space for normal access and a copy destination space. It divides and executes by the moving method that performs garbage collection by copying the active cell of the used space to the copy destination space, and determines the division ratio of the used space and the copy destination space based on the result of the previous garbage collection. Then, if the copy-destination space runs short while performing the garbage collection of the memory address space by the migration method, the subsequent garbage collection is performed on the active cell while maintaining the order of the active cells. What to do with the sideslip method by link reversal gathering at the end of the address space It is an feature.

【0012】[0012]

【作用】本発明のメモリ制御方式においては、メモリア
ドレス空間のガーベジコレクションを行う場合、最初
は、移動法で行う。この時、利用空間とコピー先空間の
分割割合は、前回のガーベジコレクションでコピーした
アクティブセル量に応じて決定される。その後、移動法
によるガーベジコレクションを実行中に、コピー先空間
が不足する場合は、それ以降のガーベジコレクション
を、リンク反転による横滑り法で行う。また、実行した
ガーベジコレクションの結果、例えば、アクティブセル
量がメモリアドレス空間の半分以上あった場合は、次回
のガーベジコレクションを最初からリンク反転による横
滑り法で行う。
In the memory control method of the present invention, when the garbage collection of the memory address space is performed, the moving method is first performed. At this time, the division ratio of the used space and the copy destination space is determined according to the amount of active cells copied in the previous garbage collection. After that, when the copy destination space is insufficient during execution of the garbage collection by the moving method, the subsequent garbage collection is performed by the sideslip method by the link inversion. Further, as a result of the executed garbage collection, for example, when the amount of active cells is more than half of the memory address space, the next garbage collection is performed by the skid method by link inversion from the beginning.

【0013】[0013]

【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。図1は本発明のメモリ制御方式の実施例を示
すフローチャートであるが、この説明に先立ち、従来と
本実施例におけるメモリアドレス空間の説明を行う。
Embodiments of the present invention will now be described in detail with reference to the drawings. FIG. 1 is a flow chart showing an embodiment of the memory control system of the present invention. Prior to this explanation, the memory address space in the conventional and this embodiment will be explained.

【0014】図3は、従来と実施例とのメモリアドレス
空間の説明図であり、(a)は従来、(b)は本実施例
を示している。先ず、セル空間を可変とするためにメモ
リアドレス空間をブロック(ページ)に分割し、管理す
るものとする。従来では、上述したように、メモリアド
レス空間における利用空間とコピー先空間は各々1/2
ずつである。また、利用空間とは、ガーベジコレクショ
ンを行った後にセルを割り当て、処理を実行する場合に
アクセスを行う通常のメモリアドレス空間である。一
方、コピー先空間とは、ガーベジコレクション時のアク
ティブセルがコピーされ、ガーベジコレクション後の利
用空間になる空間であり、通常の処理の実行時は使用せ
ずに確保しておく空間である。
3A and 3B are explanatory views of the memory address space of the conventional example and the example. FIG. 3A shows the conventional example and FIG. 3B shows the present example. First, in order to make the cell space variable, the memory address space is divided into blocks (pages) and managed. Conventionally, as described above, the used space and the copy destination space in the memory address space are each 1/2.
One by one. In addition, the used space is a normal memory address space that is accessed when a cell is allocated and processing is performed after performing garbage collection. On the other hand, the copy destination space is a space where the active cell at the time of garbage collection is copied and becomes a used space after garbage collection, and is a space reserved without being used at the time of executing a normal process.

【0015】本実施例では、このコピー先空間と利用空
間との分割割合が可変となっており、そのコピー先空間
の大きさは、アクティブセル量の見積りに従うものであ
る。この見積り例としては、ガーベジコレクション終了
後に、その回のガーベジコレクションでのアクティブセ
ルが必要としたブロック数に1ブロック(この値は、実
験的に任意のブロック数を選択する)を加えた値を見積
りブロック数とする。尚、見積りブロック数は全ブロッ
ク数の1/2を超えないものとする。また、利用空間と
コピー先空間はガーベジコレクションの発生により、交
互に設定される。即ち、ガーベジコレクション後、元の
利用空間の部分に新たなコピー先空間を設定し、これ以
外の部分を利用空間とする。
In the present embodiment, the division ratio between the copy destination space and the used space is variable, and the size of the copy destination space follows the estimation of the active cell amount. As an example of this estimation, the value obtained by adding 1 block (this value experimentally selects an arbitrary number of blocks) to the number of blocks required by the active cell at the time of garbage collection after the end of garbage collection. Estimated number of blocks. The estimated number of blocks shall not exceed 1/2 of the total number of blocks. In addition, the used space and the copy destination space are set alternately due to the occurrence of garbage collection. That is, after the garbage collection, a new copy destination space is set in the part of the original used space, and the other part is set as the used space.

【0016】次に、本実施例のメモリ制御方式を図1を
参照して説明する。システムが動作を開始すると(ステ
ップS1)、先ず、メモリアドレス空間の割り当てを行
う(ステップS2)。この場合、最初は従来と同様に利
用空間とコピー先空間を1/2ずつ割り当てるとする。
その後、ガーベジコレクション以外の通常処理を行い
(ステップS3)、ガーベジコレクションの必要が生じ
たとする。これにより、移動法によるガーベジコレクシ
ョン(GC)が開始され(ステップS4)、これが正常
終了した場合(ステップS5)、即ちアクティブセルの
量が見積り量と一致していた場合、または見積り以下の
場合、ガーベジコレクションは正常終了する。その後、
このコピーしたアクティブセルの量によって、新たに見
積りブロック数を決定して、メモリアドレス空間を分割
し直し(ステップS6)、ステップS3に戻って通常処
理を続行する。
Next, the memory control system of this embodiment will be described with reference to FIG. When the system starts operating (step S1), first, memory address space is allocated (step S2). In this case, initially, as in the conventional case, the used space and the copy destination space are allocated to each half.
After that, normal processing other than garbage collection is performed (step S3), and it is assumed that garbage collection becomes necessary. Thereby, the garbage collection (GC) by the moving method is started (step S4), and when this is normally completed (step S5), that is, when the amount of active cells matches the estimated amount, or when the estimated amount is less than or equal to the estimated amount, Garbage collection ends normally. afterwards,
The estimated number of blocks is newly determined according to the amount of copied active cells, the memory address space is divided again (step S6), and the process returns to step S3 to continue the normal processing.

【0017】図4は、この状態を示す説明図である。先
ず、(a)は、上記ステップS4のガーベジコレクショ
ンが開始される前のメモリアドレス空間の状態であり、
利用空間における斜線部がアクティブセルを示してい
る。そして、ガーベジコレクションを実行し、アクティ
ブセルがすべてコピー先空間にコピーされ、正常終了し
たのが、(b)の状態である。その後、新たに見積りブ
ロック数を決定し、(c)の状態となる。
FIG. 4 is an explanatory diagram showing this state. First, (a) is the state of the memory address space before the garbage collection in step S4 is started,
The shaded area in the usage space indicates the active cell. Then, the garbage collection is executed, all the active cells are copied to the copy destination space, and the normal termination is shown in the state of (b). After that, the number of estimated blocks is newly determined, and the state of (c) is obtained.

【0018】一方、ステップS5においてガーベジコレ
クションが、正常終了しない場合は、リンク反転による
横滑り法でガーベジコレクションを行う(ステップS
7)。即ち、移動法によるガーベジコレクションにおい
て、アクティブセルの量がコピー先空間の見積り量より
大きい場合は、正常終了せず、従って、残りのアクティ
ブセルをコピーする必要がある。しかしながら、コピー
先空間は既に使い尽くしているため、利用空間を詰め替
えてコピー先空間のためのブロックを捻出しなければな
らない。従って、ここではリンク反転による横滑り法を
用いる。
On the other hand, if the garbage collection does not end normally in step S5, the sideslip method by link reversal is used to perform garbage collection (step S).
7). That is, in the garbage collection by the moving method, if the amount of active cells is larger than the estimated amount of the copy destination space, the process does not end normally, and therefore it is necessary to copy the remaining active cells. However, since the copy destination space has already been used up, it is necessary to refill the used space and generate a block for the copy destination space. Therefore, the sideslip method by link inversion is used here.

【0019】ここで、リンク反転による横滑り法でガー
ベジコレクションを行う場合に注意する点は、現在、移
動法を行っている最中に、この横滑り法に移る点であ
る。この時、コピー先空間における未スイープ領域に
は、利用空間へのポインタが存在するので、この空間と
利用空間の両方を合わせた空間でリンク反転による横滑
り法を行うことになる。
Here, a point to be noted when performing the garbage collection by the skid method by link inversion is that the skid method is changed to the skid method during the moving method. At this time, since the pointer to the used space exists in the unswept area in the copy destination space, the sideslip method by link inversion is performed in the space including both this space and the used space.

【0020】図5は、移動法からリンク反転による横滑
り法に移る場合の説明図である。この図5は、図1中の
ステップS5においてガーベジコレクションが正常終了
しない場合の説明図であり、先ず、図5(a)は、ステ
ップS4の移動法によるガーベジコレクションの開始前
の状態である。そして、移動法によるガーベジコレクシ
ョンが行われるが、コピー先空間が不足し、移動法で
は、ガーベジコレクションが正常終了せず、この状態を
示したのが図5(b)である。この時点で、メモリアド
レス空間には、利用空間(以下、領域Aとする)と、コ
ピー先空間で既にスイープされた領域(以下、領域Bと
する)と、コピー先空間で未スイープ領域(以下、領域
Cとする)の3種類の領域が存在することになる。
FIG. 5 is an explanatory diagram in the case of shifting from the moving method to the sideslip method by link inversion. FIG. 5 is an explanatory diagram when the garbage collection does not end normally in step S5 in FIG. 1. First, FIG. 5A shows a state before the start of garbage collection by the moving method in step S4. Then, although the garbage collection is performed by the moving method, the copy destination space is insufficient, and the garbage collection is not normally completed by the moving method, and this state is shown in FIG. 5B. At this point, in the memory address space, a used space (hereinafter, referred to as an area A), an area that has already been swept in the copy destination space (hereinafter, referred to as an area B), and an unswept area (hereinafter, referred to as an area B) in the copy destination space. , Area C).

【0021】ここで、まだガーベジコレクションが終了
していない領域として領域Aと領域Cとがあり、この領
域に横滑り法を適用することになる。尚、領域Bは、ポ
インタの全てがコピー先空間を指しているため、横滑り
法を行う必要はない。そこで、領域Cと領域Aを連続し
た領域と見なし、その領域に対して横滑り法でガーベジ
コレクションの続きを開始する。この状態を示したが図
5(c)である。尚、この時、横滑り法の開始点は領域
Bの先頭アドレスになる。
Here, there are a region A and a region C as regions where the garbage collection is not yet completed, and the skid method is applied to these regions. In the area B, the side-slip method is not necessary because all the pointers point to the copy destination space. Therefore, the area C and the area A are regarded as continuous areas, and the garbage collection is started on the area by the skid method. This state is shown in FIG. 5 (c). At this time, the starting point of the skid method is the start address of the area B.

【0022】その後、横滑り法によるガーベジコレクシ
ョンが正常終了すると(図1中のステップS8)、ステ
ップS6に移行し、メモリアドレス空間の再割り当てを
行う。この状態を示したのが図5(d),(e)であ
る。即ち、図5(d)がガーベジコレクションが終了し
た状態である。そして、図5(e)に示すように、今度
はアクティブセルをコピーした空間を含めて新利用空間
とし、また、コピーしたアクティブセル量に基づき、次
回のコピー先空間を推測する。
After that, when the garbage collection by the skidding method is normally completed (step S8 in FIG. 1), the process proceeds to step S6, and the memory address space is reallocated. This state is shown in FIGS. 5 (d) and 5 (e). That is, FIG. 5D shows a state where the garbage collection is completed. Then, as shown in FIG. 5E, this time, the space to which the active cell has been copied is set as a new utilization space, and the next copy destination space is estimated based on the copied active cell amount.

【0023】また、図1中、ステップS8においてガー
ベジコレクションが正常終了した時点で、コピー先空間
におけるアクティブセルの量が、全ブロック数の1/2
(この値は実験的に任意に設定することが可能である)
を超えた場合は、次のガーベジコレクションでは、最初
から“リンク反転による横滑り法”を用いる。そして、
このような場合は、コピー先空間を確保する必要はな
い。一方、ステップS8において、ガーベジコレクショ
ンが正常終了しなかった場合、即ち、アクティブセルの
量が全ブロック数の4/5(この値も実験的に任意の決
定してもよい)を超えた場合は、メモリ不足による処理
実行不能としてガーベジコレクションを異常終了させ
る。
Further, in FIG. 1, when the garbage collection is normally completed in step S8, the number of active cells in the copy destination space is 1/2 of the total number of blocks.
(This value can be set arbitrarily experimentally)
If it exceeds, the next sideways garbage collection uses the "side slip method by link inversion" from the beginning. And
In such a case, it is not necessary to secure the copy destination space. On the other hand, in step S8, if the garbage collection is not normally completed, that is, if the number of active cells exceeds 4/5 of the total number of blocks (this value may also be determined experimentally). , Abnormally terminate garbage collection because it cannot execute processing due to lack of memory.

【0024】以上のように、上記実施例では、メモリア
ドレス空間のガーベジコレクションを、最初に移動法で
行い、かつ、その利用空間とコピー先空間の分割割合
を、前回のガーベジコレクションの結果に基づき決定
し、その後、移動法によるガーベジコレクションを実行
中に、コピー先空間が不足する場合は、これ以降のガー
ベジコレクションをリンク反転による横滑り法で行うと
共に、実行したガーベジコレクションの結果、アクティ
ブセル量がメモリアドレス空間の半分以上あった場合
は、次回のガーベジコレクションを、最初からリンク反
転による横滑り法で行うようにしたので、従来の“移動
法”でのメモリアドレス空間の制限と、その制限に起因
するガーベジコレクションの起動回数をより少なくする
ことができる。また、“移動法”では不可能であった全
メモリアドレス空間のは1/2以上アクティブセルがあ
る場合のガーベジコレクションが可能となる。
As described above, in the above embodiment, the memory address space is first garbage-collected by the migration method, and the division ratio of the used space and the copy-destination space is determined based on the result of the previous garbage collection. If the copy destination space is insufficient while performing the garbage collection by the move method after performing the determination, the subsequent garbage collection is performed by the sideslip method by link inversion, and the active cell amount is determined as the result of the executed garbage collection. If there is more than half of the memory address space, the next garbage collection is performed by the sideslip method by link inversion from the beginning. The number of times garbage collection is started can be reduced. Further, it is possible to perform garbage collection when there are 1/2 or more active cells in the entire memory address space, which is impossible with the "movement method".

【0025】[0025]

【発明の効果】以上説明したように、本発明のメモリ制
御方式によれば、メモリアドレス空間のガーベジコレク
ションを最初に移動法で行うと共に、その利用空間とコ
ピー先空間の分割割合を可変とし、その後、ガーベジコ
レクションを実行中にコピー先空間が不足する場合は、
これ以降のガーベジコレクションをリンク反転による横
滑り法で行うようにしたので、移動法によるガーベジコ
レクションでのメモリアドレス空間の制限に起因するガ
ーベジコレクションの起動回数の減少させ、システムと
しての性能向上を図ることができる。
As described above, according to the memory control method of the present invention, the garbage collection of the memory address space is first performed by the migration method, and the division ratio of the used space and the copy destination space is made variable, After that, if the destination space runs out while performing garbage collection,
Since the subsequent garbage collection is performed by the sideslip method by link inversion, the number of times garbage collection is activated due to the limitation of the memory address space in the garbage collection by the move method is reduced and the performance of the system is improved. You can

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明のメモリ制御方式のフローチャートであ
る。
FIG. 1 is a flowchart of a memory control method of the present invention.

【図2】リンク反転による横滑り法の説明図である。FIG. 2 is an explanatory diagram of a skid method by link inversion.

【図3】従来と本発明のメモリアドレス空間の説明図で
ある。
FIG. 3 is an explanatory diagram of a memory address space according to the related art and the present invention.

【図4】本発明のメモリ制御方式における移動法による
ガーベジコレクションが正常終了した場合の説明図であ
る。
FIG. 4 is an explanatory diagram in the case where the garbage collection by the moving method in the memory control system of the present invention is normally completed.

【図5】本発明のメモリ制御方式において、リンク反転
による横滑り法でガーベジコレクションを行った場合の
説明図である。
FIG. 5 is an explanatory diagram of a case where garbage collection is performed by a sideslip method by link inversion in the memory control method of the present invention.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 メモリアドレス空間のガーベジコレクシ
ョンを行う場合、 最初に、前記メモリアドレス空間を、通常のアクセスを
行う利用空間と、コピー先空間とに分割し、前記利用空
間のアクティブセルを前記コピー先空間にコピーするこ
とでガーベジコレクションを行う移動法で実行すると共
に、前記利用空間とコピー先空間の分割割合を前回のガ
ーベジコレクションの結果に基づき決定し、 その後、前記移動法による前記メモリアドレス空間のガ
ーベジコレクションを実行中に前記コピー先空間が不足
する場合、 これ以降のガーベジコレクションを、アクティブセルの
並び順を保持したまま当該アクティブセルを前記メモリ
アドレス空間の末端に集めるリンク反転による横滑り法
で行うことを特徴とするメモリ制御方式。
1. When performing garbage collection of a memory address space, first, the memory address space is divided into a used space for normal access and a copy destination space, and an active cell of the used space is copied. It is executed by the move method that performs garbage collection by copying to the destination space, and the division ratio of the used space and the copy destination space is determined based on the result of the previous garbage collection, and then the memory address space by the move method. If the copy destination space is insufficient while executing the garbage collection of, the subsequent garbage collection is performed by the side-slip method by link inversion that collects the active cells at the end of the memory address space while keeping the order of the active cells. A memory control method characterized by performing.
JP5122203A 1993-04-27 1993-04-27 Memory control method Expired - Lifetime JP2580519B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5122203A JP2580519B2 (en) 1993-04-27 1993-04-27 Memory control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5122203A JP2580519B2 (en) 1993-04-27 1993-04-27 Memory control method

Publications (2)

Publication Number Publication Date
JPH06309220A true JPH06309220A (en) 1994-11-04
JP2580519B2 JP2580519B2 (en) 1997-02-12

Family

ID=14830111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5122203A Expired - Lifetime JP2580519B2 (en) 1993-04-27 1993-04-27 Memory control method

Country Status (1)

Country Link
JP (1) JP2580519B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7302544B2 (en) 2004-01-28 2007-11-27 Samsung Electronics Co., Ltd. Method and apparatus for adaptive garbage collection

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62295145A (en) * 1986-06-13 1987-12-22 Fujitsu Ltd Garbage collection system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62295145A (en) * 1986-06-13 1987-12-22 Fujitsu Ltd Garbage collection system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7302544B2 (en) 2004-01-28 2007-11-27 Samsung Electronics Co., Ltd. Method and apparatus for adaptive garbage collection

Also Published As

Publication number Publication date
JP2580519B2 (en) 1997-02-12

Similar Documents

Publication Publication Date Title
US7548940B2 (en) Generational real-time garbage collection
US5819298A (en) File allocation tables with holes
US7073036B2 (en) Backup system and method for tape recording medium
US20030065688A1 (en) Adaptive memory allocation
JPH05189281A (en) File assigning system for storage device
KR20020054255A (en) Ranked Cleaning Policy and Error Recovery Method for File Systems Using Flash Memory
US7062630B2 (en) Storing device for writing data onto a plurality of installed storing mediums, storing control method for the storing device, and program thereof
CN113010289A (en) Task scheduling method, device and system
JP2580519B2 (en) Memory control method
JP3609841B2 (en) File management device
Ram et al. Parallel garbage collection without synchronization overhead
Perttunen On the significance of the initial solution in travelling salesman heuristics
CN114816322A (en) External sorting method and device of SSD and SSD memory
JP3520527B2 (en) Data management method
JP2570187B2 (en) DMA transfer apparatus and method
Kalyanasundaram et al. Fault-tolerant real-time scheduling
JPH06266619A (en) Page saving/restoring device
CN117742977B (en) Method for copying memory data of chip, electronic equipment and medium
JPS63231643A (en) Real-time garbage collection system
JP3094477B2 (en) Virtual storage management method
Mahapatra et al. Sequential and parallel branch-and-bound search under limited-memory constraints
JP2982134B2 (en) Main storage device allocation size determination method
JP2842324B2 (en) Circuit division improvement device
JPH04116742A (en) Memory allocation system in virtual storage system
JPS63220326A (en) List processing system

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term