CN107240419B - 读取快闪存储器中所储存的数据的方法、存储器控制器与系统 - Google Patents
读取快闪存储器中所储存的数据的方法、存储器控制器与系统 Download PDFInfo
- Publication number
- CN107240419B CN107240419B CN201710423555.0A CN201710423555A CN107240419B CN 107240419 B CN107240419 B CN 107240419B CN 201710423555 A CN201710423555 A CN 201710423555A CN 107240419 B CN107240419 B CN 107240419B
- Authority
- CN
- China
- Prior art keywords
- codeword
- memory
- error correction
- lsb
- bit
- 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.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims abstract description 444
- 238000000034 method Methods 0.000 title abstract description 17
- 238000012937 correction Methods 0.000 claims abstract description 135
- 238000013507 mapping Methods 0.000 claims description 26
- 238000012549 training Methods 0.000 claims description 15
- 238000012512 characterization method Methods 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 24
- 238000003860 storage Methods 0.000 description 22
- 238000009826 distribution Methods 0.000 description 19
- 230000014759 maintenance of location Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
Images
Classifications
-
- 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
- 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/1072—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 multilevel memories
Abstract
依据本发明的一实施例,一种用以读取储存在一快闪存储器的数据的方法被揭露,该方法包含:控制该快闪存储器对该快闪存储器的一第一存储器分页执行一读取运作;取得该第一存储器分页的一第一码字;依据一第一概似比对应规则取得该第一码字的一第一组概似比对应值;依据该第一组概似比对应值进行一错误更正运作;若依据该第一组概似比对应值进行该错误更正运作指示一不可更正的结果,则依据一第二概似比对应规则取得该第一码字的一第二组概似比对应值;以及依据该第二组概似比对应值进行该错误更正运作。
Description
本申请是中国申请号为201310056538.X、申请日为2013年2月21日、题为“读取快闪存储器中所储存的数据的方法、存储器控制器与系统”的申请的分案申请。
【技术领域】
本发明有关于读取快闪存储器(flash memory)中所储存的数据,尤指一种通过参照快闪存储器的存储单元(memory cell)所读出的位元序列(bitsequence)的二进位数字分布特性(binary digit distributioncharacteristic)来读取快闪存储器中所储存的数据的方法与存储器控制器。
【背景技术】
快闪存储器可通过电子式的抹除(erase)与写入/程式化(program)以进行数据储存,并且广泛地应用于存储卡(memory card)、固态硬盘(solid-statedrive)与可携式多媒体播放器等等。由于快闪存储器系为非挥发性(non-volatile)存储器,因此,不需要额外电力来维持快闪存储器所储存的资讯,此外,快闪存储器可提供快速的数据读取与较佳的抗震能力,而这些特性也说明了快闪存储器为何会如此普及的原因。
快闪存储器可区分为NOR型快闪存储器与NAND型快闪存储器。对于NAND型快闪存储器来说,其具有较短的抹除及写入时间且每一存储器单元需要较少的晶片面积,因而相较于NOR型快闪存储器,NAND型快闪存储器会允许较高的储存密度以及较低的每一储存位元的成本。一般来说,快闪存储器以存储器单元阵列的方式来储存数据,而存储器单元是由一浮动栅极晶体管(floating-gate transistor)来加以实作,且每一存储器单元可通过适当地控制浮动栅极晶体管的浮动栅极上的电荷个数来设定导通该浮动栅极晶体管所实作的该存储器单元的所需临界电压,进而储存单一个位元的资讯或者一个位元以上的资讯,如此一来,当一或多个预定控制栅极电压施加于浮动栅极晶体管的控制栅极的上,则浮动栅极晶体管的导通状态便会指示出浮动栅极晶体管中所储存之一或多个二进位数字(binary digit)。
然而,由于某些因素,快闪存储器单元中原本储存的电荷的个数可能会受到影响/扰乱,举例来说,快闪存储器中所存在的干扰可能来自于写入干扰(write/programdisturbance)、读取干扰(read disturbance)及/或保持干扰(retention disturbance)。以具有各自储存一个位元以上的资讯的存储器单元的NAND型快闪存储器为例,一个实体存储器分页(physical page)会包含多个逻辑存储器分页(logical page),且每一逻辑存储器分页采用一或多个控制栅极电压来进行读取。举例来说,对于一个用以储存3个位元的资讯的快闪存储器单元来说,该快闪存储器单元会具有分别对应不同电荷个数(亦即不同临界电压)的8种状态(亦即电荷位准)的其中之一,然而,由于写入/抹除次数(program/erasecount,P/E count)及/或数据保留时间(retention time)的缘故,快闪存储器单元中的存储器单元的临界电压分布(threshold voltagedistribution)便会有所改变,因此,使用原本的控制栅极电压设定(亦即临界电压设定)来读取存储器单元中所储存的资讯可能会因为改变后的临界变压分布而无法正确地获得所储存的资讯。
利用不同的控制栅极电压设定以读取快闪存储器可能有较高的机会得到正确的储存资讯。然而,储存所有利用不同控制栅极电压设定所取得的资讯可能需要更多的存储空间。除此之外,利用不同的控制栅极电压设定以读取快闪存储器可能会造成较长的读取时间,因此,需要一个更有效率的读取或解码程序。
【发明内容】
因此,本发明的目的之一在于提供一种读取快闪存储器中所储存的数据的方法、存储器控制器与装置,以解决上述问题。读取快闪存储器中所储存的数据的方法、存储器控制器与装置。
依据本发明的一实施例,一种用以读取储存在一快闪存储器的数据的方法被揭露,该方法包含:控制该快闪存储器对该快闪存储器的一第一存储器分页执行一读取运作;取得该第一存储器分页的一第一码字;依据一第一概似比对应规则取得该第一码字的一第一组概似比对应值;依据该第一组概似比对应值进行一错误更正运作;若依据该第一组概似比对应值进行该错误更正运作指示一不可更正的结果,则依据一第二概似比对应规则取得该第一码字的一第二组概似比对应值;以及依据该第二组概似比对应值进行该错误更正运作。
依据本发明的另一实施例,揭露了一种用以读取储存在一快闪存储器的数据的存储器控制器,该存储器控制器包含:一控制逻辑电路,用以控制该快闪存储器对该快闪存储器的一第一存储器分页执行一读取运作以取得该第一存储器分页的一第一码字;一概似比对应单元,用以依据一第一概似比对应规则取得该第一码字的一第一组概似比对应值;以及一解码电路,用以依据该第一组概似比对应值进行一错误更正运作,其中若依据该第一组概似比对应值进行该错误更正运作指示一不可更正的结果时,则该概似比对应单元更用于依据一第二概似比对应规则取得该第一码字的一第二组概似比对应值,而该解码电路更用于依据该第二组概似比对应值进行该错误更正运作。
依据本发明另一实施例,揭露了一种用以读取储存在一快闪存储器的数据的存储器系统,该存储器系统包含:一控制逻辑电路,用以控制该快闪存储器对该快闪存储器的一第一存储器分页执行一读取运作以取得该第一存储器分页的一第一码字;一概似比对应单元,用以依据一第一概似比对应规则取得该第一码字的一第一组概似比对应值;以及一解码电路,用以依据该第一组概似比对应值进行一错误更正运作,其中若依据该第一组概似比对应值进行该错误更正运作指示一不可更正的结果时,则该概似比对应单元更用于依据一第二概似比对应规则取得该第一码字的一第二组概似比对应值,而该解码电路更用于依据该第二组概似比对应值进行该错误更正运作。
【附图说明】
图1为本发明存储器系统的第一实施例的示意图。
图2为要被读取的实体存储器分页P_0的第一种临界电压分布的示意图。
图3为要被读取的实体存储器分页P_0的第二种临界电压分布的示意图。
图4为从快闪存储器1100之一存储器单元中读取一软位元的最低有效位元读取操作的示意图。
图5示于图1的编码器1223的方块图。
图6说明对读自快闪存储器单元的二进位数字进行编码的示意图。
图7说明对读自快闪存储器单元的二进位数字进行编码以取得正确数据的示意图。
图8说明对读自快闪存储器单元的二进位数字进行编码以取得正确数据的示意图。
图9说明对读自快闪存储器单元的二进位数字进行编码以取得正确数据的示意图。
图10说明码字与存储器单元的对应关系的示意图。
图11用以说明解码单元1228的方块图。
图12说明读取储存在快闪存储器的数据的程序的流程图。
图13说明目标实体存储器分页的临界电压分布的示意图。
【主要元件符号说明】
1000~存储器系统;
1100~快闪存储器;
1110~存储器单元;
1200~存储器控制器;
1210~控制逻辑电路;
1220~错误更正电路;
1222~错误更正解码器;
1223~编码器;
1224~比较单元;
1225~判断单元;
1227~储存装置;
1228~解码单元;
1229~错误更正编码器;
12280~概似比训练单元;
12282~概似比对应单元;
12284~解码电路;
200~214~步骤。
【具体实施方式】
在说明书及后续的申请专利范围当中使用了某些词汇来指称特定的元件。所属领域中具有通常知识者应可理解,制造商可能会用不同的名词来称呼同样的元件。本说明书及后续的申请专利范围并不以名称的差异来作为区别元件的方式,而是以元件在功能上的差异来作为区别的基准。在通篇说明书及后续的请求项当中所提及的「包含」为一开放式的用语,故应解释成「包含但不限定于」。此外,「耦接」一词在此包含任何直接及间接的电气连接手段。因此,若文中描述一第一装置电性连接于一第二装置,则代表该第一装置可直接连接于该第二装置,或通过其他装置或连接手段间接地连接至该第二装置。
请注意到,读取NAND型快闪存储器的实体存储器分页中的存储器单元所储存的多个位元仅是作为一实施例,以说明本发明的技术特征,然而,无论快闪存储器是NAND型快闪存储器或是具有其它类型的快闪存储器(例如NOR型快闪存储器),只要是将从不同读取运作中所取得的二进位数字编码成码字以进行错误更正运作,均符合本发明的精神。
请参阅图1,其为本发明存储器系统的第一实施例的示意图。存储器系统1000包含有一快闪存储器1100以及一存储器控制器(memory controller)1200,于本实施例中,快闪存储器1100可以是包含多个实体存储器分页P_0、P_1、P_2、…、P_N的NAND型快闪存储器,其中实体存储器分页P_0~P_N中的每一实体存储器分页包含有多个存储器单元(例如浮动栅极晶体管)1110,举例来说,对于要被读取之一目标实体存储器分页P_0来说,其包含有存储器单元M_0~M_K。为了读取目标实体存储器分页P_0的存储器单元M_0~M_K中所储存的数据,控制栅极电压VG_0~VG_N便应该要适当地设定,例如,控制栅极电压VG_0~VG_N应该要适当地设定以确保实体存储器分页P_1~P_N中所有的存储器单元(浮动栅极存储器)1110均处于导通状态。假若每一存储器单元1110是用以储存N个位元(例如,包含最低有效位元(least significant bit,LSB)、中间有效位元(central significant bit,CSB)与最高有效位元(mostsignificant bit,MSB)的3个位元),则快闪存储器1100会将控制栅极电压VG_0设定为(2N-1)个电压准位,以便辨识出目标实体存储器分页P_0中每一存储器单元1110的N个位元。
请参阅图2,其为要被读取的实体存储器分页P_0的第一种临界电压分布的示意图。实体存储器分页P_0的存储器单元M_0~M_K可包含有具有浮动栅极被程式化(programmed)为具有电荷位准L0(亦即(MSB,CSB,LSB)=(1,1,1))的存储器单元、具有浮动栅极被程式化为具有电荷位准L1(亦即(MSB,CSB,LSB)=(0,1,1))的存储器单元、具有浮动栅极被程式化为具有电荷位准L2(亦即(MSB,CSB,LSB)=(0,0,1))的存储器单元、具有浮动栅极被程式化为具有电荷位准L3(亦即(MSB,CSB,LSB)=(1,0,1))的存储器单元、具有浮动栅极被程式化为具有电荷位准L4(亦即(MSB,CSB,LSB)=(1,0,0))的存储器单元、具有浮动栅极被程式化为具有电荷位准L5(亦即(MSB,CSB,LSB)=(0,0,0))的存储器单元、具有浮动栅极被程式化为具有电荷位准L6(亦即(MSB,CSB,LSB)=(0,1,0))的存储器单元以及具有浮动栅极被程式化为具有电荷位准L7(亦即(MSB,CSB,LSB)=(1,1,0))的存储器单元。
为了辨识出存储器单元M_0~M_K的最低有效位元,快闪存储器1100便将控制栅极电压VG_0设定为图2所示的临界电压VT_4,接着,实体存储器分页P_0中每一存储器单元的导通状态便会指示出该存储器单元所具有的最低有效位元是”0”或”1”。于本实施例中,当实体存储器分页P_0中之一存储器单元被施加于其控制栅极的临界电压VT_4所导通时,快闪存储器1100将会输出代表其最低有效位元之一个二进位数字”1”;否则,快闪存储器1100将会输出代表其最低有效位元的另一个二进位数字”0”。
为了辨识出存储器单元M_0~M_K的中间有效位元,快闪存储器1100便将控制栅极电压VG_0分别设定为图2所示的临界电压VT_2与VT_6,同样地,实体存储器分页P_0中每一存储器单元的导通状态便会指示出该存储器单元所具有的中间有效位元是”0”或”1”。于本实施例中,当一存储器单元会被施加于其控制栅极的临界电压VT_2与VT_6中的任一个所导通时,快闪存储器1100将会输出代表其中间有效位元之一个二进位数字”1”;当该存储器单元不会被施加于其控制栅极的临界电压VT_2所导通,但是却会被施加于其控制栅极的临界电压VT_6所导通时,快闪存储器1100将会输出代表其中间有效位元之一个二进位数字”0”;以及当该存储器单元除了不会被施加于其控制栅极的临界电压VT_2所导通,也不会被施加于其控制栅极的临界电压VT_6所导通时,快闪存储器1100将会输出代表其中间有效位元之一个二进位数字”1”。
为了辨识出存储器单元M_0~M_K的最高有效位元,快闪存储器1100便将控制栅极电压VG_0分别设定为图2所示的临界电压VT_1、VT_3、VT_5与VT_7,同样地,实体存储器分页P_0中每一存储器单元的导通状态便会指示出该存储器单元所具有的最高有效位元是”0”或”1”。于本实施例中,当一存储器单元会被施加于其控制栅极的临界电压VT_1、VT_3、VT_5与VT_7中的任一个所导通时,快闪存储器1100将会输出代表其最高有效位元之一个二进位数字”1”;当该存储器单元不会被施加于其控制栅极的临界电压VT_1所导通,但是却会被施加于其控制栅极的临界电压VT_3、VT_5与VT_7中的任一个所导通时,快闪存储器1100将会输出代表其最高有效位元之一个二进位数字”0”;当该存储器单元不会被施加于其控制栅极的临界电压VT_1与VT_3中的任一个所导通,但是却会被施加于其控制栅极的临界电压VT_5与VT_7中的任一个所导通时,快闪存储器1100将会输出代表其最高有效位元之一个二进位数字”1”;当该存储器单元不会被施加于其控制栅极的临界电压VT_1、VT_3与VT_5中的任一个所导通,但是却会被施加于其控制栅极的临界电压VT_7所导通时,快闪存储器1100将会输出代表其最高有效位元之一个二进位数字”0”;以及当该存储器单元不会被施加于其控制栅极的临界电压VT_1、VT_3、VT_5与VT_7中的任一个所导通时,快闪存储器1100将会输出代表其最高有效位元之一个二进位数字”1”。
然而,图2所示的临界电压分布可能会因为某些因素(例如写入/读取次数及/或数据保留时间的增加)的影响而改变为另一个临界电压分布,举例来说,对应至每一电荷位准的圆形突出状的分布可能会变宽及/或产生偏移。请参阅图3,其为要被读取的实体存储器分页P_0的第二种临界电压分布的示意图。由图3可得知,临界电压分布不同于图2所示的临界电压分布。将控制栅极电压VG_0设定为上述的临界电压VT_1~VT_7将无法正确地获得目标实体存储器分页P_0的存储器单元M_0~M_K的最低有效位元、中间有效位元与最高有效位元进一步来说,当存储器单元M_0~M_K具有图3所示的临界电压分布时,应该要采用新的临界电压VT_1’~VT_7’以便正确地获得所储存的资讯,否则的话,施加于存储器单元M_0~M_K所读出的码字(codeword)的错误更正(error correctioncode,ECC)操作便会因为码字中无法更正的(uncorrectable)错误而无法成功运行。于本实施例中,存储器控制器1200是设计来适应性地对存储器单元M_0~M_K所读取的码字执行软解码以增强解码能力。细节于后详述。
请再次参阅图1。存储器控制器1200是用以控制快闪存储器1100的存取(读取/写入),并且包含有(但不局限于)一控制逻辑电路1210以及一错误更正电路(ECC circuit,其具有一错误更正解码器1222、一错误更正编码器1229以及一临界电压追踪单元)。请注意,图1仅显示与本发明的技术特征有关的元件,亦即,存储器控制器1200亦可包含额外的元件来支援其它的功能。一般来说,当接收到针对目标实体存储器分页P_0中存储器单元M_0~M_K所储存的数据之一读取请求(read request)时,控制逻辑电路1210会因应该读取请求而控制快闪存储器1100来读取所要求的数据(requested data),接着,当快闪存储器1100成功地辨识出存储器单元M_0~M_K中每一存储器单元所储存的所有位元时,包含有存储器单元M_0~M_K的已辨识出的位元的读出资讯便会被控制逻辑电路1210所接收。如熟习技艺者所知,位于一实体存储器分页中之一部份存储器单元是用来储存错误更正资讯(例如一错误更正码(ECC code)),因此,错误更正电路1220便是用来针对由快闪存储器1100所读取出来的读出资讯(例如一码字)进行一错误更正操作。于本实施例中,错误更正电路1220包含有一错误更正解码器(ECC decoder)1222以及一错误更正编码器(ECCcorrector)1229。错误更正解码器1222是用来检查读出资讯的正确性,以藉此检测任何错误位元的存在。错误更正解码器1222亦用于对检查过的读出资讯中所发现到的错误位元进行更正然而,当读出资讯中实际存在的错误位元的数量超过了错误更正解码器1222有办法依照硬解码(例如BCH(Bose-Chaudhuri-Hocquenghem的方式))更正的错误位元的最大数量时,错误更正解码器1222便会指示控制逻辑电路1210读出资讯中包含有无法更正的错误。如此一来,控制逻辑电路1210将会启动软读取(soft read)机制以取得软资讯,该些软资讯可被ECC解码器1222用来进行软解码机制。该临界电压追踪单元用于通过比较读出资讯以判断临界电压移动方向以及判断一最佳临界电压。细节于后详述。
于本实施例中,错误更正解码器1222可由低密度同位检查(low densityparity-check,LDPC)解码器来加以实作,控制逻辑电路1210控制快闪存储器1100来提供要被LDPC解码器所解码的软资讯(soft information),所以,在控制逻辑电路1210的控制的下,快闪存储器1100便输出多个二进位数字来作为各个存储器单元M_0~M_K所读取出来的软位元(soft bit)。进一步来说,当进行最低有效位元数据的读取、中间有效位元数据的读取或最高有效位元数据的读取时,控制逻辑电路1210是用以控制快闪存储器1100来针对目标实体存储器分页的存储器单元M_0~M_K中的每一存储器单元执行多次读取操作(例如7次读取操作)。
请参阅图4,其为从快闪存储器1100之一存储器单元中读取一软位元(亦即软资讯数值)的最低有效位元读取操作的示意图。依据图2与图3所示的临界电压分布的范例,具有电荷位准L0~L3中任一个电荷位准的存储器单元将会储存LSB=1,以及具有电荷位准L4~L7中任一个电荷位准的存储器单元则会储存LSB=0。于本实施例中,控制逻辑电路1210决定一初始控制栅极电压VLSB以及一电压间距(voltage spacing)D,接着控制快闪存储器1100来针对存储器单元M_0~M_K中的每一存储器单元执行7次读取操作,而基于电压调整次序(voltage adjusting order)OD1,快闪存储器1100会依序以VLSB、VLSB+D、VLSB-D、VLSB+2D、VLSB-2D、VLSB+3D、VLSB-3D来设定控制栅极电压VG_0,因此,由于所施加的栅极控制电压VLSB、VLSB+D、VLSB-D、VLSB+2D、VLSB-2D、VLSB+3D、VLSB-3D的缘故,位元序列BS_0~BS_M中的每一位元序列都会依序得到7个位元。请注意,位元序列BS_0~BS_M中的每一位元序列作为一软位元,其代表由一存储器单元所读取出来的软资讯,且通过初始控制栅极电压VLSB所获得的二进位数字可作为一正负号位元(sign bit)(亦即硬位元(hard bit)数值)。利用初始控制栅极电压VLSB所进行的读取运作可视为一般读取运作。而利用控制栅极电压VLSB+D、VLSB-D、VLSB+2D、VLSB-2D、VLSB+3D、VLSB-3D所进行的读取运作可分别视为重读运作1~6。
于本实施例中,每一位元序列具有八种可能的二进位数字组合BS1~BS8的其中之一。当目前储存于存储器单元的浮动栅极的电荷使得存储器单元的临界电压高于VLSB+3D,则从存储器单元所读取出来的位元序列将会具有二进位数字组合BS8=”0000000”;当目前储存于存储器单元的浮动栅极的电荷使得存储器单元的临界电压介于VLSB+2D与VLSB+3D之间,则从存储器单元所读取出来的位元序列将会具有二进位数字组合BS7=”0000010”;当目前储存于存储器单元的浮动栅极的电荷使得存储器单元的临界电压介于VLSB+D与VLSB+2D之间,则从存储器单元所读取出来的位元序列将会具有二进位数字组合BS6=”0001010”;当目前储存于存储器单元的浮动栅极的电荷使得存储器单元的临界电压介于VLSB与VLSB+D之间,则从存储器单元所读取出来的位元序列将会具有二进位数字组合BS5=”0101010”;当目前储存于存储器单元的浮动栅极的电荷使得存储器单元的临界电压低于VLSB-3D,则从存储器单元所读取出来的位元序列将会具有二进位数字组合BS1=”1111111”;当目前储存于存储器单元的浮动栅极的电荷使得存储器单元的临界电压介于VLSB-2D与VLSB-3D之间,则从存储器单元所读取出来的位元序列将会具有二进位数字组合BS2=”1111110”;当目前储存于存储器单元的浮动栅极的电荷使得存储器单元的临界电压介于VLSB-D与VLSB-2D之间,则从存储器单元所读取出来的位元序列将会具有二进位数字组合BS3=”1111010”;以及当目前储存于存储器单元的浮动栅极的电荷使得存储器单元的临界电压介于VLSB与VLSB-D之间,则从存储器单元所读取出来的位元序列将会具有二进位数字组合BS4=”1101010”。
当一个位元序列中所有的二进位数字均为”1”时,此代表相对应的存储器单元具有电荷位准L0、L1、L2或L3,且LSB=1的可靠度(reliability)很高。另一方面,当一个位元序列中所有的二进位数字均为”0”时,此代表相对应的存储器单元具有电荷位准L5、L6、L7或L8,且LSB=0的可靠度很高。然而,当一个位元序列具有不同的二进位数字”0”与”1”混杂其中时,此代表相对应的存储器单元具有电荷位准L3或L4,由于相对应存储器单元的临界电压是介于VLSB-3D与VLSB+3D之间,LSB=1/LSB=0的可靠度便会由于错误率较高而较低,举例来说,原本储存LSB=0的存储器单元会具有对应至电荷位准L4的电荷储存数量以使得临界电压高于VLSB+3D,然而,当写入/抹除次数或数据保留时间增加时,所储存的电荷的数量便会有所改变,因而可能使得临界电压低于VLSB;同样地,原本储存LSB=1的存储器单元会具有对应至电荷位准L3的电荷储存数量以使得临界电压低于VLSB-3D,相较于硬解码,存在于软资讯数值的可靠度将可增加在进行软解码时解码正确的机率。然而软资讯数值包含于一般读取运作与后续的重读运作1~6所取得的多个二进位数字,如前所述七个二进位数字。为了执行软解码,错误更正解码器1222必须取得并储存完整的软资讯数值,因此,错误更正解码器1222需要大量的储存空间以储存完整的软资讯数值。这将会增加晶片面积与成本。
为减少储存空间,从读取运作中取得的二进位数字可以在储存或解码前就先编码为一个较短的码字。请在参照图1,如前所述,错误更正电路1220用来对从快闪存储器1100中取得的读取资讯进行错误更正运作。而错误更正解码器1222用来检查读取资讯的正确性。除此之外,错误更正解码器1222更包含一编码器1223、一储存装置1227以及一解码单元1228。编码器1223用以依据从快闪存储器1100读取的二进位数字来产生一较短的码字代表该二进位数字。储存装置1227用以储存由编码器产生的码字并提供所储存的码字给解码单元1228。解码单元1228用以对该码字执行错误更正运作。细节于后详述。
在一实施例中,控制逻辑电路1210控制快闪存储器1100依照初始控制栅极电压VLSB对存储器单元,例如实体存储器分页P_0的存储器细胞单元M_0~M-K,进行一读取运作以辨识存储器细胞单元M_0~M-K的最低有效位元。依照初始控制栅极电压VLSB所进行的读取运作可视为一般读取运作。快闪存储器1100提供包含了数据部分、备用部分与至少一校验码(parity)部分之一存储分页的二进位数字(a page of binary digits)至控制逻辑电路1210。控制逻辑电路1210传送其所接收的二进位数字至错误更正电路1220。在一实施例中,错误更正电路1220将所接收的二进位数字区分为两个部分。第一部分包含数据部分与其相对应的校验码部分。第二部分包含备用部分以及其相应的校验码部分。错误更正电路1220对第一部分进行软式解码运作(soft decode operation),而对第二部分进行硬式解码运作(hard decode operation)。此乃例示性说明,而非本发明的限制。对该分页的二进位数字的任一部分进行软式解码或硬式解码运作均为本发明的范畴。在此实施例中,编码器1223依据第一部分的二进位数字产生一码字。细节于后详述。
请参照图5与图6,图5示于图1的编码器1223的方块图。图6说明对读自快闪存储器单元的二进位数字进行编码的示意图。编码器1223包含一比较单元1224以及一判断单元1225。图5仅显示与本发明的技术特征有关的元件,亦即,编码器1223亦可包含额外的元件来支援其它的功能。比较单元1224用于比较从控制逻辑电路送来的第一部分的二进位数字以及储存在储存装置1227的正负位元。当读取一目标实体存储器分页(例如实体存储器分页P_0)时,控制逻辑电路1210控制快闪存储器1210依照一初始控制栅极电压VLSB对存储器细胞单元(例如实体存储器分页P_0的存储器细胞M_0~M_K)进行一读取运作以识别存储器细胞M_0~M_K的最低有效位元。如图6所示,该实体存储器分页的第一部分的二进位数字传送至编码器1223。请注意到,该些二进位数字的各个位元代表该实体存储器分页P_0的存储器细胞单元的最低有效位元的硬位元(hard bit,亦可称为硬资讯(hard information))。例如,该些二进位数字最左边的二进位数字是”1”,其代表实体存储器分页P_0的存储器细胞M_0的最低有效位元的硬位元系为”1”。该些二进位数字最左边的二进位数字旁边的二进位数字是”1”,其代表实体存储器分页P_0的存储器细胞M_1的最低有效位元的硬位元为”1”,以此类推。因第一部分的二进位数字得自对该些存储器细胞单元依照初始控制栅极电压进行读取运作,该些二进位数字可视为该些存储器单元的正负号位元。据此,编码器1223产生(并设定)一个高强度位元为”1”一个低强度位元为”1”,以代表正负位元”1”具有最高的可靠度。换言之,存储器单元M_0被假设为”1”,且具有最高的可靠度。此外,包含硬位元”1”以及软位元(soft bit,亦可称为软资讯(soft information))”11”的码字”111”用来代表存储器单元M_0所储存的资讯。用来代表其他存储器单元的码字亦依照类似的方式进行。接着,第一部分的二进位数字的码字传送至储存装置1227。接着,储存装置1227将该码字提供给解码单元1228以执行错误更正运作。在一实施例中,该解码单元1228依据该码字执行一错误更正硬解码(error correction hard decode)在另一实施例中,该解码单元1228依据该正负号位元执行一错误更正硬解码若错误更正运作指出该码字正确或可更正(换言之错误更正硬解码指示一可更正的结果),则错误更正电路1220将此结果通知控制逻辑电路1210,并将正确的数据提供给控制逻辑电路1210。若错误更正运作指出该码字(或该正负号位元)不可更正(换言之错误更正硬解码指示一不可更正的结果),错误更正电路1220将此结果通知控制逻辑电路1210,而控制逻辑电路1210控制快闪存储器1100依照控制栅极电压VLSB+D对存储器细胞单元进行一重读运作(D是一预定的电压间隔)。细节于后详述。
请参照图7,图7说明对读自快闪存储器单元的二进位数字进行编码以取得正确数据的示意图。在读取一目标实体存储器分页(例如,实体存储器分页P_0)时,控制逻辑电路1210控制快闪存储器1100依照第二控制栅极电压VLSB+D对存储器单元(例如,实体存储器分页P_0的存储器单元M_0~M_K)执行一读取运作以判读存储器单元M_0~M_K的最低有效位元。此重读运作可被视为第一次重读运作。如图7所示,该实体存储器分页的第一部分的二进位数字送至编码器1223。请注意到,该些二进位数字的每个位元代表一实体存储器分页P_0之一存储器细胞单元的最低有效位元的软位元。例如,该些二进位数字最左边的二进位数字是”1”,其代表实体存储器分页P_0的存储器细胞M_0的最低有效位元的软位元为”1”。该些二进位数字最左边的二进位数字旁边的二进位数字是”0”,其代表实体存储器分页P_0的存储器细胞M_1的最低有效位元的软位元为”0”,以此类推。请注意到,图7所示的二进位数字(重读数据)可能不完全与正负号位元相同。因为用以进行第一次重读运作的控制栅极电压是VLSB+D,所以在利用栅极控制电压VLSB与VLSB+D读取临界电压落在VLSB与VLSB+D的存储器单元时会得到不同的结果。例如,依照控制栅极电压VLSB所取得的存储器单元M_1的最低有效位元的正负号位元是”0”,而依照控制栅极电压VLSB+D所取得的存储器单元M_1的最低有效位元的软位元是”1”。因此,编码器1223需要更新存储器单元M_1的最低有效位元的的码字的可靠度。细节于后详述。
依照控制栅极电压VLSB+D所取得重读数据(二进位数字)送至比较单元1224。比较单元1224存取储存在储存装置1227的正负号位元,并比较正负号位元与重读数据以更新码字。若正负号位元与其相对应的重读数据(二进位数字)相同,比较单元1224将该结果指示判断单元1225。而判断单元1225判定要维持该正负号位元的可靠度。换言之,用来表达相对应的存储器单元的码字不被改变。若正负号位元与其相对应的重读数据(二进位数字)不相同,比较单元1224将该结果指示判断单元1225。而判断单元1225判定要更新该正负号位元的可靠度至一最低可靠度。换言之,用来表达相对应的存储器单元的码字被改变。例如,依照控制栅极电压VLSB所取得的存储器单元M_1的最低有效位元的正负号位元是”0”,而依照控制栅极电压VLSB+D所取得的存储器单元M_1的最低有效位元的软位元是”1”。据此,判断单元1225判定一高强度位元”0”以及一低强度位元”0”以代表正负号位元”1”具有最低的可靠度。换言之,存储器单元M_1的最低有效位元被更新为有最低可靠度的”0”。此外,包含硬位元”0”以及软位元”00”的码字”000”用来代表存储器单元M_1的最低有效位元。用来表达其他存储器单元的码字亦依照类似的方式进行。接着,更新后的第一部分的二进位数字的码字送至储存装置1227用以更新原来的码字。接着,储存装置1227将更新后的码字提供给解码单元1228以执行错误更正运作。在一实施例中,解码单元1228依据更新后的码字进行一错误更正软解码(errorcorrection soft decode)请注意到,更新后的码字通过比较依据控制闸及电压VLSB+D所取得的重读数据(二进位数字)以及依据控制闸及电压VLSB所取得的正负号位元而得。换言之,错误更正软解码依据正负号位元与重读数据(二进位数字)来进行的。若错误更正运作指出更新后的码字正确或可更正(换言之错误更正软解码指示一可更正的结果),则错误更正电路1220将此结果通知控制逻辑电路1210,并将正确的数据提供给控制逻辑电路1210。若错误更正运作指出更新后的码字不可更正(换言之错误更正软解码指示一不可更正的结果),错误更正电路1220将此结果通知控制逻辑电路1210,而控制逻辑电路1210控制快闪存储器1100依照控制栅极电压VLSB-D对存储器细胞单元进行一重读运作(D是一预定的电压间隔)。依照控制栅极电压VLSB-D对存储器细胞单元所进行的重读运作可视为第二重读运作。请注意到,一般读取运作与第一重读运作的电压间隔与一般读取运作与第二重读运作的电压间隔相同。因此,更新码字可靠度的规则应该类似,依照第二次重读运作所取得的重读数据产生与储存码字的细节在此省略。若错误更正运作指出第二次重读运作所得的更新后的码字正确或可更正(换言之错误更正软解码指示一可更正的结果),则错误更正电路1220将此结果通知控制逻辑电路1210,并将正确的数据提供给控制逻辑电路1210。若错误更正运作指出第二次重读运作所得的更新后的码字不可更正(换言之错误更正软解码指示一不可更正的结果),错误更正电路1220将此结果通知控制逻辑电路1210,而控制逻辑电路1210控制快闪存储器1100依照控制栅极电压VLSB+2D对存储器细胞单元进行一重读运作(D是一预定的电压间隔)。依照控制栅极电压VLSB+2D对存储器细胞单元所进行的重读运作可视为第三重读运作。除此之外,通过比较从一般读取运作与第一重读运作所取得的二进位数字,可以得到在一般读取运作与第一重读运作中第一部分的二进位数字的位元变动(bitflopping)总数,并可将其记为位元变动数BF1。类似地,通过比较从一般读取运作与第二重读运作所取得的二进位数字,可以得到在一般读取运作与第二重读运作中第一部分的二进位数字的位元变动总数,并可将其记为位元变动数BF2。位元变动数BF1与BF2可用来追踪一最佳的临界电压。细节详述于后。
请参照图8,图8说明对读自快闪存储器单元的二进位数字进行编码以取得正确数据的示意图。在读取一目标实体存储器分页(例如,实体存储器分页P_0)时,控制逻辑电路1210控制快闪存储器1100依照第三控制栅极电压VLSB+2D对存储器单元(例如,实体存储器分页P_0的存储器单元M_0~M_K)执行一读取运作以判读存储器单元M_0~M_K的最低有效位元。此重读运作可被视为第三次重读运作。如图8所示,该实体存储器分页的第一部分的二进位数字送至编码器1223。请注意到,该些二进位数字的每个位元代表一实体存储器分页P_0之一存储器细胞单元的最低有效位元的软位元。例如,该些二进位数字最左边的二进位数字是”0”,其代表实体存储器分页P_0的存储器细胞M_0的最低有效位元的软位元。请注意到,图8所示的二进位数字(重读数据)可能不完全与正负号位元相同。因为用以进行第三次重读运作的控制栅极电压是VLSB+2D,所以在利用栅极控制电压VLSB与VLSB+2D读取临界电压落在VLSB与VLSB+2D的存储器单元时会得到不同的结果。例如,依照控制栅极电压VLSB所取得的存储器单元M_0的最低有效位元的正负号位元是”0”,而依照控制栅极电压VLSB+2D所取得的存储器单元M_0的最低有效位元的软位元是”1”。因此,编码器1223需要更新存储器单元M_0的最低有效位元的的码字的可靠度。细节于后详述。
依照控制栅极电压VLSB+2D所取得重读数据(二进位数字)送至比较单元1224。比较单元1224存取储存在储存装置1227的正负号位元,并比较正负号位元与重读数据以更新码字。请注意到,在第一次重读运作与第二次重读运作中某些二进位数字可能会与其相对应的正负号位元不同。该些二进位数字的可靠度将不再被更新。比较单元1224可忽略该些二进位数字。判断单元1225则维持该更新后的码字的的可靠度。换言之,当高强度位元及低强度位元已经被更新过了,判断单元1225维持高强度位元与低强度位元的值。若正负号位元与其相对应的重读数据(二进位数字)不相同,比较单元1224将该结果指示判断单元1225。而判断单元1225判定要维持该正负号位元的可靠度。换言之,用以表达相对应的存储器单元的码字不改变。若正负号位元与其相对应的重读数据(二进位数字)不相同,比较单元1224将该结果指示判断单元1225。而判断单元1225判定要更新该正负号位元的可靠度至一较高的可靠度。换言之,用来表达相对应的存储器单元的码字被改变。例如,依照控制栅极电压VLSB所取得的存储器单元M_0的最低有效位元的正负号位元是”0”,而依照控制栅极电压VLSB+2D所取得的存储器单元M_0的最低有效位元的软位元是”1”。据此,判断单元1225判定一高强度位元”0”以及一低强度位元”1”以代表正负号位元”1”具有较高的可靠度。换言之,存储器单元M_0的最低有效位元被更新为有较高可靠度的”0”。此外,包含硬位元”0”以及软位元”01”的码字”001”用来代表存储器单元M_0的最低有效位元。用来表达其他存储器单元的码字亦依照类似的方式进行。接着,更新后的第一部分的二进位数字的码字送至储存装置1227用以更新原来的码字。接着,储存装置1227将更新后的码字提供给解码单元1228以执行错误更正运作。在一实施例中,解码单元1228依据更新后的码字进行一错误更正软解码。请注意到,更新后的码字通过比较依据控制闸及电压VLSB+2D所取得的重读数据(二进位数字)以及依据控制闸及电压VLSB所取得的正负号位元而得。换言之,错误更正软解码依据正负号位元与重读数据(二进位数字)来进行的。若错误更正运作指出更新后的码字是正确或可更正(换言之错误更正软解码指示一可更正的结果),则错误更正电路1220将此结果通知控制逻辑电路1210,并将正确的数据提供给控制逻辑电路1210。若错误更正运作指出更新后的码字不可更正(换言之错误更正软解码指示一不可更正的结果),错误更正电路1220将此结果通知控制逻辑电路1210,而控制逻辑电路1210控制快闪存储器1100依照控制栅极电压VLSB-2D对存储器细胞单元进行一重读运作(D是一预定的电压间隔)。细节详述于后。
依照控制栅极电压VLSB-2D对存储器细胞单元所进行的重读运作可视为第四重读运作。请注意到,一般读取运作与第三重读运作的电压间隔与一般读取运作与第四重读运作的电压间隔相同。因此,更新码字可靠度的规则应该类似,依照第四次重读运作所取得的重读数据产生与储存码字的细节在此省略。若错误更正运作指出第四次重读运作所得的更新后的码字正确或可更正(换言之错误更正软解码指示一可更正的结果),则错误更正电路1220将此结果通知控制逻辑电路1210,并将正确的数据提供给控制逻辑电路1210。若错误更正运作指出第四次重读运作所得的更新后的码字不可更正(换言之错误更正软解码指示一不可更正的结果),错误更正电路1220将此结果通知控制逻辑电路1210,而控制逻辑电路1210控制快闪存储器1100依照控制栅极电压VLSB+3D对存储器细胞单元进行一重读运作。依照控制栅极电压VLSB+3D对存储器细胞单元所进行的重读运作可视为第五重读运作。除此之外,通过比较从一般读取运作与第三重读运作所取得的二进位数字,可以得到在一般读取运作与第三重读运作中第一部分的二进位数字的位元变动(bit flopping)总数,并可将其记为位元变动数BF3。类似地,通过比较从一般读取运作与第四重读运作所取得的二进位数字,可以得到在一般读取运作与第四重读运作中第一部分的二进位数字的位元变动总数,并可将其记为位元变动数BF4。位元变动数BF3与BF4可用来追踪一最佳的临界电压。细节详述于后。
请参照图9,图9说明对读自快闪存储器单元的二进位数字进行编码以取得正确数据的示意图。在读取一目标实体存储器分页(例如,实体存储器分页P_0)时,控制逻辑电路1210控制快闪存储器1100依照第五控制栅极电压VLSB+5D对存储器单元(例如,实体存储器分页P_0的存储器单元M_0~M_K)执行一读取运作以判读存储器单元M_0~M_K的最低有效位元。此重读运作可被视为第五次重读运作。如图9所示,该实体存储器分页的第一部分的二进位数字送至编码器1223。请注意到,该些二进位数字的每个位元代表一实体存储器分页P_0之一存储器细胞单元的最低有效位元的软位元。例如,该些二进位数字最右边的二进位数字是”0”,其代表实体存储器分页P_0的存储器细胞M_0的最低有效位元的软位元。请注意到,图9所示的二进位数字(重读数据)可能不完全与正负号位元相同。因为用以进行第五次重读运作的控制栅极电压是VLSB+3D,所以在利用栅极控制电压VLSB与VLSB+3D读取临界电压落在VLSB与VLSB+3D的存储器单元时会得到不同的结果。例如,依照控制栅极电压VLSB所取得的存储器单元M_K的最低有效位元的正负号位元是”1”,而依照控制栅极电压VLSB+3D所取得的存储器单元M_0的最低有效位元的软位元是”1”。因此,编码器1223需要更新存储器单元M_K的最低有效位元的的码字的可靠度。细节于后详述。
依照控制栅极电压VLSB+3D所取得重读数据(二进位数字)送至比较单元1224。比较单元1224存取储存在储存装置1227的正负号位元,并比较正负号位元与重读数据以更新码字。请注意到,在第一、第二、第三、第四次重读运作中某些二进位数字可能会与其相对应的正负号位元不同。该些二进位数字的可靠度将不再被更新。比较单元1224可忽略该些二进位数字。判断单元1225则维持该更新后的码字的的可靠度。换言之,当高强度位元及低强度位元已经被更新过了,判断单元1225维持高强度位元与低强度位元的值。若正负号位元与其相对应的重读数据(二进位数字)相同,比较单元1224将该结果指示判断单元1225。换言之,用以表达相对应的存储器单元的码字不改变。若正负号位元与其相对应的重读数据(二进位数字)不相同,比较单元1224将该结果指示判断单元1225。而判断单元1225判定要更新该正负号位元的可靠度至一较高的可靠度。换言之,用来表达相对应的存储器单元的码字被改变。例如,依照控制栅极电压VLSB所取得的存储器单元M_K的最低有效位元的正负号位元是”0”,而依照控制栅极电压VLSB+3D所取得的存储器单元M_K的最低有效位元的软位元是”1”。据此,判断单元1225判定一高强度位元”1”以及一低强度位元”0”以代表正负号位元”1”具有较高的可靠度。换言之,存储器单元M_K的最低有效位元被更新为有较高可靠度的”0”。此外,包含硬位元”0”以及软位元”10”的码字”010”用来代表存储器单元M_K的最低有效位元。用来表达其他存储器单元的码字亦依照类似的方式进行。接着,更新后的第一部分的二进位数字的码字送至储存装置1227用以更新原来的码字。接着,储存装置1227将更新后的码字提供给解码单元1228以执行错误更正运作。在一实施例中,解码单元1228依据更新后的码字进行一错误更正软解码。请注意到,更新后的码字通过比较依据控制闸及电压VLSB+3D所取得的重读数据(二进位数字)以及依据控制闸及电压VLSB所取得的正负号位元而得。换言之,错误更正软解码依据正负号位元与重读数据(二进位数字)来进行的。若错误更正运作指出更新后的码字是正确或可更正(换言之错误更正软解码指示一可更正的结果),则错误更正电路1220将此结果通知控制逻辑电路1210,并将正确的数据提供给控制逻辑电路1210。若错误更正运作指出更新后的码字不可更正(换言之错误更正软解码指示一不可更正的结果),错误更正电路1220将此结果通知控制逻辑电路1210,而控制逻辑电路1210控制快闪存储器1100依照控制栅极电压VLSB-3D对存储器细胞单元进行一重读运作。细节详述于后。
依照控制栅极电压VLSB-3D对存储器细胞单元所进行的重读运作可视为第六重读运作。请注意到,一般读取运作与第五重读运作的电压间隔与一般读取运作与第六重读运作的电压间隔相同。因此,更新码字可靠度的规则应该类似,依照第六重读运作所取得的重读数据产生与储存码字的细节在此省略。若错误更正运作指出第六次重读运作所得的更新后的码字是正确或可更正(换言之错误更正软解码指示一可更正的结果),则错误更正电路1220将此结果通知控制逻辑电路1210,并将正确的数据提供给控制逻辑电路1210。若错误更正运作指出第六次重读运作所得的更新后的码字是不可更正(换言之错误更正软解码指示一不可更正的结果),错误更正电路1220将此结果通知控制逻辑电路1210,而控制逻辑电路1210控制快闪存储器1100依照控制栅极电压VLSB+4D对存储器细胞单元进行一重读运作。依照控制栅极电压VLSB+4D对存储器细胞单元所进行的重读运作可视为第七重读运作。或者,若错误更正运作指出第六次重读运作所得的更新后的码字是不可更正(换言之储存在存储器单元的数据无法被正确地取得),错误更正电路1220将此结果通知控制逻辑电路1210,而控制逻辑电路1210判定对目标实体存储器分页P_0读取失败,并将读取失败回报给一主机(host)。读取运作的次数可任意决定,其非为本发明的限制。除此之外,通过比较从一般读取运作与第五重读运作所取得的二进位数字,可以得到在一般读取运作与第五重读运作中第一部分的二进位数字的位元变动(bit flopping)总数,并可将其记为位元变动数BF5。类似地,通过比较从一般读取运作与第六重读运作所取得的二进位数字,可以得到在一般读取运作与第六重读运作中第一部分的二进位数字的位元变动总数,并可将其记为位元变动数BF6。位元变动数BF5与BF6可用来追踪一最佳的临界电压。
请参照图10,图10说明码字与存储器单元的对应关系的示意图。例如,当收到依照初始控制栅极电压VLSB所取得之一存储器单元的硬位元时,编码器1223将该硬位元视为该存储器单元的最低有效位元的正负号位元并预设该正负号位元具有最高的可靠度,例如,码字”011”代表非常强的”0”,而码字”111”代表非常强的”1”。然而,在第一次重读运作中,临界电压位于VLSB与VLSB+D之间的存储器单元将会被对应至非常弱的”0”,并编码为”000”。在第二次重读运作中,临界电压位于VLSB与VLSB-D之间的存储器单元将会被对应至非常弱的”1”,并编码为”100”。在第三次重读运作中,临界电压位于VLSB+D与VLSB+2D之间的存储器单元将会被对应至弱的”0”,并编码为”001”。在第四次重读运作中,临界电压位于VLSB-D与VLSB-2D之间的存储器单元将会被对应至弱的”1”,并编码为”101”。在第五次重读运作中,临界电压位于VLSB+2D与VLSB+3D之间的存储器单元将会被对应至强的”0”,并编码为”010”。在第六次重读运作中,临界电压位于VLSB-2D与VLSB-3D之间的存储器单元将会被对应至弱的”1”,并编码为”110”。请注意到,码字与临界电压的对应关系可以任意地决定,只要正负号位元的(硬位元)的可靠度可以通过不同的码字来辨识。此外,码字的码字长度是三个位元,其比一个存储器单元在一般读取运作与第一到第六此读取运作中所取得的二进位数字(字串)来得短。举例来说,一个存储器单元的临界电压位于VLSB+2D与VLSB+3D之间。在一般读取运作与第一到第六此读取运作中所取得该存储器单元的最低有效位元的二进位数字是”0000000”(二进位数字组合BS8)。该二进位数字包含七个位元,其是较码字的码字长度长。若错误更正解码器1222需要储存全部七个位元才能执行错误更正运作,而非只需要储存三个位元,错误更正解码器需要较多的存储器空间。因此,将在不同读取运作中所取得的二进位码字编码为较短的码字可以减少存储器空间,而成本亦可降低。
在另一实施例中,若错误更正运作指示在第六次重读运作中得到的更新码字不可更正(换言之,储存在存储器单元的数据无法被正确的取得)解码单元1228启动概似比(LLR,log-likelihood ratio)训练程序以调整用以执行错误更正软解码的概似比对应规则(LLR mapping rule)。请对照图11,图11用以说明解码单元1228的方块图。解码单元1228包含一概似比训练单元12280、一概似比对应单元12282以及一解码电路12284。请注意到,仅有与本发明相关的技术特征才显示于图11中。即,解码单元1228可以包含其他元件用以进行其他功能。因为第六次重读运作无法取得正确数据,故用来将更新后码字对应成概似比值的概似比对应规则应该要做调整。细节于后详述。
在第六次重读运作中取得目标实体存储分页(例如实体存储器分页P_0)的更新后码字。概似比对应单元12282依据预定的概似比对应规则将目标实体存储器分页的更新后码字对应成一组第一概似比对应值。举例来说,用来表达各个存储器单元的各个码字对应至一特定的概似比对应值。第一组概似比对应值提供给解码电路12284。解码电路12284依据该第一组概似比对应值进行一错误更正运作。若依据该该第一组概似比对应值进行的错误更正运作指示一不可更正的结果,概似比训练单元12280搜集该快闪存储器1100之一个可以更正的错误更正单元的码字以及可以更正的错误更正单元的码字的正确数据的统计特征。举例来说,该目标实体存储器分页包含8个区段,而个区段是一个错误更正单元。在这8个区段中,第一区段S0是不可更正,而其他区段是可更正。概似比训练单元12280自目标存储器分页的码字中取得第二区段S1的码字。第二区段S1邻近于第一区段S1并包含x个存储器单元。在这x个存储器单元中,有n0个存储器单元编码为码字”000”、有n1个存储器单元编码为码字”001”……以及有n7个存储器单元编码为码字”111”。在对第二区段S1进行错误更正运作后,可以正确地取得第二区段S1的正确数据。对于那些被编码为”000”的存储器单元,有A0个存储器单元被正确地解码为1,而有A0个存储器单元被正确地解码为0。因此,码字”000”的概似比对应值应该被建构为log(A0/B0)。码字”001”、码字”010”……以及码字”111”的概似比对应值亦可类似地被取得。码字以及从第二区段S1的码字与第二区段S1的正确数据所搜集到的统计特征所得的概似比对应值之间的对应关系可以视为一个调整后的概似比对应规则。调整后的概似比对应规则可建成一个概似比对应表。因为第二区段S1可更正,故从第二区段S1所取得的调整后的概似比对应规则可能示一个比预定的概似比对应规则还要适当的概似比对应规则。
调整后的概似比对应规则可提供给概似比对应单元12282。如此一来,概似比对应单元12282依据调整后的概似比对应规则将自第六次重读运作取得的目标实体存储器分页的码字对应成第二组概似比对应值。第二组概似比对应值提供给解码电路12284。解码电路12284依据第二组概似比对应值进行错误更正运作(例如错误更正软解码运作)。若错误更正运作指示一可更正的结果,调整后的概似比对应值可被用来对下一个实体存储器分页进行解码。举例来说,控制逻辑电路1210控制快闪存储器1100对快闪存储器1100的另一实体存储器分页(例如实体存储器分页P_1)进行读取运作,并取得另一实体存储器分页的码字。概似比对应单元12282依据该调整后的概似比对应规则取得该码字之一组概似比对应值。解码电路12284对该组概似比对应值进行错误更正运作。
请注意到,调整后的概似比对应规则可用不同的方式取得。例如,调整后的概似比对应规则可以通过其他区段(例如区段S2、S3……以及S7)的码字以及该其他区段的正确数据的统计特征而得。此外,调整后的概似比对应规则可以通过其他可更正实体存储器分页(例如实体存储器分页P_N)的码字以及该可更正实体存储器分页的正确数据的统计特征而得。该可更正实体存储器分页可以在物理上邻近于该目标实体存储分页。而找出调整后的概似比对应规则的细节细雨前述的实施例类似。因此,为求简洁将该些说明省略。
请参照图12,其系说明读取储存在快闪存储器的数据的程序的流程图。在步骤200中,控制逻辑电路1210控制快闪存储器1100依据初始临界电压VLSB对一目标实体存储器分页的存储器单元进行一般读取运作,以取得一个分页的第一二进位数字用以分别代表各个存储器单元的最低有效位元。在步骤202中,错误更正解码器1222依据该分页的第一二进位数字进行错误更正硬解码。若错误更正硬解码指示一个可以更正的结果,进入步骤214,读取下一个实体存储器分页。在步骤204中,若错误更正硬解码指示一个不可以更正的结果,控制逻辑电路1210控制快闪存储器1100依据初始临界电压VLSB+D以及VLSB-D对目标实体存储器分页的存储器单元进行第一与第二重读运作,以取得两个分页的第二二进位数字用以分别代表各个存储器单元的最低有效位元。错误更正解码器1222依据从第一二进位数字与第二二进位数字编码而得的码字进行错误更正软解码。若错误更正软解码指示一个可更正的结果,则进入步骤212,进行临界电压追踪程序。细节于后详述。步骤206,若错误更正软解码指示一个不可更正的结果,控制逻辑电路1210控制快闪存储器1100依据初始临界电压VLSB+2D以及VLSB-2D对目标实体存储器分页的存储器单元进行第三与第四重读运作,以取得两个分页的第三二进位数字用以分别代表各个存储器单元的最低有效位元。错误更正解码器1222依据从第一二进位数字、第二二进位数字与第三二进位数字编码而得的码字进行错误更正软解码。若错误更正软解码指示一个可更正的结果,则进入步骤212,进行临界电压追踪程序。在步骤208,若错误更正软解码指示一个不可更正的结果,控制逻辑电路1210控制快闪存储器1100依据初始临界电压VLSB+3D以及VLSB-3D对目标实体存储器分页的存储器单元进行第五与第六重读运作,以取得两个分页的第四二进位数字用以分别代表各个存储器单元的最低有效位元。错误更正解码器1222依据从第一二进位数字、第二二进位数字、第三二进位数字与第四二进位数字编码而得的码字进行错误更正软解码。若错误更正软解码指示一个可更正的结果,则进入步骤212,进行临界电压追踪程序。在步骤210若错误更正软解码指示一个不可更正的结果,进入概似比训练阶段(LLR training stage),概似比训练阶段的细节已详述于图11以及相关说明。因此细节于此省略以求简洁。
请参照图13,其说明目标实体存储器分页的临界电压分布的示意图。标实体存储器分页的临界电压分布得自不同的重读运作。例如,临界电压位于VLSB与VLSB+D之间的存储器单元的数量是X1。而数量X1等于位元变动数BF1。如前所述,位元变动数BF1自比较一般读取运作与第一重读运作所得的二进位数字而得。类似地,临界电压位于VLSB与VLSB-D之间的存储器单元的数量是X2。而数量X2等于位元变动数BF2。临界电压位于VLSB+D与VLSB+2D之间的存储器单元的数量是X3。而数量X3等于位元变动数BF3减去位元变动数BF1。类似地,临界电压位于VLSB-D与VLSB-2D之间的存储器单元的数量是X4。而数量X4是等于位元变动数BF4减去位元变动数BF2。此外,临界电压位于VLSB+2D与VLSB+3D之间的存储器单元的数量是X5。而数量X5等于位元变动数BF5减去位元变动数BF3与位元变动数BF1。类似地,临界电压位于VLSB-2D与VLSB-3D之间的存储器单元的数量是X6。而数量X6等于位元变动数BF6减去位元变动数BF2与位元变动数BF4。临界电压追踪单元找出数量X1~X6,并依据数量X1~X6判断一临界电压移动方向SD。因为数量X1大于数量X2,一个较佳的临界电压可能移往一个较低的电压而非VLSB。此外,该较佳的临界电压可能落于VLSB-D,因为数量X2与X4相对的小。请注意到,在较佳的临界电压(例如VLSB-D)找到的后,控制逻辑电路1210可使用该较佳电压做为读取快闪存储器电路1100的下一个实体存储器分页的初始临界电压(控制栅极电压)。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (6)
1.一种用以读取储存在一快闪存储器的数据的存储器控制器,该存储器控制器包含:
一控制逻辑电路,用以控制该快闪存储器对该快闪存储器的一第一存储器分页执行一读取运作以取得该第一存储器分页的一第一码字;
一概似比对应单元,用以依据一第一概似比对应规则取得该第一码字的一第一组概似比对应值;
一解码电路,用以依据该第一组概似比对应值进行一错误更正运作;以及
一概似比训练单元,
其中,若依据该第一组概似比对应值进行该错误更正运作指示一不可更正的结果时,则该概似比对应单元更用于依据一第二概似比对应规则取得该第一码字的一第二组概似比对应值,而该解码电路更用于依据该第二组概似比对应值进行该错误更正运作,
其中,该概似比训练单元通过搜集该快闪存储器的可以更正的该第一存储器分页的一第二码字与该快闪存储器的可以更正的该第一存储器分页的该第二码字的正确数据的一统计特征所取得,以及通过搜集可以更正的该第一存储器分页的该第一码字的一部分与可以更正的该第一存储器分页的该第一码字的该部分的正确数据的一统计特征取得该第二概似比对应规则。
2.根据权利要求1所述的用以读取储存在一快闪存储器的数据的存储器控制器,其特征在于,依据该第一组概似比对应值所进行的错误更正运作指出该第一存储器分页的一第一区段不可更正,而邻近于该第一区段的一第二区段可以更正,该概似比训练单元通过搜集该第二区段的一第二码字与该第二区段的正确数据的一统计特征取得该第二概似比对应规则。
3.根据权利要求1所述的用以读取储存在一快闪存储器的数据的存储器控制器,其特征在于,依据该第一组概似比对应值所进行的错误更正运作指出该第一存储器分页的一第一区段不可更正,而该第一区段的其他区段可以更正,该概似比训练单元通过搜集该其他区段的一第二码字与该其他区段的正确数据的一统计特征取得该第二概似比对应规则。
4.根据权利要求1所述的用以读取储存在一快闪存储器的数据的存储器控制器,其特征在于,该概似比训练单元通过搜集邻近该第一存储器分页的一第二存储器分页的一第二码字与该第二存储器分页的正确数据的一统计特征取得该第二概似比对应规则。
5.根据权利要求1所述的用以读取储存在一快闪存储器的数据的存储器控制器,其特征在于,该第二概似比对应规则通过以下步骤取得:
该控制逻辑电路自该快闪存储器取得一第二码字;
该解码电路对该第二码字进行该错误更正运作;
该概似比训练单元取得该第二码字的正确数据;以及
该概似比训练单元搜集该正确数据与该第二码字的一统计特征以取得该第二概似比对应规则。
6.根据权利要求1所述的用以读取储存在一快闪存储器的数据的存储器控制器,其特征在于,该控制逻辑电路控制该快闪存储器对该快闪存储器的一第三存储器分页执行该读取运作以取得该第三存储器分页的一第三码字,该概似比对应单元依据该第二概似比对应规则取得该第三码字的一第三组概似比对应值,以及该解码电路对该第三组概似比对应值进行该错误更正运作。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/402,575 | 2012-02-22 | ||
US13/402,575 US9286972B2 (en) | 2012-02-22 | 2012-02-22 | Method, memory controller and system for reading data stored in flash memory |
TW101106156A TWI514404B (zh) | 2012-02-24 | 2012-02-24 | 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與系統 |
TW101106156 | 2012-02-24 | ||
CN201310056538.XA CN103295634B (zh) | 2012-02-22 | 2013-02-21 | 读取快闪存储器中所储存的数据的方法、存储器控制器与系统 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310056538.XA Division CN103295634B (zh) | 2012-02-22 | 2013-02-21 | 读取快闪存储器中所储存的数据的方法、存储器控制器与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107240419A CN107240419A (zh) | 2017-10-10 |
CN107240419B true CN107240419B (zh) | 2020-04-07 |
Family
ID=49096362
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710423555.0A Expired - Fee Related CN107240419B (zh) | 2012-02-22 | 2013-02-21 | 读取快闪存储器中所储存的数据的方法、存储器控制器与系统 |
CN201310056538.XA Active CN103295634B (zh) | 2012-02-22 | 2013-02-21 | 读取快闪存储器中所储存的数据的方法、存储器控制器与系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310056538.XA Active CN103295634B (zh) | 2012-02-22 | 2013-02-21 | 读取快闪存储器中所储存的数据的方法、存储器控制器与系统 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN107240419B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI657456B (zh) * | 2018-05-14 | 2019-04-21 | 慧榮科技股份有限公司 | 用來於記憶裝置中藉助於機器學習來進行的記憶體存取管理之方法,記憶裝置及其控制器以及電子裝置 |
CN109871594B (zh) * | 2019-01-28 | 2023-02-03 | 山东华芯半导体有限公司 | 一种NAND Flash特性模型建立方法 |
CN111625481B (zh) * | 2020-04-28 | 2022-07-26 | 深圳市德明利技术股份有限公司 | 一种防止闪存比特错误放大的方法和装置以及设备 |
CN114116530B (zh) * | 2021-12-06 | 2022-09-13 | 海光信息技术股份有限公司 | 存储控制方法及装置、数据处理方法及装置以及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102034547A (zh) * | 2009-10-05 | 2011-04-27 | 株式会社东芝 | 存储器系统以及对存储器系统的控制方法 |
CN102314949A (zh) * | 2010-07-05 | 2012-01-11 | 群联电子股份有限公司 | 数据读取方法、控制电路与存储器控制器 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101501779B (zh) * | 2006-05-12 | 2013-09-11 | 苹果公司 | 具有自适应容量的存储设备 |
US7797480B2 (en) * | 2007-03-29 | 2010-09-14 | Sandisk Corporation | Method for reading non-volatile storage using pre-conditioning waveforms and modified reliability metrics |
US8406048B2 (en) * | 2008-08-08 | 2013-03-26 | Marvell World Trade Ltd. | Accessing memory using fractional reference voltages |
US8301979B2 (en) * | 2008-10-07 | 2012-10-30 | Sandisk Il Ltd. | Low density parity code (LDPC) decoding for memory with multiple log likelihood ratio (LLR) decoders |
US8607124B2 (en) * | 2009-12-24 | 2013-12-10 | Densbits Technologies Ltd. | System and method for setting a flash memory cell read threshold |
US8213255B2 (en) * | 2010-02-19 | 2012-07-03 | Sandisk Technologies Inc. | Non-volatile storage with temperature compensation based on neighbor state information |
-
2013
- 2013-02-21 CN CN201710423555.0A patent/CN107240419B/zh not_active Expired - Fee Related
- 2013-02-21 CN CN201310056538.XA patent/CN103295634B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102034547A (zh) * | 2009-10-05 | 2011-04-27 | 株式会社东芝 | 存储器系统以及对存储器系统的控制方法 |
CN102314949A (zh) * | 2010-07-05 | 2012-01-11 | 群联电子股份有限公司 | 数据读取方法、控制电路与存储器控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN107240419A (zh) | 2017-10-10 |
CN103295634B (zh) | 2017-10-27 |
CN103295634A (zh) | 2013-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230352101A1 (en) | Method and apparatus for reading data stored in flash memory by referring to binary digit distribution characteristics of bit sequences read from flash memory | |
US9177664B2 (en) | Method, memory controller and system for reading data stored in flash memory | |
US9286972B2 (en) | Method, memory controller and system for reading data stored in flash memory | |
US9093154B2 (en) | Method, memory controller and system for reading data stored in flash memory | |
US20180210788A1 (en) | Method, memory controller, and memory system for reading data stored in flash memory | |
TWI576847B (zh) | 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與系統 | |
CN111415692B (zh) | 解码方法、存储器控制电路单元以及存储器存储装置 | |
CN107240419B (zh) | 读取快闪存储器中所储存的数据的方法、存储器控制器与系统 | |
US20200186171A1 (en) | Data writing method, memory controlling circuit unit and memory storage device | |
TWI514404B (zh) | 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與系統 | |
CN103295631A (zh) | 读取快闪存储器中所储存的数据的方法、存储器控制器与系统 | |
TWI571885B (zh) | 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與系統 | |
CN113496752B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN110795268B (zh) | 比特判断方法、存储器控制电路单元以及存储器存储装置 | |
US11145372B2 (en) | Decoding method, memory controlling circuit unit, and memory storage device | |
CN111508546B (zh) | 解码方法、存储器控制电路单元与存储器存储装置 | |
CN111324478A (zh) | 解码方法、存储器控制电路单元以及存储器存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200407 Termination date: 20210221 |
|
CF01 | Termination of patent right due to non-payment of annual fee |