JPH0991195A - ブロックメモリ管理装置 - Google Patents

ブロックメモリ管理装置

Info

Publication number
JPH0991195A
JPH0991195A JP24590695A JP24590695A JPH0991195A JP H0991195 A JPH0991195 A JP H0991195A JP 24590695 A JP24590695 A JP 24590695A JP 24590695 A JP24590695 A JP 24590695A JP H0991195 A JPH0991195 A JP H0991195A
Authority
JP
Japan
Prior art keywords
block
data
memory
entry
address
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
JP24590695A
Other languages
English (en)
Inventor
Riyuuichi Onoo
隆一 小野尾
Hiroshi Yoshizawa
宏 吉澤
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.)
JFE Steel Corp
Original Assignee
Kawasaki Steel 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 Kawasaki Steel Corp filed Critical Kawasaki Steel Corp
Priority to JP24590695A priority Critical patent/JPH0991195A/ja
Publication of JPH0991195A publication Critical patent/JPH0991195A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 未使用ブロックの探索、データの取得等のメ
モリ管理を高速化する。 【解決手段】 メモリ10の各ブロック1−7に対応付
けられたエントリ36と、対応するブロックに格納され
ているデータの種類が書き込まれるステータス領域32
と、対応するブロックのアドレスが書き込まれるアドレ
ス領域34とを含むテーブル30を備えた連想メモリ2
8を設け、前記エントリ36の有効、無効を、対応する
ブロックの使用、未使用を示す指標として、メモリブロ
ック1−7を管理する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、所定の大きさのブ
ロックに分割されたメモリを、ブロック単位に扱うため
のブロックメモリ管理装置に係り、特に、メモリブロッ
クを高速で管理することが可能なブロックメモリ管理装
置に関する。
【0002】
【従来の技術】メモリを一定の大きさのブロックに分割
し、ブロック単位にメモリを扱う場合、全てのデータに
ついて、幾つのブロックを使用し、どのブロックに割当
られているかを管理する必要がある。
【0003】従って、従来は、図1に示す如く、メモリ
10の各ブロック1−7中に、当該ブロックの使用状況
を示すブロックステータス領域20と、当該ブロックに
格納されているデータの続きが格納されているブロック
のアドレスを示すポインタ領域22を確保している。図
1の場合、データAは、ブロック1、3、4の順に格納
され、データBは、ブロック2、6の順に格納されてお
り、ブロック5は未使用状態となっている。又、ブロッ
ク7には、先頭がないデータCが格納されているので、
ブロック5と同じく未使用状態と判断される。このブロ
ック7は、全ブロックのブロックステータスを探索し
て、先頭のないデータが格納されているブロックを未使
用とするガーベージコレクション処理によってブロック
5と同様の未使用ブロックとなる。
【0004】このような従来のメモリブロックの管理法
において、データを書き込む際には、ブロックステータ
スが未使用となっているブロックにデータを書き込む。
なお、2つ以上のブロックに跨る場合には、ポインタ領
域22に、続きのブロックのアドレスを書き込む。
【0005】データを削除する際には、当該データが格
納されているブロックのうち、先頭ブロックのみを未使
用とする。即ち、データAを削除する場合は、ブロック
1のブロックステータスのみを未使用とする。削除され
たデータの続きが格納されているブロック(図1ではブ
ロック3及びブロック4)のブロックステータスは、そ
の後のガーベージコレクション処理により、未使用とさ
れる。
【0006】データの読み出しに際しては、全ブロック
のブロックステータスを探索して、読み出したデータの
種類の先頭ブロックを探し出し、ポインタを使って順次
必要なデータを取り出す。
【0007】
【発明が解決しようとする課題】このような従来の管理
方法では、未使用ブロックのアドレスを得るために、各
ブロックのステータスを探索して、未使用ブロックを探
し出す必要がある。又、先頭のないデータが格納されて
いるブロックのブロックステータスを未使用とするガー
ベージコレクション処理を適宜行わなければならず、高
速性が損なわれる。更に、取得したいデータの先頭が、
何処に格納されているか探すのに時間が掛る等の問題点
を有していた。
【0008】本発明は、前記従来の問題点を解消するべ
くなされたもので、未使用ブロックの探索、データの取
得等のメモリ管理を高速化することを目的とする。
【0009】
【課題を解決するための手段】本発明では、メモリブロ
ックの管理を、連想メモリ(コンテント・アドレッサブ
ル・メモリ:CAM)を用いて行う。即ち、図2に示す
如く、連想メモリのテーブル(CAMテーブル)30
に、ステータス領域32とアドレス領域34を設ける。
各エントリ36は、メモリ10の各ブロック1−7に対
応付けられ、そのステータス領域32には、対応するブ
ロックに格納されているデータの種類が書き込まれ、ア
ドレス領域34には、対応するブロックのアドレスが書
き込まれる。
【0010】エントリ36にデータの種類を示すステー
タスが書き込まれて有効(フル)である場合は、対応す
るブロックが使用中であることを示し、エントリにステ
ータスが書き込まれておらず無効(エンプティ)の場合
は、対応するブロックが未使用であることを示す。
【0011】データを書き込む場合には、CAMテーブ
ル30のエンプティのエントリを探し、そのステータス
領域にデータの種類を書き込み、エントリをフルにする
と共に、そのアドレス領域から未使用ブロックのアドレ
スを取得する。なお、当該ブロックに書き込みきれない
場合には、次のエンプティのエントリを探す。
【0012】データの削除に際しては、削除したいデー
タの種類でステータス領域32を検索し、ヒットした総
てのエントリをエンプティにする。
【0013】データを読み出したい場合には、取得した
いデータの種類でステータス領域32を検索し、ヒット
した順にエントリのアドレス領域34のアドレスが示す
ブロックからデータを取り出す。
【0014】このようにして、メモリブロックを高速で
管理することが可能となる。
【0015】
【発明の実施の形態】以下図面を参照して、本発明の実
施形態を詳細に説明する。
【0016】本実施形態は、図3に示す如く、メモリが
一定の大きさのブロックに分割されたメモリ10と、該
メモリ10のブロックを管理するためのCAMテーブル
を備えた連想メモリ(CAM)28と、該CAM28及
びメモリ10を制御するためのCAM制御装置40とを
用いて構成されている。
【0017】前記メモリ10は、図4に詳細に示す如
く、多数のブロック1−5・・・に分割されている。
【0018】前記CAM28には、図5に示すようなC
AMテーブル30が備えられており、このCAMテーブ
ル30のエントリは、各ブロックに対応付けられ、その
アドレス領域34には、予め、各ブロックの先頭アドレ
ス000H、100H、2000H、・・・が書き込ま
れている。
【0019】図3に示した如く、ブロックメモリ管理装
置の動作を指示するためにCAM制御装置40に入力さ
れるコマンドには、データをメモリ10上から削除する
ための削除コマンド、メモリ10上のデータを読み出す
ための読出コマンド、データをメモリ10上に書き込む
ための書込コマンドがある。
【0020】同じくCAM制御装置40に入力されるス
テータスは、入出力や削除の対象となるデータの識別子
を与える。
【0021】データは、メモリ10とデータのやりとり
をするための信号線であり、「書込」の場合、データを
CAM制御装置40に入力し、「読出」の場合、データ
をCAM制御装置40より取り出す。
【0022】データ読出終了信号は、データ読出終了を
知らせ、データ書込終了信号は、データ書込終了を知ら
せるためのものである。
【0023】エラー信号は、CAM制御装置40内部の
エラーを知らせる。
【0024】前記CAM制御装置40とメモリ10間で
やりとりされる信号のうち、アドレスは、メモリ10に
アドレスを与える。データは、メモリ10とデータのや
りとりをする。データ書込信号は、メモリ10にデータ
を書き込むための信号であり、データ読出信号は、メモ
リ10からデータを読み出すための信号である。
【0025】前記CAM制御装置40とCAM28間で
やりとりする信号のうち、検索信号は、CAMテーブル
30を検索するための信号である。消去信号は、CAM
テーブル30上のエントリを削除するための信号であ
る。ステータス領域書込信号は、指定されたエントリ3
6のステータス領域32にデータを書き込むための信号
である。ヒットエントリ・アドレス領域出力信号は、ヒ
ットエントリのアドレス領域のデータを読み出すための
信号である。エンプティエントリ・アドレス領域出力信
号は、エンプティエントリのアドレス領域のデータを読
み出すための信号である。ヒットエントリ更新信号は、
ヒットエントリ・ポインタを、次のヒットエントリに移
すための信号である。エンプティエントリ更新信号は、
エンプティエントリ・ポインタを、次のエンプティエン
トリに移すための信号である。アドレス領域出力から
は、アドレス領域を示すデータが読み出される。テーブ
ル・フル信号は、テーブル上の総てのエントリが有効で
あるときに出力される。当該信号は、エンプティエント
リ更新信号と同時に更新される。ヒットエントリ存在信
号は、ヒットエントリがある場合に出力される。当該信
号は、ヒットエントリ更新信号でヒットエントリポイン
タを次のヒットエントリに移す時、次のヒットエントリ
がない場合には出力されなくなる。
【0026】以下、図6乃至図8を参照して、本実施形
態の作用を説明する。
【0027】まずステップ100で、CAM制御装置4
0へのコマンドを取得する。次いでステップ110でコ
マンドの種類を認識し、「書込」である場合には、ステ
ップ120で書込対象のデータの種類を示すステータス
Sを取得し、ステップ130で、書き込みに備えて、C
AMテーブル30上のステータスSのエントリを削除す
る。次いでステップ140で、テーブル・フル信号をみ
て、CAMテーブル30がフルである場合には、メモリ
10が一杯のため書き込み不可であると判断して、エラ
ー信号を出力する。
【0028】一方、ステップ140でテーブルがフルで
はないと判断されたときには、ステップ150に進み、
CAMテーブル30のエンプティエントリを探し、エン
プティエントリアドレス領域出力信号を発生して、その
アドレス領域の値(図5では400H番地)を取得す
る。ここで取得した値が、書き込み先のブロックメモリ
のあるメモリ10のアドレスとなる。次いでステップ1
60で、ステータス領域書込信号によりエンプティエン
トリにステータスSを書き込んで、そのエントリをフル
にする。
【0029】次いでステップ170に進み、データ書込
信号を発生して、ステップ150で与えられ、CAM制
御装置40が保持しているメモリ10のアドレスにデー
タを書き込み、ステップ180でメモリ10のアドレス
を更新する。
【0030】次いでステップ190でデータ書込終了信
号を見て、データ書き込みが終了した場合には、処理を
終了する。一方、データ書き込みが終了していない場合
には、ステップ200に進み、ステップ150で指定さ
れたブロックメモリがフルになったか否か判定する。フ
ルでない場合には、ステップ170に戻る。フルである
場合には、ステップ150で指定されたブロックにデー
タが入りきらないため、ステップ210で、次のエンプ
ティエントリを探して、エンプティエントリを更新し、
ステップ140に戻る。
【0031】一方、前出ステップ110で判断されるコ
マンドが「削除」である場合には、ステップ220に進
み、削除対象のデータの種類を示すステータスSを取得
し、ステップ230で、検索信号によりCAMテーブル
30上の該当するステータスSを検索する。該当するス
テータスがあることを示すヒットエントリ存在信号の有
無をステップ240で見て、ヒットエントリが無い場合
には、ステータスSが無いため、削除できないと判断し
て、エラー信号を出力する。一方、ステップ240でヒ
ットエントリ有りと判定された場合には、ステップ25
0に進み、全ヒットエントリの削除を指示する削除信号
を出力して、処理を終了する。
【0032】又、前出ステップ110で判定されたコマ
ンドが「読出」である場合には、ステップ260に進
み、読出対象のデータの種類を示すステータスSを取得
し、ステップ270で、検索信号によりCAMテーブル
30上の該当するステータスSを検索する。次いでステ
ップ280でヒットエントリの存在の有無を判定し、ヒ
ットエントリが無い場合には、ステータスSが無いので
読み出せないと判断して、エラー信号を出力する。
【0033】一方、ヒットエントリが有る場合には、ス
テップ290に進み、ヒットエントリのアドレス領域の
値を取得して、ヒットエントリ・アドレス領域出力信号
を発生する。次いでステップ300に進み、ステップ2
90で与えられたアドレス領域の値を用いて、データ読
出信号により、メモリ10からデータを読み出す。次い
でステップ310に進み、メモリのアドレスを更新し、
ステップ320で、データ読出終了と判断されたときに
は、処理を終了する。
【0034】一方、ステップ320でデータ読出継続中
であると判断されたときには、ステップ330で、1ブ
ロックメモリの読み出しが終了したか否かを判定する。
読出途中であると判断されたときには、ステップ300
に戻る。
【0035】前出ステップ330で1ブロックメモリの
読み出しが終了したと判断されたときには、ステップ3
40で、ヒットエントリポインタを次ヒットエントリに
更新するヒットエントリ更新信号を出力して、ステップ
350に進み、ヒットエントリが存在するか否かを判定
する。ヒットエントリが無いと判断されたときには、デ
ータは全て読み出されたと判断して、エラー信号を出力
する。
【0036】一方、ステップ340で、ヒットエントリ
有りと判断されたときにはステップ290に戻る。
【0037】このようにして、データ書込時には、従来
は、各ブロックのブロックステータスをサーチして未使
用ブロックを探し出す必要があったのが、本発明では、
1コマンドで未使用ブロックのアドレスを得ることがで
きるようになる。又、データ読出時には、従来は、各ブ
ロックのブロックステータスから、所望のデータが格納
されている先頭ブロックを探し出す必要があったのが、
本発明では、サーチを行うと、所望のデータが格納され
ている先頭ブロックのアドレスを直ちに得ることが可能
となる。更に、従来はガーベージコレクション処理を適
宜行う必要があったのが、本発明では、行う必要がなく
なる。
【0038】
【発明の効果】以上説明したとおり、本発明によれば、
連想メモリを用いて、メモリブロックの使用状況、チェ
ーン情報を管理することができるので、メモリブロック
を高速で管理することが可能となる。
【図面の簡単な説明】
【図1】従来のメモリブロックの管理方法を説明するた
めのメモリの構成図
【図2】本発明におけるメモリの管理状態を説明するた
めの、メモリとCAMテーブルの関係を示す線図
【図3】本発明の実施形態におけるブロックメモリ管理
装置の構成を示すブロック線図
【図4】前記実施形態におけるメモリのブロックを示す
線図
【図5】同じく連想メモリ中のCAMテーブルの構成を
示す線図
【図6】前記実施形態の処理手順の一部を示す流れ図
【図7】同じく処理手順の一部を示す流れ図
【図8】同じく処理手順の一部を示す流れ図
【符号の説明】
10…メモリ 1−7…ブロック 28…連想メモリ(CAM) 30…CAMテーブル 32…ステータス領域 34…アドレス領域 36…エントリ 40…CAM制御装置

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】所定の大きさのブロックに分割されたメモ
    リを、ブロック単位に扱うためのブロックメモリ管理装
    置において、 各ブロックに対応付けられたエントリと、 各エントリ毎に設けられた、対応するブロックに格納さ
    れているデータの種類が書き込まれるステータス領域
    と、 各エントリ毎に設けられた、対応するブロックのアドレ
    スが書き込まれるアドレス領域と、 を含むテーブルを備えた連想メモリを設け、 前記エントリの有効、無効を、対応するブロックの使
    用、未使用を示す指標として、メモリブロックを管理す
    ることを特徴とするブロックメモリ管理装置。
  2. 【請求項2】請求項1において、データの書込時は、前
    記デーブル中の無効のエントリを検索し、そのステータ
    ス領域にデータの種類を書き込んでエントリを有効にす
    ると共に、そのアドレス領域から、未使用ブロックのア
    ドレスを取得することを特徴とするブロックメモリ管理
    装置。
  3. 【請求項3】請求項1において、データの削除時は、削
    除したいデータの種類で前記ステータス領域を検索し、
    ヒットした総てのエントリを無効にすることを特徴とす
    るブロックメモリ管理装置。
  4. 【請求項4】請求項1において、データの読出時は、読
    み出したいデータの種類で前記ステータス領域を検索
    し、ヒットした順に、エントリのアドレス領域のアドレ
    スが示すブロックからデータを取り出すことを特徴とす
    るブロックメモリ管理装置。
JP24590695A 1995-09-25 1995-09-25 ブロックメモリ管理装置 Pending JPH0991195A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24590695A JPH0991195A (ja) 1995-09-25 1995-09-25 ブロックメモリ管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24590695A JPH0991195A (ja) 1995-09-25 1995-09-25 ブロックメモリ管理装置

Publications (1)

Publication Number Publication Date
JPH0991195A true JPH0991195A (ja) 1997-04-04

Family

ID=17140591

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24590695A Pending JPH0991195A (ja) 1995-09-25 1995-09-25 ブロックメモリ管理装置

Country Status (1)

Country Link
JP (1) JPH0991195A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1146490A (ja) * 1997-07-28 1999-02-16 Matsushita Electric Works Ltd モータの回転速度制御回路
JP2008084288A (ja) * 2006-09-26 2008-04-10 Integrated Technology Express Inc メモリ制御装置
JP2014238767A (ja) * 2013-06-10 2014-12-18 カシオ計算機株式会社 メモリ制御装置、メモリ制御方法及びプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1146490A (ja) * 1997-07-28 1999-02-16 Matsushita Electric Works Ltd モータの回転速度制御回路
JP2008084288A (ja) * 2006-09-26 2008-04-10 Integrated Technology Express Inc メモリ制御装置
JP4594944B2 (ja) * 2006-09-26 2010-12-08 聯陽半導體股▲ふん▼有限公司 メモリ制御装置
JP2014238767A (ja) * 2013-06-10 2014-12-18 カシオ計算機株式会社 メモリ制御装置、メモリ制御方法及びプログラム

Similar Documents

Publication Publication Date Title
JP2586219B2 (ja) 高速媒体優先解放型排他方式
JP2553751B2 (ja) ディスクセクタ代替方式
JPH0991195A (ja) ブロックメモリ管理装置
JPH0198020A (ja) 索引管理方式
JPH08314780A (ja) ファイル管理方式
JP2735400B2 (ja) 非同期入出力制御方式
JP2718679B2 (ja) データ転送制御装置
JP2606305B2 (ja) データ処理装置
JP2901543B2 (ja) 磁気デイスクフアイルリロケーション方式
JPH086829A (ja) データベースの同時全件検索方法
JP2767966B2 (ja) 高速ファイルアクセス方式
JPH05108426A (ja) データフアイル管理方式
JP2752767B2 (ja) バッファ管理方式
JPS6035692B2 (ja) バッファ管理方式
JPH04299749A (ja) 光磁気ディスクシステム
JPS63311451A (ja) 再書き込み不可な低速アクセス媒体のアクセス方式
JPH0652019A (ja) ファイル管理装置
JPH0371348A (ja) 高速データアクセス方式
JPH03113668A (ja) 分散処理型エディタの端末側ワークバッファ管理方法
JPS6124734B2 (ja)
JPH05204735A (ja) データ管理方式
JPH0682334B2 (ja) 管理テーブルの管理処理装置
JPH01169793A (ja) 光ディスク管理情報の移動方式
JPH0397044A (ja) 分散データベースシステム
JPS62108342A (ja) デイスクキヤツシユ制御方式