JPH0784886A - キャッシュメモリ制御方法およびキャッシュメモリ制御装置 - Google Patents

キャッシュメモリ制御方法およびキャッシュメモリ制御装置

Info

Publication number
JPH0784886A
JPH0784886A JP5226989A JP22698993A JPH0784886A JP H0784886 A JPH0784886 A JP H0784886A JP 5226989 A JP5226989 A JP 5226989A JP 22698993 A JP22698993 A JP 22698993A JP H0784886 A JPH0784886 A JP H0784886A
Authority
JP
Japan
Prior art keywords
data
cache memory
storage device
empty area
existence
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
JP5226989A
Other languages
English (en)
Inventor
Makoto Tazumi
誠 田積
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP5226989A priority Critical patent/JPH0784886A/ja
Publication of JPH0784886A publication Critical patent/JPH0784886A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 フラッシュメモリのように書換えが一定サイ
ズのブロック単位でしか実行できず、書換え時間が長い
デバイスを記憶装置として用いた情報処理装置において
も、処理時間を短縮できるキャッシュメモリ制御方法お
よびキャッシュメモリ制御装置を提供する。 【構成】 アドレス比較部4は、キャッシュメモリ3か
らフラッシュメモリ2にデータを書き出す際に、キャッ
シュメモリ3上の全てのデータのアドレスを確認し、一
定間隔のアドレス範囲に含まれるデータの数を数えて最
もデータ数の多いアドレス範囲を書き出し対象として選
択する。リプレース実行部5は、アドレス比較部4が選
択したアドレス範囲に含まれる全てのデータをキャッシ
ュメモリ3からフラッシュメモリ2に書き出す。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、情報処理装置における
記憶装置ならびにキャッシュメモリの制御方法および制
御装置に関するものである。
【0002】
【従来の技術】一般に、情報処理装置を構成する際に
は、処理装置と記憶装置との間に高速にアクセスできる
小容量のキャッシュメモリを設け、頻繁に利用するデー
タを記憶装置からキャッシュメモリにコピーして処理装
置が使用するという方法がよく用いられる。
【0003】このキャッシュメモリは、システムのスタ
ート時にはまったくデータをもっておらず、処理装置が
記憶装置にアクセス、すなわちデータの読み出しまたは
書き込みをするたびに、アクセスしたデータがコピーさ
れる。そして、すでにキャッシュメモリにコピーされた
データを処理装置が使用する際には、記憶装置にはアク
セスせず、高速のキャッシュメモリのみにアクセスす
る。
【0004】しかし、キャッシュメモリは記憶装置に比
較すると小量のデータ容量しかないため、いずれはキャ
ッシュメモリの領域にすべてデータがコピーされ、新た
なデータをキャッシュメモリにコピーするためには、す
でにキャッシュメモリにあるデータを記憶装置に書き出
して空領域をつくり、その空領域に新たなデータをコピ
ーする必要がある。
【0005】そこで従来は、処理装置からのデータの書
き込みの際にも、キャッシュメモリに該当データがあれ
ばキャッシュメモリのデータのみを変更して、記憶装置
のデータは変更せず、キャッシュメモリが一杯になって
新たなデータをキャッシュメモリにコピーする必要が生
じた際に、はじめてリプレースすなわち記憶装置にデー
タを書き出すというコピーバック方式が採用されてい
た。
【0006】このコピーバック方式以外にも、処理装置
からのデータの書き込みの際に、キャッシュメモリのデ
ータだけでなく記憶装置のデータも変更するライトスル
ー方式があるが、コピーバック方式の方が記憶装置への
アクセスを削減することができ、システム性能が向上す
るため、よく用いられている。なお、コピーバック方式
の場合、キャッシュメモリが一杯になった場合に、記憶
装置にキャッシュメモリのどのデータを書き出すかを決
定する必要があるが、その方式には、最も過去に参照さ
れたデータを選択するLRU(Least RecentlyUsed )
方式、任意に選択するランダム方式、最も過去にコピー
してきたデータを選択するFIFO(First In Last Ou
t )方式などがある。
【0007】
【発明が解決しようとする課題】しかし上記従来のコピ
ーバック方式では、記憶装置がSRAMやDRAMのよ
うな個々のデータ単位で読み出しおよび書き込みが可能
なデバイスで構成される場合には問題ないが、NOR型
フラッシュメモリのように、読み出しは個々のデータ単
位で可能であるが、データの書換えは一定の個数のデー
タがまとまったブロックと呼ばれる単位でないとできな
いデバイスで構成したときには、記憶装置への書き込み
処理による性能低下が発生するという問題点を有してい
た。
【0008】すなわち、NOR型フラッシュメモリの場
合、データの読み出しは、通常のDRAM等と同様の速
度でバイト単位に実行できるものの、すでに書き込まれ
ているデータを変更するためには、一度データを消去し
てから書き込む必要がある。このデータ消去は、ブロッ
クと呼ばれる数kバイト〜数10kバイト単位でしか実
行できないため、実際にはブロック単位のデータを一旦
読み出して、ブロックを消去し、もう一度ブロック単位
でデータを書き込むという処理が必要となる。また、デ
ータの消去および書き込みは、通常のDRAM等と比較
して非常に時間がかかるため、データの書換えが多い場
合に処理時間が長くなる。
【0009】このように従来のキャッシュメモリ制御方
式では、ブロック単位の書換えを減少させるように考慮
されていないので、記憶装置としてフラッシュメモリを
用いた場合などには、記憶装置の書換え回数が増加し、
処理時間が増加してしまうという問題があった。本発明
はかかる事情に鑑みて成されたものであり、フラッシュ
メモリのように書換えが一定サイズのブロック単位でし
か実行できず、書換え時間が長いデバイスを記憶装置と
して用いた情報処理装置においても、処理時間を短縮で
きるキャッシュメモリ制御方法およびキャッシュメモリ
制御を提供することを目的とする。
【0010】
【課題を解決するための手段】請求項1の発明は、処理
装置が記憶装置のデータをアクセスする際に、該当デー
タがキャッシュメモリにコピーされているか否かを判断
するコピー存在確認ステップと、コピー存在確認ステッ
プにおいてコピーの存在が確認されれば、キャッシュメ
モリ上のデータのみをアクセスするキャッシュメモリア
クセスステップと、コピー存在確認ステップにおいてコ
ピーの存在が確認されなければ、キャッシュメモリ上に
該当データをコピーする空領域があるか否かを確認する
空領域存在確認ステップと、空領域存在確認ステップに
おいて空領域の存在が確認されれば、該当データを記憶
装置からキャッシュメモリにコピーする第1のコピース
テップと、空領域存在確認ステップにおいて空領域の存
在が確認されなければ、キャッシュメモリ上のデータを
記憶装置に書き出して空領域を作る空領域作成ステップ
と、空領域作成ステップにおいて作成された空領域に該
当データを記憶装置からコピーする第2のコピーステッ
プと、を実行するコピーバック方式のキャッシュメモリ
制御方法において、キャッシュメモリから記憶装置にデ
ータを書き出す際に、キャッシュメモリ上の全てのデー
タのアドレスを確認するアドレス確認ステップと、アド
レス確認ステップにおいて確認されたアドレスに基づい
て、一定間隔のアドレス範囲に含まれるデータの数が最
も多いアドレス範囲を書き出し対象として選択する書き
出し対象選択ステップと、書き出し対象選択ステップに
おいて選択されたアドレス範囲に含まれる全てのデータ
をキャッシュメモリから記憶装置に書き出す書き出しス
テップと、を実行することを特徴としている。
【0011】請求項2の発明は、処理装置と記憶装置と
の間にキャッシュメモリを有し、処理装置が記憶装置の
データをアクセスする際に、該当データがキャッシュメ
モリにコピーされていれば、キャッシュメモリ上のデー
タのみをアクセスし、コピーされていなければ、キャッ
シュメモリ上に該当データをコピーする空領域があるか
否かを確認し、空領域があれば該当データを記憶装置か
らキャッシュメモリにコピーし、空領域がなければキャ
ッシュメモリ上のデータを記憶装置に書き出して空領域
を作り、その空領域に該当データを記憶装置からコピー
する、コピーバック方式のキャッシュメモリ制御装置に
おいて、キャッシュメモリから記憶装置にデータを書き
出す際に、キャッシュメモリ上の全てのデータのアドレ
スを確認し、一定間隔のアドレス範囲に含まれるデータ
の数を数えて最もデータ数の多いアドレス範囲を書き出
し対象として選択する選択部と、選択部により選択され
たアドレス範囲に含まれる全てのデータをキャッシュメ
モリから記憶装置に書き出す書き出し部と、を備えたこ
とを特徴としている。
【0012】請求項3の発明は、処理装置が記憶装置の
データをアクセスする際に、該当データがキャッシュメ
モリにコピーされているか否かを判断するコピー存在確
認ステップと、コピー存在確認ステップにおいてコピー
の存在が確認されれば、キャッシュメモリ上のデータの
みをアクセスするキャッシュメモリアクセスステップ
と、コピー存在確認ステップにおいてコピーの存在が確
認されなければ、キャッシュメモリ上に該当データをコ
ピーする空領域があるか否かを確認する空領域存在確認
ステップと、空領域存在確認ステップにおいて空領域の
存在が確認されれば、該当データを記憶装置からキャッ
シュメモリにコピーする第1のコピーステップと、空領
域存在確認ステップにおいて空領域の存在が確認されな
ければ、キャッシュメモリ上のデータを記憶装置に書き
出して空領域を作る空領域作成ステップと、空領域作成
ステップにおいて作成された空領域に該当データを記憶
装置からコピーする第2のコピーステップと、を実行す
るコピーバック方式のキャッシュメモリ制御方法におい
て、キャッシュメモリから記憶装置にデータを書き出す
際に、キャッシュメモリ上のデータのアドレスを順に確
認するアドレス確認ステップと、アドレス確認ステップ
において確認されたアドレスに基づいて、一定間隔のア
ドレス範囲に含まれるデータの数が特定の個数を越える
アドレス範囲を書き出し対象として選択する書き出し対
象選択ステップと、書き出し対象選択ステップにおいて
選択されたアドレス範囲に含まれる全てのデータをキャ
ッシュメモリから記憶装置に書き出す書き出しステップ
と、を実行することを特徴としている。
【0013】請求項4の発明は、処理装置と記憶装置と
の間にキャッシュメモリを有し、処理装置が記憶装置の
データをアクセスする際に、該当データがキャッシュメ
モリにコピーされていれば、キャッシュメモリ上のデー
タのみをアクセスし、コピーされていなければ、キャッ
シュメモリ上に該当データをコピーする空領域があるか
否かを確認し、空領域があれば該当データを記憶装置か
らキャッシュメモリにコピーし、空領域がなければキャ
ッシュメモリ上のデータを記憶装置に書き出して空領域
を作り、その空領域に該当データを記憶装置からコピー
する、コピーバック方式のキャッシュメモリ制御装置に
おいて、キャッシュメモリから記憶装置にデータを書き
出す際に、キャッシュメモリ上のデータのアドレスを順
に確認し、一定間隔のアドレス範囲に含まれるデータの
数が特定の個数を越えるアドレス範囲を書き出し対象と
して選択する選択部と、選択部により選択されたアドレ
ス範囲に含まれる全てのデータをキャッシュメモリから
記憶装置に書き出す書き出し部と、を備えたことを特徴
としている。
【0014】請求項5の発明は、処理装置が記憶装置の
データをアクセスする際に、該当データがキャッシュメ
モリにコピーされているか否かを判断するコピー存在確
認ステップと、コピー存在確認ステップにおいてコピー
の存在が確認されれば、キャッシュメモリ上のデータの
みをアクセスするキャッシュメモリアクセスステップ
と、コピー存在確認ステップにおいてコピーの存在が確
認されなければ、キャッシュメモリ上に該当データをコ
ピーする空領域があるか否かを確認する空領域存在確認
ステップと、空領域存在確認ステップにおいて空領域の
存在が確認されれば、該当データを記憶装置からキャッ
シュメモリにコピーする第1のコピーステップと、空領
域存在確認ステップにおいて空領域の存在が確認されな
ければ、キャッシュメモリ上のデータを記憶装置に書き
出して空領域を作る空領域作成ステップと、空領域作成
ステップにおいて作成された空領域に該当データを記憶
装置からコピーする第2のコピーステップと、を実行す
るコピーバック方式のキャッシュメモリ制御方法におい
て、キャッシュメモリのデータ領域を特定の個数ごとに
グループ分けし、グループごとに選択確認フラグを設定
し、記憶装置からキャッシュメモリへ該当データをコピ
ーする際に、キャッシュメモリ上に該当データと同じア
ドレス範囲に含まれるデータがすでに存在するか否かを
判断するデータ存在確認ステップと、データ存在確認ス
テップにおいてデータの存在が確認されれば、同じグル
ープ内に該当データをコピーする第3のコピーステップ
と、データ存在確認ステップにおいてデータの存在が確
認されなければ、データが1つもコピーされていない新
しいグループに該当データをコピーする第4のコピース
テップと、いずれかのグループにすべて同じアドレス範
囲に含まれるデータがコピーされたら該当グループの選
択確認フラグをオンする選択確認フラグオンステップ
と、を実行し、キャッシュメモリから記憶装置にデータ
を書き出す際に、選択フラグがオンであるグループのど
れかを書き出し対象として選択する書き出し対象選択ス
テップと、書き出し対象選択ステップにおいて選択され
たグループ内のデータのアドレス範囲に含まれる全ての
データをキャッシュメモリから記憶装置に書き出す書き
出しステップと、を実行することを特徴としている。
【0015】請求項6の発明は、処理装置と記憶装置と
の間にキャッシュメモリを有し、処理装置が記憶装置の
データをアクセスする際に、該当データがキャッシュメ
モリにコピーされていれば、キャッシュメモリ上のデー
タのみをアクセスし、コピーされていなければ、キャッ
シュメモリ上に該当データをコピーする空領域があるか
否かを確認し、空領域があれば該当データを記憶装置か
らキャッシュメモリにコピーし、空領域がなければキャ
ッシュメモリ上のデータを記憶装置に書き出して空領域
を作り、その空領域に該当データを記憶装置からコピー
する、コピーバック方式のキャッシュメモリ制御装置に
おいて、キャッシュメモリのデータ領域を特定の個数ご
とにグループ分けし、グループごとに選択確認フラグを
設定し、記憶装置からキャッシュメモリへ該当データを
コピーする際に、キャッシュメモリ上に該当データと同
じアドレス範囲に含まれるデータがすでにあれば同じグ
ループ内に該当データをコピーし、なければデータが1
つもコピーされていない新しいグループに該当データを
コピーし、そのグループにすべて同じアドレス範囲に含
まれるデータがコピーされたら該当グループの選択確認
フラグをオンするデータ登録部と、キャッシュメモリか
ら記憶装置にデータを書き出す際に、選択フラグがオン
であるグループのどれかを書き出し対象として選択する
選択部と、選択部により選択されたグループ内のデータ
のアドレス範囲に含まれる全てのデータをキャッシュメ
モリから記憶装置に書き出す書き出し部と、を備えたこ
とを特徴としている。
【0016】
【作用】請求項1の発明においては、キャッシュメモリ
から記憶装置にデータを書き出す際に、アドレス確認ス
テップで、キャッシュメモリ上の全てのデータのアドレ
スを確認し、書き出し対象選択ステップで、アドレス確
認ステップにおいて確認されたアドレスに基づいて、一
定間隔のアドレス範囲に含まれるデータの数が最も多い
アドレス範囲を書き出し対象として選択し、書き出しス
テップで、書き出し対象選択ステップにおいて選択され
たアドレス範囲に含まれる全てのデータをキャッシュメ
モリから記憶装置に書き出す。
【0017】請求項2の発明において、選択部は、キャ
ッシュメモリから記憶装置にデータを書き出す際に、キ
ャッシュメモリ上の全てのデータのアドレスを確認し、
一定間隔のアドレス範囲に含まれるデータの数を数えて
最もデータ数の多いアドレス範囲を書き出し対象として
選択する。書き出し部は、選択部により選択されたアド
レス範囲に含まれる全てのデータをキャッシュメモリか
ら記憶装置に書き出す。
【0018】請求項3の発明においては、キャッシュメ
モリから記憶装置にデータを書き出す際に、アドレス確
認ステップで、キャッシュメモリ上のデータのアドレス
を順に確認し、書き出し対象選択ステップで、アドレス
確認ステップにおいて確認されたアドレスに基づいて、
一定間隔のアドレス範囲に含まれるデータの数が特定の
個数を越えるアドレス範囲を書き出し対象として選択
し、書き出しステップで、書き出し対象選択ステップに
おいて選択されたアドレス範囲に含まれる全てのデータ
をキャッシュメモリから記憶装置に書き出す。
【0019】請求項4の発明において、選択部は、キャ
ッシュメモリから記憶装置にデータを書き出す際に、キ
ャッシュメモリ上のデータのアドレスを順に確認し、一
定間隔のアドレス範囲に含まれるデータの数が特定の個
数を越えるアドレス範囲を書き出し対象として選択す
る。書き出し部は、選択部により選択されたアドレス範
囲に含まれる全てのデータをキャッシュメモリから記憶
装置に書き出す。
【0020】請求項5の発明においては、キャッシュメ
モリのデータ領域を特定の個数ごとにグループ分けし、
グループごとに選択確認フラグを設定し、記憶装置から
キャッシュメモリへ該当データをコピーする際に、デー
タ存在確認ステップで、キャッシュメモリ上に該当デー
タと同じアドレス範囲に含まれるデータがすでに存在す
るか否かを判断し、第3のコピーステップで、データ存
在確認ステップにおいてデータの存在が確認されれば、
同じグループ内に該当データをコピーし、第4のコピー
ステップで、データ存在確認ステップにおいてデータの
存在が確認されなければ、データが1つもコピーされて
いない新しいグループに該当データをコピーし、選択確
認フラグオンステップで、いずれかのグループにすべて
同じアドレス範囲に含まれるデータがコピーされたら該
当グループの選択確認フラグをオンし、キャッシュメモ
リから記憶装置にデータを書き出す際に、書き出し対象
選択ステップで、選択フラグがオンであるグループのど
れかを書き出し対象として選択し、書き出しステップ
で、書き出し対象選択ステップにおいて選択されたグル
ープ内のデータのアドレス範囲に含まれる全てのデータ
をキャッシュメモリから記憶装置に書き出す。
【0021】請求項6の発明において、データ登録部
は、記憶装置からキャッシュメモリへ該当データをコピ
ーする際に、キャッシュメモリ上に該当データと同じア
ドレス範囲に含まれるデータがすでにあれば同じグルー
プ内に該当データをコピーし、なければデータが1つも
コピーされていない新しいグループに該当データをコピ
ーし、そのグループにすべて同じアドレス範囲に含まれ
るデータがコピーされたら該当グループの選択確認フラ
グをオンする。選択部は、キャッシュメモリから記憶装
置にデータを書き出す際に、選択フラグがオンであるグ
ループのどれかを書き出し対象として選択する。書き出
し部は、選択部により選択されたグループ内のデータの
アドレス範囲に含まれる全てのデータをキャッシュメモ
リから記憶装置に書き出す。
【0022】
【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。 (実施例1)図1は本発明の実施例1におけるキャッシ
ュメモリ制御装置を備えた情報処理システムの構成図
で、この情報処理システムは、CPU1と、フラッシュ
メモリ2と、キャッシュメモリ3と、アドレス比較部4
と、リプレース実行部5と、退避メモリ6とを備えてい
る。CPU1は、各種の演算処理を行う。フラッシュメ
モリ2は、容量が1Mバイトで、消去可能なブロックは
1kバイト単位とする。キャッシュメモリ3は、容量が
100エントリで、1エントリごとに1バイトのデータ
とそのデータのフラッシュメモリ上のアドレスとを記憶
する。アドレス比較部4は、キャッシュメモリ3の各エ
ントリのアドレスを見て、フラッシュメモリ2のブロッ
ク単位に含まれるデータの個数をカウントし、最も多い
ブロックを調べる。リプレース実行部5は、キャッシュ
メモリ3とフラッシュメモリ2とのリプレースを実行す
る。退避メモリ6は、リプレース実行部5がフラッシュ
メモリ2のブロックを消去する際に、ブロック内のデー
タを退避する。すなわち、CPU1は処理装置を構成し
ており、フラッシュメモリ2は記憶装置を構成してお
り、アドレス比較部4は選択部を構成しており、リプレ
ース実行部5および退避メモリ6は書き出し部を構成し
ている。
【0023】次に動作を説明する。CPU1は、フラッ
シュメモリ2をアクセスする場合に、先ずキャッシュメ
モリ3にそのデータがあるか否かをキャッシュメモリ3
の各エントリのアドレスを比較して判断し、もしあれば
キャッシュメモリ3をアクセスする。そしてCPU1
は、キャッシュメモリ3に該当データがなければ、キャ
ッシュメモリ3の全てのエントリが一杯になるまでは、
リードアクセスの場合はフラッシュメモリ2から該当デ
ータを取り出してキャッシュメモリ3にコピーした後に
読み込み、ライトアクセスの場合はキャッシュメモリ3
に該当データを書き込む。なお以上の動作は、従来のキ
ャッシュメモリ制御装置と同様である。
【0024】次に、キャッシュメモリ3の全てのエント
リが一杯になった状態で、CPU1がキャッシュメモリ
3にないデータをアクセスした場合、キャッシュメモリ
3にあるデータをフラッシュメモリ2に書き出してエン
トリを空にし、その空エントリにアクセスデータを登録
する必要がある。この場合の動作について、図2のフロ
ーチャートを参照しながら説明する。先ずアドレス比較
部4が、キャッシュメモリ3の100個のエントリのア
ドレスを読み、1kバイトのブロック単位に個数を数え
て、最も個数の多いブロックをリプレース実行部5に通
知する(ステップS1)。これによりリプレース実行部
5が、該当するブロックの1kバイトのデータをフラッ
シュメモリ2から退避メモリ6に読み出し(ステップS
2)、フラッシュメモリ2の該当するブロックの全ての
データを消去する(ステップS3)。そして、該当する
ブロックに含まれるキャッシュメモリ3上の全てのデー
タを、退避メモリ6の該当位置に書き出す(ステップS
4)。最後に、退避メモリ6のデータをフラッシュメモ
リ2のもとのブロックに書き込む(ステップS5)。
【0025】このように、最もキャッシュメモリ3上の
データの個数の多いブロックをリプレース対象とするの
で、フラッシュメモリ2の書換え回数を減少し、効率的
にキャッシュメモリ3の空エントリを増加させることが
できる。 (実施例2)実施例2におけるキャッシュメモリ制御装
置は、図1と同じ構成であり、リプレース時のアドレス
比較部4の動作のみが異なる。すなわち図3のように、
リプレースが必要となった場合、アドレス比較部4が、
キャッシュメモリ3の第1のエントリのアドレスを読み
出す(ステップS11)。そして、第2〜100のエン
トリと順に比較し(ステップS12)、第1のエントリ
のアドレスと同じブロックに含まれるエントリが、予め
設定された個数、例えば5個以上あるか否かを判断し
(ステップS13)、5個以上あれば、そのブロックを
リプレース実行部5に通知する(ステップS14)。な
ければ、n=n+1として(ステップS15)、ステッ
プS11に戻る。すなわち、第2のエントリのアドレス
を読み出し、第3〜100のエントリと順に比較して、
第2のエントリのアドレスと同じブロックに含まれるエ
ントリが5個あれば、そのブロックをリプレース実行部
5に通知する。同様の処理を第3のエントリ以降につい
ても繰り返して、リプレース対象となるブロックを決定
する。なお、図3には図示していないが、もし、5個以
上のデータが同じブロックに含まれない場合は、適当
に、例えばランダム方式などを用いて、リプレース対象
を決定する。
【0026】このように、キャッシュメモリ3のエント
リを順に確認するので、アドレス比較部4は、キャッシ
ュメモリ3の1個のエントリのアドレスのみを内部に記
憶するだけでよく、ハードウェア量を削減することがで
きる。また、CPU1がアクセスするデータは特定のア
ドレス範囲に集中することが多いため、このようにキャ
ッシュメモリ3上で一定数以上の個数を占めるブロック
を見つけることが、通常は最もデータ数の多いブロック
を発見することに等しくなる。 (実施例3)図4は本発明の実施例3におけるキャッシ
ュメモリ制御装置を備えた情報処理システムの構成図
で、この情報処理システムは、CPU11と、フラッシ
ュメモリ12と、キャッシュメモリ13と、リプレース
実行部14と、退避メモリ15と、データ登録部16
と、フラグ確認部17とを備えている。CPU11は、
各種の演算処理を行う。フラッシュメモリ12は、容量
が1Mバイトで、消去可能なブロックは1kバイト単位
とする。キャッシュメモリ13は、容量が100エント
リで、1エントリごとに1バイトのデータとそのデータ
のフラッシュメモリ12上のアドレスとを記憶する。こ
のキャッシュメモリ13は、5エントリごとにグループ
分けされ、各グループに1ビットのチェックフラグが設
けられる。このチェックフラグは、システムスタート時
に0に初期値が設定される。リプレース実行部14は、
キャッシュメモリ3とフラッシュメモリ2とのリプレー
スを実行する。退避メモリ15は、リプレース実行部1
4がフラッシュメモリ12のブロックを消去する際に、
ブロック内のデータを退避する。データ登録部16は、
キャッシュメモリ3へのデータのコピーとチェックフラ
グのセットとを行う。フラグ確認部17は、キャッシュ
メモリ3のチェックフラグを調べてリプレース対象のブ
ロックを決定する。なお、CPU11は処理装置を構成
しており、フラッシュメモリ12は記憶装置を構成して
おり、リプレース実行部14および退避メモリ15は書
き出し部を構成しており、フラグ確認部17は選択部を
構成している。
【0027】次に動作を説明する。CPU11は、フラ
ッシュメモリ12をアクセスする場合、先ずキャッシュ
メモリ13にそのデータがあるか否かをキャッシュメモ
リ13の各エントリのアドレスを比較して判断し、もし
あればキャッシュメモリ13をアクセスする。以上の動
作は、従来のキャッシュメモリ制御装置と同様である。
キャッシュメモリ13に該当データがなければ、キャッ
シュメモリ13の全てのエントリが一杯になるまでは、
CPU11は、リードアクセスの場合は、フラッシュメ
モリ12から該当データを取り出して、キャッシュメモ
リ13にコピーした後に読み込み、ライトアクセスの場
合は、キャッシュメモリ13に該当データを書き込む。
この際、データ登録部16は、すでにデータがコピーさ
れているキャッシュメモリ13上のエントリのアドレス
を調べ、もし該当データと同じブロックに含まれるデー
タがあり、かつそのデータが所属するグループに空のエ
ントリが残っていれば、その空エントリに該当データを
コピーする。そして、そのグループの5つのエントリが
一杯になれば、グループの5つのデータのアドレスを調
べ、すべて同じブロックに含まれていれば、そのグルー
プのチェックフラグを1にセットする。キャッシュメモ
リ13の全エントリを調べても、同一のブロックに含ま
れるデータがないか、もしくは同一のグループのデータ
があっても、そのグループに空のエントリがない場合
は、データがまだ1つも登録されていない空のグループ
に該当データをコピーする。空のグループもない場合
は、適当な空のエントリに該当データをコピーする。
【0028】次に、キャッシュメモリ13の全てのエン
トリが一杯になった状態で、CPU11がキャッシュメ
モリ13にないデータをアクセスした場合、キャッシュ
メモリ13にあるデータをフラッシュメモリ12に書き
出してエントリを空にし、その空エントリにアクセスデ
ータを登録する必要がある。この場合の動作について、
図5のフローチャートを参照しながら説明する。先ず、
フラグ確認部17が、キャッシュメモリ13の20個の
チェックフラグを順に調べ、チェックフラグが1にセッ
トされているグループがあるか否かを判断し(ステップ
S21)、あれば、そのグループのデータが含まれるブ
ロックをリプレース実行部14に通知する(ステップS
22)。もしチェックフラグがすべて0の場合は、適当
に、例えばランダム方式などを用いて、リプレース対象
のブロックを決定する(ステップS23)。これにより
リプレース実行部14が、フラッシュメモリ12から該
当するブロックの1kバイトのデータを退避メモリ15
に読み出し(ステップS24)、フラッシュメモリ12
の該当するブロックを消去する(ステップS25)。そ
して、該当するブロックに含まれるキャッシュメモリ1
3上の全てのデータを、退避メモリ15の該当位置に書
き出す(ステップS26)。最後に、退避メモリ15の
データをフラッシュメモリ12のもとのブロックに書き
込む(ステップS27)。
【0029】このように、キャッシュメモリ13へデー
タをコピーする際に、なるべく同一のブロックに含まれ
るデータを1つのグループに登録するようにし、キャッ
シュメモリ13にあらかじめ定めた個数ごとに設けたチ
ェックフラグにより、同一ブロックに含まれるデータが
一定個数以上あることを判別可能にしたので、リプレー
ス実行時のリプレース対象のブロックを決定する処理を
高速化できる。
【0030】
【発明の効果】以上説明したように本発明によれば、処
理装置と記憶装置との間にキャッシュメモリを有し、処
理装置が記憶装置のデータをアクセスする際に、該当デ
ータがキャッシュメモリにコピーされていれば、キャッ
シュメモリ上のデータのみをアクセスし、コピーされて
いなければ、キャッシュメモリ上に該当データをコピー
する空領域があるか否かを確認し、空領域があれば該当
データを記憶装置からキャッシュメモリにコピーし、空
領域がなければキャッシュメモリ上のデータを記憶装置
に書き出して空領域を作り、その空領域に該当データを
記憶装置からコピーする、コピーバック方式のキャッシ
ュメモリ制御装置において、キャッシュメモリから記憶
装置にデータを書き出す際に、キャッシュメモリ上の全
てのデータのアドレスを確認し、一定間隔のアドレス範
囲に含まれるデータの数を数えて最もデータ数の多いア
ドレス範囲を書き出し対象として選択する選択部と、選
択部により選択されたアドレス範囲に含まれる全てのデ
ータをキャッシュメモリから記憶装置に書き出す書き出
し部と、を備えたので、キャッシュメモリ上にあるデー
タのアドレスを確認し、記憶装置のブロック単位に含ま
れるデータの個数を調べてリプレースする対象のデータ
を選択することから、フラッシュメモリのように書換え
が一定サイズのブロック単位でしか実行できず、書換え
時間が長いデバイスを記憶装置として用いた情報処理装
置においても、キャッシュメモリのリプレースによる記
憶装置のブロック単位の書換え回数を減少させることが
でき、処理時間を短縮できる。
【0031】また、キャッシュメモリから記憶装置にデ
ータを書き出す際に、キャッシュメモリ上のデータのア
ドレスを順に確認し、一定間隔のアドレス範囲に含まれ
るデータの数が特定の個数を越えるアドレス範囲を書き
出し対象として選択する選択部と、選択部により選択さ
れたアドレス範囲に含まれる全てのデータをキャッシュ
メモリから記憶装置に書き出す書き出し部と、を備えれ
ば、上記効果に加えて、キャッシュメモリのエントリを
順に確認することから、確認処理に際して、キャッシュ
メモリの1個のエントリのアドレスのみを記憶するだけ
でよく、ハードウェア量を削減することができる。
【0032】また、キャッシュメモリのデータ領域を特
定の個数ごとにグループ分けし、グループごとに選択確
認フラグを設定し、記憶装置からキャッシュメモリへ該
当データをコピーする際に、キャッシュメモリ上に該当
データと同じアドレス範囲に含まれるデータがすでにあ
れば同じグループ内に該当データをコピーし、なければ
データが1つもコピーされていない新しいグループに該
当データをコピーし、そのグループにすべて同じアドレ
ス範囲に含まれるデータがコピーされたら該当グループ
の選択確認フラグをオンするデータ登録部と、キャッシ
ュメモリから記憶装置にデータを書き出す際に、選択フ
ラグがオンであるグループのどれかを書き出し対象とし
て選択する選択部と、選択部により選択されたグループ
内のデータのアドレス範囲に含まれる全てのデータをキ
ャッシュメモリから記憶装置に書き出す書き出し部と、
を備えれば、上記効果に加えて、キャッシュメモリへデ
ータをコピーする際に、なるべく同一のブロックに含ま
れるデータを1つのグループに登録するようにし、キャ
ッシュメモリにあらかじめ定めた個数ごとに設けたチェ
ックフラグにより、同一ブロックに含まれるデータが一
定個数以上あることを判別可能にしたことから、リプレ
ース実行時のリプレース対象のブロックを決定する処理
を高速化できる。
【図面の簡単な説明】
【図1】本発明の実施例1および実施例2におけるキャ
ッシュメモリ制御装置を備えた情報処理システムの構成
図である。
【図2】本発明の実施例1におけるキャッシュメモリ制
御装置の動作を説明するフローチャートである。
【図3】本発明の実施例2におけるキャッシュメモリ制
御装置の動作を説明するフローチャートである。
【図4】本発明の実施例3におけるキャッシュメモリ制
御装置を備えた情報処理システムの構成図である。
【図5】本発明の実施例3におけるキャッシュメモリ制
御装置の動作を説明するフローチャートである。
【符号の説明】
1 CPU 2 フラッシュメモリ 3 キャッシュメモリ 4 アドレス比較部 5 リプレース実行部 6 退避メモリ 11 CPU 12 フラッシュメモリ 13 キャッシュメモリ 14 リプレース実行部 15 退避メモリ 16 データ登録部 17 フラグ確認部

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 処理装置が記憶装置のデータをアクセス
    する際に、 該当データがキャッシュメモリにコピーされているか否
    かを判断するコピー存在確認ステップと、 前記コピー存在確認ステップにおいてコピーの存在が確
    認されれば、前記キャッシュメモリ上のデータのみをア
    クセスするキャッシュメモリアクセスステップと、 前記コピー存在確認ステップにおいてコピーの存在が確
    認されなければ、前記キャッシュメモリ上に該当データ
    をコピーする空領域があるか否かを確認する空領域存在
    確認ステップと、 前記空領域存在確認ステップにおいて空領域の存在が確
    認されれば、該当データを前記記憶装置から前記キャッ
    シュメモリにコピーする第1のコピーステップと、 前記空領域存在確認ステップにおいて空領域の存在が確
    認されなければ、前記キャッシュメモリ上のデータを前
    記記憶装置に書き出して空領域を作る空領域作成ステッ
    プと、 前記空領域作成ステップにおいて作成された空領域に該
    当データを前記記憶装置からコピーする第2のコピース
    テップと、 を実行するコピーバック方式のキャッシュメモリ制御方
    法において、 前記キャッシュメモリから前記記憶装置にデータを書き
    出す際に、 前記キャッシュメモリ上の全てのデータのアドレスを確
    認するアドレス確認ステップと、 前記アドレス確認ステップにおいて確認されたアドレス
    に基づいて、一定間隔のアドレス範囲に含まれるデータ
    の数が最も多いアドレス範囲を書き出し対象として選択
    する書き出し対象選択ステップと、 前記書き出し対象選択ステップにおいて選択されたアド
    レス範囲に含まれる全てのデータを前記キャッシュメモ
    リから前記記憶装置に書き出す書き出しステップと、 を実行することを特徴とするキャッシュメモリ制御方
    法。
  2. 【請求項2】 処理装置と記憶装置との間にキャッシュ
    メモリを有し、前記処理装置が前記記憶装置のデータを
    アクセスする際に、該当データが前記キャッシュメモリ
    にコピーされていれば、前記キャッシュメモリ上のデー
    タのみをアクセスし、コピーされていなければ、前記キ
    ャッシュメモリ上に該当データをコピーする空領域があ
    るか否かを確認し、空領域があれば該当データを前記記
    憶装置から前記キャッシュメモリにコピーし、空領域が
    なければ前記キャッシュメモリ上のデータを前記記憶装
    置に書き出して空領域を作り、その空領域に該当データ
    を前記記憶装置からコピーする、コピーバック方式のキ
    ャッシュメモリ制御装置において、 前記キャッシュメモリから前記記憶装置にデータを書き
    出す際に、前記キャッシュメモリ上の全てのデータのア
    ドレスを確認し、一定間隔のアドレス範囲に含まれるデ
    ータの数を数えて最もデータ数の多いアドレス範囲を書
    き出し対象として選択する選択部と、 前記選択部により選択されたアドレス範囲に含まれる全
    てのデータを前記キャッシュメモリから前記記憶装置に
    書き出す書き出し部と、 を備えたことを特徴とするキャッシュメモリ制御装置。
  3. 【請求項3】 処理装置が記憶装置のデータをアクセス
    する際に、 該当データがキャッシュメモリにコピーされているか否
    かを判断するコピー存在確認ステップと、 前記コピー存在確認ステップにおいてコピーの存在が確
    認されれば、前記キャッシュメモリ上のデータのみをア
    クセスするキャッシュメモリアクセスステップと、 前記コピー存在確認ステップにおいてコピーの存在が確
    認されなければ、前記キャッシュメモリ上に該当データ
    をコピーする空領域があるか否かを確認する空領域存在
    確認ステップと、 前記空領域存在確認ステップにおいて空領域の存在が確
    認されれば、該当データを前記記憶装置から前記キャッ
    シュメモリにコピーする第1のコピーステップと、 前記空領域存在確認ステップにおいて空領域の存在が確
    認されなければ、前記キャッシュメモリ上のデータを前
    記記憶装置に書き出して空領域を作る空領域作成ステッ
    プと、 前記空領域作成ステップにおいて作成された空領域に該
    当データを前記記憶装置からコピーする第2のコピース
    テップと、 を実行するコピーバック方式のキャッシュメモリ制御方
    法において、 前記キャッシュメモリから前記記憶装置にデータを書き
    出す際に、 前記キャッシュメモリ上のデータのアドレスを順に確認
    するアドレス確認ステップと、 前記アドレス確認ステップにおいて確認されたアドレス
    に基づいて、一定間隔のアドレス範囲に含まれるデータ
    の数が特定の個数を越えるアドレス範囲を書き出し対象
    として選択する書き出し対象選択ステップと、 前記書き出し対象選択ステップにおいて選択されたアド
    レス範囲に含まれる全てのデータを前記キャッシュメモ
    リから前記記憶装置に書き出す書き出しステップと、 を実行することを特徴とするキャッシュメモリ制御方
    法。
  4. 【請求項4】 処理装置と記憶装置との間にキャッシュ
    メモリを有し、前記処理装置が前記記憶装置のデータを
    アクセスする際に、該当データが前記キャッシュメモリ
    にコピーされていれば、前記キャッシュメモリ上のデー
    タのみをアクセスし、コピーされていなければ、前記キ
    ャッシュメモリ上に該当データをコピーする空領域があ
    るか否かを確認し、空領域があれば該当データを前記記
    憶装置から前記キャッシュメモリにコピーし、空領域が
    なければ前記キャッシュメモリ上のデータを前記記憶装
    置に書き出して空領域を作り、その空領域に該当データ
    を前記記憶装置からコピーする、コピーバック方式のキ
    ャッシュメモリ制御装置において、 前記キャッシュメモリから前記記憶装置にデータを書き
    出す際に、前記キャッシュメモリ上のデータのアドレス
    を順に確認し、一定間隔のアドレス範囲に含まれるデー
    タの数が特定の個数を越えるアドレス範囲を書き出し対
    象として選択する選択部と、 前記選択部により選択されたアドレス範囲に含まれる全
    てのデータを前記キャッシュメモリから前記記憶装置に
    書き出す書き出し部と、 を備えたことを特徴とするキャッシュメモリ制御装置。
  5. 【請求項5】 処理装置が記憶装置のデータをアクセス
    する際に、 該当データがキャッシュメモリにコピーされているか否
    かを判断するコピー存在確認ステップと、 前記コピー存在確認ステップにおいてコピーの存在が確
    認されれば、前記キャッシュメモリ上のデータのみをア
    クセスするキャッシュメモリアクセスステップと、 前記コピー存在確認ステップにおいてコピーの存在が確
    認されなければ、前記キャッシュメモリ上に該当データ
    をコピーする空領域があるか否かを確認する空領域存在
    確認ステップと、 前記空領域存在確認ステップにおいて空領域の存在が確
    認されれば、該当データを前記記憶装置から前記キャッ
    シュメモリにコピーする第1のコピーステップと、 前記空領域存在確認ステップにおいて空領域の存在が確
    認されなければ、前記キャッシュメモリ上のデータを前
    記記憶装置に書き出して空領域を作る空領域作成ステッ
    プと、 前記空領域作成ステップにおいて作成された空領域に該
    当データを前記記憶装置からコピーする第2のコピース
    テップと、 を実行するコピーバック方式のキャッシュメモリ制御方
    法において、 前記キャッシュメモリのデータ領域を特定の個数ごとに
    グループ分けし、グループごとに選択確認フラグを設定
    し、 前記記憶装置から前記キャッシュメモリへ該当データを
    コピーする際に、 前記キャッシュメモリ上に該当データと同じアドレス範
    囲に含まれるデータがすでに存在するか否かを判断する
    データ存在確認ステップと、 前記データ存在確認ステップにおいてデータの存在が確
    認されれば、同じグループ内に該当データをコピーする
    第3のコピーステップと、 前記データ存在確認ステップにおいてデータの存在が確
    認されなければ、データが1つもコピーされていない新
    しいグループに該当データをコピーする第4のコピース
    テップと、 いずれかのグループにすべて同じアドレス範囲に含まれ
    るデータがコピーされたら該当グループの前記選択確認
    フラグをオンする選択確認フラグオンステップと、 を実行し、 前記キャッシュメモリから前記記憶装置にデータを書き
    出す際に、 前記選択フラグがオンであるグループのどれかを書き出
    し対象として選択する書き出し対象選択ステップと、 前記書き出し対象選択ステップにおいて選択されたグル
    ープ内のデータのアドレス範囲に含まれる全てのデータ
    を前記キャッシュメモリから前記記憶装置に書き出す書
    き出しステップと、 を実行することを特徴とするキャッシュメモリ制御方
    法。
  6. 【請求項6】 処理装置と記憶装置との間にキャッシュ
    メモリを有し、前記処理装置が前記記憶装置のデータを
    アクセスする際に、該当データが前記キャッシュメモリ
    にコピーされていれば、前記キャッシュメモリ上のデー
    タのみをアクセスし、コピーされていなければ、前記キ
    ャッシュメモリ上に該当データをコピーする空領域があ
    るか否かを確認し、空領域があれば該当データを前記記
    憶装置から前記キャッシュメモリにコピーし、空領域が
    なければ前記キャッシュメモリ上のデータを前記記憶装
    置に書き出して空領域を作り、その空領域に該当データ
    を前記記憶装置からコピーする、コピーバック方式のキ
    ャッシュメモリ制御装置において、 前記キャッシュメモリのデータ領域を特定の個数ごとに
    グループ分けし、グループごとに選択確認フラグを設定
    し、 前記記憶装置から前記キャッシュメモリへ該当データを
    コピーする際に、前記キャッシュメモリ上に該当データ
    と同じアドレス範囲に含まれるデータがすでにあれば同
    じグループ内に該当データをコピーし、なければデータ
    が1つもコピーされていない新しいグループに該当デー
    タをコピーし、そのグループにすべて同じアドレス範囲
    に含まれるデータがコピーされたら該当グループの前記
    選択確認フラグをオンするデータ登録部と、 前記キャッシュメモリから前記記憶装置にデータを書き
    出す際に、前記選択フラグがオンであるグループのどれ
    かを書き出し対象として選択する選択部と、 前記選択部により選択されたグループ内のデータのアド
    レス範囲に含まれる全てのデータを前記キャッシュメモ
    リから前記記憶装置に書き出す書き出し部と、を備えた
    ことを特徴とするキャッシュメモリ制御装置。
JP5226989A 1993-09-13 1993-09-13 キャッシュメモリ制御方法およびキャッシュメモリ制御装置 Pending JPH0784886A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5226989A JPH0784886A (ja) 1993-09-13 1993-09-13 キャッシュメモリ制御方法およびキャッシュメモリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5226989A JPH0784886A (ja) 1993-09-13 1993-09-13 キャッシュメモリ制御方法およびキャッシュメモリ制御装置

Publications (1)

Publication Number Publication Date
JPH0784886A true JPH0784886A (ja) 1995-03-31

Family

ID=16853769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5226989A Pending JPH0784886A (ja) 1993-09-13 1993-09-13 キャッシュメモリ制御方法およびキャッシュメモリ制御装置

Country Status (1)

Country Link
JP (1) JPH0784886A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100339837C (zh) * 2004-03-23 2007-09-26 国际商业机器公司 用于平衡多个存储器缓冲区大小的系统及其方法
JP2009020833A (ja) * 2007-07-13 2009-01-29 Internatl Business Mach Corp <Ibm> データをキャッシュする技術
JP2010097333A (ja) * 2008-10-15 2010-04-30 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2010538385A (ja) * 2007-09-05 2010-12-09 サムスン エレクトロニクス カンパニー リミテッド セクタの集合を利用したキャッシュ運用方法及びキャッシュ装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100339837C (zh) * 2004-03-23 2007-09-26 国际商业机器公司 用于平衡多个存储器缓冲区大小的系统及其方法
JP2009020833A (ja) * 2007-07-13 2009-01-29 Internatl Business Mach Corp <Ibm> データをキャッシュする技術
JP2010538385A (ja) * 2007-09-05 2010-12-09 サムスン エレクトロニクス カンパニー リミテッド セクタの集合を利用したキャッシュ運用方法及びキャッシュ装置
JP2010097333A (ja) * 2008-10-15 2010-04-30 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法

Similar Documents

Publication Publication Date Title
JP4044067B2 (ja) シリアルフラッシュメモリにおけるxipのための優先順位に基づくフラッシュメモリ制御装置及びこれを用いたメモリ管理方法、これによるフラッシュメモリチップ
US7275135B2 (en) Hardware updated metadata for non-volatile mass storage cache
USRE46404E1 (en) Flash memory management method
US20070016719A1 (en) Memory device including nonvolatile memory and memory controller
US20100088459A1 (en) Improved Hybrid Drive
US6272587B1 (en) Method and apparatus for transfer of data between cache and flash memory in an internal combustion engine control system
JP2013097416A (ja) 記憶装置および計算機
US7058784B2 (en) Method for managing access operation on nonvolatile memory and block structure thereof
JPH0748190B2 (ja) キャッシュメモリ内蔵マイクロプロセッサ
JPH07114500A (ja) 不揮発性メモリ記憶装置
JPH06349286A (ja) フラッシュメモリ用書き込み制御方法および制御装置
JPH0784886A (ja) キャッシュメモリ制御方法およびキャッシュメモリ制御装置
US7099998B1 (en) Method for reducing an importance level of a cache line
EP3948550B1 (en) An apparatus, method and computer program for managing memory page updates within non-volatile memory
JP2003058420A (ja) Nand型フラッシュメモリからのデータ読み出し方法
JP2006350633A (ja) データ管理方法及びデータ管理システム
JP3166659B2 (ja) 記憶装置
JPH0628258A (ja) マイクロプロセッサ
JPH08305634A (ja) 情報処理方法及び装置
JPH06282487A (ja) キャッシュ装置
JPH02188849A (ja) キャッシュメモリ方式
JPH04288647A (ja) キャッシュメモリにおける置き換え制御装置
JP2001209578A (ja) メモリ更新履歴管理方式
JPH0612331A (ja) キャッシュメモリ制御装置
JP2978706B2 (ja) 制御記憶キャッシング方式