(57)【要約】【課題】ｅＭＭＣ上にスワップ領域のようなデータ領域を確保する場合、プログラム格納領域が圧迫されてしまい、またデータ消失可能性を増大させてしまう。  さらに、画像形成装置では一時的に画像データを保存するデータ領域を確保している事が多く、該データ領域は比較的容量が大きく、また書き換えも頻繁であるため、ｅＭＭＣの書き換え可能回数に達する時間が短くなってしまい、製品としての信頼性が低下してしまう。【解決手段】装置起動時に、ＨＤＤといったサブストレージが装着されていると判断された場合、ｅＭＭＣの全領域をＳＬＣモードに設定し、データ領域をＨＤＤに確保する。また、ｅＭＭＣ上に格納された必要なデータは、ＨＤＤに確保されたデータ領域に転送する。【選択図】図４
2017228010.tif 000002
【特許請求の範囲】
【請求項１】
１つのセルに対して２ビット以上の情報を記憶可能な第１のモードと、
１つのセルに対して１ビットの情報を記憶可能であって前記第１のモードよりも書き換え可能回数が多い第２のモードとを有し、
複数の領域毎にいずれかのモードが設定可能な不揮発性半導体記憶装置を、
備えた情報処理装置であって、
前記情報処理装置に補助記憶装置が装着されたことを判断する判断手段と、
前記補助記憶装置が装着されていると判断された場合、前記不揮発性半導体記憶装置の第１のモードが設定されている第１の領域を第２のモードに変更する変更手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記第１の領域は、データを記憶するための少なくとも１つ以上のデータ領域であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記補助記憶装置にデータ領域を作成することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記補助記憶装置のデータ領域に、前記不揮発性半導体記憶装置のデータ領域に格納されたデータを転送することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記データ領域は、
ＲＡＭの作業領域が不足した場合に前記ＲＡＭに記憶されたデータを一時的に退避させるためのスワップ領域と、
画像データを一時的に記憶する画像データ領域との、
少なくとも何れかを含むことを特徴とする請求項２に記載の情報処理装置。
【請求項６】
１つのセルに対して２ビット以上の情報を記憶可能な第１のモードと、
１つのセルに対して１ビットの情報を記憶可能であって前記第１のモードよりも書き換え可能回数が多い第２のモードとを有し、
複数の領域毎にいずれかのモードが設定可能な不揮発性半導体記憶装置を、
備えた情報処理装置の制御方法であって、
前記情報処理装置に補助記憶装置が装着されたことを判断する判断工程と、
前記補助記憶装置が装着されていると判断された場合、前記不揮発性半導体記憶装置の第１のモードが設定されている第１の領域を第２のモードに変更する変更工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項７】
請求項６に記載の制御方法を、コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、特に画像形成装置のストレージ、特に不揮発性半導体記憶媒体（ｅＭＭＣ）の制御に関するものである。
【背景技術】
【０００２】
近年、不揮発性半導体記憶装置としてｅＭＭＣ（embedded Multi Media Card）をメインストレージとして搭載する機器が増加している。
ｅＭＭＣを構成するＮＡＮＤ型フラッシュメモリは、最小記憶単位であるセルに含まれる電荷量によって情報を表現し、電荷の含み方によってタイプが大別される。
ＳＬＣ（Single Level Cell）は、１つのセルに対して１ビットの情報を記憶可能であり、ＭＬＣ（Multi Level Cell）は１つのセルに対して２ビット以上の情報を記憶可能である。
【０００３】
表１は、一般的なＮＡＮＤ型フラッシュメモリにおけるＳＬＣ、ＭＬＣそれぞれの書き換え可能回数および保持（リテンション）期間である。
フラッシュメモリ内のコントローラ機能やシステム全体の振る舞いによってばらつきがあるが、ＭＬＣに比べＳＬＣの方が信頼性を向上させることがわかる。
【０００４】
【表１】
2017228010.tif 000003
【０００５】
そうすると、ＭＬＣはＳＬＣに比べ記憶可能な情報量（記憶容量）は増加するというメリットがある。しかし、電荷量による情報の判定に精度が求められるため劣化しやすく、そのため、書き換え可能回数が少なく、データ保持（リテンション）期間が短いというデメリットを持つ。
一方で、ＳＬＣはＭＬＣに比べ記憶可能な情報量（記憶容量）は減るというデメリットがあるが、劣化に強いため、書き換え可能回数が多く、またデータ保持（リテンション）期間が長くデータ消失し難いというメリットもある。
【０００６】
ｅＭＭＣの中には、一方はＭＬＣモード、一方はＳＬＣモードとして領域（パーティション）毎に分割して使用可能な機能を持つものがある。
この機能により、領域の使い方に応じてＳＬＣモードとして利用するか、ＭＬＣモードとして利用するかを区別することが可能となる。
現在のｅＭＭＣ規格では、ＳＬＣモードはＭＬＣモードに比べ、記憶可能な情報量は半分になり、書き換え可能回数は３倍になるが、ＭＬＣモードからＳＬＣモードに設定を変更するとＭＬＣモードに再び設定することはできない。
また、ＭＬＣモードからＳＬＣモードに設定する際、格納されているデータは消去されてしまう。
【０００７】
ところで、一般的なＯＳ（オペレーティングシステム）は、ストレージにプログラムを格納するプログラム格納領域と、メモリのデータ等を一時的に退避するスワップ機能が用いるスワップ領域といったデータ領域を有する。
プログラム格納領域は、ＯＳやアプリケーション等の実行ファイルが格納される領域である。
またデータ領域の代表例としては、前述のスワップ領域以外にも画像データを一時的に保存する画像データ領域というものがある。
【０００８】
ｅＭＭＣ（またはＳＳＤ）はフラッシュメモリであるため、前述のとおり、書き換え可能回数に制限があるため、ＨＤＤ（ハードディスク）のような磁気記憶装置をサブストレージとして用いることがある。
このようにメインストレージをＳＳＤ、サブストレージをＨＤＤとしたシステム構成の場合、スワップ領域を両ストレージに確保し、電力状態に応じていずれかの電源供給を遮断する技術が知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開2011-95916号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１のように不揮発性半導体記憶装置上にスワップ領域のようなデータ領域を確保する場合、プログラム格納領域が圧迫されてしまい、またデータ消失可能性を増大させてしまう。
さらに、画像形成装置では一時的に画像データを保存するデータ領域を確保している事が多く、該データ領域は比較的容量が大きく、また書き換えも頻繁であるため、不揮発性半導体記憶装置の書き換え可能回数に達する時間が短くなってしまい、製品としての信頼性が低下してしまう。
【課題を解決するための手段】
【００１１】
上記課題を鑑み、本発明のストレージ制御手段は以下の構成を有する。
１つのセルに対して２ビット以上の情報を記憶可能な第１のモードと、１つのセルに対して１ビットの情報を記憶可能であって前記第１のモードよりも書き換え可能回数が多い第２のモードとを有し、複数の領域毎にいずれかのモードが設定可能な不揮発性半導体記憶装置を、備えた情報処理装置のストレージ制御手段において、前記情報処理装置に補助記憶装置が装着されたことを判断する判断手段と、前記補助記憶手段が接続されていると判断された場合、前記不揮発性半導体記憶装置の第１のモードが設定されている第１の領域を第２のモードに変更する変更手段と、を有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ｅＭＭＣを劣化に強いＳＬＣモードに設定することで、プログラムのデータ消失可能性の軽減することができる。また、書き換え回数が多く、容量の大きいデータ領域をサブストレージに確保することで、製品としての信頼性を向上させることができる。
【図面の簡単な説明】
【００１３】
【図１】本画像形成装置のブロック図の一例である。
【図２】実施例のｅＭＭＣのパーティション設定の例である。
【図３】実施例のｅＭＭＣ及びＨＤＤのパーティション設定の例である。
【図４】実施例のｅＭＭＣ及びＨＤＤの制御に関するフローチャートの例である。
【図５】他の実施例のｅＭＭＣ及びＨＤＤの制御に関するフローチャートの例である。
【図６】別の実施例のｅＭＭＣ及びＨＤＤの制御に関するフローチャートの例である。
【発明を実施するための形態】
【００１４】
本発明の実施例について、図面と共に以下に説明する。以下の説明では、画像形成装置内の不揮発性半導体記憶装置であるｅＭＭＣを例にとって説明するが、画像形成装置に限定されるものではなく、また、不揮発性半導体記憶装置も不揮発性の半導体記憶装置であれば、ＳＳＤやＵＳＢメモリ等のように何でもよく、ｅＭＭＣに限定されるものではない。
【実施例１】
【００１５】
以下、本発明を実施するための形態について図面を用いて説明する。
画像形成装置１の構成を図１の画像形成装置1のブロック図を用いて説明する。
画像形成装置１は、以下のものから構成される。操作部ユニット111は、本画像形成装置の操作や表示を行う。プリンタユニット112は、デジタル画像を紙デバイスに出力するエンジンである。
コントローラユニット100は、各デバイスや各ユニット全体を制御する。
【００１６】
コントローラユニット100は、いわゆる汎用的なＣＰＵシステムであり、以下のもので構成される。
ＣＰＵ101は、画像形成装置１全体を制御する。ブートロム102には、ブートプログラムが格納されている。ＲＡＭ103は、ＣＰＵがワークメモリとして使用し、プログラムを展開し、実行すると共に、データも格納する。ＳＲＡＭ104は、電力供給が遮断された場合でも画像形成装置1を動作させるために必要な設定情報等のデータを保持可能である。ＲＴＣ105は、時計機能を有している。
ｅＭＭＣ106は、ＣＰＵ101が実行するプログラムや各種データを格納し、メインストレージとしてＣＰＵ101が使用する。ＨＤＤ107は、取り外し可能で、サブストレージとしてデータを格納する。
【００１７】
さらに、ＵＳＢメモリやＵＳＢカードリーダー等のＵＳＢデバイスと接続可能なＵＳＢホストＩ/Ｆ108、外部装置とＵＳＢケーブルで接続可能なＵＳＢデバイスＩ/Ｆ109を有している。また、有線ＬＡＮおよび無線ＬＡＮで外部ネットワークに接続可能なネットワークＩ/Ｆ110も有している。
また、ＣＰＵ101はチップセット、バスブリッジ、クロックジェネレータ等のＣＰＵ周辺ハードウェアが多数含まれているが、説明の都合上、簡略化して記載しており、このブロック構成が本発明を制限するものではない。
【００１８】
コントローラユニット100の動作について、紙デバイスによる画像印刷を例に説明する。
利用者がＰＣからネットワークを経由して、もしくはＵＳＢメモリ等の可搬な記憶媒体を使って、外部から、各Ｉ/Ｆを介して画像印刷を指示すると、ＣＰＵ101がＲＡＭ103にＤＭＡ転送を行いデジタル画像データの一時保存を行う。
ＣＰＵ101はデジタル画像データがＲＡＭ103に一定量もしくは全て入ったことが確認できると、プリンタユニット112に画像出力指示を出す。このとき、ＣＰＵ101はプリンタユニット112にＲＡＭ103の画像データの位置を教え、プリンタユニット112からの同期信号に従ってＲＡＭ103上の画像データはプリンタユニット112に送信され、プリンタ装置112にて紙デバイスにデジタル画像データが印刷される。
【００１９】
複数部印刷を行なう場合、ＣＰＵ101がＲＡＭ103の画像データをｅＭＭＣ106もしくはＨＤＤ107に対して保存を行い、２部目以降は外部から画像を要求せずともプリンタユニット112に画像を送ることが可能である。
【００２０】
〔ＳＬＣ，ＭＬＣモードの領域の切り換え制御〕
次に、画像形成装置の起動時におけるｅＭＭＣ106のＳＬＣ，ＭＬＣモードの領域の切り換え制御について図２〜４を参照しつつ、説明する。
図２、３は、実施例１におけるｅＭＭＣ106のパーティション設定の例で、図２は、ＨＤＤ107未接続時、図３は、ＨＤＤ107接続時のものを表している。
それでは、図４のｅＭＭＣ106およびＨＤＤ107の制御に関するフローチャートに沿って説明する。
【００２１】
画像形成装置1のＣＰＵ101は、装置の起動時に各コントローラユニット100に搭載されている各デバイス構成を確認する（S401）。
次に、オプションストレージとして、ＨＤＤ107が接続されているかどうか判断する（S402）。ここで、ＨＤＤ107が接続されていないと判断された場合は、処理を終了する。このとき、ｅＭＭＣ106のパーディション設定は、図２に示す。
【００２２】
詳細には、プログラム格納領域201は、ＳＬＣモードとし、スワップ領域203と画像データ領域204等からなるデータ領域202は、領域を多くとるためにＭＬＣモードとするようにパーティションが設定されている。
【００２３】
また、S402において、ＨＤＤ107が接続されていたと判断された場合は、S403へ進む。
S403において、ｅＭＭＣ106にパーティションが形成され、ＭＬＣモードのデータ領域があるかどうか判断する。ＭＬＣモードのデータ領域がない場合は、以前の起動時にＭＬＣモードのデータ領域をＳＬＣモードに変更済みであるので、処理を終了する。一方、ＭＬＣモードのデータ領域がある場合は、S404に進む。
S404において、ｅＭＭＣ106のデータ領域をＳＬＣモードに設定する。続いてS405において、ｅＭＭＣ106のパーティション領域を結合し、ｅＭＭＣ106の全領域をＳＬＣモードに設定する。
このとき、ｅＭＭＣ106は、図３に示すように全領域が、プログラム格納領域301となっており、ＳＬＣモードである。
【００２４】
続いて、S406において、ＨＤＤ107にデータ領域302を作成する。
このときＨＤＤ107は、図３に示すようにスワップ領域303や、画像データ領域304を含むデータ領域302が形成されている。
S406の後、本処理を終了する。
【００２５】
このように設定することで、すでに格納されているプログラム領域を消去することなく、装置起動時にｅＭＭＣ106のＭＬＣモードの領域をＳＬＣモードに設定変更し、全領域をＳＬＣモードの領域とすることで、ｅＭＭＣ106のデータ保持期間を長く保障することができる。
また、ＳＬＣモードが全領域となることで、データ保持期間を長く保証できるプログラム格納領域の容量が向上でき、バージョンアップ等でプログラムが増大しても、ＨＤＤ107が装着されていれば、ｅＭＭＣ106の容量不足を防ぐことができる。
【００２６】
また、装置起動時は、データ領域は、何も格納されていないためデータの損傷は無い。そして、頻繁でかつ容量を必要とするデータ領域をＨＤＤに確保することによって、ｅＭＭＣの書き換え可能回数の劣化を防ぐことができる。
【実施例２】
【００２７】
実施例1では、一時的なデータ領域をオプションのＨＤＤに確保するものであった。
実施例２では、恒常的に保存を必要とし、記憶容量も必要な設定ファイルやユーザーが画像処理装置1のストレージにデータを一定期間保管するようなデータ領域をＨＤＤに確保する場合について説明する。
図５にフローチャートを示す。S501〜S503については、図４のS401〜S403と同じであるので、説明を省略する。
S504において、オプションストレージのＨＤＤ107にデータ領域302を作成します。
S505 において、ｅＭＭＣのＭＬＣモードのデータ領域202のデータをＨＤＤ107のデータ領域302に転送する。
S506〜S507は、S404 〜S405と同じであるので、説明を省略する。 
そして、本処理を終了する。
【００２８】
以上の処理に従えば、設定ファイルなど保存が必要なデータについては、装着されたオプションストレージに転送、格納した後に、ｅＭＭＣのＭＬＣモードの領域をＳＬＣモードに変更するので、データが消失することは回避できる。
【実施例３】
【００２９】
上記実施例１、２では、装置の起動時として、電源オンなどの通常の装置起動の場合におけるストレージ制御について説明した。実施例３では、ファームウエアなどをダウンロードした後に、装置を起動した場合のストレージ制御を行う場合について、実施例１のフローチャートに追加する形で説明する。
【００３０】
図６にストレージ制御のフローチャートを示す。実施例１との違いは、最初にファームウエアのダウンロード起動か操作者に問い合わせを行うステップが入っている点である。
最初に、S601で、ファームウエアのダウンロード起動かどうか操作者に問い合わせる。
操作者が、ダウンロード起動でない（「Ｎ」）を入力した場合、処理は終了する。
一方、ダウンロード起動である（「Ｙ」）を入力した場合は、続いてS602〜S607の処理を進める。これは、図４のS401〜S406に相当する。そして、処理を終了する。
【００３１】
以上によれば、プログラム領域が必要となるファームウエアなどをダウンロードした後の起動時に、ストレージ制御を行うので、通常の起動時には、すぐに装置が立ち上がるようになる。
なお、実施例２のストレージ制御においても、ダウンロード起動時に行うようにすることも可能である。
また、データ領域は、複数設けられていてもよく、それぞれのデータ領域を必要に応じてオプションストレージに移行すると共に、該データ領域をＳＬＣモードに変更するようにしても良い。
【００３２】
以上、本発明は画像形成装置を例にして説明したが、画像形成装置に限らず、ＰＣ（パーソナルコンピュータ）やスマートフォン等の携帯端末、サーバなど様々な情報処理装置に適用することができる。
また、オプションストレージはＨＤＤに限定されるものではなく、ＳＳＤ（Solid State Drive）のようなメインストレージであるｅＭＭＣより容量の大きいストレージが装着することも可能である。
【００３３】
(その他の実施例) 
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ＡＳＩＣ)によっても実現可能である。
【図１】
2017228010.tif 000004
【図２】
2017228010.tif 000005
【図３】
2017228010.tif 000006
【図４】
2017228010.tif 000007
【図５】
2017228010.tif 000008
【図６】
2017228010.tif 000009