CN108121617A - 存储器模块、存储器系统和操作存储器系统的方法 - Google Patents

存储器模块、存储器系统和操作存储器系统的方法 Download PDF

Info

Publication number
CN108121617A
CN108121617A CN201711096816.9A CN201711096816A CN108121617A CN 108121617 A CN108121617 A CN 108121617A CN 201711096816 A CN201711096816 A CN 201711096816A CN 108121617 A CN108121617 A CN 108121617A
Authority
CN
China
Prior art keywords
storage
parity
data
memory
check 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.)
Granted
Application number
CN201711096816.9A
Other languages
English (en)
Other versions
CN108121617B (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 CN108121617A publication Critical patent/CN108121617A/zh
Application granted granted Critical
Publication of CN108121617B publication Critical patent/CN108121617B/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
    • 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
    • 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/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/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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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
    • 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/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • 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/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

Abstract

存储器模块包括数据存储器和至少一个奇偶校验存储器。每个数据存储器包括具有第一存储区域和第二存储区域的第一存储单元阵列,其中,第一存储区域用于存储对应于多个突发长度的数据集,而第二存储区域用于存储用来执行与数据集相关联的错误检测/校正的第一奇偶校验位。至少一个奇偶校验存储器包括具有第一奇偶校验区域和第二奇偶校验区域的第二存储单元阵列,其中,第一奇偶校验区域用于存储与对应于存储在每个数据存储器中的所有数据集的用户数据集相关联的第三奇偶校验位,而第二奇偶校验区域用于存储用于与第三奇偶校验位相关联的错误检测/校正的第二奇偶校验位。

Description

存储器模块、存储器系统和操作存储器系统的方法
相关申请的交叉引用
于2016年11月30日提交的题为“Memory Modules,Memory Systems Includingthe Same and Method of Operating Memory Systems”的韩国专利申请第10-2016-0161528号通过引用方式被整体并入本文。
技术领域
本文描述的一个或多个实施例涉及存储器模块、包括存储器模块的存储器系统以及用于操作存储器系统的方法。
背景技术
通常,为了高性能和大容量,计算机系统可以以存储器模块形式包含多个存储器芯片(例如,DRAM)。可以通过将多个存储器芯片安装在印刷电路板上来实现存储器模块。存储器模块可以是就存储器模块而言的单个的(以下称为单列直插式存储器模块(SingleIn-line Memory-Module,SIMM))以及就存储器模块而言的双重的(以下称为双列直插式存储器模块(Dual In-line Memory Module,DIMM))。SIMM可以包括安装在印刷电路板的一侧上的多个存储器芯片,而DIMM可以包括安装在印刷电路板的两侧上的多个存储器芯片。
发明内容
根据一个或多个实施例,一种存储器模块包括:多个数据存储器;和至少一个奇偶校验存储器,其中:所述数据存储器的每一个包含第一存储单元阵列,所述第一存储单元阵列包含第一存储区域和第二存储区域,所述第一存储区域用于存储对应于多个突发长度的数据集,而所述第二存储区域用于存储用于执行与所述数据集相关联的错误检测/校正的第一奇偶校验位,所述至少一个奇偶校验存储器包含第二存储单元阵列,所述第二存储单元阵列包含第一奇偶校验区域和第二奇偶校验区域,所述第一奇偶校验区域用于存储与对应于存储在所述数据存储器中的每一个中的所有数据集的用户数据集相关联的第三奇偶校验位,而所述第二奇偶校验区域用于存储用于与所述第三奇偶校验位相关联的错误检测/校正的第二奇偶校验位。
根据一个或多个其它实施例,一种存储器系统,包括:存储器模块,其包含多个数据存储器和至少一个奇偶校验存储器;和存储器控制器,用于控制所述存储器模块,其中:所述多个数据存储器中的每一个包含第一存储单元阵列,所述第一存储单元阵列包含第一存储区域和第二存储区域,所述第一存储区域用于存储对应于多个突发长度的数据集,而所述第二存储区域用于存储用于执行与所述数据集相关联的错误检测/校正的第一奇偶校验位,所述至少一个奇偶校验存储器包含第二存储单元阵列,所述第二存储单元阵列包含第一奇偶校验区域以及第二奇偶校验区域,所述第一奇偶校验区域用于存储与对应于存储在所述数据存储器中的每一个中的所有数据集的用户数据集相关联的第三奇偶校验位,所述第二奇偶校验区域用于存储用于与所述第三奇偶校验位相关联的错误检测/校正的第二奇偶校验位,以及,所述存储器控制器包含:循环冗余校验发生器,用于基于所述数据集的每一个生成所述第一奇偶校验位,并且基于所述第三奇偶校验位生成所述第二奇偶校验位;和奇偶校验发生器,用于基于所述用户数据集生成所述第三奇偶校验位。
根据一个或多个其它实施例,提供一种用于操作存储器系统的方法,所述存储器系统包含存储器模块和用于控制所述存储器模块的存储器控制器,所述存储器模块包括多个数据存储器和至少一个奇偶校验存储器。该方法包括:由存储器控制器将数据集和与所述数据集相关联的第一奇偶校验位分别存储到所述数据存储器的每一个的第一存储区域和第二存储区域中,所述数据集对应于多个突发长度和要用于错误检测/校正的所述第一奇偶校验位;以及由所述存储器控制器将所述第一奇偶校验位和与所述第三奇偶校验位相关联的第二奇偶校验位分别存储到所述至少一个奇偶校验存储器的第一奇偶校验区域和第二奇偶校验区域中,所述第一奇偶校验位对应于要存储在所述数据存储器的每一个中的所有数据集,而所述第二奇偶校验位用于执行错误检测/校正。
根据一个或多个其它实施例,一种存储器模块,包括:第一数据存储器;第二数据存储器;和至少一个奇偶校验存储器,其中,所述第一数据存储器和所述第二数据存储器中的每一个包括用于存储对应于多个突发长度的数据集的第一存储区域和用于存储用于所述数据集的第一奇偶校验位的第二存储区域,所述至少一个奇偶校验存储器包含第一奇偶校验区域和第二奇偶校验区域,所述第一奇偶校验区域用于存储对应于用户数据集的第三奇偶校验位,所述第二奇偶校验区域用于存储用于所述第三奇偶校验位的第二奇偶校验位。
附图说明
通过参考附图详细描述示例性实施例,特征对于本领域技术人员来说将变得清楚,在附图中:
图1示出了电子系统的实施例;
图2示出了存储器系统的实施例;
图3A示出了在存储器系统中的对应于突发长度的数据集和用于错误检测/校正的第一奇偶校验位的示例,图3B示出了在存储器系统中的对应于突发长度的奇偶校验位和用于错误检测/校正的第二奇偶校验位的示例,以及图3C示出了存储器系统的N位数据和M位数据的结构的示例;
图4示出了存储器控制器中的CRC(Cyclic Redundancy Check,循环冗余校验)发生器的实施例;
图5示出了存储器控制器中的奇偶校验发生器的实施例;
图6示出了存储器控制器中的CRC/奇偶校验器的实施例;
图7示出了存储器模块中的数据存储器的实施例;
图8A至图8E示出了存储单元的各种实施例;
图 9示出自旋转移矩磁阻随机存取存储器(Spin Transfer Torque-Magnetoresistive Random Access Memory,STT-MRAM)单元的实施例;
图10示出了第一存储体阵列的实施例;
图11示出了第一存储体阵列和I/O选通电路的实施例;
图12示出了第一存储体阵列和I/O选通电路的实施例;
图13A示出了ECC(Error Correction Code,纠错码)引擎的实施例,以及图13B示出了ECC解码器的实施例;
图14示出了写入操作的实施例;
图15示出了读取操作的实施例;
图16示出了写入操作的另一实施例;
图17示出了读取操作的另一实施例;
图18示出了用于操作存储器系统的方法的实施例;
图19示出了存储器件的实施例;和
图20示出了计算系统的实施例。
具体实施方式
图1示出了可以包含主机15和存储器系统20的电子系统10的实施例。存储器系统20可以包括存储器控制器30和存储器模块100。存储器模块100包括包含数据存储器和奇偶校验存储器200p的多个存储器件。
主机15可以通过各种接口协议与存储器系统20通信。示例包括外围组件互连Express(Peripheral Component-Express,PCI-E)、先进技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)或串行附接SCSI(serial attached SCSI,SAS)。主机15还可以通过接口协议与存储器系统20通信。示例包括通用串行总线(USB)、多媒体卡(MMC)、增强型小型磁盘接口(ESDI)或集成驱动电子(Integrated Drive Electronics,IDE)。
存储器控制器30可以控制存储器系统20的总体操作。存储器控制器30可以控制主机15与存储器件和200p之间的总体数据交换。例如,存储器控制器30可以基于来自主机15的请求,将数据写入存储器件 和200p,或从存储器件和200p读取数据。此外,存储器控制器30可以发出用于控制存储器件和200p的操作命令。
在一些实施例中,半导体存储器件和200p中的每一个是包括电阻型存储单元的存储器件。示例包括磁阻随机存取存储器(MRAM)、电阻随机存取存储器(RRAM)、相变随机存取存储器(PRAM)和铁电随机存取存储器(FRAM)。在其它示例性实施例中,半导体存储器件和200p中的每一个包括诸如动态随机存取存储器(DRAM)的动态存储单元。
MRAM是基于磁阻的非易失性计算机存储器。在许多方面,MRAM与易失性RAM不同,例如由于MRAM是非易失性存储器,所以MRAM在断电时保持所有存储的数据。
尽管非易失性RAM可能比易失性RAM慢,但MRAM具有与易失性RAM的读取和写入响应时间相当的读取和写入响应时间。与将数据作为电荷存储的易失性RAM不同,MRAM使用磁阻(或磁阻的)元件存储数据。每个磁阻元件可以包括例如两个磁性层,每个磁性层具有磁化(magnetization)。
MRAM是使用磁性隧道结图案来读取和写入数据的非易失性存储器件,该磁性隧道结图案包括在两个磁性层之间的绝缘膜。磁性隧道结图案的电阻值可以根据每个磁性层的磁化方向而变化。MRAM可以基于电阻值的变化来编程或移除数据。MRAM是低成本的并且具有高容量(例如像动态随机存取存储器(DRAM)),以高速运行(像静态随机存取存储器(SRAM)),并且是非易失性的(像闪存)。
图2示出了例如可以与图1中的存储器系统20对应的存储器系统的实施例。参考图2,存储器系统20包括存储器控制器30和存储器模块100。存储器模块100包括多个数据存储器和至少一个奇偶校验存储器200p。数据存储器的数量可以是8、16或其它数量。
在示例性实施例中,数据存储器中的每一个可以被称为数据芯片,而奇偶校验存储器200p可以被称为纠错码(ECC)存储器或冗余存储器。奇偶校验存储器200p可以被称为ECC芯片或冗余芯片。奇偶校验存储器200p可以用一个或多个奇偶校验存储器来实现。
存储器控制器30和存储器模块100可以基于时钟信号CLK交换第一数据集DQ_BL+CRCd和第二数据集SPRT+CRCp。第一数据集DQ_BL+CRCd包括提供给每个数据存储器/从每个数据存储器输出的对应于多个突发长度的数据集DQ_BL,和用于与数据集DQ_BL相关联的错误检测/纠正的第一奇偶校验位CRCd。第二数据集SPRT+CRCp包括与对应于要存储在每个数据存储器中的所有数据集DQ_BL的数据集相关联的奇偶校验位SPRT和与奇偶校验位SPRT相关联的第二奇偶校验位CRCp。
存储器控制器30包括奇偶校验发生器(PRT发生器)50和循环冗余校验(CRC)发生器40。奇偶校验发生器50基于用户数据集生成奇偶校验位SPRT。CRC发生器40基于数据集DQ_BL和奇偶校验位SPRT生成第一奇偶校验位CRCd和第二奇偶校验位CRCp。此外,存储器控制器30包括CRC/奇偶校验器(CRC/PRT校验器)60,其基于从存储器模块(MM)100提供的第一数据集DQ_BL+CRCd和第二数据集SPRT+CRCp来检测数据存储器 中的至少一个的错误。
数据存储器和奇偶校验存储器200p中的每一个可执行突发操作(burst operation)。突发操作可以包括通过依次增加或减少从存储器控制器30提供的初始地址来写入或读取一数量的数据的操作。突发操作的基本单元可以被称为突发长度BL。
在示例性实施例中,突发长度BL可以对应于通过依次增加或减少初始地址来连续读取或写入数据的操作次数。例如,当数据存储器和奇偶校验存储器200p中的每一个是双倍数据速率(DDR)DRAM并且其突发长度为8时,可以通过基于时钟信号CLK依次增加或减少初始地址来执行八次突发读取或写入操作。
图3A示出了图2的存储器系统20中用于错误检测/校正的第一奇偶校验位和对应于突发长度的数据集的示例。参考图3A,对应于突发长度的数据集DQ_BL和与数据集DQ_BL相关联的第一奇偶校验位CRCd输入至每个数据存储器/从每个数据存储器输出。数据集DQ_BL包括对应于各个突发长度的数据段为了说明的目的,第一奇偶校验位CRCd包括CRC位并且在图3A中假设突发长度为8。在其它实施例中,CRC位数和突发长度可能不同。
当对应于突发长度的数据集DQ_BL被存储在每个数据存储器 的第一存储区域中时,与数据集DQ_BL相关联的第一奇偶校验位被存储在每个数据存储器的第二存储区域中。
图3B示出了图2的存储器系统20中用于错误检测/校正的第二奇偶校验位和对应于突发长度的奇偶校验位的示例。参考图3B,对应于一个突发长度的奇偶校验位和与奇偶校验位SPRT相关联的第二奇偶校验位CRCp被输入到奇偶校验存储器200p/从奇偶校验存储器200p输出对应于突发长度BL的次数。第二奇偶校验位CRCp包括CRC位 并且在图3B中假设突发长度为8。在其它实施例中,CRC位数和突发长度可能不同。可以基于要存储在每个数据存储器中的相应数据段DQ_BL_SG生成对应于一个突发长度的每一个奇偶校验位
图3C示出了图2的存储器系统20的N位数据和M位数据的结构的示例。参考图3C,N位数据包括对应于全部数据集DQ_BL的用户数据集SDQ和包括与数据集DQ_BL相关联的全部第一奇偶校验位的一组CRC位SPRT。M位数据包括要存储在每个数据存储器中的数据集DQ_BL和第一奇偶校验位CRCd。输入至奇偶校验存储器200p/从奇偶校验存储器200p输出的N位数据可以包括与用户数据集SDQ相关联的奇偶校验位SPRT和第二奇偶校验位CRCp。
图4示出了图2中的存储器控制器30中的CRC发生器40的实施例。参考图4,CRC发生器40包括第一校验位发生器41和第二校验位发生器43。第一校验位发生器41基于64位数据集DQ_BL生成8位第一奇偶校验位CRCd,其将被提供给每个数据存储器第一奇偶校验位CRCd可以依次存储在写入缓冲器中。第二校验位发生器43基于从奇偶校验发生器50提供的64位奇偶校验位SPRT生成8位第二奇偶校验位CRCp。第二奇偶校验位CRCp可以存储在写入缓冲器中。
图5示出了图2中的存储器控制器30中的奇偶校验发生器50的实施例。参考图5,奇偶校验发生器50包括奇偶校验生成电路51。奇偶校验生成电路51接收512位用户数据集SDQ,并且基于512位用户数据集SDQ生成64位奇偶校验位SPRT。奇偶校验生成电路51可以用ECC编码器来实现。奇偶校验位SPRT可以存储在写入缓冲器中。可以将第一奇偶校验位CRCd、第二奇偶校验位CRCp和奇偶校验位SPRT与用户数据集SDQ一起提供给存储器模块100。
图6示出了图2中的存储器控制器30中的CRC/奇偶校验器60的实施例。参考图6,CRC/奇偶校验器60包括CRC校验器70和奇偶校验器80。CRC校验器70包括校验位发生器71、比较器72和检测器73。校验位发生器71接收64位数据集DQ_BL,并且基于64位数据集DQ_BL生成8位校验位Pc。比较器72比较8位第一奇偶校验位CRCd和8位校验位Pc的相应位,并生成指示是否出现错误和错误位置的校正子(syndrome)SDR1。当在64位数据集DQ_BL中出现错误时,检测器73基于校正子SDR1生成检测信号DS。
奇偶校验器80包括校验位发生器81、比较器82和校正器83。校验位发生器81接收512位用户数据集SDQ,并基于512位用户数据集SDQ生成校验位集SPc。比较器82比较64位奇偶校验位SPRT和校验位集SPc的相应位,并生成指示是否出现错误和错误位置的校正子SDR2。校正器83接收512位用户数据集SDQ,基于检测信号和校正子SDR2反转出现错误的数据集DQ_BL的数据,并校正用户数据集SDQ中的错误。
图7示出了可以代表图2中的存储器模块100中的数据存储器 和奇偶校验存储器200p的数据存储器200a的实施例。
参考图7,数据存储器200a包括控制逻辑电路210、地址寄存器220、存储体控制逻辑(bank control logic)230、行地址多路复用器(RAMUX)240、列地址锁存器(CA锁存器)250、行解码器260、列解码器270、存储单元阵列300、读出放大器单元285、输入/输出(I/O)选通电路290、数据输入/输出(I/O)缓冲器295和刷新计数器245。数据存储器200a还可以包括ECC引擎400和CRC校验器450中的一个。当数据存储器200a用电阻型存储器件实现时,数据存储器220a不包括刷新计数器245。
存储单元阵列300包括第一至第八存储体阵列行解码器260包括分别耦合到第一至第八存储体阵列的第一至第八存储体行解码器列解码器270包括分别耦合到第一至第八存储体阵列 的第一至第八存储体列解码器读出放大器单元285包括分别耦合到第一至第八存储体阵列的第一至第八存储体读出放大器第一至第八存储体阵列第一至第八存储体行解码器第一至第八存储体列解码器以及第一至第八存储体读出放大器可以形成第一至第八存储体(bank)。第一至第八存储体阵列中的每一个包括耦合到字线WL和位线BTL的多个存储单元MC。在其它实施例中,数据存储器200a可以包括不同数量的存储体。
地址寄存器220从存储器控制器30接收包括存储体地址BANK_ADDR、行地址ROW_ADDR和列地址COL_ADDR的地址ADDR和命令CMD。地址寄存器220可以将接收的存储体地址BANK_ADDR提供给存储体控制逻辑230,可以将接收到的行地址ROW_ADDR提供给行地址多路复用器240,并且可以将接收的列地址COL_ADDR提供给列地址锁存器250。
存储体控制逻辑230可以基于存储体地址BANK_ADDR生成存储体控制信号。可以基于存储体控制信号来激活对应于存储体地址BANK_ADDR的第一至第八存储体行解码器中的一个。可以基于存储体控制信号来激活对应于存储体地址BANK_ADDR的第一至第八存储体列解码器中的一个。
行地址多路复用器240可以从地址寄存器220接收行地址ROW_ADDR,并且可以从刷新计数器245接收刷新行地址REF_ADDR。行地址多路复用器240可选择性地输出行地址ROW_ADDR或刷新行地址REF_ADDR中的一个作为行地址RA。从行地址多路复用器240输出的行地址RA可以被施加到第一至第八存储体行解码器
第一至第八存储体行解码器中的激活的一个解码器可解码从行地址多路复用器240输出的行地址RA,并且可以激活对应于行地址RA的字线。例如,激活的存储体行解码器可以将字线驱动电压施加到对应于行地址RA的字线。
列地址锁存器250可以从地址寄存器220接收列地址COL_ADDR,并且可以临时地存储接收的列地址COL_ADDR。在一些实施例中,在突发模式下,列地址锁存器250可以生成从接收的列地址COL_ADDR递增(increment)的列地址。列地址锁存器250可以将临时存储或生成的列地址应用于第一至第八存储体列解码器
第一至第八存储体列解码器中的激活的一个可解码从列地址锁存器250输出的列地址COL_ADDR,并且可以控制输入/输出选通电路290,以便输出对应于列地址COL_ADDR或映射的列地址(Mapped Column Address,MCA)的数据。
I/O选通电路290包括用于选通输入/输出数据的电路。I/O选通电路290还包括用于存储从第一至第八存储体阵列输出的数据的读取数据锁存器和用于将数据写入到第一至第八存储体阵列的写入驱动器。
要从第一至第八存储体阵列中的一个存储体阵列中读取的数据可以由读出放大器来感测,并且可以存储在读取数据锁存器中,其中该读出放大器耦合到要从其读取数据的一个存储体阵列。存储在读取数据锁存器中的数据由ECC引擎400进行ECC解码,并且可以经由数据I/O缓冲器295提供给存储器控制器30。
要写入第一至第八存储体阵列中的一个的数据DQ和第一奇偶校验数据CRCd可以从存储器控制器30提供给数据I/O缓冲器295。数据DQ和第一奇偶校验数据CRCd被提供给写入驱动器。写入驱动器可以将数据DQ和第一奇偶校验数据CRCd分别写入第一至第八存储体阵列的一个存储体阵列中的第一存储区域和第二存储区域中。
控制逻辑电路210可以控制数据存储器200a的操作。例如,控制逻辑电路210可以生成用于数据存储器200a执行写入操作或读取操作的控制信号。控制逻辑电路210可以包括解码来自存储器控制器30的命令CMD的命令解码器211和设置数据存储器200a的操作模式的模式寄存器212。例如,命令解码器211可以通过对写使能信号(/WE)、行地址选通信号(/RAS)、列地址选通信号(/CAS)、芯片选择信号(/CS)等进行解码来生成对应于命令CMD的控制信号。
当数据存储器200a包括CRC校验器450时,CRC校验器450检测在发送数据DQ时可能出现的传输错误,并且向存储器控制器30发送指示在数据存储器200a的写入操作中已出现传输错误的警报信号ALRT。数据存储器200a可以例如通过专用引脚将警报信号ALRT发送到存储器控制器30。当存储器控制器30接收到使能的警报信号ALRT时,存储器控制器30再次将数据DQ和第一奇偶校验位CRCd发送到数据存储器200a。
CRC校验器450可以向I/O选通电路290提供指示是否出现错误的模式信号MS。当模式信号MS指示在发送的数据DQ中未出现错误时,I/O选通电路290将数据DQ和第一奇偶校验位CRCd写入对应的存储体阵列。当模式信号MS指示发送的数据DQ中已出现错误时,I/O选通电路290可以阻止将数据DQ和第一奇偶校验位CRCd写入对应的存储体阵列中。CRC校验器450可以采用CRC校验器70,例如,如图6中所示。
当数据存储器200a包括ECC引擎400时,ECC引擎400包括CRC校验器450,并且ECC引擎400执行上述操作。ECC引擎400可以包括ECC解码器,其基于存储在存储体阵列中的第一奇偶校验位CRCd对数据DQ执行ECC解码,并且在读取操作中检测/校正数据DQ的错误。
图8A至图8E示出了例如可以包括在图7的数据存储器中的存储单元的实施例。图8A至图8D示出了为电阻型存储单元的存储单元MC,图8E示出了为动态存储单元的存储单元MC。此外,图8A示出了没有选择元件的电阻型存储单元,而图8B至图8D示出了包括选择元件的电阻型存储单元。
参考图8A,存储单元MC包括连接到位线BTL和字线WL的电阻元件RE。这种没有选择元件的电阻存储单元可以基于施加在位线BTL和字线WL之间的电压来存储数据。
参考图8B,存储单元MC包括电阻元件RE和二极管D。电阻元件RE可以包括用于数据存储的电阻材料。二极管D可以是根据字线WL和位线BTL的偏置将电流供应给电阻元件RE或切断对电阻元件RE的电流供应的选择元件(或开关元件)。二极管D可以耦合在电阻元件RE和字线WL之间。电阻元件RE可以耦合在位线BTL和二极管D之间。二极管D和电阻元件RE的位置可以是可互换的。二极管D可以通过字线电压导通或截止。因此,在恒定电平或更高电平的电压被供应给未选择的字线WL的地方,电阻存储单元可不被驱动。
参考图8C,存储单元MC包括电阻元件RE和双向二极管BD。电阻元件RE可以包括用于数据存储的电阻材料。双向二极管BD可以耦合在电阻元件RE和字线WL之间。电阻元件RE可以耦合在位线BTL和双向二极管BD之间。双向二极管BD和电阻元件RE的位置可以是可互换的。双向二极管BD可以阻止流向未选择的半导体存储单元的泄漏电流。
参考图8D,存储单元MC包括电阻元件RE和晶体管CT。晶体管CT可以是根据字线WL的电压向电阻元件RE供应电流或切断对电阻元件RE的电流供应的选择元件(或开关元件)。晶体管CT可以耦合在电阻元件RE和字线WL之间。电阻元件RE可以耦合在位线BTL和晶体管CT之间。晶体管CT和电阻元件RE的位置可以是可互换的。可以取决于由字线WL驱动的晶体管CT是导通还是截止来选择或不选择半导体存储单元。
参考图8E,存储单元MC包括单元电容器CC和晶体管CT。晶体管CT可以是根据字线WL的电压将单元电容器CC连接到位线BTL/从位线BTL断开的选择元件(或开关元件)。晶体管CT可以耦合在单元电容器CC、字线WL和位线BTL之间。单元电容器CC可以耦合在晶体管CT和板极电压(plate voltage)之间。
图9示出了以图7中的STT-MRAM单元90形式的存储单元的实施例。参考图9,STT-MRAM单元90包括MTJ元件91和单元晶体管CT。单元晶体管CT的栅电极连接到字线WL,单元晶体管CT的一个电极通过MTJ元件91连接到位线BTL。单元晶体管CT的另一(第三)电极连接到源极线SL。
MTJ元件91包括在自由层92和被钉扎层(pinned layer)94之间的隧道层93。被钉扎层94的磁化方向可以是固定的。根据写入数据,自由层92的磁化方向可以与被钉扎层94的磁化方向平行或反平行(anti-parallel)。为了固定被钉扎层94的磁化方向,例如,可以进一步提供抗铁磁性层。
为了执行STT-MRAM单元90的写入操作,逻辑高电压被施加到字线WL以导通单元晶体管CT。编程电流,例如写入电流被施加到位线BTL和源极线SL。写入电流的方向由MTJ元件91的逻辑状态确定。
为了执行STT-MRAM单元90的读取操作,逻辑高电压被施加到字线WL以导通单元晶体管CT。读取电流被供应给位线BTL和源极线SL。因此,在MTJ元件91的不同端产生电压。此电压由读出放大器285a检测并与来自参考电压的参考电压比较以确定MTJ元件91的逻辑状态。因此,存储在MTJ元件91中的数据可以被检测。
图10示出了例如可以对应于图7的数据存储器中的第一存储体阵列的存储体阵列的实施例。参考图10,第一存储体阵列310包含多个字线 (m为大于2的自然数)、多个位线(n为大于2的自然数)、以及布置在字线和位线之间的交叉点附近的多个存储单元MC。在一个实施例中,每个存储单元MC可以包括动态随机存取存储器(DRAM)单元结构。连接到存储单元MC的字线可以对应于第一存储体阵列310的行。连接到存储单元MC的位线可以对应于第一存储体阵列310的列。
图11示出了图7的数据存储器中的第一存储体阵列和I/O选通电路的实施例。参考图11,数据存储器200a的第一存储体阵列310包括第一存储区域311和第二存储区域313。
I/O选通电路290包括多个开关291a、291b和291d。开关291a和291b连接到第一存储区域311,并且开关291d连接到第二存储区域313。I/O选通电路290从数据I/O缓冲器295接收数据集DQ_BL和与数据集DQ_BL相关联的第一奇偶校验位CRCd,将数据集DQ_BL存储在第一存储区域311中,并将第一奇偶校验位CRCd存储在第二存储区域313中。
当数据存储器200a包括图7中的CRC校验器450或ECC引擎400时,模式信号MS1被提供给开关291a、291b和291d。开关291a、291b和291d基于模式信号MS1而被导通/截止,以分别将数据集DQ_BL和第一奇偶校验位CRCd传送到第一存储区域311和第二存储区域313。或者,开关291a、291b和291d基于模式信号MS1而被导通/截止以阻塞将数据集DQ_BL和第一奇偶校验位CRCd传送到第一存储区域311和第二存储区域313。
图12示出了图2中的存储器模块中的奇偶校验存储器中的第一存储体阵列和I/O选通电路的实施例。参考图12,奇偶校验存储器200p的第一存储体阵列310p包括第一奇偶校验区域311p和第二奇偶校验区域313p。
I/O选通电路290p包括多个开关292a、292b和292d。开关292a和292b连接到第一奇偶校验区域311p。开关292d连接到第二奇偶校验区域313p。I/O选通电路290p从奇偶校验存储器200p的数据I/O缓冲器接收奇偶校验位SPRT和与奇偶校验位SPRT相关联的第二奇偶校验位CRCp,将奇偶校验位SPRT存储在第一奇偶校验区域311p中,并且将第二奇偶校验位CRCp存储在第二奇偶校验区域313p中。
当奇偶校验存储器200p包括图7中的CRC校验器450或ECC引擎400时,模式信号MS2被提供给开关292a、292b和292d。开关292a、292b和292d基于模式信号MS2而被导通/截止以将奇偶校验位SPRT和第二奇偶校验位CRCp分别传送到第一奇偶校验区域311p和第二奇偶校验区域313p。或者,开关292a、292b和292d基于模式信号MS2而被导通/截止以阻塞将奇偶校验位SPRT和第二奇偶校验位CRCp传送到第一奇偶校验区域311p和第二奇偶校验区域313p。
图13A示出了图7的数据存储器中的ECC引擎的实施例。参考图13A,ECC引擎400包括CRC校验器410和ECC解码器420。
CRC校验器410基于数据集DQ_BL和第一奇偶校验位CRCd检测在数据集DQ_BL被发送到数据存储器的同时可能出现的传输错误,当出现传输错误时,将警报信号ALERT发送到存储器控制器30,并且当出现传输错误时,将模式信号MS1提供给I/O选通电路290。CRC校验器410可以具有例如类似于图6中的CRC校验器70的配置。
在读取操作中,ECC解码器420分别从对应的存储体阵列的第一数据区域和第二数据区域读取数据集DQ_BL和第一奇偶校验位CRCd,使用多个第一奇偶校验位CRCd对数据集DQ_BL执行ECC解码,校正数据集DQ_BL的错误,并输出经校正的数据集DQ_BL'。CRC校验器410和ECC解码器420可以使用相同的纠错码。
图13B示出了图13A的ECC引擎中的ECC解码器的实施例。参考图13B,ECC解码器420包括校验位发生器421、比较器422和校正器423。
校验位发生器421接收64位的数据集DQ_BL,并且基于64位的数据集DQ_BL生成8位校验位Pc'。比较器422比较8位第一奇偶校验位CRCd和8位校验位Pc'的相应位,并生成指示错误是否出现和错误位置的校正子SDR3。校正器423接收64位的数据集DQ_BL,基于校正子SDR3校正数据集DQ_BL中的错误,并输出经校正的数据集DQ_BL'。
图14示出了在图2的存储器系统中执行的写入操作的实施例。参考图14,在写入操作中,存储器控制器30从主机15或从应用接收用户数据集SDQ,将用户数据集SDQ划分为对应于突发长度的多个数据集,并且顺序地提供所述数据集到CRC发生器。奇偶校验发生器(PRT发生器)50基于用户数据集SDQ生成奇偶校验位SPRT。CRC发生器40基于每个数据集DQ_BL生成第一奇偶校验位CRCd,并且基于奇偶校验位SPRT生成第二奇偶校验位CRCp。
存储器控制器30通过第一数据总线将对应于突发长度的数据集DQ_BL存储在每个数据存储器的第一存储区域中,并且将奇偶校验位SPRT存储在奇偶校验存储器200p的第一奇偶校验区域中。存储器控制器30通过第二数据总线将与数据集DQ_BL相关联的第一奇偶校验位CRCd存储在每个数据存储器的第二存储区域中,并且将与奇偶校验位SPRT相关联的第二奇偶校验位CRCp存储在奇偶校验存储器200p的第二奇偶校验区域中。
参考图3A和3B,在数据段DQ_BL_SG1存储在每个数据存储器 的第一存储区域中的同时,与数据段DQ_BL_SG1相关联的奇偶校验位PRT_BL1存储在奇偶校验存储器200p的第一奇偶校验区域中。在数据段DQ_BL_SG2被存储在每个数据存储器的第一存储区域中的同时,与数据段DQ_BL_SG2相关联的奇偶校验位PRT_BL2被存储在奇偶校验存储器200p的第一奇偶校验区域中。因此,要存储在第一存储区域中的数据段DQ_BL_SG和与数据段DQ_BL_SG相关联的奇偶校验位PRT_BL可以通过相同的地址来访问。
图15示出了在图2的存储器系统中执行的读取操作的实施例。参考图15,在读取操作中,每个数据存储器将对应于突发长度的数据集DQ_BL和第一奇偶校验位CRCd发送到存储器控制器30,并且奇偶校验存储器200p将与全部数据集DQ_BL相关联的奇偶校验位SPRT和第二奇偶校验位CRCp发送到存储器控制器30。
如参考图6所述,CRC/奇偶校验器60中的CRC校验器70基于第一奇偶校验位CRCd检测用于每个数据集DQ_BL的数据存储器中的至少一个的错误,并向奇偶校验器80提供指示是否出现错误的检测信号DS。奇偶校验器80确定至少一个检测到错误的数据存储器的错误的类型,反转(invert)至少一个检测到错误的数据存储器的数据,并将经校正的用户数据集SDQ'提供给主机15。
图16示出了在图2的存储器系统中执行的写入操作的实施例。图16中的存储器模块100a与图14中的存储器模块100的不同之处在于数据存储器中的每一个和奇偶校验存储器200p包括ECC引擎ECCE。
参考图16,在写入操作中,存储器控制器30从主机15接收用户数据集SDQ,并通过第一数据总线将对应于突发长度的数据集DQ_BL存储在每个数据存储器的第一存储区域中,并且将奇偶校验位SPRT存储在奇偶校验存储器200p的第一奇偶校验区域中。存储器控制器30通过第二数据总线将与数据集DQ_BL相关联的第一奇偶校验位CRCd存储在每个数据存储器的第二存储区域中,并将与奇偶校验位SPRT相关联的第二奇偶校验位CRCp存储在奇偶校验存储器200p的第二奇偶校验区域中。
如参考图13A所描述的,每个数据存储器中的ECC引擎ECCE的CRC校验器基于数据集DQ_BL和第一奇偶校验位CRCd来在数据集DQ_BL中检测传输错误,当数据集DQ_BL中没有出现传输错误时,将数据集DQ_BL存储在第一存储区域中,当在数据集DQ_BL中出现传输错误时,向存储器控制器30发出警报信号ALRT。此外,奇偶校验存储器200p中的ECC引擎ECCE的CRC校验器基于奇偶校验位SPRT和第二奇偶校验位CRCp检测奇偶校验位SPRT中的传输错误。
图17示出了在图2的存储器系统中执行的读取操作的实施例。图17中的存储器模块100a与图15中的存储器模块100的不同之处在于每个数据存储器和奇偶校验存储器200p都包括ECC引擎ECCE。
参考图17,如参考图13B所述,在读取操作中,每个数据存储器 中的ECC引擎ECCE中的ECC解码器基于从第一存储区域读取的数据集DQ_BL和从第二存储区域读取的第一奇偶校验位CRCd对数据集DQ_BL执行ECC解码,检测数据集DQ_BL的至少一个存储错误并校正检测到的错误。在这种情况下,ECC解码器的校正器校正数据集DQ_BL的错误,并将经校正的数据集DQ_BL'发送到存储器控制器。奇偶校验存储器200p的ECC引擎ECCE的ECC解码器基于第二奇偶校验位CRCp对奇偶校验位SPRT执行ECC解码,检测奇偶校验位SPRT的错误,校正奇偶校验位SPRT的错误,并发送经校正的奇偶校验位到存储器控制器30。
如参考图14至图17所述,根据示例性实施例的存储器模块100和100a可以通过存储用于检测每个数据存储器中的传输错误的第一奇偶校验位CRCd并存储与数据存储器中的所有数据集DQ_BL相关联的奇偶校验位SPRT来实现芯片猎杀技术(chip-kill technique)。存储器模块100和100a不需要附加CRC存储器来存储与数据集DQ_BL相关联的第一奇偶校验位,并且当数据存储器数量增加时不需要锁定步骤(lockstep)。因此,存储器模块100和100a可以提供增加的可靠性、可用性和可服务性。
图18示出了根据一个或多个上述实施例的用于操作存储器系统(例如,包含具有数据存储器和至少一个奇偶校验存储器200p的存储器模块100和存储器控制器30的存储器系统20)以控制存储器模块100的方法的实施例。
参考图18,根据此方法,存储器控制器30在每个数据存储器的第一存储区域311和第二存储区域313中分别存储对应于多个突发长度的数据集DQ_BL和用于与数据集DQ_BL相关联的错误检测/校正的第一奇偶校验位CRCd(S510)。
存储器控制器30在奇偶校验存储器200p的第一奇偶校验区域311p和第二奇偶校验区域313p中分别存储与对应于要存储在每个数据存储器 中的所有数据集DQ_BL的用户数据集SDQ相关联的奇偶校验位SPRT和用于与奇偶校验位SPRT相关联的错误检测/校正的第二奇偶校验位CRCp(S520)。在存储器控制器30将数据集DQ_BL存储在每个数据存储器中并将奇偶校验位SPRT存储在奇偶校验存储器200p中期间,ECC引擎ECCE检测传输错误并当检测到传输错误时将警报信号ALRT发送到存储器控制器30。
存储器控制器30从每个数据存储器读取数据集DQ_BL和第一奇偶校验位CRCd,并且基于第一奇偶校验位CRCd检测数据存储器中的任一个是否具有的错误(S530)。当在至少一个数据存储器中检测到错误时,存储器控制器30基于检测到错误的数据存储器的数据集和从奇偶校验存储器200p读取的奇偶校验位SPRT来确定错误的类型(S540)。存储器控制器30基于该确定来反转检测到错误的数据存储器的数据集DQ_BL(S550)。
图19示出了可以包括第一至第s半导体集成电路层LA1至LAs(s是大于2的自然数)的存储器件800的实施例。最低的第一半导体集成电路层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的命令缓冲器8104、以及用于从存储器控制器接收地址的地址缓冲器8105。
第一半导体集成电路层810还可以包括控制逻辑电路8107以访问存储区域821并且基于来自存储器控制器的命令生成用于访问存储区域821的控制信号。
第s半导体集成电路层820可以包括存储区域821和对存储区域821的数据执行ECC解码和奇偶校验的ECC引擎822。外围区域可以包括外围电路,诸如行解码器、列解码器和用于在存储区域821中写入/读取数据的位线读出放大器。
如参考图2至图18所述,存储区域821包括存储对应于多个突发长度的数据集的第一存储区域和存储用于与数据集相关联的错误检测/校正的第一奇偶校验位的第二数据区域。半导体存储器件800可以用作图2中的存储器模块100中的数据存储器200a或奇偶校验存储器200p。
在一些实施例中,在存储器件800中提供三维(3D)存储器阵列。3D存储器阵列单片地(monolithically)形成在具有硅衬底上方的有源区域的存储单元阵列的一个或多个物理层级中,并且电路与这些存储单元的操作相关联,无论这种相关联的电路是在该衬底之上或之内。术语“单片”可以对应于阵列的每个层级的层,其直接沉积在阵列的每个底层级的层上。
图20示出了包括根据前述实施例中任一个的存储器件的计算系统900的实施例。参考图20,计算系统900包括处理器910、系统控制器920和存储器系统930。计算系统900还可以包括处理器总线940、扩展总线950、输入设备960、输出设备970和储存设备980。存储器系统930包括至少一个存储器模块932和用于控制存储器模块932的存储器控制器931。存储器控制器931可以包括在系统控制器920中。
处理器910可以执行各种计算功能,诸如运行用于执行特定计算或任务的特定软件。存储器控制器931可以控制存储器模块932以执行从处理器910提供的命令。存储器模块932可以存储从存储器控制器931提供的数据,并且可以将存储的数据提供给存储器控制器931。存储器模块932可以使用存储器模块100或存储器模块100a并且可以提供增加的可靠性、可用性和可服务性。
本文描述的方法、过程和/或操作可以由将由计算机、处理器、控制器或其它信号处理设备运行的代码或指令执行。计算机、处理器、控制器或其它信号处理设备可以是本文所描述的那些或除了在此描述的元件之外的器件。因为详细描述了形成方法(或计算机、处理器、控制器或其它信号处理设备的操作)的基础的算法,所以用于实现方法实施例的操作的代码或指令可以将计算机、处理器、控制器或其它信号处理设备转换成用于执行本文中的方法的专用处理器。
本文公开的实施例的控制器、处理器、发生器和其它信号生成和信号处理特征可以以例如可以包括硬件、软件或两者的逻辑来实现。当至少部分地以硬件实现时,控制器、处理器、发生器和其它信号生成和信号处理特征可以是例如各种集成电路中的任何一种,包括但不限于专用集成电路、现场可编程门阵列、逻辑门的组合、片上系统、微处理器或其它类型的处理或控制电路。
当至少部分地以软件实现时,控制器、处理器、发生器和其它信号生成和信号处理特征可以包括例如用于存储要由例如计算机、处理器、微处理器、控制器或其它信号处理设备执行的代码或指令的存储器或其它储存设备。计算机、处理器、微处理器、控制器或其它信号处理设备可以是本文所描述的那些或除了在此描述的元件之外的器件。因为详细描述了形成方法(或计算机、微处理器、控制器或其它信号处理设备的操作)的基础的算法,所以用于实现方法实施例的操作的代码或指令可以使计算机、处理器、控制器或其它信号处理设备转换成用于执行本文描述的方法的专用处理器。
根据上述实施例中的一个或多个,存储器模块和存储器系统可以通过将第一奇偶校验位存储在每个数据存储器中并存储与所有数据集相关联的奇偶校验位来实现芯片猎杀技术。因此,可以在没有用于增加数量的数据存储器的锁定步骤配置的情况下实现增加的可靠性、可用性和可服务性。
本实施例可以应用于使用存储器模块的系统。这些系统的示例包括但不限于移动电话机、智能电话机、个人数字助理(PDA)、便携式多媒体播放器(PMP)、数字相机、摄像机、个人计算机(PC)、服务器计算机、工作站、膝上型计算机、数字TV、机顶盒、便携式游戏机、导航系统等。
本文已经公开了示例实施例,并且尽管采用了特定术语,但是它们被使用并且仅在通用和描述性意义上被解释,而不是为了限制的目的。在一些情况下,如本申请的提交的本领域普通技术人员所显而易见的,结合特定实施例描述的特征、特性和/或元件可以单独使用或与结合其它实施例描述的特征、特性和/或元件组合使用,除非另有指示。因此,在不脱离权利要求中阐述的实施例的精神和范围的情况下,可以进行形式和细节上的各种改变。

Claims (19)

1.一种存储器模块,包括:
多个数据存储器;和
至少一个奇偶校验存储器,其中:
所述多个数据存储器中的每一个包括:第一存储单元阵列,其包含第一存储区域和第二存储区域,其中,所述第一存储区域用于存储对应于多个突发长度的数据集,所述第二存储区域用于存储用于执行与所述数据集相关联的错误检测/校正的第一奇偶校验位,
所述至少一个奇偶校验存储器包括:第二存储单元阵列,其包括第一奇偶校验区域和第二奇偶校验区域,其中,所述第一奇偶校验区域用于存储与对应于存储在所述多个数据存储器中的每一个中的所有数据集的用户数据集相关联的第三奇偶校验位,而所述第二奇偶校验区域用于存储用于与所述第三奇偶校验位相关联的错误检测/校正的第二奇偶校验位。
2.如权利要求1所述的存储器模块,其中:
所述第一奇偶校验位用于检测所述多个数据存储器中的一个或多个中的错误,以及
所述第三奇偶校验位用于校正在所述多个数据存储器中的一个或多个中检测到的错误。
3.如权利要求2所述的存储器模块,其中,所述多个数据存储器中的一个或多个中的错误是:
在向所述多个数据存储器中的每一个发送数据集时出现的传输错误,或
在所述数据集被存储到所述多个数据存储器的每一个中时出现的存储错误。
4.如权利要求1所述的存储器模块,其中,所述多个数据存储器中的每一个包括:
循环冗余校验(CRC)校验器,用于基于数据集计算数据校验位,比较所述数据校验位和所述第一奇偶校验位,并且基于比较结果选择性地将所述数据集存储到所述第一存储区域中。
5.如权利要求4所述的存储器模块,其中,所述CRC校验器用于:
当基于比较结果所述数据校验位和所述第一奇偶校验位的对应位中的至少一个不相等时,向外部存储器控制器发送警报信号;以及
再次从所述存储器控制器接收所述数据集和所述第一奇偶校验位。
6.如权利要求1所述的存储器模块,其中,所述多个数据存储器中的每一个包括:
纠错码(ECC)引擎,包括循环冗余校验(CRC)校验器,所述CRC校验器用于基于数据集计算数据校验位,比较所述数据校验位和所述第一奇偶校验位,并且基于比较结果选择性地将所述数据集存储到所述第一存储区域中。
7.如权利要求6所述的存储器模块,其中,所述ECC引擎包括:
ECC解码器,用于在所述数据存储器的读取操作中基于从所述第二存储区域读取的所述第一奇偶校验位来校正从所述第一存储区域读取的数据集的错误。
8.如权利要求7所述的存储器模块,其中,所述CRC校验器和所述ECC解码器使用相同的纠错码。
9.如权利要求1所述的存储器模块,其中:
所述第一存储单元阵列和所述第二存储单元阵列中的每一个包括多个动态存储单元或多个电阻型存储单元,
所述第一存储单元阵列和所述第二存储单元阵列中的每一个包括三维存储单元阵列,以及
所述存储器模块包括双列直插存储器模块(DIMM)。
10.一种存储器系统,包括:
存储器模块,包含多个数据存储器和至少一个奇偶校验存储器;和
存储器控制器,用于控制存储器模块,其中:
所述多个数据存储器中的每一个包含:第一存储单元阵列,其包含第一存储区域以及第二存储区域,所述第一存储区域用于存储对应于多个突发长度的数据集,所述第二存储区域用于存储用于执行与所述数据集相关联的错误检测/校正的第一奇偶校验位,
所述至少一个奇偶校验存储器包含:第二存储单元阵列,其包含第一奇偶校验区域和第二奇偶校验区域,所述第一奇偶校验区域用于存储与对应于存储在所述多个数据存储器中的每一个中的所有数据集的用户数据集相关联的第三奇偶校验位,所述第二奇偶校验区域用于存储用于与所述第三奇偶校验位相关联的错误检测/校正的第二奇偶校验位,以及
所述存储器控制器包含:
循环冗余校验(CRC)发生器,用于基于所述数据集的每一个生成所述第一奇偶校验位,并且基于所述第三奇偶校验位生成所述第二奇偶校验位;以及
奇偶校验发生器,用于基于所述用户数据集生成所述第三奇偶校验位。
11.如权利要求10所述的存储器系统,其中,所述存储器控制器包含:
CRC/奇偶校验器,用于基于从所述多个数据存储器中的每一个读取的所述第一奇偶校验位来检测所述多个数据存储器中的一个或多个中的错误,并在所述多个数据存储器的读取操作中,基于从所述奇偶校验存储器读取的所述第三奇偶校验位来校正在所述多个数据存储器中的一个或多个中的检测到的错误。
12.如权利要求11所述的存储器系统,其中,所述存储器控制器用于控制在其中检测到错误的多个数据存储器中的一个或多个的数据。
13.如权利要求10所述的存储器系统,其中,所述多个数据存储器中的每一个包含:
CRC校验器,用于基于所述数据集计算数据校验位,比较所述数据校验位和所述第一奇偶校验位,并且基于比较结果选择性地将所述数据集存储到所述第一存储区域中。
14.如权利要求13所述的存储器系统,其中,所述CRC校验器用于:
当基于比较结果所述数据校验位和所述第一奇偶校验位的对应位中的至少一个不相等时,向所述存储器控制器发送警报信号,并再次从所述存储器控制器接收所述数据集和所述第一奇偶校验位。
15.如权利要求10所述的存储器系统,其中,所述多个数据存储器中的每一个包含:
纠错码(ECC)引擎,包含:CRC校验器,用于基于所述数据集计算数据校验位,比较所述数据校验位和所述第一奇偶校验位,并根据比较结果选择性地将所述数据集存储到所述第一存储区域中。
16.如权利要求15所述的存储器系统,其中,所述ECC引擎包含:ECC解码器,用于在所述数据存储器的读取操作中使用从所述第二存储区域读取的所述第一奇偶校验位来校正从所述第一存储区域读取的数据集的错误。
17.一种存储器模块,包括:
第一数据存储器;
第二数据存储器;和
至少一个奇偶校验存储器,其中:
所述第一数据存储器和所述第二数据存储器中的每一个包括用于存储对应于多个突发长度的数据集的第一存储区域和用于存储用于数据集的第一奇偶校验位的第二存储区域,
所述至少一个奇偶校验存储器包括第一奇偶校验区域和第二奇偶校验区域,所述第一奇偶校验区域用于存储对应于用户数据集的第三奇偶校验位,而所述第二奇偶校验区域用于存储用于第三奇偶校验位的第二奇偶校验位。
18.如权利要求17所述的存储器模块,其中:
所述第一奇偶校验位用于检测在所述第一数据存储器和所述第二数据存储器中的一个或多个中的错误,以及
所述第二奇偶校验位用于校正在所述第一数据存储器和所述第二数据存储器中的一个或多个中检测到的错误。
19.如权利要求18所述的存储器模块,其中,所述错误是:
数据传输错误,或
与数据集的存储对应的存储错误。
CN201711096816.9A 2016-11-30 2017-11-09 存储器模块、存储器系统和操作存储器系统的方法 Active CN108121617B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2016-0161528 2016-11-30
KR1020160161528A KR20180061870A (ko) 2016-11-30 2016-11-30 메모리 모듈, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법

Publications (2)

Publication Number Publication Date
CN108121617A true CN108121617A (zh) 2018-06-05
CN108121617B CN108121617B (zh) 2022-06-07

Family

ID=62191139

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711096816.9A Active CN108121617B (zh) 2016-11-30 2017-11-09 存储器模块、存储器系统和操作存储器系统的方法

Country Status (3)

Country Link
US (1) US10404286B2 (zh)
KR (1) KR20180061870A (zh)
CN (1) CN108121617B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110852432A (zh) * 2018-07-24 2020-02-28 三星电子株式会社 对象识别装置、电子装置和识别对象的方法
CN111090538A (zh) * 2018-10-24 2020-05-01 三星电子株式会社 存储器模块及操作包括该存储器模块的存储器系统的方法
CN111179999A (zh) * 2018-11-09 2020-05-19 三星电子株式会社 半导体存储器件、存储系统和操作半导体存储器件的方法
CN111352765A (zh) * 2018-12-24 2020-06-30 爱思开海力士有限公司 控制器及存储器系统
CN112748870A (zh) * 2019-10-29 2021-05-04 爱思开海力士有限公司 存储器系统、存储器控制器及操作存储器控制器的方法
CN112867992A (zh) * 2018-10-05 2021-05-28 德州仪器公司 检测地址错误的系统、方法及设备

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10831653B2 (en) 2018-05-15 2020-11-10 Micron Technology, Inc. Forwarding code word address
US11003375B2 (en) * 2018-05-15 2021-05-11 Micron Technology, Inc. Code word format and structure
CN109358981B (zh) * 2018-09-25 2022-07-05 珠海市杰理科技股份有限公司 存储器读取错误纠正方法、系统、计算机设备和存储介质
US11061771B2 (en) 2019-03-01 2021-07-13 Micron Technology, Inc. Extended error detection for a memory device
US11522015B2 (en) 2019-07-19 2022-12-06 Samsung Electronics Co., Ltd. Variable resistance memory device
JP2021047527A (ja) * 2019-09-17 2021-03-25 キオクシア株式会社 メモリシステム
KR20210089016A (ko) 2020-01-07 2021-07-15 삼성전자주식회사 메모리 컨트롤러 및 메모리 시스템
KR20210147131A (ko) * 2020-05-27 2021-12-07 삼성전자주식회사 반도체 메모리 모듈을 액세스하는 방법
CN115904794A (zh) * 2021-08-18 2023-04-04 华为技术有限公司 一种数据处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102651240A (zh) * 2011-02-25 2012-08-29 阿尔特拉公司 检错和纠错电路
CN102903394A (zh) * 2011-07-26 2013-01-30 爱思开海力士有限公司 半导体存储装置和具有半导体存储装置的半导体系统
US20140317469A1 (en) * 2013-04-19 2014-10-23 Young-Soo Sohn Memory device for performing error correction code operation and redundancy repair operation
CN104246706A (zh) * 2011-11-18 2014-12-24 桑迪士克企业知识产权有限责任公司 使用存储器特定奇偶校验矩阵的数据编码器和解码器

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6457154B1 (en) 1999-11-30 2002-09-24 International Business Machines Corporation Detecting address faults in an ECC-protected memory
JP2006323434A (ja) 2005-05-17 2006-11-30 Nec Corp データ処理装置及びそのメモリ訂正方法
US9171585B2 (en) * 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
JP5045242B2 (ja) 2007-05-30 2012-10-10 富士通セミコンダクター株式会社 半導体メモリ、半導体メモリの動作方法およびシステム
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8553466B2 (en) 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
US9536970B2 (en) 2010-03-26 2017-01-03 Samsung Electronics Co., Ltd. Three-dimensional semiconductor memory devices and methods of fabricating the same
US8566669B2 (en) 2010-07-07 2013-10-22 Ocz Technology Group Inc. Memory system and method for generating and transferring parity information
KR101682666B1 (ko) 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
US9588840B2 (en) * 2013-04-18 2017-03-07 Samsung Electronics Co., Ltd. Memory devices that perform masked write operations and methods of operating the same
US20140317471A1 (en) * 2013-04-18 2014-10-23 Samsung Electronics Co., Ltd. Semiconductor memory devices including separately disposed error-correcting code (ecc) circuits
US9389957B2 (en) 2013-09-03 2016-07-12 Kabushiki Kaisha Toshiba Memory controller, memory system, and memory control method
US9396064B2 (en) 2014-04-30 2016-07-19 Freescale Semiconductor, Inc. Error correction with secondary memory
US9772900B2 (en) 2014-07-10 2017-09-26 Samsung Electronics Co., Ltd. Tiered ECC single-chip and double-chip Chipkill scheme

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102651240A (zh) * 2011-02-25 2012-08-29 阿尔特拉公司 检错和纠错电路
CN102903394A (zh) * 2011-07-26 2013-01-30 爱思开海力士有限公司 半导体存储装置和具有半导体存储装置的半导体系统
CN104246706A (zh) * 2011-11-18 2014-12-24 桑迪士克企业知识产权有限责任公司 使用存储器特定奇偶校验矩阵的数据编码器和解码器
US20140317469A1 (en) * 2013-04-19 2014-10-23 Young-Soo Sohn Memory device for performing error correction code operation and redundancy repair operation

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110852432A (zh) * 2018-07-24 2020-02-28 三星电子株式会社 对象识别装置、电子装置和识别对象的方法
CN112867992A (zh) * 2018-10-05 2021-05-28 德州仪器公司 检测地址错误的系统、方法及设备
CN111090538A (zh) * 2018-10-24 2020-05-01 三星电子株式会社 存储器模块及操作包括该存储器模块的存储器系统的方法
CN111179999A (zh) * 2018-11-09 2020-05-19 三星电子株式会社 半导体存储器件、存储系统和操作半导体存储器件的方法
CN111352765A (zh) * 2018-12-24 2020-06-30 爱思开海力士有限公司 控制器及存储器系统
CN111352765B (zh) * 2018-12-24 2023-11-03 爱思开海力士有限公司 控制器及存储器系统
US11953990B2 (en) 2018-12-24 2024-04-09 SK Hynix Inc. Controller and memory system
CN112748870A (zh) * 2019-10-29 2021-05-04 爱思开海力士有限公司 存储器系统、存储器控制器及操作存储器控制器的方法

Also Published As

Publication number Publication date
US20180152206A1 (en) 2018-05-31
KR20180061870A (ko) 2018-06-08
US10404286B2 (en) 2019-09-03
CN108121617B (zh) 2022-06-07

Similar Documents

Publication Publication Date Title
CN108121617A (zh) 存储器模块、存储器系统和操作存储器系统的方法
US11239960B2 (en) Characterization of in-chip error correction circuits and related semiconductor memory devices/memory systems
US10929225B2 (en) Semiconductor memory devices, memory systems including the same and methods of operating memory systems
CN107393596B (zh) 半导体存储设备和操作其的方法
US10198221B2 (en) Methods of operating semiconductor memory devices with selective write-back of data for error scrubbing and related devices
US10868570B2 (en) Error detection code generation circuits of semiconductor devices, memory controllers including the same and semiconductor memory devices including the same
US10671478B2 (en) Scrubbing controllers of semiconductor memory devices, semiconductor memory devices and methods of operating the same
US9805827B2 (en) Semiconductor memory devices, memory systems including the same and methods of operating the same
US10127102B2 (en) Semiconductor memory devices and memory systems including the same
US20180060194A1 (en) Semiconductor Memory Devices with Error Correction and Methods of Operating the Same
US10423483B2 (en) Semiconductor memory device and method for controlling write timing of parity data
TWI613666B (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