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