(57)【要約】【課題】  書き込み中のデータを効率よく読み出すことが可能なメモリシステムを提供する。【解決手段】  一実施形態によるメモリシステムは、記憶媒体と第１コントローラとを含む。記憶媒体は、第１セルトランジスタと、第１データラッチと、第２データラッチと、を含む。第１コントローラは、第１セルトランジスタへのデータの書き込みを記憶媒体に指示した後で第１セルトランジスタへの書き込みの完了前に、第１セルトランジスタに対して行われている処理の中断を記憶媒体に指示し、第１データラッチからデータを読み出し、第２データラッチからデータを読み出し、第１セルトランジスタからデータを読み出す、ように構成されている。【選択図】      図１
2018156698.tif 000002
【特許請求の範囲】
【請求項１】
第１セルトランジスタと、第１データラッチと、第２データラッチと、を備える記憶媒体と、
前記第１セルトランジスタへのデータの書き込みを前記記憶媒体に指示した後で前記第１セルトランジスタへの前記データの前記書き込みの完了前に、
前記第１セルトランジスタに対して行われている処理の中断を前記記憶媒体に指示し、
前記第１データラッチからデータを読み出し、
前記第２データラッチからデータを読み出し、
前記第１セルトランジスタからデータを読み出す、
ように構成されている第１コントローラと、
を備えるメモリシステム。
【請求項２】
前記第１セルトランジスタからの前記データの前記読み出しは、
前記第１セルトランジスタから第１電圧を指定してデータを読み出すことと、
前記第１セルトランジスタから前記第１電圧と異なる第２電圧を指定してデータを読み出すことと、
前記第１セルトランジスタから前記第１および第２電圧と異なる第３電圧を指定してデータを読み出すことと、
を含む、
請求項１のメモリシステム。
【請求項３】
前記第１コントローラは、
前記第１セルトランジスタが第１ベリファイ電圧を超える閾値電圧を有する場合、前記第１セルトランジスタが第１レベルへと書き込まれたと判断し、
前記第１セルトランジスタが第２ベリファイ電圧を超える閾値電圧を有する場合、前記第１セルトランジスタが第２レベルへと書き込まれたと判断し、
前記第１セルトランジスタが第３ベリファイ電圧を超える閾値電圧を有する場合、前記第１セルトランジスタが第３レベルへと書き込まれたと判断し、
前記第１セルトランジスタからデータの読み出しに第１読み出し電圧、第２読み出し電圧、および第３読み出し電圧を使用する、
ように構成されており、
前記第１電圧は、前記第１読み出し電圧より高くかつ前記第１ベリファイ電圧より低く、
前記第２電圧は、前記第２読み出し電圧より高くかつ前記第２ベリファイ電圧より低く、
前記第３電圧は、前記第３読み出し電圧より高くかつ前記第３ベリファイ電圧より低い、
請求項２のメモリシステム。
【請求項４】
前記記憶媒体は、前記第１セルトランジスタにおいて第１ビットのデータおよび第２ビットのデータを保持するように構成されている、
請求項１のメモリシステム。
【請求項５】
前記第１セルトランジスタからの前記データの前記読み出しは、
前記第１セルトランジスタの前記第１ビットのデータを読み出すことと、
前記第１セルトランジスタの前記第２ビットのデータを読み出すことと、
を含む、
請求項４のメモリシステム。
【請求項６】
前記記憶媒体は、データ書き込みの指示に応じて、前記第１データラッチにおいて第１データを保持しかつ前記第２データラッチにおいて第２データを保持するようにさらに構成されており、
前記第１データラッチから読み出されたデータは前記第１データと異なり、
前記第２データラッチから読み出されたデータは前記第２データと異なる、
請求項５のメモリシステム。
【請求項７】
前記第１コントローラは、
メモリを含み、
第１データおよび前記第１データの保持を要求する第１要求を外部から受け取り、
前記第１要求の受け取り後で前記第１要求により要求された前記第１データの前記保持が前記記憶媒体において完了する前に、前記メモリの前記第１データが保持されている領域を解放するようにさらに構成されている、
請求項１のメモリシステム。
【請求項８】
前記第１コントローラは、前記第１セルトランジスタへのデータの書き込みを前記記憶媒体に指示した後で前記第１セルトランジスタへの前記データの前記書き込みの完了前に、前記記憶媒体に中断された処理の再開を指示するようにさらに構成されている、
請求項１のメモリシステム。
【請求項９】
前記第１コントローラは、ホスト装置および前記記憶媒体と接続されている、
請求項１のメモリシステム。
【請求項１０】
前記メモリシステムは、第２コントローラをさらに含み、
前記第２コントローラは、ホスト装置および前記第１コントローラと接続されており、
前記第１コントローラは、前記記憶媒体と接続されている、
請求項１のメモリシステム。
【請求項１１】
前記メモリシステムは、前記第１コントローラおよび前記記憶媒体を含んだパッケージをさらに備える、
請求項１０のメモリシステム。
【請求項１２】
前記第１コントローラは、
前記第１データラッチのデータと前記第２データラッチのデータとに対して論理演算を行って前記第１セルトランジスタに書き込まれるデータを生成し、前記生成された前記第１セルトランジスタに書き込まれるデータを外部に送信する、
ように構成されている、
請求項１のメモリシステム。
【請求項１３】
第１セルトランジスタと、第１データラッチと、第２データラッチと、第１コントローラと、を備える記憶媒体と、
第２コントローラと、
を備え、
前記第１コントローラは、
前記第１セルトランジスタへの第１データの書き込みの指示を前記第２コントローラから受け取り、
前記第１データの前記書き込みの完了前に前記第１セルトランジスタからの前記第１データの読み出しの指示を前記第２コントローラから受け取り、
前記第１セルトランジスタに書き込まれるデータを前記第２コントローラに送信する、
ように構成されている、メモリシステム。
【請求項１４】
前記第１コントローラは、
前記第１データラッチのデータと前記第２データラッチのデータとに対して論理演算を行って前記第１セルトランジスタに書き込まれるデータを生成し、前記生成された前記第１セルトランジスタに書き込まれるデータを前記第２コントローラに送信する、
ように構成されている、
請求項１３のメモリシステム。
【請求項１５】
第１セルトランジスタと、第２セルトランジスタと、第３セルトランジスタと、第１データラッチと、第２データラッチと、を備える記憶媒体と、
コントローラと、
電源と、
コントローラと、
を備えるメモリシステムであって、
前記コントローラは、前記メモリシステムの外部から電力の供給を受けておらず前記電源から電力を供給されている間、
前記第１セルトランジスタへの第１書き込みデータの書き込みを前記記憶媒体に指示し、
前記第１書き込みの前記書き込みの前記指示の後に、前記記憶媒体に処理の中断を指示し
前記処理の中断の指示の後に、前記第１データラッチの第２データを前記第２セルトランジスタに書き込むことを指示し、
前記処理の中断の指示の後に、前記第２データラッチの第３データを前記第３セルトランジスタに書き込むことを指示する、
ように構成されているメモリシステム。
【請求項１６】
前記コントローラは、
第４セルトランジスタをさらに備え、
前記メモリシステムへの前記メモリシステムの外部からの前記電力の供給の開始後、前記第２データおよび前記第３データをそれぞれ前記第２セルトランジスタおよび前記第３セルトランジスタから読み出し、
前記第１書き込みデータの前記第４セルトランジスタへの書き込みを前記記憶媒体に指示する、
ようにさらに構成されている、
請求項１５のメモリシステム。
【請求項１７】
前記コントローラは、前記メモリシステムの外部からの前記電力の供給の停止までに前記中断された前記処理を再開しないように構成されている、
請求項１５のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、概してメモリシステムに関する。
【背景技術】
【０００２】
記憶媒体および記憶媒体を制御するメモリコントローラを含んだメモリシステムが知られている。メモリシステムはホスト装置から書き込みを指示されたデータを保持し、また、ホスト装置からの指示によって記憶媒体から読み出されたデータをホスト装置に送信する。メモリシステムは、あるデータの書き込みを指示され、書き込みが完了する前に当該書き込みを指示されたデータを読み出すことを指示される場合がある。このデータ読み出しは、メモリシステムに課される種々の要件を満たしながら実行される必要がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第４４４７６３６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
書き込み中のデータを効率よく読み出すことが可能なメモリシステムを提供しようとするものである。
【課題を解決するための手段】
【０００５】
一実施形態によるメモリシステムは、記憶媒体と第１コントローラとを含む。記憶媒体は、第１セルトランジスタと、第１データラッチと、第２データラッチと、を含む。第１コントローラは、第１セルトランジスタへのデータの書き込みを前記記憶媒体に指示した後で第１セルトランジスタへのデータの書き込みの完了前に、第１セルトランジスタに対して行われている処理の中断を記憶媒体に指示し、第１データラッチからデータを読み出し、第２データラッチからデータを読み出し、第１セルトランジスタからデータを読み出す、ように構成されている。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態のメモリシステムの機能ブロックを示す。
【図２】第１実施形態の記憶媒体の機能ブロックを示す。
【図３】第１実施形態のメモリブロックの要素および接続を示す。
【図４】第１実施形態のメモリブロックの構造の断面の例を示す。
【図５】第１実施形態の記憶媒体でのデータの保持の例を示す。
【図６】第１実施形態のセンスアンプ、データラッチセット、およびデータ保持領域の詳細を示す。
【図７】第１実施形態のメモリシステムの動作の概要のフローを示す。
【図８】第１実施形態のメモリシステムでの書き込みの間にメモリコントローラおよび記憶媒体の間を流れる信号の例を示す。
【図９】第１実施形態のメモリシステムの動作の一部の概要を示す。
【図１０】第１実施形態のメモリシステムでの書き込みを示す。
【図１１】第１実施形態のメモリシステムでの書き込みの間にワード線に印加される電圧を時間に沿って示す。
【図１２】第１実施形態のメモリシステムでの書き込みの間のデータラッチおよびセンスアンプの状態を示す。
【図１３】第１実施形態のメモリシステムでの書き込みの間のデータラッチおよびセンスアンプの状態を示す。
【図１４】第１実施形態のメモリシステムでの書き込みデータ復元の全体の概略的なフローを示す。
【図１５】第１実施形態のメモリコントローラと記憶媒体との間を流れる信号ＤＱの例を示す。
【図１６】第１実施形態のメモリシステムでの書き込みデータ復元の間のいくつかの関連ビット列の状態を示す。
【図１７】第１実施形態のメモリシステムでの書き込みデータ復元の間のいくつかの関連ビット列の状態を示す。
【図１８】第１実施形態のメモリシステムでの書き込みデータ復元の間のいくつかの関連ビット列の状態を示す。
【図１９】第１実施形態のメモリシステムでの書き込みデータ復元の間のいくつかの関連ビット列の状態を示す。
【図２０】第１実施形態のメモリシステムでの書き込みデータ復元の間のいくつかの関連ビット列の状態を示す。
【図２１】第１実施形態のメモリシステムでの書き込みデータ復元の間のいくつかの関連ビット列の状態を示す。
【図２２】第２実施形態のメモリシステムでの書き込みデータ復元全体の概略的なフローを示す。
【図２３】第２実施形態のメモリコントローラと記憶媒体との間を流れる信号ＤＱの例を示す。
【図２４】第２実施形態のメモリシステムでの書き込みデータ復元の間のいくつかの関連ビット列の状態を示す。
【図２５】第２実施形態のメモリシステムでの書き込みデータ復元の間のいくつかの関連ビット列の状態を示す。
【図２６】第２実施形態のメモリシステムでの書き込みデータ復元の間のいくつかの関連ビット列の状態を示す。
【図２７】第２実施形態のメモリシステムでの書き込みデータ復元の間のいくつかの関連ビット列の状態を示す。
【図２８】第２実施形態のメモリシステムでの書き込みデータ復元の間のいくつかの関連ビット列の状態を示す。
【図２９】第３実施形態のメモリシステムの機能ブロックを示す。
【図３０】第４実施形態のメモリシステムの機能ブロックを示す。
【図３１】第４実施形態の記憶媒体の機能ブロックを示す。
【図３２】第４実施形態のセンスアンプおよびデータラッチセットの詳細を示す。
【図３３】第５実施形態のメモリシステムでの書き込みデータ復元の間のいくつかの関連ビット列の状態を示す。
【図３４】第５実施形態のメモリシステムでの書き込みデータ復元の間のいくつかの関連ビット列の状態を示す。
【図３５】第５実施形態のメモリシステムでの書き込みデータ復元の間のいくつかの関連ビット列の状態を示す。
【図３６】第５実施形態のメモリシステムでの書き込みデータ復元の間のいくつかの関連ビット列の状態を示す。
【図３７】第６実施形態のメモリシステムの機能ブロックを示す。
【図３８】第６実施形態のメモリシステムの全体的な動作のフローを示す。
【図３９】第６実施形態のメモリシステムでの不完全データ書き込みデータの書き込みおよび書き込みデータ復元の間のデータの転送を示す。
【図４０】第６実施形態のメモリシステムでの不完全データ書き込みデータの書き込みおよび書き込みデータ復元の間のデータの転送を示す。
【図４１】第６実施形態のメモリシステムでの書き込みデータ復元の間のデータ保持領域の状態を示す。
【図４２】第６実施形態のメモリシステムでの書き込みデータ復元の間のデータ保持領域の状態を示す。
【図４３】第６実施形態の変形のメモリシステムの全体的な動作のフローを示す。
【発明を実施するための形態】
【０００７】
以下に実施形態が図面を参照して記述される。以下の記述において、略同一の機能および構成を有する構成要素は同一符号を付され、繰り返しの説明は省略される場合がある。ある実施形態についての記述はすべて、明示的にまたは自明的に排除されない限り、別の実施形態の記述としても当てはまる。
【０００８】
各機能ブロックは、ハードウェア、コンピュータソフトウェアのいずれかまたは両者を組み合わせたものとして実現されることが可能である。このため、各機能ブロックがこれらのいずれでもあることが明確となるように、概してそれらの機能の観点から記述される。各機能ブロックが、以下の例のように区別されていることは必須ではない。例えば、一部の機能が例示の機能ブロックとは別の機能ブロックによって実行されてもよい。
【０００９】
実施形態の方法のフローにおけるいずれのステップも、例示の順序に限定されず、そうでないと示されない限り、例示の順序とは異なる順序でおよび（または）別のステップと並行して起こることが可能である。
【００１０】
本明細書および特許請求の範囲において、ある第１要素が別の第２要素に「接続されている」とは、第１要素が直接的または常時あるいは選択的に導電性となる要素を介して第２要素に接続されていることを含む。
【００１１】
（第１実施形態）
＜１−１．構成（構造）＞
＜１−１−１．メモリシステム＞
図１は、第１実施形態のメモリシステム１の機能ブロックを示す。メモリシステム１は、例えばsolid state device（ＳＳＤ）、またはＳＤＴＭカードのようなメモリカードであり得る。
【００１２】
図１に示されるように、メモリシステム１は、ホスト装置２と接続されることが可能であり、ホスト装置２と通信する。ホスト装置２は電源２１０を含む。電源２１０は、電源電圧（電力）をメモリシステム１に供給する。電源２１０は、ホスト装置２とは別にメモリシステム１の外部に設けられていてもよい。
【００１３】
メモリシステム１は、１または複数の記憶媒体１１０、およびメモリコントローラ１２０を含む。参照符号１１０ｔについては、後述される。記憶媒体１１０およびメモリコントローラ１２０の各々は、例えば１つの独立したチップの形態を有する。
【００１４】
メモリコントローラ１２０は、ホスト装置２から命令を受け取り、受け取られた命令に基づいて記憶媒体１１０を制御する。具体的には、メモリコントローラ１２０は、ホスト装置２から書き込み（プログラム）を要求されたデータ（書き込み要求データ）を記憶媒体１１０に書き込み、ホスト装置２から読み出しを要求されたデータ（読み出し要求データ）を記憶媒体１１０から読み出してホスト装置２に送信する。
【００１５】
記憶媒体１１０は、不揮発性の半導体記憶媒体であり、例えばＮＡＮＤ型フラッシュメモリである。
【００１６】
メモリコントローラ１２０は、ホストインターフェイス２１、ＣＰＵ（central processing unit）２２、ＲＡＭ（random access memory）２３、ＲＯＭ（read only memory）２４、バッファメモリ２５、ＮＡＮＤコントローラ２６、変換層コントローラ２７、コマンド発送部２８、書き込みデータ復元コントローラ２９、およびＥＣＣ（error correction code）回路３０を含む。
【００１７】
メモリコントローラ１２０は、例えば、ＲＯＭ２４に保持されているファームウェア（プログラム）がＲＡＭ２３上でＣＰＵ２２によって実行されることによって、ホストインターフェイス２１、ＮＡＮＤコントローラ２６、変換層コントローラ２７、コマンド発送部２８、書き込みデータ復元コントローラ２９、およびＥＣＣ（error correction code）回路３０の各々の機能の一部または全部を実行する。ホストインターフェイス２１、ＮＡＮＤコントローラ２６、変換層コントローラ２７、コマンド発送部２８、書き込みデータ復元コントローラ２９、およびＥＣＣ回路３０の各々の機能の一部または全体がハードウェアにより実現されてもよい。参照符号２６ｔについては、後述される。
【００１８】
ホストインターフェイス２１は、バスを介してホスト装置２と接続され、メモリコントローラ１２０とホスト装置２との間の通信を司る。ホストインターフェイス２１とホスト装置２との間のバスの例は、ＳＡＴＡ（serial advanced technology attachment）、ＳＡＳ(serial attached small computer system interface)、ＰＣＩ(peripheral component interconnect)  ｅｘｐｒｅｓｓを含み、その他のバスであってもよい。ホストインターフェイス２１は、ホスト装置２からの要求を変換層コントローラ２７に送信する。また、ホストインターフェイス２１は、変換層コントローラ２７の指示に従って、読み出し要求データをホスト装置２に送信する。
【００１９】
ＲＡＭ２３は、データを一時的に保持し、メモリコントローラ１２０の作業領域として機能する。バッファメモリ２５は、書き込み要求データ、記憶媒体１１０に書き込まれるデータ（書き込みデータ）、および記憶媒体１１０から読み出されたデータ（読み出しデータ）等のデータを保持する。バッファメモリ２５は、例えばＤＲＡＭ（dynamic RAM）とＤＲＡＭのコントローラ、および（または）ＳＲＡＭ（static RAM）とを含む。
【００２０】
変換層コントローラ２７は、論理アドレスと、当該論理アドレスのデータを保持する物理アドレスとを互いに変換する。論理アドレスは、ホスト装置２からアクセス（読み出し、書き込み、消去等）を要求されたデータに付される。物理アドレスは、１つの記憶媒体１１０の記憶空間のある一部を特定する。変換層コントローラ２７は、ホストインターフェイス２１から、ホスト装置２からの要求（ホスト要求）および当該ホスト要求に関連する論理アドレスを受け取り、受け取られた論理アドレスを物理アドレスに変換し、ホスト要求および物理アドレスをコマンド発送部２８に送信する。また、変換層コントローラ２７は、ホスト装置２から読み出しを要求された読み出し要求データの送信をホストインターフェイス２１に指示する。
【００２１】
コマンド発送部２８は、変換層コントローラ２７からホスト要求および関連する物理アドレスを受け取る。コマンド発送部２８は、受け取られた物理アドレスを含んだ記憶媒体１１０に対応するＮＡＮＤコントローラ２６に、ホスト要求に対応するコマンドおよび関連する物理アドレスの送信を指示する。さらに、書き込みの場合は、コマンド発送部２８は、記憶媒体１１０への書き込みデータの送信を、いずれかのＮＡＮＤコントローラ２６に指示する。
【００２２】
書き込みデータ復元コントローラ２９は、記憶媒体１１０からあるデータを読み出し、読み出されたデータに基づいて、記憶媒体１１０中で失われた書き込みデータの復元を制御する。書き込みデータ復元コントローラ２９は、データ保持領域２９ａを含む。データ保持領域２９ａは、ＲＡＭ２３の記憶空間の一部によって実現される。
【００２３】
各ＮＡＮＤコントローラ２６は、バスを介して１つの対応する記憶媒体１１０と接続されており、対応する記憶媒体１１０との間の通信を司る。バスは、記憶媒体１１０がＮＡＮＤ型フラッシュメモリである場合、ＮＡＮＤバスである。各ＮＡＮＤコントローラ２６は、コマンド発送部２８から、コマンドの送信を指示されると、対応する記憶媒体１００に、指示されたコマンドを送信する。各ＮＡＮＤコントローラ２６は、書き込みの場合、書き込みデータをさらに記憶媒体１１０に送信する。
【００２４】
ＥＣＣ回路３０は、記憶媒体１１０に書き込まれる実体的データを誤り訂正符号（ＥＣＣ）に変換する。実体的データは、ホスト装置２からの書き込み要求データ、およびメモリコントローラ１２０がメモリシステム１１０に書き込むことを望む管理データ等のデータを含む。誤り訂正符号は、一般に、実体的データと誤り訂正用データを含む。誤り訂正用データは、例えばパリティデータを含む。ＥＣＣ回路３０はまた、読み出しデータに対して演算を行って、読み出しデータに含まれる正しい（誤りを訂正された）実体的データを取得することを試みる。
【００２５】
＜１−１−２．記憶媒体＞
図２は、第１実施形態の記憶媒体１１０の機能ブロックを示す。図２に示されるように、記憶媒体１１０は、メモリセルアレイ（セルアレイ）１０、入出力回路１１、入出力制御回路１２、シーケンサ（制御回路）１３、電位生成回路１４、ドライバ１５、センスアンプ１６、カラムデコーダ１７、データラッチセット１８、およびロウデコーダ１９等の要素を含む。
【００２６】
セルアレイ１０は複数のメモリブロックＢＬＫ（ＢＬＫ０、ＢＬＫ１、…）を含む。ブロックＢＬＫは、例えばデータの消去単位であり、各ブロックＢＬＫ中のデータは一括して消去される。１つのブロックＢＬＫより小さい単位（例えばブロックＢＬＫの半分）でデータが消去されてもよい。
【００２７】
各ブロックＢＬＫは複数のストリングユニットＳＵ（ＳＵ０、ＳＵ１、…）の集合である。各ストリングユニットＳＵは複数のＮＡＮＤストリングＳＴＲ（ＳＴＲ０、ＳＴＲ１、…）の集合である。ストリングＳＴＲは、複数のメモリセルトランジスタ（セルトランジスタ）ＭＴを含む。
【００２８】
入出力回路１１および入出力制御回路１２は、ＮＡＮＤバスを介して、メモリコントローラ１２０と接続されている。ＮＡＮＤバスは、信号￣ＣＥ、ＣＬＥ、ＡＬＥ、￣ＷＥ、￣ＲＥ、￣ＷＰ、信号ＤＱ（ＤＱ０〜ＤＱ７）、およびデータストローブ信号ＤＱＳならびに￣ＤＱＳを伝送する。本明細書において、信号の名称の前の記「￣」は、記号￣のない名称の信号の反転論理を示し、信号がローレベルの場合にアサートされていることを意味する。
【００２９】
入出力回路１１は、信号ＤＱを受け取り、信号ＤＱを送信する。入出力回路１１は、また、データストローブ信号ＤＱＳならびに￣ＤＱＳを受け取り、ＤＱＳならびに￣ＤＱＳを送信する。入出力制御回路１２は、メモリコントローラ１２０から種々の制御信号を受け取り、制御信号に基づいて、入出力回路１１を制御する。制御信号は、信号￣ＣＥ、ＣＬＥ、ＡＬＥ、￣ＷＥ、￣ＲＥ、￣ＷＰ、およびデータストローブ信号ＤＱＳならびに￣ＤＱＳを含む。
【００３０】
信号ＤＱ（ＤＱ０〜ＤＱ７）は、例えば８ビットの幅を有し、データの実体であり、コマンド（ＣＭＤ）、書き込みデータまたは読み出しデータ（ＤＡＴ）、アドレス信号（ＡＤＤ）、ステータスデータ（ＳＴＡ）等を含む。
【００３１】
アサートされている信号￣ＣＥは、記憶媒体１１０をイネーブルにする。アサートされている信号ＣＬＥは、この信号ＣＬＥと並行して記憶媒体１１０に入力される信号ＤＱがコマンドＣＭＤであることを記憶媒体１１０に通知する。アサートされている信号ＡＬＥは、この信号ＡＬＥと並行して記憶媒体１１０に入力される信号ＤＱがアドレス信号ＡＤＤであることを記憶媒体１１０に通知する。アサートされている信号￣ＷＥは、この信号￣ＷＥと並行して記憶媒体１１０に入力される信号ＤＱを記憶媒体１１０に記憶させることを指示する。アサートされている信号￣ＲＥは、記憶媒体１１０に信号ＤＱを出力することを指示する。アサートされている信号￣ＷＰは、データ書き込みおよび消去の禁止を記憶媒体１１０に指示する。信号ＲＹ／￣ＢＹは、記憶媒体１１０がレディー状態であるか、ビジー状態であるかを示し、ローレベルによってビジー状態を示す。記憶媒体１１０は、レディー状態においてメモリコントローラ１２０からの命令を受け付け、ビジー状態においてメモリコントローラ１２０からの命令を受け付けない。
【００３２】
メモリコントローラ１２０から記憶媒体１１０に向かう信号ＤＱＳおよび￣ＤＱＳは、信号ＤＱを出力するタイミングを記憶媒体１１０に指示する。記憶媒体１１０からメモリコントローラ１２０に向かう信号ＤＱＳおよび￣ＤＱＳは、信号ＤＱを出力するタイミングをメモリコントローラ１２０に通知する。
【００３３】
シーケンサ１３は、入出力回路１１からコマンドＣＭＤおよびアドレス信号ＡＤＤを受け取り、コマンドＣＭＤおよびアドレス信号ＡＤＤに基づいて、電位生成回路１４、ドライバ１５、センスアンプ１６、カラムデコーダ１７を制御する。
【００３４】
電位生成回路１４は、記憶媒体１１０の外部から電源電位を受け取り、電源電位から種々の電位（電圧）を生成する。生成された電位は、ドライバ１５およびセンスアンプ１６等の要素に供給される。種々の電位の印加により、記憶媒体１１０中の種々の要素および配線に電圧が印加される。ドライバ１５は、電位生成回路１４によって生成された電位を受け取り、受け取られた電位のうちの選択されたものをロウデコーダ１９に供給する。
【００３５】
ロウデコーダ１９は、ドライバ１５から種々の電位を受け取り、入出力回路１１からアドレス信号ＡＤＤを受け取り、受け取られたアドレス信号ＡＤＤに基づいて１つのブロックＢＬＫを選択し、選択されたブロックＢＬＫにドライバ１５からの電位を転送する。
【００３６】
センスアンプ１６は、セルトランジスタＭＴの状態をセンスし、センスされた状態に基づいて読み出しデータを生成し、また、書き込みデータをセルトランジスタＭＴに転送する。
【００３７】
データラッチセット１８は、入出力回路１１からの書き込みデータＤＡＴを保持し、書き込みデータＤＡＴをセンスアンプ１６に供給する。また、データラッチセット１８は、センスアンプ１６から読み出しデータＤＡＴを受け取り、カラムデコーダ１７の制御に従って、読み出しデータＤＡＴを入出力回路１１に供給する。カラムデコーダ１７は、アドレス信号ＡＤＤに基づいて、データラッチセット１８を制御する。
【００３８】
＜１−１−３．ブロック＞
図３は、セルアレイ１０の一部の要素および接続の例を示し、１つのブロックＢＬＫ０の要素および接続、ならびに関連する要素を示す。複数の（例えば全ての）ブロックＢＬＫは、みな図２に示される要素および接続を含む。
【００３９】
１つのブロックＢＬＫは、複数のストリングユニットＳＵ０〜ＳＵ３を含む。１つのブロックＢＬＫが１つのストリングユニットＳＵのみを含んでいてもよい。
【００４０】
ｍ（ｍは自然数）本のビット線ＢＬ０〜ＢＬｍ−１の各々は、各ブロックＢＬＫにおいて、ストリングユニットＳＵ０〜ＳＵ３の各々からの１つのストリングＳＴＲと接続されている。
【００４１】
各ストリングＳＴＲは、１つの選択ゲートトランジスタＳＴ、複数（例えば８つ）のメモリセルトランジスタＭＴ、および１つの選択ゲートトランジスタＤＴ（ＤＴ０〜ＤＴ３）を含む。トランジスタＳＴ、ＭＴ、およびＤＴは、この順で、ソース線ＣＥＬＳＲＣと１つのビット線ＢＬとの間に直列に接続されている。セルトランジスタＭＴは、制御ゲート電極（ワード線ＷＬ）、および周囲から絶縁された電荷蓄積層を含み、電荷蓄積層中の電荷の量に基づいてデータを不揮発に保持することができる。
【００４２】
相違する複数のビット線ＢＬとそれぞれ接続された複数のストリングＳＴＲは１つのストリングユニットＳＵを構成する。各ストリングユニットＳＵにおいて、セルトランジスタＭＴ０〜ＭＴ７の制御ゲート電極（ゲート）は、ワード線ＷＬ０〜ＷＬ７とそれぞれ接続されている。さらに、各ブロックＢＬＫにおいて、相違するストリングユニットＳＵ中の同じアドレスのワード線ＷＬも相互に接続されている。１つのストリングユニットＳＵ中でワード線ＷＬを共有するセルトランジスタＭＴの組は、セルユニットＣＵと称される。
【００４３】
トランジスタＤＴ０〜ＤＴ３はストリングユニットＳＵ０〜ＳＵ３にそれぞれ属する。各α＝０〜３の各々の場合について、ストリングユニットＳＵαの複数のストリングＳＴＲの各々のトランジスタＤＴαのゲートは選択ゲート線ＳＧＤＬαに接続されている。トランジスタＳＴのゲートは、選択ゲート線ＳＧＳＬに接続されている。
【００４４】
各ブロックＢＬＫは、図４に示される構造を有することが可能である。図４に示されるように、ストリングユニットＳＵは基板ｓｕｂ上に設けられている。基板ｓｕｂは、ｘｙ面に沿って広がり、表面の領域においてｐ型のウェルｐｗを含む。各ストリングユニットＳＵは、ｘ軸に沿って並ぶ複数のストリングＳＴＲを含む。各ストリングＳＴＲは、半導体の柱（ピラー）ＰＬを含む。柱ＰＬは、ｚ軸に沿って延び、下端においてウェルｐｗと接し、トランジスタＭＴ、ＤＴ、およびＳＴのチャネルが形成されるチャネル領域およびボディとして機能する。柱ＰＬの上端は、導電性のプラグＣＰＰを介して導電体ＣＴと接続されている。導電体ＣＴはｙ軸に沿って延び、１つのビット線ＢＬとして機能し、ｘ軸上で別の座標に位置する導電体ＣＴと間隔を有する。柱ＰＬの側面はトンネル絶縁体（層）ＩＴにより覆われている。トンネル絶縁体ＩＴは、ウェルｐｗ上にも位置する。トンネル絶縁体ＩＴの側面は、電荷蓄積層ＣＡにより覆われている。電荷蓄積層ＣＡは、絶縁性または導電性であり、側面をブロック絶縁体（層）ＩＢにより覆われている。
【００４５】
各ストリングユニットＳＵにおいて、ウェルｐｗの上方に、１つの導電体ＣＳ、複数（例えば８つ）の導電体ＣＷ、および複数（例えば３つ）の導電体ＣＤが設けられている。複数の導電体ＣＳが設けられていてもよい。導電体ＣＳ、ＣＷ、およびＣＤは、この順で間隔を有してｚ軸に沿って並び、ｘ軸に沿って延び、ブロック絶縁体ＩＢと接している。導電体ＣＳは、また、ウェルｐｗの表面とともにトンネル絶縁体ＩＴを挟む。導電体ＣＳ、ＣＷ、およびＣＤは、それぞれ、選択ゲート線ＳＧＳＬ、ワード線ＷＬ０〜ＷＬ７、および選択ゲート線ＳＧＤＬとして機能する。各ストリングユニットＳＵにおいて、導電体ＣＳ、ＣＷ、およびＣＤは、このストリングユニットＳＵ中の全ての半導体柱ＰＬの側面上のブロック絶縁体ＩＢと内部において接している。
【００４６】
柱ＰＬ、トンネル絶縁体ＩＴ、電荷蓄積層ＣＡ、およびブロック絶縁体ＩＢのうちの導電体ＣＳ、ＣＷ、およびＣＤと交わる部分は、それぞれ選択ゲートトランジスタＳＴ、セルトランジスタＭＴ、および選択ゲートトランジスタＤＴとして機能する。柱ＰＬを共有しかつｚ軸に沿って並ぶトランジスタＳＴ、ＭＴ、およびＤＴは、１つのストリングＳＴＲを構成する。
【００４７】
ウェルｐｗの表面内の領域には、ｐ＋型不純物の拡散層Ｄｐが設けられている。拡散層Ｄｐは、導電性のプラグＣＰＷを介して、導電体ＣＣＷと接続されている。プラグＣＰＷは、ｘｚ面に沿って広がる。
【００４８】
ウェルｐｗの表面の領域内には、ｎ＋型不純物の拡散層Ｄｎがさらに設けられている。拡散層Ｄｎは、導電性のプラグＣＰＳを介して、導電体ＣＣＳと接続されている。導電体ＣＣＷは、ソース線ＣＥＬＳＲＣとして機能する。
【００４９】
基板ｓｕｂ上で、導電体ＣＳ、ＣＷ、ＣＤ、ＣＣＳ、およびＣＣＷ、ならびにプラグＣＰＳおよびＣＰＷが設けられていない領域は、絶縁体ＩＩＬ１を設けられている。
【００５０】
＜１−１−４．セルトランジスタ＞
記憶媒体１は、１つのセルトランジスタＭＴにおいて１ビット以上のデータを保持することができる。図５は、書き込みの結果、１セルトランジスタ当たり２ビットのデータを保持するセルトランジスタＭＴの閾値電圧の分布を示す。各セルトランジスタＭＴの閾値電圧は、保持されるデータに応じた大きさを有する。１セルトランジスタ当たり２ビットのデータの保持の場合、各セルトランジスタＭＴは、４つの閾値電圧のうちのいずれかを有し得る。
【００５１】
ある同じ２ビットデータを保持する複数のセルトランジスタＭＴであっても、互いに相違する閾値電圧を有し得、このため、ある同じデータを保持する複数のセルトランジスタＭＴの閾値電圧は１つの分布を形成する。最も低い分布から順に４つの分布のそれぞれに属するセルトランジスタＭＴは、それぞれ、Ｅｒレベル、Ａレベル、Ｂレベル、およびＣレベルにある。Ｅｒレベルは、消去状態のセルトランジスタＭＴが位置するレベルであり、Ａ、Ｂ、およびＣレベルは書き込まれた状態のセルトランジスタＭＴが位置するレベルである。記憶媒体１１０は、消去状態のセルトランジスタＭＴのみを含む消去済みのセルユニットＣＵにデータを書き込む。
【００５２】
Ｅｒレベル、Ａレベル、Ｂレベル、およびＣレベルは、例えば、それぞれ“１１”データ、“０１”データ、“００”データ、および“１０”データを保持する状態として扱われる。状態と保持されるデータとの別の対応が用いられてもよい。
【００５３】
Ａレベル、Ｂレベル、およびＣレベルのセルトランジスタの閾値電圧は、それぞれＥｒ、Ａレベル、およびＢレベルのセルトランジスタの閾値電圧より高い。読み出し電圧ＶＡ´以下の閾値電圧を有するセルトランジスタＭＴはＥｒレベルにあると判断される。読み出し電圧ＶＡ´超かつ読み出し電圧ＶＢ´以下の閾値電圧を有するセルトランジスタＭＴはＡレベルにあると判断される。読み出し電圧ＶＢ´超かつ読み出し電圧ＶＣ´以下の閾値電圧を有するセルトランジスタＭＴはＢレベルにあると判断される。読み出し電圧ＶＣ´超の閾値電圧を有するセルトランジスタＭＴはＣレベルにあると判断される。読み出し電圧ＶＡ´、ＶＢ´、およびＶＣ´超の閾値電圧を有するセルトランジスタＭＴは、それぞれ、制御ゲート電極において読み出し電圧ＶＡ´、ＶＢ´、およびＶＣ´を受け取っていてもオフを維持する。一方、読み出し電圧ＶＡ´、ＶＢ´、およびＶＣ´以下の閾値電圧を有するセルトランジスタＭＴは、それぞれ、制御ゲート電極において読み出し電圧ＶＡ´、ＶＢ´、およびＶＣ´を受け取っていると、オンしている。電圧Ｖｒｅａｄは、いずれのセルトランジスタＭＴの閾値電圧よりも高い。
【００５４】
１セルトランジスタＭＴ当たり複数ビットのデータの保持の場合、１つのセルユニットＣＵのセルトランジスタＭＴのある同じ位置のビットのデータの組は、１つのページを構成する。１セルトランジスタＭＴ当たり２ビットのデータの保持の場合、１つのセルユニットＣＵのセルトランジスタＭＴの上位ビットのデータの組は、アッパーページを構成する。１つのセルユニットＣＵのセルトランジスタＭＴの下位ビットのデータの組は、ロワーページを構成する。
【００５５】
Ａレベル、Ｂレベル、およびＣレベルへの書き込みのベリファイのために、ベリファイ電圧ＡＶ、ＢＶ、およびＣＶが使用される。Ａレベル、Ｂレベル、およびＣレベルへと書き込まれる選択セルトランジスタＭＴがそれぞれベリファイ電圧ＡＶ、ＢＶ、およびＣＶ以上の大きさの閾値電圧を有していれば、当該レベルへとプログラムされるセルトランジスタＭＴへのプログラムが完了したと判断される。ベリファイ電圧ＢＶおよびＣＶは、それぞれベリファイ電圧ＡＶおよびＢＶより高い。
【００５６】
電圧ＶＡは、読み出し電圧ＶＡ´より高くベリファイ電圧ＡＶより低い。電圧ＶＢは、読み出し電圧ＶＢ´より高くベリファイ電圧ＢＶより低い。電圧ＶＣは、読み出し電圧ＶＣ´より高くベリファイ電圧ＣＶより低い。電圧ＶＡ、ＶＢ、およびＶＣの用途についていては後述される。
【００５７】
３ビット以上のデータも、ここまで記述された原理の拡張により１つのセルトランジスタＭＴよって保持されることが可能である。
【００５８】
＜１−１−５．データラッチ＞
図６は、センスアンプ１６、データラッチセット１８、およびデータ保持領域２９ａの詳細を示す。センスアンプ１６は、１ページ中のビットの数と同じ数のセンスアンプ回路ＳＡＣを含む。各センスアンプ回路ＳＡＣは、１つのビット線ＢＬに読み出される電位をセンスし、また１つのビット線ＢＬにデータを転送する。
【００５９】
データラッチセット１８は、データラッチＸＤＬ、ＵＤＬ、およびＬＤＬを含む。データラッチＸＤＬ、ＵＤＬ、およびＬＤＬの各々は、１ページの大きさのデータを保持でき、１ページ中のビットの数と同じ数のデータラッチ回路ＤＬＣを含む。各データラッチ回路ＤＬＣは、１ビットのデータを保持できる。以下、データラッチＬＤＬ、ＵＤＬ、およびＸＤＬのデータラッチ回路ＤＬＣは、それぞれ、データラッチ回路ＬＤＬＣ、ＵＤＬＣ、およびＸＤＬＣと称される場合がある。
【００６０】
データ保持領域２９ａは、データ保持領域ＤＬ０、ＤＬ１、ＤＬ２、ＤＬ３、ＤＬ４、およびＤＬ５を含む。データ保持領域ＤＬ０〜ＤＬ５の各々は、１ページ中のビットの数と同じ数のビットのデータを保持できる。データ保持領域ＤＬ０〜ＤＬ５の１ビットのデータを保持する部分は、データ保持部分ＤＬＡと称される。以下、データ保持領域ＤＬ０〜ＤＬ５のデータ保持部分ＤＬＡは、それぞれ、データ保持部分ＤＬ０Ａ、ＤＬ１Ａ、ＤＬ２Ａ、ＤＬ３Ａ、ＤＬ４Ａ、およびＤＬ５Ａと称される場合がある。
【００６１】
１ページサイズのデータのうちで同じ位置のビットを扱うデータラッチ回路ＸＤＬＣ、ＬＤＬＣ、およびＵＤＬＣ、データ保持領域ＤＬ０Ａ、ＤＬ１Ａ、ＤＬ２Ａ、ＤＬ３Ａ、ＤＬ４Ａ、およびＤＬ５Ａ、ならびにセンスアンプ回路ＳＡＣは、互いに関連付けられている。互いに関連付けられたデータラッチ回路ＸＤＬＣ、ＬＤＬＣ、およびＵＤＬＣ、データ保持領域ＤＬ０Ａ〜ＤＬ５Ａ、ならびにセンスアンプ回路ＳＡＣの組は、読み出し対象の１つのセルユニットＣＵ中の各選択セルトランジスタＭＴから対応するビット線ＢＬを介して読み出されたデータを扱う。互いに関連付けられたデータラッチ回路ＸＤＬＣ、ＬＤＬＣ、およびＵＤＬＣ、データ保持領域ＤＬ０Ａ〜ＤＬ５Ａ、ならびにセンスアンプ回路ＳＡＣ中のビットの組は、関連ビット列ＢＳと称される。
【００６２】
＜１−２．動作＞
図７〜図２１を参照して、メモリシステム１の動作が記述される。
【００６３】
図７は、第１実施形態のメモリシステム１の動作の概要のフローを示す。図７に示されるように、ホスト装置２は、ある第１書き込み要求データの書き込みをメモリシステム１に要求する（ステップＳ１）。メモリコントローラ１２０は、要求を受け取ると、第１書き込み要求データから、誤り訂正用データの付加および物理アドレスの付与等を通じて、第１書き込みデータを生成する。次いで、メモリコントローラ１２０は、第１書き込みデータが書き込まれる記憶媒体１１０（選択記憶媒体１１０ｔ）に第１書き込みデータの書き込みを指示する（ステップＳ２）。選択記憶媒体１１０ｔは、指示を受け取ると、第１書き込みデータを、自身の記憶空間のうちの指定された物理アドレスに書き込む。選択記憶媒体１１０ｔは、指示された書き込みの間、ビジー信号をメモリコントローラ１２０に送信する。
【００６４】
ステップＳ３において、ホスト装置２は、第１読み出し要求データの読み出しをメモリシステム１に要求する。第１読み出し要求データは、ステップＳ１で要求された第１書き込みデータであり、すなわち、第１書き込み要求データの論理アドレスと同じ論理アドレスを有する。メモリシステム１による第１読み出し要求データの読み出し要求の受信の時点で、第１書き込みデータの書き込みは完了していない場合がある。以下の記述は、そのような例に基づく。メモリコントローラ１２０は、第１書き込みデータの書き込みが完了する前に、第１読み出し要求データの読み出し要求を受信したことを、例えば選択記憶媒体１１０ｔのビジー信号から認識する。すなわち、メモリコントローラ１２０は、ステップＳ２で行われた書き込み指示に応答して選択記憶媒体１１０ｔからビジー信号が継続している。このことから、メモリコントローラ１２０は、第１書き込みデータの書き込みが完了していないことを知得することができる。
【００６５】
メモリコントローラ１２０は、第１書き込みデータの書き込み完了前に第１読み出し要求データの読み出しを要求されたことを知ると、第１書き込みデータの書き込みの中断を選択記憶媒体１１０ｔに指示する（ステップＳ４）。
【００６６】
ステップＳ５において、メモリコントローラ１２０は、選択記憶媒体１１０ｔからある種のデータを読み出し、読み出されたデータを使用して第１書き込みデータを復元する。ステップＳ６において、メモリコントローラ１２０は、第１書き込みデータに対して誤り訂正を行って、第１読み出し要求データを得る。
【００６７】
ステップＳ７において、メモリコントローラ１２０は、第１書き込みデータの書き込みの再開を選択記憶媒体１１０ｔに指示する。ステップＳ８において、メモリコントローラ１２０は、第１読み出し要求データをホスト装置２に送信する。ステップＳ８はステップＳ７に先行してもよい。
【００６８】
次に、図７のフローの詳細が記述される。
【００６９】
図８は、第１実施形態のメモリシステム１での書き込みの間にメモリコントローラ１２０および記憶媒体１１０の間を流れる信号の例を示し、図７のステップＳ１の間に流れる信号を示す。図８に示されるように、メモリコントローラ１２０は、選択記憶媒体１１０ｔに書き込みコマンドを送信する。書き込みコマンドは、選択記憶媒体１１０ｔ中の書き込み先のセルユニット（選択セルユニット）ＣＵおよび書き込み先のページ（アッパーページまたはロワーページ）を指定する。
【００７０】
メモリコントローラ１２０は、書き込みコマンドに続いて、書き込みデータをバッファメモリ２５から選択記憶媒体１１０ｔに送信する。書き込みデータが選択記憶媒体１１０ｔに送信されると、バッファメモリ２５のうち、送信された書き込みデータを保持していた領域は解放される場合がある。この場合、書き込みデータは、メモリコントローラ１２０中から失われる。
【００７１】
図９は、第１実施形態のメモリシステム１の動作の一部の概要を示す。具体的には、図９は、メモリシステム１が、書き込みを指示されたデータを記憶媒体１１０に書き込んでいる間に、書き込みを指示されたデータの読み出しをホスト装置２から指示されたときの動作を示し、図７のフローの一部の詳細を示す。図９において、細い矢印は制御信号の送信を示し、太い矢印はデータの送信を示す。
【００７２】
図９に示されるように、ステップＳ３においてホスト装置２は、第１読み出し要求データの読み出しをメモリシステム１に要求する。読み出し要求は、変換層コントローラ２７により受け取られる（ステップＳ３＿１）。変換層コントローラ２７は、第１読み出し要求データを保持する物理アドレスをアドレスの変換により知得し、知得された物理アドレスからの読み出しを行うためのコマンドの発行をコマンド発送部２８に指示する（ステップＳ３＿２）。物理アドレスは、選択記憶媒体１１０ｔ中の記憶空間を指定している。ステップＳ３＿１およびＳ３＿２は、ステップＳ３の一部である。
【００７３】
コマンド発送部２８は、受け取られた物理アドレスから、第１読み出し要求データが、選択記憶媒体１００ｔにおいて第１書き込みデータが書き込まれている物理アドレスを指定していることを知る。すなわち、選択記憶媒体１００ｔは、コマンド発送部２８が第１読み出し要求データの読み出し要求を受け取った時点でビジー信号を送信している。よって、コマンド発送部２８は、第１読み出し要求データが選択記憶媒体１００ｔにおいて書き込まれている最中であることを知る。
【００７４】
コマンド発送部２８は、読み出し要求が、書き込み中の第１書き込みデータが書き込まれている物理アドレスを指定していることを知ると、書き込みデータ復元を書き込みデータ復元コントローラ２９に要求する（ステップＳ４＿１）。書き込みデータ復元コントローラ２９は、要求を受け取ると、選択記憶媒体１１０ｔと接続されたＮＡＮＤコントローラ２６（選択ＮＡＮＤコントローラ２６ｔ）に、選択記憶媒体１１０ｔでの第１書き込みデータの書き込みの中断を指示する（ステップＳ４＿２）。選択ＮＡＮＤコントローラ２６ｔは、指示を受け取ると、選択記憶媒体１１０ｔでの進行中の処理の中断を指示する中断コマンドを選択記憶媒体１１０に送信する（ステップＳ４＿３）。選択記憶媒体１１０は、中断コマンドを受け取ると、進行中の処理、すなわち第１書き込みデータの書き込みを中断する。第１書き込みデータの書き込みの開始から中断コマンドの受信までの期間の長さに基づいて、中断された時点の書き込みの状態は、種々の段階であり得る。そして、段階に基づいて、第１書き込みデータの一部は、選択記憶媒体１１０ｔの中で失われている。ステップＳ４＿１、Ｓ４＿２、およびＳ４＿３は、ステップＳ４の一部である。
【００７５】
書き込みデータ復元コントローラ２９は、中断指示の送信に続けて、選択ＮＡＮＤコントローラ２６ｔに、復元用データの読み出しを指示する（ステップＳ５＿１）。復元用データは、第１書き込みデータを、ひいては第１読み出し要求データを復元するために使用され、後に詳述される。
【００７６】
選択ＮＡＮＤコントローラ２６ｔは、指示を受け取ると、復元用データを選択記憶媒体１１０ｔから読み出すための一連の処理を行う。一連の処理は、種々の１または複数の読み出しコマンドを選択記憶媒体１１０ｔに送信することを含む（ステップＳ５＿２）。復元用データの読み出しについては、後に詳述される。
【００７７】
選択記憶媒体１１０ｔは、コマンドを受け取ると、指示されたデータ（復元用データ）を選択ＮＡＮＤコントローラ２６ｔに送信する（ステップＳ５＿３）。選択ＮＡＮＤコントローラ２６ｔは、復元用データを受け取ると、受け取られた復元用データを書き込みデータ復元コントローラ２９に送信する（ステップＳ５＿４）。
【００７８】
書き込みデータ復元コントローラ２９は、復元用データを受け取ると、復元用データを使用して、第１書き込みデータを復元する（ステップＳ５＿５）。復元の詳細については、後に詳述される。ステップＳ５＿１、Ｓ５＿２、Ｓ５＿３、Ｓ５＿４、およびＳ５＿５は、ステップＳ５の一部である。
【００７９】
書き込みデータ復元コントローラ２９は、ＥＣＣ回路３０を使用して、第１書き込みデータの誤りを検出および誤りがある場合はこれを訂正して、第１読み出し要求データを生成し、生成された第１読み出し要求データをバッファメモリ２５に送信する（ステップＳ６）。
【００８０】
書き込みデータ復元コントローラ２９は、データの復元が完了すると、選択ＮＡＮＤコントローラ２６ｔに、選択記憶媒体１１０ｔでの書き込み再開を指示する（ステップＳ７＿１）。選択ＮＡＮＤコントローラ２６ｔは、指示を受け取ると、書き込み再開コマンドを選択記憶媒体１１０ｔに送信する（ステップＳ７＿２）。選択記憶媒体１１０ｔは、コマンドを受け取ると、中断していた第１書き込みデータの書き込みを再開する。ステップＳ７＿１およびステップＳ７＿２は、ステップＳ７の一部である。
【００８１】
書き込みデータ復元コントローラ２９はまた、データの復元が完了すると、読み出し完了通知をコマンド発送部２８に送信する（ステップＳ８＿１）。読み出し完了通知は、変換層コントローラ２７を経由して、バッファメモリ２５に転送される。バッファメモリ２５は、読み出し完了通知を受け取ると、バッファメモリ２５中の第１読み出し要求データの出力をホストインターフェイス２１に指示する（ステップＳ８＿２）とともに、第１読み出し要求データをホストインターフェイス２１に送信する（ステップＳ８＿３）。ステップＳ８＿１、Ｓ８＿２、およびＳ８＿３は、ステップＳ８の一部である。第１読み出し要求データは、ホストインターフェイス２１からホスト装置２へ送信される。こうして、ステップＳ１で要求された処理の実行が完了する。
【００８２】
図１０〜図２１を参照して、書き込みデータの復元が記述される。上記のように、書き込みデータは、選択記憶媒体１１０ｔ中の復元用データから復元される。復元用データは、書き込みの段階に応じた状態にある。このため、書き込みデータの復元の記述に先立って、図１０〜図１３を参照して、書き込みの概略が記述される。
【００８３】
図１０は、第１実施形態のメモリシステム１での書き込みを示す。図１０に示されるように、書き込み対象の選択記憶媒体１１０ｔは、選択セルユニットＣＵのロワーページに書き込まれるデータ（ロワーページ書き込みデータ）を受け取る。ロワーページ書き込みデータは、データラッチＸＤＬによって受け取られ、次いで、データラッチＵＤＬに転送される。
【００８４】
また、選択記憶媒体１１０ｔは、選択セルユニットＣＵのアッパーページに書き込まれるデータ（アッパーページ書き込みデータ）を受け取る。アッパーページ書き込みデータは、データラッチＸＤＬによって受け取られ、次いで、データラッチＬＤＬに転送される。
【００８５】
アッパーページ書き込みデータおよびロワーページ書き込みデータから、選択セルユニットＣＵ中の各選択セルトランジスタＭＴが、複数のレベルのうちのどのレベル（目標レベル）へと書き込まれるかが定まる。表記「ＬＤＬ」および「ＵＤＬ」に並ぶ各箱は、それぞれデータラッチＬＤＬおよびＵＤＬの１つのデータラッチ回路ＤＬＣと、保持される値を示す。各選択セルトランジスタＭＴが目標のレベルに達するまで、選択トランジスタＭＴに対して、プログラムループが繰り返される。プログラムループは、プログラム、ベリファイ、検出を含む。
【００８６】
プログラムは、選択セルトランジスタＭＴへのプログラム電圧の印加を通じて閾値電圧を上げる動作を指す。ベリファイは、選択セルトランジスタＭＴが目標レベルに達したかの判断を指す。検出は、目標レベルに達したセルトランジスタを計数し、各レベルへの書き込みが完了したかの判断を指す。各センスアンプ回路ＳＡＣは、対応するセルトランジスタＭＴが目標レベルに達するまで、プログラム電圧の印加を許可する。
【００８７】
図１１は、第１実施形態のメモリシステム１での書き込みの間にワード線ＷＬに印加される電圧を時間に沿って示し、また、関連する信号を示す。図１１に示されるように、第１プログラムループにおいて、シーケンサ１３は、選択セルユニットＣＵと接続されたワード線（選択ワード線）に電圧Ｖｐｇｍｓを印加する。また、シーケンサ１３は、ある第ｘ（ｘは自然数）プログラムループにおいて、第ｘ−１プログラムループでのプログラム電圧より増分ΔＶｐｇｍ大きいプログラム電圧を選択ワード線ＷＬに印加する。
【００８８】
プログラムの間、閾値電圧を上昇される選択セルトランジスタＭＴを含んだストリングＳＴＲと接続されたビット線ＢＬの電圧は、対応するセンスアンプ回路ＳＡＣによって、低い電圧（例えば電圧Ｖｓｓ）とされる。この状態は、プログラム可能状態と称される。プログラム可能状態のストリング（プログラム可能ストリング）ＳＴＲでは、プログラム電圧の印加によって、高電圧を印加されて、電子を注入される。
【００８９】
閾値電圧を上昇されない選択セルトランジスタＭＴを含んだストリングＳＴＲと接続されたビット線ＢＬの電圧は、対応するセンスアンプ回路ＳＡＣによって、高い電圧（例えば電圧Ｖｉｎｈ）とされる（Ｖｉｎｈ＞Ｖｓｓ）。この状態は、プログラム禁止状態と称される。プログラム禁止状態のストリング（プログラム禁止ストリング）ＳＴＲでは、プログラム電圧の印加によっても、高電圧を印加されず、電子を全くまたはほとんど注入されない。
【００９０】
一方、プログラムの間、シーケンサ１３は、非選択ワード線ＷＬに電圧Ｖｐａｓｓを印加する。電圧Ｖｐａｓｓは、プログラム可能ストリングＳＴＲ中の非選択セルトランジスタ（選択セルトランジスタＭＴ以外のセルトランジスタ）ＭＴおよびプログラム禁止ストリングＳＴＲ中の選択トランジスタＭＴでの閾値電圧上昇を抑制できる大きさを有する。
【００９１】
各ベリファイにおいて、シーケンサ１３は、選択ワード線ＷＬにベリファイ電圧ＡＶ、ＢＶ、およびＣＶの１つまたは複数を印加する。ベリファイの間、選択ワード線ＷＬ以外のワード線（非選択ワード線）ＷＬは電圧Ｖｒｅａｄを印加され、非選択トランジスタＭＴはオンしている。このため、各ストリングＳＴＲにおいて１つの選択セルトランジスタＭＴのオンまたはオフにより、当該ストリングＳＴＲを電流（セル電流）が流れるか、流れないかが定まる。
【００９２】
各プログラムループでの検出において、シーケンサ１３は、各β（βは、Ａ、Ｂ、またはＣ）についてβレベルを目標レベルとする全選択セルトランジスタＭＴのうちある割合の選択セルトランジスタＭＴがβレベルに達したかを判断する。この判断が真の場合、βレベルへの書き込みは終了し、以降のプログラムループにおいてβレベルのためのベリファイは行われない。βレベルへの書き込みの終了は、信号ＰＲＯＣＯＭＰ＿βがハイレベルになることによって示される。
【００９３】
図１２（ａ）〜図１２（ｅ）および図１３（ａ）〜図１３（ｄ）は、各々、第１実施形態のメモリシステムでの書き込みの間のデータラッチＵＤＬおよびＬＤＬならびにセンスアンプＳＡの一状態を示す。表記「ＵＤＬ」に並ぶ各桝は、１つのデータラッチ回路ＵＤＬＣ中のデータを示す。表記「ＬＤＬ」の横に並ぶ各桝は、１つのデータラッチ回路ＬＤＬＣ中のデータを示す。表記「ＳＡ」の横に並ぶ各桝は、１つのセンスアンプ回路ＳＡＣ中のデータを示す。縦方向に並ぶデータの組は、１つの関連ビット列ＢＳに含まれている。
【００９４】
データラッチＵＤＬおよびＬＤＬ、ならびにセンスアンプＳＡの各々における１ページの大きさのデータのうち、Ｅｒ、Ａ、Ｂ、およびＣレベルを目標レベルとする選択セルトランジスタＭＴと関連付けられた４つのビットのみが示される。
【００９５】
図１２（ａ）は、ロワーページ書き込みデータがデータラッチＵＤＬに入力された後の状態を示す。ロワーページ書き込みデータは、目標Ｅｒ、Ａ、Ｂ、およびＣレベルの選択セルトランジスタＭＴに対応するビットにおいて、それぞれ、データ１、データ１、データ０、データ０を有する。
【００９６】
図１２（ｂ）は、アッパーページ書き込みデータがデータラッチＬＤＬに入力された後の状態を示す。アッパーページ書き込みデータは、目標Ｅｒ、Ａ、Ｂ、およびＣレベルの選択セルトランジスタＭＴに対応するビットにおいて、それぞれ、データ１、データ０、データ０、データ１を保持する。
【００９７】
図１２（ｃ）は、あるプログラムループの間の状態を示す。各センスアンプ回路ＳＡＣは、関連付けられたデータラッチ回路ＵＤＬＣおよびＬＤＬＣがともにデータ１を保持している場合、当該センスアンプ回路ＳＡＣと接続されているビット線ＢＬに高電圧（例えばＶｉｎｈ）を印加して、プログラム禁止状態を作る。プログラム禁止状態を作るセンスアンプ回路ＳＡＣは、図において“１”を有していることにより示される。プログラム可能状態を作るセンスアンプ回路ＳＡＣは、図において“０”を有していることにより示される。図１２（ｃ）では、例として、目標Ｅｒレベルについてのみ、プログラム禁止状態が形成されている。
【００９８】
図１２（ｄ）は、あるプログラムループでのＡレベルのベリファイが行われている間の状態を示す。
【００９９】
ベリファイ電圧βＶ以下の閾値電圧を有する選択セルトランジスタＭＴは、ベリファイ電圧βＶを受け取るとオンする。オンした選択セルトランジスタＭＴを含んだストリングＳＴＲをセル電流が流れ、オンした選択セルトランジスタＭＴと接続されたセンスアンプ回路ＳＡＣは、センス結果を有するノードにおいて、０データを保持する。
【０１００】
一方、ベリファイ電圧βＶ超の閾値電圧を有する選択セルトランジスタＭＴは、ベリファイ電圧βＶを受け取ってもオフを維持する。オフしている選択セルトランジスタＭＴを含んだストリングＳＴＲは、セル電流をほとんど流さず、オフしている選択セルトランジスタＭＴと接続されたセンスアンプ回路ＳＡＣは、センス結果を有するノードにおいて、１データを保持する。
【０１０１】
シーケンサ１３は、βレベルのベリファイにおいて、βレベルより下のレベルを目標レベルとするセルトランジスタＭＴをベリファイの対象としない。
【０１０２】
シーケンサ１３は、目標Ａレベルの選択セルトランジスタＭＴと関連付けられた各関連ビット列ＢＳに対して、論理演算（ＳＡ＆ＵＤＬ）｜ＬＤＬを行う。パラメータＳＡは、センスアンプ回路ＳＡＣのセンス結果を有するノードの値であり、引数ＵＤＬおよびＬＤＬは、それぞれ、データラッチ回路ＵＤＬＣおよびＬＤＬＣ中のビットの値である。演算子“＆”は論理積を表し、演算子“｜”は論理和を表す。各関連ビット列ＢＳに対する演算の結果は、当該ビット列のデータラッチＬＤＬ中のビットに上書きされる。
【０１０３】
ある選択セルトランジスタＭＴがベリファイにパスすると、当該選択セルトランジスタＭＴと関連付けられた関連ビット列ＢＳのデータラッチＬＤＬ中のビットはデータ１を有するに至る。このため、書き込み中のアッパーページ書き込みデータは、目標Ａレベルのベリファイにパスした選択セルトランジスタＭＴに対応するビットにおいて、元の値を失う。書き込み中のアッパーページデータは、ベリファイの結果を反映しており、元の書き込みアッパーページと相違する。このようなベリファイの結果を含んでいて、書き込みアッパーページデータと相違するデータは、以下、不完全アッパーページ書き込みデータと称される。
【０１０４】
プログラムループの繰り返しに連れて、不完全アッパーページ書き込みデータのうち、データ１を有するに至るビットの数が増える。
【０１０５】
一方、上記のように、Ａレベルのベリファイにおいて、目標Ｅｒレベルの選択セルトランジスタＭＴをベリファイの対象としない。このため、センスアンプ回路ＳＡＣ中のデータは、目標Ｅｒレベルの選択セルトランジスタＭＴに対応するビットにおいて１データを維持する。よって、書き込み中のアッパーページ書き込みデータは、目標Ｅｒレベルの選択セルトランジスタＭＴに対応するビットにおいて値を維持する。また、シーケンサ１３は、目標ＢおよびＣレベルについても演算を行うが、演算の結果、不完全アッパーページ書き込みデータは、目標ＢおよびＣレベルの選択セルトランジスタＭＴに対応するビットにおいて値を維持する。
【０１０６】
図１２（ｅ）は、Ａレベルのベリファイを含むあるプログラムループでの計数の間の状態を示す。シーケンサ１３は、不完全アッパーページ書き込みデータが、目標Ａレベルに対応する全ビットのうちの第１基準数以上のビットにおいて１データを有するに至るまで、Ａレベルのベリファイを行う。第１基準数は、メモリシステム１に要求される性能、記憶容量、および（または）寿命と、プログラム後に生じるビットエラーに対する訂正能力との間のトレードオフにより決定される。シーケンサ１３は、条件が満たされると、データラッチＬＤＬ中の不完全アッパーページ書き込みデータの目標Ａレベルの全ビットのうちの０データを１データに書き換える。そして、Ａレベルのベリファイが完了したと決定する。このように、第１基準数以上のビットにおいて１データを有するに至ると、βレベルのベリファイにパスしていないビットは、１データを有するに至る。このようなビットは、目標βレベルに達していないため、正しいデータを保持していない。しかしながら、このような誤ったデータは、ＥＣＣ回路３０によって訂正される。
【０１０７】
図１３（ａ）は、あるプログラムループでのＢレベルのベリファイが行われている間の状態を示す。シーケンサ１３は、目標Ｂレベルの選択セルトランジスタＭＴと関連付けられた各関連ビット列ＢＳに対して、第１式（ＳＡ＆￣ＬＤＬ）｜ＵＤＬ、および第２式（ＳＡ＆￣ＵＤＬ）｜ＬＤＬの論理演算を行う。各関連ビット列ＢＳに対する第１式の演算の結果は当該ビット列ＢＳのデータラッチＵＤＬ中のビットに上書きされ、各関連ビット列ＢＳに対する第２式の演算の結果は当該ビット列のデータラッチＬＤＬ中のビットに上書きされる。目標Ｂレベルのベリファイのパスにより、不完全アッパーページ書き込みデータは、目標Ｂレベルのベリファイにパスした選択セルトランジスタＭＴに対応するビットにおいて、元の値を失う。
【０１０８】
書き込み中のロワーページデータは、目標Ｂレベルにパスした選択セルトランジスタＭＴに対応するビットにおいて、元の値を失う。書き込み中のロワーページデータは、ベリファイの結果を反映しており、元の書き込みロワーページと相違する。このようなベリファイの結果を含んでいて、書き込みロワーページデータと相違するデータは、以下、不完全ロワーページ書き込みデータと称される。
【０１０９】
一方、上記のように、Ｂレベルのベリファイにおいて、目標ＥｒまたはＡレベルの選択セルトランジスタＭＴをベリファイの対象としない。このため、センスアンプ回路ＳＡＣ中のデータは、目標ＥｒおよびＡレベルの選択セルトランジスタＭＴに対応するビットにおいて１データを維持する。よって、不完全アッパーページ書き込みデータは、目標ＥｒおよびＡレベルの選択セルトランジスタＭＴに対応するビットにおいて値を維持する。同様に、不完全ロワーページ書き込みデータは、目標ＥｒおよびＡレベルの選択セルトランジスタＭＴに対応するビットにおいて値を維持する。また、シーケンサ１３は、目標Ｃレベルについても演算を行うが、演算の結果、不完全アッパーページ書き込みデータは、目標Ｃレベルの選択セルトランジスタＭＴに対応するビットにおいて値を維持する。
【０１１０】
図１３（ｂ）は、Ｂレベルのベリファイを含むあるプログラムループでの計数の間の状態を示す。シーケンサ１３は、不完全アッパーページ書き込みデータおよび／または不完全ロワーページ書き込みデータが、目標Ｂレベルに対応する全ビットのうち第２基準数以上のビットにおいて１データを有するに至るまで、Ｂレベルのベリファイを行う。第２基準数は、メモリシステム１に要求される性能、記憶容量、および（または）寿命と、プログラム後に生じるビットエラーに対する訂正能力との間のトレードオフにより決定される。シーケンサ１３は、条件が満たされると、データラッチＬＤＬ中の不完全アッパーページ書き込みデータおよびデータラッチＵＤＬ中の不完全ロワーページ書き込みデータの目標Ｂレベルの全ビットのうちの０データを１データに書き換える。そして、Ｂレベルのベリファイが完了したと決定する。
【０１１１】
図１３（ｃ）は、あるプログラムループでのＣレベルのベリファイが行われている間の状態を示す。シーケンサ１３は、目標Ｃレベルの選択セルトランジスタＭＴと関連付けられている各関連ビット列ＢＳに対して、式ＳＡ｜ＵＤＬの論理演算を行う。各関連ビット列ＢＳに対する演算の結果は当該ビット列ＢＳのデータラッチＵＤＬ中のビットに上書きされる。目標Ｃレベルのベリファイのパスにより、不完全ロワーページ書き込みデータは、目標Ｃレベルのベリファイにパスした選択セルトランジスタＭＴに対応するビットにおいて、元の値を失う。
【０１１２】
一方、上記のように、Ｃレベルのベリファイにおいて、目標Ｅｒ、Ａ、またはＢレベルの選択セルトランジスタＭＴをベリファイの対象としない。このため、センスアンプ回路ＳＡＣ中のデータは、目標Ｅｒ、Ａ、またはＢレベルの選択セルトランジスタＭＴに対応するビットにおいて１データを維持する。よって、不完全ロワーページ書き込みデータは、目標Ｅｒ、Ａ、およびＢレベルの選択セルトランジスタＭＴに対応するビットにおいて値を維持する。
【０１１３】
図１３（ｄ）は、Ｃレベルのベリファイを含むあるプログラムループでの計数の間の状態を示す。シーケンサ１３は、不完全ロワーページ書き込みデータが、目標Ｃレベルに対応する全ビットのうちの第３基準数以上のビットにおいて１データを有するに至るまで、Ｃレベルのベリファイを行う。第３基準数は、メモリシステム１に要求される性能、記憶容量、および（または）寿命と、プログラム後に生じるビットエラーに対する訂正能力との間のトレードオフにより決定される。シーケンサ１３は、条件が満たされると、データラッチＵＤＬ中の不完全ロワーページ書き込みデータの目標Ｃレベルの全ビットのうち０データを１データに書き換える。そして、Ｃレベルのベリファイが完了したと決定する。
【０１１４】
図１４は、第１実施形態のメモリシステム１での書き込みデータ復元の全体の概略的なフローを示す。
【０１１５】
サブステップＳＳ１、ＳＳ２、ＳＳ３、ＳＳ４、およびＳＳ５は、図９のステップＳ５＿１〜Ｓ５＿４の詳細に相当する。サブステップＳＳ１において、書き込みデータ復元コントローラ２９は、コマンド発送部２８、選択ＮＡＮＤコントローラ２６ｔを介して、データラッチＵＤＬ中のデータの出力を指示するコマンドを選択記憶媒体１１０ｔに送信する。選択記憶媒体１１０ｔは、コマンドを受け取ると、データラッチＵＤＬのデータ（ＵＤＬデータ）をメモリコントローラ１２０に送信する。ＵＤＬデータは、メモリコントローラ１２０により受け取られ、次いで、書き込みデータ復元コントローラ２９の制御によって、データ保持領域ＤＬ０に保持される。
【０１１６】
サブステップＳＳ２において、書き込みデータ復元コントローラ２９は、コマンド発送部２８、選択ＮＡＮＤコントローラ２６ｔを介して、データラッチＬＤＬ中のデータの出力を指示するコマンドを選択記憶媒体１１０ｔに送信する。選択記憶媒体１１０ｔは、コマンドを受け取ると、データラッチＬＤＬのデータ（ＬＤＬデータ）をメモリコントローラ１２０に送信する。ＬＤＬデータは、メモリコントローラ１２０により受け取られ、次いで、書き込みデータ復元コントローラ２９の制御によって、データ保持領域ＤＬ１に保持される。
【０１１７】
サブステップＳＳ３において、書き込みデータ復元コントローラ２９は、コマンド発送部２８、選択ＮＡＮＤコントローラ２６ｔを介して、選択セルユニットＣＵからの読み出し電圧ＶＡを指定した単レベル読み出し（Ａ読み出し）を指示するコマンド（Ａ読み出しコマンド）を選択記憶媒体１１０ｔに送信する。
【０１１８】
読み出し電圧Ｖβを指定した単レベル読み出しコマンドは、１つの選択セルユニットＣＵから読み出し電圧Ｖβを使用した読み出しを指示する。選択記憶媒体１１０ｔは、読み出し電圧Ｖβを指定した単レベル読み出しコマンドを受け取ると、選択セルユニットＣＵから、読み出し電圧Ｖβを使用してデータを読み出して、読み出されたデータ（単レベル読み出しデータ）をメモリコントローラ１２０に送信する。単レベル読み出しデータは、選択セルユニットＣＵ中の選択セルトランジスタＭＴのそれぞれの閾値電圧に基づくビットの組を含む。単レベル読み出しデータは、各ビットにおいて、対応する選択セルトランジスタＭＴが読み出し電圧Ｖβ以下の閾値電圧を有する場合、０データを有する。単レベル読み出しデータは、各ビットにおいて、対応する選択セルトランジスタＭＴが読み出し電圧Ｖβ超の閾値電圧を有する場合、１データを有する。
【０１１９】
選択記憶媒体１１０ｔは、サブステップＳＳ３において、Ａ読み出しコマンドを受け取ると、選択セルユニットＣＵに対して読み出し電圧ＶＡを用いた単レベル読み出しを行い、読み出されたデータ（ＡＲデータ）をメモリコントローラ１２０に送信する。ＡＲデータはメモリコントローラ１２０により受け取られ、書き込みデータ復元コントローラ２９の制御によってデータ保持領域ＤＬ２に保持される。
【０１２０】
サブステップＳＳ４において、書き込みデータ復元コントローラ２９は、コマンド発送部２８、選択ＮＡＮＤコントローラ２６ｔを介して、選択セルユニットＣＵからの読み出し電圧ＶＢを指定した単レベル読み出し（Ｂ読み出し）を指示するコマンド（Ｂ読み出しコマンド）を選択記憶媒体１１０ｔに送信する。選択記憶媒体１１０ｔは、Ｂ読み出しコマンドを受け取ると、選択セルユニットＣＵに対して読み出し電圧ＶＢを用いた単レベル読み出しを行い、読み出されたデータ（ＢＲデータ）をメモリコントローラ１２０に送信する。ＢＲデータはメモリコントローラ１２０により受け取られ、書き込みデータ復元コントローラ２９の制御によってデータ保持領域ＤＬ３に保持される。
【０１２１】
サブステップＳＳ５において、書き込みデータ復元コントローラ２９は、コマンド発送部２８、選択ＮＡＮＤコントローラ２６ｔを介して、選択セルユニットＣＵからの読み出し電圧ＶＣを指定した単レベル読み出し（Ｃ読み出し）を指示するコマンド（Ｃ読み出しコマンド）を選択記憶媒体１１０ｔに送信する。選択記憶媒体１１０ｔは、Ｃ読み出しコマンドを受け取ると、選択セルユニットＣＵに対して読み出し電圧ＶＣを用いた単レベル読み出しを行い、読み出されたデータ（ＣＲデータ）をメモリコントローラ１２０に送信する。ＣＲデータはメモリコントローラ１２０により受け取られ、書き込みデータ復元コントローラ２９の制御によってデータ保持領域ＤＬ４に保持される。
【０１２２】
記述されたサブステップＳＳ１〜ＳＳ５の順序は例であり、サブステップＳＳ１〜ＳＳ５は、任意の順番で行われることが可能である。
【０１２３】
サブステップＳＳ１１、ＳＳ１２、ＳＳ１３、ＳＳ１４、ＳＳ１５、およびＳＳ１６は、図９のステップＳ５＿５の詳細に相当する。サブステップＳＳ１１〜ＳＳ１６において、書き込みデータ復元コントローラ２９は、各関連ビット列ＢＳに対して、以下に記述される種々の論理演算を行う。各関連ビット列ＢＳに対する論理演算の結果は、当該関連ビット列ＢＳの後述のいずれかのビットに保持される。
【０１２４】
サブステップＳＳ１１において、書き込みデータ復元コントローラ２９は、Ａレベルのベリファイにパス済みで読み出し電圧ＶＡ超かつ読み出し電圧ＶＢ以下の閾値電圧を有する（条件１を満たす）選択セルトランジスタＭＴと関連付けられた関連ビット列ＢＳを特定する。そのために、書き込みデータ復元コントローラ２９は、各関連ビット列ＢＳに対して、例えば式ＤＬ０＆ＤＬ１＆ＤＬ２＆￣ＤＬ３＆￣ＤＬ４の論理演算（論理演算１ａ）を行う。各関連ビット列ＢＳに対する論理演算１ａの結果は、当該関連ビット列ＢＳのデータ保持領域ＤＬ５中のビットにおいて保持される。
【０１２５】
サブステップＳＳ１２において、書き込みデータ復元コントローラ２９は、サブステップＳＳ１１で特定された関連ビット列ＢＳにおいて、データ保持領域ＤＬ１中のビットの１データを０データに戻す。そのために、書き込みデータ復元コントローラ２９は、各関連ビット列ＢＳに対して、例えば、式￣ＤＬ５＆ＤＬ１の論理演算１ｂを行う。各関連ビット列ＢＳに対する論理演算１ｂの結果は、当該関連ビット列ＢＳのデータ保持領域ＤＬ１中のビットに上書きされる。
【０１２６】
サブステップＳＳ１３において、書き込みデータ復元コントローラ２９は、Ｂレベルのベリファイにパス済みで読み出し電圧ＶＢ超かつ読み出し電圧ＶＣ以下の閾値電圧を有する（条件２を満たす）選択セルトランジスタＭＴと関連付けられた関連ビット列ＢＳを特定する。そのために、書き込みデータ復元コントローラ２９は、各関連ビット列ＢＳに対して、例えば式ＤＬ０＆ＤＬ１＆ＤＬ３＆￣ＤＬ４の論理演算（論理演算２ａ）を行う。各関連ビット列ＢＳに対する論理演算２ａの結果は、当該関連ビット列ＢＳのデータ保持領域ＤＬ５中のビットにおいて保持される。
【０１２７】
サブステップＳＳ１４において、書き込みデータ復元コントローラ２９は、サブステップＳＳ１３で特定された関連ビット列ＢＳにおいて、データ保持領域ＤＬ０中のビットの１データを０データに戻す。そのために、書き込みデータ復元コントローラ２９は、各関連ビット列ＢＳに対して、例えば、式￣ＤＬ５＆ＤＬ０の論理演算２ｂを行う。各関連ビット列ＢＳに対する論理演算２ｂの結果は、当該関連ビット列ＢＳのデータ保持領域ＤＬ０中のビットに上書きされる。
【０１２８】
また、サブステップＳＳ１４において、書き込みデータ復元コントローラ２９は、サブステップＳＳ１３で特定された関連ビット列ＢＳにおいて、データ保持領域ＤＬ１中のビットの１データを０データに戻す。そのために、書き込みデータ復元コントローラ２９は、各関連ビット列ＢＳに対して、例えば、式￣ＤＬ５＆ＤＬ１の論理演算２ｃを行う。各関連ビット列ＢＳに対する論理演算２ｃの結果は、当該関連ビット列ＢＳのデータ保持領域ＤＬ１中のビットに上書きされる。
【０１２９】
サブステップＳＳ１５において、書き込みデータ復元コントローラ２９は、Ｃレベルのベリファイにパス済みで読み出し電圧ＶＣ超の閾値電圧を有する（条件３を満たす）選択セルトランジスタＭＴと関連付けられた関連ビット列ＢＳを特定する。そのために、書き込みデータ復元コントローラ２９は、各関連ビット列ＢＳに対して、例えば式ＤＬ０＆ＤＬ１＆ＤＬ４の論理演算（論理演算３ａ）を行う。各関連ビット列ＢＳに対する論理演算３ａの結果は、当該関連ビット列ＢＳのデータ保持領域ＤＬ５中のビットにおいて保持される。
【０１３０】
サブステップＳＳ１６において、書き込みデータ復元コントローラ２９は、サブステップＳＳ１５で特定された関連ビット列ＢＳにおいて、データ保持領域ＤＬ０中のビットの１データを０データに戻す。そのために、書き込みデータ復元コントローラ２９は、各関連ビット列ＢＳに対して、例えば、式￣ＤＬ５＆ＤＬ０の論理演算３ｂを行う。各関連ビット列ＢＳに対する論理演算３ｂの結果は、当該関連ビット列ＢＳのデータ保持領域ＤＬ０中のビットに上書きされる。
【０１３１】
サブステップＳＳ１１〜ＳＳ１６の実行により、アッパーページ書き込みデータがデータ保持領域ＤＬ０において復元され、ロワーページ書き込みデータがデータ保持領域ＤＬ１において復元される。
【０１３２】
図１５は、第１実施形態のメモリコントローラ１２０と選択記憶媒体１１０ｔとの間を流れる信号ＤＱ（ＤＱ０〜ＤＱ７）の例を示す。具体的には、図１５は、図７のステップＳ１、Ｓ４、Ｓ５、およびＳ７の間に流れる信号を示す。メモリコントローラ１２０は、選択記憶媒体１１０ｔに、第１書き込みデータ、および第１書き込みデータの書き込みを指示する書き込みコマンドを送信する。その後、書き込み中断の決定に基づいて、メモリコントローラ１２０は、選択記憶媒体１１０ｔに中断コマンドを送信する。
【０１３３】
メモリコントローラ１２０は、選択記憶媒体１１０ｔにＵＤＬ読み出しコマンドを送信する。選択記憶媒体１１０ｔは、ＵＤＬ読み出しコマンドを受け取ると、ＵＤＬデータをメモリコントローラ１２０に送信する。
【０１３４】
メモリコントローラ１２０は、選択記憶媒体１１０ｔにＬＤＬ読み出しコマンドを送信する。記憶媒体１１０ｔは、ＬＤＬ読み出しコマンドを受け取ると、ＬＤＬデータをメモリコントローラ１２０に送信する。
【０１３５】
メモリコントローラ１２０は、選択記憶媒体１１０ｔにＡ読み出しコマンドを送信する。選択記憶媒体１１０ｔは、Ａ読み出しコマンドを受け取ると、選択セルユニットＣＵからのＡＲデータをメモリコントローラ１２０に送信する。
【０１３６】
メモリコントローラ１２０は、選択記憶媒体１１０ｔにＢ読み出しコマンドを送信する。選択記憶媒体１１０ｔは、Ｂ読み出しコマンドを受け取ると、選択セルユニットＣＵからのＢＲデータをメモリコントローラ１２０に送信する。
【０１３７】
メモリコントローラ１２０は、選択記憶媒体１１０ｔにＣ読み出しコマンドを送信する。選択記憶媒体１１０ｔは、Ｃ読み出しコマンドを受け取ると、選択セルユニットＣＵからのＣＲデータをメモリコントローラ１２０に送信する。
【０１３８】
メモリコントローラ１２０は、書き込み再開コマンドを選択記憶媒体１１０ｔに送信する。
【０１３９】
次に、図１６〜図２１を参照して、書き込みデータ復元の間の関連ビット列ＢＳの状態の遷移が記述される。図１６〜図２０は、第１実施形態のメモリシステム１での書き込みデータ復元の間のいくつかの関連ビット列ＢＳの状態を示す。より具体的には、図１６〜図２０は、目標Ｅｒ、Ａ、Ｂ、およびＣレベルの選択セルトランジスタＭＴと関連付けられている関連ビット列ＢＳを示す。目標Ａ、Ｂ、およびＣレベルについては、ベリファイにパスした、およびフェイルした選択セルトランジスタＭＴと関連付けられている関連ビット列ＢＳが示される。
【０１４０】
図１６（ａ）は、サブステップＳＳ１およびＳＳ２により至る関連ビット列ＢＳの状態を示す。書き込みの中断の時点での選択記憶媒体１１０ｔでの書き込みの進捗に基づいて、ＵＤＬデータは、一部失われており、不完全なロワーページ書き込みデータである。すなわち、目標Ｂレベルでベリファイをパスした選択セルトランジスタＭＴに対応するビットは１に変化している。一方、目標Ｂレベルでベリファイをパスしていない選択セルトランジスタＭＴに対応するビットは０を維持している。同様に、目標Ｃレベルでベリファイをパスした選択セルトランジスタＭＴに対応するビットは１に変化している。目標Ｃレベルでベリファイをパスしていない選択セルトランジスタＭＴに対応するビットは０を維持している。データラッチＵＤＬ中の失われたロワーページ書き込みデータの復元のために、不完全ロワーページ書き込みデータにおいて目標Ｂレベルおよび目標Ｃレベルで１に変化したビットが特定され、かつ特定されたビットが０に戻されることが必要である。
【０１４１】
同様に、書き込みの中断の時点での選択記憶媒体１１０ｔでの書き込みの進捗に基づいて、ＬＤＬデータは、一部失われており、不完全なアッパーページ書き込みデータである。すなわち、目標Ａレベルでベリファイをパスした選択セルトランジスタＭＴに対応するビットは１に変化している。一方、目標Ａレベルでベリファイをパスしていない選択セルトランジスタＭＴに対応するビットは０を維持している。同様に、目標Ｂレベルでベリファイをパスした選択セルトランジスタＭＴに対応するビットは１に変化している。目標Ｂベルでベリファイをパスしていない選択セルトランジスタＭＴに対応するビットは０を維持している。データラッチＬＤＬ中の失われたアッパーページ書き込みデータの復元のために、不完全アッパーページ書き込みデータにおいて目標Ａレベル、目標Ｂレベル、および目標Ｃレベルで１に変化したビットが特定され、かつ特定されたビットが０に戻されることが必要である。
【０１４２】
図１６（ｂ）は、サブステップＳＳ３により至る関連ビット列ＢＳの状態を示す。データ保持領域ＤＬ２中のＡＲデータは、各ビットにおいて、選択セルトランジスタＭＴの目標レベルおよび読み出された時の閾値電圧に基づく値を有する。ＡＲデータは、読み出し電圧ＶＡ以下の閾値電圧を有する選択セルトランジスタＭＴのビットにおいて、０データを有する。ＡＲデータは、読み出し電圧ＶＡ超の閾値電圧を有する選択セルトランジスタＭＴのビットにおいて、１データを有する。ＡＲデータは、目標Ｅｒレベルの選択セルトランジスタＭＴのビットにおいて０データを有する。ＡＲデータは、目標Ａ、Ｂ、またはＣレベルの選択セルトランジスタＭＴのビットにおいて、０データまたは１データを有する。
【０１４３】
図１７（ａ）は、サブステップＳＳ４により至る関連ビット列ＢＳの状態を示す。データ保持領域ＤＬ３中のＢＲデータは、目標ＥｒまたはＡレベルの選択セルトランジスタＭＴのビットにおいて０データを有する。一方、ＢＲデータは、目標ＢまたはＣレベルの選択セルトランジスタのビットにおいて、０データまたは１データを有する。
【０１４４】
図１７（ｂ）は、サブステップＳＳ５により至る関連ビット列ＢＳの状態を示す。データ保持領域ＤＬ４中のＣＲデータは、目標Ｅｒ、Ａ、またはＢレベルの選択セルトランジスタＭＴのビットにおいて０データを有する。一方、ＣＲデータは、目標Ｃレベルの選択セルトランジスタのビットにおいて、０データまたは１データを有する。
【０１４５】
図１８（ａ）は、サブステップＳＳ１１により至る関連ビット列ＢＳの状態を示す。論理演算１ａの結果、データ保持領域ＤＬ５は、条件１を満たす（Ａレベルのベリファイにパス済みで読み出し電圧ＶＡ超かつ読み出し電圧ＶＢ以下の閾値電圧を有する）選択セルトランジスタＭＴに対応するビットにおいて１データを有し、条件１を満たさない選択セルトランジスタＭＴに対応するビットにおいて０データを有する。
【０１４６】
図１８（ｂ）は、サブステップＳＳ１２により至る関連ビット列ＢＳの状態を示す。論理演算１ｂの結果、データ保持領域ＤＬ１は、条件１を満たす選択セルトランジスタＭＴに対応するビットにおいて、０データを有するに至る。一方、データ保持領域ＤＬ５において０データを有する関連ビット列ＢＳでは、論理演算１ｂは、データ保持領域ＤＬ１におけるデータを維持する。データ保持領域ＤＬ１のデータは、データラッチＬＤＬ中に保持されていたものであり、すなわちかつてのアッパーページ書き込みデータである。よって、図１８のステップによって、アッパーページ書き込みデータのうちの目標Ａレベルのビットのデータが復元される。
【０１４７】
図１９（ａ）は、サブステップＳＳ１３により至る関連ビット列ＢＳの状態を示す。論理演算２ａの結果、データ保持領域ＤＬ５は、条件２を満たす（Ｂレベルのベリファイにパス済みで読み出し電圧ＶＢ超かつ読み出し電圧ＶＣ以下の閾値電圧を有する）選択セルトランジスタＭＴに対応するビットにおいて１データを有し、条件２を満たさない選択セルトランジスタＭＴに対応するビットにおいて０データを有する。
【０１４８】
図１９（ｂ）は、サブステップＳＳ１４により至る関連ビット列ＢＳの状態を示す。論理演算２ｂの結果、データ保持領域ＤＬ０は、条件２を満たす選択セルトランジスタＭＴに対応するビットにおいて、０データを有するに至る。一方、データ保持領域ＤＬ５において０データを有する関連ビット列ＢＳでは、論理演算２ｂは、データ保持領域ＤＬ０におけるデータを維持する。データ保持領域ＤＬ０のデータは、データラッチＵＤＬ中に保持されていたものであり、すなわちかつてのロワーページ書き込みデータである。よって、図１９のステップによって、ロワーページ書き込みデータのうちの目標Ｂレベルのビットのデータが復元される。
【０１４９】
また、論理演算２ｃの結果、データ保持領域ＤＬ１は、条件２を満たす選択セルトランジスタＭＴに対応するビットにおいて、０データを有するに至る。一方、データ保持領域ＤＬ５において０データを有する関連ビット列ＢＳでは、論理演算２ｃは、データ保持領域ＤＬ１のデータを維持する。図１９のステップによって、アッパーページ書き込みデータのうちの、目標Ｂレベルのビットのデータが復元される。
【０１５０】
図２０（ａ）は、サブステップＳＳ１５により至る関連ビット列ＢＳの状態を示す。論理演算３ａの結果、データ保持領域ＤＬ５は、条件３を満たす（Ｃレベルのベリファイにパス済みで読み出し電圧ＶＣ超の閾値電圧を有する）選択セルトランジスタＭＴに対応するビットにおいて１データを有し、条件３を満たさない選択セルトランジスタＭＴに対応するビットにおいて０データを有する。
【０１５１】
図２０（ｂ）は、サブステップＳＳ１６により至る関連ビット列ＢＳの状態を示す。論理演算３ｂの結果、データ保持領域ＤＬ０は、条件３を満たす選択セルトランジスタＭＴに対応するビットにおいて、０データを有するに至る。一方、データ保持領域ＤＬ５において０データを有する関連ビット列ＢＳでは、論理演算３ｂは、データ保持領域ＤＬ０におけるデータを維持する。図２０のステップによって、ロワーページ書き込みデータのうちの、目標Ｃレベルのビットのデータが復元される。
【０１５２】
図２１は、第１実施形態のメモリシステム１での書き込みデータ復元の間のいくつかの関連ビット列ＢＳの状態を、図１６〜図２０とは異なる形で示す。上下に並ぶ１列のビットは、１つの関連ビット列ＢＳに含まれるビットである。
【０１５３】
行１は、サブステップＳＳ１により至る状態を示す。データ保持領域ＤＬ０は、書き込み中断の時のデータラッチＵＤＬ中のデータを保持する。このデータは、ベリファイパスしたビットにおいて１データを有する不完全アッパーページ書き込みデータである。不完全アッパーページデータは、目標Ｂレベルで（書き込み中断の時に）Ｂレベルにある選択セルトランジスタＭＴのビット、および目標Ｃレベルで書き込み中断の時にＣレベルにある選択セルトランジスタＭＴのビットは、右下がりの対角線による影を付されているように、０データではなく１データを有する。
【０１５４】
行２は、サブステップＳＳ２により至る状態を示す。データ保持領域ＤＬ１は、書き込み中断の時のデータラッチＬＤＬ中のデータを保持する。このデータは、ベリファイパスしたビットにおいて１データを有する不完全ロワーページ書き込みデータである。不完全ロワーページ書き込みデータは、目標ＡレベルでＡレベルにある選択セルトランジスタＭＴのビット、および目標ＢレベルでＢレベルにある選択セルトランジスタＭＴのビットは、右下がりの対角線による影を付されているように、０データではなく１データを有する。
【０１５５】
行３に示されるように、データ保持領域ＤＬ０およびＤＬＡの両方において１データを有するビットを含んだ関連ビット列ＢＳが特定される。特定されたビットを含んだ関連ビット列ＢＳ（Ｅｒレベルに対応する関連ビット列ＢＳを除く）では、値が書き込みデータでの値から変化している。現在レベルと目標レベルが一致しているビットは、１データを有する。
【０１５６】
行４は、ＡＲデータを示す。ＡＲデータは、Ａ、Ｂ、またはＣレベルにある選択セルトランジスタＭＴのビットにおいて１データを有し、Ｅｒレベルにある選択セルトランジスタＭＴのビットにおいて０データを有する。
【０１５７】
行５は、ＢＲデータを示す。ＢＲデータは、ＢまたはＣレベルにある選択セルトランジスタＭＴのビットにおいて１データを有し、ＥｒまたはＡレベルにある選択セルトランジスタＭＴのビットにおいて０データを有する。
【０１５８】
行６は、ＣＲデータを示す。ＣＲデータは、Ｃレベルにある選択セルトランジスタＭＴのビットにおいて１データを有し、Ｅｒ、Ａ、またはＢレベルにある選択セルトランジスタＭＴのビットにおいて０データを有する。
【０１５９】
行７は、論理演算１ａの結果を示す。論理演算１ａの結果は、右上がりの対角線による影を付されているように、目標Ａレベルと現在レベルが一致する選択セルトランジスタＭＴのビットにおいて１データを有し、残りのビットにおいて０データを有する。
【０１６０】
行８および行９は、論理演算１ｂの結果を示す。論理演算１ｂは、右上がりの対角線による影を付されているように、データ保持領域ＤＬ１のうち、目標Ａレベルと現在レベルが一致する選択セルトランジスタＭＴのビットにおいて０データを復元し、残りのビットにおいて値を維持する。
【０１６１】
行１０は、論理演算２ａの結果を示す。論理演算２ａの結果は、右上がりの対角線による影を付されているように、目標Ｂレベルと現在レベルとが一致する選択セルトランジスタＭＴのビットにおいて１データを有し、残りのビットにおいて０データを有する。
【０１６２】
行１１および行１２は、それぞれ、論理演算２ｂおよび２ｃの結果を示す。論理演算２ｂは、右上がりの対角線による影を付されているように、データ保持領域ＤＬ０のうち、目標Ｂレベルと現在レベルが一致する選択セルトランジスタＭＴのビットにおいて０データを復元し、残りのビットにおいて値を維持する。論理演算２ｃは、右上がりの対角線による影を付されているように、データ保持領域ＤＬ１の目標Ｂレベルと現在レベルが一致する選択セルトランジスタＭＴのビットにおいて０データを復元し、残りのビットにおいて値を維持する。
【０１６３】
行１３は、論理演算３ａの結果を示す。論理演算３ａの結果は、右上がりの対角線による影を付されているように、目標Ｃレベルと現在レベルが一致する選択セルトランジスタＭＴのビットにおいて１データを有し、残りのビットにおいて０データを有する。
【０１６４】
行１４および行１５は、論理演算３ｂの結果を示す。論理演算３ｂは、右上がりの対角線による影を付されているように、データ保持領域ＤＬ０のうち、目標Ｃレベルと現在レベルが一致する選択セルトランジスタＭＴのビットにおいて０データを復元し、残りのビットにおいて値を維持する。
【０１６５】
＜１−３．利点（効果）＞
第１実施形態のメモリシステム１によれば、メモリコントローラ１２０中から失われかつ記憶媒体１１０で書き込まれている最中の書き込みデータが復元されることが可能である。詳細は、以下の通りである。
【０１６６】
ホスト装置２は、メモリシステム１に、あるデータの書き込みを要求し、その後、すぐに当該データの読み出しを要求する場合がある。また、読み出し要求が、書き込み要求データが記憶媒体１１０で書き込まれ始めた後で書き込まれ終わる前にメモリコントローラ１２０で受け取られる場合がある。このような場合、ホスト装置２から書き込み要求されたデータは、上記のように、メモリコントローラ１２０中からは失われている。加えて、書き込み要求されたデータは、記憶媒体１１０からも失われている。上記のように、データラッチセット１８において、書き込みデータが、書き込みの進捗を示すデータによって、部分的に上書き済みだからである。しかも、記憶媒体１１０は、書き込み未完了のデータを選択セルトランジスタＭＴから読み出すこともできない。
【０１６７】
メモリシステム１は、このような書き込み完了前に書き込み要求対象のデータの読み出し要求を受け取ると、書き込みが完了してから、要求された読み出し要求データを出力せざるを得ない。しかしながら、このような読み出しは、メモリシステム１に要求されている読み出しの要件を満たせない場合がある。メモリシステム１による読み出し要求の受信から読み出し要求データの出力までに許容される時間は短く、一方、記憶媒体１１０は書き込みに、読み出しに許容される時間より大幅に長い時間を要するからである。
【０１６８】
このような読み出し要求を満たせないことに対処するために、書き込みデータが記憶媒体１１０において、書き込み完了まで保持されるということが可能である。しかしながら、そのために、記憶媒体１１０は、データラッチＬＤＬまたはＵＤＬのようなデータラッチＤＬを図６のものに加えて１つ多く有する必要がある。このことは、記憶媒体１１０のチップの面積の増大を必要とし、しかしながら、このようなチップ面積増大は受け入れらない場合がある。
【０１６９】
または、書き込み完了まで書き込みデータがバッファメモリ２５において保持されるということが可能である。しかしながら、このことは、バッファメモリ２５の容量の増大を必要とする。バッファメモリ２５の容量増加は、メモリコントローラ１２０の価格、メモリコントローラ１２０のチップの面積、および（または）消費電力の増加に繋がり、このことも受け入れらない場合がある。
【０１７０】
第１実施形態のメモリコントローラ１２０は、いくつかのビットにおいてデータを失った不完全書き込みデータ（不完全ロワーページ書き込みデータまたは不完全アッパーページデータ）をデータラッチＵＤＬおよびＬＤＬから読み出し、選択セルユニットＣＵからＡＲデータ、ＢＲデータ、およびＣＲデータを読み出し、不完全書き込みデータ、ＡＲデータ、ＢＲデータ、およびＣＲデータを使用して、書き込みデータを復元する。このように、書き込みデータの復元が、復元の開始の段階で記憶媒体１１０において利用可能なデータを使用して行われることが可能である。よって、メモリコントローラ１２０は、データの書き込みの完了を待つ必要性なく、書き込み中のデータを取得することができる。このことは、メモリシステム１が、メモリシステム１に課される読み出し時間の要件を満たしやすくする。
【０１７１】
また、記憶媒体１１０において利用可能なデータを使用した書き込みデータの復元は、メモリコントローラ１２０が、書き込みデータの書き込み完了までに書き込みデータを保持できる能力を必要としない。よって、書き込みデータの送信後の書き込みデータの保持のためのバッファメモリ２５の容量は必要ない。
【０１７２】
さらに、記憶媒体１１０において利用可能なデータを使用した書き込みデータの復元は、記憶媒体１１０が、書き込みデータの書き込み完了までに書き込みデータを保持できる能力を必要としない。よって、書き込みデータの保持のためのデータラッチは必要ない。
【０１７３】
＜１−４．その他＞
ベリファイにパスしたことに対応して反転したビットを特定および復元するための論理式は、図５に示されるレベルとデータの保持状態と対応の例に基づく。別の対応の場合は、別の論理式が使用され得る。レベルとデータ保持状態との対応に基づいて、書き込みデータにおいて、対応する選択セルトランジスタＭＴのベリファイのパスにより反転したビットが特定され、かつ特定されたビットにおいてデータが復元される限り、使用される論理式の詳細によって第１実施形態は限定されない。
【０１７４】
また、上の記述は、例として１セルトランジスタＭＴ当たり２ビットデータの保持の例に基づく。しかしながら、第１実施形態は、この例に限られず、１セルトランジスタＭＴ当たり３ビット以上のデータ保持に適用されることが可能である。その場合、上記のように、レベルとデータ保持状態との対応に基づいて、書き込みデータ中で対応する選択セルトランジスタＭＴのベリファイのパスにより反転したビットが特定され、かつ特定されたビットが復元されることを可能にする任意の論理式が使用される。
【０１７５】
（第２実施形態）
第２実施形態は、復元用データの詳細の点で、第１実施形態と異なる。以下、第１実施形態と異なる点が主に記述される。
【０１７６】
＜２−１．構造（構成）＞
第２実施形態のメモリシステム１は、第１実施形態のメモリシステム１と同じ要素および接続を有する。一方、第２実施形態のメモリコントローラ１２０は、以下に記述される動作を行えるように構成されており、具体的には、ＲＯＭ２４中のファームウェアがメモリコントローラ１２０に以下に記述される動作を行わせるように構成されている。
【０１７７】
＜２−２．動作＞
図２２は、第２実施形態のメモリシステム１での書き込みデータ復元の全体の概略的なフローを示す。
【０１７８】
サブステップＳＳ１、ＳＳ２、ＳＳ２１、およびＳＳ２２は、図９のステップＳ５＿１〜Ｓ５＿４の詳細に相当する。サブステップＳＳ２は、サブステップＳＳ２１に継続する。
【０１７９】
サブステップＳ２１において、書き込みデータ復元コントローラ２９は、コマンド発送部２８、選択ＮＡＮＤコントローラ２６ｔを介して、選択セルユニットＣＵのロワーページからのデータの読み出し（ロワーページ読み出し）を指示するコマンド（ロワーページ読み出しコマンド）を選択記憶媒体１１０ｔに送信する。
【０１８０】
選択記憶媒体１１０ｔは、ロワーページ読み出しコマンドを受け取ると、選択セルユニットＣＵに対してロワーページ読み出しを行い、読み出されたデータ（ロワーページデータ）をメモリコントローラ１２０に送信する。ロワーページデータは、選択セルユニットＣＵ中の選択セルトランジスタＭＴのそれぞれの閾値電圧に基づくビットの組を含む。ロワーページデータは、各ビットにおいて、対応する選択セルトランジスタＭＴがＢまたはＣレベルにある場合、０データを有する。ロワーページデータは、各ビットにおいて、対応する選択セルトランジスタＭＴがＥｒまたはＡレベルにある場合、１データを有する。ロワーページデータは、メモリコントローラ１２０により受け取られ、書き込みデータ復元コントローラ２９の制御によってデータ保持領域ＤＬ２に保持される。
【０１８１】
サブステップＳ２２において、書き込みデータ復元コントローラ２９は、コマンド発送部２８、選択ＮＡＮＤコントローラ２６ｔを介して、選択セルユニットＣＵのアッパーページからのデータの読み出し（アッパーページ読み出し）を指示するコマンド（アッパーページ読み出しコマンド）を選択記憶媒体１１０に送信する。
【０１８２】
選択記憶媒体１１０ｔは、アッパーページ読み出しコマンドを受け取ると、選択セルユニットＣＵに対してアッパーページ読み出しを行い、読み出されたデータ（アッパーページデータ）をメモリコントローラ１２０に送信する。アッパーページデータは、選択セルユニットＣＵ中の選択セルトランジスＭＴのそれぞれの閾値電圧に基づくビットの組を含む。アッパーページデータは、各ビットにおいて、対応する選択セルトランジスタＭＴがＡまたはＢレベルにある場合、０データを有する。アッパーページデータは、各ビットにおいて、対応する選択セルトランジスタＭＴがＥｒまたはＣレベルにある場合、１データを有する。アッパーページデータは、メモリコントローラ１２０により受け取られ、書き込みデータ復元コントローラ２９の制御によってデータ保持領域ＤＬ３に保持される。
【０１８３】
サブステップＳＳ３１、ＳＳ３２、ＳＳ３３、ＳＳ３４、ＳＳ３５、およびＳＳ３６は、図９のステップＳ５＿５の詳細に相当する。サブステップＳＳ３１〜ＳＳ３６は、第１実施形態のサブステップＳＳ１１〜ＳＳ１６にそれぞれ類似する。サブステップＳＳ３１〜ＳＳ３６は、サブステップＳＳ１１〜ＳＳ１６と、論理演算の式の点で相違する。
【０１８４】
サブステップＳＳ３１において、書き込みデータ復元コントローラ２９は、Ａレベルのベリファイにパス済みで読み出し電圧ＶＡ超かつ読み出し電圧ＶＢ以下の閾値電圧を有する（条件１を満たす）選択セルトランジスタＭＴと関連付けられた関連ビット列ＢＳを特定する。そのために、書き込みデータ復元コントローラ２９は、各関連ビット列ＢＳに対して、例えば式ＤＬ０＆ＤＬ１＆ＤＬ２＆￣ＤＬ３の論理演算（論理演算１１ａ）を行う。各関連ビット列ＢＳに対する論理演算１１ａの結果は、当該関連ビット列ＢＳのデータ保持領域ＤＬ４中のビットにおいて保持される。
【０１８５】
サブステップＳＳ３２において、書き込みデータ復元コントローラ２９は、サブステップＳＳ３１で特定された関連ビット列ＢＳにおいて、データ保持領域ＤＬ１中のビットの１データを０データに戻す。そのために、書き込みデータ復元コントローラ２９は、各関連ビット列ＢＳに対して、例えば、式￣ＤＬ４＆ＤＬ１の論理演算１１ｂを行う。各関連ビット列ＢＳに対する論理演算１１ｂの結果は、当該関連ビット列ＢＳのデータ保持領域ＤＬ１中のビットに上書きされる。
【０１８６】
サブステップＳＳ３３において、書き込みデータ復元コントローラ２９は、Ｂレベルのベリファイにパス済みで読み出し電圧ＶＢ超かつ読み出し電圧ＶＣ以下の閾値電圧を有する（条件２を満たす）選択セルトランジスタＭＴと関連付けられた関連ビット列ＢＳを特定する。そのために、書き込みデータ復元コントローラ２９は、各関連ビット列ＢＳに対して、例えば式ＤＬ０＆ＤＬ１＆￣ＤＬ２＆￣ＤＬ３の論理演算（論理演算１２ａ）を行う。各関連ビット列ＢＳに対する論理演算１２ａの結果は、当該関連ビット列ＢＳのデータ保持領域ＤＬ４中のビットにおいて保持される。
【０１８７】
サブステップＳＳ３４において、書き込みデータ復元コントローラ２９は、サブステップＳＳ３３で特定された関連ビット列ＢＳにおいて、データ保持領域ＤＬ０中のビットの１データを０データに戻す。そのために、書き込みデータ復元コントローラ２９は、各関連ビット列ＢＳに対して、例えば、式￣ＤＬ４＆ＤＬ０の論理演算１２ｂを行う。各関連ビット列ＢＳに対する論理演算１２ｂの結果は、当該関連ビット列ＢＳのデータ保持領域ＤＬ０中のビットに上書きされる。
【０１８８】
また、サブステップＳＳ３４において、書き込みデータ復元コントローラ２９は、サブステップＳＳ３３で特定された関連ビット列ＢＳにおいて、データ保持領域ＤＬ１中のビットの１データを０データに戻す。そのために、書き込みデータ復元コントローラ２９は、各関連ビット列ＢＳに対して、例えば、式￣ＤＬ４＆ＤＬ１の論理演算１２ｃを行う。各関連ビット列ＢＳに対する論理演算１２ｃの結果は、当該関連ビット列ＢＳのデータ保持領域ＤＬ１中のビットに上書きされる。
【０１８９】
サブステップＳＳ３５において、書き込みデータ復元コントローラ２９は、Ｃレベルのベリファイにパス済みで読み出し電圧ＶＣ超の閾値電圧を有する（条件３を満たす）選択セルトランジスタＭＴと関連付けられた関連ビット列ＢＳを特定する。そのために、書き込みデータ復元コントローラ２９は、各関連ビット列ＢＳに対して、例えば式ＤＬ０＆ＤＬ１＆￣ＤＬ２＆ＤＬ３の論理演算（論理演算１３ａ）を行う。各関連ビット列ＢＳに対する論理演算１３ａの結果は、当該関連ビット列ＢＳのデータ保持領域ＤＬ４中のビットにおいて保持される。
【０１９０】
サブステップＳＳ３６において、書き込みデータ復元コントローラ２９は、サブステップＳＳ３５で特定された関連ビット列ＢＳにおいて、データ保持領域ＤＬ０中のビットの１データを０データに戻す。そのために、書き込みデータ復元コントローラ２９は、各関連ビット列ＢＳに対して、例えば、式￣ＤＬ４＆ＤＬ０の論理演算１３ｂを行う。各関連ビット列ＢＳに対する論理演算１３ｂの結果は、当該関連ビット列ＢＳのデータ保持領域ＤＬ０中のビットに上書きされる。
サブステップＳＳ３１〜ＳＳ３６の実行により、アッパーページ書き込みデータがデータ保持領域ＤＬ０において復元され、ロワーページ書き込みデータがデータ保持領域ＤＬ１において復元される。
【０１９１】
図２３は、第２実施形態のメモリコントローラ１２０と選択記憶媒体１１０ｔとの間を流れる信号ＤＱ（ＤＱ０〜ＤＱ７）の例を示す。具体的には、図２３は、図７のステップＳ１、Ｓ４、Ｓ５、およびＳ７の間に流れる信号を示す。第１実施形態と同じく、まず、第１書き込みデータ、書き込みコマンド、中断コマンド、ＵＤＬ読み出しコマンド、ＵＤＬデータ、ＬＤＬ読み出しコマンド、およびＬＤＬデータが流れる。
【０１９２】
メモリコントローラ１２０は、選択記憶媒体１１０ｔにロワーページ読み出しコマンドを送信する。選択記憶媒体１１０ｔは、ロワーページ読み出しコマンドを受け取ると、選択セルユニットＣＵからのロワーページデータをメモリコントローラ１２０に送信する。
【０１９３】
メモリコントローラ１２０は、選択記憶媒体１１０ｔにアッパーページ読み出しコマンドを送信する。選択記憶媒体１１０ｔは、アッパーページ読み出しコマンドを受け取ると、選択セルユニットＣＵからのアッパーページデータをメモリコントローラ１２０に送信する。
【０１９４】
メモリコントローラ１２０は、書き込み再開コマンドを選択記憶媒体１１０ｔに送信する。
【０１９５】
次に、図２４〜図２７を参照して、書き込みデータ復元の間の関連ビット列ＢＳの状態の遷移が記述される。図２４〜図２７は、第２実施形態のメモリシステム１での書き込みデータ復元の間のいくつかの関連ビット列ＢＳの状態を示す。
【０１９６】
図２４（ａ）は、サブステップＳＳ２１により至る関連ビット列ＢＳの状態を示す。サブステップＳＳ２１に先立って、サブステップＳＳ１およびＳＳ２によって、データ保持領域ＤＬ０およびＤＬ１に、それぞれＵＤＬデータおよびＬＤＬデータが保持されている。
【０１９７】
ロワーページ読み出しでは、読み出し電圧ＶＢ以下の閾値電圧を有する選択セルトランジスタＭＴのセンスアンプ回路ＳＡＣは、センスの結果として０データを有する。一方、読み出し電圧ＶＢ超の閾値電圧を有する選択セルトランジスタＭＴのセンスアンプ回路ＳＡＣは、センスの結果として１データを有する。以上の結果に基づいて、データ保持領域ＤＬ２中のロワーページデータは、目標ＢレベルまたはＣレベルでベリファイにパスした選択セルトランジスタＭＴのビットにおいて、０データを有する。ロワーページデータは、目標ＥｒまたはＡレベルの選択セルトランジスタＭＴおよび目標Ｂレベルでベリファイにパスしていない選択セルトランジスタＭＴのビットにおいて、１データを有する。ロワーページデータは、目標Ｃレベルでベリファイにパスしていない選択セルトランジスタＭＴのビットにおいて、０データまたは１データを有する。
【０１９８】
図２４（ｂ）は、サブステップＳＳ２２により至る関連ビット列ＢＳの状態を示す。アッパーページ読み出しでは、読み出し電圧ＶＡ以下の閾値電圧を有する選択セルトランジスタＭＴのセンスアンプ回路ＳＡＣは、センスの結果として０データを有する。一方、読み出し電圧ＶＡ超の閾値電圧を有する選択セルトランジスタＭＴのセンスアンプ回路ＳＡＣは、センスの結果として１データを有する。さらに、読み出し電圧ＶＣ以下の閾値電圧を有する選択セルトランジスタＭＴのセンスアンプ回路ＳＡＣは、センスの結果として０データを有する。一方、読み出し電圧ＶＣの閾値電圧を有する選択セルトランジスタＭＴのセンスアンプ回路ＳＡＣは、センスの結果として１データを有する。以上の結果に基づいて、アッパーページデータは、目標ＡレベルまたはＢレベルでベリファイにパスした選択セルトランジスタＭＴのビットにおいて、０データを有する。アッパーページデータは、目標Ｅｒである選択セルトランジスタＭＴ、目標Ａレベルでベリファイにパスしていない選択セルトランジスタＭＴ、または目標Ｃレベルでベリファイにパスした選択セルトランジスタＭＴのビットにおいて、１データを有する。アッパーページデータは、目標ＢレベルまたはＣレベルでベリファイにパスしていない選択セルトランジスタＭＴのビットにおいて、０データまたは１データを有する。
【０１９９】
図２５（ａ）は、サブステップＳＳ３１により至る関連ビット列ＢＳの状態を示す。論理演算１１ａの結果、データ保持領域ＤＬ４は、条件１を満たす（Ａレベルのベリファイにパス済みで読み出し電圧ＶＡ超かつ読み出し電圧ＶＢ以下の閾値電圧を有する）選択セルトランジスタＭＴに対応するビットにおいて１データを有し、条件１を満たさない選択セルトランジスタＭＴに対応するビットにおいて０データを有する。
【０２００】
図２５（ｂ）は、サブステップＳＳ３２により至る関連ビット列ＢＳの状態を示す。論理演算１１ｂの結果、データ保持領域ＤＬ１は、条件１を満たす選択トランジスタＭＴに対応するビットにおいて、０データを有するに至る。一方、データ保持領域ＤＬ４において０データを有する関連ビット列ＢＳでは、論理演算１１ｂは、データ保持領域ＤＬ１におけるデータを維持する。図２５（ｂ）のステップによって、アッパーページ書き込みデータのうちの目標Ａレベルのビットのデータが復元される。
【０２０１】
図２６（ａ）は、サブステップＳＳ３３により至る関連ビット列ＢＳの状態を示す。論理演算１２ａの結果、データ保持領域ＤＬ４は、条件２を満たす選択セルトランジスタＭＴに対応するビットにおいて１データを有し、条件２を満たさない選択セルトランジスタＭＴに対応するビットにおいて０データを有する。
【０２０２】
図２６（ｂ）は、サブステップＳＳ３４により至る関連ビット列ＢＳの状態を示す。論理演算１２ｂの結果、データ保持領域ＤＬ０は、条件２を満たす選択セルトランジスタＭＴに対応するビットにおいて、０データを有するに至る。一方、データ保持部分ＤＬ４において０データを有する関連ビット列ＢＳでは、論理演算１２ｂは、データ保持領域ＤＬ０におけるデータを維持する。図２６（ｂ）のステップによって、ロワーページ書き込みデータのうちの、目標Ｂレベルのビットのデータが復元される。
【０２０３】
また、論理演算１２ｃの結果、データ保持領域ＤＬ１は、条件２を満たす選択セルトランジスタＭＴに対応するビットにおいて、０データを有するに至る。一方、データ保持部分ＤＬ４において０データを有する関連ビット列ＢＳでは、論理演算１２ｃは、データ保持領域ＤＬ１におけるデータを維持する。図２６（ｂ）のステップによって、アッパーページ書き込みデータのうちの、目標Ｂレベルのビットのデータが復元される。
【０２０４】
図２７（ａ）は、サブステップＳＳ３５により至る関連ビット列ＢＳの状態を示す。論理演算１３ａの結果、データ保持領域ＤＬ４は、条件３を満たす選択セルトランジスタＭＴに対応するビットにおいて１データを有し、条件３を満たさない選択セルトランジスタＭＴに対応するビットにおいて０データを有する。
【０２０５】
図２７（ｂ）は、サブステップＳＳ３６により至る関連ビット列ＢＳの状態を示す。論理演算１３ｂの結果、データ保持領域ＤＬ０は、条件３を満たす選択セルトランジスタＭＴに対応するビットにおいて、０データを有するに至る。一方、データ保持部分ＤＬ４において０データを有する関連ビット列ＢＳでは、論理演算１３ｂは、データ保持領域ＤＬ０におけるデータを維持する。図２７（ｂ）のステップによって、ロワーページ書き込みデータのうちの目標Ｃレベルのビットのデータが復元される。
【０２０６】
図２８は、第２実施形態のメモリシステム１での書き込みデータ復元の間のいくつかの関連ビット列ＢＳの状態を、図２４〜図２７とは異なる形で示す。上下に並ぶ１列のビットは、１つの関連ビット列ＢＳに含まれるビットである。図２８の行１〜５および７〜１５は、図２１の行１〜５、および７〜１５に類似する。図２８は、行４、行５、行７、行１０、および行１３において、図２１のものと異なり、また、サブステップの番号において図２１のものと異なる。
【０２０７】
行４は、ロワーページデータを示す。ロワーページデータは、目標レベルとは無関係に、ＥｒまたはＡレベルにある選択セルトランジスタＭＴのビットにおいて１データを有し、ＢまたはＣレベルにある選択セルトランジスタＭＴのビットにおいて０データを有する。
【０２０８】
行５は、アッパーページデータを示す。アッパーページデータは、目標レベルとは無関係に、ＥｒまたはＣレベルにある選択セルトランジスタＭＴのビットにおいて１データを有し、ＡまたはＢレベルにある選択セルトランジスタＭＴのビットにおいて０データを有する。
【０２０９】
行７は、論理演算１１ａの結果を示す。論理演算１１ａの結果は、右上がりの対角線による影を付されているように、目標Ａレベルと現在レベルが一致する選択セルトランジスタＭＴのビットにおいて１データを有し、残りのビットにおいて０データを有する。
【０２１０】
行８および行９は、論理演算１１ｂの結果を示す。論理演算１１ｂは、右上がりの対角線による影を付されているように、データ保持領域ＤＬ１のうち、目標Ａレベルと現在レベルが一致する選択セルトランジスタＭＴのビットにおいて０データを復元し、残りのビットにおいて値を維持する。
【０２１１】
行１０は、論理演算１２ａの結果を示す。論理演算１２ａの結果は、右上がりの対角線による影を付されているように、目標Ｂレベルと現在レベルとが一致する選択セルトランジスタＭＴのビットにおいて１データを有し、残りのビットにおいて０データを有する。
【０２１２】
行１１および行１２は、それぞれ、論理演算１２ｂおよび１２ｃの結果を示す。論理演算１２ｂは、右上がりの対角線による影を付されているように、データ保持領域ＤＬ０のうち、目標Ｂレベルと現在レベルが一致する選択セルトランジスタＭＴのビットにおいて０データを復元し、残りのビットにおいて値を維持する。論理演算１２ｃは、右上がりの対角線による影を付されているように、データ保持領域ＤＬ１のうち、目標Ｂレベルと現在レベルが一致する選択セルトランジスタＭＴのビットにおいて０データを復元し、残りのビットにおいて値を維持する。
【０２１３】
行１３は、論理演算１３ａの結果を示す。論理演算１３ａの結果は、右上がりの対角線による影を付されているように、目標Ｃレベルと現在レベルが一致する選択セルトランジスタＭＴのビットにおいて１データを有し、残りのビットにおいて０データを有する。
【０２１４】
行１４および行１５は、論理演算１３ｂの結果を示す。論理演算１３ｂは、右上がりの対角線による影を付されているように、データ保持領域ＤＬ０のうち、目標Ｃレベルと現在レベルが一致する選択セルトランジスタＭＴのビットにおいて０データを復元し、残りのビットにおいて値を維持する。
【０２１５】
＜２−２．利点（効果）＞
第２実施形態のメモリコントローラ１２０は、いくつかのビットにおいてデータを失った不完全書き込みデータをデータラッチＵＤＬおよびＬＤＬから読み出し、選択メモリセルユニットＣＵからロワーページデータおよびアッパーページデータを読み出し、不完全書き込みデータ、ロワーページデータ、およびアッパーページデータを使用して、書き込みデータを復元する。第２実施形態のメモリシステム１によっても、第１実施形態のメモリシステム１と同じ利点を得られる。
【０２１６】
（第３実施形態）
第３実施形態は、書き込みデータ復元コントローラ２９を設けられる要素の点で第１および第２実施形態と異なる。以下、第１実施形態と異なる点が主に記述される。
【０２１７】
＜３−１．構造（構成）＞
図２９は、第３実施形態のメモリシステム１の機能ブロックを示す。図２９に示されるように、メモリコントローラ１２０は、書き込みデータ復元コントローラ２９の機能を有しない。
【０２１８】
メモリシステム１２０は、複数のメモリインターフェイス３１を有する。各メモリインターフェイス３１は、例えばメモリコントローラ１２０とは別の独立したチップの形態を有する。各メモリインターフェイス３１は、例えばＲＯＭ、ＲＡＭ、およびＣＰＵを含み、ＲＯＭ上のファームウェアがＲＡＭ上に読み出され、ＣＰＵによって実行されることにより、種々の機能を実行する。
【０２１９】
各メモリインターフェイス３１は、専用の書き込みデータ復元コントローラ２９を含む。書き込みデータ復元コントローラ２９は、例えば、第１実施形態と同じく、ＲＡＭ上でファームウェアがＣＰＵによって実行されることによって実現される。各メモリインターフェイス３１は、複数の記憶媒体１１０と、ＮＡＮＤバスを介して接続されている。各メモリインターフェイス３１は、ＮＡＮＤコントローラ２６の指示に従って選択された１つの記憶媒体１１０にアクセスする。
【０２２０】
各メモリインターフェイス３１、および当該メモリインターフェイス３１と接続された記憶媒体１１０は、１つのパッケージ１４０の中に設けられることが可能である。
【０２２１】
ホスト装置２は、メモリシステム１に書き込み、読み出し、および消去等を対象の論理アドレスの指定とともに要求する。アクセス対象のデータを含んだ物理アドレスが、論理アドレスから、変換層コントローラ２７によって特定される。コマンド発送部２８は、特定された物理アドレスを含んだ選択ＮＡＮＤコントローラ２６ｔに、ホスト装置２からの要求に基づく動作を指示する。指示を受け取ると、選択ＮＡＮＤコントローラ２６ｔは、自身と接続されたメモリインターフェイス３１（選択メモリインターフェイス３１ｔ）にアクセス対象の物理アドレスを含んだ選択記憶媒体１１０ｔへの処理に基づくコマンドの送信を指示する。書き込みデータ復元コントローラ２９は、第１または第２実施形態と同じように動作する。
【０２２２】
＜３−２．動作＞
第１書き込み要求データに由来する第１書き込みデータがある選択記憶媒体１１０ｔのあるセルユニットＣＵに書き込まれている間に、当該セルユニットＣＵからの読み出しに繋がる第１読み出し要求データの読み出し要求がメモリコントローラ１２０によって受け取られたとする。このような要求の受信に基づいて、選択メモリインターフェイス３１ｔの書き込みデータ復元コントローラ２９は、進行中の処理、すなわち第１書き込みデータの書き込みの中断を指示するコマンドを選択記憶媒体１１０に送信する。次いで、選択メモリインターフェイス３１ｔは、第１または第２実施形態に記述された書き込みデータ復元を行う。第１書き込みデータのための書き込みコマンドの送信、第１書き込みデータの復元、第１書き込みデータの書き込み再開のためのコマンド送信までの間、図１５または図２３に示されたものと同様の信号が選択メモリインターフェイス３１ｔと選択記憶媒体１１０ｔの間を流れる。
【０２２３】
＜３−３．利点（効果）＞
第３実施形態のメモリシステム１によれば、メモリコントローラ１２０から独立したメモリインターフェイス３１中に書き込みデータ復元コントローラ２９が設けられ、書き込みデータ復元コントローラ２９は第１または第２実施形態と同様に書き込みデータを復元する。このため、書き込みデータ復元コントローラ２９がメモリコントローラ１２０から独立している構成の場合でも、第１または第２実施形態と同じ利点を得られる。また、第３実施形態は、書き込みデータ復元のために記憶媒体１１０からメモリコントローラ１２０にデータが送信されることを必要としない。このため、書き込みデータ復元のために記憶媒体１１０とメモリコントローラ１２０との間で通信が生じることが抑制されることが可能である。
【０２２４】
（第４実施形態）
第４実施形態は、書き込みデータ復元コントローラ２９を設けられる要素の点で第１および第２実施形態と異なる。以下、第１実施形態と異なる点が主に記述される。
【０２２５】
＜４−１．構造（構成）＞
図３０は、第４実施形態のメモリシステム１の機能ブロックを示す。図３０に示されるように、メモリコントローラ１２０は、書き込みデータ復元コントローラ２９の機能を有しない。代わりに、１または複数の記憶媒体１１０が、書き込みデータ復元コントローラ２９の機能を含む。具体的には、図３１に示されるように、例えばシーケンサ１３が書き込みデータ復元コントローラ２９ｂの機能を含む。書き込みデータ復元コントローラ２９ｂは、基本的には書き込みデータ復元コントローラ２９と同様に動作し、記憶媒体１１０中に設けられていることに基づいて、いくつかの点で書き込みデータ復元コントローラ２９と相違する。
【０２２６】
第４実施形態のセンスアンプ１６およびデータラッチセット１８は、図３２に示される要素および接続を有する。図３２に示されるように、データラッチセット１８は、データラッチＸＤＬ、ＵＤＬ、ＬＤＬに加えて、データラッチＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬ、およびＥＤＬを含む。
【０２２７】
データラッチＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬ、およびＥＤＬの各々は、１ページの大きさのデータを保持でき、１ページ中のビットの数と同じ数のデータラッチ回路ＤＬＣを含む。γ＝Ａ、Ｂ、Ｃ、Ｄ、およびＥの各々の場合について、データラッチγＤＬのデータラッチ回路ＤＬＣは、データラッチ回路γＤＬＣと称される場合がある。
【０２２８】
データラッチＡＤＬ、ＢＤＬ、ＣＤＬ、およびＤＤＬは、データ復元のための論理演算において、それぞれ、データ保持領域ＤＬ０、ＤＬ１、ＤＬ２、およびＤＬ３に保持されるデータと同様のデータを保持する。データラッチＥＤＬは、データ復元のための論理演算において、データ保持領域ＤＬ４またはＤＬ５に保持されるデータと同様のデータを保持する。
【０２２９】
１ページサイズのデータのうちで同じ位置のビットを扱うデータラッチ回路ＸＤＬＣ、ＬＤＬＣ、ＵＤＬＣ、ＡＤＬＣ、ＢＤＬＣ、ＣＤＬＣ、ＤＤＬＣ、およびＥＤＬＣ、ならびにセンスアンプ回路ＳＡＣは、互いに関連付けられている。関連ビット列ＢＳは、互いに関連付けられたデータラッチ回路ＸＤＬＣ、ＬＤＬＣ、ＵＤＬＣ、ＡＤＬＣ、ＢＤＬＣ、ＣＤＬＣ、ＤＤＬＣ、およびＥＤＬＣ、ならびにセンスアンプ回路ＳＡＣ中のビットの組を含む。
【０２３０】
＜４−２．動作＞
第１書き込みデータがある選択記憶媒体１１０ｔのあるセルユニットＣＵに書き込まれている間に、当該セルユニットＣＵによって提供される記憶空間を有するロワーページまたはアッパーページを指定する読み出しコマンドがメモリコントローラ１２０によって受け取られたとする。このようなコマンドの受信に基づいて、選択記憶媒体１１０ｔの書き込みデータ復元コントローラ２９ｂは、進行中の第１書き込みデータの書き込みを中断する。そして、書き込みデータ復元コントローラ２９ｂは、第１または第２実施形態と同様にして第１書き込みデータを復元する。
【０２３１】
書き込みデータの復元は、選択記憶媒体１１０ｔ中で行われることを除いて、第１または第２実施形態と同じである。すなわち、第１実施形態の書き込みデータ復元が適用される場合、データ保持領域ＤＬ０、ＤＬ１、ＤＬ２、ＤＬ３、およびＤＬ５に保持されるデータが、書き込みデータ復元コントローラ２９ｂの制御によって、それぞれデータラッチＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬ、およびＥＤＬに保持される。次いで、書き込みデータ復元コントローラ２９ｂは、データラッチＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬ、およびＥＤＬ中のデータを使用して、論理演算１ａ、１ｂ、２ａ、２ｂ、２ｃ、３ａ、および３ｂを行う。この結果、データラッチＵＤＬおよびＬＤＬにおいて、それぞれ、ロワーページ書き込みデータおよびアッパーページ書き込みデータが得られる。
【０２３２】
選択記憶媒体１１０ｔは、ロワーページ書き込みデータまたはアッパーページ書き込みデータのうちの読み出しコマンドによって指定された一方を、メモリコントローラ１２０に送信する。
【０２３３】
データ保持領域ＤＬ４中の中間データのためのデータラッチは設けられていない。データ保持領域ＤＬ４中の中間データが別途保持されることなく、各関連ビット列ＢＳに対して、論理演算１ａと１ｂが行われ、結果がデータラッチＢＤＬに保持される。論理演算２ａ、２ｂ、２ｃの組、論理演算３ａおよび３ｂの組についても同様である。こうすることによって、記憶媒体１１０中のデータラッチの数が抑制される。データ保持領域ＤＬ４に相当するデータラッチが記憶媒体１１０中に設けられてもよい。
【０２３４】
同様に、第２実施形態の書き込みデータ復元が適用される場合、データ保持領域ＤＬ０、ＤＬ１、ＤＬ２、ＤＬ３、およびＤＬ４に保持されるデータが、書き込みデータ復元コントローラ２９ｂの制御によって、それぞれデータラッチＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬ、およびＥＤＬに保持される。次いで、書き込みデータ復元コントローラ２９ｂは、データラッチＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬ、およびＥＤＬ中のデータを使用して、論理演算１１ａ、１１ｂ、１２ａ、１２ｂ、１２ｃ、１３ａ、および１３ｂを行う。この結果、データラッチＵＤＬおよびＬＤＬにおいて、それぞれ、ロワーページ書き込みデータおよびアッパーページ書き込みデータが得られる。
【０２３５】
＜４−３．利点（効果）＞
第４実施形態のメモリシステム１によれば、１または複数の記憶媒体１１０中に書き込みデータ復元コントローラ２９ｂが設けられ、書き込みデータ復元コントローラ２９ｂは第１または第２実施形態と同様に書き込みデータを復元する。このため、第４実施形態は、記憶媒体１１０中に書き込みデータ復元に要する１または複数のデータラッチが設けられることが許容される場合に、第１または第２実施形態と同じ利点を得られる。また、第４実施形態は、書き込みデータ復元のために記憶媒体１１０からメモリコントローラ１２０にデータが送信されることを必要としない。このため、書き込みデータ復元のために記憶媒体１１０とメモリコントローラ１２０との間で通信が生じることが抑制されることが可能である。
【０２３６】
（第５実施形態）
第５実施形態も、第４実施形態と同じく、書き込みデータ復元コントローラ２９が記憶媒体１１０中に設けられる例に関する。
【０２３７】
＜５−１．構造（構成）＞
第５実施形態のメモリシステム１は、第４実施形態のメモリシステム１と同じ要素および接続を有する。一方、第５実施形態では、データラッチセット１８は、第４実施形態と異なり、第１実施形態と同じ要素および接続を有する。すなわち、データラッチセット１８は、データラッチＸＤＬ、ＬＤＬ、およびＵＤＬを含み、データラッチＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬ、およびＥＤＬを含まない。
【０２３８】
＜５−２．動作＞
第１書き込みデータがある選択記憶媒体１１０ｔのあるセルユニットＣＵに書き込まれている間に、当該セルユニットＣＵによって提供される記憶空間を有するロワーページまたはアッパーページを指定する読み出しコマンドがメモリコントローラ１２０によって受け取られたとする。このようなコマンドの受信に基づいて、選択記憶媒体１１０ｔの書き込みデータ復元コントローラ２９ｂ（選択書き込みデータ復元コントローラ２９ｂｔ）は、進行中の第１書き込みデータの書き込みを中断する。そして、選択書き込みデータ復元コントローラ２９ｂｔは、第１または第２実施形態と同様にして第１書き込みデータを復元する。各書き込みデータ復元コントローラ２９ｂは、選択セルユニットＣＵ中の１つのみのページ中の書き込まれている最中の書き込みデータを復元する。
【０２３９】
図３３〜図３６は、第５実施形態のメモリシステム１での書き込みデータ復元の間のいくつかの関連ビット列ＢＳの状態を示す。図３３および図３４は、ロワーページ書き込みデータの復元について示し、図３５および図３６は、アッパーページ書き込みデータの復元について示す。
【０２４０】
図３３（ａ）に示されるように、選択書き込みデータ復元コントローラ２９ｂｔは、各関連ビット列ＢＳに対して、論理演算ＵＤＬ＆ＬＤＬを行い、結果を当該関連ビット列ＢＳのデータラッチＸＤＬ中のビットにおいて保持する。データラッチＸＤＬ中のデータは、ベリファイにパスした選択セルトランジスタＭＴに対応するビットにおいて１データを有し、残りのビットにおいて０データを有する。図３３（ｂ）に示されるように、選択書き込みデータ復元コントローラ２９ｂｔは、Ｂ読み出しを行う。Ｂ読み出しにより、各センスアンプ回路ＳＡＣは、対応する選択セルトランジスタＭＴの閾値電圧に応じて、０データまたは１データを保持するに至る。
【０２４１】
図３４（ａ）に示されるように、選択書き込みデータ復元コントローラ２９ｂｔは、各関連ビット列ＢＳに対して、論理演算ＳＡ＆ＸＤＬを行い、結果を当該関連ビット列ＢＳのデータラッチＸＤＬ中のビットに上書きする。データラッチＸＤＬ中のデータは、目標ＢレベルまたはＣレベルでベリファイにパスした選択セルトランジスタＭＴに対応するビットのみにおいて１データを有する。１データを有するビットは、データラッチＵＤＬ中のデータで０データに戻されるべきビットを含む関連ビット列ＢＳを特定する。
【０２４２】
図３４（ｂ）に示されるように、選択書き込みデータ復元コントローラ２９ｂｔは、各関連ビット列ＢＳに対して、論理演算￣ＸＤＬ＆ＵＤＬを行い、結果を当該関連ビット列ＢＳのデータラッチＸＤＬ中のビットに上書きする。演算の開始の時にデータラッチＸＤＬ中で１データを有するビットを含む関連ビット列でのみ、データラッチＸＤＬ中のビットの１データが０データに戻る。こうして得られたデータラッチＸＤＬ中のデータは、ロワーページ書き込みデータである。ロワーページ書き込みデータは、データラッチＸＤＬからメモリコントローラ１２０に送信される。
【０２４３】
図３５（ａ）は、図３３（ａ）と同じである。選択書き込みデータ復元コントローラ２９ｂｔは、各関連ビット列ＢＳに対して、論理演算ＵＤＬ＆ＬＤＬを行い、結果を当該ビット列ＢＳのデータラッチＸＤＬ中のビットにおいて保持する。図３５（ｂ）に示されるように、選択書き込みデータ復元コントローラ２９ｂｔは、Ａ読み出しを行う。Ａ読み出しにより、各センスアンプ回路ＳＡＣは、対応する選択セルトランジスタＭＴの閾値電圧に応じて、０データまたは１データを保持するに至る。
【０２４４】
図３５（ｃ）に示されるように、選択書き込みデータ復元コントローラ２９ｂｔは、各関連ビット列ＢＳに対して、論理演算ＳＡ＆ＸＤＬを行い、結果を当該関連ビット列ＢＳのデータラッチＸＤＬ中のビットに上書きする。データラッチＸＤＬ中のデータは、目標Ａレベル、Ｂレベル、またはＣレベルでベリファイにパスした選択セルトランジスタＭＴに対応するビットのみにおいて１データを有する。
【０２４５】
図３６（ａ）に示されるように、選択書き込みデータ復元コントローラ２９ｂｔは、Ｃ読み出しを行う。Ｃ読み出しにより、各センスアンプ回路ＳＡＣは、対応する選択セルトランジスタＭＴの閾値電圧に応じて、０データまたは１データを保持するに至る。
【０２４６】
図３６（ｂ）に示されるように、選択書き込みデータ復元コントローラ２９ｂｔは、各関連ビット列ＢＳに対して、論理演算￣ＳＡ＆ＸＤＬを行い、結果を当該関連ビット列ＢＳのデータラッチＸＤＬ中のビットに上書きする。データラッチＸＤＬ中のデータは、目標ＡレベルまたはＢレベルでベリファイにパスした選択セルトランジスタＭＴに対応するビットのみにおいて１データを有する。１データを有するビットは、データラッチＬＤＬ中のデータで０データに戻されるべきビットを含む関連ビット列ＢＳを特定する。
【０２４７】
図３６（ｃ）に示されるように、選択書き込みデータ復元コントローラ２９ｂｔは、各関連ビット列ＢＳに対して、論理演算￣ＸＤＬ＆ＬＤＬを行い、結果を当該関連ビット列ＢＳのデータラッチＸＤＬ中のビットに上書きする。演算の開始の時にデータラッチＸＤＬ中で１データを有するビットを含む関連ビット列ＢＳでのみ、データラッチＸＤＬ中のビットの１データが０データに戻る。こうして得られたデータラッチＸＤＬ中のデータは、アッパーページ書き込みデータである。アッパーページ書き込みデータは、データラッチＸＤＬからメモリコントローラ１２０に送信される。
【０２４８】
＜５−３．利点（効果）＞
第５実施形態のメモリシステム１によれば、１または複数の記憶媒体１１０中に書き込みデータ復元コントローラ２９が設けられ、書き込みデータ復元コントローラ２９は第１または第２実施形態と同様に書き込みデータを復元する。このため、第１または第２実施形態と同じ利点を得られる。また、第５実施形態は、書き込み中の選択セルユニットＣＵのいずれかのページに対する読み出しコマンドに応答して、読み出しの対象のページでの書き込みデータのみを復元する。このため、第５実施形態は、記憶媒体１１０中に書き込みデータ復元に要する１または複数のデータラッチが設けられることを必要としない。
【０２４９】
（第６実施形態）
第６実施形態は、メモリシステム１への電源電圧供給の急な遮断およびその後の電源電圧供給の再開のときの状態の復元に関する。以下、第１実施形態と異なる点が主に記述される。
【０２５０】
＜６−１．構造（構成）＞
図３７は、第６実施形態のメモリシステム１の機能ブロックを示す。メモリシステム１は、電源制御回路１３０をさらに含む。電源制御回路１３０は、電源２１０から電源電圧を受け取り、バックアップ電源１３１を含み、電源２１０またはバックアップ電源１３１からの電源電圧をメモリコントローラ１２０および記憶媒体１１０に供給する。バックアップ電源１３１は、電池および／またはキャパシタを含む。
【０２５１】
また、第６実施形態のメモリコントローラ１２０は、以下に記述される動作を行えるように構成されており、具体的には、ＲＯＭ２４中のファームウェアがメモリコントローラ１２０に以下に記述される動作を行わせるように構成されている。
【０２５２】
＜６−２．動作＞
図３８は、第６実施形態のメモリシステムの全体的な動作のフローを示す。フローにおけるいくつかのステップは後に詳述される。図３８に示されるように、メモリシステム１は通常モードで動作する（ステップＳ１１）。通常モードでは、メモリシステム１は通常の状態にある。本明細書において、通常とは、メモリシステム１が外部から（例えばホスト装置２から）電源電圧を受け取っている期間を指す。通常モードにおいて、メモリシステム１は、ホスト装置２の指示に従って、種々の動作を行う。
【０２５３】
ホスト装置２は、メモリシステム１への電源電圧供給を停止する（ステップＳ１２）。電源電圧供給の停止は、上記のように例えばホスト装置２のユーザにより行われ得、特段の通知なしに行われる場合がある。
【０２５４】
電源制御回路１３０は、ホスト装置２から電源電圧が供給されているかを監視しており、電源電圧の供給が停止すると、これを知得する。ホスト装置２からの電源電圧供給の停止を知ると、電源制御回路１３０は、バックアップ電源１３１からメモリコントローラ１２０および記憶媒体１１０に電源電圧を供給し始める（ステップＳ１３）。これにより、メモリシステム１は、バックアップ電源１３１からの電源電圧で動作し始める。メモリコントローラ１２０は、バックアップ電源１３１からの電源電圧により動作している間、緊急モードで動作する。
【０２５５】
メモリコントローラ１２０は、データを書き込み中の１または複数の選択記憶媒体１１０ｔに中断コマンドを送信する（ステップＳ１４）。選択記憶媒体１１０ｔは、中断コマンドを受け取ると、進行中の書き込みを中断する。メモリコントローラ１２０は、各選択記憶媒体１１０ｔ中のデータラッチＵＤＬおよびＬＤＬ中のデータ（それぞれ不完全ロワー書き込みデータおよび不完全アッパー書き込みデータ）を当該選択記憶媒体１１０ｔ中の２つの選択セルユニットＣＵにそれぞれ書き込む（ステップＳ１５）。不完全ロワー書き込みデータおよび不完全アッパー書き込みデータは、図５のような１セルトランジスタＭＴ当たり複数ビットではなく、１セルトランジスタＭＴ当たり１ビットの書き込みの方式（単レベル書き込み）で書き込まれる。単レベル書き込みされたセルユニットＣＵは、１ページの大きさのデータを保持する。
【０２５６】
単レベル書き込みは、書き込み対象のセルトランジスタＭＴを、図５に示されるＥｒレベルとは別に１つのみのＰレベルに遷移させる。ＥｒレベルおよびＰレベルは、それぞれ、例えば１データおよび０データを保持する状態として扱われる。
【０２５７】
メモリコントローラ１２０は、緊急モードでの書き込みに備えるために、一定の数以上の消去状態のブロックＢＬＫを確保しておく。すなわち、メモリコントローラ１２０は、通常モードにおいて、一定数以上のブロックＢＬＫにはデータを書き込まず、消去状態に維持しておく。
【０２５８】
緊急モードにおいて、メモリコントローラ１２０は、不完全書き込みデータの書き込みのほかに、例えばメモリコントローラ１２０中に保持されていてホスト装置２に書き込み完了を通知した対象の書き込みデータを記憶媒体１１０に書き込む。
【０２５９】
バックアップ電源１３１による電源電圧の供給が可能な時間が過ぎると、メモリシステム１はオフする（ステップＳ１６）。書き込みを中断されたセルユニット（書き込み中断セルユニット）ＣＵの書き込みは、中断した状態のままである。
【０２６０】
メモリシステム１は外部、例えば電源２１０から、電源電圧を受け取り始めて起動する（ステップＳ１７）。次いで、メモリコントローラ１２０は、前回のメモリシステム１の外部からの電源電圧供給の停止が、ホスト装置２からの事前通知無しに行われたかを判断する（ステップＳ１８）。電源電圧供給の停止は、例えば、ホスト装置２のユーザにより行われ、特段の通知なしに行われ得る。よって、ホスト装置２からメモリシステム１への電源電圧供給の停止も通知されないことがある。メモリコントローラ１２０は、外部からの電源電圧供給の停止の際、事前通知があったかなかったかを示す情報を、いずれかの記憶媒体１１０のブロックＢＬＫに保持しておく。そして、ステップＳ１８において、この事前通知の有無についての情報を読み出す。
【０２６１】
前回の電源電圧供給の停止が事前の通知があった場合（ステップＳ１８のＹｅｓ分岐）、フローはステップＳ１１に移行する。事前通知が無かった場合（ステップＳ１８のＮｏ分岐）、フローはステップＳ２１に移行する。ステップＳ２１において、メモリコントローラ１２０は、不完全ロワーページ書き込みデータおよび不完全アッパーページ書き込みデータを読み出す。これら不完全書き込みデータは、復元用データである。
【０２６２】
ステップＳ２２において、メモリコントローラ１２０は、復元用データを使用してロワーページ書き込みデータおよびアッパーページ書き込みデータを復元する。
【０２６３】
ステップＳ２３において、メモリコントローラ１２０は、復元されたロワーページ書き込みデータおよびアッパーページ書き込みデータを、例えば、選択記憶媒体１１０ｔの消去済みの１つのセルユニットＣＵのロワーページおよびアッパーページに書き込む。復元されたロワーページ書き込みデータおよびアッパーページ書き込みデータは、別々のセルユニットＣＵに単レベルで書き込まれてもよい。
【０２６４】
フローがステップＳ２１〜Ｓ２３を経由してステップＳ１１に到達する場合、記憶媒体１１０は、ステップＳ１７の後でステップＳ１１に到達する前に、メモリコントローラ１２０はホスト装置２の指示に基づく通常の動作を行わない。
【０２６５】
次に、図３９〜図４１を参照して、不完全書き込みデータのブロックＢＬＫへの書き込み、および書き込みデータの復元がさらに記述される。図３９および図４０は、第６実施形態のメモリシステム１での不完全データ書き込みデータの書き込みおよび書き込みデータ復元の間のデータの転送を示す。図４０は図３９に後続する状態を示す。図４０の動作が図３９の動作の後に行われてもよい。
【０２６６】
図３９に示されるように、メモリコントローラ１２０は、データラッチＵＤＬ中のデータをある選択セルユニットＣＵ１に単レベルで書き込むことを指示するコマンドを選択記憶媒体１１０ｔに送信する。選択セルユニットＣＵ１は、緊急モードでの書き込みに備えて確保されていた消去状態のブロックＢＬＫに含まれる。選択記憶媒体１１０ｔは、コマンドを受け取ると、データラッチＵＤＬ中のデータ（不完全ロワーページ書き込みデータ）をデータラッチＸＤＬに転送し、データラッチＸＤＬ中のデータを、センスアンプＳＡを介して選択セルユニットＣＵ１に書き込む。上記のように、この書き込みは、単レベル書き込みで行われる。よって、書き込まれた選択セルユニットＣＵ１の各選択セルトランジスタＭＴは、不完全ロワーページ書き込みデータのうちの対応する１ビットのデータを保持する。
【０２６７】
単レベル書き込みでは、各選択セルトランジスタＭＴがベリファイにパスすると、データラッチＸＤＬ中の対応するビットが１データを保持するに至る。緊急モードでの単レベル書き込みでは、短期間での書き込み完了のために、ベリファイが省略されて、代わりに１回のプログラムループで大きなプログラム電圧Ｖｐｇｍが印加されることが可能である。また、単レベル書き込みでは、データラッチＵＤＬ中のデータは、破壊されない。
【０２６８】
図４０に示されるように、メモリコントローラ１２０は、データラッチＬＤＬ中のデータをある選択セルユニットＣＵ２に単レベルで書き込むことを指示するコマンドを選択記憶媒体１１０ｔに送信する。選択セルユニットＣＵ２は、緊急モードでの書き込みに備えて確保されていた消去状態のブロックＢＬＫに含まれる。選択記憶媒体１１０ｔは、コマンドを受け取ると、データラッチＬＤＬ中のデータ（不完全アッパーページ書き込みデータ）をデータラッチＸＤＬに転送し、データラッチＸＤＬ中のデータを、センスアンプＳＡを介して、選択セルユニットＣＵ２に書き込む。上記のように、この書き込みは、単レベル書き込みで行われる。よって、書き込まれた選択セルユニットＣＵ２の各選択セルトランジスタＭＴは、不完全アッパーページ書き込みデータのうちの対応する１ビットのデータを保持する。
【０２６９】
図４１および図４２は、第６実施形態のメモリシステム１での書き込みデータ復元の間のデータ保持領域２９ａの状態を示す。図４１および図４２は、第６実施形態がそれぞれ第１および第２実施形態に適用された場合を示す。
【０２７０】
図４１および図４２に示されるように、書き込みデータの復元のために、メモリコントローラ１２０は、不完全ロワーページ書き込みデータおよび不完全アッパーページ書き込みデータを選択記憶媒体１１０ｔのデータラッチＵＤＬおよびＬＤＬからそれぞれ読み出す。次いで、メモリコントローラ１２０は、不完全ロワーページ書き込みデータおよび不完全アッパーページ書き込みデータをそれぞれデータ保持領域ＤＬ０およびＤＬ１に保持する。これ以降のデータの入力および論理演算については、第１または第２実施形態でのものと同じである。
【０２７１】
＜６−３．利点（効果）＞
バックアップ電源１３１は、有限の容量を有し、有限の時間に亘ってのみメモリコントローラ１２０および記憶媒体１１０に電源電圧を供給できる。よって、緊急書き込みは、有限の時間の中で完了する必要がある。緊急モードへの移行の際に進行していた書き込みは、そのまま完了まで継続されるということが可能である。しかしながら、バックアップ電源１３１の容量の削減のために、緊急モードでの動作が可能な限り早く完了することが望まれる。そのために、緊急モードでの書き込みが改善される余地がある。
【０２７２】
第６実施形態のメモリコントローラ１２０は、緊急書き込みにおいて、不完全書き込みデータを、単レベル書き込みでセルユニットＣＵに書き込む。そして、メモリコントローラ１２０は、電源を供給され始めると、不完全書き込みデータを読み出し、かつ書き込み中断セルユニットＣＵからデータを読み出し、読み出されたデータと不完全書き込みデータを使用して、書き込みデータを復元し、復元された書き込みデータを別のセルユニットＣＵに書き込む。このため、緊急モードへの移行のときに進行中であった書き込みは完了される必要が無い。その代りに不完全書き込みデータのセルユニットＣＵへの書き込みが必要であるが、単レベル書き込みは、複数レベルでの書き込みより短時間で完了する。不完全書き込みデータの単レベルでの書き込みは、不完全書き込みデータが書き込みの完了まで継続されるよりも、短い時間で完了する場合がある。よって、緊急モードでの書き込みに要する時間が削減されることが可能である。
【０２７３】
＜６−４．変形例＞
図４３は、第６実施形態の変形のメモリシステム１の全体的な動作のフローを示す。ステップＳ１３は、ステップＳ３１に継続する。ステップＳ３１において、メモリコントローラ１２０は、進行中の書き込みが完了までに要すると予想される時間が、ステップＳ１５（不完全書き込みデータのセルユニットＣＵへの単レベルでの書き込み）の実行に要すると予想される時間より長いかを判断する。あるセルユニットＣＵへの書き込み完了に要するプログラムループの数は、記憶媒体１１０の性能に基づいて、予め予想されることが可能である。一方、メモリコントローラ１２０は、選択記憶媒体１１０ｔの現在のビジー状態の開始からの経過時間を知ることができる。そして、メモリコントローラ１２０は、完了に要する時間と、経過時間とから、現在の書き込みの完了までに要する時間を算出できる。同様に、不完全書き込みデータのセルユニットＣＵへの単レベル書き込みに要する時間も、記憶媒体１１０の性能に基づいて、予め予想されることが可能である。
【０２７４】
進行中の書き込みが完了までに要する時間が、不完全書き込みデータのセルユニットＣＵへの単レベルでの書き込み実行に要する時間より長い場合（ステップＳ３１のＹｅｓ分岐）、フローは、ステップＳ１４に移行し、そうでない場合（Ｎｏ分岐）、フローはステップＳ３２に移行する。ステップＳ３２において、メモリコントローラ１２０は、進行中の書き込みが完了するまで待機する。ステップＳ３２は、ステップＳ１６に継続する。
【０２７５】
変形例によれば、進行中の書き込みの大部分が完了済みであるために不完全データのセルユニットＣＵへの単レベル書き込みに要する時間よりも短い場合、進行中の書き込みが完了まで継続される。このため、ケースに応じた書き込みの選択により、緊急書き込みがより短時間で完了されることが可能である。
【０２７６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０２７７】
１…メモリシステム、２…ホスト装置、１１０…記憶媒体、１２０…メモリコントローラ、２１…ホストインターフェイス、２２…ＣＰＵ、２３…ＲＡＭ、２４…ＲＯＭ、２５…バッファメモリ、２６…メモリインターフェイス、１０…メモリセルアレイ、１１…入出力回路、１２…入出力制御回路、１３…シーケンサ、１４…電位生成回路、１５…ドライバ、１６…センスアンプ、１７…カラムデコーダ、１８…データラッチセット、１９…ロウデコーダ、２７…変換層コントローラ、２８…コマンド発送部、２９…書き込みデータ復元コントローラ、３０…ＥＣＣ回路。
【図１】
2018156698.tif 000003
【図２】
2018156698.tif 000004
【図３】
2018156698.tif 000005
【図４】
2018156698.tif 000006
【図５】
2018156698.tif 000007
【図６】
2018156698.tif 000008
【図７】
2018156698.tif 000009
【図８】
2018156698.tif 000010
【図９】
2018156698.tif 000011
【図１０】
2018156698.tif 000012
【図１１】
2018156698.tif 000013
【図１２】
2018156698.tif 000014
【図１３】
2018156698.tif 000015
【図１４】
2018156698.tif 000016
【図１５】
2018156698.tif 000017
【図１６】
2018156698.tif 000018
【図１７】
2018156698.tif 000019
【図１８】
2018156698.tif 000020
【図１９】
2018156698.tif 000021
【図２０】
2018156698.tif 000022
【図２１】
2018156698.tif 000023
【図２２】
2018156698.tif 000024
【図２３】
2018156698.tif 000025
【図２４】
2018156698.tif 000026
【図２５】
2018156698.tif 000027
【図２６】
2018156698.tif 000028
【図２７】
2018156698.tif 000029
【図２８】
2018156698.tif 000030
【図２９】
2018156698.tif 000031
【図３０】
2018156698.tif 000032
【図３１】
2018156698.tif 000033
【図３２】
2018156698.tif 000034
【図３３】
2018156698.tif 000035
【図３４】
2018156698.tif 000036
【図３５】
2018156698.tif 000037
【図３６】
2018156698.tif 000038
【図３７】
2018156698.tif 000039
【図３８】
2018156698.tif 000040
【図３９】
2018156698.tif 000041
【図４０】
2018156698.tif 000042
【図４１】
2018156698.tif 000043
【図４２】
2018156698.tif 000044
【図４３】
2018156698.tif 000045