米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 松下電器産業株式会社

発明の名称 キャッシュメモリ制御方法およびキャッシュメモリ制御装置
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開平7−84886
公開日 平成7年(1995)3月31日
出願番号 特願平5−226989
出願日 平成5年(1993)9月13日
代理人 【弁理士】
【氏名又は名称】中島 司朗
発明者 田積 誠
要約 目的
フラッシュメモリのように書換えが一定サイズのブロック単位でしか実行できず、書換え時間が長いデバイスを記憶装置として用いた情報処理装置においても、処理時間を短縮できるキャッシュメモリ制御方法およびキャッシュメモリ制御装置を提供する。

構成
アドレス比較部4は、キャッシュメモリ3からフラッシュメモリ2にデータを書き出す際に、キャッシュメモリ3上の全てのデータのアドレスを確認し、一定間隔のアドレス範囲に含まれるデータの数を数えて最もデータ数の多いアドレス範囲を書き出し対象として選択する。リプレース実行部5は、アドレス比較部4が選択したアドレス範囲に含まれる全てのデータをキャッシュメモリ3からフラッシュメモリ2に書き出す。
特許請求の範囲
【請求項1】 処理装置が記憶装置のデータをアクセスする際に、該当データがキャッシュメモリにコピーされているか否かを判断するコピー存在確認ステップと、前記コピー存在確認ステップにおいてコピーの存在が確認されれば、前記キャッシュメモリ上のデータのみをアクセスするキャッシュメモリアクセスステップと、前記コピー存在確認ステップにおいてコピーの存在が確認されなければ、前記キャッシュメモリ上に該当データをコピーする空領域があるか否かを確認する空領域存在確認ステップと、前記空領域存在確認ステップにおいて空領域の存在が確認されれば、該当データを前記記憶装置から前記キャッシュメモリにコピーする第1のコピーステップと、前記空領域存在確認ステップにおいて空領域の存在が確認されなければ、前記キャッシュメモリ上のデータを前記記憶装置に書き出して空領域を作る空領域作成ステップと、前記空領域作成ステップにおいて作成された空領域に該当データを前記記憶装置からコピーする第2のコピーステップと、を実行するコピーバック方式のキャッシュメモリ制御方法において、前記キャッシュメモリから前記記憶装置にデータを書き出す際に、前記キャッシュメモリ上の全てのデータのアドレスを確認するアドレス確認ステップと、前記アドレス確認ステップにおいて確認されたアドレスに基づいて、一定間隔のアドレス範囲に含まれるデータの数が最も多いアドレス範囲を書き出し対象として選択する書き出し対象選択ステップと、前記書き出し対象選択ステップにおいて選択されたアドレス範囲に含まれる全てのデータを前記キャッシュメモリから前記記憶装置に書き出す書き出しステップと、を実行することを特徴とするキャッシュメモリ制御方法。
【請求項2】 処理装置と記憶装置との間にキャッシュメモリを有し、前記処理装置が前記記憶装置のデータをアクセスする際に、該当データが前記キャッシュメモリにコピーされていれば、前記キャッシュメモリ上のデータのみをアクセスし、コピーされていなければ、前記キャッシュメモリ上に該当データをコピーする空領域があるか否かを確認し、空領域があれば該当データを前記記憶装置から前記キャッシュメモリにコピーし、空領域がなければ前記キャッシュメモリ上のデータを前記記憶装置に書き出して空領域を作り、その空領域に該当データを前記記憶装置からコピーする、コピーバック方式のキャッシュメモリ制御装置において、前記キャッシュメモリから前記記憶装置にデータを書き出す際に、前記キャッシュメモリ上の全てのデータのアドレスを確認し、一定間隔のアドレス範囲に含まれるデータの数を数えて最もデータ数の多いアドレス範囲を書き出し対象として選択する選択部と、前記選択部により選択されたアドレス範囲に含まれる全てのデータを前記キャッシュメモリから前記記憶装置に書き出す書き出し部と、を備えたことを特徴とするキャッシュメモリ制御装置。
【請求項3】 処理装置が記憶装置のデータをアクセスする際に、該当データがキャッシュメモリにコピーされているか否かを判断するコピー存在確認ステップと、前記コピー存在確認ステップにおいてコピーの存在が確認されれば、前記キャッシュメモリ上のデータのみをアクセスするキャッシュメモリアクセスステップと、前記コピー存在確認ステップにおいてコピーの存在が確認されなければ、前記キャッシュメモリ上に該当データをコピーする空領域があるか否かを確認する空領域存在確認ステップと、前記空領域存在確認ステップにおいて空領域の存在が確認されれば、該当データを前記記憶装置から前記キャッシュメモリにコピーする第1のコピーステップと、前記空領域存在確認ステップにおいて空領域の存在が確認されなければ、前記キャッシュメモリ上のデータを前記記憶装置に書き出して空領域を作る空領域作成ステップと、前記空領域作成ステップにおいて作成された空領域に該当データを前記記憶装置からコピーする第2のコピーステップと、を実行するコピーバック方式のキャッシュメモリ制御方法において、前記キャッシュメモリから前記記憶装置にデータを書き出す際に、前記キャッシュメモリ上のデータのアドレスを順に確認するアドレス確認ステップと、前記アドレス確認ステップにおいて確認されたアドレスに基づいて、一定間隔のアドレス範囲に含まれるデータの数が特定の個数を越えるアドレス範囲を書き出し対象として選択する書き出し対象選択ステップと、前記書き出し対象選択ステップにおいて選択されたアドレス範囲に含まれる全てのデータを前記キャッシュメモリから前記記憶装置に書き出す書き出しステップと、を実行することを特徴とするキャッシュメモリ制御方法。
【請求項4】 処理装置と記憶装置との間にキャッシュメモリを有し、前記処理装置が前記記憶装置のデータをアクセスする際に、該当データが前記キャッシュメモリにコピーされていれば、前記キャッシュメモリ上のデータのみをアクセスし、コピーされていなければ、前記キャッシュメモリ上に該当データをコピーする空領域があるか否かを確認し、空領域があれば該当データを前記記憶装置から前記キャッシュメモリにコピーし、空領域がなければ前記キャッシュメモリ上のデータを前記記憶装置に書き出して空領域を作り、その空領域に該当データを前記記憶装置からコピーする、コピーバック方式のキャッシュメモリ制御装置において、前記キャッシュメモリから前記記憶装置にデータを書き出す際に、前記キャッシュメモリ上のデータのアドレスを順に確認し、一定間隔のアドレス範囲に含まれるデータの数が特定の個数を越えるアドレス範囲を書き出し対象として選択する選択部と、前記選択部により選択されたアドレス範囲に含まれる全てのデータを前記キャッシュメモリから前記記憶装置に書き出す書き出し部と、を備えたことを特徴とするキャッシュメモリ制御装置。
【請求項5】 処理装置が記憶装置のデータをアクセスする際に、該当データがキャッシュメモリにコピーされているか否かを判断するコピー存在確認ステップと、前記コピー存在確認ステップにおいてコピーの存在が確認されれば、前記キャッシュメモリ上のデータのみをアクセスするキャッシュメモリアクセスステップと、前記コピー存在確認ステップにおいてコピーの存在が確認されなければ、前記キャッシュメモリ上に該当データをコピーする空領域があるか否かを確認する空領域存在確認ステップと、前記空領域存在確認ステップにおいて空領域の存在が確認されれば、該当データを前記記憶装置から前記キャッシュメモリにコピーする第1のコピーステップと、前記空領域存在確認ステップにおいて空領域の存在が確認されなければ、前記キャッシュメモリ上のデータを前記記憶装置に書き出して空領域を作る空領域作成ステップと、前記空領域作成ステップにおいて作成された空領域に該当データを前記記憶装置からコピーする第2のコピーステップと、を実行するコピーバック方式のキャッシュメモリ制御方法において、前記キャッシュメモリのデータ領域を特定の個数ごとにグループ分けし、グループごとに選択確認フラグを設定し、前記記憶装置から前記キャッシュメモリへ該当データをコピーする際に、前記キャッシュメモリ上に該当データと同じアドレス範囲に含まれるデータがすでに存在するか否かを判断するデータ存在確認ステップと、前記データ存在確認ステップにおいてデータの存在が確認されれば、同じグループ内に該当データをコピーする第3のコピーステップと、前記データ存在確認ステップにおいてデータの存在が確認されなければ、データが1つもコピーされていない新しいグループに該当データをコピーする第4のコピーステップと、いずれかのグループにすべて同じアドレス範囲に含まれるデータがコピーされたら該当グループの前記選択確認フラグをオンする選択確認フラグオンステップと、を実行し、前記キャッシュメモリから前記記憶装置にデータを書き出す際に、前記選択フラグがオンであるグループのどれかを書き出し対象として選択する書き出し対象選択ステップと、前記書き出し対象選択ステップにおいて選択されたグループ内のデータのアドレス範囲に含まれる全てのデータを前記キャッシュメモリから前記記憶装置に書き出す書き出しステップと、を実行することを特徴とするキャッシュメモリ制御方法。
【請求項6】 処理装置と記憶装置との間にキャッシュメモリを有し、前記処理装置が前記記憶装置のデータをアクセスする際に、該当データが前記キャッシュメモリにコピーされていれば、前記キャッシュメモリ上のデータのみをアクセスし、コピーされていなければ、前記キャッシュメモリ上に該当データをコピーする空領域があるか否かを確認し、空領域があれば該当データを前記記憶装置から前記キャッシュメモリにコピーし、空領域がなければ前記キャッシュメモリ上のデータを前記記憶装置に書き出して空領域を作り、その空領域に該当データを前記記憶装置からコピーする、コピーバック方式のキャッシュメモリ制御装置において、前記キャッシュメモリのデータ領域を特定の個数ごとにグループ分けし、グループごとに選択確認フラグを設定し、前記記憶装置から前記キャッシュメモリへ該当データをコピーする際に、前記キャッシュメモリ上に該当データと同じアドレス範囲に含まれるデータがすでにあれば同じグループ内に該当データをコピーし、なければデータが1つもコピーされていない新しいグループに該当データをコピーし、そのグループにすべて同じアドレス範囲に含まれるデータがコピーされたら該当グループの前記選択確認フラグをオンするデータ登録部と、前記キャッシュメモリから前記記憶装置にデータを書き出す際に、前記選択フラグがオンであるグループのどれかを書き出し対象として選択する選択部と、前記選択部により選択されたグループ内のデータのアドレス範囲に含まれる全てのデータを前記キャッシュメモリから前記記憶装置に書き出す書き出し部と、を備えたことを特徴とするキャッシュメモリ制御装置。
発明の詳細な説明
【0001】
【産業上の利用分野】本発明は、情報処理装置における記憶装置ならびにキャッシュメモリの制御方法および制御装置に関するものである。
【0002】
【従来の技術】一般に、情報処理装置を構成する際には、処理装置と記憶装置との間に高速にアクセスできる小容量のキャッシュメモリを設け、頻繁に利用するデータを記憶装置からキャッシュメモリにコピーして処理装置が使用するという方法がよく用いられる。
【0003】このキャッシュメモリは、システムのスタート時にはまったくデータをもっておらず、処理装置が記憶装置にアクセス、すなわちデータの読み出しまたは書き込みをするたびに、アクセスしたデータがコピーされる。そして、すでにキャッシュメモリにコピーされたデータを処理装置が使用する際には、記憶装置にはアクセスせず、高速のキャッシュメモリのみにアクセスする。
【0004】しかし、キャッシュメモリは記憶装置に比較すると小量のデータ容量しかないため、いずれはキャッシュメモリの領域にすべてデータがコピーされ、新たなデータをキャッシュメモリにコピーするためには、すでにキャッシュメモリにあるデータを記憶装置に書き出して空領域をつくり、その空領域に新たなデータをコピーする必要がある。
【0005】そこで従来は、処理装置からのデータの書き込みの際にも、キャッシュメモリに該当データがあればキャッシュメモリのデータのみを変更して、記憶装置のデータは変更せず、キャッシュメモリが一杯になって新たなデータをキャッシュメモリにコピーする必要が生じた際に、はじめてリプレースすなわち記憶装置にデータを書き出すというコピーバック方式が採用されていた。
【0006】このコピーバック方式以外にも、処理装置からのデータの書き込みの際に、キャッシュメモリのデータだけでなく記憶装置のデータも変更するライトスルー方式があるが、コピーバック方式の方が記憶装置へのアクセスを削減することができ、システム性能が向上するため、よく用いられている。なお、コピーバック方式の場合、キャッシュメモリが一杯になった場合に、記憶装置にキャッシュメモリのどのデータを書き出すかを決定する必要があるが、その方式には、最も過去に参照されたデータを選択するLRU(Least RecentlyUsed )方式、任意に選択するランダム方式、最も過去にコピーしてきたデータを選択するFIFO(First In Last Out )方式などがある。
【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に読み出し(ステップS2)、フラッシュメモリ2の該当するブロックの全てのデータを消去する(ステップS3)。そして、該当するブロックに含まれるキャッシュメモリ3上の全てのデータを、退避メモリ6の該当位置に書き出す(ステップS4)。最後に、退避メモリ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は、リプレース実行部14がフラッシュメモリ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に通知する(ステップS22)。もしチェックフラグがすべて0の場合は、適当に、例えばランダム方式などを用いて、リプレース対象のブロックを決定する(ステップS23)。これによりリプレース実行部14が、フラッシュメモリ12から該当するブロックの1kバイトのデータを退避メモリ15に読み出し(ステップS24)、フラッシュメモリ12の該当するブロックを消去する(ステップS25)。そして、該当するブロックに含まれるキャッシュメモリ13上の全てのデータを、退避メモリ15の該当位置に書き出す(ステップS26)。最後に、退避メモリ15のデータをフラッシュメモリ12のもとのブロックに書き込む(ステップS27)。
【0029】このように、キャッシュメモリ13へデータをコピーする際に、なるべく同一のブロックに含まれるデータを1つのグループに登録するようにし、キャッシュメモリ13にあらかじめ定めた個数ごとに設けたチェックフラグにより、同一ブロックに含まれるデータが一定個数以上あることを判別可能にしたので、リプレース実行時のリプレース対象のブロックを決定する処理を高速化できる。
【0030】
【発明の効果】以上説明したように本発明によれば、処理装置と記憶装置との間にキャッシュメモリを有し、処理装置が記憶装置のデータをアクセスする際に、該当データがキャッシュメモリにコピーされていれば、キャッシュメモリ上のデータのみをアクセスし、コピーされていなければ、キャッシュメモリ上に該当データをコピーする空領域があるか否かを確認し、空領域があれば該当データを記憶装置からキャッシュメモリにコピーし、空領域がなければキャッシュメモリ上のデータを記憶装置に書き出して空領域を作り、その空領域に該当データを記憶装置からコピーする、コピーバック方式のキャッシュメモリ制御装置において、キャッシュメモリから記憶装置にデータを書き出す際に、キャッシュメモリ上の全てのデータのアドレスを確認し、一定間隔のアドレス範囲に含まれるデータの数を数えて最もデータ数の多いアドレス範囲を書き出し対象として選択する選択部と、選択部により選択されたアドレス範囲に含まれる全てのデータをキャッシュメモリから記憶装置に書き出す書き出し部と、を備えたので、キャッシュメモリ上にあるデータのアドレスを確認し、記憶装置のブロック単位に含まれるデータの個数を調べてリプレースする対象のデータを選択することから、フラッシュメモリのように書換えが一定サイズのブロック単位でしか実行できず、書換え時間が長いデバイスを記憶装置として用いた情報処理装置においても、キャッシュメモリのリプレースによる記憶装置のブロック単位の書換え回数を減少させることができ、処理時間を短縮できる。
【0031】また、キャッシュメモリから記憶装置にデータを書き出す際に、キャッシュメモリ上のデータのアドレスを順に確認し、一定間隔のアドレス範囲に含まれるデータの数が特定の個数を越えるアドレス範囲を書き出し対象として選択する選択部と、選択部により選択されたアドレス範囲に含まれる全てのデータをキャッシュメモリから記憶装置に書き出す書き出し部と、を備えれば、上記効果に加えて、キャッシュメモリのエントリを順に確認することから、確認処理に際して、キャッシュメモリの1個のエントリのアドレスのみを記憶するだけでよく、ハードウェア量を削減することができる。
【0032】また、キャッシュメモリのデータ領域を特定の個数ごとにグループ分けし、グループごとに選択確認フラグを設定し、記憶装置からキャッシュメモリへ該当データをコピーする際に、キャッシュメモリ上に該当データと同じアドレス範囲に含まれるデータがすでにあれば同じグループ内に該当データをコピーし、なければデータが1つもコピーされていない新しいグループに該当データをコピーし、そのグループにすべて同じアドレス範囲に含まれるデータがコピーされたら該当グループの選択確認フラグをオンするデータ登録部と、キャッシュメモリから記憶装置にデータを書き出す際に、選択フラグがオンであるグループのどれかを書き出し対象として選択する選択部と、選択部により選択されたグループ内のデータのアドレス範囲に含まれる全てのデータをキャッシュメモリから記憶装置に書き出す書き出し部と、を備えれば、上記効果に加えて、キャッシュメモリへデータをコピーする際に、なるべく同一のブロックに含まれるデータを1つのグループに登録するようにし、キャッシュメモリにあらかじめ定めた個数ごとに設けたチェックフラグにより、同一ブロックに含まれるデータが一定個数以上あることを判別可能にしたことから、リプレース実行時のリプレース対象のブロックを決定する処理を高速化できる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013