JP2023024369A - メモリ装置 - Google Patents
メモリ装置 Download PDFInfo
- Publication number
- JP2023024369A JP2023024369A JP2022124216A JP2022124216A JP2023024369A JP 2023024369 A JP2023024369 A JP 2023024369A JP 2022124216 A JP2022124216 A JP 2022124216A JP 2022124216 A JP2022124216 A JP 2022124216A JP 2023024369 A JP2023024369 A JP 2023024369A
- Authority
- JP
- Japan
- Prior art keywords
- program
- voltage
- verify
- memory
- memory device
- 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 claims abstract description 237
- 230000002093 peripheral effect Effects 0.000 claims abstract description 53
- 238000012795 verification Methods 0.000 claims description 52
- 239000000872 buffer Substances 0.000 description 28
- 238000010586 diagram Methods 0.000 description 24
- 230000004044 response Effects 0.000 description 15
- 238000012937 correction Methods 0.000 description 10
- 238000000034 method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 2
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005086 pumping Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 102100036200 Bisphosphoglycerate mutase Human genes 0.000 description 1
- 101000741396 Chlamydia muridarum (strain MoPn / Nigg) Probable oxidoreductase TC_0900 Proteins 0.000 description 1
- 101000741399 Chlamydia pneumoniae Probable oxidoreductase CPn_0761/CP_1111/CPj0761/CpB0789 Proteins 0.000 description 1
- 101000741400 Chlamydia trachomatis (strain D/UW-3/Cx) Probable oxidoreductase CT_610 Proteins 0.000 description 1
- 102100035964 Gastrokine-2 Human genes 0.000 description 1
- 101000594702 Homo sapiens Bisphosphoglycerate mutase Proteins 0.000 description 1
- 101001075215 Homo sapiens Gastrokine-2 Proteins 0.000 description 1
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/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
- 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/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/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
【課題】向上したプログラム動作を支援するメモリ装置を提供する。【解決手段】メモリ装置において、複数のメモリセルを含むメモリセルアレイ110、複数のメモリセルのうち選択されたメモリセルにプログラム動作を遂行する周辺回路120および選択されたメモリセルが選択されたメモリセルそれぞれに対応する目標プログラム状態を形成するように周辺回路を制御する制御ロジック130は、選択されたメモリセルの目標プログラム状態のうちいずれか一つのプログラム状態に対するプレ検証動作がパスされると、いずれか一つのプログラム状態に対するメイン検証動作を遂行するように周辺回路を制御する。【選択図】図2
Description
本発明は保存装置に関し、より具体的にはメモリ装置およびその動作方法に関する。
保存装置はコンピュータやスマートフォンなどのようなホスト装置の制御によってデータを保存する装置である。保存装置はデータが保存されるメモリ装置とメモリ装置を制御するメモリコントローラを含むことができる。メモリ装置は揮発性メモリ装置(Volatile Memory)と不揮発性メモリ装置(Non Volatile Memory)に区分される。
揮発性メモリ装置は電源が供給された場合にのみデータを保存し、電源の供給が遮断されると保存されたデータが消滅するメモリ装置である。揮発性メモリ装置は静的ランダムアクセスメモリ(Static Random Access Memory;SRAM)、動的ランダムアクセスメモリ(Dynamic Random Access Memory;DRAM)等がある。
不揮発性メモリ装置は電源が遮断されてもデータが消滅しないメモリ装置で、ロム(Read Only Memory;ROM)、PROM(Programmable ROM)、EPROM(Electrically Programmable ROM)、EEPROM(Electrically Erasable and Programmable ROM)およびフラッシュメモリ(Flash Memory)等がある。
本発明の実施例は、向上したプログラム動作を支援するメモリ装置を提供する。
本発明の実施例に係るメモリ装置は、複数のメモリセルを含むメモリセルアレイ、前記複数のメモリセルのうち選択されたメモリセルにプログラム動作を遂行する周辺回路および前記選択されたメモリセルが前記選択されたメモリセルそれぞれに対応する目標プログラム状態を形成するように前記周辺回路を制御する制御ロジックを含むものの、前記制御ロジックは前記選択されたメモリセルの目標プログラム状態のうちいずれか一つのプログラム状態に対するプレ検証動作がパスされると、前記いずれか一つのプログラム状態に対するメイン検証動作を遂行するように前記周辺回路を制御することができる。
本発明の実施例に係るメモリ装置は、複数のメモリセルを含むメモリセルアレイ、前記複数のメモリセルのうち選択されたメモリセルに複数のプログラムループを含むプログラム動作を遂行する周辺回路および前記選択されたメモリセルが前記選択されたメモリセルそれぞれに対応する目標プログラム状態を形成するかを確認するメイン検証動作およびプレ検証動作を含むプログラム検証動作を遂行するように前記周辺回路を制御する制御ロジックを含むものの、前記プレ検証動作は前記複数のプログラムループのうちいずれか一つのプログラムループから前記選択されたメモリセルの目標プログラム状態のうちいずれか一つのプログラム状態に対するプレ検証動作がパスされると、前記いずれか一つのプログラムループの次のプログラムループで前記いずれか一つのプログラム状態に対するプレ検証動作を省略するように前記周辺回路を制御することができる。
本技術によると、向上したプログラム動作を支援するメモリ装置が提供される。
本明細書または出願に開示されている本発明の概念による実施例に対する特定の構造的乃至機能的説明は、単に本発明の概念による実施例を説明するための目的で例示されたものに過ぎず、本発明の概念による実施例は多様な形態で実施され得、本明細書または出願に説明された実施例に限定されるものと解釈されてはならない。
図1は、本発明の一実施例に係る保存装置を説明するための図面である。
図1を参照すると、保存装置1000はメモリ装置100およびメモリコントローラ200を含むことができる。
保存装置1000は携帯電話、スマートフォン、MP3プレーヤー、ラップトップコンピュータ、デスクトップコンピュータ、ゲーム機、ディスプレイ装置、タブレットPCまたは車両用インフォテインメント(in-vehicle infotainment)システムなどのようなホスト2000の制御によってデータを保存する装置であり得る。
保存装置1000は、ホスト2000との通信方式であるホストインターフェースによって多様な種類の保存装置のうちいずれか一つで具現され得る。例えば、保存装置1000はSSD、MMC、eMMC、RS-MMC、micro-MMC形態のマルチメディアカード(multi-media Card)、SD、mini-SD、micro-SD形態のセキュアデジタル(secure digital)カード、USB(Universal Serial Bus)保存装置、UFS(Universal Flash Storage)装置、PCMCIA(Personal Computer Memory Card International Association)カード形態の保存装置、PCI(Peripheral Component Interconnection))カード形態の保存装置、PCI-E(PCI Express)カード形態の保存装置、CF(Compact Flash)カード、スマートメディア(Smart Media)カードメモリスティック(Memory Stick)などのような多様な種類の保存装置のうちいずれか一つで具現され得る。
保存装置1000は多様な種類のパッケージ(package)形態のうちいずれか一つで具現され得る。例えば、保存装置1000はPOP(package on package)、SIP(system in package)、SOC(system on chip)、MCP(multi-chip package)、COB(chip on board)、WFP(wafer-level fabricated package)、WSP(wafer-level stack package)などのような多様な種類のパッケージ形態のうちいずれか一つで具現され得る。
メモリ装置100はデータを保存したり保存されたデータを利用することができる。具体的には、メモリ装置100はメモリコントローラ200の制御に応答して動作することができる。そして、メモリ装置100は複数のメモリダイを含むことができ、複数のメモリダイそれぞれはデータを保存する複数のメモリセルを含むメモリセルアレイを含むことができる。
メモリセルはそれぞれ一つのデータビットを保存するシングルレベルセル(Single Level Cell;SLC)、2個のデータビットを保存するマルチレベルセル(Multi Level Cell;MLC)、3個のデータビットを保存するトリプルレベルセル(Triple Level Cell;TLC)または4個のデータビットを保存できるクアッドレベルセル(Quad Level Cell;QLC)で構成され得る。
メモリセルアレイは複数のメモリブロックを含むことができる。各メモリブロックは複数のメモリセルを含むことができ、一つのメモリブロックは複数のページを含むことができる。ここで、ページはメモリ装置100にデータを保存したり、メモリ装置100に保存されたデータを読み込む一つの単位であり得る。
メモリ装置100はDDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory)、LPDDR4(Low Power Double Data Rate4) SDRAM、GDDR(Graphics Double Data Rate) SDRAM、LPDDR(Low Power DDR)、RDRAM(Rambus Dynamic Random Access Memory)、ナンドフラッシュメモリ(NAND flash memory)、垂直型ナンドフラッシュメモリ(Vertical NAND)、ノアフラッシュメモリ(NOR flash memory)、抵抗性ラム(resistive random access memory:RRAM)、相変化メモリ(phase-change memory:PRAM)、磁気抵抗メモリ(magnetoresistive random access memory:MRAM)、強誘電体メモリ(ferroelectric random access memory:FRAM(登録商標))、スピン注入磁化反転メモリ(spin transfer torque random access memory:STT-RAM)等で具現され得る。本明細書では説明の便宜のために、メモリ装置100がナンドフラッシュメモリである場合を仮定して説明する。
メモリ装置100はメモリコントローラ200からコマンドおよびアドレスを受信することができる。メモリ装置100はメモリセルアレイのうち、受信されたアドレスによって選択された領域をアクセスするように構成され得る。選択された領域をアクセスするとは、選択された領域に対して受信されたコマンドに該当する動作を遂行することを意味し得る。例えば、メモリ装置100は書き込み動作(プログラム動作)、読み込み動作およびイレイズ動作を遂行できる。ここで、プログラム動作は、メモリ装置100がアドレスによって選択された領域にデータを記録する動作であり得る。読み込み動作はメモリ装置100がアドレスによって選択された領域からデータを読み込む動作を意味し得る。イレイズ動作はメモリ装置100がアドレスによって選択された領域に保存されたデータをイレイズする動作を意味し得る。
本発明の一実施例によると、メモリ装置100はプログラム動作中に不要な検証動作を省略することによってプログラム時間をプログラム動作効率を増加させることができる。具体的には、メモリ装置100はプログラム動作中にメモリセルのしきい電圧の分布偏向を改善するために、プレ検証動作およびメイン検証動作で構成されたダブル検証動作を遂行できる。ただし、ダブル検証動作を含むプログラム動作(例えば、DPGM)はプレ検証動作またはメイン検証動作のうちいずれか一つの検証動作が通過されても、ダブル検証動作を遂行する過程で不要な検証動作が繰り返され得る可能性があった。例えば、従来のダブル検証動作はあるプログラム状態に対するプレ検証動作がパスされても、プレ検証動作が再度繰り返される問題点があった。本発明の一実施例によると、メモリ装置100はダブル検証動作の長所である分布偏向改善効果を維持するものの、不要な検証動作を省略することによってプログラム時間を短縮させることができる。
メモリコントローラ200は保存装置1000の全般的な動作を制御することができる。具体的には、メモリコントローラ200は保存装置1000に電源が印加されるとファームウェア(FW:firmware)を実行することができる。ファームウェア(FW)はホスト2000から入力された要請を受信したりホスト2000で応答を出力するホストインターフェースレイヤ(HIL:Host Interface Layer)、ホスト2000のインターフェースとメモリ装置100のインターフェース間の動作を管理するフラッシュ変換レイヤ(FTL:Flash Translation Layer)およびメモリ装置100にコマンドを提供したり、メモリ装置100から応答を受信するフラッシュインターフェースレイヤ(FIL:Flash Interface Layer)を含むことができる。
メモリコントローラ200はホスト2000からデータと論理アドレス(LA:Logical Address)の入力を受け、論理アドレスをメモリ装置100に含まれたデータが保存されるメモリセルのアドレスを表す物理アドレス(PA:Physical Address)に変換することができる。論理アドレスは論理ブロックアドレス(LBA:Logical Block Address)であり得、物理アドレスは物理ブロックアドレス(PBA:Physical Block Address)であり得る。
メモリコントローラ200は、ホスト2000の要請によりプログラム動作、読み込み動作またはイレイズ動作などを遂行するようにメモリ装置100を制御することができる。プログラム動作時、メモリコントローラ200はプログラムコマンド、物理ブロックアドレスおよびデータをメモリ装置100に提供することができる。読み込み動作時、メモリコントローラ200は読み込みコマンドおよび物理ブロックアドレスをメモリ装置100に提供することができる。イレイズ動作時、メモリコントローラ200はイレイズコマンドおよび物理ブロックアドレスをメモリ装置100に提供することができる。
メモリコントローラ200はホスト2000からの要請とは無関係に、自主的にプログラム動作、読み込み動作またはイレイズ動作を遂行するようにメモリ装置100を制御することができる。例えば、メモリコントローラ200はウェアレベリング(wear leveling)、ガベージコレクション(garbage collection)、読み込みリクレイム(read reclaim)等の背景動作(background operation)を遂行するために使われるプログラム動作、読み込み動作またはイレイズ動作を遂行するようにメモリ装置100を制御することができる。
ホスト2000はUSB(Universal Serial Bus)、SATA(Serial AT Attachment)、SAS(Serial Attached SCSI)、HSIC(High Speed Interchip)、SCSI(Small Computer System Interface)、PCI(Peripheral Component Interconnection)、PCIe(PCI express)、NVMe(NonVolatile Memory express)、UFS(Universal Flash Storage)、SD(Secure Digital)、MMC(MultiMedia Card)、eMMC(embedded MMC)、DIMM(Dual In-line Memory Module)、RDIMM(Registered DIMM)、LRDIMM(Load Reduced DIMM)などのような多様な通信方式のうち少なくとも一つを利用して保存装置1000と通信することができる。
図2は、本発明の一実施例に係るメモリ装置を説明するための図面である。
図2を参照すると、メモリ装置100はメモリセルアレイ110、周辺回路120および制御ロジック130を含むことができる。制御ロジック130はハードウェア、ソフトウェアまたはハードウェアおよびソフトウェアの組み合わせで具現され得る。実施例で、制御ロジック130はアルゴリズムにより動作する制御ロジック回路または制御ロジックコードを実行するプロセッサであり得る。
メモリセルアレイ110は複数のメモリブロックBLK1~BLKzを含むことができる。複数のメモリブロックBLK1~BLKzは行ラインRLを通じてロウデコーダ121に連結され得る。ここで、行ラインRLは少なくとも一つ以上のソース選択ライン、複数のワードラインおよび少なくとも一つ以上のドレイン選択ラインを含むことができる。複数のメモリブロックBLK1~BLKzはビットラインBL1~BLnを通じてページバッファグループ123に連結され得る。複数のメモリブロックBLK1~BLKzそれぞれは複数のメモリセルを含むことができる。実施例として、複数のメモリセルは不揮発性メモリセルであり得る。同一のワードラインに連結されたメモリセルは一つのページと定義され得る。したがって、一つのメモリブロックは複数のページを含むことができる。
メモリセルアレイ110に含まれたメモリセルは、それぞれ一つのデータビットを保存するシングルレベルセル(Single Level Cell;SLC)、2個のデータビットを保存するマルチレベルセル(Multi Level Cell;MLC)、3個のデータビットを保存するトリプルレベルセル(Triple Level Cell;TLC)または4個のデータビットを保存できるクアッドレベルセル(Quad Level Cell;QLC)で構成され得る。
周辺回路120は制御ロジック130の制御により、メモリセルアレイ110の選択された領域にプログラム動作、読み込み動作または消去動作を遂行するように構成され得る。すなわち、周辺回路120は制御ロジック130の制御によりメモリセルアレイ110を駆動することができる。例えば、周辺回路120は制御ロジック130の制御により行ラインRLおよびビットラインBL1~BLnに多様な動作電圧を印加したり、印加された電圧をディスチャージすることができる。
具体的には、周辺回路120はロウデコーダ121、電圧生成部122、ページバッファグループ123、カラムデコーダ124、入出力回路125およびセンシング回路126を含むことができる。
ロウデコーダ121は行ラインRLを通じてメモリセルアレイ110に連結され得る。行ラインRLは少なくとも一つ以上のソース選択ライン、複数のワードラインおよび少なくとも一つ以上のドレイン選択ラインを含むことができる。実施例で、ワードラインはノーマルワードラインとダミーワードラインを含むことができる。そして、行ラインRLはパイプ選択ラインをさらに含むことができる。
ロウデコーダ121は制御ロジック130の制御に応答して動作するように構成され得る。ロウデコーダ121は制御ロジック130からロウアドレスRADDを受信することができる。具体的には、ロウデコーダ121はロウアドレスRADDをデコーディングするように構成され得る。ロウデコーダ121はデコーディングされたアドレスによってメモリブロックBLK1~BLKzのうち少なくとも一つのメモリブロックを選択することができる。そして、ロウデコーダ121はデコーディングされたアドレスによって電圧生成部122が生成した電圧を少なくとも一つのワードラインWLに印加するように選択されたメモリブロックの少なくとも一つのワードラインを選択することができる。
例えば、プログラム動作時に、ロウデコーダ121は選択されたワードラインにプログラム電圧を印加し、非選択されたワードラインにプログラム電圧より低いレベルのプログラムパス電圧を印加することができる。プログラム検証動作時に、ロウデコーダ121は選択されたワードラインに検証電圧を印加し、非選択されたワードラインに検証電圧より高い検証パス電圧を印加することができる。読み込み動作時に、ロウデコーダ121は選択されたワードラインに読み込み電圧を印加し、非選択されたワードラインに読み込み電圧より高い読み込みパス電圧を印加することができる。
実施例で、メモリセルアレイ110の消去動作はメモリブロック単位で遂行され得る。消去動作時にロウデコーダ121はデコーディングされたアドレスによって一つのメモリブロックを選択でき、ロウデコーダ121は選択されたメモリブロックに連結されるワードラインに接地電圧を印加することができる。
電圧生成部122は制御ロジック130の制御に応答して動作することができる。具体的には、電圧生成部122は制御ロジック130の制御に応答してメモリ装置100に供給される外部電源電圧を利用して複数の電圧を生成するように構成され得る。例えば、電圧生成部122は制御ロジック130の制御に応答してプログラム電圧、検証電圧、パス電圧、読み込み電圧および消去電圧などを生成することができる。すなわち、電圧生成部122は動作信号OPSIGに応答してプログラム、読み込みおよび消去動作に使われる多様な動作電圧(Vop)を生成することができる。本発明の一実施例によると、電圧生成部122は制御ロジック130の制御によりプログラム動作に使われるプログラム電圧だけでなく、プレ検証動作に使われるプレ検証電圧、メイン検証動作に使われるメイン検証電圧を生成することができる。
実施例として、電圧生成部122は外部電源電圧をレギュレーティングして内部電源電圧を生成することができる。電圧生成部122で生成された内部電源電圧はメモリセルアレイ110の動作電圧として使われ得る。
実施例として、電圧生成部122は外部電源電圧または内部電源電圧を利用して複数の電圧を生成することができる。例えば、電圧生成部122は内部電源電圧を受信する複数のポンピングキャパシタを含み、制御ロジック130の制御に応答して複数のポンピングキャパシタを選択的に活性化して複数の電圧を生成することができる。そして、生成された複数の電圧はロウデコーダ121によりメモリセルアレイ110に供給され得る。
ページバッファグループ123は第1~第nページバッファPB1~PBnを含むことができる。第1~第nページバッファPB1~PBnはそれぞれ第1~第nビットラインBL1~BLnを通じてメモリセルアレイ110に連結され得る。そして、第1~第nページバッファPB1~PBnは制御ロジック130の制御に応答して動作することができる。具体的には、第1~第nページバッファPB1~PBnはページバッファ制御信号PBSIGNALSに応答して動作することができる。例えば、第1~第nページバッファPB1~PBnは第1~第nビットラインBL1~BLnを通じて受信されたデータを一時保存したり、読み込みまたは検証動作時、ビットラインBL1~BLnの電圧または電流をセンシング(sensing)することができる。
具体的には、プログラム動作時、第1~第nページバッファPB1~PBnは選択されたワードラインにプログラムパルスが印加される時、入出力回路125を通じて受信したデータ(DATA)を第1~第nビットラインBL1~BLnを通じて選択されたメモリセルに伝達することができる。伝達されたデータ(DATA)により選択されたページのメモリセルはプログラムされ得る。プログラム許容電圧(例えば、接地電圧)が印加されるビットラインと連結されたメモリセルは、上昇されたしきい電圧を有することができる。プログラム禁止電圧(例えば、電源電圧)が印加されるビットラインと連結されたメモリセルのしきい電圧は維持され得る。
プログラム検証動作時、第1~第nページバッファPB1~PBnは選択されたメモリセルから第1~第nビットラインBL1~BLnを通じてページデータを読み込むことができる。
読み込み動作時、第1~第nページバッファPB1~PBnは選択されたページのメモリセルから第1~第nビットラインBL1~BLnを通じてデータ(DATA)を読み込み、読み込んだデータ(DATA)をカラムデコーダ124の制御により入出力回路125に出力することができる。
消去動作時、第1~第nページバッファPB1~PBnは第1~第nビットラインBL1~BLnをフローティング(floating)させることができる。
カラムデコーダ124はカラムアドレスCADDに応答して入出力回路125とページバッファグループ123の間でデータを伝達することができる。例えば、カラムデコーダ124はデータラインDLを通じて第1~第nページバッファPB1~PBnとデータをやりとりしたり、カラムラインCLを通じて入出力回路125とデータをやりとりすることができる。
入出力回路125はメモリコントローラ200から伝達されたコマンドCMDおよびアドレスADDRを制御ロジック130に伝達したり、データ(DATA)をカラムデコーダ124とやりとりすることができる。
センシング回路126は読み込み動作(read operation)または検証動作(verify operation)時、許容ビット信号VRYBITに応答して基準電流を生成し、ページバッファグループ123から受信されたセンシング電圧VPBと基準電流によって生成された基準電圧を比較してパス信号PASSまたはフェイル信号FAILを出力することができる。
制御ロジック130はコマンドCMDおよびアドレスADDRに応答して動作信号OPSIG、ロウアドレスRADD、ページバッファ制御信号PBSIGNALSおよび許容ビットVRYBITを出力して周辺回路120を制御することができる。
また、制御ロジック130はパスPASSまたはフェイルFAIL信号に応答して検証動作がパスPASSまたはフェイルFAILされたかを判断することができる。そして、制御ロジック130はパスPASSまたはフェイルFAIL信号を含む検証情報をページバッファグループ123に一時保存するようにページバッファグループ123を制御することができる。具体的には、制御ロジック130はパスPASSまたはフェイルFAIL信号に応答して、メモリセルのプログラム状態を決定することができる。例えば、メモリセルがトリプルレベルセル(Triple Level Cell、TLC)として動作する場合、制御ロジック130はメモリセルのプログラム状態が消去状態Eまたは第1~第7プログラム状態P1~P7のうちいずれか一つであるかどうかを決定することができる。
本発明の一実施例によると、制御ロジック130はプログラム電圧制御部131および検証動作制御部132を含むことができる。プログラム電圧制御部131は複数のメモリセルのうち選択されたメモリセルが選択されたメモリセルそれぞれに対応する目標プログラム状態を形成するように周辺回路120を制御することができる。具体的には、プログラム電圧制御部131はプログラム動作が遂行される選択されたメモリセルに連結されたワードラインにプログラム電圧を印加するように周辺回路120を制御することができる。そして、検証動作制御部132はプログラム動作が遂行される選択されたメモリセルに検証動作を遂行するように周辺回路120を制御することができる。具体的には、検証動作制御部132は選択されたメモリセルに連結されたワードラインにメイン検証電圧およびプレ検証電圧を印加するように周辺回路120を制御することができる。
図3は、本発明の一実施例に係るメモリブロックを説明するための図面である。
図3を参照すると、メモリブロックBLKiは第1セレクトラインと第2セレクトラインの間に互いに平行に配列された多数のワードラインが連結され得る。ここで、第1セレクトラインはソースセレクトラインSSLであり得、第2セレクトラインはドレインセレクトラインDSLであり得る。より具体的に説明すると、メモリブロックBLKiはビットラインBL1~BLnとソースラインSLの間に連結された多数のストリング(strings;ST)を含むことができる。ビットラインBL1~BLnはストリングSTにそれぞれ連結され得、ソースラインSLはストリングSTに共通で連結され得る。ストリングSTは互いに同一に構成され得るため、第1ビットラインBL1に連結されたストリングSTを例にして具体的に説明することにする。
ストリングSTはソースラインSLと第1ビットラインBL1の間で互いに直列で連結されたソースセレクトトランジスタSST、多数のメモリセルF1~F16およびドレインセレクトトランジスタDSTを含むことができる。一つのストリングSTにはソースセレクトトランジスタSSTとドレインセレクトトランジスタDSTが少なくとも一つ以上ずつ含まれ得、メモリセルF1~F16も図面に図示された個数よりさらに多く含まれ得る。
ソースセレクトトランジスタSSTのソース(source)はソースラインSLに連結され得、ドレインセレクトトランジスタDSTのドレイン(drain)は第1ビットラインBL1に連結され得る。メモリセルF1~F16はソースセレクトトランジスタSSTとドレインセレクトトランジスタDSTの間で直列で連結され得る。互いに異なるストリングSTに含まれたソースセレクトトランジスタSSTのゲートはソースセレクトラインSSLに連結され得、ドレインセレクトトランジスタDSTのゲートはドレインセレクトラインDSLに連結され得、メモリセルF1~F16のゲートは多数のワードラインWL1~WL16に連結され得る。互いに異なるストリングSTに含まれたメモリセル中で同一のワードラインに連結されたメモリセルのグループを物理ページ(physical page;PPG)と言える。したがって、メモリブロックBLKiにはワードラインWL1~WL16の個数だけの物理ページPPGが含まれ得る。
メモリセルはそれぞれ一つのデータビットを保存するシングルレベルセル(Single Level Cell;SLC)、2個のデータビットを保存するマルチレベルセル(Multi Level Cell;MLC)、3個のデータビットを保存するトリプルレベルセル(Triple Level Cell;TLC)または4個のデータビットを保存できるクアッドレベルセル(Quad Level Cell;QLC)で構成され得る。
シングルレベルセル(single level cell;SLC)は1ビットのデータを保存することができる。シングルレベルセルの一つの物理ページPPGは一つの論理ページ(logical page;LPG)データを保存することができる。一つの論理ページ(LPG)データは一つの物理ページPPGに含まれたセル個数だけのデータビットを含むことができる。
マルチレベルセル(Multi Level Cell;MLC)、トリプルレベルセル(Triple Level Cell;TLC)およびクアッドレベルセル(Quad Level Cell;QLC)は2ビット以上のデータを保存することができる。この場合、一つの物理ページPPGは2以上の論理ページ(logical page;LPG)データを保存することができる。
図4は,本発明の一実施例に係るプログラム動作を説明するための図面である。
図4を参照すると、複数のプログラム状態を形成するためのプログラム動作はM個のプログラムループを含むことができる。各プログラムループは選択されたワードラインにプログラム電圧を印加する動作および選択されたワードラインに検証電圧を印加する動作を含むことができる。プログラム電圧を印加する動作はプログラム区間(program period)に含まれ得、検証電圧を印加する動作は検証区間(verify period)に含まれ得る。プログラム電圧を選択されたワードラインに印加する動作はメモリセルのしきい電圧を上昇させる動作であり得、検証電圧を印加する動作はしきい電圧を判断して該当メモリセルが目標プログラム状態に到達したかを確認する動作であり得る。例えば、第1プログラムループは第1プログラム電圧Vpgm1および複数の検証電圧Vvf1~Vvf7を選択されたワードラインに印加する動作を含むことができる。説明の便宜のためにすべてのプログラムループで7個の検証電圧が印加されるものとして図示したが、検証電圧の個数はこれに制限されず、互いに異なる検証電圧が印加され得る。
プログラムループが順次遂行されることによってプログラム電圧はステップ電圧ΔVpgmだけ上昇することができる。これを増加型ステップパルスプログラム(Incremental Step Pulse Program;ISPP)方式という。例えば、第2プログラムループで選択されたワードラインに印加される第2プログラム電圧Vpgm2は、第1プログラム電圧Vpgm1よりステップ電圧ΔVpgmだけ大きくてもよい。説明の便宜のために、ステップ電圧は固定的なものとして図示されたが、ステップ電圧は動的に変更され得る。
M個のプログラムループが進行される途中て目標プログラム状態に到達したメモリセルは、これ以上プログラムが進行されないようにプログラム禁止(inhibit)状態となり得る。後続プログラムループが進行されてもプログラム禁止状態となったメモリセルのしきい電圧は維持され得る。例えば、第2プログラムループで目標プログラム状態である第2プログラム状態P2でプログラムが完了したメモリセルは、第3プログラムループ時にプログラム禁止状態となり得る。実施例で、目標プログラム状態に到達したメモリセルのビットラインをプログラム禁止電圧でプリチャージすることができる。ビットラインがプログラム禁止電圧でプリチャージされると、メモリセルのチャネルはプログラム電圧によってセルフブースティングされ、メモリセルがプログラムされないことができる。
図5は、本発明の一実施例に係るプログラムループを説明するための図面である。
図5を参照すると、N個のプログラムループで構成されたプログラム動作(Program Operation)が図示されている。具体的には、プログラム動作は第1プログラムループ(program loop 1)~第Nプログラムループ(program loop N)を含むことができる。複数のメモリセルのうちプログラム動作の対象となる選択されたメモリセルは、プログラム動作を通じて目標プログラム状態にプログラムされ得る。複数のプログラム状態はしきい電圧に基づいて区分され得る。例えば、選択されたメモリセルがシングルレベルセル(single level cell、SLC)として動作する場合、目標プログラム状態は消去状態およびプログラム状態に区分され得る。選択されたメモリセルがマルチレベルセル(multi level cell、MLC)として動作する場合、目標プログラム状態は1個の消去状態および7個のプログラム状態に区分され得る。
各プログラムループはプログラム区間(program period、51)およびプログラム検証区間(program verify period、52)を含むことができる。プログラム区間51は選択されたメモリセルにデータがプログラムされる区間であり得る。プログラム区間51はプリチャージ区間、プログラム電圧印加区間、ディスチャージ区間を含むことができる。プリチャージ区間で、選択されたビットラインにプログラム許容電圧がプリチャージされ、非選択ビットラインにプログラム禁止電圧がプリチャージされ得る。プログラム電圧印加区間で、選択されたワードラインにプログラム電圧が印加され、非選択されたワードラインにパス電圧が印加され得る。ディスチャージ区間で、ビットラインにプリチャージされた電圧とワードラインに印加された電圧はディスチャージされ得る。すなわち、プログラム区間51は選択されたメモリセルのプログラム状態を目標プログラム状態に作るための区間であり得る。
プログラム検証区間52はプログラムされたデータを検証する区間であり得る。またはプログラム検証区間52はプログラム区間51以後、選択されたメモリセルのプログラム状態またはしきい電圧が目標プログラム状態に到達したかどうかを検証する区間であり得る。
具体的には、プログラム検証区間52はセンシング区間(sensing period、53)およびチェック区間(check period、54)を含むことができる。そして、センシング区間53はプリチャージ区間、評価区間、ディスチャージ区間を含むことができる。プリチャージ区間で、ビットラインはプリチャージされ得る。評価区間で、選択されたワードラインに検証電圧が印加され、非選択されたワードラインにパス電圧が印加され得る。評価区間で、検証電圧より高いしきい電圧を有するメモリセルと連結されたビットラインにプリチャージされた電圧は維持され得る。評価区間で、検証電圧より低いしきい電圧を有するメモリセルと連結されたビットラインにプリチャージされた電圧は評価区間の長さに比例してディスチャージされ得る。プリチャージされた電圧が維持されたかまたはディスチャージされたかに関する電圧情報はページバッファグループ123に保存され得る。
チェック区間54はページバッファグループ123に保存された電圧情報を使ってプログラム検証のパスまたはフェイルの有無を判断する区間であり得る。チェック区間で、センシング回路126は選択されたメモリセルのうち検証電圧より低いしきい電圧を有するメモリセルの個数を基準個数と比較することができる。そして、センシング回路126は比較結果によりパス信号またはフェイル信号を出力することができる。ここで、選択されたメモリセルのうち検証電圧より高いしきい電圧を有するメモリセルの個数が第1基準個数より大きいか否かを判断するのはパスビットチェック(pass bit check)動作であり得る。選択されたメモリセルのうち検証電圧より小さいしきい電圧を有するメモリセルの個数が第2基準個数より少ないか否かを判断するのはフェイルビットチェック(fail bit check)動作であり得る。
図6は、本発明の一実施例に係るメモリセルのプログラム状態を説明するための図面である。
図6を参照すると、メモリセルはしきい電圧により消去状態Eまたは第1~第7プログラム状態P1~P7にプログラムされ得る。図6のメモリセルは1個の消去状態および7個のプログラム状態にプログラムされ得るトリプルレベルセル(Triple Level Cell、TLC)で図示されたが、これは説明の便宜のための一実施例に過ぎず、具現時にはマルチレベルセル(Multi Level Cell、MLC)、シングルレベルセル(Single Level Cell、SLC)、クアッドレベルセル(Quad Level Cell、QLC)等で具現され得る。そして、説明の便宜のために消去状態とプログラム状態を区分したが、消去状態は第0プログラム状態(P0)で表現することができる。したがって、図6に図示された消去状態Eと第1~第7プログラム状態P1~P7は第0~第7のプログラム状態で表現されてもよい。
選択されたメモリセルは消去状態Eまたは第1~第7プログラム状態P1~P7のうちいずれか一つの状態に含まれたしきい電圧を有することができる。すなわち、メモリセルは消去状態Eまたは第1~第7プログラム状態P1~P7のうちいずれか一つの状態に含まれたしきい電圧を有するようにプログラムされ得る。プログラム動作が遂行される前にメモリセルは消去状態Eであり得る。プログラム動作時、消去状態Eのメモリセルは選択されたワードラインにプログラム電圧が印加されることによって7個のプログラム状態のうちいずれか一つのプログラム状態にプログラムされ得る。
そして、メモリセルの消去状態Eまたは第1~第7プログラム状態P1~P7は検証電圧を利用して区分され得る。ここで、検証電圧はメイン検証電圧およびプレ検証電圧に区分され得る。プレ検証電圧は選択されたワードラインにメイン検証電圧を印加する前に印加されるメイン検証電圧より低い電位レベルを有する電圧を意味し得る。
そして、メモリセルの隣接するプログラム状態はメイン検証電圧およびプレ検証電圧に区分され得る。例えば、消去状態Eと第1プログラム状態P1は第1プレ検証電圧Vpvf1および第1メイン検証電圧Vvf1により区分され得る。第1プログラム状態P1と第2プログラム状態P2は第2プレ検証電圧Vpvf2および第2メイン検証電圧Vvf2により区分され得る。第2プログラム状態P2と第3プログラム状態P3は第3プレ検証電圧Vpvf3および第3メイン検証電圧Vvf3により区分され得る。第3プログラム状態P3と第4プログラム状態P4は第4プレ検証電圧Vpvf4および第4メイン検証電圧Vvf4により区分され得る。第4プログラム状態P4と第5プログラム状態P5は第5プレ検証電圧Vpvf5および第5メイン検証電圧Vvf5により区分され得る。第5プログラム状態P5と第6プログラム状態P6は第6プレ検証電圧Vpvf6および第6メイン検証電圧Vvf6により区分され得る。第6プログラム状態P6と第7プログラム状態P7は第7プレ検証電圧Vpvf7および第7メイン検証電圧Vvf7により区分され得る。
図6に図示されたプログラム動作方法は一つの消去状態Eで第1~第7プログラム状態P1~P7を形成することができる。図6に図示されたプログラム状態は図4に図示された第1~第Mプログラムループを含むプログラム動作が遂行される間に形成され得る。
図7は、本発明の一実施例に係るあるプログラム状態のフェイルビットチェック動作を説明するための図面である。
図7を参照すると、メモリ装置100はセンシング回路126を利用してフェイルビットチェック動作を遂行できる。ここで、フェイルビットチェック動作は図5に図示されたチェック区間54で遂行される動作であり得る。
フェイルビットチェック(fail bit check)動作は検証電圧(Vvf)より低いしきい電圧を有するメモリセルの個数であるフェイルビットが基準個数より少ないか否かをチェックする動作であり得る。メモリ装置100はセンシング回路126を利用してフェイルビットが基準個数と同一であるか小さければパス信号PASSを制御ロジック130に出力することができる。メモリ装置100はセンシング回路126を利用してフェイルビットが基準個数より多ければフェイル信号FAILを制御ロジック130に出力することができる。
本発明の一実施例によると、プレ検証動作時、プレ検証電圧より低いしきい電圧を有するメモリセルの個数が基準個数を超過すれば該当プレ検証動作はフェイルと判断することができる。その反対に、プレ検証動作時、プレ検証電圧より低いしきい電圧を有するメモリセルの個数が基準個数と同一であるか小さければ、該当プレ検証動作はパスと判断することができる。
本発明の一実施例によると、メイン検証動作時、メイン検証電圧より低いしきい電圧を有するメモリセルの個数が基準個数を超過すれば該当メイン検証動作はフェイルと判断することができる。そして、メイン検証動作時、メイン検証電圧より低いしきい電圧を有するメモリセルの個数が基準個数と同一であるか小さければ、該当メイン検証動作はパスと判断することができる。
一方、第nプログラム状態に対するプログラム検証はメイン検証電圧を利用したフェイルビットチェック動作がパスされると完了され得る。すなわち、第nメイン検証電圧より低いしきい電圧を有するメモリセルの個数であるフェイルビットが基準個数と同いつであるか小さい場合、第nプログラム状態に対するプログラム検証が完了され得る。ただし、すべてのプログラムループでプレ検証動作およびメイン検証動作を含むプログラム検証動作をすべて遂行する場合、プログラム動作時間が長くなり得る。したがって、特定プログラム状態に対する検証動作で、プレ検証動作中にフェイルビットチェック動作がパスされると(プレ検証動作がパスされると)、以降のプログラムループで特定プログラム状態に対するプレ検証動作を省略しメイン検証動作のみを遂行することによって、プログラム動作時間を短縮させることができる。または本発明の一実施例によると、特定プログラム状態に対するプレ検証動作がパスされる場合にメイン検証動作を遂行することによって、プログラム動作時間を短縮させることができる。
図8は、本発明の一実施例に係る制御ロジックを説明するための図面である。
図8を参照すると、制御ロジック130はプログラム電圧制御部131、検証動作制御部132およびプログラムループ管理部133を含むことができ、制御ロジック130は選択されたメモリセルそれぞれに対応する目標プログラム状態を形成するように周辺回路120を制御することができる。
プログラム電圧制御部131は選択されたメモリセルに連結されたワードラインにプログラム電圧を印加するように周辺回路120を制御することができる。プログラム電圧制御部131はプログラムループが順次遂行されることによってプログラム電圧がステップ電圧ΔVpgmだけ上昇するように周辺回路120を制御することができる。
検証動作制御部132はプログラムされたメモリセルに検証動作を遂行するように周辺回路120を制御することができる。具体的には、検証動作制御部132はプログラムされたメモリセルにプレ検証動作およびメイン検証動作を遂行するように周辺回路120を制御することができる。特に、検証動作制御部132はプログラムループ管理部133から受信したパス情報に基づいてメイン検証動作を遂行したり、プレ検証動作を遂行しないように周辺回路120を制御することができる。
本発明の一実施例によると、検証動作制御部132は特定プログラム状態に対するプレ検証動作およびメイン検証動作をすべて遂行するように周辺回路120を制御することができる。そして、検証動作制御部132は特定プログラム状態に対する検証動作中にプレ検証動作がパスされると、特定プログラム状態に対するメイン検証動作のみ遂行するように周辺回路120を制御することができる。
本発明の一実施例によると、検証動作制御部132は特定プログラム状態に対してプレ検証動作のみ遂行するように周辺回路120を制御し、特定プログラム状態に対するプレ検証動作がパスされると、メイン検証動作を遂行するように周辺回路120を制御することができる。すなわち、検証動作制御部132はメイン検証動作またはプレ検証動作のうちいずれか一つの検証動作のみ遂行するように周辺回路120を制御することによってプログラム動作効率を増加させることができる。
一実施例によると、検証動作制御部132は検証するメモリセルに連結されたワードラインにメイン検証電圧およびプレ検証電圧を印加するように周辺回路120を制御することができる。
プログラムループ管理部133は複数のプログラム状態に対するプレ検証動作およびメイン検証動作のパス情報を生成することができる。具体的には、プログラムループ管理部133はプログラム動作中、複数のプログラム状態それぞれに対するプレ検証動作およびメイン検証動作がパスされたプログラムループを保存することができる。すなわち、パス情報は各プログラム状態に対するプレ検証動作のパス時点を含むプレパス情報およびメイン検証動作のパス時点を含むメインパス情報を含むことができる。
プログラムループ管理部133が生成したプレパス情報およびメインパス情報は検証動作制御部132に伝送され得、検証動作制御部132はプログラムループ管理部133から受信したプレパス情報およびメインパス情報に基づいて検証動作を遂行するように周辺回路120を制御することができる。例えば、プログラムループ管理部133から第1プログラム状態P1に対するプレ検証動作(Pre-verify)がパスされる時点が第1プログラムループLoop1であり、第1プログラム状態P1に対するメイン検証動作(Main-verify)がパスされる時点が第5プログラムループLoop5であるというパス情報を受信すれば、検証動作制御部132は第2プログラムループからメイン検証電圧を印加するように周辺回路120を制御することができる。
図9は、本発明の一実施例に係るメモリコントローラを説明するための図面である。
図9を参照すると、メモリコントローラ1300はプロセッサ1310、RAM1320、エラー訂正回路1330、ROM1360、ホストインターフェース1370、およびメモリインターフェース1380を含むことができる。図9に図示されたメモリコントローラ1300は図1に図示されたメモリコントローラ200の一実施例であり得る。
プロセッサ1310はホストインターフェース1370を利用してホスト2000と通信し、メモリコントローラ1300の動作を制御するために論理演算を遂行できる。例えば、プロセッサ1310はホスト2000または外部装置から受信した要請に基づいてプログラム命令、データファイル、データ構造などをロードし、各種演算を遂行したりコマンドおよびアドレスを生成することができる。例えば、プロセッサ1310はプログラム動作、読み込み動作、消去動作、サスペンド動作およびパラメータセッティング動作に必要な多様なコマンド(commands)を生成することができる。
そして、プロセッサ1310はフラッシュ変換階層FTLの機能を遂行することができる。プロセッサ1310はフラッシュ変換階層FTLを通じてホスト2000が提供した論理ブロックアドレス(Logical Block Address、LBA)を物理ブロックアドレス(Physical Block Address、PBA)に変換することができる。フラッシュ変換階層FTLはマッピングテーブルを利用して論理ブロックアドレス(LBA)の入力を受けて物理ブロックアドレス(PBA)に変換させることができる。フラッシュ変換階層FTLのアドレスマッピング方法にはマッピング単位により多様なものがある。代表的なアドレスマッピング方法にはページマッピング方法(Page mapping method)、ブロックマッピング方法(Block mapping method)、そして混合マッピング方法(Hybrid mapping method)がある。
そして、プロセッサ1310はホスト2000の要請なしにコマンドを生成することができる。例えば、プロセッサ1310はメモリ装置100のウェアレベリング(wear leveling)のための動作、メモリ装置100のガベージコレクション(garbage collection)のための動作のような背景(background)動作のためにコマンドを生成することができる。
RAM1320はプロセッサ1310のバッファメモリ、動作メモリまたはキャッシュメモリとして使われ得る。そして、RAM1320はプロセッサ1310が実行するコードおよびコマンドを保存することができる。RAM1320はプロセッサ1310により処理されるデータを保存することができる。そして、RAM1320は具現時にSRAM(Static RAM)またはDRAM(Dynamic RAM)を含んで具現され得る。
エラー訂正回路1330はプログラム動作または読み込み動作時にエラーを検出し、検出されたエラーを訂正することができる。具体的には、エラー訂正回路1330はエラー訂正コード(Error Correction Code、ECC)によりエラー訂正動作を遂行できる。そして、エラー訂正回路1330はメモリ装置100に書き込まれるデータに基づいてエラー訂正エンコーディング(ECC encoding)を遂行できる。エラー訂正エンコーディングが遂行されたデータはメモリインターフェース1380を通じてメモリ装置100に伝達され得る。また、エラー訂正回路1330はメモリ装置100からメモリインターフェース1380を通じて受信されるデータに対してエラー訂正デコーディング(ECC decoding)を遂行できる。
ROM1360はメモリコントローラ1300の動作に必要な多様な情報を保存する保存部(storage unit)として使われ得る。具体的には、ROM1360はマップテーブル(map table)を含むことができ、マップテーブルには物理-論理アドレス情報と論理-物理アドレス情報が保存され得る。そして、ROM1360はプロセッサ1310により制御され得る。
ホストインターフェース1370はホスト2000およびメモリコントローラ1300間のデータの交換を遂行するためのプロトコルを含むことができる。具体的には、ホストインターフェース1370はUSB(Universal Serial Bus)プロトコル、MMC(multimedia card)プロトコル、PCI(peripheral component interconnection)プロトコル、PCI-E(PCI-express)プロトコル、ATA(Advanced Technology Attachment)プロトコル、Serial-ATAプロトコル、Parallel-ATAプロトコル、SCSI(small computer small interface)プロトコル、ESDI(enhanced small disk interface)プロトコル、そしてIDE(Integrated Drive Electronics)プロトコル、事由(private)プロトコルなどのような多様なインターフェースプロトコルのうち少なくとも一つを通じてホスト2000と通信するように構成され得る。
メモリインターフェース1380はプロセッサ1310の制御により通信プロトコルを利用してメモリ装置100と通信を遂行できる。具体的には、メモリインターフェース1380はチャネルを通じてコマンド、アドレスおよびデータをメモリ装置100と通信することができる。例えば、メモリインターフェース1380はナンドインターフェース(NAND interface)を含むことができる。
図10は、本発明の一実施例に係るメモリカードシステムを説明するための図面である。
図10を参照すると、メモリカードシステム3000はメモリコントローラ3100、メモリ装置3200およびコネクタ3300を含むことができる。
メモリコントローラ3100はメモリ装置3200と電気的に連結され、メモリコントローラ3100はメモリ装置3200をアクセスするように構成され得る。例えば、メモリコントローラ3100はメモリ装置3200に対する読み取り動作、書き込み動作、イレイズ動作および背景(background)動作を制御するように構成され得る。メモリコントローラ3100はメモリ装置3200およびホストの間にインターフェースを提供するように構成され得る。そして、メモリコントローラ3100はメモリ装置3200を制御するためのファームウェア(firmware)を駆動することができる。
例えば、メモリコントローラ3100はラム(RAM、Random Access Memory)、プロセッシングユニット(processing unit)、ホストインターフェース(host interface)、メモリインターフェース(memory interface)、エラー訂正部のような構成要素を含むことができる。
メモリコントローラ3100はコネクタ3300を通じて外部装置と通信することができる。メモリコントローラ3100は特定の通信規格に沿って外部装置(例えば、ホスト)と通信することができる。例示的に、メモリコントローラ3100はUSB(Universal Serial Bus)、MMC(multimedia card)、eMMC(embeded MMC)、PCI(peripheral component interconnection)、PCI-E(PCI-express)、ATA(Advanced Technology Attachment)、Serial-ATA、Parallel-ATA、SCSI(small computer small interface)、ESDI(enhanced small disk interface)、IDE(Integrated Drive Electronics)、ファイアワイヤー(Firewire)、UFS(Universal Flash Storage)、WIFI、Bluetooth、NVMeなどのような多様な通信規格のうち少なくとも一つを通じて外部装置と通信するように構成され得る。例示的に、コネクタ3300は前述された多様な通信規格のうち少なくとも一つによって定義され得る。
例示的に、メモリ装置3200はEEPROM(Electrically Erasable and Programmable ROM)、ナンドフラッシュメモリ、ノアフラッシュメモリ、PRAM(Phase-change RAM)、ReRAM(Resistive RAM)、FRAM(登録商標)(Ferroelectric RAM)、STT-MRAM(Spin-Torque Magnetic RAM)などのような多様な不揮発性メモリ素子で具現され得る。
メモリコントローラ3100およびメモリ装置3200は、一つの半導体装置で集積されてメモリカードを構成することができる。例えば、メモリコントローラ3100およびメモリ装置3200は、一つの半導体装置で集積されてPCカード(PCMCIA、personal computer memory card international association)、コンパクトフラッシュカード(CF)、スマートメディアカード(SM、SMC)、メモリスティック、マルチメディアカード(MMC、RS-MMC、micro-MMC、eMMC)、SDカード(SD、miniSD、microSD、SDHC)、汎用フラッシュ記憶装置(UFS)などのようなメモリカードを構成することができる。
図11は、本発明の一実施例に係るSSD(Solid State Drive)システムを説明するための図面である。
図11を参照すると、SSDシステム4000はホスト4100およびSSD4200を含むことができる。SSD4200は信号コネクタ4001を通じてホスト4100と信号SIGをやりとりし、電源コネクタ4002を通じて電源PWRの入力を受けることができる。SSD4200はSSDコントローラ4210、複数のフラッシュメモリ4221~422n、補助電源装置4230、およびバッファメモリ4240を含むことができる。
実施例で、SSDコントローラ4210は図1を参照して説明されたメモリコントローラ200の機能を遂行することができる。SSDコントローラ4210はホスト4100から受信された信号SIGに応答して複数のフラッシュメモリ4221~422nを制御することができる。例示的に、信号SIGはホスト4100およびSSD4200のインターフェースに基づいた信号であり得る。例えば、信号SIGはUSB(Universal Serial Bus)、MMC(multimedia card)、eMMC(embeded MMC)、PCI(peripheral component interconnection)、PCI-E(PCI-express)、ATA(Advanced Technology Attachment)、Serial-ATA、Parallel-ATA、SCSI(small computer small interface)、ESDI(enhanced small disk interface)、IDE(Integrated Drive Electronics)、ファイアワイヤー(Firewire)、UFS(Universal Flash Storage)、WIFI、Bluetooth、NVMeなどのようなインターフェースのうち少なくとも一つによって定義された信号であり得る。
補助電源装置4230は電源コネクタ4002を通じてホスト4100と連結され得る。補助電源装置4230はホスト4100から電源PWRの入力を受け、充電することができる。補助電源装置4230はホスト4100からの電源の供給が円滑でない場合、SSD4200の電源を提供することができる。例示的に、補助電源装置4230はSSD4200内に位置してもよく、SSD4200の外に位置してもよい。例えば、補助電源装置4230はメインボードに位置し、SSD4200に補助電源を提供してもよい。
バッファメモリ4240はSSD4200のバッファメモリとして動作することができる。例えば、バッファメモリ4240はホスト4100から受信されたデータまたは複数のフラッシュメモリ4221~422nから受信されたデータを一時保存したり、フラッシュメモリ4221~422nのメタデータ(例えば、マッピングテーブル)を一時保存することができる。バッファメモリ4240はDRAM、SDRAM、DDR SDRAM、LPDDR SDRAM、GRAMなどのような揮発性メモリまたはFRAM(登録商標)、ReRAM、STT-MRAM、PRAMなどのような不揮発性メモリを含むことができる。
図12は、本発明の一実施例に係る使用者システムを説明するための図面である。
図12を参照すると、使用者システム5000はアプリケーションプロセッサ5100、メモリモジュール5200、ネットワークモジュール5300、ストレージモジュール5400、および使用者インターフェース5500を含むことができる。
アプリケーションプロセッサ5100は使用者システム5000に含まれた構成要素、運営体制(OS;Operating System)、または使用者プログラムなどを駆動させることができる。例示的に、アプリケーションプロセッサ5100は使用者システム5000に含まれた構成要素を制御するコントローラ、インターフェース、グラフィックエンジンなどを含むことができる。アプリケーションプロセッサ5100はシステムオンチップ(SoC;System-on-Chip)で提供され得る。
メモリモジュール5200は使用者システム5000のメインメモリ、動作メモリ、バッファメモリ、またはキャッシュメモリとして動作することができる。メモリモジュール5200はDRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、LPDDR SDARM、LPDDR3 SDRAM、LPDDR3 SDRAMなどのような揮発性ランダムアクセスメモリまたはPRAM、ReRAM、MRAM、FRAM(登録商標)などのような不揮発性ランダムアクセスメモリを含むことができる。例示的に、アプリケーションプロセッサ5100およびメモリモジュール5200はPOP(Package on Package)に基づいてパッケージ化されて一つの半導体パッケージで提供され得る。
ネットワークモジュール5300は外部装置と通信を遂行できる。例示的に、ネットワークモジュール5300はCDMA(Code Division Multiple Access)、GSM(Global System for Mobile communication)、WCDMA(wideband CDMA)、CDMA-2000、TDMA(Time Dvision Multiple Access)、LTE(Long Term Evolution)、Wimax、WLAN、UWB、ブルートゥース(登録商標)、Wi-Fiなどのような無線通信を支援することができる。例示的に、ネットワークモジュール5300はアプリケーションプロセッサ5100に含まれ得る。
ストレージモジュール5400はデータを保存することができる。例えば、ストレージモジュール5400はアプリケーションプロセッサ5100から受信したデータを保存することができる。またはストレージモジュール5400はストレージモジュール5400に保存されたデータをアプリケーションプロセッサ5100で伝送することができる。例示的に、ストレージモジュール5400はPRAM(Phase-change RAM)、MRAM(Magnetic RAM)、RRAM(Resistive RAM)、NAND flash、NOR flash、3次元構造のNANDフラッシュなどのような不揮発性半導体メモリ素子で具現され得る。例示的に、ストレージモジュール5400は使用者システム5000のメモリカード、外装型ドライブなどのような脱着式保存媒体(removable drive)で提供され得る。
例示的に、ストレージモジュール5400は複数の不揮発性メモリ装置を含むことができ、複数の不揮発性メモリ装置は図1~図3を参照して説明したメモリ装置と同一に動作することができる。ストレージモジュール5400は図1を参照して説明された保存装置1000と同一に動作することができる。
使用者インターフェース5500はアプリケーションプロセッサ5100にデータまたは命令語を入力したり、または外部装置にデータを出力するインターフェースを含むことができる。例示的に、使用者インターフェース5500はキーボード、キーパッド、ボタン、タッチパネル、タッチスクリーン、タッチパッド、タッチボール、カメラ、マイク、ジャイロスコープセンサ、振動センサ、圧電素子などのような使用者入力インターフェースを含むことができる。使用者インターフェース5500はLCD(Liquid Crystal Display)、OLED(Organic Light Emitting Diode)表示装置、AMOLED(Active Matrix OLED)表示装置、LED、スピーカー、モニターなどのような使用者出力インターフェースを含むことができる。
100:メモリ装置
120:周辺回路
130:制御ロジック
120:周辺回路
130:制御ロジック
Claims (20)
- 複数のメモリセルを含むメモリセルアレイ;
前記複数のメモリセルのうち選択されたメモリセルにプログラム動作を遂行する周辺回路;および
前記選択されたメモリセルが前記選択されたメモリセルそれぞれに対応する目標プログラム状態を形成するように前記周辺回路を制御する制御ロジック;を含むものの、
前記制御ロジックは、
前記選択されたメモリセルの目標プログラム状態のうちいずれか一つのプログラム状態に対するプレ検証動作がパスされると、前記いずれか一つのプログラム状態に対するメイン検証動作を遂行するように前記周辺回路を制御する、メモリ装置。 - 前記制御ロジックは、
前記いずれか一つのプログラム状態に対するプレ検証動作がパスされると、前記いずれか一つのプログラム状態に対する前記プレ検証動作を省略するように前記周辺回路を制御する、請求項1に記載のメモリ装置。 - 前記プレ検証動作は、
プレ検証電圧より低いしきい電圧を有するメモリセルの個数が基準個数を超過すればフェイルと判断する、請求項1に記載のメモリ装置。 - 前記メイン検証動作は、
メイン検証電圧より低いしきい電圧を有するメモリセルの個数が基準個数を超過すればフェイルと判断する、請求項1に記載のメモリ装置。 - 前記メイン検証電圧は、
プレ検証電圧より高いレベルの電位を有する、請求項4に記載のメモリ装置。 - 前記制御ロジックは、
前記プレ検証動作がパスされたプログラムループに関するプレパス情報および前記メイン検証動作がパスされたプログラムループに関するメインパス情報を生成するプログラムループ管理部;を含む、請求項1に記載のメモリ装置。 - 前記制御ロジックは、
前記プレパス情報および前記メインパス情報に基づいて、前記選択されたメモリセル以後にプログラムされるメモリセルに対する後続プログラム動作を制御する、請求項6に記載のメモリ装置。 - 前記プログラム動作は、
プログラムループが順次遂行されることによって印加されるプログラム電圧がステップ電圧だけ上昇する増加型ステップパルスプログラム(Incremental Step Pulse Program)である、請求項1に記載のメモリ装置。 - 前記制御ロジックは、
前記選択されたメモリセルに連結されたワードラインにプログラム電圧を印加するように前記周辺回路を制御するプログラム電圧制御部;および
前記選択されたメモリセルに連結されたワードラインにメイン検証動作のためのメイン検証電圧およびプレ検証動作のためのプレ検証電圧を印加するように前記周辺回路を制御する検証動作制御部;を含む、請求項1に記載のメモリ装置。 - 前記周辺回路は、
前記プログラム動作に印加されるプログラム電圧、メイン検証電圧およびプレ検証電圧を含む内部電圧を生成する電圧生成部;を含む、請求項1に記載のメモリ装置。 - 複数のメモリセルを含むメモリセルアレイ;
前記複数のメモリセルのうち選択されたメモリセルに複数のプログラムループを含むプログラム動作を遂行する周辺回路;および
前記選択されたメモリセルが前記選択されたメモリセルそれぞれに対応する目標プログラム状態を形成するかを確認するメイン検証動作およびプレ検証動作を含むプログラム検証動作を遂行するように前記周辺回路を制御する制御ロジック;を含むものの、
前記プレ検証動作は、
前記複数のプログラムループのうちいずれか一つのプログラムループから前記選択されたメモリセルの目標プログラム状態のうちいずれか一つのプログラム状態に対するプレ検証動作がパスされると、前記いずれか一つのプログラムループの次のプログラムループで前記いずれか一つのプログラム状態に対するプレ検証動作を省略するように前記周辺回路を制御する、メモリ装置。 - 前記制御ロジックは、
前記いずれか一つのプログラム状態に対する前記プレ検証動作がパスされると、前記いずれか一つのプログラム状態に対するメイン検証動作のみを遂行するように前記周辺回路を制御する、請求項11に記載のメモリ装置。 - 前記プレ検証動作は、
プレ検証電圧より低いしきい電圧を有するメモリセルの個数が基準個数を超過すればフェイルと判断する、請求項11に記載のメモリ装置。 - 前記メイン検証動作は、
メイン検証電圧より低いしきい電圧を有するメモリセルの個数が基準個数を超過すればフェイルと判断する、請求項11に記載のメモリ装置。 - 前記メイン検証動作は、
前記プレ検証動作のためのプレ検証電圧より高いレベルの電位を有する前記メイン検証電圧を利用する、請求項14に記載のメモリ装置。 - 前記制御ロジックは、
前記プレ検証動作がパスされたプログラムループに関するプレパス情報および前記メイン検証動作がパスされたプログラムループに関するメインパス情報を生成するプログラムループ管理部;を含む、請求項11に記載のメモリ装置。 - 前記制御ロジックは、
前記プレパス情報および前記メインパス情報に基づいて、前記選択されたメモリセル以後にプログラムされるメモリセルに対する後続プログラム動作を制御する、請求項16に記載のメモリ装置。 - 前記プログラム動作は、
プログラムループが順次遂行されることによって印加されるプログラム電圧がステップ電圧だけ上昇する増加型ステップパルスプログラム(Incremental Step Pulse Program)である、請求項11に記載のメモリ装置。 - 前記制御ロジックは、
前記選択されたメモリセルに連結されたワードラインにプログラム電圧を印加するように前記周辺回路を制御するプログラム電圧制御部;および
前記選択されたメモリセルに連結されたワードラインにメイン検証動作のためのメイン検証電圧およびプレ検証動作のためのプレ検証電圧を印加するように前記周辺回路を制御する検証動作制御部;を含む、請求項11に記載のメモリ装置。 - 前記周辺回路は、
前記プログラム動作に印加されるプログラム電圧、メイン検証電圧およびプレ検証電圧を含む内部電圧を生成する電圧生成部;を含む、請求項11に記載のメモリ装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210102765A KR20230020858A (ko) | 2021-08-04 | 2021-08-04 | 메모리 장치 및 그 동작 방법 |
KR10-2021-0102765 | 2021-08-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023024369A true JP2023024369A (ja) | 2023-02-16 |
Family
ID=85152497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022124216A Pending JP2023024369A (ja) | 2021-08-04 | 2022-08-03 | メモリ装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11908532B2 (ja) |
JP (1) | JP2023024369A (ja) |
KR (1) | KR20230020858A (ja) |
CN (1) | CN115705899A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230114529A (ko) * | 2022-01-25 | 2023-08-01 | 에스케이하이닉스 주식회사 | 메모리 장치 및 그것의 동작 방법 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160021654A (ko) | 2014-08-18 | 2016-02-26 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이의 동작방법 |
KR102377469B1 (ko) * | 2015-11-02 | 2022-03-23 | 삼성전자주식회사 | 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치의 동작 방법 |
KR102565888B1 (ko) | 2016-09-12 | 2023-08-11 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그것의 동작 방법 |
US11101007B2 (en) * | 2019-02-11 | 2021-08-24 | SK Hynix Inc. | Semiconductor device and method of operating semiconductor device |
-
2021
- 2021-08-04 KR KR1020210102765A patent/KR20230020858A/ko active Search and Examination
-
2022
- 2022-01-20 US US17/580,274 patent/US11908532B2/en active Active
- 2022-03-16 CN CN202210257124.2A patent/CN115705899A/zh active Pending
- 2022-08-03 JP JP2022124216A patent/JP2023024369A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20230020858A (ko) | 2023-02-13 |
US11908532B2 (en) | 2024-02-20 |
CN115705899A (zh) | 2023-02-17 |
US20230040560A1 (en) | 2023-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10846002B2 (en) | Memory controller to adjust the size of write data, operating method therof and storage device including the same | |
US11194513B2 (en) | Storage device and operating method thereof | |
KR20210105728A (ko) | 메모리 장치 및 그 동작 방법 | |
KR20220082473A (ko) | 메모리 장치 및 그 동작 방법 | |
KR20210090439A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
CN111445939B (zh) | 存储装置及其操作方法 | |
US11742023B2 (en) | Memory device and operating method thereof | |
CN112783431A (zh) | 存储装置及其操作方法 | |
JP2023024369A (ja) | メモリ装置 | |
US11996155B2 (en) | Memory device and method of operating the same | |
US20230113235A1 (en) | Memory device and operating method thereof | |
US20220392538A1 (en) | Memory device and operating method thereof | |
KR20220079235A (ko) | 저장 장치 및 그 동작 방법 | |
KR20220048377A (ko) | 저장 장치 및 그 동작 방법 | |
KR20220048864A (ko) | 저장 장치 및 그 동작 방법 | |
KR20220014236A (ko) | 메모리 장치 및 그 동작 방법 | |
CN112825260A (zh) | 存储器装置及其操作方法 | |
US20220328101A1 (en) | Memory device and operating method thereof | |
US11500768B2 (en) | Storage device performing garbage collection and method of operating the same | |
US20230395169A1 (en) | Memory device and method of operating the same | |
JP2023108588A (ja) | メモリ装置及びその動作方法 | |
KR20220064592A (ko) | 저장 장치 및 그 동작 방법 | |
KR20220128789A (ko) | 메모리 장치 및 이를 포함하는 저장 장치 | |
KR20230085629A (ko) | 저장 장치 및 그 동작 방법 | |
KR20230139249A (ko) | 메모리 장치 및 그것의 동작 방법 |