JP2008112332A - メモリ管理装置 - Google Patents

メモリ管理装置 Download PDF

Info

Publication number
JP2008112332A
JP2008112332A JP2006295267A JP2006295267A JP2008112332A JP 2008112332 A JP2008112332 A JP 2008112332A JP 2006295267 A JP2006295267 A JP 2006295267A JP 2006295267 A JP2006295267 A JP 2006295267A JP 2008112332 A JP2008112332 A JP 2008112332A
Authority
JP
Japan
Prior art keywords
memory
values
value
virtual memory
physical memory
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.)
Granted
Application number
JP2006295267A
Other languages
English (en)
Other versions
JP4715723B2 (ja
Inventor
Takayuki Shigehashi
敬之 重橋
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2006295267A priority Critical patent/JP4715723B2/ja
Publication of JP2008112332A publication Critical patent/JP2008112332A/ja
Application granted granted Critical
Publication of JP4715723B2 publication Critical patent/JP4715723B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】仮想メモリに対する物理メモリを効率的に使用し、処理の高速化を図ることができるメモリ管理装置を提供すること。
【解決手段】仮想メモリVに対する物理メモリ3の割り当て制御を行うメモリ管理装置1であって、仮想メモリVに保持する値が、少なくとも1以上の値からなる代表値が連続する規則的な配列であるか否かを判断する判断手段4と、判断手段4により仮想メモリVに保持する値が規則的な配列であると判断された場合に、仮想メモリV上の代表値にのみ物理メモリ3を割り当てる割当手段5と、を備えた。
【選択図】図1

Description

本発明は、メモリ管理装置にかかり、特に、仮想メモリ制御機能を備えたメモリ管理装置に関する。
従来より、仮想メモリ制御機能を備えるメモリ管理装置において、オペレーティングシステム上でソフトウェアを動作させる際に、ソフトウェアが動的に仮想メモリ確保を実施し、このメモリ領域にアクセスした場合には、仮想メモリに同サイズ(容量)の物理メモリが割り当てられていた。
特開2000−285019号公報 特許第2636484号公報
しかしながら、アクセスの種類によっては、物理メモリを割り当てる必要がない場合があり、このような場合に、仮想メモリと同サイズの物理メモリを割り当ててしまうと、物理メモリの使用量の増加により使用効率が低下し、物理メモリの更なる効率化を図ることができない、という問題が生じる。
また、キャッシュメモリを制御する制御回路の構成としては、特許文献1に示すような構成がある。この特許文献1に示す制御回路は、キャッシュデータを登録するキャッシュデータ部と、キャッシュデータ部に登録されているアドレス情報を登録するアドレスキャッシュ部と、キャッシュ書き込みデータのチェックを行い、この書き込みデータの全てが「0」もしくは「1」といった固定データであるか否かの判定を行うデータチェック部と、を備え、キャッシュの書き込み及び読み出し時間の短縮を図っている。
具体的には、キャッシュへの書き込み時に、データチェック部が、キャッシュ書き込みデータのチェックを行い、このデータが固定データであった場合には、データキャッシュ部へのデータ登録を行わず、アドレスキャッシュ部に、データを圧縮した固定データフラグの登録を行う。また、キャッシュからの読み出し時には、アドレスキャッシュ部に登録されている固定データフラグから、圧縮前のデータに伸張したデータを、キャッシュ読み出しデータとして転送する。
しかしながら、特許文献1に示した制御回路は、キャッシュの書き込み及び読み出し時間の短縮を図るものであるため、オペレーティングシステム上でソフトウェアを動作させる際にソフトウェアが動的に仮想メモリ確保を実施し、このメモリ領域にアクセスする場合には、依然として、仮想メモリと同サイズの物理メモリが割り当てられてしまう。したがって、物理メモリの効率化を図ることができず、処理の更なる高速化を図ることができない、という問題が生じる。
また、実メモリを再使用し易い状態で管理することができる構成としては、特許文献2に示すような構成がある。この特許文献2では、不要なバッファプールに対して、実メモリを再使用し易い状態で管理し、必要なときに、実メモリが固定状態のバッファを獲得できるよう、実メモリ割当装置と、実メモリ棄却装置と、バッファプール管理装置と、が設けられている。
具体的には、実メモリ棄却装置が、ユーザプログラムから返却され不要となったバッファに対して、参照/更新ビットをオフにする。そして、ユーザプログラムからのバッファ獲得要求があり、この獲得要求に応じて、バッファプール管理装置がバッファをプールから切り出す。このとき、切り出したバッファに実メモリが割り当てられていない場合には、実メモリ割当装置に実メモリの割当要求を送出する。そして、この割当要求を受けた実メモリ割当装置は、自己の管理している空き状態の実メモリを割り当てるが、自己の確保している空き状態の実メモリが無くなった時には、仮想メモリに割り当てられている(参照/更新ビットがオフとなっている)実メモリを奪ってバッファプール管理装置に渡す。すると、バッファプール管理装置が、実メモリを要求のあった論理アドレス空間に割り当て、ページテーブル上の該当エントリのバリッドビットをオンとするように動作する。
しかしながら、特許文献2に示した構成は、実メモリを再使用し易い状態で管理するものであり、オペレーティングシステム上でソフトウェアを動作させる際にソフトウェアが動的に仮想メモリ確保を実施し、このメモリ領域にアクセスする場合には、依然として、仮想メモリと同サイズの物理メモリが割り当てられてしまう。したがって、物理メモリの効率化を図ることができず、処理の更なる高速化を図ることができない、という問題が生じる。
このため、本発明では、上記従来例の有する不都合を改善し、特に、仮想メモリに対する物理メモリを効率的に使用し、処理の高速化を図ることができるメモリ管理装置を提供すること、をその目的とする。
そこで、本発明の一形態であるメモリ管理装置は、仮想メモリに対する物理メモリの割り当て制御を行うメモリ管理装置であって、仮想メモリに保持する値が、少なくとも1以上の値からなる代表値が連続する規則的な配列であるか否かを判断する判断手段と、判断手段により仮想メモリに保持する値が規則的な配列であると判断された場合に、仮想メモリ上の代表値にのみ物理メモリを割り当てる割当手段と、を備えた、ことを特徴としている。また、メモリ管理装置は、仮想メモリに保持する値のいずれかが参照された時に、割当手段により割り当てられた物理メモリの代表値を使用する読出手段を備えた、ことを特徴としている。
かかる構成によると、まず、仮想メモリが複数の値を保持している場合に、判断手段により、仮想メモリに保持する値が規則的な配列であるか否かの判断が行われる。そして、仮想メモリに保持する値が規則的な配列である場合には、割当手段により、仮想メモリ上の代表値にのみ物理メモリが割り当てられる。そして、仮想メモリに保持する値のいずれかが参照された時に、割当手段により割り当てられた物理メモリの代表値を使用することで、仮想メモリと同サイズの値を読み出すことができる。これにより、仮想メモリと同サイズ(容量)の物理メモリを割り当てることなく、仮想メモリに保持する値を全て物理メモリに格納することができる。したがって、物理メモリの使用量の減少を図り、物理メモリを効率的に使用して、処理の高速化を図ることができる。
そして、判断手段は、仮想メモリに対する書き込み時に、仮想メモリに保持する値が規則的な配列であるか否かを判断する、ことを特徴としている。
かかる構成によると、仮想メモリを確保した時点では物理メモリは割り当てられず、仮想メモリに対する書き込み時に初めて仮想メモリ上の代表値に物理メモリが割り当てられる。これにより、仮想メモリに対して書き込みが必要となるまで物理メモリの確保を抑制することができると共に、書き込みが必要となったときには、物理メモリの使用量の減少を図り、物理メモリを効率的に使用することができる。
また、割当手段は、判断手段により仮想メモリに保持する値が規則的な配列でないと判断された場合に、仮想メモリに保持する値の全てに物理メモリを割り当てる、ことを特徴としている。
かかる構成によると、仮想メモリに保持する値が規則的な配列でない場合には、仮想メモリに保持する値の全てに物理メモリが割り当てられる。したがって、例えば、仮想メモリ上の代表値にのみ物理メモリが割り当てられた後に、仮想メモリに保持する値が更新され、仮想メモリに保持する値が規則的な配列でなくなった場合に、仮想メモリと同サイズの物理メモリが割り当てられる。これにより、仮想メモリに保持する値が更新され規則的な配列でないものとなっても、仮想メモリに物理メモリを割り当てることができる。
そして、割当手段は、代表値が1つの値である場合に、代表値である1つの値にのみ物理メモリを割り当てる、ことを特徴としている。
これにより、判断手段によって仮想メモリに保持する値が規則的な配列であると判断され、この仮想メモリに保持する値が全て同じ値からなり、代表値が1つの値である場合に、代表値である1つの値にのみ物理メモリが割り当てられるため、仮想メモリに対して物理メモリの使用量を減少させることができる。したがって、物理メモリを効率的に使用し、処理の高速化を図ることができる。
また、割当手段は、代表値が2以上の値である場合に、代表値である2以上の値に物理メモリを割り当てる、ことを特徴としている。
これにより、判断手段によって仮想メモリに保持する値が規則的な配列であると判断され、この仮想メモリに保持する値が、2以上の値からなる代表値を連続するものである場合に、割当手段が、2以上からなる代表値に物理メモリを割り当てる。したがって、仮想メモリに対して物理メモリの使用量を減少させることができる。さらに、物理メモリを効率的に使用し、処理の高速化を図ることができる。
さらに、本発明は、上述したメモリ管理装置を備えた情報処理装置である、ことを特徴としている。
これにより、情報処理装置の物理メモリの使用量を少なくすることができるため、情報処理装置における物理メモリを効率的に使用し、処理の高速化を図ることができる情報処理装置を提供することができる。
また、本発明は、上述したメモリ管理装置を備えた携帯電話機である、ことを特徴としている。
これにより、携帯電話機の物理メモリの使用量を少なくすることができるため、実装メモリの少ない携帯電話機における物理メモリを効率的に使用し、処理の高速化を図ることができる携帯電話機を提供することができる。
さらに、本発明の他の形態であるメモリ管理方法は、制御装置にて、仮想メモリに対する物理メモリの割り当て制御を行うメモリ管理方法であって、仮想メモリに保持する値が、少なくとも1以上の値からなる代表値が連続する規則的な配列であるか否かを判断する判断工程と、判断工程により仮想メモリに保持する値が規則的な配列であると判断された場合に、仮想メモリ上の代表値にのみ物理メモリを割り当てる割当工程と、を有することを特徴としている。
また、割当工程の後に、仮想メモリに保持する値のいずれかが参照された時に、割当工程により割り当てられた物理メモリの代表値を使用する読出工程を有する、ことを特徴としている。
そして、判断工程は、仮想メモリに対する書き込み時に、仮想メモリに保持する値が規則的な配列であるか否かを判断する、ことを特徴としている。また、判断工程と割当工程とを繰り返し、所定の割当工程は、直前の判断工程により仮想メモリに保持する値が規則的な配列ではないと判断された場合に、仮想メモリに保持する値の全てに物理メモリを割り当てる、ことを特徴としている。
さらに、割当工程は、代表値が1つの値である場合に、代表値である1つの値にのみ物理メモリを割り当てる、ことを特徴としている。そして、割当工程は、代表値が2以上の値である場合に、代表値である2以上の値に物理メモリを割り当てる、ことを特徴としている。
さらに、本発明の他の形態であるプログラムは、仮想メモリに対する物理メモリの割り当て制御を行う制御装置に、仮想メモリに保持する値が、少なくとも1以上の値からなる代表値が連続する規則的な配列であるか否かを判断する判断手段と、判断手段により仮想メモリに保持する値が規則的な配列であると判断された場合に、仮想メモリ上の代表値にのみ物理メモリを割り当てる割当手段と、を実現させることを特徴としている。
なお、上記構成の方法及びプログラムであっても、上述したメモリ管理装置と同様に作用するため、上記本発明の目的を達成することができる。
本発明は、以上のように構成され機能するので、これによると、仮想メモリに対して物理メモリの使用量を減少させることができ、物理メモリを効率的に使用して、処理の高速化を図ることができる、という従来にない優れた効果を有する。
本発明であるメモリ管理装置は、仮想メモリに保持する値が、少なくとも1以上の値からなる代表値が連続する規則的な配列である場合に、仮想メモリ上の代表値にのみ物理メモリを割り当てる、ことに特徴を有する。以下、具体的な構成及び作用を、実施例を参照して説明する。
本発明の第1の実施例を、図1乃至図7を参照して説明する。図1は、本実施例におけるメモリ管理装置の構成を示すブロック図である。図2乃至図3は、本実施例における仮想メモリ及び物理メモリの関係を説明する説明図である。図4乃至図7は、メモリ管理装置の動作を示すフローチャートである。
[構成]
本発明におけるメモリ管理装置は、例えば、携帯電話1に実装されている。そして、この携帯電話1は、内部にCPU2と、物理メモリ3と、を備えている。
物理メモリ3は、例えば、RAM(Random Access Memory)であり、後述するCPU2によりデータが直接読み書きされる。そして、物理メモリ3は、後述するように、ソフトウェアにより確保された仮想メモリVに保持する値に応じて、物理メモリ制御処理部5により判定フラグP、代表値P、空き領域P及び値P1乃至値PNの領域が確保される。
仮想メモリVは、ハードディスク(図示せず)などを物理メモリ3の代用として利用するOS(Operating System)の機能により仮想的に確保されるメモリ領域である。この仮想メモリVは、ソフトウェアによりN個の値が確保されたとき、図2乃至図3に示すように、後述する判定フラグV及び値V1乃至値VNの領域が確保される。
CPU2(制御装置)は、データの演算や転送などの処理を実行し、その処理結果をレジスタ(図示せず)や物理メモリ3に保持するものであり、携帯電話1の内部に備えられている。そして、プログラムが組み込まれることによって、要素判断処理部4と、物理メモリ制御処理部5と、が構築されている。
要素判断処理部4(判断手段)は、仮想メモリVに対する書き込み時に、仮想メモリVに保持する値が、一定の規則性を持った値(規則的な配列)であるか否かを判断するものである。本実施例では、仮想メモリVに保持する値が、全て同じ値である場合(例えば、000…)に、一定の規則性を持った値であると判断されるものとする。そして、要素判断処理部4による判断結果が後述する物理メモリ制御処理部5に送られる。また、仮想メモリVに保持する値が、ソフトウェアにより更新された場合にも、更新された値が、全て同じ値であるか否かの判断がされる。これにより、仮想メモリVに対して書き込みが必要となるまで物理メモリ3の確保を抑制することができると共に、書き込みが必要となったときには、物理メモリ3の使用量を減少させることで、物理メモリ3を効率的に使用して、処理の高速化を図ることができる。
物理メモリ制御処理部5(割当手段、読出手段)は、要素判断処理部4から送られる判断結果に基づいて、後述するように、判定フラグV及び判定フラグPに、「有効」又は「無効」の設定を行い、さらに、値V1乃至値VNに対して、代表値P又は値P1乃至値PNの領域を割り当てるものである。例えば、要素判断処理部4により、仮想メモリVに保持する値が、全て同じ値であると判断された場合に、判定フラグV及び判定フラグPを「有効」に設定し、仮想メモリVが保持する値の代表値にのみ、代表値Pの領域を割り当てる。具体的には、仮想メモリVに保持する値が、000…である場合には、代表値である1つの値の「0」にのみ、代表値Pの領域を割り当てる。また、この物理メモリ制御処理部5は、ソフトウェアにより、仮想メモリV上の値V1乃至値VNのいずれかが参照された場合には、物理メモリ3の代表値Pの値を読み出す。
判定フラグVは、ソフトウェアによりN個の値が確保されたときに、仮想メモリV上に確保される領域であって、後述する判定フラグPと同サイズのメモリ空間である。そして、物理メモリ制御処理部5により、「有効」又は「無効」のいずれかの値が設定される。具体的には、要素判断処理部4によって、仮想メモリVに保持する値が、全て同じ値であると判断された場合には、判定フラグVが「有効」に設定され、全て同じ値ではないと判断された場合には、判定フラグVが「無効」に設定される。
判定フラグPは、物理メモリ制御処理部5により物理メモリ3に確保される領域であり、判定フラグVに割り当てるものである。そして、判定フラグVと同様、物理メモリ制御処理部5によって「有効」又は「無効」のいずれかの値が設定される。
値V1乃至値VNは、仮想メモリV上の領域である。そして、OS上で動作するソフトウェアが、N個の値を仮想メモリV上に確保したときに、図2乃至図3に示すように値V1乃至値VNの領域が確保され、仮想メモリV上に確保したN個の値が、値V1乃至値VNに設定される。
値P1乃至値PNは、図3に示すように、物理メモリ3の領域であり、値V1乃至値VNに対して割り当てるものである。そして、この値P1乃至値PNは、OS上で動作するソフトウェアが、全て同じ値ではないN個の値を、仮想メモリV上に確保したときに、物理メモリ制御処理部5により物理メモリ3に確保される。また、ソフトウェアにより仮想メモリVに保持する値が更新され、全て同じ値ではなくなった場合にも、メモリ制御処理部5によって、値P1乃至値PNの領域が確保される。
代表値Pは、図2に示すように、物理メモリ3の領域であり、仮想メモリVに保持する値の代表値に対して割り当てるものである。ここで、代表値は、仮想メモリV上に確保した値が全て同じ値である場合の、1の値である。例えば、仮想メモリV上に確保した値が、000…、である場合の「0」が代表値である。
空き領域Pは、物理メモリ3上で、仮想メモリVに対して割り当てられていない領域である。
[動作]
次に、上記構成の携帯電話1の動作を、図4を参照して説明する。まず、仮想メモリ制御機能を備えた携帯電話1上で、ソフトウェアが起動され(ステップS1)、このソフトウェアが、N個の値を仮想メモリV上に確保する(ステップS2)。すると、図2に示すように、仮想メモリVに、判定フラグV及び値V1乃至値VNの領域が確保される。そして、仮想メモリVに対する書き込みが発生したとき、この書き込み発生の情報を受けた要素判断処理部4によって、仮想メモリVに保持する値が全て同じ値(規則的な配列)であるか否かの判断が行われ(判断工程)、この判断結果が物理メモリ制御処理部5に送られる。
このとき、仮想メモリVに保持する値が、全て同じ値であると判断された場合には(ステップS3にて肯定判断)、物理メモリ制御処理部5により、判定フラグVが「有効」に設定されると共に(ステップS4)、値V1乃至値VNに同じ値が設定される。そして、判断結果を受けた物理メモリ制御処理部5は、図2に示すように、物理メモリ3に、判定フラグP、代表値Pの領域を確保する。さらに、物理メモリ制御処理部5は、判定フラグVに対して、判定フラグPの領域を割り当て、仮想メモリV上の代表値である値V1に対して、物理メモリ3の代表値Pの領域を割り当てる(ステップS5、割当工程)。ここで、判定フラグV及び判定フラグPが「有効」のときは、仮想メモリV上の値V2乃至値VNに対して、物理メモリ3を割り当てられることはない。したがって、仮想メモリVに対する物理メモリ3の使用量を、空き領域Pの分だけ減少させることができるため、物理メモリ3を効率的に使用することができる。
ここで、要素判断処理部4により、仮想メモリVに確保された値が、全て同じ値でないと判断された場合には(ステップS3にて否定判断、判断工程)、物理メモリ制御処理部5により、判定フラグVが「無効」に設定され(ステップS6)、仮想メモリV上の値V1乃至値VNにそれぞれ値が設定される。そして、物理メモリ制御処理部5は、図3に示すように、物理メモリ3に、判定フラグP及び値P1乃至値PNの領域を確保する。さらに、物理メモリ制御処理部5は、判定フラグVに対して判定フラグPの領域を割り当てると共に、仮想メモリV上の値V1乃至値VNに対して、物理メモリ3の値P1乃至値PNの領域を割り当てる(ステップS7、割当工程)。
次に、仮想メモリV上の代表値である値V1に対して、代表値Pの領域が割り当てられた後に、ソフトウェアにより仮想メモリVに保持する値が更新された場合の動作を、図5を参照して説明する。なお、ソフトウェアによる更新がなされる前は、仮想メモリVに保持する値が全て同じ値であるため、判定フラグV及び判定フラグPは、共に「有効」に設定されているものとする。
まず、ソフトウェアによって、仮想メモリVに保持する値、具体的には、仮想メモリV上の値V1乃至値VNに設定された値が更新される(ステップS11)。すると、要素判断処理部4により、更新された値が、全て同じ値であるか否かが判断される(判断工程)。そして、この更新された値が、全て同じ値ではないと判断されると(ステップS12にて否定判断)、この判断結果を受けた物理メモリ制御処理部5により、判定フラグV及び判定フラグPが「無効」に設定変更される(ステップS13)。さらに、更新された値が、仮想メモリV上の値V1乃至値VNに設定されると共に、図3に示すように、この設定された値V1乃至値VNに対して、物理メモリ制御処理部5は、物理メモリ3の値P1乃至値PN割り当てる(ステップS14、割当工程)。
ここで、仮想メモリV上の値V1乃至値VNに設定された値が更新され、更新される前の値と別の値となったものの、更新後の値もまた、全て同じ値である場合(例えば、000…が更新されて111…となった場合)には(ステップS12にて肯定判断、判断工程)、物理メモリ制御処理部5は、仮想メモリV上の代表値である値V1に対して、物理メモリ3の代表値Pの領域を割り当てる(ステップS15、割当工程)。
続いて、仮想メモリV上の全ての値(値V1乃至値VN)に対して、物理メモリ3(値P1乃至値PN)が割り当てられた後に、ソフトウェアによって仮想メモリVが保持する値が更新され、全て同じ値となった場合の動作を、図6を参照して説明する。なお、ソフトウェアによる更新がなされる前は、仮想メモリVに保持する値が全て同じ値ではないため、判定フラグV及び判定フラグPは、共に「無効」に設定されているものとする。
まず、ソフトウェアによって、仮想メモリVに保持する値、具体的には、仮想メモリV上の値V1乃至値VNに設定された値が更新される(ステップS21)。すると、要素判断処理部4により、更新された値が全て同じ値であるか否かが判断される(判断工程)。そして、更新された値が全て同じ値であると判断されると(ステップS22にて肯定判断)、この判断結果を受けた物理メモリ制御処理部5により、判定フラグV及び判定フラグPが「有効」に設定変更される(ステップS23)。そして、仮想メモリV上の値V1乃至値VNに同じ値が設定される。すると、物理メモリ制御処理部5は、仮想メモリV上の値V1乃至値VNに対して割り当てた物理メモリ3の値P1乃至値PNを開放すると共に(ステップS24)、仮想メモリV上の代表値である値V1に対して、物理メモリ3の代表値Pの領域を割り当てる(ステップS25、割当工程)。
ここで、仮想メモリV上の値V1乃至値VNに設定された値が更新されたものの、更新後の値が全て同じ値ではない場合には(ステップS22にて否定判断、判断工程)、設定変更された全ての値に対して、物理メモリ3の値P1乃至値PNを割り当てる(ステップS26、割当工程)。
続いて、仮想メモリV上の代表値である値V1に対して、物理メモリ3の代表値Pの領域が割り当てられた場合において(割当工程)、ソフトウェアにより、仮想メモリV上の値V1乃至値VNのいずれかが参照された場合の動作を、図8を参照して説明する。まず、ソフトウェアにより、仮想メモリV上の値V1乃至値VNのいずれかの値が参照される(ステップS31)。すると、物理メモリ制御処理部5は、物理メモリ3の代表値Pの値を読み出す(ステップS32、読出工程)。
これにより、仮想メモリVに保持する値が、一定の規則性を持った値(規則的な配列)である場合に、物理メモリ3の使用量の減少を図り、物理メモリ3を効率的に使用して、処理の高速化を図ることができる。また、仮想メモリVに保持する値が更新され、一定の規則性を持った値でないものとなっても、仮想メモリVに物理メモリ3を割り当てることができる。
さらに、アクセス対象である物理メモリ3の使用量が少ないため、仮想メモリVを確保して初期値設定する際などには、高速な初期化が可能となる。また、例えば、メモリの初期化漏れによるソフトウェア動作不正を防止するために、仮想メモリV確保時に初期値設定するプログラミング手法などでは、初期値設定時点における物理メモリ3確保を、必要最小限に抑えることができるため、物理メモリ3の使用量を抑えながら、ソフトウェアによる処理の高速化を図ることができる。
なお、本実施例では、仮想メモリVに保持する値が、全て同じ値である場合(例えば、000…)に、一定の規則性を持った値であると判断されるものとしたが、これは一例であって、全て同じ値である場合に限られない。一定の規則性を持った値が、2つの値からなる代表値を連続する値である場合を、実施例2で説明するものとする。
また、本実施例では、メモリ管理装置が実装される電子機器が、携帯電話1である場合を説明したが、他の電子機器であってもよい。
次に、本発明の第2の実施例を、図4乃至図9を参照して説明する。図4乃至図7は、メモリ管理装置の動作を示すフローチャートである。図8は、本実施例におけるメモリ管理装置の構成を示すブロック図である。図9は、仮想メモリ及び物理メモリの関係を説明する説明図である。本実施例では、上述した実施例1とほぼ同様の構成を採っているが、メモリ管理装置がパーソナルコンピュータに実装されていること、及び、一定の規則性を持った値(規則的な配列)が、2つの値からなる代表値を連続するものである点で異なる。以下、図4乃至図9を参照して、実施例1と異なる構成について詳述する。
本発明におけるメモリ管理装置は、例えば、パーソナルコンピュータ6に実装されている。そして、このパーソナルコンピュータ6は、内部にCPU2と、物理メモリ3と、を備えている。
要素判断処理部4(判断手段)は、仮想メモリVに対する書き込み時に、仮想メモリVに保持する値が一定の規則性を持った値(規則的な配列)であるか否かを判断するものである。本実施例では、仮想メモリVに保持する値が、2つの値からなる代表値が連続する値である場合(例えば、010101…)に、一定の規則性を持った値であると判断される。そして、要素判断処理部4による判断結果が後述する物理メモリ制御処理部5に送られる。また、仮想メモリVに保持する値が、ソフトウェアにより更新された場合にも、更新された値が、2つの値からなる代表値が連続する値であるか否かの判断がされる。
物理メモリ制御処理部5(割当手段、読出手段)は、要素判断処理部4から送られる判断結果に基づいて、判定フラグV及び判定フラグPに、「有効」又は「無効」の設定を行うと共に、値V1乃至値VNに対して、代表値P又は値P1乃至値PNの領域を割り当てるものである。例えば、要素判断処理部4により、仮想メモリVに保持する値が、2つの値からなる代表値が連続する値であると判断された場合には、判定フラグV及び判定フラグPを「有効」に設定すると共に、仮想メモリVが保持する値の代表値にのみ、物理メモリ3を割り当てる。具体的には、仮想メモリVに保持する値が、010101…である場合には、代表値である2つの値、「01」、に物理メモリ3の代表値Pの領域を割り当てる。また、この物理メモリ制御処理部5は、ソフトウェアにより、仮想メモリV上の値V1乃至値VNのいずれかが参照された場合には、物理メモリ3の代表値Pの値を読み出す。
代表値Pは、図9に示すように、物理メモリ3の領域であり、仮想メモリVに保持する値の代表値に対して割り当てるものである。ここで、代表値は、仮想メモリV上に確保した値が、2つの値からなる代表値が連続する値である場合の、2つの値である。例えば、仮想メモリV上に確保した値が、010101…、である場合の「01」、が代表値である。
次に、上記構成のパーソナルコンピュータ6の動作を、図4を参照して説明する。まず、仮想メモリ制御機能を備えたパーソナルコンピュータ6上で、ソフトウェアが起動され(ステップS1)、このソフトウェアが、N個の値を仮想メモリV上に確保する(ステップS2)。すると、図9に示すように、仮想メモリVに判定フラグV及び値V1乃至値VNの領域が確保される。そして、仮想メモリVに対する書き込みが発生したとき、この書き込み発生の情報を受けた要素判断処理部4は、仮想メモリVに保持する値が、2つの値からなる代表値が連続する値(規則的な配列)であるか否かの判断を行い(判断工程)、この判断結果を物理メモリ制御処理部5に送る。
このとき、仮想メモリVに保持する値が、2つの値からなる代表値が連続する値であると判断された場合には(ステップS3にて肯定判断)、物理メモリ制御処理部5により、判定フラグVが「有効」に設定されると共に(ステップS4)、仮想メモリV上の値V1乃至値VNに、それぞれ値が設定される。そして、物理メモリ制御処理部5は、図9に示すように、物理メモリ3に、判定フラグP、代表値Pの領域を確保する。さらに、物理メモリ制御処理部5は、判定フラグVに対して判定フラグPの領域を割り当て、仮想メモリV上の代表値である値V1及び値V2に対して、物理メモリ3の代表値Pの領域を割り当てる(ステップS5、割当工程)。ここで、判定フラグV及び判定フラグPが「有効」のときは、仮想メモリV上の値V3乃至値VNに対して、物理メモリ3を割り当てられることはない。したがって、仮想メモリVに対する物理メモリ3の使用量を、空き領域Pの分だけ減少させることができるため、物理メモリ3を効率的に使用することができる。
ここで、要素判断処理部4により、仮想メモリVに確保された値が、2つの値からなる代表値が連続する値でないと判断された場合には(ステップS3にて否定判断、判断工程)、物理メモリ制御処理部5により、判定フラグVが「無効」に設定され(ステップS6)、仮想メモリV上の値V1乃至値VNにそれぞれ値が設定される。そして、物理メモリ制御処理部5は、図3に示すように、物理メモリ3に、判定フラグP及び値P1乃至値PNの領域を確保する。さらに、物理メモリ制御処理部5は、判定フラグVに対して判定フラグPの領域を割り当てると共に、仮想メモリV上の値V1乃至値VNに対して、物理メモリ3の値P1乃至値PNの領域を割り当てる(ステップS7、割当工程)。
次に、仮想メモリV上の代表値である値V1及び値V2に対して、物理メモリ3の代表値Pの領域が割り当てられた後に、ソフトウェアによって仮想メモリVに保持する値が更新された場合の動作を、図5を参照して説明する。なお、ソフトウェアによる更新がなされる前は、仮想メモリVに保持する値が、2つの値からなる代表値が連続する値であるため、判定フラグV及び判定フラグPは、共に「有効」に設定されているものとする。
まず、ソフトウェアによって、仮想メモリVに保持する値、具体的には、仮想メモリV上の値V1乃至値VNに設定された値が更新される(ステップS11)。すると、要素判断処理部4により、更新された値が、2つの値からなる代表値が連続する値であるか否かが判断される(判断工程)。そして、この更新された値が、2つの値からなる代表値が連続する値ではないと判断されると(ステップS12にて否定判断)、この判断結果を受けた物理メモリ制御処理部5により、判定フラグV及び判定フラグPが「無効」に設定変更される(ステップS13)。さらに、更新された値が、仮想メモリV上の値V1乃至値VNに設定されると共に、図3に示すように、この設定された値V1乃至値VNに対して、物理メモリ制御処理部5は、物理メモリ3の値P1乃至値PN割り当てる(ステップS14、割当工程)。
ここで、仮想メモリV上の値V1乃至値VNに設定された値が更新され、更新される前の値と別の値となったものの、更新後の値もまた、2つの値からなる代表値が連続する値である場合(例えば、010101…が更新されて101010…となった場合)には(ステップS12にて肯定判断、判断工程)、物理メモリ制御処理部5は、仮想メモリV上の代表値である値V1及び値V2に対して、物理メモリ3の代表値Pの領域を割り当てる(ステップS15、割当工程)。
続いて、仮想メモリV上の全ての値(値V1乃至値VN)に対して、物理メモリ3(値P1乃至値PN)が割り当てられた後に、ソフトウェアによって仮想メモリVが保持する値が更新され、2つの値からなる代表値が連続する値となった場合の動作を、図6を参照して説明する。なお、ソフトウェアによる更新がなされる前は、仮想メモリVに保持する値が全て同じ値ではないため、判定フラグV及び判定フラグPは共に「無効」に設定されているものとする。
まず、ソフトウェアによって、仮想メモリVに保持する値、具体的には、仮想メモリV上の値V1乃至値VNに設定された値が更新される(ステップS21)。すると、要素判断処理部4により、更新された値が、2つの値からなる代表値が連続する値であるか否かが判断される(判断工程)。そして、この更新された値が、2つの値からなる代表値が連続する値であると判断されると(ステップS22にて肯定判断)、この判断結果を受けた物理メモリ制御処理部5により、判定フラグV及び判定フラグPが「有効」に設定変更される(ステップS23)。そして、仮想メモリV上の値V1乃至値VNにそれぞれ値が設定される。すると、物理メモリ制御処理部5は、仮想メモリV上の値V1乃至値VNに対して割り当てた物理メモリ3の値P1乃至値PNを開放すると共に(ステップS24)、図9に示すように、仮想メモリV上の代表値である値V1及び値V2に対して、物理メモリ3の代表値Pの領域を割り当てる(ステップS25、割当工程)。
ここで、仮想メモリV上の値V1乃至値VNに設定された値が更新されたものの、更新後の値が全て同じ値ではない場合には(ステップS22にて否定判断、判断工程)、設定変更された全ての値に対して、物理メモリ3の値P1乃至値PNを割り当てる(ステップS26、割当工程)。
これにより、仮想メモリVに保持する値が、一定の規則性を持った値(規則的な配列)である場合に、物理メモリ3の使用量の減少を図り、物理メモリ3を効率的に使用して、処理の高速化を図ることができる。また、仮想メモリVに保持する値が更新され、一定の規則性を持った値でないものとなっても、仮想メモリVに物理メモリ3を割り当てることができる。
さらに、アクセス対象である物理メモリ3の使用量が少ないため、仮想メモリVを確保して初期値設定する際などには、高速な初期化が可能となる。また、例えば、メモリの初期化漏れによるソフトウェア動作不正を防止するために、仮想メモリV確保時に初期値設定するプログラミング手法などでは、初期値設定時点における物理メモリ3確保を、必要最小限に抑えることができるため、物理メモリ3の使用量を抑えながら、ソフトウェアによる処理の高速化を図ることができる。
なお、本実施例では、仮想メモリVに保持する値が、2つの値からなる代表値が連続する値(例えば、代表値01が連続する配列、010101…)である場合に、一定の規則性を持った値であると判断される場合を説明したが、これは一例であって、2以上の値からなる代表値が連続する値(例えば、代表値123が連続する配列、123123123…)などであってもよい。
また、本実施例では、メモリ管理装置がパーソナルコンピュータ6に実装されている場合を説明したが、他の電子機器であってもよい。
本発明は、仮想メモリ制御機能を備えたメモリ管理装置に利用することができ、産業上の利用可能性を有する。
実施例1におけるメモリ管理装置の構成を示すブロック図である。 実施例1における仮想メモリ及び物理メモリの関係を説明する説明図である。 仮想メモリ及び物理メモリの関係を説明する説明図である。 メモリ管理装置の動作を示すフローチャートである。 メモリ管理装置の動作を示すフローチャートである。 メモリ管理装置の動作を示すフローチャートである。 メモリ管理装置の動作を示すフローチャートである。 実施例2におけるメモリ管理装置の構成を示すブロック図である。 実施例2における仮想メモリ及び物理メモリの関係を説明する説明図である。
符号の説明
1 携帯電話(メモリ管理装置)
2 CPU(制御装置)
3 物理メモリ
4 要素判断処理部(判断手段)
5 物理メモリ制御処理部(割当手段、読出手段)
6 パーソナルコンピュータ(メモリ管理装置)

Claims (15)

  1. 仮想メモリに対する物理メモリの割り当て制御を行うメモリ管理装置であって、
    前記仮想メモリに保持する値が、少なくとも1以上の値からなる代表値が連続する規則的な配列であるか否かを判断する判断手段と、
    この判断手段により前記仮想メモリに保持する値が規則的な配列であると判断された場合に、当該仮想メモリ上の前記代表値にのみ前記物理メモリを割り当てる割当手段と、を備えた、
    ことを特徴とするメモリ管理装置。
  2. 前記メモリ管理装置は、前記仮想メモリに保持する値のいずれかが参照された時に、前記割当手段により割り当てられた前記物理メモリの前記代表値を使用する読出手段を備えた、ことを特徴とする請求項1記載のメモリ管理装置。
  3. 前記判断手段は、前記仮想メモリに対する書き込み時に、当該仮想メモリに保持する値が規則的な配列であるか否かを判断する、ことを特徴とする請求項1又は2記載のメモリ管理装置。
  4. 前記割当手段は、前記判断手段により前記仮想メモリに保持する値が規則的な配列でないと判断された場合に、当該仮想メモリに保持する値の全てに前記物理メモリを割り当てる、ことを特徴とする請求項3記載のメモリ管理装置。
  5. 前記割当手段は、前記代表値が1つの値である場合に、当該代表値である1つの値にのみ前記物理メモリを割り当てる、ことを特徴とする請求項1,2,3又は4記載のメモリ管理装置。
  6. 前記割当手段は、前記代表値が2以上の値である場合に、当該代表値である2以上の値に前記物理メモリを割り当てる、ことを特徴とする請求項1,2,3又は4記載のメモリ管理装置。
  7. 請求項1乃至6記載のメモリ管理装置を備えた、ことを特徴とする情報処理装置。
  8. 請求項1乃至6記載のメモリ管理装置を備えた、ことを特徴とする携帯電話機。
  9. 制御装置にて、仮想メモリに対する物理メモリの割り当て制御を行うメモリ管理方法であって、
    前記仮想メモリに保持する値が、少なくとも1以上の値からなる代表値が連続する規則的な配列であるか否かを判断する判断工程と、
    この判断工程により前記仮想メモリに保持する値が規則的な配列であると判断された場合に、当該仮想メモリ上の前記代表値にのみ前記物理メモリを割り当てる割当工程と、
    を有することを特徴とするメモリ管理方法。
  10. 前記割当工程の後に、前記仮想メモリに保持する値のいずれかが参照された時に、前記割当工程により割り当てられた前記物理メモリの前記代表値を使用する読出工程を有する、ことを特徴とする請求項9記載のメモリ管理方法。
  11. 前記判断工程は、前記仮想メモリに対する書き込み時に、当該仮想メモリに保持する値が規則的な配列であるか否かを判断する、ことを特徴とする請求項9又は10記載のメモリ管理方法。
  12. 前記判断工程と前記割当工程とを繰り返し、所定の前記割当工程は、直前の前記判断工程により前記仮想メモリに保持する値が規則的な配列ではないと判断された場合に、当該仮想メモリに保持する値の全てに前記物理メモリを割り当てる、ことを特徴とする請求項11記載のメモリ管理方法。
  13. 前記割当工程は、前記代表値が1つの値である場合に、当該代表値である1つの値にのみ前記物理メモリを割り当てる、ことを特徴とする請求項9,10,11又は12記載のメモリ管理方法。
  14. 前記割当工程は、前記代表値が2以上の値である場合に、当該代表値である2以上の値に前記物理メモリを割り当てる、ことを特徴とする請求項9,10,11又は12記載のメモリ管理装置。
  15. 仮想メモリに対する物理メモリの割り当て制御を行う制御装置に、
    前記仮想メモリに保持する値が、少なくとも1以上の値からなる代表値が連続する規則的な配列であるか否かを判断する判断手段と、
    この判断手段により前記仮想メモリに保持する値が規則的な配列であると判断された場合に、当該仮想メモリ上の前記代表値にのみ前記物理メモリを割り当てる割当手段と、
    を実現させるためのプログラム。
JP2006295267A 2006-10-31 2006-10-31 メモリ管理装置 Expired - Fee Related JP4715723B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006295267A JP4715723B2 (ja) 2006-10-31 2006-10-31 メモリ管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006295267A JP4715723B2 (ja) 2006-10-31 2006-10-31 メモリ管理装置

Publications (2)

Publication Number Publication Date
JP2008112332A true JP2008112332A (ja) 2008-05-15
JP4715723B2 JP4715723B2 (ja) 2011-07-06

Family

ID=39444805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006295267A Expired - Fee Related JP4715723B2 (ja) 2006-10-31 2006-10-31 メモリ管理装置

Country Status (1)

Country Link
JP (1) JP4715723B2 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02176951A (ja) * 1988-12-28 1990-07-10 Nec Corp 仮想記憶装置
JPH02310750A (ja) * 1989-05-26 1990-12-26 Nec Corp ミッシングページ処理方式
JPH05120131A (ja) * 1991-10-24 1993-05-18 Sharp Corp コンピユータにおける記憶管理方式
JPH06208511A (ja) * 1992-09-17 1994-07-26 Internatl Business Mach Corp <Ibm> ページ・フレームのデータを保護する方法
JPH1027127A (ja) * 1996-07-09 1998-01-27 Kobe Nippon Denki Software Kk データ圧縮記憶演算装置
JP2002278837A (ja) * 2001-02-13 2002-09-27 Internatl Business Mach Corp <Ibm> オペレーティング・システムにとってトランスペアレントなメモリ圧縮を管理するシステムおよび方法
JP2003271453A (ja) * 2002-03-13 2003-09-26 Sony Corp メモリ管理装置および方法、並びにプログラム
JP2004355124A (ja) * 2003-05-27 2004-12-16 Internatl Business Mach Corp <Ibm> 直接アドレス指定共用圧縮メモリ・システム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02176951A (ja) * 1988-12-28 1990-07-10 Nec Corp 仮想記憶装置
JPH02310750A (ja) * 1989-05-26 1990-12-26 Nec Corp ミッシングページ処理方式
JPH05120131A (ja) * 1991-10-24 1993-05-18 Sharp Corp コンピユータにおける記憶管理方式
JPH06208511A (ja) * 1992-09-17 1994-07-26 Internatl Business Mach Corp <Ibm> ページ・フレームのデータを保護する方法
JPH1027127A (ja) * 1996-07-09 1998-01-27 Kobe Nippon Denki Software Kk データ圧縮記憶演算装置
JP2002278837A (ja) * 2001-02-13 2002-09-27 Internatl Business Mach Corp <Ibm> オペレーティング・システムにとってトランスペアレントなメモリ圧縮を管理するシステムおよび方法
JP2003271453A (ja) * 2002-03-13 2003-09-26 Sony Corp メモリ管理装置および方法、並びにプログラム
JP2004355124A (ja) * 2003-05-27 2004-12-16 Internatl Business Mach Corp <Ibm> 直接アドレス指定共用圧縮メモリ・システム

Also Published As

Publication number Publication date
JP4715723B2 (ja) 2011-07-06

Similar Documents

Publication Publication Date Title
US8972696B2 (en) Pagefile reservations
CN100543703C (zh) 利用转换后备缓冲器选中的多处理器系统和方法
US7971026B2 (en) Information processing apparatus and access control method
US10649889B2 (en) Method and apparatus for managing kernel memory of data processing systems
JP4758794B2 (ja) メモリ領域割り当て制御装置、メモリ領域割り当て制御プログラム、及びメモリ領域割り当て制御方法
JP2007026094A (ja) 実行装置およびアプリケーションプログラム
CN109521950B (zh) 存储设备、其操作方法及包括存储设备的存储系统
KR20130096881A (ko) 플래시 메모리 장치
EP3163451B1 (en) Memory management method and device, and memory controller
JP2017527877A (ja) フラッシュメモリから/フラッシュメモリへデータを読み取る/書き込むための方法および装置、ならびにユーザ機器
US20080244118A1 (en) Method and apparatus for sharing buffers
KR20100102283A (ko) 플래시 메모리 장치 및 그 제어 방법
US20060206668A1 (en) Data processing system and data decompression method
CN104679684A (zh) 半导体器件及其操作方法
JP6505266B2 (ja) メモリ管理装置を用いた自動メモリ管理
JP2009020555A (ja) スワップ処理装置
EP2808798B1 (en) Memory management apparatus and process for moving, expanding or writing of a virtual area
JP2008516320A (ja) メモリフレームのサイズを決定する方法および装置
US11226738B2 (en) Electronic device and data compression method thereof
CN113805792A (zh) 存储器系统及其操作方法
US10019373B2 (en) Memory management method for supporting shared virtual memories with hybrid page table utilization and related machine readable medium
CN110119245B (zh) 用于操作nand闪存物理空间以扩展存储器容量的方法和系统
JP4715723B2 (ja) メモリ管理装置
KR101549569B1 (ko) 가비지 컬렉션 수행 방법 및 그 방법을 이용한 플래시 메모리 장치
CN116048414A (zh) 一种设备的数据读取方法及电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100324

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100604

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110210

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110314

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: 20140408

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees