存储器系统、非暂时性计算机可读介质及错误校验与校正的方法与流程

文档序号:16760754发布日期:2019-01-29 17:41阅读:410来源:国知局
在2017年7月19日提出申请且名称为“控制对非易失性存储器装置的错误校验与校正的方法及执行所述方法的存储器系统(methodofcontrollingerrorcheckandcorrection(ecc)ofnon-volatilememorydeviceandmemorysystemperformingthesame)”的韩国专利申请第10-2017-0091656号的全文并入本文供参考。本文所述的一个或多个实施例涉及一种存储器系统、非暂时性计算机可读介质及错误校验与校正的方法。
背景技术
::半导体存储器装置可被分类为易失性存储器装置或非易失性存储器装置。易失性存储器装置(例如,动态随机存取存储器(dynamicrandomaccessmemory,dram)装置)可通过将存储器单元中的电容器充电或放电来存储数据。当电源被关断时,所存储数据会丢失。当电源被关断时,非易失性存储器装置(例如,闪存存储器装置)会保留所存储数据。由于这些差异,易失性存储器装置被广泛用作各种设备的主存储器。非易失性存储器装置在计算机、移动装置及其他电子产品中广泛用于存储程序代码及/或数据。人们正在不断地尝试通过提高集成度来增加半导体存储器装置的存储容量。随着集成度提高,存在更多有缺陷存储器单元的可能性增大,且相反地,良率可能会降低。可使用冗余存储器单元或可执行错误校验与校正(errorcheckandcorrection,ecc)操作来修复有缺陷的存储器单元,但目前所建立的这些方法已被发现具有缺点。技术实现要素:根据一个或多个实施例,一种用于控制对非易失性存储器装置的错误校验与校正(ecc)的方法包括:将写入数据存储在所述非易失性存储器装置的多个存储区中,所述写入数据是通过执行错误校验与校正编码而产生;基于从所述多个存储区读出的多个读取数据中的每一者来执行单独式错误校验与校正解码(individualeccdecoding);当所述单独式错误校验与校正解码关于所有所述多个读取数据来说均失败时,通过对所述多个读取数据执行逻辑运算来提供逻辑运算数据;以及基于所述逻辑运算数据来执行组合式错误校验与校正解码(combinedeccdecoding)。根据一个或多个其他实施例,一种存储器系统包括:错误校验与校正(ecc)编码器,用以执行错误校验与校正编码以产生写入数据;非易失性存储器装置,用以将所述写入数据存储在所述非易失性存储器装置的多个存储区中;以及错误校验与校正解码器,用以:基于从所述多个存储区读出的多个读取数据中的每一者来执行单独式错误校验与校正解码;当所述单独式错误校验与校正解码失败时,通过对所述多个读取数据执行逻辑运算来提供逻辑运算数据;以及基于所述逻辑运算数据来执行组合式错误校验与校正解码。根据一个或多个其他实施例,一种用于控制对非易失性存储器装置的错误校验与校正(ecc)的方法包括:将写入数据存储在所述非易失性存储器装置的多个存储区中,所述写入数据是通过执行错误校验与校正编码而产生;通过执行以下中的至少一者来提供或数据(ordata)及与数据(anddata)中的至少一者:对多个读取数据的逐位或运算(bit-by-bitoroperation)及对多个读取数据的逐位与运算(bit-by-bitandoperation);以及基于逻辑运算数据来执行组合式错误校验与校正解码。根据一个或多个其他实施例,一种非暂时性计算机可读介质包括代码,所述代码在由处理器执行时使所述处理器控制对非易失性存储器装置的错误校验与校正(ecc)。所述介质包括:用以将写入数据存储在所述非易失性存储器装置的多个存储区中的代码,所述写入数据是通过执行错误校验与校正编码而产生;用以基于从所述多个存储区读出的多个读取数据中的每一者来执行单独式错误校验与校正解码的代码;用以当所述单独式错误校验与校正解码关于所有所述多个读取数据来说均失败时,通过对所述多个读取数据执行逻辑运算来提供逻辑运算数据的代码;以及用以基于所述逻辑运算数据来执行组合式错误校验与校正解码的代码。附图说明通过参照附图详细地阐述示例性实施例,对于所属领域中的技术人员来说,各特征将变得显而易见,在附图中:图1示出用于控制对非易失性存储器装置的错误校验与校正的方法的实施例;图2a至图2d示出组合式错误校验与校正解码的实施例;图3a至图3d示出组合式错误校验与校正解码的额外实施例;图4示出存储器系统的实施例;图5示出存储器装置的实施例;图6示出存储器系统的另一实施例;图7示出存储器装置的另一实施例;图8示出错误校验与校正解码器的实施例;图9a及图9b示出逻辑运算单元的实施例;图10示出存储器单元阵列的实施例;图11示出存储器块的实施例;图12a及图12b示出用于存储写入数据的实施例;图13示出用于控制对非易失性存储器装置的错误校验与校正的方法的另一实施例;图14至图16示出示例性读取序列的实施例;图17示出组合式错误校验与校正解码的另一实施例;图18示出阐述0错误率及1错误率的实施例;图19a、图19b、图20a及图20b示出用于执行读取条件改变及组合式错误校验与校正操作的实施例;图21a、图21b、图22a及图22b示出用于执行读取条件改变及组合式错误校验与校正操作的额外实施例;图23示出读取条件改变及组合式错误校验与校正操作的另一实施例;图24示出读取条件改变及组合式错误校验与校正操作的另一实施例;图25a及图25b示出组合式错误校验与校正解码的比率的实施例;图26示出固态盘或固态驱动器(solidstatedrive,ssd)的实施例。[符号的说明]10、330:错误校验与校正解码器100、101:存储器系统300、301:存储器控制器310:错误校验与校正引擎320:错误校验与校正编码器500、501:存储器装置510:存储器单元阵列520:地址解码器530:读写电路540:数据输入/输出电路550:电压产生电路560:控制逻辑580:片上错误校验与校正电路600:存储单元(或区域)700:逻辑运算单元(lou)(或逻辑算子)720、740:逻辑运算单元722、742:或逻辑门724、744:与逻辑门726、746:选择器(mux)800:选择单元(mux)900:错误校验与校正解码单元1000:固态驱动器1100:非易失性存储器装置1200:固态驱动器控制器1210:处理器1220:缓冲存储器1230:错误校验与校正块1250:主机接口1260:非易失性存储器接口addr:地址bl、bl1、bl2、bl3:位线bf1、bf2:缓冲器blk1~blkz:存储器块bt1:第一位bt2:第二位bt3:第三位ch1~chi:通道cl1~cl15:列cmd:命令csl:共同源极线ctrl:控制信号d1、d2、d3:方向data:写入数据/读取数据/数据dca:经解码列地址dl:数据线dtand:与数据dtc:经校正数据dtl:逻辑运算数据dtor:或数据dtr1:第一读取数据/读取数据dtr2、:第二读取数据/读取数据dtr、dtr11、dtr12、dtr21、dtr22:读取数据er01、er02、er03、er04、er05:0错误率er1、er2、er3:总错误率er11、er12、er13、er14、er15:1错误率ers:退化的已擦除状态ers0:原始的已擦除状态fbd1、fbd2、fbdand、fbdor:失败位gsl、gsl1、gsl2、gsl3:接地选择线gst:接地选择晶体管lsel:选择信号mc1~mc8:存储器单元ns11~ns33:存储器单元串pf:合格-失败信号pg、pg1、pg2:页pgm:已编程状态/退化的已编程状态pgm0:原始的已编程状态rcon1:第一读取条件rcon2:第二读取条件s1~s8:状态s11、s12、s13、s14、s15、s16、s17、s18、s19、s20、s31、s32、s33、s34、s35、s36、s37、s38、s39、s40、s51、s52、s53、s54、s55、s56、s57、s58、s59、s60、s70、s100、s200、s300、s400:步骤sa、sb:状态ssl、ssl1、ssl2、ssl3:串选择线sst:串选择晶体管vcc:电源电压vss:接地电压vpp:高电压vr:读取电压/默认读取电压vr1~vr7:读取电压vr1’、vr5’:第二校正电压vr1”、vr5”:第一校正电压vra:第一校正读取电压vrb:第二校正读取电压vth:阈值电压wl~wl8:字线具体实施方式图1示出用于控制对非易失性存储器装置的错误校验与校正(ecc)的方法的实施例。参照图1,将写入数据存储在非易失性存储器装置的多个存储区中。所述写入数据可通过执行错误校验与校正编码而产生(s100)。基于从所述多个存储区读出的多个读取数据中的每一者来执行单独式错误校验与校正解码(s200)。在一些数据存储环境中,可执行数据镜射(datamirroring)以提高所存储数据的可靠性。举例来说,可将相同数据存储在多个存储区中,以在主数据受损时使用后备数据来防止信息丢失。然而,如果所述多个存储区中的所有数据均有缺陷,则不可能进行数据恢复。数据镜射可基于以下事实而提高存储器装置的可靠性:多个存储区同时出现缺陷的概率低于单个存储区出现缺陷的概率。在一些情景中,可能难以预测所存储数据的可能缺陷,且在许多情形(例如在编程/擦除(program/erase,p/e)循环末尾时进行数据编程、对所存储数据的意外的长期忽略等)中,真实情况可能与预测结果有偏差。根据示例性实施例,当单独式错误校验与校正解码关于所有所述多个读取数据来说均失败时,可通过对所述多个读取数据执行逻辑运算来提供逻辑运算数据(s300)。可基于逻辑运算数据而执行组合式错误校验与校正解码(s400)。在一些示例性实施例中,如图1中所示,可首先执行单独式错误校验与校正解码,并且接着,只有在单独式错误校验与校正解码失败时,才可执行组合式错误校验与校正解码。在其他示例性实施例中,可省略单独式错误校验与校正解码,且可直接执行组合式错误校验与校正解码。举例来说,如果编程/擦除循环接近极限值,则失败位数目可显著增加,且单独式错误校验与校正解码失败的概率是非常高的。在此种情形中,可省略单独式错误校验与校正解码,且可基于逻辑运算数据来执行组合式错误校验与校正解码。因此,即使所述多个读取数据中的每一者是不可校正的,根据示例性实施例的控制对非易失性存储器装置的错误校验与校正的方法也可通过基于逻辑运算数据进行组合式错误校验与校正解码来校正错误。因此,非易失性存储器装置的良率、可靠性及寿命可得以提高。图2a至图2d示出用于基于或数据来执行组合式错误校验与校正解码的实施例。在图2a中,水平轴表示存储器单元的阈值电压vth,且垂直轴表示与阈值电压vth对应的存储器单元的数目。通过读取操作,分布在读取电压vr的左侧处的存储器单元可输出值1。分布在读取电压vr的右侧处的存储器单元可输出值0。存储器单元的阈值电压分布在宽范围中是因为各存储器单元具有不同的特性。即使1存储器单元及0存储器单元的阈值电压vth可通过擦除操作及编程操作而聚集在左侧及右侧中,阈值电压的分布也因单元特性的不同而未能集中在窄区中。图2a示出与非(nand)单元的退化(degeneration)的实例,其中原始的已擦除状态ers0改变成退化的已擦除状态ers。随着编程/擦除循环增加,已擦除状态ers的分布朝右侧方向(例如,增大阈值电压vth的方向)移动。如果使用读取电压vr来重复读取操作以确定已编程状态pgm或已擦除状态ers,则已擦除状态ers的分布也可朝右侧方向移动,此可被称为“读取干扰(readdisturbance)”。图2b对应于其中1被错误地读出为0的情形。在此种情形中,可利用对多个读取数据的或运算来减少失败位数目。参照图2b,即使将相同写入数据存储在多个存储区中,各读取数据也可因退化特性等的不同而不同。举例来说,如图2b中所示,第一读取数据dtr1与第二读取数据dtr2的至少一个位可为不同的。可通过对第一读取数据dtr1与第二读取数据dtr2执行逐位或运算来提供或数据dtor。图2c关于与已擦除状态ers对应的存储器单元示出第一读取数据dtr1的失败位fbd1及第二读取数据dtr2的失败位fbd2。失败位被表示为阴影线区域。处于已擦除状态的存储器单元势必被读出为1,但阈值电压vth高于读取电压vr的存储器单元被错误地读出为0。此种读取错误可被称为0错误。第一读取数据dtr1中与第二读取数据dtr2的0错误失败位fbd2对应的位可均匀地分布在已擦除状态ers的阈值电压范围中。因此,第一读取数据dtr1及第二读取数据dtr2两者中与0错误对应的失败位fbdor显著减少。因此,与第一读取数据dtr1的0错误失败位fbd1及第二读取数据dtr2的0错误失败位fbd2中的每一者相比,或数据dtor的0错误失败位fbdor显著减少。图2d示出通过对第一读取数据dtr1与第二读取数据dtr2进行或运算来减少0错误失败位。作为实例,假设第一读取数据dtr1的0错误失败位的比率及第二读取数据dtr2的0错误失败位的比率各自均为0.1(例如,10%)。在此种情形中,关于或运算的读取结果,1-1情形的比率是0.81,1-0情形或0-1情形的比率是0.09,且0-0情形的比率是0.01。因此,或数据dtor中99%的位正常地是1,且或数据dtor中仅1%的位对应于0错误失败位。举例来说,假设或数据dtor的错误率是1%,则第一读取数据dtr1及第二读取数据dtr2中的每一者可容许有10%的错误率。因此,在图2a所示退化特性的情形中,利用基于或数据dtor进行的组合式错误校验与校正解码,错误校正的合格或成功概率可增大。图3a至图3d示出用于基于与数据来执行组合式错误校验与校正解码的另一实施例。图3a示出与非单元的退化的实例,其中原始的已编程状态pgm0改变成退化的已编程状态pgm。存储在存储器单元中的电荷因随着时间流逝出现泄漏电流而减少。此引起其中已编程状态pgm朝左侧(例如,减小阈值电压vth的方向)移动的退化特性。图3b对应于0被错误地读出为1的情形。在此种情形中,可利用对多个读取数据的与运算来减少失败位数目。如图3a中所示,可通过对第一读取数据dtr1与第二读取数据dtr2执行逐位与运算来提供与数据dtand。图3c关于与已编程状态pgm对应的存储器单元示出第一读取数据dtr1的失败位fbd1及第二读取数据dtr2的失败位fbd2。这些失败位被表示为阴影线区域。处于已编程状态的存储器单元势必被读出为0,但阈值电压vth低于读取电压vr的存储器单元被错误地读出为1。此种读取错误可被称为1错误。第一读取数据dtr1中与第二读取数据dtr2的1错误失败位fbd2对应的位可均匀地分布在已编程状态pgm的阈值电压范围中。因此,第一读取数据dtr1及第二读取数据dtr2两者中与1错误对应的失败位fbdand可显著减少。举例来说,与第一读取数据dtr1的1错误失败位fbd1及第二读取数据dtr2的1错误失败位fbd2中的每一者相比,与数据dtand的1错误失败位fbdand可显著减少。图3d示出通过对第一读取数据dtr1与第二读取数据dtr2进行与运算来减少1错误失败位。作为实例,假设第一读取数据dtr1的1错误失败位的比率及第二读取数据dtr2的1错误失败位的比率各自均为0.1(例如,10%)。在此种情形中,关于与运算的结果,0-0情形的比率是0.81,0-1情形或1-0情形的比率是0.09,且1-1情形的比率是0.01。因此,与数据dtand中99%的位正常地是0,且与数据dtand中仅1%的位对应于1错误失败位。举例来说,假设与数据dtand的错误率为1%,则第一读取数据dtr1及第二读取数据dtr2中的每一者可容许有10%的错误率。因此,在图3a所示退化特性的情形中,利用基于与数据dtand进行的组合式错误校验与校正解码,错误校正的合格或成功概率可增大。图4示出存储器系统100的实施例,存储器系统100可包括存储器控制器300及至少一个存储器装置500。存储器装置500可在存储器控制器300的控制下执行读取操作、写入操作及擦除操作。存储器装置500可从存储器控制器300接收控制信号ctrl、命令cmd、地址addr及写入数据data,并将读取数据data传送到存储器控制器300。存储器控制器300可包括错误校验与校正引擎310,错误校验与校正引擎310可包括错误校验与校正编码器320及错误校验与校正解码器330以校验并校正错误位或失败位。错误校验与校正引擎310可对由错误校验与校正扇区形成的数据单位执行错误校验与校正操作。举例来说,由页形成的数据单位可为8kb至64kb,且由错误校验与校正扇区形成的数据单位可为1kb至4kb。错误校验与校正编码器320可对将要提供到存储器装置500的数据执行错误校正编码,以产生包括奇偶校验位(paritybit)的码字。所述码字可被传递到存储器装置500并存储在存储器装置500的多个存储区中。错误校验与校正编码器320可以错误校验与校正扇区为数据单位来执行编码。错误校验与校正解码器330可对从存储器装置500读出的数据执行错误校正解码,并判断错误校正解码是失败还是成功。错误校验与校正解码器330可使用码字中的奇偶校验位来校正数据的错误位。如果错误位数目超过阈值数目或可校正位数目,则错误校验与校正解码器330无法校正错误位,且错误校正是不可能实现的。根据示例性实施例,错误校验与校正解码器330可通过对从所述多个存储区读出的多个读取数据执行逻辑运算来提供逻辑运算数据,且可基于逻辑运算数据来执行组合式错误校验与校正解码。作为非限制性实例,错误校验与校正编码器320及错误校验与校正解码器330可利用编码调制(例如低密度奇偶校验(lowdensityparitycheck,ldpc)码、博斯-查德胡里-霍昆格母(bose,chaudhuri,hocquenghem,bch)码、涡轮码(turbocode)、里德-所罗门码(reed-solomon,rsc)、卷积码(convolutioncode)、递归系统码(recursivesystematiccode)、格码调制(trellis-codedmodulation,tcm)、块码调制(blockcodedmodulation,bcm)等)来校验并校正位错误。图5示出例如可位于图4所示存储器系统中的存储器装置500的示例性实施例。参照图5,存储器装置500包括存储器单元阵列510、地址解码器520、读写电路530、数据输入/输出(input/output,i/o)电路540、电压产生电路550及控制逻辑560。存储器单元阵列510通过字线wl及选择线连接到地址解码器520。举例来说,选择线可包括串选择线ssl及接地选择线gsl。存储器单元阵列510通过位线bl连接到读写电路530。存储器单元阵列510可包括多个存储器单元。举例来说,存储器单元阵列510包括在行方向及列方向上的存储器单元。举例来说,存储器单元阵列510包括多个存储器单元,其中每一单元存储一个或多个数据位。所述存储器单元阵列可例如具有如图10及图11中所示出的垂直与非闪存结构。地址解码器520通过字线wl、串选择线ssl及接地选择线gsl连接到存储器单元阵列510。地址解码器520可基于来自控制逻辑560的一个或多个控制信号而运作。地址解码器520从外部装置(例如存储器控制器)接收地址addr。地址解码器520可对所接收地址addr中的行地址进行解码。地址解码器520可在各字线wl中选择与经解码行地址对应的字线。地址解码器520可在包括串选择线ssl及接地选择线gsl在内的各选择线中选择与经解码行地址对应的选择线。地址解码器520可将从电压产生电路550接收的各种电压递送到所选字线、未选字线、所选选择线及未选选择线。地址解码器520可对所接收地址addr中的列地址进行解码。地址解码器520将经解码列地址dca递送到读写电路530。在示例性实施例中,地址解码器520可包括对行地址进行解码的行解码器、对列地址进行解码的列解码器及存储所接收地址addr的地址缓冲器。读写电路530通过位线bl连接到存储器单元阵列510,且通过数据线dl连接到数据输入/输出电路540。读写电路530基于来自控制逻辑560的一个或多个控制信号而运作。读写电路530从地址解码器520接收经解码列地址dca。读写电路530基于经解码列地址dca来选择位线bl。读写电路530从数据输入/输出电路540接收数据,并将所接收数据写入到存储器单元阵列510。读写电路530从存储器单元阵列510读取数据,并将读取数据递送到数据输入/输出电路540。在示例性实施例中,读写电路530可包括页缓冲器(或页寄存器)及列选择电路。在示例性实施例中,读写电路530可进一步包括感测放大器、写入驱动器及列选择电路。数据输入/输出电路540通过数据线dl连接到读写电路530。数据输入/输出电路140基于来自控制逻辑560的一个或多个控制信号而运作。数据输入/输出电路540被配置成与外部交换数据data。数据输入/输出电路540被配置成通过数据线dl将来自外部的数据data递送到读写电路530。数据输入/输出电路540可将通过数据线dl从读写电路530递送的数据data输出到外部。在示例性实施例中,数据输入/输出电路540可包括数据缓冲器。电压产生电路550连接到存储器单元阵列510、地址解码器520及控制逻辑560。电压产生电路550从外部接收电力。在示例性实施例中,电压产生电路550从外部接收电源电压vcc及接地电压vss。基于来自控制逻辑560的一个或多个控制信号,电压产生电路550可从电源电压vcc及接地电压vss产生具有各种电压电平的电压。在示例性实施例中,电压产生电路550可产生各种电压,例如,高电压vpp、编程电压、通过电压、读取电压及/或擦除电压。由电压产生电路550产生的电压在控制逻辑560的控制下被供应到地址解码器520及存储器单元阵列510。举例来说,在编程操作期间,编程电压及通过电压可被供应到地址解码器520。在读取操作期间,读取电压可被供应到地址解码器520。在擦除存储器单元阵列510期间,擦除电压可被供应到存储器单元阵列510。在其他实施例中,由电压产生电路550产生的电压可为不同的。控制逻辑560连接到地址解码器520、读写电路530、合格/失败校验电路及数据输入/输出电路540。控制逻辑560可控制非易失性存储器装置100a的一般操作。控制逻辑560可基于来自外部装置的控制信号ctrl而运作。图6示出存储器系统101的实施例,存储器系统101可包括存储器控制器301及至少一个存储器装置501。存储器装置501可在存储器控制器301的控制下执行读取操作、写入操作及擦除操作。存储器装置501可从存储器控制器301接收控制信号ctrl、命令cmd、地址addr及写入数据data,并将读取数据data传送到存储器控制器301。存储器装置501可包括片上(on-chip)错误校验与校正电路580。当数据被写入存储器单元阵列中时,片上错误校验与校正电路580可对数据进行编码以产生奇偶校验位。举例来说,奇偶校验位可存储在存储器单元阵列中的奇偶校验数据区中。当从存储器单元阵列读出数据时,片上错误校验与校正电路580可对读取数据及奇偶校验位进行解码以校验并校正位错误。片上错误校验与校正电路580可包括用于执行此种编码及解码的编码器及解码器。根据示例性实施例,片上错误校验与校正电路580中的解码器可通过对从多个存储区读出的多个读取数据执行逻辑运算来提供逻辑运算数据,并基于逻辑运算数据来执行组合式错误校验与校正解码。图7示出例如可包含在图6所示存储器系统中的存储器装置的示例性实施例。参照图7,存储器装置501包括存储器单元阵列510、地址解码器520、读写电路530、数据输入/输出(i/o)电路540、电压产生电路550、控制逻辑560及片上错误校验与校正电路580。图7所示存储器装置501可与图5所示存储器装置500实质上相同。与图5所示存储器装置500相比,图7所示存储器装置501进一步包括片上错误校验与校正电路580。片上错误校验与校正电路580可位于读写电路530与数据输入/输出电路540之间,且可执行上述错误校验与校正编码及错误校验与校正解码。图8示出错误校验与校正解码器10的实施例,错误校验与校正解码器10可包括存储单元(或区域)600、逻辑运算单元(或逻辑算子)(lou)700、选择单元(mux)800及错误校验与校正解码单元(edu)900。存储单元600可包括多个缓冲器bf1及bf2,以存储多个读取数据dtr(dtr1及dtr2)。逻辑运算单元700可对所述多个读取数据dtr1及dtr2执行逻辑运算以提供逻辑运算数据dtl。选择单元800可选择并输出所述多个读取数据dtr1及dtr2以及逻辑运算数据dtl中的一者。错误校验与校正解码单元900可基于所述多个读取数据dtr1及dtr2中的每一者来执行单独式错误校验与校正解码,或者基于逻辑运算数据dtl来执行组合式错误校验与校正解码。错误校验与校正解码单元900可产生指示错误校正是合格还是失败的合格-失败信号(pass-failsignal)pf,并在错误校正成功时提供经校正数据dtc。如以下将参照图9a及图9b所述,逻辑运算单元700可包括或运算单元及与运算单元中的至少一者。或运算单元可通过对多个读取数据dtr1及dtr2执行逐位或运算来提供或数据dtor。与运算单元可通过对多个读取数据dtr1及dtr2执行逐位与运算来提供与数据dtand。图9a及图9b示出例如可包含在图8所示错误校验与校正解码器中的逻辑运算单元的示例性实施例。参照图9a,逻辑运算单元720可包括或逻辑门722、与逻辑门724及选择器(mux)726。图8所示存储单元600中的缓冲器bf1及bf2可以串行信号(例如,位流)的形式提供第一读取数据dtr1及第二读取数据dtr2。或逻辑门722可通过对以串行方式提供的由第一读取数据dtr1及第二读取数据dtr2形成的位对执行或运算来以串行信号的形式提供或数据dtor。与逻辑门724可通过对以串行方式提供的由第一读取数据dtr1及第二读取数据dtr2形成的位对执行与运算来以串行信号的形式提供与数据dtand。选择器726可基于选择信号lsel来选择或数据dtor及与数据dtand中的一者,并提供所选一者作为逻辑运算数据dtl。参照图9b,逻辑运算单元740可包括或逻辑门742、与逻辑门744及选择器(mux)746。图8所示存储单元600中的缓冲器bf1及bf2可并行地提供第一读取数据dtr1及第二读取数据dtr2。或逻辑门742可通过对由第一读取数据dtr1及第二读取数据dtr2形成的并行位对执行或运算来以并行信号的形式提供或数据dtor。与逻辑门744可通过对由第一读取数据dtr1及第二读取数据dtr2形成的并行位对执行与运算来以并行信号的形式提供与数据dtand。选择器746可基于选择信号lsel来选择或数据dtor及与数据dtand中的一者,并提供所选一者作为逻辑运算数据dtl。图10示出图5所示存储器单元阵列510的实施例,且图11示出图10所示存储器块的等效电路实施例。参照图10,存储器单元阵列510可包括多个存储器块blk1至blkz。在示例性实施例中,存储器块blk1至blkz可由图5所示地址解码器520选择。举例来说,地址解码器520可在存储器块blk1至blkz中选择与块地址对应的特定存储器块blk。图11所示存储器块blki可以三维结构(或垂直结构)形成在衬底上。举例来说,存储器块blki中的多个存储器单元串可在与衬底交叉或垂直的方向上。参照图11,存储器块blki可包括耦合在位线bl1、bl2及bl3与共同源极线csl之间的存储器单元串ns11至ns33。存储器单元串ns11至ns33中的每一者可包括串选择晶体管sst、多个存储器单元mc1至mc8及接地选择晶体管gst。在图11中,存储器单元串ns11至ns33中的每一者被示出为包括八个存储器单元mc1至mc8。在一些示例性实施例中,存储器单元串ns11至ns33中的每一者可包括不同数目的存储器单元。串选择晶体管sst可连接到对应的串选择线ssl1至ssl3。所述多个存储器单元mc1至mc8可分别连接到对应的字线wl1至wl8。接地选择晶体管gst可连接到对应的接地选择线gsl1至gsl3。串选择晶体管sst可连接到对应的位线bl1、bl2及bl3,且接地选择晶体管gst可连接到共同源极线csl。具有相同高度的字线(例如,wl1)可被共同地连接,且接地选择线gsl1至gsl3与串选择线ssl1至ssl3可被分隔开。在图11中,存储器块blki被示出为耦合到八个字线wl1至wl8及三个位线bl1至bl3。在一些示例性实施例中,存储器单元阵列510可耦合到不同数目的字线及/或位线。图12a及图12b示出用于存储写入数据的示例性实施例。参照图12a,可将相同写入数据存储在非易失性存储器装置的不同页pg1及pg2中。因此,可分别从所述多个页pg1及pg2读出多个读取数据dtr1及dtr2。一页可表示由可同时进行编程或读出的存储器单元形成的单位。页pg1及pg2可位于同一存储器块中或不同的存储器块中。另外,页pg1及pg2可位于同一半导体裸片中或分别位于不同的半导体裸片中。参照图12b,可将相同写入数据存储在非易失性存储器装置的同一页pg的不同位置中。在此种情形中,由于多个读取数据dtr1及dtr2位于同一页pg中,因此可通过同一读取操作由锁存电路(例如页缓冲器)锁存所述多个读取数据。因此,错误校验与校正解码时间可减少。图13示出用于控制对非易失性存储器装置的错误校验与校正的方法的另一实施例。参照图13,在多个读取数据中读出第一读取数据dtr1(s11),且基于第一读取数据dtr1来执行解码(s12)。如果错误是可校正的(s13:是),则解码合格(s20)且解码结束。如果不可基于第一读取数据dtr1来校正错误(s13:否),则在多个读取数据中读出第二读取数据dtr2(s14),且基于第二读取数据dtr2来执行解码(s15)。如果错误是可校正的(s16:是),则解码合格(s20)且解码结束。如果不可基于第二读取数据dtr2来校正错误(s16:否),则通过对第一读取数据dtr1及第二读取数据dtr2执行逐位逻辑运算来提供逻辑运算数据dtl(s17)。如上所述,逻辑运算数据dtl可包括或数据dtor及与数据dtand中的至少一者。基于逻辑运算数据dtl来执行组合式错误校验与校正解码(s18)。如果可通过组合式错误校验与校正解码来校正错误(s19:是),则解码合格(s20)且解码结束。如果不可基于第二读取数据dtr2通过组合式错误校验与校正解码来校正错误(s19:否),则解码最终失败(s21)且解码结束。因此,可依次使用所述多个读取数据dtr1及dtr2中的每一者来执行单独式错误校验与校正解码(s12、s15),直到错误校正成功为止。如果单独式错误校验与校正解码关于所有所述多个读取数据dtr1及dtr2来说均失败,则可执行组合式错误校验与校正解码。即使图13为便于说明及阐述而示出第一读取数据dtr1及第二读取数据dtr2,也可在进行组合式错误校验与校正解码之前关于三个或更多个读取数据来执行单独式错误校验与校正解码。图14至图16示出错误校验与校正控制方法的读取序列的实例。图14示出三层单元(triplelevelcell,tlc)的第一状态至第八状态s1至s8,其中每一个三层单元存储三个数据位。在图14中,水平轴对应于存储器单元的阈值电压vth,且垂直轴对应于与阈值电压vth对应的存储器单元的数目。可通过施加第一读取电压至第七读取电压vr1至vr7来区分开第一状态至第八状态s1至s8。图15示出与第一状态至第八状态s1至s8对应的位值的实例。第一状态至第八状态s1至s8可由“bt3bt2bt1”(例如,第一位bt1、第二位bt2及第三位bt3的不同值)表示。举例来说,如图15中所示,第一状态对应于“111”,第二状态对应于“110”,第三状态对应于“100”,第四状态对应于“000”,第五状态对应于“010”,第六状态对应于“011”,第七状态对应于“001”,且第八状态对应于“101”。可使用第一读取电压vr1及第五读取电压vr5来确定第一位bt1。可使用第二读取电压vr2、第四读取电压vr4及第六读取电压vr6来确定第二位bt2。可使用第三读取电压vr3及第七读取电压vr7来确定第三位bt3。图16示出与图15所示实例对应的高至低读取序列(high-to-lowreadsequence)的实施例。在读取第一位bt1的情形中,可对所选字线依次施加第五读取电压vr5及第一读取电压vr1。在读取第二位bt2的情形中,可对所选字线依次施加第六读取电压vr6、第四读取电压vr4及第二读取电压vr2。在读取第三位bt3的情形中,可对所选字线依次施加第七读取电压vr7及第三读取电压vr3。在下文中,阐述用于控制对三层单元的错误校验与校正的方法的示例性实施例。在一个实施例中,所述方法可应用于存储两个位及四个或更多个位的多层单元(multiplelevelcell,mlc)。在三层单元的情形中,每一存储器单元存储三个位,且可通过状态s1至s8来区分开各数据位。因与非单元的退化特性,与已擦除状态对应的第一状态s1可朝右侧方向(例如,增大阈值电压的方向)移动,且其他状态s2至s8朝左侧方向移动。此外,可将相同写入数据存储在不同区的三层单元中。如果对多个读取数据的第一位bt1执行或运算,则状态s1朝左侧方向移动且状态s6至s8朝右侧方向移动。如此一来,如果对多个读取数据的第三位bt3执行或运算,则状态s1至s3朝左侧方向移动且状态s8朝右侧方向移动。在第二位bt2的情形中,值1及0并非是连续的,但由于状态s7的退化可能比状态s2的退化更严重,因此与运算可为更有利的。因此,可使用与运算来使与0对应的状态s7及s8朝右侧方向移动。如以下将参照图8所述,可确定读取数据的错误类型,且可执行以下中的仅一者:基于或数据dtor进行组合式错误校验与校正解码及基于与数据dtand进行组合式错误校验与校正解码。图17示出用于基于错误类型来执行组合式错误校验与校正解码的实施例。可在第一错误类型及第二错误类型中确定多个读取数据的错误类型,且可基于所确定错误类型来执行组合式错误校验与校正解码。第一错误类型指示0错误的比率大于1错误的比率。第二错误类型指示1错误的比率大于0错误的比率。0错误指示位值1被错误地读出为位值0的情形,且1错误指示位值0被错误地读出为位值1的情形。参照图17,当读取数据的错误类型是第一错误类型时(s31:type1),通过对读取数据执行逐位或运算来提供或数据dtor(s32),且基于或数据dtor来执行组合式错误校验与校正解码(s33)。当可通过基于或数据dtor进行的组合式错误校验与校正解码来校正错误时(s34:是),解码合格(s38)且解码结束。当不可基于或数据dtor来校正错误时(s34:否),解码最终失败(s39)且解码结束。当读取数据的错误类型是第二错误类型时(s31:type2),通过对读取数据执行逐位与运算来提供与数据dtand(s35),且基于与数据dtand来执行组合式错误校验与校正解码(s36)。当可通过基于与数据dtand进行的组合式错误校验与校正解码来校正错误时(s37:是),解码合格(s40)且解码结束。当不可基于与数据dtand来校正错误时(s37:否),解码最终失败(s39)且解码结束。图18示出阐述0错误率及1错误率的实施例。参照图18,当退化严重(例如,对应于预定条件)或难以确保多层单元的许多状态之间的裕度(margin)时,两个相邻状态sa及sb可叠加。在这些情形中,可通过软决策、硬决策或另一方法来搜索与两个状态sa及sb之间的谷对应的电压。可将所搜索到的电压确定为默认读取电压vr。参照图18,当读取数据是基于默认读取电压vr时,0错误率er01及1错误率er11可分别由阴影线区域表示。假设0错误率er01等于1错误率er11。图19a、图19b、图20a及图20b示出读取条件改变及组合式错误校验与校正操作的示例性实施例。图19a及图19b示出当基于默认读取电压vr读出两个读取数据并对所述两个读取数据执行或运算时的错误率。如参照图2a至图3d所述,图19a所示阴影线区域对应于或数据的0错误率er02,且图19b所示阴影线区域对应于或数据的1错误率er12。图20a及图20b示出当基于相对于默认读取电压vr朝左侧方向移动的第一校正读取电压vra读出两个读取数据并对所述两个读取数据执行或运算时的错误率。如参照图2a至图3d所述,图20a所示阴影线区域对应于或数据的0错误率er03,且图20b所示阴影线区域对应于或数据的1错误率er13。当读取电压从默认读取电压vr改变成第一校正读取电压vra时,0错误率从图19a所示er02增加至图20a所示er03,但1错误率从图19b所示er12进一步减小至图20b所示er13。因此,与对应于默认读取电压vr的总错误率er02+er12相比,与第一校正读取电压vra对应的总错误率er03+er13可减小。因此,当组合式错误校验与校正解码是基于或数据时,将读取电压朝增加0错误率的方向改变可为有利的。图21a、图21b、图22a及图22b示出读取条件改变及组合式错误校验与校正操作的其他示例性实施例。图21a及图21b示出当基于默认读取电压vr读出两个读取数据并对所述两个读取数据执行与运算时的错误率。如参照图2a至图3d所述,图21a所示阴影线区域对应于与数据的0错误率er04,且图21b所示阴影线区域对应于与数据的1错误率er14。图22a及图22b示出当基于相对于默认读取电压vr朝右侧方向移动的第二校正读取电压vrb读出两个读取数据并对所述两个读取数据执行与运算时的错误率。如参照图2a至图3d所述,图22a所示阴影线区域对应于与数据的0错误率er05,且图22b所示阴影线区域对应于与数据的1错误率er15。当读取电压从默认读取电压vr改变成第二校正读取电压vrb时,1错误率从图21b所示er14增加至图22b所示er15,但0错误率从图21a所示er04进一步减小至图22a所示er05。因此,与对应于默认读取电压vr的总错误率er04+er14相比,与第二校正读取电压vrb对应的总错误率er05+er15可减小。因此,当组合式错误校验与校正解码是基于与数据时,将读取电压朝增加1错误率的方向改变可为有利的。图23示出读取条件改变及组合式错误校验与校正操作的示例性实施例。图23示出用于如参照图15所述读出第一位bt1的读取电压。如果基于多个读取数据、通过默认电压vr1及vr5进行的单独式错误校验与校正解码及组合式错误校验与校正解码均失败,则可改变默认读取电压vr1及vr5并接着执行读取操作及组合式错误校验与校正解码。可基于改变后的读取电压或校正读取电压从多个存储区读出多个校正读取数据。可通过对所述多个校正读取数据执行逻辑运算来提供校正逻辑运算数据,且可基于所述校正逻辑运算数据来执行组合式错误校验与校正解码。在一些示例性实施例中,如参照图19a、图19b、图20a及图20b所述,当使用或数据执行组合式错误校验与校正解码时,可将读取电压改变成增加0错误率。举例来说,可基于为增加0错误率而依据默认读取电压vr1及vr5得到的第一校正电压vr1”及vr5”从所述多个存储区读出多个第一校正读取数据。可通过对所述多个第一校正读取数据执行或运算来提供第一校正逻辑运算数据。接着,可基于第一校正逻辑运算数据来执行组合式错误校验与校正解码。在一些示例性实施例中,如参照图21a、图21b、图22a及图22b所述,当使用与数据执行组合式错误校验与校正解码时,可将读取电压改变成增加1错误率。举例来说,可基于为增加1错误率而依据默认读取电压vr1及vr5得到的第二校正电压vr1’及vr5’从所述多个存储区读出多个第二校正读取数据。可通过对所述多个第二校正读取数据执行与运算来提供第二校正逻辑运算数据,且可基于第二校正逻辑运算数据来执行组合式错误校验与校正解码。图24示出读取条件改变及组合式错误校验与校正操作的实施例。参照图24,设定第一读取条件rcon1(s51),且基于第一读取条件rcon1来读出多个读取数据dtr11及dtr12(s52)。如参照图19a、图19b、图20a及图20b所述,第一读取条件rcon1可包括朝增加0错误率的方向改变的至少一个读取电压。通过对多个读取数据dtr11及dtr12执行逐位或运算来提供或数据dtor,且基于或数据来执行组合式错误校验与校正解码(s53)。当可通过基于或数据dtor进行的组合式错误校验与校正解码来校正错误时(s54:是),解码合格(s59)且结束。当不可基于或数据dtor来校正错误时(s54:否),解码最终失败(s60)且结束。此外,设定第二读取条件rcon2(s55),且基于第二读取条件rcon2来读出多个读取数据dtr21及dtr22(s56)。如参照图21a、图21b、图22a及图22b所述,第二读取条件rcon2可包括朝增加1错误率的方向改变的至少一个读取电压。通过对所述多个读取数据dtr21及dtr22执行逐位与运算来提供与数据dtand,且基于与数据来执行组合式错误校验与校正解码(s57)。当可通过基于与数据dtand进行的组合式错误校验与校正解码来校正错误时(s58:是),解码合格(s70)且结束。当不可基于与数据dtand来校正错误时(s58:否),解码最终失败(s60)且结束。图25a及图25b示出依据错误类型进行的组合式错误校验与校正解码的错误率的实例。图25a对应于当第一读取数据dtr1的退化度等于第二读取数据dtr2的退化度时的情形。图25b对应于当第一读取数据dtr1的退化度不同于第二读取数据dtr2的退化度时的情形。在图25a及图25b中,列cl1至cl15中的每一者表示与各自情形对应的比率。“1→1”表示当1被正常地读出为1时的情形。“1→0”表示当1被错误地读出为0时的情形。“0→1”表示当0被错误地读出为1时的情形。“0→0”表示当0被正常地读出为0时的情形。列cl5表示当不执行逻辑运算时的总错误率er1。列cl14表示当执行或运算时的总错误率er2。列cl15表示当执行与运算时的总错误率er3。参照图25a,当第一读取数据dtr1的退化度等于第二读取数据dtr2的退化度时,在1错误率等于0错误率时并不存在优势(情形3)。当1错误率增加时,或运算为有利的(情形1及情形2)。当0错误率增加时,与运算为有利的(情形4及情形5)。参照图25b,当1错误率及0错误率中的每一者是100%时,可能不存在优势(情形4)。错误的改进度可按情形3、情形2及情形1依次增加。图26示出固态盘或固态驱动器的实施例。参照图26,固态驱动器1000包括多个非易失性存储器(nvm)装置1100及固态驱动器控制器1200。固态驱动器控制器1200通过多个通道ch1至chi连接到非易失性存储器装置1100。固态驱动器控制器1200包括一个或多个处理器1210、缓冲存储器1220、错误校验与校正块1230、主机接口1250及非易失性存储器(nvm)接口1260。缓冲存储器1220存储用于驱动固态驱动器控制器1200的数据。缓冲存储器1220包括各自存储数据或命令的多个存储器行(memoryline)。错误校验与校正块1230计算将要在写入操作时编程的数据的错误校正码值,并在读取操作时使用错误校正码值来校正读取数据的错误。在数据恢复操作中,错误校验与校正块1230校正从非易失性存储器装置1100恢复的数据的错误。如上所述,非易失性存储器装置1100可将相同写入数据存储在多个存储区中,且错误校验与校正块1230可基于多个读取数据的逻辑运算数据来执行组合式错误校验与校正解码以增大错误校正成功的概率。因此,根据示例性实施例的控制对非易失性存储器装置的错误校验与校正的方法及执行所述方法的存储器系统可通过基于逻辑运算数据进行组合式错误校验与校正解码来校正错误,即使所述多个读取数据中的每一者均为不可校正的也如此。因此,非易失性存储器装置的良率、可靠性及寿命可得以提高。即使基于两个读取数据dtr1及dtr2阐述了示例性实施例,示例性实施例也可被修改成使相同写入数据处于三个或更多个存储区中,且因此,可对三个或更多个读取数据执行逻辑运算以进行组合式错误校验与校正解码。在一些示例性实施例中,可对所有三个或更多个读取数据执行或运算及/或与运算以提供逻辑运算数据。在其他示例性实施例中,关于四个或更多个读取数据,可使用一些读取数据来提供或数据且可使用其他读取数据来提供与数据。本文中所公开的实施例可应用于包括(但不限于)需要进行错误校验与校正的存储器装置在内的各种装置及系统。举例来说,各实施例可应用于例如移动电话、智能电话、个人数字助理(personaldigitalassistant,pda)、便携式多媒体播放器(portablemultimediaplayer,pmp)、数字照相机、摄录像机、个人计算机(personalcomputer,pc)、服务器计算机、工作站、膝上型计算机、数字电视机(tv)、机顶盒、便携式游戏机、导航系统、以及其他电子产品及系统等的系统。本文中所述的方法、过程及/或操作可通过将要由计算机、处理器、控制器、或其他信号处理装置执行的代码或指令来执行。所述计算机、处理器、控制器、或其他信号处理装置可为本文中所述的那些元件或为除本文所述元件以外的元件。由于详细阐述了形成所述方法(或计算机、处理器、控制器、或其他信号处理装置的操作)的基础的算法,因此用于实现方法实施例的操作的代码或指令可将计算机、处理器、控制器、或其他信号处理装置转变成用于执行本文方法的专用处理器。可以例如可包括硬件、软件或此两者的逻辑来实现本文所公开实施例的控制器、处理器及其他信号产生与信号处理特征。当至少部分地以硬件来实现时,控制器、处理器及其他信号产生与信号处理特征可例如是包括(但不限于)专用集成电路、现场可编程门阵列、逻辑门的组合、片上系统(system-on-chip)、微处理器、或另一类型的处理电路或控制电路在内的各种集成电路中的任一者。当至少部分地以软件来实现时,控制器、处理器及其他信号产生与信号处理特征可例如包括用于存储将要例如由计算机、处理器、微处理器、控制器、或其他信号处理装置执行的代码或指令的存储器或其他存储装置。所述计算机、处理器、微处理器、控制器、或其他信号处理装置可为本文中所述的那些元件或为除本文所述元件以外的元件。由于详细阐述了形成方法(或计算机、处理器、微处理器、控制器、或其他信号处理装置的操作)的基础的算法,因此用于实现方法实施例的操作的代码或指令可将计算机、处理器、控制器、或其他信号处理装置转变成用于执行本文所述方法的专用处理器。以上所述方法的各种操作可通过能够执行所述操作的任何适合的构件(例如各种硬件及/或软件组件、电路及/或模块)来执行。软件可包括用于实现逻辑函数的一系列有序的可执行指令,且可被实施为由指令执行系统、设备或装置(例如单核心或多核心处理器或者含有处理器的系统)使用或结合所述指令执行系统、设备或装置使用的任何“处理器可读介质”。结合本文所公开实施例所述的方法或算法及功能的方块或步骤可直接以硬件、以由处理器执行的软件模块、或以此两者的组合来实施。如果以软件来实现,则功能可作为一个或多个指令或代码存储在有形非暂时性计算机可读介质上或者通过有形非暂时性计算机可读介质来传送。软件模块可驻存在随机存取存储器(randomaccessmemory,ram)、闪存存储器、只读存储器(readonlymemory,rom)、电可编程只读存储器(electricallyprogrammablerom,eprom)、电可擦除可编程只读存储器(electricallyerasableprogrammablerom,eeprom)、寄存器、硬盘、可装卸盘、光盘-只读存储器(cdrom)、或此项技术中已知的任何其他形式的存储介质。本文中已公开了示例性实施例,且虽然采用了特定用语,然而所述用语应仅以一般性及说明性意义而非出于限制目的来加以使用及解释。在一些情况中,如所属领域中的技术人员自本申请提交时起即明了的,除非另外指明,否则结合特定实施例所述的特征、特性及/或元件可单独使用,或者可与结合其他实施例所述的特征、特性及/或元件组合使用。因此,在不背离权利要求书中所述的实施例的精神及范围的条件下,可在形式及细节上作出各种改变。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1