TWI663603B - 控制器、半導體記憶體系統及其操作方法 - Google Patents
控制器、半導體記憶體系統及其操作方法 Download PDFInfo
- Publication number
- TWI663603B TWI663603B TW104126589A TW104126589A TWI663603B TW I663603 B TWI663603 B TW I663603B TW 104126589 A TW104126589 A TW 104126589A TW 104126589 A TW104126589 A TW 104126589A TW I663603 B TWI663603 B TW I663603B
- Authority
- TW
- Taiwan
- Prior art keywords
- llr value
- read
- soft
- llr
- ecc decoding
- Prior art date
Links
Classifications
-
- 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
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- 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
- 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/1012—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 codes or arrangements adapted for a specific type of error
-
- 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/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/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/021—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/024—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in decoders
-
- 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
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/12005—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising voltage or current generators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
-
- 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
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3723—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/63—Joint error correction and other techniques
- H03M13/6325—Error control coding in combination with demodulation
-
- 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
- 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
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C2029/5004—Voltage
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/23—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Error Detection And Correction (AREA)
Abstract
一種記憶體控制器的操作方法,包括:使用軟讀取電壓來對儲存在半導體記憶體裝置中的讀取資料執行軟讀取操作;基於第一對數似然比(LLR)值來對讀取資料執行軟判決ECC解碼操作;以及當基於第一LLR值的軟判決ECC解碼操作失敗時,基於第二LLR值來對讀取資料執行軟判決ECC解碼操作。第一LLR值和第二LLR在預設LLR值和更新LLR值之間選擇。基於透過對讀取資料的軟判決ECC解碼操作而獲得的讀取資料的錯誤位元的數量和非錯誤位元的數量來產生更新LLR值。
Description
本發明的各種示例性實施例關於一種半導體設計技術,更具體地,關於一種控制器、半導體記憶體系統及其操作方法。
本申請要求於2015年3月9日提交的第10-2015-0032598號韓國專利申請的優先權,該韓國專利申請透過引用全部合併於此。
半導體記憶體裝置通常被分類為揮發性記憶體裝置(諸如動態隨機存取記憶體(DRAM,dynamic random access memory)和靜態隨機存取記憶體(SRAM,static random access memory))和非揮發性記憶體裝置(諸如唯讀記憶體(ROM,read only memory)、光罩式唯讀記憶體(MROM,mask read only memory)、可程式設計唯讀記憶體(PROM,programmable read only memory)、可抹除可程式設計唯讀記憶體(EPROM,erasable programmable read only memory)、電子可抹除可程式設計唯讀記憶體(EEPROM,electrically erasable programmable read only memory)、鐵磁隨機存取記憶體(FRAM,ferromagnetic random access memory)、相變隨機存取記憶體(PRAM,phase change random access memory)、磁阻隨機存取記憶體(MRAM,magnetoresistive random access memory)、電阻式隨機存取記憶體(RRAM,resistive random access memroy)和快閃記憶體)。
揮發性記憶體裝置在無恒定電源時丟失其資料,而非揮發性記憶體裝置能夠保持其資料。尤其是,快閃記憶體裝置因其程式設計速度高、功耗低且資料儲存容量大而廣泛地用作電腦系統中的儲存介質。
在非揮發性記憶體裝置中,特別是在快閃記憶體裝置中,每個記憶體單元的資料狀態基於儲存在記憶體單元中的資料的位元的數量來確定。儲存1位元資料的記憶體單元被稱為單個位元單元或單層單元(SLC,single-level cell)。儲存多位資料(即,2位元或更多位元的資料)的記憶體單元被稱為多位元單元、多層單元(MLC,multi-level cell)或多狀態單元。多位元單元有利於高度集成。然而,隨著被程式設計在每個記憶體單元中的資料的位元的數量增加,資料的可靠性降低並且資料的讀取失敗率增加。
例如,當k位元資訊要被程式設計在記憶體單元中時,在記憶體單元中形成2k個臨界電壓中的一個。由於記憶體單元的電特性之間的微小差異,因此利用相同資料來程式設計的記憶體單元的臨界電壓形成臨界電壓分佈。臨界電壓分佈分別對應於與k位元資訊相對應的2k個資料值。
然而,可用於每個臨界電壓分佈的電壓視窗是有限的。因此,隨著k值增大,臨界電壓分佈之間的距離減小並且相鄰臨界電壓分佈重疊。因相鄰臨界電壓分佈重疊,讀取資料可能包括錯誤位元。
圖1是示意性圖示非揮發性記憶體裝置中的3位元多層單元(3位元MLC)的程式設計狀態和抹除狀態的臨界電壓分佈示意圖。
圖2是示意性圖示非揮發性記憶體裝置中的具有劣化特性的3位元MLC的程式設計狀態和抹除狀態的臨界電壓分佈示意圖。
在MLC非揮發性記憶體裝置中,例如,在其中k位元資料被程
式設計在記憶體單元中的MLC快閃記憶體裝置中,記憶體單元可以具有2k個臨界電壓分佈中的一個。例如,3位元MLC具有8個臨界電壓分佈中的一個。
利用相同資料來程式設計的記憶體單元的臨界電壓因記憶體單元之間的特性差異而形成臨界電壓分佈。在3位MLC非揮發性記憶體裝置中,如圖1所示,形成與7個程式設計狀態“P1”至“P7”和抹除狀態“E”相對應的臨界電壓分佈。圖1示出其中臨界電壓分佈不重疊並且在臨界電壓分佈之間具有讀取電壓裕度的理想情況。
參照圖2的快閃記憶體的示例,在浮閘或隧道氧化物膜處捕獲的電子隨時間放電的情況下,記憶體單元可以經歷電荷損失。當隧道氧化物膜透過重複的程式設計操作和抹除操作而劣化時,可以加速這樣的電荷損失。電荷損失導致記憶體單元的臨界電壓減小。例如,如圖2所示,臨界電壓分佈可以因電荷損失而向左偏移。
此外,程式設計干擾、抹除干擾和/或後臺模式依賴性(back pattern dependency)也導致臨界電壓增大。隨著記憶體單元的特性劣化,如上所述,相鄰狀態的臨界電壓分佈會重疊,如圖2所示。
一旦臨界電壓分佈重疊,則當特定讀取電壓被施加至選中字元線時,讀取資料會包括相當數量的錯誤。例如,當記憶體單元透過施加至選中字元線的讀取電壓Vread3被感測為“接通”狀態時,確定該記憶體單元具有第二程式設計狀態“P2”。當記憶體單元透過施加至選中字元線的讀取電壓Vread3被感測為“關斷”狀態時,確定該記憶體單元具有第三程式設計狀態“P3”。然而,當臨界電壓分佈重疊時,實際上具有第三程式設計狀態“P3”的記憶體單元會被錯誤地確定為具有第二程式設計狀態“P2”。簡而言之,如圖2所示,當臨界電壓
分佈重疊時,讀取資料會包括相當數量的錯誤。
因此,需要一種用於減少儲存在半導體記憶體裝置的記憶體單元中的資料的讀取操作的失敗的方案。
本發明的各種實施例針對一種控制器、半導體記憶體系統及其操作方法,其能夠減少用於儲存在半導體記憶體裝置的記憶體單元中的資料的讀取操作的失敗。
根據本發明的實施例,一種記憶體控制器的操作方法可以包括:使用軟讀取電壓來對儲存在半導體記憶體裝置中的讀取資料執行軟讀取操作;基於第一對數似然比(LLR)值來對讀取資料執行軟判決ECC解碼操作;以及當基於第一LLR值的軟判決ECC解碼操作失敗時,基於第二LLR值來對讀取資料執行軟判決ECC解碼操作。第一LLR值和第二LLR值可以在預設LLR值和更新LLR值之間選擇。可以基於透過對讀取資料的軟判決ECC解碼操作而獲得的讀取資料的錯誤位元的數量和非錯誤位元的數量來產生更新LLR值。
較佳地,第一LLR值可以是預設LLR值。
較佳地,第一LLR值可以是預設LLR值和更新LLR值中的用於先前執行的成功的軟判決ECC解碼操作的一個。
較佳地,預設LLR值和更新LLR值可以被分別儲存在記憶體控制器的預設LLR表格和更新LLR表格中。
該操作方法還可以包括:當基於第一LLR值或第二LLR值的軟判決ECC解碼操作成功時產生或更新更新LLR值。
較佳地,可以根據下式產生或更新更新LLR值。
其中,“軟位準”是軟讀取電壓,“讀取偏壓”是參考電壓。
較佳地,產生或更新更新LLR值的步驟可以包括:確定是否產生或更新更新LLR值;以及基於確定結果來產生或更新更新LLR值。
較佳地,可以基於以下來確定是否產生或更新更新LLR值:當軟判決ECC解碼操作成功時讀取資料中的錯誤校正位元的數量;以及在軟判決ECC解碼操作成功以前執行的軟讀取操作的第一次數以及在軟判決ECC解碼操作成功以前軟判決ECC解碼操作的反覆運算的第二次數中的一個或更多個。
較佳地,當第一次數和反覆運算的第二次數中的一個或更多個大於參照錯誤校正位元的數量的預定閾值時,可以產生或更新更新LLR值。
較佳地,軟判決ECC解碼操作可以是低密度同位(LDPC)解碼操作。
根據本發明的實施例,一種記憶體控制器可以包括:第一裝置,適用於使用軟讀取電壓來對儲存在半導體記憶體裝置中的讀取資料執行軟讀取操作;第二裝置,適用於基於第一對數似然比(LLR)值來對讀取資料執行軟判決ECC解碼操作;以及第三裝置,適用於當基於第一LLR值的軟判決ECC解碼操作失敗時,基於第二LLR值來對讀取資料執行軟判決ECC解碼操作。記憶體控制器可以在預設LLR值和更新LLR值之間選擇第一LLR值和第二LLR值。記憶體控制器可以基於透過對讀取資料的軟判決ECC解碼操作而獲得的讀取資
料的錯誤位元的數量和非錯誤位元的數量來產生更新LLR值。
較佳地,第一LLR值可以是預設LLR值。
較佳地,第一LLR值是可以預設LLR值和更新LLR值中的用於先前執行的成功的軟判決ECC解碼操作的一個。
較佳地,預設LLR值和更新LLR值可以被分別儲存在預設LLR表格和更新LLR表格中。
記憶體控制器還可以包括:第四裝置,適用於當基於第一LLR值或第二LLR值的軟判決ECC解碼操作成功時產生或更新更新LLR值。
較佳地,第四裝置可以根據下式來產生或更新更新LLR值,
其中,“軟位準”是軟讀取電壓,“讀取偏壓”是參考電壓。
較佳地,第四裝置可以包括:第五裝置,適用於確定是否產生或更新更新LLR值;以及第六裝置,適用於根據第五裝置的確定結果來產生或更新更新LLR值。
較佳地,第五裝置基於以下來確定是否產生或更新更新LLR值:當軟判決ECC解碼操作成功時讀取資料中的錯誤校正位元的數量;以及在軟判決ECC解碼操作成功以前執行的軟讀取操作的第一次數以及在軟判決ECC解碼操作成功以前軟判決ECC解碼操作的反覆運算的第二次數中的一個或更多個。
較佳地,當第一次數和反覆運算的第二次數中的一個或更多個
大於參考錯誤校正位元的數量的預定閾值時,第五裝置可以確定產生或更新更新LLR值。
較佳地,軟判決ECC解碼操作可以是低密度同位(LDPC)解碼操作。
根據本發明的各種實施例,可以減少用於儲存在半導體記憶體裝置的記憶體單元中的資料的讀取操作的失敗。
10‧‧‧半導體記憶體系統
100‧‧‧記憶體控制器
110‧‧‧儲存單元
120‧‧‧CPU
130‧‧‧ECC單元
131‧‧‧ECC編碼器
133‧‧‧ECC解碼器
140‧‧‧主機介面(I/F)
150‧‧‧記憶體介面(I/F)
160‧‧‧系統匯流排
170‧‧‧LLR管理單元
200‧‧‧半導體記憶體裝置
210‧‧‧記憶體單元陣列
211‧‧‧記憶體區塊
220‧‧‧控制電路
221‧‧‧單元串
230‧‧‧電壓供應單元
240‧‧‧電壓傳送單元
250‧‧‧讀取/寫入電路
251‧‧‧頁緩衝器
260‧‧‧行選擇單元
211‧‧‧記憶體區塊
610‧‧‧校驗節點
615‧‧‧邊緣
615A‧‧‧校驗節點消息
615B‧‧‧可變節點消息
620‧‧‧可變節點
1111‧‧‧基底
1112‧‧‧絕緣材料
1113‧‧‧柱體
1114‧‧‧表面層(本體)
1115‧‧‧內層
1116‧‧‧絕緣層
1117‧‧‧第一子絕緣層(隧道絕緣層)
1118‧‧‧第二子絕緣層(電荷捕獲層)
1119‧‧‧第三子絕緣層(阻擋絕緣層)
1211~1293‧‧‧導電材料
1233‧‧‧導電材料(閘極或控制閘極)
1311‧‧‧第一摻雜區
1312‧‧‧第二摻雜區
1313‧‧‧第三摻雜區
1314‧‧‧第四摻雜區
1320‧‧‧汲極
1331~1333‧‧‧導電材料
6311‧‧‧基底
6312‧‧‧摻雜材料層
6321‧‧‧第一導電材料層
6322‧‧‧第二導電材料層
6323‧‧‧第三導電材料層
6324‧‧‧第四導電材料層
6325‧‧‧第五導電材料層
6326‧‧‧第六導電材料層
6327‧‧‧第七導電材料層
6328‧‧‧第八導電材料層
6340‧‧‧汲極
6351‧‧‧第一上導電材料層
6352‧‧‧第二上導電材料層
6361‧‧‧內部材料層
6362‧‧‧中間層
6363‧‧‧表層
10000‧‧‧電子設備
11000‧‧‧處理器
12000‧‧‧無線電收發器
13000‧‧‧顯示器
14000‧‧‧輸入裝置
15000‧‧‧記憶體控制器
16000‧‧‧半導體記憶體裝置
20000‧‧‧電子設備
21000‧‧‧處理器
22000‧‧‧輸入裝置
23000‧‧‧顯示器
24000‧‧‧記憶體控制器
25000‧‧‧半導體記憶體裝置
30000‧‧‧電子設備
31000‧‧‧卡介面
32000‧‧‧控制器
33000‧‧‧緩衝記憶體
34000‧‧‧半導體記憶體裝置
40000‧‧‧電子設備
41000‧‧‧處理器
42000‧‧‧圖像感測器
43000‧‧‧顯示器
44000‧‧‧記憶體控制器
45000‧‧‧半導體記憶體裝置
60000‧‧‧電子設備
61000‧‧‧記憶體控制器
62000A‧‧‧半導體記憶體裝置
62000B‧‧‧半導體記憶體裝置
62000C‧‧‧半導體記憶體裝置
70000‧‧‧資料處理系統
71000‧‧‧RAID控制器
72000A~72000N‧‧‧記憶體系統
ADDR‧‧‧位址
ADDRESS‧‧‧位址匯流排
ANT‧‧‧天線
BL‧‧‧位元線
BL0~BLm-1‧‧‧位元線
BLK1~BLKh‧‧‧記憶體區塊
BLKi‧‧‧記憶體區塊
CG0~CG31‧‧‧層疊的記憶體單元
CMD‧‧‧指令
CSL‧‧‧共源極線
CTRL‧‧‧控制
DATA‧‧‧資料(資料匯流排)
DP‧‧‧下柱體
DSG‧‧‧汲極選擇閘極
DSL‧‧‧汲極選擇線
DST‧‧‧汲極選擇電晶體
DWL‧‧‧虛設字元線
DWL1‧‧‧第一虛設字元線
DWL2‧‧‧第二虛設字元線
GSL‧‧‧接地選擇線
LLRTDFLT‧‧‧預設LLR表格
LLRTOTHER‧‧‧第二LLR表格
LLRTRCNT‧‧‧第一LLR表格
LLRTUPDT‧‧‧更新LLR表格
MC0~MCn-1‧‧‧記憶體單元
MMC1‧‧‧第一主記憶體單元
MMC2‧‧‧第二主記憶體單元
MMC3‧‧‧第三主記憶體單元
MMC4‧‧‧第四主記憶體單元
MWL1‧‧‧第一主字元線
MWL2‧‧‧第二主字元線
MWL3‧‧‧第三主字元線
MWL4‧‧‧第四主字元線
NS‧‧‧NAND串
NS11~NS31‧‧‧NAND串
NS12~NS32‧‧‧NAND串
NS13~NS33‧‧‧NAND串
PG‧‧‧管閘
PWR‧‧‧電源
SSG‧‧‧源極選擇閘極
SSL‧‧‧串選擇線
SSL1‧‧‧第一串選擇線
SSL2‧‧‧第二串選擇線
SSL3‧‧‧第三串選擇線
SST‧‧‧源極選擇電晶體
ST‧‧‧電晶體結構
ST1‧‧‧第一串
ST2‧‧‧第二串
UP‧‧‧上柱體
VHD‧‧‧硬讀取電壓
VSD‧‧‧軟讀取電壓
WL‧‧‧字元線
S510‧‧‧第一ECC解碼步驟
S511~S515‧‧‧步驟
S530‧‧‧第二ECC解碼步驟
S531~S535‧‧‧步驟
S540‧‧‧步驟
S815~S829‧‧‧步驟
S851~S869‧‧‧步驟
〔圖1〕是示意性圖示非揮發性記憶體裝置中的3位元多層單元(3位元MLC)的程式設計狀態和抹除狀態的臨界電壓分佈示意圖。
〔圖2〕是示意性圖示非揮發性記憶體裝置中的具有劣化特性的3位元MLC的程式設計狀態和抹除狀態的臨界電壓分佈示意圖。
〔圖3〕是示意性圖示根據本發明的實施例的半導體記憶體系統的方塊圖。
〔圖4A〕是圖示圖3中示出的半導體記憶體系統的詳細方塊圖。
〔圖4B〕是圖示圖4A中示出的記憶體區塊的電路圖。
〔圖5〕是圖示圖4A中示出的記憶體控制器的操作的流程圖。
〔圖6A〕是圖示由泰納圖(tanner graph)表示的LDPC解碼的示意圖。
〔圖6B〕是圖示LDPC碼的示意圖。
〔圖6C〕是圖示根據LDPC解碼的校驗子校驗(syndrome check)處理的示意圖。
〔圖7A〕是圖示記憶體單元的臨界電壓分佈的各個形態以及與臨界電壓分佈相對應的合適的LLR值的示意圖。
〔圖7B〕是圖示根據本發明的實施例的LLR值的更新的示意圖。
〔圖7C〕是圖示根據本發明的實施例的獲得每個LLR值的錯誤位元的數量和非錯誤位元的數量的處理的示意圖。
〔圖8A〕是圖示根據本發明的實施例的記憶體控制器的操作的流程圖。
〔圖8B〕是圖示根據本發明的實施例的記憶體控制器的操作的流程圖。
〔圖9〕至〔圖13〕是示意性圖示根據本發明的實施例的三維(3D)非揮發性記憶體裝置的示意圖。
〔圖14〕至〔圖16〕是示意性圖示根據本發明的實施例的3D非揮發性記憶體裝置的示意圖。
〔圖17〕是示意性圖示根據本發明的實施例的包括半導體記憶體系統的電子設備的方塊圖。
〔圖18〕是示意性圖示根據本發明的實施例的包括半導體記憶體系統的電子設備的方塊圖。
〔圖19〕是示意性圖示根據本發明的實施例的包括半導體記憶體系統的電子設備的方塊圖。
〔圖20〕是示意性圖示根據本發明的實施例的包括半導體記憶體系統的電子設備的方塊圖。
〔圖21〕是示意性圖示根據本發明的實施例的包括半導體記憶體系統的電子設備的方塊圖。
〔圖22〕是包括圖21中示出的電子設備的資料處理系統的方塊圖。
以下將參照附圖更詳細地描述各種實施例。然而,本發明可以
以不同的形式實現,並且不應當被解釋為局限於本文所闡述的實施例。更確切地說,這些實施例被提供使得本公開將是徹底的和完整的,並且將本發明的範圍充分地傳達給本領域技術人員。附圖不一定成比例,並且在某些情況下,比例可以被放大以清楚地圖示實施例的特徵。貫穿本公開,相同的附圖標記在本發明的各種附圖和實施例中直接對應於相同的部分。還要注意的是,在該說明書中,“連接/耦接”不僅指一個元件直接耦接另一個元件,還指透過中間元件間接耦接另一個元件。另外,只要在句子中未明確提及,單數形式可以包括複數形式。應當容易理解的是,本公開中的“在......上”和“在......之上”的含義應當以最廣義的方式來解釋,從而“在......上”不僅意味著“直接在”某物“上”,還意味著透過其間的中間特徵或層而“在”某物“上”,並且“在......之上”不僅意味著直接在某物的頂部上,還意味著透過其間的中間特徵或層而在某物的頂部上。當第一層被稱為“在”第二層“上”或者“在”基底“上”時,其不僅指第一層直接形成在第二層或基底上的情況,還指第三層存在於第一層與第二層或基底之間的情況。
圖3是示意性圖示根據本發明的實施例的半導體記憶體系統10的方塊圖。
圖4A是圖示圖3中示出的半導體記憶體系統10的詳細方塊圖。
圖4B是圖示圖4A中示出的記憶體區塊211的電路圖。
圖5是圖示圖4A中示出的記憶體控制器100的操作的流程圖。
參照圖3和圖5,半導體記憶體系統10可以包括半導體記憶體裝置200和記憶體控制器100。
半導體記憶體裝置200可以在記憶體控制器100的控制下執行
抹除操作、程式設計操作和讀取操作中的一個或更多個。半導體記憶體裝置200可以透過輸入/輸出線來接收指令CMD、位址ADDR和資料DATA。半導體記憶體裝置200可以透過電源線來接收電源PWR以及透過控制線來接收控制訊號CTRL。控制訊號CTRL可以包括指令鎖存致能(CLE,command latch enable)訊號、位址鎖存致能(ALE,address latch enable)訊號、晶片致能(CE,chip enable)訊號、寫入致能(WE,write enable)訊號、讀取致能(RE,read enable)訊號等。
記憶體控制器100可以控制半導體記憶體裝置200的全部操作。記憶體控制器100可以包括用於校正錯誤位元的ECC單元130。ECC單元130可以包括ECC編碼器131和ECC解碼器133。
ECC編碼器131可以對要被程式設計在半導體記憶體裝置200中的資料執行錯誤校正編碼,以輸出添加有奇偶位元的資料。奇偶位元可以被儲存在半導體記憶體裝置200中。
ECC解碼器133可以對從半導體記憶體裝置200讀取的資料執行錯誤校正解碼。ECC解碼器133可以確定錯誤校正解碼是否成功,並且可以基於確定結果來輸出指示訊號。ECC解碼器133可以使用在ECC編碼時產生的奇偶位元來校正資料的錯誤位元。
當錯誤位元的數量超過ECC單元130的錯誤校正能力時,ECC單元130可以不校正錯誤位元。在這種情況下,ECC單元130可以產生錯誤校正失敗訊號。
ECC單元130可以透過編碼調製(諸如低密度同位(LDPC,low-density parity-check)碼、博斯-喬赫裡-霍克文黑姆(BCH,Bose-Chaudhuri-Hocquenghem)碼、渦輪碼、裡德-索羅門(RS,Reed-Solomon)
碼、卷積碼、遞迴系統磁碟區積(RSC,recursive systematic convolutional)碼、格形編碼調製(TCM,trellis-coded modulation)、區塊編碼調製(BCM,block coded modulation)等)來校正錯誤。ECC單元130可以包括用於錯誤校正的所有電路、系統或設備。
根據本發明的實施例,ECC單元130可以使用硬判決資料(hard decision data)和軟判決資料(soft decision data)來執行錯誤位元校正操作。
記憶體控制器100和半導體記憶體裝置200可以被集成在單個半導體裝置中。例如,記憶體控制器100和半導體記憶體裝置200可以被集成在諸如固態驅動器(SSD,solid-state drive)的單個半導體裝置中。固態驅動器可以包括用於將資料儲存在半導體記憶體中的儲存設備。當半導體記憶體系統10用在SSD中時,可以改善耦接至半導體記憶體系統10的主機(未示出)的操作速度。
例如,記憶體控制器100和半導體記憶體裝置200可以被集成在單個半導體裝置中以構成存儲卡,諸如國際個人電腦記憶卡協會(PCMCIA,personal computer memory card international association)的PC卡、緊湊型快閃記憶體(CF,compact flash)卡、智慧媒體(SM,smart media)卡、記憶棒、多媒體卡(MMC,multimedia card)、縮小尺寸多媒體卡(RS-MMC,reduced-size multimedia card)、微型尺寸版本的MMC(MMCmicro)、安全數位(SD,secure digital)卡、迷你安全數位(miniSD)卡、微型安全數位(microSD)卡、安全數位大容量(SDHC,secure digital high capacity)和通用快閃儲存器(UFS,universal flash storage)。
再例如,半導體記憶體系統10可以被提供為包括電子設備(諸
如電腦、超移動PC(UMPC,ultra-mobile PC)、工作站、網路本、個人數位助手(PDA,personal digital assistant)、可攜式電腦、網路平板電腦、無線電話、行動電話、智慧型電話、電子書閱讀器、可攜式多媒體播放機(PMP,portable multimedia player)、可攜式遊戲機、導航設備、黑匣子、數位相機、數位多媒體廣播(DMB,digital multimedia broadcasting)播放機、三維電視、智慧電視、數位答錄機、數位音訊播放機、數位圖像記錄儀、數位圖像播放機、數位錄影機、數位視訊播放機、資料中心的儲存設備、能夠在無線環境中收發資訊的設備、家用網路的電子設備中的一種、電腦網路的電子設備中的一種、遠端資訊處理網路的電子設備中的一種、射頻識別(RFID,radio-frequency identification)設備或計算系統的電子設備中的一種)的各種元件中的一種。
參照圖4A,記憶體控制器100可以包括儲存單元110、CPU 120、ECC單元130、主機介面(I/F)140、記憶體介面(I/F)150、系統匯流排160和對數似然比(LLR,log likelihood ratio)管理(MGT)單元170。儲存單元110可以操作作為CPU 120的工作記憶體。
主機介面140可以透過各種介面協定(諸如通用序列匯流排(USB,universal serial bus)、多媒體卡(MMC,multi-media card)、外設元件互連快速(PCI-E,peripheral component interconnect express)、小型電腦系統介面(SCSI,small computer system interface)、串列連接SCSI(SAS,serial-attached SCSI)、串列高級技術附件(SATA,serial advanced technology attachement)、並行高級技術附件(PATA,parallel advanced technology attachment)、增強型小型磁片介面(ESDI,enhanced small disk interface)和集成驅動電路(IDE,intergrated drive el))中的一種或更多種與主機通訊。
ECC單元130可以檢測和校正包括在從半導體記憶體裝置200讀取的資料中的錯誤。記憶體介面150可以與半導體記憶體裝置200介面。CPU 120可以執行各種控制操作。
LLR管理單元170可以確定是否更新在軟判決ECC解碼操作成功時使用的LLR表格,在需要時可以更新LLR表格,以及可以確定在下一軟判決ECC解碼操作中要使用LLR表格中的哪一個LLR表格。LLR表格可以被儲存在儲存單元110和LLR管理單元170中的一個中。LLR管理單元170可以安裝在ECC單元130中。
半導體記憶體裝置200可以包括記憶體單元陣列210、控制電路220、電壓供應單元230、電壓傳送單元240、讀取/寫入電路250和列選擇單元260。
記憶體單元陣列210可以包括多個記憶體區塊211。使用者資料可以被儲存在記憶體區塊211中。
參照圖4B,記憶體區塊211可以包括分別耦接至位元線BL0至BLm-1的多個單元串221。每列的單元串221可以包括一個或更多個汲極選擇電晶體DST和一個或更多個源極選擇電晶體SST。多個記憶體單元MC0至MCn-1(或記憶體單元電晶體)可以串列耦接在選擇電晶體DST和SST之間。記憶體單元MC0至MCn-1中的每個可以由在每個單元中儲存多位元的資料資訊的多層單元(MLC)形成。單元串211可以分別電耦接至位元線BL0至BLm-1。
圖4B示例性地圖示包括反及(NAND)型快閃記憶體單元的記憶體區塊211。然而,半導體記憶體裝置200的記憶體區塊211不局限於NAND快閃記憶體,而是可以包括反或(NOR)型快閃記憶體、其中組合兩種或更多
種類型的記憶體單元的混合快閃記憶體以及其中控制器被嵌入存儲晶片內部的一體NAND快閃記憶體(one-NAND flash memory)。半導體裝置的操作特性可以應用至其中電荷儲存層由絕緣層形成的電荷捕獲快閃記憶體(CTF,charge trap flash)以及其中電荷儲存層由導電浮閘形成的快閃記憶體裝置。
返回參照圖4A,控制電路220可以控制與半導體記憶體裝置200的程式設計操作、抹除操作和讀取操作有關的全部操作。
根據操作模式,電壓供應單元230可以將字元線電壓(例如,程式設計電壓、讀取電壓和透過電壓)提供給相應的字元線,並且可以將電壓提供給塊體(例如,其中形成有記憶體單元的阱區)。電壓供應單元230的電壓產生操作可以在控制電路220的控制下執行。
電壓供應單元230可以產生用於產生多個讀取資料的多個可變讀取電壓。
電壓傳送單元240可以選擇記憶體單元陣列210的記憶體區塊211(或磁區)中的一個,並且可以在控制電路220的控制下選擇選中記憶體區塊的字元線中的一個。電壓傳送單元240可以在控制電路220的控制下將從電壓供應單元230產生的字元線電壓提供給選中字元線或未選中字元線。
讀取/寫入電路250可以由控制電路220控制,並且可以根據操作模式來操作為感測放大器或寫入驅動器。例如,在驗證/讀取操作期間,讀取/寫入電路250可以操作為用於從記憶體單元陣列210讀取資料的感測放大器。在讀取操作期間,列選擇單元260可以基於列位址資訊來將從讀取/寫入電路250讀取的資料輸出至外部(例如,記憶體控制器100)。另一方面,在驗證操作期間,讀取資料可以被提供至包括在半導體記憶體裝置200中的透過/失敗驗證電
路(未圖示),以及可以用於確定記憶體單元的程式設計操作是否成功。
在程式設計操作期間,讀取/寫入電路250可以操作為用於基於要被儲存在記憶體單元陣列210中的資料來驅動位元線的寫入驅動器。在程式設計操作期間,讀取/寫入電路250可以從緩衝器(未圖示)接收要被寫入在記憶體單元陣列210中的資料,並且可以基於接收到的資料來驅動位元線。為此,讀取/寫入電路250可以包括分別與列(或位元線)或列對(或位元線對)相對應的多個頁緩衝器(PB,page buffer)251。多個鎖存器可以包括在頁緩衝器251的每個中。
參照圖4A和圖5,記憶體控制器100的操作可以包括第一ECC解碼步驟S510,並且可以另外包括第二ECC解碼步驟S530。
例如,第一ECC解碼步驟S510可以是對預定長度的資料的硬判決ECC解碼,預定長度的資料透過硬讀取電壓VHD從記憶體區塊211的記憶體單元讀取。第一ECC解碼步驟S510可以包括步驟S511至步驟S515。
例如,第二ECC解碼步驟S530可以是在第一ECC解碼步驟S510的硬判決ECC解碼最終失敗時,透過使用硬讀取電壓VHD周圍的軟讀取電壓VSD來形成軟判決資料而對資料進行的軟判決ECC解碼。第二ECC解碼步驟S530可以包括步驟S531至步驟S535。
在步驟S511,可以透過硬讀取電壓VHD從半導體記憶體裝置200讀取資料。記憶體控制器100可以將讀取指令和位址提供給半導體記憶體裝置200。半導體記憶體裝置200可以回應於讀取指令和位址來使用硬讀取電壓VHD從其讀取資料。讀取資料可以提供給記憶體控制器100。
在步驟S513,可以執行作為第一ECC解碼的硬判決ECC解碼。
ECC單元130可以透過使用錯誤校正碼來對透過硬讀取電壓VHD從半導體記憶體裝置200讀取的資料(以下“硬讀取資料”)執行硬判決ECC解碼。
在步驟S515,可以確定硬判決ECC解碼是成功還是失敗。即,在步驟S515處,可以確定在步驟S513處透過硬判決ECC解碼從硬讀取資料解碼的資料(以下“硬讀取解碼資料”)的錯誤是否被校正。例如,記憶體控制器100可以透過使用同位矩陣來確定硬讀取解碼資料的錯誤是否被校正。例如,當同位矩陣與硬讀取解碼資料的乘積結果是零向量(“0”)時,可以確定硬讀取解碼資料被校正。另一方面,當同位矩陣與硬讀取解碼資料的乘積結果不是零向量(“0”)時,可以確定硬讀取解碼資料未被校正。
當作為步驟S515的確定結果而確定硬讀取解碼資料被校正時,可以在步驟S520處確定在步驟S511處透過硬讀取電壓VHD的讀取操作成功,並且記憶體控制器100的操作可以結束。硬讀取解碼資料現在可以是錯誤校正的資料,並且可以向外提供或者用在記憶體控制器100中。
當作為步驟S515的確定結果而確定硬讀取解碼資料未被校正時,可以執行第二ECC解碼步驟S530。
在步驟S531,可以透過軟讀取電壓VSD從半導體記憶體裝置200讀取資料。例如,可以對透過硬讀取電壓VHD對其執行第一ECC解碼步驟S510的記憶體單元執行透過軟讀取電壓VSD的額外讀取操作。軟讀取電壓VSD可以具有與硬讀取電壓VHD不同的位準。
在步驟S533,可以執行作為第二ECC解碼的軟判決ECC解碼。可以基於包括硬讀取資料和透過軟讀取電壓VSD從記憶體單元讀取的軟讀取資料的資料來執行軟判決ECC解碼。硬讀取電壓VHD和軟讀取電壓VSD可以具有
不同的位準。
例如,半導體記憶體裝置200的記憶體單元MC0至MCn-1中的每個可以屬於包括7個程式設計狀態P1至P7和1個抹除狀態E的臨界電壓分佈中的一個。
硬讀取電壓VHD可以具有在多個狀態(E和P1至P7)的2個相鄰狀態之間的位準。軟讀取電壓VSD中的每個(其不同於硬讀取電壓VHD)可以具有在多個狀態(E和P1至P7)的2個相鄰狀態之間的位準。
透過硬讀取電壓VHD從記憶體單元MC0至MCn-1讀取的硬讀取資料以及透過軟讀取電壓VSD從記憶體單元MC0至MCn-1讀取的軟讀取資料可以具有不同的值。例如,在記憶體單元MC0至MCn-1中可以存在具有比正常邏輯狀態的臨界電壓分佈高或低的臨界電壓的尾記憶體單元(tailed memory cell)。透過硬讀取電壓VHD從尾記憶體單元讀取的硬讀取資料以及透過軟讀取電壓VSD從尾記憶體單元讀取的軟讀取資料可以具有不同的值。當執行透過軟讀取電壓VSD的額外讀取操作以及透過硬讀取電壓VHD的讀取操作時,可以獲得有關於記憶體單元MC0至MCn-1(即,尾記憶體單元)的臨界電壓的額外資訊。
當獲得額外資訊時,記憶體單元MC0至MCn-1的資料屬於第一狀態(即,“1”)或第二狀態(即,“0”)的概率(即,似然比)可以增加。即,ECC解碼的可靠性可以增加。記憶體控制器100可以基於透過硬讀取電壓VHD的硬讀取資料以及透過軟讀取電壓VSD的軟讀取資料來執行軟判決ECC解碼。
在步驟S535,可以確定軟判決ECC解碼是成功還是失敗。即,在步驟S535,可以確定在步驟S533處透過軟判決ECC解碼而從軟讀取資料解
碼的資料(以下“軟讀取解碼資料”)的錯誤是否被校正。例如,記憶體控制器100可以透過使用同位矩陣來確定軟讀取解碼資料的錯誤是否被校正。例如,當同位矩陣與軟讀取解碼資料的乘積結果是零向量(“0”)時,可以確定軟讀取解碼資料被校正。另一方面,當同位矩陣與軟讀取解碼資料的乘積結果不是零向量(“0”)時,則可以確定軟讀取解碼資料未被校正。
在第一ECC解碼步驟S510期間的同位矩陣與硬讀取解碼資料的乘積處理可以與在第二ECC解碼步驟S530期間的同位矩陣與軟讀取解碼資料的乘積處理相同。
當作為步驟S535的確定結果而確定軟讀取解碼資料被校正時,可以在步驟S520確定在步驟S531處透過軟讀取電壓VSD的讀取操作成功,並且記憶體控制器100的操作可以結束。軟讀取解碼資料現在可以是錯誤校正的資料,並且可以向外提供或者用在記憶體控制器100中。
當作為步驟S535的確定結果而確定軟讀取解碼資料未被校正時,可以在步驟S540確定記憶體控制器100對記憶體單元MC0至MCn-1的讀取操作最終失敗,並且記憶體控制器100的操作可以結束。
圖6A是圖示由泰納圖(tanner graph)表示的LDPC解碼的示意圖。
圖6B是圖示LDPC碼的示意圖。
圖6C是圖示根據LDPC解碼的校驗子校驗(syndrome check)處理的示意圖。
錯誤效驗碼(ECC)通常用在儲存系統中。在儲存設備中出現的各種物理現象導致惡化儲存資訊的噪音效應。錯誤校正編碼方案可以用於保
護儲存資訊避免錯誤。這透過在將資訊儲存在記憶體裝置中之前將資訊編碼來完成。編碼處理透過將冗餘添加至資訊來將資訊位元序列變換為碼字。然後可以使用該冗餘來透過解碼處理從可能惡化的碼字恢復資訊。
在反覆運算編碼方案中,碼被構造為幾個簡單構成碼的串接,並且透過在接收簡單構成碼的解碼器之間交換資訊而基於反覆運算解碼演算法來解碼。通常,碼可以使用描述構成碼之間的互連的二部圖(bipartite graph)或泰納圖來定義。在這種情況下,解碼可以被視為透過圖形邊緣的反覆運算消息。
反覆運算碼可以包括低密度同位(LDPC)碼。LDPC碼是由稀疏同位矩陣H定義的線性二元分組碼(linear binary block code)。
參照圖6A,LDPC碼具有同位矩陣,其中,同位矩陣在每行(row)和每列(column)中包括非常少量的1,LDPC碼的結構可以透過泰納圖來定義,其中,泰納圖包括校驗節點610、可變節點620和用於連接校驗節點610與可變節點620的邊緣615。在校驗節點處理之後從校驗節點610發送至可變節點620的值變為校驗節點消息615A,在可變節點處理之後從可變節點620發送至校驗節點610的值變為可變節點消息615B。
初始消息是由可變節點620處理的輸入對數似然比(LLR)。之後將詳細描述LLR。
基於“和-積”演算法透過反覆運算解碼來執行LDPC碼的解碼處理。可以基於作為和-積演算法的簡化版本的諸如“最小和”演算法的次優消息傳遞演算法(suboptimal message-passing algorithm)來提供解碼方法。
例如,參照圖6B,LDPC碼的泰納圖包括:表示LDPC碼的同位等式的5個校驗節點610、表示碼符號的10個可變節點620、以及表示校驗
節點610與可變節點620之間的關係的邊緣615。邊緣615將每個校驗節點610連接至可變節點620中的相對應的可變節點620,可變節點620表示包括在由校驗節點610表示的同位等式中的碼符號。圖6B示例性圖示規則LDPC碼,其中耦接至校驗節點610中的每個的可變節點620的數量固定為4,耦接至可變節點620中的每個的校驗節點610數量固定為2。
圖6C示出與泰納圖相對應的同位矩陣H。同位矩陣H與同位等式的圖形表示相類似。在同位矩陣H中,在行和列二者中都包括相同數量的1。即,同位矩陣H的每列具有同每個可變節點620與校驗節點610之間的連接相對應的兩個1,每行具有同每個校驗節點610與可變節點620之間的連接相對應的四個1。
透過反覆運算在泰納圖中的可變節點620與校驗節點610之間交換消息(在每個節點中產生和更新)的處理來執行解碼LDPC碼的處理。在這種情況下,每個節點基於和-積演算法或類似的次優演算法來更新消息。
對具有預定長度的資料(透過第一硬讀取電壓VHD從記憶體區塊211的記憶體單元讀取)的LDPC解碼可以包括多個反覆運算,每個反覆運算包括校驗節點610的更新、可變節點620的更新以及在可變節點620的初始更新之後的校驗子校驗。在單個反覆運算之後,當校驗子校驗的結果滿足預定條件時,LDPC解碼可以結束。當校驗子校驗的結果不滿足預定條件時,可以對記憶體區塊211的記憶體單元執行另一單個反覆運算。反覆運算次數可以局限於最大讀取計數。當校驗子校驗的結果不滿足預定條件直到反覆運算次數達到最大讀取計數為止時,對資料的LDPC解碼可以被確定為ECC解碼失敗。
參照圖6C,校驗子校驗是識別同位矩陣H與向量“v”的乘積結
果Hvt是否滿足預定條件的處理,其中,向量“v”透過更新可變節點620而獲得。當同位矩陣H與向量“v”的乘積結果Hvt變成零向量(“0”)時,則乘積結果Hvt可以被評估為滿足預定條件。
圖6C示出校驗子校驗處理。圖6C示例性示出非零向量“01000”作為乘積結果Hvt,因此圖6C示出了校驗子校驗不滿足預定條件並且應當執行另一單個反覆運算。
圖7A是圖示記憶體單元的臨界電壓分佈的各個形態以及與臨界電壓分佈相對應的合適的LLR值的示意圖。
圖7B是圖示根據本發明的實施例的LLR值的更新的示意圖。
圖7C是圖示根據本發明的實施例的獲得每個LLR值的錯誤位元的數量和非錯誤位元的數量的處理的示意圖。
如上面參照圖5所描述的,第二ECC解碼步驟S530可以是在第一ECC解碼步驟S510的硬判決ECC解碼最終失敗時,透過使用硬讀取電壓VHD周圍的軟讀取電壓VSD來形成軟判決資料而對資料進行軟判決ECC解碼的步驟。
可以透過多個軟讀取電壓VSD來執行軟判決ECC解碼,每個軟讀取電壓VSD在電壓位準上與預定硬讀取電壓VHD間隔開不同的量化間距的量。例如,低密度同位(LDPC)解碼(是適用於NAND快閃記憶體裝置的軟判決ECC解碼技術中的一種)透過基於軟讀取資料或對數似然比(LLR)以反覆運算方式來執行軟判決ECC解碼而具有很好的性能。
在LDPC解碼期間,可以透過多個軟讀取電壓VSD經由對記憶體單元的讀取操作來產生LLR,其中,每個軟讀取電壓VSD具有距離預定硬讀
取電壓VHD的不同的量化間隔。
圖7A示例性圖示記憶體單元的臨界電壓分佈以及用於讀取儲存在記憶體單元中的資料的讀取電壓。讀取電壓示例性地包括單個預定硬讀取電壓(“讀取偏壓”)和六個軟讀取電壓VSD,每個軟讀取電壓VSD具有距離預定硬讀取電壓(“讀取偏壓”)的不同的量化間隔。六個軟讀取電壓VSD形成與七個LLR值相對應的七個軟位準部分,七個LLR值是範圍從-3到3的整數。軟讀取電壓VSD的位準或軟位準可以分別透過量化間隔的大小來確定。
另外,圖7A示例性示出與臨界電壓分佈的各個形態相對應的合適的LLR值。LLR值可以表示從記憶體單元讀取的資料是“1”或“0”的概率指數,並且可以由式1表示。
當由式1表示的LLR值是正數時,讀取資料是“0”的概率相對高。當LLR值是負數時,讀取資料是“1”的概率相對高。LLR值的大小表示概率的可靠性。LLR值的大小越大,概率的可靠性越大。
例如,如圖7A所示,與比預定硬讀取電壓(“讀取偏壓”)低的臨界電壓分佈相對應的負LLR值可以表示透過比預定硬讀取電壓(“讀取偏壓”)低的讀取電壓讀取的資料具有為“1”的更高概率。另一方面,與比預定硬讀取電壓(“讀取偏壓”)高的臨界電壓分佈相對應的正LLR值可以表示透過比預定硬讀取電壓(“讀取偏壓”)高的讀取電壓讀取的資料具有為“0”的更高概率。
直觀地,相對難以確定透過圖7A的臨界電壓分佈的重疊部分的
讀取電壓讀取的資料是“0”還是“1”,並且難以相信確定結果具有好的可靠性。另一方面,確定透過圖7A的臨界電壓分佈的非重疊部分的讀取電壓讀取的資料是“0”還是“1”相對容易,並且容易相信確定結果具有好的可靠性。
可靠性由LLR值的大小來表示。例如,如圖7A所示,隨著臨界電壓分佈重疊更多,LLR值的大小變得更小,並且隨著臨界電壓分佈重疊更少,LLR值的大小變得更大。
例如,用於讀取資料的LLR值可以用在LDPC解碼處理中。用於讀取資料的LLR值可以用作以上參照圖6A至圖6C所描述的LDPC解碼處理的輸入值。LDPC解碼處理假設:在讀取資料有錯誤時,LLR值的大小更小。因此,當參照圖6A至圖6C描述的單個反覆運算失敗時,記憶體控制器100可以基於單個反覆運算的結果來改變LLR值,並且可以基於改變的LLR值來再次執行單個反覆運算以用於錯誤校正。
可以在假設記憶體單元的臨界電壓分佈的初始形態的情況下確定初始LLR值。例如,如圖7A所示,對於具有“壽命起點(SOL,start of life)”狀態的記憶體單元的臨界電壓分佈,軟位準部分可以位於臨界電壓分佈的重疊部分的中心上。
臨界電壓分佈的初始形態可以透過記憶體單元特性的劣化而變得變形或扭曲。在這種情況下,採用初始LLR值的錯誤校正不會成功。由於各種原因,臨界電壓分佈可以變形或扭曲,諸如圖7A中示例性地示出的“受壓分佈”、“偏移分佈”和“非對稱分佈”。應當根據臨界電壓分佈的變形或扭曲來更新軟位準部分和對應的LLR值。透過根據臨界電壓分佈的變形或扭曲而更新的LLR值的錯誤校正可以具有比透過初始LLR值的錯誤校正更高的成功機會。
可以基於預定硬讀取電壓(“讀取偏壓”)來改變軟位準部分,硬讀取電壓(“讀取偏壓”)可以根據臨界電壓分佈的變形或扭曲來確定。
圖7B示例性圖示當存在記憶體單元的臨界電壓分佈的變形或扭曲時,根據本發明的實施例的更新軟位準部分的LLR值的處理。
參照圖7B,預設LLR值(“預設LLR”)被示例性地設置為範圍為從-3到3的七個整數,七個整數分別對應於七個軟位準部分。
當記憶體控制器100對來自具有如圖7B所示的變形或扭曲的臨界電壓分佈的記憶體單元的讀取資料執行ECC解碼操作時,對於與軟位準部分相對應的相應LLR值來講,讀取資料的二進位位元可以被分類為錯誤位元和非錯誤位元。記憶體控制器100可以透過將預設LLR值(“預設LLR”)分配至讀取資料的每個二進位位元來對讀取資料執行ECC解碼操作,並且可以將讀取資料的每個二進位位元確定為錯誤位元和非錯誤位元中的一個。從讀取資料檢測到錯誤位元並非意味著ECC解碼操作的失敗,ECC解碼操作可以透過檢測到的錯誤位元的錯誤校正而成功。
圖7B示例性地圖示作為ECC解碼操作的結果的對於分別與軟位準部分相對應的每個LLR值來講的錯誤位元的數量和非錯誤位元的數量。圖7C示例性地圖示針對分別與軟位準部分相對應的每個LLR值來獲得錯誤位元的數量和非錯誤位元的數量的處理。
參照圖7C,例如,當從記憶體單元讀取的資料(“讀取資料”)的二進位位元是“0 1 1 0 0 1 0 1 1”時,記憶體控制器100可以透過將值“3 -3 -1 1 0 -2 3 -1 -2”作為預設LLR值(“預設LLR”)的對應預設LLR值(“對應LLR”)分配至讀取資料(“0 1 1 0 0 1 0 1 1”)的相應的二進位位元,來對讀取的資料(“讀
取資料”)的二進位位元執行ECC解碼操作或LDPC解碼操作,並且可以將讀取資料的每個二進位位元確定為錯誤位元和非錯誤位元中的一個。當作為LDPC解碼操作的結果的解碼的資料(“解碼資料”)是“0 1 1 1 0 1 0 0 1”時,對於被分別分配至二進位位元的預設LLR值中的每個,可以獲得錯誤位元的數量和非錯誤位元的數量。例如,圖7C圖示對於被分配的預設LLR值(“預設LLR”)“-1”來講的錯誤位元的數量和非錯誤位元的數量分別是“1”。
返回參照圖7B,根據本發明的實施例,可以基於獲得的錯誤位元的數量和非錯誤位元的數量來更新LLR值。圖7B示例性地圖示值“-2.52 -0.95 -0.28 0.10 0.78 1.73 2.70”作為更新LLR值(“估計新LLR”)。圖7B中圖示的整數LLR值(“新LLR(3位元整數)”)可以透過將更新LLR值(“估計新LLR”)四捨五入從更新LLR(“估計新LLR”)獲得。
根據本發明的實施例,可以透過式2來更新LLR值。
式2的結果可以表示LLR值,LLR值可以透過以上參照圖5描述的軟判決ECC解碼來估計。
如上所述,可以透過多個軟讀取電壓VSD來執行軟判決ECC解碼,每個軟讀取電壓VSD在電壓位準上與預定硬讀取電壓VHD間隔開不同的量化間隔的量。因此,記憶體控制器100可以這樣執行軟判決ECC解碼,即:使用多個軟讀取電壓VSD來執行多個軟讀取操作;確定來自記憶體單元的讀取資
料的二進位位元所屬的軟位準部分;以及將與確定的軟位準部分相對應的LLR值分配至讀取資料的二進位位元。
可以根據式3來估計要被分配至讀取資料的二進位位元的LLR值,式3基於式1。
式3可以表示為下面的式4。
圖7B示例性圖示與範圍為從-3到3的七個整數LLR值相對應的七個軟位準部分。七個軟位準部分由六個軟讀取電壓VSD形成,每個軟讀取電壓VSD在電壓位準上與預定硬讀取電壓(“讀取偏壓”)間隔開不同的量化間隔的量。例如,作為ECC解碼結果的被分配值為“-2”的預設LLR值(“預設LLR”)的二進位位元之中,錯誤位元的數量是25,非錯誤位元的數量是225。直觀地,在對應於值為“-2”的預設LLR值(“預設LLR”)並在電壓位準上低於預定硬讀取電壓(“讀取偏壓”)的軟位準部分中,被確定為“1”的位元是非錯誤位元,被確定為“0”的位元是錯誤位元。
在電壓位準比預定硬讀取電壓(“讀取偏壓”)低的負預設LLR值(“預設LLR”)的軟位準部分中,被確定為“1”的位元是非錯誤位元,被確定為“0”的位元是錯誤位元。類似地,在電壓位準比預定硬讀取電壓(“讀取偏壓”)高的正預設LLR值(“預設LLR”)的軟位準部分中,被確定為“1”的位元是錯誤位元,被確定為“0”的錯誤位元是非錯誤位元。
因此,使用被確定為“0”和“1”的位的數量的式3可以被表示為使
用錯誤位元和非錯誤位元的數量的式4。
結果,根據本發明的實施例,記憶體控制器100可以透過分別將預設LLR值(“預設LLR”)分配至讀取資料的二進位位元來執行軟判決ECC解碼。結果,記憶體控制器100可以透過針對被分配的預設LLR值(“預設LLR”)的錯誤位元的數量和非錯誤位元的數量以及式2或式4來更新LLR值。
例如,如圖7B所示,當在作為ECC解碼的結果的被分配值為“-2”的預設LLR值(“預設LLR”)的二進位位元之中,錯誤位元的數量是25而非錯誤位元的數量是225時,預設LLR值(“預設LLR”)的值“-2”可以被更新為值“-0.95”作為更新LLR值(“估計新LLR”),或者被更新為值“-1”作為整數LLR值(“新LLR(3位元整數)”)。
圖8A是圖示根據本發明的實施例的記憶體控制器100的操作的流程圖。
圖8A中圖示的操作可以對應於以上參照圖5描述的第二ECC解碼步驟S530。例如,圖8A中圖示的操作可以是在第一ECC解碼步驟S510的硬判決ECC解碼最終失敗時,透過形成針對軟讀取電壓VSD的軟判決資料而對資料進行的軟判決ECC解碼操作。
在步驟S811,記憶體控制器100可以例如透過與以上參照圖7A至圖7C描述的七個軟位準部分相對應的六個軟讀取電壓VSD來從半導體記憶體裝置200讀取資料。例如,記憶體控制器100可以使用軟讀取電壓VSD對使用硬讀取電壓VHD對其執行第一ECC解碼步驟S510的記憶體單元執行額外讀取
操作。軟讀取電壓VSD可以具有與硬讀取電壓VHD不同的位準。記憶體控制器100可以透過使用與軟位準部分相對應的多個軟讀取電壓VSD執行多個軟讀取操作,來確定讀取資料的位元屬於軟位準部分中的哪一個。
在步驟S813,記憶體控制器100可以透過參考預設LLR表LLRTDFLT來將預設LLR值分別分配至步驟S811的讀數資料的二進位位元。預設LLR表LLRTDFLT可以定義分別分配給軟位準部分的預設LLR值。預設LLR表LLRTDFLT可以被儲存在儲存單元110和LLR管理單元170中的一個中。
在步驟S815,記憶體控制器100可以基於被分配至讀取資料的二進位位元的預設LLR值來執行軟判決ECC解碼操作。可以由ECC單元130來執行軟判決ECC解碼操作。可以基於包括對其執行硬判決ECC解碼的硬讀取資料以及透過軟讀取電壓VSD從記憶體單元讀取的軟讀取資料的資料來執行軟判決ECC解碼操作。硬讀取電壓VHD和軟讀取電壓VSD可以具有不同的位準。當透過軟讀取電壓VSD的額外讀取操作以及透過硬讀取電壓VHD的讀取操作被執行時,可以獲得有關於記憶體單元的臨界電壓的額外資訊。當獲得額外資訊時,記憶體單元的資料屬於第一狀態(即,“1”)或第二狀態(即,“0”)的概率(即,似然比)可以增大。即,ECC解碼的可靠性可以提高。記憶體控制器100可以基於透過硬讀取電壓VHD的硬讀取資料以及透過軟讀取電壓VSD的軟讀取資料來執行軟判決ECC解碼操作。
在步驟S817,可以判斷軟判決ECC解碼是成功還是失敗。即,在步驟S817,可以判斷在步驟S815透過軟判決ECC解碼從軟讀取資料解碼的軟讀取解碼資料的錯誤是否被校正。例如,記憶體控制器100可以透過使用同位矩陣來確定軟讀取解碼資料的錯誤是否被校正。例如,當同位矩陣與軟讀取
解碼資料的乘積結果是零向量(“0”)時,可以確定軟讀取解碼資料被校正。另一方面,當同位矩陣與軟讀取解碼資料的乘積結果不是零向量(“0”)時,可以確定軟讀取解碼資料未被校正。
當作為步驟S817的判斷結果而確定軟讀取解碼資料被校正時,在步驟S819可以確定在步驟S811透過軟讀取電壓VSD的讀取操作成功。
當在步驟S819確定步驟S815處的軟判決ECC解碼操作成功時,記憶體控制器100的LLR管理單元170可以在步驟S821確定是否產生或更新更新LLR表格LLRTUPDT。更新LLR表格LLRTUPDT可以定義如以上參照圖7B所描述的更新LLR值(“估計新LLR”)或整數LLR值(“新LLR(3位元整數)”)。例如,LLR管理單元170可以基於以下因素中的一個或更多個來確定是否產生或更新更新LLR表格LLRTUPDT:(1)作為步驟S815的軟判決ECC解碼操作的成功結果的讀取資料中的錯誤校正位元的數量(即,步驟S811處的讀取資料的錯誤位元之中的透過軟判決ECC解碼操作而校正的位的數量);(2)在步驟S815的軟判決ECC解碼操作成功以前軟讀取操作的數量;以及(3)以上參照圖6C描述的LDPC解碼操作的反覆運算次數。例如,當考慮錯誤校正位元的數量而軟讀取操作的數量以及LDPC解碼操作的反覆運算次數中的一個或更多個相對大時,LLR管理單元170可以確定產生或更新更新LLR表格LLRTUPDT。例如,當對於預定數量的錯誤校正位元來講,軟讀取操作的數量以及LDPC解碼操作的反覆運算次數中的一個或更多個大於預定閾值時,LLR管理單元170可以確定產生或更新更新LLR表格LLRTUPDT。
當作為步驟S821的結果而確定不產生或更新更新LLR表格LLRTUPDT時,軟判決ECC解碼可以結束。軟讀取解碼資料現在可以是錯誤校正
的資料,並且可以向外提供或用在記憶體控制器100中。
例如,當作為步驟S821的結果而確定產生或更新更新LLR表格LLRTUPDT時,如果更新LLR表格LLRTUPDT已經產生,則LLR管理單元170在步驟S823處可以更新更新LLR表格LLRTUPDT,如果更新LLR表格LLRTUPDT還未產生,則LLR管理單元170可以產生更新LLR表格LLRTUPDT。再例如,當作為步驟S821的結果而確定產生或更新更新LLR表格LLRTUPDT時,LLR管理單元170在步驟S823處可以更新初始儲存的更新LLR表格LLRTUPDT。更新LLR表格LLRTUPDT可以儲存在儲存單元110和LLR管理單元170中的一個中。
在步驟S823,可以根據上述式2來產生或更新更新LLR表格LLRTUPDT。
當作為步驟S817的判斷結果而確定軟讀取解碼資料未被校正時,則在步驟S825,記憶體控制器100可以確定被分配至步驟S811的讀取資料的每個位元的LLR值是否來自更新LLR表格LLRTUPDT。根據本發明的實施例,當確定使用預設LLR表格LLRTDFLT的LLR值的軟判決ECC解碼操作失敗時,可以使用更新LLR表格LLRTUPDT的LLR值來額外執行軟判決ECC解碼操作。在步驟S825,記憶體控制器100可以確定步驟S815的當前軟判決ECC解碼操作是否使用更新LLR表格LLRTUPDT的LLR值而被額外地執行。
當在步驟S825確定步驟S815的當前軟判決ECC解碼操作被使用更新LLR表格LLRTUPDT的LLR值來額外執行時,則在步驟S827可以確定在步驟S811透過軟讀取電壓VSD的讀取操作最終失敗,並且記憶體控制器100的操作可以結束。
當在步驟S825確定步驟S815的當前軟判決ECC解碼操作被使
用預設LLR表格LLRTDFLT的LLR值來執行時,記憶體控制器100在步驟S829可以將在步驟S823產生或更新的更新LLR表格LLRTUPDT的LLR值分配至讀取資料的二進位位元,在此之後,記憶體控制器100可以重複步驟S815至步驟S827,以進行使用更新LLR表格LLRTUPDT的LLR值的另一軟判決ECC解碼操作。
圖8B是圖示根據本發明的實施例的記憶體控制器100的操作的流程圖。
圖8B中圖示的操作可以對應於以上參照圖5描述的第二ECC解碼步驟S530。例如,圖8B中圖示的操作可以是在第一ECC解碼步驟S510的硬判決ECC解碼最終失敗時,透過形成針對軟讀取電壓VSD的軟判決資料而對資料進行的軟判決ECC解碼操作。
根據以上參照圖8A描述的本發明的實施例,可以首先使用被分配至讀取資料的二進位位元的預設LLR表格LLRTDFLT的LLR值來執行軟判決ECC解碼操作。當確定使用預設LLR表格LLRTDFLT的LLR值的軟判決ECC解碼操作失敗時,可以使用被分配至讀取資料的二進位位元的更新LLR表格LLRTUPDT的LLR值來執行額外軟判決ECC解碼操作。
如上所述,預設LLR表格LLRTDFLT可以定義被分別賦值給軟位準部分的預設LLR值,更新LLR表格LLRTUPDT可以定義分別針對軟位準部分而更新的更新LLR值。
根據參照圖8B描述的本發明的實施例,可以首先使用被分配至讀取資料的二進位位元的第一LLR表格LLRTRCNT的LLR值來執行軟判決ECC解碼操作。第一LLR表格LLRTRCNT可以是預設LLR表格LLRTDFLT和更新LLR表格LLRTUPDT中的一個,第一LLR表格LLRTRCNT用於最近成功的軟判決ECC
解碼操作。
當確定使用第一LLR表格LLRTRCNT的軟判決ECC解碼操作失敗時,可以使用被分配至讀取資料的二進位位元的第二LLR表格LLRTOTHER的LLR值來執行軟判決ECC解碼操作。第二LLR表格LLRTOTHER可以是預設LLR表格LLRTDFLT和更新LLR表格LLRTUPDT中的另一個,第二LLR表格LLRTOTHER不同於第一LLR表格LLRTRCNT。
例如,半導體記憶體裝置200的記憶體區塊211中的基本上彼此相鄰的記憶體單元可以因相似的劣化特性而具有基本上相似的臨界電壓分佈。因此,當被分配至當前成功的軟判決ECC解碼操作的資料單元的LLR值被再次分配至另一資料單元,以用於下一軟判決ECC解碼操作時,下一軟判決ECC解碼操作的成功可能性可以提高。另一方面,半導體記憶體裝置200的記憶體區塊211中的彼此基本上遠離的記憶體單元可以因不同的劣化特性而具有基本上不同的臨界電壓分佈。因此,即使在對資料單元的當前軟判決ECC解碼操作成功之後,使用預設LLR表格LLRTDFLT的預設LLR值對遠離該資料單元的另一資料單元進行下一軟判決ECC解碼操作的成功可能性也可以比使用更新LLR表格LLRTUPDT的更新LLR值要高。
因此,使用不同於第一LLR表格LLRTRCNT的第二LLR表格LLRTOTHER的LLR值的軟判決ECC解碼操作也可以成功。當確定使用第一LLR表格LLRTRCNT的軟判決ECC解碼操作失敗時,可以使用第二LLR表格LLRTOTHER的LLR值來執行軟判決ECC解碼操作。
在步驟S851,記憶體控制器100可以例如透過對應於以上參照圖7A至圖7C描述的七個軟位準部分的六個軟讀取電壓VSD來從半導體記憶體
裝置200讀取資料。例如,記憶體控制器100可以使用軟讀取電壓VSD來對使用硬讀取電壓VHD對其執行第一ECC解碼步驟S510的記憶體單元執行額外讀取操作。軟讀取電壓VSD可以具有不同於硬讀取電壓VHD的位準。記憶體控制器100可以透過使用對應於軟位準部分的多個軟讀取電壓VSD執行多個軟讀取操作來確定讀取資料的位元屬於軟位準部分中的哪一個。
在步驟S853,記憶體控制器100可以透過參考第一LLR表格LLRTRCNT來將LLR值分別分配至步驟S851的讀取資料的二進位位元。最初,預設LLR表格LLRTDFLT可以是第一LLR表格LLRTRCNT,更新LLR表格LLRTUPDT可以是第二LLR表格LLRTOTHER。第一LLR表格LLRTRCNT和第二LLR表格LLRTOTHER可以被儲存在儲存單元110和LLR管理單元170中的一個中。
在步驟S855,記憶體控制器100可以基於被分配至讀取資料的二進位位元的第一LLR表格LLRTRCNT的LLR值來執行軟判決ECC解碼操作。軟判決ECC解碼操作可以由ECC單元130來執行。可以基於包括對其執行硬判決ECC解碼的硬讀取資料和透過六個軟讀取電壓VSD從記憶體單元讀取的軟讀取資料的資料來執行軟判決ECC解碼操作。硬讀取電壓VHD和軟讀取電壓VSD可以具有不同的位準。當透過軟讀取電壓VSD的額外讀取操作以及透過硬讀取電壓VHD的讀取操作被執行時,可以獲得有關於記憶體單元的臨界電壓的額外資訊。當獲得額外資訊時,記憶體單元的資料屬於第一狀態(即,“1”)或第二狀態(即,“0”)的概率(即,似然比)可以增加。即,ECC解碼的可靠性可以提高。記憶體控制器100可以基於透過硬讀取電壓VHD的硬讀取資料和透過軟讀取電壓VSD的軟讀取資料來執行軟判決ECC解碼操作。
在步驟S857,可以確定軟判決ECC解碼成功還是失敗。即,在
步驟S857,可以確定在步驟S855透過軟判決ECC解碼從軟讀取資料解碼的軟讀取解碼資料的錯誤是否被校正。例如,記憶體控制器100可以透過使用同位矩陣來確定軟讀取解碼資料的錯誤是否被校正。例如,當同位矩陣與軟讀取解碼資料的乘積結果是零向量(“0”)時,可以確定軟讀取解碼資料被校正。另一方面,當同位矩陣與軟讀取解碼資料的乘積結果不是零向量(“0”)時,可以確定軟讀取解碼資料未被校正。
當作為步驟S857的確定結果而確定軟讀取解碼資料被校正時,在步驟S859可以確定在步驟S851透過軟讀取電壓VSD的讀取操作成功。
當在步驟S859確定步驟S855處的軟判決ECC解碼操作成功時,在步驟S861,記憶體控制器100的LLR管理單元170可以確定是否更新更新LLR表格LLRTUPDT。例如,LLR管理單元170可以基於以下因素中的一個或更多個來確定是否更新更新LLR表格LLRTUPDT:(1)作為步驟S855的軟判決ECC解碼操作的成功結果的讀取資料中的錯誤校正位元的數量(即,步驟S851處的讀取資料的錯誤位元之中的透過軟判決ECC解碼操作校正的位的數量);(2)在步驟S855的軟判決ECC解碼操作成功以前軟讀取操作的數量;以及(3)以上參照圖6C描述的LDPC解碼操作的反覆運算次數。例如,當考慮錯誤校正位元的數量而軟讀取操作的數量以及LDPC解碼操作的反覆運算次數中的一個或更多個相對大時,LLR管理單元170可以確定更新更新LLR表格LLRTUPDT。
當作為步驟S861的結果而確定不更新更新LLR表格LLRTUPDT時,軟判決ECC解碼可以結束。軟讀取解碼資料現在可以是錯誤校正的資料,並且可以向外提供或用在記憶體控制器100中。
例如,當作為步驟S861的結果而確定更新更新LLR表格
LLRTUPDT時,在步驟S863,LLR管理單元170可以更新更新LLR表格LLRTUPDT。
在步驟S863,可以根據上述式2來更新更新LLR表格LLRTUPDT。
當作為步驟S857的確定結果而確定軟讀取解碼資料未被校正時,在步驟S865,記憶體控制器100可以確定被分配至步驟S851的讀取資料的每個位元的LLR值是否來自第二LLR表格LLRTOTHER。根據本發明的實施例,當確定使用第一LLR表格LLRTRCNT的LLR值的軟判決ECC解碼操作失敗時,可以使用第二LLR表格LLRTOTHER的LLR值來額外執行軟判決ECC解碼操作。在步驟S865,記憶體控制器100可以確定步驟S855的當前軟判決ECC解碼操作是否被使用第二LLR表格LLRTOTHER的LLR值來額外地執行。
當在步驟S865確定步驟S855的當前軟判決ECC解碼被使用第二LLR表格LLRTOTHER的LLR值來額外地執行時,在步驟S867可以確定步驟S851處的透過軟讀取電壓VSD的讀取操作最終失敗,並且記憶體控制器100的操作可以結束。
當在步驟S865確定步驟S855的當前軟判決ECC解碼操作被使用第一LLR表格LLRTRCNT的LLR值來執行時,記憶體控制器100在步驟S869可以將第二LLR表格LLRTOTHER的LLR值分配至讀取資料的二進位位元,在此之後,記憶體控制器100可以重複步驟S855至步驟S867,以進行使用第二LLR表格LLRTOTHER的LLR值的另一軟判決ECC解碼操作。
圖9是圖4A中示出的記憶體單元陣列210的方塊圖。
參照圖9,記憶體單元陣列210可以包括多個記憶體區塊BLK1
至BLKh。記憶體區塊BLK1至BLKh中的每個可以具有3D結構或垂直結構。例如,多個記憶體區塊BLK1至BLKh中的每個可以包括沿第一方向至第三方向延伸的結構。
多個記憶體區塊BLK1至BLKh中的每個可以包括沿第二方向延伸的多個NAND串NS。多個NAND串NS可以沿第一方向和第三方向設置。NAND串NS中的每個可以耦接至位元線BL、一個或更多個串選擇線SSL、一個或更多個接地選擇線GSL、多個字元線WL、一個或更多個虛設字元線DWL以及共源極線CSL。即,多個記憶體區塊BLK1至BLKh中的每個可以耦接至多個位元線BL、多個串選擇線SSL、多個接地選擇線GSL、多個字元線WL、多個虛設字元線DWL以及多個共源極線CSL。
圖10為圖9中示出的多個記憶體區塊BLK1至BLKh中的一個記憶體區塊BLKi的透視圖。圖11是沿圖10中示出的記憶體區塊BLKi的I-I'線截取的剖面圖。
參照圖10和圖11,記憶體區塊BLKi可以包括沿第一方向至第三方向延伸的結構。
可以設置有基底1111。例如,基底1111可以包括透過第一類型雜質摻雜的矽材料。例如,基底1111可以包括透過p型雜質或p型阱(例如,袋狀p阱)摻雜的矽材料。基底1111還可以包括圍繞p型阱的n型阱。示例性描述了基底1111為p型矽。然而,基底1111不局限於為p型矽。
沿第一方向延伸的多個摻雜區1311至1314可以設置在基底1111之上。例如,多個摻雜區1311至1314可以具有與基底1111的雜質不同的第二類型雜質。例如,多個摻雜區1311至1314可以摻雜n型雜質。在該描述
中,示例性描述了第一摻雜區1311至第四摻雜區1314為n型。然而,第一摻雜區1311至第四摻雜區1314不局限於為n型。
沿第一方向延伸的多個絕緣材料1112可以沿第二方向順序設置在基底1111的介於第一摻雜區1311與第二摻雜區1312之間的區域之上。例如,多個絕緣材料1112和基底1111可以在第二方向上間隔開預定距離。在第二示例中,多個絕緣材料1112可以在第二方向上彼此間隔開。在第三示例中,絕緣材料1112可以包括諸如氧化矽的絕緣體。
多個柱體1113可以沿第一方向順序設置在基底1111的介於第一摻雜區1311與第二摻雜區1312之間的區域之上,並且可以形成為沿第二方向穿透絕緣材料1112。例如,多個柱體1113中的每個可以穿透絕緣材料1112以與基底1111接觸。多個柱體1113中的每個可以由多種材料構成。多個柱體1113中的每個的表面層1114可以包括具有第一類型的矽材料。多個柱體1113中的每個的表面層1114可以包括摻雜有與基底1111相同類型的雜質的矽材料。在該描述中,示例性描述了每個柱體1113的表面層1114包括p型矽。然而,多個柱體1113中的每個的表面層1114不局限於p型矽。
多個柱體1113中的每個的內層1115可以由絕緣材料形成。例如,多個柱體1113中的每個的內層1115可以用諸如氧化矽的絕緣材料填充。
在第一摻雜區1311與第二摻雜區1312之間的區域中,絕緣層1116可以沿絕緣材料1112、柱體1113以及基底1111的暴露表面設置。例如,絕緣層1116的厚度可以小於絕緣材料1112之間的距離的一半。即,用於要設置的除絕緣材料1112和絕緣層1116以外的材料的區域可以設置在(i)設置在絕緣材料1112的第一絕緣材料的底表面之上的絕緣層1116與(ii)設置在絕緣材料1112
的第二絕緣材料的頂表面之上的絕緣層1116之間。絕緣材料1112的第一絕緣材料可以設置在絕緣材料1112的第二絕緣材料之上。
在第一摻雜區1311與第二摻雜區1312之間的區域中,導電材料1211至1291可以設置在絕緣層1116的表面之上。例如,沿第一方向延伸的導電材料1211可以設置在基底1111與相鄰於基底1111的多個絕緣材料1112之間。更具體地,沿第一方向延伸的導電材料1211可以設置在(i)設置在與基底1111相鄰的絕緣材料1112的底表面處的絕緣層1116與(ii)設置在基底1111之上的絕緣層1116之間。
再例如,沿第一方向延伸的導電材料1221至1281可以設置在(i)設置在絕緣材料1112之中的第一特定絕緣材料的頂表面處的絕緣層1116與(ii)設置在絕緣材料1112之中的第二特定絕緣材料的底表面處的絕緣層1116之間,其中,第二特定絕緣材料層設置在第一特定絕緣材料1112之上。另外,沿第一方向延伸的導電材料1291可以設置在最上面的絕緣材料1112之上。例如,導電材料1211至1291可以是金屬材料。在另一個示例中,導電材料1211至1291可以是多晶矽。
與設置在第一摻雜區1311與第二摻雜區1312之間的結構相同的結構可以設置在第二摻雜區1312與第三摻雜區1313之間。例如,沿第一方向延伸的多個絕緣材料1112、在第一方向上順序佈置並沿第二方向穿透多個絕緣材料1112的多個柱體1113、設置在多個絕緣材料1112和多個柱體1113的表面之上的絕緣層1116、以及沿第一方向延伸的多個導電材料1212至1292可以設置在第二摻雜區1312與第三摻雜區1313之間。
與設置在第一摻雜區1311與第二摻雜區1312之間的結構相同
的結構可以設置在第三摻雜區1313與第四摻雜區1314之間。例如,沿第一方向延伸的多個絕緣材料1112、在第一方向上順序佈置並沿第二方向穿透多個絕緣材料1112的多個柱體1113、設置在多個絕緣材料1112和多個柱體1113的表面之上的絕緣層1116、以及沿第一方向延伸的多個導電材料1213至1293可以設置在第三摻雜區1313與第四摻雜區1314之間。
汲極1320可以分別設置在多個柱體1113之上。例如,汲極1320可以為摻雜第二類型材料的矽材料。例如,汲極1320可以是摻雜n型材料的矽材料。在該描述中,示例性描述了汲極1320是摻雜n型材料的矽材料。然而,汲極1320不局限於於為n型矽材料。例如,汲極1320的寬度可以比多個柱體1113中的對應的柱體1113的寬度寬。例如,汲極1320可以以焊盤形狀設置在多個柱體1113中的對應的柱體1113的頂表面之上。
沿第三方向延伸的導電材料1331至1333可以設置在汲極1320之上。導電材料1331至1333可以沿第一方向順序設置。導電材料1331至1333可以分別耦接至對應區域中的汲極1320。例如,汲極1320和沿第三方向延伸的導電材料1333可以分別透過接觸插塞彼此耦接。例如,導電材料1331至1333可以是金屬材料。在另一示例中,導電材料1331至1333可以是多晶矽。
參照圖10和圖11,多個柱體1113中的每個可以耦接至絕緣層1116以及沿第一方向延伸的多個導電材料1211至1291、1212至1292或1213至1293以形成串。例如,多個柱體1113中的每個可以與絕緣層1116以及沿第一方向延伸的導電材料1211至1291、1212至1292或1213至1293一起形成NAND串NS。NAND串NS可以包括多個電晶體結構TS。
圖12為圖11中示出的電晶體結構TS的剖面圖。
參照圖10至圖12,絕緣層1116可以包括第一子絕緣層至第三子絕緣層1117、1118和1119。
多個柱體1113的每個中的P型矽的表面層1114可以用作本體。與多個柱體1113中的每個相鄰的第一子絕緣層1117可以用作隧道絕緣層。例如,與多個柱體1113中的每個相鄰的第一子絕緣層1117可以包括熱氧化物層。
第二子絕緣層1118可以用作電荷儲存層。例如,第二子絕緣層1118可以用作電荷捕獲層。第二子絕緣層1118可以包括氮化層或金屬氧化層(例如,氧化鋁層、氧化鉿層等)。
相鄰於導電材料1233的第三子絕緣層1119可以用作阻擋絕緣層。例如,與沿第一方向延伸的導電材料1233相鄰的第三子絕緣層1119可以具有單層結構或多層結構。第三子絕緣層1119可以是具有比第一子絕緣層1117和第二子絕緣層1118大的介電常數的高k電介質層(例如,氧化鋁層、氧化鉿層等)。
導電材料1233可以用作閘極或控制閘極。即,閘極或控制閘極1233、阻擋絕緣層1119、電荷捕獲層1118、隧道絕緣層1117和本體1114可以形成電晶體或記憶體單元電晶體結構。例如,第一子絕緣層1117至第三子絕緣層1119可以形成氧化物-氮化物-氧化物(ONO,oxiden-nitride-oxide)結構。在該描述中,多個柱體1113的每個中的p型矽的表面層1114可以是沿第二方向延伸的本體。
記憶體區塊BLKi可以包括多個柱體1113。即,記憶體區塊BLKi可以包括多個NAND串NS。更具體地,記憶體區塊BLKi可以包括沿第二方向或垂直於基底1111的方向延伸的多個NAND串NS。
NAND串NS中的每個可以包括沿第二方向層疊的多個電晶體結構TS。每個NAND串NS的多個電晶體結構TS中的一個或更多個可以用作串選擇電晶體SST。每個NAND串的多個電晶體結構TS中的一個或更多個可以用作接地選擇電晶體GST。
閘極或控制閘極可以對應於沿第一方向延伸的導電材料1211至1291、1212至1292和1213至1293。即,閘極或控制閘極可以沿第一方向延伸,以形成字元線WL和兩個或更多個選擇線(例如,一個或更多個串選擇線SSL和一個或更多個接地選擇線GSL)。
沿第三方向延伸的導電材料1331至1333可以耦接至NAND串NS的一端。例如,沿第三方向延伸的導電材料1331至1333可以用作位元線BL。即,在一個記憶體區塊BLKi中,單個位元線BL可以耦接至多個NAND串NS。
沿第一方向延伸的第二類型摻雜區1311至1314可以耦接至NAND串NS的另一端。沿第一方向延伸的第二類型摻雜區1311至1314可以用作共源極線CSL。
總之,記憶體區塊BLKi可以包括沿垂直於基底1111的方向(例如,第二方向)延伸的多個NAND串NS,並且可以操作作為其中多個NAND串NS耦接至單個位元線BL的NAND快閃記憶體區塊(例如,電荷捕獲型記憶體)。
參照圖10至圖12,描述了沿第一方向延伸的導電材料1211至1291、1212至1292和1213至1293設置有9層。然而,沿第一方向延伸的導電材料1211至1291、1212至1292和1213至1293不局限於9層。例如,沿第一
方向延伸的導電材料可以設置有8層、16層或更多層。即,NAND串可以包括8個電晶體、16個電晶體或更多個電晶體。
參照圖10至圖12,描述了3個NAND串NS耦接至單個位元線BL。然而,實施例不局限於3個NAND串NS耦接至單個位元線BL。在另一實施例中,在記憶體區塊BLKi中,m個NAND串NS可以耦接至單個位元線BL,m是正整數。這裡,也可以調節沿第一方向延伸的導電材料1211至1291、1212至1292和1213至1293的數量以及共源極線1311至1314的數量,以對應於耦接至單個位元線BL的NAND串NS的數量。
參照圖10至圖12,描述了3個NAND串NS耦接至沿第一方向延伸的單個導電材料。然而,實施例不局限於3個NAND串NS耦接至單個導電材料。在另一實施例中,n個NAND串NS可以耦接至單個導電材料,n是正整數。這裡,也可以調節位元線1331至1333的數量,以對應於耦接至單個導電材料的NAND串NS的數量。
圖13是圖示參照圖10至圖12描述的記憶體區塊BLKi的等效電路圖。
參照圖10至圖13,NAND串NS11至NS31可以設置在第一位元線BL1與共源極線CSL之間。第一位元線BL1可以對應於沿第三方向延伸的導電材料1331。NAND串NS12至NS32可以設置在第二位元線BL2與共源極線CSL之間。第二位元線BL2可以對應於沿第三方向延伸的導電材料1332。NAND串NS13至NS33可以設置在第三位元線BL3與共源極線CSL之間。第三位元線BL3可以對應於沿第三方向延伸的導電材料1333。
每個NAND串NS的串選擇電晶體SST可以耦接至對應的位元
線BL。每個NAND串NS的接地選擇電晶體GST可以耦接至共源極線CSL。記憶體單元MC可以設置在每個NAND串NS的串選擇電晶體SST與接地選擇電晶體GST之間。
NAND串NS可以以行和列為單位來定義。共同耦接至單個位元線的NAND串NS可以形成單個列。例如,耦接至第一位元線BL1的NAND串NS11至NS31可以對應於第一列。耦接至第二位元線BL2的NAND串NS12至NS32可以對應於第二列。耦接至第三位元線BL3的NAND串NS13至NS33可以對應於第三列。
耦接至單個串選擇線SSL的NAND串NS可以形成單個行。例如,耦接至第一串選擇線SSL1的NAND串NS11至NS13可以形成第一行。耦接至第二串選擇線SSL2的NAND串NS21至NS23可以形成第二行。耦接至第三串選擇線SSL3的NAND串NS31至NS33可以形成第三行。
可以為每個NAND串NS中的電晶體或記憶體單元定義高度。例如,在每個NAND串NS中,接地選擇電晶體GST的高度可以被定義為值“1”。在每個NAND串NS中,當從基底1111測量時,距離串選擇電晶體SST越近,記憶體單元參照基底1111的高度就越高。在每個NAND串NS中,相鄰於串選擇電晶體SST的記憶體單元MC6的高度可以被定義為值“8”,該高度是接地選擇電晶體GST的8倍大。
同一行的NAND串NS的串選擇電晶體SST可以共用同一串選擇線SSL。在不同行中的NAND串NS的串選擇電晶體SST可以分別與不同的串選擇線SSL1、SSL2和SSL3耦接。
同一行的NAND串NS中的具有同一高度的記憶體單元MC可
以共用字元線WL。在同一高度處,耦接至不同行中的NAND串NS的相應記憶體單元MC的字元線WL可以彼此耦接並且由記憶體單元MC共用。在預定高度處或在相同水準處,同一行的NAND串NS的虛設記憶體單元DMC可以共用虛設字元線DWL。耦接至不同行中的NAND串NS的相應虛設記憶體單元DMC的虛設字元線DWL可以彼此耦接並且由虛設記憶體單元DMC共用。
例如,位於同一水準或高度或層的字元線WL或虛設字元線DWL可以共同耦接在設置有沿第一方向延伸的導電材料1211至1291、1212至1292和1213至1293的層上。例如,設置在給定水準或高度或層的導電材料1211至1291、1212至1292和1213至1293可以經由接觸耦接至上層。沿第一方向延伸的導電材料1211至1291、1212至1292和1213至1293可以在上層處耦接。同一行的NAND串的接地選擇電晶體GST可以共用接地選擇線。耦接至不同行中的NAND串NS的相應接地選擇電晶體GST的接地選擇線GSL可以彼此耦接並且由接地選擇電晶體GST共用。即,NAND串NS11至NS13、NS21至NS23和NS31至NS33可以耦接至接地選擇線GSL。
共源極線CSL可以共同地耦接至NAND串NS。例如,第一摻雜區1311至第四摻雜區1314可以在基底1111的有源區處耦接。例如,第一摻雜區1311至第四摻雜區1314可以經由接觸耦接至上層。第一摻雜區1311至第四摻雜區1314可以在上層處耦接。
如圖13中所示,在同一高度或水準的字元線WL可以共同地耦接。因此,當在特定高度處的字元線WL被選中時,耦接至選中字元線WL的所有NAND串NS可以被選中。不同行中的NAND串NS可以耦接至不同的串選擇線SSL。因此,在耦接至同一字元線WL的NAND串NS之中,透過串選
擇線SSL1至SSL3的選擇,未選中行的NAND串NS可以與位元線BL1至BL3電隔離。即,可以透過選擇串選擇線SSL1至SSL3中的一個來選擇NAND串NS的行。透過位元線BL1至BL3的選擇,可以以列為單位來選擇選中行的NAND串NS。
在每個NAND串NS中,可以設置虛設記憶體單元DMC。圖13示出虛設記憶體單元DMC設置在每個NAND串NS中的第三記憶體單元MC3與第四記憶體單元MC4之間。即,第一記憶體單元MC1至第三記憶體單元MC3可以設置在虛設記憶體單元DMC與接地選擇電晶體GST之間。第四記憶體單元MC4至第六記憶體單元MC6可以設置在虛設記憶體單元DMC與串選擇電晶體SST之間。示例性描述了每個NAND串NS中的記憶體單元MC透過虛設記憶體單元DMC劃分為記憶體單元組。在記憶體單元組之中的與接地選擇電晶體GST相鄰的記憶體單元組(例如,MC1至MC3)可以被稱為下記憶體單元組。在記憶體單元組之中的與串選擇電晶體SST相鄰的記憶體單元組(例如,MC4至MC6)可以被稱為上記憶體單元組。
將參照圖9至圖13描述包括一個或更多個單元串的非揮發性記憶體裝置的操作方法,其中,每個單元串沿垂直於基底的方向佈置,與記憶體控制器耦接,並且包括記憶體單元、串選擇電晶體和接地選擇電晶體。利用該操作方法,非揮發性記憶體裝置:可以被提供第一讀取指令,以使用第一硬讀取電壓和不同於第一硬讀取電壓的第二硬讀取電壓來執行第一硬判決讀取操作和第二硬判決讀取操作;可以獲取硬判決資料;可以基於硬判決資料的錯誤位元狀態來選擇第一硬判決電壓和第二硬判決電壓中的一個;可以使用不同於選擇的硬判決讀取電壓的軟讀取電壓來獲取軟判決資料;以及可以將軟判決資料
提供給記憶體控制器。
圖14至圖16是示意性圖示根據本發明的實施例的3D非揮發性記憶體裝置的示意圖。圖14至圖16圖示根據本發明的實施例的以3D實施的半導體記憶體裝置(例如,快閃記憶體裝置)。
圖14是圖示圖4A中示出的記憶體區塊211中的一個記憶體區塊BLKj的透視圖。圖15是圖示沿圖14中示出的線VII-VII'截取的記憶體區塊BLKj的剖面圖。
參照圖14和圖15,記憶體區塊BLKj可以包括沿第一方向至第三方向延伸的結構。
可以設置有基底6311。例如,基底6311可以包括透過第一類型雜質摻雜的矽材料。例如,基底6311可以包括透過p型雜質或p型阱(例如,袋狀p阱)摻雜的矽材料。基底6311還可以包括圍繞p型阱的n型阱。在實施例中,示例性描述了基底6311是p型矽。然而,基底6311不局限於是p型矽。
沿X方向和Y方向延伸的第一導電材料層6321至第四導電材料層6324可以設置在基底6311之上。第一導電材料層6321至第四導電材料層6324可以沿Z方向彼此間隔開。
沿X方向和Y方向延伸的第五導電材料層6325至第八導電材料層6328可以設置在基底6311之上。第五導電材料層6325至第八導電材料層6328可以沿Z方向彼此間隔開。第五導電材料層6325至第八導電材料層6328可以沿Y方向與第一導電材料層6321至第四導電材料層6324間隔開。
多個下柱體DP可以形成為穿過第一導電材料層6321至第四導電材料層6324。多個下柱體DP中的每個可以沿Z方向延伸。多個上柱體UP
可以形成為穿過第五導電材料層6325至第八導電材料層6328。多個上柱體UP中的每個可以沿Z方向延伸。
下柱體DP和上柱體UP中的每個可以包括內部材料層6361、中間層6362和表層6363。中間層6362可以用作單元電晶體的溝道。表層6363可以包括阻擋絕緣層、電荷捕獲層和隧道絕緣層。
多個下柱體DP和多個上柱體UP可以透過管閘PG耦接。管閘PG可以形成在基底6311中。例如,管閘PG可以包括與多個下柱體DP和多個上柱體UP基本上相同的材料。
摻雜第二類型雜質的摻雜材料層6312可以設置在多個下柱體DP之上。摻雜材料層6312可以沿X方向和Y方向延伸。例如,摻雜第二類型雜質的摻雜材料層6312可以包括n型矽材料。摻雜第二類型雜質的摻雜材料層6312可以用作共源極線CSL。
汲極6340可以形成在多個上柱體UP中的每個之上。例如,汲極6340可以包括n型矽材料。第一上導電材料層6351和第二上導電材料層6352可以形成在汲極6340之上。第一上導電材料層6351和第二上導電材料層6352可以沿Y方向延伸。
第一上導電材料層6351和第二上導電材料層6352可以沿X方向彼此間隔開。例如,第一上導電材料層6351和第二上導電材料層6352可以由金屬製成。例如,第一上導電材料層6351和第二上導電材料層6352可以透過接觸插塞耦接至汲極6340。第一上導電材料層6351和第二上導電材料層6352可以分別用作第一位元線BL1和第二位元線BL2。
第一導電材料層6321可以用作源極選擇線SSL,第二導電材料
層6322可以用作第一虛設字元線DWL1,第三導電材料6323和第四導電材料6324可以分別用作第一主字元線MWL1和第二主字元線MWL2。第五導電材料層6325和第六導電材料層6326可以分別用作第三主字元線MWL3和第四主字元線MWL4,第七導電材料層6327可以用作第二虛設字元線DWL2,第八導電材料層6328可以用作汲極選擇線DSL。
多個下柱體DP中的每個和與下柱體DP相鄰的第一導電材料層6321至第四導電材料層6324可以形成下串。多個上柱體UP中的每個和與上柱體UP相鄰的第五導電材料層6325至第八導電材料層6328可以形成上串。下串和上串可以透過管閘PG耦接。下串的一端可以耦接至用作共源極線CSL的第二類型的摻雜材料層6312。上串的一端可以透過汲極6340耦接至對應的位元線。單個下串和單個上串可以形成單個單元串,該單個單元串耦接在用作共源極線CSL的第二類型的摻雜材料層6312與用作位元線BL的上導電材料層6351和6352中的對應的一個之間。
即,下串可以包括源極選擇電晶體SST、第一虛設記憶體單元DMC1以及第一主記憶體單元MMC1和第二主記憶體單元MMC2。上串可以包括第三主記憶體單元MMC3和第四主記憶體單元MMC4、第二虛設記憶體單元DMC2以及汲極選擇電晶體DST。
參照圖14和圖15,上串和下串可以形成具有多個電晶體結構TS的NAND串NS。電晶體結構TS可以與參照圖12描述的電晶體基本上相同。
圖16是圖示參照圖14和圖15描述的記憶體區塊BLKj的等效電路圖。圖16示例性示出包括在記憶體區塊BLKj中的串之中的第一串和第二串。
參照圖16,記憶體區塊BLKj可以包括多個單元串,每個單元串包括透過管閘PG彼此耦接的單個上串和單個下串,如參照圖14和圖15所描述的。
在記憶體區塊BLKj中,沿第一溝道層CH1(未示出)層疊的記憶體單元CG0至CG31、一個或更多個源極選擇閘極SSG以及一個或更多個汲極選擇閘極DSG可以形成第一串ST1。沿第二溝道層CH2(未示出)層疊的記憶體單元CG0至CG31、一個或更多個源極選擇閘極SSG以及一個或更多個汲極選擇閘極DSG可以形成第二串ST2。
第一串ST1和第二串ST2可以耦接至單個汲極選擇線DSL和單個源極選擇線SSL。第一串ST1可以耦接至第一位元線BL1,第二串ST2可以耦接至第二位元線BL2。
圖16示出耦接至單個汲極選擇線DSL和單個源極選擇線SSL的第一串ST1和第二串ST2。在另一實施例中,第一串ST1和第二串ST2可以耦接至單個源極選擇線SSL和單個位元線BL。在這種情況下,第一串ST1可以耦接至第一汲極選擇線DSL1,第二串ST2可以耦接至第二汲極選擇線DSL2。在另一實施例中,第一串ST1和第二串ST2可以耦接至單個汲極選擇線DSL和單個位元線BL。在這種情況下,第一串ST1可以耦接至第一源極選擇線SSL1,第二串ST2可以耦接至第二源極選擇線SSL2。
圖17是示意性圖示根據本發明的實施例的包括記憶體控制器15000和半導體記憶體裝置16000的電子設備10000的方塊圖。
參照圖17,諸如蜂窩電話、智慧型電話或平板電腦的電子設備10000可以包括透過快閃記憶體裝置來實施的半導體記憶體裝置16000和用於控
制半導體記憶體裝置16000的記憶體控制器15000。
半導體記憶體裝置16000可以對應於以上參照圖3至圖13描述的半導體記憶體裝置200。半導體記憶體裝置16000可以儲存亂資料。
記憶體控制器15000可以對應於參照圖3至圖13描述的記憶體控制器。記憶體控制器15000可以透過控制電子設備10000的全部操作的處理器11000來控制。
儲存在半導體記憶體裝置16000中的資料可以在記憶體控制器15000的控制下透過顯示器13000來顯示。記憶體控制器15000在處理器11000的控制下操作。
無線電收發器12000可以透過天線ANT來接收和輸出無線電訊號。例如,無線電收發器12000可以將從天線ANT接收的無線電訊號轉換為要被處理器11000處理的訊號。因此,處理器11000可以處理轉換的訊號,並且可以將處理的訊號儲存在半導體記憶體裝置16000處。另外,處理器11000可以透過顯示器13000來顯示處理的訊號。
無線電收發器12000可以將從處理器11000輸出的訊號轉換為無線電訊號,並且可以將轉換的無線電訊號透過天線ANT輸出至外部設備。
輸入裝置14000可以接收用於控制處理器11000的操作的控制訊號或要被處理器11000處理的資料,並且可以由定點設備(諸如觸控板或電腦滑鼠、小鍵盤或鍵盤)來實施。
處理器11000可以控制顯示器13000,使得來自半導體記憶體裝置16000的資料、來自無線電收發器12000的無線電訊號或者來自輸入裝置14000的資料可以透過顯示器13000來顯示。
圖18是示意性圖示根據本發明的實施例的包括記憶體控制器24000和半導體記憶體裝置25000的電子設備20000的方塊圖。
記憶體控制器24000和半導體記憶體裝置25000可以分別對應於參照圖3至圖13描述的記憶體控制器100和半導體記憶體裝置200。
參照圖18,電子設備20000可以透過諸如個人電腦(PC)、平板電腦、網路本、電子閱讀器、個人數位助理(PDA)、可攜式多媒體播放機(PMP)、MP3播放機或MP4播放機的資料處理設備來實施,其可以包括半導體記憶體裝置25000(例如,快閃記憶體裝置)和用於控制半導體記憶體裝置25000的操作的記憶體控制器24000。
電子設備20000可以包括用於控制電子設備20000的全部操作的處理器21000。記憶體控制器24000可以透過處理器21000來控制。
處理器21000可以回應於來自輸入裝置22000的輸入訊號,透過顯示器23000顯示儲存在半導體記憶體裝置25000中的資料。例如,輸入裝置22000可以透過定點設備(諸如觸控板或電腦滑鼠、小鍵盤或鍵盤)來實施。
圖19是示意性圖示根據本發明的實施例的包括控制器32000和半導體記憶體裝置34000的電子設備30000的方塊圖。
控制器32000和半導體記憶體裝置34000可以分別對應於參照圖3至圖13描述的記憶體控制器100和半導體記憶體裝置200。
參照圖19,電子設備30000可以包括卡介面31000、控制器32000和半導體記憶體裝置34000(例如,快閃記憶體裝置)。
電子設備30000可以透過卡介面31000與主機交換資料。卡介面31000可以是安全數位(SD)卡介面或多媒體卡(MMC)介面,這不限制本
發明的範圍。卡介面31000可以根據能夠與電子設備30000通訊的主機的通訊協定來將主機和控制器32000介面。
控制器32000可以控制電子設備30000的全部操作,並且可以控制卡介面31000與半導體記憶體裝置34000之間的資料交換。控制器32000的緩衝記憶體33000可以緩衝在卡介面31000與半導體記憶體裝置34000之間傳送的資料。
控制器32000可以透過資料匯流排DATA和位址匯流排ADDRESS與卡介面31000和半導體記憶體裝置34000耦接。根據實施例,控制器32000可以透過位址匯流排ADDRESS從卡介面31000接收要被讀取或寫入的資料的位址,並且可以將其發送至半導體記憶體裝置34000。此外,控制器32000可以透過與卡介面31000或半導體記憶體裝置34000連接的資料匯流排DATA接收或傳送要被讀取或寫入的資料。
當電子設備30000與主機(諸如PC、平板電腦、數位照相機、數位音訊播放機、行動電話、控制台視頻遊戲硬體或數位機上盒)連接時,主機可以透過卡介面31000和控制器32000與半導體記憶體裝置34000交換資料。
圖20示意性圖示根據本發明的實施例的包括記憶體控制器44000和半導體記憶體裝置45000的電子設備40000的方塊圖。
記憶體控制器44000和半導體記憶體裝置45000可以分別對應於參照圖3至圖13描述的記憶體控制器100和半導體記憶體裝置200。
參照圖20,電子設備40000可以包括半導體記憶體裝置45000(例如,快閃記憶體裝置)、用於控制半導體記憶體裝置45000的資料處理操作的記憶體控制器44000、以及用於控制電子設備40000的全部操作的處理器
41000。
此外,電子設備40000的圖像感測器42000可以將光學訊號轉換為數位訊號,轉換的數位訊號可以在處理器41000的控制下被儲存在半導體記憶體裝置45000中。另外,轉換的數位訊號可以在處理器41000的控制下透過顯示器43000來顯示。
圖21是示意性圖示根據本發明的實施例的包括記憶體控制器61000以及半導體記憶體裝置62000A、62000B和62000C的電子設備60000的方塊圖。
記憶體控制器61000及半導體記憶體裝置62000A、62000B和62000C中的每個可以分別對應於參照圖3至圖13描述的記憶體控制器100和半導體記憶體裝置200。
參照圖21,電子設備60000可以透過數位儲存設備(諸如固態驅動器(SSD))來實施。
電子設備60000可以包括多個半導體記憶體裝置62000A、62000B和62000C以及用於控制多個半導體記憶體裝置62000A、62000B和62000C中的每個的資料處理操作的記憶體控制器61000。
電子設備60000可以透過記憶體系統或存儲模組來實施。
例如,記憶體控制器61000可以在電子設備60000外部或內部來實施。
圖22是包括參照圖21描述的電子設備60000的資料處理系統的方塊圖。
參照圖21和圖22,資料處理系統70000可以透過獨立盤(RAID,
redundant array of independent disk)系統的冗餘陣列來實施。資料處理系統70000可以包括RAID控制器71000和多個記憶體系統72000A至72000N,其中,N是自然數。
記憶體系統72000A至72000N中的每個可以對應於參照圖21描述的電子設備60000。記憶體系統72000A至72000N可以形成RAID陣列。資料處理系統70000可以透過SSD來實施。
在程式設計操作期間,RAID控制器71000可以根據基於從主機輸出的RAID位準資訊而從多個RAID位準中選擇的一個RAID位準,將從主機輸出的程式設計資料輸出至記憶體系統72000A至72000N中的一個。
在讀取操作期間,RAID控制器71000可以根據基於從主機輸出的RAID位準資訊而從多個RAID位準中選擇的一個RAID位準,將從記憶體系統72000A至72000N中的一個讀取的資料傳送至主機。
雖然已經關於特定實施例描述了本發明,但是對於本領域技術人員將明顯的是,在不脫離如申請專利範圍中所限定的本發明的精神和範圍的情況下,可以做出各種變化和變型。
Claims (20)
- 一種記憶體控制器的操作方法,包括:使用軟讀取電壓來對儲存在半導體記憶體裝置中的讀取資料執行軟讀取操作;基於第一對數似然比LLR值來對讀取資料執行軟判決ECC解碼操作;以及當基於第一LLR值的軟判決ECC解碼操作失敗時,基於第二LLR值來對讀取資料執行軟判決ECC解碼操作,其中,第一LLR值和第二LLR從預設LLR值和更新LLR值之間選擇,以及其中,基於透過對讀取資料的軟判決ECC解碼操作而獲得的讀取資料的錯誤位元的數量和非錯誤位元的數量來產生更新LLR值。
- 如請求項1所述的操作方法,其中,第一LLR值是預設LLR值。
- 如請求項1所述的操作方法,其中,第一LLR值是預設LLR值和更新LLR值中的用於先前執行的成功的軟判決ECC解碼操作的一個。
- 如請求項1所述的操作方法,其中,預設LLR值和更新LLR值被分別儲存在記憶體控制器的預設LLR表格和更新LLR表格中。
- 如請求項1所述的操作方法,還包括:當基於第一LLR值或第二LLR值的軟判決ECC解碼操作成功時,產生或更新更新LLR值。
- 如請求項5所述的操作方法,其中,根據下式產生或更新更新LLR值,[式]其中,“軟位準”是軟讀取電壓,“讀取偏壓”是參考電壓。
- 如請求項5所述的操作方法,其中,產生或更新更新LLR值的步驟包括:確定是否產生或更新更新LLR值;以及基於確定結果來產生或更新更新LLR值。
- 如請求項7所述的操作方法,其中,基於以下來確定是否產生或更新更新LLR值:當軟判決ECC解碼操作成功時讀取資料中的錯誤校正位元的數量;以及在軟判決ECC解碼操作成功以前執行的軟讀取操作的第一次數以及在軟判決ECC解碼操作成功以前軟判決ECC解碼操作的反覆運算的第二次數中的一個或更多個。
- 如請求項8所述的操作方法,其中,當第一次數和反覆運算的第二次數中的一個或更多個大於參考錯誤校正位元的數量的預定閾值時,產生或更新更新LLR值。
- 如請求項1所述的操作方法,其中,軟判決ECC解碼操作是低密度同位LDPC解碼操作。
- 一種記憶體控制器,包括:第一裝置,適用於使用軟讀取電壓來對儲存在半導體記憶體裝置中的讀取資料執行軟讀取操作;第二裝置,適用於基於第一對數似然比LLR值來對讀取資料執行軟判決ECC解碼操作;以及第三裝置,適用於當基於第一LLR值的軟判決ECC解碼操作失敗時,基於第二LLR值來對讀取資料執行軟判決ECC解碼操作,其中,記憶體控制器在預設LLR值和更新LLR值之間選擇第一LLR值和第二LLR值,以及其中,記憶體控制器基於透過對讀取資料的軟判決ECC解碼操作而獲得的讀取資料的錯誤位元的數量和非錯誤位元的數量來產生更新LLR值。
- 如請求項11所述的記憶體控制器,其中,第一LLR值是預設LLR值。
- 如請求項11所述的記憶體控制器,其中,第一LLR值是預設LLR值和更新LLR值中的用於先前執行的成功的軟判決ECC解碼操作的一個。
- 如請求項11所述的記憶體控制器,其中,預設LLR值和更新LLR值被分別儲存在預設LLR表格和更新LLR表格中。
- 如請求項11所述的記憶體控制器,還包括:第四裝置,適用於當基於第一LLR值或第二LLR值的軟判決ECC解碼操作成功時產生或更新更新LLR值。
- 如請求項15所述的記憶體控制器,其中,第四裝置根據下式來產生或更新更新LLR值,其中,“軟位準”是軟讀取電壓,“讀取偏壓”是參考電壓。
- 如請求項15所述的記憶體控制器,其中,第四裝置包括:第五裝置,適用於確定是否產生或更新更新LLR值;以及第六裝置,適用於根據第五裝置的確定結果來產生或更新更新LLR值。
- 如請求項17所述的記憶體控制器,其中,第五裝置基於以下來確定是否產生或更新更新LLR值:當軟判決ECC解碼操作成功時讀取資料中的錯誤校正位元的數量;以及在軟判決ECC解碼操作成功以前執行的軟讀取操作的第一次數以及在軟判決ECC解碼操作成功以前軟判決ECC解碼操作的反覆運算的第二次數中的一個或更多個。
- 如請求項18所述的記憶體控制器,其中,當第一次數和反覆運算的第二次數中的一個或更多個大於參考錯誤校正位元的數量的預定閾值時,第五裝置確定產生或更新更新LLR值。
- 如請求項11所述的記憶體控制器,其中,軟判決ECC解碼操作是低密度同位LDPC解碼操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
??10-2015-0032598 | 2015-03-09 | ||
KR1020150032598A KR102265220B1 (ko) | 2015-03-09 | 2015-03-09 | 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201633322A TW201633322A (zh) | 2016-09-16 |
TWI663603B true TWI663603B (zh) | 2019-06-21 |
Family
ID=56887707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104126589A TWI663603B (zh) | 2015-03-09 | 2015-08-14 | 控制器、半導體記憶體系統及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9575833B2 (zh) |
KR (1) | KR102265220B1 (zh) |
CN (1) | CN105957553B (zh) |
TW (1) | TWI663603B (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9916906B2 (en) * | 2014-02-27 | 2018-03-13 | Seagate Technology Llc | Periodically updating a log likelihood ratio (LLR) table in a flash memory controller |
TWI584304B (zh) * | 2016-05-23 | 2017-05-21 | 大心電子(英屬維京群島)股份有限公司 | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
JP2018045387A (ja) | 2016-09-13 | 2018-03-22 | 東芝メモリ株式会社 | メモリシステム |
US10381085B2 (en) | 2016-10-27 | 2019-08-13 | Micron Technogy, Inc. | Erasing memory cells |
US10409672B2 (en) | 2016-11-16 | 2019-09-10 | SK Hynix Inc. | Media quality aware ECC decoding method selection to reduce data access latency |
WO2018132074A1 (en) * | 2017-01-12 | 2018-07-19 | Agency For Science, Technology And Research | Memory device with soft-decision decoding and methods of reading and forming thereof |
CN106992026B (zh) * | 2017-03-20 | 2020-12-01 | 中山大学 | 一种针对NAND-Flash存储介质的LDPC码快速信息恢复的译码方法 |
KR20190051570A (ko) * | 2017-11-07 | 2019-05-15 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR102389432B1 (ko) * | 2017-11-07 | 2022-04-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
CN109801669B (zh) * | 2017-11-17 | 2023-05-16 | 爱思开海力士有限公司 | 具有软读取挂起方案的存储器系统及其操作方法 |
US10637511B2 (en) * | 2017-12-18 | 2020-04-28 | Western Digital Technologies, Inc | Dynamic multi-stage decoding |
JP7039298B2 (ja) * | 2018-01-16 | 2022-03-22 | キオクシア株式会社 | メモリシステム |
TWI693604B (zh) * | 2018-03-06 | 2020-05-11 | 深圳衡宇芯片科技有限公司 | 用於決定非揮發性記憶體中位元值的方法與系統 |
US11115062B2 (en) * | 2018-03-16 | 2021-09-07 | SK Hynix Inc. | Memory system with adaptive threshold decoding and method of operating such memory system |
KR102648618B1 (ko) * | 2018-03-28 | 2024-03-19 | 에스케이하이닉스 주식회사 | 컨트롤러, 그것의 동작방법 및 컨트롤러를 포함하는 메모리 시스템 |
US10997017B2 (en) * | 2018-05-03 | 2021-05-04 | SK Hynix Inc. | Neighbor assisted correction error recovery for memory system and method thereof |
CN108683423B (zh) * | 2018-05-16 | 2022-04-19 | 广东工业大学 | 一种多级闪存信道下的ldpc码动态串行调度译码算法及装置 |
KR102693836B1 (ko) * | 2018-06-12 | 2024-08-12 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
US10783972B2 (en) * | 2018-08-02 | 2020-09-22 | SK Hynix Inc. | NAND flash memory with reconfigurable neighbor assisted LLR correction with downsampling and pipelining |
US10877840B2 (en) * | 2018-08-02 | 2020-12-29 | SK Hynix Inc. | Dynamic neighbor and bitline assisted correction for NAND flash storage |
US11367488B2 (en) * | 2018-12-11 | 2022-06-21 | SK Hynix Inc. | Memory system and method for read operation based on grouping of word lines |
US10847241B2 (en) * | 2019-03-12 | 2020-11-24 | Kabushiki Kaisha Toshiba | Joint soft boundaries and LLRS update for flash memory |
US10790031B1 (en) * | 2019-06-05 | 2020-09-29 | Western Digital Technologies, Inc. | System handling for first read read disturb |
KR20210003368A (ko) * | 2019-07-02 | 2021-01-12 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 |
KR102689978B1 (ko) * | 2019-09-03 | 2024-08-01 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
KR20220103227A (ko) * | 2021-01-14 | 2022-07-22 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것을 제어하는 제어기, 그것을 갖는 저장 장치, 및 그것의 리드 방법 |
KR102532038B1 (ko) | 2021-12-15 | 2023-05-12 | 삼성전자주식회사 | 에러 정정 코드(ecc) 디코딩 방법 및 이를 수행하는 메모리 시스템 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201335942A (zh) * | 2012-02-24 | 2013-09-01 | Silicon Motion Inc | 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與系統 |
TW201503604A (zh) * | 2013-07-03 | 2015-01-16 | Lsi Corp | 在低密度奇偶性校驗(ldpc)解碼器中之對數相似比(llr)抑制 |
TW201508750A (zh) * | 2013-08-30 | 2015-03-01 | Phison Electronics Corp | 解碼方法、記憶體儲存裝置與非揮發性記憶體模組 |
TW201508759A (zh) * | 2010-04-19 | 2015-03-01 | Silicon Motion Inc | 用來進行記憶體存取管理之方法以及記憶裝置及其控制器 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3887255B2 (ja) * | 2002-03-25 | 2007-02-28 | 富士通株式会社 | 反復復号を用いたデータ処理装置 |
KR100891782B1 (ko) * | 2002-06-11 | 2009-04-07 | 삼성전자주식회사 | 고속 데이터 전송 시스템에서 순방향 오류 정정 장치 및방법 |
KR20060029495A (ko) * | 2004-10-01 | 2006-04-06 | 삼성전자주식회사 | 리드-솔로몬 부호의 복호 장치 및 방법 |
KR100703271B1 (ko) * | 2004-11-23 | 2007-04-03 | 삼성전자주식회사 | 통합노드 프로세싱을 이용한 저밀도 패리티 검사 코드복호 방법 및 장치 |
US20060156171A1 (en) * | 2004-12-15 | 2006-07-13 | Seagate Technology Llc | Combining spectral shaping with turbo coding in a channel coding system |
US20070089019A1 (en) * | 2005-10-18 | 2007-04-19 | Nokia Corporation | Error correction decoder, method and computer program product for block serial pipelined layered decoding of structured low-density parity-check (LDPC) codes, including calculating check-to-variable messages |
US8151171B2 (en) | 2007-05-07 | 2012-04-03 | Broadcom Corporation | Operational parameter adaptable LDPC (low density parity check) decoder |
US8514984B2 (en) * | 2009-09-02 | 2013-08-20 | Qualcomm Incorporated | Iterative decoding architecture with HARQ combining and soft decision directed channel estimation |
JP2011065599A (ja) * | 2009-09-18 | 2011-03-31 | Toshiba Corp | メモリシステムおよびメモリシステムの制御方法 |
US8549385B2 (en) * | 2009-12-15 | 2013-10-01 | Marvell World Trade Ltd. | Soft decoding for quantizied channel |
US8504887B1 (en) * | 2009-12-24 | 2013-08-06 | Marvell International Ltd. | Low power LDPC decoding under defects/erasures/puncturing |
US8611293B2 (en) * | 2010-03-12 | 2013-12-17 | Nec Laboratories America, Inc. | Efficient channel search with energy detection |
TWI436370B (zh) | 2010-09-17 | 2014-05-01 | Phison Electronics Corp | 記憶體儲存裝置、其記憶體控制器與產生對數似然比之方法 |
JP2012181761A (ja) * | 2011-03-02 | 2012-09-20 | Toshiba Corp | 半導体メモリ装置および復号方法 |
TWI479495B (zh) * | 2011-06-02 | 2015-04-01 | Phison Electronics Corp | 資料讀取方法、記憶體控制器及記憶體儲存裝置 |
JP5631846B2 (ja) * | 2011-11-01 | 2014-11-26 | 株式会社東芝 | 半導体メモリ装置および復号方法 |
US20130156139A1 (en) * | 2011-12-15 | 2013-06-20 | Samsung Electronics Co., Ltd. | Wireless communication system with interference filtering and method of operation thereof |
KR101968746B1 (ko) * | 2011-12-30 | 2019-04-15 | 삼성전자주식회사 | 저장 장치로부터 데이터를 읽는 읽기 방법, 에러 정정 장치, 그리고 에러 정정 코드 디코더를 포함하는 저장 시스템 |
US8856611B2 (en) * | 2012-08-04 | 2014-10-07 | Lsi Corporation | Soft-decision compensation for flash channel variation |
US9337865B2 (en) * | 2012-05-04 | 2016-05-10 | Seagate Technology Llc | Log-likelihood ratio (LLR) dampening in low-density parity-check (LDPC) decoders |
US8649118B1 (en) * | 2012-09-25 | 2014-02-11 | Lsi Corporation | Pattern-dependent LLR manipulation |
US20140129905A1 (en) * | 2012-11-06 | 2014-05-08 | Lsi Corporation | Flexible Low Density Parity Check Code Seed |
KR102081415B1 (ko) * | 2013-03-15 | 2020-02-25 | 삼성전자주식회사 | 비휘발성 메모리 장치의 llr 최적화 방법 및 비휘발성 메모리 장치의 에러 정정 방법 |
KR102131802B1 (ko) * | 2013-03-15 | 2020-07-08 | 삼성전자주식회사 | 비휘발성 메모리 장치의 데이터 독출 방법, 비휘발성 메모리 장치, 및 메모리 시스템의 구동 방법 |
US9136876B1 (en) * | 2013-06-13 | 2015-09-15 | Densbits Technologies Ltd. | Size limited multi-dimensional decoding |
US9176815B2 (en) * | 2013-11-28 | 2015-11-03 | Seagate Technology Llc | Flash channel with selective decoder likelihood dampening |
US9252817B2 (en) * | 2014-01-10 | 2016-02-02 | SanDisk Technologies, Inc. | Dynamic log-likelihood ratio mapping for error correcting code decoding |
US9916906B2 (en) * | 2014-02-27 | 2018-03-13 | Seagate Technology Llc | Periodically updating a log likelihood ratio (LLR) table in a flash memory controller |
-
2015
- 2015-03-09 KR KR1020150032598A patent/KR102265220B1/ko active IP Right Grant
- 2015-08-14 TW TW104126589A patent/TWI663603B/zh active
- 2015-08-28 US US14/839,236 patent/US9575833B2/en active Active
- 2015-11-11 CN CN201510767954.XA patent/CN105957553B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201508759A (zh) * | 2010-04-19 | 2015-03-01 | Silicon Motion Inc | 用來進行記憶體存取管理之方法以及記憶裝置及其控制器 |
TW201335942A (zh) * | 2012-02-24 | 2013-09-01 | Silicon Motion Inc | 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與系統 |
TW201503604A (zh) * | 2013-07-03 | 2015-01-16 | Lsi Corp | 在低密度奇偶性校驗(ldpc)解碼器中之對數相似比(llr)抑制 |
TW201508750A (zh) * | 2013-08-30 | 2015-03-01 | Phison Electronics Corp | 解碼方法、記憶體儲存裝置與非揮發性記憶體模組 |
Also Published As
Publication number | Publication date |
---|---|
TW201633322A (zh) | 2016-09-16 |
US20160266969A1 (en) | 2016-09-15 |
CN105957553A (zh) | 2016-09-21 |
KR20160109010A (ko) | 2016-09-21 |
CN105957553B (zh) | 2020-08-25 |
KR102265220B1 (ko) | 2021-06-16 |
US9575833B2 (en) | 2017-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI663603B (zh) | 控制器、半導體記憶體系統及其操作方法 | |
CN105529049B (zh) | 控制器、半导体存储系统、数据储存系统及其操作方法 | |
US9698827B2 (en) | Controller, semiconductor memory system and operating method thereof | |
US10623025B2 (en) | Operating method of memory system | |
CN106128510B (zh) | 控制器、半导体存储系统及其操作方法 | |
US9798614B2 (en) | Controller, semiconductor memory system and operating method thereof | |
US9619327B2 (en) | Flash memory system and operating method thereof | |
US9620246B2 (en) | Operating method of memory system | |
US9524208B2 (en) | Memory controller operating method and memory controller | |
US9825651B2 (en) | Controller, semiconductor memory system and operating method thereof | |
CN105719701B (zh) | 半导体存储器设备及其操作方法 | |
US20160247576A1 (en) | Memory controller and operating method thereof | |
KR20150024141A (ko) | 메모리 컨트롤러 및 그것의 동작 방법 | |
US20170097870A1 (en) | Operating method of memory system |