CN105957553A - 控制器、半导体存储系统及其操作方法 - Google Patents
控制器、半导体存储系统及其操作方法 Download PDFInfo
- Publication number
- CN105957553A CN105957553A CN201510767954.XA CN201510767954A CN105957553A CN 105957553 A CN105957553 A CN 105957553A CN 201510767954 A CN201510767954 A CN 201510767954A CN 105957553 A CN105957553 A CN 105957553A
- Authority
- CN
- China
- Prior art keywords
- soft
- llr
- llr value
- data
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
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)和静态RAM(SRAM))和非易失性存储器件(诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电EPROM(EEPROM)、铁磁RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器)。
易失性存储器件在无恒定电源时丢失其数据,而非易失性存储器件能够保持其数据。尤其是,闪速存储器件因其编程速度高、功耗低且数据储存容量大而广泛地用作计算机系统中的储存介质。
在非易失性存储器件中,特别是在闪速存储器件中,每个存储单元的数据状态基于储存在存储单元中的数据的位的数量来确定。储存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)解码操作。
根据本发明的各种实施例,可以减少用于储存在半导体存储器件的存储单元中的数据的读取操作的失败。
附图说明
图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)信号、地址锁存使能(ALE)信号、芯片使能(CE)信号、写入使能(WE)信号、读取使能(RE)信号等。
存储器控制器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-densityparity-check)码、博斯-乔赫里-霍克文黑姆(BCH,Bose-Chaudhuri-Hocquenghem)码、涡轮码、里德-索罗门(RS,Reed-Solomon)码、卷积码、递归系统卷积(RSC)码、格形编码调制(TCM)、块编码调制(BCM)等)来校正错误。ECC单元130可以包括用于错误校正的所有电路、系统或设备。
根据本发明的实施例,ECC单元130可以使用硬判决数据(hard decision data)和软判决数据(soft decision data)来执行错误位校正操作。
存储器控制器100和半导体存储器件200可以被集成在单个半导体器件中。例如,存储器控制器100和半导体存储器件200可以被集成在诸如固态驱动器(SSD)的单个半导体器件中。固态驱动器可以包括用于将数据储存在半导体存储器中的储存设备。当半导体存储系统10用在SSD中时,可以改善耦接至半导体存储系统10的主机(未示出)的操作速度。
例如,存储器控制器100和半导体存储器件200可以被集成在单个半导体器件中以构成存储卡,诸如个人计算机存储卡国际协会(PCMCIA)的PC卡、紧凑型闪存(CF)卡、智能媒体(SM)卡、记忆棒、多媒体卡(MMC)、缩小尺寸多媒体卡(RS-MMC)、微型尺寸版本的MMC(微型MMC)、安全数字(SD)卡、迷你安全数字(迷你SD)卡、微型安全数字(微型SD)卡、安全数字大容量(SDHC)和通用闪速储存器(UFS)。
再例如,半导体存储系统10可以被提供为包括电子设备(诸如计算机、超移动PC(UMPC)、工作站、网络本、个人数字助手(PDA)、便携式计算机、网络平板电脑、无线电话、移动电话、智能电话、电子书阅读器、便携式多媒体播放器(PMP)、便携式游戏机、导航设备、黑匣子、数字相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字录音机、数字音频播放器、数字图像记录仪、数字图像播放器、数字录像机、数字视频播放器、数据中心的储存设备、能够在无线环境中收发信息的设备、家庭网络的电子设备中的一种、计算机网络的电子设备中的一种、远程信息处理网络的电子设备中的一种、射频识别(RFID)设备或计算系统的电子设备中的一种)的各种元件中的一种。
参照图4A,存储器控制器100可以包括储存单元110、CPU 120、ECC单元130、主机接口(I/F)140、存储器接口(I/F)150、系统总线160和对数似然比(LLR,loglikelihood ratio)管理(MGT)单元170。储存单元110可以操作作为CPU 120的工作存储器。
主机接口140可以通过各种接口协议(诸如通用串行总线(USB)、多媒体卡(MMC)、外设组件互连快速(PCI-E)、小型计算机系统接口(SCSI)、串行连接SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)和集成驱动电路(IDE))中的一种或更多种与主机通信。
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)以及其中电荷储存层由导电浮栅形成的闪速存储器件。
返回参照图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)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码具有奇偶校验矩阵,其中,奇偶校验矩阵在每行和每列中包括非常少量的1,LDPC码的结构可以通过泰纳图来定义,其中,泰纳图包括校验节点610、可变节点620和用于连接校验节点610与可变节点620的边缘615。在校验节点处理之后从校验节点610发送至可变节点620的值变为校验节点消息615A,在可变节点处理之后从可变节点620发送至校验节点610的值变为可变节点消息615B。
初始消息是由可变节点620处理的输入对数似然比(LLR)。之后将详细描述LLR。
基于“和-积”算法通过迭代解码来执行LDPC码的解码处理。可以基于作为和-积算法的简化版本的诸如“最小和”算法的次优消息传递算法(suboptimal message-passingalgorithm)来提供解码方法。
例如,参照图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”的乘积结果Hv t是否满足预定条件的处理,其中,向量“v”通过更新可变节点620而获得。当奇偶校验矩阵H与向量“v”的乘积结果Hv t变成零向量(“0”)时,则乘积结果Hv t可以被评估为满足预定条件。
图6C示出校验子校验处理。图6C示例性示出非零向量“01000”作为乘积结果Hv t,因此图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]
当由式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)”状态的存储单元的阈值电压分布,软电平部分可以位于阈值电压分布的重叠部分的中心上。
阈值电压分布的初始形态可以通过存储单元特性的劣化而变得变形或扭曲。在这种情况下,采用初始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 01 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]
式2的结果可以表示LLR值,LLR值可以通过以上参照图5描述的软判决ECC解码来估计。
如上所述,可以通过多个软读取电压VSD来执行软判决ECC解码,每个软读取电压VSD在电压电平上与预定硬读取电压VHD间隔开不同的量化间隔的量。因此,存储器控制器100可以这样执行软判决ECC解码,即:使用多个软读取电压VSD来执行多个软读取操作;确定来自存储单元的读取数据的二进制位所属的软电平部分;以及将与确定的软电平部分相对应的LLR值分配至读取数据的二进制位。
可以根据式3来估计要被分配至读取数据的二进制位的LLR值,式3基于式1。
[式3]
式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。
[式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)结构。在该描述中,多个柱体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的电子设备4000的框图。
存储器控制器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)系统的冗余阵列来实施。数据处理系统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中的一个读取的数据传送至主机。
虽然已经关于特定实施例描述了本发明,但是对于本领域技术人员将明显的是,在不脱离如权利要求书中所限定的本发明的精神和范围的情况下,可以做出各种变化和变型。
通过以上实施例可见,本申请可以提供以下技术方案。
技术方案1.一种存储器控制器的操作方法,包括:
使用软读取电压来对储存在半导体存储器件中的读取数据执行软读取操作;
基于第一对数似然比LLR值来对读取数据执行软判决ECC解码操作;以及
当基于第一LLR值的软判决ECC解码操作失败时,基于第二LLR值来对读取数据执行软判决ECC解码操作,
其中,第一LLR值和第二LLR从缺省LLR值和更新LLR值之间选择,以及
其中,基于通过对读取数据的软判决ECC解码操作而获得的读取数据的错误位的数量和非错误位的数量来产生更新LLR值。
技术方案2.如技术方案1所述的操作方法,其中,第一LLR值是缺省LLR值。
技术方案3.如技术方案1所述的操作方法,其中,第一LLR值是缺省LLR值和更新LLR值中的用于先前执行的成功的软判决ECC解码操作的一个。
技术方案4.如技术方案1所述的操作方法,其中,缺省LLR值和更新LLR值被分别储存在存储器控制器的缺省LLR表格和更新LLR表格中。
技术方案5.如技术方案1所述的操作方法,还包括:
当基于第一LLR值或第二LLR值的软判决ECC解码操作成功时,产生或更新更新LLR值。
技术方案6.如技术方案5所述的操作方法,其中,根据下式产生或更新更新LLR值,
[式]
其中,“错误位的#”是错误位的数量,“非错误位的#”是非错误位的数量,“软电平”是软读取电压,“读取偏压”是参考电压。
技术方案7.如技术方案5所述的操作方法,其中,产生或更新更新LLR值的步骤包括:
确定是否产生或更新更新LLR值;以及
基于确定结果来产生或更新更新LLR值。
技术方案8.如技术方案7所述的操作方法,其中,基于以下来确定是否产生或更新更新LLR值:
当软判决ECC解码操作成功时读取数据中的错误校正位的数量;以及
在软判决ECC解码操作成功以前执行的软读取操作的第一次数以及在软判决ECC解码操作成功以前软判决ECC解码操作的迭代的第二次数中的一个或更多个。
技术方案9.如技术方案8所述的操作方法,其中,当第一次数和迭代的第二次数中的一个或更多个大于参考错误校正位的数量的预定阈值时,产生或更新更新LLR值。
技术方案10.如技术方案1所述的操作方法,其中,软判决ECC解码操作是低密度奇偶校验LDPC解码操作。
技术方案11.一种存储器控制器,包括:
第一装置,适用于使用软读取电压来对储存在半导体存储器件中的读取数据执行软读取操作;
第二装置,适用于基于第一对数似然比LLR值来对读取数据执行软判决ECC解码操作;以及
第三装置,适用于当基于第一LLR值的软判决ECC解码操作失败时,基于第二LLR值来对读取数据执行软判决ECC解码操作,
其中,存储器控制器在缺省LLR值和更新LLR值之间选择第一LLR值和第二LLR值,以及
其中,存储器控制器基于通过对读取数据的软判决ECC解码操作而获得的读取数据的错误位的数量和非错误位的数量来产生更新LLR值。
技术方案12.如技术方案11所述的存储器控制器,其中,第一LLR值是缺省LLR值。
技术方案13.如技术方案11所述的存储器控制器,其中,第一LLR值是缺省LLR值和更新LLR值中的用于先前执行的成功的软判决ECC解码操作的一个。
技术方案14.如技术方案11所述的存储器控制器,其中,缺省LLR值和更新LLR值被分别储存在缺省LLR表格和更新LLR表格中。
技术方案15.如技术方案11所述的存储器控制器,还包括:
第四装置,适用于当基于第一LLR值或第二LLR值的软判决ECC解码操作成功时产生或更新更新LLR值。
技术方案16.如技术方案15所述的存储器控制器,其中,第四装置根据下式来产生或更新更新LLR值,
[式]
其中,“错误位的#”是错误位的数量,“非错误位的#”是非错误位的数量,“软电平”是软读取电压,“读取偏压”是参考电压。
技术方案17.如技术方案15所述的存储器控制器,其中,第四装置包括:
第五装置,适用于确定是否产生或更新更新LLR值;以及
第六装置,适用于根据第五装置的确定结果来产生或更新更新LLR值。
技术方案18.如技术方案17所述的存储器控制器,其中,第五装置基于以下来确定是否产生或更新更新LLR值:
当软判决ECC解码操作成功时读取数据中的错误校正位的数量;以及
在软判决ECC解码操作成功以前执行的软读取操作的第一次数以及在软判决ECC解码操作成功以前软判决ECC解码操作的迭代的第二次数中的一个或更多个。
技术方案19.如技术方案18所述的存储器控制器,其中,当第一次数和迭代的第二次数中的一个或更多个大于参考错误校正位的数量的预定阈值时,第五装置确定产生或更新更新LLR值。
技术方案20.如技术方案11所述的存储器控制器,其中,软判决ECC解码操作是低密度奇偶校验LDPC解码操作。
Claims (10)
1.一种存储器控制器的操作方法,包括:
使用软读取电压来对储存在半导体存储器件中的读取数据执行软读取操作;
基于第一对数似然比LLR值来对读取数据执行软判决ECC解码操作;以及
当基于第一LLR值的软判决ECC解码操作失败时,基于第二LLR值来对读取数据执行软判决ECC解码操作,
其中,第一LLR值和第二LLR从缺省LLR值和更新LLR值之间选择,以及
其中,基于通过对读取数据的软判决ECC解码操作而获得的读取数据的错误位的数量和非错误位的数量来产生更新LLR值。
2.如权利要求1所述的操作方法,其中,第一LLR值是缺省LLR值。
3.如权利要求1所述的操作方法,其中,第一LLR值是缺省LLR值和更新LLR值中的用于先前执行的成功的软判决ECC解码操作的一个。
4.如权利要求1所述的操作方法,其中,缺省LLR值和更新LLR值被分别储存在存储器控制器的缺省LLR表格和更新LLR表格中。
5.如权利要求1所述的操作方法,还包括:
当基于第一LLR值或第二LLR值的软判决ECC解码操作成功时,产生或更新更新LLR值。
6.如权利要求5所述的操作方法,其中,根据下式产生或更新更新LLR值,
[式]
其中,“错误位的#”是错误位的数量,“非错误位的#”是非错误位的数量,“软电平”是软读取电压,“读取偏压”是参考电压。
7.如权利要求5所述的操作方法,其中,产生或更新更新LLR值的步骤包括:
确定是否产生或更新更新LLR值;以及
基于确定结果来产生或更新更新LLR值。
8.如权利要求7所述的操作方法,其中,基于以下来确定是否产生或更新更新LLR值:
当软判决ECC解码操作成功时读取数据中的错误校正位的数量;以及
在软判决ECC解码操作成功以前执行的软读取操作的第一次数以及在软判决ECC解码操作成功以前软判决ECC解码操作的迭代的第二次数中的一个或更多个。
9.如权利要求8所述的操作方法,其中,当第一次数和迭代的第二次数中的一个或更多个大于参考错误校正位的数量的预定阈值时,产生或更新更新LLR值。
10.一种存储器控制器,包括:
第一装置,适用于使用软读取电压来对储存在半导体存储器件中的读取数据执行软读取操作;
第二装置,适用于基于第一对数似然比LLR值来对读取数据执行软判决ECC解码操作;以及
第三装置,适用于当基于第一LLR值的软判决ECC解码操作失败时,基于第二LLR值来对读取数据执行软判决ECC解码操作,
其中,存储器控制器在缺省LLR值和更新LLR值之间选择第一LLR值和第二LLR值,以及
其中,存储器控制器基于通过对读取数据的软判决ECC解码操作而获得的读取数据的错误位的数量和非错误位的数量来产生更新LLR值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2015-0032598 | 2015-03-09 | ||
KR1020150032598A KR102265220B1 (ko) | 2015-03-09 | 2015-03-09 | 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105957553A true CN105957553A (zh) | 2016-09-21 |
CN105957553B CN105957553B (zh) | 2020-08-25 |
Family
ID=56887707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510767954.XA Active CN105957553B (zh) | 2015-03-09 | 2015-11-11 | 控制器、半导体存储系统及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9575833B2 (zh) |
KR (1) | KR102265220B1 (zh) |
CN (1) | CN105957553B (zh) |
TW (1) | TWI663603B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106992026A (zh) * | 2017-03-20 | 2017-07-28 | 中山大学 | 一种针对NAND‑Flash存储介质的LDPC码快速信息恢复的译码方法 |
CN108073466A (zh) * | 2016-11-16 | 2018-05-25 | 爱思开海力士有限公司 | 用于减少数据访问延迟的介质质量感知ecc解码方法选择 |
CN108683423A (zh) * | 2018-05-16 | 2018-10-19 | 广东工业大学 | 一种多级闪存信道下的ldpc码动态串行调度译码算法及装置 |
CN109753375A (zh) * | 2017-11-07 | 2019-05-14 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110232947A (zh) * | 2018-03-06 | 2019-09-13 | 深圳衡宇芯片科技有限公司 | 用于决定非挥发性内存中位值的方法和系统 |
CN110275844A (zh) * | 2018-03-16 | 2019-09-24 | 爱思开海力士有限公司 | 利用自适应阈值解码的存储器系统及其操作方法 |
CN110322920A (zh) * | 2018-03-28 | 2019-10-11 | 爱思开海力士有限公司 | 控制器及控制器的操作方法 |
CN110444246A (zh) * | 2018-05-03 | 2019-11-12 | 爱思开海力士有限公司 | 用于存储器系统的相邻辅助校正错误恢复及其方法 |
CN110797074A (zh) * | 2018-08-02 | 2020-02-14 | 爱思开海力士有限公司 | 用于nand闪速存储装置的动态邻区和位线辅助校正 |
CN112051966A (zh) * | 2019-06-05 | 2020-12-08 | 西部数据技术公司 | 对第一读取的读取干扰的系统处理 |
CN112185450A (zh) * | 2019-07-02 | 2021-01-05 | 爱思开海力士有限公司 | 存储器系统、存储器控制器和用于操作存储器系统的方法 |
CN112447239A (zh) * | 2019-09-03 | 2021-03-05 | 爱思开海力士有限公司 | 存储设备及其操作方法 |
Families Citing this family (14)
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 | 東芝メモリ株式会社 | メモリシステム |
WO2018076239A1 (en) * | 2016-10-27 | 2018-05-03 | Micron Technology, Inc. | Erasing memory cells |
US20190361769A1 (en) * | 2017-01-12 | 2019-11-28 | Agency For Science, Technology And Research | Memory device with soft-decision decoding and methods of reading and forming thereof |
KR102389432B1 (ko) | 2017-11-07 | 2022-04-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
US10901656B2 (en) * | 2017-11-17 | 2021-01-26 | SK Hynix Inc. | Memory system with soft-read suspend scheme and method of operating such memory system |
US10637511B2 (en) * | 2017-12-18 | 2020-04-28 | Western Digital Technologies, Inc | Dynamic multi-stage decoding |
JP7039298B2 (ja) * | 2018-01-16 | 2022-03-22 | キオクシア株式会社 | メモリシステム |
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 |
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 |
KR20220103227A (ko) | 2021-01-14 | 2022-07-22 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것을 제어하는 제어기, 그것을 갖는 저장 장치, 및 그것의 리드 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102484565A (zh) * | 2009-09-02 | 2012-05-30 | 高通股份有限公司 | 具有harq组合和软判决指导的信道估计的迭代解码架构 |
US8429501B2 (en) * | 2010-09-17 | 2013-04-23 | Phison Electronics Corp. | Memory storage device, memory controller thereof, and method thereof for generating log likelihood ratio |
CN103186352A (zh) * | 2011-12-30 | 2013-07-03 | 三星电子株式会社 | 从存储设备读取数据的方法、纠错设备和存储系统 |
CN104051016A (zh) * | 2013-03-15 | 2014-09-17 | 三星电子株式会社 | 非易失性存储装置、读取数据方法、存储系统及操作方法 |
CN104052498A (zh) * | 2013-03-15 | 2014-09-17 | 三星电子株式会社 | 最优化对数似然比的方法以及纠错方法和设备 |
Family Cites Families (27)
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 |
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 |
US8654722B2 (en) * | 2010-03-12 | 2014-02-18 | Nec Laboratories America, Inc. | Efficient channel search with sequential probability ratio testing |
TWI633557B (zh) * | 2010-04-19 | 2018-08-21 | 慧榮科技股份有限公司 | 用來進行記憶體存取管理之方法以及記憶裝置及其控制器 |
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 |
TWI514404B (zh) * | 2012-02-24 | 2015-12-21 | Silicon Motion Inc | 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與系統 |
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 |
US9136876B1 (en) * | 2013-06-13 | 2015-09-15 | Densbits Technologies Ltd. | Size limited multi-dimensional decoding |
TWI619353B (zh) * | 2013-07-03 | 2018-03-21 | Lsi公司 | 在低密度奇偶性校驗(ldpc)解碼器中之對數相似比(llr)抑制 |
TWI512732B (zh) * | 2013-08-30 | 2015-12-11 | Phison Electronics Corp | 解碼方法、記憶體儲存裝置與非揮發性記憶體模組 |
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 (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102484565A (zh) * | 2009-09-02 | 2012-05-30 | 高通股份有限公司 | 具有harq组合和软判决指导的信道估计的迭代解码架构 |
US8429501B2 (en) * | 2010-09-17 | 2013-04-23 | Phison Electronics Corp. | Memory storage device, memory controller thereof, and method thereof for generating log likelihood ratio |
CN103186352A (zh) * | 2011-12-30 | 2013-07-03 | 三星电子株式会社 | 从存储设备读取数据的方法、纠错设备和存储系统 |
CN104051016A (zh) * | 2013-03-15 | 2014-09-17 | 三星电子株式会社 | 非易失性存储装置、读取数据方法、存储系统及操作方法 |
CN104052498A (zh) * | 2013-03-15 | 2014-09-17 | 三星电子株式会社 | 最优化对数似然比的方法以及纠错方法和设备 |
Non-Patent Citations (1)
Title |
---|
金文学: "低功耗软判决维特比译码器的设计", 《计算机工程》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073466B (zh) * | 2016-11-16 | 2021-05-07 | 爱思开海力士有限公司 | 用于减少数据访问延迟的介质质量感知ecc解码方法选择 |
CN108073466A (zh) * | 2016-11-16 | 2018-05-25 | 爱思开海力士有限公司 | 用于减少数据访问延迟的介质质量感知ecc解码方法选择 |
US11256564B2 (en) | 2016-11-16 | 2022-02-22 | SK Hynix Inc. | Media quality aware ECC decoding method selection to reduce data access latency |
CN106992026A (zh) * | 2017-03-20 | 2017-07-28 | 中山大学 | 一种针对NAND‑Flash存储介质的LDPC码快速信息恢复的译码方法 |
CN109753375B (zh) * | 2017-11-07 | 2023-06-13 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN109753375A (zh) * | 2017-11-07 | 2019-05-14 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110232947A (zh) * | 2018-03-06 | 2019-09-13 | 深圳衡宇芯片科技有限公司 | 用于决定非挥发性内存中位值的方法和系统 |
CN110232947B (zh) * | 2018-03-06 | 2021-05-18 | 深圳衡宇芯片科技有限公司 | 用于决定非挥发性内存中位值的方法和系统 |
CN110275844A (zh) * | 2018-03-16 | 2019-09-24 | 爱思开海力士有限公司 | 利用自适应阈值解码的存储器系统及其操作方法 |
CN110275844B (zh) * | 2018-03-16 | 2023-05-16 | 爱思开海力士有限公司 | 利用自适应阈值解码的存储器系统及其操作方法 |
CN110322920B (zh) * | 2018-03-28 | 2023-04-07 | 爱思开海力士有限公司 | 控制器及控制器的操作方法 |
CN110322920A (zh) * | 2018-03-28 | 2019-10-11 | 爱思开海力士有限公司 | 控制器及控制器的操作方法 |
CN110444246A (zh) * | 2018-05-03 | 2019-11-12 | 爱思开海力士有限公司 | 用于存储器系统的相邻辅助校正错误恢复及其方法 |
CN110444246B (zh) * | 2018-05-03 | 2023-06-13 | 爱思开海力士有限公司 | 用于存储器系统的相邻辅助校正错误恢复及其方法 |
CN108683423A (zh) * | 2018-05-16 | 2018-10-19 | 广东工业大学 | 一种多级闪存信道下的ldpc码动态串行调度译码算法及装置 |
CN110797074A (zh) * | 2018-08-02 | 2020-02-14 | 爱思开海力士有限公司 | 用于nand闪速存储装置的动态邻区和位线辅助校正 |
CN110797074B (zh) * | 2018-08-02 | 2023-04-28 | 爱思开海力士有限公司 | 用于nand闪速存储装置的动态邻区和位线辅助校正 |
CN112051966A (zh) * | 2019-06-05 | 2020-12-08 | 西部数据技术公司 | 对第一读取的读取干扰的系统处理 |
CN112185450A (zh) * | 2019-07-02 | 2021-01-05 | 爱思开海力士有限公司 | 存储器系统、存储器控制器和用于操作存储器系统的方法 |
CN112447239A (zh) * | 2019-09-03 | 2021-03-05 | 爱思开海力士有限公司 | 存储设备及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201633322A (zh) | 2016-09-16 |
US20160266969A1 (en) | 2016-09-15 |
US9575833B2 (en) | 2017-02-21 |
CN105957553B (zh) | 2020-08-25 |
KR20160109010A (ko) | 2016-09-21 |
TWI663603B (zh) | 2019-06-21 |
KR102265220B1 (ko) | 2021-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105957553A (zh) | 控制器、半导体存储系统及其操作方法 | |
TWI649753B (zh) | 控制器、半導體記憶體系統、資料儲存系統及其操作方法 | |
US10623025B2 (en) | Operating method of memory system | |
CN105913879B (zh) | 控制器、半导体存储系统及其操作方法 | |
CN105719696B (zh) | 存储系统的操作方法 | |
CN105913880A (zh) | 存储器控制器及其操作方法 | |
CN106128510B (zh) | 控制器、半导体存储系统及其操作方法 | |
CN105719701B (zh) | 半导体存储器设备及其操作方法 | |
CN105608015B (zh) | 存储系统及其操作方法 | |
US9825651B2 (en) | Controller, semiconductor memory system and operating method thereof | |
CN105719703A (zh) | 存储系统及其操作方法 | |
CN106775441B (zh) | 存储器系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |