(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022019083
(43)【公開日】2022-01-27
(54)【発明の名称】不揮発性メモリに記憶するファイルの保存先を管理する情報処理装置、及び情報処理システム
(51)【国際特許分類】
G06F 16/18 20190101AFI20220120BHJP
G06F 12/06 20060101ALI20220120BHJP
G06F 12/00 20060101ALI20220120BHJP
【FI】
G06F16/18 100
G06F12/06 515H
G06F12/00 597U
G06F12/00 597Z
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2020122660
(22)【出願日】2020-07-17
(71)【出願人】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ特許業務法人
(72)【発明者】
【氏名】吉田 航瑛
(72)【発明者】
【氏名】小谷中 洋介
【テーマコード(参考)】
5B160
【Fターム(参考)】
5B160AA20
5B160MM01
(57)【要約】
【課題】ファイルを効率的に分配し、書込み回数制限のある不揮発性メモリの寿命を延ばす。
【解決手段】通常タスク実行部11が通常のタスクを実行する間、ファイル情報記憶部12にファイルの書込み履歴を記録し、ファイル保存先変更要求部14が要求を出力すると、ファイル保存先決定部15は、ファイル情報記憶部12に記憶した書込み履歴に基づき、第2の不揮発性メモリ125の書込み頻度が低くなるようにファイルの保存先を決定する。ファイル保存先変更部16は、ファイル保存先決定部15が決定した保存先(第1の不揮発性メモリ124又は第2の不揮発性メモリ125)にファイルを保存させる。
【選択図】
図2
【特許請求の範囲】
【請求項1】
書込み回数制限のない第1の不揮発性メモリと、
書込み回数制限のある第2の不揮発性メモリと、
通常のタスクを実行する通常タスク実行部と、
前記通常のタスクにおけるファイルの書込み履歴を記憶するファイル情報記憶部と、
前記ファイルの書込み履歴に基づき、前記第2の不揮発性メモリの書込み頻度が低くなるように前記ファイル情報記憶部に記憶されたファイルの保存先を決定するファイル保存先決定部と、
前記ファイル保存先決定部が決定した保存先に従い、前記第1の不揮発性メモリ又は前記第2の不揮発性メモリへファイルを保存させるファイル保存先変更部と、
を有する情報処理装置。
【請求項2】
前記ファイルの書込み履歴は、各ファイルの書込み頻度及びファイルサイズを少なくとも含む請求項1記載の情報処理装置。
【請求項3】
前記ファイル保存先決定部は、前記ファイルの書込み履歴に基づき、前記第1の不揮発性メモリのファイルの容量の上限を超えず、かつ、前記第2の不揮発性メモリの書込み頻度が低くなるように各ファイルの保存先を決定する請求項1記載の情報処理装置。
【請求項4】
前記ファイル保存先決定部は、前記ファイルの書込み履歴に基づき、前記第1の不揮発性メモリのファイル容量の上限を超えず、かつ、前記第2の不揮発性メモリの書込み頻度が低くなるようなファイルの保存先の組合せを決定する請求項1記載の情報処理装置。
【請求項5】
予め設定された所定の条件に従い、前記ファイルの保存先の変更開始を要求するファイル保存先変更要求部を有する請求項1記載の情報処理装置。
【請求項6】
前記第2の不揮発性メモリの書込み頻度のうち、一時的に変化する書込み頻度を除外する書込み頻度修正部を有する請求項1記載の情報処理装置。
【請求項7】
前記ファイル保存先決定部が決定したファイルの保存先に基づき、前記第1の不揮発性メモリ又は前記第2の不揮発性メモリに記憶するファイルの再配置を行う再配置実行部を有する請求項1記載の情報処理装置。
【請求項8】
再配置が実行されているファイルの識別情報を記憶する再配置ファイル情報記憶部を備え、
前記再配置実行部は、前記識別情報を基に再配置を再開する、請求項7記載の情報処理装置。
【請求項9】
前記ファイル情報記憶部を、前記第1の不揮発性メモリに備える、請求項1記載の情報処理装置。
【請求項10】
前記ファイル情報記憶部を、前記第2の不揮発性メモリに備える、請求項1記載の情報処理装置。
【請求項11】
前記ファイル情報記憶部を、前記第1の不揮発性メモリ及び前記第2の不揮発性メモリとは異なる第3の不揮発性メモリに備える、請求項1記載の情報処理装置。
【請求項12】
書込み回数制限のない第1の不揮発性メモリと、
書込み回数制限のある第2の不揮発性メモリと、
通常のタスクを実行する通常タスク実行部と、
前記通常のタスクにおけるファイルの書込み履歴を記憶するファイル情報記憶部と、
前記ファイルの書込み履歴に基づき、前記第2の不揮発性メモリの書込み頻度が低くなるように前記ファイル情報記憶部に記憶されたファイルの保存先を決定するファイル保存先決定部と、
前記ファイル保存先決定部が決定した保存先に従い前記第1の不揮発性メモリ又は前記第2の不揮発性メモリへファイルを保存させるファイル保存先変更部と、
を有する情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、不揮発性メモリに記憶するファイルの保存先を管理する情報処理装置、及び情報処理システムに関する。
【背景技術】
【0002】
工作機械等の産業機械を制御する制御装置は、産業機械を制御するための制御用プログラムを記憶したり、産業機械の動作状況を記録したりするためのストレージデバイスを備えている。制御装置は、複数の産業機械が動作する環境に設置されることが多く、振動等の影響を受けやすい劣悪な状況下で動作する。そのため、制御装置ではストレージデバイスとして駆動部分が無く振動による影響を受けにくいNANDフラッシュを使用した半導体ストレージが用いられる事がある。
【0003】
SSD(Solid State Drive)等のNANDフラッシュを利用した不揮発性メモリは、メモリセルの集合であるページと呼ばれる単位でデータの書き込み及び読み込みが行われる。また、ページに書き込まれているデータの消去は、複数のページをまとめたブロックという単位で行われる。そして、フラッシュメモリではデータの上書きを行うことができないため、ページ内のデータを変更するときは、そのページを含むブロック全体のデータを一旦退避し、当該ブロックの消去を行なった後に、変更したデータと共にブロック全体を書き戻している。
【0004】
NANDフラッシュを利用したフラッシュメモリのメモリセルは、動作原理上絶縁体となる酸化膜が貫通する電子によって劣化するため、書き込み回数が限られる。そのため、フラッシュメモリでは、それぞれのブロックに対する書き込み消去回数をカウントすると共に、各ブロックの書き込み消去回数がなるべく均一になるように書き込み制御(ウェアレベリング)がなされている。そのため、最も書き込み消去回数の多いブロックの書き込み消去回数をフラッシュメモリから取得することで、フラッシュメモリの寿命を管理できる。例えば、最も書き込み消去回数の多いブロックの書き込み消去回数が、許容される最大書き込み消去回数の90%を超えた場合にアラームを出力することで、寿命の近づいたフラッシュメモリを交換することができる。
【0005】
一方、不揮発性メモリには、フラッシュメモリと異なり、電気的に劣化する構成を持たない不揮発性メモリがある。本開示では、このような不揮発性メモリを書込み回数制限のない不揮発性メモリと呼ぶ。書込み回数制限のない不揮発性メモリには、例えば、MRAMやバッテリバックアップされたSRAMがある。
書込み回数制限のない不揮発性メモリは、一般的に容量のあたりのコストが高い。そのため、不揮発性メモリのハードウェアコストを抑えるために、従来の装置には、書込み回数制限のある不揮発性メモリと書込み回数制限のない不揮発性メモリの両方を搭載し、書込み回数制限のある不揮発性メモリには書込み頻度が低いファイルを保存し、書込み回数制限のない不揮発性メモリには書込み頻度が高いファイルを保存するものがある。
【0006】
しかし、書込み頻度に関しては事前に分かるものではなく、制御装置の使用状況、制御対象となる機械の使用状況、各機械の機能の使用状況に応じて書込み頻度が変わるファイルがある。どのデータの書込み頻度が高いかは制御装置の使用前に知ることはできない。
【0007】
書込み頻度の高いファイルを書込み回数制限のない不揮発性メモリに保存する技術として、あるタスクからの、フラッシュメモリへの書込み量(もしくは書込み頻度や書込み回数)がある閾値より高い場合には、そのタスクからのファイルを書込み回数制限のない不揮発性メモリに保存する技術が存在する。例えば、特許文献1参照。
【先行技術文献】
【特許文献】
【0008】
【発明の概要】
【発明が解決しようとする課題】
【0009】
書込み回数制限のない不揮発性メモリは、容量あたりのコストが高いため、使用開始前に凡その使用量を予想し、必要最低限の容量の不揮発性メモリを搭載することが一般的である。そのため、予想よりも多く書込みが行われる場合には、容量の大きな不揮発性メモリへの交換が必要となる。
【0010】
不揮発性メモリの交換は、コストと手間がかかる。ハードウェア資源を有効に使うためには、最初に搭載されていた不揮発性メモリを交換せずに使い続けることができたほうがよい。
【0011】
書込み回数制限のない不揮発性メモリと書込み回数制限のある不揮発性メモリとの両方を使用する場合、最初に搭載されていた不揮発性メモリを交換せずに使い続けるために、ファイルを効率的に分配し、書込み回数制限のある不揮発性メモリの寿命を延ばす技術が望まれている。
【課題を解決するための手段】
【0012】
本開示の一態様は、情報処理装置であって、書込み回数制限のない第1の不揮発性メモリと、書込み回数制限のある第2の不揮発性メモリと、通常のタスクを実行する通常タスク実行部と、通常のタスクにおけるファイルの書込み履歴を記憶するファイル情報記憶部と、ファイルの書込み履歴に基づき、第2の不揮発性メモリの書込み頻度が低くなるようにファイル情報記憶部に記憶されたファイルの保存先を決定するファイル保存先決定部と、ファイル保存先決定部が決定した保存先に従い、第1の不揮発性メモリ又は第2の不揮発性メモリへファイルを保存させるファイル保存先変更部と、を有する。
【0013】
本開示の一態様は、情報処理システムであって、書込み回数制限のない第1の不揮発性メモリと、書込み回数制限のある第2の不揮発性メモリと、通常のタスクを実行する通常タスク実行部と、通常のタスクにおけるファイルの書込み履歴を記憶するファイル情報記憶部と、ファイルの書込み履歴に基づき、第2の不揮発性メモリの書込み頻度が低くなるようにファイル情報記憶部に記憶されたファイルの保存先を決定するファイル保存先決定部と、ファイル保存先決定部が決定した保存先に従い第1の不揮発性メモリ又は第2の不揮発性メモリへファイルを保存させるファイル保存先変更部と、を有する。
【発明の効果】
【0014】
本開示によれば、書込み回数制限のない不揮発性メモリと書込み回数制限のある不揮発性メモリとの両方を使用する場合、ファイルを効率的に分配し、書込み回数制限のある不揮発性メモリの寿命を延ばすことができる。
【図面の簡単な説明】
【0015】
【
図1】本開示の情報処理装置のハードウェア構成図である。
【
図2】第1の開示の情報処理装置のブロック図である。
【
図4】不揮発性メモリへの書込み履歴の一例を示す図である。
【
図5】ファイルの組合せと、第1の不揮発性メモリの合計使用容量、第2の不揮発性メモリの書込み頻度合計の一例を示す図である。
【
図6】第2の開示の情報処理装置のブロック図である。
【
図7】書込み頻度修正を行う場合のファイル記憶部の一例を示す図である。
【
図8】再配置実行部を備える情報処理装置のブロック図である。
【
図9】再配置処理を説明するフローチャートである。
【
図10】第1の不揮発性メモリにファイル情報記憶部を設けた情報処理装置のブロック図である。
【
図11】第2の不揮発性メモリにファイル情報記憶部を設けた情報処理装置のブロック図である。
【
図12】第3の不揮発性メモリにファイル情報記憶部を設けた情報処理装置のブロック図である。
【発明を実施するための形態】
【0016】
[第1の開示]
以下、本開示の情報処理装置1の一例を示す。情報処理装置1は、例えば工作機械などの産業機械を制御する制御装置として実装することができる。本開示は、書込み回数制限のない不揮発性メモリと書込み回数制限のある不揮発性メモリとの両方を使用する情報処理装置1に適用されるものであり、情報処理装置1の種類は特に限定しない。
【0017】
情報処理装置1は、
図1に示すように、情報処理装置1を全体的に制御するCPU111、プログラムやデータを記録するROM112、一時的にデータを展開するためのRAM113を備え、CPU111はバス120を介してROM112に記録されたシステムプログラムを読み出し、システムプログラムに従って情報処理装置1の全体を制御する。
【0018】
インタフェース115は、情報処理装置1とアダプタ等の外部機器121と接続するためのインタフェース115である。外部機器121側からはプログラムや各種パラメータ等が読み込まれる。また、情報処理装置1内で編集したプログラムや各種パラメータ等は、外部機器121を介して外部記憶手段に記憶してもよい。
【0019】
情報処理装置1は、インタフェース116を介して表示部122に接続されている。情報処理装置1は、後述するファイル管理を行う。ファイル管理のためのプログラムは、後述する第1の不揮発性メモリ124、第2の不揮発性メモリ125、第3の不揮発性メモリ127に記憶する。
【0020】
不揮発性メモリには、書込み回数制限のない第1の不揮発性メモリ124と、書込み回数制限のある第2の不揮発性メモリ125がある。第1のドライバ118は、CPU111からのファイルの読込み要求及び書込み要求を受け付け、第1の不揮発性メモリ124へのデータの読書きを制御する。第2のドライバ119は、CPU111からのファイルの読込み要求及び書込み要求を受け付け、第2の不揮発性メモリ125へのデータの読書きを制御する。
第1の不揮発性メモリ124は、MRAMやバッテリバックアップされたSRAMである。MRAMとは、半導体メモリの1種で、記憶素子の素材の一部に磁性体を用い、磁化の変化によって信号の記録を行う。電源が失われても記録された情報が消えない。SRAMは、揮発性の半導体メモリの一種であるが、小型の電池を組合せ、機器本体の電源を切っても内容が失われない不揮発性メモリとして用いることができる。第1の不揮発性メモリ124は、駆動部がないため衝撃や振動に強いため、工場などでの使用に適しているが、容量あたりのコストが高いため、使用可能な容量に制限がある。
第2の不揮発性メモリ125は、例えば、フラッシュメモリである。フラッシュメモリとは、半導体素子を利用した記憶装置の1つで、何度も繰り返し書込みができ、通電をやめても記憶内容が維持される。フラッシュメモリは、駆動部がないため衝撃や振動に強いため、工場などでの使用に適しているが、素子の構造上、書込み回数に制限がある。
【0021】
第1の不揮発性メモリ124、第2の不揮発性メモリ125には、インタフェース115、116、117を介して外部機器121から読み込まれたプログラムや入力部を介して入力されたユーザ操作、情報処理装置1の各部や産業機械等から取得された各種データ(例えば、設定パラメータやセンサ情報など)が記憶される。
【0022】
[第1の開示]
図2は、本開示の情報処理装置1のブロック図である。情報処理装置1は、情報処理装置が本来すべき通常のタスクを実行する通常タスク実行部11、通常タスクにおけるファイルの書込み履歴を記憶するファイル情報記憶部12、ファイルの保存先(第1の不揮発性メモリ124又は第2の不揮発性メモリ125)を管理するファイル管理部13を備える。
【0023】
通常タスク実行部11は、本開示のファイル管理を除くタスク全体を実行する。このようなタスクを通常タスクと呼ぶ。通常タスクとは、特別なタスクではなく、情報処理装置1が動作するために必要なタスク全般を指す。例えば、情報処理装置1が数値制御装置の場合、情報処理装置1は加工プログラムを解析し、工作機械への指令を生成し、生成した指令を出力する。また、エラーが発生したときには、警告を出したり、機械を停止させる。ユーザからの入力を受け付け、各種の設定変更を受け付ける。通常タスクは、情報処理装置1を作動したときに実行されるタスク全体を意味する。
【0024】
ファイル情報記憶部12は、通常タスク実行部11でのファイルの書込み履歴とファイルの保存先を記憶する。
図3のファイル情報記憶部12は、ファイル名、ファイルの書込み頻度、ファイルサイズ、保存先情報を記憶する。書込み頻度は、各ファイルにおける1日当たりの書込み回数である。書込み頻度は、ファイルの総書込み回数を日数で割って算出する。ファイルサイズは、各ファイルのファイルサイズである。保存先情報には、各ファイルの保存先が第1の不揮発性メモリ124又は第2の不揮発性メモリ125であるかを記録する。ファイル管理部13がファイルの保存先を決定するまで、保存先情報には、デフォルトの保存先を記録する。デフォルトの保存先とは、例えば、情報処理装置1の使用開始前に予想した保存先とするが、これに限定されない。
【0025】
ファイル管理部13は、ファイル管理の開始を指示するファイル保存先変更要求部14と、第1の不揮発性メモリ124と第2の不揮発性メモリ125の何れにファイルを保存するかを決定するファイル保存先決定部15と、決定した保存先にファイルを保存させるファイル保存先変更部16とを有する。
【0026】
ファイル保存先変更要求部14は、ファイル保存先の変更処理を開始させる。ファイル保存先変更要求部14では、ファイルの保存先の変更処理の開始タイミングを設定することができる。開始タイミングは、例えば、事前に設定した通電時間が経過したとき、ユーザが設定した時間、第2の不揮発性メモリ125の書込み頻度がある閾値を超えたときなどがある。開始タイミングの条件は予め設定しておいてもよいし、デフォルトで設定されていてもよい。
また、応用として、ファイルの書込み頻度と、情報処理装置1の動作状態とを関連付けて記憶しておき、情報処理装置1の動作状態が変わったときに、保存先変更要求を出力し、動作状態に関連づけられた書込み頻度に基づいて、ファイルの保存先を決定してもよい。
【0027】
ファイル保存先決定部15は、保存先変更要求を受け取ると、ファイル情報記憶部12に記録された書込み履歴に基づき、第2の不揮発性メモリ125の書込み頻度が低くなるように各ファイルの保存先を決定する。
【0028】
ファイル保存先変更部16は、第1のドライバ118及び第2のドライバ119に指令を出力し、決定した保存先(第1の不揮発性メモリ124又は第2の不揮発性メモリ125)にファイルを保存させる。
【0029】
[ファイル保存先の決定方法]
ファイルの保存先の決定方法の一例を示す。この例では、各ファイルの保存先の組合せ全てについて、ファイル情報記憶部12に記憶されたファイルの書込み履歴を参照して、各組合せにおける、第1の不揮発性メモリ124の合計使用容量及び第2の不揮発性メモリ125の書込み頻度合計を求める。
この結果、第1の不揮発性メモリ124の合計使用容量が、第1の不揮発性メモリ124の容量の上限を越えず、第2の不揮発性メモリ125の書込み頻度の合計が最も低い組合せを採用する。
【0030】
例えば、
図4では、書込み履歴を見ると、ファイル1~ファイル4の4つのファイルが書き込まれており、各ファイル1~ファイル4のファイル容量はそれぞれ300Kbyte、500Kbyte、800Kbyte、200Kbyteであり、各ファイル1~ファイル4の1日当たりの書込み頻度は、4回、5回、10回、3回である。
【0031】
4つのファイルの組合せと、各組合せについての、第1の不揮発性メモリ124の合計使用量、及び第2の不揮発性125メモリの書込み頻度合計は、
図5のようになる。
各組合せについて、第1の不揮発性メモリ124に割り当てられたファイル容量の合計(以下、第1の不揮発性メモリ124の合計使用容量という)が、第1の不揮発性メモリ124の最大容量(1024Kbyte)未満となる組合せは、組合せ1~5、組合せ9~13である。
第1の不揮発性メモリ124の合計使用容量が第1の不揮発性メモリ124の最大容量を超えない組合せのうち、第2の不揮発性メモリ125の書込み頻度の合計が最も低い組合せは、組合せ13である。この結果により、ファイル保存先決定部15は、ファイル1とファイル2の保存先を第2の不揮発性メモリ125、ファイル3とファイル4の保存先を第1の不揮発性メモリ124と決定する。
【0032】
なお、ファイルの保存先の決定方法は上述の方法に限定されない。例えば、ファイル情報記憶部12を参照し、書込み回数の多いファイルから順に第1の不揮発性メモリ124に割り当て、割り当てたファイルの合計容量が第1の不揮発性メモリ124の最大容量を超えた場合には、それ以降のファイルを第2の不揮発性メモリ125に割り当てるよう決定してもよい。
ファイル保存先決定部15は、ファイル情報記憶部12に記憶されたファイルの書込み履歴に基づき第2の不揮発性メモリ125の書込み頻度が低くなるように各ファイルの保存先を決定する。
【0033】
[第2の開示]
図6は、第2の開示の情報処理装置1のブロック図である。第2の開示において、情報処理装置1は、書込み頻度修正部17を備える。
書込み頻度修正部17は、書込み履歴において、一時的に書込み頻度が大きく変動しているデータを除外する。例えば、機械の調整中などには、ファイルの書込み頻度が一時的に高くなる。書込み頻度修正部17は、例えば、四分位数や外れ値検定などを行い、書込み頻度が高い若しくは低い場合に、その時期のデータを書込み履歴から除外する。
【0034】
図7は、書込み頻度修正を行う場合のファイル情報記憶部12の例である。書込み頻度修正を行う場合には、各ファイルについて所定の時間ごとの書込み頻度を記録する。
図7(a)では、1日目、2日目、…と1日時間ごとの書込み頻度を記録している。
図7(b)に示すように、あるファイルの1日目の書込み頻度が9回、2日目が11回、3日目が100回、4日目が10回の場合、3日目だけが大きく変動している。書込み頻度修正部17は、3日目のデータを除外して、1日目と2日目と4日目の平均を算出する。平均値は10[回/日]となるので、この値が修正後の書込み頻度となる。
【0035】
ファイルの保存先は、修正後の書込み頻度に基づいて算出する。書込み頻度を修正することにより、例えば、3日目の書込み回数100回のように、一時的な変化の影響を受けることなく、定常的な使用状態で効率的に機能するファイル管理ができる。
【0036】
[ファイルの再配置]
ファイルの保存先を決定した場合、決定した保存先にファイルを移動するためのファイルの再配置が必要になる。
図8の情報処理装置1は、再配置実行部18を備える。再配置実行部18は、以下のようにファイルの再配置を行う。
まず、ファイル情報記憶部12の保存先情報に従い、第1の不揮発性メモリ124から第2の不揮発性メモリ125へのファイルの移動を行う。第1の不揮発性メモリ124から第2の不揮発性メモリ125へのファイルの移動を最初に行うのは、第2の不揮発性メモリ125の容量が大きくメモリに空きがあるためである。
次に、ファイル情報記憶部12の保存先情報に従い、第2の不揮発性メモリ125に記録したファイルを第1の不揮発性メモリ124に移動する。ファイル情報記憶部12に記録された全てのファイルを移動すると、ファイルの再配置が完了する。
【0037】
情報処理装置1は、停電やエラーなどの理由により停止することがある。再配置実行部18は、再配置処理が中断しても継続して再開させるため、再配置されているファイルに関する情報を記憶する。
本開示では、ファイル情報記憶部12に記憶されたファイルにファイル1、ファイル2、ファイル3、・・・というファイル番号が割り当てられているものとする。再配置ファイル情報記憶部19は、ファイルを移動するごとに、移動を行ったファイルの番号Nを記憶する。ファイル情報記憶部12の最後のファイル番号を最大ファイル番号と呼ぶ。
【0038】
図9を参照して再配置処理について説明する。
再配置実行部18は、最初に、ファイル番号Nに1を設定する(ステップS1)。これはファイル1が再配置処理の対象であることを示す。次いで、ファイル情報記憶部12を参照し、ファイルNが第1の不揮発性メモリ124から第2の不揮発性メモリ125に移動するファイルであれば、第1の不揮発性メモリ124から第2の不揮発性メモリ125にファイルNを移動する(ステップS2)。ファイルNの再配置処理が完了するとファイル番号を1インクリメントする(ステップS3)。
【0039】
再配置実行部18は、ステップS3でインクリメントしたファイル番号Nと、ファイル情報記憶部12の最大ファイル番号を比較し、ファイル番号Nが最大ファイル番号以下である場合(ステップS4;No)、ステップS2に移行し、ファイルNの再配置処理を行う。
ファイル番号Nが最大ファイル番号を超えた場合(ステップS4;Yes)、第1の不揮発性メモリ124から第2の不揮発性メモリ125へのファイルの移動は完了する。再配置実行部18はステップS5に処理を移行する。
【0040】
再配置実行部18は、ファイル番号Nを1に設定する(ステップS5)。これはファイル1が再配置処理の対象であることを示す。次いで、ファイル情報記憶部12を参照し、ファイルNが第2の不揮発性メモリ125から第1の不揮発性メモリ124に移動するファイルであれば、第2の不揮発性メモリ125から第1の不揮発性メモリ124にファイルNを移動する(ステップS6)。ファイルNの再配置処理が完了するとファイル番号を1インクリメントする(ステップS7)。
【0041】
再配置実行部18は、ステップS3でインクリメントしたファイル番号Nと、ファイル情報記憶部12の最大ファイル番号を比較し、ファイル番号Nが最大ファイル番号以下である場合(ステップS8;No)、ステップS6に移行し、ファイルNの再配置処理を行う。
ファイル番号Nが最大ファイル番号を超えた場合(ステップS8;Yes)、第2の不揮発性メモリ125から第1の不揮発性メモリ124へのファイルの移動が完了する。
最後に、再配置実行部18は、再配置ファイル情報記憶部19のファイル番号Nに0を代入して再配置処理を終了する(ステップS9)。
【0042】
再配置実行部18は、ステップS1からステップS4において第1の不揮発性メモリ124から第2の不揮発性メモリ125へのファイルの再配置を行い、ステップS5からステップS8において第2の不揮発性メモリ125から第1の不揮発性メモリ124へのファイルの再配置を行う。
再配置処理が中断した場合には、再配置ファイル情報記憶部19には0以外のファイル番号Nが保存されている。
再配置ファイル情報記憶部19のファイル番号Nの値が、第2の不揮発性メモリ125に保存するファイルのファイル番号の場合には、ファイル番号NのステップS2の直後に中断したと判定し、ファイル番号N+1のファイルのステップS2から再開する。
再配置ファイル情報記憶部19のファイル番号Nの値が、第1の不揮発性メモリ124に保存するファイルのファイル番号の場合には、ファイル番号NのステップS6の直後に中断したと判定し、ファイル番号N+1のファイルのステップS6から再開する。
【0043】
[ファイル情報記憶部の保存先]
ファイル情報記憶部12は、第1の不揮発性メモリ124、第2の不揮発性メモリ125、第3の不揮発性メモリ127の何れかに記憶する。
図10は、第1の不揮発性メモリ124にファイル情報記憶部12を設けた例である。第1の不揮発性メモリ124にファイル情報記憶部12を設けると、ファイル情報記憶部への書き込みが、第2の不揮発性メモリへの寿命に影響を与えないという効果がある。
【0044】
図11は、第2の不揮発性メモリ125にファイル情報記憶部12を設けた例である。第2の不揮発性メモリ125にファイル情報記憶部12を設けると、ファイル情報記憶部の容量が、容量あたりのコストが高い第1の不揮発性メモリの使用容量に影響を与えないという効果がある。
【0045】
図13は、第3の不揮発性メモリ127にファイル情報記憶部12を設けた例である。第3の不揮発性メモリ127にファイル情報記憶部12を設けると、ファイル情報記憶部への書き込みが、第2の不揮発性メモリへの寿命に影響を与えず、さらにファイル情報記憶部の容量が、容量あたりのコストが高い第1の不揮発性メモリの使用容量に影響を与えないという効果がある。
【0046】
以上説明したように、本開示にかかる情報処理装置1は、書込み回数制限のない第1の不揮発性メモリ124と、書込み回数制限のある第2の不揮発性メモリ125の少なくとも2つの不揮発性メモリ124、125を備え、通常タスク実行部11が通常のタスクを実行している間、ファイルの書込み履歴をファイル情報記憶部12に作成し、ファイルの書込み履歴に基づいて、第2の不揮発性メモリ125に書込み頻度が低くなるように、各ファイルの保存先を決定する。
【0047】
また、ファイルの書込み履歴に基づいて、書込み回数制限ない第1の不揮発性メモリ124に記憶するファイルをなるべく多くするように、ファイルの保存先を決定する。
【0048】
書込み頻度が大きく変動しているデータを除外することにより、一時的な変化の影響を受けることなく、定常的な使用状態において効率的に機能するファイル管理ができる。
【0049】
また、ファイルの保存先を決定するだけでなく、決定した保存先へのファイルの再配置を行う。再配置の際には、移動を行ったファイル番号を記憶する。そのため、処理が中断しても継続的に再開できる。
【符号の説明】
【0050】
1 情報処理装置
11 通常タスク実行部
12 ファイル情報記憶部
13 ファイル管理部
14 ファイル保存先変更要求部
15 ファイル保存先決定部
16 ファイル保存先変更部
17 書込み頻度修正部
18 再配置実行部
19 再配置ファイル情報記憶部
111 CPU
118 第1のドライバ
119 第2のドライバ
122 表示部
123 入力部
124 第1の不揮発性メモリ
125 第2の不揮発性メモリ
126 第3のドライバ
127 第3の不揮発性メモリ