(57)【要約】【課題】多値フラッシュメモリを用いた不揮発性記憶装置において、データの書き込み途中で電源遮断が起こると、書き込み中のデータ以外のデータも破壊されるという問題がある。【解決手段】物理ブロックＰＢ５に２値モード書き込みで２値データを書き込む。既に集約処理がなされた書き込み完結ブロックＰＢ４の多値データに、ＰＢ５の２値データを集約し、新たな別の物理ブロックＰＢ６には多値データとして書き込む。ＰＢ４のデータと同じ論理ページ番号でＰＢ５に書かれたデータはＰＢ４のデータと置き換えて、そうでないデータはＰＢ４のデータのままでＰＢ６に書き込む。【選択図】図１２
2007257109.tif 000002
【特許請求の範囲】
【請求項１】
Ｍ個（Ｍ＞３、Ｍは整数）の閾値電圧領域を持つメモリセルを複数有し、前記複数のメモリセルで構成されたデータの書き込み単位である複数の物理ページから成り、データの消去単位である物理ブロックを複数備える不揮発性メモリと、
前記Ｍ個の閾値電圧領域のうち２つの閾値電圧領域を用いてデータを書き込む２値モード書き込みと、Ｍ個の閾値電圧領域を用いてデータを書き込む多値モード書き込みのいずれかによって前記不揮発性メモリにデータを書き込み、及び不揮発性メモリよりデータを読み出すメモリコントローラと、を有する不揮発性記憶装置のデータ書き込み方法であって、
前記不揮発性メモリの物理ブロックは、
前記不揮発性記憶装置外部のアクセス装置が指定する論理アドレスに対応して前記複数の物理ページ全てにデータが書き込まれている書き込み完結ブロックと、
前記アクセス装置が指定するアドレスに対応したデータが書き込まれる書き込み用ブロックと、
データが消去された状態の空きブロックと、を含み、
前記メモリコントローラは、
前記書き込み用ブロックへは、常に前記２値モード書き込みでデータを書き込み、
前記書き込み用ブロックの全ての物理ページにデータが書き込まれたときに、論理アドレスが共通する前記書き込み完結ブロックと前記書き込み用ブロックのデータを２値モード書き込みまたは多値モード書き込みで前記空きブロックへ複写する集約処理を行う不揮発性記憶装置のデータ書き込み方法。
【請求項２】
前記メモリコントローラは、前記書き込み完結ブロックと前記書き込み用ブロックのデータを２値モード書き込みまたは多値モード書き込みで前記空きブロックへ複写する際に、書き込み用ブロックと論理アドレスが共通する前記書き込み完結ブロックがなければ、データの書き込まれていない空きブロックを前記書き込み完結ブロックとして用いる請求項１に記載の不揮発性記憶装置のデータ書き込み方法。
【請求項３】
前記メモリコントローラは、
前記アクセス装置が指定するアドレスから得られる論理アドレスと、前記書き込み完結ブロックを示す物理アドレスとを関係付ける第１テーブルと、前記論理アドレスと前記書き込み用ブロックを示す物理アドレスとを関係付ける第２テーブルとを有する論物変換テーブルを含む請求項１又は２に記載の不揮発性記憶装置のデータ書き込み方法。
【請求項４】
前記メモリコントローラは、前記集約処理において前記物理ページと対応する論理アドレスの単位ごとに最新のデータを複写するものであり、
前記アクセス装置が指定する論理アドレスに基づいて、前記２値モード書き込みにより複写するか、前記多値モード書き込みにより複写するかを決定する請求項１から３のいずれか１項に記載の不揮発性記憶装置のデータ書き込み方法。
【請求項５】
前記不揮発性メモリは、前記アクセス装置から任意にアクセスしてデータの読出し及び書き込みができる通常領域と、前記アクセス装置からのアクセスを認証した場合にのみデータの読出し及び書き込みができる認証領域とを有し、
前記認証領域での集約処理を、前記多値モード書き込みによって行う請求項１から４のいずれか１項に記載の不揮発性記憶装置のデータ書き込み方法。
【請求項６】
前記２値モード書き込みにおいて使用する２つの閾値電圧領域は、全ての閾値電圧領域のうち閾値電圧値の隣り合う２つを選択する請求項１から５のいずれか１項に記載の不揮発性記憶装置のデータ書き込み方法。
【請求項７】
前記不揮発性メモリは、複数の物理ブロックから構成されるスーパーブロックを複数有し、
前記書き込み完結ブロック、書き込み用ブロック及び空きブロックは前記スーパーブロックの単位からなる請求項１から６のいずれか１項に記載の不揮発性記憶装置のデータ書き込み方法。
【請求項８】
Ｍ個（Ｍ＞３、Ｍは整数）の閾値電圧領域を持つメモリセルを複数有し、前記複数のメモリセルで構成されたデータの書き込み単位である複数の物理ページから成り、データの消去単位である物理ブロックを複数備える不揮発性メモリと、
前記Ｍ個の閾値電圧領域のうち２つの閾値電圧領域を用いてデータを書き込む２値モード書き込みと、Ｍ個の閾値電圧領域を用いてデータを書き込む多値モード書き込みのいずれかによって前記不揮発性メモリにデータを書き込み、及び不揮発性メモリよりデータを読み出すメモリコントローラと、を具備する不揮発性記憶装置であって、
前記不揮発性メモリの物理ブロックは、
前記不揮発性記憶装置外部のアクセス装置が指定する論理アドレスに対応して前記複数の物理ページ全てにデータが書き込まれている書き込み完結ブロックと、
前記アクセス装置が指定するアドレスに対応したデータが書き込まれる書き込み用ブロックと、
データが消去された状態の空きブロックと、を含み、
前記メモリコントローラは、
前記書き込み用ブロックへは、常に前記２値モード書き込みでデータを書き込み、
前記書き込み用ブロックの全ての物理ページにデータが書き込まれたときに、論理アドレスが共通する前記書き込み完結ブロックと前記書き込み用ブロックのデータを２値モード書き込みまたは多値モード書き込みで前記空きブロックへ複写する集約処理を行う不揮発性記憶装置。
【請求項９】
前記メモリコントローラは、前記書き込み完結ブロックと前記書き込み用ブロックのデータを２値モード書き込みまたは多値モード書き込みで前記空きブロックへ複写する際に、書き込み用ブロックと論理アドレスが共通する前記書き込み完結ブロックがなければ、データの書き込まれていない空きブロックを前記書き込み完結ブロックとして用いる請求項８に記載の不揮発性記憶装置。
【請求項１０】
前記メモリコントローラは、
前記アクセス装置が指定するアドレスから得られる論理アドレスと、前記書き込み完結ブロックを示す物理アドレスとを関係付ける第１テーブルと、前記論理アドレスと前記書き込み用ブロックを示す物理アドレスとを関係付ける第２テーブルとを有する論物変換テーブルを含む請求項８又は９に記載の不揮発性記憶装置。
【請求項１１】
前記メモリコントローラは、前記集約処理において前記物理ページと対応する論理アドレスの単位ごとに最新のデータを複写するものであり、
前記アクセス装置が指定する論理アドレスに基づいて、前記２値モード書き込みにより複写するか、前記多値モード書き込みにより複写するかを決定する請求項８〜１０のいずれか１項に記載の不揮発性記憶装置。
【請求項１２】
前記不揮発性メモリは、前記アクセス装置から任意にアクセスしてデータの読出し及び書き込みができる通常領域と、前記アクセス装置からのアクセスを認証した場合にのみデータの読出し及び書き込みができる認証領域とを有し、
前記認証領域での集約処理を、前記多値モード書き込みによって行う請求項８から１１のいずれか１項に記載の不揮発性記憶装置。
【請求項１３】
前記２値モード書き込みにおいて使用する２つの閾値電圧領域は、全ての閾値電圧領域のうち閾値電圧値の隣り合う２つを選択する請求項８から１２のいずれか１項に記載の不揮発性記憶装置。
【請求項１４】
前記不揮発性メモリは、複数の物理ブロックから構成されるスーパーブロックを複数有し、
前記書き込み完結ブロック、書き込み用ブロック及び空きブロックは前記スーパーブロックの単位からなる請求項８から１３のいずれか１項に記載の不揮発性記憶装置。
【請求項１５】
Ｍ個（Ｍ＞３、Ｍは整数）の閾値電圧領域を持つメモリセルを複数有し、前記複数のメモリセルで構成されたデータの書き込み単位である複数の物理ページから成り、データの消去単位である複数の物理ブロック備える不揮発性メモリと、
前記Ｍ個の閾値電圧領域のうち２つの閾値電圧領域を用いてデータを書き込む２値モード書き込みと、Ｍ個の閾値電圧領域を用いてデータを書き込む多値モード書き込みのいずれかによって前記不揮発性メモリにデータを書き込み、及び不揮発性メモリよりデータを読み出すメモリコントローラと、
前記コントローラに対して前記不揮発性メモリへのデータの書き込み及び読み出しを指示するアクセス装置と、を具備する不揮発性記憶システムであって、
前記不揮発性メモリの物理ブロックは、
前記不揮発性記憶装置外部のアクセス装置が指定する論理アドレスに対応して前記複数の物理ページ全てにデータが書き込まれている書き込み完結ブロックと、
前記アクセス装置が指定するアドレスに対応したデータが書き込まれる書き込み用ブロックと、
データが消去された状態の空きブロックと、を含み、
前記メモリコントローラは、
前記書き込み用ブロックへは、常に前記２値モード書き込みでデータを書き込み、
前記書き込み用ブロックの全ての物理ページにデータが書き込まれたときに、論理アドレスが共通する前記書き込み完結ブロックと前記書き込み用ブロックのデータを２値モード書き込みまたは多値モード書き込みで前記空きブロックへ複写する集約処理を行う不揮発性記憶システム。
【請求項１６】
前記メモリコントローラは、前記書き込み完結ブロックと前記書き込み用ブロックのデータを２値モード書き込みまたは多値モード書き込みで前記空きブロックへ複写する際に、書き込み用ブロックと論理アドレスが共通する前記書き込み完結ブロックがなければ、データの書き込まれていない空きブロックを前記書き込み完結ブロックとして用いる請求項１５に記載の不揮発性記憶システム。
【請求項１７】
前記メモリコントローラは、
前記アクセス装置が指定するアドレスから得られる論理アドレスと、前記書き込み完結ブロックを示す物理アドレスとを関係付ける第１テーブルと、前記論理アドレスと前記書き込み用ブロックを示す物理アドレスとを関係付ける第２テーブルとを有する論物変換テーブルを含む請求項１５又は１６に記載の不揮発性記憶システム。
【請求項１８】
前記メモリコントローラは、前記集約処理において前記物理ページと対応する論理アドレスの単位ごとに最新のデータを複写するものであり、
前記アクセス装置が指定する論理アドレスに基づいて、前記２値モード書き込みにより複写するか、前記多値モード書き込みにより複写するかを決定する請求項１５から１７のいずれか１項に記載の不揮発性記憶システム。
【請求項１９】
前記不揮発性メモリは、前記アクセス装置から任意にアクセスしてデータの読出し及び書き込みができる通常領域と、前記アクセス装置からのアクセスを認証した場合にのみデータの読出し及び書き込みができる認証領域とを有し、
前記認証領域での集約処理を、前記多値モード書き込みによって行う請求項１５から１８のいずれか１項に記載の不揮発性記憶システム。
【請求項２０】
前記２値モード書き込みにおいて使用する２つの閾値電圧領域は、全ての閾値電圧領域のうち閾値電圧値の隣り合う２つを選択する請求項１５から１９のいずれか１項に記載の不揮発性記憶システム。
【請求項２１】
前記不揮発性メモリは、複数の物理ブロックから構成されるスーパーブロックを複数有し、
前記書き込み完結ブロック、書き込み用ブロック及び空きブロックは前記スーパーブロックの単位からなる請求項１５から２０のいずれか１項に記載の不揮発性記憶システム。
【請求項２２】
Ｍ個（Ｍ＞３、Ｍは整数）の閾値電圧領域を持つメモリセルを複数有し、前記複数のメモリセルで構成されたデータの書き込み単位である複数の物理ページから成り、データの消去単位である物理ブロックは、
前記不揮発性記憶装置外部のアクセス装置が指定する論理アドレスに対応して前記複数の物理ページ全てにデータが書き込まれている書き込み完結ブロックと、
前記アクセス装置が指定するアドレスに対応したデータが書き込まれる書き込み用ブロックと、
データが消去された状態の空きブロックと、を含んでいる不揮発性メモリに対して、前記Ｍ個の閾値電圧領域のうち２つの閾値電圧領域を用いてデータを書き込む２値モード書き込みと、Ｍ個の閾値電圧領域を用いてデータを書き込む多値モード書き込みのいずれかによって前記不揮発性メモリにデータを書き込み、及び不揮発性メモリよりデータを読み出すメモリコントローラであって、
前記書き込み用ブロックへは、常に前記２値モード書き込みでデータを書き込み、
前記書き込み用ブロックの全ての物理ページにデータが書き込まれたときに、論理アドレスが共通する前記書き込み完結ブロックと前記書き込み用ブロックのデータを２値モード書き込みまたは多値モード書き込みで前記空きブロックへ複写する集約処理を行うメモリコントローラ。
【請求項２３】
前記書き込み完結ブロックと前記書き込み用ブロックのデータを２値モード書き込みまたは多値モード書き込みで前記空きブロックへ複写する際に、書き込み用ブロックと論理アドレスが共通する前記書き込み完結ブロックがなければ、データの書き込まれていない空きブロックを前記書き込み完結ブロックとして用いる請求項２２に記載のメモリコントローラ。
【請求項２４】
前記アクセス装置が指定するアドレスから得られる論理アドレスと、前記書き込み完結ブロックを示す物理アドレスとを関係付ける第１テーブルと、前記論理アドレスと前記書き込み用ブロックを示す物理アドレスとを関係付ける第２テーブルとを有する論物変換テーブルを含む請求項２２又は２３に記載のメモリコントローラ。
【請求項２５】
前記集約処理において前記物理ページと対応する論理アドレスの単位ごとに最新のデータを複写するものであり、
前記アクセス装置が指定する論理アドレスに基づいて、前記２値モード書き込みにより複写するか、前記多値モード書き込みにより複写するかを決定する請求項２２〜２４のいずれか１項に記載のメモリコントローラ。
【請求項２６】
前記不揮発性メモリは、前記アクセス装置から任意にアクセスしてデータの読出し及び書き込みができる通常領域と、前記アクセス装置からのアクセスを認証した場合にのみデータの読出し及び書き込みができる認証領域とを有し、
前記認証領域での集約処理を、前記多値モード書き込みによって行う請求項２２から２５のいずれか１項に記載のメモリコントローラ。
【請求項２７】
前記２値モード書き込みにおいて使用する２つの閾値電圧領域は、全ての閾値電圧領域のうち閾値電圧値の隣り合う２つを選択する請求項２２から２６のいずれか１項に記載のメモリコントローラ。
【請求項２８】
前記不揮発性メモリは、複数の物理ブロックから構成されるスーパーブロックを複数有し、
前記書き込み完結ブロック、書き込み用ブロック及び空きブロックは前記スーパーブロックの単位からなる請求項２２から２７のいずれか１項に記載のメモリコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多値データの記録が可能な不揮発性半導体記憶素子を用いた不揮発性記憶装置、そのデータ書き込み方法、不揮発性記憶システム及びメモリコントローラに関する。
【背景技術】
【０００２】
音楽コンテンツや、映像データなどのデジタルデータを記録する記録媒体には、磁気ディスク、光ディスク、光磁気ディスクなど、様々な種類が存在する。これら記録媒体の１つである半導体メモリカードは、その記憶素子にフラッシュメモリなどの不揮発性半導体メモリを使用しており、小型化が容易であることから、デジタルスチルカメラや携帯電話端末など、小型の携帯機器を中心に急速に普及しつつある。デジタルカメラなどでは近年、高い記録画質が求められるようになり、不揮発性半導体メモリには、高い記録密度とともに高いデータ記録速度が必要とされている。
【０００３】
フラッシュメモリの記録容量をより向上させることを目的として、１つのメモリセルに複数ビットのデータ記憶が可能なフラッシュメモリが開発されている。これは多値データの記録が可能なフラッシュメモリであるため、多値フラッシュメモリと呼んでいる。これによると、フラッシュメモリの単位面積当たりの記録密度を高めて記録容量を大きくすることができるので、同一記録容量におけるメモリセルの数を少なくすることができ、同一容量に対するフラッシュメモリの低価格化が可能となる。
【０００４】
以下、この多値フラッシュメモリの記録方法について説明する。一般にフラッシュメモリ等の不揮発性半導体メモリは、メモリセルのフローティングゲート、またはトラップゲートに電子が注入されるとメモリセルの閾値電圧が変化するという現象を利用して、データを記憶する。ちなみにメモリセルの閾値電圧は、電子がフローティングゲート中に存在すると高くなり、電子がフローティングゲート中に存在しないと低くなる。
【０００５】
図１３は、１つのメモリセルに２ビットのデータを記憶する４値フラッシュメモリにおける、メモリセルの閾値電圧の分布を示した図である。メモリセルの閾値電圧は対応する２ビットデータに応じて、領域Ｌ０、Ｌ１、Ｌ２、Ｌ３のいずれかに分布する。領域Ｌ０、Ｌ１、Ｌ２、Ｌ３は、２ビットデータの“１１”、“１０”、“００”、“０１”にそれぞれ対応している。
【０００６】
データの書き込みは、各メモリセルの閾値電圧を変化させるプログラムを検証電圧ＶＶ（ＶＶ１，ＶＶ２，ＶＶ３）を超えるまで繰り返すことで実現される。データが書き込まれていないメモリセルの閾値電圧は領域Ｌ０であり、データ“１１”が書き込まれるときは閾値電圧を変化させるプログラムは実行しない。これに対して、メモリセルにデータ“１０”を書き込む場合、そのメモリセルの閾値電圧が検証電圧ＶＶ１を超えるまで、プログラム動作を繰り返し、閾値電圧を領域Ｌ１の範囲に入るように変化させる。
【０００７】
データの読み出しは、メモリセルの閾値電圧を、参照電圧ＶＲ（ＶＲ１，ＶＲ２，ＶＲ３）と比較することで実現される。メモリセルの閾値電圧が参照電圧ＶＲ１より低いとき、メモリセルに保持されているデータは、“１１”であると判定し、メモリセルの閾値電圧が参照電圧ＶＲ１とＶＲ２の間にあるとき、メモリセルに保持されているデータは“１０”であると判定する。同様にメモリセルの閾値電圧が参照電圧ＶＲ２とＶＲ３の間にあるときは“００”、メモリセルの閾値電圧が参照電圧ＶＲ３より高いときは“０１”であると判定する。
【０００８】
メモリセルのデータの消去は、消去するメモリセルの制御ゲートに低電圧を供給し、メモリセルのウエル領域に高電圧を供給して、フローティングゲートに蓄積されている電子を放出することで完了する。このとき、消去しないメモリセルの制御ゲートは、例えば電源供給から切り離されたフローティング状態に置かれる。
【０００９】
一つのメモリセルに多値データを記録する場合、不揮発性メモリセルへのデータの書き込みは複数段階に分けて行われる。例えば、図１３に示したように、領域Ｌ０、Ｌ１、Ｌ２、Ｌ３が、２ビットデータの“１１”、“１０”、“００”、“０１”にそれぞれ対応しているときに、下位１ビットデータの書き込みと上位１ビットデータの書き込みとの２段階に分けて２ビットデータを書き込む。以降、メモリセルに対する２段階目以降の書き込みを「追記書き込み」と呼ぶ。
【００１０】
例えば、１つのメモリセルの下位１ビットにデータ“１”を書き込む場合は、領域Ｌ０に、下位１ビットデータにデータ“０”を書き込む場合は領域Ｌ１になるように当該メモリセルの閾値電圧を設定する。その後、上位１ビットにデータを追記書き込みする場合において、上位１ビットデータが“１”の場合は、閾値電圧を変化させる必要はない。上位１ビットのデータが“０”の場合は、さらに閾値電圧を変化させるプログラム動作を繰り返して、領域Ｌ０から領域Ｌ３、もしくは領域Ｌ１から領域Ｌ２に閾値電圧を変化させる。
【００１１】
このような多値フラッシュメモリを用いた特許文献１の半導体記憶装置では、メモリアレイがその物理ブロックアドレスによって、多値データを記憶する多値領域と２値データを記憶する２値領域とに分けられており、高い書き込み信頼性を必要とするデータは２値領域に書き込まれ、大容量を必要とするデータは多値領域に書き込まれるようになっている。
【特許文献１】特開２０００−１７３２８１号
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかし、特許文献１のような技術には以下のような問題がある。多値データの書き込みにおいて、例えばメモリセルの閾値電圧が、図１３に示した領域Ｌ０から領域Ｌ３に変化する過程で電源が途絶えると、メモリセルの閾値電圧は領域Ｌ３までは到達せずに領域Ｌ１や領域Ｌ２または領域外にとどまる場合がある。このように、上位１ビットデータの追記書き込み中に電源遮断が発生すると、書き込み中の上位１ビットデータに加えて、既に書き込み済の下位１ビットデータまでもが誤ったデータに変わってしまう。以上のような理由から２ビット以上の多値を記憶するメモリはデータのエラーが発生しやすく、２値を１ビットで記憶するメモリと比べてデータ書き込みの信頼性が低い。
【００１３】
そこで特許文献１は２値での書き込みと多値での書き込みを使い分ける方法を示しているが、この使い分けでは、多値メモリセルを２値メモリセルのように使用するので、格納可能なデータ量が本来の量よりも大幅に減少し、単位データ量あたりのメモリのコストが増加する。２ビットの多値データを記憶する４値メモリセルを１ビットの２値データを記憶する２値メモリセルのように使用した場合にはメモリに格納可能なデータ量は半減し、単位データ量あたりのコストは倍増する。
【００１４】
本発明は上記のような問題を解決するためになされたものであり、データの書き込み中に電源が途絶えても書き込み済みのデータが破壊されずに、さらに多値フラッシュメモリの持つ単位データ量あたりの経済性を損なうことなく多値フラッシュメモリを有効に利用することを目的とする。
【課題を解決するための手段】
【００１５】
この課題を解決するため、本発明の不揮発性記憶装置のデータ書き込み方法は、Ｍ個（Ｍ＞３、Ｍは整数）の閾値電圧領域を持つメモリセルを複数有し、前記複数のメモリセルで構成されたデータの書き込み単位である複数の物理ページから成り、データの消去単位である物理ブロックを複数備える不揮発性メモリと、前記Ｍ個の閾値電圧領域のうち２つの閾値電圧領域を用いてデータを書き込む２値モード書き込みと、Ｍ個の閾値電圧領域を用いてデータを書き込む多値モード書き込みのいずれかによって前記不揮発性メモリにデータを書き込み、及び不揮発性メモリよりデータを読み出すメモリコントローラと、を有する不揮発性記憶装置のデータ書き込み方法であって、前記不揮発性メモリの物理ブロックは、前記不揮発性記憶装置外部のアクセス装置が指定する論理アドレスに対応して前記複数の物理ページ全てにデータが書き込まれている書き込み完結ブロックと、前記アクセス装置が指定するアドレスに対応したデータが書き込まれる書き込み用ブロックと、データが消去された状態の空きブロックと、を含み、前記メモリコントローラは、前記書き込み用ブロックへは、常に前記２値モード書き込みでデータを書き込み、前記書き込み用ブロックの全ての物理ページにデータが書き込まれたときに、論理アドレスが共通する前記書き込み完結ブロックと前記書き込み用ブロックのデータを２値モード書き込みまたは多値モード書き込みで前記空きブロックへ複写する集約処理を行うものである。
【００１６】
この課題を解決するため、本発明の不揮発性記憶装置は、Ｍ個（Ｍ＞３、Ｍは整数）の閾値電圧領域を持つメモリセルを複数有し、前記複数のメモリセルで構成されたデータの書き込み単位である複数の物理ページから成り、データの消去単位である物理ブロックを複数備える不揮発性メモリと、前記Ｍ個の閾値電圧領域のうち２つの閾値電圧領域を用いてデータを書き込む２値モード書き込みと、Ｍ個の閾値電圧領域を用いてデータを書き込む多値モード書き込みのいずれかによって前記不揮発性メモリにデータを書き込み、及び不揮発性メモリよりデータを読み出すメモリコントローラと、を具備する不揮発性記憶装置であって、前記不揮発性メモリの物理ブロックは、前記不揮発性記憶装置外部のアクセス装置が指定する論理アドレスに対応して前記複数の物理ページ全てにデータが書き込まれている書き込み完結ブロックと、前記アクセス装置が指定するアドレスに対応したデータが書き込まれる書き込み用ブロックと、データが消去された状態の空きブロックと、を含み、前記メモリコントローラは、前記書き込み用ブロックへは、常に前記２値モード書き込みでデータを書き込み、前記書き込み用ブロックの全ての物理ページにデータが書き込まれたときに、論理アドレスが共通する前記書き込み完結ブロックと前記書き込み用ブロックのデータを２値モード書き込みまたは多値モード書き込みで前記空きブロックへ複写する集約処理を行うものである。
【００１７】
この課題を解決するため、本発明の不揮発性記憶システムは、Ｍ個（Ｍ＞３、Ｍは整数）の閾値電圧領域を持つメモリセルを複数有し、前記複数のメモリセルで構成されたデータの書き込み単位である複数の物理ページから成り、データの消去単位である複数の物理ブロック備える不揮発性メモリと、前記Ｍ個の閾値電圧領域のうち２つの閾値電圧領域を用いてデータを書き込む２値モード書き込みと、Ｍ個の閾値電圧領域を用いてデータを書き込む多値モード書き込みのいずれかによって前記不揮発性メモリにデータを書き込み、及び不揮発性メモリよりデータを読み出すメモリコントローラと、前記コントローラに対して前記不揮発性メモリへのデータの書き込み及び読み出しを指示するアクセス装置と、を具備する不揮発性記憶システムであって、前記不揮発性メモリの物理ブロックは、前記不揮発性記憶装置外部のアクセス装置が指定する論理アドレスに対応して前記複数の物理ページ全てにデータが書き込まれている書き込み完結ブロックと、前記アクセス装置が指定するアドレスに対応したデータが書き込まれる書き込み用ブロックと、データが消去された状態の空きブロックと、を含み、前記メモリコントローラは、前記書き込み用ブロックへは、常に前記２値モード書き込みでデータを書き込み、前記書き込み用ブロックの全ての物理ページにデータが書き込まれたときに、論理アドレスが共通する前記書き込み完結ブロックと前記書き込み用ブロックのデータを２値モード書き込みまたは多値モード書き込みで前記空きブロックへ複写する集約処理を行うものである。
【００１８】
この課題を解決するため、本発明のメモリコントローラは、Ｍ個（Ｍ＞３、Ｍは整数）の閾値電圧領域を持つメモリセルを複数有し、前記複数のメモリセルで構成されたデータの書き込み単位である複数の物理ページから成り、データの消去単位である物理ブロックは、前記不揮発性記憶装置外部のアクセス装置が指定する論理アドレスに対応して前記複数の物理ページ全てにデータが書き込まれている書き込み完結ブロックと、前記アクセス装置が指定するアドレスに対応したデータが書き込まれる書き込み用ブロックと、データが消去された状態の空きブロックと、を含んでいる不揮発性メモリに対して、前記Ｍ個の閾値電圧領域のうち２つの閾値電圧領域を用いてデータを書き込む２値モード書き込みと、Ｍ個の閾値電圧領域を用いてデータを書き込む多値モード書き込みのいずれかによって前記不揮発性メモリにデータを書き込み、及び不揮発性メモリよりデータを読み出すメモリコントローラであって、前記書き込み用ブロックへは、常に前記２値モード書き込みでデータを書き込み、前記書き込み用ブロックの全ての物理ページにデータが書き込まれたときに、論理アドレスが共通する前記書き込み完結ブロックと前記書き込み用ブロックのデータを２値モード書き込みまたは多値モード書き込みで前記空きブロックへ複写する集約処理を行うものである。
【００１９】
ここで前記メモリコントローラは、前記書き込み完結ブロックと前記書き込み用ブロックのデータを２値モード書き込みまたは多値モード書き込みで前記空きブロックへ複写する際に、書き込み用ブロックと論理アドレスが共通する前記書き込み完結ブロックがなければ、データの書き込まれていない空きブロックを前記書き込み完結ブロックとして用いるようにしてもよい。
【００２０】
ここで前記メモリコントローラは、前記アクセス装置が指定するアドレスから得られる論理アドレスと、前記書き込み完結ブロックを示す物理アドレスとを関係付ける第１テーブルと、前記論理アドレスと前記書き込み用ブロックを示す物理アドレスとを関係付ける第２テーブルとを有する論物変換テーブルを含むようにしてもよい。
【００２１】
ここで前記メモリコントローラは、前記集約処理において前記物理ページと対応する論理アドレスの単位ごとに最新のデータを複写するものであり、前記アクセス装置が指定する論理アドレスに基づいて、前記２値モード書き込みにより複写するか、前記多値モード書き込みにより複写するかを決定するようにしてもよい。
【００２２】
ここで前記不揮発性メモリは、前記アクセス装置から任意にアクセスしてデータの読出し及び書き込みができる通常領域と、前記アクセス装置からのアクセスを認証した場合にのみデータの読出し及び書き込みができる認証領域とを有し、前記認証領域での集約処理を、前記多値モード書き込みによって行うようにしてもよい。
【００２３】
ここで前記２値モード書き込みにおいて使用する２つの閾値電圧領域は、全ての閾値電圧領域のうち閾値電圧値の隣り合う２つを選択するようにしてもよい。
【００２４】
ここで前記不揮発性メモリは、複数の物理ブロックから構成されるスーパーブロックを複数有し、前記書き込み完結ブロック、書き込み用ブロック及び空きブロックは前記スーパーブロックの単位からなるようにしてもよい。
【発明の効果】
【００２５】
本発明のデータ書き込みは常に、書き込み済みデータが未格納であるメモリセルに対する第１セルページのみへの書き込みであるため、電源遮断によって書き込み済みのデータが破壊されることはない。データが書き込まれた物理ブロックに対するデータの集約処理は、書き込み済みデータを別の物理ブロックに複写する処理なので、集約処理の途中で電源遮断が発生しても複写前の書き込み済みデータが破壊されることはない。さらに、物理ブロックの全ての第１セルページにデータが書き込まれるとすぐに集約処理を行うので、書き込み済みデータを高密度化することができ、単位データ量あたりのコストの増大を防ぐことができる。
【発明を実施するための最良の形態】
【００２６】
図１は、本実施の形態の不揮発性記憶システムを示す図であり、不揮発性記憶装置と不揮発性記憶装置にアクセスするアクセス装置とを含んでいる。不揮発性記憶装置１００は半導体メモリカードであり、アクセス装置２００は、不揮発性記憶装置１００に対してデータの書き込み及び読み出しを行うホスト機器である。不揮発性記憶装置１００は、アクセス装置からの指示に従って不揮発性メモリ１２０へのデータの書き込み及び読み出しを制御するメモリコントローラ１１０と、不揮発性メモリ１２０とを含む。
【００２７】
メモリコントローラ１１０は、アクセス装置２００との間でコマンドやデータのやりとりを行うホストインターフェース１１１と、アクセス装置２００が指定する論理アドレスを不揮発性メモリ１２０内の物理アドレスに変換するテーブルである論物変換テーブル１１２とを含む。さらにメモリコントローラ１１０は、不揮発性メモリ１２０内の使用状況を管理する空きブロック管理テーブル１１３と、不揮発性メモリ１２０に対してデータの書き込み及び読出しの制御を行う読出し／書き込み制御部１１４とを含む。
【００２８】
不揮発性メモリ１２０は、データの消去単位となる物理ブロックを複数有するＮＡＮＤ型フラッシュメモリで構成されており、管理データ格納領域１２１とデータ格納領域１２２とを有する。管理データ格納領域１２１には、ユーザが直接アクセスできない情報、つまり、アクセス装置２００からはアクセスすることのできない情報が格納される。ユーザが直接アクセスできない情報には、アドレス管理情報の一部や、システム情報が含まれる。また、データ格納領域１２２には、ユーザがアクセスすることができるデータ、すなわち、アクセス装置２００から論理アドレスを指定して書き換え、または読み出しを行うことができるデータが記録される。ファイルシステムの情報もこの領域に存在する。尚、本実施の形態では、データ格納領域１２２をＦＡＴファイルシステムによって管理するものとする。
【００２９】
図２は不揮発性メモリ１２０の内部の状態を表したブロック図である。不揮発性メモリ１２０はＰＢ０〜ＰＢ１０２３の１０２４の物理ブロックから構成されている。物理ブロックは不揮発性メモリ１２０のデータの消去単位で、容量は２５６ｋＢ（バイト）である。不揮発性メモリ１２０全体のデータ格納用の容量は２５６ＭＢとなる。
【００３０】
図３は、１つの物理ブロックの内部を示したブロック図である、物理ブロックはＰＰ０〜ＰＰ１２７の１２８の物理ページで構成されている。物理ページは不揮発性メモリ１２０におけるデータ書き込みの最小単位で、各物理ページはデータ格納用の２ｋＢと管理情報格納用の６４Ｂのデータ容量を持つ。
【００３１】
図４は論物変換テーブル１１２の内容を示している。論物変換とは、アクセス装置２００が指定した論理アドレスから得られる論理ブロックＬＢを、不揮発性メモリ１２０の物理ブロックと対応付けるものであり、各論理ブロックＬＢは複数の論理ページＬＰを有している。このような論物変換テーブル１１２は、不揮発性メモリ１２０の物理ブロックのうちで、物理ブロック内の全ての物理ページにデータの書き込みが行なわれた書き込み完結ブロックを管理するテーブル１１２Ａと、データが書き込まれていない物理ページがある書き込み途中ブロックを管理するテーブル１１２Ｂとを有する。図４では、論理ブロックＬＢ１は物理ブロックＰＢ３５８とＰＢ３８に対応している。即ち、物理ブロックＰＢ３５８は、全ての物理ページにデータが書き込まれた書き込み完結ブロックとなっているが、物理ブロックＰＢ３８は、データを書き込む物理ページが残っている書き込み途中ブロックとして登録されていることを示している。これは、物理ブロックＰＢ３５８のデータと同じ論理ブロックのデータが、物理ブロックＰＢ３８に書き込まれていることを表している。このように、１つの論理ブロックには、１つの書き込み完結ブロックと１つの書き込み途中ブロックの、最大で２つの物理ブロックを対応させることができる。
【００３２】
この書き込み途中ブロックとして登録されているブロックは、新しくデータを書き込むための書き込み用ブロックとして用いられ、最大３つの物理ブロックまで登録される。書き込み途中ブロックとして３組の論理ブロックと物理ブロックが登録されていて、新たに論理ブロックと物理ブロックを登録する必要がある場合は、既に登録されている物理ブロックのデータに対して、後に説明する集約処理を行い、集約処理の終了後に当該物理ブロックと対応する論理ブロックの登録を取り消して、新たな論理ブロックと物理ブロックを登録する。
【００３３】
次に図５は、空きブロック管理テーブル１１３の構成を示した図である。空きブロック管理テーブル１１３は各物理ブロックについて、書き込み完結ブロックとして使用されているか、もしくは使用されていない空きであるかを示すテーブルである。図中、使用中とは、物理ブロックが書き込み完結ブロック又は書き込み途中ブロックとなっていることを示しており、空きとは、物理ブロック内にデータを書き込むための物理ページがあることを示している。このように物理ブロックには、不揮発性記憶装置外部のアクセス装置が指定する論理アドレスに対応して複数の物理ページ全てにデータが書き込まれている書き込み完結ブロックと、アクセス装置が指定するアドレスに対応したデータが書き込まれる書き込み用ブロックと、有効なデータが書き込まれていない状態の空きブロックとがある。
【００３４】
［多値メモリセルの使用方法］
本実施の形態の不揮発性メモリ１２０は多値メモリセルを有している。多値メモリセルは、Ｍ個（Ｍ＞３、Ｍは整数）の閾値電圧の領域を持っており、閾値電圧をその領域まで変化させることでデータを書き込む。本実施の形態のメモリセルは、４つの閾値電圧の領域を用いて“００”〜“１１”の２ビットデータを書き込むことができる。多値メモリセルは２つのセルページで構成されており、各セルページにはそれぞれ１ビットデータが書き込まれる。メモリセルに書き込まれた２ビットデータのうち、下位１ビットは第１セルページのデータ、上位１ビットは第２セルページのデータである。つまり、第１セルページと第２セルページはメモリセルを共用している１つの組であって、多値メモリセルは、第１、第２セルページの組み合わせによって２ビットデータを記憶している。このような第１セルページが複数集まって書き込み単位である物理ページが構成され、また同様に、第２セルページも複数集まって書き込み単位である物理ページが構成される。尚本実施の形態では、どちらの物理ページも同じ容量を持つ。
【００３５】
以上のようなメモリセルに２ビットデータを書き込む手順を、図６を用いて説明する。２ビットデータの書き込みは、下位１ビットのデータをメモリセルの第１セルページに書き込み、次いで上位１ビットのデータを第２セルページに書き込むという段階を経るので、この段階に準じて２ビットデータの書き込みを説明する。
【００３６】
メモリセルの初期状態は、閾値電圧が参照電圧ＶＲ１以下の領域Ｌ０の状態となっている。領域Ｌ０は２ビットデータ“１１”を示す領域であり、第１、第２セルページが共にデータ“１”を記憶していることを示す領域である。ただし初期状態では、当該メモリセルがデータ“１１”を記憶しているとは扱われておらず、データが書き込まれていないメモリセルとして扱われる。
【００３７】
ここで、メモリセルの第１セルページにデータ“１”を書き込む場合、メモリセルの閾値電圧を下位１ビットが“１”を示す領域に変更する。領域Ｌ０とＬ３は下位１ビットが“１”であることを示すが、メモリセルの初期状態では領域Ｌ０に閾値電圧があるので、領域を変更せずにデータの書き込みを終える。これに続いて、第２セルページへデータ“０”を書き込む場合、閾値電圧が領域Ｌ０のままでは第２セルページにはデータ“１”が書き込まれていることになるので、第２セルページのデータが“０”を示す領域Ｌ３に閾値電圧を変更する必要がある。そこで、第１セルページのデータは“１”であって、第２セルページのデータが“０”であることを示す領域Ｌ３までメモリセルの閾値電圧を変化させる。
【００３８】
また、第１セルページにデータ“０”を書き込む場合、初期状態の領域Ｌ０は第１セルページに“１”が書き込まれていることを示すので、下位１ビットが“０”を示す領域Ｌ１までメモリセルの閾値電圧を変化させて、第１セルページへのデータの書き込みは完了する。これに続いて、第２セルページに “０”を書き込む場合、閾値電圧が領域Ｌ１のままでは第２セルページにはデータ“１”が書き込まれていることになるので、第１セルページがデータ“０”を示し、第２セルページもデータ“０”を示す領域Ｌ２までメモリセルの閾値電圧を変更して第２セルページへのデータ“０”の書き込みを終了する。
【００３９】
以上のような手順に従って２ビットデータを書き込んだ場合、第２セルページへのデータの書き込み中に電源が途絶えると、第１セルページ及び第２セルページの両方のデータが破壊される可能性がある。例えば上述の領域Ｌ０から領域Ｌ３への閾値電圧の変化の途中で電源が途絶え、領域Ｌ１で留まってしまった場合は、下位１ビットが示す第１セルページのデータが“０”となってしまい、第１セルページのデータが変わってしまう。さらに第２セルページのデータも“０”ではなく“１”となってしまい、正しいデータではなくなってしまう。
【００４０】
以上の説明において、第１セルページだけを用いたデータの書き込みは、１つのメモリセルに対して１ビットデータを書き込む従来の２値メモリへの書き込みに相当するので、以下の説明では２値モード書き込みと呼ぶ。また、第１セルページに加えて第２セルページも用いたデータの書き込みは、１つのメモリセルに対して２ビットデータを書き込む多値メモリへの書き込みであるので、以下の説明では多値モード書き込みと呼ぶ。
【００４１】
［データ書き込みモードと物理ページの関係］
多値フラッシュメモリの各メモリセルは先に述べたとおり、第１セルページと第２セルページのデータを記憶することができるが、本実施の形態でデータを書き込むときは、上述の２値モード書き込みと多値モード書き込みとを選択的に用いる。
【００４２】
２値モード書き込みであれば、１つのメモリセルに対する１ビットデータの書き込みであるので、１つのメモリセルに１度の書き込みだけで済む。例えば、図６に示した領域Ｌ０とＬ１とだけを用いて、それぞれの領域を“０”又は“１”の１ビットの値に対応させて、第１セルページのデータを示すことにおけば、従来の２値のフラッシュメモリのように用いることができる。このように通常は、書き込み速度の速い領域の組み合わせを用いるので、本実施の形態では領域Ｌ０とＬ１の組み合わせを用いて２値モード書き込みを行う。
【００４３】
次に、各物理ページには第１セルページか第２セルページかのどちらかのデータが書き込まれるので、その分担を決める方法を、図３と図７を用いて説明する。フラッシュメモリへのデータの書き込みは、物理ページを単位として行なわれる。ある１つの物理ページを第１又は第２セルページのデータを書き込む物理ページであると決めると、その物理ページに対応するすべてのメモリセルには第１又は第２セルページのどちらかのデータが書き込まれる。上述のとおり図３は、１つの物理ブロックに存在する物理ページＰＰ０からＰＰ１２７を表している。物理ページＰＰ０は物理ページＰＰ４と破線で結ばれているが、これは例えば、第１セルページのデータが書き込まれた物理ページＰＰ０と第２セルページのデータが書き込まれた物理ページＰＰ４が１つの組となって、同一のメモリ領域、つまりメモリセルを使用することを表している。
【００４４】
図７は、このような物理ページの組分けを示している。第１セルページ担当の欄には第１セルページのデータが書き込まれる物理ページの番号が示されており、第２セルページ担当の欄には第２セルページのデータが書き込まれる物理ページの番号が示されている。尚、図中のｎは、不等式０≦ｎ≦２９を満たす整数である。図７において隣り合わせの物理ページが１つの組を成して互いに同一のメモリ領域を使用する。ここでは、物理ページＰＰ０とＰＰ４、ＰＰ１とＰＰ５、ＰＰ１２２とＰＰ１２６というように組になっている。
【００４５】
図８Ａに２値モード書き込みを行った後の物理ブロックの状態を示す。図８Ａの物理ブロックは、ＰＰ０からＰＰ１２７の１２８の物理ページを有しているが、第１セルページのデータを格納する物理ページには、全て斜線が付されてデータが書き込まれていることを示している。
【００４６】
一方図８Ｂは、多値モード書き込みを行なった後の物理ブロックの状態を示す。第２セルページのデータを格納する物理ページにも全て斜線が付されて、データが書き込まれていることを示している。尚、本実施の形態では、各物理ページに書き込まれたデータの論理ページを示すデータも当該物理ページ内に格納されている。２値モード書き込み及び多値モード書き込みにおけるデータ書き込みでは、物理ページの番号順に物理ページを用いる。
【００４７】
［データ書き込み処理の手順］
以下に、フラッシュメモリ１２０へデータを書き込む際の処理の手順を説明し、あわせてその中で行なわれる２値モード集約と多値モード集約についても説明する。まず、図９は、アクセス装置２００が不揮発性記憶装置１００に対して初期化コマンドを送信したときの、不揮発性記憶装置１００の動作を示すフローである。
【００４８】
初期化コマンドはアクセス装置２００の電源投入時や、不揮発性記憶装置１００の装着時などに送信される。不揮発性記憶装置１００が初期化コマンドを受信すると、メモリコントローラ１１０は論物変換テーブル１１２及び空きブロック管理テーブル１１３などの内部メモリの消去や、不揮発性メモリ１２０の接続確認などのハードウェアの初期化処理を行う（ステップ１０１）。その後、読出し／書込み制御部１１４は不揮発性メモリ１２０の管理データ格納領域１２１に格納されているアドレス管理情報等を取得し（ステップ１０２）、取得した情報を元に論物変換テーブル１１２及び空きブロック管理テーブル１１３を作成して不揮発性記憶装置１００の初期化処理を完了する（ステップ１０３）。
【００４９】
続いて、アクセス装置２００が不揮発性記憶装置１００に対して書き込みコマンド及び書き込みデータを送信した場合の不揮発性記憶装置１００の動作を、図１０を用いて説明する。メモリコントローラ１１０のホストインターフェース１１１はアクセス装置２００が指定した書き込みを開始する論理アドレスを取得し（ステップ２０１）、読出し／書き込み制御部１１４に通知する。
【００５０】
読出し／書き込み制御部１１４は、書き込みを開始する論理アドレス（セクタ単位、すなわち５１２Ｂ単位）から書き込みを開始する論理ブロック（ブロック単位、すなわち２５６ｋＢ単位）を算出し、次に説明するように論物変換テーブル１１２を利用して、書き込みを開始する論理ブロックに対応する物理ブロックを決定する。
【００５１】
読出し／書き込み制御部１１４は、書き込みを開始する論理ブロックに対応した物理ブロックが論物変換テーブル１１２の書き込み途中ブロックに登録されている場合には、この物理ブロックを書き込み用物理ブロックとする。書き込み途中ブロックとして物理ブロックが登録されていない場合には、空きブロック管理テーブル１１３を利用して空きブロックを取得し、空きブロックが消去済みでなければ当該空きブロックのデータを消去する（ステップ２０２）。続いて、取得した物理ブロックを書き込み途中ブロックに登録して書き込み用物理ブロックとして決定する。
【００５２】
次に、読出し／書き込み制御部１１４は、アクセス装置２００からのデータを２値モード書き込みで書き込み用物理ブロックに書き込む（ステップ２０３）。さらに読出し／書き込み制御部１１４は、未書き込みのデータがあるかどうかを確認し、全てのデータの書き込みが完了したかどうかを判断する（ステップ２０４）。全てのデータが書き込まれ、未書き込みのデータがなければデータの書き込みを終了する。
【００５３】
未書き込みのデータが残っている場合には、書き込み用物理ブロックの全ての物理ページにデータが書き込まれた状態になったか否かを確認する（ステップ２０５）。書き込み用物理ブロックに未書き込みの物理ページが残っている場合は、ステップ２０３に戻って未書き込みのデータを書き込む。
【００５４】
書き込み用物理ブロックの全ての物理ページにデータが書き込まれた場合は、当該物理ブロックに対応する論理ブロックの番号から、書き込んだデータが格納されている領域を論理ブロックに基づいて判定し、集約処理の方法を決定する（ステップ２０６）。尚、データが格納されている領域とは、ファイルシステムの情報が記録されている領域か、ユーザデータが記録されている領域かのどちらかである。
【００５５】
本実施の形態では、論理ブロックＬＢ０のデータであれば、重要なデータであるＦＡＴファイルシステムの情報が記録されている領域と判定して２値モード集約を行う（ステップ２０７）。それ以外の論理ブロックならばユーザデータが記録されている領域と判定して、多値モード集約を行う（ステップ２０８）。
【００５６】
このような各々の集約処理後、集約元である書き込み完結ブロックと書き込み用ブロックは、空きブロック管理テーブル１１３において「使用中」から「空き」に更新され、集約先の物理ブロックは「空き」から「使用中」に更新される。また、論物変換テーブル１１２において、テーブル１１２Ａの論理ブロックには集約元の書き込み完結ブロックに代えて集約先の物理ブロックが割り当てられる。集約元の書き込み用物理ブロックが登録されているテーブル１１２Ｂでは、当該物理ブロックとともに対応する論理ブロックも登録が取り消される。
【００５７】
本実施の形態の集約処理とは、同じ論理アドレスの２つの物理ブロックに書き込まれたデータを、別の１つの物理ブロックにまとめる処理のことである。ステップ２０７の２値モード集約は、２値モード書き込みでデータが書き込まれた２つの物理ブロックのデータを２値モード書き込みで集約する。ステップ２０８の多値モード集約は、多値モード書き込みでデータが書き込まれた物理ブロックと、２値モード書き込みでデータが書き込まれた物理ブロックのデータを多値モード書き込みで集約する。
【００５８】
以上のような集約処理が終わると、図１０のステップ２０９の処理に移る。ここでは、ステップ２０７又はステップ２０８の集約処理によって、論理ブロックに対する物理ブロックの割当てが変わったことを記録するために、論物変換テーブル１１２と空きブロック管理テーブル１１３と管理データ格納領域１２１に格納されているアドレス管理情報とを更新して、集約元の書き込み完結ブロックと書き込み用ブロックのデータを消去する（ステップ２０９）。以降、ステップ２０２に戻って全てのデータが書き込まれるまで処理を繰り返す。
【００５９】
次に、２値モード集約の方法を、図１１を用いて説明する。物理ブロックＰＢ１は書き込み完結ブロックであり、第１セルページのデータを記憶する全ての物理ページに２値モード書き込みでデータが書き込まれている。データが書き込まれている各物理ページはＬＰ０からＬＰ６３の６４の論理ページに対応している。
【００６０】
書き込み用物理ブロックＰＢ２の、第１セルページのデータを書き込む全ての物理ページには、物理ブロックＰＢ１と同一の論理ブロックのデータが２値モード書き込みで書き込まれている。ここでは、物理ブロックＰＢ１に現れる論理ページの一部が物理ブロックＰＢ２で新しいデータに更新されている。
【００６１】
物理ブロックＰＢ１と同じ論理ページのデータが物理ブロックＰＢ２に書き込まれていれば、物理ブロックＰＢ１のデータは旧データであり、その論理ページに対応する新しいデータは、物理ブロックＰＢ２に書き込まれている。このように更新が行なわれたデータと、物理ブロックＰＢ１に元々書き込まれていて物理ブロックＰＢ２で更新されていないデータとを、別の物理ブロックＰＢ３にまとめる。つまり、物理ブロックＰＢ３には各物理ページの最新のデータが集められる。
【００６２】
２値モード集約において、物理ページＰＢ１とＰＢ２の同じ論理ページのデータから最新のデータを決定するために次の２つのルールを用いる。
ルール１、書き込み完結ブロックよりも書き込み用物理ブロックのデータは新しい。
ルール２、書き込み用物理ブロック内においては物理ページ番号の大きいデータの方が新しい。
【００６３】
これらのルールに従って、論理ページＬＰ０〜ＬＰ３のデータは、物理ブロックＰＢ１の物理ページＰＰ０〜ＰＰ３に書き込まれたデータが最新であるとわかるので、そのデータを集約先の物理ブロックＰＢ３の物理ページＰＰ０からＰＰ３に複写する。
【００６４】
次にＬＰ４、ＬＰ５のデータを物理ブロックＰＢ３に複写しなくてはならないが、先に示したルールにより、論理ページＬＰ４、ＬＰ５のデータは、物理ブロックＰＢ２の物理ページＰＰ１２２、１２３に書き込まれたデータが最新であるとわかる。従って、物理ブロックＰＢ２のＰＰ１２２、１２３のデータをＰＢ３のＰＰ６、７に複写する。以上のようにして、残りの最新データも物理ブロックＰＢ３に集約する。
【００６５】
２値モード集約において書き込み完結ブロックが存在しない場合は、データの書き込まれていない物理ブロックを書き込み完結ブロックの代わりに用いて、上記と同様の２値モード集約を行なう。この場合には、書き込み用物理ブロックの６４の論理ページのデータを、集約先の物理ブロックの６４の物理ページに集約する。２値モード集約において、集約先の物理ブロックは６４の物理ページを使用することができるので、この２値モード集約で集約先の物理ブロックは書き込み完結ブロックとなる。
【００６６】
次に多値モード集約の方法を、図１２を用いて説明する。物理ブロックＰＢ４は書き込み完結ブロックであり、多値モード書き込みで全ての物理ページにデータが書き込まれている。データが書き込まれている各物理ページは、論理ページＬＰ０からＬＰ１２７に対応している。
【００６７】
書き込み用物理ブロックＰＢ５の、第１セルページのデータが書き込める全ての物理ページには、物理ブロックＰＢ４と同一の論理アドレスのデータが２値モード書き込みで書き込まれている。ここでは、物理ブロックＰＢ４に保持されている論理ページの一部が物理ブロックＰＢ５で新しいデータに更新されている。
【００６８】
多値モード集約も、書き込み完結ブロックＰＢ４と書き込み用ブロックＰＢ５のデータのうち最新のデータを物理ブロックＰＢ６にまとめることであるので、２値モード集約で示した２つのルールに従って最新のデータを判断する。これに従うと、論理ページＬＰ０〜ＬＰ３のデータは、物理ブロックＰＢ４の物理ページＰＰ０〜ＰＰ３のデータが最新であるとわかるので、そのデータを集約先の物理ブロックＰＢ６の物理ページＰＰ０〜ＰＰ３に複写する。
【００６９】
次に、論理ページＬＰ４のデータを、物理ブロックＰＢ６に複写する。ルール１、２により、論理ページＬＰ４のデータは物理ブロックＰＢ５のＰＰ０に書き込まれたデータが最新であるとわかるので、そのデータを物理ブロックＰＢ６の物理ページＰＰ４に複写する。以上のようにして、残りの最新データも物理ブロックＰＢ６に集約する。
【００７０】
本実施の形態の物理ブロックＰＢ５は、最大で６４の論理ページを扱うので、ＰＢ４の１２８の物理ページのうち最大で６４の物理ページが、新しいデータに書き換えられることになる。
【００７１】
尚、多値モード集約において書き込み完結ブロックが存在しない場合は、データの書き込まれていない物理ブロックを書き込み完結ブロックの代わりに用いて、同様の多値モード集約を行う。この場合には、書き込み用物理ブロックの６４の論理ページのデータを、集約先の物理ブロックの６４の物理ページに集約する。残りの６４の物理ページにはデータの代わりに初期値を書き込んで集約処理を終える。この集約先の物理ブロックと、別の論理ページのデータを持つ書き込み用物理ブロックとの間でさらに多値モード集約を行なえば、集約先の物理ブロックは書き込み完結ブロックとなる。
【００７２】
本実施の形態ではアクセス装置からの書き込みデータを不揮発性メモリ１２０に書き込む場合に、まず２値モード書き込みを行う。このとき常に、書き込み済みのデータがないメモリセルに対して１ビットデータを書き込むため、書き込み途中の電源遮断によって書き込み済みのデータが破壊されることはない。また、その後集約処理における書き込みは、物理ブロックに書き込み済みのデータを別の物理ブロックに複写する処理であり、複写の途中での消去はしないので、この複写過程で電源遮断が発生しても複写前の書き込み済みデータが破壊されることはない。
【００７３】
さらに加えて、ステップ２０７及びステップ２０８の集約処理の途中で電源遮断が発生した場合でも、電源遮断が起こった時点では論物変換テーブル１１２、空きブロック管理テーブル１１３、アドレス管理情報等が更新されていない。よって、電源復帰後の初期化におけるステップ１０２の処理で管理データ格納領域１２１から読み出されるアドレス管理情報や論物変換テーブル１１２、空きブロック管理テーブル１１３は集約処理前のものである。これは集約先の物理ブロックは「空き」のままであって、集約処理前に書き込まれた集約元のデータは破壊されていないので、集約処理前の論物変換テーブル１１２、空きブロック管理テーブル１１３、アドレス管理情報等を用いて電源遮断前と同じ処理をもう一度行うことができることを示している。
【００７４】
なお、本願発明の実施の形態について上記のように説明したが、本願発明は本実施の形態に限定されるものではない。本願発明の趣旨を逸脱しない範囲で変更することができる。例えば以下のような場合も本願発明に含まれる。
【００７５】
（１）本実施の形態の不揮発性メモリ１２０として、４値データの記録が可能なメモリセルを用いたＮＡＮＤ型フラッシュメモリを使用したが、４値データに限らずより多値のデータ記録が可能なメモリセルを用いた不揮発性メモリであっても本願発明と同様の構成を実現でき、同様の効果を得ることができる。
【００７６】
（２）本実施の形態では、「２値モード集約」及び「多値モード集約」のいずれを行うかをファイルシステムの管理情報を格納している領域かユーザデータを格納している領域かで判定する例を示したが、これに限らず任意の判定基準で決定してよい。例えば、データ格納領域１２２には、ユーザが自由に読み書きできる通常領域と、認証処理を経た場合にのみ読み書きできる保護領域とが存在することがある。このときに、通常領域は「多値モード集約」、認証領域は「２値モード集約」という判定基準、或いは逆の通常領域は「２値モード集約」、認証領域は「多値モード集約」という判定基準で両集約を使い分けてもよいし、領域によらず常に「多値モード集約」を行ってもよい。
【００７７】
（３）本実施の形態では、アクセス装置２００からのデータを常に、２値モード書き込みと集約処理の２段階で書き込む例を示したが、２段階で書き込む領域を不揮発性メモリの一部の領域に限定してもよい。
【００７８】
（４）本実施の形態では、２値モード書き込みにおいて、１ビットデータを第１セルページのみに書き込む構成としたが、第２セルページのみに書き込む構成でもよい。書き込み速度を向上させるためには、メモリセルを共有しているページのうち、平均の書き込み速度がもっとも速いページにのみ書き込むようにするほうが望ましい。
【００７９】
（５）本実施の形態では、データ消去の最小単位であるブロックを単位として論物変換テーブル１１２、空きブロック管理テーブル１１３を生成し、書き込み完結ブロック及び書き込み途中ブロックは１個のブロックから構成される例を示したが、複数のブロックによって構成されるスーパーブロックを単位として上記テーブルや書き込み完結ブロック、書き込み用ブロックなどを構成してもよい。このとき、管理すべきスーパーブロックの数は、ブロックの数よりも少ないので論物変換テーブル１１２や空きブロック管理テーブル１１３のサイズを減らすことでき、単位データ量あたりのコストダウンが期待できる。
【００８０】
（６）２値及び多値モード集約において書き込み完結ブロックが存在しない場合に、データの書き込まれていない、初期値だけが書き込まれた物理ブロックを書き込み完結ブロックの代わりに用いた。しかし、実際の物理ブロックを用いなくとも、必要に応じて初期値を集約先の物理ブロックに書き込むようにすれば、同様の集約を行なうことができる。
【産業上の利用可能性】
【００８１】
本発明は、デジタルＡＶ機器、携帯電話端末、パーソナルコンピュータ等の電子機器に用いられる大容量かつ高信頼性が要求される情報記録媒体に適用することができる。特に、本願発明は、記録密度が高い多値フラッシュメモリに適用でき、より多値化が進むフラッシュメモリを用いた半導体メモリカードにおいてさらに有効であるため、低コストが求められる不揮発性記憶装置に好適である。
【図面の簡単な説明】
【００８２】
【図１】本発明の実施の形態における不揮発性記憶システムの構成を示すブロック図である。
【図２】本発明の実施の形態における不揮発性メモリの構成を示す図である。
【図３】本発明の実施の形態における物理ブロックの構成を示す図である。
【図４】本発明の実施の形態における論物変換テーブルの構成を示す図である。
【図５】本発明の実施の形態における空きブロック管理テーブルの構成を示す図である。
【図６】本発明の実施の形態におけるメモリセルの閾値電圧の分布を示す図である。
【図７】本発明の実施の形態における第１セルページと第２セルページを担当する物理ページの組合せを示す表である。
【図８Ａ】本発明の実施の形態における２値モード書き込み後の書き込み用物理ブロックの状態を示す図である。
【図８Ｂ】本発明の実施の形態における多値モード書き込み後の書き込み用物理ブロックの状態を示す図である。
【図９】本発明の実施の形態における不揮発性記憶装置の初期化コマンド受信後の動作を示すフローチャートである。
【図１０】本発明の実施の形態における不揮発性記憶装置の書き込みコマンド受信後の動作を示すフローチャートである。
【図１１】本発明の実施の形態における２値モード集約前後の物理ブロックの状態を示す図である。
【図１２】本発明の実施の形態における多値モード集約前後の物理ブロックの状態を示す図である。
【図１３】従来技術におけるメモリセルの閾値電圧の分布を示す図である。
【符号の説明】
【００８３】
１００  不揮発性記憶装置
１１０  メモリコントローラ
１１１  ホストインターフェース
１１２  論物変換テーブル
１１３  空きブロック管理テーブル
１１４  読出し／書き込み制御部
１２０  不揮発性メモリ
１２１  管理データ格納領域
１２２  データ格納領域
２００  アクセス装置
【図１】
2007257109.tif 000003
【図２】
2007257109.tif 000004
【図３】
2007257109.tif 000005
【図４】
2007257109.tif 000006
【図５】
2007257109.tif 000007
【図６】
2007257109.tif 000008
【図７】
2007257109.tif 000009
【図８Ａ】
2007257109.tif 000010
【図８Ｂ】
2007257109.tif 000011
【図９】
2007257109.tif 000012
【図１０】
2007257109.tif 000013
【図１１】
2007257109.tif 000014
【図１２】
2007257109.tif 000015
【図１３】
2007257109.tif 000016