(57)【要約】【課題】ミラーリング用に複数の記憶装置が搭載された情報処理装置において、各記憶装置に格納されたデータの完全消去を各記憶装置に対応した消去モードで行えるようにする技術を提供する。【解決手段】ミラーリング装置１００は、コントローラ３からＴｒｉｍコマンド（消去コマンド）を受信すると、第１及び第２ストレージ１０１，１０２からデータを消去する消去モードを記憶装置ごとに決定する。ミラーリング装置１００は、第１及び第２ストレージ１０１，１０２のそれぞれについて、Ｔｒｉｍコマンドに対応したタイプの記憶装置であるか否かに基づいて消去モードを決定する。更に、ミラーリング装置１００は、第１及び第２ストレージ１０１，１０２にそれぞれ格納されている消去対象データの消去処理を、決定された消去モードでそれぞれ実行する。【選択図】図１
2018063676.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
前記情報処理装置におけるジョブの実行に使用されたデータが格納される第１及び第２記憶装置であって、記憶装置間でデータのミラーリングが行われる、前記第１及び第２記憶装置と、
記憶装置内の消去対象データを示す情報を通知する消去コマンドを受信すると、前記第１及び第２記憶装置からデータを消去する消去モードを、記憶装置ごとに、前記消去コマンドに対応したタイプの記憶装置であるか否かに基づいて決定する決定手段と、
前記第１及び第２記憶装置にそれぞれ格納されている前記消去対象データの消去処理を、前記決定手段によって決定された消去モードでそれぞれ実行する実行手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記決定手段は、
前記消去コマンドに対応したタイプの記憶装置についての前記消去モードを、前記消去コマンドによる消去処理を行うモードに決定し、
前記消去コマンドに対応していないタイプの記憶装置についての前記消去モードを、当該記憶装置に対応した所定の消去処理を行うモードに決定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１及び第２記憶装置が接続され、かつ、前記第１記憶装置と前記第２記憶装置との間でデータのミラーリングを行うミラーリング装置であって、前記決定手段及び前記実行手段を含む、前記ミラーリング装置と、
前記消去対象データの消去を前記ミラーリング装置に対して指示するコントローラと、を更に備え、
前記コントローラは、前記第１及び第２記憶装置の少なくとも１つが前記消去コマンドに対応したタイプの記憶装置であると、前記消去対象データの消去を前記ミラーリング装置に対して前記消去コマンドによって指示する
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記コントローラは、前記第１及び第２記憶装置の両方が前記消去コマンドに対応していないタイプの記憶装置であると、当該記憶装置に対応した所定の消去処理による前記消去対象データの消去を前記ミラーリング装置に対して指示する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記コントローラは、前記ミラーリング装置からの通知に基づいて、前記ミラーリング装置に接続された記憶装置のタイプを判定する
ことを特徴とする請求項３または４に記載の情報処理装置。
【請求項６】
前記ミラーリング装置は、
前記第１及び第２記憶装置の少なくとも１つが前記消去コマンドに対応したタイプの記憶装置である場合には、前記消去コマンドに対応したタイプの記憶装置を示す装置情報を前記コントローラへ通知し、
前記第１及び第２記憶装置の両方が前記消去コマンドに対応していないタイプの記憶装置である場合には、前記消去コマンドに対応していないタイプの記憶装置を示す装置情報を前記コントローラへ通知する
ことを特徴とする請求項３から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記コントローラは、前記ジョブの実行時に生成されたデータの消去を当該ジョブの実行の完了後に指示する
ことを特徴とする請求項３から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記所定の消去処理は、前記消去対象データへの上書きによる消去処理である
ことを特徴とする請求項２または４に記載の情報処理装置。
【請求項９】
前記消去コマンドに対応していないタイプの記憶装置はＨＤＤであり、前記消去コマンドに対応したタイプの記憶装置はＳＳＤである
ことを特徴とする請求項１から８のいずれか１項に記載の情報処理装置。
【請求項１０】
情報処理装置におけるジョブの実行に使用されたデータが格納される第１及び第２記憶装置であって、記憶装置間でデータのミラーリングが行われる、前記第１及び第２記憶装置を備える情報処理装置の制御方法であって、
記憶装置内の消去対象データを示す情報を通知する消去コマンドを受信すると、前記第１及び第２記憶装置からデータを消去する消去モードを、記憶装置ごとに、前記消去コマンドに対応したタイプの記憶装置であるか否かに基づいて決定する決定工程と、
前記第１及び第２記憶装置にそれぞれ格納されている前記消去対象データの消去処理を、前記決定工程で決定された消去モードでそれぞれ実行する実行工程と、
を含むことを特徴とする情報処理装置の制御方法。
【請求項１１】
請求項１０に記載の情報処理装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びその制御方法、並びにプログラムに関するものであり、特に、情報処理装置が備える記憶装置に保存されたデータの消去に関するものである。
【背景技術】
【０００２】
近年、プリンタやＭＦＰ（複合機）等の画像形成装置に搭載する二次記憶装置（補助記憶装置）として、従来のＨＤＤ（ハードディスクドライブ）に代えてＳＳＤ（ソリッドステートドライブ）を使用することが検討されている。一般に、ＳＳＤは、アクセス速度や静音性等の観点でＨＤＤよりも優れている一方で、書き換え回数に制限があることが知られている。このような書き換え回数の制限に対処するために、ウェアレベリング機能によって、特定の領域（エリア）に書き込みが集中しないようにしている。また、ＳＳＤでは、データが格納されている領域に対してデータを直接的に上書きできない（即ち、データを消去済みの領域にしかデータを書き込めない）ことが知られている。ＳＳＤにおいてデータの上書きを行うには、書き込み対象の領域についてデータを消去して空白にしてからデータを書き込む必要がある。
【０００３】
画像形成装置では、セキュリティの観点から、ジョブの実行に使用した画像データを二次記憶装置から完全に消去することが必要になる場合がある。ＨＤＤでは、消去対象の画像データをランダム値等のデータで上書きすることで、データの完全消去を行う技術が知られている。しかし、ＳＳＤでは、上述のウェアレベリング機能に起因して、消去対象のデータが格納された領域とは異なる領域に上書き用のデータが書き込まれうるため、消去対象のデータへの上書きが困難である。このため、ＳＳＤでは、Ｔｒｉｍコマンド（消去コマンド）及びガベージコレクションを用いてデータの完全消去を行う技術が知られている。特許文献１には、Ｔｒｉｍコマンドによる不要領域の通知とガベージコレクションによる不要領域のデータの消去とを行った後に、消去処理の完了を検出することで、ＳＳＤ上のデータが無効化されたことをユーザに通知する情報処理装置が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−２１９６０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
画像形成装置等の情報処理装置は、二次記憶装置の障害への対策として、複数の記憶装置を二次記憶装置として搭載し、当該複数の記憶装置に同じデータを保存するミラーリングを行う場合がある。この場合、ファイルシステムは、通常、複数の記憶装置を１つの記憶装置として認識して記憶装置に対するアクセスを行う。このため、上述のようなデータの完全消去を適用した場合、異なるタイプの記憶装置（ＨＤＤ及びＳＳＤ）が併用されていたとしても、いずれかの記憶装置に対応した消去処理（例えば、ＨＤＤに対応した、データの上書きによる消去処理）が行われる。しかし、ミラーリング用にＨＤＤとＳＳＤとが併用されるような場合は、各記憶装置に適した消去処理を個別に実行する必要がある。
【０００６】
本発明は、上述の問題に鑑みてなされたものである。本発明は、ミラーリング用に複数の記憶装置が搭載された情報処理装置において、各記憶装置に格納されたデータの完全消去を各記憶装置に対応した消去モードで行えるようにする技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、例えば、情報処理装置として実現できる。本発明の一態様に係る情報処理装置は、前記情報処理装置におけるジョブの実行に使用されたデータが格納される第１及び第２記憶装置であって、記憶装置間でデータのミラーリングが行われる、前記第１及び第２記憶装置と、記憶装置内の消去対象データを示す情報を通知する消去コマンドを受信すると、前記第１及び第２記憶装置からデータを消去する消去モードを、記憶装置ごとに、前記消去コマンドに対応したタイプの記憶装置であるか否かに基づいて決定する決定手段と、前記第１及び第２記憶装置にそれぞれ格納されている前記消去対象データの消去処理を、前記決定手段によって決定された消去モードでそれぞれ実行する実行手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ミラーリング用に複数の記憶装置が搭載された情報処理装置において、各記憶装置に格納されたデータの完全消去を各記憶装置に対応した消去モードで行えるようになる。
【図面の簡単な説明】
【０００９】
【図１】ＭＦＰの構成例を示すブロック図
【図２】ミラーリング装置の構成例を示すブロック図
【図３】消去モードの設定処理の手順を示すフローチャート
【図４】消去モードの選択画面の例を示す図
【図５】ミラーリング装置による装置情報の通知処理の手順を示すフローチャート
【図６】ミラーリング装置によるデータの消去処理の手順を示すフローチャート
【図７】ＳＳＤに格納されたデータの完全消去の例を示す模式図
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１１】
［第１実施形態］
第１実施形態では、情報処理装置の一例として、印刷機能、複写機能、画像送信機能、画像保存機能等の多数の機能を有する画像形成装置（画像処理装置）である複合機（ＭＦＰ）について説明する。なお、本実施形態は、ＭＦＰだけでなく、印刷装置（プリンタ）、複写機、ファクシミリ装置、ＰＣ等の情報処理装置にも同様に適用可能である。
【００１２】
＜ＭＦＰの構成＞
図１は、本実施形態に係るＭＦＰ１の構成例を示すブロック図である。ＭＦＰ１は、コントローラ３と、コントローラ３に接続されたスキャナ装置２、プリンタ装置４、操作部５、ミラーリング装置１００、及びＦＡＸ（ファクシミリ）装置７とを備える。スキャナ装置２は、原稿から光学的に画像を読み取って当該画像をデジタル画像に変換し、画像データとして出力する。プリンタ装置４は、画像データに基づいてシート（記録紙等）に画像を印刷する。操作部５は、操作ボタン、及びタッチパネル機能を有する表示パネルを備え、ＭＦＰ１に対するユーザの操作を受け付けるために用いられるとともに、及び各種情報及び操作画面の表示のために用いられる。ＦＡＸ装置７は、電話回線を介したＦＡＸ送信により、指定された宛先に画像データを送信する。
【００１３】
ＭＦＰ１には、二次記憶装置（補助記憶装置）として１つ以上の記憶装置（ストレージデバイス）を搭載可能である。本実施形態では、図１に示すように、第１及び第２ストレージ１０１，１０２の２つの記憶装置がＭＦＰ１に搭載され、第１及び第２ストレージ１０１，１０２は、ミラーリング装置１００に対して着脱可能に接続される。なお、第１及び第２ストレージ１０１，１０２は、図１に示すようにミラーリング装置１００の外部に設けられるのではなく、ミラーリング装置１００内に包含されていてもよい。
【００１４】
ミラーリング装置１００は、後述するように、接続された記憶装置（第１及び第２ストレージ１０１，１０２）を制御する。複数の記憶装置が接続された場合、ミラーリング装置１００は、接続された記憶装置間（第１ストレージ１０１と第２ストレージ１０２との間）でデータのミラーリングを行うことが可能である。第１及び第２ストレージ１０１，１０２には、画像データ、及びメインＣＰＵ２０１によって実行される制御プログラムやアプリケーションプログラム等が格納される。本実施形態では、第１及び第２ストレージ１０１，１０２は、それぞれ、ＭＦＰ１におけるジョブの実行に使用されたデータが格納される第１及び第２記憶装置の一例である。
【００１５】
第１及び第２ストレージ１０１，１０２は、不揮発性の記憶装置であり、それぞれＨＤＤ（ハードディスクドライブ）またはＳＳＤ（ソリッドステートドライブ）である。例えば、第１及び第２ストレージ１０１，１０２の両方がＨＤＤであってもよい。あるいは、第１及び第２ストレージ１０１，１０２のうちの一方がＨＤＤで、他方がＳＳＤであってもよい。即ち、ＨＤＤ及びＳＳＤが二次記憶装置として併用されてもよい。なお、ＳＳＤは、半導体デバイス（例えば、ＮＡＮＤ型フラッシュメモリ）で構成された不揮発性の記憶装置であり、データを格納可能な記憶容量はＨＤＤよりも小さいものの、ＨＤＤよりも高速なランダムアクセスが可能である。
【００１６】
コントローラ３は、メインシステム（メインボード）２００及びサブシステム（サブボード）２２０によって構成される。メインシステム２００は、ＭＦＰ１全体を制御するためのＣＰＵシステムである。サブシステム２２０は、メインシステム２００に接続され、画像処理用ハードウェアで構成されたＣＰＵシステムである。メインシステム２００には、操作部５及びミラーリング装置１００等が接続される。サブシステム２２０には、スキャナ装置２、プリンタ装置４、及びＦＡＸ装置７等が接続される。
【００１７】
メインシステム２００は、メインＣＰＵ２０１、ブートＲＯＭ２０２、メモリ２０３、バスコントローラ２０４、不揮発性メモリ２０５、及びディスクコントローラ２０６を備える。メインシステム２００は、更に、ネットワークＩ／Ｆ（インタフェース）２１０、及びＲＴＣ２１１を備える。
【００１８】
メインＣＰＵ２０１は、メインシステム２００全体を制御するとともにＭＦＰ１全体を制御する。ブートＲＯＭ２０２には、ＭＦＰ１の起動時にメインＣＰＵ２０１によって実行されるブートプログラムが格納される。メモリ２０３は、メインＣＰＵ２０１のワークメモリとして使用される。バスコントローラ２０４は、外部バス（本実施形態ではサブシステム２２０側のバス）とのブリッジ機能を有する。不揮発性メモリ２０５には、メインＣＰＵ２０１によって使用される設定データ等が格納される。ＲＴＣ２１１は、時計機能を有する。ディスクコントローラ２０６は、ミラーリング装置１００を介して二次記憶装置（第１及び第２ストレージ１０１，１０２）を制御する。
【００１９】
サブシステム２２０は、サブＣＰＵ２２１、メモリ２２３、バスコントローラ２２４、不揮発性メモリ２２５、画像処理プロセッサ２２６、及びエンジンコントローラ２２７，２２８を備える。サブＣＰＵ２２１は、メインＣＰＵ２０１の制御下で、サブシステム２２０全体を制御する。メモリ２２３は、サブＣＰＵ２２１のワークメモリとして使用される。バスコントローラ２２４は、外部バス（本実施形態ではメインシステム２００側のバス）とのブリッジ機能を有する。不揮発性メモリ２２５には、サブＣＰＵ２２１によって使用される設定データ等が格納される。
【００２０】
画像処理プロセッサ２２６は、プリンタ装置４へ出力される画像データ、及びスキャナ装置２から入力される画像データに対する画像処理を行う。エンジンコントローラ２２７は、画像処理プロセッサ２２６とプリンタ装置４との間で画像データの受け渡しを行うとともに、サブＣＰＵ２２１からの指示に従ってプリンタ装置４を制御する。エンジンコントローラ２２８は、画像処理プロセッサ２２６とスキャナ装置２との間で画像データの受け渡しを行うとともに、サブＣＰＵ２２１からの指示に従ってスキャナ装置２を制御する。ＦＡＸ装置７は、サブＣＰＵ２２１によって直接制御される。
【００２１】
なお、説明の簡略化のために図２には図示していないが、メインＣＰＵ２０１、サブＣＰＵ２２１等には、チップセット、バスブリッジ、クロックジェネレータ等の、ＣＰＵ周辺ハードウェアが多数含まれている。
【００２２】
＜ミラーリング装置の構成＞
図２は、本実施形態に係るミラーリング装置１００の構成例を示すブロック図である。ミラーリング装置１００は、ＣＰＵ１１１、ＲＯＭ１１２、ＲＡＭ１１３、ディスクコントローラ（ＤＳＫＣ）１１４〜１１６、及びデータ転送部１１７を備え、これらのデバイスはシステムバス１１０に接続される。ＤＳＫＣ１１４〜１１６には、それぞれ、コントローラ３（ディスクコントローラ２０６）、第１ストレージ１０１、及び第２ストレージ１０１が接続される。
【００２３】
ＣＰＵ１１１は、ＲＯＭ１１２、第１ストレージ１０１または第２ストレージ１０２等に格納されたプログラムをＲＡＭ１１３に読み出して実行することで、システムバス１１０に接続されている各デバイスを制御する。ＲＯＭ１１２には、ＣＰＵ１１１によって実行される制御プログラムが格納される。ＲＡＭ１１３は、ＣＰＵ１１１のワークメモリとして使用される。ＤＩＳＫＣ１１５，１１６は、それぞれ、ＣＰＵ１１１からの指示に従って、接続されている記憶装置へのデータの書き込み及び当該記憶装置からのデータの読み出しを制御する。データ転送部１１７は、ＣＰＵ１１１からの指示に従って、ＤＩＳＫＣ１１４〜１１６の間でデータ転送を行う。
【００２４】
ミラーリング装置１００は、ＤＩＳＫＣ１１４を介して、ホスト装置となるコントローラ３と接続される。ＣＰＵ１１１は、第１及び第２ストレージ１０１，１０２への書き込み対象のデータ及び第１及び第２ストレージ１０１，１０２から読み出したデータを、ＤＩＳＫＣ１１４を介してコントローラ３との間で送受信する。ミラーリング装置１００が介在することで、コントローラ３（メインＣＰＵ２０１）は、第１及び第２ストレージ１０１，１０２を１つの記憶装置として認識して記憶装置に対するアクセスを行う。
【００２５】
また、ＣＰＵ１１１は、第１及び第２ストレージ１０１，１０２に同じデータを保存する（書き込む）ミラーリングを行う。即ち、ＣＰＵ１１１は、第１ストレージ１０１の記憶内容と第２ストレージ１０２の記憶内容とを同期させる。このようなミラーリングによれば、複数の記憶装置（第１及び第２ストレージ１０１，１０２）のうちの１つに障害が発生したとしても、別の記憶装置に格納されたデータを使用することで、そのような障害に対処することが可能となる。
【００２６】
第１及び第２ストレージ１０１，１０２は、一方がマスターに設定され、他方がスレーブに設定されている。ＣＰＵ１１１は、記憶装置への書き込み処理の要求を、ＤＩＳＫＣ１１４を介してコントローラ３から受信すると、書き込み対象のデータを、マスターの記憶装置へ書き込む。更に、ＣＰＵ１１１は、マスターの記憶装置に書き込んだデータを、スレーブの記憶装置にコピーすることで、ミラーリングを実現する。なお、マスター及びスレーブの設定は、記憶装置の故障または着脱等によって適宜入れ替えられる。
【００２７】
＜ＳＳＤの処理＞
ここで、二次記憶装置（第１ストレージ１０１または第２ストレージ１０２）としてＭＦＰ１に搭載可能なＳＳＤにおけるデータの消去処理について説明する。ＳＳＤは、ページと称される単位とブロックと称される単位で、記憶領域内のデータを管理する。ページは、書き込み処理または読み出し処理の最小単位であり、通常数Ｋバイトを有する。ブロックは、消去処理の単位であり、複数のページで構成される。ＳＳＤでは、データを書き込み済みのページに直接的に上書きはできず、データの書き込み前に、対象となるページに書き込み済みのデータの消去処理を行う必要がある。この消去処理は、ページ単位でなく、データの削除単位であるブロック単位で行う必要がある。このため、書き込み可能なページ（即ち、データを消去済みのページ）が存在しない状態においてデータの書き込み処理を行う際には、書き込み処理に先立ってブロック単位でのデータの消去処理を行う。
【００２８】
ＳＳＤにおけるブロック単位でのデータの消去処理には、「Ｔｒｉｍコマンド」と「ガベージコレクション」を用いる。Ｔｒｉｍコマンドは、不要になった領域（ページ）を外部からＳＳＤに対して通知するＡＴＡ規格のコマンドであり、本実施形態では、記憶装置内の消去対象データを示す情報を通知する消去コマンドの一例である。ガベージコレクションは、有効なページを再配置して無効なページのみを有するブロックを作り、当該ブロックの消去処理を行うことによって空きブロックを増やす仕組みである。ＳＳＤは、Ｔｒｉｍコマンド及びガベージコレクションを利用して、書き込み処理の要求が発生する前にブロック単位の消去処理を行って空きブロックを増やしておく。これにより、書き込み処理の要求が発生した際に、書き込み処理に先立ってデータの消去処理を行うことを避けることを実現し、データの消去が完了するのを待つことに起因する書き込み速度の低下を抑えることができる。
【００２９】
また、ＳＳＤは、論理アドレスと物理アドレスとを対応付けた対応テーブル（変換テーブル）を内部に保持し、当該変換テーブルに基づいてデータの書き込み処理及び読み出し処理を行う。例えば、ＳＳＤは、変更の頻度が高いデータを書き込み回数の少ない物理ページに移動させ、変更の頻度が低いデータを書き込み回数の多い物理ページに移動させることで、データの物理的な書き込み領域（ページ）を分散させることできる。その際、ＳＳＤは、データの移動先となるページの物理アドレスを元の論理アドレスと対応付けるように変換テーブルを更新する。また、ＳＳＤは、新規の書き込み処理の要求が発生した場合に、書き込み回数の少ない領域（ページ）に優先的にデータを書き込むこともできる。このような仕組みは「ウェアレベリング」と称される。
【００３０】
＜ＳＳＤにおける完全消去の例＞
次に、図７を参照して、二次記憶装置（第１ストレージ１０１または第２ストレージ１０２）としてＳＳＤがＭＦＰ１に搭載されている場合の、ＳＳＤに格納されたデータの完全消去の例について説明する。図７は、ＳＳＤが搭載されたＭＦＰ１において、ジョブで使用された画像データに対応するファイルＡの完全消去が行われる様子を模式的に示した図である。
【００３１】
図７の例では、ＭＦＰ１において動作しているオペレーティングシステム（ＯＳ）のファイルシステム（ＦＳ）からミラーリング装置１００を介してＳＳＤに対してＴｒｉｍコマンド（消去コマンド）が発行される。その結果、ＳＳＤにおいて当該コマンドに基づいてファイルＡの消去処理が行われている。なお、本例では、このようなＴｒｉｍコマンドによる消去処理に先立って、ランダムデータを用いて消去対象データへの上書きによる消去処理が行われる例を示している。上書きによる消去処理は、ランダム値から成るランダムデータに代えて０のデータが上書き用に用いられた場合にも同様の処理となる。
【００３２】
図７（Ａ）に示すように、ＳＳＤに格納されているファイルＡは「１１１」というデータで構成されている。また、ファイルＡの論理アドレスは「ａ１，ｂ１，ｃ１」である。ＦＳは、各ファイルの論理アドレスのリストを管理している。ＳＳＤは、論理アドレスと物理アドレスとを対応付けた変換テーブルにおいて、当該論理アドレスを、「ｘ１，ｙ１，ｚ１」という物理アドレスに対応付けて管理している。「ｘ１，ｙ１，ｚ１」は、それぞれページを示す。なお、論理アドレスはＦＳ上の論理的な位置を示し、物理アドレスは、ＳＳＤの記憶領域上の物理的な位置を示す。「ｘ１，ｙ１，ｚ１」の各ページには、データとして「１」が格納されている。
【００３３】
図７（Ｂ）は、図７（Ａ）に示すファイルＡに対して、「５６７」というデータで上書きが行われた様子を示している。このとき、ＦＳのリストには変化が生じない。一方で、ＳＳＤの変換テーブルでは、ファイルＡの論理アドレスに対応付けられた物理アドレスが別のアドレス「ｘ２，ｙ２，ｚ２」に更新されている。これは、図７（Ｂ）に示すように、上書き用のデータ「５６７」が、上述のウェアレベリング機能によって、元の物理アドレス「ｘ１，ｙ１，ｚ１」のページとは別のページに格納されたことを意味している。このように、ＦＳ上でデータ（ファイルＡ）に対して上書きを行っても、ＳＳＤでは、一般に、実際の物理ページのデータへの上書きが行われるとは限らず、別の物理ページに上書き用のデータが格納され、それに合わせて変換テーブルが更新されうる。なお、「ｘ１，ｙ１，ｚ１」は、ブロック１（Ｂ１）のページであり、「ｘ２，ｙ２，ｚ２」は、ブロック１とは異なるブロック２（Ｂ２）のページである。
【００３４】
図７（Ｃ）は、ＦＳ上で図７（Ｂ）に示すファイルＡの削除が行われ、ファイルＡの削除を要求するＴｒｉｍコマンドをＦＳがＳＳＤに対して発行した場合の処理の様子を示している。この場合、図７（Ｃ）に示すように、まずＦＳのリストからファイルＡ（及び対応する論理アドレス）が削除される。その後、ＦＳは、未使用となった論理アドレス「ａ１，ｂ１，ｃ１」を指定したＴｒｉｍコマンドをＳＳＤへ発行することで、不要となったページをＳＳＤに通知する。これにより、ＳＳＤは、論理アドレス「ａ１，ｂ１，ｃ１」に対応する物理アドレス「ｘ２，ｙ２，ｚ２」のページが不要となった（即ち、データの消去が可能になった）ことを認識する。なお、図７（Ｂ）に示す上書きの結果、「ｘ１，ｙ１，ｚ１」のページについてもデータの消去が可能になっている。その後、ＳＳＤは、任意の（所定の）タイミングに、データの消去が可能なブロックについて消去処理を行う。なお、所定のタイミングの例としては、「次に同じブロックをリードする前」というタイミングがある。その結果、図７（Ｃ）に示すように、ブロック１及びブロック２内の各ページのデータは０にクリアされる。このようにして、ＳＳＤの物理ページから、ファイルＡの元のデータ「１１１」が完全に消去される。
【００３５】
＜消去モードの設定処理＞
次に、図３及び図４を参照して、二次記憶装置（第１及び第２ストレージ１０１，１０２）に格納されたデータの完全消去のための消去モードの設定処理について説明する。図３のフローチャートは、消去モードの設定処理の手順を示すフローチャートである。なお、図３に示す各ステップの処理は、ＦＰＧＡやＡＳＩＣ等のハードウェアにより実現されてもよいし、ソフトウェアにより実現されてもよい。ソフトウェアにより実現される場合、各処理は、メインＣＰＵ２０１（以下、ＣＰＵ２０１と表記する。）が、不揮発性メモリ２０５等に格納された制御プログラムを読み出して実行する処理によって実現されてもよい。
【００３６】
まずＳ１０１で、ＣＰＵ２０１は、コントローラ３に接続されたミラーリング装置１００を認識し、ミラーリング装置１００に接続された記憶装置の装置情報をミラーリング装置１００から取得する。具体的には、ＣＰＵ２０１は、ディスクコントローラ２０６がミラーリング装置１００に対して発行するＡＴＡ規格のコマンドに対する応答から、ミラーリング装置１００に接続された記憶装置の装置情報を取得する。このコマンドは、例えば、ＡＴＡ規格で定められたデバイス識別（ＩＤＥＮＴＩＦＹ ＤＥＶＩＣＥ）コマンドである。ミラーリング装置１００は、図５を参照して後述する手順で、発行されたコマンドに対する応答をディスクコントローラ２０６へ送信する。なお、後述するように、本実施形態のミラーリング装置１００は、ＨＤＤのみが接続されている場合には、ＨＤＤに対応する装置情報を送信し、ＳＳＤが少なくとも１つ接続されている場合には、ＳＳＤに対応する装置情報を送信する。
【００３７】
Ｓ１０２で、ＣＰＵ２０１は、取得した装置情報に基づいて、ミラーリング装置１００に接続された記憶装置はＳＳＤであるか否かを判定する。ＣＰＵ２０１は、記憶装置がＳＳＤであると判定した場合には処理をＳ１０３へ進める。一方、ＣＰＵ２０１は、記憶装置がＳＳＤではないと判定した場合には処理をＳ１０４へ進める。
【００３８】
Ｓ１０３では、ＣＰＵ２０１は、消去コマンド（Ｔｒｉｍコマンド）による消去処理を行う消去モード（ＳＳＤに対応する消去モード）を選択するための操作画面を操作部５に表示する。本実施形態では、ＣＰＵ２０１は、図４に示す選択画面４１０を操作部５に表示する。一方、Ｓ１０４では、ＣＰＵ２０１は、所定のデータを用いた上書きによる消去処理を行う消去モード（ＨＤＤに対応する消去モード）を選択するための操作画面を操作部５に表示する。本実施形態では、ＣＰＵ２０１は、図４に示す選択画面４００を操作部５に表示する。ＣＰＵ２０１は、表示した操作画面においてユーザによる消去モードの選択を受け付けると、処理をＳ１０３またはＳ１０４からＳ１０５へ進める。具体的には、選択画面４００または４１０においてユーザによって消去モードが選択され、ＯＫボタン４０６が押下されると、ＣＰＵ２０１は処理をＳ１０５へ進める。
【００３９】
ここで、図４は、印刷ジョブ、コピージョブ等のジョブの実行に使用された、画像データ等のデータを二次記憶装置から消去する（即ち、完全消去する）消去モードを設定するための設定画面の例（選択画面４００，４１０）を示している。選択画面４００において、ボタン４０１は、消去対象データに対し、０のデータを１回上書きする消去モードに対応する。ボタン４０２は、消去対象データに対し、０のデータを３回上書きする消去モードに対応する。ボタン４０３は、消去対象データに対し、ランダム値のデータを３回上書きする消去モードに対応する。ボタン４０４は、消去対象データに対し、米国国防総省の規格であるＤｏＤ標準の形式のデータを上書きする消去モードに対応する。キャンセルボタン４０５は、選択画面４００における消去モードの設定内容をキャンセルするためのボタンである。ＯＫボタン４０６は、選択画面４００における消去モードの設定内容をＭＦＰ１の設定に反映させるためのボタンである。このように、選択画面４００には、消去コマンド（Ｔｒｉｍコマンド）による消去処理以外の所定の消去処理（所定のデータを用いた上書きによる消去処理）を行う（１つ以上の）消去モードが選択可能に表示される。
【００４０】
また、選択画面４１０において、ボタン４１１は、上述のような上書きによる消去処理を行わずに、消去コマンド（Ｔｒｉｍコマンド）による消去処理を行う消去モードに対応する。キャンセルボタン４０５及びＯＫボタン４０６は、選択画面４００と同様である。このように、選択画面４１０には、消去コマンド（Ｔｒｉｍコマンド）による消去処理を行う消去モードが選択可能に表示される。
【００４１】
Ｓ１０５で、ＣＰＵ２０１は、選択画面４００または４１０において選択された消去モードを、ミラーリング装置１００に接続された記憶装置（第１及び第２ストレージ１０１，１０２）からのデータの完全消去用の消去モードとして設定する。その後、ＣＰＵ２０１は処理を終了する。
【００４２】
＜装置情報の通知処理＞
次に、図５を参照して、ミラーリング装置１００によって行われる、接続された記憶装置の装置情報をコントローラ３へ通知する通知処理の手順について説明する。なお、図５に示す各ステップの処理は、ＦＰＧＡやＡＳＩＣ等のハードウェアにより実現されてもよいし、ソフトウェアにより実現されてもよい。ソフトウェアにより実現される場合、各処理は、ＣＰＵ１１１が、ＲＯＭ１１２等に格納された制御プログラムを読み出して実行する処理によって実現されてもよい。
【００４３】
Ｓ２０１で、ＣＰＵ１１１は、（図３のＳ１０１において発行される）ＡＴＡ規格のデバイス識別コマンドをコントローラ３から受信したか否かを判定し、当該コマンドを受信すると処理をＳ２０２へ進める。Ｓ２０２及びＳ２０３では、受信したコマンドに従って、接続された第１及び第２ストレージ１０１，１０２のタイプ（ＳＳＤであるかＨＤＤであるか）を識別する。
【００４４】
具体的には、Ｓ２０２で、ＣＰＵ１１１は、ＤＩＳＫＣ１１５を介して第１ストレージ１０１とＡＴＡコマンドに基づく通信を行って、第１ストレージ１０１から回転数情報を取得する。更に、ＣＰＵ１１１は、取得した回転数情報に基づいて、第１ストレージ１０１がＳＳＤであるか否か（ＳＳＤであるかＨＤＤであるか）を判定する。例えば、回転数情報が所定の回転数（例えば、７２００ｒｐｍ、５４００ｒｐｍ等）を示す場合には、ミラーリング装置１００に接続された記憶装置はＨＤＤと判定できる。また、回転数情報が回転しないメディア（即ち、ディスクが回転しないこと）を示す場合には、ミラーリング装置１００に接続された記憶装置はＳＳＤと判定できる。ＣＰＵ１１１は、第１ストレージ１０１がＳＳＤであると判定した場合には処理をＳ２０５へ進め、ＳＳＤではないと判定した場合には処理をＳ２０３へ進める。
【００４５】
Ｓ２０３で、ＣＰＵ１１１は、ＤＩＳＫＣ１１６を介して第２ストレージ１０２とＡＴＡコマンドに基づく通信を行って、第２ストレージ１０２から回転数情報を取得する。更に、ＣＰＵ１１１は、取得した回転数情報に基づいて、Ｓ２０２と同様に、第２ストレージ１０２がＳＳＤであるか否か（ＳＳＤであるかＨＤＤであるか）を判定する。ＣＰＵ１１１は、第２ストレージ１０２がＳＳＤであると判定した場合には処理をＳ２０５へ進め、ＳＳＤではないと判定した場合には処理をＳ２０４へ進める。
【００４６】
第１及び第２ストレージ１０１，１０２のいずれもＳＳＤではない（ＨＤＤである）場合、Ｓ２０４で、ＣＰＵ１１１は、接続された記憶装置がＨＤＤであることを示す装置情報を、受信したコマンドに対する応答としてコントローラ３へ送信する。例えば、ＣＰＵ１１１は、Ｓ２０３で第２ストレージ１０２から受信した回転数情報を含む応答をコントローラ３へ送信することで、接続された記憶装置がＨＤＤであることをコントローラ３へ通知する。
【００４７】
一方、第１及び第２ストレージ１０１，１０２の少なくともいずれがＳＳＤである場合、Ｓ２０５で、ＣＰＵ１１１は、接続された記憶装置がＳＳＤであることを示す装置情報を、受信したコマンドに対する応答としてコントローラ３へ送信する。例えば、ＣＰＵ１１１は、第１及び第２ストレージ１０１，１０２のうち、ＳＳＤであると判定したストレージから受信した回転数情報を含む応答を、コントローラ３へ送信することで、接続された記憶装置がＳＳＤであることをコントローラ３へ通知する。
【００４８】
コントローラ３（ＣＰＵ２０１）は、ミラーリング装置１００からのこのような通知に基づいて、ミラーリング装置１００に接続された記憶装置のタイプを以下のように判定（認識）する。ミラーリング装置１００に少なくとも１つのＳＳＤが接続されている場合（２つのＳＳＤが接続されている場合、またはＳＳＤ及びＨＤＤが１つずつ接続されている場合）、コントローラ３は、（単一の）ＳＳＤが接続されていると認識する。また、ミラーリング装置１００にＨＤＤのみが接続されている場合（２つのＨＤＤが接続されている場合）、コントローラ３は、（単一の）ＨＤＤが接続されていると認識する。コントローラ３（ＣＰＵ２０１）は、このような認識を前提として、完全消去用の消去モードの設定を行う（図３のＳ１０２〜Ｓ１０５）とともに、二次記憶装置に対するアクセス及びファイルシステムによる処理を行う。
【００４９】
＜データの完全消去のための消去処理＞
ＭＦＰ１において動作しているＯＳのファイルシステムは、二次記憶装置（第１及び第２ストレージ１０１，１０２）に格納されたファイルを管理している。二次記憶装置には、例えば、ＭＦＰ１においてジョブの実行に使用（ジョブの実行時に生成）されたファイル（データ）が格納される。なお、上述のように、ミラーリング装置１００によって第１及び第２ストレージ１０１，１０２間でミラーリングが行われることで、第１及び第２ストレージ１０１，１０２には同じデータが格納されている。
【００５０】
ファイルシステム上でファイル（データ）の削除が行われると、コントローラ３（ＣＰＵ２０１）は、二次記憶装置からの当該データの消去をミラーリング装置１００に要求する。それにより、ミラーリング装置１００は、ミラーリングが行われている第１及び第２ストレージ１０１，１０２の両方からデータを消去することになる。ファイルシステム上のファイルの削除は、例えば、ジョブの実行の完了後に操作部５においてファイルの削除操作に従って行われる。あるいは、ファイルシステム上のファイルの削除は、当該ファイルを使用するジョブの実行の完了に応じて行われてもよいし、当該ファイルを用いるジョブの実行中に、当該ファイルを使用する処理の完了に応じて行われてもよい。
【００５１】
本実施形態では、このようなファイルシステム上でのファイルの削除時に、対応するデータを二次記憶装置（第１及び第２ストレージ１０１，１０２）から完全に消去するために、上述の設定処理（図３）によって消去モードの設定が行われる。上述のように、消去モードの設定は、選択画面４００または４１０（図４）を用いて行われる。消去モードの設定が行われている場合、コントローラ３（ＣＰＵ２０１）は、ファイルシステム上でファイルの削除が行われた際に、消去対象データの消去をミラーリング装置１００に対して指示する。
【００５２】
具体的には、ＣＰＵ２０１は、上書きによる消去処理を行う消去モードが設定されている場合には、ファイルの削除時に、消去対象データに対してデータの上書きによる消去処理を行うよう、ミラーリング装置１００に指示する。この消去モードは、上述のように、第１及び第２ストレージ１０１，１０２の両方が消去コマンド（Ｔｒｉｍコマンド）対応していないタイプの記憶装置である場合に設定される。一方、ＣＰＵ２０１は、消去コマンド（Ｔｒｉｍコマンド）による消去処理を行う消去モードが設定されている場合には、ファイルの削除時に、Ｔｒｉｍコマンドをミラーリング装置１００へ送信することで、消去対象データの消去を指示する。この消去モードは、上述のように、第１及び第２ストレージ１０１，１０２の少なくとも１つが消去コマンド（Ｔｒｉｍコマンド）対応したタイプの記憶装置である場合に設定される。ミラーリング装置１００は、ＣＰＵ２０１からの指示に従って、接続された記憶装置（第１及び第２ストレージ１０１，１０２）に格納されたデータの消去処理を実行する。
【００５３】
以下では、消去コマンド（Ｔｒｉｍコマンド）に対応する消去モードが設定されている場合にミラーリング装置１００によって行われる消去処理について説明する。この場合、ミラーリング装置１００のＣＰＵ１１１は、コントローラ３からＴｒｉｍコマンドを受信すると、第１及び第２ストレージ１０１，１０２からデータを消去する消去モードを記憶装置（ストレージ）ごとに決定する。ＣＰＵ１１１は、第１及び第２ストレージ１０１，１０２のそれぞれについて、Ｔｒｉｍコマンドに対応したタイプの記憶装置であるか否かに基づいて、このような消去モードを決定する。更に、ＣＰＵ１１１は、第１及び第２ストレージ１０１，１０２にそれぞれ格納されている消去対象データの消去処理を、決定された消去モードでそれぞれ実行する。
【００５４】
より具体的には、ＣＰＵ１１１は、Ｔｒｉｍコマンドに対応したタイプの記憶装置についての消去モードを、Ｔｒｉｍコマンドによる消去処理を行う消去モードに決定する。また、ＣＰＵ１１１は、Ｔｒｉｍコマンドに対応していないタイプの記憶装置についての消去モードを、当該記憶装置に対応した所定の消去処理を行うモードに決定する。所定の消去処理は、例えば、ＨＤＤに対応した、消去対象データへの上書きによる消去処理である。更に、ＣＰＵ１１１は、第１ストレージ１０１に格納されている消去対象データの消去処理を、第１ストレージ１０１に対して決定された消去モードで実行する。また、第２ストレージ１０２に格納されている消去対象データの消去処理を、第２ストレージ１０２に対して決定された消去モードで実行する。
【００５５】
これにより、第１及び第２ストレージ１０１，１０２に格納された消去対象データの消去（完全消去）を各記憶装置に対応した消去モードで行うことが可能になる。例えば、ＨＤＤとＴｒｉｍコマンドに対応したＳＳＤとがそれぞれ第１及び第２ストレージ１０１，１０２として用いられるＭＦＰ１において、各記憶装置に適した消去処理を個別に実行することが可能になる。
【００５６】
図６は、ミラーリング装置１００によって行われる、接続された記憶装置（第１及び第２ストレージ１０１，１０２）に格納されたデータの完全消去のための消去処理の具体的な手順を示すフローチャートである。なお、図６に示す各ステップの処理は、ＦＰＧＡやＡＳＩＣ等のハードウェアにより実現されてもよいし、ソフトウェアにより実現されてもよい。ソフトウェアにより実現される場合、各処理は、ＣＰＵ１１１が、ＲＯＭ１１２等に格納された制御プログラムを読み出して実行する処理によって実現されてもよい。
【００５７】
図６のフローチャートに従った処理は、ミラーリング装置１００に接続された第１及び第２ストレージ１０１，１０２のそれぞれについて行われる。ＣＰＵ１１１は、第１ストレージ１０１についての処理と第２ストレージ１０２についての処理とを順に実行してもよいし、並列に実行してもよい。
【００５８】
ＣＰＵ１１１は、Ｓ２１１で、コントローラ３から消去コマンド（Ｔｒｉｍコマンド）を受信すると、処理をＳ２１２へ進める。Ｓ２１２で、ＣＰＵ１１１は、消去処理の対象となる記憶装置である対象記憶装置（第１ストレージ１０１または第２ストレージ１０２）がＳＳＤであるか否かを判定する。ＣＰＵ１１１は、対象記憶装置がＳＳＤではないと判定した場合には処理をＳ２１５へ進め、ＳＳＤであると判定した場合には処理をＳ２１３へ進める。
【００５９】
Ｓ２１３で、ＣＰＵ１１１は、対象記憶装置がＴｒｉｍ機能（Ｔｒｉｍコマンド）をサポートしているか否かを判定する。ＣＰＵ１１１は、対象記憶装置がＴｒｉｍコマンドをサポートしていないと判定した場合にはＳ２１５へ処理を進め、サポートしていると判定した場合には処理をＳ２１４へ進める。なお、対象記憶装置がＳＳＤであるか否か、及びＴｒｉｍコマンドをサポートしているか否かについては、Ｓ２０２及びＳ２０３と同様、ＡＴＡコマンドに基づく対象記憶装置との通信を行い、取得した情報に基づいて判定できる。
【００６０】
Ｓ２１４で、ＣＰＵ１１１は、コントローラ３から受信したＴｒｉｍコマンドに基づいて、消去対象データの消去処理を実行する。なお、Ｔｒｉｍコマンドには、消去対象データが格納された論理アドレス（ページ）を指定されている。このように、ＣＰＵ１１１は、対象記憶装置がＳＳＤであり、かつ、Ｔｒｉｍコマンドをサポートしている場合には、受信したＴｒｉｍコマンドによる消去処理を実行する。その後、ＣＰＵ１１１は処理を終了する。
【００６１】
一方、Ｓ２１５で、ＣＰＵ１１１は、消去対象データに対して、所定のデータを用いた上書きによる消去処理を実行する。なお、消去対象データは、コントローラ３から受信したＴｒｉｍコマンドに含まれる情報から特定できる。このように、ＣＰＵ１１１は、対象記憶装置がＳＳＤではない場合、または対象記憶装置がＳＳＤであってもＴｒｉｍコマンドをサポートしていない場合には、データの上書きによる消去処理を実行する。上書きによる消去処理では、例えば、消去対象データに対して０のデータを３回上書きする処理が行われる。あるいは、ランダム値のデータを上書きする処理が行われてもよい。なお、上書きの回数及び上書きに用いられるデータは、ＲＯＭ１１２に予め保存されていてもよい。
【００６２】
このような手順によって、ミラーリング用に複数の記憶装置が二次記憶装置として搭載される場合に、ジョブで使用された消去対象データの完全消去を、それぞれの記憶装置に適した消去モードで個別に実現することが可能である。それにより、ミラーリング用にＨＤＤとＳＳＤとが併用されるような場合であっても、各記憶装置に格納された消去対象データの消去処理を確実に行うことが可能になり、ＭＦＰ１のセキュリティレベルを向上させることができる。
【００６３】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６４】
１：ＭＦＰ、３：コントローラ、２０１：メインＣＰＵ、２０６：ディスクコントローラ、１００：ミラーリング装置、１０１：第１ストレージ、１０２：第２ストレージ、１１１：ＣＰＵ、１１４〜１１６：ディスクコントローラ（ＤＩＳＫＣ）
【図１】
2018063676.tif 000003
【図２】
2018063676.tif 000004
【図３】
2018063676.tif 000005
【図４】
2018063676.tif 000006
【図５】
2018063676.tif 000007
【図６】
2018063676.tif 000008
【図７】
2018063676.tif 000009