错误校正电路及其操作方法与流程

文档序号:26942912发布日期:2021-10-12 17:16阅读:78来源:国知局
错误校正电路及其操作方法与流程
错误校正电路及其操作方法
1.相关申请的交叉引用
2.本技术要求于2020年4月8日提交的申请号为10-2020-0042829的韩国专利申请的优先权,其内容通过引用整体并入本文。
技术领域
3.本公开总体上涉及一种能够校正数据的错误的错误校正电路,且更特别地,涉及一种具有提高的错误校正能力的错误校正电路和错误校正电路的操作方法。


背景技术:

4.存储器系统可以包括能够存储数据的存储器装置以及能够根据主机的请求来控制存储器装置的控制器。控制器可以将从主机提供的数据编程到存储器装置,并且读取存储器装置中存储的数据,然后将读取数据输出到主机。
5.当控制器向主机传输数据或输出存储器装置中存储的数据时,数据中可能发生错误,因此,控制器可以包括能够校正这种错误的错误校正电路。
6.错误校正电路可以通过使用错误校正码来执行编码和解码。例如,错误校正电路可以包括被配置成对从主机提供的数据进行编码的错误校正编码器以及被配置成对从存储器装置读取的数据进行解码的错误校正解码器。从主机提供的数据可以是消息,并且从存储器装置读取的数据可以是码字。


技术实现要素:

7.各实施例提供了一种具有提高的错误校正能力的错误校正电路以及错误校正电路的操作方法。
8.根据本公开的一个方面,提供了一种错误校正电路,包括:第一错误校正编码器,被配置成通过对多个消息中的每一个执行第一错误校正编码来生成多个行码字;第二错误校正编码器,被配置成以包括m个列的列层为单位,将行码字中的每一个中的p位符号进行分组来组织m位符号,以及通过对配置有m位符号之中属于相同列层的m位符号的符号组中的每一个执行第二错误校正编码来生成多个列码字,其中p和m中的每一个是自然数;第一错误校正解码器,被配置成对与多个行码字对应的读取行向量中的每一个执行第一错误校正解码,以及输出第一错误校正解码的软信息,该软信息对应于第一错误校正解码失败的每个读取行向量中的p位符号中的每一个;以及第二错误校正解码器,被配置成基于与p位符号中的每一个对应的软信息来确定与列码字对应的读取列向量中的m位符号中的每一个是否可靠,并且基于对m位符号中的每一个是否可靠的确定,对读取列向量执行第二错误校正解码。
9.根据公开的另一方面,提供了一种操作错误校正电路的方法,该方法包括:通过对多个消息中的每一个执行第一错误校正编码来生成多个行码字;通过以包括m个列的列层为单位将行码字中的每一个中的p位符号进行分组来组织m位符号,其中p和m中的每一个是
自然数;通过对配置有m位符号之中属于相同列层的m位符号的符号组中的每一个执行第二错误校正编码来生成多个列码字;对与多个行码字对应的读取行向量中的每一个执行第一错误校正解码;基于第一错误校正解码的软信息来确定与列码字对应的读取列向量中的m位符号中的每一个是否可靠,该软信息对应于第一错误校正解码失败的每个读取行向量中的p位符号中的每一个;并且基于对m位符号中的每一个是否可靠的确定,对读取列向量执行第二错误校正解码。
10.根据本公开的另一方面,提供了一种用于操作解码器的方法,该方法包括:使用第一错误校正方案来对与多个页面相关联的多个码字进行解码,每个码字包括多个数据符号和多个奇偶符号;在与多个页面之中已经解码失败的失败页面对应的数据符号之中确定至少一个可靠数据符号;使用第一错误校正方案来对多个码字之中包括可靠数据符号的选择码字进行校正;并且使用第二错误校正方案来对该多个页面进行解码。
附图说明
11.下面参照附图更全面地描述各个实施例;然而,本发明的特征和方面可以不同于在任何公开的实施例中的布置或配置,因此本发明不限于任何公开的实施例,也不受任何公开的实施例限制。相反,提供这些实施例使得本公开是彻底的和完整的,并且向本领域技术人员充分传达实施例的范围。而且,在整个说明书中,对“一个实施例”、“另一个实施例”等的参考不一定仅针对一个实施例,并且对任何此类短语的不同参考不一定是针对相同的实施例。
12.在附图中,为了示出清楚,可能会夸大尺寸。应当理解,当一个元件被称为“在”两个元件“之间”时,该元件可以是这两个元件之间的唯一元件,或者也可以存在一个或多个中间元件。相同的附图标记始终表示相同的元件。
13.图1是示出根据本公开的实施例的错误校正编码的示图。
14.图2a至图2c是示出根据本公开的实施例的错误校正解码的示图。
15.图3是示出根据本公开的实施例的错误校正编码的示图。
16.图4a至图4c是示出根据本公开的实施例的错误校正解码的示图。
17.图5是示出根据本公开的实施例的错误校正电路的示图。
18.图6是示出根据本公开实施例的错误校正编码器的操作方法的流程图。
19.图7是示出根据本公开实施例的错误校正解码器的操作方法的流程图。
20.图8是示出根据本公开的实施例的存储器系统的示图。
21.图9是示出根据本公开的实施例的存储器装置的示图。
22.图10是示出存储块的示图。
23.图11是示出如图8所示的包括存储器控制器的存储器系统的另一示例的示图。
24.图12是示出如图8所示的包括存储器控制器的存储器系统的另一示例的示图。
具体实施方式
25.图1是示出根据本公开的实施例的错误校正编码的示图。
26.参照图1,可以对多个消息中的每一个执行第一错误校正编码,以生成多个码字。通过对消息执行第一错误校正编码而生成的码字可以被称为行码字cr。可以通过使用各种
错误校正码来执行第一错误校正编码。虽然在图1中示出了通过使用二进制或非二进制低密度奇偶校验(ldpc)码执行第一错误校正编码的示例,但是本公开的实施例不限于此。当执行第一错误校正编码时,可以生成包括n个符号(包括位)的行码字cr。此处,n可以是自然数。
27.可以对每个符号组sg执行第二错误校正编码以生成多个码字,该符号组sg包括多个行码字cr中的符号之中属于相同列层的符号。列层可以包括多个列。尽管在图1中示出了其中每个列层包括4个位的示例,但是本公开不限于此。
28.通过对属于相同列层的每个符号组sg执行第二错误校正编码而生成的码字可以称为列码字cc。可以通过使用不同的错误校正码来执行第二错误校正编码。例如,可以通过使用最大距离可分(mds)码来执行第二错误校正编码。mds码可以包括例如里德-所罗门(reed-solomon(rs))码、扩展rs码和/或双扩展rs码,但本公开的实施例不限于此。作为第二错误校正编码的结果,可以生成附加行ar。此处,a可以是2或更大的自然数。一个列码字cc可以包括一个符号组sg和一个奇偶校验组pg,并且一个奇偶校验组pg可以包括m位符号。此处,m可以是2或更大的自然数,且小于n。包括所有的多个行码字cr和附加行ar的组可以称为码字组cg。也就是说,码字组cg可以包括多个行码字cr和多个列码字cc。
29.图2a至图2c是示出根据本公开的实施例的错误校正解码的示图。
30.图2a示出读取行向量120a、120b和120c对应于参照图1描述的多个行码字cr,并且读取列向量220a、220b和220c对应于参照图1描述的多个列码字cc。读取行向量120a、120b和120c中的每一个可以包括n个符号。
31.可以对行码字cr之中与目标行码字对应的目标读取行向量120a执行第一错误校正解码。例如,可以通过使用二进制ldpc码或非二进制ldpc码来执行第一错误校正解码,但本公开的实施例不限于此。
32.当对目标读取行向量120a的第一错误校正解码失败时,可以将目标读取行向量120a中的所有符号确定为不可靠符号。
33.可以对与码字组(例如,图1所示的cg)中包括的行码字(例如,图1所示的cr)之中除目标行码字之外的其他行码字对应的读取行向量执行第一错误校正解码。在下面的描述中,为了方便起见,将除目标行码字之外的其他行码字指定为参考行码字,并且将与参考行码字对应的读取行向量指定为参考读取行向量120b和120c。
34.考虑以下情况:在参考读取行向量120b和120c之中,对参考读取行向量120b的第一错误校正解码失败,并且对参考读取行向量120c的第一错误校正解码成功。可以将第一错误校正解码失败的参考行向量120b中的所有符号确定为不可靠符号。可以将第一错误校正解码成功的参考行向量120c中的所有符号确定为可靠符号。
35.因此,可以确定读取列向量220a、220b和220c中的m位符号中的每一个是否可靠。可以基于第一错误校正解码的软信息或软读取数据来确定m位符号中的每一个的可靠性。在下文中,基于软信息来确定可靠性,但本公开不限于此。
36.在实施例中,当基于位翻转(bf)算法执行第一错误校正解码时,软信息可以包括与符号中的每一个对应的变量节点的翻转函数值。例如,当翻转函数值小于或等于第一设定值(该第一设定值可以是正数或负数)时,符号可以具有可靠性。
37.在实施例中,当基于最小和(ms)算法执行第一错误校正解码时,软信息可以包括
与符号中的每一个对应的变量节点的后验概率(app)。例如,可以将与app大于或等于第二设定值的变量节点对应的符号确定为该符号可靠。
38.可以在读取列向量220a和220b中的m位符号之中确定可靠的m位符号。例如,当确定在m位符号中的m个符号之中数量大于或等于设定数量的符号可靠时,可以确定该m位符号可靠。例如,当确定m位符号中的所有符号可靠或者当确定m位符号中的符号之中的大多数符号可靠时,可以确定该m位符号可靠。
39.根据对可靠性的确定,如图2b所示,可以减少在读取列向量220a、220b和220c中的每一个中的m位符号之中不可靠的m位符号的数量。
40.可以对读取列向量220a、220b和220c中的每一个执行第二错误校正解码。例如,可以通过使用mds码来执行第二错误校正解码,但是本公开的实施例不限于此。
41.第二错误校正解码可以包括错误解码或擦除(erasure)解码。
42.在实施例中,当读取列向量220a、220b和220c中的每一个中的m位符号之中被确定为不可靠符号的符号的数量小于mds码的擦除校正能力时,可以执行擦除解码。当mds码的擦除校正能力被定义为a时,图1中描述的附加行的数量可以是a。在实施例中,在读取列向量220a、220b、220c中的每一个中的m位符号之中被确定为不可靠符号的符号的数量小于或等于mds码的错误校正能力b时,可以执行错误解码。此处,b可以是a的一半(即a/2)。
43.考虑以下情况:对读取列向量220a的第二错误校正解码失败,并且对读取列向量220b和220c的第二错误校正解码成功。
44.当对读取列向量220b和220c的第二错误校正解码成功时,如图2c所示,在读取列向量220b和220c中的所有的m位符号之中可能不存在任何不可靠符号。因此,如图2c所示,可以减少读取行向量120a和120b中的符号之中的不可靠符号的数量。随后,可以对目标读取行向量120a执行第一错误校正解码。因为目标读取行向量120a中的符号之中不可靠符号的数量减少,所以可以增加第一错误校正解码的成功概率。
45.图3是示出根据本公开的实施例的错误校正编码的示图。
46.参照图3,可以对多个消息中的每一个执行第一错误校正编码,以生成多个码字。通过对消息执行第一错误校正编码而生成的码字可以称为行码字cr。可以通过使用各种错误校正码来执行第一错误校正编码。虽然在图3中示出了通过使用非二进制低密度奇偶校验(ldpc)码执行第一错误校正编码的示例,但是本公开的实施例不限于此。当通过使用非二进制ldpc码执行第一错误校正编码时,可以生成包括n/q个q位符号的行码字cr。此处,n可以是自然数,并且q可以是2或更大且小于n的自然数。其中,q仅作为示例示出,并且可以使用其它表示方式,例如p,但是本公开的实施例不限于此。
47.可以对每个符号组sg执行第二错误校正编码以生成多个码字,该符号组sg配置有多个行码字cr中的q位符号之中属于相同列层的q位符号。列层可以包括多个列,并且在图3中示出了每一个列层存在两个列的示例。通过对配置有属于相同列层的q位符号的每个符号组sg执行第二错误校正编码而生成的码字可以称为列码字cc。可以通过使用各种错误校正码来执行第二错误校正编码。例如,可以通过使用最大距离可分(mds)码来执行第二错误校正编码。作为第二错误校正编码的结果,可以生成附加行ar。此处,a可以是2或更大的自然数。一个列码字cc可以包括一个符号组sg和一个奇偶校验组pg,并且一个奇偶校验组pg可以包括a个m位符号。此处,m是q的倍数。包括所有的多个行码字cr和附加行ar的组可以称
为码字组cg。也就是说,码字组cg可以包括多个行码字cr和多个列码字cc。
48.图4a至图4c是示出根据本公开的实施例的错误校正解码的示图。
49.参照图4a,读取行向量320a、320b和320c对应于参照图3描述的多个行码字cr,并且读取列向量420a、420b和420c对应于参照图3描述的多个列码字cc。读取行向量320a、320b和320c中的每一个可以包括n/q个q位符号。此处,n可以是自然数,q可以是2或更大且小于n的自然数。
50.可以对与行码字cr之中的目标行码字对应的目标读取行向量320a执行第一错误校正解码。例如,可以通过使用非二进制ldpc码来执行第一错误校正解码,但本公开的实施例不限于此。
51.可以以q位符号为单位执行第一错误校正解码。此处,q可以是m的约数中除1以外的任意约数。
52.当对目标行向量320a的第一错误校正解码失败时,可以将目标读取行向量320a中的所有的q位符号确定为不可靠符号。
53.可对与码字组中的行码字之中除目标行码字之外的其他参考行码字对应的参考读取行向量320b和320c执行第一错误校正解码。考虑以下情况:在参考读取行向量320b和320c之中,对参考读取行向量320b的第一错误校正解码失败,并且对参考读取行向量320c的第一错误校正解码成功。可以将第一错误校正解码失败的参考读取行向量320b中的所有的q位符号确定为不可靠符号。可以将第一错误校正解码成功的参考行向量320c中的所有的q位符号确定为可靠符号。
54.因此,可以确定读取列向量420a、420b和420c中的m位符号中的每一个是否可靠。可以基于第一错误校正解码的软信息来确定m位符号中的每一个的可靠性。在下文中,基于软信息来确定可靠性,但本公开不限于此。
55.在实施例中,当基于符号翻转算法执行第一错误校正解码时,软信息可以包括与q位符号中的每一个对应的变量节点的翻转函数值。例如,可以将与翻转函数值大于或等于第一设定值的变量节点对应的q位符号确定为可靠。
56.在实施例中,当基于最小和(ms)算法执行第一错误校正解码时,软信息可以包括与q位符号中的每一个对应的变量节点的后验概率(app)。例如,可以将与app大于或等于第二设定值的变量节点对应的q位符号确定为可靠。
57.可以确定读取列向量420a、420b和420c中的m位符号之中可靠的m位符号。例如,当确定m位符号中的m/q个q位符号之中数量大于或等于设定数量的q位符号可靠时,可以将该m位符号确定为可靠。例如,当确定m位符号中的所有的q位符号可靠,或者当确定m位符号中的q位符号之中的大多数q位符号可靠时,可以确定该m位符号可靠。
58.根据对可靠性的确定,如图4b所示,可以减少读取列向量420a、420b和420c中的每一个中的m位符号之中不可靠的m位符号的数量。
59.可以对读取列向量420a、420b和420c中的每一个执行第二错误校正解码。例如,可通过使用mds码来执行第二错误校正解码,但本公开的实施例不限于此。
60.第二错误校正解码可以包括错误解码或擦除解码。在实施例中,当读取列向量420a、420b和420c中的每一个中的m位符号之中被确定为不可靠符号的符号的数量小于mds码的擦除校正能力时,可以执行擦除解码。当mds码的擦除校正能力被定义为a时,图3中描
述的附加行的数量可以是a。在实施例中,当读取列向量420a、420b和420c中的每一个中的m位符号之中被确定为不可靠符号的符号的数量小于或等于mds码的错误校正能力b时,无论错误的位置如何,都可以执行错误解码。此处,b可以是a的一半(即a/2)。
61.考虑以下情况:对读取列向量420a的第二错误校正解码失败,并且对读取列向量420b和420c的第二错误校正解码成功。
62.当对读取列向量420b和420c的第二错误校正解码成功时,如图4c所示,读取列向量420b和420c中的所有的m位符号都可以变为可靠符号。因此,如图4c所示,可以减少读取行向量320a和320b中的m位符号之中不可靠符号的数量。随后,可以对目标读取行向量320a执行第一错误校正解码。因为目标读取行向量320a中的m位符号之中不可靠符号的数量减少,所以第一错误校正解码成功的概率增加。
63.图5是示出根据本发明实施例的错误校正电路100的示图。
64.参照图5,错误校正电路100可以包括错误校正编码器110和错误校正解码器120。
65.错误校正编码器110可以通过对原始数据执行错误校正编码来生成码字,并且将所生成的码字输出到信道。错误校正编码器110可以包括第一错误校正编码器112和第二错误校正编码器114。
66.第一错误校正编码器112可以对多个消息执行第一错误校正编码。例如,第一错误校正编码器112可以通过使用多个消息以及错误校正码的生成矩阵来生成多个行码字。在一些实施例中,第一错误校正编码器112可以通过使用多个消息以及错误校正码的奇偶校验矩阵来生成多个行码字。在第一错误校正编码中,可以使用二进制ldpc码或非二进制ldpc码。当使用二进制ldpc码时,行码字中的每一个可以包括n个符号。当使用非二进制ldpc码时,行码字中的每一个可以包括n/q个q位符号。此处,n可以是自然数,并且q可以是2或更大且小于n的自然数。
67.第二错误校正编码器114可以将多个行码字中的符号分组成符号组。
68.当在第一错误校正解码中使用二进制ldpc码时,第二错误校正编码器114可以通过以包括m个列的列层为单位对多个行码字中的每一个中的符号进行分组来组织m位符号。此处,m可以是自然数。第二错误校正编码器114可以通过将多个行码字中的m位符号之中属于相同列层的m位符号进行分组来组织多个符号组。当行码字中的每一个包括n个位时,可以生成n/m个符号组。
69.当在第一错误校正编码中使用非二进制ldpc码时,第二错误校正编码器114可以通过以包括m个列的列层为单位将多个行码字中的每一个中的q位符号进行分组来组织m位符号。第二错误校正编码器114可以通过将多个行码字中的q位符号之中属于相同列层的m位符号进行分组来组织多个符号组。当行码字中的每一个包括n/q个q位符号时,可以生成n/m个符号组。
70.第二错误校正编码器114可以通过对n/m个符号组中的每一个执行第二错误校正编码来生成多个列码字。列码字中的每一个可包括一个符号组和一个奇偶校验组,后者可包括a个m位符号。包括所有的多个行码字和多个列码字的组可以称为码字组。第二错误校正编码器114可以将码字组输出到信道。
71.错误校正解码器120可以对从信道接收的读取向量执行错误校正解码。错误校正解码器120可以包括第一错误校正解码器122和第二错误校正解码器124。
72.第一错误校正解码器122可以从信道接收与多个行码字中的目标行码字对应的目标读取行向量,并且对所接收的目标读取行向量执行第一错误校正解码。当使用二进制ldpc码执行第一错误校正编码时,可以使用二进制ldpc码来执行第一错误校正解码。当使用非二进制ldpc码执行第一错误校正编码时,可以使用非二进制ldpc码执行第一错误校正解码。
73.当对目标读取行向量的第一错误校正解码失败时,第一错误校正解码器122可以从信道接收与作为属于码字组的行码字之中除目标行码字之外的其他行码字的参考行码字对应的参考读取行向量。进一步地,第一错误校正解码器122可以对所接收的参考读取行向量中的每一个执行第一错误校正解码。
74.第一错误校正解码器122可以向第二错误校正解码器124提供与目标读取行向量对应的第一错误校正解码的软信息,以及与第一错误校正解码失败的参考读取行向量中的每一个对应的第一错误校正解码的软信息。例如,当使用二进制ldpc码执行第一错误校正解码时,第一错误校正解码器122可以向第二错误校正解码器124提供与目标读取行向量中的符号中的每一个对应的第一错误校正解码的软信息,以及与第一错误校正解码失败的参考读取行向量中的符号中的每一个对应的第一错误校正解码的软信息。例如,当使用非二进制ldpc码执行第一错误校正解码时,第一错误校正解码器122可以向第二错误校正解码器124提供与目标读取行向量中的q位符号中的每一个对应的第一错误校正解码的软信息,以及与第一错误校正解码失败的参考读取行向量对应的第一错误校正解码的软信息。
75.第二错误校正解码器124可以基于从第一错误校正解码器122接收的软信息来确定与属于码字组的列码字中的每一个对应的读取列向量中的m位符号中的每一个是否可靠。
76.例如,当使用二进制ldpc码执行第一错误校正解码时,第二错误校正解码器124可以基于与每个符号对应的软信息来确定读取列向量中包括的m位符号是否可靠。例如,当确定m位符号中的所有符号可靠,或者当确定m位符号中的符号之中的大多数符号可靠时,可以确定该m位符号可靠。
77.例如,当使用非二进制ldpc码执行第一错误校正解码时,第二错误校正解码器124可以基于与每个q位符号对应的软信息来确定读取列向量中的m位符号是否可靠。例如,当确定m位符号中的m/q个q位符号之中的设定数量的或更多的q位符号可靠时,可以确定该m位符号可靠。例如,当确定m位符号中的所有的q位符号可靠,或者当确定m位符号中的q位符号之中的大多数q位符号可靠时,可以确定该m位符号可靠。
78.在读取列向量中的m位符号之中的一m位符号被确定为可靠而因此被设定为非错误符号之后,第二错误校正解码器124可以对该读取列向量执行第二错误校正解码。
79.第二错误校正解码可以包括错误解码和擦除解码中的至少一种。
80.第二错误校正解码器124可以对其中读取列向量中的m位符号之中被确定为不可靠的m位符号的数量小于mds码的擦除校正能力的读取列向量执行擦除解码。当mds码的擦除校正能力被定义为a个不可靠的m位符号时,a可以是自然数。
81.当读取列向量中的m位符号之中被确定为不可靠的m位符号的数量小于或等于mds码的错误校正能力b时,第二错误校正解码器124可以对该读取列向量执行错误解码。
82.第二错误校正解码器124可以向第一错误校正解码器122提供关于作为第二错误
校正解码的结果而校正的符号的信息。
83.第一错误校正解码器122可以基于第二错误校正解码的结果来校正目标读取行向量中的符号中的一些,并且对包括经校正符号的目标读取行向量执行第一错误校正解码。
84.图6是示出根据本公开的实施例的错误校正编码器110的操作方法的流程图。
85.参照图6,在步骤601中,错误校正编码器110可以通过对多个消息中的每一个执行第一错误校正编码来生成多个行码字。
86.在步骤603中,错误校正编码器110可以通过以列层为单位将多个行码字中的每一个中的符号进行分组来生成多个符号组。
87.在步骤605中,错误校正编码器110可以通过对多个符号组中的每一个执行第二错误校正编码来生成多个列码字。
88.在步骤607中,错误校正编码器110可以向信道输出包括行码字和列码字的码字组。
89.图7是示出根据本公开的实施例的错误校正解码器120的操作方法的流程图。
90.参照图7,在步骤701中,错误校正解码器120可以对与属于码字组的行码字之中的目标行码字对应的目标读取行向量执行第一错误校正解码。
91.在步骤703中,错误校正解码器120可以确定第一错误校正解码是否成功。当确定第一错误校正解码成功(步骤703处为是)时,可以在步骤705中输出经解码的目标行码字。
92.当确定第一错误校正解码失败(步骤703处为否)时,可以执行步骤711。
93.在步骤711中,错误校正解码器120可以对属于码字组的行码字之中除目标行码字之外的其他行码字,即与参考行码字对应的参考读取行向量,执行第一错误校正解码。
94.在步骤713中,错误校正解码器120可以基于与第一错误校正解码失败的、包括目标读取行向量和参考读取行向量的读取行向量对应的软信息来确定读取列向量中的符号中的每一个是否可靠。
95.在步骤715中,错误校正解码器120可以将读取列向量中的符号之中被确定为可靠的符号设定为不是错误符号的符号,并且对读取列向量执行第二错误校正解码。
96.在步骤717中,错误校正解码器120可以基于第二错误校正解码的结果来校正目标读取行向量中的符号中的一些,并且对该目标读取行向量执行第一错误校正解码。
97.图8是示出根据本公开的实施例的存储器系统2000的示图。
98.参照图8,存储器系统2000可以包括被配置成存储数据的存储器装置2200以及被配置成根据主机1000的请求来控制存储器装置2200的存储器控制器2100。
99.主机1000可以是在存储器系统2000中存储数据或从存储器系统2000检索数据的装置或系统。例如,主机1000可以包括计算机、便携式数字装置、平板电脑、数码相机、数字音频播放器、电视、无线通信装置和移动电话中的至少一种,但本公开的实施例不限于此。
100.存储器控制器2100可以控制存储器系统2000的全部操作。存储器控制器2100可以根据来自主机1000的请求而执行各种操作。存储器控制器2100可以执行在存储器装置2200中存储数据的编程操作、读取存储器装置2200中存储的数据的读取操作和/或擦除存储器装置2200中存储的数据的擦除操作。
101.存储器控制器2100可以包括主机接口2110、中央处理单元2120、存储器接口2130、缓冲存储器2140、错误校正电路2150和内部存储器2160。主机接口2110、存储器接口2130、
缓冲存储器2140、错误校正电路2150和内部存储器2160可以由中央处理单元2120控制。
102.主机接口2110可以使用各种接口协议来执行与主机1000的通信。例如,主机接口2110可以通过使用以下中的至少一种接口协议来与主机1000通信:高速非易失性存储器(nvme)、高速外围组件互连(pci-e或pcie)、高级技术附件(ata)、串行ata(sata)、并行ata(pata)、通用串行总线(usb)、多媒体卡(mmc)、增强型小型磁盘接口(esdi)、电子集成驱动器(ide)、移动工业处理器接口(mipi)、通用闪存(ufs)、小型计算机系统接口(scsi)和串列scsi(sas)。然而,本公开的实施例不限于此。
103.中央处理单元2120可以执行各种操作或生成命令和地址,以便控制存储器装置2200。例如,中央处理单元2120可以响应于从主机1000接收到的请求来生成用于编程操作、读取操作、擦除操作等的各种命令和地址,并且将所生成的命令和地址传输到存储器装置2200。
104.中央处理单元2120可以将从主机1000接收的请求中的逻辑地址转换或变换为物理地址,以便控制存储器装置2200的操作。中央处理单元2120可以通过使用内部存储器2160中存储的地址映射表将逻辑地址转换为物理地址或将物理地址转换为逻辑地址。当新数据被编程到存储器装置2200或者当存储器装置2200中存储的数据被擦除时,中央处理单元2120可以更新地址映射表。
105.中央处理单元2120可以在编程操作中对数据进行随机化,并且在读取操作中对数据进行去随机化。
106.存储器接口2130可以通过使用各种接口协议中的任意一种来执行与存储器装置2200的通信。
107.当存储器控制器2100正在控制存储器装置2200时,缓冲存储器2140可以临时存储数据。例如,从主机1000接收的编程数据可以临时存储在缓冲存储器2140中,直到编程操作完成。另外,在读取操作中从存储器装置2200读取的数据可以临时存储在缓冲存储器2140中。
108.错误校正电路2150可以对编程数据执行错误校正编码,并且对读取数据执行错误校正解码。错误校正电路2150可以是图5所示的错误校正电路100。
109.内部存储器2160可用作存储用于存储器控制器2100的操作的各种信息的存储器。内部存储器2160可以存储多个表。例如,内部存储器2160可以存储逻辑地址和物理地址彼此映射的地址映射表。
110.存储器装置2200可以利用易失性存储器装置或非易失性存储器装置来实施,在易失性存储器装置中,当供电中断时不保留所存储的数据,并且在非易失性存储器装置中,即使在供电中断时也保留所存储的数据。存储器装置2200可以在存储器控制器2100的控制下执行编程操作、读取操作、擦除操作等。
111.存储器装置2200可以包括存储数据的至少一个存储区域。该存储区域可以对应于包括多个存储器单元的一个页面、包括多个页面的一个存储块、包括多个存储块的一个平面或者包括多个平面的一个管芯,但是本公开的实施例不限于此。
112.图9是示出根据本公开的实施例的存储器装置2200的示图。
113.参照图9,存储器装置2200可以包括控制逻辑2210、外围电路2220和存储器单元阵列2240。外围电路2220可以包括电压生成器2222、行解码器2224、输入/输出电路2226、列解
码器2228、页面缓冲器组2232和电流感测电路2234。
114.控制逻辑2210可以在图8所示的存储器控制器2100的控制下控制外围电路2220。
115.控制逻辑2210可响应于通过输入/输出电路2226从存储器控制器2100接收的命令cmd和地址add来控制外围电路2220。例如,控制逻辑2210可以响应于命令cmd和地址add,输出操作信号op_cmd、行地址radd、列地址cadd、页面缓冲器控制信号pbsignals和允许位vry_bit<#>。控制逻辑2210可响应于从电流感测电路2234接收的通过或失败信号pass或fail而确定验证操作是通过还是失败。
116.外围电路2220可以执行用于将数据存储在存储器单元阵列2240中的编程操作、用于输出存储器单元阵列2240中存储的数据的读取操作以及用于擦除存储器单元阵列2240中存储的数据的擦除操作。
117.电压生成器2222可以响应于从控制逻辑2210接收的操作信号op_cmd而生成在编程操作、读取操作和擦除操作中使用的各种操作电压vop。例如,电压生成器2222可以将编程电压、验证电压、通过电压、读取电压、擦除电压、导通电压等传送到行解码器2224。
118.行解码器2224可以响应于从控制逻辑2210接收的行地址radd而将操作电压vop传送到连接到存储器单元阵列2240的存储块之中的所选择的存储块的局部线ll。局部线ll可以包括局部字线、局部漏极选择线和局部源极选择线。另外,局部线ll可以包括诸如源极线的连接到存储块的各种线。
119.输入/输出电路2226可以通过输入/输出线io将从存储器控制器2100接收的命令cmd和地址add传送到控制逻辑2210,或者与列解码器2228交换数据data。
120.列解码器2228可以响应于从控制逻辑2210接收的列地址cadd而在输入/输出电路2226和页面缓冲器组2232之间传送数据。例如,列解码器2228可以通过数据线dl与页面缓冲器pb1至pbm交换数据,或者通过列线cl与输入/输出电路2226交换数据。
121.页面缓冲器组2232可以连接到共同连接到存储块blk1至blki的位线bl1至blm。页面缓冲器组2232可以包括连接到位线bl1至blm的页面缓冲器pb1至pbm。例如,可以将一个页面缓冲器连接到位线中的每一个。页面缓冲器pb1至pbm可以响应于从控制逻辑2210接收的页面缓冲器控制信号pbsignals而操作。例如,在编程操作中,页面缓冲器pb1至pbm可以临时存储从存储器控制器2100接收的编程数据,并且根据编程数据调整施加到位线bl1至blm的电压。而且,在读取操作中,页面缓冲器pb1至pbm可以临时存储通过位线bl1至blm接收的数据,或者感测位线bl1至blm的电压或电流。
122.电流感测电路2234可响应于在读取或验证操作中从控制逻辑2210接收的允许位vry_bit<#>而生成参考电流,并且通过将从页面缓冲器组2232接收的感测电压vpb与由参考电流生成的参考电压进行比较,输出通过信号pass或失败信号fail。
123.存储器单元阵列2240可以包括存储数据的多个存储块blk1至blki。执行存储器装置2200的操作所需的用户数据和各种信息可以存储在存储块blk1至blki中。存储块blk1至blki可以以二维结构或三维结构来实施,并且彼此相同地进行配置。
124.图10是示出存储器单元阵列的存储块的示图。
125.存储器单元阵列可以包括多个存储块,每个存储块配置相同。因此,在图10中示出多个存储块中的一个代表性存储块blki。
126.在存储块blki中,可以在第一选择线和第二选择线之间连接彼此平行布置的多个
字线。第一选择线可以是源极选择线ssl,并且第二选择线可以是漏极选择线dsl。特别地,存储块blki可以包括连接在位线bl1至blm和源极线sl之间的多个串st。位线bl1至blm可以分别连接到串st,并且源极线sl可以共同连接到串st。串st可以彼此相同地进行配置,因此,作为示例,详细描述连接到第一位线bl1的串st。
127.串st可以包括彼此串联连接在源极线sl和第一位线bl1之间的源极选择晶体管sst、多个存储器单元f1至f16和漏极选择晶体管dst。一个串st中可以包括至少一个源极选择晶体管sst和至少一个漏极选择晶体管dst,并且一个串st中可以包括比附图所示的16个存储器单元f1至f16更多的存储器单元。
128.源极选择晶体管sst的源极可以连接到源极线sl,并且漏极选择晶体管dst的漏极可以连接到第一位线bl1。存储器单元f1至f16可以串联连接在源极选择晶体管sst和漏极选择晶体管dst之间。不同串st中的源极选择晶体管sst的栅极可以连接到源极选择线ssl,不同串st中的漏极选择晶体管dst的栅极可以连接到漏极选择线dsl,不同串st中的存储器单元f1至f16的栅极可以连接到多个字线wl1至wl16。不同串st中的存储器单元之中连接到相同字线的一组存储器单元可以是物理页面ppg。因此,存储块blki可以包括与字线wl1至wl16相同数量的物理页面ppg。
129.图11是示出包括图8所示的存储器控制器2100的存储器系统30000的示图。
130.参照图11,存储器系统30000可以被实施为移动电话、智能电话、平板pc、个人数字助理(pda)或无线通信装置。存储器系统30000可以包括存储器装置2200和能够控制存储器装置2200的操作的存储器控制器2100。
131.存储器控制器2100可以在处理器3100的控制下控制存储器装置2200的数据访问操作,例如,编程操作、擦除操作、读取操作等。
132.在存储器控制器2100的控制下,在存储器装置2200中编程的数据可以通过显示器3200输出。
133.无线电收发器3300可通过天线ant发射和接收无线电信号。例如,无线电收发器3300可以将通过天线ant接收的无线电信号转换为可由处理器3100处理的信号。因此,处理器3100可以处理从无线电收发器3300输出的信号,并且将处理后的信号发送到存储器控制器2100或显示器3200。存储器控制器2100可以将由处理器3100处理的信号发送到存储器装置2200。而且,无线电收发器3300可以将从处理器3100输出的信号转换为无线电信号,并且通过天线ant将该无线电信号输出到外部装置。
134.输入装置3400能够输入用于控制处理器3100的操作的控制信号或待由处理器3100处理的数据,并且可以被实施为诸如触摸板或计算机鼠标的定点装置、小键盘、键盘或图像传感器。
135.处理器3100可以控制显示器3200的操作,使得从存储器控制器2100输出的数据、从无线电收发器3300输出的数据或从输入装置3400输出的数据可以通过显示器3200输出。
136.在一些实施例中,能够控制存储器装置2200的操作的存储器控制器2100可以被实施为处理器3100的一部分,或者被实施为与处理器3100分开的芯片。
137.图12是示出包括图8所示的存储器控制器2100的存储器系统70000的示图。
138.参照图12,存储器系统70000可以被实施为存储卡或智能卡。存储器系统70000可以包括存储器装置2200、存储器控制器2100和卡接口7100。
139.存储器控制器2100可以控制存储器装置2200和卡接口7100之间的数据交换。在一些实施例中,卡接口7100可以是安全数字(sd)卡接口或多媒体卡(mmc)接口,但是本公开不限于此。
140.卡接口7100可以根据主机60000的协议而接口连接主机60000和存储器控制器2100之间的数据交换。在一些实施例中,卡接口7100可以支持通用串行总线(usb)协议和芯片间(ic)-usb协议。卡接口7100可以指能够支持由主机60000使用的协议、嵌入在硬件中的软件或信号传输方案的硬件。
141.当存储器系统70000连接到诸如pc、平板pc、数码相机、数字音频播放器、移动电话、控制台视频游戏硬件或数字机顶盒的主机60000的主机接口6200时,主机接口6200可以在微处理器6100的控制下,通过卡接口7100和存储器控制器2100与存储器装置2200进行数据通信。
142.根据本公开的实施例,可以提高错误校正电路的错误校正能力。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1