JP4715723B2 - Memory management device - Google Patents

Memory management device Download PDF

Info

Publication number
JP4715723B2
JP4715723B2 JP2006295267A JP2006295267A JP4715723B2 JP 4715723 B2 JP4715723 B2 JP 4715723B2 JP 2006295267 A JP2006295267 A JP 2006295267A JP 2006295267 A JP2006295267 A JP 2006295267A JP 4715723 B2 JP4715723 B2 JP 4715723B2
Authority
JP
Japan
Prior art keywords
memory
value
values
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.)
Expired - Fee Related
Application number
JP2006295267A
Other languages
Japanese (ja)
Other versions
JP2008112332A (en
Inventor
敬之 重橋
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/en
Publication of JP2008112332A publication Critical patent/JP2008112332A/en
Application granted granted Critical
Publication of JP4715723B2 publication Critical patent/JP4715723B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、メモリ管理装置にかかり、特に、仮想メモリ制御機能を備えたメモリ管理装置に関する。   The present invention relates to a memory management device, and more particularly to a memory management device having a virtual memory control function.

従来より、仮想メモリ制御機能を備えるメモリ管理装置において、オペレーティングシステム上でソフトウェアを動作させる際に、ソフトウェアが動的に仮想メモリ確保を実施し、このメモリ領域にアクセスした場合には、仮想メモリに同サイズ(容量)の物理メモリが割り当てられていた。   Conventionally, in a memory management device having a virtual memory control function, when software is operated on an operating system, the software dynamically secures virtual memory, and if this memory area is accessed, A physical memory of the same size (capacity) was allocated.

特開2000−285019号公報JP 2000-285019 A 特許第2636484号公報Japanese Patent No. 2636484

しかしながら、アクセスの種類によっては、物理メモリを割り当てる必要がない場合があり、このような場合に、仮想メモリと同サイズの物理メモリを割り当ててしまうと、物理メモリの使用量の増加により使用効率が低下し、物理メモリの更なる効率化を図ることができない、という問題が生じる。   However, depending on the type of access, it may not be necessary to allocate physical memory. In such a case, if physical memory of the same size as virtual memory is allocated, the usage efficiency increases due to an increase in the amount of physical memory used. This causes a problem that the physical memory cannot be further improved in efficiency.

また、キャッシュメモリを制御する制御回路の構成としては、特許文献1に示すような構成がある。この特許文献1に示す制御回路は、キャッシュデータを登録するキャッシュデータ部と、キャッシュデータ部に登録されているアドレス情報を登録するアドレスキャッシュ部と、キャッシュ書き込みデータのチェックを行い、この書き込みデータの全てが「0」もしくは「1」といった固定データであるか否かの判定を行うデータチェック部と、を備え、キャッシュの書き込み及び読み出し時間の短縮を図っている。   Further, as a configuration of the control circuit for controlling the cache memory, there is a configuration as shown in Patent Document 1. The control circuit shown in Patent Document 1 checks a cache data part for registering cache data, an address cache part for registering address information registered in the cache data part, and cache write data. A data check unit for determining whether or not all of the data is fixed data such as “0” or “1”, thereby shortening the cache writing and reading time.

具体的には、キャッシュへの書き込み時に、データチェック部が、キャッシュ書き込みデータのチェックを行い、このデータが固定データであった場合には、データキャッシュ部へのデータ登録を行わず、アドレスキャッシュ部に、データを圧縮した固定データフラグの登録を行う。また、キャッシュからの読み出し時には、アドレスキャッシュ部に登録されている固定データフラグから、圧縮前のデータに伸張したデータを、キャッシュ読み出しデータとして転送する。   Specifically, when writing to the cache, the data check unit checks the cache write data. If this data is fixed data, the data cache unit is not registered and the address cache unit is not registered. In addition, a fixed data flag obtained by compressing data is registered. At the time of reading from the cache, data expanded from the fixed data flag registered in the address cache unit to the data before compression is transferred as cache read data.

しかしながら、特許文献1に示した制御回路は、キャッシュの書き込み及び読み出し時間の短縮を図るものであるため、オペレーティングシステム上でソフトウェアを動作させる際にソフトウェアが動的に仮想メモリ確保を実施し、このメモリ領域にアクセスする場合には、依然として、仮想メモリと同サイズの物理メモリが割り当てられてしまう。したがって、物理メモリの効率化を図ることができず、処理の更なる高速化を図ることができない、という問題が生じる。   However, since the control circuit shown in Patent Document 1 is intended to shorten cache write and read times, the software dynamically secures virtual memory when operating the software on the operating system. When accessing the memory area, a physical memory having the same size as the virtual memory is still allocated. Therefore, there is a problem that the physical memory cannot be made more efficient and the processing speed cannot be further increased.

また、実メモリを再使用し易い状態で管理することができる構成としては、特許文献2に示すような構成がある。この特許文献2では、不要なバッファプールに対して、実メモリを再使用し易い状態で管理し、必要なときに、実メモリが固定状態のバッファを獲得できるよう、実メモリ割当装置と、実メモリ棄却装置と、バッファプール管理装置と、が設けられている。   Further, as a configuration capable of managing the real memory in a state where it can be easily reused, there is a configuration as shown in Patent Document 2. In this patent document 2, the real memory is managed in an easily reusable state with respect to an unnecessary buffer pool, and when necessary, the real memory allocating device and the real memory are acquired so that the real memory can acquire a fixed buffer. A memory rejection device and a buffer pool management device are provided.

具体的には、実メモリ棄却装置が、ユーザプログラムから返却され不要となったバッファに対して、参照/更新ビットをオフにする。そして、ユーザプログラムからのバッファ獲得要求があり、この獲得要求に応じて、バッファプール管理装置がバッファをプールから切り出す。このとき、切り出したバッファに実メモリが割り当てられていない場合には、実メモリ割当装置に実メモリの割当要求を送出する。そして、この割当要求を受けた実メモリ割当装置は、自己の管理している空き状態の実メモリを割り当てるが、自己の確保している空き状態の実メモリが無くなった時には、仮想メモリに割り当てられている(参照/更新ビットがオフとなっている)実メモリを奪ってバッファプール管理装置に渡す。すると、バッファプール管理装置が、実メモリを要求のあった論理アドレス空間に割り当て、ページテーブル上の該当エントリのバリッドビットをオンとするように動作する。   Specifically, the real memory rejection device turns off the reference / update bit for a buffer that is returned from the user program and is no longer needed. Then, there is a buffer acquisition request from the user program, and the buffer pool management device cuts out the buffer from the pool in response to this acquisition request. At this time, if no real memory is allocated to the cut out buffer, a real memory allocation request is sent to the real memory allocation device. In response to this allocation request, the real memory allocation device allocates free real memory managed by itself, but when there is no free real memory secured by itself, it is allocated to virtual memory. Is taken (the reference / update bit is off) and taken to the buffer pool management device. Then, the buffer pool management device operates to allocate real memory to the requested logical address space and turn on the valid bit of the corresponding entry on the page table.

しかしながら、特許文献2に示した構成は、実メモリを再使用し易い状態で管理するものであり、オペレーティングシステム上でソフトウェアを動作させる際にソフトウェアが動的に仮想メモリ確保を実施し、このメモリ領域にアクセスする場合には、依然として、仮想メモリと同サイズの物理メモリが割り当てられてしまう。したがって、物理メモリの効率化を図ることができず、処理の更なる高速化を図ることができない、という問題が生じる。   However, the configuration shown in Patent Document 2 manages real memory in a state where it can be easily reused. When the software is operated on the operating system, the software dynamically secures virtual memory. When accessing the area, a physical memory having the same size as the virtual memory is still allocated. Therefore, there is a problem that the physical memory cannot be made more efficient and the processing speed cannot be further increased.

このため、本発明では、上記従来例の有する不都合を改善し、特に、仮想メモリに対する物理メモリを効率的に使用し、処理の高速化を図ることができるメモリ管理装置を提供すること、をその目的とする。   For this reason, the present invention provides a memory management device that improves the disadvantages of the above-described conventional example, and in particular, can efficiently use the physical memory for the virtual memory and increase the processing speed. Objective.

そこで、本発明の一形態であるメモリ管理装置は、仮想メモリに対する物理メモリの割り当て制御を行うメモリ管理装置であって、仮想メモリに保持する値が、少なくとも1以上の値からなる代表値が連続する規則的な配列であるか否かを判断する判断手段と、判断手段により仮想メモリに保持する値が規則的な配列であると判断された場合に、仮想メモリ上の代表値にのみ物理メモリを割り当てる割当手段と、を備えた、ことを特徴としている。また、メモリ管理装置は、仮想メモリに保持する値のいずれかが参照された時に、割当手段により割り当てられた物理メモリの代表値を使用する読出手段を備えた、ことを特徴としている。   Therefore, a memory management device according to an aspect of the present invention is a memory management device that performs physical memory allocation control for virtual memory, and a value held in the virtual memory is continuously represented by at least one representative value. Determining means for determining whether or not a regular array is used, and when the determining means determines that the value held in the virtual memory is a regular array, the physical memory is used only for the representative value in the virtual memory. And allocating means for allocating. In addition, the memory management device includes a reading unit that uses a representative value of the physical memory allocated by the allocation unit when any of the values held in the virtual memory is referred to.

かかる構成によると、まず、仮想メモリが複数の値を保持している場合に、判断手段により、仮想メモリに保持する値が規則的な配列であるか否かの判断が行われる。そして、仮想メモリに保持する値が規則的な配列である場合には、割当手段により、仮想メモリ上の代表値にのみ物理メモリが割り当てられる。そして、仮想メモリに保持する値のいずれかが参照された時に、割当手段により割り当てられた物理メモリの代表値を使用することで、仮想メモリと同サイズの値を読み出すことができる。これにより、仮想メモリと同サイズ(容量)の物理メモリを割り当てることなく、仮想メモリに保持する値を全て物理メモリに格納することができる。したがって、物理メモリの使用量の減少を図り、物理メモリを効率的に使用して、処理の高速化を図ることができる。   According to such a configuration, first, when the virtual memory holds a plurality of values, the determination unit determines whether or not the values held in the virtual memory are a regular array. When the values held in the virtual memory are regular arrays, the physical memory is assigned only to the representative value on the virtual memory by the assigning means. When one of the values held in the virtual memory is referred to, a value having the same size as the virtual memory can be read by using the representative value of the physical memory allocated by the allocation unit. As a result, all the values held in the virtual memory can be stored in the physical memory without allocating a physical memory having the same size (capacity) as the virtual memory. Therefore, the amount of use of the physical memory can be reduced, the physical memory can be used efficiently, and the processing speed can be increased.

そして、判断手段は、仮想メモリに対する書き込み時に、仮想メモリに保持する値が規則的な配列であるか否かを判断する、ことを特徴としている。   The judging means judges whether or not the values held in the virtual memory are a regular array when writing to the virtual memory.

かかる構成によると、仮想メモリを確保した時点では物理メモリは割り当てられず、仮想メモリに対する書き込み時に初めて仮想メモリ上の代表値に物理メモリが割り当てられる。これにより、仮想メモリに対して書き込みが必要となるまで物理メモリの確保を抑制することができると共に、書き込みが必要となったときには、物理メモリの使用量の減少を図り、物理メモリを効率的に使用することができる。   According to this configuration, the physical memory is not allocated when the virtual memory is secured, and the physical memory is allocated to the representative value on the virtual memory for the first time when writing to the virtual memory. As a result, securing of physical memory can be suppressed until writing to virtual memory becomes necessary, and when writing becomes necessary, the amount of physical memory used can be reduced, and physical memory can be efficiently used. Can be used.

また、割当手段は、判断手段により仮想メモリに保持する値が規則的な配列でないと判断された場合に、仮想メモリに保持する値の全てに物理メモリを割り当てる、ことを特徴としている。   The assigning means assigns physical memory to all values held in the virtual memory when the judging means determines that the values held in the virtual memory are not regular arrays.

かかる構成によると、仮想メモリに保持する値が規則的な配列でない場合には、仮想メモリに保持する値の全てに物理メモリが割り当てられる。したがって、例えば、仮想メモリ上の代表値にのみ物理メモリが割り当てられた後に、仮想メモリに保持する値が更新され、仮想メモリに保持する値が規則的な配列でなくなった場合に、仮想メモリと同サイズの物理メモリが割り当てられる。これにより、仮想メモリに保持する値が更新され規則的な配列でないものとなっても、仮想メモリに物理メモリを割り当てることができる。   According to such a configuration, when the values held in the virtual memory are not regular arrays, the physical memory is allocated to all the values held in the virtual memory. Therefore, for example, when the physical memory is allocated only to the representative value on the virtual memory, the value held in the virtual memory is updated, and when the value held in the virtual memory is no longer a regular array, the virtual memory Physical memory of the same size is allocated. As a result, even if the values held in the virtual memory are updated and become non-regular arrays, the physical memory can be allocated to the virtual memory.

そして、割当手段は、代表値が1つの値である場合に、代表値である1つの値にのみ物理メモリを割り当てる、ことを特徴としている。   The assigning means is characterized in that, when the representative value is one value, the physical memory is assigned only to one value that is the representative value.

これにより、判断手段によって仮想メモリに保持する値が規則的な配列であると判断され、この仮想メモリに保持する値が全て同じ値からなり、代表値が1つの値である場合に、代表値である1つの値にのみ物理メモリが割り当てられるため、仮想メモリに対して物理メモリの使用量を減少させることができる。したがって、物理メモリを効率的に使用し、処理の高速化を図ることができる。   As a result, when the value stored in the virtual memory is determined to be a regular array by the determination unit, and all the values stored in the virtual memory are the same value, and the representative value is one value, the representative value Since physical memory is allocated to only one value, the amount of physical memory used can be reduced relative to virtual memory. Therefore, the physical memory can be used efficiently and the processing speed can be increased.

また、割当手段は、代表値が2以上の値である場合に、代表値である2以上の値に物理メモリを割り当てる、ことを特徴としている。   The assigning means assigns physical memory to two or more representative values when the representative value is two or more.

これにより、判断手段によって仮想メモリに保持する値が規則的な配列であると判断され、この仮想メモリに保持する値が、2以上の値からなる代表値を連続するものである場合に、割当手段が、2以上からなる代表値に物理メモリを割り当てる。したがって、仮想メモリに対して物理メモリの使用量を減少させることができる。さらに、物理メモリを効率的に使用し、処理の高速化を図ることができる。   As a result, when the determination unit determines that the values held in the virtual memory are regular arrays, and the values held in the virtual memory are continuous representative values composed of two or more values, the allocation is performed. The means allocates physical memory to a representative value composed of two or more. Therefore, the amount of physical memory used can be reduced relative to virtual memory. Furthermore, the physical memory can be used efficiently and the processing speed can be increased.

さらに、本発明は、上述したメモリ管理装置を備えた情報処理装置である、ことを特徴としている。   Furthermore, the present invention is an information processing apparatus including the memory management apparatus described above.

これにより、情報処理装置の物理メモリの使用量を少なくすることができるため、情報処理装置における物理メモリを効率的に使用し、処理の高速化を図ることができる情報処理装置を提供することができる。   Accordingly, it is possible to reduce the amount of physical memory used by the information processing apparatus, and thus to provide an information processing apparatus that can efficiently use the physical memory in the information processing apparatus and increase the processing speed. it can.

また、本発明は、上述したメモリ管理装置を備えた携帯電話機である、ことを特徴としている。   In addition, the present invention is a mobile phone including the above-described memory management device.

これにより、携帯電話機の物理メモリの使用量を少なくすることができるため、実装メモリの少ない携帯電話機における物理メモリを効率的に使用し、処理の高速化を図ることができる携帯電話機を提供することができる。   Accordingly, it is possible to reduce the amount of physical memory used in a mobile phone, and thus to provide a mobile phone capable of efficiently using physical memory in a mobile phone with a small amount of mounted memory and speeding up processing. Can do.

さらに、本発明の他の形態であるメモリ管理方法は、制御装置にて、仮想メモリに対する物理メモリの割り当て制御を行うメモリ管理方法であって、仮想メモリに保持する値が、少なくとも1以上の値からなる代表値が連続する規則的な配列であるか否かを判断する判断工程と、判断工程により仮想メモリに保持する値が規則的な配列であると判断された場合に、仮想メモリ上の代表値にのみ物理メモリを割り当てる割当工程と、を有することを特徴としている。   Furthermore, a memory management method according to another aspect of the present invention is a memory management method for performing physical memory allocation control on a virtual memory in a control device, wherein a value held in the virtual memory is at least one value or more. A determination step for determining whether or not the representative value consisting of is a continuous regular array, and when the determination step determines that the values held in the virtual memory are a regular array, And an allocating step of allocating physical memory only to the representative value.

また、割当工程の後に、仮想メモリに保持する値のいずれかが参照された時に、割当工程により割り当てられた物理メモリの代表値を使用する読出工程を有する、ことを特徴としている。   In addition, after the allocation step, when any of the values held in the virtual memory is referred to, there is a read step that uses the representative value of the physical memory allocated by the allocation step.

そして、判断工程は、仮想メモリに対する書き込み時に、仮想メモリに保持する値が規則的な配列であるか否かを判断する、ことを特徴としている。また、判断工程と割当工程とを繰り返し、所定の割当工程は、直前の判断工程により仮想メモリに保持する値が規則的な配列ではないと判断された場合に、仮想メモリに保持する値の全てに物理メモリを割り当てる、ことを特徴としている。   The determining step is characterized by determining whether or not the values held in the virtual memory are a regular array when writing to the virtual memory. In addition, the determination process and the allocation process are repeated, and the predetermined allocation process determines that all of the values stored in the virtual memory are determined when the value stored in the virtual memory is determined not to be a regular array by the immediately preceding determination process. It is characterized by allocating a physical memory to.

さらに、割当工程は、代表値が1つの値である場合に、代表値である1つの値にのみ物理メモリを割り当てる、ことを特徴としている。そして、割当工程は、代表値が2以上の値である場合に、代表値である2以上の値に物理メモリを割り当てる、ことを特徴としている。   Further, the assigning step is characterized in that, when the representative value is one value, the physical memory is assigned only to one value that is the representative value. The assigning step is characterized in that, when the representative value is 2 or more, the physical memory is assigned to the representative value of 2 or more.

さらに、本発明の他の形態であるプログラムは、仮想メモリに対する物理メモリの割り当て制御を行う制御装置に、仮想メモリに保持する値が、少なくとも1以上の値からなる代表値が連続する規則的な配列であるか否かを判断する判断手段と、判断手段により仮想メモリに保持する値が規則的な配列であると判断された場合に、仮想メモリ上の代表値にのみ物理メモリを割り当てる割当手段と、を実現させることを特徴としている。   Furthermore, a program according to another aspect of the present invention provides a control device that controls allocation of a physical memory to a virtual memory, and a regular value in which a representative value consisting of at least one value held in the virtual memory is continuous. A determining unit that determines whether or not the array is an array, and an allocating unit that allocates a physical memory only to a representative value on the virtual memory when the determination unit determines that the value held in the virtual memory is a regular array. It is characterized by realizing.

なお、上記構成の方法及びプログラムであっても、上述したメモリ管理装置と同様に作用するため、上記本発明の目的を達成することができる。   Note that even the method and program having the above-described configuration operate in the same manner as the above-described memory management device, and therefore, the object of the present invention can be achieved.

本発明は、以上のように構成され機能するので、これによると、仮想メモリに対して物理メモリの使用量を減少させることができ、物理メモリを効率的に使用して、処理の高速化を図ることができる、という従来にない優れた効果を有する。   Since the present invention is configured and functions as described above, according to this, the amount of physical memory used can be reduced relative to virtual memory, and the physical memory can be used efficiently to increase the processing speed. It has an unprecedented excellent effect that it can be achieved.

本発明であるメモリ管理装置は、仮想メモリに保持する値が、少なくとも1以上の値からなる代表値が連続する規則的な配列である場合に、仮想メモリ上の代表値にのみ物理メモリを割り当てる、ことに特徴を有する。以下、具体的な構成及び作用を、実施例を参照して説明する。   The memory management device according to the present invention allocates physical memory only to the representative value on the virtual memory when the value held in the virtual memory is a regular array in which the representative value consisting of at least one or more values continues. , Has a feature. Hereinafter, specific configurations and operations will be described with reference to examples.

本発明の第1の実施例を、図1乃至図7を参照して説明する。図1は、本実施例におけるメモリ管理装置の構成を示すブロック図である。図2乃至図3は、本実施例における仮想メモリ及び物理メモリの関係を説明する説明図である。図4乃至図7は、メモリ管理装置の動作を示すフローチャートである。   A first embodiment of the present invention will be described with reference to FIGS. FIG. 1 is a block diagram illustrating a configuration of a memory management device according to the present embodiment. 2 to 3 are explanatory diagrams for explaining the relationship between the virtual memory and the physical memory in this embodiment. 4 to 7 are flowcharts showing the operation of the memory management device.

[構成]
本発明におけるメモリ管理装置は、例えば、携帯電話1に実装されている。そして、この携帯電話1は、内部にCPU2と、物理メモリ3と、を備えている。
[Constitution]
The memory management device in the present invention is mounted on the mobile phone 1, for example. The mobile phone 1 includes a CPU 2 and a physical memory 3 inside.

物理メモリ3は、例えば、RAM(Random Access Memory)であり、後述するCPU2によりデータが直接読み書きされる。そして、物理メモリ3は、後述するように、ソフトウェアにより確保された仮想メモリVに保持する値に応じて、物理メモリ制御処理部5により判定フラグP、代表値P、空き領域P及び値P1乃至値PNの領域が確保される。   The physical memory 3 is, for example, a RAM (Random Access Memory), and data is directly read and written by the CPU 2 described later. Then, as will be described later, the physical memory 3 is determined by the physical memory control processing unit 5 according to the value held in the virtual memory V secured by software, the determination flag P, the representative value P, the free space P, and the values P1 to P1. An area of value PN is reserved.

仮想メモリVは、ハードディスク(図示せず)などを物理メモリ3の代用として利用するOS(Operating System)の機能により仮想的に確保されるメモリ領域である。この仮想メモリVは、ソフトウェアによりN個の値が確保されたとき、図2乃至図3に示すように、後述する判定フラグV及び値V1乃至値VNの領域が確保される。   The virtual memory V is a memory area that is virtually reserved by an OS (Operating System) function that uses a hard disk (not shown) or the like as a substitute for the physical memory 3. In the virtual memory V, when N values are secured by software, as shown in FIGS. 2 to 3, areas of a determination flag V and values V1 to VN, which will be described later, are secured.

CPU2(制御装置)は、データの演算や転送などの処理を実行し、その処理結果をレジスタ(図示せず)や物理メモリ3に保持するものであり、携帯電話1の内部に備えられている。そして、プログラムが組み込まれることによって、要素判断処理部4と、物理メモリ制御処理部5と、が構築されている。   The CPU 2 (control device) executes processing such as calculation and transfer of data and holds the processing result in a register (not shown) or the physical memory 3 and is provided in the mobile phone 1. . The element determination processing unit 4 and the physical memory control processing unit 5 are constructed by incorporating the program.

要素判断処理部4(判断手段)は、仮想メモリVに対する書き込み時に、仮想メモリVに保持する値が、一定の規則性を持った値(規則的な配列)であるか否かを判断するものである。本実施例では、仮想メモリVに保持する値が、全て同じ値である場合(例えば、000…)に、一定の規則性を持った値であると判断されるものとする。そして、要素判断処理部4による判断結果が後述する物理メモリ制御処理部5に送られる。また、仮想メモリVに保持する値が、ソフトウェアにより更新された場合にも、更新された値が、全て同じ値であるか否かの判断がされる。これにより、仮想メモリVに対して書き込みが必要となるまで物理メモリ3の確保を抑制することができると共に、書き込みが必要となったときには、物理メモリ3の使用量を減少させることで、物理メモリ3を効率的に使用して、処理の高速化を図ることができる。   The element determination processing unit 4 (determination means) determines whether or not the value held in the virtual memory V when writing to the virtual memory V is a value having a certain regularity (regular array). It is. In this embodiment, when all the values held in the virtual memory V are the same value (for example, 000...), It is determined that the value has a certain regularity. Then, the determination result by the element determination processing unit 4 is sent to a physical memory control processing unit 5 described later. Even when the values held in the virtual memory V are updated by software, it is determined whether or not all the updated values are the same value. Thereby, it is possible to suppress the reservation of the physical memory 3 until writing to the virtual memory V becomes necessary, and when the writing becomes necessary, by reducing the amount of use of the physical memory 3, the physical memory 3 can be reduced. 3 can be efficiently used to speed up the processing.

物理メモリ制御処理部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の値を読み出す。   The physical memory control processing unit 5 (allocation unit, reading unit) sets “valid” or “invalid” to the determination flag V and the determination flag P as described later based on the determination result sent from the element determination processing unit 4. Further, the region of the representative value P or the value P1 to the value PN is assigned to the value V1 to the value VN. For example, when the element determination processing unit 4 determines that all values held in the virtual memory V are the same value, the determination flag V and the determination flag P are set to “valid”, and the virtual memory V holds The region of the representative value P is assigned only to the representative value of the value to be processed. Specifically, when the value held in the virtual memory V is 000..., The area of the representative value P is allocated only to one value “0” that is the representative value. The physical memory control processing unit 5 reads the value of the representative value P in the physical memory 3 when any of the values V1 to VN on the virtual memory V is referred to by software.

判定フラグVは、ソフトウェアによりN個の値が確保されたときに、仮想メモリV上に確保される領域であって、後述する判定フラグPと同サイズのメモリ空間である。そして、物理メモリ制御処理部5により、「有効」又は「無効」のいずれかの値が設定される。具体的には、要素判断処理部4によって、仮想メモリVに保持する値が、全て同じ値であると判断された場合には、判定フラグVが「有効」に設定され、全て同じ値ではないと判断された場合には、判定フラグVが「無効」に設定される。   The determination flag V is an area secured on the virtual memory V when N values are secured by software, and is a memory space having the same size as a later-described judgment flag P. The physical memory control processing unit 5 sets either “valid” or “invalid”. Specifically, when the element determination processing unit 4 determines that all the values held in the virtual memory V are the same value, the determination flag V is set to “valid” and not all the same value. Is determined, the determination flag V is set to “invalid”.

判定フラグPは、物理メモリ制御処理部5により物理メモリ3に確保される領域であり、判定フラグVに割り当てるものである。そして、判定フラグVと同様、物理メモリ制御処理部5によって「有効」又は「無効」のいずれかの値が設定される。   The determination flag P is an area secured in the physical memory 3 by the physical memory control processing unit 5 and is assigned to the determination flag V. Similar to the determination flag V, the physical memory control processing unit 5 sets either “valid” or “invalid”.

値V1乃至値VNは、仮想メモリV上の領域である。そして、OS上で動作するソフトウェアが、N個の値を仮想メモリV上に確保したときに、図2乃至図3に示すように値V1乃至値VNの領域が確保され、仮想メモリV上に確保したN個の値が、値V1乃至値VNに設定される。   Values V1 to VN are areas on the virtual memory V. When the software operating on the OS secures N values on the virtual memory V, areas of values V1 to VN are secured on the virtual memory V as shown in FIGS. The reserved N values are set to values V1 to VN.

値P1乃至値PNは、図3に示すように、物理メモリ3の領域であり、値V1乃至値VNに対して割り当てるものである。そして、この値P1乃至値PNは、OS上で動作するソフトウェアが、全て同じ値ではないN個の値を、仮想メモリV上に確保したときに、物理メモリ制御処理部5により物理メモリ3に確保される。また、ソフトウェアにより仮想メモリVに保持する値が更新され、全て同じ値ではなくなった場合にも、メモリ制御処理部5によって、値P1乃至値PNの領域が確保される。   As shown in FIG. 3, the values P1 to PN are areas of the physical memory 3, and are assigned to the values V1 to VN. These values P1 to PN are stored in the physical memory 3 by the physical memory control processing unit 5 when the software operating on the OS secures N values that are not all the same value in the virtual memory V. Secured. Further, even when the values held in the virtual memory V are updated by software and all values are not the same, the memory control processing unit 5 secures areas of values P1 to PN.

代表値Pは、図2に示すように、物理メモリ3の領域であり、仮想メモリVに保持する値の代表値に対して割り当てるものである。ここで、代表値は、仮想メモリV上に確保した値が全て同じ値である場合の、1の値である。例えば、仮想メモリV上に確保した値が、000…、である場合の「0」が代表値である。   The representative value P is an area of the physical memory 3 as shown in FIG. 2, and is assigned to a representative value held in the virtual memory V. Here, the representative value is a value of 1 when all the values secured on the virtual memory V are the same value. For example, “0” when the value secured on the virtual memory V is 000... Is the representative value.

空き領域Pは、物理メモリ3上で、仮想メモリVに対して割り当てられていない領域である。   The free area P is an area that is not allocated to the virtual memory V on the physical memory 3.

[動作]
次に、上記構成の携帯電話1の動作を、図4を参照して説明する。まず、仮想メモリ制御機能を備えた携帯電話1上で、ソフトウェアが起動され(ステップS1)、このソフトウェアが、N個の値を仮想メモリV上に確保する(ステップS2)。すると、図2に示すように、仮想メモリVに、判定フラグV及び値V1乃至値VNの領域が確保される。そして、仮想メモリVに対する書き込みが発生したとき、この書き込み発生の情報を受けた要素判断処理部4によって、仮想メモリVに保持する値が全て同じ値(規則的な配列)であるか否かの判断が行われ(判断工程)、この判断結果が物理メモリ制御処理部5に送られる。
[Operation]
Next, the operation of the mobile phone 1 having the above configuration will be described with reference to FIG. First, software is activated on the mobile phone 1 having a virtual memory control function (step S1), and the software secures N values on the virtual memory V (step S2). Then, as shown in FIG. 2, areas of the determination flag V and the values V1 to VN are secured in the virtual memory V. When writing to the virtual memory V occurs, whether or not the values held in the virtual memory V are all the same value (regular array) by the element determination processing unit 4 that has received this writing occurrence information. A determination is made (determination step), and the determination result is sent to the physical memory control processing unit 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を効率的に使用することができる。   At this time, if it is determined that the values held in the virtual memory V are all the same value (positive determination in step S3), the determination flag V is set to “valid” by the physical memory control processing unit 5. At the same time (step S4), the same value is set to the values V1 to VN. Then, the physical memory control processing unit 5 that has received the determination result secures an area for the determination flag P and the representative value P in the physical memory 3 as shown in FIG. Further, the physical memory control processing unit 5 assigns an area of the determination flag P to the determination flag V, and assigns an area of the representative value P of the physical memory 3 to the value V1 that is the representative value on the virtual memory V. Assign (step S5, assignment step). Here, when the determination flag V and the determination flag P are “valid”, the physical memory 3 is not assigned to the values V2 to VN on the virtual memory V. Accordingly, since the amount of use of the physical memory 3 for the virtual memory V can be reduced by the amount of the free area P, the physical memory 3 can be used efficiently.

ここで、要素判断処理部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、割当工程)。   Here, when the element determination processing unit 4 determines that the values secured in the virtual memory V are not all the same value (negative determination in step S3, determination step), the physical memory control processing unit 5 The determination flag V is set to “invalid” (step S6), and values are set to the values V1 to VN on the virtual memory V, respectively. Then, as shown in FIG. 3, the physical memory control processing unit 5 secures areas for the determination flag P and the values P1 to PN in the physical memory 3. Further, the physical memory control processing unit 5 assigns an area of the determination flag P to the determination flag V, and areas of the values P1 to PN of the physical memory 3 with respect to the values V1 to VN on the virtual memory V. Is assigned (step S7, assignment step).

次に、仮想メモリV上の代表値である値V1に対して、代表値Pの領域が割り当てられた後に、ソフトウェアにより仮想メモリVに保持する値が更新された場合の動作を、図5を参照して説明する。なお、ソフトウェアによる更新がなされる前は、仮想メモリVに保持する値が全て同じ値であるため、判定フラグV及び判定フラグPは、共に「有効」に設定されているものとする。   Next, the operation when the value held in the virtual memory V is updated by software after the area of the representative value P is assigned to the value V1 which is the representative value on the virtual memory V is shown in FIG. The description will be given with reference. Since all values held in the virtual memory V are the same before being updated by software, it is assumed that both the determination flag V and the determination flag P are set to “valid”.

まず、ソフトウェアによって、仮想メモリVに保持する値、具体的には、仮想メモリV上の値V1乃至値VNに設定された値が更新される(ステップS11)。すると、要素判断処理部4により、更新された値が、全て同じ値であるか否かが判断される(判断工程)。そして、この更新された値が、全て同じ値ではないと判断されると(ステップS12にて否定判断)、この判断結果を受けた物理メモリ制御処理部5により、判定フラグV及び判定フラグPが「無効」に設定変更される(ステップS13)。さらに、更新された値が、仮想メモリV上の値V1乃至値VNに設定されると共に、図3に示すように、この設定された値V1乃至値VNに対して、物理メモリ制御処理部5は、物理メモリ3の値P1乃至値PN割り当てる(ステップS14、割当工程)。   First, the values held in the virtual memory V, specifically, the values set to the values V1 to VN on the virtual memory V are updated by software (step S11). Then, the element determination processing unit 4 determines whether or not all the updated values are the same value (determination step). When it is determined that the updated values are not all the same value (No determination in step S12), the physical memory control processing unit 5 that has received the determination result sets the determination flag V and the determination flag P. The setting is changed to “invalid” (step S13). Further, the updated values are set to the values V1 to VN on the virtual memory V, and as shown in FIG. 3, the physical memory control processing unit 5 is applied to the set values V1 to VN. Assigns the values P1 to PN of the physical memory 3 (step S14, assignment step).

ここで、仮想メモリV上の値V1乃至値VNに設定された値が更新され、更新される前の値と別の値となったものの、更新後の値もまた、全て同じ値である場合(例えば、000…が更新されて111…となった場合)には(ステップS12にて肯定判断、判断工程)、物理メモリ制御処理部5は、仮想メモリV上の代表値である値V1に対して、物理メモリ3の代表値Pの領域を割り当てる(ステップS15、割当工程)。   Here, the values set in the values V1 to VN on the virtual memory V are updated and become values different from the values before the update, but all the values after the update are also the same value (For example, when 000... Is updated to 111...) (Affirmative determination in step S12, determination step), the physical memory control processing unit 5 sets the value V1 that is a representative value on the virtual memory V. On the other hand, an area of the representative value P of the physical memory 3 is allocated (step S15, allocation process).

続いて、仮想メモリV上の全ての値(値V1乃至値VN)に対して、物理メモリ3(値P1乃至値PN)が割り当てられた後に、ソフトウェアによって仮想メモリVが保持する値が更新され、全て同じ値となった場合の動作を、図6を参照して説明する。なお、ソフトウェアによる更新がなされる前は、仮想メモリVに保持する値が全て同じ値ではないため、判定フラグV及び判定フラグPは、共に「無効」に設定されているものとする。   Subsequently, after the physical memory 3 (value P1 to value PN) is assigned to all values (value V1 to value VN) on the virtual memory V, the values held in the virtual memory V are updated by software. The operation when all have the same value will be described with reference to FIG. Since the values held in the virtual memory V are not all the same before being updated by software, it is assumed that both the determination flag V and the determination flag P are set to “invalid”.

まず、ソフトウェアによって、仮想メモリ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、割当工程)。   First, the values held in the virtual memory V, specifically, the values set to the values V1 to VN on the virtual memory V are updated by software (step S21). Then, the element determination processing unit 4 determines whether or not all the updated values are the same value (determination step). When it is determined that all the updated values are the same value (positive determination in step S22), the physical memory control processing unit 5 that has received the determination result sets the determination flag V and the determination flag P to “valid”. Is changed to "" (step S23). Then, the same value is set to the values V1 to VN on the virtual memory V. Then, the physical memory control processing unit 5 releases the values P1 to PN of the physical memory 3 assigned to the values V1 to VN on the virtual memory V (Step S24), and the representative value on the virtual memory V An area of the representative value P of the physical memory 3 is assigned to the value V1 (step S25, assignment step).

ここで、仮想メモリV上の値V1乃至値VNに設定された値が更新されたものの、更新後の値が全て同じ値ではない場合には(ステップS22にて否定判断、判断工程)、設定変更された全ての値に対して、物理メモリ3の値P1乃至値PNを割り当てる(ステップS26、割当工程)。   Here, if the values set in the values V1 to VN on the virtual memory V have been updated, but the updated values are not all the same value (negative determination in step S22, determination step), setting The values P1 to PN in the physical memory 3 are assigned to all changed values (step S26, assignment step).

続いて、仮想メモリV上の代表値である値V1に対して、物理メモリ3の代表値Pの領域が割り当てられた場合において(割当工程)、ソフトウェアにより、仮想メモリV上の値V1乃至値VNのいずれかが参照された場合の動作を、図8を参照して説明する。まず、ソフトウェアにより、仮想メモリV上の値V1乃至値VNのいずれかの値が参照される(ステップS31)。すると、物理メモリ制御処理部5は、物理メモリ3の代表値Pの値を読み出す(ステップS32、読出工程)。   Subsequently, when the area of the representative value P of the physical memory 3 is assigned to the value V1 that is the representative value on the virtual memory V (allocation step), the values V1 to V on the virtual memory V are determined by software. The operation when one of the VNs is referred will be described with reference to FIG. First, the software refers to one of the values V1 to VN on the virtual memory V (step S31). Then, the physical memory control processing unit 5 reads the value of the representative value P of the physical memory 3 (Step S32, reading process).

これにより、仮想メモリVに保持する値が、一定の規則性を持った値(規則的な配列)である場合に、物理メモリ3の使用量の減少を図り、物理メモリ3を効率的に使用して、処理の高速化を図ることができる。また、仮想メモリVに保持する値が更新され、一定の規則性を持った値でないものとなっても、仮想メモリVに物理メモリ3を割り当てることができる。   As a result, when the value held in the virtual memory V is a value having regularity (regular arrangement), the amount of use of the physical memory 3 is reduced, and the physical memory 3 is used efficiently. Thus, the processing speed can be increased. Even if the value held in the virtual memory V is updated and the value does not have a certain regularity, the physical memory 3 can be allocated to the virtual memory V.

さらに、アクセス対象である物理メモリ3の使用量が少ないため、仮想メモリVを確保して初期値設定する際などには、高速な初期化が可能となる。また、例えば、メモリの初期化漏れによるソフトウェア動作不正を防止するために、仮想メモリV確保時に初期値設定するプログラミング手法などでは、初期値設定時点における物理メモリ3確保を、必要最小限に抑えることができるため、物理メモリ3の使用量を抑えながら、ソフトウェアによる処理の高速化を図ることができる。   Further, since the amount of use of the physical memory 3 to be accessed is small, high-speed initialization is possible when the virtual memory V is secured and the initial value is set. Further, for example, in order to prevent software operation fraud due to omission of memory initialization, a programming technique for setting an initial value when a virtual memory V is secured should minimize the physical memory 3 at the time of initial value setting. Therefore, it is possible to increase the processing speed by software while suppressing the usage amount of the physical memory 3.

なお、本実施例では、仮想メモリVに保持する値が、全て同じ値である場合(例えば、000…)に、一定の規則性を持った値であると判断されるものとしたが、これは一例であって、全て同じ値である場合に限られない。一定の規則性を持った値が、2つの値からなる代表値を連続する値である場合を、実施例2で説明するものとする。   In this embodiment, when all the values held in the virtual memory V are the same value (for example, 000...), It is determined that the value has a certain regularity. Is an example and is not limited to the case where all are the same value. A case where a value having a certain regularity is a value in which a representative value composed of two values is continuous will be described in the second embodiment.

また、本実施例では、メモリ管理装置が実装される電子機器が、携帯電話1である場合を説明したが、他の電子機器であってもよい。   In the present embodiment, the case where the electronic device on which the memory management device is mounted is the mobile phone 1, but another electronic device may be used.

次に、本発明の第2の実施例を、図4乃至図9を参照して説明する。図4乃至図7は、メモリ管理装置の動作を示すフローチャートである。図8は、本実施例におけるメモリ管理装置の構成を示すブロック図である。図9は、仮想メモリ及び物理メモリの関係を説明する説明図である。本実施例では、上述した実施例1とほぼ同様の構成を採っているが、メモリ管理装置がパーソナルコンピュータに実装されていること、及び、一定の規則性を持った値(規則的な配列)が、2つの値からなる代表値を連続するものである点で異なる。以下、図4乃至図9を参照して、実施例1と異なる構成について詳述する。   Next, a second embodiment of the present invention will be described with reference to FIGS. 4 to 7 are flowcharts showing the operation of the memory management device. FIG. 8 is a block diagram showing the configuration of the memory management device in this embodiment. FIG. 9 is an explanatory diagram illustrating the relationship between virtual memory and physical memory. In the present embodiment, the configuration is almost the same as that of the first embodiment described above, but the memory management device is mounted on the personal computer, and values having a certain regularity (regular arrangement). Is different in that a representative value composed of two values is continuous. Hereinafter, the configuration different from that of the first embodiment will be described in detail with reference to FIGS.

本発明におけるメモリ管理装置は、例えば、パーソナルコンピュータ6に実装されている。そして、このパーソナルコンピュータ6は、内部にCPU2と、物理メモリ3と、を備えている。   The memory management device according to the present invention is mounted on the personal computer 6, for example. The personal computer 6 includes a CPU 2 and a physical memory 3 therein.

要素判断処理部4(判断手段)は、仮想メモリVに対する書き込み時に、仮想メモリVに保持する値が一定の規則性を持った値(規則的な配列)であるか否かを判断するものである。本実施例では、仮想メモリVに保持する値が、2つの値からなる代表値が連続する値である場合(例えば、010101…)に、一定の規則性を持った値であると判断される。そして、要素判断処理部4による判断結果が後述する物理メモリ制御処理部5に送られる。また、仮想メモリVに保持する値が、ソフトウェアにより更新された場合にも、更新された値が、2つの値からなる代表値が連続する値であるか否かの判断がされる。   The element determination processing unit 4 (determination unit) determines whether or not the value held in the virtual memory V is a value having a certain regularity (regular arrangement) when writing to the virtual memory V. is there. In this embodiment, the value held in the virtual memory V is determined to be a value having a certain regularity when the representative value composed of two values is a continuous value (for example, 010101...). . Then, the determination result by the element determination processing unit 4 is sent to a physical memory control processing unit 5 described later. Even when the value held in the virtual memory V is updated by software, it is determined whether or not the updated value is a value in which a representative value composed of two values is continuous.

物理メモリ制御処理部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の値を読み出す。   The physical memory control processing unit 5 (allocating unit, reading unit) sets “valid” or “invalid” to the determination flag V and the determination flag P based on the determination result sent from the element determination processing unit 4. , Regions of the representative value P or the values P1 to PN are assigned to the values V1 to VN. For example, when the element determination processing unit 4 determines that the value held in the virtual memory V is a value in which a representative value composed of two values is continuous, the determination flag V and the determination flag P are set to “valid”. And the physical memory 3 is allocated only to the representative value held by the virtual memory V. Specifically, when the value held in the virtual memory V is 010101..., The area of the representative value P of the physical memory 3 is assigned to two values “01” that are representative values. The physical memory control processing unit 5 reads the value of the representative value P in the physical memory 3 when any of the values V1 to VN on the virtual memory V is referred to by software.

代表値Pは、図9に示すように、物理メモリ3の領域であり、仮想メモリVに保持する値の代表値に対して割り当てるものである。ここで、代表値は、仮想メモリV上に確保した値が、2つの値からなる代表値が連続する値である場合の、2つの値である。例えば、仮想メモリV上に確保した値が、010101…、である場合の「01」、が代表値である。   The representative value P is an area of the physical memory 3 as shown in FIG. 9, and is assigned to the representative value of the value held in the virtual memory V. Here, the representative value is two values when the value secured on the virtual memory V is a value in which a representative value composed of two values is continuous. For example, “01” when the value secured on the virtual memory V is “010101...” Is the representative value.

次に、上記構成のパーソナルコンピュータ6の動作を、図4を参照して説明する。まず、仮想メモリ制御機能を備えたパーソナルコンピュータ6上で、ソフトウェアが起動され(ステップS1)、このソフトウェアが、N個の値を仮想メモリV上に確保する(ステップS2)。すると、図9に示すように、仮想メモリVに判定フラグV及び値V1乃至値VNの領域が確保される。そして、仮想メモリVに対する書き込みが発生したとき、この書き込み発生の情報を受けた要素判断処理部4は、仮想メモリVに保持する値が、2つの値からなる代表値が連続する値(規則的な配列)であるか否かの判断を行い(判断工程)、この判断結果を物理メモリ制御処理部5に送る。   Next, the operation of the personal computer 6 having the above configuration will be described with reference to FIG. First, software is activated on the personal computer 6 having a virtual memory control function (step S1), and the software secures N values on the virtual memory V (step S2). Then, as shown in FIG. 9, areas of the determination flag V and the values V1 to VN are secured in the virtual memory V. When the write to the virtual memory V occurs, the element determination processing unit 4 that has received the information on the occurrence of the write stores a value (regularity) in which the value held in the virtual memory V is a representative value composed of two values. Is determined (determination step), and the determination result is sent to the physical memory control processing unit 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を効率的に使用することができる。   At this time, if the value held in the virtual memory V is determined to be a value in which the representative value composed of two values is continuous (positive determination in step S3), the physical memory control processing unit 5 determines The flag V is set to “valid” (step S4), and values are set to the values V1 to VN on the virtual memory V, respectively. Then, as shown in FIG. 9, the physical memory control processing unit 5 secures areas for the determination flag P and the representative value P in the physical memory 3. Further, the physical memory control processing unit 5 allocates an area of the determination flag P to the determination flag V, and sets the representative value P of the physical memory 3 to the value V1 and the value V2 that are representative values on the virtual memory V. An area is allocated (step S5, allocation process). Here, when the determination flag V and the determination flag P are “valid”, the physical memory 3 is not assigned to the values V3 to VN on the virtual memory V. Accordingly, since the amount of use of the physical memory 3 for the virtual memory V can be reduced by the amount of the free area P, the physical memory 3 can be used efficiently.

ここで、要素判断処理部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、割当工程)。   Here, when the element determination processing unit 4 determines that the value secured in the virtual memory V is not a value in which the representative value composed of two values is a continuous value (negative determination in step S3, determination step). The determination flag V is set to “invalid” by the physical memory control processing unit 5 (step S6), and the values V1 to VN on the virtual memory V are set. Then, as shown in FIG. 3, the physical memory control processing unit 5 secures areas for the determination flag P and the values P1 to PN in the physical memory 3. Further, the physical memory control processing unit 5 assigns an area of the determination flag P to the determination flag V, and areas of the values P1 to PN of the physical memory 3 with respect to the values V1 to VN on the virtual memory V. Is assigned (step S7, assignment step).

次に、仮想メモリV上の代表値である値V1及び値V2に対して、物理メモリ3の代表値Pの領域が割り当てられた後に、ソフトウェアによって仮想メモリVに保持する値が更新された場合の動作を、図5を参照して説明する。なお、ソフトウェアによる更新がなされる前は、仮想メモリVに保持する値が、2つの値からなる代表値が連続する値であるため、判定フラグV及び判定フラグPは、共に「有効」に設定されているものとする。   Next, the value stored in the virtual memory V is updated by software after the area of the representative value P of the physical memory 3 is assigned to the values V1 and V2 that are the representative values on the virtual memory V. The operation will be described with reference to FIG. Note that before the update by software, the value held in the virtual memory V is a value in which a representative value consisting of two values is continuous, so both the determination flag V and the determination flag P are set to “valid”. It is assumed that

まず、ソフトウェアによって、仮想メモリVに保持する値、具体的には、仮想メモリV上の値V1乃至値VNに設定された値が更新される(ステップS11)。すると、要素判断処理部4により、更新された値が、2つの値からなる代表値が連続する値であるか否かが判断される(判断工程)。そして、この更新された値が、2つの値からなる代表値が連続する値ではないと判断されると(ステップS12にて否定判断)、この判断結果を受けた物理メモリ制御処理部5により、判定フラグV及び判定フラグPが「無効」に設定変更される(ステップS13)。さらに、更新された値が、仮想メモリV上の値V1乃至値VNに設定されると共に、図3に示すように、この設定された値V1乃至値VNに対して、物理メモリ制御処理部5は、物理メモリ3の値P1乃至値PN割り当てる(ステップS14、割当工程)。   First, the values held in the virtual memory V, specifically, the values set to the values V1 to VN on the virtual memory V are updated by software (step S11). Then, the element determination processing unit 4 determines whether or not the updated value is a value in which a representative value composed of two values is continuous (determination step). Then, when it is determined that the updated value is not a value in which the representative value composed of the two values is continuous (negative determination in step S12), the physical memory control processing unit 5 that has received the determination result The determination flag V and the determination flag P are changed to “invalid” (step S13). Further, the updated values are set to the values V1 to VN on the virtual memory V, and as shown in FIG. 3, the physical memory control processing unit 5 is applied to the set values V1 to VN. Assigns the values P1 to PN of the physical memory 3 (step S14, assignment step).

ここで、仮想メモリV上の値V1乃至値VNに設定された値が更新され、更新される前の値と別の値となったものの、更新後の値もまた、2つの値からなる代表値が連続する値である場合(例えば、010101…が更新されて101010…となった場合)には(ステップS12にて肯定判断、判断工程)、物理メモリ制御処理部5は、仮想メモリV上の代表値である値V1及び値V2に対して、物理メモリ3の代表値Pの領域を割り当てる(ステップS15、割当工程)。   Here, although the values set in the values V1 to VN on the virtual memory V are updated to be different from the values before the update, the updated values are also representatives of two values. When the values are continuous values (for example, when 010101... Has been updated to become 101010...) (Affirmative determination in step S12, determination step), the physical memory control processing unit 5 An area of the representative value P of the physical memory 3 is assigned to the value V1 and the value V2 that are representative values of (step S15, assignment step).

続いて、仮想メモリV上の全ての値(値V1乃至値VN)に対して、物理メモリ3(値P1乃至値PN)が割り当てられた後に、ソフトウェアによって仮想メモリVが保持する値が更新され、2つの値からなる代表値が連続する値となった場合の動作を、図6を参照して説明する。なお、ソフトウェアによる更新がなされる前は、仮想メモリVに保持する値が全て同じ値ではないため、判定フラグV及び判定フラグPは共に「無効」に設定されているものとする。   Subsequently, after the physical memory 3 (value P1 to value PN) is assigned to all values (value V1 to value VN) on the virtual memory V, the values held in the virtual memory V are updated by software. The operation when the representative value consisting of two values becomes a continuous value will be described with reference to FIG. Note that, before the update by software, the values held in the virtual memory V are not all the same value, so it is assumed that both the determination flag V and the determination flag P are set to “invalid”.

まず、ソフトウェアによって、仮想メモリ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、割当工程)。   First, the values held in the virtual memory V, specifically, the values set to the values V1 to VN on the virtual memory V are updated by software (step S21). Then, the element determination processing unit 4 determines whether or not the updated value is a value in which a representative value composed of two values is continuous (determination step). When it is determined that the updated value is a value in which the representative value composed of the two values is continuous (affirmative determination in step S22), the physical memory control processing unit 5 that receives the determination result The determination flag V and the determination flag P are set to “valid” (step S23). Then, values are set to the values V1 to VN on the virtual memory V, respectively. Then, the physical memory control processing unit 5 releases the values P1 to PN of the physical memory 3 assigned to the values V1 to VN on the virtual memory V (step S24), and as shown in FIG. An area of the representative value P of the physical memory 3 is assigned to the values V1 and V2 that are representative values on the virtual memory V (step S25, assignment step).

ここで、仮想メモリV上の値V1乃至値VNに設定された値が更新されたものの、更新後の値が全て同じ値ではない場合には(ステップS22にて否定判断、判断工程)、設定変更された全ての値に対して、物理メモリ3の値P1乃至値PNを割り当てる(ステップS26、割当工程)。   Here, if the values set in the values V1 to VN on the virtual memory V have been updated, but the updated values are not all the same value (negative determination in step S22, determination step), setting The values P1 to PN in the physical memory 3 are assigned to all changed values (step S26, assignment step).

これにより、仮想メモリVに保持する値が、一定の規則性を持った値(規則的な配列)である場合に、物理メモリ3の使用量の減少を図り、物理メモリ3を効率的に使用して、処理の高速化を図ることができる。また、仮想メモリVに保持する値が更新され、一定の規則性を持った値でないものとなっても、仮想メモリVに物理メモリ3を割り当てることができる。   As a result, when the value held in the virtual memory V is a value having regularity (regular arrangement), the amount of use of the physical memory 3 is reduced, and the physical memory 3 is used efficiently. Thus, the processing speed can be increased. Even if the value held in the virtual memory V is updated and the value does not have a certain regularity, the physical memory 3 can be allocated to the virtual memory V.

さらに、アクセス対象である物理メモリ3の使用量が少ないため、仮想メモリVを確保して初期値設定する際などには、高速な初期化が可能となる。また、例えば、メモリの初期化漏れによるソフトウェア動作不正を防止するために、仮想メモリV確保時に初期値設定するプログラミング手法などでは、初期値設定時点における物理メモリ3確保を、必要最小限に抑えることができるため、物理メモリ3の使用量を抑えながら、ソフトウェアによる処理の高速化を図ることができる。   Further, since the amount of use of the physical memory 3 to be accessed is small, high-speed initialization is possible when the virtual memory V is secured and the initial value is set. Further, for example, in order to prevent software operation fraud due to omission of memory initialization, a programming technique for setting an initial value when a virtual memory V is secured should minimize the physical memory 3 at the time of initial value setting. Therefore, it is possible to increase the processing speed by software while suppressing the usage amount of the physical memory 3.

なお、本実施例では、仮想メモリVに保持する値が、2つの値からなる代表値が連続する値(例えば、代表値01が連続する配列、010101…)である場合に、一定の規則性を持った値であると判断される場合を説明したが、これは一例であって、2以上の値からなる代表値が連続する値(例えば、代表値123が連続する配列、123123123…)などであってもよい。   In this embodiment, when the value held in the virtual memory V is a value in which representative values composed of two values are continuous (for example, an array in which representative values 01 are continuous, 010101...), The regularity is constant. However, this is an example, and a value in which representative values composed of two or more values continue (for example, an array in which representative values 123 are continuous, 123123123...), Etc. It may be.

また、本実施例では、メモリ管理装置がパーソナルコンピュータ6に実装されている場合を説明したが、他の電子機器であってもよい。   In this embodiment, the case where the memory management device is mounted on the personal computer 6 has been described. However, other electronic devices may be used.

本発明は、仮想メモリ制御機能を備えたメモリ管理装置に利用することができ、産業上の利用可能性を有する。   The present invention can be used for a memory management apparatus having a virtual memory control function, and has industrial applicability.

実施例1におけるメモリ管理装置の構成を示すブロック図である。1 is a block diagram illustrating a configuration of a memory management device in Embodiment 1. FIG. 実施例1における仮想メモリ及び物理メモリの関係を説明する説明図である。3 is an explanatory diagram illustrating a relationship between a virtual memory and a physical memory in Embodiment 1. FIG. 仮想メモリ及び物理メモリの関係を説明する説明図である。It is explanatory drawing explaining the relationship between a virtual memory and a physical memory. メモリ管理装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a memory management apparatus. メモリ管理装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a memory management apparatus. メモリ管理装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a memory management apparatus. メモリ管理装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a memory management apparatus. 実施例2におけるメモリ管理装置の構成を示すブロック図である。FIG. 10 is a block diagram illustrating a configuration of a memory management device according to a second embodiment. 実施例2における仮想メモリ及び物理メモリの関係を説明する説明図である。FIG. 10 is an explanatory diagram illustrating a relationship between a virtual memory and a physical memory according to a second embodiment.

符号の説明Explanation of symbols

1 携帯電話(メモリ管理装置)
2 CPU(制御装置)
3 物理メモリ
4 要素判断処理部(判断手段)
5 物理メモリ制御処理部(割当手段、読出手段)
6 パーソナルコンピュータ(メモリ管理装置)
1 Mobile phone (memory management device)
2 CPU (control device)
3 Physical memory 4 Element determination processing unit (determination means)
5 Physical memory control processing unit (allocation means, reading means)
6 Personal computer (memory management device)

Claims (13)

仮想メモリに対する物理メモリの割り当て制御を行うメモリ管理装置であって、
前記仮想メモリに保持する値が、少なくとも1以上の値からなる代表値が連続する規則的な配列であるか否かを判断する判断手段と、
この判断手段により前記仮想メモリに保持する値が規則的な配列であると判断された場合に、当該仮想メモリ上の前記代表値にのみ前記物理メモリを割り当てる割当手段と、を備え、
前記判断手段は、前記仮想メモリに対する書き込み時と、前記仮想メモリに保持する値が更新された時に、当該仮想メモリに保持する値が規則的な配列であるか否かを判断する、
ことを特徴とするメモリ管理装置。
A memory management device that controls allocation of physical memory to virtual memory,
Determining means for determining whether or not the value held in the virtual memory is a regular array in which representative values of at least one or more values are continuous;
An allocation unit that allocates the physical memory only to the representative value on the virtual memory when the determination unit determines that the value held in the virtual memory is a regular array; and
The determination means determines whether or not the values held in the virtual memory are regular arrays when writing to the virtual memory and the values held in the virtual memory are updated.
A memory management device.
前記メモリ管理装置は、前記仮想メモリに保持する値のいずれかが参照された時に、前記割当手段により割り当てられた前記物理メモリの前記代表値を使用する読出手段を備えた、ことを特徴とする請求項1記載のメモリ管理装置。   The memory management device includes a reading unit that uses the representative value of the physical memory allocated by the allocation unit when any of the values held in the virtual memory is referenced. The memory management device according to claim 1. 前記割当手段は、前記判断手段により前記仮想メモリに保持する値が規則的な配列でないと判断された場合に、当該仮想メモリに保持する値の全てに前記物理メモリを割り当てる、ことを特徴とする請求項1又は2に記載のメモリ管理装置。   The assigning means assigns the physical memory to all of the values held in the virtual memory when the judging means determines that the values held in the virtual memory are not regular arrays. The memory management device according to claim 1. 前記割当手段は、前記代表値が1つの値である場合に、当該代表値である1つの値にのみ前記物理メモリを割り当てる、ことを特徴とする請求項1乃至3のいずれかに記載のメモリ管理装置。   4. The memory according to claim 1, wherein, when the representative value is one value, the allocating unit allocates the physical memory only to one value that is the representative value. 5. Management device. 前記割当手段は、前記代表値が2以上の値である場合に、当該代表値である2以上の値に前記物理メモリを割り当てる、ことを特徴とする請求項1乃至3のいずれかに記載のメモリ管理装置。   The said allocation means allocates the said physical memory to the value of 2 or more which is the said representative value, when the said representative value is a value of 2 or more, The Claim 1 thru | or 3 characterized by the above-mentioned. Memory management device. 請求項1乃至5のいずれかに記載のメモリ管理装置を備えた、ことを特徴とする情報処理装置。   An information processing apparatus comprising the memory management apparatus according to claim 1. 請求項1乃至5のいずれかに記載のメモリ管理装置を備えた、ことを特徴とする携帯電話機。   A mobile phone comprising the memory management device according to claim 1. 制御装置にて、仮想メモリに対する物理メモリの割り当て制御を行うメモリ管理方法であって、
前記制御装置が備える判断手段により、前記仮想メモリに保持する値が、少なくとも1以上の値からなる代表値が連続する規則的な配列であるか否かを判断する判断工程と、
この判断工程により前記仮想メモリに保持する値が規則的な配列であると判断された場合に、前記制御装置が備える割当手段により、前記仮想メモリ上の前記代表値にのみ前記物理メモリを割り当てる割当工程と、
を有すると共に、
前記判断工程は、前記仮想メモリに対する書き込み時と、前記仮想メモリに保持する値が更新された時に、当該仮想メモリに保持する値が規則的な配列であるか否かを判断する、
ことを特徴とするメモリ管理方法。
A memory management method for performing physical memory allocation control for virtual memory in a control device,
A determination step of determining whether or not the value held in the virtual memory is a regular array of representative values consisting of at least one or more values by the determination means provided in the control device ;
Allocation that allocates the physical memory only to the representative value on the virtual memory by the allocation unit provided in the control device when it is determined that the value held in the virtual memory is a regular array by this determination step Process,
And having
The determination step determines whether or not the values held in the virtual memory are regular arrays when writing to the virtual memory and the values held in the virtual memory are updated.
And a memory management method.
前記割当工程の後に、前記仮想メモリに保持する値のいずれかが参照された時に、前記制御装置が備える読出手段が、前記割当工程により割り当てられた前記物理メモリの前記代表値を使用する読出工程を有する、ことを特徴とする請求項8記載のメモリ管理方法。 A reading step in which, when any of the values held in the virtual memory is referenced after the allocation step , the reading unit included in the control device uses the representative value of the physical memory allocated in the allocation step. The memory management method according to claim 8, further comprising: 前記判断工程と前記割当工程とを繰り返し、所定の前記割当工程は、直前の前記判断工程により前記仮想メモリに保持する値が規則的な配列ではないと判断された場合に、当該仮想メモリに保持する値の全てに前記物理メモリを割り当てる、ことを特徴とする請求項8又は9記載のメモリ管理方法。   The determination step and the allocation step are repeated, and the predetermined allocation step is retained in the virtual memory when it is determined by the immediately previous determination step that the values retained in the virtual memory are not regular arrays. 10. The memory management method according to claim 8, wherein the physical memory is allocated to all values to be processed. 前記割当工程は、前記代表値が1つの値である場合に、当該代表値である1つの値にのみ前記物理メモリを割り当てる、ことを特徴とする請求項8乃至10のいずれかに記載のメモリ管理方法。   The memory according to any one of claims 8 to 10, wherein the allocating step allocates the physical memory only to one value that is the representative value when the representative value is one value. Management method. 前記割当工程は、前記代表値が2以上の値である場合に、当該代表値である2以上の値に前記物理メモリを割り当てる、ことを特徴とする請求項8乃至10のいずれかに記載のメモリ管理方法The said allocation process allocates the said physical memory to the value of 2 or more which is the said representative value, when the said representative value is a value of 2 or more. Memory management method . 仮想メモリに対する物理メモリの割り当て制御を行う制御装置に、
前記仮想メモリに保持する値が、少なくとも1以上の値からなる代表値が連続する規則的な配列であるか否かを判断する判断手段と、
この判断手段により前記仮想メモリに保持する値が規則的な配列であると判断された場合に、当該仮想メモリ上の前記代表値にのみ前記物理メモリを割り当てる割当手段と、
を実現させると共に、
前記判断手段は、前記仮想メモリに対する書き込み時と、前記仮想メモリに保持する値が更新された時に、当該仮想メモリに保持する値が規則的な配列であるか否かを判断することを実現させる、プログラム。
In the control device that controls the allocation of physical memory to virtual memory,
Determining means for determining whether or not the value held in the virtual memory is a regular array in which representative values of at least one or more values are continuous;
An allocation unit that allocates the physical memory only to the representative value on the virtual memory when the determination unit determines that the value held in the virtual memory is a regular array;
And realize
The determination unit is configured to determine whether or not the values held in the virtual memory are regularly arranged when writing to the virtual memory and when the values held in the virtual memory are updated . , Program.
JP2006295267A 2006-10-31 2006-10-31 Memory management device Expired - Fee Related JP4715723B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006295267A JP4715723B2 (en) 2006-10-31 2006-10-31 Memory management device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006295267A JP4715723B2 (en) 2006-10-31 2006-10-31 Memory management device

Publications (2)

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

Family

ID=39444805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006295267A Expired - Fee Related JP4715723B2 (en) 2006-10-31 2006-10-31 Memory management device

Country Status (1)

Country Link
JP (1) JP4715723B2 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02176951A (en) * 1988-12-28 1990-07-10 Nec Corp Virtual storage device
JPH02310750A (en) * 1989-05-26 1990-12-26 Nec Corp Missing page processing system
JPH05120131A (en) * 1991-10-24 1993-05-18 Sharp Corp Storage managing system in computer
JPH06208511A (en) * 1992-09-17 1994-07-26 Internatl Business Mach Corp <Ibm> Page frame data protection method
JPH1027127A (en) * 1996-07-09 1998-01-27 Kobe Nippon Denki Software Kk Data compression storage arithmetic unit
JP2002278837A (en) * 2001-02-13 2002-09-27 Internatl Business Mach Corp <Ibm> System and method for managing memory compression transparent for operating system
JP2003271453A (en) * 2002-03-13 2003-09-26 Sony Corp Memory managing device and method and program
JP2004355124A (en) * 2003-05-27 2004-12-16 Internatl Business Mach Corp <Ibm> Direct-addressed shared compressed memory system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02176951A (en) * 1988-12-28 1990-07-10 Nec Corp Virtual storage device
JPH02310750A (en) * 1989-05-26 1990-12-26 Nec Corp Missing page processing system
JPH05120131A (en) * 1991-10-24 1993-05-18 Sharp Corp Storage managing system in computer
JPH06208511A (en) * 1992-09-17 1994-07-26 Internatl Business Mach Corp <Ibm> Page frame data protection method
JPH1027127A (en) * 1996-07-09 1998-01-27 Kobe Nippon Denki Software Kk Data compression storage arithmetic unit
JP2002278837A (en) * 2001-02-13 2002-09-27 Internatl Business Mach Corp <Ibm> System and method for managing memory compression transparent for operating system
JP2003271453A (en) * 2002-03-13 2003-09-26 Sony Corp Memory managing device and method and program
JP2004355124A (en) * 2003-05-27 2004-12-16 Internatl Business Mach Corp <Ibm> Direct-addressed shared compressed memory system

Also Published As

Publication number Publication date
JP2008112332A (en) 2008-05-15

Similar Documents

Publication Publication Date Title
US7971026B2 (en) Information processing apparatus and access control method
KR20190043868A (en) Memory system and operating method thereof
US20170228191A1 (en) Systems and methods for suppressing latency in non-volatile solid state devices
KR20130096881A (en) Flash memory device
CN105446888A (en) Data transferring method between storage devices, controller, and storage system
US20060026359A1 (en) Multiprocessor system having plural memory locations for respectively storing TLB-shootdown data for plural processor nodes
KR20160106240A (en) Semiconductor device and operating method thereof
JP2018063505A (en) Memory management control unit, memory management control method and memory management control program
US20080244118A1 (en) Method and apparatus for sharing buffers
KR20190032839A (en) Storage device, method for operating the same storage system including the storage device
KR20100102283A (en) Flash memory apparatus and method of controlling the same
US20060206668A1 (en) Data processing system and data decompression method
US7484070B1 (en) Selective memory block remapping
CN110119245B (en) Method and system for operating NAND flash memory physical space to expand memory capacity
CN107924363B (en) Automated memory management using a memory management unit
JP6696052B2 (en) Storage device and storage area management method
EP2808798B1 (en) Memory management apparatus and process for moving, expanding or writing of a virtual area
CN113805792A (en) Memory system and operating method thereof
KR101535792B1 (en) Apparatus for configuring operating system and method thereof
US11226738B2 (en) Electronic device and data compression method thereof
JP4715723B2 (en) Memory management device
KR101549569B1 (en) Method for performing garbage collection and flash memory apparatus using the method
US20160179686A1 (en) Memory management method for supporting shared virtual memories with hybrid page table utilization and related machine readable medium
JP2006252031A (en) Disk array controller
JP2011076497A (en) Information processing apparatus, semiconductor storage device and program

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