(57)【要約】【課題】複数の異なる記録モードでデータを記録した場合でも、システム全体の寿命を長くすることのできるメモリコントローラ、不揮発性記憶モジュール、アクセスモジュール、不揮発性記憶システムを提供する。【解決手段】アドレス管理部１２５が、不揮発性メモリ１１０を領域１１０Ａ及び領域１１０Ｂの２つに分割して管理する。読み書き制御部１０７は、通常録画のように複数のコンテンツを記録保存したい場合は、領域１１０Ａに代替形式でデータを書き込む。さらに読み書き制御部１０７は、常時録画のように１つのコンテンツ（現在ＴＶ視聴中の番組）をＦＩＦＯ形式で記録したい場合は、領域１１０Ｂに巡回形式でデータを書き込む。【選択図】図３
2009134513.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリに接続され、外部からのアクセス指示に応じて、長時間の保持が必要な第１種のデータ、及び長時間の保持が不要な第２種のデータを前記不揮発性メモリに書き込み、また書き込まれたデータを読み出すメモリコントローラであって、
前記不揮発性メモリを、前記第１種のデータを書き込む第１の領域、及び前記第２種のデータを書き込む第２の領域に分割して管理するアドレス管理部と、
前記第１の領域へは前記第１種のデータのみを代替形式で書き込み、前記第２の領域へは前記第２種のデータのみを巡回形式で書き込む読み書き制御部と、を具備するメモリコントローラ。
【請求項２】
外部から指定された記録モード識別情報に従い記録モードを決定する記録モード切り換え部をさらに具備し、
前記読み書き制御部は、前記記録モード切り換え部が決定した記録モードに応じて、前記不揮発性メモリに書き込むデータが前記第１種のデータであるか前記第２種のデータであるかを判断する請求項１に記載のメモリコントローラ。
【請求項３】
前記記録モード識別情報は、データを書き込む論理ブロックのアドレス、及びフラグの少なくとも一方で構成される請求項２に記載のメモリコントローラ。
【請求項４】
外部から指定されたあるいは予め設定された最大巻き戻し時間情報に基づいて、前記第２の領域のサイズを決定する記録領域サイズ設定部をさらに具備する請求項１〜３のいずれか１項に記載のメモリコントローラ。
【請求項５】
少なくとも前記第２の領域に記憶されたデータのデータ保持時間を算出し、該データ保持時間が前記最大巻き戻し時間情報に対応する再生時間を下回ったあるいは下回ることが予測された時点で、外部に警告情報を出力する寿命判定部をさらに具備する請求項１〜４のいずれか１項に記載のメモリコントローラ。
【請求項６】
外部からのアクセス指示に応じて、データの読み出し及び書き込みを行う不揮発性記憶モジュールであって、
前記不揮発性記憶モジュールは、
不揮発性メモリと、
前記不揮発性メモリに接続され、外部からのアクセス指示に応じて、長時間の保持が必要な第１種のデータ、及び長時間の保持が不要な第２種のデータを前記不揮発性メモリに書き込み、また書き込まれたデータを読み出すメモリコントローラと、を具備し、
前記メモリコントローラは、
前記不揮発性メモリを、前記第１種のデータを書き込む第１の領域、及び前記第２種のデータを書き込む第２の領域に分割して管理するアドレス管理部と、
前記第１の領域へは前記第１種のデータのみを代替形式で書き込み、前記第２の領域へは前記第２種のデータのみを巡回形式で書き込む読み書き制御部と、を備える不揮発性記憶モジュール。
【請求項７】
前記メモリコントローラは、外部から指定された記録モード識別情報に従い記録モードを決定する記録モード切り換え部をさらに備え、
前記読み書き制御部は、前記記録モード切り換え部が決定した記録モードに応じて、前記不揮発性メモリに書き込むデータが前記第１種のデータであるか前記第２種のデータであるかを判断する請求項６に記載の不揮発性記憶モジュール。
【請求項８】
前記記録モード識別情報は、データを書き込む論理ブロックのアドレス、及びフラグの少なくとも一方で構成される請求項７に記載の不揮発性記憶モジュール。
【請求項９】
前記メモリコントローラは、
外部から指定されたあるいは予め設定された最大巻き戻し時間情報に基づいて、前記第２の領域のサイズを決定する記録領域サイズ設定部をさらに備える請求項６〜８のいずれかに記載の不揮発性記憶モジュール。
【請求項１０】
前記メモリコントローラは、
少なくとも前記第２の領域に記憶されたデータのデータ保持時間を算出し、該データ保持時間が前記最大巻き戻し時間情報に対応する再生時間を下回ったあるいは下回ることが予測された時点で、外部に警告情報を出力する寿命判定部をさらに備える請求項６〜９のいずれかに記載の不揮発性記憶モジュール。
【請求項１１】
請求項７に記載の不揮発性記憶モジュールと接続して、データの読み出し及び書き込みを行なうアクセスモジュールであって、
前記不揮発性記憶モジュールに前記記録モードを通知する記録モード通知部を具備するアクセスモジュール。
【請求項１２】
請求項９に記載の不揮発性記憶モジュールと接続して、データの読み出し及び書き込みを行なうアクセスモジュールであって、
前記不揮発性記憶モジュールに前記最大巻き戻し時間情報を通知する最大巻き戻し時間通知部を具備するアクセスモジュール。
【請求項１３】
請求項１０に記載の不揮発性記憶モジュールと接続して、データの読み出し及び書き込みを行なうアクセスモジュールであって、
前記不揮発性記憶モジュールから受信した前記警告情報を表示する警告情報表示部を具備するアクセスモジュール。
【請求項１４】
アクセスモジュールと、前記アクセスモジュールからのアクセス指示に応じてデータの読み出し及び書き込みを行う不揮発性記憶モジュールと、を具備する不揮発性記憶システムであって、
前記不揮発性記憶モジュールは、
不揮発性メモリと、
前記不揮発性メモリに接続され、外部からのアクセス指示に応じて、長時間の保持が必要な第１種のデータ、及び長時間の保持が不要な第２種のデータを前記不揮発性メモリに書き込み、また書き込まれたデータを読み出すメモリコントローラと、を備え、
前記メモリコントローラは、
前記不揮発性メモリを、前記第１種のデータを書き込む第１の領域、及び前記第２種のデータを書き込む第２の領域に分割して管理するアドレス管理部と、
前記第１の領域へは前記第１種のデータのみを代替形式で書き込み、前記第２の領域へは前記第２種のデータのみを巡回形式で書き込む読み書き制御部と、を備える不揮発性記憶システム。
【請求項１５】
前記メモリコントローラは、外部から指定された記録モード識別情報に従い記録モードを決定する記録モード切り換え部をさらに備え、
前記読み書き制御部は、前記記録モード切り換え部が決定した記録モードに応じて、前記不揮発性メモリに書き込むデータが前記第１種のデータであるか前記第２種のデータであるかを判断する請求項１４に記載の不揮発性記憶システム。
【請求項１６】
前記記録モード識別情報は、データを書き込む論理ブロックのアドレス、及びフラグの少なくとも一方で構成される請求項１５に記載の不揮発性記憶システム。
【請求項１７】
前記メモリコントローラは、
外部から指定されたあるいは予め設定された最大巻き戻し時間情報に基づいて、前記第２の領域のサイズを決定する記録領域サイズ設定部をさらに備える請求項１４〜１６のいずれかに記載の不揮発性記憶システム。
【請求項１８】
前記メモリコントローラは、
少なくとも前記第２の領域に記憶されたデータのデータ保持時間を算出し、該データ保持時間が前記最大巻き戻し時間情報に対応する再生時間を下回ったあるいは下回ることが予測された時点で、外部に警告情報を出力する寿命判定部をさらに備える請求項１４〜１７のいずれかに記載の不揮発性記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリへのデータの読み書きを制御するメモリコントローラ、不揮発性メモリ及びメモリコントローラを備える半導体メモリカードなどの不揮発性記憶モジュール、不揮発性記憶モジュールへデータの読み書きを指示するアクセスモジュール、及び不揮発性記憶モジュール及びアクセスモジュールを構成要素として含む不揮発性記憶システムに関する。
【背景技術】
【０００２】
書き換え可能な不揮発性メモリを備える不揮発性記憶モジュールは、着脱型の記憶装置として半導体メモリカードを中心にその需要が高まっている。半導体メモリカードは、光ディスクやテープメディアなどと比較して非常に高価格であるが、小型、軽量、耐震性、取り扱いの簡便さなどのメリットにより、デジタルスチルカメラや携帯電話などのポータブル機器の記録媒体としてその需要が高まっている。また近年では、半導体メモリカードの大容量化に伴い、パーソナルコンピュータのハードディスクの代替装置や、デジタルテレビの録画メディアとしての応用も検討が進んでいる。
【０００３】
この半導体メモリカードは、不揮発性の主記憶メモリとしてフラッシュメモリを備え、それを制御するメモリコントローラを有している。メモリコントローラは、デジタルスチルカメラやパーソナルコンピュータ本体などのアクセスモジュールからの読み書き指示に応じて、フラッシュメモリに対するデータの読み書きを制御する。また非着脱型の不揮発性記憶モジュールとして、デジタルスチルカメラやポータブルオーディオ機器本体内に組み込まれた半導体メモリカードもある。
【０００４】
フラッシュメモリは、記憶単位であるメモリセルアレイへの書き込みや消去に比較的長い時間を必要とするため、複数のメモリセルに対して一括してデータの書き込みや消去ができる構造となっている。具体的には、フラッシュメモリは複数の物理ブロックで構成されており、各物理ブロックは複数のページを含んでいる。このようなフラッシュメモリは、物理ブロック単位でデータを消去し、ページ単位でデータを書き込む。
【０００５】
近年フラッシュメモリは、大容量化と低コスト化への要望に対応して、多値ＮＡＮＤフラッシュメモリのように１つのメモリセルに２ビットのデータを記憶できる品種が主流となってきている。このような多値ＮＡＮＤフラッシュメモリは、メモリセルの信頼性確保が難しいため、データを書き替えできる回数が少ない。従来の２値ＮＡＮＤフラッシュメモリは、書き替え回数１０万回、データ保持時間１０年間を保証していた。これに対して、多値ＮＡＮＤフラッシュメモリは、保証できる書き替え回数は１万回以下である。更には書き換え回数とデータ保持時間が、例えば図１に示すようなトレードオフの関係になっており、データ書き換え回数の増加とともにデータ保持時間は減少する。このように、前述した書き換え回数やデータ保持時間は、半導体メモリカードなどの不揮発性記憶モジュールの寿命、及び不揮発性記憶モジュールを備えた不揮発性記憶システムの寿命に直結している。
【０００６】
従来より、メモリセルの寿命をできるだけのばすために、特定の物理ブロックに書き換えが集中しないウェアレベリングといわれるアドレス管理方法が適用されている。特許文献１によれば、データの書き込みの際に、空き領域である空き物理ブロックにデータを書き込む。このとき、その書き込みで指定された論理アドレスに対する旧データが記憶されている場合は、該旧データを記憶する物理ブロックの旧データを消去し、更に該物理ブロックを空きブロックとして管理する。このように、特定の物理ブロックばかりに書き込みが集中しないような工夫がなされている
【０００７】
また、特許文献２によれば、物理ブロック毎に書き換え回数を管理し、書き換え回数が少ない物理ブロックに優先的にデータを書き込むことによって、書き換え回数を平準化する工夫がなされている。
【特許文献１】特開２００３−２６３８９４号公報
【特許文献２】特開平５−２８２８８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
例えばテレビ番組を録画する用途にメモリカードを用いた場合、２通りの録画目的が考えられる。１つめは、メモリカードにテレビ番組を保存して、テレビ番組の終了後いつでも好きなときに見ることを目的とした録画である。この目的での録画を通常録画という。２つめは、放送中の番組を例えば１０分あるいは３０分など、現在時刻から一定時間遡って、つまり遅れて見ることを目的とした録画である。放送中の番組を録画しながら一定時間分放送内容を遡ってテレビ番組を再生することを、リワインド再生といい、このリワインド再生用の録画を常時録画という。常時録画では、限られた容量のメモリカードに繰り返し録画データを記録するので、データを消去して空き領域を確保しながら継続的にデータが記録される。このデータ消去の繰り返しによってデータの書き換え回数は膨大なものとなり、メモリセルの劣化が急速に進む。１つのメモリカードを通常録画と常時録画の両方に用いた場合、常時録画によるメモリセルの劣化の影響をうけて、通常録画で記録されたデータの保持時間が急速に短くなるといった問題が生じる。なおこのようなメモリセルの劣化を、干渉劣化という。
【０００９】
ある多値フラッシュメモリを下に示す条件で使用し、１０年経過した時点での干渉劣化の様子を検証した。
《使用条件》
・通常録画時間＝２Ｈ／日
・常時録画時間（視聴時間）＝１０Ｈ／日
・録画レート＝８．５Ｍｂｐｓ
・リワインド再生時間＝１Ｈ
図２Ａは上記使用条件のうち１日あたり２時間の通常録画のみを実行したときのデータ保持が可能な時間を通常録画の場合について示している。図２Ｂは、上記使用条件のとおり１日あたり２時間の通常録画、及び１日当たり１０時間の常時録画を実行したときのデータ保持が可能な時間を、通常録画及び常時録画について示している。なお図２Ａ及び図２Ｂの括弧内の数値は、１０年を経過した時点での書き換え回数である。例えば３２ＧＢの容量を有するメモリカードを比較すると、図２Ａでのデータ保持時間が２２０日であるのに対して、図２Ｂでのそれは５日である。１日あたりの録画時間を、通常録画の２時間から常時録画を合わせた１２時間と６倍にするだけで、データ保持時間は４０数分の１となり、極端に短くなる。これは、例えば月曜日に予約録画（通常録画）したテレビ番組を、週末に視聴するといったメモリカードの使い方ができなくなることを示している。
【００１０】
そこで、本発明は上記問題点に鑑み、例えば通常録画と常時録画といった複数の異なる記録モードでデータを記録した場合でも、不揮発性記憶システム全体の寿命を従来よりも長くすることのできるメモリコントローラ、不揮発性記憶モジュール、アクセスモジュール、及び不揮発性記憶システムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
この課題を解決するために、本発明のメモリコントローラは、不揮発性メモリに接続され、外部からのアクセス指示に応じて、長時間の保持が必要な第１種のデータ、及び長時間の保持が不要な第２種のデータを前記不揮発性メモリに書き込み、また書き込まれたデータを読み出すメモリコントローラであって、前記不揮発性メモリを、前記第１種のデータを書き込む第１の領域、及び前記第２種のデータを書き込む第２の領域に分割して管理するアドレス管理部と、前記第１の領域へは前記第１種のデータのみを代替形式で書き込み、前記第２の領域へは前記第２種のデータのみを巡回形式で書き込む読み書き制御部と、を具備するものである。
【００１２】
ここで前記メモリコントローラは、外部から指定された記録モード識別情報に従い記録モードを決定する記録モード切り換え部をさらに具備し、前記読み書き制御部は、前記記録モード切り換え部が決定した記録モードに応じて、前記不揮発性メモリに書き込むデータが前記第１種のデータであるか前記第２種のデータであるかを判断するようにしてもよい。
【００１３】
ここで前記記録モード識別情報は、データを書き込む論理ブロックのアドレス及びフラグの少なくとも一方で構成されるようにしてもよい。
【００１４】
ここで前記メモリコントローラは、外部から指定されたあるいは予め設定された最大巻き戻し時間情報に基づいて、前記第２の領域のサイズを決定する記録領域サイズ設定部をさらに具備するようにしてもよい。
【００１５】
ここで前記メモリコントローラは、少なくとも前記第２の領域に記憶されたデータのデータ保持時間を算出し、該データ保持時間が前記最大巻き戻し時間情報に対応する再生時間を下回ったあるいは下回ることが予測された時点で、外部に警告情報を出力する寿命判定部をさらに具備するようにしてもよい。
【００１６】
この課題を解決するために本発明の不揮発性記憶モジュールは、外部からのアクセス指示に応じて、データの読み出し及び書き込みを行う不揮発性記憶モジュールであって、前記不揮発性記憶モジュールは、不揮発性メモリと、前記不揮発性メモリに接続され、外部からのアクセス指示に応じて、長時間の保持が必要な第１種のデータ、及び長時間の保持が不要な第２種のデータを前記不揮発性メモリに書き込み、また書き込まれたデータを読み出すメモリコントローラと、を具備し、前記メモリコントローラは、前記不揮発性メモリを、前記第１種のデータを書き込む第１の領域、及び前記第２種のデータを書き込む第２の領域に分割して管理するアドレス管理部と、前記第１の領域へは前記第１種のデータのみを代替形式で書き込み、前記第２の領域へは前記第２種のデータのみを巡回形式で書き込む読み書き制御部と、を備えるものである。
【００１７】
ここで前記メモリコントローラは、外部から指定された記録モード識別情報に従い記録モードを決定する記録モード切り換え部をさらに備え、前記読み書き制御部は、前記記録モード切り換え部が決定した記録モードに応じて、前記不揮発性メモリに書き込むデータが前記第１種のデータであるか前記第２種のデータであるかを判断するようにしてもよい。
【００１８】
ここで前記記録モード識別情報は、データを書き込む論理ブロックのアドレス及びフラグの少なくとも一方で構成されるようにしてもよい。
【００１９】
ここで前記メモリコントローラは、外部から指定されたあるいは予め設定された最大巻き戻し時間情報に基づいて、前記第２の領域のサイズを決定する記録領域サイズ設定部をさらに備えるようにしてもよい。
【００２０】
ここで前記メモリコントローラは、少なくとも前記第２の領域に記憶されたデータのデータ保持時間を算出し、該データ保持時間が前記最大巻き戻し時間情報に対応する再生時間を下回ったあるいは下回ることが予測された時点で、外部に警告情報を出力する寿命判定部をさらに備えるようにしてもよい。
【００２１】
この課題を解決するために、本発明のアクセスモジュールは、請求項７に記載の不揮発性記憶モジュールと接続して、データの読み出し及び書き込みを行なうアクセスモジュールであって、前記不揮発性記憶モジュールに前記記録モードを通知する記録モード通知部を具備するものである。
【００２２】
この課題を解決するために、本発明のアクセスモジュールは、請求項９に記載の不揮発性記憶モジュールと接続して、データの読み出し及び書き込みを行なうアクセスモジュールであって、前記不揮発性記憶モジュールに前記最大巻き戻し時間情報を通知する最大巻き戻し時間通知部を具備するものである。
【００２３】
この課題を解決するために、本発明のアクセスモジュールは、請求項１０に記載の不揮発性記憶モジュールと接続して、データの読み出し及び書き込みを行なうアクセスモジュールであって、前記不揮発性記憶モジュールから受信した前記警告情報を表示する警告情報表示部を具備するものである。
【００２４】
この課題を解決するために本発明の不揮発性記憶システムは、アクセスモジュールと、前記アクセスモジュールからのアクセス指示に応じてデータの読み出し及び書き込みを行う不揮発性記憶モジュールと、を具備する不揮発性記憶システムであって、前記不揮発性記憶モジュールは、不揮発性メモリと、前記不揮発性メモリに接続され、外部からのアクセス指示に応じて、長時間の保持が必要な第１種のデータ、及び長時間の保持が不要な第２種のデータを前記不揮発性メモリに書き込み、また書き込まれたデータを読み出すメモリコントローラと、を備え、前記メモリコントローラは、前記不揮発性メモリを、前記第１種のデータを書き込む第１の領域、及び前記第２種のデータを書き込む第２の領域に分割して管理するアドレス管理部と、前記第１の領域へは前記第１種のデータのみを代替形式で書き込み、前記第２の領域へは前記第２種のデータのみを巡回形式で書き込む読み書き制御部と、を備えるものである。
【００２５】
ここで前記メモリコントローラは、外部から指定された記録モード識別情報に従い記録モードを決定する記録モード切り換え部をさらに備え、前記読み書き制御部は、前記記録モード切り換え部が決定した記録モードに応じて、前記不揮発性メモリに書き込むデータが前記第１種のデータであるか前記第２種のデータであるかを判断するようにしてもよい。
【００２６】
ここで前記記録モード識別情報は、データを書き込む論理ブロックのアドレス及びフラグの少なくとも一方で構成されるようにしてもよい。
【００２７】
ここで前記メモリコントローラは、外部から指定されたあるいは予め設定された最大巻き戻し時間情報に基づいて、前記第２の領域のサイズを決定する記録領域サイズ設定部をさらに備えるようにしてもよい。
【００２８】
ここで前記メモリコントローラは、少なくとも前記第２の領域に記憶されたデータのデータ保持時間を算出し、該データ保持時間が前記最大巻き戻し時間情報に対応する再生時間を下回ったあるいは下回ることが予測された時点で、外部に警告情報を出力する寿命判定部をさらに備えるようにしてもよい。
【発明の効果】
【００２９】
本発明によれば、メモリコントローラのアドレス管理部は、不揮発性メモリを、第１の領域及び第２の領域の２つの領域に分割して管理する。読み書き制御部は、通常録画のように複数のコンテンツを記録保存する場合は、第１の領域にデータを書き込み、常時録画のように１つのコンテンツを先入れ先出し形式で記録する場合は第２の領域に巡回形式でデータを書き込む。これによって、常時録画が第１の領域に及ぼす干渉劣化を回避することができるので、不揮発性記憶モジュールの寿命を従来よりも長くすることができる。また、これによって不揮発性記憶モジュール、不揮発性記憶モジュールのメモリコントローラ、及びアクセスモジュールを含む不揮発性記憶システム全体の寿命を従来よりも長くすることができる。
【発明を実施するための最良の形態】
【００３０】
以下に図面を用いて、本発明の実施の形態について説明する。図３は、本発明の実施の形態における不揮発性記憶システムを示すブロック図である。不揮発性記憶システムは、不揮発性記憶モジュール１００及びアクセスモジュール２００を有し、不揮発性記憶モジュール１００とアクセスモジュール２００とは外部バスを介して接続されている。
【００３１】
不揮発性記憶モジュール１００は、不揮発性メモリ１１０及びメモリコントローラ１２０を含んでおり、アクセスモジュール２００からの指示をうけて不揮発性メモリ１１０にデータを書き込み、また不揮発性メモリ１１０からデータを読み出すものである。不揮発性メモリ１１０とメモリコントローラ１２０とはメモリバスを介して接続されている。
【００３２】
不揮発性メモリ１１０は、フラッシュメモリであり、例えばＰ個（Ｐは自然数）の物理ブロックを有する。各物理ブロックは複数のページを含んでおり、ページ単位でデータは書き込まれ、物理ブロック単位でデータが消去される。不揮発性メモリ１１０は、図４に示すように、通常録画に用いる第１の領域である領域１１０Ａ、及び常時録画に用いる第２の領域である領域１１０Ｂを有するものである。領域１１０Ａ及び領域１１０Ｂは不揮発性メモリ１１０を物理的に区分して設けられた領域である。Ｐ個の物理ブロックは全てデータ記録のために使用されるものであり、本実施の形態では物理ブロックのサイズは例えば１Ｍバイトである。
【００３３】
メモリコントローラ１２０は、ホストインターフェイス（ホストＩＦ）１２１、バッファ１２２、メモリインターフェイス（メモリＩＦ）１２３、ＣＰＵ部１２４、アドレス管理部１２５、記録モード切り換え部１２６、読み書き制御部１２７、記録領域サイズ設定部１２８、及び寿命判定部１２９を含む。
【００３４】
ホストインターフェイス１２１は、外部バスを介してアクセスモジュール２００に接続している。ホストインターフェイス１２１は、アクセスモジュール２００からデータ、データの書き込みや読み出しに係るコマンド、及び論理アドレスを受信し、データの読み出しにおいては、読み出されたデータをアクセスモジュール２００に送信するものである。
【００３５】
バッファ１２２は、ホストインターフェイス１２１から入力されたデータを一時的に保持してメモリインターフェイス１２３に出力するものであり、また逆に、メモリインターフェイス１２３から入力されたデータを一時的に保持してホストインターフェイス１２１に出力するものである。
【００３６】
メモリインターフェイス１２３は、メモリバスを介して不揮発性メモリ１１０に接続している。メモリインターフェイス１２３は、バッファ１２２に記憶されたデータを不揮発性メモリ１１０に書き込み、また不揮発性メモリ１１０に記録されたデータを読み出してバッファ１２２に出力するものである。
【００３７】
ＣＰＵ部１２４は、メモリコントローラ１２０の全体を制御するものである。
【００３８】
アドレス管理部１２５は、内部に有するＲＡＭに物理領域管理テーブル（ＰＭＴ）１３１及び論物変換テーブル（ＬＰＴ）１３２を保持し、読み書き制御部１２７の指示によりアクセスモジュール２００から受信した論理アドレスに基づいて不揮発性メモリ１１０の物理アドレスを生成するものである。
【００３９】
なお本実施の形態の説明では、物理ブロックをＰＢ、論理ブロックをＬＢ、物理ブロック番号をＰＢＮ、論理ブロック番号をＬＢＮと表し、物理ブロック番号ＰＢＮが例えば０の物理ブロックをＰＢ０、論理ブロック番号ＬＢＮが例えば０の論理ブロックをＬＢ０と表す。
【００４０】
図５は、物理領域管理テーブル１３１を示すメモリマップである。物理領域管理テーブル１３１は、物理ブロックＰＢ０〜ＰＢ（Ｐ−１）についてブロックステータスＢＳ及び書き換え回数ｗｃを保持している。また、物理領域管理テーブル１３１は、空きポインタＦＰα及び巡回ポインタＦＰβを有する。空きポインタＦＰαは、通常録画領域の空き物理ブロックを指すポインタであり、巡回ポインタＦＰβは、常時録画領域の空き物理ブロックを指すポインタである。ブロックステータスＢＳにおいて、値０は使用中のブロックであることを、値１は空きブロックであることを、値２は不良ブロックであることを示している。なお簡単のため本実施の形態では値２、即ち不良ブロックはないものとする。物理ブロックＰＢ０〜ＰＢ（Ｐ−１）において、物理ブロックＰＢ０〜ＰＢ（ｉ−１）は領域１１０Ａ、物理ブロックＰＢｉ〜ＰＢ（Ｐ−１）は領域１１０Ｂを構成している。なお値ｉは、領域１１０Ｂのサイズによって決まるものである。
【００４１】
図６は、論物変換テーブル１３２を示すメモリマップである。この変換テーブルは論理ブロック番号ＬＢＮに対応する物理ブロック番号ＰＢＮを保持している。論理ブロックＬＢ０〜ＬＢ（ｊ−１）が領域１１０Ａに対応しており、ｊ個の論理ブロックＬＢ０〜ＬＢ（ｊ−１）が領域１１０Ａに記録される。また、論理ブロック番号ＬＢＮｊ〜ＬＢＮ（Ｌ−１）が領域１１０Ｂに対応しており、Ｌ−ｊ個の論理ブロックＬＢｊ〜ＬＢ（Ｌ−１）が領域１１０Ｂに記録される。ただしデータ書き込みの便宜上、領域１１０Ａ及び領域１１０Ｂにはそれぞれ２個の物理ブロックを予備として確保する。また、領域１１０Ａにはファイルシステムを管理するための物理ブロックが１つ含まれているので、論理ブロック数と物理ブロック数との関係は、式（１）と式（２）で示される。
ｉ−ｊ＝３  ・・・（１）
（Ｐ−ｉ）−（Ｌ−ｊ）＝２  ・・・（２）
【００４２】
論理ブロックと物理ブロックとの関係について説明する。アクセスモジュール２００が利用可能な論理空間はＬ個（Ｌは自然数）の論理ブロックから構成される。論理ブロック数Ｌは物理ブロック数Ｐより小さい値とし、（Ｐ−Ｌ）個の物理ブロックはスペア領域及び管理領域として使用される。スペア領域は、データ書き換え時のワーク領域として、また使用できなくなった物理ブロックである不良ブロックの代替領域として使用される。管理領域は、物理領域管理テーブル１３１及び論物変換テーブル１３２を記憶する領域である。
【００４３】
記録モード切り換え部１２６は、アクセスモジュール２００から受信した記録モード識別フラグに基づいて記録モードを切り換えるものである。記録モードには通常録画モードと常時録画モードの２種類があり、通常録画モードの場合は記録モード識別フラグの値は０、常時録画モードの場合は１である。
【００４４】
通常録画モードとは、アクセスモジュールから送信される第１種のデータを、送信される順に空き物理ブロックを探しながら、領域１１０Ａに書き込むモードであり、これを「代替形式の書き込み」という。
【００４５】
一方、常時録画モードとは、領域１１０Ｂの物理ブロックに第２種のデータを記録するときに、最先に書き込まれたデータを有する物理ブロックを消去して、その消去された物理ブロックに新たなデータを書き込むモードである。これによって、領域１１０Ｂの物理ブロックは、ある順序で巡回的に繰り返し用いられることになる。これを「巡回形式の書き込み」という。常時録画モードでは、リワインド再生用のＴＶ録画のように、領域１１０Ｂへのデータ書き込みを継続しつつ、既に書き込んだデータを一定時間分遡って読み出し再生することができるようにした、先入れ先出し（ＦＩＦＯ，Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）動作が可能である。
【００４６】
読み書き制御部１２７は、記録モード切り換え部１２６が決定した記録モードに従ってデータを書き込むようにメモリインターフェイス１２３に指示するとともに、データの読出しをメモリインターフェイス１２３に指示するものである。
【００４７】
記録領域サイズ設定部１２８は、アクセスモジュール２００から受信した最大巻き戻し時間情報によって常時録画モードで用いられる領域１１０Ｂのサイズを決定するものである。最大巻き戻し時間とは、常時録画モードで録画したコンテンツを再生するときに、遡ることのできる再生時間の上限である。領域１１０Ｂのサイズは、最大巻き戻し時間分のデータのサイズ以上であればよい。
【００４８】
寿命判定部１２９は、内部のＲＯＭに、図７に示す寿命テーブル１２９ａを保持している。寿命テーブル１２９ａは、不揮発性メモリ１１０の書き換え回数ｗｃに対応するデータ保持時間ｒを示している。寿命テーブル１２９ａは、例えば書き換え回数ｗｃが５００回のときは、データ保持時間ｒは１７０６７時間であり、書き換え回数ｗｃが８０００回のときは、データ保持時間ｒは５０時間であることを示している。寿命判定部１２９は、アクセスモジュール２００から寿命要求コマンドを受信すると、物理領域管理テーブル１３１と寿命テーブル１２９ａとを参照して、データ保持時間ｒから不揮発性記憶モジュール１００の寿命を判定し、その寿命に関する警告をアクセスモジュール２００に通知するものである。
【００４９】
アクセスモジュール２００は、記録モード通知部２０１、最大巻き戻し時間通知部２０２、及び警告情報表示部２０３を含んでおり、不揮発性モジュール１００にデータの書き込み及び読出しを指示するとともに、寿命要求コマンドを送信するものである。
【００５０】
記録モード通知部２０１は、記録モード識別フラグを生成し、生成した記録モード識別フラグを不揮発性記憶モジュール１００に出力するものである。
【００５１】
最大巻き戻し時間通知部２０２は、最大巻き戻し時間情報を生成し、生成した最大巻き戻し時間情報を不揮発性記憶モジュール１００に出力するものである。
【００５２】
警告情報表示部２０３は、不揮発性記憶モジュール１００から警告情報の通知を受けて、表示するものである。
【００５３】
以上のように構成された、本実施の形態における不揮発性記憶システムの動作について、図８を用いて説明する。図８は本実施の形態における不揮発性記憶システムの処理全体を示すフローチャートである。
【００５４】
まず、不揮発性記憶モジュール１００をアクセスモジュール２００に装着することにより、アクセスモジュール２００から不揮発性記憶モジュール１００に電源が供給される。その後、記録領域サイズ設定部１２８が最大巻き戻し時間を設定する必要があるかどうかを判断する。不揮発性記憶モジュール１００に最大巻き戻し時間が設定されていない場合、あるいは既に設定されている不揮発性記憶モジュール１００の最大巻き戻し時間を変更する場合は、記録領域サイズ設定部１２８が最大巻き戻し時間を設定する必要があると判断し（Ｓ１００）、記録領域サイズ設定部１２８が最大巻き戻し時間を設定する（Ｓ１０１）。Ｓ１００で最大巻き戻し時間を設定する必要がないと判断した場合、及びＳ１０１で最大巻き戻し時間の設定処理が完了した場合は、不揮発性記憶モジュール１００の初期化処理を実行する（Ｓ１０２）。
【００５５】
初期化処理においてメモリコントローラ１２０は、不揮発性メモリ１１０内の管理領域に保持された、物理領域管理テーブル１３１及び論物変換テーブル１３２をアドレス管理部１２５内のＲＡＭに読み込む。この時点で、物理領域管理テーブル１３１は、図５に示す情報を保持し、論物変換テーブル１３２は、図６に示す情報を保持している。
【００５６】
初期化処理の後、不揮発性記憶モジュール１００は、アクセスモジュール２００からのアクセスを待つ（Ｓ１０３）。アクセスがあった場合は、ＣＰＵ部１２４がアクセスモジュール２００から転送されたコマンドを解析し、書き込みコマンドであるか否かを判断する（Ｓ１０４）。書き込みコマンドであった場合、ＣＰＵ部１２４は、記録モード識別フラグによって通常録画モードであるか否かを判断する（Ｓ１０５）。Ｓ１０４で書き込みコマンド以外のコマンドであった場合、コマンドに従って書き込み以外の処理を実行する（Ｓ１０６）。なお、書き込みコマンド以外のコマンドとは、読み出しコマンドや後述する寿命要求コマンドなどのことである。
【００５７】
Ｓ１０５で、ＣＰＵ部１２４が、記録モード識別フラグが通常録画モードを示していると判断すれば、読み書き制御部１２７は、論理ブロック単位で代替形式の書き込み処理を実行する（Ｓ１０７）。ＣＰＵ部１２４は、１論理ブロック分の書き込みが完了するたびに、アクセスモジュール２００から受信した次のデータが終了コマンドであるか、１論理ブロックのデータであるかを判断する（Ｓ１０８）。終了コマンドであれば、Ｓ１０３に戻り、不揮発性記憶モジュール１００は、アクセスモジュール２００からのアクセスを待つ。１論理ブロックのデータであれば、Ｓ１０７に戻り、不揮発性記憶モジュール１００は、受信した次の１論理ブロックのデータを代替形式で書き込む。
【００５８】
Ｓ１０５で、ＣＰＵ部１２４が、記録モード識別フラグが常時録画モードを示していると判断すれば、不揮発性記憶モジュール１００は、論理ブロック単位で巡回形式の書き込み処理を実行する（Ｓ１０９）。ＣＰＵ部１２４は、１論理ブロック分の書き込みが完了するたびに、アクセスモジュール２００から受信した次のデータが終了コマンドであるか、１論理ブロックのデータであるかを判断する（Ｓ１１０）。終了コマンドであればＳ１０３に戻って、不揮発性記憶モジュール１００は、アクセスモジュール２００からのアクセスを待つ。１論理ブロックのデータであればＳ１０９に戻って、不揮発性記憶モジュール１００は、受信した次の１論理ブロックのデータを巡回形式で書き込む。以上が、本実施の形態における不揮発性記憶システムの処理全体の説明である。
【００５９】
［最大巻き戻し時間の設定（記録領域サイズの設定処理）］
図９を用いて、Ｓ１０１での最大巻き戻し時間の設定処理について説明する。アクセスモジュール２００が不揮発性記憶モジュール１００に最大巻き戻し時間を通知すると、不揮発性記憶モジュール１００は領域１１０Ｂのサイズを算出して、不揮発性メモリ１１０を通常録画のための領域１１０Ａと常時録画のための領域１１０Ｂとに分割する。このように最大巻き戻し時間の設定は領域１１０Ａ及び領域１１０Ｂの各サイズを設定することに相当する。
【００６０】
図９は、最大巻き戻し時間に基づく記録領域サイズの設定処理を示すフローチャートである。最大巻き戻し時間通知部２０２は、最大巻き戻し時間指示コマンドに伴って最大巻き戻し時間Ｔｒを不揮発性メモリコントローラ１２０に通知する。このコマンドを受信したＣＰＵ部１２４は、図９に示す記録領域サイズ設定処理を実行するように記録領域サイズ設定部１２８に指示する。
【００６１】
指示を受けた記録領域サイズ設定部１２８は、最大巻き戻し時間Ｔｒを取得する（Ｓ２００）。続いて記録領域サイズ設定部１２８は、下に示す式（３）で常時録画のための領域１１０Ｂのサイズｘ（物理ブロック数）を算出する。
ｘ＝｛Ｔｒ×（Ｒｗ／８ビット）｝／ＰＢｓ  ・・・（３）
ここでＲｗは記録レート（ｂｐｓ）を示しており、またＰＢｓは１物理ブロックのサイズを示している。領域１１０Ｂの予備の物理ブロック数を２とし、サイズｘ及び不揮発性メモリ１１０の総物理ブロック数Ｐを用いて、式（４）で領域１１０Ｂの先頭物理ブロックＰＢｉを算出する（Ｓ２０１）。
ｉ＝Ｐ−（ｘ＋２）  ・・・（４）
【００６２】
例えば、不揮発性メモリ１１０の容量を３２Ｇバイト（Ｂ）、１物理ブロックのサイズＰＢｓを１Ｍバイトとすると、総物理ブロック数Ｐは３２７６８となる。記録レートＲｗを８．５Ｍｐｂｓ、最大巻き戻し時間Ｔｒを１時間（Ｈ）とすると、式（３）により物理ブロック数ｘは３８２５となり、領域１１０Ｂのサイズは４Ｇバイト弱の容量となる。また、物理ブロック数ｘ及び総物理ブロック数Ｐを用いて、式（４）から先頭物理ブロックＰＢｉは２８９４１と算出される。因みに領域１１０Ｂは不揮発性メモリ１１０の容量に対して概ね１／８の割合となる。
【００６３】
これに続いてアドレス管理部１２５は、記録領域サイズ設定部１２８がこのようにして求めた先頭物理ブロックＰＢｉ及び物理ブロック数ｘを受け取る（Ｓ２０２）。これによってアドレス管理部１２５は、物理領域管理テーブル１３１において、物理ブロックＰＢｉより番号の小さい物理ブロックを領域１１０Ａに属するものとし、かつ物理ブロックＰＢｉ以降の物理ブロックを領域１１０Ｂに属するものとして管理する。以上の処理を経て、図８のＳ１０１で実行される最大巻き戻し時間の設定処理を終了する。
【００６４】
なお、最大巻き戻し時間Ｔｒは、通常は固定値（例えば１Ｈ）でよい。従って、予めメモリコントローラ１２０内のＲＯＭや不揮発性メモリ１１０に記憶しておき、これを参照するようにしておけば、何度も同じ最大巻き戻し時間Ｔｒを設定する手間を省くことができる。また、最大巻き戻し時間Ｔｒは、最大巻き戻し時間そのものではなく、最大巻き戻し時間に対応するパラメータであってもよい。
【００６５】
［通常録画モードにおける記録］
図８のＳ１０７で実行される通常録画モードにおける代替形式での記録手順について説明する。図１０は、アクセスモジュール２００からのデータの送信、及び不揮発性記憶モジュール１００のデータの書き込み処理を示すタイムチャートである。まずアクセスモジュール２００より、図１０に示すように、書き込みコマンド、ＬＢＮ＿Ｓ、記録モード識別フラグ、及び１論理ブロック分のデータが順に送信され、続いて終了コマンドまでの一連のデータが送信される。図中のＬＢＮ＿Ｓは開始論理アドレスを示す情報であり、先頭の１論理ブロック分のデータに対応する論理アドレスを示している。これに続いて、アクセスモジュール２００より論理ブロック単位でデータが送信される。送信されるデータの論理アドレスは、読み書き制御部１２７内でＬＢＮ＿Ｓを起点にインクリメントすることによって決定される。また、記録モード識別フラグは、通常録画モードを示すフラグ値０となっている。
【００６６】
図１１を用いて、通常録画モードにおける代替形式の書き込み処理を説明する。図１１は代替形式の書き込み処理の手順を示すフローチャートである。代替形式の書き込み処理で書き込む場合、読み書き制御部１２７は、送信された論理ブロックのデータを保持する物理ブロックＰＢを消去対象ブロックとして検出する（Ｓ３００）。例えば送信された論理ブロック番号ＬＢＮが０であれば、図６に示す論物変換テーブル１３２を参照して、論理ブロックＬＢ０の旧データが記録されている領域すなわち物理ブロックＰＢ０を検出する。
【００６７】
続いて、読み書き制御部１２７はアドレス管理部１２５に対して、送信されたデータの書き込み先となる空き物理ブロックの取得を指示する。アドレス管理部１２５は、領域１１０Ａ内で物理領域管理テーブル１３１の先頭物理ブロックＰＢ０から昇順にブロックステータスＢＳが１である物理ブロックＰＢをサーチし（Ｓ３０１）、物理ブロックＰＢ（ｉ−２）を書き込み先ブロックとして読み書き制御部１２７に通知する。なお、アドレス管理部１２５による空き物理ブロックのサーチ開始位置は、初期化処理毎に領域１１０Ａの先頭物理ブロックＰＢ０に設定される。初期化処理後においては、前回サーチで検出した物理ブロックＰＢからサーチを開始し、領域１１０Ａの最後尾の物理ブロックＰＢ（ｉ−１）に到達した後は先頭物理ブロックＰＢ０に戻る。なお本実施の形態では、検出された空き物理ブロックには空きポインタＦＰαを付すので、次の空き物理ブロックのサーチは、空きポインタＦＰαが付された物理ブロックＰＢから始める。
【００６８】
図１２Ａ及び図１２Ｂは、このときの物理領域管理テーブル１３１及び論物変換テーブル１３２の、論理ブロック番号ＬＢＮ、物理ブロック番号ＰＢＮ、及び書き換え回数ｗｃの関係を示している。図１２Ａは、代替形式における書き込み前の物理領域管理テーブル１３１の情報と論物変換テーブル１３２の情報との関係を示す説明図である。図１２Ａは、横軸が物理ブロック番号ＰＢＮを表しており、縦軸が書き換え回数ｗｃを表している。横軸の下には、物理ブロックＰＢに対応する論理ブロックＬＢが示されている。
【００６９】
その後図１３の右側に示すように、物理領域管理テーブル１３１は、図５の状態から物理領域管理テーブル１３１の物理ブロックＰＢ０のブロックステータスＢＳが１に、また物理ブロックＰＢ（ｉ−２）のブロックステータスＢＳが０になるように仮更新される。また、後のＳ３０４の旧データの消去処理によって物理ブロックＰＢ０の書き換え回数が１つ増加するので、物理ブロックＰＢ０の書き換え回数ｗｃが５１１から５１２に仮更新される。また論物変換テーブル１３２は、図１４の右側に示すように、図６の状態から論理ブロックＬＢ０に対応する物理ブロックＰＢが０から（ｉ−２）に仮更新される（Ｓ３０２）。
【００７０】
仮更新後の物理領域管理テーブル１３１、論物変換テーブル１３２の関係は図１２Ｂに示されている。物理ブロックＰＢ０は空きブロックとなり、書き換え回数ｗｃが１増加している。また物理ブロックＰＢ（ｉ−２）は、論理ブロックＬＢ０と対応している。
【００７１】
続いて読み書き制御部１２７は論理ブロックＬＢ０の新データの書き込み指示と書き込み先物理ブロック番号（ｉ−２）をメモリインターフェイス１２３に転送する。メモリインターフェイス１２３はバッファ１２２に一時記憶された論理ブロックＬＢ０の新データを、不揮発性メモリ１１０の物理ブロックＰＢ（ｉ−２）に書き込む（Ｓ３０３）。
【００７２】
Ｓ３０３の新データの書き込みが終了した時点で、読み書き制御部１２７の制御によりメモリインターフェイス１２３は、論理ブロックＬＢ０の旧データを保持する物理ブロックＰＢ０のデータを消去する（Ｓ３０４）。なお、旧データの消去においては、旧データを保持する物理ブロックがＳ３００で既に検出されている。
【００７３】
Ｓ３０４までの処理が終了した後に、メモリコントローラ１２０は、アドレス管理部１２５内のＲＡＭ上で仮更新された物理領域管理テーブル１３１と論物変換テーブル１３２は、読み書き制御部１２７によってメモリインターフェイス１２３を介して不揮発性メモリ１１０の管理領域に書き戻す（Ｓ３０５）。
【００７４】
以上により、論理ブロック１つ分のデータ書き込みが完了する。これに続いて送信されるデータが１論理ブロックのデータであれば、処理は図８のＳ１０８からＳ１０７に戻り、上述の手順を繰り返して代替形式の書き込み処理を実行する。続いて送信されるデータが終了コマンドであれば、代替形式の書き込み処理を終了する。
【００７５】
［常時録画モードにおける記録］
図８のＳ１０９で実行される常時録画モードにおけるデータの記録について説明する。本実施の形態における常時録画モードでは、録画終了時間を決めることなく不揮発性メモリ１１０の領域１１０Ｂにテレビ番組を録画し続ける。アクセスモジュール２００は、論理ブロックＬＢｊ〜ＬＢ（Ｌ−１）の連続した論理アドレス空間上で、論理ブロック番号順に録画データをアロケートする。最後の論理ブロックＬＢ（Ｌ−１）まで録画データをアロケートした後は、最初の論理ブロックＬＢｊに戻って続きの録画データをアロケートし、巡回的に論理ブロックＬＢｊ〜ＬＢ（Ｌ−１）を用いる。すなわち不揮発性記憶モジュール１００への書き込みにおいては、常時録画の開始から、常時録画が終了するまでデータの転送が続けられる。
【００７６】
しかし、必ずしも論理ブロックＬＢｊ〜ＬＢ（Ｌ−１）までの連続した論理アドレスにアロケートする必要はなく、論理空間上は常時録画に係るデータと通常録画に係るデータを混在させても構わない。但しその場合は、論理アドレス空間上において空きクラスタが連続せず、散在することがある。このような状態において、ホストからカードに書き込みを行う場合、１回の書き込みコマンドで書き込むことができない場合がある。このとき、例えば１論理ブロック毎に書き込みコマンドを転送するといったコマンド指示が発生したり、複数回の書き込みコマンド指定に係る時間的オーバーヘッドが発生したりするので、書き込み処理は煩雑になる。
【００７７】
図１５は、常時録画モードにおける巡回形式の書き込み処理の手順を示すフローチャートである。アクセスモジュール２００から図１０に示すデータを受信し、図８のＳ１０５で常時録画モードであると判断されると、読み書き制御部１２７はアドレス管理部１２５に対して、書き込み先の空き物理ブロックの取得を指示する。この時、アドレス管理部１２５は、図５の物理領域管理テーブル１３１を参照して、書き込み開始位置を示す巡回ポインタＦＰβが指し示す物理ブロックＰＢ（Ｐ−２）を書き込み先ブロックとして読み書き制御部１２７に通知し、読み書き制御部１２７は空き物理ブロックを取得する（Ｓ４００）。さらに読み書き制御部１２７は、取得した空き物理ブロックから物理ブロック数ｘ遡った物理ブロックＰＢを式（５）に基づき決定し、該物理ブロックを消去対象ブロックとする（Ｓ４０１）。
消去先ＰＢ＝ＦＰβ−ｘ  ・・・（５）
【００７８】
領域１１０Ｂは、ｘ個の物理ブロックだけでなく２個の予備物理ブロックを有しているので、巡回ポインタＦＰβが物理ブロック（Ｐ−２）を指している場合、消去対象ブロックは物理ブロックＰＢｉとなる。これによって、領域１１０Ｂにおいて常に２つの空きブロックが確保される。
【００７９】
このときの物理領域管理テーブル１３１及び論物変換テーブル１３２の、論理ブロック番号ＬＢＮ、物理ブロック番号ＰＢＮ、及び書き換え回数ｗｃの関係は図１６Ａ及び図１６Ｂに示されている。本図では、横軸が物理ブロック番号ＰＢＮを表しており、縦軸が書き換え回数ｗｃを表している。横軸の下には、図６の論物変換テーブル１３２に従って物理ブロック番号ＰＢＮに対応する論理ブロック番号ＬＢＮが示されている。また、図５の物理領域管理テーブル１３１に従って物理ブロックごとに書き換え回数ｗｃが棒グラフで示されている。
【００８０】
その後物理領域管理テーブル１３１は、図１７の右側に示すように、図５の状態から物理ブロックＰＢｉのブロックステータスＢＳが１に、また物理ブロックＰＢ（Ｐ−２）のブロックステータスＢＳが０になるように仮更新される。また、物理ブロックＰＢｉを消去することで物理ブロックＰＢｉの書き換え回数が１つ増加するので、物理ブロックＰＢｉの書き換え回数ｗｃが２０００４から２０００５に仮更新される。また図１８の右側に示すように、論物変換テーブル１３２の論理ブロックＬＢｊに対応する物理ブロックでは、図６の状態から論理ブロックＬＢｊに対応する物理ブロックＰＢがｉから（Ｐ−２）に仮更新される（Ｓ４０２）。
【００８１】
図１６Ｂは、仮更新後の物理領域管理テーブル１３１、論物変換テーブル１３２の関係を示している。物理ブロックＰＢｉは空きブロックとなり、書き換え回数ｗｃが１増加している。また、物理ブロックＰＢ（Ｐ−２）は、論理ブロックＬＢｊと対応している。
【００８２】
続いて読み書き制御部１２７は、データ書き込み指示及び書き込み先物理ブロック番号ＰＢＮすなわち物理ブロック番号ＰＢＮ（Ｐ−２）をメモリインターフェイス１２３に転送する。メモリインターフェイス１２３はバッファ１２２に一時記憶されたデータを、不揮発性メモリ１１０の物理ブロックＰＢ（Ｐ−２）に書き込む（Ｓ４０３）。次に、読み書き制御部１２７は、Ｓ４０１で決定した物理ブロックＰＢｉを消去する（Ｓ４０４）。その後、巡回ポインタＦＰβをインクリメントし、巡回ポインタＦＰβは、物理ブロック番号ＰＢ（Ｐ−１）を指す（Ｓ４０５）。アドレス管理部１２５内のＲＡＭ上で仮更新された物理領域管理テーブル１３１と論物変換テーブル１３２は、読み書き制御部１２７により不揮発性メモリ１１０の管理領域に書き戻す（Ｓ４０６）。
【００８３】
以上により、１論理ブロックの書き込みが終了し、不揮発性メモリ１１０の記録状態が図１６Ａから図１６Ｂに変化する。これに引き続き、同様の手順で次の論理ブロックの書き込みが実行される。
【００８４】
［寿命判定処理］
次に図７及び図１９を用いて、図８のＳ１０６で実行される書き込み以外の処理の１つである寿命判定処理について説明する。図１９は、寿命判定処理の手順を示すフローチャートである。
【００８５】
アクセスモジュール２００から寿命要求コマンドを受信すると、図８のＳ１０４でＣＰＵ部１２４は、書き込みコマンド以外のコマンドであると判断し、寿命判定部１２９が寿命判定処理を実行する。まず領域１１０Ｂの書き換え回数ｗβを取得するために、物理領域管理テーブル１３１から領域１１０Ｂの先頭物理ブロックＰＢｉの書き換え回数ｗｃを読み出し、これを書き換え回数ｗβとする（Ｓ５００）。寿命判定部１２９は、内部のＲＯＭから図７に示す寿命テーブル１２９ａを読み出す（Ｓ５０１）。寿命判定部１２９は、寿命テーブル１２９ａが保持する書き換え回数ｗｃにおいて、ｗβに最も近いものから順に２つの書き換え回数ｗｃの値を特定し、書き換え回数ｗβより小さい書き換え回数ｗｃを書き換え回数ｗ１、書き換え回数ｗβより大きい書き換え回数ｗｃを書き換え回数ｗ２とする。これに続いて、書き換え回数ｗ１、ｗ２に対応するデータ保持時間ｒ（ｗ１）、ｒ（ｗ２）をそれぞれ読み出す（Ｓ５０２）。なおデータ保持時間ｒのディメンジョンは時間である。その後、式（６）に従って補間演算を実行する（Ｓ５０３）。
ｒ（ｗβ）＝ｒ（ｗ１）＋α｛ｒ（ｗ２）−ｒ（ｗ１）｝  ・・・（６）
但し、α＝（ｗβ−ｗ１）／（ｗ２−ｗ１）
例えば書き換え回数ｗβが１８０の場合は、書き換え回数ｗ１は１００、書き換え回数ｗ２は２００であり、式（６）からデータ保持時間ｒ（ｗβ）は１９３７６２となる。
【００８６】
式（６）の演算結果であるｒ（ｗβ）の値によって、警告が必要であるかどうかを判断する（Ｓ５０４）。データ保持時間ｒ（ｗβ）が１未満、すなわちデータ保持期間が最大巻き戻し時間である１Ｈを下回った場合は、警告が必要であると判断し、警告情報をホストインターフェイス１２１を介してアクセスモジュール２００に通知する（Ｓ５０５）。警告情報の通知を受けると、アクセスモジュール２００の警告情報表示部２０３が警告を表示する。なおデータ保持期間が最大巻き戻し時間を下回った場合に限らず、データ保持時間ｒ（ｗβ）がある程度最大巻き戻し時間に近くなったときに警告情報を通知するようにしても構わない。
【００８７】
本実施の形態においては、アクセスモジュール２００からの寿命要求コマンドに応じて不揮発性記憶モジュール１００が寿命情報を通知するようにしたが、寿命要求コマンドを受信しなくても不揮発性記憶モジュール１００から適宜アクセスモジュール２００に割り込みをかけて寿命情報を通知するようにしても構わない。また寿命情報は領域１１０Ｂにおける警告情報としたが、同様の処理を実行して領域１１０Ａにおける警告情報を生成しても構わない。また警告情報ではなく、データ保持時間ｒ（ｗβ）をもとに寿命予測時間を計算し、これを通知するようにしても構わない。また、アクセスモジュール２００は警告情報を受信した後に、最大巻き戻し時間を１Ｈより短く設定し直すことによって、不揮発性記憶モジュール１００の寿命を延ばしても構わない。
【００８８】
［リワインド再生（常時録画モードで記録されたデータの読み出し）］
リワインド再生時は、アクセスモジュール２００からの読み出しコマンドに伴って、コマンドの引数として開始論理ブロック番号ＬＢＮ＿Ｓを指定し、さらに記録モード識別フラグを常時録画モードを示す値１と指定することによりリワインド再生を実行する。このとき、開始論理ブロック番号ＬＢＮ＿Ｓ及び記録レートから巻き戻し時間の長さを求めることができるので、所望する巻き戻し時間の長さに対応する開始論理ブロック番号ＬＢＮ＿Ｓをアクセスモジュール２００が算出し、不揮発性記憶モジュール１００に転送すればよい。なお、リワインド再生においてもデータの読み出しは通常録画に対する読み出しと同様であり、従来の公知技術を用いて簡単に実現できるものであるので説明を省略する。
【００８９】
以上説明したように、本実施の形態の不揮発性記憶システムは、各記録モードによって不揮発性メモリ１１０の記録領域を分離し、さらに、要求されるデータ保持時間などの記録条件に応じて書き込み形式や記録領域のサイズを最適に決めることができる。
【００９０】
尚、本実施の形態のように最大巻き戻し時間を１Ｈとし、領域１１０Ｂのサイズを前述した通り４Ｇバイト弱とした場合、下に示す使用条件で不揮発性記憶モジュール１００を使い始めてから１０年経過した時点でのデータ保持時間は、図２０の右側に示す通りとなる。
《使用条件》
・通常録画時間＝２Ｈ／日
・常時録画時間（視聴時間）＝１０Ｈ／日
・録画レート＝８．５Ｍｂｐｓ
・リワインド再生時間＝１Ｈ
図２０は、上記の使用条件で通常録画と常時録画の両者を行った場合のデータ保持時間について、本発明の実施の形態の不揮発性記憶システムと従来の不揮発性記憶システムとの比較を示す。なお括弧内の数値は不揮発性記憶モジュール１００を使い始めてから１０年経過した時点での書き換え回数を示している。図２０によると、本実施の形態の不揮発性記憶システムは、カード容量にかかわらず領域１１０Ｂのサイズは約４ＧＢなので、例えばカード容量が３２ＧＢの場合、常時録画モードで記録したデータの保持時間を最大巻き戻し時間１Ｈより長い２．３Ｈ確保しながら、通常録画でのデータ保持時間を１６６日間確保している。しかし従来の不揮発性記憶システムは、通常録画、常時録画とも５日間しか確保できない。このように本実施の形態の不揮発性記憶システムは、従来の不揮発性記憶システムと比較して、通常録画において３０数倍のデータ保持時間を確保することができる。
【００９１】
なお、本実施の形態においては、記録モード識別フラグによって記録モードを切り換えるようにしたが、アクセスモジュール２００が転送するＬＢＮ＿Ｓによって記録モードを切り換えても構わない。但しその場合は、予め不揮発性記憶モジュール１００は予め論理アドレスと記録モードの関係を知っておく必要がある。例えば、領域１１０Ｂの先頭の論理ブロック番号を知っていればよい。
【００９２】
また、本実施の形態では不良ブロックの発生ないものとして説明したが、不良ブロックが生じる場合では、下記の対応（１）及び（２）を行えばよい。なお不良ブロックを考慮する場合は、不揮発性メモリ１１０の不良発生確率に応じて予備ブロック数を決定する。
対応（１）  領域１１０Ａで不良ブロックが生じた場合
従来の通り、物理量域管理テーブル１１１で管理する。すなわち不良ブロックのブロックステータスＢＳを不良ブロックを示す値２とし、以降その不良ブロックを使用しないようにする。
対応（２）  領域１１０Ｂで不良ブロックが生じた場合
前述した領域１１０Ａの対策に加え、巡回ポインタＦＰβのインクリメントにおいては常にＢＳを参照してインクリメント幅を調整し、不良ブロックをとばす。さらに式（５）における消去先物理ブロック番号ＰＢＮの算出においても、物理ブロックＰＢｘに不良ブロック数を加算するなど、不良ブロック数を加味して決定すればよい。
【産業上の利用可能性】
【００９３】
本発明にかかる不揮発性記憶システムは、例えば通常録画と常時録画などの複数の異なる記録モードで記録した場合でも、不揮発性記憶システムの寿命を長くすることのできる方法を提案したものであり、半導体メモリカードなどの不揮発性記憶モジュールを使用した装置、特にＴＶ番組などの録画システムにおいて有益である。
【図面の簡単な説明】
【００９４】
【図１】多値フラッシュメモリの信頼性のグラフを示す図である。
【図２Ａ】従来の不揮発性記憶システムにおいて、通常録画のみを行った場合のデータ保持時間を示す図である。
【図２Ｂ】従来の不揮発性記憶システムにおいて、通常録画と常時録画の両方を行った場合のデータ保持時間を示す図である。
【図３】本発明の実施の形態における不揮発性記憶システムを示すブロック図である。
【図４】不揮発性メモリ１１０のメモリマップを示す図である。
【図５】物理領域管理テーブル１３１のメモリマップを示す図である。
【図６】論物変換テーブル１３２のメモリマップを示す図である。
【図７】寿命テーブル１２９ａのメモリマップを示す図である。
【図８】本発明の実施の形態における不揮発性記憶モジュール１００の処理の全体を示すフローチャートである。
【図９】記録領域サイズの設定処理を示すフローチャートである。
【図１０】書き込み処理におけるタイムチャートを示す図である。
【図１１】代替形式における書き込み処理を示すフローチャートである。
【図１２Ａ】代替形式における書き込み前の記録状態を示す説明図である。
【図１２Ｂ】代替形式における書き込み後の記録状態を示す説明図である。
【図１３】代替形式における書き込み時の論物変換テーブル１３２の仮更新後のメモリマップを示す図である。
【図１４】代替形式における書き込み時の物理領域管理テーブル１３１の仮更新後のメモリマップを示す図である。
【図１５】巡回形式における書き込み処理のフローチャートである。
【図１６Ａ】代替形式における書き込み前の記録状態を示す説明図である。
【図１６Ｂ】代替形式における書き込み後の記録状態を示す説明図である。
【図１７】巡回形式における書き込み時の物理領域管理テーブル１３１の仮更新後のメモリマップを示す図である。
【図１８】巡回形式における書き込み時の論物変換テーブル１３２の仮更新後のメモリマップを示す図である。
【図１９】寿命判定処理を示すフローチャートを示す図である。
【図２０】本発明の実施の形態の不揮発性記憶システムにおいて通常録画と常時録画の両者を行った場合のデータ保持時間を示す図である。
【符号の説明】
【００９５】
１００  不揮発性記憶モジュール
１１０  不揮発性メモリ
１２０  メモリコントローラ
１２１  ホストインターフェイス
１２２  バッファ
１２３  メモリインターフェイス
１２４  ＣＰＵ部
１２５  アドレス管理部
１２６  記録モード切り換え部
１２７  読み書き制御部
１２８  記録領域サイズ設定部
１２９  寿命判定部
１２９ａ  寿命テーブル
１３１  物理領域管理テーブル
１３２  論物変換テーブル
２００  アクセスモジュール
２０１  記録モード通知部
２０２  最大巻き戻し時間情報通知部
２０３  警告情報表示部
【図１】
2009134513.tif 000003
【図２Ａ】
2009134513.tif 000004
【図２Ｂ】
2009134513.tif 000005
【図３】
2009134513.tif 000006
【図４】
2009134513.tif 000007
【図５】
2009134513.tif 000008
【図６】
2009134513.tif 000009
【図７】
2009134513.tif 000010
【図８】
2009134513.tif 000011
【図９】
2009134513.tif 000012
【図１０】
2009134513.tif 000013
【図１１】
2009134513.tif 000014
【図１２Ａ】
2009134513.tif 000015
【図１２Ｂ】
2009134513.tif 000016
【図１３】
2009134513.tif 000017
【図１４】
2009134513.tif 000018
【図１５】
2009134513.tif 000019
【図１６Ａ】
2009134513.tif 000020
【図１６Ｂ】
2009134513.tif 000021
【図１７】
2009134513.tif 000022
【図１８】
2009134513.tif 000023
【図１９】
2009134513.tif 000024
【図２０】
2009134513.tif 000025