纠错电路、存储器控制器和存储器系统的制作方法

文档序号:25816746发布日期:2021-07-09 14:07阅读:100来源:国知局
纠错电路、存储器控制器和存储器系统的制作方法
纠错电路、存储器控制器和存储器系统
1.本申请要求于2019年12月23日提交的第10-2019-0172779号韩国专利申请的优先权,所述韩国专利申请的公开通过引用全部包含于此。
技术领域
2.本公开的一些示例实施例涉及存储器,更具体地,涉及存储器控制器和包括存储器控制器的存储器系统。


背景技术:

3.可使用半导体材料(诸如,硅(si)、锗(ge)、砷化镓(gaas)、磷化铟(inp)等)来实现存储器装置。存储器装置通常分为易失性存储器装置和非易失性存储器装置。
4.易失性存储器装置是指当电源断开时存储的数据丢失的存储器装置。另一方面,非易失性存储器装置是指当电源断开时保持所存储的数据的存储器装置。由于作为一种易失性存储器的动态随机存取存储器(dram)具有高存取速度,所以当在计算系统中使用时,dram被广泛用作工作存储器、缓冲存储器、主存储器等。


技术实现要素:

5.一些示例实施例提供一种能够有效地纠正在存储器模块中发生的错误的存储器控制器。
6.一些示例实施例提供一种存储器系统,所述存储器系统包括能够有效地纠正在存储器模块中发生的错误的存储器控制器。
7.根据一些示例实施例,一种存储器控制器包括纠错电路和用于控制纠错电路的中央处理器(cpu)。纠错电路包括纠错码(ecc)解码器和用于存储奇偶校验矩阵的存储器。ecc解码器对从存储器模块读取的码字执行ecc解码。这种ecc解码包括:(i)生成第一校正子和第二校正子,(ii)基于第二校正子和决策校正子,生成与码字中的错误的类型相关联的解码模式标志,(iii)基于解码模式标志在第一解码模式和第二解码模式中的一个解码模式下操作,以及(iv)选择性地纠正码字中的一个或多个符号错误和与多个数据芯片中的一个数据芯片相关联的芯片错误中的一者。
8.根据一些示例实施例,一种存储器系统包括存储器模块和用于控制存储器模块的存储器控制器。存储器模块包括多个数据芯片、第一奇偶校验芯片和第二奇偶校验芯片。存储器控制器包括纠错电路和用于控制纠错电路的中央处理器(cpu)。纠错电路包括纠错码(ecc)解码器和用于存储奇偶校验矩阵的存储器。ecc解码器对从存储器模块读取的码字执行ecc解码,从而生成第一校正子和第二校正子,基于第二校正子和决策校正子生成与码字中的错误的类型相关联的解码模式标志,基于解码模式标志在第一解码模式和第二解码模式中的一个解码模式下操作,并且选择性地纠正码字中的一个或多个符号错误和与所述多个数据芯片中的一个数据芯片相关联的芯片错误中的一者。
9.根据一些示例实施例,一种用于控制具有多个数据芯片、第一奇偶校验芯片和第
二奇偶校验芯片的存储器模块的存储器控制器,包括纠错电路和用于控制纠错电路的中央处理器(cpu)。纠错电路包括纠错码(ecc)编码器、ecc解码器和用于存储奇偶校验生成矩阵和奇偶校验矩阵的存储器。ecc编码器使用奇偶校验生成矩阵对用户数据集执行ecc编码,以生成第一奇偶校验数据和第二奇偶校验数据,并且向存储器模块提供包括用户数据集、第一奇偶校验数据和第二奇偶校验数据的码字。ecc解码器对从存储器模块读取的码字执行ecc解码以:(i)生成第一校正子和第二校正子,(ii)基于第二校正子和决策校正子,生成与码字中的错误的类型相关联的解码模式标志,(iii)基于解码模式标志在第一解码模式和第二解码模式中的一个解码模式下操作,以及(iv)选择性地纠正码字中的一个或多个符号错误和与所述多个数据芯片中的一个数据芯片相关联的芯片错误中的一者。
10.根据一些示例实施例,存储器控制器中的ecc解码器可对从存储器模块读取的码字执行ecc解码,从而使用奇偶校验矩阵的第一校验矩阵生成第一校正子,并且使用奇偶校验矩阵的第二校验矩阵生成第二校正子。解码器可基于第一校正子和第二校正子来确定码字中的错误的类型,并且可基于解码模式来纠正多个芯片中的多个错误或者一个芯片中的三个或更多个符号错误。因此,存储器控制器可高效地纠正各种类型的错误。
附图说明
11.通过参照附图详细描述本公开的示例实施例,本公开的以上和其他特征将变得更加清楚。
12.图1是示出根据示例实施例的存储器系统的框图。
13.图2是示出根据示例实施例的图1的存储器系统中的存储器控制器的框图。
14.图3示出根据示例实施例的与图1的存储器系统中的多个突发长度对应的数据集。
15.图4是示出根据示例实施例的图1的存储器模块中的数据芯片之一的框图。
16.图5示出根据示例实施例的图4的数据芯片中的第一存储体阵列。
17.图6是示出根据示例实施例的图2中的纠错电路的示例的框图。
18.图7示出存储在图6的纠错电路中的存储器中的奇偶校验生成矩阵。
19.图8示出构成图7中的第二校验矩阵的单位子矩阵。
20.图9示出图8中的单位矩阵。
21.图10示出图7中的伽罗瓦域子矩阵的部分。
22.图11示出根据示例实施例的图6的纠错电路中的ecc编码器的示例。
23.图12示出存储在图6的纠错电路中的存储器中的奇偶校验生成矩阵。
24.图13示出根据示例实施例的图6的纠错电路中的ecc解码器的示例。
25.图14a示出根据示例实施例的图13的ecc解码器中的校正子生成电路的示例。
26.图14b示出根据示例实施例的图13的ecc解码器中的第一解码器的示例。
27.图14c示出根据示例实施例的图13的ecc解码器中的第二解码器的示例。
28.图15示出根据示例实施例的图13的ecc解码器的操作。
29.图16a至图18示出根据示例实施例的ecc解码器可纠正的各种类型的错误。
30.图19是示出ecc解码器基于第一校正子和第二校正子确定的各种类型的错误的表。
31.图20是示出根据示例实施例的纠正存储器控制器中的错误的方法的流程图。
32.图21是示出根据示例实施例的操作存储器系统的方法的流程图,存储器系统包括存储器模块和用于控制存储器模块的存储器控制器。
33.图22是示出根据示例实施例的存储器系统可采用的存储器模块的框图。
34.图23是示出根据示例实施例的具有四列(quad-rank)存储器模块的存储器系统的框图。
35.图24是示出根据示例实施例的包括存储器模块的移动系统900的框图。
具体实施方式
36.在下文中将参照附图更充分地描述本公开的示例实施例。贯穿附图,相同的参考标号可表示相同的元件。
37.图1是示出根据示例实施例的存储器系统的框图。参照图1,存储器系统20可包括存储器控制器100和存储器模块mm。存储器模块mm包括多个存储器芯片(或存储器装置)200a至200k(其中,a和k是正整数,并且k大于a)、200pa和200pb。多个存储器芯片200a至200k、200pa和200pb包括:多个数据芯片200a至200k以及第一奇偶校验芯片200pa和第二奇偶校验芯片200pb。
38.存储器控制器100可控制存储器系统20的整体操作。存储器控制器100可控制主机与多个存储器芯片200a至200k、200pa和200pb之间的整体数据交换。例如,存储器控制器100可响应于来自主机的请求/命令,将数据写入多个存储器芯片200a至200k、200pa和200pb中,或者从多个存储器芯片200a至200k、200pa和200pb读取数据。此外,存储器控制器100可向多个存储器芯片200a至200k、200pa和200pb发出操作命令,以控制多个存储器芯片200a至200k、200pa和200pb。
39.在示例实施例中,多个存储器芯200a至200k、200pa和200pb中的每个包括易失性存储器单元(诸如,动态随机存取存储器(dram))。在其他示例实施例中,多个存储器芯片200a至200k、200pa和200pb中的每个包括非易失性存储器单元(诸如,与非(nand)闪存装置)。在这种情况下,存储器系统20可对应于固态驱动器(ssd)。
40.在示例实施例中,数据芯片200a至200k的数量可以是16,但是数据芯片200a至200k的数量不限于此。在示例实施例中,数据芯片200a至200k中的每个可被称为数据存储器,奇偶校验芯片200pa和200pb中的每个可被称为纠错码(ecc)存储器或冗余存储器。
41.存储器控制器100将地址addr和命令cmd发送到存储器模块mm,并且可与存储器模块mm交换码字cw。
42.存储器控制器100可包括纠错电路130,并且纠错电路130可使用奇偶校验生成矩阵(parity generation matrix)对用户数据集执行纠错码(ecc)编码以生成奇偶校验数据集,并且可在存储器系统20的写入操作中向存储器模块mm提供包括用户数据集和奇偶校验数据集的码字。用户数据集可被存储在数据芯片200a至200k中,奇偶校验数据集的第一部分可被存储在第一奇偶校验芯片200pa中,奇偶校验数据集的第二部分可被存储在第二奇偶校验芯片200pb中。
43.此外,纠错电路130可使用奇偶校验矩阵(parity check matrix)对从存储器模块mm读取的码字cw执行ecc解码以生成第一校正子和第二校正子,可基于第一校正子和第二校正子生成与码字cw中的错误的类型相关联的解码模式标志,可基于解码模式标志在第一
解码模式和第二解码模式中的一个解码模式下操作,并且可选择性地纠正码字cw中的一个或多个符号错误(symbol error)和码字cw中的芯片错误中的一者。芯片错误可与数据芯片200a至200k中的一个相关联,并且一个或多个符号错误可与码字cw中的符号相关联。因此,纠错电路130可纠正与一个数据芯片中的错误相关联的芯片错误和在多个数据芯片中发生的多个错误,并且可纠正各种类型的错误。
44.图2是示出根据示例实施例的图1的存储器系统中的存储器控制器的框图。参照图2,存储器控制器100包括中央处理器(cpu)110、主机接口120、数据寄存器125、纠错电路130、命令缓冲器190和地址缓冲器195。纠错电路130包括ecc编码器140、ecc解码器150和(ecc)存储器180。
45.主机接口120从主机接收请求req和用户数据集sdq,并将用户数据集sdq提供给数据寄存器125。数据寄存器125将用户数据集sdq提供给纠错电路130。ecc编码器140可使用奇偶校验生成矩阵对用户数据集sdq执行ecc编码以生成第一码字cw1。相反,ecc解码器150可使用奇偶校验矩阵对从存储器模块mm提供的码字cw2执行ecc解码以纠正码字cw2中的错误,向cpu 110提供用户数据集sdq和纠正后的用户数据集c_sdq中的一个,并且向cpu 110提供与纠错相关联的错误标志信号dsf。存储器180可存储奇偶校验生成矩阵和奇偶校验矩阵。
46.cpu 110接收用户数据集sdq或纠正后的用户数据集c_sdq,并且控制纠错电路130、命令缓冲器190和地址缓冲器195。命令缓冲器190存储与请求req对应的命令cmd,并且在cpu 110的控制下将命令cmd发送到存储器模块mm。地址缓冲器195存储地址addr,并且在cpu 110的控制下将地址addr发送到存储器模块mm。
47.图3示出根据示例实施例的与图1的存储器系统中的多个突发长度(burst length)对应的数据集。参照图3,数据芯片200a至200k和奇偶校验芯片200pa以及200pb中的每个可执行突发操作。这里,突发操作是指通过顺序地增加或减少从存储器控制器100提供的初始地址来写入或读取大量数据的操作。突发操作的基本单元可被称为突发长度bl。
48.参照图3,与多个突发长度对应的数据集dq_bl1至dq_blk中的每个被输入到数据芯片200a至200k中的每个,或者从数据芯片200a至200k中的每个输出。数据集dq_bl1至dq_blk中的每个可包括与多个突发长度中的每个突发长度对应的数据段dq_bl_sg11至dq_bl_sg18。数据集dq_bl1至dq_bl18可对应于用户数据集sdq。在图3中假设突发长度为八(8),并且假设突发操作被执行一次。当在数据芯片200a至200k中的每个中执行突发操作时,与多个突发长度对应的第一奇偶校验数据prtr被输入到第一奇偶校验芯片200pa或者从第一奇偶校验芯片200pa输出,并且与多个突发长度对应的第二奇偶校验数据prts被输入到第二奇偶校验芯片200pb或者从第二奇偶校验芯片200pb输出。第二奇偶校验数据prts可包括第一部分prts1和第二部分prts2,第一奇偶校验数据prtr可包括第一部分prtr1和第二部分prtr2。
49.图4是示出根据示例实施例的图1的存储器模块中的数据芯片之一的框图。在图4中,假设图1中的数据芯片200a至200k中的每个采用易失性存储器装置。参照图4,数据芯片200a可包括控制逻辑210、地址寄存器220、存储体控制逻辑230、行地址复用器240、列地址锁存器250、行解码器260、列解码器270、存储器单元阵列300、感测放大器单元285、输入/输出(i/o)选通电路290、数据输入/输出(i/o)缓冲器295和刷新计数器245。存储器单元阵列
300可包括第一存储体阵列至第八存储体阵列310、320、330、340、350、360、370和380。行解码器260可包括分别结合到第一存储体阵列310至第八存储体阵列380的第一存储体行解码器260a至第八存储体行解码器260h,列解码器270可包括分别结合到第一存储体阵列310至第八存储体阵列380的第一存储体列解码器270a至第八存储体列解码器270h,感测放大器单元285可包括分别结合到第一存储体阵列310至第八存储体阵列380的第一存储体感测放大器285a至第八存储体感测放大器285h。
50.第一存储体阵列310至第八存储体阵列380、第一存储体行解码器260a至第八存储体行解码器260h、第一存储体列解码器270a至第八存储体列解码器270h以及第一存储体感测放大器285a至第八存储体感测放大器285h可形成第一存储体至第八存储体。第一存储体阵列310至第八存储体阵列380中的每个可包括多条字线wl、多条位线btl以及形成在多条字线wl与多条位线btl的交叉处的多个存储器单元mc。
51.虽然数据芯片200a在图4中被示出为包括八个存储体,但是数据芯片200a可包括任何数量的存储体。地址寄存器220可从存储器控制器100接收包括存储体地址bank_addr、行地址row_addr和列地址col_addr的地址addr。地址寄存器220可将接收的存储体地址bank_addr提供给存储体控制逻辑230,可将接收的行地址row_addr提供给行地址复用器240,并且可将接收的列地址col_addr提供给列地址锁存器250。
52.存储体控制逻辑230可响应于存储体地址bank_addr而生成存储体控制信号。第一存储体行解码器260a至第八存储体行解码器260h中的与存储体地址bank_addr对应的一个可响应于存储体控制信号而被激活,第一存储体列解码器270a至第八存储体列解码器270h中的与存储体地址bank_addr对应的一个可响应于存储体控制信号而被激活。
53.行地址复用器240可从地址寄存器220接收行地址row_addr,并且可从刷新计数器245接收刷新行地址ref_addr。行地址复用器240可选择性地输出行地址row_addr或刷新行地址ref_addr作为行地址ra。从行地址复用器240输出的行地址ra可被施加到第一存储体行解码器260a至第八存储体行解码器260h。
54.第一存储体行解码器260a至第八存储体行解码器260h中的被激活的一个可对从行地址复用器240输出的行地址ra进行解码,并且可激活与行地址ra对应的字线wl。例如,激活的存储体行解码器可生成字线驱动电压,并且可将字线驱动电压施加到与行地址ra对应的字线wl。
55.列地址锁存器250可从地址寄存器220接收列地址col_addr,并且可临时存储接收的列地址col_addr。在发明构思的示例实施例中,在突发模式下,列地址锁存器250可生成从接收的列地址col_addr递增的列地址。列地址锁存器250可将临时存储或生成的列地址应用于第一存储体列解码器270a至第八存储体列解码器270h。
56.第一存储体列解码器270a至第八存储体列解码器270h中的被激活的一个可对从列地址锁存器250输出的列地址col_addr进行解码,并且可控制i/o选通电路290输出与列地址col_addr对应的数据。i/o选通电路290可包括用于对输入/输出数据进行选通的电路。i/o选通电路290还可包括用于存储从第一存储体阵列310至第八存储体阵列380输出的数据的读取数据锁存器,以及用于将数据写入到第一存储体阵列310至第八存储体阵列380的写入控制装置。
57.将从第一存储体阵列310至第八存储体阵列380中的一个存储体阵列读取的数据
可被结合到要从其读取数据的一个存储体阵列的感测放大器感测,并且可被存储在读取数据锁存器中。存储在读取数据锁存器中的数据可经由数据i/o缓冲器295被提供给存储器控制器100。将被写入第一存储体阵列310至第八存储体阵列380中的一个中的数据集dq_bl可从存储器控制器100被提供给数据i/o缓冲器295。数据i/o缓冲器295可将数据集dq_bl提供给i/o选通电路290。
58.控制逻辑电路210可控制数据芯片200a的操作。例如,控制逻辑电路210可生成用于数据芯片200a执行写入操作或读取操作的控制信号。控制逻辑电路210可包括命令解码器211和模式寄存器212,命令解码器211对从存储器控制器100接收的命令cmd进行解码,模式寄存器212设置数据芯片200a的操作模式。图1中的奇偶校验芯片200pa和200pb中的每个可具有与数据芯片200a相同或基本上相同的配置。奇偶校验芯片200pa和200pb中的每个可输入/输出对应的奇偶校验数据。
59.图5示出根据示例实施例的图4的数据芯片中的第一存储体阵列。参照图5,第一存储体阵列310包括多条字线wl1至wl2m(其中,m是大于二的正整数)、多条位线btl1至btl2n(其中,n是大于二的正整数)以及设置在字线wl1至wl2m与位线btl1至btl2n之间的交叉点附近的多个存储器单元mc。在发明构思的一个示例性实施例中,多个存储器单元mc中的每个可包括dram单元结构。多个存储器单元mc所连接到的多条字线wl1至wl2m可被称为第一存储体阵列310的行,多个存储器单元mc所连接到的多条位线bl1至bl2n可被称为第一存储体阵列310的列。
60.图6是示出根据示例实施例的图2中的纠错电路的示例的框图。参照图6,纠错电路130包括ecc编码器140、ecc解码器150和存储器180。存储器180可被称为ecc存储器180。存储器180连接到ecc编码器140和ecc解码器150,并且可存储奇偶校验生成矩阵pgm和奇偶校验矩阵pcm。ecc编码器140可通过使用奇偶校验生成矩阵pgm对用户数据集sdq执行ecc编码,以生成包括第一奇偶校验数据prtr和第二奇偶校验数据prts的奇偶校验数据集sprt,并可输出包括用户数据集sdq、第一奇偶校验数据prtr和第二奇偶校验数据prts的码字cw1。
61.ecc解码器150可从存储器模块mm接收包括用户数据集sdq、第一奇偶校验数据prtr和第二奇偶校验数据prts的码字cw2。ecc解码器150可通过使用奇偶校验矩阵pcm的第一部分对码字cw2执行ecc解码,以在输出用户数据集sdq的同时生成指示用户数据集sdq包括可纠正的错误的解码状态标志dsf。
62.ecc解码器150可通过使用奇偶校验矩阵pcm对包括用户数据集sdq、第一奇偶校验数据prtr和第二奇偶校验数据prts的码字cw2执行ecc解码,可根据用户数据集sdq中的错误的类型在第一解码模式和第二解码模式中的一种解码模式下进行操作,可选择性地纠正用户数据集sdq中的一个或多个符号错误和芯片错误中的一者,并可输出用户数据集sdq或纠正后的用户数据集c_sdq。
63.图7示出存储在图6的纠错电路中的存储器中的奇偶校验矩阵。奇偶校验生成矩阵pgm可具有与奇偶校验矩阵pcm类似的配置。参照图7,奇偶校验矩阵pcm可包括第一校验矩阵hs
21
和第二校验矩阵hs
22
。第一校验矩阵hs
21
可基于里德-所罗门码(reed-solomon code)生成,并且可用于生成第一校正子。第二校验矩阵hs
22
可基于简单奇偶校验码(simple parity check code)生成,并且可用于生成第二校正子。
64.第一校验矩阵hs
21
在其中包括与数据芯片200a至200k和第一奇偶校验芯片200pa对应的多个伽罗瓦域子矩阵(galois field sub matrixe)rsm1至rsm(k+1),并且多个伽罗瓦域子矩阵rsm1至rsm(k+1)中的每个具有p
×
p个元素。这里,p是大于三的整数。第二校验矩阵hs
22
包括与数据芯片200a至200k、第一奇偶校验芯片200pa和第二奇偶校验芯片200pb对应的(k+2)个单位子矩阵ism,并且每个单位子矩阵ism具有p
×
p个元素。
65.图8示出构成图7中的第二校验矩阵的单位子矩阵。参照图8,单位子矩阵ism包括沿对角线方向排列的p/q个单位矩阵im。这里,q是大于1且小于p的整数。每个单位子矩阵ism具有q
×
q个元素。在第二校验矩阵hs
22
中,除了单位矩阵im之外的其它元素具有值“0”。
66.图9示出图8中的单位矩阵。参照图9,沿对角线方向的q个元素具有逻辑高电平(即,值“1”),并且除了沿对角线方向的q个元素之外的其它元素具有逻辑低电平(即,值“0”)。
67.图10示出图7中的伽罗瓦域子矩阵的一部分。参照图10,伽罗瓦域子矩阵rsm1包括单位矩阵im和α矩阵α
s
、α
2s
和α
3s
。这里,s是1至4范围内的整数。伽罗瓦域子矩阵rsm(k+1)包括α矩阵α
(4k-4)
×
s
、α
(4k-3)
×
2s
、α
(4k-2)
×
2s
和α
(4k-1)
×
4s
。这里,可使用q阶本原多项式(primitive polynomial)获得α矩阵。可通过α的乘方(involution)得到α2。可通过将α乘方(4k-1)
×
4s次得到矩阵α
(4k-1)
×
4s
。矩阵的元素可属于伽罗瓦域。
68.图11示出根据示例实施例的图6的纠错电路中的ecc编码器的示例。参照图11,ecc编码器140包括第一奇偶校验生成器141、第二奇偶校验生成器143和缓冲器147。
69.第一奇偶校验生成器141使用第一生成矩阵hs
11
以符号(symbol,又称码元)为基础对用户数据集sdq执行ecc编码以生成第一奇偶校验数据prtr,并且将第一奇偶校验数据prtr提供给缓冲器147。第一奇偶校验生成器141可通过对用户数据集sdq和第一生成矩阵hs
11
执行矩阵乘法运算来生成第一奇偶校验数据prtr。
70.第二奇偶校验生成器143使用第二生成矩阵hs
12
以数据比特(单元索引(cell index))为基础对用户数据集sdq和第一奇偶校验数据prtr执行简单奇偶校验(simple parity check),以生成第二奇偶校验数据prts,并将第二奇偶校验数据prts提供给缓冲器147。简单奇偶校验是以单元为基础将数据比特求和为偶数或奇数的代码。缓冲器147接收用户数据集sdq、第一奇偶校验数据prtr和第二奇偶校验数据prts,并向存储器模块mm提供包括用户数据集sdq、第一奇偶校验数据prtr和第二奇偶校验数据prts的码字cw1。
71.图12示出存储在图6的纠错电路中的存储器中的奇偶校验生成矩阵。参照图12,奇偶校验生成矩阵pgm可包括第一生成矩阵hs
11
和第二生成矩阵hs
12
。第一生成矩阵hs
11
包括与数据芯片200a至200k和第一奇偶校验芯片200pa对应的多个伽罗瓦域子矩阵rsm1至rsm(k+1),并且多个伽罗瓦域子矩阵rsm1至rsm(k+1)中的每个具有p
×
p个元素。第一生成矩阵hs
11
可基于里德-所罗门码生成,并且可用于生成奇偶校验数据prtr。
72.第二生成矩阵hs
12
包括与数据芯片200a至200k、第一奇偶校验芯片200pa和第二奇偶校验芯片200pb对应的(k+2)个单位子矩阵ism,并且每个单位子矩阵ism具有p
×
p个元素。第二生成矩阵hs
12
可基于简单奇偶校验码生成,并可用于生成第二奇偶校验数据prts。
73.图13示出根据示例实施例的图6的纠错电路中的ecc解码器的示例。参照图13,ecc解码器150包括校正子生成电路160、第一解码器170、第二解码器175和选择电路(mux)179。ecc解码器150还可包括缓冲器167。缓冲器167接收码字cw2并将码字cw2提供给第一解码器
170和第二解码器175。
74.校正子生成电路160可使用奇偶校验矩阵pcm的第一校验矩阵基于码字cw2生成第一校正子rsdr,可使用奇偶校验矩阵pcm的第二校验矩阵基于码字cw2生成第二校正子ssdr,并可基于第一校正子rsdr和第二校正子ssdr生成解码模式标志dmfg。校正子生成电路160可将第一校正子rsdr和第二校正子ssdr提供给第一解码器170,并且可将第一校正子rsdr提供给第二解码器175,并且可将解码模式标志dmfg提供给选择电路179。
75.第一解码器170可基于第一校正子rsdr和第二校正子ssdr纠正码字cw2中的芯片错误,以提供第一输出数据集dout1。第一解码器170可对应于执行芯片删除(chip-kill)的芯片删除解码器。第二解码器175可基于第一校正子rsdr纠正码字cw2中的一个或多个符号错误,以提供第二输出数据集dout2。第二解码器175可对应于执行里德-所罗门解码的里德-所罗门解码器。选择电路179可响应于解码模式标志dmfg,在第一解码模式下提供第二输出数据集dout2作为用户数据集sdq或纠正后的用户数据集c_sdq,或者可在第二解码模式下提供第一输出数据集dout1作为用户数据集sdq或纠正后的用户数据集c_sdq。
76.图14a示出根据示例实施例的图13的ecc解码器中的校正子生成电路的示例。参照图14a,校正子生成电路160可包括第一校正子生成器161、第二校正子生成器163和标志生成器165。第一校正子生成器161可通过对码字cw2和第一校验矩阵hs
21
执行矩阵乘法运算来生成第一校正子rsdr。第二校正子生成器163可通过对码字cw2和第二校验矩阵hs
22
执行矩阵乘法运算来生成第二校正子ssdr。在一个示例中,第二校正子生成器163可通过使用第二校验矩阵hs
22
对码字cw2执行简单奇偶校验来生成第二校正子ssdr。标志生成器165可基于第一校正子rsdr和第二校正子ssdr,生成错误标志信号dsf和指示码字cw2中的错误的类型的解码模式标志dmfg。标志生成器165可将错误标志信号dsf提供给图2中的cpu 110。标志生成器165可根据码字cw2中的错误的类型来确定解码模式标志dmfg的逻辑电平。例如,标志生成器165可响应于码字cw2中的错误的类型对应于一个或两个符号错误,输出指定第一解码模式的具有第一逻辑电平的解码模式标志dmfg。例如,标志生成器165可响应于码字cw2中的错误的类型对应于三个或更多个符号错误,输出指定第二解码模式的具有第二逻辑电平的解码模式标志dmfg。
77.图14b示出根据示例实施例的图13的ecc解码器中的第一解码器的示例。参照图14b,第一解码器170可包括子校正子生成器171、校正子比较器172和数据纠正器173。子校正子生成器171可基于第二校正子ssdr和奇偶校验矩阵pcm,生成与多个数据芯片中的相应数据芯片对应的多个子校正子sbsdr。子校正子生成器171可通过将第二校正子ssdr应用于奇偶校验矩阵pcm来生成多个子校正子sbsdr。每个子校正子sbsdr可指示多个数据芯片中的相应的一个数据芯片是否具有符号错误。
78.校正子比较器172可将第一校正子rsdr与对应于多个数据芯片中的相应数据芯片的子校正子sbsdr进行比较,并且可向数据纠正器173提供指示比较结果的比较信号cs。第一校正子rsdr可包括指示发生一个或多个符号错误的位置的多个比特。数据纠正器173接收码字cw2并纠正发生在数据芯片中的三个或更多个符号错误(芯片错误),并且输出第一输出数据集dout1。因此,第一解码器170可基于子校正子sbsdr和第一校正子rsdr的比较来确定多个数据芯片之中的发生芯片错误的数据芯片。
79.图14c示出根据示例实施例的图13的ecc解码器中的第二解码器的示例。参照图
14c,第二解码器175可包括错误定位多项式(error locator polynomial,elp)计算器176、钱氏搜索(chien search,chs)块177和数据纠正器178。elp计算器176可基于第一校正子rsdr计算错误定位系数elp(错误定位多项式的系数),并且可将错误定位系数elp提供给钱氏搜索块177。
80.钱氏搜索块177可基于错误定位系数elp来搜索错误位置,并且可向数据纠正器178提供指示搜索到的错误位置的错误位置信号eps。数据纠正器178接收码字cw2,基于错误位置信号eps纠正一个符号错误或两个符号错误,并输出第二输出数据集dout2。
81.图15示出根据示例实施例的图13的ecc解码器的操作。参照图13至图15,第一解码器170和第二解码器175检查第一校正子(rs校正子)rsdr和第二校正子(spc校正子)ssdr(操作s110)。第一解码器170和第二解码器175基于检查第一校正子rsdr和第二校正子ssdr的结果来确定码字cw2中是否包括错误(操作s120)。
82.当码字cw2不包括错误时(操作s120中的“否”),ecc解码器150输出用户数据集sdq。当码字cw2包括错误时(操作s120中的“是”),第一解码器170和第二解码器175通过检查第一校正子rsdr和第二校正子ssdr来确定是否发生芯片错误(操作s130)。当没有发生芯片错误时(操作s130中的“否”),第二解码器175纠正多个数据芯片中的符号中的多个错误,以输出纠正后的用户数据集c_sdq(操作s140)。
83.当发生芯片错误时(操作s130中的“是”),第一解码器170纠正一个数据芯片中的符号错误(操作s150)。如果第一解码器170未能纠正一个数据芯片中的符号错误(在操作s150中失败),则ecc解码器150可向cpu 110输出指示符号错误未被纠正的标志信号dsf。如果第一解码器170纠正了一个数据芯片中的符号错误(在操作s150中成功),则ecc解码器150纠正与另一数据芯片相关联的符号错误(操作s160),并将标志信号dsf提供给cpu110。
84.图16a至图18示出根据示例实施例的ecc解码器可纠正的各种类型的错误。在图16a至图18中,假设芯片chip1至chip8对应于图3中的数据芯片200a至200k,芯片chip1至chip8中的每个输出用户数据dq_bl1至dq_bl8中的相应一个,第一奇偶校验芯片200pa输出第一奇偶校验数据prtr,第二奇偶校验芯片200pb输出第二奇偶校验数据prts。此外,在图16a至图18中,x表示以符号为基础在数据中发生的符号错误。
85.参照图16a,当从芯片chip4输出的用户数据dq_bl4包括符号错误x时,第二校正子ssdr指示一个符号错误,并且第一校正子rsdr具有非零值。因此,第二解码器175可在第一解码模式下纠正一个符号错误。参照图16b,当从芯片chip2和chip4输出的用户数据dq_bl2和dq_bl4包括具有相同模式的符号错误x时,第二校正子ssdr指示两个符号错误,并且第一校正子rsdr具有非零值。因此,第二解码器175可在第一解码模式下纠正两个符号错误。
86.参照图16c,当从芯片chip2和chip5输出的用户数据dq_bl2和dq_bl5包括具有随机模式的符号错误x时,第二校正子ssdr指示两个符号错误,并且第一校正子rsdr具有非零值。因此,第二解码器175可在第一解码模式下纠正两个符号错误。参照图16d,当从芯片chip5输出的用户数据dq_bl5包括具有随机模式的两个符号错误x时,第二校正子ssdr指示两个符号错误,并且第一校正子rsdr具有非零值。因此,第二解码器175可在第一解码模式下纠正两个符号错误。
87.参照图17,当从芯片chip4输出的用户数据dq_bl4包括三个符号错误x时,第二校正子ssdr指示三个符号错误,并且第一校正子rsdr具有非零值。因此,第一解码器170可在
第二解码模式下纠正来自一个数据芯片的用户数据中的符号错误。
88.参照图18,当包括在从芯片chip4输出的用户数据dq_bl4中的三个符号错误被纠正之后从芯片chip6输出的用户数据dq_bl6包括一个符号错误x时,第一解码器170可在第一解码模式下附加地纠正一个符号错误。ecc解码器150可在三个符号被纠正之后将芯片chip4标记为标记的芯片。
89.图19是示出ecc解码器基于第一校正子和第二校正子确定的各种类型的错误的表。参照图19,当在两个芯片中发生具有相同模式的符号错误时,第二校正子具有零值,而第一校正子rsdr具有非零值。当在一个芯片中发生一个符号错误或在两个芯片中发生具有随机模式的两个符号错误时,第二校正子ssdr指示一个符号错误或两个符号错误,并且第一校正子rsdr具有非零值。
90.当在一个芯片中发生三个或四个符号错误时,第二校正子ssdr指示三个或四个符号错误,并且第一校正子rsdr具有非零值。当发生一个或两个符号错误时,ecc解码器150可在第一解码模式(例如,rs模式)下操作。当在一个芯片中发生三个或四个符号错误时,ecc解码器150可在第二解码模式(例如,芯片删除模式)下操作。
91.图20是示出根据示例实施例的在存储器控制器中纠正错误的方法的流程图。参照图1至图20,提供一种在存储器控制器100中纠正错误的方法。根据该方法,存储器控制器100从包括多个数据芯片、第一奇偶校验芯片和第二奇偶校验芯片的存储器模块mm读取包括用户数据集和奇偶校验数据集的码字cw2(操作s210)。
92.存储器控制器100中的纠错电路130的ecc解码器150通过对读取的码字cw2和奇偶校验矩阵pcm的第一校验矩阵hs
21
执行矩阵乘法运算来生成第一校正子rsdr(操作s220)。ecc解码器150通过对读取的码字cw2和奇偶校验矩阵pcm的第二校验矩阵hs
22
执行矩阵乘法运算(例如,简单奇偶检验)来生成第二校正子ssdr(操作s230)。
93.ecc解码器150基于第一校正子rsdr和第二校正子ssdr确定码字cw2中的用户数据集的错误的类型和解码模式(操作s240)。ecc解码器150基于解码模式选择性地纠正读取的码字cw2中的芯片错误和一个或多个符号错误中的一者(操作s250)。
94.图21是示出根据示例实施例的操作存储器系统的方法的流程图,存储器系统包括存储器模块和用于控制存储器模块的存储器控制器。参照图1至图18以及图21,提供一种操作存储器系统20的方法,存储器系统20包括存储器模块mm和控制存储器模块mm的存储器控制器100,存储器模块mm包括多个数据芯片、第一奇偶校验芯片和第二奇偶校验芯片。根据该方法,存储器控制器100中的纠错电路130的ecc编码器140基于奇偶校验生成矩阵对用户数据集执行ecc编码,以生成包括第一奇偶校验数据和第二奇偶校验数据的奇偶校验数据集(操作s310)。
95.存储器控制器100将包括用户数据集和奇偶校验数据集的码字cw1存储在多个数据芯片、第一奇偶校验芯片和第二奇偶校验芯片中(操作s320)。存储器控制器100从多个数据芯片、第一奇偶校验芯片和第二奇偶校验芯片读取包括用户数据集和奇偶校验数据集的码字cw2(操作s330)。纠错电路130的ecc解码器150通过对读取的码字cw2和奇偶校验矩阵pcm的第一校验矩阵hs
21
执行矩阵乘法运算来生成第一校正子rsdr(操作s340)。
96.ecc解码器150通过对读取的码字cw2和奇偶校验矩阵pcm的第二校验矩阵hs
22
执行矩阵乘法运算(例如,简单奇偶校验)来生成第二校正子ssdr(操作s350)。ecc解码器150基
于第一校正子rsdr和第二校正子ssdr确定码字cw2中的用户数据集的错误的类型和解码模式(操作s360)。ecc解码器150基于解码模式选择性地纠正读取的码字cw2中的芯片错误和一个或多个符号错误中的一者(操作s370)。
97.图22是示出根据示例实施例的存储器系统可采用的存储器模块的框图。参照图22,存储器模块500包括设置在电路板501中或安装在电路板501上的控制装置590(rcd,寄存器时钟驱动器)、多个半导体存储器装置601a至601e、602a至602e、603a至603d和604a至604d、多个数据缓冲器541至545和551至555、模块电阻单元560和570、串行存在检测(spd)芯片580和电源管理集成电路(pmic)585。
98.控制装置590可在存储器控制器100的控制下控制半导体存储器装置601a至601e、602a至602e、603a至603d和604a至604d、以及pmic 585。例如,控制装置590可从存储器控制器100接收地址addr、命令cmd和时钟信号ck。spd芯片580可以是可编程只读存储器(例如,eeprom)。spd芯片580可包括存储器模块100的装置信息di或初始信息。在示例实施例中,spd芯片580可包括初始信息或装置信息di(诸如,存储器模块500的模块形式、模块配置、存储容量、模块类型、执行环境等)。
99.当包括存储器模块500的存储器系统被启动时,存储器控制器100可从spd芯片580读取装置信息di,并且可基于装置信息di识别存储器模块500。存储器控制器100可基于来自spd芯片580的装置信息di来控制存储器模块500。例如,存储器控制器100可基于来自spd芯片580的装置信息di来识别包括在存储器模块500中的半导体存储器装置的类型。
100.这里,作为印刷电路板的电路板501可在第一边缘部503与第二边缘部505之间沿垂直于第一方向d1的第二方向d2延伸。第一边缘部503和第二边缘部505可沿第一方向d1延伸。
101.控制装置590可设置在电路板501的中心上。多个半导体存储器装置601a至601e、602a至602e、603a至603d和604a至604d可在控制装置590与第一边缘部503之间以及在控制装置590与第二边缘部505之间以多行布置。在这种情况下,半导体存储器装置601a至601e以及602a至602e可在控制装置590与第一边缘部503之间沿着多个行来布置。半导体存储器装置603a至603d以及604a至604d可在控制装置590与第二边缘部505之间沿着多个行来布置。半导体存储器装置601a至601d、602a至602d、603a至603d以及604a至604d可被称为数据芯片,半导体存储器装置601e和602e可分别被称为第一奇偶校验芯片和第二奇偶校验芯片。多个半导体存储器装置601a至601e、602a至602e、603a至603d和604a至604d中的每个可通过用于接收/发送数据信号dq和数据选通信号dqs的数据传输线结合到数据缓冲器541至545以及551至554中的对应一个。
102.控制装置590可通过命令/地址传输线561将命令/地址信号(例如,ca)提供给半导体存储器装置601a至601e,并且可通过命令/地址传输线563将命令/地址信号提供给半导体存储器装置602a至602e。此外,控制装置590可通过命令/地址传输线571将命令/地址信号提供给半导体存储器装置603a至603d,并且可通过命令/地址传输线573将命令/地址信号提供给半导体存储器装置604a至604d。
103.命令/地址传输线561和563可共同连接到设置为与第一边缘部503临近的模块电阻单元560,并且命令/地址传输线571和573可共同连接到设置为与第二边缘部505临近的模块电阻单元570。
104.模块电阻单元560和570中的每个可包括连接到终端电压vtt的终端电阻器rtt/2。在这种情况下,模块电阻单元560和570的布置可减少模块电阻单元的数量,从而减少设置终端电阻器的面积。此外,多个半导体存储器装置601a至601e、602a至602e,603a至603d和604a至604d中的每个可以是dram装置。
105.spd芯片580设置为与控制装置590临近,并且pmic 585可设置在半导体存储器装置603d与第二边缘部505之间。pmic 585可基于输入电压vin产生电源电压vdd,并且可将电源电压vdd提供给半导体存储器装置601a至601e、602a至602e、603a至603d和604a至604d。虽然在图22中示出为pmic 585被设置为与第二边缘部505临近,但是在示例实施例中,pmic 585可被设置在电路板501的中心部分中以与控制装置590临近。
106.图23是示出根据示例实施例的具有四列(quad-rank)存储器模块的存储器系统的框图。参照图23,存储器系统700可包括存储器控制器710以及至少一个或多个存储器模块720和730。存储器控制器710可控制存储器模块720和/或730以执行从处理器或主机供应的命令。存储器控制器710可在处理器或主机中实现,或者可利用应用处理器或片上系统(soc)来实现。
107.为了信号完整性,可利用存储器控制器710的总线740上的电阻器rtt来实现源端接。电阻器rtt可结合到电源电压vddq。存储器控制器710可包括发送器711和接收器713,发送器711用于将信号发送到至少一个或多个存储器模块720和730,接收器713用于从至少一个或多个存储器模块720和730接收信号。存储器控制器710可包括纠错电路715,并且纠错电路715可采用图6的纠错电路130。
108.因此,纠错电路715包括ecc编码器和ecc解码器,并且ecc解码器可对来自至少一个或多个存储器模块720和730的码字执行ecc解码,以使用奇偶校验矩阵的第一校验矩阵生成第一校正子,并且使用奇偶校验矩阵的第二校验矩阵生成第二校正子,可基于第一校正子和第二校正子来确定码字中的错误的类型和解码模式,并且可基于解码模式来纠正多个芯片中的多个错误或者一个芯片中的三个或更多个符号错误。
109.至少一个或多个存储器模块720和730可被称为第一存储器模块(module1)720和第二存储器模块(module2)730。第一存储器模块720和第二存储器模块730可通过总线740结合到存储器控制器710。第一存储器模块720和第二存储器模块730中的每个可对应于图1中的存储器模块mm。第一存储器模块720可包括至少一个或多个存储器列rk1和rk2,第二存储器模块730可包括一个或多个存储器列rk3和rk4。第一存储器模块720和第二存储器模块730中的每个可包括多个数据芯片、第一奇偶校验芯片和第二奇偶校验芯片。
110.图24是示出根据示例实施例的包括存储器模块的移动系统900的框图。参照图24,移动系统900可包括应用处理器(ap)910、连接模块920、存储器模块950、非易失性存储器装置(nvm)940、用户接口930和电源970。应用处理器910可包括存储器控制器(mct)911。应用处理器910可执行应用(诸如,网络浏览器、游戏应用、视频播放器等)。连接模块920可执行与外部装置的有线或无线通信。
111.存储器模块(mm)950可存储由应用处理器910处理的数据或作为工作存储器进行操作。存储器模块950可包括多个半导体存储器装置(md)951、952、953和95q(其中,q是大于三的正整数)以及控制装置961(rcd)。
112.半导体存储器装置951、952、953、
……
、95q可包括多个数据芯片、第一奇偶校验芯
片和第二奇偶校验芯片。因此,存储器控制器911可对来自存储器模块950的码字执行ecc解码,以使用奇偶校验矩阵的第一校验矩阵生成第一校正子,并使用奇偶校验矩阵的第二校验矩阵生成第二校正子,可基于第一校正子和第二校正子确定码字中的错误的类型和解码模式,并且可基于解码模式纠正多个芯片中的多个错误或者一个芯片中的三个或更多个符号错误。
113.非易失性存储器装置940可存储用于启动移动系统900的启动镜像。用户接口930可包括至少一个输入装置(诸如,小键盘、触摸屏等)以及至少一个输出装置(例如,扬声器、显示装置等)。电源970可向移动系统900提供操作电压。移动系统900或移动系统900的组件可使用各种类型的封装来安装。
114.示例实施例可应用于包括存储器模块和包括纠错电路的存储器控制器的各种系统。
115.虽然已经参照本公开的示例实施例具体示出并描述了本公开,但是本领域普通技术人员将理解,在不脱离由权利要求限定的本公开的精神和范围的情况下,可在其中做出形式上和细节上的各种改变。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1