(57)【特許請求の範囲】
【請求項１】
フラッシュメモリを備える情報処理装置であって、
前記フラッシュメモリに書き込むデータのデータサイズを確認する確認手段と、
前記確認手段により確認されたデータサイズが所定値より大きい場合、前記フラッシュメモリに前記データを書き込むための第１の書き込みコマンドを設定し、前記確認手段により確認されたデータサイズが前記所定値以下である場合、前記フラッシュメモリに前記データを書き込むための第２の書き込みコマンドを設定する設定手段と、
前記確認手段により確認されたデータサイズが前記所定値より大きい場合、前記設定手段によって設定された第１の書き込みコマンドに従って、前記データを前記フラッシュメモリに書き込む第１の処理、及び、前記フラッシュメモリに書き込まれた不要データを前記フラッシュメモリから消去する第２の処理を行い、前記確認手段により確認されたデータサイズが前記所定値以下である場合、前記設定手段によって設定された前記第２の書き込みコマンドに従って、前記第１の処理は行うが、前記第２の処理を行わないようにする制御手段とを有することを特徴とする情報処理装置。
【請求項２】
データサイズが前記所定値以下である残留データを前記フラッシュメモリから消去する消去手段をさらに備え、
前記情報処理装置のシャットダウン前に前記残留データが前記フラッシュメモリに存在するとき、当該シャットダウン時に前記消去手段は前記残留データを消去することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
データサイズが前記所定値以下である残留データを前記フラッシュメモリから消去する消去手段をさらに備え、
前記情報処理装置がアイドル状態になる前に前記残留データが前記フラッシュメモリに存在するとき、前記情報処理装置がアイドル状態になったとき、前記消去手段は前記残留データを消去することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記データが消去対象のデータであるか否か判断する判断手段を更に有し、
前記制御手段は、前記確認手段により確認されたデータサイズが前記所定値より小さい場合であっても、前記判断手段により前記データが前記消去対象のデータであると判断された場合には、前記第１の処理及び前記第２の処理を行うようにすることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第１の書き込みコマンドは、所定のフラグが設定された書き込みコマンドであり、
前記第２の書き込みコマンドは、前記所定のフラグが設定されていない書き込みコマンドであり、
前記制御手段は、前記所定のフラグが、前記ストレージ制御部から受信された書き込みコマンドに設定されているか否かを決定することを特徴とする請求項１記載の情報処理装置。
【請求項６】
前記確認手段によって、前記データサイズが前記所定値以下であると確認され、前記判断手段によって、前記データが消去対象のデータであると判断された場合、ダミーデータが、前記フラッシュメモリに書き込むために、前記データに付加されることを特徴とする請求項４記載の情報処理装置。
【請求項７】
フラッシュメモリを備える情報処理装置の制御方法であって、
前記フラッシュメモリに書き込むデータのデータサイズを確認する確認ステップと、
前記確認ステップにより確認されたデータサイズが所定値より大きい場合、前記フラッシュメモリに前記データを書き込むための第１の書き込みコマンドを設定し、前記確認ステップにより確認されたデータサイズが前記所定値以下である場合、前記フラッシュメモリに前記データを書き込むための第２の書き込みコマンドを設定する設定ステップと、
前記確認ステップにより確認されたデータサイズが前記所定値より大きい場合、前記設定ステップによって設定された第１の書き込みコマンドに従って、前記データを前記フラッシュメモリに書き込む第１の処理、及び、前記フラッシュメモリに書き込まれた不要データを前記フラッシュメモリから消去する第２の処理を行い、前記確認ステップにより確認されたデータサイズが前記所定値以下である場合、前記設定ステップによって設定された前記第２の書き込みコマンドに従って、前記第１の処理は行うが、前記第２の処理を行わないようにする制御ステップと、を有することを特徴とする情報処理装置の制御方法。
【請求項８】
フラッシュメモリを備える情報処理装置の制御方法をコンピュータに実行させるプログラムであって、
前記情報処理装置の制御方法は、
前記フラッシュメモリに書き込むデータのデータサイズを確認する確認ステップと、
前記確認ステップにより確認されたデータサイズが所定値より大きい場合、前記フラッシュメモリに前記データを書き込むための第１の書き込みコマンドを設定し、前記確認ステップにより確認されたデータサイズが前記所定値以下である場合、前記フラッシュメモリに前記データを書き込むための第２の書き込みコマンドを設定する設定ステップと、
前記確認ステップにより確認されたデータサイズが前記所定値より大きい場合、前記設定ステップによって設定された第１の書き込みコマンドに従って、前記データを前記フラッシュメモリに書き込む第１の処理、及び、前記フラッシュメモリに書き込まれた不要データを前記フラッシュメモリから消去する第２の処理を行い、前記確認ステップにより確認されたデータサイズが前記所定値以下である場合、前記設定ステップによって設定された前記第２の書き込みコマンドに従って、前記第１の処理は行うが、前記第２の処理を行わないようにする制御ステップと、を有することを特徴とするプログラム。
【請求項９】
請求項８記載のプログラムを格納することを特徴とするコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリを備える情報処理装置、その制御方法及びプログラム並びに記憶媒体に関する。
【背景技術】
【０００２】
一般に、画像形成装置にはハードディスクドライブ（ＨＤＤ）が搭載され、ＨＤＤにプログラムや画像データを格納するようにしている。
【０００３】
近年、フラッシュメモリを有する半導体ディスク（以下ＳＳＤと呼ぶ）の大容量化および低価格化が進み、モバイルＰＣ（パソコン）を中心として急速にＳＳＤの普及が進んでいる。ＳＳＤはＨＤＤと比べて高速なランダムアクセスが可能であるばかりでなく、低消費電力、高い耐衝撃性、軽量、および省スペースという利点がある。
【０００４】
特に、システム起動の際にＨＤＤにおいて必要となるスピンアップ等の初期動作がＳＳＤでは不要であり、高速なデータ転送と相まって起動時間が大幅に短縮する。さらに、ＳＳＤには衝撃によって破損しやすいディスクの駆動部分が存在しないので、ＳＳＤは耐衝撃性に優れるばかりでなく耐熱性にも優れている。このため、ＳＳＤは画像形成装置のストレージデバイスとしても注目されている。
【０００５】
但し、ＳＳＤに搭載される記憶デバイスであるフラッシュメモリには書き込み可能回数に上限がある。例えば、ＳＬＣ（Ｓｉｎｇｌｅ  Ｌｅｖｅｌ  Ｃｅｌｌ）での書き込み可能回数は約１０万回であり、ＭＬＣ（Ｍｕｌｔｉｐｌｅ  Ｌｅｖｅｌ  Ｃｅｌｌ）での書き込み可能回数は約１万回である。さらに、フラッシュメモリの製造プロセスの微細化に起因して、フラッシュメモリにおける書き換え可能回数は減少する傾向にある。
【０００６】
フラッシュメモリにおける書き込み可能回数の制限に対処するため、ＳＳＤに搭載されたフラッシュメモリコントローラは、フラッシュメモリにおいて同一の領域に対する書き込みの頻度が集中しないように、書き込み先の領域を平均に分散させている。これによって、フラッシュメモリ、つまり、ストレージデバイスの寿命を長くするようにしている。この技術はウェアレベリングと呼ばれている。
【０００７】
一方、画像データなどのデータに対するセキュリティー確保の要求、そしてプライバシーの保護に対する要求は非常に高く、画像形成装置においてもストレージに記録されたスプールデータおよび保存データを完全に消去可能であることが要求されている。
【０００８】
ＨＤＤでは、消去対象データが記録された領域にダミーデータを複数回上書きすることによって残留磁気を除去して消去対象データの完全消去を行っている（特許文献１及び２参照）。
【０００９】
ＳＳＤにおいては、ＨＤＤとは異なり１回の書き換えで消去対象データを完全に消去することが可能であるが、ウェアレベリングに起因して通常の書き込み処理では消去対象データを直接書き換えられず、消去対象データを完全に消去するためには特別な書き込み処理を行う必要がある。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００４−１５３５１６号公報
【特許文献２】特開２００６−２３８５４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ところで、フラッシュメモリにおいてはその特性上、データの消去は所定のブロック単位でしか行うことができない。よって、完全消去に対処するための特別の書き込み処理では、書き込むデータのサイズがフラッシュメモリのブロックサイズより小さいと、データ消去の際のオーバヘッドに起因してパフォーマンスが著しく低下するという課題がある。
【００１２】
画像形成装置で用いられるオペレーションシステムによって、画像データのようにフラッシュメモリのブロックサイズより十分大きいサイズのデータがフラッシュメモリに書き込まれると共にブロックサイズより小さい、例えば８Ｋバイト以下のサイズのファイルシステムに関する管理情報が頻繁にフラッシュメモリに書き込まれ、全てのデータの書き込みを完全消去モードで行うと、深刻なパフォーマンスダウンとなってしまう。
【００１３】
また、フラッシュメモリの製造プロセスの微細化により、今後リリースされるフラッシュメモリはページサイズが大容量化されるためこれに伴いブロックサイズも大容量化される。つまり、従来のフラッシュメモリに比べて、パフォーマンスダウンとなるブロックサイズを下回るデータ書き込みとなる状況がより増加するという課題がある。
【００１４】
また、ストレージの高速化及び大容量化の為に複数のフラッシュメモリを並列化した構成をとる事があるが、この場合もフラッシュメモリの並列化により仮想的にブロックサイズが大きくなるので前述と同様の課題がある。
【００１５】
これらの問題を回避するには書き込むデータの種類（例えば画像データや管理情報等）を精度良く特定して完全消去対応の書き込み処理を行うデータを絞り込む必要がある。
【００１６】
しかしながら、画像形成装置で用いられるＬＩＮＵＸ(登録商標)等の汎用オペレーションシステムはデータ書き込み時に当該データの種類を判別する事が出来ないという課題もある。
【００１７】
加えて、完全消去モードでの書き込み処理はＳＳＤに特化した処理であるので、当該書き込み処理のための書き込み命令も専用のものとなる。よって、この書き込み処理をサポートしていないＨＤＤのようなストレージデバイスに上記の書き込み命令が発行されると、データの書き込みを行うことができずにハングアップしてしまうという課題がある。
【００１８】
本発明の目的は、データ消去の際のパフォーマンスの低下を防止することができる情報処理装置、その制御方法及びプログラム並びに記憶媒体を提供することにある。
【００１９】
また、本発明の目的は、データの書き込みが行えずにハングアップが生じる事態を防止することのできる情報処理装置、その制御方法及びプログラム並びに記憶媒体を提供することにある。
【課題を解決するための手段】
【００２０】
上記目的を達成するために、本発明に係る情報処理装置は、フラッシュメモリを備える情報処理装置であって、前記フラッシュメモリに書き込むデータのデータサイズを確認する確認手段と、前記確認手段により確認されたデータサイズが所定値より大きい場合、前記フラッシュメモリに前記データを書き込むための第１の書き込みコマンドを設定し、前記確認手段により確認されたデータサイズが前記所定値以下である場合、前記フラッシュメモリに前記データを書き込むための第２の書き込みコマンドを設定する設定手段と、前記確認手段により確認されたデータサイズが前記所定値より大きい場合、前記設定手段によって設定された第１の書き込みコマンドに従って、前記データを前記フラッシュメモリに書き込む第１の処理、及び、前記フラッシュメモリに書き込まれた不要データを前記フラッシュメモリから消去する第２の処理を行い、前記確認手段により確認されたデータサイズが前記所定値以下である場合、前記設定手段によって設定された前記第２の書き込みコマンドに従って、前記第１の処理は行うが、前記第２の処理を行わないようにする制御手段とを有することを特徴とする。
【００２１】
また、本発明に係る情報処理装置の制御方法は、フラッシュメモリを備える情報処理装置の制御方法であって、前記フラッシュメモリに書き込むデータのデータサイズを確認する確認ステップと、前記確認ステップにより確認されたデータサイズが所定値より大きい場合、前記フラッシュメモリに前記データを書き込むための第１の書き込みコマンドを設定し、前記確認ステップにより確認されたデータサイズが前記所定値以下である場合、前記フラッシュメモリに前記データを書き込むための第２の書き込みコマンドを設定する設定ステップと、前記確認ステップにより確認されたデータサイズが前記所定値より大きい場合、前記設定ステップによって設定された第１の書き込みコマンドに従って、前記データを前記フラッシュメモリに書き込む第１の処理、及び、前記フラッシュメモリに書き込まれた不要データを前記フラッシュメモリから消去する第２の処理を行い、前記確認ステップにより確認されたデータサイズが前記所定値以下である場合、前記設定ステップによって設定された前記第２の書き込みコマンドに従って、前記第１の処理は行うが、前記第２の処理を行わないようにする制御ステップと、を有することを特徴とする。
【００２２】
また、本発明に係るプログラムは、フラッシュメモリを備える情報処理装置の制御方法をコンピュータに実行させるプログラムであって、前記情報処理装置の制御方法は、前記フラッシュメモリに書き込むデータのデータサイズを確認する確認ステップと、前記確認ステップにより確認されたデータサイズが所定値より大きい場合、前記フラッシュメモリに前記データを書き込むための第１の書き込みコマンドを設定し、前記確認ステップにより確認されたデータサイズが前記所定値以下である場合、前記フラッシュメモリに前記データを書き込むための第２の書き込みコマンドを設定する設定ステップと、前記確認ステップにより確認されたデータサイズが前記所定値より大きい場合、前記設定ステップによって設定された第１の書き込みコマンドに従って、前記データを前記フラッシュメモリに書き込む第１の処理、及び、前記フラッシュメモリに書き込まれた不要データを前記フラッシュメモリから消去する第２の処理を行い、前記確認ステップにより確認されたデータサイズが前記所定値以下である場合、前記設定ステップによって設定された前記第２の書き込みコマンドに従って、前記第１の処理は行うが、前記第２の処理を行わないようにする制御ステップと、を有することを特徴とする。
【００２３】
また、本発明に係る記憶媒体は、コンピュータで読み取り可能な記憶媒体であって、請求項８記載のプログラムを格納することを特徴とする。
【発明の効果】
【００２４】
本発明によれば、データ消去の際のパフォーマンスの低下を防止することができるばかりでなく、データの書き込みが行えずにハングアップが生じる事態を防止することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施の形態によるメモリ制御装置が用いられた画像形成システム制御系の構成を示すブロック図である。
【図２】画像形成システム制御系が有するメインコントローラの構成の一例を示すブロック図である。
【図３】画像形成システムの画像形成装置が有する操作部の一例を示す図である。
【図４】メインコントローラのＳＳＤの内部構成の一例を示すブロック図である。
【図５】ＳＳＤに対してデータ書き込みを行う際の動的な切り替え制御の手順を説明するためのフローチャートである。
【図６】図５に示す切り替え制御が行われる際のＳＳＤにおける切り替え制御の手順を説明するためのフローチャートである。
【図７】図１に示す画像形成システム制御系がシャットダウンする際に行われるＳＳＤの未使用ブロック内のデータの一括消去処理の手順を説明するためのフローチャートである。
【図８】画像形成システム制御系がアイドル状態である場合に行われるＳＳＤの未使用ブロック内のデータの一括消去処理の手順を説明するためのフローチャートである。
【図９】図５に示す切り替え制御における書き込み処理切り替え条件に更なる切り替え条件としてデータのファイル情報を追加した際に行われる切り替え制御の手順を説明するためのフローチャートである。
【図１０】図５に示す切り替え制御における書き込み処理切り替え条件に更なる切り替え条件としてデータ書き込み先論理アドレスを追加した際に行われる切り替え制御の手順を説明するためのフローチャートである。
【図１１】画像形成システムの構成例を示す概略図である。
【発明を実施するための形態】
【００２８】
以下、本発明の実施の形態を、図面を参照しながら詳述する。
【００２９】
図１は、本発明の実施の形態によるメモリ制御装置が用いられた画像形成システム制御系の構成を示すブロック図である。図１１は、画像形成システムの構成例を示す概略図である。
【００３０】
画像形成システムは公知であり、以下簡略に説明する。図１１に示すように、画像形成システムは、画像形成装置１０、折り装置４０、製本装置５０およびフィニッシャ６０を含み、画像形成装置１０に搭載された図１の制御系の制御下で動作する。
【００３１】
画像形成装置１０は、原稿給送装置１００が搭載されたイメージリーダ２００とプリンタ３００と操作部８００を備えている。原稿給送装置１００の原稿トレイにセットされた原稿は、プラテンガラス１０２上へ１枚ずつ搬送され、原稿画像がイメージリーダ２００により読み取られる。すなわち、プラテンガラス１０２に沿って原稿を搬送しながら、所定位置に保持されたスキャナユニット１０４により原稿画像が読み取られる。或いは、プラテンガラス１０２上の読み取り位置に原稿を停止させた状態で、スキャナユニット１０４をプラテンガラス１０２に沿って移動させることにより原稿画像を読み取る。ユーザが原稿給送装置１００を用いずにプラテンガラス１０２上に原稿を載置した場合、スキャナユニット１０４をプラテンガラス１０２に沿って移動させることにより画像読取りを行うことができる。
【００３２】
画像読み取り時、スキャナユニット１０４のランプ光で原稿が照射され、原稿からの反射光がミラー等を介してイメージセンサ１０９の撮像面に結像する。イメージセンサ１０９は原稿画像を読み取り、読み取った原稿画像を画像データに変換してプリンタ３００の露光制御部１１０に出力する。画像読み取り後、原稿は排出トレイ１１２に排出される。
【００３３】
露光制御部１１０は、画像データに基づきレーザ光を変調する。レーザ光はポリゴンミラーを介して感光ドラム１１１に照射され、これにより感光ドラム１１１に静電潜像が形成され、現像器１１３によって現像剤像に可視化される。レーザ光の照射と同期してカセット１１４または１１５から用紙が給紙され、感光ドラム１１１と転写部１１６との間に搬送される。そして、感光ドラム１１１上の現像剤像が転写部１１６により用紙に転写され、定着部１１７により用紙に定着され、用紙がプリンタ３００から排出される。
【００３４】
プリンタ３００から排出された用紙は、必要に応じて、折り装置４０、製本装置５０またはフィニッシャ装置６０に送られ、後処理が行われる。
【００３５】
画像形成装置１０は手差し印刷や両面印刷を行うことができる。符号１２４，１２５は両面印刷用の搬送パスおよび手差し印刷用の給紙部を示す。
【００３６】
図１を参照すると、画像形成システム制御系は、画像形成装置１０を制御するメインコントローラ４００を有している。メインコントローラ４００には、原稿給送装置制御部１０１、イメージリーダ制御部２０１、プリンタ制御部３０１（プリント手段）、折り装置制御部４１、製本装置制御部５１、フィニッシャ制御部６１、および操作部８００が接続されている。さらに、メインコントローラ４００は外部インタフェース（Ｉ／Ｆ）４５１によって外部バス４５２に接続され、外部バス４５２には外部コンピュータ４５３が接続されている。
【００３７】
メインコントローラ４００は、操作部８００又は外部コンピュータ４５３から与えられた指示に基づいて、原稿給送装置制御部１０１およびイメージリーダ制御部２０１を制御する。そして、原稿給送制御部１０１は原稿給送装置１００を制御して、原稿を読み取り位置に給送する。また、イメージリーダ制御部２０１はイメージリーダ２００を制御して原稿画像を読み取って画像データを得る。プリンタ制御部３０１はメインコントローラ４００の制御下でプリンタ３００を制御して、画像データに応じて、例えば、電子写真プロセスによって用紙に画像形成を行う。
【００３８】
そして、折り装置制御部４１、製本装置制御部５１およびフィニッシャ制御部６１はメインコントローラ４００の制御下で、それぞれ折り装置４０、製本装置５０およびフィニッシャ６０を制御して、用紙に折り処理、ステイプル処理又はパンチ穴処理などの後処理を実行する。
【００３９】
加えて、メインコントローラ４００は外部Ｉ／Ｆ４５１を介して外部コンピュータ４５３からプリントデータを受信して、当該プリントデータに応じてプリンタ制御部３０１を制御して印刷を実行する。そして、メインコントローラ４００は、後述するストレージ機器に記録された画像データを、外部Ｉ／Ｆ４５１を介して外部コンピュータ４５３に送信する。
【００４０】
図２は、メインコントローラ４００の構成の一例を示すブロック図である。
【００４１】
図２において、メインコントローラ４００はＣＰＵ４０１およびＣＰＵ４０８を有し、各ＣＰＵではオペレーティングシステム（以下ＯＳという）が動作する。
【００４２】
ＣＰＵ４０１にはバスブリッジ４０４が接続され、ＣＰＵ４０１はバスブリッジ４０４を介してＣＰＵ４０８との通信を行う。さらに、バスブリッジ４０４にはＲＯＭ４０２、ＲＡＭ４０３、外部Ｉ／Ｆ制御部４０５、操作部制御部４０６、ストレージ制御部４１２が接続されている。ＲＯＭ４０２にはＣＰＵ４０１の初期起動プログラムを格納され、ＲＡＭ４０３にはＣＰＵ４０１の制御データが一時的に保持され、さらに、ＲＡＭ４０３はＣＰＵ４０１の作業領域として用いられる。
【００４３】
前述の外部Ｉ／Ｆ制御部４０５は外部Ｉ／Ｆ４５１に接続され、当該外部Ｉ／Ｆ４５１の制御を行う。操作部制御部４０６は操作部８００に接続され、操作部８００の制御を行う。また、ストレージ制御部４１２にはストレージ機器である半導体ストレージ（以下、ＳＳＤという）４１３が接続される。また、破線ブロックで示すように、ストレージ制御部４１２にはストレージ機器であるハードディスクドライブ（以下、ＨＤＤという）４０７がオプションとして接続されることもある。ストレージ制御部４１２はＳＳＤ４１３およびＨＤＤ４０７を制御する。
【００４４】
ＳＳＤ４１３には、例えば、ＣＰＵ４０１およびＣＰＵ４０８で動作するＯＳを含むメインプログラムが格納される。また、オプションであるＨＤＤ４０７が接続されない場合、ＳＳＤ４１３にはイメージリーダ２００および外部Ｉ／Ｆ４５１で取得した画像データが格納される。
【００４５】
さらに、オプションであるＨＤＤ４０７が接続されない場合には、操作部８００の操作に応じて編集された画像データがＳＳＤ４１３に格納され、且つアプリケーションプログラムおよびユーザープリファレンスデータ等のデータがＳＳＤ４１３に格納される。図示の例では、ＳＳＤ４１３はフラッシュディスクとして用いられる。
【００４６】
一方、オプションであるＨＤＤ４０７が接続された場合には、イメージリーダ２００および外部Ｉ／Ｆ４５１で取得した画像データや操作部８００の操作に応じて編集された画像データがＨＤＤ４０７に格納される。また、アプリケーションプログラムおよびユーザープリファレンスデータの格納先としてＨＤＤ４０７が用いられる。この場合、際ＣＰＵ４０１および４０８はストレージ制御部４１２を介してＨＤＤ４０７にアクセスすることができる。
【００４７】
ＣＰＵ４０８には、前述のバスブリッジ４０４が接続されるとともに、ＲＯＭ４０９、ＲＡＭ４１０、およびデバイス制御部４１１が接続されている。ＲＯＭ４０９にはＣＰＵ４０８の初期起動プログラムが格納され、ＲＡＭ４１０にはＣＰＵ４０８の制御データが一時的に保持され、さらに、ＲＡＭ４１０はＣＰＵ４０８の作業領域として用いられる。
【００４８】
デバイス制御部４１１は、原稿給送装置制御部１０１、イメージリーダ制御部２０１、プリンタ制御部３０１、折り装置制御部４１、製本装置制御部５１およびフィニッシャ制御部６１の制御を司る。
【００４９】
図３は、画像形成装置１０の操作部８００の一例を示す図である。
【００５０】
操作部８００は、ＬＣＤ表示部９００を有しており、このＬＣＤ表示部９００のＬＣＤ（液晶ディスプレイ）上にタッチパネルシートが貼られている。ＬＣＤ表示部９００には操作画面が表示され、操作画面に表示されたキーが押されると当該キーの位置情報がメインコントローラ４００に伝達され、メインコントローラ４００は当該位置情報に応じた制御を実行する。
【００５１】
操作部８００はテンキー８０１を有しており、ユーザはテンキー８０１を用いて、例えば、コピー枚数を入力する。さらに、操作部８００はスタートキー８０２、ガイドキー８０５、コピーモードキー８０６、ＦＡＸキー８０７、ファイルキー８０８、およびプリンタキー８０９を有している。
【００５２】
ユーザが所望の条件を設定した後、スタートキー８０２を押すと、例えば、複写動作又は原稿の読取り動作が開始される。ガイドキー８０５を押すと、ＬＣＤ表示部９００に各キーの機能に関する説明が表示される。コピーモードキー８０６は複写を行う際に用いられる。ＦＡＸキー８０７は、ＦＡＸに関する設定を行う際に用いられる。ファイルキー８０８はファイルデータの出力の際に用いられる。プリンタキー８０９は、外部コンピュータ４５３等の外部装置から送られた画像データをプリント出力する際の設定などを行う場合に用いられる。
【００５３】
以下、画像形成装置１０が不要データを完全に消去するデータ完全消去モードに設定されている場合においてＳＳＤ４１３へのデータ書き込みの際に行われる動的な切り替え制御について説明する。
【００５４】
図４はＳＳＤ４１３の内部構成の一例を示すブロック図である。
【００５５】
図４において、ＳＳＤ４１３はフラッシュ制御部１０００および複数のフラッシュメモリ１００３を有している。フラッシュ制御部１０００はストレージＩ／Ｆ１００１およびメモリ制御部１００２を備えており、ストレージＩ／Ｆ１００１はストレージ制御部４１２に接続されている。つまり、ストレージＩ／Ｆ１００１はストレージ制御部４１２との通信を行うためのモジュールである。本例では、ストレージＩ／Ｆ１００１として、シリアルＡＴＡ（Ｓｅｒｉａｌ  ＡＴ  Ａｔｔａｃｈｍｅｎｔ）インターフェースすなわちＳＡＴＡインターフェースが用いられる。
【００５６】
メモリ制御部１００２はストレージＩ／Ｆ１００１で受信した指令に基づいてフラッシュメモリ１００３の一つ（以下、単にフラッシュメモリ１００３という）に対するデータのリード／ライトを行う。メモリ制御部１００２には、書き込み処理切り替え部１００４が備えられている。
【００５７】
メモリ制御部１００２は、書き込み処理切り替え部１００４によって、第１および第２の書き込み処理を選択的に行う。第１の書き込み処理（通常の書き込み処理）ではフラッシュメモリ１００３にデータを書き込む。第２の書き込み処理では、フラッシュメモリ１００３に記録された不要データを消去した後にデータをフラッシュメモリ１００３に、例えば、ブロック単位で書き込む。
【００５８】
図５は、ＳＳＤ４１３にデータ書き込みを行う際の動的な切り替え制御の手順を説明するためのフローチャートである。この切り替え制御はメインコントローラ４００のＣＰＵ４０１で行われる。
【００５９】
ＣＰＵ４０１で動作するＯＳがＳＳＤ４１３に対するデータ書き込みを要求すると、ＣＰＵ４０１はデータ書き込み要求を受信し（ステップＳ１０１）、画像形成装置１０が不要データを完全に消去する完全消去モードに設定されているか否かを確認する（ステップＳ１０２）。
【００６０】
画像形成装置１０が完全消去モードに設定されている場合（ステップＳ１０２においてＹＥＳ）、ＣＰＵ４０１は書き込み対象データのサイズ（容量）を確認する（ステップＳ１０３）。
【００６１】
書き込み対象データのサイズ（容量）が所定のデータサイズ（容量）αより大きい場合（ステップＳ１０４においてＹＥＳ）、ＣＰＵ４０１は、切り替えフラグ領域（例えば、切り替えフラグに対応可能な特定のデバイス以外のデバイスが無視する領域）に所定の書き込み処理切り替え用フラグデータが設定されたデータ書き込み命令（ライトコマンド）をセットする（ステップＳ１０５）。以下、切り替えフラグ領域に所定のフラグデータが設定されたデータ書き込み命令（切り替えフラグが設定されたデータ書き込み命令）を切り替え書き込み命令という。
【００６２】
上記の切り替えフラグ領域として、例えば、ＳＡＴＡ又はＡＴＡ規格のストレージ・インターフェースにおいてはフィーチャーズ・レジスタが用いられる。
【００６３】
続いて、ＣＰＵ４０１はストレージ制御部４１２を介してＳＳＤ４１３に切り替え書き込み命令および書き込み対象データを送出してデータライトを実行し（ステップＳ１０６）、切り替え制御を終了する。
【００６４】
一方、画像形成装置１０が完全消去モードに設定されていない場合（ステップＳ１０２においてＮＯ）または書き込み対象データのサイズが所定のデータサイズα以下の場合には（ステップＳ１０４においてＮＯ）、ＣＰＵ４０１は通常のデータ書き込み命令（以下、通常書き込み命令という）をセットする（ステップＳ１０７）。通常書き込み命令は前述の切り替えフラグが設定されていないデータ書き込み命令をいう。そして、ＣＰＵ４０１はステップＳ１０６に進み、データライトを実行する。
【００６５】
以下、切り替え書き込み命令および通常書き込み命令をデータ書き込み命令と総称する。
【００６６】
図６は、図５に示す切り替え制御が行われる際のＳＳＤ４１３における切り替え制御の手順を説明するためのフローチャートである。
【００６７】
図５のステップＳ１０６で説明したようにストレージ制御部４１２がデータ書込み命令をＳＳＤ４１３に送ると、ＳＳＤ４１３ではストレージＩ／Ｆ１００１において当該データ書き込み命令を受信する（ステップＳ２０１）。
【００６８】
ＳＳＤ４１３のメモリ制御部１００２はデータ書き込み命令に切り替えフラグ（完全消去フラグともいう）が存在するか否かを確認する（ステップＳ２０２）。つまり、メモリ制御部１００２は、受信したデータ書き込み命令が切り替え書き込み命令であるか又は通常書き込み命令であるかを確認する。
【００６９】
データ書き込み命令に切り替えフラグが存在すると（ステップＳ２０２においてＹＥＳ）、メモリ制御部１００２は完全消去対応の書き込み処理でフラッシュメモリ１００３に対してデータの書き込みを行い（ステップＳ２０３）、切り替え制御を終了する。一方、データ書き込み命令に切り替えフラグが存在しないと（ステップＳ２０２においてＮＯ）、メモリ制御部１００２は、通常の書き込み処理でフラッシュメモリ１００３に対してデータの書き込みを行い（ステップＳ２０４）、切り替え制御を終了する。
【００７０】
図７は、図１に示す画像形成システム制御系がシャットダウンする際に行われるＳＳＤ４１３の未使用ブロック内のデータの一括消去処理の手順を説明するためのフローチャートである。
【００７１】
ＣＰＵ４０１で動作するＯＳがシャットダウン命令を発行すると、ＣＰＵ４０１はシャットダウン命令を受信し（ステップＳ３０１）、画像形成装置１０が不要データを完全に消去する完全消去モードに設定されているか否かについて確認する（ステップＳ３０２）。画像形成装置１０が完全消去モードに設定されていないと（ステップＳ３０２においてＮＯ）、ステップＳ３０４に進む。
【００７２】
一方、画像形成装置１０が完全消去モードに設定されている場合には（ステップＳ３０２においてＹＥＳ）、ＣＰＵ４０１はストレージ制御部４１２を介してＳＳＤ４１３が備えるフラッシュメモリ１００３内の未使用ブロック（シャットダウン前に未使用であったブロック）に対して一括消去命令を実施する（ステップＳ３０３）。これによって、未使用ブロック内に残留する８Ｋバイト以下の残留データの一括削除が行われる。
【００７３】
次に、ＣＰＵ４０１はシャットダウンシーケンスを実行して（ステップＳ３０４）、一括消去処理を終了する。
【００７４】
なお、図７の一括消去処理は、画像形成装置１０の起動時に行うようにしてもよい。
【００７５】
図８は、図１に示す画像形成システム制御系がアイドル状態である場合に行われるＳＳＤ４１３の未使用ブロック内のデータの一括消去処理の手順を説明するためのフローチャートである。
【００７６】
画像形成装置１０がアイドル状態であることを検出すると（ステップＳ４０１）、ＣＰＵ４０１は画像形成装置１０が完全消去モードに設定されているか否かについて確認する（ステップＳ４０２）。画像形成装置１０が完全消去モードに設定されていなければ（ステップＳ４０２においてＮＯ）、一括消去処理を終了する。
【００７７】
一方、画像形成装置１０が完全消去モードに設定されている場合には（ステップＳ４０２においてＹＥＳ）、ＣＰＵ４０１はストレージ制御部４１２を介してＳＳＤ４１３が備えるフラッシュメモリ１００３内の未使用ブロック（画像形成装置１０がアイドル状態となる前に未使用であったブロック）に対して一括消去命令を実施する（ステップＳ４０３）。
【００７８】
続いて、ＣＰＵ４０１は消去処理の進捗状況を確認し、消去処理が終了したか否かを判別する（ステップＳ４０４）。消去処理が終了していると（ステップＳ４０４においてＹＥＳ）、ＣＰＵ４０１は一括消去処理を終了する。
【００７９】
一方、消去処理が終了していなければ（ステップＳ４０４においてＮＯ）、ＣＰＵ４０１は印刷ジョブなどのジョブが新たに投入されたか否かを確認する（ステップＳ４０５）。ジョブの投入がないと（ステップＳ４０５においてＮＯ）、ＣＰＵ４０１はステップＳ４０４に戻って、消去処理が終了したか否かを確認する。
【００８０】
ジョブの投入があると（ステップＳ４０５においてＹＥＳ）、ＣＰＵ４０１は消去処理を停止して（ステップＳ４０６）、一括消去処理を終了する。
【００８１】
図９は、図５に示す切り替え制御における書き込み処理切り替え条件（画像形成装置の動作モードおよびデータサイズ）に更なる切り替え条件としてデータのファイル情報を追加した際に行われる切り替え制御の手順を説明するためのフローチャートである。
【００８２】
図９のステップＳ１０１〜Ｓ１０４、Ｓ５０１〜Ｓ５０３およびＳ５０７では図５のステップＳ１０１〜Ｓ１０７での処理と同様の処理が行われる。以下の説明では、図９のステップＳ１０１〜Ｓ１０３の説明を省略する。
【００８３】
書き込み対象データのサイズが所定のデータサイズαより大きい場合（ステップＳ１０４においてＹＥＳ）、ＣＰＵ４０１は、切り替えフラグが設定されたデータ書き込み命令（切り替え書き込み命令）をセットする（ステップＳ５０１）。そして、ＣＰＵ４０１はストレージ制御部４１２を介して切り替え書き込み命令（ライトコマンド）および書き込み対象データをＳＳＤ４１３へ送信する（ステップＳ５０２及びＳ５０３）。
【００８４】
書き込み対象データのサイズが所定のデータサイズα以下であると（ステップＳ１０４においてＮＯ）、ＣＰＵ４０１は、書き込み対象データにおけるファイル情報を確認し（ステップＳ５０４）、ファイル情報から書き込み対象データが完全消去対象データであるか否かを判定する（ステップＳ５０５）。
【００８５】
書き込み対象データが完全消去対象データであると（ステップＳ５０５においてＹＥＳ）、ＣＰＵ４０１は書き込み対象データにダミーデータを付加してフラッシュメモリ１００３のブロックサイズ以上（データ容量以上）のサイズにし（ステップＳ５０６）、ステップＳ５０１に移行する。
【００８６】
画像形成装置１０が完全消去モードに設定されていない場合（ステップＳ１０２においてＮＯ）または書き込み対象データが完全消去対象データでない場合（ステップＳ５０５においてＮＯ）、ＣＰＵ４０１は通常書き込み命令をセットして（ステップＳ５０７）、ステップＳ５０２に移行する。
【００８７】
図１０は、図５に示す切り替え制御における書き込み処理切り替え条件（画像形成装置の動作モードおよびデータサイズ）に更なる切り替え条件として半導体ストレージに対して割り当てられる論理アドレスを追加した際に行われる切り替え制御の手順を説明するフローチャートである。
【００８８】
図１０のステップＳ１０１、Ｓ１０２において、図５のステップＳ１０１、Ｓ１０２での処理と同様の処理が行われる。そして、画像形成装置１０が完全消去モードに設定されている場合には（ステップＳ１０２においてＹＥＳ）、ＣＰＵ４０１は、書き込み要求時に指定された書き込み対象データの書き込み先論理アドレスを論理アドレス管理テーブルに登録されている各論理アドレスと照合する（論理アドレス照合）（ステップＳ６０１）。
【００８９】
この論理アドレス管理テーブルは、完全消去対象データを書き込む予め定めた論理領域を表す論理アドレスをテーブルデータとして管理するものであり、前記テーブルデータは例えばＲＡＭ４０３に格納される。なお、前記テーブルデータの格納先はＲＡＭ４０３に限定するものでは無く、書き換え可能な記憶媒体であれば良い。パフォーマンスに影響がなければＳＳＤ４１３でも良い。
【００９０】
書き込み対象データの書き込み先論理アドレスが論理アドレス管理テーブルに登録されている論理アドレスと一致すると（ステップＳ６０２においてＹＥＳ）、ＣＰＵ４０１は書き込み対象データのサイズを確認する（ステップＳ６０３）。
【００９１】
次に、ＣＰＵ４０１は、書き込み対象データのサイズが所定のデータサイズαより大きいか否かを判別する（ステップＳ６０４）。論理アドレス管理テーブルには、書き込み処理切り替え条件としての書き込み対象データのサイズの閾値が論理アドレス毎に設定されている。ステップＳ６０４では、書き込み対象データの書き込み先論理アドレスに対応する論理アドレスに対して設定された閾値を所定のデータサイズαとして用いる。
【００９２】
書き込み対象データのサイズが所定のデータサイズαより大きい場合（上回る場合）には（ステップＳ６０４においてＹＥＳ）、ＣＰＵ４０１は、切り替え書き込み命令すなわち切り替えフラグが設定されたデータ書き込み命令をセットし（ステップＳ６０５）、ストレージ制御部４１２を介して切り替え書き込み命令（ライトコマンド）および書き込み対象データをＳＳＤ４１３へ送信する（ステップＳ６０７及びＳ６０８）。
【００９３】
画像形成装置１０が完全消去モードに設定されていない場合（ステップＳ１０２においてＮＯ）または書き込み対象データの書き込み先論理アドレスが論理アドレス管理テーブルに登録されている論理アドレスと一致しない場合（ステップＳ６０２においてＮＯ）または書き込み対象データのサイズが所定のデータサイズαより大きくない場合、すなわち下回る場合（ステップＳ６０４においてＮＯ）、ＣＰＵ４０１は通常書き込み命令をセットして（ステップＳ６０６）、ステップＳ６０７に移行する。
【００９４】
上述のように、本実施の形態では、書き込み対象のデータのサイズ（容量）に応じて書き込み処理を動的に切り替えるようにしたので、フラッシュメモリを有する半導体ストレージにおいて、パフォーマンスを低下させずに消去対象のデータを完全消去することができる。
【００９５】
さらに、半導体ストレージに対して発行されるデータ書き込み命令の所定の領域（例えば、切り替えフラグに対応可能な特定のデバイス以外のデバイスが無視する領域）に切り替えフラグを付加するようにしたので、半導体ストレージにおいて切り替えフラグに基づいてデータ書き込み処理の切り替えを行うことができる。その結果、特定のデバイス以外のデバイスに対して書き込み命令を発行したとしても、当該特定のデバイス以外のデバイスでは通常の書き込み処理が行われて、誤動作することがない。
【００９６】
また、画像形成装置の起動の際およびシャットダウンの際、そして、画像形成装置がアイドル状態である場合に、未使用ブロックの残留データを一括消去するようにしたので、パフォーマンスに影響を与えることになく、所定のデータ容量（例えば８Ｋバイト）以下の残留データを全て消去することができる。
【００９７】
加えて、書き込み対象のデータが所定のデータ容量以下の容量であっても、ファイル情報から完全消去対象のデータであると確認された場合には、当該データにダミーデータを付加してパフォーマンスに影響しないデータ容量としてから、完全消去対応の書き込み処理（第２の書き込み処理）を行うことができる。
【００９８】
また、上述のように、本実施例の形態では、完全消去対象データを書き込む論理領域を予め決めておき、各論理領域の論理アドレスをテーブル化して管理し、データの書き込み時に当該データの格納先論理アドレスと前記管理テーブルに登録されている各論理アドレスと照合する。そして、アドレス照合結果にしたがって完全消去処理が必要の無いデータを排除した上で書き込み対象データ容量に応じて書き込み処理を動的に切り替えるので、データの完全消去によるパフォーマンスの低下を更に抑制することができる。
【００９９】
さらに、前記論理アドレスによる完全消去対象データの絞り込みはＬＩＮＵＸ(登録商標)等の汎用ＯＳにおいても適用することができる。
【０１００】
加えて、第１または第２の書き込み処理を選択的に行うための書き込み対象データの容量の閾値（所定のデータ容量α）を論理アドレス管理テーブルに論理アドレス毎に任意に設定可能であるので、パフォーマンスの調整を柔軟に行うことができる。
【０１０１】
上述の説明から明らかなように、ＣＰＵ４０１、ストレージ制御部４１２、およびフラッシュ制御部１０００がメモリ制御装置を構成することになる（メモリ制御装置および下記の各種手段はクレームに定義されている）。そして、フラッシュ制御部１０００が書き込み処理手段として機能し、ＣＰＵ４０１が書き込み切り替え手段および判定手段として機能する。また、ＣＰＵ４０１およびフラッシュ制御部１０００が消去手段として機能し、ＣＰＵ４０１が確認手段およびダミー付加手段として機能する。
【符号の説明】
【０１０２】
４００  メインコントローラ
４０１  ＣＰＵ
４０２  ＲＯＭ
４０３  ＲＡＭ
４０７  ＨＤＤ
４１２  ストレージ制御部
４１３  ＳＳＤ
１０００  フラッシュ制御部
１００１  ストレージＩ／Ｆ
１００２  メモリ制御部
１００３  フラッシュメモリ
１００４  書き込み切り替え部
【図１】
0005917163.tif 000002
【図２】
0005917163.tif 000003
【図３】
0005917163.tif 000004
【図４】
0005917163.tif 000005
【図５】
0005917163.tif 000006
【図６】
0005917163.tif 000007
【図７】
0005917163.tif 000008
【図８】
0005917163.tif 000009
【図９】
0005917163.tif 000010
【図１０】
0005917163.tif 000011
【図１１】
0005917163.tif 000012