半导体存储器件的纠错电路和半导体存储器件的制作方法

文档序号:25952926发布日期:2021-07-20 17:10阅读:100来源:国知局
半导体存储器件的纠错电路和半导体存储器件的制作方法

相关申请的交叉引用

本申请要求于2020年1月16日在韩国知识产权局提交的韩国专利申请no.10-2020-0005703的优先权,其公开内容通过引用整体合并于此。

本公开的示例实施例涉及存储器件。更具体地,本公开的示例实施例涉及半导体存储器件的纠错电路。



背景技术:

半导体存储器件可以被分类为诸如闪存器件的非易失性存储器件和诸如动态随机存取存储器(dram)器件的易失性存储器件。由于dram器件的高速操作和成本效率,它们通常用于系统存储器。由于dram器件的制造设计规则的持续减小,dram器件中的存储单元的位错误可能增加,并且dram器件的良率可能降低。



技术实现要素:

本公开的一些示例实施例提供了可以增强性能和可靠性的半导体存储器件的纠错电路。

本公开的一些示例实施例提供了具有增强的性能和可靠性的半导体存储器件。

根据一些示例实施例,一种半导体存储器件的纠错电路包括纠错码(ecc)编码器和ecc解码器。所述ecc编码器使用由生成矩阵表示的纠错码,基于主数据生成奇偶校验数据,并将包括所述主数据和所述奇偶校验数据的码字存储在存储单元阵列的目标页面中。所述ecc解码器基于从所述半导体存储器件的外部提供的地址,从所述目标页面读取所述码字作为读取码字,以基于所述读取码字和奇偶校验矩阵生成不同的校正子,所述奇偶校验矩阵是基于所述ecc的;并且,将所述不同的校正子应用于所述读取码字中的所述主数据,以在所述主数据中存在单个位错误时纠正所述单个位错误,或者在所述目标页面中的相邻两个存储单元中出现两个位错误时纠正所述两个位错误。

根据一些示例实施例,一种半导体存储器件包括存储单元阵列、纠错电路和控制逻辑电路。所述存储单元阵列包括连接到字线和位线的多个易失性存储单元。所述纠错电路使用由生成矩阵表示的ecc,基于主数据生成奇偶校验数据,并将包括所述主数据和所述奇偶校验数据的码字存储在所述存储单元阵列的目标页面中;基于从所述半导体存储器件的外部提供的地址,从所述目标页面读取所述码字作为读取码字,以基于所述读取码字和奇偶校验矩阵生成不同的校正子,所述奇偶校验矩阵是基于所述ecc的;并且,将所述不同的校正子应用于所述读取码字中的所述主数据,以在所述主数据中存在单个位错误时纠正所述单个位错误,或者在所述目标页面中的相邻两个存储单元中出现两个位错误时纠正所述两个位错误。所述控制逻辑电路基于来自所述半导体存储器件的外部的命令和所述地址来控制所述纠错电路。

根据一些示例实施例,一种半导体存储器件包括存储单元阵列、纠错电路和控制逻辑电路。所述存储单元阵列包括连接到字线和位线的多个易失性存储单元。所述纠错电路使用由生成矩阵表示的ecc,基于主数据生成奇偶校验数据,并将包括所述主数据和所述奇偶校验数据的码字存储在所述存储单元阵列的目标页面中;基于从所述半导体存储器件的外部提供的地址,从所述目标页面读取所述码字作为读取码字,以基于所述读取码字和奇偶校验矩阵生成不同的校正子,所述奇偶校验矩阵是基于所述ecc的;并且,将所述不同的校正子应用于所述读取码字中的所述主数据,以在所述主数据中存在单个位错误时纠正所述单个位错误,或者在所述目标页面中的相邻两个存储单元中出现两个位错误时纠正所述两个位错误。所述控制逻辑电路基于从所述半导体存储器件的外部提供的命令和所述地址来控制所述纠错电路。所述纠错电路包括ecc解码器,所述ecc解码器根据基于所述ecc的奇偶校验矩阵来生成所述不同的校正子。所述ecc解码器生成第一子校验矩阵和第二子校验矩阵,并且基于所述地址中的行地址的最低有效位,将所述第一子校验矩阵和所述第二子校验矩阵之一应用于所述读取码字,以生成至少一个校正子以纠正所述两个位错误。

根据一些示例实施例,纠错电路和包括该纠错电路的半导体存储器件可以通过使用基于ecc的奇偶校验矩阵,将不同的校正子应用于单个位错误和两个位错误来纠正单个位错误和两个位错误,因此可以提高纠错效率。

附图说明

通过参照附图详细描述本公开的示例实施例,本公开的以上以及其他特征将变得更加明显。

图1是示出根据一些示例实施例的存储系统的框图。

图2示出了根据一些示例实施例的与图1的存储系统中的多个突发长度相对应的主数据。

图3是示出根据一些示例实施例的图1中的存储控制器的示例的框图。

图4是示出根据一些示例实施例的图3中的ecc解码器的示例的框图。

图5是示出根据本公开的一些示例实施例的图1中的半导体存储器件的框图。

图6示出了根据一些示例实施例的图5的半导体存储器件中的第一存储体阵列的示例。

图7示出了根据一些示例实施例的图5的半导体存储器件中的第一存储体阵列的示例。

图8示出了根据一些示例实施例的图7中的第一存储体阵列的一部分。

图9示出了在写入操作中图5的半导体存储器件的一部分。

图10示出了在读取操作中图5的半导体存储器件的一部分。

图11是示出根据一些示例实施例的图5的半导体存储器件中的纠错电路的示例的框图。

图12a、图12b、图12c和图12d分别示出了根据行地址的最低有效位存储在子阵列块中的数据模式中的错误位的示例。

图13是示出根据一些示例实施例的图11的纠错电路中的ecc解码器的框图。

图14示出了根据一些示例实施例的图11的纠错电路中使用的第一ecc与奇偶校验位的关系。

图15示出了根据一些示例实施例的图14中的第一ecc的示例。

图16a、图16b、图16c、图16d和图16e示出了图15的奇偶校验矩阵的示例。

图17a和图17b示出了通过使用奇偶校验矩阵生成的第一子校验矩阵的示例。

图18a和图18b示出了通过使用奇偶校验矩阵生成的第二子校验矩阵的示例。

图19a是示出根据一些示例实施例的图13的ecc解码器中的校正子生成电路的框图。

图19b是示出根据一些示例实施例的图13的ecc解码器中的选择电路的框图。

图20是示出根据一些示例实施例的图13的ecc解码器中的第一纠正器的框图。

图21是示出根据一些示例实施例的操作半导体存储器件的方法的流程图。

图22是示出根据一些示例实施例的半导体存储器件的框图。

图23是根据一些示例实施例的采用图22的半导体存储器件的3d芯片结构的截面图。

图24是示出根据一些示例实施例的包括堆叠式存储器件的半导体封装件的示图。

具体实施方式

在下文中将参照附图更充分地描述本公开的示例实施例。在整个附图中,相同的附图标记可以指代相同的元件。

图1是示出根据本公开的示例实施例的存储系统的框图。

参照图1,存储系统20可以包括存储控制器100(例如,外部存储控制器)和半导体存储器件200。

存储控制器100可以控制存储系统20的整体操作。存储控制器100可以控制外部主机与半导体存储器件200之间的整体数据交换。例如,存储控制器100可以响应于来自主机的请求,将数据写入半导体存储器件200中,或者从半导体存储器件200读取数据。

另外,存储控制器100可以向半导体存储器件200发出操作命令以控制半导体存储器件200。

在示例实施例中,半导体存储器件200是包括多个动态(易失性)存储单元的存储器件,例如,动态随机存取存储器(dram)、ddr5(双倍数据速率)同步dram(sdram)、ddr6(双倍数据速率)同步dram(sdram)或堆叠式存储器件。在一些实施例中的堆叠式存储器件的示例是高带宽存储器(hbm)。

存储控制器100向半导体存储器件200发送命令cmd和地址(信号)addr,并与半导体存储器件200交换主数据md。尽管图1中未示出,但是存储控制器100可以向半导体存储器件200发送时钟信号。

存储控制器100可以包括纠错电路130。如下所述,半导体存储器件200可以包括纠错电路400,因此存储控制器100中的纠错电路130可以被称为第二纠错电路。纠错电路130可以基于要被发送到半导体存储器件200的主数据md来生成奇偶校验数据。纠错电路130可以存储奇偶校验数据,可以在从半导体存储器件200接收到主数据md时基于主数据md来生成校验位,并且可以基于奇偶校验数据和校验位的比较来纠正从半导体存储器件200接收到的主数据md中的错误位。

半导体存储器件200包括存储主数据md的存储单元阵列(mca)300、纠错电路400和控制逻辑电路210。因为如上所述存储控制器100中的纠错电路130可以被称为第二纠错电路,所以该纠错电路400可以被称为第一纠错电路。存储单元阵列300包括沿第一方向和与第一方向交叉的第二方向布置的多个子阵列块。例如,子阵列块可以以三维构造布置,在该三维构造中第一方向垂直于包括第二方向的第二平面,并且第二方向垂直于包括第一方向的第一平面。

生成矩阵可以将ecc表示为矩阵形式的结构/数据格式。生成矩阵可以包括例如多个列向量,并且列向量可以被划分成组。纠错电路400可以使用由生成矩阵表示的ecc来生成奇偶校验数据。生成矩阵的列向量的组可以包括例如与主数据md的子数据单元以及奇偶校验数据相对应的多个代码组。纠错电路400可以通过对主数据md执行ecc编码来生成奇偶校验数据,并且可以通过对主数据md执行ecc解码,使用奇偶校验数据来检测和/或纠正从存储单元阵列300读取的主数据md中的至少一个错误位。

纠错电路400可以包括ecc解码器。纠错电路400中的ecc解码器可以被配置为从存储单元阵列300中的目标页面读取数据(例如,码字)。纠错电路400中的ecc解码器可以被配置为基于从半导体存储器件200的外部提供的地址,从存储单元阵列300的目标页面读取码字,以产生至少一个校正子。校正子是读取码字中是否出现错误的指示,并且通常在校正子计算产生非零结果时显示,该非零结果表示例如要存储的码字中的原始主数据md与读取码字中的主数据之间存在差异。ecc解码器可以基于从存储单元阵列300读取的数据(例如,码字)来生成校正子,并且可以通过向读取的数据中的单个位错误(当读取的数据中存在单个位错误时)和目标页面中的相邻两个存储单元中出现的两位错误(当目标页面中的相邻两个存储单元中出现两个位错误时)施加不同的校正子,来基于校正子纠正读取数据中的至少一个错误位。ecc解码器可以使用基于ecc的奇偶校验矩阵生成不同的校正子。稍后关于例如图16a、图16b、图16c、图16d和图16e详细说明奇偶校验矩阵。奇偶校验矩阵可以包括与多个子数据单元相对应的多个代码组以及与奇偶校验位相对应的代码组。

主数据md包括多个数据位,并且多个数据位可以被划分成多个子数据单元。ecc可以包括被划分成与子数据单元和奇偶校验数据相对应的多个代码组的多个列向量。

半导体存储器件200可以执行突发(burst)操作。在本文中,突发操作是指通过顺序地增加或减少从存储控制器100提供的初始地址来写入或读取大量数据的操作。突发操作的基本单位可以被称为突发长度bl。在示例实施例中,突发长度bl是指通过顺序地增加或减少初始地址来连续读取或写入数据的操作的数目。图1的存储系统20中的主数据md可以对应于多个突发长度。

图2示出了根据一些示例实施例的与图1的存储系统中的多个突发长度相对应的主数据。

参照图2,向半导体存储器件200输入或从半导体存储器件200输出与多个突发长度相对应的主数据md。主数据md包括数据段md_sg1~md_sgt(t是等于或大于8的自然数),每个数据段对应于多个突发长度中的一个突发长度。在图2中假设突发长度为8。然而,示例实施例不限于此。与多个突发长度相对应的主数据md可以存储在半导体存储器件200的存储单元阵列300中。

图3是示出根据一些示例实施例的图1中的存储控制器的示例的框图。

参照图3,存储控制器100可以包括cpu(中央处理单元)110、数据缓冲器120、纠错电路130、命令缓冲器180和地址缓冲器190。纠错电路130可以包括奇偶校验发生器140、缓冲器145、存储第二ecc(ecc2)155的存储器150和ecc解码器160。

cpu110从主机接收请求req和数据dta,并将数据dta提供给数据缓冲器120和奇偶校验发生器140。

数据缓冲器120缓冲数据dta以将第一主数据md1提供给半导体存储器件200。

奇偶校验发生器140连接到存储器150,使用第二ecc155对数据dta执行ecc编码以生成系统奇偶校验数据prtc,并将系统奇偶校验数据prtc存储在缓冲器145中。

在半导体存储器件200的读取操作中,ecc解码器160从半导体存储器件200接收第二主数据md2。ecc解码器160通过使用第二ecc155和系统奇偶校验数据prtc对第二主数据md2执行ecc解码,并且可以将纠正后的主数据c_md2提供给cpu110。cpu110将纠正后的主数据c_md2提供给主机。

命令(cmd)缓冲器180在cpu110的控制下,存储对应于请求req的命令cmd并且将命令cmd发送到半导体存储器件200。地址缓冲器190在cpu110的控制下,存储地址addr并且将地址addr发送到半导体存储器件200。

图4是示出根据一些示例实施例的图3中的ecc解码器的示例的框图。

参照图4,ecc解码器160可以包括校验位生成器161、校正子生成器163和数据纠正器165。

校验位生成器161接收第二主数据md2,并使用第二ecc155生成与第二主数据md2相对应的校验位chbc。

校正子生成器163基于符号将系统奇偶校验数据prtc与校验位chbc进行比较以生成校正子数据sdrc。校正子数据sdrc指示第二主数据md2是否包括至少一个错误位以及该至少一个错误位的位置。

数据纠正器165接收第二主数据md2,并基于校正子数据sdrc纠正第二主数据md2中的至少一个错误位,以输出纠正后的主数据c_md2。

图5是示出根据本公开的一些示例实施例的图1中的半导体存储器件的框图。

参照图5,半导体存储器件200包括控制逻辑电路210、地址寄存器220、存储体(bank)控制逻辑230、行地址多路复用器(ramux)240、列地址(ca)锁存器250、行译码器260、列译码器270、存储单元阵列300、读出放大器单元285、i/o门控电路290(输入/输出门控电路)、数据i/o缓冲器295(数据输入/输出缓冲器)、刷新计数器245和纠错电路400。

存储单元阵列300包括第一至第八存储体阵列310~380。行译码器260包括分别耦接到第一至第八存储体阵列310~380的第一至第八存储体行译码器260a~260h。列译码器270包括分别耦接到第一至第八存储体阵列310~380的第一至第八存储体列译码器270a~270h。读出放大器单元285包括分别耦接到第一至第八存储体阵列310~380的第一至第八存储体读出放大器285a~285h。第一至第八存储体阵列310~380、第一至第八存储体行译码器260a~260h、第一至第八存储体列译码器270a~270h、以及第一至第八存储体读出放大器285a~285h可以形成第一至第八存储体。另外,第一至第八存储体阵列310~380均可以被划分成沿第一方向和第二方向(例如,水平方向和竖直方向;或者例如,深度方向和竖直方向)布置的多个子阵列块。

第一至第八存储体阵列310~380均包括耦接到字线wl和位线btl的多个存储单元mc。

尽管在图5中示出了半导体存储器件200包括八个存储体,但是本公开的示例实施例不限于此,并且半导体存储器件200可以包括任何数目的存储体。

控制逻辑电路210从存储控制器100接收命令cmd。地址寄存器220从存储控制器100接收包括存储体地址bank_addr、行地址row_addr和列地址col_addr的地址addr。

地址寄存器220可以将接收到的存储体地址bank_addr提供给存储体控制逻辑230,将接收到的行地址row_addr提供给行地址多路复用器240,并将接收到的列地址col_addr提供给列地址锁存器250。

存储体控制逻辑230可以响应于存储体地址bank_addr生成存储体控制信号。第一至第八存储体行译码器260a~260h中的与存储体地址bank_addr相对应的存储体行译码器可以响应于存储体控制信号被激活,并且第一至第八存储体列译码器270a~270h中的与存储体地址bank_addr相对应的存储体列译码器可以响应于存储体控制信号被激活。

行地址多路复用器240可以从地址寄存器220接收行地址row_addr,并且可以从刷新计数器245接收刷新行地址ref_addr。行地址多路复用器240可以选择性地输出行地址row_addr和刷新行地址ref_addr之一。从行地址多路复用器240输出的行地址ra可以被应用于第一至第八存储体行译码器260a~260h。

第一至第八存储体行译码器260a~260h中的被激活的存储体行译码器可以对从行地址多路复用器240输出的行地址ra进行译码,并且可以激活与行地址ra相对应的字线。例如,被激活的存储体行译码器可以将字线驱动电压施加到与行地址ra相对应的字线。

列地址锁存器250可以从地址寄存器220接收列地址col_addr,并且可以临时存储接收到的列地址col_addr。在示例实施例中,在突发模式下,列地址锁存器250可以生成从接收到的列地址col_addr开始递增的列地址。列地址锁存器250可以将临时存储的或所生成的列地址应用于第一至第八存储体列译码器270a~270h。

第一至第八存储体列译码器270a~270h中的被激活的存储体列译码器可以对从列地址锁存器250输出的列地址col_addr进行译码,并且可以控制i/o门控电路290输出与从列地址锁存器250接收的列地址col_addr相对应的数据。或者,第一至第八存储体列译码器270a~270h中的被激活的存储体列译码器可以控制i/o门控电路290输出与所映射的列地址mca相对应的数据。

i/o门控电路290包括用于门控输入/输出数据的电路。i/o门控电路290还包括:用于存储从第一至第八存储体阵列310~380输出的数据的读取数据锁存器,以及用于将数据写入第一至第八存储体阵列310~380的写入驱动器。

要从第一至第八存储体阵列310~380中的一个存储体阵列读取的码字cw可以由耦接到要从中读取码字的该一个存储体阵列的读出放大器感测,并且可以被存储在读取数据锁存器中。存储在读取数据锁存器中的码字cw由纠错电路400进行ecc解码,并且可以经由数据i/o缓冲器295提供给存储控制器100。

要写入第一至第八存储体阵列310~380中的一个存储体阵列中的数据(或主数据)md可以从存储控制器100被提供给数据i/o缓冲器295。主数据md被提供给纠错电路400。

纠错电路400对主数据md执行ecc编码以生成奇偶校验数据,并且向i/o门控电路290提供包括主数据md和奇偶校验数据的码字cw。控制逻辑电路210被配置为控制i/o门控电路290,使得主数据md的子数据单元和奇偶校验数据被存储在子阵列块当中的目标子阵列块中。i/o门控电路290可以基于来自控制逻辑电路210的第一控制信号ctl1将主数据md和奇偶校验数据存储在目标页面中。另外,纠错电路400基于从目标页面读取的奇偶校验数据对从目标页面读取的主数据执行ecc解码。

当纠错电路400执行ecc编码和ecc解码时,纠错电路400可以使用由生成矩阵表示的第一ecc。例如,第一ecc的数据结构/数据格式可以是生成矩阵。第一ecc可以包括与数据(或主数据)md的数据位和奇偶校验数据的奇偶校验位相对应的多个列向量,并且这些列向量可以被划分成与多个子数据单元和奇偶校验数据相对应的多个代码组。数据位可以被划分成多个子数据单元。

纠错电路400从目标页面读取码字cw以生成至少一个校正子,并且通过将不同的校正子应用于读取码字中的单个位错误和两个位错误来纠正读取码字中的至少一个错误位。当目标页面中的相邻两个存储单元中出现读取码字中的两个位错误时,纠错电路对读取码字中的两个位错误进行纠正。纠错电路400使用基于第一ecc的一个奇偶校验矩阵生成不同的校正子。

因此,纠错电路400可以纠正主数据中的单个位错误或两个位错误。

控制逻辑电路210可以控制半导体存储器件200的操作。例如,控制逻辑电路210可以生成用于半导体存储器件200的控制信号,以执行写入操作或读取操作。控制逻辑电路210可以包括:对从存储控制器100接收到的命令cmd进行译码的命令译码器211,以及设置半导体存储器件200的操作模式的模式寄存器212。即,控制逻辑电路210被配置为基于从半导体存储器件200的外部接收到的命令cmd和地址来控制半导体存储器件200。更具体地,控制逻辑电路210被配置为基于从半导体存储器件200的外部接收到的命令和地址,控制半导体存储器件200的元件(例如,纠错电路400)。

例如,命令译码器211可以通过对写入使能信号、行地址选通信号、列地址选通信号、片选信号等进行译码来生成与命令cmd相对应的控制信号。控制逻辑电路210可以生成用于控制i/o门控电路290的第一控制信号ctl1和用于控制纠错电路400的第二控制信号ctl2。

图6示出了根据一些示例实施例的图5的半导体存储器件中的第一存储体阵列的示例。

参照图6,第一存储体阵列310包括多条字线wl1~wlm(其中m是大于2的自然数)、多条位线btl1~btln(其中n是大于2的自然数)、以及设置在字线wl1~wlm与位线btlz1~btln之间的交叉点处的多个存储单元mc。每个存储单元mc包括耦接到字线wl1~wlm之一和位线btl1~btln之一的存取(单元)晶体管以及耦接到该单元晶体管的存储(单元)电容器。即,每个存储单元mc具有dram单元结构。

图7示出了根据一些示例实施例的图5的半导体存储器件中的第一存储体阵列的示例。

参照图7,在第一存储体阵列310中,可以在第二方向d2上设置i个子阵列块scb,并且可以在基本上垂直于第二方向d2的第一方向d1上设置j个子阵列块scb。i和j分别表示在第二方向和第一方向上的子阵列块scb的数目,并且是大于2的自然数。在每个子阵列块scb中设置多条位线、多条字线以及连接到位线和字线的多个存储单元。

i+1个子字线驱动器区域swb可以沿第二方向设置在子阵列块scb之间,以及沿第二方向d2设置在每个子阵列块scb的每一侧上。子字线驱动器可以设置在子字线驱动器区域swb中。j+1个位线读出放大器区域blsab可以例如沿第一方向d1设置在子阵列块scb之间,以及沿第一方向d1设置在每个子阵列块scb上方和下方。用于感测存储在存储单元中的数据的位线读出放大器可以设置在位线读出放大器区域blsab中。

多个结合区域conj可以与子字线驱动器区域swb和位线读出放大器区域blsab相邻设置。电压发生器设置在每个结合区域conj中。下面可以参照图8描述第一存储体阵列310中的部分390。

图8示出了根据一些示例实施例的图7中的第一存储体阵列的一部分。

参照图7和图8,在第一存储体阵列310的部分390中,设置有子阵列块scb、两个位线读出放大器区域blsab、两个子字线驱动器区域swb和四个结合区域conj。

子阵列块scb包括沿行方向(第二方向d2)延伸的多条字线wll~wl4以及沿列方向(第一方向d1)延伸的多条位线对btll~btlb1和btl2~btlb2。子阵列块scb包括设置在字线wl1~wl4与位线对btl1~btlb1和btl2~btlb2的交叉点处的多个存储单元mc。

参照图8,子字线驱动器区域swb包括分别驱动字线wl1~wl4的多个子字线驱动器(swd)551、552、553和554。子字线驱动器551和552可以设置在位于子阵列块scb左侧(在该示例中)的子字线驱动器区域swb中。另外,子字线驱动器553和554可以设置在位于子阵列块scb右侧(在该示例中)的子字线驱动器区域swb中。

位线读出放大器区域blsab包括:耦接到位线对btl1~btlb1和btl2~btlb2的位线读出放大器(blsa)560和位线读出放大器570,以及局部读出放大器(lsa)电路580和局部读出放大器电路590。位线读出放大器560可以感测并放大位线对btl1与btlb1之间的电压差,以将放大后的电压差提供给局部i/o线对lio1和liob1。

局部读出放大器电路580控制局部i/o线对lio1和liob1与全局i/o线对gio1和giob1之间的连接。局部读出放大器电路590控制局部i/o线对lio2和liob2与全局i/o线对gio2和giob2之间的连接。

如图8所示,位线读出放大器570和位线读出放大器560可以交替地设置在子阵列块scb的上部和下部。结合区域conj与位线读出放大器区域blsab和子字线驱动器区域swb相邻设置。结合区域conj也设置在图8中的子阵列块scb的每个拐角处。多个电压发生器(vg)510、520、530和540可以分别设置在结合区域conj中。

图9示出了在写入操作中图5的半导体存储器件的一部分。

在图9中,示出了控制逻辑电路210、第一存储体阵列310、i/o门控电路290和纠错电路400。

参照图9,第一存储体阵列310包括普通单元阵列nca和冗余单元阵列rca。

普通单元阵列nca包括多个第一存储块mb0~mb15(即,311~313),并且冗余单元阵列rca至少包括第二存储块314。第一存储块311~313是确定或用于确定半导体存储器件200的存储容量的存储块。第二存储块314用于ecc和/或冗余修复。由于用于ecc和/或冗余修复的第二存储块314被用于ecc、数据线修复和块修复以修复在第一存储块311~313中产生的“缺陷”单元,因此第二存储块314也被称为edb块。在每个第一存储块311~313中,以行和列布置多个第一存储单元。在第二存储块314中,以行和列布置多个第二存储单元。连接到字线wl和位线btl的交叉点的第一存储单元可以是动态存储单元。连接到字线wl和位线rbtl的交叉点的第二存储单元可以是动态存储单元。第一存储块311~313和第二存储块314均可以是图7中的子阵列块scb的代表。

i/o门控电路290包括分别连接到第一存储块311~313和第二存储块314的多个开关电路291a~291d。

纠错电路400可以通过第一数据线gio和第二数据线edbio连接到开关电路291a~291d。控制逻辑电路210可以接收命令cmd和地址addr,并且可以对命令cmd进行译码以生成用于控制开关电路291a~291d的第一控制信号ctl1和用于控制纠错电路400的第二控制信号ctl2。

当命令cmd是写入命令时,控制逻辑电路210将第二控制信号ctl2提供给纠错电路400。纠错电路400对主数据md执行ecc编码,以生成与主数据md相关联的奇偶校验数据,并向i/o门控电路290提供包括主数据md和奇偶校验数据的码字cw。控制逻辑电路210将第一控制信号ctl1提供给i/o门控电路290,使得码字cw将被存储在第一存储体阵列310中的目标页面的子页面中。

图10示出了在读取操作中图5的半导体存储器件的一部分。

参照图10,当命令cmd是指定读取操作的读取命令(第二命令)时,控制逻辑电路210将第一控制信号ctl1提供给i/o门控电路290,使得存储在第一存储体阵列310中的目标页面的子页面中的(读取)码字rcw被提供给纠错电路400。

纠错电路400对读取码字rcw执行ecc解码,以通过对单个位错误和两个位错误应用不同的校正子来纠正读取码字rcw中的单个位错误或两个位错误,并输出纠正后的主数据c_md。

图11是示出根据一些示例实施例的图5的半导体存储器件中的纠错电路的示例的框图。

参照图11,纠错电路400包括ecc存储器410、ecc编码器420和ecc解码器430。

ecc存储器410存储第一ecc(ecc1)415。第一ecc415可以由生成矩阵表示。例如,第一ecc415的数据格式/结构可以是生成矩阵。第一ecc415可以包括与主数据(例如,md)和奇偶校验数据中的数据位相对应的多个列向量。

ecc编码器420连接到ecc存储器410,并且可以在半导体存储器件200的写入操作中,使用存储在ecc存储器410中的第一ecc415对主数据md执行ecc编码以生成奇偶校验数据prt。ecc编码器420可以向i/o门控电路290提供包括主数据md和奇偶校验数据prt的码字cw。

ecc解码器430连接到ecc存储器410,可以接收包括主数据md和奇偶校验数据prt的码字cw,可以使用第一ecc415基于奇偶校验数据prt对主数据md执行ecc解码以纠正和/或检测主数据md中的错误位,并且可以输出纠正后的主数据c_md。

尽管参照图11描述了ecc存储器410耦接到ecc编码器420和ecc解码器430,但是在示例实施例中,可以利用ecc编码器420和ecc解码器430内的异或门来实现ecc存储器410。

图12a、图12b、图12c和图12d分别示出了根据行地址的最低有效位(lsb)在子阵列块中存储的数据模式(datapattern)中的错误位的示例。

图12a和图12c分别示出了在数据模式中出现单个位错误。图12b和图12d分别示出了在相邻两个存储单元中出现两个位错误。

在图12a、图12b、图12c和图12d中,x表示错误位。

参照图12a,行地址的lsb是低电平,使得行地址指定耦接到偶数字线的目标页面,并且由cinx2(单元索引)指定的存储单元包括单个位错误。参照图12b,行地址的lsb是低电平,并且由cinx5和cinx6指定的两个存储单元均包括错误位。即,在由cinx5和cinx6指定的相邻两个存储单元中出现两个位错误。在图12b中,在由例如cinx2和cinx3、cinx4和cinx5以及cinx6和cinx7指定的相邻两个存储单元中不出现两个位错误,或者仅存在很小的可能性出现两个位错误。

参照图12c,行地址的lsb是高电平,使得行地址指定耦接到奇数字线的目标页面,并且由cinx4指定的存储单元包括单个位错误。参照图12d,行地址的lsb是高电平,并且由cinx4和cinx5指定的存储单元均包括错误位。即,在由cinx4和cinx5指定的相邻两个存储单元中出现两个位错误。在图12d中,在由例如cinx1和cinx2、cinx3和cinx4、cinx5和cinx6以及cinx7和cinx8指定的相邻两个存储单元中不出现两个位错误,或者仅存在很小的可能性出现两个位错误。

如图12b和图12d所示,在多数成对的相邻两个存储单元中不出现两个位错误或仅存在很小的可能性出现两个位错误。目标页面中存储单元的结构可能基于行地址的lsb而有所不同,这可能会导致在两个相邻存储单元中出现或不出现两个位错误。

图13是示出根据一些示例实施例的图11的纠错电路中的ecc解码器的框图。

参照图13,ecc解码器430包括校正子生成电路440、第一纠正器470、第二纠正器475、第三纠正器480和选择电路490。

校正子生成电路440基于奇偶校验矩阵hs和读取码字cw生成第一校正子sdr1、第二校正子sdr2和第三校正子sdr3。校正子生成电路440基于行地址的lsblsb_ra、第一校正子sdr1以及第二校正子sdr2和第三校正子sdr3之一,生成选择信号ss。

第一纠正器470基于第一校正子sdr1纠正主数据md中的单个位错误,以提供第一输出数据dout1。第二纠正器475响应于行地址的lsblsb_ra为低电平,基于第二校正子sdr2纠正主数据md中的两个位错误,以提供第二输出数据dout2。第三纠正器480响应于行地址的lsblsb_ra为高电平,基于第三校正子sdr3纠正主数据md中的两个位错误,以提供第三输出数据dout3。

选择电路490接收主数据md、第一输出数据dout1、第二输出数据dout2和第三输出数据dout3,并基于选择信号ss和行地址的lsblsb_ra选择主数据md、第一输出数据dout1、第二输出数据dout2和第三输出数据dout3之一,以输出纠正后的主数据c_md或主数据md。

图14示出了根据一些示例实施例的图11的纠错电路中使用的第一ecc与奇偶校验位的关系。

在图14中,假设主数据md包括多个子数据单元sdu1~sdux,并且奇偶校验数据prt包括8位奇偶校验位pb1~pb8。在图14中,假设x是等于或大于八的自然数。

参照图14,第一ecc415可以被划分成与多个子数据单元sdu1~sdux和奇偶校验数据prt相对应的多个代码组cg1~cgx和pcg。代码组pcg可以包括与奇偶校验数据prt的奇偶校验位pb1~pb8相对应的多个列向量pv1~pv8。

图15示出了根据一些示例实施例的图14中的第一ecc的示例。

在图15中,假设主数据md包括128位数据位d1~d128,并且奇偶校验位pb1~pb8对应于数据位d129~d136。即,假设图14中x为16。

参照图15,主数据md的数据位d1~d128可以被划分成第一至第十六子数据单元sdu1~sdu16。第一至第十六子数据单元sdu1~sdu16均包括8位数据位。

第一ecc415(即,上面关于图13提到的奇偶校验矩阵hs)包括与第一至第十六子数据单元sdu1~sdu16相对应的第一至第十六代码组cg1~cg16以及与奇偶校验位pb1~pb8相对应的代码组pcg。

图16a、图16b、图16c、图16d和图16e示出了图15的奇偶校验矩阵的示例。

参照图16a、图16b、图16c、图16d和图16e,奇偶校验矩阵hs包括与第一至第十六子数据单元sdu1~sdu16相对应的第一至第十六代码组cg1~cg16以及与奇偶校验位pb1~pb8相对应的代码组pcg。

第一至第十六代码组cg1~cg16包括列向量cv11~cv18、cv21~cv28、cv31~cv38、cv41~cv48、cv51~cv58、cv61~cv68、cv71~cv78、cv81~cv88、cv91~cv98、cv101~cv108、cv111~cv118、cv121~cv128、cv131~cv138、cv141~cv148、cv151~cv158和cv161~cv168,并且代码组pcg包括列向量pv1~pv8。

列向量cv11~cv18对应于数据位d1~d8。列向量cv21~cv28对应于数据位d9~d16。列向量cv31~cv38对应于数据位d17~d24。列向量cv41~cv48对应于数据位d25~d32。列向量pv1~pv8对应于数据位d129~d136。

图13中的校正子生成电路440可以通过使用奇偶校验矩阵hs的列向量cv11~cv168和pv1~pv8生成第一子校验矩阵(图19a中的hs1)和第二子校验矩阵(图19a中的hs2)。

图17a和图17b示出了通过使用奇偶校验矩阵生成的第一子校验矩阵的示例。

ecc解码器430中的校正子生成电路440可以通过使用奇偶校验矩阵hs的列向量cv11~cv168和pvl~pv8,生成当目标页面耦接到偶数字线时要应用的第一子校验矩阵(图19a中的hs1)。

参照图17a和图17b,校正子生成电路440可以通过对图16a、图16b、图16c、图16d和图16e中的列向量cv11~cv168和pv1~pv8当中的相邻的第(2i-1)列向量和第(2i)列向量执行异或运算,生成第一子校验矩阵hs1。这里,i是1至k之一,k是子数据单元sdu1~sdu16和奇偶校验数据prt中的每一者中的数据位的数目。第一子校验矩阵hs1可以包括偶数列向量ecv1~ecv68。

例如,校正子生成电路440可以通过对列向量cv11和cv12执行异或运算生成偶数列向量ecv1,并且可以通过对列向量cv13和cv14执行异或运算生成偶数列向量ecv2。

图18a和图18b示出了通过使用奇偶校验矩阵生成的第二子校验矩阵的示例。

ecc解码器430中的校正子生成电路440可以通过使用奇偶校验矩阵hs的列向量cv11~cv168和pvl~pv8,生成当目标页面耦接到奇数字线时要应用的第二子校验矩阵(图19a中的hs2)。

参照图18a和图18b,校正子生成电路440可以通过对图16a、图16b、图16c、图16d和图16e中的列向量cv11~cv168和pv1~pv8当中的相邻的第(2i)列向量和第(2i+1)列向量执行异或运算,生成第二子校验矩阵hs2。第二子校验矩阵hs2可以包括奇数列向量ocv1~ocv51。

例如,校正子生成电路440可以通过对列向量cv12和cv13执行异或运算生成奇数列向量ocv1,并且可以通过对列向量cv14和cv15执行异或运算生成奇数列向量ocv2。

图19a是示出根据一些示例实施例的图13的ecc解码器中的校正子生成电路的框图。

参照图19a,校正子生成电路440可以包括第一校正子生成器445、子校验矩阵生成器450、第二校正子生成器460、第三校正子生成器465、多路复用器(mux)467和选择信号生成器(ss生成器)468。

第一校正子生成器445可以通过将奇偶校验矩阵hs应用于读取码字cw来生成第一校正子sdr1。子校验矩阵生成器450可以基于奇偶校验矩阵hs的第一部分来生成如参照图17a和图17b所述的第一子校验矩阵hs1,并且可以基于奇偶校验矩阵hs的第二部分来生成如参照图18a和图18b所述的第二子校验矩阵hs2。

第二校正子生成器460可以通过将第一子校验矩阵hs1应用于读取码字cw来生成第二校正子sdr2。第三校正子生成器465可以通过将第二子校验矩阵hs2应用于读取码字cw来生成第三校正子sdr3。第三校正子生成器465可以响应于行地址的lsb为偶数而将第二子校验矩阵hs2应用于读取码字。即,第三校正子生成器465可以基于行地址的lsb为低电平而将第二子校验矩阵hs2应用于读取码字,使得行地址指定耦接到偶数字线的目标页面。

多路复用器467可以接收第二校正子sdr2和第三校正子sdr3,并且可以基于行地址的lsblsb_ra选择第二校正子sdr2和第三校正子sdr3之一。选择信号生成器468可以接收第一校正子sdr1和多路复用器467的输出,并且可以基于第一校正子sdr1以及第二校正子sdr2和第三校正子sdr3之一的逻辑电平生成选择信号ss。

如果第一ecc415对应于单个纠错(sec)码,则第一校正子sdr1和第二校正子sdr2不能同时具有非零值,并且第一校正子sdr1和第三校正子sdr3不能同时具有非零值。因此,当读取码字cw包括单个位错误时,第二校正子sdr2和第三校正子sdr3之一具有非零值。

另外,当读取码字cw不包括(一个或更多个)错误时,第一校正子sdr1和第二校正子sdr2同时具有非零值,或者第一校正子sdr1和第三校正子sdr3同时具有非零值。因此,根据以上描述,选择信号生成器468可以基于第一校正子sdr1、第二校正子sdr2和第三校正子的值来确定选择信号ss的逻辑电平。

图19b是示出根据一些示例实施例的图13的ecc解码器中的选择电路的框图。

参照图19b,选择电路490可以包括第一多路复用器491和第二多路复用器493。

第一多路复用器491接收第二输出数据dout2和第三输出数据dout3,并响应于行地址的lsblsb_ra选择第二输出数据dout2和第三输出数据dout3之一。

当目标页面耦接到偶数字线时,第一多路复用器491提供第二输出数据dout2。当目标页面耦接到奇数字线时,第一多路复用器491提供第三输出数据dout3。第二多路复用器493接收主数据md、第一输出数据dout1和第一多路复用器491的输出,响应于选择信号ss选择主数据md、第一输出数据dout1和第一多路复用器491的输出之一,并输出所选择的一者作为主数据md或纠正后的主数据c_md。

图20是示出根据一些示例实施例的图13的ecc解码器中的第一纠正器的框图。

参照图20,第一纠正器470可以包括错误定位器多项式计算器(elp计算器)471、错误定位器计算器(el计算器)472和数据纠正器473。

错误定位器多项式计算器471可以基于第一校正子sdr1计算错误定位器多项式的系数elp,并将错误定位器多项式的系数elp提供给错误定位器计算器472。错误定位器计算器472可以基于错误定位器多项式的系数elp计算错误位置,并向数据纠正器473提供指示(一个或更多个)错误的(一个或更多个)位置的错误位置信号els。数据纠正器473可以基于错误位置信号els纠正主数据md中的单个位错误,并提供第一输出数据dout1。

图21是示出根据一些示例实施例的操作半导体存储器件的方法的流程图。

参照图5至图21,在操作包括存储单元阵列300的半导体存储器件200的方法中,纠错电路400通过使用第一ecc415基于主数据md生成奇偶校验数据prt(s110)。

第一ecc415可以由生成矩阵表示,可以包括多个列向量,并且列向量可以被划分成与主数据md的子数据单元和奇偶校验数据相对应的多个代码组prt。

纠错电路400经由i/o门控电路290将主数据md和奇偶校验数据prt存储在存储单元阵列300的目标页面中(s130)。

纠错电路400经由i/o门控电路290从存储单元阵列300的目标页面读取主数据md和奇偶校验数据prt(s150)。

纠错电路400通过使用第一ecc415,基于主数据md和奇偶校验数据prt生成第一校正子sdr1、第二校正子sdr2和第三校正子sdr3(s170)。

纠错电路400通过使用第一校正子sdr1或基于指定目标页面的行地址的lsb而选择的第二校正子sdr2和第三校正子sdr3之一,纠正主数据md中的一个位错误,或主数据md的在相邻两个存储单元中出现的两个位错误(s190)。

因此,纠错电路和包括该纠错电路的半导体存储器件可以通过使用基于ecc的奇偶校验矩阵将不同的校正子应用于单个位错误和两个位错误来纠正单个位错误和两个位错误,并且因此可以提高纠错效率。

图22是示出根据一些示例实施例的半导体存储器件的框图。

参照图22,半导体存储器件600可以包括在堆叠式芯片结构中提供软错误分析和纠正功能的一个或更多个缓冲器裸片(die)610和组裸片620。

组裸片620可以是高带宽存储器(hbm)。

组裸片620可以包括堆叠在一个或更多个缓冲器裸片610上并且通过多个硅通路(tsv)线传送数据的多个存储器裸片620-1至620-u(u是大于2的自然数)。

存储器裸片620-1至620u均可以包括单元核622和ecc电路624,并且单元核622可以包括存储单元阵列,该存储单元阵列包括沿第一方向和第二方向布置的多个子阵列块。ecc电路624可以被称为纠错电路,并且可以采用图11的纠错电路400。因此,ecc电路624可以通过使用基于ecc的一个奇偶校验矩阵将不同的校正子应用于单个位错误和两个位错误来纠正单个位错误和两个位错误,从而可以提高纠错效率。

缓冲器裸片610可以包括通路ecc电路612,当从通过tsv线接收到的传输数据中检测到传输错误时,通路ecc电路612使用传输奇偶校验位来纠正传输错误并生成纠错后的数据。通路ecc电路612可以被称为通路纠错电路。

半导体存储器件600可以是通过tsv线传送数据和控制信号的堆叠芯片型存储器件或堆叠式存储器件。tsv线也可以称为贯穿电极。

在传输数据中出现的传输错误可能是由于在tsv线处出现的噪声引起的。因为由于在tsv线处出现的噪声而导致的数据故障可以与由于存储器裸片的错误操作而导致的数据故障区分开,因此可以将其视为软数据故障(或软错误)。软数据故障可能是由于传输路径上的传输故障而产生的,并且可以通过ecc操作进行检测和修正。

通过以上描述,形成在一个存储器裸片620-u处的数据tsv线组632可以包括128条tsv线l1至lu,并且奇偶校验tsv线组634可以包括tsv线l10至lv。

数据tsv线组632的tsv线l1至lu和奇偶校验tsv线组634的奇偶校验tsv线l10至lv可以连接到对应地形成在存储器裸片620-1至620-u之间的微凸块mcb。

存储器裸片620-1至620-u均可以包括dram单元,每个dram单元包括至少一个存取晶体管和一个存储电容器。

半导体存储器件600可以具有三维(3d)芯片结构或2.5d芯片结构,以通过数据总线b10与存储控制器通信。缓冲器芯片610可以通过数据总线b10与存储控制器连接。

通路ecc电路612可以基于通过奇偶校验tsv线组634接收到的传输奇偶校验位,确定在通过数据tsv线组632接收到的传输数据中是否出现传输错误。

当检测到传输错误时,通路ecc电路612可以使用传输奇偶校验位纠正传输数据上的传输错误。当传输错误不可纠正时,通路ecc电路612可以输出指示出现了不可纠正的数据错误的信息。

在图22和上述实施例的上下文中,可以在图5所示的数据i/o缓冲器295中提供缓冲器裸片610和组裸片620。纠错电路400可以被配置为基于要传输到缓冲器裸片610的传输数据生成传输奇偶校验数据。如上所述,缓冲器裸片610可以包括通路ecc电路612,当从通过tsv线接收到的传输数据中检测到传输错误时,通路ecc电路612使用传输奇偶校验位纠正传输错误,并生成纠错后的数据。

图23是根据一些示例实施例的采用图22的半导体存储器件的3d芯片结构的截面图。

图23示出了主机和hbm直接连接而没有中介层的3d芯片结构700。

参照图23,可以使用倒装芯片凸块fb将诸如片上系统(soc)、中央处理单元(cpu)或图形处理单元(gpu)的主机裸片710设置在印刷电路板(pcb)720上。存储器裸片d11至d14可以堆叠在主机裸片710上以将hbm结构实现为图22中的组裸片620中的存储器裸片。在图23中,省略了图22中的缓冲器裸片610或逻辑裸片。然而,缓冲器裸片610或逻辑裸片可以设置在存储器裸片d11与主机裸片710之间。

为了将hbm结构实现为组裸片620中的存储器裸片,可以在存储器裸片d11和d14处形成tsv线。tsv线可以与放置在存储器裸片之间的微凸块mcb电连接。另外,存储器裸片d11至d14均可以包括诸如图11的纠错电路400的纠错电路。

图24是示出根据一些示例实施例的包括堆叠式存储器件的半导体封装件的示图。

参照图24,半导体封装件900可以包括一个或更多个堆叠式存储器件910和gpu(图形处理单元)920,并且gpu920包括存储控制器(cont)925。

堆叠式存储器件910和gpu920可以被安装在中介层930上,并且其上安装有堆叠式存储器件910和gpu920的中介层可以被安装在封装基板940上。存储控制器925可以采用图1中的存储控制器100。

每个堆叠式存储器件910可以以各种形式实现,并且可以是堆叠有多个层的高带宽存储器(hbm)形式的存储器件。因此,每个堆叠式存储器件910可以包括缓冲器裸片和多个存储器裸片,并且多个存储器裸片均可以包括存储单元阵列和纠错电路。

多个堆叠式存储器件910可以安装在中介层930上,并且gpu920可以与多个堆叠式存储器件910通信。例如,堆叠式存储器件910和gpu920均可以包括物理区域,并且可以通过物理区域在堆叠式存储器件910与gpu920之间执行通信。

如上所述,根据示例实施例,纠错电路和包括该纠错电路的半导体存储器件可以通过使用基于ecc的奇偶校验矩阵将不同的校正子应用于单个位错误和两个位错误,来纠正单个位错误和两个位错误,并且因此可以提高纠错效率。

本公开的示例实施例可以应用于采用本文描述的ecc的半导体存储器件和存储系统。

虽然已经参照本公开的示例实施例具体示出和描述了本公开,但是本领域普通技术人员将理解,可以在不脱离如所附权利要求限定的本公开的精神和范围的情况下,对其进行形式和细节上的各种改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1