(57)【要約】【課題】読み出し専用データを主記憶装置上で書き換えて動作するコンピュータシステムに好適な、退避データ量を削減することができるメモリ管理システムの提供。【解決手段】メモリ管理システムは、データ退避手段及びデータ復元手段として、差分抽出・復元処理部４を備える。差分抽出・復元処理部４は、スワップアウト要求が発生した際に、所定のページ置換アルゴリズムによって決定された退避対象の部分データ１２と、部分データ１２に対応する読み出し専用データとの差分データ３２を抽出し、読み出し専用データ及びその差分発生位置を示す識別子３１とともにスワップデバイス３に書き出す処理を行う。スワップイン要求が発生した際は、差分抽出・復元処理部４は、スワップデバイス３に書き出した差分データ３２と、識別子３１によって特定される読み出し専用データとから、部分データ１２を復元する。【選択図】図１
2008140236.tif 000002
【特許請求の範囲】
【請求項１】
読み出し専用データを読み出し、主記憶装置上で書き換えて動作するコンピュータのメモリ管理システムであって、
所定の置換アルゴリズムによって決定された退避対象のデータと、該データに対応する読み出し専用データとの差分データを抽出し、所定の退避領域に書き出すデータ退避手段と、
前記退避領域に書き出した差分データと、該差分データに対応する前記読み出し専用データとから、主記憶装置に復元すべきデータを復元するデータ復元手段と、を備えたこと、
を特徴とするメモリ管理システム。
【請求項２】
前記データ退避手段は、前記差分データとともに、前記読み出し専用データのうち当該差分データを適用すべき部分を示す識別子情報を書き出し、
前記データ復元手段は、前記識別子情報に基づいて、差分データを適用して主記憶装置に復元すべきデータを復元すること、
を特徴とする請求項１に記載のメモリ管理システム。
【請求項３】
前記データ退避手段は、前記差分データを所定の圧縮方式で圧縮してから前記所定の退避領域に書き出し、
前記データ復元手段は、前記所定の退避領域に書き出された圧縮済み差分データから復元した差分データと、該差分データに対応する前記読み出し専用データとから、前記主記憶装置に復元すべきデータを復元すること、
を特徴とする請求項１又は２に記載のメモリ管理システム。
【請求項４】
主記憶装置に、前記所定の退避領域として用いる退避専用領域が設けられていること、
を特徴とする請求項１乃至３いずれか一に記載のメモリ管理システム。
【請求項５】
請求項１乃至４いずれか一に記載のメモリ管理システムを搭載した情報処理装置。
【請求項６】
読み出し専用データを読み出し、主記憶装置上で書き換えて動作するコンピュータにおけるメモリ管理方法であって、
前記コンピュータが、所定の置換アルゴリズムによって決定された退避対象のデータと、該データに対応する読み出し専用データとの差分データを抽出し、所定の退避領域に書き出すステップと、
前記コンピュータが、前記所定の退避領域に書き出した差分データと、該差分データに対応する前記読み出し専用データとから、主記憶装置に復元すべきデータを復元するステップと、を含むこと、
を特徴とするメモリ管理方法。
【請求項７】
前記コンピュータは、前記差分データとともに、前記読み出し専用データのうち当該差分データを適用すべき部分を示す識別子情報を書き出しておき、該識別子情報に基づいて、差分データを適用して主記憶装置に復元すべきデータを復元すること、
を特徴とする請求項６に記載のメモリ管理方法。
【請求項８】
前記コンピュータは、前記差分データを所定の圧縮方式により圧縮してから、前記所定の退避領域に書き出し、前記所定の退避領域に書き出された圧縮済み差分データから復元した差分データと、該差分データに対応する前記読み出し専用データとから、前記主記憶装置に復元すべきデータを復元すること、
を特徴とする請求項６又は７に記載のメモリ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ管理システム、情報処理装置及びメモリ管理方法に関し、特に、携帯電話、カーナビゲーションシステム、各種情報家電等の組み込み系コンピュータシステムに好適に適用されるメモリ管理システム、これを備えた情報処理装置及びメモリ管理方法に関する。
【背景技術】
【０００２】
特許文献１に、タスクからのメモリ領域確保要求に基づいて、ページ単位でのスワップアウト又はタスク単位でのスワップアウトを選択して実行する仮想メモリシステムが開示されている。
【０００３】
また例えば、特許文献２には、各ページのアクセス／非アクセス表示ビットフラグによるＬＲＵ（Least  Recently  Used）方式ではなく、各ページのアクセス履歴を記録したマルチビットベクトルの評価を行い、例えば、最もアクセス回数の少ないページをスワップアウトすることにより、スワップフォールトを低減する技術が開示されている。
【０００４】
【特許文献１】特開２００１−２１６１８５号公報
【特許文献２】特開平６−８９２２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
携帯電話、カーナビゲーションシステム、各種情報家電等の組み込み系コンピュータシステムでは、予めＲＯＭやフラッシュメモリに書き込まれた読み出し専用ソフトウェアを、主記憶装置上で必要に応じて書き換えて動作することが通常である。上記の動作の過程で、データセクションに何らかの変更が行われた場合、当該変更に係るデータはプライベートデータとして取り扱われ、スワップアウトの際にはそのデータを含むページの内容がスワップデバイスに書き出される。
【０００６】
上記携帯電話、カーナビゲーションシステム、各種情報家電等の組み込み系コンピュータシステムは一般に、主記憶装置はもちろん、上記スワップデバイスとして用いられるストレージの容量も限られているため、スワップアウト時のデータ量を削減することが求められている。
【０００７】
しかしながら、上記スワップアウト時のデータ量は、無圧縮で書き出す場合にはスワップ対象範囲に等しく、また、圧縮して記録する方式を採る場合でも、そのページ内のデータのみを参照して圧縮を行う関係上、圧縮率にも一定の限界がある。
【０００８】
本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、上記スワップアウト時のデータ量を削減することができ、上記組み込み系コンピュータシステムに好適に適用できるメモリ管理システム及びメモリ管理方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の第１の視点によれば、読み出し専用データを読み出し、主記憶装置上で書き換えて動作するコンピュータのメモリ管理システムであって、所定のページ置換アルゴリズムによって決定された退避対象のデータと、該データに対応する読み出し専用データとの差分データを抽出し、所定の退避領域に書き出すデータ退避手段と、前記退避領域に書き出した差分データと、該差分データに対応する前記読み出し専用データとから、主記憶装置に復元すべきデータを復元するデータ復元手段と、を備えたこと、を特徴とするメモリ管理システム及び該メモリ管理システムを搭載した情報処理装置が提供される。
【００１０】
本発明の第２の視点によれば、読み出し専用データを読み出し、主記憶装置上で書き換えて動作するコンピュータにおけるメモリ管理方法であって、前記コンピュータが、所定のページ置換アルゴリズムによって決定された退避対象のデータと、該データに対応する読み出し専用データとの差分データを抽出し、所定の退避領域に書き出すステップと、前記コンピュータシステムが、前記所定の退避領域に書き出した差分データと、該差分データに対応する前記読み出し専用データとから、主記憶装置に復元すべきデータを復元するステップと、を含むこと、を特徴とするメモリ管理方法が提供される。
【発明の効果】
【００１１】
本発明によれば、スワップアウト時のデータ量を削減し、スワップ領域を効率よく利用することが可能となる。その理由は、スワップアウトに当たって、スワップ対象データと、読み出し専用データとの差分のみを退避対象とするよう構成したことにある。
【発明を実施するための最良の形態】
【００１２】
続いて、本発明を実施するための最良の形態について図面を参照して詳細に説明する。図１は、本発明の第１の実施形態に係るメモリ管理システムの概略構成を表した図である。図１を参照すると、主記憶装置１と、読み込み専用ファイルシステム（以後「ＦＳ」と称す）２と、ストレージデバイス等によって構成されたスワップデバイス３と、データ退避手段及びデータ復元手段として機能する差分抽出・復元処理部４とが示されている。
【００１３】
ＦＳ２上のファイル２０は、主記憶装置１に読み出されると、ページ単位に分割された部分データ１２及び部分データ１２毎に付与された識別子１１で管理される。識別子１１は、元となるファイル（ＦＳ２上のファイル２０）とファイル内オフセットを示す情報であり、ＦＳ２上のファイル２０及び部分データ１２の差分を求める際に使用される。部分データ１２は、主記憶装置１に読み込まれた任意サイズの１ページ分のデータを表している。
【００１４】
スワップデバイス３は、スワップデータ３０を記録するデバイスであり、スワップデータ３０は、元となるファイル（ＦＳ２上のファイル２０）とファイル内オフセット（差分発生位置）を示す情報を示す識別子３１と、ＦＳ２上のファイル２０及び主記憶装置１上の部分データ１２の差分データ３２と、から構成される。
【００１５】
続いて、図１を参照して本実施形態の動作について、ＦＳ２からファイル２０を読み込み、そのデータを主記憶装置１上で変更し、その後スワップデバイス３へ書き出し（スワップアウト）、続いてスワップデバイス３から読み込み（スワップイン）を行うまでの一連の動作について説明する。
【００１６】
まず、ＦＳ２のファイル２０が主記憶装置１に読み込まれる。ファイル２０が主記憶装置１に読み込まれた直後は、各部分データ１２は、ファイル２０の対応部分と全く同一の内容を有している。
【００１７】
その後、プログラムの動作等により、部分データ１２の内容が変更されると、部分データ１２は、プライベートなデータとして取り扱われる。
【００１８】
その後さらに、メモリ不足などにより、部分データ１２をスワップデバイス３に書き出す必要が生じた際には、部分データ１２は識別子１１とともに、差分抽出・復元処理部４に渡される。差分抽出・復元処理部４は、識別子１１から特定されるファイル２０の対応部分を読み込み、部分データ１２と比較し差分データ３２の抽出を行う。
【００１９】
差分抽出・復元処理部４は、抽出した差分データ３２に識別子３１を付したスワップデータ３０を、スワップデバイス３に書き出す。
【００２０】
その後、スワップデバイス３に書き出したスワップデータ３０を読み出す必要が生じた際には、差分抽出・復元処理部４は、スワップデータ３０内の識別子３１から元となるファイル２０内の対応部分を特定し、当該ファイル２０内の該当部分に差分データ３２を適用することで部分データ１２を復元する。
【００２１】
以上説明したように、本発明によれば、スワップデバイス３に必要とされる容量を削減できる。その理由は、スワップデバイス３に書き出す際にプライベートデータの元となったデータ（ファイル２０）との差分を取り退避対象データの冗長性を削減することで、スワップデバイスに書き出すべきデータ量を削減できるためである。
【００２２】
なお理論的には、すべての部分データ１２の全部分が変更されていた場合、差分データ３２は、部分データ１２と同等のデータ量となるが、これは最悪のケースである。一般的には、全部分を変更するようなことは少ないため、データ量の大幅な削減が期待できる。
【００２３】
もちろん、差分データのデータ量をより削減する観点からは、上記差分データの抽出後、任意の圧縮方式を用いて、圧縮・差分データを作成し、スワップデバイス３に書き込むこととしてもよい。この場合において、スワップデータ３０を読み出す必要が生じた際には、差分抽出・復元処理部４は、上記圧縮方式を用いた復元（解凍）操作を行ってから、識別子３１によって特定される対応部分への適用を行うこととなる。
【００２４】
続いて、上記本発明の第１の実施形態のデータ退避先に変更を加えた本発明の第２の実施形態について説明する。図２は、本発明の第２の実施形態に係るメモリ管理システムの概略構成を表した図である。図２を参照すると、本実施形態の基本的構成は上記第１の実施形態（図１参照）と同様であるが、主記憶装置１内に、図１のスワップデバイス３に相当するスワップ領域１３を設けた構成となっている。
【００２５】
本実施形態によれば、スワップデータ１３０は、外部のスワップデバイス３に書き出すのではなく、主記憶装置１内のスワップ領域１３に格納される。
【００２６】
本実施形態によれば、スワップデバイス３が不要となることはもちろんとして、スワップデータ１３０中の差分データ１３２のサイズを部分データ１２よりも小さくできるため、差分を取らない構成と比較して主記憶装置１の使用量をより削減することが可能となる。
【００２７】
以上、本発明の各実施形態について説明したが、本発明の技術的範囲は、上述した各実施の形態の記載に限定されるものではなく、適用される情報処理装置の仕様等に応じて、各種の変形を加えることが可能である。
【図面の簡単な説明】
【００２８】
【図１】本発明の第１の実施形態に係るメモリ管理システムの概略構成を表した図である。
【図２】本発明の第２の実施形態に係るメモリ管理システムの概略構成を表した図である。
【符号の説明】
【００２９】
１  主記憶装置
２  読み込み専用ファイルシステム
３  スワップデバイス  
４  差分抽出・復元処理部
１１、３１、１３１  識別子
１２  部分データ
１３  スワップ領域
２０  ファイル
３０、１３０  スワップデータ
３２、１３２  差分データ
【図１】
2008140236.tif 000003
【図２】
2008140236.tif 000004