CN117687818A - 内部存储器的故障修复方法及设备 - Google Patents
内部存储器的故障修复方法及设备 Download PDFInfo
- Publication number
- CN117687818A CN117687818A CN202211079445.4A CN202211079445A CN117687818A CN 117687818 A CN117687818 A CN 117687818A CN 202211079445 A CN202211079445 A CN 202211079445A CN 117687818 A CN117687818 A CN 117687818A
- Authority
- CN
- China
- Prior art keywords
- fault
- test
- internal memory
- error correction
- test condition
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 213
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000012360 testing method Methods 0.000 claims abstract description 452
- 238000012549 training Methods 0.000 claims abstract description 69
- 230000008569 process Effects 0.000 claims abstract description 45
- 230000008439 repair process Effects 0.000 claims abstract description 15
- 238000012937 correction Methods 0.000 claims description 213
- 230000006870 function Effects 0.000 claims description 124
- 230000015556 catabolic process Effects 0.000 claims description 53
- 238000006731 degradation reaction Methods 0.000 claims description 53
- 230000000875 corresponding effect Effects 0.000 claims description 32
- 230000002596 correlated effect Effects 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000009467 reduction Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 8
- 230000007423 decrease Effects 0.000 description 4
- 230000007850 degeneration Effects 0.000 description 4
- NRCXNPKDOMYPPJ-HYORBCNSSA-N Aflatoxin P1 Chemical compound C=1([C@@H]2C=CO[C@@H]2OC=1C=C(C1=2)O)C=2OC(=O)C2=C1CCC2=O NRCXNPKDOMYPPJ-HYORBCNSSA-N 0.000 description 3
- 101710085792 Defensin-like protein 1 Proteins 0.000 description 3
- 101710085715 Defensin-like protein 2 Proteins 0.000 description 3
- 101710085718 Defensin-like protein 3 Proteins 0.000 description 3
- 238000013100 final test Methods 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000008646 thermal stress Effects 0.000 description 2
- XGCDBGRZEKYHNV-UHFFFAOYSA-N 1,1-bis(diphenylphosphino)methane Chemical compound C=1C=CC=CC=1P(C=1C=CC=CC=1)CP(C=1C=CC=CC=1)C1=CC=CC=C1 XGCDBGRZEKYHNV-UHFFFAOYSA-N 0.000 description 1
- 102100039247 ETS-related transcription factor Elf-4 Human genes 0.000 description 1
- 101000813135 Homo sapiens ETS-related transcription factor Elf-4 Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- 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
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开提供一种内部存储器的故障修复方法及设备,该方法包括:通过预先训练得到的第一测试条件对第一内部存储器的主阵列进行故障测试,得到第一故障单元,该训练过程包括根据第二测试条件的实际故障率对第二测试条件进行调整的过程,第一测试条件是训练结束时的第二测试条件,第二测试条件的实际故障率是通过第二测试条件检测出来的故障单元在后端测试时未出现故障的概率。其中,后端测试使用的测试条件与第二测试条件不同。从而根据实际故障率训练第一测试条件可以得到更好的第一测试条件,以优化对第一故障单元的修复,有助于提高整体良率。
Description
技术领域
本公开实施例涉及半导体技术领域,尤其涉及一种内部存储器的故障修复方法及设备。
背景技术
内部存储器是各种计算设备的核心部件,内部存储器可以为DRAM(dynamicrandom access memory,动态随机存储器)、Nand闪存等。内部存储器中的主阵列用于存储数据,存储的数据量与主阵列的大小相关。当主阵列包括M行N列存储单元时,主阵列可存储的数据量为M×N位数据,每个存储单元用于存储一位数据。
现有技术中,在内部存储器的生产过程中,为了保证内部存储器的良率,需要在多个测试条件下对主阵列进行故障测试,得到存在故障的所有存储单元,并且通过冗余阵列中的冗余单元对所有故障单元进行修复。这里的测试条件可以是任意选择的条件,不同测试条件可以检测的故障单元数量通常不同。
然而,上述方案对内部存储器的良率提升有限。
发明内容
本公开实施例提供一种内部存储器的故障修复方法及设备,以提高良率。
第一方面,本公开实施例提供一种内部存储器的故障修复方法,所述方法包括:
通过预先训练得到的第一测试条件对第一内部存储器的主阵列进行故障测试,得到第一故障单元,所述第一测试条件的训练过程包括根据第二测试条件的实际故障率对所述第二测试条件进行调整的过程,所述第一测试条件是训练结束时的所述第二测试条件,所述第二测试条件的实际故障率是通过所述第二测试条件检测出来的故障单元在后端测试时未出现故障的概率;
对所述第一故障单元进行修复。
在一些实施方式中,所述根据第二测试条件的实际故障率对所述第二测试条件进行调整,包括:
根据第二内部存储器的用户端故障率对所述第二测试条件进行调整,所述用户端故障率与所述实际故障率、所述第二内部存储器的纠错功能覆盖的故障单元数量正相关,以及,与所述第二内部存储器的主阵列包括的纠错编码块数量负相关。
在一些实施方式中,所述用户端故障率还与所述第二内部存储器的主阵列中的退化单元数量正相关,所述退化单元数量包括所述第二测试条件检测未出现故障但在所述后端测试中出现故障的单元数量。
在一些实施方式中,所述根据第二内部存储器的用户端故障率对所述第二测试条件进行调整,包括:
通过所述第二测试条件对所述第二内部存储器的主阵列进行多次故障测试得到所述用户端故障率;
在所述用户端故障率和预设故障率阈值之间的绝对误差大于预设误差时,对所述第二测试条件进行调整,并返回所述通过所述第二测试条件对所述第二内部存储器的主阵列进行多次故障测试得到所述用户端故障率的步骤,直至所述绝对误差小于或等于所述预设误差时训练结束。
在一些实施方式中,所述通过所述第二测试条件对所述第二内部存储器的主阵列进行多次故障测试得到所述用户端故障率,包括:
通过所述第二测试条件对所述第二内部存储器的主阵列进行故障测试,以确定所述纠错功能覆盖的故障单元数量和需要修复的第二故障单元;
对所述第二故障单元进行修复之后,通过第三测试条件对所述第二内部存储器的主阵列进行故障测试,以确定所述退化位元数量;
根据所述实际故障率、所述纠错功能覆盖的故障单元数量、所述退化位元数量和所述纠错编码块数量,确定所述用户端故障率。
在一些实施方式中,所述通过所述第二测试条件对所述第二内部存储器的主阵列进行故障测试,以确定所述纠错功能覆盖的故障单元数量和需要修复的第二故障单元,包括:
在纠错功能开启的情况下,通过所述第二测试条件对所述第二内部存储器的主阵列进行故障测试得到第二故障单元;
在纠错功能关闭的情况下,通过所述第二测试条件对所述第二内部存储器的主阵列进行故障测试得到第三故障单元;
将所述第三故障单元的数量减去所述第二故障单元的数量得到的差值,确定为所述纠错功能覆盖的故障单元数量。
在一些实施方式中,所述通过第三测试条件对所述第二内部存储器的主阵列进行故障测试,以确定所述退化位元数量,包括:
在纠错功能开启的情况下,对修复后的所述第二内部存储器的主阵列进行故障测试得到所有第四故障单元;
将所述第四故障单元的数量确定为所述退化单元数量。
在一些实施方式中,所述通过第三测试条件对所述第二内部存储器的主阵列进行故障测试,以确定所述退化位元数量,包括:
在纠错功能关闭的情况下,对修复后的所述第二内部存储器的主阵列进行故障测试得到所有第五故障单元;
将所述第五故障单元的数量减去所述纠错功能覆盖的故障单元数量得到的差值,确定为所述退化单元数量。
在一些实施方式中,所述第二故障单元和所述第三故障单元均是通过多个测试项目测试得到的,每个所述测试项目均对应一个所述纠错功能覆盖的故障单元数量,不同所述测试项目对应相同或不同的所述第二测试条件;所述根据所述实际故障率、所述纠错功能覆盖的故障单元数量、所述退化位元数量和所述纠错编码块数量,确定所述用户端故障率,包括:
通过所述测试项目对应的所述实际故障率,对所述测试项目对应的所述纠错功能覆盖的故障单元数量进行加权,得到加权故障单元数量;
根据所述加权故障单元数量、所述退化单元数量、所述实际故障率和所述纠错编码块数量,确定所述第二内部存储器的用户端故障率。
在一些实施方式中,所述对所述第二测试条件进行调整,包括:
若所述预设故障率阈值减去所述用户端故障率得到的差值大于预设误差,则按照所述实际故障率的增大方向,对所述第二测试条件进行调整;
若所述用户端故障率减去所述预设故障率阈值得到的差值大于所述预设误差,则按照所述实际故障率的减小方向,对所述第二测试条件进行调整。
在一些实施方式中,所述对所述第一故障单元进行修复之后,还包括:
确定修复后的所述第一内部存储器的主阵列的用户端故障率;
若修复后所述第一内部存储器的所述用户端故障率小于或等于预设故障率阈值,则确定所述第一内部存储器测试通过。
在一些实施方式中,所述通过预先训练得到的第一测试条件对第一内部存储器的主阵列进行故障测试,得到第一故障单元,包括:
在纠错功能开启的情况下,通过预先训练得到的第一测试条件对第一内部存储器的主阵列进行故障测试,得到第一故障单元。
在一些实施方式中,所述用户端故障率的计算公式如下:
其中,a是大于0的常数,R是用户端故障率,AFPi为第i个测试项目对应的实际故障率,Neci为第i个测试项目对应的所述纠错功能覆盖的故障单元数量,Nc为所述第二内部存储器的主阵列中的纠错码块数量,j是测试项目的数量,Nd是所述退化单元数量。
第二方面,本公开实施例提供一种内部存储器的故障修复装置,包括:
故障测试模块,用于通过预先训练得到的第一测试条件对第一内部存储器的主阵列进行故障测试,得到第一故障单元,所述第一测试条件的训练过程包括根据第二测试条件的实际故障率对所述第二测试条件进行调整的过程,所述第二测试条件的实际故障率是通过所述第二测试条件检测出来的故障单元在后端测试时未出现故障的概率;
第一修复模块,用于对所述第一故障单元进行修复。
在一些实施方式中,所述装置还包括:
训练模块,用于在根据第二测试条件的实际故障率对所述第二测试条件进行调整时,根据第二内部存储器的用户端故障率对所述第二测试条件进行调整,所述用户端故障率与所述实际故障率、所述第二内部存储器的纠错功能覆盖的故障单元数量正相关,以及,与所述第二内部存储器的主阵列包括的纠错编码块数量负相关。
在一些实施方式中,所述用户端故障率还与所述第二内部存储器的主阵列中的退化单元数量正相关,所述退化单元数量包括所述第二测试条件检测未出现故障但在所述后端测试中出现故障的单元数量。
在一些实施方式中,所述训练模块还用于:
通过所述第二测试条件对所述第二内部存储器的主阵列进行多次故障测试得到所述用户端故障率;
在所述用户端故障率和预设故障率阈值之间的绝对误差大于预设误差时,对所述第二测试条件进行调整,并返回所述通过所述第二测试条件对所述第二内部存储器的主阵列进行多次故障测试得到所述用户端故障率的步骤,直至所述绝对误差小于或等于所述预设误差时训练结束。
在一些实施方式中,所述训练模块还用于:
在通过所述第二测试条件对所述第二内部存储器的主阵列进行多次故障测试得到所述用户端故障率时,通过所述第二测试条件对所述第二内部存储器的主阵列进行故障测试,以确定所述纠错功能覆盖的故障单元数量和需要修复的第二故障单元;
对所述第二故障单元进行修复之后,通过第三测试条件对所述第二内部存储器的主阵列进行故障测试,以确定所述退化位元数量;
根据所述实际故障率、所述纠错功能覆盖的故障单元数量、所述退化位元数量和所述纠错编码块数量,确定所述用户端故障率。
在一些实施方式中,所述训练模块还用于:
在通过所述第二测试条件对所述第二内部存储器的主阵列进行故障测试,以确定所述纠错功能覆盖的故障单元数量和需要修复的第二故障单元时,在纠错功能开启的情况下,通过所述第二测试条件对所述第二内部存储器的主阵列进行故障测试得到第二故障单元;
在纠错功能关闭的情况下,通过所述第二测试条件对所述第二内部存储器的主阵列进行故障测试得到第三故障单元;
将所述第三故障单元的数量减去所述第二故障单元的数量得到的差值,确定为所述纠错功能覆盖的故障单元数量。
在一些实施方式中,所述训练模块还用于:
在纠错功能开启的情况下,对修复后的所述第二内部存储器的主阵列进行故障测试得到所有第四故障单元;
将所述第四故障单元的数量确定为所述退化单元数量。
在一些实施方式中,所述训练模块还用于:
在纠错功能关闭的情况下,对修复后的所述第二内部存储器的主阵列进行故障测试得到所有第五故障单元;
将所述第五故障单元的数量减去所述纠错功能覆盖的故障单元数量得到的差值,确定为所述退化单元数量。
在一些实施方式中,所述第二故障单元和所述第三故障单元均是通过多个测试项目测试得到的,每个所述测试项目均对应一个所述纠错功能覆盖的故障单元数量,不同所述测试项目对应相同或不同的所述第二测试条件;所述训练模块还用于:
在根据所述实际故障率、所述纠错功能覆盖的故障单元数量、所述退化位元数量和所述纠错编码块数量,确定所述用户端故障率时,通过所述测试项目对应的所述实际故障率,对所述测试项目对应的所述纠错功能覆盖的故障单元数量进行加权,得到加权故障单元数量;
根据所述加权故障单元数量、所述退化单元数量、所述实际故障率和所述纠错编码块数量,确定所述第二内部存储器的用户端故障率。
在一些实施方式中,所述训练模块还用于:
在对所述第二测试条件进行调整时,若所述预设故障率阈值减去所述用户端故障率得到的差值大于预设误差,则按照所述实际故障率的增大方向,对所述第二测试条件进行调整;
若所述用户端故障率减去所述预设故障率阈值得到的差值大于所述预设误差,则按照所述实际故障率的减小方向,对所述第二测试条件进行调整。
在一些实施方式中,所述装置还包括:
用户端故障率确定模块,用于在所述对所述第一故障单元进行修复之后,确定修复后的所述第一内部存储器的主阵列的用户端故障率;
测试结果确定模块,用于若修复后所述第一内部存储器的所述用户端故障率小于或等于预设故障率阈值,则确定所述第一内部存储器测试通过。
在一些实施方式中,所述故障测试模块还用于:
在纠错功能开启的情况下,通过预先训练得到的第一测试条件对第一内部存储器的主阵列进行故障测试,得到第一故障单元。
在一些实施方式中,所述用户端故障率的计算公式如下:
其中,a是大于0的常数,R是用户端故障率,AFPi为第i个测试项目对应的实际故障率,Neci为第i个测试项目对应的所述纠错功能覆盖的故障单元数量,Nc为所述第二内部存储器的主阵列中的纠错码块数量,j是测试项目的数量,Nd是所述退化单元数量。
第三方面,本公开实施例还提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备实现第一方面所述的方法。
第四方面,本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当计算设备执行所述计算机执行指令时,使计算设备实现如第一方面所述的方法。
第五方面,本公开实施例还提供一种计算机程序产品,所述计算机程序产品用于执行第一方面所述的方法。
本公开实施例提供的内部存储器的故障修复方法及设备,包括:通过预先训练得到的第一测试条件对第一内部存储器的主阵列进行故障测试,得到第一故障单元,第一测试条件的训练过程包括根据第二测试条件的实际故障率对第二测试条件进行调整的过程,第一测试条件是训练结束时的第二测试条件,所述第二测试条件的实际故障率是通过所述第二测试条件检测出来的故障单元在后端测试时未出现故障的概率;对第一故障单元进行修复。本公开可以通过实际故障率表示在第二测试条件下捕获的故障单元在后端测试下实际出现故障的概率,后端测试使用的测试条件与第二测试条件相同或不同。从而,根据实际故障率训练第一测试条件可以得到更合适的第一测试条件,以优化对第一故障单元的修复,有助于提高整体良率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开实施例的实施例,并与说明书一起用于解释本公开实施例的原理。
图1是本公开实施例提供的一种内部存储器的存储阵列的结构示意图;
图2是本公开实施例提供的一种内部存储器的故障修复方法的步骤流程图;
图3是本公开实施例提供的纠错功能覆盖的故障单元数量和退化单元数量之间的关系示意图;
图4是本公开实施例提供的用户端故障率和退化单元数量之间的关系示意图;
图5是本公开实施例提供的第一测试条件的训练过程流程图;
图6是本公开实施例提供的第一测试条件的应用过程流程图;
图7是本公开实施例提供的一种内部存储器的故障修复装置的结构示意图;
图8是本公开实施例提供的一种电子设备的结构框图。
通过上述附图,已示出本公开实施例明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开实施例构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开实施例的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开实施例的一些方面相一致的装置和方法的例子。
本公开实施例适用于内部存储器中,内部存储器包括存储阵列。图1是本公开实施例提供的一种内部存储器的存储阵列的结构示意图,图1所示的存储阵列可以为主阵列,也可以是对主阵列进行修复的冗余阵列。主阵列是内部存储器用于存储数据的阵列,冗余阵列中的一个第一冗余单元用于对主阵列中的一个存储单元进行修复,从而可以保证内部存储器对数据的存储准确度。当图1所示的存储阵列为主阵列时,主阵列100可以包括9行9列,也就是81个存储单元101,用于最多存储81位数据。
为了保证内部存储器的读写准确度,在内部存储器出厂之前,可以对内部存储器中的主阵列进行测试,以得到主阵列中的故障单元,并为故障单元分配冗余单元进行修复。但是如何提高良率是亟待解决的问题。
为了解决上述问题,本公开可以通过实际故障率表示在第二测试条件下捕获的故障单元在后端测试下实际出现故障的概率,后端测试使用的测试条件与第二测试条件相同或不同。从而,根据实际故障率训练第一测试条件的过程相当于结合了存储单元随时间退化的情况,这样可以得到更合适的第一测试条件,以优化对第一故障单元的修复,有助于提高整体良率。
图2是本公开实施例提供的一种内部存储器的故障修复方法的步骤流程图。请参照图2,上述内部存储器的故障修复方法包括:
S201:通过预先训练得到的第一测试条件对第一内部存储器的主阵列进行故障测试,得到第一故障单元,第一测试条件的训练过程包括根据第二测试条件的实际故障率对第二测试条件进行调整的过程,第一测试条件是训练结束时的第二测试条件,第二测试条件的实际故障率是通过第二测试条件检测出来的故障单元在后端测试时未出现故障的概率。
其中,第一测试条件是训练好的测试条件,第二测试条件是训练过程中需要不断调整的测试条件。测试条件是影响故障测试检测出来的故障单元的各种条件,不同的测试条件可以得到相同或不同的故障单元。测试条件可以包括但不限于:测试时所在的环境温度、写入数据与读取数据之间的等待时长、施加给第一内部存储器中的存储电容极板的电压等。例如,测试时所在的温度在50摄氏度和70摄氏度时得到的故障单元可能不同。
需要说明的是,S201的上述故障测试为前述CP测试,CP测试会影响最终良率。例如,CP测试使用的测试模式较多,或CP测试模式使用的第一测试条件的故障检测能力较高,可以提高最终良率。
上述第一故障单元可以是在上述纠错功能关闭的情况下通过故障测试检测得到的,也可以是在第一内部存储器的纠错功能开启的情况下通过故障测试检测得到的。
在纠错功能开启的情况下,故障检测得到的第一故障单元是除纠错功能覆盖的故障单元之外的故障单元,这里纠错功能覆盖的故障单元可以理解为纠错功能可以纠错,并不需要冗余单元修复的故障单元。如此,可以节约修复故障单元所需要的冗余单元数量,为后端测试预留较多的冗余单元,可以减少后端测试的故障单元无冗余单元修复的情况发生,有助于提高内部存储器的整体良率。
上述纠错功能可以通过ECC(error correcting code,纠错码)或ECS(errorcheck and scrub,错误检查及擦除)实现。片上ECC/ECS是一种高级功能,用于纠错。在写入时,不仅需要向主阵列中写入有效数据,还要向纠错阵列中写入纠错数据。在读取时,不仅需要读取有效数据还需要读取纠错数据,以纠正有效数据中的错误,提高数据的准确度。有效数据和纠错数据构成纠错编码块,有效数据存储在主阵列的多个存储单元中,纠错数据存储在纠错阵列的多个纠错单元中。
在本公开实施例中,可以将测试分为先后两种,先执行的第一种故障测试可以称为CP(common patch,一般修复)测试,用于测试得到需要修复的故障单元,后执行的第二种故障测试可以称为后端测试,用于对修复后的内部存储器进行再测试,以得到良率或故障率,也就是对修复后的内部存储器进行质量和可靠性测试。由于后端测试可以是出厂前的性能测试,从而,这里的良率和故障率可以称为用户端故障率,也就是说,后端测试得到故障率是提供给用户时的故障率。
当然,上述后端测试除对上述修复后的第一内部存储器进行测试之外,还可以对CP测试无故障单元的第一内部存储器进行测试。这里的后端测试可以包括但不限于:最终测试(final test,FT)、系统级测试(system layer test,SLT)、早期失败率检查(earlylife failure rate test,ELFR)和质量测试等。其中,最终测试具有较高的故障覆盖率,早期失败率检查是高成本和高磨损的测试,从而早期失败率检查是抽样检查,并不会对所有第一内部存储器进行测试,以降低成本和磨损。在实际应用中,可以将这两种或两种以上的后端测试结合起来使用。
本公开实施例的上述测试得到第一故障单元的过程为上述CP测试,该CP测试需要的第一测试条件是通过对第二测试条件的训练得到的。在训练过程中,可以预先通过测试得到实际故障率,然后根据实际故障率对第二测试条件进行调整。
其中,实际故障率通常与第二测试条件的故障检测能力负相关,例如,如果第二测试条件越容易检测出来故障单元,那么第二测试条件的故障检测能力越高,此时对应的实际故障率越低。相反地,第二测试条件越容易忽略掉故障单元,那么第二测试条件的故障检测能力越低,此时实际故障率越高。例如,第二测试条件包括数据写入之后到数据读取之间的等待时长,当这个等待时长越长,存储单元的存储电容越容易出现漏电,那么该第二测试条件可以更加容易的检测出来数据保留故障。然而,实际中的等待时长可能并没有这么长,导致出现该数据保留故障的概率较小,也就是说该第二测试条件的实际故障率较低。
根据实际故障率对第二测试条件进行调整可以为:若实际故障率较大,则可以按照实际故障率的减小方向,对第二测试条件进行调整。若实际故障率较小,则可以按照实际故障率的增大方向,对第二测试条件进行调整。
其中,实际故障率的减小方向对应第二测试条件的故障检测能力的提高方向,也就是第二测试条件越严格的方向。例如,可以将第二测试条件中的上述等待时长增大。实际故障率的增大方向对应第二测试条件的故障检测能力的降低方向,也就是第二测试条件越宽松的方向。例如,可以将第二测试条件中的上述等待时长减小。
在本公开实施例中,为了更加准确的在纠错功能打开的情况下,对第二测试条件进行调整,本公开实施例还可以根据实际故障率,计算第二内部存储器在纠错功能打开的情况下的用户端故障率,并根据该第二内部存储器的用户端故障率对第二测试条件进行调整。
在一些实施方式中,在不存在退化单元的情况下,第二内部存储器的用户端故障率与上述第二测试条件的实际故障率、第二内部存储器的纠错功能覆盖的故障单元数量正相关,以及,与第二内部存储器的主阵列包括的纠错编码块数量负相关。从而,在实际故障率越大,和/或,纠错功能覆盖的故障单元数量增大时,用户端故障率增大。而在第二内部存储器的纠错编码块数量增大的情况下,用户端故障率减小。本公开实施例的用户端故障率可以在满足上述关系的情况下任意设定。
其中,纠错功能覆盖的故障单元数量是未进行修复的故障单元数量,这部分故障单元可以通过纠错码纠错,以避免其中的数据错误。从而,可以更加准确的表示用户端故障率,以提高第一测试条件的合理性,进一步优化第一故障单元的修复。
在一些实施方式中,进一步考虑退化单元的影响,第二内部存储器的用户端故障率还与上述第二内部存储器的主阵列中的退化单元数量正相关,退化单元是指在第二测试条件下没有故障,但随时间而退化导致在后端测试时出现故障的单元。也就是说,在第二测试条件的实际故障率、第二内部存储器的纠错功能覆盖的故障单元数量、第二内部存储器的主阵列中的退化单元数量中的至少一个增大时,用户端故障率增大。在纠错编码块数量增大时,用户端故障率减小。
其中,退化单元的产生与时间有关,存储单元的存储性能可能会随着时间出现退化或不稳定的情况发生,导致前端测试未检测出故障的存储单元在后端测试时出现故障,这些存储单元可以称为退化单元。这些退化单元通常是在多次测试之后才检测出来,不利于整体良率的提升。例如,在开启纠错功能的情况下,故障单元数量在纠错功能的纠错能力之内,那么这些故障单元可以被纠错功能纠错,内部存储器测试通过。但是进行质量和可靠性的后端测试中,可能出现新的退化单元,从而导致总的故障单元超出纠错能力,使良率下降,不符合预期。
出现上述退化单元的原因可以包括但不限于:晶体管自身原因、接触不良、GIDL(栅极诱导漏极泄漏,gate-induced drain leakage)、结泄露。上述退化位元的测试可以在边缘测试中检测得到,例如,数据保留时长对电压和热应力敏感,从而可以调整电压和热应力以检测退化位元。这里的第二内部存储器与第一内部存储器可以是同一存储器,也可以是结构相同的不同存储器。
可以看出,本公开实施例的上述用户端故障率与纠错功能相关联,以准确的表示纠错功能打开的情况下的用户端故障率,以确定在纠错功能打开的情况下的用户端故障率是否达到要求,有助于准确的控制故障率在要求范围内。
在得到上述用户端故障率之后,对第二测试条件的调整过程可以为:若预设故障率阈值减去用户端故障率得到的差值大于预设误差,则按照实际故障率的增大方向,对第二测试条件进行调整。若用户端故障率减去预设故障率阈值得到的差值大于预设误差,则按照实际故障率的减小方向,对第二测试条件进行调整。
本公开实施例不仅可以通过用户端故障率准确的表示纠错功能开启时的故障率,还可以结合该用户端故障率对第二测试条件进行调整,给出了在纠错功能开启时的故障率准确表示,对第二测试条件进行调整的策略。相较于盲目的调整第二测试条件,本公开实施例调整第二测试条件的策略可以更快的达到训练结束,有助于节约训练时间,提高训练效率。
在一些实施方式中,上述通过用户端故障率调整第二测试条件的过程可以是多次调整。在每次调整中,先通过第二测试条件对第二内部存储器的主阵列进行多次故障测试得到用户端故障率;然后,确定用户端故障率和预设故障率阈值之间的绝对误差是否大于预设误差。在用户端故障率和预设故障率阈值之间的绝对误差小于或等于预设误差时,训练结束,并将当前的第二测试条件确定为训练得到的第一测试条件。在用户端故障率和预设故障率阈值之间的绝对误差大于预设误差时,对第二测试条件进行调整,并返回对第二内部存储器的主阵列进行故障测试得到用户端故障率的步骤,直至绝对误差小于或等于预设误差时训练结束,并将当前的第二测试条件确定为训练得到的第一测试条件。
其中,上述多次故障测试可以包括CP测试和后端测试。其中,CP测试可以通过多次实现,包括:首先,通过第二测试条件对第二内部存储器的主阵列进行故障测试,以确定纠错功能覆盖的故障单元数量和需要修复的第二故障单元;然后,对第二故障单元进行修复之后,通过第三测试条件对第二内部存储器的主阵列进行故障测试,以确定退化位元数量;最后,根据实际故障率、纠错功能覆盖的故障单元数量、退化位元数量和纠错编码块数量,确定用户端故障率。第三测试条件与第二测试条件不同,且第三测试条件是固定的。
其中,纠错功能覆盖的故障单元数量可以通过两次CP测试得到。首先,在纠错功能开启的情况下,通过第二测试条件对第二内部存储器的主阵列进行故障测试得到第二故障单元。然后,在纠错功能关闭的情况下,通过第二测试条件对第二内部存储器的主阵列进行故障测试得到第三故障单元。最后,将第三故障单元数量减去第二故障单元数量得到的差值,确定为纠错功能覆盖的故障单元数量。
可以理解的是,在纠错功能开启的情况下,纠错功能纠错了一部分故障单元,从而剩余的未纠错的故障单元为上述第二故障单元。纠错功能通常以纠错编码块为单位进行纠错,上述第二故障单元是第二内部存储器的主阵列中所有未纠正的故障单元。每个纠错编码块的纠错能力是根据纠错编码块中位于主阵列中的有效数据数量,以及位于冗余阵列中的纠错数据数量相关联。纠错编码块的大小可以为M+N,其中,M为该纠错编码块在主阵列中的有效数据数量,也就是该纠错编码块中位于主阵列中的存储单元数量。N为该纠错编码块在纠错阵列中的纠错数据数量,N也就是该纠错编码块中位于纠错阵列中的存储单元数量。
可以理解的是,在同一个第二测试条件下,第三故障单元可以理解为第二内部存储器中的所有故障单元,第二故障单元可以理解为第二内部存储器中未被纠错的故障单元,从而第三故障单元的数量减去第二故障单元的数量即为第二测试条件下,纠错功能覆盖的故障单元数量。
本公开实施例可以通过两次CP测试在同一第二测试条件下测试得到纠错功能覆盖的故障单元数量,可以提高纠错功能覆盖的故障单元数量的准确度。
在进行上述CP测试之后还可以修复第二故障单元,之后再进行后端测试以获取退化位元数量。本公开实施例的退化单元数量的确定过程可以有以下两种。
在第一种退化单元数量的确定过程中,首先,在纠错功能开启的情况下,对修复第二故障单元之后的第二内部存储器的主阵列进行故障测试得到所有第四故障单元。然后,将第四故障单元的数量确定为退化单元数量。
可以理解的是,前述对第二故障单元进行修复之后,第二内部存储器的主阵列中仅存在纠错功能覆盖的故障单元,从而,在纠错功能开启的情况下,测试得到的第四故障单元中仅包括新增的退化单元,从而第四故障单元的数量为退化单元数量。
在第二种退化单元数量的确定过程中,首先,在纠错功能关闭的情况下,对修复后的第二内部存储器的主阵列进行故障测试,得到所有第五故障单元,第五故障单元中不仅包括新增的退化单元还包括前述纠错功能覆盖的故障单元。然后,将第五故障单元的数量减去纠错功能覆盖的故障单元数量得到的差值,确定为退化单元数量。
可以看出,上述第一种退化单元数量的确定过程的复杂度较低,而第二种退化单元数量的确定过程的复杂度较高。在纠错功能正常时,可以选取第一种退化单元数量的确定过程,以降低复杂度。在纠错功能异常时,可以选取第二种退化单元数量的确定过程,以确定退化单元数量,进而可以正确的确定用户端故障率。
综上所述,相较于为退化单元数量单独设置一次额外的CP测试,上述两种退化单元数量的确定过程均结合了前述确定纠错编码块覆盖的故障单元数量的测试过程,可以尽可能的降低测试次数,有助于节约时间和训练复杂度。
在一些实施方式中,前述第二故障单元和第三故障单元均是通过多个测试项目测试得到的,每个测试项目均对应一个纠错功能覆盖的故障单元数量,不同测试项目对应相同或不同的第二测试条件,从而不同测试项目对应相同或不同的实际故障率。在这种情况下,用户端故障率的确定过程可以包括:首先,通过测试项目对应的实际故障率,对测试项目对应的纠错功能覆盖的故障单元数量进行加权,得到加权故障单元数量,每个测试项目可以得到一个加权故障单元数量。然后,根据加权故障单元数量、退化单元数量、实际故障率和纠错编码块数量,确定第二内部存储器的用户端故障率。基于此,在调整第二测试条件时,可以调整一个或多个测试项目的第二测试条件。
其中,用户端故障率的计算公式可以在与加权故障单元数量、退化单元数量、实际故障率正相关,以及与纠错编码块数量负相关的前提下灵活设置。
在纠错功能开启时进行后端测试得到退化单元时,如果退化单元所在的纠错编码块中存在已有故障单元,那么用户端故障率会增大。如果退化单元所在的纠错编码块中不存在已有故障单元,那么用户端故障率不会增大。
另外,纠错功能覆盖的实际硬故障单元数量与CP测试检测的故障位元数量相同,如果使用故障检测能力较高的测试条件,那么纠错功能覆盖的边缘故障单元数量小于CP测试检测的故障单元数量。
在纠错编码块可纠错的最大故障单元数量为1时,在一些实施方式中,上述用户端故障率的计算公式如下:
其中,R是用户端故障率,AFPi为第i个测试项目对应的实际故障率,Neci为第i个测试项目对应的纠错功能覆盖的故障单元数量,Nc为第二内部存储器的主阵列中的纠错码块数量,j是测试项目的数量,Nd是前述退化单元数量。上述AFPi·Neci为第i个测试项目对应的加权故障单元数量。
可以理解的是,在纠错编码块可纠错的最大故障单元数量为1时,第二内部存储器的主阵列中的纠错功能覆盖的总故障单元数量小于纠错编码块数量Nc,从而,后端测试得到的纠错功能覆盖的实际总故障单元数量/>小于Nc。
上述公式的推导过程可以如下:考虑到每个纠错编码块可纠错的最大故障单元数量为1,那么,在后端测试得到的纠错功能覆盖的实际总故障单元数量为分布在/>个纠错编码块中。在没有退化单元的情况下,这些实际总故障单元均被纠错功能纠错,从而此时的用户端故障率为0。然而,在存在退化单元的情况下,需要根据退化单元的分布确定用户端故障率。如果退化单元分布在已有实际故障单元的纠错编码块中时,用户端故障率不再为0。但如果退化单元分布在没有实际故障单元的纠错编码块中时,用户端故障率仍然为0。下面详细说明在/>个纠错编码块均有一个实际故障单元的情况下,出现Nd个退化单元时的用户端故障率。下面说明中暂时不考虑前述系数a对用户端故障率的调整作用,也就是可以将a视为1。/>
首先,我们考虑第二内部存储器不出现故障的条件为:Nd个退化单元均位于实际故障单元所在的个纠错编码块之外的纠错编码块中,并且Nd个退化单元所在的纠错编码块均不同。
然后,对于第一个退化单元,其位于实际故障单元所在的个纠错编块码之外的纠错编码块中的概率为:
再然后,对于第二个退化单元,其位于已有的个纠错编码块之外的纠错编码块中的概率为
其中,已有的个纠错编码块包括实际故障单元所在的个纠错编码块和第一个退化单元所在的纠错编码块。
以此类推,直至对于第Nd个退化单元,其位于已有的个纠错编码块之外的纠错编码块中的概率为:
其中,已有的个纠错编码块包括实际故障单元所在的个纠错编码块和第一至第Nd-1个退化单元所在的Nd-1个纠错编码块。
最后,当个实际故障单元和Nd个退化单元均位于不同纠错编码块中时,第二内部存储器不会出现故障。从而,第二内部存储器的良率为上述/>个实际故障单元和Nd个退化单元均位于不同纠错编码块中的概率,也就是以下概率的乘积:第一个退化单元位于实际故障单元所在的/>个纠错编块码之外的纠错编码块中的概率、第二个退化单元位于已有的/>个纠错编块码之外的纠错编码块中的概率、…、第Nd个退化单元位于已有的/>个纠错编块码之外的纠错编码块中的概率,得到以下良率公式(5):
从而,用户端故障率为1-良率,也就是上述公式(1)所示,公式(1)可以计算得到在纠错编码开启时的用户端故障率。
需要说明的是,上述a是大于0的常数,用于控制用户端故障率的取值范围。用户端故障率可以为每百万的缺陷率(defect part per million,DPPM),此时a可以为106。
图3是本公开实施例提供的纠错功能覆盖的故障单元数量和退化单元数量之间的关系示意图。测试项目的数量j为1时,只有一个AFP和一个Nec,此时,在R、Nc和AFP均一定的情况下,Nec和Nd之间负相关。参照图3所示,在R的取值为R1、R2、R3、R4和R5的情况下,Nec和Nd负相关,其中,R1<R2<R3<R4<R5。
图4是本公开实施例提供的用户端故障率和退化单元数量之间的关系示意图。测试项目的数量j为1时,只有一个AFP和一个Nec,此时,在Nc、Nec和AFP均一定的情况下,上述R和Nd之间正相关。参照图4所示,在AFP的取值为AFP1、AFP2和AFP3的情况下,R和Nd正相关,其中,AFP1>AFP2>AFP3。可看出,在Nd增大相同幅度的情况下,AFP取值为AFP1时R的增大幅度最大,AFP取值为AFP2时R的增大幅度次之,AFP取值为AFP3时R的增大幅度最小。
S202:对第一故障单元进行修复。
其中,上述修复过程可以包括以下步骤:首先,从第一内部存储器上主阵列对应的冗余阵列中为每个第一故障单元分配一个冗余单元;然后,根据冗余单元对对应的第一故障单元进行修复,修复后的冗余单元代替第一故障单元进行数据存储。
上述分配冗余单元的策略可以包括多种:按照位置的对应关系分配、将未使用的冗余单元随机分配给第一故障单元。其中,位置的对应关系分配策略需要预先建立冗余单元和第一内部存储器上主阵列中的存储单元之间的位置映射关系,例如,第N列冗余单元可以对应主阵列中第M列的存储单元,M和N可以相同,也可以不同。在出现第一故障单元时,可以将第一故障单元所在的列对应的冗余单元分配给该第一故障单元。
在一些实施方式中,对第一故障单元进行修复之后,还可以确定修复后的第一内部存储器的主阵列的用户端故障率。在用户端故障率小于或等于预设故障率阈值时,确定第一内部存储器测试通过,以将该第一内部存储器确定为可以出厂的内部存储器。在用户端故障率大于预设故障率阈值时,确定第一内部存储器测试未通过。对该测试未通过的第一内部存储器可以有两种方式处理。在第一种处理方式中,对第一内部存储器进行再测试并修复,直至达到用户端故障率小于或等于预设故障率阈值时为止。第二种处理方式中,将该第一内部存储器丢弃。
需要说明的是,对上述第一内部存储器的用户端故障率的确定方法与前述第二内部存储器的确定方法一致,区别仅在于,第一内部存储器的用户端故障率是在第一测试条件下得到的,第二内部存储器的用户端故障率是在第二测试条件下得到的。
综上所述,本公开实施例的故障修复方法包括两部分,第一部分是对第一测试条件的训练过程,第二部分是第一测试条件应用过程,也就是通过第一测试条件识别第一故障单元并修复的过程。
图5是本公开实施例提供的第一测试条件的训练过程流程图。参照图5所示,训练过程可以包括步骤S301至S314。
S301:在纠错功能开启的情况下,通过多个测试项目对第二内部存储器的主阵列进行故障测试得到第二故障单元,不同测试项目对应不同的第二测试条件。
S302:在纠错功能关闭的情况下,通过多个测试项目对第二内部存储器的主阵列进行故障测试得到第三故障单元。
S303:将第三故障单元数量减去第二故障单元数量得到的差值,确定为纠错功能覆盖的故障单元数量。
在S303之后,可以执行S304至S305,或S306至S307。
S304:对第二故障单元进行修复之后,在纠错功能开启的情况下,对修复后的第二内部存储器的主阵列进行故障测试得到所有第四故障单元。
S305:将第四故障单元的数量确定为退化单元数量。
S306:在纠错功能关闭的情况下,对修复后的第二内部存储器的主阵列进行故障测试得到所有第五故障单元。
S307:将第五故障单元的数量减去纠错功能覆盖的故障单元数量得到的差值,确定为退化单元数量。
S308:通过测试项目对应的实际故障率,对测试项目对应的纠错功能覆盖的故障单元数量进行加权,得到加权故障单元数量。
S309:根据加权故障单元数量、退化单元数量、实际故障率和纠错编码块数量,确定第二内部存储器的用户端故障率。
其中,用户端故障率可以根据前面公式(1)计算得到。这里使用的退化单元数量可以是S304至S305确定的,或是S306至S307确定的。
S310:确定用户端故障率和预设故障率阈值之间的绝对误差是否大于预设误差。若是,则进入S311,若否,则进入S314。
S311:确定设故障率阈值减去用户端故障率得到的差值是否大于预设误差。若是,则进入S312,否则,进入S313。
S312:按照实际故障率的增大方向,对第二测试条件进行调整,并返回S301。
S313:则按照实际故障率的减小方向,对第二测试条件进行调整,并返回S301。
S314:训练结束。
图6是本公开实施例提供的第一测试条件的应用过程流程图。参照图6所示,应用过程可以包括步骤S315至S316。
S315:在纠错功能开启的情况下,通过预先训练得到的第一测试条件对第一内部存储器的主阵列进行故障测试,得到第一故障单元。
S316:对第一故障单元进行修复。
S317:确定修复后的第一内部存储器的主阵列的用户端故障率。
S318:确定用户端故障率是否小于或等于预设故障率阈值。若是,则进入S319,否则,进入S320。
S319:确定第一内部存储器测试通过。
S320:确定第一内存存储器测试未通过。
可以理解的是,上述图5和图6中的部分或全部步骤可以在不相互依赖的情况下,顺序灵活调整。
对应于上述方法实施例,图7是本公开实施例提供的一种内部存储器的故障修复装置的结构示意图。请参照图7,上述内部存储器的故障修复装置400,包括:
故障测试模块401,用于通过预先训练得到的第一测试条件对第一内部存储器的主阵列进行故障测试,得到第一故障单元,所述第一测试条件的训练过程包括根据第二测试条件的实际故障率对所述第二测试条件进行调整的过程,所述第一测试条件是训练结束时的所述第二测试条件,所述第二测试条件的实际故障率是通过所述第二测试条件检测出来的故障单元在后端测试时未出现故障的概率。
第一修复模块402,用于对所述第一故障单元进行修复。
在一些实施方式中,所述装置还包括:
训练模块,用于在根据第二测试条件的实际故障率对所述第二测试条件进行调整时,根据第二内部存储器的用户端故障率对所述第二测试条件进行调整,所述用户端故障率与所述实际故障率、所述第二内部存储器的纠错功能覆盖的故障单元数量正相关,以及,与所述第二内部存储器的主阵列包括的纠错编码块数量负相关。
在一些实施方式中,所述用户端故障率还与所述第二内部存储器的主阵列中的退化单元数量正相关,所述退化单元数量包括所述第二测试条件检测未出现故障但在所述后端测试中出现故障的单元数量。
在一些实施方式中,所述训练模块还用于:
通过所述第二测试条件对所述第二内部存储器的主阵列进行多次故障测试得到所述用户端故障率。
在所述用户端故障率和预设故障率阈值之间的绝对误差大于预设误差时,对所述第二测试条件进行调整,并返回所述通过所述第二测试条件对所述第二内部存储器的主阵列进行多次故障测试得到所述用户端故障率的步骤,直至所述绝对误差小于或等于所述预设误差时训练结束。
在一些实施方式中,所述训练模块还用于:
在通过所述第二测试条件对所述第二内部存储器的主阵列进行多次故障测试得到所述用户端故障率时,通过所述第二测试条件对所述第二内部存储器的主阵列进行故障测试,以确定所述纠错功能覆盖的故障单元数量和需要修复的第二故障单元。
对所述第二故障单元进行修复之后,通过第三测试条件对所述第二内部存储器的主阵列进行故障测试,以确定所述退化位元数量。
根据所述实际故障率、所述纠错功能覆盖的故障单元数量、所述退化位元数量和所述纠错编码块数量,确定所述用户端故障率。
在一些实施方式中,所述训练模块还用于:
在通过所述第二测试条件对所述第二内部存储器的主阵列进行故障测试,以确定所述纠错功能覆盖的故障单元数量和需要修复的第二故障单元时,在纠错功能开启的情况下,通过所述第二测试条件对所述第二内部存储器的主阵列进行故障测试得到第二故障单元。
在纠错功能关闭的情况下,通过所述第二测试条件对所述第二内部存储器的主阵列进行故障测试得到第三故障单元。
将所述第三故障单元的数量减去所述第二故障单元的数量得到的差值,确定为所述纠错功能覆盖的故障单元数量。
在一些实施方式中,所述训练模块还用于:
在纠错功能开启的情况下,对修复后的所述第二内部存储器的主阵列进行故障测试得到所有第四故障单元。
将所述第四故障单元的数量确定为所述退化单元数量。
在一些实施方式中,所述训练模块还用于:
在纠错功能关闭的情况下,对修复后的所述第二内部存储器的主阵列进行故障测试得到所有第五故障单元。
将所述第五故障单元的数量减去所述纠错功能覆盖的故障单元数量得到的差值,确定为所述退化单元数量。
在一些实施方式中,所述第二故障单元和所述第三故障单元均是通过多个测试项目测试得到的,每个所述测试项目均对应一个所述纠错功能覆盖的故障单元数量,不同所述测试项目对应相同或不同的所述第二测试条件;所述训练模块还用于:
在根据所述实际故障率、所述纠错功能覆盖的故障单元数量、所述退化位元数量和所述纠错编码块数量,确定所述用户端故障率时,通过所述测试项目对应的所述实际故障率,对所述测试项目对应的所述纠错功能覆盖的故障单元数量进行加权,得到加权故障单元数量。
根据所述加权故障单元数量、所述退化单元数量、所述实际故障率和所述纠错编码块数量,确定所述第二内部存储器的用户端故障率。
在一些实施方式中,所述训练模块还用于:
在对所述第二测试条件进行调整时,若所述预设故障率阈值减去所述用户端故障率得到的差值大于预设误差,则按照所述实际故障率的增大方向,对所述第二测试条件进行调整。
若所述用户端故障率减去所述预设故障率阈值得到的差值大于所述预设误差,则按照所述实际故障率的减小方向,对所述第二测试条件进行调整。
在一些实施方式中,所述装置还包括:
用户端故障率确定模块,用于在所述对所述第一故障单元进行修复之后,确定修复后的所述第一内部存储器的主阵列的用户端故障率。
测试结果确定模块,用于若修复后所述第一内部存储器的所述用户端故障率小于或等于预设故障率阈值,则确定所述第一内部存储器测试通过。
在一些实施方式中,所述故障测试模块还用于:
在纠错功能开启的情况下,通过预先训练得到的第一测试条件对第一内部存储器的主阵列进行故障测试,得到第一故障单元。
在一些实施方式中,所述用户端故障率的计算公式如下:
其中,a是大于0的常数,R是用户端故障率,AFPi为第i个测试项目对应的实际故障率,Neci为第i个测试项目对应的所述纠错功能覆盖的故障单元数量,Nc为所述第二内部存储器的主阵列中的纠错码块数量,j是测试项目的数量,Nd是所述退化单元数量。
上述装置实施例是与前述方法实施例对应的实施例,具有与方法实施例相同的技术效果。该装置实施例的详细说明可以参照前述方法实施例的详细说明,在此不再赘述。
图8是本公开实施例提供的一种电子设备的结构框图。该电子设备600包括存储器602和至少一个处理器601。
其中,存储器602存储计算机执行指令。
至少一个处理器601执行存储器602存储的计算机执行指令,使得电子设备601实现前述内部存储器的故障修复方法。
此外,该电子设备还可以包括接收器603和发送器604,接收器603用于接收从其余装置或设备的信息,并转发给处理器601,发送器604用于将信息发送到其余装置或设备。
本公开实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当计算设备执行计算机执行指令时,使计算设备实现内部存储器的故障修复方法。
本公开实施例还提供一种计算机程序产品,计算机程序产品用于执行上述内部存储器的故障修复方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
以上仅为本公开实施例的优选实施例,并非因此限制本公开实施例的专利范围,凡是利用本公开实施例说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本公开实施例的专利保护范围内。
Claims (17)
1.一种内部存储器的故障修复方法,其特征在于,所述方法包括:
通过预先训练得到的第一测试条件对第一内部存储器的主阵列进行故障测试,得到第一故障单元,所述第一测试条件的训练过程包括根据第二测试条件的实际故障率对所述第二测试条件进行调整的过程,所述第一测试条件是训练结束时的所述第二测试条件,所述第二测试条件的实际故障率是通过所述第二测试条件检测出来的故障单元在后端测试时未出现故障的概率;
对所述第一故障单元进行修复。
2.根据权利要求1所述的方法,其特征在于,所述根据第二测试条件的实际故障率对所述第二测试条件进行调整,包括:
根据第二内部存储器的用户端故障率对所述第二测试条件进行调整,所述用户端故障率与所述实际故障率、所述第二内部存储器的纠错功能覆盖的故障单元数量正相关,以及,与所述第二内部存储器的主阵列包括的纠错编码块数量负相关。
3.根据权利要求2所述的方法,其特征在于,所述用户端故障率还与所述第二内部存储器的主阵列中的退化单元数量正相关,所述退化单元数量包括所述第二测试条件检测未出现故障但在所述后端测试中出现故障的单元数量。
4.根据权利要求3所述的方法,其特征在于,所述根据第二内部存储器的用户端故障率对所述第二测试条件进行调整,包括:
通过所述第二测试条件对所述第二内部存储器的主阵列进行多次故障测试得到所述用户端故障率;
在所述用户端故障率和预设故障率阈值之间的绝对误差大于预设误差时,对所述第二测试条件进行调整,并返回所述通过所述第二测试条件对所述第二内部存储器的主阵列进行多次故障测试得到所述用户端故障率的步骤,直至所述绝对误差小于或等于所述预设误差时训练结束。
5.根据权利要求4所述的方法,其特征在于,所述通过所述第二测试条件对所述第二内部存储器的主阵列进行多次故障测试得到所述用户端故障率,包括:
通过所述第二测试条件对所述第二内部存储器的主阵列进行故障测试,以确定所述纠错功能覆盖的故障单元数量和需要修复的第二故障单元;
对所述第二故障单元进行修复之后,通过第三测试条件对所述第二内部存储器的主阵列进行故障测试,以确定所述退化位元数量;
根据所述实际故障率、所述纠错功能覆盖的故障单元数量、所述退化位元数量和所述纠错编码块数量,确定所述用户端故障率。
6.根据权利要求5所述的方法,其特征在于,所述通过所述第二测试条件对所述第二内部存储器的主阵列进行故障测试,以确定所述纠错功能覆盖的故障单元数量和需要修复的第二故障单元,包括:
在纠错功能开启的情况下,通过所述第二测试条件对所述第二内部存储器的主阵列进行故障测试得到所述第二故障单元;
在纠错功能关闭的情况下,通过所述第二测试条件对所述第二内部存储器的主阵列进行故障测试得到第三故障单元;
将所述第三故障单元的数量减去所述第二故障单元的数量得到的差值,确定为所述纠错功能覆盖的故障单元数量。
7.根据权利要求6所述的方法,其特征在于,所述通过第三测试条件对所述第二内部存储器的主阵列进行故障测试,以确定所述退化位元数量,包括:
在纠错功能开启的情况下,对修复后的所述第二内部存储器的主阵列进行故障测试得到所有第四故障单元;
将所述第四故障单元的数量确定为所述退化单元数量。
8.根据权利要求6所述的方法,其特征在于,所述通过第三测试条件对所述第二内部存储器的主阵列进行故障测试,以确定所述退化位元数量,包括:
在纠错功能关闭的情况下,对修复后的所述第二内部存储器的主阵列进行故障测试得到所有第五故障单元;
将所述第五故障单元的数量减去所述纠错功能覆盖的故障单元数量得到的差值,确定为所述退化单元数量。
9.根据权利要求6所述的方法,其特征在于,所述第二故障单元和所述第三故障单元均是通过多个测试项目测试得到的,每个所述测试项目均对应一个所述纠错功能覆盖的故障单元数量,不同所述测试项目对应相同或不同的所述第二测试条件;所述根据所述实际故障率、所述纠错功能覆盖的故障单元数量、所述退化位元数量和所述纠错编码块数量,确定所述用户端故障率,包括:
通过所述测试项目对应的所述实际故障率,对所述测试项目对应的所述纠错功能覆盖的故障单元数量进行加权,得到加权故障单元数量;
根据所述加权故障单元数量、所述退化单元数量、所述实际故障率和所述纠错编码块数量,确定所述第二内部存储器的用户端故障率。
10.根据权利要求4至9任一项所述的方法,其特征在于,所述对所述第二测试条件进行调整,包括:
若所述预设故障率阈值减去所述用户端故障率得到的差值大于预设误差,则按照所述实际故障率的增大方向,对所述第二测试条件进行调整;
若所述用户端故障率减去所述预设故障率阈值得到的差值大于所述预设误差,则按照所述实际故障率的减小方向,对所述第二测试条件进行调整。
11.根据权利要求1至9任一项所述的方法,其特征在于,所述对所述第一故障单元进行修复之后,还包括:
确定修复后的所述第一内部存储器的主阵列的用户端故障率;
若修复后所述第一内部存储器的所述用户端故障率小于或等于预设故障率阈值,则确定所述第一内部存储器测试通过。
12.根据权利要求1至9任一项所述的方法,其特征在于,所述通过预先训练得到的第一测试条件对第一内部存储器的主阵列进行故障测试,得到第一故障单元,包括:
在纠错功能开启的情况下,通过预先训练得到的第一测试条件对第一内部存储器的主阵列进行故障测试,得到第一故障单元。
13.根据权利要求9所述的方法,其特征在于,所述用户端故障率的计算公式如下:
其中,a是大于0的常数,R是用户端故障率,AFPi为第i个测试项目对应的实际故障率,Neci为第i个测试项目对应的所述纠错功能覆盖的故障单元数量,Nc为所述第二内部存储器的主阵列中的纠错码块数量,j是测试项目的数量,Nd是所述退化单元数量。
14.一种内部存储器的故障修复装置,其特征在于,包括:
故障测试模块,用于通过预先训练得到的第一测试条件对第一内部存储器的主阵列进行故障测试,得到第一故障单元,所述第一测试条件的训练过程包括根据第二测试条件的实际故障率对所述第二测试条件进行调整的过程,所述第一测试条件是训练结束时的所述第二测试条件,所述第二测试条件的实际故障率是通过所述第二测试条件检测出来的故障单元在后端测试时未出现故障的概率;
第一修复模块,用于对所述第一故障单元进行修复。
15.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备实现如权利要求1至13任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当计算设备执行所述计算机执行指令时,使计算设备实现如权利要求1至13任一项所述的方法。
17.一种计算机程序产品,其特征在于,所述计算机程序产品用于执行权利要求1至13任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211079445.4A CN117687818A (zh) | 2022-09-05 | 2022-09-05 | 内部存储器的故障修复方法及设备 |
PCT/CN2023/070345 WO2024051058A1 (zh) | 2022-09-05 | 2023-01-04 | 内部存储器的故障修复方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211079445.4A CN117687818A (zh) | 2022-09-05 | 2022-09-05 | 内部存储器的故障修复方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117687818A true CN117687818A (zh) | 2024-03-12 |
Family
ID=90128818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211079445.4A Pending CN117687818A (zh) | 2022-09-05 | 2022-09-05 | 内部存储器的故障修复方法及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117687818A (zh) |
WO (1) | WO2024051058A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100437814C (zh) * | 2003-07-04 | 2008-11-26 | 旺宏电子股份有限公司 | 具有内建错误纠正能力的存储器元件 |
US7827018B2 (en) * | 2007-11-16 | 2010-11-02 | International Business Machines Corporation | Method and computer program for selecting circuit repairs using redundant elements with consideration of aging effects |
KR102238706B1 (ko) * | 2014-11-28 | 2021-04-09 | 삼성전자주식회사 | 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 |
KR20210026956A (ko) * | 2019-09-02 | 2021-03-10 | 삼성전자주식회사 | 파워-업 시퀀스 중에 메모리 셀들을 테스트하고 리페어 하는 방법 및 메모리 장치 |
CN111312321A (zh) * | 2020-03-02 | 2020-06-19 | 电子科技大学 | 一种存储器装置及其故障修复方法 |
CN112149898B (zh) * | 2020-09-21 | 2023-10-31 | 广东电网有限责任公司清远供电局 | 故障率预测模型的训练、故障率预测方法及相关装置 |
-
2022
- 2022-09-05 CN CN202211079445.4A patent/CN117687818A/zh active Pending
-
2023
- 2023-01-04 WO PCT/CN2023/070345 patent/WO2024051058A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024051058A1 (zh) | 2024-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10304515B2 (en) | Refresh circuitry | |
EP2368186B1 (en) | Data error recovery in non-volatile memory | |
US8345487B2 (en) | Method of setting read voltage minimizing read data errors | |
US8255773B2 (en) | System and method of tracking error data within a storage device | |
US7773441B2 (en) | Memory malfunction prediction system and method | |
US7870472B2 (en) | Methods and apparatus for employing redundant arrays to configure non-volatile memory | |
US8793558B2 (en) | Adaptive error correction for non-volatile memories | |
US20040237010A1 (en) | Soft errors handling in EEPROM devices | |
JP2016540288A (ja) | 不揮発性ram誤りリマッピングのための方法および装置 | |
US20070141731A1 (en) | Semiconductor memory with redundant replacement for elements posing future operability concern | |
US9552257B2 (en) | Memory cell coupling compensation | |
US7272058B2 (en) | Nonvolatile semiconductor memory device having redundant relief technique | |
US20160155514A1 (en) | System and method of testing and identifying memory devices | |
US7349254B2 (en) | Charge-trapping memory device and methods for its manufacturing and operation | |
US10586601B2 (en) | Semiconductor memory device and read control method thereof | |
US10481975B2 (en) | Memory system | |
JP2008192240A (ja) | 半導体メモリと半導体メモリシステム | |
US20090013231A1 (en) | Multi-bit error correction scheme in multi-level memory storage system | |
CN117687818A (zh) | 内部存储器的故障修复方法及设备 | |
US8713406B2 (en) | Erasing a non-volatile memory (NVM) system having error correction code (ECC) | |
US10366760B1 (en) | NAND flash memory with worldline voltage compensation using compensated temperature coefficients | |
US20200264944A1 (en) | Detection and mitigation for solid-state storage device read failures due to weak erase | |
CN109215716B (zh) | 提高nand型浮栅存储器可靠性的方法及装置 | |
CN116540059B (zh) | 半导体芯片测试方法、装置、设备及存储介质 | |
CN117690469A (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 |