CN113496746B - 用于检测存储模块缺陷的装置和方法以及存储器*** - Google Patents
用于检测存储模块缺陷的装置和方法以及存储器*** Download PDFInfo
- Publication number
- CN113496746B CN113496746B CN202010259928.7A CN202010259928A CN113496746B CN 113496746 B CN113496746 B CN 113496746B CN 202010259928 A CN202010259928 A CN 202010259928A CN 113496746 B CN113496746 B CN 113496746B
- Authority
- CN
- China
- Prior art keywords
- data
- address
- target
- module
- buffer
- 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
Links
- 230000007547 defect Effects 0.000 title claims abstract description 67
- 238000000034 method Methods 0.000 title claims description 36
- 239000000872 buffer Substances 0.000 claims abstract description 271
- 230000008439 repair process Effects 0.000 claims abstract description 165
- 230000002950 deficient Effects 0.000 claims abstract description 58
- 238000001514 detection method Methods 0.000 claims abstract description 58
- 238000003860 storage Methods 0.000 claims abstract description 40
- 230000004044 response Effects 0.000 claims abstract description 28
- 238000012360 testing method Methods 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 16
- 230000003139 buffering effect Effects 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 101001003569 Homo sapiens LIM domain only protein 3 Proteins 0.000 description 1
- 101000639972 Homo sapiens Sodium-dependent dopamine transporter Proteins 0.000 description 1
- 102100026460 LIM domain only protein 3 Human genes 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
- G11C29/4401—Indication or identification of errors, e.g. for repair for self repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
- G11C29/883—Masking faults in memories by using spares or by reconfiguring with partially good memories using a single defective memory device with reduced capacity, e.g. half capacity
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/04—Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
Landscapes
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种用于检测存储模块缺陷的装置,包括中央缓冲器,用于生成指示对存储模块中目标地址进行检测的检测写入命令和检测读取命令;以及数据缓冲器,耦接到中央缓冲器以接收检测写入命令和检测读取命令;数据缓冲器用于响应检测写入命令将目标数据作为对应于目标地址的修复数据,同时将目标数据写入存储模块;以及响应检测读取命令从目标地址读取目标数据并将其与修复数据进行比较,以及向中央缓冲器发送所述目标数据与修复数据的比较结果;中央缓冲器还用于在生成检测写入命令时记录目标地址作为被检测地址,以及基于关联于被检测地址的比较结果确定是否将被检测地址添加到缺陷地址信息中,缺陷地址信息用于指示存储模块中的缺陷存储地址。
Description
技术领域
本申请涉及存储器技术领域,更具体地,涉及一种用于检测存储模块缺陷的装置和方法以及存储器***。
背景技术
现有的计算机***中通常都采用易失性存储器作为主存储器,例如动态随机存取存储器(DRAM)等,其用于暂时存储中心处理器(CPU)中的运算数据。主存储器通常包括一个或多个存储阵列,并且每个存储阵列中都包括大量的阵列排布的存储单元。
在主存储器生产或使用过程中,某些个别的存储单元可能因为各种原因损坏。如果不能对这些损坏的存储单元进行检测和修复,那么整个主存储器就不能够使用了。现有的存储器检测技术通常只能够离线检测并修复损坏的存储单元,并且需要相应的专用测试软件和设备来辅助检测,检测成本较高。
因此,有必要提供一种改进的用于检测存储器缺陷的装置和方法。
发明内容
本申请的一个目的在于提供一种便于检测存储器缺陷的装置和方法。
根据本申请的一些方面,提供了一种用于检测存储模块缺陷的装置,所述装置包括:中央缓冲器,所述中央缓冲器用于接收对存储模块进行访问的访问命令,并用于生成指示对所述存储模块中目标地址进行检测的检测写入命令和检测读取命令;以及数据缓冲器,所述数据缓冲器耦接在存储器接口与所述存储模块之间以缓冲在其间交互的数据,并且耦接到所述中央缓冲器以接收所述检测写入命令和所述检测读取命令;其中,所述数据缓冲器用于响应所述检测写入命令将目标数据作为对应于目标地址的修复数据,同时将所述目标数据写入所述存储模块;以及响应所述检测读取命令从所述目标地址读取目标数据并将其与所述修复数据进行比较,以及向所述中央缓冲器发送所述目标数据与所述修复数据的比较结果;其中,所述中央缓冲器还用于在生成检测写入命令时记录所述目标地址作为被检测地址,以及基于关联于所述被检测地址的比较结果确定是否将所述被检测地址添加到缺陷地址信息中,其中所述缺陷地址信息用于指示所述存储模块中的缺陷存储地址。
在一些实施例中,所述中央缓冲器包括地址记录模块,用于记录所述缺陷地址信息和所述被检测地址;所述中央缓冲器耦接到存储器接口,用于从所述存储器接口接收对所述目标地址进行写入的写入命令,并且当所述写入命令包括的目标地址不包括在所述缺陷地址信息中且所述地址记录模块存在未占用的地址记录空间时,生成指示对所述写入命令中包括的目标地址进行检测的检测写入命令;或者用于从所述存储器接口接收对所述目标地址进行读取的读取命令,并且检查所述读取命令中包括的目标地址是否属于被检测地址,以及在确定所述目标地址属于被检测地址时生成检测读取命令。
在一些实施例中,所述中央缓冲器还包括:地址生成模块,用于基于预定地址生成算法生成所述存储模块中的目标地址;以及控制模块,用于指示所述地址生成模块生成所述目标地址,并向所述数据缓冲器提供所述检测写入命令或检测读取命令,以及基于比较结果确定是否将所述被检测地址添加到所述缺陷地址信息中。
在一些实施例中,所述数据缓冲器还包括:数据生成模块,用于响应于所述检测写入命令基于预定数据生成算法生成目标数据,所述目标数据对应于所述检测写入命令中包括的目标地址;比较器,用于比较所述修复数据与从所述目标地址读取出的目标数据;以及错误报告模块,用于将所述修复数据与所述目标数据的比较结果提供给所述中央缓冲器。
在一些实施例中,所述数据缓冲器还包括数据记录模块,用于从所述数据生成模块接收并记录所述目标数据并作为所述修复数据;所述比较器还用于从所述数据记录模块接收所述修复数据。
在一些实施例中,所述比较器还用于从所述数据生成模块接收所述目标数据并作为所述修复数据。
在一些实施例中,所述数据缓冲器还包括数据记录模块,用于记录所述修复数据。
在一些实施例中,所述装置还包括非暂态存储介质,所述中央缓冲器还用于将所述缺陷地址信息存储到所述非暂态存储介质中。
在一些实施例中,所述中央缓冲器还用于将接收的访问命令中包括的目标地址与缺陷地址信息进行比较,以及根据所述缺陷地址信息的比较结果确定是否生成用于对所述目标地址进行修复的修复访问命令;以及所述数据缓冲器还包括用于记录修复数据的数据记录模块,以及用于根据所述修复访问命令将关联于所述访问命令的目标数据写入所述数据记录模块作为对应目标地址的修复数据,或者从所述数据记录模块中读出修复数据作为对应目标地址的目标数据。
在本申请的另一方面,还提供了一种用于检测存储模块缺陷的方法,所述存储模块耦接到相互耦接的中央缓冲器与数据缓冲器,其中所述中央缓冲器和数据缓冲器还分别耦接到存储器接口,所述方法包括:a)经由中央缓冲器生成指示对存储模块中目标地址进行检测的检测写入命令,并记录所述目标地址作为被检测地址;b)响应于所述检测写入命令,经由所述数据缓冲器将目标数据作为对应于所述被检测地址的修复数据,并且将所述目标数据写入所述存储模块;c)经由所述中央缓冲器生成指示对所述被检测地址进行检测的检测读取命令;d)响应于所述检测读取命令,经由所述数据缓冲器从所述被检测地址读取目标数据并将其与所述修复数据进行比较,以及向所述中央缓冲器发送所述目标数据与所述修复数据的比较结果;以及e)经由所述中央缓冲器基于关联于所述被检测地址的比较结果确定是否将所述被检测地址添加到缺陷地址信息中,其中所述缺陷地址信息用于指示所述存储模块中的缺陷存储地址。
以上为本申请的概述,可能有简化、概括和省略细节的情况,因此本领域的技术人员应该认识到,该部分仅是示例说明性的,而不旨在以任何方式限定本申请范围。本概述部分既非旨在确定所要求保护主题的关键特征或必要特征,也非旨在用作为确定所要求保护主题的范围的辅助手段。
附图说明
通过下面说明书和所附的权利要求书并与附图结合,将会更加充分地清楚理解本申请内容的上述和其他特征。可以理解,这些附图仅描绘了本申请内容的若干实施方式,因此不应认为是对本申请内容范围的限定。通过采用附图,本申请内容将会得到更加明确和详细地说明。
图1示出了根据本申请一个实施例的存储器***;
图2A和图2B分别示出了数据缓冲器在响应写入命令和修复写入命令时的数据流;
图3A和图3B分别示出了数据缓冲器在响应读取命令和修复读取命令时的数据流;
图4A和图4B分别示出了数据缓冲器响应检测写入命令和检测读取命令时的数据流;
图5示出了图1所示的存储器***中的中央缓冲器与数据缓冲器部分子模块之间的信号通道;
图6示出了根据本申请一个实施例的用于修复存储模块缺陷的方法的流程图;
图7示出了根据本申请一个实施例的具有内建自测试功能的存储器***700;
图8示出了根据本申请一个实施例的用于检测存储模块缺陷的方法800。
具体实施方式
在下面的详细描述中,参考了构成其一部分的附图。在附图中,类似的符号通常表示类似的组成部分,除非上下文另有说明。详细描述、附图和权利要求书中描述的说明性实施方式并非旨在限定。在不偏离本申请的主题的精神或范围的情况下,可以采用其他实施方式,并且可以做出其他变化。可以理解,可以对本申请中一般性描述的、在附图中图解说明的本申请内容的各个方面进行多种不同构成的配置、替换、组合,设计,而所有这些都明确地构成本申请内容的一部分。
图1示出了根据本申请一个实施例的存储器***100。该存储器***100具有修复和/或检测存储模块缺陷的功能,并且能够兼容现有标准的存储器***。在一些实施例中,存储器***100可以是符合JEDEC双倍速率同步动态随机存取存储器(SDRAM)标准的存储器***,这些存储器标准例如包括JEDEC DDR、DDR2、DDR3、DDR4、DDR5以及其他双倍速率存储器标准。此外,存储器***100也可以是符合其他标准或协议的内部存储器,例如RAMBUS内部存储器,或者可以是符合未来存储器标准或协议的存储器。
如图1所示,该存储器***100包括多个存储模块102(图中示例性地标示为DRAM),其中每个存储模块102都包括阵列排布的多个存储单元。一些实施例中,存储模块可以包括易失性存储器(例如,动态随机存储器)、非易失性存储器(快闪存储器,例如NAND或NOR快闪存储器)或者这两者的组合。在另一些实施例中,存储模块还可以是采用不同的生产工艺制造的新型存储器,包括但不限于:磁阻式存储器、相变存储器、电阻式存储器、半浮栅存储器,或者任意类型的其他存储器结构。需要说明的是,在此所述的存储模块可以是一颗存储器颗粒,也可以包括两颗或更多颗存储器颗粒。在图1所示的存储器***100中,多个存储模块102被排列为2组存储模块,并且每一组存储模块构成存储器***100的一个存储器通道以存储数据。
存储器***100还包括中央缓冲器104和数据缓冲器(DB)106。在一些实施例中,中央缓冲器104可以是寄存时钟驱动器。具体地,中央缓冲器104耦接到存储器接口108,并且经由存储器接口108接收包括目标地址和访问类型的访问命令。访问命令可以是对存储模块102中的一个或多个目标地址进行访问(例如读取或写入)的控制命令。其中,存储器接口108进一步耦接到主控制器150,以从其接收访问命令和/或待写入到存储器***100中的目标数据,或向主控制器150发送从存储器***100中读取出的目标数据。在一些实施例中,中央缓冲器104通过命令/地址(Command/Address,C/A)总线110接收访问命令。中央缓冲器104还通过存储模块控制总线116耦接到每个存储模块102,以控制这些存储模块102经由数据缓冲器106写入或读出数据。
数据缓冲器106耦接在存储模块102与存储器接口108之间以在其间交互数据。例如,经由数据缓冲器106,存储在存储模块102中的目标数据可以被读取出并发送给存储器接口108,或者经由数据缓冲器106从存储器接口108接收的目标数据可以被写入到存储模块中对应的存储单元。数据缓冲器106包括多个子模块(例如,在图1所示的实施例中为10个),并且每个子模块耦接对应的两个存储模块102,包括多个并行设置的子模块的数据缓冲器106可以提高存储器***100的数据访问带宽。可以理解,本申请并不限制数据缓冲器106子模块的数量。
在实际应用中,存储模块102可能因为生产问题或长时间使用问题而存在少量具有缺陷的存储单元,因而在一些访问操作过程中,写入到缺陷存储单元中的数据可能与之后从该缺陷存储单元中读取出的数据不一致,也即发生错误。可以理解,在访问缺陷存储单元的过程中,并非每次读取的数据都与写入的数据不一致,而是存在一定的统计学概率。相对而言,某个存储单元读取和写入数据不一致的次数越多,则该存储单元存在缺陷的概率也越大。
为了修复这些缺陷存储单元,避免因为存在少量缺陷单元就废弃掉存储器***,图1所示的存储器***100中集成了根据本申请实施例的用于修复的存储模块缺陷的装置。该修复装置能够识别缺陷存储地址,并且在识别之后将目标数据替代地暂存在数据缓冲器便于访问的另一存储空间,而非存储在目标存储地址指向的具有缺陷的存储单元(下文中,也称为“缺陷存储单元”)。这样,后续读取操作时,该另一存储空间存储的数据即可替代缺陷存储单元中存储的数据(不论该数据是与原目标数据一致还是不一致),从而修复了存储模块的缺陷。
具体地,中央缓冲器104包括地址记录模块114,其用于记录缺陷地址信息,缺陷地址信息用于指示存储模块102中的缺陷存储单元的地址(下文中,也称为“缺陷存储地址”)。在一些实施例中,地址记录模块114可以包括多个地址记录单元,每个地址记录单元用于记录一个缺陷存储地址,并且每个地址记录单元都可以通过一个记录序号来进行标识。在一些实施例中,地址记录模块114可以利用寄存器实现,这与中央缓冲器102已有的寄存器结构相兼容。
可以看出,由于中央缓冲器104中的地址记录模块114中存储了缺陷地址信息,因此中央缓冲器104可以直接将其接收到的访问命令中包括的目标地址与缺陷地址信息进行比较。如果目标地址与缺陷地址信息中包括的某条缺陷存储地址一致,这就说明该目标地址可能在存储数据时发生问题或缺陷,因而需要修复数据或者避免使用该目标地址来存储数据。在这种情况下,中央缓冲器104可以生成指示对目标地址进行修复的修复访问命令,并且将该修复访问命令经由数据缓冲器控制总线(BCOM)112发送给数据缓冲器106。在一些实施例中,当访问命令中包括的目标地址不属于缺陷地址信息时,也即目标地址对应的存储单元没有缺陷,中央缓冲器104可以不生成修复访问命令,而是直接将其所接收的访问命令按照正常的处理方式转发给存储模块102以及数据缓冲器106。关于利用数据缓冲器控制总线112来发送修复访问命令的具体实现方式,将在下文中详细说明。
数据缓冲器106可以根据其所接收到的访问命令或修复访问命令来进行操作。具体地,除了用于缓冲数据的电路结构之外,数据缓冲器106的每个子模块还包括数据记录模块(图中未示出),其用于记录修复数据,以替代存储模块102中对应存储地址中存储的可能错误的数据。数据缓冲器106可以根据修复访问命令来进行操作,例如在修复写入操作时将接收自存储器接口108的目标数据写入数据记录模块作为对应目标地址的修复数据,或者在修复读取操作时从数据记录模块中读出修复数据作为对应目标地址的目标数据。
在一些实施例中,访问命令和修复访问命令可以通过一个或多个标识来区分。在一些实施例中,这些标识可以包括一位数据的修复标识:当一访问命令携带值为“1”的修复标识时,其可以表示该访问命令为正常的访问命令;而当一访问命令携带值为“0”的修复标识时,其可以表示该命令为修复访问命令。此外,这些标识还可以包括一位数据的截取标识,截取标识的作用在于指示中央缓冲器104与数据缓冲器106是否需要截取目标数据以用于修复或其他目的。在一些实施例中,值为“0”的截取标识表示使能截取,也即需要将目标数据截取复制到数据记录模块中,而值为“1”的截取标识表示禁用截取。
图2A和图2B分别示出了数据缓冲器在响应写入命令和修复写入命令时的数据流。
如图2A和2B所示,数据缓冲器的每个子模块内部可以设置一个或多个截取控制开关S1-S3,其用于控制数据记录模块与数据缓冲路径DP之间的连接,以及数据缓冲路径DP本身的通断(具体参见图3A和3B的描述)。具体地,截取控制开关S3耦接在数据缓冲路径DP中,而截取控制开关S1和S2耦接在数据记录模块与数据缓冲路径DP之间,其中S1用于控制从数据缓冲路径DP向数据记录模块的单向数据流,而S2用于控制从数据记录模块向数据缓冲路径DP的单向数据流。在一些实施例中,截取控制开关S1和S2可以合并为一个双向开关以控制数据记录模块与数据缓冲路径DP之间的双向数据流。其中,数据缓冲路径DP是存储模块与存储器接口之间用于承载数据交互的数据通路。截取控制开关S1可以根据其控制端接收的截取标识的值来被控制断开或闭合。具体地,如图2A所示,当数据缓冲器接收到的命令为正常的写入命令时,其携带值为“1”的截取标识。响应于该写入命令,截取控制开关S1断开,从而数据经由数据缓冲路径DP由存储器接口发送到存储模块,并且被写入在存储模块中。如图2B所示,当数据缓冲器接收到的命令为修复写入命令时,其携带值为“0”的截取标识。响应于该修复写入命令,截取控制开关S1闭合,从而数据至少可以经由该截取控制开关S1写入到数据记录模块中,从而在后续访问操作中(例如读取操作中)作为修复数据以替代存储模块中对应地址中存储的数据。在一些实施例中,响应于修复写入命令,数据可以仅写入到数据记录模块中;替代地,数据也可以同时写入到数据记录模块和存储模块中。
图3A和图3B分别示出了数据缓冲器在响应读取命令和修复读取命令时的数据流。
如图3A所示,当数据缓冲器接收到的命令为正常的读取命令时,其携带值为“1”的截取标识。响应于该读取命令,截取控制开关S2断开,并且耦接在数据缓冲路径DP中的截取控制开关S3切换为使得数据缓冲路径DP导通。这样,存储模块中存储的数据可以经由数据缓冲路径DP读出,并且由数据缓冲器发送给存储器接口。如图3B所示,当数据缓冲器接收到的命令为修复读取命令时,其携带值为“0”的截取标识。响应于该修复读取命令,截取控制开关S2闭合,并且截取控制开关S3切换为使得数据缓冲路径DP断开。这样,存储模块中存储的数据不会被读出,而存储在数据记录模块中的修复数据会被读出以替代存储模块中对应地址中存储的数据。
另外,图3A和图3B还示出了比较器以及相关的数据流。这一部分的数据流以及控制逻辑涉及存储模块中缺陷存储地址的检测,这将在下文中详细说明。
可以看出,在图1所示的实施例中,通过利用地址记录模块114中记录的缺陷地址信息,中央缓冲器104就可以通过生成修复访问命令的形式来“修复”某个或某些缺陷存储。在一些实施例中,缺陷地址信息可以预先设置在地址记录模块114中,并且在存储器***100被访问时实时调用。然而,这种预先设置的方式并不能够检测存储器***100使用过程中新出现的错误,也即不能够“在线”检测缺陷存储地址并对其进行类似的修复。
为了解决上述问题,图1所示的存储器***的修复装置还具有检测被访问的存储地址是否是缺陷存储地址的功能。具体地,对于接收到的每个访问命令,中央缓冲器104在经比较确定该访问命令访问的存储地址不是缺陷存储地址后,其会检查地址记录模块114是否存在未占用的地址记录空间,并且在确定存在未占用的地址记录空间后就将该目标地址记录到地址记录模块中114作为被检测地址。同时,中央缓冲器104还生成检测访问命令,以用于指示对该被检测地址进行检测。之后,中央缓冲器104将该检测访问命令发送给数据缓冲器106。取决于接收到的访问命令是写入命令还是读取命令,中央缓冲器104会生成对应的检测写入命令或检测读取命令。
图4A示出了数据缓冲器响应检测写入命令时的数据流。如图4A所示,当数据缓冲器接收到的命令为检测写入命令时,其携带值为“0”的截取标识。响应于该检测写入命令,耦接到数据记录模块的截取控制开关S1闭合,从而数据缓冲路径DP中传递的来自存储器接口的数据至少可以经由该截取控制开关S1写入到数据记录模块中,从而在后续访问操作中(例如读取操作中)作为修复数据。同时,响应于检测写入命令,数据还可以被写入到存储模块的被检测地址所对应的存储单元中。换言之,数据记录模块中记录了正确的修复数据,其可以作为参考以判断存储模块中存储的目标数据是否准确。
图4B示出了数据缓冲器响应检测读取命令时的数据流。如图4B所示,当数据缓冲器接收到的命令为检测读取命令时,其携带值为“0”的截取标识。响应于该检测读取命令,截取控制开关S3切换为使得数据缓冲路径DP中传递的从存储模块的被检测地址读出的目标数据被发送给比较器,并且使得数据缓冲路径DP断开。同时,之前写入并存储在数据记录模块中的修复数据可以被发送给比较器。这样,比较器可以将接收到的目标数据与修复数据进行比较,以判断这两者是否一致。如果一致,这说明检测访问命令所访问的目标地址不存在缺陷,不需要进行修复;相反,如果不一致,这说明检测访问命令所访问的目标地址存在缺陷,需要进行修复。相应地,比较器可以将目标数据与修复数据的比较结果发送给中央缓冲器。附加地,耦接到数据记录模块的截取控制开关S2闭合,从而允许数据记录模块中的修复数据被读出以替代存储模块中对应地址中存储的数据。
中央缓冲器在接收到错误报告后,即可确定当前访问的目标地址(也即被检测地址)存在缺陷。因此,中央缓冲器可以将该目标地址存储在地址记录模块中。这样,在后续访问中,中央缓冲器可以根据地址记录模块中的存储的该目标地址判断需要生成修复访问命令来进行修复,正如图2B和图3B所示的数据流所表示的,在此不再赘述。
正如图4B所示,比较器可以将目标数据与修复数据的比较结果发送给中央缓冲器。为了发送该比较结果,数据缓冲器106与中央缓冲器104之间除了数据缓冲器控制总线112作为信号通道之外,还设置了错误报告通道。图5示出了图1所示的存储器***100中的中央缓冲器104与数据缓冲器106子模块之间的信号通道,而表1示出了这些信号通道中各个信号线的功能定义。在一些实施例中,每个数据缓冲器子模块可以具有分别连接到中央缓冲器的错误报告通道。在另一些实施例中,数据缓冲器子模块可以共用一个至中央缓冲器的错误报告通道。
表1数据缓冲器信号通道的信号线定义
如图5和表1所示,每个数据缓冲器与中央缓冲器通过多根信号线相互连接。其中,信号线BRST_n、BCS_n、BCK_t、BCK_c以及BCOM[2:0]构成了数据缓冲器控制总线。经由数据缓冲器控制总线,中央缓冲器可以向数据缓冲器发送各种控制信号以及处理后的访问命令,从而数据缓冲器能够根据这些访问命令来对存储模块中对应的存储单元进行访问。数据缓冲器控制总线的功能与现有标准(例如DDR4或DDR5的标准)中的相关定义相同或相似,在此不再赘述。
在一些实施例中,数据缓冲器的每个子模块还通过一个错误报告通道(如图1所示的错误报告通道118)耦接到中央缓冲器,以向其输出错误报告信号。可以理解,在一些实施例中,数据缓冲器与中央缓冲器之间也可以不具有错误报告通道,相应地,这样的存储器***就不具有检测缺陷存储地址的功能。
仍参考图1所示,中央缓冲器104中集成的地址记录模块114用于记录缺陷地址信息,以及一些状态或控制标识。在一些实施例中,地址记录模块可以包括2个子模块,其中每个子模块用于一个存储器通道。表2示出了根据本申请一个实施例的地址记录模块中的地址记录格式。其中,“通道”至“芯片ID”这些域都用于存储缺陷地址信息,而域“截取标识”以及“修复标识”分别占用1位的位宽。在一些实施例中,地址记录还包括“错误计数”域,其用于记录对应的缺陷存储地址发生错误操作的次数。可以理解,错误计数的次数越多,该缺陷存储地址实质上存在缺陷的几率就越大,并且越需要在后续操作时避免使用。相应地,对于某个地址,可以在错误计数达到阈值后才将该地址对应的修复标识修改为需要修复。可以理解,在一些实施例中,也可以不设置错误计数,从而某个地址只要发生过一次错误就需要将对应的修复标识修改为需要进行修复。
可以理解,地址记录模块114中记录的每个缺陷存储地址都可以由一个记录序号来索引。在一些实施例中,地址记录模块114中可以最多记录16个缺陷存储地址,相应地,该记录序号可以由一个4位的数据表示。
表2地址记录模块中的地址记录格式
在一些实施例中,地址记录模块与数据记录模块都可以由寄存器实现,其仅在装置被供电时存储信息。因此,在一些实施例中,该装置还可以包括非暂态存储介质,例如快闪存储器,其耦接到中央缓冲器与数据缓冲器以接收并存储缺陷地址信息。这样,缺陷地址信息可以在需要时从非暂态存储介质中读出(例如装置刚上电时),以初始化地址记录模块。
数据缓冲器中的数据记录模块用于存储修复数据。在一些实施例中,数据缓冲器的每个子模块内都可以集成1个数据记录模块,其用于记录该数据缓冲器子模块耦接的存储模块获取或可能需要修复的数据。可以理解,对于某个访问命令中包括的一个目标地址,在读取或写入目标数据时,每个数据缓冲器子模块同时都缓冲对应的数据(如果有的话),因此,在收到例如修复访问命令时,每个数据缓冲器子模块中的数据记录模块也都会分别存储其所在的数据缓冲器子模块缓冲的数据,从而这些数据整体上构成对应于该访问命令中包括的目标地址的数据。因此,优选地,每个数据记录模块可以具有相同的记录容量,从而这些数据记录模块整体而言最大可以存储预定数量的数据作为修复数据。在一些实施例中,例如表3所示的数据记录模块的记录容量为16,其最多能够存储16个修复数据,因此每个修复数据分别被标记为0~15的记录序号。当数据缓冲器收到例如修复访问命令时,每个数据缓冲器子模块就会把对应的数据截取并存储在内部的数据记录模块中。
可以理解,通过记录序号,地址记录模块中记录的每个缺陷存储地址就可以与数据记录模块中记录的修复数据相关联。在收到修复写入命令时,数据缓冲器允许更新其内部的数据记录模块,并且根据数据缓冲器控制总线上发送的记录序号将数据更新到数据记录模块中相应的记录位置。当接收到修复读取命令时,数据缓冲器会根据数据缓冲器控制总线上发送的记录序号从数据记录模块的相应记录位置获得对应的修复数据,并且将该修复数据发送给存储器接口,进而由存储器接口发送给主控制器。
表3示出了数据记录模块中的数据记录格式。具体地,每个数据记录的宽度可以为8*BL(Burst Length,突发数据长度)位+4位,其中8*BL位用于记录修复数据,而修复标识表示对应记录序号的数据是否需要修复。错误计数用于记录当前记录序号的数据(以及其所关联的存储地址)发生错误的次数。在表3的示例中,错误计数由一个3位的数值表示,这意味着最多8次错误后,就必须将发生错误的地址对应的修复标识修改为需要进行修复。
表3数据记录模块中的数据记录格式
记录序号 | 修复数据 | 修复标识 | 错误计数 |
0 | 8*BL位 | 1位 | 3位 |
1 | 8*BL位 | 1位 | 3位 |
2 | 8*BL位 | 1位 | 3位 |
3 | 8*BL位 | 1位 | 3位 |
4 | 8*BL位 | 1位 | 3位 |
5 | 8*BL位 | 1位 | 3位 |
6 | 8*BL位 | 1位 | 3位 |
7 | 8*BL位 | 1位 | 3位 |
8 | 8*BL位 | 1位 | 3位 |
9 | 8*BL位 | 1位 | 3位 |
10 | 8*BL位 | 1位 | 3位 |
11 | 8*BL位 | 1位 | 3位 |
12 | 8*BL位 | 1位 | 3位 |
13 | 8*BL位 | 1位 | 3位 |
14 | 8*BL位 | 1位 | 3位 |
15 | 8*BL位 | 1位 | 3位 |
在检测访问操作过程中,数据缓冲器比较修复数据与存储模块返回的目标数据,如果两者一致则表明对应的目标地址(被检测地址)不存在错误,修复标识的值保持为1;相反,如果两者不一致则表明对应的目标地址是有问题的,可能需要修复。此时,数据缓冲器可以将对应目标地址的错误计数的值加1。当某个地址对应的错误计数超过预定阈值时,则将修复标识由1改为0,这表示该地址是缺陷存储地址。如果错误计数未达到预定阈值,则修复标识的值保持为1,则清空数据记录模块中修复数据域中的数据,等待下次对同一地址访问时记录数据。同样的,如果一个地址的修复标识为0,则表明数据被写到缺陷存储地址上了,必须保留数据记录模块中对应记录存储的修复数据,等待下次访问时替换存储模块中存储的数据。
为了兼容现有的数据缓冲器控制总线和访问命令的处理,在一些实施例中,修复访问命令、检测访问命令以可以通过BCOM总线来传输,仅仅需要利用一个或多个时钟周期来发送控制标识。
表4示出了通过数据缓冲器控制总线112发送的修复访问命令和检测访问命令的信号格式。表4所定义的信号格式可以与现有存储器标准中使用的访问命令的格式兼容。
表4修复访问命令与检测访问命令
可以看出,通过利用数据缓冲器控制总线上至多4个时钟周期,中央缓冲器就可以向数据缓冲器发送现有的访问命令(DAT0的BCOM[2]置为1来禁用修复或检测功能),或者发送修复访问命令或检测访问命令(DAT0的BCOM[2]置为0来启用修复或检测功能,并且DAT1和DAT2发送截取标识、修复标识以及记录序号)。这种实现方式可以与现有的数据缓冲器控制方式实现很好地兼容。
图6示出了根据本申请一个实施例的用于修复存储模块缺陷的方法的流程图。图6所示的方法可以由图1所示的实施例来执行。
如图6所示,该方法始于步骤S602,中央缓冲器经由存储器接口从主控制器接收命令。接着,在步骤S604,中央缓冲器判断该命令是否为写入命令。如果是写入命令,那么在步骤S606,中央缓冲器根据其内部的地址记录模块存储的缺陷地址信息判断该命令中包括的目标地址是否是缺陷存储地址:如果是缺陷存储地址,则在步骤S608,中央缓冲器生成修复写入命令,并且将该修复写入命令发送给数据缓冲器;如果不是缺陷存储地址,则在步骤S610,中央缓冲器进一步判断地址记录模块是否有未使用的记录空间,如果没有未使用的记录空间,则在步骤S612中央缓冲器将写入命令发送给数据缓冲器,而如果有未使用的记录空间,则在步骤S614中央缓冲器将目标地址存储在地址记录模块中作为被检测地址,并且生成检测写入命令并发送给数据缓冲器。步骤S608、S612以及S614之后均执行步骤S616,数据缓冲器根据接收到的写入命令、修复写入命令或检测写入命令,按照图2A、图2B以及图4A所示的对应数据流执行对存储模块的写入操作。
回到步骤S604,如果中央缓冲器判断该命令不是写入命令,则在步骤S618,中央缓冲器进一步判断该命令是否为读取命令。如果是读取命令,则在步骤S620,中央缓冲器进一步检查地址记录模块并判断读取命令中包括的目标地址是否为缺陷存储地址或被检测地址:如果不是这两种地址,则在步骤S622,中央缓冲器直接将读取命令发送给数据缓冲器;如果是缺陷存储地址,则在步骤S624,中央缓冲器生成修复读取命令并发送给数据缓冲器;如果是被检测地址,则在步骤S626,中央缓冲器生成检测读取命令并发送给数据缓冲器。步骤S622、S624以及S626之后均执行步骤S616,数据缓冲器根据接收到的读取命令、修复读取命令或检测读取命令,按照图3A、图3B以及图4B所示的对应数据流执行对存储模块的读取操作。
如果步骤S604中央缓冲器判断接收到的命令也不是读取命令,而是其他访问命令,则在步骤S628,中央缓冲器将该命令发送给数据缓冲器,并且在步骤S630中由数据缓冲器执行该命令。这样,整个访问流程结束,中央缓冲器在步骤S632中等待下一命令。
可以理解,在一些实施例中,图6所示的流程中一部分步骤可以省略。例如,如果仅执行缺陷存储地址的检测,那么步骤S606、S608、S624可以省略;而如果仅执行缺陷存储地址的数据修复,那么步骤S610、S614、S626可以省略。本领域技术人员可以根据实际应用的需要进行调整。
本申请的实施例的存储器***可以被用于不同的计算机***中。
正如前述,图1所示的存储器***上集成了检测和修复缺陷存储地址的功能,从而其能够根据主控制器提供的访问命令来对存储器***中的缺陷存储地址进行检测和修复。然而,考虑到存储器***的大容量存储空间,主控制器需要提供大量的访问命令才能够完成对存储器***中所有存储单元的缺陷检测,并且主控制器还需要运行对应的测试程序来生成这些访问命令。为了提高检测效率,在本申请的一些实施例中,在存储器***上集成了内建的测试功能,其能够根据预定地址检测算法生成多个检测访问命令,从而对存储模块上的各个存储单元进行检测。该内建测试功能可以集成在中央缓冲器与数据缓冲器上。
图7示出了根据本申请一个实施例的具有内建自测试功能的存储器***700。需要说明的是,该存储器***700可以具有兼容现有存储模块的电路结构(例如采用图1所示的存储器***的电路结构),以执行正常的对存储模块的访问操作。这一部分用于正常访问操作的电路结构未全部表示在图7所示的实施例中。图7主要用于说明与内建自测试功能相关的电路结构和控制信号。
如图7所示,存储器***700包括一个或多个存储模块702,图中仅示意性地示出了一个存储模块。此外,存储器***700还包括中央缓冲器704和数据缓冲器706,其中中央缓冲器704用于接收对存储模块702进行访问的访问命令,例如经由存储器接口从主控制器接收访问命令(图中未示出);而数据缓冲器706耦接在存储器接口与存储模块702之间,以在中央缓冲器704的控制下缓冲其间交互的数据(图中未示出)。
为了实现自测试功能,中央缓冲器704包括控制模块708,其用于生成指示对存储模块702中目标地址进行检测的检测写入命令和检测读取命令。具体地,控制模块708可以设置有自测试配置端口,从而控制模块708可以根据该自测试配置端口接收的自测试配置信号来启动自测试模式。在自测试模式下,中央缓冲器704内部用于正常访问控制的模块,例如命令地址控制器(未示出)暂时不参与控制。
中央缓冲器704生成的检测写入命令和检测读取命令可以被发送给数据缓冲器706,以经由数据缓冲器706检测对存储模块进行访问(读或写)时被处理的数据。具体地,中央缓冲器704还包括地址生成模块710。在进入自测试模式后,控制模块708可以指示地址生成模块710按照预定地址生成算法生成一系列目标地址,其中每个地址均指向存储模块702的不同存储位置。在一些实施例中,地址生成模块710生成的目标地址可以覆盖存储模块702的全部存储位置,以完整地检测存储模块702可能存在的缺陷。例如,地址生成模块710可以采用March测试算法生成一系列目标地址。此外,在刷新控制器712的控制下,地址生成模块710生成的目标地址可以经由多路选择器714按顺序地发送给存储模块702,以对存储模块702中的不同存储位置进行寻址。同时,控制模块708还经由命令发送器716将指示命令类型(例如指示是检测写入命令和检测读取命令)和其他控制信息的信号(例如以BCOM命令的形式)发送给数据缓冲器706。在一些实施例中,命令发送器716以及数据缓冲器706中用于接收并对BCOM命令进行译码的命令译码器718可以采用兼容现有BCOM命令的协议,并且复用现有的接口,例如图5以及表1和表4所示的例子。在另一些实施例中,命令发送器716与命令译码器718可以采用特别定义的协议和单独的接口。
数据缓冲器706还包括数据生成模块720,其用于响应于检测写入命令并基于预定数据生成算法生成目标数据。可以理解,每个目标数据将被写入到地址生成模块710在同一时刻生成的一个目标地址中。这样,存储模块702中对应于目标地址的存储单元就被写入了对应的目标数据。除了被写入到存储模块702中之外,数据生成模块720生成的目标数据还被暂存起来,以便后续被作为参考与从存储模块中目标地址中存储的目标数据进行比较。暂存的作为参考的目标数据被称为修复数据,其与检测写入命令中包括的目标地址对应。在一些实施例中,数据缓冲器706可以具有类似图1所示实施例中的数据记录模块,用于暂存修复数据。
数据缓冲器706还包括比较器722和错误报告模块724。响应于检测读取命令,比较器722接收从存储模块702的目标地址中读出的目标数据以及由数据记录模块暂存的修复数据,并且将这两者进行比较。在一些实施例中,比较器722也可以直接从数据生成模块720接收作为修复数据的目标数据。修复数据与目标数据的比较结果可以反映存储模块中对应于目标地址的存储单元是否存在缺陷,这与图1所示的实施例的在线检测的原理相同,在此不再赘述。
比较器722可以经由错误报告模块724将比较结果提供给中央缓冲器704。可以理解,在一些实施例中,错误报告模块724可以筛选出指示修复数据与目标数据不一致的比较结果,并且仅报告这些比较结果。在另一些实施例中,错误报告模块724可以报告所有比较结果。在一些实施例中,错误报告模块724可以通过LBTXDQ和LBTXDQS引脚来报告比较结果,这可以与现有存储器标准兼容。在另一些实施例中,错误报告模块724也可以通过额外设置的引脚连接到中央缓冲器704并向其报告比较结果。
中央缓冲器704可以包括修复模块726,其用于接收错误报告模块724提供的关联于被检测地址的比较结果,并且根据将经检测存在缺陷的被检测地址添加到缺陷地址信息中,其中缺陷地址信息用于指示存储模块702中的缺陷存储地址。可以理解,如果错误报告模块724报告的比较结果既包括修复数据与目标数据一致的结果,又包括修复数据与目标数据不一致的结果,则修复模块726可以根据这些比较结果仅将存在缺陷的被检测地址添加到缺陷地址信息中。在一些实施例中,修复模块726可以包括或耦接到地址记录模块(图中未示出),以记录缺陷地址信息。可以理解,在一些实施例中,地址记录模块可以记录缺陷地址信息和当前被检测的被检测地址。进一步地,修复模块726可以与中央缓冲器704的其他模块配合执行对缺陷存储地址的修复。关于缺陷修复的更多细节,可以参考图1至图6所示的实施例的具体内容,在此不再赘述。
集成在中央缓冲器704中的地址记录模块可以由寄存器实现,因此其仅能够在中央缓冲器704带电时存储数据和信息。为了能够长时间地存储缺陷地址信息,在一些实施例中,中央缓冲器704可以耦接到非暂态存储介质,例如快闪存储器或EEPROM 728,并且将自测试完成后确定的缺陷地址信息记录到其中,以及在存储器***耦接到计算机***中工作时从该EEPROM 728读取缺陷地址信息,以便于后续缺陷修复。
可以看出,由于在中央缓冲器与数据缓冲器中配置了控制模块、地址生成模块以及数据生成模块,存储器***700能够实现自测试功能。在实际应用中,存储器制造商可以在存储器出厂前设置存储器***运行自测试功能,以识别存储模块中可能存在的缺陷,并且优选地可将缺陷地址信息预先存储在非暂态存储介质或地址记录模块中,这种测试方式不需要复杂的外部软件或设备,提高了测试效率。
图8示出了根据本申请一个实施例的用于检测存储模块缺陷的方法800。在一些实施例中,该方法800可以由图1所示的装置或图7所示的装置执行。
如图8所示,该方法800包括:步骤S802,经由中央缓冲器生成指示对存储模块中目标地址进行检测的检测写入命令,并记录目标地址作为被检测地址;步骤S804,响应于检测写入命令,经由数据缓冲器将目标数据作为对应于被检测地址的修复数据,并且将目标数据写入所述存储模块;步骤S806,经由中央缓冲器生成指示对被检测地址进行检测的检测读取命令;步骤S808,响应于检测读取命令,经由数据缓冲器从被检测地址读取目标数据并将其与修复数据进行比较,以及向中央缓冲器发送目标数据与修复数据的比较结果;以及步骤S810,经由中央缓冲器基于关联于被检测地址的比较结果确定是否将被检测地址添加到缺陷地址信息中,其中缺陷地址信息用于指示所述存储模块中的缺陷存储地址。
在一些实施例中,中央缓冲器包括地址记录模块,用于存储所述缺陷地址信息和所述被检测地址。在所述步骤S802之前,方法800还包括:经由所述中央缓冲器从存储器接口接收对所述目标地址进行写入的写入命令;以及当所述写入命令包括的目标地址不包括在所述缺陷地址信息中且所述地址记录模块存在未占用的地址记录空间时,执行所述步骤S802。
在一些实施例中,在所述步骤S806之前,方法800还包括:经由所述中央缓冲器从所述存储器接口接收对所述目标地址进行读取的读取命令;经由所述中央缓冲器检查所述读取命令中包括的目标地址是否属于被检测地址,以及在确定所述目标地址属于被检测地址时,执行所述步骤S806。
在一些实施例中,步骤S802还包括:基于预定地址生成算法生成所述存储模块中的目标地址;以及基于所述生成的目标地址生成包括所述目标地址的检测写入命令。
在一些实施例中,步骤S806还包括:基于所述生成的目标地址生成包括所述目标地址的检测读取命令。
在一些实施例中,步骤S804还包括:经由所述数据缓冲器基于预定数据生成算法生成所述目标数据。
在一些实施例中,步骤S804还包括:经由所述数据缓冲器从存储器接口接收所述目标数据。
在一些实施例中,步骤S804包括:经由所述数据缓冲器将所述目标数据记录在所述数据缓冲器中的数据记录模块中作为所述修复数据;而步骤S808还包括:经由所述数据缓冲器从所述数据记录模块读出所述修复数据。
在一些实施例中,在步骤S810之后,方法800还包括:经由所述中央缓冲器将所述缺陷地址信息存储到非暂态存储介质中。
在一些实施例中,在步骤S810之后,方法800还包括:经由所述中央缓冲器从所述存储器接口接收对存储模块中目标地址进行访问的访问命令;经由所述中央缓冲器比较所述目标地址与所述缺陷地址信息,并根据比较结果确定是否生成用于对所述目标地址进行修复的修复访问命令;经由所述数据缓冲器接收所述访问命令或所述修复访问命令,其中所述数据缓冲器包括用于记录修复数据的数据记录模块;以及经由所述数据缓冲器根据所述修复访问命令将关联于所述访问命令的目标数据写入所述数据记录模块作为对应目标地址的修复数据,或者从所述数据记录模块读出修复数据作为对应目标地址的目标数据。
应当注意,尽管在上文详细描述中提及了用于修复和检测存储模块缺陷的装置、方法以及存储器***的若干模块或子模块、步骤或子步骤,但是这种划分仅仅是示例性的而非强制性的。实际上,根据本申请的实施例,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
本技术领域的一般技术人员可以通过研究说明书、公开的内容及附图和所附的权利要求书,理解和实施对披露的实施方式的其他改变。在权利要求中,措词“包括”不排除其他的元素和步骤,并且措辞“一”、“一个”不排除复数。在本申请的实际应用中,一个零件可能执行权利要求中所引用的多个技术特征的功能。权利要求中的任何附图标记不应理解为对范围的限制。
Claims (19)
1.一种用于检测存储模块缺陷的装置,其特征在于,所述装置包括:
中央缓冲器,所述中央缓冲器用于接收对存储模块进行访问的访问命令,并用于生成指示对所述存储模块中目标地址进行检测的检测写入命令和检测读取命令;以及
数据缓冲器,所述数据缓冲器耦接在存储器接口与所述存储模块之间以缓冲在其间交互的数据,并且耦接到所述中央缓冲器以接收所述检测写入命令和所述检测读取命令;其中,所述数据缓冲器用于响应所述检测写入命令将目标数据作为对应于目标地址的修复数据,同时将所述目标数据写入所述存储模块;以及响应所述检测读取命令从所述目标地址读取目标数据并将其与所述修复数据进行比较,以及向所述中央缓冲器发送所述目标数据与所述修复数据的比较结果;
其中,所述中央缓冲器还用于在生成检测写入命令时记录所述目标地址作为被检测地址,以及基于关联于所述被检测地址的比较结果以及比较结果中指示所述被检测地址发生错误计数的次数确定是否将所述被检测地址添加到缺陷地址信息中作为需要进行修复的地址,其中所述缺陷地址信息用于指示所述存储模块中的缺陷存储地址;
其中,所述数据缓冲器还包括数据生成模块,用于响应于所述检测写入命令基于预定数据生成算法生成目标数据,所述目标数据对应于所述检测写入命令中包括的目标地址。
2.根据权利要求1所述的装置,其特征在于,所述中央缓冲器包括地址记录模块,用于记录所述缺陷地址信息和所述被检测地址;所述中央缓冲器耦接到存储器接口,用于从所述存储器接口接收对所述目标地址进行写入的写入命令,并且当所述写入命令包括的目标地址不包括在所述缺陷地址信息中且所述地址记录模块存在未占用的地址记录空间时,生成指示对所述写入命令中包括的目标地址进行检测的检测写入命令;或者用于从所述存储器接口接收对所述目标地址进行读取的读取命令,并且检查所述读取命令中包括的目标地址是否属于被检测地址,以及在确定所述目标地址属于被检测地址时生成检测读取命令。
3.根据权利要求1所述的装置,其特征在于,所述中央缓冲器还包括:
地址生成模块,用于基于预定地址生成算法生成所述存储模块中的目标地址;以及
控制模块,用于指示所述地址生成模块生成所述目标地址,并向所述数据缓冲器提供所述检测写入命令或检测读取命令,以及基于比较结果确定是否将所述被检测地址添加到所述缺陷地址信息中。
4.根据权利要求1所述的装置,其特征在于,所述数据缓冲器还包括:
比较器,用于比较所述修复数据与从所述目标地址读取出的目标数据;以及
错误报告模块,用于将所述修复数据与所述目标数据的比较结果提供给所述中央缓冲器。
5.根据权利要求4所述的装置,其特征在于,所述数据缓冲器还包括数据记录模块,用于从所述数据生成模块接收并记录所述目标数据并作为所述修复数据;
所述比较器还用于从所述数据记录模块接收所述修复数据。
6.根据权利要求4所述的装置,其特征在于,所述比较器还用于从所述数据生成模块接收所述目标数据并作为所述修复数据。
7.根据权利要求1所述的装置,其特征在于,所述数据缓冲器还包括数据记录模块,用于记录所述修复数据。
8.根据权利要求1所述的装置,其特征在于,所述装置还包括非暂态存储介质,所述中央缓冲器还用于将所述缺陷地址信息存储到所述非暂态存储介质中。
9.根据权利要求1所述的装置,其特征在于,所述中央缓冲器还用于将接收的访问命令中包括的目标地址与缺陷地址信息进行比较,以及根据所述缺陷地址信息的比较结果确定是否生成用于对所述目标地址进行修复的修复访问命令;以及
所述数据缓冲器还包括用于记录修复数据的数据记录模块,以及用于根据所述修复访问命令将关联于所述访问命令的目标数据写入所述数据记录模块作为对应目标地址的修复数据,或者从所述数据记录模块中读出修复数据作为对应目标地址的目标数据。
10.一种具有内建自测试功能的存储器***,其特征在于,所述存储器***包括根据权利要求1至9中任一项所述的用于检测存储模块缺陷的装置。
11.一种用于检测存储模块缺陷的方法,其特征在于,所述存储模块耦接到相互耦接的中央缓冲器与数据缓冲器,其中所述中央缓冲器和数据缓冲器还分别耦接到存储器接口,所述方法包括:
a)经由中央缓冲器生成指示对存储模块中目标地址进行检测的检测写入命令,并记录所述目标地址作为被检测地址;
b)响应于所述检测写入命令,经由所述数据缓冲器将目标数据作为对应于所述被检测地址的修复数据,并且将所述目标数据写入所述存储模块;其中,所述目标数据是经由所述数据缓冲器基于预定数据生成算法生成的;
c)经由所述中央缓冲器生成指示对所述被检测地址进行检测的检测读取命令;
d)响应于所述检测读取命令,经由所述数据缓冲器从所述被检测地址读取目标数据并将其与所述修复数据进行比较,以及向所述中央缓冲器发送所述目标数据与所述修复数据的比较结果;以及
e)经由所述中央缓冲器基于关联于所述被检测地址的比较结果以及比较结果中指示所述被检测地址发生错误计数的次数确定是否将所述被检测地址添加到缺陷地址信息中作为需要进行修复的地址,其中所述缺陷地址信息用于指示所述存储模块中的缺陷存储地址。
12.根据权利要求11所述的方法,其特征在于,所述中央缓冲器包括地址记录模块,用于存储所述缺陷地址信息和所述被检测地址;在所述步骤a之前,所述方法还包括:
经由所述中央缓冲器从存储器接口接收对所述目标地址进行写入的写入命令;以及
当所述写入命令包括的目标地址不包括在所述缺陷地址信息中且所述地址记录模块存在未占用的地址记录空间时,执行所述步骤a。
13.根据权利要求12所述的方法,其特征在于,在所述步骤c之前,所述方法还包括:
经由所述中央缓冲器从所述存储器接口接收对所述目标地址进行读取的读取命令;
经由所述中央缓冲器检查所述读取命令中包括的目标地址是否属于被检测地址,以及
在确定所述目标地址属于被检测地址时,执行所述步骤c。
14.根据权利要求11所述的方法,其特征在于,所述步骤a包括:
基于预定地址生成算法生成所述存储模块中的目标地址;以及
基于所述生成的目标地址生成包括所述目标地址的检测写入命令。
15.根据权利要求14所述的方法,其特征在于,所述步骤c包括:
基于所述生成的目标地址生成包括所述目标地址的检测读取命令。
16.根据权利要求11所述的方法,其特征在于,所述步骤b包括:经由所述数据缓冲器从存储器接口接收所述目标数据。
17.根据权利要求11所述的方法,其特征在于,所述步骤b包括:经由所述数据缓冲器将所述目标数据记录在所述数据缓冲器中的数据记录模块中作为所述修复数据;
所述步骤d包括:经由所述数据缓冲器从所述数据记录模块读出所述修复数据。
18.根据权利要求11所述的方法,其特征在于,在所述步骤e之后,所述方法还包括:
经由所述中央缓冲器将所述缺陷地址信息存储到非暂态存储介质中。
19.根据权利要求11所述的方法,其特征在于,在所述步骤e之后,所述方法还包括:
f)经由所述中央缓冲器从所述存储器接口接收对存储模块中目标地址进行访问的访问命令;
g)经由所述中央缓冲器比较所述目标地址与所述缺陷地址信息,并根据比较结果确定是否生成用于对所述目标地址进行修复的修复访问命令;
h)经由所述数据缓冲器接收所述访问命令或所述修复访问命令,其中所述数据缓冲器包括用于记录修复数据的数据记录模块;以及
i)经由所述数据缓冲器根据所述修复访问命令将关联于所述访问命令的目标数据写入所述数据记录模块作为对应目标地址的修复数据,或者从所述数据记录模块读出修复数据作为对应目标地址的目标数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010259928.7A CN113496746B (zh) | 2020-04-03 | 2020-04-03 | 用于检测存储模块缺陷的装置和方法以及存储器*** |
US16/919,113 US11257563B2 (en) | 2020-04-03 | 2020-07-02 | Apparatus and method for testing a defect of a memory module and a memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010259928.7A CN113496746B (zh) | 2020-04-03 | 2020-04-03 | 用于检测存储模块缺陷的装置和方法以及存储器*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113496746A CN113496746A (zh) | 2021-10-12 |
CN113496746B true CN113496746B (zh) | 2024-05-14 |
Family
ID=77920888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010259928.7A Active CN113496746B (zh) | 2020-04-03 | 2020-04-03 | 用于检测存储模块缺陷的装置和方法以及存储器*** |
Country Status (2)
Country | Link |
---|---|
US (1) | US11257563B2 (zh) |
CN (1) | CN113496746B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102020134945A1 (de) * | 2020-02-27 | 2021-09-02 | Taiwan Semiconductor Manufacturing Co., Ltd. | Dynamische fehlerüberwachung und -reparatur |
CN116524974A (zh) * | 2022-01-20 | 2023-08-01 | 华为技术有限公司 | 一种存储器、时序控制方法及电子设备 |
US12036869B2 (en) | 2022-02-16 | 2024-07-16 | Dana Belgium N.V. | Electromechanical transmission system and operating method |
CN115083504B (zh) * | 2022-07-22 | 2022-11-01 | 中科声龙科技发展(北京)有限公司 | 芯片自检方法及芯片 |
CN115563910B (zh) * | 2022-11-24 | 2023-02-03 | 英诺达(成都)电子科技有限公司 | Upf命令的执行方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4958346A (en) * | 1988-01-11 | 1990-09-18 | Advantest Corporation | Memory testing device |
US6460152B1 (en) * | 1998-03-11 | 2002-10-01 | Acuid Corporation Limited | High speed memory test system with intermediate storage buffer and method of testing |
CN101996686A (zh) * | 2009-08-17 | 2011-03-30 | 慧国(上海)软件科技有限公司 | 数据储存装置及将测试数据写入存储器的方法 |
CN105719702A (zh) * | 2016-01-26 | 2016-06-29 | 中国科学院微电子研究所 | 改进型存储器错误检测方法及装置 |
CN105868125A (zh) * | 2015-01-23 | 2016-08-17 | 澜起科技(上海)有限公司 | 缓冲存储器及用于控制内部存储器数据访问的装置和方法 |
CN108899061A (zh) * | 2018-07-20 | 2018-11-27 | 北京嘉楠捷思信息技术有限公司 | 一种电源常开芯片中的存储器内建自测试方法和*** |
CN208240359U (zh) * | 2018-05-03 | 2018-12-14 | 长鑫存储技术有限公司 | 存储器电路装置 |
CN109726141A (zh) * | 2017-10-30 | 2019-05-07 | 三星电子株式会社 | 用于防止对故障地址重复编程的存储装置及其操作方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0670880B2 (ja) * | 1983-01-21 | 1994-09-07 | 株式会社日立マイコンシステム | 半導体記憶装置 |
US6034891A (en) * | 1997-12-01 | 2000-03-07 | Micron Technology, Inc. | Multi-state flash memory defect management |
JP2001167005A (ja) * | 1999-12-08 | 2001-06-22 | Nec Corp | メモリ診断方法とメモリ診断回路および半導体記憶装置 |
DE19963689A1 (de) * | 1999-12-29 | 2001-07-12 | Infineon Technologies Ag | Schaltungsanordnung eines integrierten Halbleiterspeichers zum Speichern von Adressen fehlerhafter Speicherzellen |
EP1332416A2 (en) * | 2000-09-06 | 2003-08-06 | Infineon Technologies AG | Bist for parallel testing of on-chip memory |
US20020133742A1 (en) * | 2001-01-16 | 2002-09-19 | Hsiu-Ying Hsu | DRAM memory page operation method and its structure |
JP5426856B2 (ja) * | 2008-09-22 | 2014-02-26 | ピーエスフォー ルクスコ エスエイアールエル | 半導体記憶装置及びそのテスト方法 |
US8856614B2 (en) * | 2010-07-29 | 2014-10-07 | Kabushiki Kaisha Toshiba | Semiconductor memory device detecting error |
US9009531B2 (en) * | 2012-12-05 | 2015-04-14 | Intel Corporation | Memory subsystem data bus stress testing |
KR101547317B1 (ko) * | 2013-09-30 | 2015-08-26 | 주식회사 유니테스트 | 스토리지 테스트 장치에서 로직 블록 어드레스와 데이터 버퍼 주소를 이용한 불량 블록 검출 시스템 |
US10929029B2 (en) * | 2018-01-04 | 2021-02-23 | Montage Technology Co., Ltd. | Memory controller and method for accessing memory modules and processing sub-modules |
-
2020
- 2020-04-03 CN CN202010259928.7A patent/CN113496746B/zh active Active
- 2020-07-02 US US16/919,113 patent/US11257563B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4958346A (en) * | 1988-01-11 | 1990-09-18 | Advantest Corporation | Memory testing device |
US6460152B1 (en) * | 1998-03-11 | 2002-10-01 | Acuid Corporation Limited | High speed memory test system with intermediate storage buffer and method of testing |
CN101996686A (zh) * | 2009-08-17 | 2011-03-30 | 慧国(上海)软件科技有限公司 | 数据储存装置及将测试数据写入存储器的方法 |
CN105868125A (zh) * | 2015-01-23 | 2016-08-17 | 澜起科技(上海)有限公司 | 缓冲存储器及用于控制内部存储器数据访问的装置和方法 |
CN105719702A (zh) * | 2016-01-26 | 2016-06-29 | 中国科学院微电子研究所 | 改进型存储器错误检测方法及装置 |
CN109726141A (zh) * | 2017-10-30 | 2019-05-07 | 三星电子株式会社 | 用于防止对故障地址重复编程的存储装置及其操作方法 |
CN208240359U (zh) * | 2018-05-03 | 2018-12-14 | 长鑫存储技术有限公司 | 存储器电路装置 |
CN108899061A (zh) * | 2018-07-20 | 2018-11-27 | 北京嘉楠捷思信息技术有限公司 | 一种电源常开芯片中的存储器内建自测试方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN113496746A (zh) | 2021-10-12 |
US11257563B2 (en) | 2022-02-22 |
US20210313000A1 (en) | 2021-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113496746B (zh) | 用于检测存储模块缺陷的装置和方法以及存储器*** | |
US6108252A (en) | Integrated circuit memory devices having self-test circuits therein and method of testing same | |
US20010013110A1 (en) | On-chip circuit and method for testing memory devices | |
CN114974384B (zh) | 高效的io区段中断***和方法 | |
US7454671B2 (en) | Memory device testing system and method having real time redundancy repair analysis | |
US11232849B2 (en) | Memory device with a repair match mechanism and methods for operating the same | |
US8868991B2 (en) | Memory devices, testing systems and methods | |
US7372750B2 (en) | Integrated memory circuit and method for repairing a single bit error | |
CN113496745B (zh) | 用于修复存储模块缺陷的装置和方法以及存储器*** | |
CN112988491B (zh) | 一种内存测试方法、装置及内存控制器 | |
CN102347068A (zh) | 半导体***及其数据训练方法 | |
CN105824719A (zh) | 一种随机存储器的检测方法及*** | |
US7159156B2 (en) | Memory chip with test logic taking into consideration the address of a redundant word line and method for testing a memory chip | |
US20210365210A1 (en) | Apparatuses and methods for data management in a memory device | |
WO2022083146A1 (zh) | 修复电路和存储器 | |
US11069426B1 (en) | Memory device with a row repair mechanism and methods for operating the same | |
US20170148528A1 (en) | Semiconductor device and semiconductor system including the same | |
US7236412B2 (en) | Integrated semiconductor memory with redundant memory cells replaceable for either true or complementary defective memory cells | |
JP3878243B2 (ja) | 半導体メモリデバイスの検査方法 | |
CN117393032B (zh) | 一种存储装置及其数据处理方法 | |
US11455221B2 (en) | Memory with concurrent fault detection and redundancy | |
US20240241671A1 (en) | Apparatus with calibration input mechanism and methods for operating the same | |
US20230223098A1 (en) | Method and device for testing memory | |
US20220253365A1 (en) | On-die logic analyzer | |
WO2023130578A1 (zh) | 存储器的测试方法及测试装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |