TW202318211A - 用於編程資料的記憶體裝置和記憶體系統 - Google Patents

用於編程資料的記憶體裝置和記憶體系統 Download PDF

Info

Publication number
TW202318211A
TW202318211A TW111134307A TW111134307A TW202318211A TW 202318211 A TW202318211 A TW 202318211A TW 111134307 A TW111134307 A TW 111134307A TW 111134307 A TW111134307 A TW 111134307A TW 202318211 A TW202318211 A TW 202318211A
Authority
TW
Taiwan
Prior art keywords
data
memory
programming
memory device
controller
Prior art date
Application number
TW111134307A
Other languages
English (en)
Inventor
金成焄
辛範柱
Original Assignee
韓商愛思開海力士有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 韓商愛思開海力士有限公司 filed Critical 韓商愛思開海力士有限公司
Publication of TW202318211A publication Critical patent/TW202318211A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1012Adding 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 codes or arrangements adapted for a specific type of error
    • G06F11/1032Simple parity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/143Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本發明係關於一種用於編程資料的記憶體裝置和記憶體系統。一種記憶體裝置包括:第一記憶體組,其包括能夠儲存多位資料的多個第一非揮發性記憶體單元;以及第二記憶體組,其包括能夠儲存單位資料的多個第二非揮發性記憶體單元。編程操作控制器基於從外部裝置輸入的資料構建多位資料,對多位資料中的部分資料執行邏輯操作以生成奇偶校驗,在將部分資料編程在第一記憶體組中之後將奇偶校驗編程在第二記憶體組中,在發生突然斷電SPO之後對部分資料執行驗證操作,基於奇偶校驗和驗證操作的結果恢復部分資料,並將經恢復的部分資料編程在第一記憶體組中。

Description

用於編程資料的記憶體裝置和記憶體系統
本文中所描述的本發明的一個或更多個實施例係關於記憶體裝置、記憶體系統及其操作方法,且更具體地,係關於用於將資料編程在非揮發性記憶體裝置中的設備和方法。
資料處理系統包括記憶體系統或資料儲存裝置。可以開發資料處理系統,以在資料儲存裝置中儲存更大容量的資料、更快地在資料儲存裝置中儲存資料、並且更快地讀取儲存在資料儲存裝置中的資料。記憶體系統或資料儲存裝置可包括用於儲存資料的非揮發性記憶體單元和/或揮發性記憶體單元。
相關申請的交叉引用
本專利申請請求於2021年10月21日提交的韓國專利申請No.10-2021-0140702的權益,其全部公開內容透過引用併入本文。
本發明的實施例可提供一種記憶體系統,資料處理系統和操作程序或方法,其可透過降低記憶體系統的操作複雜性和性能劣化來快速且可靠地將資料處理到記憶體裝置中,藉此增強記憶體裝置的使用效率。
在實施例中,記憶體裝置可以包括第一記憶體組,其包括能夠儲存多位資料的多個第一非揮發性記憶體單元;第二記憶體組,其包括能夠儲存單位資料的多個第二非揮發性記憶體單元;以及編程操作控制器,其被配置為基於從外部裝置輸入的資料構建所述多位資料,執行針對所述多位資料中的部分資料的邏輯操作以生成奇偶校驗,在將所述部分資料編程在所述第一記憶體組中之後將所述奇偶校驗編程在所述第二記憶體組中,在發生突然斷電(SPO)之後執行關於所述部分資料的驗證操作,基於所述奇偶校驗和所述驗證操作的結果恢復所述部分資料,並且將經恢復的部分資料編程在所述第一記憶體組中。
所述編程操作控制器可進一步經配置為在所述部分資料已被成功編程在所述第一記憶體組中之後輸出與所述部分資料的編程相關聯的完成通知。
編程操作控制器可以在輸出完成通知之後將奇偶校驗編程在第二記憶體組中。
部分資料可包括多位資料中的最低有效位(LSB)資料。邏輯操作可以包括在編程操作控制器透過對應於多位資料的位的數量的多步編程操作將多位資料編程到第一記憶體組中的同時執行的互斥或(XOR)操作。
編程操作控制器還被配置為透過二元編程操作和模糊精細編程操作將多位資料編程到第一記憶體組中。部分資料可以包括在二元編程操作中被編程的資料。
在恢復電力之後執行的驗證操作期間,編程操作控制器可以基於與第一記憶體組中的部分資料和第二記憶體組中的奇偶校驗相對應的編程的值來恢復部分資料。
編程操作可包括用於在經恢復的部分資料被編程在第一記憶體組中之後基於驗證操作的結果確定多位資料是否已被成功編程的操作。
所述編程操作控制器可進一步被配置為在執行所述邏輯操作之前基於所述多位資料的屬性確定備份範圍。
編程操作控制器還可以被配置為對儲存在第一記憶體組中的部分資料中的錯誤執行恢復操作,並且在恢復操作期間將多位資料中的部分資料備份在第二記憶體組中。
第一記憶體組和第二記憶體組可以被包括在單個記憶體晶粒(die)的不同記憶塊中。
編程操作控制器可以被包括在記憶體晶粒中。
所述編程操作控制器可經由資料通道聯接到包括所述第一記憶體組和所述第二記憶體組的記憶體晶粒。
所述記憶體裝置還包括臨時儲存所述部分資料的快取緩衝器;以及多個頁緩衝器,其聯接到所述第一記憶體組和所述第二記憶體組以儲存從所述快取緩衝器傳送的所述部分資料。
編程操作控制器可包括奇偶校驗奇偶校驗生成引擎,所述奇偶校驗生成引擎被配置為基於從所述快取緩衝器傳送到所述多個頁緩衝器的部分資料來生成所述奇偶校驗。
在另一實施例中,記憶體系統可以包括至少一個記憶體晶粒,所述至少一個記憶體晶粒包括第一記憶體組和第二記憶體組,所述第一記憶體組包括能夠儲存多位資料的多個第一非揮發性記憶體單元,所述第二記憶體組包括能夠儲存單位資料的多個第二非揮發性記憶體單元;以及至少一個編程操作控制器,其被配置為基於從外部裝置輸入的寫入資料來構建所述多位資料,執行針對所述多位資料中的部分資料的邏輯操作以生成奇偶校驗,在將所述部分資料編程在所述第一記憶體組中之後將所述奇偶校驗編程在所述第二記憶體組中,在發生突然斷電(SPO)之後執行針對所述部分資料的驗證操作,基於所述奇偶校驗和所述驗證操作的結果來恢復所述部分資料,並且將經恢復的部分資料編程在所述第一記憶體組中。
所述記憶體系統可進一步包括控制器,所述控制器經由資料通道聯接到所述至少一個記憶體晶粒,且被配置為從所述外部裝置接收所述寫入資料並確定所述第一記憶體組中用於儲存所述多位資料的位置。
控制器還可以被配置為基於多位資料的屬性確定備份範圍。
該至少一個編程操作控制器可以被包括在控制器中。
所述至少一個編程操作控制器可進一步被配置為對儲存在所述第一記憶體組中的所述部分資料中的錯誤執行恢復操作,且在所述恢復操作期間將所述多位資料中的所述部分資料備份在所述第二記憶體組中。
所述至少一個編程操作控制器可被包括在所述至少一個記憶體晶粒中。
所述至少一個編程操作控制器可進一步被配置為在所述部分資料已被成功編程在所述第一記憶體組中之後輸出與所述部分資料的編程相關聯的完成通知。
所述至少一個編程操作控制器可以在輸出完成通知之後將奇偶校驗編程在第二記憶體組中。
部分資料可包括多位資料中的最低有效位(LSB)資料。邏輯操作包括在編程操作控制器透過對應於多位資料的位的數量的多步編程操作將多位資料編程到第一記憶體組中的同時執行的互斥或(XOR)操作。
所述至少一個編程操作控制器可進一步被配置為透過二元編程操作和模糊-精細編程操作將多位資料編程到第一記憶體組中。部分資料可以包括在二元編程操作中被編程的資料。
在電力恢復之後執行的驗證操作期間,所述至少一個編程操作控制器可基於對應於第一記憶體組中的部分資料和第二記憶體組中的奇偶校驗的編程值來恢復部分資料。
在將經恢復的部分資料編程到第一記憶體組中之後,所述至少一個編程操作控制器可基於驗證操作的結果來確定多位資料是否已被成功編程。
第一記憶體組和第二記憶體組可以被包括在單個記憶體晶粒的不同記憶塊中。
在另一實施例中,記憶體裝置的操作方法可包括將多條最低有效位(LSB)資料編程到第一儲存介質中且接著將剩餘資料編程到第一儲存介質中,同時將所述多條LSB資料的奇偶校驗編程到第二儲存介質中;以及當在對剩餘資料進行編程的同時記憶體裝置被中斷時,透過利用奇偶校驗來恢復LSB資料以將經恢復的LSB資料編程回第一儲存介質。
下面將參照附圖描述本發明的各種實施例。然而,本發明的元件和特徵可以被不同地配置或佈置以形成其他實施例,其可以是所公開的實施例中的任一個的變型。
在本發明中,對包括在“一個實施例”、“示例實施例”、“實施例”、“另一實施例”、“一些實施例”、“各種實施例”、“其它實施例”、“替換實施例”等中的各種特徵(例如,元件、結構、模組、組件、步驟、操作、特性等)的引用旨在表示任意這樣的特徵包括在本發明的一個或更多個實施例中,但是可以或可以不必組合在相同的實施例中。
在本發明中,術語“包括”、“包含”、“具有”和“含有”是開放式的。如在所附申請專利範圍中所使用的,這些術語指明了所述元件的存在,並且不排除一個或更多個其它元件的存在或添加。申請專利範圍中的術語並不排除設備包括附加組件,例如介面單元,電路等。
在本發明中,各種單元、電路或其它組件可被描述或聲明為“被配置為”執行一個或更多個任務。在這樣的上下文中,“被配置為”用於透過指示塊/單元/電路/組件包括在操作期間執行一個或更多個任務的結構(例如,電路)來暗示結構。這樣,即使當指定的塊/單元/電路/組件當前不工作(例如不被打開或激活)時,也可以說塊/單元/電路/組件被配置成執行任務。與“被配置為”語言一起使用的塊/單元/電路/組件包括硬體,例如,電路,儲存可執行以實現操作的程序指令的記憶體等。另外,“被配置為”可包括由軟體和/或韌體操縱的通用結構(例如,通用電路)(例如,執行軟體的通用處理器或FPGA),以便以能夠執行所討論的任務的方式操作。“被配置為”還可以包括使製造程序(例如,半導體製造設施)適應於製造適於實現或執行一個或更多個任務的裝置(例如,積體電路)。
如在本發明中所使用的,術語“電路”或“邏輯”是指以下全部:(a)僅硬體電路實現(例如僅類比和/或數位電路中的實現)和(b)電路和軟體(和/或韌體)的組合,例如(如適用):(i)處理器的組合或(ii)處理器/軟體(包括數位信號處理器)、軟體和記憶體的部分,它們一起工作以使諸如行動電話或伺服器的設備執行各種功能;以及(c)電路,諸如微處理器或微處理器的一部分,它們需要軟體或韌體來操作,即使軟體或韌體不是實體存在的。“電路”或“邏輯”的定義適用於本申請中的(包括在任何請求項中的)該術語的所有用例。作為另一示例,如本申請中所使用的,術語“電路”或“邏輯”還涵蓋僅處理器(或多個處理器)或處理器的一部分及其(或它們的)伴隨軟體和/或韌體的實現。術語“電路”或“邏輯”還涵蓋例如(且如果適用於特定請求項元素)用於儲存裝置的積體電路。
如這裡所使用的,這些術語“第一”,“第二”,“第三”等被用作它們之後的名詞的標記,並且不暗示任何類型的排序(例如,空間,時間,邏輯等)。術語“第一”和“第二”不一定意味著第一值必須寫在第二值之前。此外,儘管這裡可以使用這些術語來標識各種元件,但是這些元件不受這些術語的限制。這些術語用於區分否則將具有相同或相似名稱的一個元件和另一個元件。例如,可以區分第一電路與第二電路。
此外,術語“基於”用於描述影響確定的一個或更多個因素。該術語不排除可能影響確定的其它因素。即,確定可以僅基於那些因素或至少部分地基於那些因素。考慮短語“基於B確定A”。雖然在這種情況下,B是影響A的確定的因素,但是這樣的短語並不排除A的確定也基於C。在其它情況下,可以僅基於B來確定A。
這裡,資料的項、資料項、資料條目或資料的條目可以是位元序列(a sequence of bits)。例如,資料項可包括文件的內容、文件的一部分、記憶體中的頁、面向對象的程序中的對象、數位消息、數位掃描圖像、視頻或音頻信號的一部分、元資料或可由位元序列表示的任何其它實體。根據一個實施例,資料項可以包括離散對象。根據另一實施例,資料項可以包括兩個不同組件之間的傳輸分組內的資訊單元。
本文中所描述的實施例提供一種用於改進記憶體系統或資料處理系統的資料輸入/輸出操作的設備和方法。
現在將參照附圖描述實施例,其中相同的元件符號表示相同的元件。
圖1示出根據本發明實施例的記憶體系統的實施例。圖2示出根據本發明的另一實施例的資料處理系統。
參照圖1和圖2,記憶體系統110可包括控制器130和記憶體裝置150。記憶體裝置150可包括能夠儲存從外部裝置(例如,圖2中所示的主機102)傳輸的資料的多個非揮發性記憶體單元。記憶體裝置150可根據來自主機102的請求輸出所儲存的資料。控制器130可控制在記憶體裝置150內執行的資料輸入/輸出操作並執行與主機102的資料通信。稍後將參照圖2和圖3描述包括在記憶體系統110中的組件。
參照圖1,記憶體系統110可包括多個非揮發性記憶體單元區域。例如,多個非揮發性記憶體單元區域包括第一非揮發性單元區域522和第二非揮發性單元區域524。
根據實施例,第一非揮發性單元區域522和第二非揮發性單元區域524可以包括不同的記憶體單元。例如,第一非揮發性單元區域522可以包括多個記憶體單元,每一記憶體單元能夠儲存多位資料,而第二非揮發性單元區域524可以包括多個記憶體單元,每一記憶體單元能夠儲存單一位資料。在另一示例中,第一非揮發性單元區域522和第二非揮發性單元區域524兩者可以包括能夠儲存多位資料的記憶體單元。在另一示例中,包括在第一非揮發性單元區域522中的多個記憶體單元中的每一者可以比包括在第二非揮發性單元區域524中的記憶體單元儲存具有更多數量的位的資料。
包括在記憶體系統110中的第一非揮發性單元區域522和第二非揮發性單元區域524可儲存不同類型的資料。例如,記憶體系統110中的第一非揮發性單元區域522可儲存從外部裝置傳輸的資料。第二非揮發性單元區域524可儲存儲存在第一非揮發性單元區域522中的資料的奇偶校驗資訊。這裡,奇偶校驗資訊可用於恢復由於在將多位資料編程在第一非揮發性單元區域522中的操作期間發生的中斷或錯誤而損壞的編程在第一非揮發性單元區域522中的資料。
編程多位資料的操作可在包括能夠儲存多位資料的記憶體單元的第一非揮發性單元區域522內以多級執行。根據實施例,記憶體系統110可執行兩步或多步資料編程操作以編程多位資料。在另一實施例中,記憶體系統110可執行模糊和精細(foggy and fine)資料編程操作以編程多位資料。稍後將參照圖7至圖9描述由儲存系統110執行的用於儲存多位資料的操作。
一次(one-shot)編程操作是這樣的操作,其中將多個ISPP步進脈衝相繼地施加到第一非揮發性單元區域522的特定字線以用於對非揮發性記憶體單元進行編程,直到用多位資料完全對該非揮發性記憶體單元進行了編程。在一次編程操作中,當透過特定字線執行單元編程操作時,可不透過另一字線執行另一單元編程操作。然而,隨著第一非揮發性單元區域522的集成度增加,當在對字線執行的編程操作之間不存在交插(interleaving)時,在聯接到與執行一次編程(即,施加有編程脈衝)的字線相鄰的字線的非揮發性記憶體單元中可發生相當大量的單元對單元干擾(cell-to-cell interference)。為了減小單元對單元干擾(例如,編程干擾)的影響,可使用兩步編程操作來將多位資料儲存在包括在第一非揮發性單元區域522中的非揮發性記憶體單元中。在兩步編程操作中,可首先經由特定字線將LSB資料編程在具有擦除狀態的閾值電壓的非揮發性記憶體單元中(第一步編程)。然後,可在將另一LSB資料編程在連接到與特定字線相鄰的另一字線的其它非揮發性記憶體單元中之後,將MSB資料編程到所述非揮發性記憶體單元中(第二步編程)。在LSB資料被編程在連接到多個字線的非揮發性記憶體單元中且然後MSB資料順序地被編程在其中之後,可減少單元對單元干擾。
在記憶體系統110中,透過兩步編程操作儲存在連接到多個字線的非揮發性記憶體單元中的資料的大小大於儲存在連接到單個字線的非揮發性記憶體單元中的資料的大小。花費在用於大量資料的兩步編程方法上的時間可能更長。如果記憶體系統110可成功地將多位資料中的部分資料編程在記憶體單元中,即使多位資料未完全被編程在記憶體單元中,記憶體系統110可確定針對所述部分資料的資料編程操作已完成且產生與所述部分資料相關聯的完成。特別地,當在第一非揮發性單元區域522中大量資料被編程在連接到多個字線的非揮發性記憶體單元中時,記憶體系統100可在成功完成第一步編程操作之後在成功完成第二步編程操作之前,通知已完成針對部分資料的資料編程操作。
在第一非揮發性單元區域522中的第一步編程操作完成之後,記憶體系統110可確定透過記憶體裝置150中的第一步編程操作部分資料被編程在第一非揮發性單元區域522中。例如,記憶體系統110可將關於與部分資料相關聯的編程命令的完成通知(或回應)傳輸到作為外部裝置的主機102(參照圖2到圖3)。透過此通知,主機102可確定在記憶體系統110中成功地完成了對應於編程命令的編程操作。
儘管在第一非揮發性單元區域522中完成了第一步編程操作,但可正在執行第二步編程操作,且可在正在執行第二步編程操作時發生記憶體系統110中的錯誤或中斷。在將LSB資料編程到包括在第一非揮發性單元區域522中的非揮發性記憶體單元中之後,在正在將MSB資料編程到非揮發性記憶體單元中時,編程操作可能異常地終止、暫停或停止。在此情況下,記憶體系統110應能夠確保透過第一步編程操作編程在第一非揮發性單元區域522中的LSB資料的安全性。也就是說,在將資料編程在記憶體系統110的第一非揮發性單元區域522中的操作期間,可能在第一非揮發性單元區域522中發生中斷(例如,意外錯誤、電力不穩定或緊急情況)。由於這種錯誤或中斷,可能無法完成整個將多位資料編程在記憶體系統110的第一非揮發性單元區域522中的操作。如果記憶體系統110針對與特定編程命令相關聯的特定、部分或全部編程資料將完成通知傳輸到主機102,那麼記憶體系統110可在非揮發性單元區域522中安全地儲存並恢復對應於所述完成通知的特定、部分或全部編程資料,以確保記憶體系統110中的資料輸入/輸出操作的安全性。
例如,當多位資料將被編程在第一非揮發性單元區域522中時,在多位資料中的最低有效位(LSB)資料已經首先被編程到第一非揮發性單元區域522中的記憶體單元中之後,將發送完成通知。在多位資料中的最低有效位(LSB)資料被編程之後,在多位資料中的最高有效位(MSB)資料被編程時,編程操作可能由於錯誤或中斷而停止。記憶體系統110可從第一非揮發性單元區域522讀取並恢復多位資料中的已被編程的LSB資料。然而,可能難以信任從第一非揮發性單元區域522讀取的LSB資料,因為編程操作突然停止。如果用於LSB資料的奇偶校驗資訊儲存在第二非揮發性單元區域524中,則記憶體系統110可基於從第二非揮發性單元區域524獲得的奇偶校驗資訊和從第一非揮發性單元區域522讀取的LSB資料來恢復LSB資料。
記憶體系統110可以包括奇偶校驗生成引擎(parity generation engine)510,其能夠基於儲存在第一非揮發性單元區域522中的特定、部分或全部編程資料生成待儲存在第二非揮發性單元區域524中的奇偶校驗資訊。根據實施例,奇偶校驗生成引擎510可以使用糾錯碼。然而,如果奇偶校驗生成引擎510執行用於生成奇偶校驗資訊的複雜操作,則記憶體系統110執行的編程操作的速度和性能可能降低或下降。因此,奇偶校驗生成引擎510可被設計為不劣化編程操作的速度和性能。
根據實施例,記憶體系統110可以使用即使在原始資料的多個位中發生錯誤也能夠恢復原始資料的晶片刪除解碼(chipkill decoding)。稍後將參照圖2和圖9描述記憶體系統110生成晶片刪除奇偶校驗的程序。例如,圖2中描述的糾錯電路(error correction circuitry, ECC)138可以執行晶片刪除解碼。例如,透過晶片刪除解碼,即使不能自主地恢復第一非揮發性單元區域522的一部分,記憶體系統110可基於儲存在其它區域中的其它資料來恢復和復原第一非揮發性單元區域522的所述部分。
記憶體系統110可將資料儲存在記憶體裝置150中,所述記憶體裝置150包括被配置為獨立(或廉價)磁碟的冗餘陣列(RAID)的第一非揮發性單元區域522和第二非揮發性單元區域524。當透過RAID方案使用具有大容量的單個卷(volume)時,記憶體系統110可以平行平行化磁碟的資料輸入/輸出(I/O)。例如,記憶體系統110可以在多個不同區域(例如,RAID5)中儲存5條資料,該5條資料包括4條具有相同大小(位數)的資料和1條基於該4條資料生成的奇偶校驗資料。根據實施例,記憶體系統110可在多個不同區域(例如,RAID6)中儲存具有相同大小(位數)的四條資料和基於該四條資料生成的兩條奇偶校驗資料(即,總共六條資料)。圖1中描述的奇偶校驗生成引擎510可基於多條寫入資料(write data)生成至少一條奇偶校驗資料。
例如,當四條寫入資料儲存在第一非揮發性單元區域522內的四個不同區域中時,奇偶校驗生成引擎510可基於四條資料生成一條奇偶校驗資料。該一條奇偶校驗資料可儲存在第二非揮發性單元區域524中。如果在儲存在第一非揮發性單元區域522中的四條寫入資料中的一條中出現錯誤,則奇偶校驗生成引擎510可基於儲存在第一非揮發性單元區域522中的四條寫入資料中的其它三條寫入資料和儲存在第二非揮發性單元區域524中的奇偶校驗資料來恢復四條寫入資料中出現錯誤的一條寫入資料。
當多位資料中的LSB資料被編程在第一非揮發性單元區域522中時,奇偶校驗生成引擎510可生成針對LSB資料的奇偶校驗資訊。例如,包括在第一非揮發性單元區域522中的記憶體單元可儲存三位資料。三位資料可被分成LSB資料,CSB資料和MSB資料。記憶體系統110可使用多步編程操作來順序地編程LSB資料,CSB資料和MSB資料。也就是說,LSB頁資料,CSB頁資料和MSB頁資料可順序的被編程到由同一字線連接的多個記憶體單元中。在此情況下,在LSB頁資料被編程第一非揮發性單元區域522中之後,奇偶校驗生成引擎510可將對應於LSB頁資料的奇偶校驗資訊儲存在第二非揮發性單元區域522中。稍後將參照圖11描述奇偶校驗生成引擎510的詳細操作。
根據實施例,奇偶校驗生成引擎510可僅針對從外部裝置(例如,主機102)傳輸並儲存在第一非揮發性單元區域522中的資料生成奇偶校驗資訊。例如,當在第一非揮發性單元區域522中透過垃圾收集或損耗均衡將資料從特定位置移動到另一位置時,奇偶校驗生成引擎510可不生成針對在記憶體系統110中內部(internally)移動或遷移的資料的奇偶校驗資訊。即使當資料透過垃圾收集或損耗均衡在第一非揮發性單元區域522內移動、複製或遷移時資料遷移由於錯誤或中斷而停止,資料仍儲存在第一非揮發性單元區域522中的先前位置處。因為丟失遷移資料的可能性非常低,所以記憶體系統110中的奇偶校驗生成引擎510可以不生成針對遷移資料的奇偶校驗資訊以提高記憶體系統110的操作效率。
根據本發明的實施例,針對在儲存多位資料的非揮發性記憶體單元中編程資料的操作通知早期完成(early completion),但所述多位資料可能未完全編程在所述非揮發性記憶體單元中。在這種情況下,該實施例可以提供一種用於基於儲存在非揮發性記憶體單元中的其它寫入資料以及與寫入資料和其它寫入資料相對應的奇偶校驗資訊來恢復該寫入資料的設備和方法。一種用於編程資料的設備可減小回應於正被編程的寫入資料而生成的奇偶校驗資訊的大小,且可將所述奇偶校驗資訊儲存在與其中編程所述寫入資料的區域不同的區域中。包括非揮發性記憶體單元的記憶體裝置可包括用於儲存寫入資料的多個區域和用於儲存對應於寫入資料的奇偶校驗的區域。
此外,用於在記憶體系統110中編程寫入資料的設備和方法可基於在非揮發性記憶體單元中編程的資料的特徵或屬性來確定是否生成奇偶校驗資訊。根據實施例,奇偶校驗資訊可以針對從外部裝置輸入的寫入資料而生成以被儲存在記憶體系統110中。然而,在複製、移動或遷移已儲存在記憶體系統110中的資料的程序中,奇偶校驗資訊可以不生成。例如,當記憶體系統110執行例如垃圾收集或損耗均衡的操作時,根據實施例的設備可不生成對應於在垃圾收集或損耗均衡的操作期間複製、移動或遷移的資料的奇偶校驗資訊。當將從主機102傳輸到記憶體系統110的寫入資料編程在記憶體裝置150中時,根據實施例的設備可生成關於該寫入資料的奇偶校驗資訊。
記憶體系統110可透過生成對應於最低有效位(LSB)的資料的奇偶校驗資訊來減小在編程操作期間生成的奇偶校驗資訊的大小,所述最低有效位是儲存在儲存多位資料的非揮發性記憶體單元中的寫入資料的一部分。因為奇偶校驗資訊的大小較小,所以可以減少在編程操作期間由於生成和儲存奇偶校驗資訊的操作而引起的開銷(overhead)。此外,隨著在編程操作期間生成的奇偶校驗資訊的大小減小,可以減小在諸如突然斷電(SPO)的緊急情況中用於備份資料的資料的大小。因此,在記憶體系統中生成奇偶校驗資訊的操作期間花費的揮發性記憶體裝置的儲存空間可以不大,使得儲存奇偶校驗資訊的非揮發性記憶體緩衝器的儲存空間可以不大。根據實施例,用於生成奇偶校驗資訊的設備可被包括在記憶體系統中的控制器中。在另一實施例中,用於生成奇偶校驗資訊的設備可被包括在包括非揮發性記憶體單元的記憶體晶粒中。
在下文中,將集中於在圖1和圖2到圖4中描述的控制器130與記憶體裝置150之間的在技術上可區分的操作或組件進行描述。具體地,將參照圖3至圖4更詳細地描述控制器130中的快閃轉換層(flash translation layer, FTL)240。根據實施例,可以改變控制器130中的快閃轉換層(flash translation layer, FTL)的角色和功能。
圖2和圖3示出根據本發明的一個或更多個實施例的可由記憶體系統110執行的一些操作。
參照圖2,資料處理系統100可以包括與記憶體系統(例如,記憶體系統110)接合或聯接的主機102。例如,主機102和記憶體系統110可經由資料匯流排、主機線纜等彼此聯接以執行資料通信。
記憶體系統110可包括記憶體裝置150和控制器130。記憶體系統110中的記憶體裝置150和控制器130可視為實體上彼此分離的組件或元件。記憶體裝置150和控制器130可經由至少一個資料路徑連接。例如,資料路徑可以包括通道和/或通路。
根據實施例,記憶體裝置150和控制器130可以是功能上分開的組件或元件。此外,根據實施例,記憶體裝置150和控制器130可用單個晶片或多個晶片來實現。控制器130可以回應於從外部裝置輸入的請求而執行資料輸入/輸出操作。例如,當控制器130回應於從外部裝置輸入的讀取請求而執行讀取操作時,儲存在記憶體裝置150中所包括的多個非揮發性記憶體單元中的資料被傳送到控制器130。
如圖2所示,記憶體裝置150可以包括多個記憶塊152、154、156。記憶塊152、154、156可理解為其中透過單個擦除操作一起移除資料的一組非揮發性記憶體單元。儘管未示出,但記憶塊152、154、156可以包括頁,頁為在單個編程操作期間一起儲存資料在或在單個讀取操作期間一起輸出資料的一組非揮發性記憶體單元。例如,一個記憶塊可以包括多個頁。
例如,記憶體裝置150可以包括多個記憶體平面或多個記憶體晶粒。根據實施例,記憶體平面可以被認為是包括至少一個記憶塊、能夠控制包括多個非揮發性記憶體單元的陣列的驅動電路、以及能夠臨時儲存輸入到非揮發性記憶體單元或從非揮發性記憶體單元輸出的資料的緩衝器的邏輯分區或實體分區。
此外,根據實施例,記憶體晶粒可以包括至少一個記憶體平面。記憶體晶粒可理解為在實體上可區分的基板上實現的一組組件。每個記憶體晶粒可以透過資料路徑連接到控制器130。每個記憶體晶粒可以包括用於與控制器130交換信號和資料項的介面。
根據實施例,記憶體裝置150可以包括至少一個記憶塊152、154、156,至少一個記憶體平面或至少一個記憶體晶粒。圖1和圖2中所示的記憶體裝置150的內部配置可根據記憶體系統110的性能而不同。本發明的實施例不限於圖2所示的內部配置。
參照圖2,記憶體裝置150可以包括電壓供應電路170,其能夠將至少一些電壓供應到記憶塊152、154、156中。電壓供應電路170可將讀取電壓Vrd,編程電壓Vprog、通過電壓Vpass或擦除電壓Vers供應到包括在記憶塊中的非揮發性記憶體單元中。例如,在用於讀取儲存在記憶塊152、154、156中所包括的非揮發性記憶體單元中的資料的讀取操作期間,電壓供應電路170可將讀取電壓Vrd供應到選定非揮發性記憶體單元中。在用於將資料儲存在包括在記憶塊152、154、156中的非揮發性記憶體單元中的編程操作期間,電壓供應電路170可將編程電壓Vprog供應到選定非揮發性記憶體單元中。此外,在對選定非揮發性記憶體單元執行讀取操作或編程操作期間,電壓供應電路170可將通過電壓Vpass供應到未選非揮發性記憶體單元中。在用於擦除儲存在包括在記憶塊152、154、156中的非揮發性記憶體單元中的資料的擦除操作期間,電壓供應電路170可將擦除電壓Vers供應到記憶塊中。
記憶體裝置150可儲存關於供應到記憶塊152、154、156的各種電壓的資訊,基於所述資訊來執行操作。例如,當記憶塊152、154、156中的非揮發性記憶體單元可儲存多位資料時,可能需要用於識別或讀取多位資料項的讀取電壓Vrd的多個位準。記憶體裝置150可包括包含對應於與多位資料項相對應的讀取電壓Vrd的多個位準的資訊的表。例如,該表可以包括儲存在暫存器中的偏置值,每個偏置值對應於讀取電壓Vrd的特定位準。針對用於讀取操作的讀取電壓Vrd的偏置值的數目可限於預設範圍。而且,偏置值可以被量化。
主機102可以包括可攜式電子裝置,例如行動電話、MP3播放器、筆記型電腦等,或者非可攜式電子裝置,例如台桌上型電腦、遊戲、電視機、投影儀等。
主機102還可以包括至少一個操作系統(operating system, OS),其可以控制在主機102中執行的功能和操作。OS可提供與記憶體系統110在操作上接合的主機102與打算將資料儲存在記憶體系統110中的使用者之間的互操作性。OS可以支援對應於使用者請求的功能和操作。作為示例而非限制,可根據主機102的移動性將OS分類為通用操作系統和移動操作系統。根據系統要求或使用者環境,通用操作系統可以分成個人操作系統和企業操作系統。與個人操作系統相比,企業操作系統可以專用於保護和支援高性能計算。
移動操作系統可以具有針對移動性的支援服務或功能,例如電力節省功能。主機102可以包括多個操作系統。主機102可對應於使用者的請求執行與記憶體系統110互鎖的多個操作系統。主機102可將對應於使用者請求的多個命令傳輸到記憶體系統110中,藉此在記憶體系統110內執行對應於所述多個命令的操作。
記憶體系統110中的控制器130可回應於從主機102輸入的請求或命令而控制記憶體裝置150。例如,控制器130可執行讀取操作以將從記憶體裝置150讀取的資料提供到主機102,且可執行寫入操作(或編程操作)以將從主機102輸入的資料儲存在記憶體裝置150中。為了執行資料輸入/輸出(I/O)操作,控制器130可以控制和管理讀取資料、編程資料、擦除資料等的內部操作。
根據實施例,控制器130可包括主機介面132、處理器134、糾錯電路(error correction circuitry, ECC)138、功率管理單元(power management unit, PMU)140、記憶體介面142和記憶體144。包括在如圖2所示的控制器130中的組件可根據關於記憶體系統110的結構、功能、操作性能等而變化。
例如,記憶體系統110可根據主機介面的協定以可與主機102電聯接的各種類型的儲存裝置中的任一者來實現。合適的儲存裝置的非限制性示例包括固態硬碟(solid state drive, SSD)、多媒體卡(multimedia card, MMC)、嵌入式MMC(embedded MMC, eMMC)、尺寸減小MMC(reduced size MMC, RS-MMC)、微MMC、安全數位(secure digital, SD)卡、迷你SD、微SD、通用串列匯流排(universal serial bus, USB)記憶體裝置、通用快閃儲存(universal flash storage, UFS)裝置、緊湊型快閃(compact flash, CF)卡、智慧媒體(smart media, SM)卡、記憶棒等。根據記憶體系統110的實現,可將組件添加到控制器130或從控制器130省略組件。
主機102和記憶體系統110各自可以包括用於根據一個或更多個預定協定來發送和接收信號、資料等的控制器或介面。例如,記憶體系統110中的主機介面132可以包括能夠將信號、資料等發送到主機102或從主機102接收信號、資料等的設備。
包括在控制器130中的主機介面132可以經由匯流排接收從主機102輸入的信號、命令(或請求)和/或資料。例如,主機102和記憶體系統110可使用用於資料通信的預定程序或規則集或預設介面來在其間發送和接收資料。主機102和記憶體系統110所支援的用於發送和接收資料的資料通信標準或介面的程序或規則集的示例包括通用串列匯流排(universal serial bus, USB)、多媒體卡(Multi-Media Card, MMC)、平行高級技術附件(Parallel Advanced Technology Attachment, PATA)、小型計算機系統介面(Small Computer System Interface, SCSI)、增強型小型磁碟介面(Enhanced Small Disk Interface, ESDI)、集成驅動電子設備(Integrated Drive Electronics, IDE)、高速外圍組件互連(Peripheral Component Interconnect Express, PCIe或PCI-e)、串列附接SCSI(Serial-attached SCSI, SAS)、串列高級技術附件(Serial Advanced Technology Attachment, SATA)、移動工業處理器介面(Mobile Industry Processor Interface, MIPI)等。根據實施例,主機介面132是用於與主機102交換資料的一種層,並且由被稱為主機介面層(host interface layer, HIL)的韌體來實現或驅動。根據實施例,主機介面132可以包括命令佇列。
集成驅動電子設備(Integrated Drive Electronics, IDE)或高級技術附件(Advanced Technology Attachment, ATA)可用作用於發送和接收資料的介面中的一者,且(例如)可使用包括並聯連接的40條導線的線纜來支援主機102與記憶體系統110之間的資料發送及資料接收。當多個記憶體系統110連接到單個主機102時,可透過使用多個記憶體系統110所連接到的位置或撥碼開關(dip switch)來將多個記憶體系統110劃分為主設備和從設備。設置為主設備的記憶體系統110可以用作主記憶體裝置。IDE(ATA)可以包括例如快速ATA、ATAPI或增強IDE(Enhanced IDE, EIDE)。
串列高級技術附件(Serial Advanced Technology Attachment, SATA)介面是一種與集成驅動電子設備(Integrated Drive Electronics, IDE)所使用的平行資料通信介面的各種ATA標準兼容的串列資料通信介面。IDE介面中的40條導線可以減少到SATA介面中的6條導線。例如,用於IDE的40個平行信號可以被轉換成用於SATA介面的6個串列信號。SATA介面由於其更快的資料發送和接收速率以及其更少的在主機102中用於資料發送和接收的資源消耗而被廣泛使用。SATA介面可以將多達30個外部裝置連接到包括在主機102中的單個收發器。此外,SATA介面可以支援熱插拔,即使在主機102和另一裝置之間的資料通信正在執行時,熱插拔允許外部裝置附接到主機102或從主機102拆卸。因此,記憶體系統110可如由通用串列匯流排(universal serial bus, USB)支援的裝置那樣,即使當主機102通電時也可作為附加裝置連接或斷開。例如,在具有eSATA端口的主機102中,記憶體系統110可像外部硬碟一樣自由地附接到主機102或從主機102拆卸。
小型計算機系統介面(Small Computer System Interface, SCSI)是一種用於將計算機或伺服器與其它外圍裝置連接的串列資料通信介面。與諸如IDE和SATA的其它介面相比,SCSI可以提供高傳輸速度。在SCSI中,主機102和至少一個外圍裝置(例如,記憶體系統110)串聯連接,但主機102與每一外圍裝置之間的資料發送和接收可透過平行資料通信來執行。在SCSI中,容易將例如記憶體系統110的裝置連接到主機102或從主機102斷開。SCSI可以支援15個其它裝置到包括在主機102中的單個收發器的連接。
串列附接SCSI(Serial Attached SCSI, SAS)可以理解為SCSI的串列資料通信版本。在SAS中,主機102和多個外圍裝置串聯連接,且主機102與每一外圍裝置之間的資料發送和接收可以串列資料通信方案執行。SAS可以透過串列線纜而不是平行線纜來支援主機102和外圍裝置之間的連接,以容易地管理使用SAS的設備並增強或改善操作可靠性和通信性能。SAS可支援八個外部裝置到包括在主機102中的單個收發器的連接。
高速非揮發性記憶體(Non-volatile memory express, NVMe)是一種至少基於高速外圍組件互連(Peripheral Component Interconnect Express, PCIe)的介面,其被設計成提高配備有非揮發性記憶體系統110的主機102、伺服器、計算裝置等的性能和設計靈活性。PCIe可以使用插槽或專用線纜來連接計算裝置(例如,主機102)和外圍裝置(例如,記憶體系統110)。例如,PCIe可以使用多個引腳(例如,18個引腳、32個引腳、49個引腳或82個引腳)和至少一條導線(例如,x1、x4、x8或x16)來實現每秒幾百MB的高速資料通信(例如,250MB/s、500MB/s、984.6250MB/s或1969MB/s)。根據實施例,PCIe方案可以實現每秒幾十到幾百千兆位的帶寬。NVMe可以支援比硬碟快的非揮發性記憶體系統110(例如SSD)的操作速度。
根據實施例,主機102和記憶體系統110可透過通用串列匯流排(universal serial bus, USB)連接。通用串列匯流排(universal serial bus, USB)是一種可擴展的、可熱插拔的即插即用串列介面,其可以在主機102和外圍裝置(例如,鍵盤、滑鼠、搖桿、印表機、掃描機、儲存裝置、資料機、攝影機等)之間提供成本高效的標準連接。多個外圍裝置(例如,記憶體系統110)可聯接到主機102中所包括的單個收發器。
參照圖2,糾錯電路138可糾正從記憶體裝置150讀取的資料的錯誤位,且可以包括糾錯碼(error correction code, ECC)編碼器和ECC解碼器。ECC編碼器可對將編程在記憶體裝置150中的資料執行糾錯編碼以生成其中添加了奇偶校驗位的經編碼資料,並將所述經編碼資料儲存在記憶體裝置150中。當控制器130讀取儲存在記憶體裝置150中的資料時,ECC解碼器可檢測並糾正包括在從記憶體裝置150讀取的資料中的錯誤位。例如,在對從記憶體裝置150讀取的資料執行糾錯解碼之後,糾錯電路138確定糾錯解碼是否成功,並基於糾錯解碼的結果輸出指令信號,例如,糾錯成功信號或糾錯失敗信號。糾錯電路138可使用在對儲存在記憶體裝置150中的資料的ECC編碼程序期間生成的奇偶校驗位,以便糾正讀取資料的錯誤位。當錯誤位的數目大於或等於可糾正錯誤位的數目時,糾錯電路138可以不糾正錯誤位,而是可以輸出指示糾正錯誤位失敗的糾正失敗信號。
根據實施例,糾錯電路138可基於諸如低密度奇偶校驗(low density parity check, LDPC)碼、博斯-喬赫裡-霍克文黑姆(Bose-Chaudhuri-Hocquenghem, BCH)碼、渦輪碼(turbo code)、裡德所羅門(Reed-Solomon, RS)碼、卷積碼、遞歸系統碼(recursive systematic code, RSC)、交織編碼調變(trellis-coded modulation, TCM)、塊編碼調變(Block coded modulation, BCM)等的編碼調變來執行糾錯操作。糾錯電路138可以包括用於基於上述代碼中的至少一個執行糾錯操作的所有電路、模組、系統和/或裝置。圖2所示的糾錯電路138可以包括圖1所示的控制器130中包括的組件中的至少一些。
例如,ECC解碼器可對從記憶體裝置150傳輸的資料執行硬判定解碼(hard decision decoding)或軟判定解碼。硬判定解碼可以被理解為針對糾錯被大致分類的兩種方法之一。硬判定解碼可以包括透過從記憶體裝置150中的非揮發性記憶體單元讀取“0”或“1”的數位資料來糾正錯誤位的操作。因為硬判定解碼處理二進制邏輯信號,所以電路/演算法設計或配置可以比軟判定解碼更簡單,並且處理速度可以比軟判定解碼更快。
軟判定解碼可透過兩個或更多個量化值(例如,多位資料、近似值、類比值等)來量化記憶體裝置150中的非揮發性記憶體單元的閾值電壓,以便基於所述兩個或更多個量化值來糾正錯誤位。控制器130可從記憶體裝置150中的多個非揮發性記憶體單元接收兩個或更多個字母(alphabet)或量化值,且接著基於透過將量化值表徵為例如條件概率或似然性的資訊的組合而生成的資訊來執行解碼。
根據實施例,ECC解碼器可以使用針對軟判定解碼設計的方法中的低密度奇偶校驗和生成器矩陣(lowdensity parity-check and generator matrix, LDPC-GM)碼。低密度奇偶校驗(low-density parity-check, LDPC)碼使用這樣一種演算法,該演算法可以根據可靠性以數個位從記憶體裝置150讀取資料值(而不是像硬判定解碼那樣簡單地讀取1或0的資料),並且透過消息交換迭代地對其重複以便提高值的可靠性。然後,這些值最終被確定為1或0的資料。例如,使用LDPC碼的解碼演算法可以理解為概率解碼。在硬判定解碼中,從非揮發性記憶體單元輸出的值被解碼為0或1。與硬判定解碼相比,軟判定解碼可以基於隨機資訊確定儲存在非揮發性記憶體單元中的值。關於可被視為可在記憶體裝置150中發生的錯誤的位翻轉,軟判定解碼可提供改進的糾正錯誤和恢復資料的概率,以及提供經糾正資料的可靠性和穩定性。LDPC-GM碼可以具有其中內部LDGM碼可以與高速LDPC碼串聯級聯的方案。
根據實施例,ECC解碼器可將例如低密度奇偶校驗卷積碼(low-density parity-check convolutional codes, LDPC-CC)用於軟判定解碼。LDPC-CC可以具有使用基於可變塊長度和移位暫存器的線性時間編碼和流水線解碼的方案。
根據實施例,ECC解碼器可以使用例如對數似然比渦輪碼(Log Likelihood Ratio Turbo Code, LLR-TC)用於軟判定解碼。對數似然比(Log Likelihood Ratio, LLR)可以被計算為採樣值和理想值之間的距離的非線性函數。此外,渦輪碼(Turbo Code, TC)可以包括二維或三維的簡單碼,例如漢明碼,並且在列方向和行方向上重複解碼以提高值的可靠性。
功率管理單元(power management unit, PMU)140可以控制提供給控制器130的電力。PMU 140可監視供應到記憶體系統110的電力(例如,供應到控制器130的電壓),且將所述電力提供到包括在控制器130中的組件。PMU 140不僅可檢測通電或斷電,而且還可產生觸發信號以使記憶體系統110能夠在供應到記憶體系統110的電力不穩定時緊急備份當前狀態。根據一個實施例,PMU 140可包括能夠蓄積可在緊急情況下使用的電力的裝置或組件。
記憶體介面142可用作用於處理在控制器130與記憶體裝置150之間傳送的命令和資料的介面,以便允許控制器130回應於從主機102輸入的命令或請求而控制記憶體裝置150。記憶體介面142可產生用於記憶體裝置150的控制信號,且可在記憶體裝置150為快閃記憶體的情況下在處理器134的控制下處理輸入到記憶體裝置150或從記憶體裝置150輸出的資料。
例如,當記憶體裝置150包括NAND快閃記憶體時,記憶體介面142包括NAND快閃控制器(NAND flash controller, NFC)。記憶體介面142可提供用於處理控制器130與記憶體裝置150之間的命令和資料的介面。根據實施例,記憶體介面142可透過被稱為快閃介面層(Flash Interface Layer, FIL)的韌體來實現或由其驅動以用於與記憶體裝置150交換資料。
根據實施例,記憶體介面142可支援用於記憶體裝置150的資料輸入/輸出的開放NAND快閃介面(open NAND flash interface, ONFi)、觸發模式等。例如,ONFi可以使用包括至少一條信號線的資料路徑(例如,通道、通路等),該信號線能夠支援以8位或16位資料為單位的雙向發送和接收。控制器130與記憶體裝置150之間的資料通信可透過關於異步單資料速率(single data rate, SDR)、同步雙資料速率(double data rate, DDR)、切換雙資料速率(double data rate, DDR)等的至少一個介面來實現。
記憶體144可用作記憶體系統110或控制器130的工作記憶體,同時臨時儲存在記憶體系統110和控制器130中執行的操作的事務資料。例如,記憶體144可在將回應於來自主機102的讀取請求從記憶體裝置150輸出的讀取資料輸出到主機102之前而臨時儲存讀取資料。另外,控制器130可在將寫入資料編程到記憶體裝置150中之前將從主機102輸入的寫入資料臨時儲存在記憶體144中。當控制器130控制記憶體裝置150的操作(例如,資料讀取操作、資料寫入或編程操作、資料擦除操作等)時,在記憶體系統110的控制器130與記憶體裝置150之間傳輸的資料可臨時儲存在記憶體144中。
除讀取資料或寫入資料之外,記憶體144可儲存用於在主機102與記憶體裝置150之間輸入或輸出資料的資訊,例如映射資料、讀取請求、編程請求等。根據實施例,記憶體144可以包括命令佇列、程序記憶體、資料記憶體、寫入緩衝器/快取、讀取緩衝器/快取、資料緩衝器/快取、映射緩衝器/快取等中的一個或更多個。控制器130可以在記憶體144中為被建立以執行資料輸入/輸出操作的組件分配一些儲存空間。例如,建立在記憶體144中的寫入緩衝器可用於臨時儲存進行編程操作的目標資料。
在實施例中,記憶體144可以用揮發性記憶體來實現。例如,記憶體144可以用靜態隨機存取記憶體(static random access memory, SRAM)、動態隨機存取記憶體(dynamic random access memory, DRAM)或兩者來實現。雖然圖2示出了例如設置在控制器130內的記憶體144,但是實施例不限於此。記憶體144可以位於控制器130內部或外部。例如,記憶體144可以由具有在記憶體144和控制器130之間傳送資料和/或信號的記憶體介面的外部揮發性記憶體來實現。
處理器134可控制記憶體系統110的整體操作。例如,處理器134可回應於從主機102輸入的寫入請求或讀取請求而控制記憶體裝置150的編程操作或讀取操作。根據實施例,處理器134可執行韌體以控制記憶體系統110中的編程操作或讀取操作。這裡,韌體可被稱為快閃轉換層(flash translation layer, FTL)。將參照圖3和圖4詳細描述FTL的示例。根據實施例,處理器134可以用微處理器、中央處理單元(central processing unit, CPU)等來實現。
根據實施例,記憶體系統110可以用至少一個多核處理器來實現。多核處理器是其中集成了被認為是不同處理區域的兩個或更多個核的一種電路或晶片。例如,當多核處理器中的多個核獨立地驅動或執行多個快閃轉換層(flash translation layer, FTL)時,可以提高記憶體系統110的資料輸入/輸出速度(或性能)。根據實施例,可以透過多核處理器中的不同核來獨立地執行記憶體系統110中的資料輸入/輸出(input/output, I/O)操作。
控制器130中的處理器134可執行對應於從主機102輸入的請求或命令的操作。此外,記憶體系統110可獨立於從主機102輸入的命令或請求而執行操作。在一種情況下,由控制器130回應於從主機102輸入的請求或命令而執行的操作可被認為是前台操作,而由控制器130獨立於從主機102輸入的請求或命令而執行的操作可被認為是後台操作。控制器130可執行用於讀取、寫入或擦除記憶體裝置150中的資料的前台或後台操作。此外,對應於作為從主機102發送的設置命令的設置參數命令或設置特徵命令的參數設置操作可被認為是前台操作。可由控制器130在沒有從主機102發送的命令的情況下執行的後台操作包括垃圾收集(garbage collection, GC)、損耗均衡(wear leveling, WL)、用於標識和處理壞塊的壞塊管理等。
根據實施例,可以執行實質上類似的操作作為前台操作和後台操作兩者。例如,當記憶體系統110回應於從主機102輸入的請求或命令而執行垃圾收集(例如,手動GC)時,可將垃圾收集視為前台操作。當記憶體系統110獨立於主機102執行垃圾收集(例如,自動GC)時,可將垃圾收集視為後台操作。
當記憶體裝置150包括各自包括多個非揮發性記憶體單元的多個晶粒(或多個晶片)時,控制器130可執行關於從主機102輸入的多個請求或命令的平行處理,以便改進記憶體系統110的性能。例如,可將所發送的請求或命令劃分為包括記憶體裝置150中所包括的多個平面、多個晶粒或多個晶片中的至少一些的多個組,且在每一平面、每一晶粒或每一晶片中單獨地或平行地處理多個組的請求或命令。
控制器130中的記憶體介面142可透過至少一個通道和至少一個通路連接到記憶體裝置150中的多個晶粒或晶片。當控制器130回應於與包括非揮發性記憶體單元的多個頁相關聯的請求或命令而透過每個通道或每個通路將資料分配並儲存在多個晶粒中時,可在多個晶粒或平面中同時或平行地執行對應於所述請求或命令的多個操作。這種處理方法或方案可以被認為是交插方法。因為記憶體系統110的資料輸入/輸出速度透過以交插方法操作而增加,所以可改進記憶體系統110的資料I/O性能。
作為示例而非限制,控制器130可識別與記憶體裝置150中所包括的多個晶粒相關聯的多個通道(或通路)的狀態。控制器130可以將每個通道或每個通路的狀態確定為忙碌狀態、就緒狀態、活動狀態、空閒狀態、正常狀態和異常狀態之一。控制器對指令(和/或資料)透過哪一通道或通路傳遞的確定可與實體塊位址相關聯。控制器130可參照從記憶體裝置150傳遞的描述符。描述符可包括描述關於記憶體裝置150的某物的參數的塊或頁。描述符可以具有預定的格式或結構。例如,描述符可以包括裝置描述符、配置描述符、單元描述符等。控制器130可以參照或使用描述符來確定使用哪個(些)通道或通路來交換指令或資料。
參照圖2,記憶體系統110中的記憶體裝置150可以包括多個記憶塊152、154、156。多個記憶塊152、154、156中的每一者包括多個非揮發性記憶體單元。根據實施例,記憶塊152、154、156可以是一起進行擦除的一組非揮發性記憶體單元。記憶塊152、154、156可包括作為一起進行讀取或編程的一組非揮發性記憶體單元的多個頁。
在實施例中,每個記憶塊152、154或156可以具有三維堆疊結構以用於高集成度。此外,記憶體裝置150可以包括多個晶粒,每一晶粒包括多個平面,每一平面包括多個記憶塊152、154、156。記憶體裝置150的配置可依據記憶體系統110的性能而改變。
圖2示出包括多個記憶塊152、154和156的記憶體裝置150。根據可儲存於一個記憶體單元中的位的數目,多個記憶塊152、154和156可為單級單元(single-level cell, SLC)記憶塊、多級單元(multi-level cell, MLC)記憶塊等中的任一者。SLC記憶塊包括由記憶體單元實現的多個頁,每一記憶體單元儲存一位資料。SLC記憶塊可以具有比MLC記憶塊更高的資料I/O操作性能和更高的耐久性。MLC記憶塊包括由記憶體單元實現的多個頁,每一記憶體單元儲存多位資料,例如,兩位或更多位資料。與SLC記憶塊相比,MLC記憶塊對於相同的空間可以具有更大的儲存容量。考慮到儲存容量,MLC記憶塊可以是高度集成的。
在實施例中,記憶體裝置150可用MLC記憶塊(例如,雙級單元(double level cell, DLC)記憶塊、三級單元(triple-level cell, TLC)記憶塊、四級單元(quadruple-level cell, QLC)記憶塊)及其組合來實現。DLC記憶塊可以包括由記憶體單元實現的多個頁,每個記憶體單元能夠儲存2位資料。TLC記憶塊可以包括由記憶體單元實現的多個頁,每個記憶體單元能夠儲存3位資料。QLC記憶塊可以包括由記憶體單元實現的多個頁,每個記憶體單元能夠儲存4位資料。在另一實施例中,記憶體裝置150可用包括由記憶體單元實現的多個頁的塊來實現,每一記憶體單元能夠儲存五位或更多位資料。
根據實施例,控制器130可使用包括在記憶體裝置150中的MLC記憶塊作為在一個記憶體單元中儲存一位資料的SLC記憶塊。多級單元(multi-level cell, MLC)記憶塊的資料輸入/輸出速度可以比SLC記憶塊的資料輸入/輸出速度慢。也就是說,當MLC記憶塊用作SLC記憶塊時,可以減小讀取或編程操作的裕量(margin)。例如,當MLC記憶塊用作SLC記憶塊時,控制器130可以以更高的速度執行資料輸入/輸出操作。因此,控制器130可使用MLC記憶塊作為SLC緩衝器來臨時儲存資料,因為緩衝器可能需要高資料輸入/輸出速度來改進記憶體系統110的性能。
此外,根據實施例,控制器130可多次將資料編程在MLC中,而不對記憶體裝置150中所包括的特定MLC記憶塊執行擦除操作。一般來說,非揮發性記憶體單元不支援資料重寫。然而,控制器130可使用MLC能夠儲存多位資料的特徵多次將1位資料編程在MLC。對於MLC重寫操作,當在MLC中編程1位資料時,控制器130可將編程次數儲存為單獨的操作資訊。根據實施例,可在將另一1位資料編程於相同MLC中(每一MLC已儲存1位資料)之前執行用於均勻地均衡MLC的閾值電壓的操作。
在實施例中,記憶體裝置150實現為非揮發性記憶體,例如快閃記憶體,例如NAND快閃記憶體、NOR快閃記憶體等。在另一實施例中,記憶體裝置150可由相變隨機存取記憶體(phase change random access memory, PCRAM)、鐵電隨機存取記憶體(ferroelectrics random access memory, FRAM)、轉移力矩隨機存取記憶體(transfer torque random access memory, STT-RAM)和自旋轉移力矩磁性隨機存取記憶體(spin transfer torque magnetic random access memory, STT-MRAM)等中的至少一者實現。
參照圖3,記憶體系統中的控制器130與主機102和記憶體裝置150一起操作。如圖所示,控制器130包括主機介面132、快閃轉換層(flash translation laye, FTL)240、記憶體介面142和之前參照圖2標識的記憶體144。
根據實施例,圖2所示的糾錯電路138可以包括在快閃轉換層(flash translation laye, FTL)240中。在另一實施例中,糾錯電路138可被實現為包括在控制器130中或與控制器130相關聯的單獨的模組、電路、韌體等。
主機介面132可以處理從主機102發送的命令、資料等。作為示例而非限制,主機介面132可包括命令佇列56、緩衝器管理器52和事件佇列54。命令佇列56可順序地儲存從主機102接收的命令、資料等,並例如以它們儲存在命令佇列56中的順序將它們輸出到緩衝器管理器52。緩衝器管理器52可對從命令佇列56接收的命令、資料等進行分類、管理或調整。事件佇列54可以順序地發送用於處理從緩衝器管理器52接收的命令、資料等的事件。
多個具有相同特性的命令或資料可從主機102發送,或多個具有不同特性的命令和資料可在由主機102混合或混亂之後發送到記憶體系統110。例如,可傳遞用於讀取資料的多個命令(即,讀取命令),或可將用於讀取資料的命令(即,讀取命令)和用於編程/寫入資料的命令(即,寫入命令)交替地發送到記憶體系統110。主機介面132可以順序地將從主機102發送的命令、資料等儲存在命令佇列56中。此後,主機介面132可以根據已經從主機102發送的命令、資料等的特性來估計或預測控制器130將執行什麼類型的內部操作。主機介面132可以基於命令、資料等的特性來確定它們的處理次序和優先級。
根據從主機102發送的命令、資料等的特性,主機介面132中的緩衝器管理器52被配置為確定緩衝器管理器52是否應將命令、資料等儲存在記憶體144中,或緩衝器管理器52是否應將命令、資料等傳遞到快閃轉換層(flash translation laye, FTL)240。事件佇列54接收從緩衝器管理器52發送的將回應於命令、資料等由記憶體系統110或控制器130內部執行和處理的事件,並且按照輸入到事件佇列54的事件的順序將事件傳遞到快閃轉換層(flash translation laye, FTL)240。
根據實施例,圖3所示的快閃轉換層(flash translation laye, FTL)240可實現多線程方案以執行資料輸入/輸出(I/O)操作。可以透過包括在控制器130中的使用多線程的多核處理器來實現多線程FTL。
根據實施例,快閃轉換層(flash translation laye, FTL)240可以包括主機請求管理器(host request manager, HRM)46、映射管理器(map manager, MM)44、狀態管理器42和塊管理器48。主機請求管理器(host request manager, HRM)46可以管理從事件佇列54發送的事件。映射管理器(map manager, MM)44可以處理或控制映射資料。狀態管理器42可執行垃圾收集(garbage collection, GC)或損耗均衡(wear leveling, WL)。塊管理器48可對記憶體裝置150中的塊執行命令或指令。
作為示例而非限制,主機請求管理器(host request manager, HRM)46可以使用映射管理器(map manager, MM)44和塊管理器48來根據從主機介面132傳遞的讀取和編程命令和事件來應對或處理請求。主機請求管理器(host request manager, HRM)46可向映射管理器(map manager, MM)44發送查詢請求,以確定對應於隨事件輸入的邏輯位址的實體位址。主機請求管理器(host request manager, HRM)46可將具有實體位址的讀取請求發送到記憶體介面142以處理讀取請求,即處理事件。在一個實施例中,主機請求管理器(host request manager, HRM)46可向塊管理器48發送編程請求(或寫入請求)以將資料編程到記憶體裝置150中未儲存資料的特定空頁,且然後可將對應於所述編程請求的映射更新請求傳輸到映射管理器(map manager, MM)44,以便在將邏輯位址與實體位址彼此映射的資訊中更新與經編程的資料相關的項目。
塊管理器48可將從主機請求管理器(host request manager, HRM)46、映射管理器(map manager, MM)44和/或狀態管理器42傳遞的編程請求轉換成用於記憶體裝置150的快閃編程請求,以便管理記憶體裝置150中的快閃塊。為了最大化或增強記憶體系統110的編程或寫入性能,塊管理器48可收集編程請求並將用於多平面和一次編程操作的快閃編程請求發送到記憶體介面142。在實施例中,塊管理器48向記憶體介面142發送數個快閃編程請求,以增強或最大化多通道和多向快閃控制器的平行處理。
在實施例中,塊管理器48可根據有效頁的數目來管理記憶體裝置150中的塊,當需要空閒塊時選擇並擦除不具有有效頁的塊,且當確定將執行垃圾收集時選擇包括最小數目的有效頁的塊。狀態管理器42可執行垃圾收集以將儲存在選定塊中的有效資料移動到空塊並擦除儲存在選定塊中的資料,使得記憶體裝置150可具有足夠的空閒塊(即,無資料的空塊)。當塊管理器48向狀態管理器42提供關於待擦除的塊的資訊時,狀態管理器42可檢查待擦除的塊的所有快閃頁以確定塊的每一頁是否有效。
例如,為了確定每個頁的有效性,狀態管理器42可以識別記錄在每個頁面的帶外(out-of-band, OOB)區域中的邏輯位址。為了確定每個頁是否有效,狀態管理器42可以將頁的實體位址與映射到從查詢請求獲得的邏輯位址的實體位址進行比較。狀態管理器42針對每個有效頁向塊管理器48發送編程請求。當編程操作完成時,映射表可以由映射管理器44更新。
映射管理器44可以管理映射資料,例如邏輯-實體映射表。映射管理器44可以處理由主機請求管理器(host request manager, HRM)46或狀態管理器42生成的各種請求,例如查詢、更新等。映射管理器44可將整個映射表儲存在記憶體裝置150(例如,快閃/非揮發性記憶體)並且根據記憶體144的儲存容量對映射條目進行快取。當在處理查詢或更新請求時發生映射快取未命中時,映射管理器44可向記憶體介面142發送讀取請求以加載儲存在記憶體裝置150中的相關映射表。當映射管理器44中的髒快取塊(dirty cache block)的數目超過某一閾值時,可將編程請求發送到塊管理器48,使得產生淨快取塊(clean cache block)且可將髒映射表儲存在記憶體裝置150中。
當執行垃圾收集時,狀態管理器42將有效頁複製到空閒塊中,且主機請求管理器(host request manager, HRM)46可能針對頁的相同邏輯位址對資料的最新版本進行編程且同時發出更新請求。當狀態管理器42在有效頁的複製沒有正常完成的狀態下請求映射更新時,映射管理器44可以不執行映射表更新。這是因為當狀態管理器42請求映射更新並且稍後完成有效頁複製時,映射請求以舊的實體資訊發出。映射管理器44可在或僅在最新映射表仍指向舊實體位址時執行映射更新操作以確保準確性。
圖4示出根據本發明的實施例的圖1至圖3所示的控制器的內部配置。
參照圖4,控制器130中的快閃轉換層(flash translation laye, FTL)240可分為三層:位址轉換層ATL;虛擬快閃層VFL;以及快閃介面層FIL。
例如,位址轉換層ATL可以將從文件系統發送的邏輯位址LA轉換為邏輯頁位址。位址轉換層ATL可以執行關於邏輯位址空間的位址轉換處理。也就是說,位址轉換層ATL可基於將快閃記憶體140的邏輯頁位址LPA映射到從主機發送的邏輯位址LA的映射資訊來執行位址轉換程序。這樣的邏輯到邏輯位址映射資訊(以下稱為L2L映射)可以被儲存在記憶體裝置150中的其中儲存元資料的區域中。
虛擬快閃層VFL可以將由位址轉換層ATL映射的邏輯頁位址LPA轉換為虛擬頁位址VPA。此處,虛擬頁位址VPA可對應於虛擬記憶體裝置的實體位址。也就是說,虛擬頁位址VPA可對應於記憶體裝置150中的記憶塊60。如果在記憶體裝置150中的記憶塊60中存在壞塊,那麼壞塊可透過虛擬快閃層VFL排除。此外,虛擬快閃層VFL可包括用於掃描掃描區域以恢復儲存在記憶體裝置150中的邏輯到虛擬位址映射資訊(L2V映射)和用於儲存使用者資料的資料區域中的映射資訊的恢復演算法。恢復演算法可以能夠恢復邏輯到虛擬位址映射資訊(L2V映射)。虛擬快閃層VFL可基於透過恢復演算法恢復的邏輯到虛擬位址映射資訊(L2V映射)來執行關於虛擬位址空間的位址轉換處理。
快閃介面層FIL可將虛擬快閃層VFL的虛擬頁位址轉換為記憶體裝置150的實體頁位址。快閃介面層FIL執行用於與記憶體裝置150對接的低層操作。例如,快閃介面層FIL可以包括用於控制記憶體裝置150的硬體的低層驅動器,用於檢查和糾正從記憶體裝置150傳輸的資料中的錯誤的糾錯碼(error correction code, ECC),以及用於執行例如壞塊管理(Bad Block Management, BBM)的操作的模組。
圖5示出根據本發明實施例的用於確認記憶體系統中所包括的平面的操作狀態和操作結果的操作時序。具體來說,圖5示意性地示出根據本發明實施例的記憶體裝置150中所包括的記憶體晶粒或記憶體平面中的記憶體單元陣列電路。
參照圖5,記憶體裝置150可以包括具有多個單元串340的至少一個記憶體組330。每一單元串340可以包括連接到多個位線BL0到BLm-1中的相應一者的多個非揮發性記憶體單元MC0到MCn-1。單元串340設置在記憶體組330的相應列中,且每一單元串340可包括至少一個汲極選擇電晶體DST和至少一個源極選擇電晶體SST。每一單元串340的非揮發性記憶體單元MC0到MCn-1可串聯連接在汲極選擇電晶體DST與源極選擇電晶體SST之間。非揮發性記憶體單元MC0到MCn-1中的每一者可被配置為儲存每單元具有多個位的資料項的多級單元(multi-level cell, MLC)。單元串340可電連接到位線BL0到BLm-1中的對應位線。
在圖5所示的實施例中,記憶體組330可以包括NAND型快閃記憶體單元MC0至MCn-1。在另一實施例中,記憶體組330可實現為NOR型快閃記憶體、其中混合或組合至少兩種不同類型的記憶體單元的混合快閃記憶體、或其中控制器嵌入在單個記憶體晶片中的單晶片NAND快閃記憶體。在實施例中,記憶體組330可包括快閃記憶體單元,所述快閃記憶體單元包括電荷捕捉快閃(charge trap flash, CTF)層,所述電荷捕捉快閃(charge trap flash, CTF)層包括導電浮動閘極或絕緣層。
圖5示出可以包括記憶體裝置150的記憶體系統110的實施例。在此實施例中,記憶體裝置150中的記憶體組330可以包括一個或更多個記憶塊152、154、156。根據實施例,記憶體裝置150可具有二維(two-dimensional, 2D)或三維(threedimensional, 3D)結構。例如,記憶體裝置150中的記憶塊152、154、156中的每一者可實現為3D結構或垂直結構。記憶塊152、154、156中的每一者可具有沿第一到第三方向(例如,x軸方向,y軸方向及z軸方向)延伸的三維結構。
包括多個記憶塊152、154、156的記憶體組330可聯接到多個位線BL,多個串選擇線SSL和多個汲極選擇線DSL,多個字線WL,多個虛設字線DWL和多個公共源極線CSL。在實施例中,記憶體組330可包括例如可分別對應於各單元串340的多個NAND串NS。每一NAND串NS可包括多個記憶體單元MC且可連接到位線BL中的相應一者。另外,每一NAND串NS的串選擇電晶體SST可連接到公共源極線CSL,且每一NAND串NS的汲極選擇電晶體DST可連接到對應位線BL。在每一NAND串NS中,記憶體單元MC可佈置在串選擇電晶體SST與汲極選擇電晶體DST之間。
參照圖5,記憶體裝置150可以包括電壓供應電路170,其可根據操作模式為相應字線供應字線電壓(例如,一個或更多個預定電壓,例如,編程電壓、讀取電壓和通過電壓),或可將電壓供應到其中形成包括記憶體單元MC的每一記憶塊的塊體(例如,阱區)。在這種情況下,可以在控制電路180的控制下執行電壓供應電路170的電壓生成操作。此外,電壓供應電路170可生成多個可變讀取電壓以將多個資料項彼此區分。可將所述多個可變讀取電壓施加到記憶體組330中的非揮發性記憶體單元。
回應於控制電路的控制,可選擇記憶體單元陣列的記憶塊(或扇區)中的一者,且可選擇選定記憶塊的字線中的一者。字線電壓可獨立地供應到選定字線和未選字線。電壓供應電路170可包括用於產生具有各種位準的目標電壓的電壓生成電路(例如,參照圖6到8)。
在實施例中,電壓供應電路170可聯接到接收從外部(例如,外部裝置)施加的第一電源電壓VCC的第一引腳或焊盤及接收從外部裝置施加的第二電源電壓VPP的第二引腳或焊盤。第二電源電壓VPP可以具有是第一電源電壓VCC的電壓位準的兩倍或更高的電壓位準。例如,第一電源電壓VCC可以具有2.0V到5.5V的電壓位準,而第二電源電壓可以具有9V到13V的電壓位準。
根據實施例,電壓供應電路170可以包括電壓生成電路,其用於更快速地產生記憶體組330中使用的各種位準的目標電壓。電壓生成電路可使用第二電源電壓VPP來產生目標電壓,其可具有比第二電源電壓VPP高的電壓位準。
記憶體裝置150還可以包括由控制電路180控制的讀/寫電路320。根據操作模式,讀/寫電路320可以用作讀出放大器或寫入驅動器。例如,在驗證操作和讀取操作中,讀/寫電路320可用作用於從記憶體單元陣列讀取資料項的讀出放大器。在編程操作中,讀/寫電路320可用作寫入驅動器,其根據待儲存於記憶體單元陣列中的資料項來控制位線的電位。讀/寫電路320可在編程操作期間從頁緩衝器接收待編程到單元陣列的資料項。讀/寫電路320可以基於輸入的資料項驅動位線。為此,讀/寫電路320可包括多個頁緩衝器(PB)322、324、326,其中每一頁緩衝器對應於每一列(或每一位線)或每一列對(或每一位線對)。根據實施例,多個鎖存器可包括在頁緩衝器322、324、326中的每一者中。
頁緩衝器322、324、326可透過多個匯流排BUS聯接到資料輸入/輸出裝置(例如,串列化電路或串列器)。當頁緩衝器322、324、326中的每一者透過不同匯流排聯接到資料輸入/輸出裝置時,可減少在來自頁緩衝器322、324、326的資料傳輸中可能發生的延遲。例如,每個頁緩衝器322、324、326可以在沒有等待時間的情況下執行資料傳輸。
根據實施例,記憶體裝置150可接收寫入命令、寫入資料和關於寫入資料將儲存於其中的位置的資訊(例如,實體位址)。控制電路180使電壓供應電路170產生用於回應於寫入命令而執行的編程操作的編程脈衝、通過電壓等,且產生用於在編程操作之後執行的檢驗操作的一個或更多個電壓。
當多位資料項被編程在包括在記憶體組330中的非揮發性記憶體單元中時,錯誤率可能高於當單位資料項被儲存在非揮發性記憶體單元中時的錯誤率。例如,可能由於單元對單元干擾(cell-to-cell interference, CCI)而引起非揮發性記憶體單元中的錯誤。為了減小非揮發性記憶體單元中的錯誤,應減小非揮發性記憶體單元之間對應於所儲存的資料項的閾值電壓分佈的寬度(偏差)。
為此,記憶體裝置150可執行增量步進脈衝編程(incremental step pulse programming, ISPP)操作以有效地形成非揮發性記憶體單元的窄閾值電壓分佈。在實施例中,記憶體裝置150可將ISPP操作用於多步編程操作。例如,記憶體裝置150可根據非揮發性記憶體單元或頁之間的預定次序將編程操作劃分為最低有效位(Least Significant BitLSB)編程操作和最高有效位(Most Significant Bit, MSB)操作。
圖6示出根據本發明實施例的如何在記憶體裝置中編程多位資料的第一示例。具體地,圖6示出了用於在非揮發性記憶體單元中儲存2位資料的兩步編程操作。
參照圖6,非揮發性記憶體單元可在執行資料編程操作之前具有擦除狀態的閾值電壓。當執行第一步編程操作時,可將LSB資料編程到非揮發性記憶體單元中。此後,當執行第二步編程操作時,MSB資料可被編程到非揮發性記憶體單元中。透過第一步編程操作和第二步編程操作,非揮發性記憶體單元的閾值電壓變成四個不同位準ER,P1,P2,P3之一。非揮發性記憶體單元可具有的四個不同閾值電壓位準ER,P1,P2,P3可對應於'11','01','00'和'10'的不同2位資料。
記憶體裝置150可花費較長時間來儲存多位資料。如參照圖1所述,當成功完成第一步編程操作時,記憶體裝置150可向控制器130發送關於LSB資料的完成通知(LSB DATA COMPLETION)。此後,記憶體裝置150可透過第二步編程操作對MSB資料進行編程。當成功完成第二步編程操作時,記憶體裝置150可通知關於MSB資料的完成(MSB DATA COMPLETION)。
圖7示出根據本發明實施例的如何在記憶體裝置中編程多位資料的第二示例。具體地,圖7示出了用於在非揮發性記憶體單元中儲存3位資料的兩步編程操作。
參照圖7,非揮發性記憶體單元可在執行資料編程操作之前具有擦除狀態的閾值電壓。當執行第一步編程操作時,可將LSB資料編程到非揮發性記憶體單元中。此後,當執行第二步編程操作時,可將CSB資料和MSB資料編程在非揮發性記憶體單元中。在執行第一步編程操作和第二步編程操作之後,非揮發性記憶體單元的閾值電壓可具有八個不同位準中的一者。此處,非揮發性記憶體單元可具有的八個不同閾值電壓位準可指示“111”,“011”,“101”,“001”,“110”,“010”,“100”和“000”的三位資料。
記憶體裝置150可花費較長時間來儲存多位資料。如參照圖1所述,當成功完成第一步編程操作時,記憶體裝置150可通知關於LSB資料的完成通知(LSB DATA COMPLETION)。此後,記憶體裝置150可透過第二步編程操作對CSB資料和MSB資料進行編程。當成功完成第二步編程操作時,記憶體裝置150可針對CSB資料和MSB資料提供完成通知(MSB DATA COMPLETION)。
儘管已在圖7中描述可透過兩步編程操作在非揮發性記憶體單元中編程3位資料,但根據另一實施例可透過三步編程操作編程3位資料。例如,當在三步編程操作中進行編程時,記憶體裝置150可傳送關於LSB資料,CSB資料和MSB資料中的每一者的每一完成通知。
圖8示出根據本發明實施例的如何在記憶體裝置中編程多位資料的第三示例。具體地,圖8示出了用於在非揮發性記憶體單元中儲存3位資料的兩步編程操作。
參照圖8,非揮發性記憶體單元可在執行資料編程操作之前具有擦除狀態的閾值電壓。記憶體裝置150可首先基於要儲存在非揮發性記憶體單元中的LSB資料執行部分編程操作。這裡,部分編程操作可以包括二元(binary)編程操作,其中透過使用非常大的ISPP步進脈衝來較大地增加非揮發性記憶體單元的閾值電壓。在執行二元編程操作之後,記憶體裝置150可傳輸針對LSB資料的完成通知(LSB DATA COMPLETION)。
在執行二元編程操作之後,記憶體裝置150可基於CSB和MSB資料再次對非揮發性記憶體單元進行編程。在此步驟中,可透過使用小於二元編程操作的ISPP步進脈衝的ISPP步進脈衝來增加非揮發性記憶體單元的閾值電壓。此程序可稱為模糊(foggy)編程操作。此後,記憶體裝置150可執行精細編程操作以使非揮發性記憶體單元的閾值電壓分佈變窄。精細編程操作可以使用比在模糊編程操作中使用的ISPP步進脈衝更小的ISPP步進脈衝。
與二元編程操作或模糊編程操作不同,精細編程操作可包括使非揮發性記憶體單元的閾值電壓分佈變窄的程序。因此,在精細編程操作期間可能增加發生錯誤的可能性。在實施例中,記憶體裝置150可在二元編程操作和模糊編程操作之後將待編程的多位資料(所有位值)儲存在SLC緩衝器中。對於另一示例,記憶體裝置150可在執行模糊編程操作之後通知模糊編程操作的完成。此外,記憶體裝置150可在執行精細編程之後通知精細編程操作的完成(FINE COMPLETION)。
如上所述,參照圖6至圖8,可透過多步編程操作來執行將多位資料儲存在記憶體裝置150中的程序。當記憶體裝置150的編程操作的至少一些步驟成功完成時,可將完成通知輸出到控制器130。
圖9示出了根據本發明的實施例的適用於記憶體裝置的獨立(或廉價)磁碟冗餘陣列(RAID)。具體地,圖9示出了在獨立磁碟冗餘陣列(RAID)或廉價磁碟冗餘陣列(RAID)中使用五個區域(Plane1、Plane2、Plane3、Plane4、Plane5)的示例。
包括在使用RAID方案的記憶體裝置中的五個區域可以具有實質相同的大小。根據實施例,包括在記憶體裝置150中的五個區域Plane1,Plane2,Plane3,Plane4,Plane5中的每一個可以包括記憶體平面、記憶塊、記憶體晶粒等。在另一實施例中,五個區域Plane1,Plane2,Plane3,Plane4和Plane5可以是由使用者建立的五個邏輯區域。
記憶體系統100可以使用RAID方案在五個區域Plane1,Plane2,Plane3,Plane4,Plane5中儲存4條資料A1、A2、A3、A4和1條奇偶校驗Ap。即使在五個區域Plane1,Plane2,Plane3,Plane4,Plane5中的一個區域中發生錯誤,儲存在錯誤區域中的資料也可以基於儲存在剩餘四個區域中的其它條資料和奇偶校驗來恢復和復原。例如,奇偶校驗Ap可以透過對四條資料A1、A2、A3、A4進行互斥或(XOR)邏輯操作來生成。此後,當在四條資料A1、A2、A3、A4中的第二條資料A2中出現錯誤時,可以透過對第一、第三和第四條資料A1、A3、A4和一條奇偶校驗Ap進行互斥或(XOR)操作來恢復和復原第二資料A2。
此外,因為難以預測在五個區域Plane1,Plane2,Plane3,Plane4,Plane5中的哪個區域將出現問題,所以可以改變用於儲存四條資料和一條奇偶校驗的位置。例如,對應於四條第一資料A1、A2、A3、A4的一條第一奇偶校驗Ap可以儲存在第五區域Plane5中,但是對應於四條第二資料B1、B2、B3、B4的一條第二奇偶校驗Bp可以儲存在第四區域Plane4中。
參照圖1和9,在記憶體裝置150的五個區域Plane1、Plane2、Plane3、Plane4、Plane5中,可以編程四條第一資料A1、A2、A3、A4和一條第一奇偶校驗Ap。參照圖1描述的奇偶校驗生成引擎510可基於四條第一資料A1、A2、A3、A4生成一條第一奇偶校驗Ap。在記憶體系統110中,四條第一資料A1、A2、A3、A4可儲存在第一非揮發性單元區域522中,且一條第一奇偶校驗Ap可儲存在第二非揮發性單元區域524中。為了對多位資料進行編程,當根據本發明的實施例的記憶體裝置150可以執行兩步編程操作時,可以以RAID方案生成並儲存奇偶校驗。在此情況下,可減小或高效地使用參照圖1描述的第二非揮發性單元區域524或參照圖9描述的SLC緩衝器的大小。
圖10示出了根據本發明的實施例的資料編程方法。
參照圖10,當資料編程操作開始時(操作710),記憶體裝置150可在非揮發性記憶體單元中對LSB資料進行編程(操作712)。在記憶體裝置150在非揮發性記憶體單元中編程LSB資料之後(操作712),記憶體裝置150可確定是否由於錯誤或中斷(例如,突然斷電SP0或突然斷電恢復SPOR)而執行資料恢復以恢復或復原編程在非揮發性記憶體單元中的LSB資料(操作714)。如果基於已經編程在記憶體裝置150中的資料執行資料恢復操作以用於對由於錯誤或中斷(例如,突然斷電SPO)而損壞的編程在非揮發性記憶體單元中的LSB資料進行資料恢復(例如,在操作714中為是),則記憶體裝置150可備份儲存在非揮發性記憶體單元中的LSB資料(操作716)。稍後將參照圖11描述備份LSB資料的操作716的示例。
此外,如果回應於編程在記憶體裝置150中的資料不執行由於錯誤或中斷(例如,突然斷電SPO)引起的資料恢復(操作714中為否),則記憶體裝置150可檢查編程資料是否在記憶體系統110內被複製、移動或遷移(操作718)。此處,記憶體系統110內的資料遷移是由於垃圾收集或損耗均衡而將資料從記憶體系統110中的一個位置複製、移動或遷移到另一位置的程序。如果編程資料與記憶體系統110中的資料遷移相關聯(操作718中的“是”),則記憶體裝置150可不執行備份操作或生成針對已被編程在記憶體裝置150中的LSB資料的奇偶校驗。
另一方面,如果不為了LSB資料的恢復或資料遷移而執行編程操作(操作718中的“否”),則奇偶校驗生成引擎510可基於被編程的LSB資料來更新或計算奇偶校驗資訊(操作720)。在奇偶校驗生成引擎510更新奇偶校驗資訊(操作720)之後,記憶體裝置150可檢查編程的LSB資料是否是最後的LSB資料(操作722)。如果LSB資料編程操作不用於資料恢復或資料遷移,那麼編程資料可以是從主機102(其為外部裝置)傳送的資料,以便將編程資料儲存在記憶體系統110內。如果編程的LSB資料是最後的LSB資料(操作722中的是),則可儲存由奇偶校驗生成引擎510生成的奇偶校驗資訊。稍後將參照圖12描述備份與LSB資料相關聯的奇偶校驗的操作。如果編程的LSB資料不是最後的LSB資料(操作722中的“否”),則記憶體裝置150可對下一LSB資料進行編程(操作712)。
參照圖10,當編程在非揮發性記憶體單元中的資料是LSB資料時,記憶體裝置150或奇偶校驗生成引擎510可在第一種情況(情況1)下備份LSB資料(操作716),備份關於LSB資料的奇偶校驗資訊(操作724)(情況3),或可不執行備份操作(情況2)。
圖11示出了根據本發明的實施例的資料編程方法的第一示例。圖11可以描述圖10中描述的備份LSB資料(操作716)的第一種情況(情況1)的詳細操作。具體地,圖9描述了在包括多個記憶體平面Plane0、Plane1、Plane2、Plane3的記憶體裝置中編程多位資料(3位資料)的操作。示出多個記憶體平面Plane0、Plane1、Plane2、Plane3作為示例以描述編程多位資料的區域。多位資料可以以實質相同的方式儲存在多個記憶塊或多個記憶體晶粒中。根據實施例,記憶體裝置150可在單個記憶塊內的多個區域(例如,預設數目的串或多個子頁)中依序儲存多位資料。
參照圖11,第一平面Plane0可以包括多個TLC塊和至少一個SLC緩衝器。這裡,TLC塊可以包括連接到多個字線WL0、WL1、WL2、WL3的多個記憶體單元。對應於多個頁的資料可儲存在TLC塊中的連接到字線WL0、WL1、WL2、WL3中的每一者的多個非揮發性記憶體單元中。也就是說,多位資料可以儲存在每個非揮發性記憶體單元中。例如,在第一平面Plane0中的第一塊TLC塊的連接到第一字線WL0的非揮發性記憶體單元中,可以編程對應於LSB頁資料、CSB頁資料和MSB頁資料的第一資料D0、第六資料D5和第七資料D6。在第一平面Plane0中的第一塊TLC塊的連接到第二字線WL1的非揮發性記憶體單元中,可以編程對應於LSB頁資料、CSB頁資料和MSB頁資料的第五資料D4、第十八資料D17和第十九資料D18。
此外,SLC緩衝器可以包括連接到多個字線WL0、WL1、WL2、WL3的多個非揮發性記憶體單元。對應於一頁的資料可儲存在SLC塊中的連接到字線WL0、WL1、WL2、WL3中的每一者的多個非揮發性記憶體單元中。例如,第一資料D0可以儲存在第一平面Plane0中的第一SLC緩衝器的連接到第一字線WL0的非揮發性記憶體單元中。
參照圖7至圖8,在多個TLC塊中儲存多位資料的操作可透過多步操作來執行。參照圖7,當在包括在多個平面Plane0、Plane1、Plane2、Plane3中的多個TLC塊中的針對多位資料的資料編程操作期間完成用於儲存LSB資料的第一步編程操作時,記憶體裝置150可傳送針對LSB資料的完成通知。因為在正在執行第二步編程操作時可能發生錯誤或中斷,所以當執行第一步編程操作時,儲存在多個TLC塊中的LSB資料可被備份到SLC緩衝器,以增加資料安全性。
例如,在第一時間點T1處,首先將第一資料D0作為LSB資料編程在第一平面Plane0的第一塊TLC塊的連接到第一字線WL0的非揮發性記憶體單元中。在被編程之後,可以在第二時間點T2將第一資料D0備份到第一平面Plane0的SLC緩衝器的連接到第一字線WL0的非揮發性記憶體單元中。在第三時間點T3將第二資料D1作為LSB資料編程在第二平面Plane1的第一塊TLC塊的連接到第一字線WL0的非揮發性記憶體單元中之後,可以在第四時間點T4將第二資料D1備份在第二平面Plane1的SLC緩衝器的聯接到第一字線WL0的非揮發性記憶體單元中。當在第五時間點T5將第三資料D2作為LSB資料編程在第三平面Plane2的第一塊TLC塊的連接到第一字線WL0的非揮發性記憶體單元中時,可以將第三資料D2作為LSB資料進行編程。在第六時間點T6,可以將第三資料D2備份在第三平面Plane2的SLC緩衝器的聯接到第一字線WL0的非揮發性記憶體單元中。類似地,在第七時間點T7,將第四資料D3作為LSB資料編程在第四平面Plane3的第一塊TLC塊的連接到第一字線WL0的非揮發性記憶體單元中。在第八時間點T8,可以將第四資料D3備份在第三平面Plane3的SLC緩衝器的聯接到第一字線WL0的非揮發性記憶體單元中。
在LSB資料被編程在聯接到第一字線WL0的非揮發性記憶體單元中之後,記憶體裝置150可以將其它LSB資料編程在連接到與第一字線WL0相鄰的第二字線WL1的非揮發性記憶體單元中。在在連接到第二字線WL1的非揮發性記憶體單元中針對LSB資料執行第一步編程操作之後,記憶體裝置150可在連接到第一字線WL1的非揮發性記憶體單元中針對CSB資料和MSB資料執行第二步編程操作。透過此編程程序,在第九時間點T9處將第五資料D4作為LSB資料編程在第一平面Plane0中的第一塊TLC塊的連接到第二字線WL1的非揮發性記憶體單元中。在第十時間點T10,第五資料D4可以被備份到第一平面Plane0中的SLC緩衝器的連接到第二字線WL0的非揮發性記憶體單元。此後,在第十一時間點T11處,可將第六資料D5和第七資料D6作為CSB資料和MSB資料編程在連接到第一字線WL0的非揮發性記憶體單元中。
此外,記憶體裝置150可將第六資料D5和第七資料D6作為CSB資料和MSB資料編程在第一塊TLC塊中,但第六資料D5和第七資料D6可不被備份在SLC緩衝器中。因為3位資料(即,LSB資料,CSB資料和MSB資料)被完全編程在第一平面Plane0的第一塊TLC塊的連接到第一字線WL0的非揮發性記憶體單元中,所以記憶體裝置150不必在SLC緩衝器中備份第六資料D5和第七資料D6,且備份的第一資料D0可以變得不必要。
在參照圖11描述的用於對多位資料進行編程的資料編程操作中,記憶體裝置150可執行在包括在多個平面Plane0、Plane1、Plane2、Plane3中的第一塊(TLC塊)中的關於LSB資料的第一步編程操作。然後,記憶體裝置150可發送完成通知並將LSB資料備份在SLC緩衝器中。此後,即使在透過第二步編程操作對CSB資料或MSB資料進行編程的程序中發生錯誤或中斷,由於LSB資料已被備份,發送了完成通知的LSB資料也可被恢復或復原。圖11中所描述的第一塊TLC塊可對應於圖1中所描述的第一非揮發性單元區域522,且圖11中所描述的SLC塊可對應於圖1中所描述的第二非揮發性單元區域524。
即使在記憶體裝置150中執行的資料編程操作中在特定點處發生錯誤或中斷,記憶體系統110也可執行用於恢復或復原LSB資料的操作。當在特時序間點發生錯誤或中斷時,記憶體裝置150必須在發生錯誤或中斷之前為與完成通知相關聯的資料提供安全性。在圖11中,因為儲存在第一塊(TLC塊)中的LSB資料被備份在SLC塊中,所以記憶體系統110可以提供備份資料的資料安全性。
圖12示出了根據本發明的實施例的資料編程方法的第二示例。圖12描述了圖10中描述的備份與LSB資料相關聯的奇偶校驗(情況3)的詳細操作(操作724)。具體地,圖12描述了在包括多個記憶體平面Plane0、Plane1、Plane2、Plane3的記憶體裝置中對多位資料(3位資料)進行編程的操作。示出多個記憶體平面Plane0、Plane1、Plane2、Plane3作為示例以描述其中儲存多位資料的多個區域。可以以實質相同的方式將多位資料編程到多個記憶塊或多個記憶體晶粒中。
參照圖12,第一平面Plane0可以包括多個TLC塊和至少一個SLC緩衝器。TLC塊可包括聯接到多個字線WL0、WL1、WL2、WL3的多個非揮發性記憶體單元。對應於多個頁的資料可儲存在TLC塊中的聯接到字線WL0、WL1、WL2、WL3中的每一者的多個記憶體單元中。儲存在圖12所示的TLC塊中的資料的編程順序與儲存在圖11所述的TLC塊中的資料的編程順序實質相同。
SLC緩衝器可以包括連接到多個字線WL0、WL1、WL2、WL3的多個非揮發性記憶體單元。與參照圖11所描述的實施例不同,參照圖12所描述的SLC塊中的連接到每一字線WL0、WL1、WL2、WL3的多個非揮發性記憶體單元可儲存奇偶校驗資訊P0,P1,P2,P3,每一奇偶校驗資訊對應於在多個記憶體平面Plane0、Plane1、Plane2、Plane3中的TLC塊的每一頁中編程的LSB資料。例如,奇偶校驗生成引擎510可基於第一資料到第四資料D0、D1、D2、D3生成第一奇偶校驗資訊P0。第一奇偶校驗資訊P0可以儲存在SLC緩衝器中。在第一至第四資料D0、D1、D2、D3在參照圖9描述的RAID方案中被順序地編程時,奇偶校驗生成引擎510可透過對在TLC塊中編程的LSB資料執行互斥或(XOR)操作來生成第一奇偶校驗資訊P0。
參照圖7至圖8,在多個TLC塊中儲存多個多位資料的操作可以在多個步驟中執行。參照圖7,當在用於將多個多位資料儲存在多個儲存平面Plane0、Plane1、Plane2、Plane3中的多個TLC塊中的資料編程操作期間完成用於儲存LSB資料的第一步編程操作時,記憶體裝置150可輸出針對LSB資料的完成通知。如圖10中所描述,如果記憶體系統110傳送關於從主機102(其為外部裝置)傳輸的編程資料中的至少一些的完成通知,那麼記憶體系統110應確保與所述完成通知相關聯的資料的安全性。因為當在儲存LSB資料的非揮發性記憶體單元中執行第二步編程操作時可能發生錯誤或中斷,所以在執行第一步編程操作之後,可以在SLC緩衝器中備份儲存在多個TLC塊中的LSB資料的第一奇偶校驗資訊P0。
例如,在記憶體裝置150可將第一資料D0作為LSB資料編程在第一記憶體平面Plane0的第一TLC塊中的聯接到第一字線WL0的非揮發性記憶體單元中的第一時間點T1,奇偶校驗生成引擎510可將第一資料D0確定為第一奇偶校驗資訊P0(P0 = D0)。在記憶體裝置150將第二資料D1作為LSB資料編程在第二平面Plane1的第一塊TLC塊的聯接到第一字線WL0的非揮發性記憶體單元中的第二時間點T2,奇偶校驗生成引擎510可對第二資料D1和先前的第一奇偶校驗資訊(P0=D0)執行互斥或(XOR)操作以更新第一奇偶校驗資訊P0(P0=P0 XOR D1=D0 OR D1)。當記憶體裝置150在第三時間點T3將第三資料D2作為LSB資料編程在第三平面Plane2的第一塊TLC塊的連接到第一字線WL0的非揮發性記憶體單元中時,奇偶校驗生成引擎510可對第三資料D2和先前的第一奇偶校驗資訊執行互斥或(XOR)操作以更新第一奇偶校驗資訊P0(P0=P0 XOR D2=(D0 XOR D1) XOR D2)。之後,在記憶體裝置150可將第四資料D3作為LSB資料編程在第四平面Plane3的第一塊TLC塊的聯接到第一字線WL0的非揮發性記憶體單元中的第四時間點T4處,奇偶校驗生成引擎510可對第四資料D3和先前的第一奇偶校驗資訊(P0=(D0 XOR D1)XOR D2)執行互斥或(XOR)操作以更新奇偶校驗資訊P0(P0 = P0 XOR D3=((D0 XOR D1)XOR D2)XOR D3)。
記憶體裝置150可將第一資料D0到第四資料D3編程在多個記憶體平面Plane0、Plane1、Plane2、Plane3中的TLC塊中的每一者的聯接到第一字線WL0的非揮發性記憶體單元中。在對LSB資料進行編程操作之後,奇偶校驗生成引擎510可生成與第一資料D0至第四資料D3相關聯的第一奇偶校驗資訊(P0=((D0 XOR D1)XOR D2)XOR D3)。記憶體裝置150可將第一奇偶校驗資訊P0儲存在第一平面Plane0中的SLC緩衝器的聯接到第一字線WL0的非揮發性記憶體單元中。
在對第一字線WL0的LSB資料進行編程之後,記憶體裝置150可將其它LSB資料編程在聯接到與第一字線WL0相鄰的第二字線WL1的非揮發性記憶體單元中。在執行用於將LSB資料編程在連接到第二字線WL1的非揮發性記憶體單元中的第一步編程操作之後,記憶體裝置150可執行用於將CSB資料和MSB資料編程在聯接到第一字線WL1的非揮發性記憶體單元中的第二步編程操作。
透過該編程序列,在第五資料D4作為LSB資料被編程在第一平面Plane0中的第一塊TLC塊的聯接到第二字線WL1的非揮發性記憶體單元中時的第六時間點T6,第二奇偶校驗資訊P1可被確定為第五資料D4(P1 = D4)。在第七時間點T7,記憶體裝置150可將第六資料D5和第七資料D6作為CSB資料和MSB資料編程在第一平面Plane0中的TLC塊的連接到第一字線WL0的非揮發性記憶體單元中。當記憶體裝置150將第六資料D5和第七資料D6作為CSB資料和MSB資料編程在第一塊TLC塊中時,第六資料D5和第七資料D6可不被備份在SLC緩衝器中。因為對應於LSB資料、CSB資料和MSB資料的3位資料被完全編程在第一平面Plane0的第一塊TLC塊的聯接到第一字線WL0的非揮發性記憶體單元中,所以記憶體裝置150可以不必將用於第六資料D5和第七資料D6的奇偶校驗資訊備份到SLC緩衝器。
此後,在記憶體裝置150將第八資料D7作為LSB資料編程在第二平面Plane1中的第一塊TLC塊的聯接到第二字線WL1的非揮發性記憶體單元中時的第八時間點T8,可以按照第八資料D7和先前第二奇偶校驗資訊(P1 = D4)的互斥或的結果更新第二奇偶校驗資訊P1(P1 = P1 XOR D7=D4 XOR D7)。在第九時間點T9,記憶體裝置150將第六資料D5和第七資料D6作為CSB資料和MSB資料編程在第二平面Plane1中的TLC塊的聯接到第一字線WL0的非揮發性記憶體單元中。
在將多位資料編程在包括在多個記憶體平面Plane0、Plane1、Plane2、Plane3中的第一TLC塊中的程序期間,對對應於第一步編程操作的LSB資料執行圖12中描述的資料編程操作。當通知編程完成時,記憶體系統110可將針對LSB資料的奇偶校驗資訊備份在SLC緩衝器中。此後,即使在透過第二步編程操作對CSB資料或MSB資料進行編程時發生錯誤或中斷,也可以恢復和復原與完成通知相關聯的LSB資料,因為LSB資料和奇偶校驗資訊被備份。例如,參照圖9,即使在第一資料至第四資料D1,D2,D3,D4之一中發生錯誤,也可基於第一資料至第四資料D1,D2,D3,D4和第一奇偶校驗資訊P0來恢復和復原發生錯誤的資料。圖12中所描述的第一塊TLC塊可對應於圖1中所描述的第一非揮發性單元區域522,且圖12中所描述的SLC塊可對應於圖1中所描述的第二非揮發性單元區域524。
圖13示出根據本發明實施例的在資料編程操作期間在控制器與記憶體裝置之間的資料傳送。具體地,參照圖12描述的生成和備份奇偶校驗資訊的操作可由參照圖2到3描述的控制器130和記憶體裝置150執行。圖13是是示出在編程操作期間經由連接控制器130和記憶體裝置150的第一通道Ch0和第二通道Ch1的資料傳輸和在資料傳輸上花費的時間以及在記憶體裝置150中執行的操作的圖。
參照圖13,第一資料D0被儲存在透過第一通道Ch0連接到控制器130的記憶塊中,並且第二資料D1可以被編程在透過第二通道Ch1連接的記憶塊中。控制器130透過第一通道Ch0將第三資料D2發送到記憶塊,並透過第二通道Ch1將第四資料D3發送到記憶塊。根據另一個實施例,透過第一通道Ch0或第二通道Ch1連接到控制器130的記憶塊可以各自被包括在不同的記憶體晶片,不同的記憶體晶粒或不同的記憶體平面中。
控制器130被配置為透過第一通道Ch0和第二通道Ch1將第三資料D2和第四資料D3平行地傳送到記憶體裝置150中,記憶體裝置150包括在儲存第三資料D2和第四資料D3的位置處的資料塊(①)。在第三資料D2和第四資料D3儲存在包括在記憶體裝置150中的快取緩衝器中之後,記憶體裝置150可將第三資料D2和第四資料D3從快取緩衝器傳送到頁緩衝器。然後,可將頁緩衝器中的第三資料D2和第四資料D3編程到記憶塊中(②)。記憶體裝置150可讀取第一資料D0和第二資料D1並將其儲存在頁緩衝器中,且然後對第一資料D0和第二資料D1以及儲存在快取緩衝器中的第三資料D2和第四資料D3執行XOR操作(③)。記憶體裝置150可以將XOR結果D0D2、D1D3編程在備份塊中(④)。在上述程序中,讀取已經編程的資料和執行互斥或操作(③)所花費的時間以及對互斥或操作的結果進行編程(④)所花費的時間可以是用於生成和備份奇偶校驗資訊的開銷(overhead)。
當針對在記憶體裝置150內傳輸和編程的資料發生上述開銷時,記憶體裝置150的資料輸入/輸出性能可能降低或下降。根據實施例,記憶體裝置150應用RAID方案來儲存奇偶校驗資訊,同時如參照圖12所描述的那樣對預設數量的資料進行編程。在預設數量的資料被編程之後,關於預設數量的資料的更新的奇偶校驗資訊可以被編程在不同的位置。記憶體裝置150可以減少奇偶校驗資訊的量並減少開銷。此外,為了減少用於讀取先前儲存在記憶塊中的資料並將所讀取的資料儲存在頁緩衝器中的時間,根據本發明的實施例,記憶體裝置150可在頁緩衝器或快取緩衝器中包括用於計算或更新奇偶校驗資訊的單獨儲存空間。
圖14示出根據本發明實施例的在記憶體系統中停止或暫停資料編程操作的情況。參照圖14描述的資料編程操作實質上與參照圖12描述的資料編程操作相同。然而,在圖14中,當記憶體裝置150在第三平面Plane2中儲存第24資料D23和第25資料D24時,在第20時間點T20發生突然斷電。圖14示出了失敗了的在TLC塊的連接到第二字線WL1的非揮發性記憶體單元中的針對CSB資料和MSB資料的編程操作的示例。
因為從第一時間點T1到第19時間點T19執行的編程操作成功完成,所以記憶體裝置150可以保證從第一資料D0到第23資料D22的資料安全性。然而,在第二十時間點T20,用於將第二十四資料D23和第二十五資料D24編程為CSB資料和MSB資料的操作失敗,使得儲存在相同位置的非揮發性記憶體單元中的第十一LSB資料D10的安全性可能是有問題的。
當在突然斷電之後恢復電力時,記憶體系統110或記憶體裝置150可以恢復其安全性被懷疑的第十一資料D10。在供電之後的第一時間點T1,記憶體裝置150從TLC塊讀取與第十一資料D10相關聯的第五資料D4,且然後將第五資料D4保存為第十一資料D10(D10=D4)。此後,在第二時間點T2,記憶體裝置150從TLC塊讀取與第十一資料D10相關聯的第八資料D7,以對第八資料D7和被儲存為第十一資料D10的第五資料D4執行互斥或操作。在執行XOR操作之後,結果可以被更新為第十一資料D10(D10 = D10 XOR D7=D4 XOR D7)。在第三時間點T3,記憶體裝置150從TLC 塊讀取與第11資料D10相關聯的第14資料D13,並與先前的第11資料D10執行互斥或(XOR)操作。結果可以被更新為第十一資料D10(D10 = D10 XOR D13=(D4 XOR D7)XOR D13)。在第四時間點,記憶體裝置150從SLC緩衝器讀取與第十一資料D10相關聯的第二奇偶校驗資訊P1,對先前的第十一資料D10執行互斥或(XOR)操作。然後,結果可以被更新為第十一資料D10(D10 = D10 XOR P1 =((D4 XOR D7)XOR D13)XOR P1)。在第五時間點T5,記憶體裝置150可以將恢復的第十一資料D10編程在TLC 塊中,以恢復由於突然斷電而資料安全性受到懷疑的資料。如上所述,即使編程操作在特定時間點失敗,記憶體系統110也可保證在相應時間點之前編程在記憶體裝置150中的資料的安全性。
圖15示出了根據本發明的實施例的用於控制資料編程操作的設備的第一示例。
參照圖15,記憶體系統110中的控制器130可以包括被配置為計算用於恢復或復原已儲存於或正被編程在記憶體裝置150中的資料的奇偶校驗的模組或電路424,422。記憶體裝置150可以包括多個記憶體晶粒182,184。
記憶體晶粒182,184可以包括多個記憶體平面Plane0、Plane1、Plane2、Plane3。每個記憶體平面可以包括多個記憶塊和頁緩衝器PB。頁緩衝器322A可包括用於控制資料輸入/輸出操作的控制電路434和多個鎖存器432。
根據實施例,包括在控制器130中的第一奇偶校驗計算器422和第二奇偶校驗計算器424可以執行不同的操作。第一奇偶校驗計算器422可以對應於參照圖2描述的糾錯電路138。當在記憶體裝置150中編程的資料中發生錯誤或在記憶體裝置150中的一些非揮發性記憶體單元中發生錯誤時,第一奇偶校驗計算器422可使用糾錯碼來編碼資料以恢復資料。此外,第一奇偶校驗計算器422可使用糾錯碼來解碼資料以檢查從記憶體裝置150讀取的資料中是否存在錯誤。
與第一奇偶校驗計算器422不同,當在記憶體裝置150中對資料進行編程的操作期間由於錯誤或中斷而不能對資料進行編程時,第二奇偶校驗計算器424可以生成奇偶校驗資訊以確保已經編程的資料的安全性。具體地,第二奇偶校驗計算器424可產生用於多個LSB資料的奇偶校驗資訊並將該奇偶校驗資訊發送到記憶體裝置150。如參照圖12所述,第二奇偶校驗計算器424可透過對編程在記憶體裝置150的不同區域中的四條資料執行互斥或(XOR)操作來生成奇偶校驗資訊。
因為控制器130中的第二奇偶校驗計算器424可生成用於多個LSB資料的奇偶校驗資訊並將奇偶校驗資訊發送到記憶體裝置150,所以在將多個LSB資料編程在記憶體裝置150中的程序中可減少開銷。另外,記憶體裝置150中的多個記憶體晶粒182,184可以包括用於生成奇偶校驗資訊的邏輯電路和用於臨時儲存所述奇偶校驗資訊的單獨儲存位置(例如,附加鎖存器,暫存器等)。然而,因為用於多個LSB資料的奇偶校驗資訊透過控制器130與多個記憶體晶粒182,184之間的通道傳輸,所以通道佔用可能增加。
此外,因為控制器130中的第二奇偶校驗計算器424生成用於多個LSB資料的奇偶校驗資訊並將該奇偶校驗資訊發送到記憶體裝置150,所以該奇偶校驗資訊可被編程在不同的晶粒或不同的記憶體平面中。例如,控制器130可將多個LSB資料和對應於多個LSB資料的奇偶校驗資訊發送到記憶體裝置150中的不同記憶體晶粒或不同平面。參照圖10,當控制器130將多個LSB資料和對應於多個LSB資料的奇偶校驗資訊發送和編程到不同區域時,可提高儲存資料的安全性和可靠性。
圖16示出了根據本發明的實施例的用於控制資料編程操作的設備的第二示例。
參照圖16,記憶體系統110中的控制器130可包括第一奇偶校驗計算器422,其用於計算用於恢復或復原儲存在記憶體裝置150中的資料的代碼或奇偶校驗。第一奇偶校驗計算器422可以對應於參照圖2描述的糾錯電路138。
透過通道連接到控制器130的記憶體裝置150可以包括多個記憶體晶粒182,184。記憶體晶粒182,184中的每一個可以包括多個記憶體平面Plane0、Plane1、Plane2、Plane3。每個記憶體平面可以包括多個記憶塊和頁緩衝器(page buffer, PB)。頁緩衝器PB可包括用於控制資料輸入/輸出操作的控制邏輯和用於臨時儲存在資料輸入/輸出操作(例如,讀取,編程和擦除操作)期間傳送的資料的多個鎖存器。此外,記憶體平面或頁緩衝器PB可以包括具有奇偶校驗計算引擎的控制邏輯436,該奇偶校驗計算引擎對應於圖15所示的第二奇偶校驗計算器424,且被配置為計算用於恢復或復原透過編程操作儲存的資料的奇偶校驗。根據實施例,奇偶校驗計算引擎可被包括在記憶體晶粒182,184中的每個中或平面Plane0、Plane1、Plane2、Plane3中的每個中。在另一實施例中,奇偶校驗計算引擎可被包括在每個記憶體晶粒182,184中。
當控制器130透過通道將資料發送到記憶體裝置150時,包括在記憶體裝置150中的控制電路436,即包括在記憶體晶粒或記憶體平面中的頁緩衝器322B,可執行關於預設數量的資料的XOR操作以生成奇偶校驗資訊。即,控制電路436可以執行參照圖15描述的控制電路434和第二奇偶校驗計算器424的操作兩者。另外,頁緩衝器322B可以包括多個鎖存器432(其可臨時儲存在資料輸入/輸出操作(例如,讀取、編程、擦除操作)期間傳送的資料),以及能夠臨時儲存奇偶校驗資訊的額外附加鎖存器438。由控制電路436生成的奇偶校驗資訊可被儲存在包括控制電路436的記憶體晶粒或記憶體平面中。
與其中控制器130將奇偶校驗資訊發送到記憶體裝置150的圖15的實施例相比,通道的佔用可以變得更低,因為對應於第二奇偶校驗計算器424的控制電路436被包括在記憶體晶粒或記憶體平面中。然而,包括在記憶體裝置150的記憶體晶粒或記憶體平面中的控制電路436還可以包括附加邏輯電路以執行操作來代替第二奇偶校驗計算器424,以及用於臨時儲存奇偶校驗資訊的附加鎖存器438。
圖17示出了根據本發明的實施例的用於控制資料編程操作的設備的第三示例。
參照圖17,從主機102接收資料輸入/輸出命令的記憶體系統110可包括控制器130和記憶體裝置150。記憶體裝置150可以包括透過不同通道連接的多個記憶體晶粒182,184。
多個記憶體晶粒182,184中的每一者可以包括多個層。第一記憶體晶粒182的第一層可以包括四個單元區域L0,L1,L2,L3,且第二層可以包括四個不同的單元區域L4,L5,L6,L7。根據實施例,第一記憶體晶粒184可以具有三層或更多層,並且可以在每層上佈置多個單元區域。
控制器130可以包括對應於第一記憶體晶粒182的第一引擎452和對應於第二記憶體晶粒184的第二引擎454。控制器130中的第一引擎452和第二引擎454可以在資料編程操作期間透過對預設數量的LSB資料執行互斥或(XOR)操作來生成至少一條奇偶校驗資訊。第一記憶體晶粒182可以包括八個單元區域L0到L7。根據實施例,第一引擎452可如參照圖12所述針對四個LSB資料生成一條奇偶校驗資訊。四個LSB資料和一個奇偶校驗資訊可分佈且被編程在八個單元區域L0到L7中的5個單元區域中。
根據實施例,第一引擎452可以針對四條LSB資料生成兩條奇偶校驗資訊。在這種情況下,四個LSB資料和兩條奇偶校驗資訊可以分佈且被編程在八個單元區域L0至L7中的六個單元區域中。在此實施例中,即使在八個單元區域L0到L7中的兩個單元區域中發生錯誤,控制器130中的第一引擎452也可基於從其它四個單元區域讀取的資訊來恢復或復原發生錯誤的資料。
控制器130中的第一引擎452和第二引擎454可被佈置為對應於第一記憶體晶粒182和第二記憶體晶粒184或包括在第一記憶體晶粒182和第二記憶體晶粒184中。在這種情況下,第一引擎452和第二引擎454可以包括在參照圖2到3描述的記憶體介面142中。如果控制器130包括多個引擎,則在資料編程操作期間可以平行地執行用於生成針對LSB資料的奇偶校驗資訊的操作。當用於生成和傳送奇偶校驗資訊的操作可以對應於通道時,可以減少開銷。
圖18示出了根據本發明的實施例由圖17所示的設備執行的操作。圖18示出了控制器130與參照圖17所述的記憶體裝置150中的第一記憶體晶粒182或第二記憶體晶粒184之間的資料傳輸操作以及在第一記憶體晶粒182和第二記憶體晶粒184內執行的編程操作。
參照圖18,控制器130可透過第一通道DQ0將第一LSB資料L0發送到第一記憶體晶粒D0。控制器130中的第一引擎可以開始針對第一LSB資料L0的奇偶校驗操作(LSB奇偶校驗)。在第一LSB資料L0在第一記憶體晶粒D0中成功完成之後,控制器130可將第二LSB資料L1傳送到第一記憶體晶粒D0。控制器130中的第一引擎可對作為先前奇偶校驗操作的結果的第一LSB資料L0和第二LSB資料L1執行奇偶校驗操作(LSB奇偶校驗)。控制器130可順序地將第三LSB資料L2和第四LSB資料L3傳送到第一記憶體晶粒D0,並且第一記憶體晶粒D0可順序地對第三LSB資料L2和第四LSB資料L3進行編程。控制器130中的第一引擎可將第四LSB資料L3傳送到第一記憶體晶粒D0,並且然後對第一至第四LSB資料執行奇偶校驗操作(LSB奇偶校驗)以生成對應於第一至第四LSB資料L0,L1,L2,L3的第一奇偶校驗資訊P0。控制器130可以將第一奇偶校驗資訊P0傳送到第一記憶體晶粒182,並且然後第一記憶體晶粒182可以將第一奇偶校驗資訊P0編程在其中。
控制器130可以透過第一通道DQ0將第一至第四LSB資料L0,L1,L2,L3和第一奇偶校驗資訊P0順序地傳送到第一記憶體晶粒D0。與第一通道DQ0平行,控制器130可以將其他第一至第四LSB資料L0,L1,L2,L3和第一奇偶校驗資訊P0傳送到第二記憶體晶粒D1。參照圖18,在資料編程操作期間用於生成和備份奇偶校驗資訊以增加資料安全性的程序中出現的開銷可以被極大地減少。例如,透過針對每四個LSB資料發送和編程一條奇偶校驗資訊,基於針對LSB資料的編程操作裕量,可能出現大約25%的開銷。
控制器130可以以類似的方式生成針對其它四個LSB資料L4,L5,L6,L7的奇偶校驗資訊,並且透過通道順序地傳送四個LSB資料L4,L5,L6,L7和奇偶校驗資訊P1。記憶體晶粒D0可以順序地編程從控制器130傳送的四個LSB資料L4,L5,L6,L7和奇偶校驗資訊P1。
圖19示出了根據本發明的實施例的用於控制資料編程操作的設備的第四示例。
參照圖19,從主機102接收資料輸入/輸出命令的記憶體系統110可包括控制器130和記憶體裝置150。記憶體裝置150可以包括透過不同通道連接的多個記憶體晶粒182,184。
多個記憶體晶粒182,184中的每一者可以包括多個層。第一記憶體晶粒182的第一層可以包括四個單元區域L0、L1、L2、L3,且第二層可以包括四個不同的單元區域L4、L5、L6、L7。根據實施例,第一記憶體晶粒182可具有三個或更多層,且可以在單個層上佈置多個單元區域。
第一記憶體晶粒182可以包括第一引擎452,而第二記憶體晶粒184可以包括第二引擎454。第一引擎452和第二引擎454可以在資料編程操作期間透過對預設數量的LSB資料執行互斥或(XOR)操作來生成至少一條奇偶校驗資訊。第一記憶體晶粒182可以包括八個單元區域L0到L7。根據實施例,第一引擎452可如參照圖12所述針對四個LSB資料生成一條奇偶校驗資訊,且四個LSB資料和一個奇偶校驗資訊可分佈並被編程在八個單元區域L0到L7中的5個單元區域中。
根據實施例,第一引擎452可以針對四條LSB資料生成兩條奇偶校驗資訊。在這種情況下,四條LSB資料和兩條奇偶校驗資訊可以分佈並被編程在八個單元區域L0至L7中的六個單元區域中。在這種情況下,即使在八個單元區域L0至L7中的兩個單元區域中發生問題,控制器130中的第一引擎452也可以基於從其他四個單元區域讀取的資訊來恢復或復原資料。
第一引擎452和第二引擎454可以各自被包括在第一記憶體晶粒182和第二記憶體晶粒184中。第一記憶體晶粒182和第二記憶體晶粒184可以透過包括在其中的第一引擎452和第二引擎454生成奇偶校驗資訊,並且該奇偶校驗資訊可以被儲存在其單元區域中。在資料編程操作期間,控制器130可不參與奇偶校驗資訊生成和奇偶校驗資訊備份,使得控制器130可執行或調度主機102請求的另一資料輸入/輸出操作。此外,因為奇偶校驗資訊可以在第一記憶體晶粒182和第二記憶體晶粒184內部生成和編程而無需透過通道傳輸,所以可以避免在透過通道發送和接收奇偶校驗資訊期間可能發生的錯誤。
圖20示出了根據本發明的實施例由圖19所示的設備執行的操作的第一示例。
參照圖20,當在編程操作期間生成奇偶校驗資訊的引擎被包括在記憶體晶粒中時,控制器130將四條LSB資料L0、L1、L2、L3儲存在第一記憶體晶粒D0中。包括在第一記憶體晶粒D0中的第一引擎可以在將經由通道傳輸的LSB資料L0、L1、L2、L3編程在單元區域中的同時,執行奇偶校驗操作(LSB奇偶校驗)。在四條LSB資料L0、L1、L2、L3中的最後資料(L3)被編程在單元區域中之後,對應於四條LSB資料L0、L1、L2、L3的奇偶校驗資訊P0可被編程在區域中。
因為第一記憶體晶粒182和第二記憶體晶粒184中的每一個可以包括能夠單獨地生成奇偶校驗資訊的引擎,所以用於生成和備份奇偶校驗資訊P0的操作以及對透過通道發送的LSB資料進行編程的操作也可以平行地執行。可能不需要在控制器130和第一記憶體晶粒182或第二記憶體晶粒184之間透過通道進行奇偶校驗資訊P0的發送和接收,從而可以減少通道佔用。可以避免奇偶校驗資訊P0的發送/接收的操作裕量。
圖21示出了根據本發明的實施例由圖19所示的設備執行的操作的第二示例。圖21中描述的奇偶校驗生成和備份操作可以類似於圖13中描述的操作來執行。
參照圖21,當在編程操作期間生成奇偶校驗資訊的引擎被包括在記憶體晶粒中時,控制器130可順序地將四條LSB資料L0,L1,L2,L3傳送到第一記憶體晶粒D0。第一記憶體晶粒D0可以順序地將透過通道接收的四條LSB資料L0,L1,L2,L3編程在單元區域中。在最後的LSB資料L3被編程之後,包括在第一記憶體晶粒D0中的引擎可以完成針對四條LSB資料L0,L1,L2,L3的奇偶校驗操作(LSB奇偶校驗)。例如,互斥或(XOR)操作可以包括順序地讀取先前儲存的三條LSB資料L0,L1,L2。在對應於四條LSB資料L0,L1,L2,L3的奇偶校驗資訊P0已經被計算(LSB奇偶校驗)之後,奇偶校驗資訊P0也可以被編程在單元區域中。
因為第一記憶體晶粒182和第二記憶體晶粒184單獨地包括能夠生成奇偶校驗資訊的引擎,所以生成和備份奇偶校驗資訊P0可以與對透過通道發送的LSB資料進行的編程一起平行地執行。由於沒有在控制器130和第一記憶體晶粒182或第二記憶體晶粒184之間透過通道發送/接收奇偶校驗資訊P0,所以可以減少通道佔用。此外,如圖13所述,當使用頁緩衝器和快取緩衝器的結構時,可以執行奇偶校驗資訊的生成和備份,而無需在第一記憶體晶粒182中添加被配置為生成奇偶校驗資訊的單獨的鎖存器。
圖22示出了本發明的實施例的效果。
參照圖22,可理解根據本發明各種實施例的記憶體系統110和記憶體裝置150的效果。當透過多步編程操作在記憶體裝置150的非揮發性記憶體單元中編程多位資料時,需要備份LSB資料以確保資料安全性或可靠性。當LSB資料被原樣備份時,在記憶體裝置150的SLC緩衝器中為LSB備份分配的區域的大小可能增加。此外,如果SLC緩衝器中可分配的空間不足,則將多位資料編程在記憶體裝置150中的操作可能延遲,從而資料輸入/輸出性能可能劣化。
在本發明的備份LSB資料或確保資料安全性或可靠性的各種實施例中,記憶體系統110或記憶體裝置150可生成並備份對應於LSB資料的奇偶校驗資訊。在這種情況下,可以以多種方式之一來執行編程操作:備份LSB資料、生成並備份針對LSB資料的奇偶校驗、不生成LSB資料的奇偶校驗(例如,見圖10)。如上所述,透過基於包括編程在記憶體裝置150中的LSB資料的多位資料的屬性來確定備份範圍,可減小在SLC緩衝器中被分配用於記憶體裝置150中的編程操作的空間。可更高效地使用記憶體系統110或記憶體裝置150中的資源,藉此改進記憶體裝置的資料輸入/輸出性能及耐久性。
如上所述,根據本發明實施例的記憶體系統可減少在資料編程操作或將多位資料編程在記憶體裝置中的程序中花費在生成用於恢復或復原資料的奇偶校驗資訊上的開銷和資源。
此外,在根據本發明實施例的記憶體系統中,能夠從資料編程操作的異常中斷恢復資料的設備可選擇性地包括在控制器或記憶體裝置中,從而增加記憶體系統的設計靈活性。
另外,根據本發明實施例的記憶體系統可在不增加包括非揮發性記憶體單元的資料緩衝器的大小(或儲存能力)的情況下改進資料編程操作的操作安全性,從而增加在記憶體裝置中用於儲存資料的大小(或儲存能力)。
本文所描述的方法、程序和/或操作可透過將由計算機,處理器,控制器或其它信號處理裝置執行的代碼或指令來執行。計算機,處理器,控制器或其它信號處理裝置可以是這裡描述的元件或除了這裡描述的元件之外的元件。因為詳細地描述了形成方法(或計算機,處理器,控制器或其它信號處理裝置的操作)的基礎的演算法,所以用於實現方法實施例的操作的代碼或指令可以將計算機,處理器,控制器或其它信號處理裝置轉換成用於執行這裡的方法的專用處理器。
另外,另一實施例可以包括用於儲存上述代碼或指令的計算機可讀介質,例如非暫時性計算機可讀介質。計算機可讀介質可以是揮發性或非揮發性記憶體或其他儲存裝置,其可以可移除地或固定地聯接到將執行用於執行本文的方法實施例或裝置實施例的操作的代碼或指令的計算機,處理器,控制器或其他信號處理裝置。
本文所公開的實施例的控制器,處理器,控制電路,裝置,模組,單元,多工器,邏輯,介面,解碼器,驅動器,產生器和其它信號產生和信號處理特徵可(例如)在可以包括硬體、軟體或兩者的非暫時性邏輯中實現。當至少部分地以硬體實現時,控制器,處理器,控制電路,裝置,模組,單元,多工器,邏輯,介面,解碼器,驅動器,產生器和其它信號產生和信號處理特徵可為(例如)多種積體電路中的任一者,其包括(但不限於)專用積體電路,現場可編程門陣列,邏輯門的組合,片上系統,微處理器或另一類型的處理或控制電路。
當至少部分地以軟體實現時,控制器,處理器,控制電路,裝置,模組,單元,多工器,邏輯,介面,解碼器,驅動器,產生器和其它信號產生和信號處理特徵可包括(例如)記憶體或其它儲存裝置,其用於儲存待由(例如)計算機,處理器,微處理器,控制器或其它信號處理裝置執行的代碼或指令。計算機,處理器,微處理器,控制器或其它信號處理裝置可以是這裡描述的元件或除了這裡描述的元件之外的元件。因為詳細地描述了形成方法(或計算機,處理器,微處理器,控制器或其它信號處理裝置的操作)的基礎的演算法,所以用於實現方法實施例的操作的代碼或指令可以將計算機,處理器,控制器或其它信號處理裝置變換成用於執行這裡描述的方法的專用處理器。
雖然已經參照特定實施例示出和描述了本教示,但是根據本發明,本發明所屬技術領域中具有通常知識者將清楚,在不脫離由所附申請專利範圍界定的本發明的精神和範圍的情況下,可以進行各種改變和修改。此外,可以組合實施例以形成另外的實施例。
42:狀態管理器 44:映射管理器 46:主機請求管理器 48:塊管理器 52:緩衝器管理器 54:事件佇列 56:命令佇列 100:記憶體系統 102:主機 110:記憶體系統 130:控制器 132:主機介面 134:處理器 138:糾錯電路 140:功率管理單元 142:記憶體介面 144:記憶體 150:記憶體裝置 152:記憶塊 154:記憶塊 156:記憶塊 170:電壓供應電路 180:控制電路 182:記憶體晶粒 184:記憶體晶粒 240:快閃轉換層 320:讀/寫電路 322:頁緩衝器 322A:頁緩衝器 322B:頁緩衝器 324:頁緩衝器 326:頁緩衝器 330:記憶體組 340:單元串 422:第一奇偶校驗計算器 424:第二奇偶校驗計算器 432:鎖存器 434:控制電路 436:控制電路 438:附加鎖存器 452:第一引擎 454:第二引擎 456:第一引擎 458:第二引擎 510:奇偶校驗生成引擎 522:第一非揮發性單元區域 524:第二非揮發性單元區域 710:操作 712:操作 714:操作 716:操作 718:操作 720:操作 722:操作 724:操作 726:操作 A1:第一資料 A2:第一資料 A3:第一資料 A4:第一資料 Ap:第一奇偶校驗 ATL:位址轉換層 B1:第二資料 B2:第二資料 B3:第二資料 B4:第二資料 BBM:壞塊管理 BL0:位線 BL1:位線 BLm-1:位線 BM:塊管理 Bp:第二奇偶校驗 Ch0:第一通道 Ch1:第二通道 CSB:中央有效位 CSL:公共源極線 D0:第一資料 D1:第二資料 D2:第三資料 D3:第四資料 D4:第五資料 D5:第六資料 D6:第七資料 D7:第八資料 DQ0:第一通道 DQ1:第一通道 DSL:汲極選擇線 DST:汲極選擇電晶體 ECC:糾錯電路 ER:位準 FIL:快閃介面層 FTL:快閃轉換層 GC:垃圾收集 HRM:主機請求管理器 L0:單元區域 L1:單元區域 L2:單元區域 L3:單元區域 L4:單元區域 L5:單元區域 L6:單元區域 L7:單元區域 LSB:最低有效位 MC0:非揮發性記憶體單元 MC1:非揮發性記憶體單元 MCn-1:非揮發性記憶體單元 MCn-2:非揮發性記憶體單元 MM:映射管理器 MSB:最高有效位 P1:位準 P2:位準 P3:位準 PB:頁緩衝器 PGM:編程 Plane0:記憶體平面 Plane1:記憶體平面 Plane2:記憶體平面 Plane3:記憶體平面 Plane4:記憶體平面 Plane5:記憶體平面 PMU:功率管理單元 READ:讀取 SLC:單級單元 SSL:串選擇線 SST:串選擇電晶體 TLC:三級單元 Vers:擦除電壓 VFL:虛擬快閃層 Vpass:通過電壓 Vprog:編程電壓 Vrd:讀取電壓 Vth:閾值電壓 WL:損耗均衡 WL0:字線 WL1:字線 WL2:字線 WL3:字線 WLn-1:字線 WLn-2:字線
這裡的描述參照了附圖,其中在所有附圖中相同的元件符號表示相同的部件。 [圖1]示出根據本發明實施例的記憶體系統的實施例。 [圖2]示出根據本發明的另一實施例的資料處理系統。 [圖3]示出根據本發明另一實施例的記憶體系統。 [圖4]示出根據本發明的實施例的包括在圖1至圖3所示的控制器中的內部配置。 [圖5]示出根據本發明的實施例的用於確認包括在記憶體系統中的平面的操作狀態和操作結果的操作時序。 [圖6]示出根據本發明實施例的如何在記憶體裝置中編程多位資料的第一示例。 [圖7]示出根據本發明實施例的如何在記憶體裝置中編程多位資料的第二示例。 [圖8]示出根據本發明實施例的如何在記憶體裝置中編程多位資料的第三示例。 [圖9]示出了根據本發明的實施例的可應用於記憶體裝置的獨立(或廉價)磁碟冗餘陣列(RAID)。 [圖10]示出根據本發明的實施例的資料編程方法。 [圖11]示出根據本發明的實施例的資料編程方法的第一示例。 [圖12]示出根據本發明的實施例的資料編程方法的第二示例。 [圖13]示出根據本發明實施例的在資料編程操作期間控制器與記憶體裝置之間的資料傳送。 [圖14]示出根據本發明實施例的記憶體系統中資料編程操作停止或暫停的情況。 [圖15]示出根據本發明的實施例的用於控制資料編程操作的設備的第一示例。 [圖16]示出根據本發明的實施例的用於控制資料編程操作的設備的第二示例。 [圖17]示出根據本發明的實施例的用於控制資料編程操作的設備的第三示例。 [圖18]示出根據本發明的實施例的由圖17所示的設備執行的操作。 [圖19]示出根據本發明的實施例的用於控制資料編程操作的設備的第四示例。 [圖20]示出根據本發明的實施例的由圖19中所示的設備執行的操作的第一示例。 [圖21]示出根據本發明的實施例由圖19所示的設備執行的操作的第二示例。 [圖22]示出了本發明的實施例的效果。
110:記憶體系統
510:奇偶校驗生成引擎
522:第一非揮發性單元區域
524:第二非揮發性單元區域

Claims (20)

  1. 一種記憶體裝置,該記憶體裝置包括: 第一記憶體組,所述第一記憶體組包括能夠儲存多位資料的多個第一非揮發性記憶體單元; 第二記憶體組,所述第二記憶體組包括能夠儲存單位資料的多個第二非揮發性記憶體單元;以及 編程操作控制器,所述編程操作控制器: 基於從外部裝置輸入的資料構建所述多位資料, 針對所述多位資料中的部分資料執行邏輯操作以生成奇偶校驗; 在將所述部分資料編程在所述第一記憶體組中之後,將所述奇偶校驗編程在所述第二記憶體組中, 在發生突然斷電(sudden power-off, SPO)之後,執行針對所述部分資料的驗證操作, 基於所述奇偶校驗和所述驗證操作的結果來恢復所述部分資料,並且 將經恢復的所述部分資料編程在所述第一記憶體組中。
  2. 如請求項1所述的記憶體裝置,其中,所述編程操作控制器還在所述部分資料已經成功被編程在所述第一記憶體組中之後輸出與所述部分資料的編程相關聯的完成通知。
  3. 如請求項2所述的記憶體裝置,其中,所述編程操作控制器在輸出所述完成通知之後將所述奇偶校驗編程在所述第二記憶體組中。
  4. 如請求項2所述的記憶體裝置, 其中,所述部分資料是所述多位資料中的最低有效位(least significant bit, LSB)資料,並且 其中,所述邏輯操作包括互斥或(exclusive OR, XOR)操作,在所述編程操作控制器透過與所述多位資料的位的數量相對應的多步編程操作將所述多位資料編程到所述第一記憶體組中時執行所述XOR操作。
  5. 如請求項2所述的記憶體裝置, 其中,所述編程操作控制器還透過二元編程操作和模糊-精細編程操作將所述多位資料編程到所述第一記憶體組中,並且 其中,所述部分資料包括在所述二元編程操作中被編程的資料。
  6. 如請求項1所述的記憶體裝置,其中,所述編程操作控制器在電力恢復之後執行的所述驗證操作期間基於編程的值來恢復所述部分資料,所述編程的值對應於所述第一記憶體組中的所述部分資料和所述第二記憶體組中的所述奇偶校驗。
  7. 如請求項6所述的記憶體裝置,其中,所述編程操作包括在經恢復的所述部分資料被編程在所述第一記憶體組中之後基於驗證操作的結果來確定所述多位資料是否已被成功編程的操作。
  8. 如請求項1所述的記憶體裝置,其中,所述編程操作控制器還在執行所述邏輯操作之前基於所述多位資料的屬性確定備份範圍。
  9. 如請求項8所述的記憶體裝置,其中,所述編程操作控制器還: 對儲存在所述第一記憶體組中的所述部分資料中的錯誤執行恢復操作,並且 在所述恢復操作期間將所述多位資料中的所述部分資料備份在所述第二記憶體組中。
  10. 如請求項1所述的記憶體裝置,其中,所述第一記憶體組和所述第二記憶體組被包括在單個記憶體晶粒的不同記憶塊中。
  11. 如請求項10所述的記憶體裝置,其中,所述編程操作控制器被包括在所述記憶體晶粒中。
  12. 如請求項1所述的記憶體裝置,其中,所述編程操作控制器經由資料通道聯接到包括所述第一記憶體組和所述第二記憶體組的記憶體晶粒。
  13. 如請求項1所述的記憶體裝置,該記憶體裝置還包括: 快取緩衝器,所述快取緩衝器臨時儲存所述部分資料;以及 多個頁緩衝器,所述多個頁緩衝器聯接到所述第一記憶體組和所述第二記憶體組以儲存從所述快取緩衝器傳送的所述部分資料。
  14. 如請求項13所述的記憶體裝置,其中,所述編程操作控制器包括奇偶校驗生成引擎,所述奇偶校驗生成引擎基於從所述快取緩衝器傳送到所述多個頁緩衝器的所述部分資料而生成所述奇偶校驗。
  15. 一種記憶體系統,該記憶體系統包括: 至少一個記憶體晶粒,所述至少一個記憶體晶粒包括: 第一記憶體組,所述第一記憶體組包括能夠儲存多位資料的多個第一非揮發性記憶體單元;以及 第二記憶體組,所述第二記憶體組包括能夠儲存單位資料的多個第二非揮發性記憶體單元;以及 至少一個編程操作控制器,所述至少一個編程操作控制器: 基於從外部裝置輸入的寫入資料構建所述多位資料, 針對所述多位資料中的部分資料執行邏輯操作生成奇偶校驗; 在將所述部分資料編程在所述第一記憶體組中之後將所述奇偶校驗編程在所述第二記憶體組中, 在發生突然斷電(sudden power-off, SPO)之後,執行針對所述部分資料的驗證操作, 基於所述奇偶校驗和所述驗證操作的結果來恢復所述部分資料,並且 將經恢復的所述部分資料編程在所述第一記憶體組中。
  16. 如請求項15所述的記憶體系統,所述記憶體系統還包括控制器,所述控制器經由資料通道聯接到所述至少一個記憶體晶粒,並且從所述外部裝置接收所述寫入資料並確定在所述第一記憶體組中用於儲存所述多位資料的位置。
  17. 如請求項16所述的記憶體系統,其中,所述控制器還基於所述多位資料的屬性來確定備份範圍。
  18. 如請求項17所述的記憶體系統,其中,所述至少一個編程操作控制器被包括在所述控制器中。
  19. 如請求項18所述的記憶體系統,其中,所述至少一個編程操作控制器還: 對儲存在所述第一記憶體組中的所述部分資料中的錯誤執行恢復操作,並且 在所述恢復操作期間將所述多位資料中的所述部分資料備份在所述第二記憶體組中。
  20. 如請求項15所述的記憶體系統,其中,所述至少一個編程操作控制器被包括在所述至少一個記憶體晶粒中。
TW111134307A 2021-10-21 2022-09-12 用於編程資料的記憶體裝置和記憶體系統 TW202318211A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0140702 2021-10-21
KR1020210140702A KR20230056901A (ko) 2021-10-21 2021-10-21 메모리 장치에 데이터를 프로그램하는 장치 및 방법

Publications (1)

Publication Number Publication Date
TW202318211A true TW202318211A (zh) 2023-05-01

Family

ID=85795734

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111134307A TW202318211A (zh) 2021-10-21 2022-09-12 用於編程資料的記憶體裝置和記憶體系統

Country Status (5)

Country Link
US (1) US11829244B2 (zh)
KR (1) KR20230056901A (zh)
CN (1) CN116010157A (zh)
DE (1) DE102022209756A1 (zh)
TW (1) TW202318211A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6967959B2 (ja) * 2017-12-08 2021-11-17 キオクシア株式会社 メモリシステムおよび制御方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6208343B1 (en) * 1997-12-10 2001-03-27 International Business Machines Corporation Graphical user interface scroll bar that provides varied levels of access granularity
KR102094334B1 (ko) 2013-03-15 2020-03-27 삼성전자주식회사 비휘발성 멀티-레벨 셀 메모리 시스템 및 상기 시스템에서의 적응적 데이터 백업 방법
US9213706B2 (en) * 2013-06-13 2015-12-15 DataGravity, Inc. Live restore for a data intelligent storage system
WO2015106162A1 (en) 2014-01-09 2015-07-16 SanDisk Technologies, Inc. Selective copyback for on die buffered non-volatile memory
KR20170054182A (ko) * 2015-11-09 2017-05-17 에스케이하이닉스 주식회사 반도체 장치
KR20190085642A (ko) * 2018-01-11 2019-07-19 에스케이하이닉스 주식회사 메모리 시스템
KR102583810B1 (ko) * 2018-05-15 2023-10-05 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR102617411B1 (ko) 2018-08-31 2023-12-26 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법

Also Published As

Publication number Publication date
KR20230056901A (ko) 2023-04-28
US11829244B2 (en) 2023-11-28
DE102022209756A1 (de) 2023-04-27
US20230126507A1 (en) 2023-04-27
CN116010157A (zh) 2023-04-25

Similar Documents

Publication Publication Date Title
US11756643B2 (en) Apparatus and method for correcting an error in data transmission of a data processing system
US11373709B2 (en) Memory system for performing a read operation and an operating method thereof
US11990191B2 (en) Apparatus and method for programming data in a non-volatile memory device
US11894059B2 (en) Apparatus and method for programming data in a non-volatile memory device
US20220171564A1 (en) Apparatus and method for maintaining data stored in a memory system
CN114661226A (zh) 用于传输由非易失性存储器系统生成的元数据的装置和方法
US20230376212A1 (en) Apparatus and method for recovering data in a memory system
TW202318211A (zh) 用於編程資料的記憶體裝置和記憶體系統
US11798648B2 (en) Apparatus and method for recovering data in a memory system
US12014781B2 (en) Memory device supporting interleaved operations and memory system including the same
US11915762B2 (en) Apparatus and method for programming data in a non-volatile memory device
US11941289B2 (en) Apparatus and method for checking an error of a non-volatile memory device in a memory system
US20220075542A1 (en) Calibration apparatus and method for data communication in a memory system
US20240012563A1 (en) Apparatus and method for programming or reading data based on a program status of a non-volatile memory device
US20230162806A1 (en) Apparatus and method for reducing signal interference in a semiconductor device
US11854657B2 (en) Memory device and memory system supporting interleaving operation and operation method thereof
US11676674B2 (en) Apparatus and method for programming and verifying data in a non-volatile memory device
US11887669B2 (en) Apparatus and method for programming data in a non-volatile memory device
US11929122B2 (en) Apparatus and method for erasing data in a non-volatile memory device
US20240028216A1 (en) Apparatus and method for programming data in a non-volatile memory device