JP3555523B2 - メモリ管理装置及び管理方法並びに管理プログラムを記録した記録媒体 - Google Patents
メモリ管理装置及び管理方法並びに管理プログラムを記録した記録媒体 Download PDFInfo
- Publication number
- JP3555523B2 JP3555523B2 JP29753299A JP29753299A JP3555523B2 JP 3555523 B2 JP3555523 B2 JP 3555523B2 JP 29753299 A JP29753299 A JP 29753299A JP 29753299 A JP29753299 A JP 29753299A JP 3555523 B2 JP3555523 B2 JP 3555523B2
- Authority
- JP
- Japan
- Prior art keywords
- page
- access
- information
- page number
- access pattern
- 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.)
- Expired - Fee Related
Links
- 238000007726 management method Methods 0.000 title claims description 48
- 238000000034 method Methods 0.000 claims description 12
- 238000012546 transfer Methods 0.000 claims description 11
- 230000010365 information processing Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 7
- 238000009825 accumulation Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 2
- 238000012795 verification Methods 0.000 claims 2
- 238000004088 simulation Methods 0.000 description 47
- 238000010586 diagram Methods 0.000 description 28
- 230000006870 function Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の属する技術分野】
本発明はメモリ管理装置及び管理方法並びに管理プログラムを記録した記録媒体に関し、特にソフトウェアをホストマシン上でシミュレート実行するシミュレートデバッガに実装するシミュレーションメモリを管理するメモリ管理装置及び管理方法並びに管理プログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
図16は従来のメモリ管理装置の一例の構成図である。このメモリ管理装置は、ソフトウェアをシミュレート実行するシミュレータのシミュレーションメモリを管理する。同図を参照すると、従来のメモリ管理装置100は、アドレス変換部101と、ホストマシンメモリ102と、キャッシュ制御部103と、ディスク入出力部104と、ディスク装置105とを含んで構成されている。このディスク装置105には、シミュレーションに必要なシミュレーションメモリの実体が格納されている。
【0003】
このような構成の中で、シミュレーションメモリのアクセス要求時、アドレス変換部101は、アクセスアドレスをシミュレーションメモリの位置に変換し、キャッシュ制御部103が、ホストマシンメモリ102上へのアクセスか、あるいは、ディスク装置105上にあるシミュレーションメモリへのアクセスかを判定する。
【0004】
この際、ディスク装置105上のシミュレーションメモリへのアクセスの場合、一旦、ディスク装置105からホストマシンメモリ102への転送処理を行い、ホストマシンメモリ102上でのアクセスを行えるようにする。
【0005】
この様に、ディスク装置105上のシミュレーションメモリからホストマシンメモリ102への読出し、あるいは、変更されたホストマシンメモリ102の内容をディスク装置105上へ書戻す処理が行われる。
【0006】
【発明が解決しようとする課題】
しかし、従来の技術では、次のような問題点があった。第1の問題点は、ディスク装置105上のシミュレーションメモリからホストマシンメモリ102への読出しの際に、実際のシミュレーション実行が中断されてしまうということである。その理由は、従来のメモリ管理装置100では、シミュレート対象ソフトウェアが、近い将来アクセスするページを予測出来ず、前もってディスク装置105からホストマシンメモリ102に転送しておくことができないためである。アクセスするページが、ホストマシンメモリ102上に存在しない場合、シミュレーションを中断してシミュレーションメモリをディスク装置105からホストマシンメモリ102上に転送しない限りシミュレーションは行えない、従って、従来のメモリ管理装置100ではシミュレーションの中断が増えてしまうのである。
【0007】
第2の問題点は、ディスク装置105へ無駄な書出し、読込みが多いということである。その理由は、ホストマシンメモリ102からページをディスク装置105へ書戻す際、近々使用されるかもしれないページが否かが判断出来ないために、近々使用されるのも関わらず、書戻してしまう可能性がある。従って、この書戻されたページに対してアクセスする場合に、再度、読出し動作を行う必要があるためである。
【0008】
一方、先読みに関する技術が特開昭60−230247号公報(以下、文献1という)、特開平4−332053号公報(以下、文献2という)、特開平6−289999号公報(以下、文献3という)、特開平8−115259号公報(以下、文献4という)及び特開平8−185272号公報(以下、文献5という)に開示されている。
【0009】
文献1開示の技術は、ホストより、あるシリンダ,ヘッドの2〜3セクタのアクセス要求があった場合には、同一シリンダ,ヘッドの4〜7セクタについて先読みを行う、というものである。文献2開示の技術は、CPUのシミュレーションを行った結果のメモリの状態や、シミュレーションに従って状態の遷移する環境をファイルし、そのファイルに保存した内容を読出してメモリの状態やシミュレーションに従って状態の遷移する環境を復元する、というものである。文献3開示の技術は、ホストシステムから読出し要求されたセクタと同一の付属コードが書込まれているセクタのデータを先読みバッファに先読みして登録する、というものである。文献4開示の技術は、書込み要求がなされるたびに、その要求アドレスと過去にアクセスが行われたアドレスとの差を算出し、算出した差と一致するブロック数情報に対応する数値情報がカウントアップされるようにするとともに、ブロック数情報と数値情報との対応関係を基に、先読みを行うブロック数を決定する、というものである。そして、文献5開示の技術は、本コマンドのアドレスとレングスをアドレスレジスタに記録し、本コマンドのアドレスをキーとしてアドレステーブルをサーチし、次アクセスアドレスとレングス情報を取得する、というものである。
【0010】
本発明は文献1〜5開示の先読み方式と全く相違する先読み方式を提供する。又、前述の第2の問題点を解決する手段は文献1〜5に開示されていない。そこで本発明の目的は、近い将来アクセスするページの予測が可能で、かつディスク装置への無駄な書出し及び読込みを防止することが可能なメモリ管理装置及び管理方法並びに管理プログラムを記録した記録媒体を提供することにある。
【0011】
【課題を解決するための手段】
前記課題を解決するために本発明によるメモリ管理装置は、第1記憶手段と第2記憶手段とを含み、前記第2記憶手段に対するアクセス要求に応じて前記第2記憶手段に記憶された情報のうちの所定情報を前記第1記憶手段に転送し、この前記第1記憶手段に転送された情報に基づいて情報処理を行わせるメモリ管理装置であって、そのメモリ管理装置は前記第2記憶手段に対し過去にアクセス要求されたページ番号、アクセス回数及び先回アクセス要求されたページ番号とのページ番号の差分情報で示されるアクセスパターンを蓄積する履歴蓄積手段と、前記第2記憶手段に対する最新のアクセス要求から所定数溯ったアクセス要求までのページ番号、アクセス回数及び先回アクセス要求されたページ番号とのページ番号の差分情報で示される現在のアクセスパターンと、前記履歴蓄積手段に蓄積された過去のアクセスパターンとを比較し、現在のアクセスパターンにおけるページ番号及びページ番号の差分情報と近似するページ番号及びページ番号の差分情報を有するアクセスパターンを前記過去のアクセスパターンから検索し、検索された過去のアクセスパターンにおけるページ番号の差分情報のそれ以降の情報から次回アクセス要求されると予測されるページ番号を算出するページ先読み手段とを含むことを特徴とする。
【0012】
又、本発明によるメモリ管理方法は、第1記憶手段と第2記憶手段とを含み、前記第2記憶手段に対するアクセス要求に応じて前記第2記憶手段に記憶された情報のうちの所定情報を前記第1記憶手段に転送し、この前記第1記憶手段に転送された情報に基づいて情報処理を行わせるメモリ管理装置におけるメモリ管理方法であって、そのメモリ管理方法は前記第2記憶手段に対し過去にアクセス要求されたページ番号、アクセス回数及び先回アクセス要求されたページ番号とのページ番号の差分情報で示されるアクセスパターンを蓄積する履歴蓄積ステップと、前記第2記憶手段に対する最新のアクセス要求から所定数溯ったアクセス要求までのページ番号、アクセス回数及び先回アクセス要求されたページ番号とのページ番号の差分情報で示される現在のアクセスパターンと、前記履歴蓄積ステップにて蓄積された過去のアクセスパターンとを比較し、現在のアクセスパターンにおけるページ番号及びページ番号の差分情報と近似するページ番号及びページ番号の差分情報を有するアクセスパターンを前記過去のアクセスパターンから検索し、検索された過去のアクセスパターンにおけるページ番号の差分情報のそれ以降の情報から次回アクセス要求されると予測されるページ番号を算出するページ先読みステップとを含むことを特徴とする。
【0013】
又、本発明による記録媒体は、第1記憶手段と第2記憶手段とを含み、前記第2記憶手段に対するアクセス要求に応じて前記第2記憶手段に記憶された情報のうちの所定情報を前記第1記憶手段に転送し、この前記第1記憶手段に転送された情報に基づく情報処理を行うコンピュータに用いられるメモリ管理プログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記メモリ管理プログラムは、前記第2記憶手段に対し過去にアクセス要求されたページ番号、アクセス回数及び先回アクセス要求されたページ番号とのページ番号の差分情報で示されるアクセスパターンを蓄積する履歴蓄積ステップと、前記第2記憶手段に対する最新のアクセス要求から所定数溯ったアクセス要求までのページ番号、アクセス回数及び先回アクセス要求されたページ番号とのページ番号の差分情報で示される現在のアクセスパターンと、前記履歴蓄積ステップにて蓄積された過去のアクセスパターンとを比較し、現在のアクセスパターンにおけるページ番号及びページ番号の差分情報と近似するページ番号及びページ番号の差分情報を有するアクセスパターンを前記過去のアクセスパターンから検索し、検索された過去のアクセスパターンにおけるページ番号の差分情報のそれ以降の情報から次回アクセス要求されると予測されるページ番号を算出するページ先読みステップとを、
コンピュータに実行させるためのものであることを特徴とする。
【0014】
本発明によれば、アクセス要求のあったアドレス及びアクセス回数の履歴に基づき次回アクセス要求されると予測されるアドレスを算出するため、近い将来アクセスするページの予測が可能で、かつディスク装置への無駄な書出し及び読込みを防止することが可能となる。
【0015】
【発明の実施の形態】
まず、本発明の概要について説明する。図1は本発明に係るメモリ管理装置の一例の構成図である。図1において、シミュレーションメモリ6が、ホストマシンメモリ3上では実現出来ない大容量のシミュレーションメモリを管理する場合、ページと呼ぶ一定の大きさのメモリを単位として、ディスク装置6を使用して管理する。シミュレーションメモリへのアクセスの際には、ホストマシンメモリ3に一旦読込み、ホストマシンメモリ3上で、シミュレーション実行を行う。このシミュレーションメモリへのアクセスをページ単位のアクセス履歴として記録し、記録したアクセス履歴を基に、規定時間間隔に於けるページのアクセスパターンを割り出して保存する。
【0016】
シミュレーションメモリへのアクセスが要求され、ホストマシンメモリ3上に該当するページが無い場合、ディスク装置6から取出しが行われる。この際、次のアクセスが予測されるページを予めディスク装置6からホストマシン3のメモリへの転写を行うために、既に保存されているページのアクセスパターンを用いて、次に使用されるページを予測し、ディスク装置6からホストマシンメモリ3上への読出し、及びホストマシンメモリ3からディスク装置6への書出しを行う。
【0017】
以下、本発明の実施の形態について添付図面を参照しながら説明する。図1は本発明の第1の実施の形態の構成を示している。図1を参照すると、本発明に係るメモリ管理装置1は、アドレス変換部2と、ホストマシンメモリ3と、キャッシュ制御部4と、ディスク入出力部5と、ディスク装置6と、アクセスパターン蓄積部7と、ページ先読み部8とを含んで構成されている。
【0018】
これらの構成部分の概略は次のとおりである。アドレス変換部2は、シミュレーション対象のソフトウェアからアクセスされるアドレスを、ディスク装置6上のシミュレーションメモリの位置に変換する機能を持っている。ホストマシンメモリ3は、実際のメモリへのアクセスをシミュレートする機能を持っている。キャッシュ制御部4は、実際のメモリアクセスを行うホストマシンメモリ3に、シミュレーションメモリの一部を割り当てる為の機能を持っている。ディスク入出力部5は、シミュレーションメモリがディスク装置6上に格納されている位置に変換する機能と、実際のディスク装置6への入出力を行う機能を持っている。ディスク装置6は、シミュレーションに必要なシミュレーションメモリの実体を格納している。アクセスパターン蓄積部7は、シミュレーションメモリへのアクセスをパターン化して蓄積する機能を持っている。ページ先読み部8は、アクセスパターン蓄積部7によって得られたアクセスのパターンを使用してシミュレーションメモリの先読みを行う機能を持っている。
【0019】
次に、図1〜図7を参照して本実施例の全体の動作について詳細に説明する。図2及び図6はメモリ管理装置の動作を示すフローチャート、図3はアクセスパタンの抽出を説明するための模式図、図4はアクセスパタンの保存を説明するための模式図、図5はアクセスパタンの更新を説明するための模式図、及び図7はアクセスパタンの検索を説明するための模式図である。
【0020】
まず、シミュレーションメモリへのアクセス要求がなされると(図2のステップA1)、アドレス変換部2にてシミュレーションメモリの位置に変換される(図2のステップA2)。次に、アクセスパターン蓄積部7でアクセスするページからアクセスパターンの抽出と保存が行われる(ステップA3)。これと並行して、キャッシュ制御部4でシミュレーションメモリがホストマシンメモリ3上に存在するか、あるいはディスク装置6上に存在するかを判定し(ステップA4)、ホストマシンメモリ3上に存在する場合は(ステップA5にて「有り」の場合)、シミュレーションメモリの位置をホストマシンメモリ3上の位置に変換し実際のアクセスを行う(ステップA6)。
【0021】
一方、ホストマシンメモリ3上に存在しない場合は(ステップA5にて「無し」の場合)、ディスク入出力部5でシミュレーションメモリのアドレスと一致するディスク装置6上の格納位置に変換する(ステップA7)。さらに、ディスク装置6から該当するアドレスのシミュレーションメモリの内容をキャッシュ制御部4を通してホストマシンメモリ3に移し(ステップA8)、シミュレーションメモリの位置をホストマシンメモリ3上の位置に変換し実際のアクセスを行う(ステップA6)。この動作と並行してページ先読み部8にて、現在アクセスしているページから次のページを予測して、ページの先読みを行う(ステップA9)。
【0022】
次に、ページの先読み手順の詳細について説明する。図3を参照すると、アクセスパターン蓄積部7は、アクセス要求のあったページ番号、そのページへのアクセス回数、及びアクセスされたページ間の差を履歴として取り出す。即ち、前々回のアクセスページ番号とそのページをアクセスした回数、前回のアクセスページ番号とそのページをアクセスした回数、今回のアクセスページ番号とそのページをアクセスした回数等をページアクセス履歴として取り出し(図3(A)参照)、かつアクセスされたページ間の差、即ち前々回のページ番号と前回のページ番号との差及び前回のページ番号と今回のページ番号との差等をページアクセス履歴として取り出す(図3(B)参照)。なお、図3(A)の右側にはディスク装置6のシミュレーションメモリ空間の構成が示されている。又、図3(B)は縦軸がアクセスページ番号、横軸が経過時間を示している。即ち、図3(B)は一例として前々回のアクセスページ番号が最も大きく、前回のアクセスページ番号が最も小さく、今回のアクセスページ番号がその中間であることを示しており、経過時間方向の矢印の長さ、即ち経過時間の長さは各々のページ番号がアクセスされた回数を示している。
【0023】
さらに、アクセスパターン蓄積部7は、図4に示すようにアクセス履歴を一定区間毎に分割し、アクセスパターン1,2,…として保存する。図4(A)にはアクセス履歴を一定区間毎アクセスパターン1,2,…に分割する例が示されており、図4(B)にはパターン1として保存される内容が、図4(C)にはパターン2として保存される内容が夫々示されている。
【0024】
又、図5(A)に示すようなアクセスパターンがアクセスパターン蓄積部7に保存されており、格納場所が一杯になった場合、使用頻度の少ないものを廃棄対象として選択し、そこに新たにアクセスパターンを追加する。即ち、図5(A)に示す例では、パターン3の使用頻度が少ないので、これを廃棄対象としており、図5(B)に示すようにこのパターン3の格納場所に更新パターンを格納している。
【0025】
次に、ページ先読み部8の動作を図6及び図7を用いて詳細に説明する。まず、現在アクセスされているページのアクセス履歴からアクセスパターンを作成する(図6のステップA11)。図7(B)に現在のアクセスパターンが示されている。現在のアクセスパターンの太線部分が現時刻に至るまでのアクセス履歴を示しており、矢印の先端が現時刻を示している。現時刻から先が予測ページの部分である。
【0026】
次に、その作成したパターンがアクセスパターン蓄積部7で既に蓄積されているアクセスパターンと一致しているものを探す(図6のステップA12)。図7(A)に既に蓄積されているアクセスパターンのうちの作成パターンと一致している一例を示す。この際、蓄積されたアクセスパターンの値に幅を設け、その幅の範囲内であれば一致したと判定する。そして、一致した場合(図6のステップA13にて「有り」の場合)、探し出したパターンから、現在のアクセス位置と一致した箇所をアクセス回数で判定し、次にアクセスするページをアクセスパターン(図4(B)及び(C)で示したアクセスパターン)に保存されているページ番号の差を用いて次に読込むページのページ番号を求める(図6のステップA14)。予測したページを読出す為にホストマシンメモリ3の空きを判定し(図6のステップA15)、ホストマシンメモリ3に空きが無い場合(図6のステップA15にて「無し」の場合)、ホストマシンメモリ3からディスク入出力部5を介してディスク装置6に書戻す(図6のステップA16)。一方、空きが有る場合(図6のステップA15にて「有り」の場合)、先読みするページをディスク入出力部5を介してディスク装置6からホストマシンメモリ3に移す(図6のステップA17)。尚、保存されたアクセスパターンと一致しない場合(図6のステップA13にて「無し」の場合)、現在のアクセス履歴からアクセスパターン蓄積部7にて、一定の間隔でアクセスパターンとして追加保存する(図6のステップA18)。
【0027】
次に、具体例について説明する。図8はページアクセス履歴の一例を示す模式図、図9は保存されるアクセスパターンの一例を示す模式図、図10はページ先読みを行うためのページ番号算出の一例を示す模式図、図11はページ先読みの具体例を示す模式図てある。
【0028】
まず、図8に示すように、アドレス変換部2に対し、シミュレーションメモリ空間の1番目(ページ番号10)から6番目(ページ番号18)まで順に要求されたページ番号、ページのアクセス回数、及びページ番号差分(直前にアクセスされたページ番号と、現在アクセスしているページ番号との差で、正負の値で保存される)の値が、アクセスパターン蓄積部7でページアクセス履歴として保存される。さらに、図9に示すように、アクセスパターン蓄積部7で、アクセス履歴から、生成された複数のアクセスパターン(図9の例ではパターン1〜3の3パターン)をパターン毎に分けて保存する。
【0029】
次に、図10に示すように、ページ先読み部8で、現在のアクセス履歴と、保存された複数のアクセスパターンを比較し、アクセスされたページ番号、あるいは、ページ番号差分の値が同じか、あるいは、近似値の値を持つアクセスパターンを検索する。図10(A)の例では、現在のアクセス履歴のページ番号が13と27であり、ページ番号差分が0と14であるが、この番号に近いページ番号10と25とを有し、かつこのページ番号差分に近いページ番号差分を0と15とを有するパターン1が近似値の値を持つアクセスパターンとして検索されている(図10(B)のパターン1参照)。
【0030】
次に、今後、アクセスされると予測されるページ番号をアクセスパターン1に保存されているページ番号差分から算出する。図10(B)のパターン1を参照すると、ページ番号25の次にはページ番号3が保存されており、その差分は−22となっている。そこで、ページ先読み部8は現在アクセスしている27ページ(図10(A)参照)に−22を加算し、その加算結果として得た数値5を次の予測ページとする。同様の計算により、以後の予測ページとして15,17,20を得る。
【0031】
ここで算出された予測ページ番号(図11(A)参照)の情報は、図11(B)に示すように、ディスク入出力部5を介して、ディスク装置6上のシミュレーションメモリからホストマシンメモリ3にキャッシュ制御部4を介して読込まれる。これらの操作の結果、現在アクセスしているページの次にアクセスされると予測されるページを予めホストマシンメモリ3に載せておくことができる。
【0032】
次に、第2の実施の形態について説明する。図12は第2の実施の形態の構成図である。なお、同図において、第1の実施の形態の構成(図1参照)と同様の構成部分には同一番号を付し、その説明を省略する。図12を参照すると、メモリ管理部10は、アドレス変換部2と、ホストマシンメモリ3と,キャッシュ制御部4と、ディスク入出力部5と、ディスク装置6と、アクセスパターン蓄積部7と,ページ先読み部8とに加え、書戻しページ決定部9を含んで構成されている。
【0033】
第2の実施の形態で加えた書戻しページ決定部9の機能は、ホストマシンメモリ3からディスク装置6に書戻す際、近々アクセスが起こりうるページをページ先読み部8で算出したページ番号を基に、その値に近くないページを選択してディスク入出力部5を介してディスク装置6に書戻す、というものである。
【0034】
この書戻しページ決定部9の動作を図13を参照して詳細説明する。図13は第2の実施の形態の動作を示すフローチャートである。まず、ディスク装置6に書戻すページが現在使用しているアクセスパターン上にあるか否かを検索する(図13のステップA21)。そして、アクセスパターン上に無い場合は(図13のステップA22にて「無し」の場合)、そのままディスク入出力部5を使用して該当ページをディスク装置6に書戻す(図13のステップA25)。一方、アクセスパターン上に該当ページが存在した場合(図13のステップA22にて「有り」の場合)、ホストマシンメモリ3に残す(図13のステップA23)。さらに、他に書き戻し候補となっているページが有る場合(図13のステップA24にて「有り」の場合)、ステップA21〜ステップA23を繰り返す。一方、書戻し候補が無かった場合(図13のステップA24にて「無し」の場合)、ホストマシンメモリ3上の一番古いページをディスク装置6に書戻す(図13のステップA26)。この第2の実施の形態によって、ディスク装置6へのアクセスを有効に使用することができる。
【0035】
次に、第2の実施の形態の動作の具体例を図14に示す。図14は書戻しページ決定の具体例を示す模式図である。同図を参照すると、書戻すページのリストに書戻す候補であるページ番号100、5、60、20、3、200が登録されている場合(図14(A)の左側の図参照)、書戻しページ決定部9では、このリストに入っているページ番号と、アクセスパターン蓄積部7及びページ先読み部8によって作成されたアクセスパターンから、先読みを行う候補のページと同一か否かを比較する(図14(B)の上側の図参照)。そして、同一のページ番号であった場合は、ホストマシンメモリ3上に保持するリストに登録する様、キャッシュ制御部4に指示する。図14の例では、書戻しリストに登録されているページ番号5及び20(図14(A)の左側の図参照)は現在のパターンに予測ページ番号として登録されているため(図14(B)の上側の図参照)、このページ番号5及び20をホストマシンメモリ3上に登録する(図14(A)の右側の図参照)。
【0036】
一方、先読みを行う候補のページと同一で無い場合は、そのまま書戻すリスト上に残す。又、ホストマシンメモリ3の保持リストが一杯になった場合は、最も古いページ(例えば、図14(A)の右側の図にてページ番号13と30)を書出しページのリストに加え、ホストマシンメモリ3からディスク装置6へ書戻す。
【0037】
次に、第3の実施の形態について説明する。第3の実施の形態はメモリ管理プログラムを記録した記録媒体に関するものである。図15は記録媒体及びこの記録媒体を駆動する駆動装置の一例の構成図である。同図を参照すると、駆動装置はCPU(Central Processing Unit)21と、入力部22と、記憶部23とを含んで構成される。そして、CPU21は前述のメモリ管理装置1及び10を制御する。一方、記録媒体24には前述の図2,図6,図13のフローチャートに示される処理を実行するメモリ管理プログラムが記録されている。
【0038】
次に、この駆動装置の動作について説明する。まず、入力部22よりプログラムのロード命令がCPU21に入力されると、CPU21は記録媒体24に記録されたメモリ管理プログラムを読込み、その読込んだメモリ管理プログラムを記憶部23に書込む。次に、入力部22よりプログラムの実行命令がCPU21に入力されると、CPU21は記憶部23よりメモリ管理プログラムを読込み、そのプログラムに従ってメモリ管理装置1及び10を制御する。その制御の内容については既に説明済みであるため説明を省略する。
【0039】
【発明の効果】
本発明による第1の発明によれば、第1記憶手段と第2記憶手段とを含み、前記第2記憶手段に対するアクセス要求に応じて前記第2記憶手段に記憶された情報のうちの所定情報を前記第1記憶手段に転送し、この前記第1記憶手段に転送された情報に基づいて情報処理を行わせるメモリ管理装置であって、そのメモリ管理装置は前記第2記憶手段に対しアクセス要求のあったアドレス及びアクセス回数の履歴を蓄積する履歴蓄積手段と、前記第2記憶手段に対する最新のアクセス要求から所定数溯ったアクセス要求までのアクセス履歴と前記履歴蓄積手段に蓄積されたアドレス及びアクセス回数の履歴とから前記第2記憶手段に対し次回アクセス要求されると予測されるアドレスを算出するアドレス先読み手段とを含むため、近い将来アクセスするページの予測が可能で、かつディスク装置への無駄な書出し及び読込みを防止することが可能となる。
【0040】
具体的には、第1の効果は、シミュレーション速度の向上が図れることができることにある。その理由は、シミュレートメモリを格納するディスク装置からキャッシュメモリ上への先読みを、実際のシミュレーションと並行して行うことにより、ディスク装置からホストマシンのメモリへの転送待ち時間を短縮し、シミュレーションの中断を少なくできるからである。
【0041】
第2の効果は、シミュレーション対象のソフトウェアがどの様に動作しているかを把握できることにある。その理由は、アクセスしたページのパターンが保存されていることから、シミュレーション対象のソフトウェアの実行履歴とシミュレートメモリへのアクセス履歴を取り出すことができるからである。これによって、シミュレーション対象のソフトウェアの一定区間での動きをトレースすることが可能となる。
【0042】
第3の効果は、ディスク装置へのアクセスを有効に使用することが可能となることにある。その理由は、近々アクセスが起こり得るページを避けてディスク装置に書戻しを行うためである。
【0043】
又、本発明による第2及び第3の発明においても上述した第1の発明と同様の効果を奏する。
【図面の簡単な説明】
【図1】本発明に係るメモリ管理装置の一例の構成図である。
【図2】メモリ管理装置の動作を示すフローチャートである。
【図3】アクセスパタンの抽出を説明するための模式図である。
【図4】アクセスパタンの保存を説明するための模式図である。
【図5】アクセスパタンの更新を説明するための模式図である。
【図6】メモリ管理装置の動作を示すフローチャートである。
【図7】アクセスパタンの検索を説明するための模式図である。
【図8】ページアクセス履歴の一例を示す模式図である。
【図9】保存されるアクセスパターンの一例を示す模式図である。
【図10】ページ先読みを行うためのページ番号算出の一例を示す模式図である。
【図11】ページ先読みの具体例を示す模式図てある。
【図12】第2の実施の形態の構成図である。
【図13】第2の実施の形態の動作を示すフローチャートである。
【図14】書戻しページ決定の具体例を示す模式図である。
【図15】記録媒体及びこの記録媒体を駆動する駆動装置の一例の構成図である。
【図16】従来のメモリ管理装置の一例の構成図である。
【符号の説明】
1 メモリ管理装置
2 アドレス変換部
3 ホストマシンメモリ
4 キャッシュ制御部
5 ディスク入出力部
6 ディスク装置
7 アクセスパターン蓄積部
8 ページ先読み部
9 書戻しページ決定部
24 記録媒体
Claims (21)
- 第1記憶手段と第2記憶手段とを含み、前記第2記憶手段に対するアクセス要求に応じて前記第2記憶手段に記憶された情報のうちの所定情報を前記第1記憶手段に転送し、この前記第1記憶手段に転送された情報に基づいて情報処理を行わせるメモリ管理装置であって、
前記第2記憶手段に対し過去にアクセス要求されたページ番号、アクセス回数及び先回アクセス要求されたページ番号とのページ番号の差分情報で示されるアクセスパターンを蓄積する履歴蓄積手段と、
前記第2記憶手段に対する最新のアクセス要求から所定数溯ったアクセス要求までのページ番号、アクセス回数及び先回アクセス要求されたページ番号とのページ番号の差分情報で示される現在のアクセスパターンと、前記履歴蓄積手段に蓄積された過去のアクセスパターンとを比較し、現在のアクセスパターンにおけるページ番号及びページ番号の差分情報と近似するページ番号及びページ番号の差分情報を有するアクセスパターンを前記過去のアクセスパターンから検索し、検索された過去のアクセスパターンにおけるページ番号の差分情報のそれ以降の情報から次回アクセス要求されると予測されるページ番号を算出するページ先読み手段とを含むことを特徴とするメモリ管理装置。 - さらに前記ページ先読み手段にて算出された予測ページに対応する情報を前記第2記憶手段より読出し、その読出した情報を前記第1記憶手段に書込む予測情報転送手段を含むことを特徴とする請求項1記載のメモリ管理装置。
- 前記履歴蓄積手段に蓄積されるアドレス及びアクセス回数を含むアクセスパターンは一定周期ごとに分割して蓄積され、前記ページ先読み手段は前記分割されたアクセスパターンと前記第2記憶手段に対する前記現在のアクセスパターンとを照合し予測ページを算出することを特徴とする請求項1又は2記載のメモリ管理装置。
- 前記ページ先読み手段は前記照合により前記第2記憶手段に対する前記現在のアクセスパターンと近似するアクセスパターンを前記履歴蓄積手段にて分割されたアクセスパターンの中から抽出することを特徴とする請求項3記載のメモリ管理装置。
- 前記ページ先読み手段は前記履歴蓄積手段にて分割されたアクセスパターンのうち前記第2記憶手段に対する前記現在のアクセスパターンと近似するアクセスパターンに含まれる差分情報から予測ページを算出することを特徴とする請求項3又は4記載のメモリ管理装置。
- さらに前記第1記憶手段に書込まれた情報のうちどのページ番号の情報を前記第2記憶手段に書戻すかを決定する書戻しページ決定手段を含み、
前記書戻しページ決定手段は前記ページ先読み手段にて算出された予測ページに該当しないページを書戻しページとして選択することを特徴とする請求項1乃至5いずれかに記載のメモリ管理装置。 - 前記第2記憶手段に記憶される情報はソフトウエアをシミュレート実行するための情報であることを特徴とする請求項1乃至6いずれかに記載のメモリ管理装置。
- 第1記憶手段と第2記憶手段とを含み、前記第2記憶手段に対するアクセス要求に応じて前記第2記憶手段に記憶された情報のうちの所定情報を前記第1記憶手段に転送し、この前記第1記憶手段に転送された情報に基づいて情報処理を行わせるメモリ管理装置におけるメモリ管理方法であって、
前記第2記憶手段に対し過去にアクセス要求されたページ番号、アクセス回数及び先回アクセス要求されたページ番号とのページ番号の差分情報で示されるアクセスパターンを蓄積する履歴蓄積ステップと、
前記第2記憶手段に対する最新のアクセス要求から所定数溯ったアクセス要求までのページ番号、アクセス回数及び先回アクセス要求されたページ番号とのページ番号の差分情報で示される現在のアクセスパターンと、前記履歴蓄積ステップにて蓄積された過去のアクセスパターンとを比較し、現在のアクセスパターン
におけるページ番号及びページ番号の差分情報と近似するページ番号及びページ番号の差分情報を有するアクセスパターンを前記過去のアクセスパターンから検索し、検索された過去のアクセスパターンにおけるページ番号の差分情報のそれ以降の情報から次回アクセス要求されると予測されるページ番号を算出するページ先読みステップとを含むことを特徴とするメモリ管理方法。 - さらに前記ページ先読みステップにて算出された予測ページに対応する情報を前記第2記憶手段より読出し、その読出した情報を前記第1記憶手段に書込む予測情報転送ステップを含むことを特徴とする請求項8記載のメモリ管理方法。
- 前記履歴蓄積ステップにて蓄積されるアドレス及びアクセス回数を含むアクセスパターンは一定周期ごとに分割して蓄積され、前記ページ先読みステップは前記分割されたアクセスパターンと前記第2記憶手段に対する前記現在のアクセスパターンとを照合し予測ページを算出することを特徴とする請求項8又は9記載のメモリ管理方法。
- 前記ページ先読みステップでは前記照合により前記第2記憶手段に対する前記現在のアクセスパターンと近似するアクセスパターンを前記履歴蓄積ステップにて分割されたアクセスパターンの中から抽出することを特徴とする請求項10記載のメモリ管理方法。
- 前記ページ先読みステップでは前記履歴蓄積ステップにて分割されたアクセスパターンのうち前記第2記憶手段に対する前記現在のアクセスパターンと近似するアクセスパターンに含まれる差分情報から予測ページを算出することを特徴とする請求項10又は11記載のメモリ管理方法。
- さらに前記第1記憶手段に書込まれた情報のうちどのページ番号の情報を前記第2記憶手段に書戻すかを決定する書戻しページ決定ステップを含み、
前記書戻しページ決定ステップでは前記ページ先読みステップにて算出された予測ページに該当しないページを書戻しページとして選択することを特徴とする請求項8乃至12いずれかに記載のメモリ管理方法。 - 前記第2記憶手段に記憶される情報はソフトウエアをシミュレート実行するための情報であることを特徴とする請求項8乃至13いずれかに記載のメモリ管理方法。
- 第1記憶手段と第2記憶手段とを含み、前記第2記憶手段に対するアクセス要求に応じて前記第2記憶手段に記憶された情報のうちの所定情報を前記第1記憶手段に転送し、この前記第1記憶手段に転送された情報に基づく情報処理を行うコンピュータに用いられるメモリ管理プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記メモリ管理プログラムは、
前記第2記憶手段に対し過去にアクセス要求されたページ番号、アクセス回数及び先回アクセス要求されたページ番号とのページ番号の差分情報で示されるアクセスパターンを蓄積する履歴蓄積ステップと、
前記第2記憶手段に対する最新のアクセス要求から所定数溯ったアクセス要求までのページ番号、アクセス回数及び先回アクセス要求されたページ番号とのページ番号の差分情報で示される現在のアクセスパターンと、前記履歴蓄積ステップにて蓄積された過去のアクセスパターンとを比較し、現在のアクセスパターンにおけるページ番号及びページ番号の差分情報と近似するページ番号及びページ番号の差分情報を有するアクセスパターンを前記過去のアクセスパターンから検索し、検索された過去のアクセスパターンにおけるページ番号の差分情報のそれ以降の情報から次回アクセス要求されると予測されるページ番号を算出するページ先読みステップとを、
コンピュータに実行させるためのものであることを特徴とする記録媒体。 - 前記メモリ管理プログラムは、さらに
前記ページ先読みステップにて算出された予測ページに対応する情報を前記第2記憶手段より読出し、その読出した情報を前記第1記憶手段に書込む予測情報転送ステップを、
コンピュータに実行させるためのものであることを特徴とする請求項15記載の記録媒体。 - 前記履歴蓄積ステップにて蓄積されるアドレス及びアクセス回数を含むアクセスパターンは一定周期ごとに分割して蓄積され、前記ページ先読みステップでは前記分割されたアクセスパターンと前記第2記憶手段に対する前記現在のアクセスパターンとを照合し予測ページを算出することを特徴とする請求項15又は16記載の記録媒体。
- 前記ページ先読みステップでは前記照合により前記第2記憶手段に対する前記現在のアクセスパターンと近似するアクセスパターンを前記履歴蓄積ステップにて分割されたアクセスパターンの中から抽出することを特徴とする請求項17記載の記録媒体。
- 前記ページ先読みステップでは前記履歴蓄積ステップにて分割されたアクセスパターンのうち前記第2記憶手段に対する前記現在のアクセスパターンと近似するアクセスパターンに含まれる差分情報から予測ページを算出することを特徴とする請求項17又は18記載の記録媒体。
- 前記メモリ管理プログラムは、さらに
前記第1記憶手段に書込まれた情報のうちどのページ番号の情報を前記第2記憶手段に書戻すかを決定する書戻しページ決定ステップを、
コンピュータに実行させるためのものであり、
前記書戻しページ決定ステップでは前記ページ先読みステップにて算出された予測ページに該当しないページを書戻しページとして選択することを特徴とする請求項15乃至19いずれかに記載の記録媒体。 - 前記第2記憶手段に記憶される情報はソフトウエアをシミュレート実行するための情報であることを特徴とする請求項15乃至20いずれかに記載の記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29753299A JP3555523B2 (ja) | 1999-10-20 | 1999-10-20 | メモリ管理装置及び管理方法並びに管理プログラムを記録した記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29753299A JP3555523B2 (ja) | 1999-10-20 | 1999-10-20 | メモリ管理装置及び管理方法並びに管理プログラムを記録した記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001117818A JP2001117818A (ja) | 2001-04-27 |
JP3555523B2 true JP3555523B2 (ja) | 2004-08-18 |
Family
ID=17847763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29753299A Expired - Fee Related JP3555523B2 (ja) | 1999-10-20 | 1999-10-20 | メモリ管理装置及び管理方法並びに管理プログラムを記録した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3555523B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12182449B2 (en) | 2022-05-25 | 2024-12-31 | Samsung Electronics Co., Ltd. | Systems and methods for managing a storage system |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5205777B2 (ja) * | 2007-03-14 | 2013-06-05 | 富士通株式会社 | プリフェッチ処理装置、プリフェッチ処理プログラムおよびプリフェッチ処理方法 |
JP5347382B2 (ja) * | 2008-08-29 | 2013-11-20 | 富士通株式会社 | キャッシュ制御方法及びキャッシュ制御装置 |
CN102123168B (zh) * | 2011-01-14 | 2012-07-18 | 广州市动景计算机科技有限公司 | 基于中转服务器的网页页面预读及整合方法和系统 |
US10397365B2 (en) | 2015-11-06 | 2019-08-27 | International Business Machines Corporation | Method to reduce reactivation time of cloud based services |
CN106897297B (zh) * | 2015-12-17 | 2019-12-24 | 北京国双科技有限公司 | 网站栏目间访问路径的确定方法及装置 |
-
1999
- 1999-10-20 JP JP29753299A patent/JP3555523B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12182449B2 (en) | 2022-05-25 | 2024-12-31 | Samsung Electronics Co., Ltd. | Systems and methods for managing a storage system |
Also Published As
Publication number | Publication date |
---|---|
JP2001117818A (ja) | 2001-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3522527B2 (ja) | 入出力制御装置および入出力制御方法 | |
JP4060506B2 (ja) | ディスク制御装置 | |
EP2329361B1 (en) | Aggregation of write traffic to a data store | |
US7203815B2 (en) | Multi-level page cache for enhanced file system performance via read ahead | |
US7117309B2 (en) | Method of detecting sequential workloads to increase host read throughput | |
US7493450B2 (en) | Method of triggering read cache pre-fetch to increase host read throughput | |
JP4393762B2 (ja) | データベース処理方法及び装置並びにその処理プログラム | |
US8051249B2 (en) | Method for preloading data to improve data-retrieval times | |
KR20080084948A (ko) | 데이터를 효율적으로 저장하는 방법, 컴퓨터 판독가능 매체및 컴퓨터 시스템 | |
JP4067293B2 (ja) | キャッシュ制御プログラムおよびキャッシュ処理を行うコンピュータ | |
KR20060049129A (ko) | 시스템 성능을 향상시키기 위하여 외장형 메모리 장치를이용하는 시스템 및 방법 | |
JPH06289999A (ja) | ディスク制御システム | |
JPH11184639A (ja) | 計算機システム | |
JP7131053B2 (ja) | 記憶装置,情報処理プログラムおよび情報処理システム | |
JP3555523B2 (ja) | メモリ管理装置及び管理方法並びに管理プログラムを記録した記録媒体 | |
US8151053B2 (en) | Hierarchical storage control apparatus, hierarchical storage control system, hierarchical storage control method, and program for controlling storage apparatus having hierarchical structure | |
JP3469383B2 (ja) | データ先読み制御方法及び情報処理装置 | |
CN102508790B (zh) | 一种应用于内容解析存储的基于内容的缓存方法 | |
JPH08263380A (ja) | ディスクキャッシュ制御方式 | |
Thomasian et al. | Disk scheduling policies with lookahead | |
JP4104283B2 (ja) | 記憶サブシステム及び情報処理システム | |
JP5605043B2 (ja) | データコピー装置、データコピー方法およびストレージ装置 | |
CN111984197A (zh) | 计算机缓存分配方法 | |
JP3435176B2 (ja) | 磁気ディスク装置 | |
JP2000347941A (ja) | キャッシュメモリ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040203 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040405 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040420 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040503 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090521 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100521 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110521 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |