JP2023554144A - メモリデバイス、メモリデバイスを動作させるための方法、メモリシステム - Google Patents
メモリデバイス、メモリデバイスを動作させるための方法、メモリシステム Download PDFInfo
- Publication number
- JP2023554144A JP2023554144A JP2023537895A JP2023537895A JP2023554144A JP 2023554144 A JP2023554144 A JP 2023554144A JP 2023537895 A JP2023537895 A JP 2023537895A JP 2023537895 A JP2023537895 A JP 2023537895A JP 2023554144 A JP2023554144 A JP 2023554144A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- programming
- plane
- voltage
- planes
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 623
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000004044 response Effects 0.000 claims abstract description 55
- 238000012795 verification Methods 0.000 claims description 60
- 230000002093 peripheral effect Effects 0.000 claims description 39
- 230000007547 defect Effects 0.000 description 9
- 230000002950 deficient Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000007847 structural defect Effects 0.000 description 7
- 238000012937 correction Methods 0.000 description 4
- 101100058964 Arabidopsis thaliana CALS5 gene Proteins 0.000 description 3
- 102100031885 General transcription and DNA repair factor IIH helicase subunit XPB Human genes 0.000 description 3
- 101000920748 Homo sapiens General transcription and DNA repair factor IIH helicase subunit XPB Proteins 0.000 description 3
- 101100049574 Human herpesvirus 6A (strain Uganda-1102) U5 gene Proteins 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 101150064834 ssl1 gene Proteins 0.000 description 3
- 101100058970 Arabidopsis thaliana CALS11 gene Proteins 0.000 description 2
- 101100341076 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) IPK1 gene Proteins 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 241000473391 Archosargus rhomboidalis Species 0.000 description 1
- 241000255925 Diptera Species 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229920013655 poly(bisphenol-A sulfone) Polymers 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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
-
- 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/5621—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 storage in a floating gate
- G11C11/5628—Programming or writing circuits; 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
-
- 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
-
- 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/08—Address circuits; Decoders; Word-line control 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/32—Timing 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/025—Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
実施形態は、メモリ、メモリを動作させるための方法、およびメモリシステムを提供し、メモリを動作させるための方法は、マルチプレーン・プログラミング方式を採用することによってメモリのうちの少なくとも2つのメモリプレーン上でプログラミング動作を同時実行することと、プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、シングルプレーン・プログラミング方式を採用することによって少なくとも2つのメモリプレーン上でプログラミング動作を順次実行することと、を含む。
Description
本開示の実施形態は、半導体の分野に関し、より詳細には、メモリ、方法を動作させるための方法、およびメモリシステムに関する。
メモリのメモリセルアレイの構造構成によれば、メモリをシングルプレーン型とマルチプレーン型とに分類できる。シングルプレーン型のメモリは、1つのメモリプレーンを有する。マルチプレーン型のメモリは、複数のメモリプレーンを含む。マルチプレーン型のメモリの場合、マルチプレーン・プログラミング方式を使用して、メモリの2つ以上のメモリプレーン上でプログラミング動作を同時実行し、プログラミング効率を改善できる。
マルチプレーン・プログラミング方式を採用することで、プログラミング効率を向上させることができるが、必然的に隣接プレーン干渉の問題がある。例えば、マルチプレーン・プログラミング方式の場合、1つのメモリプレーンでプログラミング障害が発生すると、同時にプログラミングされる他の複数のメモリプレーンでプログラミング障害が発生することが多い。したがって、一定のプログラミング効率を確保しつつ、隣接干渉の悪影響を低減するプログラミング方法を提供することが急務である。
既存の技術的問題の1つまたは複数を解決するために、本開示の実施形態は、メモリ、メモリを動作させるための方法、およびメモリシステムを提供する。
本開示の実施形態は、メモリを動作させるための方法を提供し、本方法は、マルチプレーン・プログラミング方式を採用することによってメモリの少なくとも2つのメモリプレーン上でプログラミング動作を同時実行することと、プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、シングルプレーン・プログラミング方式を採用することによって少なくとも2つのメモリプレーン上でプログラミング動作を順次実行することとを含む。
前述の実施形態において、シングルプレーン・プログラミング・モードを採用することによって少なくとも2つのメモリプレーンの各々でプログラミング動作を順次実行し続けることは、
シングルプレーン・プログラミング・モードの採用に応答して、少なくとも2つのメモリプレーンの各々について、それぞれのメモリプレーン上の第1の選択ワード線上に第1のプログラミング電圧を印加することを含み、
第1のプログラミング電圧は、第2のプログラミング電圧よりも小さくてもよく、第2のプログラミング電圧は、プログラミング例外を有すると判定されるそれぞれのメモリプレーン上の第1の選択ワード線に印加されるプログラミング電圧であってもよく、第1の選択ワード線は、プログラミング例外を有すると判定されるそれぞれのメモリプレーン上の選択ワード線であってもよい。
シングルプレーン・プログラミング・モードの採用に応答して、少なくとも2つのメモリプレーンの各々について、それぞれのメモリプレーン上の第1の選択ワード線上に第1のプログラミング電圧を印加することを含み、
第1のプログラミング電圧は、第2のプログラミング電圧よりも小さくてもよく、第2のプログラミング電圧は、プログラミング例外を有すると判定されるそれぞれのメモリプレーン上の第1の選択ワード線に印加されるプログラミング電圧であってもよく、第1の選択ワード線は、プログラミング例外を有すると判定されるそれぞれのメモリプレーン上の選択ワード線であってもよい。
前述の実施形態において、本方法は、
それぞれのメモリプレーンの第1の選択ワード線に第1のプログラミング電圧を印加することに応答して、それぞれのメモリプレーン上の非選択ワード線に第1のターンオン電圧を印加することをさらに含み、第1のターンオン電圧は第2のターンオン電圧よりも小さくてもよく、第2のターンオン電圧は、プログラミング例外を有すると判定されたそれぞれのメモリプレーン上の非選択ワード線に印加されるターンオン電圧であってもよい。
それぞれのメモリプレーンの第1の選択ワード線に第1のプログラミング電圧を印加することに応答して、それぞれのメモリプレーン上の非選択ワード線に第1のターンオン電圧を印加することをさらに含み、第1のターンオン電圧は第2のターンオン電圧よりも小さくてもよく、第2のターンオン電圧は、プログラミング例外を有すると判定されたそれぞれのメモリプレーン上の非選択ワード線に印加されるターンオン電圧であってもよい。
前述の実施形態において、プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定することは、
少なくとも2つのメモリプレーン内の現在プログラムされているメモリセル上でプログラミング検証が実行される回数を検出することと、
書き込まれるべき現在のデータに対応する事前設定された回数を超えるプログラミング検証が行われた回数に応答して、プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定することと、を含む。
少なくとも2つのメモリプレーン内の現在プログラムされているメモリセル上でプログラミング検証が実行される回数を検出することと、
書き込まれるべき現在のデータに対応する事前設定された回数を超えるプログラミング検証が行われた回数に応答して、プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定することと、を含む。
前述の実施形態において、本方法は、
異なる電圧源を使用することによって、異なるメモリプレーン内の現在プログラムされているメモリセルに検証電圧をプログラムすることを、さらに含む。
異なる電圧源を使用することによって、異なるメモリプレーン内の現在プログラムされているメモリセルに検証電圧をプログラムすることを、さらに含む。
前述の実施形態において、本方法は、
異なる電圧源を使用することによって、同一メモリプレーン上の異なるワード線にそれぞれ対応するメモリセルにプログラミング検証電圧を印加することを、さらに含む。
異なる電圧源を使用することによって、同一メモリプレーン上の異なるワード線にそれぞれ対応するメモリセルにプログラミング検証電圧を印加することを、さらに含む。
前述の実施形態において、プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、シングルプレーン・プログラミング・モードを採用することによって少なくとも2つのメモリプレーンの各々でプログラミング動作を順次実行し続けることは、
プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、シングルプレーン・プログラミング・モードを直接採用することによって少なくとも2つのメモリプレーンの各々でプログラミング動作を順次実行し続けることか、または、
プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、プログラミング動作を一時停止することと、かつ、第2の命令を受信した後に、シングルプレーン・プログラミング・モードを採用することによって少なくとも2つのメモリプレーンの各々でプログラミング動作を順次実行し続けることと、を含む。
プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、シングルプレーン・プログラミング・モードを直接採用することによって少なくとも2つのメモリプレーンの各々でプログラミング動作を順次実行し続けることか、または、
プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、プログラミング動作を一時停止することと、かつ、第2の命令を受信した後に、シングルプレーン・プログラミング・モードを採用することによって少なくとも2つのメモリプレーンの各々でプログラミング動作を順次実行し続けることと、を含む。
前述の実施形態において、本方法は、
プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、第1のフラグを格納することと、
第1の命令を受信した後に、プログラミング例外が存在するメモリプレーンに割り当てられたデータをメモリ内の他のメモリプレーンに格納することであって、第1の命令は、第1のフラグに対応するメモリプレーンに格納されたデータをダンプするように命令するように構成され得る、格納することと、をさらに含む。
プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、第1のフラグを格納することと、
第1の命令を受信した後に、プログラミング例外が存在するメモリプレーンに割り当てられたデータをメモリ内の他のメモリプレーンに格納することであって、第1の命令は、第1のフラグに対応するメモリプレーンに格納されたデータをダンプするように命令するように構成され得る、格納することと、をさらに含む。
前述の実施形態において、シングルプレーン・プログラミング・モードを採用することによって少なくとも2つのメモリプレーンの各々でプログラミング動作を順次実行し続けることは、
少なくとも2つのメモリプレーンのうちの第1のメモリプレーン上でプログラミング動作を実行し続けることと、
第1のメモリプレーンに対するプログラミング動作が失敗した、または完了したと判定したことに応答して、少なくとも2つのメモリプレーンのうちの第2のメモリプレーン上でプログラミング動作を実行し続けることと、を含む。
少なくとも2つのメモリプレーンのうちの第1のメモリプレーン上でプログラミング動作を実行し続けることと、
第1のメモリプレーンに対するプログラミング動作が失敗した、または完了したと判定したことに応答して、少なくとも2つのメモリプレーンのうちの第2のメモリプレーン上でプログラミング動作を実行し続けることと、を含む。
前述の実施形態において、本方法は、
プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーンに存在しないと判定したことに応答して、マルチプレーン・プログラミング・モードを採用することによって少なくとも2つのメモリプレーン上でプログラミング動作を実行し続けることを、さらに含む。
プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーンに存在しないと判定したことに応答して、マルチプレーン・プログラミング・モードを採用することによって少なくとも2つのメモリプレーン上でプログラミング動作を実行し続けることを、さらに含む。
本開示の実施形態は、メモリプレーンと、メモリプレーンに結合された周辺回路とを含むメモリを提供し、周辺回路は、マルチプレーン・プログラミング方式を採用することによってメモリの少なくとも2つのメモリプレーン上でプログラミング動作を同時実行し、プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、シングルプレーン・プログラミング方式を採用することによって少なくとも2つのメモリプレーン上でプログラミング動作を順次実行するように構成される。
上述の実施形態において、周辺回路は、制御回路および行ドライバを含んでもよく、行ドライバは、少なくとも2つのメモリプレーンに結合され、制御回路によって制御され、
行ドライバは、マルチプレーン・プログラミング・モードにおいて、プログラミング動作が同時実行される少なくとも2つのメモリプレーンにワード線駆動電圧を印加するように構成されてもよく、
行ドライバは、シングルプレーン・プログラミング・モードにおいて、ワード線駆動電圧を選択メモリプレーンに印加するように、さらに構成されてもよい。
行ドライバは、マルチプレーン・プログラミング・モードにおいて、プログラミング動作が同時実行される少なくとも2つのメモリプレーンにワード線駆動電圧を印加するように構成されてもよく、
行ドライバは、シングルプレーン・プログラミング・モードにおいて、ワード線駆動電圧を選択メモリプレーンに印加するように、さらに構成されてもよい。
前述の実施形態において、行ドライバは、少なくとも2つのメモリプレーンの各々について、マルチプレーン・プログラミング・モードからシングルプレーン・プログラミング・モードに切り替えた後に、それぞれのメモリプレーン上の第1の選択ワード線に第1のプログラミング電圧を印加するように構成される。
第1のプログラミング電圧は、第2のプログラミング電圧よりも小さくてもよく、第2のプログラミング電圧は、プログラミング例外を有すると判定されたそれぞれのメモリプレーン上の第1の選択ワード線に印加されるプログラミング電圧であってもよく、第1の選択ワード線は、プログラミング例外を有すると判定されたそれぞれのメモリプレーン上の選択ワード線であってもよい。
前述の実施形態において、行ドライバは、それぞれのメモリプレーンの第1の選択ワード線上に第1のプログラミング電圧を印加することに応答して、それぞれのメモリプレーン上の非選択ワード線に第1のターンオン電圧を印加するようにさらに構成されてもよく、第1のターンオン電圧は、第2のターンオン電圧よりも小さくてもよく、第2のターンオン電圧は、プログラミング例外を有すると判定されたそれぞれのメモリプレーン上の非選択ワード線に印加されるターンオン電圧であってもよい。
前述の実施形態において、周辺回路は、
少なくとも2つのメモリプレーン内の現在プログラムされているメモリセル上で実行されたプログラミング検証の数を検出し、
書き込まれるべき現在のデータに対応する事前設定された回数を超えるプログラミング検証の数に応答して、プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定するように、さらに構成される。
少なくとも2つのメモリプレーン内の現在プログラムされているメモリセル上で実行されたプログラミング検証の数を検出し、
書き込まれるべき現在のデータに対応する事前設定された回数を超えるプログラミング検証の数に応答して、プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定するように、さらに構成される。
上述の実施形態において、周辺回路は、複数のプログラミング検証電圧生成器をさらに含んでもよく、複数のプログラミング検証電圧生成器の各々は、少なくとも2つのメモリプレーンのうちの1つにそれぞれ結合され、制御回路によって制御されてもよく、
複数のプログラミング検証電圧生成器は、異なるメモリプレーン内の現在プログラムされているメモリセルにプログラミング検証電圧をそれぞれ印加するように構成されてもよい。
複数のプログラミング検証電圧生成器は、異なるメモリプレーン内の現在プログラムされているメモリセルにプログラミング検証電圧をそれぞれ印加するように構成されてもよい。
前述の実施形態において、複数のプログラミング検証電圧生成器の各々は、少なくとも2つのメモリプレーンのうちの1つのワード線にそれぞれ結合されてもよく、
複数のプログラミング検証電圧生成器は、同一メモリプレーン上の異なるワード線に対応するメモリセルに、プログラミング検証電圧をそれぞれ印加するように構成されていてもよい。
複数のプログラミング検証電圧生成器は、同一メモリプレーン上の異なるワード線に対応するメモリセルに、プログラミング検証電圧をそれぞれ印加するように構成されていてもよい。
前述の実施形態において、周辺回路は、プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、シングルプレーン・プログラミング・モードを直接採用することによって少なくとも2つのメモリプレーンの各々でプログラミング動作を順次実行し続けるように構成されてもよく、
または、
周辺回路は、プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、プログラミング動作を一時停止し、かつ、第2の命令を受信した後に、シングルプレーン・プログラミング・モードを採用することによって少なくとも2つのメモリプレーンの各々でプログラミング動作を順次実行し続けるように、さらに構成されてもよい。
または、
周辺回路は、プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、プログラミング動作を一時停止し、かつ、第2の命令を受信した後に、シングルプレーン・プログラミング・モードを採用することによって少なくとも2つのメモリプレーンの各々でプログラミング動作を順次実行し続けるように、さらに構成されてもよい。
前述の実施形態において、周辺回路は、プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、第1のフラグを格納するように構成されたレジスタをさらに含んでもよく、
周辺回路は、第1の命令を受信した後に、プログラミング例外が存在するメモリプレーンに割り当てられたデータをメモリ内の他のメモリプレーンに格納するように構成されてもよく、第1の命令は、第1のフラグに対応するメモリプレーンに格納されたデータをダンプするように命令するように構成されてもよい。
周辺回路は、第1の命令を受信した後に、プログラミング例外が存在するメモリプレーンに割り当てられたデータをメモリ内の他のメモリプレーンに格納するように構成されてもよく、第1の命令は、第1のフラグに対応するメモリプレーンに格納されたデータをダンプするように命令するように構成されてもよい。
上述の実施形態において、メモリは、3次元NAND型メモリを含んでもよい。
本開示の実施形態は、メモリシステムをさらに提供し、メモリシステムは、前述の実施形態で説明した1つまたは複数のメモリと、
メモリに結合されたメモリコントローラと、を含む。
メモリに結合されたメモリコントローラと、を含む。
前述の実施形態では、方法、システムにおいて、
周辺回路は、第2の命令を受信し、第2の命令に応答して、マルチプレーン・プログラミング・モードを採用することによって複数のメモリプレーンのうちの少なくとも2つでプログラミング動作を同時実行し、プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、プログラミング動作を一時停止し、かつ第1のフラグを格納する、ように構成され、
メモリコントローラは、第1のフラグに従って第3の命令を発行するように構成されてもよく、
周辺回路は、第3の命令を受信し、第3の命令に応答して、シングルプレーン・プログラミング・モードを採用することによって少なくとも2つのメモリプレーンの各々でプログラミング動作を順次実行し続ける、ようにさらに構成されてもよい。
周辺回路は、第2の命令を受信し、第2の命令に応答して、マルチプレーン・プログラミング・モードを採用することによって複数のメモリプレーンのうちの少なくとも2つでプログラミング動作を同時実行し、プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、プログラミング動作を一時停止し、かつ第1のフラグを格納する、ように構成され、
メモリコントローラは、第1のフラグに従って第3の命令を発行するように構成されてもよく、
周辺回路は、第3の命令を受信し、第3の命令に応答して、シングルプレーン・プログラミング・モードを採用することによって少なくとも2つのメモリプレーンの各々でプログラミング動作を順次実行し続ける、ようにさらに構成されてもよい。
本開示の実施形態では、マルチプレーン・プログラミング・モードを採用することによって複数のメモリプレーン上で同時実行されるプログラミング動作に問題が発生した場合に、常にマルチプレーン・プログラミング・モードのままであるのではなく、シングルプレーン・プログラミング・モードを採用することによって複数のメモリプレーンの各々でプログラミング動作が、順次実行され続ける。すなわち、本開示の実施形態では、プログラミング動作の命令を受信すると、プログラミング動作は、デフォルトではマルチプレーン・プログラミング・モードで実行されてもよく、その結果、一定のプログラミング効率を確保できる。プログラミング例外があると判定すると、プログラミング動作は、シングルプレーン・プログラミング・モードに切り替えることによって継続され、例外を有するメモリプレーン内のプログラミング例外を制限し、さらに他の通常のメモリプレーンに対するプログラミング例外の影響を緩和する。すなわち、隣接プレーン干渉の悪影響を低減できる。
1つまたは複数の実施形態は、添付の図面の図によって示されており、これらは実施形態のいかなる限定も構成しない。特に明記しない限り、図面の図は、スケールの限定とはみなされない。
本開示の一実施形態による、メモリを動作させるための方法の概略フローチャートである。
本開示の一実施形態による、メモリの概略構造図である。
本開示の一実施形態による、メモリを動作させるための方法の別の概略フローチャートである。
本開示の一実施形態による、メモリシステムの概略構造図である。
本開示の実施形態の目的、技術的解決策、および利点をより明確にするために、本開示の実施形態を、添付の図面を参照して以下に詳細に説明する。しかし、本開示の様々な実施形態では、本開示をよりよく理解するために多くの技術的詳細が提案されていることが当業者によって理解され得る。しかしながら、これらの技術的詳細および以下の実施形態に基づく様々な変更および修正がなくても、本明細書で特許請求される技術的解決策を実現できる。
本開示の実施形態におけるメモリは、3次元NAND型メモリを含むが、これに限定されない。理解を容易にするために、3次元NAND型メモリを説明のための例として使用する。しかしながら、本開示の概念の実施形態は構成に限定されず、2次元NANDメモリにも適用可能であることを理解されたい。さらに、本開示の範囲から逸脱することなく、本開示は、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、NOR型フラッシュメモリ、チェースランダムアクセスメモリ(PRAM)、磁気抵抗ランダムアクセスメモリ(MRAM)、抵抗変化型ランダムアクセスメモリ(RRAM)、強誘電体ランダムアクセスメモリ(FRAM(登録商標))などの他の不揮発性メモリデバイスにも適用可能である。
実際の用途では、3次元NAND型メモリは、メモリセルアレイおよび周辺回路を含むことができる。メモリセルアレイは、複数のメモリプレーン(Plane)を有してもよく、各メモリプレーンは、複数のメモリブロックを含んでもよく、各メモリブロックは、複数のメモリページを含んでもよい。メモリページは、読み出しおよび書き込み(すなわち、プログラミング)動作のための最小単位であってもよく、メモリブロックは、消去動作のための最小単位であってもよい。
周辺回路は、読み出し動作、書き込み動作、消去動作などのメモリの様々な動作を容易にするように構成された任意の適切なデジタル、アナログ、および/または混合信号回路を含むことができる。例えば、周辺回路は、制御論理(例えば、制御回路またはコントローラ)、データバッファ、デコーダ(復号器とも呼ばれる)、ドライバ、および読み出し/書き込み回路などを含んでもよい。制御論理が読み出し/書き込み動作コマンドおよびアドレスデータを受信すると、制御論理の動作の下で、デコーダは、復号されたアドレスに基づいて、対応するビット線およびワード線に、対応する電圧をドライバから印加して、データを読み出し/書き込みし、データバッファを介して外部とデータを交換できる。
メモリシステムにおける3次元NAND型メモリには様々な欠陥があり、その一部は出荷時に検出可能であり、一部は出荷後の使用環境の変化に伴って現れる。実際の用途では、3次元NAND型メモリの一部のメモリセルアレイに構造的な弱点がある場合がある。これらの構造的弱点は、長時間または複数のプログラミングおよび消去操作の後に発生し欠陥になる可能性がある。例えば、3次元NAND型メモリのメモリセルアレイは、プログラミングおよび消去サイクル中の高圧ストレスに耐えなければならず、3次元NAND型メモリの一部のメモリセルアレイの弱い構造は、サイクル後に欠陥に発展する可能性がある。
3次元NAND型メモリに欠陥が発生すると、データ損失が発生する可能性がある。欠陥がワード線(WL、Word Line)が短絡している場合、WL全体に対応するメモリセルのデータが破壊される可能性がある。各WLは、複数のストリングのメモリセルに対応し得るので、大量のデータが失われ、それによってメモリシステムの障害を引き起こす可能性がある。この種の障害は、一般的に3次元NAND型メモリの信頼性障害と定義されており、さらに当該分野のメモリシステムの障害の原因となり得る。
プログラミング・ステータス失敗(PSF、Programming Status Failed)の場合、メモリシステムは、独立ディスクの冗長アレイ(RAID、Redundant Arrays of Independent Disk)を用いて消失データを回復してもよい。一般に、メモリシステムは、プレーンレベルのRAIDを採用しており、プレーンレベルのRAIDは、障害から1つのメモリプレーンのみを復元できる。複数のメモリプレーンでプログラミングが失敗した場合、メモリシステムはデータを復元できない。このような障害の場合、メモリシステムはダイ(Die)レベルでRAIDを実行してもよいが、メモリシステムの構成コストが増大する。
3次元NAND型メモリでは、回路面積および消費電力を節約するために、プログラミング動作中には、内部電圧バイアス電源が異なるプレーン間で通常共有される。メモリプレーンの1つに欠陥がある場合、内部電圧バイアス電源を共有する他のメモリプレーンは、目標レベルに到達しない可能性がある。そのため、物理的に1つのメモリプレーンのみが不良であっても、複数のメモリプレーン、すなわち上述した隣接プレーン妨害(NPD、Neighbor Plane Disturb)においてプログラミング障害が発生することが多い。隣接プレーン妨害は、上述したように、データ損失などの悪影響を及ぼすことが明らかである。このことから、物理的な欠陥が1つのメモリプレーンのみに存在するのであれば、不良メモリプレーンのみに障害が発生することが望ましい。
本発明の一実施形態は、メモリ(メモリデバイス)を動作させるための方法を提案する。図1は、本開示の一実施形態によるメモリを動作させるための方法の概略フローチャートである。本方法は、以下のステップを含む。
ステップ101において、マルチプレーン・プログラミング方式を採用することによって、メモリの複数のメモリプレーンのうちの少なくとも2つでプログラミング動作が同時実行される。
ステップ102において、プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、シングルプレーン・プログラミング方式を採用することによって少なくとも2つのメモリプレーンでプログラミング動作が順次実行される。
ここで、メモリは、複数のメモリプレーンを含んでもよく、複数のメモリプレーンは、メモリの構成に応じて同時にプログラムされてもよい。複数のメモリプレーンはグループに分類されてもよく、各グループ内の複数のメモリプレーンは同時にプログラムされてもよい。
ステップ101において、マルチプレーン・プログラミング方式では、メモリに含まれる複数のメモリプレーンは、1つのコントローラの制御下で同時にプログラムされてもよく、同時にプログラムされる複数のメモリプレーンは、同じ行ドライバを共有してもよいことが理解されよう。実際の用途では、同時にプログラムされる複数のメモリプレーンについて、行ドライバの構成に従って、同じ行(ワード線)が同時にプログラムされてもよく、または、異なる行(ワード線)が同時にプログラムされてもよい。
実際の用途では、シングルプレーン・プログラミング方式における動作コマンドとマルチプレーン・プログラミング方式における動作コマンドとは異なる場合がある。メモリのプログラミング速度を高めるために、マルチプレーン・プログラミング方式は、プログラミング方式のより一般的な選択であり得る。
ステップ102において、プログラミング例外は、メモリプレーン欠陥または他の要因に起因して、同時にプログラムされる特定のメモリプレーンのプログラミング障害として理解され得る。
実際の用途では、複数のメモリプレーン上でプログラミング動作を同時実行する場合、プログラミング動作中に、ワード線駆動電圧が、メモリプレーンごとに対応するメモリプレーン内のワード線に、同時に印加されてもよい。ここで、ワード線駆動電圧は、選択ワード線に印加されるプログラミング電圧と、非選択ワード線に印加されるターンオン電圧とを含んでもよい。プログラミング検証処理の間、プログラミング検証電圧は、対応するメモリプレーン内のワード線上に同時に印加されてもよい。1つのメモリプレーンに対するプログラミング検証に失敗した場合、同時にプログラムされた複数のメモリプレーンは、プログラミング検証に失敗する可能性がある。
実際の用途では、本開示の実施形態は、プログラミング例外を有するメモリプレーンが、同時にプログラムされる複数のメモリプレーンに存在すると判定する特定の方法を限定しない。
いくつかの実施形態では、プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定することは、以下の動作を含んでもよい。
少なくとも2つのメモリプレーン内の現在プログラムされているメモリセル上で実行されたプログラミング検証の数を検出することができる。
現在プログラムされているメモリセル上で実行されたプログラミング検証の数が、書き込まれるべき現在のデータに対応する事前設定された回数を超えることに応答して、プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定できる。
ここで、事前設定された数は、あるデータ状態(プログラムされた状態)に対応するプログラミング検証の最大数として理解できる。
実際の用途では、データ状態とプログラミング検証の最大数との間の関係表を、経験値に従って最初に確立できる。表では、データ状態に対応するプログラミング検証の最大数(すなわち、プログラミング検証の事前設定された数)を、データ状態に従って見つけることができる。実際の用途では、プログラミング検証の最大数は、書き込まれたデータおよびデータを書き込むためのメモリセルのタイプ(シングルレベルセル型またはマルチレベルセル型)に関連してもよい。
例示として、トリナリーレベルセル(TLC、Trinary-Level Cell)タイプのメモリセルを例に取る。トリナリーレベルセルは、8つのデータ状態を有し、そのうちの1つ(第0状態)は消去状態であり、そのうちの残りの7つは、増分ステップパルス・プログラミング(ISPP、Incremental Step-Pulse Programming)方式が採用されているプログラミング状態(第1状態~第7状態)である。経験値によれば、プログラミングの第1の状態に達するために、いくつのプログラミングパルスが印加されるべきか(すなわち、いくつのプログラミング検証が実行されるべきか)を、判定できる。例えば、プログラミングの第1の状態に達するために、6つのプログラミング検証が完了されるべきであり、第2のプログラミング状態に達するために、9つのプログラミング検証が完了されるべきである。一般に、より高いデータ状態に達するほど、より多くのプログラミング検証が必要となる。すなわち、プログラミング検証の事前設定された数は、データ状態のビット数に関連してもよく、典型的には、データ状態のビット数が多いほど、データ状態に対応するプログラミング検証の事前設定された数が多くなる。
実際の用途では、プログラミング動作中に同時にプログラムされる複数のメモリプレーンのいずれか1つについて、いくつかの実施形態では、1つのデータ状態へのプログラミングが完了すると、対応するデータ状態のプログラミング検証を、1つのメモリページ内のすべてのメモリセル上で実行できる。他の実施形態では、1つのメモリページのプログラミングが完了した後に、メモリページ内の各メモリセルのプログラミング状態に対して、低い状態から高い状態へと、プログラミング検証を順次に実行できる。
トリナリーレベルセル(TLC)型のメモリセルが、例示のためにさらに例として挙げられる。メモリページ内の各メモリセル上で行われるプログラミング検証については、1つのメモリページ内のすべてのメモリセルについて、1つのデータ状態のプログラムが完了すると、対応するデータ状態のプログラミング検証が行われる。具体的には、すべてのメモリセル上で第1の状態がプログラムされ、次いで、すべてのメモリセルは、プログラミング検証の事前設定された数(例えば6)内に第1の状態に達することができるかどうか検証される。そうである場合、書き込まれたデータが第1の状態を超えるメモリセル上で第2の状態がプログラムされ、次いで第2の状態の検証が行われる。期間中に、特定のデータ状態で検証失敗が発生した場合、すなわち、対応するプログラミング検証の事前設定された数を超えたが、対応するデータ状態に達していない場合、現在プログラムされているメモリプレーンがプログラミング例外を有するメモリプレーンであることを示すことができる。
一実施形態では、プログラミング検証を実行する場合、それは、1つのメモリページ内の任意のメモリセルのプログラミング検証の数が、事前設定された数を超えるが指定されたデータ状態に達しない場合に、現在プログラミングされているメモリプレーンが、プログラミング例外を有するメモリプレーンとして判定されることを意味しないことに留意されたい。メモリは、特定の誤り訂正能力を有することが理解され得る。例えば、エラー訂正回路(ECC、Error Correction Circuit)を使用して、エラーを有する特定の数のメモリセルを訂正できる。したがって、(エラー訂正能力範囲内の)限られた数のプログラミング検証エラーについては、現在プログラムされているメモリプレーンをプログラミング例外のメモリプレーンとして判定するのではなく、検証エラーの数が誤り訂正能力範囲を超えた場合にのみ、現在プログラムされているメモリプレーンを、プログラミング例外を有するメモリプレーンとして判定してもよい。
実際の用途では、マルチプレーン・プログラミング障害を示すためにフラグが設定されてもよく、マルチプレーン・プログラミング障害を示すためのフラグが、メモリのステータスレジスタに格納されてもよい。一実施形態では、ステータスレジスタ内のマルチプレーン・プログラミング障害を示すためのフラグをメモリが確認した場合、制御論理はプログラミングのためにシングルプレーン・プログラミング方式に直接切り替えてもよい。他の実施形態では、マルチプレーン・プログラミング障害を示すためのステータスレジスタのフラグをメモリが確認した場合、マルチプレーン・プログラミング状態が一時停止されてもよい。その時点で、メモリシステムまたはホストは、メモリがマルチプレーン・プログラミング状態を一時停止した場合に、ステータスレジスタを確認して、マルチプレーン・プログラミングに例外を有することを発見してもよい。また、メモリシステムまたはホストによって命令が発行されて、プログラミングのためにシングルプレーン・プログラミング方式に切り替えるようにメモリに命令してもよい。
これに基づいて、プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、シングルプレーン・プログラミング方式を採用することによって少なくとも2つのメモリプレーン上でプログラミング動作を順次実行することは、
プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、シングルプレーン・プログラミング方式を直接採用することにより、少なくとも2つのメモリプレーン上でプログラミング動作を順次実行することか、
または、
プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、プログラミング動作を一時停止すること、かつ第2の命令を受信した後に、シングルプレーン・プログラミング方式を採用することによって少なくとも2つのメモリプレーン上でプログラミング動作を順次実行すること、を含む。
プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、シングルプレーン・プログラミング方式を直接採用することにより、少なくとも2つのメモリプレーン上でプログラミング動作を順次実行することか、
または、
プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、プログラミング動作を一時停止すること、かつ第2の命令を受信した後に、シングルプレーン・プログラミング方式を採用することによって少なくとも2つのメモリプレーン上でプログラミング動作を順次実行すること、を含む。
すなわち、実際の用途では、マルチプレーン・プログラミング方式に例外がある場合、メモリはマルチプレーン・プログラミング方式からシングルプレーン・プログラミング方式に自動的に切り替えることができる。メモリはまた、ホストまたはメモリシステム内のメモリコントローラにより発行されたシングルプレーン・プログラミング方式を採用するように、メモリに命令するための命令を受信した後に、マルチプレーン・プログラミング方式からシングルプレーン・プログラミング方式に切り替えることができる。
実際の用途では、シングルプレーン・プログラミング方式が完了した後に、メモリシステムまたはホストはステータスレジスタを通じてプログラミング障害を検出できる。この場合、メモリシステムまたはホストは、プログラミング例外を用いてメモリプレーンに格納されたデータをダンプする命令を発行するなどの、さらなる手段を取ることができる。
これに基づいて、いくつかの実施形態では、本方法は、以下をさらに含むことができる。
プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、第1のフラグを格納することと、
第1の命令を受信すると、プログラミング例外が存在するメモリプレーンに割り当てられたデータを、メモリ内の他のメモリプレーンに格納することと、を含み、第1の命令は、第1のフラグに対応するメモリプレーン内の格納されたデータをダンプするように命令するように構成されている。
第1の命令を受信すると、プログラミング例外が存在するメモリプレーンに割り当てられたデータを、メモリ内の他のメモリプレーンに格納することと、を含み、第1の命令は、第1のフラグに対応するメモリプレーン内の格納されたデータをダンプするように命令するように構成されている。
ここで、第1のフラグは、プログラミング例外のメモリプレーンが、少なくとも2つのメモリプレーン内に存在することを表してもよい。第1の命令は、第1のフラグに対応するメモリプレーン内の格納されたデータをダンプするように命令するように構成されてもよい。実際の用途では、同時にプログラムされる複数のメモリプレーンのうち、メモリプレーンAには構造欠陥(リーク電流など)があり、メモリプレーンBには構造欠陥がない。メモリプレーンAとメモリプレーンBに同じ電圧源を用いて同時に電源を供給すると、本来は、メモリプレーンAとメモリプレーンBのワード線に同じ検証電圧が印加されるように準備される。しかしながら、クロスプレーン共有電圧源によって、メモリプレーンAのワード線に実際に印加される検証電圧と、メモリプレーンBのワード線に印加される検証電圧とが異なる(リーク電流を伴うメモリプレーンAのワード線への実際の印加電圧が低い)場合があり、目標印加電圧からのオフセットが生じる可能性がある。書き込み閾値電圧Vtの目標値はプログラミング電圧に関係し、2つのメモリプレーンに印加されるプログラミング電圧が異なる場合、2つのメモリプレーンの書き込み閾値の目標電圧は異なり得ることが理解されよう。この場合、メモリプレーンAへの書き込みデータにも、メモリプレーンBへの書き込みデータにも、ずれが生じ得る。すなわち、構造欠陥のないメモリプレーンがマルチプレーン・プログラミング方式をパスしている状態であっても、クロスプレーン共有検証電圧のずれに対する誤った検証条件により、メモリセルの書き込み閾値電圧Vtの分布がターンオフの可能性がある。このとき、独立電源により、潜在的な問題を緩和できる。
いくつかの実施形態では、本方法は、
異なる電圧源を使用することによって、異なるメモリプレーン内の現在プログラムされているメモリセルにそれぞれプログラミング検証電圧を印加することを、さらに含む。
異なる電圧源を使用することによって、異なるメモリプレーン内の現在プログラムされているメモリセルにそれぞれプログラミング検証電圧を印加することを、さらに含む。
ここで、いくつかの実施形態では、本方法は、
異なる電圧源を使用することによって、同一メモリプレーン内の異なるワード線にそれぞれ対応するメモリセルにプログラミング検証電圧を印加することを、さらに含む。
異なる電圧源を使用することによって、同一メモリプレーン内の異なるワード線にそれぞれ対応するメモリセルにプログラミング検証電圧を印加することを、さらに含む。
実際の用途では、プログラミング電圧検証中に、異なる電圧源を使用して、異なるメモリプレーン内の選択WLに電力を供給できる。異なるメモリプレーンに対するプログラミング検証電圧源の独立した供給に基づいて、同一メモリプレーン内の異なる行のWLは、異なる電圧源によってさらに給電されてもよい。本明細書における独立した電源は、電圧源の各々に対する物理的隔離があることを指してもよいことに留意されたい。
このようにして、異なるメモリプレーンに独立したプログラミング検証電圧を適用することが可能であり、それにより、構造的欠陥のないメモリプレーンのプログラミング検証結果が正確なことが、保証され得ることが理解され得る。
ステップ102において、一実施形態では、同時にプログラムされている複数のメモリプレーンのうちのどのメモリプレーンに問題が存在するかを判定することなく、同時にプログラムされている複数のメモリプレーンのうちの少なくとも1つのメモリプレーンに問題が存在するかどうかのみを判定することが、可能であり得ることに留意されたい。
本開示の実施形態では、プログラミング例外を有するメモリプレーンがあると判定した場合、シングルプレーン・プログラミング方式は、プログラムされた複数のメモリプレーン上でプログラミング動作を同時実行するように構成され得る。ここで、シングルプレーン・プログラミング方式は、メモリに含まれる1つのメモリプレーンのみを一度にプログラムすると理解され得る。シングルプレーン・プログラミング方式では、行ドライバは、1つの選択メモリプレーンのみにワード線駆動電圧を印加してもよい。
いくつかの実施形態では、シングルプレーン・プログラミング方式を採用することによって少なくとも2つのメモリプレーン上でプログラミング動作を順次実行することは、
少なくとも2つのメモリプレーンのうちの第1のメモリプレーン上でプログラミング動作を実行することと、
第1のメモリプレーン上でのプログラミング動作が失敗した、または完了したと判定したことに応答して、少なくとも2つのメモリプレーンのうちの第2のメモリプレーン上でプログラミング動作を実行することと、を含む。
少なくとも2つのメモリプレーンのうちの第1のメモリプレーン上でプログラミング動作を実行することと、
第1のメモリプレーン上でのプログラミング動作が失敗した、または完了したと判定したことに応答して、少なくとも2つのメモリプレーンのうちの第2のメモリプレーン上でプログラミング動作を実行することと、を含む。
ここで、第1のメモリプレーンおよび第2のメモリプレーンの両方が、同時にプログラムされる複数のメモリプレーンのいずれか1つであってもよい。
実際の用途では、シングルプレーン・プログラミング方式に切り替えた後に、少なくとも2つのメモリプレーンはランダムシーケンスで順次にプログラムされてもよい。また、規定された順序でメモリプレーンのプログラミング動作を順次実行することも可能である。各メモリプレーンについて、プログラムされている場合、以前のプログラミング状態が継続されてもよい。
例えば、マルチプレーン・プログラミング方式を採用して、メモリのメモリプレーンA、メモリプレーンB、およびメモリプレーンCを、同時にプログラムしてもよい。マルチプレーン・プログラミング方式において、プログラミング例外を有するメモリプレーンが存在することを検出した場合、プログラミング例外はメモリプレーンAの構造的な欠陥に起因するものであり、メモリプレーンBおよびCには構造的な欠陥がないと仮定することができる。シングルプレーン・プログラミング方式に切り替える場合、メモリプレーンA、メモリプレーンB、およびメモリプレーンC上で、プログラミング動作が行われてもよい。メモリプレーンAが最初にプログラムされ、プログラミング動作を実行し続けるためのデータがメモリプレーンAのページバッファ(PB、Page Buffer)から取得され得ると仮定してもよい。例えば、メモリセルは、トリナリーレベルセル(TLC)のタイプのものであってもよく、第1のワード線内のメモリセルのいくつかの第2の状態は、マルチプレーン検証の失敗に応答してプログラムされていてもよい。そして、第1のワード線内の一部のメモリセルの第2の状態に対してプログラミング動作を継続してもよい。メモリプレーンAには欠陥があるため、メモリプレーンAは、最終的にはプレーンレベルでのプログラミング障害で終了する可能性がある。そして、メモリプレーンAがプログラミング障害を表示した場合(このとき、不良メモリプレーンはメモリプレーンAであると判定できる)、メモリプレーンBに対するプログラミング動作の実行を開始できる。プログラミング動作を継続するためのデータは、メモリプレーンBのPBから取得されてもよい。メモリプレーンBでのプログラミング動作が完了すると、再びメモリプレーンC上のプログラミング動作が開始され、メモリプレーンC上のプログラミング動作が完了するまで、メモリプレーンCのPBからプログラミング動作を継続するためのデータを取得してもよい。
なお、不良メモリプレーンAについては、プログラミング動作で書き込まれるべきデータのすべてが常にメモリプレーンAのPBに格納されていると、メモリプレーンA内の書き込みを失敗したデータが、他の不良メモリプレーンに転送される可能性があることに留意されたい。メモリプレーンAのPBがプログラミング動作で書き込まれるべきデータのみを動的に格納する場合、上述したRAIDを利用してデータ復元を行い、メモリプレーンA内の復元された未書き込みデータを、他の良品メモリプレーンに転送できる。
実際の用途では、マルチプレーン・プログラミング方式を採用することにより同時にプログラムされる複数のメモリプレーンは、同じ行ドライバを使用することによって、ワード線駆動電圧を提供されてもよい。しかしながら、リーク電流を有するメモリプレーンのように、同時にプログラムされる複数のメモリプレーンの中に不良メモリプレーンが存在する場合、電源によって生成される電圧は、メモリプレーン上のワード線に実際に印加される電圧よりも高くなり得る。シングルプレーン・プログラミングに切り替えた後に、リーク電流分布が変化する可能性があり、高電源によって生成された電圧が、オーバープログラミング問題を引き起こす可能性がある。
これに基づいて、いくつかの実施形態では、シングルプレーン・プログラミング方式を採用することによって少なくとも2つのメモリプレーン上でプログラミング動作を順次実行することは、
少なくとも2つのメモリプレーンの各々に対して、それぞれのメモリプレーン上の第1の選択ワード線に第1のプログラミング電圧を印加することを含み、
第1のプログラミング電圧は第2のプログラミング電圧よりも小さく、第2のプログラミング電圧は、プログラミング例外を有すると判定されたそれぞれのメモリプレーン上の第1の選択ワード線に印加されるプログラミング電圧であり、第1の選択ワード線は、プログラミング例外を有すると判定されたそれぞれのメモリプレーン上の選択ワード線である。
少なくとも2つのメモリプレーンの各々に対して、それぞれのメモリプレーン上の第1の選択ワード線に第1のプログラミング電圧を印加することを含み、
第1のプログラミング電圧は第2のプログラミング電圧よりも小さく、第2のプログラミング電圧は、プログラミング例外を有すると判定されたそれぞれのメモリプレーン上の第1の選択ワード線に印加されるプログラミング電圧であり、第1の選択ワード線は、プログラミング例外を有すると判定されたそれぞれのメモリプレーン上の選択ワード線である。
実際の用途では、メモリプレーンの各々について、プログラミング動作を実行し続けるときに、選択ワード線に印加される初期プログラミング電圧Vpgmを低レベルに設定できる。すなわち、マルチプレーン・プログラミングに失敗した場合、選択ワード線(すなわち、第1のワード線)に印加されるプログラミング電圧を適切に低下できる。実際の用途では、低下量は、経験値に基づいて判定できる。プログラミング電圧を下げると、オーバープログラミング問題をある程度緩和できることに留意されたい。
いくつかの実施形態では、本方法は、
それぞれのメモリプレーンの第1の選択ワード線に第1のプログラミング電圧を印加することに応答して、それぞれのメモリプレーン上の非選択ワード線に第1のターンオン電圧を印加することを、さらに含み、第1のターンオン電圧は第2のターンオン電圧よりも小さく、第2のターンオン電圧は、プログラミング例外であると判定されたそれぞれのメモリプレーン上の非選択ワード線に印加されるターンオン電圧である。
それぞれのメモリプレーンの第1の選択ワード線に第1のプログラミング電圧を印加することに応答して、それぞれのメモリプレーン上の非選択ワード線に第1のターンオン電圧を印加することを、さらに含み、第1のターンオン電圧は第2のターンオン電圧よりも小さく、第2のターンオン電圧は、プログラミング例外であると判定されたそれぞれのメモリプレーン上の非選択ワード線に印加されるターンオン電圧である。
実際の用途では、メモリプレーンごとに、プログラミング動作を実行し続ける場合に、非選択ワード線に印加される初期ターンオン電圧Vpassを低レベルに設定してもよい。
いくつかの実施形態では、メモリプレーン上のワード線のVpgm/Vpassは、マルチプレーン・プログラミングにおけるそれぞれのメモリプレーンのプログラミング検証電圧に従って判定できる。
いくつかの実施形態では、本方法は、
プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在しないと判定したことに応答して、マルチプレーン・プログラミング方式を採用することによって、少なくとも2つのメモリプレーン上でプログラミング動作を実行し続けることを、さらに含む。
プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在しないと判定したことに応答して、マルチプレーン・プログラミング方式を採用することによって、少なくとも2つのメモリプレーン上でプログラミング動作を実行し続けることを、さらに含む。
すなわち、マルチプレーン・プログラミングに例外がない場合には、プログラミングに、マルチプレーン・プログラミング方式を常に用いてもよい。
本開示の実施形態で提案された解決策では、マルチプレーン・プログラミング障害は、マルチプレーン・プログラミング方式を一時停止することによって処理できる。そして、シングルプレーン・プログラミング方式でプログラミング動作を実行できる。本開示の実施形態で提案された解決策は、3次元NAND型メモリの隣接プレーン干渉の故障に対処でき、3次元NAND型メモリの信頼性も向上できる。本開示の実施形態では、1つのメモリプレーンが不良であり、リーク電流により不良メモリプレーンの電圧バイアスが不正確になった場合でも、すべてのメモリプレーンのプログラミング検証をより正確に行うことができる。本開示の実施形態で提案された解決策は、メモリセルアレイ内の可能性のある欠陥を検出するために使用されてもよい。本開示の実施形態で提案された解決策では、オーバープログラミング問題を回避するために、シングルプレーン・プログラミング方式に切り替えるときに、内部のずれを正常に戻すことができる。
本開示の実施形態は、複数のメモリプレーンと、メモリプレーンに結合された周辺回路とを含むメモリをさらに提供する。
周辺回路は、例えば、コントローラ、論理回路などによって実装されてもよく、これらは、例えば、マルチプレーン・プログラミング方式を採用することによって複数のメモリプレーンのうちの少なくとも2つで同時にプログラミング動作を実行するためにファームウェアを実行することによって、それぞれのファームウェアで対応して構成されてもよい。プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、プログラミング動作は、シングルプレーン・プログラミング方式を採用することによって、少なくとも2つのメモリプレーン上で順次実行される。
図2は、本開示の一実施形態によるメモリ1のブロック図である。メモリ1は、デュアルメモリプレーン構造を有し、周辺回路を含んでもよい。周辺回路は、制御回路10、電圧生成回路11、行ドライバ12、列ドライバ131、および132を含むことができる。メモリプレーンは、メモリプレーン141および142を含んでもよい。実施形態ではデュアルメモリプレーン構造が使用されているが、本開示の範囲内で他の数のメモリプレーンも使用され得ることを理解されたい。マルチプレーン・プログラミング方式を採用する場合、メモリプレーン141および142を同時にプログラムできる。
実際の用途では、制御回路10は、電圧生成回路11、行ドライバ12、ならびに、列ドライバ131および132に結合されてもよい。電圧生成回路11は、行ドライバ12に結合されてもよい。行ドライバ12は、ストリング選択線SSL1、ワード線WL1(1)~WL1(N)、およびグランド選択線GSL1を介してメモリプレーン141に結合でき、Nは正の整数であり、例えばN=128である。行ドライバ12は、ストリング選択線SSL2、ワード線WL2(1)~WL2(N)、およびグランド選択線GSL2を介してメモリプレーン142に結合できる。列ドライバ131は、ビット線BL1(1)~BL1(M)を介してメモリプレーン141に結合でき、Mは正の整数であり、例えばM=131072である。列ドライバ132は、ビット線BL2(1)~BL2(M)を介してメモリプレーン142に結合されてもよい。メモリプレーン141および142の各々は複数のメモリブロックを含んでもよく、メモリブロックの各々は複数のメモリページを含んでもよく、各メモリページは複数のメモリセルを含んでもよい。メモリプレーン141内のメモリセルは、ワード線WL1(1)~WL1(N)およびビット線BL1(1)~BL1(M)によってアドレス指定されてもよく、メモリプレーン142内のメモリセルは、ワード線WL2(1)~WL2(N)およびビット線BL2(1)~BL2(M)によってアドレス指定されてもよい。
制御回路は、ホストまたはメモリコントローラと通信して、メモリプレーン141および142にデータを格納するためのデータを受信するとともに、メモリプレーン141および142から取得したデータを送信してもよい。制御回路は、ホストまたはメモリコントローラから、コマンド、アドレス、またはデータを受信することができ、列アドレス信号Scadr1、Scadr2、行アドレス信号Sradr、および電圧制御信号Svcを生成できる。電圧生成回路は、制御回路からの電圧制御信号Svcに応じて、読み出し動作、プログラミング動作、消去動作、および検証動作のための電圧を生成してもよい。電圧生成回路11が生成する電圧は、メモリ1に供給される電源電圧を超えてもよい。行ドライバ12は、制御回路10からの行アドレス信号Sradrに応答して動作して、読み出し動作、プログラミング動作、消去動作、および検証動作のためのワード線を選択できる。列ドライバ131および132は、制御回路10からの列アドレス信号Scadr1およびScadr2に応答して動作して、読み出し動作、プログラミング動作、消去動作、および検証動作のためにビット線を選択するためのビット線信号を生成できる。
プログラミング動作中、電圧生成回路11は、電源電圧(例えば、3.3V)、プログラミング電圧(例えば、20V)、およびプログラミングパス電圧(例えば、10V)を使用できる。行ドライバ12は、選択ワード線上にプログラミング電圧の振幅を有するプログラミングパルスを印加し、非選択ワード線にプログラミングパス電圧を印加し、ストリング選択線SSL1,SSL2に電源電圧を印加し、グランド選択線GSL1,GSL2にグランド電圧を印加できる。また、列ドライバ131および132は、選択ビット線にグランド電圧(例えば、0V)を印加し、非選択のビット線に電源電圧を印加してもよい。検証動作中、電圧生成回路は、適切な検証電圧を生成することができ、行ドライバは、選択ワード線に適切な検証電圧を印加し、ストリング選択線SSL1,SSL2に電源電圧を印加し、グランド選択線GSL1,GSL2に電源電圧を印加してもよい。そして、列ドライバ131および132は、非選択ビット線にグランド電圧を印加し、メモリプレーン141および142の選択ビット線に電源電圧をそれぞれ印加し、選択ビット線上の選択メモリセルからデータを読み出すことができる。データ読み出しが正しくない場合、制御回路10は、選択メモリセルを故障していると検証でき、データ読み出しが正しい場合、制御回路10は、選択メモリセルがパスしていると検証できる。
メモリセルは、シングルレベルセル(SLC、single-level cell)タイプ、マルチレベルセル(MLC、multi-level cell)タイプ、トリナリーレベルセル(TLC、tertiary-level cell)タイプ、クァッドレベルセル(QLC、quad-level cell)タイプ、ペンタレベルセル(PLC、penta-level type)タイプ、または上位レベルタイプであってもよい。各メモリセルは、Q個の可能なデータ状態のうちの1つを維持することができ、Qは2以上の正の整数である。例えば、SLCの場合Q=2であり、MLCの場合Q=4であり、TLCの場合Q=8であり、QLCの場合Q=16であり、PLCの場合Q=32である。Q個の可能なデータ状態は、消去状態S(0)およびプログラミング状態S(1)~S(Q-1)を含むことができ、プログラミング状態S(1)は最低のプログラミング状態であり、プログラミング状態S(Q-1)は最高のプログラミング状態である。一例では、TLCは、8つの可能なデータ状態のうちの1つにプログラムされてもよく、プログラミング状態S(1)は最低のプログラミング状態であり、プログラミング状態S(7)は最高のプログラミング状態である。
メモリセルは、最初に消去状態S(0)に設定されてもよく、その後、メモリセルを対応する目標プログラミング状態にプログラムするために、メモリセル上で一連のプログラミング検証動作を実行できる。一連のプログラミング検証動作は、最低のプログラミング状態S(1)から始まり、次いで、選択メモリセルの閾値電圧が対応する目標プログラミング状態の対応する検証電圧レベルに達するまで、より高いプログラミング状態に進むことができる。いくつかの実施形態では、検証電圧は、プログラミング状態S(1)~S(Q-1)の閾値電圧分布曲線の最小閾値電圧として、それぞれ選択されてもよい。各プログラミング検証動作は、プログラミング動作および後続の検証動作を含むことができる。プログラミング動作中、メモリセルのいくつかは、第1行から第N行へ、または第N行から第1行へ、行ごとに選択されてプログラミング状態にプログラムされてもよい。
いくつかの実施形態では、周辺回路は、制御回路および行ドライバを含み、行ドライバは、少なくとも2つのメモリプレーンに結合され、制御回路によって制御される。
行ドライバは、マルチプレーン・プログラミング方式において、プログラミング動作が同時実行される少なくとも2つのメモリプレーンに、ワード線駆動電圧を印加するように構成されてもよい。
行ドライバは、シングルプレーン・プログラミング方式において、ワード線駆動電圧を選択メモリプレーンに印加するように、さらに構成されてもよい。
本明細書の行ドライバは、本実施形態では行ドライバが複数のメモリプレーンに結合されているが、シングルプレーン方式では、行ドライバが選択メモリプレーンのうちの1つのみにワード線駆動電圧を印加することを除いて、図2の行ドライバを参照して理解され得る。ここで、ワード線駆動電圧は、選択ワード線に印加されるプログラミング電圧と、非選択ワード線に印加されるターンオン電圧とを含んでもよいし、または、プログラミングパス電圧を含んでもよい。
いくつかの実施形態では、行ドライバは、少なくとも2つのメモリプレーンの各々について、マルチプレーン・プログラミング方式からシングルプレーン・プログラミング方式に切り替えた後に、それぞれのメモリプレーン上の第1の選択ワード線に第1のプログラミング電圧を印加するように構成されてもよい。
第1のプログラミング電圧は第2のプログラミング電圧よりも小さく、第2のプログラミング電圧は、プログラミング例外を有すると判定されるそれぞれのメモリプレーン上の第1の選択ワード線に印加されるプログラミング電圧であり、第1の選択ワード線は、プログラミング例外を有すると判定されたそれぞれのメモリプレーン上の選択ワード線である。
いくつかの実施形態では、行ドライバは、それぞれのメモリプレーンの第1の選択ワード線に第1のプログラミング電圧を印加することに応答して、それぞれのメモリプレーン上の非選択ワード線に第1のターンオン電圧を印加するようにさらに構成されてもよく、第1のターンオン電圧は第2のターンオン電圧よりも小さく、第2のターンオン電圧は、プログラミング例外であると判定されたそれぞれのメモリプレーン上の非選択ワード線に印加されるターンオン電圧である。
実際の用途では、制御回路は、電圧生成回路を制御して、より低いレベルの初期プログラミング電圧/初期ターンオン電圧(Vpgm/Vpass)を出力してもよく、次いで、行ドライバを制御して、1つの選択メモリプレーンの選択ワード線のみにVpgmを印加し、非選択ワード線にVpassを印加してもよい。
いくつかの実施形態では、周辺回路は、
少なくとも2つのメモリプレーン内の現在プログラムされているメモリセル上で実行されるプログラミング検証の数を検出し、
書き込まれるべき現在のデータに対応する事前設定された回数を超えるプログラミング検証の数に応答して、プログラミング例外を有するメモリプレーンが、少なくとも2つのメモリプレーン内に存在すると判定するようにさらに構成されるように、構成することができる。
少なくとも2つのメモリプレーン内の現在プログラムされているメモリセル上で実行されるプログラミング検証の数を検出し、
書き込まれるべき現在のデータに対応する事前設定された回数を超えるプログラミング検証の数に応答して、プログラミング例外を有するメモリプレーンが、少なくとも2つのメモリプレーン内に存在すると判定するようにさらに構成されるように、構成することができる。
いくつかの実施形態では、周辺回路は、複数のプログラミング検証電圧生成器をさらに含むことができ、複数のプログラミング検証電圧生成器の各々は、少なくとも2つのメモリプレーンのうちの1つにそれぞれ結合され、制御回路によって制御されてもよい。
複数のプログラミング検証電圧生成器は、異なるメモリプレーン内の現在プログラムされているメモリセルにプログラミング検証電圧をそれぞれ印加するように構成されてもよい。
いくつかの実施形態では、複数のプログラミング検証電圧生成器の各々は、少なくとも2つのメモリプレーンのうちの1つにおけるワード線にそれぞれ結合されてもよい。
複数のプログラミング検証電圧生成器は、同一メモリプレーン内の異なるワード線にそれぞれ対応するメモリセルに、プログラミング検証電圧を印加するように構成されてもよい。
ここで、複数のプログラミング検証電圧生成器は、図2の電圧生成回路のサブ回路に属してもよい。なお、複数のプログラミング検証電圧生成器は、行ドライバを介して異なるメモリプレーンのワード線に印加するとき、依然として、互いに物理的に絶縁され得ることに留意されたい。
いくつかの実施形態では、周辺回路は、プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、第1のフラグを格納するように構成されたレジスタをさらに含んでもよい。
周辺回路は、第1の命令を受信すると、プログラミング例外が存在するメモリプレーンに割り当てられたデータをメモリ内の他のメモリプレーンに格納するように構成されてもよい。第1の命令は、第1のフラグに対応するメモリプレーンに格納されたデータをダンプするように命令するように構成されてもよい。
ここで、レジスタはステータスレジスタであってもよい。
実際の用途では、制御回路は、プログラミング方式を切り替えるかどうかを判定することができ、シングルプレーン・プログラミング方式が終了した後に、メモリシステムまたはホストは、ステータスレジスタを通じてプログラミング障害を検出できる。この場合、メモリシステムまたはホストは、プログラミング例外を用いてメモリプレーンに格納されたデータをダンプする命令を発行するなどの、さらなる手段を取ることができる。
ステータスレジスタ内のマルチプレーン・プログラミング障害を示すためのフラグをメモリが確認した場合、メモリはマルチプレーン・プログラミング状態を一時停止することができることに留意されたい。その時点で、メモリシステムまたはホストは、メモリがマルチプレーン・プログラミング状態を一時停止した場合に、ステータスレジスタを確認して、マルチプレーン・プログラミングに例外を有することを発見してもよい。また、メモリシステムまたはホストによって命令が発行されて、プログラミングのためにシングルプレーン・プログラミング方式に切り替えるようにメモリに命令してもよい。
いくつかの実施形態では、メモリは3次元NAND型メモリを含む。
以下で、本開示を、本出願の実施形態を参照してさらに詳細に説明する。
本開示の適用実施形態は、メモリを動作させるための方法を提供する。図3は、本開示の実施形態によるメモリを動作させるための方法を実施するための概略フローチャートである。図3に示すように、本方法は、以下の301から308のステップを含む。
ステップ301において、処理が開始する。
初期段階では、メモリは、初期化などの準備タスクを実行する。
制御回路がホストまたはメモリコントローラからマルチプレーン・プログラミング動作を実行するための命令を受信すると、処理はステップ302に進む。
ステップ302において、マルチプレーン・プログラミング方式を採用することによってプログラミング動作が実行される。
ここで、周辺回路は、マルチプレーン・プログラミング方式を採用することにより、メモリ内の複数のメモリプレーンを同時にプログラムしてもよい。
このステップでは、メモリプレーン間でプログラミング電圧を共有できる。任意のメモリプレーン内のメモリセルアレイが不良である場合、プログラミング電圧はその目標に到達しない可能性がある。プログラミング動作は非常にゆっくりと進行し、さらには他のメモリプレーン上のPSFにつながる可能性がある。
ステップ302の後、処理はステップ303に進む。
ステップ303において、メモリプレーンにプログラミング例外が存在するかどうかを判定する。
ここで、制御回路は、プログラミング電圧検証の数が事前設定の数を超えるかどうかに従って、メモリプレーンにプログラミング例外が存在するかどうかを判定できる。
このステップでは、異なるPVレベルに対するプログラミング検証の数を追跡することができ、プログラミング検証の数が事前設定の数を超えるかどうかをチェックできる。特定のPVレベルの検証の数が事前設定の数を超える場合、それはプログラミング例外がメモリプレーンに存在することを示し得る。その際、あるメモリプレーンの成長における構造的な欠陥が、プログラミング例外の原因の1つとなり得る。
判定結果が、プログラミング例外のメモリプレーンがあることを示す場合、処理はステップ304に進むことができ、判定結果が、プログラミング例外を有するメモリプレーンがないことを示す場合、処理はステップ305に進むことができる。
ステップ304において、マルチプレーン・プログラミング方式を使用して一時停止するように通知するためのフラグが設定される。
このステップでは、マルチプレーン・プログラミング障害を示すようにフラグが設定されてもよく、マルチプレーン・プログラミング障害を示すフラグは、メモリのステータスレジスタに格納されてもよい。メモリがマルチプレーン・プログラミング動作を一時停止した後に、メモリは、シングルプレーン・プログラミング動作にさらに切り替えることができる。プログラミング動作全体が完了すると、ホストまたはメモリシステムは、ステータスレジスタ内のフラグを検出し、それに応じて後続の処理を実行できる。ステップ304の後、処理はステップ306に進む。
ステップ305において、マルチプレーン・プログラミング方式を採用することによってプログラミング動作を実行し続ける。
ここで、周辺回路は、マルチプレーン・プログラミング方式を採用することによって、メモリ内の複数のメモリプレーン上でプログラミング動作を同時実行し続けることができる。
ステップ306において、Vpgm/Vpassはより低い電圧に修正される。
ここで、制御回路は、行ドライバを用いてメモリプレーンのワード線にVpgm/Vpassを印加しつつ、電圧生成回路を制御してVpgm/Vpassをより低いレベルにしてもよい。
ステップ307において、プログラミング動作は、シングルプレーン・プログラミング方式を採用することによって実行される。
ここで、周辺回路は、シングルプレーン・プログラミング方式を採用することにより、複数のメモリプレーン上でプログラミング動作を順次実行してもよい。
このステップでは、シングルプレーン方式でプログラミング動作を実行する場合、シングルプレーンレベルでプログラミングのパス/失敗が生じ得る。
実際の用途では、ステップ306とステップ307との間に厳密な順序はない場合があり、ステップ306は、ステップ307の各メモリプレーンがプログラミング動作を開始するときに実際に実行され得ることに留意されたい。
ステップ308において、処理は終了する。
本開示の実施形態は、メモリシステム1000をさらに提供し、メモリシステムは、
前述の実施形態で説明した1つまたは複数のメモリ1と、
メモリ1に結合されたメモリコントローラ2と、を含む。
前述の実施形態で説明した1つまたは複数のメモリ1と、
メモリ1に結合されたメモリコントローラ2と、を含む。
ここで、いくつかの実施形態では、周辺回路は、第2の命令を受信し、第2の命令に応答して、マルチプレーン・プログラミング方式を採用することによって複数のメモリプレーンのうちの少なくとも2つでプログラミング動作を同時実行し、プログラミング例外を有するメモリプレーンが少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、プログラミング動作を一時停止し、かつ第1のフラグを格納する、ように構成されてもよい。
メモリコントローラは、第1のフラグに従って第3の命令を発行するように構成されてもよい。
周辺回路は、第3の命令を受信し、第3の命令に応答して、シングルプレーン・プログラミング方式を採用することによって少なくとも2つのメモリプレーン上でプログラミング動作を順次実行するように、さらに構成されてもよい。
ここで、第2の命令は、マルチプレーン・プログラミング方式でプログラミング動作を実行するように、メモリ1に命令するように構成されてもよく、第3の命令は、メモリ1にシングルプレーン・プログラミング方式でプログラミング動作を実行するよう命令するように構成されてもよい。
実際の用途では、メモリコントローラ2は、消去動作、読み出しまたは書き込み動作を実行するようにメモリ1を制御し、かつさらに、メモリ内で発行または受信された命令を復号、解析、または動作するように構成されてもよい。メモリコントローラ2は、メモリインタフェース(I/F)を介して、メモリ1に接続されてもよい。
実際の用途では、第1のフラグは、各メモリ1に対応するステータスレジスタに格納されてもよい。メモリ1上で一時停止プログラミング動作がある場合に、メモリコントローラ2は、メモリ1に対応するステータスレジスタにアクセスしてもよく、メモリコントローラ2は、第1フラグに応じて、プログラミングを一時停止しているメモリ1に第3の命令を発行してもよい。第3の命令を受信した後に、プログラミングが一時停止されているメモリ1は、シングルプレーン・プログラミング方式を採用することによってプログラムされてもよい。
「第1(first)」、「第2(second)」などは、類似のオブジェクトを区別するために使用され、必ずしも特定のシーケンスまたは順序を説明するために使用されるとは限らないことに留意されたい。
加えて、本開示の実施形態に記載された技術的解決策は、矛盾することなく任意に組み合わせることができる。
前述の説明は、本開示の好ましい実施形態にすぎず、本開示の保護の範囲を限定することを意図するものではない。
Claims (22)
- メモリデバイスを動作させるための方法であって、
マルチプレーン・プログラミング方式を採用することによって、前記メモリデバイスの少なくとも2つのメモリプレーン上でプログラミング動作を同時実行することと、
プログラミング例外を有するメモリプレーンが前記少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、シングルプレーン・プログラミング方式を採用することによって、前記少なくとも2つのメモリプレーン上で前記プログラミング動作を順次実行することと、
を含む、メモリデバイスを動作させるための方法。 - 前記シングルプレーン・プログラミング方式を採用することによって前記少なくとも2つのメモリプレーン上で前記プログラミング動作を順次実行することは、
前記シングルプレーン・プログラミング・モードの採用に応答して、前記メモリプレーンの各々について、前記メモリプレーンのそれぞれ1つにある第1の選択ワード線に第1のプログラミング電圧を印加すること、を含み、
前記第1のプログラミング電圧は第2のプログラミング電圧よりも小さく、前記第2のプログラミング電圧は、前記プログラミング例外を有すると判定された前記それぞれのメモリプレーン上の前記第1の選択ワード線に印加されるプログラミング電圧であり、前記第1の選択ワード線は、前記プログラミング例外を有すると判定された前記それぞれのメモリプレーン上の選択ワード線である、請求項1に記載の方法。 - 前記それぞれのメモリプレーンの前記第1の選択ワード線に前記第1のプログラミング電圧を印加する場合に、前記それぞれのメモリプレーン上の非選択ワード線に、第1のターンオン電圧を印加することを、さらに含み、
前記第1のターンオン電圧は第2のターンオン電圧よりも小さく、前記第2のターンオン電圧が、前記プログラミング例外を有すると判定されたそれぞれのメモリプレーン上の前記非選択ワード線に印加されるターンオン電圧である場合の、請求項2に記載の方法。 - 前記プログラミング例外を有する前記メモリプレーンが前記少なくとも2つのメモリプレーン内に存在すると判定することは、
前記少なくとも2つのメモリプレーン内の現在プログラムされているメモリセル上で実行されたプログラミング検証の数を検出することと、
現在プログラムされているメモリセル上で実行された前記プログラミング検証の数が、書き込まれるべき現在のデータに対応する事前設定された回数を超えることに応答して、前記プログラミング例外を有する前記メモリプレーンが前記少なくとも2つのメモリプレーン内に存在すると判定することと、を含む、請求項1に記載の方法。 - 異なる電圧源を使用することによって、異なるメモリプレーン内の現在プログラムされているメモリセルにそれぞれプログラミング検証電圧を印加することをさらに含む、請求項4に記載の方法。
- 前記異なる電圧源を使用することによって、同一メモリプレーン内の異なるワード線にそれぞれ対応するメモリセルに、前記プログラミング検証電圧を印加することをさらに含む、請求項5に記載の方法。
- 前記プログラミング例外を有する前記メモリプレーンが前記少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、前記シングルプレーン・プログラミング方式を採用することによって前記少なくとも2つのメモリプレーン上で前記プログラミング動作を順次実行することは、
前記プログラミング例外を有する前記メモリプレーンが前記少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、前記シングルプレーン・プログラミング方式を直接採用することによって、前記少なくとも2つのメモリプレーン上で前記プログラミング動作を順次実行すること、または、
前記プログラミング例外を有する前記メモリプレーンが前記少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、前記プログラミング動作を一時停止し、かつ第2の命令を受信した後に、前記シングルプレーン・プログラミング方式を採用することによって、前記少なくとも2つのメモリプレーン上で前記プログラミング動作を順次実行すること、を含む、請求項1に記載の方法。 - 前記プログラミング例外を有する前記メモリプレーンが前記少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、第1のフラグを格納することと、
第1の命令の受信に応答して、前記プログラミング例外が存在するメモリプレーンに割り当てられたデータを、前記メモリデバイス内の他のメモリプレーンに格納することであって、前記第1の命令は、前記第1のフラグに対応するメモリプレーン内の前記格納されたデータをダンプするように命令するように構成される、格納すること、
をさらに含む、請求項1に記載の方法。 - 前記シングルプレーン・プログラミング方式を採用することによって前記少なくとも2つのメモリプレーン上で前記プログラミング動作を順次実行することは、
前記少なくとも2つのメモリプレーンのうちの第1のメモリプレーン上で前記プログラミング動作を実行することと、
第1のメモリプレーン上での前記プログラミング動作が失敗した、または完了したと判定したことに応答して、前記少なくとも2つのメモリプレーンのうちの第2のメモリプレーン上で前記プログラミング動作を実行することと、を含む、請求項1に記載の方法。 - 前記プログラミング例外を有するメモリプレーンが前記少なくとも2つのメモリプレーン内に存在しないと判定したことに応答して、前記マルチプレーン・プログラミング方式を採用することによって前記少なくとも2つのメモリプレーン上で前記プログラミング動作を実行し続けること、さらに含む、請求項1に記載の方法。
- メモリプレーンと、前記メモリプレーンに結合された周辺回路とを含むメモリデバイスであって、
前記周辺回路は、マルチプレーン・プログラミング方式を採用することによって、前記メモリの少なくとも2つのメモリプレーン上でプログラミング動作を同時実行するように構成され、プログラミング例外を有するメモリプレーンが前記少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、シングルプレーン・プログラミング方式を採用することによって前記少なくとも2つのメモリプレーン上で前記プログラミング動作を順次実行するように構成される、メモリデバイス。 - 前記周辺回路は、制御回路および行ドライバを含み、前記行ドライバは、前記少なくとも2つのメモリプレーンに結合され、前記制御回路によって制御され、
前記行ドライバは、前記マルチプレーン・プログラミング方式において、前記プログラミング動作が同時実行される前記少なくとも2つのメモリプレーンにワード線駆動電圧を印加するように構成され、
前記行ドライバは、前記シングルプレーン・プログラミング方式において、選択メモリプレーンに前記ワード線駆動電圧を印加するようにさらに構成される、請求項11に記載のメモリ。 - 前記行ドライバは、前記少なくとも2つのメモリプレーンの各々について、前記マルチプレーン・プログラミング方式から前記シングルプレーン・プログラミング方式に切り替えた後に、前記メモリプレーンのそれぞれ1つにある第1の選択ワード線に第1のプログラミング電圧を印加するように構成され、
前記第1のプログラミング電圧は第2のプログラミング電圧よりも小さく、前記第2のプログラミング電圧は、前記プログラミング例外を有すると判定される前記それぞれのメモリプレーン上の前記第1の選択ワード線に印加されるプログラミング電圧であり、
前記第1の選択ワード線は、前記プログラミング例外を有すると判定された前記それぞれのメモリプレーン上の選択ワード線である、請求項12に記載のメモリ。 - 前記行ドライバは、前記それぞれのメモリプレーンの前記第1の選択ワード線に前記第1のプログラミング電圧を印加することに応答して、前記それぞれのメモリプレーン上の非選択ワード線に第1のターンオン電圧を印加するように、さらに構成され、前記第1のターンオン電圧は第2のターンオン電圧よりも小さく、前記第2のターンオン電圧は、前記プログラミング例外であると判定された前記各メモリプレーン上の前記非選択ワード線に印加されるターンオン電圧である、請求項13に記載のメモリ。
- 前記周辺回路は、
前記少なくとも2つのメモリプレーン内の現在プログラムされているメモリセル上で実行されたプログラミング検証の数を検出し、
書き込まれるべき現在のデータに対応する事前設定された回数を超える前記プログラミング検証の数に応答して、前記プログラミング例外を有する前記メモリプレーンが前記少なくとも2つのメモリプレーン内に存在すると判定するように、さらに構成される、請求項11に記載のメモリ。 - 前記周辺回路は、プログラミング検証電圧生成器をさらに含み、前記プログラミング検証電圧生成器の各々は、前記少なくとも2つのメモリプレーンのうちの1つに結合され、前記制御回路によって制御され、
前記プログラミング検証電圧生成器は、異なるメモリプレーン内の前記現在プログラムされているメモリセルにプログラミング検証電圧をそれぞれ印加するように構成される、請求項15に記載のメモリ。 - 前記プログラミング検証電圧生成器の各々は、前記少なくとも2つのメモリプレーンのうちの1つのワード線に結合され、
前記プログラミング検証電圧生成器は、同一メモリプレーン内の異なるワード線にそれぞれ対応するメモリセルに、前記プログラミング検証電圧を印加するように構成される、請求項16に記載のメモリ。 - 前記周辺回路は、前記プログラミング例外を有する前記メモリプレーンが前記少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、前記シングルプレーン・プログラミング方式を直接採用することによって、前記少なくとも2つのメモリプレーン上でプログラミング動作を順次実行するように構成されるか、
または、
前記周辺回路は、前記プログラミング例外を有する前記メモリプレーンが前記少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、前記プログラミング動作を一時停止し、かつ、第2の命令を受信した後に、前記シングルプレーン・プログラミング方式を採用することによって、前記少なくとも2つのメモリプレーン上で前記プログラミング動作を順次実行するように構成される、請求項11に記載のメモリ。 - 前記周辺回路は、前記プログラミング例外を有する前記メモリプレーンが前記メモリプレーン内に存在すると判定したことに応答して、第1のフラグを格納するように構成されたレジスタをさらに含み、
前記周辺回路は、第1の命令を受信すると、前記プログラミング例外が存在するメモリプレーンに割り当てられたデータを、前記メモリ内の他のメモリプレーンに格納するように構成され、前記第1の命令は、前記第1のフラグに対応するメモリプレーン内の前記格納されたデータをダンプするように命令するように構成される、請求項11に記載のメモリ。 - 前記メモリは3次元NAND型メモリを含む、請求項11に記載のメモリ。
- 請求項11から20のいずれか一項に記載の1つまたは複数のメモリデバイスと、
前記メモリに結合されたメモリコントローラと、を含む、メモリシステム。 - 前記周辺回路は、第2の命令を受信し、前記第2の命令に応答して、前記マルチプレーン・プログラミング方式を採用することによって、前記メモリプレーンの前記少なくとも2つで前記プログラミング動作を同時実行し、前記プログラミング例外を有する前記メモリプレーンが前記少なくとも2つのメモリプレーン内に存在すると判定したことに応答して、前記プログラミング動作を一時停止し、第1のフラグを格納するように、構成され、
前記メモリコントローラは、前記第1のフラグに従って第3の命令を発行するように構成され、
前記周辺回路は、前記第3の命令を受信し、前記第3の命令に応答して、前記シングルプレーン・プログラミング方式を採用することによって、前記少なくとも2つのメモリプレーン上で前記プログラミング動作を順次実行するように構成される、請求項21に記載のメモリシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/115475 WO2023028790A1 (zh) | 2021-08-30 | 2021-08-30 | 存储器及其操作方法、存储器系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023554144A true JP2023554144A (ja) | 2023-12-26 |
Family
ID=79734965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023537895A Pending JP2023554144A (ja) | 2021-08-30 | 2021-08-30 | メモリデバイス、メモリデバイスを動作させるための方法、メモリシステム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230148416A1 (ja) |
EP (1) | EP4202938A4 (ja) |
JP (1) | JP2023554144A (ja) |
KR (1) | KR20230108332A (ja) |
CN (1) | CN113994315A (ja) |
WO (1) | WO2023028790A1 (ja) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010090691A2 (en) * | 2009-02-09 | 2010-08-12 | Rambus Inc. | Multiple plane, non-volatile memory with synchronized control |
KR102175039B1 (ko) * | 2013-06-25 | 2020-11-05 | 삼성전자주식회사 | 불휘발성 메모리 장치의 데이터 기입 방법 |
KR102572610B1 (ko) * | 2016-05-17 | 2023-09-01 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
KR102615659B1 (ko) * | 2016-07-08 | 2023-12-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
US10248515B2 (en) * | 2017-01-19 | 2019-04-02 | Apple Inc. | Identifying a failing group of memory cells in a multi-plane storage operation |
US10614898B1 (en) * | 2018-09-19 | 2020-04-07 | Sandisk Technologies Llc | Adaptive control of memory cell programming voltage |
EP3899711B1 (en) * | 2020-02-20 | 2024-02-07 | Yangtze Memory Technologies Co., Ltd. | Method of programming multi-plane memory device |
US11348643B2 (en) * | 2020-02-25 | 2022-05-31 | Apple Inc. | Identifying failure type in NVM programmed in SLC mode using a single programming pulse with no verification |
-
2021
- 2021-08-30 KR KR1020237021007A patent/KR20230108332A/ko not_active Application Discontinuation
- 2021-08-30 EP EP21955369.0A patent/EP4202938A4/en active Pending
- 2021-08-30 WO PCT/CN2021/115475 patent/WO2023028790A1/zh active Application Filing
- 2021-08-30 CN CN202180003644.4A patent/CN113994315A/zh active Pending
- 2021-08-30 JP JP2023537895A patent/JP2023554144A/ja active Pending
-
2022
- 2022-12-28 US US18/090,409 patent/US20230148416A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4202938A4 (en) | 2024-05-29 |
US20230148416A1 (en) | 2023-05-11 |
WO2023028790A1 (zh) | 2023-03-09 |
CN113994315A (zh) | 2022-01-28 |
KR20230108332A (ko) | 2023-07-18 |
EP4202938A1 (en) | 2023-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108122588B (zh) | 非易失性存储器设备及包括其的存储设备 | |
CN105144302B (zh) | 存储器装置中的错误校正操作 | |
JP7222632B2 (ja) | ワードライン不良検出回路を含むメモリ装置及びその駆動方法 | |
KR102514521B1 (ko) | 페이지 버퍼를 포함하는 불휘발성 메모리 장치 및 그것의 프로그램 검증 방법 | |
KR101833469B1 (ko) | 솔리드 스테이트 메모리에서 향상된 전압 분포를 위한 프로그래밍 스킴 | |
US7698615B2 (en) | Semiconductor memory device having single-level cells and multi-level cells and method of driving the semiconductor memory device | |
US20100208519A1 (en) | Semiconductor memory device and method of reading the same | |
KR20160117713A (ko) | 반도체 장치 및 그것의 동작 방법 | |
US9293213B2 (en) | Sensing data stored in memory | |
CN104637536A (zh) | 具有高效刷新操作的闪存设备 | |
CN111564171B (zh) | 非易失性存储器设备、包括其的存储设备及其操作方法 | |
CN104900270A (zh) | 半导体器件及其操作方法 | |
CN113257320A (zh) | 非易失性存储器设备 | |
US20230143677A1 (en) | Methods for programming a memory device, memory devices, and memory systems | |
JP2023554144A (ja) | メモリデバイス、メモリデバイスを動作させるための方法、メモリシステム | |
JP2010218623A (ja) | 不揮発性半導体記憶装置 | |
CN112037837B (zh) | 存储器系统、存储器控制器和存储器设备 | |
US20180350443A1 (en) | Methods, systems, and media for programming a storage device | |
KR20090098530A (ko) | 불휘발성 메모리 장치 및 그것의 읽기 방법 | |
KR20140079912A (ko) | 반도체 메모리 장치 및 이의 동작 방법 | |
CN109785892B (zh) | 包括字线缺陷检测电路的存储器器件 | |
US9159386B2 (en) | Semiconductor devices and reduction of operation times | |
JP2023115463A (ja) | 半導体装置およびプログラム方法 | |
CN115732021A (zh) | 擦除操作期间的缺陷检测 | |
CN116137161A (zh) | 存储器装置及操作存储器装置的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230620 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230620 |