(57)【要約】  寿命パラメータ生成部１２８が不揮発性記憶装置１１０の寿命に係る寿命パラメータを生成する。寿命時期が近くなると、モード切替部１２９が読み書き制御部１２４の読み書きモードをリライタブルモードからライトワンスモードに切り替えるとともに、アクセス装置１００にライトワンスモードに切り替わったことを通知する。こうすれば不揮発性メモリを内蔵した機器が使用できなくなる時期を簡便にユーザが認識でき、しかも寿命が尽きる直前で書き込みが一度しかできないライトワンスモードに自動的に切り換えることができる。
2009001519.tif 000002
【特許請求の範囲】
【請求項１】
外部からのアクセス指示に応じて不揮発性メモリへのデータの書き込み及び前記不揮発性メモリからのデータの読み出しを行うメモリコントローラであって、
前記不揮発性メモリの任意のアドレスにデータの読み書きを行うリライタブルモード、及び各アドレスに対してデータの最後の書き込みを行うライトワンスモードを含む複数の読み書き制御モードを備え、前記不揮発性メモリに対してデータの読み書き制御を行う読み書き制御部と、
前記不揮発性メモリのメモリ不良の発生容量及びメモリ書換回数の少なくともいずれかに係る寿命パラメータを生成する寿命パラメータ生成部と、
前記寿命パラメータ生成部によって生成された寿命パラメータが所定の閾値を超えたときに、前記読み書き制御モードをリライタブルモードからライトワンスモードに切り替えるとともに、該読み書き制御モードを特定する制御モード情報を外部に出力するモード切替部と、を具備するメモリコントローラ。
【請求項２】
前記寿命パラメータは、
前記不揮発性メモリのメモリ不良の許容容量に対する前記不揮発性メモリのメモリ不良の発生容量の比、メモリ不良の発生容量がメモリ不良の許容容量に到達する予測時間、前記不揮発性メモリの全容量に対するメモリ不良の発生容量の比、メモリ不良を許容する残容量に関するパラメータ、及び前記不揮発性メモリの書換保証回数に対する該不揮発性メモリの書換回数の比のうちの少なくとも１つである請求項１に記載のメモリコントローラ。
【請求項３】
前記不揮発性メモリは、複数の物理ブロックを含んで構成されるものであり、
前記不揮発性メモリのメモリ不良の許容容量及び発生容量は、前記不揮発性メモリの物理ブロック数を単位とする請求項１に記載のメモリコントローラ。
【請求項４】
前記モード切替部は、ライトワンスモードにおいて前記不揮発性メモリの全てのアドレスにデータを書き込んだときにデータの読み出しのみを可能とするリードオンリモードに切替える請求項１に記載のメモリコントローラ。
【請求項５】
外部からのアクセス指示に応じてデータの書き込み及び読み出しを行う不揮発性記憶装置であって、
前記不揮発性記憶装置は、
不揮発性メモリと、
前記不揮発性メモリへのデータの書き込み及び前記不揮発性メモリからのデータの読み出しを行うメモリコントローラと、を具備し、
前記メモリコントローラは、
前記不揮発性メモリの任意のアドレスにデータの読み書きを行うリライタブルモード、及び各アドレスに対してデータの最後の書き込みを行うライトワンスモードを含む複数の読み書き制御モードを備え、前記不揮発性メモリに対してデータの読み書き制御を行う読み書き制御部と、
前記不揮発性メモリのメモリ不良の発生容量及びメモリ書換回数の少なくともいずれかに係る寿命パラメータを生成する寿命パラメータ生成部と、
前記寿命パラメータ生成部によって生成された寿命パラメータが所定の閾値を超えたときに、前記読み書き制御モードをリライタブルモードからライトワンスモードに切り替えるとともに、該読み書き制御モードを特定する制御モード情報を外部に出力するモード切替部と、を具備する不揮発性記憶装置。
【請求項６】
前記寿命パラメータは、
前記不揮発性メモリのメモリ不良の許容容量に対する前記不揮発性メモリのメモリ不良の発生容量の比、メモリ不良の発生容量がメモリ不良の許容容量に到達する予測時間、前記不揮発性メモリの全容量に対するメモリ不良の発生容量の比、メモリ不良を許容する残容量に関するパラメータ、及び前記不揮発性メモリの書換保証回数に対する該不揮発性メモリの書換回数の比のうちの少なくとも１つである請求項５に記載の不揮発性記憶装置。
【請求項７】
前記不揮発性メモリは、複数の物理ブロックを含んで構成されるものであり、
前記不揮発性メモリのメモリ不良の許容容量及び発生容量は、前記不揮発性メモリの物理ブロック数を単位とする請求項５に記載の不揮発性記憶装置。
【請求項８】
前記モード切替部は、ライトワンスモードにおいて前記不揮発性メモリの全てのアドレスにデータを書き込んだときにデータの読み出しのみを可能とするリードオンリモードに切替える請求項５に記載の不揮発性記憶装置。
【請求項９】
アクセス装置と、前記アクセス装置からのアクセス指示に応じて、データの書き込み及び読み出しを行う不揮発性記憶装置とを有する不揮発性記憶システムであって、
前記不揮発性記憶装置は、
不揮発性メモリと、
前記不揮発性メモリへのデータの書き込み及び前記不揮発性メモリからのデータの読み出しを行うメモリコントローラと、を具備し、
前記メモリコントローラは、
前記不揮発性メモリの任意のアドレスにデータの読み書きを行うリライタブルモード、及び各アドレスに対してデータの最後の書き込みを行うライトワンスモードを含む複数の読み書き制御モードを備え、前記不揮発性メモリに対してデータの読み書き制御を行う読み書き制御部と、
前記不揮発性メモリのメモリ不良の発生容量及びメモリ書換回数の少なくともいずれかに係る寿命パラメータを生成する寿命パラメータ生成部と、
前記寿命パラメータ生成部によって生成された寿命パラメータが所定の閾値を超えたときに、前記読み書き制御モードをリライタブルモードからライトワンスモードに切り替えるとともに、該読み書き制御モードを特定する制御モード情報を外部に出力するモード切替部と、を具備する不揮発性記憶システム。
【請求項１０】
前記寿命パラメータは、
前記不揮発性メモリのメモリ不良の許容容量に対する前記不揮発性メモリのメモリ不良の発生容量の比、メモリ不良の発生容量がメモリ不良の許容容量に到達する予測時間、前記不揮発性メモリの全容量に対するメモリ不良の発生容量の比、メモリ不良を許容する残容量に関するパラメータ、及び前記不揮発性メモリの書換保証回数に対する該不揮発性メモリの書換回数の比のうちの少なくとも１つである請求項９に記載の不揮発性記憶システム。
【請求項１１】
前記不揮発性メモリは、複数の物理ブロックを含んで構成されるものであり、
前記不揮発性メモリのメモリ不良の許容容量及び発生容量は、前記不揮発性メモリの物理ブロック数を単位とする請求項９に記載の不揮発性記憶システム。
【請求項１２】
前記モード切替部は、ライトワンスモードにおいて前記不揮発性メモリの全てのアドレスにデータを書き込んだときにデータの読み出しのみを可能とするリードオンリモードに切替える請求項９に記載の不揮発性記憶システム。
【請求項１３】
不揮発性メモリを有する不揮発性記憶装置と接続して使用するアクセス装置であって、
前記不揮発性記憶装置から出力される読み書き制御モード情報に基づいて、前記読み書き制御モード情報の特定する読み書き制御モードがライトワンスモードに切り替わった後に前記不揮発性記憶装置をフォーマットする制御部と、を具備するアクセス装置。
【請求項１４】
前記アクセス装置は、前記読み書き制御モード情報を表示する表示回路を有する請求項１３に記載のアクセス装置。
【請求項１５】
前記不揮発性記憶装置から出力される読み書き制御モード情報及び寿命パラメータを受信する受信部を有する請求項１３又は１４に記載のアクセス装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリを備えた半導体メモリカード等の不揮発性記憶装置、前記不揮発性メモリを制御するメモリコントローラ、前記不揮発性記憶装置をアクセスするアクセス装置、及び前記不揮発性記憶装置にアクセス装置を構成要件として加えた不揮発性記憶システムに関する。
【背景技術】
【０００２】
書き換え可能な不揮発性メモリを備えた不揮発性記憶装置は、半導体メモリカードを中心にその需要が広まっている。半導体メモリカードは、光ディスクやテープメディアなどと比較して非常に高価格ではあるが、小型・軽量・耐震性・取り扱いの簡便さ等のメリットにより、デジタルスティルカメラや携帯電話などのポータブル機器の記録媒体としてその需要が広まっている。この半導体メモリカードは、不揮発性の主記憶メモリとしてフラッシュメモリを備え、それを制御するメモリコントローラを有している。メモリコントローラは、デジタルスティルカメラやパーソナルコンピュータ本体等のアクセス装置からの読み書き指示に応じて、フラッシュメモリに対して読み書き制御を行う。またポータブルオーディオでは、半導体メモリカードを記憶装置として用いるものだけでなく、ポータブルオーディオ本体内にフラッシュメモリを実装したものもある。また、近年ではこのような民生用途だけでなく、例えば放送局向けのプロ用動画記録機器にも半導体メモリカードが使用されている。【０００３】
半導体メモリカードやポータブルオーディオなどの製品に内蔵されたフラッシュメモリは、記憶単位であるメモリセルアレイへの書き込みや消去に比較的長い時間を必要とするため、複数のメモリセルを一括して消去したり書き込んだりできる構造となっている。フラッシュメモリは複数の物理ブロックから構成され、各物理ブロックは複数のページを含む。消去は物理ブロック単位で、書き込みはページ単位で行われる。【０００４】
近年フラッシュメモリは、大容量化と低コスト化への要望に対応して、多値ＮＡＮＤフラッシュメモリのように1つのメモリセルに２ビットの情報が記憶できる品種が主流となってきている。このような多値ＮＡＮＤフラッシュメモリは、メモリセルの信頼性確保が難しいため、書き替え保証回数が低い。従来の２値ＮＡＮＤフラッシュメモリの書き替え保証回数は例えば１０万回であったのに対して、多値ＮＡＮＤフラッシュメモリのそれは例えば１万回であり、約１０分の１まで低下している。更に言えば、１万回の書き替え回数を保証できるフラッシュメモリを製造すること自体も難しくなっている。【０００５】
フラッシュメモリの書き替え保証回数は、半導体メモリカードの寿命、及びポータブルオーディオなどの機器自体の寿命に直結している。従来、不揮発性記憶装置やポータブルオーディオなどの機器を使用するユーザは、これらの機器の寿命が半永久的なものと考えていた。しかし書換保証回数が制限されるフラッシュメモリを搭載した製品を使用する場合、特に頻繁にデータを書き替えるユーザにおいては、寿命を考慮した使い方、あるいは製品寿命を意識した製品選択が重要となってくる。【０００６】
従来、この課題に対応するために、例えば特許文献１や特許文献２に示すように、ユーザがメモリの寿命を認識できる不揮発性記憶システムが提案されている。これらの文献によれば、書き替え寿命のある不揮発性メモリへの書き替え回数をユーザに表示することにより、該不揮発性メモリの寿命の目安をユーザが認識できるようになっている。
【特許文献１】特開平０７―１４１８９９号公報
【特許文献２】特開２００１−１９５３１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、前述した従来技術においては、ユーザが不揮発性メモリの書き替え保証回数を事前に認識している必要があり。容易に寿命の目安が認識できるものとはいえなかった。【０００８】
プロ用動画記録機器のように業務用としてデータを記録するシステムにおいて、このような問題点は、特に顕著である。言い換えれば、半導体メモリカードを記録媒体とするプロ用動画記録機器においては、メモリカードの寿命を正確に認識し、寿命に達すると交換することが重要となる。例えば、書き替え保証回数が１万回のフラッシュメモリを含み容量が４ＧＢの不揮発性記憶装置において、２５Ｍバイト／秒の記録レートで毎日２時間ずつ撮影した場合、式（１）により１日で４ＧＢの全領域に対して約４４回の書き替えが発生する。
（２×３６００秒／日）÷（４ＧＢ÷２５ＭＢ／秒）＝約４４回／日・・・（１）
従って式（２）により約２２７日で半導体メモリカードの寿命が尽きるという目安がつく。
１万回÷４４回／日＝約２２７日  ・・・（２）
しかし、１日あたりの使用時間数や使用日数を確実に管理することは非常に面倒である。【０００９】
そこで、本発明は、不揮発性記憶装置あるいはポータブルオーディオなどの不揮発性メモリを内蔵した機器の上記問題点を解消するものである。本発明はこれらの機器が使用できなくなる時期をユーザが簡便に認識でき、しかも寿命が尽きる直前で書き込みが一度しかできないモード（以下、ライトワンスモードという）に自動的に切換えることのできるメモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
この課題を解決するために、本発明のメモリコントローラは、外部からのアクセス指示に応じて不揮発性メモリへのデータの書き込み及び前記不揮発性メモリからのデータの読み出しを行うメモリコントローラであって、前記不揮発性メモリの任意のアドレスにデータの読み書きを行うリライタブルモード、及び各アドレスに対してデータの最後の書き込みを行うライトワンスモードを含む複数の読み書き制御モードを備え、前記不揮発性メモリに対してデータの読み書き制御を行う読み書き制御部と、前記不揮発性メモリのメモリ不良の発生容量及びメモリ書換回数の少なくともいずれかに係る寿命パラメータを生成する寿命パラメータ生成部と、前記寿命パラメータ生成部によって生成された寿命パラメータが所定の閾値を超えたときに、前記読み書き制御モードをリライタブルモードからライトワンスモードに切り替えるとともに、該読み書き制御モードを特定する制御モード情報を外部に出力するモード切替部と、を具備するものである。【００１１】
ここで前記寿命パラメータは、前記不揮発性メモリのメモリ不良の許容容量に対する前記不揮発性メモリのメモリ不良の発生容量の比、メモリ不良の発生容量がメモリ不良の許容容量に到達する予測時間、前記不揮発性メモリの全容量に対するメモリ不良の発生容量の比、メモリ不良を許容する残容量に関するパラメータ、及び前記不揮発性メモリの書換保証回数に対する該不揮発性メモリの書換回数の比のうちの少なくとも１つとしてもよい。【００１２】
ここで前記不揮発性メモリは、複数の物理ブロックを含んで構成されるものであり、前記不揮発性メモリのメモリ不良の許容容量及び発生容量は、前記不揮発性メモリの物理ブロック数を単位としてもよい。【００１３】
ここで前記モード切替部は、ライトワンスモードにおいて前記不揮発性メモリの全てのアドレスにデータを書き込んだときにデータの読み出しのみを可能とするリードオンリモードに切替えるようにしてもよい。【００１４】
この課題を解決するために、本発明の不揮発性記憶装置は、外部からのアクセス指示に応じてデータの書き込み及び読み出しを行う不揮発性記憶装置であって、前記不揮発性記憶装置は、不揮発性メモリと、前記不揮発性メモリへのデータの書き込み及び前記不揮発性メモリからのデータの読み出しを行うメモリコントローラと、を具備し、前記メモリコントローラは、前記不揮発性メモリの任意のアドレスにデータの読み書きを行うリライタブルモード、及び各アドレスに対してデータの最後の書き込みを行うライトワンスモードを含む複数の読み書き制御モードを備え、前記不揮発性メモリに対してデータの読み書き制御を行う読み書き制御部と、前記不揮発性メモリのメモリ不良の発生容量及びメモリ書換回数の少なくともいずれかに係る寿命パラメータを生成する寿命パラメータ生成部と、前記寿命パラメータ生成部によって生成された寿命パラメータが所定の閾値を超えたときに、前記読み書き制御モードをリライタブルモードからライトワンスモードに切り替えるとともに、該読み書き制御モードを特定する制御モード情報を外部に出力するモード切替部と、を具備するものである。【００１５】
ここで前記寿命パラメータは、前記不揮発性メモリのメモリ不良の許容容量に対する前記不揮発性メモリのメモリ不良の発生容量の比、メモリ不良の発生容量がメモリ不良の許容容量に到達する予測時間、前記不揮発性メモリの全容量に対するメモリ不良の発生容量の比、メモリ不良を許容する残容量に関するパラメータ、及び前記不揮発性メモリの書換保証回数に対する該不揮発性メモリの書換回数の比のうちの少なくとも１つとしてもよい。【００１６】
ここで前記不揮発性メモリは、複数の物理ブロックを含んで構成されるものであり、前記不揮発性メモリのメモリ不良の許容容量及び発生容量は、前記不揮発性メモリの物理ブロック数を単位としてもよい。【００１７】
ここで前記モード切替部は、ライトワンスモードにおいて前記不揮発性メモリの全てのアドレスにデータを書き込んだときにデータの読み出しのみを可能とするリードオンリモードに切替えるようにしてもよい。【００１８】
この課題を解決するために、本発明の不揮発性記憶システムは、アクセス装置と、前記アクセス装置からのアクセス指示に応じて、データの書き込み及び読み出しを行う不揮発性記憶装置とを有する不揮発性記憶システムであって、前記不揮発性記憶装置は、不揮発性メモリと、前記不揮発性メモリへのデータの書き込み及び前記不揮発性メモリからのデータの読み出しを行うメモリコントローラと、を具備し、前記メモリコントローラは、前記不揮発性メモリの任意のアドレスにデータの読み書きを行うリライタブルモード、及び各アドレスに対してデータの最後の書き込みを行うライトワンスモードを含む複数の読み書き制御モードを備え、前記不揮発性メモリに対してデータの読み書き制御を行う読み書き制御部と、前記不揮発性メモリのメモリ不良の発生容量及びメモリ書換回数の少なくともいずれかに係る寿命パラメータを生成する寿命パラメータ生成部と、前記寿命パラメータ生成部によって生成された寿命パラメータが所定の閾値を超えたときに、前記読み書き制御モードをリライタブルモードからライトワンスモードに切り替えるとともに、該読み書き制御モードを特定する制御モード情報を外部に出力するモード切替部と、を具備するものである。【００１９】
ここで前記寿命パラメータは、前記不揮発性メモリのメモリ不良の許容容量に対する前記不揮発性メモリのメモリ不良の発生容量の比、メモリ不良の発生容量がメモリ不良の許容容量に到達する予測時間、前記不揮発性メモリの全容量に対するメモリ不良の発生容量の比、メモリ不良を許容する残容量に関するパラメータ、及び前記不揮発性メモリの書換保証回数に対する該不揮発性メモリの書換回数の比のうちの少なくとも１つとしてもよい。【００２０】
ここで前記不揮発性メモリは、複数の物理ブロックを含んで構成されるものであり、前記不揮発性メモリのメモリ不良の許容容量及び発生容量は、前記不揮発性メモリの物理ブロック数を単位としてもよい。【００２１】
ここで前記モード切替部は、ライトワンスモードにおいて前記不揮発性メモリの全てのアドレスにデータを書き込んだときにデータの読み出しのみを可能とするリードオンリモードに切替えるようにしてもよい。【００２２】
この課題を解決するために、本発明のアクセス装置は、不揮発性メモリを有する不揮発性記憶装置と接続して使用するアクセス装置であって、前記不揮発性記憶装置から出力される読み書き制御モード情報に基づいて、前記読み書き制御モード情報の特定する読み書き制御モードがライトワンスモードに切り替わった後に前記不揮発性記憶装置をフォーマットする制御部と、を具備するものである。【００２３】
ここで前記アクセス装置は、前記読み書き制御モード情報を表示する表示回路を有するようにしてもよい。【００２４】
ここで前記不揮発性記憶装置から出力される読み書き制御モード情報及び寿命パラメータを受信する受信部を有するようにしてもよい。
【発明の効果】
【００２５】
本発明によれば、不揮発性メモリのメモリ不良の発生容量もしくはメモリ書換回数によって不揮発性記憶装置の寿命に係る寿命パラメータを生成し、寿命時期が近くなると、モード切替部が不揮発性記憶装置の読み書きモードをリライタブルモードからライトワンスモードに切り替えるとともにアクセス装置にライトワンスモードに切り替わったことを通知する。それによりユーザはライトワンスモードに切り替わった事を認識することができるので、不揮発性記憶装置に永久保存すべきデータを記録するなどの対処ができる。
【図面の簡単な説明】
【００２６】
【図１Ａ】図１Ａは本発明の実施の形態に於ける不揮発性記憶システムの不揮発性記憶装置を示すブロック図である。
【図１Ｂ】図１Ｂは本発明の実施の形態に於ける不揮発性記憶システムのアクセス装置を示すブロック図である。
【図２】図２はパラメータ１確定部１２５に含まれるメモリ種別テーブルを示すメモリマップである。
【図３】図３は論理アドレス空間と物理アドレス空間との対応を示すメモリマップである。
【図４】図４はメモリセルアレイ１４２を構成する物理ブロックを示す説明図である。
【図５】図５は物理ブロックの構成を示す説明図である。
【図６】図６は読み書き制御部１２４に含まれる物理領域管理テーブルを示すメモリマップである。
【図７】図７は読み書き制御部１２４に含まれる論理物理変換テーブルを示すメモリマップである。
【図８】図８は寿命パラメータ保持ブロックの構成を示す説明図である。
【図９】図９はパラメータＰ２の時間推移を示すグラフである。
【図１０】図１０は通常動作時の処理を示すフローチャートである。
【図１１Ａ】図１１Ａはデータの書き込み概略処理を示すフローチャートである。
【図１１Ｂ】図１１Ｂはデータの書き込み概略処理を示すフローチャートである。
【図１２Ａ】図１２Ａはデータの書き込み時にエラーがない場合を表す説明図である。
【図１２Ｂ】図１２Ｂはデータの書き込み時にエラーがある場合を表す説明図である。
【図１２Ｃ】図１２Ｃはデータの書き込み時にエラーがある場合を表す説明図である。
【図１３】図１３はデータ書き込みの詳細処理を示すフローチャートである。
【符号の説明】
【００２７】
１００  アクセス装置
１０１  受信部
１０２  制御回路
１０３  表示回路
１０４  タイマ回路
１１０  不揮発性記憶装置
１２０  メモリコントローラ
１２１  ホストインターフェース
１２２  バッファ
１２３  メモリインターフェース
１２４  読み書き制御部
１２５  パラメータ１確定部
１２６  パラメータ２算定部
１２７  寿命パラメータ加工部
１２８  寿命パラメータ生成部
１２９  モード切替部
１３０  ＣＰＵ部
１４０  不揮発性メモリ
１４１  レジスタ
１４２  メモリセルアレイ
１４３  制御回路
１４４  ＩＤコード
１４５  通常領域
１４６  レジスタ領域
１４７  システム領域
１４８  スペア領域
１４９  寿命パラメータ保持ブロック
【発明を実施するための最良の形態】
【００２８】
図１Ａは、本発明の実施の形態における不揮発性記憶システムの不揮発性記憶装置、図１Ｂはそのアクセス装置を示すブロック図である。図１Ａ，図１Ｂにおいて、不揮発性記憶システムは、アクセス装置１００と不揮発性記憶装置１１０を含んで構成される。アクセス装置１００と不揮発性記憶装置１１０とは、バス１により接続される。不揮発性記憶装置１１０は、メモリコントローラ１２０と不揮発性メモリ１４０を含む。メモリコントローラ１２０と不揮発性メモリ１４０とは、バス２を介して接続される。【００２９】
メモリコントローラ１２０は、ホストインターフェース１２１、バッファ１２２、メモリインターフェース１２３、読み書き制御部１２４、パラメータ１確定部１２５、パラメータ２算出部１２６、寿命パラメータ加工部１２７、モード切替部１２９、ＣＰＵ部１３０を含む。なお、パラメータ１確定部１２５、パラメータ２算出部１２６、寿命パラメータ加工部１２７をまとめて寿命パラメータ生成部１２８とする。【００３０】
ホストインターフェース１２１はアクセス装置１００から、データの書き込みや読み出しに係るコマンド、論理アドレスおよびデータを受信したり、データの読み出し時にデータをアクセス装置１００に送信するブロックである。【００３１】
バッファ１２２は、バス1のテータ転送レートとバス２のデータ転送レートの相違を吸収するために用いられる。そのサイズは、後述する不揮発性メモリ１４０内のレジスタ１４１のサイズの２倍の容量、ここでは４ｋバイトとする。【００３２】
メモリインターフェース１２３はバッファ１２２に一時記憶されたデータを不揮発性メモリ１４０に書き込んだり、不揮発性メモリ１４０に記憶されたデータをバッファ１２２に読み出すためのブロックである。【００３３】
ＣＰＵ部１３０は、メモリコントローラ１２０の全体を制御するブロックである。【００３４】
読み書き制御部１２４は、アクセス装置１００からのコマンドに基づいて不揮発性メモリ１４０にデータを書き込み及び読み出すものである。読み書き制御部１２４は物理領域管理テーブルと論理物理変換テーブルを記憶する揮発性のＲＡＭを有している。物理領域管理テーブルは、不揮発性メモリ１４０の各物理ブロックの使用状態を示すものであり、論理物理変換テーブルは、論理アドレスを物理アドレスに変換するものであり、これらのテーブルの詳細については後述する。読み書き制御部１２４は、リライタブルモードとライトワンスモードとリードオンリモードの３つの読み書き制御モードを有する。ここでリライタブルモードとは、書き込み又は読み出し等のコマンドに基づいてアクセス装置１００から受信した任意の論理アドレスに対し不揮発性メモリ１４０の物理アドレスを割り当て、データを書き込み、読み出したり消去し、データの更新の際には元の物理アドレスに書き込まれているデータを消去するモードである。このモードは、光ディスクにおいて例えばＣＤ−ＲＷやＣＤ−ＲＡＭの書き込み方法に対応するモードである。又ライトワンスモードとは、各物理アドレスに対してデータの最後の書き込みを行い、データの消去を行わず、読み出しは任意のアドレスより行えるモードである。このモードは、光ディスクにおいて例えばＣＤ−Ｒの書き込み方法に対応するモードである。リードオンリモードとは、読み出しコマンドに基づいてデータの読み出しのみを行うモードである。また読み書き制御部１２４は又後述する寿命パラメータ保持部に保持されている寿命パラメータをアクセス装置１００からの指示に応じて外部に出力する機能を有している。【００３５】
パラメータ１確定部１２５は、不揮発性メモリ１４０のＩＤコード１４４を参照して、不揮発性メモリ１４０の容量に応じて許容不良ブロック数であるパラメータＰ１を確定するブロックである。パラメータ１確定部１２５は図２に示すようにＲＯＭなどのメモリに不揮発性メモリの種別情報テーブルを含んでいる。種別情報テーブルは不揮発性メモリの種類を示すＩＤコードについて、全容量、物理ブロックサイズや書換保証回数を示すテーブルである。書換保証回数は不揮発性メモリ製造メーカの出荷試験によって決められるものであり、不揮発性メモリの書換保証回数の値は様々である。パラメータ１確定部１２５はこのテーブルに基づいて算出した許容される不良ブロック数をパラメータＰ１として保持する。【００３６】
パラメータ２算出部１２６は、現在の不揮発性メモリ１４０へのデータの書き込みにおいてエラーとなった物理ブロック数をパラメータＰ２としてカウントするブロックである。【００３７】
寿命パラメータ加工部１２７はタイマ回路を内蔵しており、パラメータＰ１，Ｐ２を後述するように第１〜第５の寿命パラメータに加工するブロックである。このタイマ回路は不揮発性記憶装置１１０に電源が投入されている間は、常に時間を計数しているものとする。【００３８】
モード切替部１２９は、現在の読み書き制御モードを保持する揮発性の内部レジスタを有しており、寿命パラメータに応じて読み書き制御モードを切替えるものである。モード切替部１２９は切替えのための閾値をＲＯＭに保持している。モード切替部１２９は最初は読み書き制御モードをリライタブルモードとし、その後ライトワンスモードとし、ライトワンスモードにおいて書き込む余地がなくなったときにリードオンリモードに切換えるものとする。また、いずれのモードであるかをアクセス装置１００に出力する機能も有する。【００３９】
一方不揮発性メモリ１４０は、レジスタ１４１、メモリセルアレイ１４２、及び制御回路１４３を有する。レジスタ１４１は後述する書き込み単位であるページのサイズと等しいサイズを有する揮発性ＲＡＭであり、メモリインターフェース１２３から転送されたデータを一時保持する。メモリセルアレイ１４２は例えば１Ｇバイトの容量を有するフラッシュメモリであり、複数の物理ブロックから構成される。【００４０】
制御回路１４３は不揮発性メモリ１４０を識別するためのＩＤコード１４４を保持するとともに、メモリインターフェース１２３から転送された書き込み命令や物理アドレスに基づいてレジスタ１４１とメモリセルアレイの制御を行う回路である。ＩＤコード１４４は不揮発性メモリ１４０の種類を識別できるコードであって、フラッシュメモリの製造時にあらかじめ制御回路１４３のＲＯＭ等に記憶されている。なお、ＩＤコード１４４はメモリセルアレイ１４２内の一部の領域に予め書き込んでおくようにしても構わない。【００４１】
図３はメモリセルアレイ１４２の構成を示す図である。図３に示すようにメモリアレイ１４２は例えば１ＧＢの容量を有するものとし、ＰＢ０ｘ０〜ＰＢ０ｘｆｆｆ（０ｘは１６進数を示す）までの４０９６の物理ブロックから構成される。各物理ブロックは図４に示すように物理ページ番号ＰＰＮ０〜１２７までの１２８ページから構成される。そのうちデータ領域は１ページ当たり２ｋバイトとする。その他１ページ当たり６４バイトの管理領域を有する。各ページのデータ領域には、通常アクセス装置１００から転送されたデータが記憶される。管理領域にはエラー訂正用のＥＣＣコードなどが記憶される。物理ブロックは消去の単位であり、ページは書き込みの単位である。各物理ブロックのデータ領域サイズは２５６ｋバイトとなる。レジスタ１４１のサイズは、ページ分の容量に合わせて２ｋバイトとする。【００４２】
図５はこの不揮発性メモリ１４０の論理アドレス空間と物理アドレス空間との対応を示すメモリマップを示す図である。ここで物理アドレス空間は前述のように４０９６ブロックで構成され、このうち３８１５ブロック分の通常領域１４５、１０ブロック分のレジスタ領域１４６、１２９ブロック分のシステム領域１４７、及び８２ブロック分のスペア領域１４８を有している。これらの領域は後述する初期化処理によって形成される。レジスタ領域１４６内には寿命パラメータ保持ブロック１４９が設けられる。寿命パラメータ保持ブロック１４９は後述する寿命パラメータを保持する寿命パラメータ保持部である。【００４３】
システム領域１４７内の物理ブロックには図６に示す物理領域管理テーブル（１ｋバイト分）と図７に示す論理物理変換テーブル（６ｋバイト分）を記憶させる。物理領域管理テーブルは各物理ブロック番号ＰＢＮに対応して各物理ブロックのブロックステータス、即ち有効ブロック、不良ブロック、消去済みブロックを夫々００，１０，１１の２ビットで示すものである。又論理物理変換テーブルは論理ブロック番号ＬＢＮを物理ブロック番号ＰＢＮに変換するためのテーブルである。これらのテーブルは電源投入時に読み書き制御部１２４のＲＡＭにコピーされる。【００４４】
アクセス装置１００は、不揮発性記憶装置１１０へのデータの書き込みおよび読み出しを行う装置であり、図１Ｂに示すように、その内部に受信部１０１、制御回路１０２と表示回路１０３と、タイマ回路１０４を含む。受信部１０１は読み書き制御モードや寿命パラメータ保持ブロック１４９が保持する寿命パラメータを受信するブロックである。制御回路１０２はタイマ回路１０４に接続され、表示回路１０３への表示指示や受信部１０１に受信指示を転送する回路である。表示回路１０３は不揮発性記憶装置１１０に読み書き制御モードや寿命に係る情報を表示する回路である。【００４５】
本実施の形態の不揮発性記憶システムについて、初期状態、電源立ち上げ時の初期化処理、モード切替処理、通常動作時のデータ書き込み処理にわけて説明する。【００４６】
［初期状態］
まず、不揮発性記憶装置１１０の出荷前において、メーカ側で処理する初期化の内容について説明する。図５はアクセス装置１００が管理する論理アドレス空間と、不揮発性記憶装置１１０の物理アドレス空間との対応を表しており、物理アドレス空間よりも論理アドレス空間の方が狭い空間となっている。不揮発性記憶装置１１０の出荷前には、あらかじめ不揮発性メモリ１４０の全領域の書き替え試験により不良ブロックを調べる。この時点で見つかった不良ブロックを「初期不良ブロック」といい、物理領域管理テーブルの対応する物理ブロック番号のブロックステータスを、後の行程で不良ブロックに設定できるように、不良ブロックの物理ブロック番号を保持しておく。【００４７】
次に、初期化処理では全領域を消去した後、図５のシステム領域１４７にセキュア情報などのシステム情報を記憶させる。図６に示す物理領域管理テーブルや図７に示す論理物理変換テーブルをシステム領域１４７内の不良ブロックではない物理ブロックに記憶させる。なお、物理領域管理テーブルにおいて不良ブロックのブロックステータスを値１０に設定し、不良ブロックではない物理ブロックのブロックステータスは値１１に設定しておく。論理物理変換テーブルの各行には０ｘｆｆｆを設定しておく。又レジスタ領域１４６に不揮発性記憶装置（半導体メモリカード）としての属性情報、例えばカード容量などを記憶させる。【００４８】
レジスタ領域１４６やシステム領域１４７のサイズは、不揮発性記憶装置の品種によって異なるが、本実施の形態においては、レジスタ領域１４６を１０ブロック分（２５６０ｋバイト分）、システム領域１４７として１２９ブロック分（３３０２４ｋバイト分）とする。【００４９】
通常領域１４５は、アクセス装置１００から送出された画像や音楽データなどのいわゆるファイルデータと、ファイルデータを管理する為の管理情報（ＦＡＴ情報など）を記憶する領域である。ファイルデータと管理情報を総称して単にデータとする。スペア領域１４８は、各領域への書き込みにおいて不良ブロックが発生した際に、該不良ブロックの代替先として確保された領域である。スペア領域１４８は全領域のサイズに対して２％以上の容量を確保することが好ましい。その理由は、フラッシュメモリメーカによる書き替え保証の回数の規定に基づく。例えばこの保証回数が１万回とは、１万回書き替えによって発生する不良ブロックサイズが全領域のサイズの２％未満であることを意味する。本実施の形態においては、スペア領域１４８として式（３）から、切り上げ処理により８２ブロック個を確保した。
（１Ｇバイト／２５６ｋバイト）×２％≒８２ブロック  ・・・（３）【００５０】
但し、不揮発性記憶装置の品種によっては、レジスタ領域１４６やシステム領域１４７のサイズが比較的大きなものもあり、スペア領域１４８は８２ブロックより小さくなる場合がある。【００５１】
さて書き換えを繰り返すと、スペア領域１４８を全て使い果たし、不揮発性記憶装置としてデータの記録ができなくなる。この時期を管理するために、レジスタ領域１４６の最終の物理ブロックに寿命パラメータ保持ブロック１４９を設ける。寿命パラメータ保持ブロック１４９はアクセス装置１００からみると、論理アドレス空間の最終論理ブロック番号、即ちＬＢＮ＝３８２４に配置される。したがって、初期化処理では図７に示す論理物理変換テーブルの論理ブロック番号ＬＢＮが３８２４の位置には、物理ブロック番号ＰＢＮとして３８２４（１６進数で０ｘｅｆｄ）を記憶させておく。【００５２】
図８は寿命パラメータ保持ブロック１４９を示す図である。この物理ブロックでは、物理ページ番号０ｘ０に寿命パラメータを記憶する。物理ページ番号０ｘ０の下位バイト、即ちバイト番号０から昇順に、パラメータＰ１、パラメータＰ２、スペアブロック使用率、寿命残時間パラメータ、不良ブロック率、及びスペア空きブロック数を配置する。これらのパラメータを総称して寿命パラメータという。【００５３】
パラメータＰ１は不良ブロックの許容容量、即ちスペア領域の物理ブロック数であり、この場合は８２ブロック個となる。一方、パラメータＰ２は不良ブロックの発生数、即ちその時点で発生している不良ブロック数である。本実施の形態においては、不良ブロック数は初期化状態で例えば１個であるとする。パラメータＰ１とパラメータＰ２の値は、図８に示すように寿命パラメータ保持ブロックの物理ページ番号０のバイト番号０と１に記憶される。【００５４】
初期化処理では更に、レジスタ領域１４６に読み書き制御部１２４の読み書き制御モードをリライタブルモードとして登録しておく。【００５５】
［電源立ち上げ時の初期化処理］
次にユーザが使用するときに電源をオンとしたときの初期化処理について説明する。アクセス装置１００の電源の立ち上げにより、バス１を通じて不揮発性記憶装置１１０も電源が立ち上がり、不揮発性記憶装置１１０は初期化処理に移行する。初期化処理において、ＣＰＵ部１３０はメモリインターフェース１２３を介してシステム領域１４７に記憶されている物理領域管理テーブルと論理物理変換テーブルを、読み書き制御部１２４内部の揮発性ＲＡＭに一時保持する。以降、データの読み出しや書き込みにおいては、読み書き制御部１２４内のＲＡＭに一時記憶されたこれらのテーブルを用いて、物理アドレスを決定する。また、各テーブルの更新がなされた場合は、電源遮断対策のため、その都度不揮発性メモリ１４０に書き戻す。【００５６】
次に、パラメータ１確定部１２５はメモリインターフェース１２３を介してＩＤコード１４４を読み出し、図２に示すメモリ種別テーブルを参照する。例えばＩＤコードが０ｘ４の場合は、不揮発性メモリ１４０は、容量が１Ｇバイトで、物理ブロックサイズが２５６ｋバイトで、書換保証回数が１万回のものである。パラメータ１確定部１２５は式（３）を実行することにより、スペア領域のブロック数、即ち８２ブロックをパラメータＰ１として算出し、パラメータ１確定部１２５内に保持しておく。【００５７】
次に、モード切替部１２９は、その内部レジスタにレジスタ領域１４６の読み書き制御のモード情報を読み出してアクセス装置１００に通知する。アクセス装置１００内の制御回路１０２は受信部１０１を介して読み書き制御モード情報を受信し、表示回路１０３にリライタブルモードかライトワンスモードかリードオンリモードかを表示する。なおアクセス装置１００は、レジスタ領域１４６を直接読み出すことにより、現在の読み書きの制御モードが何であるかを認識するようにしても構わない。【００５８】
次に、ＣＰＵ部１３０は、バッファ１２２を全クリアし、ホストインターフェース１２１を介してアクセス装置１００に対して初期化が完了したことを通知する。【００５９】
パラメータ２算出部１２６は、物理領域管理テーブルを参照し、ブロックステータスが値１０のブロック、即ち不良ブロックの個数をカウントし、カウント値をパラメータＰ２としてパラメータ２算出部１２６内に保持しておく。出荷直後であって前述のように不良ブロック数が１であるとすると、パラメータＰ２は値１となる。【００６０】
寿命パラメータ加工部１２７は、寿命パラメータとして下記の５種類のパラメータを生成する。尚、本実施の形態ではこの５種類の全てを実行してもよく、そのうちの一部のみを実行してもよい。又、寿命パラメータは電源立上時だけでなく物理ブロックにエラーが生じた場合に実行される。【００６１】
（１）パラメータＰ１，Ｐ２
第１のパラメータは、不揮発性メモリ１４０のメモリ不良の許容容量、即ちスペア領域１４８の物理ブロック数であるパラメータＰ１と、不揮発性メモリ１４０のメモリ不良の発生容量、即ち実際に不良ブロックとなった物理ブロック数であるパラメータＰ２そのものである。寿命パラメータ加工部１２７は、パラメータ１確定部１２５が内部に保持しているパラメータＰ１を読み出し、寿命パラメータ保持ブロック１４９の物理ページ番号０のバイト番号０に記憶させる。なお前述したように、出荷前の工程においてパラメータＰ１を寿命パラメータ保持ブロック１４９に記憶しておけば、ここでの書き込みは不要となる。次に寿命パラメータ加工部１２７は、パラメータ２算出部１２６が内部に保持しているパラメータＰ２を読み出し、寿命パラメータ保持ブロック１４９の物理ページ番号０のバイト番号１に記憶させる。つまり第１のパラメータの生成処理では、寿命パラメータ加工部１２７は、単にパラメータＰ１とパラメータＰ２をそれぞれパラメータ１確定部１２５とパラメータ２算出部１２６から読み出し、ブロック１４９に書き込むだけの処理を行う。【００６２】
（２）スペアブロック使用率
第２のパラメータは、メモリ不良を許容するスペア領域の物理ブロック数に対して、現在の不良ブロックに代えて使用している物理ブロック数の使用率を表す。寿命パラメータ加工部１２７は、式（４）によってスペアブロック使用率を求め、この使用率をブロック１４９の物理ページ番号０のバイト番号２に記憶する。
スペアブロック使用率＝Ｐ２／Ｐ１  ・・・（４）
スペアブロック使用率は、不揮発性メモリのメモリ不良の許容容量に対するメモリ不良の発生容量の比に関するパラメータとなっている。【００６３】
（３）寿命残時間パラメータ
第３のパラメータは、不揮発性記憶装置１１０の寿命の予測残り時間を表す。寿命パラメータ加工部１２７は、以下の式（５）によって寿命残時間パラメータを求める。ここでＴnは、出荷時を起点として不良ブロック数ｎ個に到達するまでの積算通電時間である。Ｔnは寿命パラメータ加工部１２７が内蔵するタイマ回路によって計数される。ｖnは不良ブロック数ｎ個に到達するまでの速度、即ち単位時間当たりの発生不良ブロック数（個／秒）であり、Ｖmは不良ブロック発生平均速度である。
寿命残時間パラメータ＝（Ｐ１−Ｐ２）／Ｖm  ・・・（５）
Ｖm＝（ｖ1＋ｖ2＋・・・＋ｖn）／ｎ
ｖn＝ｎ／Ｔn【００６４】
図９は時間の経過によるパラメータＰ２の増加及びこれに基づいて算出される速度を示す。現在の発生不良ブロック数がｎ個とすると、平均速度でパラメータＰ１の不良ブロック数に達するまでの時間が寿命残時間パラメータとなる。【００６５】
寿命パラメータ加工部１２７は、不揮発性メモリ１４０へのデータ書き込みにおいてエラーが発生し、物理領域管理テーブルに不良ブロックの登録をした際に、式（５）を実行し、不良ブロック発生平均速度を算出する。ｖ1〜ｖn，Ｖm及びＴnは逐次不揮発性メモリのシステム領域の一部の領域に保持しておく。こうして求めた寿命残時間パラメータをブロック１４９の物理ページ番号０のバイト番号３に記憶させる。【００６６】
（４）不良ブロック率
第４のパラメータは不良ブロックの比率を示すパラメータである。寿命パラメータ加工部１２７は、以下の式（６）を実行することによって不良ブロック率を求める。
不良ブロック率＝Ｐ２／全物理ブロック数  ・・・（６）
この不良ブロック率はブロック１４９の物理ページ番号０のバイト番号５に保持される。不良ブロック率は不揮発性メモリの全容量に対するメモリ不良の発生容量の比に関するパラメータとなっている。この不良ブロック率が０．０２となれば、この不揮発性記憶装置の寿命が尽きたこととなる。【００６７】
（５）スペア空きブロック数
第５のパラメータとしてスペア空きブロック数を定義する。メモリ不良は不揮発性メモリ１４０に不良ブロックがあったときに、代替ブロックとしてスペア領域１４８のブロックが用いられる。従ってこのスペア領域１４８の空きブロック数が少なくなれば、残容量が少なくなって寿命に近づき劣化していることとなる。従ってメモリ不良のスペア領域１４８の残容量に対応する空きブロック数を１つの寿命パラメータとすることができる。これはスペア領域１４８の空きブロック数を直接計数してもよい。又これに代えてスペアブロック数Ｐ１とスペア領域のブロックを使用しているパラメータＰ２を用いて、以下の式（７）により算出することができる。
スペア空きブロック数＝Ｐ１−Ｐ２  ・・・（７）
スペア空きブロック数が０となれば、この不揮発性記憶装置の寿命が尽きたこととなる。【００６８】
［通常動作時の処理］
次に、図１０を用いて、通常動作時の処理について説明する。図１０において、アクセス装置１００からアクセス指示、即ちデータの書き込み、読み出し、消去のいずれかのコマンドを受信すると（Ｓ１００）、ＣＰＵ部１３０は制御を読み書き制御部１２４に移し、アクセス指示の種別判断を行う（Ｓ１０１，Ｓ１０４）。データ消去コマンドの場合は（Ｓ１０１）、指定された論理アドレスに対応する物理ブロックのデータを消去し（Ｓ１０２）、物理領域管理テーブルのその物理ブロックのブロックステータスを消去済みブロックに変更する（Ｓ１０３）。データ書き込みコマンドの場合は（Ｓ１０４）、後述するデータ書き込み処理を行う（Ｓ１０５）。データ書き込み指示でない場合、即ちデータ読み出しコマンドの場合は、指定された論理アドレスに対応する物理ブロックからデータを読み出す（Ｓ１０６）。【００６９】
次に、図１１Ａ，図１１Ｂを用いて、データ書き込みの概略処理について説明する。読み書き制御部１２４は、モード切替部１２９の内部レジスタを参照することにより、読み書き制御モードの判別を行う（Ｓ２０１）。読み書き制御モードがリライタブルモードの場合はＳ２０２に移行し、リライタブルモードでない場合は図１１ＢのＳ２２１に移行する。リライタブルモードの場合は、読み書き制御部１２４は、後述するように不揮発性メモリ１４０に新規データを書き込む（Ｓ２０２）。そして、論理物理変換テーブルにおいて新規データの論理ブロック番号ＬＢＮの記憶位置に記録された物理ブロック番号ＰＢＮを参照し、物理領域管理テーブルの該ＰＢＮの記憶位置のブロックステータスが値００（有効ブロック）となっていれば旧データがあると認識し（Ｓ２０３）、旧データが記録された物理ブロック、即ち該ＰＢＮに対応する物理ブロックを消去する（Ｓ２０４）。さらに、物理領域管理テーブルにおいて該ＰＢＮの記憶位置のブロックステータスを値１１（消去済みブロック）に変更する（Ｓ２０５）。旧データが無い場合は、Ｓ２０６に移行する。【００７０】
次いで、物理領域管理テーブルにおいて、データを書き込んだブロックのＰＢＮの記憶位置のブロックステータスが値００（有効ブロック）となるように更新する（Ｓ２０６）。又、論理物理変換テーブルにおいて、新規データのＬＢＮの記憶位置に、新規データ書き込み先ＰＢＮを記録することにより更新する（Ｓ２０７）。そして更新した２つのテーブルを不揮発性メモリ１４０に書き戻す（Ｓ２０８）。その後寿命パラメータに基づきライトワンスモードへの切替が必要かどうかの判定を行い（Ｓ２０９）、必要な場合は、モード切替部１２９は読み書き制御モードをライトワンスモードに設定し（Ｓ２１０）、ライトワンスモードであることをアクセス装置１００に通知する（Ｓ２１１）。Ｓ２０９において切替えが必要でなければ処理を終える。【００７１】
一方Ｓ２０１において読み書き制御モードがリライタブルモードでないと判定されると、図１１Ｂに示すＳ２２１において、ライトワンスモードかリードオンリモードかの判定を行う。ライトワンスモードの場合は、前述したリライタブルモードの場合と同様に新規データを書き込み（Ｓ２２２）、物理領域管理テーブルと論理物理変換テーブルを更新して不揮発性メモリ１４０に書き戻す（Ｓ２２３〜Ｓ２２５）。【００７２】
そしてＳ２２６において消去ブロックが残っているかどうかを判断する。消去ブロックが残っていれば処理を終え、消去ブロックがなければモード切替部１２９は読み書き制御モードをリードオンリモードに設定する（Ｓ２２７）。そしてＳ２２８においてリードオンリモードをアクセス装置１００に通知して処理を終える。Ｓ２２２から始まるライトワンスモードでの書き込みはリライタブルモードと比較すると、Ｓ２０３〜Ｓ２０５に示した旧データの消去処理を行わない点と、動作モードの切替え処理、即ちＳ２２６〜Ｓ２２８の内容が異なっている。【００７３】
ここで、Ｓ２０９においてリライタブルモードからライトワンスモードへの切替が必要かどうかの判定基準について説明する。モード切替部１２９は以下の（Ａ）〜（Ｄ）のいずれかの判定基準を備えるものとする。【００７４】
（Ａ）スペアブロック使用率に基づく判定
スペアブロック使用率とモード切替部１２９内のＲＯＭに予め設定された閾値Ａとの比較を行い、スペアブロック使用率が閾値Ａ以上であれば、読み書き制御部１２４をリライタブルモードからライトワンスモードに切り替える。ここで、閾値Ａの値の決め方について説明する。モード切替後は、ライトワンスモードでの読み書き処理となるので、不揮発性メモリ１４０の通常領域１４５に一通り書き込む際に発生すると予想される不良ブロック数をＸとすると、式（４）を参照して、閾値Ａは式（８）で与えられる。Ｘの値は、不揮発性記憶装置１１０の製造工程において、不良ブロック発生確率を試験することによって決めればよい。
閾値Ａ＝（Ｐ１−Ｘ）／Ｐ１  ・・・（８）
このようにしてＸを適宜設定することにより、閾値Ａは例えば０．９５のように定めることができる。【００７５】
（Ｂ）寿命残時間パラメータに基づく判定
寿命残時間パラメータとモード切替部１２９内のＲＯＭに予め設定された閾値Ｂとの比較を行い、寿命残時間パラメータが閾値Ｂ以下であれば、読み書き制御部１２４をリライタブルモードからライトワンスモードに切替える。ここで、閾値Ｂの値の決め方について説明する。モード切替後は、ライトワンスモードでの読み書き処理となるので、不揮発性メモリ１４０の通常領域１４５に一通り書き込む際に発生すると予想される不良ブロック数をＸとすると、式（５）を参照して閾値Ｂは式（９）で与えられる。Ｘの値は、不揮発性記憶装置１１０の製造工程において、不良ブロック発生確率を試験することによって決めればよい。
閾値Ｂ＝Ｘ／Ｖm  ・・・（９）
Ｖm＝（ｖ1＋ｖ2＋・・・＋ｖn）／ｎ
ｖn＝ｎ／Ｔn【００７６】
（Ｃ）不良ブロック率に基づく判定
不良ブロック率とモード切替部１２９内のＲＯＭに予め設定された閾値Ｃとの比較を行い、不良ブロック率が閾値Ｃ以上であれば、読み書き制御部１２４をリライタブルモードからライトワンスモードに切り替える。ここで、閾値Ｃの値の決め方について説明する。モード切替後は、ライトワンスモードでの読み書き処理となるので、不揮発性メモリ１４０の通常領域１４５に一通り書き込む際に発生すると予想される不良ブロック数をＸとすると、式（６）を参照して閾値Ｃは式（１０）で与えられる。Ｘの値は、不揮発性記憶装置１１０の製造工程において、不良ブロック発生確率を試験することによって決めればよい。
閾値Ｃ＝（Ｐ１−Ｘ）／全物理ブロック数  ・・・（１０）
このようにしてＸを適宜設定することにより、閾値Ｃは例えば０．９５のように定めることができる。【００７７】
（Ｄ）スペア空きブロック数に基づく判定
スペア空きブロック数とモード切替部１２９内のＲＯＭに予め設定された閾値Ｄとの比較を行い、スペア空きブロック数が閾値Ｄ以下であれば、読み書き制御部１２４をリライタブルモードからライトワンスモードに切替える。ここで、閾値Ｄの値の決め方について説明する。モード切替後は、ライトワンスモードでの読み書き処理となるので、不揮発性メモリ１４０の通常領域１４５に一通り書き込む際に発生すると予想される不良ブロック数をＸとすると、式（７）を参照して閾値Ｄは式（１１）で与えられる。Ｘの値は、不揮発性記憶装置１１０の製造工程において、不良ブロック発生確率を試験することによって決めればよい。
閾値Ｄ＝Ｘ  ・・・（１１）
尚上述した（Ａ）〜（Ｄ）の判定はいずれか１つのみを用いてもよく、複数の判定を組み合わせてモードを切替えるようにしてもよい。複数の判定の組み合わせの場合、その論理和であってもよく、その論理積によって切替えるようにしてもよい。【００７８】
次に、Ｓ２０２，Ｓ２２２におけるリライタブルモードでのデータ書き込み処理について説明する。ここではアクセス装置１００が２ｋバイト分のデータを書き込む場合について、不良ブロックが発生する場合を含めて説明する。なお論理ブロック番号ＬＢＮ＝０に２ｋバイト分のデータが既に書き込まれており、同じ論理ブロックに２ｋバイト分のデータを書き込む場合を例にして説明する。図１２Ａは、書き込みエラーが発生しない場合、図１２Ｂは１回の書き込みエラーがある場合、図１２Ｃは２回の書き込みエラーがある場合について示した説明図である。又図１３はその動作を示すフローチャートである。【００７９】
図１２Ａにおいて、物理ブロックＰＢ０ｘ１０のページ０に２ｋバイト分のデータが書き込まれている。その後、アクセス装置１００から同じ論理ブロックアドレスＬＢＮ０に対して続く２ｋバイト分のデータの書き込み指示がなされる。不揮発性記憶装置は、ホストインターフェース１２１を介して２ｋバイト分のデータを受信し、バッファ１２２に保持する。読み書き制御部１２４は内部に保持した論理物理変換テーブルの論理ブロック番号ＬＢＮ０に対応する物理アドレスを参照する。この論理アドレスには物理ブロックＰＢ０ｘ１０の物理ブロック番号（ＰＢＮ＝１６）が記憶されており、物理領域管理テーブルのＰＢＮ＝１６のメモリ位置のブロックステータスは値００、即ち有効ブロックに設定されているとする。【００８０】
読み書き制御部１２４は、物理ブロックＰＢ０ｘ１０を旧ブロックとし、物理領域管理テーブルに基づき１つの消去済みブロック、例えば物理ブロックＰＢ０ｘ２５を新ブロックとして取得し、書き込みを開始する。【００８１】
まず図１２Ａの矢印Ａに示すように、旧ブロックである物理ブロックＰＢ０ｘ１０のページ０に既に記憶されている２ｋバイト分のデータを、物理ブロックＰＢ０ｘ２５のページ０に退避する。次いで読み書き制御部１２４はバッファ１２２に一時記憶された２ｋバイト分のデータと、物理ブロックＰＢ０ｘ２５のページ１に対応する物理アドレスをメモリインターフェース１２３に転送し、レジスタ１４１を介して、物理ブロックＰＢ０ｘ２５のページ１に新たに２ｋバイト分のデータを書き込む。図１２Ａの矢印Ｂはこの書き込みを示す。退避処理Ａや書き込み処理Ｂにおいて、読み書き制御部１２４は、不揮発性メモリ１４０から書き込みステータスを受信し、エラーがない場合は正常終了となる。【００８２】
図１２Ｂ及び図１２Ｃは書き込みステータスにエラーがある場合の状態を示す。図１２Ｂは再書き込みよって正常終了した場合、図１２Ｃは再書き込みにおいてもエラーが発生したため、それ以上の再書き込みを断念して、アクセス装置１００にエラーをかえす場合である。これらの処理について、図１３のフローチャートを用いて説明する。なお、簡単のため退避処理については説明を省略し、書き込みのみに着目して説明する。【００８３】
図１３において、前述したように、読み書き制御部１２４が物理領域管理テーブルを参照することにより消去済みの物理ブロックＰＢ０ｘ２５を取得し（Ｓ３００）、物理ブロックＰＢ０ｘ２５のページ１に２ｋバイト分のデータを書き込む（Ｓ３０１）。書き込み後に不揮発性メモリ１４０から書き込みステータスを受信し、エラーがあるかどうかを判定する（Ｓ３０２）。エラーがなければ、読み書き制御部１２４が物理領域管理テーブルの物理ブロックＰＢ０ｘ２５のブロックステータスを有効、即ち値００とし、また論理物理変換テーブルの指定された論理ブロックアドレスに物理ブロック番号を登録して、正常終了する（Ｓ３０３）。エラーがあれば、読み書き制御部１２４は物理領域管理テーブルを参照してスペア領域１４８の消去済みの物理ブロック、例えばＰＢ０ｘｆｆ０を取得する（Ｓ３０４）。そしてＳ３０５において物理ブロックＰＢ０ｘｆｆ０のページ０に退避データを書き込み（矢印Ｃ）、ページ１に２ｋバイト分のデータを書き込む（矢印Ｄ）。書き込み後に不揮発性メモリ１４０から書き込みステータスを受信し、エラーがあるかどうかを判定する（Ｓ３０６）。エラーがあれば、アクセス装置１００にエラーをかえし、異常終了する（Ｓ３０７）。エラーがなければ、パラメータＰ２をインクリメントし、各寿命パラメータを更新する（Ｓ３０８）。次いで読み書き制御部１２４が物理領域管理テーブルの物理ブロックＰＢ０ｘｆｆ０のブロックステータスを有効、即ち値００とし、また論理物理変換テーブルの対応する論理アドレスに物理ブロック番号を登録する（Ｓ３０９）。さらに、読み書き制御部１２４が物理領域管理テーブルの物理ブロックＰＢ０ｘ２５のブロックステータスを不良ブロック、即ち値１０として、正常終了する（Ｓ３１０）。【００８４】
Ｓ３０８の処理について、詳細に説明する。Ｓ３０８において、読み書き制御部１２４が寿命パラメータ生成部１２８に対してパラメータＰ２のインクリメント指示を転送すると、パラメータ２算出部１２６は、寿命パラメータ保持ブロック１４９に保持されたパラメータＰ２を読み出し、その値を１インクリメントする。さらに、寿命パラメータ加工部１２７が、インクリメントされたパラメータＰ２に基づき、第２〜第５の寿命パラメータを更新し、寿命パラメータとパラメータＰ２を寿命パラメータ保持ブロック１４９に書き戻す。【００８５】
次にアクセス装置１００は、寿命パラメータ保持ブロック１４９内の寿命パラメータの読み出しコマンドを不揮発性記憶装置１１０に与えると、不揮発性記憶装置１１０は寿命パラメータ保持ブロック１４９のデータを読み出し、ホストインターフェースを介してアクセス装置１００に出力する。アクセス装置１００は受信部１０１によってこのデータを受信し、表示回路１０３は転送された寿命パラメータを表示する。なお、寿命パラメータとして、パラメータＰ１とＰ２、スペアブロック使用率、寿命予測時期パラメータ、不良ブロック率、及びスペア空きブロック数があるが、アクセス装置１００は、これらを全て表示してもよいし、選択的に表示してもよい。また、これらのパラメータをアクセス装置１００側で加工して表示してもよい。また、アクセス装置１００が寿命パラメータ保持ブロック内の寿命パラメータを参照するタイミングは、任意のタイミング、例えば電源立ち上げ後の初期化時であってもよく、あるいは定期的なタイミングでよい。【００８６】
また、アクセス装置１００側が、パラメータＰ１に対応する情報、即ち不揮発性記憶装置１１０のメモリ不良の許容容量に関する情報を予め把握している場合は、アクセス装置１００はパラメータＰ２のみを逐次参照することで、不揮発性記憶装置１１０の寿命を認識することが可能となる。このような場合とは、例えば、規格上で不良ブロックの発生率を２％と規定し、初期化時に不揮発性記憶装置１１０の容量（例えば１Ｇバイト）を認識するようにすれば、アクセス装置１００側がこれらの情報に基づいて各寿命パラメータを計算することが可能となる。【００８７】
なお、メモリコントローラ１２０内に不揮発性メモリを設け、そこに寿命パラメータを記憶させるようにしてもよい。また不揮発性メモリ１４０は、フラッシュメモリ以外の不揮発性メモリ、例えば抵抗変化型メモリなどの不揮発性ＲＡＭでもよい。またパラメータＰ１やパラメータＰ２は物理ブロック数を単位としたパラメータであったが、ページ数やバイト数など、メモリ容量に関する単位であれば何でも良い。また表示回路１０３は、寿命パラメータのみを表示する特別の表示回路でなくてもよい。例えばデジタルスティルカメラのように標準装備されているＬＣＤモニターに表示させるようにしてもよい。【００８８】
ライトワンスモードへの切り替え後のアクセス装置１００の処理について説明する。前述したＳ２１１の処理、即ち不揮発性記憶装置１１０からアクセス装置１００にライトワンスモードの通知がなされると、アクセス装置１００は書き込み処理を中断し、アクセス装置１００内の制御回路１０２は、ライトワンスモードに切り替わった事を表示回路１０３に表示する。ユーザは不揮発性記憶装置１１０がライトワンスモードに切り替わったと認識できる。その後は、例えば永久保存すべきデータ等の重要な情報のみを記録し、消去済みブロックがなくなるまでデータ書き込むことができる。書き込みを終えてリードオンリモードになった後は、再生専用のメモリカードとして永く使用することができる。ここで、永久保存すべきデータ等の重要な情報のみを記録する方法として、アクセス装置１００は不揮発性記憶装置１１０に対してフォーマット即ち通常領域を全てを消去してから書き込むようにしてもよく、フォーマットせずに通常領域の一部の領域に対して消去を指示するようにしてもよい。いずれかの方法はユーザが選択すればよい。いずれにしても、アクセス装置１００はライトワンスモードに切り替わったと認識した直後は、初期化処理に移行し、ユーザの選択により、制御回路１０２は不揮発性記憶装置の一部又は全部の領域に対してフォーマットを行う。【００８９】
以上のように、本実施の形態に示す不揮発性記憶システムによれば、寿命パラメータ生成部１２８が生成するメモリ不良に係る寿命パラメータに基づき、モード切替部１２９が不揮発性記憶装置１１０の寿命時期が近くなったと判断すると、不揮発性記憶装置１１０の読み書き制御モードをリライタブルモードからライトワンスモードに切り替えるとともにアクセス装置１００にライトワンスモードに切り替わったことを通知する。それによりユーザはライトワンスモードに切り替わった事を認識することができるので、不揮発性記憶装置１１０に永久保存すべきデータを記録するなどの対処ができる。【００９０】
なお、不揮発性メモリ１４０のスペア領域の容量に対するメモリ不良の発生率などを不揮発性記憶装置１１０の寿命の判断基準としたが、不揮発性メモリ１４０の書換保証回数に対する実際の書換回数の比率を基準としても構わない。但し、不揮発性メモリの書換保証回数はあくまで保証値であって実力値ではない。実力値は不揮発性メモリの種類によって大きなひらきがある。例えば、書換保証回数が１万回であっても実力的には１０万回の書き換えにも耐えうる不揮発性メモリもある。従って、メモリ不良の発生率を寿命の判断基準にして読み書き制御モードを切替えるようにした方が正確にモード切替ができるシステムと言える。【００９１】
また、ポータブルオーディオ本体内に不揮発性メモリを実装したシステムなどにおいては、アクセス装置１００はポータブルオーディオ本体内のアクセス用の回路モジュールであり、また不揮発性記憶装置１１０はポータブルオーディオ本体内の不揮発性メモリを含むメモリモジュールに対応する。本発明はこのような形態を含んだものであってもよい。
【産業上の利用可能性】
【００９２】
本発明にかかる不揮発性記憶システムは、不揮発性記憶装置の寿命を判断でき、さらに寿命直前でリライタブルモードからライトワンスモードに自動的に切り替える方法を提案したものであり、半導体メモリカード等の種々の不揮発性記憶装置やこれを使用した静止画記録再生装置や動画記録再生装置、あるいは携帯電話において有益である。
【図１Ａ】
2009001519.tif 000003
【図１Ｂ】
2009001519.tif 000004
【図２】
2009001519.tif 000005
【図３】
2009001519.tif 000006
【図４】
2009001519.tif 000007
【図５】
2009001519.tif 000008
【図６】
2009001519.tif 000009
【図７】
2009001519.tif 000010
【図８】
2009001519.tif 000011
【図９】
2009001519.tif 000012
【図１０】
2009001519.tif 000013
【図１１Ａ】
2009001519.tif 000014
【図１１Ｂ】
2009001519.tif 000015
【図１２Ａ】
2009001519.tif 000016
【図１２Ｂ】
2009001519.tif 000017
【図１２Ｃ】
2009001519.tif 000018
【図１３】
2009001519.tif 000019
【国際調査報告】
2009001519.tif 000020
2009001519.tif 000021
2009001519.tif 000022
2009001519.tif 000023
2009001519.tif 000024