(57)【要約】      （修正有）【課題】書き込み動作及び消去動作が制限された状態においてもメモリのデータを消去し且つパワーサイクルによらず消去状態を維持する。【解決手段】メモリシステム１は、外部から入力された第１データを保持可能な第１領域１１０及び第１データと異なる第２データを保持可能な第２領域１２０を含む不揮発性メモリ１００と、揮発性メモリ２２０を有し、不揮発性メモリ及び揮発性メモリを制御するコントローラ２００とを含む。コントローラ２００は、第２データに基づいて、第１データの消去要求に付された第１アドレスと第１領域のある一部を特定する第２アドレスとを関連づける第３データを揮発性メモリ２２０から消去する。【選択図】図１
2019211861.tif 000002
【特許請求の範囲】
【請求項１】
外部から入力された第１データを保持可能な第１領域及び前記第１データと異なる第２データを保持可能な第２領域を含む不揮発性メモリと、
揮発性メモリと、
前記不揮発性メモリ及び前記揮発性メモリを制御するコントローラと
を備え、前記コントローラは、
前記第２データに基づいて、前記第１データの消去要求に付された第１アドレスと前記第１領域のある一部を特定する第２アドレスとを関連づける第３データを前記揮発性メモリから消去する、
メモリシステム。
【請求項２】
前記コントローラは、外部から前記消去要求を受信すると、前記揮発性メモリから前記第３データを消去し、前記第２データを前記第２領域に書き込むように前記不揮発性メモリに指示する、
前記請求項１に記載のメモリシステム。
【請求項３】
前記不揮発性メモリは、書き込み動作及び消去動作を制限する第１モードと前記書き込み動作及び前記消去動作を制限しない第２モードとを有し、
前記コントローラは、前記第１モードの場合、前記第２データの書き込みを指示し、前記２モードの場合、前記不揮発性メモリ内に保持された前記第３データの消去を指示する、
請求項２に記載のメモリシステム。
【請求項４】
前記第２領域は、前記第２データを保持する第３領域と、前記第３データを保持する第４領域とを含む、
請求項１乃至３のいずれか一項に記載のメモリシステム。
【請求項５】
前記不揮発性メモリは、ＮＡＮＤ型フラッシュメモリである、
請求項１乃至４のいずれか一項に記載のメモリシステム。
【請求項６】
外部から入力された第１データを保持可能な第１領域及び前記第１データと異なる第２データを保持可能な第２領域を含む不揮発性メモリと、
揮発性メモリと、
前記不揮発性メモリ及び前記揮発性メモリを制御するコントローラと
を備え、前記コントローラは、
前記第２データに基づいて、前記第１データの消去要求に付された第１アドレスと前記第１領域のある一部を特定する第２アドレスとを関連づける第３データを、前記不揮発性メモリから読み出して前記揮発性メモリに保持する、
メモリシステム。
【請求項７】
外部から入力された第１データを保持可能な第１領域を含む第１不揮発性メモリと、
前記第１データと異なる第２データを保持可能な第２領域を含む第２不揮発性メモリと、
揮発性メモリと、
前記第１及び第２不揮発性メモリ及び前記揮発性メモリを制御するコントローラと
を備え、前記コントローラは、
前記第２データに基づいて、前記第１データの消去要求に付された第１アドレスと前記第１領域のある一部を特定する第２アドレスとを関連づける第３データを前記揮発性メモリから消去する、
メモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、メモリシステムに関する。
【背景技術】
【０００２】
半導体記憶装置としてＮＡＮＤ型フラッシュメモリを用いたメモリシステムが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５００２７１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
書き込み動作及び消去動作が制限された状態においてもメモリのデータを消去でき且つパワーサイクルによらず消去状態を維持できるメモリシステムを提供する。
【課題を解決するための手段】
【０００５】
実施形態に係るメモリシステムは、外部から入力された第１データを保持可能な第１領域及び第１データと異なる第２データを保持可能な第２領域を含む不揮発性メモリと、揮発性メモリと、不揮発性メモリ及び揮発性メモリを制御するコントローラとを含む。コントローラは、第２データに基づいて、第１データの消去要求に付された第１アドレスと第１領域のある一部を特定する第２アドレスとを関連づける第３データを揮発性メモリから消去する。
【図面の簡単な説明】
【０００６】
【図１】図１は、第１実施形態に係るメモリシステムのブロック図である。
【図２】図２は、第１実施形態に係るメモリシステムの備えるメモリのブロック図である。
【図３】図３は、第１実施形態に係るメモリシステムの備えるメモリにおけるメモリセルアレイの回路図である。
【図４】図４は、第１実施形態に係るメモリシステムの立ち上げ動作を示す図である。
【図５】図５は、第１実施形態に係るメモリシステムの立ち上げ動作を示す図である。
【図６】図６は、第１実施形態に係るメモリシステムの立ち上げ動作を示す図である。
【図７】図７は、第２実施形態に係るメモリシステムの立ち上げ動作を示す図である。
【図８】図８は、第３実施形態に係るメモリシステムのブロック図である。
【発明を実施するための形態】
【０００７】
以下に、実施形態について図面を参照して説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は省略する場合がある。また、以下に示す各実施形態は、この実施形態の技術的思想を具体化するための装置や方法を例示するものであって、実施形態の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものでない。実施形態の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
【０００８】
１．第１実施形態
第１実施形態に係るメモリシステムについて説明する。以下では、半導体記憶装置として、ＮＡＮＤ型フラッシュメモリを用いた場合を例に挙げて説明する。なお、図１では各ブロック間の接続の一部を矢印線で示しているが、ブロック間の接続はこれに限定されない。
【０００９】
１．１  構成について
１．１．１  メモリシステムの全体構成
まず、メモリシステムの全体構成について、図１を用いて説明する。
【００１０】
図１に示すように、メモリシステム１は、不揮発性の半導体メモリ１００（以下、「メモリ」と表記する）及びコントローラ２００を備えている。コントローラ２００及びメモリ１００は、例えばそれらの組み合わせにより一つの半導体記憶装置を構成してもよく、その例としてはＳＤＴＭカードのようなメモリカードや、ＳＳＤ（solid state drive）等が挙げられる。
【００１１】
コントローラ２００は、メモリ１００のメモリ空間を管理する。また、コントローラ２００は、ホスト機器２からの命令（要求）に応答して、メモリ１００に対してユーザデータの読み出し動作、書き込み動作、及び消去動作等を命令する。
【００１２】
より具体的には、例えば、コントローラ２００は、ホスト機器２から読み出し命令を受信すると、メモリ１００から、論理アドレスと物理アドレスとを関連付けたデータ（以下、「論物変換データ」）が格納されたテーブル（以下、「ルックアップテーブルＬＵＴ」と呼ぶ）、または読み出し対象の論理アドレスに対応するルックアップテーブルＬＵＴの一部を読み出す。論理アドレスは、ホスト機器２からアクセス（読み出し動作、書き込み動作、及び消去動作等）を要求されたユーザデータに付される。物理アドレスは、メモリ１００のメモリ空間のある一部を特定する。そして、コントローラ２００は、読み出したルックアップテーブルＬＵＴを用いて、論理アドレスを物理アドレスに変換した後、メモリ１００に読み出し命令を送信する。
【００１３】
また、コントローラ２００は、ホスト機器２から書き込み命令を受信した場合、コントローラ２００内のルックアップテーブルＬＵＴを更新して論理アドレスに対応する物理アドレスを新規に割り当てた後、メモリ１００に書き込み命令を送信する。そして、コントローラ２００は、任意のタイミングでメモリ１００内のルックアップテーブルＬＵＴを更新する。
【００１４】
また、コントローラ２００は、ホスト機器２から大まかに２つのモードの消去命令を受信する。１つは、消去対象の論理アドレスに対応する論物変換データを消去し（以下、「論物消去」と呼ぶ）、メモリ１００内のユーザデータを、システム上読み出せなくする論物消去命令である。論物消去の場合、メモリ１００内にユーザデータは残ったままの状態となっている。もう１つは、論物消去に加えて、メモリ１００内のユーザデータを物理的に消去する（以下、「物理消去」と呼ぶ）命令である。物理消去の場合、メモリ１００内のユーザデータも消去される。
【００１５】
コントローラ２００は、ホストインターフェイス回路２１０、内蔵メモリ（ＲＡＭ）２２０、プロセッサ（ＣＰＵ）２３０、バッファメモリ２４０、メモリインターフェイス回路２５０、及びＥＣＣ回路２６０を含む。
【００１６】
ホストインターフェイス回路２１０は、コントローラバスを介してホスト機器２と接続され、ホスト機器２との通信を司る。ホストインターフェイス回路２１０は、ＣＰＵ２３０及びバッファメモリ２４０に、ホスト機器２から受信した命令及びユーザデータを転送する。また、ホストインターフェイス回路２１０は、ＣＰＵ２３０の命令に応答して、バッファメモリ２４０内のユーザデータをホスト機器２へ転送する。
【００１７】
メモリインターフェイス回路２５０は、バスを介してメモリ１００と接続され、メモリ１００との通信を司る。メモリインターフェイス回路２５０は、ＣＰＵ２３０からの指示（制御信号）をメモリ１００が認識可能な形態で送信する。更に、メモリインターフェイス回路２５０は、メモリ１００と信号ＤＱの送受信を行う。信号ＤＱには、例えばデータ、アドレス、及びコマンドが含まれる。より具体的には、メモリインターフェイス回路２５０は、書き込み動作時には、メモリ１００に、バッファメモリ２４０内の書き込みデータを転送する。更に、メモリインターフェイス回路２５０は、読み出し動作時には、バッファメモリ２４０に、メモリ１００から読み出されたデータを転送する。
【００１８】
ＣＰＵ２３０は、コントローラ２００全体の動作を制御する。また、ＣＰＵ２３０は、ホスト機器２の命令に応じて、各種コマンドを発行し、メモリ１００に送信する。例えば、ＣＰＵ２３０は、ホスト機器２から書き込み命令を受信した際には、それに応答して、メモリ１００に書き込み命令を送信する。読み出し動作及び消去動作の際も同様に、ＣＰＵ２３０は、ホスト機器２から受信した命令に応答して、メモリ１００に各種命令を送信する。また、ＣＰＵ２３０は、ウェアレベリング等、メモリ１００を管理するための様々な処理を実行する。更に、ＣＰＵ２３０は、各種の演算を実行する。
【００１９】
また、ＣＰＵ２３０は、論物変換データに基づいて論理アドレスと物理アドレスとを互いに変換する。更に、ＣＰＵ２３０は、ルックアップテーブルＬＵＴを管理し、ルックアップテーブルＬＵＴ内への論物変換データの格納及び消去を行う。
【００２０】
ＥＣＣ回路２６０は、データの誤り訂正（ＥＣＣ：Error Checking and Correcting）処理を実行する。
【００２１】
ＲＡＭ２２０は、例えばＤＲＡＭ等の揮発性の半導体メモリであり、ＣＰＵ２３０の作業領域として使用される。そしてＲＡＭ２２０は、メモリ１００を管理するためのファームウェアや、各種の管理テーブル等を保持する。また、ＲＡＭ２２０は、メモリ１００から読み出されたルックアップテーブルＬＵＴを一時的に保持する。なお、ＲＡＭは、コントローラ２００の外部に設けられていてもよい。
【００２２】
バッファメモリ２４０は、メモリ１００に書き込まれるデータ（書き込みデータ）、及びメモリ１００から読み出されたデータ（読み出しデータ）等を保持する。
【００２３】
メモリ１００は、複数ビットからなる特定の書き込み単位でデータの書き込み動作及び読み出し動作を行う。更に、メモリ１００は、複数の書き込み単位からなる消去単位でデータを消去する。例えば、メモリ１００は１つまたは複数の不揮発性メモリからなる。本実施形態では、メモリ１００が、１つのＮＡＮＤ型フラッシュメモリにより構成されている場合について説明する。なお、メモリ１００は、複数のＮＡＮＤ型フラッシュメモリにより構成されていてもよく、他の不揮発性メモリにより構成されていてもよい。また、ＮＡＮＤ型フラッシュメモリは、メモリセルトランジスタが半導体基板上方に三次元に積層された三次元積層型ＮＡＮＤ型フラッシュメモリであってもよく、半導体基板上にメモリセルトランジスタが二次元に配置された平面型ＮＡＮＤ型フラッシュメモリでもよい。メモリ１００の構成の詳細については後述する。
【００２４】
メモリ１００は、メモリの空間領域として大まかにユーザ領域１１０及び管理領域１２０を含む。
【００２５】
ユーザ領域１１０は、ホスト機器２から受信したユーザデータの書き込み動作及び読み出し動作に使用される領域である。
【００２６】
管理領域１２０は、例えば、メモリ１００における制御プログラム、ルックアップテーブルＬＵＴ、または、各種設定パラメータ等のメモリシステム１の根幹に関わる管理用データが保存される領域である。管理領域１２０は、ＬＵＴ領域１２１とＬＵＴ初期化情報領域１２２とを含む。
【００２７】
ＬＵＴ領域は、ルックアップテーブルＬＵＴが保存される領域である。
【００２８】
ＬＵＴ初期化情報領域１２２は、例えば消去動作（論理消去）によりＲＡＭ２２０に保存されているルックアップテーブルＬＵＴが初期化された場合に、そのことを意味する情報（以下、「ＬＵＴ初期化情報」と呼ぶ）が保存される領域である。ＬＵＴ初期化情報は、例えば数バイト程度の比較的サイズの小さいデータである。
【００２９】
例えば、メモリ１００に不具合が発生した場合、または書き込み／消去サイクルが規定数に達した場合等に、メモリシステム１は、メモリ１００への書き込み動作及び消去動作を制限し、読み出し動作を実行可能とするモード（以下、「リードオンリーモード」と呼ぶ）に移行する場合がある。例えば、ユーザは、リードオンリーモードに移行すると、交換または不具合調査等のためにメモリ１００を取り外すことがある。このとき、ユーザは、機密保持のためメモリ１００内のユーザデータを全て消去し、メモリ１００を無効化する（以下、「サニタイズ」と呼ぶ）ことがある。しかし、リードオンリーモード時には、比較的データサイズの大きいデータ（ユーザデータ及びルックアップテーブルＬＵＴ等）の不揮発化、すなわち書き込み動作及び消去動作ができない。このため、本実施形態では、リードオンリーモード時にメモリ１００のサニタイズを行う場合、ＲＡＭ２２０に保存されているルックアップテーブルＬＵＴを初期化し、比較的サイズの小さいデータであるＬＵＴ初期化情報をメモリ１００に保存する。そして、電源のオン／オフを繰り返すパワーサイクルにおいて、電源をオンする毎に、ＬＵＴ初期化情報に基づいて論理消去、すなわちルックアップテーブルＬＵＴの初期化を実行し、ユーザデータが消去された状態を維持する。
【００３０】
１．１．２  メモリの構成
次に、メモリ１００の構成について、図２を用いて説明する。なお、図２では各ブロック間の接続の一部を矢印線で示しているが、ブロック間の接続はこれに限定されない。
【００３１】
図２に示すように、メモリ１００（ＮＡＮＤ型フラッシュメモリ）は、入出力回路１０、ロジック制御回路１１、ステータスレジスタ１２、アドレスレジスタ１３、コマンドレジスタ１４、シーケンサ１５、レディ／ビジー回路１６、電圧発生回路１７、メモリセルアレイ１８、ロウデコーダ１９、センスアンプ２０、データレジスタ２１、及びカラムデコーダ２２を含む。
【００３２】
入出力回路１０は、コントローラ２００との信号ＤＱの入出力を制御する。図２の例では、８ビットの信号ＤＱ０〜ＤＱ７が入出力される。入出力回路１０は、コントローラ２００から受信したデータＤＡＴ（書き込みデータＷＤ）を、データレジスタ２１に送信し、アドレスＡＤＤをアドレスレジスタ１３に送信し、コマンドＣＭＤをコマンドレジスタ１４に送信する。また、入出力回路１０は、ステータスレジスタ１２から受信したステータス情報ＳＴＳ、データレジスタ２１から受信したデータＤＡＴ（読み出しデータＲＤ）、及びアドレスレジスタ１３から受信したアドレスＡＤＤをコントローラ２００に送信する。
【００３３】
ロジック制御回路１１は、コントローラ２００から制御信号として、例えばチップイネーブル信号ＣＥｎ、コマンドラッチイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥ、ライトイネーブル信号ＷＥｎ、及びリードイネーブル信号ＲＥｎを受信する。そしてロジック制御回路１１は、受信した信号に応じて、入出力回路１０及びシーケンサ１５を制御する。
【００３４】
チップイネーブル信号ＣＥｎは、ＮＡＮＤ型フラッシュメモリをイネーブルにするための信号である。コマンドラッチイネーブル信号ＣＬＥは、信号ＤＱがコマンドであることを示す信号である。アドレスラッチイネーブル信号ＡＬＥは、信号ＤＱがアドレスであることを示す信号である。ライトイネーブル信号ＷＥｎは、受信した信号をＮＡＮＤ型フラッシュメモリ内へ取り込むための信号である。リードイネーブル信号ＲＥｎは、コントローラ２００が、ＮＡＮＤ型フラッシュメモリからデータを読み出すための信号である。
【００３５】
ステータスレジスタ１２は、例えばデータの書き込み動作、読み出し動作、及び消去動作におけるステータス情報ＳＴＳを一時的に保持し、コントローラ２００に動作が正常に終了したか否かを通知する。
【００３６】
アドレスレジスタ１３は、入出力回路１０を介してコントローラ２００から受信したアドレスＡＤＤを一時的に保持する。そしてアドレスレジスタ１３は、ロウアドレスＲＡをロウデコーダ１９へ転送し、カラムアドレスＣＡをカラムデコーダ２２に転送する。
【００３７】
コマンドレジスタ１４は、入出力回路１０を介してコントローラ２００から受信したコマンドＣＭＤを一時的に保存し、シーケンサ１５に転送する。
【００３８】
シーケンサ１５は、ＮＡＮＤ型フラッシュメモリ全体の動作を制御する。より具体的には、シーケンサ１５は、コマンドレジスタ１４が保持するコマンドＣＭＤに応じて、例えばステータスレジスタ１２、レディ／ビジー回路１６、電圧発生回路１７、ロウデコーダ１９、センスアンプ２０、データレジスタ２１、及びカラムデコーダ２２等を制御し、書き込み動作、読み出し動作、及び消去動作等を実行する。
【００３９】
レディ／ビジー回路１６は、シーケンサ１５の動作状況に応じて、レディ／ビジー信号Ｒ／Ｂｎをコントローラ２００に送信する。レディ／ビジー信号Ｒ／Ｂｎは、ＮＡＮＤ型フラッシュメモリがビジー状態であるかレディ状態であるか（コントローラ２００からコマンドを受信不可能な状態か可能な状態か）を示す信号である。
【００４０】
電圧発生回路１７は、シーケンサ１５の制御に応じて、書き込み動作、読み出し動作、及び消去動作に必要な電圧を発生させ、この発生した電圧を例えばメモリセルアレイ１８、ロウデコーダ１９、及びセンスアンプ２０等に供給する。ロウデコーダ１９及びセンスアンプ２０は、電圧発生回路１７より供給された電圧をメモリセルアレイ１８内のメモリセルトランジスタに印加する。
【００４１】
メモリセルアレイ１８は、ロウ及びカラムに対応付けられた不揮発性のメモリセルトランジスタ（以下、「メモリセル」とも表記する）を含む複数のブロックＢＬＫ（ＢＬＫ０、ＢＬＫ１、…、ＢＬＫ（Ｌ−１））（Ｌは２以上の整数）を備えている。各々のブロックＢＬＫは、複数のストリングユニットＳＵ（ＳＵ０、ＳＵ１、ＳＵ２、ＳＵ３、…）を含む。そして各々のストリングユニットＳＵは、複数のＮＡＮＤストリングＳＲを含む。なお、メモリセルアレイ１８内のブロックＢＬＫ数及びブロックＢＬＫ内のストリングユニットＳＵ数は任意である。メモリセルアレイ１８の詳細については後述する。
【００４２】
ロウデコーダ１９は、ロウアドレスＲＡをデコードする。ロウデコーダ１９は、デコード結果に基づき、ブロックＢＬＫのいずれかを選択し、更にいずれかのストリングユニットＳＵを選択する。そして、ロウデコーダ１９は、必要な電圧をブロックＢＬＫに印加する。
【００４３】
センスアンプ２０は、読み出し動作のときには、メモリセルアレイ１８から読み出されたデータをセンスする。そして、センスアンプ２０は、読み出しデータＲＤをデータレジスタ２１に送信する。また、センスアンプ２０は、書き込み動作のときには、書き込みデータＷＤをメモリセルアレイ１８に送信する。
【００４４】
データレジスタ２１は、複数のラッチ回路を備える。ラッチ回路は、書き込みデータＷＤ及び読み出しデータＲＤを保持する。例えば書き込み動作において、データレジスタ２１は、入出力回路１０から受信した書き込みデータＷＤを一時的に保持し、センスアンプ２０に送信する。また例えば、読み出し動作において、データレジスタ２１は、センスアンプ２０から受信した読み出しデータＲＤを一時的に保持し、入出力回路１０に送信する。
【００４５】
カラムデコーダ２２は、例えば書き込み動作、読み出し動作、及び消去動作の際、カラムアドレスＣＡをデコードし、デコード結果に応じてデータレジスタ２１内のラッチ回路を選択する。
【００４６】
１．１．３  メモリセルアレイの構成  
次に、メモリセルアレイ１８の構成について、図３を用いて説明する。図３の例は、ブロックＢＬＫ０を示しているが、他のブロックＢＬＫの構成も同じである。
【００４７】
図３に示すように、ブロックＢＬＫ０は、例えば４つのストリングユニットＳＵ（ＳＵ０〜ＳＵ３）を含む。そして、各々のストリングユニットＳＵは、複数のＮＡＮＤストリングＳＲを含む。ＮＡＮＤストリングＳＲの各々は、例えば８個のメモリセルトランジスタＭＴ０〜ＭＴ７、並びに選択トランジスタＳＴ１及びＳＴ２を含んでいる。以下、メモリセルトランジスタＭＴ０〜ＭＴ７を限定しない場合は、メモリセルトランジスタＭＴと表記する。メモリセルトランジスタＭＴは、制御ゲートと電荷蓄積層とを備え、データを不揮発に保持する。
【００４８】
なお、メモリセルトランジスタＭＴは、電荷蓄積層に絶縁膜を用いたＭＯＮＯＳ型であっても良いし、電荷蓄積層に導電層を用いたＦＧ型であっても良い。また、メモリセルトランジスタＭＴの個数は８個に限られず、１６個や３２個、６４個、９６個、１２８個等であってもよく、その数は限定されるものではない。更に、選択トランジスタＳＴ１及びＳＴ２の個数は、任意であり、それぞれ１個以上あれば良い。
【００４９】
メモリセルトランジスタＭＴは、選択トランジスタＳＴ１のソースと選択トランジスタＳＴ２のドレインとの間に直列接続されている。より具体的には、メモリセルトランジスタＭＴ０〜ＭＴ７は、その電流経路が直列に接続される。そしてメモリセルトランジスタＭＴ７のドレインは、選択トランジスタＳＴ１のソースに接続され、メモリセルトランジスタＭＴ０のソースは、選択トランジスタＳＴ２のドレインに接続されている。
【００５０】
ストリングユニットＳＵ０〜ＳＵ３の各々における選択トランジスタＳＴ１のゲートは、選択ゲート線ＳＧＤ０〜ＳＧＤ３にそれぞれ接続される。同様に、ストリングユニットＳＵ０〜ＳＵ３の各々における選択トランジスタＳＴ２のゲートは、選択ゲート線ＳＧＳ０〜ＳＧＳ３にそれぞれ接続される。以下、選択ゲート線ＳＧＤ０〜ＳＧＤ３を限定しない場合は、選択ゲート線ＳＧＤと表記する。選択ゲート線ＳＧＳ０〜ＳＧＳ３を限定しない場合は、選択ゲート線ＳＧＳと表記する。なお、各ストリングユニットＳＵの選択ゲート線ＳＧＳ０〜ＳＧＳ３は共通に接続されても良い。
【００５１】
ブロックＢＬＫ内にあるメモリセルトランジスタＭＴ０〜ＭＴ７の制御ゲートは、それぞれワード線ＷＬ０〜ＷＬ７に共通接続される。以下、ワード線ＷＬ０〜ＷＬ７を限定しない場合は、ワード線ＷＬと表記する。
【００５２】
ストリングユニットＳＵ内にある各ＮＡＮＤストリングＳＲの選択トランジスタＳＴ１のドレインは、それぞれ異なるビット線ＢＬ０〜ＢＬ（Ｎ−１）（Ｎは２以上の整数）に接続される。以下、ビット線ＢＬ０〜ＢＬ（Ｎ−１）を限定しない場合は、ビット線ＢＬと表記する。各ビット線ＢＬは、複数のブロックＢＬＫ間で各ストリングユニットＳＵ内にある１つのＮＡＮＤストリングＳＲを共通に接続する。更に、複数の選択トランジスタＳＴ２のソースは、ソース線ＳＬに共通に接続されている。つまり、ストリングユニットＳＵは、異なるビット線ＢＬに接続され、且つ同一の選択ゲート線ＳＧＤ及びＳＧＳに接続されたＮＡＮＤストリングＳＲの集合体である。またブロックＢＬＫは、ワード線ＷＬを共通にする複数のストリングユニットＳＵの集合体である。そしてメモリセルアレイ１８は、ビット線ＢＬを共通にする複数のブロックＢＬＫの集合体である。
【００５３】
データの書き込み動作及び読み出し動作は、いずれかのストリングユニットＳＵにおけるいずれかのワード線ＷＬに接続されたメモリセルトランジスタＭＴに対して、一括して行われる。以下、データの書き込み動作及び読み出し動作の際、一括して選択されるメモリセルトランジスタＭＴの群を「メモリセルグループＭＣＧ」と呼ぶ。そして、１つのメモリセルグループＭＣＧに書き込まれる、または読み出される各メモリセルトランジスタＭＴの１ビットのデータの集まりを「ページ」と呼ぶ。
【００５４】
メモリ１００がＮＡＮＤ型フラッシュメモリである場合、メモリセルトランジスタＭＴは２つ以上の閾値電圧の異なる状態を取り得る、つまり１つのメモリセルトランジスタＭＴが多値（多ビット）を記憶できるようにメモリ１００が構成されていても良い。そのような多値を記憶可能なメモリセルトランジスタＭＴの場合、１つのワード線ＷＬに複数ページが割り当てられる。
【００５５】
データの消去動作は、ブロックＢＬＫ単位で一括して行うことができる。
【００５６】
例えば、上記構成のメモリセルアレイ１８において、いずかのブロックＢＬＫまたはいずれかのストリングユニットＳＵが管理領域１２０に割り当てられてもよい。
【００５７】
１．２  メモリのサニタイズの流れ
次に、メモリ１００をサニタイズする際のホスト機器２とメモリシステム１とのアクセスについて、図４〜図６を用いて説明する。図４は、メモリシステム１の電源を立ち下げるまでのフローチャートを示しており、図５及び図６は、メモリシステム１の電源を立ち上げる際のフローチャートを示している。
【００５８】
図４に示すように、まずホスト機器２は、ユーザデータの消去系コマンド（例えばメモリ１００の初期化コマンド）を発行し、コントローラ２００に送信する（ステップＳ１０）。
【００５９】
ＣＰＵ２３０は、ホスト機器２からコマンドを受信すると、論理消去を実行し、ＲＡＭ２２０内に保存されているルックアップテーブルＬＵＴを初期化する（ステップＳ１１）。すなわち、ルックアップテーブルＬＵＴ内の論物変換データが全て消去される。
【００６０】
次に、ＣＰＵ２３０は、メモリ１００がリードオンリーモードではない場合（ステップＳ１２＿Ｎｏ）、すなわち、書き込み動作及び消去動作に制限のない通常動作モードにある場合、メモリ１００のＬＵＴ領域１２１内に保存されているＬＵＴを初期化するためのコマンドを発行し、メモリインターフェイス回路２５０を介してメモリ１００にそのコマンドを送信する（ステップＳ１３）。
【００６１】
メモリ１００は、コマンドを受信すると、消去動作を実行し、ＬＵＴ領域１２１内のルックアップテーブルＬＵＴを初期化する（ステップＳ１４）。
【００６２】
他方で、ＣＰＵ２３０は、リードオンリーモードにある場合（ステップＳ１２＿Ｙｅｓ）、メモリ１００にＬＵＴ初期化情報を送信する（ステップＳ１５）。
【００６３】
メモリ１００は、ＬＵＴ初期化情報領域１２２内にＬＵＴ初期化情報を保存する（ステップＳ１６）。
【００６４】
ＣＰＵ２３０は、論理消去が終了すると論理消去が正常に終了した旨を知らせるために、ホスト機器２に、ユーザデータの消去系コマンドに対する応答（以下、「コマンド応答」と呼ぶ）を送信する（ステップＳ１７）。
【００６５】
ホスト機器２は、コマンド応答を確認した後（ステップＳ１８）、コントローラ２００にパワーオフ要求を送信する（ステップＳ１９）。
【００６６】
ＣＰＵ２３０は、パワーオフ要求に従い、立ち下げ動作を実行する（ステップＳ２０）。
【００６７】
次に、メモリシステム１の立ち上げ動作について説明する。
【００６８】
図５に示すように、まずホスト機器２は、コントローラ２００にパワーオン要求を送信する（ステップＳ２１）。
【００６９】
ＣＰＵ２３０は、パワーオン要求に従い、立ち上げ動作を開始する（ステップＳ２２）。
【００７０】
ＣＰＵ２３０は、メモリ１００からルックアップテーブルＬＵＴを読み出すためのコマンドを発行し、メモリ１００にそのコマンドを送信する（ステップＳ２３）。
【００７１】
メモリ１００は、コマンドを受信すると、ＬＵＴ領域１２１からルックアップテーブルＬＵＴを読み出し、コントローラ２００に送信する（ステップＳ２４）。
【００７２】
ＣＰＵ２３０は、メモリ１００から読み出されたルックアップテーブルＬＵＴをＲＡＭ２２０内に保存する（ステップＳ２５）。
【００７３】
ＣＰＵ２３０は、リードオンリーモードにある場合（ステップＳ２６＿Ｙｅｓ）、ＬＵＴ初期化情報を確認し（ステップＳ２７）、ＲＡＭ２２０に保存されたルックアップテーブルＬＵＴの初期化が必要か確認する。より具体的には、ＣＰＵ２３０は、メモリ１００からＬＵＴ初期化情報を読み出すためのコマンドを発行し、メモリ１００にそのコマンドを送信する。メモリ１００は、コマンドに基づいてＬＵＴ初期化情報領域１２２からＬＵＴ初期化情報を読み出し、コントローラ２００に送信する（ステップＳ２８）。
【００７４】
ＣＰＵ２３０は、ＬＵＴ初期化情報にルックアップテーブルＬＵＴの初期化を実行したことを示す情報が含まれている場合（ステップＳ２９＿Ｙｅｓ）、ＲＡＭ２２０に保存されているルックアップテーブルＬＵＴの初期化を行う。
【００７５】
また、ＣＰＵ２３０は、ステップＳ２６においてリードオンリーモードではない場合（ステップＳ２６＿Ｎｏ）、ステップＳ２９においてＬＵＴ初期化情報にルックアップテーブルＬＵＴの初期化を実行したことを示す情報が含まれていない場合（ステップＳ２９＿Ｎｏ）、またはステップＳ３０においてルックアップテーブルＬＵＴの初期化が終了した後、ホスト機器２に、パワーオン要求に対する応答（以下、「パワーオン応答」と呼ぶ）を送信する（ステップＳ３１）。
【００７６】
ホスト機器２は、パワーオン応答を確認し、立ち上げ動作が正常に終了した旨を確認する（ステップＳ３２）。
【００７７】
図６に示すように、ホスト機器２は、立ち上げ動作が終了したことを確認した後、例えばユーザデータが消去されていることを確認するために、ユーザデータの読み出し系コマンドを発行し、コントローラ２００に送信する（ステップＳ３３）。
【００７８】
ＣＰＵ２３０は、コマンドを受信すると（ステップＳ３４）、ＲＡＭ２２０内のルックアップテーブルＬＵＴを参照し、初期化されているか確認する。
【００７９】
ＲＡＭ２２０内のルックアップテーブルＬＵＴが初期化されていない場合（ステップＳ３５＿Ｎｏ）、ＣＰＵ２３０はユーザデータの読み出しコマンドを発行し、メモリ１００にそのコマンドを送信する（ステップＳ３６）。
【００８０】
メモリ１００は、コマンドに従い、ユーザ領域１１０からユーザデータを読み出すと、コントローラ２００に送信する（ステップＳ３７）。ＣＰＵ２３０は、メモリ１００から受信した読み出しデータをバッファメモリ２４０に保存する。
【００８１】
他方で、ＲＡＭ２２０内のルックアップテーブルＬＵＴが初期化されている場合（ステップＳ３５＿Ｙｅｓ）、ＣＰＵ２３０は、論理アドレスに対応する物理アドレスがないため、メモリ１００における読み出し動作を実行しない。
【００８２】
ＣＰＵ２３０は、ホスト機器２に読み出し系コマンドに対するコマンド応答を送信する（ステップＳ３８）。より具体的には、ＣＰＵ２３０は、ＲＡＭ２２０内のルックアップテーブルＬＵＴが初期化されていない場合には、ホスト機器２に、メモリ１００から読み出したユーザデータを送信する。他方でＲＡＭ２２０内のルックアップテーブルＬＵＴが初期化されている場合には、コマンドの正常応答として、ホスト機器２に、消去状態、またはルックアップテーブルＬＵＴの初期化状態を示すデータ値を送信する。
【００８３】
ホスト機器２は、ステップＳ３８のコマンド応答を確認する。より具体的には、ホスト機器２は、コマンド応答の結果、消去状態または初期化状態を示すデータ値を受信した場合、メモリ１００のユーザデータが消去された状態が維持されている、すなわちサニタイズが正常に終了していると判断する。
【００８４】
１．３  本実施形態に係る効果
本実施形態に係る構成であれば、リードオンリーモードにおいてもメモリのデータを消去できる。本効果につき詳述する。
【００８５】
リードオンリーモード時にはメモリ１００において不揮発化できるデータサイズが制限されている。このため、ホスト機器２がユーザデータの消去系コマンドを発行した場合、コントローラ２００は、論理消去を行いＲＡＭ２２０内のルックアップテーブルＬＵＴを初期化するが、メモリ１００には初期化前の情報を有するルックアップテーブルＬＵＴが残ったままとなる。その後、メモリシステム１の電源のオン／オフが行われると、すなわちパワーサイクルを跨ぐと、ＲＡＭ２２０は揮発性メモリであるため、ルックアップテーブルＬＵＴを初期化した情報は消失してしまい、メモリ１００内の初期化前の情報を有するルックアップテーブルＬＵＴだけが残った状態となる。この状態で、ホスト機器２がユーザデータの読み出し系コマンドを実行すると、コントローラ２００は、初期化する前のルックアップテーブルＬＵＴから情報を取得するため、期待と異なる動作になってしまう。すなわち、ユーザデータが消去されていない状態に戻ってしまう。
【００８６】
これに対し、本実施形態に係る構成であれば、メモリシステム１は、リードオンリーモードにおいてメモリ１００内にＬＵＴ初期化情報を保存できる。そして、メモリシステム１は、立ち上げ動作の際に、ＬＵＴ初期化情報に基づいて、メモリ１００から読み出したルックアップテーブルＬＵＴを初期化することができる。従って、立ち上げ動作時にルックアップテーブルＬＵＴを初期化することにより、ホスト機器２から見てメモリシステム１は、ユーザデータの消去状態を維持させることができる。
【００８７】
更に、ユーザデータの消去状態を維持できるため、ユーザデータが流出するのを防止できる。
【００８８】
２．第２実施形態
次に、第２実施形態について説明する。第２実施形態では、第１実施形態とは異なるメモリ１００のサニタイズの流れについて説明する。以下、第１実施形態と異なる点を中心に説明する。
【００８９】
２．１  メモリのサニタイズの流れ
メモリ１００をサニタイズする際のホスト機器２とメモリシステム１とのアクセスについて、図７を用いて説明する。図７は、メモリシステム１の電源を立ち上げる際のフローチャートの一部を示している。なお、本実施形態のメモリシステム１の電源を立ち下げるまでのフローチャートは第１実施形態の図４と同じであり、メモリシステム１の電源を立ち上げる際のフローチャートで図７に示されていない部分は、第１実施形態の図６と同じである。
【００９０】
図７に示すように、第１実施形態の図５と同様に、ホスト機器２は、コントローラ２００にパワーオン要求を送信する（ステップＳ２１）。ＣＰＵ２３０は、パワーオン要求に従い、立ち上げ動作を実行する（ステップＳ２２）。
【００９１】
ＣＰＵ２３０は、リードオンリーモードにある場合（ステップＳ４０＿Ｙｅｓ）、メモリ１００からＬＵＴ初期化情報を読み出し（ステップＳ４２）、ＬＵＴ初期化情報を確認する（ステップＳ４１）。
【００９２】
ＣＰＵ２３０は、ＬＵＴ初期化情報にルックアップテーブルＬＵＴの初期化を実行したことを示す情報が含まれている場合（ステップＳ４３＿Ｙｅｓ）、メモリ１００からルックアップテーブルＬＵＴを読み出さずに、ＲＡＭ２２０のルックアップテーブルＬＵＴの初期化を行う（ステップＳ４４）。
【００９３】
また、ＣＰＵ２３０は、ステップＳ４０においてリードオンリーモードではない場合（ステップＳ４０＿Ｎｏ）、またはステップＳ４３においてＬＵＴ初期化情報にルックアップテーブルＬＵＴの初期化を実行したことを示す情報が含まれていない場合（ステップＳ４３＿Ｎｏ）、ルックアップテーブルＬＵＴを読み出すためのコマンドを発行し、メモリ１００にそのコマンドを送信する（ステップＳ４５）。
【００９４】
メモリ１００は、コマンドを受信するとルックアップテーブルＬＵＴを読み出し、コントローラ２００に送信する（ステップＳ４６）。
【００９５】
ＣＰＵ２３０は、メモリ１００から読み出されたルックアップテーブルＬＵＴをＲＡＭ２２０内に保存する（ステップＳ４７）。
【００９６】
ＣＰＵ２３０は、ステップＳ４４またはステップＳ４７終了後に、ホスト機器２に、パワーオン応答を送信する（ステップＳ４８）。
【００９７】
ホスト機器２は、パワーオン応答を確認し（ステップＳ４９）、立ち上げ動作が正常に終了した旨を確認する。
【００９８】
ステップＳ４８以降の動作は、第１実施形態の図６のステップＳ３３以降と同じである。
【００９９】
２．２  本実施形態に係る効果
本実施形態に係る構成であれば、第１実施形態と同様の効果を得ることができる。
【０１００】
３．第３実施形態
次に、第３実施形態について説明する。第３実施形態では、第１実施形態と異なるメモリシステム１の構成について説明する。以下、第１実施形態と異なる点を中心に説明する。
【０１０１】
３．１  メモリシステムの全体構成
メモリシステムの全体構成について、図８を用いて説明する。
【０１０２】
図８に示すように、メモリシステム１は、不揮発性のメモリ１００及び１０１並びにコントローラ２００を備えている。
【０１０３】
メモリ１００は、メモリの空間領域として大まかにユーザ領域１１０及び管理領域１２０を含み、管理領域１２０は、ＬＵＴ領域１２１を含む。
【０１０４】
メモリ１０１は、管理領域１２０の一部として用いられ、メモリの空間領域としてＬＵＴ初期化情報領域１２２を含む。メモリ１０１は、管理データのうち、比較的小さいサイズの情報を記憶できればよく、例えばＥＰＲＯＭ（erasable programmable read only memory）等が用いられてもよい。
【０１０５】
３．２  本実施形態に係る効果
本実施形態に係る構成であれば、第１形態と同様の効果が得られる。
【０１０６】
なお、第３実施形態に第２実施形態を適用してもよい。
【０１０７】
４．変形例等
上記実施形態に係るメモリシステムは、外部から入力された第１データ(ユーザデータ)を保持可能な第１領域(110)及び第１データと異なる第２データ(LUT初期化情報)を保持可能な第２領域(120)を含む不揮発性メモリ(100)と、揮発性メモリ(220)と、不揮発性メモリ及び揮発性メモリを制御するコントローラとを含む。コントローラは、第２データに基づいて、第１データの消去要求に付された第１アドレス(論理アドレス)と第１領域のある一部を特定する第２アドレス(物理アドレス)とを関連づける第３データ(LUT)を揮発性メモリから消去する。
【０１０８】
上記実施形態を適用することにより、書き込み動作及び消去動作が制限された状態においてもメモリのデータを消去でき且つパワーサイクルによらず消去状態を維持できるメモリシステムを提供できる。
【０１０９】
なお、実施形態は上記説明した形態に限定されるものではなく、種々の変形が可能である。
【０１１０】
また、上記実施形態における「接続」とは、間に例えばトランジスタあるいは抵抗等、他の何かを介在させて間接的に接続されている状態も含む。
【０１１１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１１２】
１…メモリシステム、２…ホスト機器、１０…入出力回路、１１…ロジック制御回路、１２…ステータスレジスタ、１３…アドレスレジスタ、１４…コマンドレジスタ、１５…シーケンサ、１６…レディ／ビジー回路、１７…電圧発生回路、１８…メモリセルアレイ、１９…ロウデコーダ、２０…センスアンプ、２１…データレジスタ、２２…カラムデコーダ、１００、１０１…メモリ、１１０…ユーザ領域、１２０…管理領域、１２１…ＬＵＴ領域、１２２…ＬＵＴ初期化情報領域、２００…コントローラ、２１０…ホストインターフェイス回路、２２０…ＲＡＭ、２３０…ＣＰＵ、２４０…バッファメモリ、２５０…メモリインターフェイス回路、２６０…ＥＣＣ回路。
【図１】
2019211861.tif 000003
【図２】
2019211861.tif 000004
【図３】
2019211861.tif 000005
【図４】
2019211861.tif 000006
【図５】
2019211861.tif 000007
【図６】
2019211861.tif 000008
【図７】
2019211861.tif 000009
【図８】
2019211861.tif 000010