(57)【要約】【課題】不揮発性メモリに対してデータを書き込んだり、データ書き換えの最中に電源遮断が生じた場合において、データ書き込み前の状態に戻せるようにすること。【解決手段】メモリコントローラ１１０に読み書きメモリ１０９を設け、アドレス管理情報を一時記憶する。不揮発性メモリアクセス部１０６は書き込み命令に応じて、ユーザデータを不揮発性メモリ１１１に書き込む。アドレス管理情報制御部１０５は、ユーザデータを書き換える時に、アドレス管理情報１０８の書き換え対象である物理ブロックを無効予定ブロックとする。一連の書き込み処理後に、無効予定を無効ブロックとして読み書きメモリ１０９のアドレス管理情報を不揮発性メモリ１１１に書き戻す。【選択図】図１
2005243000.tif 000002
【特許請求の範囲】
【請求項１】
アクセス装置に接続して用いられ、前記アクセス装置から与えられるコマンドと論理アドレスに応じてデータを書き込み及び読み出す半導体メモリ装置であって、
複数の物理ブロックから成り、アドレス管理情報とユーザデータとを記憶する不揮発性メモリと、
メモリコントローラと、を有するものであり、
前記メモリコントローラは、
前記不揮発性メモリに保持されている前記アドレス管理情報を読み出して一時記憶する揮発性の読み書きメモリと、
アクセス装置からの書き込み命令に応じて、ユーザデータを前記不揮発性メモリに書き込み、一連の書き込み処理後に前記読み書きメモリに一時記憶されたアドレス管理情報を前記不揮発性メモリに書き戻す不揮発性メモリアクセス部と、
前記不揮発性メモリに対するユーザデータの書き込み処理に応じて、前記読み書きメモリに一時記憶されたアドレス管理情報を逐次更新するアドレス管理情報制御部と、
前記読み書きメモリに保持されたアドレス管理情報に基づいてユーザデータの前記不揮発性メモリへの書き込み及び読み出しを制御する制御部と、を具備し、
前記アドレス管理情報制御部は、ユーザデータを書き換える場合は、前記読み書きメモリに一時記憶されたアドレス管理情報においてユーザデータの書き換えの対象となる物理ブロックを一連の書き込み処理終了までは無効予定ブロックとすることにより、前記無効予定の物理ブロックへの書き込みを禁止する半導体メモリ装置。
【請求項２】
前記読み書きメモリに一時記憶されるアドレス管理情報は、
アクセス装置から与えられる論理アドレスを物理アドレスに変換するアドレス変換テーブルと、
前記不揮発性メモリの各物理ブロックの状態を、有効、無効、無効予定の少なくとも３種類に区別する物理領域管理テーブルとを含むものであり、
前記アドレス管理情報制御部は、前記不揮発性メモリに既に記憶されているユーザデータの書き換えを含む一連の書き込み処理において、物理領域管理テーブルの書き換えの際に旧データが記憶されていた物理ブロックの状態を書き込み禁止を意味する無効予定状態とし、前記物理領域管理テーブルに対して前記不揮発性メモリに書き戻す際に無効予定状態から書き込み許可を示す無効状態にする請求項１記載の半導体メモリ装置。
【請求項３】
前記不揮発性メモリは、夫々複数の物理ブロックから成る複数の論理アドレス範囲に区切られ、それぞれの論理アドレス範囲毎にユーザデータを記憶する複数の物理ブロックと複数のアドレス管理情報を記憶する複数の物理ブロックとを有する請求項１記載の半導体メモリ装置。
【請求項４】
前記読み書きメモリは、アクセス装置から与えられる論理アドレス範囲に対応して前記複数のアドレス管理情報の少なくとも１つのアドレス管理情報を一時記憶する請求項３記載の半導体メモリ装置。
【請求項５】
前記複数のアドレス管理情報は、複数の論理アドレス範囲に対応して当該論理アドレス範囲内に記憶される請求項３記載の半導体メモリ装置。
【請求項６】
前記複数のアドレス管理情報は、複数の論理アドレス範囲に対応して前記不揮発性メモリの所定の物理領域であるアドレス管理情報用領域にまとめて記憶される請求項３記載の半導体メモリ装置。
【請求項７】
複数の物理ブロックから成り、アドレス管理情報とユーザデータとを記憶する不揮発性メモリに、データを書き込み及び読み出す半導体メモリ装置に用いられるメモリコントローラであって、
前記不揮発性メモリに保持されている前記アドレス管理情報を読み出して一時記憶する揮発性の読み書きメモリと、
アクセス装置からの書き込み命令に応じて、ユーザデータを前記不揮発性メモリに書き込み、一連の書き込み処理後に前記読み書きメモリに一時記憶されたアドレス管理情報を前記不揮発性メモリに書き戻す不揮発性メモリアクセス部と、
前記不揮発性メモリに対するユーザデータの書き込み処理に応じて、前記読み書きメモリに一時記憶されたアドレス管理情報を逐次更新するアドレス管理情報制御部と、
前記読み書きメモリに保持されたアドレス管理情報に基づいてユーザデータの前記不揮発性メモリへの書き込み及び読み出しを制御する制御部と、を具備し、
前記アドレス管理情報制御部は、ユーザデータを書き換える場合は、前記読み書きメモリに一時記憶されたアドレス管理情報においてユーザデータの書き換えの対象となる物理ブロックを一連の書き込み処理終了までは無効予定ブロックとすることにより、前記無効予定の物理ブロックへの書き込みを禁止するメモリコントローラ。
【請求項８】
前記読み書きメモリに一時記憶されるアドレス管理情報は、
アクセス装置から与えられる論理アドレスを物理アドレスに変換するアドレス変換テーブルと、
前記不揮発性メモリの各物理ブロックの状態を、有効、無効、無効予定の少なくとも３種類に区別する物理領域管理テーブルとを含むものであり、
前記アドレス管理情報制御部は、前記不揮発性メモリに既に記憶されているユーザデータの書き換えを含む一連の書き込み処理において、物理領域管理テーブルの書き換えの際に旧データが記憶されていた物理ブロックの状態を書き込み禁止を意味する無効予定状態とし、前記物理領域管理テーブルに対して前記不揮発性メモリに書き戻す際に無効予定状態から書き込み許可を示す無効状態にする請求項７記載のメモリコントローラ。
【請求項９】
前記不揮発性メモリは、夫々複数の物理ブロックから成る複数の論理アドレス範囲に区切られ、それぞれの論理アドレス範囲毎にユーザデータを記憶する複数の物理ブロックと複数のアドレス管理情報を記憶する複数の物理ブロックとを有し、
前記読み書きメモリは、アクセス装置から与えられる論理アドレス範囲に対応してその論理アドレス範囲の少なくとも１つのアドレス管理情報を一時記憶する請求項７記載のメモリコントローラ。
【請求項１０】
アドレス管理情報とユーザデータとを記憶する不揮発性メモリに、データを書き込み及び読み出す半導体メモリ装置におけるデータ記録方法であって、
前記不揮発性メモリに保持されている前記アドレス管理情報を読み出して揮発性の読み書きメモリに一時記憶し、
アクセス装置の書き込み命令に応じて、前記読み書きメモリに保持されたアドレス管理情報に基づいてユーザデータの前記不揮発性メモリへの書き込み及び読み出しを行い、
前記不揮発性メモリに対するユーザデータの書き込み処理に応じて、前記読み書きメモリに一時記憶されたアドレス管理情報を逐次更新し、
ユーザデータを書き換える場合は、前記読み書きメモリに一時記憶されたアドレス管理情報においてユーザデータの書き換え対象である物理ブロックを一連の書き込み処理終了までは無効予定ブロックとすることにより、前記無効予定の物理ブロックへの書き込みを禁止し、
一連の書き込み処理後に前記読み書きメモリに一時記憶されたアドレス管理情報を前記不揮発性メモリに書き戻すデータ記録方法。
【請求項１１】
前記読み書きメモリに一時記憶されるアドレス管理情報は、
アクセス装置から与えられる論理アドレスを物理アドレスに変換するアドレス変換テーブルと、
前記不揮発性メモリの各物理ブロックの状態を、有効、無効、無効予定の少なくとも３種類に区別する物理領域管理テーブルとを含むものであり、
前記アドレス管理情報制御部は、前記不揮発性メモリに既に記憶されているユーザデータの書き換えを含む一連の書き込み処理において、物理領域管理テーブルの書き換えの際に旧データが記憶されていた物理ブロックの状態を書き込み禁止を意味する無効予定状態とし、前記物理領域管理テーブルに対して前記不揮発性メモリに書き戻す際に無効予定状態から書き込み許可を示す無効状態にする請求項１０記載のデータ記録方法。
【請求項１２】
前記不揮発性メモリは、夫々複数の物理ブロックから成る複数の論理アドレス範囲に区切られ、それぞれの論理アドレス範囲毎にユーザデータを記憶する複数の物理ブロックと複数のアドレス管理情報を記憶する複数の物理ブロックとを有する請求項１０記載のデータ記録方法。
【請求項１３】
前記読み書きメモリは、アクセス装置から与えられる論理アドレス範囲に対応してその論理アドレス範囲の少なくとも１つのアドレス管理情報を一時記憶する請求項１２記載のデータ記録方法。
【請求項１４】
前記複数のアドレス管理情報は、複数の論理アドレス範囲に対応して当該論理アドレス範囲内に記憶される請求項１２記載のデータ記録方法。
【請求項１５】
前記複数のアドレス管理情報は、複数の論理アドレス範囲に対応して前記不揮発性メモリの所定の物理領域であるアドレス管理情報用領域にまとめて記憶される請求項１２記載のデータ記録方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリを用いた半導体メモリ装置、メモリコントローラ及びデータ記録方法に関するものである。
【背景技術】
【０００２】
半導体メモリ装置の中で、ＳＤメモリカードやコンパクトフラッシュ（登録商標）等のメモリカードは小型サイズなので、デジタルスチルカメラ等のポータブル機器の着脱可能なメモリ装置として実用に供されている。
【０００３】
実用に供されている半導体メモリ装置は、通常内部に不揮発性メモリとしてフラッシュメモリが内蔵され、更にその制御回路であるメモリコントローラＬＳＩが内蔵されている。近年、半導体メモリ装置において大容量化のニーズが高まり、不揮発性メモリチップ自体もセルの多値化による大容量が進みつつある。また実装技術の進歩により、半導体メモリ装置に実装される不揮発性メモリのチップ数も増加し、半導体メモリ装置としてのメモリ空間として１ＧＢを超えるものが実用化されてきている。
【０００４】
ここで半導体メモリ装置におけるアドレス管理方法として、分散型管理方法及び集中型管理方法の２つの方法が開示されている。分散型管理方法は、書き込み単位であるページの管理領域に論理アドレスやそのページの状態を示すフラグを記憶し、初期化においてコントローラＬＳＩ内のＲＡＭにアドレス管理テーブル等を構成する方法である。集中型管理方法は、不揮発性メモリ上にアドレス管理テーブル用の特別なブロックを準備し、初期化時にはこのブロックをメモリコントローラＬＳＩ内のＲＡＭに読み出す方法である。
【０００５】
分散型管理方法は、初期化時において全アドレス空間の管理領域を読み出す必要があるので、初期化に比較的多くの時間を要するといった課題があった。一方集中型管理方法は、アドレス空間が大きくなればなるほど、アドレス管理テーブルの容量、即ちメモリコントローラＬＳＩ内の読み書きメモリ（例えばＲＡＭ）の容量が膨大となり、比較的コストが高くなるといった課題があった。そこで集中型管理方法における課題を解決するために、全メモリ空間を複数の論理アドレス範囲に分割して、各々の論理アドレス範囲毎にアドレス管理テーブル等のアドレス管理情報を記憶する方法が提案されている。（例えば、特許文献１参照）。
【０００６】
しかしこの技術によれば、不揮発性メモリに対してデータを書き込んだり、データ書き換えの最中に電源遮断が生じた場合、データ書き込み前の状態に戻す方法が開示されておらず、信頼性の点で課題を残していた。
【特許文献１】特開２００１−１４２７７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明はこのような従来の問題点に鑑みてなされたものであって、上述したように、不揮発性メモリに対してデータを書き込んだり、データ書き換えの最中に電源遮断が生じた場合において、データ書き込み前の状態に戻せるようにすることである。
【課題を解決するための手段】
【０００８】
本発明による半導体メモリ装置は、アクセス装置に接続して用いられ、前記アクセス装置から与えられるコマンドと論理アドレスに応じてデータを書き込み及び読み出す半導体メモリ装置であって、複数の物理ブロックから成り、アドレス管理情報とユーザデータとを記憶する不揮発性メモリと、メモリコントローラと、を有する。前記メモリコントローラは、前記不揮発性メモリに保持されている前記アドレス管理情報を読み出して一時記憶する揮発性の読み書きメモリと、アクセス装置からの書き込み命令に応じて、ユーザデータを前記不揮発性メモリに書き込み、一連の書き込み処理後に前記読み書きメモリに一時記憶されたアドレス管理情報を前記不揮発性メモリに書き戻す不揮発性メモリアクセス部と、前記不揮発性メモリに対するユーザデータの書き込み処理に応じて、前記読み書きメモリに一時記憶されたアドレス管理情報を逐次更新するアドレス管理情報制御部と、前記読み書きメモリに保持されたアドレス管理情報に基づいてユーザデータの前記不揮発性メモリへの書き込み及び読み出しを制御する制御部と、を具備する。前記アドレス管理情報制御部は、ユーザデータを書き換える場合は、前記読み書きメモリに一時記憶されたアドレス管理情報においてユーザデータの書き換えの対象となる物理ブロックを一連の書き込み処理終了までは無効予定ブロックとすることにより、前記無効予定の物理ブロックへの書き込みを禁止するものである。
【０００９】
又本発明によるメモリコントローラは、複数の物理ブロックから成り、アドレス管理情報とユーザデータとを記憶する不揮発性メモリに、データを書き込み及び読み出す半導体メモリ装置に用いられるメモリコントローラであって、前記不揮発性メモリに保持されている前記アドレス管理情報を読み出して一時記憶する揮発性の読み書きメモリと、アクセス装置からの書き込み命令に応じて、ユーザデータを前記不揮発性メモリに書き込み、一連の書き込み処理後に前記読み書きメモリに一時記憶されたアドレス管理情報を前記不揮発性メモリに書き戻す不揮発性メモリアクセス部と、前記不揮発性メモリに対するユーザデータの書き込み処理に応じて、前記読み書きメモリに一時記憶されたアドレス管理情報を逐次更新するアドレス管理情報制御部と、前記読み書きメモリに保持されたアドレス管理情報に基づいてユーザデータの前記不揮発性メモリへの書き込み及び読み出しを制御する制御部と、を具備する。前記アドレス管理情報制御部は、ユーザデータを書き換える場合は、前記読み書きメモリに一時記憶されたアドレス管理情報においてユーザデータの書き換えの対象となる物理ブロックを一連の書き込み処理終了までは無効予定ブロックとすることにより、前記無効予定の物理ブロックへの書き込みを禁止するものである。
【００１０】
又本発明によるデータ記録方法は、アドレス管理情報とユーザデータとを記憶する不揮発性メモリに、データを書き込み及び読み出す半導体メモリ装置におけるデータ記録方法であって、前記不揮発性メモリに保持されている前記アドレス管理情報を読み出して揮発性の読み書きメモリに一時記憶し、アクセス装置の書き込み命令に応じて、前記読み書きメモリに保持されたアドレス管理情報に基づいてユーザデータの前記不揮発性メモリへの書き込み及び読み出しを行い、前記不揮発性メモリに対するユーザデータの書き込み処理に応じて、前記読み書きメモリに一時記憶されたアドレス管理情報を逐次更新し、ユーザデータを書き換える場合は、前記読み書きメモリに一時記憶されたアドレス管理情報においてユーザデータの書き換え対象である物理ブロックを一連の書き込み処理終了までは無効予定ブロックとすることにより、前記無効予定の物理ブロックへの書き込みを禁止し、一連の書き込み処理後に前記読み書きメモリに一時記憶されたアドレス管理情報を前記不揮発性メモリに書き戻すものである。
【発明の効果】
【００１１】
本発明によれば、一連のデータ書き込み中において、旧データが書き換えられた物理領域に対応するアドレス管理情報を、無効予定状態とし、一連の書き込み処理終了までは書き込みを禁止とすることにより、データ書き込み中に電源遮断等の障害が生じても、書き込み前の状態、即ち旧データが残っている状態に戻すことができる。その結果、信頼性の高い半導体メモリ装置、メモリコントローラ及びデータ記録方法を提供することができる。
【発明を実施するための最良の形態】
【００１２】
図１は、本発明の実施例における半導体メモリ装置の全体構成を示すブロック図である。半導体メモリ装置はメモリコントローラ１１０と不揮発性メモリ１１１を含んで構成される。アクセス装置１００は、メモリコントローラ１１０を介して不揮発性メモリ１１１に対する読み書き命令等を転送するものである。ホストＩ／Ｆ１０１はアクセス装置１００が転送した各種命令や論理アドレスや書き込みデータを受信するものである。ＣＰＵ１０２はメモリコントローラ１１０全体及びデータの読み、書きを制御する制御部である。ＲＡＭ１０３はＣＰＵ１０２のワーク用のＲＡＭである。ＲＯＭ１０４はＣＰＵ１０２が実行するプログラムを格納するＲＯＭである。アドレス管理情報制御部１０５は読み書きメモリ１０９に一時記憶されたアドレス管理情報を逐次更新するものである。不揮発性メモリアクセス部１０６は、初期化時にデータの書き込みや読み出しを行う論理アドレス範囲のアドレス管理情報を読み出し、アクセス装置１００の書き込み命令に応じて不揮発性メモリ１１１へユーザデータを書き込むと共に、ユーザデータの書き込み完了時に読み書きメモリ１０９に一時記憶されたアドレス管理情報を不揮発性メモリ１１１に書き戻すものである。読み書きメモリ１０９はアドレス変換テーブル１０７と物理領域管理テーブル１０８とを一時記憶する揮発性のメモリであり、例えばＲＡＭで構成される。アドレス変換テーブル１０７はアクセス装置１００がホストＩ／Ｆ１０１を介して転送した論理アドレスを、不揮発性メモリ１１１の物理アドレスに変換するテーブルである。物理領域管理テーブル１０８は不揮発性メモリ１１１の物理領域の使用状況を管理するテーブルである。メモリコントローラ１１０は上述した各種ブロックを総称したコントローラである。
【００１３】
不揮発性メモリ１１１はアドレス管理情報とユーザデータを記憶する不揮発性の主記憶メモリであり、例えばフラッシュメモリで構成される。不揮発性メモリ１１１は例えばアクセス装置が指定する４つの論理アドレス範囲（ＬＡＵ）０〜３の領域に分けられている。各論理アドレス範囲０〜３には複数の物理ブロックが形成され、ユーザデータを記憶する領域とアドレス管理情報を記憶する領域がある。ユーザデータ領域１１２〜１１５はアクセス装置１００が指定する各論理アドレス範囲０〜３に保持されているユーザデータ領域であり、複数の物理ブロックにより構成される。アドレス管理情報１１６〜１１９は夫々論理アドレス範囲０〜３に応じたアドレス管理情報であり、複数の物理ブロックにより構成される。なお物理ブロックとは選択的に消去できる最小単位をいう。
【００１４】
図２は本実施例における不揮発性メモリ１１１の情報記録領域を示した説明図である。図２において多数の長方形のブロックは物理ブロックに相当する。不揮発性メモリ１１１は論理アドレス範囲０〜論理アドレス範囲３までの４つの領域に分けられており、夫々の領域の中で破線枠で囲った領域はユーザデータ領域１１２〜１１５、ハッチングを施したブロックを含む領域１１６〜１１９はアドレス管理情報を格納する集中型アドレス管理領域である。
【００１５】
図３は本実施例における物理ブロックを示した説明図である。この例では物理ブロックは２ページから構成される。１ページはセクタ０〜セクタ３までの４セクタ（各５１２バイトずつ、計２０４８バイト）と管理領域（６４バイト）から構成される。
【００１６】
図４は本実施例における論理アドレスフォーマットを示した説明図である。図４において下位ビットから順に、セクタナンバー、ページナンバー、論理ブロックナンバー（ＬＢＮ）、論理アドレス範囲ナンバー（ＬＡＵＮ）である。論理ブロックナンバーに対応する８ビット分がアドレス変換の対象、即ちアドレス変換テーブル１０７のアドレスに相当する。
【００１７】
図５は本実施例における物理管理領域テーブル１０８の情報記録領域を示した説明図である。図５において物理管理領域テーブル１０８のアドレスは、不揮発性メモリ１１１の各物理ブロックナンバー（ＰＢＮ）、即ち物理ブロックのアドレスであり、各物理ブロックの状態（有効／無効／不良／無効予定）を記憶する。２進数で「００」は有効ブロックであり、その物理ブロックに既に有効なデータが書き込まれていることを示す。２進数で「１１」は無効ブロックであり、その物理ブロックは消去済みブロック又は既にデータが書き込まれているが、不要なデータの物理ブロックであることを示す。２進数で「１０」は不良ブロックであり、その物理ブロックはメモリセル上のソリッドエラー等により使用できなくなったことを示す。２進数で「０１」は無効予定ブロックである。所定の書き込み期間において、新規データに書き換えられた論理アドレスに対応する元のデータを旧データとするとき、無効予定の物理ブロックはこの旧データが記憶されていることを示す。一連の書き込みが正常に完了すれば、その物理ブロックは無効ブロックとするので、それまでの間、一時的に無効予定ブロックとなる。
【００１８】
図６は本実施例におけるアドレス変換テーブル１０７を示した説明図である。図６においてそのアドレスはアクセス装置１００が指定し、図４の論理アドレスに対する論理ブロックナンバー（ＬＢＮ）であり、各アドレスには物理ブロックナンバー（ＰＢＮ）が記憶されている。
【００１９】
尚、読み書きメモリ１０９は不揮発性メモリ１１１のいずれかのアドレス管理情報が初期化時に読み込まれたものであり、不揮発性メモリ１１１のアドレス管理情報もこれとほぼ同様のアドレス変換テーブル及び物理領域管理テーブルを有している。但し物理領域管理テーブル内の無効予定ブロックは読み書きメモリ１０９上で一時的に設定されるものであり、不揮発性メモリ１１１内のアドレス管理情報には反映されない。
【００２０】
以上のように構成された本実施例の半導体メモリ装置の動作について、図１及び図７〜図１１を用いて説明する。図７は本実施例における書き込みシーケンスを示した説明図である。まず電源ＯＮ後、ＣＰＵ１０２はＲＯＭ１０４に記憶されたプログラムに基づいて初期化処理を行った後、アクセス装置１００からの読み書き等のコマンド受付状態に入る。その後アクセス装置１００が論理アドレス範囲０内への書き込み指示を行うものとする。
【００２１】
ＣＰＵ１０２は不揮発性メモリアクセス部１０６に読み込み指示を発行し、論理アドレス範囲０に対応するアドレス管理情報を不揮発性メモリ１１１から読み出し、読み書きメモリ１０９上のアドレス変換テーブル１０７と物理領域管理テーブル１０８に転送する。ここで読み込まれるアドレス管理情報は、図２の論理アドレス範囲０内の斜線で示した領域１１６の４つの物理ブロックに存在する最新のアドレス管理情報である。どれが最新であるかの判断については、例えば物理領域管理テーブルのフラグを見て行う。具体的には、斜線の物理ブロック内でそれ自身の状態が「００」の有効ブロックのうち、最上位（図面上最も右側の）アドレスの物理ブロックに最新のアドレス管理情報が保持されているとして選択すればよい。
【００２２】
最新のアドレス管理情報を保持する物理ブロックより下位（図面上左側方向）のアドレス管理情報は無効ブロックとして消去し、後々使用できるようにしてもよい。ここでは本発明における本質的な処理ではないので、この部分の説明を省略する。図７のＡＴリード期間ＴＡＴＲは前述したアドレス管理情報の読み込み処理の期間である。ＡＴとは、アロケーションテーブルの略で、アドレス管理情報に相当する。このＡＴ、即ちアドレス管理情報はアドレス変換テーブルと物理領域管理テーブルとを含む。ＡＴリード期間にはリードコマンド及びアドレスを送出し、不揮発性メモリ１１１からアドレス管理情報を受け取る。その後、論理アドレス範囲内０に一連のユーザデータＤａｔａＡ，ＤａｔａＣ，ＤａｔａＤの書き込み、及びＤａｔａＢ，ＤａｔａＥの書き換えを行う。この処理は図７のデータライト期間ＴａからＴｅに対応している。
【００２３】
各データライト期間は、ライトコマンド、アドレス及びデータの転送期間（図示せず）に基づき、書き込み対象となる物理ブロックの消去、即ちイレーズビジー期間と、消去された物理ブロックへの書き込み、即ちプログラムビジー期間とからなる。データライト期間Ｔａは論理アドレス上でのデータＤａｔａＡの新規書き込みであるので、旧データは存在しない。この場合、ＣＰＵ１０２は図８に示す読み書きメモリ１０９上の物理領域管理テーブル１０８を参照して、２進数で「１１」の無効の物理ブロックを取得する。ここでは物理ブロック２０１を選択したとする。不揮発性メモリアクセス部１０６は不揮発性メモリ１１１にアクセスし、選択した無効の物理ブロック２０１のデータを消去する。イレーズビジー期間Ｔａ１はこの無効ブロックの消去期間である。次に図９に示すように、消去した後にその物理ブロック２０１にデータＤａｔａＡを書き込む。プログラムビジー期間Ｔａ２はこの書き込み期間である。そして、プログラムビジー期間Ｔａ２が終了するタイミングで、読み書きメモリ１０９の物理領域管理テーブル１０８において、書き込み先の物理ブロック２０１の状態を有効ブロック、２進数で「００」とする。こうすればアクセス装置１００から半導体メモリ装置を見たときに、指定した論理アドレスにデータＤａｔａＡが書かれていることとなる。
【００２４】
次に、データライト期間Ｔｂに、論理アドレス上でデータＤａｔａＢをＤａｔａＢ′に書き換える。この場合は図１０に示すように、指定された論理アドレスに対応する物理ブロック２０２に旧データＤａｔａＢが存在することになる。従って前述したデータライト期間Ｔａの書き込みと同様の処理に加え、旧データが存在していた物理ブロック２０２について物理領域管理テーブル１０８上で無効ブロックとする必要がある。但し、読み書きメモリ１０９の物理領域管理テーブル１０８上で物理ブロック２０２を無効ブロックにしてしまうと、後続するデータライト期間Ｔｃ〜Ｔｅでその物理ブロックが使用される可能性、即ち消去して新たなデータが書き込まれる可能性がある。もし半導体メモリ装置が使用された時点からＡＴライト期間までに電源遮断等の障害がおきた場合、不揮発性メモリ１１１上でアドレス管理情報が更新されないまま、即ち不揮発性メモリ１１１に書き戻されないまま、旧データが書き換えられてしまう。この場合は、一連のユーザデータを書き込み処理直前の状態に戻せなくなる。
【００２５】
そこで、データライト期間Ｔｂが始まるタイミングで、書き換えの対象となる論理アドレスに対応する物理ブロック２０２、即ち旧データＤａｔａＢが存在していた物理ブロック２０２を物理領域管理テーブル１０８上で無効予定ブロック、２進数で「０１」とする。無効予定ブロックは一連のユーザデータの書き込み期間中は使禁止とされる物理ブロックである。そして新たなデータを書き込むために無効状態の物理ブロック、ここでは物理ブロック２０３を選択し、ライトコマンドとアドレス及びデータが転送される。そしてＴｂ１において選択した物理ブロック２０３のデータを消去する。次いで図１１に示すように、Ｔｂ２において選択した物理ブロック２０３にデータＤａｔａＢ′を書き込む。その後データライト期間の終了するタイミングで、読み書きメモリ１０９の物理領域管理テーブル１０８において書き込み先の物理ブロック２０３の状態を有効ブロック（２進数で「００」）とする。
【００２６】
次にデータライト期間Ｔｃ，Ｔｄは新規の書き込みであるので、データライト期間Ｔａと同様の処理を行う。このとき新たなデータの書き込み領域として無効予定ブロックは選択しない。
【００２７】
データライト期間Ｔｅは書き換えであるので、データライト期間Ｔｂと同様の処理を行う。このとき旧データが存在していた物理ブロックを物理領域管理テーブル１０８上で無効予定ブロックとし、他の無効の物理ブロックに新たなデータを書き込む。この場合も新たなデータの書き込み領域として無効予定ブロックは選択しない。
【００２８】
そして図７のＡＴライト期間ＴＡＴＷにおいて、図９及び図１１に示すように更新された読み書きメモリ１０９の物理領域管理テーブル１０８を不揮発性メモリ１１１に書き戻す際に、無効予定ブロック（２進数で「０１」）を無効ブロック（２進数で「１１」）に変更して、不揮発性メモリ１１１に書き込む。これによってデータＤａｔａＡ〜データＤａｔａＥまでの一連の書き込み処理が終了する。
【００２９】
さてこの一連の書き込みの途中で電源が遮断した場合について説明する。例えばデータＤａｔａＢの書き換えが終了した状態で電源が遮断した場合には、読み書きメモリ１０９のテーブル１０７，１０８の内容は保持されない。従って電源遮断から復帰したときに、不揮発性メモリ１１１に保持されているアドレス管理情報内の物理領域管理テーブルの内容が、初期化処理によって読み書きメモリ１０９の物理領域管理テーブル１０８に再び読み込まれることとなる。この場合には図８及び図１０に示す元の状態に復帰する。但し、図８において復帰後には物理ブロック２０１にデータＤａｔａＡが書き込まれているが、無効ブロックとして扱われるのでこのデータは無視される。又物理ブロック２０２についてもデータＤａｔａＢがそのまま保持されており、不揮発性メモリ内の物理領域管理テーブルではこのブロックが有効として記録されているので、このデータがそのまま有効として扱われる。又データＤａｔａＢ′を書き込んだ物理ブロック２０３は無効ブロックであるので、以後の処理で書き換え等の対象となる。
【００３０】
このように本発明によれば、一連のデータ書き込み中において、旧データが書き換えられた物理領域に対応するアドレス管理情報を、無効予定状態とし、一連の書き込み処理終了までは書き込みを禁止することにより、データ書き込み中に電源遮断等の障害が生じても、書き込み前の状態、即ち旧データが残っている状態に戻すことができる。その結果、信頼性の高い半導体メモリ装置を提供することができる。又一連の書き込みの途中では物理領域管理テーブルの情報を不揮発性メモリ１１１内のアドレス管理情報の領域に書き戻すことがないので、逐一不揮発性メモリに書き戻す場合に比べて一連の書き込み処理を高速化することができる。
【００３１】
なお、アドレス変換テーブル１０７や物理領域管理テーブル１０８は、比較的高速にアクセスできればＲＡＭ以外の揮発性の読み書きメモリを使用しても構わない。また、不揮発性メモリ１１１は、複数の不揮発性メモリチップを内蔵しても構わない。また不揮発性メモリ１１１は、フラッシュメモリ以外の不揮発性メモリを用いても良い。また図２の斜線ブロックで示すアドレス管理情報は、対応する各論理アドレス範囲内に記憶されているが、アドレス管理情報用の記憶領域を不揮発性メモリ１１１の例えば最後尾に確保し、そこにまとめて記憶させてもよい。またアドレス管理情報の記憶位置を、本実施例のように物理的に固定させるのではなく、アドレス管理情報の物理アドレスを指し示すポインタ情報を別に設け、ユーザデータ領域と同じ領域にアドレス管理情報を混在させ、ポインタ情報に応じて記憶位置を移動させるようにしてもよい。
【産業上の利用可能性】
【００３２】
本発明の半導体メモリ装置は、不揮発性メモリを用い、大容量のデータを書き込み又は読み出し、かつ高速にアクセスする必要のある種々の装置に好適に利用できる。このような機器として、デジタルビデオカメラ、デジタルスチルカメラ、携帯用のオーディオ記録再生装置などがある。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施例における半導体メモリ装置の全体構成を示すブロック図である。
【図２】本実施例における不揮発性メモリの情報記憶領域を示した説明図である。
【図３】本実施例における物理ブロックを示した説明図である。
【図４】本実施例における論理アドレスフォーマットを示した説明図である。
【図５】本実施例における物理管理領域テーブルを示した説明図である。
【図６】本実施例におけるアドレス変換テーブルを示した説明図である。
【図７】本実施例における書き込みシーケンスを示したタイムチャートである。
【図８】本実施例において物理ブロックに新規データを書き込む前の論理アドレスと不揮発性メモリ及び物理領域管理テーブルの状態を示す図である。
【図９】図９は本実施例において物理ブロックに新規データを書き込んだ後の論理アドレスと不揮発性メモリ及び物理領域管理テーブルの状態を示す図である。
【図１０】本実施例において物理ブロックに書き換えデータを書き込む前の論理アドレスと不揮発性メモリ及び物理領域管理テーブルの状態を示す図である。
【図１１】本実施例において物理ブロックに書き換えデータを書き込んだ後の論理アドレスと不揮発性メモリ及び物理領域管理テーブルの状態を示す図である。
【符号の説明】
【００３４】
１００  アクセス装置
１０１  ホストＩ／Ｆ部
１０２  ＣＰＵ
１０３  ワーク用ＲＡＭ
１０４  プログラム格納用ＲＯＭ
１０５  アドレス管理情報制御部
１０６  不揮発性メモリアクセス部
１０７  アドレス変換テーブル
１０８  物理領域管理テーブル
１０９  一時記憶用読み書きメモリ
１１０  メモリコントローラ
１１１  不揮発性メモリ
１１２，１１３，１１４，１１５  ユーザデータ
１１６，１１７，１１８，１１９  アドレス管理情報
【図１】
2005243000.tif 000003
【図２】
2005243000.tif 000004
【図３】
2005243000.tif 000005
【図４】
2005243000.tif 000006
【図５】
2005243000.tif 000007
【図６】
2005243000.tif 000008
【図７】
2005243000.tif 000009
【図８】
2005243000.tif 000010
【図９】
2005243000.tif 000011
【図１０】
2005243000.tif 000012
【図１１】
2005243000.tif 000013