(57)【特許請求の範囲】
【請求項１】
書込み回数の制限を有する第１の不揮発性記憶装置のみにデータを書込む通常書込み部、
前記第１の不揮発性記憶装置と書込み回数の制限のない第２の不揮発性記憶装置の両方にデータを書込むバックアップ書込み部、
前記第２の不揮発性記憶装置のみにデータを書込む代替書込み部、並びに、前記通常書込み部、前記バックアップ書込み部及び前記代替書込み部のうちの１を選択する判定部として電子機器のコンピューターを機能させ、
前記判定部は、
前記第１の不揮発性記憶装置の不良ブロックの数を検出し、
前記不良ブロックの数が第１の閾値未満であれば前記通常書込み部を選択し、
前記不良ブロックの数が第２の閾値以上であれば前記代替書込み部を選択し、
前記不良ブロックの数が前記第１の閾値以上かつ前記第２の閾値未満であれば、前記第１の不揮発性記憶装置のパーティションのうち書込み頻度が高いものについて前記バックアップ書込み部を、書込み頻度が低いものについて前記通常書込み部を、選択する
ことを特徴とする、電子機器用の記憶装置管理プログラム。
【請求項２】
書込み回数の制限を有す第１の不揮発性記憶装置と、
書込み回数の制限のない第２の不揮発性記憶装置と、
前記第１の不揮発性記憶装置のみにデータを書込む通常書込み部と、
前記第１の不揮発性記憶装置と前記第２の不揮発性記憶装置の両方にデータを書込むバックアップ書込み部と、
前記第２の不揮発性記憶装置のみにデータを書込む代替書込み部と、
前記通常書込み部、前記バックアップ書込み部及び前記代替書込み部のうちの１を選択する判定部とを備え、
前記判定部は、
前記第１の不揮発性記憶装置の不良ブロックの数を検出し、
前記不良ブロックの数が第１の閾値未満であれば前記通常書込み部を選択し、
前記不良ブロックの数が第２の閾値以上であれば前記代替書込み部を選択し、
前記不良ブロックの数が前記第１の閾値以上かつ前記第２の閾値未満であれば、前記第１の不揮発性記憶装置のパーティションのうち書込み頻度が高いものについて前記バックアップ書込み部を、書込み頻度が低いものについて前記通常書込み部を、選択する
ることを特徴とする、電子機器。
【請求項３】
前記第１の不揮発性記憶装置がＳＳＤであり、前記第２の不揮発性記憶装置がＨＤＤであることを特徴とする、請求項２に記載の電子機器。
【請求項４】
画像形成装置であることを特徴とする、請求項２又は３に記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＳＤ（Solid State Drive）等の有寿命不揮発性記憶装置を活用する記憶域管理プログラム、及び記憶域管理プログラムを備えた電子機器に関する。
【背景技術】
【０００２】
画像形成装置その他の電子機器に用いられる不揮発性記憶装置としては、ＨＤＤ（Hard Disk Drive）が広く用いられている。近年においては、半導体に関する技術進歩、低価格化により、ＳＳＤ、ＮＡＮＤフラッシュデバイス等の半導体を用いた不揮発性記憶装置も用いられる。読出しの所要時間がＨＤＤよりも短く、有用である。しかし、半導体を用いた不揮発性記憶装置の多くは、書込み回数の限界による寿命を有する。永久的に使用できるものではなく、使用に当たってはこの点に留意する必要がある。
【０００３】
この点について、特許文献１には、不揮発性記憶装置の不良ブロックの数が特定の数に達した場合に、不揮発性記憶装置への書込みを制限する画像形成装置が開示されている。
【０００４】
また、特許文献２には、不揮発性記憶装置のパーティションの書込み回数が特定の回数を超えると、不揮発性記憶装置に書込む際に書換え保証回数の多い別の不揮発性記憶装置にバックアップを作成するデータ記憶制御装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−０５５４５７号公報
【特許文献２】特開２０１１−０４４２０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示された画像処理装置は、不揮発性記憶装置への書込みを制限するため、画像形成装置の部が制約されてしまうことがある。
【０００７】
特許文献２に開示されたデータ記憶制御装置によれば、バックアップによって書込みされるデータが保存される限りにおいて、電子機器（画像形成装置等）の部が制限されることはない。しかし、バックアップデータを書込む別の不揮発性記憶装置もまた書込み回数の限界を有するものである。使用する不揮発性記憶装置と別の不揮発性記憶装置とは別々に書込みが行われ、別々に交換されるので、一時点においては別の不揮発性記憶装置の残り書込み可能回数が使用する不揮発性記憶装置の残り書込み可能回数よりも多いことが保証できるものではない。すなわち、バックアップによってはデータが保存されないリスクが存在する。
【０００８】
本発明は、ＳＳＤ等の書込み回数の制限を有する不揮発性記憶装置を実質的に長い寿命で活用する記憶域管理プログラムを提供することを課題とする。また、記憶域管理プログラムを備えた電子機器を提供することを課題とする。
【課題を解決するための手段】
【０００９】
本発明の電子機器電子機器用の記憶装置管理プログラムは、
書込み回数の制限を有する第１の不揮発性記憶装置のみにデータを書込む通常書込み部、
前記第１の不揮発性記憶装置と書込み回数の制限のない第２の不揮発性記憶装置の両方にデータを書込むバックアップ書込み部、
前記第２の不揮発性記憶装置のみにデータを書込む代替書込み部、並びに、
前記通常書込み部、前記バックアップ書込み部及び前記代替書込み部のうちの１を選択する判定部として電子機器のコンピューターを機能させ 、
前記判定部は、
前記第１の不揮発性記憶装置の不良ブロックの数を特定の頻度で検出し、
前記不良ブロックの数が第１の閾値未満であれば前記通常書込み部を選択し、
前記不良ブロックの数が第２の閾値以上であれば前記代替書込み部を選択し、
前記不良ブロックの数が前記第１の閾値以上かつ前記第２の閾値未満であれば、前記第１の不揮発性記憶装置のパーティションのうち書込み頻度が高いものについて前記バックアップ書込み部を、書込み頻度が低いものについて前記通常書込み部を、選択する
ことを特徴とする。
【００１０】
この特徴によれば、例えば、第１の閾値を第１の不揮発性記憶装置の保証書込み回数より小さな保証書込み回数に近い値とし、第２の閾値を第１の不揮発性記憶装置の保証書込み回数の値とすることで、以下の効果を得ることができる。（１）第１の不揮発性記憶装置の寿命が近づいた場合（不良ブロックの数を次に検出するまでの間に保証書込み回数に到達する可能性があると判断される場合）には書込み頻度の高いパーティションについて第２の不揮発性記憶装置にデータをバックアップよして保存しつつ第１の不揮発性記憶装置に書込む。これにより、第１の不揮発性記憶装置が不良となってもバックアップを復元することができる。（２）第１の不揮発性記憶装置の寿命が尽きる直前には、第２の不揮発性記憶装置にデータを書込む。第２の不揮発性記憶装置には上記（１）の状態から継続してデータが書込まれており、データが第１の不揮発性記憶装置と第２の不揮発性記憶装置に分散してしまうことがない。上記（１）（２）のいずれにおいても、データが確実に保存され、不揮発性記憶装置を保証書込み回数まで活用する（実質的に寿命を延ばす）ことが可能となる。
【００１１】
本発明の電子機器は、
書込み回数の制限を有す第１の不揮発性記憶装置と、
書込み回数の制限のない第２の不揮発性記憶装置と、
前記第１の不揮発性記憶装置のみにデータを書込む通常書込み部と、
前記第１の不揮発性記憶装置と前記第２の不揮発性記憶装置の両方にデータを書込むバックアップ書込み部と、
前記第２の不揮発性記憶装置のみにデータを書込む代替書込み部と、
前記通常書込み部、前記バックアップ書込み部及び前記代替書込み部のうちの１を選択する判定部とを備え、
前記判定部は、
前記第１の不揮発性記憶装置の不良ブロックの数を検出し、
前記不良ブロックの数が第１の閾値未満であれば前記通常書込み部を選択し、
前記不良ブロックの数が第２の閾値以上であれば前記代替書込み部を選択し、
前記不良ブロックの数が前記第１の閾値以上かつ前記第２の閾値未満であれば、前記第１の不揮発性記憶装置のパーティションのうち書込み頻度が高いものについて前記バックアップ書込み部を、書込み頻度が低いものについて前記通常書込み部を、選択する
ことを特徴とする。
【００１２】
この特徴によれば、上述の記憶装置管理プログラムを活用した電子機器が提供される
【００１３】
本発明の電子機器は、
前記第１の不揮発性記憶装置がＳＳＤであり、前記第２の不揮発性記憶装置がＨＤＤであることを特徴とする
【００１４】
この特徴によれば、広く用いられているＳＳＤとＨＤＤを用いて上述の記憶管理プログラムを活用した電子機器が提供される。特に、ＨＤＤを用いることで、書込み回数の制限のないバックアップデバイスが提供される点が、特許文献２との大きな相違点となる。
【００１５】
本発明の電子機器は、画像形成装置であることを特徴とする。
【００１６】
この特徴によれば、上述の記憶管理プログラムを活用した画像形成装置が提供される。
【発明の効果】
【００１７】
本発明によれば、書込み回数の制限を有する不揮発性記憶装置を実質的に長い寿命で活用する記憶域管理プログラム、及びその記憶域管理プログラムを備えた電子機器が提供される。
【図面の簡単な説明】
【００１８】
【図１】図１は、電子機器の構成を示す図である。
【図２】図２は、不揮発性記憶装置の構成を示す図である。
【図３】図３は、記憶装置管理プログラムの処理を示すフローチャートである。
【図４】図４は、データ書込みの時系列を示す図である。
【発明を実施するための形態】
【００１９】
以下、電子機器が画像形成装置であるものとして、本発明の実施例を示す。
【００２０】
図１は、本発明の電子機器の構成を示す図である。画像形成装置（電子機器）１は、制御部２及び記憶部３を備えている。
【００２１】
制御部２は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）,
及びＲＡＭ（Random Access Memory）を含むプロセッサー（コンピューター）である。ＲＯＭに は、記憶装置管理プログラム等のプログラムが記憶されている。ＲＡＭは、プログラム実行に際してワークメモリーとして機能する。制御部２は、ＣＰＵがジョブを実行するためのプログラムを実行することによりジョブ実行部２２として機能する。
【００２２】
記憶装置管理プログラムは、制御部２がＳＳＤ（Solid State Drive）３１及び／又はＨＤＤ（Hard Disk Drive）３２に対して行うデータの読み書きを一元的に管理するためのコマンドを含む。詳細については後述する。
【００２３】
制御部２は、ＣＰＵが記憶装置管理プログラムを実行することにより、記憶装置管理部２１として動作する。記憶装置管理部２１は、通常書込み部２１１、バックアップ書込み部２１２、代替書込み部２１３及び判定部２１４を含む。
【００２４】
通常書込み部２１１は、データをＳＳＤ３１に書込む。
【００２５】
バックアップ書込み部２１２は、データをＳＳＤ３１及びＨＤＤ３２の双方に書込む。
【００２６】
代替書込み部２１３は、データをＨＤＤ３２に書込む。
【００２７】
判定部２１４は、通常書込み部２１１、バックアップ書込み部２１２及び代替書込み部２１３のいずれによってデータを書込むかを判断する。詳細については後述する。
【００２８】
ジョブ実行部２２は、プリント、スキャン、その他の画像形成装置１のジョブを実行する。ジョブの実行に当たり、不揮発性記憶装置への書込みが行われることがある。ジョブ実行部２２は、かかる書込みを、記憶装置管理部２１を介して行う。
【００２９】
記憶部３は、ＳＳＤ（第１の不揮発性記憶装置）３１及びＨＤＤ（第２の不揮発性記憶装置）を含む。これらの他に揮発性記憶装置等を含んでもよい。
【００３０】
ＳＳＤ３１は、広く一般に用いられているものであり、書込み回数の制限が設けられたものである。ＳＳＤ３１は、仮想的なパーティションに区分けされており、各々のパーティションに対応する物理的な複数のブロックを有する。各ブロックへの書込み回数は、ＳＳＤ３１の機能により、パーティションに対応する複数のブロック間で平準化されている。同一のブロックへの書込み回数が上限値に達すると、そのブロックへの書き込みができなくなり、不良ブロックとなる。
【００３１】
ＨＤＤ３２は、広く一般に用いられるものであり、書込み回数の制限のないものである。
ＨＤＤ３２も、パーティションに区分けされている。
【００３２】
図２は、不揮発性記憶装置の構成を示す図である。ＳＳＤ３１のパーティション（ｃ，ｄ，ｅ）とＨＤＤ３２のパーティション（Ｃ，Ｄ，Ｅ）とは１対１に対応する。なお、ＨＤＤ３２にはＳＳＤ３１のパーティションとは対応しないパーティション（Ｆ）があってもよい。
また、画像形成装置１の機能ごとにパーティションを割り当ててもよい。例えば、プリントにパーティション（ｃ）及び（Ｃ）、スキャンにパーティション（ｄ）及び（Ｄ）、コピーにパーティション（ｅ）及び（Ｅ）を割り当ててもよい。
【００３３】
記憶装置管理部２１（バックアップ書込み部２１２及び代替書込み部２１３）は、ＳＳＤ３１のパーティション（ｃ，ｄ，ｅ）への書込みが要求されたデータをＨＤＤ３２に書込む際には、ＳＳＤ３１のパーティション（ｃ，ｄ，ｅ）に対応するＨＤＤ３２のパーティション（Ｃ，Ｄ，Ｅ）に書込む。
【００３４】
以下、実際に書込みを行う手順について説明する。
【００３５】
図３は、記憶装置管理部の処理を示すフローチャートである。記憶装置管理部２１は、書込みの有無、回数によらず、ＳＳＤ３１から定期的に（例えば１日に1回）Ｓ．Ｍ．Ａ．Ｒ．Ｔ．（Self-Monitoring Analysis and Reporting Technology）の情報を取得する（ステップ２１ａ）。
【００３６】
記憶装置管理部２１は、取得された情報から不良ブロック数ｂを求め、ＳＳＤ管理情報として記憶する（ステップ２１ｂ）。
【００３７】
また、通常書込み部２１１及びバックアップ書込み部２１２は、ＳＳＤ３１への書込みの都度、書込み回数ｗをパーティションｐごとにカウントする（ＳＳＤ管理情報として保存されたｗ（ｐ）（ここで、ｗ（ｐ）はパーティションｐの書込み回数ｗを示す。）の値を１だけ増加させる）（ステップ２１ｃ）。なお、ｗ（ｐ）を単純にカウントせずに、日毎の書込み回数をカウントする、書込み日時の情報を記憶する等としてもよい。
【００３８】
以上の不良ブロック数ｂ及びｗ（ｐ）を基礎情報として、判定部２１４は以下の処理を行う。
【００３９】
判定部２１４は、まず、書込み対象のパーティションｐを決定する（ステップ２１ｄ）。ｐは、ジョブ実行部２２、その他データを書込むアプリケーションが指定するものである。
【００４０】
判定部２１４は、不良ブロック数ｂが、ｂ＜ｂ１であるか否かを判定し（ステップ２１ｅ）、ｂ＜ｂ１を満たす時、すなわち不良ブロック数が少なくてＳＳＤ３１に問題なく書きこめる時、には通常書込み部２１１を選択する（ステップ２１ｆ）。なお、ｂ１は第１の閾値である。第１の閾値ｂ１は、パーティションに対応するブロック数の特定割合(例えば、１０％)に当たる値としてもよい。上述したように、各ブロックへの書込み回数は、パーティションに対応する複数のブロック間で平準化されているので、不良ブロックは、初めて発生したのを境に増加していくことが考えられる。従って、第１の閾値ｂ１は十分小さな値であってもよい。例えば、第１の閾値ｂ１は、工場出荷時の初期不良ブロック数に特定数（例えば、１）を加算した値としてもよい。
【００４１】
判定部２１４は、不良ブロック数ｂが、ｂ２≦ｂであるか否かを判定し（ステップ２１ｇ）、ｂ２≦ｂを満たす時、すなわちＳＳＤ３１への書込みが困難である時、には代替書込み部２１３を選択する（ステップ２１ｈ）。なお、ｂ２は第２の閾値であり、ｂ２＞ｂ１である。第２の閾値ｂ２は、画像形成装置の機能に対応するジョブが、割り当てられたパーティションを用いて実行不可能となる不良ブロック数としてもよく、例えば、パーティションに対応するブロック数の５０％に当たる値としてもよい。ｂ１≦ｂ＜ｂ２であれば、画像形成装置の機能に対応する１つのジョブが実行されたとき、割り当てられたパーティションに対応するブロックの書き込みによって不良ブロックが増加しても、ジョブを完了できる程度に第１の閾値ｂ１と第２の閾値ｂ２を設定してもよい。
【００４２】
不良ブロック数ｂが、ｂ１≦ｂ＜ｂ２となる場合の処理について説明する。この場合、判定部２１４は、パーティションｐへの書込み頻度ｆ（ｐ）をｗ（ｐ）に基づいて求める（ステップ２１ｉ）。単純には、使用開始からの書込み回数が書込み頻度であるとして、ｆ（ｐ）＝ｗ（ｐ）とすることもできる。また、ｗ（ｐ）として日毎の書込み回数をカウントしている場合には、ｆ（ｐ）を直近の特定日数（例えば３日）の書込み回数とすることもできる。
【００４３】
判定部２１４は、ｆ（ｐ）を書込み頻度の閾値Ｆに対し、ｆ（ｐ）＜Ｆであるか否かを判定し（ステップ２１ｊ）、ｆ（ｐ）＜Ｆであれば通常書込み部２１１を選択し（ステップ２１ｋ）、Ｆ≦ｆ（ｐ）であればバックアップ書込み部２１２を選択する。
【００４４】
以上に述べた判定部２１４の処理をまとめると、ＳＳＤ３１に問題なく書きこめる時（ｂ＜ｂ１）には通常書込み部２１１を選択し、ＳＳＤ３１への書込みが困難である時（ｂ２≦ｂ）には代替書込み部２１３を選択し、そのどちらでもない時（ｂ１≦ｂ＜ｂ２）には、書込み頻度ｆ（ｐ）に基づいて判断して通常書込み部２１１又はバックアップ書込み部２１２を選択する。
【００４５】
すなわち、ｂ１≦ｂ＜ｂ２の場合には書込み頻度ｆ（ｐ）の大きなパーティションについて、直ちに書込みが不能となってしまう可能性が大きいので、バックアップ書込み部２１２を選択してＨＤＤにもデータを残すものである。これにより、例えば、特定のパーティションへの書き込みを伴う処理が複数発生したときに、処理の実行中に使用中のパーティションへの書き込みが不能となる可能性を減少させることができる。
また、ｂ１≦ｂ＜ｂ２の場合には書込み頻度ｆ（ｐ）の小さなパーティションについて、直ちに書込みが不能となってしまう可能性が小さいので、通常書込み部２１１を選択してＳＤＤにのみデータを残すものである。これにより、ＨＤＤへの書き込み処理を必要以上に増加しないことになる。
【００４６】
図４は、データ書込みの時系列を示す図である。図４（Ａ）に示すように、ｂの値はＳＭＡＲＴ情報を取得する都度増加する。ｂの値に対応してＳＳＤ３１及びＨＤＤ３２に書込まれることを実線で示す。図４（Ａ）はＦ≦ｆ（ｐ）となるパーティションについてのものである。ｂ＜ｂ１の間は通常書込み部２１１によってＳＳＤ３１に書込まれる。その後、ｂ１≦ｂ＜ｂ２となると、パーティションｐの書込み頻度ｆ（ｐ）に依存して、バックアップ書込み部２１２によってＳＳＤ３１とＨＤＤ３２の両方に書込まれる（ただし、書込み不能となってしまった時にはＨＤＤ３２のみに書きこまれる）。最後に、ｂ２≦ｂとなると、代替書込み部２１３によってＨＤＤ３２のみに書きこまれる。ｂ１≦ｂ＜ｂ２の間（又はｂ１≦ｂとなってから書込み不能となるまでの間）は、ＳＳＤ３１とＨＤＤ３２の両方に書きこまれるため、ジョブ実行部２２が一連の複数の書込み（例えば複数のファイルを１つのパーティションに書込む）を行う場合に、その書き込みが第１の閾値ｂ１と第２の閾値ｂ２の両方をまたいで行われない限り、ＳＳＤ３１又はＨＤＤ３２の少なくとも一方に一連の書込みの全てが書きこまれる。これを保証するため、第１の閾値ｂ１を第２の閾値ｂ２に対して十分に小さくして余裕を持たせることができる。例えば、ＳＭＡＲＴ情報を取得する時間間隔において書込み頻度の閾値Ｆで書込むことでもＳＳＤ３１が書込み不能とならないように第１の閾値ｂ１を定めることができる。
【００４７】
これにより、ＳＳＤ３１を書込み不能になる直前まで使用することができ、実質的にＳＳＤ３１の寿命を延ばすことができる。
【００４８】
図４（Ｂ）に、特許文献２に開示された手法を用いる場合を示す。本実施例では第１の閾値ｂ１、第２の閾値ｂ２の２つの閾値で判断するが、特許文献２に開示された手法は１つのみの閾値を用いる。以下、その閾値をｂ３とする。特許文献２は不良ブロック数ｂでなく書込み回数ｗによる閾値を用いているが、不良ブロック数ｂについての閾値ｂ３を用いるとして説明する。ｂ３≦ｂとなると、バックアップが開始される。その後、ＳＳＤ３１が書込み不能となっても書込みを試みる（図において破線で示す）が、実際には書込みがされない。してみれば、ＳＳＤ３１に書込まれかつＨＤＤ３２にバックアップが保存される余裕がｂ３を第２の閾値ｂ２に近づけると小さくなってしまう。逆にｂ３＝ｂ１とすれば、不良ブロック数ｂが第２の閾値ｂ２に達するまでは本実施例と同様となるが、不良ブロック数ｂがｂ３を超えても書込み不能であるＳＳＤ３１への書込みを継続的に試みていることとなり、無駄な書込み処理が発生することになる。
【００４９】
また、バックアップをＨＤＤ３２に保存するか否かの判定がパーティションの書込み頻度に依存せずに行われるので、バックアップの必要がない場合にもＨＤＤ３２に書込むこととなってしまう。
【００５０】
以上詳細に説明したように、本実施例の画像形成装置１では、記憶装置管理部２１が、２つの閾値ｂ１及びｂ２を用いて、かつ、パーティション毎の書込み頻度ｆ（ｐ）を用いて、バックアップデータ量を減らしつつ、ＳＳＤ３１を書込み不能になる直前まで使用して実質的な寿命を延ばすことができる。また、一連の書込みの全てをＳＳＤ３１またはＨＤＤ３２の少なくとも一方に書込むことができる。
【００５１】
なお、本実施例では、不良ブロック数ｂをＳＳＤ３１の全体に対して求めるものとしたが、パーティション毎に別々に求めてもよい。その場合、第１の閾値ｂ１、第２の閾値ｂ２及び書込み頻度の閾値Ｆの値をパーティション毎に定めて、本実施例の処理を適用することができる。パーティションのデータ容量（ブロック数）が大きく相違する場合には有効である。
【産業上の利用可能性】
【００５２】
不揮発性記憶装置を実質的に長い寿命で活用する記憶域管理部、及びその記憶域管理部を備えた電子機器であり、多くの電子機器生産者による利用が考えられる。
【符号の説明】
【００５３】
１      電子機器（画像形成装置）
２      制御部
２１    記憶装置管理部
２１１  通常書込み部
２１２  バックアップ書込み部
２１３  代替書込み部
２２    ジョブ実行部
３      記憶部
３１    ＳＳＤ
３２    ＨＤＤ
【図１】
0006358219.tif 000002
【図２】
0006358219.tif 000003
【図３】
0006358219.tif 000004
【図４】
0006358219.tif 000005