CN113223604A - 用于存储器修复的方法、系统及计算机编程产品 - Google Patents
用于存储器修复的方法、系统及计算机编程产品 Download PDFInfo
- Publication number
- CN113223604A CN113223604A CN202110566926.7A CN202110566926A CN113223604A CN 113223604 A CN113223604 A CN 113223604A CN 202110566926 A CN202110566926 A CN 202110566926A CN 113223604 A CN113223604 A CN 113223604A
- Authority
- CN
- China
- Prior art keywords
- bit
- memory
- repair
- memory block
- redundant
- 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 527
- 230000008439 repair process Effects 0.000 title claims abstract description 298
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000004590 computer program Methods 0.000 title abstract description 6
- 238000012360 testing method Methods 0.000 claims abstract description 172
- 230000004044 response Effects 0.000 claims abstract description 52
- 238000010801 machine learning Methods 0.000 claims description 112
- 230000006870 function Effects 0.000 claims description 100
- 238000005457 optimization Methods 0.000 claims description 25
- 239000002245 particle Substances 0.000 claims 1
- 230000008569 process Effects 0.000 description 33
- 238000003860 storage Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 12
- 238000002507 cathodic stripping potentiometry Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013468 resource allocation Methods 0.000 description 4
- 238000013480 data collection Methods 0.000 description 3
- 230000002950 deficient Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000010845 search algorithm Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
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/44—Indication or identification of errors, e.g. for 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/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/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/1201—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising I/O circuitry
-
- 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
- G11C29/24—Accessing extra cells, e.g. dummy cells or redundant cells
-
- 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/36—Data generation devices, e.g. data inverters
-
- 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/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
- G11C29/56004—Pattern generation
-
- 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/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
- G11C29/56008—Error analysis, representation of errors
-
- 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/72—Masking faults in memories by using spares or by reconfiguring with optimized replacement algorithms
-
- 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/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/808—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout using a flexible replacement scheme
-
- 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/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/816—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
-
- 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/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/835—Masking faults in memories by using spares or by reconfiguring using programmable devices with roll call arrangements for redundant substitutions
-
- 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
- G11C2029/1202—Word line control
-
- 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
- G11C2029/1204—Bit line control
-
- 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/36—Data generation devices, e.g. data inverters
- G11C2029/3602—Pattern generator
-
- 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
- G11C2029/4402—Internal storage of test result, quality data, chip identification, repair information
-
- 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/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
- G11C29/56016—Apparatus features
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
一种用于存储器修复的方法、系统及计算机编程产品。从对存储器的存储器区块进行的至少一个存储器测试提取存储器区块中的将被修复的至少一个失效位的位置。获得存储器中的用于对存储器区块进行修复的可用修复资源。判断包含多个约束在内的约束满足问题是否可解决。所述约束对应于存储器区块中的所述至少一个失效位的位置以及可用修复资源。响应于判断出约束满足问题不可解决,将存储器区块标记为不可修复或拒绝存储器。响应于判断出约束满足问题可解决且具有满足所述约束的解决方案,根据约束满足问题的解决方案而使用可用修复资源来对所述至少一个失效位进行修复。
Description
技术领域
本发明的实施例涉及一种用于存储器修复的方法、系统及计算机编程产品。
背景技术
存储器是电子装置的组件。由于存储器中的缺陷不仅潜在地影响有缺陷的存储器的性能和/或功能,还影响包括或存取这有缺陷的存储器的一个或多个其他集成电路(integrated circuit,IC)的性能和/或功能,因此存储器品质是一个考虑因素。存储器测试及修复是为解决此考虑因素而开发的技术。
发明内容
本发明实施例的方法至少部分地由处理器执行。方法包括但不仅限于下列步骤:从对存储器的存储器区块进行的至少一个存储器测试提取所述存储器区块中的将被修复的至少一个失效位的位置。获得存储器中的用于对存储器区块进行修复的可用修复资源。判断包含多个约束在内的约束满足问题是否能够解决。多个约束对应于存储器区块中的至少一个失效位的位置、以及可用修复资源。响应于判断所指示约束满足问题不能解决,将存储器区块标记为不能修复或拒绝存储器。响应于判断所指示约束满足问题能够解决且具有满足多个约束的解决方案,根据约束满足问题的解决方案而使用可用修复资源来对至少一个失效位进行修复。
本发明实施例的系统包括但不仅限于存储器测试装置以及处理器。存储器测试装置被配置成对存储器的存储器区块实行至少一个存储器测试。处理器耦接到存储器测试装置。处理器被配置成:从至少一个存储器测试提取存储器区块中的将被修复的至少一个失效位的位置,且获得存储器中的用于对存储器区块进行修复的可用修复资源。处理器还被配置成根据以下判断至少一个失效位是否不能修复:存储器区块中的至少一个失效位的位置、可用修复资源、以及通过机器学习从数据库获得的函数。数据库包含不能修复位图案及对应的可用修复资源。响应于判断出至少一个失效位不能修复,处理器还被配置成控制存储器测试装置将存储器区块标记为不能修复或拒绝存储器。
本发明实施例的计算机编程产品包括非暂时性计算机可读介质。非暂时性计算机可读介质中包含指令。指令在由处理器执行时使处理器从对存储器的存储器区块进行的至少一个存储器测试提取存储器区块中的将被修复的多个失效位的失效位图案以及存储器区块中的多个弱位的弱位图案。指令还使处理器响应于以下中的任意者控制将存储器区块标记为不能修复或拒绝存储器:多个失效位的数目高于预定阈值、机器学习函数基于存储器中的失效位图案及用于对存储器区块进行修复的可用修复资源指示失效位图案不能修复、或者包含多个约束在内的约束满足问题不能解决。多个约束对应于失效位图案及可用修复资源。指令还使处理器基于以下控制对存储器进行修复:约束满足问题的解决方案或者约束优化问题的解决方案。约束满足问题的解决方案满足多个约束且指示可用修复资源在多个失效位的修复中如何分配。约束优化问题包含多个约束及目标函数,约束优化问题的解决方案满足多个约束、对目标函数进行优化且指示可用修复资源在多个失效位及多个弱位之中的一个或多个弱位的修复中如何分配。
附图说明
结合附图阅读以下详细说明,会最好地理解本发明实施例的各个方面。应注意,根据本行业中的标准惯例,各种特征并非按比例绘制。事实上,为使论述清晰起见,可任意增大或减小各种特征的尺寸。
图1A是根据一些实施例的存储器的示意性方块图。
图1B是示出根据一些实施例的存储器中的示例性修复资源部署规则的示意图。
图2是根据一些实施例的用于对存储器进行测试及修复的系统的示意图。
图3A到图3E是根据一些实施例的存储器区块的示意图,示意图示出对存储器区块进行的至少一个存储器测试的测试结果。
图4是根据一些实施例的对存储器进行修复的方法的流程图。
图5是根据一些实施例的硬件计算平台的方块图。
[符号的说明]
100:存储器
102:存储器控制器
104、304:存储器阵列
106、306:冗余行
108、308:冗余列
110:修复寄存器
116、126、x’1、x’2:冗余字线
200:系统
210:存储器测试装置
212:测试电路系统
214:测试结果存储装置
216:修复电路系统
220:计算设备
222:处理器
224:存储介质
226:约束满足问题/约束优化问题解决
228:机器学习(ML)
230:机器学习数据库
232:机器学习函数
300:存储器区块
400:方法
402、404、406、408、410、412、414、416、418、420、422、424、430、444、446、448、450、452、454:操作
500:硬件计算平台
502:处理器
504:存储介质
506:指令
507:数据库
508:总线
510:输入/输出(I/O)界面
512:网络界面
514:网络
542:用户界面
Bit_1,1、Bit_3,3、Bit_3,4、Bit_4,3:失效位
Bit_1,1’、Bit_1,2、Bit_1’,2、Bit_2,4、Bit_2’,3、Bit_3,2’、Bit_4,1:弱位
BL_0、BL_1、BL_2、BL_N、BL_R、y1、y2、y3、y4:位线
WL 0、WL 127、WL 128、WL 255、WL 256、WL 1023、WL_0、WL_1、WL_2、WL_M、WL_R、x1、x2、x3、x4:字线
W11’、W12、W1’2、W2’3、W24、W32’、W41:权重
MC:存储器单元
y’1、y’2:冗余位线
具体实施方式
以下公开提供用于实施所提供主题的不同特征的许多不同实施例或实例。以下阐述组件、材料、值、步骤、操作、材料、排列等的具体实例以简化本发明实施例。当然,这些仅为实例且不旨在进行限制。预期存在其他组件、值、操作、材料、排列等。举例来说,以下说明中将第一特征形成在第二特征“之上”或第二特征“上”可包括其中第一特征与第二特征被形成为直接接触的实施例,且也可包括其中第一特征与第二特征之间可形成有附加特征从而使得所述第一特征与所述第二特征可不直接接触的实施例。另外,本发明实施例可能在各种实例中重复使用参考符号和/或字母。这种重复使用是出于简洁及清晰的目的,而不是自身指示所论述的各种实施例和/或配置之间的关系。
此外,为易于说明,本文中可能使用例如“在…之下(beneath)”、“在…下方(below)”、“下部的(lower)”、“在…上方(above)”、“上部的(upper)”等空间相对性用语来阐述图中所示的一个元件或特征与另一(其他)元件或特征的关系。所述空间相对性用语旨在除图中所绘示的取向外还囊括装置在使用或操作中的不同取向。设备可具有其他取向(旋转90度或处于其他取向),且本文中所使用的空间相对性描述语可同样相应地进行解释。
当存储器经历至少一个存储器测试时,在存储器中发现一个或多个失效位(failbit)和/或弱位(weak bit)。失效位(也被称为“硬错误(hard error)”)是在同一位置(或位)多次出现的错误。弱位(也被称为“软错误(soft error)”)是随机出现的错误且不会在同一位置(或位)处重复出现多次。为确保存储器的正常功能,使用如本文中所述的存储器中可用的修复资源来对失效位进行修复。在至少一个实施例中,不对弱位进行修复是可接受的;然而,当对失效位进行修复之后剩余的修复资源足够时,使用剩余修复资源对弱位中的一者或多者进行修复。
在一些实施例中,将是否可对存储器的存储器区块中的失效位的图案(也被称为“失效位图案”)进行修复的决定公式化为约束满足问题(Constraint SatisfactionProblem,CSP)。当CSP不可解决时,将存储器区块标记为不可修复或拒绝存储器。当CSP可解决时,使用CSP的解决方案来分配存储器中的可用修复资源以对失效位进行修复。在一些实施例中,除失效位之外且在可用修复资源允许的情况下,如何对存储器区块中的一个或多个弱位进行修复的决定被公式化为基于弱位的弱级(weakness level)的约束优化问题(Constraint Optimization Problem,COP)。除对所有的失效位进行修复之外,使用COP的解决方案分配可用修复资源以对弱位中的一者或多者进行修复。在一些实施例中,在试图解决CSP之前,应用机器学习来判断失效位图案是否不可修复。在一些实施例中,使用不可解决的CSP来更新机器学习的结果。在一些实施例中,应用机器学习来对CSP和/或COP的解决算法(也被称为“启发式(heuristic)”)进行优化。在至少一个实施例中,可实现一种或多种效果,包括但不限于关于具有失效位的存储器是否可修复的快速决定和/或早期决定、修复尽可能多的弱位、相对于其他弱位优先修复最弱位、相对于具有较低品质的另一修复资源优先分配具有较品质的修复资源、朝向用于解决CSP和/或COP的最优启发式快速收敛。因此,在一个或多个实施例中,存储器修复的时间和/或品质会得到改善。
图1A是根据一些实施例的存储器100的示意性方块图。
在至少一个实施例中,存储器100是各别的存储器或独立的存储器。在一些实施例中,包括存储器100作为较大集成电路装置的一部分,这较大集成电路装置包括除存储器100之外的用于其他功能的电路系统。举例来说,至少一个实施例中的存储器100是系统芯片(system-on-chip,SOC)集成电路装置中的嵌入式存储器。存储器100的实例包括但不限于非易失性存储器、非易失性可重编程存储器、随机存取存储器(random access memory,RAM)等。
存储器100包括多个存储器单元MC及电耦接到存储器单元MC且被配置成控制存储器单元MC的操作的存储器控制器(例如控制电路)102,所述操作包括但不限于读取操作、写入操作(或编程操作)等。在本文中每一存储器单元MC也被称为“位(bit)”。用语“位”是为了简洁起见且未必指示每一存储器单元MC的存储能力。在一些实施例中,每一存储器单元MC被配置成存储数据位。在一个或多个实施例中,每一存储器单元MC被配置成存储多个数据位。
存储器单元MC在存储器阵列104中排列成多个列及多个行。存储器100还包括沿着行延伸的多条字线(word lines)(也被称为“地址线”)WL_0到WL_M以及沿着存储器单元MC的列延伸的多条位线(bit lines)(也被称为“数据线”)BL_0到BL_N。存储器单元MC中的每一者通过字线中的至少一者及位线中的至少一者电耦接到存储器控制器102。在一些示例性操作中,字线被配置成用于传送将从其中读取的存储器单元MC的地址或者用于传送将写入到其中的存储器单元MC的地址等。在至少一个实施例中,一组字线被配置成作为读取字线及写入字线二者实行。位线的实例包括用于传送从由对应的字线指示的存储器单元MC读取的数据的读取位线、用于传送将写入到由对应的字线指示的存储器单元MC的数据的写入位线等。在至少一个实施例中,一组位线被配置成作为读取位线及写入位线二者实行。在本文中字线通常被称为WL,且在本文中位线通常被称为BL。存储器阵列104中的字线和/或位线的各种数目处于各种实施例的范围内。
存储器100还包括存储器单元MC的一个或多个冗余(redundant)行106以及存储器单元MC的一个或多个冗余列108,以对存储器阵列104中的失效位和/或弱位进行修复。每一冗余行106中的存储器单元MC耦接到冗余WL,如图1A中的WL_R代表性地指示。每一冗余列108中的存储器单元MC耦接到冗余BL,如图1A中的BL_R代表性地示出。为简洁起见,在本文中“冗余WL”或“冗余字线”指冗余行106且不仅包括字线还包括与字线耦接的存储器单元MC。相似地,在本文中“冗余BL”或“冗余位线”指冗余列108且不仅包括位线还包括与位线耦接的存储器单元MC。冗余字线106及冗余位线108可分配用于对存储器阵列104中的失效位和/或弱位进行修复,且在本文中被称为修复资源。在一些实施例中,冗余字线106被分配用于行修复且冗余位线108被分配用于列修复。在至少一个实施例中,通过使用冗余字线的行修复或者使用冗余位线的列修复来对位进行修复是足够的。存储器100中的冗余字线106和/或冗余位线108的各种数目处于各种实施例的范围内。在一些实施例中,冗余字线106的数目和/或冗余位线108的数目取决于存储器阵列104的大小和/或用于制造存储器的制造过程。举例来说,随着存储器阵列104的大小变得更大,存储器100中包括更多的冗余字线106和/或冗余位线108。作为另一实例,在制造过程具有较高良率的情况下,可降低冗余字线106的数目和/或冗余位线108的数目。相比之下,在制造过程具有较低良率的情况下,存储器100中包括更多的冗余字线106和/或冗余位线108。
存储器100还包括修复寄存器110,以用于存储如本文中所阐述的将由存储器控制器102存取的修复信息。
图1B是示出根据一些实施例的存储器中的示例性修复资源部署规则的示意图。
在一些实施例中,存储器(例如存储器100)被划分成一定数目的区段或区块(在本文中也被称为“存储器区块”)。在图1B中的示例性配置中,存储器的存储器阵列具有从字线WL 0到字线WL 1023的1024条字线,且所述1024条字线被划分成8个区段或区块,每一区段或区块具有128条字线。举例来说,区块0包括字线WL 0到WL 127,区块1包括字线WL 128到WL 255等等。每一区块还包括可分配用于对同一区块中的存储器单元或位进行修复的一定数目的冗余字线。举例来说,区块0包括通常被指定为116且排列在字线WL 127与字线WL128之间的8条冗余字线,区块1包括通常被指定为126且排列在字线WL 255与字线WL 256之间的8条冗余字线等等。在一些实施例中,一个区块中的冗余字线不可分配用于对其他区块中的存储器单元或位进行修复。举例来说,冗余字线116可分配用于对区块0中的存储器单元或位进行修复,但不可分配用于对其他区块中的存储器单元或位进行修复。
在一些实施例中,存储器的位线被划分成一定数目的区段或区块。在实例(未示出)中,存储器阵列具有被划分成8个区段或区块的512条位线,每一区段或区块具有64条位线及4条冗余位线。因此,存储器被划分成64个区块。在此实例中,区块0、区块1等中的每一者包括128条字线、64条位线、8条冗余字线及4条冗余位线。在至少一个实施例中,一个区块中的冗余字线及冗余位线不可分配用于对其他区块中的存储器单元或位进行修复。所阐述的在每一区块中具有区块、字线、位线、冗余字线及冗余位线的各种具体数目的配置仅为实例。其他配置也处于各种实施例的范围内。在至少一个实施例中,存储器未被划分成存储器区块,即存储器被配置成包括单个存储器区块。
图2是根据一些实施例的用于对存储器进行测试及修复的系统200的示意图。在图2中的示例性配置中,将被测试及修复的存储器是存储器100。
系统200包括存储器测试装置210及计算设备220。存储器测试装置210包括测试电路系统212、测试结果存储装置214及修复电路系统216。在至少一个实施例中,测试电路系统212或修复电路系统216中的至少一者包括应用专用集成电路(application specificintegrated circuit,ASIC),且测试结果存储装置214包括寄存器。计算设备220包括处理器222及非暂时性计算机可读存储介质224。针对图5对根据一些实施例的计算设备220的示例性硬件计算平台进行阐述。
测试电路系统212被配置成对存储器100实行一个或多个存储器测试。在一些实施例中,测试电路系统212被配置成在所述一个或多个存储器测试期间产生地址序列及测试数据序列并将地址序列及测试数据序列提供到存储器100的存储器阵列104。在至少一个实施例中,根据测试图案(pattern)算法产生地址序列及数据序列。在至少一个实施例中,测试图案算法内建在测试电路系统212中。数据序列提供一组数据来检测存储器阵列104内的各种类型的故障或错误。在至少一个实施例中,测试电路系统212被配置成逐行、逐列或以两者的组合对存储器阵列104进行扫描,以对整个存储器阵列104进行测试。在至少一个实施例中,冗余字线106及冗余位线108也由测试电路系统212在所述一个或多个存储器测试中进行测试。
测试结果存储装置214被配置成存储或记录由测试电路系统212实行的所述一个或多个存储器测试的测试结果。举例来说,测试电路系统212被配置成将在存储器测试中的一者中出现错误的位的地址或位置写入到测试结果存储装置214中。在一些实施例中,具有错误的位的地址或位置包括指示耦接到这位的字线及位线的信息。在至少一个实施例中,测试电路系统212被配置成将与错误相关的附加信息(例如,弱位的弱级)写入到测试结果存储装置214中。
计算设备220耦接到存储器测试装置210,以使处理器222能够从测试结果存储装置214存取、提取或接收测试结果。在至少一个实施例中,计算设备220经由通信端口或网络耦接到存储器测试装置210。如本文中所述,其他配置也处于各种实施例的范围内。
在一些实施例中,基于从存储器测试装置210提取的测试结果,处理器222被配置成判断存储器100是否可修复,且响应于判断出存储器100可修复而确定如何分配存储器100中的用于对存储器100进行修复的可用的修复资源。在至少一个实施例中,处理器222被配置成通过解决CSP和/或COP来进行此种判断中的一者或多者,如在226处示意性地指示。本文中针对图4给出对CSP和/或COP的详细说明。
在一些实施例中,处理器222还被配置成实行机器学习(machine learning,ML),如在228处示意性地指示。在图2中的示例性配置中,用于机器学习的数据存储在存储介质224上的ML数据库230中。机器学习的结果由处理器222以机器学习(machine learned,ML)函数232的形式产生且存储在存储介质224中。处理器222被配置成使用ML函数232来应用机器学习的结果,以加速判断出存储器100是否可修复和/或对CSP和/或COP的启发式进行优化。在本文中针对图4给出对机器学习的详细说明。
在一些实施例中,处理器222还被配置成向修复电路系统216提供修复信息,以对存储器100中的一个或多个位进行修复。举例来说,修复信息包括存储器100中的将被修复的位的修复地址或位置以及被分配用于对这位进行修复的冗余字线和/或冗余位线的对应的地址。修复电路系统216被配置成通过在存储器100的修复寄存器110中记录从处理器222接收的修复信息中的地址来对这位进行修复。当存储器100稍后在读取操作或写入操作中运行时,存储器控制器102被配置成对照存储在修复寄存器110中的修复地址来检查读取地址或写入地址,以验证这读取地址或写入地址是否包括在修复寄存器110中。响应于肯定答案,存储器控制器102被配置成基于被分配用于这修复的冗余字线和/或冗余位线的这对应的地址来实行读取操作或写入操作。所阐述的配置仅为实例。其他配置也处于各种实施例的范围内。
在一些实施例中,例如是如图2中所示,存储器测试装置210是外部自动化测试装备,这外部自动化测试装备耦接到存储器100的输入/输出(input/output,I/O)引脚(未示出),以对存储器100实行一个或多个存储器测试。当将实行存储器100的一个或多个位的修复时,存储器测试装置210被配置成将修复信息写入到存储器100的修复寄存器110中,以在这修复之后由存储器控制器102存取。在存储器测试和/或修复结束后,存储器测试装置210与存储器100在实体上断连及电断连。
在一些实施例中,存储器测试装置210的一个或多个电路系统和/或组件被配置为存储器100的一部分。举例来说,在至少一个实施例中,存储器测试装置210作为内置自测试(built-in self-test,BIST)电路、内置自修复(built-in self-repair,BISR)电路、或者BIST电路及BISR电路二者而包括在存储器100中。
在一些实施例中,计算设备220的一个或多个组件包括在作为外部自动化测试装备的存储器测试装置210中。举例来说,在至少一个实施例中,处理器222包括在存储器测试装置210中。另举例来说,在至少一个实施例中,处理器222及存储介质224二者均包括在存储器测试装置210中。
在一些实施例中,处理器222不被配置成实行机器学习。相反,机器学习由另一处理器(未示出)实行且机器学习的结果(例如,ML函数232)被提供到处理器222(例如,经由网络)且存储在存储介质224中以供处理器222实施。在至少一个实施例中,跨越多个存储器测试及修复系统共享机器学习的结果。在一个或多个实施例中,被配置成实行机器学习的处理器包括在服务器(例如,云服务器)中。
在一些实施例中,用于机器学习的ML数据库230不存储在存储介质224中和/或计算设备220处。相反,用于机器学习的ML数据库230存储在单独的计算设备处,这单独的计算设备经由网络耦接到计算设备220和/或耦接到被配置成实行机器学习的处理器。在至少一个实施例中,由从多个存储器测试及修复系统供应的数据对ML数据库230进行更新。在一个或多个实施例中,在服务器(例如,云服务器)中对ML数据库230进行维护。
图3A到图3E是根据一些实施例的存储器区块300的示意图,示意图示出至少一个存储器测试的测试结果。在至少一个实施例中,存储器区块300对应于存储器100中的区块。
存储器区块300包括用于存储数据的功能存储器单元的存储器阵列304。存储器区块300还包括冗余存储器单元的冗余行306及冗余列308,以用于对存储器阵列304中的失效位和/或弱位进行修复,例如针对图1A到图1B所述。在至少一个实施例中,功能存储器单元及冗余存储器单元以相同的方式进行配置。冗余行306及冗余列308被配置成对用于修复存储器阵列304的资源进行修复。存储器阵列304包括m条字线及n条位线。冗余行306包括m’条冗余字线,且冗余列308包括n’条冗余位线。存储器区块300的字线由xi指示,其中i=1、2、...、m。存储器区块300的位线由yj指示,其中j=1、2、...、n。存储器区块300的冗余字线由x’i'指示,其中i'=1、2、...、m’。存储器区块300的冗余位线由y’j’指示,其中j’=1、2、...、n’。存储器区块300中的位或存储器单元的位置由耦接到这位的对应的位线或冗余位线以及对应的字线或冗余字线指示。举例来说,存储器阵列304中的功能存储器单元Bit_i,j耦接到字线xi及位线yj且具有被界定为(xi,yj)的位置。冗余行306中的冗余存储器单元Bit_i’,j耦接到冗余字线x’i'及位线yj且具有被界定为(x’i',yj)的位置。冗余列308中的冗余存储器单元Bit_i,j’耦接到字线xi及冗余位线y’j’且具有被界定为(xi,y’j’)的位置。在图3A到图3E中的示例性配置中,m=n=4、m’=n’=2,字线是x1、x2、x3、x4,位线是y1、y2、y3、y4,冗余字线是x’1、x’2,且冗余位线是y’1、y’2。存储器区块300中的字线、位线、冗余字线和/或冗余位线的其他数目也处于各种实施例的范围内。
在一些实施例中,对包括存储器区块300的存储器实行一个或多个存储器测试,且记录存储器区块300的测试结果,例如针对图2所述。存储器阵列304中的功能存储器单元及冗余行306及冗余列308中的冗余存储器单元二者均经受一个或多个存储器测试。在实例中,相同的地址序列及相同的测试数据序列由测试电路系统212在多次运行中供应到存储器区块300,且在每一次运行中存储器区块300中出现的错误记录在测试结果存储装置214中。错误的实例是写入到位的数据与从这位读取的数据不同。错误的另一实例是当从位读取时,这位的读取电流不够低或不够高,使得难以或不可能判断出这位存储的是逻辑“0”还是逻辑“1”。其他类型的错误也处于各种实施例的范围内。例如由处理器222对一次运行中出现的错误与其他运行中的错误进行比较,以判断在若干次运行中是否在同一位置处持续存在错误和/或在一次运行中是否在随机位置处出现错误,但在其他运行中却没有。同一位置处的持续错误对应于失效位。随机错误对应于弱位。
图3A到图3D示出在至少一个存储器测试的四次不同运行中在存储器区块300中出现的错误。为简洁起见,在图3B到图3D中省略冗余行306及冗余列308。在图3A到图3D中可看出,在多次运行中在Bit_1,1、Bit_3,3、Bit_3,4、Bit_4,3处持续存在错误,Bit_1,1、Bit_3,3、Bit_3,4、Bit_4,3被确定为失效位且在图3A到图3E中由标记“X”示意性地指示。在此具体实例中,冗余行306及冗余列308中不存在失效位。在至少一个实施例中,存储器阵列304中的失效位将被修复。冗余行306及冗余列308中的失效位不被修复,而是用于确定可用修复资源,如本文中所述。在与图3B到图3D对应的运行中在Bit_1,2处出现错误,但在与图3A对应的运行中未出现错误。因此,如图3B到图3D中所示的Bit_1,2被确定为弱位。相似地,如图3C到图3D中所示的Bit_2,4及如图3D中所示的Bit_4,1被确定为弱位。在此具体实例中,如图3E中所示,在与图3B到图3D对应的运行中的一者或多者中发现冗余行306中的弱位Bit_1’,2、Bit_2’,3,且在与图3B到图3D对应的运行中的一者或多者中发现冗余列308中的弱位Bit_1,1’、Bit_3,2’。在至少一个实施例中,在对存储器阵列304中的失效位进行修复之后,当修复资源可用时,对存储器阵列304中的弱位进行修复。冗余行306及冗余列308中的弱位不被修复,而是用于确定可用修复资源的品质,如本文中所述。由于冗余行及冗余列中的失效位及弱位将不被修复,因此应理解,当存储器区块中的失效位或弱位在本文中被阐述为被修复或可修复时,被修复或可修复的失效位或弱位对应于存储器区块的存储器阵列中的位或功能存储器单元。
在至少一个实施例中,尽管测试电路系统212在多次运行中向存储器区块300供应相同的地址序列及相同的测试数据序列,然而每次运行中的测试条件(也被称为测试标准)不同于其他运行。举例来说,在与图3A对应的运行中,用于在存储器区块300的位中写入测试数据而向这位供应的写入电压足够高,例如等于或略高于存储器区块300被配置成在正常操作中运行的标称(nominal)写入电压。写入电压在与图3B对应的运行中降低,在与图3C对应的运行中进一步降低,且在与图3D对应的运行中处于最低可接受电压电平。在实例中,最低可接受电压电平低于标称写入电压且是存储器区块300仍被期望可运行的电压电平,但存储器区块300在此电压电平下的延长操作不是预期的或期望的。在至少一个实施例中,写入电压的最低可接受电平对应于最严格的测试标准。其他测试标准和/或如何使测试标准严格也处于各种实施例的范围内。在图3A到图3D中的实例中,在多次运行中在失效位Bit_1,1、Bit_3,3、Bit_3,4、Bit_4,3中持续存在错误。当测试标准稍微严格时,在弱位Bit_1,2处首先出现错误,如图3B中所示。当测试标准进一步严格时,弱位Bit_1,2处的此种错误再次出现的机率很高,如图3C到图3D中所示。相似地,当测试标准严格时,在弱位Bit_2,4处首先出现错误,如图3C中所示。当测试标准进一步严格时,Bit_2,4处的此种错误再次出现,如图3D中所示。
随着写入电压降低,成功地将测试数据写入到存储器区块300中变得更加困难,尤其是在弱位处。在较高写入电压下出现的弱位对应于弱位的较低品质或弱位的较高弱级。在较低写入电压下出现的弱位对应于弱位的较高品质或弱位的较低弱级。在一些实施例中,例如由处理器222根据弱位的弱级将不同的优先级或权重分派到弱位。举例来说,弱级越高,被分派到弱位的权重就越高。在一些实施例中,权重可为任何正数。用于确定弱位的弱级的其他排列也处于各种实施例的范围内。
在图3B到图3D中的实例中,弱位Bit_1,2在比弱位Bit_2,4、Bit_4,1高的写入电压下出现且具有比弱位Bit_2,4、Bit_4,1的弱级高的弱级。弱位Bit_4,1在比弱位Bit_1,2、Bit_2,4低的写入电压下出现且具有比弱位Bit_1,2、Bit_2,4的弱级低的弱级。弱位Bit_2,4具有介于弱位Bit_1,2的弱级与Bit_4,1的弱级之间的弱级。处理器222被配置成根据弱位的弱级而将不同的权重W12、W24、W41对应地分派到弱位Bit_1,2、Bit_2,4、Bit_4,1。举例来说,W12>W24>W41。相似地,处理器222被配置成根据这些弱位的弱级而将不同的权重W1’2、W2’3、W11’、W32’对应地分派到弱位Bit_1’,2、Bit_2’,3、Bit_1,1’、Bit_3,2’。在至少一个实施例中,处理器222被配置成使用相同的标准和/或算法来将权重分派到存储器阵列304中的弱位及冗余行306、冗余列308中的弱位。弱位Bit_1,2、Bit_2,4、Bit_4,1、Bit_1’,2、Bit_2’,3、Bit_1,1’、Bit_3,2’由图3B到图3E中对应的权重W12、W24、W41、W1’2、W2’3、W11’、W32’示意性地指示。
图3E示意性地示出包括失效位Bit_1,1、Bit_3,3、Bit_3,4、Bit_4,3的失效位图案以及包括弱位Bit_1,2、Bit_2,4、Bit_4,1、Bit_1’,2、Bit_2’,3、Bit_1,1’、Bit_3,2’的弱位图案。在一些实施例中,由测试电路系统212输出和/或记录在测试结果存储装置214中的测试结果包括存储器测试的每次运行的错误,如图3A到图3D中示意性地示出。处理器222被配置成从图3A到图3D中的测试结果提取失效位图案和/或弱位图案,如图3E中所示。失效位图案或弱位图案包括存储器区块中的至少一个失效位或至少一个弱位的位置。在至少一个实施例中,失效位图案或弱位图案由存储器区块中的所有失效位或所有弱位的位置(xi,yj)、(x’i',yj)、(xi,y’j’)表示。举例来说,图3E中的失效位图案由所有失效位Bit_1,1、Bit_3,3、Bit_3,4、Bit_4,3的位置(x1,y1)、(x3,y3)、(x3,y4)、(x4,y3)表示,且图3E中的弱位图案由所有弱位Bit_1,2、Bit_2,4、Bit_4,1、Bit_1’,2、Bit_2’,3、Bit_1,1’、Bit_3,2’的位置(x1,y2)、(x2,y4)、(x4,y1)、(x’1’,y2)、(x’2’,y3)、(x1,y’1’)、(x3,y’2’)表示。
图4是根据一些实施例的对存储器进行修复的方法400的流程图。在至少一个实施例中,被修复的存储器对应于存储器100。在以下说明中详述的一些实施例中,实行方法400以对存储器中的存储器区块进行修复,且以相似的方式对存储器的其他存储器区块进行修复。在至少一个实施例中,将被修复的存储器区块对应于存储器区块300。在一个或多个实施例中,在系统200中实行方法400。在一些实施例中,方法400至少部分地由处理器(例如处理器222)执行。
在操作402处,获得至少一个存储器测试的测试结果。举例来说,如针对图2所述,由测试电路系统212实行至少一个存储器测试,且将测试结果记录在测试结果存储装置214中,以供处理器222存取或传送到处理器222。在至少一个实施例中,首先实行将对存储器区块进行的所有存储器测试,且在方法400开始时将完整的测试结果提供到处理器222。在至少一个实施例中,将要进行的存储器测试与方法400中的一个或多个操作同时实行或者响应于方法400中的一个或多个操作而实行。
在操作404处,从所述至少一个存储器测试的测试结果获得存储器区块中的失效位的数目(也被称为“失效位计数”)。举例来说,基于至少一个存储器测试的若干次运行的测试结果,处理器222被配置成识别存储器区块300中的失效位及失效位的数目,如针对图3A到图3D所述。在至少一个实施例中,失效位的数目包括存储器阵列304中的失效位,但不包括冗余行306、冗余列308中的失效位。在图3A到图3D中的实例中,存储器区块300中的失效位的数目是4。
在操作406处,判断存储器区块中的失效位的数目是否低于或等于预定阈值(限度)。响应于否定判断(来自操作406的否(No)),所述过程继续进行到操作408。响应于肯定判断(来自操作406的是(Yes)),所述过程继续进行到操作410。举例来说,处理器222将在操作404处获得的失效位的数目与预定阈值进行比较。预定阈值是存储器区块中的失效位的可接受最大数目,超过所述阈值则认为存储器或存储器区块的品质不足。在一些实施例中,失效位的可接受最大数目取决于用于制作存储器的制造过程的目标良率。举例来说,在制造过程具有较高目标良率的情况下,失效位的可接受最大数目较低,且在制造过程具有较低目标良率的情况下,失效位的可接受最大数目较高。在至少一个实施例中,存储器区块中的失效位的可接受最大数目取决于存储器区块的大小。举例来说,较大的存储器区块具有较高的失效位的可接受最大数目。在一些实施例中,失效位的可接受最大数目还取决于存储器区块的可分配修复资源。举例来说,具有较大可分配修复资源的存储器区块具有较高的失效位的可接受最大数目。
在操作408处,响应于在操作406处判断出存储器区块中的失效位的数目高于预定阈值,将存储器区块标记为不可修复或者将整体的存储器拒绝。在至少一个实施例中,处理器222被配置成控制存储器测试装置210将存储器区块标记为不可修复或拒绝存储器。在一些实施例中,将存储器区块标记为不可修复包括在修复寄存器110中记录具有比预定阈值高的失效位的数目的存储器区块不可修复,且接着继续对存储器中的另一存储器区块进行修复。在至少一个实施例中,可在不需要高存储器品质的应用或装置中使用具有一个或多个不可修复存储器区块的存储器。然而,当存储器中的不可修复存储器区块的数目高于可接受限度时,这存储器被认为是有缺陷的且在实体上被丢弃。在一些实施例中,拒绝存储器包括使得或指示被拒绝的存储器在实体上被丢弃,而不尝试对另一存储器区块进行修复。为简洁起见,在本文中操作408也被称为“拒绝决定”。
在至少一个实施例中,为在操作406处检查存储器区块中的失效位的数目且在操作408处检查潜在的早期拒绝决定,不必实行计划对存储器区块进行的所有存储器测试。相反,存储器测试的有限数目或同一存储器测试的有限运行足以识别存储器区块中的失效位及失效位的数目以及随后潜在的早期拒绝决定。在一些实施例中,通过提早检查存储器区块中的失效位的数目而不等待完成所有存储器测试后进行检查,可节省不必要的测试和/或试图对具有过多失效位数目的存储器区块进行修复所花费的时间和/或资源。
在操作410处,响应于在操作406处判断出存储器区块中的失效位的数目不高于预定阈值,从至少一个存储器测试的测试结果提取失效位的失效位图案,且获得可分配用于修复存储器区块的可用修复资源。在至少一个实施例中,失效位图案包括存储器区块中的将被修复的至少一个失效位的位置。举例来说,如针对图3E中的实例所述,由处理器222从针对图3A到图3D中的实例阐述的测试结果提取包括失效位Bit_1,1、Bit_3,3、Bit_3,4、Bit_4,3的位置的失效位图案。
可分配用于修复存储器区块的修复资源包括被分派到存储器区块或包括在存储器区块中的冗余字线的数目及冗余位线的数目,如针对图1B或图3A所述。然而,存在其中被分派到存储器区块或包括在存储器区块中的修复资源并非完全可用于修复存储器区块的情况。举例来说,被分派到存储器区块的冗余字线或冗余位线中可能具有一个或多个错误,所述一个或多个错误阻止冗余字线或冗余位线可靠地用于修复存储器区块。如本文中所述,通过所述至少一个存储器测试可发现冗余字线或冗余位线中的此种错误,所述至少一个存储器测试被应用于对存储器阵列以及存储器区块中的修复资源二者进行测试。通过例如使用处理器222从被分派到存储器区块的冗余字线的数目及冗余位线的数目移除具有错误的任何冗余字线或冗余位线,从而获得实际上可用于修复存储器区块的冗余字线的数目和/或冗余位线的数目。在本文中实际上可用于修复存储器区块的冗余字线的数目和/或冗余位线的数目被称为可用修复资源。在一些实施例中,从可用修复资源移除具有失效位的冗余字线或冗余位线。在一个或多个实施例中,冗余字线或冗余位线中存在一个或多个弱位不会使冗余字线或冗余位线从可用修复资源移除。举例来说,如图3E中所示,冗余字线x’1、x’2及冗余位线y’1、y’2具有弱位,但仍包括在可用修复资源中。然而,冗余字线或冗余位线中存在具有较高权重(较低品质)的弱位指示冗余字线或冗余位线具有比不具有弱位或具有较低权重(较高品质)的弱位的另一冗余字线或冗余位线低的品质。在一些实施例中,相对于具有较低品质的冗余字线或冗余位线,优先分配具有较高品质的冗余字线或冗余位线用于修复。在至少一个实施例中,获得可分配用于修复存储器区块的可用修复资源和/或确定可用修复资源中的一个或多个弱位的存在和/或品质会考虑修复资源的品质,此会改善本文中所阐述的进一步操作的准确性。在一些实施例中,所述过程从操作410继续进行到操作412。举例来说,如本文中所述,当实施机器学习时,所述过程从操作410继续进行到操作412。在一些实施例中,所述过程从操作410继续进行到操作416。举例来说,如本文中所述,当未实施机器学习时,所述过程从操作410继续进行到操作416。
在操作412处,将所提取的失效位图案及可用修复资源输入到通过机器学习(ML)获得的函数中,以检查失效位图案是否不可修复。在至少一个实施例中,此函数对应于通过对存储在ML数据库230中的数据实行机器学习而获得的ML函数232。ML数据库230中的数据包括大量不可修复位图案及对应的可用修复资源。鉴于对应的可用修复资源,不可修复位图案中的每一者先前被确定或标记为不可修复。在一些实施例中,ML数据库230中的数据是在由本文中所述的方法400实行的数据收集过程中从不可解决的CSP收集的。在至少一个实施例中,ML数据库230中的数据的至少一部分是从其他来源提供的,例如自动地和/或由人类专家产生和/或标记的训练数据。在一些实施例中,在机器学习中存在两个主要阶段,即学习阶段及实施阶段。
在学习阶段中,由处理器222或另一处理器实行机器学习,以从ML数据库230中的大量数据学习不可修复位图案的一个或多个区别特征和/或不可修复位图案与对应的可用修复资源之间的一种或多种相关性,这可用修复资源先前被确定为不足以成功修复不可修复位图案。学习阶段的结果包括ML函数232。在一些实施例中,机器学习包括监督学习。其他机器学习技术也处于各种实施例的范围内,且包括但不限于无监督学习、半监督学习、强化学习、Q学习、深度学习等。在至少一个实施例中,在神经网络中实施机器学习。
在操作412处的实施阶段中,例如由处理器222执行ML函数232,以虑及失效位图案本身及对应的可用修复资源来检查在操作410处提取的失效位图案是否不可修复,失效位图案及对应的可用修复资源二者均被输入到ML函数232中。在至少一个实施例中,被输入到ML函数232中的失效位图案包括存储器阵列的大小及存储器阵列中的所有失效位的位置,如针对图3E所述。被输入到ML函数232中的可用修复资源包括实际可用于修复存储器区块的冗余字线和/或冗余位线的数目。基于输入信息,ML函数232根据在学习阶段从ML数据库230中的大量数据学习到的区别特征和/或相关性而输出失效位图案是否不可修复的判断。ML数据库230中的数据的数量越大,ML函数232关于输入的失效位图案的不可修复性的判断就越准确。
在操作414处,考虑关于在操作410处提取的失效位图案的不可修复性的ML函数232的判断。响应于ML函数232判断出失效位图案不可修复(来自操作414的是),这过程继续进行到操作408。响应于ML函数232判断出失效位图案可修复(来自操作414的否),这过程继续进行到操作416。在一些实施例中,操作414处的否定判断(来自操作414的否)意指ML函数232不返送回失效位图案不可修复的结论性判断。在至少一个实施例中,操作414由处理器222实行。
在至少一个实施例中,通过在方法400的早期阶段(即,在尝试解决如针对操作416阐述的CSP之前)使用ML函数232来检查所提取的失效位图案的不可修复性,在一些实施例中可节省在对原本不可修复的失效位图案进行修复的不必要的尝试中的时间和/或计算资源。
在操作416处,针对所提取的失效位图案将CSP公式化。CSP包含多个CSP约束,解决方案(如果存在)必须满足这多个CSP约束。CSP约束对应于存储器区块中的失效位的位置及可用修复资源。在一些实施例中,操作416由处理器222实行。
在至少一个实施例中,CSP包括以下CSP约束:
其中m是存储器区块中的字线的数目,
n是存储器区块中的位线的数目,
h是存储器区块中的将被修复的失效位的数目,如由一个或多个存储器测试进行识别,
xrepair resource是可用于修复存储器区块的冗余字线的数目(即,在不具有失效位的情况下冗余字线的数目),
yrepair resource是可用于修复存储器区块的冗余位线的数目(即,在不具有失效位的情况下冗余位线的数目),
xi是0或1且对应于m条字线之中的第i字线,xi=0对应于第i字线由冗余字线中的一者进行修复(或替换),且xi=1对应于第i字线不被修复,
yj是0或1且对应于n条位线之中的第j位线,yj=0对应于第j位线由冗余位线中的一者进行修复(或替换),且yj=1对应于第j位线不被修复,
xi_k是与耦接到h个失效位之中的第k失效位的字线对应的xi,且
yj_k是与耦接到第k失效位的位线对应的yj。
CSP约束(1)意指被修复的字线的数目(即,被赋值0的xi的数目)不能高于可用冗余字线的数目。CSP约束(2)意指被修复的位线的数目(即,被赋值0的yj的数目)不能高于可用冗余位线的数目。CSP约束(3)意指必须修复所有失效位,即对于每个第k失效位,xi_k或yj_k中的至少一者应为0(即,每一失效位必须由冗余字线或冗余位线进行修复)。CSP的公式化包括CSP约束的公式化。所阐述的CSP约束(1)、(2)、(3)仅为实例。其他CSP约束也处于各种实施例的范围内。
CSP的解决方案包括对每一个xi及yj进行一组1或0的赋值。这解决方案还必须满足所有CSP约束,例如本文中所述的CSP约束(1)、(2)、(3)。CSP是可解决的(或可满足的),即具有解决方案(即,对每一个xi及yj进行1或0的完整且一致的赋值)意指存储器区块的存储器阵列中的所有失效位可由可用修复资源进行修复。例如由处理器222使用CSP的解决方案分配可用修复资源以对存储器区块的存储器阵列中的所有失效位进行修复且产生将记录在修复寄存器110中的对应的修复信息。举例来说,对于解决方案中的每一xi=0,分配可用冗余字线中的一者来修复第i字线,且对于解决方案中的每一yj=0,分配可用冗余位线中的一者来修复第j位线。
在至少一个实施例中,CSP还包括至少一个将被优化的CSP目标函数。示例性CSP目标函数如下所示:
所述至少一个CSP目标函数的目的是当CSP存在多个解决方案时确定最优解决方案。举例来说,在具有CSP目标函数(4)的一个或多个实施例中,当CSP具有两个或更多个解决方案时,选择实现及的最大值(对应于被分配用于修复所有失效位的冗余字线和/或冗余位线的最小总数目)的解决方案作为将被用于实际修复存储器区块的存储器阵列中的失效位的最终解决方案。换句话说,对CSP的解决方案进行优化以将被分配到失效位的修复的可用修复资源的数量最小化。在一些实施例中,当没有CSP的解决方案实现及二者的最大值时,依赖一个或多个另外的标准来选择最终解决方案。作为另外一种选择,在至少一个实施例中,在CSP的这多个解决方案之中随机选择最终解决方案。所阐述的CSP目标函数(4)仅为实例。其他CSP目标函数也处于各种实施例的范围内。在至少一个实施例中,在CSP中省略CSP目标函数。
将CSP约束(1)、(2)、(3)及CSP目标函数(4)应用到图3E中的实例,其中m=n=h=4,针对与Bit_1,1、Bit_3,3、Bit_3,4、Bit_4,3的失效位图案对应的CSP获得以下CSP约束(1’)、(2’)、(3’)及CSP目标函数(4’):
(x1·y1)+(x3·y3)+(x3·y4)+(x4·y3)=0 (3’)
从此具体实例可看出,CSP约束(1’)及(2’)对应于存储器区块中的可用修复资源,且CSP约束(3’)对应于存储器区块的存储器阵列中的失效位的位置(即,对应于失效位图案)。在图3E的实例中,xrepair resource=yrepair resource=2,即可用修复资源包括两条冗余字线及两条冗余位线。如本文中所述,在操作418、452处使用在操作416处公式化的CSP。
在操作418处,判断CSP是否可解决,即CSP是否具有解决方案。当实施机器学习时,这过程响应于否定判断(来自操作418的否)继续进行到操作408及操作420。当未实施机器学习时,这过程响应于操作418处的否定判断继续进行到操作408,而不继续进行到操作420。当实施机器学习时,这过程响应于肯定判断(来自操作418的是)继续进行到操作422及操作424。当未实施机器学习时,这过程响应于操作418处的肯定判断继续进行到操作422,而不继续进行到操作424。举例来说,在操作418中,处理器222被配置成在试图满足CSP的所有CSP约束的同时对每一个xi及yj进行的0或1的赋值的所有可能组合之中搜索CSP的解决方案。在一些实施例中,处理器222被配置成执行一个或多个搜索或解决算法(在本文中也被称为“启发式(heuristics)”),以试图在预定的时间量或迭代次数内找到解决方案。在至少一个实施例中,设定预定的时间量或迭代次数,以避免不必要地或无效地延长修复过程。当在预定的时间量或迭代次数内找到解决方案时,处理器222判断出CSP可解决。当在预定的时间量或迭代次数内未找到解决方案时,处理器222判断出CSP不可解决。尽管在操作412、414处由ML函数232较早地判断出失效位图案可修复,仍判断出CSP不可解决被认为对应于判断出失效位图案不可修复。
在操作420处,响应于在操作418处判断出CSP不可解决(即,失效位图案不可修复),对包含用于机器学习的数据的ML数据库230进行更新。举例来说,处理器222被配置成使现在被确定为不可修复的失效位图案与对应的可用修复资源一起被添加到ML数据库230。在至少一个实施例中,通过从经更新的ML数据库230中的数据进行机器学习来更新、重新训练或重新学习ML函数232。在一些实施例中,周期性地更新ML函数232。在一些实施例中,一旦来自不可解决CSP的新的数据被添加到ML数据库230,便对ML函数232进行更新。在一个或多个实施例中,使用从与系统200相似的多个存储器测试及修复系统供应的数据对ML数据库230进行更新。
在一些实施例中,操作420对应于机器学习的学习阶段的数据收集过程。具体来说,在第一次部署系统200开始时,在ML数据库230中不存在数据或不可修复位图案及对应的可用修复资源的数据的数量不足。根据数据数量的此种不足进行机器学习会潜在地导致不准确的ML函数。因此,尚未实行机器学习和/或ML函数尚不可用或不可使用。在此种情况下,根据一些实施例,暂时省略与ML函数的使用相关的操作412、414,且这过程从操作410继续进行到操作416。在判断出失效位图案不可修复(由于对应的CSP不可解决)的后续操作418处,这过程继续进行到操作420,以将不可修复失效位图案与对应的可用修复资源一同添加到ML数据库230。在一个或多个实施例中,使用从与系统200相似的多个存储器测试及修复系统供应的数据对ML数据库230进行更新。因此,在ML数据库230中收集或建立用于机器学习的数据。当在ML数据库230中收集的不可修复失效位图案的数据及对应的可用修复资源的数量变得足以用于精确的机器学习时,处理器222或另一处理器被配置成实行机器学习以产生ML函数232。接着,如本文中所述,实行操作412、414且在操作420处对ML数据库230和/或ML函数232进行更新。
在操作422处,响应于在操作418处判断出CSP可解决且具有解决方案,判断是否所有可用修复资源均已被分配用于修复存储器区块的存储器阵列中的失效位(即,是否存在任何剩余修复资源)。响应于肯定判断(来自操作422的是),这过程继续进行到操作454。响应于否定判断(来自操作422的否),这过程继续进行到操作444。剩余修复资源是在可用修复资源的一部分已被分配用于根据CSP的解决方案修复失效位之后剩余的任何可用修复资源。在一些实施例中,剩余修复资源包括未被分配用于根据CSP的解决方案修复失效位的可用冗余字线的数目及可用冗余位线的数目。在图3E的实例中,可用修复资源包括两条可用冗余字线及两条可用冗余位线。假设CSP的解决方案指示两条可用冗余字线及一条可用冗余位线将被分配用于修复失效位,则剩余修复资源包括未被分配用于修复失效位的剩余的一条可用冗余位线。当至少一条可用冗余字线或至少一条可用冗余位线保持未分配时,例如由处理器222判断出存在剩余修复资源,且这过程继续进行到操作444。当没有可用冗余字线及可用冗余位线保持未分配时(即,当所有可用修复资源均已被分配用于修复失效位时),例如由处理器222判断出不存在剩余修复资源,且这过程继续进行到操作454,在操作454中,接受CSP的解决方案以分配可用修复资源来对所有失效位进行修复。举例来说,处理器222被配置成分配所有可用修复资源来对与在CSP的解决方案中被赋值0的xi和/或yj对应的字线和/或位线进行修复。处理器222还被配置成产生将记录在修复寄存器110中的修复信息,如本文中所述。接着确定当前存储器区块的修复过程完成。
在操作424处,对用于解决CSP的启发式进行更新。如本文中所述,处理器222被配置成执行搜索算法(或启发式),以试图在预定的时间量或迭代次数内找到CSP的解决方案。当在预定的时间量或迭代次数内未找到解决方案时,处理器222判断出CSP不可解决。在一些情况下,即使解决方案实际存在,处理器222也可将CSP判断为不可解决。可能的原因是由于所执行的搜索算法(或启发式)在预定的时间量或迭代次数内无法找到解决方案。因此,在至少一个实施例中,考虑在多个可用启发式之中选择和/或优化启发式,以缩短找到解决方案(如果确实存在)所需的时间量或减少迭代次数。在本文中此种启发式选择和/或优化被称为启发式更新。启发式选择的示例性可用启发式包括但不限于深度优先搜索回溯算法(depth-first search backtracking algorithm)、一个或多个变量选择和/或排序启发式、影响动态变量值选择启发式等。
在一些实施例中,操作424处的启发式更新涉及独立于本文中针对操作412、414、420阐述的机器学习过程的另一机器学习过程。举例来说,每次解决CSP时,指示所使用的启发式是有效的,将与有效启发式相关的信息添加到数据库。在一些实施例中,从多个存储器测试及修复系统供应与有效启发式相关的信息,以提高数据收集的速度和/或数量。基于所收集的关于有效启发式的数据,实行机器学习(例如监督机器学习),以在这多个可用启发式之中选择最优启发式。在一些实施例中,机器学习的目标是实现朝向最优启发式快速收敛。在至少一个实施例中,最优启发式是混合启发式,其中在CSP解决方案搜索过程的前半部分中执行可用启发式之中的第一启发式,且接着在搜索过程的后半部分中将第一启发式切换到第二启发式。其他配置也处于各种实施例的范围内。
在图4中,在一个或多个实施例中,将与机器学习相关的操作(例如操作412、414、420、424)示意性地分组且在操作430处指示。
在一些实施例中,如针对操作418、422所述,在判断出CSP可解决且具有解决方案(意指存储器区块的存储器阵列中的所有失效位均可由可用修复资源进行修复)后,下一个考虑因素是尝试使用任何和/或所有剩余修复资源来尽可能多和/或尽可能有效地对存储器区块的存储器阵列中的弱位进行修复。在至少一个实施例中,如何分配任何和/或所有剩余修复资源来对弱位进行修复的决定是通过一同解决COP与CSP来做出的。图4示意性地示出通过一同解决CSP与COP来修复弱位的示例性过程流程。其他处理流程也处于各种实施例的范围内。
在操作444处,在操作422处的否定判断(来自操作422的否)(意指存储器区块的存储器阵列中的所有失效位可由可用修复资源进行修复且仍剩余可用修复资源用于对存储器阵列的弱位进行修复)后,判断是否已达到最严格的测试标准(或最严的测试条件)。响应于否定判断(来自操作444的否),这过程继续进行到操作446。响应于肯定判断(来自操作444的是),这过程继续进行到操作448。
在操作446处,响应于在操作444处判断出尚未达到最严格的测试标准,使测试标准变严格,在严格的测试标准下实行至少一个存储器测试,记录测试结果,且接着这过程返回到操作444。测试标准、测试标准变严格、最严格测试标准及测试结果的实例针对图3A到图3D进行阐述。其他排列也处于各种实施例的范围内。在至少一个实施例中,实行操作444、446来收集用于识别弱位的测试结果。
在图4中的示例性过程流程中,不实行用于识别弱位的一个或多个存储器测试和/或存储器测试的一次或多次运行,直到已判断出所有失效位均可修复为止。因此,在至少一个实施例中,可节省由于失效位而不可修复的存储器区块中的弱位进行不必要的测试所花费的时间和/或资源。
在一些实施例中,实行用于识别弱位的存储器测试和/或存储器测试的一次或多次运行,而不论判断存储器区块是否可修复。举例来说,提前实行将对存储器或存储器区块进行的所有存储器测试,且在操作402处提供包括用于识别弱位的那些测试结果在内的测试结果。在此种实施例中,例如由测试电路系统212在操作402之前实行操作444、446。操作444、446的一个或多个迭代与方法400中的一个或多个其他操作同时实行的其他排列也处于各种实施例的范围内。
在操作448处,响应于在操作444处判断出已达到最严格的测试标准(意指已收集到用于识别弱位的测试结果),从测试结果提取存储器区块中的弱位的弱位图案。在至少一个实施例中,弱位图案包括存储器区块中的至少一个弱位的位置。举例来说,如针对图3E中的实例所述,由处理器222从针对图3A到图3D中的实例阐述的测试结果提取弱位图案,这弱位图案不仅包括存储器阵列304中的弱位Bit_1,2、Bit_2,4、Bit_4,1的位置,还包括冗余行306、冗余列308中的弱位Bit_1’,2、Bit_2’,3、Bit_1,1’、Bit_3,2’的位置。在一些实施例中,操作448还包括例如由处理器222根据弱位的弱级而将各种权重分派到弱位,如针对图3B到图3E所述。在其中例如用于识别弱位的测试结果已被较早地收集的至少一个实施例中,响应于操作418处的肯定判断(来自操作418的是)实行操作448。
在操作450处,针对所提取的弱位图案将COP公式化。COP包含与CSP约束相同的多个COP约束,且还包括解决方案应优化的COP目标函数。COP约束与CSP约束相同对应于CSP对所有失效位的完全修复的保证满足。在至少一个实施例中,由于COP约束与CSP约束相同,因此操作450简单地包括将至少一个COP目标函数公式化。在一些实施例中,操作450由处理器222实行。
在操作452处,解决在操作450处公式化的COP。由于COP约束与CSP约束相同,因此操作450包括一同解决CSP约束与这至少一个COP目标函数。举例来说,提供作为在操作416处公式化的CSP的部分的CSP约束用于操作452,如图4中所示。在解决COP时,寻求满足所有CSP约束的解决方案,同时对这至少一个COP目标函数进行优化。在一些实施例中,操作452由处理器222实行。
在至少一个实施例中,COP包括以下COP约束,这COP约束与本文中这的CSP约束相同,即,
COP还包括将被优化的至少一个COP目标函数,以用于确定COP的最优解决方案。在至少一个实施例中,这至少一个COP目标函数与存储器区块中的至少一个弱位的位置或被分派到这至少一个弱位的权重中的至少一者对应。COP的示例性COP目标函数如下所示:
其中s是包括存储器阵列、冗余行及冗余列的存储器区块中的弱位的数目,
xl是与耦接到s个弱位之中的第l弱位的字线或冗余字线对应的xi或x’i',xi及x’i'中的每一者为0或1,xi=0对应于第i字线由冗余字线进行修复(或替换),xi=1对应于第i字线不被修复,x’i'=0对应于第i'冗余字线不用于对字线进行修复,且x’i'=1对应于第i'冗余字线用于对字线进行修复,
yl是与耦接到第l弱位的位线或冗余位线对应的yj或y’j’,yj及y’j’中的每一者为0或1,yj=0对应于第j位线由冗余位线进行修复(或替换),且yj=1对应于第j位线不被修复,y’j'=0对应于第j'冗余位线不用于对位线进行修复,且y’j'=1对应于第j'冗余位线用于对位线进行修复,且
Wl是被分派到第l弱位的权重。
所阐述的COP目标函数(5)仅为实例。其他COP目标函数也处于各种实施例的范围内。
将CSP约束(1)、(2)、(3)及COP目标函数(5)应用到图3E中的实例,其中m=n=4、m’=n’=2且s=7,针对与包括弱位Bit_1,2、Bit_2,4、Bit_4,1、Bit_1’,2、Bit_2’,3、Bit_1,1’、Bit_3,2’在内的弱位图案对应的COP获得以下CSP约束(1’)、(2’)、(3’)及COP目标函数(5’):
(x1·y1)+(x3·y3)+(x3·y4)+(x4·y3)=0 (3’)
将W12(x1·y2)+W24(x2·y4)+W41(x4·y1)+W1’2(x’1·y2)+W2’3(x’2·y3)+W11’(x1·y’1)+W32’(x3·y’2)最小化 (5’)。
从此具体实例可看出,必须满足CSP约束(1’)、(2’)、(3’),以确保存储器阵列中所有失效位的有保证的修复,而对COP目标函数(5’)进行优化(即,基于存储器区块中的弱位的位置及权重将COP目标函数(5’)最小化),以获得如本文中这的一个或多个弱位的最优修复。
COP的解决方案包括对每一个xi、yj、x’i'及y’j’进行一组1或0的赋值且在对这至少一个COP目标函数进行优化的同时必须满足所有CSP约束。当存在满足所有CSP约束的多个解决方案时,这至少一个COP目标函数的目的是确定最优解决方案(对应于一个或多个弱位的最优修复)。举例来说,在具有COP目标函数(5)的一个或多个实施例中,当与具有最大权重Wl的第l弱位对应的xl或yl中的至少一者被赋值0时,可将COP目标函数(5)最小化。在至少一个实施例中,具有最大权重的弱位具有较高弱级或最低品质且是最弱位。当最弱位对应于将被修复的功能存储器单元时,对与最弱位对应的xl或yl赋值0意指可对具有最低品质的功能存储器单元进行修复。当最弱位对应于冗余存储器单元时,对与最弱位对应的xl或yl赋值0意指可避免使用具有最低品质的冗余字线或冗余位线进行修复。在一些实施例中,将COP目标函数(5)最小化对应于首先分配剩余修复资源以对具有最低品质的冗余存储器单元进行修复,接着分配具有第二低品质的冗余存储器单元,且以此类推,直到所有剩余修复资源均已被分配为止,同时在分配具有较高品质的冗余字线或冗余位线之前试图避免分配具有最低品质的冗余字线或冗余位线。换句话说,基于弱位的权重来对COP的解决方案进行优化,以相对于与具有较低权重(较高品质)的弱位对应的另一功能存储器单元而优先修复与具有较高权重(较低品质)的弱位对应的功能存储器单元,且/或相对于具有较低品质的另一冗余字线或冗余位线而优先分配具有较高品质的冗余字线或冗余位线。在一些实施例中,当COP的多个解决方案实现目标函数(5)的相同最小值时,依赖一个或多个另外的标准来选择最终解决方案。作为另外一种选择,在至少一个实施例中,在COP的这多个解决方案之中随机选择最终解决方案。在至少一个实施例中,包括作为在操作416处公式化的CSP的部分的一个或多个CSP目标函数(例如,CSP目标函数(4))作为在操作452处将被优化的一个或多个COP目标函数。
在至少一个实施例中,例如通过使用本文中这的启发式而独立于在操作418处获得的CSP的一个或多个CSP解决方案来解决COP。
在一些实施例中,通过以下方式解决COP:接受在操作418处获得的CSP的一个或多个CSP解决方案作为COP的一个或多个潜在COP解决方案的部分,且接着在潜在COP解决方案之中搜索对这至少一个COP目标函数进行优化的最优COP解决方案。更具体来说,CSP的CSP解决方案包括对每一个xi及yj进行一组1或0的赋值,而COP的COP解决方案包括对每一个xi、yj、x’i'及y’j’进行一组1或0的赋值。换句话说,CSP解决方案可为潜在COP解决方案的子集。当包括CSP解决方案作为潜在COP解决方案的一部分时,在CSP解决方案中已被赋值0的所有xi及yj在潜在COP解决方案中仍赋值0。因此,潜在COP解决方案保证满足所有CSP约束。接着,在所有x’i'及y’j’以及在CSP解决方案中未被赋值0的那些xi和/或yj之中实行这至少一个COP目标函数的优化。因此,在至少一个实施例中,与独立于在操作418处获得的一个或多个CSP解决方案来解决COP相比,用于对这至少一个COP目标函数进行优化的计算量和/或时间减少。
在操作454处,接受在操作452处获得的最优COP解决方案,以分配可用修复资源来对存储器阵列中的所有失效位进行修复,且还对存储器阵列中的一个或多个弱位进行修复,其中赋予具有较高权重(或较低品质)的弱位优先级。举例来说,处理器222被配置成分配可用修复资源(即,与在最优COP解决方案中被赋值0的x’i'和/或y’j’对应的一条或多条冗余字线和/或冗余位线),以对与在最优COP解决方案中被赋值0的xi和/或yj对应的字线和/或位线进行修复。在一些实施例中,根据最优COP解决方案,处理器222被配置成使用已分配用于修复一个或多个失效位的可用修复资源来对一个或多个弱位进行修复(如果可能)。举例来说,参照图3E,可分配冗余字线来对失效位Bit_1,1以及与Bit_1,1耦接到同一字线x1的弱位Bit_1,2进行修复。存储器阵列中的一个或多个弱位可保持未被修复。举例来说,如果没有冗余字线且没有冗余位线可用于或可分配用于修复弱位Bit_2,4,则弱位Bit_2,4保持不被修复。处理器222还被配置成产生将被记录在修复寄存器110中的修复信息,如本文中所述。接着,确定当前存储器区块的修复过程完成。
在至少一个实施例中,与操作424相似的启发式更新适用于改善在操作452处解决COP的优化过程。
在一些实施例中,修复资源的品质是存储器修复中的考虑因素。举例来说,如本文中所述,根据被分配到存储器区块的修复资源来确定可分配用于修复存储器区块的可用修复资源。此外,例如通过识别在被分配到存储器区块的修复资源中存在一个或多个失效位和/或弱位和/或通过考虑被分配到存储器区块的修复资源中的这一个或多个弱位的品质(或弱级)来考虑实际可分配用于存储器修复的修复资源的品质。因此,在一个或多个实施例中,可提高修复良率和/或修复品质。与具有约35%的修复良率的不考虑或很少考虑修复资源品质的其他方法相比,考虑修复资源品质的一些实施例使得可将修复良率提高到约88%。在至少一个实施例中,与其他方法相比,修复资源的使用也得到增加。
存储器修复涉及确定如何分配修复资源来对存储器或存储器区块中的一个或多个位进行修复。在一些实施例中,通过将修复资源分配问题公式化为约束编程(ConstraintPrograming,CP)问题来提供自适应存储器修复方法。CP问题包括用于修复失效位的修复资源分配的约束满足问题(CSP)及用于修复弱位的修复资源分配的约束优化问题(COP)。基于测试结果、一个或多个修复资源部署规则及修复资源品质将CSP及COP二者公式化。COP包括CSP的CSP约束。COP还包含COP目标函数,COP目标函数是基于根据弱位的弱级而被分派到所述弱位的权重进行公式化。试图解决CSP提供对是或否问题的答案:是否存在满足所有CSP约束的至少一个解决方案,即存储器区块的存储器阵列中的失效位的失效位图案是否可修复。当不存在CSP的解决方案时,达成早期拒绝决定。当存在CSP的解决方案时,CSP解决方案定义如何分配可用修复资源来修复存储器阵列中的所有失效位。当所有可用修复资源尚未用于修复存储器阵列中的所有失效位时,尝试解决COP。解决COP着重于找到最好或最优COP解决方案,所述COP解决方案定义用于分配可用修复资源的最优方式,以除对存储器阵列中的所有失效位进行修复之外还对存储器阵列中的弱位中的一者或多者进行修复。在解决COP时,首先将优先级赋予对具有最低品质的那些弱位进行修复和/或首先将优先级赋予使用具有最高品质的那些冗余字线和/或冗余位线。因此,在至少一个实施例中,做出早期拒绝决定,或者自适应存储器修复确保对存储器阵列中的所有失效位进行修复,同时在可用修复资源允许时尽可能多地或尽可能有效地对存储器阵列中的弱位进行修复。
在一些实施例中,在适当的情况下应用机器学习来达成甚至更早的拒绝决定和/或对用于解决CSP和/或COP的搜索算法(启发式)进行优化。因此,在至少一个实施例中,潜在拒绝决定和/或用于修复资源分配的决定在品质上被进一步加速和/或改善。
在一些实施例中,CSP或COP中的至少一者是在线CSP或在线COP,在线CSP或在线COP被配置成基于先前的修复情形来学习及适应至少一种解决策略,以针对各种存储器类型和/或失效位/弱位特性来改善自身。在一个或多个实施例中,在线CSP或在线COP使得在修复过程期间在各种解决策略之间动态改变,以改善修复速度和/或效率。在至少一个实施例中,此是对离线CSP或COP的改善,离线CSP或COP倾向于从修复过程的开始到结束坚持一种解决策略。
图5是根据一些实施例的硬件计算平台500的方块图。
硬件计算平台500包括硬件处理器502及非暂时性计算机可读存储介质504。除其他事物之外,存储介质504编码有(即存储)计算机程序代码(即一组可执行指令506)。根据一个或多个实施例,硬件处理器502执行指令506使得硬件处理器502实施本文中所述的方法和/或操作的一部分或全部。
处理器502经由总线508电耦接到计算机可读存储介质504。处理器502还通过总线508电耦接到输入/输出界面510。网络界面512也经由总线508电连接到处理器502。网络界面512连接到网络514,使得处理器502及计算机可读存储介质504能够经由网络514连接到外部元件。在一个或多个实施例中,处理器502是中央处理器(central processing unit,CPU)、多处理器、分布式处理系统、应用专用集成电路(ASIC)和/或合适的处理单元。
在一个或多个实施例中,计算机可读存储介质504是电子、磁、光、电磁、红外线和/或半导体系统(或装备或装置)。举例来说,计算机可读存储介质504包括半导体或固态存储器、磁带、可移动计算机软盘、随机存取存储器(RAM)、只读存储器(read-only memory,ROM)、刚性磁盘(rigid magnetic disk)和/或光盘。在使用光盘的一个或多个实施例中,计算机可读存储介质504包括致密盘只读存储器(compact disk-read only memory,CD-ROM)、致密盘读取/写入(compact disk-read/write,CD-R/W)和/或数字影碟(digitalvideo disc,DVD)。
在一个或多个实施例中,存储介质504存储数据库507,例如本文中所公开的ML数据库。在一个或多个实施例中,存储介质504存储如本文中所述的ML函数。
硬件计算平台500包括输入/输出界面510。输入/输出界面510耦接到外部电路系统。在一个或多个实施例中,输入/输出界面510包括键盘、小键盘、鼠标、跟踪球(trackball)、触压板(trackpad)、触摸屏和/或光标方向键,以用于向处理器502传递信息及命令。
硬件计算平台500还包括耦接到处理器502的网络界面512。网络界面512使得硬件计算平台500能够与网络514进行通信,一个或多个其他计算机系统连接到网络514。网络界面512包括:无线网络界面,例如蓝牙(BLUETOOTH)、无线保真(wireless fidelity,WIFI)、全球微波接入互操作性(World Interoperability for Microwave Access,WIMAX)、通用分组无线服务(General Packet Radio Service,GPRS)或宽带码分多址(wideband codedivision multiple access,WCDMA);或者有线网络界面,例如以太网(ETHERNET)、通用串行总线(universal serial bus,USB)或电气电子工程师学会(Institute of Electricaland Electronics Engineers,IEEE)-1364。在一个或多个实施例中,在两个或更多个硬件计算平台500中实施本文中所述的方法和/或操作的一部分或全部。
硬件计算平台500被配置成通过输入/输出界面510接收信息。通过输入/输出界面510接收的信息包括指令、数据、测试结果、修复信息和/或供处理器502处理的其他参数中的一者或多者。所述信息经由总线508传送到处理器502。硬件计算平台500被配置成通过输入/输出界面510接收与用户界面(user interface,UI)相关的信息。所述信息作为用户界面(UI)542存储在计算机可读介质504中。
在一些实施例中,本文中所述的方法和/或操作的一部分或全部被实施为由处理器执行的独立软件应用。在一些实施例中,本文中所述的方法和/或操作的一部分或全部被实施为作为附加软件应用的一部分的软件应用。在一些实施例中,本文中所述的方法和/或操作的一部分或全部被实施为软件应用的插件。在一些实施例中,本文中所述的方法和/或操作的一部分或全部被实施为由硬件计算平台500使用的软件应用。
在一些实施例中,所述过程被实现为存储在非暂时性计算机可读记录介质中的程序的功能。非暂时性计算机可读记录介质的实例包括但不限于外部/可移动和/或内部/内置存储装置或存储器单元,例如光盘(例如DVD)、磁盘(例如硬盘)、半导体存储器(例如ROM、RAM、存储器卡)等中的一者或多者。
所阐述的方法包括示例性操作,但所述操作未必需要以所示出的次序实行。根据本发明实施例实施例的精神及范围,可适当地对操作进行添加、替换、改变次序和/或消除。对不同特征和/或不同实施例进行组合的实施例处于本发明实施例的范围内,且在所属领域中的普通技术人员阅读本发明实施例之后将显而易见。
在一些实施例中,一种方法至少部分地由处理器执行,所述方法包括从对存储器的存储器区块进行的至少一个存储器测试提取所述存储器区块中的将被修复的至少一个失效位的位置。所述方法还包括获得所述存储器中的用于对所述存储器区块进行修复的可用修复资源。所述方法还包括判断包含多个约束在内的约束满足问题(CSP)是否可解决。所述多个约束对应于所述存储器区块中的所述至少一个失效位的所述位置以及所述可用修复资源。所述方法还包括响应于所述判断指示所述CSP不可解决,将所述存储器区块标记为不可修复或拒绝所述存储器。所述方法还包括响应于所述判断指示所述CSP可解决且具有满足所述多个约束的解决方案,根据所述CSP的所述解决方案而使用所述可用修复资源来对所述至少一个失效位进行修复。
在一个或多个实施例中,所述约束满足问题还包含将被优化的至少一个目标函数,且所述约束满足问题的所述解决方案对应于被优化的所述至少一个目标函数。
在一个或多个实施例中,所述约束满足问题的所述多个约束包括:
其中m是所述存储器区块中的字线的数目,n是所述存储器区块中的位线的数目,h是所述存储器区块中的将被修复的失效位的数目,xrepair resource是能够用于修复所述存储器区块的冗余字线的数目,yrepair resource是能够用于修复所述存储器区块的冗余位线的数目,xi是0或1且对应于m条所述字线之中的第i字线,xi=0对应于所述第i字线由所述冗余字线中的一者进行修复,且xi=1对应于所述第i字线不被修复,yj是0或1且对应于n条所述位线之中的第j位线,yj=0对应于所述第j位线由所述冗余位线中的一者进行修复,且yj=1对应于所述第j位线不被修复,xi_k是与耦接到h个所述失效位之中的第k失效位的字线对应的xi,且yj_k是与耦接到所述第k失效位的位线对应的yj。
在一个或多个实施例中,所述方法还包括:自所述至少一个存储器测试提取所述存储器区块中的至少一个弱位的位置,响应于判断所指示所述约束满足问题能够解决,基于所述可用修复资源及所述约束满足问题的所述解决方案判断是否存在剩余修复资源,响应于判断出存在所述剩余修复资源,解决约束优化问题,根据所述约束优化问题的解决方案而使用所述可用修复资源来对所述至少一个失效位及所述至少一个弱位进行修复。所述约束优化问题包含所述多个约束以及将被优化的目标函数。所述目标函数对应于所述存储器区块中的所述至少一个弱位的所述位置。
在一个或多个实施例中,所述至少一个弱位包括多个弱位,所述方法还包括:将多个权重对应地分派到所述多个弱位。
在一个或多个实施例中,所述多个约束包括:
所述目标函数包括将最小化,其中m是所述存储器区块中的字线的数目,n是所述存储器区块中的位线的数目,h是所述存储器区块中的将被修复的失效位的数目,s是所述存储器区块中的弱位的数目,xrepair resource是能够用于修复所述存储器区块的冗余字线的数目,yrepair resource是能够用于修复所述存储器区块的冗余位线的数目,xi是0或1且对应于m条所述字线之中的第i字线,xi=0对应于所述第i字线由所述冗余字线中的一者进行修复,且xi=1对应于所述第i字线不被修复,yj是0或1且对应于n条所述位线之中的第j位线,yj=0对应于所述第j位线由所述冗余位线中的一者进行修复,且yj=1对应于所述第j位线不被修复,x’i'是0或1且对应于第i'冗余字线,x’i'=0对应于所述第i'冗余字线不用于对字线进行修复,且x’i'=1对应于所述第i'冗余字线用于对字线进行修复,y’j'是0或1且对应于第j'冗余位线,y’j'=0对应于所述第j'冗余位线不用于对位线进行修复,且y’j'=1对应于所述第j'冗余位线用于对位线进行修复,xl是与耦接到s个所述弱位之中的第l弱位的字线或冗余字线对应的xi或x’i',yl是与耦接到所述第l弱位的位线或冗余位线对应的yj或y’j’,且Wl是被分派到所述第l弱位的权重。
在一个或多个实施例中,所述方法还包括:根据以下检查所述至少一个失效位是否不能修复:所述存储器区块中的所述至少一个失效位的所述位置、所述可用修复资源、以及通过机器学习从数据库获得的函数。所述数据库包含不能修复位图案及对应的可用修复资源。所述方法还包括:响应于检查所指示所述至少一个失效位不能修复,将所述存储器区块标记为不能修复或拒绝所述存储器,响应于检查所指示所述至少一个失效位能够修复,实行所述判断所述约束满足问题是否能够解决。
在一个或多个实施例中,所述方法还包括:响应于判断所指示所述约束满足问题不能解决,将所述至少一个失效位的所述位置及所述可用修复资源添加到所述数据库,以更新所述函数。
在一个或多个实施例中,所述方法还包括:响应于判断所指示所述约束满足问题能够解决,更新所述约束满足问题的启发式。
在一些实施例中,一种系统包括存储器测试装置以及处理器。存储器测试装置被配置成对存储器的存储器区块实行至少一个存储器测试。处理器耦接到所述存储器测试装置。所述处理器被配置成:从所述至少一个存储器测试提取所述存储器区块中的将被修复的至少一个失效位的位置;以及获得所述存储器中的用于对所述存储器区块进行修复的可用修复资源。所述处理器还被配置成根据以下判断所述至少一个失效位是否不可修复:所述存储器区块中的所述至少一个失效位的所述位置;所述可用修复资源;以及通过机器学习从数据库获得的函数,所述数据库包含不可修复位图案及对应的可用修复资源。响应于判断出所述至少一个失效位不可修复,所述处理器还被配置成控制所述存储器测试装置将所述存储器区块标记为不可修复或拒绝所述存储器。
在一个或多个实施例中,所述处理器还被配置成实行所述机器学习以从所述数据库获得所述函数。
在一个或多个实施例中,所述处理器还被配置成响应于判断出所述至少一个失效位能够修复而进行以下操作:判断包含多个约束在内的约束满足问题是否能够解决,响应于判断出所述约束满足问题不能解决,控制所述存储器测试装置将所述存储器区块标记为不能修复或拒绝所述存储器,且通过将所述至少一个失效位的所述位置及所述可用修复资源添加到所述数据库来更新所述数据库。所述多个约束对应于所述存储器区块中的所述至少一个失效位的所述位置以及所述可用修复资源。
在一个或多个实施例中,所述处理器还被配置成实行所述机器学习以基于经更新的所述数据库更新所述函数。
在一个或多个实施例中,所述处理器还被配置成从所述至少一个存储器测试提取所述存储器区块中的至少一个弱位的位置,基于所述至少一个存储器测试将权重分派到所述至少一个弱位,响应于判断出所述约束满足问题能够解决且具有满足所述多个约束的解决方案,基于所述可用修复资源及所述约束满足问题的所述解决方案判断是否存在剩余修复资源,响应于判断出存在所述剩余修复资源,解决约束优化问题。所述约束优化问题包含所述多个约束以及将被优化的目标函数。所述目标函数对应于所述权重及所述存储器区块中的所述至少一个弱位的所述位置。
在一个或多个实施例中,所述存储器测试装置还被配置成对所述存储器进行修复。所述处理器还被配置成控制所述存储器测试装置以响应于判断出不存在所述剩余修复资源,根据所述约束满足问题的所述解决方案而使用所述可用修复资源对所述至少一个失效位进行修复,响应于所述判断出存在所述剩余修复资源,根据所述约束优化问题的解决方案而使用所述可用修复资源对所述至少一个失效位及所述至少一个弱位进行修复。
在一些实施例中,一种计算机编程产品包括非暂时性计算机可读介质,所述非暂时性计算机可读介质中包含指令。所述指令在由处理器执行时使所述处理器:从对存储器的存储器区块进行的至少一个存储器测试提取所述存储器区块中的将被修复的多个失效位的失效位图案以及所述存储器区块中的多个弱位的弱位图案。所述指令还使所述处理器响应于以下中的任意者控制将所述存储器区块标记为不可修复或拒绝所述存储器:所述多个失效位的数目高于预定阈值;机器学习函数基于所述存储器中的所述失效位图案及用于对所述存储器区块进行修复的可用修复资源指示所述失效位图案不可修复;或者包含多个约束在内的约束满足问题(CSP)不可解决,所述多个约束对应于所述失效位图案及所述可用修复资源。所述指令使所述处理器基于以下控制对所述存储器进行修复:所述CSP的解决方案;所述解决方案满足所述多个约束且指示所述可用修复资源在所述多个失效位的修复中如何分配;或者约束优化问题(COP)的解决方案,所述约束优化问题(COP)包含所述多个约束及目标函数,所述COP的所述解决方案满足所述多个约束、对所述目标函数进行优化且指示所述可用修复资源在所述多个失效位及所述多个弱位之中的一个或多个弱位的修复中如何分配。
在一个或多个实施例中,所述指令在由所述处理器执行时还使所述处理器对所述约束满足问题的所述解决方案进行优化,以将被分配到所述多个失效位的所述修复的所述可用修复资源的数量最小化。
在一个或多个实施例中,所述指令在由所述处理器执行时还使所述处理器将多个权重对应地分派到所述多个弱位,基于所述多个权重及所述存储器区块中的所述多个弱位的位置将所述约束优化问题的所述目标函数公式化,通过对所述约束优化问题的所述目标函数进行优化来对所述约束优化问题的所述解决方案进行优化,以相对于具有所述较低权重的所述弱位优先对具有所述较高权重的所述弱位进行修复。在被分派到所述多个弱位的所述多个权重之中,较高权重被分派到具有较高弱级的弱位且较低权重被分派到具有较低弱级的弱位。
在一个或多个实施例中,所述指令在由所述处理器执行时还使所述处理器实行机器学习以从数据库获得所述机器学习函数,所述数据库包含不能修复位图案及对应的可用修复资源,响应于判断出所述约束满足问题不能解决,通过使所述失效位图案及所述可用修复资源被添加到所述数据库来更新所述数据库,实行所述机器学习以基于经更新的所述数据库更新所述函数。
以上概述了若干实施例的特征,以使所属领域中的技术人员可更好地理解本发明实施例的各个方面。所属领域中的技术人员应理解,他们可容易地使用本发明实施例作为设计或修改其他过程及结构的基础来施行与本文中所介绍的实施例相同的目的和/或实现与本文中所介绍的实施例相同的优点。所属领域中的技术人员还应认识到,这些等效构造并不背离本发明实施例的精神及范围,而且他们可在不背离本发明实施例的精神及范围的条件下对其作出各种改变、代替及变更。
Claims (10)
1.一种用于存储器修复的方法,所述用于存储器修复的方法至少部分地由处理器执行,所述用于存储器修复的方法包括:
从对存储器的存储器区块进行的至少一个存储器测试提取所述存储器区块中的将被修复的至少一个失效位的位置;
获得所述存储器中的用于对所述存储器区块进行修复的可用修复资源;
判断包含多个约束在内的约束满足问题是否能够解决,所述多个约束对应于
所述存储器区块中的所述至少一个失效位的所述位置,以及
所述可用修复资源;
响应于判断所指示所述约束满足问题不能解决,将所述存储器区块标记为不能修复或拒绝所述存储器;以及
响应于判断所指示所述约束满足问题能够解决且具有满足所述多个约束的解决方案,根据所述约束满足问题的所述解决方案而使用所述可用修复资源来对所述至少一个失效位进行修复。
2.根据权利要求1所述的方法,其中
所述约束满足问题还包含将被优化的至少一个目标函数,且
所述约束满足问题的所述解决方案对应于被优化的所述至少一个目标函数。
3.根据权利要求1所述的方法,其中
所述约束满足问题的所述多个约束包括:
其中m是所述存储器区块中的字线的数目,
n是所述存储器区块中的位线的数目,
h是所述存储器区块中的将被修复的失效位的数目,
xrepair resource是能够用于修复所述存储器区块的冗余字线的数目,
yrepair resource是能够用于修复所述存储器区块的冗余位线的数目,
xi是0或1且对应于m条所述字线之中的第i字线,xi=0对应于所述第i字线由所述冗余字线中的一者进行修复,且xi=1对应于所述第i字线不被修复,
yj是0或1且对应于n条所述位线之中的第j位线,yj=0对应于所述第j位线由所述冗余位线中的一者进行修复,且yj=1对应于所述第j位线不被修复,
xi_k是与耦接到h个所述失效位之中的第k失效位的字线对应的xi,且
yj_k是与耦接到所述第k失效位的位线对应的yj。
4.根据权利要求1所述的方法,还包括:
自所述至少一个存储器测试提取所述存储器区块中的至少一个弱位的位置;
响应于所述判断指示所述约束满足问题能够解决,基于所述可用修复资源及所述约束满足问题的所述解决方案判断是否存在剩余修复资源;
响应于判断出存在所述剩余修复资源,解决约束优化问题,所述约束优化问题包含
所述多个约束,以及
将被优化的目标函数,所述目标函数对应于所述存储器区块中的所述至少一个弱位的所述位置;以及
根据所述约束优化问题的解决方案而使用所述可用修复资源来对所述至少一个失效位及所述至少一个弱位进行修复。
5.根据权利要求4所述的方法,其中所述至少一个弱位包括多个弱位,所述方法还包括:
将多个权重对应地分派到所述多个弱位。
6.根据权利要求5所述的方法,其中
所述多个约束包括:
其中m是所述存储器区块中的字线的数目,
n是所述存储器区块中的位线的数目,
h是所述存储器区块中的将被修复的失效位的数目,
s是所述存储器区块中的弱位的数目,
xrepair resource是能够用于修复所述存储器区块的冗余字线的数目,
yrepair resource是能够用于修复所述存储器区块的冗余位线的数目,
xi是0或1且对应于m条所述字线之中的第i字线,xi=0对应于所述第i字线由所述冗余字线中的一者进行修复,且xi=1对应于所述第i字线不被修复,
yj是0或1且对应于n条所述位线之中的第j位线,yj=0对应于所述第j位线由所述冗余位线中的一者进行修复,且yj=1对应于所述第j位线不被修复,
x’i'是0或1且对应于第i'冗余字线,x’i'=0对应于所述第i'冗余字线不用于对字线进行修复,且x’i'=1对应于所述第i'冗余字线用于对字线进行修复,
y’j'是0或1且对应于第j'冗余位线,y’j'=0对应于所述第j'冗余位线不用于对位线进行修复,且y’j'=1对应于所述第j'冗余位线用于对位线进行修复,
xl是与耦接到s个所述弱位之中的第l弱位的字线或冗余字线对应的xi或x’i',
yl是与耦接到所述第l弱位的位线或冗余位线对应的yj或y’j’,且
Wl是被分派到所述第l弱位的权重。
7.一种系统,包括:
存储器测试装置,被配置成对存储器的存储器区块实行至少一个存储器测试;以及
处理器,耦接到所述存储器测试装置,
其中所述处理器被配置成
从所述至少一个存储器测试提取所述存储器区块中的将被修复的至少一个失效位的位置,
获得所述存储器中的用于对所述存储器区块进行修复的可用修复资源,
根据以下判断所述至少一个失效位是否不能修复
所述存储器区块中的所述至少一个失效位的所述位置,
所述可用修复资源,以及
通过机器学习从数据库获得的函数,所述数据库包含不能修复位图案及对应的可用修复资源,以及
响应于判断出所述至少一个失效位不能修复,控制所述存储器测试装置将所述存储器区块标记为不能修复或拒绝所述存储器。
8.根据权利要求7所述的系统,其中所述处理器还被配置成响应于判断出所述至少一个失效位能够修复而进行以下操作:
判断包含多个约束在内的约束满足问题是否能够解决,所述多个约束对应于
所述存储器区块中的所述至少一个失效位的所述位置,以及
所述可用修复资源,以及
响应于判断出所述约束满足问题不能解决,
控制所述存储器测试装置将所述存储器区块标记为不能修复或拒绝所述存储器,且
通过将所述至少一个失效位的所述位置及所述可用修复资源添加到所述数据库来更新所述数据库。
9.根据权利要求8所述的系统,其中所述处理器还被配置成
从所述至少一个存储器测试提取所述存储器区块中的至少一个弱位的位置,
基于所述至少一个存储器测试将权重分派到所述至少一个弱位,
响应于判断出所述约束满足问题能够解决且具有满足所述多个约束的解决方案,基于所述可用修复资源及所述约束满足问题的所述解决方案判断是否存在剩余修复资源,以及
响应于判断出存在所述剩余修复资源,解决约束优化问题,所述约束优化问题包含
所述多个约束,以及
将被优化的目标函数,所述目标函数对应于所述权重及所述存储器区块中的所述至少一个弱位的所述位置。
10.一种计算机编程产品,包括非暂时性计算机可读介质,所述非暂时性计算机可读介质中包含指令,所述指令在由处理器执行时使所述处理器
从对存储器的存储器区块进行的至少一个存储器测试提取
所述存储器区块中的将被修复的多个失效位的失效位图案,以及
所述存储器区块中的多个弱位的弱位图案,
响应于以下中的任意者控制将所述存储器区块标记为不能修复或拒绝所述存储器
所述多个失效位的数目高于预定阈值,
机器学习函数基于所述存储器中的所述失效位图案及用于对所述存储器区块进行修复的可用修复资源指示所述失效位图案不能修复,或者
包含多个约束在内的约束满足问题不能解决,所述多个约束对应于所述失效位图案及所述可用修复资源,以及
基于以下控制对所述存储器进行修复
所述约束满足问题的解决方案,所述解决方案满足所述多个约束且指示所述可用修复资源在所述多个失效位的修复中如何分配,或者
约束优化问题的解决方案,所述约束优化问题包含所述多个约束及目标函数,所述约束优化问题的所述解决方案满足所述多个约束、对所述目标函数进行优化且指示所述可用修复资源在所述多个失效位及所述多个弱位之中的一个或多个弱位的修复中如何分配。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063031827P | 2020-05-29 | 2020-05-29 | |
US63/031,827 | 2020-05-29 | ||
US17/108,870 | 2020-12-01 | ||
US17/108,870 US11450401B2 (en) | 2020-05-29 | 2020-12-01 | Method, system and computer program product for memory repair |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113223604A true CN113223604A (zh) | 2021-08-06 |
Family
ID=77098169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110566926.7A Pending CN113223604A (zh) | 2020-05-29 | 2021-05-24 | 用于存储器修复的方法、系统及计算机编程产品 |
Country Status (3)
Country | Link |
---|---|
US (2) | US12014790B2 (zh) |
CN (1) | CN113223604A (zh) |
TW (1) | TW202145242A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11842788B2 (en) * | 2020-11-26 | 2023-12-12 | Changxin Memory Technologies, Inc. | Method for determining repair location for redundancy circuit, method for repairing integrated circuit, electronic device and storage medium |
US11848067B2 (en) * | 2021-09-07 | 2023-12-19 | Micron Technology, Inc. | Apparatus including internal test mechanism and associated methods |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3483724B2 (ja) * | 1997-03-19 | 2004-01-06 | シャープ株式会社 | 不揮発性半導体記憶装置 |
DE112007003602T5 (de) * | 2007-07-26 | 2010-07-15 | Advantest Corp. | Backup-Reihen-Zuordnungsvorrichtung, Speicher-Reparaturvorrichtung, Backup-Reihen-Zuordnungsverfahren, Speicher-Herstellungsverfahren und Programm |
KR20130111074A (ko) * | 2012-03-30 | 2013-10-10 | 삼성전자주식회사 | 연약 셀의 리프레쉬 특성을 개선한 반도체 메모리 장치 |
US11100524B1 (en) | 2013-12-23 | 2021-08-24 | Massachusetts Mutual Life Insurance Company | Next product purchase and lapse predicting tool |
US11450401B2 (en) * | 2020-05-29 | 2022-09-20 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method, system and computer program product for memory repair |
-
2021
- 2021-05-19 TW TW110118009A patent/TW202145242A/zh unknown
- 2021-05-24 CN CN202110566926.7A patent/CN113223604A/zh active Pending
-
2022
- 2022-07-26 US US17/815,096 patent/US12014790B2/en active Active
-
2024
- 2024-06-11 US US18/739,911 patent/US20240331795A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US12014790B2 (en) | 2024-06-18 |
US20240331795A1 (en) | 2024-10-03 |
TW202145242A (zh) | 2021-12-01 |
US20220366996A1 (en) | 2022-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11450401B2 (en) | Method, system and computer program product for memory repair | |
US12014790B2 (en) | Method, system and computer program product for memory repair | |
US20180114588A1 (en) | Methods, apparatus, and systems to repair memory | |
US7382660B2 (en) | Method for accessing a multilevel nonvolatile memory device of the flash NAND type | |
US7178072B2 (en) | Methods and apparatus for storing memory test information | |
US7149921B1 (en) | Apparatus, method, and system to allocate redundant components with subsets of the redundant components | |
US20120173920A1 (en) | Memory system and method of operating the same | |
US10347317B2 (en) | Method of self-testing and reusing of reference cells in a memory architecture | |
US20220165348A1 (en) | Method and apparatus for determining when actual wear of a flash memory device differs from reliability states for the flash memory device | |
JPH11511287A (ja) | メモリ・チップの迅速な修理を可能にするメモリ・テスタ | |
EP1352396A2 (en) | Method and apparatus for built-in self-repair of memory storage arrays | |
US6539506B1 (en) | Read/write memory with self-test device and associated test method | |
US11200962B2 (en) | Memory devices having spare column remap storages and methods of remapping column addresses in the memory devices | |
CN108628757A (zh) | 非易失性存储器设备和包括其的存储系统 | |
US7188274B2 (en) | Memory repair analysis method and circuit | |
CN113990361A (zh) | 非易失性存储器装置的操作方法 | |
US8321726B2 (en) | Repairing memory arrays | |
US20070115720A1 (en) | Non-volatile semiconductor memory device and method for operating a non-volatile memory device | |
WO2022037199A1 (zh) | 失效位元的修补方法及装置 | |
US7565585B2 (en) | Integrated redundancy architecture and method for providing redundancy allocation to an embedded memory system | |
KR101269557B1 (ko) | 반도체 메모리 수리 장치 및 수리 방법 | |
US7437627B2 (en) | Method and test device for determining a repair solution for a memory module | |
US7352638B2 (en) | Method and apparatus for testing a memory device | |
Pekmestzi et al. | A bisr architecture for embedded memories | |
WO2022037201A1 (zh) | 失效位元的修补方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210806 |