JP2019199059A - 画像形成装置、画像形成装置の制御方法及びプログラム - Google Patents
画像形成装置、画像形成装置の制御方法及びプログラム Download PDFInfo
- Publication number
- JP2019199059A JP2019199059A JP2018096126A JP2018096126A JP2019199059A JP 2019199059 A JP2019199059 A JP 2019199059A JP 2018096126 A JP2018096126 A JP 2018096126A JP 2018096126 A JP2018096126 A JP 2018096126A JP 2019199059 A JP2019199059 A JP 2019199059A
- Authority
- JP
- Japan
- Prior art keywords
- storage medium
- forming apparatus
- image forming
- nonvolatile storage
- command
- 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.)
- Pending
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Memory System (AREA)
Abstract
【課題】物理消去を引き起こすコマンドの実行回数を減少させ、不揮発性記憶媒体の寿命を長くすることである。【解決手段】画像形成装置は、印刷ジョブを処理する画像形成装置であって、半導体を用いた不揮発性記憶媒体の使用量に関する情報を取得する第1の取得手段と、前記使用量に関する情報を基に、前記不揮発性記憶媒体の所定のブロックに対して物理消去を引き起こすコマンドの実行を指示する指示手段とを有する。【選択図】図6
Description
本発明は、画像形成装置、画像形成装置の制御方法及びプログラムに関する。
画像形成装置内のハードディスクドライブ(HDD)は、プログラムを格納すると共に、画像データの保存、編集などを実現するストレージ機能を実現する。ソリッドステートドライブ(SSD)は、大容量化と低価格化が進んで、モバイルPCを中心に急速に普及が進んでいる。SSDは、フラッシュメモリで構成された半導体記憶装置である。SSDは、HDDと比べて、高速なランダムアクセスが可能であり、低消費電力、高い耐衝撃性、軽量、省スペースといった点に特長がある。特に、SSDは、システム起動時において、HDDで必要なスピンアップ等の初期動作が必要無い為、高速なデータ転送と相まって起動時間や復帰時間の短縮化には非常に効果があるため、画像形成装置のストレージデバイスとして採用されてきている。
特許文献1には、動画等の様なリアルタイム処理が必要なデータの記録中にトリムコマンドを実行しないようにして、バッファメモリのオーバーフローを抑制し、データの記録速度の低下を防止することが開示されている。トリムコマンドの実行により、SSD内の不要データを削除することができる。
パーソナルコンピュータでは、毎晩行われるディスクメンテナンス時に、トリムコマンドが実行されるものがある。トリムコマンドを実行すると、SSDの書き込み処理が行われるため、SSDの書き換え寿命が消費される。したがって、トリムコマンドが頻繁に実行されると、SSDの寿命が短くなってしまう。
本発明の目的は、物理消去を引き起こすコマンドの実行回数を減少させ、不揮発性記憶媒体の寿命を長くすることである。
本発明の画像形成装置は、印刷ジョブを処理する画像形成装置であって、半導体を用いた不揮発性記憶媒体の使用量に関する情報を取得する第1の取得手段と、前記使用量に関する情報を基に、前記不揮発性記憶媒体の所定のブロックに対して物理消去を引き起こすコマンドの実行を指示する指示手段とを有する。
本発明によれば、物理消去を引き起こすコマンドの実行回数を減少させ、不揮発性記憶媒体の寿命を長くすることができる。
(第1の実施形態)
図1は、本発明の第1の実施形態による画像形成装置410の構成例を示すブロック図である。画像形成装置410は、例えば、印刷ジョブを処理する複合機である。画像形成装置410は、コントローラ部400と、操作部422と、原稿搬送装置制御部423と、イメージリーダ制御部424と、プリンタ制御部425と、折り装置制御部426と、フィニッシャ制御部427とを有する。さらに、画像形成装置410は、原稿搬送装置433と、イメージリーダ部434と、プリンタ部435と、折り装置436と、フィニッシャ部437とを有し、外部パーソナルコンピュータ421に接続される。
図1は、本発明の第1の実施形態による画像形成装置410の構成例を示すブロック図である。画像形成装置410は、例えば、印刷ジョブを処理する複合機である。画像形成装置410は、コントローラ部400と、操作部422と、原稿搬送装置制御部423と、イメージリーダ制御部424と、プリンタ制御部425と、折り装置制御部426と、フィニッシャ制御部427とを有する。さらに、画像形成装置410は、原稿搬送装置433と、イメージリーダ部434と、プリンタ部435と、折り装置436と、フィニッシャ部437とを有し、外部パーソナルコンピュータ421に接続される。
コントローラ部400は、CPU401と、ROM402と、RAM403と、バスブリッジ404とを有する。さらに、コントローラ部400は、外部インターフェース制御部405と、操作制御部406と、デバイス制御部411と、ストレージ制御部412と、SSD413と、外部インターフェース451とを有する。バスブリッジ404は、CPU401と、ROM402と、RAM403と、外部インターフェース制御部405と、操作制御部406と、デバイス制御部411と、ストレージ制御部412に接続される。
ソリッドステートドライブ(SSD)413は、フラッシュメモリで構成された半導体を用いた不揮発性記憶媒体である。SSD413は、オペレーティングシステム(OS)を含むメインプログラムと、アプリケーションプログラムと、ユーザプリファレンスデータとを格納する。また、SSD413は、イメージリーダ制御部424や外部インターフェース451により取得した画像と、操作部422により編集した画像を保存する。ストレージ制御部412は、SSD413を制御する。CPU401は、ストレージ制御部412を介して、SSD413にアクセスすることができる。
ROM402は、初期起動プログラムを格納している。RAM403は、CPU401の制御に伴う演算の作業領域として用いられる。CPU401は、ROM402から初期起動プログラムを読み出し、初期起動処理を行う。また、CPU401は、SSD413に格納されているメインプログラム及びアプリケーションプログラムをRAM403に展開して実行することにより、図6の処理等を行う。
外部インターフェース451は、例えばネットワークやUSBなどの外部バスを介して、外部パーソナルコンピュータ421に接続される。外部インターフェース制御部405は、外部インターフェース451を制御する。CPU401は、外部インターフェース451を介して、外部パーソナルコンピュータ421から受信したプリントデータを画像に展開したり、SSD413内の画像を外部パーソナルコンピュータ421に送信する。 操作制御部406は、操作部422を制御する。
デバイス制御部411は、原稿搬送装置制御部423、イメージリーダ制御部424、プリンタ制御部425、折り装置制御部426及びフィニッシャ制御部427を制御する。原稿搬送装置制御部423は、原稿搬送装置433を制御する。イメージリーダ制御部424は、イメージリーダ部434を制御する。プリンタ制御部425は、プリンタ部435を制御する。折り装置制御部426は、折り装置436を制御する。フィニッシャ制御部427は、フィニッシャ部437を制御する。
コントローラ部400は、操作部422や外部パーソナルコンピュータ421からの指示に基づいて、原稿搬送装置433とイメージリーダ部434を制御し、原稿の画像を取得する。また、コントローラ部400は、プリンタ部435を制御し、画像をシートに印刷する。また、コントローラ部400は、折り装置436とフィニッシャ部437を制御し、印刷されたシートにステイプルやパンチ穴を施す。
図2は、図1のSSD413の構成例を示すブロック図である。SSD413は、SSDコントローラ1000と、複数のフラッシュメモリ1003とを有する。SSDコントローラ1000は、ストレージインターフェース1001と、メモリ制御部1002とを有する。ストレージインターフェース1001は、ストレージ制御部412に接続され、ストレージ制御部412と通信するためのモジュールである。例えば、ストレージインターフェース1001は、シリアルATA(Serial AT Attachment:SATA)インターフェースである。メモリ制御部1002は、複数のフラッシュメモリ1003を制御する。フラッシュメモリ1003は、プログラム及びデータを記憶することができる。
図3は、SSD413の使用に伴うデータ領域の状態変化を説明するための図である。CPU401は、OSのファイルシステムにより、SSD413に対して、読み出し/書き込み処理を行う。その際、CPU401は、不要となったデータ(ファイル)を管理情報で不要データとするだけであり、実データの消去を行わない。SSDコントローラ1000は、基本的にSSD413に搭載されるNANDフラッシュメモリ1003に未使用ブロック(完全空きブロック)が有る場合は、優先的に未使用ブロック(完全空きブロック)から書き込みを行う。これにより、高い書き込みパフォーマンスを維持することができる。SSDコントローラ1000が書き込み処理を繰り返すことにより、図3のように、未使用ブロック(完全空きブロック)が徐々に減少する。最終的には、SSD413の全体が使用済みブロック(使用中のデータブロック及び未使用ブロック(不要データ含有))で満たされる。
SSDコントローラ1000は、未使用ブロック(完全空きブロック)が無くなると、データを書き込む際には、ガベージコレクション処理及びブロック消去処理を行ってから、書き込み処理を行うため、書き込みのパフォーマンスが大幅に低下する。パーソナルコンピュータで問題となるSSD413のプチフリーズ現象(プチフリ)は、上記の事象が要因となっている。この問題の解消のため、SSD413内に散在する不要データを含んだブロックに対して一括して、ガベージコレクション処理とブロック消去処理を行わせるトリムコマンド(TRIMコマンド)が一般化しつつある。
図4は、トリムコマンド実行に伴うSSD413のデータ領域の状態変化を説明するための図である。CPU401は、トリムコマンドをSSDコントローラ413に送信する。SSDコントローラ413は、トリムコマンドを受信すると、トリムコマンドの実行により、ガベージコレクション処理及びブロック消去処理を行い、フラッシュメモリ1003内の不要データブロックを消去する。不要データブロックは、消去処理により、完全空きブロックになる。トリムコマンドは、SSD413の所定のブロックに対して物理消去を引き起こすコマンドである。
図5(A)はトリムコマンド実行前のフラッシュメモリ1003のブロックの状態を示す図であり、図5(B)はトリムコマンド実行後のフラッシュメモリ1003のブロックの状態を示す図である。図5(A)では、フラッシュメモリ1003は、使用中のデータ領域と、未使用領域(不要データ含有)と、未使用領域(完全空き領域)とを有する。
SSDコントローラ1000は、図5(A)のフラッシュメモリ1003の状態で、トリムコマンドを実行することにより、図5(B)のフラッシュメモリ1003の状態に変えることができる。SSDコントローラ1000は、トリムコマンドの実行により、ガベージコレクション処理及びブロック消去処理を行う。SSDコントローラ1000は、ブロック単位でしか、フラッシュメモリ1003のデータを消去することができない。そこで、SSDコントローラ1000は、フラッシュメモリ1003のあるブロックに不要データと必要データの両方が存在する場合には、その必要データを不要データの無い別のブロックに移す処理(ガベージコレクション処理)を行う。そして、SSDコントローラ1000は、必要データが無くて不要データが存在するブロックのデータを消去する処理(ブロック消去処理)を行う。これにより、図5(B)では、フラッシュメモリ1003は、使用中のデータ領域と未使用領域(完全空き領域)のみを有し、未使用領域(不要データ含有)が無くなる。
CPU401は、SSD413がガベージコレクション処理中又はブロック消去処理中の場合には、SSD413に対してアクセスすることができないため、パフォーマンスが低下する。また、ガベージコレクション処理は、基本的に書き込み処理のため、処理を行った分だけ、フラッシュメモリ1003の書き換え寿命が消費される。トリムコマンドが実行されると、フラッシュメモリ1003の不要データを含む全てのブロックに対して、ガベージコレクション処理とブロック消去処理が一括して行われる。トリムコマンドが頻繁に実行されると、SSD413のパフォーマンスの低下とフラッシュメモリ1003の書き換え寿命の消費が進行するという課題がある。従って、SSD413の寿命とパフォーマンスの観点から、トリムコマンドは、頻繁に実行するものではなく、最適な頻度とタイミングで実行する必要がある。
図6は、第1の実施形態によるコントローラ部400の制御方法を示すフローチャートである。ステップS101では、CPU401は、ストレージ制御部412を介して、SSD413に記録されているOSのファイルシステムの管理情報にアクセスし、SSD413の論理空き容量を取得する。ステップS102では、CPU401は、SSD413のS.M.A.R.T情報(診断情報)を参照する。S.M.A.R.T情報は、SSD413の総書き込み量を含む。ステップS103では、CPU401は、ステップS102で参照したS.M.A.R.T情報から、SSD413の総書き込み量を取得する。ステップS104では、CPU401は、ステップS101で取得したSSD413の論理空き容量と、ステップS103で取得した総書き込み量を加算し、その加算値をトリムコマンド実行パラメータ(設定値)として得る。設定値は、SSD413の全領域の合計容量である。CPU401は、その設定値をコントローラ部400内の何れかの記憶媒体に格納する。
ステップS105では、CPU401は、SSD413のS.M.A.R.T情報内のSSD413の総書き込み量を定期的に取得する。ステップS106では、CPU401は、ステップS105で取得したSSD413の総書き込み量が、上記の設定値より大きいか否かを判定する。CPU401は、SSD413の総書き込み量が設定値より大きくない場合には、ステップS105に戻り、SSD413の総書き込み量が設定値より大きい場合には、ステップS107に進む。ステップS107では、CPU401は、トリムコマンドをSSD413に送信することにより、SSD413に対してトリムコマンドの実行を指示する。SSD413は、図5(A)及び(B)に示したように、トリムコマンドを実行し、ガベージコレクション処理及びブロック消去処理を行う。ステップS108では、CPU401は、設定値をクリアし、ステップS101に戻る。
以上のように、ステップS105では、CPU401は、SSD413の使用量に関する情報として、SSD413の総書き込み量の取得を繰り返す。ステップS106では、コントローラ部400は、SSD413内の空きブロック(空き容量)がある場合には、ステップS105に戻り、SSD413内の空きブロックがなくなった場合には、トリムコマンドを実行する。これにより、コントローラ部400は、適切な頻度とタイミングで、トリムコマンドを実行することができるので、SSD413の書き換え回数を減少させ、SSD413の寿命を長くすることができる。
(第2の実施形態)
図7は、本発明の第2の実施形態によるコントローラ部400の制御方法を示すフローチャートである。コントローラ部400は、図6と同様に、ステップS101〜S106の処理を行う。ステップS106では、CPU401は、SSD413の総書き込み量が設定値より大きくない場合には、ステップS105に戻り、SSD413の総書き込み量が設定値より大きい場合には、ステップS207に進む。
図7は、本発明の第2の実施形態によるコントローラ部400の制御方法を示すフローチャートである。コントローラ部400は、図6と同様に、ステップS101〜S106の処理を行う。ステップS106では、CPU401は、SSD413の総書き込み量が設定値より大きくない場合には、ステップS105に戻り、SSD413の総書き込み量が設定値より大きい場合には、ステップS207に進む。
ステップS207では、CPU401は、トリムコマンド実行フラグを生成する。ステップS208では、CPU401は、上記の設定値をクリアする。ステップS102のS.M.A.R.T情報は、SSD413のメディア消耗指標を含む。ステップS209では、CPU401は、ステップS102で参照したS.M.A.R.T情報から、SSD413の寿命に関する情報として、SSD413のメディア消耗指標(Media Wearout Indicator)を取得する。メディア消耗指標は、初期時が100であり、SSD413の使用により減少する。メディア消耗指標は、小さいほど、SSD413の寿命が短いことを意味する。
ステップS210では、CPU401は、ステップS209で取得したSSD413のメディア消耗指標の値が所定値より小さいか否かを判定する。CPU401は、SSD413のメディア消耗指標の値が所定値より小さい場合には、ステップS211に進み、SSD413のメディア消耗指標の値が所定値より小さくない場合には、ステップS213に進む。
ステップS211では、CPU401は、SSD413の書き込み速度を取得する。書き込み速度は、SSD413の空きブロックが不足すると遅くなり、パフォーマンスが低下する。ステップS212では、CPU401は、ステップS211で取得したSSD413の書き込み速度の値が所定値より小さいか否かを判定する。CPU401は、SSD413の書き込み速度の値が所定値より小さくない場合には、ステップS211に戻り、SSD413の書き込み速度の値が所定値より小さい場合には、ステップS213に進む。
ステップS213では、CPU401は、トリムコマンドをSSD413に送信することにより、SSD413に対してトリムコマンドの実行を指示する。SSD413は、図5(A)及び(B)に示したように、トリムコマンドを実行し、ガベージコレクション処理及びブロック消去処理を行う。ステップS214では、CPU401は、トリムコマンド実行フラグをクリアし、ステップS101に戻る。
以上のように、ステップS210では、CPU401は、SSD413のメディア消耗指標の値が所定値より小さい場合に、SSD413の書き込み速度を取得する。ステップS211では、CPU401は、SSD413の書き込み速度を繰り返し取得する。ステップS212では、コントローラ部400は、SSD413の書き込み速度の値が所定値より小さい場合には、トリムコマンドを実行する。コントローラ部400は、SSD413の寿命が所定値より短くなり、かつ、SSD413の空きブロック不足により書き込み速度が低下した場合に、トリムコマンドを実行する。これにより、さらに、SSD413の書き換え回数を減少させ、SSD413の寿命を長くすることができる。
(第3の実施形態)
図8は、本発明の第3の実施形態によるコントローラ部400の制御方法を示すフローチャートである。図8は、図7に対して、ステップS209及びS210の代わりに、ステップS509及びS510を設けたものである。以下、図8が図7と異なる点を説明する。
図8は、本発明の第3の実施形態によるコントローラ部400の制御方法を示すフローチャートである。図8は、図7に対して、ステップS209及びS210の代わりに、ステップS509及びS510を設けたものである。以下、図8が図7と異なる点を説明する。
現在流通しているSSDにおける寿命に関するパラメータ(情報)は、図7のメディア消耗指標の他に、平均消去回数等があるが、搭載されるSSDコントローラ1000によってサポートされるパラメータが異なる。メディア消耗指標がサポートされない場合、CPU401は、平均消去回数を用いて、寿命の消耗を判定することができる。
ステップS509では、CPU401は、ステップS102で参照したS.M.A.R.T情報から、SSD413の平均消去回数を取得する。平均消去回数は、多いほどSSD413の寿命が短いことを示す。ステップS510では、CPU401は、ステップS509で取得したSSD413の平均消去回数の値が所定値より大きいか否かを判定する。CPU401は、SSD413の平均消去回数の値が所定値より大きい場合には、ステップS211に進み、SSD413の平均消去回数の値が所定値より大きくない場合には、ステップS213に進む。
ステップS211では、CPU401は、SSD413の書き込み速度を取得する。ステップS212では、CPU401は、SSD413の書き込み速度の値が所定値より小さくない場合には、ステップS211に戻り、SSD413の書き込み速度の値が所定値より小さい場合には、ステップS213に進む。ステップS213では、CPU401は、トリムコマンドをSSD413に送信することにより、SSD413に対してトリムコマンドの実行を指示する。ステップS214では、CPU401は、トリムコマンド実行フラグをクリアし、ステップS101に戻る。
以上のように、ステップS510では、CPU401は、SSD413の平均消去回数が所定値より多い場合に、SSD413の書き込み速度を取得する。ステップS212では、コントローラ部400は、SSD413の書き込み速度の値が所定値より小さい場合には、トリムコマンドを実行する。コントローラ部400は、SSD413の寿命が所定値より短くなり、かつ、SSD413の空きブロック不足により書き込み速度が低下した場合に、トリムコマンドを実行する。これにより、さらに、SSD413の書き換え回数を減少させ、SSD413の寿命を長くすることができる。
(第4の実施形態)
図9は、本発明の第4の実施形態によるコントローラ部400の制御方法を示すフローチャートである。第4の実施形態は、第1の実施形態に対して、ステップS307の追加条件を付加することで、画像形成装置410のパフォーマンスに影響の無いタイミングでトリムコマンドを実行する。
図9は、本発明の第4の実施形態によるコントローラ部400の制御方法を示すフローチャートである。第4の実施形態は、第1の実施形態に対して、ステップS307の追加条件を付加することで、画像形成装置410のパフォーマンスに影響の無いタイミングでトリムコマンドを実行する。
コントローラ部400は、図6と同様に、ステップS101〜S106の処理を行う。ステップS106では、CPU401は、SSD413の総書き込み量が設定値より大きくない場合には、ステップS105に戻り、SSD413の総書き込み量が設定値より大きい場合には、ステップS307に進む。
ステップS307では、CPU401は、追加条件の有無を判定する。ここで、追加条件は、次の3条件(1)〜(3)のいずれかである。条件(2)及び(3)は、SSD413の電源停止条件が満たされる条件である。
(1)画像形成装置410の画質調整処理を実行する時
(2)画像形成装置410のSSD413の電源停止を含む省電力モードへの移行条件が満たされた時
(3)画像形成装置410のシャットダウン条件が満たされた時
(1)画像形成装置410の画質調整処理を実行する時
(2)画像形成装置410のSSD413の電源停止を含む省電力モードへの移行条件が満たされた時
(3)画像形成装置410のシャットダウン条件が満たされた時
ステップS307では、CPU401は、上記の3条件のうちのいずれかに該当するまで待機し、上記の3条件のうちのいずれかに該当する場合には、ステップS107に進む。
ステップS107では、CPU401は、トリムコマンドをSSD413に送信することにより、SSD413に対してトリムコマンドの実行を指示する。SSD413は、図5(A)及び(B)に示したように、トリムコマンドを実行し、ガベージコレクション処理及びブロック消去処理を行う。ステップS108では、CPU401は、設定値をクリアし、ステップS101に戻る。
なお、本実施形態は、第1の実施形態に適用する例を説明したが、第2及び第3の実施形態に対して、追加条件を付加してもよい。その場合、図7及び図8のステップS212とS213の間に、ステップS307を追加する。
以上のように、本実施形態では、トリムコマンド実行の条件として、ステップS307の追加条件を付加する。これにより、画像形成装置410のパフォーマンスに影響のないタイミングで、トリムコマンドを実行することができる。例えば、コントローラ部400は、画質調整処理の時、省電力モードへの移行条件が満たされた時、シャットダウン条件が満たされた時、又はSSD413の電源停止条件が満たされた時、トリムコマンドを実行することができる。これらの時は、トリムコマンドの実行が、画像形成装置410のパフォーマンスに影響がない時である。
(第5の実施形態)
図10は、本発明の第5の実施形態によるコントローラ部400の制御方法を示すフローチャートである。前述の通り、SSD413のS.M.A.R.T情報(診断情報)から得られるパラメータ情報は、搭載されるSSDコントローラ1000によってサポートされる項目が異なる。従って、SSDコントローラ1000によっては、第1の実施形態で使用した総書き込み量のパラメータが無い物も存在する。本実施形態では、総書き込み量のパラメータを持たないSSD413におけるトリムコマンドの実行タイミングを決める方法を説明する。
図10は、本発明の第5の実施形態によるコントローラ部400の制御方法を示すフローチャートである。前述の通り、SSD413のS.M.A.R.T情報(診断情報)から得られるパラメータ情報は、搭載されるSSDコントローラ1000によってサポートされる項目が異なる。従って、SSDコントローラ1000によっては、第1の実施形態で使用した総書き込み量のパラメータが無い物も存在する。本実施形態では、総書き込み量のパラメータを持たないSSD413におけるトリムコマンドの実行タイミングを決める方法を説明する。
ステップS401では、CPU401は、ストレージ制御部412を介して、SSD413に記録されているOSのファイルシステムの管理情報にアクセスし、SSD413の論理空き容量を取得する。ステップS402では、CPU401は、ステップS401で取得したSSD413の論理空き容量をトリムコマンド実行パラメータ(設定値)とする。CPU401は、その設定値をコントローラ部400内の何れかの記憶媒体に格納する。
ステップS403では、CPU401は、画像形成装置410で実行されるジョブを監視する。ステップS404では、CPU401は、ジョブの実行に際して、SSD413に書き込んだスプールデータ量を取得する。ステップS405では、CPU401は、ステップS404で取得したスプールデータ量を逐次加算し、総スプールデータ量を算出する。
ステップS406では、CPU401は、ステップS405で算出した総スプールデータ量の値が上記の設定値より大きいか否かを判定する。CPU401は、総スプールデータ量の値が設定値より大きくない場合には、ステップS403に戻り、総スプールデータ量の値が設定値より大きい場合には、ステップS407に進む。
ステップS407では、CPU401は、トリムコマンドをSSD413に送信することにより、SSD413に対してトリムコマンドの実行を指示する。SSD413は、図5(A)及び(B)に示したように、トリムコマンドを実行し、ガベージコレクション処理及びブロック消去処理を行う。ステップS408では、CPU401は、設定値をクリアし、ステップS401に戻る。
以上のように、ステップS404では、CPU401は、SSD413の使用量に関する情報として、SSD413に書き込んだスプールデータ量を取得する。ステップS406では、コントローラ部400は、SSD413内の空きブロック(空き容量)がある場合には、ステップS403に戻り、SSD413内の空きブロックがなくなった場合には、トリムコマンドを実行する。コントローラ部400は、S.M.A.R.T情報として総書き込み量のパラメータをサポートしないSSD413であっても、ジョブで使用するスプールデータ量の総量に応じて、トリムコマンドを実行することができる。これにより、SSD413の書き換え回数を減少させ、SSD413の寿命を長くすることができる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
401 CPU、412 ストレージ制御部、413 SSD、1000 SSDコントローラ、1001 ストレージインターフェース、1002 メモリ制御部、1003 フラッシュメモリ
Claims (19)
- 印刷ジョブを処理する画像形成装置であって、
半導体を用いた不揮発性記憶媒体の使用量に関する情報を取得する第1の取得手段と、
前記使用量に関する情報を基に、前記不揮発性記憶媒体の所定のブロックに対して物理消去を引き起こすコマンドの実行を指示する指示手段と
を有することを特徴とする画像形成装置。 - 前記第1の取得手段は、前記不揮発性記憶媒体の総書き込み量を取得し、
前記指示手段は、前記不揮発性記憶媒体の総書き込み量を基に、前記不揮発性記憶媒体の所定のブロックに対して物理消去を引き起こすコマンドの実行を指示することを特徴とする請求項1に記載の画像形成装置。 - 前記不揮発性記憶媒体の空き容量と総書き込み量を取得し、前記不揮発性記憶媒体の空き容量と総書き込み量との加算値を算出する算出手段をさらに有し、
前記第1の取得手段は、前記不揮発性記憶媒体の総書き込み量の取得を繰り返し、
前記指示手段は、前記第1の取得手段により取得された前記不揮発性記憶媒体の総書き込み量と前記加算値とを基に、前記不揮発性記憶媒体の所定のブロックに対して物理消去を引き起こすコマンドの実行を指示することを特徴とする請求項2に記載の画像形成装置。 - 前記指示手段は、前記第1の取得手段により取得された前記不揮発性記憶媒体の総書き込み量が前記加算値より大きくなった場合に、前記不揮発性記憶媒体の所定のブロックに対して物理消去を引き起こすコマンドの実行を指示することを特徴とする請求項3に記載の画像形成装置。
- 前記不揮発性記憶媒体の寿命に関する情報を取得する第2の取得手段をさらに有し、
前記指示手段は、前記不揮発性記憶媒体の総書き込み量と前記不揮発性記憶媒体の寿命に関する情報を基に、前記不揮発性記憶媒体の所定のブロックに対して物理消去を引き起こすコマンドの実行を指示することを特徴とする請求項2に記載の画像形成装置。 - 前記不揮発性記憶媒体の寿命に関する情報は、メディア消耗指標または平均消去回数であることを特徴とする請求項5に記載の画像形成装置。
- 前記不揮発性記憶媒体のメディア消耗指標を取得する第2の取得手段をさらに有し、
前記指示手段は、前記第1の取得手段により取得された前記不揮発性記憶媒体の総書き込み量が前記加算値より大きく、かつ、前記メディア消耗指標が第1の所定値より小さくない場合に、前記不揮発性記憶媒体の所定のブロックに対して物理消去を引き起こすコマンドの実行を指示することを特徴とする請求項4に記載の画像形成装置。 - 前記不揮発性記憶媒体の書き込み速度を繰り返し取得する第3の取得手段をさらに有し、
前記指示手段は、前記第1の取得手段により取得された前記不揮発性記憶媒体の総書き込み量が前記加算値より大きく、かつ、前記メディア消耗指標が第1の所定値より小さく、かつ、前記書き込み速度の値が第2の所定値より小さい場合に、前記不揮発性記憶媒体の所定のブロックに対して物理消去を引き起こすコマンドの実行を指示することを特徴とする請求項7に記載の画像形成装置。 - 前記不揮発性記憶媒体の平均消去回数を取得する第2の取得手段をさらに有し、
前記指示手段は、前記第1の取得手段により取得された前記不揮発性記憶媒体の総書き込み量が前記加算値より大きく、かつ、前記平均消去回数が第1の所定値より大きくない場合に、前記不揮発性記憶媒体の所定のブロックに対して物理消去を引き起こすコマンドの実行を指示することを特徴とする請求項4に記載の画像形成装置。 - 前記不揮発性記憶媒体の書き込み速度を繰り返し取得する第3の取得手段をさらに有し、
前記指示手段は、前記第1の取得手段により取得された前記不揮発性記憶媒体の総書き込み量が前記加算値より大きく、かつ、前記平均消去回数が第1の所定値より大きく、かつ、前記書き込み速度の値が第2の所定値より小さい場合に、前記不揮発性記憶媒体の所定のブロックに対して物理消去を引き起こすコマンドの実行を指示することを特徴とする請求項9に記載の画像形成装置。 - 前記指示手段は、画質調整処理を実行する時に、前記不揮発性記憶媒体の所定のブロックに対して物理消去を引き起こすコマンドの実行を指示することを特徴とする請求項2〜10のいずれか1項に記載の画像形成装置。
- 前記指示手段は、前記不揮発性記憶媒体の電源停止条件が満たされた時に、前記不揮発性記憶媒体の所定のブロックに対して物理消去を引き起こすコマンドの実行を指示することを特徴とする請求項2〜10のいずれか1項に記載の画像形成装置。
- 前記第1の取得手段は、前記不揮発性記憶媒体に書き込んだスプールデータ量を取得し、
前記指示手段は、前記不揮発性記憶媒体に書き込んだスプールデータ量の総量を基に、前記不揮発性記憶媒体の所定のブロックに対して物理消去を引き起こすコマンドの実行を指示することを特徴とする請求項1に記載の画像形成装置。 - 前記不揮発性記憶媒体の空き容量を取得する第2の取得手段をさらに有し、
前記指示手段は、前記不揮発性記憶媒体に書き込んだスプールデータ量の総量と前記不揮発性記憶媒体の空き容量とを基に、前記不揮発性記憶媒体の所定のブロックに対して物理消去を引き起こすコマンドの実行を指示することを特徴とする請求項13に記載の画像形成装置。 - 前記指示手段は、前記不揮発性記憶媒体に書き込んだスプールデータ量の総量が前記不揮発性記憶媒体の空き容量より大きくなった場合に、前記不揮発性記憶媒体の所定のブロックに対して物理消去を引き起こすコマンドの実行を指示することを特徴とする請求項14に記載の画像形成装置。
- 前記不揮発性記憶媒体は、ソリッドステートドライブであることを特徴とする請求項1〜15のいずれか1項に記載の画像形成装置。
- 前記コマンドは、ガベージコレクション処理とブロック消去処理を行わせるためのトリムコマンドであることを特徴とする請求項1〜16のいずれか1項に記載の画像形成装置。
- 印刷ジョブを処理する画像形成装置の制御方法であって、
半導体を用いた不揮発性記憶媒体の使用量に関する情報を取得する第1の取得ステップと、
前記使用量に関する情報を基に、前記不揮発性記憶媒体の所定のブロックに対して物理消去を引き起こすコマンドの実行を指示する指示ステップと
を有することを特徴とする画像形成装置の制御方法。 - コンピュータを、請求項1〜17のいずれか1項に記載された画像形成装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018096126A JP2019199059A (ja) | 2018-05-18 | 2018-05-18 | 画像形成装置、画像形成装置の制御方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018096126A JP2019199059A (ja) | 2018-05-18 | 2018-05-18 | 画像形成装置、画像形成装置の制御方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019199059A true JP2019199059A (ja) | 2019-11-21 |
Family
ID=68611672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018096126A Pending JP2019199059A (ja) | 2018-05-18 | 2018-05-18 | 画像形成装置、画像形成装置の制御方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019199059A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020161981A1 (ja) * | 2019-02-06 | 2020-08-13 | ソニー株式会社 | メモリ診断装置およびメモリ診断方法 |
JP7467088B2 (ja) | 2019-12-03 | 2024-04-15 | キヤノン株式会社 | 情報処理装置、情報処理装置の処理方法およびプログラム |
-
2018
- 2018-05-18 JP JP2018096126A patent/JP2019199059A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020161981A1 (ja) * | 2019-02-06 | 2020-08-13 | ソニー株式会社 | メモリ診断装置およびメモリ診断方法 |
JP7467088B2 (ja) | 2019-12-03 | 2024-04-15 | キヤノン株式会社 | 情報処理装置、情報処理装置の処理方法およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4356782B2 (ja) | メモリ装置、メモリ制御方法、およびプログラム | |
JP4356686B2 (ja) | メモリ装置及びメモリ制御方法 | |
US10303371B2 (en) | Data storage device that stabilizes write latency | |
JP5808854B2 (ja) | ストレージシステム及びストレージ方法 | |
CN110362499B (zh) | 电子机器及其控制方法、计算机***及其控制方法以及主机的控制方法 | |
KR20070068807A (ko) | 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 동작방법 | |
CN107329902B (zh) | 数据储存装置以及快闪存储器控制方法 | |
JP2015064860A (ja) | 画像形成装置およびその制御方法、並びにプログラム | |
JP5611909B2 (ja) | 情報処理装置、性能評価ツール、外部記憶装置の性能評価方法 | |
JP7208000B2 (ja) | 情報処理装置及び情報処理装置の制御方法 | |
JP5917163B2 (ja) | 情報処理装置、その制御方法及びプログラム並びに記憶媒体 | |
JP2011095916A (ja) | 電子機器 | |
JP2009064263A (ja) | メモリ装置 | |
TW201824010A (zh) | 資訊處理裝置及記憶體存取方法 | |
JP2014032582A (ja) | 画像処理装置、画像処理装置のストレージデバイス制御方法、及びプログラム | |
US9948809B2 (en) | Image forming apparatus, memory management method for image forming apparatus, and program, using discretely arranged blocks in prioritizing information | |
JP2019199059A (ja) | 画像形成装置、画像形成装置の制御方法及びプログラム | |
JP6640776B2 (ja) | メモリシステム | |
JP6271939B2 (ja) | 情報処理装置及びその制御方法、並びにプログラム | |
JP2021064333A (ja) | メモリシステムおよびガベッジコレクション制御方法 | |
JP2008225576A (ja) | Nand型フラッシュメモリの制御装置 | |
JP6004923B2 (ja) | 情報処理装置及びその制御方法とプログラム | |
JP2018156582A (ja) | 情報処理装置および画像形成装置等のストレージ制御方法 | |
JP4410271B2 (ja) | メモリ制御装置 | |
JP2018014005A (ja) | ストレージ制御装置 |