TW202008355A - 記憶體系統、記憶體控制器及其操作方法 - Google Patents
記憶體系統、記憶體控制器及其操作方法 Download PDFInfo
- Publication number
- TW202008355A TW202008355A TW108115927A TW108115927A TW202008355A TW 202008355 A TW202008355 A TW 202008355A TW 108115927 A TW108115927 A TW 108115927A TW 108115927 A TW108115927 A TW 108115927A TW 202008355 A TW202008355 A TW 202008355A
- Authority
- TW
- Taiwan
- Prior art keywords
- read
- memory
- data
- read data
- memory controller
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- 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/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- 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
- 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/5642—Sensing or reading circuits; Data output 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/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/26—Sensing or reading circuits; Data output circuits
-
- 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/52—Protection of memory contents; Detection of errors in memory contents
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
- H03K19/21—EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
-
- 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/5671—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 trapping in an insulator
-
- 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/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5644—Multilevel memory comprising counting devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
Abstract
本發明提供了一種記憶體系統,該記憶體系統包括記憶體裝置和記憶體控制器。記憶體裝置包括多個記憶體單元。記憶體控制器控制記憶體裝置對多個記憶體單元之中的、包括在被選擇實體頁面中的記憶體單元執行多個讀取操作。記憶體控制器基於從記憶體裝置接收的多個讀取資料來計算表示不同位值的反轉位的數量作為反轉位數量。記憶體控制器基於反轉位數量對被選擇實體頁面執行讀取回收操作。
Description
本申請要求於2018年7月31日提交的申請號為10-2018-0089615的韓國專利申請的優先權,其藉由引用整體併入本文。
本申請係關於一種電子裝置,並且更特別地,關於一種記憶體系統、記憶體控制器及其操作方法。
記憶體系統可以包括儲存裝置和記憶體控制器。
儲存裝置可以包括多個記憶體裝置,並且記憶體裝置可以儲存資料或輸出所儲存的資料。任何這樣的記憶體裝置可以被配置為當電力的供應被中斷時不保留所儲存的資料的揮發性記憶體裝置,或者被配置為即使當電力的供應被中斷時也保留所儲存的資料的非揮發性記憶體裝置。
記憶體控制器可以控制主機和儲存裝置之間的資料通訊。
主機可以藉由使用諸如快捷外設互聯標準(PCI-E)、高級技術配置(ATA)、序列ATA(SATA)、並列ATA(PATA)或者串列SCSI(SAS)的介面協議藉由記憶體控制器來與記憶體裝置通訊。還可以使用用於主機和記憶體系統之間的通訊的其它介面。這些介面包括通用序列匯流排(USB)、多媒體記憶卡(MMC)、增強型小型裝置介面(ESDI)和整合裝置電路(IDE)。
實施例提供一種用於高效地執行讀取回收的記憶體系統、記憶體系統的記憶體控制器及其操作方法。
根據本公開的一目的,提供一種記憶體系統,包括:記憶體裝置,包括多個記憶體單元;以及記憶體控制器,被配置成控制記憶體裝置對多個記憶體單元之中的、被選擇實體頁面中的記憶體單元執行多個讀取操作,基於從記憶體裝置接收的多個讀取資料來計算表示不同位值的反轉位的數量作為反轉位數量,並且基於反轉位數量來對被選擇實體頁面執行讀取回收操作。
記憶體控制器可以包括:命令產生器,被配置成產生用於讀取被選擇實體頁面的資料的第一讀取命令和第二讀取命令;反轉單元訊息產生器,被配置成基於分別與第一讀取命令和第二讀取命令對應的第一讀取資料和第二讀取資料來產生反轉單元訊息;以及讀取回收控制器,被配置成基於反轉單元訊息來確定是否將對被選擇實體頁面執行讀取回收操作。
反轉單元訊息產生器包括:第一讀取資料儲存裝置(storage),被配置成儲存第一讀取資料;第二讀取資料儲存裝置,被配置成儲存第二讀取資料;以及互斥或(XOR)運算器,被配置成藉由對第一讀取資料和第二讀取資料執行XOR運算來產生反轉單元訊息。
讀取回收控制器可以包括:反轉位計數器,被配置成藉由對反轉單元訊息中的反轉位的數量進行計數來計算反轉位數量;閾值儲存裝置,被配置成儲存閾值;比較器,被配置成將反轉位數量與閾值進行比較;以及讀取回收確定器,被配置成基於比較器的比較結果來確定是否將對被選擇實體頁面執行讀取回收操作。
當根據比較器的比較結果,反轉位數量大於或等於閾值時,讀取回收確定器可以確定將對被選擇實體頁面執行讀取回收操作。
當讀取回收確定器確定將對被選擇實體頁面執行讀取回收操作時,記憶體控制器可以將被選擇實體頁面中儲存的資料儲存在另一實體頁面中。
記憶體控制器可以進一步包括內部記憶體,被配置成儲存包括邏輯位址和實體位址之間的映射關係的位址映射表。當讀取回收確定器確定將對被選擇實體頁面執行讀取回收操作時,記憶體控制器可以更新內部記憶體中儲存的位址映射表。
記憶體控制器可以對第一讀取資料和第二讀取資料中的至少一個執行錯誤校正,並且將經錯誤校正的資料傳送至主機。
根據本公開的另一目的,提供一種記憶體控制器,該記憶體控制器在主機的控制下控制記憶體裝置,該記憶體控制器包括:命令產生器,被配置成響應於來自主機的讀取請求來產生用於控制記憶體裝置對實體頁面重複地執行讀取操作的第一讀取命令和第二讀取命令;反轉單元訊息產生器,被配置成基於分別與第一讀取命令和第二讀取命令對應、從記憶體裝置接收的第一讀取資料和第二讀取資料來產生反轉單元訊息;以及讀取回收控制器,被配置成基於包括在反轉單元訊息中的反轉位數量來產生用於對實體頁面執行讀取回收操作的控制訊號。
反轉單元訊息產生器可以包括:第一讀取資料儲存裝置,被配置成儲存第一讀取資料;第二讀取資料儲存裝置,被配置成儲存第二讀取資料;以及XOR運算器,被配置成藉由對第一讀取資料和第二讀取資料執行XOR運算來產生反轉單元訊息。
讀取回收控制器可以包括:反轉位計數器,被配置成藉由對反轉單元訊息中的反轉位的數量進行計數來計算反轉位數量;閾值儲存裝置,被配置成儲存閾值;比較器,被配置成將反轉位數量與閾值進行比較;以及讀取回收確定器,被配置成基於比較器的比較結果來確定是否將對實體頁面執行讀取回收操作。
當反轉位數量大於或等於閾值時,讀取回收確定器可以產生控制記憶體裝置對實體頁面執行讀取回收操作的控制訊號。
記憶體控制器可以進一步包括內部記憶體,被配置成儲存位址映射表。可響應於控制訊號來更新內部記憶體中儲存的位址映射表。
根據本公開的再一目的,提供一種操作記憶體控制器的方法,該方法包括:發出用於重複地讀取記憶體裝置的被選擇頁面的讀取命令,並且從記憶體裝置接收讀取資料;基於讀取資料來產生反轉單元訊息;並且基於反轉單元訊息來確定是否將對被選擇頁面執行讀取回收操作。
向記憶體裝置發出讀取命令並且從記憶體裝置接收讀取資料包括:發出用於讀取被選擇頁面的第一讀取命令;從記憶體裝置接收與第一讀取命令對應的第一讀取資料;發出用於重新讀取被選擇頁面的第二個讀命令;並且從記憶體裝置接收與第二讀取命令對應的第二讀取資料。
基於讀取資料來產生反轉單元訊息可以包括藉由對第一讀取資料和第二讀取資料執行XOR運算來產生反轉單元訊息。
確定是否將對被選擇頁面執行讀取回收操作可以包括:對反轉單元訊息中的、為兩個值之中的第一值的位的數量進行計數,以產生計數結果;將計數結果與閾值進行比較;並且基於比較結果來確定是否將對被選擇頁面執行讀取回收操作。
確定是否將對被選擇頁面執行讀取回收操作可以包括:當計數結果大於或等於閾值時,確定將對被選擇頁面執行讀取回收操作。
根據本公開的又一方面,提供一種操作包括頁面的記憶體系統的方法,該方法包括:分別使用讀取電壓從頁面讀取資料第一次和第二次,以產生第一資料和第二資料;將第一資料中的每個值與第二資料中的相應值進行比較,以針對每一對的被比較的值來確定該值相同還是不同;並且當確定具有不同值的對的數量大於或等於閾值時,對頁面執行讀取回收操作。
在本公開中,在結合附圖閱讀以下實施例之後,本公開的優點、用於實現這些優點的特徵和方法將變得更加明顯。然而,如本發明所屬技術領域之通常知識者根據所公開的實施例將顯而易見的是,本公開的各方面可以各種方式進行修改。因此,本發明不限於本文闡述的實施例。相反,提供這些實施例以將本公開詳細描述到本發明所屬領域之通常知識者可以容易地實施本發明的程度。
在整個說明書中,當一個元件被稱為“連接”或“聯接”至另一個元件時,它可以直接連接或聯接至另一元件,或者利用置於其間的一個或多個中間元件間接連接或聯接至另一元件。除非上下文另有說明,否則無論是直接連接/聯接還是間接連接/聯接,兩個元件之間的通訊都可以是有線的或無線的。另外,當元件被稱為“包括”部件時,除非上下文另有說明,否則這表示該元件可以進一步包括一個或多個其它部件,而不是排除這些部件。
將參照附圖描述本公開的各種實施例。
圖1是示出根據本公開的實施例的記憶體系統2000的示意圖。
參照圖1,記憶體系統2000可以包括用於儲存資料的記憶體裝置2200和用於在主機1000的控制下控制記憶體裝置2200的記憶體控制器2100。
主機1000可以藉由使用諸如快捷外設互聯標準(PCI-e)、高級技術配置(ATA)、序列ATA(SATA)、並列ATA(PATA)或者串列SCSI(SAS)的介面協議與記憶體系統2000通訊。主機1000和記憶體系統2000之間的介面協議不限於上述示例;還可以使用任何各種其它介面,諸如通用序列匯流排(USB)、多媒體記憶卡(MMC)、增強型小型裝置介面(ESDI)和整合裝置電路(IDE)。
記憶體控制器2100可以控制記憶體系統2000的全部操作,並且控制主機1000和記憶體裝置2200之間的資料交換。例如,記憶體控制器2100可以轉換所接收的訊息,使得可以在主機1000和記憶體裝置2200之間通訊命令、位址和資料,並且儲存和輸出轉換的訊息。例如,在編程操作中,主機1000可以將寫入請求傳送至記憶體控制器2100。記憶體控制器2100可以響應於所接收的寫入請求,將命令、位址、資料等傳輸至記憶體裝置2200。例如,在讀取操作中,主機1000可以將讀取請求傳送至記憶體控制器210。記憶體控制器2100可以響應於所接收的讀取請求,將命令、位址等傳輸至記憶體裝置2200。
記憶體控制器2100可以對從記憶體裝置2200接收的碼字執行錯誤校正解碼。硬式決定解碼和/或軟式決定解碼可以用作錯誤校正解碼。例如,博斯-查德胡裡-霍昆格姆(Bose,Chaudhri,Hocquenghem,BCH)碼、里德-所羅門(Reed-Solomon,RS)碼、里德米勒(Reed-Muller,RM)碼和漢明碼中的任何一個可以被使用在硬式決定解碼中。例如,低密度奇偶校驗(LDPC)碼和摺積碼中的任何一個可以被使用在軟式決定解碼中。在實施例中,可以當硬式決定解碼失敗時執行軟式決定解碼。
記憶體裝置2200可以被配置為當電力的供應被中斷時不保留所儲存的資料的揮發性記憶體裝置,或者被配置為即使在電力的供應被中斷時也保留所儲存的資料的非揮發性記憶體裝置。記憶體裝置2200可以在記憶體控制器2100的控制下執行編程操作、讀取操作、抹除操作、資料壓縮操作、回拷(copy-back)操作等。
記憶體控制器2100控制記憶體裝置2200,使得使用不同的讀取電壓執行記憶體單元的讀取操作,並且記憶體控制器2100可以控制記憶體裝置2200,使得對於每個相同的讀取電壓來重複執行讀取操作。也就是說,記憶體控制器2100可以控制記憶體裝置2200對於一組讀取電壓來重複執行讀取操作。
在記憶體系統2000的讀取操作中,記憶體控制器2100可以將第一讀取命令傳送至記憶體裝置2200。記憶體裝置2200可以基於所接收的第一讀取命令對目標實體頁面執行第一讀取操作。記憶體裝置2200可以將作為第一讀取操作的結果而讀取的資料的第一讀取資料傳送至記憶體控制器2100。
記憶體控制器2100可以臨時儲存所接收的第一讀取資料。第一讀取資料可以處於從記憶體裝置2200接收的狀態,也就是說,作為未被執行錯誤校正和其它解碼的資料。記憶體控制器2100選擇性地對所接收的第一讀取資料執行錯誤校正和其它解碼,並且將第一讀取資料傳送至主機1000。
隨後,記憶體控制器2100可以將針對作為第一讀取操作的目標的實體頁面的第二讀取命令傳送至記憶體裝置2200。基於所接收的第二讀取命令,記憶體裝置2200可以對作為第一讀取操作的目標的實體頁面執行第二讀取操作。記憶體裝置2200可以將作為第二讀取操作的結果而讀取的資料的第二讀取資料傳送至記憶體控制器2100。
記憶體控制器2100可以臨時儲存所接收的第二讀取資料。記憶體控制器2100可以藉由將臨時儲存的第一讀取資料和第二讀取資料進行比較來確定是否將對該實體頁面執行讀取回收。
為了提高記憶體區塊在記憶體裝置2200中將被均勻地磨損的可能性,可以執行損耗平均操作或讀取回收操作。讀取回收操作藉由改變與特定邏輯區塊位址(LBA)相關的實體位置或區塊,來使邏輯區塊位址免於始終必須與相同的實體位置或區塊相關。改變LBA的區塊相關性,使得在另一區塊被磨損之前,特定區塊的磨損可以減少。另外,當針對與特定LBA相關的實體位置執行了多次讀取操作時,相應實體位置的記憶體單元的閾值電壓分佈可能由於讀取干擾而劣化。當這種現象加劇時,即使藉由錯誤校正也無法恢復資料。讀取回收將記憶體單元的閾值電壓分佈劣化的實體頁面的資料移動並且儲存在另一實體頁面中,使得可以防止無法進行錯誤校正的現象。
更具體地,記憶體控制器2100可以藉由將第一讀取資料和第二讀取資料進行比較來獲得指示相應實體頁面的反轉單元的位置的索引。而且,記憶體控制器2100可以藉由將第一讀取資料和第二讀取資料進行比較來計算包括在相應實體頁面中的反轉單元的數量。
在實施例中,可以藉由將從記憶體裝置2200接收的第一讀取資料和第二讀取資料進行比較來確定是否存在表示不同位值的單元。根據第一讀取資料和第二讀取資料而具有不同的位值的每個單元被確定為反轉單元,因此,可以計算反轉單元的數量。
記憶體控制器2100可以基於藉由上述過程而計算的反轉單元的數量來估計記憶體單元的閾值電壓分佈。在每次測量中,可由於隨機電報雜訊(RTN)而改變閾值電壓分佈中的記憶體單元的數量。RTN可以表示當使用相同的讀取電壓執行多次讀取操作時而改變的閾值電壓的雜訊。
因此,每當執行多次讀取操作時由於RTN而改變的閾值電壓分佈中的記憶體單元的數量可以與記憶體單元的閾值電壓分佈成比例。當具有特定閾值電壓的記憶體單元的數量是1000時,由於RTN而改變的記憶體單元的數量可以是100。當具有特定閾值電壓的記憶體單元的數量是100時,由於RTN而改變的記憶體單元的數量可以是10。因此,在實施例中,反轉單元的計算數量可以用於估計記憶體單元的閾值電壓分佈。
圖2是示出根據RTN當執行兩次讀取操作時檢測反轉單元的進程的示意圖。
參照圖2,示出了包括在特定編程狀態PS中的記憶體單元的閾值電壓分佈。當使用讀取電壓Ra來讀取具有圖2中所示的閾值電壓分佈的記憶體單元時,所有記憶體單元都被關閉。因此,當使用讀取電壓Ra讀取記憶體單元時,即使使用讀取電壓Ra執行多次讀取操作,也不會檢測到反轉單元。
當使用讀取電壓Rb來對具有圖2中所示的閾值電壓分佈的記憶體單元執行讀取操作時,可以檢測到反轉單元。當使用讀取電壓Rb讀取記憶體單元時,具有位於讀取電壓Rb右側的閾值電壓的記憶體單元被關閉,並且具有位於讀取電壓Rb左側的閾值電壓的記憶體單元被導通。當不考慮RTN時,藉由使用讀取電壓Rb執行兩次讀取操作而獲得的結果彼此相等。
然而,藉由使用讀取電壓Rb執行多次讀取操作而獲得的結果可能根據RTN的影響而被改變。特別地,在區域A中的、具有接近讀取電壓Rb的閾值電壓的記憶體單元的情況下,每次測量中的讀取結果可能由於RTN而被改變。因此,當使用讀取電壓Rb執行兩次讀取操作時,可以檢測到反轉單元。
此外,當使用讀取電壓Rc來讀取具有圖2中所示的閾值電壓分佈的記憶體單元時,與當使用讀取電壓Rb來讀取記憶體單元時相比,可以檢測到大量的反轉單元。在圖2的閾值電壓分佈中,區域B中的記憶體單元的數量大於區域A中的記憶體單元的數量。因此,當使用讀取電壓Rc執行兩次讀取操作時,與當使用讀取電壓Rb執行兩次讀取操作時相比,可以檢測到大量的反轉單元。
圖3是示出諸如圖1中所示的記憶體控制器的示例性記憶體控制器的示意圖。
參照圖3,記憶體控制器2100可以包括主機介面2110、中央處理單元(CPU)2120、記憶體介面2130、緩衝記憶體2140、錯誤校正電路2150和內部記憶體2160。主機介面2110、記憶體介面2130、緩衝記憶體2140、錯誤校正電路2150和內部記憶體2160可以由CPU 2120控制。
主機介面2110可以使用通訊協議與主機1000交換資料。
CPU 2120可以執行各種計算或者產生命令和位址,以便控制記憶體裝置2200。例如,CPU 2120可以產生編程操作、讀取操作、抹除操作、資料壓縮操作、回拷操作等所需的各種命令。
為了控制記憶體裝置2200的操作,CPU 2120可以將從主機1000輸入的邏輯位址轉換為實體位址,並且將實體位址傳送至錯誤校正電路2150。在一些實施例中,CPU 2120可以使用緩衝記憶體2140中儲存的位址映射表來將邏輯位址轉換為實體位址或者將實體位址轉換為邏輯位址。
CPU 2120可以包括命令產生器2120a、反轉單元訊息產生器2120b、反轉單元索引管理器2120c和讀取回收控制器2120d。
命令產生器2120a可以產生用於控制記憶體裝置2200以執行各種操作的命令。根據本公開的實施例,命令產生器2120a可以產生用於控制記憶體裝置2200對相同實體頁面執行第一讀取操作和第二讀取操作的第一讀取命令和第二讀取命令。
在實施例中,命令產生器2120a可以產生重複讀取命令並且將重複讀取命令傳送至記憶體裝置2200。重複讀取命令可以是指示記憶體裝置2200對相同實體頁面執行多次(例如,兩次)讀取操作的讀取命令。當使用重複讀取命令時,命令產生器2120a可以產生一個重複讀取命令並且將該重複讀取命令傳送至記憶體裝置2200。記憶體裝置2200可以對應於所接受的重複讀取命令,對相同實體頁面執行多次(例如,兩次)讀取操作。
反轉單元訊息產生器2120b可基於從記憶體裝置2200接收的、與第一讀取命和第二讀取命令對應的第一讀取資料和第二讀取資料來計算反轉單元訊息。在實施例中,反轉單元訊息是藉由對第一讀取資料和第二讀取資料執行逐位運算而產生的資料,並且可以是表示反轉單元的位置的資料。
反轉單元索引管理器2120c可以檢查反轉單元的索引並且儲存所檢查的反轉單元的索引。例如,反轉單元索引管理器2120c可以儲存與由讀取回收控制器2120d確定的最佳讀取電壓對應的反轉單元的索引。與最佳讀取電壓對應的反轉單元的索引可以被提供給錯誤校正電路2150,以執行錯誤校正解碼。
記憶體介面2130可以使用通訊協議與記憶體裝置2200通訊。
緩衝記憶體2140可以在記憶體控制器2100正在控制記憶體裝置2200時臨時儲存資料。例如,在編程操作完成之前,從主機1000接收的資料可以臨時儲存在緩衝記憶體2140中。而且,在讀取操作中從記憶體裝置2200讀取的資料可以臨時儲存在緩衝記憶體2140中。
在編程操作或讀取操作中,錯誤校正電路2150可以執行用於錯誤檢測的錯誤校正編碼和錯誤校正解碼。
內部記憶體2160可以用作用於儲存操作記憶體控制器2100所需的各種訊息的儲存裝置。內部記憶體2160可以包括多個表。例如,內部記憶體2160可以儲存邏輯位址和實體位址之間的映射表。
圖4是示出根據本公開的實施例的記憶體裝置的示意圖。圖4中所示的記憶體裝置可以應用於圖1和圖3中所示的記憶體系統。
記憶體裝置2200可以包括控制邏輯2210、外圍電路2220和記憶體單元陣列2240。外圍電路2220可以包括電壓產生電路2222、行解碼器2224、輸入/輸出電路2226、列解碼器2228、頁面緩衝器組2232和電流感測電路2234。
控制邏輯2210可以在圖3中所示的記憶體控制器2100的控制下控制外圍電路2220。
控制邏輯2210可以響應於藉由輸入/輸出電路2226從記憶體控制器2100接收的命令CMD和位址ADD來控制外圍電路2220。例如,控制邏輯2210可以響應於命令CMD和位址ADD來輸出操作訊號OP_CMD、行位址RADD、頁面緩衝器控制訊號PBSIGNALS以及允許位VRY_BIT<#>。控制邏輯2210可以響應於從電流感測電路2234接收的通過訊號PASS或失敗訊號FAIL來確定驗證操作是通過還是失敗。
當從記憶體控制器2100接收到第一讀取命令時,控制邏輯2210可以控制外圍電路2220執行讀取操作,並且將作為藉由執行讀取操作獲得的結果的第一讀取資料傳送至記憶體控制器2100。同時,當從記憶體控制器2100接收到第二讀取命令時,控制邏輯2210可以控制外圍電路2220執行讀取操作,並且將作為藉由執行讀取操作獲得的結果的第二讀取資料傳送至記憶體控制器2100。
外圍電路2220可以執行用於將資料儲存在記憶體單元陣列2240中的編程操作、用於輸出記憶體單元陣列2240中儲存的資料的讀取操作以及用於抹除記憶體單元陣列2240中儲存的資料的抹除操作。
電壓產生電路2222可以響應於從控制邏輯2210接收的操作訊號OP_CMD而產生在編程操作、讀取操作和抹除操作中使用的各種操作電壓Vop。例如,電壓產生電路2222可以將編程電壓、驗證電壓、藉由電壓、讀取電壓、抹除電壓、導通電壓等傳送至行解碼器2224。
行解碼器2224可以響應於從控制邏輯2210接收的行位址RADD,將操作電壓Vop傳送至與記憶體單元陣列2240的記憶體區塊之中的被選擇記憶體區塊連接的局部線LL。局部線LL可以包括局部字線、局部汲極選擇線和局部源極選擇線。另外,局部線LL可以包括連接至記憶體區塊的各種線,諸如源極線。
輸入/輸出電路2226可以將從記憶體控制器2100接收的命令CMD和位址ADD藉由輸入/輸出線IO傳送至控制邏輯2210,或者與列解碼器2228交換資料DATA。
列解碼器2228可以響應於從控制邏輯2210接收的列位址CADD在輸入/輸出電路2226和頁面緩衝器組2232之間傳送資料。例如,列解碼器2228可以藉由資料線DL與頁面緩衝器PB1至PBm交換資料,或者藉由列線CL與輸入/輸出電路2226交換資料。
頁面緩衝器組2232可以連接至共同與記憶體區塊BLK1至BLKi連接的位線BL1至BLm。頁面緩衝器組2232可以包括連接至位線BL1至BLm的多個頁面緩衝器PB1至PBm。例如,一個頁面緩衝器可以連接至位線中的每個位線。頁面緩衝器PB1至PBm可以響應於從控制邏輯2210接收的頁面緩衝器控制訊號PBSIGNALS而操作。例如,在編程操作中,頁面緩衝器PB1至PBI可以臨時儲存從記憶體控制器2100接收的編程資料,並且根據編程資料調整施加至位線BL1至BLm的電壓。而且,在讀取操作中,頁面緩衝器PB1至PBI可以臨時存儲藉由位線BL1至BLm接收的資料,或者感測位線BL1至BLm的電壓或電流。
在讀取或驗證操作中,電流感測電路2234可以響應於從控制邏輯2210接收的允許位VRY_BIT <#>而產生參考電流,並且藉由將從頁面緩衝器組2232接收的感測電壓VPB與由參考電流產生的參考電壓進行比較來輸出通過訊號PASS或失敗訊號FAIL。
記憶體單元陣列2240可以包括儲存資料的多個記憶體區塊BLK1至BLKi。執行記憶體裝置2200的操作所需的用戶資料和各種訊息可以儲存在記憶體區塊BLK1至BLKi中。記憶體區塊BLK1至BLKi可以二維結構或三維結構來實施,並且可以彼此相同地配置。
圖5是示出示例性記憶體區塊BLKi的示意圖。
記憶體單元陣列可以包括多個記憶體區塊。圖5中示出的記憶體區塊BLKi表示多個記憶體區塊中的任何一個。
在記憶體區塊BLKi中,彼此平行佈置的多個字線可以連接在第一選擇線和第二選擇線之間。第一選擇線可以是源極選擇線SSL,第二選擇線可以是汲極選擇線DSL。具體地,記憶體區塊BLKi可以包括連接在位線BL1至BLn與源極線SL之間的多個記憶胞串ST。位線BL1至BLn可分別連接至記憶胞串ST,並且源極線SL可以共同連接至記憶胞串ST。由於記憶胞串ST可以彼此相同地配置,因此將作為示例詳細描述連接至第一位線BL1的記憶胞串ST。
記憶胞串ST可以包括彼此記憶胞串聯連接在源極線SL和第一位線BL1之間的源極選擇電晶體SST、多個記憶體單元F1至F16以及汲極選擇電晶體DST。一個記憶胞串ST中可以包括至少一個源極選擇電晶體SST和至少一個汲極選擇電晶體DST。而且,一個記憶胞串ST中可以包括比附圖中所示的16個記憶體單元F1至F16更多的記憶體單元。
源極選擇電晶體SST的源極可以連接至源極線SL,並且汲極選擇電晶體DST的汲極可以連接至第一位線BL1。記憶體單元F1至F16可以記憶胞串聯地連接在源極選擇電晶體SST和汲極選擇電晶體DST之間。包括在不同記憶胞串ST中的源極選擇電晶體SST的閘極可以連接至源極選擇線SSL,包括在不同記憶胞串ST中的汲極選擇電晶體DST的閘極可以連接至汲極選擇線DSL,包括在不同記憶胞串中的ST的記憶體單元F1至F16的閘極可以連接至多條字線WL1至WL16。包括在不同記憶胞串ST中的記憶體單元之中、連接至相同字線的一組記憶體單元可以是實體頁面PPG。因此,記憶體區塊BLKi中可以包括數量與字線WL1至WL16的數量對應的實體頁面PPG。
一個記憶體單元可以儲存一位資料。這被稱為單層單元(SLC)。一個實體頁面PPG可以存儲一個邏輯頁面(LPG)資料。一個LPG可以包括數量與一個實體頁面PPG中包括的單元的數量對應的資料位。例如,當兩位或更多位資料儲存在一個記憶體單元中時,一個實體頁面PPG可以存儲兩個或更多個LPG資料。例如,在以MLC類型驅動的記憶體裝置中,兩個LPG資料可以存儲在一個實體頁面PPG中。在以TLC類型驅動的記憶體裝置中,三個LPG資料可以存儲在一個實體頁面PPG中。
圖6是示出三維配置的記憶體區塊的實施例的示意圖。
記憶體單元陣列2240可以包括多個記憶體區塊BLK1至BLKi。將作為示例描述代表性的第一記憶體區塊BLK1。第一記憶體區塊BLK1可以包括多個記憶胞串ST11至ST1m和ST21至ST2m。在實施例中,多個記憶胞串ST11至ST1m和ST21至ST2m中的每個記憶胞串可以形成為“U”形。在第一記憶體區塊BLK1中,m個記憶胞串可以被佈置在行方向(X方向)上。為清楚起見,圖6示出了在列方向(Y方向)上佈置兩個記憶胞串;然而,三個或更多個記憶胞串可以被佈置在列方向(Y方向)上。
多個記憶胞串ST11至ST1m和ST21至ST2m中的每個記憶胞串可以包括至少一個源極選擇電晶體SST、第一至第n記憶體單元MC1至MCn、通道電晶體PT(pipe transistor)和至少一個汲極選擇電晶體DST。
源極選擇電晶體SST和汲極選擇電晶體DST以及記憶體單元MC1至MCn可以具有彼此類似的結構。例如,源極選擇電晶體SST和汲極選擇電晶體DST以及記憶體單元MC1至MCn中的每個可以包括溝道層、隧道絕緣層、電荷擷取層和阻擋絕緣層。例如,在每個記憶胞串中可以設置用於提供溝道層的柱(pillar)。例如,在每個記憶胞串中可以設置用於提供溝道層、隧道絕緣層、電荷擷取層和阻擋絕緣層中的至少一個的柱。
每個記憶胞串的源極選擇電晶體SST可以連接在源極線SL與記憶體單元MC1至MCp之間。
在實施例中,佈置在相同行中的記憶胞串的源極選擇電晶體可以連接至在行方向上延伸的源極選擇線,並且佈置在不同行中的記憶胞串的源極選擇電晶體可以連接至不同的源極選擇線。在圖6中,第一行中的記憶胞串ST11至ST1m的源極選擇電晶體可以連接至第一源極選擇線SSL1。第二行中的記憶胞串ST21至ST2m的源極選擇電晶體可以連接至第二源極選擇線SSL2。
在另一實施例中,記憶胞串ST11至ST1m和ST21至ST2m的源極選擇電晶體可共同連接至一個源極選擇線。
每個記憶胞串中的第一至第n記憶體單元MC1至MCn可連接在源極選擇電晶體SST和汲極選擇電晶體DST之間。
第一至第n記憶體單元MC1至MCn可以被劃分成第一至第p記憶體單元MC1至MCp和第p+1至第n記憶體單元MCp+1至MCn。第一至第p記憶體單元MC1至MCp可以被順序地佈置在垂直方向(例如,Z方向)上,並且可以彼此串聯地連接在源極選擇電晶體SST和管道電晶體PT之間。第p+1至第n記憶體單元MCp+1至MCn可以被順序地佈置在垂直方向(例如,Z方向)上,並且可以彼此串聯地連接在管道電晶體PT和汲極選擇電晶體DST之間。第一至第p記憶體單元MC1至MCp和第p+1至第n記憶體單元MCp+1至MCn可以藉由管道電晶體PT彼此連接。每個記憶胞串的第一至第n記憶體單元MC1至MCn的閘極可以分別連接至第一至第n字線WL1至WLn。
在實施例中,第一至第n記憶體單元MC1至MCn中的至少一個可以用作虛設記憶體單元。當設置了虛設記憶體單元時,可以穩定地控制相應記憶胞串的電壓或電流。每個記憶胞串的通道電晶體PT的閘極可以連接至管線PL(pipe line)。
每個記憶胞串的汲極選擇電晶體DST可以連接至位線和記憶體單元MCp+1至MCn。佈置在行方向上的記憶胞串可以連接至在行方向上延伸的汲極選擇線。第一行中的記憶胞串ST11至ST1m的汲極選擇電晶體可以連接至第一汲極選擇線DSL1。第二行中的記憶胞串ST21至ST2m的汲極選擇電晶體可以連接至第二汲極選擇線DSL2。
佈置在列方向上的記憶胞串可以連接至在列方向上延伸的位線。在圖6中,第一列中的記憶胞串ST11和ST21可以連接至第一位線BL1。第m列中的記憶胞串ST1m和ST2m可以連接至第m位線BLm。
佈置在行方向上的記憶胞串之中、連接至相同字線的記憶體單元可以構成一個頁面。例如,第一行中的記憶胞串ST11至ST1m之中、連接至第一字線WL1的記憶體單元可以構成一個頁面。第二行中的記憶胞串ST21至ST2m之中、連接至第一字線WL1的記憶體單元可以構成另一頁面。當汲極選擇線DSL1和DSL2中的任意一個被選擇時,可以選擇佈置在一個行方向上的記憶胞串。當字線WL1至WLn中的任意一個被選擇時,可以選擇被選擇記憶胞串之中的一個頁面。
圖7是示出三維配置的記憶體區塊的另一實施例的示意圖。
記憶體單元陣列2240可以包括多個記憶體區塊BLK1至BLKi。將作為示例描述代表性的第一記憶體區塊BLK1。第一記憶體區塊BLK1可以包括多個記憶胞串ST11'至ST1m'和ST21'至ST2m'。多個記憶胞串ST11'至ST1m'和ST21'至ST2m'中的每個記憶胞串可以在垂直方向(Z方向)上延伸。在第一記憶體區塊BLK1中,m個記憶胞串可以被佈置在行方向(X方向)上。圖7示出了在列方向(Y方向)佈置兩個記憶胞串;然而,三個或更多個記憶胞串可以被佈置在列方向(Y方向)上。
多個記憶胞串ST11'至ST1m'和ST21'至ST2m'中的每個記憶胞串可以包括至少一個源極選擇電晶體SST、第一至第n記憶體單元MC1至MCn以及至少一個汲極選擇電晶體DST。
每個記憶胞串的源極選擇電晶體SST可以連接在源極線SL和記憶體單元MC1至MCn之間。佈置在相同行中的記憶胞串的源極選擇電晶體可以連接至相同的源極選擇線。佈置在第一行中的記憶胞串ST11'至ST1m'的源極選擇電晶體可以連接至第一源極選擇線SSL1。佈置在第二行中的記憶胞串ST21'至ST2m'的源極選擇電晶體可以連接至第二源極選擇線SSL2。在另一實施例中,記憶胞串ST11'至ST1m'和ST21'至ST2m'的源極選擇電晶體可以共同連接至一個源極選擇線。
每個記憶胞串的第一至第n記憶體單元MC1至MCn可以彼此串聯地連接在源極選擇電晶體SST和汲極選擇電晶體DST之間。第一至第n記憶體單元MC1至MCn的閘極可以分別連接至第一至第n字線WL1至WLn。
在實施例中,第一至第n記憶體單元MC1至MCn中的至少一個可以用作虛設記憶體單元。當設置了虛設記憶體單元時,可以穩定地控制相應記憶胞串的電壓或電流。因此,第一記憶體區塊BLK1中儲存的資料的可靠性可以得到提高。
每個記憶胞串的汲極選擇電晶體DST可以連接在位線和記憶體單元MC1至MCn之間。佈置在行方向上的記憶胞串的汲極選擇電晶體DST可以連接至在行方向上延伸的汲極選擇線。第一行的記憶胞串ST11'至ST1m'的汲極選擇電晶體DST可以連接至第一汲極選擇線DSL1。第二行的記憶胞串ST21'至ST2m'的汲極選擇電晶體DST可以連接至第二汲極選擇線DSL2。
也就是說,除了從每個記憶胞串中去除了通道電晶體PT以外,圖7的第一記憶體區塊BLK1可以具有與圖6的第一記憶體區塊BLK1相同的電路。
圖8是示出圖3的反轉單元訊息產生器2120b的實施例的方塊圖。
參照圖8,反轉單元訊息產生器2120b可以包括第一讀取資料儲存裝置2121、第二讀取資料儲存裝置2122和XOR運算器2123。
第一讀取資料儲存裝置2121儲存從記憶體裝置2200接收的、與第一讀取命令對應的第一讀取資料RD1。第二讀取資料儲存裝置2122儲存從記憶體裝置2200接收的、與第二讀取命令對應的第二讀取資料RD2。第一讀取資料儲存裝置2121和第二讀取資料儲存裝置2122中的每個讀取資料儲存裝置可以利用暫存器來實施。圖3和圖8示出了第一讀取資料儲存裝置2121和第二讀取資料儲存裝置2122被包括在CPU 2120中的佈置。然而,在一些實施例中,第一讀取資料儲存裝置2121和第二讀取資料儲存裝置2122中的每個讀取資料儲存裝置可以利用單獨配置並且設置在CPU 2120外部的暫存器來實施。在另一實施例中,第一讀取資料儲存裝置2121和第二讀取資料儲存裝置2122可以包括在內部記憶體2160中。
如上所述,第一讀取命令和第二讀取命令用於讀取記憶體裝置2200的相同實體頁面。因此,當不存在具有與在讀取操作中使用的讀取電壓接近的閾值電壓的記憶體單元時,第一讀取資料和第二讀取資料可包括相同的位資料。當存在具有與在讀取操作中使用的讀取電壓接近的閾值電壓的記憶體單元時,第一讀取資料和第二讀取資料可包括具有不同值的位資料。
XOR運算器2123可以藉由對第一讀取資料RD1和第二讀取資料RD2執行互斥或(XOR)運算來產生反轉單元訊息或資料ICD。當第一讀取資料RD1和第二讀取資料RD2的位彼此相等時,相應反轉單元資料ICD的位藉由XOR運算而具有值0。另一方面,當第一讀取資料RD1和第二讀取資料RD2的位彼此不同時,相應反轉單元資料ICD的位藉由XOR運算而具有值1。
稍後將參照圖13A和圖13B描述第一讀取資料RD1和第二讀取資料RD2以及反轉單元訊息ICD的示例。
圖9是示出圖3的讀取回收控制器2120d的實施例的方塊圖。
參照圖9,讀取回收控制器2120d可以包括反轉位計數器2125、閾值儲存裝置2126、比較器2127和讀取回收確定器2128。
反轉位計數器2125可以從反轉單元訊息產生器2120b接收反轉單元訊息ICD。反轉位計數器2125藉由對接收的反轉單元訊息ICD中的“1”的數量進行計數來產生反轉位數量IBN。 ICD中的每個“1”表示從一個讀取操作至下一個讀取操作中已經被翻轉的一個位。
如上所述,當存在具有與在讀取操作中使用的讀取電壓接近的閾值電壓的記憶體單元時,每當重複讀取操作時,藉由讀取相應記憶體單元而獲得的結果可由於RTN而改變。也就是說,在再次執行讀取操作時,針對特定記憶體單元的資料可能產生位翻轉。
當值已經被翻轉的位的數量是0或較小值時,這表示不存在具有與讀取電壓接近的閾值電壓的記憶體單元或者這種記憶體單元的數量較少。也就是說,這表示作為被執行讀取操作的目標的實體頁面的閾值電壓分佈是令人滿意的。當翻轉的位的數量是較大值時,這表示具有與讀取電壓接近的閾值電壓的記憶體單元的數量多。也就是說,這表示作為被執行讀取操作的目標的實體頁面的閾值電壓分佈劣化。根據本公開的實施例的記憶體控制器2100藉由對反轉單元訊息ICD中的值“1”的位的數量,即位翻轉的數量進行計數來確定是否將執行讀取回收。
閾值儲存裝置2126儲存作為關於是否將執行讀取回收的參考值的閾值THR。閾值儲存裝置2126可以利用暫存器來實施。根據圖3和圖9,示出了閾值儲存裝置2126被包括在CPU 2120中的情況。然而,在一些實施例中,閾值儲存裝置2126可以利用在CPU 2120外部且單獨配置的暫存器來實施。在另一實施例中,閾值儲存裝置2126可以被包括在內部記憶體2160中。
比較器2127可以藉由將從反轉位計數器2125接收的反轉位數量IBN與從閾值儲存裝置2126接收的閾值THR進行比較來產生結果值RSLT。例如,當反轉位數量IBN大於或等於閾值THR時,比較器2127可以產生具有值“0”的結果值RSLT。當反轉位數量IBN小於閾值THR時,比較器2127可以產生具有值“1”的結果值RSLT。然而,這僅僅是說明性的,並且可以以另一種方式確定結果值RSLT的特定值。
產生的結果值RSLT被傳送至讀取回收確定器2128。讀取回收確定器2128基於結果值RSLT,來確定是否將對作為被執行第一讀取操作和第二讀取操作的目標的實體頁面執行讀取回收。在示例中,當接收到比較器2127的比較結果為具有值“0”或者表示反轉位數量IBN大於或等於閾值THR的結果RSLT時,讀取回收確定器2128可以產生用於對相應實體頁面開始讀取回收操作的控制訊號RC。另一方面,當接收到比較器2127的比較結果為具有值“1”或表示反轉位數量IBN小於閾值THR的結果RSLT時,讀取回收確定器2128可不執行任何操作。因此,不執行對相應實體頁面的讀取回收操作。
記憶體控制器2100可以響應於用於開始讀取回收操作的控制訊號RC,控制記憶體裝置2200將被選擇實體頁面中儲存的資料編程至另一實體位置。與此相關,記憶體控制器2100可以更新內部記憶體2160中儲存的位址映射表。
記憶體控制器2100可以基於第一讀取資料和第二讀取資料來確定是否將執行讀取回收。記憶體控制器2100可以對所接收的第一讀取資料和第二讀取資料中的至少一個執行錯誤校正,並將經錯誤校正的資料傳送至主機1000。
圖10是示出根據本公開的實施例的記憶體控制器2100的操作方法的流程圖。
參照圖10,記憶體控制器2100的操作方法可以包括:將使用相同的讀取電壓來重複讀取被選擇頁面的讀取命令傳送至記憶體裝置2200並且從記憶體裝置2200接收讀取資料的步驟(S110),基於所接收的讀取資料來產生反轉單元訊息ICD的步驟(S130),以及基於反轉單元訊息ICD來確定是否將對被選擇頁面執行讀取回收的步驟(S150)。
在步驟S110中,一般讀取命令可以被傳送至記憶體裝置2200兩次或更多次,以便使用相同的讀取電壓重複讀取被選擇頁面。在該進程中,可以在將第一讀取命令傳送至記憶體裝置2200之後接收第一讀取資料,並且可以在將第二讀取命令傳送至記憶體裝置2200之後接收第二讀取資料。稍後將參照圖11更詳細地描述步驟S110的實施例。
在另一實施例中,在步驟S110中,重複讀取命令可以被傳送至記憶體裝置2200。記憶體裝置2200可以響應於重複讀取命令,使用相同的讀取電壓對被選擇頁面執行多次(例如,兩次或更多次)讀取操作。稍後將參照圖17描述該實施例。
在步驟S130中,基於讀取的資料來產生反轉單元訊息。稍後將參照圖12給出步驟S130的更詳細描述。
在步驟S150中,基於所產生的反轉單元訊息ICD來確定是否將對被選擇頁面執行讀取回收。更具體地,當包括在反轉單元訊息中的反轉位的數量較多時,可以確定將對被選擇頁面執行讀取回收操作。當包括在反轉單元訊息中的反轉位的數量較少時,可以確定將不執行讀取回收操作。稍後將參照圖16給出步驟S150的詳細描述。
圖11是示出圖10的步驟S110的實施例的流程圖。
參照圖11,首先,記憶體控制器2100將使用預定讀取電壓來讀取被選擇頁面的第一讀取命令傳送至記憶體裝置2200(S210)。記憶體裝置2200可以基於第一讀取命令對被選擇頁面執行讀取操作。記憶體控制器2100從記憶體裝置2200接收第一讀取資料,該第一讀取資料是藉由基於第一讀取命令執行讀取操作而獲得的結果(S230)。如圖8所示,所接收的第一讀取資料RD1可以被儲存在第一讀取資料儲存裝置2121中。
可選擇地,在步驟S230中,所接收的第一讀取資料可以被傳送至主機1000。由於第一讀取資料是未被執行錯誤校正和其它解碼的資料,因此可以在對第一讀取資料執行了錯誤校正和其它解碼之後,將第一讀取資料傳送至主機1000。
記憶體控制器2100可以將使用相同的讀取電壓重新讀取被選擇頁面的第二讀取命令傳送至記憶體裝置2200(S250)。與第一讀取命令對應的位址和與第二讀取命令對應的位址是相同的。也就是說,將執行與第一讀取命令對應的第一讀取操作的頁面與將執行與第二讀取命令對應的第二讀取操作的頁面是相同的。記憶體裝置2200可以基於第二讀取命令,使用相同的讀取電壓對被選擇頁面執行讀取操作。記憶體控制器2100從記憶體裝置2200接收第二讀取資料,該第二讀取資料是藉由基於第二讀取命令執行讀取操作而獲得的結果(S270)。如圖8所示,所接收的讀取資料RD2可以被存儲在第二讀取資料儲存裝置2122中。
可選擇地,在步驟S270中,所接收的第二讀取資料RD2可以被傳送至主機1000。由於第二讀取資料是未被執行錯誤校正和其它解碼的資料,因此可以在對第二讀取資料執行了錯誤校正和其它解碼之後,將第二讀取資料傳送至主機1000。
在實施例中,當在步驟S230中將第一讀取資料傳送至主機1000時,在步驟S270中可以不將第二讀取資料傳送至主機1000。而且,當在步驟S230中沒有將第一讀取資料傳送至主機1000時,在步驟S270中可以將第一讀取資料和第二讀取資料中的至少一個傳送至主機1000。
稍後將參照圖13A描述在步驟S230中接收的第一讀取資料和在步驟S270中接收的第二讀取資料的示例。
圖12是示出圖10的步驟S130的實施例的流程圖。
參照圖12,基於讀取資料來產生反轉單元訊息的步驟(S130)包括:藉由對所接收的第一讀取資料和第二讀取資料執行XOR運算來產生反轉單元訊息的步驟(S310)。稍後將參照圖13A和圖13B描述第一讀取資料和第二讀取資料以及反轉單元訊息的示例。
圖13A是示出根據本公開的實施例的讀取結果資料的示意圖。
在圖13A中,作為示例,示出了接收到與第一讀取命令對應的第一讀取資料和與第二讀取命令對應的第二讀取資料的情況。
參照圖13A,可以看出已經接收到與第一讀取命令對應的第一讀取資料(110110 ... 110110),並且已經接收到與第二讀取命令對應的第二讀取資料(111110 ... 100110)。
當基於逐位的方式比較第一讀取資料和第二讀取資料時,可以看出與第三索引和第(n-4)索引對應的單元的位已經被反轉。如圖13A所示,反轉單元表示第一讀取資料的位值與第二讀取資料的相應位值不同的記憶體單元。
圖13B是示出根據第一讀取資料和第二讀取資料而產生的反轉單元資料或訊息ICD的示意圖。
在圖13B中,在一個示例中,每個反轉單元被指定為“1”,並且每個非反轉單元被指定為“0”。一起參照圖13A的第一讀取資料和第二讀取資料,當記憶體單元在第一讀取資料和第二讀取資料中具有相同位時,反轉單元訊息的相應索引具有位值0。另一方面,當記憶體單元在第一讀取資料和第二讀取資料中具有不同位時,反轉單元訊息的相應索引具有位值1。因此,可以看出,藉由對圖13A所示的第一讀取資料和第二讀取資料執行逐位運算來產生反轉單元訊息ICD。更具體地,可以藉由對每個位對的值執行XOR運算來產生反轉單元訊息ICD,其中位對即第一讀取資料中的位和第二讀取資料中的相應位。當位對的值相等時,作為XOR運算的結果,反轉單元訊息的相應位具有值0。當位對的值彼此不同時,藉由XOR運算,反轉單元訊息的相應位具有值1。
因此,記憶體控制器2100可以參考從記憶體裝置2200接收的第一讀取資料和第二讀取資料來產生反轉單元訊息ICD,並且另外地檢查反轉單元訊息ICD的索引。例如,記憶體控制器2100可以確定在反轉單元訊息ICD中的位之中,被指定為“1”的位對應於反轉單元,並且確定被指定為“0”的位不對應於反轉單元。記憶體控制器2100可以藉由對為“1”的位的數量進行計數來計算反轉單元的數量。
在本申請中,已經描述了藉由對第一讀取資料和第二讀取資料執行XOR運算來產生反轉單元訊息ICD。但是,這只是說明性的;可以藉由對第一讀取資料和第二讀取資料執行互斥或非(XNOR)運算來產生反轉單元訊息。記憶體控制器2100可以藉由對為“0”的位數量進行計數來計算反轉單元的數量。
圖14是示出根據本公開的實施例的反轉單元的數量的分佈和記憶體單元的閾值電壓分佈的示意圖。
在圖14中,示出了當使用各種讀取電壓執行讀取操作時,多個記憶體單元的實際閾值電壓分佈和根據計算的反轉單元的數量估計的閾值電壓分佈。
參照圖14,可以看出實際閾值電壓和反轉單元的分佈幾乎彼此對應。因此,可以看出當作為藉由使用當前使用的讀取電壓執行多次讀取操作而獲得的結果,反轉單元的數量增加時,相應實體頁面的閾值電壓分佈劣化。因此,記憶體控制器2100可以基於反轉單元的數量來執行讀取回收。
另外,記憶體控制器2100可以基於反轉單元的數量來估計閾值電壓分佈,並且搜索所估計的閾值電壓分佈的波谷(valley)。而且,記憶體控制器2100可以將與波谷對應的電壓設置為最佳讀取電壓。
圖15A和圖15B是示出根據被選擇實體頁面的閾值電壓分佈狀態的反轉單元的數量的示意圖。
參照圖15A,作為示例示出了在剛剛對被選擇實體頁面進行編程之後的閾值電壓分佈。包括在實體頁面中的記憶體單元具有屬於抹除狀態E和第一至第三編程狀態P1、P2和P3中的任何一個的閾值電壓。根據第一至第三讀取電壓R1、R2和R3來對被選擇實體頁面執行讀取操作。
圖15A的閾值電壓處於令人滿意的狀態,並且不存在具有接近第一至第三讀取電壓R1、R2和R3的閾值電壓的記憶體單元。因此,如參照圖2所述,雖然藉由第一至第三讀取電壓R1、R2和R3重複執行讀取操作,但讀取結果是相同的。這是因為不存在具有鄰近讀取電壓的閾值電壓的記憶體單元,其中對於具有鄰近讀取電壓的閾值電壓的記憶體單元可由於RTN而產生位翻轉。
因此,在圖15A中所示的閾值電壓分佈的情況下,第一讀取資料和第二讀取資料相同,並且反轉單元訊息的所有位具有值“0”。
參照圖15B,作為示例示出了在對被選擇實體頁面進行編程並且然後重複了讀取操作之後的閾值電壓分佈。包括在實體頁面中的記憶體單元具有屬於抹除狀態E'和第一至第三編程狀態P1'、P2'和P3'中的任何一個的閾值電壓。根據第一至第三讀取電壓R1、R2和R3來對被選擇實體頁面執行讀取操作。
由於重複了對實體頁面的讀取操作,所以每個狀態的閾值電壓分佈由於讀取干擾而進一步變寬。因此,如圖15B所示,相鄰狀態的閾值電壓重疊。
由於閾值電壓分佈劣化,所以存在具有接近第一至第三讀取電壓的閾值電壓的記憶體單元。因此,如參照圖2所述,當藉由第一至第三讀取電壓R1、R2和R3重複執行讀取操作時,由於RTN而產生位翻轉。
因此,在圖15B中所示的閾值電壓分佈的情況下,第一讀取資料和第二讀取資料包括不同的位,並且反轉單元訊息ICD的一些位具有值“1”。當閾值電壓分佈進一步劣化時,第一讀取資料和第二讀取資料中的不同位的數量可能增加,因此包括在反轉單元訊息ICD中的為“1”的位的數量可能增加。
因此,根據本公開的實施例的記憶體系統2000、記憶體控制器2100及其操作方法,藉由對使用相同的讀取電壓對相同實體頁面重複執行讀取操作而獲得的第一讀取資料和第二讀取資料進行比較、將每個具有不同值的相應位對識別為具有例如數字1,以產生反轉單元訊息ICD、並且對反轉單元訊息ICD中的1的數量進行計數,來產生反轉單元訊息ICD。另外,當ICD中的1的數量大於或等於可以被預定的閾值時,這指示閾值電壓分佈已經由於讀取干擾而顯著劣化,則執行讀取回收操作。因此,可以更高效地對記憶體裝置2200的特定實體頁面執行讀取回收操作。
圖16是示出圖10的步驟S150的實施例的流程圖。
參照圖16,基於反轉單元訊息ICD來確定是否將對被選擇頁面執行讀取回收的步驟(S150)可以包括:對反轉單元訊息ICD中的1的數量進行計數的步驟(S410)、將計數值與閾值進行比較的步驟(S430)以及當計數值大於或等於閾值時對被選擇實體頁面執行讀取回收操作的步驟(S450)。
步驟S410可以由圖9的反轉位計數器2125執行。反轉位計數器2125可以將藉由對包括在反轉單元訊息ICD中的為1的位的數量進行計數而產生的反轉位數量IBN作為計數值傳送至比較器2127。
步驟S430可以由圖9的比較器2127執行。比較器2127可以將反轉位數量IBN和閾值儲存裝置2126中存儲的閾值THR進行比較。
步驟S450可以由圖9的讀取回收確定器2128執行。當計數值,即反轉位數量INB大於或等於閾值THR時,讀取回收確定器2128可以產生用於確定將對被選擇實體頁面執行讀取回收操作的控制訊號RC。記憶體控制器2100可以響應於控制訊號RC,控制記憶體裝置2200對被選擇實體頁面執行讀取回收操作。
圖17是示出根據本公開的另一實施例的記憶體裝置2200的示意圖。圖17中所示的記憶體裝置2200可以應用於圖1和圖3中所示的記憶體系統。
記憶體裝置2200可以包括控制邏輯2210、外圍電路2220和記憶體單元陣列2240。外圍電路2220可以包括電壓產生電路2222、行解碼器2224、輸入/輸出電路2226、列解碼器2228、頁面緩衝器組2232和電流感測電路2234。除控制邏輯2210之外的其它部件基本上與圖4所示的記憶體裝置的部件相同。因此,此處省略其重複描述。
控制邏輯2210可以包括反轉單元訊息產生器2212。當記憶體裝置2200從記憶體控制器2100接收重複讀取命令時,控制邏輯2210可以控制外圍電路2220使用相同的讀取電壓對被選擇實體頁面重複地執行讀取操作。因此,外圍電路2220可以使用相同的讀取電壓來對記憶體單元陣列2240的被選擇實體頁面執行多次讀取操作。例如,控制邏輯2210可以控制外圍電路2220使用相同的讀取電壓來對被選擇實體頁面執行兩次讀取操作。反轉單元訊息產生器2212可以基於作為藉由執行兩次讀取操作而獲得的結果的第一讀取資料和第二讀取資料來產生反轉單元訊息ICD。反轉單元訊息產生器2212可以與圖3和圖8的反轉單元訊息產生器2120b基本相同地配置。
在實施例中,反轉單元訊息產生器2212可以將產生的反轉單元訊息ICD傳送至記憶體控制器2100。記憶體控制器2100可以藉由對所接收的反轉單元訊息ICD中的值為1的位的數量進行計數並且將計數數量與閾值THR進行比較來確定是否將執行讀取回收操作。
在另一實施例中,反轉單元訊息產生器2212可以另外地執行對所產生的反轉單元訊息ICD中的值為1的位的數量進行計數的操作,並且將該反轉位數量傳送至記憶體控制器2100。然後,記憶體控制器2100可以藉由將所接收的反轉位數量與閾值THR進行比較來確定是否將執行讀取回收操作。
圖18是示出包括圖1和圖2中所示的記憶體控制器的記憶體系統的另一示例的示意圖。
參照圖18,記憶體系統30000可以被實施為蜂巢式行動電話、智慧型手機、平板電腦、個人數位助理(PDA)或無線通訊裝置。記憶體系統30000可以包括記憶體裝置2200和能夠控制記憶體裝置2200的操作的記憶體控制器2100。
記憶體控制器2100可以在處理器3100的控制下控制記憶體裝置2200的資料訪問操作,例如編程操作、抹除操作、讀取操作等。
編程在記憶體裝置2200中的資料可以在記憶體控制器2100的控制下藉由顯示器3200輸出。
無線電收發器3300可以藉由天線ANT發送/接收無線電訊號。例如,無線電收發器3300可以將藉由天線ANT接收的無線電訊號轉換成可由處理器3100處理的訊號。因此,處理器3100可以處理從無線電收發器3300輸出的訊號,並將處理的訊號傳輸到記憶體控制器2100或顯示器3200。記憶體控制器2100可以將由處理器3100處理的訊號傳輸到記憶體裝置2200。而且,無線電收發器3300可以將從處理器3100輸出的訊號轉變成無線電訊號,並且藉由天線ANT將轉換的無線電訊號輸出到外部裝置。輸入裝置3400是能夠輸入用於控制處理器3100的操作的控制訊號或待由處理器3100處理的資料的裝置,並且可被實施為諸如觸控板或電腦滑鼠的定點裝置、小鍵盤或鍵盤。處理器3100可以控制顯示器3200的操作,使得從記憶體控制器2100輸出的資料、從無線電收發器3300輸出的資料或從輸入裝置3400輸出的資料可藉由顯示器3200輸出。
在一些實施例中,能夠控制記憶體裝置2200的操作的記憶體控制器2100可被實施為處理器3100的一部分或被實施為與處理器3100分開設置的晶片。
圖19是示出包括圖1和圖2中所示的記憶體控制器的記憶體系統的另一示例的示意圖。
參照圖19,記憶體系統40000可以被實施為個人電腦(PC)、平板電腦、小筆電、電子閱讀器、個人數位助理(PDA)、可攜式媒體播放器(PMP)、MP3播放器或MP4播放器。
記憶體系統40000可以包括記憶體裝置2200和能夠控制記憶體裝置2200的資料處理操作的記憶體控制器2100。
處理器4100可以根據藉由輸入裝置4200輸入的資料藉由顯示器4300輸出記憶體裝置2200中存儲的資料。例如,輸入裝置4200可被實施為諸如觸控板或電腦滑鼠的定點裝置、小鍵盤或鍵盤。
處理器4100可以控制記憶體系統40000的全部操作,並且控制記憶體控制器2100的操作。在一些實施例中,能夠控制記憶體裝置2200的操作的記憶體控制器2100可以被實施為處理器4100的一部分或被實施為與處理器4100分開設置的晶片。
圖20是示出包括圖1和圖2中所示的記憶體控制器的記憶體系統的另一示例的示意圖。
參照圖20,記憶體系統50000可以被實施為圖像處理裝置,例如數位相機、附接有數位相機的行動終端、附接有數位相機的智慧型手機或附接有數位相機的平板PC。
記憶體系統50000可以包括記憶體裝置2200和能夠控制記憶體裝置2200的例如編程操作、抹除操作或讀取操作的資料處理操作的記憶體控制器2100。
記憶體系統50000的圖像傳感器5200可以將光學圖像轉換為數字訊號,並且轉換的數字訊號可以被傳輸到處理器5100或記憶體控制器2100。在處理器5100的控制下,轉換的數字訊號可以藉由顯示器5300被輸出,或藉由記憶體控制器2100而儲存在記憶體裝置2200中。另外,記憶體裝置2200中儲存的資料可以在處理器5100或記憶體控制器2100的控制下藉由顯示器5300輸出。
在一些實施例中,能夠控制記憶體裝置2200的操作的記憶體控制器2100可以被實施為處理器5100的一部分或被實施為與處理器5100分開設置的晶片。
圖21是示出包括圖1和圖2中所示的記憶體控制器的記憶體系統的另一示例的示意圖。
參照圖21,記憶體系統70000可以被實施為記憶卡或智慧卡。記憶體系統70000可以包括記憶體裝置2200、記憶體控制器2100和卡介面7100。
記憶體控制器2100可以控制記憶體裝置2200和卡介面7100之間的資料交換。在一些實施例中,卡介面7100可以是安全數位(SD)卡介面或多媒體記憶卡(MMC)介面,但本申請不限於此。
卡介面7100可以根據主機60000的協議來連接主機60000和記憶體控制器2100之間的資料交換。在一些實施例中,卡介面7100可以支持通用序列匯流排(USB)協議和晶片間(IC)-USB協議。卡介面7100可以表示能夠支持主機60000使用的協議的硬體、嵌入在硬體中的軟體或者訊號傳輸方案。
當記憶體系統70000連接至諸如PC、平板PC、數位相機、數位音訊播放器、蜂巢式行動電話、家用視訊遊戲硬體或數位機上盒的主機60000的主機介面6200時,主機介面6200可以在微處理器(μP)6100的控制下,藉由卡介面7100和記憶體控制器2100來執行與記憶體裝置2200的資料通訊。
根據本公開的實施例,提供了一種用於高效地執行讀取回收的記憶體系統、記憶體控制器及其操作方法。
本文已經公開了各種實施例,並且雖然採用了特定術語,但是它們將以一般性和描述性意義來被使用和解釋而且不是出於限制的目的。在某些情況下,如本發明所屬技術領域之通常知識者顯而易見的,自提交本申請起,結合特定實施例描述的特徵、特性和/或元件可以單獨使用或與結合其它實施例描述的特徵、特性和/或元件組合使用,除非另有明確說明。因此,本發明所屬技術領域之通常知識者將理解的是,在不脫離所附權利要求中闡述的本公開的精神和範圍的情況下,可以在形式和細節上進行各種改變。
1000‧‧‧主機
2000‧‧‧記憶體系統
2100‧‧‧記憶體控制器
2110‧‧‧主機介面
2120‧‧‧中央處理單元
2120a‧‧‧命令產生器
2120b‧‧‧反轉單元訊息產生器
2121‧‧‧第一讀取資料儲存裝置
2122‧‧‧第二讀取資料儲存裝置
2123‧‧‧XOR運算器
2120c‧‧‧反轉單元索引管理器
2120d‧‧‧讀取回收控制器
2125‧‧‧反轉位計數器
2126‧‧‧閾值儲存裝置
2127‧‧‧比較器
2128‧‧‧讀取回收確定器
2130‧‧‧記憶體介面
2140‧‧‧緩衝記憶體
2150‧‧‧錯誤校正電路
2160‧‧‧內部記憶體
2200‧‧‧記憶體裝置
2210‧‧‧控制邏輯
2212‧‧‧反轉單元訊息產生器
2220‧‧‧外圍電路
2222‧‧‧電壓產生電路
2224‧‧‧行解碼器
2226‧‧‧輸入/輸出電路
2228‧‧‧列解碼器
2232‧‧‧頁面緩衝器組
2234‧‧‧電流感測電路
2240‧‧‧記憶體單元陣列
3100‧‧‧處理器
3200‧‧‧顯示器
3300‧‧‧無線電收發器
3400‧‧‧輸入裝置
30000‧‧‧記憶體系統
4100‧‧‧處理器
4200‧‧‧輸入裝置
4300‧‧‧顯示器
40000‧‧‧記憶體系統
5100‧‧‧處理器
5200‧‧‧圖像傳感器
5300‧‧‧顯示器
50000‧‧‧記憶體系統
6100‧‧‧微處理器
6200‧‧‧主機介面
60000‧‧‧主機
7100‧‧‧卡介面
70000‧‧‧記憶體系統
A、B‧‧‧區域
ADD‧‧‧位址
ANT‧‧‧天線
BLK1~ BLKi‧‧‧記憶體區塊
BL1~BLm‧‧‧位線
CADD‧‧‧列地址位址
CMD‧‧‧命令
CL‧‧‧列線
DL‧‧‧資料線
DATA‧‧‧資料
DSL‧‧‧汲極選擇線
DST‧‧‧汲極選擇電晶體
E、 E'‧‧‧抹除狀態
F1~F16‧‧‧記憶體單元
FAIL‧‧‧失敗信號訊號
IO‧‧‧輸入/輸出線
ICD‧‧‧反轉單元訊息
IBN‧‧‧反轉位數量
LL‧‧‧局部線
MC1~MCp、MCn~ MCp+1‧‧‧記憶體單元
OP_CMD‧‧‧操作信號訊號
PS‧‧‧特定編程狀態
PBSIGNALS‧‧‧頁面緩衝器控制訊號
PASS‧‧‧通過訊號
PB1~PBm‧‧‧頁面緩衝器
PPG‧‧‧實體頁面
PT‧‧‧通道電晶體
PL‧‧‧管線
P1、P1'‧‧‧第一編程狀態
P2、P2'‧‧‧第二編程狀態
P3、P3'‧‧‧第三編程狀態
Ra 、Rb、Rc‧‧‧讀取電壓
RADD‧‧‧行位址
RD1‧‧‧第一讀取資料
RD2‧‧‧第二讀取資料
RSLT‧‧‧結果
RC‧‧‧控制訊號
R1‧‧‧第一讀取電壓
R2‧‧‧第二讀取電壓
R3‧‧‧第三讀取電壓
SL‧‧‧源極線
SSL‧‧‧源極選擇線
SST‧‧‧源極選擇電晶體
ST11~ST1m、ST21~ST2m、ST11'~ST1m'、ST21'~ST2m'‧‧‧記憶胞串
S110、S130、S150、S210、S230、S250、S270、S310、S410、S430、S450‧‧‧步驟
THR‧‧‧閾值
Vop‧‧‧操作電壓
VRY_BIT<#>‧‧‧允許位
VPB‧‧‧感測電壓
WL1~WLn‧‧‧字線
X‧‧‧方向
Y‧‧‧方向
Z‧‧‧ 方向
現在將在下文中參照附圖更全面地描述各種實施例;然而,本發明的元件和特徵可以與本文所公開的不同地配置或佈置。因此,本發明不限於本文闡述的實施例。相反,提供這些實施例使得本公開是徹底且完整的,並且向本發明所屬技術領域之通常知識者充分傳達實施例的範圍。
在附圖中,為了清楚說明,尺寸可能被誇大。將理解的是,當元件被稱為在兩個元件“之間”時,它可以是兩個元件之間的唯一元件,或者也可以存在一個或多個中間元件。相同的附圖標記在整個附圖中表示相同的元件。
圖1是示出根據本公開的實施例的記憶體系統的示意圖。
圖2是示出根據隨機電報雜訊(RTN)當執行兩次讀取操作時檢測反轉單元的進程的示意圖。
圖3是示出圖1中所示的示例性記憶體控制器的示意圖。
圖4是示出根據本公開的實施例的記憶體裝置的示意圖。
圖5是示出示例性記憶體區塊的示意圖。
圖6是示出三維配置的記憶體區塊的實施例的示意圖。
圖7是示出三維配置的記憶體區塊的另一實施例的示意圖。
圖8是示出圖3的反轉單元訊息產生器的實施例的方塊圖。
圖9是示出圖3的讀取回收控制器的實施例的方塊圖。
圖10是示出根據本公開的實施例的記憶體控制器的操作方法的流程圖。
圖11是示出圖10的步驟S110的實施例的流程圖。
圖12是示出圖10的步驟S130的實施例的流程圖。
圖13A是示出根據本公開的實施例的讀取結果資料的示意圖。
圖13B是示出根據本公開的實施例的根據第一讀取資料和第二讀取資料產生的反轉單元訊息的示意圖。
圖14是示出根據本公開的實施例的反轉單元的數量分佈和記憶體單元的閾值電壓分佈的示意圖。
圖15A和圖15B是示出根據本公開的實施例的根據被選擇實體頁面的閾值電壓分佈狀態的反轉單元的數量的示意圖。
圖16是示出圖10的步驟S150的實施例的流程圖。
圖17是示出根據本公開的實施例的記憶體裝置的示意圖。
圖18是示出包括圖1和圖2中所示的記憶體控制器的記憶體系統的另一示例的示意圖。
圖19是示出包括圖1和圖2中所示的記憶體控制器的記憶體系統的另一示例的示意圖。
圖20是示出包括圖1和圖2中所示的記憶體控制器的記憶體系統的另一示例的示意圖。
圖21是示出包括圖1和圖2中所示的記憶體控制器的記憶體系統的另一示例的示意圖。
S110、S130、S150‧‧‧步驟
Claims (18)
- 一種記憶體系統,包括: 記憶體裝置,包括多個記憶體單元;以及 記憶體控制器,控制所述記憶體裝置對所述多個記憶體單元之中的、被選擇實體頁面中的記憶體單元執行多個讀取操作,基於從所述記憶體裝置接收的多個讀取資料來計算表示不同位值的反轉位的數量作為反轉位數量,並且基於所述反轉位數量來對所述被選擇實體頁面執行讀取回收操作。
- 如請求項1所述的記憶體系統,其中所述記憶體控制器包括: 命令產生器,產生用於讀取所述被選擇實體頁面的資料的第一讀取命令和第二讀取命令; 反轉單元訊息產生器,基於分別與所述第一讀取命令和所述第二讀取命令對應的第一讀取資料和第二讀取資料來產生反轉單元訊息;以及 讀取回收控制器,基於所述反轉單元訊息來確定是否將對所述被選擇實體頁面執行所述讀取回收操作。
- 如請求項2所述的記憶體系統,其中所述反轉單元訊息產生器包括: 第一讀取資料儲存裝置,儲存所述第一讀取資料; 第二讀取資料儲存裝置,儲存所述第二讀取資料;以及 互斥或運算器,即XOR運算器,藉由對所述第一讀取資料和所述第二讀取資料執行XOR運算來產生所述反轉單元訊息。
- 如請求項2所述的記憶體系統,其中所述讀取回收控制器包括: 反轉位計數器,藉由對所述反轉單元訊息中的反轉位的數量進行計數來計算所述反轉位數量; 閾值儲存裝置,儲存閾值; 比較器,將所述反轉位數量與所述閾值進行比較;以及 讀取回收確定器,基於所述比較器的比較結果來確定是否將對所述被選擇實體頁面執行所述讀取回收操作。
- 如請求項4所述的記憶體系統,其中當根據所述比較器的比較結果,所述反轉位數量大於或等於所述閾值時,所述讀取回收確定器確定將對所述被選擇實體頁面執行所述讀取回收操作。
- 如請求項5所述的記憶體系統,其中當所述讀取回收確定器確定將對所述被選擇實體頁面執行所述讀取回收操作時,所述記憶體控制器將所述被選擇實體頁面中儲存的資料儲存在另一實體頁面中。
- 如請求項6所述的記憶體系統,進一步包括: 內部記憶體,存儲包括邏輯位址和實體位址之間的映射關係的位址映射表, 其中當所述讀取回收確定器確定將對所述被選擇實體頁面執行所述讀取回收操作時,所述記憶體控制器更新所述內部記憶體中存儲的所述位址映射表。
- 如請求項2所述的記憶體系統,其中所述記憶體控制器對所述第一讀取資料和所述第二讀取資料中的至少一個執行錯誤校正,並且將經錯誤校正的資料傳送至主機。
- 一種記憶體控制器,所述記憶體控制器在主機的控制下控制記憶體裝置,所述記憶體控制器包括: 命令產生器,響應於來自所述主機的讀取請求來產生用於控制所述記憶體裝置對實體頁面重複地執行讀取操作的第一讀取命令和第二讀取命令; 反轉單元訊息產生器,基於分別與所述第一讀取命令和所述第二讀取命令對應、從所述記憶體裝置接收的第一讀取資料和第二讀取資料來產生反轉單元訊息;以及 讀取回收控制器,基於所述反轉單元訊息中包括的反轉位數量來產生用於對所述實體頁面執行讀取回收操作的控制訊號。
- 如請求項9所述的記憶體控制器,其中所述反轉單元訊息產生器包括: 第一讀取資料儲存裝置,儲存所述第一讀取資料; 第二讀取資料儲存裝置,儲存所述第二讀取資料;以及 XOR運算器,藉由對所述第一讀取資料和所述第二讀取資料執行XOR運算來產生所述反轉單元訊息。
- 如請求項9所述的記憶體控制器,其中所述讀取回收控制器包括: 反轉位計數器,藉由對所述反轉單元訊息中的反轉位的數量進行計數來計算所述反轉位數量; 閾值儲存裝置,存儲閾值; 比較器,將所述反轉位數量與所述閾值進行比較;以及 讀取回收確定器,基於所述比較器的比較結果來確定是否將對所述實體頁面執行所述讀取回收操作。
- 如請求項11所述的記憶體控制器,其中當所述反轉位數量大於或等於所述閾值時,所述讀取回收確定器產生控制所述記憶體裝置對所述實體頁面執行所述讀取回收操作的控制訊號。
- 如請求項12所述的記憶體控制器,進一步包括: 內部記憶體,儲存位址映射表, 其中響應於所述控制訊號來更新所述內部記憶體中儲存的所述位址映射表。
- 一種操作記憶體控制器的方法,所述方法包括: 發出用於重複地讀取記憶體裝置的被選擇頁面的讀取命令,並且從所述記憶體裝置接收讀取資料; 基於所述讀取資料來產生反轉單元訊息;並且 基於所述反轉單元訊息來確定是否將對所述被選擇頁面執行讀取回收操作。
- 如請求項14所述的方法,其中向所述記憶體裝置發出所述讀取命令並且從所述記憶體裝置接收所述讀取資料包括: 發出用於讀取所述被選擇頁面的第一讀取命令; 從所述記憶體裝置接收與所述第一讀取命令對應的第一讀取資料; 發出用於重新讀取所述被選擇頁面的第二讀取命令;並且 從所述記憶體裝置接收與所述第二讀取命令對應的第二讀取資料。
- 如請求項15所述的方法,其中基於所述讀取資料來產生所述反轉單元訊息包括: 藉由對所述第一讀取資料和所述第二讀取資料執行XOR運算來產生所述反轉單元訊息。
- 如請求項16所述的方法,其中確定是否將對所述被選擇頁面執行所述讀取回收操作包括: 對所述反轉單元訊息中的、為兩個值之中的第一值的位的數量進行計數,以產生計數結果; 將所述計數結果與閾值進行比較;並且 基於比較結果來確定是否將對所述被選擇頁面執行所述讀取回收操作。
- 如請求項17所述的方法,其中確定是否將對所述被選擇頁面執行所述讀取回收操作包括: 當所述計數結果大於或等於所述閾值時,確定將對所述被選擇頁面執行所述讀取回收操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180089615A KR20200014135A (ko) | 2018-07-31 | 2018-07-31 | 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법 |
KR10-2018-0089615 | 2018-07-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202008355A true TW202008355A (zh) | 2020-02-16 |
Family
ID=69228672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108115927A TW202008355A (zh) | 2018-07-31 | 2019-05-08 | 記憶體系統、記憶體控制器及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20200042245A1 (zh) |
KR (1) | KR20200014135A (zh) |
CN (1) | CN110780801A (zh) |
TW (1) | TW202008355A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200127516A (ko) * | 2019-05-02 | 2020-11-11 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이의 동작 방법 |
CN111813336B (zh) * | 2020-06-05 | 2022-08-09 | 浙江大华存储科技有限公司 | 一种固态硬盘的数据存储方法及装置 |
EP4318248A1 (en) * | 2022-08-04 | 2024-02-07 | Samsung Electronics Co., Ltd. | Non-volatile memory device determining read reclaim, method of operating the same, and method of operating storage device including the same |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9036417B2 (en) * | 2012-09-06 | 2015-05-19 | Sandisk Technologies Inc. | On chip dynamic read level scan and error detection for nonvolatile storage |
KR102697927B1 (ko) * | 2016-11-11 | 2024-08-22 | 삼성전자주식회사 | 스토리지 장치 및 그 동작 방법 |
-
2018
- 2018-07-31 KR KR1020180089615A patent/KR20200014135A/ko unknown
-
2019
- 2019-03-12 US US16/299,272 patent/US20200042245A1/en not_active Abandoned
- 2019-04-10 CN CN201910282892.1A patent/CN110780801A/zh not_active Withdrawn
- 2019-05-08 TW TW108115927A patent/TW202008355A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
KR20200014135A (ko) | 2020-02-10 |
CN110780801A (zh) | 2020-02-11 |
US20200042245A1 (en) | 2020-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9412471B2 (en) | Method of reading data from a nonvolatile memory device, nonvolatile memory device, and method of operating a memory system | |
CN110299176B (zh) | 存储器控制器及具有该存储器控制器的存储器系统 | |
CN110413535B (zh) | 存储器控制器及存储器控制器的操作方法 | |
CN111564173A (zh) | 存储器系统及其操作方法 | |
US10985780B2 (en) | Error correction circuit, and memory controller having the error correction circuit and memory system having the memory controller | |
US10522234B2 (en) | Bit tagging method, memory control circuit unit and memory storage device | |
KR102350644B1 (ko) | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 | |
TWI775879B (zh) | 記憶體系統及其操作方法 | |
KR20160075174A (ko) | 메모리 시스템 및 그 동작방법 | |
TW202008355A (zh) | 記憶體系統、記憶體控制器及其操作方法 | |
KR20220008058A (ko) | 컨트롤러 및 컨트롤러의 동작방법 | |
KR20190043860A (ko) | 메모리 시스템 및 이의 동작 방법 | |
KR20190074890A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
CN111324300B (zh) | 控制器以及控制器的操作方法 | |
KR102353363B1 (ko) | 메모리 시스템의 동작 방법 | |
KR20200139044A (ko) | 메모리 컨트롤러 및 이의 동작 방법 | |
CN109101361B (zh) | 存储器系统及其操作方法 | |
KR102684106B1 (ko) | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 | |
US10930356B2 (en) | Memory controller and method of operating the same | |
KR20150056203A (ko) | 반도체 장치 및 이의 동작 방법 | |
CN110858501B (zh) | 存储器系统以及存储器系统的操作方法 | |
KR20210017044A (ko) | 반도체 메모리 장치의 컨트롤러 및 그 동작 방법 | |
KR20210078193A (ko) | 랜더마이저를 포함하는 반도체 메모리 장치 및 메모리 컨트롤러 | |
KR102719499B1 (ko) | 에러 정정 회로, 이를 포함하는 메모리 컨트롤러 및 메모리 시스템 | |
KR102544144B1 (ko) | 전자 장치, 이를 포함하는 메모리 시스템 및 이의 동작 방법 |