(57)【要約】【課題】不揮発性メモリの各パーティションの消去回数を平準化して長寿命を実現することができる不揮発性メモリ制御装置等を提供する。【解決手段】書き換え可能な半導体不揮発性メモリの複数のパーティションのそれぞれにデータの読み書き制御を行う不揮発性メモリ制御装置１００において、パーティション毎の通算の消去回数を計数する消去回数計数部１と、パーティション毎の同一データに対する連続した読出回数を計数する読出回数計数部２と、不揮発性メモリに対してデータの読み書きを行うデータ読出書込部３と、特定のパーティションの消去回数が所定の回数以上になり、特定のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが存在する場合、このパーティションのデータと特定のパーティションのデータとを入れ替えるようにデータ読出書込部３を制御する制御部４とを備える。【選択図】図１
2016115105.tif 000002
【特許請求の範囲】
【請求項１】
書き換え可能な半導体不揮発性メモリの複数のパーティションのそれぞれにデータの読み書き制御を行う不揮発性メモリ制御装置において、
前記パーティション毎の通算の消去回数を計数する消去回数計数部と、
前記パーティション毎の同一データに対する連続した読出回数を計数する読出回数計数部と、
前記書き換え可能な半導体不揮発性メモリに対してデータの読み書きを行うデータ読出書込部と、
特定のパーティションの消去回数が所定の回数以上になり、前記特定のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが存在する場合、このパーティションのデータと前記特定のパーティションのデータとを入れ替えるように前記データ読出書込部を制御する制御部と、
を備えることを特徴とする不揮発性メモリ制御装置。
【請求項２】
前記制御部は、消去回数が所定の回数以上になったパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが複数存在する場合、最も読出回数が多いパーティションのデータと入れ替えることを特徴とする請求項１に記載の不揮発性メモリ制御装置。
【請求項３】
前記制御部は、予め設定された前記所定の回数の値を複数有し、あるパーティションの消去回数が前記所定の回数以上になった場合、前記所定の回数の値を当該パーティションの消去回数よりも大きな値に変更することを特徴とする請求項１又は２に記載の不揮発性メモリ制御装置。
【請求項４】
前記制御部は、予め設定された前記所定の回数の値を複数有し、全てのパーティションの消去回数が前記所定の回数以上になった場合、前記所定の回数の値を全てのパーティションの消去回数よりも大きな値に変更することを特徴とする請求項１又は２に記載の不揮発性メモリ制御装置。
【請求項５】
前記制御部は、消去回数が最大のパーティションと消去回数が最小のパーティションとの消去回数の差が所定の値以上になり、前記消去回数が最大のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが存在する場合、このパーティションのデータと前記消去回数が最大のパーティションのデータとを入れ替えることを特徴とする請求項１から４のいずれか一項に記載の不揮発性メモリ制御装置。
【請求項６】
書き換え可能な半導体不揮発性メモリの複数のパーティションのそれぞれにデータの読み書き制御を行う不揮発性メモリ制御方法であって、
前記パーティション毎の通算の消去回数を計数する消去回数計数ステップと、
前記パーティション毎の同一データに対する連続した読出回数を計数する読出回数計数ステップと、
特定のパーティションの消去回数が所定の回数以上になり、前記特定のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが存在する場合、このパーティションのデータと前記特定のパーティションのデータとを入れ替えるように制御する入替ステップと、
を含むことを特徴とする不揮発性メモリ制御方法。
【請求項７】
書き換え可能な半導体不揮発性メモリの複数のパーティションのそれぞれにデータの読み書き制御を行うプログラムであって、
コンピュータを、
前記パーティション毎の通算の消去回数を計数する消去回数計数手段と、
前記パーティション毎の同一データに対する連続した読出回数を計数する読出回数計数手段と、
特定のパーティションの消去回数が所定の回数以上になり、前記特定のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが存在する場合、このパーティションのデータと前記特定のパーティションのデータとを入れ替えるように制御する入替手段と、
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリ制御装置、不揮発性メモリ制御方法及びプログラムに関する。
【背景技術】
【０００２】
従来、ＮＡＮＤ型フラッシュメモリ等の書き換え可能な半導体不揮発性メモリ（単に、不揮発性メモリと呼ぶ。）は、トンネル酸化膜を介して浮遊ゲート内に電子を注入することによりデータを書き込み、電子を引き抜くことによりデータの消去を行う。また、複数のセルから構成されるページ単位でデータの読み書きを行い、データを消去する際は、さらに複数ページで構成されるブロック単位で行われる。
【０００３】
但し、１つのセルに対するデータの書き換え時にトンネル酸化膜を貫通する電子により、トンネル酸化膜の劣化が生じて当該セルの寿命が尽きてしまうため、個々のブロックに対する消去回数には制限がある。また、一般に、複数のブロックから構成されるパーティション単位で使用されることが多いので、実際にはパーティションに対する消去回数に制限がかかることになる。
【０００４】
このため、特定のパーティションの消去回数だけが増加して、不揮発性メモリ全体としての寿命が尽きてしまうことを防止するため、パーティションの消去回数を平準化することが望ましい。
【０００５】
このような平準化対策として、未使用のパーティション数が閾値以下となった場合、最多書き換え回数（消去回数）のパーティションのデータと、最少書き換え回数（消去回数）のパーティションのデータとを入れ替えることにより、特定パーティションへの書き換えの集中を防止して、各パーティション間での書き換え回数（消去回数）の平準化を図る不揮発性記憶装置等が開示されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−０９７１３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、今現在、最少書き換え回数（消去回数）のパーティションに記憶されているデータであっても、パーティションの書き換え回数（消去回数）が少ないだけであって、当該パーティションに記憶されているデータ自身の書き換え回数（消去回数）が少ないわけではない。すなわち、最少書き換え回数（消去回数）のパーティションに記憶されているデータであっても、当該データ自身の書き換え回数（消去回数）が多いデータである場合も想定される。
【０００８】
このため、特許文献１に記載されたようなパーティションの書き換え回数（消去回数）にのみ着目した不揮発性記憶装置における平準化では、このような当該データ自身の書き換え回数（消去回数）が多いデータを再度、最多書き換え回数（消去回数）のパーティションに格納してしまうことも生じてしまい、逆に不揮発性メモリの寿命を縮めてしまう恐れがあるといった問題点があった。
【０００９】
本発明の課題は、不揮発性メモリの各パーティションの消去回数を平準化して長寿命を実現することができる不揮発性メモリ制御装置、不揮発性メモリ制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を達成するため、請求項１に記載の発明の不揮発性メモリ制御装置は、
書き換え可能な半導体不揮発性メモリの複数のパーティションのそれぞれにデータの読み書き制御を行う不揮発性メモリ制御装置において、
前記パーティション毎の通算の消去回数を計数する消去回数計数部と、
前記パーティション毎の同一データに対する連続した読出回数を計数する読出回数計数部と、
前記書き換え可能な半導体不揮発性メモリに対してデータの読み書きを行うデータ読出書込部と、
一のパーティションの消去回数が所定の回数以上になり、当該一のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが存在する場合、このパーティションのデータと前記一のパーティションのデータとを入れ替えるように前記データ読出書込部を制御する制御部と、
を備えることを特徴としている。
【００１１】
請求項２に記載の発明は、請求項１に記載の不揮発性メモリ制御装置において、
前記制御部は、前記一のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが複数存在する場合、最も読出回数が多いパーティションのデータと入れ替えることを特徴としている。
【００１２】
請求項３に記載の発明は、請求項１又は２に記載の不揮発性メモリ制御装置において、
前記制御部は、前記一のパーティションの消去回数が前記所定の回数以上になった場合、前記所定の回数の値を当該パーティションの消去回数よりも大きな値に変更することを特徴としている。
【００１３】
請求項４に記載の発明は、請求項１又は２に記載の不揮発性メモリ制御装置において、
前記制御部は、全てのパーティションの消去回数が前記所定の回数以上になった場合、前記所定の回数の値を全てのパーティションの消去回数よりも大きな値に変更することを特徴としている。
【００１４】
請求項５に記載の発明は、請求項１から４のいずれか一項に記載の不揮発性メモリ制御装置において、
前記制御部は、消去回数が最大のパーティションと消去回数が最小のパーティションとの消去回数の差が所定の値以上になり、前記消去回数が最大のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが存在する場合、このパーティションのデータと前記消去回数が最大のパーティションのデータとを入れ替えることを特徴としている。
【００１５】
請求項６に記載の発明は、
書き換え可能な半導体不揮発性メモリの複数のパーティションのそれぞれにデータの読み書き制御を行う不揮発性メモリ制御方法であって、
前記パーティション毎の通算の消去回数を計数する消去回数計数ステップと、
前記パーティション毎の同一データに対する連続した読出回数を計数する読出回数計数ステップと、
一のパーティションの消去回数が所定の回数以上になり、当該一のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが存在する場合、このパーティションのデータと前記一のパーティションのデータとを入れ替えるように制御する入替ステップと、
を含むことを特徴としている。
【００１６】
請求項７に記載の発明は、
書き換え可能な半導体不揮発性メモリの複数のパーティションのそれぞれにデータの読み書き制御を行うプログラムであって、
コンピュータを、
前記パーティション毎の通算の消去回数を計数する消去回数計数手段と、
前記パーティション毎の同一データに対する連続した読出回数を計数する読出回数計数手段と、
一のパーティションの消去回数が所定の回数以上になり、当該一のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが存在する場合、このパーティションのデータと前記一のパーティションのデータとを入れ替えるように制御する入替手段と、
して機能させる。
【発明の効果】
【００１７】
本発明によれば、不揮発性メモリの各パーティションの消去回数を平準化して長寿命を実現することができる不揮発性メモリ制御装置、不揮発性メモリ制御方法及びプログラムを提供できる。
【図面の簡単な説明】
【００１８】
【図１】本発明を適用した実施形態の不揮発性メモリ制御装置の機能構成を示すブロック図である。
【図２】不揮発性メモリの構成の一例を示す説明図である。
【図３】制御部の計数動作を説明するフローチャートである。
【図４】パーティション毎の計数回数の一例を示す説明図である。
【図５】制御部の消去回数の平準化動作を説明するフローチャートである。
【発明を実施するための形態】
【００１９】
（実施形態）
［１．構成の説明］
以下に、本発明について、図面を用いて具体的な態様を説明する。但し、発明の範囲は、図示例に限定されない。
図１は、本発明を適用した実施形態の不揮発性メモリ制御装置１００の機能構成を示すブロック図である。
【００２０】
図１に示すように、本実施形態の不揮発性メモリ制御装置１００は、データを書き込む不揮発性メモリＦＭ１１のパーティションを適宜選択して、不揮発性メモリＦＭ１１の各パーティションの消去回数を平準化する。
【００２１】
具体的には、本実施形態の不揮発性メモリ制御装置１００は、消去回数計数部１と、読出回数計数部２と、データ読出書込部３と、制御部４等を備えて構成されている。
【００２２】
消去回数計数部１は、不揮発性メモリＦＭ１１のパーティション毎の通算の消去回数を計数し、当該消去回数を保持する。消去回数計数部１としては、制御部４の制御により不揮発性メモリＦＭ１１のパーティション毎の通算の消去回数を計数するものでもよいし、制御部４とは独立した回路の動作により当該消去回数を計数するものであってもよい。
【００２３】
読出回数計数部２は、不揮発性メモリＦＭ１１のパーティション毎の同一データに対する連続した読出回数を計数し、当該読出回数を保持する。当該読出回数は同一データに対する連続して読み出した回数であるので、パーティションのデータの書き換え（消去も含む）により、データの同一性がなくなった場合は、当該読出回数をリセット（０回にする。）する。
【００２４】
また、読出回数計数部２としては、制御部４の制御により不揮発性メモリＦＭ１１のパーティション毎の同一データに対する連続した読出回数を計数するものでもよいし、制御部４とは独立した回路の動作により当該読出回数を計数するものであってもよい。
【００２５】
データ読出書込部３は、不揮発性メモリＦＭ１１の入出力端子等と相互に接続され、不揮発性メモリＦＭ１１に対してデータの読み書きを行う。
【００２６】
制御部４は、例えば、ＣＰＵ（Central Processing Unit）４１、ＲＯＭ（Read Only Memory）４２、ＲＡＭ（Random Access Memory）４３等を備えて構成されている。
ＣＰＵ４１は、ＲＯＭ４２から処理内容に応じたプログラムを読み出してＲＡＭ４３に展開し、展開されたプログラムと協働して不揮発性メモリ制御装置１００の各ブロック（消去回数計数部１、読出回数計数部２、データ読出書込部３等）の動作を集中制御する。このとき、例えば、フラッシュメモリやハードディスクドライブで構成された記憶部（不図示）に格納されている各種データが参照される。
【００２７】
ここで、制御部４は、例えば、ＬＡＮカード等で構成された通信部（図示略）を介して、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）等の通信ネットワークに接続された外部の装置（例えばパーソナルコンピュータ）との間で各種データの送受信を行っても良い。
【００２８】
また、プログラムを実行することにより、制御部４は、パーティション毎の通算の消去回数を計数する消去回数計数手段と、パーティション毎の同一データに対する連続した読出回数を計数する読出回数計数手段と、特定のパーティションの消去回数が所定の回数以上になり、特定のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが存在する場合、このパーティションのデータと特定のパーティションのデータとを入れ替えるように制御する入替手段と、してそれぞれ機能する。
【００２９】
また、図２は、不揮発性メモリＦＭ１１の具体的な構成の一例を示す説明図である。図２に示すように、不揮発性メモリＦＭ１１は、複数個のブロック（複数のセルから構成される複数のページで構成されるブロック）から構成される複数のパーティションＡ、Ｂ、Ｃ、Ｄ及びＥを有する。
【００３０】
また、図２に示すように、不揮発性メモリＦＭ１１には、データの書き換え時等において一時的にデータを待避させるための、揮発性一時保存メモリＴＭ２１（以下、一時保存メモリＴＭ２１と呼ぶ。）を有している。例えば、あるパーティションのデータを書き換える際は、当該データを、一旦、一時保存メモリＴＭ２１に移動させ、一時保存メモリＴＭ２１の内容を書き換え、保存元のパーティションを消去し、最後に、一時保存メモリＴＭ２１のデータを当該パーティションに戻す。
【００３１】
［２．計数動作の説明］
ここで、不揮発性メモリ制御装置１００の計数動作を図３に示すフローチャートを用いて説明する。
【００３２】
図３のフローチャートに示すように、制御部４は、不揮発性メモリＦＭ１１のデータが読み出されたか否かを判断する（ステップＳ３１）。そして、制御部４は、不揮発性メモリＦＭ１１のデータが読み出されたと判断した場合には（ステップＳ３１：Ｙｅｓ）、データが読み出されたパーティションの読出回数をインクリメントして（ステップＳ３２：読出回数計数ステップ）、ステップＳ３１に戻る。
【００３３】
一方、制御部４は、不揮発性メモリＦＭ１１のデータが読み出されていないと判断した場合には（ステップＳ３１：Ｎｏ）、不揮発性メモリＦＭ１１のデータが消去（書き換えも含む）されたか否かを判断する（ステップＳ３３）。そして、制御部４は、不揮発性メモリＦＭ１１のデータが消去されていないと判断した場合には（ステップＳ３３：Ｎｏ）、ステップＳ３１に戻る。
【００３４】
また、制御部４は、不揮発性メモリＦＭ１１のデータが消去されたと判断した場合には（ステップＳ３３：Ｙｅｓ）、データが消去されたパーティションの読出回数をリセットすると共に（ステップＳ３４：読出回数計数ステップ）、データが消去されたパーティションの消去回数をインクリメントして（ステップＳ３５：消去回数計数ステップ）、ステップＳ３１に戻る。
【００３５】
以上のように、本実施形態の不揮発性メモリ制御装置１００によれば、消去回数計数部１により、パーティション毎の通算の消去回数を計数し、読出回数計数部２により、パーティション毎の同一データに対する連続した読出回数を計数して、それぞれの回数を保持する。
【００３６】
例えば、図４に示すように、不揮発性メモリＦＭ１１を構成する各パーティションＡ〜Ｅにおける消去回数と、読出回数が計数され保持される。図４からから分かるように、パーティションＡ及びＤは消去回数が１００回を超えており、これに対して、パーティションＢ、Ｃ及びＥの消去化数は１００回以下である。
【００３７】
特に、パーティションＢは、読出回数が１００回（消去回数５０回）であり、当該パーティションに記憶されているデータは、ほとんど書き換えが行われないデータ（例えば、ファームウェアやフォントデータ等のデータ）の可能性が高い。
【００３８】
ちなみに、消去回数及び読出回数を保持する記憶手段としては、消去回数計数部１及び読出去回数計数部２にそれぞれ不揮発性メモリを備えてもよいし、別途不揮発性メモリで構成される記憶部を備えてもよい。或いは、不揮発性メモリＦＭ１１の特定の領域を記憶手段として用いてもよい。
【００３９】
なお、上記の説明では制御部４が消去回数計数部１及び読出回数計数部２を制御することにより、消去回数及び読出回数を計数する動作を例示しているが、勿論、消去回数計数部１及び読出回数計数部２をそれぞれハードウェアで構成し、制御部４の制御とは独立した動作で消去回数及び読出回数を計数するものであってもよい。
【００４０】
［３．平準化動作の説明］
ここで、不揮発性メモリ制御装置１００の消去回数の平準化動作を図５に示すフローチャートを用いて説明する。
【００４１】
図５のフローチャートに示すように、制御部４は、データの更新時に、更新対象のデータを一時保存メモリＴＭ２１に移動させ（ステップＳ５１）、一時保存メモリＴＭ２１に格納されたデータを更新し（ステップＳ５２）、更新対象のデータを記憶していたパーティションを消去する（ステップＳ５３）。
【００４２】
次に、制御部４は、当該パーティションの消去回数を参照し、消去回数が所定の回数以上であるか否かを判断する（ステップＳ５４）。そして、制御部４は、消去回数が所定の回数以上ではないと判断した場合には（ステップＳ５４：Ｎｏ）、一時保存メモリＴＭ２１のデータを更新対象のデータを記憶していたパーティションに戻す（ステップＳ５５）。
【００４３】
一方、制御部４は、消去回数が所定の回数以上であると判断した場合には（ステップＳ５４：Ｙｅｓ）、更新対象のデータを記憶していたパーティションの消去回数よりも消去回数が少ないパーティションが他に存在するか否かを判断し（ステップＳ５６）、更新対象のデータを記憶していたパーティションの消去回数よりも消去回数が少ないパーティションが他に存在しないと判断した場合には（ステップＳ５６：Ｎｏ）、一時保存メモリＴＭ２１のデータを更新対象のデータを記憶していたパーティションに戻す（ステップＳ５５）。
【００４４】
もし、制御部４は、更新対象のデータを記憶していたパーティションの消去回数よりも消去回数が少ないパーティションが他に存在すると判断した場合には（ステップＳ５６：Ｙｅｓ）、更新対象のデータを記憶していたパーティションの読出回数よりも読出回数が多いパーティションが存在するか否かを判断し（ステップＳ５７）、更新対象のデータを記憶していたパーティションの読出回数よりも読出回数が多いパーティションが他に存在しないと判断した場合には（ステップＳ５７：Ｎｏ）、一時保存メモリＴＭ２１のデータを更新対象のデータを記憶していたパーティションに戻す（ステップＳ５５）。
【００４５】
最後に、制御部４は、更新対象のデータを記憶していたパーティションの読出回数よりも読出回数が多いパーティションが存在すると判断した場合には（ステップＳ５７：Ｙｅｓ）、条件を満足するパーティションのデータと、一時保存メモリＴＭ２１のデータを入れ替え（ステップＳ５８：入替ステップ）、一時保存メモリＴＭ２１のデータを更新対象のデータを記憶していたパーティションに戻す（ステップＳ５５）。
【００４６】
すなわち、ステップＳ５８及びステップＳ５５の動作により、条件を満足するパーティション（更新対象のデータを記憶していたパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティション）に更新対象データが書き込まれ、条件を満足するパーティションのデータが更新対象のデータを記憶していたパーティション（所定の消去回数を超過したパーティション）に書き込まれることになり、言い換えれば、更新対象のデータを記憶していたパーティション（所定の消去回数を超過したパーティション）への書き込みの集中を防止することができるので、消去回数の平準化を図ることができる。
【００４７】
また、このようなパーティション（更新対象のデータを記憶していたパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティション）に記憶されているデータは、ほとんど書き換えが行われないデータ（例えば、ファームウェアやフォントデータ等のデータ）である可能性が高いので、当該データを消去回数が所定の回数を超過したパーティションに記憶させることにより、各パーティションの消去回数を平準化して長寿命を実現することができる。
【００４８】
以上のように、本実施形態の不揮発性メモリ制御装置１００によれば、パーティション毎の通算の消去回数を計数する消去回数計数部１と、パーティション毎の同一データに対する連続した読出回数を計数する読出回数計数部２と、不揮発性メモリに対してデータの読み書きを行うデータ読出書込部３と、特定のパーティションの消去回数が所定の回数以上になり、特定のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが存在する場合、このパーティションのデータと特定のパーティションのデータとを入れ替えるようにデータ読出書込部３を制御する制御部４とを備えることにより、不揮発性メモリの各パーティションの消去回数を平準化して長寿命を実現することができる不揮発性メモリ制御装置を提供できる。
【００４９】
（変形例１）
［４．条件を満足するパーティションが複数］
実施形態の説明に際して不揮発性メモリ制御装置１００の制御部４は、特定のパーティションの消去回数が所定の回数以上になり、特定のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが存在する場合、このパーティションのデータと特定のパーティションのデータとを入れ替えていたが、このような条件を満足するパーティションが複数存在する場合は、最も読出回数が多いパーティションのデータと入れ替えるようにしてもよい。
【００５０】
（変形例２）
［５−１．所定の回数の値の変更］
実施形態の説明に際して不揮発性メモリ制御装置１００の制御部４は、消去回数と比較する所定の回数に関しては１種類の所定値として取り扱っているが、予め複数の値の所定の回数を設定しておき、条件に応じて所定の回数の値を変更してもよい。
【００５１】
例えば、制御部４は、更新対象のデータを記憶していたパーティションの消去回数がこれまで設定されている所定の回数以上になった場合、所定の回数の値を当該パーティションの消去回数よりも大きな値に変更するようにしてもよい。
【００５２】
この場合、所定の回数を徐々に引き上げることができるので、各パーティションの消去回数をより細かく平準化できるので、不揮発性メモリを長寿命にすることができる。
【００５３】
（変形例３）
［５−２．所定の回数の値の変更］
実施形態の説明に際して不揮発性メモリ制御装置１００の制御部４は、消去回数と比較する所定の回数に関しては１種類の所定値として取り扱っているが、予め複数の値の所定の回数を設定しておき、条件に応じて所定の回数の値を変更してもよい。
【００５４】
例えば、制御部４は、全てのパーティションの消去回数が所定の回数以上になった場合、所定の回数の値を全てのパーティションの消去回数よりも大きな値に変更するようにしてもよい。
【００５５】
この場合、全てのパーティションの消去回数が所定の回数を超過した時点で、所定の回数を引き上げることになるので、所定の回数の値を変更する頻度を抑えることができ、不揮発性メモリを長寿命にすることができる。
【００５６】
（変形例４）
［６．消去回数の最多と最小の差］
実施形態の説明に際して不揮発性メモリ制御装置１００の制御部４は、特定のパーティションの消去回数が所定の回数以上になった場合、データの入れ替えを行っているが、消去回数が最大のパーティションと消去回数が最小のパーティションとの消去回数の差が所定の値以上になった場合に、データの入れ替えを行ってもよい。
【００５７】
例えば、制御部４は、消去回数が最大のパーティションと消去回数が最小のパーティションとの消去回数の差が所定の値以上になった場合に、消去回数が最大のパーティションよりも消去回数が少なく、且つ、読出回数が多いパーティションが存在する場合、このパーティションのデータと消去回数が最大のパーティションのデータとを入れ替える。
【００５８】
この場合、特定のパーティションの消去回数にのみ着目するのではなく、消去回数が最大のパーティションと消去回数が最小のパーティションとの消去回数の差にも着目することにより、消去回数が最大のパーティションと消去回数が最小のパーティションとの消去回数の差が大きくなりすぎることを抑えることができる。
【００５９】
なお、変形例２及び３の説明に際しては、予め複数の値の所定の回数を設定する旨説明しているが、当該複数の値は、単純に一定の値で順次増加するもののみならず、寿命の限界となる消去回数に近づくにつれて、増加する間隔を順次小さくしてもよい。
この場合、より寿命の限界となる消去回数まで消去回数を近づけることができ、不揮発性メモリを長寿命にすることができる。
【００６０】
また、頻繁に書き換えが行われるデータ（例えば、画像データ）と、殆ど書き換えが行われないデータ（ファームウェア、フォントデータ等）とが混在し、不揮発性メモリを搭載した画像形成装置に、実施形態で説明した不揮発性メモリ制御装置を適用することにより、所定の消去回数を超過したパーティションへ、画像データ等の頻繁に書き換えが行われるデータの書き込みが集中してしまうことを防止することができるので、不揮発性メモリの各パーティションの消去回数を平準化して長寿命を実現することができる。
【符号の説明】
【００６１】
１００    不揮発性メモリ制御装置
１        消去回数計数部
２        読出回数計数部
３        データ読出書込部
４        制御部（消去回数計数手段、読出回数計数手段、入替手段）
ＦＭ１１  不揮発性メモリ
ＴＭ２１  揮発性一時保存メモリ
【図１】
2016115105.tif 000003
【図２】
2016115105.tif 000004
【図３】
2016115105.tif 000005
【図４】
2016115105.tif 000006
【図５】
2016115105.tif 000007