(57)【要約】      （修正有）【課題】プログラムの信頼性を改善する半導体記憶装置を提供する。【解決手段】本発明のフラッシュメモリは、メモリコントローラ２００と、ＮＡＮＤ型のメモリ装置３００とを含む。メモリコントローラ２００は、電源電圧が一定電圧に降下したことを検出する電圧検出部２１０と、論理アドレスを物理アドレスに変換する変換テーブルを記憶するＳＲＡＭ２３０と、プログラム中に電圧検出部２１０により一定電圧が検出されたとき、プログラムされているブロックおよびページの論理アドレスと、当該論理アドレスを他の物理アドレスに変換するための変換情報を記憶する抵抗変化型メモリ２４０と、変換テーブルまたは抵抗変化型メモリ２４０の変換情報に基づき入力された論理アドレスを物理アドレスに変換する書込み／セレクタ２２０とを含む。変換された物理アドレスに従い、選択されたブロックのページにデータをプログラムさせる。【選択図】図３
2020123023.tif 000002
【特許請求の範囲】
【請求項１】
複数のブロックを含むＮＡＮＤ型のメモリセルアレイと、
電源電圧が一定電圧に降下したことを検出する検出手段と、
論理アドレスを物理アドレスに変換する変換テーブルを記憶する揮発性メモリと、
物理アドレスに従い選択されたブロックのページにデータをプログラムするプログラム手段と、
前記プログラム手段によりプログラムされている間に前記検出手段により一定電圧が検出されたとき、プログラムされているブロックおよびページの論理アドレスと、当該論理アドレスを他の物理アドレスに変換するための変換情報を記憶する不揮発性メモリと、
前記揮発性メモリの変換テーブルまたは前記不揮発性メモリの変換情報に基づき入力された論理アドレスを物理アドレスに変換する変換手段と、
を有する半導体記憶装置。
【請求項２】
前記他の物理アドレスは、プログラムが中断されたページを退避させるために用意された専用のブロックを選択するためのアドレスである、請求項１に記載の半導体記憶装置。
【請求項３】
前記他の物理アドレスは、ブロックを選択するためのブロックアドレスと、ページを選択するためのページアドレスとを含む、請求項１または２に記載の半導体記憶装置。
【請求項４】
前記検出手段により一定電圧が検出されたことに応答して、前記変換情報を不揮発性メモリに書込む手段を含む、請求項１に記載の半導体記憶装置。
【請求項５】
前記一定電圧は、半導体記憶装置が動作可能な最小電圧よりも大きい、請求項１ないし４いずれか１つに記載の半導体記憶装置。
【請求項６】
前記書込み手段は、電源電圧が喪失する前、または半導体記憶装置が動作できなくなる前に、前記変換情報を不揮発性メモリに書込む、請求項４または５に記載の半導体記憶装置。
【請求項７】
前記不揮発性メモリは、可変抵抗型メモリである、請求項１に記載の半導体記憶装置。
【請求項８】
前記変換手段は、前記不揮発性メモリの変換情報を先に選択する、請求項１に記載の半導体記憶装置。
【請求項９】
前記変換手段は、入力された論理アドレスが前記不揮発性メモリに記憶された論理アドレスを比較し、両者が一致する場合には、前記他の物理アドレスに変換する、請求項８に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置に関し、特に、ＮＡＮＤ型フラッシュメモリのプログラムに関する。
【背景技術】
【０００２】
通常、ＮＡＮＤ型フラッシュメモリは、パッケージ内に、メモリチップと当該メモリチップを制御するためのメモリコントローラとを含んで構成される。メモリコントローラに、メモリチップのエラー訂正やバッドブロックの管理等の一定の負荷を負わせることで、ホスト側のコンピュータの負荷を軽減させることができる。
【０００３】
例えば、特許文献１のフラッシュメモリシステムは、図１に示すように、フラッシュメモリ１０と、ホストデバイス４０とを含み、フラッシュメモリ１０は、メモリコントローラ２０とメモリチップ３０とを含む。メモリコントローラ２０は、ホストデバイス４０との間でデータの転送を行うホストインターフェース２２、メモリチップ３０との間でデータの転送を行うメモリインターフェース２４、データ転送やメモリチップの動作を制御するＭＰＵ、プログラムやデータを記憶するＲＯＭ、ＲＡＭなどを備えている。メモリチップ３０は、例えばＮＡＮＤ型フラッシュメモリのチップである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１７５８７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＮＡＮＤ型のフラッシュメモリでは、読出しおよびプログラムはページ単位で行われ、消去はブロック単位で行われる。ホストデバイスは、これらの動作を指示するとき、読み出し、プログラム、消去のためのアドレスをメモリコントローラに出力する。ホストデバイスからのアドレスは論理アドレスであり、メモリコントローラは、この論理アドレスを物理アドレスに変換するため、ＳＲＡＭに保持された変換テーブルを参照する。変換テーブルは、電源投入時に、メモリセルアレイに用意された領域からＳＲＡＭにロードされる。
【０００６】
ホストデバイスは、プログラムを指示するとき、各種制御信号（ＡＬＥ、ＣＬＥ等）に加えて、プログラム命令、書込みデータおよび論理アドレスＬＡＤをメモリコントローラへ出力する。論理アドレスＬＡＤは、論理ブロックアドレスＬＢＡ、論理ページアドレスＬＰＡおよび論理カラムアドレスＬＣＡを含む。メモリコントローラは、上記したように変換テーブルを参照し、論理ブロックアドレスＬＢＡを物理ブロックアドレスＰＢＡに変換し、物理ブロックアドレスＰＢＡで指定されたブロックのページにデータをプログラムする。ブロック内のページは、論理ページアドレスＬＰＡで指定される。
【０００７】
このようなプログラムの最中に、何らかの理由により電源電圧が降下したり、電源が喪失すると、プログラムが途中で中断されることがある。メモリコントローラは、正常にプログラムが終了すれば、Ｒｅａｄｙ信号をホストデバイスに送信し、ホストデバイスは、正常にプログラムが終了したことを認識し、次の動作に備えるが、プログラムが途中で中断された場合には、Ｒｅａｄｙ信号を受け取ることができず（例えば、Ｂｕｓｙ信号のまま）、ホストデバイスは、プログラムを正常に終了できなかったことを認識する。この場合、ホストデバイスは、電源が再投入されたとき、あるいは電源復旧後に、メモリコントローラに対してプログラムのやり直しを指示する。
【０００８】
プログラムのやり直しの場合でも、メモリコントローラは、論理ブロックアドレスを物理ブロックアドレスに変換し、物理ブロックアドレスで指定されたブロックの同一ページにデータをプログラムするが、プログラムが中断されたページに再度データをプログラムするとプログラムの信頼性が低下する。つまり、ＮＡＮＤ型フラッシュメモリのプログラムは、消去状態のメモリセルにデータをプログラムするが、一度、プログラムされたページは必ずしも全てのメモリセルが消去状態にあるわけではないので、プログラムされたデータのしきい値分布幅が期待のものよりも広がる可能性がある。他方、プログラムが中断されたページを含むブロックを消去して再度プログラムをすることも可能であるが、その場合には、ブロックの他のページに格納されているデータを他のブロックに退避させなければならず、煩雑な処理が必要になってしまう。
【０００９】
本発明は、上記したような従来の課題を解決するものであり、プログラムの信頼性を改善する半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る半導体記憶装置は、複数のブロックを含むＮＡＮＤ型のメモリセルアレイと、電源電圧が一定電圧に降下したことを検出する検出手段と、論理アドレスを物理アドレスに変換する変換テーブルを記憶する揮発性メモリと、物理アドレスに従い選択されたブロックのページにデータをプログラムするプログラム手段と、前記プログラム手段によりプログラムされている間に前記検出手段により一定電圧が検出されたとき、プログラムされているブロックおよびページの論理アドレスと、当該論理アドレスを他の物理アドレスに変換するための変換情報を記憶する不揮発性メモリと、前記揮発性メモリの変換テーブルまたは前記不揮発性メモリの変換情報に基づき入力された論理アドレスを物理アドレスに変換する変換手段とを有する。
【００１１】
ある実施態様では、前記他の物理アドレスは、プログラムが中断されたページを退避させるために用意された専用のブロックを選択するためのアドレスである。ある実施態様では、前記他の物理アドレスは、ブロックを選択するためのブロックアドレスと、ページを選択するためのページアドレスとを含む。ある実施態様では、前記検出手段により一定電圧が検出されたことに応答して、前記変換情報を不揮発性メモリに書込む手段を含む。ある実施態様では、前記一定電圧は、半導体記憶装置が動作可能な最小電圧よりも大きい。ある実施態様では、前記書込み手段は、電源電圧が喪失する前、または半導体記憶装置が動作できなくなる前に、前記変換情報を不揮発性メモリに書込む。ある実施態様では、前記不揮発性メモリは、可変抵抗型メモリである。ある実施態様では、前記変換手段は、前記不揮発性メモリの変換情報を先に選択する。ある実施態様では、前記変換手段は、入力された論理アドレスが前記不揮発性メモリに記憶された論理アドレスを比較し、両者が一致する場合には、前記他の物理アドレスに変換する。
【発明の効果】
【００１２】
本発明によれば、プログラムされている間に電源電圧が降下した一定電圧が検出されたとき、プログラムされているブロックおよびページの論理アドレスと、当該論理アドレスを他の物理アドレスに変換するための変換情報を記憶する不揮発性メモリを設けるようにしたので、プログラムをやり直すときに信頼性の高いページにプログラムすることが可能になる。
【図面の簡単な説明】
【００１３】
【図１】従来の半導体メモリの一例を示す図である。
【図２】本発明の実施例に係るフラッシュメモリの全体構成を示す図である。
【図３】本発明の実施例に係るメモリコントローラの内部構成を示すブロック図である。
【図４】本発明の実施例に係るメモリセルアレイのブロックの内部構成を示す図である。
【図５】ＳＲＡＭに保持された変換テーブルによりホストデバイスからの論理アドレスを物理アドレスに変換する動作を説明する図である。
【図６】本発明の実施例に係る電源降下時のプログラムリカバリー動作を説明するフローである。
【図７】図７（Ａ）は、プログラムのターゲットである選択ブロックおよび選択ページを示し、図７（Ｂ）は、ページ退避用ブロックとそのページを示す図である。
【図８】ＲＲＡＭに格納されるプログラムのターゲットの論理アドレスとページ退避用ブロックの物理アドレスを示す図である。
【図９】本発明の実施例に係る電源復旧後に再プログラムをするときの論理アドレスの変換動作を説明するフローである。
【発明を実施するための形態】
【００１４】
次に、本発明の実施の形態について図面を参照して詳細に説明する。本発明のフラッシュメモリは、ＮＡＮＤ型ストリングのメモリセルを有するメモリ装置と、メモリ装置を制御するメモリコントローラとを含んで構成される。メモリコントローラは、メモリ装置を形成するチップと同一のチップ上に形成されてもよいし、異なるチップ上に形成されてもよい。また、フラッシュメモリが複数のチップから構成されるとき、複数のチップは積層されるように構成されてもよい。
【実施例】
【００１５】
図２は、本発明の実施例に係るフラッシュメモリ１００の構成を示す図である。本実施例のフラッシュメモリ１００は、メモリコントローラ２００と、１つまたは複数のＮＡＮＤ型メモリ装置３００とを含んで構成される。メモリコントローラ２００は、ホストデバイスから各種制御信号（コマンドラッチイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥなど）、データ、コマンド等を受け取り、これらの信号等に基づきメモリ装置３００の読出し、プログラム（書込み）、消去等を制御する。また、メモリコントローラ２００は、メモリ装置の動作状態を示すＲｅａｄｙ信号やＢｕｓｙ信号をホストデバイス４０に出力する。
【００１６】
図３に、メモリコントローラ２００の内部構成を示す。本実施例のメモリコントローラ２００は、電圧検出部２１０、書込み／セレクタ２２０、ＳＲＡＭ２３０、ＲＲＡＭ（抵抗変化型メモリ）２４０を含んで構成される。なお、メモリコントローラ２００は、図３に示す構成以外にも、マイクロプロセッサ（ＭＰＵ）やＲＯＭなどを含み、ＲＯＭに格納されたソフトウエアプログラムを実行することで、メモリ装置３００の種々の動作を制御したり、電圧検出部２１０、書込み／セレクタ２２０、ＳＲＡＮ２３０、ＲＲＡＭ２４０の制御を行う。
【００１７】
電圧検出部２１０は、フラッシュメモリ１００あるいはフラッシュメモリ１００を含むシステムに供給される電源電圧Ｖｃｃを監視し、電源電圧Ｖｃｃが一定電圧Ｖｄに降下したか否かを検出する。一定電圧Ｖｄは、フラッシュメモリ１００の動作を保証する最低電圧Ｖｍｉｎよりも高い電圧、またはメモリコントローラ２００が実行するパワーダウンシーケンスのトリガーとなる電圧Ｖｐｗｄより高い電圧に設定される。従って、電源電圧Ｖｃｃが一定電圧Ｖｄに降下した時点で、フラッシュメモリ１００は未だ動作可能であり、また、パワーダウンシーケンスは未だ実行されない。電源電圧Ｖｃｃが電圧Ｖｐｗｄまで降下すると、パワーダウンシーケンスが実行され、例えば、昇圧された電圧が急激に放電されることなく、フラッシュメモリ１００の動作が正常に終了される。電圧検出部２１０は、一定電圧Ｖｄを検出すると、書込み／セレクタ２２０等の各部にアラート信号を出力する。
【００１８】
書込み／セレクタ２２０は、ホストデバイス４０から出力される論理アドレスＬＡＤを受け取ったとき、論理アドレスＬＡＤを物理アドレスＰＤＡに変換する。変換された物理アドレスは、メモリ装置３００をアクセスするために使用される。第１の態様では、書込み／セレクタ２２０は、ＳＲＡＭ２３０に保持された変換テーブルを参照し、論理アドレスＬＤＡを物理アドレスＰＤＡに変換する。第２の態様では、書込み／セレクタ２２０は、入力された論理アドレスＬＡＤがＲＲＡＭ２４０に格納された論理アドレスＬＤＡと一致する場合には、ＲＲＡＭ２４０に格納された変換テーブルに従い、論理アドレスをページ退避用の物理アドレスに変換する。
【００１９】
書込み／セレクタ２２０は、プログラム中に電圧検出部２１０からアラート信号を受け取ると、プログラム中の論理アドレスＬＤＡと、これに関連付けしてページ退避用ブロックの物理アドレスとをＲＲＡＭ２４０に書込む。書込み／セレクタ２２０によりＲＲＡＭ２４０への書込みが行われると、書込み／セレクタ２２０は、第２の態様でＲＲＡＭ２４０の変換テーブルを参照して物理アドレスへの変換を行うことが可能になる。
【００２０】
ＳＲＡＭ２３０は、メモリ装置３００の動作に必要な種々のデータを保持する。例えば、上記した論理アドレスと物理アドレスとの関係を規定する変換テーブル、メモリ装置のブロックの各ページのステータス（データが書込まれている、消去されている、無効であるなど）を表すテーブルである。これらのデータは、電源投入時にパワーオンシーケンスが実行されたとき、メモリ装置３００のメモリセルアレイに用意された領域からロードされる。
【００２１】
ＲＲＡＭ２４０は、可逆的かつ不揮発性の可変抵抗素子にデータを記憶することができる可変抵抗型ランダムアクセスメモリである。ＲＲＡＭ２４０は、ＳＲＡＭ２３０と同様に高速でデータの書きが可能でり、かつ電源が喪失してもデータを保持することができる不揮発性のメモリである。
【００２２】
ＲＲＡＭ２４０は、プログラム中に電圧検出部２１０により電圧Ｖｄが検出されたとき、プログラムのターゲットの論理アドレスＬＡＤとページ退避用の物理アドレスＰＤＡとを格納する。電圧Ｖｄの検出から電源喪失までの時間は非常に短く、それ故、非常に高速な書込みが可能なＲＲＡＭが用いられる。
【００２３】
メモリ装置３００は、ＮＡＮＤ型ストリングから構成される複数のブロックを有するメモリセルアレイ、行アドレス（物理ブロックアドレスＰＢＡ＋論理ページアドレスＬＰＡ）に基づきメモリセルアレイのワード線を選択するワード選択回路、列アドレスに基づきビット線を選択する列選択回路、選択ワード線により読み出されたデータをセンスしたり、プログラムするデータを保持するページバッファ／センス回路等を含む。
【００２４】
１つのブロックには、図４に示すように、複数のメモリセルを直列に接続したＮＡＮＤストリングが行方向にｎ個（例えば、２ＫＢ）配列されている。１つのＮＡＮＤストリングＮＵは、直列に接続された複数のメモリセルMCi(i=１、２、３・・・、６４)と、一方の端部であるメモリセルMC64のドレイン側に接続されたビット線側選択トランジスタTdと、メモリセルMC0のソース側に接続されたソース線側選択トランジスタTsとを含む。ビット線側選択トランジスタTdのドレインは、対応する１つのビット線BLに接続され、ソース線側選択トランジスタTsのソースは、共通のソース線SLに接続される。
【００２５】
読出し動作では、ビット線に或る正の電圧を印加し、選択されたワード線に或る電圧（例えば０Ｖ）を印加し、非選択ワード線にパス電圧（例えば４．５Ｖ）を印加し、選択ゲート線SGD、SGSに正の電圧（例えば４．５Ｖ）を印加し、ビット線側選択トランジスタTd、ソース線側選択トランジスタTsをオンし、共通ソース線SLを０Ｖにする。プログラム動作では、選択されたワード線に高電圧のプログラム電圧（例えば、１５〜２０Ｖ）を印加し、非選択のワード線に中間電位（例えば１０Ｖ）を印加し、ビット線側選択トランジスタTdをオンさせ、ソース線側選択トランジスタTsをオフさせ、データ「０」または「１」に応じた電位をビット線BLに供給する。消去動作では、ブロック内の選択されたワード線に０Ｖを印加し、Ｐウエルに高電圧（例えば２０Ｖ）を印加し、フローティングゲートの電子を基板に引き抜くことで、ブロック単位でデータを消去する。
【００２６】
次に、フラッシュメモリ１００のプログラム動作について説明する。ホストデバイス４０は、フラッシュメモリ１００へのプログラムを行うとき、各種制御信号に加えて、プログラム命令、データ、論理アドレスＬＡＤをフラッシュメモリ１００に出力する。ホストデバイスから入力される論理アドレスＬＡＤは、図５に示すように、論理ブロックアドレスＬＢＡ、論理ページアドレスＬＰＡおよび論理カラムアドレスＬＣＡを含んで構成される。
【００２７】
書込み／セレクタ２２０は、論理アドレスＬＡＤを受け取ると、ＳＲＡＭ２３０に保持された変換テーブルを参照し、論理ブロックアドレスＬＢＡを物理ブロックアドレスＰＢＡに変換する。本例では、メモリ装置３００をアクセスするための行アドレスは１８ビットであり、列アドレスは１２ビットである。行アドレスの上位１２ビットがブロックを指定するアドレスであり、下位６ビットがページを指定するアドレスである。論理ページアドレスＬＰＡおよび論理列アドレスＬＡＣは、変換されることなくそのまま物理アドレスを構成する。こうして、論理アドレスＬＡＤが、メモリ装置をアクセスするための物理アドレスＰＤＡ（＝ＰＢＡ＋ＬＡＰ＋ＬＣＡ）に変換される。
【００２８】
メモリコントローラ２００は、変換された物理アドレスをメモリ装置３００のワード線選択回路や列選択回路に供給し、ワード線選択回路によりブロック／ページが選択され、列選択回路によりビット線が選択され、これにより選択ページの選択メモリセルにデータがプログラムされる。選択メモリセルにプログラム電圧が印加され、選択メモリセルにデータが正常にプログラムされたか否かのプログラムベリファイが行われる。メモリコントローラ２００は、プログラムベリファイが合格であれば、Ｒｅａｄｙ信号をホストデバイス４０に出力し、プログラム中であれば、Ｂｕｓｙ信号をホストデバイス４０に出力する。
【００２９】
次に、プログラム動作中の電源電圧Ｖｃｃが降下したときのリカバリー動作について図６のフローを参照して説明する。メモリコントローラ２００によって選択ページへのプログラムが実行され（Ｓ１００）、その間、電圧検出部２１０は、フラッシュメモリ１００に供給される電源電圧Ｖｃｃを監視し続ける（Ｓ１０２）。電圧検出部２１０が電源電圧Ｖｃｃの降下、すなわち一定電圧Ｖｄを検出すると（Ｓ１０４）、電圧検出部２１０は、その検出に応答してアラート信号を出力する（Ｓ１０６）。
【００３０】
書込み／セレクタ２２０は、アラート信号が出力されると、現在プログラム中の論理ブロックアドレスＬＢＡおよび論理ページアドレスＬＰＡと、これを物理アドレスに変換するためのページ退避用ブロックの物理ブロックアドレスＰＢＡおよび物理ページアドレスＰＰＡとをＲＲＡＭ２４０に書込む（Ｓ１０８）。この書込みは、電源が喪失されるまでに行われる。
【００３１】
この様子を図７を参照して説明する。図７（Ａ）に示すように、選択ブロックＰの選択ページ＃ｎにプログラムが行われているものとする。このとき、電源電圧Ｖｃｃが一定電圧Ｖｄに降下すると、書込み／セレクタ２２０は、ＳＲＡＭに保持されたステータステーブルのブロックＰのページ＃ｎを「Ｉｎｖａｌｉｄ」に書換える。さらに、書込み／セレクタ２２０は、ステータステーブルのページ退避用ブロックを参照し、使用可能なページを識別し、ＲＲＡＭ２４０に、プログラム中の論理ブロックアドレスＬＢＡ、論理ページアドレスＬＰＡと、これを変換するためのページ退避用ブロックの物理ブロックアドレスＰＢＡおよび物理ページアドレスＰＰＡとを書込む。
【００３２】
図７（Ｂ）は、ページ退避用のブロックの一例である。ページ＃０〜＃３は、既に他のページの退避用として使用されており、ページ＃３〜＃３Ｆが使用可能（Ｅｒａｓｅ状態）である。書込み／セレクタ２２０は、ステータステーブルを参照し、ブロックＱの使用可能なページ（この例では、ページ＃３）を識別する。こうして、図８に示すように、プログラム中の論理ブロックアドレスＬＢＡおよび論理ページアドレスＬＰＡと、ページ退避用ブロックＱの物理アドレスＰＢＡとページ＃３の物理ページＰＰＡとがＲＲＡＭ２４０に書込まれる。
【００３３】
メモリコントローラ２００は、ＲＲＡＭ２４０への論理アドレスおよび物理アドレスの書込みが終了された時点で、現在行っているプログラムを中断する（Ｓ１１０）。その後、電源電圧Ｖｃｃがさらに降下すると、パワーダウンシーケンスが開始され、フラッシュメモリ１００の動作が停止される。プログラムが中断された場合、ホストデバイス４０にＲｅａｄｙ信号が出力されないか、あるいはホストデバイス４０にとって認識不能な信号が出力され得る。他方、電源電圧Ｖｃｃが一定電圧Ｖｄに降下しなければ、プログラムは正常に終了され、ホストデバイス４０にＲｅａｄｙ信号が出力される（Ｓ１１２）。
【００３４】
次に、中断したプログラムが再開されるときの動作について図９を参照して説明する。電源電圧Ｖｃｃが復旧すると、フラッシュメモリ１００は、パワーアップシーケンスが実行され、動作可能な状態になる。ホストデバイス４０は、前回のプログラムの指示に対するＲｅａｄｙ信号を受け取っていない場合、プログラムが正常に終了されなかったと認識し、再度のプログラムをフラッシュメモリ１００に指示する。従って、メモリコントローラ２００は、ホストデバイス４０からプログラム命令、論理アドレスＬＤＡ＿ＩＮ、データを受け取る（Ｓ２００）。
【００３５】
書込み／セレクタ２２０は、最初にＲＲＡＭ２４０を選択し、ＲＲＡＭ２４０に格納された論理アドレスＬＡＤ＿ＲＲと入力された論理アドレスＬＤＡ＿ＩＮとを比較する（Ｓ２０２）。両者の論理アドレスが一致する場合には（Ｓ２０４）、書込み／セレクタ２２０は、論理アドレスＬＡＤ＿ＩＮをＲＲＡＭ２４０に格納されたページ退避用ブロックの物理アドレスに変換し（Ｓ２０６）、メモリコントローラ２００は、ページ退避用ブロックのページにプログラムを実行させる（Ｓ２０８）。
【００３６】
他方、論理アドレスＬＡＤ＿ＩＮがＲＲＡＭ２４０に存在しない場合には（Ｓ２０４）、書込み／セレクタ２２０は、次にＳＲＡＭ２２０の変換テーブルを参照し、論理アドレスＬＡＤ＿ＩＮを物理アドレスＰＤＡに変換し（Ｓ２１０）、メモリコントローラ２００は、変換された物理アドレスで指定されたページにプログラムを実行させる（Ｓ２１２）。
【００３７】
このように本実施例によれば、プログラム中に電源電圧の降下等の不具合によりプログラムをやり直す場合に、信頼性の高いプログラムを行うことができる。また、ＲＲＡＭは、ＳＲＡＭと同様に高速でデータの読み書きが可能であるため、電源が完全に喪失する前の非常に限られた時間内で、プログラム中のページのアドレスと退避用ブロックのアドレスとをＲＲＡＭに保持させることができる。
【００３８】
なお、上記実施例では、不揮発性メモリとしてＲＲＡＭを使用したが、ＮＡＮＤ型メモリよりも高速にデータを書込むことができるものであれば、ＲＲＡＭ以外にもＭＲＡＭ（磁性体メモリ）を使用することも可能である。
【００３９】
さらに上記実施例では、ＲＲＡＭに論理アドレスと物理アドレスとを格納したが、ＲＲＡＭにプログラムすべきデータを一緒に格納するようにしてもよい。ＮＡＮＤ型メモリのページのデータサイズは比較的大きいが、このようなデータを、電源が喪失する前にＲＲＡＭに書込むことが可能であれば、退避用ブロックの物理アドレスと一緒に格納し、電源が復旧したときに、ＲＲＡＭに格納されたデータを退避用ブロックの物理アドレスにプログラムするようにしてもよい。この場合には、ＲＲＡＭに、プログラムデータを格納した時点で、Ｒｅａｄｙ信号をホストデバイス４０に出力し、プログラムが正常に終了したことを認識させ、ホストデバイス４０からのプログラムのやり直しを不要にすることが望ましい。
【００４０】
さらに上記実施例では、再プログラムを行うとき、書込み／セレクタ２２０は、先にＲＲＡＭ２４０を選択し、そこで入力された論理アドレスＬＡＤ＿ＩＮと格納された論理アドレスＬＡＤ＿ＭＭとを比較するようにしたが、これ以外にも、ＲＲＡＭ２４０に論理アドレスが格納されている場合にのみＲＲＡＭ２４０を先に選択し、それ以外の場合には、ＳＲＡＭ２３０を選択するようにしてもよい。例えば、メモリコントローラ２００は、プログラムを中断するときに、コントローラ内に不揮発性メモリに、ＲＲＡＭ２４０に論理アドレスの書込みを行ったこと、あるいはプログラムを中断したことを示すフラグ情報を記憶させ、電源復旧後に、そのフラグを参照して、ＲＲＡＭを先に選択するか否かを判定するようにしてもよい。
【００４１】
本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００４２】
１００：フラッシュメモリ
２００：メモリコントローラ
２１０：電圧検出部
２２０：書込み／セレクタ
２３０：ＳＲＡＭ
２４０：ＲＲＡＭ
３００：メモリ装置
【図１】
2020123023.tif 000003
【図２】
2020123023.tif 000004
【図３】
2020123023.tif 000005
【図４】
2020123023.tif 000006
【図５】
2020123023.tif 000007
【図６】
2020123023.tif 000008
【図７】
2020123023.tif 000009
【図８】
2020123023.tif 000010
【図９】
2020123023.tif 000011
【手続補正書】
【提出日】令和2年4月14日(2020.4.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のブロックを含むＮＡＮＤ型のメモリセルアレイと、
電源電圧が一定電圧に降下したことを検出する検出手段と、
論理アドレスを物理アドレスに変換する変換テーブルを記憶する揮発性メモリと、
物理アドレスに従い選択されたブロックのページにデータをプログラムするプログラム手段と、
前記プログラム手段によりプログラムされている間に前記検出手段により一定電圧が検出されたとき、プログラムされているブロックおよびページの論理アドレスと、当該論理アドレスを他の物理アドレスに変換するための変換情報を記憶する不揮発性メモリと、
前記揮発性メモリの変換テーブルまたは前記不揮発性メモリの変換情報に基づき入力された論理アドレスを物理アドレスに変換する変換手段と、
を有する半導体記憶装置。
【請求項２】
前記他の物理アドレスは、プログラムが中断されたページを退避させるために用意された専用のブロックを選択するためのアドレスである、請求項１に記載の半導体記憶装置。
【請求項３】
前記他の物理アドレスは、ブロックを選択するためのブロックアドレスと、ページを選択するためのページアドレスとを含む、請求項１または２に記載の半導体記憶装置。
【請求項４】
前記検出手段により一定電圧が検出されたことに応答して、前記変換情報を不揮発性メモリに書込む手段を含む、請求項１に記載の半導体記憶装置。
【請求項５】
前記一定電圧は、半導体記憶装置が動作可能な最小電圧よりも大きい、請求項１ないし４いずれか１つに記載の半導体記憶装置。
【請求項６】
前記書込む手段は、電源電圧が喪失する前、または半導体記憶装置が動作できなくなる前に、前記変換情報を不揮発性メモリに書込む、請求項４に記載の半導体記憶装置。
【請求項７】
前記不揮発性メモリは、可変抵抗型メモリである、請求項１に記載の半導体記憶装置。
【請求項８】
前記変換手段は、前記不揮発性メモリの変換情報を先に選択する、請求項１に記載の半導体記憶装置。
【請求項９】
前記変換手段は、入力された論理アドレスと前記不揮発性メモリに記憶された論理アドレスを比較し、両者が一致する場合には、前記他の物理アドレスに変換する、請求項８に記載の半導体記憶装置。