JPS6084647A - Structure memory controller - Google Patents

Structure memory controller

Info

Publication number
JPS6084647A
JPS6084647A JP58193809A JP19380983A JPS6084647A JP S6084647 A JPS6084647 A JP S6084647A JP 58193809 A JP58193809 A JP 58193809A JP 19380983 A JP19380983 A JP 19380983A JP S6084647 A JPS6084647 A JP S6084647A
Authority
JP
Japan
Prior art keywords
memory
area
unused
main
main memory
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.)
Pending
Application number
JP58193809A
Other languages
Japanese (ja)
Inventor
Shinichi Habata
幅田 伸一
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.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric Co Ltd
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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP58193809A priority Critical patent/JPS6084647A/en
Publication of JPS6084647A publication Critical patent/JPS6084647A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Memory System (AREA)

Abstract

PURPOSE:To speed up relocating processing by assigning the identification number of a structure to a block control table through a control part for dynamic allocating processing and garbage collection processing, and using an unused area list to secure a storage area in a main storage. CONSTITUTION:The processor part 130 consisting of a main processor 124 and a cache memory 123, the main storage 110, and memory control part 131 are provided. Further, the control part 131 is provided with a bit map memory 112 stored with pieces of information on an in-use and an unused area, an unused area list memory 121 having a list containing the starting address, etc., of unused areas, a block control table memory 122 holding the relation between the indentification number of the structure and the starting address of the storage area of the main storage 110, and a control part 120 for garbage collection processing. Then the processor part 130 accesses the main storage 110 to confirm that allocation is possible, and then the control part 120 uses the memories 122 and 121 to perform processing.

Description

【発明の詳細な説明】 本発明は任意長データを動的に割シ付ける動的メモリ管
理装置に関するものである。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a dynamic memory management device that dynamically allocates arbitrary length data.

近年、知的システムへの関心の高t、bとともに、任意
長の構造体データを指定できるプロローグが注目されて
いる。
In recent years, as interest in intelligent systems has increased, prologues that can specify arbitrary length structure data have been attracting attention.

例えば、プロローグでは、かごの中にシんご′ゞみかん
′、゛なし′が入っている状態を構造休場゛かご′、峨
素数3の構造体を使って次のように表現できる。
For example, in the prologue, the state in which the basket contains Shingo ``Mikan'' and ``None'' can be expressed as follows using the structure ``Cage'' and a structure with a prime number of 3.

かご(りんご、みかん、なし) さらに、太部がこのかご金持っているという事実を、構
造休場゛j11つ′、侠素数2の構造体を用いて次のよ
うに記述できる。
Basket (Apples, Oranges, None) Furthermore, the fact that Aobe has this basket money can be described as follows using a structure with a structure of ゛j11゛ and a chivalry prime of 2.

持つ(太部、かご(シんご、みかん、なし))プロロー
グは、このような任意個の要素を持つ構造体を用いるこ
とによりデータの記述を容易にしている。
The (fat, basket (shingo, orange, none)) prologue facilitates data description by using a structure with an arbitrary number of elements.

一方、プロローグを実行すると多数の構造体が、動的に
生成・消滅する。消滅したイノ4造体全メモリ中に放置
して、生成された構造体に新たなメモリ領域を割シ当て
ると、構造体の領域として多量のメモリセルが必要とな
る。七とで、メモリセルの使用効率金高めるために、構
造体が消滅した結果、使用済みとなったメモリセルを回
収し、再度、構造体全格納可能にするためにカーベージ
コレクション処理が行なわれる。しかし、カーベージコ
レクション処理にかかる処理コストは大きく、全体の処
理コストの30から50%以上になる場合がある。
On the other hand, when the prologue is executed, many structures are dynamically created and destroyed. If a new memory area is allocated to the generated structure while leaving the disappeared Inno 4 structure in the entire memory, a large amount of memory cells will be required as the area for the structure. 7, in order to increase the usage efficiency of memory cells, a garbage collection process is performed to collect the memory cells that have become used as a result of the structure disappearing, and to make it possible to store the entire structure again. . However, the processing cost required for garbage collection processing is large, and may amount to 30 to 50% or more of the entire processing cost.

以下に構造体の実現方式と従来のカーベージコレクショ
ン処理について記ス。
The structure implementation method and conventional garbage collection processing are described below.

構造体を実現するだめの良く知られた実現方式の1つと
して、li>」足長の領域をポインタで複数個つなぐ方
式がある。以下、この方式kglの構造体実現方式と称
す。第1の構造体実現方式の例として、2進木リストを
用いた方法を説明する。
One of the well-known methods for realizing a structure is to connect a plurality of regions with a length of li>'' using pointers. Hereinafter, this method will be referred to as the kgl structure realization method. As an example of the first structure realization method, a method using a binary tree list will be described.

第1図に2進木リス)10i用いて構造体持つ(太部、
かご(りんご、みかん、なし))を表現した時の概念図
を示す。この方式の最大の特徴は、メモリセルk 5h
i保する単位が固定長となっているため、未使用領域が
連続領域になくてもよい点にある。すなわち、ガーベー
ジコレクションによシ使用済みメモリセルを回収する作
朶は、固定領域(2進木リストでは連続しだ2セルの領
域)をポインタで結ぶだけでよい。
Figure 1 shows a structure using binary tree squirrel) 10i.
A conceptual diagram is shown when expressing a basket (apples, oranges, pears). The biggest feature of this method is that the memory cell k 5h
Since the unit for storing i is a fixed length, the unused area does not need to be in a continuous area. That is, to collect used memory cells through garbage collection, it is sufficient to simply connect fixed areas (areas of two consecutive cells in a binary tree list) with pointers.

しかしながら、第1の構造体実現方式は、構造体の要素
をアクセスする除のポインタを辿るオーバヘッドが大き
いという欠点を持つ。例えば、構造体のn番目の要素を
アクセスするためには、ポインタfn回辿らねばならず
、メモリアクセスネックの要因となる。
However, the first structure implementation method has the disadvantage that the overhead of tracing the pointer for accessing the elements of the structure is large. For example, in order to access the nth element of the structure, the pointer must be traced fn times, which causes a memory access bottleneck.

第1の構造体実現方式の欠点を解消する他の方式として
は、構造体の要素を連続領域に並べ、各要素へのアクセ
スをヘッダ部からのオフセットで行なう方式が知られて
いる。以下、この方式kj42の構造体実現方式と称す
As another method for solving the drawbacks of the first structure realization method, a method is known in which the elements of the structure are arranged in a continuous area and each element is accessed by offset from the header section. Hereinafter, this method will be referred to as a structure realization method of kj42.

第2図は、第2の構造体実現方式による構造体持つ(太
部、かご(りんご、みかん、なし))を表現した概念図
である。第2図において、20は構造体温領域、21は
要素数饋域、22はゴーベージコレクション時にその構
造体が使用中又は、使用済みであることを示すために使
用するマークビット、23はデータ部を表わす。構造体
温領域20、要素数領域21およびマークピット22の
3つの領域を会わせて、以下、特にヘッダ部と称す。
FIG. 2 is a conceptual diagram expressing a structure (thick part, basket (apple, orange, none)) according to the second structure realization method. In FIG. 2, 20 is a structure body temperature area, 21 is an element number area, 22 is a mark bit used to indicate that the structure is in use or has been used during govage collection, and 23 is a data section. represents. The three areas, the structure body temperature area 20, the number of elements area 21, and the mark pit 22, are hereinafter particularly referred to as a header area.

第2のイJり遺体実現方式では、構造体はヘッダ部と構
造体の各要素を格納するデータ部23が1つの連続頭載
に割シ当てられている。しノこがクーロ構造体を要素と
して宮むときは榴危本ヘッド部へのポインタを要素とし
て格納する。又、構造体データ部中の要素へのアクセス
はヘッダ部、がらのオフセットを用いて高速に行なうこ
とができる。
In the second dead body realization method, the header part of the structure and the data part 23 storing each element of the structure are allocated to one continuous head. When Shinoko uses a Kuro structure as an element, it stores a pointer to the head of the main body as an element. Furthermore, elements in the structure data section can be accessed at high speed by using offsets in the header section.

しかしながら、第2の構造体実現方式では構造体は任意
長の連続頭載に格納される必要があるため、使用中領域
をリロケートして未使用領域を1ツニスるカーベージコ
レクション処理のオーバヘッドが大きいという問題を持
つ。又、構造体の性質上1つの構造体を複数の構造体が
共有する可能性がある。
However, in the second structure realization method, structures need to be stored in continuous headers of arbitrary length, so the overhead of the garbage collection process of relocating the used area and refilling the unused area is large. There is a problem. Furthermore, due to the nature of structures, there is a possibility that one structure may be shared by a plurality of structures.

第3図(11、(2)は、構造体Aと構造体Cが構造体
Bを共有している時のガーベージコレクションによるメ
モリ領域の遷移を示す概念図である。第3図において、
30はメモlJ、31は使用中の構造体領域、32は使
用済みあるいは未使用の領域を示す。
FIG. 3 (11, (2)) is a conceptual diagram showing the transition of the memory area due to garbage collection when structure A and structure C share structure B. In FIG.
Reference numeral 30 indicates a memory IJ, 31 indicates a structure area in use, and 32 indicates a used or unused area.

第3図(1)はガーベージコレクションを行なう前のメ
モリ状態、第3図(2)はガーページコレクションを行
なった後のメモリ状態を表わす。
FIG. 3(1) shows the memory state before garbage collection, and FIG. 3(2) shows the memory state after garbage collection.

第2の構造体実現方式におけるガーベージコレクシコン
の方式を説明する。ガーページコレクションの第1の処
、畦は、現在使用中の47M造体全てに印を付けること
である。これは、主プロセツサが処理を行なう時に、現
在使用中の構造体の情報を格納するスタックを調べて、
スタ、りから(2)接又は、間接に参照されている構造
体のマークピット領域をセットすることにより実現され
る。
The garbage collector method in the second structure realization method will be explained. The first stop in the Garpage collection is to mark all of the 47M structures currently in use. When the main processor performs processing, it examines the stack that stores information about the structures currently in use, and
(2) This is achieved by setting the mark pit area of the structure that is directly or indirectly referenced.

上記ガーベージコレクションの第1の処理でマークピッ
トがセットされなかった817造体は、[史用済み領域
として回収できる。しかし、[61定領域を用いた前記
第1の構造体実現方式のように単に使用済み領域をポイ
ンタで結ぶだけでは、次に新しい構造体を格納する連続
領域を何保することができなくなる。したがって、未使
用領域を]つの連続領域にまとめるだめに第3図(1)
と第3図(2)に図示しであるように、使用中の構造体
31をリロケートして1つの連続した使用済み領域33
を作る必要がある。
The 817 structures for which mark pits were not set in the first process of garbage collection can be collected as [historical areas]. However, simply connecting used areas with pointers as in the first structure implementation method using constant areas [61] does not guarantee a continuous area in which to store a new structure. Therefore, it is impossible to combine unused areas into two continuous areas as shown in Figure 3 (1).
As shown in FIG. 3(2), the in-use structure 31 is relocated to form one continuous used area 33.
It is necessary to make

第2の構造体実現方式の問題点は構造体をリロケートす
る際にリロケートした構造体を指すポインタを全て書き
換える必要があることである。
The problem with the second structure realization method is that when relocating a structure, it is necessary to rewrite all pointers pointing to the relocated structure.

本発明の第1の目的は構造体要素へのアクセスが高速で
、かつカーベージコレクション処理時の使用中領域のリ
ロケート処理のオーバーヘッドを小さくすることにある
A first object of the present invention is to provide high-speed access to structure elements and to reduce the overhead of relocating an area in use during garbage collection processing.

本発明の第2の目的は主プロセツサによる構造体の処理
とメモリ管理装置のりロケート処理を31し列処理する
ことにある。
A second object of the present invention is to process the structure by the main processor and the locating process by the memory management unit.

さらに、本発明の第3の目的はメモリ使用効率を常に旨
い状態に保つ旨速動的メモリ管理機能を提供する構造体
メモリ管理装置aを提供することにある。
Furthermore, a third object of the present invention is to provide a structure memory management device a that provides a fast dynamic memory management function that keeps memory usage efficiency in a good state at all times.

本発明によれば固定長のヘッダ部と任意長のデータ部と
から成る構造体を貯える主記憶と、前記主記憶上の構造
体を受け処理する主プロセツサと、前記主記憶上のデー
タの一部を貯え、前記主プロセツサに一時的未使用領域
を提供するキャッシュメモリと、前記主記憶上の使用中
領域と未使用領域の情報を保持するピットマツプ・メモ
リと、前記主記憶上の未使用領域の先頭アドレス情報と
サイズ情報を保持するセルと前記セルが持つ未使用領域
のサイズの値で複数のグループに分類し、谷グループご
とにグループに属するセルをポインタでつないだ未使用
領域リストと、論理的に1つの連続領域となっている構
造体の副別名と前記主記憶上の構造体格納領域の先頭ア
ドレス情報とサイズ情報を格納するブロック管理テーブ
ルと、前記主記憶の動的割り付は処理とガーベージコレ
クション処理の制御を行なう制御を備え、前記主プロセ
ツサが新しい構造体を生成する時に1)IJ記ギャッシ
ュメモリに前記構造体の領域を確保し前記主プロセツサ
での処理を続行することと並行して、前記制御部が前記
ブロック管理テーブルに前記構造体の識別番号を割シ当
て前記未使用領域リストを使用して前記主記憶上に格納
領域を確保することと、 カーベージコレクション処理時のりロケーション処理に
おいて前記制御部がビットマツプ・メモリを使って前記
主記憶上の使用中領域を捜し、リロケート処理を行なう
ことを特徴とする構造体メモリ管理装置力y′γ%、、
、、1じ先次に、本発明の構造体メモリ管理方式につい
て図面を用いて説明する。
According to the present invention, a main memory that stores a structure consisting of a fixed-length header section and an arbitrary-length data section, a main processor that receives and processes the structure on the main memory, and a main processor that stores a structure consisting of a fixed-length header section and an arbitrary-length data section; a cache memory for storing data and providing a temporary unused area to the main processor; a pit map memory for holding information on used areas and unused areas on the main memory; and an unused area on the main memory. an unused area list that is classified into a plurality of groups based on cells that hold start address information and size information and unused area size values of the cells, and that connects cells belonging to the groups with pointers for each valley group; A block management table that stores the sub-alias of the structure that is logically one continuous area, the start address information and size information of the structure storage area on the main memory, and the dynamic allocation of the main memory. The main processor includes a control for controlling processing and garbage collection processing, and when the main processor generates a new structure, 1) allocates an area for the structure in the IJ cache memory and continues processing in the main processor. In parallel, the control unit allocates an identification number of the structure to the block management table and uses the unused area list to secure a storage area on the main memory; and during a garbage collection process. The structure memory management device is characterized in that in the location process, the control unit uses a bitmap memory to search for an area in use on the main memory and performs a relocate process.
,, First, the structure memory management method of the present invention will be explained with reference to the drawings.

第4図は、本発明の構造体メモリ管理装置における構造
体実現の一例である。ブロック管理テーブル40の各語
は、構造体の識別番号41.構造体のサイズ42と構造
体を格納している主記憶110上の連続領域の先頭アド
レス43を保持している。
FIG. 4 is an example of structure implementation in the structure memory management device of the present invention. Each word in the block management table 40 has a structure identification number 41. It holds the size 42 of the structure and the start address 43 of the continuous area on the main memory 110 that stores the structure.

第4図では、構造体持つ(太部、X)”と”構造体持つ
(花子、X)”が構造体゛かご(りんご、みかん、なし
)”を共有している状態を示している。“かと”に関す
る構造体ヘッダ部45の構造体多領域には”かと”であ
ることを示す値”1”と構造体の要素数領域には要素数
”3′が格納されている。データ部46には構造体の要
素が格納されている。
FIG. 4 shows a state in which "Having a structure (Taabe, X)" and "Having a structure (Hanako, X)" share the structure "Basket (apples, oranges, pears)". The structure multi-region of the structure header section 45 related to "kato" stores the value "1" indicating that it is "kat", and the element number region of the structure stores the number of elements "3'.Data section 46 stores the elements of the structure.

構造体−持つ(太部、X)″と゛持つ(花子。Structure - have (Tabe, X)'' and ゛have (Hanako).

X)″が構造体“かご(シんご、みかん、なし)”を共
有するために、構造体”持つ(太部、X)”の第2要素
50と”持つ(花子、X)”の第2要素51には、構造
体を構成する一つの要素であることを示す情報と共に構
造体゛かと(シんご、みかん、なし)′の識別番号”1
′が格納されている。
In order for X)'' to share the structure “basket (Shingo, Mikan, None)”, the second element 50 of the structure “Have (Tabe, X)” and “Have (Hanako, X)” The second element 51 contains information indicating that it is one element constituting the structure, as well as the identification number “1” of the structure
' is stored.

構造体は主記憶110上の連続領域に格納されているた
め、構造体の識別番号と要素番号を使って、構造体の要
素を高速にアクセスすることができる。
Since the structure is stored in a contiguous area on the main memory 110, the structure's elements can be accessed at high speed using the structure's identification number and element number.

又、従来の第2の構造体実現方式では、リロケートされ
た構造体を共有していた他の構造体の要素を変更する必
要があったから、構造体の共有が非常に多い処理では、
リロケート処理の負荷が非常に大きかった。
In addition, in the conventional second structure realization method, it was necessary to change the elements of other structures that shared the relocated structure, so in processing where there is a large number of shared structures,
The load of relocation processing was extremely large.

しかし、本発明の構造体メモリ管理装置ではブロック管
理テーブル40によって構造体識別番号と主記憶110
上の格納領域の先頭アドレスの関係を管理しているため
、ゴーベージコレクション処理時のリロケート処理にと
もないリロケートされた構造体を共有している他の構造
体の要素領域のアドレス情報の書き換え処理が不用とな
っている。
However, in the structure memory management device of the present invention, the structure identification number and the main memory 110 are stored in the block management table 40.
Since the relationship between the start addresses of the storage areas above is managed, the address information of the element areas of other structures that share the relocated structure cannot be rewritten as a result of the relocation process during govage collection processing. It is no longer needed.

第5図は、第4図の状態の主記憶110をガーベージコ
レクシ百ン処理した状態を示す図である。
FIG. 5 is a diagram showing a state in which the main memory 110 in the state shown in FIG. 4 has been subjected to garbage collection processing.

構造体“持つ(太部、X)”の第2要素50と構造体“
持つ(花子、X)”の第2要素51の内容を変更する必
要がない。この結果、構造体”かと”のりロケート処理
では、主記憶110上の”かとCDA、と、みかん、な
し)”を示す4メモリセルから成る構造体データを転送
する処理と、転送対象になった“かご”の構造体ヘッダ
部45に格納されている構造体の識別番号″1″をアド
レスとしてブロック管理テーブル40の対応する語の先
頭アドレス43を書き換える処理だけで済む。
The second element 50 of the structure “has (bold part, X)” and the structure “
There is no need to change the contents of the second element 51 of the structure ``(Hanako, Processing to transfer structure data consisting of four memory cells indicating It is only necessary to rewrite the first address 43 of the word corresponding to the word.

”かと(シんご、みかん、なし)′を共有している2つ
の構造体持つ”の要素5.0.51を構造体”かと(り
んご、みかん、なし)″のすロケートによって更新する
必要はない。従来の装置では、構造体“かご(シんご、
みかん、なし)”のりロケートの際に2つの構造体”持
つ”の要素50゜51が構造体゛かご(シんご、春がん
、なし)″を指すように要素50,5]の内容を更新す
る必要があった。従来装置の問題点は、要素50.51
の内容を更新する誉き換え処理の負荷も大きいが、それ
以上に、更新すべき要素50.51を捜し出す処理の負
荷が大きいことである。
Element 5.0.51 of ``Has two structures that share ``Kat(Apple, Orange, Pear)''' needs to be updated by locating the structure ``Kat(Apple, Orange, Pear)''. There isn't. In conventional equipment, the structure “cage”
Contents of elements 50, 5 so that elements 50 and 51 of ``have'' two structures point to the structure ``Cage (Shingo, Spring Cancer, None)'' when locating the paste. needed to be updated. The problem with the conventional device is element 50.51
The load of the replacement process for updating the contents of is large, but even more so is the load of the process of searching for the elements 50 and 51 to be updated.

本発明では、これまでの説明で示した要素50゜51の
書き換えに伴い必要となる処理を不要にし、リロケート
処理の負荷を小さくしている。
In the present invention, the processing necessary for rewriting elements 50 and 51 described above is unnecessary, and the load of relocate processing is reduced.

第6図は、本発明の構造体メモリ管理装置における物理
壁間処理の一実施例を示す図である。第6図では、未使
用領域をサイズが21以下のグループ、(2’+1)以
上22以下のグループ、 (2”+ 1 )以上のグル
ープの3つに分けて、3本の未使用領域リス) 71.
72.73を構成している。
FIG. 6 is a diagram showing an example of physical wall-to-wall processing in the structure memory management device of the present invention. In Figure 6, the unused area is divided into three groups: groups with sizes of 21 or less, groups with sizes of (2'+1) or more and 22 or less, and groups with sizes of (2''+1) or more, and three unused area lists are created. ) 71.
72.73.

各未使用領域リス)71,72.73は第1セルへのポ
インタを保持しでいる第1セル診照レジスタ74.75
.76によシ、セル61の追加、消去が行なわれる。セ
ル61は、そのセルが管理している未使用領域の先頭ア
ドレス62.サイズ631次のセルへのポインタ64を
保拐している。
Each unused area list) 71, 72, 73 is a first cell check register 74, 75 which holds a pointer to the first cell.
.. At step 76, addition and deletion of the cell 61 are performed. The cell 61 has the start address 62 . of the unused area managed by the cell. A pointer 64 to the next cell of size 631 is stored.

主起t8110土の使用領域70と未使用領域690分
布はどットマノプ65で処理しており、1(用枳域に対
応したビット列67の値”l”、未使用領域に対応した
ビット列66の値を”0”にすることで主記憶110上
の領域の動的割シ付けを管埋する。
The distribution of the used area 70 and unused area 690 of the main origin t8110 soil is processed by Dotmanop 65. By setting "0" to "0", dynamic allocation of the area on the main memory 110 is controlled.

又、ゴーベージコレクション処理時のりロケート処理の
時、使用中領域を捜す時にピットマッグ65を調べるこ
とでリロケート処理を篩速化できる。
Further, during the relocating process during the govage collection process, the relocating process can be speeded up by checking the pit mag 65 when searching for an area in use.

第7図(、) 、 (b)は動的領域割り付は処理を行
なう時の未1史用碩域リストの動らきを示した図である
FIGS. 7(a) and 7(b) are diagrams showing the behavior of the unrecorded area list when dynamic area allocation processing is performed.

第7図(a)は割シ付は前、第7図(b)は割シ付は後
の状態である。第7図は新しく生成する444造体のサ
イズが@3″の時の処理の様子でめる。新しく生成する
構造体のサイズ″3″から未使用頭載リストの第1セル
アクセス用の第1セル参照レジスク75を選択し、未使
用領域のサイズが(2’+1)以上。
FIG. 7(a) shows the state with the split before, and FIG. 7(b) shows the state with the split after. Figure 7 shows the processing when the size of the newly generated 444 structure is @3''. 1 cell reference register 75 is selected and the size of the unused area is (2'+1) or more.

2を以下の未1吏用1直域を管理している未使用領域す
ストア2をアクセスし、第1セル82が新しく生成する
構造体を格納することが可能なことを確認し、第1セル
82が管理している主記憶110上の未使用領域84の
先頭アドレスからサイズ3″の領域87を割シ付ける。
Access store 2, which is an unused area that manages the following unused area, and confirm that the first cell 82 can store the newly generated structure. An area 87 of size 3'' is allocated from the start address of the unused area 84 on the main memory 110 managed by the cell 82.

それから、未使用領域84を管理していた未使用領域リ
ストア5の第1セル82を消去し、弗2セル90を参照
するポインタを第1セル参照レジスタ75にセットする
。未使用領域84のうち新しく生成する構造体の格納領
域に使用されず未使用のまま残された領域86を、その
サイズ“1”から、サイズが21以下の未使用・領域を
管理している未使用領域リストア4の第1セル85とし
て管理情報を格納したセルを追加する。このように、未
使用領域リストドピットマツプの2つで主記憶の使用状
況を管理することで、動的領域割シ付は時の未使用領域
を捜す処理とゴーベージコレクション処理時のリロケー
トする使用領域を捜す処理を高速化することができる。
Then, the first cell 82 of the unused area restore 5 that was managing the unused area 84 is erased, and a pointer that refers to the 2nd cell 90 is set in the first cell reference register 75. Among the unused areas 84, an area 86 that is not used as a storage area for a newly generated structure and is left unused is managed from its size "1" to unused areas whose size is 21 or less. A cell storing management information is added as the first cell 85 of unused area restoration 4. In this way, by managing the usage status of the main memory using two unused area list pit maps, dynamic area allocation can be performed both during the process of searching for unused areas and relocating during the gobage collection process. The process of searching for a used area can be sped up.

第8図は本発明の構造体メモリ管理装置の一実施例のブ
ロック図である。
FIG. 8 is a block diagram of an embodiment of the structure memory management device of the present invention.

本発明の構造体メモリ管理装置は構造体の処理を行なう
プロセッサ部130と、主記憶110上の物理空間の管
理を行なうメモリ型理部131と、主記憶110から構
成されている。
The structure memory management device of the present invention includes a processor unit 130 that processes structures, a memory management unit 131 that manages physical space on main memory 110, and main memory 110.

プロセッサ部130は、構造体の処理を行なう主プロセ
ツサ124と、主記憶110上のデータの一部を保持し
、主プロセツサ124が高速に構造体をアクセスさせた
シ、ガーベージコレクション処理中に一時的な未使用領
域を提供するキャッジ−メモリ123から構成されてい
る。
The processor unit 130 includes a main processor 124 that processes structures, and a part of the data in the main memory 110 that is temporarily stored during garbage collection processing when the main processor 124 accesses the structure at high speed. The cache memory 123 provides an unused area.

メモリ管理部131は、主記憶110上の使用中領域と
未使用領域の情報を保持するビットマツプ・メモリ11
2、未使用領域の先かアドレスとサイズを保持するセル
で構成されたリストを保持する未使用領域リスト・メモ
IJ 121 、構造体の識別番号と主記憶110上の
格納領域の先頭アドレスの関係を保持するブロック管理
テーブル・メモリ122とゴーベージコレクション処理
時の制御を行なう制御部120を主要ユニットとして持
つ。この他に、リロケート処理時にリロケート−gれる
データを退避するデータ退避レジスタ111、構造体が
格納されている主記憶1】0上の連続領域の先頭アドレ
スと連続領域内のオフセットから物理フドレスを生成す
る演算ユニッ)113.新しく生成する構造体のサイズ
から最適な未使用領域リストを選択する未使用pffl
fflトリスト選択ユニットを構成ユニットとして持つ
The memory management unit 131 includes a bitmap memory 11 that holds information about used areas and unused areas on the main memory 110.
2. An unused area list/memo IJ 121 that holds a list consisting of cells that hold the address and size of the unused area, the relationship between the identification number of the structure and the start address of the storage area on the main memory 110 The main units include a block management table memory 122 that holds a block management table memory 122 and a control section 120 that controls gobage collection processing. In addition, there is a data save register 111 that saves the data relocated during the relocate process, and a physical address is generated from the start address of the continuous area on the main memory 1]0 where the structure is stored and the offset within the continuous area. 113. Unused pffl that selects the optimal unused area list from the size of the newly generated structure
It has an ffl try list selection unit as a constituent unit.

データバス100は主記憶110.データ退避用レジス
タ1】1.アドレスバス102.プロセッサ部データバ
ス107間のデータ転送用である。内部アドレスバス1
01は演算ユニット113が生成した物理アドレスを主
記憶110とビットマツプ・メモリ112へ送るだめの
バスである。
Data bus 100 connects main memory 110 . Data save register 1】1. address bus 102. It is used for data transfer between processor unit data buses 107. Internal address bus 1
01 is a bus for sending physical addresses generated by the arithmetic unit 113 to the main memory 110 and bitmap memory 112.

アドレスバスl 02は、データバス100を介して主
記憶110.ブロック・U理テーブル・メモリ122゜
プロセッサ部アドレスバス108.未使用領域選択ユニ
ッ) 119 、 償’lJ−ユニッ) 113 、 
fl+lJ御ハス106を介して制御部120間の構造
体鐘別番号と構造体内オフセット転送用である。
The address bus l02 is connected to the main memory 110 . Block/U table/memory 122° Processor unit address bus 108. Unused area selection unit) 119, compensation 'lJ-unit) 113,
This is for transmitting the structure bell number and intra-structure offset between the control units 120 via the fl+lJ lotus 106.

オフセットバス103は、プロセッサ部130がアドレ
スバス102を介して又は、制御部120が制御バス1
06を介して、主記憶110又はビットマツプ・メモリ
112上の1つの連続領域の複数要素を連続してアクセ
スするためのオフセットアドレス送信用である。
The offset bus 103 is connected to the processor unit 130 via the address bus 102 or the control unit 120 to the control bus 1.
This is for transmitting an offset address for successively accessing multiple elements of one continuous area on the main memory 110 or the bitmap memory 112 via the 06.

litアドレスバス104は、ブロック・lidテーブ
ル・メモリ122の使用領域先頭アドレス格納領域11
7又は未使用領域リスト・メモ!J121の未使用領域
先願アドレス格納領域114又は、制御部120が制御
バス106を介して送ってくる連続領域の先頭アドレス
を演算ユニット113へ送るものである。
The lit address bus 104 is a used area start address storage area 11 of the block/lid table memory 122.
7 or unused space list memo! The unused area first application address storage area 114 of J121 or the start address of the continuous area sent by the control unit 120 via the control bus 106 is sent to the arithmetic unit 113.

ポインタバス105は、未使用領域リスト選択ユニッ)
119上の未使用領域リストの先頭セル格納アドレスを
保持しているレジスタの内容を使って未使用領域リスト
・メモリ121をアクセスしたり、制御部120が制御
バス106を介して、レジスタの内容を変更するだめの
ものである。
The pointer bus 105 is an unused area list selection unit)
The unused area list memory 121 can be accessed using the contents of the register holding the first cell storage address of the unused area list on the unused area list on 119, or the control unit 120 can access the contents of the register via the control bus 106. It is something that should not be changed.

制御バス106は制御部120にアドレスバス102゜
ブロック管理テーブル・メモリ1220使用領域サイズ
格納領域118.ポインタバス105.未使用領域リス
ト・メモリ121の未使用領域サイズ格納領域115.
ポインタ頭載116.先顧アドレスバス104、オフセ
ットバス103.ビットマツプ・メモリ112をアクセ
スさせるだめのバスである。
The control bus 106 connects the control unit 120 with an address bus 102, a block management table memory 1220, a used area size storage area 118. Pointer bus 105. Unused area size storage area 115 of unused area list memory 121.
Pointer heading 116. predecessor address bus 104, offset bus 103. This bus is used to access the bitmap memory 112.

プロセッサit(データバス107il:、主プロセツ
サ124、キャッジ−メモリ123.データバス100
を介して主記憶110間のデータ転送を行なうだめのバ
スである。
Processor it (data bus 107il:, main processor 124, cache-memory 123. data bus 100
This bus is used to transfer data between the main memories 110 via the main memory 110.

プロセッサ部アドレスバス108ulEプロセッサ12
4がキャッシュメ七り123又は、アドレスバス102
ヘアクセスする構造体の―、別11〒号と要素番号を送
るだめのバスである。
Processor unit address bus 108ulE processor 12
4 is the cache memory 123 or address bus 102
This is the bus used to send the structure number and element number to be accessed.

通常の主1己憶110のアクセス動作は、プロセッサ部
130がプロセッサ部アドレスバス108とアドレスバ
ス102を介してブロック管理テーブル・メモリ122
ヘアクセスする+7# 蚕体の識別番号を送る。ブロッ
ク管理テーブル・メモリ122は送られて来た構造体識
別番号をラッチして、1吏用領域先頭アドレス格納領域
117からその酢別r1♀号を持つ構造体が格納されて
いる主記憶、110上の連続領域の先頭アドレスを先頭
アドレスバス104に出力する。魚jネユニ、1−11
.3は、光り↓1アI・レスバス104上の先(自アド
レスと主プロセツサ124がプロセッサA、(liアド
レスバス108.アドレスバス102を介してオフセッ
トバス103へ送信して来た構造体内オフセットを使っ
て物理アドレスを生成し、主起tは110へ送信し、プ
ロセッサ部130が主起1.φ、110をアクセスする
In a normal access operation of the main memory 110, the processor section 130 accesses the block management table memory 122 via the processor section address bus 108 and the address bus 102.
Access +7# Send the identification number of the silkworm body. The block management table memory 122 latches the sent structure identification number and moves from the first address storage area 117 to the main memory 110 in which the structure with the r1♀ number is stored. The start address of the above continuous area is output to the start address bus 104. Fish J Neyuni, 1-11
.. 3 is light ↓ 1A I Address bus 104 (own address and main processor 124 sends processor A, (li address bus 108. Offset within the structure sent to offset bus 103 via address bus 102) The master address 1.φ, 110 is accessed by the processor unit 130.

動的領域肌シ伺は処理は、プロセッサ部]30がプロセ
ッサ部アドレスバス108.アドレスバス102を介し
て未使用頭載リスト選択ユニット119へ新しく生成す
る構造体のサイズを送る。未使用領域リスト力〈択ユニ
、ト119は受け取ったサイズから酸適な未使用領域リ
ストを決定し、その第1セルのアドレスを未使用領域リ
スト・メモリ121へ送る。制御部120は未使用1頂
戴りストフへ択ユニット119と並行して新しく生成さ
れる119造体のサイズを受け取る。次に、制御部12
0は未使用領域リスト・メモリ121の未使用領域サイ
ズ格納領域115から、未使用領域リスト選択ユニッ)
 119によシ決定された未使用領域リストの第1セル
が持つ未使用領域のサイズを読み出し、新しく生成する
構造体のサイズと比較する。
Processing of the dynamic area is carried out by the processor section 30 via the processor section address bus 108. The size of the newly generated structure is sent to the unused head list selection unit 119 via the address bus 102. The unused area list selection unit 119 determines an appropriate unused area list from the received size and sends the address of the first cell to the unused area list memory 121. The control unit 120 receives the size of the newly generated structure 119 in parallel with the selection unit 119 for selecting an unused one-top stump. Next, the control section 12
0 is an unused area list selection unit from the unused area size storage area 115 of the unused area list memory 121)
The size of the unused area of the first cell of the unused area list determined by step 119 is read out and compared with the size of the newly generated structure.

その未使用領域が割り利は不円能な時は、制御部120
がポインタ・領域116の価を使って、未使用領域リス
ト・メモリ121をアクセスして、次のセルを調べる。
When the unused area is unallocatable, the control unit 120
uses the value of the pointer/area 116 to access the unused area list memory 121 and check the next cell.

割シ付は可能な時は、f!ilJ両部]20が未使用の
構造体識別番号をブロック管理テーブル・メモリ122
へ送如1次のステップで未使用1wl域先顧フ′ドレス
格納領域114の値を使用領域先卵アドレス格納領域1
17へ書き込む処理と、制御部】20が使用領域サイズ
格納領域118に構造体のサイズを・註き込む処理が行
なわれる。最後のステップで演算ユニット113を通過
した未使用領域先頭アドレス格納領域114の値を使い
制御部120がビットマツプ用メモリ112に、−き込
み処理を行ない、ビットマツプの更新を行なう。
If possible, use f! ilJ both parts] 20 stores the unused structure identification number in the block management table memory 122.
In the next step, the value of the unused 1wl address address storage area 114 is transferred to the used area destination address storage area 1.
17 and the control unit 20 writes the size of the structure into the used area size storage area 118. Using the value of the unused area head address storage area 114 that has passed through the arithmetic unit 113 in the last step, the control unit 120 performs a write process into the bitmap memory 112 to update the bitmap.

リロケート処理の時の動作は、制御部120が演算ユニ
ット113を介して、ビットマツプ・メモリ112ヘア
ドレスを送り、使用領域を捜す。
During the relocate process, the control section 120 sends an address to the bitmap memory 112 via the arithmetic unit 113 to search for a used area.

使用領域を発見すると使用領域の先頭アドレスを制御部
120が演算ユニット113を介して、主記憶11θへ
送り、主記憶110上の構造体ヘッダ部に格納されてい
る構造体識別番号をブロック管理テーブル・メモリ12
2へ送るのと並行して、構造体へ、ダ部をデータ退避レ
ジスタ111へ退避する。
When a used area is discovered, the control unit 120 sends the start address of the used area to the main memory 11θ via the arithmetic unit 113, and the structure identification number stored in the structure header section on the main memory 110 is sent to the block management table.・Memory 12
In parallel with the sending to the data save register 111, the da part of the structure is saved to the data save register 111.

次のステップで、制御部120はリロケート先のアドレ
スを演算ユニット113を介して主記憶110とビット
マツプ・メモリ112と使用領域先頭アドレス格納領域
117へ送シ、−使用領域先頭アドレス格納領域117
の書き換えと、主記憶110上での構造体ヘッダ部のリ
ロケートとビットマツプ・メモリ112の井き換えを行
なう。
In the next step, the control unit 120 sends the relocation destination address to the main memory 110, the bitmap memory 112, and the used area starting address storage area 117 via the arithmetic unit 113.
, relocate the structure header part on the main memory 110, and reorganize the bitmap memory 112.

この後、制御部120は演算ユニッ) 113を介して
主記憶110とビートマツプ・メモリ112ヘアドレス
を送シながら、構造体のデータ部のデータをデータ退避
レジスタ111へ退避して次のステッブで、データ退避
レジスタ111上のデータ全リロケート光へ書き込む処
理を繰り返し、1つの使用領域のリロケートを終了する
After this, the control section 120 saves the data in the data section of the structure to the data save register 111 while sending addresses to the main memory 110 and the beat map memory 112 via the arithmetic unit 113, and in the next step, The process of writing all the data on the data save register 111 to the relocate light is repeated to complete relocating one used area.

全ての使用領域のりロケートが終了後に、制御部120
は、未使用領域リスト選択ユニッ)119に登録されて
bる未使用領域リストを全て消去し、リロケート処理の
結果1つにまとまった未使用領域のサイズに対応する未
使用領域リストのセルを未使用領域リスト・メモリに書
き込んで、未使用領域リスト選択ユニット119に登録
する。
After locating all used areas, the control unit 120
deletes all the unused area lists registered in the unused area list selection unit 119, and unused cells in the unused area list corresponding to the size of the unused areas that have been consolidated as a result of the relocate process. It is written in the used area list memory and registered in the unused area list selection unit 119.

このリロケート処理の間、プロセッサ部130は独立し
た形で主プロセツサ124がキャッシュメモ!i23を
使用して構造体の処理を行なう。
During this relocation process, the processor unit 130 independently uses the cache memory! Process the structure using i23.

以上のように、本発明の構造体メモリ管理方式は、動的
領域側υ付は処理を高速に処理できる特徴と、ゴーベー
ジコレクション処理時のリロケート処理で、リロケート
対象の構造体を指示しているデータが多く存在している
時に、リロケート処理に伴ってデータの指示内容を順次
変更することを不要にしたことによシリロケート処理の
負荷を小さくできる特徴と、リロケート処理中、プロセ
ッサ部がメモリシステムから切り離されて、構造体の処
理を並行して行なう特「改を持っている。
As described above, the structure memory management method of the present invention has the feature that processing can be performed at high speed when the dynamic area side When there is a large amount of data, the load on the relocate process can be reduced by eliminating the need to sequentially change the data instructions during the relocate process. It has a special feature that allows it to be separated from the system and process structures in parallel.

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

第1図は、従来の第1の構造体実現方式により構造体 持つ(太部、かご(りんご、みかん、なし))を実現し
た時の概念図、第2図は、従来の第2の構造体実現方式
によシ構蚕体 持つ(太部、かご(、!7んご、みかん、なし))を実
現した時の概念図、第3図(11、(2+は、従来の構
造木Aと構造体Cが構造体Bを共有している時のガーベ
ージコレクション処理によりメモリ領域の状態遷移を示
しだ概念図である。第4図は、本発明の構造体メモリ管
理装置における構造体実現の一例を示す概念図である。 第5図は、第4図の状態の主記憶をリロケート処理した
結果を示した概念図である。第6図は、未使用領域リス
トとビットマツプの組みによる主記憶管理の様子を示し
た概念図である。第7図(a) 、 (b)は、未使用
領域リストによる動的領域割り付けの様子を示した概念
図である。第8図は本光明の構造体メモリ管理装置の一
実施例のブロック図である。 100はデータバス、101は内部アドレスバス。 102はアドレスバス、103はオフセットバス。 104は先頭アドレスバス、105はポインタバス。 106は制御バス、107はプロセッサ部データバス。 108はプロセッサ部アドレスバスである。 110は主記憶、111はデータ退避レジスタ。 112はビットマツプ・メモリ、113は演算ユニッ)
 、114は未使用領域先頭アドレス格納領域。 115は未使用領域サイズ格納領域、】16はポインタ
領域、117は使用領域先頭アドレス格納頭載。 118は使用領域サイズ格納領域、119は未使用領域
リスト選択ユニッ) 、120は制両部、121はアド
レス・ラッチ機能を持った未使用領域リスト・メモリ、
122はアドレス・ラッチ機能を持ったブロック管理テ
ーブル・メモリ、123はキャッシュメモリ、124は
主プロセツサである。 130はプロセッサ部、131はメモリ管理部を示して
いる。 第1図 10 第2図 第3図 (1) (2) 第4図 オフ図 7I (a) (b) 78図 130
Figure 1 is a conceptual diagram when a structure with a structure (fat part, basket (apple, orange, pear)) is realized using the conventional first structure realization method, and Figure 2 is a conceptual diagram of the conventional second structure. A conceptual diagram when realizing a structured silkworm body (fatty part, basket (,!7 apple, orange, none)) using the body realization method, Figure 3 (11, (2+ is the conventional structural tree A) FIG. 4 is a conceptual diagram showing the state transition of a memory area due to garbage collection processing when structure B is shared by structure C and structure B. FIG. FIG. 5 is a conceptual diagram showing the result of relocating the main memory in the state shown in FIG. 4. FIG. 6 is a conceptual diagram showing the result of relocating the main memory in the state shown in FIG. Fig. 7 is a conceptual diagram showing the state of management. Fig. 7 (a) and (b) are conceptual diagrams showing the state of dynamic area allocation based on the unused area list. Fig. 8 is a conceptual diagram showing the state of dynamic area allocation based on the unused area list. 1 is a block diagram of an embodiment of a physical memory management device. 100 is a data bus, 101 is an internal address bus, 102 is an address bus, 103 is an offset bus, 104 is a start address bus, 105 is a pointer bus, and 106 is a control bus. , 107 is a processor section data bus. 108 is a processor section address bus. 110 is a main memory, 111 is a data save register, 112 is a bitmap memory, and 113 is an arithmetic unit).
, 114 is an unused area start address storage area. 115 is an unused area size storage area, ] 16 is a pointer area, and 117 is a used area start address storage area. 118 is a used area size storage area, 119 is an unused area list selection unit), 120 is a control unit, 121 is an unused area list memory with an address latch function,
122 is a block management table memory having an address latch function, 123 is a cache memory, and 124 is a main processor. 130 is a processor section, and 131 is a memory management section. Fig. 1 10 Fig. 2 Fig. 3 (1) (2) Fig. 4 Off Fig. 7I (a) (b) Fig. 78 130

Claims (1)

【特許請求の範囲】 固定長のヘッダ部と任意長のデータ部とから成る構造体
を貯える主記憶と、 前記主記憶上の構造体全労は処理する主プロセツサと、 前記主記憶上のデータの一部を貯え、前記主プロセツサ
に一時的未使用領域を提供するキャッジ−メモリと、 前記主記憶上の使用中領域と未使用領域の情報を保持す
るピットマツプ・メモリと、 前記主記憶上の未使用領域の先頭アドレス情報とサイズ
情報を保持するセルと、前記セルがhつ未使用領域のサ
イズの値で複数のグループに分類し、各グループごとに
グループに属するセル全ポインタでつないだ未使用領域
リストと、論理的に1つの連鉱領域となっている構造体
の識別名と前記主記憶上の構造体格納領域の先頭アドレ
ス情報とサイズ情報を格納するブロック管理テーブルと
、前記主記憶の動的割シ付は処理とガーベージコレクシ
ョン処理の制御を行なう制御部を備え、前記主プロセツ
サが新しい構造体を生成する時に前記キャッジ−メモリ
に前記構造体の領域を確保し前記主プロセツサでの処理
を続行することと並行して、前記制御部力1゛′前記ブ
ロック管理テーブルに前記構造体の識別番号を割シ尚で
前記未使用領域リストラ使用して前記主記憶上に格納領
域を確保することと、 ゴーベージコレクション処理時のりロケーション処理に
おいて前記制御部がビットマツプ・メモIJ k使って
前記主記憶上の使用中領域を捜し、リロケート処理を行
なうことを特徴とする構造体メモリ管理装置。
[Scope of Claims] A main memory for storing a structure consisting of a fixed-length header section and an arbitrary-length data section; a main processor for processing the structure on the main memory; and a main processor for processing the structure on the main memory; a cache memory that stores a portion of the data and provides a temporary unused area to the main processor; a pit map memory that holds information about used areas and unused areas on the main memory; A cell that holds the start address information and size information of the used area, and the above cells are classified into multiple groups based on the size value of the unused area, and for each group, the unused area is connected by all pointers of cells belonging to the group. an area list, an identification name of a structure that is logically one continuous area, a block management table that stores the start address information and size information of the structure storage area in the main memory, and Dynamic allocation includes a control unit that controls processing and garbage collection processing, and when the main processor generates a new structure, it reserves an area for the structure in the cache memory and processes it in the main processor. In parallel with continuing, the control unit 1' allocates the identification number of the structure in the block management table and uses the unused area restructuring to secure a storage area on the main memory. and a structure memory management device characterized in that, in a location process during a gobage collection process, the control unit uses a bitmap memory IJk to search for an area in use on the main memory and performs a relocate process.
JP58193809A 1983-10-17 1983-10-17 Structure memory controller Pending JPS6084647A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58193809A JPS6084647A (en) 1983-10-17 1983-10-17 Structure memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58193809A JPS6084647A (en) 1983-10-17 1983-10-17 Structure memory controller

Publications (1)

Publication Number Publication Date
JPS6084647A true JPS6084647A (en) 1985-05-14

Family

ID=16314123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58193809A Pending JPS6084647A (en) 1983-10-17 1983-10-17 Structure memory controller

Country Status (1)

Country Link
JP (1) JPS6084647A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023049058A (en) * 2021-09-29 2023-04-10 新實 慧太郎 object operator

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023049058A (en) * 2021-09-29 2023-04-10 新實 慧太郎 object operator

Similar Documents

Publication Publication Date Title
US4758944A (en) Method for managing virtual memory to separate active and stable memory blocks
JPH0330897B2 (en)
CN105468542B (en) Address distribution method and device
JPS61112255A (en) Computer system
JPH08510072A (en) Flash file system
JP2006268776A (en) Memory card
JPH06222999A (en) Swap-block assembling method and memory control mechanism
US20190004703A1 (en) Method and computer system for managing blocks
KR101061483B1 (en) Memory circuit and memory circuit access method, memory management system and memory management method
CN115269450A (en) Memory cooperative management system and method
JP2000353115A (en) Extent base file system having multipurpose indirect specification or multiple volumes
JPS6084647A (en) Structure memory controller
CN111552651A (en) Hybrid memory management method for lightweight operation system of Internet of things terminal
JPS5918786B2 (en) Hierarchical memory system
Srisa-An et al. Scalable hardware-algorithm for mark-sweep garbage collection
US6865584B2 (en) Method for recovering a database provided with disk back-up
JPH11272537A (en) Flash type memory and management device for the same
JP2001022640A (en) Memory managing method
JPH1091527A (en) Storage device and storage medium
US10810132B1 (en) Object based extent mapping for flash memory
JPS6353656A (en) Storage area control method for secondary storage part
JPS6027962A (en) Structure memory control system
JPS62154149A (en) Control system for data area allocation of area shared file
JPH11275158A (en) Automatic memory allocation system
JPH01191229A (en) File control system