JP7214999B2 - Information processing device and method - Google Patents

Information processing device and method Download PDF

Info

Publication number
JP7214999B2
JP7214999B2 JP2018131722A JP2018131722A JP7214999B2 JP 7214999 B2 JP7214999 B2 JP 7214999B2 JP 2018131722 A JP2018131722 A JP 2018131722A JP 2018131722 A JP2018131722 A JP 2018131722A JP 7214999 B2 JP7214999 B2 JP 7214999B2
Authority
JP
Japan
Prior art keywords
data
ram disk
application
information
compression
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
JP2018131722A
Other languages
Japanese (ja)
Other versions
JP2019061654A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to US16/140,697 priority Critical patent/US10860257B2/en
Publication of JP2019061654A publication Critical patent/JP2019061654A/en
Application granted granted Critical
Publication of JP7214999B2 publication Critical patent/JP7214999B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、情報処理装置及び方法に関する。 The present invention relates to an information processing device and method.

従来、主記憶装置の一部をRAMディスクの記憶領域に割り当て、その記憶領域に一時ファイルなどのデータを書き込む技術が一般に利用されている。組み込み機器のように搭載できるメモリの量が限られている場合には、要求される書き込みデータを効率よくRAMディスクの記憶領域に収めるため、データの圧縮が行われる。 Conventionally, a technique of allocating part of a main memory to a memory area of a RAM disk and writing data such as a temporary file to the memory area is generally used. In the case where the amount of memory that can be mounted is limited, such as in an embedded device, data compression is performed in order to efficiently store the required write data in the storage area of the RAM disk.

主記憶装置と補助記憶装置との間の記録管理方式について技術を開示した文献がある。この技術では、CPUが送出した論理アドレスに対応するデータが主記憶装置に存在しない場合に、補助記憶装置内の論理アドレスに対応するデータをページ単位で読み出し、読み出したデータを圧縮して主記憶装置に格納し、主記憶装置内のデータの内、CPUが要求するものを読み出して伸張することが記載されている(特許文献1参照)。 There is a document disclosing a technique for a record management system between a main storage device and an auxiliary storage device. In this technique, when the data corresponding to the logical address sent by the CPU does not exist in the main memory, the data corresponding to the logical address in the auxiliary memory is read in page units, and the read data is compressed and stored in the main memory. It is described that data is stored in a device, and data requested by the CPU is read out and decompressed from the data in the main memory device (see Patent Document 1).

しかし、搭載できるメモリの量が限られる一方で、要求される書き込みデータの量が多く上回る場合には、それらをより効果的に圧縮する必要が生じる。従来は、ファイルシステムのオプション機能などにより各データに対し所定の圧縮アルゴリズムで一律に圧縮を施していたため、データの性質によっては最適な圧縮ではなかった。データの中には既に圧縮済みのデータも含まれているため、このようなデータを圧縮した場合には、圧縮の向上が望めず、圧縮前よりも圧縮率が悪くなったりすることもある。このようにデータの性質に応じた圧縮を施すことができないという問題がある。 However, while the amount of memory that can be installed is limited, if the amount of write data required greatly exceeds, it becomes necessary to compress them more effectively. In the past, each piece of data was uniformly compressed by a predetermined compression algorithm using an optional function of the file system, so depending on the nature of the data, the compression was not optimal. Since the data includes data that has already been compressed, when such data is compressed, improvement in compression cannot be expected, and the compression rate may become worse than before compression. In this way, there is a problem that compression cannot be applied according to the nature of the data.

本発明は、上記に鑑みてなされたものであって、データの性質に応じた圧縮を施すことが可能な情報処理装置及び方法を提供することを目的とする。 SUMMARY OF THE INVENTION It is an object of the present invention to provide an information processing apparatus and method capable of compressing data in accordance with the nature of the data.

上述した課題を解決するために、発明の一実施形態の情報処理装置は、複数のRAMディスクの圧縮方式を設定した設定情報と、システム起動時に取得した該設定情報の設定に従い、前記圧縮方式毎にRAMディスクを作成する作成部と、データの書込みおよび読込みを要求するアプリケーションと、前記アプリケーションによる前記データの書込みの要求に基づき、前記アプリケーションに対応するRAMディスクに該RAMディスクの圧縮方式で前記データを書込むファイルシステムとを有し、前記アプリケーションは、前記データの書込み先として、前記設定情報の設定の内の自身のアプリケーションのデータの性質が対応する圧縮方式のRAMディスクを指定し、前記ファイルシステムは、前記アプリケーションにより指定されたRAMディスクに該RAMディスクに設定されている圧縮方式で前記データの書込みを行う。 In order to solve the above-described problems, an information processing apparatus according to an embodiment of the present invention provides setting information that sets compression methods for a plurality of RAM disks, and according to the settings of the setting information acquired at system startup, each compression method an application requesting writing and reading of data; and a RAM disk corresponding to the application based on a request to write the data by the application, according to the compression method of the RAM disk. and a file system for writing the data, wherein the application designates a RAM disk of a compression method corresponding to the property of the data of the application in the setting of the setting information as the write destination of the data, and the file The system writes the data to the RAM disk specified by the application using the compression method set for the RAM disk.

本発明によれば、データの性質に応じた圧縮を施すことが可能になるという効果を奏する。 According to the present invention, there is an effect that it becomes possible to apply compression according to the nature of data.

図1は、実施の形態にかかる情報処理装置のハードウェア構成の一例を示す図である。1 is a diagram illustrating an example of a hardware configuration of an information processing apparatus according to an embodiment; FIG. 図2は、SSDのソフトウェアの構成の一例を示す図である。FIG. 2 is a diagram showing an example of the software configuration of the SSD. 図3は、情報処理装置の主な機能構成の一例を示す図である。FIG. 3 is a diagram illustrating an example of a main functional configuration of an information processing apparatus; 図4は、設定情報のテーブル構造の一例を示す図である。FIG. 4 is a diagram showing an example of the table structure of setting information. 図5は、RAMディスクの作成手順の一例を示すフロー図である。FIG. 5 is a flowchart showing an example of the procedure for creating a RAM disk. 図6は、メモリ管理部が管理するDRAMの記憶領域についてのメモリマップの一例を示す図である。FIG. 6 is a diagram showing an example of a memory map of storage areas of a DRAM managed by a memory management unit. 図7は、属性情報の一例を示す図である。FIG. 7 is a diagram showing an example of attribute information. 図8は、アプリの一時ファイルをRAMディスク領域に書き込む手順の一例を示すシーケンス図である。FIG. 8 is a sequence diagram showing an example of a procedure for writing a temporary file of an application to the RAM disk area. 図9は、書込んだ一時ファイルのデータをアプリで読込む手順の一例を示すシーケンス図である。FIG. 9 is a sequence diagram illustrating an example of a procedure for reading written temporary file data by an application. 図10は、変形例1に係るSSDのソフトウェアの構成の一例を示す図である。FIG. 10 is a diagram illustrating an example of a software configuration of an SSD according to Modification 1. As illustrated in FIG. 図11は、データ情報のデータ構成の一例を示す図である。FIG. 11 is a diagram showing an example of the data configuration of data information. 図12は、ファイル管理情報の一例を示す図である。FIG. 12 is a diagram showing an example of file management information. 図13は、アプリの一時ファイルをRAMディスク領域に書き込む手順の一例を示すシーケンス図である。FIG. 13 is a sequence diagram showing an example of a procedure for writing a temporary file of an application to the RAM disk area. 図14は、RAMディスクに書込まれている一時ファイルのデータをアプリが取得する手順の一例を示すシーケンス図である。FIG. 14 is a sequence diagram showing an example of a procedure for an application to acquire data of a temporary file written on a RAM disk. 図15は、変形例2に係るSSDのソフトウェアの構成の一例を示す図である。FIG. 15 is a diagram illustrating an example of a software configuration of an SSD according to modification 2; 図16は、情報処理装置におけるRAMディスク管理モジュールの動作について説明する図である。FIG. 16 is a diagram for explaining the operation of the RAM disk management module in the information processing device. 図17は、変形例3に係るDRAMのメモリマップの一例を示す図である。FIG. 17 is a diagram showing an example of a memory map of a DRAM according to Modification 3. As shown in FIG. 図18は、マウント情報の一例を示す図である。FIG. 18 is a diagram showing an example of mount information. 図19は、リマウントが繰り返された場合のRAMディスクの状態遷移の一例を示す図である。FIG. 19 is a diagram showing an example of state transition of a RAM disk when remounting is repeated. 図20は、RAMディスクリマウントモジュールが行うリマウントの手順の一例を示すフロー図である。FIG. 20 is a flow chart showing an example of a remount procedure performed by the RAM disk remount module. 図21は、圧縮アルゴリズムが異なる設定の一時ファイルをアプリが同じRAMディスク領域に書き込む手順の一例を示すシーケンス図である。FIG. 21 is a sequence diagram showing an example of a procedure in which an application writes temporary files with different settings of compression algorithms to the same RAM disk area. 図22は、変形例4に係るデータ情報のデータ構成の一例を示す図である。22 is a diagram illustrating an example of a data configuration of data information according to Modification 4. FIG. 図23は、RAMディスクが異なる圧縮アルゴリズムでマウントされる度に遷移するマウントの状態の一例を示す図である。FIG. 23 is a diagram showing an example of a state of mounting that transitions each time a RAM disk is mounted with a different compression algorithm. 図24は、長期滞留データをリマウントにより高圧縮する際の情報処理装置全体の動作の一例を示すシーケンス図である。FIG. 24 is a sequence diagram illustrating an example of the operation of the entire information processing apparatus when highly compressing long-term retention data by remounting. 図25は、変形例5に係るハードウェア構成の一例を示す図である。FIG. 25 is a diagram illustrating an example of a hardware configuration according to modification 5; 図26は、RAMディスク内に存在するデータを外部ストレージへ保存するための手順の一例を示すシーケンス図である。FIG. 26 is a sequence diagram showing an example of the procedure for saving data existing in the RAM disk to the external storage.

以下、添付図面を参照しながら、本発明にかかる情報処理装置及び方法の実施の形態を詳細に説明する。 Embodiments of an information processing apparatus and method according to the present invention will be described in detail below with reference to the accompanying drawings.

(実施の形態)
本実施の形態にかかる情報処理装置は、例えばMFP(MultiFunction Peripheral)の情報処理装置などへの適用が可能である。当該情報処理装置の主記憶装置は、DRAM(Dynamic Random Access Memory)などにより構成し、プログラムやデータの「記憶部」はSSD(Solid State Drive)やHDD(Hard Disk Drive)などにより構成する。
(Embodiment)
The information processing apparatus according to the present embodiment can be applied to, for example, an MFP (MultiFunction Peripheral) information processing apparatus. A main storage device of the information processing apparatus is configured by a DRAM (Dynamic Random Access Memory) or the like, and a "storage unit" for programs and data is configured by a SSD (Solid State Drive), HDD (Hard Disk Drive) or the like.

図1は、実施の形態に係る情報処理装置のハードウェア構成の一例を示す図である。図1に示す情報処理装置1は、CPU11と、DRAM12と、SSD13とを有し、これらはバス14により相互に接続されている。その他、組み込み機器に応じてデバイス機器のコントローラなどが接続される。例えばMFPであれば、画像処理エンジンや、各種の通信インタフェースや、タッチパネルや液晶ディスプレイのコントローラなどが接続される。 FIG. 1 is a diagram illustrating an example of a hardware configuration of an information processing apparatus according to an embodiment; The information processing apparatus 1 shown in FIG. 1 has a CPU 11 , a DRAM 12 and an SSD 13 , which are interconnected by a bus 14 . In addition, a device controller or the like is connected according to the built-in equipment. For example, in the case of an MFP, an image processing engine, various communication interfaces, controllers for touch panels and liquid crystal displays, and the like are connected.

CPU11は、中央演算処理装置であり、情報処理装置1全体を統括的に制御する。DRAM12は、CPU11が高速に情報の読み書きを行う揮発性メモリであり、CPU11の作業領域として利用される。SSD13は、不揮発性のメモリであり、各種プログラムやデータを格納する。 The CPU 11 is a central processing unit and controls the information processing apparatus 1 as a whole. The DRAM 12 is a volatile memory in which the CPU 11 reads and writes information at high speed, and is used as a work area for the CPU 11 . The SSD 13 is a non-volatile memory and stores various programs and data.

図2は、SSD13のソフトウェアの構成の一例を示す図である。図2には、OS(Operating System)のソフトウェアと共にSSD13にインストールする主なソフトウェアの構成の一例を示している。 FIG. 2 is a diagram showing an example of the software configuration of the SSD 13. As shown in FIG. FIG. 2 shows an example of the configuration of main software installed in the SSD 13 together with OS (Operating System) software.

設定情報100は、RAMディスクを作成するための設定を有するテーブル情報である。 The setting information 100 is table information having settings for creating a RAM disk.

RAMディスク作成プログラム101は、RAMディスクを作成するなどの機能をカーネルに追加するモジュール型のプログラムである。 The RAM disk creation program 101 is a module type program that adds functions such as creating a RAM disk to the kernel.

圧縮ファイルシステムプログラム102は、圧縮機能を有するファイルシステムのプログラムである。 The compressed file system program 102 is a file system program having a compression function.

各種のアプリケーションプログラム103、104、・・・は、特定機能を有し、特定の処理を行う際にファイルを入出力するアプリケーションのプログラムである。例えばMFPのコピーやファックスなどの特定機能を有するアプリケーションのプログラムである。なお、以下では「アプリケーション」を単に「アプリ」と省略して呼ぶものとする。 Various application programs 103, 104, . For example, it is an application program having a specific function such as MFP copying or facsimile. In the following description, the term “application” is simply abbreviated as “application”.

(機能構成)
図3は、情報処理装置1の主な機能構成の一例を示す図である。各機能は、CPU11
がSSD13にインストールされている各種プログラムをDRAM12にロードして実行
することにより実現される。図3に示す機能の内、デバイスドライバ201、圧縮ファイ
ルシステム202、各種のアプリ203、204、・・・は、それぞれ、RAMディスク
作成プログラム101(図2参照)、圧縮ファイルシステムプログラム102(図2参照
)、各種のアプリケーションプログラム103、104、・・・(図2参照)の機能部と
して実現される。その他、OS(本例ではUnix(登録商標)系のリナックス(登録商標)とする)のソフトなどに基づいてカーネル空間402の各種機能部が実現される。図3に示す各種のアプリ203、204、・・・はユーザ空間401で動作し、その他の各種機能部はカーネル空間402で動作する。なお、図3に破線で示すDRAM12とSSD13は、図1に示すハードウェア構成であり、説明のために機能部と共に図示したものである。
(Functional configuration)
FIG. 3 is a diagram showing an example of the main functional configuration of the information processing device 1. As shown in FIG. Each function, CPU11
is implemented by loading various programs installed in the SSD 13 into the DRAM 12 and executing them. Among the functions shown in FIG. 3, the device driver 201, the compressed file system 202, various applications 203, 204, . ), various application programs 103, 104, . . . (see FIG. 2). In addition, various functional units of the kernel space 402 are realized based on software of the OS (in this example, Linux (registered trademark) of Unix (registered trademark)) . Various applications 203, 204, . . . shown in FIG. The DRAM 12 and SSD 13 indicated by broken lines in FIG. 3 have the hardware configuration shown in FIG.

各種のアプリ203、204、・・・は、システムコール205にファイルの書込みやファイルの読出しなどの処理を要求する。例えば、MFPにおいて画像編集アプリを使用する場合、非圧縮ファイル或いはJPEGファイルやPDF(登録商標)ファイルなどの圧縮済みのファイルの書込みや読出しを要求する。 Various applications 203, 204, . For example, when using an image editing application in an MFP, a request is made to write or read an uncompressed file or a compressed file such as a JPEG file or a PDF (registered trademark) file.

仮想ファイルシステム200は、ファイルシステムの違いを吸収し、ユーザ空間401から一つのファイルシステムとして見えるようにする。 The virtual file system 200 absorbs differences between file systems and makes them visible from the user space 401 as one file system.

圧縮ファイルシステム202は、複数のRAMディスクのファイルを管理する。具体的に圧縮ファイルシステム202は、各RAMディスクのサイズ、RAMディスクのパス、RAMディスクの圧縮方式を属性情報300として個別に有し、各属性情報300に基づいて各RAMディスクのファイルを個別に管理する。例えば、圧縮ファイルシステム202は、各種のアプリ203、204、・・・が一時ファイルの書込み先として指定するRAMディスクに対応する圧縮方式で処理を施し、処理後のファイルを当該RAMディスクにデバイスドライバ201を介して書き込む。 The compressed file system 202 manages files on multiple RAM disks. Specifically, the compression file system 202 individually has the size of each RAM disk, the path of the RAM disk, and the compression method of the RAM disk as attribute information 300. Based on the attribute information 300, the file of each RAM disk is individually stored. to manage. For example, the compressed file system 202 performs processing in a compression method corresponding to a RAM disk specified as a temporary file write destination by various applications 203, 204, . 201 to write.

その他のファイルシステム206は、圧縮ファイルシステム202とは異なる種類のファイルシステムである。例えば、OSに予め組み込まれているファイルシステムである。 Other file system 206 is a different type of file system than compressed file system 202 . For example, it is a file system preinstalled in the OS.

メモリ管理部207は、DRAM12のメモリ領域の予約などの割り当ての管理を行う。 A memory management unit 207 manages allocation such as reservation of a memory area of the DRAM 12 .

デバイスドライバ201は、「作成部」やDRAM12のデバイスドライバとして機能する。 The device driver 201 functions as a “creation unit” and a device driver for the DRAM 12 .

ドライバ208は、SSD13などのドライバとして機能する。 A driver 208 functions as a driver for the SSD 13 or the like.

(RAMディスクの作成)
次に、情報処理装置1における各種処理について説明する。先ず、RAMディスクの作成手順について説明する。以下では設定情報100について説明し、その後で作成手順について説明する。ここでは、作成するRAMディスクの数を一例として4個に限定して示す。なお、作成するRAMディスクの数は一例であり、適宜増減させてよい。
(Create RAM disk)
Next, various processes in the information processing apparatus 1 will be described. First, the procedure for creating a RAM disk will be described. The setting information 100 will be described below, and then the creation procedure will be described. Here, the number of RAM disks to be created is limited to four as an example. Note that the number of RAM disks to be created is an example, and may be increased or decreased as appropriate.

図4は、設定情報100のテーブル構造の一例を示す図である。図4に示す設定情報100は、RAMディスク番号t1と、圧縮方式t2と、パスt3と、サイズt4とを対応付けたものである。 FIG. 4 is a diagram showing an example of the table structure of the setting information 100. As shown in FIG. The setting information 100 shown in FIG. 4 associates a RAM disk number t1, a compression method t2, a pass t3, and a size t4.

RAMディスク番号t1には、RAMディスクを一意に識別するインデックス番号を設定する。この例では、4個のRAMディスクのそれぞれのインデックス番号として、「1」、「2」、「3」、「4」を設定したものを示している。 An index number that uniquely identifies the RAM disk is set in the RAM disk number t1. In this example, "1", "2", "3", and "4" are set as index numbers for four RAM disks.

圧縮方式t2には、RAMディスク番号t1に設定した各RAMディスクの圧縮方式を設定する。図4には、RAMディスク「1」~RAMディスク「3」に圧縮のための所定の圧縮アルゴリズム「A」~「C」を設定し、RAMディスク「4」に非圧縮を表す「D」を設定している。 Compression method t2 sets the compression method of each RAM disk set in RAM disk number t1. In FIG. 4, predetermined compression algorithms "A" to "C" for compression are set in RAM disks "1" to "3", and "D" representing non-compression is set in RAM disk "4". have set.

パスt3には、RAMディスク番号t1に設定した各RAMディスクのパス情報を設定する。 In path t3, path information of each RAM disk set in RAM disk number t1 is set.

サイズt4には、RAMディスク番号t1に設定した各RAMディスクのディスク容量であるサイズ情報を設定する。 In size t4, size information, which is the disk capacity of each RAM disk set in RAM disk number t1, is set.

図5は、RAMディスクの作成手順の一例を示すフロー図である。ここでは、情報処理装置1のシステム起動時に行われる処理の流れを説明する。情報処理装置1がブートし、OSがDRAM12の所定の記憶領域にロードされると、RAMディスク作成プログラム101が読み込まれ、RAMディスクを作成する作成部が追加される。 FIG. 5 is a flowchart showing an example of the procedure for creating a RAM disk. Here, the flow of processing performed when the information processing apparatus 1 is started up will be described. When the information processing apparatus 1 is booted and the OS is loaded into a predetermined storage area of the DRAM 12, the RAM disk creation program 101 is read, and a creation unit for creating a RAM disk is added.

作成部は、先ず、SSD13に格納されている設定情報100(図4参照)を取得する(S1)。 The creation unit first acquires the setting information 100 (see FIG. 4) stored in the SSD 13 (S1).

続いて、作成部は、取得した設定情報100の内の未作成の1つのRAMディスクについてサイズt4を参照し、当該RAMディスク用の領域として、サイズt4に設定されているサイズの確保をメモリ管理部207(図3参照)に要求する(S2)。メモリ管理部207は、この起動時の初期段階にRAMディスク用の領域を確保する。 Subsequently, the creation unit refers to the size t4 for one uncreated RAM disk in the acquired setting information 100, and secures the size set in the size t4 as an area for the RAM disk. A request is made to the unit 207 (see FIG. 3) (S2). The memory management unit 207 secures an area for the RAM disk at the initial stage of startup.

続いて、作成部は、ステップS2で確保したRAMディスクの領域をフォーマットする(S3)。フォーマットの際、作成部は、当該RAMディスクを管理する圧縮ファイルシステム202(図3参照)の属性情報300(図7参照)にサイズ情報を設定する。 Subsequently, the creation unit formats the area of the RAM disk secured in step S2 (S3). At the time of formatting, the creation unit sets the size information in the attribute information 300 (see FIG. 7) of the compression file system 202 (see FIG. 3) that manages the RAM disk.

続いて、作成部は、設定情報100のパスt3を参照し、パスt3に設定されているRAMディスクのマウントポイントに当該RAMディスク(当該RAMディスクのイメージ)をマウントするマウント操作を行う(S4)。作成部は、このマウント操作において、設定情報100のパスt3の設定に対応する圧縮方式t2を上記圧縮ファイルシステム202の圧縮方式として設定する。更に、作成部は、この操作の際に、当該RAMディスクを管理する圧縮ファイルシステム202の属性情報300にパスと圧縮方式とを設定する。 Subsequently, the creating unit refers to the path t3 of the setting information 100 and performs a mount operation to mount the RAM disk (image of the RAM disk) at the RAM disk mount point set in the path t3 (S4). . In this mount operation, the creating unit sets the compression method t2 corresponding to the setting of the path t3 of the setting information 100 as the compression method of the compressed file system 202. FIG. Furthermore, the creation unit sets the path and compression method in the attribute information 300 of the compression file system 202 that manages the RAM disk at the time of this operation.

続いて、作成部は、設定情報100において他に未作成のRAMディスクがあるかを判定する(S5)。他に未作成のRAMディスクがある場合(S5:Yes判定)、未作成のRAMディスクの内の1つについてステップS2から同様に処理を行い、RAMディスクを作成する。 Subsequently, the creation unit determines whether there is another uncreated RAM disk in the setting information 100 (S5). If there are other uncreated RAM disks (S5: Yes determination), similar processing is performed from step S2 on one of the uncreated RAM disks to create a RAM disk.

本例では、1巡目にRAMディスク番号「1」のRAMディスクを作成し、2巡目にRAMディスク番号「2」のRAMディスクを作成し、3巡目にRAMディスク番号「3」のRAMディスクを作成し、4巡目にRAMディスク番号「4」のRAMディスクを作成する。この作成処理の際に、各RAMディスクの圧縮ファイルシステム202が有する各属性情報300を設定する。 In this example, a RAM disk with RAM disk number "1" is created in the first round, a RAM disk with RAM disk number "2" is created in the second round, and a RAM disk with RAM disk number "3" is created in the third round. A disk is created, and in the fourth round, a RAM disk with RAM disk number "4" is created. During this creation process, each attribute information 300 possessed by the compressed file system 202 of each RAM disk is set.

他に未作成のRAMディスクがない場合(S5:No判定)、本処理を終了する。 If there is no other uncreated RAM disk (S5: No determination), this process is terminated.

(メモリマップ)
図6は、メモリ管理部207が管理するDRAM12の記憶領域についてのメモリマップの一例を示す図である。メモリ管理部207は、図6に示すDRAM12のOS管理対象領域120とOS管理対象外領域130の内、OS管理対象領域120に、複数のRAMディスク領域を割り当てる。本例ではRAMディスク番号「1」~「4」の4つのRAMディスク領域、それぞれ、RAMディスク領域121、RAMディスク領域122、RAMディスク領域123、およびRAMディスク領域124を、RAMディスク区切りで割り当てる。OS管理対象領域120のRAMディスクを除く記録領域125は、タスクの処理などに割り当てる。
(memory map)
FIG. 6 is a diagram showing an example of a memory map of storage areas of the DRAM 12 managed by the memory management unit 207. As shown in FIG. The memory management unit 207 allocates a plurality of RAM disk areas to the OS managed area 120 among the OS managed area 120 and the non-OS managed area 130 of the DRAM 12 shown in FIG. In this example, four RAM disk areas with RAM disk numbers "1" to "4", respectively, RAM disk area 121, RAM disk area 122, RAM disk area 123, and RAM disk area 124, are allocated by RAM disk division. A recording area 125 other than the RAM disk in the OS management target area 120 is allocated for task processing and the like.

(属性情報)
図7は、属性情報300の一例を示す図である。属性情報300は、図5に示すRAMディスクの作成処理により、起動処理において設定される。図7に示すように、属性情報300には、各RAMディスクのパス情報、圧縮方式、サイズ情報が設定される。
(Attribute information)
FIG. 7 is a diagram showing an example of attribute information 300. As shown in FIG. The attribute information 300 is set in the startup process by the RAM disk creation process shown in FIG. As shown in FIG. 7, the attribute information 300 includes path information, compression method, and size information for each RAM disk.

(アプリの一時ファイルの処理)
続いて、各アプリ203、204、・・・(図3参照)の一時ファイルをDRAM12(図3参照)のRAMディスク領域121、122、123、124(図6参照)に書込む手順、書込んだ一時ファイルを各アプリ203、204、・・・で読込む手順について説明する。なお、以下では、各アプリ203、204、・・・の内のアプリ203について説明するが、その他のアプリ204・・・についても同様とする。また、理解を容易にするために、図3に示す機能ブロックの内の主な機能ブロックを示し、その他の機能ブロックについては適宜説明し、図示については省略する。
(handling app temporary files)
(see FIG. 3) to the RAM disk areas 121, 122, 123, 124 (see FIG. 6) of the DRAM 12 (see FIG. 3). A procedure for reading the temporary files by each application 203, 204, . . . will be described. Although the application 203 among the applications 203, 204, . . . will be described below, the other applications 204, . In order to facilitate understanding, main functional blocks among the functional blocks shown in FIG. 3 are shown, and other functional blocks will be explained as appropriate and illustration thereof will be omitted.

図8は、アプリ203の一時ファイルをRAMディスク領域121、122、123、124に書き込む手順の一例を示すシーケンス図である。図8に示すように、先ず、アプリ203が設定情報100を取得する(S11、S12)。具体的に、アプリ203は、システムコール205(図3参照)を介して設定情報を要求し(S11)、SSD13から設定情報100の圧縮方式とパスを取得する(S12)。 FIG. 8 is a sequence diagram showing an example of a procedure for writing temporary files of the application 203 to the RAM disk areas 121, 122, 123, and 124. As shown in FIG. As shown in FIG. 8, first, the application 203 acquires the setting information 100 (S11, S12). Specifically, the application 203 requests the setting information via the system call 205 (see FIG. 3) (S11), and acquires the compression method and path of the setting information 100 from the SSD 13 (S12).

続いて、アプリ203は、出力する一時ファイルの性質(例えば拡張子など)に基づいて圧縮が必要なファイルか圧縮が不要なファイルかを判断し(S13)、圧縮方式に対応するRAMディスクのパスを取得済みの設定情報から抽出する(S14)。具体的に、アプリ203は、圧縮が必要なファイルの場合には、そのファイルに最適な圧縮アルゴリズムを、設定情報100の圧縮方式t2に設定されている圧縮アルゴリズム「A」~「C」の内から判断し、その圧縮アルゴリズムに対応するパスをパスt3から抽出する。例えば、テキストデータを出力する場合、アプリ203は、圧縮アルゴリズム「A」~「C」の内から圧縮率が最も良いアルゴリズムが最適と判断する。また、アプリ203は、圧縮が不要なファイルについては、設定情報100の圧縮方式t2に設定されている非圧縮「D」のパスをパスt3から抽出する。 Next, the application 203 determines whether the file requires compression or not based on the properties of the temporary file to be output (for example, the extension) (S13), and determines the RAM disk path corresponding to the compression method. is extracted from the acquired setting information (S14). Specifically, in the case of a file that requires compression, the application 203 selects the optimum compression algorithm for the file from among the compression algorithms “A” to “C” set in the compression method t2 of the setting information 100. , and the path corresponding to that compression algorithm is extracted from path t3. For example, when outputting text data, the application 203 determines that the algorithm with the highest compression ratio is the most suitable among the compression algorithms "A" to "C". For files that do not require compression, the application 203 extracts the uncompressed "D" path set in the compression method t2 of the setting information 100 from the path t3.

続いて、アプリ203が、当該一時ファイルをRAMディスクに書き込む要求と共に圧縮方式のパスと一時ファイルの生データとをシステムコール205に渡す。なお、アプリ203は、ステップS14で抽出したパスに対応する圧縮アルゴリズムを、その後においても各一時ファイルの書込みの要求の際にシステムコール205に渡す。圧縮ファイルシステム202は、書込みの要求があると、次のようにRAMディスクに一時ファイルを書き込む。 Subsequently, the application 203 passes the compression method path and the raw data of the temporary file to the system call 205 along with a request to write the temporary file to the RAM disk. Note that the application 203 passes the compression algorithm corresponding to the path extracted in step S14 to the system call 205 when requesting writing of each temporary file. Compressed file system 202 writes a temporary file to the RAM disk when a write is requested as follows.

先ず、圧縮ファイルシステム202は、アプリ203からシステムコール205に渡された圧縮方式のパスおよび一時ファイルの生データの通知を受けると(S15)、各圧縮ファイルシステム202の自己の属性情報300の設定から、通知されたパスに対応する圧縮方式で生データを処理する(S16)。例えば、圧縮ファイルシステム202は、アプリ203から渡された圧縮方式のパスがパスt3(図4参照)の「/ramdisk0」の場合、これに対応する圧縮アルゴリズム「A」の設定に従い、生データを圧縮処理する。圧縮ファイルシステム202は、「/ramdisk1」の場合には、圧縮アルゴリズム「B」の設定に従って生データを圧縮処理する。圧縮ファイルシステム202は、「/ramdisk2」の場合には、圧縮アルゴリズム「C」の設定に従って生データを圧縮処理する。圧縮ファイルシステム202は、「/ramdisk3」の場合には、これに対応する非圧縮「D」から、生データの圧縮処理を省略する。 First, when the compressed file system 202 receives notification of the path of the compression method passed to the system call 205 from the application 203 and the raw data of the temporary file (S15), the compressed file system 202 sets its own attribute information 300. , the raw data is processed by the compression method corresponding to the notified path (S16). For example, when the compression method path passed from the application 203 is "/ramdisk0" of path t3 (see FIG. 4), the compression file system 202 converts the raw data according to the setting of the corresponding compression algorithm "A". Compress. In the case of "/ramdisk1", the compression file system 202 compresses the raw data according to the setting of the compression algorithm "B". In the case of "/ramdisk2", the compression file system 202 compresses the raw data according to the setting of the compression algorithm "C". In the case of "/ramdisk3", the compression file system 202 omits compression processing of raw data from the corresponding uncompressed "D".

続いて、圧縮ファイルシステム202は、デバイスドライバ201を介して、RAMディスク領域121、122、123、124の内、アプリ203から渡された圧縮方式のパスに対応するRAMディスク領域にデータを格納する(S17)。 Subsequently, the compressed file system 202 stores the data in the RAM disk area corresponding to the path of the compression method passed from the application 203 among the RAM disk areas 121, 122, 123, and 124 via the device driver 201. (S17).

図9は、書込んだ一時ファイルのデータをアプリ203で読込む(取得する)手順の一例を示すシーケンス図である。図9に示すように、先ず、アプリ203がパスを指定してファイルの読込要求を行う(S21)。具体的には、アプリ203は、システムコール205を通じて上記読込要求を行う。 FIG. 9 is a sequence diagram showing an example of a procedure for reading (obtaining) the written temporary file data by the application 203 . As shown in FIG. 9, first, the application 203 designates a path and makes a file read request (S21). Specifically, the application 203 makes the read request through the system call 205 .

圧縮ファイルシステム202は、上記読込要求で指定されたパスに基づき、デバイスドライバ201にRAMディスク領域121、122、123、124の内のパスに対応するRAMディスク領域からのデータの読み取りを指示し(S22)、デバイスドライバ201から読み取りデータを取得する(S23)。 The compressed file system 202 instructs the device driver 201 to read data from the RAM disk area corresponding to the path among the RAM disk areas 121, 122, 123, and 124 based on the path specified in the read request ( S22), read data is obtained from the device driver 201 (S23).

続いて、圧縮ファイルシステム202は、自己の属性情報300から圧縮方式を判断し、読み取ったデータの処理を行う(S24)。例えば、圧縮ファイルシステム202は、圧縮アルゴリズム「A」、「B」、「C」の場合、それぞれのアルゴリズムに基づいて圧縮データを伸張処理する。また、圧縮ファイルシステム202は、非圧縮「D」の場合、読み取ったデータの伸張処理を省略する。 Subsequently, the compression file system 202 determines the compression method from its own attribute information 300, and processes the read data (S24). For example, in the case of compression algorithms "A", "B", and "C", the compression file system 202 decompresses the compressed data based on each algorithm. In addition, the compression file system 202 omits decompression processing of the read data in the case of uncompressed "D".

続いて、アプリ203が、圧縮ファイルシステム202から、伸張等を終えたファイルを受け取る(S25)。具体的に、圧縮ファイルシステム202からは、システムコール205を介して上記ファイルが返信される。 Subsequently, the application 203 receives the decompressed file from the compressed file system 202 (S25). Specifically, the file is returned from the compressed file system 202 via the system call 205 .

以上のように、本実施の形態では、データの性質(アプリ)に応じて最適な圧縮アルゴリズムを選択したり、圧縮済みのデータの場合には圧縮/伸張の処理を省略したりするため、データの性質(アプリ)に応じた最適な圧縮を施すことが可能になる。また、圧縮方式毎にRAMディスクの記憶領域を割り当てるため、各RAMディスクの記憶領域のサイズをデータの性質に応じて異ならせることも可能であり、記憶領域の効率の良い利用が可能になる。また、DRAMはSSDに比べてスループットが高く、CPUでの演算負荷が大きいが、圧縮の効果が期待できない圧縮済みのデータについて圧縮/伸張の処理を省略するため、その分のCPUでの演算負荷を低減することが可能になる。また、頻繁に書込みを行う一時データをDRAMのRAMディスク領域に書込むことができるため、一時データの書込みに基づくSSDの寿命短縮を抑止することが可能になる。 As described above, in this embodiment, the optimal compression algorithm is selected according to the nature of the data (application), and the compression/decompression process is omitted in the case of compressed data. It is possible to perform optimal compression according to the nature of the application (application). In addition, since the storage area of the RAM disk is allocated for each compression method, the size of the storage area of each RAM disk can be varied according to the nature of the data, and the storage area can be used efficiently. In addition, DRAM has a higher throughput than SSD and imposes a large computational load on the CPU. can be reduced. In addition, since temporary data that is frequently written can be written in the RAM disk area of the DRAM, it is possible to prevent shortening of the life of the SSD due to the writing of temporary data.

なお、本実施の形態では、圧縮か非圧縮かの判断をユーザ空間401のアプリ203、204、・・・が行う例を示したが、カーネル空間402内で圧縮ファイルシステム202などが行うように変形してもよい。 In the present embodiment, the applications 203, 204, . . . It can be transformed.

(変形例1)
実施の形態では、アプリ毎に各アプリに適する圧縮アルゴリズムを使ってファイルの書込みおよび読込みを行う場合の態様を示したが、ここでは、その変形例として、各アプリがファイルの書込み時に書込み対象のデータの性質に応じて圧縮アルゴリズムを指定する指定手段を設けた場合の態様について示す。なお、ここでは主に実施の形態と異なる部分について説明するものとし、実施の形態と同様な箇所については図示及び説明を適宜省略する。また、各アプリ203、204、・・・の内のアプリ203を一例とする説明については、その他のアプリ204・・・についても同様とする。
(Modification 1)
In the embodiment, the file is written and read using a compression algorithm suitable for each application. A mode in which a designating means for designating a compression algorithm according to the property of data is provided will be described. It should be noted that portions different from the embodiment will be mainly described here, and illustrations and descriptions of portions that are the same as the embodiment will be omitted as appropriate. Also, the description of the application 203 among the applications 203, 204, .

図10は、変形例1に係るSSD13のソフトウェアの構成の一例を示す図である。図10には、実施の形態に示したソフトウェアの構成(図2参照)において更にデータ情報150とファイル管理情報151とを含めた構成を示している。データ情報150は、複数のデータ種別と圧縮アルゴリズムとを対応付けた情報である。ファイル管理情報151は、各アプリ203、204、・・・(図3参照)がファイル名毎にファイルとRAMディスクのパスとを対応付けて管理するためにある。ファイル管理情報151は、アプリ203、204、・・・がそれぞれ備え、ファイルの書込み時や読込み時に適宜設定する。 FIG. 10 is a diagram showing an example of the software configuration of the SSD 13 according to Modification 1. As shown in FIG. FIG. 10 shows a configuration including data information 150 and file management information 151 in addition to the configuration of the software shown in the embodiment (see FIG. 2). The data information 150 is information that associates a plurality of data types with compression algorithms. The file management information 151 is for each application 203, 204, . The file management information 151 is provided for each of the applications 203, 204, .

図11は、データ情報150のデータ構成の一例を示す図である。図11に示すように、データ情報150には、データの種別t151と圧縮アルゴリズムt152とが対応付けられている。データの種別t151には、データの性質を示す情報が設定されている。データの性質を示す情報とはアプリ203、204、・・・が生データから判別することができるデータの性質を示す情報、例えばテキストデータであるか画像データであるかなどを示す情報である。他方の圧縮アルゴリズムt152には、データの種別t151の設定に対応する最適な圧縮アルゴリズムが設定されている。 FIG. 11 is a diagram showing an example of the data configuration of the data information 150. As shown in FIG. As shown in FIG. 11, data type t151 and compression algorithm t152 are associated with data information 150 . Information indicating the nature of data is set in the data type t151. The information indicating the property of data is information indicating the property of data that can be determined by the applications 203, 204, . The other compression algorithm t152 is set with an optimum compression algorithm corresponding to the setting of the data type t151.

例えば、テキストデータの場合、データの種別t151にテキストデータであることを示す情報が、圧縮アルゴリズムt152にテキストデータの圧縮に適した圧縮アルゴリズムが設定されている。また、JPEGの画像データなど、既に圧縮済みのデータの場合には、データをさらに圧縮するとリソースの浪費に繋がる。このため、データの種別t151に圧縮済みのデータが設定されているものについては、その圧縮アルゴリズムt152に圧縮を行わない非圧縮が設定されている。 For example, in the case of text data, information indicating text data is set in the data type t151, and a compression algorithm suitable for compressing text data is set in the compression algorithm t152. Further, in the case of already compressed data such as JPEG image data, further compression of the data leads to waste of resources. Therefore, when compressed data is set in the data type t151, uncompressed data is set in the compression algorithm t152.

図12は、ファイル管理情報151の一例を示す図である。図12には、各アプリ203、204、・・・のうちの一つのファイル管理情報151を示している。図12に示すように、ファイル管理情報151には、ファイル名とパスとが対応付けて設定される。 FIG. 12 is a diagram showing an example of the file management information 151. As shown in FIG. FIG. 12 shows the file management information 151 of one of the applications 203, 204, . As shown in FIG. 12, in the file management information 151, file names and paths are set in association with each other.

図12に示す設定例は、RAMディスクへのデータの書込みやRAMディスクからのデータの読込みが複数回行われた後の設定例である。この例では、1つのアプリ(例えばアプリ203)が、ファイル1をRAMディスク領域121(図6参照)に書込み、ファイル2をRAMディスク領域122(図6参照)に書込み、ファイル3をRAMディスク領域123(図6参照)に書込み、ファイル4をRAMディスク領域124(図6参照)に書込んだ後の、当該アプリ(アプリ203)のファイル管理情報151の設定状態を示している。パスは、一意性を持たせるために「ramdisk*/アプリ名/ファイル名」の形式としている。なお、各アプリ203、204、・・・は自己のアプリ名以下のディレクトリを自由に使用できるものとする。 The setting example shown in FIG. 12 is a setting example after data is written to the RAM disk and data is read from the RAM disk multiple times. In this example, one application (for example, application 203) writes file 1 to the RAM disk area 121 (see FIG. 6), writes file 2 to the RAM disk area 122 (see FIG. 6), and writes file 3 to the RAM disk area. 123 (see FIG. 6), and after writing file 4 to the RAM disk area 124 (see FIG. 6), the setting state of the file management information 151 of the application (application 203). The path is in the format of "ramdisk*/application name/file name" to ensure uniqueness. Each application 203, 204, . . . can freely use a directory under its own application name.

変形例1に係るアプリは、ファイルの書込み時に書込み対象のデータの性質に応じて圧縮アルゴリズムを指定する指定手段を有する。指定手段は、例えば、書込み対象のデータの性質を判別する判別手段の判別結果から圧縮アルゴリズムを指定する。判別手段は、例えばテキストデータや画像データなどを判別する。指定手段による圧縮アルゴリズムの指定は、データ情報150や設定情報100などを利用する。以下に、変形例1に係る情報処理装置1におけるRAMディスクへの一時ファイルの書込みと読込みのシーケンスについて説明する。なお、アプリ203を一例に説明するが、その他のアプリ204・・・についても同様とする。 The application according to Modification 1 has specifying means for specifying a compression algorithm according to the property of data to be written when writing a file. The designating means designates the compression algorithm based on, for example, the determination result of the determining means that determines the nature of the data to be written. The discriminating means discriminates, for example, text data or image data. The data information 150, the setting information 100, and the like are used for specifying the compression algorithm by the specifying means. A sequence of writing and reading temporary files to and from the RAM disk in the information processing apparatus 1 according to Modification 1 will be described below. Note that the application 203 will be described as an example, but the other applications 204 . . .

図13は、アプリ203の一時ファイルをRAMディスク領域121、122、123、124に書き込む手順の一例を示すシーケンス図である。なお、図13において、RAMディスク領域121、122、123、124の図示は省略している。 FIG. 13 is a sequence diagram showing an example of a procedure for writing temporary files of the application 203 to the RAM disk areas 121, 122, 123, and 124. As shown in FIG. In FIG. 13, illustration of the RAM disk areas 121, 122, 123, and 124 is omitted.

最初にアプリ203は、生データから書込みたいデータの性質を判別する(S31)。 First, the application 203 determines the nature of the data to be written from the raw data (S31).

続いてアプリ203は、データ情報150からデータの性質に対応する圧縮アルゴリズムを示す情報を取得する(S32、S33)。 Subsequently, the application 203 acquires information indicating a compression algorithm corresponding to the nature of the data from the data information 150 (S32, S33).

続いてアプリ203は、ステップS32、S33で取得した圧縮アルゴリズムに対応するRAMディスクのパスを設定情報100から取得する(S34、S35)。 Subsequently, the application 203 acquires the path of the RAM disk corresponding to the compression algorithm acquired in steps S32 and S33 from the setting information 100 (S34 and S35).

続いてアプリ203は、ステップS34、S35で取得したRAMディスクのパスを使ってデータの書込み要求を行う(S36)。具体的にアプリ203は、RAMディスク*/アプリ名/ファイル名」のディレクトリ構造のパスで当該データの書込みを要求する。 Subsequently, the application 203 uses the RAM disk path acquired in steps S34 and S35 to issue a data write request (S36). Specifically, the application 203 requests the writing of the data with a path having a directory structure of "RAM disk*/application name/file name".

圧縮ファイルシステム202は、データの書込み要求があると、自己の属性情報300の設定に従って当該データを圧縮処理する(S37)。具体的に、圧縮ファイルシステム202は、アプリ203から書込み要求のあったRAMディスクのパスに対応する圧縮アルゴリズムでデータを圧縮する。なお、圧縮ファイルシステム202は、書込み要求のあったRAMディスクが属性情報300において非圧縮として設定されている場合、当該データの圧縮を行わないものとし、これも圧縮処理の一つに含めている。 When the compression file system 202 receives a data write request, it compresses the data according to the setting of its own attribute information 300 (S37). Specifically, the compression file system 202 compresses the data using a compression algorithm corresponding to the path of the RAM disk for which the application 203 requested to write. If the RAM disk requested to be written is set as uncompressed in the attribute information 300, the compression file system 202 does not compress the data, and this is also included in the compression process. .

続いて、圧縮ファイルシステム202は、自己の属性情報300の設定に従い、当該データの圧縮方式に対応するRAMディスクにデバイスドライバ201を介して圧縮処理後のデータを書き込む(S38、S39)。 Subsequently, the compression file system 202 writes the compressed data to the RAM disk corresponding to the compression method of the data via the device driver 201 according to the setting of its own attribute information 300 (S38, S39).

アプリ203は、圧縮ファイルシステム202がデータの書込みを完了すると(S40)、自己のファイル管理情報151を、当該データのファイル名とパスとを設定(追加設定)することにより更新する(S41)。 When the compressed file system 202 completes writing the data (S40), the application 203 updates its own file management information 151 by setting (additionally setting) the file name and path of the data (S41).

ここでは、一例として、1つのアプリが一つのファイル名のデータをRAMディスクに書込むまでのシーケンスを示したが、同じアプリが別のファイル名のデータをRAMディスクに書込む場合も、同様の手順で行われる。つまり、同じアプリであっても異なる種別のデータを扱う場合、各データで異なる圧縮方式が適用される可能性があり、異なる圧縮方式が適用された場合は、それぞれで別のRAMディスクにデータが書込まれることになる。 Here, as an example, the sequence until one application writes data with one file name to the RAM disk is shown. done in steps. In other words, even if the same application handles different types of data, there is a possibility that different compression methods will be applied to each piece of data. will be written.

図14は、RAMディスクに書込まれている一時ファイルのデータをアプリ203が取得する手順の一例を示すシーケンス図である。なお、図14においても、RAMディスク領域121、122、123、124の図示は省略している。 FIG. 14 is a sequence diagram showing an example of the procedure for the application 203 to acquire the data of the temporary file written on the RAM disk. Note that the RAM disk areas 121, 122, 123, and 124 are also omitted in FIG.

最初にアプリ203は、自己のファイル管理情報151(図12参照)から、取得したいファイル名のパスを取得する(S51)。 First, the application 203 acquires the path of the desired file name from its own file management information 151 (see FIG. 12) (S51).

続いてアプリ203は、そのパスのデータの読込みの要求を行う(S52)。 Subsequently, the application 203 makes a request to read the data of that path (S52).

圧縮ファイルシステム202は、アプリ203から上記読込の要求があると、自己の属性情報300の設定の、上記パスにあるデータをデバイスドライバ201を介してRAMディスクから読み込む(S53、S54)。 When the compressed file system 202 receives the read request from the application 203, the compressed file system 202 reads the data in the path set in its own attribute information 300 from the RAM disk via the device driver 201 (S53, S54).

続いて圧縮ファイルシステム202は、自己の属性情報300の上記パスに対応する圧縮アルゴリズムでデータを伸張処理する(S55)。このとき、属性情報300の属性が非圧縮であれば、圧縮ファイルシステム202は上記パスにあるデータの伸張を行わない。当該データの伸長を行わないものも伸張処理の一つに含まれる。 Subsequently, the compressed file system 202 decompresses the data with a compression algorithm corresponding to the path of its own attribute information 300 (S55). At this time, if the attribute of the attribute information 300 is uncompressed, the compressed file system 202 does not decompress the data in the path. Decompression processing that does not decompress the data is also included in decompression processing.

アプリ203は、圧縮ファイルシステム202から、伸張処理を終えたデータが返される(S56)。 The application 203 receives the decompressed data from the compressed file system 202 (S56).

(変形例1の効果)
変形例1に示すように1つのプロセスが様々なデータ形式を扱うことがある。その場合、アプリが1つのアルゴリズムしか使えないとするとアプリ内のすべてのデータに対し、同一の圧縮アルゴリズムしか使えないことになる。その場合、すべてのデータに対して適切な圧縮アルゴリズムを選択することが困難になる。例えば、既に圧縮済みでこれ以上の圧縮が望めないようなデータも含まれ、これを圧縮処理すると、CPUの演算負荷がさらに増えてしまうことになる。
(Effect of Modification 1)
As shown in modification 1, one process may handle various data formats. In that case, if an application can only use one algorithm, it means that it can only use the same compression algorithm for all data in the application. In that case, it becomes difficult to select an appropriate compression algorithm for all data. For example, data that has already been compressed and cannot be compressed any further is included, and if this is compressed, the computational load on the CPU will increase further.

しかし、変形例1の構成であれば、アプリがデータの性質に応じた最適な圧縮アルゴリズムをデータごとに指定できるため、CPU負荷を減らすことや、効率的な圧縮処理によってDRAMの書き込むデータ量を増やすことが可能になる。よって、DRAMへのデータの書込み量とCPUの演算負荷のバランスをとることが可能になる。 However, with the configuration of Modified Example 1, the application can specify the optimum compression algorithm for each data according to the nature of the data. can be increased. Therefore, it is possible to balance the amount of data written to the DRAM and the computational load of the CPU.

(変形例2)
RAMディスクの空き領域が所定値を下回る場合、RAMディスクに書込まれてから長期滞留しているデータ(長期滞留データ)の削除や移動を行うことにより、データが書込めるようにしてもよい。以下、実施の形態や他の変形例と同様の箇所については図示及び説明を適宜省略し、主に異なる部分について説明する。
(Modification 2)
When the free area of the RAM disk is less than a predetermined value, data may be written by deleting or moving data that has been written to the RAM disk for a long time (long-term residence data). Hereinafter, illustrations and descriptions of the same portions as those of the embodiment and other modified examples will be omitted as appropriate, and mainly different portions will be described.

図15は、本変形例2に係るSSD13のソフトウェアの構成の一例を示す図である。本変形例2に係るSSD13のソフトウェアの構成は、実施の形態に示したソフトウェアの構成(図2参照)において、さらにデータ情報150とファイル管理情報151とRAMディスク管理プログラム171とを含む。データ情報150とファイル管理情報151は、それぞれ、図11と図12に示す構成、つまり変形例1と同様であるため、ここでの詳しい説明は省略する。 FIG. 15 is a diagram showing an example of the software configuration of the SSD 13 according to Modification 2. As shown in FIG. The software configuration of the SSD 13 according to Modification 2 further includes data information 150, file management information 151, and RAM disk management program 171 in addition to the software configuration shown in the embodiment (see FIG. 2). The data information 150 and the file management information 151 have the same configurations as those shown in FIG. 11 and FIG. 12, that is, the modification 1, so detailed description thereof will be omitted here.

RAMディスク管理プログラム171は、RAMディスクを管理する機能(管理手段)をカーネルに追加するモジュール型のプログラムである。 The RAM disk management program 171 is a module type program that adds a function (management means) for managing the RAM disk to the kernel.

本変形例2では一例として、データ情報150とファイル管理情報151とを含む構成で説明するが、これらを構成に含めなくても実施は可能である。 In Modification 2, a configuration including the data information 150 and the file management information 151 will be described as an example, but implementation is possible without including these in the configuration.

本変形例2に係る情報処理装置におけるRAMディスクの作成手順や、各アプリによるRAMディスクへの一時ファイルの書込みの手順や、RAMディスクからの取得の手順などは、変形例1と同様である。本変形例2は、RAMディスク管理プログラム171による情報処理装置全体の動作が、実施の形態や変形例1と主に異なる。以下では、RAMディスク管理プログラム171による情報処理装置全体の動作について詳しく説明する。 The procedure for creating a RAM disk, the procedure for writing a temporary file to the RAM disk by each application, the procedure for acquiring from the RAM disk, and the like in the information processing apparatus according to Modification 2 are the same as those in Modification 1. Modification 2 differs from the embodiment and Modification 1 mainly in the overall operation of the information processing apparatus by the RAM disk management program 171 . The operation of the entire information processing apparatus by the RAM disk management program 171 will be described in detail below.

(RAMディスク管理モジュール)
RAMディスク管理モジュール(「管理手段」の一例)210(図16参照)は、CPU11がDRAM12にRAMディスク管理プログラム171(図15参照)をロードして実行することにより実現される。
(RAM disk management module)
A RAM disk management module (an example of “management means”) 210 (see FIG. 16) is implemented by the CPU 11 loading a RAM disk management program 171 (see FIG. 15) into the DRAM 12 and executing it.

(RAMディスク管理プログラムによる情報処理装置全体の動作)
図16は、情報処理装置1におけるRAMディスク管理モジュール210の動作について説明する図である。図16には、RAMディスク管理モジュール210がRAMディスク領域121、122、123、124(図6参照)に書込まれているデータの空き領域を確保するときの情報処理装置全体のシーケンスを示している。なお、図22において、RAMディスク領域121、122、123、124の図示は省略している。
(Overall operation of information processing apparatus by RAM disk management program)
FIG. 16 is a diagram for explaining the operation of the RAM disk management module 210 in the information processing device 1. As shown in FIG. FIG. 16 shows the overall sequence of the information processing apparatus when the RAM disk management module 210 secures free areas for data written in the RAM disk areas 121, 122, 123, and 124 (see FIG. 6). there is In FIG. 22, illustration of the RAM disk areas 121, 122, 123, and 124 is omitted.

最初に、RAMディスク管理モジュール210は、一定間隔でデバイスドライバ201に各RAMディスク領域121、122、123、124の空き容量を確認する(S101)。 First, the RAM disk management module 210 confirms the free space of each RAM disk area 121, 122, 123, 124 with the device driver 201 at regular intervals (S101).

ステップS101の確認により、いずれかのRAMディスク領域121、122、123、124の空き容量が一定値より少ないと判定されたとする。その場合、RAMディスク管理モジュール210は、空き容量が一定値より少ないRAMディスク領域内に長期に滞留しているデータ(長期滞留データ)がないかをチェックし、圧縮ファイルシステム202からデータ情報(長期滞留データ)を取得する(S102)。 Suppose that the confirmation in step S101 determines that the free space of any one of the RAM disk areas 121, 122, 123, and 124 is less than a certain value. In this case, the RAM disk management module 210 checks whether there is data (long-term retention data) that has been retained for a long time in the RAM disk area whose free space is less than a certain value, and outputs data information (long-term retention data) from the compressed file system 202 retention data) is acquired (S102).

続いて、RAMディスク管理モジュール210は、データを削除する場合と、データを削除しない場合とに分けて次の処理を行う。なお、データを削除するかどうかについては、例えば他のRAMディスク領域に十分な空き領域があるか、その時点で設定されている圧縮アルゴリズムよりも高圧縮率の圧縮アルゴリズムに変更可能かどうか、などにより判断する。変更可能であれば、データを削除せずに、他のRAMディスク領域にデータを移動する。 Subsequently, the RAM disk management module 210 performs the following processing separately for data deletion and non-data deletion. Regarding whether or not to delete data, for example, whether there is enough free space in other RAM disk areas, whether it is possible to change to a compression algorithm with a higher compression rate than the compression algorithm set at that time, etc. Judge by If it can be changed, move the data to another RAM disk area without deleting the data.

先ずデータを削除する場合について説明する。データを削除する場合、RAMディスク管理モジュール210は、取得した長期滞留データの書き込み元のアプリ(一例としてアプリ203とする)に対し、ファイル名を通知して当該データの削除を要求する(S103)。要求を受けたアプリ203は当該データを削除し(S104)、自己のファイル管理情報151の当該データの設定を更新する(S105)。 First, the case of deleting data will be described. When deleting data, the RAM disk management module 210 notifies the application (the application 203 as an example) that wrote the acquired long-term retention data of the file name and requests deletion of the data (S103). . The application 203 that receives the request deletes the data (S104) and updates the setting of the data in its own file management information 151 (S105).

一方、データを削除しない場合、RAMディスク管理モジュール210は、当該データの移動を行う(S106、S107)。具体的に、RAMディスク管理モジュール210は、圧縮ファイルシステム202に対し、ステップS102で取得した長期滞留データの移動を要求する(S106)。RAMディスク管理モジュール210は、移動後の新しいパスをRAMディスク管理モジュール210へ通知する(S107)。この一連の処理において、圧縮ファイルシステム202は、伸張した長期滞留データを別のRAMディスク領域の圧縮アルゴリズムで圧縮し、そのRAMディスク領域に圧縮後のデータを書き込む。 On the other hand, if the data is not deleted, the RAM disk management module 210 moves the data (S106, S107). Specifically, the RAM disk management module 210 requests the compressed file system 202 to move the long-term retention data acquired in step S102 (S106). The RAM disk management module 210 notifies the RAM disk management module 210 of the new path after movement (S107). In this series of processing, the compression file system 202 compresses the decompressed long-term retention data with a compression algorithm for another RAM disk area, and writes the compressed data to the RAM disk area.

そして、RAMディスク管理モジュール210が当該長期滞留データの書き込み元のアプリ203へ当該長期滞留データの新しいパスへの更新を指示することにより(S108)、アプリ203がファイル管理情報151の当該長期滞留データの設定を更新する(S109)。 Then, the RAM disk management module 210 instructs the application 203 that wrote the long-term residence data to update the long-term residence data to a new path (S108). is updated (S109).

なお、この例では、長期滞留データを削除する場合において、RAMディスク管理モジュール210からデータ削除の要求を受けるとアプリ203が当該データを削除する例を示した。しかし、アプリ203は当該データが削除可能であるかを判断してから当該データを削除してもよい。アプリ203が当該データを削除可能ではないと判断した場合には、それをRAMディスク管理モジュール210に通知し、RAMディスク管理モジュール210が圧縮ファイルシステム202に当該データの書込みを指示し、圧縮ファイルシステム202から当該データとは異なる別の長期滞留データを取得する。 In this example, when deleting long-term retention data, the application 203 deletes the data when receiving a data deletion request from the RAM disk management module 210 . However, the application 203 may delete the data after judging whether the data can be deleted. When the application 203 determines that the data cannot be deleted, it notifies the RAM disk management module 210 of this, the RAM disk management module 210 instructs the compression file system 202 to write the data, and the compression file system From 202, another long-term stay data different from the data is obtained.

(変形例2の効果)
RAMディスクに長期滞在するデータが存在する場合、RAMディスクの容量を圧迫し、RAMディスクに書き込めるデータ量が制限される、RAMディスクは揮発性メモリのため、電源を消した時にRAMディスク内のデータが消えてしまう。しかし、変形例2の構成であれば、長期滞在するデータが存在する際に、RAMディスク上のデータを消去することや別のRAMディスク領域に移動することで、空き領域の少ないRAMディスク領域に書き込むデータ量を増やすことができる。
(Effect of modification 2)
If there is data that stays in the RAM disk for a long time, the capacity of the RAM disk will be squeezed and the amount of data that can be written to the RAM disk will be limited. Since the RAM disk is volatile memory, the data in the RAM disk will be deleted when the power is turned off. disappears. However, with the configuration of Modification 2, when there is data that stays for a long period of time, the data can be moved to another RAM disk area by deleting the data on the RAM disk or moving it to another RAM disk area. You can increase the amount of data you write.

(変形例3)
任意のRAMディスクの圧縮アルゴリズムを動的に変更する手段を設けてもよい。ここでは、RAMディスクを異なる圧縮アルゴリズムで設定し直す(リマウントする)ことにより、同じRAMディスク領域を複数の圧縮アルゴリズムで使い分ける構成について示す。一例として、RAMディスク領域を一つとし、複数のプロセスが同じRAMディスク領域を使用する形態について示す。なお、実施の形態や他の変形例と同様の箇所については図示及び説明を適宜省略し、ここでは主に異なる部分について説明する。
(Modification 3)
Means may be provided to dynamically change the compression algorithm of any RAM disk. Here, a configuration is shown in which the same RAM disk area is selectively used for a plurality of compression algorithms by resetting (remounting) the RAM disk with different compression algorithms. As an example, a configuration is shown in which one RAM disk area is used and a plurality of processes use the same RAM disk area. Illustrations and descriptions of the same portions as those of the embodiment and other modified examples will be omitted as appropriate, and mainly different portions will be described here.

本変形例3に係るSSD13のソフトウェアの構成は、実施の形態に示したソフトウェアの構成(図2参照)において、さらにデータ情報150(図11参照)を含む。また、実施の形態に示した設定情報100(図4参照)やRAMディスク作成プログラム101とは構成が異なる。具体的に、本変形例3に係る設定情報100は、RAMディスク一つ分の設定のみを有する。例えば設定情報100(図4参照)のRAMディスク番号「1」の設定のみを有する。また、RAMディスク作成プログラム101は、RAMディスクの作成の他に、RAMディスクのリマウントを行うプログラムと、マウント情報とを含む。マウント情報は、RAMディスクのマウント状態を示す情報であり、RAMディスク作成プログラム101により使用される。 The software configuration of the SSD 13 according to Modification 3 further includes data information 150 (see FIG. 11) in addition to the software configuration (see FIG. 2) shown in the embodiment. Also, the configuration is different from that of the setting information 100 (see FIG. 4) and the RAM disk creation program 101 shown in the embodiment. Specifically, the setting information 100 according to Modification 3 has only settings for one RAM disk. For example, it has only the setting of the RAM disk number "1" in the setting information 100 (see FIG. 4). The RAM disk creation program 101 also includes a program for creating a RAM disk, a program for remounting the RAM disk, and mount information. Mount information is information indicating the mounting state of the RAM disk, and is used by the RAM disk creation program 101 .

本変形例3に係る情報処理装置においても、実施の形態や、その他の変形例と同様に、作成部が設定情報100の設定に基づいてRAMディスクを作成する。本変形例3では、設定情報100がRAMディスク一つ分の設定のみを有するため、DRAM12には一つのRAMディスクが作成される。その作成された一つのRAMディスクを対象に、後述するRAMディスクリマウントモジュール(「設定変更手段」の一例)209(図21参照)が、データの書込みの際、そのデータに対応する圧縮アルゴリズムでリマウントを行う。 Also in the information processing apparatus according to Modification 3, the creation unit creates a RAM disk based on the setting of the setting information 100, as in the embodiment and other modifications. In Modification 3, since the setting information 100 has only settings for one RAM disk, one RAM disk is created in the DRAM 12 . A RAM disk remount module (an example of "setting change means") 209 (see FIG. 21), which will be described later, remounts the created RAM disk using a compression algorithm corresponding to the data when writing data. I do.

図17は、本変形例3に係るDRAM12のメモリマップの一例を示す図である。図17に示すように、本変形例3ではOS管理対象領域120に一つのRAMディスク領域1200が割り当てられることになる。 FIG. 17 is a diagram showing an example of a memory map of the DRAM 12 according to Modification 3. As shown in FIG. As shown in FIG. 17, one RAM disk area 1200 is allocated to the OS management target area 120 in the third modification.

(マウント情報)
マウント情報は、初期化の際に設定されるRAMディスク初期化情報と、リマウントの度に更新されるRAMディスク更新情報とを有する。マウント情報は、「設定変更手段」の一部である。
(mount information)
The mount information includes RAM disk initialization information that is set during initialization and RAM disk update information that is updated each time the disk is remounted. The mount information is part of the "setting change means".

図18は、本変形例3に係るマウント情報の一例を示す図である。図18に示すマウント情報160は、RAMディスク初期化情報161と、RAMディスク更新情報162とを有する。 FIG. 18 is a diagram showing an example of mount information according to Modification 3. As shown in FIG. Mount information 160 shown in FIG. 18 has RAM disk initialization information 161 and RAM disk update information 162 .

RAMディスク初期化情報161には、RAMディスク作成時におけるRAMディスクの圧縮アルゴリズムとパスとサイズの一セット分の情報が設定される。 In the RAM disk initialization information 161, one set of information including a RAM disk compression algorithm, a path, and a size at the time of RAM disk creation is set.

RAMディスク更新情報162には、当該RAMディスクについて、リマウントされた圧縮アルゴリズムと、リマウントを要求した要求元のプロセス(プロセス名等)とが設定される。なお、RAMディスク更新情報162には、RAMディスクがリマウントされる度に最新の情報が上書きされる。 In the RAM disk update information 162, the remounted compression algorithm and the request source process (process name, etc.) that requested remounting are set for the RAM disk. The RAM disk update information 162 is overwritten with the latest information each time the RAM disk is remounted.

図19は、リマウントが繰り返された場合のRAMディスクの状態遷移の一例を示す図である。図19において、RAMディスク領域121は、図19(a)、図19(b)、図19(c)の順で状態が遷移する。 FIG. 19 is a diagram showing an example of state transition of a RAM disk when remounting is repeated. 19, the state of the RAM disk area 121 changes in the order of FIG. 19(a), FIG. 19(b), and FIG. 19(c).

図19(a)は、初期化時にRAMディスク領域1200が圧縮アルゴリズムAでマウントされた場合の例である。図19(a)には、圧縮アルゴリズムAがマウントされた後にRAMディスク領域1200に圧縮アルゴリズムAで圧縮されたデータd1が書き込まれた状態を表している。 FIG. 19A shows an example in which the RAM disk area 1200 is mounted with the compression algorithm A during initialization. FIG. 19A shows a state in which data d1 compressed by compression algorithm A is written in RAM disk area 1200 after compression algorithm A is mounted.

なお、初期化の際、マウント情報160(図18参照)のRAMディスク初期化情報161には、RAMディスクの圧縮アルゴリズム(この場合、圧縮アルゴリズムA)とパスとサイズの一セット分の情報が設定される。 At the time of initialization, the RAM disk compression algorithm (compression algorithm A in this case) and information for one set of paths and sizes are set in the RAM disk initialization information 161 of the mount information 160 (see FIG. 18). be done.

図19(b)は、図19(a)と同じRAMディスク領域1200にアプリがデータd2を圧縮アルゴリズムBで書き込んだ場合の例を示している。図19(b)に示すように、図19(a)で圧縮アルゴリズムAがマウントされていたRAMディスク領域1200が圧縮アルゴリズムBにリマウントされる。そして、圧縮アルゴリズムBにリマウントされた領域に、圧縮アルゴリズムBで圧縮されたデータd2が書き込まれる。なお、リマウント前に書き込まれていたデータd1は圧縮アルゴリズムAの状態を保持している。 FIG. 19(b) shows an example in which the application writes the data d2 using the compression algorithm B to the same RAM disk area 1200 as in FIG. 19(a). As shown in FIG. 19(b), the RAM disk area 1200 where the compression algorithm A was mounted in FIG. 19(a) is remounted to the compression algorithm B. Then, the data d2 compressed by the compression algorithm B is written in the area remounted by the compression algorithm B. FIG. Data d1 written before remounting retains the state of compression algorithm A. FIG.

図19(b)に示す状態において、マウント情報160のRAMディスク更新情報162は、リマウントを行った圧縮アルゴリズムBと要求元のプロセスとを示す情報により更新されている。 In the state shown in FIG. 19B, the RAM disk update information 162 of the mount information 160 has been updated with information indicating the remounted compression algorithm B and the request source process.

図19(c)は、図19(b)と同じRAMディスク領域1200にアプリがデータd3を圧縮アルゴリズムCで書き込んだ場合の例を示している。図19(c)に示すように、図19(b)で圧縮アルゴリズムBがマウントされていたRAMディスク領域1200が圧縮アルゴリズムCにリマウントされる。そして、圧縮アルゴリズムCでリマウントされた領域に、圧縮アルゴリズムCで圧縮されたデータd3が書き込まれる。なお、リマウント前に書込まれていたデータd1は圧縮アルゴリズムAの状態を保持し、データd2は圧縮アルゴリズムBの状態を保持している。 FIG. 19(c) shows an example in which the application writes data d3 using compression algorithm C to the same RAM disk area 1200 as in FIG. 19(b). As shown in FIG. 19C, the RAM disk area 1200 where compression algorithm B was mounted in FIG. Then, the data d3 compressed by the compression algorithm C is written in the area remounted by the compression algorithm C. FIG. Data d1 written before remounting retains the state of compression algorithm A, and data d2 retains the state of compression algorithm B. FIG.

図19(c)に示す状態において、マウント情報160のRAMディスク更新情報162は、リマウントを行った圧縮アルゴリズムCと要求元のプロセスとを示す情報により更新されている。 In the state shown in FIG. 19C, the RAM disk update information 162 of the mount information 160 has been updated with the information indicating the remounted compression algorithm C and the request source process.

続いて、同じRAMディスク領域を、異なる圧縮アルゴリズムのデータにより使い分けるためのリマウントの手順について説明する。各プロセスは、自ら生データの最適な圧縮方式を指定し、各自のデータの書込みの要求を行う。本変形例3では、先ず、RAMディスクリマウントモジュール209(図21参照)が複数のプロセスからの異なる圧縮アルゴリズムでマウントする要求を受け取り、リマウントの処理を行う。なお、RAMディスクリマウントモジュール209は、複数のプロセスから要求を受けとることになるため、最初に占有権の取得を行う。 Next, a remounting procedure for selectively using the same RAM disk area for data of different compression algorithms will be described. Each process specifies its own optimal compression scheme for raw data and makes a request to write its own data. In Modified Example 3, first, the RAM disk remount module 209 (see FIG. 21) receives requests for mounting with different compression algorithms from a plurality of processes, and performs remount processing. Since the RAM disk remount module 209 receives requests from a plurality of processes, it first acquires the exclusive right.

図20は、RAMディスクリマウントモジュール209(図21参照)が行うリマウントの手順の一例を示すフロー図である。 FIG. 20 is a flow chart showing an example of the remount procedure performed by the RAM disk remount module 209 (see FIG. 21).

RAMディスクリマウントモジュール209は、最初に占有権の取得を行い、処理対象のプロセスの一つから要求を受ける(S61)。なお、他のプロセスは、占有権が取得されている間は、その占有権が開放されるまで、待機する。 The RAM disk remount module 209 first acquires the exclusive right and receives a request from one of the processes to be processed (S61). Note that other processes wait until the exclusive right is released while the exclusive right is acquired.

RAMディスクリマウントモジュール209は、占有権を取得すると、先ずマウント情報160を参照する(S62)。 When the RAM disk remount module 209 acquires the exclusive right, it first refers to the mount information 160 (S62).

続いて、RAMディスクリマウントモジュール209は、プロセスからのデータの書込みなどの要求に基づき、RAMディスクのリマウント処理が必要かを判断する(S63)。具体的に、RAMディスクリマウントモジュール209は、プロセスから受け取った圧縮アルゴリズムがRAMディスク更新情報162の最新の圧縮アルゴリズムに一致するかを判定し、圧縮アルゴリズムが一致しない場合にリマウント処理が必要と判断する。 Subsequently, the RAM disk remount module 209 determines whether or not RAM disk remount processing is necessary based on a data write request from the process (S63). Specifically, the RAM disk remount module 209 determines whether the compression algorithm received from the process matches the latest compression algorithm in the RAM disk update information 162, and if the compression algorithms do not match, determines that remount processing is necessary. .

圧縮アルゴリズムが一致する場合(S63:Yes)、RAMディスクリマウントモジュール209は、ステップS64、S65のリマウント処理を行わずに、プロセスが要求した圧縮アルゴリズムで圧縮されたデータをRAMディスク領域に書込み、占有権を開放する(S66)。 If the compression algorithms match (S63: Yes), the RAM disk remount module 209 writes the data compressed by the compression algorithm requested by the process into the RAM disk area without remounting in steps S64 and S65. The right is released (S66).

圧縮アルゴリズムが一致しない場合(S63:No)、RAMディスクリマウントモジュール209は、ステップS64、S65のリマウント処理を行う。それから、RAMディスクリマウントモジュール209は、プロセスが要求した圧縮アルゴリズムで圧縮されたデータをRAMディスク領域に書込み、占有権を開放する(S66)。 If the compression algorithms do not match (S63: No), the RAM disk remount module 209 performs remount processing in steps S64 and S65. The RAM disk remount module 209 then writes the data compressed by the compression algorithm requested by the process into the RAM disk area and releases the exclusive right (S66).

なお、リマウント処理において、RAMディスクリマウントモジュール209は、RAMディスクのマウントポイントに当該RAMディスクをリマウントする(S64)。更に、RAMディスクリマウントモジュール209は、この操作の際に、圧縮ファイルシステム202の属性情報300にパスと圧縮方式とを設定する。 In the remounting process, the RAM disk remount module 209 remounts the RAM disk at the mount point of the RAM disk (S64). Furthermore, the RAM disk remount module 209 sets the path and compression method in the attribute information 300 of the compressed file system 202 during this operation.

また、リマウント処理において、RAMディスクリマウントモジュール209は、マウント情報160のRAMディスク更新情報162を、リマウントした圧縮アルゴリズムと、そのリマウントを要求した要求元のプロセスの情報とにより更新する。 In addition, in the remount processing, the RAM disk remount module 209 updates the RAM disk update information 162 of the mount information 160 with the remounted compression algorithm and the information of the request source process that requested the remount.

図21は、圧縮アルゴリズムが異なる設定の一時ファイルをアプリ203が同じRAMディスク領域1200に書き込む手順の一例を示すシーケンス図である。 FIG. 21 is a sequence diagram showing an example of a procedure in which the application 203 writes temporary files with different compression algorithm settings to the same RAM disk area 1200 .

最初にアプリ203は、生データから書込みたいデータの性質を判別する(S71)。 First, the application 203 determines the nature of the data to be written from the raw data (S71).

続いてアプリ203は、データ情報150を参照し、データの性質に対応する圧縮アルゴリズムを取得する(S72、S73)。 Next, the application 203 refers to the data information 150 and acquires a compression algorithm corresponding to the nature of the data (S72, S73).

続いてアプリ203は、RAMディスクリマウントモジュール209に占有権の取得を要求する(S74)。これによりRAMディスクリマウントモジュール209は、そのアプリ203の占有権を取得する。他のアプリが占有権を取得している場合は、他のアプリの占有権を開放するまで、新たなアプリの占有権は取得しない。 Subsequently, the application 203 requests the RAM disk remount module 209 to acquire the exclusive right (S74). Thereby, the RAM disk remount module 209 acquires the exclusive right of the application 203 . If another application has acquired the exclusive right, the new application will not acquire the exclusive right until the exclusive right of the other application is released.

RAMディスクリマウントモジュール209は、マウント情報を参照し(S75)、圧縮アルゴリズムを比較する(S76)。具体的に、RAMディスクリマウントモジュール209は、アプリ203から受け取った圧縮アルゴリズムとマウント情報160の最新の圧縮アルゴリズムとを比較し、一致するかを判定する。 The RAM disk remount module 209 refers to the mount information (S75) and compares the compression algorithms (S76). Specifically, the RAM disk remount module 209 compares the compression algorithm received from the application 203 with the latest compression algorithm in the mount information 160 and determines whether they match.

圧縮アルゴリズムが一致しない場合、RAMディスクリマウントモジュール209は、マウント情報160のRAMディスク更新情報162を更新し(S77)、デバイスドライバ201にリマウント操作を行う(S78)。 If the compression algorithms do not match, the RAM disk remount module 209 updates the RAM disk update information 162 of the mount information 160 (S77), and performs a remount operation on the device driver 201 (S78).

圧縮アルゴリズムが一致する場合は、ステップS77、S78をとばす。 If the compression algorithms match, steps S77 and S78 are skipped.

続いて、アプリ203が、RAMディスクリマウントモジュール209からの応答に基づき、圧縮ファイルシステムにデータの書込みを要求する(S79)。 Subsequently, the application 203 requests the compression file system to write data based on the response from the RAM disk remount module 209 (S79).

圧縮ファイルシステムは、データを受け取ると、データ圧縮を行って(S80)、デバイスドライバ201に書込みを要求する(S81、S82)。 When the compressed file system receives the data, it compresses the data (S80) and requests the device driver 201 to write (S81, S82).

アプリ203は、データの書込みの要求に対する応答があると(S83)、RAMディスクリマウントモジュール209の占有権を開放する(S84)。 When the application 203 receives a response to the data write request (S83), it releases the exclusive right of the RAM disk remount module 209 (S84).

書込んだ一時ファイルのデータをアプリ203で読込む手順は、図14において、ステップS51を省略した手順に相当する。本変形例3では、RAMディスク領域を一つだけ設けているためパスは所定の一つである。このため、ステップS51を省略することができる。 The procedure for reading the written temporary file data by the application 203 corresponds to the procedure in FIG. 14, omitting step S51. In this modification 3, only one path is provided because only one RAM disk area is provided. Therefore, step S51 can be omitted.

なお、本変形例3では、RAMディスク領域を1つに設定したが、RAMディスク領域を複数設定し、各RAMディスク領域においてリマウント処理を行うようにしてもよい。 Although one RAM disk area is set in Modification 3, a plurality of RAM disk areas may be set and remount processing may be performed in each RAM disk area.

(変形例3の効果)
本変形例3では、RAMディスクを異なる圧縮アルゴリズムでリマウントすることにより、同じRAMディスク領域を複数の圧縮アルゴリズムで使い分けることができる。従って、RAMディスク領域を圧縮アルゴリズムごとに複数に分ける必要がなく、RAMディスク領域を効率よく使用することができる。
(Effect of modification 3)
In Modified Example 3, by remounting the RAM disk with different compression algorithms, the same RAM disk area can be used for different compression algorithms. Therefore, it is not necessary to divide the RAM disk area into a plurality of areas for each compression algorithm, and the RAM disk area can be used efficiently.

(変形例4)
長期に滞留しているデータを圧縮率の高い圧縮アルゴリズムに切り替えるようにしてもよい。本変形例4では、一例として一つのRAMディスク領域に対し変形例3に示すようなリマウントを行って長期滞留データをより圧縮率の高い圧縮アルゴリズムに切り替えていく例について示す。なお、実施の形態や他の変形例と同様の箇所については図示及び説明を適宜省略し、ここでは主に異なる部分について説明する。
(Modification 4)
A compression algorithm with a high compression rate may be used for data that has been retained for a long time. Modification 4 shows an example in which one RAM disk area is remounted as shown in Modification 3, and long-term retention data is switched to a compression algorithm with a higher compression rate. Illustrations and descriptions of the same portions as those of the embodiment and other modified examples will be omitted as appropriate, and mainly different portions will be described here.

本変形例4に係るSSD13のソフトウェアの構成は、ソフトウェアの構成(図2参照)において、データ情報150(図22参照)とRAMディスク管理プログラム171とを含む。また、RAMディスク作成プログラム101の構成が異なる。 The software configuration of the SSD 13 according to Modification 4 includes data information 150 (see FIG. 22) and a RAM disk management program 171 in the software configuration (see FIG. 2). Also, the configuration of the RAM disk creation program 101 is different.

データ情報150は、データの種別と圧縮アルゴリズムとを対応付けた情報である。本変形例4に係る構成では、変形例1に示した構成(図11参照)において、さらに優先順位の異なる複数の圧縮アルゴリズムを設定できるようになっている。データ情報150の構成例については図22を用いて後述する。 The data information 150 is information that associates data types with compression algorithms. In the configuration according to Modification 4, in addition to the configuration shown in Modification 1 (see FIG. 11), a plurality of compression algorithms with different priorities can be set. A configuration example of the data information 150 will be described later using FIG.

RAMディスク管理プログラム171は、RAMディスクを管理する機能をカーネルに追加するモジュール型のプログラムである。RAMディスク作成プログラム101は、RAMディスクの作成の他に、RAMディスクのリマウントを行うプログラムと、マウント情報とを含む。各プログラムに基づく情報処理装置全体の動作は図24を用いて後述する。マウント情報の構成については、変形例3で説明済みであるため、ここでの詳しい説明は省略する。 The RAM disk management program 171 is a modular program that adds a RAM disk management function to the kernel. The RAM disk creation program 101 includes a program for creating a RAM disk, a program for remounting the RAM disk, and mount information. The overall operation of the information processing apparatus based on each program will be described later with reference to FIG. Since the configuration of the mount information has already been described in Modification 3, detailed description thereof will be omitted here.

本変形例4は、主に、データ情報150のデータ構成や、長期滞留データをリマウントにより高圧縮する際の情報処理装置全体の動作などが、実施の形態や他の変形例と異なる。以下では、データ情報50のデータ構成や、長期滞留データをリマウントにより高圧縮する際の情報処理装置全体の動作について詳しく説明する。 Modification 4 differs from the embodiment and other modifications mainly in the data configuration of data information 150 and the operation of the entire information processing apparatus when highly compressing long-term retention data by remounting. In the following, the data configuration of the data information 50 and the operation of the entire information processing apparatus when highly compressing long-term retention data by remounting will be described in detail.

(データ情報)
図22は、本変形例4に係るデータ情報150のデータ構成の一例を示す図である。図22に示すように、データ情報150には、データの種別t151と第1の圧縮アルゴリズムt152-1と第2の圧縮アルゴリズムt152-2とが対応付けられている。データの種別t151は変形例1と同様に、データの性質を示す情報が設定されている。第1の圧縮アルゴリズムt152-1には、データの種別t151に適した圧縮アルゴリズムが第1の優先順位の圧縮アルゴリズムとして設定されている。第2の圧縮アルゴリズムt152-2には、設定できる中でより高い圧縮アルゴリズムが第二の圧縮アルゴリズムとして設定されている。第二の圧縮アルゴリズムは、RAMディスクの空き容量が少なくなった場合に適用される。なお、CPU負荷率などを考慮しない場合であれば、設定できる中で最も高い圧縮アルゴリズムを第二の圧縮アルゴリズムとして設定してよい。
(data information)
FIG. 22 is a diagram showing an example of the data configuration of the data information 150 according to Modification 4. As shown in FIG. As shown in FIG. 22, data type t151, first compression algorithm t152-1, and second compression algorithm t152-2 are associated with data information 150. FIG. In the data type t151, as in the first modification, information indicating the nature of data is set. For the first compression algorithm t152-1, a compression algorithm suitable for the data type t151 is set as the first priority compression algorithm. For the second compression algorithm t152-2, a higher compression algorithm is set as the second compression algorithm among those that can be set. A second compression algorithm is applied when the free space of the RAM disk is low. If the CPU load factor and the like are not considered, the highest possible compression algorithm may be set as the second compression algorithm.

ここでは、第1の圧縮アルゴリズムt152-1にデータの種別に応じた圧縮アルゴリズムの設定例を示している。第2の圧縮アルゴリズムt152-2には全ての種別に共通するより高圧縮の圧縮アルゴリズム、一例として第1の圧縮アルゴリズムの中でより高圧縮の圧縮アルゴリズムAの設定例を示している。 Here, a setting example of the compression algorithm corresponding to the type of data is shown in the first compression algorithm t152-1. A second compression algorithm t152-2 shows a setting example of a higher compression algorithm common to all types, for example, a higher compression algorithm A among the first compression algorithms.

(RAMディスクの状態遷移)
図23は、RAMディスクが異なる圧縮アルゴリズムでマウントされる度に遷移するマウントの状態の一例を示す図である。図23(a)、図23(b)、図23(c)に示す各状態は、図19の図19(a)、図19(b)、図19(c)に示す各状態に一致し、図23(d)に示す状態は、本変形例4で新たに追加した、長期滞留データの圧縮アルゴリズムの変更を示している。
(State transition of RAM disk)
FIG. 23 is a diagram showing an example of a state of mounting that transitions each time a RAM disk is mounted with a different compression algorithm. The states shown in FIGS. 23(a), 23(b), and 23(c) correspond to the states shown in FIGS. 19(a), 19(b), and 19(c) of FIG. , and the state shown in FIG. 23(d) shows a change in the compression algorithm of the long-term stay data, which is newly added in the fourth modification.

図23(a)には、圧縮アルゴリズムAがマウントされた後にRAMディスク領域1200に圧縮アルゴリズムAで圧縮されたデータd1が書き込まれた状態を表している。 FIG. 23A shows a state in which data d1 compressed by compression algorithm A is written in RAM disk area 1200 after compression algorithm A is mounted.

図23(b)には、図23(a)と同じRAMディスク領域1200にアプリがデータd2を圧縮アルゴリズムBで書き込んだ場合の状態を示している。 FIG. 23(b) shows a state in which the application writes data d2 using compression algorithm B to the same RAM disk area 1200 as in FIG. 23(a).

図23(c)には、図23(b)と同じRAMディスク領域1200にアプリがデータd3を圧縮アルゴリズムCで書き込んだ場合の状態を示している。 FIG. 23(c) shows a state in which the application writes data d3 using compression algorithm C to the same RAM disk area 1200 as in FIG. 23(b).

このようにRAMディスク領域1200にはデータd1、d2、d3が順次書き込まれる。RAMディスク管理モジュール210が、データd1とデータd2を長期滞留データとして判断したとする。その場合、各長期滞留データが伸張され、最も圧縮率の高いアルゴリズム(この例では圧縮アルゴリズムA)でRAMディスクがリマウントされて、その領域に、圧縮アルゴリズムAで圧縮し直された長期滞留データが書き込まれる。 In this manner, data d1, d2 and d3 are written in the RAM disk area 1200 sequentially. Assume that the RAM disk management module 210 determines that data d1 and data d2 are long-term retention data. In that case, each long-term retention data is decompressed, the RAM disk is remounted with an algorithm with the highest compression ratio (compression algorithm A in this example), and the long-term retention data recompressed with compression algorithm A is stored in that area. written.

図23(d)には、図23(c)と同じRAMディスク領域1200に、RAMディスク管理モジュール210が長期滞留データとして判断したデータd1とデータd2を圧縮アルゴリズムAで書込み直したときの状態を示している。図23(c)と図23(d)とが示すように、圧縮アルゴリズムCでマウントされたRAMディスク領域が圧縮アルゴリズムAにリマウントされ、データd1とデータd2が圧縮アルゴリズムAで書き込み直される。なお、データd1、d2は、その後に別の圧縮アルゴリズムでリマウントされた後においても常に状態を保持する。 FIG. 23(d) shows the state when data d1 and data d2, which the RAM disk management module 210 has determined as long-term retention data, are rewritten by compression algorithm A in the same RAM disk area 1200 as in FIG. 23(c). showing. As shown in FIGS. 23(c) and 23(d), the RAM disk area mounted with compression algorithm C is remounted with compression algorithm A, and data d1 and data d2 are rewritten with compression algorithm A. FIG. Note that the data d1 and d2 always retain their states even after being remounted by another compression algorithm.

また、RAMディスク更新情報162(図18参照)は、最後にリマウントを行った圧縮アルゴリズムAと要求元のプロセスとを示す情報に更新される。 Also, the RAM disk update information 162 (see FIG. 18) is updated to information indicating the last remounted compression algorithm A and the request source process.

(長期滞留データをリマウントにより高圧縮する際の情報処理装置全体の動作)
図24は、長期滞留データをリマウントにより高圧縮する際の情報処理装置全体の動作の一例を示すシーケンス図である。
(Operation of entire information processing device when high compression is performed on long-term retention data by remounting)
FIG. 24 is a sequence diagram illustrating an example of the operation of the entire information processing apparatus when highly compressing long-term retention data by remounting.

最初に、RAMディスク管理モジュール210は、一定間隔でデバイスドライバ201にRAMディスク領域1200の空き容量を確認する(S151)。 First, the RAM disk management module 210 confirms the free space of the RAM disk area 1200 with the device driver 201 at regular intervals (S151).

ステップS151の確認により、RAMディスク領域1200の空き容量が一定値より少ないと判定されたとする。その場合、RAMディスク管理モジュール210は、RAMディスクリマウントモジュール209に占有権の取得を要求する(S152)。そして、RAMディスク管理モジュール210は、占有権が取得できると、RAMディスク領域1200内に長期滞留データがないかをチェックし、圧縮ファイルシステム202からデータ情報(長期滞留データ)を取得する(S153)。 Suppose that the confirmation in step S151 determines that the free space of the RAM disk area 1200 is less than a certain value. In this case, the RAM disk management module 210 requests the RAM disk remount module 209 to acquire the exclusive right (S152). Then, when the exclusive right can be acquired, the RAM disk management module 210 checks whether there is long-term staying data in the RAM disk area 1200, and acquires data information (long-term staying data) from the compressed file system 202 (S153). .

続いて、RAMディスク管理モジュール210は、データを削除する場合と、データを削除しない場合とに分けて次の処理を行う。なお、データを削除するかどうかについては、例えば、その時点で設定されている圧縮アルゴリズムよりも高圧縮率の圧縮アルゴリズムに変更可能かどうか、などにより判断する。 Subsequently, the RAM disk management module 210 performs the following processing separately for data deletion and non-data deletion. Whether or not to delete data is determined based on, for example, whether it is possible to change to a compression algorithm with a higher compression ratio than the compression algorithm set at that time.

先ずデータを削除する場合について説明する。データを削除する場合、RAMディスク管理モジュール210は、取得した長期滞留データの書き込み元のアプリ(一例としてアプリ203とする)に対し、ファイル名を通知して当該データの削除を要求する(S154)。要求を受けたアプリ203は当該データを削除する(S155)。 First, the case of deleting data will be described. When deleting data, the RAM disk management module 210 notifies the application (the application 203 as an example) that wrote the acquired long-term retention data of the file name and requests deletion of the data (S154). . The application 203 that has received the request deletes the data (S155).

一方、データを削除することができない場合、RAMディスク管理モジュール210は、データ情報150からデータ情報を取得する(S156、S157)。そして、RAMディスク管理モジュール210は、当該長期滞留データが圧縮アルゴリズム(1)で圧縮されている場合、RAMディスクリマウントモジュール209に圧縮アルゴリズム(2)への変更を要求する(S158)。この要求により、RAMディスクリマウントモジュール209は、RAMディスクを圧縮アルゴリズム(1)でリマウントして当該長期滞留データを取得し、さらにRAMディスクを圧縮アルゴリズム(2)でリマウントして当該長期滞留データを書き込む。 On the other hand, if the data cannot be deleted, the RAM disk management module 210 acquires data information from the data information 150 (S156, S157). Then, if the long-term retention data is compressed by compression algorithm (1), RAM disk management module 210 requests RAM disk remount module 209 to change to compression algorithm (2) (S158). In response to this request, the RAM disk remount module 209 remounts the RAM disk with compression algorithm (1) to obtain the long-term retention data, and remounts the RAM disk with compression algorithm (2) to write the long-term retention data. .

その後、この実施により圧縮アルゴリズム(2)の圧縮データが書き込まれると、RAMディスク管理モジュール210は、RAMディスクリマウントモジュール209の占有権を開放する(S159)。 Thereafter, when the compressed data of compression algorithm (2) is written by this implementation, RAM disk management module 210 releases the exclusive right of RAM disk remount module 209 (S159).

(変形例4の効果)
RAMディスクに長期滞在するデータが存在する場合、RAMディスクの容量を圧迫し、RAMディスクに書き込めるデータ量が制限される、RAMディスクは揮発性メモリのため、電源を消した時にRAMディスク内のデータが消えてしまう。
(Effect of modification 4)
If there is data that stays in the RAM disk for a long time, the capacity of the RAM disk will be squeezed and the amount of data that can be written to the RAM disk will be limited. Since the RAM disk is volatile memory, the data in the RAM disk will be deleted when the power is turned off. disappears.

しかし、変形例4の構成であれば、長期滞在するデータが存在する際に、現在設定されている圧縮アルゴリズムからより高い圧縮アルゴリズムへの変更、またはRAMディスク上のデータを消去することで、RAMディスクに書き込むデータ量を増やすことができる。 However, in the configuration of modification 4, when there is data that stays for a long time, the currently set compression algorithm can be changed to a higher compression algorithm, or the data on the RAM disk can be deleted. You can increase the amount of data written to disk.

(変形例5)
ネットワーク接続が可能で、ネットワークストレージを有する情報処理装置において、RAMディスクに保存したデータをネットワークストレージに保存して永続化するように変形してもよい。以下では、RAMディスク内に存在するデータを外部ストレージ(ネットワークストレージや二次記憶装置など)へ保存する場合の態様について示す。
(Modification 5)
An information processing apparatus that can be connected to a network and has a network storage may be modified so that data saved in a RAM disk is saved in the network storage and made permanent. In the following, a mode of saving data existing in a RAM disk to an external storage (network storage, secondary storage device, etc.) will be described.

図25は、変形例5に係るハードウェア構成の一例を示す図である。図25には、一例として、CPU11、DRAM(RAMディスク)12、SSD13、外部ストレージ15がバス14を介して接続されている構成を示している。ここで、外部ストレージ15は、ネットワークストレージ又は二次記憶装置である。二次記憶装置は、SD(登録商標)カードやUSB(Universal Serial Bus)メディアなどである。CPU11は、外部ストレージ15がネットワークストレージである場合、ネットワーク通信インタフェースを介してネットワーク上の外部ストレージと通信接続する。 FIG. 25 is a diagram illustrating an example of a hardware configuration according to modification 5; FIG. 25 shows a configuration in which a CPU 11, a DRAM (RAM disk) 12, an SSD 13, and an external storage 15 are connected via a bus 14 as an example. Here, the external storage 15 is network storage or secondary storage. The secondary storage device is an SD (registered trademark) card, a USB (Universal Serial Bus) medium, or the like. When the external storage 15 is a network storage, the CPU 11 communicates with the external storage on the network via a network communication interface.

図26は、RAMディスク12内に存在するデータを外部ストレージ15へ保存するための手順の一例を示すシーケンス図である。 FIG. 26 is a sequence diagram showing an example of the procedure for saving data existing in the RAM disk 12 to the external storage 15. As shown in FIG.

最初、RAMディスク管理モジュール210は、圧縮ファイルシステム202にRAMディスクのデータ情報の取得を要求する(S201)。データ情報は、RAMディスク内の一部の所定のデータでもよいし、全てのデータでもよい。 First, the RAM disk management module 210 requests the compressed file system 202 to acquire RAM disk data information (S201). The data information may be part of the predetermined data in the RAM disk, or may be all the data.

続いて、RAMディスクのデータを取得するシーケンスを行う(S202)。RAMディスクのデータを取得するシーケンスは、他の変形例において説明したデータ取得のシーケンスを行う。このシーケンスの詳細については他の変形例などに一例を示しているため、ここでの詳しいシーケンスの図示および説明は省略する。 Subsequently, a sequence for acquiring data from the RAM disk is performed (S202). The sequence for acquiring data from the RAM disk is the sequence for acquiring data described in other modified examples. Since an example of the details of this sequence is shown in other modified examples, the detailed illustration and description of the sequence are omitted here.

ステップS202に続き、RAMディスク管理モジュール210は、圧縮ファイルシステム202に対し、取得したデータの外部ストレージ15への保存を要求する(S203)。この要求により、圧縮ファイルシステム202が外部ストレージ15にデータの保存を行う(S205)。 Following step S202, the RAM disk management module 210 requests the compressed file system 202 to store the acquired data in the external storage 15 (S203). In response to this request, the compression file system 202 saves the data in the external storage 15 (S205).

(変形例5の効果)
RAMディスク内のデータを外部ストレージに保存することで、情報処理装置の電源を切った後でもデータを永続化することができる。このため、情報処理装置を再び起動した後も、RAMディスク内のデータを復元することが図れる。また、RAMディスク内の一部のデータを外部ストレージへ移動した場合には、RAMディスク内の空き領域が増えるため、書き込むデータ量を増やすことができる。
(Effect of modification 5)
By storing the data in the RAM disk in the external storage, the data can be made permanent even after the power of the information processing apparatus is turned off. Therefore, the data in the RAM disk can be restored even after the information processing apparatus is restarted. Further, when part of the data in the RAM disk is moved to the external storage, the amount of data to be written can be increased because the free space in the RAM disk increases.

実施の形態及び各変形例の各装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。 A program executed by each apparatus of the embodiment and each modified example is a file in an installable format or an executable format, and can be stored on a CD-ROM, a flexible disk (FD), a CD-R, a DVD (Digital Versatile Disk), or the like. provided on a computer-readable recording medium.

また、実施の形態及び各変形例の各装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、実施の形態及び各変形例の各装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。 Further, the program executed by each device of the embodiment and each modified example may be stored on a computer connected to a network such as the Internet, and may be provided by being downloaded via the network. Also, the program executed by each device of the embodiment and each modified example may be provided or distributed via a network such as the Internet.

また、実施の形態及び各変形例のプログラムを、ROM等に予め組み込んで提供するように構成してもよい。 Further, the programs of the embodiment and each of the modifications may be configured to be pre-installed in a ROM or the like and provided.

100 設定情報
102 圧縮ファイルシステムプログラム
103、104 アプリケーションプログラム
100 setting information 102 compressed file system program 103, 104 application program

特開平5-120131号公報JP-A-5-120131

Claims (14)

複数のRAMディスクの圧縮方式を設定した設定情報と、
システム起動時に取得した該設定情報の設定に従い、前記圧縮方式毎にRAMディスクを作成する作成部と、
データの書込みおよび読込みを要求するアプリケーションと、
前記アプリケーションによる前記データの書込みの要求に基づき、前記アプリケーションに対応するRAMディスクに該RAMディスクの圧縮方式で前記データを書込むファイルシステムとを有し、
前記アプリケーションは、
前記データの書込み先として、前記設定情報の設定の内の自身のアプリケーションのデータの性質が対応する圧縮方式のRAMディスクを指定し、
前記ファイルシステムは、
前記アプリケーションにより指定されたRAMディスクに該RAMディスクに設定されている圧縮方式で前記データの書込みを行う、
ことを特徴とする情報処理装置。
setting information that sets compression methods for a plurality of RAM disks;
a creation unit that creates a RAM disk for each compression method according to the setting of the setting information acquired at system startup ;
applications requesting to write and read data;
a file system for writing the data to a RAM disk corresponding to the application in accordance with a compression method for the RAM disk, based on a request for writing the data by the application;
Said application is
designating, as a destination for writing the data, a RAM disk of a compression method corresponding to the properties of the data of the application itself in the setting of the setting information;
The file system is
writing the data to the RAM disk specified by the application in a compression method set for the RAM disk;
An information processing device characterized by:
前記作成部は、前記圧縮方式毎のRAMディスクの作成において、前記設定情報の設定に従い、前記複数のRAMディスクの記憶領域をDRAMの一部の記憶領域にRAMディスク毎に作成する、
ことを特徴とする請求項1に記載の情報処理装置。
In creating the RAM disk for each of the compression methods, the creation unit creates storage areas of the plurality of RAM disks in a partial storage area of the DRAM for each RAM disk according to the setting of the setting information.
The information processing apparatus according to claim 1, characterized by:
前記圧縮方式には非圧縮が含まれ、
前記アプリケーションは、前記データが圧縮済みのデータである場合に、前記データの書込み先として前記複数のRAMディスクの内の非圧縮の設定のRAMディスクを指定し、
前記ファイルシステムは、前記アプリケーションにより非圧縮の設定のRAMディスクが指定された場合に、前記データを圧縮を省略して前記指定されたRAMディスクに書込む、
ことを特徴とする請求項1乃至2のうちの何れか一項に記載の情報処理装置。
The compression scheme includes uncompressed,
the application, when the data is compressed data, designates a RAM disk with an uncompressed setting among the plurality of RAM disks as a write destination of the data;
When the application specifies a RAM disk with uncompressed settings, the file system omits compression of the data and writes it to the specified RAM disk.
3. The information processing apparatus according to any one of claims 1 and 2, characterized by:
前記アプリケーションは、
前記アプリケーションのファイルごとにデータの性質が対応する圧縮方式を指定する指定手段と、
前記指定手段により指定された圧縮方式に対応するRAMディスクを前記データの書込みを要求した書込み先を示す情報として前記データのファイル名ごとに管理するファイル管理情報と、
を有する、
ことを特徴とする請求項1乃至3のうちの何れか一項に記載の情報処理装置。
Said application is
Designating means for designating a compression method corresponding to data properties for each file of the application;
File management information for managing a RAM disk corresponding to the compression method specified by the specifying means for each file name of the data as information indicating a write destination to which the data is requested to be written;
has a
4. The information processing apparatus according to any one of claims 1 to 3, characterized by:
前記指定手段は、
前記アプリケーションのファイルごとにデータの性質を判別する判別手段と、
前記判別手段により判別されたデータの性質と該データの性質に対応する圧縮方式とが予め対応付けられているデータ情報と、に基づき前記アプリケーションのファイルごとにデータの性質が対応する圧縮方式を指定する、
ことを特徴とする請求項4に記載の情報処理装置。
The specifying means is
a determination means for determining the nature of data for each file of the application;
The compression method corresponding to the data property is specified for each file of the application based on data information in which the property of the data determined by the determination means and the compression method corresponding to the property of the data are associated in advance. do,
5. The information processing apparatus according to claim 4, characterized by:
前記ファイルシステムは、前記アプリケーションからデータの読込みの要求を受けた場合に、前記アプリケーションから前記ファイル管理情報に含まれる前記データの書込み先を示す情報の指定があると、前記読込の要求を受けたデータを、前記指定された書込み先のRAMディスクから該RAMディスクの圧縮方式に応じて伸張する、
ことを特徴とする請求項4または5に記載の情報処理装置。
When receiving a data read request from the application, the file system receives the read request when the application designates information indicating a write destination of the data included in the file management information. decompressing the data from the specified write destination RAM disk according to the compression method of the RAM disk;
6. The information processing apparatus according to claim 4, wherein:
RAMディスクの圧縮方式を設定した設定情報と、
前記設定情報の設定に従い、前記圧縮方式に対応したRAMディスクを作成する作成部と、
データの書込みおよび読込みを要求するアプリケーションと、
前記アプリケーションによる前記データの書込みの要求に基づき、前記RAMディスクに前記データに対応する圧縮方式で前記データを書込むファイルシステムと、
前記アプリケーションが書込みを要求する前記データにおいて、前記データに対応する圧縮方式が前記RAMディスクの圧縮方式に一致しない場合に、前記RAMディスクの圧縮方式を前記データに対応する圧縮方式に設定し直す設定変更手段と、
を有することを特徴とする情報処理装置。
setting information that sets the compression method of the RAM disk;
a creating unit that creates a RAM disk corresponding to the compression method according to the setting of the setting information;
applications requesting to write and read data;
a file system that writes the data to the RAM disk in accordance with a compression method corresponding to the data, based on a request for writing the data from the application;
In the data requested to be written by the application, if the compression method corresponding to the data does not match the compression method of the RAM disk, setting to reset the compression method of the RAM disk to the compression method corresponding to the data. a means of change;
An information processing device comprising:
前記設定変更手段は、
前記ファイルシステムが前記RAMディスクに前記データの書込みを行う度に、前記RAMディスクの圧縮方式が前記データに対応する圧縮方式に一致しないという条件を満たすと、前記RAMディスクの圧縮方式を前記データに対応する圧縮方式に設定し直す、
ことを特徴とする請求項7に記載の情報処理装置。
The setting change means is
Whenever the file system writes the data to the RAM disk, if the condition that the compression method of the RAM disk does not match the compression method corresponding to the data is satisfied, the compression method of the RAM disk is changed to the data. Reconfigure to the corresponding compression method,
8. The information processing apparatus according to claim 7, characterized by:
前記設定変更手段が一つのRAMディスクを対象に圧縮方式を異なる圧縮方式へ設定し直すリマウントを繰り返す度に、前記ファイルシステムは、前記一つのRAMディスクに関するRAMディスク用の領域に前記リマウント後の圧縮方式に対応するデータを書込む、
ことを特徴とする請求項7または8に記載の情報処理装置。
Each time the setting change means repeats the remounting of one RAM disk by setting the compression method to a different compression method, the file system stores the compression method after remounting in the RAM disk area for the one RAM disk. write data corresponding to the scheme,
9. The information processing apparatus according to claim 7 or 8, characterized by:
RAMディスクの空き領域を管理する管理手段を有し、
前記管理手段は、前記RAMディスクに長期に滞留するデータを削除することにより前記RAMディスクの空き領域を増加させる、
ことを特徴とする請求項1乃至9のうちの何れか一項に記載の情報処理装置。
having management means for managing the free space of the RAM disk,
The management means increases the free space of the RAM disk by deleting data that stays in the RAM disk for a long period of time.
10. The information processing apparatus according to any one of claims 1 to 9, characterized by:
前記管理手段は、複数のRAMディスクのうちの第1のRAMディスクに書込まれているデータを第2のRAMディスクへ移動することにより第1のRAMディスクの空き領域を増加させる、
ことを特徴とする請求項10に記載の情報処理装置。
The management means increases the free space of the first RAM disk by moving the data written in the first RAM disk among the plurality of RAM disks to the second RAM disk.
11. The information processing apparatus according to claim 10, characterized by:
前記管理手段は、前記RAMディスクに書込まれているデータを該データの圧縮アルゴリズムよりも高い圧縮アルゴリズムで圧縮したデータで書き換えることにより前記RAMディスクの空き領域を増加させる、
ことを特徴とする請求項10または11に記載の情報処理装置。
The management means increases the free space of the RAM disk by rewriting the data written in the RAM disk with data compressed by a compression algorithm higher than the compression algorithm of the data.
12. The information processing apparatus according to claim 10, wherein:
前記RAMディスクに書込んだデータを二次記憶装置に保存することにより前記データを永続化させる、
ことを特徴とする請求項1乃至12のうちの何れか一項に記載の情報処理装置。
Perpetuating the data written to the RAM disk by storing the data in a secondary storage device;
13. The information processing apparatus according to any one of claims 1 to 12, characterized by:
前記RAMディスクに書込んだデータをネットワークを介してネットワークストレージに保存することにより永続化させる、
ことを特徴とする請求項1乃至13のうちの何れか一項に記載の情報処理装置。
The data written to the RAM disk is made permanent by saving it in a network storage via a network;
14. The information processing apparatus according to any one of claims 1 to 13, characterized by:
JP2018131722A 2017-09-25 2018-07-11 Information processing device and method Active JP7214999B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/140,697 US10860257B2 (en) 2017-09-25 2018-09-25 Information processing apparatus and information processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017184096 2017-09-25
JP2017184096 2017-09-25

Publications (2)

Publication Number Publication Date
JP2019061654A JP2019061654A (en) 2019-04-18
JP7214999B2 true JP7214999B2 (en) 2023-01-31

Family

ID=66177431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018131722A Active JP7214999B2 (en) 2017-09-25 2018-07-11 Information processing device and method

Country Status (1)

Country Link
JP (1) JP7214999B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000089983A (en) 1998-09-10 2000-03-31 Casio Comput Co Ltd Data storage device and method therefor
US20070073941A1 (en) 2005-09-29 2007-03-29 Brink Peter C Data storage using compression
JP2008257584A (en) 2007-04-06 2008-10-23 Hitachi Ltd Ram disk processing method and system
JP2008269050A (en) 2007-04-17 2008-11-06 Hitachi Ltd Compression control device and method
JP2016071393A (en) 2014-09-26 2016-05-09 横河レンタ・リース株式会社 Data management device, data management method, and data management program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3517940B2 (en) * 1994-03-24 2004-04-12 エー・アイ・ソフト株式会社 Method and apparatus for reading and writing compressed data
JPH10312297A (en) * 1997-03-12 1998-11-24 Toshiba Corp Resource managing method, resource managing device and recording medium for information processing system having multi-task function

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000089983A (en) 1998-09-10 2000-03-31 Casio Comput Co Ltd Data storage device and method therefor
US20070073941A1 (en) 2005-09-29 2007-03-29 Brink Peter C Data storage using compression
JP2008257584A (en) 2007-04-06 2008-10-23 Hitachi Ltd Ram disk processing method and system
JP2008269050A (en) 2007-04-17 2008-11-06 Hitachi Ltd Compression control device and method
JP2016071393A (en) 2014-09-26 2016-05-09 横河レンタ・リース株式会社 Data management device, data management method, and data management program

Also Published As

Publication number Publication date
JP2019061654A (en) 2019-04-18

Similar Documents

Publication Publication Date Title
US7069393B2 (en) Storage system providing file aware caching and file aware remote copy
EP3108371B1 (en) Modified memory compression
US9208067B2 (en) Storage system and storage control method that compress and store data elements
JP5955870B2 (en) Method, computer readable storage medium and system for optimal compression of a virtual disk
RU2658886C1 (en) Files management method, distributed storage system and control unit
KR100874702B1 (en) Device Drivers and Methods for Efficiently Managing Flash Memory File Systems
JP2009527847A (en) File-based compression on FAT volumes
JP2018049523A (en) Memory system and control method
JP3595073B2 (en) Computer system and file management method used in the system
US9727246B2 (en) Memory device, computer system, and method of controlling memory device
US9262313B2 (en) Provisioning in heterogenic volume of multiple tiers
JP6011349B2 (en) Storage apparatus and data compression method
US9524300B2 (en) Heterogenic volume generation and use system
JPWO2013186828A1 (en) Computer system and control method
EP3812904B1 (en) Swap area in memory using multiple compression algorithms
US10860257B2 (en) Information processing apparatus and information processing method
US20170255393A1 (en) Storage device and storage method
US9395930B2 (en) Information processing system, control method of information processing system, and recording medium
US11176089B2 (en) Systems and methods for implementing dynamic file systems
JP7214999B2 (en) Information processing device and method
JP2008257584A (en) Ram disk processing method and system
JP2022169888A (en) Management apparatus, management system, management method, and management program
JP2023058241A (en) Information processing device, information processing method and information processing program
JP2006079146A (en) Data processor
KR20070077303A (en) Usb storage device, its application program managing method and client

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210520

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221026

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230102

R151 Written notification of patent or utility model registration

Ref document number: 7214999

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151