CN105913879B - 控制器、半导体存储系统及其操作方法 - Google Patents
控制器、半导体存储系统及其操作方法 Download PDFInfo
- Publication number
- CN105913879B CN105913879B CN201510671818.0A CN201510671818A CN105913879B CN 105913879 B CN105913879 B CN 105913879B CN 201510671818 A CN201510671818 A CN 201510671818A CN 105913879 B CN105913879 B CN 105913879B
- Authority
- CN
- China
- Prior art keywords
- ecc decoding
- decoding
- read
- data
- semiconductor memory
- 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.)
- Active
Links
Images
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
-
- 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
-
- 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/1575—Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
-
- 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
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
-
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- 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/14—Implementation of control logic, e.g. test mode decoders
-
- 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/3707—Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
-
- 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/3746—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/561—Multilevel memory cell aspects
- G11C2211/5614—Multilevel memory cell comprising negative resistance, quantum tunneling or resonance tunneling elements
-
- 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
-
- 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/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
- H03M13/251—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with block coding
-
- 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/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
- H03M13/256—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with trellis coding, e.g. with convolutional codes and TCM
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
一种控制器的操作方法,包括:当对根据硬读取电压从半导体存储器件读取的数据所进行的第一ECC解码失败时,基于未满足故障校验(USC,unsatisfied syndrome check)的数量来产生一个或更多个量化间隔,其中USC的数量为第一ECC解码的结果;以及通过根据由硬读取电压与量化间隔所确定的软读取电压而产生软读取数据,来对数据执行第二ECC解码。
Description
相关申请的交叉引用
本申请要求在2015年2月23日提交的韩国专利申请No.10-2015-0025192的优先权,其整体中容通过引用合并于此。
技术领域
本发明的各种示范实施例涉及半导体设计技术,尤其涉及控制器、半导体存储系统及其操作方法。
背景技术
半导体存储器件一般分成易失性存储器件,例如动态随机存取存储器(DRAM,Dynamic Random Access Memory)和静态RAM(SRAM,Static Random Access Memory),以及非易失性存储器件,例如只读存储器(ROM,Read Only Memory)、掩蔽型ROM(MROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电EPROM(EEPROM)、铁磁RAM(FRAM)、相变RAM(PRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)以及快闪存储器。
易失性存储器件会在电源中断时遗失储存于其中的数据,而非易失性存储器件则可以在电源中断时保留储存于其中的数据。尤其是,由于快闪存储器件的高编程速度、低耗电量以及大数据储存容量,因此广泛用作电脑系统中的储存媒介。
在非易失性存储器件中,包括快闪存储器件,每一存储单元的数据状态都根据存储单元中所储存的位的数目来确定,每单元储存1位数据的存储单元称为单位单元或单电平单元(single-level cell,SLC),每单元储存多个位数据(即是2或更多位数据)的存储单元称为多位单元、多电平单元(multi-level cell,MLC)或多状态单元。多位单元有利于高集成化。然而随着每存储单元中编程的位的数目增大,可靠性会下降并且读取错误率提高。
例如:当在存储单元中编程k位时,在存储单元中会形成2k个阈值电压中之一。由于存储单元的电气特性间的些微差异,因此使用相同数据编程的存储单元的阈值电压形成阈值电压分布。因此阈值电压分布是根据具有2k个数据值的存储单元的,其对应于k位信息。
然而,可以用于阈值电压分布的电压窗口受到限制。因此随着k值增大,阈值电压分布之间的距离必定缩短,并且相邻阈值电压分布彼此重叠。当相邻的阈值电压分布彼此重叠,所读取的数据可能包括多个错误位。
图1为示意性例示3位多电平单元(3位MLC)非易失性存储器件的编程状态与擦除状态的阈值电压分布。
图2为示意性例示由于3位MLC非易失性存储器件特性退化下的编程与擦除状态的阈值电压分布。
在MLC非易失性存储器件中,例如其中在存储单元中编程k位数据的MLC快闪存储器件,存储单元具有2k个阈值电压分布中之一,例如:3位MLC具有8个阈值电压分布其中之一。
由于存储单元之间的特性差异,所以使用相同数据编程的存储单元的阈值电压会形成阈值电压分布。在3位MLC非易失性存储单元中,如图1中所例示,阈值电压分布具有第一至第七编程状态“P1”至“P7”以及形成擦除状态“E”。图1示出其中阈值电压分布不重叠并且在其间具有读取电压裕度的理想情况。
请参阅图2的快闪存储器范例,存储单元会因为从浮栅或穿隧氧化膜丧失的电子而随着时间经历电荷耗损。当穿隧氧化膜反复编程与擦除操作而劣化时,会加速这种电荷耗损。电荷耗损导致存储单元的阈值电压下降,例如:如图2中所例示,由于电荷耗损,阈值电压分布向左位移。
进一步,编程干扰、擦除干扰及/或背面图案依赖性也会导致阈值电压增大。随着存储单元的特性劣化,如上述,相邻状态的阈值电压分布会重叠,如图2中所例示。
一旦阈值电压分布重叠,当特定读取电压施加至选取的字线时,读取数据可以具有各种错误,例如:当存储单元的感测状态根据已施加至选取字线的读取电压Vread3(即是读取自存储单元的电压)为导通时,则确定存储单元具有第二编程状态“P2”。当存储单元的感测状态根据已施加至选取字线的读取电压Vread3为关断时,则确定存储单元具有第三编程状态“P3”。然而,当阈值电压分布重叠时,会将实际上具有第三编程状态“P3”的存储单元错误确定为具有第二编程状态“P2”。总之,当如图2中例示阈值电压分布重叠时,读取数据(即是读取自存储单元的数据)会包括各种错误。
因此,需要一种用于精确确定储存在半导体存储器件的存储单元中数据的最佳读取电压。
发明内容
本发明的各种实施例指向可以精准确定用于储存在存储单元中的数据的最佳读取电压的控制器、半导体存储系统及其操作方法。
根据本发明的实施例,控制器的操作方法可以包括:当对根据硬读取电压从半导体存储器件读取的数据进行的第一ECC解码失败时,基于未满足故障校验(USC,unsatisfied syndrome check)的数量来产生一个或更多个量化间隔,其中USC的数量为第一ECC解码的结果;以及通过根据由硬读取电压与量化间隔所确定的软读取电压而产生软读取数据,来对软读取数据执行第二ECC解码。
优选地,第一ECC解码可以为低密度奇偶校验(LDPC,low density parity check)解码。
优选地,USC可以为由LDPC解码的故障校验所产生的向量的非零元素。
优选地,第一ECC解码可以包括:通过根据硬读取电压而从半导体存储器件读取数据,来执行LDPC解码;以及基于故障校验所产生的向量中所包括的USC,来确定第一ECC解码是否成功。
优选地,根据以下等式基于USC的数量可以产生量化间隔。
[USC数量等式]
Δi=a X USCV1+b[步长]
其中“Δi”代表量化间隔之一、“i”代表量化间隔的索引、“USCV1”代表USC数量并且“a”和“b”为通过启发式近似法或自半导体存储器件的器件特性所获得的系数值。
优选地,量化间隔可以基于量化间隔表来产生,其中量化间隔表使USC数量作为其索引并且由上述等式预设。
优选地,对根据软读取电压而从半导体存储器件读取的数据执行第二ECC解码,其中每一软读取电压都与硬读取电压在电压电平方面相隔量化间隔之中对应的量化间隔。
优选地,对根据软读取电压中的每一个而从半导体存储器件读取的数据执行第二ECC解码,直到第二ECC解码成功。
优选地,第一ECC解码可以为硬决策解码,并且第二ECC解码可以为软决策解码。
根据本发明的实施例,控制器可以包括:装置,用于:当对根据硬读取电压从半导体存储器件读取的数据所进行的第一ECC解码失败时,基于未满足故障校验(USC,unsatisfied syndrome check)的数量来产生一个或更多个量化间隔,其中USC的数量为第一ECC解码的结果;以及装置,用于:通过根据由硬读取电压与量化间隔所确定的软读取电压而产生软读取数据,来对软读取数据执行第二ECC解码。
优选地,第一ECC解码可以为低密度奇偶校验(LDPC,low density parity check)解码。
优选地,USC可以为由LDPC解码的故障校验所产生的向量的非零元素。
优选地,控制器还包括:装置,用于:根据硬读取电压而从半导体存储器件读取数据,来执行LDPC解码;以及装置,用于:基于故障校验所产生的向量中所包括的USC,来确定第一ECC解码是否成功。
优选地,用于产生量化间隔的装置可以根据以下等式基于USC的数量来产生量化间隔。
[量化间隔等式]
Δi=a X USCV1+b[步长]
其中“Δi”代表量化间隔之一、“i”代表量化间隔的索引、“USCV1”代表USC数量并且“a”和“b”为通过启发式近似法或自半导体存储器件的器件特性所获得的系数值。
优选地,用于产生量化间隔的装置可以根据量化间隔表来产生量化间隔,其中量化间隔表使USC的数量作为其索引、并且由上述量化间格等式预设。
优选地,用于执行第二ECC解码的装置可以对根据软读取电压而从半导体存储器件读取的数据执行第二ECC解码,其中每一软读取电压都与硬读取电压在电压电平方面相隔量化间隔之中的对应的量化间隔。
优选地,用于执行第二ECC解码的装置可以对根据软读取电压中的每一个而从半导体存储器件读取的数据上执行第二ECC解码,直到第二ECC解码成功。
优选地,第一ECC解码可以为硬决策解码,并且第二ECC解码可以为软决策解码。
根据本发明的实施例,半导体存储系统可以包括:半导体存储器件以及控制器。控制器可以包括:装置,用于:当对根据硬读取电压从半导体存储器件读取的数据所进行的第一ECC解码失败时,基于未满足故障校验(USC,unsatisfied syndrome check)的数量来产生一个或更多个量化间隔,其中USC的数量为第一ECC解码的结果;以及装置,用于:通过根据由硬读取电压与量化间隔所确定的软读取电压而产生软读取数据,来对软读取数据执行第二ECC解码。
优选地,USC可以为由低密度奇偶校验(LDPC,low density parity check)解码的故障校验所产生的向量的非零元素。
根据本发明的各种实施例,可以有效确定用于储存在半导体存储器件的存储单元中数据的最佳读取电压。
附图说明
图1为示意性例示3位多电平单元(3位MLC)非易失性存储器件的编程与擦除状态的阈值电压分布。
图2为示意性例示由于3位MLC非易失性存储器件特性退化下的编程与擦除状态的阈值电压分布。
图3为示意性例示根据本发明实施例的半导体存储系统的框图。
图4A为例示图3中所示半导体存储系统的细节框图。
图4B为例示图4A中所示存储块的电路图。
图5为例示图4A中所示存储器控制器操作的流程图。
图6A为例示利用泰纳(tanner)图表示的LDPC解码的示意图。
图6B为例示LDPC码的示意图。
图6C为例示根据LDPC解码的故障(syndrome)校验处理的示意图。
图7A为例示硬读取电压与软读取电压之间关系的示意性图。
图7B为例示存储单元阈值电压随时间改变以及软读取电压之间间隔随时间改变的示意性图。
图8A为例示根据本发明一个实施例的存储器控制器的操作流程图。
图8B为例示根据本发明一个实施例的存储系统的操作的模拟的图示。
图8C为例示根据本发明一个实施例的存储系统的操作的模拟结果的图示。
图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。控制信号可以包括命令锁存使能(CLE,command latch enable)信号、地址锁存使能(ALE,address latch enable)信号、芯片使能(CE,chip enable)信号、写入使能(WE,write enable)信号、读取使能(RE,read enable)信号等等。
存储器控制器100可以控制半导体存储器件200的整体操作。存储器控制器100可以包括用于修正错误位的ECC单元130。ECC单元130可以包括ECC编码器131以及ECC解码器133。
ECC编码器131可以对待编程进入半导体存储器件200的数据执行错误修正编码,以输出已加入奇偶位的数据。奇偶位可以储存在半导体存储器件200中。
ECC解码器133可以对从半导体存储器件200读取的数据执行错误修正解码,ECC解码器133可以确定错误修正解码是否成功,并且可以根据确定结果输出指令信号。ECC解码器133可以使用由ECC编码产生的奇偶位来修正数据的错误位。
当错误位数量超出ECC单元130的错误修正容量时,则ECC单元130不可以修正错误位。在此情况下,ECC单元130可以产生错误修正失败信号。
ECC单元130可以通过编码调制来修正错误,例如低密度奇偶校验(LDPC,low-density parity-check)码、博斯-乔赫里-霍克文黑姆(BCH,Bose-Chaudhuri-Hocquenghem)码、turbo码、里德-所罗门(RS,Reed-Solomon)码、卷积码、递归系统码(RSC,Recursive Systematic Code)、网格编码调制(TCM,Trellis-Coded Modulation)、以及块编码调制(BCM,Block Coded Modulation)等等。ECC编码器130可以包括用于错误修正的所有电路、系统或器件。
根据本发明的实施例,ECC单元130可以使用硬读取读取数据与软读取数据来执行错误位修正操作。
控制器100和半导体存储器件200可以集成在单一半导体器件中,例如:控制器100和半导体存储器件200可以集成在诸如固态硬盘(SSD,solid-state drive)的单一半导体器件中。固态硬盘可以包括储存器件,用于将数据储存在其中。当半导体存储系统10用于SSD中时,换言之,可以显著改善与半导体存储系统10耦接的主机(未示出)的操作速度。
控制器100和半导体存储器件200可以集成在诸如存储卡的单一半导体器件中。例如:控制器100和半导体存储器件200可以集成在单一半导体器件中且来构成存储卡,例如个人电脑存储卡国际协会(PCMCIA)的PC卡、小型快闪(CF)卡、智能媒体(SM)卡、存储棒、多媒体卡(MMC)、小型多媒体卡(RS-MMC)、微型多媒体卡(MMCmicro)、安全数字(securedigital)卡(SD、Mini-SD、Micro-SD、SDHC)、和UFS(万用快闪储存)等等。
针对其他范例,可以提供半导体存储系统10作为包括电子器件的各种元件之一,例如电脑、超移动PC(UMPC)、工作站、网路笔记型电脑、个人数字助理(PDA)、可携式电脑、网络平板电脑、无线电话、移动电话、智能型电话、电子书阅读器、可携式多媒体播放器(PMP)、可携式游戏装置、导航装置、黑盒子、数字相机、数字多媒体广播(DMB)播放器、3D电视、智能型电视、数字音频记录器、数字音频播放器、数字图像记录器、数字图像播放器、数字视频记录器、数字视频播放器、数据中心储存器件、可以在无线环境中收发信息的器件、家庭网路电子器件之一、电脑网路电子器件之一、远程通信网路电子器件之一、射频识别(RFID)器件或计算系统元件设备。
请参阅4A图,存储器控制器100可以包括储存单元110、CPU 120、ECC单元130、主机接口140、存储接口150、系统总线160、读取偏置控制单元170以及量化间隔产生单元180。储存单元110可以CPU 120的工作存储器来操作。
主机接口140可以通过各种接口协定的一个或更多个与主机通信,例如通用串行总线(USB,universal serial bus)、多媒体卡(MMC,multi-media card)、高速外围组件互连(PCI-E,peripheral component interconnect express)、小型电脑系统接口(SCSI,small computer system interface)、串行附加SCSI(SAS)、串行先进技术附件(SATA,serial advanced technology attachment)、并行先进技术附件(PATA,paralleladvanced technology attachment)、先进小型磁盘接口(ESDI,enhanced small diskinterface)以及集成驱动电子器件(IDE,integrated drive electronics)。
ECC单元130可以检测并修正从半导体存储器件200读取的数据中所包括的错误。存储接口150可以与半导体存储器件200接口。CPU 120可以执行各种控制操作。
读取偏置控制单元170可以根据预定硬读取电压V1以及当前索引的量化间隔Δi来确定当前索引的软读取电压Vi。
量化间隔产生单元180可以确定当前索引的量化间隔Δi。
半导体存储器件200可以包括存储单元阵列210、控制电路220、电压供应单元230、电压发送单元240、读/写电路250以及列选择单元260。
存储单元阵列210可以包括多个存储块211。用户数据可以储存在存储块211中。
请参阅图4B,存储块211可以包括分别耦接至位线BL0至BLm-1的多个单元串221。每一列的单元串221都可以包括一个或更多个漏极选择晶体管DST以及一个或更多个源极选择晶体管SST。多个存储单元或存储单元晶体管可以串联耦接在选择晶体管DST与SST之间。每一存储单元MC0至MCn-1都可以由在每一单元中都储存多位数据信息的多电平单元(MLC,multi-level cell)所形成。单元串221可以分别电耦接至对应位线BL0至BLm-1。
图4B示范例示包括NAND型快闪存储单元的存储块211。然而,半导体存储器件200的存储块211将不受限于NAND快闪存储器,而是可以包括NOR型快闪存储器、其中组合了二种或多种存储单元的复合式快闪存储器,以及其中控制器嵌入存储器芯片内部的一NAND快闪存储器。半导体器件的操作特性可以适用于电荷捕捉快闪(CTF,charge trap flash),其中由绝缘层形成电荷储存层,以及适用于其中电荷储存层由导电浮栅形成的快闪存储器件。
请回头参阅第4A图,控制电路220可以控制有关半导体存储器件200的编程、擦除和读取操作的整体操作。
电压供应单元230可以根据操作模式,将字线电压(例如编程电压、读取电压以及通过电压)供应到相应的字线,并且可以提供待供应给体块的电压,例如其中形成存储单元的阱域。电压供应电路230的电压产生操作可以在控制电路220的控制之下执行。
电压供应单元230可以产生多个可变读取电压,用来产生读取数据。
电压发送单元240可以选择存储块211之一或存储单元阵列210的扇区之一,并且可以在控制电路220的控制之下选择已选取存储单元的字线之一。电压发送单元240可以在控制电路220的控制之下将电压供应电路230产生的字线电压提供给选取的字线或未选取的字线。
读/写电路250可以受到控制电路220的控制,并且可以根据操作模式作为感应放大器或写入驱动器来操作,例如:在验证/正常读取操作期间,读/写电路250可以作为感应放大器来操作,用于读取来自存储单元阵列210的数据。在正常读取操作期间,列选择单元260可以根据列地址信息将从读/写电路250读取的数据输出至外界,例如存储器控制器100。在另一方面,在验证读取操作期间,可以将读取数据提供至半导体存储器件200中所包括的通过/失败验证电路(未例示),并且用于确定存储单元的编程操作是否成功。
在编程操作期间,读/写电路250可以作为写入驱动器来操作,用于根据待储存在存储单元阵列210中的数据来驱动位线。在编程操作期间,读/写电路250可以从缓冲区(未例示)接收待写入存储单元阵列210中的数据,并且可以根据输入数据来驱动位线。为此,读/写电路250可以包括分别对应于列(或位线)或列配对(或位线配对)的多个页缓冲器(PB,page buffer)251。每一页缓冲器251中都包括多个锁存器。
请参阅图4A至图5,详细解释存储器控制器100的操作。存储器控制器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可以对在步骤S511基于硬读取电压VHD从半导体存储器件200所读取的数据(此后称为“硬读取数据”)执行硬决策ECC解码。
在步骤S515,可以确定硬决策ECC解码成功还是失败。也就是,在步骤S515,可以确定在步骤S513已执行硬决策ECC解码的硬读取数据的错误是否已经修正,例如:存储器控制器100可以确定在步骤S513已执行硬决策ECC解码的硬读取数据的错误是否已经根据硬读取数据以及奇偶校验矩阵来修正。当奇偶校验矩阵与其上在步骤S513已经执行硬决策ECC解码的硬读取数据的乘积结果为零向量(“0”),则可以确定其上已经执行硬决策ECC解码的硬读取数据已经修正。在另一方面,当奇偶校验矩阵以及其上已经执行硬决策ECC解码的硬读取数据的乘积结果并不是零向量(“0”),则可以确定其上已经执行硬决策ECC解码的硬读取数据并未修正。在此将参阅图图6A至图6C说明使用奇偶校验矩阵的处理。
当确定在步骤S515已经修正其上已执行硬决策ECC解码的硬读取数据(Y),可以在步骤S520确定在步骤S511响应硬读取电压VHD的读取操作已经成功,并且存储器控制器100的操作可以结束。其上在步骤S513已执行硬决策ECC解码的硬读取数据可以为错误已修正数据,并且可以提供给外界(例如主机或外部器件)或用于存储器控制器100。
当在步骤S515已确定其上已执行硬决策ECC解码的硬读取数据并未修正时(N),则可以执行第二ECC解码步骤S530。
在步骤S531,可以根据软读取电压VSD从半导体存储器件200读取数据。例如:可以对其上已经根据硬读取电压VHD执行第一ECC解码步骤S510的存储单元执行根据软读取电压VSD的额外读取操作。软读取电压VSD可以具有与硬读取电压VHD不同的电压。
在步骤S533,可以执行作为第二ECC解码的软决策ECC解码。可以根据软读取数据以及其上已在步骤S513执行硬决策ECC解码的硬读取数据、和基于在步骤S531基于软读取电压VSD从存储单元读取的数据,来执行软决策ECC解码。硬读取电压VHD和软读取电压VSD可以具有不同的电压。
例如:半导体存储器件200的每一存储单元MC0至MCn-1都可以属于包括第一至第七编程状态“P1”至“P7”以及擦除状态“E”的阈值电压分布之一。
每一硬读取电压VHD都可以介于选自于第一至第七编程状态“P1”至“P7”和擦写状态“E”的两相邻状态之间。每一软读取电压VSD都可以介于选自于第一至第七编程状态“P1”至“P7”和擦写状态“E”的两相邻状态之间,其与硬读取电压VHD不同。
响应硬读取电压VHD而从存储单元MC0至MCn-1读取的硬读取数据、和根据软读取电压VSD而从其读取的软读取数据可以具有彼此不同的值。例如:在存储单元MC0至MCn-1中可以具有尾存储单元(tailing memory cell),其具有超出正常逻辑状态的阈值电压分布之外的阈值电压。根据硬读取电压VHD而从尾存储单元读取的硬读取数据、和根据软读取电压VSD而从其读取的软读取数据可以具有彼此不同的值。当在根据硬读取电压VHD的读取操作之后执行根据软读取电压VSD的额外读取操作时,可以获得关于存储单元MC0至MCn-1的阈值电压的额外信息,即关于尾存储单元的信息。
当已经获得该额外信息时,存储单元MC0至MCn-1的数据是否属于第一状态(即“1”)或第二状态(即“2”)的可能性会增大。也就是,可以提高ECC解码的可以靠性。基于根据硬读取电压VHD的硬读取数据以及根据软读取电压VSD的软读取数据,存储器控制器100可以执行软决策ECC解码。在此将参阅图7A和图7B说明硬读取电压VHD与软读取电压VSD之间的关系。
在步骤S535,可以确定软决策ECC解码成功还是失败。也就是,在步骤S535,可以确定在步骤S533已执行软决策ECC解码的软读取数据的错误是否已经修正,例如:存储器控制器100可以确定在步骤S533已执行软决策ECC解码的软读取数据的错误是否已经根据软读取数据以及奇偶校验矩阵来修正。当奇偶校验矩阵与其上在步骤S533已经执行软决策ECC解码的软读取数据的乘积结果为零向量(“0”),则可以确定其上已经执行软决策ECC解码的软读取数据已经修正。在另一方面,当奇偶校验矩阵与其上已经执行软决策ECC解码的软读取数据的乘积结果并不是零向量(“0”),则可以确定其上已经执行软决策ECC解码的软读取数据并未修正。在此将参阅图图6A至图6C说明使用奇偶校验矩阵的处理。
在第一ECC解码步骤S510期间奇偶校验矩阵与硬读取数据的乘积过程大体上与在第二ECC解码步骤S530期间奇偶校验矩阵与软读取数据的乘积过程相同。
当确定在步骤S535其上已执行软决策ECC解码的软读取数据(Y)已经修正,可以在步骤S520确定在步骤S531根据软读取电压VSD的额外读取操作已经成功,并且存储器控制器100的操作可以结束。其上在步骤S533已执行软决策ECC解码的软读取数据可以为错误已修正数据,并且可以提供给外界或用于存储器控制器100。
当确定在步骤S535其上已执行软决策ECC解码的软读取数据(N)尚未修正,可以在步骤S540确定存储器控制器100对存储单元MC0至MCn-1的读取操作最终失败,并且存储器控制器100的操作可以结束。
图6A为例示利用泰纳图表示的LDPC解码的示意图。
图6B为例示LDPC码的示意图。
图6C为例示根据LDPC解码的故障校验处理的示意图。
储存系统中会经常使用错误修正码(ECC,Error Correction Code),储存器件中发生的各种物理现象导致噪音效果,其毁损储存的信息。错误修正编码法可以用来保护已储存信息抵挡结果错误。这可以通过在存储器件中储存信息之前将信息编码来达成。编码处理利用在信息中添加冗余来将信息位序转换成码字。然后可以使用此冗余来通过解码处理将该信息从可能毁损的码字中复原。
在迭代编码方案当中,码建构为若干简单构成码的串联,并且通过在接收该简单构成码的解码器之间交换信息而基于迭代解码算法来解码。通常来说,使用描述构成码之间互连的二分图或泰纳图定义该码。在此情况下,解码可以看待成越过图形边缘的迭代消息。
迭代码可以包括低密度奇偶校验(LDPC,low density parity check)码。LDPC码为通过稀疏奇偶校验矩阵H来定义的线性二进制区块码。
请参阅图6A,LDPC码具有奇偶校验矩阵,其中每行与列中1s的数量非常小,并且其结构可以由tanner图定义,包括校验节点610、可变节点620和用于将校验节点610连接至可变节点620的边缘615。在校验节点处理之后从校验节点610传递至可变节点620的值变成校验节点消息615A,并且在可变节点处理之后从可变节点620传递至校验节点610的值变成可变节点消息615B。
根据“和-积”算法通过迭代解码来执行LDPC码的解码处理。根据次优消息传递算法(suboptimal message-passing algorithm),例如“最小和”算法(其为和-积算法的简化版)来提供解码方法。
例如:请参阅图6B,LDPC码的tanner图包括代表LDPC码奇偶校验等式的5个校验节点610、代表码符号的10个可变节点620以及代表校验节点610与可变节点620之间关系的边缘615。边缘615将每一校验节点610连接至可变节点620,可变节点对应于由校验节点610所表示的奇偶校验等式中所包括的码符号。图6B示范例示规则(regular)LDPC码,其中耦接至每一校验节点610的可变节点620的数量固定为4,并且耦接至每一可变节点620的校验节点610的数量固定为2。
图6C示出对应于tanner图的奇偶校验矩阵H。奇偶校验矩阵H类似于奇偶校验等式的图形表示。在奇偶校验矩阵H中,在每一列和每一行中包括相同数量的1s。亦即,奇偶校验矩阵H的每一列都具有两个1s,对应于每一可变节点620与校验节点610之间的连接,并且每一行具有四个1s,对应于每一校验节点610与可变节点620之间的连接。
通过迭代tanner图中可变节点620与校验节点610之间交换消息的处理来执行LDPC码的解码处理,其中交换消息在每一节点中产生并更新。在此情况下,每一节点根据和-积算法或类似的次优算法来更新消息。
对具有预定长度的数据(根据第一硬决策读取电压VHD而从存储块211的存储单元读取)的LDPC解码可以包括多次迭代,每一次迭代都包括首先更新可变节点620之后更新校验节点610、更新可变节点620以及故障校验。在单次迭代之后,当故障校验的结果满足预定条件,则可以结束LDPC解码。当故障校验的结果未满足预定条件,则可以使用与第一硬读取电压VHD不同的第二硬读取电压VHD对存储块211的存储单元执行另一单次迭代。迭代次数可以受限于最大读取计数。当迭代次数已经达到最大读取计数而故障校验结果还未满足预定条件时,则对数据的LDPC解码可以被确定为ECC解码已经失败。
请参阅图6C,故障校验为这种处理:识别奇偶校验矩阵H与向量“v”(利用更新可变节点620所获得)的乘积结果Hvt是否满足预定条件。当奇偶校验矩阵H与向量“v”的乘积结果Hvt变成零向量,则乘积Hvt被估计为满足预定条件。
图6C示出故障校验处理,图6C示范示出非零向量“01000”作为乘积结果Hvt,换言之,图6C示出故障校验并未满足预定条件,并且应用另一个硬读取电压VHD来执行另一单次迭代。
考虑非零向量“01000”作为乘积结果Hvt,则不符合零向量条件的非零向量元素数量为1。在此描述当中,在单次迭代当中不满足乘积结果Hvt的故障校验中零向量条件的元素定义为未满足的故障校验(USC)。图6C示出其中USC数量为1的故障校验结果。
USC数量可以代表硬读取数据有多少错误,也就是硬读取数据中所包括的错误数量,如此USC数量可以代表存储单元MC0至MCn-1中的恶化程度,或代表存储单元MC0至MCn-1的阈值电压分布差异。也就是说,LDPC解码的失败率以及USC数量会随存储单元MC0至MCn-1恶化而增大。
图7A为例示硬读取电压与软读取电压之间关系的示意性图,并且图7B为例示存储单元MC0至MCn-1的阈值电压随时间改变以及软读取电压VSD间之间隔随时间改变的示意性图。
如参阅图5所描述,第二ECC解码步骤S530可以为对数据软决策ECC解码的步骤,其中,当第一ECC解码步骤S510的硬决策ECC解码最终失败时,通过根据对应于预定硬读取电压VHD的软读取电压VSD而产生软读取数据来对数据软决策ECC解码。
软决策ECC解码可以响应于多个软读取电压VSD来执行,其中每一个软读取电压VSD在电压电平上都与预定硬读取电压VHD相隔不同的量化间隔,例如:通过根据软读取数据或对数似然比(LLR,log likelihood ratio)而反复执行软决策ECC解码,属于适用于NAND快闪存储器的软决策ECC解码技术之一的低密度奇偶校验(LDPC)运作良好。
在LDPC解码期间,响应于多个软读取电压VSD而通过对存储单元MC0至MCn-1的读取操作可以产生LLR,其中每一个软读取电压VSD都具有相距预定硬读取电压VHD不同的量化间隔。
图7A示出存储单元MC0至MCn-1之一的阈值电压分布的一部分(Pv0和Pv1)、以及用于读取存储单元MC0至MCn-1中所储存数据的读取电压,所述读取电压包括单个硬读取电压V1和6个软读取电压V2至V7,其分别具有相距预定硬读取电压V1的量化间隔Δ2至Δ7。6个软读取电压V2至V7的电平可以分别由量化间隔Δ2至Δ7的幅度所确定。
为了成功完成第二ECC解码步骤S530,应将量化间隔Δ2至Δ7最佳化。量化间隔Δ2至Δ7的最佳化取决于存储单元MC0至MCn-1的恶化程度,也就是说,量化间隔Δ2至Δ7的最佳化可以取决于存储单元MC0至MCn-1的阈值电压分布,即是图7A中所示的阈值电压分布Pv0和Pv1的差异。量化间隔最佳化已经公布于论文[J.Wang,T.Courtade,H.Shankar,andR.Wesel,“Soft Information for LDPC decoding in flash:Mutual-informationoptimized quantization,”in Proc.IEEE Global Commum.Conf.(GLOBECOM),2011,pp.5-9.]当中。
图7B示出量化间隔Δ2至Δ7的最佳化可以取决于存储单元MC0至MCn-1的阈值电压分布,即是图7A中所示的阈值电压分布Pv0和Pv1的差异。
例如:NAND快闪存储器件的“使用寿命开始(SOL,Start of Life)”上阈值电压分布Pv0和Pv1的差异σ1一般小于NAND快闪存储器件的“使用寿命结束(EOL,End of Life)”上阈值电压分布Pv0和Pv1的差异σ2。因此,EOL上已最佳化的量化间隔Δ2至Δ7应大于SOL上已最佳化的量化间隔Δ2至Δ7。
因此,为了成功完成第二ECC解码步骤S530,量化间隔Δ2至Δ7应最佳化,并且可以根据存储单元MC0至MCn-1的阈值电压分布差异来确定量化间隔Δ2至Δ7的最佳化。
根据现有技术,因为难以实时辨识存储单元MC0至MCn-1的阈值电压分布差异,因此响应于具有已固定的量化间隔Δ2至Δ7的软读取电压VSD来执行第二ECC解码步骤S530。例如:根据现有技术,根据具有第一量(4步长=80mV)的第一组量化间隔Δ2和Δ3、具有第二量(8步长=160mV)的第二组量化间隔Δ4和Δ5以及具有第三量(16步长=320mV)的第三组量化间隔Δ6和Δ7,来执行第二ECC解码步骤S530。在根据这种已固定的量化间隔的第二ECC解码中,难以反应出存储单元MC0至MCn-1随时间恶化的阈值电压分布的时变差异。
因此,为了成功完成第二ECC解码步骤S530,所需要的就是Δ2至Δ7足以反应出存储单元MC0至MCn-1随时间恶化的阈值电压分布的时变差异。
根据本发明的示范实施例,藉由根据USC调整量化间隔,可以实现最佳化的量化间隔,因为利用在第一ECC解码步骤S510期间获得的USC可以代表存储单元MC0至MCn-1的恶化程度。
图8A为例示根据本发明一个实施例的存储器控制器100的操作流程图。
图8A详细示出参阅图5所描述的存储器控制器100的操作。
请参阅图4A和图8A,存储器控制器100的操作可以包括第一ECC解码步骤S810,并且可以额外包括第二ECC解码步骤S830。
第一ECC解码步骤S810可以包括对预定长度的数据的硬决策ECC解码,该数据是根据硬读取电压V1而从存储块211的存储单元读取的。第一ECC解码步骤S810可以包括步骤S811至S815。
第二ECC解码步骤S830可以包括:当第一ECC解码步骤S510的硬决策ECC解码最终失败时,通过根据对应于预定硬读取电压(图7A的V1)的软读取电压VSD来产生软读取数据,而对数据的软决策ECC解码。第二ECC解码步骤S830可以包括步骤S831至S835。
在步骤S811,可以根据硬读取电压V1而从半导体存储器件200读取数据。存储器控制器100可以提供读取命令与地址给半导体存储器件200。半导体存储器件200可以响应于读取命令与地址而对应于硬读取电压V1来对数据执行读取操作。读取数据可以提供给存储器控制器100。
在步骤S813,可以执行作为第一ECC解码的硬决策ECC解码。根据错误修正码,ECC单元130可以对在步骤S811根据硬读取电压V1而从半导体存储器件200所读取的硬读取数据执行硬决策ECC解码。
在步骤S815,可以确定硬决策ECC解码成功或失败。也就是说,在步骤S815,可以确定在步骤S813已执行硬决策ECC解码的硬读取数据的错误是否已经修正,例如:存储器控制器100可以确定在步骤S813已执行硬决策ECC解码的硬读取数据的错误是否已经根据硬读取数据以及奇偶校验矩阵来修正。当奇偶校验矩阵与其上在步骤S813已经执行硬决策ECC解码的硬读取数据的乘积结果为零向量(“0”),则可以确定其上已经执行硬决策ECC解码的硬读取数据已经修正。在另一方面,当奇偶校验矩阵与其上已经执行硬决策ECC解码的硬读取数据的乘积结果并不是零向量(“0”),则可以确定其上已经执行硬决策ECC解码的硬读取数据并未修正。
当确定在步骤S815已经修正其上已执行硬决策ECC解码的硬读取数据(Y),可以在步骤S820确定在步骤S811根据硬读取电压V1的读取操作已经成功,并且存储器控制器100的操作可结束。
当在步骤S815已确定其上已执行硬决策ECC解码的硬读取数据并未修正时(N),则可以执行第二ECC解码步骤S830。
如上面参阅图6A至图6C所述,USC数量可以代表存储单元MC0至MCn-1的恶化程度,或代表存储单元MC0至MCn-1的阈值电压分布差异。因此根据本发明的示范实施例,最佳化的量化间隔,即是参阅图7A和图7B所描述的量化间隔Δ2至Δ7可以通过根据USC调整量化间隔Δ2至Δ7来实现,并且软读取电压V2至V7可以响应于最佳化量化间隔Δ2至Δ7而确定。最佳化量化间隔Δ2至Δ7可以从预设量化间隔表或实时计算来获得。
在步骤S831,可以设定变量用于第二ECC解码步骤S830。尤其是,可以确定用于软读取电压V2至V7的预定硬读取电压V1。也可以获得对应于在已失败的第一ECC解码步骤S810期间使用的硬读取电压V1的USC数量USCV1。进一步,用于指定量化间隔Δ2至Δ7以及软读取电压V2至V7的索引值“i”可以初始化为2。预定硬读取电压V1可以为第一ECC解码步骤S810期间所使用的硬读取电压V1。根据设计,量化间隔Δ2至Δ7以及软读取电压V2至V7的数量都可以改变。
在步骤S832,存储器控制器100可以计算目前索引对应于USC数量USCV1的最佳化量化间隔Δi。如上述,从预设量化间隔表或实时计算,可以获得目前索引对应于USC数量USCV1的最佳化量化间隔Δi。例如:根据以下等式1可以计算最佳化量化间隔Δi。针对另一个范例,可以根据以下等式1基于估计的USC数量USCV1而通过预先计算量化间隔Δ2至Δ7来预设使估计USC数量USCV1作为其索引的量化间隔表,并且基于与在已失败第一ECC解码步骤S810期间使用的硬读取电压V1相对应的USC数量USCV1,可以从预设量化间隔表选择最佳化量化间隔Δi。
[等式1]
第一对量化间隔(Δ2和Δ3)=9.48xUSCV1-0.846[步长]
第二对量化间隔(Δ4和Δ5)=31.45xUSCV1-2.74[步长]
第三对量化间隔(Δ6和Δ7)=53.9xUSCV1-4.038[步长]
等式1中使用的系数值可以通过启发式近似法(heuristic approach)获得,或从存储单元MC0至MCn-1的特性当中获得。
作为范例,当假设存储单元MC0至MCn-1的每一阈值电压分布都根据预定硬读取电压V1而对称、并因此每一对量化间隔Δ2至Δ7都根据预定硬读取电压V1而对称时,量化间隔Δ2至Δ7与等式1的每一对量化间隔中的另一个相同。然而,当存储单元MC0至MCn-1的每一阈值电压分布都根据预定硬读取电压V1不对称时,每一对量化间隔Δ2至Δ7可能不会根据预定硬读取电压V1对称,并且等式1可以被修改使得每一量化间隔Δ2至Δ7在每一对量化间隔中可以具有不同值。
利用上面参阅图4A所描述的量化间隔产生单元180,可以执行步骤S832。
在步骤S833,可以通过根据软读取电压Vi而从半导体存储器件200读取数据,其中软读取电压Vi是通过将在步骤S831确定的预定硬读取电压V1加至在步骤S832获得的当前索引的量化间隔Δi来确定的。例如:可以对其上已经根据硬读取电压V1执行第一ECC解码步骤S810的存储单元执行根据软读取电压Vi的额外读取操作。软读取电压Vi可以具有与硬读取电压V1不同的电平。
在步骤S833,上面参阅图4A描述的读取偏置控制单元170可以基于预定硬读取电压V1以及当前指数的量化间隔Δi来确定当前索引的软读取电压Vi。
在步骤S834,可以执行作为第二ECC解码的软决策ECC解码。通过ECC单元130可以对根据当前索引的软读取电压而从半导体存储器件200读取的软读取电压执行软决策ECC解码。
在步骤S835,可以确定软决策ECC解码成功还是失败。也就是说,在步骤S835,可以确定在步骤S834已执行软决策ECC解码的软读取数据的错误是否已经修正,例如:存储器控制器100可以确定在步骤S834已执行软决策ECC解码的软读取数据的错误是否已经根据软读取数据以及奇偶校验矩阵来修正。例如:当奇偶校验矩阵与其上在步骤S834已经执行软决策ECC解码的软读取数据的乘积结果为零向量(“0”),则可以确定其上已经执行软决策ECC解码的软读取数据已经修正。在另一方面,当奇偶校验矩阵与其上已经执行软决策ECC解码的软读取数据的乘积结果并不是零向量(“0”),则可以确定其上已经执行软决策ECC解码的软读取数据并未修正。
当确定在步骤S835已经修正其上已执行软决策ECC解码的软读取数据(Y),可以在步骤S820确定根据当前索引的软读取电压Vi的额外读取操作已经成功,并且存储器控制器100的操作可以结束。
当确定在步骤S835尚未修正其上已执行软决策ECC解码的软读取数据(N),则当前索引值可以增大(i++),并且可以重复步骤S832至S836,直到当前索引值达到最大值iMAX,即是7。
当确定在步骤S835尚未修正其上已执行软决策ECC解码的软读取数据(N)并且当前索引具有最大值iMAX,则可以在步骤S840确定存储器控制器100对存储单元MC0至MCn-1的读取操作最终失败,并且存储器控制器100的操作可以结束。
图8B为例示用于根据本发明实施例的存储系统10的操作的模拟环境的图示,并且图8C为例示用于根据本发明实施例的存储系统10的操作的模拟结果的图示。
图8B和图8C示出参阅图8A所描述存储系统10中的存储器控制器100的操作的模拟结果。
请参阅图8B和图8C,当存储单元具有高斯分布型拥有差异12和13的阈值电压分布Pv0和Pv1、并且具有0.935码率的3位LDPC适用于存储单元时,使用根据本发明实施例的最佳量化间隔(“7级变化Δi”)时的块码错误率(CER,chunk error rate)低于使用根据现有技术的固定量化间隔(“7级固定Δi”)时的块码错误率(CER)。
图9至图13为示意性例示根据本发明实施例的三维(3D)非易失性存储器件的图示。图9至图13例示根据本发明实施例的以3D形式实施的半导体存储器件,例如快闪存储器件。
图9为图4B中所示存储单元阵列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型硅。
衬底1111之上可以提供沿着第一方向延伸的多个掺杂区1311至1314,例如:多个掺杂区1311至1314可以具有与衬底1111的杂质不同的第二类型杂质,例如:多个掺杂区1311至1314可以掺杂n型杂质。在该描述当中,示范性假设第一掺杂区至第四掺杂区1311至1314为n型。然而,第一掺杂区至第四掺杂区1311至1314不受限于n型。
在衬底1111的介于第一掺杂区与第二掺杂区1311与1312之间的区域之上,可以沿着第二方向顺序提供沿着第一方向延伸的多个绝缘材料1112,例如:绝缘材料1112与衬底1111可以在第二方向上间隔预定距离。在第二范例中,绝缘材料1112可以在第二方向上彼此间隔。在第三范例中,绝缘材料1112可以包括绝缘体,例如氧化硅。
在衬底1111的介于第一掺杂区1311与第二掺杂区1312之间的区域之上,可以沿着第一方向顺序提供多个柱体1113,并且柱体可以沿着第二方向穿透绝缘材料1112,例如:柱体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之间距离的一半。换言之,在(i)绝缘材料1112的第一绝缘材料底部表面之上提供的绝缘层1116与(ii)绝缘材料1112的第二绝缘材料顶部表面之上提供的绝缘层1116之间,可以提供其中设置了不同于绝缘材料1112与绝缘层1116的材料的区域。绝缘材料1112的第一绝缘材料可以设置在绝缘材料1112的第一绝缘材料之上。
在第一掺杂区与第二掺杂区1311与1312之间的区域中,可以在绝缘层1116的表面之上提供导电材料1211至1291,例如:在衬底1111与相邻于衬底1111的绝缘材料1112之间,可以提供沿着第一方向延伸的导电材料1211。尤其是,在(i)设置在与衬底1111相邻的绝缘材料1112的底部表面之处的绝缘层1116与(ii)设置在衬底1111之上的绝缘层1116之间,可以提供沿着第一方向延伸的导电材料1211。
在(i)设置在绝缘材料1112之中的第一特定绝缘材料的顶部表面的绝缘层1116与(ii)设置在绝缘材料1112之中的第二特定绝缘材料(其设置在第一特定绝缘材料1112之上)的底部表面的绝缘层1116之间,可以提供沿着第一方向延伸的导电材料,例如:在绝缘材料1112之间可以提供沿着第一方向延伸的多个导电材料1221至1281。另外,在最上面绝缘材料1112之上可以提供沿着第一方向延伸的导电材料1291,例如:沿着第一方向延伸的导电材料1211至1291可以为金属材料。在另一个范例中,沿着第一方向延伸的导电材料1211至1291可以为导电材料,例如多晶硅。
在第二掺杂区与第三掺杂区1312与1313之间,可以提供与设置在第一掺杂区与第二掺杂区1311与1312之间结构相同的结构,例如:沿着第一方向延伸的绝缘材料1112、顺序排列在第一方向上并且沿着第二方向穿透绝缘材料1112的柱体1113、提供在绝缘材料1112与柱体1113的表面之上的绝缘层1116、以及沿着第一方向延伸的导电材料1212至1292可以被提供在第二掺杂区与第三掺杂区1312与1313之间。
在第三掺杂区与第四掺杂区1313与1314之间,可以提供与设置在第一掺杂区与第二掺杂区1311与1312之间结构相同的结构,例如:沿着第一方向延伸的绝缘材料1112、顺序排列在第一方向上并且沿着第二方向穿透绝缘材料1112的柱体1113、提供在绝缘材料1112与柱体1113的表面之上的绝缘层1116、以及沿着第一方向延伸的导电材料1213至1293可以被提供在第三掺杂区与第四掺杂区1313与1314之间。
在柱体1113之上可以分别提供漏极1320,例如:漏极1320可以为掺杂第二类型材料的硅材料,例如:漏极1320可以为掺杂n型材料的硅材料。在该描述当中,示范性假设漏极1320为掺杂n型材料的硅材料。然而,漏极1320并不受限于n型硅材料,例如:漏极1320的宽度可以宽于其对应的一个柱体1113的宽度,例如:在其对应的一个柱体1113的顶部表面之上,可以提供焊盘形状的漏极1320。
在漏极1320之上可以提供往第三方向延伸的导电材料1331至1333,导电材料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可以包括氮层或金属氧化物层,例如氧化铝层、氧化锆层等等。
第三子绝缘层1119与导电材料1233相邻,可以用作阻挡绝缘层,例如:与沿着第一方向延伸的导电材料1233相邻的第三子绝缘层1119可以具有单层或多层结构。第三子绝缘层1119可以为高介电层,例如氧化铝层、氧化锆层等等,具有大于第一绝缘层和第二子绝缘层1117和1118的介电常数。
导电材料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串NS的多个晶体管结构TS中的一个或多个可以用作接地选择晶体管GST。
栅极或控制栅可以对应于沿着第一方向延伸的导电材料1211至1291、1212至1292以及1213至1293,换言之,栅极或控制栅可以沿着第一方向延伸,来形成字线WL以及两个或多个选择线,例如一个或多个串选择线SSL以及一个或多个接地选择线GSL。
沿着第三方向延伸的导电材料1331至1333可以耦接至NAND串NS的一端,例如:沿着第三方向延伸的导电材料1331至1333可以用作位线BL,换言之,在一个存储块BLKi中,单个位线BL可以耦接至多个NAND串。
沿着第一方向延伸的第二类型掺杂区1311至1314可以耦接至NAND串NS的另一端。沿着第一方向延伸的第二类型掺杂区1311至1314可以用作共享源极线CSL。
总结来说,存储块BLKi可以包括沿着一方向(例如,第二方向,垂直于衬底1111)延伸的多个NAND串NS,并可以操作作为NAND快闪存储块,例如电荷俘获型存储器,其中多个NAND串NS耦接至单个位线BL。
请参阅图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。在第二位线BL2与共享源极线CSL之间可以提供NAND串NS12至NS32,第二位线BL2可以对应于沿着第三方向延伸的导电材料1332。在第三位线BL3与共享源极线CSL之间可以提供NAND串NS13至NS33,第三位线BL3可以对应于沿着第三方向延伸的导电材料1333。
每一NAND串NS的串选择晶体管SST都可以耦接至对应的位线BL,每一NAND串NS的接地选择晶体管GST都可以耦接至共享源极线CSL。每一NAND串NS的串选择晶体管SST与接地选择晶体管GST之间都可以提供存储单元MC。
NAND串NS可以用行与列为单位来定义,共同耦接至单个位线的NAND串NS可以形成单一列,例如:耦接至第一位线BL1的NAND串NS11至NS31可以对应于第一列,耦接至第二位线BL2的NAND串NS12至NS32可以对应于第二列,耦接至第三位线BL3的NAND串NS13至NS33可以对应于第三列。
耦接至单串选择线SSL的NAND串NS可以形成单一行,例如:耦接至第一串选择线SSL1的NAND串NS11至NS31可以形成第一行,耦接至第二串选择线SSL2的NAND串NS21至NS23可以形成第二行,耦接至第三串选择线SSL3的NAND串NS31至NS33可以形成第三行。
每一NAND串NS都可以定义一高度,例如:在每一NAND串NS中,接地选择晶体管GST的高度可以定义为值“1”。在每一NAND串NS中,当从衬底1111起测量时,越靠近串选择晶体管SST,存储单元的高度就越高。在每一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。在预定高度或相同阶层上,相同行的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串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示出了被提供在每一NAND串NS中的第三存储单元MC3与第四存储单元MC4之间的虚设存储单元DMC。换言之,在虚设存储单元DNC与接地选择晶体管GST之间可以提供第一至第三存储单元MC1至MC3,在虚设存储单元DNC与串选择晶体管SST之间可以提供第四至第六存储单元MC4至MC6。在该实施例中,示范性假设每一NAND串NS中的存储单元MC都通过虚设存储单元DMC分成存储单元群组。存储单元群组之中的,与接地选择晶体管GST相邻的存储单元群组(例如MC1至MC3)可以称为下方存储单元群组。存储单元群组之中的与串选择晶体管SST相邻的存储单元群组(例如MC4至MC6)可以称为上方存储单元群组。
本文将参考图9至图13来描述包括一个或多个单元串的非易失性存储器件操作方法,其中单元串排列在与衬底垂直的方向上,与存储器控制器、串选择晶体管和接地选择晶体管耦接。运用操作方法,所述非易失性存储器件可以:被提供第一读取命令,以根据第一硬读取电压来执行第一应决策读取操作;获取硬决策数据;根据与第一硬决策读取电压不同的软读取电压来获取软决策数据;以及将软读取数据提供给存储器控制器。
图14至图16为示意性例示根据本发明实施例的3D非易失性存储器件的图示。图14至图16例示根据本发明实施例的以3D形式实施的半导体存储器件,例如快闪存储器件。
图14为例示图4A中所示存储块211中的一个存储块BLKj的透视图。图15为例示图14中所示存储块BLKj沿着VII-VII’线的剖面图。
请参阅图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方向上延伸。多个上方柱体DP形成,以穿透第五至第八导电材料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。
在上方柱体1113每一个之上可以形成漏极6340。例如:漏极6340可以包括n型硅材料。在漏极6340之上可以形成第一和第二上方导电材料层6351和6352。第一和第二上方导电材料层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耦接至对应位线。下方串与上方串可以通过管栅PG耦接。单一下方串与单一上方串可以形成单一单元串,其耦接在用作共享源极线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示出了第一和第二串ST1和ST2耦接至单一漏极选择线DSL以及单一源极选择线SSL。在另一个实施例中,第一和第二串ST1和ST2可以耦接至单一源极选择线SSL以及单一位线BL。在这种情况下,第一串ST1可以耦接至第一漏极选择线DSL1,并且第二串ST2可以耦接至第二漏极选择线DSL2。在另一个实施例中,第一和第二串ST1和ST2可以耦接至单一漏极选择线DSL以及单一位线BL。在这种情况下,第一串ST1可以耦接至第一源极选择线SSL1,并且第二串ST2可以耦接至第二源极选择线SSL2。
图17为示意性例示包括根据本发明实施例的存储器控制器15000与半导体存储器件16000的电子器件10000的框图。
请参阅图17,像是蜂窝电话、智能电话或平板PC的电子器件10000可以包括通过快闪存储器件实施的半导体存储器件16000以及用于控制半导体存储器件16000的存储器控制器15000。
半导体存储器件16000可以对应于上面参阅图3至图13所描述的半导体存储器件200。半导体存储器件16000可以储存随机数据。
存储器控制器15000可以对应于参阅图3至图13所描述的存储器控制器。存储器控制器15000可以由处理器11000控制,其控制电子器件10000的整体操作。
半导体存储器件16000中储存的数据可以在存储器控制器15000的控制之下通过显示器13000来示出。存储器控制器15000在处理器11000的控制之下操作。
无线电收发器12000可以通过天线ANT接收与输出无线电信号。例如:无线电收发器12000可以将接收自天线ANT的无线电信号转换成待由处理器11000处理的信号。因此,处理器11000可以处理来自无线电收发器12000的转换信号,并且可以将已处理的信号储存在半导体存储器件16000中。否则,处理器11000可以通过显示器13000示出已处理的信号。
无线电收发器12000可以将来自处理器11000的信号转换成无线电信号,并且可以通过天线ANT将转换的无线电信号输出至外部装置。
输入装置14000可以接收用来控制处理器11000的操作的控制信号,或要由处理器11000处理的数据,并且可以由指针设备来实施,例如触摸板或计算机鼠标、键区或键盘。
处理器11000可以控制显示器13000,使得可以通过显示器13000示出来自半导体存储器件16000的数据、来自无线电收发器12000的无线电信号或来自输入装置14000的数据。
图18为示意性例示包括根据本发明实施例的存储器控制器24000与半导体存储器件25000的电子器件20000的框图。
存储器控制器24000和半导体存储器件25000可以分别对应于上面参阅图3至图13所描述的存储器控制器100和半导体存储器件200。
请参阅图18,电子器件20000可以由数据处理器件来实施,例如个人计算机(PC)、平板计算机、网络笔记本电脑、电子书阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器或MP4播放器,并且可以包括例如快闪存储器件的半导体存储器件25000以及存储器控制器24000来控制半导体存储器件25000的操作的。
电子器件20000可以包括处理器21000,来控制电子器件20000的整体操作。存储器控制器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、平板PC、数字相机、数字音频播放器、移动电话、中控台游戏硬件或数字机顶盒,则主机可以通过卡接口31000以及控制器32000与半导体存储器件34000交换数据。
图20为示意性例示包括根据本发明实施例中存储器控制器44000与半导体存储器件45000的电子器件40000的框图。
存储器控制器44000和半导体存储器件45000可以分别对应于上面参阅图3至图13所描述的存储器控制器100和半导体存储器件200。
请参阅图20,电子器件40000可以包括例如快闪存储器件的半导体存储器件45000、控制半导体存储器件45000的数据处理操作的存储器控制器44000、以及控制电子器件40000整体操作的处理器41000。
进一步,电子器件40000的图像传感器42000可以将光学信号转换成数字信号,并且转换的数字信号可以在处理器41000的控制之下储存在半导体存储器件45000中。否则,转换的数字信号可以在处理器41000的控制之下通过显示器43000示出。
图21为示意性例示包括根据本发明实施例中存储器控制器61000与半导体存储器件62000A、62000B和62000C的电子器件60000的框图。
存储器控制器61000和半导体存储器件62000A、62000B和62000C可以分别对应于上面参阅图3至图13所描述的存储器控制器100和半导体存储器件200。
请参阅图21,电子器件60000可以由数据储存器件,例如固态硬盘(SSD)来实施。
电子器件60000可以包括多个半导体存储器件62000A、62000B和62000C,以及控制各种半导体存储器件62000A、62000B和62000C每一个的数据处理操作的存储器控制器61000。
电子器件60000可以由存储系统或存储器模块来实施。
例如:存储器控制器61000可以在电子器件60000之外或之中实施。
图22为包括参阅图21所描述电子器件6000的数据处理系统的框图。
请参阅图21和图22,数据储存器件70000可以由独立磁盘冗余阵列(RAID,redundant array of independent disks)系统来实施。数据储存器件70000可以包括RAID控制器71000以及多个存储系统72000A至72000N,其中N为自然数。
存储系统72000A至72000N每一个都可以对应于参阅图21描述的电子器件60000。存储系统72000A至72000N可以形成RAID系统。数据储存器件70000可以由SSD实施。
在编程操作期间,RAID控制器71000可以根据基于从主机输出的RAID阶层信息而从多个RAID阶层中选取的一个来将从主机输出的编程数据输出至存储系统72000A至72000N之一。
在编程操作期间,RAID控制器71000可以基于从主机输出的RAID阶层信息根据RAID阶层之一来将从存储系统72000A至72000N之一读取的数据传输给主机。
虽然已经针对特定实施例来描述本发明,然而精通技术人士将了解,在不背离如以下权利要求范围所定义的本发明精神与领域之下,可以进行各种变更与修改。
通过以上实施例可以看出,本申请提供了以下的技术方案。
技术方案1.一种控制器的操作方法,包括:
当对根据硬读取电压从半导体存储器件读取的数据所进行的第一ECC解码失败时,基于未满足故障校验USC的数量来产生一个或更多个量化间隔,其中USC的数量为第一ECC解码的结果;以及
通过根据由硬读取电压与量化间隔所确定的软读取电压而产生软读取数据,来对数据执行第二ECC解码。
技术方案2.如技术方案1所述的操作方法,其中第一ECC解码为低密度奇偶校验LDPC解码。
技术方案3.如技术方案2所述的操作方法,其中USC为由LDPC解码的故障校验所产生的向量的非零元素。
技术方案4.如技术方案3所述的操作方法,其中第一ECC解码包括:
通过根据硬读取电压而从半导体存储器件读取数据,来执行LDPC解码;以及
基于故障校验所产生的向量中所包括的USC,来确定第一ECC解码是否成功。
技术方案5.如技术方案1所述的操作方法,其中根据以下等式基于USC的数量来产生量化间隔,
[等式]
Δi=a X USCV1+b[步长]
其中“Δi”代表量化间隔之一、“i”代表量化间隔的索引、“USCV1”代表USC的数量并且“a”和“b”为通过启发式近似法或自半导体存储器件的特性所获得的系数值。
技术方案6.如技术方案5所述的操作方法,其中量化间隔是基于量化间隔表来产生的,其中量化间隔表使USC的数量作为其索引并且由所述等式预设。
技术方案7.如技术方案1所述的操作方法,其中,对响应于软读取电压而从半导体存储器件读取的数据执行第二ECC解码,其中每一软读取电压都与硬读取电压在电压电平方面相隔量化间隔之中对应的量化间隔。
技术方案8.如技术方案7所述的操作方法,其中,对根据软读取电压中的每一个而从半导体存储器件读取的数据执行第二ECC解码,直到第二ECC解码成功。
技术方案9.如技术方案1所述的操作方法,
其中第一ECC解码为硬决策解码,以及
其中第二ECC解码为软决策解码。
技术方案10.一种控制器,包括:
装置,用于:当对根据硬读取电压从半导体存储器件读取的数据所进行的第一ECC解码失败时,基于未满足故障校验USC的数量来产生一个或更多个量化间隔,其中USC的数量为第一ECC解码的结果;以及
装置,用于:通过根据由硬读取电压与量化间隔所确定的软读取电压而产生软读取数据,来对数据执行第二ECC解码。
技术方案11.如技术方案10所述的控制器,其中第一ECC解码为低密度奇偶校验LDPC解码。
技术方案12.如技术方案11所述的控制器,其中USC为由LDPC解码的故障校验所产生的向量的非零元素。
技术方案13.如技术方案12所述的控制器,还包括:
装置,用于:根据硬读取电压而从半导体存储器件读取数据,来执行LDPC解码;以及
装置,用于:基于故障校验所产生的向量中所包括的USC,来确定第一ECC解码是否成功。
技术方案14.如技术方案10所述的控制器,其中用于产生量化间隔的装置根据以下等式基于USC的数量来产生量化间隔,
[等式]
Δi=a X USCV1+b[步长]
其中“Δi”代表量化间隔之一、“i”代表量化间隔的索引、“USCV1”代表USC的数量并且“a”和“b”为通过启发式近似法或自半导体存储器件的特性所获得的系数值。
技术方案15.如技术方案14所述的控制器,其中用于产生量化间隔的装置根据量化间隔表来产生量化间隔,其中量化间隔表使USC的数量作为其索引并且由所述等式预设。
技术方案16.如技术方案10所述的控制器,其中用于执行第二ECC解码的装置对根据软读取电压而从半导体存储器件读取的数据执行第二ECC解码,其中每一软读取电压都与硬读取电压在电压电平方面相隔量化间隔之中的对应的量化间隔。
技术方案17.如技术方案16所述的控制器,其中用于执行第二ECC解码的装置对根据软读取电压中的每一个而从半导体存储器件读取的数据执行第二ECC解码,直到第二ECC解码成功。
技术方案18.如技术方案10所述的控制器,
其中第一ECC解码为硬决策解码,以及
其中第二ECC解码为软决策解码。
技术方案19.一种半导体存储系统,包括:
半导体存储器件;以及
控制器,
其中控制器包括:
装置,用于:当对根据硬读取电压从半导体存储器件读取的数据所进行的第一ECC解码失败时,基于未满足故障校验USC的数量来产生一个或更多个量化间隔,其中USC的数量为第一ECC解码的结果;以及
装置,用于:通过根据由硬读取电压与量化间隔所确定的软读取电压而产生软读取数据,来对数据执行第二ECC解码。
技术方案20.如技术方案19所述的半导体存储系统,其中USC为由低密度奇偶校验LDPC解码的故障校验所产生的向量的非零元素。
Claims (20)
1.一种控制器的操作方法,包括:
当对根据硬读取电压从半导体存储器件读取的数据所进行的第一ECC解码失败时,基于未满足故障校验USC的数量来产生一个或更多个量化间隔,其中USC的数量为第一ECC解码的结果;以及
通过根据由硬读取电压与量化间隔所确定的软读取电压而产生软读取数据,来对软读取数据执行第二ECC解码。
2.如权利要求1所述的操作方法,其中,第一ECC解码为低密度奇偶校验LDPC解码。
3.如权利要求2所述的操作方法,其中,USC为由LDPC解码的故障校验所产生的向量的非零元素。
4.如权利要求3所述的操作方法,其中,第一ECC解码包括:
通过根据硬读取电压而从半导体存储器件读取数据,来执行LDPC解码;以及
基于故障校验所产生的向量中所包括的USC,来确定第一ECC解码是否成功。
5.如权利要求1所述的操作方法,其中根据以下等式基于USC的数量来产生量化间隔,
[等式]
Δi=a×USCV1+b×步长
其中“Δi”代表量化间隔之一、“i”代表量化间隔的索引、“USCV1”代表USC的数量并且“a”和“b”为通过启发式近似法或自半导体存储器件的特性所获得的系数值。
6.如权利要求5所述的操作方法,其中,量化间隔是基于量化间隔表来产生的,其中量化间隔表使USC的数量作为其索引并且由所述等式预设。
7.如权利要求1所述的操作方法,其中,对响应于软读取电压而从半导体存储器件读取的数据执行第二ECC解码,其中每一软读取电压都与硬读取电压在电压电平方面相隔量化间隔之中对应的量化间隔。
8.如权利要求7所述的操作方法,其中,对根据软读取电压中的每一个而从半导体存储器件读取的数据执行第二ECC解码,直到第二ECC解码成功。
9.如权利要求1所述的操作方法,
其中,第一ECC解码为硬决策解码,以及
其中,第二ECC解码为软决策解码。
10.一种控制器,包括:
量化间隔产生单元,用于:当对根据硬读取电压从半导体存储器件读取的数据所进行的第一ECC解码失败时,基于未满足故障校验USC的数量来产生一个或更多个量化间隔,其中USC的数量为第一ECC解码的结果;以及
ECC单元,用于:通过根据由硬读取电压与量化间隔所确定的软读取电压而产生软读取数据,来对软读取数据执行第二ECC解码。
11.如权利要求10所述的控制器,其中,第一ECC解码为低密度奇偶校验LDPC解码。
12.如权利要求11所述的控制器,其中,USC为由LDPC解码的故障校验所产生的向量的非零元素。
13.如权利要求12所述的控制器,其中:
通过根据硬读取电压而从半导体存储器件读取数据,来执行LDPC解码;以及
基于故障校验所产生的向量中所包括的USC,来确定第一ECC解码是否成功。
14.如权利要求10所述的控制器,其中,用于产生量化间隔的量化间隔产生单元根据以下等式基于USC的数量来产生量化间隔,
[等式]
Δi=a×USCV1+b×步长
其中,“Δi”代表量化间隔之一、“i”代表量化间隔的索引、“USCV1”代表USC的数量并且“a”和“b”为通过启发式近似法或自半导体存储器件的特性所获得的系数值。
15.如权利要求14所述的控制器,其中,用于产生量化间隔的量化间隔产生单元根据量化间隔表来产生量化间隔,其中量化间隔表使USC的数量作为其索引并且由所述等式预设。
16.如权利要求10所述的控制器,其中,用于执行第二ECC解码的ECC单元对根据软读取电压而从半导体存储器件读取的数据执行第二ECC解码,其中每一软读取电压都与硬读取电压在电压电平方面相隔量化间隔之中的对应的量化间隔。
17.如权利要求16所述的控制器,其中,用于执行第二ECC解码的ECC单元对根据软读取电压中的每一个而从半导体存储器件读取的数据执行第二ECC解码,直到第二ECC解码成功。
18.如权利要求10所述的控制器,
其中,第一ECC解码为硬决策解码,以及
其中,第二ECC解码为软决策解码。
19.一种半导体存储系统,包括:
半导体存储器件;以及
控制器,
其中控制器包括:
量化间隔产生单元,用于:当对根据硬读取电压从半导体存储器件读取的数据所进行的第一ECC解码失败时,基于未满足故障校验USC的数量来产生一个或更多个量化间隔,其中USC的数量为第一ECC解码的结果;以及
ECC单元,用于:通过根据由硬读取电压与量化间隔所确定的软读取电压而产生软读取数据,来对软读取数据执行第二ECC解码。
20.如权利要求19所述的半导体存储系统,其中,USC为由低密度奇偶校验LDPC解码的故障校验所产生的向量的非零元素。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150025192A KR20160102738A (ko) | 2015-02-23 | 2015-02-23 | 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법 |
KR10-2015-0025192 | 2015-02-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105913879A CN105913879A (zh) | 2016-08-31 |
CN105913879B true CN105913879B (zh) | 2020-08-28 |
Family
ID=56690445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510671818.0A Active CN105913879B (zh) | 2015-02-23 | 2015-10-15 | 控制器、半导体存储系统及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9698827B2 (zh) |
KR (1) | KR20160102738A (zh) |
CN (1) | CN105913879B (zh) |
TW (1) | TWI676178B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9977713B2 (en) * | 2015-03-20 | 2018-05-22 | SK Hynix Inc. | LDPC decoder, semiconductor memory system and operating method thereof |
JP6605359B2 (ja) * | 2016-03-02 | 2019-11-13 | ルネサスエレクトロニクス株式会社 | 半導体装置及びメモリアクセス制御方法 |
US9761325B1 (en) * | 2016-03-14 | 2017-09-12 | Toshiba Memory Corporation | Memory system |
TWI584304B (zh) * | 2016-05-23 | 2017-05-21 | 大心電子(英屬維京群島)股份有限公司 | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
KR102257050B1 (ko) * | 2017-05-26 | 2021-05-27 | 에스케이하이닉스 주식회사 | 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법 |
US10354738B2 (en) * | 2017-09-27 | 2019-07-16 | Micron Technology, Inc. | One check fail byte (CFBYTE) scheme |
KR20190043043A (ko) * | 2017-10-17 | 2019-04-25 | 에스케이하이닉스 주식회사 | 전자장치 |
US10297304B1 (en) * | 2017-11-12 | 2019-05-21 | Nanya Technology Corporation | Memory device and operating method thereof |
US11070234B2 (en) * | 2018-03-16 | 2021-07-20 | SK Hynix Inc. | Memory system with hybrid decoding scheme with information exchange and method of operating such memory system |
KR102540772B1 (ko) | 2018-04-30 | 2023-06-08 | 에스케이하이닉스 주식회사 | 에러 정정 회로 및 이의 동작 방법 |
KR102654297B1 (ko) | 2018-08-27 | 2024-04-04 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
KR102535110B1 (ko) * | 2018-10-01 | 2023-05-23 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
JP7237674B2 (ja) * | 2019-03-19 | 2023-03-13 | キオクシア株式会社 | メモリシステム |
KR20200130008A (ko) * | 2019-05-10 | 2020-11-18 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
US11112982B2 (en) * | 2019-08-27 | 2021-09-07 | Micron Technology, Inc. | Power optimization for memory subsystems |
CN112634972B (zh) * | 2019-09-24 | 2023-08-15 | 群联电子股份有限公司 | 电压识别方法、存储器控制电路单元以及存储器储存装置 |
JP2021141369A (ja) * | 2020-03-02 | 2021-09-16 | キオクシア株式会社 | メモリシステム |
WO2022213320A1 (zh) * | 2021-04-08 | 2022-10-13 | 中国科学院微电子研究所 | 用于闪存的数据恢复方法 |
KR102345067B1 (ko) * | 2021-08-25 | 2021-12-29 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 컨트롤러의 구동 방법 |
US11990185B2 (en) | 2022-08-15 | 2024-05-21 | Sandisk Technologies Llc | Dynamic word line reconfiguration for NAND structure |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080088050A (ko) * | 2007-03-28 | 2008-10-02 | 삼성전자주식회사 | 읽기 레벨 제어 장치 및 그 방법 |
CN101512661A (zh) * | 2006-05-12 | 2009-08-19 | 爱诺彼得技术有限责任公司 | 用于存储设备的失真估计与纠错编码的组合 |
WO2010019169A1 (en) * | 2008-08-15 | 2010-02-18 | Lsi Corporation | Rom list-decoding of near codewords |
CN102985975A (zh) * | 2010-03-12 | 2013-03-20 | Lsi公司 | 闪存的低密度奇偶校验擦除译码 |
US8656245B2 (en) * | 2011-04-13 | 2014-02-18 | California Institute Of Technology | Method of error floor mitigation in low-density parity-check codes |
CN103973316A (zh) * | 2013-02-04 | 2014-08-06 | Sk海尼克斯存储技术公司 | 具有使用定标常数的可变节点更新器的ldpc解码器 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4740968A (en) * | 1986-10-27 | 1988-04-26 | International Business Machines Corporation | ECC circuit failure detector/quick word verifier |
US7197690B2 (en) | 2002-05-31 | 2007-03-27 | Broadcom Corporation | Bandwidth efficient coded modulation scheme based on MLC (multi-level code) signals having multiple maps |
US7020829B2 (en) | 2002-07-03 | 2006-03-28 | Hughes Electronics Corporation | Method and system for decoding low density parity check (LDPC) codes |
JP2006517048A (ja) * | 2003-01-21 | 2006-07-13 | エルジー エレクトロニクス インコーポレーテッド | エラー訂正ブロックをエンコーディング及びデコーディングする方法 |
US7383487B2 (en) | 2004-01-10 | 2008-06-03 | Broadcom Corporation | IPHD (iterative parallel hybrid decoding) of various MLC (multi-level code) signals |
CN101091319B (zh) | 2004-12-29 | 2013-01-02 | 英特尔公司 | 多级低密度奇偶校验 |
KR20060106041A (ko) | 2005-04-06 | 2006-10-12 | 이광재 | 반-비아씨엠 기법을 이용하는 다중 레벨 부호 송수신기 |
KR101202537B1 (ko) * | 2006-05-12 | 2012-11-19 | 애플 인크. | 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩 |
US7966550B2 (en) * | 2007-03-31 | 2011-06-21 | Sandisk Technologies Inc. | Soft bit data transmission for error correction control in non-volatile memory |
US7958429B2 (en) * | 2007-07-02 | 2011-06-07 | Broadcom Corporation | Distributed processing LDPC (low density parity check) decoder |
KR101267798B1 (ko) | 2007-08-09 | 2013-06-04 | 삼성전자주식회사 | 읽기 레벨 제어 장치 및 그 방법 |
KR101437396B1 (ko) * | 2008-02-27 | 2014-09-05 | 삼성전자주식회사 | 레이턴시를 줄일 수 있는 에러 정정 블록을 포함하는메모리 시스템 및 그것의 에러 정정 방법 |
US8406048B2 (en) | 2008-08-08 | 2013-03-26 | Marvell World Trade Ltd. | Accessing memory using fractional reference voltages |
US8504887B1 (en) * | 2009-12-24 | 2013-08-06 | Marvell International Ltd. | Low power LDPC decoding under defects/erasures/puncturing |
US8365055B2 (en) * | 2010-06-24 | 2013-01-29 | International Business Machines Corporation | High performance cache directory error correction code |
KR101718543B1 (ko) | 2010-11-17 | 2017-03-22 | 한국과학기술원 | 개선된 비트 반전 알고리즘 기반의 저밀도 패리티 검사 부호를 위한 복호 방법, 장치 및 이를 위한 기록 매체 |
US8719663B2 (en) | 2010-12-12 | 2014-05-06 | Lsi Corporation | Cross-decoding for non-volatile storage |
US8484519B2 (en) | 2011-08-19 | 2013-07-09 | Stec, Inc. | Optimal programming levels for LDPC |
US8644067B2 (en) * | 2011-11-30 | 2014-02-04 | Sandisk Technologies Inc. | Systems and methods of decoding data using soft bits at a non-binary decoder that uses probabilistic decoding |
US8869008B2 (en) * | 2013-01-17 | 2014-10-21 | Apple Inc. | Adaptation of analog memory cell read thresholds using partial ECC syndromes |
US9231619B2 (en) * | 2013-02-04 | 2016-01-05 | SK Hynix Inc. | LDPC decoder with a variable node updater which uses a scaling constant |
KR102149668B1 (ko) * | 2014-04-22 | 2020-08-31 | 삼성전자주식회사 | 비휘발성 메모리 장치의 데이터 디코딩 방법 |
US9329935B2 (en) * | 2014-05-19 | 2016-05-03 | Seagate Technology Llc | Method to dynamically update LLRs in an SSD drive and/or controller |
-
2015
- 2015-02-23 KR KR1020150025192A patent/KR20160102738A/ko unknown
- 2015-06-18 TW TW104119892A patent/TWI676178B/zh active
- 2015-06-18 US US14/743,914 patent/US9698827B2/en active Active
- 2015-10-15 CN CN201510671818.0A patent/CN105913879B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101512661A (zh) * | 2006-05-12 | 2009-08-19 | 爱诺彼得技术有限责任公司 | 用于存储设备的失真估计与纠错编码的组合 |
KR20080088050A (ko) * | 2007-03-28 | 2008-10-02 | 삼성전자주식회사 | 읽기 레벨 제어 장치 및 그 방법 |
WO2010019169A1 (en) * | 2008-08-15 | 2010-02-18 | Lsi Corporation | Rom list-decoding of near codewords |
CN102985975A (zh) * | 2010-03-12 | 2013-03-20 | Lsi公司 | 闪存的低密度奇偶校验擦除译码 |
US8656245B2 (en) * | 2011-04-13 | 2014-02-18 | California Institute Of Technology | Method of error floor mitigation in low-density parity-check codes |
CN103973316A (zh) * | 2013-02-04 | 2014-08-06 | Sk海尼克斯存储技术公司 | 具有使用定标常数的可变节点更新器的ldpc解码器 |
Also Published As
Publication number | Publication date |
---|---|
CN105913879A (zh) | 2016-08-31 |
TW201631597A (zh) | 2016-09-01 |
KR20160102738A (ko) | 2016-08-31 |
TWI676178B (zh) | 2019-11-01 |
US20160246673A1 (en) | 2016-08-25 |
US9698827B2 (en) | 2017-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105913879B (zh) | 控制器、半导体存储系统及其操作方法 | |
CN105529049B (zh) | 控制器、半导体存储系统、数据储存系统及其操作方法 | |
CN105957553B (zh) | 控制器、半导体存储系统及其操作方法 | |
CN106128510B (zh) | 控制器、半导体存储系统及其操作方法 | |
US9798614B2 (en) | Controller, semiconductor memory system and operating method thereof | |
US9977713B2 (en) | LDPC decoder, semiconductor memory system and operating method thereof | |
US10103749B2 (en) | LDPC decoder, semiconductor memory system and operating method thereof | |
US9825651B2 (en) | Controller, semiconductor memory system and operating method thereof | |
US20160247576A1 (en) | Memory controller and operating method thereof | |
US10521291B2 (en) | Controller, semiconductor memory system and operating method thereof | |
KR102556479B1 (ko) | Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법 | |
KR20200046496A (ko) | Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법 | |
KR20180018069A (ko) | 메모리 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법 | |
US20170097870A1 (en) | Operating method of memory system | |
US11387845B2 (en) | LDPC decoder, operating method of LDPC decoder, and semiconductor memory system | |
KR102530269B1 (ko) | Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법 |
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 |