(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025001623
(43)【公開日】2025-01-08
(54)【発明の名称】不均一消去を伴う不揮発性メモリのためのアボート動作検出
(51)【国際特許分類】
G11C 16/34 20060101AFI20241225BHJP
G06F 12/00 20060101ALI20241225BHJP
【FI】
G11C16/34
G06F12/00 597U
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024003457
(22)【出願日】2024-01-12
(31)【優先権主張番号】63/509,134
(32)【優先日】2023-06-20
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】18/366,213
(32)【優先日】2023-08-07
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】324010378
【氏名又は名称】サンディスク テクノロジーズ インコーポレイテッド
(74)【代理人】
【識別番号】100207837
【弁理士】
【氏名又は名称】小松原 寿美
(72)【発明者】
【氏名】フイウェン シュー
(72)【発明者】
【氏名】ディーパンシュ ダッタ
(72)【発明者】
【氏名】大和田 健
(72)【発明者】
【氏名】ボー レイ
(72)【発明者】
【氏名】ラヴィ ジェイ.クマール
(72)【発明者】
【氏名】スジャトゥル イスラム
(72)【発明者】
【氏名】シュエ ピトナー
【テーマコード(参考)】
5B160
5B225
【Fターム(参考)】
5B160AA09
5B225BA01
5B225BA19
5B225CA12
5B225DC03
5B225DC08
5B225EA05
5B225FA01
5B225FA05
5B225FA07
(57)【要約】 (修正有)
【課題】メモリシステムが(例えば、ブロックの状態が未知であり得るときの予期せぬ電力損失の後に)ブロックの状態を効率的に決定する装置及び方法を提供する。
【解決手段】装置は、複数の不揮発性メモリセルに接続する1つ又は複数の制御回路を含む。1つ又は複数の制御回路は、オープンブロックの書き込まれた部分と書き込まれていない部分との間の第1の境界を検出し、第1の境界の検出に応答して、オープンブロックが不均一消去動作を受けたかどうかを判定するために、オープンブロックの書き込まれた部分と書き込まれていない部分との間の第2の境界をチェックする。
【選択図】
図13
【特許請求の範囲】
【請求項1】
装置であって、
複数の不揮発性メモリセルに接続するように構成された1つ又は複数の制御回路を備え、
前記1つ以上の制御回路が、
オープンブロックの書き込まれた部分と書き込まれていない部分との間の第1の境界を検出し、前記第1の境界の検出に応答して、前記オープンブロックの書き込まれた部分と書き込まれていない部分との間の第2の境界をチェックして、前記オープンブロックが不均一消去動作を受けたかどうかを判定するように構成されている、装置。
【請求項2】
前記1つ又は複数の制御回路は、少なくとも1つの書き込まれたワード線が識別され、少なくとも1つの書き込まれていないワード線が識別されるまで、前記オープンブロックのワード線の二分探索を実行することによって前記第1の境界を検出するように構成される、請求項1に記載の装置。
【請求項3】
前記1つ又は複数の制御回路が、検出された書き込まれたワード線から所定のオフセットであるテストワード線を読み取ることによって前記第2の境界をチェックするように構成される、請求項2に記載の装置。
【請求項4】
前記不均一消去動作は、奇数ワード線及び偶数ワード線を別々に消去する奇数-偶数消去動作であり、前記テストワード線は、前記検出された書き込まれたワード線にすぐ隣接している、請求項3に記載の装置。
【請求項5】
前記1つ又は複数の制御回路が、前記テストワード線が消去されたと判定したことに応答して、前記オープンブロックからデータをコピーすることなく消去のために前記オープンブロックを準備するように構成される、請求項4に記載の装置。
【請求項6】
前記1つ又は複数の制御回路は、前記オープンブロックの書き込まれた部分と書き込まれていない部分との間に第2の境界が見つからないことに応答して、前記第1の境界の位置を見つけるように更に構成される、請求項1に記載の装置。
【請求項7】
前記1つ又は複数の制御回路は、前記オープンブロックの書き込まれた部分と書き込まれていない部分との間に第2の境界が見つからない場合、前記第1の境界の書き込み側のデータを前記オープンブロックから別のブロックにコピーするように更に構成される、請求項6に記載の装置。
【請求項8】
前記1つ又は複数の制御回路は、前記オープンブロックが不均一消去動作を受けたと判定したことに応答して、前記オープンブロックからデータをコピーすることなく消去のために前記オープンブロックを準備するように構成される、請求項1に記載の装置。
【請求項9】
前記1つ又は複数の制御回路が、前記複数の不揮発性メモリセルを含むメモリダイに接続されるように構成された制御ダイ上に位置する、請求項1に記載の装置。
【請求項10】
方法であって、
不揮発性メモリのオープンブロックを識別するステップと、
前記オープンブロックの書き込まれた部分と書き込まれていない部分との間の第1の境界を検出するステップと、
その後、前記オープンブロックの前記書き込まれた部分と前記書き込まれていない部分との間の前記第1の境界を検出したことに応答して、前記オープンブロックの前記書き込まれた部分と前記書き込まれていない部分との間の第2の境界をチェックして、前記オープンブロックが不均一消去動作を受けたかどうかを判定するステップと、を含む、方法。
【請求項11】
前記第1の境界を検出するステップは、少なくとも1つの書き込まれたワード線が識別され、少なくとも1つの書き込まれていないワード線が識別されるまで、前記オープンブロックのワード線の二分探索を実行することを含む、請求項10に記載の方法。
【請求項12】
前記第2の境界をチェックすることは、検出された書き込まれたワード線から所定のオフセットであるテストワード線を読み出すことを含む、請求項11に記載の方法。
【請求項13】
前記不均一消去動作は、奇数ワード線及び偶数ワード線を別々に消去する奇数-偶数消去動作であり、前記テストワード線は、前記検出された書き込まれたワード線にすぐ隣接している、請求項12に記載の方法。
【請求項14】
前記テストワード線が消去されたと判定したことに応答して、前記オープンブロックからデータをコピーすることなく、消去のために前記オープンブロックを準備するステップを更に含む、請求項13に記載の方法。
【請求項15】
前記オープンブロックの書き込まれた部分と書き込まれていない部分との間に第2の境界が見つからないことに応答して、前記第1の境界の位置を見つけるステップを更に含む、請求項10に記載の方法。
【請求項16】
前記オープンブロックの書き込まれた部分と書き込まれていない部分との間に第2の境界が見つからなかったことに応答して、前記第1の境界の書き込み済み側のデータを前記オープンブロックから別のブロックにコピーするステップを更に含む、請求項15に記載の方法。
【請求項17】
前記オープンブロックが不均一消去動作を受けたと判定したことに応答して、前記オープンブロックからデータをコピーすることなく、消去のために前記オープンブロックを準備するステップを更に含む、請求項11に記載の方法。
【請求項18】
データ記憶システムであって、
ブロック状に配置された複数の不揮発性メモリセルと、
オープンブロックの書き込まれた部分と書き込まれていない部分との間の第1の境界を検出し、前記第1の境界を検出したことに応答して、前記オープンブロックが不均一消去動作を受けたかどうかを決定するために、前記オープンブロックの書き込まれた部分と書き込まれていない部分との間の第2の境界をチェックするための手段と、を備える、データ記憶システム。
【請求項19】
前記不均一消去動作は、奇数ワード線と偶数ワード線とを別々に消去する奇数-偶数消去動作であり、書き込まれた部分と書き込まれていない部分との間の前記第2の境界をチェックすることは、書き込まれていると判定されたワード線のすぐ隣に位置するテストワード線をチェックすることを含む、請求項18に記載のデータ記憶システム。
【請求項20】
前記複数の不揮発性メモリセルが、メモリダイ上に配置され、前記第1の境界を検出するための前記手段が、前記メモリダイに接続された制御ダイ上に配置される、請求項18に記載のデータ記憶システム。
【発明の詳細な説明】
【技術分野】
【0001】
(優先権の主張)
本出願は、参照によりその全体が本明細書に組み込まれる、2023年6月20日出願のXuらによる「ABORTED OPERATION DETECTION FOR NONVOLATILE MEMORY WITH NON-UNIFORM ERASE」という名称の米国特許仮出願第63/509,134号の優先権を主張する。
【背景技術】
【0002】
半導体メモリは、携帯電話、デジタルカメラ、個人情報端末、医療用電子機器、モバイルコンピューティングデバイス、非モバイルコンピューティングデバイス、及びデータサーバなどの様々な電子デバイスに広く使用されている。半導体メモリは、不揮発性メモリ又は揮発性メモリを含むことがある。不揮発性メモリにより、不揮発性メモリが電源(例えば、電池)に接続されていないときでも、情報を記憶及び保持することが可能になる。不揮発性メモリの実施例としては、フラッシュメモリ(例えば、NAND型フラッシュメモリ及びNOR型フラッシュメモリ)、電気的に消去可能なプログラマブル読み取り専用メモリ(EEPROM(Electrically Erasable Programmable Read-Only Memory))などが挙げられる。メモリセルの中には、電荷蓄積領域に電荷を蓄積することによって情報を記憶するものがある。他のメモリセルは、メモリセルの抵抗によるなど、他の技法を使用して情報を記憶する。いくつかのメモリは、2つのデータ状態を使用してセル当たり1ビットを記憶し(シングルレベルセルすなわちSLC)、他のメモリは、2つより多くのデータ状態を使用してセル当たり1ビットより多くを記憶する(セル当たり2ビットを記憶することができるマルチレベルセルすなわちMLC)。セルごとに4ビットを記憶することは、16個のデータ状態を使用し得る(クワッドレベルセルすなわちQLC)。
【0003】
メモリシステムが電子デバイス(ホスト)内に配備されるか又はそれに接続されるとき、メモリシステムは、データを記憶し、データを読み取るために使用することができる。例えば、データは、プログラム(書き込み)コマンドに応答して記憶されてもよい。データは、読み出されるべきデータを指定する読み出しコマンドに応答して読み出され得る。データは、消去コマンドに応答して消去され得る。場合によっては、メモリシステムが電力を失ったときに動作(例えば、書き込み又は消去)が進行中であり得る。電力が戻るとき、メモリシステムの状態を決定することは困難であり得る(例えば、いくつかのデータが部分的に書き込まれ得るか、又は部分的に消去され得る)。
【図面の簡単な説明】
【0004】
同様に番号付けされた要素は、異なる図に対する共通の構成要素を指す。
【
図1A】ホストに接続されたメモリシステムの一実施形態を示すブロック図である。
【
図1B】フロントエンドプロセッサ回路の一実施形態を示すブロック図である。いくつかの実施形態では、フロントエンドプロセッサ回路は、コントローラの一部である。
【
図1C】バックエンドプロセッサ回路の一実施形態を示すブロック図である。いくつかの実施形態では、バックエンドプロセッサ回路は、コントローラの一部である。
【
図1D】メモリパッケージの一実施形態を示すブロック図である。
【
図2A】メモリダイの実施形態の機能ブロック図である。
【
図2B】集積メモリモアセンブリの実施形態の機能ブロック図である。
【
図3】モノリシック3次元メモリ構造の一実施形態の部分斜視図である。
【
図4A】2つの平面を有するメモリ構造のブロック図である。
【
図4B】メモリセルのブロックの一部の上面図を示す。
【
図4C】メモリセルのブロックの一部の断面図を示す。
【
図6】不揮発性メモリセルの複数のデータ状態をプログラムする例を示す。
【
図10A】ブロック内の境界の二分探索の例を示す。
【
図10B】ブロック内の境界の二分探索の例を示す。
【
図13】ブロック内の第2の境界をチェックすることを含む方法の一例を示す。
【
図14】ブロック内の第2の境界をチェックすることを含む方法の一例を示す。
【
図15】テストワード線が消去されたかどうかを判定することを含む方法の一例を示す。
【発明を実施するための形態】
【0005】
本明細書では、メモリシステムが(例えば、ブロックの状態が未知であり得るときの予期せぬ電力損失の後に)ブロックの状態を効率的に決定することを可能にするための技法が開示される。いくつかのメモリシステムは、不均一消去を使用し、例えば、奇数ワード線及び偶数ワード線のメモリセルを別々に消去し(奇数-偶数消去)、これは、ブロック内の書き込まれた部分及び書き込まれていない部分のパターンをもたらし得る。そのようなパターンは、ブロックが有効なデータを含まない(例えば、消去アボートブロックである)ときに、ブロックを有効なデータで部分的に書き込まれたものとして誤って識別する(例えば、書き込みアボートブロックとして誤って識別される)ことになり得る。誤識別は、メモリシステムの動作に影響を与え得る、そのようなブロックの不適切な処理(例えば、有効データを含まないブロックからデータをコピーしようとすること)をもたらし得る。
【0006】
ブロックの状態を正確かつ効率的に決定するためのスキームは、書き込まれた部分と書き込まれていない部分との間の第1の境界を検出すること(例えば、少なくとも1つの書き込まれたワード線及び少なくとも1つの書き込まれていないワード線を見つけること)を含む。第1の境界を検出したことに応答して、ブロックは、第2の境界について(例えば、プログラミングの順序で書き込まれたワード線の下にある書き込まれていない部分について)チェックされ得る。テストワード線(又は複数のワード線)を選択し、それが消去されているか否かを確認するためにチェックすることができる。テストワード線の選択は、使用される不均一消去方式に依存し得る。奇数-偶数消去の場合、書き込まれたワード線にすぐ隣接するワード線がチェックされてもよい(例えば、テストワード線は、書き込まれたワード線から1ワード線だけオフセットされてもよい)。他の不均一消去方式では、テストワード線が異なる形で選択されてもよい。テストワード線が消去される場合、それは、ブロックが不均一消去(消去アボートブロック)によって部分的に消去されていることを示し、ブロックはそれに応じて(例えば、ブロック内のデータをコピーすることなく、又はデータを維持することなく使用するために準備されたブロックとして)処理されてもよい。テストワード線が消去されていない場合、それは、ブロックが部分的に書き込まれており、有効なデータを含むことを示し(書き込み消去アボート)、ブロックはそれに応じて処理され得る(例えば、ブロック内のデータをコピーするか、又はプログラミングを継続しデータを維持する)。
【0007】
図1Aは、ホスト120に接続されたメモリシステム100の一実施形態のブロック図である。メモリシステム100は、本明細書に開示される技術を実装することができる。多くの異なる種類のメモリシステムを、本明細書で提案される技術とともに使用することができる。一実施形態では、メモリシステムは、ソリッドステートドライブ(「SSD」)である。しかしながら、他のタイプのメモリシステムも使用することができる。メモリシステム100は、コントローラ102、データを記憶するための不揮発性メモリ104、及びローカルメモリ(例えば、DRAM/ReRAM)106を備える。コントローラ102は、フロントエンドプロセッサ回路(FEP)110、及び1つ以上のバックエンドプロセッサ回路(BEP)112を備える。一実施形態では、FEP回路110は、ASIC上に実装される。一実施形態では、各BEP回路112は、別個のASIC上に実装される。BEP回路112及びFEP回路110のそれぞれのASICは、コントローラ102がシステムオンチップ(「SoC」)として製造されるように、同じ半導体上に実装される。FEP110及びBEP112は両方とも、それら自体のプロセッサを含む。一実施形態では、FEP回路110及びBEP回路112は、FEP回路110がマスターであり各BEP回路112がスレーブである、マスタースレーブ構成として機能する。例えば、FEP回路110は、メモリ管理(例えば、ガベージコレクション、ウェアレベリングなど)、論理アドレスから物理アドレスへの変換、ホストとの通信、DRAM(ローカル揮発性メモリ)の管理、及びSSD(又は他の不揮発性記憶システム)の全体動作の管理を実施するフラッシュ変換層を実装する。BEP回路112は、FEP回路110の要求時にメモリパッケージ/ダイ内のメモリ動作を管理する。例えば、BEP回路112は、読み出し、消去、及びプログラミングプロセスを実行し得る。更に、BEP回路112は、バッファ管理、FEP回路110が必要とする特定の電圧レベルの設定、エラー訂正(error correction、ECC)、メモリパッケージへのトグルモードインターフェースの制御などを行うことができる。一実施形態では、各BEP回路112は、それ自体のメモリパッケージの組を担当する。コントローラ102は、制御回路の一例である。
【0008】
一実施形態では、不揮発性メモリ104は、複数のメモリパッケージを含む。各メモリパッケージは、1つ以上のメモリダイを含む。したがって、コントローラ102は、1つ以上の不揮発性メモリダイに接続される。一実施形態では、メモリパッケージ14内のそれぞれのメモリダイは、NANDフラッシュメモリ(二次元NANDフラッシュメモリ及び/又は三次元NANDフラッシュメモリを含む)を利用する。他の実施形態では、メモリパッケージは、他の種類のメモリを含んでもよい。
【0009】
コントローラ102は、PCI Express(PCIe)を介してNVM Express(NVMe)を実装するインターフェース130を使用してホスト120と通信する。メモリシステム100と協働するために、ホスト120は、バス128に接続されたホストプロセッサ122と、ホストメモリ124と、PCIeインターフェース126とを含む。ホストメモリ124は、ホストの物理メモリであり、DRAM、SRAM、不揮発性メモリ、又は別の種類の記憶部とすることができる。ホスト120は、メモリシステム100の外部にあり、メモリシステム100とは別個である。一の実施形態では、メモリシステム100はホスト120内に埋め込まれる。
【0010】
図1Bは、FEP回路110の一実施形態を示すブロック図である。
図1Bは、ホスト120と通信するPCIeインターフェース150と、そのPCIeインターフェースと通信するホストプロセッサ152と、を示す。ホストプロセッサ152は、実装に好適な、当該技術分野において既知の任意のタイプのプロセッサであり得る。ホストプロセッサ152は、ネットワークオンチップ(network-on-chip、NOC)154と通信している。NOCは、典型的にはSoC内のコア間の、集積回路上の通信サブシステムである。NOCは、同期及び非同期クロックドメインにまたがるか、又はロックされていない非同期論理を使用することができる。NOC技術は、ネットワーキング理論及び方法をオンチップ通信に適用し、従来のバス及びクロスバー相互接続に顕著な改善をもたらす。NOCは、他の設計と比較して、SoCのスケーラビリティ及び複雑なSoCの電力効率を向上させる。NOCのワイヤ及びリンクは、多くの信号によって共有される。NOC内の全てのリンクが異なるデータパケット上で同時に動作することができるため、高レベルの並列性が達成される。したがって、統合サブシステムの複雑性が増大し続けると、NOCは、以前の通信アーキテクチャ(例えば、専用のポイントツーポイント信号ワイヤ、共有バス、又はブリッジを有するセグメント化バス)と比較して、向上した性能(スループットなど)及びスケーラビリティをもたらす。メモリプロセッサ156、SRAM160、及びDRAMコントローラ162はNOC154に接続され、これと通信している。DRAMコントローラ162は、DRAM(例えば、DRAM106)を動作させこれと通信するために使用される。SRAM160は、メモリプロセッサ156によって使用されるローカルRAMメモリである。メモリプロセッサ156は、FEP回路を動作させ、様々なメモリ動作を実行するために使用される。NOCと通信するのは、2つのPCIeインターフェース164及び166である。
図1Bの実施形態では、SSDコントローラは2つのBEP回路112を含む。したがって、2つのPCIeインターフェース164/166が存在する。各PCIeインターフェースは、BEP回路112のうちの1つと通信する。他の実施形態では、2つより多い又は少ないBEP回路112が存在し得る。したがって、3つ以上のPCIeインターフェースが存在し得る。
【0011】
図1Cは、BEP回路112の一実施形態を示すブロック図である。
図1Cは、FEP回路110と通信するためのPCIeインターフェース200を示す(例えば、
図1BのPCIeインターフェース164及び166のうちの1つと通信する)。PCIeインターフェース200は、2つのNOC202及び204と通信している。一実施形態では、2つのNOCが1つの大きいNOCに結合され得る。各NOC(202/204)は、XORエンジン(224/254)及びECCエンジン(226/256)を介して、SRAM(230/260)、バッファ(232/262)、プロセッサ(220/250)、及びデータ経路コントローラ(222/252)に接続される。ECCエンジン226/256は、当該技術分野において既知のように、エラー訂正を実行するために使用される。XORエンジン224/254は、データをXOR演算するために使用され、その結果、データは、プログラミングエラーがある場合に復元することができる方法で組み合わされ、記憶され得る。データ経路コントローラ22は、4つのチャネルを介してメモリパッケージと通信するためのインターフェースモジュールに接続される。したがって、上部NOC202は、メモリパッケージと通信するための4つのチャネルのためのインターフェース228に関連付けられ、下部NOC204は、メモリパッケージと通信するための4つの追加のチャネルのためのインターフェース258と関連付けられる。各インターフェース228/258は、4つのトグルモードインターフェース(TMインターフェース)、4つのバッファ、及び4つのスケジューラを含む。チャネルのそれぞれについて、1つのスケジューラ、バッファ、及びTMインターフェースが存在する。プロセッサは、当該技術分野において既知の任意の標準的プロセッサであり得る。データ経路コントローラ222/252は、プロセッサ、FPGA、マイクロプロセッサ、又は他のタイプのコントローラであり得る。XORエンジン224/254及びECCエンジン226/256は、ハードウェアアクセラレータとして知られる専用ハードウェア回路である。他の実施形態では、XORエンジン224/254及びECCエンジン226/256は、ソフトウェアで実装され得る。スケジューラ、バッファ、及びTMインターフェースは、ハードウェア回路である。
【0012】
図1Dは、メモリバス294(データ線、及びチップイネーブル線)に接続された複数のメモリダイ300を含むメモリパッケージ104の一実施形態を示すブロック図である。メモリバス294は、BEP回路112のTMインターフェース(例えば、
図1Cを参照)と通信するためにトグルモードインターフェース296に接続する。いくつかの実施形態では、メモリパッケージは、メモリバス及びTMインターフェースに接続された小型コントローラを含むことができる。メモリパッケージは、1つ以上のメモリダイを有することができる。一実施形態では、各メモリパッケージは、8つ又は16個のメモリダイを含むが、他の数のメモリダイもまた実装することができる。本明細書に記載の技術は、特定の数のメモリダイに限定されない。
【0013】
図2Aは、メモリダイ300の一実施形態の機能ブロック図である。
図1Dの1つ以上のメモリダイ300のそれぞれは、
図2のメモリダイ300として実装され得る。
図2に示す構成要素は、電気回路である。一実施形態では、それぞれのメモリダイ300は、メモリ構造326、制御回路310、及び読み出し/書き込み回路328を含み、これらは全て電気回路である。メモリ構造326は、行デコーダ324を介してワード線によりアドレス指定可能であり、列デコーダ332を介してビット線によりアドレス指定可能である。読み出し/書き込み回路328は、SB1、SB2、...、SBp(感知回路)など複数のセンスブロック350を含み、複数のメモリセル内のデータのページ(又は複数のページ)が並列に読み出される又はプログラムされることを可能にする。一実施形態では、それぞれのセンスブロックは、センスアンプと、ビット線に接続された1組のラッチと、を含む。ラッチは、読み書きされたデータを記憶する。センスブロックは、ビット線ドライバを含む。
【0014】
コマンド及びデータは、メモリダイ300とコントローラとの間のバス(例えば、メモリバス294)を形成し得る線318を介して、コントローラとメモリダイ300との間で転送される。一実施形態では、メモリダイ300は、線318に接続する1組の入力及び/又は出力(I/O)ピンを含む。
【0015】
制御回路310は、読み取り/書き込み回路328と協働して、メモリ構造326上でメモリ動作(例えば、書き込み、読み取り、消去、及びその他)を実行する。一実施形態では、制御回路310は、ステートマシン312と、オンチップアドレスデコーダ314と、電力制御モジュール316(電力制御回路)と、温度検出回路315と、を含む。ステートマシン312は、メモリ動作のダイレベル制御を提供する。一実施形態では、ステートマシン312は、ソフトウェアによってプログラム可能である。他の実施形態では、ステートマシン312は、ソフトウェアを使用せず、ハードウェア(例えば、電気回路)内に完全に実装される。他の実施形態では、ステートマシン312をプログラム可能なマイクロコントローラ又はマイクロプロセッサに置き換えることができる。一実施形態では、制御回路310は、レジスタ、ROMヒューズ、並びにベース電圧及び他のパラメータ等のデフォルト値を記憶するための他の記憶デバイスのバッファを含む。
【0016】
オンチップアドレスデコーダ314は、コントローラ102によって使用されるアドレスと、デコーダ324及び332によって使用されるハードウェアアドレスとの間のアドレスインターフェースを提供する。電力制御モジュール316は、メモリ動作中にワード線及びビット線に供給される電力及び電圧を制御する。電力制御モジュール316は、電圧を生成するための電荷ポンプを含み得る。
【0017】
本明細書の目的のために、制御回路310は、単独で又は読み取り/書き込み回路328及びデコーダ324/332と組み合わせて、メモリ構造326に対して1つ以上の制御回路を備える。この1つ以上の制御回路は、フロー図及び信号図において以下に記載される機能を実行する電気回路である。他の実施形態では、1つ以上の制御回路は、ソフトウェアと組み合わせた電気回路であるコントローラ102のみからなることができ、これはフロー図及び信号図において以下に記載される機能を実行する。別の代替的な実施形態では、1つ以上の制御回路は、コントローラ102、及びフロー図及び信号図において以下に記載される機能を実行する制御回路310を備える。別の実施形態では、1つ以上の制御回路は、ステートマシン312(又はマイクロコントローラ又はマイクロプロセッサ)を単独で、又はコントローラ102と組み合わせて備える。
【0018】
一実施形態では、メモリ構造326は、ウェハなど単一基板上に複数のメモリレベルが形成される不揮発性メモリセルのモノリシック3次元メモリアレイを備える。メモリ構造は、シリコン(又は他の種類の)基板上に配置された活性領域を有する、1つ以上の物理レベルのメモリセルアレイにモノリシックに形成される、任意の種類の不揮発性メモリを備え得る。一例では、メモリ構造326の不揮発性メモリセルは、例えば米国特許第9,721,662号に記載されているような電荷トラップ材料を有する垂直NANDストリングを備え、その全体が参照により本明細書に組み込まれる。別の実施形態では、メモリ構造326は、不揮発性メモリセルの二次元メモリアレイを含む。一例では、不揮発性メモリセルは、例えば米国特許第9,082,502号に記載されているような浮動ゲートを利用するNANDフラッシュメモリセルであり、その全体が参照により本明細書に組み込まれる。他の種類のメモリセル(例えば、NOR型フラッシュメモリ)も使用することができる。
【0019】
一実施形態では、制御回路(複数可)(例えば、制御回路310)は、制御ダイと称される第1のダイ上に形成され、メモリアレイ(例えば、メモリ構造326)は、メモリダイと称される第2のダイ上に形成される。例えば、メモリに関連付けられたいくつか又は全ての制御回路(例えば、制御回路310、行デコーダ324、列デコーダ332、及び読み出し/書き込み回路328)は、同じ制御ダイ上に形成されてもよい。制御ダイは、集積メモリアセンブリを形成するために、1つ以上の対応するメモリダイに接合されてもよい。制御ダイ及びメモリダイは、互いに電気的に接続するように配置されたボンドパッドを有してもよい。制御ダイ及びメモリダイのボンドパッドは、ボンドパッドサイズ及びボンドパッド間隔(すなわち、ボンドパッドピッチ)に部分的に依存して、様々な接合手法のいずれかによって位置合わせされ、接合されてもよい。いくつかの実施形態では、ボンドパッドは、はんだ又は他の追加材料なしで、いわゆるCu~Cu接合プロセスにおいて互いに直接接合される。いくつかの実施例では、ダイは、1対1の配置で(例えば、1つのコントロールダイを1つのメモリダイに)接合される。いくつかの実施例では、集積メモリアセンブリ内に、2つ以上の制御ダイ及び/又は2つ以上のメモリダイが存在してもよい。いくつかの実施形態では、集積メモリアセンブリは、複数の制御ダイ及び/又は複数のメモリダイのスタックを含む。いくつかの実施形態では、制御ダイは、メモリコントローラに接続されるか、ないしは別の方法でメモリコントローラと通信する。例えば、メモリコントローラは、メモリアレイにプログラムされるデータを受信し得る。メモリコントローラは、制御ダイがそのデータをメモリダイ上のメモリアレイにプログラムすることができるように、そのデータを制御ダイに転送することになる。
【0020】
図2Bは、接合されたダイ対を提供するためにウェハ間接合を使用して実装され得る、
図2Aの配置の代替配置を示す。
図2Bは、集積メモリアセンブリ307の一実施形態の機能ブロック図である。1つ以上の集積メモリアセンブリ307は、メモリシステム100内のメモリパッケージ104に使用され得る。集積メモリアセンブリ307は、2種類の半導体ダイ(又はより簡潔に「ダイ」)を含む。メモリダイ301は、メモリアレイ326(メモリ構造)を含む。メモリ構造326は、不揮発性メモリセルを含み得る。
【0021】
制御ダイ311は、列制御回路364、行制御回路320、及びシステム制御論理360(ステートマシン312、電力制御モジュール316、記憶装置366、及びメモリインターフェース368を含む)を含む。いくつかの実施形態では、制御ダイ311は、メモリダイ301内のメモリ構造326に接続するように構成される。
図2Bは、メモリダイ301内に形成されたメモリアレイ326に結合された周辺回路又は制御ダイ311に形成された、制御回路を含む周辺回路の例を示す。システム制御論理360、行制御回路320、及び列制御回路364は、制御ダイ311内に配置される。いくつかの実施形態では、列制御回路364の全て又は一部、及び行制御回路320の全て又は一部は、メモリ構造ダイ301上に配置される。いくつかの実施形態では、システム制御論理360内の回路の一部は、メモリダイ301上に配置される。
【0022】
システム制御論理360、行制御回路320、及び列制御回路364は、一般的なプロセス(例えば、CMOSプロセス)によって形成されてもよく、それにより、より典型的にはメモリコントローラ102上に見られるECCなどの素子及び機能を追加することは、追加のプロセスステップをほとんど又は全く必要としなくてもよい(すなわち、コントローラ102を製造するために使用されるのと同じプロセスステップを使用して、システム制御論理360、行制御回路320、及び列制御回路364を製造することもできる)。したがって、そのような回路をメモリダイ301などのダイから移動させることにより、そのようなダイを製造するのに必要なステップの数を減らすことができ、そのような回路を制御ダイ311などのダイに追加することは、多くの追加のプロセスステップを必要としない場合がある。
【0023】
図2Bは、電気経路370を通してメモリダイ301上のメモリアレイ326に結合された制御ダイ311上のセンスブロック350を含む列制御回路364を示す。例えば、電気経路370は、列デコーダ332、ドライバ回路372、及びブロック選択部373とメモリアレイ326のビット線との間の電気的接続を提供し得る。電気経路は、メモリ構造326のビット線に接続された、メモリダイ301の対応するパッドに接合された制御ダイ311上のパッドを介して制御ダイ311内の列制御回路364から延在してもよい。メモリ構造326の各ビット線は、列制御回路364に接続する1対のボンドパッドを含む電気経路370内に対応する電気経路を有してもよい。同様に、行デコーダ324、アレイドライバ374、及びブロック選択376を含む、行制御回路320は、電気経路308を介してメモリ構造326に結合される。電気経路308のそれぞれは、ワード線、ダミーワード線、又は選択ゲート線に対応してもよい。更に、制御ダイ311とメモリ構造ダイ301との間に追加の電気経路が設けられてもよい。
【0024】
いくつかの実施形態では、集積メモリアセンブリ307内に、2つ以上の制御ダイ311及び/又は2つ以上のメモリダイ301が存在する。いくつかの実施形態では、集積メモリアセンブリ307は、複数の制御ダイ311及び複数のメモリ構造ダイ301のスタックを含む。いくつかの実施形態では、各制御ダイ311は、メモリ構造ダイ301のうちの少なくとも1つに固定(例えば、結合)される。
【0025】
メモリ構造326に含まれるメモリアレイアーキテクチャ又はメモリセルの正確な種類は、上記の例に限定されない。多くの異なる種類のメモリアレイアーキテクチャ又はメモリセル技術を使用して、メモリ構造326を形成することができる。本明細書で提案される新たに特許請求される実施形態の目的には、特定の不揮発性メモリ技術は必要とされない。メモリ構造326のメモリセルに好適な技術の他の実施例には、ReRAMメモリ、磁気抵抗メモリ(例えば、MRAM、スピントランスファートルクMRAM、スピン軌道トルクMRAM)、相変化メモリ(例えば、PCM)などが挙げられる。メモリ構造326のアーキテクチャに好適な技術の例として、2次元アレイ、3次元アレイ、クロスポイントアレイ、積層型2次元アレイ、垂直ビット線アレイなどが挙げられる。
【0026】
ReRAM又はPCMRAM、クロスポイントメモリの一例として、X線及びY線(例えば、ワード線及びビット線)によってアクセスされるクロスポイントアレイに配置された可逆抵抗スイッチング素子が挙げられる。別の実施形態では、メモリセルは、導電性ブリッジメモリ素子を含み得る。導電性ブリッジメモリ素子はまた、プログラム可能なメタライゼーションセルと呼ばれ得る。導電性ブリッジメモリ素子は、固体電解質内のイオンの物理的再配置に基づく状態変化素子として使用され得る。場合によっては、導電性ブリッジメモリ素子は、2つの電極間に固体電解質薄膜を有する、2つの固体金属電極を含んでもよく、一方は、比較的不活性であり(例えば、タングステン)、他方は、電気化学的に活性である(例えば、銀又は銅)。温度が上昇すると、イオンの移動度も増加し、導電性ブリッジメモリセルのプログラミング閾値が低下する。したがって、導電性ブリッジメモリ素子は、温度に対して広範囲のプログラミング閾値を有し得る。
【0027】
磁気抵抗メモリ(Magnetoresistive memory、MRAM)は、磁気記憶素子によってデータを記憶する。素子は、各々が薄い絶縁層によって分離された磁化を保持することができる、2つの強磁性プレートから形成される。2つのプレートのうちの1つは、特定の極性に設定された永久磁石である。他方のプレートの磁化は、メモリを記憶するために外場の磁化と一致するように変更することができる。メモリデバイスは、このようなメモリセルのグリッドから構築される。プログラミングのための一実施形態では、各メモリセルは、互いに直角に、セルに平行に、一方はセルの上に、かつ一方はセルの下に配置された1対の書き込み線の間にある。電流がそれらを通過すると、誘導磁場が生成される。
【0028】
相変化メモリ(phase change memory、PCM)は、カルコゲナイドガラスのユニークな挙動を利用する。一実施形態は、レーザパルス(又は別の光源からの光パルス)でゲルマニウム原子の配位状態を単純に変化させることによって、非熱的相変化を達成するために、GeTe-Sb2Te3超格子を使用する。したがって、プログラミングの線量はレーザパルスである。メモリセルは、メモリセルが光を受光することをブロックすることによって抑制され得る。本書では「パルス」の使用には四角いパルスを必要としないが、(連続的又は非連続的な)音の振動若しくはバースト、電流、電圧光、又はその他の波を含む。
【0029】
当業者であれば、本明細書に記載されるこの技術は単一の特定のメモリ構造に限定されず、本明細書に記載され、当業者によって理解されるように、技術の趣旨及び範囲内で、多くの関連するメモリ構造をカバーすることを、理解するであろう。
【0030】
図3は、複数のメモリセルを含む、メモリ構造326を備え得るモノリシック3次元メモリアレイの例示的な一実施形態の一部の斜視図である。例えば、
図3は、1つのメモリのブロックの一部を示している。描画される構造は、交互の誘電体層及び導電層のスタックの上に位置決めされた1組のビット線BLを含む。例として、誘電体層のうちの1つがDとしてマークされ、導電層(ワード線層とも呼ばれる)のうちの1つがWとしてマークされている。交互の誘電体層及び導電層の数は、特定の実装要件に基づいて変化し得る。1組の実施形態は、108~278個の交互の誘電体層と導電層との間に、例えば127個のデータワード線層、8個の選択層、4個のダミーワード線層、及び139個の誘電体層を含む。
【0031】
108~278個よりも多い又は少ない層を使用することもできる。以下に説明するように、交互の誘電体層及び導電層は、ローカルインターコネクトLIによって、4つの「フィンガ」に分割される。
図3は、2つのフィンガ及び2つのローカルインターコネクトLIのみを示す。以下、交互の誘電体層及びワード線層は、ソース線層SLである。メモリホールは、交互の誘電体層及び導電層のスタック内に形成される。例えば、メモリホールのうちの1つはMHとしてマークされる。
図3では、誘電体層がシースルーとして描画されているので、読者は交互の誘電体層及び導電層のスタックに位置決めされたメモリホールを見ることができる。一実施形態では、メモリセルの垂直列を生成するために、メモリホールを電荷トラップ層を含む材料で充填することによって、NANDストリングが形成される。各メモリセルは、1つ以上のビットのデータを記憶することができる。メモリ構造326を備える3次元モノリシックメモリアレイの更なる詳細は、
図4A~
図4Cに関して以下で提供する。
【0032】
図4Aは、2つの平面302及び304に分割されたメモリ構造326の1つの例示的な構成を説明するブロック図である。次いで、各平面はM個のブロックに分割される。一実施例では、各平面は、約2000個のブロックを有する。しかしながら、異なる数のブロック及び平面を使用することもできる。一実施形態(In on embodiment)では、メモリセルのブロックは、消去の単位である。すなわち、ブロックの全てのメモリセルは、一緒に消去される。他の実施形態では、メモリ構造326を編成して信号化回路及び選択回路を有効にするなど、他の理由でメモリセルをブロックにグループ化することができる。いくつかの実施形態では、ブロックは、ブロックのメモリセルが、ワード線の共通セットを共有するように、接続されたメモリセルの群を表す。
【0033】
図4B~4Cは、3次元(「3D」)NAND構造の一例を示す。
図4Bは、メモリ構造326からの1つのブロックの一部の上面図を示すブロック図である。
図4Bに示すブロックの一部は、
図4Aのブロック2の部分306に対応する。
図4Bに示すように、
図4Bに示すブロックは、433の方向に延在する。一実施形態では、メモリアレイは、60の層を有する。他の実施形態は、60個よりも少ない又はそれよりも多い層を有する。しかしながら、
図4Bは、最上層のみを示している。
【0034】
図4Bは、垂直列を表す複数の円を示す。各垂直列は、複数の選択ゲート(選択トランジスタとも呼ばれる)及び複数のメモリセル(データメモリセルとも呼ばれる)を含む。一実施形態では、各垂直列は、NANDストリングを実装する。例えば、
図4Bは、垂直列422、432、442、及び452を示す。垂直列422は、NANDストリング482を実装する。垂直列432は、NANDストリング484を実装する。垂直列442は、NANDストリング486を実装する。垂直列452は、NANDストリング488を実装する。垂直列の詳細は、以下に記載する。
図4Bに示すブロックは矢印433の方向に延びるため、ブロックは
図4Bに示すよりも多くの垂直列を含む。
【0035】
図4Bはまた、ビット線411、412、413、414、...419などビット線415のセットを示す。
図4Bは、ブロックの一部のみを示すため、24本のビット線を示す。25本以上のビット線がブロックの垂直列に接続され得ることが企図される。垂直列を表す円の各々は、1本のビット線への接続を示す「x」を有する。例えば、ビット線414は垂直列422、432、442、及び452に接続されている。
【0036】
図4Bに示すブロックは、様々な層を垂直列の下にあるソース線に接続する、1つのローカルインターコネクトのセット(402、404、406、408、及び410)を含む。ローカルインターコネクト402、404、406、408、及び410はまた、ブロックの各層を4つの領域に分割する役割を果たす。例えば、
図4Bに示す最上層は、フィンガと呼ばれる領域420、430、440、及び450に分割される。メモリセルを実装するブロックの層において、4つの領域は、ローカルインターコネクトによって分離されるワード線フィンガと称される。一実施形態では、共通のレベルのブロック上のワード線フィンガは、ブロックの終端が互いに接続して単一のワード線を形成する。別の実施形態では、同一レベルのワード線フィンガは、互いに接続していない。例示的な一実装形態では、ビット線は、領域420、430、440、及び450の各々で1つの垂直列にのみ接続する。当該実施形態では、各ブロックは16行の活性列を有し、各ビット線は、各ブロックで4行に接続する。一実施形態では、共通のビット線に接続された4行の全ては、同一ワード線(互いに接続されている同レベルの異なるワード線フィンガを介して)に接続される。したがって、システムは、ソース側選択線及びドレイン側選択線を使用して、メモリ動作(プログラム、検証、読み出し、及び/又は消去)に供される4つのうちの1つ(又は別のサブセット)を選択する。
【0037】
図4Bは、4行の垂直列を有する各領域、4領域、及びブロック内の16行の垂直列を示しているが、これらの正確な数字は例示的な実施形態である。他の実施形態は、1ブロック当たりより多くの領域又はより少ない領域、1領域当たりより多い又は少ない行の垂直列、及び1ブロック当たりより多い又は少ない行の垂直列を含むことができる。
【0038】
図4Bはまた、千鳥状の垂直列を示す。他の実施形態では、異なるパターンの千鳥配置を使用することができる。いくつかの実施形態では、垂直列は千鳥状ではない。
【0039】
図4Cは、
図4Bの線AAに沿った断面図を示す3次元メモリ構造326の一実施形態の一部を示す。この断面図は、垂直列432及び434及び領域430(
図4Bを参照)を切断する。
図4Cの構造は、ドレイン側選択ゲートに対応する4つのドレイン側選択層SGD0、SGD1、SGD2、及びSGD3と、ソース側選択ゲートに対応する4つのソース側選択層SGS0、SGS1、SGS2、SGS3と、4つのダミーワード線層DD0、DD1、DS0、及びDS1と、データメモリセルに接続するための48個のデータワード線層WLL0~WLL127と、を含む。他の実施形態は、4つより多い又は少ないドレイン側選択層と、4つより多い又は少ないソース側選択層と、4つより多い又は少ないダミーワード線層と、128個より多い又は少ないワード線層と、を実装し得る。垂直列432及び434は、ドレイン側選択層、ソース側選択層、ダミーワード線層、及びワード線層を通って突出して示される。一実施形態では、各垂直列は、NANDストリングを含む。例えば、垂直列432は、NANDストリング484を備える。垂直列及び下に列挙される層の下には、基板101、基板上の絶縁膜454、及びソース線SLが存在する。垂直列432のNANDストリングは、スタックの底部にソース端を有し、スタックの上部にドレイン端を有する。
図4Bと一致するように、
図4Cは、コネクタ418を介してビット線414に接続された垂直列432を示す。ローカルインターコネクト404及び406も示す。
【0040】
参照を容易にするために、ドレイン側選択層SGD0、SGD1、SGD2、及びSGD3、ソース側選択層SGS0、SGS1、SGS2、及びSGS3、ダミーワード線層DD0、DD1、DS0、及びDS1、並びにワード線層WLL0~WLL127は、集合的に導電層と呼ばれる。一実施形態では、導電層は、スズとタングステンの組み合わせから作製される。他の実施形態では、ドープポリシリコン、タングステンなど金属、又は金属シリサイドなど他の材料を使用して、導電層を形成することができる。いくつかの実施形態では、異なる導電層は、異なる材料から形成され得る。導電層間には、誘電体層DL0~DL141が存在する。例えば、誘電体層DL131はワード線層WLL123よりも上にあり、ワード線層WLL124よりも下にある。一実施形態では、誘電体層は、SiO2で作製される。他の実施形態では、他の誘電材料を使用して、誘電体層を形成することができる。
【0041】
不揮発性メモリセルは、スタック内で交互に存在する導電層及び誘電体層を通って延在する垂直列に沿って形成される。一実施形態では、メモリセルは、NANDストリング内に配置される。ワード線層WLL0~WLL127は、メモリセル(データメモリセルとも称される)に接続する。ダミーワード線層DD0、DD1、DS0、及びDS1は、ダミーメモリセルに接続される。ダミーメモリセルは、ホストデータ(ホストから提供されたデータ、例えばホストのユーザからのデータなど)を記憶しないが、データメモリセルは、ホストデータを記憶するのに適格である。ドレイン側選択層SGD0、SGD1、SGD2、及びSGD3は、ビット線からNANDストリングを電気的に接続し、切断するために使用される。ソース側選択層SGS0、SGS1、SGS2、及びSGS3は、ソース線SLからNANDストリングを電気的に接続し、切断するために使用される。
【0042】
図3~
図4Cの例示的なメモリシステムは、電荷トラップ材料を有する垂直NANDストリングを含む3次元メモリ構造であるが、他の(2D及び3D)メモリ構造を本明細書に記載の技術とともに使用することもできる。
【0043】
上述したメモリシステムは、消去、プログラム、及び読み出しが可能である。良好なプログラミングプロセス(検証を含む)の最後に、必要に応じて、メモリセルの閾値電圧は、プログラムされたメモリセルの閾値電圧の1つ以上の分布内、又は消去されたメモリセルの閾値電圧の分布内にあるべきである。
【0044】
図5は、
図2A~2Bのセンスブロック350などのセンスブロック500の一実施形態を示す。個々のセンスブロック500は、センスモジュール580と呼ばれるコア部分と、共通部分590とに分割され得る。一実施形態では、各ビット線に対して別個のセンスモジュール580が存在し、複数のセンスモジュール580のセットに対して1つの共通部分590が存在する。一例では、センスブロックは、1つの共通部分590と8つのセンスモジュール580とを含む。グループ内の各センスモジュールは、データバス572を介して関連する共通部分と通信する。
【0045】
センスモジュール580は、一例として、接続されたビット線内の伝導電流が所定の閾値レベルを上回るか又は下回るかどうかを判定するセンス回路570を備える。センスモジュール580はまた、接続されたビット線上に電圧状態を設定するために使用されるビット線ラッチ582を含む。例えば、ビット線ラッチ582にラッチされた所定の状態により、接続されたビット線は、プログラム禁止電圧(例えば、1.5~3V)を指定する状態にプルされることになり得る。
【0046】
共通部分590は、プロセッサ592、データラッチの例示的な組594、及びデータラッチ594の組とデータバス520との間に結合されたI/Oインターフェース596を含む。プロセッサ592は計算を実行する。例えば、プロセッサ592は、感知された記憶素子に記憶されたデータを判定し、データラッチの組内に判定されたデータを記憶し得る。プロセッサ592は、ラッチ間でデータを移動させ、ラッチ内のデータに対して演算を実行する(例えば、排他的論理和(XOR)演算などの論理演算を実行する)こともできる。データラッチ594のセットは、読み出し動作中にプロセッサ592によって決定されたデータビットを記憶するために、又はプログラム動作中にデータバス520からインポートされたデータビットを記憶するために使用され得る。インポートされたデータビットは、
図5のメモリアレイ501などのメモリアレイにプログラムされるように意図された書き込みデータを表す。I/Oインターフェース596は、データラッチ594とデータバス520との間のインターフェースを提供する。
【0047】
読み出し動作又は他の記憶素子感知動作の間、
図5の状態機械512などの状態機械は、アドレス指定された記憶素子への異なる制御ゲート電圧の供給を制御する。メモリによってサポートされる様々なメモリ状態に対応する様々な所定の制御ゲート電圧をステップ実行すると、センスモジュール580はこれらの電圧のうちの1つでトリップすることができ、出力は、データバス572を介してプロセッサ592にセンスモジュール580から提供されることになる。その時点で、プロセッサ592は、センスモジュールのトリップイベント及び入力線593を介したステートマシンからの印加された制御ゲート電圧に関する情報を考慮することによって、結果として得られるメモリ状態を判定する。それは次いで、メモリ状態のバイナリ符号化を計算し、結果として得られるデータビットをデータラッチ594内に記憶する。コア部分の別の実施形態では、ビット線ラッチ582は、センスモジュール580の出力をラッチするためのラッチ、及び上記のようなビット線ラッチの両方として役割を果たす。
【0048】
プログラミング動作中、プログラムされるべきデータは、データラッチ594のセットに記憶される。プログラム動作は、ステートマシン512の制御下で、アドレス指定された記憶素子の制御ゲートに印加される一連のプログラミング電圧パルスを含む。それぞれのプログラムパルスに続いて、記憶素子が所望のメモリ状態にプログラムされているかどうかを判断するための読み戻し(又は検証プロセス)が続く。プロセッサ592は、所望のメモリ状態に対して読み戻しメモリ状態を監視する。これら2つが一致しているとき、プロセッサ592は、ビット線が、プログラム禁止を指定する状態にプルされるように、ビット線ラッチ582を設定する。これにより、プログラムパルスがその制御ゲートに現れても、ビット線に結合された記憶素子の更なるプログラミングは禁止される。他の実施形態では、プロセッサは、最初にビット線ラッチ582をロードし、センス回路は、検証操作中にビット線ラッチを禁止値に設定する。
【0049】
データラッチ594は、センスモジュールに対応するデータラッチのスタックを含む。一実施形態では、センスモジュール580当たり3つ以上のデータラッチが存在する。データラッチはシフトレジスタとして実装されているため、そこに記憶されたパラレルデータはデータバス520のシリアルデータに変換され、逆もまた同様である。読み出し/書き込みブロックに対応する全てのデータラッチを互いにリンクさせて、データのブロックがシリアル転送によって入力又は出力され得るように、ブロックシフトレジスタを形成することができる。具体的には、読み出し/書き込みモジュールのバンクは、データラッチの組の各々が、読み出し/書き込みブロック全体のシフトレジスタの一部であるかのように、データバスの中又は外のデータをシーケンス内でシフトさせるように構成され得る。
【0050】
図6は、各メモリセルが3ビットのデータを記憶するときのメモリアレイの例示的な閾値電圧分布を示す。他の実施形態は、メモリセル当たり他のデータ容量(例えば、メモリセル当たり1、2、4、又は5ビットのデータなど)を使用し得る。2つより多いデータ状態を使用してメモリセル当たり1ビットより多いデータを記憶することは、マルチレベルセル(MLC)と呼ばれ、例えば、4つのデータ状態を使用してセル当たり2ビットを記憶することは、MLCの一例である。2つのデータ状態を使用してメモリセル当たり1ビットのデータを記憶することは、シングルレベルセル(SLC)と呼ばれる。16個のデータ状態を使用してメモリセル当たり4ビットのデータを記憶することは、クワッドレベルセル(QLC)と呼ばれる。
図6は、8つのデータ状態に対応する8つの閾値電圧分布を示す。第1の閾値電圧分布(データ状態)Erは、消去されるメモリセルを表す。他の7つの閾値電圧分布(データ状態)A~Gはプログラムされるメモリセルを表し、したがってプログラムされた状態とも呼ばれる。各閾値電圧分布(データ状態)は、データビットの組に対する所定の値に対応する。
【0051】
図6は、7つの検証基準電圧VvA、VvB、VvC、VvD、VvE、VvF、及びVvGを示す。メモリセルをデータ状態Aにプログラムする場合は、システムは、それらのメモリセルがVvA以上の閾値電圧を有するかどうかを試験する。メモリセルをデータ状態Bにプログラムする場合は、システムは、メモリセルがVvB以上の閾値電圧を有するかどうかを試験する。メモリセルをデータ状態Cにプログラムする場合は、システムは、メモリセルがVvC以上の閾値電圧を有するかどうかを判定し、同様にデータ状態Gまで続く。
【0052】
図6はまた、メモリセルからデータを読み取るための、7つの読み取り基準電圧VrA、VrB、VrC、VrD、VrE、VrF、及びVrGを示す。所定のメモリセルの閾値電圧が7つの読み出し基準電圧よりも高いか低いかを試験する(例えば、センスブロック350などのセンスブロックを使用して感知動作を実行する)ことによって、システムは、メモリセルがどのデータ状態(例えば、Er、A、B、C、・・・)にあるかを判定することができる。メモリセルにプログラムされたデータとセルの閾値電圧レベルとの間の特定の関係は、セルに採用されたデータ符号化方式に依存する。一実施形態では、データ値は、グレーコード割り当てを使用して閾値電圧範囲に割り当てられ、その結果、メモリの閾値電圧がその隣の物理状態に誤ってシフトした場合に、1ビットのみが影響を受けるようになる。
図6は、全てのデータ状態が消去状態から一緒にプログラムされることを示しているが、他の例では、特に多数のデータ状態では、プログラミングは複数の動作で実行されてもよい。
【0053】
図7は、各メモリセルが3ビットのデータを記憶するときにメモリアレイを消去する(例えば、
図6でプログラムされたメモリセルを消去する)例を示す。(例えば、それらの閾値電圧を図示の範囲に増加させることによって)データ状態A~Gにプログラムされたメモリセルは、(例えば、それらの閾値電圧を減少させることによって)消去されたデータ状態Erに戻される。消去パルスは、メモリセルに印加され得る。メモリセルは、図示されるように、消去検証電圧VvErを使用して、データ状態Erにあるとして検証され得る。メモリセルのセットは、メモリセルの全て又は実質的に全て(例えば、99%超)がVvEr未満の閾値電圧を有することが分かったときに消去されたと見なされ得る。メモリセルは、チャネルを正電圧まで充電し、消去イネーブル電圧Ven(例えば、0ボルト)をワード線に印加して、メモリセルの電荷記憶素子から電荷を移動させるのに十分な電界を生成することによって消去され得る。
【0054】
消去方式の一例では、ブロックの全てのワード線のメモリセルを並列に消去するために、消去イネーブル電圧(例えば、Ven)がブロックの全てのワード線に印加される。そのような消去方式は、全てのワード線のメモリセルを均一に消去し、均一消去又は全ワード線消去方式と呼ばれることがある。
【0055】
別の消去方式では、消去イネーブル電圧が不均一に印加される。例えば、消去イネーブル電圧Ven(例えば、0ボルト)は、ブロックのワード線の第1のサブセットに印加されてもよく、消去禁止電圧Vinh(例えば、10ボルト)は、ブロックのワード線の第2のサブセットに印加される。これにより、ワード線の第2のサブセットのメモリセルを消去することなく、ワード線の第1のサブセットのメモリセルが消去される。続いて、消去イネーブル電圧がワード線の第2のサブセットに印加され、消去禁止電圧がワード線の第1のサブセットに印加されて、ワード線の第2のサブセットのメモリセルを消去する。メモリセルを不均一に消去するそのような消去方式は、不均一消去方式と呼ばれることがある。ワード線は、任意の配列(例えば、交互配列、インターリーブ配列、又は他の配列)であり得る任意の数のサブセット(例えば、2つ、3つ、4つ、又はそれ以上のサブセット)で消去され得る。一例では、ワード線は、交互パターンで2つのサブセットにグループ化され、第1のサブセットは奇数番号のワード線を含み、第2のサブセットは偶数番号のワード線を含む。奇数ワード線と偶数ワード線を別々に消去する消去方式(不均一消去方式)は、奇偶消去方式と呼ばれることがある。
【0056】
図8A~8Cは、異なる消去プロセスにおけるワード線電圧の例を示す。
図8Aに示す全ワード線消去では、NANDストリングのチャネルがチャージアップされている間、全てのワード線が0Vなどの低い消去イネーブル電圧(Ven)に保持される。これは、メモリセルの各々に対して大きなチャネル-制御ゲート間電界を生成し、これは、トラップ層への正孔注入を駆動し、メモリセルのVthを下げる。
図8Bの奇数-偶数ワード線消去では、奇数番目のワード線はVenに保持され、偶数番目のワード線は10Vなどのより高い消去禁止電圧(Vinh)に保持され、チャネルは充電される。Venがワード線に印加されると、奇数番号のワード線に接続されたメモリセルの各々に対して大きなチャネル-制御ゲート電界が生成され、その結果、奇数番号のワード線に接続されたメモリセルが消去される。しかし、偶数番目のワード線にVinhが印加されると、チャネル-制御ゲート間の電界は消去に十分な大きさではないので、偶数番目のワード線に接続されたメモリセルは消去されない。これとは別に、奇数番目のワード線に接続されたメモリセルの消去の前又は後に、偶数番目のワード線がVenに保持され、奇数番目のワード線がVinhに保持され、チャネルがチャージアップされるので、偶数番目のワード線に接続されたメモリセルは消去されるが、奇数番目のワード線に接続されたメモリセルは消去されない(例えば、
図8C)。
【0057】
更に、奇数-偶数ワード線消去が使用される場合、検証プロセスは、奇数番号のワード線に接続されたメモリセルに対する検証試験が偶数番号のワード線に接続されたメモリセルに対する検証試験と同時に行われるように、全てのメモリセルに対する同時検証試験を含むことができる。あるいは、検証プロセスは、偶数番目のワード線に接続されたメモリセルに対する検証試験とは別に、奇数番目のワード線に接続されたメモリセルに対する検証試験を、偶数番目のワード線に接続されたメモリセルに対する検証試験の前又は後に含むことができる。
【0058】
図8Aは、全ワード線消去プロセスにおけるワード線電圧を示す。メモリセル703~714を含む、これらのワード線に接続されたメモリセルが消去されるように、例えば、Ven=0Vが、(例えば、
図4Cに以前に示されたように)データワード線WL0~WL127の全てに印加される。ダミーワード線は、Vinhを受け取ることができる。NANDのチャネル700aは、消去電圧を基板に印加することによってソース端から、及び/又はGIDLを使用してドレインから充電することができる。
【0059】
図8Bは、奇数番目のワード線消去ステップにおけるワード線電圧を示す。Ven=0Vが奇数番号のワード線、例えば、WL1、WL3・・・WL127に印加され、一方、Vinh=10Vが偶数番号のワード線、例えば、WL0、WL2・・・WL126に同時に印加される。
【0060】
図8Cは、偶数番目のワード線消去ステップにおけるワード線電圧を示す。Ven=0Vが偶数番号のワード線、例えば、WL0、WL2・・・WL126に印加され、一方、Vinh=10Vが奇数番号のワード線、例えば、WL1、WL3・・・WL127に同時に印加される。
【0061】
図8Dは、全ワード線検証プロセスにおけるワード線電圧を示す。検証電圧VvErは、NANDストリング内の電流を感知しながら、ワード線の各々に同時に印加される。全ワード線検証プロセスは、奇数-偶数検証プロセスと比較して、消費される時間の点で有益であり得る。
【0062】
図8Eは、奇数番目のワード線検証ステップにおけるワード線電圧を示す。奇数番目のワード線に接続されたメモリセルは、これらのワード線に検証電圧VvErを印加することによって検証試験が行われる。8Vなどのパス電圧Vreadが、検証試験中に偶数番目のワード線に印加されて、関連するメモリセルを強い導電状態にして、NANDストリング内の感知電流が、主に奇数番目のワード線に接続されたメモリセルの閾値電圧に基づくようにする。
【0063】
図8Fは、偶数番目のワード線検証ステップにおけるワード線電圧を示す。偶数番目のワード線に接続されたメモリセルは、これらのワード線に検証電圧VvErを印加することによって検証試験が行われる。Vreadは、検証試験中に奇数番目のワード線に印加され、関連するメモリセルを強い導電状態にして、NANDストリング内で検知される電流が主に偶数番目のワード線に接続されたメモリセルの閾値電圧に基づくようにする。奇数-偶数検証プロセスは、メモリセルが均一に消去されることを保証することができる。
【0064】
場合によっては、不揮発性メモリに接続された(例えば、コントローラ102内の)制御回路は、不揮発性メモリ内の1つ以上のブロックの状態を判定しようと試みてもよい。例えば、電力損失のためにブロックを準備するための十分な時間なしに電力が失われた場合、ブロック(例えば、電力が失われたときに書き込み又は消去動作を受けていた可能性があるブロック)の状態(例えば、書き込まれた、部分的に書き込まれた、消去された、部分的に消去された)は、不揮発性メモリに記録されない可能性があり、電力が戻った後に容易に利用可能でない可能性がある。制御回路は、個々のブロックをチェックして、それらの状態(例えば、何らかのデータがあるかどうか)を判定することができる。そのようなブロックの状態をチェックするための適切なスキームは、均一な消去スキームのみが使用される場合よりも、不均一な消去スキームが使用される場合に、より困難であり得る。
【0065】
図9A~9Dは、異なる状態(例えば、電力損失後に電力が回復された後に制御回路がブロック状態を決定しようと試みるときに遭遇し得る状態)におけるブロックの例を示す。
【0066】
図9Aは、部分的に書き込まれた(例えば、メモリ構造326内の)ブロック900の一例を示す。ブロック900の書き込まれた部分902は陰影によって示され、書き込まれていない部分904は空白として示されている。境界906は、書き込まれた部分902と書き込まれていない部分904との間に延在する。例えば、境界906のすぐ下のワード線は書き込まれてもよく、境界906のすぐ上のワード線は書き込まれなくてもよい。プログラミングは、所定の順序でワード線からワード線へ(
図9Aの下から上へ)進むことができる。
図9Aに示されるプログラミングの論理的順序は、物理的順序に対応してもしなくてもよい(例えば、プログラミングは、物理的により高いワード線から物理的により低いワード線へ、又は何らかの他の順序で進行してもよい)。プログラミングが進むにつれて、書き込まれた部分902のサイズは増加し、一方、書き込まれていない部分904のサイズは減少し、境界906はそれに応じて移動する。場合によっては、オープンブロック(まだクローズ又はフルではなく、データを書き込むために利用可能なブロック)の状態は、予期せぬ電源喪失の前に不揮発性メモリに記録されないことがある。電力が戻されると、ブロックにデータが記憶されているか否かが判定され、記憶されている場合には、書き込まれた部分と書き込まれていない部分との間の境界がどこに位置するかが判定され得る。そのようなブロックに記憶された任意のデータは、新しいロケーションに維持又はコピーされ得る。
【0067】
図9Bは、書き込まれた部分902がブロック900全体に延在するように、完全に書き込まれた(例えば、ブロック900の全てのワード線が書き込まれた)後のブロック900の例を示す。この場合、書き込まれていない部分が存在しないので、書き込み部分と書き込まれていない部分との境界は存在しない。ブロックは、完全に書き込まれたときに閉じられてもよく、閉じられたときのその状態は不揮発性メモリに記録されてもよい。
【0068】
図9Cは、書き込まれていない部分904がブロック900全体に及ぶように、完全に消去された後(例えば、ブロック900の全てのワード線が均一又は不均一消去で消去された後)のブロック900の例を示す。この場合、書き込み部分が存在しないので、書き込み部分と書き込まれていない部分との境界は存在しない。完全に消去されたブロックは、その後の使用のために(例えば、データを記憶するために)準備されてもよく、その状態は不揮発性メモリに記録されてもよい(例えば、消去ブロックプールに追加されてもよい)。場合によっては、ブロック(例えば、
図9Cに示されるようなブロック)の消去状態を記録する前に、予期せぬ電力損失が生じ得る。
【0069】
均一な(全ワード線)消去のみを使用するメモリシステムでは、書き込まれた部分と書き込まれていない部分との間の境界(例えば、境界906)の検出は、ブロックが部分的に書き込まれていることを決定するのに十分であり得る。書き込まれた部分と書き込まれていない部分との間の境界を検出することは、不均一消去(例えば、奇数-偶数消去)を使用するメモリシステムにおいて部分的に書き込まれたブロックを示すのに十分ではない場合がある。
【0070】
図9Dは、奇数-偶数消去中の中間段階(例えば、
図8Bの奇数ワード線消去ステップの後、
図8Cの偶数ワード線消去ステップの前)におけるブロック900の一例を示す。奇数ワード線(例えば、WL1、WL3、WL5・・・)は消去される(書き込まれない)一方で、偶数ワード線(例えば、WL0、WL2、WL4・・・)は消去されない(書き込まれる)。この交互パターンは、書き込まれた部分と書き込まれていない部分との間に複数の境界を生成する。例えば、
図9Dは、WL4(書き込み済み)とWL(未書き込み)との間の境界908に加えて、WL2(書き込み済み)とWL3(未書き込み)との間の境界910を示す。
図9Dのブロック900の奇数ワード線消去は、書き込まれた部分と書き込まれていない部分との間に11個のそのような境界を提供する。他の不均一消去方式では、そのような境界の数及び位置は異なってもよい。複数の境界を有する書き込まれた部分及び書き込まれていない部分のパターン(例えば、
図9D又はその他に示されるような)は、消去アボート(例えば、奇数-偶数消去中の電力損失)の結果として生じる場合があり、ブロックの状態を決定しようと試みるときに識別することが困難である場合がある。
【0071】
図10Aは、(例えば、
図9Aに示されるように)部分的に書き込まれたときのブロック900における境界の二分探索の例を示す。二分探索は、最後の論理ワード線(WL11)をチェックして(例えば、読み出し動作又は検証動作を実行して)、ブロックが完全に書き込まれているかどうかを判定することによって開始する。WL11が書き込まれていないと判定したことに応答して、ブロックの中央のワード線(WL5)がチェックされる。WL5が書き込まれていないと判定したことに応答して、WL5の下のブロックの残りの部分の中央のワード線(この例ではWL2)がチェックされる。WL2が書き込まれている(WL2とWL5との間のどこかの境界を示す)という決定に応答して、残りの部分の中央のワード線(この例ではWL4)がチェックされる。WL4が書き込まれたと判定したことに応答して、境界906がWL4とWL5との間に位置すると判定される。それに応答して、書き込みアボートが発生し、WL0~WL4に記憶されたデータが別のブロックにコピーされ得ると仮定され得る。
【0072】
図10Bは、(例えば、
図8Bの奇数ワード線消去ステップの後であって、
図8Cの偶数ワード線消去ステップの前に)ブロック900が不均一消去によって部分的に消去されたときの、ブロック900における境界の二分探索の一例を示す。二分探索は、最後の論理ワード線(WL11)をチェックして(例えば、読み出し動作又は検証動作を実行して)、ブロックが完全に書き込まれているかどうかを判定することによって開始する。WL11が書き込まれていないと判定したことに応答して、ブロックの中央のワード線(WL5)がチェックされる。WL5が書き込まれていないと判定したことに応答して、WL5の下のブロックの残りの部分の中央のワード線(WL2)がチェックされる。WL2が書き込まれている(WL2とWL5との間のどこかの境界を示す)という決定に応答して、残りの部分の中央のワード線(この例ではWL4)がチェックされる。WL4が書き込まれたと判定したことに応答して、境界906がWL4とWL5との間に位置すると判定される(
図10Aと同じ結果)。それに応答して、書き込みアボートが発生し、WL0~WL4に記憶されたデータが別のブロックにコピーされ得ると仮定され得る。しかしながら、
図10Bに示すシナリオでは、WL0~WL4には有効なデータが配置されていない(WL0及びWL3は消去されているが、WL0、WL2及びWL4は古いデータしか有していない)。部分的に書き込まれたブロックのそのような誤識別は、不要なデータの不必要なコピーをもたらし、予期せぬ電力損失から回復する時間に影響を与える可能性があるため、望ましくない可能性がある。
【0073】
本技術の態様は、アボートされた不均一消去(例えば、奇数-偶数消去)において部分的に消去されたブロックを識別することを含む、ブロックの状態を正確かつ効率的に決定するための技法を対象とする。
【0074】
図11A~11Bは、部分的に消去されたブロック(例えば、部分的に不均一な消去の後)と部分的に書き込まれたブロック(例えば、書き込みアボートの後)とを区別することを含む、ブロック900の状態を判定するための方式の例を示す。
図11Aは、奇数ワード線のみが消去された、部分的な不均一消去後のブロック900を示す。境界を検出するために、最初に(
図10A~10Bに示すように)二分探索が使用される。WL11から始まり、次いでWL5(両方とも消去済み又は未書き込み)、次いでWL2及びWL4(両方とも書き込み済み)である。WL4は書き込み済みであり、WL5は未書き込みであるので、WL4とWL5との間に境界906(第1の境界)があると判定される。ブロック900の条件を更に識別するために、
図11Aは、二分探索によって見つかった最後に書き込まれたワード線WL4にすぐ隣接するワード線(この例ではWL3)をチェックして、それが書き込まれているか書き込まれていないかを確認する(例えば、WL4の下の第2の境界を探索する)ことを示す。テストワード線WL3は書き込まれておらず、第2の境界1150がWL3とWL4との間に位置するので、ブロック900は部分的に消去されていると判定され、ブロック900はそれに応じて処理されてもよい(例えば、データで満たすこと及び/又は消去を完了することを含んでもよい使用のために準備されてもよい)。
【0075】
図11Aで使用されるアプローチは、二分探索を使用して、書き込まれた部分と書き込まれていない部分との間の第1の境界を見つけ、次いで、二分探索によって見つけられた最後に書き込まれたワード線の下(書き込まれた側)のテストワード線をチェックして、不均一な消去を示すことになる第2の境界があるかどうかを確認する。この例で選択されたテストワード線(WL3)は、この例では、二分探索で見つかった最後に書き込まれたワード線(WL4)に直接隣接している(例えば、1ワード線だけオフセットされている)。1つのワード線のオフセットは、奇数-偶数消去を使用するメモリシステムに適切であり得る。他の例では(例えば、他の不均一な消去を使用して)、第2の境界の探索は、別様に実行され得る。例えば、不均一な消去をテストするために使用されるテストワード線(又は複数のワード線)は、異なって選択されてもよい(例えば、異なる量だけオフセットされる)。
【0076】
図11Bは、WL0~WL4に沿って有効なデータが部分的に書き込まれた(例えば、書き込みアボート後)ブロック900を示す。境界を検出するために、同じ二分探索が最初に使用される(
図11Aと同じ)。WL11から始まり、次にWL5(両方とも消去済み又は未書き込み)、次にWL2及びWL4(両方とも書き込み済み)である。WL4は書き込まれており、WL5は書き込まれていないので、WL2とWL5との間に境界906があると判定される。
図11Bは、二分探索によって見つかった最後に書き込まれたワード線WL4にすぐ隣接するワード線(この例ではWL3)をチェックして、それが書き込まれているか書き込まれていないかを確認する(例えば、WL4の下の第2の境界を探索する)ことを示す。WL3が書き込まれているので、第2の境界はWL3とWL4との間に位置せず、ブロック900は部分的に書き込まれていると判定される。ブロック900は、それに応じて処理され得る(例えば、WL5~WL11に追加のデータを書き込むこと、又はWL0~WL4から別のブロックに有効なデータをコピーすることを含み得る、使用のために準備され得る)。
【0077】
図12Aは、
図11A~11Bに示される実装形態に対する代替実装形態を示す。最初に(
図11Aに示すように)二分探索を使用して境界を検出する。WL11から開始し、次にWL5(両方とも消去済み又は未書き込み)、次にWL2(書き込み済み)である。WL2は書き込まれ、WL5は書き込まれていないので、WL2とWL5との間に境界(例えば、境界906)が存在しなければならないが、その位置はこの時点では決定されない。二分探索は、少なくとも1つの書き込まれたワード線及び少なくとも1つの書き込まれていないワード線(必ずしも境界の正確な位置ではない)を識別することによって境界を検出することができる。境界の位置を決定するために二分探索を継続する(例えば、
図11AのようにWL4をチェックする)のではなく、
図11Bは、WL2(WL1)に直接隣接するワード線をチェックして、それが書き込まれているか書き込まれていないかを確認する(例えば、WL2の下の第2の境界を検索する)ことを示す。WL1は書き込まれていないので、第2の境界1150がWL1とWL2との間に位置し、ブロック900が部分的に消去されていると判定される。ブロック900は、それに応じて処理されてもよい(例えば、データで満たすこと及び/又は消去を完了することを含んでもよい使用のために準備されてもよい)。したがって、この例では、二分探索は、第2の境界をチェックする前に完了しない(例えば、第1の境界の位置が正確に決定されない)。
【0078】
図12Bは、WL0~WL4に沿って有効データが部分的に書き込まれる(例えば、書き込みアボート後に)ときにブロック900に適用される
図12Aと同じ実装形態を示す。境界を検出するために、同じ二分探索が最初に使用される(
図12Aと同じ)。WL11から始まり、次にWL5(両方とも消去済み又は未書き込み)、次にWL2(書き込み済み)である。WL2が書き込まれ、WL5が書き込まれていないので、WL2とWL5との間に境界(例えば、境界906)がなければならない。境界の位置を決定するために二分探索を直ちに継続するのではなく、
図12Bは、WL2に直接隣接するワード線(WL1)をチェックして、それが書き込まれているか書き込まれていないかを確認する(例えば、WL2の下の第2の境界をサーチする)ことを示す。WL1が書き込まれているので、第2の境界はWL1とWL2との間に位置せず、ブロック900は部分的に書き込まれていると判定される。次いで、WL2とWL5との間を探索することによって、二分探索が継続され得る。WL4をチェックすることは、WL4が書き込まれていることを示し、このことから、境界906がWL4とWL5との間にあると判定することができる。これは、ブロック900のWL0~WL4に有効なデータが存在することを示す。ブロック900はそれに応じて処理されてもよい(例えば、ブロック900を消去する前に、有効データがWL0~WL4からコピーされてもよい)。
【0079】
図13は、不揮発性メモリのオープンブロックを識別すること(1360)と、(例えば、オープンブロックの二分探索を実行することによって)オープンブロックの書き込まれた部分と書き込まれていない部分との間の第1の境界を検出すること(1362)とを含む方法の一例を示す。本方法は、その後、オープンブロックの書き込まれた部分と書き込まれていない部分との間の第1の境界を検出したことに応答して、オープンブロックの書き込まれた部分と書き込まれていない部分との間の第2の境界をチェックして、オープンブロックが不均一消去動作を受けたかどうかを判定すること(1364)(例えば、検出された書き込み済みワード線から所定のオフセットであるテストワード線をチェックするステップ)を更に含む。
【0080】
図14は、第1の境界を見つけるために二分探索を実行すること(1470)を含む、電力損失後に回復する方法の例を示す。境界が検出されたかどうかについての決定がなされる(1472)(第1の境界は、この時点では正確に位置付けられていない可能性がある)。ステップ1472において境界が検出されない場合、本方法は、ブロックを消去アボートブロックとして扱うこと(1474)を含む(例えば、ブロックが完全に消去され、書き込みのために利用可能にされるか、又はそれに応じて更に消去されるかを確認するためにブロックがチェックされてもよい)。境界(第1の境界)が検出された場合、本方法は、第2の境界をチェックすること(1476)と、第2の境界が存在するかどうかを判定すること(1478)とを含む。例えば、(プログラミングの論理的順序で)書き込まれたワード線の下にあるテストワード線をチェックして、それが書き込まれていないかどうかを確認することができる。第2の境界が存在しない場合、ブロックはプログラムアボートブロックとして扱われ(1480)、これは、プログラムされていないワード線のプログラミングを継続すること、又は有効なデータを別のブロックにコピーすることを含み得る。第2の境界が存在する場合、ブロックは消去アボートブロック(例えば、不均一消去において部分的に消去されたブロック)として扱われる(1482)。例えば、オープンブロックが不均一消去動作を受けたと判定したことに応答して、オープンブロックからデータをコピーすることなく、ブロックを消去のために準備することができる。
【0081】
図15は、最後の論理ワード線から開始してオープンブロックに対して二分探索を実行することを含む、電力損失後に回復する方法の一例を示す(1570)。例えば、
図8A~8FのWL127又はブロック900のWL11(ここで、ワード線は、0から始まる番号に従ってプログラムされ、例えば、WL0、WL1、WL2・・・)である。最後にプログラムされたワード線が見つかったか否かの判定が行われる(1572)(例えば、書き込まれた部分と書き込まれていない部分との間に境界が存在するか否かの判定)。最後にプログラムされたワード線が見つからない場合、ブロックは消去アボートブロックとして扱われる(1574)(例えば、偶数ワード線及び奇数ワード線の両方が少なくとも部分的に消去された後の均一消去アボート又は奇数-偶数消去アボート)。これは、第1のワード線(プログラミングの順序における第1のワード線、例えば、WL0)が消去されるかどうかに関する判定を行うこと(1576)を含む。第1のワード線が完全に消去される場合、ブロックは、新しいブロックとしてプログラミングのために利用可能にされ得る(1578)(例えば、プログラミングのために利用可能である完全に消去されたブロックとして扱われる)。第1のワード線が完全に消去されていない場合、ブロックは、プログラミング前にフラッシュ充填及び解放されてもよい(1580)。ステップ1576、1578、及び1580は、ブロックを消去アボートブロックとして扱う例を提供する(1574)。他の処理も可能である。
【0082】
最後にプログラムされたワード線が見つかると(1572)、本方法は、テストワード線を選択すること(1581)と、テストワード線が消去されたかどうかを判定すること(1582)とを含む。例えば、テストワード線は、最後にプログラムされたワード線から所定のオフセット(例えば、奇数-偶数消去を使用するシステムに対して1ワード線オフセット)であってもよい。テストワード線が消去される場合、ブロックは、部分的に消去されたブロック(例えば、奇数-偶数消去などの不均一消去によって部分的に消去されたブロック)として扱われる(1584)。この例では、ブロックはフラッシュ充填され、解放される(1586)。他の例では、部分的に消去されたブロックは、別様に扱われ得る。テストワード線が消去されている場合、本方法は、有効データを有するプログラムアボートブロックとしてブロックを扱うことを含む(1588)。
【0083】
上述の方法(例えば、
図11A~15)は、適切に構成された制御回路によるものを含む、任意の適切な方法で実装されてもよい。制御回路310は、単独で又は読み取り/書き込み回路328及びデコーダ324/332と組み合わせて、メモリ構造326に対して1つ以上の制御回路を備える。この1つ以上の制御回路は、フロー図において以下に記載される機能を実行する電気回路である。他の実施形態では、1つ以上の制御回路は、ソフトウェアと組み合わせた電気回路であるコントローラ102のみからなることができ、これはフロー図において以下に記載される機能を実行する。別の代替的な実施形態では、1つ以上の制御回路は、コントローラ102、及びフロー図において以下に記載される機能を実行する制御回路310を備える。別の実施形態では、1つ以上の制御回路は、ステートマシン312(又はマイクロコントローラ又はマイクロプロセッサ)を単独で、又はコントローラ102と組み合わせて備える。(例えば、ハードウェア構成又はハードウェア構成とソフトウェア構成の組み合わせによって)適切に構成された任意のそのような制御回路は、オープンブロックの書き込まれた部分と書き込まれていない部分との間の第1の境界を検出し、第1の境界の検出に応答して、オープンブロックの書き込まれた部分と書き込まれていない部分との間の第2の境界をチェックして、オープンブロックが不均一消去動作を受けたかどうかを判定するための手段の例と見なされ得る。
【0084】
装置の一例は、複数の不揮発性メモリセルに接続するように構成された1つ又は複数の制御回路を含む。1つ又は複数の制御回路は、オープンブロックの書き込まれた部分と書き込まれていない部分との間の第1の境界を検出するように構成され得る。また、第1の境界の検出に応答して、オープンブロックの書き込まれた部分と書き込まれていない部分との間の第2の境界をチェックして、オープンブロックが不均一消去動作を受けたかどうかを判定するように更に構成されてもよい。
【0085】
1つ又は複数の制御回路は、少なくとも1つの書き込まれたワード線が識別され、少なくとも1つの書き込まれていないワード線が識別されるまで、オープンブロックのワード線の二分探索を実行することによって第1の境界を検出するように構成され得る。1つ又は複数の制御回路は、検出された書き込まれたワード線から所定のオフセットであるテストワード線を読み取ることによって、第2の境界をチェックするように構成され得る。不均一消去動作は、奇数ワード線と偶数ワード線とを別々に消去する奇数-偶数消去動作であってもよく、テストワード線は、検出された書き込まれたワード線に直接隣接してもよい。1つ又は複数の制御回路は、テストワード線が消去されたと判定したことに応答して、オープンブロックからデータをコピーすることなく、消去のためにオープンブロックを準備するように構成され得る。1つ又は複数の制御回路は、オープンブロックの書き込まれた部分と書き込まれていない部分との間に第2の境界が見つからないことに応答して、第1の境界の位置を見つけるように更に構成され得る。1つ又は複数の制御回路は、オープンブロックの書き込まれた部分と書き込まれていない部分との間に第2の境界が見つからない場合、第1の境界の書き込まれた側のデータをオープンブロックから別のブロックにコピーするように更に構成され得る。1つ又は複数の制御回路は、オープンブロックが不均一消去動作を受けたと判定したことに応答して、オープンブロックからデータをコピーすることなく、消去のためにオープンブロックを準備するように構成され得る。1つ以上の制御回路は、複数の不揮発性メモリセルを含むメモリダイに接続されるように構成された制御ダイ上に配置されてもよい。
【0086】
方法の一例は、不揮発性メモリのオープンブロックを識別するステップと、オープンブロックの書き込まれた部分と書き込まれていない部分との間の第1の境界を検出するステップと、その後、オープンブロックの書き込まれた部分と書き込まれていない部分との間の第1の境界の検出に応答して、オープンブロックの書き込まれた部分と書き込まれていない部分との間の第2の境界をチェックして、オープンブロックが不均一消去動作を受けたかどうかを判定するステップとを含む。
【0087】
第1の境界を検出することは、少なくとも1つの書き込まれたワード線が識別され、少なくとも1つの書き込まれていないワード線が識別されるまで、オープンブロックのワード線の二分探索を実行することを含み得る。第2の境界をチェックすることは、検出された書き込まれたワード線から所定のオフセットであるテストワード線を読み取ることを含み得る。不均一消去動作は、奇数ワード線と偶数ワード線とを別々に消去する奇数-偶数消去動作であってもよく、テストワード線は、検出された書き込まれたワード線に直接隣接してもよい。本方法は、テストワード線が消去されたと判定したことに応答して、オープンブロックからデータをコピーすることなく、消去のためにオープンブロックを準備することを更に含み得る。本方法は、オープンブロックの書き込まれた部分と書き込まれていない部分との間に第2の境界が見つからないことに応答して、第1の境界の位置を見つけるステップを更に含むことができる。本方法は、オープンブロックの書き込まれた部分と書き込まれていない部分との間に第2の境界が見つからないことに応答して、第1の境界の書き込み済み側のデータをオープンブロックから別のブロックにコピーするステップを更に含むことができる。本方法は、オープンブロックが不均一消去動作を受けたと判定することに応答して、オープンブロックからデータをコピーすることなく、消去のためにオープンブロックを準備することを更に含み得る。
【0088】
データ記憶システムの一例は、ブロックに配列された複数の不揮発性メモリセルと、オープンブロックの書き込まれた部分と書き込まれていない部分との間の第1の境界を検出し、第1の境界の検出に応答して、オープンブロックの書き込まれた部分と書き込まれていない部分との間の第2の境界をチェックして、オープンブロックが不均一消去動作を受けたかどうかを判定する手段とを含む。
【0089】
不均一消去動作は、奇数ワード線及び偶数ワード線を別々に消去する奇数-偶数消去動作であってもよく、書き込まれた部分と書き込まれていない部分との間の第2の境界をチェックすることは、書き込まれていると判定されたワード線のすぐ隣に位置するテストワード線をチェックすることを含んでもよい。複数の不揮発性メモリセルは、メモリダイ上に配置されてもよく、第1の境界を検出するための手段は、メモリダイに接続された制御ダイ上に配置されてもよい。
【0090】
本明細書の目的のために、明細書中の「実施形態」、「一実施形態」、「いくつかの実施形態」又は「別の実施形態」に対する言及は、異なる実施形態又は同一の実施形態について記述するために使用されることがある。
【0091】
本明細書の目的のために、接続とは、直接的な接続又は間接的な接続(例えば、1つ以上の他の部分を介して)であり得る。場合によっては、ある要素が別の要素に接続されるか又は結合されると言及される場合、この要素は、他の要素に直接的に接続されてもよく、又は、介在要素を介して他の要素に間接的に接続されてもよい。ある要素が別の要素に直接的に接続されていると言及される場合、この要素と他の要素との間には介在要素は存在しない。2つのデバイスは、それらが互いの間で電子信号を交換することができるように直接的に又は間接的に接続されている場合、「通信状態」にある。
【0092】
本明細書の目的のために、「基づいて」という用語は、「少なくとも部分的に基づいて」と読むことができる。
【0093】
本明細書の目的のために、追加の文脈がない、「第1の」物体、「第2の」物体、及び「第3の」物体などの数値的な用語の使用は、物体の順序を示唆するものではなく、代わりに、異なる物体を識別するための識別目的で使用されることがある。
【0094】
本明細書の目的のために、物体の「組」という用語は、物体のうちの1つ以上の物体の「組」を指すことがある。
【0095】
前述の詳細な説明は、例示及び説明の目的のために提示されている。前述の詳細な説明は、網羅的であること、又は開示された正確な形態に限定することを意図したものではない。多くの修正形態及び変形形態が、上記の教示に鑑みて可能である。説明した実施形態は、提案した技術の原理及びその実際の用途を最もよく説明するために選択されたものであり、それによって、当業者が様々な実施形態で、企図される特定の使用法に適するように様々な修正を伴って、この技術を最も良いように利用することを可能にする。本範囲は、本明細書に添付の請求項によって定義されることが意図されている。
【外国語明細書】