IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許7467088情報処理装置、情報処理装置の処理方法およびプログラム
<>
  • 特許-情報処理装置、情報処理装置の処理方法およびプログラム 図1
  • 特許-情報処理装置、情報処理装置の処理方法およびプログラム 図2
  • 特許-情報処理装置、情報処理装置の処理方法およびプログラム 図3
  • 特許-情報処理装置、情報処理装置の処理方法およびプログラム 図4
  • 特許-情報処理装置、情報処理装置の処理方法およびプログラム 図5
  • 特許-情報処理装置、情報処理装置の処理方法およびプログラム 図6
  • 特許-情報処理装置、情報処理装置の処理方法およびプログラム 図7
  • 特許-情報処理装置、情報処理装置の処理方法およびプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-05
(45)【発行日】2024-04-15
(54)【発明の名称】情報処理装置、情報処理装置の処理方法およびプログラム
(51)【国際特許分類】
   G06F 12/02 20060101AFI20240408BHJP
   G06F 12/00 20060101ALI20240408BHJP
【FI】
G06F12/02 530E
G06F12/00 597U
【請求項の数】 7
(21)【出願番号】P 2019218831
(22)【出願日】2019-12-03
(65)【公開番号】P2021089518
(43)【公開日】2021-06-10
【審査請求日】2022-11-25
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100090273
【弁理士】
【氏名又は名称】國分 孝悦
(72)【発明者】
【氏名】安川 琢真
【審査官】松平 英
(56)【参考文献】
【文献】特開2019-199059(JP,A)
【文献】特開2016-139305(JP,A)
【文献】特開2018-055759(JP,A)
【文献】特開2016-206938(JP,A)
【文献】特開2018-041417(JP,A)
【文献】特開2015-219602(JP,A)
【文献】特開2015-141681(JP,A)
【文献】特開2008-159013(JP,A)
【文献】特開平09-097218(JP,A)
【文献】特開平06-223591(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/06-3/08
12/00-12/128
13/16-13/18
(57)【特許請求の範囲】
【請求項1】
情報処理装置であって、
時間を計測する計測手段と、
半導体記憶装置のうちトリムコマンドに基づく消去処理の対象となる対象領域を特定する特定手段と、
前記対象領域の中から一部の領域を消去対象として設定する設定手段と、
前記設定手段によって設定した前記一部の領域に前記消去処理を実行する実行手段と、
を有し、
前記実行手段は、前記情報処理装置のシャットダウンを開始する際に、前記設定手段により設定された前記一部の領域に対して前記消去処理を実行し、前記時間が所定の時間を経過していない場合には、前記対象領域のほかの領域に消去処理を実行し、前記時間が前記所定の時間を経過した場合には、前記対象領域のほかの領域に消去処理を実行しない
ことを特徴とする情報処理装置。
【請求項2】
前記トリムコマンドは、前記設定手段により設定された一部の領域に対して物理メモリブロック消去処理を実行させるためのコマンドであることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記設定手段は、前回消去が実行された半導体記憶装置の領域とは異なる領域を消去対象として設定することを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記設定手段は、消去対象数上限を超えない領域を消去対象として設定することを特徴とする請求項1~のいずれか1項に記載の情報処理装置。
【請求項5】
前記消去対象数上限は、ユーザが設定可能であることを特徴とする請求項4に記載の情報処理装置。
【請求項6】
情報処理装置の処理方法であって、
時間を計測する計測ステップと、
半導体記憶装置のうちトリムコマンドに基づく消去処理の対象となる対象領域を特定する特定ステップと、
前記対象領域の中から一部の領域を消去対象として設定する設定ステップと、
前記設定ステップによって設定した前記一部の領域に前記消去処理を実行する実行ステップと、
を有し、
前記実行ステップでは、前記情報処理装置のシャットダウンを開始する際に、前記設定ステップで設定された前記一部の領域に対して前記消去処理を実行し、前記時間が所定の時間を経過していない場合には、前記対象領域のほかの領域に消去処理を実行し、前記時間が前記所定の時間を経過した場合には、前記対象領域のほかの領域に消去処理を実行しない
ことを特徴とする情報処理装置の処理方法。
【請求項7】
コンピュータを、請求項1~のいずれか1項に記載された情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理装置の処理方法およびプログラムに関する。
【背景技術】
【0002】
近年、SSD(ソリッドステートドライブ)やeMMCのようなフラッシュメモリを用いた不揮発性の半導体記憶装置を備える情報処理装置が増えている。このような半導体記憶装置は、アクセス速度や静音性等の観点で、HDD(ハードディスクドライブ)よりも優れている一方で、書き換え回数に制限がある。そのため、半導体記憶装置では、内蔵するフラッシュメモリの寿命を延ばすために、半導体記憶装置が備えるコントローラによって、ウェアレベリングと呼ばれる分散書き込みが行われている。ウェアレベリングでは、書き込み回数の少ないブロックをなるべく使用するように、ブロックを置き換えて書き込みが行われる。そのため、情報処理装置にて、ウェアレベリング処理を実行中には、ブロック置き換え時に、ブロック消去やデータコピーなどが発生し、半導体記憶装置のパフォーマンス(読み書き性能)が低下する場合がある。
【0003】
不揮発性半導体記憶装置では、パフォーマンスの低下を改善する方法として、トリムと呼ばれる処理を行うのが一般的である。トリムとは、記憶装置に対して、OS(オペレーティングシステム)のファイルシステムにとって不要になった記憶領域を通知するコマンドである。具体的には、トリムというコマンドによって使用しなくなった領域を半導体記憶装置のコントローラに対して通知する。半導体記憶装置のコントローラは、未使用領域を認識することにより、使用領域だけ集めて(ガーベージコレクション)、ウェアレベリングすればよいので、コピーするデータ量が小さくなり、使用ブロック数も減少し、全体の書き替え回数も減少する。よって、半導体記憶装置にトリムコマンドで不要になった記憶領域を通知することにより、不必要な領域までウェアレベリング処理をする必要がなくなり、半導体記憶装置のパフォーマンス低下を抑制することができる。
【0004】
トリムコマンドの実行方法としては、OSのファイルシステムの仕組みの中で、半導体記憶装置に対して書き込みが発生するたびに、逐次、トリムコマンドを発行する方法がある。これは、半導体記憶装置のパーティションをマウントして使用するときに、“discard”と呼ばれるマウントオプションを指定することで有効になる。逐次トリム機能は、トリムコマンドをアプリケーションが任意のタイミングで発行する必要がない代わりに、全体的な動作速度が遅くなる可能性がある。また、OSやファイルシステムの種類によっては、逐次トリム機能に対応していない場合もある。
【0005】
逐次トリム以外に、アプリケーションが半導体記憶装置へのトリム発行を行う外製コマンド“fstrim”を任意のタイミングで実行する方法がある。アプリケーションがOSの提供するfstrimコマンドを半導体記憶装置の領域を指定して実行すると、OSは、指定された領域のファイルシステム上の未使用領域を調べ、半導体記憶装置へトリムコマンドを発行する。この場合、アプリケーションがfstrimコマンドをアイドル時やスタンバイ時に実行したり、ユーザの指示に応じて実行したり、指定された時刻に実行したりすることになる。例えば、特許文献1には、アプリケーションが情報処理装置のジョブ実行などの使用状況に応じて、ジョブの中断を示す状況と判断したときにトリムを実行し、ジョブの中断が解消されたことに応じてトリムコマンドを中断する装置が記載されている。
【先行技術文献】
【特許文献】
【0006】
【文献】特許第6289128号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1では、トリム処理がジョブ実行のパフォーマンスに影響しないように考慮された内容であるが、機器全体のパフォーマンスについては考慮されていない。例えば、ジョブが実行されていないアイドル時にトリム処理を実施している最中にユーザが操作部を操作した場合、トリム処理と操作部の処理が競合して操作部の画面の動作が遅くなるなど、機器としてのパフォーマンスに影響がある可能性がある。また、トリム処理の対象とするパーティションを半導体記憶装置のすべての領域にすると、トリム処理にかかる時間が長くなり、ユーザ操作と競合する可能性が高くなる。よって、トリム処理の機器全体のパフォーマンスの影響を考えると、ジョブ実行処理との競合だけでなく、ユーザ操作が可能なタイミングの処理の競合についても考慮する必要がある。
【0008】
本発明の目的は、ユーザの操作、ジョブ実行等の情報処理装置のパフォーマンスへの影響を抑制し、半導体記憶装置のパフォーマンスの劣化を抑制することができるようにすることである。
【課題を解決するための手段】
【0009】
本発明の情報処理装置は、情報処理装置であって、時間を計測する計測手段と、半導体記憶装置のうちトリムコマンドに基づく消去処理の対象となる対象領域を特定する特定手段と、前記対象領域の中から一部の領域を消去対象として設定する設定手段と、前記設定手段によって設定した前記一部の領域に前記消去処理を実行する実行手段と、を有し、前記実行手段は、前記情報処理装置のシャットダウンを開始する際に、前記設定手段により設定された前記一部の領域に対して前記消去処理を実行し、前記時間が所定の時間を経過していない場合には、前記対象領域のほかの領域に消去処理を実行し、前記時間が前記所定の時間を経過した場合には、前記対象領域のほかの領域に消去処理を実行しない
【発明の効果】
【0010】
本発明によれば、ユーザの操作、ジョブ実行等の情報処理装置のパフォーマンスへの影響を抑制し、半導体記憶装置のパフォーマンスの劣化を抑制することができる。
【図面の簡単な説明】
【0011】
図1】情報処理装置の構成例を示すブロック図である。
図2】eMMCのシステム領域のパーティション構成例を示す図である。
図3】定期アップデートの設定画面の一例を示す図である。
図4】時刻指定シャットダウンの設定画面の一例を示す図である。
図5】時刻指定クリンアップの設定画面の一例を示す図である。
図6】トリム実施状況の対応テーブルの一例を示す図である。
図7】各パーティションとトリム実施状況の変化を示すタイムチャートである。
図8】トリム実行のフローチャートである。
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、実施形態に係る情報処理装置として複合機(デジタル複合機/MFP/Multi Function Peripheral)を例に説明する。しかしながら、適用範囲は、複合機に限定せず、情報処理装置であればよい。
【0013】
<装置の説明>
図1は、本実施形態による情報処理装置100のハードウェア構成例を示すブロック図である。情報処理装置100は、LAN110を介して、外部サーバ250とパーソナルコンピュータ(PC)260に接続される。情報処理装置100は、制御部200と、操作部220と、プリンタエンジン221と、スキャナエンジン222と、外部電源240を有する。
【0014】
CPU210を含む制御部200は、情報処理装置100の全体の動作を制御する。CPU210は、eMMC219に記憶された制御プログラムを読み出して読み取り制御や印刷制御、ファームアップデート制御などの各種制御を実行する。eMMC219は、半導体記憶装置であり、ワークエリア、またはユーザデータ領域として用いられる。ROM291は、リードオンリーメモリであり、情報処理装置100のBIOS、固定パラメータ等を格納している。RAM212は、CPU210の主メモリ、およびワークエリア等の一時記憶領域として用いられる。SRAM213は、不揮発メモリであり、情報処理装置100で必要となる設定値や画像調整値などを記憶しており、電源を再投入してもデータが消えないようになっている。SRAM213は、トリム対象数上限805と消去回数806を記憶する。SSD218は、ファームアップデート用のファイル格納領域を備え、画像データやユーザデータ等を記憶する。SSD218は、搭載されない場合もあり、その場合は、ファームアップデート用のファイル格納領域、画像データ、ユーザデータ等は、すべてeMMC219に格納される。
【0015】
操作部I/F215は、操作部220と制御部200とを接続する。操作部220には、タッチパネル機能を有する液晶表示部やキーボードなどが備えられている。プリンタI/F216は、プリンタエンジン221と制御部200とを接続する。プリンタエンジン221内のROMには、プリンタエンジンファーム231が格納されている。プリンタエンジン221で印刷すべき画像データは、プリンタI/F216を介して、制御部200からプリンタエンジン221に転送される。プリンタエンジン221は、画像データを記録媒体上に印刷する。スキャナI/F217は、スキャナエンジン222と制御部200とを接続する。スキャナエンジン222内のROMには、スキャナエンジンファーム232が格納されている。スキャナエンジン222は、原稿上の画像を読み取って画像データを生成し、スキャナI/F217を介して、制御部200に出力する。
【0016】
ネットワークI/Fカード(NIC)214は、制御部200(情報処理装置100)をLAN110に接続する。NIC214は、LAN110上の外部装置(例えば、外部サーバ250やPC260)に画像データや情報を送信したり、逆にアップデートファームや各種情報を受信したりする。外部サーバ250は、インターネット上に存在する場合もある。PC260上に存在するWebブラウザから情報処理装置100の操作を行うこともある。チップセット(Chipset)211は、ある一連の関連のある複数の集積回路であり、RTC270を有する。RTC270は、RealTimeClock(リアルタイムクロック)であり、計時専用のチップである。
【0017】
外部電源240は、eMMC219に格納される制御プログラムからの指示により電源の供給を断つが、外部電源240が接続されていなくとも、図示しない内蔵電池から電源供給を受けるため、スリープ時も動作することができる。これにより、チップセット211に対して一部の電源供給が行われる状態においては、スリープからの復帰が実現できる。逆に、チップセット211に電源供給がまったく行われないシャットダウン状態の場合には、RTC270は、動作することができない。
【0018】
埋め込みコントローラ(Embedded Controller)280は、CPU281とRAM282を有する。CPU281は、埋め込みコントローラ280のソフトウェアプログラムを実行し、情報処理装置100の中で一部の制御を行う。RAM282は、ランダムアクセスメモリであり、CPU281が情報処理装置100を制御する際に、プログラムや一時的なデータの格納などに使用される。LED290は、必要に応じて点灯し、ソフトウェアやハードウェアの異常を外部に伝えるために利用される。
【0019】
<パーティション構成>
図2は、eMMC219内のシステム領域300のパーティション構成の一例を示す図である。ファーム格納領域301は、制御部200のCPU210が実行するソフトウェアプログラムを格納する。サービスデータ格納領域302は、主に設置時やオプション追加時にサービスマンが設定する設定値等を格納する。画像格納領域303は、情報処理装置100が圧縮された画像を展開する等、一時的に使用するデータを格納する。アプリケーションデータ格納領域304は、設置後にユーザがインストールして利用可能であるアプリケーションとその設定値を保持する。ユーザデータ格納領域305は、ユーザが変更可能な設定値を格納する。アップデートワーク領域306は、アップデート不具合発生時のロールバックに備えたバックアップデータを保持する等、ファーム格納領域301に格納されたソフトウェアプログラムをアップデートする際のワーク領域に用いる。
【0020】
<時刻指定イベント>
図3は、情報処理装置100が有する時刻指定イベントである定期アップデートの設定画面400の一例を示す図である。定期アップデート設定401は、ユーザによるON/OFFを設定可能であり、ONを設定した場合、ユーザの設定する指定時刻に従ってアップデートを実行する。アップデート時刻402は、アップデート対象の新しいソフトウェアプログラムが存在するか否かを確認する確認時刻と、アップデート対象の新しいソフトウェアプログラムが存在した場合にアップデートを実施する適用時刻を設定できる。ここでは、例として、確認時刻に毎週水曜日の23時を設定し、適用時刻に24時を設定している。設定した適用時刻になると、CPU210は、LAN110を介して外部サーバ250から新しいソフトウェアプログラムを取得し、アップデートワーク領域306に保持する。そして、CPU210は、動作中のソフトウェアプログラムをファーム格納領域301からアップデートワーク領域306にバックアップし、ファーム格納領域301のソフトウェアプログラムを新しいソフトウェアプログラムで置き換える。これにより、ソフトウェアプログラムのアップデートが完了する。CPU210は、アップデートの経過をSRAM213に記録する。アップデートの途中で電源の瞬断が発生した際には、CPU210は、SRAM213に記録したアップデート状況に応じて、アップデートワーク領域306に保持したソフトウェアプログラムのバックアップを書き戻すことでロールバックを実現する。
【0021】
図4は、情報処理装置100が有する時刻指定イベントである時刻指定シャットダウンの設定画面500の一例を示す図である。時刻指定シャットダウン設定501は、ユーザによるON/OFFを設定可能であり、ONを設定した場合、ユーザの設定するシャットダウン指定時刻502の実行時刻に従ってシャットダウンを実行する。ここでは、例として、実行時刻に毎週金曜日の22時を設定している。設定した実行時刻になると、CPU210は、シャットダウン処理を開始し、シャットダウン処理中であることを操作部220に表示してユーザに通知する。そして、CPU210は、制御部200により制御されるすべてのジョブを終了し、プリンタエンジン221とスキャナエンジン222を停止する。さらに、CPU210は、RAM212に保持するキャッシュの内容をSSD218に書き込み、SSD218との接続を解除し、すべての制御プログラムを終了する。このように、CPU210がシャットダウンを完了した後、電源の供給が停止される。
【0022】
図5は、情報処理装置100が有する時刻指定イベントである時刻指定クリンアップの設定画面600の一例を示す図である。時刻指定クリンアップ設定601は、ユーザによるON/OFFを設定可能であり、ONを設定した場合、ユーザの設定するクリンアップ指定時刻602の実行時刻に従ってクリンアップを実行する。ここでは、例として、実行時刻に毎日20時を設定している。設定した実行時刻になると、CPU210は、eMMC219のシステム領域300のパーティションのいずれかに対してfstrimコマンドを発行することでトリムを実行する。
【0023】
図6は、eMMC219のシステム領域300のパーティション構成とトリム実施状況の対応テーブル700の一例を示す図である。対応テーブル700は、SRAM213に保持される。パーティションは、パーティション番号701と、パーティション用途702を情報として持つ。パーティション用途702は、情報処理装置100の動作上必要なデータを配置するパーティションの用途を示す。パーティションは、サイズの他、パーティション番号やラベルといった情報を持つ。トリム実施状況703は、当該パーティションに対するトリムが実施済みである場合にY、トリムが未実施である場合にNを保持し、製品としての初期状態ではすべてNである。レコード711は、ファーム格納領域301の対応レコードである。レコード712は、サービスデータ格納領域302の対応レコードである。レコード713は、画像格納領域303の対応レコードである。レコード714は、アプリケーションデータ格納領域304の対応レコードである。レコード715は、ユーザデータ格納領域305の対応レコードである。レコード716は、アップデートワーク領域306の対応レコードである。
【0024】
図7は、各パーティションとトリム実施状況の変化を示すタイムチャートの一例を示す図である。判断機会801は、情報処理装置100において、eMMC219のシステム領域300のいずれのパーティションに対してトリム実施が必要であるか否かを判断する機会である。トリム実施の要否は、SRAM213に予め設定した判断機会各回のトリム対象数上限805に基づいて決定し、例えば、各回のトリム対象数上限805を2とする。定期アップデート機会802は、定期アップデートの設定画面400の設定に従って毎週水曜日の24時に定期アップデートを実施する。時刻指定シャットダウン機会803は、時刻指定シャットダウンの設定画面500の設定に従って毎週金曜日22時にシャットダウンを実施する。時刻指定クリンアップ機会804は、時刻指定クリンアップの設定画面600の設定に従って毎日20時にクリンアップを実施する。
【0025】
判断機会801は、定期アップデート機会802と時刻指定シャットダウン機会803と時刻指定クリンアップ機会804をそれぞれ合わせた機会であることを示している。判断機会811は、月曜日20時に時刻指定クリンアップが実施される機会である。CPU210は、各回のトリム対象数上限805の2に基づき、ファーム格納領域301とサービスデータ格納領域302に対してトリムを実施する。そして、CPU210は、レコード711とレコード712のトリム実施状況703をYに設定する。
【0026】
判断機会812は、火曜日20時に時刻指定クリンアップが実施される判断機会であり、判断機会811と同様に、CPU210は、画像格納領域303とアプリケーションデータ格納領域304に対してトリムを実施する。そして、CPU210は、レコード713とレコード714のトリム実施状況703をYに設定する。
【0027】
判断機会813は、水曜日20時に時刻指定クリンアップが実施される機会であり、CPU210は、ユーザデータ格納領域305とアップデートワーク領域306に対してトリムを実施する。そして、CPU210は、レコード715とレコード716のトリム実施状況703をYに設定する。CPU210は、すべてのパーティションに対してトリムを実施した時点で、すべてのレコードのトリム実施状況703をNに設定する。
【0028】
判断機会814は、水曜日24時に定期アップデートが実施される機会であり、CPU210は、ファーム格納領域301とサービスデータ格納領域302に対してトリムを実施する。そして、CPU210は、レコード711とレコード712のトリム実施状況703をYに設定する。
【0029】
判断機会815は、木曜日20時に時刻指定クリンアップが実施される機会であり、CPU210は、画像格納領域303とアプリケーションデータ格納領域304に対してトリムを実施する。そして、CPU210は、レコード713とレコード714のトリム実施状況703をYに設定する。
【0030】
判断機会816は、金曜日20時に時刻指定クリンアップが実施される機会であり、CPU210は、ユーザデータ格納領域305とアップデートワーク領域306に対してトリムを実施する。そして、CPU210は、レコード715とレコード716のトリム実施状況703をYに設定する。CPU210は、すべてのパーティションに対してトリムを実施した時点で、すべてのレコードのトリム実施状況703をNに設定する。
【0031】
判断機会817は、金曜日22時に時刻指定シャットダウンが実施される機会である。CPU210は、ファーム格納領域301とサービスデータ格納領域302に対してトリムを実施する。そして、CPU210は、レコード711とレコード712のトリム実施状況703をYに設定する。
【0032】
判断機会818は、土曜日20時に時刻指定クリンアップが実施される機会であり、CPU210は、画像格納領域303とアプリケーションデータ格納領域304に対してトリムを実施する。そして、CPU210は、レコード713とレコード714のトリム実施状況703をYに設定する。判断機会818以降は、判断機会817のシャットダウン実施以降に電源を入れていなければスキップされる。
【0033】
判断機会819は、日曜日20時に時刻指定クリンアップが実施される機会であり、CPU210は、ユーザデータ格納領域305とアップデートワーク領域306に対してトリムを実施する。そして、CPU210は、レコード715とレコード716のトリム実施状況703をYに設定する。CPU210は、すべてのパーティションに対してトリムを実施した時点で、すべてのレコードのトリム実施状況703をNに設定する。
【0034】
図8は、情報処理装置100の処理方法を示すフローチャートである。このフローチャートは、eMMC219に格納されたプログラムを、制御部200のCPU210が実行することによって実現される。
【0035】
ステップS901において、CPU210は、RTC270を参照し、アップデート時刻402の適用時刻、シャットダウン指定時刻502の実行時刻、クリンアップ指定時刻602の実行時刻のいずれかの時刻であるか否かを判断する。CPU210は、いずれかの時刻であると判断した場合、判断機会801の発生と判断し、ステップS902に進む。
【0036】
ステップS902において、CPU210は、SRAM213から、パーティション構成とトリム実施状況の対応テーブル700を取得する。
【0037】
ステップS903において、CPU210は、設定部として機能し、ステップS902で取得した対応テーブル700のトリム実施状況703を先頭から参照し、N即ちトリムを実施していないと判断したパーティションをトリム対象として設定する。パーティションは、eMMC219の領域である。トリム対象は、消去対象である。そして、CPU210は、ステップS904に進む。
【0038】
ステップS904において、CPU210は、SRAM213からトリム対象数上限805を取得し、RAM212にトリム待ちパーティション数として保持する。トリム対象数上限805は、消去対象数上限である。そして、CPU210は、ステップS905に進む。
【0039】
ステップS905において、CPU210は、トリム待ちパーティション数をデクリメントする。そして、CPU210は、ステップS906に進む。
【0040】
ステップS906において、CPU210は、実行部として機能し、トリム対象に設定したパーティションに対してトリム(消去)を実行する。具体的には、CPU210は、トリム対象に設定したパーティションに対して物理メモリブロック消去処理を実行させるためのトリムコマンドを発行する。そして、CPU210は、ステップS907に進む。
【0041】
ステップS907において、CPU210は、ステップS902で取得した対応テーブル700の中からステップS906でトリム対象にしたパーティションの次のパーティションをトリム対象に設定する。そして、CPU210は、ステップS908に進む。
【0042】
ステップS908において、CPU210は、トリム待ちパーティション数が0であるか否か、即ち、本判断機会でトリム対象としたパーティションへのトリムをすべて実施したか否かを確認する。CPU210は、トリム待ちパーティション数が0でない、即ち、トリム対象が残っていると判断した場合、ステップS905に戻る。また、CPU210は、トリム待ちパーティション数が0である、即ち、トリムをすべて実施したと判断した場合、処理を終了する。
【0043】
以上のように、ステップS903およびS907において、CPU210は、設定部として機能し、eMMC219の一部の領域を消去対象として設定する。CPU210は、前回消去が実行されたeMMC219の領域とは異なる領域を消去対象として設定する。CPU210は、トリム対象数上限805を超えない領域を消去対象として設定する。
【0044】
ステップS906において、CPU210は、実行部として機能し、ステップS903で設定されたeMMC219の領域に対して所定のタイミングで消去を実行する。所定のタイミングは、アップデートのタイミング、シャットダウンのタイミング、または、クリンアップのタイミングである。
【0045】
以上説明したように、情報処理装置100は、ユーザが利用していない時間帯に、対象パーティションを限定してトリムを実行することで、ユーザの利便性の維持とeMMC219のパフォーマンス劣化の抑止を両立することができる。情報処理装置100は、ユーザの操作、ジョブ実行等のパフォーマンスへの影響を最小限にして、eMMC219の各領域に対してトリムコマンドの発行を行い、eMMC219のパフォーマンスの劣化を抑止することができる。
【0046】
尚、CPU210は、SRAM213のトリム対象数上限805に達していなかったとしても、SRAM213に保持される制限時間を経過した場合、消去の実行を中止してもよい。これにより、ユーザの利便性を優先することができる。さらに、予め設定した判断機会各回のトリム対象数上限805は、ユーザ設定可能とし、例えば管理者によって調整可能としてもよい。また、ソフトウェアプログラムがeMMC219に保持される例を示したが、ROM291に保持されてもよい。さらに、SRAM213に保持したトリム対象数上限805や対応テーブル700もROM291やその他の不揮発ストレージに保持されてもよい。
【0047】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0048】
尚、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0049】
100 情報処理装置、210 CPU、219 eMMC
図1
図2
図3
図4
図5
図6
図7
図8