CN112084059A - 具有改进的错误校正电路的半导体存储器装置 - Google Patents
具有改进的错误校正电路的半导体存储器装置 Download PDFInfo
- Publication number
- CN112084059A CN112084059A CN202010488607.4A CN202010488607A CN112084059A CN 112084059 A CN112084059 A CN 112084059A CN 202010488607 A CN202010488607 A CN 202010488607A CN 112084059 A CN112084059 A CN 112084059A
- Authority
- CN
- China
- Prior art keywords
- data
- error correction
- bits
- error
- sub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012937 correction Methods 0.000 title claims abstract description 173
- 239000004065 semiconductor Substances 0.000 title claims description 79
- 230000015654 memory Effects 0.000 claims abstract description 129
- 239000013598 vector Substances 0.000 claims abstract description 99
- 239000011159 matrix material Substances 0.000 claims abstract description 27
- 239000000872 buffer Substances 0.000 claims description 26
- 238000003491 array Methods 0.000 claims description 21
- 230000009897 systematic effect Effects 0.000 claims description 10
- 208000011580 syndromic disease Diseases 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 6
- 229910052710 silicon Inorganic materials 0.000 claims description 2
- 239000010703 silicon Substances 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 235000012431 wafers Nutrition 0.000 description 12
- 230000004044 response Effects 0.000 description 6
- 238000000034 method Methods 0.000 description 4
- 101000869912 Cerastes vipera Disintegrin CV-11-alpha Proteins 0.000 description 3
- 101100476985 Schizosaccharomyces pombe (strain 972 / ATCC 24843) sdu1 gene Proteins 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 102100031699 Choline transporter-like protein 1 Human genes 0.000 description 2
- 102100035954 Choline transporter-like protein 2 Human genes 0.000 description 2
- 101000940912 Homo sapiens Choline transporter-like protein 1 Proteins 0.000 description 2
- 101000948115 Homo sapiens Choline transporter-like protein 2 Proteins 0.000 description 2
- 101000633445 Homo sapiens Structural maintenance of chromosomes protein 2 Proteins 0.000 description 2
- 101100478266 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SPT10 gene Proteins 0.000 description 2
- 101100352819 Schizosaccharomyces pombe (strain 972 / ATCC 24843) pop2 gene Proteins 0.000 description 2
- 102100029538 Structural maintenance of chromosomes protein 1A Human genes 0.000 description 2
- 102100029540 Structural maintenance of chromosomes protein 2 Human genes 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 238000011017 operating method Methods 0.000 description 2
- 108010004731 structural maintenance of chromosome protein 1 Proteins 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 101150095121 sud1 gene Proteins 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 101000835634 Homo sapiens Tubulin-folding cofactor B Proteins 0.000 description 1
- 102100026482 Tubulin-folding cofactor B Human genes 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 108010076287 sperm motility inhibitor 2 Proteins 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L25/00—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
- H01L25/03—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes
- H01L25/04—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers
- H01L25/065—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L25/0657—Stacked arrangements of devices
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L25/00—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
- H01L25/16—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof the devices being of types provided for in two or more different main groups of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. forming hybrid circuits
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L25/00—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
- H01L25/18—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof the devices being of types provided for in two or more different subgroups of the same main group of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1575—Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2225/00—Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
- H01L2225/03—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
- H01L2225/04—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers
- H01L2225/065—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L2225/06503—Stacked arrangements of devices
- H01L2225/06513—Bump or bump-like direct electrical connections between devices, e.g. flip-chip connection, solder bumps
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2225/00—Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
- H01L2225/03—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
- H01L2225/04—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers
- H01L2225/065—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L2225/06503—Stacked arrangements of devices
- H01L2225/06517—Bump or bump-like direct electrical connections from device to substrate
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2225/00—Details relating to assemblies covered by the group H01L25/00 but not provided for in its subgroups
- H01L2225/03—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00
- H01L2225/04—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers
- H01L2225/065—All the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/648 and H10K99/00 the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L2225/06503—Stacked arrangements of devices
- H01L2225/06541—Conductive via connections through the device, e.g. vertical interconnects, through silicon via [TSV]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Power Engineering (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
错误校正电路包括错误校正码(ECC)存储器和ECC引擎。ECC存储器存储至少部分地由生成矩阵表示的ECC。ECC引擎利用ECC基于主要数据产生奇偶性数据,并且利用奇偶性数据检测和/或校正从存储器单元阵列读取的主要数据中的至少一个错误位。主要数据包括被划分至多个子数据单元中的多个数据位。ECC包括被划分至对应于子数据单元的多个码组中的多个列矢量。列矢量具有被配置为将误校正位和多个错误位收集在一个符号中的元素,并且由于主要数据中的多个错误位而产生误校正位。
Description
相关申请的交叉引用
本申请要求于2019年6月12日提交的韩国专利申请No.10-2019-0069150的优先权,该申请的公开以引用方式全文并入本文中。
技术领域
本公开的示例性实施例涉及存储器装置,并且更特别地,涉及支持错误检测和校正(EDC)的半导体存储器装置和包括该半导体存储器装置的存储器系统。
背景技术
半导体存储器装置可分为非易失性存储器装置(诸如,其中具有非易失性存储器单元(例如EEPROM单元)的闪速存储器装置)和易失性存储器装置(诸如,动态随机存取存储器(DRAM)装置和静态随机存取存储器(SRAM)装置)。由于DRAM装置的运行速度快、体积小和成本低等优点,其常被用于系统存储器(如高速缓冲存储器)。尽管如此,由于DRAM装置的制造设计规则的持续减少,DRAM装置中的存储器单元的位错误可能增加,并且其中具有足够的无错误存储器单元的DRAM装置的产量可能降低。
发明内容
本公开的示例性实施例提供了一种能够提高性能和可靠性的半导体存储器装置的错误校正电路、包括该错误校正电路的半导体存储器装置以及包括错误校正电路的存储器系统。
根据本公开的示例性实施例,一种半导体存储器装置的错误校正电路包括错误校正码(ECC)存储器和ECC引擎。ECC存储器存储至少部分地由生成矩阵表示的ECC。ECC引擎利用ECC基于主要数据产生奇偶性数据,然后使用奇偶性数据检测和/或校正从存储器单元阵列中读取的主要数据中的至少一个错误位。主要数据包括被划分至多个子数据单元中的多个数据位,ECC包括被划分至对应于子数据单元的多个码组中的多个列矢量,列矢量具有被配置为将误校正位和多个错误位收集在一个符号中的元素,并且由于主要数据中的所述多个错误位而产生误校正位。
根据本公开的示例性实施例,一种半导体存储器装置包括具有多个分块阵列(bank array)的存储器单元阵列、错误校正电路和控制逻辑电路。所述多个分块阵列中的每一个包括存储主要数据的正常单元区和存储与主要数据关联的第一奇偶性数据的冗余单元区。在这些实施例中的一些中,所述多个分块阵列中的每一个可包括耦接至字线和位线的多个动态存储器单元。错误校正电路被配置为利用由生成矩阵表示的错误校正码(ECC)基于主要数据产生奇偶性数据,并且利用奇偶性数据校正主要数据中的至少一个错误位。控制逻辑电路可基于命令和地址控制错误校正电路。主要数据包括被划分至多个子数据单元中的多个数据位,ECC包括被划分至对应于子数据单元的多个码组中的多个列矢量,列矢量具有被配置为将误校正位和多个错误位收集在一个符号中的元素,并且由于主要数据中的所述多个错误位产生误校正位。
根据本公开的示例性实施例,一种存储器系统包括半导体存储器装置和被配置为控制半导体存储器装置的存储器控制器。半导体存储器装置包括其中具有多个分块阵列的存储器单元阵列、错误校正电路和控制逻辑电路。所述多个分块阵列中的每一个包括存储主要数据的正常单元区和存储与主要数据关联的第一奇偶性数据的冗余单元区,并且所述多个分块阵列中的每一个包括耦接至字线和位线的多个动态存储器单元。错误校正电路利用由生成矩阵表示的错误校正码(ECC)基于主要数据产生奇偶性数据,并且利用奇偶性数据校正主要数据中的至少一个错误位。控制逻辑电路基于从存储器控制器提供的命令和地址控制错误校正电路。主要数据包括被划分至多个子数据单元中的多个数据位,ECC包括被划分至对应于子数据单元的多个码组中的多个列矢量,列矢量具有将误校正位和多个错误位收集在一个符号中的元素,并且由于主要数据中的所述多个错误位产生误校正位。
根据本公开的额外实施例,ECC包括对应于数据位的多个列矢量,列矢量被划分至多个码组中,并且具有被配置为将误校正位和多个错误位收集在一个符号中的元素。另外,由于主要数据中的所述多个错误位而产生误校正位,并且所述一个符号包括一个或两个子数据单元。因此,当存在错误校正电路不能校正和/或检测的多个错误位时,存储器控制器的错误校正电路可校正包括所述多个错误位和误校正位的子数据单元,因为所述多个错误位和误校正位被收集在相同的子数据单元中。
附图说明
通过参考附图详细描述本公开的示例性实施例,本公开的以上和其他特征将变得更加明显。
图1是示出根据本公开的示例性实施例的存储器系统的框图;
图2示出了根据示例性实施例的对应于图1的存储器系统中的所述多个突发长度的主要数据配置;
图3是示出根据本公开的示例性实施例的图1中的存储器控制器的示例的框图;
图4是示出根据本公开的示例性实施例的图3中的ECC解码器的示例的框图;
图5是示出根据本公开的示例性实施例的图1中的半导体存储器装置的框图;
图6示出了根据本公开的示例性实施例的图5的半导体存储器装置中的第一分块阵列的示例;
图7是示出根据本公开的示例性实施例的图5的半导体存储器装置中的错误校正电路的框图;
图8是示出根据本公开的示例性实施例的图7的错误校正电路中的ECC解码器的框图;
图9示出了根据本公开的示例性实施例的第一ECC与图7的错误校正电路中使用的奇偶校验位的关系;
图10示出了根据本公开的示例性实施例的第一ECC的示例;
图11A和图11B示出了图10中所示的第一码组至第八码组;
图12是示出图11A中的第一码组中的三个列矢量的异或(XOR)运算的结果的表;
图13示出了根据本公开的示例性实施例的另一第一ECC的示例;
图14A至图14C示出了图13中的第一码组至第十二码组;
图15示出了根据本公开的示例性实施例的图5的半导体存储器装置中的第一分块阵列、I/O门控电路和错误校正电路;
图16示出了当主要数据中的子数据单元包括三个错误位时的主要数据的示例;
图17是示出根据本公开的示例性实施例的操作半导体存储器装置的方法的流程图;
图18是示出根据本公开的示例性实施例的操作存储器系统的方法的流程图;
图19是示出根据本公开的示例性实施例的半导体存储器装置的框图;
图20是根据本公开的示例性实施例的采用图19的半导体存储器装置的3D芯片结构的剖视图;
图21是示出根据本公开的示例性实施例的包括堆叠的存储器装置的半导体封装件的图。
具体实施方式
下面将参考附图更全面地描述本公开的示例性实施例。在附图中,相同的附图标号可以指示相同的元件。
图1是示出根据本公开的示例性实施例的存储器系统的框图。参照图1,存储器系统20可包括存储器控制器100(例如,外部存储器控制器)和半导体存储器装置200。存储器控制器100可控制存储器系统20的整体操作。存储器控制器100可控制外部主机与半导体存储器装置200之间的整体数据交换。例如,存储器控制器100可响应于主机的请求将数据写入半导体存储器装置200中或者从半导体存储器装置200读取数据。另外,存储器控制器100可向半导体存储器装置200发出操作命令,以控制半导体存储器装置200。
在示例性实施例中,数据存储器的数量可为8或16。然而,数据存储器的数量不限于此。在示例性实施例中,半导体存储器装置200是包括多个动态存储器单元的存储器装置(诸如动态随机存取存储器(DRAM)、双数据率4(DDR4)同步DRAM(SDRAM))或者诸如高带宽存储器(HBM)的堆叠的存储器装置。
存储器控制器100将时钟信号CLK、命令CMD和地址(信号)ADDR发送至半导体存储器装置200,以及与半导体存储器装置200交换主要数据MD。存储器控制器100可包括错误校正电路130。
错误校正电路130可基于主要数据MD产生待发送至半导体存储器装置200的系统奇偶性数据,可存储系统奇偶性数据,可基于从半导体存储器装置200接收的主要数据MD产生校验位,并且可基于系统奇偶性数据与校验位的比较按符号校正主要数据MD中的至少一个错误位。
半导体存储器装置200包括存储主要数据MD的存储器单元阵列300、错误校正电路400和控制逻辑电路210。错误校正电路400可通过对主要数据MD执行ECC编码利用由生成矩阵表示的错误校正码(ECC)产生奇偶性数据,并且可通过对主要数据MD执行ECC解码利用奇偶性数据检测和/或校正从存储器单元阵列300中读取的主要数据MD中的至少一个错误位。
主要数据MD包括多个数据位,并且所述多个数据位可划分至多个子数据单元中。ECC可包括划分至对应于子数据单元的多个码组中的多个列矢量,并且列矢量可具有将误校正位和多个错误位收集在一个符号中的元素,并且误校正位由于主要数据中的所述多个错误位而产生。因此,当读取的主要数据包括错误校正电路400不能校正的多个错误位时,存储器控制器100可校正包括所述多个错误位的子数据单元。控制逻辑电路210可控制错误校正电路400,以执行ECC编码和ECC解码。
半导体存储器装置200可执行突发操作。这里,突发操作是指通过按次序增大或减小从存储器控制器100提供的初始地址来写入或读取大量数据的操作。突发操作的基本单元可称为突发长度BL。在示例性实施例中,突发长度BL指通过按次序增大或减小初始地址来连续地读取或写入数据的操作的次数。
图2示出了根据示例性实施例的对应于图1的存储器系统中的所述多个突发长度的主要数据。参照图2,将对应于所述多个突发长度的主要数据MD输入至半导体存储器装置200/从半导体存储器装置200输出对应于所述多个突发长度的主要数据MD。主要数据MD包括各自对应于所述多个突发长度中的每一个的数据段MD_SG1至MD_SGt(t是等于或大于8的自然数)。在图2中,假设突发长度为8。然而,本公开的示例性实施例不限于此。对应于所述多个突发长度的主要数据MD可被存储在半导体存储器装置200的存储器单元阵列300中。
在示例性实施例中,突发长度可为8或12。
图3是示出根据本公开的示例性实施例的图1中的存储器控制器的示例的框图。参照图3,存储器控制器100可包括中央处理单元(CPU)110、数据缓冲器120、错误校正电路130、命令缓冲器180和地址缓冲器190。错误校正电路130可包括奇偶位生成器140、缓冲器145、存储第二ECC 155的存储器150和ECC解码器160。CPU 110从主机接收请求REQ和数据DTA,并且将数据DTA提供至数据缓冲器120和奇偶位生成器140。数据缓冲器120对数据DTA进行缓冲,以将第一主要数据MD1提供至半导体存储器装置200。
奇偶位生成器140被耦接至存储器150,利用第二ECC 155对数据DTA执行ECC编码以产生系统奇偶性数据PRTc,并且将系统奇偶性数据PRTc存储在缓冲器145中。在半导体存储器装置200的读取操作中,ECC解码器从半导体存储器装置200接收第二主要数据MD2,利用第二ECC 155和系统奇偶性数据PRTc按符号对第二主要数据MD2执行ECC解码,并且可将校正后的主要数据C_MD2提供至CPU 110。CPU 110将校正后的主要数据C_MD2提供至主机。
命令缓冲器180在CPU 110的控制下存储对应于请求REQ的命令CMD和将命令CMD发送至半导体存储器装置200。地址缓冲器190在CPU 110的控制下存储地址ADDR和将地址ADDR发送至半导体存储器装置200。
图4是示出根据本公开的示例性实施例的图3中的ECC解码器的示例的框图。参照图4,ECC解码器160可包括校验位产生器161、校验子产生器163和数据校正器165。校验位产生器161接收第二主要数据MD2,并且利用第二ECC 155产生对应于第二主要数据MD2的校验位CHBc。校验子产生器163按符号比较系统奇偶性数据PRTc与校验位CHBc,以产生指示第二主要数据MD2是否包括至少一个错误位和指示所述至少一个错误位的位置的校验子数据SDRc。数据校正器165接收第二主要数据MD2并且基于校验子数据SDRc按符号校正第二主要数据MD2中的错误位,以输出校正后的主要数据C_MD2。将从半导体存储器装置200提供的第二主要数据MD2中的多个奇数错误位和由于所述多个错误位产生的误校正位收集在一个符号中,数据校正器165可按符号校正第二主要数据MD2中的错误位。
图5是示出根据本公开的示例性实施例的图1中的半导体存储器装置的框图。参照图5,半导体存储器装置200包括控制逻辑电路210、地址寄存器220、分块控制逻辑230、行地址多路复用器240、列地址锁存器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中的每一个包括耦接至字线WL和位线BTL的多个存储器单元MC。虽然图5中示出半导体存储器装置200包括八个分块(bank),但是本公开的示例性实施例不限于此,并且半导体存储器装置200可包括任何数量的分块。
地址寄存器220从存储器控制器100接收包括分块地址BANK_ADDR、行地址ROW_ADDR和列地址COL_ADDR的地址ADDR以及命令CMD。地址寄存器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之一作为行地址RA。可将从行地址多路复用器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解码,并且可控制输入/输出门控电路290输出与列地址COL_ADDR或映射的列地址MCA对应的数据。I/O门控电路290包括用于对输入/输出数据进行门控的电路。I/O门控电路290还包括用于存储从第一分块阵列310至第八分块阵列380输出的数据的读数据锁存器和用于将数据写至第一分块阵列310至第八分块阵列380的写驱动器。
待从第一分块阵列310至第八分块阵列380中的一个分块阵列中读取的数据可通过读出放大器被读出,并且可被存储在读数据锁存器中,所述读出放大器耦接至待从其中读取所述数据的所述一个分块阵列。存储在读数据锁存器中的数据通过错误校正电路400被ECC解码,并且可经数据I/O缓冲器295被提供至存储器控制器100。
可从存储器控制器100将待写入第一分块阵列310至第八分块阵列380中的一个分块阵列中的数据(或者主要数据)MD提供至数据I/O缓冲器295。将主要数据MD提供至错误校正电路400。错误校正电路400对主要数据MD执行ECC编码,以产生奇偶性数据,并为I/O门控电路290提供包括主要数据MD和奇偶性数据的码字CW。I/O门控电路290可通过写驱动器将主要数据MD和奇偶性数据分别写入一个分块阵列中的正常单元区(第一存储器区)和冗余单元区(第二存储器区)。
当错误校正电路400执行ECC编码和ECC解码时,错误校正电路400可使用由生成矩阵表示的ECC。例如,ECC的数据结构/数据格式可以是生成矩阵。ECC可包括对应于数据(或主要数据)MD的数据位的多个列矢量,并且列矢量可划分至对应于多个子数据单元的多个码组中。数据位可划分至多个子数据单元中。
另外,列矢量可具有将误校正位和多个错误位收集在一个符号中的元素,并且误校正位由于主要数据中的所述多个错误位而产生。所述一个符号可包括所述多个子数据单元中的一个子数据单元或者两个邻近的子数据单元。因此,当主要数据MD包括错误校正电路400不能校正/检测的多个错误位时,因为所述多个错误位和误校正位被收集在一个符号中,所以存储器控制器100可在系统电平处按符号校正主要数据MD中的所述多个错误位。
控制逻辑电路210可控制半导体存储器装置200的操作。例如,控制逻辑电路210可产生用于半导体存储器装置200执行写操作或读取操作的控制信号。控制逻辑电路210可包括:命令解码器211,其对从存储器控制器100接收到的命令CMD解码;以及模式寄存器212,其设置半导体存储器装置200的操作模式。例如,命令解码器211可通过解码写使能信号、行地址选通信号、列地址选通信号、芯片选择信号等产生与命令CMD对应的控制信号。控制逻辑电路210可产生用于控制I/O门控电路290的第一控制信号CTL1和用于控制错误校正电路400的第二控制信号CTL2。
图6示出了根据本公开的示例性实施例的图5的半导体存储器装置中的第一分块阵列的示例。参照图6,在第一分块阵列310中,存在多条字线WL1至WLm(其中m是大于2的自然数)和多条位线BTL1至BTLn(其中n是大于2的自然数),并且多个存储器单元MC布置在字线WL1至WLm与位线BTL1至BTLn之间的交叉处。存储器单元MC中的每一个包括耦接至字线WL1至WLm中的每一条和位线BTL1至BTLn中的每一条的存取(单元)晶体管和耦接至单元晶体管的存储(单元)电容器。
图7是示出根据本公开的示例性实施例的图5的半导体存储器装置中的错误校正电路的框图。参照图7,错误校正电路400包括ECC存储器410、ECC编码器430和ECC解码器450。ECC存储器410存储第一ECC 415。第一ECC 415可由生成矩阵(例如,第一ECC 415的数据格式/结构可为生成矩阵)表示,并且可包括对应于主要数据(例如,MD)中的数据位的多个列矢量。
ECC编码器430耦接至ECC存储器410并且可在半导体存储器装置200的写操作中利用存储在ECC存储器410中的第一ECC 415对主要数据MD执行ECC编码,以产生奇偶性数据PRT。ECC编码器430可为I/O门控电路290提供包括主要数据MD和奇偶性数据PRT的码字CW。ECC解码器450耦接至ECC存储器410,可接收包括主要数据MD和奇偶性数据PRT的码字CW,可利用第一ECC 415基于奇偶性数据PRTR对主要数据MD执行ECC解码,以校正和/或检测主要数据MD中的错误位,并且可输出校正后的主要数据C_MD。
第一ECC 415可以是能够校正主要数据MD中的错误位和检测主要数据MD中的两个错误位的单错误校正和双错误检测(SECDED)码。虽然参照图7描述了ECC存储器410耦接至ECC编码器430和ECC解码器450,但是在示例性实施例中,ECC存储器410可通过ECC编码器430和ECC解码器450中的异或门来实现。
图8是示出根据本公开的示例性实施例的图7的错误校正电路中的ECC解码器的框图。参照图8,ECC解码器450包括校验位产生器451、校验子产生器453和数据校正器455。校验位产生器451利用第一ECC 415基于主要数据MD中的数据位产生校验位CHB。校验子产生器453基于校验位CHB与奇偶性数据PRT的奇偶校验位的比较产生校验子数据SDR,校验子数据SDR指示是否出现错误位和错误位的位置。数据校正器455接收主要数据MD和校验子数据SDR,校正主要数据MD中的错误位,并且输出校正后的主要数据C_MD。
在图7和图8中,主要数据MD包括2p比特的数据位(其中,p是大于或等于6的整数),并且奇偶性数据PRT包括(p+2)比特的奇偶校验位。在其他示例性实施例中,主要数据MD包括3×2q比特的数据位(其中,q是大于或等于6的整数),并且奇偶性数据PRT包括(q+2)比特的奇偶校验位。
图9示出了根据本公开的示例性实施例的图7的错误校正电路中使用的第一ECC和奇偶校验位的关系。在图9中,假设主要数据MD包括多个子数据单元SDU1至SDUx,并且奇偶性数据PRT包括8比特的奇偶校验位PB1至PB8。在图9中,假设x是大于或等于六的自然数。参照图9,可将第一ECC 415划分至对应于所述多个子数据单元SDU1至SDUx的多个码组CG1至CGx中。
图10示出了根据本公开的示例性实施例的第一ECC的示例。在图10中,假设主要数据MD包括64比特的数据位d0至d63。也就是说,假设在图10中,x为六(6)。参照图10,可将主要数据MD的数据位d0至d63划分至第一子数据单元SDU11至第八子数据单元SDU18中。第一子数据单元SDU11至第八子数据单元SDU18中的每一个包括8比特数据位。第一ECC ECC1a包括对应于第一子数据单元SDU11至第八子数据单元SDU18的第一码组CG11至第八码组CG18。
图11A和图11B示出了图10中的第一码组至第八码组。
参照图11A和图11B,第一码组CG11包括对应于第一子数据单元SDU11的数据位d0至d7的列矢量CV11至CV18,第二码组CG12包括对应于第二子数据单元SDU12的数据位d8至d15的列矢量CV21至CV28,第三码组CG13包括对应于第三子数据单元SDU13的数据位d16至d23的列矢量CV31至CV38,并且第四码组CG14包括对应于第四子数据单元SDU14的数据位d24至d31的列矢量CV41至CV48。
另外,第五码组CG15包括对应于第五子数据单元SDU15的数据位d32至d39的列矢量CV51至CV58,第六码组CG16包括对应于第六子数据单元SDU16的数据位d40至d47的列矢量CV61至CV68,第七码组CG17包括对应于第七子数据单元SDU17的数据位d48至d55的列矢量CV71至CV78,第八码组CG18包括对应于第八子数据单元SDU18的数据位d56至d63的列矢量CV81至CV88。
参照图11A,第一至第四码组CG11至CG14中的每一个可包括公共子矩阵SMC1和个体子矩阵SMI 1,第一至第四码组CG11至CG14中的每一个的公共子矩阵SMC1具有相同元素,并且第一至第四码组CG11至CG14中的每一个的个体子矩阵SMI 1具有不同元素。
参照图11B,第五码组CG15至第八码组CG18中的每一个可包括公共子矩阵和个体子矩阵,第五码组CG15至第八码组CG18中的每一个的公共子矩阵具有相同元素,并且第五码组CG15至第八码组CG18中的每一个的个体子矩阵具有不同元素。
因此,第一码组CG11至第八码组CG18中的每一个包括具有相同元素的公共子矩阵,并且第一码组CG11至第八码组CG18中的每一个的个体子矩阵包括按行具有相同逻辑电平的元素。因此,当主要数据MD包括第一ECC ECC1a不能校正和/或检测的多个错误位时,由于所述多个错误位而产生的误校正位可与所述多个错误位一起被收集在一个或两个子数据单元中。
图12是示出图11A中的第一码组中的三个列矢量的异或运算结果的表。在图12中,示出了列矢量CV11和CV12的异或运算的第一结果和第一结果与列矢量CV13至CV18中的每一个的异或运算的第二结果。参照图12,当对第一结果与列矢量CV13至CV18中的每一个执行异或运算时,第二结果与列矢量CV14、CV13、CV18、CV17、CV16和CV15中的对应的一个匹配。
也就是说,当对第一码组CG11中的三个不同的列矢量执行异或运算时,异或运算的结果与第一码组CG11中的除三个不同的列矢量之外的一个列矢量匹配,这是因为第一码组CG1中的列矢量CV11至CV18分别包括高电平元素3、3、5、5、3、3、5和5,并且在其它码组中重复该模式。因此,当码字中的主要数据MD包括多个奇数错误位时,由于多个奇数错误位而产生的误校正位可被包括在包括上述奇数错误位的子数据单元中。因此,第一ECC ECC1a的列矢量可具有将误校正位和多个错误位收集在一个符号中的元素,并且误校正位由于所述多个错误位而产生。所述一个符号可包括一个或两个邻近的子数据单元。
虽然为了便于解释,说明了第一码组CG11中的三个矢量的异或运算结果,但是应该理解,第二码组CG12至第四码组CG14中的每一个中的任意不同的三个列矢量的按位异或运算的各结果可相似。
图13示出了根据本公开的示例性实施例的另一第一ECC ECC1b的示例。在图13中,假设主要数据MD包括96比特的数据位d0至d95。也就是说,在图10中,假设x为12。参照图13,主要数据MD的数据位d0至d95可划分至第一子数据单元SDU21至第十二子数据单元SDU212中。第一子数据单元SDU21至第十二子数据单元SDU212中的每一个包括8比特的数据位。第一ECC ECC1b包括对应于第一子数据单元SDU21至第十二子数据单元SDU212的第一码组CG21至第十二码组CG212。
图14A至图14C示出了图13中的第一码组至第十二码组。参照图14A至图14C,第一码组CG21包括对应于第一子数据单元SDU21的数据位d0至d7的列矢量CVb11至CVb18,第二码组CG22包括对应于第二子数据单元SDU22的数据位d8至d15的列矢量CVb21至CVb28,第三码组CG23包括对应于第三子数据单元SDU23的数据位d16至d23的列矢量CVb31至CVb38,第四码组CG24包括对应于第四子数据单元SDU24的数据位d24至d31的列矢量CVb41至CVb48。
另外,第五码组CG25包括对应于第五子数据单元SDU25的数据位d32至d39的列矢量CVb51至CVb58,第六码组CG26包括对应于第六子数据单元SDU26的数据位d40至d47的列矢量CVb61至CVb68,第七码组CG27包括对应于第七子数据单元SDU27的数据位d48至d55的列矢量CVb71至CVb78,第八码组CG28包括对应于第八子数据单元SDU28的数据位d56至d63的列矢量CVb81至CVb88。
另外,第九码组CG29包括对应于第九子数据单元SDU29的数据位d64至d71的列矢量CVb91至CVb98,第十码组CG210包括对应于第十子数据单元SDU10的数据位d72至d79的列矢量CVb101至CVb108,第十一码组CG211包括对应于第十一子数据单元SDU111的数据位d80至d87的列矢量CVb111至CVb118,第十二码组CG212包括对应于第十二子数据单元SDU212的数据位d88至d95的列矢量CVb121至CVb128。
参照图14A,第一码组CG21至第四码组CG24中的每一个可包括公共子矩阵SMC2和个体子矩阵SMI2,第一码组CG21至第四码组CG24中的每一个的公共子矩阵SMC2具有相同元素,并且第一码组CG21至第四码组CG24中的每一个的个体子矩阵SM21具有不同元素。
参照图14B和图14C,第五码组CG25至第八码组CG28中的每一个和第九码组CG29至第十二码组CG212中的每一个可包括具有相同元素的公共子矩阵和具有不同元素的个体子矩阵。因此,第一码组CG21至第十二码组CG212中的每一个包括具有相同元素的公共子矩阵,并且第一码组CG21至第十二码组CG212中的每一个中的个体子矩阵包括按行具有相同逻辑电平的元素。因此,当主要数据MD包括第一ECC ECC1b不能校正和/或检测的多个错误位时,由于所述多个错误位而产生的误校正位可与所述多个错误位一起被收集在一个或两个子数据单元中。
图15示出了根据本公开的示例性实施例的图5的半导体存储器装置中的第一分块阵列、I/O门控电路和错误校正电路。参照图15,半导体存储器装置200的第一分块阵列310包括正常单元区311和冗余单元区313。I/O门控电路290包括多个开关291a、291b和291d。例如,所述多个开关291a、291b和291d可为多路复用器。开关291a和291b连接至正常单元区311,并且开关291d连接至冗余单元区313。I/O门控电路290从错误校正电路400接收主要数据MD和与主要数据MD关联的奇偶性数据PRT,将主要数据MD存储在正常单元区311中,并且将奇偶性数据PRT存储在冗余单元区313中。I/O门控电路290基于从控制逻辑电路210接收的第一控制信号CTL1执行上述操作,并且错误校正电路400基于从控制逻辑电路210接收的第二控制信号CTL2执行ECC编码和ECC解码。
图16示出了当主要数据中的子数据单元包括三个错误位时的主要数据的示例。参照图16,从正常单元区311读取的主要数据MD包括第一子数据单元DU1至第八子数据单元SDU8,第一子数据单元SUD1包括第一错误位EB1、第二错误位EB2和第三错误位EB3。另外,第一子数据单元SUD1还包括由于第一错误位EB1、第二错误位EB2和第三错误位EB3而产生的误校正位MEB。
由于参照图10至图11B解释的第一ECC ECC1a是SECDED码,因此当主要数据MD包括多个奇数错误位时,错误校正电路400不能校正和不能检测奇数错误位,并且可产生误校正位MEB。然而,由于第一ECC ECC1a包括列矢量,其具有将误校正位MEB以及第一错误位EB1、第二错误位EB2和第三错误位EB3收集在一个符号中的元素,因此存储器控制器100中的错误校正电路130可按符号校正第一子数据单元SDU1中的误校正位MEB以及第一错误位EB1、第二错误位EB2和第三错误位EB3。
图17是示出根据本公开的示例性实施例的操作半导体存储器装置的方法的流程图。参照图5至图17,在包括存储器单元阵列300的半导体存储器装置200的操作方法中,错误校正电路400利用第一ECC 415基于主要数据MD产生奇偶性数据PRT(S 110)。主要数据MD包括2p比特的数据位(其中,p是大于或等于6的整数),奇偶性数据PRT包括(p+2)比特的奇偶校验位,并且主要数据MD的数据位可划分至各自包括(p+2)比特的第一子数据单元至第八子数据单元中。第一ECC 415可由生成矩阵表示,可包括多个列矢量,并且所述列矢量可划分至分别对应于第一子数据单元至第八子数据单元的第一码组至第八码组中。列矢量可具有将主要数据中的误校正位和多个奇数错误位收集在一个符号中的元素,并且所述误校正位是通过所述多个奇数错误位产生的。
错误校正电路400经I/O门控电路290在存储器单元阵列300中存储主要数据MD和奇偶性数据PRT(S220)。错误校正电路400经I/O门控电路290从存储器单元阵列300中读取主要数据MD和奇偶性数据PRT(S230)。错误校正电路400利用第一ECC 415基于主要数据MD产生校验位CHB(S140)。错误校正电路400基于奇偶性数据PRT与校验位CHB的比较来校正主要数据MD中的错误位(S 150)。
虽然主要数据MD包括错误校正电路400不能校正和/或检测的奇数错误位,但是第一ECC 415具有将奇数错误位和由于所述奇数错误位导致的误校正位收集在一个符号中的列矢量,存储器控制器100可按符号校正奇数错误位和误校正位。
图18是示出根据本公开的示例性实施例的操作存储器系统的方法的流程图。参照图1至图16和图18,在包括半导体存储器装置200和控制半导体存储器装置200的存储器控制器100的存储器系统20的操作方法中,存储器控制器30中的错误校正电路130通过利用第二ECC 155基于待被发送至半导体存储器装置200的写数据产生系统奇偶性数据PRTc(S210),并且将系统奇偶性数据PRTc存储在缓冲器145中。存储器控制器100将写数据发送至半导体存储器装置200(S220)。半导体存储器装置200中的错误校正电路400利用第一ECC415对写数据执行ECC编码以产生奇偶性数据,和将写数据和奇偶性数据存储在存储器单元阵列300中。
半导体存储器装置200中的错误校正电路400响应于读命令从存储器单元阵列300中读取所述数据和奇偶性数据,利用第一ECC415对读数据执行ECC解码,并且将读数据发送至存储器控制器100。存储器控制器100从半导体存储器装置200接收响应于读取命令的读数据(S230)。存储器控制器100中的ECC解码器160利用第二ECC155基于读数据产生校验位CHBc(S240)。ECC解码器160基于系统奇偶性数据PRTc与校验位CHBc的比较按符号校正读数据中的多个错误位。
图19是示出根据本公开的示例性实施例的半导体存储器装置的框图。参照图19,半导体存储器装置600可包括在堆叠的芯片结构中提供软错误分析和校正功能的第一组晶片610和第二组晶片620。第二组晶片620可为高带宽存储器(HBM)。第一组晶片610可包括至少一个缓冲器晶片611。第二组晶片620可包括多个存储器晶片620-1至620-u(u是大于2的自然数),它们堆叠在第一组晶片610上,并且通过多个硅通孔(TSV)线传递数据。
存储器晶片620-1至620-p中的每一个可包括单元核622,并且单元核622可包括具有数据区和奇偶性区的存储器单元阵列、I/O门控电路和控制逻辑电路。缓冲器晶片611可包括错误校正电路612,当从通过TSV线接收的传输数据中检测到传输错误时,错误校正电路612利用传输奇偶校验位校正传输错误,并且产生错误校正后的数据。错误校正电路612可被称作通孔错误校正电路(via error correction circuit)。半导体存储器装置600可为堆叠芯片式存储器装置或者堆叠的存储器装置,其通过TSV线传递数据和控制信号。TSV线还被称作穿通电极。
可由于在TSV线处发生的噪声导致在传输数据中出现传输错误。因为由于在TSV线处发生的噪声导致的数据故障与由于存储器晶片的误操作导致的数据故障是可区分的,所以将其看作软数据错误(或者软错误)。软数据错误可由于传输路径上的传输故障而产生,并且可通过ECC操作检测和纠正。例如,当传输数据为64比特的数据时,传输奇偶校验位可设为8比特。然而,本公开的范围和精神不限于此。传输奇偶校验位的数量可增大或减少。通过以上描述,形成在一个存储器晶片620-u的TSV线组632可包括64条TSV线L1至Lu,并且奇偶性TSV线组634可包括8条TSV线L10至Lv。数据TSV线组632的TSV线L1至Lu和奇偶性TSV线组634的奇偶性TSV线L10至Lv可连接至对应地形成在存储器晶片620-1至620-u之间的微凸块MCB。存储器晶片620-1至620-u中的每一个可包括DRAM单元,其各自包括至少一个存取晶体管和一个存储电容器。
半导体存储器装置600可具有三维(3D)芯片结构或者2.5D芯片结构,以通过数据总线B10与主机通信。缓冲器晶片610可通过数据总线B10与主机连接。错误校正电路612可基于通过奇偶性TSV线组634接收的传输奇偶校验位确定在通过数据TSV线组632接收的传输数据是否出现传输错误。当检测到传输错误时,错误校正电路612可利用传输奇偶校验位对传输数据校正传输错误。当传输错误不可校正时,错误校正电路612可输出指示出现不可校正的数据错误的信息。
错误校正电路612可采用图7的错误校正电路400。因此,错误校正电路612可包括存储第一ECC的ECC存储器、ECC编码器和ECC解码器。错误校正电路612可通过利用第一ECC执行ECC编码和ECC解码,第一ECC可包括多个列矢量,当读主要数据包括多个奇数错误位时,所述列矢量在一个符号中收集所述多个奇数错误位和由于所述多个奇数错误位导致的误校正位。
图20是根据本公开的示例性实施例的采用图19的半导体存储器装置的3D芯片结构的剖视图。图20示出了其中主机和HBM直接连接而没有中间层的3D芯片结构700。参照图20,诸如系统芯片(SoC)、中央处理单元(CPU)或图形处理单元(GPU)的主机晶片710可利用倒装芯片凸块FB布置在印刷电路板(PCB)720上。存储器晶片D11至D14可堆叠在主机晶片720上,以将HBM结构620实现为图19中的存储器晶片。在图20中,省略了图19的缓冲器晶片610或逻辑晶片。然而,缓冲器晶片610或者逻辑晶片可布置在存储器晶片D11与主机晶片720之间。缓冲器晶片可包括错误校正电路,并且错误校正电路可利用第一ECC执行ECC编码和ECC解码。第一ECC可包括多个列矢量,以当读主要数据包括所述多个奇数错误位时,在一个符号中收集多个奇数错误位和由于所述多个奇数错误位导致的误校正位。为了实现HBM(620)结构,TSV线可形成在存储器晶片D11和D14处。TSV线可与位于存储器晶片之间的微凸块MCB电连接。
图21是示出根据本公开的示例性实施例的包括堆叠的存储器装置的半导体封装件的图。参照图21,半导体封装件900可包括一个或多个堆叠的存储器装置910和存储器控制器920。堆叠的存储器装置910和存储器控制器920可安装在插入件930上,并且其上安装有堆叠的存储器装置910和存储器控制器920的插入件可安装在封装件衬底940上。存储器控制器920可采用图1中的存储器控制器100。堆叠的存储器装置910中的每一个可按照各种形式实施,并且可以是其中堆叠有多个层的高带宽存储器(HBM)形式的存储器装置。因此,堆叠的存储器装置910中的每一个可包括缓冲器晶片和多个存储器晶片。缓冲器晶片可包括错误校正电路,并且存储器晶片中的每一个可包括存储器单元阵列。
错误校正电路可利用第一ECC执行ECC编码和ECC解码。第一ECC可包括多个列矢量,以当读主要数据包括所述多个奇数错误位时在一个符号中收集多个奇数错误位和由于所述多个奇数错误位导致的误校正位。
所述多个堆叠的存储器装置910可安装在插入件930上,并且存储器控制器920可与所述多个堆叠的存储器装置910通信。例如,堆叠的存储器装置910中的每一个和存储器控制器920可包括物理区,并且可在堆叠的存储器装置910与存储器控制器920之间通过物理区执行通信。同时,当堆叠的存储器装置910中的每一个包括直接访问区时,可将测试信号通过安装在封装件衬底940和直接访问区下方的导电装置(例如,焊料球950)提供至堆叠的存储器装置910中的每一个。
如上所述,根据示例性实施例,ECC包括对应于数据位的多个列矢量,列矢量被划分至对应于主要数据的子数据单元的多个码组中,并且列矢量具有当主要数据包括所述多个奇数错误位时将多个奇数错误位和由于所述多个奇数错误位导致的误校正位收集在一个符号中的元素。所述一个符号包括一个或两个邻近的子数据单元。
因此,虽然主要数据包括错误校正电路无法校正和/或检测的多个错误位,但是存储器控制器中的错误校正电路可校正子数据单元中的所述多个错误位和误校正位,因为所述多个错误位和误校正位被收集在子数据单元中。
本公开的示例性实施例可应用于采用本文所述的ECC的半导体存储器装置和存储器系统。虽然参照本公开的示例性实施例具体示出和描述了本公开,但是本领域技术人员应该理解,在不脱离权利要求限定的本公开的精神和范围的情况下,可在其中作出各种形式和细节上的改变。
Claims (20)
1.一种错误校正电路,包括:
错误校正码存储器,其被配置为存储由生成矩阵表示的错误校正码;以及
错误校正码引擎,其被配置为利用错误校正码从主要数据中产生奇偶性数据,并且使用所述奇偶性数据检测和/或校正所述主要数据中的至少一个错误位;
其中,所述主要数据包括被划分至多个子数据单元中的多个数据位;
其中,所述错误校正码包括被划分至与所述子数据单元中的各个子数据单元对应的多个码组中的多个列矢量;
其中,所述多个列矢量具有被配置为将误校正位和多个错误位收集在一个符号中的元素;
其中,当在所述主要数据中存在所述多个错误位时产生所述误校正位。
2.根据权利要求1所述的错误校正电路,其中,所述一个符号包括所述子数据单元之一或者所述子数据单元中的两个邻近的子数据单元;其中,所述多个错误位包括奇数错误位;并且其中,所述列矢量具有被配置为将所述误校正位布置在包括所述多个错误位的子数据单元中的元素。
3.根据权利要求1所述的错误校正电路,其中,所述多个错误位包括第一错误位、第二错误位和第三错误位;其中当所述子数据单元的第一子数据单元包括所述第一错误位、所述第二错误位和所述第三错误位时,对应于所述第一子数据单元的第一码组包括多个第一列矢量;并且其中所述多个第一列矢量被配置为使得对所述第一列矢量的三个不同的列矢量的按位异或运算的结果与所述第一列矢量的除所述三个不同的列矢量之外的列矢量中的一个列矢量匹配。
4.根据权利要求1所述的错误校正电路,
其中,多个错误位包括第一错误位、第二错误位和第三错误位;
其中,当所述子数据单元的第一子数据单元和第二子数据单元包括所述第一错误位、所述第二错误位和所述第三错误位时,所述多个码组的对应于所述第一子数据单元的第一码组包括多个第二列矢量,并且所述多个码组的对应于所述第二子数据单元的第二码组包括多个第二列矢量;并且
其中,所述多个第一列矢量和所述多个第二列矢量被配置为使得对所述第一列矢量和所述第二列矢量的三个不同的列矢量的按位异或运算的结果与所述第一列矢量和所述第二列矢量的除所述三个不同的列矢量之外的一个列矢量匹配。
5.根据权利要求1所述的错误校正电路,其中,所述主要数据包括2p比特的数据位,其中p是大于或等于6的整数;其中,所述奇偶性数据包括p+2比特的奇偶校验位;其中,所述错误校正码是单错误校正和双错误检测码;其中,所述子数据单元包括第一子数据单元至第八子数据单元,并且所述第一子数据单元至所述第八子数据单元中的每一个包括p+2比特;并且其中,所述码组包括分别对应于所述第一子数据单元至所述第八子数据单元的第一码组至第八码组。
6.根据权利要求5所述的错误校正电路,其中,所述第一码组至所述第八码组中的每一个包括第一列矢量至第p+2列矢量;并且其中,所述第一列矢量至所述第p+2列矢量中的每一个包括p+2个元素。
7.根据权利要求1所述的错误校正电路,其中,所述主要数据包括3×2q比特的数据位,其中q是大于或等于6的整数;其中,所述奇偶性数据包括q+3比特的奇偶校验位;其中,所述错误校正码是单错误校正和双错误检测码;其中,所述子数据单元包括第一子数据单元至第十二子数据单元,并且所述第一子数据单元至所述第十二子数据单元中的每一个包括q+3比特;并且其中,所述多个码组包括分别对应于所述第一子数据单元至所述第十二子数据单元的第一码组至第十二码组。
8.根据权利要求7所述的错误校正电路,其中,所述第一码组至所述第十二码组中的每一个包括第一列矢量至第q+3列矢量;并且其中,所述第一列矢量至所述第q+3列矢量中的每一个包括q+3个元素。
9.根据权利要求1所述的错误校正电路,其中,所述错误校正码引擎包括:
错误校正码编码器,其被配置为在存储器写操作期间利用所述错误校正码对所述主要数据执行错误校正码编码操作,以产生所述奇偶性数据;以及
错误校正码解码器,其被配置为在存储器读取操作期间利用所述错误校正码基于所述奇偶性数据对所述主要数据执行错误校正码解码操作。
10.根据权利要求9所述的错误校正电路,其中,所述错误校正码解码器包括:
校验位产生器,其被配置为利用所述错误校正码基于所述主要数据产生校验位;
校验子产生器,其被配置为基于所述校验位与所述奇偶性数据的比较产生校验子数据;以及
数据校正器,其被配置为校正主要数据中的至少一个错误位。
11.一种半导体存储器装置,包括:
存储器单元阵列,其包括分别包括正常单元区和冗余单元区的多个分块阵列,所述正常单元区存储主要数据,所述冗余单元区存储与对应的主要数据关联的第一奇偶性数据,并且所述多个分块阵列中的每一个包括耦接至字线和位线的多个动态存储器单元;
错误校正电路,其被配置为利用错误校正码基于所述主要数据产生奇偶性数据,以及利用所述奇偶性数据校正所述主要数据中的至少一个错误位,其中,所述错误校正码由生成矩阵表示;以及
控制逻辑电路,其被配置为基于命令和地址控制所述错误校正电路;
其中,所述主要数据包括被划分至多个子数据单元中的多个数据位;
其中,所述错误校正码包括被划分至对应于所述子数据单元的多个码组中的多个列矢量;并且
其中,所述列矢量具有被配置为将误校正位和多个错误位收集在一个符号中的元素,其中,所述误校正位由于所述主要数据中的所述多个错误位而产生。
12.根据权利要求11所述的半导体存储器装置,其中:
所述一个符号包括所述子数据单元之一或者所述子数据单元中的两个邻近的子数据单元;
所述多个错误位包括奇数错误位;并且
所述列矢量具有被配置为将所述误校正位布置在包括所述多个错误位的子数据单元中的元素。
13.根据权利要求11所述的半导体存储器装置,其中,所述多个错误位包括第一错误位、第二错误位和第三错误位;其中,当所述子数据单元的第一子数据单元包括所述第一错误位、所述第二错误位和所述第三错误位时,对应于所述第一子数据单元的第一码组包括多个第一列矢量;并且其中,所述多个第一列矢量被配置为使得对所述第一列矢量的三个不同的列矢量的按位异或运算的结果与所述第一列矢量的除所述三个不同的列矢量之外的一个列矢量匹配。
14.根据权利要求11所述的半导体存储器装置,其中,所述主要数据包括2p比特的数据位,其中p是大于或等于6的整数;其中,所述奇偶性数据包括p+2比特的奇偶校验位;其中,所述错误校正码是单错误校正和双错误检测码;其中,所述子数据单元包括第一子数据单元至第八子数据单元,并且所述第一子数据单元至所述第八子数据单元中的每一个包括p+2比特;并且其中,所述码组包括分别对应于所述第一子数据单元至所述第八子数据单元的第一码组至第八码组。
15.根据权利要求11所述的半导体存储器装置,包括:
至少一个缓冲器晶片;以及
多个存储器晶片,所述多个存储器晶片堆叠在所述至少一个缓冲器晶片上,并且通过多个硅通孔线传递数据;
其中,所述多个存储器晶片中的每一个包括所述存储器单元阵列,并且
其中,所述至少一个缓冲器晶片包括所述错误校正电路。
16.一种存储器系统,包括:
半导体存储器装置;以及
存储器控制器,其被配置为控制所述半导体存储器装置;
其中,所述半导体存储器装置包括:
存储器单元阵列,其包括多个分块阵列,
其中,所述多个分块阵列中的每一个包括正常单元区和冗余单元区,所述正常单元区存储主要数据,所述冗余单元区存储与所述主要数据关联的第一奇偶性数据,并且其中,所述多个分块阵列中的每一个包括耦接至字线和位线的多个动态存储器单元;
错误校正电路,其被配置为利用第一错误校正码基于所述主要数据产生所述奇偶性数据,并且利用所述奇偶性数据校正所述主要数据中的至少一个错误位,其中,所述第一错误校正码由生成矩阵表示;以及
控制逻辑电路,其被配置为基于从所述存储器控制器提供的命令和地址控制所述错误校正电路;
其中,所述主要数据包括被划分至多个子数据单元中的多个数据位;
其中,所述第一错误校正码包括被划分至对应于所述子数据单元的多个码组中的多个列矢量,并且
其中,所述列矢量具有被配置为将误校正位和多个错误位收集在一个符号中的元素,其中,由于所述主要数据中的所述多个错误位产生所述误校正位。
17.根据权利要求16所述的存储器系统,其中:
所述一个符号包括所述子数据单元之一或者所述子数据单元中的两个邻近的子数据单元;
所述多个错误位包括奇数错误位;
所述列矢量具有被配置为将所述误校正位布置在包括所述多个错误位的子数据单元中的元素;以及
所述第一错误校正码是单错误校正和双错误检测码。
18.根据权利要求16所述的存储器系统,
其中,所述存储器控制器包括第二错误校正电路;
其中,所述第二错误校正电路包括:
奇偶位生成器,其被配置为利用第二错误校正码基于待发送至所述半导体存储器装置的主要数据产生系统奇偶性数据;
缓冲器,其被配置为存储所述系统奇偶性数据;以及
错误校正码解码器,其被配置为利用所述第二错误校正码基于从所述半导体存储器装置接收的读主要数据产生校验位,并且被配置为基于所述校验位与所述系统奇偶性数据的比较来校正所述读主要数据中的多个错误位。
19.根据权利要求18所述的存储器系统,其中,所述第二错误校正码是按符号校正所述读主要数据中的所述多个错误位的码。
20.根据权利要求19所述的存储器系统,其中:
所述错误校正码解码器被配置为将所述读主要数据中的多个子数据单元中的一个或两个分配为一个符号,并且还被配置为校正所述一个符号中的所述多个错误位。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0069150 | 2019-06-12 | ||
KR1020190069150A KR20200142213A (ko) | 2019-06-12 | 2019-06-12 | 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 메모리 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112084059A true CN112084059A (zh) | 2020-12-15 |
Family
ID=73735861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010488607.4A Pending CN112084059A (zh) | 2019-06-12 | 2020-06-02 | 具有改进的错误校正电路的半导体存储器装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11436079B2 (zh) |
KR (1) | KR20200142213A (zh) |
CN (1) | CN112084059A (zh) |
SG (1) | SG10202001791WA (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11611358B2 (en) * | 2019-12-24 | 2023-03-21 | Kioxia Corporation | Systems and methods for detecting or preventing false detection of three error bits by SEC |
KR20210147686A (ko) * | 2020-05-29 | 2021-12-07 | 에스케이하이닉스 주식회사 | 오류 정정 회로 및 오류 정정 인코딩 방법 |
KR20220039432A (ko) * | 2020-09-22 | 2022-03-29 | 삼성전자주식회사 | 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법 |
KR20220139199A (ko) * | 2021-04-07 | 2022-10-14 | 삼성전자주식회사 | 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 |
KR20230083689A (ko) * | 2021-12-03 | 2023-06-12 | 서울대학교산학협력단 | 온-다이 오류 정정 코드에서 오류 정정과 오류 검출을 동적 전환 가능한 메모리 장치 |
US11955989B2 (en) | 2022-08-21 | 2024-04-09 | Nanya Technology Corporation | Memory device and test method thereof |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170371746A1 (en) * | 2016-06-23 | 2017-12-28 | SK Hynix Inc. | Methods of correcting data errors and semiconductor devices used therein |
US20190012229A1 (en) * | 2017-07-06 | 2019-01-10 | Samsung Electronics Co ., Ltd . | Semiconductor memory device error correction circuit, semiconductor memory device including the same, and memory system incluidng the same |
CN109767806A (zh) * | 2017-11-09 | 2019-05-17 | 三星电子株式会社 | 自适应错误检查与校正的半导体存储器装置和存储器系统 |
CN109785894A (zh) * | 2017-11-14 | 2019-05-21 | 三星电子株式会社 | 半导体存储器装置、存储器系统和操作方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4213814B2 (ja) | 1999-05-11 | 2009-01-21 | 富士通株式会社 | エラー訂正回路のチェック方法およびチェック機能付きエラー訂正回路 |
US8230305B2 (en) | 2009-04-02 | 2012-07-24 | Micron Technology, Inc. | Extended single-bit error correction and multiple-bit error detection |
KR102296738B1 (ko) | 2015-06-01 | 2021-09-01 | 삼성전자 주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법 |
US9817714B2 (en) | 2015-08-28 | 2017-11-14 | Intel Corporation | Memory device on-die error checking and correcting code |
US10108512B2 (en) | 2016-04-01 | 2018-10-23 | Intel Corporation | Validation of memory on-die error correction code |
-
2019
- 2019-06-12 KR KR1020190069150A patent/KR20200142213A/ko active Search and Examination
- 2019-12-12 US US16/711,557 patent/US11436079B2/en active Active
-
2020
- 2020-02-28 SG SG10202001791WA patent/SG10202001791WA/en unknown
- 2020-06-02 CN CN202010488607.4A patent/CN112084059A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170371746A1 (en) * | 2016-06-23 | 2017-12-28 | SK Hynix Inc. | Methods of correcting data errors and semiconductor devices used therein |
US20190012229A1 (en) * | 2017-07-06 | 2019-01-10 | Samsung Electronics Co ., Ltd . | Semiconductor memory device error correction circuit, semiconductor memory device including the same, and memory system incluidng the same |
CN109767806A (zh) * | 2017-11-09 | 2019-05-17 | 三星电子株式会社 | 自适应错误检查与校正的半导体存储器装置和存储器系统 |
CN109785894A (zh) * | 2017-11-14 | 2019-05-21 | 三星电子株式会社 | 半导体存储器装置、存储器系统和操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200394102A1 (en) | 2020-12-17 |
SG10202001791WA (en) | 2021-01-28 |
KR20200142213A (ko) | 2020-12-22 |
US11436079B2 (en) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110148434B (zh) | 半导体存储器件、存储系统和操作半导体存储器件的方法 | |
CN109785894B (zh) | 半导体存储器装置、存储器系统和操作方法 | |
US11385960B2 (en) | Semiconductor memory devices, memory systems and methods of operating semiconductor memory devices | |
CN110120243B (zh) | 半导体存储器装置、操作其的方法以及存储器系统 | |
US11681579B2 (en) | Semiconductor memory devices and memory systems including the same | |
CN109215722B (zh) | 半导体存储装置的纠错电路、半导体存储装置及存储系统 | |
CN109754828B (zh) | 半导体存储器装置及其操作方法、存储器系统 | |
US11416335B2 (en) | Semiconductor memory devices and memory systems with enhanced error detection and correction | |
CN112084059A (zh) | 具有改进的错误校正电路的半导体存储器装置 | |
US10922171B2 (en) | Error correction code circuits, semiconductor memory devices and memory systems | |
CN113140252A (zh) | 半导体存储器件的纠错电路和半导体存储器件 | |
CN111090538A (zh) | 存储器模块及操作包括该存储器模块的存储器系统的方法 | |
CN115376602A (zh) | 半导体存储器件 | |
US11860734B2 (en) | Semiconductor memory devices and memory systems | |
US20240201868A1 (en) | Semiconductor memory device and memory system including the same | |
TW202405817A (zh) | 半導體記憶體裝置和包括其的記憶體系統 | |
CN117437966A (zh) | 半导体存储器装置和包括半导体存储器装置的存储器系统 | |
KR20240012254A (ko) | 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 | |
CN116340049A (zh) | 存储器系统及操作存储器系统的方法 | |
CN117995257A (zh) | 半导体存储器装置和操作半导体存储器装置的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |