半导体存储器设备及其操作方法_3

文档序号:9930316阅读:来源:国知局
误检测和错误校正。
[0088]下文中,更详细地描述第一和第二错误校正码(ECC)解码操作。如上所述,状态数据可以包括在用户数据被编程在半导体存储器设备200的存储器块210中的同时应用的、包括编程电压的编程/擦除循环组的索引。即,状态数据可以包括用于用户数据的编程的编程电压的信息。状态数据可以表示与要用于被编程在存储器块210中的用户数据的读取的读取电压相对应的编程电压,以便防止编程电压和读取电压之间的失配。
[0089]状态数据可以包括编程/擦除循环组的索引,其大小在2字节以下,可以与用户数据和ECC数据一起存储。
[0090]当处理器140从ECC单元160接收到表示对用户数据ECC解码失败的信号时,基于参考图1A描述的存储在存储器190中的编程/擦除循环组的信息,处理器140可以检查由与ECC解码失败的用户数据相对应的状态数据表示的编程/擦除循环组,可以控制半导体存储器设备200使用由与ECC解码失败的用户数据相对应的状态数据表示的编程/擦除循环组对应的读取-重试组中包括的读取电压来重新读取用户数据,并将重新读取的用户数据提供给ECC单元160。
[0091]图3是示意性例示根据本发明实施例的包括在半导体存储器设备200中的存储器块210的存储器单元阵列电路的电路图。
[0092]参考图3,存储器块210可以包括分别耦合到位线BLO到BLm-1的多个单元串(cell string) 221 ο每一列的单元串221可以包括一个或更多漏极选择晶体管DST和一个或更多源极选择晶体管SST。多个存储器单元或存储器单元晶体管可以被串联地耦合在选择晶体管DST与SST之间。
[0093]存储器单元MCO到MCn-1中的每一个可以由在每个单元中存储多个位的数据信息的多级单元(MLC)形成。串221可以被分别电耦合到相应的位线BLO到BLm_l。
[0094]图4是例示根据本发明实施例的半导体存储器设备的操作的流程图。图5是例示根据本发明实施例的数据格式的示意图。
[0095]参考图4,在步骤S401中,控制器120可以接收从半导体存储器设备200的存储器块210读取的数据。可以通过作为与存储器芯片的存储器块210的编程/擦除循环的电流数相对应的读取-重试组之一的读取电压来读取数据。例如,在对数据执行读取操作的同时,控制器120可以检查包括存储器块210的存储器芯片的编程/擦除循环的当前数量。在实施例中,数据被通过属于第一编程/擦除循环组PGrl的编程电压编程到存储器块210。当所检查的存储器芯片的编程/擦除循环数落入0.2K以上0.5K以下的范围时,控制器120可以控制半导体存储器设备200使用与所检查的落入0.2K以上0.5K以下的范围的存储器芯片的编程/擦除循环数相对应的第二读取-重试组RGr2的读取电压REVLl、REVL2和REVL3来读取数据。将参考图5描述读取的数据。
[0096]参考图5,编程在存储器块210中的数据可以包括用户数据51、ECC数据53和状态数据55。ECC数据53可以被用于用户数据51的错误检测和错误校正。状态数据55可以包括在用户数据51被编程在半导体存储器设备200的存储器块210中的同时应用的、包括编程电压的编程/擦除循环组的索引。即,状态数据55可以包括用于用户数据51的编程的编程电压的信息。状态数据55可以表示与要用于被编程在存储器块210中的用户数据51的读取的读取电压相对应的编程电压,以防止编程电压和读取电压之间的失配。
[0097]状态数据55可以包括编程/擦除循环组的索引。索引的大小在2字节以下。状态数据55可以与用户数据51和ECC数据53 —起被存储。
[0098]对包括状态数据55的数据的ECC解码可能失败,从而读取的状态数据55可能具有错误。因此,由于读取的状态数据55具有错误,控制器120可以不通过参考图1A和图1B描述的存储在存储器190中的编程/擦除循环组和读取-重试组的信息来检查与编程/擦除循环组相对应的读取-重试组。将参考图6A到图6C描述存储状态数据55以防止在对状态数据55的读取操作期间的状态数据55的错误的操作。
[0099]图6A到图6C是示意性例示根据本发明实施例的将状态数据存储在存储器块中的操作的图。
[0100]参考图6A,可以在将LSB数据编程在存储器芯片中期间,将包括编程/擦除循环组的索引的状态数据55编程。
[0101]如图6A所例示,2位多级单元(MLC)可以具有2位编程数据的4个状态。包括编程/擦除循环组的索引的状态数据55可以被编程为LSB数据,且“FF”的值可以被编程为与状态数据55相对应的虚假MSB数据。存储虚假MSB和作为LSB数据的状态数据55的MLC可以具有擦除状态E和第一到第三编程状态Pl到P3中的擦除状态E和第三编程状态P3之一,因此可以保证噪声容限。
[0102]参考图6B,包括在要编程到存储器块210中的数据中的状态数据55可以重复地包括编程/擦除循环组的索引。例如,当状态数据55具有2字节或以下的大小时,可以在状态数据55中包括具有3位大小的编程/擦除循环组的索引的6个备份。稍后,包括编程/擦除循环组的索引的重复备份的状态数据55可以被读取,且主要表示(即包括在状态数据55中的编程/擦除循环组的索引的多个读取表示中、在状态数据中最频繁找到的索引)可以被确定为该编程/擦除循环组的索引。状态数据55可能被错误地读取。然而,当状态数据55包括编程/擦除循环组的索引的重复的备份时,在对状态数据55的读取操作期间状态数据55中包括的编程/擦除循环组的索引的多个表示中的主要表示可以确定编程/擦除循环组的索引。即,在对状态数据55的读取操作期间,在编程/擦除循环组的索引的多个表示中的在状态数据55中重复地找到的主要表示极可能是编程/擦除循环组的索引。
[0103]参考图6C,与参考图6A和图6B描述的实施例不同地,编程/擦除循环组的索引可以被存储在单独的状态数据存储区域中。例如,当使用属于第一编程/擦除循环组PGrl的编程电压将数据编程到第一存储器块中时,第一存储器块的地址和第一编程/擦除循环组PGrl的索引可以被存储到单独的状态数据存储区域中。以这种方式,可以确保存储在单独的状态数据存储区域中的状态数据55没有错误。因此,即使在被编程到第一存储器块中的数据具有错误时,控制器120也可以标识存储在单独状态数据存储区域中的状态数据55的编程/擦除循环组的索引,以标识与由状态数据55表示的编程/擦除循环组相对应的读取-重试组,以使用与由状态数据55表示的编程/擦除循环组相对应的读取-重试组来可靠地重新读取编程的数据。
[0104]返回参考图4,在步骤S403,控制器120可以对在步骤S401从存储器块210读取的数据执行第一 ECC解码,用于错误检测和错误校正。控制器120可以使用包括在在步骤S401从存储器块210读取的数据中的ECC数据53,来对包括在在步骤S401从存储器块210读取的数据中的用户数据51进行第一 ECC解码。在步骤S405,控制器120可以确定第一ECC解码是否成功。
[0105]当在步骤S405中,第一 ECC解码被确定为成功时,控制器120可以向主机100提供执行了第一 ECC解码的数据。
[0106]当在步骤S405中,第一 ECC解码被确定为不成功时,在步骤S407,控制器120可以根据在步骤S401从存储器块210读取的数据的状态数据55来检查编程/擦除循环组的索引。
[0107]在步骤S409,控制器120可以标识与由包括在状态数据55中的索引表示的编程/擦除循环组相对应的读取-重试组,并且可以使用与由状态数据55表示的编程/擦除循环组相对应的读取-重试组,设置用于可靠地从存储器块210重新读取编程的数据的读取电压。
[0108]在步骤S411,控制器120可以使半导体存储器设备200使用在S409中标识的读取电压再次读取相同的数据。例如,当通过属于第一编程/擦除循环组PGrl的编程电压编程数据时,在步骤S409,控制器120可以标识与由在步骤S401从存储器块210读取的数据的状态数据55中包括的第O个索引(索引O)表示的第一编程/擦除循环组PGrl相对应的第一读取-重试组RGrl,并可以设置用于从存储器块210重新读取相同数据的读取电压REVLU REVL2和REVL3。在步骤S411,控制器120可以使半导体存储器设备200使用在步骤S409中标识的第一读取-重试组RGrl的读取电压REVLUREVL2和REVL3从存储器块再次读取相同的数据。
[0109]在步骤S413,控制器120可以对在步骤S411从存储器块210读取的数据执行第二ECC解码,用于错误检测和错误校正。控制器120可以使用包括在在步骤S411从存储器块210读取的数据中的ECC数据53,来对包括在在步骤S411从存储器块210读取的数据中的用户数据51进行第二 ECC解码。在步骤S415,控制器120可以确定第二 ECC解码是否成功。
[0110]当在步骤S415第二 ECC解码被确定为成功时,控制器120可以向主机100提供执行了第二 ECC解码的数据。
[0111]当在S415中,第二 ECC解码被确定为失败时,控制器120可以在步骤S417将读取-重试组的当前索引的读取电压改变为读取-重试组的下一个索引的读取电压。例如,当在步骤S415利用第一读取-重试组RGrl的第O个索引(索引O)的读取电压REVLl、REVL2和REVL3的第二 ECC解码被确定为失败时,在步骤S417,控制器120可以将读取电压从第一读取-重试组RGrl的第O个索引(索引O)的REVLl、REVL2和REVL3改变为第一读取-重试组RGrl的第I个索引(索引I)的读取电压REVLl、REVL2和REVL3。
[0112]步骤S411到步骤S417可以被重复,直到对在步骤S411从存储器块210读取的数据的第二 ECC解码成功。在重复期间,读取电压REVLl、REVL2和REVL3可以通过读取-重试组的索引被改变。
[0113]根据本发明实施例,作为状态数据55附加地存储编程/擦除循环组的信息,该信息包括在将用户数据编程到存储器块中的同时使用的编程电压的信息。当对编程的用户数据的第一 ECC解码失败时,可以对编程的用户数据再次执行读取操作,且可以基于编程的状态数据对重新读取的用户数据执行第二 ECC解码。因此,用户数据可以被可靠地读取。
[0114]当根据本发明实施例的半导体存储器系统110的半导体存储器设备200被实现为三维(3D)非易失性存储器设备时,将更加详细地描述半导体存储器设备200。
[0115]图7到图14是示意性例示根据本发明实施例的半导体存储器设备的三维(3D)非易失性存储器设备的图,该三维(3D)非易失性存储器设备例如是以3D实现的快闪存储器设备。
[0116]图7是图2中所示的存储器块210的存储器单元阵列的框图。
[0117]参考图7,存储器单元阵列可以包括多个存储器块BLKl到BLKj,其中j是整数。多个存储器块BLKl到BLKj的每一个可以具有3D结构或者竖直结构。例如,多个存储器块BLKl到BLKj的每一个可以包括沿第一到第三方向(例如X、Y和Z方向)延伸的结构。
[0118]多个存储器块BLKl到BLKj的每一个可以包括沿第二方向延伸的多个NAND (与非)串NS。可以沿第一和第三方向设置多个NAND串NS。NAND串NS中的每一个可以被耦合到位线BL、一个或更多串选择线SSL、一个或更多接地选择线GSL、多个字线WL、一个或更多虚假字线DWL以及公共源线CSL。S卩,多个存储器块BLKl到BLKj中的每一个可以被耦合到多个位线BL、多个串选择线SSL、多个接地选择线GSL、多个字线WL、多个虚假字线DWL以及多个公共源线CSL。
[0119]图8是图7中所示多个存储器块BLKl到BLKj的一个BLKj的立体视图。图9是沿着图8所示的存储器块BLKj的线Ι-Γ截取的截面图。
[0120]参考图8和图9,存储器块BLKj可以包括沿第一到第三方向延伸的结构。
[0121]可以提供基底1111。例如,基底1111可以包括由第一类型杂质
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1