JP2019053805A - メモリシステム - Google Patents
メモリシステム Download PDFInfo
- Publication number
- JP2019053805A JP2019053805A JP2017178053A JP2017178053A JP2019053805A JP 2019053805 A JP2019053805 A JP 2019053805A JP 2017178053 A JP2017178053 A JP 2017178053A JP 2017178053 A JP2017178053 A JP 2017178053A JP 2019053805 A JP2019053805 A JP 2019053805A
- Authority
- JP
- Japan
- Prior art keywords
- data
- erase
- level
- controller
- memory cell
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5671—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge trapping in an insulator
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
- G11C16/105—Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B43/00—EEPROM devices comprising charge-trapping gate insulators
- H10B43/20—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels
- H10B43/23—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
- H10B43/27—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B43/00—EEPROM devices comprising charge-trapping gate insulators
- H10B43/30—EEPROM devices comprising charge-trapping gate insulators characterised by the memory core region
- H10B43/35—EEPROM devices comprising charge-trapping gate insulators characterised by the memory core region with cell select transistors, e.g. NAND
Abstract
【課題】処理能力を向上できるメモリシステムを提供する。【解決手段】実施形態によれば、メモリシステム1は、メモリセルMTを含むメモリセルアレイ18を有する半導体記憶装置100と、半導体記憶装置100を制御し、メモリセルMTから読み出した第1データに基づいて第2データを作成可能なコントローラ200とを含む。コントローラ200は、外部機器2からメモリセルMTに保持された第1データの物理消去の要求を受信すると、半導体記憶装置100に、消去命令及び第2データの書き込み命令の1つを送信する。【選択図】図14
Description
本発明の実施形態は、メモリシステムに関する。
半導体記憶装置としてNAND型フラッシュメモリを用いたメモリシステムが知られている。
処理能力を向上できるメモリシステムを提供する。
上記実施形態に係るメモリシステムは、メモリセルを含むメモリセルアレイを有する半導体記憶装置と、半導体記憶装置を制御し、メモリセルから読み出した第1データに基づいて第2データを作成可能なコントローラとを含む。コントローラは、外部機器からメモリセルに保持された第1データの物理消去の要求を受信すると、半導体記憶装置に、消去命令及び第2データの書き込み命令の1つを送信する。
以下、実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
1.第1実施形態
第1実施形態に係るメモリシステムについて説明する。以下では、半導体記憶装置として、メモリセルトランジスタが半導体基板上方に三次元に積層された三次元積層型NAND型フラッシュメモリを例に挙げて説明する。なお、半導体記憶装置は、三次元積層型NAND型フラッシュメモリに限定されず、半導体基板上にメモリセルトランジスタMTが配置された平面型NAND型フラッシュメモリにも適用できる。
第1実施形態に係るメモリシステムについて説明する。以下では、半導体記憶装置として、メモリセルトランジスタが半導体基板上方に三次元に積層された三次元積層型NAND型フラッシュメモリを例に挙げて説明する。なお、半導体記憶装置は、三次元積層型NAND型フラッシュメモリに限定されず、半導体基板上にメモリセルトランジスタMTが配置された平面型NAND型フラッシュメモリにも適用できる。
1.1 構成について
1.1.1 メモリシステムの全体構成について
まず、メモリシステムの全体構成について、図1を用いて説明する。
1.1.1 メモリシステムの全体構成について
まず、メモリシステムの全体構成について、図1を用いて説明する。
図1に示すように、メモリシステム1は、NAND型フラッシュメモリ100及びコントローラ200を備えている。コントローラ200及びNAND型フラッシュメモリ100は、例えばそれらの組み合わせにより一つの半導体記憶装置を構成しても良く、その例としてはSDTMカードのようなメモリカードや、SSD(solid state drive)等が挙げられる。
コントローラ200は、NAND型フラッシュメモリ100のメモリ空間を管理する。また、コントローラ200は、ホスト機器2からの命令(要求)に応答して、NAND型フラッシュメモリ100に対してデータの読み出し動作、書き込み動作、及び消去動作等を命令する。
より具体的には、例えば、コントローラ200は、ホスト機器2から読み出し命令を受信すると、NAND型フラッシュメモリ100内に格納された、論理アドレスと物理アドレスとを関連付けたデータ(以下、「論物変換データ」と呼ぶ)が格納されたテーブル(以下、「ルックアップテーブルLUT」と呼ぶ)から、消去対象の論理アドレスに対応する論物変換データを読み出す。論理アドレスは、ホスト機器2からアクセス(読み出し動作、書き込み動作、及び消去動作等)を要求されたデータに付される。物理アドレスは、NAND型フラッシュメモリ100のメモリ空間のある一部を特定する。そして、コントローラ200は、読み出した論物変換データを用いて、論理アドレスを物理アドレスに変換した後、NAND型フラッシュメモリ100に読み出し命令を送信する。
また、コントローラ200は、ホスト機器2から書き込み命令を受信した場合、論理アドレスに対応する物理アドレスを新規に割り当て、NAND型フラッシュメモリ100に書き込み命令を送信する。また、例えば、コントローラ200は、新規に割り当てた論物変換データが一定量を超えると、ルックアップテーブルLUTを更新する。
また、コントローラ200は、ホスト機器2から大まかに2つのモードの消去命令を受信する。1つは、消去対象の論理アドレスに対応する論物変換データを消去し(以下、「論物消去」と呼ぶ)、NAND型フラッシュメモリ100内のデータを、システム上読み出せなくする論物消去命令である。論物消去の場合、NAND型フラッシュメモリ100内にデータは残ったままの状態となっている。もう1つは、論物消去に加えて、NAND型フラッシュメモリ100内のデータを物理的に消去する(以下、「物理消去」と呼ぶ)命令である。
更に、物理消去には、例えば、新しいデータを書き込むためにNAND型フラッシュメモリ100内のデータを物理消去する場合(以下、「通常消去」と呼ぶ)と、セキュリティの観点からデータを物理消去する(物理的に読めなくする)場合(以下、「セキュア消去」と呼ぶ)とが含まれる。例えば、コントローラ200は、ホスト機器2から通常消去命令を受信した場合、またはコントローラ200が新規データを書き込むためにデータの消去が必要と判断した場合、通常消去命令をNAND型フラッシュメモリ100に送信する。
本実施形態に係るコントローラ200は、ホスト機器2からセキュア消去命令を受信すると、セキュア消去に対応した物理消去動作(以下、「セキュアBLK消去動作」と呼ぶ)、または、データの上書き動作(以下、「上書きプログラム動作」と呼ぶ)のいずれかを実行する。上書きプログラム動作とは、メモリセルトランジスタが保持しているデータと異なるデータを上書きし(書き込みし)、データを書き換える動作である。コントローラ200は、例えば、セキュア消去対象の論理アドレスに対応したデータ(以下、「消去対象データ」と呼ぶ)に基づいて上書き用のデータ(以下、「上書きデータ」と呼ぶ)を作成する。上書きプログラム動作では、データを消去する代わりに、元のデータを加工して(書き換えて)、元のデータに関連のないデータとすることでセキュア性を確保している。セキュア消去の詳細については後述する。
コントローラ200は、ホストインターフェイス回路210、内蔵メモリ(RAM)220、プロセッサ(CPU)230、バッファメモリ240、NANDインターフェイス回路250、及びECC回路260を含む。
ホストインターフェイス回路210は、コントローラバスを介してホスト機器2と接続され、ホスト機器2との通信を司る。ホストインターフェイス回路210は、プロセッサ230及びバッファメモリ240に、ホスト機器2から受信した命令及びデータを転送する。また、ホストインターフェイス回路210は、プロセッサ230の命令に応答して、バッファメモリ240内のデータをホスト機器2へ転送する。
NANDインターフェイス回路250は、NANDバスを介してNAND型フラッシュメモリ100と接続され、NAND型フラッシュメモリ100との通信を司る。NANDインターフェイス回路250は、NAND型フラッシュメモリ100にプロセッサ230から受信した命令を転送する。また、NANDインターフェイス回路250は、書き込み時には、NAND型フラッシュメモリ100に、バッファメモリ240内の書き込みデータを転送する。更に、NANDインターフェイス回路250は、読み出し時には、バッファメモリ240に、NAND型フラッシュメモリ100から読み出されたデータを転送する。
プロセッサ230は、コントローラ200全体の動作を制御する。また、プロセッサ230は、ホスト機器2の命令に応じて、各種コマンドを発行し、NAND型フラッシュメモリ100に送信する。例えば、プロセッサ230は、ホスト機器2から書き込み命令を受信した際には、それに応答して、NAND型フラッシュメモリ100に書き込み命令を送信する。読み出し動作及び消去動作の際も同様に、プロセッサ230は、ホスト機器2から受信した命令に応答して、NAND型フラッシュメモリ100に各種命令を送信する。また、プロセッサ230は、ウェアレベリング等、NAND型フラッシュメモリ100を管理するための様々な処理を実行する。更に、プロセッサ230は、各種の演算を実行する。例えば、プロセッサ230は、データの暗号化処理やランダマイズ処理等を実行する。
また、プロセッサ230は、ホスト機器2から受信した論理アドレスと、当該論理アドレスに対応するNAND型フラッシュメモリ100の物理アドレスとを互いに変換する。更に、プロセッサ230は、ルックアップテーブルLUTを管理し、ルックアップテーブルLUT内に論物変換データと、セキュア消去に関する情報を格納する。また、プロセッサ230は、セキュア消去の際、消去対象ブロックBLKのデータを確認し、セキュアBLK消去動作を実行するか上書きプログラム動作を実行するか判定する(選択する)。また、プロセッサ230は、NAND型フラッシュメモリ100から読み出したデータを加工し、上書きプログラム動作用の上書きデータを作成する。
ECC回路260は、データの誤り訂正(ECC:Error Checking and Correcting)処理を実行する。
内蔵メモリ220は、例えばDRAM等の半導体メモリであり、プロセッサ230の作業領域として使用される。そして内蔵メモリ220は、NAND型フラッシュメモリ100を管理するためのファームウェアや、各種の管理テーブル等を保持する。また、RAM220は、ルックアップテーブルLUTから読み出した論物変換データ、あるいは新規に作成された論物変換データを一時的に保持する。
バッファメモリ240は、NAND型フラッシュメモリ100に書き込まれるデータ(書き込みデータ)、及びNAND型フラッシュメモリ100から読み出されたデータ(読み出しデータ)等のデータを保持する。
NAND型フラッシュメモリ100は、複数のメモリセルトランジスタを備え、データを不揮発に記憶する。NAND型フラッシュメモリ100は、NANDバスによってコントローラ200と接続され、コントローラ200からの命令に基づいて動作する。より具体的には、NAND型フラッシュメモリ100は、コントローラ200と、例えば8ビットの信号DQ0〜DQ7(以下、DQ0〜DQ7を限定しない場合は、単に信号DQ、または信号DQ[7:0]と表記する)の送受信を行う。信号DQ0〜DQ7には、例えばデータ、アドレス、及びコマンドが含まれる。また、NAND型フラッシュメモリ100は、コントローラ200から、例えばチップイネーブル信号CEn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号WEn、及びリードイネーブル信号REnを受信する。そして、NAND型フラッシュメモリ100はコントローラ200に、レディ/ビジー信号R/Bnを送信する。
チップイネーブル信号CEnは、NAND型フラッシュメモリ100をイネーブルにするための信号であり、例えばLow(“L”)レベルでアサートされる。コマンドラッチイネーブル信号CLEは、信号DQがコマンドであることを示す信号であり、例えばHigh(“H”)レベルでアサートされる。アドレスラッチイネーブル信号ALEは、信号DQがアドレスであることを示す信号であり、例えば“H”レベルでアサートされる。ライトイネーブル信号WEnは、受信した信号をNAND型フラッシュメモリ100内へ取り込むための信号であり、コントローラ200よりコマンド、アドレス、及びデータ等を受信する度に、例えば“L”レベルでアサートされる。よって、ライトイネーブル信号WEnがトグルされる度に、信号DQがNAND型フラッシュメモリ100に取り込まれる。リードイネーブル信号REnは、コントローラ200が、NAND型フラッシュメモリ100からデータを読み出すための信号である。リードイネーブル信号REnは、例えば“L”レベルでアサートされる。よって、NAND型フラッシュメモリ100は、トグルされるリードイネーブル信号REnに基づいて、コントローラ200に信号DQを出力する。レディ/ビジー信号R/Bnは、NAND型フラッシュメモリ100がビジー状態であるかレディ状態であるか(コントローラ200からコマンドを受信不可能な状態か可能な状態か)を示す信号であり、例えばNAND型フラッシュメモリ100がビジー状態の際に“L”レベルとされる。
1.1.2 半導体記憶装置の構成について
次に、半導体記憶装置の構成について、図2を用いて説明する。なお、図2では各ブロック間の接続の一部を矢印線で示しているが、ブロック間の接続はこれに限定されない。
次に、半導体記憶装置の構成について、図2を用いて説明する。なお、図2では各ブロック間の接続の一部を矢印線で示しているが、ブロック間の接続はこれに限定されない。
図2に示すように、NAND型フラッシュメモリ100は、入出力回路10、ロジック制御回路11、ステータスレジスタ12、アドレスレジスタ13、コマンドレジスタ14、シーケンサ15、レディ/ビジー回路16、電圧発生回路17、メモリセルアレイ18、ロウデコーダ19、センスアンプ20、データレジスタ21、及びカラムデコーダ22を含む。
入出力回路10は、コントローラ200との信号DQの入出力を制御する。より具体的には、入出力回路10は、入力回路と出力回路を備える。入力回路は、コントローラ200から受信したデータDAT(書き込みデータWD)を、データレジスタ21に送信し、アドレスADDをアドレスレジスタ13に送信し、コマンドCMDをコマンドレジスタ14に送信する。出力回路は、ステータスレジスタ12から受信したステータス情報STS、データレジスタ21から受信したデータDAT(読み出しデータRD)、及びアドレスレジスタ13から受信したアドレスADDをコントローラ200に送信する。入出力回路10とデータレジスタ21とは、データバスを介して接続される。
ロジック制御回路11は、コントローラ200から例えばチップイネーブル信号CEn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号WEn、及びリードイネーブル信号REnを受信する。そしてロジック制御回路11は、受信した信号に応じて、入出力回路10及びシーケンサ15を制御する。
ステータスレジスタ12は、例えばデータの書き込み動作、読み出し動作、及び消去動作におけるステータス情報STSを一時的に保持し、コントローラ200に動作が正常に終了したか否かを通知する。
アドレスレジスタ13は、入出力回路10を介してコントローラ200から受信したアドレスADDを一時的に保持する。そしてアドレスレジスタ13は、ロウアドレスRAをロウデコーダ19へ転送し、カラムアドレスCAをカラムデコーダ22に転送する。
コマンドレジスタ14は、入出力回路10を介してコントローラ200から受信したコマンドCMDを一時的に保存し、シーケンサ15に転送する。
シーケンサ15は、NAND型フラッシュメモリ100全体の動作を制御する。より具体的には、シーケンサ15は、コマンドレジスタ14が保持するコマンドCMDに応じて、例えばステータスレジスタ12、レディ/ビジー回路16、電圧発生回路17、ロウデコーダ19、センスアンプ20、データレジスタ21、及びカラムデコーダ22等を制御し、書き込み動作、読み出し動作、及び消去動作等を実行する。
レディ/ビジー回路16は、シーケンサ15の動作状況に応じて、レディ/ビジー信号R/Bnをコントローラ200に送信する。
電圧発生回路17は、シーケンサ15の制御に応じて、書き込み動作、読み出し動作、及び消去動作に必要な電圧を発生させ、この発生した電圧を例えばメモリセルアレイ18、ロウデコーダ19、及びセンスアンプ20等に供給する。ロウデコーダ19及びセンスアンプ20は、電圧発生回路17より供給された電圧をメモリセルアレイ18内のメモリセルトランジスタに印加する。
メモリセルアレイ18は、ロウ及びカラムに対応付けられた不揮発性のメモリセルトランジスタ(以下、「メモリセル」とも表記する)を含む複数のブロックBLK(BLK0、BLK1、…、BLK(L−1))(Lは2以上の整数)を備えている。各々のブロックBLKは、複数のストリングユニットSU(SU0、SU1、SU2、SU3、…)を含む。そして各々のストリングユニットSUは、複数のNANDストリングSRを含む。なお、メモリセルアレイ18内のブロックBLK数及びブロックBLK内のストリングユニットSU数は任意である。メモリセルアレイ18の詳細については後述する。
ロウデコーダ19は、ロウアドレスRAをデコードする。ロウデコーダ19は、デコード結果に基づき、ブロックBLKのいずれかを選択し、更にいずれかのストリングユニットSUを選択する。そして、ロウデコーダ19は、必要な電圧をブロックBLKに印加する。
センスアンプ20は、読み出し動作のときには、メモリセルアレイ18から読み出されたデータをセンスする。そして、センスアンプ20は、読み出しデータRDをデータレジスタ21に送信する。また、センスアンプ20は、書き込み動作のときには、書き込みデータWDをメモリセルアレイ18に送信する。
データレジスタ21は、複数のラッチ回路を備える。ラッチ回路は、書き込みデータWD及び読み出しデータRDを保持する。例えば書き込み動作において、データレジスタ21は、入出力回路10から受信した書き込みデータWDを一時的に保持し、センスアンプ20に送信する。また例えば、読み出し動作において、データレジスタ21は、センスアンプ20から受信した読み出しデータRDを一時的に保持し、入出力回路10に送信する。
カラムデコーダ22は、例えば書き込み動作、読み出し動作、及び消去動作の際、カラムアドレスCAをデコードし、デコード結果に応じてデータレジスタ21内のラッチ回路を選択する。
1.1.3 メモリセルアレイの構成について
次に、メモリセルアレイ18の構成について、図3を用いて説明する。図3の例は、ブロックBLK0を示しているが、他のブロックBLKの構成も同じである。
次に、メモリセルアレイ18の構成について、図3を用いて説明する。図3の例は、ブロックBLK0を示しているが、他のブロックBLKの構成も同じである。
図3に示すように、ブロックBLK0は、例えば4つのストリングユニットSU(SU0〜SU3)を含む。そして、各々のストリングユニットSUは、複数のNANDストリングSRを含む。NANDストリングSRの各々は、例えば8個のメモリセルトランジスタMT0〜MT7、並びに選択トランジスタST1及びST2を含んでいる。以下、メモリセルトランジスタMT0〜MT7を限定しない場合は、メモリセルトランジスタMTと表記する。メモリセルトランジスタMTは、制御ゲートと電荷蓄積層とを備え、データを不揮発に保持する。
なお、メモリセルトランジスタMTは、電荷蓄積層に絶縁膜を用いたMONOS型であっても良いし、電荷蓄積層に導電層を用いたFG型であっても良い。以下、本実施形態では、MONOS型を例として説明する。また、メモリセルトランジスタMTの個数は8個に限られず、16個や32個、64個、128個等であってもよく、その数は限定されるものではない。更に、選択トランジスタST1及びST2の個数は、任意であり、それぞれ1個以上あれば良い。
メモリセルトランジスタMTは、選択トランジスタST1のソースと選択トランジスタST2のドレインとの間に直列接続されている。より具体的には、メモリセルトランジスタMT0〜MT7は、その電流経路が直列に接続される。そしてメモリセルトランジスタMT7のドレインは、選択トランジスタST1のソースに接続され、メモリセルトランジスタMT0のソースは、選択トランジスタST2のドレインに接続されている。
ストリングユニットSU0〜SU3の各々における選択トランジスタST1のゲートは、選択ゲート線SGD0〜SGD3にそれぞれ接続される。同様に、ストリングユニットSU0〜SU3の各々における選択トランジスタST2のゲートは、選択ゲート線SGS0〜SGS3にそれぞれ接続される。以下、選択ゲート線SGD0〜SGD3を限定しない場合は、選択ゲート線SGDと表記する。選択ゲート線SGS0〜SGS3を限定しない場合は、選択ゲート線SGSと表記する。なお、各ストリングユニットSUの選択ゲート線SGS0〜SGS3は共通に接続されても良い。
ブロックBLK内にあるメモリセルトランジスタMT0〜MT7の制御ゲートは、それぞれワード線WL0〜WL7に共通接続される。以下、ワード線WL0〜WL7を限定しない場合は、ワード線WLと表記する。
ストリングユニットSU内にある各NANDストリングSRの選択トランジスタST1のドレインは、それぞれ異なるビット線BL0〜BL(N−1)(Nは2以上の整数)に接続される。以下、ビット線BL0〜BL(N−1)を限定しない場合は、ビット線BLと表記する。各ビット線BLは、複数のブロックBLK間で各ストリングユニットSU内にある1つのNANDストリングSRを共通に接続する。更に、複数の選択トランジスタST2のソースは、ソース線SLに共通に接続されている。つまり、ストリングユニットSUは、異なるビット線BLに接続され、且つ同一の選択ゲート線SGD及びSGSに接続されたNANDストリングSRの集合体である。またブロックBLKは、ワード線WLを共通にする複数のストリングユニットSUの集合体である。そしてメモリセルアレイ18は、ビット線BLを共通にする複数のブロックBLKの集合体である。
データの書き込み動作及び読み出し動作は、いずれかのストリングユニットSUにおけるいずれかのワード線WLに接続されたメモリセルトランジスタMTに対して、一括して行われる。以下、データの書き込み動作及び読み出し動作の際、一括して選択されるメモリセルトランジスタMTの群を「メモリセルグループMCG」と呼ぶ。そして、1つのメモリセルグループMCGに書き込まれる、または読み出される各メモリセルトランジスタMTの1ビットのデータの集まりを「ページ」と呼ぶ。
データの消去動作は、ブロックBLK単位で一括して行うことができる。
1.1.4 メモリセルアレイの断面構成について
次に、メモリセルアレイ18の断面構成について、図4を用いて説明する。図4の例は、ストリングユニットSU0及びSU1の断面を示しており、ストリングユニットSU2及びSU3の構成も同様である。なお、図4において、層間絶縁膜は省略されている。
次に、メモリセルアレイ18の断面構成について、図4を用いて説明する。図4の例は、ストリングユニットSU0及びSU1の断面を示しており、ストリングユニットSU2及びSU3の構成も同様である。なお、図4において、層間絶縁膜は省略されている。
図4に示すように、半導体基板30に平行な第1方向D1に沿って、半導体基板30に平行で第1方向D1に垂直な第2方向D2に延びる複数のソース線コンタクトLIが設けられている。2つのソース線コンタクトLIの間には、1つのストリングユニットSUが配置されている。ソース線コンタクトLIは、半導体基板30とNANDストリングSRよりも上方に設けられる図示せぬソース線SLとを接続する。なお、ソース線コンタクトLI及びNANDストリングSRの配置は任意に設定可能である。例えば2つのソース線コンタクトLIの間に複数のストリングユニットSUが設けられても良い。更に図4の例では、説明を簡略化するために1つのストリングユニットSUにおいて、複数のNANDストリングSRが、第2方向D2に沿って1列に配列されている場合を示しているが、1つのストリングユニットSUにおけるNANDストリングSRの配列は任意に設定可能である。例えば、第2方向D2に沿って、2列並行に配置されても良く、4列の千鳥配置に配列されても良い。
各ストリングユニットSUにおいて、NANDストリングSRは、半導体基板30に垂直な第3方向D3に沿って形成されている。より具体的には、半導体基板30の表面領域には、n型ウェル31が設けられている。そして、n型ウェル31の表面領域には、p型ウェル32が設けられている。また、p型ウェル32の表面領域の一部には、n+型拡散層33が設けられている。そしてp型ウェル32の上方には、選択ゲート線SGS、メモリセルトランジスタMT0〜MT7に接続されるワード線WL0〜WL7、及び選択ゲート線SGDとして機能する10層の配線層34が、それぞれ図示せぬ層間絶縁膜を介して順次積層されている。
そして、10層の配線層34を貫通してp型ウェル32に達するピラー状の半導体層35が形成されている。半導体層35の側面には、トンネル絶縁膜36、電荷蓄積層37、及びブロック絶縁膜38が順次形成される。半導体層35には、例えば多結晶シリコンが用いられる。トンネル絶縁膜36及びブロック絶縁膜38には、例えばシリコン酸化膜が用いられる。電荷蓄積層37には、例えばシリコン窒化膜が用いられる。半導体層35は、NANDストリングSRの電流経路として機能し、各トランジスタのチャネルが形成される領域となる。そして半導体層35の上端は、コンタクトプラグ39を介して、第1方向D1に延びる配線層40に接続される。配線層40は、ビット線BLとして機能する。
なお、図4の例では、選択ゲート線SGD及びSGSとして機能する配線層34は、それぞれ1層設けられているが、複数層設けられても良い。
ソース線コンタクトLIは、第2方向D2に沿ってライン形状を有する。ソース線コンタクトLIには、例えば多結晶シリコンが用いられる。そしてソース線コンタクトLIの底面はn+型拡散層33に接続され、上面はソース線SLとして機能する配線層(不図示)に接続される。
1.2 ルックアップテーブルについて
次に、ルックアップテーブルLUTについて、図5を用いて説明する。なお、図5の例では、1つの物理アドレス及び1つの論理アドレスが、メモリセルアレイ18における1つのページに対応する。
次に、ルックアップテーブルLUTについて、図5を用いて説明する。なお、図5の例では、1つの物理アドレス及び1つの論理アドレスが、メモリセルアレイ18における1つのページに対応する。
図5に示すように、ルックアップテーブルLUTは、物理アドレス、論理アドレス、及びセキュア消去において上書きプログラム動作が実施されたか否かについての情報を保持する。例えば、物理アドレス“00001000”には、論理アドレス“00000000”が割り当てられており、対応するページには上書きプログラム動作が実施されていない。よって、当該物理アドレスに対応するページには、有効データが格納されている。また、例えば、物理アドレス“00009000”には、論理アドレスが割り当てられておらず、対応するページには上書きプログラム動作が実施されている。よって、論理アドレスはセキュア消去により消去されており、当該物理アドレスに対応するページには、上書きされた無効データが格納されている。また、例えば、物理アドレス“00009001”には、論理アドレスが割り当てられておらず、データの上書きも実施されていない。よって、当該物理アドレスに対応するページには、データが書き込まれていない。
1.3 メモリセルトランジスタの閾値分布について
次に、本実施形態に係るメモリセルトランジスタMTの取り得る閾値分布について、図6を用いて説明する。以下、本実施形態では、メモリセルトランジスタMTが2値(1ビット)のデータを保持可能な場合について説明する。以下、2値のデータを保持するメモリセルトランジスタをSLC(single-level-cell)と呼ぶ。なお、本実施形態では、SLCについて説明するが、保持可能なデータは2値に限定されない。メモリセルトランジスタMTが4値以上のデータ(2ビット以上のデータ)を保持可能であっても良い。
次に、本実施形態に係るメモリセルトランジスタMTの取り得る閾値分布について、図6を用いて説明する。以下、本実施形態では、メモリセルトランジスタMTが2値(1ビット)のデータを保持可能な場合について説明する。以下、2値のデータを保持するメモリセルトランジスタをSLC(single-level-cell)と呼ぶ。なお、本実施形態では、SLCについて説明するが、保持可能なデータは2値に限定されない。メモリセルトランジスタMTが4値以上のデータ(2ビット以上のデータ)を保持可能であっても良い。
図示するように、各々のメモリセルトランジスタMTの閾値電圧は、離散的な2個の分布のいずれかに含まれる値を取る。以下、2個の分布を閾値電圧の低い順にそれぞれ、“Er”レベル及び“A”レベルと呼ぶ。
“Er”レベルは、例えばデータの消去状態に相当する。そして“A”レベルは、電荷蓄積層に電荷が注入されてデータが書き込まれた状態に相当する。書き込み動作において、“A”レベルの閾値分布に対応するベリファイ電圧をAVとすると、“Er”レベルに含まれる閾値電圧は電圧AV未満である。“A”レベルに含まれる閾値電圧は、電圧AV以上である。以下、本実施形態では、“Er”レベル及び“A”レベルの状態を、2進数表記で“1”データ及び“0”データに割り当てる。以下、各レベルの閾値分布を比較して、低い閾値電圧を有するレベルを「低い(閾値電圧)レベル」または「下位レベル」と呼び、高い閾値電圧を有するレベルを「高い(閾値電圧)レベル」または「上位レベル」と呼ぶ。
なお、データの割り当ては任意に設定可能である。
更に、図6では2個のレベルが離散的に分布する場合を例に説明したが、これは例えばデータの書き込み直後の理想的な状態である。従って、現実的には2つのレベルが重なることが起こり得る。例えばデータの書き込み後、ディスターブ等により“Er”レベルの上端と“A”レベルの下端とが重なる場合がある。このような場合には、例えばECC技術等を用いてデータが訂正される。
1.4 書き込み動作について
次に、書き込み動作について説明する。書き込み動作は、大まかにはプログラム動作とプログラムベリファイ動作とを含む。そして、プログラム動作とプログラムベリファイ動作との組み合わせ(以下、「プログラムループ」と呼ぶ)を繰り返すことで、メモリセルトランジスタMTの閾値電圧がターゲットレベルまで上昇される。
次に、書き込み動作について説明する。書き込み動作は、大まかにはプログラム動作とプログラムベリファイ動作とを含む。そして、プログラム動作とプログラムベリファイ動作との組み合わせ(以下、「プログラムループ」と呼ぶ)を繰り返すことで、メモリセルトランジスタMTの閾値電圧がターゲットレベルまで上昇される。
プログラム動作は、電子を電荷蓄積層に注入することにより閾値電圧を上昇させる(または注入を禁止することで閾値電圧を維持させる)動作のことである。以下では、閾値電圧を上昇させる動作を「“0”プログラム動作」または「“0”書き込み動作」と呼び、“0”プログラム対象とされたビット線BLには、センスアンプ20から“0”データに対応する電圧(例えば電圧VSS)が与えられる。他方で、閾値電圧を維持させる動作を「“1”プログラム動作」、「“1”書き込み動作」、または「書き込み禁止」と呼び、“1”プログラム対象とされたビット線BLには、センスアンプ20から“1”データに対応する電圧(以下、「電圧VBL」と表記する)が与えられる。以下、“0”プログラム動作に対応するビット線をBL(“0”)と表記し、“1”プログラム動作に対応するビット線をBL(“1”)と表記する。
プログラムベリファイ動作は、プログラム動作の後、データを読み出し、メモリセルトランジスタMTの閾値電圧が目標とするターゲットレベル(SLCの場合、電圧AV)に達したか否かを判定する動作である。
また、NAND型フラッシュメモリ100における書き込み動作には、3つのモードの書き込み動作がある。1つめは、コントローラ200から受信したデータをメモリセルアレイ18に書き込む動作(以下、「通常書き込み動作」と呼ぶ)である。セキュア消去の上書きプログラム動作も、NAND型フラッシュメモリ100における動作としては、通常書き込み動作と同じである。
2つめは、消去動作において消去対象ブロックBLKのデータを消去する際に、ブロックBLK内の消去対象ではないデータ(以下、「非消去対象データ」または、単に「非対象データ」と呼ぶ)を、非消去対象ブロックBLKに移行させる動作(以下、「コピープログラム動作」と呼ぶ)である。コピープログラム動作には、消去対象のブロックBLKから非消去対象データを読み出す動作と、読み出したデータを非消去対象ブロックBLKに書き込む動作とが含まれる。
3つめは、セキュアBLK消去動作において、消去動作を実施する前に、複数のレベルの閾値分布の分散を低減させる、すなわち、低い閾値電圧レベルの閾値分布が高い閾値電圧レベルの閾値分布に重なる(近づく)ように消去対象ブロックBLK内のメモリセルトランジスタMTの閾値電圧を上昇させる動作(以下、「プリプログラム動作」と呼ぶ)である。より具体的には、シーケンサ15は、データの消去前に、消去対象ブロックBLK内のメモリセルトランジスタMTに対して一括して書き込み動作を行う。同じ条件で、一括して書き込み動作を行った場合、閾値電圧レベルの低いメモリセルトランジスタMTの方が、閾値電圧の変動量(上昇量)が大きくなる。従って、低い閾値電圧レベルの閾値分布が高い閾値電圧レベルの閾値分布に近づき重なるようになる。なお、プリプログラム動作では、プログラムベリファイ動作を必要としない。
1.4.1 通常書き込み動作における各配線の電圧について
次に、通常書き込み動作における各配線の電圧について、図7を用いて説明する。図7の例は、1回目のプログラムループにおけるプログラム動作を示している。なお、コピープログラム動作における書き込み動作も、通常書き込み動作と同様である。
次に、通常書き込み動作における各配線の電圧について、図7を用いて説明する。図7の例は、1回目のプログラムループにおけるプログラム動作を示している。なお、コピープログラム動作における書き込み動作も、通常書き込み動作と同様である。
図7に示すように、時刻t1において、センスアンプ20は、ビット線BL(“1”)に電圧VBLを印加し、BLプリチャージを開始する。他方で、センスアンプ20は、ビット線BL(“0”)に電圧VSSを印加する。
ロウデコーダ19は、選択ブロックBLKにおいて、選択ストリングユニットSUの選択ゲート線SGD(参照符号“選択SGD”)に電圧VSD1を印加する。選択トランジスタST1の閾値電圧をVtsgとすると、電圧VSD1は、“VBL+Vtsg”以上の電圧で、選択トランジスタST1をオン状態とさせる電圧である。他方で、ロウデコーダ19は、非選択ストリングユニットSUの選択ゲート線SGD(参照符号“非選択SGD”)に電圧VSSを印加して、対応する選択トランジスタST1をオフ状態とさせる。また、ロウデコーダ19は、選択ストリングユニットSUおよび非選択ストリングユニットSUの選択ゲート線SGSに電圧VSSを印加して、選択トランジスタST2をオフ状態とさせる。
またソース線SLには、電圧発生回路17から電圧VCELSRC(>VSS)が印加される。
時刻t2において、ロウデコーダ19は、選択ストリングユニットSUの選択ゲート線SGDに電圧VSD2を印加する。電圧VSD2は、電圧VSD1及び電圧VBLよりも低い電圧で、電圧VSSを印加された選択トランジスタST1はオンさせるが、電圧VBLを印加された選択トランジスタST1はカットオフさせる電圧である。これにより、ビット線BL(“1”)に対応するNANDストリングSRのチャネルはフローティング状態となる。
時刻t3において、ロウデコーダ19は、選択ストリングユニットSUの各ワード線WLに電圧VPASSを印加する。電圧VPASSは、メモリセルトランジスタMTの閾値電圧によらず、メモリセルトランジスタMTをオン状態にする電圧である。
時刻t4において、ロウデコーダ19は、選択ストリングユニットSUの選択ワード線WLに電圧VPGMを印加する。電圧VPGMは、電子を電荷蓄積層37に注入するための高電圧である。電圧VPGMと電圧VPASSとは、VPGM>VPASSの関係にある。
ビット線BL(“0”)に対応するNANDストリングSRでは、選択トランジスタST1がオン状態となっているため、選択ワード線WLに接続されたメモリセルトランジスタMTのチャネル電位はVSSとなる。よって、制御ゲートとチャネルとの間の電位差(VPGM−VSS)が大きくなる。その結果、電子が電荷蓄積層37に注入されて、ビット線BL(“0”)に対応するメモリセルトランジスタMTの閾値電圧が上昇される。
ビット線BL(“1”)に対応するNANDストリングSRでは、選択トランジスタST1がカットオフ状態となっているため、選択ワード線WLに接続されたメモリセルトランジスタMTのチャネルは電気的にフローティングとなる。すると、ワード線WL等との容量カップリングにより、チャネル電位は上昇する。よって、制御ゲートとチャネルとの間の電位差は、ビット線BL(“0”)に対応するメモリセルトランジスタMTよりも小さくなる。その結果、電子が電荷蓄積層37にほとんど注入されず、ビット線BL(“1”)に対応するメモリセルトランジスタMTの閾値電圧は維持される(閾値分布レベルがより高い分布に遷移するほどには閾値電圧は変動しない)。
時刻t5において、ロウデコーダ19は、ワード線WLに電圧VSSを印加する。
時刻t6において、リカバリ処理が実行され、プログラム動作は終了する。
1.4.2 プリプログラム動作における各配線の電圧について
次に、プリプログラム動作における各配線の電圧について、図8を用いて説明する。プリプログラム動作では、例えば、消去対象ブロックBLKの全てのワード線WL及び選択ゲート線SGDが選択され、全てのビット線BLが、“0”プログラム動作の対象とされる。
次に、プリプログラム動作における各配線の電圧について、図8を用いて説明する。プリプログラム動作では、例えば、消去対象ブロックBLKの全てのワード線WL及び選択ゲート線SGDが選択され、全てのビット線BLが、“0”プログラム動作の対象とされる。
図8に示すように、時刻t1において、センスアンプ20は、ビット線BL(“0”)に電圧VSSを印加する。ロウデコーダ19は、選択ブロックBLKの選択ゲート線SGDに電圧VSD2を印加し、選択トランジスタST1をオン状態にする。また、ロウデコーダ19は、選択ゲート線SGSに電圧VSSを印加して、選択トランジスタST2をオフ状態にする。またソース線SLには、電圧VCELSRCが印加される。
時刻t2において、ロウデコーダ19は、選択ブロックBLKのワード線WLに電圧VPGMを印加する。
時刻t3において、ロウデコーダ19は、ワード線WLに電圧VSSを印加する。
時刻t4において、リカバリ処理が実行され、プログラムは終了する。
1.5 物理消去動作について
次に、物理消去動作について説明する。先に述べたように、物理消去動作には、通常消去動作とセキュアBLK消去動作とがある。
次に、物理消去動作について説明する。先に述べたように、物理消去動作には、通常消去動作とセキュアBLK消去動作とがある。
通常消去動作は、後の書き込み動作で消去対象ブロックBLKが使用できるように、消去対象ブロックBLK内のメモリセルトランジスタMTの閾値電圧を“Er”レベルにする(電圧AV未満にする)ための動作である。通常消去動作は、コピープログラム動作、及び消去電圧印加動作と消去ベリファイ動作との組み合わせ(以下、「消去ループ」と呼ぶ)を含む。そして、消去ループを繰り返すことで、メモリセルトランジスタMTの閾値電圧はAVレベル未満まで低下する。
セキュアBLK消去動作は、消去対象ブロックBLKのデータが正しく読み出せなくするための消去動作である。従って、セキュアBLK消去動作では、消去対象ブロックBLK内のメモリセルトランジスタMTの閾値電圧が“Er”レベルに達していなくても良い。消去対象ブロックBLKに新規にデータを書き込む場合には、別途、通常消去動作が行われる。セキュアBLK消去動作は、コピープログラム動作、プリプログラム動作、及び消去電圧印加動作を含む。なお、セキュアBLK消去動作では、消去対象ブロックBLK内のメモリセルトランジスタMTの閾値電圧が“Er”レベルに達していなくても良いため、消去ベリファイ動作が省略される。なお、セキュアBLK消去動作において、消去ループ(消去ベリファイ)を適用しても良い。
1.5.1 通常消去動作における各種信号の送受信について
まず、通常消去動作における各種信号の送受信について、図9を用いて説明する。
まず、通常消去動作における各種信号の送受信について、図9を用いて説明する。
図9に示すように、まず、コントローラ200は、チップイネーブル信号CEnを“L”レベルにしてアサートする。
次に、コントローラ200は、ライトイネーブル信号WEnをトグルし、消去動作を実行することを通知するコマンド“60h”をNAND型フラッシュメモリ100に送信するとともに、コマンドラッチイネーブル信号CLEを“H”レベルにしてアサートする。
次に、コントローラ200は、ライトイネーブル信号WEnをトグルし、アドレス“ADD”を送信すると共に、アドレスラッチイネーブル信号ALEを“H”レベルにしてアサートする。なお、図9の例では、ロウアドレスRAを3サイクル送信する場合を示しているが、ロウアドレスRAのサイクルは任意に設定可能である。
更にコントローラ200は、ライトイネーブル信号WEnをトグルし、消去動作の実行を指示するコマンド“D0h”を送信すると共に、コマンドラッチイネーブル信号CLEを“H”レベルにしてアサートする。
NAND型フラッシュメモリ100は、コマンド“D0h”に応じて、ビジー状態となり(R/Bn=“L”)、通常消去動作を開始する。NAND型フラッシュメモリ100は、通常消去動作が終了するとレディ状態となり、信号R/Bnは“H”レベルとされる。
1.5.2 セキュアBLK消去動作における各種信号の送受信について
次に、セキュアBLK消去動作における各種信号の送受信について、図10を用いて説明する。以下では、図9と異なる点についてのみ説明する。
次に、セキュアBLK消去動作における各種信号の送受信について、図10を用いて説明する。以下では、図9と異なる点についてのみ説明する。
図10に示すように、コントローラ200は、コマンド“60h”の前に、セキュアBLK消去動作を実行することを通知するプリコマンド“0Fh”を付与する。より具体的には、コントローラ200は、ライトイネーブル信号WEnをトグルし、プリコマンド“0Fh”をNAND型フラッシュメモリ100に送信するとともに、コマンドラッチイネーブル信号CLEを“H”レベルにしてアサートする。他の信号は、図9と同じである。
1.5.3 NAND型フラッシュメモリにおける消去動作の流れについて
次に、NAND型フラッシュメモリ100における消去動作の流れについて、図11を用いて説明する。
次に、NAND型フラッシュメモリ100における消去動作の流れについて、図11を用いて説明する。
図11に示すように、NAND型フラッシュメモリ100は、コントローラ200から消去命令を受信する(ステップS101)。
消去命令がセキュアBLK消去命令ではない場合(ステップS102_No)、シーケンサ15は、通常消去動作を選択する(ステップS103)。
シーケンサ15は、まず、コピープログラム動作を実行し、消去対象ブロックBLK内の非消去対象データを非消去対象ブロックBLKに移動させる(ステップS104)。
次に、シーケンサ15は、消去電圧印加動作を実行する(ステップS105)。より具体的には、センスアンプ20は、消去対象ブロックBLKに対応する各ビット線BLに消去電圧VERAを印加する。電圧VERAは、メモリセルトランジスタMTの電荷蓄積層37から電子を引き抜く(ホールを注入する)ための高電圧である。同様に、電圧発生回路17は、ソース線SLに電圧VERAを印加する。また、ロウデコーダ19は、例えば、選択ブロックBLKの選択ゲート線SGD及びSGSに電圧VERAを印加し、ワード線WLに電圧VERA_WLを印加する。電圧VERA_WLは、電圧VERAよりも十分に低い電圧である。これにより、消去対象ブロックBLKのメモリセルトランジスタMTのデータが消去される。
次に、シーケンサ15は、消去ベリファイ動作を実行する(ステップS106)。より具体的には、シーケンサ15は、メモリセルトランジスタMTの閾値電圧が電圧AV未満か確認する。
消去ベリファイ動作をパスした場合(ステップS107_Yes)、シーケンサ15は、通常消去動作を終了させる。
また、消去ベリファイ動作をフェイルした場合(ステップS107_No)、シーケンサ15は、消去ループが予め設定された規定回数に達したか確認する(ステップS108)。
消去ループが規定回数に達している場合(ステップS108_Yes)、シーケンサ15は、通常消去動作を終了させ、通常消去動作が正常に終了しなかった旨をコントローラ200に報告する。
消去ループが規定回数に達していない場合(ステップS108_No)、シーケンサ15は、ステップS105に戻り、再度、消去電圧印加動作を実行する。
他方で、消去命令がセキュアBLK消去命令である場合(ステップS102_Yes)、シーケンサ15は、セキュアBLK消去動作を選択する(ステップS109)。
シーケンサ15は、ステップS104と同様に、コピープログラム動作を実行し、消去対象ブロックBLK内の非消去対象データを非消去対象ブロックBLKに移動させる(ステップS110)。
次に、シーケンサ15は、プリプログラム動作を実行する(ステップS111)。
次に、シーケンサ15は、消去電圧印加動作を実行する(ステップS105)。これにより、セキュアBLK消去動作は終了する。
なお、図11の例では、セキュアBLK消去動作において、プリプログラム動作(ステップS111)及び消去電圧印加動作(ステップS112)が1回ずつ実行されているが、プリプログラム動作(ステップS111)及び消去電圧印加動作(ステップS112)を複数回繰り返しても良い。
1.6 セキュア消去について
次に、セキュア消去について説明する。コントローラ200は、セキュア消去を実行する場合、セキュアBLK消去動作または上書きプログラム動作のいずれかを選択して実行する。例えば、セキュアBLK消去動作を行う場合、ブロックBLK内の非消去対象データのデータ量(ページ数)が多いと、コピープログラム動作の回数が増え、動作期間が長くなる場合がある。このような場合、コントローラ200は、上書きプログラム動作を選択する。
次に、セキュア消去について説明する。コントローラ200は、セキュア消去を実行する場合、セキュアBLK消去動作または上書きプログラム動作のいずれかを選択して実行する。例えば、セキュアBLK消去動作を行う場合、ブロックBLK内の非消去対象データのデータ量(ページ数)が多いと、コピープログラム動作の回数が増え、動作期間が長くなる場合がある。このような場合、コントローラ200は、上書きプログラム動作を選択する。
例えば、コントローラ200は、ルックアップテーブルLUTを参照して、消去対象ブロックBLKにある非消去対象データのデータ量(ページ数)を確認する。そして、コントローラ200は、セキュアBLK消去に必要な動作期間の長さと上書きプログラム動作に必要な動作期間の長さとを見積もる。そして、コントローラ200は、これらの動作期間の見積もりを比較して、動作期間が短い動作を選択する。より具体的には、例えば、1ページのデータ読み出し動作に必要な動作期間をa(msec)とし、1ページのデータ書き込み動作に必要な動作期間をb(msec)とし、ブロックBLKの消去電圧印加動作に必要な動作期間をc(msec)とする。なお、動作期間a、b、及びcは、例えばa<b<cの関係にある。すると、コントローラ200は、セキュアBLK消去に必要な動作期間の見積もりとして、例えば、(コピープログラム動作が必要なページ数)×(a+b)+(消去ブロックBLK数)×cの計算を行う。他方で、コントローラ200は、上書きプログラム動作に必要な動作期間の見積もりとして、例えば、(上書きプログラム動作を行うページ数)×(a+b)の計算を行う。
1.6.1 メモリシステムにおけるセキュア消去の流れについて
次に、メモリシステムにおけるセキュア消去の流れについて、図12を用いて説明する。
次に、メモリシステムにおけるセキュア消去の流れについて、図12を用いて説明する。
図12に示すように、コントローラ200は、ホスト機器2からセキュア消去命令を受信する(ステップS1)。すると、コントローラ200は、セキュアBLK消去動作及び上書きプログラム動作に必要な動作期間をそれぞれ見積もり、動作期間が短い動作を選択する(ステップS2)。
コントローラ200は、セキュアBLK消去動作を選択した場合(ステップS3_Yes)、NAND型フラッシュメモリ100にセキュアBLK消去命令を送信する(ステップS4)。NAND型フラッシュメモリ100は、セキュアBLK消去命令を受信すると、セキュアBLK消去動作を実行する(ステップS5)。これによりセキュアBLK消去動作が終了する。
また、コントローラ200は、セキュアBLK消去動作を選択していない場合(ステップS3_No)、上書きプログラム動作を選択する(ステップS6)。
次に、コントローラ200は、消去対象データを読み出すために、NAND型フラッシュメモリ100に読み出し命令を送信する(ステップS7)。NAND型フラッシュメモリ100は、読み出し命令に応じて、消去対象データを読み出し、コントローラ200に送信する(ステップS8)。
次に、コントローラ200は、読み出した消去対象データに基づいて、上書きデータを作成する(ステップS9)。上書きデータは、メモリセルトランジスタMTのデータを高い閾値電圧レベルに書き換えるためのデータである。より具体的には、例えば、SLCの場合、読み出したデータを反転させて上書きデータを作成する。読み出したデータを反転させて上書きデータを作成した場合、“Er”レベルのデータ(“1”データ)に“0”プログラム動作が行われ、“A”レベルのデータ(“0”データ)に“1”プログラム動作が行われ、対象ページのデータが“A”レベルに揃う。
なお、SLCの場合、上書きデータはオール“0”データであっても良い。また、例えば、コントローラ200が乱数発生回路(不図示)を含み、上書きデータが乱数であっても良い。上書きデータを乱数とした場合、読み出し動作(ステップS6及びS7)を省略でき、約1/2の“1”データが“0”データに上書きされる。更に、読み出した消去対象データと乱数とによるAND演算、XOR演算、またはXNOR演算を行った結果を上書きデータとしても良く、乱数との演算を複数回繰り返しても良い。演算回数に応じて、“0”データの頻度を調整することができる。例えば、消去対象データの“1”データの割合が約1/2の場合、乱数との1回のAND演算により、上書きデータの“1”データの割合が約1/4となる。同様に、乱数とのK回(Kは1以上の整数)のAND演算により、上書きデータの“1”データの割合が(1/2)(K+1)となる。
次に、コントローラ200は、NAND型フラッシュメモリ100に、上書きデータ及び通常書き込み命令を送信する(ステップS10)。NAND型フラッシュメモリ100は、通常書き込み動作を実行し、上書きデータを書き込む(ステップS11)。これにより上書きプログラム動作が終了する。
次に、コントローラ200は、セキュアBLK消去動作または上書きプログラム動作が終了すると、論物消去を実行する(ステップS12)。そして、NAND型フラッシュメモリ100は、コントローラ200の指示に基づき、ルックアップテーブルLUTを更新する(ステップS13)。より具体的には、NAND型フラッシュメモリ100は、消去対象の論理アドレスを消去し、セキュア消去に関する情報を更新する。
1.6.2 上書きデータ作成の具体例について
次に、上書きデータ作成の具体例について、図13を用いて説明する。
次に、上書きデータ作成の具体例について、図13を用いて説明する。
図13に示すように、例えば消去対象ページのデータが11110000…であった場合、コントローラ200は、消去対象ページのデータが上位レベル(SLCの場合、“A”レベル)に揃うように、すなわちオール“0”データになるように、上書きデータを作成する。より具体的には、コントローラ200は、消去対象データを反転させて、データ00001111…を作成する。そして、作成した上書きデータを書き込むことにより、消去対象ページのデータは、00000000…となる。
1.6.3 セキュア消去における閾値分布の具体例について
次に、セキュア消去における閾値分布の具体例について2つの例を示す。
1.6.3 セキュア消去における閾値分布の具体例について
次に、セキュア消去における閾値分布の具体例について2つの例を示す。
1.6.3.1 第1例
第1例として、上書きプログラム動作の例について、図14を用いて説明する。
第1例として、上書きプログラム動作の例について、図14を用いて説明する。
図14に示すように、例えば、1つのブロックBLKにページ00からページFFまで256個のページが含まれており、ページAAがセキュア消去対象である場合、コントローラ200は、上書きプログラム動作を選択する。例えば、上書きプログラム動作前には、ページAAに“1”データと“0”データが約1/2ずつ含まれている。上書きプログラム動作より、“1”データを保持するメモリセルトランジスタMTには“0”データが書き込まれる。このため、上書きプログラム動作後、ページAAに対応するほぼ全てのメモリセルトランジスタMTは“0”データを保持するようになる。すなわち、高い閾値電圧レベルにデータが統合される。これにより、元のデータを読み出すことができなくなる。
1.6.3.2 第2例
次に、第2例として、セキュアBLK消去動作の例について、図15を用いて説明する。
次に、第2例として、セキュアBLK消去動作の例について、図15を用いて説明する。
図15に示すように、例えば、1つのブロックBLK全体がセキュア消去対象である場合、コントローラ200は、セキュアBLK消去動作を選択する。NAND型フラッシュメモリ100は、セキュアBLK消去命令を受信すると、コピープログラム動作の後、プリプログラム動作を実行する。プリプログラム動作により“1”データを保持していたメモリセルトランジスタMTの閾値電圧が上昇する。これにより、例えば、“1”データを保持していた1部のメモリセルトランジスタMTは、電圧AV以上の高い閾値電圧、すなわち“0”データを保持する。プリプログラム動作により、低いレベルのデータ(“1”データ)の閾値分布が上昇して、高いレベルのデータ(“0”データ)の閾値分布に近づき、一部が重なる。これにより、消去対象データにおける“1”データと“0”データとが区別しにくくなる。その後、消去電圧印加動作が実行されメモリセルトランジスタMTの閾値電圧が低下する。これにより、例えば、1部のメモリセルトランジスタMTは、電圧AV未満の閾値電圧、すなわち “1”データを保持する。消去電圧印加動作により、2つレベルの閾値分布の重なりが更に大きくなり、消去対象データにおける“1”データと“0”データの区別が更に困難となる。
1.7 本実施形態に係る効果について
本実施形態に係る構成であれば、メモリシステムの処理能力を向上できる。本効果につき、詳述する。
本実施形態に係る構成であれば、メモリシステムの処理能力を向上できる。本効果につき、詳述する。
セキュア消去では、物理的なデータの消去が求められる。しかし、NAND型フラッシュメモリにおいては、消去対象データを含むブロックBLK全体のデータを消去する場合、非消去対象データに対するコピープログラム動作が必要となる。非消去対象データのデータ量(ページ数)が多いと、コピープログラム動作の回数が増え、消去動作の期間が長くなる場合がある。また、消去動作は、読み出し動作や書き込み動作と比較すると動作期間が比較的長くなる傾向がある。従って、セキュア消去により、メモリシステムの処理能力は低下する傾向にある。
これに対し、本実施形態に係る構成であれば、セキュア消去における消去動作の代替処理として、消去対象データに対して上書きプログラム動作を実行することができる。上書きプログラム動作により、消去対象データの上書き(書き換え)を行い、上位レベルにデータを統合させることにより、消去対象のデータを正しく読み出すことが困難となり、消去対象データのセキュア性を確保できる。よって、コピープログラム動作を含む消去動作を省略できるため、セキュア消去を高速化でき、メモリシステムの処理能力を向上できる。
更に、本実施形態に係る構成であれば、セキュア消去を目的としたセキュアBLK消去動作を実行できる。セキュアBLK消去動作では、消去電圧印加動作の前にプリプログラム動作を行うことによりデータをランダマイズし、異なるレベルのデータをマージすることができる。よって、消去対象データのセキュア性を向上できる。また、セキュアBLK消去動作にプリプログラム動作を追加することによりセキュア性が向上するため、全てのデータを“Er”レベルまで消去する必要が無くなる。このため、消去ベリファイを省略できる。よって、セキュア消去を高速化でき、メモリシステムの処理能力を向上できる。
更に、本実施形態に係る構成であれば、コントローラ200は、上書きプログラム動作に必要な動作期間とセキュアBLK消去動作に必要な動作期間を見積もることができる。更に、コントローラ200は、上書きプログラム動作の見積もり動作期間と、セキュアBLK消去動作の見積もり動作期間とを比較し、動作期間が短い動作を選択することができる。これにより、セキュア消去の効率を改善でき、メモリシステムの処理能力を向上できる。
更に、本実施形態に係る構成であれば、コントローラ200は、消去対象データを読み出し、消去対象データに基づいて上書き用データを作成することができる。
更に、本実施形態に係る構成であれば、乱数を用いた演算により上書きデータを作成できる。この場合、消去対象データの一部が書き換えられるため、データを“1”データと“0”データとに分散させることができる。これにより、データが“1”データまたは”0”データに統一されることによる他のページへの影響を低減できる。
更に、本実施形態に係る構成であれば、セキュア消去における消去動作を省略できる。このため、書き込みと消去との繰り返しによるメモリセルトランジスタMTの特性の劣化を抑制できる。更に、書き込みと消去との繰り返しに対する保証回数に到達するまでの実効的な使用回数を増やすことができる。
2.第2実施形態
次に、第2実施形態について説明する。第2実施形態では、上書きプログラム動作において、消去対象データの読み出しを省略する場合について説明する。以下、第1実施形態と異なる点についてのみ説明する。
次に、第2実施形態について説明する。第2実施形態では、上書きプログラム動作において、消去対象データの読み出しを省略する場合について説明する。以下、第1実施形態と異なる点についてのみ説明する。
2.1 書き込み動作について
書き込み動作について説明する。本実施形態に係るNAND型フラッシュメモリ100における書き込み動作は、第1実施形態で説明した通常書き込み動作、コピープログラム動作、及びプリプログラム動作に加えて、書き込みデータに関わらず閾値電圧レベルが最上位レベルのデータを書き込む動作(以下、「最上位書き込み動作」と呼ぶ)を含む。より具体的には、シーケンサ15は、コントローラ200から最上位書き込み命令を受信すると、書き込みデータに関わらず、データレジスタ21を操作して、対象となるメモリセルトランジスタMTの閾値電圧レベルが最上位レベル(SLCの場合は、“A”レベル)となるように書き込み動作を行う。
書き込み動作について説明する。本実施形態に係るNAND型フラッシュメモリ100における書き込み動作は、第1実施形態で説明した通常書き込み動作、コピープログラム動作、及びプリプログラム動作に加えて、書き込みデータに関わらず閾値電圧レベルが最上位レベルのデータを書き込む動作(以下、「最上位書き込み動作」と呼ぶ)を含む。より具体的には、シーケンサ15は、コントローラ200から最上位書き込み命令を受信すると、書き込みデータに関わらず、データレジスタ21を操作して、対象となるメモリセルトランジスタMTの閾値電圧レベルが最上位レベル(SLCの場合は、“A”レベル)となるように書き込み動作を行う。
2.2 通常書き込み動作における各種信号の送受信について
次に、通常書き込み動作における各種信号の送受信について、図16を用いて説明する。
次に、通常書き込み動作における各種信号の送受信について、図16を用いて説明する。
図16に示すように、まず、コントローラ200は、チップイネーブル信号CEnを“L”レベルにしてアサートする。
次に、コントローラ200は、ライトイネーブル信号WEnをトグルし、通常書き込み動作を実行することを通知するコマンド“80h”をNAND型フラッシュメモリ100に送信するとともに、コマンドラッチイネーブル信号CLEを“H”レベルにしてアサートする。
次に、コントローラ200は、ライトイネーブル信号WEnをトグルし、アドレス“ADD”を送信すると共に、アドレスラッチイネーブル信号ALEを“H”レベルにしてアサートする。なお、図16の例では、カラムアドレスCAを2サイクル送信した後、ロウアドレスRAを3サイクル送信する場合を示しているが、カラムアドレス及びロウアドレスのサイクルは任意に設定可能である。
次に、コントローラ200は、ライトイネーブル信号WEnをトグルするとともに、書き込みデータWDを必要なサイクル数送信する。
次に、コントローラ200は、ライトイネーブル信号WEnをトグルし、書き込み実行を指示するライトコマンド“10h”を送信すると共に、コマンドラッチイネーブル信号CLEを“H”レベルにしてアサートする。ライトコマンド“10h”に応答して、NAND型フラッシュメモリ100は、書き込み動作を開始し、ビジー状態となる(R/Bn=“L”)。そして、メモリセルアレイ18への書き込みが終了すると、レディ/ビジー信号R/Bnは“H”レベルとされる。
2.3 最上位書き込み動作における各種信号の送受信について
次に、最上位書き込み動作における各種信号の送受信について、図17を用いて説明する。以下、図16と異なる点についてのみ説明する。
次に、最上位書き込み動作における各種信号の送受信について、図17を用いて説明する。以下、図16と異なる点についてのみ説明する。
図17に示すように、図16で説明したコマンド“80h”の代わりに、最上位書き込み動作を実行することを通知するコマンド“8Fh”をNAND型フラッシュメモリ100に送信する。他の信号は、図16と同じである。なお、書き込みデータRDを省略しても良い。
2.4 メモリシステムにおけるセキュア消去の流れについて
次に、メモリシステムにおけるセキュア消去の流れについて、図18を用いて説明する。
次に、メモリシステムにおけるセキュア消去の流れについて、図18を用いて説明する。
図18に示すように、ステップS1〜S6までの動作は、第1実施形態の図12と同じである。
コントローラ200は、上書きプログラム動作を選択する(ステップS6)と、ダミーデータを作成するとともに、NAND型フラッシュメモリ100に最上位書き込み命令を送信する(ステップS20)。NAND型フラッシュメモリ100は、最上位書き込み動作を実行し、書き込みデータに関わらず、最上位レベル(SCLの場合“A”レベル)のデータを書き込む(ステップS21)。これにより上書きプログラム動作が終了する。
次に、コントローラ200は、セキュアBLK消去動作または最上位書き込み動作が終了すると、論物消去を実行する(ステップS12)。そして、NAND型フラッシュメモリ100は、コントローラ200の指示に基づき、ルックアップテーブルLUTを更新する(ステップS13)。
2.5 NAND型フラッシュメモリにおける通常書き込み動作及び最上位書き込み動作の流れについて
次に、NAND型フラッシュメモリ100における通常書き込み動作及び最上位書き込み動作の流れについて、図19を用いて説明する。
次に、NAND型フラッシュメモリ100における通常書き込み動作及び最上位書き込み動作の流れについて、図19を用いて説明する。
図19に示すように、NAND型フラッシュメモリ100は、コントローラ200から書き込み命令を受信する(ステップS201)。
書き込み命令が通常書き込み動作の場合(ステップS202_Yes)、シーケンサ15は、通常書き込み動作を選択する(ステップS203)。
シーケンサ15は、書き込みデータに基づいてプログラム動作を実行する(ステップS204)。
次に、シーケンサ15は、プログラムベリファイ動作を実行する(ステップS205)。より具体的には、シーケンサ15は、SCLの場合、メモリセルトランジスタMTの閾値電圧が電圧VA以上か確認する。
プログラムベリファイ動作をパスした場合(ステップS206_Yes)、シーケンサ15は、通常書き込み動作を終了させる。
また、プログラムベリファイ動作をフェイルした場合(ステップS206_No)、シーケンサ15は、プログラムループが予め設定された規定回数に達したか確認する(ステップS207)。
プログラムループが規定回数に達している場合(ステップS207_Yes)、シーケンサ15は、通常書き込み動作を終了させ、通常書き込み動作が正常に終了しなかった旨をコントローラ200に報告する。
プログラムループが規定回数に達していない場合(ステップS207_No)、シーケンサ15は、ステップS204に戻り、再度、プログラム動作を実行する。
他方で、書き込み命令が最上位書き込み命令である場合(ステップS202_Yes)、シーケンサ15は、最上位書き込み動作を選択する(ステップS208)。
シーケンサ15は、書き込みデータによらず、データレジスタ21が例えば“0”データを保持するように操作し、メモリセルトランジスタMTの閾値電圧レベルが最上位レベルとなるようにプログラム動作を実行する(ステップS209)。
次に、シーケンサ15は、ステップS205と同様に、プログラムベリファイ動作を実行する(ステップS210)。
プログラムベリファイ動作をパスした場合(ステップS211_Yes)、シーケンサ15は、最上位書き込み動作を終了させる。
また、プログラムベリファイ動作をフェイルした場合(ステップS211_No)、シーケンサ15は、プログラムループが予め設定された規定回数に達したか確認する(ステップS212)。
プログラムループが規定回数に達している場合(ステップS212_Yes)、シーケンサ15は、最上位書き込み動作を終了させ、最上位書き込み動作が正常に終了しなかった旨をコントローラ200に報告する。
プログラムループが規定回数に達していない場合(ステップS212_No)、シーケンサ15は、ステップS209に戻り、再度、プログラム動作を実行する。
2.6 本実施形態に係る効果について
本実施形態に係る構成であれば、第1実施形態と同様の効果を得ることができる。
本実施形態に係る構成であれば、第1実施形態と同様の効果を得ることができる。
更に、本実施形態に係る構成であれば、上書きプログラム動作における消去対象データの読み出しを省略できる。従って、セキュア消去をさらに高速化でき、メモリシステムの処理能力を向上できる。
3.第3実施形態
次に第3実施形態について説明する。第3実施形態では、メモリセルトランジスタMTが4値(2ビットのデータ)を保持する場合について説明する。以下、第1及び第2実施形態と異なる点についてのみ説明する。
次に第3実施形態について説明する。第3実施形態では、メモリセルトランジスタMTが4値(2ビットのデータ)を保持する場合について説明する。以下、第1及び第2実施形態と異なる点についてのみ説明する。
3.1 メモリセルトランジスタの閾値分布について
次に、本実施形態に係るメモリセルトランジスタMTの取り得る閾値分布について、図20を用いて説明する。以下、4値のデータを保持するメモリセルトランジスタをMLC(multi-level-cell)と呼ぶ。
次に、本実施形態に係るメモリセルトランジスタMTの取り得る閾値分布について、図20を用いて説明する。以下、4値のデータを保持するメモリセルトランジスタをMLC(multi-level-cell)と呼ぶ。
図示するように、各々のメモリセルトランジスタMTの閾値電圧は、離散的な4個の分布のいずれかに含まれる値を取る。以下、4個の分布を閾値電圧の低い順にそれぞれ、“Er”レベル、“A”レベル、“B”レベル、及び“C”レベルと呼ぶ。書き込み動作において、各閾値分布に対応するベリファイ電圧をAV、BV、CVとする。すると、これらの電圧値は、AV<BV<CVの関係にある。
より具体的には、“Er”レベルに含まれる閾値電圧は電圧AV未満である。“A”レベルに含まれる閾値電圧は、電圧AV以上であり、且つ電圧BV未満である。“B”レベルに含まれる閾値電圧は、電圧BV以上であり、且つ電圧CV未満である。“C”レベルに含まれる閾値電圧は、電圧CV以上である。従って、MLCにおける最上位レベルは“C”レベルとなる。
各メモリセルトランジスタMTは、4個の閾値分布のいずれかを有することで、2ビットのデータを保持できる。以下、2ビットのデータをそれぞれ、上位ビット及び下位ビットと呼ぶ。また、メモリセルグループMCGに一括して書き込まれる(または読み出される)上位ビットの集合を上位ページと呼び、下位ビットの集合を下位ページと呼ぶ。
図20の例では、各閾値分布に含まれるメモリセルトランジスタMTに対して、以下に示すようにデータを割り付ける。
“Er”レベル:“11”(“上位ビット/下位ビット”)データ
“A”レベル:“01”データ
“B”レベル:“00”データ
“C”レベル:“10”データ
なお、データの割り付けは任意に設定可能である。
“A”レベル:“01”データ
“B”レベル:“00”データ
“C”レベル:“10”データ
なお、データの割り付けは任意に設定可能である。
3.2 メモリシステムにおけるセキュア消去の流れについて
次に、メモリシステムにおけるセキュア消去の流れについて、図21〜図23を用いて説明する。図21は、メモリシステムにおけるセキュア消去のフローチャートであり、図22及び図23は、上書きデータの作成を示す図である。
次に、メモリシステムにおけるセキュア消去の流れについて、図21〜図23を用いて説明する。図21は、メモリシステムにおけるセキュア消去のフローチャートであり、図22及び図23は、上書きデータの作成を示す図である。
図21に示すように、ステップS1〜S6までの動作は、第1実施形態の図12と同じである。
コントローラ200は、上書きプログラム動作を選択する(ステップS6)と、消去対象ページを含むメモリセルグループMCGにおいて、他の非消去対象ページのデータを確認する(ステップS30)。より具体的には、例えば、メモリセルグループMCGの下位ページがセキュア消去の対象である場合、コントローラ200は、ルックアップテーブルLUTを参照し、同じメモリセルグループMCGの上位ページ(非消去対象ページ)を確認する。そして、コントローラ200は、上位ページが有効データを含む状態か、有効データを含まない状態かを確認する。有効データを含まない状態には、上位ページの書き込みが行われていない場合、すでに上書きプログラム動作により上位ページのデータが上書きされ無効データとなっている場合、下位及び上位ページが消去対象である場合が含まれる。
非消去対象ページが有効データを含む場合(ステップS31_Yes)、コントローラ200は、非消去対象ページのデータを読み出すために、NAND型フラッシュメモリ100に読み出し命令を送信する(ステップS7)。NAND型フラッシュメモリ100は、読み出し命令に応じて、非消去対象ページのデータを読み出し、コントローラ200に送信する(ステップS8)。
次に、コントローラ200は、読み出した非消去対象ページのデータに基づいて、上書きデータを作成する(ステップS9)。MLCの場合、コントローラ200は、非消去対象のビットが同じ2つのレベルのデータにおいて、データが上位の閾値電圧レベルに揃うように上書きデータを作成する。
図22に示すように、より具体的には、例えば、下位ページが消去対象の場合、“Er”レベルの“11”データ及び“C”レベルの“10”データは非消去対象の上位ビットが同じ“1”データなので、 下位レベルにある“Er”レベルの“11”データを上位レベルの“C”レベルの“10”データに加工して(書き換えて)上書きデータを作成する。なお、“C”レベルの“10”データは、そのまま加工しない。また、“A”レベルの“01”データ及び“B”レベルの“00”データは非消去対象の上位ビットが同じ“0”データなので、下位レベルにある“A”レベルの“01”データを上位レベルの“B”レベルの“00”データに加工して上書きデータを作成する。なお、“B”レベルの“00”データは、そのまま加工しない。すなわち、コントローラ200は、“Er”及び“A”レベルの下位ビットのデータを反転させて上書きデータを作成する。
図23に示すように、例えば、上位ページが消去対象の場合、“Er”レベルの“11”データ及び“A”レベルの“01”のデータは非消去対象の下位ビットが同じ“1”データなので、 下位レベルにある“Er”レベルの“11”データを上位レベルの“A”レベルの“01”データに加工して上書きデータを作成する。なお、“A”レベルの“01”データは、そのまま加工しない。また、“B”レベルの“00”データ及び“C”レベルの“10”データは非消去対象の下位ビットが同じ“0”データなので、下位レベルにある“B”レベルの“00”データを上位レベルの“C”レベルの“10”データに加工して上書きデータを作成する。なお、“C”レベルの“10”データは、そのまま加工しない。すなわち、コントローラ200は、“Er”及び“B”レベルの上位ビットのデータを反転させて上書きデータを作成する。なお、第1実施形態と同様に、乱数を用いて上書きデータを作成しても良い。
図21に示すように、非消去対象ページが有効データを含まない場合(ステップS31_No)、コントローラ200は、データの読み出しを行わずに、上書きデータを作成する(ステップS9)。より具体的には、コントローラ200は、最上位レベルである“C”レベル(“10”データ)に書き換えるため、オール“10”となる上書きデータを作成する。
次に、コントローラ200は、NAND型フラッシュメモリ100に上書きデータ及び通常書き込み命令を送信する(ステップS10)。NAND型フラッシュメモリ100は、通常書き込み動作を実行し、上書きデータを書き込む(ステップS11)。これにより上書きプログラム動作が終了する。
次に、コントローラ200は、セキュアBLK消去動作または上書きプログラム動作が終了すると、論物消去を実行する(ステップS12)。そして、NAND型フラッシュメモリ100は、コントローラ200の指示に基づき、ルックアップテーブルLUTを更新する(ステップS13)。
3.3 セキュア消去の具体例について
次に、セキュア消去の具体例について4つの例を示す。
次に、セキュア消去の具体例について4つの例を示す。
3.3.1 第1例
まず、第1例として、下位ページが消去対象であり、上位ページに有効データが含まれている場合の上書きプログラム動作の例を、図24を用いて説明する。
まず、第1例として、下位ページが消去対象であり、上位ページに有効データが含まれている場合の上書きプログラム動作の例を、図24を用いて説明する。
図24に示すように、例えば、ページAAが下位ページに相当し、セキュア消去対象である場合、コントローラ200は、同じメモリセルグループMCGの上位ページABを確認する。そして、上位ページABが有効データを含んでいる場合、コントローラ200は下位ページの上書きプログラム動作を実行する。
例えば、上書きプログラム動作前には、メモリセルグループMCGには“Er”レベルの“11”データ、“A”レベルの“01”データ、“B”レベルの“00”データ、及び“C”レベルの“10”データがそれぞれ約1/4含まれており、それぞれが分離した閾値分布を有している。下位ページの上書きプログラム動作を実行することにより、“Er”レベルの“11”データは、非消去対象の上位ビットが同じ“1”データである“C”レベルの“10”データに上書きされ、“A”レベルの“01”データは、非消去対象の上位ビットが同じ“0”データである“B”レベルの“00”データに上書きされる。これにより、下位ページのデータを正しく読み出すことができなくなる。
3.3.2 第2例
次に、第2例として、上位ページが消去対象であり、下位ページに有効データが含まれている場合の上書きプログラム動作の例を、図25を用いて説明する。
次に、第2例として、上位ページが消去対象であり、下位ページに有効データが含まれている場合の上書きプログラム動作の例を、図25を用いて説明する。
図25に示すように、例えば、ページABが上位ページに相当し、セキュア消去対象である場合、コントローラ200は、同じメモリセルグループMCGの下位ページAAを確認する。そして、下位ページAAが有効データを含んでいる場合、コントローラ200は上位ページの上書きプログラム動作を実行する。
例えば、上書きプログラム動作前には、メモリセルグループMCGには“Er”レベルの“11”データ、“A”レベルの“01”データ、“B”レベルの“00”データ、及び“C”レベルの“10”データがそれぞれ約1/4含まれており、それぞれが分離した閾値分布を有している。上位ページの上書きプログラム動作を実行することにより、“Er”レベルの“11”データは、非消去対象の下位ビットが同じ“1”データである“A”レベルの“01”データに上書きされ、“B”レベルの“00”データは、非消去対象の下位ビットが同じ“0”データである“C”レベルの“10”データに上書きされる。これにより、上位ページのデータを正しく読み出すことができなくなる。
3.3.3 第3例
次に、第3例として、下位ページの上書きプログラム動作を実行後に、上位ページの上書きプログラム動作を実行する場合の例を、図26を用いて説明する。
次に、第3例として、下位ページの上書きプログラム動作を実行後に、上位ページの上書きプログラム動作を実行する場合の例を、図26を用いて説明する。
図26に示すように、第1例で説明した下位ページの上書きプログラム動作を実行した後、同じメモリセルグループMCGの上位ページABがセキュア消去対象となった場合、コントローラ200は、最上位レベルへの上書きプログラム動作を実行する。より具体的には、コントローラ200は、非消去対象ページに有効データがないため、非消去対象ページの読み出しを行わずに、最上位レベルに対応した上書きデータ(オール“10”データ)を作成し、通常書き込み動作を行う。
例えば、上書きプログラム動作前には、メモリセルグループMCGには “B”レベルの“00”データ及び“C”レベルの“10”データが含まれている。最上位レベルへの上書きプログラム動作を実行することにより、“B”レベルの“00”データは、最上位の“C”レベルの“10”データに上書きされる。これにより、下位及び上位ページのデータを正しく読み出すことができなくなる。
3.3.4 第4例
次に、第4例として、下位及び上位ページが消去対象の場合の上書きプログラム動作の例を、図27を用いて説明する。
次に、第4例として、下位及び上位ページが消去対象の場合の上書きプログラム動作の例を、図27を用いて説明する。
図27に示すように、下位ページAA及び上位ページABがセキュア消去対象となった場合、第3例と同様に、コントローラ200は、最上位レベルに対応した上書きデータを作成し、通常プログラム動作を実行する。最上位レベルへの上書きプログラム動作を実行することにより、“Er”レベルの“11”データ、“A”レベルの“01”データ、及び“B”レベルの“00”データは、最上位の“C”レベルの“10”データに上書きされる。これにより、下位及び上位ページのデータを正しく読み出すことができなくなる。
3.4 本実施形態に係る効果について
本実施形態に係る構成であれば、第1実施形態と同様の効果を得ることができる。
本実施形態に係る構成であれば、第1実施形態と同様の効果を得ることができる。
4.第4実施形態
次に、第4実施形態について説明する。第4実施形態は、第2実施形態と第3実施形態を組み合わせた場合、すなわち、MLCに最上位書き込み動作を適用した場合について説明する。以下、第1乃至第3実施形態と異なる点についてのみ説明する。
次に、第4実施形態について説明する。第4実施形態は、第2実施形態と第3実施形態を組み合わせた場合、すなわち、MLCに最上位書き込み動作を適用した場合について説明する。以下、第1乃至第3実施形態と異なる点についてのみ説明する。
4.1 メモリシステムにおけるセキュア消去の流れについて
メモリシステムにおけるセキュア消去の流れについて、図28を用いて説明する。
メモリシステムにおけるセキュア消去の流れについて、図28を用いて説明する。
図21に示すように、ステップS1〜S6、及びステップS30までの動作は、第3実施形態の図21と同じである。
非消去対象ページが有効データを含む場合(ステップS31_Yes)、第3実施形態の図21のステップS7〜S11と同様に、コントローラ200は、読み出しデータに基づいて上書きデータを作成し(ステップS9)、NAND型フラッシュメモリ100に上書きデータに基づいた通常書き込み命令を送信する(ステップS10)。NAND型フラッシュメモリ100は、通常書き込み動作を実行し、上書きデータを書き込む(ステップS11)。
非消去対象ページが有効データを含まない場合(ステップS31_No)、コントローラ200は、ダミーデータを作成するとともに、NAND型フラッシュメモリ100に最上位書き込み命令を送信する(ステップS20)。NAND型フラッシュメモリ100は、最上位書き込み動作を実行し、書き込みデータに関わらず、最上位レベル(MCLの場合“C”レベル)のデータを書き込む(ステップS21)。
次に、コントローラ200は、セキュアBLK消去動作または上書きプログラム動作(通常書き込み動作または最上位書き込み動作)が終了すると、論物消去を実行する(ステップS12)。そして、NAND型フラッシュメモリ100は、コントローラ200の指示に基づき、ルックアップテーブルLUTを更新する(ステップS13)。
4.2 本実施形態に係る効果について
本実施形態に係る構成であれば、第1乃至第3実施形態と同様の効果を得ることができる。
本実施形態に係る構成であれば、第1乃至第3実施形態と同様の効果を得ることができる。
5.第5実施形態
次に、第5実施形態について説明する。第5実施形態は、メモリセルトランジスタMTが8値(3ビットのデータ)を保持する場合について説明する。以下、第1及び第2実施形態と異なる点についてのみ説明する。
次に、第5実施形態について説明する。第5実施形態は、メモリセルトランジスタMTが8値(3ビットのデータ)を保持する場合について説明する。以下、第1及び第2実施形態と異なる点についてのみ説明する。
5.1 メモリセルトランジスタの閾値分布について
次に、本実施形態に係るメモリセルトランジスタMTの取り得る閾値分布について、図29を用いて説明する。以下、8値のデータを保持するメモリセルトランジスタをTLC(triple-level-cell)と呼ぶ。
次に、本実施形態に係るメモリセルトランジスタMTの取り得る閾値分布について、図29を用いて説明する。以下、8値のデータを保持するメモリセルトランジスタをTLC(triple-level-cell)と呼ぶ。
図示するように、各々のメモリセルトランジスタMTの閾値電圧は、離散的な例えば8個の分布のいずれかに含まれる値を取る。以下、8個の分布を閾値電圧の低い順にそれぞれ、“Er”レベル、“A”レベル、“B”レベル、“C”レベル、“D”レベル、“E”レベル、“F”レベル、及び“G”レベルと呼ぶ。書き込み動作において、各閾値分布に対応するベリファイ電圧をAV、BV、CV、DV、EV、FV、GVとする。すると、これらの電圧値は、AV<BV<CV<DV<EV<FV<GVの関係にある。
より具体的には、““Er”レベルに含まれる閾値電圧は電圧AV未満である。“A”レベルに含まれる閾値電圧は、電圧AV以上であり、且つ電圧BV未満である。“B”レベルに含まれる閾値電圧は、電圧BV以上であり、且つ電圧CV未満である。“C”レベルに含まれる閾値電圧は、電圧CV以上であり、且つ電圧DV未満である。“D”レベルに含まれる閾値電圧は、電圧DV以上であり、且つ電圧EV未満である。“E”レベルに含まれる閾値電圧は、電圧EV以上であり、且つ電圧FV未満である。“F”レベルに含まれる閾値電圧は、電圧FV以上であり、且つ電圧GV未満である。そして、“G”レベルに含まれる閾値電圧は、電圧GV以上である。従って、TCLにおける最上位レベルは“G”レベルとなる。
各メモリセルトランジスタMTは、8個の閾値分布のいずれかを有することで、3ビットのデータを保持できる。以下、3ビットのデータをそれぞれ、上位ビット、中位ビット、及び下位ビットと呼ぶ。また、メモリセルグループMCGに一括して書き込まれる(または読み出される)上位ビットの集合を上位ページ、中位ビットの集合を中位ページ、下位ビットの集合を下位ページと呼ぶ。
図29の例では、各閾値分布に含まれるメモリセルトランジスタMTに対して、以下に示すようにデータを割り付ける。
“Er”レベル:“111”(“上位ビット/中位ビット/下位ビット”)データ
“A”レベル:“110”データ
“B”レベル:“100”データ
“C”レベル:“000”データ
“D”レベル:“010”データ
“E”レベル:“011”データ
“F”レベル:“001”データ
“G”レベル:“101”データ
なお、データの割り付けは任意に設定可能である。
“A”レベル:“110”データ
“B”レベル:“100”データ
“C”レベル:“000”データ
“D”レベル:“010”データ
“E”レベル:“011”データ
“F”レベル:“001”データ
“G”レベル:“101”データ
なお、データの割り付けは任意に設定可能である。
5.2 メモリシステムにおけるセキュア消去の流れについて
次に、メモリシステムにおけるセキュア消去の流れについて、説明する。本実施形態におけるセキュア消去の流れは、第3実施形態の図21または、第4実施形態の図28と同様である。すなわち、メモリセルトランジスタMTが4ビット以上のデータを保持する場合、セキュア消去の流れは同様となる。
次に、メモリシステムにおけるセキュア消去の流れについて、説明する。本実施形態におけるセキュア消去の流れは、第3実施形態の図21または、第4実施形態の図28と同様である。すなわち、メモリセルトランジスタMTが4ビット以上のデータを保持する場合、セキュア消去の流れは同様となる。
5.3 セキュア消去の具体例について
次に、セキュア消去の具体例について2つの例を示す。
次に、セキュア消去の具体例について2つの例を示す。
5.3.1 第1例
まず、第1例として、下位ページが消去対象であり、中位ページ及び上位ページに有効データが含まれている場合の上書きプログラム動作の例を、図30及び図31を用いて説明する。
まず、第1例として、下位ページが消去対象であり、中位ページ及び上位ページに有効データが含まれている場合の上書きプログラム動作の例を、図30及び図31を用いて説明する。
図30に示すように、下位ページが消去対象の場合、“Er”レベルの“111”データ及び“A”レベルの“110”データは、非消去対象の中位及び上位ビットが同じ“11”データなので、 下位レベルにある“Er”レベルの“111”データを上位レベルにある“A”レベルの“110”データに加工して上書きデータを作成する。また、“B”レベルの“100”データ及び“G”レベルの“101”データは非消去対象の中位及び上位ビットが同じ“10”データなので、下位レベルにある“B”レベルの“100”データを上位レベルにある“G”レベルの“101”データに加工して上書きデータを作成する。また、“C”レベルの“000”データ及び“F”レベルの“001”データは非消去対象の中位及び上位ビットが同じ“00”データなので、下位レベルにある“C”レベルの“000”データを上位レベルにある“F”レベルの“001”データに加工して上書きデータを作成する。また、“D”レベルの“010”データ及び“E”レベルの“011”データは非消去対象の中位及び上位ビットが同じ“01”データなので、下位レベルにある“D”レベルの“010”データを上位レベルにある“E”レベルの“011”データに加工して上書きデータを作成する。なお、“A”、“E”、“F”、及び“G”レベルのデータは、そのまま加工しない。すなわち、コントローラ200は、“Er”、“B”、“C”、及び“D”レベルの下位ビットのデータを反転させて上書きデータを作成する。
なお、中位ページが消去対象である場合、非消去対象の中位及び上位ビットが同じ2つのデータにおいて、下位レベルのデータを上位レベルのデータに加工して上書きデータを作成する。上位ページが消去対象である場合も同様に、非消去対象の下位及び中位ビットが同じ2つのデータにおいて、下位レベルのデータを上位レベルのデータに加工して上書きデータを作成する。
次に、上書きプログラム動作による閾値分布の変動について説明する。
図31に示すように、例えば、下位ページAAがセキュア消去対象である場合、コントローラ200は、同じメモリセルグループMCGの中位ページAB及び上位ページACを確認する。そして、中位ページAB及び上位ページACが有効データを含んでいる場合、コントローラ200は下位ページの上書きプログラム動作を実行する。
例えば、上書きプログラム動作前、メモリセルグループMCGには“Er”レベルの“111”データ、“A”レベルの“110”データ、“B”レベルの“100”データ、“C”レベルの“000”データ、“D”レベルの“010”データ、“E”レベルの“011”データ、“F”レベルの“001”データ、及び“G”レベルの“101”データがそれぞれ約1/8含まれており、それぞれが分離した閾値分布を有している。下位ページの上書きプログラム動作を実行することにより、“Er”レベルの“111”データは、非消去対象の中位及び上位ビットが同じ“11”データである“A”レベルの“110”データに上書きされる。“B”レベルの“100”データは、非消去対象の中位及び上位ビットが同じ“10”データである“G”レベルの“101”データに上書きされる。“C”レベルの“000”データは、非消去対象の中位及び上位ビットが同じ“00”データである“F”レベルの“001”データに上書きされる。そして、“D”レベルの“010”データは、非消去対象の中位及び上位ビットが同じ“01”データである“E”レベルの“011”データに上書きされる。これにより、下位ページのデータを正しく読み出すことができなくなる。
5.3.2 第2例
次に、第2例として、下位及び中位ページが消去対象であり、上位ページに有効データが含まれている場合の上書きプログラム動作の例を、図30及び図31を用いて説明する。
次に、第2例として、下位及び中位ページが消去対象であり、上位ページに有効データが含まれている場合の上書きプログラム動作の例を、図30及び図31を用いて説明する。
図32に示すように、下位及び中位ページが消去対象の場合、“Er”レベルの“111”データ、“A”レベルの“110”データ、“B”レベルの“100”データ、及び“G”レベルの“101”データは、非消去対象の上位ビットが同じ“1”データなので、 下位レベルにある“Er”、“A”、及び“B”レベルのデータを上位レベルにある“G”レベルの“101”データに加工して上書きデータを作成する。また、“C”レベルの“000”データ、“D”レベルの“010”データ、“E”レベルの“011”データ、及び“F”レベルの“001”データは非消去対象の上位ビットが同じ“0”データなので、下位レベルにある“C”、“D”、及び“E”レベルのデータを上位レベルにある“F”レベルの“001”データに加工して上書きデータを作成する。なお、“F”及び“G”レベルのデータは、そのまま加工しない。
なお、下位及び上位ページが消去対象である場合、非消去対象の中位ビットが同じ4つのデータにおいて、下位レベルにある3つのデータを上位レベルのデータに加工して上書きデータを作成する。中位及び上位ページが消去対象である場合も同様に、非消去対象の下位ビットが同じ4つのデータにおいて、下位レベルにある3つのデータを上位レベルのデータに加工して上書きデータを作成する。
次に、上書きプログラム動作による閾値分布の変動について説明する。
図33に示すように、例えば、下位ページAA及び中位ページABがセキュア消去対象である場合、コントローラ200は、同じメモリセルグループMCGの上位ページACを確認する。そして、上位ページACが有効データを含んでいる場合、コントローラ200は下位ページの上書きプログラム動作を実行する。
下位及び中位ページの上書きプログラム動作を実行することにより、“Er”レベルの“111”データ、“A”レベルの“110”データ、及び“B”レベルの“100”データは、非消去対象の上位ビットが同じ“1”データである“G”レベルの“101”データに上書きされる。“C”レベルの“000”データ、“D”レベルの“010”データ、及び“E”レベルの“011”データは、非消去対象の上位ビットが同じ“0”データである“F”レベルの“001”データに上書きされる。これにより、下位及び中位ページのデータを正しく読み出すことができなくなる。
5.4 本実施形態に係る効果について
本実施形態に係る構成であれば、第1乃至第4実施形態と同様の効果を得ることができる。
本実施形態に係る構成であれば、第1乃至第4実施形態と同様の効果を得ることができる。
6.変形例
上記実施形態に係るメモリシステムは、メモリセル(MT)を含むメモリセルアレイ(18)を有する半導体記憶装置(100)と、半導体記憶装置を制御し、メモリセルから読み出した第1データに基づいて第2データ(上書きデータ)を作成可能なコントローラ(200)とを含む。コントローラは、外部機器(2)からメモリセルに保持された第1データの物理消去の要求(セキュア消去命令)を受信すると、半導体記憶装置に、消去(セキュアBLK消去動作)命令及び第2データの書き込み(上書きプログラム動作)命令の1つを送信する。
上記実施形態に係るメモリシステムは、メモリセル(MT)を含むメモリセルアレイ(18)を有する半導体記憶装置(100)と、半導体記憶装置を制御し、メモリセルから読み出した第1データに基づいて第2データ(上書きデータ)を作成可能なコントローラ(200)とを含む。コントローラは、外部機器(2)からメモリセルに保持された第1データの物理消去の要求(セキュア消去命令)を受信すると、半導体記憶装置に、消去(セキュアBLK消去動作)命令及び第2データの書き込み(上書きプログラム動作)命令の1つを送信する。
上記実施形態を適用することにより、処理能力を向上できる半導体記憶装置を提供できる。
なお、実施形態は上記説明した形態に限定されるものではなく、種々の変形が可能である。
例えば、上記実施形態において、半導体記憶装置はNAND型フラッシュメモリではなくても良い。論物変換データを用いてデータを管理し、書き込み、読み出し、及び消去動作を行う不揮発性メモリにも適用できる。
更に、上記実施形態における「接続」とは、間に例えばトランジスタあるいは抵抗等、他の何かを介在させて間接的に接続されている状態も含む。
更に、上記実施形態における「接続」とは、間に例えばトランジスタあるいは抵抗等、他の何かを介在させて間接的に接続されている状態も含む。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…メモリシステム、2…ホスト機器、10…入出力回路、11…ロジック制御回路、12…ステータスレジスタ、13…アドレスレジスタ、14…コマンドレジスタ、15…シーケンサ、16…レディ/ビジー回路、17…電圧発生回路、18…メモリセルアレイ、19…ロウデコーダ、20…センスアンプ、21…データレジスタ、22…カラムデコーダ、30…半導体基板、31…n型ウェル、32…p型ウェル、33…n+型拡散層、34、40…配線層、35…半導体層、36…トンネル絶縁膜、37…電荷蓄積層、38…ブロック絶縁膜、39…コンタクトプラグ、100…NAND型フラッシュメモリ、200…コントローラ、210…ホストインターフェイス回路、220…内蔵メモリ、230…プロセッサ、240…バッファメモリ、250…NANDインターフェイス回路、260…ECC回路。
Claims (7)
- メモリセルを含むメモリセルアレイを有する半導体記憶装置と、
前記半導体記憶装置を制御し、前記メモリセルから読み出した第1データに基づいて第2データを作成可能なコントローラと
を備え、前記コントローラは、外部機器から前記メモリセルに保持された前記第1データの物理消去の要求を受信すると、前記半導体記憶装置に、消去命令及び前記第2データの書き込み命令の1つを送信するメモリシステム。 - 前記コントローラは、前記消去命令に基づいた前記半導体記憶装置の第1動作期間と、前記書き込み命令に基づいた前記半導体記憶装置の第2動作期間とを見積もり、前記第1動作期間と前記第2動作期間とを比較して短い動作期間の命令を選択する請求項1記載のメモリシステム。
- 前記メモリセルは、少なくとも第1閾値分布に対応する第1レベルデータ、及び前記第1閾値分布よりも閾値電圧の高い第2閾値分布に対応する第2レベルデータの1つを記憶可能であり、
前記第1データが前記第1レベルデータである場合、前記コントローラは、前記第2データを前記第2レベルデータとする請求項1または2記載のメモリシステム。 - 前記メモリセルは、複数のビットの前記第1データを記憶可能であり、
前記複数のビットのうち、前記物理消去の前記要求の対象ではないビットが有効データである場合、前記コントローラは、前記メモリセルから前記第1データを読み出して前記第2データを作成し、
前記対象ではない前記ビットが前記有効データではない場合、前記コントローラは、前記第1データを読み出さずに、前記第2データを作成する請求項1または2記載のメモリシステム。 - 前記書き込み命令は第1書き込み命令と第2書き込み命令とを含み、
前記対象ではない前記ビットが前記有効データである場合、前記コントローラは、前記半導体記憶装置に前記第1書き込み命令を送信し、前記半導体記憶装置は、前記第1書き込み命令に基づいて前記第2データを前記メモリセルに書き込み、
前記対象ではない前記ビットが前記有効データではない場合、前記コントローラは、前記半導体記憶装置に前記第2書き込み命令を送信し、前記半導体記憶装置は、前記第2書き込み命令に基づいて前記第2データに関わらず前記メモリセルに最上位の閾値電圧レベルのデータを書き込む請求項4記載のメモリシステム。 - 前記半導体記憶装置は、前記消去命令に応じて、前記メモリセルに消去前書き込み動作をおこなった後に消去動作を行い、前記消去前書き込み動作に対応するプログラムベリファイ動作及び前記消去動作に対応する消去ベリファイ動作を行わない請求項1または2記載のメモリシステム。
- ワード線に接続された複数のメモリセルを含むメモリブロックを含むメモリセルアレイを有する半導体記憶装置と、
前記半導体記憶装置を制御するコントローラと
を備え、前記コントローラは、外部機器から物理消去の要求を受信すると、前記半導体記憶装置に消去命令を送信し、
前記半導体記憶装置は、前記消去命令に応じて、前記メモリブロックの前記複数のメモリセルに消去前書き込み動作をおこなった後に消去動作を行い、前記消去前書き込み動作に対応するプログラムベリファイ動作及び前記消去動作に対応する消去ベリファイ動作を行わないメモリシステム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017178053A JP2019053805A (ja) | 2017-09-15 | 2017-09-15 | メモリシステム |
US15/900,978 US10141060B1 (en) | 2017-09-15 | 2018-02-21 | Memory system |
US16/160,667 US10269434B2 (en) | 2017-09-15 | 2018-10-15 | Memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017178053A JP2019053805A (ja) | 2017-09-15 | 2017-09-15 | メモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019053805A true JP2019053805A (ja) | 2019-04-04 |
Family
ID=64315487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017178053A Pending JP2019053805A (ja) | 2017-09-15 | 2017-09-15 | メモリシステム |
Country Status (2)
Country | Link |
---|---|
US (2) | US10141060B1 (ja) |
JP (1) | JP2019053805A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111341370A (zh) * | 2018-12-19 | 2020-06-26 | 爱思开海力士有限公司 | 半导体存储器装置、控制器、存储装置及其操作方法 |
JP7445362B2 (ja) | 2020-02-14 | 2024-03-07 | マイクロン テクノロジー,インク. | データを安全に消去するための高電圧パルスに基づくプログラム処理の実行 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019053805A (ja) * | 2017-09-15 | 2019-04-04 | 東芝メモリ株式会社 | メモリシステム |
KR102620731B1 (ko) * | 2018-09-27 | 2024-01-05 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
JP2020144601A (ja) * | 2019-03-06 | 2020-09-10 | 株式会社日立製作所 | ストレージ装置及びストレージ装置のデータ消去方法 |
US10665303B1 (en) * | 2019-05-10 | 2020-05-26 | Macronix International Co., Ltd. | Erasing blocks with few programmed pages |
CN110491434B (zh) * | 2019-08-23 | 2021-04-02 | 上海华虹宏力半导体制造有限公司 | 一种闪存存储器装置及其编程方法 |
JP2021047961A (ja) * | 2019-09-19 | 2021-03-25 | キオクシア株式会社 | メモリシステム |
US11462273B2 (en) * | 2020-05-14 | 2022-10-04 | Intel Corporation | SSD with reduced secure erase time and endurance stress |
CN113948138A (zh) * | 2020-07-17 | 2022-01-18 | 西部数据技术公司 | 3d nand中出于数据安全目的的即时且永久的自毁方法 |
WO2022198371A1 (en) * | 2021-03-22 | 2022-09-29 | Yangtze Memory Technologies Co., Ltd. | Memory device and program operation thereof |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5844842A (en) * | 1989-02-06 | 1998-12-01 | Hitachi, Ltd. | Nonvolatile semiconductor memory device |
JP3976839B2 (ja) * | 1996-07-09 | 2007-09-19 | 株式会社ルネサステクノロジ | 不揮発性メモリシステムおよび不揮発性半導体メモリ |
KR100780773B1 (ko) | 2006-11-03 | 2007-11-30 | 주식회사 하이닉스반도체 | 플래시 메모리소자의 프로그램 시작 바이어스 설정방법 및이를 이용한 프로그램 방법 |
JP2009059453A (ja) * | 2007-09-03 | 2009-03-19 | Toshiba Corp | 不揮発性半導体記憶装置及びメモリシステム |
JP2009252255A (ja) * | 2008-04-01 | 2009-10-29 | Renesas Technology Corp | 不揮発性半導体記憶装置 |
KR101736457B1 (ko) * | 2011-07-12 | 2017-05-17 | 삼성전자주식회사 | 불휘발성 메모리 장치, 불휘발성 메모리 장치의 소거 방법, 불휘발성 메모리 장치의 동작 방법, 불휘발성 메모리 장치를 포함하는 메모리 시스템, 메모리 시스템의 동작 방법, 불휘발성 메모리 장치를 포함하는 메모리 카드 및 솔리드 스테이트 드라이브 |
KR20140021780A (ko) | 2012-08-10 | 2014-02-20 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 제어 방법 |
US20140063941A1 (en) * | 2012-08-31 | 2014-03-06 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
JP5583185B2 (ja) | 2012-10-12 | 2014-09-03 | ウィンボンド エレクトロニクス コーポレーション | 不揮発性半導体メモリ |
KR102081581B1 (ko) * | 2012-11-02 | 2020-02-26 | 삼성전자 주식회사 | 메모리 장치 구동 방법 |
KR102081584B1 (ko) * | 2012-11-02 | 2020-02-26 | 삼성전자 주식회사 | 메모리 장치 구동 방법 및 메모리 시스템 |
US9543019B2 (en) * | 2012-12-11 | 2017-01-10 | Intel Corporation | Error corrected pre-read for upper page write in a multi-level cell memory |
JP6422273B2 (ja) * | 2014-09-03 | 2018-11-14 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
JP2019053805A (ja) * | 2017-09-15 | 2019-04-04 | 東芝メモリ株式会社 | メモリシステム |
-
2017
- 2017-09-15 JP JP2017178053A patent/JP2019053805A/ja active Pending
-
2018
- 2018-02-21 US US15/900,978 patent/US10141060B1/en active Active
- 2018-10-15 US US16/160,667 patent/US10269434B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111341370A (zh) * | 2018-12-19 | 2020-06-26 | 爱思开海力士有限公司 | 半导体存储器装置、控制器、存储装置及其操作方法 |
CN111341370B (zh) * | 2018-12-19 | 2023-10-10 | 爱思开海力士有限公司 | 半导体存储器装置、控制器、存储装置及其操作方法 |
JP7445362B2 (ja) | 2020-02-14 | 2024-03-07 | マイクロン テクノロジー,インク. | データを安全に消去するための高電圧パルスに基づくプログラム処理の実行 |
US11942160B2 (en) | 2020-02-14 | 2024-03-26 | Micron Technology, Inc. | Performing a program operation based on a high voltage pulse to securely erase data |
Also Published As
Publication number | Publication date |
---|---|
US10269434B2 (en) | 2019-04-23 |
US20190088338A1 (en) | 2019-03-21 |
US10141060B1 (en) | 2018-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019053805A (ja) | メモリシステム | |
US10558397B2 (en) | Semiconductor storage device | |
US11804267B2 (en) | Memory system having semiconductor memory device that performs verify operations using various verify voltages | |
US9466381B2 (en) | Semiconductor device | |
JP4510072B2 (ja) | 不揮発性半導体記憶装置とその書き込み方法 | |
TWI746844B (zh) | 記憶體裝置及其操作方法 | |
JP2013254537A (ja) | 半導体記憶装置及びコントローラ | |
US7881106B2 (en) | Nonvolatile semiconductor memory device | |
JP2012226806A (ja) | 不揮発性半導体記憶装置 | |
JP2013143155A (ja) | 不揮発性半導体記憶装置とその書き込み方法 | |
TW201812750A (zh) | 半導體記憶裝置及記憶體系統 | |
US20180294031A1 (en) | Storage device and method of operating the same | |
JP2015176623A (ja) | 半導体記憶装置及びメモリコントローラ | |
TWI549134B (zh) | Nand型快閃記憶體及其程式化方法 | |
JP2020047330A (ja) | 半導体記憶装置 | |
JP2014197442A (ja) | 不揮発性半導体記憶装置及びその読み出し方法 | |
CN109524043B (zh) | 半导体存储装置 | |
JP5814961B2 (ja) | 不揮発性半導体記憶装置 | |
JP2019160379A (ja) | 半導体記憶装置及びメモリシステム | |
US11600327B2 (en) | Semiconductor flash memory device with voltage control on completion of a program operation and subsequent to completion of the program operation | |
CN116343876A (zh) | 存储器子系统中的存储器单元的多阶段擦除操作 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180831 |