(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-28
(45)【発行日】2024-07-08
(54)【発明の名称】情報処理装置および情報処理装置の制御方法
(51)【国際特許分類】
G06F 12/00 20060101AFI20240701BHJP
G06F 3/06 20060101ALI20240701BHJP
G06F 3/08 20060101ALI20240701BHJP
G06F 16/18 20190101ALI20240701BHJP
【FI】
G06F12/00 560A
G06F3/06 301F
G06F3/08 H
G06F16/18 100
G06F3/06 306Z
G06F12/00 597U
(21)【出願番号】P 2020114215
(22)【出願日】2020-07-01
【審査請求日】2023-06-21
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】原 健二
【審査官】田中 啓介
(56)【参考文献】
【文献】特開2020-064503(JP,A)
【文献】特開2019-109762(JP,A)
【文献】特開2018-063676(JP,A)
【文献】米国特許出願公開第2015/0347025(US,A1)
【文献】特開2010-79736(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/06-3/08
G06F12/00-12/06
G06F12/14-12/16
G06F13/16-13/18
G06F16/00-16/958
G06F21/10、21/60-21/88
(57)【特許請求の範囲】
【請求項1】
不揮発性の半導体記憶装置を有する情報処理装置であって、
前記半導体記憶装置に記憶されたデータに基づいてジョブを実行する実行手段と、
前記ジョブの実行後に、前記半導体記憶装置に記憶された前記ジョブに対応する前記データに対して異なるデータによる上書き消去を指示する上書き消去機能を設定する設定手段と、
前記半導体記憶装置の寿命情報が閾値以上であるか否かを判定する判定手段と、
前記半導体記憶装置の寿命情報が閾値以上である場合に前記設定手段において前記上書き消去機能を設定可能にし、前記半導体記憶装置
の寿命情報が閾値未満である場合に前記設定手段において前記上書き消去機能を設定不能にする制御手段と、を有することを特徴とする情報処理装置。
【請求項2】
前記半導体記憶装置の統計情報を取得する取得手段と、
を有し、
前記寿命情報は、前記統計情報であることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記統計情報は、前記半導体記憶装置におけるデータの消去回数の情報または前記半導体記憶装置における記憶素子のスペアブロック数であることを特徴とする請求項
2に記載の情報処理装置。
【請求項4】
前記上書き消去機能は、1回の上書き消去指示において複数回上書き消去を実行する第1上書き消去機能と、1回の上書き消去指示において1回上書き消去を実行する第2上書き消去機能とを有し、
前記制御手段は、前記半導体記憶装置が所定の条件を満たすことによって、前記設定手段によって前記第1上書き消去機能または前記第2上書き消去機能を設定可能にし、
前記半導体記憶装置が所定の条件を満たさないことによって、前記設定手段によって前記第1上書き消去機能を設定不能にし、前記第2上書き消去機能を設定可能にすることを特徴とする請求項1乃至
3のいずれか1項に記載の情報処理装置。
【請求項5】
ユーザの選択を受け付ける操作部を有し、
前記操作部は、前記半導体記憶装置が所定の条件を満たす場合に前記上書き消去機能を設定可能であり、前記半導体記憶装置が所定の条件を満たさない場合に前記上書き消去機能を設定不能であることを特徴とする請求項1乃至
4のいずれか1項に記載の情報処理装置。
【請求項6】
ユーザの操作を受け付ける操作部を有し、
前記操作部は、前記半導体記憶装置が所定の条件を満たす場合に、前記第1上書き消去機能および前記第2上書き消去機能を設定可能であり、前記半導体記憶装置が所定の条件を満たさない場合に、前記第1上書き消去機能を設定不能であり且つ前記第2上書き消去機能を設定可能であることを特徴とする請求項
4に記載の情報処理装置。
【請求項7】
画像データを用紙に印刷する印刷手段を有し、
前記ジョブは印刷ジョブであり、
前記半導体記憶装置に記憶されたデータは、前記印刷手段による印刷に用いる画像データであることを特徴とする請求項1乃至
6のいずれか1項に記載の情報処理装置。
【請求項8】
前記半導体記憶装置は、SSDであることを特徴とする請求項1乃至
7のいずれか1項に記載の情報処理装置。
【請求項9】
不揮発性の半導体記憶装置
と、前記半導体記憶装置を制御する制御手段と、を有する情報処理装置の制御方法であって、
前記制御手段によって、前記半導体記憶装置が所定の条件を満たすか否かを確認するステップと、
前記制御手段によって、前記半導体記憶装置の寿命情報が閾値以上であるか否かを判定し、前記寿命情報が閾値以上であると判定した場合に、前記半導体記憶装置に記憶されたデータに対して異なるデータによる上書き消去を指示する上書き消去機能を設定可能にし、
前記寿命情報が閾値より小さいと判定した場合に
、前記上書き消去機能を設定不能にするステップと、を有することを特徴とする情報処理装置の制御方法。
【請求項10】
請求項
9に記載の制御方法を、コンピュータに実行させるためのプログラム。
【請求項11】
請求項
10に記載のプログラムを記憶したコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理装置および情報処理装置の制御方法に関する。
【背景技術】
【0002】
ストレージ制御装置は、ストレージ装置上に任意のデータを保存する際は「ファイルの作成」を行い、前記データを削除する際には「ファイルの削除」を行う。
【0003】
しかしストレージ制御装置がデータを削除するために「ファイルの削除」を行ったとしても、ストレージ装置のファイルの管理領域だけが削除される。つまりストレージ装置は、該ファイルの実データ領域は消去されずに記録したままとなる。そのためストレージ制御装置が、後から実データ領域に直接アクセスすることで該ファイルの実データを取り出す方法があること一般的に知られている。
【0004】
そこで例えば画像形成装置は、設置状況によって不特定多数の人が利用するため、コピー等で利用したテンポラリデータ等の画像が画像形成装置内に残る事による不安を解消するために「上書き消去」を行う機能がある。
【0005】
例えば、特許文献1においては、HDDに記憶されたテンポラリデータに対して当該ジョブの実行後に実データ領域に実データを上書きすることで、テンポラリデータを消去する消去機能を備えた画像処理装置が開示されている。
【0006】
このファイルのデータ領域に対して、特定パターンのデータ列で上書きして消去する方法を、本実施例においては「上書き消去」と記載する。
【0007】
近年、SSD等の不揮発性の半導体記憶装置を搭載した情報処理装置が増えている。SSDは書き込み寿命を有する。SSDの寿命を延ばすために内部の半導体記憶素子(以下、記憶素子)の寿命を平均的に消耗させる技術であるウェアレベリングの対応は必須である。ウェアレベリングは、ファイルの「上書き消去」を行うがSSDの記憶素子上で同じ場所に書かれる保証がない。
【0008】
つまり一般技術的にSSDは、HDDと異なり、上書き消去を実行しても、元のデータを記憶した場所と違う場所を消去する可能性があり、上書きにより元データが消える保証が無いとされている。そのためSSDを搭載した情報処理装置で上書き消去を実行するとデータが消える保証もないにもかかわらずSSDの書き込み寿命を消費する。このようにSSDを無為に消耗させることを防ぐため、一部の情報処理装置は、SSDを検出すると上書き消去を有効にできなくする装置が知られている。
【先行技術文献】
【特許文献】
【0009】
【発明の概要】
【発明が解決しようとする課題】
【0010】
SSDが搭載された情報処理装置において「上書き消去」を実行しない場合は、SSDの書き込み寿命は減るが、ファイルの削除後も、LBAを直接指定してSSDの全セクタをリードすることで削除したデータを取り出す事が可能となる。
【0011】
一方、SSDが搭載された情報処理装置において「上書き消去」を実行することでデータ消える保証はなく且つSSDの書き込み寿命の消費が増えるが、既知の外部I/Fから全セクタをリードする解析方法においては削除したデータを取り出す事はできなくなる。
【0012】
しかしながらすべてのSSDに対して「上書き消去」の設定を制限しない場合、寿命が少ないSSDが上書き消去によってSSDの寿命を大きく消費すると、情報処理装置の製品寿命よりも早くSSDの寿命が尽きる可能性がある。
【0013】
そのため本発明は、情報処理装置に搭載されたSSDに対応して上書き消去設定の制限を行うことを目的とする。
【課題を解決するための手段】
【0014】
本発明は、不揮発性の半導体記憶装置を有する情報処理装置であって、前記半導体記憶装置に記憶されたデータに基づいてジョブを実行する実行手段と、前記ジョブの実行後に、前記半導体記憶装置に記憶された前記ジョブに対応する前記データに対して異なるデータによる上書き消去を指示する上書き消去機能を設定する設定手段と、前記半導体記憶装置の寿命情報が閾値以上であるか否かを判定する判定手段と、前記半導体記憶装置の寿命情報が閾値以上である場合に前記設定手段において前記上書き消去機能を設定可能にし、前記半導体記憶装置の寿命情報が閾値未満である場合に前記設定手段において前記上書き消去機能を設定不能にする制御手段と、を有することを特徴とする。
【発明の効果】
【0015】
本発明は、情報処理装置に搭載されたSSDに対応して上書き消去設定の制限を行うことが可能である。
【図面の簡単な説明】
【0016】
【
図3】ストレージにデータを書き込む際の詳細説明の図
【
図6】コピージョブ動作と上書き消去のタイムチャート
【
図8】上書き消去の設定画面(
図4)の表示処理フロー
【発明を実施するための形態】
【0017】
添付図面を参照して本発明の各実施例を詳しく説明する。各実施例では情報処理装置の例として画像形成装置を用いて説明する。なお、以下の実施例は特許請求の範囲に係る発明を限定するものではなく、また各実施例で説明されている特徴の組み合わせのすべてが本発明の解決手段に必須のものとは限らない。
【0018】
(実施例1)
〔画像形成装置の構成〕
図1は画像形成装置全体の構成を示すブロック図である。
図1は、画像形成装置8の全体像の一例を示す。画像読み取りエンジンであるスキャナ部2と、画像形成装置全体を制御するコントローラ部1、画像出力エンジンであるプリンタ部3から構成される。以下、各部材を詳細に説明する。
【0019】
コントローラ部1の前面には、ユーザが操作するための操作部4がある。画像の読み取りエンジンであるスキャナ部2、画像の出力エンジンであるプリンタ部3と、ユーザインターフェイスを持ちこれらを統合するコントローラ部1から構成されている。
【0020】
スキャナ部2は、ADF10(Auto Document Feeder)を有する。例えばユーザがADF10に原稿を置き、操作部4からコピー動作を指示する。これにより、スキャナ部2は原稿を逐次読み込んで画像データを生成する。
【0021】
プリンタ部3は、用紙カセット5と、電子写真プロセス6と、排紙トレイ7を有する。プリンタ部3は用紙カセット5から逐次紙を給紙し、電子写真プロセス6にて読み込んだ画像データを複写・定着させ、排紙トレイ上に複製された印刷物が逐次排出され複写が完了する。
【0022】
[プリントの動作概要]
画像形成装置8は、ネットワークを介してPC9から印刷ジョブを受け付けることが出来る。PC9はページ記述言語で記述された印刷ジョブを、コントローラ部1に送信する。印刷ジョブは、印刷設定や印刷データを少なくとも含むジョブである。コントローラ1は受信した印刷データを解析して印刷可能なビットマップ形式に変換する。その後、プリンタ部3は、用紙カセット5から紙を給紙し、電子写真プロセス6で印刷物を生成・定着させて排紙トレイ7に排出を行い、プリント動作が完了する。
【0023】
[本発明の画像形成装置8の詳細な構成]
図2にコントローラ部1の構成を示すブロック図を示す。
【0024】
コントローラ部1は、電源スイッチ26、画像処理回路31、メモリ22、CPU21、LAN23、画像処理回路30、画像処理回路29、不揮発性メモリ25、ストレージ装置24を有する。
【0025】
電源スイッチ26は、画像形成装置8の電源をOFF/ONするためのスイッチである。ストレージ装置24は、画像データなどを記憶することが可能な不揮発性の半導体記憶装置(例えば、SSD)である。不揮発性メモリ25は、上書き消去設定等の設定情報や装置の起動に関するプログラムを記憶する。CPU21は、各部材を制御する制御部である。メモリ22は、CPU21が動作するために必要な情報を一時的に保持する揮発性のメモリである。
【0026】
画像形成装置8の起動時にCPU21は不揮発性メモリ25からブートして、不図示のストレージコントローラを初期化することでストレージ装置24にアクセスすることが可能となる。これにより、画像形成装置8はユーザによって操作可能な状態に起動する。また、CPU21はユーザが操作するための操作部4と、スキャナ部2、プリンタ部3を制御可能である。
【0027】
操作部4はLCD画面にタッチパネルを貼り付けた操作パネル27(表示部)がある。
【0028】
この操作パネル27は、ユーザに情報を表示して通知する役割と、操作可能なボタンのビットマップを表示する。このボタンのビットマップは、ユーザが押下可能であり、適宜状況に応じていろいろな種類のボタンを描画することができる。
【0029】
テンキー33は、物理的に押下可能なボタンで構成され、よく使う数字などのボタンが羅列されている。開始ボタン32は押下されることでジョブを開始するオブジェクトである。操作パネル27の表示状況に関わらず、このボタンを押下することでいつでもジョブを開始する。なお、操作パネル27が、タッチパネルであればテンキー33およびジョブ開始オブジェクトをタッチパネル状に表示してもよい。
【0030】
[コピー動作の概要]
コピーの動作の概要について説明する。ユーザは操作部4上で不図示のコピー機能画面に遷移させ全ての設定を行う。この設定とは、例えば、両面で読み込むか否か等のスキャナ部2に関する設定や、カラーと白黒のどちらで印刷するか、両面と片面のどちらで印刷するか等のプリンタ部3に関する設定である。
【0031】
ユーザが設定を行い、開始ボタン32を押下すると、CPU21はスキャナ部2に対して原稿画像の読み取り指示を出す。読み込まれた画像データは画像処理回路29でスキャナ2が持つ個体特性を取り除き、標準で既定されている色空間に変換される。そうして標準画像形式に変換された画像データはメモリ22に一時保存されたあと適宜ストレージ装置24に保存される。
【0032】
プリンタ部3の準備ができれば、ストレージ装置24から蓄積した画像データをメモリ22に読みだしてプリンタ部3に送る。この時、画像処理回路30はプリンタ部3の特性を考慮して印刷後に良好な画像が出力できるような画像処理かける。
【0033】
このように、スキャンした画像データを逐次ストレージ装置24に保存するというスキャンジョブ、保存した画像を逐次プリンタ部3に印刷指示を出すプリントジョブの連動動作によりコピージョブは実行される。
【0034】
[ネットワーク送信ジョブの動作]
PC9にデータを送る、ネットワーク送信ジョブの動作について説明する。ユーザは、操作部4上で不図示のネットワーク送信機能画面に遷移させ全ての設定を行う。
【0035】
この設定とは、例えば、カラーまたは白黒のどちらでスキャンをするか、両面と片面のどちらで読み込むか等のスキャナ部2に関する設定である。なお、宛先、解像度、OCRの有無、等の、スキャン後に行う画像処理の設定も行う。
【0036】
ユーザが設定を行い、開始ボタン32を押下すると、CPU21はスキャナ部2に対して原稿画像の読み取り指示を出す。読み込まれた画像データは画像処理回路29でスキャナ部2が持つ個体特性を取り除き、標準で既定されている色空間に変換される。そうして標準画像形式に変換された画像データはメモリ22に一時保存されたあと適宜ストレージ装置ストレージ装置24に蓄積されていく。
【0037】
このスキャン処理と並行して、CPU21は、ストレージ装置24から読みだした画像データを画像処理回路31によってPC9で利用するために適切な形式に変換し、メモリ22に一時保存し、LAN23を介してPC9に送信する。
【0038】
この時の画像処理回路29は、プリンタ部3で良好な解像度とPC9の表示解像度に大きな乖離があるため、PC9で利用するために必要な解像度変換や、NCSC等のPC9における標準色空間の変換を行うことになる。
【0039】
[ストレージへのファイル操作と上書き消去]
上述したコピージョブ、プリントジョブ、送信ジョブにおいて、CPU21は、画像データをストレージ装置24に書きこみ、書き込んだ画像データをストレージ装置24から読みこんでジョブに応じた処理を行う。
【0040】
なお、画像データをストレージ装置24に一旦書き込む理由は、電子ソートを実現するためである。例えば、1部の原稿から複数部を複製するコピージョブの場合は、一度の原稿スキャンを行った後、複数部の印刷を行う時に2度目以降はストレージ装置に保存された画像データを読み出してプリントすることで、2度目のスキャンが不要となる。また、例えば、スキャン速度とプリント速度が異なる場合は、全てのスキャン画像をプリント完了するまでストレージ装置に画像データを保存することで、メモリ22の使用容量を少なくすることが可能となる。
【0041】
図3にストレージ装置24に画像データ等の任意の情報を保存する場合の詳細を示す。
【0042】
ストレージ装置24に画像データ806を書き込みする場合には、一般的にファイルシステムを用いる。ファイルシステムは、CPU21によって実行される。
【0043】
ストレージ装置24は、外部I/Fであるセクタ番号(LBAアドレス)を直接指定して画像データを書き込む事が可能である。しかし、データしか保存できないため例えばファイル名のように名前をつけて保存することができないため名前以外の管理が必要である。そこでコンピュータにおいてデータを扱いやすくする仕組みとしてファイルシステムがある。ファイルシステムは、「データ」を「ファイル」として扱うことを可能とする。
【0044】
本実施例についてもファイルシステムを使用する例について述べる。データを保存する際に、保存するデータ自身は実データ802と呼ばれる。ファイルシステムがファイルを管理する際に作り出して付加するデータは管理データ801と呼ばれる。管理データはメタデータと呼ばれる場合もある。
【0045】
ストレージ装置24は、外部I/F経由でデータの読み書きを行うが、一般的に論理アドレス805で保存する場所を指定して書き込む。
図8においてストレージ装置24は、管理データ801をLBA0002、実データ802をLBA0004~0009に保存している。これらのデータは、記憶素子803に保持され、書き込みのために現在寿命が減った場合等に、統計情報804が更新される。
【0046】
CPU21は、この画像データ806を読み込む場合に、画像に対応したファイルの管理データLBA0002を読むと、実データがLBA0004~0009に対応する記憶領域に記憶されていることがわかる。そして、当該LBAを読み込むことで画像データ806を取り出す事が可能となる。
【0047】
CPU21は、この画像データ806を消す場合、通常は画像に対応したファイルの管理データLBA0002だけを消す。LBA0004~0009はファイルシステムが未使用として覚えておき、次回何かを書き込む場合、使用するタイミングで再利用すればよいからである。
【0048】
つまりCPU21がファイルを削除しただけ、つまり管理データ801を消しただけだと、ストレージ装置24の実データがLBA0004~0009に対応する記憶領域に残る。そして、情報を取り出したい第三者が、ストレージ装置24に対して論理アドレス805のLBA0004~0009を直接指定して読み込んだ場合に、画像データ806を取り出すことができてしまう。
【0049】
これを防止するためにCPU21は、ストレージ装置24に消去指示を送信し、実データ802の消去を行う。すなわち管理データ801を削除する前に、CPU21は、消去指示によって実データ802の領域LBA0004~0009に対して、例えば全てゼロを書き込む。これにより、画像データ806はストレージ装置24の外部I/F、論理アドレスLBAを指定して取り出すことができなくなる。本実施例においては、この消去行為をファイルの「上書き消去」と記載する。
【0050】
なお記憶素子803がNANDプロセス等(例えばSSD)の場合には、素子劣化を平均的にするために書き込む物理的箇所を変更するウェアレベリングという技術がある。この技術を用いると上書き消去を行ったとしても記憶素子803に記憶された実データが消えていない場合がある。しかし外部I/Fから実データに紐づくLBAに上書きを行うことで、LBAには別のデータが紐づく。そのためLBA指定によって実データを読みだせなくなくする。つまりストレージ装置24からデータを取り出せないため、本実施例においてはこれも「上書き消去」と呼ぶ。
【0051】
またファイルシステムがファイルを削除した時に、実データ802の保存箇所であるLBA0004~0009にTRIMコマンドで「未使用」を通知する場合がある。これについては「未使用」の通知であり、どのような処理をするのかはストレージ装置24の仕様による。これは本実施例における上書き消去には含めない。
【0052】
また同様にファイルシステムによっては、SecureTRIMコマンドによる消去を実装するものもあるが、これも本実施例の上書き消去には該当しない。
【0053】
図4に画像形成装置8における上書き消去の設定画面を記載する。
【0054】
画像形成装置8のセキュリティ設定にアクセスするためには、ユーザが操作パネル27を操作して管理者モードでログインする必要がある。画像形成装置8の管理者がログイン後、セキュリティ設定階層に移行し、「ジョブセキュリティ設定」ボタンを押下することにより、
図4の上書き消去の設定画面が表示される。
【0055】
図4では、ストレージの上書き消去機能302を有効にするか否かを設定可能である。ユーザが「する」を選ぶと有効になり、「しない」を選ぶと無効になる。
【0056】
ストレージの上書き消去をしないを選択すると、上書き消去を行わす、ファイルを削除するときに管理データ801が保存されているLBA0002だけを消去する。
【0057】
また、ストレージの上書き消去をする(有効)を選択すると、項目311の設定が可能となる。項目311では、上書き消去方法303及び消去タイミング304の選択肢を選択可能である。
【0058】
上書き消去方法として「0データで1回消去」が選ばれた場合には、LBA0004~0009に対してCPU21が0データを1回書き込む。上書き消去方法として「ランダムデータで3回消去」が選ばれた場合には、LBA0004~0009に対してCPU21がランダムデータを3回書き込む。
【0059】
また、消去タイミングとして「ジョブ実行中」が選ばれた場合には、LBA0004~0009を用いてジョブを実行し、ジョブの実行が完了することによって、LBA0004~0009に上書き消去を実行する。
【0060】
例えば、
図4において斜線の設定が選択されている場合、先に説明したLBA0004~0009に対して、ジョブの実行中に、0データを1回書くことにより上書き消去を行う。
【0061】
以上、画像形成装置8における上書き消去について記載した。上書き消去はストレージ装置24に対して、0データで1回消去を行う場合には、通常の消去処理の約2倍、ランダムデータで3回消去する際は約3倍の書き込み操作が行われる。
【0062】
仮にストレージ装置がハードディスクのように書き換えに劣化の無い磁気記憶プロセスだった場合に書き込み量というのは直接ストレージ装置24の寿命に影響はしない。
【0063】
しかしストレージ装置がSSDのように記憶素子だった場合、書き込み回数または消去回数によって劣化が発生してしまう。書き込み量が寿命に対応するということは上書き消去を実行することでストレージ装置24が壊れる時間が短くなることを意味する。裏を返せば、ストレージ装置の容量を十分大きくすることによって、画像形成装置8自体の寿命よりも壊れないように長寿命な組み合わせにすることも可能なのである。
【0064】
しかし容量が大きくなるとコストが増加してしまう。本実施例はこのトレードオフを解決する方法である。
【0065】
具体的には、書き込み量が寿命に対応する半導体記憶素子で構成されたストレージ装置24を装着されていた場合でも、ストレージ装置24の特徴を元に、上書き消去の動作・設定変更可否を切り替えるというものである。
【0066】
[コピージョブにおけるジョブ中消去の抑制]
図5はコピージョブのジョブ実行中における消去処理を説明するフローチャートである。
図5のフローチャートは、コントローラ部1におけるCPU21が行う。
【0067】
図4のステップS401において、ユーザがADF部10に例えば原稿を2枚置いて、操作パネル27に非図指のコピー画面の状態で開始ボタン32が押下されると
図5(a)のコピージョブフローが開始する。なお、
図5のフローチャートにおけるデータの流れと、ストレージへの操作を
図6のタイムチャートに示す。
【0068】
ステップ402においてCPU21は、画像処理回路29の設定を行う。
【0069】
ステップS403において、CPU21はADF部10からスキャナ部2に原稿を読み込ませる。
【0070】
ステップS404において、CPU21は、スキャナ部2にスキャン実行を指示する。スキャナ部2が第1原稿をスキャンすると(502)原稿は光学スキャンされてデジタル画像データに変換される。
【0071】
ステップS405においてリアルタイム画像処理が実行され(503)メモリ22に画像データが書き込まれる(504)。
【0072】
S406においてCPUはストレージ装置24に画像データを書き込むと、ストレージ装置上にファイル1(506)が生成される。メモリ22から画像データが読みだされて(505)、ストレージ装置24のファイル1の実データ部に逐次書かれていく(508)。これで原稿読み込みからストレージへの画像蓄積が完了する。
【0073】
次にストレージに保存されている画像を印刷する処理を実行する。S407においてCPU21は出力バッファであるメモリ22に画像データを読み込む(510)。そして、S408においてCPU21は画像処理回路30の設定を行う。
【0074】
ステップS409においてCPU21は、メモリ22に読み出した画像データをプリンタ部3に印刷するように指示をする。CPU21は、プリンタ部3が動作すると、プリンタ部3からのポリゴン動作信号などに同期して、メモリ22から画像を読み出す(511)。CPU21は、読み出された画像データに画像処理がなされたあと(512)、プリンタ部3に画像データが流れていき印刷されて(513)、画像形成装置8の排紙トレイに排紙される。
【0075】
ステップS410においてCPU21はプリンタ部3による排紙完了を待つ。排紙が完了し、印刷部数が一部だった場合、第一の原稿を読み込んだファイル1(506)のデータは不要となる。
【0076】
S411において、CPU21は
図3で、上書き消去が「ON」(305)に設定されており、かつ、消去タイミングが「ジョブ中」(309)だった場合に、ステップS412遷移する。ステップS412においてCPU21はファイルの上書き消去を実行する。
【0077】
ステップS412の詳細を
図5(b)に示す。上書き消去処理はサブルーチンとなっているため、ステップS412においてS420のフローが実行される。
【0078】
ステップS421において、CPU21はストレージ装置24が書き込みにより寿命を消費するデバイス・または半導体記憶装置を用いたデバイスか否かを判断する。本実施例において、HDDは書き込みにより寿命を消費しない半導体記憶装置を使用しないデバイス、SSDは書き込みにより寿命を消費する半導体記憶装置を使用したデバイス、として記載する。なお、例えば、CPU21は、ストレージ装置24からスマート情報を取得し、スマート情報にディスク回転数などのHDD固有の情報が含まれているか否かによってストレージの種類を判断する。
【0079】
ステップS422においてストレージ装置24がSSDだった場合はストレージ装置のサイズを取得する。ステップS423においてストレージサイズが規定サイズ(閾値)よりも大きいか否かを判断する。ストレージサイズが規定サイズよりも小さく、寿命リスクがある場合はファイルの上書き消去を行なわずにサブルーチンを終了し、ステップS415に遷移する。
【0080】
SSDサイズが規定サイズ以上である場合は、ステップS424に遷移する。ステップS424において、CPU21は、設定された上書き消去方法(303)に従って上書き消去を実行する(514)。
【0081】
設定された上書き消去方法が
図4に示す「0データで1回消去」である場合には、ステップS425に遷移する。ステップS425において、CPU21は、ファイルの先頭(LBAの先頭)からファイルサイズ分だけ0データで1回上書きさせる。(514)。ステップS425を終えると、サブルーチンを終了し、ステップS415に遷移する。
【0082】
設定された上書き消去方法が
図4に示す「ランダムデータで3回消去」である場合には、ステップS426に遷移する。ステップS426において、CPU21は、ファイルの先頭からファイルサイズ分だけランダムデータで3回上書きさせる(514)。ステップS426を終えると、サブルーチンを終了し、ステップS415に遷移する。
【0083】
ステップS415において、次の原稿があるかどうかを確認して、スキャン原稿がある場合は(S415でNo)ADF部から次の原稿を読み込んで今まで説明した事と同様の処理を繰り返す(517)。
【0084】
ステップS415においてスキャン原稿がない場合、言い換えるとすべての原稿のコピーが完了するとステップS416に遷移する。
【0085】
ステップS416において、CPU21は、
図4に示す上書き消去設定(303)が「ON」かつ消去タイミング(304)が「ジョブ後消去」(310)であるか否かを確認する。
図4の「ジョブ後消去」(310)が選択されていた場合は、ステップs417に遷移する。ステップS417において、CPU21は、上書き消去を行う。ステップS417においても
図5(b)に示したフローチャートに基づく上書き消去を行う。なお、ステップS412で上書き消去を行った場合にはステップS417では行わない。S417で上書き消去を行う場合にはステップS412では行わない。
【0086】
ステップS416において、ジョブ後消去が選択されていなかった場合、またはS417において
図5(b)に示すサブルーチンが終了した場合にはステップS418に遷移する。ステップS418において、CPU21は、ストレージ装置24に蓄積された全ファイルである、File1の削除(515)、File2の削除(518)を行い、コピージョブを終了する(S419)。
【0087】
なお、本実施例で採用した上書き消去方法(514)についてだが、本実施例の発明と直接関係しない。そのため代表的な2種類を記載した。本実施例はこの消す回数と消し方を本実施例に限定するものではない。例えば9回消しても構わないし、5種類の消し方を選択できてもかまわない。
【0088】
またSSDの容量についてだが少なくとも2つ存在する。Identify Deviceで取得可能な記録装置が公称する値と、内部の記憶素子の冗長領域を含めたサイズである。SSD自体が信頼性を高めるために、公称値は控えめにしておき、記憶素子を沢山搭載して冗長領域を多く取った信頼性の高い製品も存在する。本実施例の目的はSSDの寿命に余裕があるのかどうかを判断するため、ストレージサイズとして判断する値は、公称値サイズ/内部記憶素子サイズ、どちらを用いても同様の効果を得ることが可能である。
【0089】
またストレージ装置が高級なI/Fに接続されている場合、先のIdentify Deviceにより、デバイス名称、デバイスサイズ等のセルフテストの結果等、いろいろな情報が取得される。デバイスサイズを参照しなくてもデバイス名称から実質デバイスサイズを特定することは可能であるため、デバイス名称によりストレージが大容量か小容量なのかを切り分けることも容易である。つまり、S422を「デバイス名称を取得し、デバイス名称から容量を特定」とすることで、容量が取得できないストレージ装置にも本実施例を適用することが可能となる。
【0090】
なお、
図4の画面で設定された上書き消去設定の記録は不揮発性メモリ25内の上書き消去設定値(28)に保持される。これはストレージ装置24が壊れた場合でも設定値が壊れないように異なるデバイス上に保存されている。
【0091】
次に実施例1の変形例を説明する。実施例1では、上書き消去S420として
図5(b)のフローを説明したがこれに限らない。
図7を用いて上書き消去S420のそのほかの例を説明する。なお、
図5(b)と同様の構成については同じ番号を付して説明を省略する。
【0092】
まず
図7(a)について説明する。
図7(a)では、ステップS904において、ストレージサイズが大容量か小容量かを判定する。ステップS904において、ストレージサイズが大容量であれば、
図5(b)と同様にS424に遷移する。一方、ストレージサイズが小容量であれば、S425に遷移し、0データをファイルサイズ分一回上書き(S907)を行う。
【0093】
このような構成においても、ストレージの容量が小さい場合に3回消去されてしまい、寿命を大きく消費することを抑制することが出来る。
【0094】
次に
図7(b)について説明する。
図7(b)は、ストレージ装置24の統計情報804に記録されている寿命情報により大量書き込みを行わせない方がよいと判断する場合について説明する。つまり現在のストレージ装置の状態の統計情報を元に動的に判断する方法である。またフローS901と酷似しているため差分だけを記載する。
【0095】
【0096】
ステップS421においてストレージ装置24がSSDだった場合、CPU21はステップS910においてストレージ装置24の寿命を取得する。ストレージ装置24の寿命は、ストレージ装置24の統計情報804に記録されている、残り消去可能ブロック数、代替処理済みのブロック数等が該当する。
【0097】
記憶素子は書き込みで寿命を消費すると書いてきたが厳密には消去回数である。NAND等のデバイスは書き込みするために消去を行わなければならない。この消去行為に対して寿命の定義がある。内部をブロック単位で制御しているため消去可能ブロック数、もしくは消去可能サイズ、もしくは、書き込み可能データサイズのような形で、寿命を取得することが可能である。
【0098】
また記憶素子が劣化し、読み込みに多くのリトライが必要になってきた時に、そのブロックを切り離して使用しないようにする処理を行う。この切り離されたブロック数が代替処理済みのブロック数として統計情報804から取得可能である。
【0099】
代替処理を行うことで記憶素子803の容量が減ることになるが、ストレージ装置24の公証値よりも大きい場合はストレージ装置24として正常という判断になる。代替処理済みセクタが一定量以上存在する場合、同一半導体製造プロセスで作られている記憶素子自身の信頼性が落ちていると判断する。
【0100】
ステップS910においてストレージ装置24の寿命情報を取得し、ステップS911においてCPU21が寿命に余裕が有るか否かを判断する。具体的には、寿命情報と予め記憶していた閾値を比較する。閾値以上または閾値より寿命が多い場合(余裕あり)にはステップS424に遷移する。閾値以下または閾値より寿命が少ない場合(余裕なし)にはステップS425に遷移する。つまり、ステップS911において、寿命に余裕が無いと判断すると、上書き消去方法を参照せずに、「0データを1回書き込む」を強制的に選択して上書き消去処理を終了する。
【0101】
なお、S425においてに、0データを1回書くという選択をしたが、0データでなくてもよい。複数回上書きする事が寿命を消費させる行為であるため、複数回上書きする設定時に、強制的に1度の書き込みに変更すれば同様の効果となる。
【0102】
また、ステップS911において、ストレージ装置24の寿命に余裕がないと判断されたら、
図5(B)のS423における小容量と同じように上書き消去を行わないでサブルーチンを終了してもよい。その場合を
図7(c)に示す。
【0103】
図7(c)では、ステップS914において、ストレージの寿命に溶融がないと判断されると、フローを終了する。特に、ストレージ装置24が自ら寿命間際を通知するSmart Return StatusがEnableになっている時は、すぐにストレージ装置を交換した方がよく、上書き消去を実行しないほうがよい。また、ストレージデ装置の交換を促すために、例えば、SSDの交換要望メッセージを出してもよい。
【0104】
図7(b)のフローチャートによれば、寿命の少ないSSD装着に対して、一度の消去だけを行う、もしくは消去を行わないという、動作の切り分けができるようになる。
【0105】
ステップS406のように上書き消去回数が多く設定される背景は例えば、以下のようなものがある。
・過去機から消去回数のパラメータが引き継がれて多くの消去回数が設定された場合
・遠隔から複数の画像形成装置8に対してネットワーク経由で消去回数が多く設定された場合
・HDDで動作させていた状態からSSDに交換された場合
このように意図せずに多くの上書き消去回数が設定された場合についても無為にSSDの寿命を消費することがなくなる。
【0106】
以上、実施例1においては、所定の条件の代表例について記載したが、全パターンでは以下の組み合わせの制御を適宜選択実装することが可能となる。(4x2の12パターン制御可能)SSDの寿命リスク(SSDの容量が少ない、書き込み量が多い)のバリエーションは全部で4つとなる。以下で各バリエーションを説明する。
A.SSDの「公称値容量」が大容量・小容量であることにより、上書き消去処理を変更する。
【0107】
「公称値容量」とは、ストレージを認識する過程において、ストレージより取得可能な記憶容量である。例えば、IdentifyDevice等で取得可能なストレージサイズ等が該当する。ストレージサイズは、LBAアドレスの対応上限、これは最大セクタ数と同等なものが取得可能である。例えば300GBのSSDの場合これを計算するとおおよそ300GBを少し超えたサイズになる。この「公称値容量」が規定値よりも大きい/小さいが規定値よりも大きい/小さい時に本実施例を適用することにより、上書き消去を有効にしてもSSDの早期故障を防止することが可能、またはSSDの早期故障を回避することが可能となる。
B.SSDの「記憶素子(803)の容量」が大容量・小容量であることにより、上書き消去処理を変更する。
【0108】
「記憶素子(803)の容量」は、半導体記憶素子のスペアブロックを含む容量である。SSDは公称値Aを下回ると製品スペックを満たさなくなる。また書き込みにより記憶素子が劣化して使えなくなる場合もある。そのためSSDは内部にスペアブロックを用意しておき、弱って使えないと判断したブロックを使用しないように制御し、スペアに置き換える事で公称値Aを下回らないように制御する。つまり、寿命という観点ではスペアブロックが多ければ多いほどSSDの寿命を延ばすことが可能であることがわかる。
【0109】
このスペアブロックは2つの用途で用意される。一つはサーバ用途などの大量書き込み時の信頼性を上げるために製品コストを高くしてでも故意にスペアを沢山搭載している。
【0110】
もう一つはNAND記憶素子の製造上最も安価な容量よりも公称値が小さい製品において、スペアブロックを意図的にたくさん搭載する。例えば1TBの記憶素子が最も安価だとする。そこで300GBの安価なSSD製品ラインナップ上必要と判断した時に、記憶素子は1TBでも、公称値Aが300GBとなるようにクリッピングして製品化する場合である。この700GBの余剰領域はスペアブロックに充てられる。このようにSSDは公称値=記憶素子量ではない。
【0111】
これらのスペアブロック数はIdentifyDeviceCommand等では取得不能で、SMART-CommandやベンダユニークCommandで取得可能である。この「スペアブロック」が規定値よりも大きい/小さい、または、「公称値Aとスペアブロック数の合計」が規定値よりも大きい/小さい時に本実施例を適用する。本実施例を適用することにより、上書き消去を有効にしてもSSDの早期故障を防止することが可能、またはSSDの早期故障を回避することが可能となる。
C.「SSDの統計情報(804)」の寿命を予想して余命が多いか少ないかにより、上書き消去処理を変更する。
【0112】
「SSDの統計情報(804)」は、SMART-CommandやベンダやベンダユニークCommandで取得可能な「Eraseカウント」や「スペアブロック数」、等の情報である。
【0113】
「Eraseカウント」はNAND記憶素子が消去可能な設計回数である場合が多い。本実施例で「書き込みで寿命を消費する」という表記があるが厳密には「書き込み時に消去を行ってから書き込みを行う、この消去が寿命を消費する」である。
【0114】
例えばNAND素子の消去が3000回の規定がある場合、使用していくうちに「Eraseカウント」が徐々に増加していく。例えば「Eraseカウント」が1500回の場合は、設計値で50%の寿命に達しているという判断を行う事が可能である。このように回数がSmart-Commandから取得できて自分で寿命を算出する場合と、「Eraseカウント」から算出される寿命の%が直接Smart-Commandで取得可能な場合もある。この数値はおおよそ設計値寿命となる。
【0115】
「スペアブロック数」はBで説明した。先に述べたウェアレベリングによりNAND記憶素子の消去回数は平均的に制御されNAND素子の寿命は平均的に消耗していく。つまり、スペアブロックがある一定量よりも多い場合は、他のNAND記憶素子も酷使されて残寿命が少ない状態になっていることが予想できる。スペアブロックがゼロになり、記憶容量が公称値Aを下回った時点で故障となる。この数はおおよそ現在の実寿命となる。
【0116】
この理論値寿命もしくは実寿命が規定値よりも大きい/小さい時に本実施例を適用することにより、上書き消去を有効にしてもSSDの早期故障を防止することが可能、またはSSDの早期故障を回避することが可能となる。
D.「SSDの名称」から得られたストレージ容量が大容量・小容量により、上書き消去処理を変更する。
【0117】
「SSDの名称」は、IdentifyDevice等でデバイスの名称を取得することが可能である。またSSDではなく、安価なeMMC等の不揮発性メモリ場合は高度なデータ取得コマンドに対応していない場合もあり、ストレージ装置24から動的に情報を収集して本実施例を適用することができない場合がある。
【0118】
画像形成装置8は組み込みデバイスであるため、採用要件を満たす不揮発性メモリもしくはストレージ装置を寿命や耐久性などを評価した上で採用している。そのため採用する時点でそのストレージ装置24が画像形成装置8よりどの程度の寿命余裕があるのかもわかっている。
【0119】
例えば、そのストレージ装置24の、チップ名称、チップID、デバイスID、ベンダID等、CPU21がストレージ装置24が何者であるかを知るためのいわゆる「名称」がわかれば現在装着されているストレージ装置24の寿命がわかる。
【0120】
この「名称」を参照して特定の名称の時に本実施例を適用することにより、上書き消去を有効にしてもSSDの早期故障を防止することが可能、またはSSDの早期故障を回避することが可能となる。
【0121】
なお本実施例の構成は書き込みにより寿命を消費するデバイスであれば適用可能である。例えばHDDであっても内部に半導体記憶装置を一時キャッシュとして有するものは、半導体デバイス部が劣化を行う。このような場合HDDの型番により寿命消費デバイスか否かを判定することができ、本発明を適用することが可能となる。
【0122】
(実施例2)
実施例1ではジョブ動作時・ジョブ動作後に上書き消去を抑制する方法について述べてきた。実施例2では上書き消去の設定画面(
図4)の画面操作による上書き消去設定の抑制方法について述べる。
【0123】
図8に上書き消去の設定画面(
図4)の表示処理フローを記載する。
【0124】
ユーザが操作パネル27を操作し、上書き消去設定の設定を行うときに
図4の画面が表示される。
【0125】
このときCPU21はS601のフローチャートを実行することで、上書き消去設定の設定画面(
図4)を操作パネル27に描画する。
【0126】
ステップS602においてCPU21は、
図4の操作パネル27にウインドウを新規作成し、ウインドウタイトルを描画する。
【0127】
ステップS603において、「ストレージの完全消去の上書き消去機能302」を描画し、現在設定されている上書き消去設定値を不揮発性メモリ25から読み込んで、「する」のボタン、「しない」のボタンを生成する。
【0128】
ステップS604において、ストレージ装置24がHDDかSSDかを確認する。
【0129】
ステップS604においてストレージ装置24がHDDである場合には、上書き消去フィールドの描画を終了して次のフィールド表示に行く。
【0130】
ステップS608において、CPU21は上書き消去設定値を読み込む。ステップS609において、上書き消去設定として「する」が設定されている場合に、ステップS610に遷移する。ステップS610においてCPU21は吹き出し311の画面に描画する。
【0131】
ステップS611において、CPU21は、「上書き消去方法」303を画面に描画し、「0データで1回消去」ボタン307と「ランダム3回消去」ボタン308を生成する。ステップS612において、現在の設定を読み込む。ステップS613において、選択されているボタンを網掛けする。
【0132】
ステップS614において同様に「消去タイミング」304を画面に描画し、「ジョブ中消去」309と「ジョブ後消去」310ボタンを生成する。そしてステップS615において、現在の設定を読み込む。ステップS616において、選択されているボタンを網掛けする。
【0133】
なお上書き消去設定画面は、上書き消去を「する」ボタン305に設定してある場合に、さらにどのようにいつ消すかという詳細仕様を吹き出し311でさらに表示する例を示したがこれに限らない。
【0134】
ステップS604に戻る。ステップS604において、CPU21はストレージ装置24がSSDだった場合、ステップS605に遷移する。ステップS605において、ストレージ装置24から、ストレージサイズを取得し、サイズが十分大容量だった場合はステップS608に遷移する。以降、先に説明したHDDの場合と同様に制御する。なお、HDDの場合と同じということは、ユーザが「する」ボタン305を選択することが可能であり、さらに吹き出し311で全ての設定項目を選択可能な事を意味する。
【0135】
ステップS605においてSSDが小容量だった場合には、ステップS606に遷移する。ステップS606においてCPU21は、上書き消去設定値を強制的に「しない」に変更して、上書き消去の変更ボタンである「する」ボタン305及び「しない」ボタン306を変更不能に変更する。
【0136】
SSDが小容量の場合、
図9に示す画面となる。
図9の画面は上書き消去が「しない」に表示されたまま何も変更できない。このように設定が制限された状態において1001は設定不能であり、上書き消去設定をONにすることはできないようになっている。なお、設定不能にする際は、薄く表示してボタンが押せないようにする例を示したがこれに限らない。
【0137】
上記
図8の表示処理フローは、ストレージサイズが大容量か小容量かによって、上書き消去機能302の設定を可能にするか否かを制御する方法を説明した。しかしながら、前述したように寿命によって制御してもよい。
【0138】
さらに、上書き消去機能302の設定を可能にするか否かについて説明したが、
図7のS425とS426のように制御してもよい。具体的には、例えば、SSDに寿命リスクがあるときに、上書き消去「する」ボタン305と「しない」ボタン306は操作可能にし、上書き消去方法303の「ランダム3回消去」308を押せなくする。このようにすることでSSDの寿命リスク発生時やSSDの容量が小容量の時に1回消去(307)だけしか選択できないようにすることが可能である。
【0139】
以上、実施例2においては、いくつかの代表例について記載したが、全パターンでは以下の組み合わせの制御を適宜選択実装することが可能となる。
・SSDの上書き消去の制御のバリエーションは4つとなる
A.SSDの公称値容量が大容量・小容量により、「画面の表示及び制御を抑制する」
B.SSDの記憶素子803の容量が大容量・小容量により、「画面の表示及び制御を抑制する」
C.SSDの統計情報(804)の寿命を予想して余命が多いか少ないかにより、「画面の表示及び制御を抑制する」
D.SSDの名称から得られたストレージ容量が大容量・小容量により、「画面の表示及び制御を抑制する」
・「画面の表示及び制御を抑制する」バリエーションは2つとなる
1.「しない」ボタン306を自動選択して表示、「する」ボタン305を押下できないように制御する
2.「0データで1回消去」307を自動選択して表示、「ランダム3回消去」308を押下できないように抑制する
なおに、実施例2においては、
図4の上書き消去の設定画面を開かなければ、上書き消去設定を「しない」に変更されない。そこで、画像形成装置8が起動する際に上書き消去設定(28)の更新処理を行ってもよい。
【0140】
図10に画像形成装置8の起動シーケンスを記載する。
【0141】
電源スイッチ26がONになると、CPU21はS701のフローを実行する。
【0142】
ステップS702においてCPU21はまず操作部4の初期化を行う。操作パネル27に「起動している」旨の表示を行う。
【0143】
ステップS703においてCPU21は、スキャナ部2の電源をONにする。また、画像処理回路29の初期化を行う。
【0144】
ステップS704においてCPU21は、プリンタ部3の電源をONにする。また、画像処理回路30の初期化を行う。ステップS705において、ネットワーク4の初期化を行う。
【0145】
CPU21は、周辺回路の初期化が完了したらステップS711において、ストレージ装置24のサイズを取得する。ステップS711において、ストレージ装置24がHDDであればS710に遷移する。ストレージ装置21がSSDであれば、ステップS706に遷移する。ステップS706のストレージサイズが大容量であればステップS710に遷移する。ストレージサイズが小容量であればステップS707に遷移する。ステップS707において、不揮発性メモリ25から上書き消去設定値を読み込む。
【0146】
ステップS708において、CPU21は、上書き消去設定値を「しない」に変更する。ステップS709においてCPU21は、上書き消去設定値を不揮発性メモリ25に保存する。そして、ステップS710においてCPU21は、操作パネル27に起動完了画面を表示して起動を完了する。
【0147】
このようにCPU21は、画像形成装置の起動時に、接続されているストレージデバイスでは許容できない上書き消去設定28が設定されている場合にストレージ装置で許容可能な値に修正することができる。
【0148】
例えば、今までストレージ装置24にHDDが装着されていて3回消去の設定がなされている状態だったとする。HDDの内容がSSDに複製されて取り換えられた場合、次回起動時に許容可能な設定値に変更することが可能である。
【0149】
(その他の実施形態)
以上、本発明の様々な例と実施形態を示して説明したが、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるものではない。
【0150】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0151】
21 CPU
25 不揮発性メモリ
27 操作パネル