JP6771621B1 - 少ないプログラムされたページを有するブロックを消去するシステム及び方法 - Google Patents

少ないプログラムされたページを有するブロックを消去するシステム及び方法 Download PDF

Info

Publication number
JP6771621B1
JP6771621B1 JP2019122698A JP2019122698A JP6771621B1 JP 6771621 B1 JP6771621 B1 JP 6771621B1 JP 2019122698 A JP2019122698 A JP 2019122698A JP 2019122698 A JP2019122698 A JP 2019122698A JP 6771621 B1 JP6771621 B1 JP 6771621B1
Authority
JP
Japan
Prior art keywords
block
voltage
erase
programmed
threshold
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.)
Active
Application number
JP2019122698A
Other languages
English (en)
Other versions
JP2020187816A (ja
Inventor
亞叡 李
亞叡 李
冠復 陳
冠復 陳
Original Assignee
旺宏電子股▲ふん▼有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 旺宏電子股▲ふん▼有限公司 filed Critical 旺宏電子股▲ふん▼有限公司
Application granted granted Critical
Publication of JP6771621B1 publication Critical patent/JP6771621B1/ja
Publication of JP2020187816A publication Critical patent/JP2020187816A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • G11C16/3413Circuits or methods to recover overprogrammed nonvolatile memory cells detected during program verification, usually by means of a "soft" erasing step
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/344Arrangements for verifying correct erasure or for detecting overerased cells
    • G11C16/3445Circuits or methods to verify correct erasure of nonvolatile memory cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5646Multilevel memory with flag bits, e.g. for showing that a "first page" of a word line is programmed but not a "second page"
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/18Flash erasure of all the cells in an array, sector or block simultaneously

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)

Abstract

【課題】少ないプログラムされたページを有するブロックを効率的に消去する方法、システム及び機器を提供する。【解決手段】システム100は、メモリとコントローラとを含む。メモリは、複数のページをそれぞれ有するブロックを含む。コントローラは、メモリのブロック中の特定のページ番号を有する閾ページがプログラムされているかを判定し、閾ページがプログラムされていると判定された場合、通常消去動作によってブロックを消去し、閾ページがプログラムされていないと判定された場合、通常消去動作よりも深くブロックを消去するように構成される特別消去動作に従ってブロックを消去する。特別消去動作は、ブロックを消去する前にブロックを事前プログラムすること、ブロックを消去する前に消去検査電圧を減少させること、又は新規消去電圧を有する消去パルスを1つ以上追加すること、の少なくとも1つを備える。【選択図】図1A

Description

NANDフラッシュメモリ等のメモリ装置あるいはシステムは、現代の生活において広く使われている。技術の進歩によって大記憶容量や低コストが実現され、メモリ装置あるいはシステムは、デジタルスチルカメラ、Universal Serial Bus(USB)メモリ、メモリーカード、スマートフォンを含む携帯電話、ネットブック、及びその他に適用されてきた。時として、ユーザは、メモリ装置あるいはシステムのとても小さい領域を使用する短い文章を頻繁に書くあるいは消すことがあるが、これはメモリブロックの消去に問題を起こしかねない。
本開示は、少ないプログラムされたページを有するブロックを効率的に消去するためのシステム及び技術を記載する。
本開示の1つの様態は、複数のページをそれぞれ有するブロックを備えるメモリと、メモリに接続されたコントローラであって、メモリ中の特定のページ番号を有する閾ページがプログラムされているかを判定し、閾ページがプログラムされていると判定された場合、通常消去動作によってブロックを消去し、閾ページがプログラムされていないと判定された場合、通常消去動作よりも深くブロックを消去するように構成された特別消去動作によってブロックを消去する、コントローラと、を備えるシステムである。特定のページ番号は、経験的結果に基づいて事前に決定されてよい。
コントローラは、閾ページのフラグが設定値と同一であるかを判定することによって、閾ページがプログラムされているかを判定するように構成される。いくつかの場合では、コントローラは、閾ページのフラグが設定値と同一でない時に閾ページがプログラムされていると判定し、閾ページのフラグが設定値と同一である時に閾ページがプログラムされていないと判定するように構成される。いくつかの場合では、コントローラは、メモリから閾ページのフラグを読みとるように構成される。
いくつかの実装例では、コントローラは、通常消去電圧を有する消去パルスをブロックに印加し、通常消去検査電圧より小さくない閾電圧を有するメモリセルの数が閾値より小さいかを検査することによって、消去検査試験を実行し、メモリセルの数が閾値よりも小さいと判定された場合、ブロックは消去検査試験を通過したと判定し、さらなる消去は実行せず、メモリセルの数が閾値よりも小さくないと判定された場合、ブロックが消去検査試験を通過するまで1つ以上の消去検査サイクルを実行する、ことを含む第1の消去検査サイクルを実行することによって、通常消去動作に従ってブロックを消去するように構成され、通常消去電圧は、サイクル毎にステップ電圧ずつ増加する。ステップ電圧は、サイクル毎に固定されてよい。
いくつかの場合では、コントローラは、通常消去動作に従ってブロックを消去し、その後、追加消去記ブロックに実行する、ことによって特別消去動作に従ってブロックを消去するように構成される。コントローラは、特別消去電圧を有する追加消去パルスをブロックに印加する、ことによって追加消去をブロックに実行するように構成されてよく、特別消去電圧は、追加電圧によってブロックに印加された先行する消去電圧よりも高い。追加電圧は、閾ページの特定のページ番号に関連してよい。追加電圧は、経験的結果に基づいて事前に決定されてよい。追加電圧は、ステップ電圧とは異なっていてよい。
いくつかの場合では、コントローラは、1つ以上の消去パルスをブロックに印加することによって、追加消去をブロックに実行するように構成され、消去パルスのそれぞれにおける消去電圧は、ステップ電圧によってブロックに印加される先行する消去電圧よりも高い。1つ以上の消去のショットの数は、閾ページの特定のページ番号に関連してよい。1つ以上の消去のショットの数は、経験的結果に基づいて事前に決定されてよい。
いくつかの場合では、コントローラは、追加検査電圧によって通常検査電圧を新規消去検査電圧へと減少させ、新規消去検査電圧を使用して、消去検査サイクルをブロックに実行する、ことによって特別消去動作に従ってブロックを消去するように構成される。追加検査電圧は、閾ページの特定のページ番号に関連し、経験的結果に基づいて事前に決定されてよい。
いくつかの場合では、コントローラは、ブロックを事前プログラムし、その後、通常消去動作に従って消去検査サイクルをブロックに実行する、ことによって特別消去動作に従ってブロックを消去するように構成される。コントローラは、通常消去電圧、ステップ電圧、及び通常消去検査電圧を使用して、消去検査サイクルをブロックに実行するように構成されてよい。
コントローラは、ブロック中のプログラムされたページの数が特定のページ番号よりも大きくなるように、プログラム電圧をブロックのページに印加することによって、ブロックを事前プログラムするように構成されてよい。コントローラは、ブロック中のページの全てを事前プログラムすることによって、ブロックを事前プログラムするように構成されてよい。プログラム電圧は、経験的結果に基づいて事前に決定されてよい。コントローラは、ブロック中のメモリセルのプログラム状態の検査をせずに、ブロックを事前プログラムするように構成されてよい。
いくつかの実装例では、コントローラは、ブロックを消去した後、ブロックをプログラムし、プログラムされたブロック中のメモリセルの閾電圧の分布を判定するために、ブロックを読み取り、判定されたプログラムされたブロック中のメモリセルの閾電圧の分布の結果に基づいて、ブロックが浅い消去の効果を示しているかを判定する、ように構成される。
いくつかの実装例では、コントローラは、ブロック中の第1のページ番号を有する第1の閾ページがプログラムされているかを判定し、第1の閾ページがプログラムされていると判定された場合、通常消去動作によってブロックを消去し、第1の閾ページがプログラムされていないと判定された場合、ブロック中の第2のページ番号を有する第2の閾ページがプログラムされているかを判定し、第2のページ番号は第1のページ番号よりも小さく、第2の閾ページがプログラムされていると判定された場合、通常消去動作よりも深くブロックを消去するように構成される第1の消去動作に従ってブロックを消去し、第2の閾ページがプログラムされていないと判定された場合、第1の通常消去動作よりも深くブロックを消去するように構成される第2の消去動作に従ってブロックを消去する、ように構成される。
本開示の別の様態は、メモリ中のブロックを消去する方法を特徴とする。方法は、メモリ中の特定のブロック中の特定のページ番号を有する閾ページがプログラムされているかを判定し、閾ページがプログラムされていないと判定された場合、通常消去動作よりも深くブロックを消去するように構成される特別消去動作に従ってブロックを消去する。通常消去動作は、複数のプログラムされたページを有するブロックに適用され、複数のプログラムされたページは、特定のページ番号よりも大きい。
前記特別消去動作は、ブロックを消去する前にブロックを事前プログラムすること、ブロックを消去する前に消去検査電圧を減少させること、新規消去電圧を有する消去パルスを1つ以上追加すること、の少なくとも1つを備えてよい。
本開示において実装される技術は、SLC(single−level−cell)装置、2レベルセル装置のようなMLC(multi−level cell)装置、TLC(triple−level−cell)装置、又はQLC(quad−level−cell)装置等の様々なメモリタイプに適用することができる。本技術は、2次元(2D)メモリシステム又は3次元(3D)メモリシステム等の様々な次元のメモリシステムに適用することができる。本技術は、中でもNANDフラッシュメモリ、NORフラッシュメモリ等の様々なタイプの不揮発性メモリシステムに適用することができる。追加的又は代替的には、本技術は、中でもセキュアデジタル(SD)カード、組み込みマルチメディアカード(eMMC)、又はソリッドステートドライブ(SSD)、組み込みシステム、メディアプレイヤー、モバイル装置等の様々なタイプの装置又はシステムに適用することができる。
1つ以上の開示される実装例の詳細は、添付の図面と共に以下の説明において定められる。その他の特徴、様態、及び利点は、説明、図面、及び請求の範囲によって明らかになる。
図1Aは、1つ以上の実装例に係る、メモリ装置を含むシステムの一例を示す。
図1Bは、1つ以上の実装例に係る、メモリブロックを含むシステムの一例を示す。
図1Cは、1つ以上の実装例に係る、2次元(2D)メモリのブロックの例を示す。
図1Dは、1つ以上の実装例に係る、3次元(3D)メモリのブロックの例を示す。
図2Aは、1つ以上の実装例に係る、通常消去及び浅い消去の後にプログラムされたメモリセルの閾電圧分布の例を示す。
図2Bは、1つ以上の実装例に係る、通常消去及び浅い消去におけるメモリセルの閾電圧分布の例を示す。
図3Aは、1つ以上の実装例に係る、事前読み取り及び追加消去動作を使用してプログラムされたページを有するブロックを効率的に消去するプロセスのフローチャートである。
図3Bは、1つ以上の実装例に係る、事前読み取りを使用し、消去検査深度動作を変更してプログラムされたページを有するブロックを効率的に消去するプロセスのフローチャートである。
図3Cは、1つ以上の実装例に係る、事前読み取り及び事前プログラム動作を使用してプログラムされたページを有するブロックを効率的に消去するプロセスのフローチャートである。
特定の状況では、ユーザは、メモリのブロック中の少数のページをプログラムし、その後、ブロック全体を消去することがある。しかし、ブロック中の少数のページは低ビットであるため、ブロックはとても容易に消去検査試験を通過しかねない。これは、ブロック中のメモリセルが通常消去状態となるように十分に消去されない、という浅い消去の問題を引き起こす。
本開示の実装例は、少数のプログラムされたページを有するブロックにおける浅い消去の問題を解決するシステム及び技術を提供する。具体的には、新規消去プロセスが使用可能であり、これはブロック中の特定のページ番号を有する閾ページが消去前にプログラムされたかを判定することを含む。例えば、閾ページの消去フラグ等のフラグを事前に読み取ってよい。閾ページのフラグが例えば0などの設定値である場合、それは、閾ページがプログラムされており、ブロックは十分なプログラムされたページを有していて浅い消去の問題を受けないだろうことを示し、消去検査を含む通常ブロック消去動作(又は操作)を実行することができる。一方、閾ページのフラグが例えば1などの異なる値である、つまり設定値でない場合、それは、閾ページがプログラムされておらず、ブロックは十分なプログラムされたページを有さず、通常ブロック消去動作が実行された場合、浅い消去の問題を受けるだろうことを示す。従って、新規消去動作は、ブロックをより深く消去するために、ブロックに対して実行することができる。
いくつかの実装例では、新規消去動作は、通常ブロック消去操作の後の特別消去電圧を有する追加消去パルスを1つ以上含む。特別消去電圧は、通常ブロック消去操作のためのステップ電圧とは異なる、特別増加ステップ電圧を有してよい。特別消去電圧は、例えば経験的結果に基づいて事前に決定される。特別消去電圧は、閾ページのページ番号によって異なる。いくつかの実装例では、新規消去動作は、通常ブロック消去操作の後の複数の追加消去パルスを含む。追加消去パルスは、通常ステップ電圧ずつ増加する消去電圧を有する。
いくつかの実装例では、新規消去動作は、消去検査を伴う通常ブロック消去を実行する前に、深い消去のための消去電圧設定を変更することを含む。例えば、新規消去動作における消去検査電圧は、通常消去検査電圧よりも低い電圧に設定されてよい。新規消去検査電圧は、経験的結果に基づいて決定されてよい。新規消去検査電圧は、閾ページ番号によって異なっていてよい。いくつかの実装例では、新規消去動作は、消去されるビットの量が浅い消去の問題を打ち消すために十分大きくなるように、通常ブロック消去動作の前にブロック(例えばブロック中の全てのページ)を事前プログラムすることを含む。このようにして、ブロックの消去深度は、通常消去検査電圧を有する通常消去によって制御することができる。事前プログラム電圧は、メモリセルが消去状態の閾電圧よりも高い閾電圧を有するようにプログラムされるように選択されてよい。メモリセルが特別プログラム状態にあることを検査するためのプログラム検査は必要ない。
本技術によれば、新規消去動作は普通の状態ではなく、例えば閾ページのフラグを確認することによって、ブロックが少ないプログラムされたページを有すると判定された場合にのみ実行されるため、余計な耐久ロスは起こりえない。さらに、新規消去動作は、少ないプログラムされたメモリセルが、過剰に消去されるのではなく、通常の消去深度を持つように消去されるように追加消去パルス又はより低い消去検査電圧を使用することができる。従って、余計な消去ダメージや消去性能のロスは起こらない。
図1Aは、データを消去及び/又はプログラムするためのシステム100の例を示す。システム100は、装置110及びホスト装置120を含む。装置110は、装置コントローラ112及びメモリ116を含む。装置コントローラ112は、プロセッサ113及び内部メモリ114を含む。
いくつかの実装例では、装置110は、記憶装置である。例えば、装置100は、セキュアデジタル(SD)カード、組み込みマルチメディアカード(eMMC)、ソリッドステートドライブ(SSD)、又はいくつかの他の好適なストレージであってよい。いくつかの実装例では、装置110は、スマートウォッチ、デジタルカメラ、又はメディアプレイヤーである。いくつかの実装例では、装置110は、ホスト装置120に接続されるクライアント装置である。例えば、装置110は、ホスト装置120であるデジタルカメラ又はメディアプレイヤーの中にあるSDカードである。
装置コントローラ112は、汎用マイクロプロセッサ又はアプリケーション専用マイクロコントローラである。いくつかの実装例では、装置コントローラ112は、装置110用のメモリコントローラである。以下の記述は、装置コントローラ112がメモリコントローラである実装例に基づいて、様々な技術を説明する。しかしながら、以下の記述で説明される技術は、装置コントローラ112がメモリコントローラ以外の別の種類のコントローラである実装例に対しても適用可能である。
プロセッサ113は、指令及びプロセスデータを実行するように構成される。指令は、二次メモリ中にファームウェアコード及び/又は他のプログラムコードとしてそれぞれ保存されるファームウェア指令及び/又は他のプログラム指令を含む。データは、他の好適なデータの中でも、プロセッサによって実行されるファームウェア及び/又は他のプログラムに対応するプログラムデータを含む。いくつかの実装例では、プロセッサ113は、汎用マイクロプロセッサ又はアプリケーション専用マイクロコントローラである。プロセッサ113は、中央演算処理装置(CPU)とも呼ばれる。
プロセッサ113は、内部メモリ114の指令及びデータにアクセスする。いくつかの実装例では、内部メモリ114は、Static Random Access Memory(SRAM)又はDynamic Random Access Memory(DRAM)である。例えば、いくつかの実装例では、装置110がeMMC、SDカード、又はスマートウォッチである場合、内部メモリ114はSRAMである。いくつかの実装例では、装置110がデジタルカメラ又はメディアプレイヤーである場合、内部メモリ114はDRAMである。
いくつかの実装例では、図1Aに示されるように、内部メモリは装置コントローラ112に含まれるキャッシュメモリである。内部メモリ114は、プロセッサ113によって実行された指令に対応する指令コード、及び/又はランタイム中にプロセッサ113に要求されるデータを保存する。
装置コントローラ112は、メモリ116の指令コード及び/又はデータを内部メモリ114へと転送する。いくつかの実装例では、メモリ116は、例えばNANDフラッシュメモリ装置又は他の好適な不揮発性メモリ装置等の指令及び/又はデータの長期保存用に構成される不揮発性メモリである。メモリ116がNANDフラッシュメモリである実装例では、装置110は例えばフラッシュメモリーカード等のフラッシュメモリ装置であり、装置コントローラ112はNANDフラッシュコントローラである。例えば、いくつかの実装例では、装置110がeMMC又はSDカードである場合、メモリ116はNANDフラッシュであり、装置110がデジタルカメラである場合、メモリ116はSDカードであり、装置110がメディアプレイヤーである場合、メモリ116はハードディスクである。以下の記述では、単に説明のために、メモリ116の例としてNANDフラッシュメモリを使用する。
図1Bは、複数のブロック118を含むメモリ116の構成の例を示す。メモリ116は、2次元(2D)メモリ又は3次元(3D)メモリであってよい。
図1Cは、メモリ116が2Dメモリである場合の2次元(2D)メモリブロック140の構成の例である。ブロック140は、ブロック118であってよい。ブロック140は、複数のセルストリング144を形成するために行ビット線BL、BL、...、BLnー1、BLに連続して接続され、複数のセルページ142を形成するために行ワード線WL、WL、...、WLnー1、WLに連続して接続されるメモリセル141を含む。セルストリング144は、全てが連続して接続される、複数のメモリセル141、ストリング選択トランジスタ(SST)143、グランド選択トランジスタ(GST)145を含む。SST143のゲートは、ストリング選択線(SSL)146に接続される。異なるストリングにおけるSST143のゲートは、同じSSLに接続される。メモリセル141のゲートは、ワード線WL、WL、...、WLnー1、WLにそれぞれ接続される。メモリセル141は、GST145を介して共通ソース線(CSL)149に接続される。GST145のゲートは、グランド選択線(GSL)148に接続される。異なるストリングにおけるGST145のゲートは、同じGSLに接続される。セルページ142は、複数のメモリセル141に接続されてよい。セルページ142におけるメモリセル141のゲートは、各ワード線(WL)に連続して接続される。ワード線に入力電圧が印加された場合、入力電圧はセルページ142におけるメモリセル141のゲートにも印加される。読み取り操作中にブロック140中の特定のセルページ142を読み取るためには、特定のセルページ142に対応するワード線により低い電圧が印加される。一方で、ブロック140中の他のセルページにより高い電圧が印加される。
装置110は、読み取り操作、書き込み操作、及び消去操作を管理するためのフラッシュ変換レイヤ(FTL)を含んでよい。FTLは、例えば内部メモリ114等の中の装置コントローラ112に保存されてよい。FTLは、論理ブロック中の論理ページから物理ブロック中の物理ページへのマッピングを保存するlogical−to−physical(L2P)アドレスマッピングテーブルを使用する。
図1Dは、メモリ116が3Dメモリである場合の3Dメモリブロック150の例を示す。メモリブロック150は、ブロック118であってよい。メモリセル157は、例えばXYZ座標系等の3次元中に配置され、複数のセルページ152を形成するために複数のワード線に接続され、複数のセルストリング154を形成するために複数のビット線に接続される。セルストリング154は、連続して接続される複数のメモリセル157を含み、メモリセル157はストリング選択線(SSL)156に接続されるSSTとして構成されてよく、メモリセル157はグランド選択線(GSL)158に接続されるGSTとして構成されてよい。メモリセル157は、GSTを介して共通ソース線(CSL)159に接続される。
メモリブロック150は、例えばZ方向に沿って垂直に、積層される複数のメモリ層160を含んでよい。各メモリ層160は、複数のセルページ152を含む、例えばXY平面等の2次元平面層であってよい。各セルページ152は、個別に読み取り及び/又はプログラムされてよい。読み取り操作においてメモリ層160中の特定のセルページ152を読み取るために、特定のセルページ152に対応するワード線により低い電圧が印加される。より低い電圧は、メモリ層160中の他のメモリ層にも印加される。一方で、ブロック150中の他のメモリ層にはより高い電圧が印加される。
メモリセルは、プログラム状態又は消去状態にあってよい。例えば、メモリセルがSLCである場合、メモリセルは、プログラム状態「0」へとプログラムされ、消去状態「1」へと消去されてよい。メモリセルが2ビットデータを保存できるMLCである場合、メモリセルは、プログラム状態(0,1)(0,0)、及び(1,0)のいずれかへとプログラムされ、消去状態(1,1)へと消去されてよい。単に説明のために、SLCはメモリセルとして使用される。
メモリセルは、一度プログラム又は消去されると、それに対応する閾電圧を持つ。閾電圧は、メモリセルの特性である。閾電圧以上の読み取り電圧がメモリセルのゲートに印加されたとき、メモリセルはオンにする。閾電圧未満の読み取り電圧がメモリセルのゲートに印加されたとき、メモリセルはオフになる。読み取り動作は、プログラム又は消去動作ではなく、メモリセルの状態を変化させることを意図しない。
例えば消去状態又はプログラム状態である同じ状態に対応する、ブロック中の複数のメモリセルの閾電圧は、例えば下限電圧と上限電圧の間の範囲にある分布を有してよい。この範囲内にある閾電圧を有するメモリセルは、その対応する状態にあると見なされる。換言すると、状態にあるメモリセルは、範囲内の閾電圧を持つ。例えば、図2Aに示されるように、メモリセルがV10〜Vh0の閾電圧を持つ場合、メモリセルは消去状態Eにあり、メモリセルがV11〜Vh1の閾電圧を持つ場合、メモリセルはプログラム状態Pにある。曲線202及び204は、それぞれ、メモリセルの状態E及びPの閾電圧分布を示す。
通常プログラム操作中に、メモリセルは、プログラム電圧をメモリセルに印加し、プログラムされたメモリセルがプログラム状態にあるかを検査することによって、例えば消去状態Eである消去状態から、例えばプログラム状態Pであるプログラム状態へとプログラムされる。検査動作は、メモリセルがプログラム状態へとプログラムされたかを検査するために、プログラム状態P用の例えばプログラム状態の閾電圧V11等の検査電圧を使用してよい。プログラム/検査サイクルは、メモリセルがプログラム状態へとプログラム及び検査されるまで、複数回繰り返されてよい。
通常読み取り操作中に、選択されたメモリセルがオン状態にあるかオフ状態にあるかを判定するために、メモリセルのゲートに接続されるワード線に読み取り電圧が印加されてよい。消去状態Eの閾電圧超であり、プログラム状態Pの閾電圧未満である読み取り電圧VRdが印加されたとき、メモリセルは、消去状態である場合はオンになり、プログラム状態である場合はオフになる。
通常消去操作中に、例えばブロック又は他のユニット中のメモリセルは、消去される。いくつかの実装例では、メモリセルは、通常消去操作中に、メモリセルのpウェル領域を消去電圧へと一定時間上げ、ソース及びビット線がフロートしている間に選択されたブロック又はユニットのワード線(メモリセルのゲートに接続される)を地絡させることによって、消去される。消去電圧は、メモリセルのための閾電圧よりも高くてよい。選択又は消去されなかったブロック又はユニット中では、ワード線はフロートしている。容量性カップリングにより、選択されなかったワード線、ビット線、選択線、及び共通ソース線も、消去電圧のかなりの割合まで上げられ、消去されると選択されなかったブロックの消去を妨げる。消去されると選択されたブロック中では、選択されたメモリセルのトンネル酸化物層に強い電界が印加され、選択されたメモリセルは、例えばファウラー―ノルドハイムトンネルメカニズムによって、フローティングゲートの電子が基板側へと放出されるにつれて消去される。電子がフローティングゲートからpウェル領域へと転移するにつれて、選択されたメモリセルの閾電圧は減少する。
メモリセルを消去するために消去電圧が印加された後、ブロック又はユニット中のメモリセルは、消去状態になる、あるいはプログラム状態であり続けてよい。図2Bの曲線252又は254に示されるように、メモリセルの閾電圧は分布してよい。その後、例えば図1Aの装置コントローラ112であるコントローラは、消去されたメモリセルが消去状態にあるか否かを検査するために、例えば消去検査電圧Vを印加することによって、消去検査操作を実行してよい。そのメモリセルの閾電圧がV未満である場合、コントローラは、メモリセルは適切に消去されて消去状態にあると判定することができる。V超の閾電圧を有するメモリセルの数(又はビット数あるいはストリング数)が閾値(例えば3、4、又は5)未満であるとコントローラが判定した場合、コントローラは、ブロックは消去検査試験を通過し、さらなるブロックの消去は必要ないと判定する。
超の閾電圧を有するメモリセルの数が閾値以上であるとコントローラが判定した場合、コントロールは、ブロックは消去検査試験を通過せず、さらなる消去が必要であると判定する。通常消去操作では、コントローラは、消去電圧をステップ電圧分増加させ、メモリセルを消去するために増加した消去電圧を印加し、再び検査を行う。ステップ電圧は固定されてよく、例えば1ボルト(V)である。通常消去操作では、消去−検査サイクルは、V超の閾電圧を有するメモリセルの数が閾値未満となるまで複数回(例えば3、4、又は5回)繰り返されてよい。
図2Bの曲線252は、通常消去操作の後のブロック中のメモリセルの閾電圧の分布を示す。ブロックは、十分な数のプログラムされたページを有し、その結果、V超の閾電圧を有するメモリセルの数が閾値未満であり、ブロックが消去検査を通過し、メモリセルは、V0が中央値である閾電圧分布の通常消去状態へと消去される。
図2Bの曲線254は、通常消去操作の後の少ないプログラムされたページ(例えば5ページ未満)を有するブロック中のメモリセルの閾電圧の分布を示す。十分な数のプログラムされたページを有するブロックよりもブロック中のプログラムされたメモリセルの数が少ないため、このブロックは、V超の閾電圧を有するブロック中のメモリセルの数が閾値未満であり、消去検査を通過する可能性がより高い。しかしながら、曲線254の中央閾電圧V1は、曲線252の中央閾電圧V0より大きく、曲線254の閾電圧の分布は、曲線252の閾電圧の分布より高い方へシフトしている。すなわち、ブロック中のメモリセルは、浅い消去を受け、通常消去状態にならない。ブロックが再プログラム及び再読取りされるとき、浅い消去を受けたメモリセルは、図2Aの曲線202’及び204に示される閾電圧分布を有しうる。浅い消去状態E’のメモリセルは、V10’にシフトされた低い閾電圧及びVh0’にシフトされた高い閾電圧を有しうる。
いくつかの場合では、コントローラは、消去の前にブロックを事前プログラムしてよい。しかしながら、浅い消去の問題を回避するために、ブロックは十分なプログラムされたページを有してブロックを事前プログラムする必要がなくてもよい。従って、事前プログラムは、ブロックの耐久を不必要に劣化させうる。
いくつかの場合では、コントローラは、いかなるブロックをも消去するために、消去検査電圧を低く変更してよい。十分なプログラムされたページを有するブロックは、より深い消去を受けてよい。従って、消化検査電圧の変更は、サイクル中に余計なストレスがかかることによるブロックの耐久の劣化が起こりうる。
ブロックがプログラムされると、ブロック中のページは順番にプログラムされる。例えば、ブロックはNのページ番号を有する。データは、ページ0、ページ1、ページ2、...、ページXへと順番にプログラムされ、Xは0≦X≦N−1である。ページがプログラムされたとき、ページがプログラムされたことを示すフラグが、ページにプログラムされたデータと共にメモリに書き込まれてよい。例えば、フラグは、ページ又はメモリの余剰領域に保存されてよい。フラグは、消去フラグであってよい。消去フラグが例えば0である第1の値を有する場合、それはページがプログラムされていることを示し、消去フラグが例えば1である第1の値とは異なる第2の値を有する場合、それはページがプログラムされていないこと、またはプログラムされる準備ができていることを示す。
本開示の実装例は、ブロック中の特定のページ番号Xを有する事前に判定された閾ページがプログラムされているか否かを確認することによって、ブロックが少ないプログラムされたページを有し、浅い消去の問題を受けうるかを判定可能にする。例えば、コントローラは、事前に判定された閾ページの消去フラグを確認してよい。消去フラグが0である場合、それは閾ページがプログラムされており、少なくともX+1の数のページがプログラムされていることを示す。コントローラは、ブロックは十分にプログラムされたページを有し、通常消去動作によってブロックを消去しても浅い消去の問題が回避可能であると判定してよい。消去フラグが1である場合、それは閾ページがプログラムされておらず、最大でXの数のページがプログラムされていることを示す。コントローラは、ブロックは少ないプログラムされたページを有し、通常消去動作によってブロックを消去すると浅い消去の問題が発生すると判定してよい。従って、コントローラは、ブロックを消去するために、新規消去動作を実行することができる。新の消去動作は、ブロックが浅い消去の問題を受けないように、通常消去動作よりも深くブロックを消去するように構成される。
図3A−Cは、1つ以上の実装例に係る、プログラムされたページを有するブロックを消去するための消去動作の例を示す。消去動作は、例えば図1Aの装置コントローラ112又は図1Aのホスト装置120のコントローラであるコントローラによって実行されてよい。コントローラは、ブロック用の一般消去指令を受け取ってよい。コントローラは、ブロックが少ないプログラムされたページを有するか否かを判定することで、ブロックに通常消去動作を行うか、新規消去動作を行うかを判定する。ブロックが十分なプログラムされたページを有していると判定された場合、コントローラは、ブロックは通常消去動作によって消去されると判定する。ブロックが少ないプログラムされたページを有すると判定された場合、コントローラは、ブロックは新規消去動作によって消去されると判定する。
図3Aは、1つ以上の実装例に係る、事前読み取り及び追加消去動作を使用してプログラムされたページを有するブロックを効率的に消去するプロセス300のフローチャートである。
ブロック中のページは、プログラムされている(302)。各ページは、ブロック中にそれぞれページ番号を有する。データは、ブロック中のページに順番にプログラムされる。上述の通り、ブロックがページ番号0〜63の64個のページを有する場合、データは、ページ0、ページ1、ページ2、...、ページPへと順番にプログラムされ、Pは0≦X≦63である。
閾ページの消去フラグは、事前読み取りされる(304)。閾ページは、ページ番号Xを有する。ページ番号Xは、例えば経験的結果に基づいて、事前決定される。例えば、(0〜X−1のページ番号を有する)X個のプログラムされたページを有するブロックが通常消去動作で消去された後、ブロックは、例えば図2A’の曲線202’に示されるように、浅い消去の効果を示す。一方で、(0〜Xのページ番号)X+1個のプログラムされたページを有するブロックは、通常消去動作の後でも浅い消去の効果を示さない。従って、ページ番号Xは閾値と決定されてよく、ページ番号Xを有するページはブロック中の閾ページである。
コントローラは、消去フラグが1であるか否かを判定する(306)。上述したように、消去フラグが1でない場合、すなわち、0である場合、それは閾ページがプログラムされていることを示す。従って、コントローラは、浅い消去の問題のリスクが低い状態で、通常消去動作によってブロックが消去されるために十分なプログラムされたページをブロックが有すると判定する。
消去フラグが1と同一でないと判定された場合、コントローラは、消去検査を含む通常消去動作によるブロックの消去へと進む(308)。上述したように、通常消去動作では、ブロックは、通常消去検査電圧E以上の閾電圧をそれぞれ有するメモリセル(又はビット数)の数が閾値より小さくなるまで、消去及び検査サイクルを繰り返すことによって、消去される。複数のサイクルでは、消去パルス(又はショット)の消去電圧は、例えばサイクルあたり1V等のステップ電圧によって増加され、消去検査電圧Eは固定される。
消去フラグが1と同一である場合、それは閾ページがプログラムされておらず、ブロック中にプログラムされたページが最大でX個存在することを示す。すなわち、コントローラは、ブロックは少ないプログラムされたページを有し、ブロックが通常消去動作で消去されると浅い消去の問題が発生するリスクがあると判定する。従って、コントローラは、新規消去動作310を実行するよう判定してよい。
新規消去動作310において、コントローラは、最初に、消去検査を含む通常消去動作によってブロックを消去する(320)。ステップ320は、ステップ308と同一であってよい。ステップ320の後、コントローラは、新規消去電圧を有する追加消去パルスを追加してよい(322)。新規消去電圧Vnewは、通常消去動作の最後の消去電圧Vlastよりも追加電圧ΔV分大きい、すなわちVnew=Vlast+ΔVである。追加ΔVは、通常消去動作の固定ステップ電圧と同じ又は異なっていてよい。追加電圧ΔVは、閾ページのページ番号Xに関係してよい。追加電圧ΔVは、経験的結果に基づいて決定されてよい。例えば、X個のプログラムされたページを有する複数のブロックは、最初に通常消去動作で消去され、次に新規消去電圧Vnewで消去される。追加電圧ΔVは、ブロックが浅い消去の問題を示さなくなるまで調節されてよい。いくつかの場合では、コントローラは、異なる追加電圧ΔVを有する2つ以上の追加消去パルスを追加してよい。
あるいは、ステップ320の後、コントローラは、追加の複数のショットを追加してよい(322a)。いくつかの場合では、各追加のショット(又はパルス)は、先の消去電圧よりも、例えば1Vである通常消去操作の固定ステップ電圧分増加された消去電圧を有する。すなわち、追加のショットは、サイクルあたりの固定ステップ電圧を含む同じ消去設定によって通常消去操作を続ける。複数のショットの数は、閾ページのページ番号Xに関係し、経験的結果に基づいて決定されてよい。例えば、X個のプログラムされたページを有するブロックは、最初に通常消去動作で消去され、次に追加のショットで消去される。追加のショットの数は、ブロックが浅い消去の問題を示さなくなるまで調節されてよい。
ステップ320において、通常消去操作の後、ブロックは消去検査を通過することが留意される。ステップ322又はステップ322aにおいて、消去検査は実行されない。また、ブロックがさらに消去され、消去検査電圧V超の閾電圧を有するメモリセルの数も減少したため、消去検査試験を実行する必要がない。ブロックは、ステップ322又は322aの追加消去の後では、消去検査試験を確実に通過する。
ステップ308又は310の後、プロセス300は、ブロックが通常プログラム動作に従ってプログラムされるステップ312へと進む。次に、ブロックは、通常読み取り動作によって読み取られる(314)。いくつかの場合では、例えば図2Aに示されるように、読み取り動作によってブロック中のメモリセル(又はビット)の閾電圧の分布が取得される。ブロックが浅い消去の効果の問題を示すかは、取得されたブロック中のメモリセルの閾電圧の分布に基づいて判定されてよい。
図3Bは、1つ以上の実装例に係る、事前読み取りを使用し、消去検査深度動作を変更してプログラムされたページを有するブロックを効率的に消去する別のプロセス330のフローチャートである。プロセス330におけるステップは、ステップ332を除いて、図3Aのプロセス300におけるステップと同じである。
閾ページの消去フラグが1と同一であると判定された場合、消去ステップ308を実行する前に、コントローラは、消去検査操作のための消去検査電圧を、事前決定された電圧から例えばより低い電圧等の調節された電圧へと変更する。例えば、消去検査電圧Vがより低い(又はより深い)状態、例えば0.3Vから0.2V、へと変更された場合、0.3Vである高い消去検査電圧による消去検査を通過するブロックは、0.2である低い消去検査電圧による消去検査を通過できない。従って、ステップ308では、ブロックは、低い消去検査電圧による消去検査を通過するまで、一回以上消去されなければならない。このようにして、浅い消去の問題を除去するために、追加消去がブロックに実行される。一方で、ステップ332が実行されない場合、ステップ308においては、事前決定された電圧が消去検査電圧として使用される。
変更された消去検査電圧は、閾ページのページ番号Xと関係してよい。変更された消去検査電圧は、経験的結果に基づいて決定されてよい。例えば、X個のプログラムされたページを有するブロックは、通常消去操作において変更された消去検査電圧によって消去される。消去検査電圧値は、ブロックが浅い消去の問題を示さなくなるまで調節されてよい。
図3Cは、1つ以上の実装例に係る、事前読み取り及び事前プログラム動作を使用してプログラムされたページを有するブロックを効率的に消去するさらなるプロセス350のフローチャートである。プロセス350におけるステップは、ステップ352を除いて、図3Aのプロセス300におけるステップと同じである。
閾ページの消去フラグが1と同一であると判定された場合、消去ステップ308を実行する前に、コントローラは、ブロックに事前プログラムを実行する。例えば、ブロックは、プログラム電圧を有するプログラムパルスを印加することによって、事前プログラムされてよい。ブロック中の全てのページは、ステップ352において、ブロックが消去の前に十分なプログラムされたページ又はプログラムされたビットを有するように、事前プログラムされてよい。ステップ352は、メモリセルが特別プログラム状態へとプログラムされているかの検査を含まない。代わりに、プログラムパルスのみがブロックへと印加される。プログラム電圧は、閾電圧のページ番号Xに関係してよい。プログラム電圧は、経験的結果に基づいて決定されてよい。
いくつかの実装例では、2つ以上の閾ページが、ブロックのために事前決定されてよい。例えば、ブロックは64のページを有し、ページ5及び10が閾ページとして決定されてよい。コントローラは、最初に、例えばページ10である大きいページ番号を有する第1の閾ページの消去フラグを読み取る。第1の閾ページの消去フラグが1でない場合、コントローラは、ブロックは十分にプログラムされたページを有し、通常消去動作によって消去することができると判定する。第1の閾ページの消去フラグが1である場合、コントローラは、続いて、例えばページ5である小さいページ番号を有する第2の閾ページの消去フラグを事前読み取りする。
第2の閾ページの消去フラグが1でない場合、コントローラは、ブロックはページ6〜10である大きいページ番号と小さいページ番号との間の値のプログラムされたページを有すると判定する。ブロックは、通常消去動作とは異なる第1の消去動作によって消去することができる。図3A〜Cに示されるように、第1の消去動作は、異なる追加電圧を有する追加パルス、又は追加の複数のショットを追加すること、消去検査電圧を変更すること、あるいはブロックを事前プログラムすることを含んでよい。上述の方法と同じように、第1の消去動作は、経験的結果に基づいて決定されてよい。
第2の閾ページの消去フラグが1である場合、コントローラは、ブロックは例えば最大で5個のページである少ないプログラムされたページを有すると判定する。ブロックは、第1の消去動作及び通常消去動作とは異なる第2の消去動作によって消去されてよい。図3A〜Cに示されるように、第1の消去動作は、異なる追加電圧を有する追加パルス、又は追加の複数のショットを追加すること、消去検査電圧を変更すること、あるいはブロックを事前プログラムすることを含んでよい。上述の方法と同じように、第2の消去動作は、経験的結果に基づいて決定されてよい。第2の消去動作は、プログラムされたページの数が小さいため、第1の消去動作よりも深くブロックを消去する。
開示された例及びその他の例は、例えばデータ処理機器による実行のため又はその操作の制御のためのコンピュータ読み取り可能媒体にエンコードされたコンピュータプログラム指令の1つ以上のモジュールである、1つ以上のコンピュータプログラムプロダクトとして実装されてよい。コンピュータ読み取り可能媒体は、機械読み取り可能記憶装置、機械読み取り可能記憶基板、記憶装置、又はそれらの1つ以上の組み合わせであってよい。「データ処理機器」の単語は、例としてプログラマブルプロセッサ、コンピュータ、又は複数のプロセッサあるいはコンピュータを含む、データ処理用の機器、装置、及び機械の全てを包含する。機器は、ハードウェアに加えて、プロセッサファームウェアを構築するコード等の問題のコンピュータプログラム用の実行環境を作成するコード、例えば、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの1つ以上の組み合わせを構成するコード含んでよい。
システムは、例としてプログラマブルプロセッサ、コンピュータ、又は複数のプロセッサあるいはコンピュータを含む、データ処理用の機器、装置、及び機械の全てを包含する。システムは、ハードウェアに加えて、プロセッサファームウェアを構築するコード等の課題のコンピュータプログラム用の実行環境を作成するコード、例えば、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの1つ以上の組み合わせを構成するコード含んでよい。
(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる)コンピュータプログラムは、コンパイル又はインタープリタ型言語を含むあらゆる形態のプログラミング言語で書かれてもよく、スタンドアロンプログラム、又はコンピュータ環境における使用に好適なモジュール、コンポーネント、サブルーチン、あるいは他のユニットを含む、あらゆる形態で展開されてよい。コンピュータプログラムは、ファイルシステム中のファイルに必ずしも対応する必要はない。プログラムは、他のプログラム又はデータを保持するファイルの一部(例えばマークアップ言語ドキュメントに保存される1つ以上のスクリプト)、問題のプログラム専用の単一ファイル、複数の調製ファイル(例えばモジュール、サブプログラム、又コードの一部の1つ以上を保存するファイル)に保存されてよい。コンピュータプログラムは、1つの場所に配置又は複数の場所に分散配置され、通信ネットワークで接続される1つのコンピュータあるいは複数のコンピュータにおいて実行するために展開されてよい。
本明細書において説明されるプロセス及び論理フローは、本明細書に説明される機能を実行するために、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行されてよい。また、例えばFPGA(フィールドプログラマブルゲートアレイ)又はASIC(アプリケーション専用集積回路)等の専用論理回路は、プロセス及び論理フローを実行してよく、機器として実装されてもよい。
コンピュータプログラムの実行に好適なプロセッサは、例として、汎用及び専用マイクロプロセッサの両方、及びあらゆる種類のデジタルコンピュータの1つ以上のプロセッサの全てを含む。一般的に、プロセッサは、リードオンリメモリ又はランダムアクセスメモリ、あるいはその両方から指令及びデータを受け取る。コンピュータの必須要素は、指令を実行するプロセッサと、指令及びデータを保存する記憶装置とを含む。一般的に、コンピュータは、さらに、例えば磁気、光磁気、又は光ディスク等のデータを保存する1つ以上の大容量保存装置を、含むあるいはデータを送受信するために操作可能に接続される。しかしながら、コンピュータは、そのような装置を含まなくてもよい。コンピュータプログラム指令及びデータを保存するために好適なコンピュータ読み取り可能媒体は、例として、EPROM、EEPROM等の半導体記憶装置、フラッシュメモリ装置、及び磁気ディスクを含むあらゆる形態の不揮発性メモリ、メディア、及び記憶装置を含む。プロセッサは及びメモリは、専用論理回路に補助される又は組み込まれてよい。
本明細書はいくつかの具体例を説明するが、それらは本発明の特許請求の範囲を限定するものではなく、むしろ特定の実施の形態を具体的に説明するものと解釈されるべきである。本明細書において異なる実施の形態として説明される特定の特徴は、1つの実施の形態において組み合わされて実装されてもよい。一方で、1つの実施の形態において説明される様々な特徴は、個別の実施の形態において実装されてもよく、又はあらゆる好適な組み合わせで実装されてもよい。さらに、複数の特徴が特定の組み合わせとして上述され、また請求されているが、それらの特徴の1つ以上は、いくつかの場合のおいて組み合わせから除外されていてもよく、請求される組み合わせはそのような組み合わせの種々を含む。同様に、複数の操作は、図において特定の順番で描かれているが、これらの操作は、望まし結果を達成するために、特定の順番又は連続する順番で実行されること、又は全ての図示される操作が実行されることを必要とするものではないと理解されるべきである。
本明細書では、少数の例及び実装例のみが開示される。これらの記述される例及び実装例ならびに他の実装例に対する変更、変形、及び改良は、本開示に基づいて行われてよい。

Claims (20)

  1. 複数のページをそれぞれ有するブロックを備えるメモリと、
    前記メモリに接続され、
    前記メモリ中の特定のページ番号を有する閾ページがプログラムされているかを判定し、
    前記閾ページがプログラムされていると判定された場合、通常消去動作によって前記ブロックを消去し、
    前記閾ページがプログラムされていないと判定された場合、前記通常消去動作よりも深く前記ブロックを消去するように構成される特別消去動作に従って前記ブロックを消去する、コントローラと、
    を備えるシステム。
  2. 前記コントローラは、前記閾ページのフラグが設定値と同一であるかを判定することによって、前記閾ページがプログラムされているかを判定するように構成される、請求項1のシステム。
  3. 前記コントローラは、前記メモリから前記閾ページの前記フラグを読みとるように構成される、請求項2のシステム。
  4. 前記特定のページ番号は、経験的結果に基づいて事前に決定される、請求項1のシステム。
  5. 前記コントローラは、
    通常消去電圧を有する消去パルスを前記ブロックに印加し、
    通常消去検査電圧より小さくない閾電圧を有するメモリセルの数が閾値より小さいかを検査することによって、消去検査試験を実行し、
    前記メモリセルの数が前記閾値よりも小さいと判定された場合、前記ブロックは前記消去検査試験を通過したと判定し、さらなる消去は実行せず、
    前記メモリセルの数が前記閾値よりも小さくないと判定された場合、前記ブロックが前記消去検査試験を通過するまで1つ以上の消去検査サイクルを実行する、
    ことを含む第1の消去検査サイクルを実行することによって、前記通常消去動作に従って前記ブロックを消去するように構成され、
    前記通常消去電圧は、サイクル毎にステップ電圧ずつ増加する、請求項1のシステム。
  6. 前記コントローラは、
    前記通常消去動作に従って前記ブロックを消去し、
    その後、追加消去を前記ブロックに実行する、ことによって前記特別消去動作に従って前記ブロックを消去するように構成される、請求項5のシステム。
  7. 前記コントローラは、
    特別消去電圧を有する追加消去パルスを前記ブロックに印加する、ことによって前記追加消去を前記ブロックに実行するように構成され、
    前記特別消去電圧は、追加電圧によって前記ブロックに印加された先行する消去電圧よりも高い、請求項6のシステム。
  8. 前記追加電圧は、前記閾ページの前記特定のページ番号に関連する、請求項7のシステム。
  9. 前記追加電圧は、経験的結果に基づいて事前に決定される、請求項7のシステム。
  10. 前記コントローラは、
    1つ以上の消去パルスを前記ブロックに印加することによって、前記追加消去を前記ブロックに実行するように構成され、
    前記消去パルスのそれぞれにおける消去電圧は、前記ステップ電圧によって前記ブロックに印加される先行する消去電圧よりも高い、請求項6のシステム。
  11. 1つ以上の消去のショットの数は、前記閾ページの前記特定のページ番号に関連する、請求項10のシステム。
  12. 1つ以上の消去のショットの数は、経験的結果に基づいて事前に決定される、請求項10のシステム。
  13. 前記コントローラは、
    追加検査電圧によって前記通常検査電圧を新規消去検査電圧へと減少させ、
    前記新規消去検査電圧を使用して、消去検査サイクルを前記ブロックに実行する、ことによって特別消去動作に従って前記ブロックを消去するように構成される、請求項5のシステム。
  14. 前記追加検査電圧は、前記閾ページの前記特定のページ番号に関連し、経験的結果に基づいて事前に決定される、請求項13のシステム。
  15. 前記コントローラは、
    前記ブロックを事前プログラムし、
    その後、前記通常消去動作に従って消去検査サイクルを前記ブロックに実行する、ことによって特別消去動作に従って前記ブロックを消去するように構成される、請求項5のシステム。
  16. 前記コントローラは、前記ブロック中のプログラムされたページの数が前記特定のページ番号よりも大きくなるように、プログラム電圧を前記ブロックのページに印加することによって、前記ブロックを事前プログラムするように構成される、請求項15のシステム。
  17. 前記コントローラは、
    前記ブロックを消去した後、前記ブロックをプログラムし、
    プログラムされたブロック中のメモリセルの閾電圧の分布を判定するために、前記ブロックを読み取り、
    判定された前記プログラムされたブロック中のメモリセルの閾電圧の分布の結果に基づいて、前記ブロックが浅い消去の効果を示しているかを判定する、ように構成される、請求項1のシステム。
  18. 前記コントローラは、
    前記ブロック中の第1のページ番号を有する第1の閾ページがプログラムされているかを判定し、
    前記第1の閾ページがプログラムされていると判定された場合、前記通常消去動作によって前記ブロックを消去し、
    前記第1の閾ページがプログラムされていないと判定された場合、前記ブロック中の第2のページ番号を有する第2の閾ページがプログラムされているかを判定し、前記第2のページ番号は前記第1のページ番号よりも小さく、
    前記第2の閾ページがプログラムされていると判定された場合、前記通常消去動作よりも深く前記ブロックを消去するように構成される第1の消去動作に従って前記ブロックを消去し、
    前記第2の閾ページがプログラムされていないと判定された場合、前記第1の通常消去動作よりも深く前記ブロックを消去するように構成される第2の消去動作に従って前記ブロックを消去する、ように構成される請求項1のシステム。
  19. メモリ中の特定のブロック中の特定のページ番号を有する閾ページがプログラムされているかを判定することと、
    前記閾ページがプログラムされていないと判定された場合、通常消去動作よりも深く前記ブロックを消去するように構成される特別消去動作に従って前記ブロックを消去することと、
    前記通常消去動作は、複数のプログラムされたページを有するブロックに適用され、前記複数のプログラムされたページの数は、前記特定のページ番号よりも大きいことと、
    を備えるメモリ中のブロックを消去する方法。
  20. 前記特別消去動作は、
    前記ブロックを消去する前に、前記ブロックを事前プログラムすること、
    前記ブロックを消去する前に、消去検査電圧を減少させること、
    新規消去電圧を有する消去パルスを1つ以上追加すること、の少なくとも1つを備える、請求項19の方法。

JP2019122698A 2019-05-10 2019-07-01 少ないプログラムされたページを有するブロックを消去するシステム及び方法 Active JP6771621B1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/409,470 2019-05-10
US16/409,470 US10665303B1 (en) 2019-05-10 2019-05-10 Erasing blocks with few programmed pages

Publications (2)

Publication Number Publication Date
JP6771621B1 true JP6771621B1 (ja) 2020-10-21
JP2020187816A JP2020187816A (ja) 2020-11-19

Family

ID=66690262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019122698A Active JP6771621B1 (ja) 2019-05-10 2019-07-01 少ないプログラムされたページを有するブロックを消去するシステム及び方法

Country Status (6)

Country Link
US (1) US10665303B1 (ja)
EP (1) EP3736814B1 (ja)
JP (1) JP6771621B1 (ja)
KR (1) KR102220093B1 (ja)
CN (1) CN111916130B (ja)
TW (1) TWI718640B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210000409A (ko) * 2019-06-25 2021-01-05 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
CN111191613A (zh) * 2020-01-02 2020-05-22 京东方科技集团股份有限公司 指纹识别结构、指纹识别显示基板及其制作方法
CN113821156A (zh) * 2020-06-18 2021-12-21 桑迪士克科技有限责任公司 前瞻识别潜在不可校正的误差校正存储器单元和现场对策
CN112786097B (zh) * 2021-01-29 2024-04-09 山东华芯半导体有限公司 一种基于擦除时间判断NAND Flash对浅擦除处理的方法
US20240112742A1 (en) * 2022-09-22 2024-04-04 Yangtze Memory Technologies Co., Ltd. Erasing and erasing verification for three-dimensional nand memory
CN115509468B (zh) * 2022-11-23 2023-03-24 四川省华存智谷科技有限责任公司 一种提高ssd生命周期的方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60140039D1 (de) * 2001-02-05 2009-11-12 St Microelectronics Srl Löschverfahren für einen Flash-Speicher
US8504798B2 (en) * 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
KR100673170B1 (ko) * 2005-03-10 2007-01-22 주식회사 하이닉스반도체 향상된 소거 기능을 가지는 플래쉬 메모리 장치 및 그 소거동작 제어 방법
KR100781041B1 (ko) * 2006-11-06 2007-11-30 주식회사 하이닉스반도체 플래시 메모리 장치 및 그 소거 동작 제어 방법
US20090109755A1 (en) * 2007-10-24 2009-04-30 Mori Edan Neighbor block refresh for non-volatile memory
US7995392B2 (en) 2007-12-13 2011-08-09 Kabushiki Kaisha Toshiba Semiconductor memory device capable of shortening erase time
US7907449B2 (en) * 2009-04-09 2011-03-15 Sandisk Corporation Two pass erase for non-volatile storage
US8130551B2 (en) * 2010-03-31 2012-03-06 Sandisk Technologies Inc. Extra dummy erase pulses after shallow erase-verify to avoid sensing deep erased threshold voltage
KR20120092911A (ko) * 2011-02-14 2012-08-22 에스케이하이닉스 주식회사 반도체 메모리 장치 및 데이터 소거 방법
JP5583185B2 (ja) 2012-10-12 2014-09-03 ウィンボンド エレクトロニクス コーポレーション 不揮発性半導体メモリ
CN105144300B (zh) * 2013-03-04 2019-03-01 桑迪士克科技有限责任公司 用于提高非易失性存储器的耐久性的动态擦除深度
US20140297921A1 (en) * 2013-03-26 2014-10-02 Skymedi Corporation Method of Partitioning Physical Block and Memory System Thereof
US9361989B1 (en) * 2014-12-16 2016-06-07 Macronix International Co., Ltd. Memory device and data erasing method thereof
KR102327076B1 (ko) * 2014-12-18 2021-11-17 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR20160108659A (ko) * 2015-03-04 2016-09-20 에스케이하이닉스 주식회사 반도체 메모리 장치의 동작 방법 및 반도체 메모리 장치를 포함하는 메모리 시스템
US9679658B2 (en) * 2015-06-26 2017-06-13 Intel Corporation Method and apparatus for reducing read latency for a block erasable non-volatile memory
JP2017045288A (ja) * 2015-08-27 2017-03-02 株式会社東芝 メモリシステム
US9830963B1 (en) * 2016-05-24 2017-11-28 Sandisk Technologies Llc Word line-dependent and temperature-dependent erase depth
US10403369B2 (en) * 2016-10-17 2019-09-03 SK Hynix Inc. Memory system with file level secure erase and operating method thereof
US20180232154A1 (en) * 2017-02-15 2018-08-16 Microsoft Technology Licensing, Llc Append Only Streams For Storing Data On A Solid State Device
KR20190016633A (ko) * 2017-08-08 2019-02-19 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
JP2019053805A (ja) * 2017-09-15 2019-04-04 東芝メモリ株式会社 メモリシステム
US10998064B2 (en) * 2018-03-05 2021-05-04 Crossbar, Inc. Resistive random access memory program and erase techniques and apparatus

Also Published As

Publication number Publication date
JP2020187816A (ja) 2020-11-19
TWI718640B (zh) 2021-02-11
CN111916130B (zh) 2022-09-02
KR102220093B1 (ko) 2021-02-26
TW202042239A (zh) 2020-11-16
US10665303B1 (en) 2020-05-26
EP3736814A1 (en) 2020-11-11
EP3736814B1 (en) 2021-03-24
KR20200130630A (ko) 2020-11-19
CN111916130A (zh) 2020-11-10

Similar Documents

Publication Publication Date Title
JP6771621B1 (ja) 少ないプログラムされたページを有するブロックを消去するシステム及び方法
US8305817B2 (en) Nonvolatile memory devices and program methods thereof in which a target verify operation and a pre-pass verify operation are performed simultaneously using a common verify voltage
US10910074B2 (en) Memory controller and method of operating the same
US20160293259A1 (en) Semiconductor apparatus and operating method thereof
US9646696B2 (en) Semiconductor memory device, erasing methods thereof, and data storage device including the same
CN110780802B (zh) 存储器控制器及其操作方法
US11100997B2 (en) Storage device, controller and method for operating controller for configuring super pages using program timing information
TW201911320A (zh) 記憶體裝置及其操作方法
CN111091859A (zh) 存储器装置及其操作方法
US20220076754A1 (en) Memory device and method of operating the same
US9672914B1 (en) Semiconductor memory device and operating method thereof
US20210319838A1 (en) Memory device and method of operating the memory device
KR20150061098A (ko) 메모리 시스템 및 상기 메모리 시스템의 프로그래밍 방법
KR20100101825A (ko) 메모리 영역의 균등한 사용을 위한 반도체 스토리지 시스템및 그 제어 방법
US11842779B2 (en) Memory device and operating method for performing verify operation
US20230071618A1 (en) Memory device and operating method of the memory device
EP3736699B1 (en) Memory system, memory controller, and memory control method
TW201601156A (zh) 半導體裝置
US10964395B2 (en) Memory system, memory device and memory controller
US20240145009A1 (en) Electronic device and method of operating the same
US20230206999A1 (en) Erase operation with electron injection for reduction of cell-to-cell interference in a memory sub-system
US20240006004A1 (en) Method for programming a memory system
KR20240059431A (ko) 메모리 장치 및 그 동작 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190702

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200915

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200929

R150 Certificate of patent or registration of utility model

Ref document number: 6771621

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250