(57)【要約】      （修正有）【課題】情報処理装置の不揮発メモリに残留するデータの効率的な上書き消去を実施可能とする。【解決手段】情報処理装置に投入されたジョブについて、セキュアな処理が必要であると判断Ｓ１０１された場合は、不揮発メモリに対する書き込み分散化機能を解除しＳ１０２、ジョブに基づいたデータ処理Ｓ１０３を完了後に、不揮発メモリ上の処理対象のデータの上書き消去処理Ｓ１０５を実施し、消去完了後に分散化機能を再び設定し直すＳ１０６。【選択図】図１
2015204073.tif 000002
【特許請求の範囲】
【請求項１】
処理対象のデータを不揮発メモリに保持する情報処理装置であって、
受信したジョブに基づいて、前記不揮発メモリに対する書込みを分散化する機能の設定を変更する制御手段と、
前記ジョブに基づいて前記不揮発メモリに保持しているデータを処理する処理手段と、
前記処理手段による前記ジョブの処理状態に基づいて、当該ジョブに関わるデータを保持している領域に所定の値を書き込むことで消去処理を実施する消去手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記書き込みを分散化する機能の設定を保持する設定保持手段をさらに備え、
前記制御手段は当該設定保持手段にアクセスすることで前記書き込みを分散化する機能の設定を変更することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記書込みを分散化する機能は、前記不揮発メモリの書き込みについてのウェアレベリングであり、前記制御手段は当該ウェアレベリングを無効化することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記書き込みを分散化する機能は、前記不揮発メモリについてランダムアクセスする機能であり、前記制御手段は当該書き込みを分散化する機能を無効化するために前記ランダムアクセスをシーケンシャルアクセスに変更することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記書き込みを分散化する機能は、前記不揮発メモリについて論理アドレスが無効化されている予備領域を設定する機能であり、前記制御手段は当該書き込みを分散化する機能を無効化するために前記予備領域を減らす様に変更することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記処理手段は処理対象のデータを印刷用のデータに展開する処理を実施し、
前記印刷用のデータの出力に基づいて、前記消去手段は前記処理対象のデータと前記印刷用のデータとを消去することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記処理手段は揮発メモリに保持された処理対象のデータを送信用のデータに変換して前記不揮発メモリに保持する処理を実施し、
前記送信用のデータの送信完了に基づいて、前記消去手段は前記送信用のデータを消去することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記制御手段は、前記消去手段による前記所定の値の書き込みの完了に基づいて、前記書込みを分散化する機能を有効化することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項９】
前記消去手段は前記ジョブのキャンセルを示す指示に応じて、前記処理対象のデータを消去することを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記消去手段は前記ジョブのキャンセルを示す指示に応じて、処理対象のデータから派生して生成するデータを格納するための予約領域に対して書込み処理を実施することを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
１つ以上のジョブを保持することができるキューと、キューが保持するジョブから前記処理手段によって処理させるジョブを決定する管理手段と、をさらに備え、
前記制御手段は、前記消去手段による前記消去処理が必要なジョブが前記キューに有るかどうかに応じて分散化する機能の変更を判断することを特徴とする請求項１乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
プリントエンジンを更に備え、前記消去手段は前記処理対象のジョブに設定されている印刷設定に基づいて、前記消去手段による消去処理のタイミングを制御することを特徴とする請求項１乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記ジョブは、前記処理手段の処理対象のデータを特定するための情報もしくは処理対象のデータと、前記処理手段による処理内容を規定する情報とを保持することを特徴とする請求項１乃至１２のいずれか１項に記載の情報処理装置。
【請求項１４】
ユーザインターフェースを更に備え、前記消去手段による消去処理を実施する指示をユーザから受け付けると、前記処理対象のジョブに関する情報を前記処理装置の内部に保持することを指定するための受け付け手段を無効化することを特徴とする請求項１乃至１３のいずれか１項に記載の情報処理装置。
【請求項１５】
不揮発メモリを備える情報処理装置に処理させる内容を規定したジョブを送信する際に、ユーザからの上書き消去の指示を受け付けて、前記情報処理装置に対して前記不揮発メモリに対する書込みを分散化する機能を変更するように指示する指示部を有する情報処理端末。
【請求項１６】
処理対象のデータを不揮発メモリに保持する情報処理装置における情報処理方法であって、
受信したジョブに基づいて、前記不揮発メモリに対する書込みを分散化する機能の設定を変更する制御工程と、
前記ジョブに基づいて前記不揮発メモリに保持しているデータを処理する処理工程と、
前記処理工程における前記ジョブの処理状態に基づいて、当該ジョブに関わるデータを保持している領域に所定の値を書き込むことで消去処理を実施する消去工程と、
を有することを特徴とする情報処理方法。
【請求項１７】
不揮発メモリを備える情報処理装置に処理させる内容を規定したジョブを送信する際に、
情報処理端末がユーザからの上書き消去の指示を受け付けて前記情報処理装置に対して前記不揮発メモリに対する書込みを分散化する機能を変更するように指示する指示工程、
を有する情報処理方法。
【請求項１８】
処理対象のデータを不揮発メモリに保持する情報処理装置を、
受信したジョブに基づいて、前記不揮発メモリに対する書込みを分散化する機能の設定を変更する制御手段、
前記ジョブに基づいて前記不揮発メモリに保持しているデータを処理する処理手段と、
前記処理手段による前記ジョブの処理状態に基づいて、当該ジョブに関わるデータを保持している領域に所定の値を書き込むことで消去処理を実施する消去手段として機能させることを特徴とするコンピュータが読み取り可能なプログラム。
【請求項１９】
コンピュータに、
不揮発メモリを備える情報処理装置に処理させる内容を規定したジョブを送信する際に、ユーザからの上書き消去の指示を受け付けて前記情報処理装置に対して前記不揮発メモリに対する書込みを分散化する機能を変更するように指示する指示工程を実行させることを特徴とするコンピュータが読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理端末、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
プリンタ等の情報処理装置において、秘匿性の高い印刷に用いたデータ（印刷用データ）を情報処理装置から他人によって回収されないようにするために、情報処理装置に残留する印刷用データを固定値やランダム値で上書き消去する技術がある。
【０００３】
ここで、ＨＤＤの代替として扱われる機会が増えてきているＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）においては、上書き消去が困難であることが知られている。これは、ＮＡＮＤ型フラッシュメモリを記憶素子として採用しており、素子への書込み回数が寿命に達すると素子が使えなくなってしまうため、書込みが集中しない様に、書込みを分散させているためである。書込みを分散させる手法の１つとして、ＳＳＤにアクセスするためのアドレス（論理アドレス）とＳＳＤの物理アドレスとの対応を変えてしまう手法がある。従って、大容量記憶装置としてＳＳＤを用いた情報処理装置において、印刷後に印刷用データの上書き消去を実施しようとしても、上書きしようとする値を消したい印刷用データへ上書きすることが、ＳＳＤの書き込み分散化機能によって困難となる。
【０００４】
特許文献１では、処理対象のデータを暗号化してＳＳＤへ書き込み、処理終了時に暗号化鍵を消去している。また、特許文献２では、消去対象データの場合はオンメモリで処理してＳＳＤへ記録しないようにしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−０１８５０１号公報
【特許文献２】特開２０１２−１９１３７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述のようにＳＳＤのデータを上書きしようとした場合に、ウェアレベリング機能等の書き込み分散化機能のために確実に上書することが困難になってしまう。一方で、このような書込み分散化機能を全く使用しないようにしてしまうと、書き込みの集中が発生しＳＳＤの寿命が極端に悪化するおそれがある。
【０００７】
また、特許文献１の技術では暗号化してＳＳＤに記憶したデータは残留し続ける。これは、将来的に暗号化プロトコルの解析等が進んでしまうことを考慮すると、上書き消去に比べるとあまり信頼性が高くない。一方、特許文献２の技術では、ＳＳＤで処理する場合と同等の能力にするためにはＳＤＲＡＭ等のメモリを大容量にする必要が生じるのであまりコストパフォーマンスが良くない。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明に係る情報処理装置は、処理対象のデータを不揮発メモリに保持する情報処理装置であって、受信したジョブに基づいて、前記不揮発メモリに対する書込みを分散化する機能の設定を変更する制御手段と、前記ジョブに基づいて前記不揮発メモリに保持しているデータを処理する処理手段と、前記処理手段による前記ジョブの処理状態に基づいて、当該ジョブに関わるデータを保持している領域に所定の値を書き込むことで消去処理を実施する消去手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ジョブや情報処理装置の状態に基づいて書込みを分散化する機能の設定を解除し、ＳＳＤに残留するデータの消去を効率的に実現することができる。
【図面の簡単な説明】
【００１０】
【図１】情報処理装置における分散化機能の設定を変更するフローチャートである。
【図２】（ａ）情報処理装置の構成を示す概略図である。（ｂ）ＳＳＤ部の構成を示す概略図である。
【図３】コンフィギュレーションレジスタの保持している情報を示す模式図である。
【図４】プリント機能を実現する機能構成を示す概略図である。
【図５】分散化機能を解除するフローチャートである。
【図６】印字処理と、印刷設定に応じたデータ消去と、を実施するフローチャートである。
【図７】分散化機能を設定するフローチャートである。
【図８】スキャンしたデータを変換して出力する処理を示すフローチャートである。
【図９】（ａ）ユーザ端末からプリントする際のシステム構成を示す概略図である。（ｂ）ユーザ端末からプリントを指示する際のユーザ端末側のＵＩを示す概略図である。
【図１０】（ａ）・（ｂ）プリント処理をするためのＵＩを示す概略図である。
【図１１】スキャン処理を設定するためのＵＩを示す概略図である。
【図１２】情報処理装置２００に完全消去の設定をするためのＵＩを示す概略図である。
【発明を実施するための形態】
【００１１】
《実施形態１》
以下、図面を参照して本発明の実施形態１を詳細に説明する。まず、図２（ａ）、（ｂ）を用いて実施形態１のハードウェア構成について説明する。
【００１２】
図２（ａ）は、本発明を適用可能な情報処理装置２００の構成を示す概略図である。ＲＯＭ２０６は後述のフローチャートを実現するためのプログラムを格納する。ＣＰＵ部２０１はＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｅｒ）２０４を利用し、ＲＯＭ２０６のプログラムをＲＡＭ２０２に展開し、ＲＡＭ２０２からプログラムを読み込んで後述のフローチャートの内容を含む処理を実行する。ＲＡＭ２０２はＤＤＲなどの規格に沿ったＳＤＲＡＭなどを含んでいてもよい。
【００１３】
ユーザはユーザインターフェース２０３（以下、単にＵＩと称す）を利用して、情報処理装置２００を操作して様々な機能を利用する。ＵＩ２０３は、複数のボタンやディスプレイ、タッチパネル等を含んでいてもよい。インターフェース２０５は有線や無線のネットワークインターフェースやＵＳＢ、ＰＣＩｅなどの外部インターフェースを含む。ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）部２０７はＳＳＤなどの不揮発性の記憶装置を備える大容量記憶装置であり詳細は後述する。画像処理部２０８はＣＰＵ部２０１の要求に応じて種々の画像処理を実施する。スキャナ２１０はラインセンサ等を含み原稿台や不図示のＡＤＦ（自動原稿供給装置）の原稿からスキャン画像データを取得する。プリントエンジン２１１の画像形成の方式としてはインクジェット方式や電子写真方式など種種の方式を採用できる。バス２１２は各構成を通信可能に接続するバスであり、デバイス制御部２０９はＣＰＵ部２０１と他の上記構成間のデータのやりとりを制御するチップセットなどを備える。
【００１４】
ユーザが情報処理装置２００のコピー機能を利用する際には、まずユーザはスキャナ２１０が原稿を読めるように原稿を配置する。そして、スキャナ２１０は原稿を走査して取得したスキャン画像データをＲＡＭ２０２に格納する。ＲＡＭ２０２に格納したスキャン画像データを、画像処理部２０８によって印刷用画像データに変換させるためＤＭＡＣ２０４がＣＰＵ２０１の指示に基づいて画像処理部２０８に転送する。そして、画像処理部２０８がスキャン画像データについてシェーディング処理や色空間変換処理（ＲＧＢ→ＣＭＹＫ）、γ補正処理などを実施する。
【００１５】
画像処理部２０８により画像処理されたスキャン画像データは、印刷用画像データとしてＤＭＡＣ２０４によってＳＳＤ部２０７に転送され蓄積される。ＳＳＤ部２０７に所定量の印刷用画像データが蓄積されるとＤＭＡＣ２０４によってさらにプリントエンジン２１１に転送され、プリントエンジン２１１が印刷用画像データに基づいて記録媒体に画像を印字する。
【００１６】
図２（ｂ）は、ＳＳＤ部２０７のより詳細な構成を示す概略図である。不揮発メモリ２１６はＮＡＮＤ型フラッシュメモリ（以下、単にフラッシュメモリと称す）などを含み、電荷の供給がなくても不揮発的に情報を保持できる。ここで、フラッシュメモリは複数の記憶素子を備えるページ単位で読み書き処理を実施し、さらに複数のページを１単位とするブロック単位で消去処理を実施するものとする。ＲＯＭ２１８はＳＳＤ部２０７を制御するためのプログラムを保持しており、プロセッサコア２１４が読み出して実行する。例えば、書込み分散化機能（ウェアレベリングなど）を実現するためのプログラムやＳ．Ｍ．Ａ．Ｒ．Ｔを実現するためのプログラムの一部を保持する。ここで、Ｓ．Ｍ．Ａ．Ｒ．Ｔとは、Ｓｅｌｆ−Ｍｏｎｉｔｏｒｉｎｇ，  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｐｏｒｔｉｎｇ  Ｔｅｃｈｎｏｌｏｇｙの略である。以下では、単にＳＭＡＲＴと記載する。なお、ＳＭＡＲＴについての詳細は後述する。
【００１７】
ウェアレベリングで用いられる手法として代表的なものは、ＳＳＤ部２０７の外部から指定されるアドレス（論理アドレス）を、実際に不揮発メモリ２１６にアクセスするアドレス（物理アドレス）に変換するテーブルを設ける。そして、変換テーブルにおける論理アドレスと物理アドレスの対応づけを変えて、書き換え回数が多くない素子に実際の書き換え操作が発生するようにする。
【００１８】
レジスタ群２１７はコンフィグレーションレジスタや、汎用レジスタを含む。汎用レジスタはプロセッサコア２１４が計算する中間値を保持するためのものであり、コンフィグレーションレジスタはプロセッサコア２１４がＳＳＤ部２０７を制御するための設定（パラメータ）を保持する設定保持部として機能する。このパラメータの詳細については後述する。ＩＦ２１３はバス２１２とプロセッサコアを接続し、例えばバス２１２を介して送られる情報を解釈してプロセッサコアに伝達する。キャッシュメモリ２１９はＳＲＡＭやＤＲＡＭを含み、不揮発メモリ２１６に書き込むデータや、不揮発メモリから読み出すデータを一時的に保持する。
【００１９】
ＩＦ２１５は不揮発メモリ２１６が備えるフラッシュメモリを制御するコントローラを含み、プロセッサコア２１４の指示に基づいて不揮発メモリ２１６のフラッシュメモリに対して読出しや書き出しなどの様々な処理を実行する。詳細には、ＩＦ２１５はプロセッサコアからのアクセス指示について、アクセスしようとする不揮発メモリ２１６のアドレスを保持するアドレスレジスタと、アクセス内容を示すコマンドを保持するコマンドレジスタとを備える。そして、これらのレジスタに保持した内容に沿って不揮発メモリ２１６を制御する。
【００２０】
次に、本実施形態の情報処理装置２００において、印刷出力する際の機能構成の概略を図４に沿って説明する。
【００２１】
ジョブ管理部４０１、制御部４０２、消去部４０３、ジョブキュー４０４はＣＰＵ部２０１がＲＡＭ２０２のプログラムを実行することで実現される。レンダラー４０５はＣＰＵ部２０１と画像処理部２０８によって実現される。ここで、ジョブキュー４０４やレンダラー４０５は、ＲＡＭ２０２やＳＳＤ部２０７の記憶領域を利用する。エンジン４０６はプリントエンジン２１１によって実現される。また、ジョブとは情報処理装置２００の処理内容を規定する情報と処理対象のデータを特定するための情報（もしくは処理対象のデータそのもの）とを保持するものとする。処理対象のデータを特定するための情報とは処理対象のデータの格納場所を示す情報（リンク情報）や、処理対象のデータと関連づけられたインデックス情報（識別情報）などがある。
【００２２】
印刷出力する際には、まずユーザがＵＩ２０３やユーザ端末などの外部装置を用いて、情報処理装置２００に実行させる処理の内容を規定するジョブを発行する。ジョブは情報処理装置２００のジョブキュー（スプーラ）４０４に貯められる。そして、ジョブキュー４０４が保持している１つ以上のジョブは、ジョブ管理部４０１の制御によって処理する順序やタイミングが決定される。例えば、ユーザ端末から発行されたジョブについては情報処理装置側のＵＩ２０３でユーザ認証を行う。そして、ジョブ管理部４０１がユーザ認証済みであることを確認したタイミングで、ユーザ認証済みのジョブについて他のジョブより優先的に処理する対象のジョブとしてレンダラー（描画部）４０５へ送信する。ジョブ管理部４０１、制御部４０２、消去部４０３の動作の詳細については後述する。
【００２３】
レンダラー４０５は処理対象ジョブに関連して処理する対象のデータに基づいて、プリントエンジン２１１に適用する印刷用データに変換してエンジン４０４へ送信する。ここで、処理対象ジョブに関連して処理する対象のデータとは、文書データ、画像データなどである。プリントエンジン２１１に適用する印刷用データとは、プリントエンジン２１１で扱う色材に応じたデータ、ＣＭＹＫビットマップデータなどである。エンジン４０４はプリントエンジン２１１を利用し、印刷用データに基づいて印刷物を出力する。
【００２４】
次に、本実施形態の情報処理装置２００の動作について図１に沿って説明する。図１は、情報処理装置２００がジョブに応じて分散化機能の設定を変更する処理の概略を示すフローチャートである。
【００２５】
ステップＳ１０１では、ジョブ管理部４０１がジョブキュー４０４に受信したジョブについて、ジョブ種やユーザ情報に基づいて、セキュアな処理が必要かどうかを判断する。ここで、本明細書においてセキュアなジョブとは、処理対象のデータを処理後に再利用されることが好ましくないジョブとする。例えば、ユーザが機密情報を印刷し、印刷が完了（またはキャンセル）した後、ユーザが意図せずに情報処理装置２００に機密情報が残留してしまうことは好ましくない。
【００２６】
セキュアな処理が必要であると判断されたジョブについては、制御部４０２がステップＳ１０２でＳＳＤ部２０７への書き込みを分散化する機能（以下、単純に分散化機能と称す）の解除をする。分散化機能の解除処理についての詳細は後述する。
【００２７】
次に、ステップＳ１０３でジョブ管理部４０１はセキュアなジョブを処理対象ジョブとして優先的にレンダラー４０５へ送信し、レンダラー４０５によってジョブに基づいたデータ処理（図４の例では印刷用データへの変換処理）を実施する。ステップＳ１０４では、レンダラー４０５がデータ処理を完了しているか、または、ジョブ管理部４０１によって処理のキャンセルを検出したか、を判断する。図４の例では、レンダラー４０５がエンジン部に印刷用データを出力終えたことを以ってデータ処理を完了し、消去部４０３に通知を出している。ステップＳ１０４でＮＯと判断した場合はステップＳ１０３に戻る。
【００２８】
ステップＳ１０４でＹＥＳと判断すれば、ステップＳ１０５に遷移し、消去部４０３がセキュアなジョブで扱ったデータのうち不揮発な記憶領域に保持されたものを優先して所定の値（ゼロや固定値やランダム値）で上書き消去する。上書き消去する前に、ジョブ管理部４０１はジョブキュー４０４でスプールしているジョブに含まれるデータの場所を消去部４０３へ通知する。レンダラー４０５は変換した印刷用データを格納した場所を消去部４０３へ通知し、消去部４０３は通知を受けたデータについて上書き消去を実施する。ここで、消去部４０３は分散化機能を解除した状態で通知を受けたデータに上書き処理を実施することで、好ましく上書き消去を実施できる。ここで上書き消去について説明を補足する。素子単位での上書き（ｏｖｅｒｗｒｉｔｅ）はＮＡＮＤ型フラッシュメモリでは困難とされ、実際に上書きしようとする場合は上書き前にデータの消去（ブロック消去やセキュアイレース）が必要である。本明細書では、「上書き消去」とは、同じ物理アドレス（詳細にはページに相当する物理アドレス）に対して所定の値を書き込むことにより間接的に上書きして消去する処理を指すものとする。
【００２９】
そして、通知を受けたデータについての上書き処理を消去部４０３が完了すると、ステップＳ１０６においで制御部４０２がステップ１０２で解除した分散化機能を再び設定し直す。分散化機能の設定処理についての詳細は後述する。
【００３０】
なお、ステップ１０１でセキュアな処理が必要な処理でないと判断された場合は、制御部４０２は分散化機能の設定を変更せずにステップＳ１０７でレンダラー４０５によって通常のデータ処理をする。また、説明の簡便のため印刷処理の機能構成しか例示しないが、機能毎に図４の構成を備え並列処理するようにしてもよい
＜分散化機能の設定変更処理＞
次に制御部４０２が分散化機能の設定を変更する処理について、図５と図７を用いて説明する。
【００３１】
図５はステップＳ１０２で制御部４０２が分散化機能を解除する処理の詳細を示すフローチャートである。ステップＳ５０１で、制御部４０２がジョブ管理部４０１から処理対象のジョブに関連するデータついて上書き消去を実行するように指示を受けると、ステップＳ５０２で、制御部４０２がセキュアなジョブの処理に必要なタスク以外へのタスクへのタスクスイッチを制限する。これにより、セキュアなジョブの処理が優先される。
【００３２】
次にステップＳ５０３で、制御部４０２はＣＰＵ部２０１によってＳＳＤ部２０７の分散化機能（以降の説明では、ウェアレベリングを例に説明する）を解除（無効化）する指示を発行する。ステップＳ５０４では、ＳＳＤ部２０７のプロセッサコア２１４がキャッシュメモリ２１９にライトデータが無くなるまで待機する。これは、不揮発メモリ２１６への書込み中に分散化のプロトコルが変わってしまい、不具合が発生してしまうことを抑制するためである。
【００３３】
そして、ステップＳ５０５でプロセッサコア２１４がレジスタ群２１７のコンフィグレーションレジスタの内容を変更する。コンフィグレーションレジスタの変更内容の詳細は後述する。
【００３４】
ステップＳ５０６でプロセッサコア２１４は自己リセットをかけてプロセッサコアに読み込んでいるパラメータをクリアし、リセットから復帰した後はステップＳ５０５で変更したコンフィグレーションレジスタの内容に従って、ＳＳＤ部２０７の各構成を制御する。
【００３５】
次に、図７はステップＳ１０６で制御部４０２が分散化機能を設定する処理を示すフローチャートである。
【００３６】
まず、ステップＳ７０１でジョブ管理部４０１がジョブキュー４０４に上書き消去が必要なジョブが有るかどうかを判定する。
【００３７】
ステップＳ７０１でジョブキュー４０４に上書き消去が必要なジョブが無いことが確認できた場合は、ステップＳ７０２で制御部４０２がＣＰＵ部２０１によってＳＳＤ部２０７の分散化機能を設定（有効化）する指示を発行する。本実施形態では、分散化機能とはウェアレベリングである。
【００３８】
そして、ステップＳ７０３でＳＳＤ部２０７のプロセッサコア２１４がキャッシュ２１９にライトデータが無くなるまで待機する。さらに、ステップＳ７０４でプロセッサコア２１４がレジスタ群２１７のコンフィグレーションレジスタの内容を変更する。コンフィグレーションレジスタの変更内容の詳細は後述する。
【００３９】
ステップＳ７０５でプロセッサコア２１４は自己リセットをかけて、復帰後はステップＳ７０４で変更したコンフィギュレーションレジスタの内容に従って、ＳＳＤ部２０７の各構成を制御する。
【００４０】
そして、ステップＳ７０６では、ステップＳ５０２で制限したタスクスイッチを制御部４０２が解除する。
【００４１】
一方で、ステップＳ７０１においてジョブキュー４０４に上書き消去が必要なジョブが少なくとも１つでも保持されていれば、ジョブ管理部４０１は次に処理する対象のジョブが確定するまでウェアレベリングを有効化する指示の発行を待つ。これは、次に実行するジョブが上書き消去の必要なジョブであれば、分散化機能の設定を変更する回数を減らせるためである。もちろん、ステップＳ７０１の処理を抜いてジョブキュー４０４の内容に関わらず分散化機能を有効化するようにしてもよい。
【００４２】
図６は上書き消去が必要な印刷ジョブを情報処理装置２００が実行する際の、データ処理から消去処理までの処理内容の詳細を示すフローチャートである。
【００４３】
レンダラー４０５がステップＳ６０１で処理対象のジョブに基づいて処理対象のデータを取得し、ステップＳ６０２では確保した記憶領域の所定箇所に印刷用データを展開して格納する。そして、レンダラーはエンジン部４０６が準備できていれば、印刷用データをページ単位でエンジン部４０６へ出力する。
【００４４】
エンジン部４０６は、ステップＳ６０３で、受け取ったページ単位の印刷データに基づいて印刷処理を実行する。
【００４５】
ここで、レンダラー４０５は処理対象のジョブの印刷設定がページ単位であるか部単位であるかを判断する。例えば、３ページの文書を２部印刷する際に、ページ単位では「１ページ目、１ページ目、２ページ目、２ページ目、３ページ、３ページ」の順に印字する。部単位では「１ページ目、２ページ目、３ページ目、１ページ目、２ページ目、３ページ目」の順に印字する。
【００４６】
ステップＳ６０４でページ単位と判断された場合は、ステップＳ６０５でレンダラーが１ページ目を２回エンジン部４０６へ出力した後に、消去部４０３に１ページ目に相当する印刷用データの格納箇所と上書き消去の指示をする。そして、消去部４０３はプロセッサコア２１４等を用いて１ページ目の印刷用データの格納箇所に固定値やランダム値の上書き処理を実行する。ステップＳ６０４で部単位と判断された場合は最終部印刷まで待機してからステップＳ６０５、Ｓ６０６を実施する。
【００４７】
次に、レンダラー４０５は最終ページまでエンジン部４０６へ出力したかどうかを判定し、最終ページへ達するまでステップＳ６０５の処理を実施する。
【００４８】
最終ページへ達していたら、ステップＳ６０７に遷移し、プロセッサコア２１４はＳＳＤ部２０７のキャッシュメモリ２１９をクリアする。ただし、ステップＳ５０２でタスクスイッチを制限する前からキャッシュメモリ２１９に保持しているリードデータについては、プロセッサコア２１４はクリアせずに保護する。
【００４９】
ステップＳ６０８でジョブ管理部４０１は、ステップＳ６０５の処理を全ページについて実行した処理対象のジョブについて、消去処理を実行したことを示す消去フラグを処理対象のジョブを示す識別情報と関連付けてジョブ履歴としてＳＳ部２０７などに格納する。
【００５０】
なお、ステップＳ６０４で部単位の印刷と判断された場合は、ステップＳ６０９に遷移し最終部（Ｎ部目）の印刷まで自己遷移し、最終部の印刷が始まるとステップＳ６０５に遷移する。以降の処理はページ単位の処理と同様であるので説明を省略する。
【００５１】
次に、ステップＳ１０３の別の処理として、スキャンした内容を外部端末等に送信する処理を情報処理装置２００が実行する際の、データ処理の概略を図８のフローチャートに沿って説明する。
【００５２】
ステップＳ８０１で、スキャナ２１０が読み取り対象の原稿についてスキャンを実施し、センサで読み取ったスキャンデータをＤＲＡＭ２０２に蓄積する。ステップＳ８０２で画像処理部２０８がＤＲＡＭ２０２のスキャンデータを送信用のデータ（たとえば、ＰＤＦドキュメントやＪＰＥＧ等）に変換してＳＳＤ部２０７に蓄積する。ステップＳ８０３でＩＦ２０５はＳＳＤ部２０７に蓄積した送信用のデータを、ユーザから指定された宛先の外部装置に送信する。宛先の外部装置から受信完了通知を受け取ったり、所定時間待ったりしてから処理を完了する。宛先の外部装置から所定時間内に再送要求があれば再送してもよい。
【００５３】
この後は、印刷時の処理と同様にステップＳ１０５で処理対象のデータと送信用のデータとの上書き処理を実施する。なお、スキャン時にはＤＲＡＭ２０２上のスキャンデータとＳＳＤ部２０７の送信用データとが、処理対象のデータであるが、本実施形態ではＤＲＡＭ２０２のスキャンデータは揮発性の記憶領域に保持されているので上書き処理でなくてもよい。ただし、スキャンデータも不揮発性の記憶領域に保持するのであればステップＳ１０５で上書き処理することが好ましい。
【００５４】
＜コンフィグレーションレジスタの内容＞
図３を用いて、コンフィグレーションレジスタの内容の詳細と、分散化機能の解除処理と設定処理について説明する。
【００５５】
ウェレベリング実施有無情報３０１は、ＩＦ２１５による不揮発メモリ２１６への書き込み処理についてウェアレベリングを実施するかしないかを示す。予備領域サイズ情報３０２は、ＳＳＤ部２０７外部からアクセスできない領域のサイズ（容量、割合）を示す。この予備領域は、ウェアレベリング時に予備領域とユーザがアクセスできる領域を交換するものでオーバー・プロビジョニングとも呼ばれる。例えば、予備領域を５０％とすると予備領域が０％の場合と比べて、見かけの記憶容量は半分程度になってしまうが、半分の記憶容量についての寿命は２倍程度になるとされる。また、予備領域に設定されている領域は空いていることが保証されている。従って、ＳＳＤにおけるライトアンプリフィケーション（ガベージコレクションとウェアレベリングによって、実際に書き込んだ情報よりも不揮発メモリ２１６内での書き込み情報が増加してしまう現象）が低減する。
【００５６】
ランダム・シーケンシャルライト情報３０３は、ＩＦ２１５による不揮発メモリ２１６への書き込み処理について、ブロック内・ブロック外の其々についてどういう書き込みを用いるかを示している。例えば、ブロック内について、シーケンシャルライト（シーケンシャルアクセス）を示す場合はブロック内の各ページをページ番号の小さい方から順に書き込む。一方、ランダムライト（ランダムアクセス）を示す場合はブロック内の各ページについて不規則に書き込む。同様に、ブロック外について、シーケンシャルライトを示す場合は各物理ブロックについて物理アドレス（物理ブロック番号）の小さい方から順に書き込む。一方、ランダムライトを示す場合は各物理ブロックについて不規則に書き込む。また、ブロック内、ブロック間の其々について個別に書き込み回数の平準化処理を個別に設定できる。
【００５７】
また、ＳＭＡＲＴ情報３０４は、ＣＰＵ部２０１によって発行されるＳＭＡＲＴコマンドに対する戻り値を含んでいる。ＳＭＡＲＴとはデバイスに内蔵された自己診断機能であり設定されている検査項目について  ＳＳＤ部２０７からＣＰＵ部２０１側に情報を提供することで、ＣＰＵ部２０１からＳＳＤ部２０７を診断できるようにする機能である。
【００５８】
ＳＭＡＲＴの検査項目としては、不揮発メモリ２１６に対するリードエラーの発生率、ＳＳＤ部２０７のスループット、予備領域のブロック数、ＳＳＤ部２０７に対する書き込みブロック数、ＳＳＤ部２０７からの読出しブロック数、などがある。これらの項目に関する情報を、ＳＭＡＲＴ機能を実現するためのＳＭＡＲＴ情報として称す。
【００５９】
なお、このコンフィグレーションレジスタの内容はＣＰＵ部２０１からプロセッサコア２１４へ指示することによって変更することができる。
【００６０】
また、実施有無情報３０１として複数のウェアレベリングのプロトコルの種類を示す情報を格納するようにしてもよい。その際には、ウェアレベリング無効をプロトコルの１種類として扱えばよい。ウェアレベリングのプロトコルとしては、アクセス指示のあったブロック内で書込み回数の小さいページに書き込むように制御するプロトコルや、書込み回数の小さい空きブロックについてシーケンシャルに書き込むように制御するプロトコルがある。
【００６１】
また、本実施形態では説明の簡便のためプログラム的に書き込み分散化処理を実現するように説明しているが、プロセッサコア２１４とは別にＩＦ２１５の中にハードワイヤードロジックを設けて分散化処理の一部を実現するようにしてもよい。
【００６２】
次に、分散化機能を有効化・無効化する際のレジスタ設定の変更の例を示す。
【００６３】
ＳＳＤ部２０７の起動に伴って、レジスタ群２１７の値は固定値に初期化され、そしてＣＰＵ部２０１からプロセッサコア２１４へ指示することによってレジスタ群２１７の値を変更することでウェアレベリングを設定する。
【００６４】
例えば、ウェアレベリングを設定する場合は、ＣＰＵ部２０１は情報３０１〜３０３として、“１、２０、１”の値がレジスタ群２１７に書き込まれるようにプロセッサコア２１４を制御する。最初の“１”は、ウェアレベリングを実施することを示し、次の“２０”は論理アドレスの２０％を無効化（論物テーブルにおいて無効化）して予備領域を２０％確保することを示す。そして、最後の“１”はランダムにライトアクセスすることを示す。ＳＭＡＲＴ情報３０４はＣＰＵ部２０１から書込む内容ではないので説明を省略する。
【００６５】
一方で、ウェアレベリング無効にする場合は、ＣＰＵ部２０１は情報３０１〜３０３として、“０、０、０”の値がレジスタ群２１７に書き込まれるようにプロセッサコア２１４を制御する。最初の“０”はウェアレベリング実施しないことを示し、次の“０”は予備領域を０％にすることを示す。そして、最後の“０”はシーケンシャルにライトアクセスすることを示す。なお、分散化機能を低下させるだけであれば、情報３０１と情報３０２に“０”を設定するだけであってもよい。
【００６６】
次に、図９（ａ）、図９（ｂ）を用いて、本実施形態においてユーザ端末から印刷処理を実施するユーザインターフェースの概略を説明する。
【００６７】
図９（ａ）において、ユーザ端末９０４（情報処理端末）は図２で示す情報処理装置２００と同様の構成（スキャナ２１０とプリントエンジン２１１は無い）である。ただしユーザ端末９０４は、ＵＩ２０３としてディスプレイやキーボードやマウスなどを備えている。
【００６８】
ユーザは、ユーザ端末９０４内のファイルやネットワーク上のファイルを印刷対象のファイルとして選択した後、ユーザ端末９０４のＵＩ２０３を用いて情報処理装置２００に投入する印刷ジョブの詳細を設定する。
【００６９】
図９（ｂ）は、ユーザ端末９０４のＵＩ２０３のディスプレイに表示される画面である。点線枠９０１は完全消去を実行するかどうかを設定する箇所である。ここで完全消去とは、このジョブについて情報処理装置２００内部のジョブキュー４０４やレンダラー４０５等に残留するデータの上書き消去処理を示す。点線枠９０２は部単位の印刷かページ単位の印刷かを設定する箇所であり、点線枠９０３は印刷部数を設定する箇所である。
【００７０】
次に図１０（ａ）、図１０（ｂ）を用いて、ユーザが情報処理装置２００のＵＩ２０３を操作して、情報処理装置２００でジョブを新たに設定したり、ユーザ端末９０４など外部から投入された印刷ジョブについて更に設定したりする処理を説明する。
【００７１】
表示１００１は各ジョブについて完全消去が設定されているかどうかを示す。例えば、表示１００１がタッチされると、完全消去の設定が有効になり表示が反転する。表示１００２は印刷対象として選択されているかどうかを示す。例えば、表示１００２がタッチされると、印刷対象として有効になりボックスにチェックマークが入る。この箇所を表示１００３は、各ジョブのプロパティー（文書名、印刷設定、ページ・部数、ファイルサイズなど）を示す。例えば、図１０（ａ）の「Ｄｏｃｕｍｅｎｔ＿００４．ｐｄｆ」という文書名のジョブは、Ａ４サイズの媒体にモノクロ印刷で、両面の其々に１ページずつ割り当てて印刷することを示している。また、このジョブは印刷対象および完全消去対象として選択済みである。ボタン１００４は印刷対象として選択しているジョブの選択を解除するためのもので、ボタン１００５は印刷対象として選択されたジョブを削除するためのものである。ボタン１００６は印刷開始もしくは完全消去を開始するためのボタンである。
【００７２】
なお、ボタン１００５によるジョブの削除は完全消去に相当しない。印刷を実行せずに完全消去する際には、図１０（ｂ）のように完全消去だけ反転させればよい。その際には、ボタン１００４とボタン１００５は無効化され、ボタン１００６の表記が切り替わる。
【００７３】
次に図１１を用いて、ユーザが情報処理装置２００のＵＩ２０３を操作して、ドキュメントをスキャンする設定する処理を説明する。
【００７４】
表示１１０１はスキャンデータが情報処理装置２００に残留する際に、そのデータについて上書き処理を実施する旨を示す。ユーザが表示１１０１をタッチ等して、チェックマークが表示された際に設定が有効化されている。ボタン１１０４は宛先を指定するためのボタンで、ユーザが押下することによって設定ウィンドウ１１０２が開かれる。ウィンドウ１１０２内にはボタン１１０３やボタン１１０５、ボタン１００６が配置される。ボタン１１０３はアドレス帳を参照して送信先を設定するためのボタンであり、ボタン１００５は外部ストレージを保存先として設定するためのボタンである。ボタン１１０６は情報処理装置２００の内部ストレージ内のフォルダから送信先（保存先）を設定するためのボタンである。外部ストレージとは、例えば、ＩＦ２０５にＵＳＢによって接続される可搬メディア（ＵＳＢフラッシュメモリなど）がある。内部ストレージとしてはＳＳＤ部２０７の記憶領域の一部が提供される。ただし、図１１に示す画面では完全消去１１０１が有効になっているので、情報処理装置２００内に保持することは好ましくない。よって、ボタン１１０６（情報処理装置２００内部に保持することを指定するための指示受け付け部）は選択できないように無効化されている。
【００７５】
プロパティー表示１１０８はスキャン処理の設定をする箇所であり、タッチ等することでプルダウン形式により複数の設定項目が表示され、ユーザが好ましいものを選択する。図１１の表示であると、スキャン画像としてカラー画像とグレースケール画像のどちらを生成するかは原稿に応じた自動判別モードとなっている。スキャン解像度は３００×３００ｄｐｉに設定され、生成するスキャン画像のファイル形式としては高圧縮ＰＤＦとなっている。
【００７６】
以上のように、本実施形態では情報処理装置２００に投入されるジョブに基づいて、情報処理装置２００内部の不揮発メモリに対する書き込み分散化機能の設定を変更している。そして、情報処理装置２００によるジョブの処理状態（キャンセル、送信完了、変換完了など）に基づいてタイミングを判断し、上書き消去処理を実施している。これらによって、簡易な構成でセキュアなジョブに関するデータについて上書き消去しやすくすることができる。
【００７７】
なお、上述の説明ではステップＳ５０２においてタスクスイッチを制限することにより、セキュアな処理が必要ない他のジョブを並行して処理することを抑制している。しかし、セキュアな処理が必要ないジョブについての処理効率を考慮して、タスクスイッチの制限を解除してもよい。例えば、セキュアな印刷ジョブを処理中に他のスキャン処理を実施可能にしてもよい。
【００７８】
《実施形態２》
実施形態１は、情報処理装置２００にこれから処理をさせるためのジョブを投入するユーザによって完全消去の設定をしていた。実施形態２では情報処理装置２００の環境設定をするようなユーザ（以降、管理者と称す）によって完全消去の設定をするものである。実施形態１と同一機能を有する構成や工程には同一符号を付すとともに、構成的、機能的にかわらないものについてはその説明を省略する。
【００７９】
図１２（ａ）は、管理者が情報処理装置２００について完全消去の設定をするＵＩの概略を示す。
【００８０】
チェックボックス１２１１は、完全消去が実施できる全てのジョブについて情報処理装置２００に残留するデータの完全消去を実施するための設定をするものである。ボタン１２１２は設定の有効範囲の条件を示し、図１２（ａ）では「特定ユーザに設定」、「特定の機能に設定」の２つのボタン１２１２がある。チェック１２１３はボタン１２１２の条件が有効になっているかどうかを示す。図１２（ａ）では「特定の機能に設定」が有効になっている。ボタン１２１４はボタン１２１２の条件の詳細を設定するためのボタンであり、ユーザにタッチ等されることによって、設定窓１２１５が表示される。設定窓１２１５には複数の設定項目１２１６が表示され、この中からユーザが完全消去を有効にしたい機能を選択する。図１２（ａ）であると、セキュアプリントが選択されている。
【００８１】
ここで、実施形態１で説明していない機能について説明を補足する。「保存ファイル」とは、情報処理装置２００内に保存してあるファイルを利用して印刷出力する機能であり、必要に応じて何度でも出力することができる。「受信トレイ」とは情報処理装置２００がＦＡＸ受信したファイルを一時保持するフォルダであり、ここから印刷出力する。
【００８２】
「セキュアプリント」は、ユーザ端末などから印刷出力のジョブが投入されても、情報処理装置２００に対してユーザが直接的な個人認証をするまで印刷を保留する機能である。直接的な個人認証としては、パスワードを情報処理装置２００のＵＩ２０３に入力させたり、ＩＤカードを情報処理装置２００のカードリーダー（不図示）に通させたりする。「リモートスキャナ」とは、ユーザ端末側のスキャナを用いて情報処理装置２００にスキャン画像を保存したり、情報処理装置２００に印刷出力させたりする機能である。
【００８３】
図１２（ｂ）は、完全消去の設定がされた画面の一例を示す。ボタン１２１８は、複数の条件１２１２が選択された場合の論理条件（ＡＮＤ、ＯＲなど）を選択するためのボタンである。表示１２１７は「特定ユーザに設定」する条件について、さらに詳細に設定された内容を示す。表示１２１９は「特定の機能に設定」する条件についてさらに詳細に設定された内容を示す。
【００８４】
図１２（ｂ）の例であるとＡＮＤが選択されているので、グループ２に属する１人以上のユーザについて、「コピー、ファックス、スキャン、リモートスキャナ」を実施する際に完全消去が実施される。
【００８５】
以上、本実施形態によれば管理者が完全消去を実施する対象となるジョブの条件を一括して設定するので、個別のユーザがジョブを投入するたびに完全消去の設定をする必要が無くなり、実施形態１を単独で実施するよりも使い勝手がよくなる。
【００８６】
また、実施形態２で「全てのジョブに適用する」と設定される場合には、分散化機能を無効化するように情報処理装置２００のモードを切り替えるようにしてもよい。なお、実施形態１と実施形態２とを併用することも可能である。
【００８７】
また、上述の実施形態では、説明の簡便のため処理の完了を待ってから上書き消去処理を実施するフローを説明した。しかし、ジョブのキャンセルを示す指示を割り込みとして扱い、ジョブのキャンセルを示す割り込みに応じて上書き消去処理を実行するようにしてもよい。その場合には、処理対象のデータの上書き処理に加えて、処理対象のデータから派生して生成する印刷用のデータや送信用のデータなどを格納するための予約した領域（予約領域）について上書き処理を実施することが好ましい。
【００８８】
また、上述の実施形態では、ジョブの投入に応じて書き込みを分散化する機能を無効化するようにしているが、上書き消去処理の直前に書き込みを分散化する機能を無効化するようにしてもよい。
【００８９】
また、上述の実施形態では、上書きした所定の値についての説明を省略した。上書きした所定の値についてはＣＰＵ部２０１からＳＳＤ部２０７に対してＡＴＡ規格のＴＲＩＭコマンドを発行し、当該上書きした所定の値が無効な内容であることを通知すればよい。尚、ＳＣＳＩ規格のＲＩＭコマンドは、ＷＲＩＴＥ  ＳＡＭＥコマンドにＵＮＭＡＰ設定、またはＵＮＭＡＰコマンドになる。
【００９０】
または、ＯＳ（オペレーションシステム）のファイルシステムがｅｘｔ４などであればｄｉｓｃａｒｄコマンドをＣＰＵ部２０１が発行するようにしてもよい。
【００９１】
また、当該上書きした所定の値について、ＳＳＤ部２０７でリクラメーション（ガベージコレクションとも呼ぶ）する際に、書き込み可能な状態に初期化するようにしてもよい。
【００９２】
また、図９を用いて情報処理装置２００からみて外部のユーザ端末からジョブを投入する形態について説明したが、ユーザが点線枠９０１にて完全消去を指示した場合に、ユーザ端末９０４から情報処理装置２００に対してモードを切り替えるようにしてもよい。詳細には、ユーザ端末はジョブを送信する前に情報処理装置２００に対して書込み分散化機能を無効化するように、指示部としてのＣＰＵ部２０１からモード切り替え指示を出す。そして、情報処理装置２００からモードが切り替わったことの応答が返って来てからジョブを送信する。情報処理装置２００の制御部４０２は情報処理端末９０４からの指示に基づいて分散化機能を無効化する。このようにすれば、スプーラのジョブについても分散化して書き込まれることが少なくなり、上書き消去がしやすくなる。
【００９３】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015204073.tif 000003
【図２】
2015204073.tif 000004
【図３】
2015204073.tif 000005
【図４】
2015204073.tif 000006
【図５】
2015204073.tif 000007
【図６】
2015204073.tif 000008
【図７】
2015204073.tif 000009
【図８】
2015204073.tif 000010
【図９】
2015204073.tif 000011
【図１０】
2015204073.tif 000012
【図１１】
2015204073.tif 000013
【図１２】
2015204073.tif 000014