TW201724119A - 記憶體系統的操作方法 - Google Patents
記憶體系統的操作方法 Download PDFInfo
- Publication number
- TW201724119A TW201724119A TW105116431A TW105116431A TW201724119A TW 201724119 A TW201724119 A TW 201724119A TW 105116431 A TW105116431 A TW 105116431A TW 105116431 A TW105116431 A TW 105116431A TW 201724119 A TW201724119 A TW 201724119A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- bit
- reliability
- soft read
- error
- Prior art date
Links
Classifications
-
- 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
-
- 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
-
- 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
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- 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/2906—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 using block 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/2906—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 using block codes
- H03M13/2909—Product 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/2906—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 using block codes
- H03M13/2927—Decoding strategies
-
- 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/2906—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 using block codes
- H03M13/2927—Decoding strategies
- H03M13/293—Decoding strategies with erasure setting
-
- 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/2948—Iterative decoding
-
- 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)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Microelectronics & Electronic Packaging (AREA)
Abstract
一種記憶體系統的操作方法包括:從包括在記憶體裝置中的多個資料組中的特定資料組讀取第一資料;對該第一資料執行第一錯誤校正碼(ECC, error correction code解碼;當該第一ECC解碼失敗時,從該特定資料組讀取該第一資料之外的多個剩餘資料;對該等剩餘資料執行第二ECC解碼;當該第二ECC解碼失敗時,在該等剩餘資料中識別該第二ECC解碼失敗的資料;獲得分別對應於該第一ECC解碼失敗的該第一資料和該第二ECC解碼失敗的該第二資料的第一軟讀取數值和第二軟讀取數值;基於該第一軟讀取數值和第二軟讀取數值確定該第一資料和第二資料的可靠性;以及基於該第一資料和第二資料的可靠性校正該第一資料。
Description
本發明主張2015年12月22日提交的申請號為10-2015-0183647的韓國專利申請的優先權,其公開全文作為全部併入本申請。
本發明的各種實施例係關於一種記憶體系統,並且更具體地,係關於一種用於校正錯誤資料位元的記憶體系統的操作方法。
通信通道或者簡單的通道可以廣泛地限定為包括儲存資料並讀取儲存資料的資料儲存裝置。通道也包括資料透過其傳遞的路徑。例如,資料可以從主機透過通道傳遞至資料儲存裝置以用於儲存,或者從資料儲存裝置讀取的資料可以透過通道傳遞至主機。通道可以是無線路徑。
在透過通道轉移期間,資料可能被損壞,即資料位元中可能發生一個或多個錯誤。之前,已經廣泛地研究了檢測並校正資料錯誤以將損壞的資料恢復至原始資料的裝置和方法。例如,使用不同類型的錯誤校正碼(ECC),也稱作錯誤控制碼,來檢測並校正資料錯誤以將損壞的資料恢復至原始資料。因此,例如經由錯誤碼編碼,損壞的讀取資料能夠恢復。
特定通道的錯誤率取決於通道的具體特徵。隨著通道變得更複雜並且資料傳遞速度增加,資料錯誤率也變大。因此,需要進一步改善錯誤編碼和解碼方法和更尖端的錯誤校正裝置。
本發明的各種實施例係關於一種校正資料位元錯誤的記憶體系統的操作方法。
根據本發明的實施例,一種記憶體系統的操作方法可以包括:從包括在記憶體裝置中的多個資料組中的特定資料組讀取第一資料;對該第一資料執行第一錯誤校正碼(ECC)解碼;當該第一ECC解碼失敗時,從該特定資料組讀取該第一資料之外的多個剩餘資料;對該等剩餘資料執行第二ECC解碼;當該第二ECC解碼失敗時,在該等剩餘資料中識別該第二ECC解碼失敗的資料;獲得分別對應於該第一ECC解碼失敗的該第一資料和該第二ECC解碼失敗的該第二資料的第一軟讀取數值和第二軟讀取數值;基於該第一軟讀取數值和第二軟讀取數值確定該第一資料和第二資料的可靠性;以及基於該第一資料和第二資料的可靠性校正該第一資料。
該等資料組包括的資料組可以包括:多個資料;以及透過對該等資料的異或(XOR)操作獲得的備份資料。獲得該第一軟讀取數值和第二軟讀取數值包括透過利用第一讀取電壓和不同於該第一讀取電壓的第二讀取電壓重新讀取該第一資料而獲得第一重讀資料和第二重讀資料;以及透過對該第一重讀資料和第二重讀資料執行XOR操作並且對該第一重讀資料和第二重讀資料反推一個或多個XOR操作的結果位元而獲得對應於該第一資料的第一軟讀取電壓。獲得該第一軟讀取數值和第二軟讀取數值包括透過利用第三讀取電壓和不同於該第三讀取電壓的第四讀取電壓重新讀取該第二資料而獲得第三重讀資料和第四重讀資料;以及透過對第三重讀資料和第四重讀資料執行XOR操作並且對第三重讀資料和第四重讀資料反推一個或多個XOR操作的結果位元而獲得對應於該第二資料的第二軟讀取電壓。該第一資料的錯誤位元的校正包括:根據利用該第一軟讀取數值確定該第一資料的位元的可靠性的結果,確定是否確定該第二資料的位元的可靠性。透過該第一軟讀取數值和第二軟讀取數值確定是否確定該第二資料的位元的可靠性可以包括:當該第一資料的位元確定為可靠性高時,在不確定第二資料的位元的可靠性的情況下確定該第一資料的位元是否是最後的位元,當該第一資料的位元確定不為最後的位元時,增加該第一資料的位元的索引並且透過該第一軟讀取數值重複確定該第一資料的位元的可靠性;以及當該第一資料的位元確定為最後的位元時,對其中校正了錯誤位元的該第一資料執行第三ECC解碼。透過該第一軟讀取數值和第二軟讀取數值確定是否確定該第二資料的位元的可靠性可以包括:當該第一資料的位元確定為可靠性低時,透過該第二軟讀取數值確定該第二資料的位元的可靠性。透過該第二軟讀取數值確定該第二資料的位元的可靠性包括:當該第二資料的位元確定為可靠性高時,透過對該特定資料組中該第一資料之外的該等剩餘資料執行XOR操作而校正可靠性低的該第一資料的位元。透過該第二軟讀取數值確定該第二資料的位元的可靠性可以包括:當該第二資料的位元確定為可靠性低時,確定該第一資料的位元是否為最後的位元;當該第一資料的位元確定不為最後的位元時,增加該第一資料的位元的索引並且透過該第一軟讀取數值重複確定該第一資料的位元的可靠性;以及當該第一資料的位元確定為最後的位元時,對該第一資料執行第三ECC解碼。
根據本發明的實施例,一種記憶體系統的操作方法可以包括:從包括在記憶體裝置中的多個資料組中的特定資料組讀取第一資料;對該第一資料執行第一錯誤校正碼(ECC)解碼;當該第一ECC解碼失敗時,從該特定資料組讀取作為該第一資料之外的該剩餘資料的一個或多個第二資料並且對該第二資料執行第二ECC解碼;當該第二ECC解碼失敗時,透過第二ECC解碼成功的該第二資料獲得第三資料;獲得分別對應於該第一ECC解碼失敗的該第一資料和該第二ECC解碼失敗的該第二資料的第一軟讀取數值和第二軟讀取數值;透過基於該第一軟讀取數值確定該第一資料的可靠性而確定該第一資料是否包括錯誤位元;當該第一資料包括錯誤位元時,透過基於該第二軟讀取數值確定該第二資料的可靠性而確定該第二資料是否包括錯誤位元;以及當該第二資料不包括錯誤位元時,基於該第二ECC解碼失敗的第二資料和該第三資料校正該第一資料。
該等資料組包括的資料組可以包括:多個資料;以及透過對該等資料的XOR操作獲得的備份資料。當該第二ECC解碼成功時,透過對該第二資料執行XOR操作而校正該第一資料的錯誤位元。當該第二ECC解碼失敗時,透過該第二ECC解碼成功的第二資料獲得該第三資料,可以包括:透過對該第二ECC解碼成功的該第二資料執行XOR操作而獲得該第三資料。獲得該第一軟讀取數值和第二軟讀取數值可以包括:透過利用第一讀取電壓和不同於該第一讀取電壓的第二讀取電壓重新讀取該第一資料而獲得第一重讀資料和第二重讀資料;以及透過對該第一重讀資料和第二重讀資料執行XOR操作並且對該第一重讀資料和第二重讀資料反推一個或多個XOR操作的結果位元而獲得對應於該第一資料的第一軟讀取電壓。獲得該第一軟讀取數值和第二軟讀取數值包括:透過利用第三讀取電壓和不同於該第三讀取電壓的第四讀取電壓重新讀取該第二資料而獲得第三重讀資料和第四重讀資料;以及透過對第三重讀資料和第四重讀資料執行XOR操作並且對第三重讀資料和第四重讀資料反推一個或多個XOR操作的結果位元而獲得對應於該第二資料的第二軟讀取電壓。透過利用該第一軟讀取數值確定該第一資料的位元的可靠性而確定該第一資料的每個位元是否是錯誤位元可以包括:透過該第一軟讀取數值確定該第一資料的位元的可靠性;當該第一資料的位元確定為可靠性低時,確定該第一資料的位元是該錯誤位元;以及當該第一資料的位元確定為可靠性高時,確定該第一資料的位元不是該錯誤位元。當周圍透過該第一軟讀取數值確定該第一資料的位元的可靠性的結果該第一資料的位元確定不是該錯誤位元時,可以不執行透過該第二軟讀取數值的該第二資料的位元的可靠性的確定。透過利用該第二軟讀取數值確定該第二資料的位元的可靠性而確定該第二資料的每個位元是否是錯誤位元可以包括:透過該第二軟讀取數值確定該第二資料的位元的可靠性;當該第二資料的位元確定為可靠性低時,確定該第二資料的位元是該錯誤位元;以及當該第二資料的位元確定為可靠性高時,確定該第二資料的位元不是該錯誤位元。該第一資料的錯誤位元的校正可以包括:透過對該第二ECC解碼失敗的第二資料和該第三資料執行XOR操作而校正該第一資料的錯誤位元。當該第二資料的位元是該錯誤位元時,進一步可以包括:確定該第一資料的位元是否是最後的位元;當該第一資料的位元確定不為最後的位元時,增加該第一資料的位元的索引並且透過該第一軟讀取數值重複確定該第一資料的位元的可靠性;以及當該第一資料的位元確定為最後的位元時,對該第一資料執行第三ECC解碼。
根據本發明的實施例,一種記憶體系統的操作方法可以包括:從包括在記憶體裝置中的多個資料組中的特定資料組讀取第一資料;對該第一資料執行第一錯誤校正碼(ECC)解碼;當該第一ECC解碼失敗時,從該特定資料組讀取該第一資料之外的多個剩餘資料;對該等剩餘資料執行第二ECC解碼並且確定該第二ECC解碼是否成功;當該第二ECC解碼失敗時,透過第二ECC解碼成功的該等剩餘資料獲得第二資料;獲得分別對應於該第一ECC解碼失敗的該第一資料和該第二ECC解碼失敗的該等剩餘資料的多個軟讀取數值;透過對應於該等軟讀取數值中該第一資料的第一軟讀取數值之外的其他軟讀取數值獲得第二軟讀取數值;透過該第二ECC解碼失敗的該等剩餘資料獲得第三資料;透過基於該第一軟讀取數值確定該第一資料的可靠性而確定該第一資料是否包括錯誤位元;當該第一資料包括錯誤位元時,透過基於該第二軟讀取數值確定該第三資料的可靠性而確定該第三資料是否包括錯誤位元;以及當該第三資料不包括錯誤位元時,基於該第二資料和該第三資料校正該第一資料。該等資料組包括的多個資料組可以包括:多個資料;以及透過對該等資料的XOR操作獲得的備份資料。透過對該等剩餘資料中該第二ECC解碼成功的該等剩餘資料執行XOR操作而執行利用該第二ECC解碼成功的該等剩餘資料獲得該第二資料。透過對該等軟讀取數值中對應於該第一資料的第一軟讀取數值之外的其他軟讀取數值執行和(AND)操作而執行利用該等軟讀取數值中對應於該第一資料的該第一軟讀取數值之外的其他軟讀取數值獲得該第二軟讀取數值。透過利用該第一軟讀取數值確定該第一資料的位元的可靠性而確定該第一資料的每個位元是否是錯誤位元可以包括:透過該第一軟讀取數值確定該第一資料的位元的可靠性;當該第一資料的位元確定為可靠性低時,確定該第一資料的位元是該錯誤位元;以及當該第一資料的位元確定為可靠性高時,確定該第一資料的位元不是該錯誤位元。當周圍透過該第一軟讀取數值確定該第一資料的位元的可靠性的結果該第一資料的位元確定不是該錯誤位元時,不執行透過該第二軟讀取數值的該第二資料的位元的可靠性的確定。當該第一資料的位元是該錯誤位元時,透過利用該第二軟讀取數值確定該第三資料的位元的可靠性而確定該第三資料的每個位元是否是錯誤位元可以包括:透過該第二軟讀取數值確定該第三資料的位元的可靠性;當該第三資料的位元確定為可靠性低時,確定該第三資料的位元是該錯誤位元;以及當該第三資料的位元確定為可靠性高時,確定該第三資料的位元不是該錯誤位元。該第一資料的錯誤位元的校正可以包括:透過對第二資料和該第三資料的位元執行XOR操作而校正該第一資料的錯誤位元。當作為透過確定該第三資料的位元的可靠性而確定該第三資料的每個位元是否是該錯誤位元的結果該第三資料的位元可以是該錯誤位元時,進一步可以包括:確定該第一資料的位元是否是最後的位元;當該第一資料的位元確定不為最後的位元時,增加該第一資料的位元的索引並且透過該第一軟讀取數值重複確定該第一資料的位元的可靠性;以及當該第一資料的位元確定為最後的位元時,對該第一資料執行第三ECC解碼。
根據本發明的實施例,可以獲得對應於兩個以上資料的多個軟讀取數值,可以使用對應於兩個以上資料中主機請求讀取的讀取資料的軟讀取數值,並且可以根據讀取的資料的位元的可靠性的確定結果校正讀取的資料的錯誤位元。
下面將參考附圖更加詳細地描述各種實施例。然而,本發明可以不同的形式呈現且不應被解釋為限於在本文中提出的實施例。而是,這些實施例被提供使得本公開將是徹底且完整的,並且將向本領域技術人員完全地表達本發明。
附圖不一定按比例,並且在一些情況下,為了清楚地示出實施例的特徵,比例可能已經被擴大。在整個公開中,參考數字直接對應本發明的各種附圖和實施例中的相似部件。
應該注意的是,在本說明書中,“連接/聯接”不僅指一個元件直接連接另一個元件而且指透過中間元件間接連接另一個元件。
另外,單數形式可包括複數形式,只要未在句子中特別地提到。應該容易理解的是,在本發明中的“上”和“上方”的意思應該以最寬的方式來解釋使得“上”不僅指“直接在某事物上”而且指透過其間的中間特徵或層而“處於某事物“上”,並且“上方”不僅指直接在某事物的頂面上而且指透過其間的中間特徵或層在某事物的頂面上。當第一層被稱為在第二層“上”或在襯底“上”時,其不僅指第一層直接形成在第二層或襯底上的情況而且也指第一層和第二層或襯底之間存在第三層的情況。此外,當一個元件被稱作在兩個元件或層“之間”時應當被理解為,該一個元件可以是兩個元件層之間的唯一的元件,或者也可以存在一個或多個中間元件。
本文使用的術語僅是出於描述特定實施例而不意在限制本發明。此外,將理解的是,當在本說明書中使用時,術語“包括”是指提及的元件的存在,但不用於排除一個或多個其他元件的存在或增加。在本文中使用時,術語“和/或”包括一個或多個相關列出專案的任何和所有組合。
除非有相反說明,包括本文使用的科技術語的所有的專案具有與本發明所屬技術領域技術人員通常所理解的相同意義。此外,將理解的是,諸如在常用詞典裡定義的那些術語應當解釋為具有與其在相關技術上下文中的意義一致的意義,並且不應理解為理想化或過於正式的感覺,除非在本文中明確地如此定義。
在下列說明中,陳述了大量特殊的細節,以提供本發明的透徹理解。本發明可以在沒有部分或全部該特殊細節的情況下實施。在其他情況下,為了不使本發明被不必要地模糊,不詳細描述公知的工藝結構和/或工藝。
在一些情況下,對本領域技術人員顯然的是,除非另有具體說明,結合特定實施例描述的元件可以單獨使用或者與其他實施例其他特徵或元件組合使用。
以下,將參考附圖詳細地描述本發明的各種實施例。
圖1是示出根據本發明的實施例的半導體記憶體系統110的方塊圖。
根據圖1的實施例,資料處理系統10可以包括主機100和記憶體系統110。
主機100可以包括例如便攜式電子設備,諸如行動電話、MP3播放機、筆記型電腦,或者電子設備,諸如桌上型電腦、遊戲機、電視、投影儀等。
記憶體系統110可以回應於主機100的請求而操作,並且特別地,可以儲存待被主機100存取的資料。例如,記憶體系統110可以用作主機100的主記憶體系統或者次要記憶體系統。記憶體系統110可以利用根據待與主機100電連接的主機介面的協定的各種記憶體裝置中的任一種來實現。記憶體系統110可以透過各種記憶體裝置中的一種來實現,諸如固態驅動器(SSD, solid state drives)、多媒體卡(MMC, multimedia card)、嵌入式MMC(eMMC, embedded MMC)、減小尺寸的多媒體卡(RS-MMC, reduced size MMC)和微型-MMC、安全數位(SD, reduced size MMC)卡、小型SD卡、微型SD卡、通用序列匯流排(USB, universal serial bus)記憶體裝置、通用閃速儲存(UFS, universal flash storage)裝置、標準快閃記憶體(CF, compact flash)卡、智慧媒體(SM, smart media)卡、記憶棒等。
記憶體系統110的儲存裝置可利用諸如動態隨機存取記憶體(DRAM, dynamic random access memory)和靜態隨機存取記憶體(SRAM, static random access memory)的揮發性記憶體裝置或諸如唯讀記憶體(ROM, read only memory)、光罩ROM(MROM, mask ROM)、可程式設計ROM(PROM, programmable ROM)、可擦可程式設計ROM(EPROM, erasable programmable ROM)、電可擦可程式設計ROM(EEPROM, electrically erasable programmable ROM)、鐵電隨機存取記憶體(FRAM, ferroelectric RAM)、相變RAM(PRAM, phase change RAM)、磁阻RAM(MRAM, magnetic RAM)、電阻式RAM(RRAM, resistive RAM)等非揮發性記憶體裝置來實現。可以使用一個或多個記憶體裝置。
記憶體系統110可包括可以儲存待被主機100存取的資料的記憶體裝置200和可控制資料在記憶體裝置200中的儲存的控制器120。
控制器120和記憶體裝置200可以集成到半導體裝置中並被配置為儲存卡。例如,控制器120和記憶體裝置200可以集成到半導體裝置中並且被配置為固態驅動器(SSD)。當記憶體系統110用作SSD時,與記憶體系統110電連接的主機100的操作速度可以顯著地增加。
控制器120和記憶體裝置200可以集成到半導體裝置中並被配置為儲存卡。例如,控制器120和記憶體裝置200可集成在半導體裝置中並且配置為諸如以下的儲存卡,例如個人電腦儲存卡國際聯合會(PCMCIA, Personal Computer Memory Card International Association)、標準快閃記憶體(CF)卡、智慧媒體(SM)卡(SMC)、記憶棒、多媒體卡(MMC)、小型(RS)-MMC和微型MMC、安全數位(SD)卡、小型SD卡、微型SD卡、安全數位高容量(SDHC)、通用閃速儲存(UFS)裝置等。
在一個實施例中,記憶體系統110可以是或者包括電腦、超移動PC(UMPC, ultra-mobile PC)、工作站、上網本、個人數位助理(PDA, personal digital assistant)、便攜式電腦、網路平板、平板電腦、無線電話、行動電話、智慧型電話、電子書、便攜式多媒體播放機(PMP)、便攜式遊戲機、導航裝置、黑盒子、數位相機、數位多媒體廣播(DMB, digital multimedia broadcasting)播放機、三維(3D, three-dimensional)電視、智慧電視、數位音訊記錄器、數位音訊播放機、數位圖像記錄器、數位圖像播放機、數位視訊記錄器、數位視訊播放機、配置資料中心的記憶體、能夠在無線環境下傳輸和接收資訊的裝置、配置家用網路的各種電子裝置中的一種、配置電腦網路的各種電子裝置中的一種、配置遠端資訊處理網路的各種電子裝置中的一種、RFID裝置、配置電腦系統的各種組成元件中的一種等。
甚至當電源切斷時,記憶體系統110的記憶體裝置200也可以保存所儲存的資料。具體地,記憶體裝置200可以透過寫入操作儲存主機100提供的資料,並且透過讀取操作將儲存的資料提供至主機100。
記憶體系統110的記憶體裝置200可以包括多個儲存區塊210、控制電路220、電壓供給電路230、行解碼器240、頁面緩衝器250和列解碼器260。記憶體裝置200可以是非揮發性記憶體裝置,例如閃速記憶體裝置。閃速記憶體裝置可以具有3維(3D)堆疊結構。
每個儲存區塊210可以包括多個頁面。每個頁面可以包括多個記憶體單元,多個字線(WL)電連接至該等記憶體單元。
控制電路220可以控制記憶體裝置200的各種操作,諸如程式設計、擦除和讀取操作。
電壓供給電路230可以根據操作模式將字線電壓,諸如,程式設計電壓、讀取電壓和過電壓提供至各個字線,並且可以提供待供應至其中形成有記憶體單元的塊材(bulks)例如阱區的電壓。可以在控制電路220的控制下執行電壓供給電路230的電壓生成操作。電壓供給電路230可以生成多個可變讀取電壓以生成多個讀取的資料。
行解碼器240可以在控制電路220的控制下選擇記憶體單元陣列210的儲存區塊或磁區中的一個,並且從選擇的儲存區塊中選擇一個字線。行解碼器240可以在控制電路220的控制下將電壓供給電路230生成的字線電壓提供至選定的字線或者未選定的字線。
程式設計操作期間,頁面緩衝器250可以作為根據待儲存在儲存區塊210中的資料來驅動位元線的寫入驅動器而操作。程式設計操作期間,頁面緩衝器250可以接受待從緩衝器(未示出)寫入儲存區塊210的資料,並且可以根據輸入的資料驅動位元線。頁面緩衝器250可以由分別對應於列或位元線,或者位元線對的多個頁面緩衝器(PB)251形成。多個鎖存器可以包括在多個頁面緩衝器251的每個中。
記憶體系統110的控制器120可回應於來自主機100的請求來控制記憶體裝置200。控制器120可以向主機100提供從記憶體裝置200讀取的資料,並且將主機100提供的資料儲存至記憶體裝置200中。為此,控制器120可以控制記憶體裝置200的全部操作,諸如讀取、寫入、程式設計和擦除操作。
控制器120可以包括主機介面單元130、處理器140、錯誤校正碼(ECC)單元160、電力管理單元(PMU)170、NAND閃速控制器(NFC)180和記憶體190。
主機介面單元130可以處理來自主機100的命令和資料並且可以透過諸如以下的各種介面協定中的至少一個與主機100通信:通用序列匯流排(USB)、多媒體卡(MMC)、周邊元件連接快遞(PCI-E, peripheral component interconnect-express)、串列SCSI(SAS, serial attached SCSI)、串列高級技術附件(SATA, serial advanced technology attachment)、並行高級技術附件(PATA, parallel advanced technology attachment)、小型電腦系統介面(SCSI, small computer system interface)、增強型小型磁片介面(ESDI, enhanced small disk interface)、集成驅動電路(IDE, integrated drive electronics)等。
ECC單元160可以檢測和校正讀取操作期間從記憶體裝置200讀取的資料中的錯誤。ECC單元160對從記憶體裝置200讀取的資料執行ECC解碼,確定ECC解碼是否成功,根據確定結果輸出指令信號,並且使用ECC編碼期間生成的同位位元校正讀取的資料的錯誤位元。當錯誤位元的數量大於或等於可校正錯誤位元的閾值數量時,ECC單元160可以不校正錯誤位元,並且可以輸出表示校正錯誤位元失敗的錯誤校正失敗信號。
ECC單元160可以基於諸如以下的編碼調製執行錯誤校正操作:低密度奇偶檢查(LDPC, low density parity check)碼、博斯-查德胡裡-霍昆格姆(BCH, Bose-Chaudhuri-Hocquenghem)碼、渦輪碼、裡德-所羅門(RS, Reed-Solomon)碼、卷積碼、遞迴卷積碼(RSC, recursive systematic code)、網格編碼調製(TCM, trellis-coded modulation)、分組編碼調製(BCM, Block coded modulation)等。ECC單元160可以包括錯誤校正操作需要的所有的電路、系統、或裝置。
電力管理單元PMU 170可以提供和管理控制器120的電源,例如,包括在控制器120中的組成元件的電力。
NAND閃速控制器NFC 180可用作控制器120和記憶體裝置200之間的儲存介面以允許控制器120回應於來自主機100的請求而控制記憶體裝置200。當記憶體裝置200是閃速記憶體並且特別是當記憶體裝置200是NAND閃速記憶體時,NFC 180可以生成記憶體裝置200的控制信號並且在處理器140的控制下處理資料。
記憶體190可以用作記憶體系統110和控制器120的工作記憶體,並且儲存用於驅動記憶體系統110和控制器120的資料。控制器120可以回應於來自主機100的請求而控制記憶體裝置200。例如,控制器120可以將從記憶體裝置200讀取的資料提供至主機100,並且可以將由主機100提供的資料儲存至記憶體裝置200。當控制器120控制記憶體裝置200的操作時,記憶體190可以儲存控制器120和記憶體裝置200的諸如讀取、寫入、程式設計和擦除操作的操作使用的資料。
記憶體190可以利用揮發性記憶體來實現。例如,記憶體144可以利用靜態隨機存取記憶體(SRAM)或動態隨機存取記憶體(DRAM)來實現。如上所說,記憶體190可儲存被主機100和記憶體裝置200用於寫入和讀取操作的資料。為了儲存資料,記憶體190可包括程式記憶體、資料記憶體、寫入緩衝器、讀取緩衝器、映射(map)緩衝器等。
此外,記憶體190可以儲存用於ECC單元160和處理器140之間的操作的資料,諸如讀取操作讀取的資料。即,記憶體190可以儲存從半導體之記憶體裝置200讀取的資料。資料可以包括使用者資料、奇偶校驗數據資料和狀態資料。狀態資料可以包括程式設計操作期間其迴圈組適用於半導體之記憶體裝置200的儲存區塊210的資訊。
處理器140可以控制記憶體系統110的一般操作,並且可以回應於來自主機100的寫入請求或讀取請求控制記憶體裝置200的寫入操作或讀取操作。處理器140可以驅動稱作快閃記憶體轉換層(FTL, flash translation layer)的固件以控制記憶體系統110的一般操作。處理器140可利用微處理器、中央處理單元(CPU)來實現。
管理單元(未示出)可以被包括在處理器140中,並可執行記憶體裝置200的壞區塊管理。管理單元可發現包括在記憶體裝置200中的對於進一步使用處於不滿意狀態的壞儲存區塊,並對壞儲存區塊執行壞區塊管理。當記憶體裝置200是閃速記憶體,例如NAND閃速記憶體時,由於NAND邏輯功能的特性,寫入操作期間,例如程式設計期間可能發生程式設計失敗。在壞區塊管理期間,程式設計失敗的儲存區塊或壞的儲存區塊的資料可以程式設計到新的儲存區塊中。同樣地,由於程式設計失敗產生的壞區塊可能使具有3D堆疊結構的記憶體裝置200的利用效率和記憶體系統110的可靠性嚴重劣化,並且由此需要可靠的壞區塊管理。
圖2是示出圖1所示的半導體之記憶體裝置200的儲存區塊210的記憶體單元陣列電路的方塊圖。
參考圖2,儲存區塊210可以包括分別地連接至位元線BL0-BLm-1的多個單元串221。每個列的單元串221可以包括一個或多個汲極選擇電晶體DST和一個或多個源極選擇電晶體SST。多個記憶體單元或者記憶體單元電晶體可以串聯在汲極選擇電晶體DST和源極選擇電晶體SST之間。
記憶體單元MC0-MCn-1中的每個可以由在每個單元中儲存單位資料或多位數據的資料資訊的多層單元(MLC, multi-level cell)形成。單元串221可分別電連接至對應的位元線BL0至BLm-1。
圖3是示出根據本發明的實施例多個資料組的簡圖。
根據圖3的實施例,例如多個資料組可以包括第一資料組DATA GROUP_1、第二資料組DATA GROUP_2和第三資料組DATA GROUP_3。第一資料組DATA GROUP_1至第三資料組DATA GROUP_3中的每個可以包括多個資料和多個資料的備份資料DATA_SPARE。例如,多個資料可以是使用者資料並且包括第一資料DATA_1、第二資料DATA_2、第三資料DATA_3和第n資料DATA_n(例如,第四資料DATA_4)。備份資料DATA_SPARE可以包括第一資料DATA_1至第四DATA_4對應的位元的異或(XOR)操作的結果位元。
第一資料組至第三資料組的每個可以包括多個索引,每個索引表示一個位址。同樣地,每個索引可以對應於多個資料的位元各個位置。例如,第一資料組至第三資料組中的每個的第零索引Index 0至第十五索引Index 15可以包括多個資料程式設計期間儲存的資料。
圖4是示出記憶體系統的一般操作方法的流程圖。例如,可以由圖1的控制器120執行圖4的操作。
根據圖4的實施例,在步驟S401,控制器120從記憶體裝置200的儲存區塊210讀取主機100請求讀取的第一資料DATA_1。控制器120從多個資料組DATA GROUP_1 - DATA GROUP_3中包括第一資料的一個中讀取第一資料DATA_1。例如,控制器120從第一資料組DATA GROUP_1中讀取第一資料DATA_1。
在步驟S403和S405,控制器120執行檢測並校正包括在第一資料DATA_1中的錯誤的第一ECC解碼,並且確定第一ECC解碼是否成功。
當步驟S405確定的結果為第一ECC解碼成功(是)時,在步驟S406,控制器120將第一資料DATA_1和成功標記(OK FLAG)提供至主機100。
然而,第一資料DATA_1的錯誤位元也可能沒有透過第一ECC解碼被校正。
在步驟407,當步驟S405確定的結果為第一ECC解碼失敗(否)時,控制器120讀取包括在第一資料組DATA GROUP_1中的剩餘資料,即,第二資料DATA_2至第n資料DATA_n(例如,DATA_4)和用於校正第一資料DATA_1的錯誤位元的備份資料DATA_SPARE。
在步驟S409和S411,控制器120執行檢測並校正包括在剩餘資料DATA_2 - DATA_4中的錯誤的第二ECC解碼,並且確定第二ECC解碼是否成功。
當步驟S411確定的結果為第二ECC解碼失敗(否)時,這表示剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE中的一個或多個存在錯誤位元並且因此第一資料DATA_1的錯誤位元不能透過剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE校正。在此情況下,在步驟S415,控制器120將未錯誤校正的第一資料DATA_1和失敗標記(FAIL FLAG)提供至主機100。
在步驟S413,當步驟S411確定的結果為第二ECC解碼成功(是)時,為了對第一資料DATA_1的錯誤位元進行錯誤校正,控制器120透過對剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE執行XOR操作而校正第一資料DATA_1的錯誤位元。因此,第一資料DATA_1恢復。為了方便說明,錯誤校正的第一資料DATA_1被稱作錯誤校正的第一資料DATA_1。
在步驟S417和S419,控制器120執行檢測並校正包括在錯誤校正的第一資料DATA_1中的錯誤的第三ECC解碼,並且確定第三ECC解碼是否成功。
當步驟S419確定的結果為第三ECC解碼成功(是)時,在步驟S421,控制器120將錯誤校正的第一資料DATA_1和成功標記(OK FLAG)提供至主機100。
當步驟S419確定的結果為第三ECC解碼失敗(否)時,在步驟S423,控制器120將錯誤校正的第一資料DATA_1和失敗標記(FAIL FLAG)提供至主機100。
再次參照步驟S413,僅當剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE中不存在錯誤位元時,控制器120執行剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE的XOR操作以對第一資料DATA_1的錯誤位元錯誤校正。當剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE的一個或多個中存在錯誤位元時,第一資料DATA_1的錯誤位元不能透過剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE的XOR操作校正。現在參考圖5至圖10說明剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE的一個或多個中存在錯誤位元的情形。
圖5是示出根據本發明的第一實施例的記憶體系統的操作方法的流程圖。例如,可以由圖1的控制器120執行圖4的操作。
根據圖5的實施例,在步驟S501,控制器120可以從記憶體裝置200的儲存區塊210讀取主機100請求讀取的第一資料DATA_1。例如,控制器120從多個資料組DATA GROUP_1 - DATA GROUP_3中包括第一資料DATA_1的第一資料組DATA GROUP_1中讀取第一資料DATA_1。例如,多個資料組DATA GROUP_1 - DATA GROUP_3可以包括第一資料組DATA GROUP_1、第二資料組DATA GROUP_2和第三資料組DATA GROUP_3。例如,第一資料組DATA GROUP_1至第三資料組DATA GROUP_3中的每個可以包括多個資料DATA_1 - DATA_n(例如,DATA_4)和多個資料DATA_1 - DATA_4的備份資料DATA_SPARE。
在步驟S503和S505,控制器120可以執行檢測並校正包括在第一資料DATA_1中的錯誤的第一ECC解碼,並且可以確定第一ECC解碼是否成功。
當步驟S505確定的結果為第一ECC解碼成功(是)時,在步驟S507,控制器120可以將第一資料DATA_1和成功標記(OK FLAG)提供至主機100。
然而,第一資料DATA_1的錯誤位元也可能沒有透過第一ECC解碼被校正。
在這樣的情形下,當步驟S505確定的結果為第一ECC解碼失敗(否)時,控制器120可以在步驟S509讀取包括在第一資料組DATA GROUP_1中的剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE(除了第一資料DATA_1)以校正第一資料DATA_1的錯誤位元。
在步驟S511和S513,控制器120可以執行檢測並校正包括在剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE中的錯誤的第二ECC解碼,並且可以確定第二ECC解碼是否成功。例如,控制器120可以以這樣的順序順次執行剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE的第二ECC解碼。
在步驟S515,當步驟S513確定的結果為第二ECC解碼成功(是)時,為了對第一資料DATA_1的錯誤位元錯誤校正,控制器120可以透過對剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE執行XOR操作而校正第一資料DATA_1的錯誤位元。因此,第一資料DATA_1恢復。為了方便說明,錯誤校正的第一資料DATA_1被稱作錯誤校正的第一資料DATA_1。
在執行步驟S515之後,在步驟S527和S529,控制器120可以執行檢測並校正包括在錯誤校正的第一資料DATA_1中的錯誤的第三ECC解碼,並且確定第三ECC解碼是否成功。
當步驟S529確定的結果為第三ECC解碼成功(是)時,在步驟S531,控制器120可以將錯誤校正的第一資料DATA_1和成功標記(OK FLAG)提供至主機100。
當步驟S529確定的結果為第三ECC解碼失敗(否)時,在步驟S533,控制器120可以將錯誤校正的第一資料DATA_1和失敗標記(FAIL FLAG)提供至主機100。
當步驟S513確定的結果為第二ECC解碼失敗(否)時,在步驟S517,控制器120可以在剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE中識別第二ECC解碼失敗的資料。剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE中的一個或多個的第二ECC解碼可能失敗。為了方便說明,假定剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE的第二資料DATA_2的第二ECC解碼失敗。
在步驟S519,控制器120可以獲得分別對應於第一ECC解碼失敗的第一資料DATA_1和第二ECC解碼失敗的剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE中的一個或多個的多個軟讀取數值。例如,控制器120可以獲得分別對應於第一資料DATA_1和第二資料DATA_2的第一軟讀取數值和第二軟讀取數值。控制器120可以獲得對應於第一ECC解碼失敗的第一資料DATA_1和第二ECC解碼失敗的剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE中的一個或多個的多個軟讀取數值,由此透過確定第一資料DATA_1和剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE中的一個或多個的位元的可靠性而確定第一資料DATA_1和剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE中的一個或多個的每個中是否存在錯誤。
控制器120可以如下獲得第一軟讀取數值和第二軟讀取數值。首先,控制器120可以使用兩個讀取電壓對第一資料DATA_1和剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE中的一個或多個中的每個重複讀取操作。控制器120透過對再次讀取的資料位元執行XOR操作並且透過反推XOR操作的結果位元而獲得第一軟讀取數值和第二軟讀取數值。例如,為了獲得第一軟讀取數值,控制器120可以透過第一讀取電壓讀取第一資料DATA_1。然後,控制器120可以透過第二讀取電壓讀取第一資料DATA_1。控制器120可以對分別透過第一電壓和第二電壓讀取的第一資料DATA_1的位元執行XOR操作。控制器120可以透過反推XOR操作的結果位元而獲得對應於第一資料DATA_1的第一軟讀取數值。控制器120可以以對應於第一資料DATA_1的第一軟讀取數值相同的方式獲得對應於第二資料DATA_2的第二軟讀取數值。
第一軟讀取數值和第二軟讀取數值中的每個可以包括高可靠性的位元和低可靠性的位元。高可靠性的位元和低可靠性的位元可以分別用值“1”和“0”表示。例如,在第一軟讀取數值和第二軟讀取數值的每個中,高可靠性位元可以由值“1”表示並且低可靠性位元可以由值“0”表示。
在步驟S521,控制器120可以使用多個軟讀取數值確定第一資料DATA_1和剩餘資料DATA_2 - DATA_4及備份資料DATA_SPARE的多個位元的可靠性,並且可以根據可靠性步驟的確定結果來錯誤校正第一資料DATA_1。
控制器120可以使用第一軟讀取數值以確定第一資料DATA_1的位元的可靠性,並且使用第二軟讀取數值以確定第二資料DATA_2的位元的可靠性。控制器120可以透過對應於第一資料DATA_1和第二資料DATA_2的第一軟讀取數值和第二軟讀取數值分別確定第一資料DATA_1和第二資料DATA_2的位元的可靠性。第一資料DATA_1由主機100請求讀取。因此,控制器120可以透過利用第一軟讀取數值確定第一資料DATA_1的位元的可靠性而首先確定第一資料DATA_1中是否存在錯誤。當根據利用第一軟讀取數值確定的第一資料DATA_1的位元的可靠性結果第一資料DATA_1的位元可靠性高時,控制器120可以確定第一資料DATA_1中高可靠性位元不是錯誤位元。因此,由於控制器120不需要對第一資料DATA_1中高可靠性位元錯誤校正,所以控制器120可以不確定第二資料DATA_2的位元的可靠性。
當根據利用第一軟讀取數值確定的第一資料DATA_1的位元的可靠性結果第一資料DATA_1的位元可靠性低時,控制器120可以確定第一資料DATA_1中低可靠性位元是錯誤位元。因此,現在將參考圖6詳細描述,為了錯誤校正第一資料DATA_1的低可靠性位元,控制器120可以利用第二軟讀取數值確定第二資料DATA_2的位元的可靠性。
圖6是說明根據本發明的第一實施例的基於軟讀取數值確定資料可靠性的操作的簡圖。例如,可以由圖1的控制器120執行圖6的操作。
根據圖6的實施例,控制器120可以透過利用第一軟讀取數值確定第一資料DATA_1的位元的可靠性而首先確定第一資料DATA_1中是否存在錯誤。例如,控制器120可以識別第一軟讀取數值對應於第一資料DATA_1的第零索引(Index 0)的位元。第一軟讀取數值對應於第一資料DATA_1的第零索引(Index 0)的位元可以是“1”並且因此第一資料DATA_1的第零索引(Index 0)的位元可以確定為高可靠性的。由於第一資料DATA_1的第零索引(Index 0)的位元確定為高可靠性的,所以控制器120可以不確定第二資料DATA_2的第零索引(Index 0)的位元的可靠性。在此情況下,由於第一資料DATA_1的第零索引(Index 0)的位元確定為高可靠性的,控制器120可以不透過剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE錯誤校正第一資料DATA_1。
例如,控制器120可以識別第一軟讀取數值對應於第一資料DATA_1的第五索引(Index 5)的位元。第一軟讀取數值對應於第一資料DATA_1的第五索引(Index 5)的位元可以是“0”並且因此第一資料DATA_1的第零索引(Index 0)的位元可以確定為低可靠性的或者是錯誤位元。由於第一資料DATA_1的第五索引(Index 5)的位元確定低可靠性或者錯誤位元,所以控制器120可以透過確定第二資料DATA_2的第五索引(Index 5)的位元的可靠性而確定第二資料DATA_2的第五索引(Index 5)的位元是否是錯誤位元。作為第二軟讀取數值對應於第二資料DATA_2的第五索引(Index 5)的位元的識別結果,第二軟讀取數值對應於第二資料DATA_2的第五索引(Index 5)的位元可以是“1”。即,第二資料DATA_2的第五索引(Index 5)的位元可以是高可靠性的,並且因此第二資料DATA_2的第五索引(Index 5)的位元可以不是錯誤位元。
因此,由於第二資料DATA_2的第五索引(Index 5)的位元是高可靠性的,所以控制器120可以錯誤校正第一資料DATA_1的第五索引(Index 5)的位元。控制器120可以透過對第一資料組DATA GROUP_1中剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE(除第一資料DATA_1之外)的第五索引(Index 5)的位元執行XOR操作而錯誤校正第一資料DATA_1的第五索引(Index 5)的位元。透過以此方式錯誤校正第一資料DATA_1的錯誤位元,錯誤位元的數量可以減少。
例如,控制器120可以識別第一軟讀取數值對應於第一資料DATA_1的第十一索引(Index 11)的位元。第一軟讀取數值對應於第一資料DATA_1的第十一索引(Index 11)的位元可以是“0”並且因此第一資料DATA_1的第十一索引(Index 11)的位元可以確定為低可靠性的或者是錯誤位元。由於第一資料DATA_1的第十一索引的位元確定低可靠性或者錯誤位元,所以控制器120可以透過確定第二資料DATA_2的第十一索引(Index 11)的位元的可靠性而確定第二資料DATA_2的第十一索引(Index 11)的位元是否是錯誤位元。作為第二軟讀取數值對應於第二資料DATA_2的第十一索引(Index 11)的位元的識別結果,第二軟讀取數值對應於第二資料DATA_2的第十一索引(Index 11)的位元可以是“0”。即,第二資料DATA_2的第十一索引(Index 11)的位元可以是低可靠性的,並且因此第二資料DATA_2的第十一索引(Index 11)的位元可以是錯誤位元。
因此,由於第一資料DATA_1和第二資料DATA_2的第十一索引(Index 11)的位元是低可靠性的或者是錯誤位元,所以控制器120可以不錯誤校正第一資料DATA_1的第十一索引(Index 11)的位元。這樣,在第一資料DATA_1和第二資料DATA_2的位元是低可靠性的或者是錯誤位元的情形下,由於剩餘資料DATA_2 - DATA_4及備份資料DATA_SPARE中的第二資料DATA_2中存在錯誤位元,控制器120可以不透過對第一資料組DATA GROUP_1中剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE(除第一資料DATA_1之外)的位元的XOR操作來錯誤校正第一資料DATA_1的錯誤位元。在此情況下,控制器120可以透過稍後將描述的圖5的步驟S527的第三ECC解碼錯誤校正第一資料DATA_1的錯誤位元。
再次參照圖5,在步驟S523,控制器120可以確定多個資料的位元是否是透過多個軟讀取數值最後確定可靠性的位元。
當作為步驟S523的確定的結果多個資料的位元不是透過多個軟讀取數值最後確定可靠性的位元(否)時,控制器120可以在步驟S525增加第一資料DATA_1和第二資料DATA_2的位元的索引並且隨後根據在步驟S521確定第一資料DATA_1和第二資料DATA_2的多個位元的可靠性的結果錯誤校正第一資料DATA_1,這可以從步驟S519重複知道第一資料DATA_1和第二資料DATA_2的位元是透過多個軟讀取數值最後確定可靠性的位元。
當作為步驟S523的確定結果多個資料的位元是透過多個軟讀取數值最後確定可靠性的位元(是)時,控制器120可以執行第三ECC解碼以檢測並校正包括在第一資料DATA_1中的錯誤,並且可以在步驟S527和步驟S529確定第三ECC解碼是否成功。
透過第三ECC解碼,控制器120可以檢測並校正在步驟S521不校正的第一資料DATA_1的錯誤位元。
當步驟S529確定的結果為第三ECC解碼成功(是)時,在步驟S531,控制器120可以將第一資料DATA_1和成功標記(OK FLAG)提供至主機100。
當步驟S529確定的結果為第三ECC解碼失敗(否)時,在步驟S533,控制器120可以將第一資料DATA_1和失敗標記(FAIL FLAG)提供至主機100。
圖7是示出根據本發明的第二實施例的記憶體系統的操作方法的流程圖。例如,可以由圖1的控制器120執行圖7的操作。
根據圖7的實施例,步驟S701-S709可以與圖5的步驟S501-S509相同,並且因此將省略這些步驟的說明。
在步驟S711和S713,控制器120可以執行檢測並校正包括在剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE中的錯誤的第二ECC解碼,並且可以確定第二ECC解碼是否成功。例如,控制器120可以以這樣的順序順次執行剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE的第二ECC解碼。
在步驟S715,當步驟S713確定的結果為第二ECC解碼成功(是)時,為了對第一資料DATA_1的錯誤位元錯誤校正,控制器120可以透過對剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE執行XOR操作而校正第一資料DATA_1的錯誤位元。因此,第一資料DATA_1恢復。
在步驟S735和S737,控制器120可以對錯誤校正的第一資料DATA_1執行本文所述的第三ECC操作以檢測並校正錯誤校正的第一資料DATA_1中的錯誤位元。
當步驟S713確定的結果為第二ECC解碼失敗(否)時,在步驟S717,控制器120可以透過對第二ECC解碼成功的剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE執行XOR操作而獲得過XOR資料(PASS XOR DATA)。對剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE中的一個或多個的第二ECC解碼可以是成功的。
以下,為了方便說明,在剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE中,假定第二資料DATA_2和第三資料DATA_3的第二ECC解碼失敗並且第四資料DATA_4和備份資料DATA_SPARE的第二ECC解碼成功
在步驟S719,控制器120可以獲得分別對應於第一ECC解碼失敗的第一資料DATA_1和第二ECC解碼失敗的剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE中的一個或多個(即,DATA_2和DATA_3)的多個軟讀取數值。控制器120可以以與上述第一實施例的第一軟讀取數值和第二軟讀取數值相同的方式獲得第一軟讀取數值至第三軟讀取數值。控制器120可以獲得分別地對應於第一資料DATA_1至第三資料DATA_3的第一軟讀取數值至第三軟讀取數值。控制器120可以獲得分別地對應於第一ECC解碼失敗的第一資料DATA_1和第二ECC解碼失敗的第二資料DATA_2和第三資料DATA_3的多個軟讀取數值,以透過確定第一資料DATA_1和第二資料DATA_2和第三資料DATA_3的位元的可靠性而確定第一資料DATA_1和第二資料DATA_2和第三資料DATA_3的每個中是否存在錯誤。控制器120可以使用第一軟讀取數值以確定第一資料DATA_1的位元的可靠性,使用第二軟讀取數值以確定第二資料DATA_2的位元的可靠性,並且使用第三軟讀取數值以確定第三資料DATA_3的位元的可靠性。
在步驟S721和S723,控制器120可以透過對應於第一資料DATA_1的第一軟讀取數值確定第一資料DATA_1的位元的可靠性。第一資料DATA_1由主機100請求讀取。因此,控制器120可以透過利用第一軟讀取數值確定第一資料DATA_1的位元的可靠性而首先確定第一資料DATA_1中是否存在錯誤。
現在將描述根據利用第一軟讀取數值確定的第一資料DATA_1的位元的可靠性結果第一資料DATA_1的位元為高可靠性的情形。
圖8是說明根據本發明的第二實施例的基於軟讀取數值確定資料可靠性的操作的簡圖。例如,可以由圖1的控制器120執行圖8的操作。
根據圖8的實施例,控制器120可以透過利用第一軟讀取數值確定第一資料DATA_1的位元的可靠性而首先確定第一資料DATA_1中是否存在錯誤。例如,控制器120可以識別第一軟讀取數值對應於第一資料DATA_1的第零索引(Index 0)的位元。第一軟讀取數值對應於第一資料DATA_1的第零索引(Index 0)的位元可以是“1”並且因此第一資料DATA_1的第零索引(Index 0)的位元可以確定為高可靠性的。由於第一資料DATA_1的第零索引(Index 0)的位元確定為高可靠性的,所以控制器120可以不確定第二資料DATA_2的第零索引(Index 0)的位元的可靠性。在此情況下,由於第一資料DATA_1的第零索引(Index 0)的位元確定為高可靠性的,所以控制器120可以不錯誤校正第一資料DATA_1的第零索引(Index 0)的位元。
再次參照圖7,當作為在步驟S723確定的結果第一資料DATA_1的位元是高可靠性(是)時,控制器120可以在步驟S725確定第一資料DATA_1的位元是否是最後的位元。
當作為步驟S725確定的結果第一資料DATA_1的位元不是最後的位元(否)時,控制器120可以在步驟S727增加第一資料DATA_1的位元的索引並且隨後可以重複在步驟S721確定第一資料DATA_1的位元的可靠性。
當作為步驟S725確定的結果多個資料的位元是最後的位元(是)時,在步驟S735,控制器120可以對第一資料DATA_1執行本文所述的第三ECC解碼以檢測並校正第一資料DATA_1的錯誤位元。
現在將描述根據利用第一軟讀取數值確定的第一資料DATA_1的位元的可靠性結果第一資料DATA_1的位元為低可靠性的情形。
當作為在步驟S723確定的結果第一資料DATA_1的位元是低可靠性(否),控制器120可以確定是錯誤位元。因此,控制器120可以在步驟S729和S731確定剩餘資料DATA_2 - DATA_4及備份資料DATA_SPARE的第二ECC解碼失敗的位元的可靠性。例如,當第二資料DATA_2和第三資料DATA_3的第二ECC解碼失敗時,控制器120可以透過第二軟讀取數值和第三軟讀取數值順序地確定第二資料DATA_2和第三資料DATA_3的位元的可靠性。
根據本發明的實施例,當第一資料DATA_1的位元可靠性低時可以有三種根據第二資料DATA_2和第三資料DATA_3的位元的可靠性的情形。第一種情形是第二資料DATA_2的位元可靠性高並且第三資料DATA_3的位元的可靠性低時。第二種情形是第二資料DATA_2的位元可靠性低時。第三種情形是第二資料DATA_2的位元可靠性高並且第三資料DATA_3的位元可靠性高時。
現在將描述第二資料DATA_2的位元可靠性高並且第三資料DATA_3的位元可靠性低的第一種情形。
再次參照圖8,控制器120可以透過第二軟讀取數值和第三軟讀取數值確定第二資料DATA_2和第三資料DATA_3的位元的可靠性。例如,控制器120可以識別第二軟讀取數值對應於第二資料DATA_2的第七索引(Index 7)的位元。第二軟讀取數值對應於第二資料DATA_2的第七索引(Index 7)的位元可以是“1”並且因此第二資料DATA_2的第七索引(Index 7)的位元可以確定為高可靠性的。
然後,控制器120可以識別第三軟讀取數值對應於第三資料DATA_3的第七索引(Index 7)的位元。第三軟讀取數值對應於第三資料DATA_3的第七索引(Index 7)的位元可以是“0”並且因此第三資料DATA_3的第七索引(Index 7)的位元可以確定為低可靠性的。即,第三資料DATA_3的第七索引(Index 7)的可靠性低的位元可以確定是錯誤位元。因此,由於第三資料DATA_3的位元確定是錯誤位元,所以控制器120可以不校正第一資料DATA_1的第七索引(Index 7)的錯誤位元。
再次參照圖7,當作為步驟S731確定的結果第二ECC解碼失敗的剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE的位元可靠性低(否)時(例如,當第二資料DATA_2的位元可靠性高並且第三資料DATA_3的位元可靠性低時),控制器120可以在步驟S725確定第一資料DATA_1的位元是否為最後的位元。
當作為步驟S725確定的結果第一資料DATA_1的位元不是最後的位元(否)時,控制器120可以在步驟S727增加第一資料DATA_1的位元的索引並且隨後可以重複在步驟S721確定第一資料DATA_1的位元的可靠性。
當作為步驟S725確定的結果第一資料DATA_1的位元是最後的位元(是)時,控制器120可以對第一資料DATA_1執行本文所述的第三ECC解碼以檢測並校正第一資料DATA_1的錯誤位元。
現在將描述第二資料DATA_2的位元可靠性低的第二種情形。
再次參照圖8,控制器120可以識別第二軟讀取數值對應於第二資料DATA_2的第十一索引(Index 11)的位元。第二軟讀取數值對應於第二資料DATA_2的第十一索引(Index 11)的位元可以是“0”並且因此第二資料DATA_2的第十一索引(Index 11)的位元可以確定為低可靠性的。例如,第二資料DATA_2的第十一索引(Index 11)的可靠性低的位元可以確定是錯誤位元。因此,由於不滿足第一資料DATA_1的錯誤位元錯誤校正的條件,所以控制器120可以不確定第三資料DATA_3的位元。
再次參照圖7,當作為步驟S731確定的結果第二ECC解碼失敗的剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE的位元可靠性低(否)時(例如,當第二資料DATA_2的位元可靠性高並且因此控制器120不確定第三資料DATA_3的位元時),由於第一資料DATA_1的錯誤位元不能校正,所以控制器120可以在步驟S725確定第一資料DATA_1的位元是否為最後的位元。上文描述了步驟S725並且因此省略步驟S725的描述。
現在將描述第二資料DATA_2和第三資料DATA_3的位元兩者可靠性都高的第三種情形。
再次參照圖8,控制器120可以透過第二軟讀取數值和第三軟讀取數值確定第二資料DATA_2和第三資料DATA_3的位元的可靠性。例如,控制器120可以識別第二軟讀取數值對應於第二資料DATA_2的第五索引(Index 5)的位元。第二軟讀取數值對應於第二資料DATA_2的第五索引(Index 5)的位元可以是“1”並且因此第二資料DATA_2的第五索引(Index 5)的位元可以確定為高可靠性的。
然後,控制器120可以識別第三軟讀取數值對應於第三資料DATA_3的第五索引(Index 5)的位元。第三軟讀取數值對應於第三資料DATA_3的第五索引(Index 5)的位元可以是“1”並且因此第三資料DATA_3的第五索引(Index 5)的位元可以確定為高可靠性的。即,第三資料DATA_3的第五索引(Index 5)的可靠性高的位元可以不確定是錯誤位元。因此,控制器120校正第一資料DATA_1的第五索引(Index 5)的錯誤位元。
再次參照圖7,當作為步驟S731確定的結果第二ECC解碼失敗的剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE的位元可靠性高(是)時(例如,當第二資料DATA_2和第三資料DATA_3的位元兩者可靠性都高時),控制器120可以在步驟S733透過對第二ECC解碼失敗的剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE和過XOR資料(PASS XOR DATA)的位元執行XOR操作而錯誤校正第一資料DATA_1的可靠性低的位元。例如,根據圖8的實施例,控制器120可以透過對第二資料DATA_2和第三資料DATA_3的第五索引(Index 5)的位元和過XOR資料(PASS XOR DATA)的第五索引(Index 5)的位元執行XOR操作而校正第一資料DATA_1的第五索引(Index 5)的錯誤位元。透過以此方式錯誤校正第一資料DATA_1的錯誤位元,錯誤位元的數量可以減少。
在步驟S735和S737,控制器120可以執行檢測並校正包括在第一資料DATA_1中的錯誤的第三ECC解碼,並且可以確定第三ECC解碼是否成功。透過第三ECC解碼,控制器120可以檢測並校正未透過可靠性確定步驟校正的第一資料DATA_1的錯誤位元。
當步驟S737確定的結果為第三ECC解碼成功(是)時,在步驟S739,控制器120可以將第一資料DATA_1和成功標記(OK FLAG)提供至主機100。
當步驟S737確定的結果為第三ECC解碼失敗(否)時,在步驟S741,控制器120可以將第一資料DATA_1和失敗標記(FAIL FLAG)提供至主機100。
圖9是示出根據本發明的第三實施例的記憶體系統的操作方法的流程圖。例如,可以由圖1的控制器120執行圖9的操作。
根據圖9的實施例,步驟S901-S909可以與圖5的步驟S501-S509相同,並且因此將省略這些步驟的說明。
在步驟S911和S913,控制器120可以執行檢測並校正包括在剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE中的錯誤的第二ECC解碼,並且可以確定第二ECC解碼是否成功。即,控制器120可以以例如所列舉的順序順次執行剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE的第二ECC解碼。
當步驟S913確定的結果為第二ECC解碼成功(是)時,為了對第一資料DATA_1的錯誤位元錯誤校正,控制器120可以在步驟S915透過對剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE執行XOR操作而校正第一資料DATA_1的錯誤位元。因此,第一資料DATA_1恢復。
在執行步驟S915之後,控制器120可以在步驟S939和S941對錯誤校正的第一資料DATA_1執行本文所述的第三ECC操作以檢測並校正錯誤校正的第一資料DATA_1中的錯誤位元。
當步驟S913確定的結果為第二ECC解碼失敗(否)時,在步驟S917,控制器120可以透過對第二ECC解碼成功的剩餘資料DATA_2 - DATA_4及備份資料DATA_SPARE的一個或多個執行XOR操作而獲得過XOR資料(PASS XOR DATA)。對剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE中的一個或多個的第二ECC解碼可以是成功的。
以下,為了方便說明,在剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE中,假定第二資料DATA_2和第三資料DATA_3的第二ECC解碼失敗並且第四資料DATA_4和備份資料DATA_SPARE的第二ECC解碼成功
在步驟S919,控制器120可以獲得分別對應於第一ECC解碼失敗的第一資料DATA_1和第二ECC解碼失敗的剩餘資料DATA_2 - DATA_4和備份資料DATA_SPARE中的一個或多個(即,DATA_2和DATA_3)的多個軟讀取數值。控制器120可以以與上述第一實施例的第一軟讀取數值和第二軟讀取數值相同的方式獲得第一軟讀取數值至第三軟讀取數值。控制器120可以獲得分別地對應於第一資料DATA_1至第三資料DATA_3的第一軟讀取數值至第三軟讀取數值。控制器120可以獲得分別地對應於第一ECC解碼失敗的第一資料DATA_1和第二ECC解碼失敗的第二資料DATA_2和第三資料DATA_3的多個軟讀取數值,以透過確定第一資料DATA_1和第二資料DATA_2和第三資料DATA_3的位元的可靠性而確定第一資料DATA_1和第二資料DATA_2和第三資料DATA_3的每個中是否存在錯誤。
在步驟S921,控制器120可以透過對對應於第一資料DATA_1的第一軟讀取數值之外的其他軟讀取數值執行和操作獲得邏輯及軟讀取數值(SOFT READ AND DATA)。例如,控制器120可以對第一軟讀取數值至第三軟讀取數值中對應於第一資料DATA_1的第一軟讀取數值之外的第二軟讀取數值和第三軟讀取數值執行和操作而獲得邏輯及軟讀取數值(SOFT READ AND DATA)。
在步驟S923,控制器120透過對第二ECC解碼失敗的剩餘資料DATA_2 - DATA_4及備份資料DATA_SPARE中的一個或多個執行XOR操作而獲得失敗XOR資料(FAIL XOR DATA)。
在步驟S925和S927,控制器120可以透過對應於第一資料DATA_1的第一軟讀取數值確定第一資料DATA_1的位元的可靠性。第一資料DATA_1由主機100請求讀取。因此,控制器120可以透過利用第一軟讀取數值確定第一資料DATA_1的位元的可靠性而首先確定第一資料DATA_1中是否存在錯誤。
現在將描述根據利用第一軟讀取數值確定的第一資料DATA_1的位元的可靠性結果第一資料DATA_1的位元為高可靠性的情形。
圖10是說明根據本發明的第三實施例的基於軟讀取數值確定資料可靠性的操作的簡圖。例如,可以由圖1的控制器120執行圖10的操作。
根據圖10的實施例,控制器120可以透過利用第一軟讀取數值確定第一資料DATA_1的位元的可靠性而首先確定第一資料DATA_1中是否存在錯誤。例如,控制器120可以識別第一軟讀取數值對應於第一資料DATA_1的第零索引(Index 0)的位元。第一軟讀取數值對應於第一資料DATA_1的第零索引(Index 0)的位元可以是“1”並且因此第一資料DATA_1的第零索引(Index 0)的位元可以確定為高可靠性的。由於第一資料DATA_1的第零索引(Index 0)的位元確定為高可靠性的,所以控制器120可以不確定第二資料DATA_2的第零索引(Index 0)的位元的可靠性。在此情況下,由於第一資料DATA_1的第零索引(Index 0)的位元確定為高可靠性的,所以控制器120可以不錯誤校正第一資料DATA_1的第零索引(Index 0)的位元。
再次參照圖9,當作為在步驟S927透過第一軟讀取數值確定第一資料DATA_1的位元的可靠性的結果第一資料DATA_1的位元是高可靠性(是)時,控制器120可以在步驟S929確定第一資料DATA_1的位元是否是最後的位元。
當作為步驟S929確定的結果第一資料DATA_1的位元不是最後的位元(否)時,控制器120可以在步驟S931增加第一資料DATA_1的位元的索引並且隨後可以重複在步驟S925確定第一資料DATA_1的位元的可靠性。
當作為步驟S929確定的結果多個資料的位元是最後的位元(是)時,在步驟S939,控制器120可以對第一資料DATA_1執行本文所述的第三ECC解碼以檢測並校正第一資料DATA_1的錯誤位元。
現在將描述根據利用第一軟讀取數值確定的第一資料DATA_1的位元的可靠性結果第一資料DATA_1的位元為低可靠性的情形。
當作為在步驟S927透過第一軟讀取數值確定的第一資料DATA_1的位元的可靠性結果第一資料DATA_1的位元可靠性低(否)時,控制器120可以確定第一資料DATA_1中低可靠性位元是錯誤位元。因此,控制器120可以在步驟S933和S935透過邏輯及軟讀取數值(SOFT READ AND DATA)確定失敗XOR資料(FAIL XOR DATA)的位元的可靠性。
根據本發明的實施例,當第一資料DATA_1的位元可靠性低時可以有兩種根據失敗XOR資料(FAIL XOR DATA)的位元的可靠性的情形。第一種情形是失敗XOR資料(FAIL XOR DATA)的位元可靠性高時。第二種情形是當失敗XOR資料(FAIL XOR DATA)位元可靠性低。
現在將描述失敗XOR資料(FAIL XOR DATA)的位元可靠性高的第一種情形。
再次參照圖10,控制器120可以識別對應於失敗XOR資料(FAIL XOR DATA)的第五索引(Index 5)的邏輯和軟讀取數值(SOFT READ AND DATA)的位元。邏輯和軟讀取數值(SOFT READ AND DATA)對應於失敗XOR資料(FAIL XOR DATA)的第五索引(Index 5)的位元可以是“1”並且因此失敗XOR資料(FAIL XOR DATA)的第五索引(Index 5)的位元可以確定為高可靠性的。
再次參照圖9,當作為在步驟S935透過邏輯和軟讀取數值(SOFT READ AND DATA)確定失敗XOR資料(FAIL XOR DATA)的位元的可靠性的結果失敗XOR資料(FAIL XOR DATA)的位元是高可靠性(是)時,控制器120可以在步驟S937透過過XOR資料(PASS XOR DATA)和失敗XOR資料(FAIL XOR DATA)校正第一資料DATA_1的第五索引(Index 5)的可靠性低的位元。
在步驟S937執行之後,在步驟S929,控制器120可以確定第一資料DATA_1的位元是否為最後的位元。
當作為步驟S929確定的結果第一資料DATA_1的位元不是最後的位元(否)時,控制器120可以在步驟S931增加第一資料DATA_1的位元的索引並且隨後可以重複在步驟S925確定第一資料DATA_1的位元的可靠性。
當作為步驟S929確定的結果第一資料DATA_1的位元是最後的位元(是)時,控制器120可以在步驟S939和S941對第一資料DATA_1執行本文所述的第三ECC解碼以檢測並校正第一資料DATA_1的錯誤位元。
現在將描述失敗XOR資料(FAIL XOR DATA)的位元可靠性低的第二種情形。
再次參照圖10,控制器120可以識別對應於失敗XOR資料(FAIL XOR DATA)的第十一索引(Index 11)的邏輯及軟讀取數值(SOFT READ AND DATA)的位元。邏輯及軟讀取數值(SOFT READ AND DATA)對應於失敗XOR資料(FAIL XOR DATA)的第十一索引(Index 11)的位元可以是“0”並且因此失敗XOR資料(FAIL XOR DATA)的第十一索引(Index 11)的位元可以確定為低可靠性的。即,失敗XOR資料(FAIL XOR DATA)的第十一索引(Index 11)的可靠性低的位元可以確定是錯誤位元。因此,控制器120可以不錯誤校正第一資料DATA_1。
再次參照圖9,當作為在步驟S935透過邏輯及軟讀取數值(SOFT READ AND DATA)確定失敗XOR資料(FAIL XOR DATA)的位元的可靠性的結果失敗XOR資料(FAIL XOR DATA)的位元是低可靠性(是)時,控制器120可以進行至步驟S929。
在步驟S929,控制器120可以確定第一資料DATA_1和失敗XOR資料(FAIL XOR DATA)的位元是否為最後的位元。當作為步驟S929確定的結果第一資料DATA_1和失敗XOR資料(FAIL XOR DATA)的位元不是最後的位元(否)時,控制器120可以在步驟S931增加第一資料DATA_1和失敗XOR資料(FAIL XOR DATA)的位元的索引並且隨後可以重複執行從步驟S925的步驟。
當作為步驟S929確定的結果第一資料DATA_1和失敗XOR資料(FAIL XOR DATA)的位元是最後的位元(是)時,控制器120可以在步驟S939和S941對錯誤校正的第一資料DATA_1執行第三ECC解碼以檢測並校正錯誤校正的第一資料DATA_1的錯誤位元。
當步驟S941確定的結果為錯誤校正的第一資料DATA_1的第三ECC解碼成功(是)時,在步驟S531,控制器120可以在步驟S943將第一資料DATA_1和成功標記(OK FLAG)提供至主機100。
當步驟S941確定的結果為錯誤校正的第一資料DATA_1的第三ECC解碼失敗(否)時,在步驟S531,控制器120可以在步驟S943將第一資料DATA_1和成功標記(OK FLAG)提供至主機100。
圖11至圖18是示出圖1所示的記憶體裝置的示意簡圖。
圖11是示出圖1所示的記憶體裝置200的儲存區塊210的示例的方塊圖。根據圖11的實施例,記憶體裝置200的儲存區塊210可以包括多個儲存區塊BLK1-BLKj儲存區塊BLK1-BLKj中的每個可以具有三維(3D)結構或者縱向結構。例如,儲存區塊BLK1-BLKj中的每個可以包括在第一方向至第三方向例如x軸方向、y軸方向和z軸方向上延伸的結構。
儲存區塊BLK1-BLKj中的每個可以包括在第二方向延伸的多個NAND串NS。多個NAND串NS可以設置在第一方向和第三方向。
各個NAND串NS可電連接至位元線BL、至少一個源極選擇線SSL、至少一個接地選擇線GSL、多個字線WL、至少一個虛擬字線DWL以及公共源極線CSL。即,各個儲存區塊BLK1-BLKj可以電連接至多個位元線BL、多個串選擇線SSL、多個接地選擇線GSL、多個字線WL、多個虛擬字線DWL、以及多個公共源極線CSL。
圖12是圖11中所示的儲存區塊BLK1-BLKj中的一個儲存區塊BLKj的透視圖。圖13是沿圖12所示的儲存區塊BLKj的線I-I’截取的截面圖。
參考圖12和13的實施例,記憶體裝置200的多個儲存區塊210中的儲存區塊BLKj可以包括在第一方向至第三方向延伸的結構。
可以設置襯底1111。襯底1111可以包括摻雜第一型雜質的矽材料。襯底1111可以包括摻雜p-型雜質的矽材料或可以是p-型阱,例如袋型p-阱,並且包括圍繞p-型阱的n-型阱。雖然假定襯底1111是p-型矽,但是應注意襯底1111不限於p-型矽。
在第一方向上延伸的多個摻雜區域1311至1314可被設置在襯底1111上方。多個摻雜區域1311至1314可以包含不同於襯底1111的第二型雜質。多個摻雜區域1311至1314可以摻雜有n-型雜質。雖然此處假定第一摻雜區域1311至第四摻雜區域1314是n-型,但應注意第一摻雜區域1311至第四摻雜區域1314不限於n-型。
在第一摻雜區域1311和第二摻雜區域1312之間的襯底1111上方的區域中,在第一方向延伸的多個絕緣材料1112可以順次地設置在第二方向。絕緣材料1112和襯底1111可以在第二方向以預定距離彼此隔開。介電材料1112可以在第二方向以預定的距離互相分離。介電材料1112可以包括諸如二氧化矽的介電材料。
在第一摻雜區域1311和第二摻雜區域1312之間的襯底1111上方的區域中,設置了順次設置在第一方向並且在第二方向貫穿介電材料1112的多個柱狀物1113。多個柱狀物1113可以分別地貫穿介電材料1112並且可以電連接到襯底1111。每個柱狀物1113可以由多種材料構造。每個柱狀物1113的表面層1114可以包括由第一型雜質摻雜的矽材料。每個柱狀物1113的表面層1114可以包括摻雜有與襯底1111相同類型的雜質的矽材料。雖然假定每個柱狀物1113的表面層1114可以包括p-型矽,但應注意每個柱狀物1113的表面層1114不限於p-型矽。
每個柱狀物1113的內層1115可以由介電材料形成。每個柱狀物1113的內層1115可以由諸如二氧化矽的介電材料填充。
在第一摻雜區域1311和第二摻雜區域1312之間的區域,可以沿著介電材料1112、柱狀物1113和襯底1111的露出表面設置介電層1116。介電層1116的厚度可小於介電材料1112之間的距離的一半。例如,不同於介電材料1112和介電層1116的材料的區域可被設置,可設置在(i)設置在介電材料1112的第一介電材料的底部表面上方的介電層1116和(ii)設置在介電材料1112的第二介電材料的頂部表面上方的介電層1116之間。介電材料1112位於第一介電材料下面。
在第一摻雜區域1311和第二摻雜區域1312之間的區域中,導電材料1211-1291可設置在介電層1116的露出表面上方。在第一方向上延伸的導電材料1211可以設置在鄰近襯底1111的介電材料1112和襯底5111之間。特別地,在第一方向上延伸的導電材料1211可設置在(i)設置在襯底1111上的介電層1116和(ii)設置在鄰近襯底1111的介電材料1112的底部表面上的介電層1116之間。
在第一方向上延伸的導電材料可設置在(i)設置在介電材料1112中的一個的頂部表面上方的介電層1116和(ii)設置在置於特定介電材料1112上方的介電材料1112的另一介電材料的底部表面上的介電層1116之間。在第一方向上延伸的導電材料1221-1281可設置在介電材料1112之間。在第一方向上延伸的導電材料1291可設置在最上面的介電材料1112上。在第一方向上延伸的導電材料1211-1291可以是金屬材料。在第一方向上延伸的導電材料1211-1291可以是諸如多晶矽的導電材料。
在第二摻雜區域1312和第三摻雜區域1313之間的區域中,可設置與第二摻雜區域1312和第三摻雜區域1313之間的結構相同的結構。例如,在第二摻雜區域1312和第三摻雜區域1313之間的區域中,可設置:在第一方向上延伸的多個絕緣材料1112、連續地設置在第一方向上且在第二方向上穿過多個介電材料1112的多個柱狀物1113、設置在多個介電材料1112和多個柱狀物1113的露出表面上方的介電層1116、以及在第一方向上延伸的多個導電材料1212-1292。
在第三摻雜區域1313和第四摻雜區域1314之間的區域中,可設置與第一摻雜區域1311和第二摻雜區域1312之間的結構相同的結構。例如,在第三摻雜區域1313和第四摻雜區域1314之間的區域中,可設置:在第一方向上延伸的多個介電材料1112、順序地設置在第一方向上且在第二方向上穿過多個介電材料1112的多個柱狀物1113、設置在多個介電材料1112和多個柱狀物1113的露出表面上方的介電層1116、以及在第一方向上延伸的多個導電材料1213-1293。
汲極1320可分別設置在多個柱狀物1113上方。汲極1320可以是摻雜有第二類型雜質的矽材料。汲極1320可以是摻雜有n-型雜質的矽材料。儘管為了方便起見假定汲極1320包括n-型矽,但應注意的是,汲極1320不限於n-型矽。例如,每個汲極1320的寬度可大於每個對應的柱狀物1113的寬度。每個汲極1320可以焊盤(pad)的形狀設置在每個對應的柱狀物1113的頂部表面上方。
在第三方向上延伸的導電材料1331-1333可設置在汲極1320上方。導電材料1331-1333可在第一方向上順序地設置。各個導電材料1331-1333可與對應區域的汲極1320電連接。汲極1320和在第三方向上延伸的導電材料1331-1333可透過接觸插頭電連接。在第三方向上延伸的導電材料1331-1333可以是金屬材料。在第三方向上延伸的導電材料1331-1333可以是諸如多晶矽的導電材料。
根據圖12和13的實施例,各個柱狀物5113可與介電層1116和在第一方向上延伸的導電材料1211-1291、1212-1292和1213-1293一起形成串。各個柱狀物1113可與介電層1116和在第一方向上延伸的導電材料1211-1291、1212-1292和1213-1293一起形成NAND串NS。每個NAND串NS可包括多個電晶體結構TS。
圖14是圖13中所示的電晶體結構TS的截面視圖。
根據圖14的實施例,在圖6中所示的電晶體結構TS中,介電層1116可包括第一子介電層1117、第二子介電層1118和第三子介電層1119。
在每個柱狀物1113中的p-型矽的表面層1114可作為主體。鄰近柱狀物1113的第一子介電層1117可作為隧穿介電層,且可包括熱氧化層。
第二子介電層1118可作為電荷儲存層。第二子介電層1118可作為電荷捕獲層,且可包括氮化物層或諸如氧化鋁層、氧化鉿層等的金屬氧化物層。
鄰近導電材料1233的第三子介電層1119可作為阻斷介電層。鄰近在第一方向上延伸的導電材料1233的第三子介電層1119可形成為單層或多層。第三子介電層1119可以是介電常數大於第一子介電層1117和第二子介電層1118的諸如氧化鋁層、氧化鉿層等的高k介電層。
導電材料1233可作為閘極或控制閘極。即,閘極或控制閘極1233、第三子介電層1119、第二子介電層1118、第一子介電層1117和表面層1114可形成電晶體或記憶體單元電晶體結構。例如,第一子介電層1117、第二子介電層1118和第三子介電層1119可形成氧化物-氮化物-氧化物(ONO)結構。在一個實施例中,為方便起見,在每個柱狀物1113中的p-型矽的表面層1114將被稱為第二方向上的主體。
儲存區塊BLKj可包括多個柱狀物1113。即,儲存區塊BLKj可包括多個NAND串NS。詳細地,儲存區塊BLKj可包括在第二方向或垂直於襯底1111的方向上延伸的多個NAND串NS。
每個NAND串NS可包括設置在第二方向上的多個電晶體結構TS。每個NAND串NS的多個電晶體結構TS中的至少一個可作為串源電晶體SST。每個NAND串NS的多個電晶體結構TS中的至少一個可作為接地選擇電晶體GST。
閘極或控制閘極可對應於在第一方向上延伸的導電材料1211-1291、1212-1292和1213-1293。例如,閘極或控制閘極可在第一方向上延伸且形成字線和包括至少一個源極選擇線SSL和至少一個接地選擇線GSL的至少兩個選擇線。
在第三方向上延伸的導電材料1331-1333可電連接至NAND串NS的一端。在第三方向上延伸的導電材料1331-1333可作為位元線BL。即,在一個儲存區塊BLKi中,多個NAND串NS可電連接至一個位元線BL。
在第一方向上延伸的第二類型摻雜區域1311-1314可被設置至NAND串NS的另一端。在第一方向上延伸的第二類型摻雜區域1311-1314可作為公共源極線CSL。
即,儲存區塊BLKi可包括在垂直於襯底1111的方向例如第二方向上延伸的多個NAND串NS,且可作為其中多個NAND串NS電連接至一個位元線BL的例如電荷捕獲類型記憶體的NAND閃速儲存區塊。
儘管圖12至14中示出了在第一方向上延伸的導電材料1211-1291、1212-1292和1213-1293設置為9層,但應注意的是,在第一方向上延伸的導電材料1211-1291、1212-1292和1213-1293不限於設置為9層。例如,在第一方向上延伸的導電材料可設置為8層、16層或任意多個層。例如,在一個NAND串NS中,電晶體的數量可以是8個、16個或更多。儘管圖12至14中示出了3個NAND串NS被電連接至一個位元線BL,但應注意的是,實施例不限於具有被電連接至一個位元線BL的3個NAND串NS。在儲存區塊BLKj中,m個NAND串NS可電連接至一個位元線BL,m為正整數。根據電連接至一個位元線BL的NAND串NS的數量,在第一方向上延伸的導電材料1211-1291、1212-1292和1213-1293的數量和摻雜區域1311-1314的數量也可被控制。
進一步地,儘管圖12至14中示出了3個NAND串NS被電連接至在第一方向上延伸的一個導電材料,但應注意的是,實施例不限於具有被電連接至在第一方向上延伸的一個導電材料的3個NAND串NS。例如,n個NAND串NS可被電連接至在第一方向上延伸的一個導電材料,n為正整數。根據被電連接至在第一方向上延伸的一個導電材料的NAND串NS的數量,導電材料1331-1333的數量也可被控制。
圖15是示出具有如參照圖12至14所述的第一結構的儲存區塊BLKj的等效電路圖。
參照圖15的實施例,在具有第一結構的區塊BLKj中,NAND串NS 11-NS 31可設置在第一位元線BL1和公共源極線CSL之間。第一位元線BL1可對應於圖12和圖13的在第三方向上延伸的導電材料1331。NAND串NS 12-NS 32可設置在第二位元線BL2和公共源極線CSL之間。第二位元線BL2可對應於圖12和圖13的在第三方向上延伸的導電材料1332。NAND串NS 13-NS 33可設置在第三位元線BL3和公共源極線CSL之間。第三位元線BL3可對應於圖12和圖13的在第三方向上延伸的導電材料1333。
每個NAND串NS的源極選擇電晶體SST可電連接至對應的位元線BL。每個NAND串NS的接地選擇電晶體GST可電連接至公共源極線CSL。記憶體單元MC可以設置在每個NAND串NS的源極選擇電晶體SST和接地選擇電晶體GST之間。
在該示例中,NAND串NS可由行和列的單元定義並且電連接至一個位元線的NAND串NS可形成一列。電連接至第一位元線BL1的NAND串NS 11-NS 31可對應於第一列,電連接至第二位元線BL2的NAND串NS 12-NS 32可對應於第二列,並且電連接至第三位元線BL3的NAND串NS 13-NS 33可對應於第三列。電連接至一個源極選擇線SSL的NAND串NS可形成一行。電連接至第一源極選擇線SSL 1的NAND串NS 11-NS 31可形成第一行,電連接至第二源極選擇線SSL 2的NAND串NS 12-NS 32可形成第二行,並且電連接至第三源極選擇線SSL 3的NAND串NS 13-NS 33可形成第三行。
在每個NAND串NS中,可定義高度。在每個NAND串NS中,鄰近接地選擇電晶體GST的記憶體單元MC1的高度可具有值“1”。在每個NAND串NS中,當從襯底1111被測量時,記憶體單元的高度可隨著記憶體單元靠近源極選擇電晶體SST而增加。在每個NAND串NS中,鄰近源極選擇電晶體SST的記憶體單元MC6的高度可以是7。
在相同行中的NAND串NS的源極選擇電晶體SST可共用源極選擇線SSL。在不同行中的NAND串NS的源極選擇電晶體SST可分別電連接至不同的源極選擇線SSL 1、SSL 2和SSL 3。
相同行中的NAND串NS中的相同高度處的記憶體單元可共用字線WL。即,在相同高度處,電連接至不同行中的NAND串NS的記憶體單元MC的字線WL可被電連接。相同行的NAND串NS中相同高度處的虛擬記憶體單元DMC可共用虛擬字線DWL。即,在相同高度或水準處,電連接至不同行中的NAND串NS的虛擬記憶體單元DMC的虛擬字線DWL可被電連接。
位於相同水準或高度或層處的字線WL或虛擬字線DWL可在可設置在第一方向上延伸的導電材料1211-1291、1212-1292和1213-1293的層處彼此電連接。在第一方向上延伸的導電材料1211-1291、1212-1292和1213-1293可透過接觸部共同電連接至上層。在上層處,在第一方向上延伸的導電材料1211-1291、1212-1292和1213-1293可被電連接。例如,在相同行中的NAND串NS的接地選擇電晶體GST可共用接地選擇線GSL。進一步地,在不同行中的NAND串NS的接地選擇電晶體GST可共用接地選擇線GSL。即,NAND串NS 11-NS 13、NS 21-NS 23和NS 31-NS 33可電連接至接地選擇線GSL。
公共源極線CSL可電連接至NAND串NS。在有源區域上和在襯底1111上,第一摻雜區域1311至第四摻雜區域1314可被電連接。第一摻雜區域1311至第四摻雜區域1314可透過接觸部電連接至上層,並且在上層處,第一摻雜區域1311至第四摻雜區域1314可被電連接。
即,如圖15中所示,相同高度或水準的字線WL可被電連接。因此,當選擇特定高度處的字線WL時,電連接至字線WL的所有NAND串NS可被選擇。在不同行中的NAND串NS可電連接至不同源極選擇線SSL。因此,在電連接至相同字線WL的NAND串NS中,透過選擇源極選擇線SSL 1-SSL 3中的一個,在未選擇的行中的NAND串NS可與位元線BL1-BL3電隔離。例如,透過選擇源極選擇線SSL 1-SSL 3中的一個,NAND串NS的行可被選擇。此外,透過選擇位元線BL1-BL3中的一個,所選擇的行中的NAND串NS可以列為單位來選擇。
在每個NAND串NS中,可設置虛擬記憶體單元DMC。在圖15中,虛擬記憶體單元DMC可在每個NAND串NS中被設置在第三記憶體單元MC3和第四記憶體單元MC4之間。即,第一記憶體單元MC1至第三記憶體單元MC3可設置在虛擬記憶體單元DMC和接地選擇電晶體GST之間。第四記憶體單元MC4至第六記憶體單元MC6可設置在虛擬記憶體單元DMC和源極選擇電晶體SSL之間。每個NAND串NS的記憶體單元MC可被虛擬記憶體單元DMC劃分成記憶體單元組。在劃分的記憶體單元組中,鄰近接地選擇電晶體GST的記憶體單元例如MC1-MC3可被稱為較低記憶體單元組,且鄰近串選擇電晶體SST的記憶體單元例如MC4-MC6可被稱為較高記憶體單元組。
如圖11至圖15描述,半導體記憶體系統可以包括設置於垂直於襯底的方向上的一個或多個單元串、記憶體單元、串選擇電晶體和接地選擇電晶體,該襯底連接至記憶體控制器。半導體記憶體系統可以如下操作:(a)可以被提供第一讀取命令以回應於第一硬決策讀取電壓和不同於第一硬決策讀取電壓的第二硬決策讀取電壓執行第一和第二硬決策讀取操作;(b)可以獲得硬決策資料;(c)可以基於硬決策資料的錯誤位元狀態選擇第一和第二硬決策電壓中的一個;(d)可以回應於不同於第一和第二硬決策讀取電壓的軟讀取電壓獲得軟決策資料;以及(e)可以向記憶體控制器提供軟決策資料。
在下文中,將參照圖16至圖18做出詳細說明,圖16至圖18示出根據本發明的另一個實施例的透過不同於第一結構的三維(3D)非揮發性記憶體而實現的記憶體系統。
圖16是示意性說明利用不同於上文參照圖12至圖15所述的第一結構的三維(3D)非揮發性儲存裝置來實現的儲存裝置,並且示出圖11的多個儲存區塊的儲存區塊BLKj的透視圖。圖17是示出沿圖16的線VII-VII'截取的儲存區塊BLKj的截面圖。
根據圖16和圖17的實施例,圖1的記憶體裝置200的多個儲存區塊中的儲存區塊BLKj可以包括在第一方向至第三方向延伸的結構。
可以設置襯底6311。例如,襯底6311可包括摻雜有第一類型雜質的矽材料。例如,襯底6311可包括摻雜有p-型雜質的矽材料或可以是p-型阱,例如袋型p-阱,且包括圍繞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隔開。
可設置穿過第一導電材料6321至第四導電材料6324的多個下部柱狀物DP。每個下部柱狀物DP在z軸方向上延伸。而且,可設置穿過第五導電材料6325至第八導電材料6328的多個上部柱狀物UP。每個上部柱狀物UP在z軸方向上延伸。
下部柱狀物DP和上部柱狀物UP中的每個可包括內部材料6361、中間層6362和表面層6363。中間層6362可用作單元電晶體的通道。表面層6363可包括阻斷介電層、電荷儲存層和隧穿介電層。
下部柱狀物DP和上部柱狀物UP可透過管閘極PG電連接。管閘極PG可被設置在襯底6311中。例如,管閘極PG可包括與下部柱狀物DP和上部柱狀物UP相同的材料。
在x軸方向和y軸方向上延伸的第二類型的摻雜材料6312可設置在下部柱狀物DP上方。例如,第二類型的摻雜材料6312可包括n-型矽材料。第二類型的摻雜材料6312可用作公共源極線CSL。
汲極6340可設置在上部柱狀物UP上方。汲極6340可包括n-型矽材料。在y軸方向上延伸的第一上部導電材料6351和第二上部導電材料6352可設置在汲極6340上方。
第一上部導電材料6351和第二上部導電材料6352可在x軸方向上隔開。第一上部導電材料6351和第二上部導電材料6352可由金屬形成。第一上部導電材料6351和第二上部導電材料6352和汲極6340可透過接觸插頭電連接。第一上部導電材料6351和第二上部導電材料6352分別作為第一位元線BL1和第二位元線BL2。
第一導電材料6321可作為源極選擇線SSL,第二導電材料6322可作為第一虛擬字線DWL 1,並且第三導電材料6323和第四導電材料6324分別作為第一主字線MWL 1和第二主字線MWL 2。第五導電材料6325和第六導電材料6326分別作為第三主字線MWL 3和第四主字線MWL 4,第七導電材料6327可作為第二虛擬字線DWL 2,並且第八導電材料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。
在圖16和圖17中,上部串和下部串可形成NAND串NS,且NAND串NS可包括多個電晶體結構TS。由於上文參照圖14詳細地描述了包括在圖16和圖17中的NAND串NS中的電晶體結構,所以在此將省略其詳細說明。
圖18是示出具有如上參照圖16和圖17所述的第二結構的儲存區塊BLKj的等效電路的電路圖。為方便起見,僅示出形成第二結構中的儲存區塊BLKj中的一對的第一串和第二串。
根據圖18的實施例,在記憶體裝置200的多個區塊中的具有第二結構的儲存區塊BLKj中,單元串可以定義多個對的這種方式來設置,其中,單元串中的每個都利用如上參照圖16和圖17所述的透過管閘極PG電連接的一個上部串和一個下部串來實現。
即,在具有第二結構的某一儲存區塊BLKj中,記憶體單元CG0-CG31沿第一通道CH1(未示出)堆疊,例如,至少一個源極選擇閘極SSG1和至少一個汲極選擇閘極DSG1可形成第一串ST1,並且記憶體單元CG0-CG31沿第二通道CH2(未示出)堆疊,例如,至少一個源極選擇閘極SSG2和至少一個汲極選擇閘極DSG2可形成第二串ST2。
第一串ST1和第二串ST2可電連接至相同汲極選擇線DSL和相同源極選擇線SSL。第一串ST1可電連接至第一位元線BL1,且第二串ST2可電連接至第二位元線BL2。
儘管圖18中描述了第一串ST1和第二串ST2被電連接至相同汲極選擇線DSL和相同源極選擇線SSL,但可認為第一串ST1和第二串ST2可電連接至相同源極選擇線SSL和相同位元線BL、第一串ST1可電連接至第一汲極選擇線DSL1並且第二串ST2可電連接至第二汲極選擇線SDL2。進一步地,可認為第一串ST1和第二串ST2可電連接至相同汲極選擇線DSL和相同位元線BL、第一串ST1可電連接至第一源極選擇線SSL1並且第二串ST2可電連接至第二源極選擇線SSL2。
圖19是示出根據本發明的一個實施例的包括記憶體控制器15000和閃速記憶體16000的電子設備10000的方塊圖。
根據圖19的實施例,包括但不限於行動電話、智慧型電話或者平板PC的電子設備10000可以包括由閃速記憶體裝置實現的閃速記憶體16000和控制閃速記憶體16000的記憶體控制器15000。閃速記憶體16000可以對應於上面參考圖11至18描述的記憶體系統110。閃速記憶體16000可以儲存隨機數據。記憶體控制器15000可以由控制電子設備10000的全部操作的處理器11000控制。
儲存在閃速記憶體16000中的資料可以在記憶體控制器15000的控制下透過顯示器13000顯示。記憶體控制器15000在處理器11000的控制下操作。
無線電收發機12000可以透過天線(ANT)接收並輸出無線電信號。例如,無線電收發機12000可以將從天線接收的無線電信號轉換為將被處理器11000處理的信號。因此,處理器11000可以處理由無線電收發機12000轉換的信號,並且可以在閃速記憶體16000儲存處理的信號。或者,處理器11000可以透過顯示器13000顯示處理的信號。
無線電收發機12000可以將來自處理器11000的信號轉換為無線電信號,並且可以將轉換的無線電信號透過天線輸出至外部。
輸入裝置14000可以接收控制處理器11000的操作的控制信號或者待被處理器11000處理的資料,並且可以透過諸如觸控板、電腦滑鼠、小鍵盤和鍵盤的指向裝置實現。
處理器11000控制顯示器13000,使得來自閃速記憶體16000的資料、來自無線電收發機12000的無線電信號或者來自輸入裝置14000的資料透過顯示器13000顯示。
圖20是示出根據本發明的一個實施例的包括記憶體控制器24000和閃速記憶體25000的電子設備20000的方塊圖。
根據圖20的實施例,電子設備20000可以由諸如個人電腦(PC)、平板電腦、小比電、電子書、個人數位助理(PDA)、便攜式多媒體播放機(PMP)、MP3播放機和MP4播放機的資料處理裝置實現,並且可以包括例如閃速記憶體裝置的閃速記憶體25000和控制閃速記憶體25000操作的記憶體控制器24000。
電子設備20000可以包括控制電子設備20000的全部操作的處理器21000。記憶體控制器24000可以由處理器21000控制。
處理器21000可以回應於來自輸入裝置22000的輸入信號而透過顯示器23000顯示儲存在半導體記憶體系統中的資料。例如,輸入裝置22000由諸如觸控板、電腦滑鼠、小鍵盤和鍵盤的指向裝置實現。
圖21是示出根據本發明的一個實施例的包括控制器32000和非揮發性記憶體34000的電子設備30000的方塊圖。
根據圖21的實施例,電子設備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交換資料。
10‧‧‧資料處理系統
100‧‧‧主機
110‧‧‧記憶體系統
120‧‧‧控制器
130‧‧‧主機介面單元
140‧‧‧處理器
160‧‧‧錯誤校正碼單元
170‧‧‧電力管理單元
180‧‧‧NAND閃速控制器
190‧‧‧記憶體
200‧‧‧記憶體裝置
210‧‧‧儲存區塊
220‧‧‧控制電路
221‧‧‧單元串
230‧‧‧電壓供給電路
240‧‧‧行解碼器
250‧‧‧頁面緩衝器
251‧‧‧多個頁面緩衝器
260‧‧‧列解碼器
1111‧‧‧襯底
1112‧‧‧材料
1113‧‧‧柱狀物
1114‧‧‧表面層
1115‧‧‧內層
1116‧‧‧介電層
1117‧‧‧第一子介電層
1118‧‧‧第二子介電層
1119‧‧‧第三子介電層
1211-1213‧‧‧導電材料
1221-1223‧‧‧導電材料
1231-1233‧‧‧導電材料
1241-1243‧‧‧導電材料
1251-1253‧‧‧導電材料
1261-1263‧‧‧導電材料
1271-1273‧‧‧導電材料
1281-1283‧‧‧導電材料
1291-1293‧‧‧導電材料
1311-1314‧‧‧摻雜區域
1320‧‧‧汲極
1331,1332,1333‧‧‧導電材料
6311‧‧‧襯底
6312‧‧‧摻雜材料
6321-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‧‧‧非揮發性記憶體
DP‧‧‧下部柱狀物
PG‧‧‧管閘極
TS‧‧‧電晶體結構
UP‧‧‧上部柱狀物
BL0-BLm-1‧‧‧位元線
DMC‧‧‧虛擬記憶體單元
MC0-MCn-1‧‧‧記憶體單元
ST1‧‧‧第一串
ST2‧‧‧第二串
BLK1-BLKj‧‧‧儲存區塊
NS11-NS13‧‧‧NAND串
NS21-NS23‧‧‧NAND串
NS31-NS33‧‧‧NAND串
S401,S403,S405‧‧‧步驟
S406,S407,S409‧‧‧步驟
S411,S413,S415‧‧‧步驟
S417‧‧‧步驟
S419,S421,S423‧‧‧步驟
S501,S503,S505‧‧‧步驟
S507,S509,S511‧‧‧步驟
S513,S515,S517‧‧‧步驟
S519,S521,S523‧‧‧步驟
S525,S527,S529‧‧‧步驟
S531,S533‧‧‧步驟
S701,S703,S705‧‧‧步驟
S707,S709,S711‧‧‧步驟
S713,S715,S717‧‧‧步驟
S719,S721,S723‧‧‧步驟
S725,S727,S729‧‧‧步驟
S731,S733,S735‧‧‧步驟
S737,S739,S741‧‧‧步驟
S901,S903,S905‧‧‧步驟
S907,S909,S911‧‧‧步驟
S913,S915,S917‧‧‧步驟
S919,S921,S923‧‧‧步驟
S925,S927,S929‧‧‧步驟
S931,S933,S935‧‧‧步驟
S937,S939,S941‧‧‧步驟
S943,S945‧‧‧步驟
DATA GROUP_1‧‧‧第一資料組
DATA GROUP_2‧‧‧第二資料組
DATA GROUP_3‧‧‧第三資料組
100‧‧‧主機
110‧‧‧記憶體系統
120‧‧‧控制器
130‧‧‧主機介面單元
140‧‧‧處理器
160‧‧‧錯誤校正碼單元
170‧‧‧電力管理單元
180‧‧‧NAND閃速控制器
190‧‧‧記憶體
200‧‧‧記憶體裝置
210‧‧‧儲存區塊
220‧‧‧控制電路
221‧‧‧單元串
230‧‧‧電壓供給電路
240‧‧‧行解碼器
250‧‧‧頁面緩衝器
251‧‧‧多個頁面緩衝器
260‧‧‧列解碼器
1111‧‧‧襯底
1112‧‧‧材料
1113‧‧‧柱狀物
1114‧‧‧表面層
1115‧‧‧內層
1116‧‧‧介電層
1117‧‧‧第一子介電層
1118‧‧‧第二子介電層
1119‧‧‧第三子介電層
1211-1213‧‧‧導電材料
1221-1223‧‧‧導電材料
1231-1233‧‧‧導電材料
1241-1243‧‧‧導電材料
1251-1253‧‧‧導電材料
1261-1263‧‧‧導電材料
1271-1273‧‧‧導電材料
1281-1283‧‧‧導電材料
1291-1293‧‧‧導電材料
1311-1314‧‧‧摻雜區域
1320‧‧‧汲極
1331,1332,1333‧‧‧導電材料
6311‧‧‧襯底
6312‧‧‧摻雜材料
6321-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‧‧‧非揮發性記憶體
DP‧‧‧下部柱狀物
PG‧‧‧管閘極
TS‧‧‧電晶體結構
UP‧‧‧上部柱狀物
BL0-BLm-1‧‧‧位元線
DMC‧‧‧虛擬記憶體單元
MC0-MCn-1‧‧‧記憶體單元
ST1‧‧‧第一串
ST2‧‧‧第二串
BLK1-BLKj‧‧‧儲存區塊
NS11-NS13‧‧‧NAND串
NS21-NS23‧‧‧NAND串
NS31-NS33‧‧‧NAND串
S401,S403,S405‧‧‧步驟
S406,S407,S409‧‧‧步驟
S411,S413,S415‧‧‧步驟
S417‧‧‧步驟
S419,S421,S423‧‧‧步驟
S501,S503,S505‧‧‧步驟
S507,S509,S511‧‧‧步驟
S513,S515,S517‧‧‧步驟
S519,S521,S523‧‧‧步驟
S525,S527,S529‧‧‧步驟
S531,S533‧‧‧步驟
S701,S703,S705‧‧‧步驟
S707,S709,S711‧‧‧步驟
S713,S715,S717‧‧‧步驟
S719,S721,S723‧‧‧步驟
S725,S727,S729‧‧‧步驟
S731,S733,S735‧‧‧步驟
S737,S739,S741‧‧‧步驟
S901,S903,S905‧‧‧步驟
S907,S909,S911‧‧‧步驟
S913,S915,S917‧‧‧步驟
S919,S921,S923‧‧‧步驟
S925,S927,S929‧‧‧步驟
S931,S933,S935‧‧‧步驟
S937,S939,S941‧‧‧步驟
S943,S945‧‧‧步驟
DATA GROUP_1‧‧‧第一資料組
DATA GROUP_2‧‧‧第二資料組
DATA GROUP_3‧‧‧第三資料組
[圖1]是示出根據本發明的實施例的半導體記憶體系統的方塊圖。 [圖2]是示出根據本發明的實施例的記憶體裝置中的儲存區塊的記憶體單元陣列電路的簡圖。 [圖3]是示出根據本發明的實施例多個資料組的簡圖。 [圖4]是示出記憶體系統的一般操作方法的流程圖。 [圖5]是示出根據本發明的第一實施例的記憶體系統的操作方法的流程圖。 [圖6]是說明根據本發明的第一實施例的基於軟讀取數值確定資料可靠性的操作的簡圖。 [圖7]是示出根據本發明的第二實施例的記憶體系統的操作方法的流程圖。 [圖8]是說明根據本發明的第二實施例的基於軟讀取數值確定資料可靠性的操作的簡圖。 [圖9]是示出根據本發明的第三實施例的記憶體系統的操作方法的流程圖。 [圖10]是說明根據本發明的第三實施例的基於軟讀取數值確定資料可靠性的操作的簡圖。 [圖11-圖15]是示出根據本發明的實施例三維(3D)非揮發性記憶體裝置的簡圖。 [圖16-圖18]是示出根據本發明的另一個實施例的三維(3D)非揮發性記憶體裝置的簡圖。 [圖19]是示出根據本發明的實施例的包括半導體記憶體系統的電子設備的示例的方塊圖。 [圖20]是示出根據本發明的實施例的包括半導體記憶體系統的電子設備的另一個示例的方塊圖。 [圖21]是示出根據本發明的實施例的包括半導體記憶體系統的電子設備的又一個示例的方塊圖。
S501,S503,S505‧‧‧步驟
S507,S509,S511‧‧‧步驟
S513,S515,S517‧‧‧步驟
S519,S521,S523‧‧‧步驟
S525,S527,S529‧‧‧步驟
S531,S533‧‧‧步驟
Claims (29)
- 一種記憶體系統的操作方法包括: 從包括在記憶體裝置中的多個資料組中的特定資料組讀取第一資料; 對該第一資料執行第一錯誤校正碼解碼,即第一ECC解碼; 當該第一ECC解碼失敗時,從該特定資料組讀取該第一資料之外的多個剩餘資料; 對該等剩餘資料執行第二錯誤校正碼解碼,即第二ECC解碼; 當該第二ECC解碼失敗時,在該等剩餘資料中識別該第二ECC解碼失敗的資料; 獲得分別對應於該第一ECC解碼失敗的該第一資料和該第二ECC解碼失敗的該第二資料的第一軟讀取數值和第二軟讀取數值; 基於該第一軟讀取數值和第二軟讀取數值確定該第一資料和第二資料的可靠性;以及 基於該第一資料和第二資料的可靠性校正該第一資料。
- 如請求項1所述的操作方法,其中該等資料組包括的資料組包括: 多個資料;以及 透過對該等資料的異或操作,即XOR操作,獲得的備份資料。
- 如請求項1所述的操作方法,其中獲得該第一軟讀取數值和第二軟讀取數值包括: 透過利用第一讀取電壓和不同於該第一讀取電壓的第二讀取電壓重新讀取該第一資料而獲得第一重讀資料和第二重讀資料;以及 透過對該第一重讀資料和第二重讀資料執行XOR操作並且對該第一重讀資料和第二重讀資料反推一個或多個XOR操作的結果位元而獲得對應於該第一資料的第一軟讀取電壓。
- 如請求項1所述的操作方法,其中獲得該第一軟讀取數值和第二軟讀取數值包括: 透過利用第三讀取電壓和不同於該第三讀取電壓的第四讀取電壓重新讀取該第二資料而獲得第三重讀資料和第四重讀資料;以及 透過對第三重讀資料和第四重讀資料執行XOR操作並且對第三重讀資料和第四重讀資料反推一個或多個XOR操作的結果位元而獲得對應於該第二資料的第二軟讀取電壓。
- 如請求項1所述的操作方法,其中該第一資料的錯誤位元的校正包括: 根據利用該第一軟讀取數值確定的該第一資料的位元的可靠性的結果,確定是否確定該第二資料的位元的可靠性。
- 如請求項5所述的操作方法,其中透過該第一軟讀取數值和第二軟讀取數值確定是否確定該第二資料的位元的可靠性包括: 當該第一資料的位元確定為可靠性高時,在不確定第二資料的位元的可靠性的情況下確定該第一資料的位元是否是最後的位元; 當該第一資料的位元確定不是最後的位元時,增加該第一資料的位元的索引並且透過該第一軟讀取數值重複確定該第一資料的位元的可靠性;以及 當該第一資料的位元確定為最後的位元時,對其中校正了錯誤位元的該第一資料執行第三錯誤校正碼解碼,即第三ECC解碼。
- 如請求項5所述的操作方法,其中透過該第一軟讀取數值和第二軟讀取數值確定是否確定該第二資料的位元的可靠性包括: 當該第一資料的位元確定為可靠性低時,透過該第二軟讀取數值確定該第二資料的位元的可靠性。
- 如請求項7所述的操作方法,其中透過該第二軟讀取數值確定該第二資料的位元的可靠性包括: 當該第二資料的位元確定為可靠性高時,透過對該特定資料組中該第一資料之外的該等剩餘資料執行XOR操作而校正可靠性低的該第一資料的位元。
- 如請求項7所述的操作方法,其中透過該第二軟讀取數值確定該第二資料的位元的可靠性包括: 當該第二資料的位元確定為可靠性低時,確定該第一資料的位元是否為最後的位元; 當該第一資料的位元確定不是最後的位元時,增加該第一資料的位元的索引並且透過該第一軟讀取數值重複確定該第一資料的位元的可靠性;以及 當該第一資料的位元確定為最後的位元時,對該第一資料執行第三ECC解碼。
- 一種記憶體系統的操作方法包括: 從包括在記憶體裝置中的多個資料組中的特定資料組讀取第一資料; 對該第一資料執行第一錯誤校正碼解碼,即第一ECC解碼; 當該第一ECC解碼失敗時,從該特定資料組讀取作為該第一資料之外的該剩餘資料的一個或多個第二資料並且對該第二資料執行第二錯誤校正碼解碼,即第二ECC解碼; 當該第二ECC解碼失敗時,透過第二ECC解碼成功的該第二資料獲得第三資料; 獲得分別對應於該第一ECC解碼失敗的該第一資料和該第二ECC解碼失敗的該第二資料的第一軟讀取數值和第二軟讀取數值; 透過基於該第一軟讀取數值確定該第一資料的可靠性而確定該第一資料是否包括錯誤位元; 當該第一資料包括錯誤位元時,透過基於該第二軟讀取數值確定該第二資料的可靠性而確定該第二資料是否包括錯誤位元;以及 當該第二資料不包括錯誤位元時,基於該第二ECC解碼失敗的第二資料和該第三資料校正該第一資料。
- 如請求項10所述的操作方法,其中該等資料組包括的資料組包括: 多個資料;以及 透過對該等資料的異或操作,即XOR操作,獲得的備份資料。
- 如請求項10所述的操作方法,進一步包括: 當該第二ECC解碼成功時,透過對該第二資料執行XOR操作而校正該第一資料的錯誤位元。
- 如請求項10所述的操作方法,當該第二ECC解碼失敗時,透過該第二ECC解碼成功的第二資料獲得該第三資料包括: 透過對該第二ECC解碼成功的該第二資料執行XOR操作而獲得該第三資料。
- 如請求項10所述的操作方法,其中獲得該第一軟讀取數值和第二軟讀取數值包括: 透過利用第一讀取電壓和不同於該第一讀取電壓的第二讀取電壓重新讀取該第一資料而獲得第一重讀資料和第二重讀資料;以及 透過對該第一重讀資料和第二重讀資料執行XOR操作並且對該第一重讀資料和第二重讀資料反推一個或多個XOR操作的結果位元而獲得對應於該第一資料的第一軟讀取電壓。
- 如請求項10所述的操作方法,其中獲得該第一軟讀取數值和第二軟讀取數值包括: 透過利用第三讀取電壓和不同於該第三讀取電壓的第四讀取電壓重新讀取該第二資料而獲得第三重讀資料和第四重讀資料;以及 透過對第三重讀資料和第四重讀資料執行XOR操作並且對第三重讀資料和第四重讀資料反推一個或多個XOR操作的結果位元而獲得對應於該第二資料的第二軟讀取電壓。
- 如請求項10所述的操作方法,其中透過利用該第一軟讀取數值確定該第一資料的位元的可靠性而確定該第一資料的每個位元是否是錯誤位元包括: 透過該第一軟讀取數值確定該第一資料的位元的可靠性; 當該第一資料的位元確定為可靠性低時,確定該第一資料的位元是該錯誤位元;以及 當該第一資料的位元確定為可靠性高時,確定該第一資料的位元不是該錯誤位元。
- 如請求項10所述的操作方法,其中當透過該第一軟讀取數值確定該第一資料的位元的可靠性的結果為該第一資料的位元被確定為不是錯誤位元時,不執行透過該第二軟讀取數值的該第二資料的位元的可靠性的確定。
- 如請求項10所述的操作方法,其中透過利用該第二軟讀取數值確定該第二資料的位元的可靠性而確定該第二資料的每個位元是否是錯誤位元包括: 透過該第二軟讀取數值確定該第二資料的位元的可靠性; 當該第二資料的位元確定為可靠性低時,確定該第二資料的位元是該錯誤位元;以及 當該第二資料的位元確定為可靠性高時,確定該第二資料的位元不是該錯誤位元。
- 如請求項10所述的操作方法,其中該第一資料的錯誤位元的校正包括: 透過對該第二ECC解碼失敗的第二資料和該第三資料執行XOR操作而校正該第一資料的錯誤位元。
- 如請求項10所述的操作方法,當該第二資料的位元是該錯誤位元時,進一步包括: 確定該第一資料的位元是否是最後的位元; 當該第一資料的位元確定不是最後的位元時,增加該第一資料的位元的索引並且透過該第一軟讀取數值重複確定該第一資料的位元的可靠性;以及 當該第一資料的位元確定為最後的位元時,對該第一資料執行第三ECC解碼。
- 一種記憶體系統的操作方法包括: 從包括在記憶體裝置中的多個資料組中的特定資料組讀取第一資料; 對該第一資料執行第一錯誤校正碼解碼,即第一ECC解碼; 當該第一ECC解碼失敗時,從該特定資料組讀取該第一資料之外的多個剩餘資料; 對該等剩餘資料執行第二錯誤校正碼解碼,即第二ECC解碼,並且確定該第二ECC解碼是否成功; 當該第二ECC解碼失敗時,透過第二ECC解碼成功的該等剩餘資料獲得第二資料; 獲得分別對應於該第一ECC解碼失敗的該第一資料和該第二ECC解碼失敗的該等剩餘資料的多個軟讀取數值; 透過對應於該等軟讀取數值中該第一資料的第一軟讀取數值之外的其他軟讀取數值獲得第二軟讀取數值; 透過該第二ECC解碼失敗的該等剩餘資料獲得第三資料; 透過基於該第一軟讀取數值確定該第一資料的可靠性而確定該第一資料是否包括錯誤位元; 當該第一資料包括錯誤位元時,透過基於該第二軟讀取數值確定該第三資料的可靠性而確定該第三資料是否包括錯誤位元;以及 當該第三資料不包括錯誤位元時,基於該第二資料和該第三資料校正該第一資料。
- 如請求項21所述的操作方法,其中該等資料組包括的多個資料組包括: 多個資料;以及 透過對該等資料的異或操作,即XOR操作,獲得的備份資料。
- 如請求項21所述的操作方法,其中透過對該等剩餘資料中該第二ECC解碼成功的該等剩餘資料執行XOR操作而執行利用該第二ECC解碼成功的該等剩餘資料獲得該第二資料。
- 如請求項21所述的操作方法,其中透過對該等軟讀取數值中對應於該第一資料的第一軟讀取數值之外的其他軟讀取數值執行和操作,即AND操作,而執行利用該等軟讀取數值中對應於該第一資料的該第一軟讀取數值之外的其他軟讀取數值獲得該第二軟讀取數值。
- 如請求項21所述的操作方法,其中透過利用該第一軟讀取數值確定該第一資料的位元的可靠性而確定該第一資料的每個位元是否是錯誤位元包括: 透過該第一軟讀取數值確定該第一資料的位元的可靠性; 當該第一資料的位元確定為可靠性低時,確定該第一資料的位元是該錯誤位元;以及 當該第一資料的位元確定為可靠性高時,確定該第一資料的位元不是該錯誤位元。
- 如請求項21所述的操作方法,其中當透過該第一軟讀取數值確定該第一資料的位元的可靠性的結果該第一資料的位元確定不是該錯誤位元時,不執行透過該第二軟讀取數值的該第二資料的位元的可靠性的確定。
- 如請求項21所述的操作方法,其中當該第一資料的位元是該錯誤位元時,透過利用該第二軟讀取數值確定該第三資料的位元的可靠性而確定該第三資料的每個位元是否是錯誤位元包括: 透過該第二軟讀取數值確定該第三資料的位元的可靠性; 當該第三資料的位元確定為可靠性低時,確定該第三資料的位元是該錯誤位元;以及 當該第三資料的位元確定為可靠性高時,確定該第三資料的位元不是該錯誤位元。
- 如請求項21所述的操作方法,其中該第一資料的錯誤位元的校正包括: 透過對第二資料和該第三資料的位元執行XOR操作而校正該第一資料的錯誤位元。
- 如請求項22所述的操作方法,當作為透過確定該第三資料的位元的可靠性而確定該第三資料的每個位元是否是該錯誤位元的結果該第三資料的位元是該錯誤位元時,進一步包括: 確定該第一資料的位元是否是最後的位元; 當該第一資料的位元確定不為最後的位元時,增加該第一資料的位元的索引並且透過該第一軟讀取數值重複確定該第一資料的位元的可靠性;以及 當該第一資料的位元確定為最後的位元時,對該第一資料執行第三錯誤校正碼解碼,即第三ECC解碼。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2015-0183647 | 2015-12-22 | ||
KR1020150183647A KR20170075065A (ko) | 2015-12-22 | 2015-12-22 | 메모리 시스템 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201724119A true TW201724119A (zh) | 2017-07-01 |
TWI696185B TWI696185B (zh) | 2020-06-11 |
Family
ID=59066283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105116431A TWI696185B (zh) | 2015-12-22 | 2016-05-26 | 記憶體系統的操作方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9948323B2 (zh) |
KR (1) | KR20170075065A (zh) |
CN (1) | CN106910527B (zh) |
TW (1) | TWI696185B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI681393B (zh) * | 2019-01-07 | 2020-01-01 | 群聯電子股份有限公司 | 解碼方法、記憶體控制電路單元以及記憶體儲存裝置 |
TWI755474B (zh) * | 2017-07-06 | 2022-02-21 | 南韓商三星電子股份有限公司 | 半導體記憶裝置的糾錯電路、半導體記憶裝置以及記憶系統 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9911466B2 (en) | 2016-02-16 | 2018-03-06 | Micron Technology, Inc. | Read threshold voltage selection |
KR102326659B1 (ko) * | 2017-07-19 | 2021-11-16 | 삼성전자주식회사 | 비휘발성 메모리의 ecc 제어 방법 및 이를 수행하는 메모리 시스템 |
CN113113076B (zh) * | 2017-08-08 | 2024-07-26 | 慧荣科技股份有限公司 | 解码方法及相关的闪存控制器与电子装置 |
KR102389432B1 (ko) * | 2017-11-07 | 2022-04-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
CN110058955B (zh) * | 2017-12-18 | 2024-04-09 | 钰创科技股份有限公司 | 具有错误纠正功能的内存和相关内存系统 |
US10606698B2 (en) * | 2018-02-08 | 2020-03-31 | Micron Technology, Inc. | Mitigating an undetectable error when retrieving critical data during error handling |
KR102654297B1 (ko) * | 2018-08-27 | 2024-04-04 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
KR20200028255A (ko) * | 2018-09-06 | 2020-03-16 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그 동작 방법 |
KR20200058027A (ko) | 2018-11-19 | 2020-05-27 | 삼성전자주식회사 | Ecc 회로를 포함하는 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 시스템의 에러 정정 방법 |
KR102696810B1 (ko) | 2019-04-03 | 2024-08-21 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
JP2021047527A (ja) * | 2019-09-17 | 2021-03-25 | キオクシア株式会社 | メモリシステム |
US11150814B2 (en) * | 2019-10-28 | 2021-10-19 | International Business Machines Corporation | Utilizing a link interface for performing partial write operations to memory |
EP4078551A1 (en) | 2019-12-18 | 2022-10-26 | Koninklijke Philips N.V. | System and method for performing mobility management using haptic guidance |
KR20210125294A (ko) | 2020-04-08 | 2021-10-18 | 에스케이하이닉스 주식회사 | 에러 정정 회로 및 이의 동작 방법 |
KR20210128704A (ko) * | 2020-04-17 | 2021-10-27 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작 방법 |
KR20220068831A (ko) * | 2020-11-19 | 2022-05-26 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그 동작 방법 |
KR102532038B1 (ko) * | 2021-12-15 | 2023-05-12 | 삼성전자주식회사 | 에러 정정 코드(ecc) 디코딩 방법 및 이를 수행하는 메모리 시스템 |
US11960358B1 (en) | 2022-09-30 | 2024-04-16 | Nxp B.V. | More secure data reading with error correction codes |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7307902B2 (en) | 2005-08-30 | 2007-12-11 | Hewlett-Packard Development Company, L.P. | Memory correction system and method |
US7409622B1 (en) * | 2005-11-10 | 2008-08-05 | Storage Technology Corporation | System and method for reverse error correction coding |
JP4600530B2 (ja) * | 2008-06-17 | 2010-12-15 | ソニー株式会社 | 画像処理装置および画像処理方法、並びにプログラム |
KR101466270B1 (ko) * | 2008-09-19 | 2014-11-28 | 삼성전자주식회사 | 비휘발성 메모리 시스템 및 그것의 데이터 처리 방법 |
KR20110073932A (ko) * | 2009-12-24 | 2011-06-30 | 주식회사 하이닉스반도체 | Ecc 회로를 포함하는 반도체 스토리지 시스템 및 그 제어 방법 |
US20110252289A1 (en) * | 2010-04-08 | 2011-10-13 | Seagate Technology Llc | Adjusting storage device parameters based on reliability sensing |
CN102279776B (zh) * | 2010-06-11 | 2015-06-24 | 无锡中星微电子有限公司 | 一种错误检查与纠正能力的测试方法及装置 |
US8879317B2 (en) * | 2011-03-01 | 2014-11-04 | Sandisk Technologies Inc. | System and method of decoding data from memory based on sensing information and decoded data of neighboring storage elements |
US8503237B1 (en) * | 2011-05-18 | 2013-08-06 | Western Digital Technologies, Inc. | System and method for data recovery in a solid state storage device |
KR101968746B1 (ko) * | 2011-12-30 | 2019-04-15 | 삼성전자주식회사 | 저장 장치로부터 데이터를 읽는 읽기 방법, 에러 정정 장치, 그리고 에러 정정 코드 디코더를 포함하는 저장 시스템 |
US9362003B2 (en) * | 2012-03-09 | 2016-06-07 | Sandisk Technologies Inc. | System and method to decode data subject to a disturb condition |
KR102089570B1 (ko) * | 2012-06-04 | 2020-03-16 | 삼성전자주식회사 | 저장 장치 및 그것의 데이터 처리 방법 |
US9577673B2 (en) * | 2012-11-08 | 2017-02-21 | Micron Technology, Inc. | Error correction methods and apparatuses using first and second decoders |
KR102125371B1 (ko) | 2012-12-04 | 2020-06-22 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그것의 동작방법 |
KR102123946B1 (ko) * | 2012-12-28 | 2020-06-17 | 삼성전자주식회사 | 멀티 레벨 셀 메모리 장치 및 그것의 동작방법 |
KR102131802B1 (ko) * | 2013-03-15 | 2020-07-08 | 삼성전자주식회사 | 비휘발성 메모리 장치의 데이터 독출 방법, 비휘발성 메모리 장치, 및 메모리 시스템의 구동 방법 |
-
2015
- 2015-12-22 KR KR1020150183647A patent/KR20170075065A/ko unknown
-
2016
- 2016-05-20 US US15/160,702 patent/US9948323B2/en active Active
- 2016-05-26 TW TW105116431A patent/TWI696185B/zh active
- 2016-08-04 CN CN201610633569.0A patent/CN106910527B/zh active Active
-
2018
- 2018-03-07 US US15/914,638 patent/US10623025B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI755474B (zh) * | 2017-07-06 | 2022-02-21 | 南韓商三星電子股份有限公司 | 半導體記憶裝置的糾錯電路、半導體記憶裝置以及記憶系統 |
TWI681393B (zh) * | 2019-01-07 | 2020-01-01 | 群聯電子股份有限公司 | 解碼方法、記憶體控制電路單元以及記憶體儲存裝置 |
Also Published As
Publication number | Publication date |
---|---|
US20180198470A1 (en) | 2018-07-12 |
TWI696185B (zh) | 2020-06-11 |
US9948323B2 (en) | 2018-04-17 |
CN106910527B (zh) | 2021-02-05 |
KR20170075065A (ko) | 2017-07-03 |
CN106910527A (zh) | 2017-06-30 |
US20170177436A1 (en) | 2017-06-22 |
US10623025B2 (en) | 2020-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI696185B (zh) | 記憶體系統的操作方法 | |
TWI654615B (zh) | 記憶體系統之操作方法 | |
KR102547642B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
TWI725029B (zh) | 記憶體系統及其操作方法 | |
KR102286193B1 (ko) | 플래시 메모리 시스템 및 그의 동작 방법 | |
CN105739914B (zh) | 数据处理系统及其操作方法 | |
US9368195B2 (en) | Memory system for processing data from memory device, and method of operating the same | |
US9378824B2 (en) | Memory system and operation method thereof | |
TW201719378A (zh) | 記憶體系統及其操作方法 | |
CN106776352B (zh) | 存储器系统和存储器系统的操作方法 | |
US10037159B2 (en) | Memory system and operating method thereof | |
KR20160073834A (ko) | 메모리 시스템 및 메모리 시스템 동작 방법 | |
CN106933506B (zh) | 存储器系统及存储器系统的操作方法 | |
CN105718378B (zh) | 存储系统及其操作方法 | |
KR20160143259A (ko) | 메모리 시스템 및 그의 동작방법 | |
TWI660352B (zh) | 記憶體系統及其操作方法 | |
KR20170074264A (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
CN106775441B (zh) | 存储器系统 | |
KR20170078315A (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
TW201714093A (zh) | 資料處理系統 | |
KR20160131379A (ko) | 메모리 시스템 | |
CN106354663B (zh) | 存储系统和存储系统的操作方法 | |
KR20170089069A (ko) | 메모리 시스템 및 그의 동작방법 | |
CN106373602B (zh) | 存储系统和存储系统的操作方法 | |
CN107315537B (zh) | 存储器系统及其操作方法 |