CN110995289B - 错误检测码生成电路 - Google Patents

错误检测码生成电路 Download PDF

Info

Publication number
CN110995289B
CN110995289B CN201911179754.7A CN201911179754A CN110995289B CN 110995289 B CN110995289 B CN 110995289B CN 201911179754 A CN201911179754 A CN 201911179754A CN 110995289 B CN110995289 B CN 110995289B
Authority
CN
China
Prior art keywords
error detection
detection code
bits
error
bit
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
CN201911179754.7A
Other languages
English (en)
Other versions
CN110995289A (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 CN110995289A publication Critical patent/CN110995289A/zh
Application granted granted Critical
Publication of CN110995289B publication Critical patent/CN110995289B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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
    • G06F11/102Error in check bits
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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/29Coding, 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/2906Coding, 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

一种半导体设备的错误检测码生成电路包括第一循环冗余校验(CRC)引擎、第二CRC引擎和输出选择引擎。第一CRC引擎响应于模式信号,基于多个第一单位数据和第一DBI位,使用第一生成矩阵来生成第一错误检测码位。第二CRC引擎响应于模式信号,基于多个第二单位数据和第二DBI位,使用第二生成矩阵来生成第二错误检测码位。输出选择引擎响应于模式信号,通过合并第一错误检测码位和第二错误检测码位来生成最终错误检测码位。第一生成矩阵与第二生成矩阵相同。

Description

错误检测码生成电路
本申请是申请日为2017年12月01日、申请号为201711248279.5、发明名称为“错误检测码生成电路以及包括其的存储器控制器”的发明专利申请的分案申请。
相关申请的交叉引用
本专利申请要求于2016年12月2日在韩国知识产权局提交的韩国专利申请第10-2016-0163223号的优先权,其公开内容通过引用整体并入本文。
技术领域
本发明构思涉及存储器,并且更具体地涉及半导体设备的错误检测码生成电路、包括该电路的存储器控制器以及包括该电路的半导体存储器设备。
背景技术
半导体存储器设备可以被分类为在断电之后保持所存储的信息的非易失性存储器设备以及在断电时丢失内容的易失性存储器设备。快闪存储器设备是非易失性存储器设备的示例,而动态随机存取存储器(DRAM)是易失性存储器设备的示例。DRAM由于其高速操作和成本效率而被用于系统存储器。然而,随着DRAM的尺寸缩小,DRAM中的存储单元的位错误会增加,并且因此DRAM的产率会降低。
发明内容
根据本发明构思的示例性实施例,一种半导体设备的错误检测码生成电路包括第一循环冗余校验(CRC)引擎、第二CRC引擎和输出选择引擎。第一CRC引擎响应于模式信号,基于多个第一单位数据和第一数据总线反转(DBI)位,使用第一生成矩阵来生成第一错误检测码位,第一DBI位中的每个指示第一单位数据的相应位是否被反转。模式信号指示码率模式。第二CRC引擎响应于模式信号,基于多个第二单位数据和第二DBI位,使用第二生成矩阵来生成第二错误检测码位,第二DBI位中的每个指示第二单位数据的相应位是否被反转。输出选择引擎响应于模式信号,通过合并第一错误检测码位和第二错误检测码位来生成最终错误检测码位。第一生成矩阵与第二生成矩阵相同。
根据本发明构思的示例性实施例,一种存储器控制器包括错误检测码生成电路和错误检测器。错误检测码生成电路响应于模式信号来进行下述操作:基于多个第一单位数据和第一DBI位来生成第一错误检测码位,第一DBI位中的每个指示第一单位数据的相应位是否被反转;基于多个第二单位数据和第二DBI位来生成第二错误检测码位,其二DBI位中的每个指示第二单位数据的相应位是否被反转;以及通过合并第一错误检测码位和第二错误检测码位来生成最终错误检测码位。模式信号指示码率模式并且第一单位数据和第二单位数据被包括在主数据中。错误检测器基于返回的最终错误检测码位和最终错误检测码位来检测要发送到半导体存储器设备的主数据的错误。半导体存储器设备接收主数据、第一DBI位和第二DBI位并生成返回的最终错误检测码位。错误检测码生成电路通过使用相同的生成矩阵来生成第一错误检测码位和第二错误检测码位。
根据本发明构思的示例性实施例,一种半导体存储器设备包括存储单元阵列、错误检测码生成电路、错误检测器和控制逻辑电路。错误检测码生成电路响应于模式信号来进行下述操作:基于包括多个第一单位数据和多个第二单位数据的主数据、第一DBI位和第二DBI位来生成第一错误检测码位和第二错误检测码位,其中第一DBI位中的每个指示第一单位数据的相应位是否被反转,其中第二DBI位中的每个指示第二单位数据的相应位是否被反转;以及通过合并第一错误检测码位和第二错误检测码位来生成最终错误检测码位。模式信号指示码率模式,并且第一单位数据和第二单位数据从存储器控制器被发送并将被存储在存储单元阵列中。错误检测器基于最终错误检测码位和传输错误检测码位来生成检测信号,该检测信号指示从存储器控制器发送的主数据是否包括错误。存储器控制器基于主数据、第一DBI位和第二DBI位来生成传输错误检测码位。控制逻辑电路响应于从存储器控制器提供的命令和地址来控制对存储单元阵列的访问。
根据本发明构思的示例性实施例,一种半导体设备的错误检测码生成电路可以包括:第一CRC引擎,被配置为响应于模式信号,响应于多个第一单位数据和第一DBI位,使用第一矩阵来生成第一错误检测码位,其中第一DBI位中的每个指示第一单位数据的相应位是否被反转;第二CRC引擎,被配置为响应于模式信号,响应于多个第二单位数据和第二DBI位,使用第二矩阵来生成第二错误检测码位,其中第二DBI位中的每个指示第二单位数据的相应位是否被反转;以及输出选择引擎,被配置为响应于模式信号,通过合并第一错误检测码位和第二错误检测码位来生成最终错误检测码位。
根据本发明构思的示例性实施例,一种用于半导体存储器设备的错误检测码生成电路,所述错误检测码生成电路包括:第一循环冗余校验(CRC)引擎,被配置为接收第一单位数据并且基于所述第一单位数据生成第一错误检测码位;第二CRC引擎,被配置为接收第二单位数据并且基于所述第二单位数据生成第二错误检测码位;复用器,被配置为响应于模式信号选择所述第二错误检测码位的最高有效位和所述第二错误检测码位的最高有效位的反转版本之一;以及XOR电路,被配置为接收第一错误检测码位和第二错误检测码位,并通过执行异或函数来将第一错误检测码位、第二错误检测码位的被选择的一个以及剩余的第二错误检测码位合并为最终错误检测码位,其中,响应于第一电平的模式信号以全速率模式输出第一错误检测码位和第二错误检测码位,以及响应于第二电平的模式信号以半速率模式输出最终错误检测码位。
根据本发明构思的示例性实施例,一种用于半导体存储器设备的错误检测码生成电路,所述错误检测码生成电路包括:第一循环冗余校验(CRC)引擎,被配置为接收第一单位数据并且基于所述第一单位数据生成第一错误检测码位;第二CRC引擎,被配置为接收第二单位数据并且基于所述第二单位数据生成第二错误检测码位;复用器,被配置为响应于模式信号选择所述第二错误检测码位的最高有效位和所述第二错误检测码位的最高有效位的反转版本之一;以及XOR电路,被配置为接收第一错误检测码位和第二错误检测码位,并通过执行异或函数来将第一错误检测码位、第二错误检测码位的被选择的一个以及第二错误检测码位的剩余的一位或剩余的多位合并为最终错误检测码位,其中,响应于第一电平的模式信号以全速率模式输出第一错误检测码位和第二错误检测码位,以及响应于第二电平的模式信号以半速率模式输出最终错误检测码位。
附图说明
通过参考附图详细描述本发明构思的示例性实施例,本发明构思的上述和其他特征将变得更清楚地被理解。
图1是示出根据本发明构思的示例性实施例的电子系统的框图。
图2是示出根据本发明构思的示例性实施例的图1所示的存储器系统的框图。
图3是示出根据本发明构思的示例性实施例的图2的存储器系统中的存储器控制器的框图。
图4是示出根据本发明构思的示例性实施例的图3中的错误检测码生成电路的框图。
图5是示出根据本发明构思的示例性实施例的图4的错误检测码生成电路中的输出选择引擎的框图。
图6示出本发明构思的分别在第一CRC引擎和第二CRC引擎中使用的第一生成矩阵和第二生成矩阵。
图7示出本发明构思的图4中的第二CRC引擎中使用的第二修改矩阵。
图8示出本发明构思的图4中的第二CRC引擎中使用的第二修改矩阵。
图9是示出根据本发明构思的示例性实施例的图3中的错误检测码生成电路的框图。
图10示出本发明构思的分别在图9中的第一CRC引擎和第二CRC引擎中使用的第一修改矩阵和第二修改矩阵。
图11是示出根据本发明构思的示例性实施例的图3的存储器控制器中的错误检测器的框图。
图12是示出根据本发明构思的示例性实施例的图11中的比较器的电路图。
图13示出根据本发明构思的示例性实施例的当图2中的半导体存储器设备在X8模式下操作时的主数据和DBI位。
图14是示出根据本发明构思的示例性实施例的图2中的半导体存储器设备的框图。
图15是示出根据本发明构思的示例性实施例的图14的半导体存储器设备中的DBI电路的框图。
图16A、图16B、图16C、图16D和图16E是根据本发明构思的示例性实施例的图14所示的存储单元的电路图。
图17示出根据本发明构思的示例性实施例的图14所示的存储单元。
图18示出本发明构思的图14的半导体存储器设备中的第一存储体(bank)阵列。
图19是示出根据本发明构思的示例性实施例的存储器系统的框图。
图20是示出根据本发明构思的示例性实施例的在半导体设备中生成错误检测码位的方法的流程图。
图21是示出根据本发明构思的示例性实施例的半导体存储器设备的结构图。
图22是示出根据本发明构思的示例性实施例的包括半导体存储器设备的移动系统的框图。
具体实施方式
下文中将参考附图更充分地描述本发明构思的示例性实施例。
图1是示出根据本发明构思的示例性实施例的电子系统的框图。
参考图1,电子系统(或电子设备)10包括主机15(例如,主机设备、主计算机等)和存储器系统20。存储器系统20包括存储器控制器100和多个半导体存储器设备200a~200k(k是大于2的整数)。
主机15可以通过诸如外围组件高速互连(PCI-E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)或串行附接的小型计算机系统接口(SAS)的各种接口协议来与存储器系统20通信。另外,主机15还可以通过诸如通用串行总线(USB)、多媒体卡(MMC)、增强小型盘接口(ESDI)或集成驱动电子设备(IDE)的接口协议与存储器系统20通信。
存储器控制器100可以控制存储器系统20的整体操作。存储器控制器100可以控制主机15与多个半导体存储器设备200a~200k之间的整体数据交换。例如,存储器控制器100可响应于来自主机15的请求而将数据写入多个半导体存储器设备200a~200k或从多个半导体存储器设备200a~200k读取数据。例如,该请求可以是包括读取命令的读取请求、或包括写入命令和要写入的数据的写入请求。读取命令和写入命令可以被称为访问(access)命令。
另外,存储器控制器100可以向多个半导体存储器设备200a~200k发出操作命令,用于控制多个半导体存储器设备200a~200k。
在本发明构思的示例性实施例中,多个半导体存储器设备200a~200k中的每一个是包括电阻型存储单元的存储器设备,诸如磁阻随机存取存储器(MRAM)、电阻随机存取存储器(RRAM)、相变随机存取存储器(PRAM)和铁电随机存取存储器(FRAM)等。在本发明构思的示例性实施例中,多个半导体存储器设备200a~200k中的每一个包括动态存储单元,诸如动态随机存取存储器(DRAM)。
MRAM是基于磁阻的非易失性计算机存储器。MRAM与易失性RAM不同。例如,由于MRAM是非易失性的,所以即使断电,MRAM也可以保持所有存储的数据。
虽然非易失性RAM可能比易失性RAM慢,但是MRAM具有与易失性RAM的读取和写入响应时间相当的读取和写入响应时间。MRAM成本低且具有高容量(如同DRAM),高速工作(如同静态随机存取存储器(SRAM)),并且是非易失性的(如同闪存)。另外,MRAM通过使用磁阻(或磁阻性)元件来存储数据。例如,磁阻元件由两个磁层制成,每个磁层具有磁化。
MRAM通过使用包括两个磁层和布置在这两个磁层之间的绝缘膜的磁隧道结图案来读取和写入数据。磁隧道结图案的电阻值可以根据每个磁层的磁化方向而变化。MRAM可以通过使用电阻值的变化来编程或移除数据。
图2是示出根据本发明构思的示例性实施例的图1所示的存储器系统的框图。
在图2中,为了方便,仅示出与存储器控制器100通信的一个半导体存储器设备200a。然而,这里讨论的与一个半导体存储器设备200a相关的细节可以同样应用于其他半导体存储器设备200b~200k。
参考图2,存储器系统20包括存储器控制器100和半导体存储器设备200a。存储器控制器100和半导体存储器设备200a中的每一个可以形成为单独的半导体芯片或者单独的芯片组(例如,存储器控制器100和半导体存储器设备200a可以一起封装在一堆半导体芯片中)。
存储器控制器100向半导体存储器设备200a发送命令CMD和地址ADDR,并且与半导体存储器设备200a交换主数据DTA。另外,存储器控制器100与半导体存储器设备200a交换数据总线反转(DBI)位。DBI位中的每一个可以指示包括在主数据DTA中的多个单位数据(unit data)中的每一个是否被反转。存储器控制器100向半导体存储器设备200a发送最终错误检测码位CRCd。
存储器控制器100包括错误检测码生成电路(CRC生成器)140和错误检测器(CRC校验器)170。错误检测码生成电路140基于将被发送到半导体存储器设备200a的DBI位DBI以及主数据DTA,生成最终错误检测码位CRCd。错误检测器170比较最终错误检测码位CRCd和返回的最终错误检测码位CRCr,以确定发送到半导体存储器设备200a的主数据DTA是否包括错误。
半导体存储器设备200a包括用于存储主数据DTA的存储单元阵列300和错误检测码生成电路(CRC生成器)460。错误检测码生成电路460基于主数据DTA和DBI位DBI生成返回的最终错误检测码位CRCr,并且将返回的最终错误检测码位CRCr发送到存储器控制器100。
图3是示出根据本发明构思的示例性实施例的图2的存储器系统中的存储器控制器的框图。
参考图3,存储器控制器100包括中央处理单元(CPU)110、主机接口120、数据寄存器125、数据反转判定电路130、数据反转电路135、错误检测码生成电路140、错误检测器170、命令缓冲器190和地址缓冲器195。
主机接口120接收请求REQ和数据DATA,并将数据DATA提供给数据寄存器125。
数据寄存器125连续地(或顺序地)将数据DATA输出到数据反转判定电路130、数据反转电路135和错误检测码生成电路140。数据DATA可以包括多个单位数据(例如,多个字节单位数据)。
数据反转判定电路130在数据DATA的每个单位数据中对具有第一逻辑电平的第一数据位的数目进行计数,并且基于计数提供指示是否反转每个单位数据的判定信号DET1。数据反转电路135响应于判定信号DET1选择性地反转单位数据以输出主数据DTA。例如,当第一逻辑电平为逻辑低电平(‘0’)时,在每个数据单位中第一数据位的数目大于具有第二逻辑电平(例如,‘1’)的第二数据位的数目的情况下,数据反转判定电路130将具有第一逻辑电平的判定信号DET1输出到数据反转电路135。当数据反转电路135接收到具有第一逻辑电平的判定信号DET1时,数据反转电路135反转相应单位数据的数据位。数据反转判定电路130输出用于每个单位数据的判定信号DET1作为DBI位DBI。
DBI是用于电流减小的技术。例如,为了在发送低电平信号的同时减少在以电源电压为终端的传输线中大量电流的消耗,如果发送的数据包括比高电平位更大数目的低电平位,则将数据转换为包括与总位数相比为一半或更少的低电平位,并且发送指示数据转换的附加信号。
错误检测码生成电路140接收数据DATA和DBI位DBI,根据模式信号MS1基于数据DATA和DBI位DBI生成最终错误检测码位CRCd,并将最终错误检测码位CRCd提供到错误检测器170。模式信号MS1可以指定码率模式。错误检测码生成电路140可以根据模式信号MS1生成具有16位或8位的最终错误检测码位CRCd。当模式信号MS1指定第一码率模式时,错误检测码生成电路140可以生成具有16位的最终错误检测码位CRCd。当模式信号MS1指定第二码率模式时,错误检测码生成电路140可以生成具有8位的最终错误检测码位CRCd。
错误检测器170接收最终错误检测码位CRCd和返回的最终错误检测码位CRCr,比较最终错误检测码位CRCd和返回的最终错误检测码位CRCr的相应位,并且基于最终错误检测码位CRCd和返回的最终错误检测码位CRCr的相应位之间的匹配(或不匹配),向CPU 110提供指示主数据DTA是否包括错误的检测信号DS1。
当检测信号DS1指示主数据DTA包括错误时,CPU 110控制数据寄存器125,使得数据DATA和DBI位DBI被重传到半导体存储器设备200a。CPU 110生成模式信号MS1和使能信号EN,将模式信号MS1提供到错误检测码生成电路140,并将使能信号EN提供到错误检测器170。
命令缓冲器190存储对应于请求REQ的命令CMD,并在CPU 110的控制下将命令CMD发送到半导体存储器设备200a。地址缓冲器195存储地址ADDR并在CPU 110的控制下将地址ADDR发送到半导体存储器设备200a。
错误检测码生成电路140可以包括第一循环冗余校验(CRC)引擎和第二CRC引擎。第一CRC引擎可以基于第一单位数据和与第一单位数据相关联的第一DBI位来生成第一错误检测码位。第二CRC引擎可以基于第二单位数据和与第二单位数据相关联的第二DBI位来生成第二错误检测码位。第一CRC引擎和第二CRC引擎可以通过使用相同的生成矩阵来减少硬件开销。
图4是示出根据本发明构思的示例性实施例的图3中的错误检测码生成电路的框图。
参考图4,错误检测码生成电路140a包括第一CRC引擎141、第二CRC引擎142、复用器143和输出选择引擎144。
第一CRC引擎141基于多个第一单位数据UDATA和与第一单位数据UDATA相关联的第一DBI位UDBI来生成第一错误检测码位UCRCd。第二CRC引擎142基于多个第二单位数据LDATA和与第二单位数据LDATA相关联的第二DBI位LDBI来生成第二错误检测码位LCRCd0~LCRCd6和LCRCd7或LCRCd7’。复用器143响应于模式信号MS1选择错误检测码位LCRCd7和LCRCd7’中的一个以输出选择的错误检测码位SLCRCd7。
输出选择引擎144响应于模式信号MS1通过选择性地合并第一错误检测码位UCRCd和第二错误检测码位LCRCd0~LCRCd6和SLCRCd7来输出最终错误检测码位FCRCd或HCRCd。例如,当模式信号MS1指定第一码率模式(例如,全码率模式)时,复用器143选择错误检测码位LCRCd7或LCRCd7’中的错误检测码位LCRCd7,并且输出选择引擎144输出第一错误检测码位UCRCd和第二错误检测码位LCRCd0~LCRCd7作为最终错误检测码位FCRCd。例如,当模式信号MS1指定第二码率模式(例如,半码率模式)时,复用器143选择错误检测码位LCRCd7或LCRCd7’中的错误检测码位LCRCd7’,并且输出选择引擎144输出第一错误检测码位UCRCd和第二错误检测码位LCRCd0~LCRCd6和LCRCd7’作为最终错误检测码位HCRCd。因此,最终错误检测码位FCRCd的数目可以大于最终错误检测码位HCRCd的数目。
第一CRC引擎141和第二CRC引擎142可以使用相同的生成矩阵。第二CRC引擎142通过反转生成矩阵中用于生成错误检测码位LCRCd7的行的矩阵元素来生成错误检测码位LCRCd7’。因此,第二CRC引擎142可以共用生成矩阵中用于生成错误检测码位LCRCd1~LCRCd6的其他行的矩阵元素,并因此可减少硬件开销。
图5是示出根据本发明构思的示例性实施例的图4的错误检测码生成电路中的输出选择引擎的框图。
参考图5,输出选择引擎144包括第一缓冲器145、第二缓冲器146、解复用器147和148、以及异或(XOR)逻辑149。
第一缓冲器145存储第一错误检测码位UCRCd,并且第二缓冲器146存储第二错误检测码位LCRCd。解复用器147连接到第一缓冲器145,并且响应于模式信号MS1提供第一错误检测码位UCRCd作为最终错误检测码位FCRCd的分段UFCRCd或将第一错误检测码位UCRCd提供给XOR逻辑149。解复用器148连接到第二缓冲器146,并且响应于模式信号MS1提供第二错误检测码位LCRCd作为最终错误检测码位FCRCd的分段LFCRCd或将第二错误检测码位LCRCd提供给XOR逻辑149。XOR逻辑149合并第一错误检测码位UCRCd和第二错误检测码位LCRCd,以输出最终错误检测码位FCRCd或HCRCd。
图6示出根据本发明构思的示例性实施例的分别在第一CRC引擎和第二CRC引擎中使用的第一生成矩阵和第二生成矩阵。
参考图6,注意第一生成矩阵GM1与第二生成矩阵GM2相同。第一生成矩阵GM1的每一行用于生成第一错误检测码位UCRCd的位UCRCd0~UCRCd7中的每个,并且第二生成矩阵GM2的每一行用于生成第二错误检测码位LCRCd的位LCRCd0~LCRCd7中的每个。相应位是通过对生成矩阵中具有矩阵元素“1”的一些数据位d0~d63和一些DBI位d64~d71进行异或运算来生成的。当模式信号MS1指定第一码率模式时,使用第一生成矩阵GM1和第二生成矩阵GM2。第一生成矩阵GM1和第二生成矩阵GM2可以采用CRC-0多项式。错误检测码生成电路140a可以在第一码率模式下检测1位错误、2位错误奇数位错误和8位符号错误。
图7示出根据本发明构思的示例性实施例的图4中的第二CRC引擎中使用的第二修改矩阵。
参考图7,通过反转与第二生成矩阵GM2中的第二错误检测码位LCRCd的最高有效位LCRCd7相关联的行的矩阵元素来生成第二修改矩阵GM2’。错误检测码位LCRCd7’是通过对第二修改矩阵GM2’的第八行中具有矩阵元素“1”的一些数据位d0~d63和一些DBI位d64~d71进行异或运算来生成的。第二修改矩阵GM2’使用第二生成矩阵GM2的大部分行,同时反转与最高有效位LCRCd7相关联的行的矩阵元素,因此可以减少硬件开销。当模式信号MS1指定第二码率模式的第一子码率模式时,使用图7的第二修改矩阵GM2’。错误检测码生成电路140a可以在第一子码率模式下检测2位错误。
图8示出根据本发明构思的示例性实施例的图4中的第二CRC引擎中使用的第二修改矩阵。
参考图8,通过在第二生成矩阵中反转与第二错误检测码位LCRCd的最高有效位LCRCd7相关联的行的矩阵元素并通过反转与第二错误检测码位LCRCd的错误检测码位LCRCd0、LCRCd1和LCRCd2相关联的一些矩阵元素来生成第二修改矩阵GM2”。错误检测码位LCRCd0’、LCRCd1’、LCRCd2’、LCRCd3、LCRCd4、LCRCd5、LCRCd6和LCRCd7’是通过对第二修改矩阵GM2’中的行中具有矩阵元素“1”的一些数据位d0~d63和一些DBI位d64~d71进行异或运算来生成的。第二修改矩阵GM2”使用第二生成矩阵GM2的大部分行,同时反转第二生成矩阵GM2中的一些行的一些矩阵元素,从而可以减少硬件开销。当模式信号MS1指定第二码率模式的第二子码率模式时,使用图8的第二修改矩阵GM2”。错误检测码生成电路140a可以在第二子码率模式下检测1位错误、2位错误奇数位错误和8位符号错误。因此,错误检测码生成电路140a在第二子码率模式下的检错能力大于错误检测码生成电路140a在第一子码率模式下的检错能力。另外,错误检测码生成电路140a使用修改矩阵在第二码率模式下的检错能力大于错误检测码生成电路140a不使用修改矩阵在第二码率模式下的检错能力。
图9是示出根据本发明构思的示例性实施例的图3中的错误检测码生成电路的框图。
参考图9,错误检测码生成电路140b包括第一CRC引擎151、第二CRC引擎152、复用器153和154、以及输出选择引擎155。
第一CRC引擎151基于多个第一单位数据UDATA和与第一单位数据UDATA相关联的第一DBI位UDBI来生成第一错误检测码位UCRCd0~UCRCd6和UCRCd7或UCRCd7”。第二CRC引擎152基于多个第二单位数据LDATA和与第二单位数据LDATA相关联的第二DBI位的LDBI来生成第二错误检测码位LCRCd0~LCRCd6和LCRCd7或LCRCd7”。复用器153响应于模式信号MS1选择错误检测码位UCRCd7或UCRCd7”中的一个以输出选择的错误检测码位SUCRCd7。复用器154响应于模式信号MS1选择错误检测码位LCRCd7和LCRCd7”中的一个以输出选择的错误检测码位SLCRCd7。
输出选择引擎155响应于模式信号MS1通过选择性地合并第一错误检测码位UCRCd0~UCRCd6和SUCRCd7以及第二错误检测码位LCRCd0~LCRCd6和SLCRCd7来输出最终错误检测码位FCRCd或HCRCd。例如,当模式信号MS1指定第一码率模式(例如,全码率模式)时,输出选择引擎155通过合并第一错误检测码位UCRCd0~UCRCd7和第二错误检测码位LCRCd0~LCRCd7的对应位来输出第一错误检测码位UCRCd0~UCRCd7和第二错误检测码位LCRCd0~LCRCd7作为最终错误检测码位FCRCd。例如,当模式信号MS1指定第二码率模式(例如,半码率模式)时,输出选择引擎155通过合并第一错误检测码位UCRCd和第二错误检测码位LCRCd的对应位来输出最终错误检测码位HCRCd。因此,最终错误检测码位FCRCd的数目可以大于最终错误检测码位HCRCd的数目。
第一CRC引擎151和第二CRC引擎152可以使用相同的生成矩阵。第一CRC引擎151和第二CRC引擎152通过反转用于分别生成错误检测码位UCRCd7和错误检测码位LCRCd7的生成矩阵中的行的矩阵元素来分别生成错误检测码位UCRCd7”和错误检测码位LCRCd7”。因此,第一CRC引擎151和第二CRC引擎152可以共用生成矩阵中用于生成错误检测码位的其他行的矩阵元素,因此可以减少硬件开销。
图10示出根据本发明构思的示例性实施例的分别在图9中的第一CRC引擎和第二CRC引擎中使用的第一修改矩阵和第二修改矩阵。
参考图10,通过反转第一生成矩阵GM1中的与最高有效位UCRCd7相关联的行的一些矩阵元素来生成第一修改矩阵GM1”’。通过反转第二生成矩阵GM2中的与最高有效位LCRCd7相关联的行的一些矩阵元素来生成第二修改矩阵GM2”’。在第二码率模式的第三子码率模式下使用第一修改矩阵GM1”’和第二修改矩阵GM2”’。
图11是示出根据本发明构思的示例性实施例的图3的存储器控制器中的错误检测器的框图。
参考图11,错误检测器170包括第一缓冲器171、第二缓冲器172、比较器173和检测器178。第一缓冲器171包括根据码率模式具有8位或16位的最终错误检测码位CRCd。第二缓冲器172包括根据码率模式具有8位或16位的返回的最终错误检测码位CRCr。比较器173连接到第一缓冲器171和第二缓冲器172。比较器173比较最终错误检测码位CRCd和返回的最终错误检测码位CRCr的对应位,并且生成指示最终错误检测码位CRCd和返回的最终错误检测码位CRCr的对应位之间的匹配的校验子(syndrome)数据SDR。检测器178响应于校验子数据SDR生成指示主数据DTA是否包括错误的检测信号DS1。比较器173接收使能信号EN。
图12是示出根据本发明构思的示例性实施例的图11中的比较器的电路图。
参考图12,比较器173包括第一比较单元174和第二比较单元175。第二比较单元175可以在第一码率模式下响应于使能信号EN而被激活。第一比较单元174包括多个异或门1741~1748,并且第二比较单元175包括多个异或门1751~1758。异或门1741~1748对最终错误检测码位CRCd0~CRCd7和返回的最终错误检测码位CRCr0~CRCr7的对应位进行异或运算,并输出相应的校验子位SY0~SY7。异或门1751~1758对最终错误检测码位CRCd8~CRCd15和返回的最终错误检测码位CRCr8~CRCr15的对应位进行异或运算,并在第一码率模式下输出相应的校验子位SY8~SY15。
图13示出根据本发明构思的示例性实施例的当图2中的半导体存储器设备在X8模式下操作时的主数据和DBI位。
参考图13,示出了针对每个突发(burst)通过每个引脚输出的数据位。第1至第64数据位d0-d63是响应于一个读取命令而输出的数据。第1至第64数据位d0-d63可以加载在64条数据线上。第一DQ引脚DQ0可以分别针对第一至第八突发顺序地输出第一至第八数据位d0-d7,第二至第八DQ引脚DQ1~DQ7可以类似地操作。DBI引脚DBIP可以分别针对第一至第八突发顺序地输出第一至第八DBI位d64-d71。
图14是示出根据本发明构思的示例性实施例的图2中的半导体存储器设备的框图。
参考图14,半导体存储器设备200a包括控制逻辑电路210、地址寄存器220、存储体控制逻辑230、刷新计数器245、行地址复用器240、列地址锁存器250、行解码器260、列解码器270、存储单元阵列300、感测放大器单元285、输入/输出(I/O)选通电路290、DBI电路400、数据输入/输出(I/O)缓冲器295、DBI I/O缓冲器297和错误检测码生成电路460。
在本发明构思的示例性实施例中,刷新计数器245可以不包括在半导体存储器设备200a中。例如,当存储单元阵列300包括多个电阻型存储单元时,可以从半导体存储器设备200a中省略刷新计数器245。
存储单元阵列300包括第一至第八存储体阵列310~380。行解码器260包括分别耦接到第一至第八存储体阵列310~380的第一至第八存储体行解码器260a~260h,列解码器270包括分别耦接到第一至第八存储体阵列310~380的第一至第八存储体列解码器270a~270h,并且感测放大器单元285包括分别耦接到第一至第八存储体阵列310~380的第一至第八存储体感测放大器285a~285h。第一至第八存储体阵列310~380中的每一个包括耦接到多个字线WL和多个位线BTL的多个存储单元MC。虽然半导体存储器设备200a在图14中被示出为包括八个存储体,但是半导体存储器设备200a可以包括任何数目的存储体。例如,可以存在多于八个的存储体或少于八个的存储体。
地址寄存器220从存储器控制器100接收包括存储体地址BANK_ADDR、行地址ROW_ADDR和列地址COL_ADDR的地址ADDR。地址寄存器220将所接收的存储体地址BANK_ADDR提供给存储体控制逻辑230,将所接收的行地址ROW_ADDR提供给行地址复用器240,并将所接收的列地址COL_ADDR提供给列地址锁存器250。
存储体控制逻辑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中的被激活的一个存储体行解码器对从行地址复用器240输出的行地址RA进行解码,并激活对应于行地址RA的字线。例如,被激活的存储体行解码器将字线驱动电压施加到对应于行地址RA的字线。列地址锁存器250从地址寄存器220接收列地址COL_ADDR,并临时存储所接收的列地址COL_ADDR。在本发明构思的示例性实施例中,在突发模式下,列地址锁存器250生成从所接收的列地址COL_ADDR递增的列地址。列地址锁存器250将临时存储或生成的列地址应用到第一至第八列存储体列解码器270a~270h。
第一至第八存储体列解码器270a~270h中的被激活的一个存储体列解码器对从列地址锁存器250输出的列地址COL_ADDR进行解码,并且控制I/O选通电路290以输出对应于列地址COL_ADDR的数据。I/O选通电路290包括用于选通输入/输出数据的电路,并且还包括用于存储从第一至第八存储体阵列310~380输出的数据的读取数据锁存器、以及用于将数据写入第一至第八存储体阵列310~380的写入驱动器。
数据I/O缓冲器295可以在写入操作中将来自存储器控制器100的主数据DTA提供给DBI电路400,并且可以在读取操作中将来自DBI电路400的主数据DTA提供给存储器控制器100。
DBI I/O缓冲器297将DBI位DBI提供给DBI电路400或将来自DBI电路400的DBI位DBI提供给存储器控制器100。错误检测码生成电路460根据模式信号MS2基于来自DBI电路400的数据DATA和来自DBI I/O缓冲器297的DBI位DBI生成返回的错误检测码位CRCr,并将返回的错误检测码位CRCr提供给存储器控制器100。
控制逻辑电路210可以控制半导体存储器设备200a的操作。例如,控制逻辑电路210可以生成用于半导体存储器设备200a的控制信号以执行写入操作或读取操作。控制逻辑电路210包括对从存储器控制器100接收的命令CMD进行解码的命令解码器211和设置半导体存储器设备200a的操作模式的模式寄存器212。
例如,命令解码器211可以通过对写入使能信号(/WE)、行地址选通信号(/RAS)、列地址选通信号(/CAS)、芯片选择信号(/CS)等进行解码来生成与命令CMD对应的控制信号。控制逻辑电路210可以生成指示码率模式的模式信号MS2,并且可以通过对命令CMD进行解码来生成第一控制信号CTL1以控制I/O选通电路290。
图15是示出根据本发明构思的示例性实施例的图14的半导体存储器设备中的DBI电路的框图。
参考图15,DBI电路400包括第一数据反转电路410、数据反转判定电路420和第二数据反转电路430。第一数据反转电路410基于来自存储器控制器100的写入DBI位WDBI选择性地反转写入主数据WDTA中的多个单位数据中的每一个,并输出写入数据WDATA。数据反转判定电路420在读取数据RDATA的每个单位数据中对具有第一逻辑电平的第一数据位的数目进行计数,并且基于计数向第二数据反转电路430提供判定信号DET2,该判定信号DET2指示是否要反转读取数据RDATA的每个单位数据。第二数据反转电路430响应于判定信号DET2选择性地反转读取数据RDATA的每个单位数据,并输出读取主数据RDTA。数据反转判定电路420输出读取DBI位。
图16A至图16E是根据本发明构思的示例性实施例的图14所示的存储单元的电路图。
图16A至16D示出了用电阻型存储单元实现的存储单元MC,并且图16E示出了用动态存储单元实现的存储单元MC。
参考图16A,存储单元MC可以包括连接到位线BTL和字线WL的电阻元件RE。
参考图16B,存储单元MC可以包括电阻元件RE和二极管D。电阻元件RE可以包括用于数据存储的电阻材料。二极管D可以耦接在电阻元件RE和字线WL之间,并且电阻元件RE可以耦接在位线BTL和二极管D之间。
参考图16C,存储单元MC可以包括电阻元件RE和双向二极管BD。电阻元件RE可以包括用于数据存储的电阻材料。双向二极管BD可以耦接在电阻元件RE和字线WL之间,并且电阻元件RE可以耦接在位线BTL和双向二极管BD之间。
参考图16D,存储单元MC可以包括电阻元件RE和晶体管CT。晶体管CT可以是根据字线WL的电压将电流供应给电阻元件RE或切断对电阻元件RE的电流供应的选择元件(或开关元件)。晶体管CT可以耦接在电阻元件RE和字线WL之间,并且电阻元件RE可以耦接在位线BTL和晶体管CT之间。
参考图16E,存储单元MC可以包括单元电容器CC和晶体管CT。晶体管CT可以是根据字线WL的电压将单元电容器CC连接到位线BTL/从位线BTL断开的选择元件(或开关元件)。晶体管CT可以耦接在单元电容器CC、字线WL和位线BTL之间,并且单元电容器CC可以耦接在晶体管CT和板极电压之间。
图17示出根据本发明构思的示例性实施例的图14所示的存储单元。存储器单元可以是自旋转移矩(STT)-MRAM单元。
参考图17,STT-MRAM单元30可以包括磁隧道结(MTJ)元件40和单元晶体管CT。单元晶体管CT的栅极连接到字线WL,并且单元晶体管CT的一个电极通过MTJ元件40连接到位线BTL。另外,单元晶体管CT的另一个电极连接到源极线SL。
MTJ元件40可以包括自由层41、钉扎(pinned)层43和布置在自由层41与钉扎层43之间的隧道层42。钉扎层43的磁化方向可以是固定的,并且自由层41的磁化方向可以根据写入的数据而与钉扎层43的磁化方向平行或反平行。为了固定钉扎层43的磁化方向,例如可以进一步提供反铁磁层。
图18示出根据本发明构思的示例性实施例的图14的半导体存储器设备中的第一存储体阵列。
参考图18,第一存储体阵列310包括多个字线WL1~WLm(m是大于2的自然数)、多个位线BTL1~BTLn(n是大于2的自然数)、以及布置在字线WL1~WLm与位线BTL1~BTLn之间的交叉点附近的多个存储单元MC。
图19是示出根据本发明构思的示例性实施例的存储器系统的框图。
参考图19,存储器系统20a包括存储器控制器100’和半导体存储器设备200a’。
图19的存储器系统20a与图2的存储器系统20的不同之处在于,错误检测器470被包括在半导体存储器设备200a’中而不是存储器控制器100’。另外,半导体存储器设备200a’将检测信号DS2而不是返回的错误检测码位CRCr发送到存储器控制器100’。当检测信号DS2指示主数据DTA包括错误时,存储器控制器100’将主数据DTA和DBI位DBI重传到半导体存储器设备200a’。
存储器控制器100’包括CPU 110和错误检测码生成电路140。错误检测码生成电路140基于主数据DTA和DBI位DBI生成传输最终错误检测码位CRCd,并经由半导体存储器设备200a’的数据引脚将传输最终错误检测码位CRCd发送到半导体存储器设备200a’。
半导体存储器设备200a’包括存储单元阵列300、错误检测码生成电路460和错误检测器470。错误检测码生成电路460基于来自存储器控制器100’的主数据DTA和DBI位DBI生成最终错误检测码位CRCd’,并将最终错误检测码位CRCd’提供给错误检测器470。错误检测器470比较传输最终错误检测码位CRCd和最终错误检测码位CRCd’的对应位,并且基于传输最终错误检测码位CRCd和最终错误检测码位CRCd’的对应位的匹配,向存储器控制器100’发送指示主数据DTA是否包括错误的判定信号DS2。错误检测器470还将判定信号DS2提供给图14中的控制逻辑电路210。在这种情况下,当主数据DTA包括错误时,控制逻辑电路210可以通过第一控制信号CTL1阻止存储主数据DTA。
参考图4至图10进行的描述可以应用于错误检测码生成电路140和460中的每一个。因此,错误检测码生成电路140和460中的每一个根据码率模式生成具有不同位数的错误检测码位。另外,错误检测器470可以采用图11的错误检测器170。因此,错误检测码生成电路140和460中的每一个包括第一CRC引擎和第二CRC引擎,第一CRC引擎和第二CRC引擎均使用相同的生成矩阵,并且通过修改第一和第二CRC引擎的至少一个生成矩阵的一部分来生成错误检测码位。因此,错误检测码生成电路140和460中的每一个具有各种错误检测能力,同时减少硬件开销。
图20是示出根据本发明构思的示例性实施例的在半导体设备中生成错误检测码位的方法的流程图。
参考图2至图20,在半导体设备中生成错误检测码位的方法中,基于多个第一单位数据UDTA生成第一DBI位UDBI(S610)。第一DBI位UDBI中的每一个指示第一单位数据UDTA中的每一个是否被反转。基于多个第二单位数据LDTA生成第二DBI位LDBI(S620)。第二DBI位LDBI中的每一个指示第二单位数据LDTA中的每一个是否被反转。响应于码率模式通过使用第一生成矩阵或第一修改矩阵,基于第一单位数据UDTA和第一DBI位UDBI生成第一错误检测码位UCRCd(S630)。第一修改矩阵可以通过修改第一生成矩阵来生成。响应于码率模式通过使用第二生成矩阵或第二修改矩阵,基于第二单位数据LDTA和第二DBI位LDBI生成第二错误检测码位LCRCd(S640)。第二修改矩阵可以通过修改第二生成矩阵来生成。
响应于码率模式,通过选择性地合并第一错误检测码位UCRCd和第二错误检测码位LCRCd生成最终错误检测码位(S650)。因此,该方法具有各种错误检测能力,其可以通过使用相同的第一生成矩阵和第二生成矩阵,并进一步通过经由修改第一和第二CRC引擎的至少一个生成矩阵的一部分生成错误检测码位,来减少硬件开销。
图21是示出根据本发明构思的示例性实施例的半导体存储器设备的结构图。
参考图21,半导体存储器设备800包括第一至第s半导体集成电路层LA1至LAs(s是大于2的自然数),其中最低的(lowest)第一半导体集成电路层LA1是接口或控制芯片,并且其他半导体集成电路层LA2至LAs是包括核心存储器芯片的从芯片。第一至第s半导体集成电路层LA1至LAs可以通过硅通孔(TSV)在其间发送和接收信号。作为接口或控制芯片的最低的第一半导体集成电路层LA1可以通过形成在外表面上的导电结构与外部存储器控制器通信。主要通过使用第一半导体集成电路层LA1或810作为接口或控制芯片以及使用第s半导体集成电路层LAs或820作为从芯片,将关于半导体存储器设备800的结构和操作进行描述。
第一半导体集成电路层810包括用于驱动提供在第s半导体集成电路层820中的存储区821的各种外围电路。例如,第一半导体集成电路层810包括用于驱动存储器的字线的行(X)驱动器8101、用于驱动存储器的位线的列(Y)驱动器8102、用于控制数据的输入/输出的数据输入/输出单元(Din/Dout)8103、用于从外部接收命令CMD并缓冲命令CMD的命令缓冲器(CMD)8104、以及用于接收地址并缓冲该地址的地址缓冲器(ADDR)8105。
第一半导体集成电路层810还可以包括控制逻辑电路8107。控制逻辑电路8107可以访问存储区821,并且可以基于来自存储器控制器的命令生成用于访问存储区821的控制信号。
第s半导体集成电路层820可以包括存储区821,用于检测要存储在存储区821中的数据中的错误的错误检测码生成电路822、以及外围区,在外围区中布置诸如行解码器、列解码器和位线感测放大器的外围电路用于在存储区821中写入/读取数据。
如参考图2至图20所描述的,错误检测码生成电路822可以具有各种错误检测能力,其通过使用相同的第一生成矩阵和第二生成矩阵,并通过经由修改第一和第二CRC引擎的至少一个生成矩阵的一部分生成错误检测码位,来减少硬件开销。
另外,在本发明构思的示例性实施例中,在半导体存储器设备800中提供三维(3D)存储阵列。该3D存储阵列被单片地形成在具有布置在硅衬底之上的有源区以及与这些存储单元的操作相关联的电路的存储单元的阵列的一个或多个物理层级中。相关联的电路可以在衬底之上或之内。术语“单片”可以意指阵列的每个层级的层被直接沉积在阵列的每个相应的下层级的层上。以下专利文献描述了用于3D存储阵列的配置,其中3D存储阵列被配置为多个层级,在层级之间共享字线和/或位线:美国专利第7,679,133号、第8,553,466号、第8,654,587号、第8,559,235号;以及美国专利申请公布第2011/0233648号。
图22是示出根据本发明构思的示例性实施例的包括半导体存储器设备的移动系统的框图。
参考图22,移动系统900可以包括经由总线970连接的应用处理器910、连接性单元920、易失性存储器设备950、非易失性存储器设备940、用户接口930和电源960。
应用处理器910可以执行诸如web浏览器、游戏应用、视频播放器等的应用。应用处理器910包括错误检测码生成电路911和错误检测器913。连接性单元920可以执行与外部设备的有线或无线通信。易失性存储器设备950可以存储由应用处理器910处理的数据或者作为工作存储器来操作。易失性存储器设备950可以采用图14的半导体存储器设备200a。易失性存储器设备950包括存储单元阵列951和错误检测码生成电路953。
非易失性存储器设备940可以存储用于启动移动系统900的启动图像。用户接口930可以包括诸如键区、触摸屏等的至少一个输入设备以及诸如扬声器、显示设备等的至少一个输出设备。电源960可以向移动系统900供应电源电压。
在本发明构思的示例性实施例中,移动系统900和/或移动系统900的组件可以以各种形式被封装。
本发明构思的示例性实施例可以应用于使用错误检测码生成电路的半导体设备和系统。例如,本发明构思的示例性实施例可以应用于诸如移动电话、智能电话、个人数字助理(PDA)、便携式多媒体播放器(PMP)、数码相机、摄录像机、个人计算机(PC)、服务器计算机、工作站、膝上型计算机、数字电视、机顶盒、便携式游戏机、导航系统或其他这样的电子设备的系统。
虽然已经参考本发明构思的示例性实施例具体示出和描述了本发明构思,但是对于本领域的普通技术人员来说,将明显的是,可以在不脱离如以下权利要求限定的本发明构思的精神和范围的情况下对其进行形式和细节上的各种改变。

Claims (8)

1.一种用于半导体存储器设备的错误检测码生成电路,所述错误检测码生成电路包括:
第一循环冗余校验CRC引擎,被配置为接收第一单位数据并且基于所述第一单位数据生成第一错误检测码位;
第二CRC引擎,被配置为接收第二单位数据并且基于所述第二单位数据生成第二错误检测码位;
复用器,被配置为响应于模式信号选择所述第二错误检测码位的最高有效位和所述第二错误检测码位的最高有效位的反转版本之一,其中,所述第二错误检测码位的最高有效位的反转版本是通过反转生成矩阵中用于生成第二错误检测码位的最高有效位的行的矩阵元素生成的;以及
XOR电路,被配置为接收第一错误检测码位和第二错误检测码位,并通过执行异或函数来将第二错误检测码位的最高有效位和第二错误检测码位的最高有效位的反转版本中被选择的一个、第一错误检测码位以及剩余的第二错误检测码位合并为最终错误检测码位,
其中,响应于第一电平的模式信号以全速率模式输出第一错误检测码位和第二错误检测码位,以及响应于第二电平的模式信号以半速率模式输出最终错误检测码位。
2.如权利要求1所述的错误检测码生成电路,其中,第一CRC引擎还与第一单位数据一起接收第一数据总线反转位,并且第二CRC引擎还与第二单位数据一起接收第二数据总线反转位。
3.如权利要求2所述的错误检测码生成电路,其中,第一CRC引擎基于第一单位数据和第一数据总线反转位使用第一生成矩阵用于生成第一错误检测码位,并且第二CRC引擎基于第二单位数据和第二数据总线反转位使用第二生成矩阵用于生成第二错误检测码位。
4.如权利要求3所述的错误检测码生成电路,其中,当选择全速率模式时,第一生成矩阵和第二生成矩阵相同,并且当选择半速率模式时,第一生成矩阵和第二生成矩阵彼此不同。
5.如权利要求4所述的错误检测码生成电路,其中,在半速率模式期间,第二生成矩阵的一位被反转同时第一生成矩阵的相应位不被反转。
6.如权利要求4所述的错误检测码生成电路,其中,全速率模式指示正常数据输出速度,而半速率模式指示正常数据输出速度的一半。
7.如权利要求1所述的错误检测码生成电路,其中,第一单位数据和第二单位数据分别为六十四位,第一数据总线反转位和第二数据总线反转位分别为八位,以及第一错误检测码位和第二错误检测码位分别为八位,以及最终错误检测码位为八位。
8.如权利要求1所述的错误检测码生成电路,其中,剩余的第二错误检测码位包括一位或多位。
CN201911179754.7A 2016-12-02 2017-12-01 错误检测码生成电路 Active CN110995289B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2016-0163223 2016-12-02
KR1020160163223A KR20180063475A (ko) 2016-12-02 2016-12-02 반도체 장치의 오류 검출 코드 생성 회로, 이를 포함하는 메모리 컨트롤러 및 반도체 메모리 장치
CN201711248279.5A CN108153609B (zh) 2016-12-02 2017-12-01 错误检测码生成电路以及包括其的存储器控制器

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201711248279.5A Division CN108153609B (zh) 2016-12-02 2017-12-01 错误检测码生成电路以及包括其的存储器控制器

Publications (2)

Publication Number Publication Date
CN110995289A CN110995289A (zh) 2020-04-10
CN110995289B true CN110995289B (zh) 2021-02-19

Family

ID=62244152

Family Applications (4)

Application Number Title Priority Date Filing Date
CN201711248279.5A Active CN108153609B (zh) 2016-12-02 2017-12-01 错误检测码生成电路以及包括其的存储器控制器
CN202211678436.7A Active CN115987299B (zh) 2016-12-02 2017-12-01 错误检测码生成电路以及包括其的存储器系统
CN202110263452.9A Active CN113010346B (zh) 2016-12-02 2017-12-01 错误检测码生成电路以及包括其的存储器控制器
CN201911179754.7A Active CN110995289B (zh) 2016-12-02 2017-12-01 错误检测码生成电路

Family Applications Before (3)

Application Number Title Priority Date Filing Date
CN201711248279.5A Active CN108153609B (zh) 2016-12-02 2017-12-01 错误检测码生成电路以及包括其的存储器控制器
CN202211678436.7A Active CN115987299B (zh) 2016-12-02 2017-12-01 错误检测码生成电路以及包括其的存储器系统
CN202110263452.9A Active CN113010346B (zh) 2016-12-02 2017-12-01 错误检测码生成电路以及包括其的存储器控制器

Country Status (3)

Country Link
US (4) US10476529B2 (zh)
KR (1) KR20180063475A (zh)
CN (4) CN108153609B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10236045B2 (en) 2012-09-21 2019-03-19 Samsung Electronics Co., Ltd. Semiconductor memory device having detection clock patterns phase-inverted from each other and detection clock generating method thereof
KR20180063475A (ko) 2016-12-02 2018-06-12 삼성전자주식회사 반도체 장치의 오류 검출 코드 생성 회로, 이를 포함하는 메모리 컨트롤러 및 반도체 메모리 장치
JP7184632B2 (ja) * 2018-12-25 2022-12-06 ルネサスエレクトロニクス株式会社 半導体装置
US10862622B2 (en) * 2019-05-23 2020-12-08 Intel Corporation Error correction code (ECC) and data bus inversion (DBI) encoding
US11150814B2 (en) * 2019-10-28 2021-10-19 International Business Machines Corporation Utilizing a link interface for performing partial write operations to memory
KR20210073197A (ko) * 2019-12-10 2021-06-18 에스케이하이닉스 주식회사 인버전 신호 생성 회로
CN111211793B (zh) * 2020-02-10 2023-08-04 成都烨软科技有限公司 一种基于汉明码并行tpc编码方法
US11670578B2 (en) * 2020-06-02 2023-06-06 Micron Technology, Inc. Ball grid arrays and associated apparatuses and systems
KR20210149543A (ko) * 2020-06-02 2021-12-09 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
KR20220075948A (ko) 2020-11-30 2022-06-08 에스케이하이닉스 주식회사 컨트롤러 및 이의 동작 방법
JP2022144469A (ja) * 2021-03-19 2022-10-03 キオクシア株式会社 メモリシステム
US11837304B2 (en) 2022-04-02 2023-12-05 Changxin Memory Technologies, Inc. Detection circuit
CN116935938A (zh) * 2022-04-02 2023-10-24 长鑫存储技术有限公司 检测电路
US11824556B1 (en) 2022-07-25 2023-11-21 Samsung Electronics Co., Ltd. Error correction using soft decision bits and multiple hypotheses
US11934267B1 (en) * 2022-08-28 2024-03-19 Micron Technology, Inc. Data inversion and unidirectional error detection

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004034227A2 (en) * 2002-10-11 2004-04-22 Quicksilver Technology, Inc. Reconfigurable bit-manipulation node
CN1841489A (zh) * 2005-03-28 2006-10-04 精工爱普生株式会社 显示驱动器及电子设备
CN101765976A (zh) * 2007-08-07 2010-06-30 富士通株式会社 错误检测装置和错误校正/错误检测解码装置和方法
CN103262462A (zh) * 2010-10-19 2013-08-21 意法爱立信有限公司 在高速串行接口通信系统中使用选择性字节同步的省电模式的系统和方法
CN104124781A (zh) * 2014-06-06 2014-10-29 富达通科技股份有限公司 感应式电源供应器的供电模块及其数据判读方法

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5410546A (en) * 1993-11-01 1995-04-25 Storage Technology Corporation Apparatus and method for CRC computation over fixed length blocks containing variable length packets of data received out of order
US6938201B2 (en) 2002-09-05 2005-08-30 Agilent Technologies, Inc. Error detection system for a FIFO memory
AU2005247504B2 (en) 2004-05-25 2008-12-18 Reflexion Networks, Inc. A system and method for controlling access to an electronic message recipient
US7398449B1 (en) 2004-06-16 2008-07-08 Azul Systems, Inc. Encoding 64-bit data nibble error correct and cyclic-redundancy code (CRC) address error detect for use on a 76-bit memory module
KR100746225B1 (ko) * 2006-02-13 2007-08-03 삼성전자주식회사 반도체 메모리 장치 및 이를 구비한 메모리 시스템
KR101119111B1 (ko) * 2006-05-04 2012-03-16 엘지전자 주식회사 Ldpc 부호를 이용한 데이터 재전송 방법
US8352805B2 (en) 2006-05-18 2013-01-08 Rambus Inc. Memory error detection
WO2008023790A1 (fr) 2006-08-25 2008-02-28 Panasonic Corporation Dispositif de communication sans fil et procédé de codage à détection d'erreur
US8207976B2 (en) 2007-03-15 2012-06-26 Qimonda Ag Circuit
US8095846B2 (en) * 2007-06-08 2012-01-10 Cortina Systems, Inc. Data coding apparatus and methods
KR100902051B1 (ko) * 2007-07-12 2009-06-15 주식회사 하이닉스반도체 오류 검사 코드 생성장치 및 방법
US8321778B2 (en) 2008-06-16 2012-11-27 Intel Corporation Efficient in-band reliability with separate cyclic redundancy code frames
US8196009B2 (en) * 2008-06-18 2012-06-05 Intel Corporation Systems, methods, and apparatuses to transfer data and data mask bits in a common frame with a shared error bit code
US8498344B2 (en) * 2008-06-20 2013-07-30 Rambus Inc. Frequency responsive bus coding
KR100980424B1 (ko) * 2008-12-24 2010-09-07 주식회사 하이닉스반도체 반도체 메모리 장치 및 데이터 리드 방법
US8456926B2 (en) * 2010-11-18 2013-06-04 Grandis, Inc. Memory write error correction circuit
US20110246857A1 (en) 2010-04-02 2011-10-06 Samsung Electronics Co., Ltd. Memory system and method
US8560927B1 (en) * 2010-08-26 2013-10-15 Altera Corporation Memory error detection circuitry
US20120173952A1 (en) * 2010-12-29 2012-07-05 Kumar K Venkat Praveen Parallel crc computation with data enables
KR20120098326A (ko) 2011-02-28 2012-09-05 에스케이하이닉스 주식회사 반도체 장치 및 데이터 처리방법
US8495437B2 (en) * 2011-09-06 2013-07-23 Samsung Electronics Co., Ltd. Semiconductor memory device
US8726124B2 (en) * 2012-07-19 2014-05-13 Nvidia Corporation Cyclic redundancy check generation via distributed time multiplexed linear feedback shift registers
JP2015019276A (ja) * 2013-07-11 2015-01-29 株式会社東芝 記憶装置、crc生成装置およびcrc生成方法
KR102087755B1 (ko) * 2013-10-07 2020-03-11 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이를 포함하는 반도체 시스템
KR102357899B1 (ko) * 2014-01-29 2022-02-03 마벨 아시아 피티이 엘티디. 유효 인코딩을 위한 방법 및 장치
US9405721B2 (en) * 2014-06-06 2016-08-02 Micron Technology, Inc. Apparatuses and methods for performing a databus inversion operation
KR102178137B1 (ko) 2014-08-26 2020-11-12 삼성전자주식회사 반도체 메모리 장치, 이의 에러 정정 방법 및 이를 포함하는 메모리 시스템
US9979416B2 (en) * 2014-12-10 2018-05-22 Rambus Inc. Memory controller and method of data bus inversion using an error detection correction code
US9722633B2 (en) * 2015-02-11 2017-08-01 Mitsubishi Electric Research Laboratories, Inc. Method and system for reliable data communications with adaptive multi-dimensional modulations for variable-iteration decoding
JP6487770B2 (ja) * 2015-05-18 2019-03-20 キヤノン株式会社 データ通信システム、記録装置、データ送信装置、データ通信システムの制御方法
US9823960B2 (en) * 2015-09-10 2017-11-21 Cavium, Inc. Apparatus and method for parallel CRC units for variably-sized data frames
KR20180063475A (ko) 2016-12-02 2018-06-12 삼성전자주식회사 반도체 장치의 오류 검출 코드 생성 회로, 이를 포함하는 메모리 컨트롤러 및 반도체 메모리 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004034227A2 (en) * 2002-10-11 2004-04-22 Quicksilver Technology, Inc. Reconfigurable bit-manipulation node
CN1841489A (zh) * 2005-03-28 2006-10-04 精工爱普生株式会社 显示驱动器及电子设备
CN101765976A (zh) * 2007-08-07 2010-06-30 富士通株式会社 错误检测装置和错误校正/错误检测解码装置和方法
CN103262462A (zh) * 2010-10-19 2013-08-21 意法爱立信有限公司 在高速串行接口通信系统中使用选择性字节同步的省电模式的系统和方法
CN104124781A (zh) * 2014-06-06 2014-10-29 富达通科技股份有限公司 感应式电源供应器的供电模块及其数据判读方法

Also Published As

Publication number Publication date
US20200162112A1 (en) 2020-05-21
CN113010346A (zh) 2021-06-22
CN115987299A (zh) 2023-04-18
KR20180063475A (ko) 2018-06-12
CN110995289A (zh) 2020-04-10
US11438016B2 (en) 2022-09-06
US20210091791A1 (en) 2021-03-25
CN108153609B (zh) 2023-06-13
US11223373B2 (en) 2022-01-11
CN113010346B (zh) 2023-01-13
US10868570B2 (en) 2020-12-15
CN115987299B (zh) 2024-02-20
US10476529B2 (en) 2019-11-12
US20180159558A1 (en) 2018-06-07
US20200044669A1 (en) 2020-02-06
CN108153609A (zh) 2018-06-12

Similar Documents

Publication Publication Date Title
CN110995289B (zh) 错误检测码生成电路
CN107767919B (zh) 半导体存储器设备、包括其的存储器系统及操作其的方法
US11239960B2 (en) Characterization of in-chip error correction circuits and related semiconductor memory devices/memory systems
CN107393596B (zh) 半导体存储设备和操作其的方法
US10929225B2 (en) Semiconductor memory devices, memory systems including the same and methods of operating memory systems
CN106997783B (zh) 半导体存储装置和操作半导体存储装置的方法
CN108121617B (zh) 存储器模块、存储器系统和操作存储器系统的方法
US10671478B2 (en) Scrubbing controllers of semiconductor memory devices, semiconductor memory devices and methods of operating the same
US10127102B2 (en) Semiconductor memory devices and memory systems including the same
US10191805B2 (en) Semiconductor memory devices and memory systems including the same
US10002045B2 (en) Semiconductor memory devices having input/output gating circuit and memory systems including the same
KR20190052754A (ko) 적응적 온-다이 에러 체크 및 정정을 위한 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
KR20230017711A (ko) 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법

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