JP2011227835A - 記憶媒体の制御装置、制御プログラム、及び制御方法 - Google Patents

記憶媒体の制御装置、制御プログラム、及び制御方法 Download PDF

Info

Publication number
JP2011227835A
JP2011227835A JP2010099230A JP2010099230A JP2011227835A JP 2011227835 A JP2011227835 A JP 2011227835A JP 2010099230 A JP2010099230 A JP 2010099230A JP 2010099230 A JP2010099230 A JP 2010099230A JP 2011227835 A JP2011227835 A JP 2011227835A
Authority
JP
Japan
Prior art keywords
load
peak
storage medium
control device
low
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010099230A
Other languages
English (en)
Other versions
JP5220053B2 (ja
Inventor
Koji Yoshikawa
幸司 吉川
Shigenori Nakada
成憲 中田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2010099230A priority Critical patent/JP5220053B2/ja
Publication of JP2011227835A publication Critical patent/JP2011227835A/ja
Application granted granted Critical
Publication of JP5220053B2 publication Critical patent/JP5220053B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】記憶媒体に対する処理の実行速度の低下を抑制しながらガベージコレクションを行うことができる記憶媒体の制御装置、制御プログラム、及び制御方法を提供する。
【解決手段】制御装置は、記憶媒体に対する処理を実行する演算装置の負荷を計測する負荷計測部110を備える。また、制御装置は、演算装置が記憶媒体に対するガベージコレクションを実行するのに必要な所要期間において、演算装置の負荷が所定の閾値よりも低いか否かを、計測された負荷に基づいて予測する負荷予測部170を備える。さらに、制御装置は、所要期間において負荷が低いと予測された場合に、記憶媒体に対するガベージコレクションを行うGC部189を備える。
【選択図】図4

Description

本発明は、データを記憶した記憶媒体の制御装置、制御プログラム、及び制御方法に関する。
記憶媒体に記憶されたデータを管理するファイルシステムは、記憶媒体のセクタのうちで、ファイル等のデータを未だ記憶していないセクタの利用状況を「Free」(未使用)とし、データを記憶したセクタの利用状況を「Use」(使用中)とし、かつデータを削除されたセクタの利用状況を「Del」(削除)として、セクタの利用状況を管理している。この利用状況が「Del」であるセクタの数が増加すると、記憶媒体の空き容量が減少するため、セクタの利用状況を「Del」から「Free」に戻して、記憶媒体の空き容量を増加させるガベージコレクション(Garbage Collection)を行う技術が知られている(例えば、特許文献1参照)。
特開2006−99797号公報
しかしながら、特許文献1に開示された技術では、例えば、記憶媒体に対するデータの入出力処理などの処理を実行していても、記憶媒体の空き容量が減少するれば、ガベージコレクション(以下単に、GCという)を実行してしまう。このため、CPU(Central Processing Unit)の負荷がガベージコレクションを行うのに十分に低くない場合にGCを実行することで、記憶媒体に対する処理の実行速度が大幅に低下してしまうという問題があった。
本発明は、上記実情に鑑みてなされたものであり、その目的とするところは、記憶媒体に対する処理の実行速度の低下を抑制しながらGCを行うことができる記憶媒体の制御装置、制御プログラム、及び制御方法を提供することにある。
上記目的を達成するため、本発明の第1の観点に係る記憶媒体の制御装置は、
記憶媒体に対する処理を実行する演算装置の負荷を計測する負荷計測手段と、
前記演算装置が前記記憶媒体に対するガベージコレクションを実行するのに必要な所要期間において、前記演算装置の負荷が所定の閾値よりも低いか否かを、前記負荷計測手段で計測された負荷に基づいて予測する負荷予測手段と、
前記所要期間において負荷が低いと前記負荷予測手段で予測された場合に、前記記憶媒体に対するガベージコレクションを行うガベージコレクション手段と、
を備えることを特徴とする。
上記目的を達成するため、本発明の第2の観点に係る記憶媒体の制御プログラムは、
コンピュータを、
記憶媒体に対する処理を実行する演算装置の負荷を計測する負荷計測手段と、
前記演算装置が前記記憶媒体に対するガベージコレクションを実行するのに必要な所要期間において、前記演算装置の負荷が所定の閾値よりも低いか否かを、前記負荷計測手段で計測された負荷に基づいて予測する負荷予測手段と、
前記所要期間において負荷が低いと前記負荷予測手段で予測された場合に、前記記憶媒体に対するガベージコレクションを行うガベージコレクション手段と、
して機能させることを特徴とする。
上記目的を達成するため、本発明の第3の観点に係る記憶媒体の制御方法は、
記憶媒体に対する処理を実行する演算装置の負荷を計測する負荷計測ステップと、
前記演算装置が前記記憶媒体に対するガベージコレクションを実行するのに必要な所要期間において、前記演算装置の負荷が所定の閾値よりも低いか否かを、前記負荷計測ステップで計測された負荷に基づいて予測する負荷予測ステップと、
前記所要期間において負荷が低いと前記負荷予測ステップで予測された場合に、前記記憶媒体に対するガベージコレクションを行うガベージコレクションステップと、
を有することを特徴とする。
本発明に係る記憶媒体の制御装置、制御プログラム、及び制御方法によれば、記憶媒体に対する処理の実行速度の低下を抑制しながらGCを行うことができる。
図1(a)は、本発明の第1実施形態に係る記憶媒体の制御装置の一例を表すハードウェア構成図である。図1(b)は、本発明の第1実施形態に係る記憶媒体の制御装置が有する機能の一例を表す機能ブロック図である。 図2(a)は、フラッシュメモリの一構成例を表す図である。図2(b)は、フラッシュメモリが有するセクタの一構成例を表す図である。 図3(a)は、情報算出部が実行する情報算出処理の一例を表すフローチャートである。図3(b)は、負荷統計情報算出部が実行する負荷統計情報算出処理の一例を表すフローチャートである。図3(c)は、負荷関連情報算出部が実行する負荷関連情報算出処理開始の一例を表すフローチャートである。 図4(a)は、ファイルシステム制御部の一構成例を表す図である。図4(b)は、第1実施形態の負荷統計情報算出部の一構成例を表す図である。図4(c)は、第1実施形態の負荷関連情報算出部の一構成例を表す図である。 第1実施形態において計測される負荷の時間推移の一例を表すグラフである。 図6(a)は、ファイルシステム制御部(FS制御部)が実行するファイルシステム制御処理(FS制御処理)の一例を表すフローチャートである。図6(b)は、第1実施形態の負荷予測部が実行する負荷予測処理の一例を表すフローチャートである。 実行条件判定部が実行する実行条件判定処理の一例を表すフローチャートである。 図8(a)は、第2実施形態の負荷統計情報算出部の一構成例を表す図である。図8(b)は、第2実施形態の負荷関連情報算出部の一構成例を表す図である。図8(c)は、相関係数算出部が実行する相関係数算出処理の一例を表すフローチャートである。 図9(a)は、第2実施形態において計測される負荷に対して算出される移動平均値の時間推移の一例を表すグラフである。図9(b)は、ピーク幅とピーク間隔との相関関係を表すグラフである。 第2実施形態の負荷予測部が実行する負荷予測処理の一例を表すフローチャートである。 図11(a)は、第3実施形態の負荷統計情報算出部の一構成例を表す図である。図11(b)は、第3実施形態の負荷関連情報算出部の一構成例を表す図である。図11(c)は、第3実施形態の負荷関連情報算出部が実行する負荷関連情報算出処理の一例を表すフローチャートである。 第3実施形態の負荷予測部が実行する負荷予測処理の一例を表すフローチャートである。 第3実施形態において計測される負荷に対して算出される移動平均値の時間推移の一例を表すグラフである。
以下、本発明の最良の実施形態について添付図面を参照しつつ説明する。
<第1実施形態>
本発明の第1実施形態に係る制御装置10は、各種のアプリケーションを実行することで、図1(a)に示すような記憶媒体であるフラッシュメモリ(以下単に、メモリという)20へ各種のデータを保存する。また、制御装置10は、メモリ20の空き容量が減少すると、空き容量を増加させるために、メモリ20に対してGC(ガベージコレクション)を実行する。尚、制御装置10は、メモリ20の代わりにハードディスクへデータを保存しても良い。
制御装置10は、図1(a)に示すように、CPU(Central Processing Unit)10a、ROM(Read Only Memory)10b、RAM(Random Access Memory)10c、ハードディスク10d、メディアコントローラ10e、USB(Universal Serial Bus)バス10f、LANカード(Local Area Network)10g、ビデオカード10h、LCD(Liquid Crystal Display)10i、キーボード10j、及びポインティングデバイス(以下単に、マウスという)10kを含んで構成される。
CPU10aは、ROM10b又はハードディスク10dに保存されたプログラムに従ってソフトウェア処理を実行することで、制御装置10の全体制御を行う演算装置である。RAM10cは、CPU10aによるプログラムの実行時において、処理対象とするデータを一時的に記憶する。
ハードディスク10dは、各種のアプリケーションプログラム(以下単に、アプリという)及びアプリで使用される各種のデータを記憶する。メディアコントローラ10eは、メモリ20に対して各種のデータを入出力する。LANカード10gは、例えば、インタネットなどのコンピュータ通信網を介して接続する装置との間でデータを送受信する。
ビデオカード10hは、CPU10aから出力されたデジタル信号に基づいて画像信号を出力する。LCD10iは、ビデオカード10hから出力された画像信号に従って画像を表示する。尚、制御装置10は、LCD10iの代わりに、PDP(Plasma Display Panel)又はEL(Electro Luminescence)ディスプレイを備えても良い。
キーボード10j及びマウスkは、ユーザの操作に応じた信号を入力する。尚、ウェブ制御装置10は、キーボード10j及びマウスkの代わりにタッチパネルを備えても良い。
制御装置10が有するCPU10aは、ハードディスク10dに記憶されたアプリを実行することで、図1(b)のアプリケーション実行部(以下単位、アプリ実行部)11として機能する。また、CPU10aは、メモリ20が記憶する、例えば、電子ファイル(以下単に、ファイルという)などのデータの管理に用いられるファイルステム(以下単に、FSという)を制御する処理を実行することで、ファイルシステム制御部(以下単に、FS制御部という)100として機能する。
図1(b)のアプリ実行部11は、FS制御部100を介して、メモリ20に保存されたファイルの開閉、書き込み、上書き、及び削除を行う。
次に、FS制御部100について説明する前に、FS制御部100によって制御されるメモリ20について一旦説明する。
メモリ20は、図2(a)に示すようなブロック21及び22を含む複数のブロックを有する。これらのブロックは、例えば、ブロック21のように複数のセクタを有する。図2に示されたブロック21が有するセクタsc1は、図2(b)に示すように、セクタsc1の利用状況、セクタsc1を識別する論理番号、及びデータを記憶する。
ここで、FS制御部100がメモリ20にファイルを書き込む場合を説明する。
先ず、FS制御部100は、ファイルサイズに応じて、データを未だ記憶していない(つまり、利用状況が「Free」(未使用))のセクタを複数確保すると共に、確保したセクタに対してファイルデータを書き込む。その後、制御装置10は、データを書き込んだセクタの利用状況を「Use」(使用中)に変更する。
次に、FS制御部100がメモリ20にファイルを上書きする場合を説明する。
FS制御部100は、更新前のファイルデータなどが書き込まれた(つまり、利用状況が「Use」の)セクタとは別の利用状況が「Free」のセクタに対して、更新後のファイルデータを書き込む。次に、FS制御部100は、更新後のファイルデータを記憶するセクタと、更新前のファイルデータを記憶するセクタとを関連付けた後に、更新前のファイルデータを記憶するセクタの利用状況を「Del」(削除)に変更する。必要に応じて更新前のファイルデータを復旧させることができるようにするためである。
一方で、FS制御部100は、メモリ20からデータを削除する場合には、セクタ単位で利用状況を「Free」とするのではなく、ブロック単位でセクタの利用状況を「Free」とすることで(つまり、あるブロックが有する全セクタの利用状況を一括して「Free」とすることで)、メモリ20が記憶するデータを削除する。
このため、FS制御部100によって、メモリ20が記憶するデータの書き換えが繰り返し行われると、利用状況が「Del」であるセクタが増加し、利用状況が「Free」であるセクタが枯渇する。よって、FS制御部100は、適当な時期において、セクタの利用状況「Del」を「Free」に戻すGCを実行する。
このため、Fs制御部100は、GCを実行するのに適当な時期に成立するGC実行条件の成否を判断するために用いられる情報を算出する、図3(a)に示すような情報算出処理を実行する。
尚、FS制御部100は、図4(a)に示すような負荷計測部110、負荷情報データベース(以下、負荷情報DBという)120、情報算出部130、統計情報データベース(以下、統計情報DBという)140を用いて、例えば、数日に1回、図3(a)の情報算出処理を実行する。
図3(a)の情報算出処理の実行を開始すると、図4(a)の情報算出部130は、負荷情報DB120が記憶する負荷情報を読み出す(ステップS01)。この負荷情報DB120が記憶する負荷情報は、図1(a)に示したCPU10aの負荷(以下、CPU負荷という)を表す情報である。尚、負荷情報は、負荷情報で表される負荷を負荷計測部110が計測した時刻を表す計測時刻情報と対応付けられて負荷情報DB120に保存されている。
ここで、制御装置10は、例えば、日々の業務に用いられる装置であるため、1日を単位とした所定の処理をアプリの実行によって行う。このため、図1(a)のCPU10aは、メモリ20に保存されたデータに対して定期的に加工を行うため、メモリ20に保存されたファイルを管理するFS(ファイルシステム)に対して定期的にアクセスを行って、メモリ20に対する入出力処理を定期的に行う。よって、CPU負荷は、ほぼ定期的に高負荷状態と低負荷状態とを、1日の間に何度も繰り返す。
よって、FS制御部100は、ステップS01の実行時刻から数日前までの時刻に計測された負荷を表す負荷情報を読み出す。尚、負荷は、例えば、OS(Operating System)が計測するCPU使用率で表されても良い。
ステップS01が実行された後に、情報算出部130は、実行履歴DB190からGCの実行履歴を表す情報(以下、実行履歴情報という)を読み出す(ステップS02)。尚、実行履歴情報は、GCが開始された時刻を表す情報及び終了された時刻を表す情報を複数含む。
その後、情報算出部130は、実行履歴情報で表されるGCの実行時刻において計測された負荷から、GCの実行により発生した負荷を差し引くことで、負荷情報の値を補正する(ステップS03)。尚、GCの実行により発生した負荷は、図1(a)に示したCPU10aの演算処理能力とGCに要する演算量とに基づいて予め設定されている値として良い。
次に、情報算出部130が有する負荷統計情報算出部131は、負荷統計情報を算出する、図3(b)のような負荷統計情報算出処理を実行する(ステップS04)。尚、負荷統計情報とは、各計測時刻において計測された負荷を表す負荷情報に対して各種の統計処理を施して算出される情報をいう。本実施形態において、負荷統計情報算出部131は、負荷情報で表される負荷の相加平均値(つまり、算術平均値)を表す負荷統計情報及び負荷の加重平均値を表す負荷統計情報を算出する。尚、負荷統計情報算出部131は、図4(b)に示すように、平均値算出部131a及び移動平均値算出部131bを有する。
図3(b)に示す負荷統計情報の実行が開始されると、図4(b)の平均値算出部131aは、図3(a)のステップS03で補正された負荷情報によって表される負荷の相加平均値を算出する(ステップS11)。次に、負荷統計情報算出部131は、算出した負荷の平均値を、負荷関連情報算出部132が用いる閾値Thとする(ステップS12)。尚、閾値Thについては後述する。
次に、図4(b)の平均値算出部131bは、図3(a)のステップS03で補正された負荷情報のそれぞれについて、当該負荷情報で表される負荷を計測した計測時刻より所定時間前の時刻から当該計測時刻より所定時間後の時刻までの区間(以下、移動平均区間という)において計測された負荷を表す他の複数の負荷情報と、当該負荷情報との移動平均値を算出する(ステップS13)。これは、図5のような、負荷を表すL軸と、負荷の計測時刻を表すT軸とを有する座標空間に表された負荷の推移を表す曲線Pにおいて、短期的に発生する高周波成分を平滑化し、主要成分である低周波成分を表す曲線MAを取り出すためである。
次に、負荷統計情報算出部131は、ステップS11及びステップS13で算出された負荷統計情報を統計情報DB140へ保存する(ステップS14)。その後、負荷統計情報算出部131は、負荷統計情報算出処理の実行を終了する。
図3(a)のステップS04が終了した後に、図4(a)の情報算出部130が有する負荷関連情報算出部132は、図3(c)に示すような、負荷関連情報を算出する負荷関連情報算出処理を実行する。尚、負荷関連情報とは、負荷統計情報を用いて検出される負荷ピークに関連した情報をいう。本実施形態では、負荷関連情報算出部132は、負荷ピークの幅(以下、ピーク幅という)を表す負荷関連情報を算出する。
ここで、負荷ピークとは、図5のような曲線MAにおいて、平滑化された負荷(つまり、負荷の移動平均値)が所定の閾値Thよりも大きい部分PKをいい、部分PKの頂点のみをいうのではない。また、ピーク幅とは、平滑化された負荷が閾値Thを上回った時刻t12から負荷が閾値Thを下回る時刻t14までの時間をいう。尚、閾値Thは、この値以上にCPU負荷が増加した状態でGCが実行されると、メモリ20に対する処理の実行速度が低下することを表す。
図3(c)の負荷関連情報算出処理の実行が開始されると、図4(c)の負荷関連情報算出部132が有するピーク検出部132aは、図3(b)のステップS13で算出された負荷の移動平均値の推移を表す曲線MAが、ステップS12で定められた閾値Thを超える部分を負荷ピークとして検出する(ステップS21)。次に、ピーク幅算出部132bは、検出された負荷ピークのピーク幅を算出する(ステップS22)。次に、負荷関連情報算出部132は、ステップS22で算出された負荷関連情報を統計情報DB140へ保存する(ステップS23)。その後、負荷関連情報算出部132は、負荷関連情報算出処理の実行を終了する。
次に、図4(a)のFS制御部100は、算出された負荷統計情報及び負荷関連情報(以下単に、統計情報という)を用いて、上記のファイルシステムを制御する、図6に示すようなFS制御処理を実行する。
尚、FS制御部100は、上記の負荷計測部110、負荷情報DB120、情報算出部130、及び統計情報DB140だけでなく、図4(a)の利用セクタ情報取得部150、負荷予測部170、実行条件判定部180、GCスケジュール部185、ガベージコレクション部(以下、GC部という)189、及び実行履歴データベース(以下、実行履歴DBという)190を用いて、例えば、数分に1回、図6(a)のFS制御処理を実行する。
図6(a)のFS制御処理の実行が開始されると、図4(a)の負荷予測部170は、統計情報DB140に保存された閾値Thを含む統計情報を読み出す(ステップS31)。次に、負荷計測部110は、現時点(つまり、ステップS32の実行時点)におけるCPU10aの負荷を計測し、計測した負荷を表す負荷情報を負荷情報DB120に保存する(ステップS32)。
その後、負荷統計情報算出部131は、図3(c)のステップS22で算出された(過去数日において現れたピークの)ピーク幅の平均値を算出し、算出したピーク幅の平均値(以下、平均ピーク幅という)を移動平均区間とする。次に、負荷統計情報算出部131は、現時点から移動平均区間前までにおいて計測された負荷の移動平均値を算出する(ステップS33)。これらの構成によれば、例えば、メモリ20及びメモリ20のユーザのいずれか1つ以上が変化して負荷ピークが有するピーク幅の大きさが変化しても、平均ピーク幅より大きい幅のピーク(つまり、低周波成分)を強調して検出できる。
次に、負荷関連情報算出部132は、ステップS33で算出された移動平均値の時間推移を表す曲線から、ステップS31で読み出された閾値Thを超える負荷ピークを検出する(ステップS34)。その後、負荷予測部170は、現時点よりも後の時点における負荷を予測する、図6(b)に示すような負荷予測処理を実行する。
ここで、図5に示した時刻t11を例に挙げ、この時刻に実行される負荷予測処理について説明する。
図6(b)の負荷予測処理の実行が開始されると、負荷予測部170は、時刻t11に計測された負荷の移動平均値が負荷ピークを形成する(つまり、閾値Thより大きい)か否かを判断し(ステップS41)、負荷ピークを形成しないと判断する(ステップS41;No)。
次に、負荷予測部170は、時刻t11において、時刻t11に計測された負荷の移動平均値は、前回(つまり、時刻t11よりも前の時刻t10)に計測された負荷の移動平均値よりも大きいため、負荷の移動平均値が減少中でない(つまり、増加中である)と判断する(ステップS42;No)。次に、負荷予測部170は、現在の時刻t11から、GCの実行に要する所要時間を経過するまでにおいて、GCを実行するCPU10aの負荷が高負荷であると予測する(ステップS45)。現在、負荷の移動平均値が増加中だからである。その後、負荷予測部170は、負荷予測処理の実行を終了する。
尚、CPU10aの負荷が高負荷(低負荷)であるとは、CPU10aがメモリ20に対してGCを実行した場合に、CPU10aによるメモリ20に対する入出力処理の実行速度が所定値よりも低下する程に(低下しない程に)、CPU10aの負荷が高い(低い)ことをいう。
次に、図5の時刻t13を例に挙げて、この時刻において実行される負荷予測処理について説明する。
図6(b)の負荷予測処理の実行が開始されると、負荷予測部170は、時刻t13に計測された負荷の移動平均値が負荷ピークを形成すると判断する(ステップS41;Yes)。次に、負荷予測部170は、現在の時刻t13から上記の所要時間を経過するまでにおいて、CPU負荷が高負荷であると予測し(ステップS45)、負荷予測処理の実行を終了する。
次に、図5の時刻t15を例に挙げて、この時刻において実行される負荷予測処理について説明する。
図6(b)の負荷予測処理の実行が開始されると、ステップS41の処理を実行した後に、負荷予測部170は、負荷の移動平均値が減少中であると判断する(ステップS42;Yes)。次に、負荷予測部170は、現在の時刻t15から時間Tc前の時刻まで、負荷の移動平均値が閾値Thを常に下回った訳ではないと判断する(ステップS43;No)。その後、負荷予測部170は、現在時刻t15から所要時間を経過するまで、CPU負荷が高負荷であると予測し(ステップS45)、負荷予測処理の実行を終了する。CPU負荷の低下が一時的であるか否かが未確定だからである。
次に、図5の時刻t16を例に挙げて、この時刻において実行される負荷予測処理について説明する。
図6(b)の負荷予測処理の実行が開始されると、負荷予測部170は、ステップS41及びステップS42の処理を実行した後に、現在の時刻t15から時間Tc前の時刻まで、負荷の移動平均値が閾値Thを常に下回ったと判断する(ステップS43;Yes)。その後、負荷予測部170は、現在時刻t16から所要時間を経過するまで、CPU負荷が低負荷であると予測し(ステップS44)、負荷予測処理の実行を終了する。CPU負荷が時間Tcに渡って閾値Thを下回ったため、負荷の低下が一時的でない確率が高いと判断されるためである。
これらの構成によれば、負荷の移動平均値が所定の閾値Thよりも低く低下する場合にCPU負荷が低いと判断するため、GCの所要期間においてCPU負荷が低いか否かを精度良く予測できる。
またこれらの構成によれば、所定回数(つまり、所定時間Tc)に渡って所定の閾値Thよりも低い値であった負荷の移動平均値がさらに低下する場合に、CPU負荷が低いと判断するため、GCの所要期間においてCPU負荷が低いか否かをより精度良く予測できる。
図6(a)のステップS35で負荷予測処理の実行が終了した後に、図4(a)の利用セクタ情報取得部150は、メモリ20が有するセクタの利用状況を表す利用セクタ情報を、上記のファイルシステム(FS)から取得する(ステップS36)。また、利用セクタ情報取得部150は、取得した利用セクタ情報に基づいて、利用状況が「Free」(空き)のセクタ数(以下単に、空きセクタ数という)「NumFreeSec」及びメモリ20のブロックが有するセクタの数「NumEBSec」を取得する。
次に、実行条件判定部180は、GC実行条件が成立したか否かを判定する、図7に示すような実行条件判定処理を実行する(ステップS37)。
先ず、メモリ20に十分な空きセクタがある場合に実行される実行条件判定処理について説明する。
図7に示す実行条件判定処理の実行が開始されると、実行条件判定部180は、以下の式(1)で表される第1条件が成立したか否かを判断する(ステップS51)。
NumEBSec * C > NumFreeSec > NumEBSec・・・(1)
但し、C = 2
ここで、メモリ20が有するセクタは、ブロック単位で利用状況を「Free」(未使用)に戻される。このため、図2(a)に示すように、GCの実行において、利用状況が「Del」(削除)のセクタを最も多く有するブロック「EBDelMax」を検索した後に、検索されたブロック「EBDelMax」の有するセクタを「Free」に戻す前に、ブロック「EBDelMax」が有する利用状況が「Use」(使用中)のセクタに記憶されたデータを、一旦他の消去ブロックが有する利用状況が「Free」のセクタへ退避(コピー)させる必要がある。このため、空きセクタ数「NumFreeSec」がブロックの有するセクタ数「NumEBSec」を下回ると、GCの実行が不能になってしまう。尚、利用状況「Mov」(移動中)は、セクタに対するデータ書き込み中を表し、「Err」(エラー)は、セクタが利用不能になったことを表す。
よって、第1条件の成立は、メモリ20の空きセクタ数「NumFreeSec」が、GCの実行に最低限必要な数「NumEBSec」よりは多いため、直ちにGCを実行する必要はないが、あと「NumEBSec」個だけ空きセクタが減少するよりも前に、GCの実行をする必要があることを表す。尚、本実施形態では、変数Cが値「2」である場合について説明したが、これに限定される訳ではなく、当業者は最適な値を決定できる。
ステップS51において、実行条件判定部180は、メモリ20に十分な空きセクタがあるため、第1条件が成立しないと判断する(ステップS51;No)。次に、実行条件判定部180は、以下の式(2)で表される第2条件が成立したか否かを判断する(ステップS52)。
NumFreeSec = NumEBSec・・・(2)
尚、第2条件の成立は、メモリ20の空きセクタ数「NumFreeSec」が、GCの実行に最低限必要な数「NumEBSec」に等しいため、直ちにGCを実行する必要あることを表す。
ステップS52において、実行条件判定部180は、第2条件が成立しなかったと判断し(ステップS52;No)、GC実行条件が不成立と判定する(ステップS53)。GCを実行する必要がない程、メモリ20に空きセクタが多いためである。その後、実行条件判定部180は、実行条件判定処理の実行を終了する。
次に、メモリ20に対するファイルの上書きを繰り返し、空きセクタが減少した場合に実行される実行条件判定処理について説明する。
実行条件判定部180は、空きセクタの減少により、第1条件が成立したと判断する(ステップS51;Yes)。次に、実行条件判定部180は、図6(a)のステップS35で予測されたCPU負荷が低負荷であるか否かを判断する(ステップS54)。
ステップS54において、実行条件判定部180は、予測された負荷が低負荷でないと判断した場合に(ステップS54;No)、GC実行条件が成立しないと判定する(ステップS55)。直ちにGCを実行する必要はないだけでなく、GCを実行すると、メモリ20に対する入出力処理の実行速度が著しく(つまり、所定値より)低下するおそれがあるためである。その後、実行条件判定部180は、実行条件判定処理の実行を終了する。
逆に、ステップS54において、実行条件判定部180は、予測された低負荷であると判断した場合に(ステップS54;Yes)、GC実行条件が成立したと判定する(ステップS56)。あと「NumEBSec」個だけ空きセクタが減少するよりも前に、GCを実行する必要があるだけでなく、GCを実行しても、メモリ20に対する入出力処理の実行速度が著しく(つまり、所定値より)低下する可能性が低いためである。その後、実行条件判定部180は、実行条件判定処理の実行を終了する。
次に、メモリ20に対するファイルの上書きをさらに繰り返し、空きセクタが枯渇した場合に実行される実行条件判定処理について説明する。
実行条件判定部180は、空きセクタの数「NumFreeSec」が減少を続け、1つのブロックが有するセクタ数「NumEBSec」と同じ数になったと判断し、第1条件が成立しないが第2条件が成立すると判断する(ステップS51;No及びステップS52;Yes)。次に、実行条件判定部180は、予測されたCPU負荷の高低を判断せずに、GC実行条件が成立したと判定する(ステップS56)。CPU負荷が高負荷であろうが否が、GCを実行できなくなる前に、GCを実行する必要があるためである。その後、実行条件判定部180は、実行条件判定処理の実行を終了する。
図6(a)のステップS37において実行条件判定処理の実行が終了すると、GCスケジュール部185は、GC実行条件が成立したと判定されたか否かを判断する(ステップS38)。
GC実行条件が成立しなかったと判断されると(ステップS38;No)、FS制御部100は、ステップS32に戻り、上記処理を繰り返す。
GC実行条件が成立したと判断すると(ステップS38;Yes)、GCスケジュール部185は、GC部189が直ちにGCを行うようにスケジューリングする(ステップS39)。その後、FS制御部100は、ステップS32に戻り、上記処理を繰り返す。また、図4(a)のGC部189は、GCスケジュール部185によって変更されたスケジュールに従って、直ちにGCを実行すると共に、GCの実行履歴情報を、実行履歴DB190に保存する。
これらの構成によれば、CPU負荷が低いと予測された時期にメモリ20のGCを行うため、メモリ20に対して図1(a)のCPU10aが実行する処理の実行速度が低下することを防止できる。
<変形例1>
本実施形態において、図4(a)の負荷予測部170は、図6(b)に示すように、計測時刻に負荷ピークでなく(ステップS41;No)、負荷が減少中であり(ステップS42;Yes)、計測時刻から所定時間Tc前までにおいて、CPU負荷の移動平均値が閾値Thを下回った場合に(ステップS43;Yes)、CPU負荷は低負荷であると予測する(ステップS44)として説明した。
しかし、変形例において、負荷予測部170は、計測時刻に負荷ピークでなく、負荷が減少中であれば、計測時刻から所定時間Tc前までにおけるCPU負荷について判断することなく、CPU負荷は低負荷であると予測する。
この構成によれば、GCに必要な所要時間において、CPU負荷が十分に低いか否かを少ない計算量かつ短時間で予測できる。
<変形例2>
本実施形態において、制御装置10は、メモリ20に対してGCを実行するとして説明したが、これに限定される訳ではなく、例えば、図1(a)のハードディスク10dのように、制御装置10が有する記憶媒体に対してGCを実行しても良い。
<第2実施形態>
次に、第2実施形態について説明を行う。
第2実施形態に係る制御装置は、ピーク幅とピーク間隔との相関に基づいて、負荷の計測時刻後(以下単に、計測後という)に生じるピーク間隔を予測すると共に、予測したピーク間隔がGCの所要時間よりも長い場合に、計測時刻から所要時間を経過するまでにおいて、CPU負荷が低負荷であると予測する。尚、第1実施形態と共通する部分については詳細な説明を省略する。
第2実施形態に係る制御装置は、第1実施形態に係る制御装置10とほぼ同様の構成を有するが、図8(a)に示す負荷情報算出部231及び図8(b)に示す負荷関連情報算出部232の構成が異なる。
負荷統計情報算出部231について説明する前に、負荷関連情報算出部232について説明する。
負荷関連情報算出部232は、図8(b)のピーク検出部232a及びピーク幅算出部232bの他に、ピーク間隔算出部232cを有する。本実施形態では、負荷関連情報算出部232は、ピーク幅を表す負荷関連情報の他に、ピーク間隔を表す負荷関連情報をも算出する。
ここで、ピーク間隔とは、図9に示すような、ピークPK1とピークPK2との間隔WLをいい、負荷の移動平均値が閾値Thを下回った時刻t22から負荷の移動平均値が閾値Thを次に上回る時刻t23までの時間をいう。
図8(a)の負荷統計情報算出部231は、平均値算出部231a及び移動平均値算出部231bの他に、相関係数算出部231cを有する。
負荷統計情報算出部231は、図3(b)の負荷統計情報算出処理を実行した後に、負荷関連情報算出部232が、上記の負荷関連情報を算出する負荷関連情報算出処理を実行すると、ピーク幅とピーク間隔との相関を表す相関係数を算出する、図8(c)に示すような相関係数算出処理の実行を開始する。
図8(c)に示す相関係数算出処理の実行を開始すると、相関係数算出部231cは、図9(b)に示すような、負荷関連情報算出部232で算出されたピーク幅と、ピーク間隔との回帰直線RLを算出する(ステップS61)。尚、図9(b)は、横軸でピーク幅を表し、縦軸でピーク間隔を表す座標系に対して、ピーク幅及びピーク間隔を、計測された負荷ピーク毎にプロットした図である。
次に、相関係数算出部231cは、回帰直線RLに用いられる相関係数の値に基づいて、ピーク幅とピーク間隔とが正の相関を有するか否かを判断する(ステップS62)。具体例としては、相関係数算出部231cは、相関係数が以下の式(3)を満足する場合に、正の相関があると判断する。
0.5 < 相関係数< 1.0・・・(3)
ステップS62において、相関係数算出部231cは、正の相関があると判断した場合には(ステップS62;Yes)、相関係数算出部231cは、例えば、制御装置が有する実行履歴DBからGCの実行履歴情報を取得すると共に、実行履歴情報が表すGCの実行時間の平均値を算出し、算出した平均値をGCの実行に必要な所要時間Gtとする。
その後、相関係数算出部231cは、図9(b)に示すように、GCの所要時間Gtの2倍の長さを有するピーク間隔と対応したピーク幅を、回帰直線RLを用いて算出すると共に、算出したピーク幅をピーク幅の閾値Twとする(ステップS62)。ピーク間隔とピーク幅とが正の相関を有するので、負荷の計測前において最後に現れた負荷ピーク(以下、直前ピークという)のピーク幅が閾値Twを超えると、直前ピークと計測後において最初に現れる負荷ピーク(以下、直後ピークという)とのピーク間隔は、GCの所要時間よりも長く(約2倍に)なる確率が高いためである。
尚、本実施形態において、GCの所要時間Gtの2倍の長さを有するピーク間隔と対応したピーク幅を閾値Twとして説明したが、この値「2」に限定される訳ではない。また、GCの所要時間Gtの長さ(つまり、1倍の長さ)を有するピーク間隔と対応したピーク幅を閾値Twとするのではなく、GCの所要時間Gtの2倍の長さを有するピーク間隔と対応したピーク幅を閾値Twとすることで、GCの実行直後に次のピークが発生するような、CPU負荷が高い状態が続くことを防止できる。
ステップS62において、相関係数算出部231cは、正の相関がないと判断した場合には(ステップS62;No)、ピーク幅の閾値Twを所定値に設定する(ステップS64)。
ステップS63及びS64を実行した後に、相関係数算出部231cは、算出又は設定されたピーク幅の閾値Twを統計情報として、制御装置が有する統計情報DBに保存する(ステップS65)。その後、相関係数算出部231cは、相関係数算出処理の実行を終了する。
本実施形態に係る制御装置は、上記のステップS65などで保存された統計情報を用いて、図6(a)のFS制御処理を実行するが、ステップS35において、図10に示すような負荷予測処理を実行する点で、第1実施形態と異なる。
よって、以下、図9(a)に示す時刻t22を例に挙げて、この時刻において実行される負荷予測処理について説明する。
図10の負荷予測処理の実行が開始されると、制御装置が有する負荷予測部は、図6(b)のステップS41及びS42と同様の処理を実行する(ステップS71及びS72)。次に、負荷予測部は、現在時刻t22において負荷の移動平均値が減少中であると判断した後に(ステップS72;Yes)、現在の時刻t22の直前ピークPK1のピーク幅W1が、図8(c)のステップS63で算出又はステップS64で設定された閾値Twよりも大きいか否かを判断する(ステップS73)。
ステップS73において、負荷予測部は、負荷ピークPK1のピーク幅W1が閾値Twよりも大きいと判断すると(ステップS73;Yes)、直前ピークPK1と直後ピークPK2とのピーク間隔WLは、GCの所要時間よりも長いと推測する。その後、負荷予測部は、負荷の計測後からGCの所要時間を経過するまでの間、CPU負荷が低負荷であると予測し(ステップS74)、負荷予測処理の実行を終了する。
ステップS73において、負荷予測部は、負荷ピークPK1のピーク幅W1が閾値Tw以下であると判断すると(ステップS73;No)、直前ピークPK1と直後ピークPK2とのピーク間隔WLは、GCの所要時間よりも短いと推測する。その後、負荷予測部は、負荷の計測後からGCの所要時間を経過するまでの間、CPU負荷が高負荷であると予測し(ステップS75)、負荷予測処理の実行を終了する。
通常、ピーク幅が長いピークが終了した後には、長いピーク間隔が訪れる傾向にあるので、これらの構成によれば、直前ピークのピーク幅に基づいて、計測後のGCの所要期間においてCPU負荷が低負荷か否かを精度良く予測できる。
また、これらの構成によれば、ピーク幅とピーク間隔とが相関関係を有する場合に、直前ピークが有するピーク幅に基づいて、CPU負荷が低負荷か否かを予測するため、より精度良く負荷の高低を予測できる。
これらの構成によれば、ピーク幅と相関係数とに基づいて推測されたピーク間隔がGCに要する所要時間よりも長い場合に、CPU負荷が低負荷であると予測するため、さらに精度良く負荷の高低を予測できる。
<第3実施形態>
次に、第3実施形態について説明を行う。
第3実施形態に係る制御装置は、直前ピークのピーク高に基づいてCPU負荷が十分に低いか否かを予測する。尚、第1実施形態と共通する部分については詳細な説明を省略する。
第3実施形態に係る制御装置は、第1実施形態に係る制御装置10とほぼ同様の構成を有するが、図11(a)に示す負荷情報算出部331及び図11(b)に示す負荷関連情報算出部332の構成が異なる。
図11(a)の負荷情報算出部331は、平均値算出部331a及び移動平均値算出部331bの他に、非ピーク平均値算出部331cを有する。非ピーク平均値算出部331cは、図11(b)の負荷関連情報算出部332で検出された負荷ピークを表さず、ピーク間隔を表す負荷の移動平均値に対して相加平均値を算出し、算出した平均値を後述する閾値Tlに設定する。この閾値Tlは、負荷の平均値である閾値Thより低いか又は等しい。
図11(b)の負荷関連情報算出部332は、図11(a)のピーク検出部332a及びピーク高算出部332bの他に、ピーク分類部332c及び低負荷移行時間算出部332dを有する。本実施形態では、負荷関連情報算出部332は、図11(c)に示すような、負荷ピークの高さ(以下、ピーク高という)を表す負荷関連情報の他に、低負荷移行時間を表す負荷関連情報を算出する負荷関連情報算出処理を実行する。
ここで、低負荷移行時間とは、図13に示すような、負荷の移動平均値が閾値Thを下回った時刻t31(つまり、負荷ピークが終了した時刻)から、閾値Thよりも低い閾値Tlを最初に下回る時刻t32までの時間をいう。この閾値Tlは、十分に低い値でCPU負荷が安定する場合に計測される値を表し、上記のように非ピーク平均値算出部331cで算出された値に設定される。また、ピーク高は、ピークにおける負荷の移動平均値の最大値で表される。
図11(c)の負荷関連情報算出処理が開始されると、図11(b)のピーク検出部332aは、図3(c)のステップS21と同様の処理を実行する(ステップS81)。次に、ピーク高算出部332bは、ステップS81で検出された負荷ピークのピーク高を算出する(ステップS82)。
次に、ピーク分類部332cは、ステップS81で検出された(つまり、過去数日に現れた)負荷ピークが有するピーク高の分布を算出する(ステップS83)。次に、ピーク分類部332cは、算出された分布の下位50%を低レベルのピーク高とし、上位50%を高レベルのピーク高としてレベル分けする(ステップS84)。その後、ピーク分類部332cは、低レベルのピーク高を有する負荷ピークが属する分類を第1分類とし、高レベルのピーク高を有する負荷ピークが属する分類を第2分類とする(ステップS85)。
その後、低負荷移行時間算出部332dは、第2分類に属する負荷ピークの低負荷移行時間を算出する(ステップS86)。次に、低負荷移行時間算出部332dは、図3(c)のステップS23と同様の処理を実行する(ステップS87)。その後、負荷関連情報算出処理の実行が終了される。
本実施形態に係る制御装置は、上記のステップS87で保存された負荷関連情報などを用いて、図6(a)のFS制御処理を実行するが、ステップS35において、図12に示すような負荷予測処理を実行する点で、第1実施形態と異なる。
よって、以下、図13に示す時刻t30を例に挙げて、この時刻において実行される負荷予測処理について説明する。
図12の負荷予測処理の実行が開始されると、制御装置が有する負荷予測部は、図6(b)のステップS41及びS42と同様の処理を実行する(ステップS91及びS92)。負荷予測部は、図13の時刻t30において、負荷の移動平均値が減少中であると判断する(ステップS92;Yes)と、現在の時刻t30の直前ピークPK1のピーク高h1が、図11(c)のステップS94で分類された上位50%の高レベルであるか否かを判断する(ステップS93)。
負荷予測部は、図13に示す直前ピークPK1のピーク高h1が高レベルではない(つまり、低レベル)と判断し(ステップS93;No)、時刻t30より後のGCの所要期間において、CPU負荷が低負荷であると判断する(ステップS95)。通常、低レベルのピークが終了すると、GCを開始するまでに要する時間よりも短い時間で、CPU負荷が安定して低負荷になることが多いためである。その後、負荷予測部は、負荷予測処理の実行を終了する。
次に、図13に示す時刻t31を例に挙げて、この時刻において実行される負荷予測処理について説明する。
図12の負荷予測処理の実行が開始されると、制御装置が有する負荷予測部は、ステップS91及びS92の処理を実行した後に、現在の時刻t31の直前ピークPK1のピーク高h1が上位50%の高レベルであると判断する(ステップS93;Yes)。
その後、負荷予測部は、直前ピークPK1が終了した時刻t31から、図11(c)のステップS86で算出された、第2分類に属する負荷ピーク(つまり、高レベルのピーク高を有する負荷ピーク)の低負荷移行時間の平均時間Ttを経過したか否かを判断する(ステップS94)。
負荷予測部は、現在時刻がt31であるので、上記の平均時間Ttを経過していないと判断し(ステップS94;No)、現在時刻t30より後のGCの所要期間において、CPU負荷が高負荷であると判断する(ステップS96)。通常、高レベルのピークが終了すると、CPU負荷が安定して低負荷になるために、GCを開始するまでに要する時間よりも長い時間かかるためである。その後、負荷予測部は、負荷予測処理の実行を終了する。
次に、図13に示す時刻t32を例に挙げて、この時刻において実行される負荷予測処理について説明する。
図12の負荷予測処理の実行が開始されると、制御装置が有する負荷予測部は、ステップS91からS93の処理を実行した後に、現在時刻t32は、直前ピークPK1が終了した時刻t31から低負荷移行時間の平均時間Ttを経過していると判断する(ステップS94;Yes)。
次に、負荷予測部は、現在時刻t32より後のGCの所要期間において、CPU負荷が低負荷であると判断する(ステップS95)。通常、高レベルのピークが終了した後に、低負荷移行時間の平均時間Ttだけ経過すれば、CPU負荷が安定して低負荷になるためである。その後、負荷予測部は、負荷予測処理の実行を終了する。
これらの構成によれば、ピーク高が高い負荷ピークが終了した後には、長いピーク間隔が訪れる傾向にあるので、ピーク高に基づいてCPU負荷が低負荷か否かを精度良く予測できる。
またこれらの構成によれば、ピーク高の分布に基づいて直前ピークが有するピーク高の高低を判断するため、例えば、メモリ20及びメモリ20のユーザのいずれか1つ以上が変化して負荷ピークが有するピーク高の傾向が変化しても、ピーク高に基づいてCPU負荷が低負荷か否かを精度良く予測できる。
また通常、負荷ピークが終了してから、CPU負荷が低い値で安定するまで時間の経過を要する。よって、これらの構成によれば、負荷ピークが終了してから低負荷移行時間を経過した後に、CPU負荷が低負荷であると判断するため、負荷の高低を精度良く予測できる。
尚、本発明に係る機能を実現するための構成を予め備えた記憶媒体の制御装置として提供できることはもとより、プログラムの適用により、既存の制御装置を本発明に係る記憶媒体の制御装置として機能させることもできる。すなわち、上記実施形態で例示した制御装置10による各機能構成を実現させるための制御プログラムを、既存の制御装置を制御するコンピューター(CPUなど)が実行できるように適用することで、本発明に係る制御装置10として機能させることができる。
このようなプログラムの配布方法は任意であり、例えば、メモリカード、CD−ROM、又はDVD−ROMなどの記憶媒体に格納して配布できる他、インターネットなどの通信媒体を介して配布することもできる。
また、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
本発明は、記憶媒体に対して電子ファイルの書き換えを行う制御装置において、記憶媒体に記憶された電子ファイルを管理するファイルシステムの制御を行う制御装置に適する。
10 制御装置
10a CPU
10b ROM
10c RAM
10d ハードディスク
10e メディアコントローラ
10f USBバス
10g LANカード
10h ビデオカード
10i LCD
10j キーボード
10k マウス
11 アプリケーション実行部
20 フラッシュメモリ
100 ファイルシステム制御部
110 負荷計測部
120 負荷情報DB
130 情報算出部
131,231,331 負荷統計情報算出部
131a,231a,331a 平均値算出部
131b,231b,331b 移動平均値算出部
132,232,332 負荷関連情報算出部
132a,232a,332a ピーク検出部
132b,232b ピーク幅算出部
140 統計情報DB
150 利用セクタ情報取得部
170 負荷予測部
180 実行条件判定部
185 GCスケジュール部
189 GC部
190 実行履歴DB
231c 相関係数算出部
232c ピーク間隔算出部
331c 非ピーク平均値算出部
333b ピーク高算出部
333c ピーク分類部
333c 低負荷移行時間算出部
PK,PK1,PK2 負荷ピーク

Claims (12)

  1. 記憶媒体に対する処理を実行する演算装置の負荷を計測する負荷計測手段と、
    前記演算装置が前記記憶媒体に対するガベージコレクションを実行するのに必要な所要期間において、前記演算装置の負荷が所定の閾値よりも低いか否かを、前記負荷計測手段で計測された負荷に基づいて予測する負荷予測手段と、
    前記所要期間において負荷が低いと前記負荷予測手段で予測された場合に、前記記憶媒体に対するガベージコレクションを行うガベージコレクション手段と、
    を備えることを特徴とする記憶媒体の制御装置。
  2. 前記所定の閾値は、前記演算装置がガベージコレクションを実行すると、前記記憶媒体に対する処理の実行速度が低下する場合に計測される負荷の大きさを表す、
    ことを特徴とする請求項1に記載の記憶媒体の制御装置。
  3. 前記負荷予測手段は、前記負荷計測手段で今回に計測された負荷が前記所定の閾値よりも低く、かつ今回の負荷が前回に計測された負荷よりも低い場合に、前記所要期間における前記演算装置の負荷が低いと予測する、
    ことを特徴とする請求項1又は2に記載の記憶媒体の制御装置。
  4. 前記負荷予測手段は、前記負荷計測手段で今回から所定回数前までに計測された負荷が前記所定の閾値よりも低い場合に、前記所要期間における前記演算装置の負荷が低いと予測する、
    ことを特徴とする請求項3に記載の記憶媒体の制御装置。
  5. 前記負荷計測手段で計測された負荷が前記所定の閾値を上回った後から前記所定の閾値を下回るまでの負荷ピークが有するピーク幅を算出するピーク幅算出手段、をさらに備え、
    前記負荷予測手段は、前記ピーク幅算出手段で算出されたピーク幅であって、前記負荷計測手段による今回の計測前において最後に現れた負荷ピークである直前ピークのピーク幅に基づいて、前記所要期間における前記演算装置の負荷が低いか否かを予測する、
    ことを特徴とする請求項1又は2に記載の記憶媒体の制御装置。
  6. 前記負荷計測手段で計測された負荷が前記所定の閾値を下回った後から前記所定の閾値を上回るまでのピーク間隔を算出するピーク間隔算出手段、をさらに備え、
    前記負荷予測手段は、前記ピーク間隔算出手段で算出された前記ピーク間隔と、前記ピーク間隔で隔てられた負荷ピークのピーク幅とが相関関係を有する場合に、前記直前ピークのピーク幅に基づいて、前記直前ピークが終了した後の前記所要期間における前記演算装置の負荷が低いか否かを予測する、
    ことを特徴とする請求項5に記載の記憶媒体の制御装置。
  7. 前記負荷予測手段は、前記ピーク幅と前記ピーク間隔との相関と、前記直前ピークが有するピーク幅とに基づいて、前記負荷計測手段による今回の計測後において最初に現れる負荷ピークである直後ピークのピーク間隔を推測すると共に、推測された前記直後ピークのピーク間隔が前記所要期間よりも長い場合に、前記所要期間における前記演算装置の負荷が低いと予測する、
    ことを特徴とする請求項6に記載の記憶媒体の制御装置。
  8. 前記負荷計測手段で計測された負荷で表される負荷ピークの有するピーク高を算出するピーク高算出手段、をさらに備え、
    前記負荷予測手段は、前記ピーク高算出手段で算出された前記直前ピークのピーク高に基づいて、前記所要期間における前記演算装置の負荷が低いか否かを予測する、
    ことを特徴とする請求項1又は2に記載の記憶媒体の制御装置。
  9. 前記ピーク高算出手段で算出されたピーク高の分布に基づいて、ピーク高が低い負荷ピークが属する第1分類と、前記第1分類よりも高いピーク高を有する負荷ピークが属する第2分類とに、前記直前ピークを分類するピーク分類手段、をさらに備え、
    前記負荷予測手段は、前記ピーク分類手段で前記直前ピークが前記第2分類に分類された場合に、前記所要期間における前記演算装置の負荷が低いと予測する、
    ことを特徴とする請求項8に記載の記憶媒体の制御装置。
  10. 前記ピーク分類手段で前記第2分類に分類された負荷ピークが終了してから、前記負荷計測手段で計測された負荷が前記所定の閾値よりも低い他の閾値を下回る値へ移行するまでの低負荷移行時間を算出する低負荷移行時間算出手段、をさらに備え、
    前記負荷予測手段は、前記負荷計測手段で計測された負荷が前記所定の閾値を下回ってから、前記低負荷移行時間算出手段で算出された低負荷移行時間の平均時間を経過した後に、前記平均時間を経過した後における前記所要期間において前記演算装置の負荷が低いと予測する、
    ことを特徴とする請求項9に記載の記憶媒体の制御装置。
  11. コンピュータを、
    記憶媒体に対する処理を実行する演算装置の負荷を計測する負荷計測手段と、
    前記演算装置が前記記憶媒体に対するガベージコレクションを実行するのに必要な所要期間において、前記演算装置の負荷が所定の閾値よりも低いか否かを、前記負荷計測手段で計測された負荷に基づいて予測する負荷予測手段と、
    前記所要期間において負荷が低いと前記負荷予測手段で予測された場合に、前記記憶媒体に対するガベージコレクションを行うガベージコレクション手段と、
    して機能させることを特徴とする記憶媒体の制御プログラム。
  12. 記憶媒体に対する処理を実行する演算装置の負荷を計測する負荷計測ステップと、
    前記演算装置が前記記憶媒体に対するガベージコレクションを実行するのに必要な所要期間において、前記演算装置の負荷が所定の閾値よりも低いか否かを、前記負荷計測ステップで計測された負荷に基づいて予測する負荷予測ステップと、
    前記所要期間において負荷が低いと前記負荷予測ステップで予測された場合に、前記記憶媒体に対するガベージコレクションを行うガベージコレクションステップと、
    を有することを特徴とする記憶媒体の制御方法。
JP2010099230A 2010-04-22 2010-04-22 記憶媒体の制御装置、制御プログラム、及び制御方法 Active JP5220053B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010099230A JP5220053B2 (ja) 2010-04-22 2010-04-22 記憶媒体の制御装置、制御プログラム、及び制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010099230A JP5220053B2 (ja) 2010-04-22 2010-04-22 記憶媒体の制御装置、制御プログラム、及び制御方法

Publications (2)

Publication Number Publication Date
JP2011227835A true JP2011227835A (ja) 2011-11-10
JP5220053B2 JP5220053B2 (ja) 2013-06-26

Family

ID=45043079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010099230A Active JP5220053B2 (ja) 2010-04-22 2010-04-22 記憶媒体の制御装置、制御プログラム、及び制御方法

Country Status (1)

Country Link
JP (1) JP5220053B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9798657B2 (en) 2014-10-15 2017-10-24 Samsung Electronics Co., Ltd. Data storage device including nonvolatile memory device and operating method thereof
US10181352B2 (en) 2015-09-09 2019-01-15 Toshiba Memory Corporation Memory system and method of controlling nonvolatile memory
CN110058794A (zh) * 2018-01-19 2019-07-26 上海宝存信息科技有限公司 用于动态执行垃圾回收数据储存装置与操作方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60103471A (ja) * 1983-11-10 1985-06-07 Hitachi Ltd 計算機の記録処理方式
JP2001034487A (ja) * 1999-07-21 2001-02-09 Matsushita Electric Ind Co Ltd プログラム実行装置、時決定装置及び時決定方法
JP2003157177A (ja) * 2001-11-22 2003-05-30 Hitachi Ltd 仮想計算機システム及びプログラム
JP2004005305A (ja) * 2002-06-03 2004-01-08 Hitachi Ltd メモリ使用容量の監視方法及び計算機システム
JP2006351004A (ja) * 2005-06-13 2006-12-28 Lg Electronics Inc 携帯端末機のメモリ管理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60103471A (ja) * 1983-11-10 1985-06-07 Hitachi Ltd 計算機の記録処理方式
JP2001034487A (ja) * 1999-07-21 2001-02-09 Matsushita Electric Ind Co Ltd プログラム実行装置、時決定装置及び時決定方法
JP2003157177A (ja) * 2001-11-22 2003-05-30 Hitachi Ltd 仮想計算機システム及びプログラム
JP2004005305A (ja) * 2002-06-03 2004-01-08 Hitachi Ltd メモリ使用容量の監視方法及び計算機システム
JP2006351004A (ja) * 2005-06-13 2006-12-28 Lg Electronics Inc 携帯端末機のメモリ管理方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9798657B2 (en) 2014-10-15 2017-10-24 Samsung Electronics Co., Ltd. Data storage device including nonvolatile memory device and operating method thereof
US10133665B2 (en) 2014-10-15 2018-11-20 Samsung Electronics Co., Ltd. Data storage device including nonvolatile memory device and operating method thereof
US10671524B2 (en) 2014-10-15 2020-06-02 Samsung Electronics Co,. Ltd. Data storage device including nonvolatile memory device and operating method thereof
US10181352B2 (en) 2015-09-09 2019-01-15 Toshiba Memory Corporation Memory system and method of controlling nonvolatile memory
CN110058794A (zh) * 2018-01-19 2019-07-26 上海宝存信息科技有限公司 用于动态执行垃圾回收数据储存装置与操作方法

Also Published As

Publication number Publication date
JP5220053B2 (ja) 2013-06-26

Similar Documents

Publication Publication Date Title
JP6241144B2 (ja) 制御プログラム、制御方法および制御装置
US11360817B2 (en) Method and terminal for allocating system resource to application
JP6075226B2 (ja) プログラム、仮想マシン管理方法および情報処理装置
CN108632330A (zh) 云端资源的管理系统及其管理方法
US10048985B2 (en) Estimating time remaining for an operation
CN105637470B (zh) 用于脏数据管理的方法和计算设备
TWI599881B (zh) 用來適應性地管理一固態硬碟之方法、裝置、與計算機程式產品
KR20120102664A (ko) 미래 사용 추정에 기반한 저장 메모리 할당
JP6447348B2 (ja) ダンプデータ管理プログラム、ダンプデータ管理方法、およびダンプデータ管理装置
JP5220053B2 (ja) 記憶媒体の制御装置、制御プログラム、及び制御方法
CN105955770A (zh) 一种应用程序的卸载方法和终端
JP2003015892A (ja) 情報端末装置及びアプリケーション管理プログラム
CN107766134A (zh) 一种移动设备的系统清理方法及移动设备
CN109343859A (zh) 一种信息处理方法、装置及存储介质
CN105243102B (zh) 一种卸载残留文件的处理方法、装置及终端
TWI614606B (zh) 用於增加快閃記憶體裝置之有效壽命之系統及其方法
CN112527203A (zh) 闪存存储器的数据重写方法、系统、终端设备及存储介质
US10719243B2 (en) Techniques for preserving an expected lifespan of a non-volatile memory
US20140122403A1 (en) Loading prediction method and electronic device using the same
CN113961517A (zh) 文件系统管理方法、电子设备及存储介质
CN112162704A (zh) 存储空间释放方法及其装置
US10417050B2 (en) Apparatus and method to control calculation resources of an information processing device based on predictive values of reference data
JP7331581B2 (ja) 監視装置、監視方法、およびプログラム
JP7048890B2 (ja) 情報処理装置、情報収集プログラム及び情報収集方法
JP2005339287A (ja) プログラム実行システム、中央装置、プログラム実行方法及びコンピュータプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120814

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130111

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130305

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160315

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5220053

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250