(57)【要約】【課題】所望のタイミングで簡単にメモリの記憶内容を復元することができるようにする。【解決手段】メモリの第１の記憶領域に記憶されたアドレス変換テーブルを、第１の記憶領域以外の記憶領域にコピーして保存するテーブル保存部と、保存されたアドレス変換テーブルをメモリの第１の記憶領域にコピーすることで、保存時点のアドレス変換テーブルを復旧させるテーブル復旧部と、アドレス変換テーブルが保存された後、アドレス変換テーブル上で物理アドレスと対応付けられた仮想アドレスのデータの書き換え要求があった場合、仮想アドレスに対応づける物理アドレスを変更し、変更後の物理アドレスに対応する記憶領域に書き換え後のデータを記憶させる書き換え制御部とを備える。【選択図】図２
2013257679.tif 000002
【特許請求の範囲】
【請求項１】
メモリの第１の記憶領域に記憶されたアドレス変換テーブルを、前記第１の記憶領域以外の記憶領域にコピーして保存するテーブル保存部と、
前記保存されたアドレス変換テーブルを前記メモリの第１の記憶領域にコピーすることで、保存時点の前記アドレス変換テーブルを復旧させるテーブル復旧部と、
前記アドレス変換テーブルが保存された後、アドレス変換テーブル上で物理アドレスと対応付けられた仮想アドレスのデータの書き換え要求があった場合、
前記仮想アドレスに対応づける物理アドレスを変更し、変更後の物理アドレスに対応する記憶領域に前記書き換え後のデータを記憶させる書き換え制御部と
を備える情報処理装置。
【請求項２】
前記アドレス変換テーブルは、アプリケーションプログラム毎に生成され、
実行されるアプリケーションプログラムを特定して前記テーブル復旧部に通知するプログラム通知部をさらに備え、
前記テーブル復旧部は、アプリケーションプログラムが実行される時点で、前記アプリケーションプログラムに対応する前記アドレス変換テーブルが保存されている場合、前記保存時点の前記アドレス変換テーブルを復旧させる
請求項１に記載の情報処理装置。
【請求項３】
前記プログラム通知部は、さらに、前記アプリケーションプログラムの実行の終了を検知して前記書き換え制御部に通知し、
前記書き換え制御部は、前記アプリケーションプログラムの実行の終了が通知された場合、前記変更後の物理アドレスに対応する記憶領域に記憶された前記書き換え後のデータを消去する
請求項２に記載の情報処理装置。
【請求項４】
アプリケーションプログラムが実行されるとき、前記アプリケーションプログラムが過去に実行されたか否かを表す情報を、前記テーブル復旧部に通知する実行有無情報通知部をさらに備え、
前記テーブル復旧部は、
前記アプリケーションプログラムが過去に実行されたか否かを表す情報が通知された場合、前記アドレス変換テーブルを復旧させる
請求項２に記載の情報処理装置。
【請求項５】
前記メモリが不揮発性メモリである
請求項１に記載の情報処理装置。
【請求項６】
前記メモリに電力を供給するメモリ保持部をさらに備え、
前記メモリが揮発性メモリである
請求項１に記載の情報処理装置。
【請求項７】
前記テーブル保存部は、
前記アドレス変換テーブルを所定の時間間隔で保存する
請求項１に記載の情報処理装置。
【請求項８】
前記テーブル保存部は、
アプリケーションプログラムの実行中に発生する所定のイベントが発生したとき、前記アドレス変換テーブルを保存する
請求項１に記載の情報処理装置。
【請求項９】
前記テーブル保存部は、
複数の時点において、前記アドレス変換テーブルを保存し、
前記テーブル復旧部は、
前記複数の時点のアドレス変換テーブルのうち、指定された時点のアドレス変換テーブルを復旧させる
請求項１に記載の情報処理装置。
【請求項１０】
前記アドレス復旧部は、
ユーザの操作に基づいて指定された時点のアドレス変換テーブルを復旧させ、
前記指定された時点のアドレス変換テーブルが保存されていない場合、前記アドレス変換テーブルの復旧ができない旨を前記ユーザに通知するメッセージの表示を制御する
請求項９に記載の情報処理装置。
【請求項１１】
テーブル保存部が、メモリの第１の記憶領域に記憶されたアドレス変換テーブルを、前記第１の記憶領域以外の記憶領域にコピーして保存し、
テーブル復旧部が、前記保存されたアドレス変換テーブルを前記メモリの第１の記憶領域にコピーすることで、保存時点の前記アドレス変換テーブルを復旧させ、
前記アドレス変換テーブルが保存された後、アドレス変換テーブル上で物理アドレスと対応付けられた仮想アドレスのデータの書き換え要求があった場合、
書き換え制御部が、前記仮想アドレスに対応づける物理アドレスを変更し、変更後の物理アドレスに対応する記憶領域に前記書き換え後のデータを記憶させるステップ
を含む情報処理方法。
【請求項１２】
コンピュータを、
メモリの第１の記憶領域に記憶されたアドレス変換テーブルを、前記第１の記憶領域以外の記憶領域にコピーして保存するテーブル保存部と、
前記保存されたアドレス変換テーブルを前記メモリの第１の記憶領域にコピーすることで、保存時点の前記アドレス変換テーブルを復旧させるテーブル復旧部と、
前記アドレス変換テーブルが保存された後、アドレス変換テーブル上で物理アドレスと対応付けられた仮想アドレスのデータの書き換え要求があった場合、
前記仮想アドレスに対応づける物理アドレスを変更し、変更後の物理アドレスに対応する記憶領域に前記書き換え後のデータを記憶させる書き換え制御部とを備える情報処理装置として機能させる
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、情報処理装置および方法、並びに、プログラムに関し、特に、所望のタイミングで簡単にメモリの記憶内容を復元することができる情報処理装置および方法、並びに、プログラムに関する。
【背景技術】
【０００２】
近年、不揮発性メモリの開発が進んでいる。
【０００３】
例えば、ＭＲＡＭ（Magnetoresistive Random Access Memory）は、記憶媒体にハードディスクなどと同じ磁性体を用いたメモリ技術である。ＭＲＡＭは、原子数個程度の厚さの絶縁体薄膜を２層の磁性体薄膜で挟み、両側から加える磁化方向を変化させることで抵抗値が変化するＴＭＲ効果を応用している。
【０００４】
ＭＲＡＭは、アドレスアクセスタイムが約１０ns、サイクルタイムが約２０nsであり、ＤＲＡＭの５倍程度高速な読み書きが可能である。また、フラッシュメモリの１０分の１程度の低消費電力、高集積性が可能などの長所がある。
【０００５】
また、ＲｅＲＡＭ（Resistance Random Access Memory）は、電圧印加による電気抵抗の大きな変化（電界誘起巨大抵抗変化、ＣＥＲ（Colossal Electro-Resistance ）効果）を利用している。
【０００６】
ＲｅＲＡＭは、比較的単純な構造のためセル面積が小さく、高密度化（=低コスト化）が可能ある。また、電気抵抗の変化率が数十倍にものぼり、多値化も容易であるため、大容量化が期待できる。
【０００７】
例えば、不揮発性メモリにメインメモリの内容を記憶させるようにすれば、処理途中のデータを保存し、再度利用することも可能となる。
【０００８】
また、ある時点でのメインメモリの内容をスワップ領域に書きだして保存しておき、スワップに保存したページが更新された際、保存が行われた時点のままのデータを残したいところはスワップ内の別の領域に書き出されるようにする技術が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平２−１６６５５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１の技術は、外部ストレージなどのスワップ領域を得ることが可能なデバイスの存在を前提としている。
【００１１】
また、特許文献１の技術の場合、ページイン、ページアウトをきっかけとして動作するため、これらが発生しない状況下では利用することができない。
【００１２】
本技術はこのような状況に鑑みて開示するものであり、所望のタイミングで簡単にメモリの記憶内容を復元することができるようにするものである。
【課題を解決するための手段】
【００１３】
本技術の一側面は、メモリの第１の記憶領域に記憶されたアドレス変換テーブルを、前記第１の記憶領域以外の記憶領域にコピーして保存するテーブル保存部と、前記保存されたアドレス変換テーブルを前記メモリの第１の記憶領域にコピーすることで、保存時点の前記アドレス変換テーブルを復旧させるテーブル復旧部と、前記アドレス変換テーブルが保存された後、アドレス変換テーブル上で物理アドレスと対応付けられた仮想アドレスのデータの書き換え要求があった場合、前記仮想アドレスに対応づける物理アドレスを変更し、変更後の物理アドレスに対応する記憶領域に前記書き換え後のデータを記憶させる書き換え制御部とを備える情報処理装置である。
【００１４】
前記アドレス変換テーブルは、アプリケーションプログラム毎に生成され、実行されるアプリケーションプログラムを特定して前記テーブル復旧部に通知するプログラム通知部をさらに備え、前記テーブル復旧部は、アプリケーションプログラムが実行される時点で、前記アプリケーションプログラムに対応する前記アドレス変換テーブルが保存されている場合、前記保存時点の前記アドレス変換テーブルを復旧させるようにすることができる。
【００１５】
前記プログラム通知部は、さらに、前記アプリケーションプログラムの実行の終了を検知して前記書き換え制御部に通知し、前記書き換え制御部は、前記アプリケーションプログラムの実行の終了が通知された場合、前記変更後の物理アドレスに対応する記憶領域に記憶された前記書き換え後のデータを消去するようにすることができる。
【００１６】
アプリケーションプログラムが実行されるとき、前記アプリケーションプログラムが過去に実行されたか否かを表す情報を、前記テーブル復旧部に通知する実行有無情報通知部をさらに備え、前記テーブル復旧部は、前記アプリケーションプログラムが過去に実行されたか否かを表す情報が通知された場合、前記アドレス変換テーブルを復旧させるようにすることができる。
【００１７】
前記メモリが不揮発性メモリであるようにすることができる。
【００１８】
前記メモリに電力を供給するメモリ保持部をさらに備え、前記メモリが揮発性メモリであるようにすることができる。
【００１９】
前記テーブル保存部は、前記アドレス変換テーブルを所定の時間間隔で保存するようにすることができる。
【００２０】
前記テーブル保存部は、アプリケーションプログラムの実行中に発生する所定のイベントが発生したとき、前記アドレス変換テーブルを保存するようにすることができる。
【００２１】
前記テーブル保存部は、複数の時点において、前記アドレス変換テーブルを保存し、前記テーブル復旧部は、前記複数の時点のアドレス変換テーブルのうち、指定された時点のアドレス変換テーブルを復旧させるようにすることができる。
【００２２】
前記アドレス復旧部は、ユーザの操作に基づいて指定された時点のアドレス変換テーブルを復旧させ、前記指定された時点のアドレス変換テーブルが保存されていない場合、前記アドレス変換テーブルの復旧ができない旨を前記ユーザに通知するメッセージの表示を制御するようにすることができる。
【００２３】
本技術の一側面は、テーブル保存部が、メモリの第１の記憶領域に記憶されたアドレス変換テーブルを、前記第１の記憶領域以外の記憶領域にコピーして保存し、テーブル復旧部が、前記保存されたアドレス変換テーブルを前記メモリの第１の記憶領域にコピーすることで、保存時点の前記アドレス変換テーブルを復旧させ、前記アドレス変換テーブルが保存された後、アドレス変換テーブル上で物理アドレスと対応付けられた仮想アドレスのデータの書き換え要求があった場合、書き換え制御部が、前記仮想アドレスに対応づける物理アドレスを変更し、変更後の物理アドレスに対応する記憶領域に前記書き換え後のデータを記憶させるステップを含む情報処理方法である。
【００２４】
本技術の一側面は、コンピュータを、メモリの第１の記憶領域に記憶されたアドレス変換テーブルを、前記第１の記憶領域以外の記憶領域にコピーして保存するテーブル保存部と、前記保存されたアドレス変換テーブルを前記メモリの第１の記憶領域にコピーすることで、保存時点の前記アドレス変換テーブルを復旧させるテーブル復旧部と、前記アドレス変換テーブルが保存された後、アドレス変換テーブル上で物理アドレスと対応付けられた仮想アドレスのデータの書き換え要求があった場合、前記仮想アドレスに対応づける物理アドレスを変更し、変更後の物理アドレスに対応する記憶領域に前記書き換え後のデータを記憶させる書き換え制御部とを備える情報処理装置として機能させるプログラムである。
【００２５】
本技術の一側面においては、メモリの第１の記憶領域に記憶されたアドレス変換テーブルが、前記第１の記憶領域以外の記憶領域にコピーされて保存され、前記保存されたアドレス変換テーブルを前記メモリの第１の記憶領域にコピーすることで、保存時点の前記アドレス変換テーブルが復旧させられ、前記アドレス変換テーブルが保存された後、アドレス変換テーブル上で物理アドレスと対応付けられた仮想アドレスのデータの書き換え要求があった場合、前記仮想アドレスに対応づける物理アドレスを変更し、変更後の物理アドレスに対応する記憶領域に前記書き換え後のデータが記憶される。
【発明の効果】
【００２６】
本技術によれば、所望のタイミングで簡単にメモリの記憶内容を復元することができる。
【図面の簡単な説明】
【００２７】
【図１】本技術の一実施の形態に係る演算処理システムの構成例を示すブロック図である。
【図２】図１のＣＰＵ、ＭＭＵ、およびＲＡＭの機能的構成例を示すブロック図である。
【図３】仮想アドレスと物理アドレスの対応づけを説明する図である。
【図４】本技術におけるデータ書き換え後の仮想アドレスと物理アドレスの対応づけを説明する図である。
【図５】従来技術におけるデータ書き換え後の仮想アドレスと物理アドレスの対応づけを説明する図である。
【図６】従来技術におけるデータ書き込み後の仮想アドレスと物理アドレスの対応づけを説明する図である。
【図７】図１のＣＰＵ、ＭＭＵ、およびＲＡＭの別の機能的構成例を示すブロック図である。
【図８】アドレス変換テーブル管理処理の例を説明するフローチャートである。
【図９】テーブル保存制御処理の例を説明するフローチャートである。
【図１０】テーブル復旧制御処理の例を説明するフローチャートである。
【図１１】サービス起動制御処理の例を説明するフローチャートである。
【図１２】図１のＣＰＵ、ＭＭＵ、およびＲＡＭのさらに別の機能的構成例を示すブロック図である。
【図１３】パーソナルコンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【００２８】
以下、図面を参照して、ここで開示する技術の実施の形態について説明する。
【００２９】
図１は、本技術の一実施の形態に係る演算処理システムの構成例を示すブロック図である。
【００３０】
同図に示される演算処理システム１０は、ＣＰＵ２１、ＭＭＵ(Memory Management Unit)２２、およびＲＡＭ２３を有する構成とされている。演算処理システム１０は、例えば、携帯電話機やスマートフォンなどに実装され、ダウンロードされたアプリケーションプログラムなどを実行するようになされている。
【００３１】
ここで、例えば、ＭＲＡＭ（Magnetoresistive Random Access Memory）などの不揮発性メモリとして構成される。
【００３２】
ＲＡＭ２３は、ＣＰＵ２１に対応する主記憶装置（メインメモリ）として設けられており、ＭＭＵ２２の制御に基づいてデータの書き込みまたは読み出しが行われるようになされている。ＭＭＵ２２は、仮想アドレスと物理アドレスとの変換、メモリ保護などに係る機能を有し、ＣＰＵ２１のメモリアクセス制御に係る処理を実行する機能ブロックとされる。ＭＭＵ２２は、例えば、ＣＰＵ２１の一部として構成されるようにしてもよい。
【００３３】
図２は、図１のＣＰＵ２１、ＭＭＵ２２、およびＲＡＭ２３の機能的構成例を示すブロック図である。この例では、ＣＰＵ２１、ＲＡＭ２３の他、アドレス変換テーブル管理部５１、アドレス変換部５２、およびメモリ割り当て管理部５３が記載されている。
【００３４】
アドレス変換部５２は、ＣＰＵ２１から供給された仮想アドレスを、アドレス変換テーブルに基づいて物理アドレスに変換する。これによりＣＰＵ２１は、当該データに係る物理アドレスを取得し、メモリ割り当て管理部５３に、その物理アドレスへのアクセス要求を出力する。
【００３５】
ここで、アドレス変換テーブルは、仮想空間アドレスと、ＲＡＭ２３の物理空間アドレスとを対応付けるテーブルとされ、ＲＡＭ２３の一部の記憶領域に記憶される。
【００３６】
また、アドレス変換テーブル管理部５１は、所定の時点におけるアドレス変換テーブルの内容をＲＡＭ２３の別の一部の記憶領域に記憶させる。
【００３７】
例えば、アドレス変換部５２が参照するアドレス変換テーブルは、ＲＡＭ２３の記憶領域の一部であって、ワークエリアとして利用される記憶領域に記憶されている。一方、アドレス変換テーブル管理部５１は、ワークエリアとは異なる記憶領域に、所定の時点におけるアドレス変換テーブルをコピーする。
【００３８】
アドレス変換テーブル管理部５１は、例えば、ＣＰＵ２１により実行されるアプリケーションプログラムに係るデータなどがＲＡＭ２３にロードされた時点におけるアドレス変換テーブルをワークエリアとは異なる記憶領域にコピーする。
【００３９】
図２においてＣＰＵ２１は、アプリケーションプログラムなどを実行し、処理中に必要となるデータなどの読み出し、書き込みなどの指令をメモリ割り当て管理部５３に出力する。メモリ割り当て管理部５３は、ＲＡＭ２３へのアクセスを制御し、ＣＰＵ２１の要求に応じてデータの読み出し、または、書き込みを制御する。
【００４０】
例えば、ＣＰＵ２１が、処理中に必要となるデータを、ＲＡＭ２３から読み出す場合、アドレス変換部５２に当該データの格納位置を特定する仮想アドレスを供給し、仮想アドレスの物理アドレスへの変換を要求する。アドレス変換部５２は、仮想アドレスを物理アドレスに変換し、ＣＰＵ２１に供給する。
【００４１】
ＣＰＵ２１は、上述のように取得した物理アドレスに基づいて、メモリ割り当て管理部５３にデータの読み出しを要求する。
【００４２】
メモリ割り当て管理部５３は、ＣＰＵ２１から供給された物理アドレスに対応する記憶領域であって、ＲＡＭ２３の所定の記憶領域からのデータの読み出しを制御する。
【００４３】
また、例えば、ＣＰＵ２１がアプリケーションプログラムを実行中にＲＡＭ２３から読み出したデータを書き換える場合、アドレス変換部５２に当該データの格納位置を特定する仮想アドレスを供給し、仮想アドレスの物理アドレスへの変換を要求する。そして、ＣＰＵ２１は、メモリ割り当て管理部５３にデータの書き込みを要求する。
【００４４】
この際、アドレス変換部５２は、既に仮想アドレスに対応づけられた物理アドレスへの書き込みであることを、メモリ割り当て管理部５３に通知する。
【００４５】
いまの場合、メモリ割り当て管理部５３は、アドレス変換テーブルに基づいて取得した物理アドレスに対応する記憶領域を書き換えず、ＲＡＭ２３の新たな記憶領域に当該データを記憶させるように制御する。そして、メモリ割り当て管理部５３は、新たに割り当てられた記憶領域に対応する物理アドレスを、アドレス変換部５２に通知する。
【００４６】
アドレス変換部５２は、上述のように通知された新たな物理アドレスを仮想アドレスと対応づけるように、アドレス変換テーブルの情報を更新する。
【００４７】
例えば、図３に示されるように、アドレス変換テーブルにおいて、既に仮想アドレスと物理アドレスが対応づけられていたものとする。同図の例では、仮想アドレスＶ１と物理アドレスＰ２が対応づけられている。同様に、仮想アドレスＶ３、Ｖ５、Ｖ６、およびＶ７が、それぞれ物理アドレスＰ３、Ｐ４、Ｐ５、およびＰ６と対応づけられている。
【００４８】
いま、ＣＰＵ２１が実行中のアプリケーションプログラムの処理によって、仮想アドレスＶ６に対応するデータの書き換え要求があったものとする。なお、この時点で、既にアドレス変換テーブル管理部５１によって、図３に示される状態のアドレス変換テーブルがコピーされていたものとする。
【００４９】
このとき、上述したように、アドレス変換部５２は、既に仮想アドレスに対応づけられた物理アドレスへの書き込みであることを、メモリ割り当て管理部５３に通知する。
【００５０】
メモリ割り当て管理部５３は、アドレス変換テーブルに基づいて取得した物理アドレスに対応する記憶領域を書き換えず、ＲＡＭ２３の新たな記憶領域に当該データを記憶させるように制御する。例えば、物理アドレスＰ７に対応する記憶領域を、書き換えられたデータを記憶するための記憶領域として新たに割り当てる。
【００５１】
そして、メモリ割り当て管理部５３は、新たに割り当てられた記憶領域に対応する物理アドレスＰ７を、アドレス変換部５２に通知する。
【００５２】
アドレス変換部５２は、上述のように通知された新たな物理アドレスＰ７を仮想アドレスＶ６と対応づけるように、アドレス変換テーブルの情報を更新する。
【００５３】
これにより、例えば、図４に示されるように、アドレス変換テーブルによる仮想アドレスと物理アドレスの対応づけが変更される。図４の例では、図３において物理アドレスＰ５に対応づけられていた仮想アドレスＶ６が、新たに物理アドレスＰ７に対応づけられるように変更されている。
【００５４】
また、図４において、物理アドレスＰ５に記憶されたデータは、元のままとされ、消去されたり、変更されたりしていない。
【００５５】
従来の技術の場合、データを書き換えるときは、図５に示されるように物理アドレスＰ５に記憶されたデータが書き換えられ、仮想アドレスＶ６は物理アドレスＰ５に対応づけられたままとされる。
【００５６】
また、従来の技術の場合、新たなデータを書き込むときは、図６に示されるように、例えば、ＲＡＭ２３の新たな記憶領域として物理アドレスＰ７に対応する記憶領域が割り当てられ、ここに新たなデータが書き込まれる。そして、物理アドレスＰ７は、例えば、新たな仮想アドレスＶ８と対応づけられる。
【００５７】
これに対して、本技術では、アドレス変換テーブル管理部５１によって、アドレス変換テーブルがコピーされた後で、既に仮想アドレスに対応づけられた物理アドレスへの書き込み要求が発生した場合、書き換えられたデータを記憶するための新たな物理アドレスが割り当てられる。また、本技術では、上述のように新たに割り当てられた物理アドレスに書き換えられたデータを記憶させた場合、元の物理アドレスに対応する記憶領域の内容を元のままとする。
【００５８】
例えば、スマートフォンなどでゲームを起動させる場合、アプリケーションプログラムに係るデータをＲＡＭにロードする必要がある。この場合、ＲＡＭの物理アドレスと仮想アドレスとを対応づけるアドレス変換テーブルを生成する必要がある。
【００５９】
従来、アドレス変換テーブルは、アプリケーションプログラムの実行が終了される都度、消去されていた。従来のＲＡＭ（主記憶装置）は、通常、揮発性メモリによって構成され、電源ＯＦＦなどにより記憶内容は全て消去されるため、アプリケーションプログラムに係るデータをＲＡＭにロードする都度、アドレス変換テーブルを生成することが一般的だったからである。
【００６０】
しかし、主記憶装置として不揮発性メモリを用いる場合、電源ＯＦＦ後も記憶内容が保持されるので、記憶領域のデータは消去せずにそのまま利用することができる。
【００６１】
すなわち、一旦、記憶領域にロードされたアプリケーションプログラムに係るデータは、一度アプリケーションプログラムの実行が終了され、再度アプリケーションプログラムが実行されたときに再利用することができる。
【００６２】
アプリケーションプログラムに係るアドレス変換テーブルは、通常、アプリケーションプログラムに係るデータをロードするとき、ワークエリアに生成される。従って、この時点でのアドレス変換テーブルをワークエリア以外の記憶領域にコピーしておけば、例えば、ゲームを起動する都度、アプリケーションプログラムに係るデータをロードする処理などを実行する必要はない。すなわち、一度起動したことのあるゲームを再度起動する場合、ワークエリア以外の記憶領域に保存されているアドレス変換テーブルをワークエリアにコピーするだけで、アプリケーションプログラムに係るデータをロードした直後の状態を復元できる。
【００６３】
そこで、本技術では、上述のように、アドレス変換テーブル管理部５１によって、アドレス変換テーブルがコピー（保存）された後で、既に仮想アドレスに対応づけられた物理アドレスへの書き込み要求が発生した場合、書き換えられたデータを記憶するための新たな物理アドレスが割り当てられるようにした。また、新たに割り当てられた物理アドレスに書き換えられたデータを記憶させた場合、元の物理アドレスに対応する記憶領域の内容を元のままとされるようにした。
【００６４】
このようにすることで、例えば、演算処理システムが実装される装置などで何らかの機能を立ち上げる際に要する時間を大幅に短縮することが可能となる。
【００６５】
あるいはまた、本技術により、所望の時点におけるアドレス変換テーブルが復旧されるようにすることも可能である。例えば、演算処理システムが実装される装置などで電源断が発生した際に早期に復旧させることが可能となる。
【００６６】
例えば、スマートフォンのユーザがゲームをプレイ中に電源断が発生した場合、従来の方式では、まずゲームに対応するアプリケーションプログラムを再び起動し、セーブデータからゲームの進行状態を復帰する。この場合、やはりアプリケーションプログラムに係るデータをロードする処理などが実行されることになり、この間ユーザは待たされることになる。
【００６７】
本技術では、上述のように、ワークエリア以外の記憶領域に保存されているアドレス変換テーブルをワークエリアにコピーすることで、電源断発生前の状態に復帰することが可能となる。
【００６８】
いまの場合、アドレス変換テーブル管理部５１は、アプリケーションプログラムに係るデータをロード時点だけでなく、例えば、一定の周期でアドレス変換テーブルを保存する。または、例えば、ゲームにおける特定のイベントなどの発生の都度、アドレス変換テーブルが保存されるようにしてもよい。
【００６９】
また、いまの場合、アドレス変換テーブルの保存が複数回行われるので、アドレス変換テーブル管理部５１がアドレス変換テーブルを保存する際、それまで保存されていたアドレス変換テーブルに上書きされるようにしてもよいし、複数の時点におけるアドレス変換テーブルがそれぞれ保存されるようにしてもよい。
【００７０】
そして、アドレス変換テーブル管理部５１は、電源断が発生して解消したとき、保存されていたアドレス変換テーブルをワークエリアにコピーする。なお、ＲＡＭ２３は、不揮発性メモリであるため、電源断が発生して記憶内容が失われることはない。また、上述のように、アドレス変換テーブルが保存された後で、既に仮想アドレスに対応づけられた物理アドレスへの書き込み要求が発生した場合、書き換えられたデータを記憶するための新たな物理アドレスが割り当てられるので、保存されていたアドレス変換テーブルに基づいて所望のデータを読み出すことが可能である。
【００７１】
このようにすることで、例えば、演算処理システムが実装される装置などで電源断が発生した際に早期に復旧させることが可能となる。
【００７２】
あるいはまた、電源断の発生の有無に関わらず、例えば、ユーザの指令などに基づいて、所定の時点におけるアドレス変換テーブルがワークエリアにコピーされるようにしてもよい。すなわち、本技術により、例えば、ゲームの進行の状態を、任意の時点の状態に復旧させることも可能である。
【００７３】
図７は、図１のＣＰＵ２１、ＭＭＵ２２、およびＲＡＭ２３の別の機能的構成例を示すブロック図である。この例では、ＣＰＵ２１、ＲＡＭ２３の他、アドレス変換テーブル管理部５１、アドレス変換部５２、メモリ割り当て管理部５３に加えて、アプリケーション起動管理部５４が記載されている。
【００７４】
図７の例の場合、演算処理システム１０が実装されるスマートフォンなどの装置に、予め複数のアプリケーションプログラムがインストールされているものとする。なお、アプリケーションプログラムは、例えば、装置の出荷時にインストール済みのもの、後からユーザがダウンロードしたものなどが含まれる。
【００７５】
例えば、ユーザがスマートフォンのＧＵＩなどを操作することにより、複数のアプリケーションプログラムに対応するサービス（例えば、ゲームやＳＭＳなど）が同時に提供される。この場合、例えば、ＣＰＵ２１が各アプリケーションプログラムに対応するプロセスのそれぞれを切り替えながら実行する。
【００７６】
図７の構成において、アプリケーション起動管理部５４は、所定のサービスの起動が指令されると、アドレス変換テーブル管理部５１に、当該サービスに対応するアプリケーションプログラムの起動通知を出力するようになされている。なお、このとき出力される起動通知には、アプリケーションプログラムの識別子、および、当該アプリケーションプログラムが過去に実行されたか否かを表す情報が含まれる。
【００７７】
アドレス変換テーブル管理部５１は、アプリケーション起動管理部５４からの起動通知を受けた場合、当該アプリケーションプログラムが過去に実行されたものであるか否かを判定する。
【００７８】
当該アプリケーションプログラムが過去に実行されたものであるとき、アドレス変換テーブル管理部５１は、当該アプリケーションプログラムの識別子に対応づけられて保存されているアドレス変換テーブルを、ＲＡＭ２３のワークエリアにコピーする。
【００７９】
当該アプリケーションプログラムが過去に実行されたものではないとき、アプリケーションプログラムに係るデータがＲＡＭにロードされる。そして、アドレス変換テーブル管理部５１は、アプリケーションプログラムに係るデータがロードされた時点でのアドレス変換テーブルをＲＡＭ２３のワークエリア以外の記憶領域にコピーする。ここで、コピーされたアドレス変換テーブルは、アプリケーションプログラムの識別子に対応づけられて保存される。
【００８０】
すなわち、図７の構成の場合、アプリケーションプログラム毎にアドレス変換テーブルを生成して保存するようにし、各種のサービスが起動される都度、それらのサービスに対応するアプリケーションプログラムの識別子に対応づけられたアドレス変換テーブルが読み出される。
【００８１】
このようにすることで、例えば、スマートフォンにおける各種のサービスの立ち上げ時間を大幅に短縮し、操作性を向上させることができる。
【００８２】
また、アプリケーション起動管理部５４は、所定のサービスの終了が指令されると、アドレス変換テーブル管理部５１に、当該サービスに対応するアプリケーションプログラムの終了通知を出力するようにしてもよい。なお、このとき出力される終了通知には、アプリケーションプログラムの識別子、および、当該アプリケーションプログラムが過去に実行されたか否かを表す情報が含まれる。
【００８３】
当該アプリケーションプログラムが過去に実行されたものである場合、アドレス変換テーブル管理部５１は、メモリ割り当て管理部５３に当該アプリケーションプログラムの識別子に対応づけられたアドレス変換テーブルが保存されている記憶領域のアドレスなどを通知する。
【００８４】
メモリ割り当て管理部５３は、サービス終了時点におけるアドレス変換テーブルと、アドレス変換テーブル管理部５１によって保存されたアドレス変換テーブルを比較することにより、アプリケーションプログラムの実行中に新たに書き込まれたデータを特定する。例えば、図３と図４を参照して上述した例の場合、物理アドレスＰ７に対応する記憶領域に記憶されたデータは、アプリケーションプログラムの実行中に新たに書き込まれたデータであると特定することができる。
【００８５】
メモリ割り当て管理部５３は、上述のように特定した、アプリケーションプログラムの実行中に新たに書き込まれたデータを消去する。例えば、図４において、物理アドレスＰ７に対応する記憶領域に記憶されたデータが消去される。これにより、物理アドレスＰ１乃至物理アドレスＰ１１の記憶内容は、図３の状態と同じになる。
【００８６】
このようにすることで、例えば、ＲＡＭ２３の記憶領域に不要なデータが蓄積されていくことを抑止することができる。
【００８７】
図７におけるそれ以外の部分の構成は、図２を参照して上述した場合と同様なので、詳細な説明は省略する。
【００８８】
次に、図８のフローチャートを参照して、本技術を適用した演算処理システム１０によるアドレス変換テーブル管理処理の例について説明する。
【００８９】
ステップＳ１１において、演算処理システム１０は、図９のフローチャートを参照して後述するテーブル保存制御処理を実行する。
【００９０】
ステップＳ１２において、演算処理システム１０は、図１０のフローチャートを参照して後述するテーブル復旧制御処理を実行する。
【００９１】
次に、図９のフローチャートを参照して図８のステップＳ１１のテーブル保存制御処理の詳細な例について説明する。
【００９２】
ステップＳ３１において、アドレス変換テーブル管理部５１は、予め設定された所定のイベントが発生したか否かを判定する。所定のイベントは、例えば、所定の時間が経過したことをトリガとして発生するようにしてもよいし、プログラムの中の所定のステップが実行されることにより発生するようにしてもよい。
【００９３】
ステップＳ３１において、所定のイベントが発生したと判定された場合、処理は、ステップＳ３２に進む。
【００９４】
ステップＳ３２において、アドレス変換テーブル管理部５１は、アドレス変換テーブルを保存する。このとき、例えば、ＲＡＭ２３のワークエリア以外の記憶領域にアドレス変換テーブルがコピーされる。なお、アドレス変換テーブルは、例えば、保存された時刻と対応づけられてＲＡＭ２３のワークエリア以外の記憶領域に記憶される。
【００９５】
一方、ステップＳ３１において、所定のイベントが発生しなかったと判定された場合、ステップＳ３２の処理はスキップされる。
【００９６】
ステップＳ３３において、ＣＰＵ２１は、例えば、実行中のプログラムの処理によるデータの書き込み要求があったか否かを判定する。
【００９７】
ステップＳ３３において、書き込み要求があったと判定された場合、処理は、ステップＳ３４に進む。このとき、例えば、アドレス変換部５２に当該データの格納位置を特定する仮想アドレスを供給し、仮想アドレスの物理アドレスへの変換を要求する。そして、ＣＰＵ２１は、メモリ割り当て管理部５３にデータの書き込みを要求する。
【００９８】
ステップＳ３４において、アドレス変換テーブル管理部５１は、既にアドレス変換テーブルが保存されているか否かを判定する。ステップＳ３４において、アドレス変換テーブルが保存されていると判定された場合、処理は、ステップＳ３５に進む。
【００９９】
ステップＳ３５において、アドレス変換部５２は、ステップＳ３３の処理で判定された書き込み要求は、既に仮想アドレスに対応づけられた物理アドレスへの書き込みであるか否か、すなわち、当該データの書き換えであるか否かを判定する。ステップＳ３５において、書き換えであると判定された場合、メモリ割り当て管理部５３にその旨が通知され、処理は、ステップＳ３６に進む。
【０１００】
ステップＳ３６において、メモリ割り当て管理部５３は、書き換えられたデータのためにＲＡＭ２３の新たな記憶領域を割り当てる。すなわち、メモリ割り当て管理部５３は、アドレス変換テーブルに基づいて取得した物理アドレスに対応する記憶領域を書き換えず、ＲＡＭ２３の新たな記憶領域に当該データを記憶させるように制御する。そして、新たに割り当てられた記憶領域に対応する物理アドレスが、アドレス変換部５２に通知される。
【０１０１】
ステップＳ３７において、アドレス変換部５２は、ステップＳ３６の処理に伴って通知された新たな物理アドレスを仮想アドレスと対応づけるように、アドレス変換テーブルの情報を更新する。
【０１０２】
これにより、例えば、図４を参照して上述したように、アドレス変換テーブルの情報が更新される。
【０１０３】
一方、ステップＳ３４において、アドレス変換テーブルが保存されていないと判定された場合、または、ステップＳ３５において、書き換えではないと判定された場合、処理は、ステップＳ３８に進む。
【０１０４】
ステップＳ３８において、メモリ割り当て管理部５３は、通常の書き込み処理を行う。すなわち、ステップＳ３３の処理で判定された書き込み要求が、新たなデータの書き込み要求であった場合、ＲＡＭ２３の新たな記憶領域が割り当てられ、その記憶領域に新たなデータが書き込まれる。また、ステップＳ３３の処理で判定された書き込み要求が、書き換えであった場合、アドレス変換テーブルに基づいて特定された物理アドレスのデータが書き換えられる。
【０１０５】
これにより、例えば、図５と図６を参照して上述したように、アドレス変換テーブルの情報が更新される。
【０１０６】
このようにして、テーブル保存制御処理が実行される。
【０１０７】
次に、図１０のフローチャートを参照して、図８のステップＳ１２のテーブル復旧制御処理の詳細な例について説明する。この処理は、例えば、図８を参照して上述した処理と並行して実行される。
【０１０８】
ステップＳ５１において、アドレス変換テーブル管理部５１は、アドレス変換テーブルの復旧の指令があったか否かを判定し、復旧の指令があったと判定されるまで待機する。
【０１０９】
例えば、電源断が解消した後、または、ユーザが所定の操作を行ったなどの場合、ＣＰＵ２１からアドレス変換テーブルの復旧の指令が出力されることになる。ステップＳ５１において、アドレス変換テーブルの復旧の指令があったと判定された場合、処理は、ステップＳ５２に進む。
【０１１０】
ステップＳ５２において、アドレス変換テーブル管理部５１は、保存されているアドレス変換テーブルをチェックする。
【０１１１】
ステップＳ５３において、アドレス変換テーブル管理部５１は、ステップＳ５２の処理の結果、所望の時点でのアドレス変換テーブルが存在するか否かを判定する。
【０１１２】
ステップＳ５３において、所望の時点でのアドレス変換テーブルが存在すると判定された場合、処理は、ステップＳ５４に進む。
【０１１３】
ステップＳ５４において、アドレス変換テーブル管理部５１は、保存されていたアドレス変換テーブルをワークエリアにコピーする。これにより、所望の時点のアドレス変換テーブルが復旧されたことになる。例えば、演算処理システム１０が実装される装置で提供されるサービスを電源断が発生する前の状態に戻したり、ゲームの進行を、所望の時点まで戻したりすることが可能となる。
【０１１４】
一方、ステップ５３において、所望の時点でのアドレス変換テーブルが存在しないと判定された場合、処理は、ステップＳ５５に進む。
【０１１５】
ステップＳ５５において、アドレス変換テーブル管理部５１は、所望の時点でのアドレス変換テーブルが存在しないことをＣＰＵ２１に通知する。これにより、ＣＰＵ２１は、例えば、アプリケーションプログラムに係るデータを再度ロードする処理を実行したり、所望の時点への復旧ができないことをユーザに通知するためのメッセージの表示を制御する。
【０１１６】
このようにして、テーブル復旧制御処理が実行される。
【０１１７】
次に、図１１のフローチャートを参照して、本技術を適用した演算処理システム１０によるサービス起動制御処理の例について説明する。この処理は、図７を参照して上述した構成に対応する処理とされる。いまの場合、アプリケーションプログラム毎にアドレス変換テーブルが生成されて保存されるものとする。
【０１１８】
ステップＳ７１において、ＣＰＵ２１は、所定のサービスの起動が指令されたか否かを判定し、所定のサービスの起動が指令されたと判定されるまで待機する。
【０１１９】
ステップＳ７１において、所定のサービスの起動が指令されたと判定された場合、処理は、ステップＳ７２に進む。
【０１２０】
ステップＳ７２において、ＣＰＵ２１は、起動されたサービスに対応するアプリケーションプログラムの識別子、および、過去の実行の有無を特定する。
【０１２１】
ステップＳ７３において、ＣＰＵ２１は、アドレス変換テーブル管理部５１に、当該サービスに対応するアプリケーションプログラムの起動通知を出力する。なお、このとき出力される起動通知には、アプリケーションプログラムの識別子、および、当該アプリケーションプログラムが過去に実行されたか否かを表す情報が含まれる。
【０１２２】
ステップＳ７４において、アドレス変換テーブル管理部５１は、当該アプリケーションプログラムが過去に実行されたものであるか否かを判定する。
【０１２３】
ステップＳ７４において、当該アプリケーションプログラムが過去に実行されたものであると判定された場合、処理は、ステップＳ７５に進む。
【０１２４】
ステップＳ７５において、アドレス変換テーブル管理部５１は、当該アプリケーションプログラムの識別子に対応づけられて保存されているアドレス変換テーブルを、ＲＡＭ２３のワークエリアにコピーする。
【０１２５】
一方、ステップＳ７４において、当該アプリケーションプログラムが過去に実行されたものではないと判定された場合、処理は、ステップＳ７６に進む。
【０１２６】
ステップＳ７６において、アプリケーションプログラムに係るデータがＲＡＭにロードされる。そして、アドレス変換テーブル管理部５１は、アプリケーションプログラムに係るデータがロードされた時点でのアドレス変換テーブルをＲＡＭ２３のワークエリア以外の記憶領域にコピーする。ここで、コピーされたアドレス変換テーブルは、アプリケーションプログラムの識別子に対応づけられて保存される。
【０１２７】
このようにして、サービス起動制御処理が実行される。
【０１２８】
以上においては、本技術が適用される演算処理システム１０における主記憶装置であるＲＡＭ２３が不揮発性メモリにより構成されることを前提として説明したが、ＲＡＭ２３を揮発性メモリとした場合であっても、本技術を適用することは可能である。
【０１２９】
図１２は、図１のＣＰＵ２１、ＭＭＵ２２、およびＲＡＭ２３のさらに別の機能的構成例を示すブロック図である。この例では、ＣＰＵ２１、ＲＡＭ２３の他、アドレス変換テーブル管理部５１、アドレス変換部５２、メモリ割り当て管理部５３に加えて、メモリ保持部６１が記載されている。
【０１３０】
なお、図１２の構成の場合、ＲＡＭ２３は、ＤＲＡＭなどの揮発性メモリにより構成されているものとする。
【０１３１】
メモリ保持部６１は、例えば、演算処理システム１０への電力の供給が停止しているとき、ＲＡＭ２３に電力を供給するようになされている。このようにすることで、ＲＡＭ２３を揮発性メモリにより構成しても、不揮発性メモリと同様に機能させることができ、本技術を適用することができる。
【０１３２】
図１２におけるそれ以外の部分の構成は、図２を参照して上述した場合と同様なので詳細な説明は省略する。
【０１３３】
また、以上においては、アドレス変換テーブルが主記憶装置を構成するメモリ内のワークエリアから、ワークエリア以外の領域にコピーされて保存されることを前提として説明した。しかし、例えば、アドレス変換テーブルが主記憶装置を構成するメモリから、補助記憶装置やメモリ管理ユニットの内部のメモリなどにコピーされて保存されるようにしてもよい。さらに、主記憶装置以外のメモリなどに記憶されているアドレス変換テーブルが補助記憶装置やメモリ管理ユニットの内部のメモリなどにコピーされて保存されるようにしてもよい。
【０１３４】
なお、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば図１３に示されるような汎用のパーソナルコンピュータ７００などに、ネットワークや記録媒体からインストールされる。
【０１３５】
図１３において、ＣＰＵ（Central Processing Unit）７０１は、ＲＯＭ（Read Only Memory）７０２に記憶されているプログラム、または記憶部７０８からＲＡＭ（Random Access Memory）７０３にロードされたプログラムに従って各種の処理を実行する。ＲＡＭ７０３にはまた、ＣＰＵ７０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１３６】
ＣＰＵ７０１、ＲＯＭ７０２、およびＲＡＭ７０３は、バス７０４を介して相互に接続されている。このバス７０４にはまた、入出力インタフェース７０５も接続されている。
【０１３７】
入出力インタフェース７０５には、キーボード、マウスなどよりなる入力部７０６、ＬＣＤ(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部７０７、ハードディスクなどより構成される記憶部７０８、モデム、ＬＡＮカードなどのネットワークインタフェースカードなどより構成される通信部７０９が接続されている。通信部７０９は、インターネットを含むネットワークを介しての通信処理を行う。
【０１３８】
入出力インタフェース７０５にはまた、必要に応じてドライブ７１０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア７１１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部７０８にインストールされる。
【０１３９】
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、インターネットなどのネットワークや、リムーバブルメディア７１１などからなる記録媒体からインストールされる。
【０１４０】
なお、この記録媒体は、図１３に示される、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フロッピディスク（登録商標）を含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク（MD（Mini-Disk）（登録商標）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア７１１により構成されるものだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているＲＯＭ７０２や、記憶部７０８に含まれるハードディスクなどで構成されるものも含む。
【０１４１】
なお、本明細書において上述した一連の処理は、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１４２】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０１４３】
なお、本技術は以下のような構成も取ることができる。
【０１４４】
（１）
メモリの第１の記憶領域に記憶されたアドレス変換テーブルを、前記第１の記憶領域以外の記憶領域にコピーして保存するテーブル保存部と、
前記保存されたアドレス変換テーブルを前記メモリの第１の記憶領域にコピーすることで、保存時点の前記アドレス変換テーブルを復旧させるテーブル復旧部と、
前記アドレス変換テーブルが保存された後、アドレス変換テーブル上で物理アドレスと対応付けられた仮想アドレスのデータの書き換え要求があった場合、
前記仮想アドレスに対応づける物理アドレスを変更し、変更後の物理アドレスに対応する記憶領域に前記書き換え後のデータを記憶させる書き換え制御部と
を備える情報処理装置。
（２）
前記アドレス変換テーブルは、アプリケーションプログラム毎に生成され、
実行されるアプリケーションプログラムを特定して前記テーブル復旧部に通知するプログラム通知部をさらに備え、
前記テーブル復旧部は、アプリケーションプログラムが実行される時点で、前記アプリケーションプログラムに対応する前記アドレス変換テーブルが保存されている場合、前記保存時点の前記アドレス変換テーブルを復旧させる
（１）に記載の情報処理装置。
（３）
前記プログラム通知部は、さらに、前記アプリケーションプログラムの実行の終了を検知して前記書き換え制御部に通知し、
前記書き換え制御部は、前記アプリケーションプログラムの実行の終了が通知された場合、前記変更後の物理アドレスに対応する記憶領域に記憶された前記書き換え後のデータを消去する
（２）に記載の情報処理装置。
（４）
アプリケーションプログラムが実行されるとき、前記アプリケーションプログラムが過去に実行されたか否かを表す情報を、前記テーブル復旧部に通知する実行有無情報通知部をさらに備え、
前記テーブル復旧部は、
前記アプリケーションプログラムが過去に実行されたか否かを表す情報が通知された場合、前記アドレス変換テーブルを復旧させる
（２）に記載の情報処理装置。
（５）
前記メモリが不揮発性メモリである
（１）乃至（４）のいずれかに記載の情報処理装置。
（６）
前記メモリに電力を供給するメモリ保持部をさらに備え、
前記メモリが揮発性メモリである
（１）乃至（５）のいずれかに記載の情報処理装置。
（７）
前記テーブル保存部は、
前記アドレス変換テーブルを所定の時間間隔で保存する
（１）乃至（６）のいずれかに記載の情報処理装置。
（８）
前記テーブル保存部は、
アプリケーションプログラムの実行中に発生する所定のイベントが発生したとき、前記アドレス変換テーブルを保存する
（１）乃至（７）のいずれかに記載の情報処理装置。
（９）
前記テーブル保存部は、
複数の時点において、前記アドレス変換テーブルを保存し、
前記テーブル復旧部は、
前記複数の時点のアドレス変換テーブルのうち、指定された時点のアドレス変換テーブルを復旧させる
（１）乃至（８）のいずれかに記載の情報処理装置。
（１０）
前記アドレス復旧部は、
ユーザの操作に基づいて指定された時点のアドレス変換テーブルを復旧させ、
前記指定された時点のアドレス変換テーブルが保存されていない場合、前記アドレス変換テーブルの復旧ができない旨を前記ユーザに通知するメッセージの表示を制御する
（９）に記載の情報処理装置。
（１１）
テーブル保存部が、メモリの第１の記憶領域に記憶されたアドレス変換テーブルを、前記第１の記憶領域以外の記憶領域にコピーして保存し、
テーブル復旧部が、前記保存されたアドレス変換テーブルを前記メモリの第１の記憶領域にコピーすることで、保存時点の前記アドレス変換テーブルを復旧させ、
前記アドレス変換テーブルが保存された後、アドレス変換テーブル上で物理アドレスと対応付けられた仮想アドレスのデータの書き換え要求があった場合、
書き換え制御部が、前記仮想アドレスに対応づける物理アドレスを変更し、変更後の物理アドレスに対応する記憶領域に前記書き換え後のデータを記憶させるステップ
を含む情報処理方法。
（１２）
コンピュータを、
メモリの第１の記憶領域に記憶されたアドレス変換テーブルを、前記第１の記憶領域以外の記憶領域にコピーして保存するテーブル保存部と、
前記保存されたアドレス変換テーブルを前記メモリの第１の記憶領域にコピーすることで、保存時点の前記アドレス変換テーブルを復旧させるテーブル復旧部と、
前記アドレス変換テーブルが保存された後、アドレス変換テーブル上で物理アドレスと対応付けられた仮想アドレスのデータの書き換え要求があった場合、
前記仮想アドレスに対応づける物理アドレスを変更し、変更後の物理アドレスに対応する記憶領域に前記書き換え後のデータを記憶させる書き換え制御部とを備える情報処理装置として機能させる
プログラム。
【符号の説明】
【０１４５】
１０  演算処理システム，  ２１  ＣＰＵ，  ２２  ＭＭＵ，  ２３  ＲＡＭ，  ５１  アドレス変換テーブル管理部，  ５２  アドレス変換部，  ５３  メモリ割り当て管理部，  ５４  アプリケーション起動管理部，  ６１  メモリ保持部
【図１】
2013257679.tif 000003
【図２】
2013257679.tif 000004
【図３】
2013257679.tif 000005
【図４】
2013257679.tif 000006
【図５】
2013257679.tif 000007
【図６】
2013257679.tif 000008
【図７】
2013257679.tif 000009
【図８】
2013257679.tif 000010
【図９】
2013257679.tif 000011
【図１０】
2013257679.tif 000012
【図１１】
2013257679.tif 000013
【図１２】
2013257679.tif 000014
【図１３】
2013257679.tif 000015