CN107924698B - Dram设备、错误校正管理的方法和存储器控制器 - Google Patents

Dram设备、错误校正管理的方法和存储器控制器 Download PDF

Info

Publication number
CN107924698B
CN107924698B CN201680050178.4A CN201680050178A CN107924698B CN 107924698 B CN107924698 B CN 107924698B CN 201680050178 A CN201680050178 A CN 201680050178A CN 107924698 B CN107924698 B CN 107924698B
Authority
CN
China
Prior art keywords
memory
read
dram
bits
dram device
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
CN201680050178.4A
Other languages
English (en)
Other versions
CN107924698A (zh
Inventor
J.B.哈尔伯特
K.S.拜因斯
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN107924698A publication Critical patent/CN107924698A/zh
Application granted granted Critical
Publication of CN107924698B publication Critical patent/CN107924698B/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/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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/095Error detection codes other than CRC and single parity bit 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/65Purpose and implementation aspects
    • H03M13/6566Implementations concerning memory access contentions
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells

Abstract

校验位读取模式使得存储器设备能够向相关联的主机提供内部校验位。存储器子系统的存储器控制器可以为存储器子系统的存储器设备生成一个或多个读取命令。该读取命令可以包括地址位置信息。该存储器设备包括具有用地址位置信息可寻址的存储器位置的存储器阵列。该存储器位置具有相关联的数据和内部校验位,在这里该校验位是由存储器在内部生成地以用于错误校正。如果存储器设备被配置用于校验位读取模式,则它响应于读取命令发送与所标识的地址位置相关联的内部校验位。如果存储器设备没有被配置成校验位读取模式,则它在不暴露内部校验位的情况下响应于读取命令返回数据。

Description

DRAM设备、错误校正管理的方法和存储器控制器
相关申请
本专利申请是基于2015年8月28日提交的美国临时申请No.62/211,448的非临时申请。本申请要求保护该临时申请的优先权的权益。通过引用将该临时申请合并于此。
本专利申请与以下两个专利申请(它们也要求保护对上面标识的相同美国临时申请的优先权)有关:题为“MEMORY DEVICE ERROR CHECK AND SCRU B MODE AND ERRORTRANSPARENCY”的专利申请No. TBD [P93259];以及题为“MEMORY DEVICE ON-DIE ECC(ERROR CHECKING AND CORRECTING) CODE”的专利申请No. TBD [P93260],这两者与本专利申请同时提交。
技术领域
该描述通常涉及存储器管理,并且更特别地,描述涉及具有执行内部错误校正的存储器设备的存储器子系统中的错误校正。
版权声明/许可
该专利文档的公开内容的部分可能包含受到版权保护的材料。版权所有人不反对任何人如其出现在专利商标局专利文件或者记录中那样复制此专利文档或者专利公开内容,但是另外保留无论什么样的一切版权。该版权声明适用于如下面描述以及对于其的附图中的所有数据,以及在下面描述的任何软件:版权©2015,英特尔公司,保留所有权利。
背景技术
易失性存储器资源在当前计算平台中得到了普遍的使用,无论是用于服务器、台式或膝上型计算机、移动设备以及消费类和商务类电子设备。DRAM(动态随机存取存储器)设备是使用中最常见的存储器设备类型。然而,预计DRAM错误会增加,因为生产DRAM的制造工艺继续向更小的几何图形规模发展。用于解决增加的DRAM错误的一种技术是采用片上(on-die)ECC(错误校验和校正)。片上ECC指的是对驻留在存储器设备自身上的错误检测和校正逻辑。利用片上ECC逻辑,DRAM可以校正单比特失效,诸如通过单错误校正(SEC)或单错误校正双错误检测(SECDED)技术。除了系统级ECC之外还可以使用片上ECC,但是系统级ECC没有深入了解已经在存储器设备级执行了什么错误校正。然而,提供由DRAM执行的错误校正的细节将暴露关于DRAM的设计和操作的敏感数据。
附图说明
下面的描述包括对具有以实现本发明的实施例的示例的方式给出的说明的附图的讨论。应该以示例的方式而不是以限制的方式来理解绘图。如在本文中所使用的,对一个或多个“实施例”的参考要被理解为描述本发明的至少一个实现中包括的特定特征、结构和/或特性。因此,诸如在本文中出现的“在一个实施例中”或“在备选实施例中”的短语描述本发明的各个实施例和实现,并且不一定所有都指代相同实施例。然而,它们也不一定是相互排斥的。
图1是在其中存储器设备以校验位读取模式向主机暴露内部校验位的系统的实施例的框图。
图2是以受模式寄存器控制的模式存储可用于发送给主机的ECC位的系统的实施例的框图。
图3A是启用校验位读取模式的模式寄存器的实施例的框图。
图3B是包括当处于校验位读取模式时可以触发存储器设备以返回内部校验位的读取命令的读取命令的实施例的框图。
图4是校验位读取模式的实施例的计时图。
图5是在经由校验位读取模式生成可用于主机的内部校验位的存储器设备处的逻辑的实施例的框图。
图6是用于以校验位读取模式将内部错误校正信息从存储器设备提供给主机的过程的实施例的流程图。
图7是在其中可以实施校验位读取模式来读取内部校验位的计算系统的实施例的框图。
图8是在其中可以实施校验位读取模式来读取内部校验位的移动设备的实施例的框图。
之后是某些细节和实现的描述,包括对可描绘下面描述的一些实施例或所有实施例的附图的描述,以及讨论本文中给出的发明概念的其他潜在实施例或实现。
具体实施方式
如本文中所描述的,校验位读取模式使得存储器设备能够将所选错误校正信息提供给相关联的主机。也就是说,在一个实施例中,存储器设备生成并存储用于在存储器设备内部的错误校正中使用的内部校验位。该校验位指的是用于在确定或标识错误校正操作中的错误中使用的码位。在一个实施例中,该校验位是奇偶校验位。例如,该校验位可以是由执行基于矩阵的错误校正产生的ECC(错误校正编码)位。在一个实施例中,校验位是被用来生成校验子(syndrome)以与错误校正中的H矩阵相比较的位。在一个实施例中,校验位是实施汉明操作所需的码位。在一个实施例中,每个存储器位置都存储针对相关联的数据位的校验位。
响应于校验位读取模式中的读取命令,存储器设备可以将内部校验位返回给主机。存储器子系统的存储器控制器可以为存储器子系统的存储器设备生成一个或多个读取命令。该读取命令可以包括地址位置信息。该存储器设备包括具有利用地址位置信息可寻址的存储器位置的存储器阵列。该存储器位置具有相关联的数据和内部校验位,在这里该校验位是由存储器为了内部错误校正在内部生成的。如果存储器设备被配置用于校验位读取模式,则响应于读取命令,它发送与所标识的地址位置相关联的内部校验位。在一个实施例中,如果存储器设备没有被配置校验位读取模式,则它在不暴露内部校验位的情况下响应于读取命令返回数据。在一个实施例中,响应于校验位读取模式中的读取命令,存储器设备通过一个读取突发(burst)来返回校验位,并且直接在校验位读取突发之前或之后的单独读取突发中返回数据位或码字位。
主机可以利用内部校验位来改进存储器子系统的系统级RAS(可靠性、可访问性和可服务性)。因此,通过存储器控制器访问以及存储器设备提供对内部校验位的访问,系统作为一个整体可以执行改进的错误校正。将会理解,存储器设备可以在不提供对敏感信息(诸如标识存储器设备的错误位的内部校正数据)的访问的情况下提供校验位。在一个实施例中,存储器子系统实现从存储器设备交换内部校验位,这只能提供关于存储设备级处的校正的选定信息。具体来说,通过为经过校正的数据生成校验位并将此类校验位提供给主机或存储器控制器,存储器设备可以向存储器控制器提供校验位,对于已内部校正的单比特错误(SBE)状况和无错误状况,该校验位将是不可区分的。
因此,校验位读取模式在不展现私有信息的情况下使得存储器控制器能够访问可以改进系统级错误校正的错误校正信息。在一个实施例中,存储器控制器可以从校验位提取多位错误信息,并且应用该多位信息来确定如何将ECC应用于系统(例如通过知道在存储器中哪里出现错误)。在一个实施例中,存储器控制器将来自存储器设备的内部校验位使用作出用于改进针对多位错误的SDDC(单设备数据校正)ECC操作的元数据。
在一个实施例中,校验位读取模式可以被称为CBRD模式。在一个实施例中,典型的读取命令(RD)导致存储器设备返回数据位的突发长度(例如8个循环的突发长度,或BL8)。在一个实施例中,当模式寄存器(例如MRy)具有一个或多个位集合(例如位A[x])时,相同的RD命令促使存储器设备返回与被寻址用于读取循环的列地址(CA)相关联的内部ECC校验位。在一个实施例中,存储器设备在最低地址信号线(DQ[0])上返回校验位。将会理解,可以备选地使用不同信号线。因此,当校验位的数目等于突发长度的循环的数目时(例如BL8和8个校验位),突发长度的每个循环可以返回一个校验位。在存在不同数目的校验位和突发循环的实施例中(例如在这里使用BLN,并且使用M个校验位,在这里N和M是整数,并且M≠N),则可以执行不同校验位返回操作。例如,在M>N的情况下,可以使用多于一个的数据总线信号线。作为另一示例,在M<N的情况下,可以发送对于多个第一循环中的每一个的一个或多个校验位,并且然后附加突发循环可以不包括校验位。
在一个实施例中,在将所选信号线(例如单信号线,诸如DQ[0])用于发送校验位的情况下,可以将其他信号线驱动至逻辑‘1’。例如,在一个实施例中,BL8与8个校验位一起使用。对于不同接口配置,不同的信号线可以保持为高。例如a x4配置指的是对于每个连接的存储器设备或DRAM(动态随机存取存储器设备)数据总线宽度为4位。其他常见接口配置包括x8(8位宽接口)和x16(16位宽接口)。对于许多存储器子系统实现来说,x32、(32位宽接口)的配置目前并不常见。在一个实施例中,对于x4、x8、和xl6的配置,DRAM将在传送校验位的同时分别将DQ[1:3] 、DQ[1:7] 、或DQ[1:15]保持在逻辑‘1’。
在一个实施例中,存储器设备支持多种不同类型的读取命令(例如参见下面图3B的讨论)。在一个实施例中,仅标准读取命令(RD)被限定成支持CBRD模式。在此类实施例中,其他读取命令类型或其他类型的命令(诸如写入命令)将导致错误。在一个实施例中,在处于CBRD模式的同时响应于另一类型的命令,存储器设备将忽略CBRD模式并且返回数据。
对存储器设备的参考可以应用于不同存储器类型。存储器设备通常指的是易失性存储器技术。易失性存储器是如果中断到设备的电力则其状态(以及因此存储在其上的数据)处于不确定的存储器。非易失性存储器指的是即使中断到设备的电力则其状态也处于确定的存储器。动态易失性存储器需要刷新存储在设备中的数据以保持状态。动态易失性存储器的一个示例包括DRAM(动态随机存取存储器)、或一些变体(诸如同步DRAM(SDRAM))。本文中描述的存储器子系统可以与许多存储器技术(诸如DDR3(双倍数据速率版本3,最初由JEDEC(联合电子器件工程委员会)在2007年6月27日发布,当前是发布21)、DDR4(DDR版本4,由JEDEC在2012年9月公布的最初规范)、DDR4E(扩展的DDR版本4,当前处于由JEDEC讨论中)、LPDDR3(低功率DDR版本3,JESD209-3B,由JEDEC在2013年8月公布)、LPDDR4(低功率双倍数据速率(LPDDR)版本4,JESD209-4,最初由JEDEC在2014年8月公布)、WIO2(宽I/O 2(宽IO2)JESD229-2,最初由JEDEC在2014年8月公布)、HBM(高带宽存储器DRAM,JESD235,最初由JEDEC在2013年10月公布)、DDR5(DDDR版本5,当前处于由JEDEC的讨论中)、LPDDR5(当前处于由JEDEC的讨论中)、HBM2(HBM版本2,当前处于由JEDEC的讨论中)、和/或其他,以及基于此类规范的衍生或扩展的技术兼容。
在一个实施例中,除了易失性存储器之外或者作为对易失性存储器的替换,对存储器设备的参考可以指代即使中断到设备的电力其状态也处于确定的非易失性存储器设备。在一个实施例中,非易失性存储器设备是块可寻址存储器设备,诸如NAND或NOR技术。因此,存储器设备还可以包括下一代非易失性设备(诸如三维交叉点存储器设备)、或其他字节可寻址非易失性存储设备、或使用硫系相变材料(例如硫系玻璃)的存储器设备。在一个实施例中,存储器设备可以是或者包括多阈值级NAND闪速存储器、NOR闪速存储器、单级或多级相变存储器(PCM)、电阻型存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、结合忆阻器技术的磁阻随机存取存储器(MRAM)存储器、或旋转移矩(STT)-MRAM、或上述任任意的组合、或者其他存储器。
本文中提及“DRAM”的描述可以应用于允许随机存取的任何存储器设备,不管是易失性的还是非易失性的。存储器设备或DRAM可以指代管芯自身和/或封装的存储器产品。
图1是在其中存储器设备以校验位读取模式向主机暴露内部校验位的系统的实施例的框图。系统100包括计算设备中的存储器子系统的元件。处理器110表示执行操作系统(OS)和应用程序的主机计算平台(其可以被统称为对于存储器的“主机”)的处理单元。该OS和应用程序执行导致存储器存取的操作。处理器110可以包括一个或多个单独处理器。每个单独处理器都可以包括单和/或多核处理单元。处理单元可以是主处理器(诸如CPU(中央处理单元))和/或外围处理器(诸如GPU(图形处理器单元))。系统100可以被实施为SOC,或者与独立部件一起实施。
存储器控制器120表示用于系统100的一个或多个存储器控制器电路或设备。存储器控制器120表示响应于由处理器110执行操作生成存储器存取命令的控制逻辑。存储器控制器120访问一个或多个存储器设备140。根据上面提到的任何内容,存储器设备140可以是DRAM。在一个实施例中,存储器设备140被组织和管理为不同通道,在这里每个通道都耦合至总线和信号线,该总线和信号线并行耦合至多个存储器设备。每个通道都可独立操作。因此,每个通道都是独立访问且控制的,并且对于每个通道来说,计时、数据传递、命令和地址交换、以及其他操作都是分开的。在一个实施例中,由单独模式寄存器或其他寄存器设置来控制对于每个通道的设置。在一个实施例中,每个存储器控制器120管理一个单独存储器通道,尽管系统100可以被配置成具有由单个控制器管理的多个通道,或者在单个通道上具有多个控制器。在一个实施例中,存储器控制器120是主机处理器110的一部分,诸如在相同片上实施的或者在与处理器相同的封装空间中实施的逻辑。
存储器控制器120包括耦合至系统总线的I/O接口逻辑122。I/O接口逻辑122(以及存储器设备140的I/O 142)可以包括用来连接设备的引脚、连接器、信号线、和/或其他硬件。I/O接口逻辑122可以包括硬件接口。通常,集成电路内的电线与衬垫或连接器接合以便接合到设备之间的信号线或迹线。I/O接口逻辑122可以包括驱动器、接收器、收发器、终端和/或其他电路以便发送和/或接收设备之间的信号线上的信号。该系统总线可以被实施为将存储器控制器120耦合至存储器设备140的多个信号线。该系统总线至少包括时钟(CLK)132、命令/地址(CMD)134、数据(DQ)136、和其他信号线138。用于CMD 134的信号线可以被称为“C/A总线”(或ADD/CMD总线,或指示命令和地址信息的传递的一些其他目的地)并且用于DQ 136的信号线被称为“数据总线”。在一个实施例中,独立通道具有不同的时钟信号、C/A总线、数据总线和其他信号线。因此,系统100可以被视为具有多个“信号总线”,意义在于独立的接口路径可以被视为一个单独的系统总线。将会理解,除了明确示出的线之外,系统总线可以包括选通信令线、警戒线、辅助线和其他信号线。
将要理解,系统总线包括被配置成以带宽操作的数据总线(DQ 136)。基于系统100的设计和/或实现,DQ 136可以具有差不多每个存储器设备140的带宽。例如,DQ 136可以支持具有a x32接口、a x16接口、a x8接口、或其他接口的存储器设备。惯例“x N”(在这里N是二进制整数)指的是存储器设备140的接口尺寸,其表示与存储器控制器120交换数据的信号线DQ 136的数目。存储器设备的接口尺寸是关于系统100中每个通道可以同时使用多少个存储器设备或者多少个存储器设备可以被并行耦合至相同信号线的控制因子。
存储器设备140表示对于系统100的存储器资源。在一个实施例中,每个存储器设备140都是一个单独的存储器管芯,其可以包括每个管芯的多个(例如2个)通道。每个存储器设备140都包括I/O接口逻辑142,其具有通过设备的实现而确定的带宽(例如x16或x8或某一其他接口带宽),并且使得存储器设备能够与存储器控制器120接合。I/O接口逻辑142可以包括硬件接口,并且可以根据存储器控制器的I/O 122,但是在存储器设备端处。在一个实施例中,多个存储器设备140与相同的数据总线并行连接。例如,系统100可以被配置有并行耦合的多个存储器设备140,其中每个存储器设备都对应于一个命令,并且访问每一个内部的存储器资源160。对于写入操作,个体存储器设备140可以写入整个数据字的一部分,并且对于读取操作,个体存储器设备140可以取得整个数据字的一部分。
在一个实施例中,存储器设备140被直接设置在计算设备的母板或主机系统平台(例如处理器110被设置在其上的PCB(印刷电路板))上。在一个实施例中,存储器设备140可以被组织到存储器模块130中。在一个实施例中,存储器模块130表示双列直插式存储器模块(DIMM)。在一个实施例中,存储器模块130表示用来共享存取或控制电路的至少一部分的多个存储器设备的其他组织,该存取或控制电路可以是单独电路、单独设备或来自主机系统平台的单独板。存储器模块130可以包括多个存储器设备140,并且存储器模块可以包括对到所包括的设置在其上的存储器设备的多个单独通道的支持。
存储器设备140中的每一个都包括存储器资源160。存储器资源160表示针对数据的存储器位置或存储装置位置的个体阵列。通常,存储器资源160被管理为经由高速缓存线(行)和位线(行内的个体位)控制访问的数据行。存储器资源160可以被组织为存储器的单独通道、列(rank)和组(bank)。通道是去到存储器设备140内的存储位置的独立控制路径。列指的是跨多个存储器设备的共同位置(例如不同设备内的相同行地址)。组指的是存储器设备140内的存储器位置的阵列。在一个实施例中,存储器的组被划分成子组,其中共享电路的至少一部分是用于子组的。
在一个实施例中,存储器设备140包括一个或多个寄存器144。寄存器144表示为存储器设备的操作提供配置或设置的存储设备或存储位置。在一个实施例中,寄存器144可以为存储器设备140提供存储位置以便存储作为控制或管理操作的一部分的由存储器控制器120访问的数据。在一个实施例中,寄存器144包括模式寄存器。在一个实施例中,寄存器144包括多用途寄存器。寄存器144内位置的配置可以将存储器设备140配置成以不同“模式”操作,在这里命令和/或地址信息或信号线可以依据模式来触发存储器设备140内的不同操作。寄存器144的设置可以指示对于I/O设置的配置(例如计时、终端或ODT(终端电阻))、驱动器配置和/或其他I/O设置。
在一个实施例中,存储器设备140包括作为与I/O 142相关联的接口硬件的一部分的ODT 146。ODT 146可以如上面提到的那样配置,并且提供对要应用于指定信号线接口的阻抗的设置。可以基于存储器设备是访问操作的所选目标还是非目标设备来改变ODT设置。ODT 146设置可以影响被终止线上的信令的计时和反射。对ODT 146的仔细控制可以实现更高速操作。
存储器设备140包括控制器150,其表示存储器设备内用来控制存储器设备内的内部操作的控制逻辑。例如,控制器150对由存储器控制器120发送的命令进行解码并且生成用来执行或满足该命令的内部操作。控制器150可以基于寄存器144确定选择什么模式,并且基于所选模式来配置针对存储器资源160的操作的访问和/或执行。控制器150生成控制信号来控制存储器设备140内的位的路由以便为所选模式提供适当的接口并且将命令指引至适当的存储器位置或地址。
再次参考存储器控制器120,存储器控制器120包括命令(CMD)逻辑124,其表示用来生成要发送至存储器设备140的命令的逻辑或电路。通常,存储器子系统中的信令包括命令内或伴随命令的地址信息以指示或选择存储器设备应该执行命令的一个或多个存储器位置。在一个实施例中,存储器设备140的控制器150包括用来接收并解码经由I/O 142从存储器控制器120接收的命令和地址信息的命令逻辑152。基于接收到的命令和地址信息,控制器150可以控制存储器设备140内的逻辑和电路的操作的计时以执行命令。控制器150负责守标准或规范。
在一个实施例中,存储器控制器120包括刷新(REF)逻辑126。在存储器设备140是易失性的且需要被刷新以保持确定性状态的情况下,可以使用刷新逻辑126。在一个实施例中,刷新逻辑126指示刷新的位置,以及执行刷新的类型。刷新逻辑126可以触发存储器设备140内的自刷新,和/或通过发送刷新命令来执行外部刷新。例如,在一个实施例中,系统100支持所有组刷新以及每个组刷新。所有组刷新促使对并行耦合的所有存储器设备140内的所选组的刷新。每个组刷新促使对具体存储器设备140内的具体组的刷新。在一个实施例中,存储器设备140内的控制器150包括用来在存储器设备140内应用刷新的刷新逻辑154。在一个实施例中,刷新逻辑154根据从存储器控制器120接收到的外部刷新来生成用来执行刷新的内部操作。刷新逻辑154可以确定刷新是否针对存储器设备140,以及响应于该命令刷新什么存储器资源160。
在一个实施例中,存储器控制器120包括ECC逻辑170,其表示用来为系统100执行系统级ECC的错误校正和控制逻辑。系统级ECC指的是在存储器控制器120处应用错误校正,并且可以将错误校正应用于来自多个不同存储器设备140的数据位。在一个实施例中,存储器设备140的控制器150包括ECC逻辑156,其表示对于该存储器设备的内部错误校正逻辑。因此,除了通过存储器控制器120的系统级错误校正之外,存储器设备140可以应用内部错误校正。
在一个实施例中,存储器控制器120生成用来将寄存器144中的一个或多个寄存器设置设置成将存储器设备140配置用于校验位读取模式的一个或多个命令。当处于CBRD模式时,存储器设备140可以响应于读取命令返回用于ECC 156的内部校验位。当接收到读取命令并且没有将存储器设备配置用于CBRD模式时,存储器设备可以在不暴露内部校验位的情况下返回对于所标识的地址位置的数据位。
图2是以受模式寄存器控制的模式存储可用于发送给主机的ECC位的系统的实施例的框图。系统200表示存储器子系统的部件。系统200提供根据图1的系统100的存储器子系统的一个示例。系统200可以被包括在使用具有内部ECC或错误校正的存储器的任何类型的计算设备或电子电路中,在这里存储器设备存储内部校验位。处理器210表示基于存储在存储器230中的或要存储在存储器230中的数据来执行操作的任何类型的处理逻辑或部件。处理器210可以是或包括主机处理器、中央处理单元(CPU)、微控制器或微处理器、图形处理器、外围处理器、专用处理器、或其他处理器。处理器210可以是或包括单核或多核电路。
存储器控制器220表示用来与存储器230接合并管理对存储器230的数据的访问的逻辑。如与上面的存储器控制器一样的,存储器控制器220可以是与处理器210分开的或是处理器210的部分。从存储器230的视角来看处理器210和存储器控制器220一起可以被视为“主机”,并且存储器230为主机存储数据。在一个实施例中,存储器230包括具有内部ECC的DDR4E DRAM(其在工业上可以被称为DDR4E)。
在一个实施例中,系统200包括多个存储器资源230。可以在系统200中以在存储器中使用内部ECC的情况下支撑经由存储器控制器220的访问的任何类型的架构来实施存储器230。存储器控制器220包括I/O(输入/输出)222,其包括用来与存储器230的对应I/O 232互连的硬件资源。
在一个实施例中,存储器控制器包括用来管理系统200的存储器存取中的错误校验和校正的ECC管理器226。在一个实施例中,存储器230包括受ECC管理器236管理的内部ECC。存储器控制器220的ECC管理器226管理系统宽ECC,并且可以检测和校正并行跨多个不同存储器资源(例如多个存储器资源230)的错误。用于系统宽ECC的许多技术是已知的,并且可以包括以跨多个并行资源传播错误的方式来管理存储器资源的ECC管理器226。通过跨多个资源传播错误,存储器控制器220可以恢复数据,甚至在存储器230中存在一个或多个失效的情况下。许多失效通常被分类为或者软件错误或软件失效(它们通常是由随机环境状况引起的瞬时位错误),或者硬件错误或硬件失效(它们是作为硬件失效的结果而出现的非瞬时位错误)。
存储器220的ECC管理器236管理在阵列240的存储器资源中出现的一个或多个错误。在存储器230内使用ECC可以被称为内部ECC或片上ECC、或内部片上ECC。一般来说,内部ECC指的是在存储器230内实施的ECC,没有存储器控制器220或主机对ECC操作的命令或管理。阵列240包括多个数据行,其可以是一个或多个字宽。对于实施ECC的存储器230,阵列240包括用来将失效内部映射出到不同物理资源的空闲存储器资源。因此,可以通过将数据映射到不同可用存储器资源并且校正错误来恢复阵列240中的失效。在一个实施例中,ECC管理器236对阵列240中的数据实施SEC(单错误校正)或SECDED(单错误校正双错误检测)程序或操作。因此,存储器230可以返回经过校正的数据来代替具有错误的数据。
在一个实施例中,阵列240的每个地址位置242包括相关联的数据和校验位或ECC位。在一个实施例中,地址位置242对应于存储器页。存储器的页指的是为存储器存取操作分配的存储器空间的颗粒数。在一个实施例中,阵列240具有更大的页尺寸以容纳除了数据位之外的ECC位。因此,正常页大小将包括为数据位分配的足够空间。并且阵列240为数据位加上ECC位分配足够的空间。在一个实施例中,ECC位对存储器控制器220是不可见的,除非经由由CBRD模式建立的读取路径。在一个实施例中,对于ECC位,不存在可用于存储器控制器220的写入路径。因此,在一个实施例中,该主机可以写入数据位,并且存储器生成且写入ECC位,并且主机不能写入ECC位。地址242的N个地址位置表示经由来自存储器控制器的读取命令中的地址信息可访问的N个位置。
在一个实施例中,存储器230包括模式寄存器238,其表示存储器设备中的多个模式寄存器中的一个。每个模式寄存器都存储配置存储器230的操作的配置设置。例如,在一个实施例中,模式寄存器238包括与对于存储器230的校验位读取(CBRD)模式有关的一个或多个设置。当将一个或多个位设置成确定模式时,存储器230进入CBRD模式,其配置存储器将如何解释读取命令。在一个实施例中,命令逻辑224使得存储器控制器220能够生成并发送命令以设置模式寄存器238。通常由存储器控制器220来配置模式寄存器238。
当存储器230处于CBRD模式时,它可以对从存储器控制器220发送的读取命令进行解码,这与当接收到读取命令且存储器不处于CBRD模式时不同。例如,命令逻辑224可以生成标准读取命令(RD)。存储器230的命令执行逻辑234接收该命令并对该命令解码。命令执行逻辑234可以检查模式寄存器238的配置以确定存储器238是否处于CBRD模式。如果存储器不处于CBRD模式,则命令执行逻辑234对读取命令的地址位置解码且从阵列240读取数据。存储器230然后经由I/O 232通过数据总线发送数据。如果存储器处于CBRD模式,则命令执行逻辑234对读取命令的地址信息解码且读取来自阵列240的内部校验位或ECC位。然后存储器230经由I/O 232通过数据总线发送ECC位。
图3A是启用校验位读取模式的模式寄存器的实施例的框图。模式寄存器310表示根据本文中描述的任何实施例对于支持CBRD模式的存储器设备的模式寄存器的示例。模式寄存器310可以是SDRAM设备的任何模式寄存器MRx。模式寄存器310通常将包括对于不同配置信息的多个条目。然而,为了简化的目的,模式寄存器310被限于图示条目312,其表示位地址Ay。位Ay的逻辑值可以确定存储器设备是否进入校验位读取操作模式。
将会理解,所图示的逻辑电平可以被颠倒。另外,将会理解,尽管CBRD模式可以设置有单个位,但是CBRD模式可以被设置为多个位的代码序列。备选地,CBRD模式可以是所有都配置有相同位的一组模式的一部分(例如设置四个不同输入模式(包括CBRD模式)的两个模式寄存器位)。在一个实施例中,位Ay如下确定存储器是否被配置用于CBRD模式。逻辑0指示读取命令(例如RD)被解码为从RD命令的列地址信息(例如RD命令的位A[9:0])的标准读取。逻辑1指示读取命令被解码为与读取命令的列地址信息(例如RD命令的位A[9:0])相关联的错误位的读取。其他读取命令和位配置是可能的。
图3B是包括当处于校验位读取模式时可以触发存储器设备以返回内部校验位的读取命令的读取命令的实施例的框图。命令表320表示根据本文中描述的实施例对于支持CBRD模式的存储器设备的不同读取命令的示例。在存储器子系统的一个实施例中,存储器设备支持表320中不同类型的读取命令中的每一个。其他类型的读取命令可以是可能的。一些存储器子系统不支持表320中的所有读取。因此,表320的读取命令要被理解为示例。
如所图示的,表320包括条目322、324、326、328、330和332。条目322表示简单或标准读取命令(RD)。条目324表示具有突发突变(burst chop)(BC4)的运行中读取。条目326表示不具有突发突变(BL8)的运行中读取。条目328表示具有自动预充电(RDA)的读取,其可以是固定突发长度或突发突变。条目330表示具有自动预充电和突发突变(RDAS4)的读取。条目332表示具有自动预充电不具有突发突变(RDAS8)的读取。
在一个实施例中,校验位读取模式仅支持单个或标准读取命令。因此,在一个实施例中,存储器设备可以响应于条目322的RD命令来执行校验位读取,但是将不会响应于表320的任何其他读取命令来返回校验位。在一个实施例中,RDS4和BC4在CBRD模式中是非法的。在一个实施例中,任何写入命令(诸如WR、WRS4/8和WRAS4/8)在CBRD模式中都是非法的。在一个实施例中,当存储器控制器除去负责使存储器设备处于CBRD模式的模式寄存器位时,存储器设备将返回对于RD、RDS4/8和BC4命令的数据位。
图4是校验位读取模式的实施例的计时图。该计时图包括对于DQS 410、DQ0 420和DQI-DQx 430的图示。计时图图示根据本文中描述的CBRD模式的实施例返回校验位的计时。DQS 410表示DRAM用来与数据总线上的数据的交换同步的数据选通或时钟或计时信号。DQ0420表示最低地址数据信号线。尽管图示DQ0,但是将会理解可以用另一数据信号线来替换DQ0。如所图示的,DRAM设备提供在八个读取循环上的八个校验位(CB[0:7])。其他信号线DQl-DQx不会通过数据突发传递数据。
DRAM经由I/O电路与数据信号线接合。DRAM响应于读取命令确定设备是否处于CBRD模式。如果DRAM处于CBRD模式并且它接收有效读取命令,则它可以将校验位返回给主机。因此,在一个实施例中,DRAM通过在对于DRAM的读取突发长度上每个突发循环输出一个位来在CBRD模式中输出校验位。DQ0 420的图示对应于BL=8。DRAM可以经由数据信号线D[0]或另一所选信号线来输出校验位。
图5是在经由校验位读取模式生成可用于主机的内部校验位的存储器设备处的逻辑的实施例的框图。系统500是根据图1的系统100的存储器子系统的一个示例。系统500提供通过生成且存储内部校验位的存储器设备的内部错误校正的示例。主机510包括存储器控制器或者管理对存储器520的存取的等效或备选电路或部件。主机510对从存储器520读取的数据执行外部ECC。
系统500图示存储器520中的写入路径532,其表示对于从主机510写入到存储器520的数据的路径。主机510向存储器520提供写入到(一个或多个)存储器阵列的数据542。在一个实施例中,存储器520利用校验位生成器522生成校验位544以将数据存储在存储器中,这可以是根据本文中的任何实施例的内部校验位的一个示例。校验位544可以使得存储器520能够校正可能在写入到(一个或多个)存储器阵列以及从(一个或多个)存储器读取中出现的错误。数据542和校验位544可以被包括为546中的码字,其被写入到存储器资源。将会理解,校验位544表示存储器设备内的内部校验位。在一个实施例中,不存在到校验位544的写入路径。
读取路径534表示用于将数据从存储器520读取到主机510的路径。在一个实施例中,写入路径532和读取路径534的至少某些硬件部件是相同的硬件。在一个实施例中,存储器520响应于来自主机510的读取命令取得码字输出552。该码字可以包括数据554和校验位556。如果写入和读取命令的地址位置位是相同的,则数据554和校验位556可以分别对应于在写入路径532中写入的数据542和校验位544。将会理解,读取路径534中的错误校正可以包括将XOR(异或)树应用于对应的H矩阵以检测错误并选择性地校正错误(在单比特错误的情况下)。
如本领域中理解的,H矩阵指的是示出码字的数字的线性组合如何等于零的汉明码奇偶校验矩阵。因此,H矩阵行标识必须满足要成为码字的一部分的分量或数字的奇偶校验方程的系数。在一个实施例中,存储器520包括校验子解码524,其使得存储器能够将校验位556应用于数据554以检测读取数据中的错误。校验子解码524可以生成用于在为读取数据生成适当错误信息中使用的校验子558。数据554还可以被转发至错误校正528以用于检测到的错误的校正。
在一个实施例中,校验子解码524将校验子558传递至校验子生成器526以生成错误向量。在一个实施例中,校验位生成器522和校验子生成器526完全由用于存储器设备的对应H矩阵来指定。在一个实施例中,如果读取数据中不存在错误(例如零校验子558),则校验子生成器526生成无错误信号562。在一个实施例中,如果读取数据中存在多个错误(例如与对应H矩阵中的列中的任一个都不匹配的非零校验子558),则校验子生成器526可以生成指示检测到的未校正错误的信号(未被示出)。这样的信号可以指示存储器520不能由内部ECC来校正的多位错误。
在一个实施例中,如果存在单比特错误(例如与对应H矩阵的列之一匹配的非零校验子558),则校验子生成器526可以生成具有错误位置564的CE(校正错误)信号,其是对错误校正逻辑528的经过校正的错误指示。错误校正528可以将经过校正的错误应用于数据554中的具体位置以生成用于输出到主机510的经过校正的数据566。因此,将会理解存储器520可以在暴露内部校验位的情况下执行内部错误校正。然而,当存储器520处于CBRD模式时,根据本文中描述的任何实施例它可以从被寻址的位置返回校验位。
图6是用于以校验位读取模式将内部错误校正信息从存储器设备提供给主机的过程的实施例的流程图。可以在支持如本文中描述的CBRD模式的存储器子系统的实施例中执行用于在CBRD模式中提供内部错误校正信息的过程。存储器子系统包括存储器控制器602和存储器604。针对CBRD模式,选择性地启用存储器。CBRD模式可以使得存储器能够响应于读取命令将内部校验位返回至存储器控制器。
在一个实施例中,存储器控制器602利用写入命令将数据写入到存储器设备,612。在一个实施例中,响应于写入命令,存储器604可以生成内部错误校正,其包括生成内部校验位。存储器604记录或存储数据以及对应ECC位,614。
在一个实施例中,存储器控制器确定从存储器访问内部校验位,620。例如,存储器控制器602可以访问校验位以改进系统级ECC。在一个实施例中,存储器控制器生成模式寄存器设置命令以将存储器置于CBRD模式,622。响应于该命令,存储器可以设置模式寄存器并且进入校验位读取模式,624。存储器控制器为期望的校验位生成地址信息,并且将读取命令发送至存储器,630。存储器接收并解码读取命令和地址信息,632。
在一个实施例中,当解码读取命令时存储器确定它是否处于CBRD模式,634。如果存储器不处于CBRD模式(636否分支),则存储器取得在地址位置处请求的数据,并且将其返回至主机,638。在一个实施例中,存储器604仅支持某一读取类型或某些读取类型以返回内部校验位。在一个实施例中,如果存储器处于CBRD模式(636是分支),则存储器确定读取命令是标准读取命令还是特殊读取命令,640。如果读取命令不是简单读取(RD)或其他被支持的命令(642否分支),则存储器根据系统配置处理不受支持的读取类型,644。在一个实施例中,如果读取命令不是在CBRD模式中支持的读取命令,则存储器设备将错误返回至存储器控制器。在一个实施例中,如果在CBRD模式中不支持读取命令,则存储器自动退出CBRD模式并且按照请求处理读取命令。
如果读取命令是CBRD模式中支持的命令(642是分支),则存储器取得对于所标识的地址的校验位,646。存储器将校验位发送至主机,648。存储器可以根据本文中描述的任何实施例来发送校验位。在一个实施例中,存储器在所选的数据信号线上一次只发送一个校验位。该存储器控制器接收校验位并且可以将内部校验位作为因素计入系统级ECC的操作中,650。
图7是在其中可以实施校验位读取模式来读取内部校验位的计算系统的实施例的框图。系统700表示根据本文中描述的任何实施例的计算设备,并且可以是膝上型计算机、桌上型计算机、服务器、游戏或娱乐控制系统、扫描仪、复印机、打印机、路由或交换设备、或其他电子设备。系统700包括处理器720,其为系统700提供指令的处理、操作管理和执行。处理器720可以包括任何类型的微处理器、中央处理单元(CPU)、处理核、或用来为系统700提供处理的其他处理硬件。处理器720控制系统700的整个操作,并且可以是或包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、可编程逻辑设备(PLD)等等、或此类设备的组合。
存储器子系统730表示系统700的主存储器,并且为要由处理器720执行的代码或要在执行例程中使用的数据值提供临时存储。存储器子系统730可以包括一个或多个存储器设备,诸如只读存储器(ROM)、闪速存储器、随机存取存储器(RAM)的一个或多个变体、或其他存储器设备、或此类设备的组合。除了别的之外,存储器子系统730存储和托管操作系统(OS)736以便为系统700中指令的执行提供软件平台。另外,存储并执行来自存储器子系统730的其他指令738以提供逻辑和系统700的处理。由处理器720来执行OS 736和指令738。存储器子系统730包括存储器设备732,在那里它存储数据、指令、程序或其他条目。在一个实施例中,存储器子系统包括存储器控制器734,其是用来生成命令并将命令发出到存储器设备732的存储器控制器。将会理解,存储器控制器734可以是处理器720的物理部分。
将处理器720和存储器子系统730耦合至总线/总线系统710。总线710是表示通过适当的桥接器、适配器和/或控制器连接的任何一个或多个单独的物理总线、通信线/接口、和/或点对点连接的抽象概念。因此,总线710可以包括例如系统总线、外围部件互连(PCI)总线、超传输或行业标准体系结构(ISA)总线、小计算机系统接口(SCSI)总线、通用串行总线(USB)、或电气及电子工程师协会(IEEE)标准1394(通常被称为“火线”)中的一个或多个。总线710的各总线还可以对应于网络接口750中的各接口。
系统700还包括一个或多个输入/输出(I/O)接口740、网络接口750、一个或多个内部大容量存储设备760、以及耦合至总线710的外围接口770。I/O接口740可以包括用户通过其与系统700交互(例如视频、音频和/或字母数字接口连接)的一个或多个接口部件。网络接口750为系统700提供通过一个或多个网络与远程设备(例如服务器、其他计算设备)通信的能力。网络接口750可以包括以太网适配器、无线互连部件、USB(通用串行总线)或其他基于有线或无线标准的接口或专有接口。
存储装置760可以是或包括用于以非易失性方式存储大量数据的任何常规介质,诸如一个或多个磁盘、固态盘、或基于光的盘、或其组合。存储装置760以持续状态保持代码或指令和数据762(即尽管到系统700的电力中断,该值仍保持)。存储装置760一般可以被视为“存储器”,尽管存储器730在执行或操作存储器以便为处理器720提供指令。尽管存储装置760是非易失性的,但是存储器730可以包括易失性存储器(即如果到系统700的电力被中断则数据的值或状态是不确定的)。
外围接口770可以包括上面没有明确提到的任何硬件接口。外围通常指的是依赖性地连接至系统700的设备。依赖连接是在其中系统700提供在其上执行操作并且用户与其交互的软件和/或硬件平台的一种连接。
在一个实施例中,存储器732是DRAM。在一个实施例中,处理器720表示执行存储在一个或多个DRAM存储器732中的数据的一个或多个处理器。在一个实施例中,网络接口750与另一网络位置中的另一设备交换数据,并且数据是存储在存储器732中的数据。在一个实施例中,系统700包括用来管理系统中的ECC和ECC数据的ECC逻辑780。ECC逻辑780表示根据本文中描述的任何实施例用来执行内部错误校正并在CBRD模式中提供内部校验位的ECC逻辑。
图8是在其中可以实施校验位读取模式来读取内部校验位的移动设备的实施例的框图。设备800表示移动计算设备,诸如计算表、移动电话或智能电话、无线使能的电子读取器、可佩戴计算设备或其他移动设备。将会理解,一般性地示出部件中的某些,并且没有在设备800中示出此类设备的所有部件。
设备800包括处理器810,其执行设备800的主处理操作。处理器810可以包括一个或多个物理设备,诸如微处理器、应用处理器、微控制器、可编程逻辑设备、或其他处理装置。由处理器810执行的处理操作包括在其上执行应用程序和/或设备功能的操作平台或操作系统的执行。处理操作包括与同人类用户或其他设备的I/O(输入/输出)有关的操作、与功率管理有关的操作和/或与将设备800连接至另一设备有关的操作。处理操作还可以包括与音频I/O和/或显示I/O有关的操作。
在一个实施例中,设备800包括音频子系统820,其表示与向计算设备提供音频功能相关联的硬件(例如音频硬件和音频电路)和软件(例如驱动器、编解码器)部件。音频功能可以包括扬声器和/或耳机输出,以及麦克风输入。对于此类功能的设备可以被集成在设备800中,或被连接至设备800。在一个实施例中,用户通过提供由处理器810接收并处理的音频命令与设备800交互。
显示子系统830表示为用户提供视觉和/或触觉显示以便与计算设备交互的硬件(例如显示设备)和软件(例如驱动)部件。显示子系统830包括显示接口832,其包括用于为用户提供显示的特定屏幕或硬件设备。在一个实施例中,显示接口832包括从处理器810分开以执行与显示器有关的至少一些处理的逻辑。在一个实施例中,显示子系统830包括向用户提供输出和输入二者的触摸屏设备。在一个实施例中,显示子系统830包括向用户提供输出的高清晰度(HD)显示器。高清晰度可以指代具有近似100 PPI(每英寸像素)或更大的像素密度的显示,并且可以包括诸如全HD(例如1080p)、视网膜显示、4K(超高清晰度或UHD)或其他的格式。
I/O控制器840表示与同用户的交互有关的硬件设备和软件部件。I/O控制器840可以操作以管理作为音频子系统820和/或显示子系统830的一部分的硬件。另外,I/O控制器840图示对于连接至用户可能通过其与系统交互的设备800的附加设备的连接点。例如,可以被附接至设备800的设备可能包括麦克风设备、扬声器或立体声系统、视频系统或其他显示设备、键盘或键区设备、或用于与具体应用一起使用的其他I/O设备(诸如卡读取器或其他设备)。
如上面所提到的,I/O控制器840可以与音频子系统820和/或显示子系统830交互。例如,通过麦克风或其他音频设备的输入可以为设备800的一个或多个应用程序或功能提供输入或命令。另外,作为对显示输出的替代或除了显示输出之外,可以提供音频输出。在另一示例中,如果显示子系统包括触摸屏,则显示设备还充当输入设备,其可以至少部分由I/O控制器840来管理。设备800上还可以存在附加的按钮或开关以提供由I/O控制器840管理的I/O功能。
在一个实施例中,I/O控制器840管理诸如加速度计、相机、光传感器或其他环境传感器、陀螺仪、全球定位系统(GPS)或可以被包括在设备800中的其他硬件的设备。该输入可以是直接用户交互的一部分,以及向系统提供环境输入以影响其操作(诸如对于噪声的滤波、为亮度检测调整显示器、为相机应用闪光灯、或其他特征)。在一个实施例中,设备800包括功率管理850,其管理电池电力使用、电池的充电和与电力节省操作有关的特征。
存储器子系统860包括用于将信息存储在设备800中的(一个或多个)存储器设备862。存储器子系统860可以包括非易失性(如果中断到存储器设备的电力则状态不会改变)和/或易失性(如果中断到存储器设备的电力则状态是不确定的)存储器设备。存储器860可以存储应用程序数据、用户数据、音乐、照片、文档或其他数据、以及与系统800的应用程序和功能的执行有关的系统数据(不管是长期的还是临时的)。在一个实施例中,存储器子系统860包括存储器控制器864(其还可以被视为系统800的控制装置的一部分,并且可能被潜在地视为处理器810的一部分)。存储器控制器864包括用来生成命令并将其发出至存储器设备862的调度器。
连通性870包括硬件设备(例如无线和/或有线连接器和通信硬件)和软件部件(例如驱动、协议堆栈)以使得设备800能够与外部设备通信。该外部设备可以是单独的设备,诸如其他计算设备、无线接入点或基站、以及外围设备(诸如耳机、打印机或其他设备)。
连通性870可以包括多种不同类型的连通性。概括来说,设备800被图示有蜂窝连通性872和无线连通性874。蜂窝连通性872通常指的是由无线载波提供的蜂窝网络连通性,诸如经由GSM(用于移动通信的全球系统)或变体或派生,CDMA(码多分址)或变体或派生,TDM(时分复用)或变体或派生,LTE(长期演进-也被称为“4G”)或其他蜂窝服务标准来提供。无线连通性874指的是非蜂窝的无线连通性,并且可以包括个人局域网(诸如蓝牙)、局域网(诸如WiFi)、和/或广域网(诸如WiMax)、或其他无线通信。无线通信指的是数据通过使用经过非固介质的已调制电磁辐射的传递。有线通信通过固体通信介质而发生。
外围连接880包括硬件接口和连接器,以及用来进行外围连接的软件部件(例如驱动、协议堆栈)。将会理解,设备800可以是至其他计算设备的外围设备(“至”882),以及具有连接到其的外围设备(“来自”884)。设备800通常具有为了诸如管理(例如下载和/或上传、改变、同步)设备800上的内容的目的而连接至其他计算设备的“对接”连接器。另外,对接连接器可以允许设备800连接到某些外围设备,该某些外围设备允许设备800控制例如至视听设备或其他系统的内容输出。
除了专有对接连接器或其他专有连接硬件之外,设备800可以经由基于普通或标准连接器进行外围连接880。普通类型可以包括通用串行总线(USB)连接器(其可以包括许多不同硬件接口中的任意)、包括迷你显示端口(MDP)的显示端口、高清晰度多媒体接口(HDMI)、火线、或其他类型。
在一个实施例中,存储器862是DRAM。在一个实施例中,处理器810表示执行存储在一个或多个DRAM存储器862中的数据的一个或多个处理器。在一个实施例中,系统800包括用来管理系统中的ECC和ECC数据的ECC逻辑890。ECC逻辑890表示根据本文中描述的任意实施例的用来执行内部错误校正并且在CBRD模式中提供内部校验位的ECC逻辑。
在一个方面中,一种动态随机存取存储器设备(DRAM)包括:存储器阵列,其包括利用地址信息可寻址的存储器位置,该存储器位置包括数据和与该数据相关联的内部校验位,该DRAM用来在错误校验操作期间生成内部校验位;以及I/O(输入/输出)电路,其用来耦合至相关联的存储器控制器,当被耦合至相关联的存储器控制器时该I/O电路用来接收读取命令,该读取命令用来标识地址位置;其中响应于读取命令,如果该DRAM被配置用于校验位读取(CBRD)模式,则该读取命令用来促使DRAM经由I/O电路发送与所标识的地址位置相关联的内部校验位,并且如果DRAM没有被配置用于CBRD模式,则该读取命令用来促使DRAM在不暴露内部校验位的情况下返回与所标识的地址位置相关联的数据。
在一个实施例中,该DRAM包括扩展的双倍数据速率版本4(DDR4E)兼容同步动态随机存取存储器设备(SDRAM)。在一个实施例中,该DRAM包括双倍数据速率版本5(DDR5)兼容同步动态随机存取存储器设备(SDRAM)。在一个实施例中,该内部校验位包括错误校正编码(ECC)数据的八个位。在一个实施例中,该I/O电路用来在对于DRAM的读取突发长度上每个突发循环一个位地在CBRD模式中输出校验位。在一个实施例中,该I/O电路用来在对于突发长度BL8的每个循环的数据信号线D[0]上输出一个校验位。在一个实施例中,该I/O电路用来向相关联的存储器控制器提供内部校验位以便使存储器控制器执行系统级ECC。在一个实施例中,该DRAM用来向相关联的存储器控制器将内部校验位暴露为只读位。在一个实施例中,该读取命令是标准读取(RD)命令,并且如果该命令是任何其他类型的读取命令,则该存储器设备将返回错误。在一个实施例中,该DRAM进一步包括:模式寄存器,其包括用来将DRAM选择性地配置用于校验位读取(CBRD)模式的至少一个位。
在一个方面中,一种用于存储器子系统中的错误校正管理的方法包括:将模式寄存器设置成使存储器设备配置用于校验位读取模式;在存储器设备处接收读取命令,该读取命令用来标识地址位置;以及响应于接收到读取命令,当存储器设备被配置用于校验位读取模式时,响应于读取命令发送对应于所标识的地址位置的内部校验位,在存储器设备的错误校验操作期间在存储器设备内内部地生成内部校验位以供存储器设备使用,并且当存储器设备没有被配置用于校验位读取模式时,在不暴露内部校验位的情况下,响应于读取命令返回对应于所标识的地址位置的数据。该方法可以包括用于执行根据如上面阐述的DRAM的任何实施例的方法的操作。
在一个方面中,一种具有存储器子系统的系统包括:存储器控制器,其用来为相关联的动态随机存取存储器设备(DRAM)生成一个或多个读取命令,该读取命令用来包括地址位置信息;以及包括存储阵列的多个DRAM,该存储阵列包括利用地址信息可寻址的存储器位置,该存储器位置包括数据以及与该数据相关联的内部校验位,该DRAM用来在错误校验操作期间生成内部校验位;以及用来耦合至相关联的存储器控制器的I/O(输入/输出)电路,当被耦合至相关联的存储器控制器时该I/O电路用来接收读取命令,该读取命令用来标识地址位置;其中响应于读取命令,如果DRAM被配置用于校验位读取(CBRD)模式,则读取命令用来促使DRAM经由I/O电路发送与所标识的地址位置相关联的内部校验位,并且如果DRAM没有被配置用于CBRD模式,则该读取命令用来促使DRAM在不暴露内部校验位的情况下返回与所标识的地址位置相关联的数据。
一种系统可以包括根据如上面阐述的DRAM的任何实施例的DRAM。一种系统可以包括根据如上面阐述的存储器控制器的任何实施例的存储器控制器。一种系统可以包括根据任何实施例的DRAM和存储器控制器。在一个实施例中,该系统进一步包括被耦合以执行存储在DRAM中的一个或多个中的数据的一个或多个处理器。在一个实施例中,该系统进一步包括耦合至该一个或多个处理器的网络接口,以便在该一个或多个处理器与网络位置之间交换数据。在一个实施例中,该系统进一步包括通信耦合至该一个或多个处理器的显示器。
在一个方面中,一种用于错误校正管理的存储器控制器包括:用来为相关联的动态随机存取存储器设备(DRAM)生成读取命令的命令逻辑,该读取命令用来包括地址位置;用来耦合至相关联的DRAM的I/O(输入/输出)电路,当被耦合至相关联的DRAM时该I/O电路用来发送读取命令;其中当该DRAM被配置用于校验位读取模式时,该读取命令用来促使该DRAM返回与该地址位置相对应的内部校验位,在该DRAM的错误校验操作期间在该DRAM内内部地生成内部校验位以供该DRAM使用,并且其中当该DRAM没有被配置用于校验位读取模式时,该读取命令用来促使该DRAM在不暴露内部校验位的情况下返回对应于地址位置的数据。
在一个实施例中,该DRAM包括扩展的双倍数据速率版本4(DDR4E)兼容同步动态随机存取存储器设备(SDRAM)。在一个实施例中,该DRAM包括双倍数据速率版本5(DDR5)兼容同步动态随机存取存储器设备(SDRAM)。在一个实施例中,该内部校验位包括错误校正编码(ECC)数据的八个位。在一个实施例中,该I/O电路用来从在CBRD模式中的DRAM接收在对于DRAM的读取突发长度上每个突发循环一个位的校验位。在一个实施例中,该I/O电路用来接收在对于突发长度BL8的每个循环的数据信号线D[0]上的一个校验位。在一个实施例中,进一步包括用来在系统级执行ECC的ECC逻辑,其包括对于系统级ECC将内部校验位用作元数据。在一个实施例中,该存储器控制器不能写入到DRAM的内部校验位。在一个实施例中,该读取命令是标准读取(RD)命令,并且如果该命令是任何其他类型的读取命令,则该存储器控制器用来接收从DRAM返回的错误。在一个实施例中,在用来生成读取命令的命令逻辑之前,该命令逻辑进一步用来生成模式寄存器设置命令以便将DRAM的模式寄存器设置成使DRAM配置用于校验位读取模式。
在一个方面中,一种用于存储器子系统中的错误校正管理的方法包括:将模式寄存器设置成使存储器设备配置用于校验位读取模式;向存储器设备发送读取命令,该读取命令用来标识地址位置;以及响应于接收到读取命令,当存储器设备被配置用于校验位读取模式时,从存储器设备接收对应于所标识的地址位置的内部校验位,在存储器设备的错误校验操作期间在存储器设备内内部地生成内部校验位以供存储器设备使用,并且当存储器设备没有被配置用于校验位读取模式时,在不接收内部校验位的情况下,响应于读取命令接收对应于所标识的地址位置的数据。
该方法可以包括用于执行根据上面阐述的存储器控制器的任何实施例的方法的操作。
在一个方面中,一种具有存储器子系统的系统包括:多个DRAM;以及与该DRAM相关联的存储器控制器,该存储器控制器包括用来为相关联的动态随机存取存储器设备(DRAM)生成读取命令的命令逻辑,该读取命令用来包括地址位置;以及用来耦合至相关联的DRAM的I/O(输入/输出)电路,当被耦合至相关联的DRAM时该I/O电路用来发送读取命令,其中当该DRAM被配置用于校验位读取模式时,该读取命令用来促使该DRAM返回与该地址位置相对应的内部校验位,在该DRAM的错误校验操作期间在该DRAM内内部地生成内部校验位以供该DRAM使用,并且其中当该DRAM没有被配置用于校验位读取模式时,该读取命令用来促使该DRAM在不暴露内部校验位的情况下返回对应于地址位置的数据。
一种系统可以包括根据如上面阐述的DRAM的任何实施例的DRAM。一种系统可以包括根据如上面阐述的存储器控制器的任何实施例的存储器控制器。一种系统可以包括根据任何实施例的DRAM和存储器控制器。在一个实施例中,该系统进一步包括被耦合以执行存储在DRAM中的一个或多个中的数据的一个或多个处理器。在一个实施例中,该系统进一步包括耦合至该一个或多个处理器的网络接口,以便在该一个或多个处理器与网络位置之间交换数据。在一个实施例中,该系统进一步包括通信耦合至该一个或多个处理器的显示器。
如本文中图示的流程图提供各个过程动作的序列的示例。该流程图可以指示要由软件或固件例程执行的操作,以及物理操作。在一个实施例中,流程图可以图示有限状态机(FSM)的状态,其可以以硬件和/或软件来实施。尽管以特定序列或顺序来示出,但是除非另外说明,可以修改动作顺序。因此,所图示的实施例应该仅仅被理解为示例,并且可以以不同顺序来执行该过程,并且可以并行执行某些动作。另外,在各个实施例中可以省略一个或多个动作;因此在每个实施例中不需要所有动作。其他过程流是可能的。
就本文中描述的各个操作或功能的范围来说,它们可以被描述或限定为软件代码、指令、配置和/或数据。该内容可以是可直接执行的(“对象”或“可执行”形式)、源代码、或差异代码(“增量”或“补丁”代码)。可以经由其上存储有内容的制造物品或者经由操作通信接口以经由通信接口来发送数据的方法来提供本文中描述的实施例的软件内容。机器可读存储介质可以促使机器执行所述的功能或操作,并且包括以机器(例如计算设备、电子系统等等)可访问的形式存储信息的任何机构,诸如可记录/非可记录介质(例如只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪速存储器设备等等)。通信接口包括接合到硬连线、无线、光学等等介质中的任意以便传达给另一设备的任何机构,诸如存储器总线接口、处理器总线接口、互联网连接、盘控制器等等。可以通过提供配置参数和/或发送信号以便将通信接口准备成提供描述软件内容的数据信号来配置该通信接口。可以经由发送给通信接口的一个或多个命令或信号来访问通信接口。
本文中描述的各个部件可以是用于执行所述的操作或功能的装置。本文中描述的每个部件包括软件、硬件或这些的组合。该部件可以被实施为软件模块、硬件模块、专用硬件(例如应用程序专用硬件、应用程序专用集成电路(ASIC)、数字信号处理器(DSP)、等等)、嵌入式控制器、硬连线电路等等。
除了本文中描述的那些之外,可以在不偏离本发明所公开的实施例和实施方式的情况下对其作出各种修改。因此,应该以说明性且不是限制性的意义来解释本文中的说明和示例。应该仅仅通过对下面权利要求的参考来估量本发明的范围。

Claims (21)

1.一种动态随机存取存储器DRAM设备,包括:
存储器阵列,其包括利用地址信息可寻址的存储器位置,该存储器位置包括数据和与该数据相关联的内部校验位,该DRAM设备用来在错误校验操作期间生成内部校验位;以及
I/O(输入/输出)电路,其用来耦合至相关联的存储器控制器,当被耦合至相关联的存储器控制器时该I/O电路用来接收读取命令,该读取命令用来标识地址位置;
其中响应于接收到读取命令,如果该DRAM设备被配置用于校验位读取CBRD模式,则该读取命令用来促使该DRAM设备经由I/O电路发送与所标识的地址位置相关联的内部校验位,并且如果该DRAM设备没有被配置用于CBRD模式,则该读取命令用来促使该DRAM设备在不暴露内部校验位的情况下返回与所标识的地址位置相关联的数据。
2.根据权利要求1所述的DRAM设备,其中该DRAM设备包括扩展的双倍数据速率版本4兼容同步动态随机存取存储器设备DDR4E SDRAM。
3.根据权利要求1所述的DRAM设备,其中该内部校验位包括错误校正编码ECC数据的八个位。
4.根据权利要求1所述的DRAM设备,其中该I/O电路用来:在对于DRAM设备的读取突发长度上每个突发循环一个位、在CBRD模式中输出校验位。
5.根据权利要求4所述的DRAM设备,其中该I/O电路用来在对于突发长度BL8的每个循环的数据信号线D[0]上输出一个校验位。
6.根据权利要求1所述的DRAM设备,其中该I/O电路用来向相关联的存储器控制器提供内部校验位以便使存储器控制器执行系统级ECC。
7.根据权利要求1所述的DRAM设备,其中该DRAM设备用来向相关联的存储器控制器将内部校验位暴露为只读位。
8.根据权利要求1所述的DRAM设备,其中该读取命令是标准读取RD命令,并且如果该命令是任何其他类型的读取命令,则该DRAM设备将返回错误。
9.根据权利要求1所述的DRAM设备,该DRAM设备进一步包括:
模式寄存器,其包括用来将DRAM设备选择性地配置用于校验位读取CBRD模式的至少一个位。
10.一种用于存储器子系统中的错误校正管理的方法,包括:
将模式寄存器设置成使存储器设备配置用于校验位读取模式;
在存储器设备处接收读取命令,该读取命令用来标识地址位置;以及
响应于接收到读取命令,
当存储器设备被配置用于校验位读取模式时,响应于读取命令发送对应于所标识的地址位置的内部校验位,在存储器设备的错误校验操作期间在存储器设备内部生成内部校验位以供存储器设备使用,并且
当存储器设备没有被配置用于校验位读取模式时,在不暴露内部校验位的情况下,响应于读取命令返回对应于所标识的地址位置的数据。
11.根据权利要求10所述的方法,其中该内部校验位包括错误校正编码ECC数据的八个位。
12.根据权利要求10所述的方法,其中发送校验位包括在对于存储器设备的读取突发长度上每个突发循环发送一位。
13.根据权利要求10所述的方法,其中设置模式寄存器包括响应于由存储器控制器发送到存储器设备的模式寄存器设置命令在模式寄存器中写入位。
14.一种用于错误校正管理的存储器控制器,包括:
用来为相关联的动态随机存取存储器DRAM设备生成读取命令的命令逻辑,该读取命令用来包括地址位置;
用来耦合至相关联的DRAM设备的I/O(输入/输出)电路,当被耦合至相关联的DRAM设备时该I/O电路用来发送读取命令;
其中当该DRAM设备被配置用于校验位读取模式时,该读取命令用来促使该DRAM设备返回与该地址位置相对应的内部校验位,在该DRAM设备的错误校验操作期间在该DRAM设备内部生成内部校验位以供该DRAM设备使用,以及
其中当该DRAM设备没有被配置用于校验位读取模式时,该读取命令用来促使该DRAM设备在不暴露内部校验位的情况下返回对应于地址位置的数据。
15.根据权利要求14所述的存储器控制器,其中该DRAM设备包括双倍数据速率版本5兼容同步动态随机存取存储器DDR5 SDRAM设备,并且该存储器控制器针对该SDRAM的读取突发长度的每个循环要从该DDR5 SDRAM设备接收内部校验位一位。
16.根据权利要求14所述的存储器控制器,其中在用来生成读取命令的命令逻辑之前,该命令逻辑进一步用来生成模式寄存器设置命令以便将DRAM设备的模式寄存器设置成使DRAM设备配置用于校验位读取模式。
17.一种具有存储器子系统的系统,包括:
存储器控制器,其用来为相关联的动态随机存取存储器DRAM设备生成一个或多个读取命令,该读取命令用来包括地址位置信息;以及
包括存储阵列的多个DRAM设备,该存储阵列包括利用地址信息可寻址的存储器位置,该存储器位置包括数据以及与该数据相关联的内部校验位,该DRAM设备用来在错误校验操作期间生成内部校验位;以及
用来耦合至相关联的存储器控制器的I/O(输入/输出)电路,当被耦合至相关联的存储器控制器时该I/O电路用来接收读取命令,该读取命令用来标识地址位置;
其中响应于读取命令,如果DRAM设备被配置用于校验位读取CBRD模式,则读取命令用来促使DRAM设备经由I/O电路发送与所标识的地址位置相关联的内部校验位,并且如果DRAM设备没有被配置用于CBRD模式,则该读取命令用来促使DRAM设备在不暴露内部校验位的情况下返回与所标识的地址位置相关联的数据。
18.根据权利要求17所述的系统,其中该内部校验位包括错误校正编码ECC位,该存储器控制器读取该错误校正编码ECC位来执行系统级ECC。
19.根据权利要求17所述的系统,进一步包括被耦合以执行存储在DRAM设备中的一个或多个中的数据的一个或多个处理器。
20.根据权利要求19所述的系统,进一步包括耦合至该一个或多个处理器的网络接口,以便在该一个或多个处理器与网络位置之间交换数据。
21.根据权利要求19所述的系统,进一步包括通信耦合至该一个或多个处理器的显示器。
CN201680050178.4A 2015-08-28 2016-08-04 Dram设备、错误校正管理的方法和存储器控制器 Active CN107924698B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562211448P 2015-08-28 2015-08-28
US62/211448 2015-08-28
US14/998059 2015-12-26
US14/998,059 US9842021B2 (en) 2015-08-28 2015-12-26 Memory device check bit read mode
PCT/US2016/045639 WO2017039947A1 (en) 2015-08-28 2016-08-04 Memory device check bit read mode

Publications (2)

Publication Number Publication Date
CN107924698A CN107924698A (zh) 2018-04-17
CN107924698B true CN107924698B (zh) 2022-06-21

Family

ID=58095521

Family Applications (4)

Application Number Title Priority Date Filing Date
CN201680050178.4A Active CN107924698B (zh) 2015-08-28 2016-08-04 Dram设备、错误校正管理的方法和存储器控制器
CN202111091173.5A Pending CN113808658A (zh) 2015-08-28 2016-08-04 存储器装置错误校验和清除模式以及错误透明度
CN201680050473.XA Active CN107924349B (zh) 2015-08-28 2016-08-04 存储器装置管芯上错误校验和纠正代码
CN201680050250.3A Active CN107924705B (zh) 2015-08-28 2016-08-04 动态随机存取存储器装置、存储器控制器以及存储系统

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN202111091173.5A Pending CN113808658A (zh) 2015-08-28 2016-08-04 存储器装置错误校验和清除模式以及错误透明度
CN201680050473.XA Active CN107924349B (zh) 2015-08-28 2016-08-04 存储器装置管芯上错误校验和纠正代码
CN201680050250.3A Active CN107924705B (zh) 2015-08-28 2016-08-04 动态随机存取存储器装置、存储器控制器以及存储系统

Country Status (4)

Country Link
US (4) US10127101B2 (zh)
EP (4) EP3341939B1 (zh)
CN (4) CN107924698B (zh)
WO (3) WO2017039949A1 (zh)

Families Citing this family (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11249652B1 (en) 2013-01-28 2022-02-15 Radian Memory Systems, Inc. Maintenance of nonvolatile memory on host selected namespaces by a common memory controller
US10445229B1 (en) 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US9823966B1 (en) 2013-11-11 2017-11-21 Rambus Inc. Memory component with error-detect-correct code interface
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US9929750B2 (en) 2015-09-08 2018-03-27 Toshiba Memory Corporation Memory system
US10162702B2 (en) * 2016-02-01 2018-12-25 Lattice Semiconductor Corporation Segmented error coding for block-based memory
US10628248B2 (en) * 2016-03-15 2020-04-21 International Business Machines Corporation Autonomous dram scrub and error counting
EP3453022B1 (en) * 2016-05-02 2022-07-06 INTEL Corporation Internal error checking and correction (ecc) with extra system bits
KR102504176B1 (ko) * 2016-06-23 2023-03-02 에스케이하이닉스 주식회사 반도체장치
US10120749B2 (en) * 2016-09-30 2018-11-06 Intel Corporation Extended application of error checking and correction code in memory
KR20180038109A (ko) * 2016-10-05 2018-04-16 삼성전자주식회사 모니터링 회로를 포함하는 전자 장치 및 그것에 포함되는 스토리지 장치
KR20180069179A (ko) * 2016-12-14 2018-06-25 에스케이하이닉스 주식회사 메모리 시스템 및 이의 에러 정정 방법
KR20180090124A (ko) * 2017-02-02 2018-08-10 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10275306B1 (en) * 2017-02-09 2019-04-30 Cadence Design Systems, Inc. System and method for memory control having adaptively split addressing of error-protected data words in memory transactions for inline storage configurations
US10303543B1 (en) * 2017-02-09 2019-05-28 Cadence Design Systems, Inc. System and method for memory control having address integrity protection for error-protected data words of memory transactions
EP3370152B1 (en) 2017-03-02 2019-12-25 INTEL Corporation Integrated error checking and correction (ecc) in memory devices with fixed bandwidth interfaces
JP2018160166A (ja) * 2017-03-23 2018-10-11 東芝メモリ株式会社 メモリシステム及び抵抗変化型メモリ
US10853163B2 (en) * 2017-04-28 2020-12-01 Qualcomm Incorporated Optimized error-correcting code (ECC) for data protection
KR102258140B1 (ko) 2017-07-06 2021-05-28 삼성전자주식회사 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 메모리 시스템
US10346244B2 (en) * 2017-08-10 2019-07-09 Micron Technology, Inc. Shared address counters for multiple modes of operation in a memory device
DE102018122826A1 (de) * 2017-09-21 2019-03-21 Samsung Electronics Co., Ltd. Vorrichtung zum Unterstützen eines Fehlerkorrekturcodes und Testverfahren dafür
TWI808098B (zh) * 2017-09-21 2023-07-11 南韓商三星電子股份有限公司 用於支持錯誤更正碼的裝置及其測試方法
US10908995B2 (en) 2017-09-29 2021-02-02 Nvidia Corporation Securing against errors in an error correcting code (ECC) implemented in an automotive system
JP6861611B2 (ja) * 2017-11-07 2021-04-21 ルネサスエレクトロニクス株式会社 半導体装置及びそれを備えた半導体システム
KR20190054533A (ko) 2017-11-14 2019-05-22 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
US10691533B2 (en) * 2017-12-12 2020-06-23 Micron Technology, Inc. Error correction code scrub scheme
CN108334700B (zh) * 2018-02-05 2021-04-02 武汉科技大学 一种分数阶忆容器的等效电路
US10853168B2 (en) * 2018-03-28 2020-12-01 Samsung Electronics Co., Ltd. Apparatus to insert error-correcting coding (ECC) information as data within dynamic random access memory (DRAM)
US10733046B2 (en) * 2018-04-20 2020-08-04 Micron Technology, Inc. Transaction metadata
KR102553780B1 (ko) * 2018-05-10 2023-07-10 에스케이하이닉스 주식회사 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법
WO2019217118A1 (en) 2018-05-11 2019-11-14 Rambus Inc. Efficient storage of error correcting code information
WO2019222958A1 (en) 2018-05-24 2019-11-28 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
US11816043B2 (en) 2018-06-25 2023-11-14 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of I/O requests
US10725941B2 (en) * 2018-06-30 2020-07-28 Western Digital Technologies, Inc. Multi-device storage system with hosted services on peer storage devices
US11361111B2 (en) 2018-07-09 2022-06-14 Arm Limited Repetitive side channel attack countermeasures
US11232196B2 (en) * 2018-07-09 2022-01-25 Arm Limited Tracking events of interest to mitigate attacks
US11074126B2 (en) 2018-07-12 2021-07-27 Micron Technology, Inc. Methods for error count reporting with scaled error count information, and memory devices employing the same
US11221910B2 (en) * 2018-07-24 2022-01-11 Micron Technology, Inc. Media scrubber in memory system
US10685736B2 (en) * 2018-07-24 2020-06-16 Dell Products, L.P. Maintaining highest performance of DDR5 channel with marginal signal integrity
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
DE102018126685B3 (de) * 2018-10-25 2019-10-10 Infineon Technologies Ag Verarbeitung von Daten
US10636476B2 (en) 2018-11-01 2020-04-28 Intel Corporation Row hammer mitigation with randomization of target row selection
US20210046760A1 (en) * 2018-12-03 2021-02-18 Hewlett-Packard Development Company, L.P. Logic circuitry
KR20200076846A (ko) * 2018-12-20 2020-06-30 에스케이하이닉스 주식회사 메모리 장치에 저장된 데이터의 에러를 검출하는 장치 및 그 동작 방법
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
CN109857616B (zh) * 2019-01-25 2021-05-18 山东华芯半导体有限公司 一种基于指令的dram控制器带宽效率检测方法
US11016781B2 (en) * 2019-04-26 2021-05-25 Samsung Electronics Co., Ltd. Methods and memory modules for enabling vendor specific functionalities
US11409544B2 (en) * 2019-05-07 2022-08-09 Microsoft Technology Licensing, Llc Dynamically-configurable baseboard management controller
US11182234B2 (en) 2019-05-10 2021-11-23 Arm Limited Tracking events of interest
EP3748637A1 (en) * 2019-06-07 2020-12-09 IHP GmbH - Innovations for High Performance Microelectronics / Leibniz-Institut für innovative Mikroelektronik Electronic circuit with integrated seu monitor
KR20200142213A (ko) 2019-06-12 2020-12-22 삼성전자주식회사 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 메모리 시스템
KR20200144724A (ko) 2019-06-19 2020-12-30 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
US11237903B2 (en) * 2019-06-25 2022-02-01 Intel Corporation Technologies for providing ECC pre-provisioning and handling for cross-point memory and compute operations
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
CN110444243A (zh) * 2019-07-31 2019-11-12 至誉科技(武汉)有限公司 存储设备读错误纠错能力的测试方法、系统及存储介质
US11403172B2 (en) * 2019-08-05 2022-08-02 Cypress Semiconductor Corporation Methods for error detection and correction and corresponding systems and devices for the same
EP3772840B1 (en) 2019-08-06 2023-03-15 Nxp B.V. A security module for a can node
US11599424B2 (en) 2019-08-15 2023-03-07 Cisco Technology, Inc. Dynamic hardware resource shadowing and memory error protection
US11537432B2 (en) 2019-08-15 2022-12-27 Cisco Technology, Inc. Dynamic data-plane resource shadowing
KR20210026201A (ko) * 2019-08-29 2021-03-10 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 리페어 제어 방법
CN110718263B (zh) * 2019-09-09 2021-08-10 无锡江南计算技术研究所 芯片访存通路的高效分段测试系统、方法
KR20210034726A (ko) 2019-09-20 2021-03-31 삼성전자주식회사 메모리 모듈, 그것을 제어하는 메모리 제어기의 에러 정정 방법, 및 그것을포함하는 컴퓨팅 시스템
US11617282B2 (en) 2019-10-01 2023-03-28 Alibaba Group Holding Limited System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers
US11145351B2 (en) * 2019-11-07 2021-10-12 SK Hynix Inc. Semiconductor devices
US11354189B2 (en) 2019-11-07 2022-06-07 SK Hynix Inc. Semiconductor devices and semiconductor systems including the same
US11249843B2 (en) 2019-11-07 2022-02-15 SK Hynix Inc. Semiconductor devices and semiconductor systems including the same
KR20210055865A (ko) 2019-11-07 2021-05-18 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
US11175984B1 (en) * 2019-12-09 2021-11-16 Radian Memory Systems, Inc. Erasure coding techniques for flash memory
US11611358B2 (en) * 2019-12-24 2023-03-21 Kioxia Corporation Systems and methods for detecting or preventing false detection of three error bits by SEC
KR20210085284A (ko) * 2019-12-30 2021-07-08 삼성전자주식회사 Pim 메모리 디바이스, pim 메모리 디바이스를 포함하는 컴퓨팅 시스템 및 pim 메모리 디바이스의 동작 방법
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US11379447B2 (en) 2020-02-06 2022-07-05 Alibaba Group Holding Limited Method and system for enhancing IOPS of a hard disk drive system based on storing metadata in host volatile memory and data in non-volatile memory using a shared controller
TWI708248B (zh) * 2020-02-11 2020-10-21 華邦電子股份有限公司 記憶體裝置和調整用於記憶體裝置的參數的方法
US11436082B2 (en) 2020-02-11 2022-09-06 Micron Technology, Inc. Internal error correction for memory devices
US11221800B2 (en) * 2020-03-02 2022-01-11 Micron Technology, Inc. Adaptive and/or iterative operations in executing a read command to retrieve data from memory cells
US11221913B2 (en) * 2020-03-11 2022-01-11 Micron Technology, Inc. Error check and scrub for semiconductor memory device
US11200114B2 (en) * 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11449386B2 (en) 2020-03-20 2022-09-20 Alibaba Group Holding Limited Method and system for optimizing persistent memory on data retention, endurance, and performance for host memory
US11410713B2 (en) 2020-04-06 2022-08-09 Micron Technology, Inc. Apparatuses and methods for detecting illegal commands and command sequences
JP2021168431A (ja) * 2020-04-09 2021-10-21 ミネベアミツミ株式会社 チェックサム付加方法およびチェックサム付加装置
US11301173B2 (en) 2020-04-20 2022-04-12 Alibaba Group Holding Limited Method and system for facilitating evaluation of data access frequency and allocation of storage device resources
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11314589B2 (en) 2020-05-15 2022-04-26 Intel Corporation Read retry to selectively disable on-die ECC
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
KR20210147132A (ko) 2020-05-27 2021-12-07 삼성전자주식회사 메모리 장치 및 메모리 장치를 포함하는 메모리 모듈
US11170869B1 (en) 2020-06-04 2021-11-09 Western Digital Technologies, Inc. Dual data protection in storage devices
US11322218B2 (en) * 2020-06-08 2022-05-03 Micron Technology, Inc. Error control for memory device
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
KR20210154277A (ko) * 2020-06-11 2021-12-21 삼성전자주식회사 메모리 모듈 및 그의 동작 방법
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11601137B2 (en) 2020-06-18 2023-03-07 Intel Corporation ECC memory chip encoder and decoder
US11438015B2 (en) * 2020-07-10 2022-09-06 Taiwan Semiconductor Manufacturing Company, Ltd. Two-level error correcting code with sharing of check-bits
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
WO2022066178A1 (en) * 2020-09-26 2022-03-31 Intel Corporation Adaptive internal memory error scrubbing and error handling
KR20220044015A (ko) * 2020-09-29 2022-04-06 삼성전자주식회사 메모리 장치의 에러 정정 불가를 예방하는 제어기, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
US11734966B1 (en) 2020-10-15 2023-08-22 Ethernovia Inc. Recursive system layer analysis for achieving functional safety
US11803180B2 (en) 2020-10-15 2023-10-31 Ethernovia Inc. Determining diagnostic coverage for achieving functional safety
CN112349342B (zh) * 2020-11-05 2024-03-22 海光信息技术股份有限公司 维护ddr5内存子系统的维护装置、方法、设备和存储介质
KR20220081644A (ko) 2020-12-09 2022-06-16 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
KR20220090794A (ko) * 2020-12-23 2022-06-30 삼성전자주식회사 메모리 장치, 그것을 제어하는 제어기, 그것을 갖는 메모리 시스템 및 그것의 동작 방법
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
KR20220094489A (ko) 2020-12-29 2022-07-06 삼성전자주식회사 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11409601B1 (en) * 2021-01-26 2022-08-09 Micron Technology, Inc. Memory device protection
US11573854B2 (en) * 2021-02-02 2023-02-07 Nvidia Corporation Techniques for data scrambling on a memory interface
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11625295B2 (en) * 2021-05-10 2023-04-11 Micron Technology, Inc. Operating memory device in performance mode
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage
US20220405601A1 (en) * 2021-06-16 2022-12-22 Western Digital Technologies, Inc. Enhanced digital signal processor (dsp) nand flash
US11579971B2 (en) * 2021-07-14 2023-02-14 Micron Technology, Inc. Apparatuses, systems, and methods for forced error check and scrub readouts
US11664084B2 (en) * 2021-08-02 2023-05-30 Micron Technology, Inc. Memory device on-die ECC data
KR20230072336A (ko) * 2021-11-17 2023-05-24 에스케이하이닉스 주식회사 반도체장치
KR20230073915A (ko) * 2021-11-19 2023-05-26 에스케이하이닉스 주식회사 에러체크 및 스크럽동작방법 및 이를 이용한 반도체시스템
WO2023099933A1 (en) * 2021-12-02 2023-06-08 Micron Technology, Inc. Memory device with data scrubbing capability and methods
US11797215B2 (en) * 2021-12-09 2023-10-24 SK Hynix Inc. Memory device and memory system performing error check and scrub operation
US20230214119A1 (en) * 2021-12-30 2023-07-06 Micron Technology, Inc. Data stripe protection
US20230231574A1 (en) * 2022-01-20 2023-07-20 Micron Technology, Inc. Syndrome check functionality to differentiate between error types
US11966287B2 (en) * 2022-03-22 2024-04-23 Micron Technology, Inc. Multiple bit error detection in scrub operations
US11841765B2 (en) * 2022-03-31 2023-12-12 Micron Technology, Inc. Scrub operations with row error information
CN115190069B (zh) * 2022-04-26 2023-12-05 中国人民解放军国防科技大学 一种高性能片上网络容错路由器装置
US20230350748A1 (en) * 2022-04-27 2023-11-02 Micron Technology, Inc. Apparatuses, systems, and methods for per row error scrub information
US20230352112A1 (en) * 2022-04-27 2023-11-02 Micron Technology, Inc. Apparatuses, systems, and methods for per row error scrub information registers
CN117238356A (zh) * 2022-06-08 2023-12-15 成都华为技术有限公司 内存模组和电子设备
US20230409426A1 (en) * 2022-06-16 2023-12-21 Advanced Micro Devices, Inc. Host-level error detection and fault correction
US11972789B2 (en) * 2022-08-17 2024-04-30 Changxin Memory Technologies, Inc. Memory device with error per row counter (EpRC) performing error check and scrub (ECS)
CN117636997A (zh) * 2022-08-17 2024-03-01 长鑫存储技术有限公司 计数电路及存储器
US11961578B2 (en) 2022-09-01 2024-04-16 Nanya Technology Corporation Test device and test method thereof
CN115295040B (zh) * 2022-10-08 2023-06-02 睿力集成电路有限公司 控制电路、控制方法以及半导体存储器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0080354A2 (en) * 1981-11-23 1983-06-01 Sperry Corporation Computer memory checking system
US8245109B2 (en) * 2006-03-31 2012-08-14 Hewlett-Packard Development Company, L.P. Error checking and correction (ECC) system and method
CN103593252A (zh) * 2012-08-14 2014-02-19 旺宏电子股份有限公司 具有动态错误侦测及更正的存储器
CN103597450A (zh) * 2011-05-20 2014-02-19 高通股份有限公司 具有存储在存储器页的一部分中的元数据的存储器
US8914687B2 (en) * 2011-04-15 2014-12-16 Advanced Micro Devices, Inc. Providing test coverage of integrated ECC logic en embedded memory

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307356A (en) 1990-04-16 1994-04-26 International Business Machines Corporation Interlocked on-chip ECC system
US5633767A (en) 1995-06-06 1997-05-27 International Business Machines Corporation Adaptive and in-situ load/unload damage estimation and compensation
JP2001501000A (ja) 1996-08-16 2001-01-23 東京エレクトロン株式会社 エラー検出および訂正を有する半導体メモリ装置
US6052818A (en) 1998-02-27 2000-04-18 International Business Machines Corporation Method and apparatus for ECC bus protection in a computer system with non-parity memory
US6487685B1 (en) 1999-09-30 2002-11-26 Silicon Graphics, Inc. System and method for minimizing error correction code bits in variable sized data formats
US6256757B1 (en) 2000-01-24 2001-07-03 Credence Systems Corporation Apparatus for testing memories with redundant storage elements
DE10017543A1 (de) 2000-04-08 2001-10-11 Bosch Gmbh Robert Verfahren zur Fehlererkennung und Fehlerheilung
US6785856B1 (en) 2000-12-07 2004-08-31 Advanced Micro Devices, Inc. Internal self-test circuit for a memory array
US6957378B2 (en) 2001-06-04 2005-10-18 Kabushiki Kaisha Toshiba Semiconductor memory device
US7003698B2 (en) 2002-06-29 2006-02-21 Intel Corporation Method and apparatus for transport of debug events between computer system components
US7096407B2 (en) 2003-02-18 2006-08-22 Hewlett-Packard Development Company, L.P. Technique for implementing chipkill in a memory system
US7234099B2 (en) 2003-04-14 2007-06-19 International Business Machines Corporation High reliability memory module with a fault tolerant address and command bus
US6853602B2 (en) * 2003-05-09 2005-02-08 Taiwan Semiconductor Manufacturing Company, Ltd. Hiding error detecting/correcting latency in dynamic random access memory (DRAM)
JP3889391B2 (ja) * 2003-11-06 2007-03-07 ローム株式会社 メモリ装置および表示装置
US7370260B2 (en) 2003-12-16 2008-05-06 Freescale Semiconductor, Inc. MRAM having error correction code circuitry and method therefor
US7376887B2 (en) 2003-12-22 2008-05-20 International Business Machines Corporation Method for fast ECC memory testing by software including ECC check byte
JP4401319B2 (ja) * 2005-04-07 2010-01-20 株式会社日立製作所 Dram積層パッケージ並びにdram積層パッケージの試験および救済方法
US7650558B2 (en) 2005-08-16 2010-01-19 Intel Corporation Systems, methods, and apparatuses for using the same memory type for both error check and non-error check memory systems
US7227797B2 (en) 2005-08-30 2007-06-05 Hewlett-Packard Development Company, L.P. Hierarchical memory correction system and method
US7739576B2 (en) * 2006-08-31 2010-06-15 Micron Technology, Inc. Variable strength ECC
US20090132876A1 (en) 2007-11-19 2009-05-21 Ronald Ernest Freking Maintaining Error Statistics Concurrently Across Multiple Memory Ranks
US8161356B2 (en) 2008-03-28 2012-04-17 Intel Corporation Systems, methods, and apparatuses to save memory self-refresh power
JP2010123156A (ja) 2008-11-17 2010-06-03 Elpida Memory Inc 半導体記憶装置及びその制御方法
KR101001446B1 (ko) 2008-12-24 2010-12-14 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그것의 동작 방법
KR20100102925A (ko) 2009-03-12 2010-09-27 삼성전자주식회사 리드 리클레임 신호를 발생하는 불휘발성 메모리 장치 및 이를 포함하는 메모리 시스템
US8230305B2 (en) 2009-04-02 2012-07-24 Micron Technology, Inc. Extended single-bit error correction and multiple-bit error detection
US9170879B2 (en) 2009-06-24 2015-10-27 Headway Technologies, Inc. Method and apparatus for scrubbing accumulated data errors from a memory system
US8495467B1 (en) 2009-06-30 2013-07-23 Micron Technology, Inc. Switchable on-die memory error correcting engine
CN102640116B (zh) * 2009-09-28 2016-01-20 辉达公司 对外部dram的错误检测和纠正
US8862973B2 (en) * 2009-12-09 2014-10-14 Intel Corporation Method and system for error management in a memory device
US8464125B2 (en) 2009-12-10 2013-06-11 Intel Corporation Instruction-set architecture for programmable cyclic redundancy check (CRC) computations
US8230255B2 (en) 2009-12-15 2012-07-24 International Business Machines Corporation Blocking write acces to memory modules of a solid state drive
US8438344B2 (en) * 2010-03-12 2013-05-07 Texas Instruments Incorporated Low overhead and timing improved architecture for performing error checking and correction for memories and buses in system-on-chips, and other circuits, systems and processes
US8640005B2 (en) 2010-05-21 2014-01-28 Intel Corporation Method and apparatus for using cache memory in a system that supports a low power state
JP2012050008A (ja) 2010-08-30 2012-03-08 Toshiba Corp 誤り検出訂正方法および半導体メモリ装置
US8645811B2 (en) * 2011-10-27 2014-02-04 Dell Products L.P. System and method for selective error checking
US8892986B2 (en) 2012-03-08 2014-11-18 Micron Technology, Inc. Apparatuses and methods for combining error coding and modulation schemes
KR101938210B1 (ko) 2012-04-18 2019-01-15 삼성전자주식회사 낸드 플래시 메모리, 가변 저항 메모리 및 컨트롤러를 포함하는 메모리 시스템의 동작 방법
EP2677429A1 (en) * 2012-06-18 2013-12-25 Renesas Electronics Europe Limited Error correction
US9037949B1 (en) 2012-06-21 2015-05-19 Rambus Inc. Error correction in a memory device
US9009566B2 (en) 2012-09-12 2015-04-14 Macronix International Co., Ltd. Outputting information of ECC corrected bits
KR102002925B1 (ko) * 2012-11-01 2019-07-23 삼성전자주식회사 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법
US9070479B2 (en) 2013-01-21 2015-06-30 Sandisk Technologies Inc. Systems and methods of updating read voltages
US9318182B2 (en) 2013-01-30 2016-04-19 Intel Corporation Apparatus, method and system to determine memory access command timing based on error detection
JP2014157391A (ja) 2013-02-14 2014-08-28 Sony Corp 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法
US8996953B2 (en) 2013-03-01 2015-03-31 International Business Machines Corporation Self monitoring and self repairing ECC
US9032264B2 (en) 2013-03-21 2015-05-12 Kabushiki Kaisha Toshiba Test method for nonvolatile memory
CN103218275B (zh) * 2013-03-28 2015-11-25 华为技术有限公司 数据错误修复方法、装置和设备
KR20150020385A (ko) * 2013-08-13 2015-02-26 에스케이하이닉스 주식회사 데이터 저장 장치, 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템
US20150067437A1 (en) 2013-08-30 2015-03-05 Kuljit S. Bains Apparatus, method and system for reporting dynamic random access memory error information
EP3058571A1 (en) 2013-10-15 2016-08-24 Rambus Inc. Load reduced memory module
CN103744744B (zh) * 2014-02-08 2017-08-25 威盛电子股份有限公司 数据储存装置以及易失性存储器的数据校验方法
US9299457B2 (en) 2014-02-23 2016-03-29 Qualcomm Incorporated Kernel masking of DRAM defects
US9495232B2 (en) 2014-03-28 2016-11-15 Intel IP Corporation Error correcting (ECC) memory compatibility
US20150331732A1 (en) * 2014-05-13 2015-11-19 Rambus Inc. Memory device having storage for an error code correction event count
US9367392B2 (en) 2014-08-01 2016-06-14 Winbond Electronics Corporation NAND flash memory having internal ECC processing and method of operation thereof
US9766972B2 (en) 2014-08-07 2017-09-19 Pure Storage, Inc. Masking defective bits in a storage array
KR102204391B1 (ko) * 2014-08-18 2021-01-18 삼성전자주식회사 공유 가능한 ecc 셀 어레이를 갖는 메모리 장치
CN104575585A (zh) * 2015-01-15 2015-04-29 西安华芯半导体有限公司 一种dram扩展结构及dram扩展方法
US9940457B2 (en) 2015-02-13 2018-04-10 International Business Machines Corporation Detecting a cryogenic attack on a memory device with embedded error correction
US9606851B2 (en) * 2015-02-02 2017-03-28 International Business Machines Corporation Error monitoring of a memory device containing embedded error correction
US9811420B2 (en) 2015-03-27 2017-11-07 Intel Corporation Extracting selective information from on-die dynamic random access memory (DRAM) error correction code (ECC)
US9691505B2 (en) 2015-03-27 2017-06-27 Intel Corporation Dynamic application of error correction code (ECC) based on error type

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0080354A2 (en) * 1981-11-23 1983-06-01 Sperry Corporation Computer memory checking system
US8245109B2 (en) * 2006-03-31 2012-08-14 Hewlett-Packard Development Company, L.P. Error checking and correction (ECC) system and method
US8914687B2 (en) * 2011-04-15 2014-12-16 Advanced Micro Devices, Inc. Providing test coverage of integrated ECC logic en embedded memory
CN103597450A (zh) * 2011-05-20 2014-02-19 高通股份有限公司 具有存储在存储器页的一部分中的元数据的存储器
CN103593252A (zh) * 2012-08-14 2014-02-19 旺宏电子股份有限公司 具有动态错误侦测及更正的存储器

Also Published As

Publication number Publication date
CN107924349A (zh) 2018-04-17
CN107924705A (zh) 2018-04-17
EP3341939A1 (en) 2018-07-04
WO2017039949A1 (en) 2017-03-09
US9817714B2 (en) 2017-11-14
US20170060680A1 (en) 2017-03-02
EP3341844A4 (en) 2019-05-22
CN113808658A (zh) 2021-12-17
EP3341939B1 (en) 2020-07-15
EP3992973A1 (en) 2022-05-04
CN107924698A (zh) 2018-04-17
US10127101B2 (en) 2018-11-13
US20170060681A1 (en) 2017-03-02
EP3341844A1 (en) 2018-07-04
US20170063394A1 (en) 2017-03-02
EP3341941B1 (en) 2021-12-22
CN107924349B (zh) 2021-11-23
WO2017039948A1 (en) 2017-03-09
EP3341844B1 (en) 2020-10-21
CN107924705B (zh) 2022-08-16
US20190073261A1 (en) 2019-03-07
EP3341941A1 (en) 2018-07-04
US9842021B2 (en) 2017-12-12
EP3341939A4 (en) 2019-04-24
WO2017039947A1 (en) 2017-03-09
EP3341941A4 (en) 2019-05-01
US10810079B2 (en) 2020-10-20

Similar Documents

Publication Publication Date Title
CN107924698B (zh) Dram设备、错误校正管理的方法和存储器控制器
US10496473B2 (en) Extracting selective information from on-die dynamic random access memory (DRAM) error correction code (ECC)
EP3453022B1 (en) Internal error checking and correction (ecc) with extra system bits
US10572343B2 (en) Targeted aliasing single error correction (SEC) code
EP3910475B1 (en) Read retry to selectively disable on-die ecc
CN109661654B (zh) 存储器中的差错校验和纠正码的扩展应用
US11704194B2 (en) Memory wordline isolation for improvement in reliability, availability, and scalability (RAS)

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