CN110085277B - 存储器装置、存储器系统和操作存储器装置的方法 - Google Patents

存储器装置、存储器系统和操作存储器装置的方法 Download PDF

Info

Publication number
CN110085277B
CN110085277B CN201811606585.6A CN201811606585A CN110085277B CN 110085277 B CN110085277 B CN 110085277B CN 201811606585 A CN201811606585 A CN 201811606585A CN 110085277 B CN110085277 B CN 110085277B
Authority
CN
China
Prior art keywords
error
syndrome
bit
memory device
codeword
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.)
Active
Application number
CN201811606585.6A
Other languages
English (en)
Other versions
CN110085277A (zh
Inventor
车相彦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN110085277A publication Critical patent/CN110085277A/zh
Application granted granted Critical
Publication of CN110085277B publication Critical patent/CN110085277B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1044Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1012Adding 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 codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/26Accessing multiple arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/1575Direct 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Dram (AREA)
  • Read Only Memory (AREA)

Abstract

提供一种存储器装置、存储器系统和操作存储器装置的方法。所述半导体存储器装置包括:存储器单元阵列,包括多个动态存储器单元;纠错码(ECC)引擎;输入/输出(I/O)门控电路,连接在所述ECC引擎与所述存储器单元阵列之间;错误信息寄存器,被配置为存储错误地址和第一校验子,错误地址和第一校验子与存储在所述存储器单元阵列的第一页中的第一码字中的第一错误位相关联;控制逻辑,基于被再次读取并包括与第一错误位不同的第二错误位的第一码字,通过使用存储在所述错误信息寄存器中的第一校验子来恢复与第二错误位相关联的第二校验子,并顺序地校正第一错误位和第二错误位。

Description

存储器装置、存储器系统和操作存储器装置的方法
本申请要求于2018年1月25日提交到韩国知识产权局的第10-2018-0009188号韩国专利申请的优先权,所述韩国专利申请的公开通过引用全部包含于此。
技术领域
与示例实施例一致的方法和设备涉及存储器,更具体地讲,涉及半导体存储器装置、存储器系统和操作半导体存储器装置的方法。
背景技术
半导体存储器装置可被分类为非易失性存储器装置(诸如,闪存装置)和易失性存储器装置(诸如,动态随机存取存储器(DRAM))。DRAM的高速操作和成本效益使得DRAM可用于系统存储器。由于在DRAM的制造设计规则中尺寸的持续减小,DRAM中的存储器单元的位错误增加并且DRAM产量降低。因此,需要半导体存储器装置的可信度。
发明内容
根据示例实施例的一个方面,提供一种半导体存储器装置,包括:存储器单元阵列,包括多个动态存储器单元;纠错码引擎(ECC引擎);输入/输出门控电路(I/O门控电路),连接在所述ECC引擎与存储器单元阵列之间;错误信息寄存器,被配置为存储错误地址和第一校验子,错误地址和第一校验子与存储在所述存储器单元阵列的第一页中的第一码字中的第一错误位相关联;控制逻辑电路,被配置为:基于来自外部存储器控制器的地址和命令来控制所述ECC引擎、I/O门控电路和错误信息寄存器,并基于被再次读取并包括与第一错误位不同的第二错误位的第一码字,通过使用存储在错误信息寄存器中的第一校验子来恢复与第二错误位相关联的第二校验子,并顺序地校正第一错误位和第二错误位。
所述纠错码引擎还可被配置为:基于第一校验子和第二校验子顺序地校正第一错误位和第二错误位。
所述控制逻辑电路还可被配置为:通过基于第一校验子和第三校验子执行异或运算来控制所述纠错码引擎恢复第二校验子,其中,第三校验子与由于第一错误位和第二错误位而被误校正的第三错误位相关联。
所述纠错码引擎还可被配置为校正单个错误位。
所述错误信息寄存器还可被配置为存储与第一码字相关联的行地址和列地址。
所述控制逻辑电路还可被配置为:基于存储在所述第一页中的新的写入数据,来重置存储与第一错误位相关联的错误地址和第一校验子的所述错误信息寄存器的行。
所述错误信息寄存器可包括:错误信息表,被配置为存储与第一码字相关联的行地址、列地址和第一校验子;表指向器,被配置为基于所述地址提供与所述错误信息表对应的表指向信号;重置器,被配置为基于从所述控制逻辑电路接收的控制信号来重置存储在所述错误信息表中的内容。
所述纠错码引擎可包括:纠错码编码器,被配置为对来自外部存储器控制器的主数据执行纠错码编码,以生成将被存储在所述第一页中的奇偶校验位;纠错码解码器,被配置为通过使用奇偶校验位对从所述第一页读取的第一码字中的主数据来执行纠错码解码以生成第一校验子,并通过使用第一校验子来恢复第二校验子。
所述纠错码解码器可包括:校验子生成电路,被配置为通过使用从所述第一页读取的第一码字来生成校验子;错误定位器,被配置为基于校验子或恢复的校验子生成指示第一错误位或第二错误位的位置的错误位置信号;数据校正器,被配置为基于错误位置信号校正第一错误位或第二错误位以输出校正的主数据;选择电路,被配置为基于选择信号从第一校验子和地电压中选择一个作为选择的输出;异或门,用于对校验子和选择的输出执行异或运算,以向所述错误定位器提供校验子或恢复的校验子。
所述错误定位器还可被配置为:基于包括第一错误位的校验子将错误生成信号提供给所述控制逻辑电路,其中,所述控制逻辑电路还被配置为:将与第一错误位相关联的第一码字的行地址和列地址作为错误地址存储在所述错误信息寄存器中。
所述数据校正器还可被配置为:当校验子包括第一错误位时,将校验子作为第一校验子存储在所述错误信息寄存器中。
所述校验子生成电路可包括:校验位生成器,被配置为基于从所述第一页读取的第一码字中的主数据生成校验位;校验子生成器,被配置为通过将第一码字中的奇偶校验位和所述校验位的对应的位进行比较来生成校验子。
所述控制逻辑电路还可被配置为:将错误地址和第一校验子存储在所述存储器单元阵列的一部分中。
所述半导体存储器装置可包括:第一组裸片,包括至少一个缓冲器裸片;第二组裸片,包括多个存储器裸片,所述多个存储器裸片堆叠在第一组裸片上并通过多条硅通孔线传送数据,其中,所述多个存储器裸片中的至少一个存储器裸片包括所述存储器单元阵列和所述纠错码引擎,并且所述纠错码引擎还被配置为:使用将被发送到所述第一组裸片的传输数据来生成传输奇偶校验位,其中,所述至少一个缓冲器裸片包括通孔纠错码引擎,所述通孔纠错码引擎被配置为:当从通过所述多条硅通孔线接收的传输数据检测到传输错误时,使用传输奇偶校验位来校正传输错误。
所述半导体存储器装置可以是高带宽存储器。
所述纠错码引擎还可被配置为:在将传输数据发送到所述至少一个缓冲器裸片之前,校正从所述多个存储器裸片输出的错误。
根据另一示例实施例的一个方面,提供一种存储器系统,包括:至少一个半导体存储器装置;存储器控制器,被配置为控制所述至少一个半导体存储器装置,其中,所述至少一个半导体存储器装置包括:存储器单元阵列,包括多个动态存储器单元;纠错码引擎(ECC引擎);输入/输出门控电路(I/O门控电路),连接在所述ECC引擎与所述存储器单元阵列之间;错误信息寄存器,被配置为存储错误地址和第一校验子,错误地址和第一校验子与存储在所述存储器单元阵列的第一页中的第一码字中的第一错误位相关联;控制逻辑电路,被配置为:基于来自所述存储器控制器的地址和命令来控制所述ECC引擎、所述I/O门控电路和所述错误信息寄存器,并且当从所述第一页再次读取第一码字并且第一码字包括与第一错误位不同的第二错误位时,控制ECC引擎通过使用存储在错误信息寄存器中的第一校验子来恢复与第二错误位相关联的第二校验子,并顺序地校正第一错误位和第二错误位。
纠错码引擎还可被配置为:基于第一校验子和恢复的第二校验子顺序地校正第一错误位和第二错误位。
根据另一示例实施例的一个方面,提供一种操作包括存储器单元阵列的半导体存储器装置的方法,操作所述半导体存储器装置的方法包括:在纠错码引擎(ECC引擎)中,对从存储器单元阵列的存储器位置读取的第一码字执行ECC解码,所述第一码字对应于访问地址;基于在所述第一码字中检测到的第一错误位,将错误地址和第一校验子存储在错误信息寄存器中,错误地址和第一校验子与第一错误位相关联;在ECC引擎中,基于从所述存储器位置再次读取并包括与第一错误位不同的第二错误位的第一码字,通过使用存储在错误信息寄存器中的第一校验子来恢复与第二错误位相关联的第二校验子;在ECC引擎中,通过使用第一校验子和第二校验子来校正第一错误位和第二错误位。
存储器单元阵列可包括多个动态存储器单元,其中,纠错码引擎还被配置为:按照时间推移将在第一码字中生成的第一错误位和第二错误位分开,并被配置为顺序地校正第一错误位和第二错误位。
附图说明
下面将参照附图更详细地描述以上和其它方面、特征以及优点,其中:
图1是示出根据示例实施例的存储器系统的框图。
图2是示出根据示例实施例的图1中的半导体存储器装置的框图。
图3示出图2的半导体存储器装置中的第一存储体(bank)阵列的示例。
图4示出在写入操作期间图3的半导体存储器装置的一部分。
图5示出在读取操作中图3的半导体存储器装置的一部分。
图6示出图2的半导体存储器装置中所示的存储体阵列、ECC引擎和错误信息寄存器。
图7是示出根据示例实施例的图2的半导体存储器装置中的ECC引擎的示例的框图。
图8示出根据示例实施例的图7的ECC引擎中的ECC编码器的示例。
图9示出根据示例实施例的图7的ECC引擎中的ECC解码器的示例。
图10示出根据示例实施例的图2的半导体存储器装置中的错误信息寄存器的示例。
图11示出根据示例实施例的图9的ECC解码器的操作。
图12示出在图5中的半导体存储器装置中执行的ECC解码。
图13示出根据示例实施例的图2的半导体存储器装置中的第一存储体阵列的示例。
图14是示出根据示例实施例的半导体存储器装置的框图。
图15是示意性地示出图14中的ECC引擎之间的连接的示图。
图16是示出根据示例实施例的操作半导体存储器装置的方法的流程图。
图17是根据示例实施例的采用图14的半导体存储器装置的3D芯片结构的截面图。
图18是根据示例实施例的示出采用半导体存储器装置的智能电话的框图。
具体实施方式
在下文中,将参照附图更充分地描述示例实施例。
图1是示出根据示例实施例的存储器系统的框图。
参照图1,存储器系统20可包括存储器控制器100和至少一个半导体存储器装置200。
存储器控制器100可控制存储器系统20的整体操作。存储器控制器100可控制外部主机与半导体存储器装置200之间的整体数据交换。例如,存储器控制器100可响应于来自主机的请求,将数据写入到半导体存储器装置200中或从半导体存储器装置200读取数据。
此外,存储器控制器100可向半导体存储器装置200发出用于控制半导体存储器装置200的操作命令。
在一些示例实施例中,半导体存储器装置200是包括动态存储器单元的存储器装置,诸如,动态随机存取存储器(DRAM)、双倍数据速率4(DDR4)同步DRAM(SDRAM)、低功率DDR4(LPDDR4)SDRAM或LPDDR5SDRAM。
存储器控制器100将时钟信号CLK、命令CMD和地址信号ADDR发送到半导体存储器装置200,并与半导体存储器装置200交换主数据MD。
半导体存储器装置200包括存储主数据MD和奇偶校验位的存储器单元阵列(MCA)300、纠错码(ECC)引擎400、控制逻辑电路210和错误信息寄存器500。
在控制逻辑电路210的控制下,ECC引擎400可以以码字为单位从存储器单元阵列300的目标页读取数据(即,第一码字),对第一码字执行ECC解码,并且当第一码字包括第一错误位时可将错误地址和第一校验子存储在错误信息寄存器500中。错误地址和第一校验子可与第一错误位相关联。
ECC引擎400可从目标页再次读取第一码字,当第一码字包括与第一错误位不同的第二错误位时,通过使用存储在错误信息寄存器500中的第一校验子来恢复与第二错误位相关联的第二校验子,并且可通过使用第一校验子和第二校验子来校正第一错误位和第二错误位。ECC引擎400可顺序地校正第一错误位和第二错误位。
图2是示出根据示例实施例的图1中的半导体存储器装置的框图。
参照图2,半导体存储器装置200包括控制逻辑电路(或控制逻辑)210、地址寄存器220、存储体控制逻辑230、刷新计数器245、行地址多路复用器240、列地址锁存器250、行解码器260、列解码器270、存储器单元阵列300、感测放大器285、输入/输出(I/O)门控电路290、ECC引擎400、数据I/O缓冲器295和错误信息寄存器500。
存储器单元阵列300包括第一存储体阵列310至第八存储体阵列380。行解码器260包括分别结合到第一存储体阵列310至第八存储体阵列380的第一存储体行解码器260a至第八存储体行解码器260h,列解码器270包括分别结合到第一存储体阵列310至第八存储体阵列380的第一存储体列解码器270a至第八存储体列解码器270h,感测放大器单元285包括分别结合到第一存储体阵列310至第八存储体阵列380的第一存储体感测放大器285a至第八存储体感测放大器285h。第一存储体阵列310至第八存储体阵列380中的每个包括形成在多条字线WL和多条位线BTL的交叉点处的多个存储器单元MC。
第一存储体阵列310至第八存储体阵列380、第一存储体行解码器260a至第八存储体行解码器260h、第一存储体列解码器270a至第八存储体列解码器270h以及第一存储体感测放大器285a至第八存储体感测放大器285h可形成第一存储体至第八存储体。第一存储体阵列310至第八存储体阵列380中的每个包括形成在多条字线WL和多条位线BTL的交叉点处的多个存储器单元MC。
地址寄存器220从存储器控制器100接收包括存储体地址BANK_ADDR、行地址ROW_ADDR和列地址COL_ADDR的地址ADDR。地址寄存器220向存储体控制逻辑230提供接收到的存储体地址BANK_ADDR,向行地址多路复用器240提供接收到的行地址ROW_ADDR,并可向列地址锁存器250提供接收到的列地址COL_ADDR。
存储体控制逻辑230响应于存储体地址BANK_ADDR生成存储体控制信号。与存储体地址BANK_ADDR对应的第一存储体行解码器260a至第八存储体行解码器260h中的一个响应于存储体控制信号而被激活,与存储体地址BANK_ADDR对应的第一存储体列解码器270a至第八存储体列解码器270h中的一个响应于存储体控制信号而被激活。
行地址多路复用器240从地址寄存器220接收行地址ROW_ADDR,并且从刷新计数器245接收刷新行地址REF_ADDR。行地址多路复用器240选择性地输出行地址ROW_ADDR或刷新行地址REF_ADDR作为行地址RA。从行地址多路复用器240输出的行地址RA被应用于第一存储体行解码器260a至第八存储体行解码器260h。
第一存储体行解码器260a至第八存储体行解码器260h中的通过存储体控制逻辑230激活的一个对从行地址多路复用器240输出的行地址RA进行解码,并且激活与行地址RA对应的字线。例如,激活的存储体行解码器将字线驱动电压施加到与行地址RA对应的字线。
列地址锁存器250从地址寄存器220接收列地址COL_ADDR,并临时存储接收到的列地址COL_ADDR。在一些示例实施例中,在突发模式(burst mode)下,列地址锁存器250生成从接收的列地址COL_ADDR增加的列地址。列地址锁存器250将临时存储或生成的列地址应用于第一存储体列解码器270a至第八存储体列解码器270h。
第一存储体列解码器270a至第八存储体列解码器270h中的激活的一个通过I/O门控电路290激活与存储体地址BANK_ADDR和列地址COL_ADDR对应的感测放大器。
I/O门控电路290包括用于门控输入/输出数据的电路,并且还包括输入数据掩码逻辑,用于存储从第一存储体阵列310至第八存储体阵列380输出的数据的读取数据锁存器,以及用于将数据写入到第一存储体阵列310至第八存储体阵列380的写入驱动器。
从第一存储体阵列310至第八存储体阵列380中的一个存储体阵列读取的码字CW由结合到数据将被读取的一个存储体阵列的感测放大器来感测,并且被存储在读取数据锁存器中。存储在读取数据锁存器中的码字CW可在通过ECC引擎400对码字CW执行ECC解码之后,经由数据I/O缓冲器295提供给存储器控制器100。
将被写入到第一存储体阵列310至第八存储体阵列380中的一个存储体阵列中的主数据MD可从存储器控制器100提供给数据I/O缓冲器295,可从数据I/O缓冲器295提供给ECC引擎400,ECC引擎400可对主数据MD执行ECC编码以生成奇偶校验位,ECC引擎400可将主数据MD和奇偶校验位提供给I/O门控电路290,I/O门控电路290可通过写入驱动器将主数据MD和奇偶校验位写入到一个存储体阵列中的目标页中。
数据I/O缓冲器295可基于时钟信号CLK,在半导体存储器装置200的写入操作中将来自存储器控制器100的主数据MD提供给ECC引擎400,并且可在半导体存储器装置200的读取操作中,将来自ECC引擎400的主数据MD提供给存储器控制器100。
ECC引擎400对从存储器单元阵列300中的目标页的一部分(即,子页)读取的第一码字执行ECC解码,并且当在第一码字的主数据中检测到第一错误位时校正第一错误位的同时,可将与第一错误位相关联的第一校验子SDR1存储在错误信息寄存器500中。
ECC引擎400可使用单个纠错码来实现,其中,该纠错码检测主数据MD中的单个位错误并校正单个位错误。
此外,当在第一码字中检测到第一错误位时,ECC引擎400可向控制逻辑电路210提供指示检测到第一错误位的错误生成信号EGS,并且控制逻辑电路210可将第一码字的行地址和列地址作为错误地址EADDR存储在错误信息寄存器500中。
在示例实施例中,ECC引擎400而不是控制逻辑电路210可将错误地址EADDR存储在错误信息寄存器500中。
当从目标页的子页再次读取第一码字并且第一码字包括与第一错误位不同的第二错误位时,ECC引擎400可通过使用存储在错误信息寄存器500中的第一校验子SDR1来恢复与第二错误位相关联的第二校验子,并可通过使用第一校验子SDR1和恢复的第二校验子来校正第一错误位和第二错误位。ECC引擎400可在控制逻辑电路210的控制下顺序地校正第一错误位和第二错误位。
控制逻辑电路210可控制半导体存储器装置200的操作。例如,控制逻辑电路210可生成半导体存储器装置200的控制信号,以便执行写入操作或读取操作。控制逻辑电路210包括命令解码器211和模式寄存器212,其中,命令解码器211对从存储器控制器100接收的命令CMD进行解码,模式寄存器212设置半导体存储器装置200的操作模式。
例如,命令解码器211可通过对写入使能信号、行地址选通信号、列地址选通信号、芯片选择信号等进行解码来生成与命令CMD对应的控制信号。控制逻辑电路210可生成用于控制I/O门控电路290的第一控制信号CTL1、用于控制ECC引擎400的第二控制信号CTL2以及用于控制错误信息寄存器500的第三控制信号CTL3。
图3示出图2的半导体存储器装置中的第一存储体阵列的示例。
参照图3,第一存储体阵列310包括多条字线WL1至WLm(m是大于2的自然数)、多条位线BTL1至BTLn(n是大于2的自然数)、以及设置在字线WL1至WLm与位线BTL1至BTLn之间的交叉点处的多个存储器单元MC。多个存储器单元MC中的每个包括结合到字线WL1至WLm中的一条字条和位线BTL1至BTLn中的一条位线的单元晶体管,并且存储器单元MC包括结合到相应的单元晶体管的单元电容器。
图4示出在写入操作期间图3的半导体存储器装置的一部分。
在图4中,示出控制逻辑电路210、第一存储体阵列310、I/O门控电路290和ECC引擎400。
参照图4,第一存储体阵列310包括正常单元阵列NCA和冗余单元阵列RCA。
正常单元阵列NCA包括多个第一存储器块MB0至MB15(即,第一存储器块311至313),冗余单元阵列RCA包括至少一个第二存储器块314。第一存储器块311至313是存储器块,并且第一存储器块的量对应于半导体存储器装置200的存储器容量。
第二存储器块314用于ECC和/或冗余修复。因为第二存储器块314用于ECC、数据线修复和块修复以修复在第一存储器块311至313中生成的“故障”单元,所以第二存储器块314也被称为EDB块。
在第一存储器块311至313中的每个中,多个第一存储器单元按行和列布置。在第二存储器块314中,多个第二存储器单元按行和列布置。连接到字线WL和位线BTL的交叉点的第一存储器单元可以是动态存储器单元。连接到字线WL和位线RBTL的交叉点的第二存储器单元可以是动态存储器单元。
I/O门控电路290包括分别连接到第一存储器块311至313和第二存储器块314的多个开关电路291a至291d。在半导体存储器装置200中,与突发长度(BL)的数据对应的位线可被同时访问以支持指示可访问的列位置的最大数量的BL。例如,BL可被设置为8。
ECC引擎400可通过第一数据线GIO[0:127]和第二数据线EDBIO[0:7]连接到开关电路291a至291d。
控制逻辑电路210可接收命令CMD和地址ADDR,并可对命令CMD进行解码以生成用于控制开关电路291a至291d的第一控制信号CTL1和用于控制ECC引擎400的第二控制信号CTL2。
当命令CMD是写入命令时,控制逻辑电路210将第二控制信号CTL2提供给ECC引擎400,并且ECC引擎400对主数据MD执行ECC编码以生成与主数据MD相关联的奇偶校验位,并向I/O门控电路290提供包括主数据MD和奇偶校验位的码字CW。控制逻辑电路210将第一控制信号CTL1提供给I/O门控电路290,使得码字CW将被存储在第一存储体阵列310中的目标页的子页中。
图5示出在读取操作中图3的半导体存储器装置的一部分。
在图5中,示出控制逻辑电路210、第一存储体阵列310、I/O门控电路290、ECC引擎400和错误信息寄存器500。
参照图5,当命令CMD是用于指定读取操作的读取命令时,控制逻辑电路210将第一控制信号CTL1提供给I/O门控电路290,使得存储在第一存储体阵列310中的目标页的子页中的第一(读取)码字RCW被提供给ECC引擎400。
ECC引擎400对第一码字RCW执行ECC解码以生成校验子,并且当第一码字RCW包括第一错误位时将与第一错误位相关联的第一校验子SDR1存储在错误信息寄存器500中。此外,当第一码字RCW包括第一错误位时,控制逻辑电路210将包括第一错误位的第一码字RCW的行地址和列地址作为错误地址EADDR存储在错误信息寄存器500中。
当从目标页的子页再次读取第一码字RCW并且第一码字RCW包括与第一错误位不同的第二错误位时,ECC引擎400通过使用存储在错误信息寄存器500中的第一校验子来恢复与第二错误位相关联的第二校验子,通过使用第一校验子SDR1和第二校验子来顺序地校正第一错误位和第二错误位,并输出校正的主数据C_MD。
图6示出图2的半导体存储器装置中所示的存储体阵列、ECC引擎和错误信息寄存器。
在图6中,为了方便起见,示出第一存储体阵列310,然而,在此讨论的与第一存储体阵列310相关的细节可应用于其他存储体阵列320至380。
参照图6,第一存储体阵列310的每个页具有8千比特(Kb)的大小,并且该页的每个子页具有128比特(b)的大小。对于每个子页存储8b的奇偶校验位。来自具有128b的大小(X128)的每个子页的数据和具有8b的大小(X8)的对应的奇偶校验位被顺序地读取并被提供给ECC引擎400。
ECC引擎400对顺序提供的每个码字执行ECC解码,当根据ECC解码的结果检测到第一错误位时将与第一错误位相关联的第一校验子SDR1存储在错误信息寄存器500中,并将错误生成信号EGS提供给控制逻辑电路210,使得包括第一错误位的码字的地址作为错误地址EADDR被存储在错误信息寄存器500中。错误地址EADDR可包括包含第一错误位的码字的行地址和列地址。
当再次读取包括第一错误位的码字时,ECC引擎400对码字执行ECC解码。根据ECC解码的结果,当码字包括与第一错误位不同的第二错误位时,ECC引擎400通过使用存储在错误信息寄存器500中的第一校验子SDR1来恢复与第二错误位相关联的第二校验子,并通过使用第二校验子校正第二错误位。
图7是示出根据示例实施例的图2的半导体存储器装置中的ECC引擎的示例的框图。
参照图7,ECC引擎400包括ECC编码器410和ECC解码器430。
ECC编码器410可生成与将被存储在第一存储体阵列310的正常单元阵列NCA中的写入数据WMD相关联的奇偶校验位PRT。
ECC解码器430可基于从第一存储体阵列310读取的读取数据RMD和奇偶校验位PRT来执行ECC解码。作为ECC解码的结果,当读取数据RMD包括第一错误位时,ECC解码器430将与第一错误位相关联的第一校验子SDR1存储在错误信息寄存器500中。在经过一段时间之后,当读取数据RMD包括与第一错误位不同的第二错误位时,ECC解码器430通过使用第一校验子SDR1来恢复与第二错误位相关联的第二校验子,通过使用第一校验子SDR1和第二校验子来顺序地校正读取数据RMD中的错误位,并输出校正的主数据C_MD。
图8示出根据示例实施例的图7的ECC引擎中的ECC编码器的示例。
参照图8,ECC编码器410可包括奇偶校验生成器420。奇偶校验生成器420接收128位写入数据WMD和8位基础数据(或基础位)BB,并通过执行例如异或(XOR)阵列运算来生成8位奇偶校验数据PRT。基础位BB是用于针对128位写入数据WMD生成奇偶校验位PRT的位,并可包括b'0000000。基础位BB可包括其他特定位而不仅是b'0000000。
图9示出根据示例实施例的图7的ECC引擎中的ECC解码器的示例。
参照图9,ECC解码器430可包括校验子生成电路440、异或门(XOR)门451、选择电路453、错误定位器460和数据校正器470。校验子生成电路440可包括校验位生成器441和校验子生成器443。
校验位生成器441基于读取数据RMD通过执行XOR阵列运算生成校验位CHB,校验子生成器443通过将奇偶校验位PRT和校验位CHB的对应的位进行比较来生成校验子SDR。
当校验子SDR的所有位都不为“0”时,错误定位器460生成指示读取数据RMD中的错误位的位置的错误位置信号EPS,以将错误位置信号EPS提供给数据校正器470。此外,当读取数据RMD包括错误位时,错误定位器460将错误生成信号EGS提供给控制逻辑电路210。
数据校正器470接收读取数据RMD,当读取数据RMD包括错误位时,基于错误位置信号EPS校正读取数据RMD中的错误位,并输出校正的主数据C_MD。此外,当错误位置信号EPS指示读取数据RMD包括错误位时,数据校正器470接收校验子SDR并将校验子SDR作为第一校验子SDR1存储在错误信息寄存器500中。
当从目标页再次读取读取数据RMD并且读取数据RMD包括与第一错误位不同的第二错误位时,错误信息寄存器500将第一校验子SDR1提供给选择电路453,并且选择电路453响应于包括在第二控制信号CTL2中的第一选择信号SS1选择第一校验子SDR1和地电压VSS中的第一校验子SDR1以输出第一校验子SDR1。XOR门451对校验子SDR和第一校验子SDR1执行XOR运算。
因此,XOR门451可向错误定位器460提供校验子SDR或恢复的校验子RSDR。恢复的校验子RSDR可对应于第二校验子SDR2。当选择电路453选择地电压VSS时,XOR门451可将校验子SDR提供给错误定位器460。当选择电路453选择第一校验子SDR1时,XOR门451可将恢复的校验子RSDR提供给错误定位器460。
当读取数据RMD包括顺序地生成的第一错误位和第二错误位时,可在读取数据RMD中检测到由于第一错误位和第二错误位而被误校正的第三错误位,并且与第三错误位相关联的第三校验子可由第一校验子SDR1和与第二错误位相关联的第二校验子的XOR运算表示。因此,当对第三校验子和第一校验子SDR1执行XOR运算时,XOR门451的输出对应于第二校验子。因此,ECC引擎400可通过使用第一校验子SDR1来恢复第二校验子。数据校正器470可响应于基于第二校验子生成的错误位置信号EPS来校正第二错误位。
图10示出根据示例实施例的图2的半导体存储器装置中的错误信息寄存器的示例。
参照图10,错误信息寄存器500可包括表指向器510、重置器515、错误信息表520和传感器530。
表指向器510可基于地址ADDR的一部分(即,访问地址),将表指向信号TPS输出到错误信息表520和传感器530。表指向器510可响应于在执行ECC解码时应用的指定一个码字的地址,将表指向信号TPS提供给错误信息表520的相应行。
错误信息表520响应于表指向信号TPS,向传感器530提供存储在由表指向信号TPS指定的行中的第一校验子SDR1。传感器530响应于表指向信号TPS,向ECC引擎400提供来自错误信息表520的第一校验子SDR1。
当新的数据将被存储在由访问地址ADDR指定的页的子页中时,重置器515可响应于访问地址ADDR和第三控制信号CTL3来重置存储在错误信息表520中的与访问地址ADDR相关联的对应的码字的错误地址和第一校验子SDR1。也就是说,当新的数据将被存储在由访问地址ADDR指定的页的子页中时,重置器515可重置存储在与包括第一错误位的码字相关联的行中的内容。
错误信息表520可分别存储与多个码字CW1至CWk相关联的行地址RA1至RAk以及列地址CA1至CAk,并且还可存储与多个码字CW1至CWk的每个第一错误位相关联的第一校验子SDR11至SDRk1。行地址RA1至RAk中的至少一些可相对于彼此相同。
图11示出根据示例实施例的图9的ECC解码器的操作。
当在一个码字中生成两个错误位时,顺序地生成两个错误位的概率远大于同时生成两个错误位的概率。此外,假设图9的ECC解码器430能够校正单个错误位。
参照图9和图11,假设如参考标号541所示,第一码字CW1包括第一错误位EB1。与第一错误位EB1相关联的校验子SDR是被表示为“11000011”的第一校验子S15。
随着时间推移,如参考标号542所示,第一码字CW1可包括除了第一错误位EB1之外的第二错误位EB2。与第二错误位EB2相关联的校验子SDR是第二校验子S53。
当ECC解码器430对包括第一错误位EB1和第二错误位EB2的第一码字CW1执行ECC解码时,因为第一码字CW1包括超过ECC引擎400的纠错能力的错误位,所以第一码字CW1包括由于第一错误位EB1和第二错误位EB2而被误校正的第三错误位。与第三错误位相关联的校验子SDR是被表示为“00110011”的第三校验子S80(即,Sr)。
如参考标号542所示,第三校验子S80可被表示为对第一校验子S15和第二校验子S53的XOR运算的结果。如参考标号543所示,当对存储在错误信息寄存器500中的第一校验子S15和第三校验子S80执行XOR运算时,如参考标号544所示,被表示为“11110000”的第二校验子S53被恢复,并且第二错误位EB2被恢复。因此,ECC引擎400可通过使用恢复的第二校验子S53来校正第二错误位EB2。
图12示出在图5中的半导体存储器装置中执行ECC解码。
参照图5至图7和图9至图12,如参考标号551所示,当命令CMD是读取命令时,从第一存储体阵列310中的页的子页读取包括128位主数据MD和8位奇偶校验位PRT的第一码字CW1,并且第一码字CW1被提供给ECC引擎400。第一码字CW1可包括第一错误位EB1。如参考标号552所示,ECC引擎400对第一码字CW1执行ECC解码,并将与第一错误位EB1相关联的第一校验子SDR1存储在错误信息寄存器500中。
随着时间推移,如参考标号553所示,存储在第一存储体阵列310中的第一码字CW1包括与第一错误位EB1不同的第二错误位EB2,从第一存储体阵列310中的页的子页再次读取第一码字CW1,并且第一码字CW1被提供给ECC引擎400。当ECC引擎400对包括第一错误位EB1和第二错误位EB2的第一码字CW1执行ECC解码时,第二错误位EB2被检测。
如参考标号554所示,ECC引擎400通过使用存储在错误信息寄存器500中的第一校验子SDR1来恢复与第二错误位EB2相关联的第二校验子,通过使用第一校验子SDR1和第二校验子来校正第一错误位EB1和第二错误位EB2,并输出校正的主数据C_MD。也就是说,ECC引擎400可执行作为由SEQUENTIAL DEC(双错误校正)表示的顺序的双错误校正,以顺序地校正第一错误位EB1和第二错误位EB2。
图13示出根据示例实施例的图2的半导体存储器装置中的第一存储体阵列的示例。
参照图13,第一存储体阵列310a可包括数据单元区DCR和错误信息单元区EICR。
数据单元区DCR可存储主数据MD和奇偶校验位PRT,错误信息单元区EICR可存储错误地址EADDR和第一校验子SDR1。
第二存储体阵列320至第八存储体阵列380中的每个可具有与图13的第一存储体阵列310a基本相同的配置。因此,半导体存储器装置200可通过使用存储器单元阵列300的一部分来实现错误信息寄存器500。
如上所述,半导体存储器装置200采用能够校正单个错误位的ECC引擎400,并且当在一个码字中检测到第一错误位时,半导体存储器装置200将与第一错误位相关联的第一校验子存储在错误信息寄存器中。当从存储器单元阵列再次读取一个码字并且该一个码字包括与第一错误位不同的第二错误位时,ECC引擎400可通过使用存储在错误信息寄存器中的第一校验子来恢复与第二错误位相关联的第二校验子,并可通过使用恢复的第二校验子来校正第二错误位。因此,即使当ECC引擎400能够校正单个错误位时,ECC引擎400也可顺序地校正第一错误位和第二错误位而不增加用于执行ECC解码的开销,因此,半导体存储器装置200可提高性能。
图14是示出根据示例实施例的半导体存储器装置的框图。
参照图14,半导体存储器装置600可以以堆叠芯片的结构包括提供软(soft)错误分析和校正功能的第一组裸片610和第二组裸片620。
第一组裸片610可包括至少一个缓冲器裸片。第二组裸片620可包括堆叠在第一组裸片610上并通过多条硅通孔(TSV)线传送数据的多个存储器裸片620-1至620-p。
存储器裸片620-1至620-p中的至少一个可包括第一类型ECC引擎622和错误信息寄存器(EIR)623,其中,第一类型ECC引擎622基于将被发送到第一组裸片610的传输数据来生成传输奇偶校验位(即,传输奇偶校验数据)。第一类型ECC引擎622可被称为“单元核ECC引擎”。第一类型ECC引擎622可采用图7的ECC引擎400。
缓冲器裸片(即,第一组裸片)610可包括第二类型ECC引擎612,其中,当从通过TSV线接收的传输数据检测到传输错误时,第二类型ECC引擎612使用传输奇偶校验位来校正传输错误,并生成校正了错误的数据。第二类型ECC引擎612可被称为“通孔(via)ECC引擎”。
半导体存储器装置600可以是通过TSV线传送数据和控制信号的堆叠芯片型存储器装置或堆叠式存储器装置。TSV线也可被称为“通过电极(through electrode)”。
如上所述,当在一个码字中顺序地生成第一错误位和第二错误位时,第一类型ECC引擎622可将与第一错误位相关联的第一校验子存储在错误信息寄存器623中,并且可通过使用存储在错误信息寄存器623中的第一校验子来恢复与第二错误位相关联的第二校验子。
第一类型ECC引擎622可在发送传输数据之前对从存储器裸片620-p输出的数据执行错误校正。
在传输数据时发生的传输错误可能是由于在TSV线处发生的噪声而导致。因为由于在TSV线处发生的噪声而导致的数据故障可与由于存储器裸片的错误操作而导致的数据故障可区别,因此由于在TSV线处发生的噪声而导致的数据故障可被视为软数据故障(或软错误)。软数据故障可由于传输路径上的传输故障而生成,并且可通过ECC操作来检测和补救。
例如,当传输数据是128位数据时,传输奇偶校验位可被设置为8位。然而,示例实施例不限于此。传输奇偶校验位的数量可增加或减少。
通过以上描述,在一个存储器裸片620-p形成的数据TSV线组632可包括64条TSV线L1至Lp,并且奇偶校验TSV线组634可包括8条TSV线L10至Lq。
数据TSV线组632的TSV线L1至Lp和奇偶校验TSV线组634的奇偶校验TSV线L10至Lq可连接到存储器裸片620-1至620-p之间相应地形成的微凸块MCB。
存储器裸片620-1至620-p中的至少一个可包括DRAM单元(即,存储器单元阵列),其中,每个DRAM单元包括至少一个存取晶体管和一个存储电容器。
半导体存储器装置600可具有三维(3D)芯片结构或2.5D芯片结构,以通过数据总线B10与主机通信。缓冲器裸片610可通过数据总线B10与主机连接。
表示为单元核ECC引擎的第一类型ECC引擎622可分别通过奇偶校验TSV线组634和数据TSV线组632输出传输奇偶校验位以及传输数据。输出的传输数据可以是由第一类型ECC引擎622校正了错误的数据。
表示为通孔ECC引擎的第二类型ECC引擎612可基于通过奇偶校验TSV线组634接收的传输奇偶校验位来确定通过数据TSV线组632接收的传输数据是否发生传输错误。当检测到传输错误时,第二类型ECC引擎612可使用传输奇偶校验位来校正传输数据上的传输错误。当传输错误不可校正时,第二类型ECC引擎612可输出指示发生不可校正的数据错误的信息。
当在高带宽存储器(HBM)或堆叠式存储器结构中从读取数据检测到错误时,错误是在通过TSV发送数据时由于噪声而发生的错误。
根据示例实施例,如图14中所示,单元核ECC引擎622可包括在存储器裸片中,通孔ECC引擎612可包括在缓冲器裸片中。因此,检测并校正软数据故障是可行的。软数据故障可包括当通过TSV线发送数据时由于噪声而生成的传输错误。
图15是示意性地示出图14中的ECC引擎之间的连接的示图。
参照图15,单元核ECC引擎622和通孔ECC引擎612可通过数据TSV线组632和奇偶校验TSV线组634连接。
更具体地讲,一个存储器裸片可包括存储器单元阵列,存储器单元阵列可包括存储主数据MD的数据区625和存储奇偶校验位PRT的奇偶校验区626。
在读取数据的情况下,码字628可包括来自数据区625的主数据MD和来自奇偶校验区626的奇偶校验位PRT。单元核ECC引擎622可通过内部数据总线IB10接收主数据MD,并通过内部奇偶校验总线IB12接收奇偶校验位PRT。单元核ECC引擎622可使用奇偶校验位PRT检查主数据MD上的读取错误,并可基于检查结果执行错误校正。
单元核ECC引擎622可通过数据总线B20输出校正了错误的数据作为传输数据,并可通过奇偶校验总线B22输出传输奇偶校验数据。这里,传输奇偶校验数据可以是与奇偶校验位PRT相同的信息。
通孔ECC引擎612可通过数据总线B30接收传输数据,并通过奇偶校验总线B32接收传输奇偶校验数据。数据总线B20和数据总线B30可使用参照图14描述的数据TSV线组632来实现。奇偶校验总线B22和奇偶校验总线B32可使用参照图14描述的奇偶校验TSV线组634来实现。
通孔ECC引擎612可基于通过奇偶校验TSV线组634接收的传输奇偶校验数据,对通过数据TSV线组632接收的传输数据执行错误校验。当通过错误校验检测到传输错误时,第二类型ECC引擎612可基于传输奇偶校验数据来校正传输数据上的传输错误。例如,在可校正的数据位的数量是1的情况下,当发生包括两个或更多个错误位的传输错误时,错误校正可能是不可行的。在这种情况下,第二类型ECC引擎612可将指示数据错误的发生的信息输出到数据总线B10。
在示例实施例中,通孔ECC引擎612可采用图7的ECC引擎400。
图16是示出根据示例实施例的操作半导体存储器装置的方法的流程图。
参照图1至图16,在操作包括具有多个动态存储器单元的存储器单元阵列300的半导体存储器装置200的方法中,ECC引擎400对从存储器单元阵列300的存储器位置读取的第一码字CW1执行ECC解码(S510),并且第一码字CW1对应于从存储器控制器100接收的访问地址ADDR。
当在第一码字CW1中检测到第一错误位EB1时,ECC引擎400将与第一错误位EB1相关联的第一校验子SDR1和错误地址EADDR存储在错误信息寄存器500中(S520)。
当在从存储器单元阵列300的存储器位置再次读取的第一码字CW1(S530)中检测到与第一错误位EB1不同的第二错误位EB2时,ECC引擎400通过使用存储在错误信息寄存器500中的第一校验子SDR1来恢复与第二错误位EB2相关联的第二校验子SDR2(S540)。
ECC引擎400通过使用第一校验子SDR1和第二校验子来校正第一错误位EB1和第二错误位EB2(S550)。在示例实施例中,ECC引擎400可通过使用第一校验子SDR1和第二校验子来顺序地校正第一错误位EB1和第二错误位EB2。
也就是说,ECC引擎400可将在第一码字CW1中生成的第一错误位EB1与第二错误位EB2分开,并且可顺序地校正第一错误位EB1和第二错误位EB2。
图17是根据示例实施例的采用图14的半导体存储器装置的3D芯片结构的截面图。
图17示出在没有中间层的情况下主机和HBM直接连接的3D芯片结构700。
参照图17,主机裸片710(诸如,片上系统(SoC)、中央处理器(CPU)或图形处理单元(GPU))可使用倒装芯片凸块(flip chip bump)FB设置在印刷电路板(PCB)720上。存储器裸片D11至D14可堆叠在主机裸片710上以实现HBM结构。在图17中,图14的缓冲器裸片610或逻辑裸片被省略。然而,缓冲器裸片610或逻辑裸片可设置在存储器裸片D11与主机裸片710之间。为了实现HBM结构,可在存储器裸片D11和D14形成TSV线。TSV线可与布置在存储器裸片之间的微凸块MCB电连接。
图18是示出根据示例实施例的采用半导体存储器装置的智能电话的框图。
参照图18,智能电话800可使用移动计算装置来实现。应用处理器(AP)(例如,移动应用处理器810)可控制智能电话800的组件815、820、841和850。
移动应用处理器810可使用移动DRAM 815作为工作存储器。存储器装置821可用作基带处理器820的工作和程序存储器。
在图18中,移动DRAM 815可使用图2的半导体存储器装置200来实现。包括在应用处理器810中的存储器控制器(MCT)811可控制对移动DRAM815的访问。包括在应用处理器810中的显示器驱动器813可控制显示器850。
基带处理器820可允许在无线收发器830与应用处理器810之间交换数据。由基带处理器820处理的数据可被发送到应用处理器810或者可被存储在存储器装置821中。存储器装置821可使用易失性存储器或非易失性存储器来实现。
通过天线ANT接收的无线数据可通过无线收发器830发送到基带处理器820,从基带处理器820输出的数据可通过无线收发器830转换为无线数据。转换的无线数据可通过天线ANT输出。
图像信号处理器(ISP)841可处理来自相机(或图像传感器)840的信号,并可将处理的数据传送到应用处理器810。
如上所述,根据示例实施例,半导体存储器装置采用ECC引擎,并且当在一个码字中检测到第一错误位时,ECC引擎将与第一错误位相关联的第一校验子存储在错误信息寄存器中。当从存储器单元阵列再次读取该一个码字并且该一个码字包括与第一错误位不同的第二错误位时,ECC引擎可通过使用存储在错误信息寄存器中的第一校验子来恢复与第二错误位相关联的第二校验子,并可通过使用恢复的第二校验子来校正第二错误位。因此,即使当ECC引擎能够校正单个错误位时,ECC引擎也可顺序地校正第一错误位和第二错误位而不增加用于执行ECC解码的开销,因此,半导体存储器装置性能可被提高。
本公开的多个方面可应用于使用采用ECC引擎的半导体存储器装置的系统。
作为在本领域中的传统,根据功能块、单元和/或模块在附图中部分地描述并示出示例实施例。本领域技术人员将理解,这些块、单元和/或模块通过可使用基于半导体的制造技术或其他制造技术而形成的电子(或光学)电路(诸如,逻辑电路、分立组件、微处理器、硬连线电路、存储器元件、布线连接等)被物理实现。在块、单元和/或模块通过微处理器或类似物实现的情况下,可使用软件(例如,微代码)对它们进行编程以执行在此讨论的各种功能,并且可由固件和/或软件可选择地驱动它们。可选地,每个块、单元和/或模块可通过专用硬件来实现,或者可被实现为用于执行一些功能的专用硬件和用于执行其他功能的处理器(例如,一个或多个编程的微处理器和关联电路)的组合。此外,在不脱离本发明构思的范围的情况下,实施例的每个块、单元和/或模块可被物理地分为两个或更多个相互作用且分立的块、单元和/或模块。此外,在不脱离本发明构思的范围的情况下,实施例的块、单元和/或模块可被物理地组合成更复杂的块、单元和/或模块。
上述内容是对示例实施例的举例说明,并且将不被解释为对示例实施例的限制。虽然已经描述了一些示例实施例,但是本领域技术人员将容易地理解,在不实质上脱离本公开的新颖性教导和优点的情况下,许多修改在示例实施例中是可行的。因此,所有这样的修改意图被包括在如权利要求书限定的本公开的范围内。

Claims (20)

1.一种半导体存储器装置,包括
存储器单元阵列,包括多个动态存储器单元;
纠错码引擎;
输入/输出门控电路,连接在所述纠错码引擎与所述存储器单元阵列之间;
错误信息寄存器,被配置为存储错误地址和第一校验子,错误地址和第一校验子与存储在所述存储器单元阵列的第一页中的第一码字中的第一错误位相关联;
控制逻辑电路,被配置为基于来自外部存储器控制器的地址和命令来控制所述纠错码引擎、所述输入/输出门控电路和所述错误信息寄存器,
其中,所述控制逻辑电路还被配置为:基于被再次读取并包括与第一错误位不同的第二错误位的第一码字,通过使用存储在所述错误信息寄存器中的第一校验子来恢复与第二错误位相关联的第二校验子,并顺序地校正第一错误位和第二错误位。
2.根据权利要求1所述的半导体存储器装置,其中,所述纠错码引擎还被配置为:基于第一校验子和第二校验子顺序地校正第一错误位和第二错误位。
3.根据权利要求2所述的半导体存储器装置,其中,所述控制逻辑电路还被配置为:通过基于第一校验子和第三校验子执行异或运算来控制所述纠错码引擎恢复第二校验子,
其中,第三校验子与由于第一错误位和第二错误位而被误校正的第三错误位相关联。
4.根据权利要求1所述的半导体存储器装置,其中,所述纠错码引擎还被配置为校正单个错误位。
5.根据权利要求1所述的半导体存储器装置,其中,所述错误信息寄存器还被配置为存储与第一码字相关联的行地址和列地址。
6.根据权利要求1所述的半导体存储器装置,其中,所述控制逻辑电路还被配置为:基于存储在所述第一页中的新的写入数据,来重置存储与第一错误位相关联的错误地址和第一校验子的所述错误信息寄存器的行。
7.根据权利要求1所述的半导体存储器装置,其中,所述错误信息寄存器包括:
错误信息表,被配置为存储与第一码字相关联的行地址、列地址和第一校验子;
表指向器,被配置为基于所述地址提供与所述错误信息表对应的表指向信号;
重置器,被配置为基于从所述控制逻辑电路接收的控制信号来重置存储在所述错误信息表中的内容。
8.根据权利要求1所述的半导体存储器装置,其中,所述纠错码引擎包括:
纠错码编码器,被配置为对来自外部存储器控制器的主数据执行纠错码编码,以生成将被存储在所述第一页中的奇偶校验位;
纠错码解码器,被配置为通过使用奇偶校验位对从所述第一页读取的第一码字中的主数据来执行纠错码解码以生成第一校验子,并通过使用第一校验子来恢复第二校验子。
9.根据权利要求8所述的半导体存储器装置,其中,所述纠错码解码器包括:
校验子生成电路,被配置为通过使用从所述第一页读取的第一码字来生成校验子;
错误定位器,被配置为基于校验子或恢复的校验子生成指示第一错误位或第二错误位的位置的错误位置信号;
数据校正器,被配置为基于错误位置信号校正第一错误位或第二错误位以输出校正的主数据;
选择电路,被配置为基于选择信号从第一校验子和地电压中选择一个作为选择的输出;
异或门,用于对校验子和选择的输出执行异或运算,以向所述错误定位器提供校验子或恢复的校验子。
10.根据权利要求9所述的半导体存储器装置,其中,所述错误定位器还被配置为:基于包括第一错误位的第一码字将错误生成信号提供给所述控制逻辑电路,
其中,所述控制逻辑电路还被配置为:将与第一错误位相关联的第一码字的行地址和列地址作为错误地址存储在所述错误信息寄存器中。
11.根据权利要求9所述的半导体存储器装置,其中,所述数据校正器还被配置为:当第一码字包括第一错误位时,将校验子作为第一校验子存储在所述错误信息寄存器中。
12.根据权利要求9所述的半导体存储器装置,其中,所述校验子生成电路包括:
校验位生成器,被配置为基于从所述第一页读取的第一码字中的主数据生成校验位;
校验子生成器,被配置为通过将第一码字中的奇偶校验位和所述校验位的对应的位进行比较来生成校验子。
13.根据权利要求1所述的半导体存储器装置,其中,所述控制逻辑电路还被配置为:将错误地址和第一校验子存储在所述存储器单元阵列的一部分中。
14.根据权利要求1所述的半导体存储器装置,还包括:
第一组裸片,包括至少一个缓冲器裸片;
第二组裸片,包括多个存储器裸片,所述多个存储器裸片堆叠在第一组裸片上并通过多条硅通孔线传送数据,
其中,所述多个存储器裸片中的至少一个存储器裸片包括所述存储器单元阵列和所述纠错码引擎,并且所述纠错码引擎还被配置为:使用将被发送到所述第一组裸片的传输数据来生成传输奇偶校验位,
其中,所述至少一个缓冲器裸片包括通孔纠错码引擎,所述通孔纠错码引擎被配置为:当从通过所述多条硅通孔线接收的传输数据检测到传输错误时,使用传输奇偶校验位来校正传输错误。
15.根据权利要求14所述的半导体存储器装置,其中,所述半导体存储器装置是高带宽存储器。
16.根据权利要求14所述的半导体存储器装置,其中,所述纠错码引擎还被配置为:在将传输数据发送到所述至少一个缓冲器裸片之前,校正从所述多个存储器裸片输出的错误。
17.一种存储器系统,包括:
至少一个半导体存储器装置;
存储器控制器,被配置为控制所述至少一个半导体存储器装置,其中,所述至少一个半导体存储器装置包括:
存储器单元阵列,包括多个动态存储器单元;
纠错码引擎;
输入/输出门控电路,连接在所述纠错码引擎与所述存储器单元阵列之间;
错误信息寄存器,被配置为存储错误地址和第一校验子,错误地址和第一校验子与存储在所述存储器单元阵列的第一页中的第一码字中的第一错误位相关联;
控制逻辑电路,被配置为基于来自所述存储器控制器的地址和命令来控制所述纠错码引擎、所述输入/输出门控电路和所述错误信息寄存器,
其中,所述控制逻辑电路还被配置为:当从所述第一页再次读取第一码字并且第一码字包括与第一错误位不同的第二错误位时,控制纠错码引擎通过使用存储在错误信息寄存器中的第一校验子来恢复与第二错误位相关联的第二校验子,并顺序地校正第一错误位和第二错误位。
18.根据权利要求17所述的存储器系统,其中,纠错码引擎还被配置为:基于第一校验子和恢复的第二校验子顺序地校正第一错误位和第二错误位。
19.一种操作包括存储器单元阵列的半导体存储器装置的方法,所述方法包括:
在纠错码引擎中,对从存储器单元阵列的存储器位置读取的第一码字执行纠错码解码,所述第一码字对应于访问地址;
基于在第一码字中检测到的第一错误位,将错误地址和第一校验子存储在错误信息寄存器中,错误地址和第一校验子与第一错误位相关联;
在纠错码引擎中,基于从所述存储器位置再次读取并包括与第一错误位不同的第二错误位的第一码字,通过使用存储在错误信息寄存器中的第一校验子来恢复与第二错误位相关联的第二校验子;
在纠错码引擎中,通过使用第一校验子和第二校验子来校正第一错误位和第二错误位。
20.根据权利要求19所述的方法,其中,存储器单元阵列包括多个动态存储器单元,
其中,纠错码引擎还被配置为:按照时间推移将在第一码字中生成的第一错误位和第二错误位分开,并被配置为顺序地校正第一错误位和第二错误位。
CN201811606585.6A 2018-01-25 2018-12-27 存储器装置、存储器系统和操作存储器装置的方法 Active CN110085277B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180009188A KR102453437B1 (ko) 2018-01-25 2018-01-25 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
KR10-2018-0009188 2018-01-25

Publications (2)

Publication Number Publication Date
CN110085277A CN110085277A (zh) 2019-08-02
CN110085277B true CN110085277B (zh) 2023-07-28

Family

ID=67300316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811606585.6A Active CN110085277B (zh) 2018-01-25 2018-12-27 存储器装置、存储器系统和操作存储器装置的方法

Country Status (5)

Country Link
US (2) US10698763B2 (zh)
KR (1) KR102453437B1 (zh)
CN (1) CN110085277B (zh)
SG (1) SG10201900023RA (zh)
TW (1) TWI769336B (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102350644B1 (ko) * 2018-01-26 2022-01-14 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
US11016843B2 (en) 2018-12-06 2021-05-25 Micron Technology, Inc. Direct-input redundancy scheme with adaptive syndrome decoder
US10956262B2 (en) * 2019-03-14 2021-03-23 Micron Technology, Inc. Deferred error code correction with improved effective data bandwidth performance
US11042436B2 (en) 2019-08-29 2021-06-22 Micron Technology, Inc. Semiconductor device with modified access and associated methods and systems
US11200118B2 (en) 2019-08-29 2021-12-14 Micron Technology, Inc. Semiconductor device with modified command and associated methods and systems
US10963336B2 (en) 2019-08-29 2021-03-30 Micron Technology, Inc. Semiconductor device with user defined operations and associated methods and systems
FR3100347B1 (fr) 2019-09-04 2022-07-22 St Microelectronics Rousset Détection d'erreurs
FR3100346B1 (fr) 2019-09-04 2022-07-15 St Microelectronics Rousset Détection d'erreurs
US11050442B2 (en) * 2019-09-17 2021-06-29 SK Hynix Inc. Reducing the latency of a syndrome-based quasi-cyclic decoder
KR20210034999A (ko) * 2019-09-23 2021-03-31 에스케이하이닉스 주식회사 Aim 장치 및 aim 장치에서의 곱셈-누산 연산 방법
KR20210038753A (ko) * 2019-09-30 2021-04-08 에스케이하이닉스 주식회사 데이터 저장 장치 및 그 동작 방법
KR20210088916A (ko) * 2020-01-07 2021-07-15 에스케이하이닉스 주식회사 이전에 발생한 에러 분석을 통해 에러대응동작을 선택하기 위한 메모리 시스템 및 메모리 시스템을 포함하는 데이터 처리 시스템
KR20210089016A (ko) * 2020-01-07 2021-07-15 삼성전자주식회사 메모리 컨트롤러 및 메모리 시스템
KR20210088917A (ko) * 2020-01-07 2021-07-15 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
JP7018089B2 (ja) * 2020-04-02 2022-02-09 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および読出し方法
KR20210132784A (ko) 2020-04-27 2021-11-05 삼성전자주식회사 메모리 장치 및 메모리 장치로부터 데이터를 읽는 방법
CN112349343A (zh) * 2020-11-06 2021-02-09 海光信息技术股份有限公司 电路结构、芯片以及电子设备
WO2022185091A1 (en) * 2021-03-02 2022-09-09 Micron Technology, Inc. Methods and systems for reducing ecc power consumption
CN116343891A (zh) * 2021-12-23 2023-06-27 长鑫存储技术有限公司 存储块以及存储器
KR102619353B1 (ko) * 2022-11-07 2023-12-29 넷솔 주식회사 고신뢰성을 얻기 위한 메모리의 동작 방법 및 이를 구현하기 위한 메모리

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4058851A (en) * 1976-10-18 1977-11-15 Sperry Rand Corporation Conditional bypass of error correction for dual memory access time selection
US4245303A (en) * 1978-10-25 1981-01-13 Digital Equipment Corporation Memory for data processing system with command and data buffering
US4319356A (en) * 1979-12-19 1982-03-09 Ncr Corporation Self-correcting memory system
US4597084A (en) * 1981-10-01 1986-06-24 Stratus Computer, Inc. Computer memory apparatus
US5502732A (en) * 1993-09-20 1996-03-26 International Business Machines Corporation Method for testing ECC logic
JP2000348497A (ja) * 1999-06-08 2000-12-15 Toshiba Corp 半導体記憶装置
CN1691202A (zh) * 2004-04-23 2005-11-02 株式会社东芝 具有码位单元阵列的半导体存储装置
US7117420B1 (en) * 2001-05-17 2006-10-03 Lsi Logic Corporation Construction of an optimized SEC-DED code and logic for soft errors in semiconductor memories
US7437597B1 (en) * 2005-05-18 2008-10-14 Azul Systems, Inc. Write-back cache with different ECC codings for clean and dirty lines with refetching of uncorrectable clean lines
CN107393596A (zh) * 2016-04-26 2017-11-24 三星电子株式会社 半导体存储设备和操作其的方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3755779A (en) 1971-12-14 1973-08-28 Ibm Error correction system for single-error correction, related-double-error correction and unrelated-double-error detection
US4139148A (en) 1977-08-25 1979-02-13 Sperry Rand Corporation Double bit error correction using single bit error correction, double bit error detection logic and syndrome bit memory
US4319357A (en) 1979-12-14 1982-03-09 International Business Machines Corp. Double error correction using single error correcting code
JPH05197580A (ja) 1992-01-21 1993-08-06 Nec Ibaraki Ltd 2ビット誤り訂正回路
JPH1145595A (ja) 1997-07-24 1999-02-16 Nec Corp 多値セル用誤り訂正回路
JP2002056671A (ja) 2000-08-14 2002-02-22 Hitachi Ltd ダイナミック型ramのデータ保持方法と半導体集積回路装置
US7523381B2 (en) * 2005-09-01 2009-04-21 Micron Technology, Inc. Non-volatile memory with error detection
US7900100B2 (en) * 2007-02-21 2011-03-01 International Business Machines Corporation Uncorrectable error detection utilizing complementary test patterns
TWI397080B (zh) * 2009-03-12 2013-05-21 Realtek Semiconductor Corp 記憶體裝置及其相關測試方法
CN102034552A (zh) * 2009-09-25 2011-04-27 威刚科技(苏州)有限公司 存储装置与其资料处理方法
WO2012039983A1 (en) 2010-09-24 2012-03-29 Rambus Inc. Memory device with ecc history table
US8984367B2 (en) * 2011-02-25 2015-03-17 Altera Corporation Error detection and correction circuitry
US9362953B2 (en) 2013-08-02 2016-06-07 Infineon Technologies Ag Efficient error correction of multi-bit errors
US9690640B2 (en) * 2013-09-26 2017-06-27 Intel Corporation Recovery from multiple data errors
US9529665B2 (en) 2014-03-26 2016-12-27 Intel Corporation Double consecutive error correction
KR101999288B1 (ko) 2014-07-15 2019-07-11 에스케이하이닉스 주식회사 메모리 데이터의 에러 보정 장치 및 방법
KR102189780B1 (ko) * 2014-08-11 2020-12-11 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
KR102210327B1 (ko) * 2014-08-21 2021-02-01 삼성전자주식회사 에러 알림 기능이 있는 메모리 장치
KR102178137B1 (ko) 2014-08-26 2020-11-12 삼성전자주식회사 반도체 메모리 장치, 이의 에러 정정 방법 및 이를 포함하는 메모리 시스템
TWI521531B (zh) * 2015-02-25 2016-02-11 群聯電子股份有限公司 資料讀取方法、記憶體控制電路單元與記憶體儲存裝置
TWI573146B (zh) * 2015-05-28 2017-03-01 旺宏電子股份有限公司 記憶體裝置與其操作方法
KR102296738B1 (ko) * 2015-06-01 2021-09-01 삼성전자 주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법
KR102290020B1 (ko) * 2015-06-05 2021-08-19 삼성전자주식회사 스택드 칩 구조에서 소프트 데이터 페일 분석 및 구제 기능을 제공하는 반도체 메모리 장치
KR102324769B1 (ko) * 2015-06-29 2021-11-10 삼성전자주식회사 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
US9800271B2 (en) 2015-09-14 2017-10-24 Qualcomm Incorporated Error correction and decoding
KR20170045803A (ko) * 2015-10-20 2017-04-28 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
US10097207B2 (en) 2016-03-10 2018-10-09 Toshiba Memory Corporation ECC circuit, storage device and memory system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4058851A (en) * 1976-10-18 1977-11-15 Sperry Rand Corporation Conditional bypass of error correction for dual memory access time selection
US4245303A (en) * 1978-10-25 1981-01-13 Digital Equipment Corporation Memory for data processing system with command and data buffering
US4319356A (en) * 1979-12-19 1982-03-09 Ncr Corporation Self-correcting memory system
US4597084A (en) * 1981-10-01 1986-06-24 Stratus Computer, Inc. Computer memory apparatus
US5502732A (en) * 1993-09-20 1996-03-26 International Business Machines Corporation Method for testing ECC logic
JP2000348497A (ja) * 1999-06-08 2000-12-15 Toshiba Corp 半導体記憶装置
US7117420B1 (en) * 2001-05-17 2006-10-03 Lsi Logic Corporation Construction of an optimized SEC-DED code and logic for soft errors in semiconductor memories
CN1691202A (zh) * 2004-04-23 2005-11-02 株式会社东芝 具有码位单元阵列的半导体存储装置
US7437597B1 (en) * 2005-05-18 2008-10-14 Azul Systems, Inc. Write-back cache with different ECC codings for clean and dirty lines with refetching of uncorrectable clean lines
CN107393596A (zh) * 2016-04-26 2017-11-24 三星电子株式会社 半导体存储设备和操作其的方法

Also Published As

Publication number Publication date
KR20190090472A (ko) 2019-08-02
SG10201900023RA (en) 2019-08-27
US10698763B2 (en) 2020-06-30
TW201933099A (zh) 2019-08-16
TWI769336B (zh) 2022-07-01
US20190229753A1 (en) 2019-07-25
CN110085277A (zh) 2019-08-02
US11385960B2 (en) 2022-07-12
KR102453437B1 (ko) 2022-10-12
US20200301776A1 (en) 2020-09-24

Similar Documents

Publication Publication Date Title
CN110085277B (zh) 存储器装置、存储器系统和操作存储器装置的方法
CN110120243B (zh) 半导体存储器装置、操作其的方法以及存储器系统
CN109785894B (zh) 半导体存储器装置、存储器系统和操作方法
CN110148434B (zh) 半导体存储器件、存储系统和操作半导体存储器件的方法
US11681579B2 (en) Semiconductor memory devices and memory systems including the same
CN109754828B (zh) 半导体存储器装置及其操作方法、存储器系统
US10846171B2 (en) Error correction code decoders, semiconductor memory devices and memory systems
US10867690B2 (en) Memory modules and methods of operating memory systems including the same
US11436079B2 (en) Semiconductor memory devices having enhanced error correction circuits therein
CN111986727A (zh) 半导体存储器件和操作半导体存储器件的方法
EP3971901A1 (en) Dram with combined scrubbing with combined refresh and scrubing operation
CN110942798A (zh) 半导体存储器件、存储系统及操作半导体存储器件的方法
CN115376602A (zh) 半导体存储器件
TWI819606B (zh) 半導體記憶體裝置以及包括其的記憶體系統
CN110556156B (zh) 半导体存储器件、存储系统及操作半导体存储器件的方法
CN117437966A (zh) 半导体存储器装置和包括半导体存储器装置的存储器系统
CN110556156A (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
GR01 Patent grant
GR01 Patent grant