JP6716894B2 - Memory allocation device, memory allocation method, and program - Google Patents

Memory allocation device, memory allocation method, and program Download PDF

Info

Publication number
JP6716894B2
JP6716894B2 JP2015226323A JP2015226323A JP6716894B2 JP 6716894 B2 JP6716894 B2 JP 6716894B2 JP 2015226323 A JP2015226323 A JP 2015226323A JP 2015226323 A JP2015226323 A JP 2015226323A JP 6716894 B2 JP6716894 B2 JP 6716894B2
Authority
JP
Japan
Prior art keywords
volatile
memory
characteristic information
main
access
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.)
Active
Application number
JP2015226323A
Other languages
Japanese (ja)
Other versions
JP2017097458A (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 JP2015226323A priority Critical patent/JP6716894B2/en
Publication of JP2017097458A publication Critical patent/JP2017097458A/en
Application granted granted Critical
Publication of JP6716894B2 publication Critical patent/JP6716894B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、メモリ割り当て装置、メモリ割当方法、および、プログラム、特に、主記憶装置として揮発性メモリと不揮発性メモリの両者を使用するメモリ割り当て装置、メモリ割当方法、および、プログラムに関する。 The present invention relates to a memory allocation device, a memory allocation method, and a program, and particularly to a memory allocation device, a memory allocation method, and a program that use both a volatile memory and a non-volatile memory as a main storage device.

低速であるものの容量あたりのコストに優れ、不揮発性の特性を持つHDD(Hard Disk Drive)などは、データの永続性保証が可能な補助記憶装置として使用されている。一方、容量あたりのコストは高価であるが、高速アクセスが可能なDRAM(Dynamic Random Access Memory)は揮発性の特性を持つため、データの永続性を保証しない主記憶装置として利用されている。 An HDD (Hard Disk Drive) or the like, which has a low-speed but excellent cost per capacity and has a non-volatile characteristic, is used as an auxiliary storage device capable of guaranteeing the durability of data. On the other hand, although the cost per capacity is high, a DRAM (Dynamic Random Access Memory) capable of high-speed access has a volatile characteristic, and is therefore used as a main storage device that does not guarantee the persistence of data.

補助記憶装置と主記憶装置は、その大きな特性の差違から、アプリケーション側が意識して別の記憶デバイスとして管理されている。主記憶装置はCPU(Central Processing Unit)の同期命令であるload/store命令、あるいは、MOV命令によってアクセスされている。一方、補助記憶装置はデバイスドライバを介して、DMA(Direct Memory Access)による非同期処理が行われていた。その理由は、比較的低速なI/O処理時間をCPU使用時間から隠ぺいするためである。 The auxiliary storage device and the main storage device are managed by the application side as separate storage devices because of the large difference in characteristics. The main storage device is accessed by a load/store instruction which is a synchronous instruction of a CPU (Central Processing Unit) or a MOV instruction. On the other hand, the auxiliary storage device has been subjected to asynchronous processing by DMA (Direct Memory Access) via a device driver. The reason is that the relatively slow I/O processing time is hidden from the CPU usage time.

近年では、NAND フラッシュや、相変化メモリなどの新たな不揮発性メモリ(以降、NV(Non-Volatile)メモリと略記)が出現している。これらの新たなNVメモリは、高速ランダムアクセス性能を持ちながら、低コストかつ不揮発性、すなわちデータの永続保持特性、を合わせ持ち、CPUの同期命令であるload/store命令、あるいは、MOV命令によってアクセスされる。 In recent years, new nonvolatile memories such as NAND flash and phase change memory (hereinafter abbreviated as NV (Non-Volatile) memory) have appeared. These new NV memories have high-speed random access performance as well as low cost and non-volatility, that is, permanent data retention characteristics, and can be accessed by load/store or MOV instructions that are CPU synchronous instructions. To be done.

新たなNVメモリはHDD等の補助記憶装置に取って代わりつつあり、コンピュータ等の情報処理装置内で、DRAMのような揮発性メモリと、新たなNVメモリが主記憶装置として混在していくことが想像される。 A new NV memory is being replaced by an auxiliary storage device such as an HDD, and a volatile memory such as DRAM and a new NV memory will coexist as a main storage device in an information processing device such as a computer. Is imagined.

特許文献1は、異なるレイテンシ時間を持つメモリ装置を有するシステムを開示する。このシステムは、頻繁にアクセスされるメモリアドレスを、物理メモリの最短レイテンシ時間領域に割り当てる。 Patent Document 1 discloses a system having memory devices having different latency times. This system allocates frequently accessed memory addresses to the shortest latency time area of physical memory.

この為、このシステムは、例えば、最初に最短レイテンシ時間グループから優先的にメモリを割り当てることによって、オペレーティングシステムが、このマッピングを利用できるようにする。また、メモリが満杯である場合には、オペレーティングシステムは、メモリのどのエリアが最も頻繁にアクセスされるかを監視し、次に、より短いレイテンシ時間グループとより長いレイテンシ時間グループとの間であちこちにデータを移動させる。 Thus, the system makes this mapping available to the operating system, for example, by first allocating memory preferentially from the shortest latency time group. Also, when the memory is full, the operating system monitors which areas of memory are accessed most often, and then fro between shorter latency time groups and longer latency time groups. Move data to.

特表2006-500668号公報Special table 2006-500668

情報処理装置内において、主記憶装置は、ほぼ単一階層の記憶域として扱われてきた。つまり、主記憶装置に用いられるメモリデバイスは、物理的な距離、すなわちレイテンシの違いが意識されることは有っても、基本的に単一特性をもつものとして扱われてきた。アプリケーション側は、メモリデバイスの特性を区別していないのが一般的であった。このような技術の例は、特許文献1のシステムや、NUMA(Non-Uniform Memory Access)システムで見られる。 In the information processing device, the main storage device has been treated as a storage region of almost a single hierarchy. That is, the memory device used for the main memory has been basically treated as having a single characteristic even though the physical distance, that is, the difference in latency is conscious. The application side generally did not distinguish the characteristics of the memory device. An example of such a technique is found in the system of Patent Document 1 and the NUMA (Non-Uniform Memory Access) system.

今後、新たなNVメモリの性能等が、DRAM等にいっそう近づいてくると、NVメモリを、補助記憶装置としてではなく、主記憶装置として扱いたいというニーズが生まれること予想される。この場合、アプリケーションに主記憶装置のメモリ領域を割り当てる際に、アプリケーションが要求する特性や性能を担保することが必要となる。しかし、特許文献1のシステムのようにオペレーティングシステムによる推定に基づく割当方法は、アプリケーション側の要求にきめ細かく対応するのは困難である。 In the future, when the performance of the new NV memory gets closer to that of DRAM, etc., it is expected that there will be a need to treat the NV memory as a main storage device rather than as an auxiliary storage device. In this case, when allocating the memory area of the main storage device to the application, it is necessary to ensure the characteristics and performance required by the application. However, it is difficult for the allocation method based on estimation by the operating system like the system of Patent Document 1 to finely meet the request from the application side.

本発明は、上記課題を解決し、主記憶としてDRAM等の揮発性メモリとNVメモリが混在する情報処理装置において、アプリケーションが要求するメモリの特性や性能を担保できるメモリ割り当て装置、メモリ割当方法、および、プログラムを提供することを目的とする。 The present invention solves the above problems, in an information processing apparatus in which a NV memory and a volatile memory such as DRAM coexist as a main memory, a memory allocation device capable of ensuring the characteristics and performance of a memory required by an application, a memory allocation method, Also, the purpose is to provide a program.

本発明の1実施の形態のメモリ確保装置は、揮発性の主記憶装置と、不揮発性の主記憶装置と、主記憶装置の各々に関連付けて、揮発性あるいは不揮発性の区別を記憶する特性情報記憶手段と、揮発性あるいは不揮発性の区別を指定した記憶域確保要求を入力されると、前記特性情報記憶手段を検索して指定を満たす主記憶装置を特定して、特定された主記憶装置から領域を確保する主記憶確保手段と、を備える。 A memory securing device according to an embodiment of the present invention relates to a volatile main memory device, a non-volatile main memory device, and characteristic information storing a volatile or non-volatile distinction in association with each of the main memory devices. When the storage means and a storage area reservation request designating volatile or non-volatile distinction are input, the characteristic information storage means is searched to identify a main storage device satisfying the designation, and the identified main storage device is specified. And a main memory reserving means for reserving an area.

本発明の1実施の形態のメモリ確保方法は、揮発性、または、不揮発性主記憶装置の各々に関連付けて、揮発性あるいは不揮発性の区別を特性情報記憶手段に記憶し、揮発性あるいは不揮発性の区別を指定した記憶域確保要求を入力されると、前記特性情報記憶手段を検索して指定を満たす主記憶装置を特定して、特定された主記憶装置から領域を確保する。 A memory securing method according to an embodiment of the present invention stores a volatile or non-volatile distinction in a characteristic information storage means in association with each of a volatile or non-volatile main memory device, When a storage area reservation request specifying the distinction is input, the characteristic information storage unit is searched to specify a main storage device that satisfies the specification, and an area is reserved from the specified main storage device.

本発明の1実施の形態のプログラムは、揮発性の主記憶装置と、不揮発性の主記憶装置とを備えたコンピュータに、主記憶装置の各々に関連付けて、揮発性あるいは不揮発性の区別を特性情報記憶手段に記憶させる処理と、揮発性あるいは不揮発性の区別を指定した記憶域確保要求を入力されると、前記特性情報記憶手段を検索して指定を満たす主記憶装置を特定して、特定された主記憶装置から領域を確保する処理と、を実行させる。 A program according to an embodiment of the present invention relates to a computer provided with a volatile main memory device and a non-volatile main memory device, and associates each of the main memory devices with a volatile or non-volatile characteristic. When a process of storing in the information storage means and a storage area reservation request designating volatile or non-volatile distinction are input, the characteristic information storage means is searched to identify a main storage device that satisfies the designation, and specify. And a process for reserving an area from the main storage device that has been created.

本発明にかかるメモリ割り当て装置は、メモリ割り当てに際し、アプリケーションが要求するメモリの特性や性能を担保する。 The memory allocation device according to the present invention ensures the characteristics and performance of the memory required by the application when allocating the memory.

図1は、第1の実施の形態にかかるメモリ確保装置10の構成を示す図である。FIG. 1 is a diagram showing a configuration of a memory securing device 10 according to the first exemplary embodiment. 図2は、第3の実施の形態にかかるメモリ確保装置10の構成を示す図である。FIG. 2 is a diagram showing the configuration of the memory securing device 10 according to the third embodiment. 図3は、特性情報記憶部1-7に格納される、デバイス特性情報エントリ30の構成を示す図である。FIG. 3 is a diagram showing a configuration of the device characteristic information entry 30 stored in the characteristic information storage unit 1-7. 図4は、特性情報記憶部1-7に格納される、デバイス特性情報テーブル40の構成を示す図である。FIG. 4 is a diagram showing the configuration of the device characteristic information table 40 stored in the characteristic information storage unit 1-7. 図5は、初期設定部1-6の動作フローチャートである。FIG. 5 is an operation flowchart of the initial setting unit 1-6. 図6は、アプリケーションプログラムと主記憶確保部1-5によるメモリ確保の動作フローチャートである。FIG. 6 is an operation flowchart of memory reservation by the application program and the main memory reservation unit 1-5. 図7は、第2の実施の形態にかかるデバイス特性情報エントリ30の構成を示す図である。FIG. 7 is a diagram showing the configuration of the device characteristic information entry 30 according to the second embodiment.

<第1の実施の形態>
<構成>
図1は、本実施の形態にかかるメモリ確保装置10の構成を示す図である。
<First Embodiment>
<Structure>
FIG. 1 is a diagram showing a configuration of a memory securing device 10 according to the present exemplary embodiment.

メモリ確保装置10は、CPU1-1と、CPU1-1に接続されるVメモリ1-3、NVメモリ1-2、およびチップセット1-4と、チップセット1-4を介してCPU1-1に接続されるNVメモリ1-2とを含む。ここで、Vメモリ1-3は、揮発性メモリ、つまり電源供給が絶たれた場合に値の保持ができないメモリであり、例えば、DRAMである。NVメモリ1-2は、不揮発性の半導体メモリ、つまり電源供給が絶たれた場合でも値の保持が可能なメモリであり、例えば、NAND フラッシュや、相変化メモリである。チップセット1-4は、NVメモリ1-2のコントローラを内蔵し、CPU1-1からのメモリアクセス要求をコントロールする装置である。各Vメモリ1-3、およびNVメモリ1-2のアクセス性能、例えば、アクセスレイテンシ時間は一律でなくても良い。 The memory securing device 10 is connected to the CPU1-1, the V memory 1-3 connected to the CPU1-1, the NV memory 1-2, the chipset 1-4, and the chipset 1-4 to the CPU1-1. Including NV memory 1-2 connected. Here, the V memory 1-3 is a volatile memory, that is, a memory that cannot hold a value when the power supply is cut off, and is, for example, a DRAM. The NV memory 1-2 is a non-volatile semiconductor memory, that is, a memory that can retain a value even when power supply is cut off, and is, for example, a NAND flash or a phase change memory. The chipset 1-4 is a device that has a built-in controller for the NV memory 1-2 and controls memory access requests from the CPU 1-1. The access performance of each V memory 1-3 and NV memory 1-2, for example, the access latency time does not have to be uniform.

メモリ確保装置10は、さらに、主記憶確保部1-5と、初期設定部1-6と、特性情報記憶部1-7と、インターコネクト1-8とを含む。主記憶確保部1-5、初期設定部1-6、および特性情報記憶部1-7は、インターコネクト1-8を介して、CPU1-1、Vメモリ1-3、NVメモリ1-2、およびチップセット1-4と接続されている。 The memory securing device 10 further includes a main memory securing unit 1-5, an initial setting unit 1-6, a characteristic information storage unit 1-7, and an interconnect 1-8. The main memory securing unit 1-5, the initial setting unit 1-6, and the characteristic information storage unit 1-7 are connected to the CPU 1-1, the V memory 1-3, the NV memory 1-2, and the Connected with Chipset 1-4.

主記憶確保部1-5は、例えば、CPU1-1により実行されるアプリケーションプログラムから要求を受け付けて、Vメモリ1-3、またはNVメモリ1-2の領域を確保する。初期設定部1-6は、Vメモリ1-3、および、NVメモリ1-2の初期設定時に、それらの特性情報を取得して、特性情報記憶部1-7に登録する。 The main memory securing unit 1-5, for example, receives a request from an application program executed by the CPU 1-1 and secures an area of the V memory 1-3 or the NV memory 1-2. The initial setting unit 1-6 acquires the characteristic information of the V memory 1-3 and the NV memory 1-2 at the time of initial setting, and registers them in the characteristic information storage unit 1-7.

主記憶確保部1-5、および初期設定部1-6は、論理回路で構成される。主記憶確保部1-5、または初期設定部1-6は、Vメモリ1-3、またはNVメモリ1-2に格納されて、CPU1-1に実行されるプログラム(図示されず)により実現されても良い。この場合、メモリ確保装置10は、コンピュータ装置であり、プログラムを実行するCPU1-1が、主記憶確保部1-5、または初期設定部1-6として機能する。この場合、主記憶確保部1-5、および、初期設定部1-6は、例えば、オペレーティングシステムの一部、または、拡張として実現される。 The main memory securing unit 1-5 and the initial setting unit 1-6 are composed of logic circuits. The main memory securing unit 1-5 or the initial setting unit 1-6 is realized by a program (not shown) stored in the V memory 1-3 or the NV memory 1-2 and executed by the CPU 1-1. May be. In this case, the memory securing device 10 is a computer device, and the CPU 1-1 that executes the program functions as the main memory securing unit 1-5 or the initial setting unit 1-6. In this case, the main memory securing unit 1-5 and the initial setting unit 1-6 are realized, for example, as a part of the operating system or as an extension.

特性情報記憶部1-7は、Vメモリ1-3、および、NVメモリ1-2の一部であっても良いし、別個の半導体メモリ装置であっても良い。 The characteristic information storage unit 1-7 may be a part of the V memory 1-3 and the NV memory 1-2, or may be a separate semiconductor memory device.

図3は、特性情報記憶部1-7に格納される、デバイス特性情報エントリ30の構成を示す図である。図4は、特性情報記憶部1-7に格納される、デバイス特性情報テーブル40の構成を示す図である。デバイス特性情報エントリ30と、デバイス特性情報テーブル40とは、Vメモリ1-3、および、NVメモリ1-2の特性情報を格納する。 FIG. 3 is a diagram showing a configuration of the device characteristic information entry 30 stored in the characteristic information storage unit 1-7. FIG. 4 is a diagram showing the configuration of the device characteristic information table 40 stored in the characteristic information storage unit 1-7. The device characteristic information entry 30 and the device characteristic information table 40 store the characteristic information of the V memories 1-3 and the NV memories 1-2.

図3によれば、デバイス特性情報エントリ30は、Vメモリ1-3、およびNVメモリ1-2の各々(以降、メモリデバイスと略記)対応に、デバイスID3-1と、測定済フラグ3-2と、揮発性フラグ3-3と、テーブルポインタ3-4とを格納する。 According to FIG. 3, the device characteristic information entry 30 has a device ID 3-1 and a measured flag 3-2 corresponding to each of the V memory 1-3 and the NV memory 1-2 (hereinafter abbreviated as a memory device). The volatile flag 3-3 and the table pointer 3-4 are stored.

デバイスID3-1は、各メモリデバイスに割当てられたユニークな値であり、識別子として使われる。測定済フラグ3-2は、各メモリデバイスの特性検出、性能測定が行われたか否かを示すフラグである。揮発性フラグ3-3は、各メモリデバイスが揮発性か否かを示すフラグである。テーブルポインタ3-4は、各メモリデバイスの性能特性を保持する、デバイス特性情報テーブル40へのポインタ情報である。 The device ID 3-1 is a unique value assigned to each memory device and is used as an identifier. The measured flag 3-2 is a flag indicating whether or not the characteristic detection and performance measurement of each memory device have been performed. The volatile flag 3-3 is a flag indicating whether or not each memory device is volatile. The table pointer 3-4 is pointer information to the device characteristic information table 40 that holds the performance characteristic of each memory device.

ここで、測定済フラグ3-2は、例えば、メモリデバイスの特性検出、性能測定が実行済みであれば’1‘、未であれば’0’の値を記憶する。測定済フラグ3-2は、メモリデバイスの初期化時に、未であれば特性検出、性能測定を行うための判断に用いられる。揮発性フラグ3-3は、例えば、揮発性のメモリデバイスについては、’1’、不揮発性のメモリデバイスについては、’0’の値を記憶する。テーブルポインタ3-4は、それぞれのメモリデバイスの性能測定情報が格納されているデバイス特性情報テーブル40を指し示すポインタ(アドレス)を記憶する。 Here, the measured flag 3-2 stores, for example, a value of "1" when the characteristic detection and performance measurement of the memory device have been executed, and a value of "0" when the performance measurement has not been executed. The measured flag 3-2 is used for determination for characteristic detection and performance measurement when the memory device is initialized, if not yet done. The volatile flag 3-3 stores, for example, a value of "1" for a volatile memory device and a value of "0" for a nonvolatile memory device. The table pointer 3-4 stores a pointer (address) pointing to the device characteristic information table 40 in which the performance measurement information of each memory device is stored.

図4によれば、デバイス特性情報テーブル40は、各性能属性4-1対応に、性能値4-2を格納する。 According to FIG. 4, the device characteristic information table 40 stores the performance value 4-2 for each performance attribute 4-1.

性能属性4-1は、メモリデバイスの性能測定の条件となるアクセスパターンを記憶する。アクセスパターンは、例えば、シーケンシャルリード、ランダムリード、シーケンシャルライト、またはランダムライトの区別と、データ転送のブロックサイズの組み合わせである。なお図中、シーケンシャルリードはREAD/SEQ、ランダムリードはREAD/RND、シーケンシャルライトはWRITE/SEQ、ランダムライトはWRITE/RNDと表記されている。ブロックサイズは、例えば、64B, 128Bと表記されている。 The performance attribute 4-1 stores an access pattern that is a condition for measuring the performance of the memory device. The access pattern is, for example, a combination of discrimination of sequential read, random read, sequential write, or random write and the block size of data transfer. In the figure, sequential read is shown as READ/SEQ, random read is shown as READ/RND, sequential write is shown as WRITE/SEQ, and random write is shown as WRITE/RND. The block sizes are described as 64B and 128B, for example.

性能値4-2は、対応するアクセスパターンで測定したメモリデバイスの性能値を記憶する。本図では、レイテンシ(単位は[ns])を例に挙げているが、スループットなどとしても良い。 The performance value 4-2 stores the performance value of the memory device measured by the corresponding access pattern. In this figure, latency (unit is [ns]) is taken as an example, but throughput or the like may be used.

<動作>
図5は、初期設定部1-6の動作フローチャートである。初期設定部1-6は、メモリの初期化時、例えば、メモリ確保装置10の立ち上げ時、に起動される。起動されると、初期設定部1-6は、デバイス特性情報エントリ30の各エントリを最初から最後まで順次アクセスして(ステップ5-5、5-6)、以下の処理を行う。
<Operation>
FIG. 5 is an operation flowchart of the initial setting unit 1-6. The initial setting unit 1-6 is activated when the memory is initialized, for example, when the memory securing device 10 is started up. When activated, the initial setting unit 1-6 sequentially accesses each entry of the device characteristic information entry 30 from the beginning to the end (steps 5-5 and 5-6) and performs the following processing.

初期設定部1-6は、ステップ5-1で、アクセス中のエントリの測定済フラグ3-2を読み取り、ステップ5-1aで、性能測定が完了しているか否かの確認を行う。測定済フラグ3-2が’1’で性能測定が完了している場合(ステップ5-1aでYes)、当該エントリに対応するメモリデバイスの性能測定は不要のため、ステップ5-6で、次のエントリのアクセスに進む。 The initial setting unit 1-6 reads the measured flag 3-2 of the entry being accessed in step 5-1 and confirms whether or not the performance measurement is completed in step 5-1a. If the measured flag 3-2 is '1' and the performance measurement is completed (Yes in step 5-1a), the performance measurement of the memory device corresponding to the relevant entry is not necessary, so in step 5-6, To access the entry.

測定済フラグ3-2が’0’で性能測定が完了していない場合は(ステップ5-1aでNo)、初期設定部1-6は、ステップ5-2で、揮発性フラグ3-3の設定と、測定済フラグ3-2の更新を行う。 When the measured flag 3-2 is '0' and the performance measurement is not completed (No in step 5-1a), the initial setting unit 1-6 sets the volatile flag 3-3 in step 5-2. Set and update the measured flag 3-2.

初期設定部1-6は、アクセス中のエントリに対応するメモリデバイスが、システムパラメータ等から明示的に揮発性と判る場合は揮発性フラグ3-3を’1’に、不揮発性と判る場合は揮発性フラグ3-3を’0’に設定する。 The initialization unit 1-6 sets the volatile flag 3-3 to '1' when the memory device corresponding to the entry being accessed is explicitly determined to be volatile from the system parameters and the like, and is determined to be nonvolatile. Set the volatile flag 3-3 to '0'.

明示的に特性が得られない場合、初期設定部1-6は、メモリデバイスへ試験用データを書き込み、メモリデバイスの電源遮断と再投入、メモリデバイスからのデータ読み込み、書き込みデータと読み込みデータの比較を行って、揮発性の確認を行う。初期設定部1-6は、書き込みデータと読み込みデータが一致すれば不揮発性、一致しなければ揮発性と判断する。 If the characteristics cannot be obtained explicitly, the initial setting unit 1-6 writes the test data to the memory device, shuts off the power to the memory device and turns it on again, reads the data from the memory device, compares the write data with the read data. And confirm the volatility. The initial setting unit 1-6 determines that the written data and the read data are non-volatile if they match, and the volatile if they do not match.

初期設定部1-6は、続けて性能測定を行うため、測定済フラグ3-2を、あらかじめ、測定済みを表す’1’に更新する。 The initial setting unit 1-6 updates the measured flag 3-2 to "1" indicating that the measurement has been performed in advance in order to continuously measure the performance.

初期設定部1-6は、ステップ5-3で、アクセス中のエントリに対応するメモリデバイスに対して性能測定を行う。初期設定部1-6は、リード/ライト、シーケンシャルアクセス/ランダムアクセス、ブロックサイズの組み合わせの複数のアクセスパターンで、性能測定を行う。ブロックサイズは、メモリデバイスの特性が変化するサイズや、データベースなどのワークロードのアクセス単位で設定される。ブロックサイズは、例えば、64B, 128B, 256B, 512B, 1KB, 4KB, 8KB, 16KB, 32KB, 64KB, 128GB, 256GB, 512KB, 1MB, 4MBである。 In step 5-3, the initial setting unit 1-6 measures the performance of the memory device corresponding to the entry being accessed. The initial setting unit 1-6 performs performance measurement with a plurality of access patterns including a combination of read/write, sequential access/random access, and block size. The block size is set by the size at which the characteristics of the memory device change or by the access unit of a workload such as a database. The block size is, for example, 64B, 128B, 256B, 512B, 1KB, 4KB, 8KB, 16KB, 32KB, 64KB, 128GB, 256GB, 512KB, 1MB, 4MB.

ステップ5-4で、初期設定部1-6は、ステップ5-3で得られた各パターンの性能測定結果を、デバイス特性情報テーブル40の性能値4-2へ格納する。初期設定部1-6は、性能属性4-1が示すパターンと測定を実施したパターンが一致するエントリへ当該パターンの測定値を格納する。これにより、メモリデバイス毎に、アクセスパターンに応じた性能値を得ることが可能になる。 In step 5-4, the initial setting unit 1-6 stores the performance measurement result of each pattern obtained in step 5-3 in the performance value 4-2 of the device characteristic information table 40. The initial setting unit 1-6 stores the measured value of the pattern in an entry in which the pattern indicated by the performance attribute 4-1 and the pattern on which the measurement is performed match. This makes it possible to obtain a performance value according to the access pattern for each memory device.

初期設定部1-6は、同一メモリデバイス、同一パターンに対して、複数回の性能測定を行い、最悪値、平均値、最良値などを設定する。初期設定部1-6は、これらのうちの、いずれか、1つを性能値4-2に格納しても良いし、各々の測定値を、個別のテーブルに持つようにしても良い。 The initial setting unit 1-6 performs performance measurement a plurality of times on the same memory device and the same pattern, and sets the worst value, average value, best value, and the like. The initial setting unit 1-6 may store any one of these in the performance value 4-2, or may have each measured value in a separate table.

初期設定部1-6は、ステップ5-5で、アクセスしたデバイス特性情報エントリ30が、最終エントリであるか否かを確認する。言い換えると、初期設定部1-6は、すべてのメモリデバイスの性能測定が完了しているかを確認する。初期設定部1-6は、最終エントリであれば(ステップ5-5でYes)、処理を終了し、最終エントリでなければ(ステップ5-5でNo)、ステップ5-6で次のエントリのアクセスに進む。たとえば、図3のデバイス特性情報エントリ30の例において、アクセスしたレコードのデバイスID3-1が’1’だった場合は、ステップ5-6のインクリメントにより、初期設定部1-6は、デバイスID3-1が、’2’のレコードを、以降でアクセスする。 In step 5-5, the initial setting unit 1-6 confirms whether the accessed device characteristic information entry 30 is the final entry. In other words, the initial setting unit 1-6 confirms whether the performance measurement of all memory devices has been completed. If it is the final entry (Yes in step 5-5), the initialization unit 1-6 ends the process. If it is not the final entry (No in step 5-5), the initial setting unit 1-6 selects the next entry in step 5-6. Proceed to access. For example, in the example of the device characteristic information entry 30 of FIG. 3, when the device ID 3-1 of the accessed record is “1”, the initialization unit 1-6 causes the device ID 3- 1 accesses the record of '2' after that.

これにより、性能測定が行われていない、全てのメモリデバイスの性能測定が行われる。また、新たなメモリデバイスが追加される場合、デバイス特性情報テーブル40に新しいレコードが追加される。ホットプラグに対応しているデバイスは、組み込み時の初期化時に、初期設定部1-6が起動されて、性能測定が行われる。 As a result, the performance of all memory devices, for which the performance has not been measured, is measured. Further, when a new memory device is added, a new record is added to the device characteristic information table 40. For devices that support hot-plugging, the initialization section 1-6 is activated at the time of initialization when incorporated, and performance measurements are performed.

図6は、アプリケーションプログラムと主記憶確保部1-5によるメモリ確保の動作フローチャートである。 FIG. 6 is an operation flowchart of memory reservation by the application program and the main memory reservation unit 1-5.

アプリケーションプログラムは、利用可能メモリを得るために、主記憶確保部1-5へメモリアロケーション要求を行う。その際、アプリケーションプログラムは、ステップ6-1で、アロケーションを希望するメモリの要件を指定する。要件は、例えば、メモリデバイスの属性が揮発もしくは不揮発であるかに加え、性能要件、要求メモリサイズを含む。性能要件は、アクセスパターンの種別毎に指定する。性能要件は、例えば、ブロックサイズが128Bのシーケンシャルリードでアクセスレイテンシ500ns未満、ブロックサイズが128Bのシーケンシャルライトでアクセスレイテンシ1μs未、かつ、他のアクセスパターンでアクセスレイテンシは不問というものである。 The application program makes a memory allocation request to the main memory securing unit 1-5 to obtain the available memory. At that time, the application program specifies the memory requirements for allocation in step 6-1. The requirements include, for example, performance requirements and required memory size in addition to whether the attributes of the memory device are volatile or nonvolatile. Performance requirements are specified for each type of access pattern. The performance requirements are, for example, a sequential read with a block size of 128B, an access latency of less than 500 ns, a sequential write with a block size of 128B, an access latency of less than 1 μs, and an access latency of any other access pattern.

アプリケーションプログラムからメモリアロケーション要求を受けて、主記憶確保部1-5が、ステップ6-2で、デバイス特性情報エントリ30とデバイス特性情報テーブル40をスキャンして、要件を満たすメモリデバイスに空きが有るか確認を行う。 In response to the memory allocation request from the application program, the main memory reserving unit 1-5 scans the device characteristic information entry 30 and the device characteristic information table 40 in step 6-2, and there is a vacancy in the memory device satisfying the requirements. Check if.

具体的には、主記憶確保部1-5は、まず、アプリケーションプログラムから指定された、揮発、不揮発性の属性が、揮発性フラグ3-3と一致するデバイス特性情報エントリ30を探す。発見した場合、主記憶確保部1-5は、そのテーブルポインタ3-4が指し示すデバイス特性情報テーブル40の性能属性4-1をスキャンして、アプリケーションプログラムが指定したアクセスパターンの種別と一致するエントリの性能値4-2を参照する。その値が、アプリケーションプログラムの性能要件を満たす範囲であれば、主記憶確保部1-5は、該当するデバイスID3-1に対応するメモリデバイスから領域を確保し、アプリケーションプログラムに割当てる。このとき、主記憶確保部1-5は、該当するメモリデバイスの空き容量の有無により、確保可否の判断を行う。 Specifically, the main memory reserving unit 1-5 first searches for the device characteristic information entry 30 in which the volatile and non-volatile attributes specified by the application program match the volatile flag 3-3. If found, the main memory reserving unit 1-5 scans the performance attribute 4-1 of the device characteristic information table 40 pointed to by the table pointer 3-4, and makes an entry that matches the type of access pattern specified by the application program. Refer to performance value 4-2 of. If the value is within the range that satisfies the performance requirement of the application program, the main memory reserving unit 1-5 reserves an area from the memory device corresponding to the corresponding device ID 3-1 and allocates it to the application program. At this time, the main memory reserving unit 1-5 determines whether or not reserving is possible depending on whether or not there is a free space in the corresponding memory device.

主記憶確保部1-5は、メモリアロケーションに成功すると、例えば、確保したメモリのアドレスをアプリケーションプログラムに通知する。主記憶確保部1-5は、確保したメモリを、アプリケーションプログラムから指定された仮想アドレスにマップしても良い。 When the memory allocation succeeds, the main memory reserving unit 1-5 notifies the application program of the reserved memory address, for example. The main memory securing unit 1-5 may map the secured memory to a virtual address designated by the application program.

主記憶確保部1-5は、全てのデバイス特性情報テーブル40を索引し、アプリケーションプログラムの要件を満たすメモリデバイスのエントリが存在しない場合は、エラーコードをアプリケーションプログラムへ返却する。 The main memory reserving unit 1-5 indexes all the device characteristic information tables 40, and returns an error code to the application program when there is no memory device entry satisfying the requirements of the application program.

アプリケーションプログラムは、ステップ6-3でメモリアロケーション要求の終了コードを参照し、エラーであれば(ステップ6-3でYes)、メモリアロケーションを異常終了する。このとき、アプリケーションプログラムは、要件を変えて再度、メモリアロケーション要求を行っても良い。 The application program refers to the end code of the memory allocation request in step 6-3, and if there is an error (Yes in step 6-3), abnormally ends the memory allocation. At this time, the application program may make another memory allocation request with different requirements.

終了コードがエラーではない場合は(ステップ6-3でNo)、正常にメモリアロケーションが行われている。このため、アプリケーションプログラムは、返却されたメモリのアドレスから、要求したメモリサイズの範囲でメモリアクセスが可能になる。ステップ6-4は、アプリケーションプログラムによる、割り当てられたメモリデバイスへのアクセス部分を示す。 If the exit code is not an error (No in Step 6-3), memory allocation has been performed normally. Therefore, the application program can access the memory within the requested memory size range from the returned memory address. Step 6-4 shows the part of access to the allocated memory device by the application program.

アプリケーションプログラムでの処理が終了し(ステップ6-3aでYes)、該当メモリ空間の解放が可能になる場合、アプリケーションプログラムは、ステップ6-5でメモリデアロケーション要求を主記憶確保部1-5に対して行う。 When the processing in the application program is completed (Yes in step 6-3a) and the corresponding memory space can be released, the application program sends a memory deallocation request to the main memory securing unit 1-5 in step 6-5. To do.

主記憶確保部1-5は、アプリケーションプログラムからのメモリデアロケーション要求に従い、ステップ6-6でメモリ領域を解放する。 The main memory reserving unit 1-5 releases the memory area in step 6-6 according to the memory deallocation request from the application program.

<効果>
本実施の形態にかかるメモリ確保装置10は、メモリ割り当てに際し、アプリケーションプログラムが要求するメモリの特性や性能を担保できる。その理由は、主記憶確保部1-5は、メモリアロケーション要求についてアプリケーションプログラムが指定した要件を受け付けて、当該要件に合ったメモリ領域を確保するからである。要件は、例えば、メモリデバイスの属性が揮発もしくは不揮発であるかに加え、性能要件、要求メモリサイズを含む。
<Effect>
The memory securing device 10 according to the present embodiment can ensure the characteristics and performance of the memory required by the application program when allocating the memory. The reason is that the main memory reserving unit 1-5 accepts the requirements specified by the application program for the memory allocation request and reserves a memory area that meets the requirements. The requirements include, for example, performance requirements and required memory size in addition to whether the attributes of the memory device are volatile or nonvolatile.

この結果、本実施の形態にかかるメモリ確保装置10を利用するアプリケーションプログラムは、特性(揮発、不揮発性、性能特性)の異なるメモリデバイスを、補助記憶装置としてではなく、主記憶装置として一元的に利用できる。 As a result, the application program that uses the memory securing device 10 according to the present embodiment unifies the memory devices having different characteristics (volatile, non-volatile, and performance characteristics) as the main storage device, not as the auxiliary storage device. Available.

<第2の実施形態>
<構成と動作>
図7は、本実施の形態にかかるデバイス特性情報エントリ30の構成を示す図である。本実施の形態にかかるデバイス特性情報エントリ30は、第1の実施の形態のデバイス特性情報エントリ30に比べて、有寿命3-5が追加されている。
<Second Embodiment>
<Structure and operation>
FIG. 7 is a diagram showing the configuration of the device characteristic information entry 30 according to the present embodiment. The device characteristic information entry 30 according to the present embodiment is added with a lifetime 3-5 as compared with the device characteristic information entry 30 according to the first embodiment.

有寿命3-5は、エントリに対応するメモリデバイスの寿命指標を格納する。寿命指標は、例えば、半永久(寿命なし)の場合は0、高位のエンデュランス品は1、中位のエンデュランス品は2、低位のエンデュランス品は3である。例えば、半永久はDRAM、高位のエンデュランス品は相変化メモリ、中位のエンデュランス品はSLC(Single Level Cell) NANDフラッシュ、低位のエンデュランス品はMLC(Multi Level Cell) NANDフラッシュである。 The limited life 3-5 stores the life index of the memory device corresponding to the entry. The life index is, for example, 0 for semi-permanent (no life), 1 for high endurance products, 2 for middle endurance products, and 3 for low endurance products. For example, DRAM is semi-permanent, phase change memory is high endurance product, SLC (Single Level Cell) NAND flash is middle endurance product, and MLC (Multi Level Cell) NAND flash is low endurance product.

本実施の形態の主記憶確保部1-5は、メモリアロケーションの要求についてアプリケーションプログラムが指定した要件として、例えば、メモリデバイスの属性が揮発もしくは不揮発であるか、性能要件、要求メモリサイズ、に加え、寿命指標を受け付ける。その結果、主記憶確保部1-5は、図6のステップ6-2において、アプリケーションプログラムが指定した揮発、不揮発性の属性が、揮発性フラグ3-3と一致し、かつ、アプリケーションプログラムが指定した寿命指標が、有寿命3-5の寿命指標と一致するデバイス特性情報エントリ30を探す。主記憶確保部1-5は、それ以外は第1の実施の形態と同じ動作をする。 The main memory reserving unit 1-5 of the present embodiment, as a requirement specified by the application program for the memory allocation request, for example, whether the attribute of the memory device is volatile or non-volatile, the performance requirement, the required memory size, in addition to , Accept life index. As a result, in step 6-2 of FIG. 6, the main memory reserving unit 1-5 determines that the volatile and non-volatile attributes designated by the application program match the volatile flag 3-3, and the application program designates them. The device characteristic information entry 30 whose searched life index matches the life index of the existing life 3-5 is searched for. Other than that, the main memory securing unit 1-5 operates in the same manner as in the first embodiment.

<効果>
アプリケーションプログラムは、メモリアロケーションの要求で、デバイスの寿命を考慮したデバイスの選択が可能になる。これにより書き込み比率が高いワークロードでは、有寿命品のデバイスの利用を避けることが可能になる。
<Effect>
The application program can select the device in consideration of the life of the device by the memory allocation request. This allows workloads with a high write ratio to avoid the use of end-of-life devices.

<第3の実施形態>
図2は、本実施の形態にかかるメモリ確保装置10の構成を示す図である。メモリ確保装置10は、揮発性の主記憶装置であるVメモリ1-3と、不揮発性の主記憶装置であるNVメモリ1-2と、特性情報記憶部1-7と、主記憶確保部1-5とを備える。
<Third Embodiment>
FIG. 2 is a diagram showing the configuration of the memory securing device 10 according to the present embodiment. The memory securing device 10 includes a V memory 1-3 that is a volatile main memory device, an NV memory 1-2 that is a non-volatile main memory device, a characteristic information storage unit 1-7, and a main memory securing unit 1. -5 and.

特性情報記憶部1-7は、主記憶装置の各々に関連付けて、揮発性あるいは不揮発性の区別を記憶する。主記憶確保部1-5は、揮発性あるいは不揮発性の区別を指定した記憶域確保要求を入力されると、特性情報記憶部1-7を検索して指定を満たす主記憶装置を特定して、特定された主記憶装置から領域を確保する。 The characteristic information storage unit 1-7 stores volatile or non-volatile distinction in association with each of the main storage devices. When the storage reservation request specifying the distinction between volatile and non-volatile is input, the main memory reservation unit 1-5 searches the characteristic information storage unit 1-7 to identify the main storage device that satisfies the specification. Reserve an area from the specified main memory.

なお、メモリ確保要求は、図示されないCUP1-1が実行するアプリケーションプログラムが発行しても良いし、専用の画像処理チップ等が発行しても良い。 The memory reservation request may be issued by an application program executed by CUP1-1 (not shown), or by a dedicated image processing chip or the like.

本実施の形態にかかるメモリ確保装置10は、メモリ割り当てに際し、アプリケーションプログラムが要求するメモリの特性や性能を担保できる。その理由は、主記憶確保部1-5は、メモリアロケーション要求についてアプリケーションプログラムが指定した要件を受け付けて、当該要件に合ったメモリ領域を確保するからである。要件は、例えば、メモリデバイスの属性が揮発もしくは不揮発であるかに加え、性能要件、要求メモリサイズを含む。 The memory securing device 10 according to the present embodiment can ensure the characteristics and performance of the memory required by the application program when allocating the memory. The reason is that the main memory reserving unit 1-5 accepts the requirements specified by the application program for the memory allocation request and reserves a memory area that meets the requirements. The requirements include, for example, performance requirements and required memory size in addition to whether the attributes of the memory device are volatile or nonvolatile.

この結果、本実施の形態にかかるメモリ確保装置10を利用するアプリケーションプログラムは、特性(揮発、不揮発性、性能特性)の異なるメモリデバイスを、補助記憶装置としてではなく、主記憶装置として一元的に利用できる。 As a result, the application program that uses the memory securing device 10 according to the present embodiment unifies the memory devices having different characteristics (volatile, non-volatile, and performance characteristics) as the main storage device, not as the auxiliary storage device. Available.

以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 Although the present invention has been described with reference to the exemplary embodiments, the present invention is not limited to the above exemplary embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

1-1 CPU
1-2 NVメモリ
1-3 Vメモリ
1-4 チップセット
1-5 主記憶確保部
1-6 初期設定部
1-7 特性情報記憶部
1-8 インターコネクト
3-1 デバイスID
3-2 測定済フラグ
3-3 揮発性フラグ
3-4 テーブルポインタ
3-5 有寿命
4-1 性能属性
4-2 性能値
10 メモリ確保装置
30 デバイス特性情報エントリ
40 デバイス特性情報テーブル
1-1 CPU
1-2 NV memory
1-3 V memory
1-4 chipset
1-5 Main memory securing unit
1-6 Initial setting section
1-7 Characteristic information storage
1-8 interconnect
3-1 Device ID
3-2 Measured flag
3-3 Volatile flag
3-4 Table pointer
3-5 Life
4-1 Performance attributes
4-2 Performance value
10 Memory securing device
30 Device characteristic information entry
40 Device characteristic information table

Claims (12)

揮発性の主記憶装置と、
不揮発性の主記憶装置と、
主記憶装置の各々が揮発性であるか不揮発性であるかを示す属性を記憶し、主記憶装置の各々に関連付けて、さらに、リード/ライトの区別と、ランダムアクセス/シーケンシャルアクセスの区別と、ブロックサイズと、の組み合わせであるアクセスパターンごとにアクセス性能を記憶する特性情報記憶手段と、
前記アクセスパターンと前記アクセス性能との組み合わせと、前記属性と、を含む要件を指定した記憶域確保要求が入力されると、前記特性情報記憶手段を検索して、前記要件を満たす主記憶装置を特定し、特定された主記憶装置から領域を確保する主記憶確保手段と、を備え
モリ割当装置。
A volatile main memory device,
A non-volatile main memory device,
Storing an attribute of each of the main storage device indicating whether the non-volatile is a volatilization properties, in association with each of the main memory, further distinguish between the read / write, and distinction between random access / sequential access , A block size, and a characteristic information storage unit that stores access performance for each access pattern that is a combination of
With the access pattern and the combination of the access performance and the attributes and, storage ensures request specifying requirements including is input, the characteristic information by searching the storage unit, a main storage device satisfying the requirements identified, a main storage securing section to secure the area from the main memory specified, Ru provided with,
Memory allocation system.
揮発性の主記憶装置と、
不揮発性の主記憶装置と、
主記憶装置の各々が揮発性であるか不揮発性であるかを示す属性を記憶し、主記憶装置に関連付けて、さらに、寿命の長さを記憶する特性情報記憶手段と、
前記属性と前記寿命の長さとを含む要件を指定した記憶域確保要求が入力されると、前記特性情報記憶手段を検索して、前記要件を満たす主記憶装置を特定し、特定された主記憶装置から領域を確保する主記憶確保手段と、を備え
モリ割当装置。
A volatile main memory device,
A non-volatile main memory device,
Storing an attribute of each of the main storage device indicating whether the non-volatile is a volatilization properties, in association with the main memory, furthermore, a characteristic information storage means for storing the length of life,
When a storage reservation request specifying a requirement including the attribute and the life span is input, the characteristic information storage unit is searched to identify a main storage device that satisfies the requirement, and the identified main storage is specified. a main storage securing means for securing a region from the device, Ru provided with,
Memory allocation system.
前記特性情報記憶手段は、主記憶装置に関連付けて、さらに、アクセス性能を記憶し、
前記主記憶確保手段は、前記アクセス性能をさらに含む前記要件を指定した前記記憶域確保要求が入力されると、前記特性情報記憶手段を検索して、当該要件を満たす主記憶装置を特定し、特定された主記憶装置から領域を確保する請求項2のメモリ割当装置。
The characteristic information storage means further stores access performance in association with a main storage device,
It said main storage securing means, when the access performance the storage allocation request specifying the requirements further comprising a is input, searches the characteristic information storage unit, specifies the main storage device that meets the requirements, The memory allocation device according to claim 2, wherein an area is secured from the identified main storage device.
前記特性情報記憶手段は、主記憶装置に関連付けて、さらに、リード/ライトの区別と、ランダムアクセス/シーケンシャルアクセスの区別と、ブロックサイズと、の組み合わせであるアクセスパターンごとに前記アクセス性能を記憶し、
前記主記憶確保手段は、前記アクセスパターンと前記アクセス性能との組み合わせをさらに含む前記要件を指定した前記記憶域確保要求が入力されると、前記特性情報記憶手段を検索して、当該要件を満たす主記憶装置を特定し、特定された主記憶装置から領域を確保する請求項3のメモリ割当装置。
Said characteristic information storing means, a main storage device in association further stores distinction between read / write, distinguish the random access / sequential access, and the block size, the access performance for each access pattern is a combination of ,
It said main storage securing means, said when the storage ownership request combinations specifying the requirements further comprising a the access pattern and the access performance is input, searches the characteristic information storage means, comply with the requirement 4. The memory allocation device according to claim 3, wherein a main storage device is specified and an area is secured from the specified main storage device.
主記憶装置の各々が揮発性あるいは不揮発性であることを、主記憶装置にアクセスして判別し、判別結果を前記特性情報記憶手段に登録する初期設定手段を、さらに、備える請求項1乃至4の何れか1項のメモリ割当装置。 5. The initial setting means for accessing the main storage device to determine whether each of the main storage devices is volatile or non-volatile, and registering the determination result in the characteristic information storage means, further. 2. The memory allocation device according to any one of 1. コンピュータが、
揮発性、または、不揮発性主記憶装置の各々が、揮発性であるか不揮発性であるかを示す属性を特性情報記憶手段に記憶し、
主記憶装置に関連付けて、さらに、リード/ライトの区別と、ランダムアクセス/シーケンシャルアクセスの区別と、ブロックサイズと、の組み合わせであるアクセスパターンごとにアクセス性能を前記特性情報記憶手段に記憶し、
前記アクセスパターンと前記アクセス性能との組み合わせと、前記属性と、を含む要件を指定した記憶域確保要求が入力されると、前記特性情報記憶手段を検索して、前記要件を満たす主記憶装置を特定し、特定された主記憶装置から領域を確保する
モリ割当方法。
Computer
Each of the volatile or non-volatile main memory stores an attribute indicating whether it is volatile or non-volatile in the characteristic information storage means,
In association with the main storage device, access characteristics are further stored in the characteristic information storage means for each access pattern which is a combination of read/write distinction, random access/sequential access distinction, and block size,
With the access pattern and the combination of the access performance and the attributes and, storage ensures request specifying requirements including is input, the characteristic information by searching the storage unit, a main storage device satisfying the requirements Specify and reserve an area from the specified main memory,
Memory allocation method.
コンピュータが、
揮発性、または、不揮発性主記憶装置の各々が、揮発性であるか不揮発性であるかを示す属性を特性情報記憶手段に記憶し、
主記憶装置に関連付けて、さらに、寿命の長さを前記特性情報記憶手段に記憶し、
前記属性と、前記寿命の長さとを含む要件を指定した記憶域確保要求が入力されると、前記特性情報記憶手段を検索して、前記要件を満たす主記憶装置を特定し、特定された主記憶装置から領域を確保する
モリ割当方法。
Computer
Each of the volatile or non-volatile main memory stores an attribute indicating whether it is volatile or non-volatile in the characteristic information storage means,
In association with the main storage device, further stores the length of life in the characteristic information storage means,
When a storage reservation request specifying a requirement including the attribute and the life span is input, the characteristic information storage unit is searched to identify a main storage device that satisfies the requirement, and the identified main storage device is identified. It secures an area from the storage device,
Memory allocation method.
コンピュータが、
前記特性情報記憶手段に記憶する処理において、主記憶装置に関連付けて、さらに、アクセス性能を前記特性情報記憶手段に記憶し、
前記領域を確保する処理において、前記アクセス性能をさらに含む前記要件を指定した前記記憶域確保要求が入力されると、前記特性情報記憶手段を検索して、当該要件を満たす主記憶装置を特定し、特定された主記憶装置から領域を確保する請求項7のメモリ割当方法。
Computer
In the process of storing in the characteristic information storage means , the access performance is further stored in the characteristic information storage means in association with the main storage device,
In the process of securing the area, said the access performance the storage allocation request specifying the requirements further comprising a is input, the characteristic information by searching the storage unit, specifies the main storage to meet the requirements The memory allocation method according to claim 7, wherein an area is secured from the identified main storage device.
コンピュータが、
前記特性情報記憶手段に記憶する処理において、主記憶装置に関連付けて、さらに、リード/ライトの区別と、ランダムアクセス/シーケンシャルアクセスの区別と、ブロックサイズと、の組み合わせであるアクセスパターンごとに前記アクセス性能を前記特性情報記憶手段に記憶し、
前記領域を確保する処理において、前記アクセスパターンと前記アクセス性能との組み合わせをさらに含む前記要件を指定した前記記憶域確保要求が入力されると、前記特性情報記憶手段を検索して、当該要件を満たす主記憶装置を特定し、特定された主記憶装置から領域を確保する請求項8のメモリ割当方法。
Computer
In the process of storing the said characteristic information storage means, in association with the main memory, furthermore, the access and distinction of the read / write, distinguish the random access / sequential access for each access pattern is a combination of the block size, The performance is stored in the characteristic information storage means,
In the process of securing the area, the when the storage ownership request combinations specifying the requirements further comprising a the access pattern and the access performance is input, searches the characteristic information storing means, with the requirement 9. The memory allocation method according to claim 8 , wherein a main storage device to be filled is specified and an area is secured from the specified main storage device.
コンピュータが、
主記憶装置の各々が揮発性あるいは不揮発性であることを、主記憶装置にアクセスして判別し、判別結果を前記特性情報記憶手段に登録する請求項6乃至9の何れか1項のメモリ割当方法。
Computer
10. The memory allocation according to claim 6, wherein each of the main storage devices is volatile or non-volatile and is discriminated by accessing the main storage device and the discrimination result is registered in the characteristic information storage means. Method.
揮発性の主記憶装置と、不揮発性の主記憶装置とを備えたコンピュータに、
主記憶装置の各々が、揮発性であるか不揮発性であるかを示す属性を特性情報記憶手段に記憶させる処理と、
主記憶装置に関連付けて、さらに、リード/ライトの区別と、ランダムアクセス/シーケンシャルアクセスの区別と、ブロックサイズと、の組み合わせであるアクセスパターンごとにアクセス性能を前記特性情報記憶手段に記憶させる処理と、
前記アクセスパターンと前記アクセス性能との組み合わせと、前記属性と、含む要件を指定した記憶域確保要求が入力されると、前記特性情報記憶手段を検索して、前記要件を満たす主記憶装置を特定し、特定された主記憶装置から領域を確保する処理と、を実行させるプログラム。
In a computer having a volatile main memory and a non-volatile main memory,
A process of storing in the characteristic information storage means an attribute indicating whether each of the main storage devices is volatile or non-volatile;
A process of storing access performance in the characteristic information storage means for each access pattern that is a combination of read/write distinction, random access/sequential access distinction, and block size in association with the main storage device. ,
With the access pattern and the combination of the access performance and the attributes and, storage ensures request specifying requirements including is input, the characteristic information by searching the storage unit, a main storage device satisfying the requirements identified, Help program is executed and a process for reserving an area from the main memory specified.
揮発性の主記憶装置と、不揮発性の主記憶装置とを備えたコンピュータに、
主記憶装置の各々が、揮発性であるか不揮発性であるかを示す属性を特性情報記憶手段に記憶させる処理と、
主記憶装置に関連付けて、さらに、寿命の長さを前記特性情報記憶手段に記憶させる処理と、
前記属性と前記寿命の長さと含む要件を指定した記憶域確保要求が入力されると、前記特性情報記憶手段を検索して、前記要件を満たす主記憶装置を特定し、特定された主記憶装置から領域を確保する処理と、を実行させるプログラム。
A computer having a volatile main memory and a non-volatile main memory,
A process of storing in the characteristic information storage means an attribute indicating whether each of the main storage devices is volatile or non-volatile;
A process of storing the length of life in the characteristic information storage means in association with the main storage device;
When a storage reservation request specifying a requirement including the attribute and the life span is input, the characteristic information storage unit is searched to identify a main storage device that satisfies the requirement , and the identified main storage is specified. Help program is executed and a process for reserving an area from the device.
JP2015226323A 2015-11-19 2015-11-19 Memory allocation device, memory allocation method, and program Active JP6716894B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015226323A JP6716894B2 (en) 2015-11-19 2015-11-19 Memory allocation device, memory allocation method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015226323A JP6716894B2 (en) 2015-11-19 2015-11-19 Memory allocation device, memory allocation method, and program

Publications (2)

Publication Number Publication Date
JP2017097458A JP2017097458A (en) 2017-06-01
JP6716894B2 true JP6716894B2 (en) 2020-07-01

Family

ID=58817817

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015226323A Active JP6716894B2 (en) 2015-11-19 2015-11-19 Memory allocation device, memory allocation method, and program

Country Status (1)

Country Link
JP (1) JP6716894B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011186561A (en) * 2010-03-04 2011-09-22 Toshiba Corp Memory management device
CN103946816B (en) * 2011-09-30 2018-06-26 英特尔公司 The nonvolatile RAM of replacement as conventional mass storage device(NVRAM)
US9110592B2 (en) * 2013-02-04 2015-08-18 Microsoft Technology Licensing, Llc Dynamic allocation of heterogenous memory in a computing system
KR20150044370A (en) * 2013-10-16 2015-04-24 삼성전자주식회사 Systems for managing heterogeneous memories

Also Published As

Publication number Publication date
JP2017097458A (en) 2017-06-01

Similar Documents

Publication Publication Date Title
KR101612922B1 (en) Memory system and method of managing memory system
US8612692B2 (en) Variable write back timing to nonvolatile semiconductor memory
US8711631B1 (en) Management of memory array with magnetic random access memory (MRAM)
TW457427B (en) Method and system for dynamically partitioning a shared cache
US9367451B2 (en) Storage device management device and method for managing storage device
US9436597B1 (en) Using non-volatile memory resources to enable a virtual buffer pool for a database application
KR102498668B1 (en) Method and host device for flash-aware heap memory management
CN110096221B (en) Memory system and control method thereof
US20140372675A1 (en) Information processing apparatus, control circuit, and control method
CN116755634A (en) Performance counter for computer memory
US10503647B2 (en) Cache allocation based on quality-of-service information
TW200903500A (en) A method of wearing-leveling memory device and memory system
JP2015026379A (en) Controller management of memory array of storage device using magnetic random access memory (mram)
KR20170038853A (en) Host-managed non-volatile memory
US20140372673A1 (en) Information processing apparatus, control circuit, and control method
KR20190104876A (en) Method of improved data distribution among storage devices
TWI788476B (en) Method and system for machine learning training
CN102346682A (en) Information processing device and information processing method
CN110851076A (en) Memory system and deduplication memory system
CN115904212A (en) Data processing method and device, processor and hybrid memory system
JP2021033845A (en) Memory system and control method
US11269559B2 (en) Data processing device
US10185501B2 (en) Method and apparatus for pinning memory pages in a multi-level system memory
JP6716894B2 (en) Memory allocation device, memory allocation method, and program
US8990614B2 (en) Performance of a system having non-volatile memory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181015

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190416

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191223

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200512

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200525

R150 Certificate of patent or registration of utility model

Ref document number: 6716894

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150