CN109065096A - 具有错误校正逻辑的存储模块 - Google Patents

具有错误校正逻辑的存储模块 Download PDF

Info

Publication number
CN109065096A
CN109065096A CN201810789570.1A CN201810789570A CN109065096A CN 109065096 A CN109065096 A CN 109065096A CN 201810789570 A CN201810789570 A CN 201810789570A CN 109065096 A CN109065096 A CN 109065096A
Authority
CN
China
Prior art keywords
memory
error
memory module
data
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810789570.1A
Other languages
English (en)
Inventor
G.特雷齐斯
A.哈纳
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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 Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Priority to CN201810789570.1A priority Critical patent/CN109065096A/zh
Publication of CN109065096A publication Critical patent/CN109065096A/zh
Pending legal-status Critical Current

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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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
    • G06F11/1052Bypassing or disabling error detection or correction
    • 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
    • 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/0683Plurality of storage devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • 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/0409Online test
    • 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

Landscapes

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

Abstract

一种存储模块,包括错误校正逻辑,用于为存储在存储模块中的数据提供数据错误保护。该错误校正逻辑可在使能状态和禁用状态之间选择性地控制。如果错误校正逻辑处于禁用状态中,则存储在存储模块中的数据不具有由存储模块提供的错误保护。

Description

具有错误校正逻辑的存储模块
背景技术
本申请是申请号:201280076543.0,发明名称:具有错误校正逻辑的存储模块的分案申请。在电子器件中,存储模块可以被用于存储数据和机器可读指令。可以使用动态随机访问存储器(DRAM)、闪存或另一类型的存储器来实施存储模块。为了保护存储在存储器中的数据,可以执行错误检测和校正。错误检测和校正可以基于与数据一起存储的错误校正码。
附图说明
关于下面的附图描述一些实施例:
图1是根据一些实施方式的包括存储模块、存储控制器和数据请求器的示例性布置的框图;
图2是根据一些实施方式的错误校正过程的流程图;
图3是具有使能的错误校正逻辑的存储模块的框图;以及
图4是根据一些实施方式的具有禁用的错误校正逻辑的存储模块的框图。
具体实施方式
为了保护存储模块中的数据,可以采用各种错误检测和校正技术。错误检测和校正技术还可以被称为错误校正码(ECC)技术。作为示例,一种类型的ECC技术是单错误校正和双错误检测(SECDED)技术,其能够校正单个比特数据错误和检测高达双比特数据错误。SECDED技术能够被实施有组合硬件电路,并且因此被认为是相对较快的ECC技术。另一种类型的ECC技术是里德-所罗门(Reed-Solomon)块ECC技术,其是更强大和高效的ECC技术,能够检测和校正比SECDED技术更多的数据错误比特。然而,里德-所罗门块ECC技术与SECDED技术相比在计算方面开支更大并且可能花费更长的计算时间。
相对较快的ECC技术(诸如SECDED技术)可以被实施在存储器映射存储装置中,该存储装置是与处理器或电子器件的其它数据请求器相对更紧密结合在一起的存储装置。存储器映射存储装置被设计为具有相对较快的访问时间以改进处理器或其它数据请求器的性能。
在另一方面,相对较慢的ECC技术(诸如里德-所罗门块ECC技术)可以与块存储装置一起使用,该块存储装置可以被实施有相对较慢的存储装置,诸如基于磁盘的存储器件或者固态存储器件(诸如闪存器件)。“块存储装置”可以指代在预定义的块中存储数据的存储装置,该预定义的块可以是相对较大的块(例如在基于磁盘的存储器件上的扇区或者固态存储器件的块)。块存储装置可以被用作电子器件的辅助、永久性存储装置。
因为块存储装置可以容许相对较慢的访问时间,所以可以使用相对强大但呈现相对较慢计算时间的较慢ECC技术(诸如里德-所罗门块ECC技术)。
传统上,不同类型的存储装置(例如存储器映射存储装置和块存储装置)被实施有对应的不同存储模块。
根据一些实施方式,存储模块选择性地可用作存储器映射存储装置和块存储装置。更一般地,根据一些实施方式的存储模块选择性地可用在多个模式的任何一种中。存储模块指代包括存储器(其可以被实施有一个或多个存储器件)和关联电路的组件。在一些示例中,存储模块可以包括电路板(或其它支撑基板),(一个或多个)存储器件和关联电路可以被安装在该电路板上。例如,存储模块可以是双列直插存储模块(DIMM),其可以包括安装在电路板上的动态随机存取存储(DRAM)器件。在其它示例中,可以使用包括其它类型的存储器件的其它类型的存储模块。更一般地,存储模块可以包括一种类型的(一个或多个)存储器件或者多个不同类型的存储器件,包括例如DRAM器件、静态随机存取存储(SRAM)器件、闪存器件等。
为了支持选择性使用存储模块作为存储器映射存储装置或块存储装置,可以选择性地使用不同的ECC技术。作为示例,如果存储模块被用作存储器映射存储装置,那么相对较快的ECC技术(诸如SECDED技术)可以被激活。在另一方面,如果存储模块被用作块存储装置,那么更强大的ECC技术(里德-所罗门块ECC技术)可以被激活。
图1是包括存储模块102、管理对存储在存储模块102中的数据的访问的存储控制器104,以及能够向存储控制器104提交数据请求(例如读取请求和写入请求)的请求器106的示例性布置(例如电子器件)的框图。电子器件可以是计算机、智能电话、个人数字助理、游戏设备、存储系统、网络路由器或交换机等。请求器106可以是处理器。替代地,请求器106可以是输入/输出(I/O)器件,其能够访问存储在存储模块102中的数据。
请求器106向存储控制器104提交数据请求。响应于该数据请求,存储控制器104向存储模块102发出数据访问命令(读取命令或写入命令)以访问存储模块102中的数据。
存储模块102包括具有存储器件110的存储器108。在一些示例中,存储模块102包括支撑基板103(例如电路板或其它类型的支撑基板),存储器件110可以被安装在支撑基板103上。存储器件110在一些示例中可以是分立的存储芯片。例如,该存储芯片可以包括如下各项的任何或某一种组合:DRAM芯片、SRAM芯片、闪存芯片或其它类型的存储芯片。存储芯片可以指代封装的集成电路(IC)存储器件。
在其它示例中,存储器件110可以包括布置在共同IC衬底上的相应的块或存储单元。
存储器108包括ECC逻辑112,ECC逻辑112能够执行错误检测和校正从而保护存储在存储器件110中的数据。在一些示例中,ECC逻辑112可以包括在存储器件110的相应存储器件中提供的ECC引擎。替代地,ECC逻辑112可以与存储器件110分离。
存储模块102还包括I/O管脚114,其耦合到存储总线105以允许在存储模块102和存储控制器104之间的数据和控制信号通信。
根据一些实施方式,基于存储模块102的所选模式,ECC逻辑112被选择性地使能或禁用。例如,如果存储模块102要被用于第一模式(例如存储器映射存储装置模式)中,则ECC逻辑112被使能。在另一方面,如果存储模块102要被用于第二模式(例如块存储装置模式)中,则ECC逻辑112被禁用。
ECC逻辑112的使能或禁用由使能/禁用信号116来控制,使能/禁用信号116可以对应于I/O管脚114的控制管脚。使能/禁用信号116的状态可以由存储控制器104或者由系统中某个其它控制器控制。作为再另一替代方案,控制管脚可以被连接到几个不同电压之一以用于使能或禁用ECC逻辑112。例如,如果控制管脚连接到高电压,则ECC逻辑112被使能,而如果控制管脚连接到低电压,则ECC逻辑112被禁用。把控制管脚连接高电压或低电压可以涉及把控制管脚静态耦合到高电压或低电压。
在另一实施方式中,替代使用存储模块102的I/O管脚来使能或禁用ECC逻辑112,可以采用不同的控制机制。例如,存储模块102可以包括控制寄存器,该控制寄存器可以由存储控制器104或另一控制器编程。该控制寄存器可以被编程为利用第一值来使能ECC逻辑112,并且利用第二值来禁用ECC逻辑112。
当ECC逻辑112被禁用时,则存储器108将在存储模块102不提供任何数据错误保护的情况下存储数据。换句话说,当ECC逻辑112被禁用时,在存储模块102中不执行用于提供数据错误保护的内部错误检测和校正。在一些示例中,ECC逻辑112可以实施SECDED技术。在其它示例中,ECC逻辑112可以实施不同的ECC技术。
如图1中所描绘的,存储控制器104还包括第一ECC逻辑118。在一些实施方式中,可以在存储模块102的ECC逻辑112被禁用时激活存储控制器104的第一ECC逻辑118。存储控制器104的第一ECC逻辑118可以被用于实施更强大的ECC技术,诸如里德-所罗门块ECC技术。
在一些实施方式中,当存储模块102被配置为在第一模式(例如存储器映射存储装置模式)中进行操作时,存储模块102中的ECC逻辑112被使能,但是存储控制器104中的第一ECC逻辑118被禁用。在另一方面,如果存储模块102被配置为在第二模式(例如块存储装置模式)中进行操作,则存储模块102中的ECC逻辑112被禁用,但是存储控制器104中的第一ECC逻辑118被使能。
要注意,存储控制器104中的第一ECC逻辑118被用于实施ECC技术以代替模块102的ECC逻辑112的ECC技术。
在进一步实施方式中,存储控制器104还可以包括第二ECC逻辑120,在存储模块102被配置为在第一模式中进行操作时可以激活第二ECC逻辑120。因此,当存储模块102被配置为在第一模式中进行操作时,存储模块102中的ECC逻辑112和存储控制器104中的第二ECC逻辑120两者都被使能,但是存储控制器104中的第一ECC逻辑118被禁用。存储控制器104中的第二ECC逻辑120将与存储模块102中的ECC逻辑112协作以便提供对存储在存储模块102的存储器108中的数据的数据错误保护。
例如,除了由存储模块102中的ECC逻辑112提供的SECDED技术之外,第二ECC逻辑120也可以实施SECDED或其它ECC技术。存储模块102中的ECC逻辑112可以被用于提供对每个个体存储器件110的数据的SECDED保护,而存储控制器104中的第二ECC逻辑120可以被用于提供对跨越多个存储器件110的数据的SECDED或其它ECC保护(下面进一步讨论)。
虽然第一ECC逻辑118和第二ECC逻辑120被描绘为是存储控制器104的部分,但是要注意,第一和/或第二ECC逻辑118和120可以被实施在系统的另一器件中,诸如实施在请求器106中或在某种其它器件中。
图2是根据一些实施方式的形成存储模块(例如存储模块102)的过程的流程图。图2的过程包括在存储模块中提供(在202)ECC逻辑以用于保护存储在存储模块的存储器中的数据。该过程进一步包括提供(在204)控制机制以选择性地使能和禁用存储模块中的ECC逻辑。当存储模块在第一模式中进行操作时,控制机制可以使能存储模块中的ECC逻辑,并且当存储模块在第二模式中进行操作时,控制机制可以禁用存储模块中的ECC逻辑。
图3是当存储模块102被选择为在第一模式中进行操作时存储模块102的示例性布置的框图。在图3的示例中,存储模块102包括九个存储芯片110-1到110-9。在其它示例中,存储模块102中存储芯片的数量可以不同。
在图3的示例中,存储芯片110-1到110-8中的每一个都存储真实数据(表示为白方框302)以及ECC数据(表示为杂乱(hashed)方框304)。相反地,另一存储芯片110-9仅存储ECC数据(由杂乱方框306和307表示)。在其它实施方式中,可以提供仅存储ECC数据的多个存储芯片110-9。
每个存储芯片110-1到110-9存储多个码字,其中每个码字包括10字节的数据(一字节具有8比特)。每个字节被表示为相应存储芯片中的方框(302、304或306)。因此,在图3的情况下,相应存储芯片中的一列字节表示一码字。虽然在图3中在每个存储芯片中仅示出了一个码字,但是存储芯片可以存储多个码字。
在存储芯片110-1到110-8的每个内,使用码字的8个字节(302)来存储真实数据(例如,用户数据、应用数据、机器可读指令等),而使用码字的2个字节(304)来存储ECC数据(其用于执行错误检测和校正)。每个存储芯片110-1到110-8还包括ECC引擎308。在写入期间,存储芯片(110-1到110-8)的ECC引擎308产生一码字,该码字包括8个字节(302)的真实数据以及基于8个字节(302)的真实数据生成的两个字节(304)的ECC数据。在读取期间,ECC引擎308应用错误检测和校正以使用对应的2字节(304)的ECC数据来保护相应码字中的8个字节(302)的数据。
在存储芯片110-9中,每个字节(306)包含基于跨越一行存储芯片110-1到110-8的相应8个字节产生的ECC数据。例如,图3中示出的行310包括跨越存储芯片110-1到110-8的8个数据字节302以及存储芯片110-9中的ECC字节306。行310的ECC字节306中的ECC数据基于包含在跨越行310中的存储芯片110-1到110-8的字节302中的真实数据。
存储芯片110-9还存储2字节(307)的ECC数据,该ECC数据基于存储芯片110-9的8个ECC字节(306)中的ECC数据。存储芯片110-9包括ECC引擎308,其能够根据8个ECC字节(306)中的ECC数据计算2个字节(307)中的ECC数据。图3中描绘的存储芯片110-9的10个字节也构成码字。2个字节(307)的ECC数据由ECC引擎308用于在由字节306和307构成的码字中应用数据错误检测和校正。
在存储芯片110-1到110-9的对应之一中的每个ECC引擎308单独地执行针对存储在相应存储芯片中的相应码字的数据错误检测和校正。
在另一方面,存储芯片110-9中的ECC字节306由存储控制器104中的第二ECC逻辑120(图1)用来应用针对在跨越存储芯片110-1到110-8的行中的数据的错误检测和校正。
虽然图3示例性地指代其中每个存储芯片具有特定数量的字节的特定布置,但是要注意的是,在其它示例中可以采用不同布置。方框302、304、306和307中的每一个可以表示其它数据大小(而不是字节)。
在操作中,当数据被写入到存储芯片(诸如例如存储芯片110-1)的真实数据字节302时,对应的ECC数据基于该写入数据被产生。该ECC数据然后被存储在存储芯片110-1的ECC字节304中。另外,当存储芯片110-1到110-8的任何一个或多个中的(一个或多个)数据字节302被改变时,对应的ECC数据基于跨越多个存储芯片的该被改变的数据被产生(由图1的存储控制器104中的第二ECC逻辑120),并且存储在存储芯片110-9中的对应ECC字节306中。
在读取操作(诸如存储芯片110-1的读取)期间,对应的ECC引擎308使用存储芯片110-1中的ECC字节304来执行关于存储芯片110-1中的真实数据字节302的错误检测和校正。如果跨越8个存储芯片110-1到110-8读取数据(在字节302中),那么来自存储芯片110-9的对应的ECC字节306也被取回并提供给第二ECC逻辑120(在图1的存储控制器104中)以便执行在跨越存储芯片110-1到110-8的行中读取的数据的错误检测和校正。
图4是在第二操作模式中进行操作的存储模块102的框图。在第二模式中,存储芯片110-1到110-8中的ECC引擎308被禁用(如由每个ECC引擎308中的X所指示的)。
要注意,图4仅示出了存储芯片110-1到110-8(当存储模块102在第二模式中进行操作时在一些示例中不使用第九存储芯片110-9)。要注意,如果存储控制器104中的第一ECC逻辑118(图1)在存储模块102处于第二模式中时被激活,则存储芯片110-1到110-8可以存储ECC数据(除真实数据之外)以供第一ECC逻辑118使用。例如,如果第一ECC逻辑118实施里德-所罗门块ECC技术,那么对应的ECC数据将被存储在存储芯片110-1到110-8中。
使用根据一些实施方式的技术或机制,可以提供存储模块的更灵活的用途。存储模块可以被选择性地用在不同模式中,并且当用在这样的不同模式中时,可以提供不同的ECC保护。在不同模式中使用共同存储模块的能力提高了制造效率并且减少了成本。要注意,每个存储芯片的ECC字节的数量可以不同,并且可以使得它对于存储模块的用户是透明的。存储模块的不同加工或设计可以使用每个存储芯片不同数量的ECC字节。
在前面的描述中,阐述了许多细节以便提供对本文公开的主题的理解。然而,可以在不具有一些或所有这些细节的情况下实践实施方式。其它实施方式可以包括对以上讨论的细节的修改和变化。所附权利要求意图覆盖这样的修改和变化。

Claims (12)

1.一种存储模块(102),包括:
存储器(108),以及
错误校正逻辑(112,308),用于检测和校正存储在存储器中数据的错误,其中所述错误校正逻辑(112)可在使能状态和禁用状态之间选择性地控制,
其中,如果所述错误校正逻辑(112)处于禁用状态中,则存储器(108)在存储模块(102)不提供错误保护的情况下存储数据,并且
其特征在于所述存储器(108)包括多个存储器件(110-1至110-9),并且至少所述存储器件(110-1至110-9)的子集存储错误校正码(304)以在所述错误校正逻辑(112,308)处于使能的情况下供所述错误校正逻辑(112,308)使用,并且所述存储器件(110-1至110-9)的至少另一存储器件存储基于跨越所述子集的存储器件(110-1至110-9)的数据的错误校正码(306,307)。
2.根据权利要求1的存储模块,还包括:
输入/输出管脚(114),用于与存储模块(102)外部的存储控制器(104)通信。
3.根据权利要求2的存储模块,其中如果所述错误校正逻辑(112,308)处于禁用状态中,则存储器(108)在存储控制器(104)提供错误保护的情况下存储数据。
4.根据权利要求3的存储模块,其中由存储控制器(104)提供的错误保护使用与由存储模块(102)中的所述错误校正逻辑使用的错误检测和校正技术不同的错误检测和校正技术。
5.根据权利要求1的存储模块,其中所述至少另一存储器件(110-1至110-9)中的错误校正码可由存储控制器(104)用于对所述子集的存储器件(110-1至110-9)中的数据应用错误检测和校正。
6.根据权利要求1的存储模块,还包括:
支撑基板,在所述支撑基板上提供存储器和错误校正逻辑(112,308)。
7.一种方法,包括:
在存储模块(102)中提供错误校正逻辑以提供针对存储在存储模块(102)的存储器(108)的多个存储器件(110-1至110-9)的数据的数据错误保护,并且至少所述存储器件(110-1至110-9)的子集存储错误校正码(304)以在所述错误校正逻辑(112,308)处于使能的情况下供所述错误校正逻辑(112,308)使用,并且所述存储器件(110-1至110-9)的至少另一存储器件存储基于跨越所述子集的存储器件(110-1至110-9)的数据的错误校正码(306,307);以及
提供控制机制以选择性地使能或禁用错误校正逻辑(112,308),其中如果所述错误校正逻辑(112,308)被禁用,则存储模块(102)在不具有存储模块进行的任何数据错误保护的情况下存储数据。
8.根据权利要求7的方法,其中提供控制机制包括:提供包括使能或禁用错误校正逻辑(112,308)的信号的控制机制。
9.根据权利要求7的方法,其中提供错误校正逻辑包括在存储模块的相应存储器件中提供错误校正引擎,其中每个错误校正引擎执行对存储在相应存储器件中的数据的数据保护。
10.一种电子器件,包括:
存储控制器(104);以及其特征在于
根据权利要求1至6中任一项的存储模块。
11.根据权利要求10的电子器件,其中存储控制器(104)还包括错误校正逻辑(118,120),用于为跨越存储模块中多个存储器件存储的数据提供数据错误保护。
12.根据权利要求10的电子器件,其中存储控制器(104)还包括错误校正逻辑(118,120),用于在存储模块(102)中的错误校正逻辑(118,120)被禁用时为存储模块(102)中的数据提供数据错误保护,其中如果存储模块中的错误校正逻辑被使能,则存储控制器(104)中的错误校正逻辑(118,120)被禁用。
CN201810789570.1A 2012-12-21 2012-12-21 具有错误校正逻辑的存储模块 Pending CN109065096A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810789570.1A CN109065096A (zh) 2012-12-21 2012-12-21 具有错误校正逻辑的存储模块

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201280076543.0A CN104718578A (zh) 2012-12-21 2012-12-21 具有错误校正逻辑的存储模块
PCT/US2012/071222 WO2014098890A1 (en) 2012-12-21 2012-12-21 Memory module having error correction logic
CN201810789570.1A CN109065096A (zh) 2012-12-21 2012-12-21 具有错误校正逻辑的存储模块

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201280076543.0A Division CN104718578A (zh) 2012-12-21 2012-12-21 具有错误校正逻辑的存储模块

Publications (1)

Publication Number Publication Date
CN109065096A true CN109065096A (zh) 2018-12-21

Family

ID=50978955

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201810789570.1A Pending CN109065096A (zh) 2012-12-21 2012-12-21 具有错误校正逻辑的存储模块
CN201280076543.0A Pending CN104718578A (zh) 2012-12-21 2012-12-21 具有错误校正逻辑的存储模块

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201280076543.0A Pending CN104718578A (zh) 2012-12-21 2012-12-21 具有错误校正逻辑的存储模块

Country Status (4)

Country Link
US (1) US10204008B2 (zh)
EP (2) EP3425507B1 (zh)
CN (2) CN109065096A (zh)
WO (1) WO2014098890A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9715424B1 (en) * 2013-08-23 2017-07-25 Rambus Inc. Memory device and repair method with column-based error code tracking
US11048583B1 (en) * 2015-09-11 2021-06-29 Green Mountain Semiconductor Inc. Flexible, low-latency error correction architecture for semiconductor memory products
EP3274896B1 (en) 2016-04-22 2019-08-21 Hewlett-Packard Enterprise Development LP Configuration of a memory controller for copy-on-write with a resource controller
US10623526B2 (en) * 2016-10-03 2020-04-14 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Dynamically configuring multi-mode hardware components based on workload requirements
US20180121287A1 (en) * 2016-11-01 2018-05-03 Nvidia Corporation Inline error detection and correction techniques
US10572344B2 (en) * 2017-04-27 2020-02-25 Texas Instruments Incorporated Accessing error statistics from DRAM memories having integrated error correction
KR102688433B1 (ko) * 2017-05-07 2024-07-26 에스케이하이닉스 주식회사 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법
US10437315B2 (en) * 2017-06-22 2019-10-08 Intel Corporation System, apparatus and method for dynamically controlling error protection features of a processor
KR102688423B1 (ko) * 2017-07-05 2024-07-26 에스케이하이닉스 주식회사 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법
KR102387195B1 (ko) * 2017-11-30 2022-04-18 에스케이하이닉스 주식회사 메모리 시스템 및 이의 에러 정정 방법
US11728000B1 (en) 2017-12-13 2023-08-15 Board Of Trustees Of The University Of Alabama, For And On Behalf Of The University Of Alabama In Huntsville Systems and methods for detecting counterfeit or defective memory
US11114179B1 (en) * 2017-12-13 2021-09-07 Board Of Trustees Of The University Of Alabama, For And On Behalf Of The University Of Alabama In Huntsville Systems and methods for detecting counterfeit memory
US11177003B1 (en) 2019-03-04 2021-11-16 Board Of Trustees Of The University Of Alabama, For And On Behalf Of The University Of Alabama In Huntsville Systems and methods for runtime analog sanitation of memory
US11139043B2 (en) 2019-05-20 2021-10-05 Board Of Trustees Of The University Of Alabama, For And On Behalf Of The University Of Alabama In Huntsville Systems and methods for identifying counterfeit memory
DE102019212813A1 (de) * 2019-08-27 2021-03-04 Robert Bosch Gmbh Verfahren und Überprüfungseinheit zum Überprüfen von Daten in einer Speichereinheit eines System-on-a-Chip

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015769A1 (en) * 2002-06-19 2004-01-22 Hiroki Nagai Code error corrector
CN1581339A (zh) * 2003-07-31 2005-02-16 惠普开发有限公司 有多组纠错码的数据
US20060256615A1 (en) * 2005-05-10 2006-11-16 Larson Thane M Horizontal and vertical error correction coding (ECC) system and method
US20090193314A1 (en) * 2008-01-25 2009-07-30 Peter Michael Melliar-Smith Forward error correction for burst and random packet loss for real-time multi-media communication
CN101573694A (zh) * 2006-12-19 2009-11-04 英特尔公司 用于小数据结构的ecc保护的方法、系统和装置
US20120278681A1 (en) * 2011-04-29 2012-11-01 Freescale Semiconductor, Inc. Selective error detection and error correction for a memory interface

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1089225B (it) * 1977-12-23 1985-06-18 Honeywell Inf Systems Memoria con dispositivo rivelatore e correttore a intervento selettivo
US5606662A (en) * 1995-03-24 1997-02-25 Advanced Micro Devices, Inc. Auto DRAM parity enable/disable mechanism
US5961660A (en) * 1997-03-03 1999-10-05 International Business Machines Corporation Method and apparatus for optimizing ECC memory performance
US6845472B2 (en) 2000-01-25 2005-01-18 Hewlett-Packard Development Company, L.P. Memory sub-system error cleansing
US7600165B2 (en) 2002-02-13 2009-10-06 Taiwan Semiconductor Manufacturing Co., Ltd. Error control coding method and system for non-volatile memory
US7096407B2 (en) 2003-02-18 2006-08-22 Hewlett-Packard Development Company, L.P. Technique for implementing chipkill in a memory system
US7051166B2 (en) * 2003-04-21 2006-05-23 Hewlett-Packard Development Company, L.P. Directory-based cache coherency scheme for reducing memory bandwidth loss
EP1642289A2 (en) 2003-06-26 2006-04-05 Koninklijke Philips Electronics N.V. Record carrier with two ecc block sizes, and recording method and recorder for recording such record carrier
US7370230B1 (en) * 2004-01-08 2008-05-06 Maxtor Corporation Methods and structure for error correction in a processor pipeline
WO2005076203A1 (ja) 2004-02-03 2005-08-18 Matsushita Electric Industrial Co., Ltd. メモリカード及びデータ処理装置並びにメモリカードの制御方法及び設定方法
US7734980B2 (en) * 2005-06-24 2010-06-08 Intel Corporation Mitigating silent data corruption in a buffered memory module architecture
JP4201783B2 (ja) 2005-08-04 2008-12-24 富士通マイクロエレクトロニクス株式会社 キャッシュメモリ装置、半導体集積回路およびキャッシュ制御方法
ITMI20060746A1 (it) 2006-04-13 2007-10-14 St Microelectronics Srl Metodo di accesso ottimizzato di memorie flash e relativo dispositivo
US20080077840A1 (en) 2006-09-27 2008-03-27 Mark Shaw Memory system and method for storing and correcting data
US7870459B2 (en) * 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
KR101411976B1 (ko) * 2007-07-09 2014-06-27 삼성전자주식회사 플래시 메모리 시스템 및 그것의 에러 정정 방법
US8108761B2 (en) 2007-08-23 2012-01-31 Intel Corporation Optimizing the size of memory devices used for error correction code storage
KR101466694B1 (ko) * 2007-08-28 2014-11-28 삼성전자주식회사 Ecc 회로, ecc 회로를 구비하는 메모리 시스템 및그의 오류 정정 방법
US8103936B2 (en) * 2007-10-17 2012-01-24 Micron Technology, Inc. System and method for data read of a synchronous serial interface NAND
US8239732B2 (en) * 2007-10-30 2012-08-07 Spansion Llc Error correction coding in flash memory devices
US9152496B2 (en) * 2007-12-21 2015-10-06 Cypress Semiconductor Corporation High performance flash channel interface
US8117519B2 (en) 2008-01-15 2012-02-14 Micron Technology, Inc. Memory apparatus and method using erasure error correction to reduce power consumption
JP5166074B2 (ja) 2008-02-29 2013-03-21 株式会社東芝 半導体記憶装置、その制御方法、および誤り訂正システム
US20090282308A1 (en) * 2008-05-09 2009-11-12 Jan Gutsche Memory Cell Arrangement and Method for Reading State Information From a Memory Cell Bypassing an Error Detection Circuit
US20100100797A1 (en) 2008-10-16 2010-04-22 Genesys Logic, Inc. Dual mode error correction code (ecc) apparatus for flash memory and method thereof
US8255774B2 (en) 2009-02-17 2012-08-28 Seagate Technology Data storage system with non-volatile memory for error correction
CN102034552A (zh) 2009-09-25 2011-04-27 威刚科技(苏州)有限公司 存储装置与其资料处理方法
US8650446B2 (en) 2010-03-24 2014-02-11 Apple Inc. Management of a non-volatile memory based on test quality
US8683295B1 (en) * 2010-08-31 2014-03-25 Western Digital Technologies, Inc. Hybrid drive writing extended error correction code symbols to disk for data sectors stored in non-volatile semiconductor memory
WO2012039983A1 (en) 2010-09-24 2012-03-29 Rambus Inc. Memory device with ecc history table
US8738993B2 (en) * 2010-12-06 2014-05-27 Intel Corporation Memory device on the fly CRC mode
US8694857B2 (en) * 2011-04-13 2014-04-08 Inphi Corporation Systems and methods for error detection and correction in a memory module which includes a memory buffer
KR20130021704A (ko) * 2011-08-23 2013-03-06 삼성전자주식회사 멀티포트 메모리 소자, 이를 포함하는 반도체 장치 및 시스템
US8806294B2 (en) * 2012-04-20 2014-08-12 Freescale Semiconductor, Inc. Error detection within a memory
US8966345B2 (en) * 2012-11-28 2015-02-24 Intel Corporation Selective error correction in memory to reduce power consumption

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015769A1 (en) * 2002-06-19 2004-01-22 Hiroki Nagai Code error corrector
CN1581339A (zh) * 2003-07-31 2005-02-16 惠普开发有限公司 有多组纠错码的数据
US20060256615A1 (en) * 2005-05-10 2006-11-16 Larson Thane M Horizontal and vertical error correction coding (ECC) system and method
CN101573694A (zh) * 2006-12-19 2009-11-04 英特尔公司 用于小数据结构的ecc保护的方法、系统和装置
US20090193314A1 (en) * 2008-01-25 2009-07-30 Peter Michael Melliar-Smith Forward error correction for burst and random packet loss for real-time multi-media communication
US20120278681A1 (en) * 2011-04-29 2012-11-01 Freescale Semiconductor, Inc. Selective error detection and error correction for a memory interface

Also Published As

Publication number Publication date
WO2014098890A1 (en) 2014-06-26
CN104718578A (zh) 2015-06-17
EP2936496A1 (en) 2015-10-28
EP2936496A4 (en) 2017-01-18
US20150278017A1 (en) 2015-10-01
EP2936496B1 (en) 2018-11-28
EP3425507A1 (en) 2019-01-09
US10204008B2 (en) 2019-02-12
EP3425507B1 (en) 2020-04-08

Similar Documents

Publication Publication Date Title
CN109065096A (zh) 具有错误校正逻辑的存储模块
KR101203764B1 (ko) 메모리 셀프-리프레시 전력을 절약하기 위한 시스템들, 방법들 및 장치들
CN107924349A (zh) 存储器装置管芯上错误校验和纠正代码
CN103137215B (zh) 向存储器提供低延时错误纠正码能力
US20110208900A1 (en) Methods and systems utilizing nonvolatile memory in a computer system main memory
CN104871137B (zh) 高可靠性存储器控制器
US20190333566A1 (en) Memory controller for controlling refresh operation and memory system including the same
CN103473146A (zh) 存储器控制方法、存储器控制器以及电子装置
US10033411B2 (en) Adjustable error protection for stored data
US20150301760A1 (en) Correction of block errors for a system having non-volatile memory
US11288017B2 (en) Devices, systems, and methods for storing data using distributed control
JP2013016147A (ja) メモリコントローラ及び不揮発性記憶装置
TWI408692B (zh) 記憶體控制器及外部記憶體裝置之間的位址轉換
CN103413571A (zh) 存储器和利用该存储器实现检错纠错的方法
CN115756299A (zh) 用于在易失性存储器中的码字中存储逻辑到物理地址表条目的存储系统和方法
US12099408B2 (en) Memory striping approach that interleaves sub protected data words
DE112020007776T5 (de) Adaptive Fehlerkorrektur zur Verbesserung des Systemspeichers Zuverlässigkeit, Verfügbarkeit und Wartungsfreundlichkeit (RAS)
US9147499B2 (en) Memory operation of paired memory devices
US11036601B2 (en) Memory module, memory system including the same and operation method thereof
US9824779B2 (en) Memory error repair
US8964495B2 (en) Memory operation upon failure of one of two paired memory devices
US10297304B1 (en) Memory device and operating method thereof
JP2011070470A (ja) 半導体記憶装置
JP6039772B1 (ja) メモリシステム
US20140215174A1 (en) Accessing Memory with Security Functionality

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20181221