JP2022159991A - メモリシステム及びその動作方法 - Google Patents
メモリシステム及びその動作方法 Download PDFInfo
- Publication number
- JP2022159991A JP2022159991A JP2022043677A JP2022043677A JP2022159991A JP 2022159991 A JP2022159991 A JP 2022159991A JP 2022043677 A JP2022043677 A JP 2022043677A JP 2022043677 A JP2022043677 A JP 2022043677A JP 2022159991 A JP2022159991 A JP 2022159991A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- memory cells
- scan
- voltage
- cells
- 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 554
- 238000000034 method Methods 0.000 title claims description 29
- 238000013523 data management Methods 0.000 claims abstract description 14
- 230000002159 abnormal effect Effects 0.000 claims description 12
- 238000012360 testing method Methods 0.000 claims description 6
- 238000011017 operating method Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 28
- 239000000872 buffer Substances 0.000 description 11
- 230000004044 response Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 230000006866 deterioration Effects 0.000 description 9
- 238000012937 correction Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 8
- 238000007667 floating Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000005086 pumping Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 101100481702 Arabidopsis thaliana TMK1 gene 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
- 230000003213 activating effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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/26—Sensing or reading circuits; Data output 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
- 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
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
-
- 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/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
-
- 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/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- 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/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3431—Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
-
- 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
- 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/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- 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/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
- G11C16/3495—Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
-
- 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/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/021—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
-
- 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/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
-
- 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
- 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
- G11C2029/0409—Online test
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)
- Memory System (AREA)
Abstract
【課題】本発明は電子装置に関する。【解決手段】本技術によるメモリコントローラは、複数の走査電圧を上記複数のページの何れか1つのページに印加するように上記メモリ装置を制御する走査電圧制御部と、上記複数の走査電圧によって上記何れか1つのページをリードしたセンシングデータに基づいて、上記何れか1つのページに含まれた複数のメモリセルのうち、上記複数の走査電圧によって定義される少なくとも1つの走査区間に含まれるしきい値電圧を有するメモリセルの数を取得するカウンタと、上記メモリセルの数に基づいて、上記何れか1つのページが含まれたメモリブロックに保存されたデータを別のメモリブロックに保存するように上記メモリ装置を制御するデータ管理部と、を含む。【選択図】図1
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つのページをリードしたセンシングデータに基づいて、上記何れか1つのページに含まれた複数のメモリセルのうち、上記複数の走査電圧によって定義される少なくとも1つの走査区間に含まれるしきい値電圧を有するメモリセルの数を取得するカウンタと、上記メモリセルの数に基づいて、上記何れか1つのページが含まれたメモリブロックに保存されたデータを別のメモリブロックに保存するように上記メモリ装置を制御するデータ管理部と、を含んでもよい。
本発明の一実施例によるメモリコントローラの動作方法は、複数の走査電圧を複数のページの何れか1つのページに印加するようにメモリ装置を制御する段階と、複数の走査電圧によって何れか1つのページをリードしたセンシングデータに基づいて、何れか1つのページに含まれた複数のメモリセルのうち、複数の走査電圧によって定義される少なくとも1つの走査区間に含まれるしきい値電圧を有するメモリセルの数を取得する段階と、メモリセルの数に基づいて、何れか1つのページが含まれたメモリブロックに保存されたデータを別のメモリブロックに保存するようにメモリ装置を制御する段階と、を含んでもよい。
本技術によると、データの信頼性を保持するためにメモリブロックの劣化状態を迅速かつ正確に判断できるメモリシステム及びその動作方法が提供される。
本明細書または出願に開示されている本発明の概念による実施例に対する特定の構造的乃至機能的説明は本発明の概念による実施例を説明するための例示に過ぎず、本発明の概念による実施例は様々な形態で実施されてもよく、本明細書または出願に説明された実施例に限定されると解釈すべきではない。
図1は本発明の実施例によるメモリシステムを説明するための図である。
図1を参照すると、本発明の実施例によるメモリシステム1000は、少なくとも1つのメモリ装置100及びメモリコントローラ200を含んでもよい。
メモリシステム1000は半導体ベースのストレージ装置である。メモリシステム1000はホスト300の制御に応じてデータを保存することができる。メモリシステム1000はホスト300の制御に応じて保存されたデータをホスト300に提供することができる。
メモリシステム1000はホスト300との通信方式であるホストインターフェースに応じて様々な種類のストレージ装置の1つで構成されてもよい。例えば、メモリシステム1000は、SSD(Solid State Disk)、MMC(Multi Media Card)、eMMC(embedded MMC)、RS-MMC(Reduced-Size MMC)、micro-MMC、SD(Secure Digital)カード、mini-SDカード、micro-SDカード、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)などの様々な種類のストレージ装置の何れか1つで構成されてもよい。
メモリシステム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は複数のメモリブロックを含んでもよい。複数のメモリブロックのそれぞれは複数のページを含んでもよい。即ち、1つのメモリブロックは複数のページを含むことができる。ここで、ページはデータを保存するプログラム動作(または書き込み動作)が行われる単位であってもよい。また、ページは保存されたデータをリードするリード動作が行われる単位であってもよい。メモリブロックは保存されたデータを消去する消去動作が行われる単位であってもよい。複数のページのそれぞれは複数のメモリセルを含んでもよい。複数のメモリセルのそれぞれには互いに独立したデータを保存されてもよい。データは1つ以上のビット単位の値であってもよい。データは文字、数字、記号、画像、音声などの様々な情報を表すことができる。
メモリ装置100はメモリコントローラ200の制御に応じて動作することができる。メモリ装置100はメモリコントローラ200からコマンドを受信すると、コマンドに対応する動作を行うことができる。ここで、コマンドはプログラムコマンド、リードコマンド、及び消去コマンドの何れか1つであってもよい。
一実施例において、メモリ装置100は、NAND型フラッシュメモリ(NAND flash memory)、垂直型NANDフラッシュメモリ(Vertical NAND flash memory)、NOR型フラッシュメモリ(NOR flash memory)、SRAM(Static Random Access Memory、Static RAM))、DRAM(Dynamic RAM)、SDRAM(Synchronous Dynamic RAM)、DDR(Double Data Rate) SDRAM、LPDDR(Low Power DDR) SDRAM、GDRAM(Graphics DRAM)、RDRAM(Rambus DRAM)、強誘電体メモリ(Ferro electric RAM、FeRAM)、磁気抵抗メモリ(magnetoresistive RAM、MRAM)、相変化メモリ(Phase Change Memory、PCM)、スピン注入磁化反転メモリ(Spin Transfer Torque Magnetoresistive RAM、STT-RAM)、抵抗性メモリ(Resistive RAM、ReRAM)などの何れか1つで具現されてもよい。本明細書では、説明の便宜上、メモリ装置100がNAND型フラッシュメモリである場合を想定して説明する。
メモリコントローラ200はメモリシステム1000の全般的な動作を制御することができる。
メモリシステム1000に電源が印加されると、メモリコントローラ200はファームウェア(firmware、FW)を実行することができる。ファームウェアはホスト300との通信を制御するホストインターフェースレイヤ(Host Interface Layer、HIL)と、ホスト300とメモリ装置100との間の通信を制御するフラッシュ変換レイヤ(Flash Translation Layer、FTL)と、メモリ装置100との通信を制御するフラッシュインターフェースレイヤ(Flash Interface Layer、FLA)と、を含んでもよい。メモリコントローラ200はメモリ装置100の外部に位置してもよい。メモリコントローラ200はチャネルを介してメモリ装置100と接続されてもよい。
メモリコントローラ200はメモリ装置100を制御することができる。一実施例におけるメモリコントローラ200はホスト300から受信した要請に応じてメモリ装置100を制御することができる。他の実施例では、メモリコントローラ200はホスト300の要請に関わらずそれ自体でメモリ装置100を制御することができる。
メモリコントローラ200はプログラム動作、リード動作、及び消去動作の1つを実行するようにメモリ装置100を制御することができる。
プログラム動作の場合、メモリコントローラ200はプログラムコマンド、アドレス、及びデータをメモリ装置100に提供することができる。これに応答して、メモリ装置100はアドレスによって選択されたページにデータを保存することができる。
リード動作の場合、メモリコントローラ200はリードコマンド及びアドレスをメモリ装置100に提供することができる。これに応答して、メモリ装置100はアドレスによって選択されたページに保存されたデータをメモリコントローラ200またはホスト300に提供することができる。
消去動作の場合、メモリコントローラ200は消去コマンド及びアドレスをメモリ装置100に提供することができる。これに応答して、メモリ装置100はアドレスによって選択されたメモリブロックに保存されたデータを消去することができる。
ホスト300はメモリシステム1000を制御することができる。例えば、ホスト300は、データを保存するように指示するコマンド及びデータをメモリシステム1000に提供することができる。これに応答して、メモリシステム1000はデータをメモリ装置100に保存することができる。他の例として、ホスト300は保存されたデータを要請するコマンドをメモリシステム1000に提供することができる。これに応答して、メモリシステム1000はメモリ装置100に保存されたデータをホスト300に提供することができる。他の例として、ホスト300は保存されたデータを削除するように指示するコマンドをメモリシステム1000に提供することができる。これに応答して、メモリシステム1000はメモリ装置100に保存されたデータを削除することができる。
ホスト300は、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)などの様々な通信方式の少なくとも1つを利用してメモリシステム1000と通信することができる。
ホスト300は、携帯電話、スマートフォン、MP3プレーヤ、ラップトップコンピュータ、デスクトップコンピュータ、ゲーム機、TV(Tevelison)、タブレットPCまたは車載インフォテインメント(in-vehicle infotainment)システム、ウェアラブルデバイス(wearable device)などの様々な電子装置の1つであってもよい。メモリシステム1000はホスト300と別の装置で具現されるか、またはホスト300に内蔵された形態で具現されてもよい。
メモリ装置100のメモリブロックに保存されたデータは、時間リテンション(time retention)、リードディスターブ(read disturb)、温度上昇などの様々な原因により劣化し得る。即ち、データを表すメモリセルのしきい値電圧が意図せずに変化することがあり、このため、保存されたデータの信頼性を低下する恐れがある。技術の発展に伴って1つのメモリブロックに含まれるメモリセルの数が増えており、これにより、1つのメモリブロックに含まれる全てのメモリセルに対するデータの劣化度合いを検査することは、リソースの制約、速度低下、消費電力の上昇などの側面において困難がある。
本発明の一実施例によるメモリコントローラ200は、メモリブロックに保存されたデータを正常にリードできないほど劣化が進む前に、メモリブロックに保存されたデータを別のメモリブロックに保存(または移動)するようにメモリ装置100を制御することができる。
このため、メモリコントローラ200は複数の走査電圧を複数のページの何れか1つのページに印加するようにメモリ装置100を制御することができる。ここで、複数の走査電圧のそれぞれは少なくとも1つの走査区間を定義するための電圧であってもよい。例えば、複数の走査電圧は第1及び第2走査電圧を含んでもよい。ここで、第1走査電圧は第1走査区間の最大値であり、第2走査電圧は第1走査区間の最小値であってもよい。走査電圧が印加される対象である何れか1つのページは、メモリブロックに含まれた複数のページのうち任意の1つのページであるか、または予め設定された1つのページであってもよい。
メモリコントローラ200は、複数の走査電圧によって何れか1つのページをリードしたセンシングデータに基づいて、何れか1つのページに含まれた複数のメモリセルのうち、複数の走査電圧によって定義される少なくとも1つの走査区間に含まれるしきい値電圧を有するメモリセルの数を取得することができる。ここで、センシングデータは走査電圧よりも低いしきい値電圧を有するメモリセルの数を示すデータであってもよい。少なくとも1つの走査区間は1つまたは2つ以上の区間であってもよい。例えば、少なくとも1つの走査区間は第1走査区間及び第2走査区間を含んでもよい。
メモリコントローラ200はメモリセルの数に基づいて、何れか1つのページが含まれたメモリブロックに保存されたデータを別のメモリブロックに保存するようにメモリ装置100を制御することができる。例えば、メモリコントローラ200は、メモリセルの数が予め設定された基準値より大きい場合、何れか1つのページが含まれたメモリブロックに保存されたデータを別のメモリブロックに保存するようにメモリ装置100を制御することができる。
本技術によると、データの信頼性を保持するためにメモリブロックの劣化状態を迅速かつ正確に判断できるメモリシステム1000及びその動作方法を提供することができる。上述したように、1つのメモリブロックに含まれた何れか1つのページは、同じメモリブロックに含まれた別のページを代表して走査されてもよい。これは、1つのメモリブロックに含まれた複数のメモリセルのそれぞれに対してプログラムが実行された後、複数のメモリセルのしきい値電圧が互いに類似する方向及び速度で変化することを利用したものである。このため、全てのページではなく一部のページに対する走査を通じて該当メモリブロックの劣化状態を推定することができ、走査の効率性及び正確性を向上させることができる。以下では、添付の図面を参照してより具体的に説明する。
図2は本発明の実施例によるメモリ装置の構造を説明するための図である。
図2を参照すると、メモリ装置100は、メモリセルアレイ110、電圧生成部120、アドレスデコーダ130、入出力回路140、及び制御ロジック150を含んでもよい。
メモリセルアレイ110は複数のメモリブロックBLK1~BLKiを含んでもよい。複数のメモリブロックBLK1~BLKiは行線RLを介してアドレスデコーダ130に接続されてもよい。複数のメモリブロックBLK1~BLKiは列線CLを介して入出力回路140に接続されてもよい。実施例において、行線RLはワード線、ソース選択線、ドレイン選択線を含んでもよく、列線CLはビット線を含んでもよい。
複数のメモリブロックBLK1~BLKiのそれぞれは複数のメモリセルを含んでもよい。
複数のメモリセルのそれぞれにはデータが保存されてもよい。例えば、複数のメモリセルのそれぞれは1ビットを保存するシングルレベルセル(Single Level Cell、SIC)、2ビットを保存するマルチレベルセル(Multiple Level Cell、MLC)、3ビットを保存するトリプルレベルセル(Triple Level Cell、TLC)または4ビットを保存するクアッドレベルセル(Quad Level Cell、QLC)方式などに応じて違うビット数のデータを保存することができる。ここで、複数のメモリセルのうち同じワード線に接続されたメモリセルは1つのページとして定義されることができる。
実施例において、複数のメモリセルのそれぞれは不揮発性メモリセルであってもよい。例えば、複数のメモリセルのそれぞれは電荷が蓄積され得るフローティングゲートを含んでもよい。複数のメモリセルのそれぞれはフローティングゲートに蓄積された電荷量に応じてデータの特定値を表すことができる。
実施例において、電圧生成部120、アドレスデコーダ130、及び入出力回路140は周辺回路(peripheral circuit)と称することができる。周辺回路は制御ロジック150の制御に応じてメモリセルアレイ110を駆動することができる。周辺回路はプログラム動作、リード動作及び消去動作を行うようにメモリセルアレイ110を駆動することができる。
電圧生成部120はメモリ装置100に供給される外部電源電圧を利用して複数の動作電圧が生成するように構成されてもよい。電圧生成部120は制御ロジック150の制御に応答して動作することができる。
実施例として、電圧生成部120は外部電源電圧をレギュレートして内部電源電圧を生成することができる。電圧生成部120で生成された内部電源電圧はメモリ装置100の動作電圧として用いられてもよい。
実施例として、電圧生成部120は外部電源電圧または内部電源電圧を利用して複数の動作電圧を生成することができる。電圧生成部120はメモリ装置100で求められる様々な電圧を生成するように構成されてもよい。例えば、電圧生成部120は、複数の消去電圧、複数のプログラム電圧、複数のパス電圧、複数の選択リード電圧、複数の非選択リード電圧を生成することができる。このため、電圧生成部120は内部電源電圧を受信する複数のポンピングキャパシタを含んでもよい。電圧生成部120は制御ロジック150の制御に応答して複数のポンピングキャパシタを選択的に活性化することで複数の動作電圧を生成することができる。
電圧生成部120で生成された複数の動作電圧は、アドレスデコーダ130によりメモリセルアレイ110に供給されてもよい。
アドレスデコーダ130は行線RLを介してメモリセルアレイ110に接続されてもよい。アドレスデコーダ130は制御ロジック150の制御に応答して動作するように構成されてもよい。アドレスデコーダ130は制御ロジック150からアドレスADDRを受信することができる。アドレスデコーダ130は受信したアドレスADDRのうちブロックアドレスをデコードすることができる。アドレスデコーダ130はデコードされたブロックアドレスに応じてメモリブロックBLK1~BLKiのうち少なくとも1つのメモリブロックを選択することができる。アドレスデコーダ130は受信したアドレスADDRのうち行アドレスをデコードすることができる。アドレスデコーダ130はデコードされた行アドレスに応じて選択されたメモリブロックのワード線のうち少なくとも1つのワード線を選択することができる。実施例において、アドレスデコーダ130は受信したアドレスADDRのうち列アドレスをデコードすることができる。アドレスデコーダ130はデコードされた列アドレスに応じて入出力回路140とメモリセルアレイ110を接続することができる。
例えば、アドレスデコーダ130は、行デコーダ、列デコーダ、アドレスバッファなどの構成要素を含んでもよい。
入出力回路140は複数のページバッファを含んでもよい。複数のページバッファはビット線を介してメモリセルアレイ110に接続されてもよい。プログラム動作の際、複数のページバッファに保存されたデータがビット線を介して選択されたページに提供され、提供されたデータは選択されたページに含まれたメモリセルに保存されてもよい。リード動作の際、選択されたページに含まれたメモリセルに保存されたデータがビット線を介してセンシングされ、センシングされたデータはページバッファに保存されてもよい。
制御ロジック150はアドレスデコーダ130、電圧生成部120、及び入出力回路140を制御することができる。制御ロジック150は外部装置から伝達されるコマンドCMDに応答して動作することができる。制御ロジック150はコマンドCMD及びアドレスADDRに応答して制御信号を生成し、周辺回路を制御することができる。
図3は本発明の実施例によるメモリブロックの構造を説明するための図である。
図3を参照すると、メモリブロックBLKiはビット線BL1~BLnとソース線SLの間に接続された複数のストリングを含んでもよい。メモリブロックBLKiに対する説明は複数のメモリブロックBLK1~BLKiのそれぞれに適用することができる。
複数のストリングはビット線BL1~BLnに1つずつ接続されてもよい。複数のストリングはソース線SLに共通して接続されてもよい。複数のストリングは互いに同様に構成されてもよいため、複数のストリングのうち第1ビット線BL1に接続されたストリングSTを例に挙げて具体的に説明する。ストリングSTに対する説明は他のストリングにも同様に適用できる。
ストリングSTは、ソース線SLと第1ビット線BL1の間で互いに直列に接続されたソース選択トランジスタSSTと、複数のメモリセルMC1~MC16と、ドレイン選択トランジスタDSTと、を含んでもよい。
複数のメモリセルMC1~MC16はソース選択トランジスタSSTとドレイン選択トランジスタDSTの間で直列に接続されてもよい。複数のメモリセルMC1~MC16のゲートは複数のワード線WL1~WL16に1つずつ接続されてもよい。1つのストリングSTに含まれたメモリセルMC1~MC16の数は図面に示した数より多くても少なくてもよい。
ドレイン選択トランジスタDSTのドレインは第1ビット線BL1に接続されてもよい。ドレイン選択トランジスタDSTのゲートはドレイン選択線DSLに接続されてもよい。ソース選択トランジスタSSTのソースはソース線SLに接続されてもよい。ソース選択トランジスタSSTのゲートはソース選択線SSLに接続されてもよい。1つのストリングSTに含まれるソース選択トランジスタSST及びドレイン選択トランジスタDSTのそれぞれの数は1以上であってもよい。
複数のワード線WL1~WL16、ソース選択線SSL、及びドレイン選択線DSLは互いに平行に配列されてもよい。複数のワード線WL1~WL16、ソース選択線SSL、及びドレイン選択線DSLはストリングSTの配列された方向と垂直な方向に配列されてもよい。
メモリブロックBLKiは複数のページを含んでもよい。ページは同じワード線に接続されたメモリセルのグループであることができる。この場合、メモリブロックBLKiは複数のワード線WL1~WL16の数と同じ数のページを含んでもよい。複数のページは互いに同様に構成されてもよいため、複数のページのうち第3ワード線WL3に接続されたページPGを例に挙げて具体的に説明する。ページPGに対する説明は他のページにも同様に適用できる。
ページPGは、メモリブロックBLKiに含まれた複数のメモリセルのうち第3ワード線WL3に接続されたメモリセルを含んでもよい。ページPGに含まれたメモリセルのそれぞれは互いに異なるストリングに含まれるメモリセルであってもよい。
プログラム動作の場合、メモリ装置100がプログラム電圧をページPGに印加することによりページPGにデータを保存することができる。具体的には、メモリ装置100はプログラム電圧を第3ワード線WL3に印加することができる。この場合、第3ワード線WL3に印加されたプログラム電圧は、第3ワード線WL3に接続されたページPGに含まれたメモリセルのそれぞれのゲートに伝達されることができる。ページPGに含まれたメモリセルのそれぞれのゲートにプログラム電圧が印加されると、トンネル現象によりページPGに含まれたメモリセルのそれぞれのフローティングゲートに電荷が注入されることができる。フローティングゲートに蓄積された電荷の量に応じてメモリセルのしきい値電圧は変わることができる。ここで、しきい値電圧は、メモリセルのソース及びドレインの間に電流が流れることができるチャネルが形成されるときのゲートに印加される電圧であることができる。
ここで、プログラム動作はISPP(Incremental step pulse program)方式を用いてもよい。ISPP方式は複数のプログラムループを含んでもよい。複数のプログラムループのそれぞれは予め定められたレベルのプログラム電圧をワード線に印加するPGMパルス段階(またはPGMパルス動作)と、予め定められたレベルの検証電圧をワード線に印加して該当プログラムループのパスまたは失敗を識別する検証段階(または検証動作)と、を含んでもよい。
リード動作の場合、メモリ装置100がリード電圧をページPGに印加することによりページPGに保存されたデータを出力することができる。具体的には、メモリ装置100はリード電圧を第3ワード線WL3に印加することができる。この場合、第3ワード線WL3に印加されたリード電圧は第3ワード線WL3に接続されたページPGに含まれたメモリセルのそれぞれのゲートに伝達されることができる。ページPGに含まれた何れか1つのメモリセルにおいて、ゲートに印加されたリード電圧が該当メモリセルのしきい値電圧よりも大きい場合、該当メモリセルが接続されたビット線に電流が流れることができる。ゲートに印加されたリード電圧が該当メモリセルのしきい値電圧よりも小さい場合、該当メモリセルが接続されたビット線に電流が流れなくてもよい。メモリセルが1つずつ接続されたビット線に電流が流れるか否かをセンシングし、リード電圧の大きさ及びセンシング結果に応じて異なるように識別できるデータを出力することができる。
図4は本発明の実施例によるメモリセルのしきい値電圧を説明するための図である。
図4を参照すると、本発明の一実施例によるメモリ装置100は複数のメモリセルを含んでもよい。複数のメモリセルのそれぞれはしきい値電圧により区別される複数のプログラム状態E0、P1、P2、P3のうち1つのプログラム状態であることができる。
ここで、複数のプログラム状態E0、P1、P2、P3のそれぞれは特定のデータを表すことができる。例えば、複数のプログラム状態E0、P1、P2、P3はマルチレベルセル方式によって消去状態E0、第1プログラム状態P1、第2プログラム状態P2、第3プログラム状態P3を含んでもよい。消去状態E0、第1プログラム状態P1、第2プログラム状態P2、第3プログラム状態P3のそれぞれは00、01、10、11などのデータのうち1つを表すことができる。消去状態E0、第1プログラム状態P1、第2プログラム状態P2、第3プログラム状態P3のそれぞれは複数のデフォルトリード電圧R1、R2、R3のうち少なくとも1つのリード電圧を介してリードされてもよい。
このために、メモリ装置100は、メモリコントローラ200の制御コマンド(例えば、消去コマンドまたはプログラムコマンド)に応じてメモリセルのしきい値電圧を変化させることができる。ここで、メモリセルのしきい値電圧は、メモリセルのフローティングゲートに蓄積された電荷の量に応じて変化し得る。例えば、メモリ装置100は消去動作によりメモリセルのしきい値電圧を消去状態E0に変化させ、プログラム動作によりメモリセルのしきい値電圧を第1プログラム状態P1、第2プログラム状態P2、第3プログラム状態P3の何れかに変化させることができる。
しかし、これは一実施例に過ぎず、複数のプログラム状態E0、P1、P2、P3及び複数のデフォルトリード電圧R1、R2、R3は、シングルレベルセル、トリプルレベルセル、クアッドレベルセルなどの方式に応じて様々な数のプログラム状態及び様々な数のデフォルトリード電圧を含んでもよい。以下では、説明の便宜上、本発明の複数のプログラム状態E0、P1、P2、P3はマルチレベルセル方式によるプログラム状態を含むと想定する。
具体的には、メモリ装置100はメモリコントローラ200からプログラムコマンドを受信すると、複数のプログラム状態E0、P1、P2、P3が互いに対応する数のメモリセルを含むように、複数のメモリセルを複数のプログラム状態E0、P1、P2、P3の何れか1つのプログラム状態にプログラムすることができる。ここで、互いに対応する数は誤差範囲内で実質的に同じ数であることができる。
例えば、1つのページが100個のメモリセルを含む場合を想定する。該当ページでは消去状態E0、第1プログラム状態P1、第2プログラム状態P2、第3プログラム状態P3のそれぞれが25個のメモリセルを含むことができる。
メモリ装置100のメモリブロックに保存されたデータは、時間リテンション、リードディスターブ、温度上昇などの様々な原因によって劣化し得る。即ち、メモリセルのしきい値電圧が変化し得る。例えば、消去状態E0のメモリセルは劣化度合によって第1状態E0-1または第2状態E0-2などのようにしきい値電圧の分布が変化することができる。消去状態E0のメモリセルのしきい値電圧の分布が変化したように、同時に第1プログラム状態P1、第2プログラム状態P2、第3プログラム状態P3のそれぞれのメモリセルのしきい値電圧の分布も変化することができる。
本発明の一実施例によるメモリコントローラ200は、データが正常にリードできないほど劣化が進む前に、メモリブロックに保存されたデータを別のメモリブロックに保存するようにメモリ装置100を制御することができる。また、図1を参照しこれについて具体的に説明する。
メモリコントローラ200は、走査電圧制御部210、カウンタ220、及びデータ管理部230を含んでもよい。
走査電圧制御部210は複数の走査電圧を複数のページの何れか1つのページに印加するようにメモリ装置100を制御することができる。以下の動作において何れか1つのページは複数の走査電圧を印加したページを指す。
ここで、複数の走査電圧は異なる大きさの電圧値であってもよい。複数の走査電圧は走査区間を定義することができる。走査区間については図5を参照して具体的に説明する。
カウンタ220は、複数の走査電圧によって何れか1つのページをリードしたセンシングデータに基づいて、何れか1つのページに含まれた複数のメモリセルのうち、複数の走査電圧によって定義される少なくとも1つの走査区間に含まれるしきい値電圧を有するメモリセルの数を取得することができる。ここで、センシングデータは、それぞれの走査電圧よりも低いしきい値電圧を有するメモリセルの数を示す情報を含んでもよい。メモリセルの数を取得する方法については、図7~図8Cを参照して具体的に説明する。
データ管理部230は、メモリセルの数に基づいて、何れか1つのページが含まれたメモリブロックに保存されたデータを別のメモリブロックに保存するようにメモリ装置100を制御することができる。
一実施例によると、データ管理部230は、メモリセルの数が基準値以上であれば、何れか1つのページが含まれたメモリブロックに保存されたデータを別のメモリブロックに保存するようにメモリ装置100を制御することができる。即ち、データ管理部230は、1つのページが含まれたメモリブロックに保存されたデータを別のメモリブロックに保存するように制御するコマンドをメモリ装置100に伝送することができる。ここで、別のメモリブロックとは同じメモリ装置100の別のメモリブロックまたは別のメモリ装置のメモリブロックであってもよい。
または、データ管理部230は、メモリセルの数が基準値未満であれば、何れか1つのページが含まれたメモリブロックに保存されたデータを保持するようにメモリ装置100を制御することができる。即ち、データ管理部230はメモリブロックの劣化を検知する走査動作を終了することができる。ここで、基準値はエラー訂正コード(Error Correction Code、ECC)の臨界値であってもよく、これはエラー訂正コードによって訂正可能なメモリセルの数であってもよい。
本発明のさらに他の実施例によると、少なくとも1つの走査区間は2つ以上の走査区間を含んでもよい。以下では、図5を参照して具体的に説明する。
図5は本発明の実施例による走査区間を説明するための図である。
図5を参照すると、少なくとも1つの走査区間は複数の走査電圧V1、V2、V3によって定義されることができる。
ここで、複数の走査電圧V1、V2、V3は少なくとも1つの走査区間の最大値及び最小値の何れか1つに対応することができる。複数の走査電圧V1、V2、V3のそれぞれはメモリセルに保存されたデータをリードするためのデフォルトリード電圧R1、R2、R3とは異なる大きさの電圧であってもよい。
一実施例において、少なくとも1つの走査区間は第1走査電圧V1及び第2走査電圧V2により定義される1つの走査区間Sを含んでもよい。即ち、走査区間Sは、第1走査電圧V1に対応する最大値及び第2走査電圧V2に対応する最小値の間の区間(または範囲)と定義されることができる。
この場合、複数の走査電圧V1、V2は第1走査電圧V1と、第1走査電圧V1よりも小さい電圧値を有する第2走査電圧V2と、を含んでもよい。一方、走査区間Sは走査区間Sの境界値(例えば、最大値及び最小値)を含んでもよい。
他の一実施例において、少なくとも1つの走査区間は第1走査区間A及び第2走査区間Bを含んでもよい。ここで、第1走査電圧V1は第1走査区間Aの最大値に対応し、第3走査電圧V3は第1走査区間Aの最小値及び第2走査区間Bの最大値に対応し、第2走査電圧V2は第2走査区間Bの最小値に対応することができる。即ち、第1走査区間Aは第1走査電圧V1に対応する最大値と第3走査電圧V3に対応する最小値との間の区間と定義されることができる。そして、第2走査区間Bは第3走査電圧V3に対応する最大値及び第2走査電圧V2に対応する最小値の間の区間と定義されることができる。即ち、第1走査区間A及び第2走査区間Bは第3走査電圧V3を境界として互いに連続する区間であってもよい。
この場合、複数の走査電圧V1、V2、V3は第1走査電圧V1、第2走査電圧V2、及び第3走査電圧V3を含んでもよい。ここで、電圧値の大きさは第1走査電圧V1が最も大きく、第3走査電圧V3が次に大きく、第2走査電圧V2が最も小さくてもよい。一方、第1走査区間Aは第1走査区間Aの境界値(例えば、最大値及び最小値)を含んでもよい。第2走査区間Bは第2走査区間Bの境界値(例えば、最大値及び最小値)を含んでもよい。
図5には示されていないが、他の実施例において、複数の走査電圧によって定義される走査区間は互いに離れている区間であってもよい。例えば、第1走査区間は第1走査電圧に対応する最大値と第2走査電圧に対応する最小値の間の区間と定義され、第2走査区間は第3走査電圧に対応する最大値と第4走査電圧に対応する最小値の間の区間と定義されることができる。ここで、電圧値の大きさは第1走査電圧が最も大きく、第2走査電圧、第3走査電圧、第4走査電圧の順に小さくなる電圧値であってもよい。
以下では、特に言及しない限り、本発明の少なくとも1つの走査区間は第1走査区間A及び第2走査区間Bを含むと想定して説明する。
図6は図5の走査区間を説明するための図である。
図5及び図6を参照すると、少なくとも1つの走査区間A、Bは、何れか1つのページに含まれた消去セルの初期しきい値電圧の最大値E0_max及びメモリ装置100の予め設定された少なくとも1つのデフォルトリード電圧R1、R2、R3のうち最も小さいデフォルトリード電圧R1の電圧値の間の区間に含まれてもよい。
ここで、消去セルはメモリブロックに含まれた複数のメモリセルに対して消去動作が行われるとき、消去状態E0となったメモリセルを示す。消去セルの初期しきい値電圧は消去動作が行われるときの消去セルのしきい値電圧を意味することができる。即ち、しきい値電圧が変わる前の状態の消去セルのしきい値電圧を示すことができる。消去セルの初期しきい値電圧の最大値E0_maxは予め求められた値であっても、推定値であってもよい。例えば、消去セルの初期しきい値電圧の最大値E0_maxは最も小さいデフォルトリード電圧R1の電圧値よりも300mv小さい電圧値であってもよい。
また、メモリ装置100の予め設定された少なくとも1つのデフォルトリード電圧は、シングルレベルセル、マルチレベルセル、トリプルレベルセル、クアッドレベルセルなどのデータの保存方式によって異なる数及び異なる大きさのデフォルトリード電圧が設定されてもよい。例えば、SLCの場合、少なくとも1つのデフォルトリード電圧は第1デフォルトリード電圧R1を含んでもよい。他の例として、MLCの場合、少なくとも1つのデフォルトリード電圧は第1デフォルトリード電圧R1、第2デフォルトリード電圧R2、及び第3デフォルトリード電圧R3を含んでもよい。この場合、第1デフォルトリード電圧R1が最も小さい電圧値であってもよい。
このように、消去状態E0の消去セルの初期しきい値電圧の最大値E0_maxと最も小さいデフォルトリード電圧R1の電圧値の間の区間は少なくとも1つの走査区間A、Bを含んでもよい。即ち、複数の走査電圧V1、V2、V3のそれぞれは、消去状態E0の消去セルの初期しきい値電圧の最大値E0_maxと最も小さいデフォルトリード電圧R1の電圧値の間の大きさを有することができる。
一実施例において、消去状態E0の消去セルの初期しきい値電圧の最大値E0_max及び最も小さいデフォルトリード電圧R1の電圧値のそれぞれを0%及び100%と想定すると、相対的に第1走査電圧V1は75%の大きさの電圧値に設定され、第2走査電圧V2は25%の大きさの電圧値に設定されることができる。第3走査電圧V3は第1走査電圧V1及び第2走査電圧V2の中間値または平均値である50%の大きさの電圧値に設定されてもよい。しかし、これは一実施例に過ぎず、複数の走査電圧V1、V2、V3のそれぞれの電圧値は多様に変化されてもよい。
一方、他の実施例として、少なくとも1つの走査区間A、Bは消去状態E0の消去セルの初期しきい値電圧の最大値E0_maxと第1プログラム状態P1のメモリセルの初期しきい値電圧の最小値P1_minの間の区間に含まれてもよい。即ち、複数の走査電圧V1、V2、V3のそれぞれは、消去状態E0の消去セルの初期しきい値電圧の最大値E0_maxと第1プログラム状態P1のメモリセルの初期しきい値電圧の最小値P1_minの間の大きさを有することができる。
図7は本発明の実施例による走査区間におけるメモリセルの数を説明するための図である。
図7を参照すると、消去状態E0のメモリセルは第2状態E0-2のようにしきい値電圧の分布が変化されてもよい。ここで、少なくとも1つの走査区間A、Bは第1走査区間A及び第2走査区間Bを含んでもよい。第1走査区間A及び第2走査区間Bは消去セルのしきい値電圧の変化を検知するための区間であってもよい。そして、複数の走査電圧V1、V2、V3は第1走査区間Aの最大値に対応する第1走査電圧V1と、第2走査区間Bの最小値に対応する第2走査電圧V2と、第1走査区間Aの最小値及び第2走査区間Bの最大値に対応する第3走査電圧V3と、を含んでもよい。
この場合、データ管理部230は、第1メモリセルの数a1及び第2メモリセルの数b1に基づいて、メモリブロックに保存されたデータを別のメモリブロックに保存するようにメモリ装置100を制御することができる。ここで、第1メモリセルの数a1は第1走査区間Aにしきい値電圧が含まれるメモリセルの数であり、第2メモリセルの数b1は第2走査区間Bにしきい値電圧が含まれるメモリセルの数であってもよい。
ここで、データ管理部230は、第1メモリセルの数a1が第1基準数以上であれば、メモリブロックに保存されたデータを別のメモリブロックに保存するようにメモリ装置100を制御することができる。ここで、第1基準数はエラー訂正コードの臨界値であってもよい。
一方、データ管理部230は、第1メモリセルの数a1が第1基準数未満であり、第2メモリセルの数b1が第2基準数以上であれば、メモリブロックに保存されたデータを別のメモリブロックに保存するようにメモリ装置100を制御することができる。ここで、第2基準数は第1基準数よりも大きい値であってもよい。例えば、第2基準数は第1基準数またはエラー訂正コードの臨界値の2倍数または3倍数などの様々な値に設定されてもよい。
一方、データ管理部230は、第1メモリセルの数a1が第1基準数未満であり、第2メモリセルの数b1が第2基準数未満であれば、何れか1つのページが含まれたメモリブロックに保存されたデータを保持するようにメモリ装置100を制御することができる。即ち、データ管理部230はメモリブロックの劣化を検知する走査動作を終了することができる。
一実施例によると、データ管理部230は、第1メモリセルの数a1及び第2メモリセルの数b1の比率が基準比率以上であれば、メモリブロックに保存されたデータを別のメモリブロックに保存するようにメモリ装置100を制御することができる。ここで、第1メモリセルの数a1及び第2メモリセルの数b1の比率は、第2メモリセルの数b1を第1メモリセルの数a1で割った値であってもよい。基準比率は2または3などの多様な値に設定されてもよい。
一実施例によると、データ管理部230は、第1メモリセルの数と第2メモリセルの数の比率が基準比率以上であれば、メモリブロックに含まれた複数のページのそれぞれにテストリード電圧を印加するように走査電圧制御部210を制御することができる。テストリード電圧は、しきい値電圧の変化が基準範囲を外れた異常しきい値電圧を有するメモリセルの数をリードするための電圧であってもよい。即ち、メモリ装置100は、1つのメモリブロックに接続された全てのワード線にテストリード電圧を印加し、異常しきい値電圧を有するメモリセルの数を示すセンシングデータをメモリコントローラ200に出力することができる。
そして、データ管理部230は、メモリ装置100から受信したセンシングデータに基づいて、カウンタ220を通して複数のページのそれぞれに含まれた複数のメモリセルのうち異常しきい値電圧を有するメモリセルの数を取得することができる。また、データ管理部230は、異常しきい値電圧を有するメモリセルの数が第3基準数以上であれば、メモリブロックに保存されたデータを別のメモリブロックに保存するようにメモリ装置100を制御することができる。ここで、第3基準数はメモリブロックに含まれるページ数及びエラー訂正コードの臨界値に比例する値に設定されてもよい。
図8a~図8cは、本発明の実施例による走査区間においてメモリセルの数をカウントする方法を説明するための図である。
図8a~図8cを参照すると、少なくとも1つの走査区間A、Bは第1走査区間A及び第2走査区間Bを含んでもよい。
この場合、カウンタ220は、何れか1つのページに含まれた複数のメモリセルのうち、第1走査区間Aに含まれるしきい値電圧を有する第1メモリセルの数a1及び第2走査区間Bに含まれるしきい値電圧を有する第2メモリセルの数b1を取得することができる。
具体的な一実施例において、カウンタ220は、第1走査電圧V1よりも低いしきい値電圧を有するメモリセルの数から第3走査電圧V3よりも低いしきい値電圧を有するメモリセルの数を差し引いた第1メモリセルの数a1を取得することができる。
図8aを参照すると、メモリ装置100は該当ページに接続されたワード線に第1走査電圧V1を印加することができる。そして、メモリ装置100は第1走査電圧V1を印加することで、第1走査電圧V1よりも低いしきい値電圧を有するメモリセルをターンオンさせることができる。例えば、図8aのオン領域に含まれるメモリセルがターンオンされることができる。メモリ装置100はターンオンされたメモリセルの数c1を示す第1センシングデータをメモリコントローラ200に出力することができる。
図8cを参照すると、メモリ装置100は該当ページに接続されたワード線に第3走査電圧V3を印加することができる。そして、メモリ装置100は第3走査電圧V3を印加することで、第3走査電圧V3よりも低いしきい値電圧を有するメモリセルをターンオンさせることができる。例えば、図8cのオン領域に含まれるメモリセルがターンオンされることができる。メモリ装置100はターンオンされたメモリセルの数c3を示す第3センシングデータをメモリコントローラ200に出力することができる。
この場合、カウンタ220はメモリ装置100から出力された第1センシングデータ及び第3センシングデータに基づいて、第1走査電圧V1よりも低いしきい値電圧を有するターンオンされたメモリセルの数c1から第3走査電圧V3よりも低いしきい値電圧を有するターンオンされたメモリセルc3の数を差し引いた第1メモリセルの数a1を取得することができる。
具体的な一実施例において、カウンタ220は、第3走査電圧V3よりも低いしきい値電圧を有するメモリセルの数から第2走査電圧V2よりも低いしきい値電圧を有するメモリセルの数を差し引いた第2メモリセルの数b1を取得することができる。
図8bを参照すると、メモリ装置100は該当ページに接続されたワード線に第2走査電圧V2を印加することができる。そして、メモリ装置100は第2走査電圧V2を印加することで、第2走査電圧V2よりも低いしきい値電圧を有するメモリセルをターンオンさせることができる。例えば、図8bのオン領域に含まれるメモリセルがターンオンされることができる。メモリ装置100は、ターンオンされたメモリセルの数c2を示す第2センシングデータをメモリコントローラ200に出力することができる。
この場合、カウンタ220は、メモリ装置100から出力された第3センシングデータ及び第2センシングデータに基づいて、第3走査電圧V3よりも低いしきい値電圧を有するターンオンされたメモリセルの数c3から第2走査電圧V2よりも低いしきい値電圧を有するターンオンされたメモリセルc2の数を差し引いた第2メモリセルの数b1を取得することができる。
図9は、本発明の実施例によるメモリコントローラの動作方法を説明するためのフローチャートである。
図9を参照すると、メモリコントローラ200の動作方法は、複数の走査電圧V1、V2、V3を複数のページの何れか1つのページに印加するようにメモリ装置100を制御する段階S910と、複数の走査電圧V1、V2、V3により何れか1つのページをリードしたセンシングデータに基づいて、何れか1つのページに含まれた複数のメモリセルのうち、複数の走査電圧V1、V2、V3により定義される少なくとも1つの走査区間A、Bに含まれるしきい値電圧を有するメモリセルの数を取得する段階S920と、メモリセルの数に基づいて、何れか1つのページが含まれたメモリブロックに保存されたデータを別のメモリブロックに保存するようにメモリ装置100を制御する段階S930と、を含んでもよい。
具体的には、メモリコントローラ200は、複数の走査電圧V1、V2、V3を複数のページの何れか1つのページに印加するようにメモリ装置100を制御することができるS910。
一実施例において、少なくとも1つの走査区間A、Bは第1走査区間A及び第2走査区間Bを含んでもよい。
一実施例において、複数の走査電圧V1、V2、V3は、第1走査区間Aの最大値に対応する第1走査電圧V1と、第2走査区間Bの最小値に対応する第2走査電圧V2と、第1走査区間Aの最小値及び第2走査区間Bの最大値に対応する第3走査電圧V3と、を含んでもよい。即ち、第1走査区間A及び第2走査区間Bは第3走査電圧V3を境界として連続する区間であってもよい。ここで、電圧値は、第1走査電圧V1、第3走査電圧V3、第2走査電圧V2の順に小さくなる大きさの電圧値を有することができる。
一実施例において、複数のページは複数のメモリセルをそれぞれ含んでもよい。複数のメモリセルは、しきい値電圧によって区別される複数のプログラム状態E0、P1、P2、P3が互いに対応する数のメモリセルを含むように複数のプログラム状態E0、P1、P2、P3の何れか1つのプログラム状態にプログラムされてもよい。
そして、複数の走査電圧V1、V2、V3によって何れか1つのページをリードしたセンシングデータに基づいて、何れか1つのページに含まれた複数のメモリセルのうち、複数の走査電圧V1、V2、V3により定義される少なくとも1つの走査区間A、Bに含まれるしきい値電圧を有するメモリセルの数を取得することができるS920。
一実施例において、少なくとも1つの走査区間A、Bは、何れか1つのページに含まれた消去セルの初期しきい値電圧の最大値E0_max及びメモリ装置100の予め設定された少なくとも1つのデフォルトリード電圧のうち最も小さいデフォルトリード電圧R1の電圧値の間の区間に含まれてもよい。
そして、メモリセルの数に基づいて、何れか1つのページが含まれたメモリブロックに保存されたデータを別のメモリブロックに保存するようにメモリ装置100を制御することができるS930。
その後、メモリコントローラ200は既設定の周期毎に上述したS910から動作を行うことができる。
図10は、本発明の実施例によるメモリコントローラの動作方法を説明するための図である。
図10を参照すると、メモリコントローラ200は、複数の走査電圧V1、V2、V3をメモリ装置100の複数のページの何れか1つのページに印加するようにメモリ装置100を制御することができるS1010。
メモリコントローラ200は、メモリ装置100の何れか1つのページに含まれた複数のメモリセルのうち、第1走査区間Aに含まれるしきい値電圧を有する第1メモリセルの数a1及び第2走査区間Bに含まれるしきい値電圧を有する第2メモリセルの数b1を取得することができるS1020。
一実施例において、メモリコントローラ200は、第1走査電圧V1よりも低いしきい値電圧を有するメモリセルの数から第3走査電圧V3よりも低いしきい値電圧を有するメモリセルの数を差し引いた第1メモリセルの数a1を取得することができる。そして、メモリコントローラ200は、第3走査電圧V3よりも低いしきい値電圧を有するメモリセルの数から第2走査電圧V2よりも低いしきい値電圧を有するメモリセルの数を差し引いた第2メモリセルの数b1を取得することができる。
メモリコントローラ200は、第1メモリセルの数a1及び第2メモリセルの数b1に基づいて、メモリブロックに保存されたデータを別のメモリブロックに保存するようにメモリ装置100を制御することができる。ここで、第1メモリセルの数a1は第1走査区間Aにしきい値電圧が含まれるメモリセルの数であり、第2メモリセルの数b1は第2走査区間Bにしきい値電圧が含まれるメモリセルの数であってもよい。
具体的には、メモリコントローラ200は第1メモリセルの数a1が第1基準数以上であるか否かを判断することができるS1030。メモリコントローラ200は第1メモリセルの数a1が第1基準数以上であれば(S1030、Yes)、メモリブロックに保存されたデータを別のメモリブロックに保存するようにメモリ装置100を制御することができるS1050。ここで、第1基準数はエラー訂正コードの臨界値であってもよい。
そして、メモリコントローラ200は、第1メモリセルの数a1が第1基準数未満であり(S1030、No)、第2メモリセルの数b1が第2基準数以上であるか否かを判定することができるS1040。ここで、第2基準数は第1基準数よりも大きくてもよい。例えば、第2基準数は第1基準数の2倍数または3倍数などの多様な数であってもよい。
メモリコントローラ200は、第1メモリセルの数a1が第1基準数未満であり(S1030、No)、第2メモリセルの数b1が第2基準数以上であれば(S1040、Yes)、メモリブロックに保存されたデータを別のメモリブロックに保存するようにメモリ装置100を制御することができるS1050。
メモリコントローラ200は、第1メモリセルの数a1が第1基準数未満であり(S1030、No)、第2メモリセルの数b1が第2基準数未満であれば(S1040、No)、何れか1つのページが含まれたメモリブロックに保存されたデータを保持するようにメモリ装置100を制御することができる。即ち、メモリコントローラ200はメモリブロックの劣化を検知する走査動作を終了することができる。
その後、メモリコントローラ200は既設定の周期毎に上述したS1010動作を繰り返し行うことができる。
図11は、本発明の実施例によるメモリコントローラの動作方法を説明するための図である。
図11を参照すると、メモリコントローラ200は、複数の走査電圧V1、V2、V3をメモリ装置100の複数のページの何れか1つのページに印加するようにメモリ装置100を制御することができるS1110。
メモリコントローラ200は、メモリ装置100の何れか1つのページに含まれた複数のメモリセルのうち、第1走査区間Aに含まれるしきい値電圧を有する第1メモリセルの数a1及び第2走査区間Bに含まれるしきい値電圧を有する第2メモリセルの数b1を取得することができるS1120。
メモリコントローラ200は、第1メモリセルの数a1及び第2メモリセルの数b1の比率が基準比率以上であるか否かを判断することができるS1130。ここで、第1メモリセルの数a1及び第2メモリセルの数b1の比率は、第2メモリセルの数b1を第1メモリセルの数a1で割った値であってもよい。基準比率は2または3などの様々な値であってもよい。
そして、メモリコントローラ200は、第1メモリセルの数a1及び第2メモリセルの数b1の比率が基準比率未満であれば(S1130、No)、何れか1つのページが含まれたメモリブロックに保存されたデータを保持するようにメモリ装置100を制御することができる。即ち、メモリコントローラ200はメモリブロックの劣化を検知する走査動作を終了することができる。
一実施例において、メモリコントローラ200は、第1メモリセルの数a1と第2メモリセルの数b1の比率が基準比率以上であれば(S1130、Yes)、メモリブロックに保存されたデータを別のメモリブロックに保存するようにメモリ装置100を制御することができるS1160。
一実施例において、メモリコントローラ200は、第1メモリセルの数a1及び第2メモリセルの数b1の比率が基準比率以上であれば(S1130、Yes)、メモリブロックに含まれた複数のページのそれぞれにテストリード電圧を印加するようにメモリ装置100を制御することができるS1140。そして、メモリコントローラ200は、複数のページのそれぞれに含まれた複数のメモリセルのうち、異常しきい値電圧を有するメモリセルの数を取得することができる。
そして、メモリコントローラ200は、異常しきい値電圧を有するメモリセルの数が第3基準数以上であるか否かを判断することができるS1150。ここで、第3基準数はメモリブロックに含まれるページ数及びエラー訂正コードの臨界値に比例する値に設定されてもよい。
そして、メモリコントローラ200は、異常しきい値電圧を有するメモリセルの数が第3基準数以上であれば(S1150、Yes)、メモリブロックに保存されたデータを別のメモリブロックに保存するようにメモリ装置100を制御することができるS1160。これと異なって、メモリコントローラ200は、異常しきい値電圧を有するメモリセルの数が第3基準数未満であれば(S1150、No)、何れか1つのページが含まれたメモリブロックに保存されたデータを保持するようにメモリ装置100を制御することができる。即ち、メモリコントローラ200はメモリブロックの劣化を検知する走査動作を終了することができる。一方、図10及び図11で上述した実施例は互いに組み合わせることができる。
図12は、本発明の実施例によるメモリシステムが適用されたメモリカードを示すブロック図である。
図12を参照すると、メモリカード2000は、メモリ装置2100、メモリコントローラ2200、及びコネクタ2300を含んでもよい。
メモリ装置2100はデータを保存するプログラム動作を行うことができる。例えば、メモリ装置2100は、EEPROM(Electrically Erasable and Programmable ROM)、NAND型フラッシュメモリ、NOR型フラッシュメモリ、PRAM(Phase-change RAM)、ReRAM(Resistive RAM)、FRAM(登録商標)(Ferroelectric RAM)、STT-MRAM(Spin Transfer Torque Magnetic RAM)などの様々な不揮発性メモリ素子からなってもよい。メモリ装置2100には、図1などを参照して説明したメモリ装置100に対する説明が同様に適用されてもよいため、以下では重複する内容は省略する。
メモリコントローラ2200はメモリ装置2100をアクセスするように構成されてもよい。例えば、メモリコントローラ2200はメモリ装置2100のプログラム動作、リード動作、及び消去動作を制御するように構成されてもよい。メモリコントローラ2200は、メモリ装置2100とホスト(Host)の間にインターフェースを提供するように構成される。メモリコントローラ2200はメモリ装置2100を制御するためのファームウェアを駆動するように構成される。メモリコントローラ2200は、図1を参照して説明したメモリコントローラ200と同様に具現されてもよい。
例えば、メモリコントローラ2200は、ラム(RAM、Random Access Memory)、プロセッシングユニット(processing unit)、ホストインターフェース(host interface)、メモリインターフェース(memory interface)、エラー訂正部などの構成要素を含んでもよい。
メモリコントローラ2200はコネクタ2300を介して外部装置と通信することができる。メモリコントローラ2200は特定の通信規格に応じて外部装置(例えば、ホスト)と通信することができる。例えば、メモリコントローラ2200は、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 system interface)、ESDI(enhanced small disk interface)、IDE(Integrated Drive Electronics)、ファイヤワイヤ(Firewire)、UFS(Universal Flash Storage)、WIFI、Bluetooth(登録商標)、NVMeなどの様々な通信規格のうち少なくとも1つを介して外部装置と通信するように構成される。例えば、コネクタ2300は上述した様々な通信規格のうち少なくとも1つによって定義されてもよい。
メモリ装置2100及びメモリコントローラ2200は1つの半導体装置に集積されてメモリカードを構成することができる。例えば、メモリ装置2100及びメモリコントローラ2200は1つの半導体装置に集積され、PCカード(PCMCIA、personal computer memory card international association)、コンパクトフラッシュ(登録商標)カード(CF)、スマートメディアカード(SM、SMC)、メモリースティック、マルチメディアカード(MMC、RS-MMC、MMCmicro、eMMC)、SDカード(SD、miniSD、microSD、SDHC)、汎用フラッシュ記憶装置(UFS)などのメモリカードを構成することができる。
図13は、本発明の実施例によるメモリシステムが適用されたSSDシステムを示すブロック図である。
図13を参照すると、SSDシステム3000は、複数のフラッシュメモリ3100_1~3100_nと、SSDコントローラ3200と、補助電源装置3030と、バッファメモリ3040と、を含んでもよい。
SSDシステム3000は信号コネクタ3010を介してホスト3300と信号を送受信し、電源コネクタ3020を介して電源の入力を受けることができる。
複数のフラッシュメモリ3100_1~3100_nのそれぞれはデータを保存するプログラム動作を行うことができる。例えば、複数のフラッシュメモリ3100_1~3100_nのそれぞれはEEPROM(Electrically Erasable and Programmable ROM)、NAND型フラッシュメモリ、NOR型フラッシュメモリ、PRAM(Phase-change RAM)、ReRAM(Resistive RAM)、FRAM(Ferroelectric RAM)、STT-MRAM(Spin Transfer Torque Magnetic RAM)などの様々な不揮発性メモリ素子からなってもよい。複数のフラッシュメモリ3100_1~3100_nのそれぞれには図1などを参照して説明したメモリ装置100に対する説明が同様に適用されてもよく、以下では重複する内容を省略する。
SSDコントローラ3200はホスト3300から受信した信号に応答して複数のフラッシュメモリ3100_1~3100_nを制御することができる。例えば、信号はホスト3300及びSSDシステム3000のインターフェースに基づく信号であってもよい。例えば、信号は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 system interface)、ESDI(enhanced small disk interface)、IDE(Integrated Drive Electronics)、ファイヤワイヤ(Firewire)、UFS(Universal Flash Storage)、WIFI、Bluetooth、NVMeなどのインターフェースのうち少なくとも1つによって定義された信号であってもよい。本発明の実施例によると、SSDコントローラ3200は図1を参照して説明したメモリコントローラ200の機能を行うことができる。
補助電源装置3030は電源コネクタ3020を介してホスト3300と接続されてもよい。補助電源装置3030はホスト3300から電源の入力を受け、充電することができる。補助電源装置3030はホスト3300からの電源供給が円滑でない場合、SSDシステム3000の電源を提供することができる。例えば、補助電源装置3030はSSDシステム3000内に位置してもよく、SSDシステム3000の外に位置してもよい。例えば、補助電源装置3030はメインボードに位置し、SSDシステム3000に補助電源を提供することもできる。
バッファメモリ3040はSSDシステム3000のバッファメモリとして動作してもよい。例えば、バッファメモリ3040はホスト3300から受信したデータまたは複数のフラッシュメモリ3100_1~3100_nから受信したデータを一時保存するか、またはフラッシュメモリ3100_1~3100_nのメタデータ(例えば、マッピングテーブル)を一時保存することができる。バッファメモリ3040は、DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM、GRAMなどの揮発性メモリ、またはFRAM、ReRAM、STT-MRAM、PRAMなどの不揮発性メモリを含んでもよい。
図14は、本発明の実施例によるメモリシステムを適用されたユーザシステムを示すブロック図である。
図14を参照すると、ユーザシステム4000は、アプリケーションプロセッサ4100、メモリモジュール4200、ネットワークモジュール4300、ストレージモジュール4400、及びユーザインターフェース4500を含んでもよい。
アプリケーションプロセッサ4100は、ユーザシステム4000に含まれた構成要素、オペレーティングシステム(Operating System、OS)、またはユーザプログラムなどを駆動させることができる。例えば、アプリケーションプロセッサ4100は、ユーザシステム4000に含まれた構成要素を制御するコントローラ、インターフェース、グラフィックエンジンなどを含んでもよい。アプリケーションプロセッサ4100はシステムオンチップ(System-on-Chip、SoC)で提供されてもよい。
メモリモジュール4200は、ユーザシステム4000のメインメモリ、動作メモリ、バッファメモリ、またはキャッシュメモリとして動作することができる。メモリモジュール4200は、DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、LPDDR SDARM、LPDDR2 SDRAM、LPDDR3 SDRAMなどの揮発性ランダムアクセスメモリ、またはPRAM、ReRAM、MRAM、FRAMなどの不揮発性ランダムアクセスメモリを含んでもよい。例えば、アプリケーションプロセッサ4100及びメモリモジュール4200はPOP(Package on Package)に基づいてパッケージ化され、1つの半導体パッケージとして提供されてもよい。
ネットワークモジュール4300は外部装置と通信を行うことができる。例えば、ネットワークモジュール4300は、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、Bluetooth、Wi-Fiなどの無線通信を支援することができる。例えば、ネットワークモジュール4300はアプリケーションプロセッサ4100に含まれてもよい。
ストレージモジュール4400はデータを保存することができる。例えば、ストレージモジュール4400はアプリケーションプロセッサ4100から受信したデータを保存することができる。または、ストレージモジュール4400はストレージモジュール4400に保存されたデータをアプリケーションプロセッサ4100に伝送することができる。例えば、ストレージモジュール4400は、PRAM(Phase-change RAM)、MRAM(Magnetic RAM)、RRAM(登録商標)(Resistive RAM)、NAND flash、NOR flash、3次元構造のNANDフラッシュなどの不揮発性半導体メモリ素子で具現されてもよい。例えば、ストレージモジュール4400はユーザシステム4000のメモリカード、外付けドライブなどの取り外し可能な記憶媒体(removable drive)として提供されてもよい。
例えば、ストレージモジュール4400は複数の不揮発性メモリ装置を含んでもよく、複数の不揮発性メモリ装置は図1を参照して説明したメモリ装置100と同様に動作することができる。ストレージモジュール4400は図1を参照して説明したメモリシステム1000と同様に動作することができる。
ユーザインターフェース4500はアプリケーションプロセッサ4100にデータまたは命令語を入力するか、または外部装置にデータを出力するインターフェースを含んでもよい。例えば、ユーザインターフェース4500は、キーボード、キーパッド、ボタン、タッチパネル、タッチスクリーン、タッチパッド、タッチボール、カメラ、マイク、ジャイロスコープセンサ、振動センサ、圧電素子などのユーザ入力インターフェースを含んでもよい。ユーザインターフェース4500は、LCD(Liquid Crystal Display)、OLED(Organic Light Emitting Diode)表示装置、AMOLED(Active Matrix OLED)表示装置、LED、スピーカ、モニタなどのユーザ出力インターフェースを含んでもよい。
1000 メモリシステム
100 メモリ装置
110 メモリセルアレイ
120 電圧生成部
130 アドレスデコーダ
140 入出力回路
150 制御ロジック
200 メモリコントローラ
210走査電圧制御部
220 カウンタ
230 データ管理部
100 メモリ装置
110 メモリセルアレイ
120 電圧生成部
130 アドレスデコーダ
140 入出力回路
150 制御ロジック
200 メモリコントローラ
210走査電圧制御部
220 カウンタ
230 データ管理部
Claims (20)
- 複数のページをそれぞれ含む複数のメモリブロックを含むメモリ装置を制御するメモリコントローラであって、
複数の走査電圧を前記複数のページの何れか1つのページに印加するように前記メモリ装置を制御する走査電圧制御部と、
前記複数の走査電圧によって前記何れか1つのページをリードしたセンシングデータに基づいて、前記何れか1つのページに含まれた複数のメモリセルのうち、前記複数の走査電圧によって定義される少なくとも1つの走査区間に含まれるしきい値電圧を有するメモリセルの数を取得するカウンタと、
前記メモリセルの数に基づいて、前記何れか1つのページが含まれたメモリブロックに保存されたデータを別のメモリブロックに保存するように前記メモリ装置を制御するデータ管理部と、を含むことが特徴とするメモリコントローラ。 - 前記少なくとも1つの走査区間は、
前記何れか1つのページに含まれた消去セルの初期しきい値電圧の最大値と前記メモリ装置の少なくとも1つのデフォルトリード電圧のうち最も小さいデフォルトリード電圧値の間の区間に含まれることを特徴とする請求項1に記載のメモリコントローラ。 - 前記少なくとも1つの走査区間は第1走査区間及び第2走査区間を含み、
前記カウンタは、
前記何れか1つのページに含まれた複数のメモリセルのうち、前記第1走査区間に含まれるしきい値電圧を有する第1メモリセルの数及び前記第2走査区間に含まれるしきい値電圧を有する第2メモリセルの数を取得し、
前記データ管理部は、
前記第1メモリセルの数及び前記第2メモリセルの数に基づいて、前記メモリブロックに保存されたデータを前記別のメモリブロックに保存するように前記メモリ装置を制御することを特徴とする請求項1に記載のメモリコントローラ。 - 前記複数の走査電圧は、
前記第1走査区間の最大値に対応する第1走査電圧と、前記第2走査区間の最小値に対応する第2走査電圧と、第1走査区間の最小値及び前記第2走査区間の最大値に対応する第3走査電圧と、を含むことを特徴とする請求項3に記載のメモリコントローラ。 - 前記データ管理部は、
前記第1メモリセルの数が第1基準数以上であれば、前記メモリブロックに保存されたデータを前記別のメモリブロックに保存するように前記メモリ装置を制御することを特徴とする請求項4に記載のメモリコントローラ。 - 前記データ管理部は、
前記第1メモリセルの数が前記第1基準数未満であり、前記第2メモリセルの数が第2基準数以上であれば、前記メモリブロックに保存されたデータを前記別のメモリブロックに保存するように前記メモリ装置を制御し、
前記第2基準数は、
前記第1基準数よりも大きいことを特徴とする請求項5に記載のメモリコントローラ。 - 前記データ管理部は、
前記第1メモリセルの数及び前記第2メモリセルの数の比率が基準比率以上であれば、前記メモリブロックに保存されたデータを前記別のメモリブロックに保存するように前記メモリ装置を制御することを特徴とする請求項4に記載のメモリコントローラ。 - 前記データ管理部は、
前記第1メモリセルの数及び前記第2メモリセルの数の比率が基準比率以上であれば、前記メモリブロックに含まれた前記複数のページのそれぞれにテストリード電圧を印加するように前記走査電圧制御部を制御し、
前記カウンタを介して前記複数のページのそれぞれに含まれた複数のメモリセルのうち異常しきい値電圧を有するメモリセルの数を取得し、
前記異常しきい値電圧を有するメモリセルの数が第3基準数以上であれば、前記メモリブロックに保存されたデータを前記別のメモリブロックに保存するように前記メモリ装置を制御することを特徴とする請求項4に記載のメモリコントローラ。 - 前記カウンタは、
前記第1走査電圧よりも低いしきい値電圧を有するメモリセルの数から前記第3走査電圧よりも低いしきい値電圧を有するメモリセルの数を差し引いた前記第1メモリセルの数を取得し、
前記第3走査電圧よりも低いしきい値電圧を有するメモリセルの数から前記第2走査電圧よりも低いしきい値電圧を有するメモリセルの数を差し引いた前記第2メモリセルの数を取得することを特徴とする請求項3に記載のメモリコントローラ。 - 前記複数のページは複数のメモリセルをそれぞれ含み、
前記複数のメモリセルは、
しきい値電圧によって区別される複数のプログラム状態が互いに対応する数のメモリセルを含むように前記複数のプログラム状態の何れか1つのプログラム状態にプログラムされることを特徴とする請求項1に記載のメモリコントローラ。 - 複数のページをそれぞれ含む複数のメモリブロックを含むメモリ装置を制御するメモリコントローラの動作方法であって、
複数の走査電圧を前記複数のページの何れか1つのページに印加するように前記メモリ装置を制御する段階と、
前記複数の走査電圧によって前記何れか1つのページをリードしたセンシングデータに基づいて、前記何れか1つのページに含まれた複数のメモリセルのうち、前記複数の走査電圧によって定義される少なくとも1つの走査区間に含まれるしきい値電圧を有するメモリセルの数を取得する段階と、
前記メモリセルの数に基づいて、前記何れか1つのページが含まれたメモリブロックに保存されたデータを別のメモリブロックに保存するように前記メモリ装置を制御する段階と、を含むことを特徴とする動作方法。 - 前記少なくとも1つの走査区間は、
前記何れか1つのページに含まれた消去セルの初期しきい値電圧の最大値と前記メモリ装置の少なくとも1つのデフォルトリード電圧のうち最も小さいデフォルトリード電圧値の間の区間に含まれることを特徴とする請求項11に記載の動作方法。 - 前記少なくとも1つの走査区間は第1走査区間及び第2走査区間を含み、
前記メモリセルの数を取得する段階は、
前記何れか1つのページに含まれた複数のメモリセルのうち、前記第1走査区間に含まれるしきい値電圧を有する第1メモリセルの数及び前記第2走査区間に含まれるしきい値電圧を有する第2メモリセルの数を取得し、
前記メモリセルの数に基づいて前記メモリ装置を制御する段階は、
前記第1メモリセルの数及び前記第2メモリセルの数に基づいて、前記メモリブロックに保存されたデータを前記別のメモリブロックに保存するように前記メモリ装置を制御することを特徴とする請求項11に記載の動作方法。 - 前記複数の走査電圧は、
前記第1走査区間の最大値に対応する第1走査電圧と、前記第2走査区間の最小値に対応する第2走査電圧と、第1走査区間の最小値及び前記第2走査区間の最大値に対応する第3走査電圧と、を含むことを特徴とする請求項13に記載の動作方法。 - 前記メモリ装置を制御する段階は、
前記第1メモリセルの数が第1基準数以上であれば、前記メモリブロックに保存されたデータを前記別のメモリブロックに保存するように前記メモリ装置を制御することを特徴とする請求項14に記載の動作方法。 - 前記メモリ装置を制御する段階は、
前記第1メモリセルの数が前記第1基準数未満であり、前記第2メモリセルの数が第2基準数以上であれば、前記メモリブロックに保存されたデータを前記別のメモリブロックに保存するように前記メモリ装置を制御し、
前記第2基準数は、
前記第1基準数よりも大きいことを特徴とする請求項15に記載の動作方法。 - 前記メモリ装置を制御する段階は、
前記第1メモリセルの数及び前記第2メモリセルの数の比率が基準比率以上であれば、前記メモリブロックに保存されたデータを前記別のメモリブロックに保存するように前記メモリ装置を制御することを特徴とする請求項14に記載の動作方法。 - 前記メモリ装置を制御する段階は、
前記第1メモリセルの数及び前記第2メモリセルの数の比率が基準比率以上であれば、前記メモリブロックに含まれた前記複数のページのそれぞれにテストリード電圧を印加するように前記メモリ装置を制御する段階と、
前記複数のページのそれぞれに含まれた複数のメモリセルのうち異常しきい値電圧を有するメモリセルの数を取得する段階と、
前記異常しきい値電圧を有するメモリセルの数が第3基準数以上であれば、前記メモリブロックに保存されたデータを前記別のメモリブロックに保存するように前記メモリ装置を制御する段階と、を含むことを特徴とする請求項14に記載の動作方法。 - 前記メモリセルの数を取得する段階は、
前記第1走査電圧よりも低いしきい値電圧を有するメモリセルの数から前記第3走査電圧よりも低いしきい値電圧を有するメモリセルの数を差し引いた前記第1メモリセルの数を取得し、
前記第3走査電圧よりも低いしきい値電圧を有するメモリセルの数から前記第2走査電圧よりも低いしきい値電圧を有するメモリセルの数を差し引いた前記第2メモリセルの数を取得することを特徴とする請求項14に記載の動作方法。 - 前記複数のページは複数のメモリセルをそれぞれ含み、
前記複数のメモリセルは、
しきい値電圧によって区別される複数のプログラム状態が互いに対応する数のメモリセルを含むように前記複数のプログラム状態の何れか1つのプログラム状態にプログラムされることを特徴とする請求項11に記載の動作方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210044291A KR20220138289A (ko) | 2021-04-05 | 2021-04-05 | 메모리 시스템 및 그 동작 방법 |
KR10-2021-0044291 | 2021-04-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022159991A true JP2022159991A (ja) | 2022-10-18 |
Family
ID=83449728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022043677A Pending JP2022159991A (ja) | 2021-04-05 | 2022-03-18 | メモリシステム及びその動作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11836366B2 (ja) |
JP (1) | JP2022159991A (ja) |
KR (1) | KR20220138289A (ja) |
CN (1) | CN115206397A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11989448B2 (en) * | 2022-03-25 | 2024-05-21 | SK Hynix Inc. | Memory controller and memory system including the same |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240029800A1 (en) * | 2022-07-22 | 2024-01-25 | Micron Technology, Inc. | Techniques for threshold voltage scans |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9053808B2 (en) * | 2012-06-21 | 2015-06-09 | Sandisk Technologies Inc. | Flash memory with targeted read scrub algorithm |
US8914696B2 (en) * | 2012-08-29 | 2014-12-16 | Seagate Technology Llc | Flash memory read scrub and channel tracking |
KR20170058066A (ko) * | 2015-11-18 | 2017-05-26 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR102461447B1 (ko) | 2016-01-15 | 2022-11-02 | 삼성전자주식회사 | 불휘발성 메모리 시스템 |
CN108877858B (zh) * | 2017-05-10 | 2021-02-19 | 慧荣科技股份有限公司 | 储存装置以及刷新方法 |
US10553301B2 (en) * | 2017-06-03 | 2020-02-04 | Sandisk Technologies Llc | Dynamic read table block filter |
KR102434343B1 (ko) | 2018-04-23 | 2022-08-22 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
KR102070307B1 (ko) * | 2018-05-28 | 2020-01-23 | 에센코어 리미티드 | 저장 장치의 구동 방법 |
US11094383B2 (en) * | 2018-08-24 | 2021-08-17 | International Business Machines Corporation | Selective page calibration based on hierarchical page mapping |
US11521699B2 (en) * | 2020-10-30 | 2022-12-06 | Micron Technology, Inc. | Adjusting a reliability scan threshold in a memory sub-system |
-
2021
- 2021-04-05 KR KR1020210044291A patent/KR20220138289A/ko active Search and Examination
- 2021-09-30 US US17/490,589 patent/US11836366B2/en active Active
-
2022
- 2022-01-18 CN CN202210052292.8A patent/CN115206397A/zh not_active Withdrawn
- 2022-03-18 JP JP2022043677A patent/JP2022159991A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11989448B2 (en) * | 2022-03-25 | 2024-05-21 | SK Hynix Inc. | Memory controller and memory system including the same |
Also Published As
Publication number | Publication date |
---|---|
CN115206397A (zh) | 2022-10-18 |
US20220317877A1 (en) | 2022-10-06 |
US11836366B2 (en) | 2023-12-05 |
KR20220138289A (ko) | 2022-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112825253B (zh) | 存储装置、存储器装置、半导体***及存储器***的操作方法 | |
US11449417B2 (en) | Memory controller performing host-aware performance booster mode and method of operating the same | |
US11887673B2 (en) | Memory device for performing read operation and method of operating the same | |
JP2022159991A (ja) | メモリシステム及びその動作方法 | |
US10943664B2 (en) | Storage device and operating method thereof | |
US11756607B2 (en) | Memory controller and method of operating the same | |
US20230074941A1 (en) | Host device, memory controller, and computing system including the same | |
US11776657B2 (en) | Page buffer, memory device including the page buffer and operating method thereof | |
US11417402B2 (en) | Storage device and operating method thereof | |
US20210132804A1 (en) | Storage device and method of operating the storage device | |
US11593009B2 (en) | Storage device and operating method thereof | |
US11886314B2 (en) | Memory system and operating method thereof | |
US11960765B2 (en) | Storage device and method of operating the same | |
US11669280B2 (en) | Storage device and operating method thereof | |
US11482291B2 (en) | Memory device and method of operating the same | |
US11543975B2 (en) | Storage device and method of operating the same | |
US12050503B2 (en) | Storage device and operating method thereof | |
US20230317168A1 (en) | Memory device and method of operating the same | |
US20220351798A1 (en) | Memory device and operating method of the memory device | |
US20230083500A1 (en) | Storage device and operating method thereof | |
KR20220157155A (ko) | 스토리지 장치 및 그 동작 방법 | |
KR20230167533A (ko) | 메모리 장치 및 그것의 동작 방법 | |
CN115083482A (zh) | 存储器装置和包括该存储器装置的存储装置 | |
KR20220170671A (ko) | 스토리지 장치 및 그 동작 방법 | |
KR20230018873A (ko) | 메모리 시스템 및 그 동작 방법 |