CN110390993B - 用于存储器件的模块控制器和包括模块控制器的存储模块 - Google Patents

用于存储器件的模块控制器和包括模块控制器的存储模块 Download PDF

Info

Publication number
CN110390993B
CN110390993B CN201811474347.4A CN201811474347A CN110390993B CN 110390993 B CN110390993 B CN 110390993B CN 201811474347 A CN201811474347 A CN 201811474347A CN 110390993 B CN110390993 B CN 110390993B
Authority
CN
China
Prior art keywords
memory
circuit
repair
failed
packages
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811474347.4A
Other languages
English (en)
Other versions
CN110390993A (zh
Inventor
禹洙海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN110390993A publication Critical patent/CN110390993A/zh
Application granted granted Critical
Publication of CN110390993B publication Critical patent/CN110390993B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/27Built-in tests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请提供用于存储器件的模块控制器和包括模块控制器的存储模块。一种测试电路包括内建自测(BIST)电路和内建修复分析(BIRA)电路。所述内建自测(BIST)电路对多个存储器封装件执行测试操作,以生成故障信息。所述内建修复分析(BIRA)电路从BIST电路接收故障信息,以将所述多个存储器封装件中的至少一个选择作为修复目标存储器封装件。通过考虑错误校正码(ECC)电路的错误校正能力以及被包括在所述多个存储器封装件中每一个中的冗余区的可用性来选择修复目标存储器封装件。

Description

用于存储器件的模块控制器和包括模块控制器的存储模块
相关申请的交叉引用
本申请对2018年4月18日提交的申请号为10-2018-0045080的韩国申请要求优先权,所述韩国申请通过引用以其全部被并入本文中。
技术领域
本公开内容的各种实施例涉及存储器件,并且更具体地涉及用于存储器件的模块控制器以及包括该模块控制器的存储模块。
背景技术
随着半导体存储器件变得更高度集成,半导体存储器件的存储容量已经随着半导体技术的发展而迅速增大。半导体存储器件的存储容量的增大可导致在每一个半导体存储器件中所包括的存储单元的数目中的增加。如果半导体存储器件中的存储单元的数目增加,则形成故障存储单元的概率也可能增大。因而,考虑到故障存储单元的形成,每个存储器件的单元阵列区可以被设计成包括冗余单元区。如果在单元阵列区中形成了故障存储单元,则可以通过使用关于故障存储单元的信息用冗余单元区中所包括的冗余存储单元来替换故障存储单元。
近来,许多努力已经被聚焦于利用三维集成技术来改善具有低功率消耗的半导体存储器件的性能。三维集成技术可以对应于用于垂直地堆叠存储芯片或存储单元来增大半导体存储器件的集成密度的制造技术存储芯片。因而,在三维集成技术被用于实现高度集成的存储器封装件的情况中,存储芯片中存储单元的可靠性可能变得更重要。
发明内容
根据实施例,可以提供测试电路。测试电路可以包括内建自测(BIST)电路和内建修复分析(BIRA)电路。内建自测(BIST)电路可以对多个存储器封装件执行测试操作,以生成故障信息。内建修复分析(BIRA)电路可以从BIST电路接收故障信息,以便将所述多个存储器封装件中的至少一个选择作为修复目标存储器封装件。可以通过考虑错误校正码(ECC)电路的错误校正能力以及被包括在所述多个存储器封装件中每一个中的冗余区的可用性来选择修复目标存储器封装件。
根据实施例,可以提供存储模块。所述存储模块可以包括多个存储器封装件和模块控制器,所述模块控制器被配置成控制所述多个存储器封装件的操作。模块控制器可以包括错误校正码(ECC)电路和测试电路。测试电路可以包括内建自测(BIST)电路和内建修复分析(BIRA)电路。内建自测(BIST)电路可以对所述多个存储器封装件执行测试操作,以生成故障信息。内建修复分析(BIRA)电路可以从BIST电路接收故障信息,以便将所述多个存储器封装件中的至少一个选择作为修复目标存储器封装件。通过考虑错误校正码(ECC)电路的错误校正能力以及被包括在所述多个存储器封装件中每一个中的冗余区的可用性,可以选择修复目标存储器封装件。
根据实施例,可以提供一种方法。所述方法可以包括利用内建自测(BIST)电路来对所述多个存储器封装件执行测试操作,以生成故障信息。所述方法可以包括利用内建修复分析(BIRA)电路,基于故障信息来将所述多个存储器封装件中的至少一个选择作为修复目标存储器封装件。通过考虑错误校正码(ECC)电路的错误校正能力以及被包括在所述多个存储器封装件中每一个中的冗余区的可用性,可以选择修复目标存储器封装件。
附图说明
图1是一框图,其图示了根据本公开内容的实施例的存储模块的示例。
图2是一框图,其图示了在图1的存储模块中所包括的存储器封装件的配置。
图3是一示意性视图,其图示了在图2的存储器封装件中所包括的存储体的配置。
图4是一示意性视图,其图示了在图3的存储体中所包括的单元阵列区的配置。
图5是一框图,其图示了在图1的存储模块中所包括的模块控制器的配置。
图6是一框图,其图示了根据本公开内容的实施例的测试电路的示例。
图7至9是流程图,其图示了根据本公开内容的实施例的用于存储器件的测试电路的操作。
图10是一框图,其图示了根据本公开内容的实施例的在对用于存储器件的测试电路的操作进行描述中所使用的存储模块。
图11是一表格,其图示了根据本公开内容的实施例的在用于存储器件的测试电路的操作期间从内建自测(BIST)电路被传输到内建修复分析(BIRA)电路的故障信息。
图12图示了在图11中所图示的故障信息之中的行地址和封装故障信息的二进制数据的配置。
图13图示了根据本公开内容的实施例的在用于存储器件的测试电路的操作期间被存储在内建修复分析(BIRA)电路的第一寄存器中的故障分布(distribution)数据的示例。
图14图示了根据本公开内容的实施例的在用于存储器件的测试电路的操作期间被存储在内建修复分析(BIRA)电路的第二寄存器中的冗余区信息的示例。
图15图示了根据本公开内容的实施例的在用于存储器件的测试电路的操作期间用于比较第一寄存器中的信息与第二寄存器中的信息以便在对修复目标存储器封装件进行选择的过程中反映冗余区信息的步骤的示例。
图16图示了根据本公开内容的实施例的在用于存储器件的测试电路的操作期间用于比较第一寄存器中的信息与第二寄存器中的信息以便在对修复目标存储器封装件进行选择的过程中反映冗余区信息的步骤的另一示例。
图17图示了根据本公开内容的实施例的内建修复分析(BIRA)电路的第三寄存器,在其中在用于存储器件的测试电路的操作期间存储了要被修复的冗余区的地址。
图18图示了根据本公开内容的实施例的在用于存储器件的测试电路的操作期间用于比较第一寄存器中的信息与第三寄存器中的信息以便在对修复目标存储器封装件进行选择的过程中反映冗余区信息的步骤的示例。
图19是一流程图,其图示了根据本公开内容的实施例的在用于存储器件的测试电路的操作期间用于选择修复目标存储器封装件的步骤的示例。
图20图示了在根据实施例的测试电路的操作被执行的时候在选择了修复目标存储器封装件之后被包括在内建修复分析(BIRA)电路中的第一寄存器的示例。
图21图示了在根据实施例的测试电路的操作被执行的时候在选择了修复目标存储器封装件之后被包括在内建修复分析(BIRA)电路中的第一寄存器的另一示例。
图22图示了在根据实施例的测试电路的操作被执行的时候在选择了修复目标存储器封装件之后被包括在内建修复分析(BIRA)电路中的第一寄存器的又一示例。
具体实施方式
在实施例的以下描述中,将理解的是,术语“第一”和“第二”意图标识元件,但不被用于仅仅限定元件本身或意指特定的序列。另外,当一元件被称为位于另一元件“上”、“上方”、“以上”、“下方”或“以下”的时候,意图意指相对位置关系,而不是被用于限制如下某些情况:即该元件直接接触该另一元件,或至少一个居间元件存在于其之间。因此,在本文中所使用的诸如“之上”、“上方”、“以上”、“下方”、“以下”、“下面”等等之类的术语仅仅用于描述特定实施例的目的,并且不意图限制本公开内容的范围。此外,当元件被称为“被连接”或“被耦接”到另一元件的时候,元件可以直接地被电气或机械连接或耦接到另一元件,或可以通过替换其之间的另一元件而形成连接关系或耦接关系。
各种实施例可以针对用于存储器件的测试电路以及包括测试电路的存储模块。
图1是一框图,其图示了根据本公开内容的实施例的存储模块10的示例。参考图1,存储模块10可以被配置成包括多个存储器封装件100、多个数据缓冲器200、接头片(tab)300和模块控制器(DIMM CTRL)400。尽管图1图示了其中存储模块10包括十八个存储器封装件100(即第一到第十八存储器封装件PKG01~PKG18)的示例,但是本公开内容不限于此。例如,在一些其它实施例中,存储器封装件100的数目可小于或大于十八。根据存储模块10的配置(例如存储模块10的输入/输出(I/O)配置),可以将存储模块10中所包括的存储器封装件100的数目设置成不同的。所述多个存储器封装件100、所述多个数据缓冲器200和模块控制器(DIMM CTRL)400可以被装配在诸如印刷电路板(PCB)的基底上。被附接到基底端部的接头片300可以具有多个连接端子(也被称为“接头片引脚”)。接头片300可以包括命令/地址输入引脚、时钟输入引脚和数据I/O引脚。
图2是一框图,其图示了在图1的存储模块10中所包括的存储器封装件100中任一个的配置。存储器封装件100可以包括多个存储芯片(或多个存储裸片),例如第一到第N存储芯片110-1、110-2、……、以及110-N。在实施例中,所述第一到第N存储芯片110-1、110-2、……、以及110-N可以垂直地被堆叠在封装基底的表面上。所述第一到第N存储芯片110-1、110-2、……、以及110-N可以具有相同的配置。在这样的情况中,第一存储芯片110-1可以具有例如四个存储体组(即,第一到第四存储体组BG-0、BG-1、BG-2和BG-3)。所述第一到第四存储体组BG-0、BG-1、BG-2和BG-3可以具有相同的配置。所述第一到第四存储体组BG-0、BG-1、BG-2和BG-3中的一个可以由存储体组地址来指明。所述第一到第四存储体组BG-0、BG-1、BG-2和BG-3中的每一个可以具有例如四个存储体(即第一到第四存储体BANK-0、BANK-1、BANK-2和BANK-3)。因而,第一存储芯片110-1可以包括十六个存储体。所述第一到第四存储体BANK-0、BANK-1、BANK-2和BANK-3可以具有相同的配置。所述第一到第四存储体BANK-0、BANK-1、BANK-2和BANK-3中的一个可以由存储体地址来指明。
图3是一示意性视图,其图示了在图2的存储器封装件100中所包括的第一存储芯片110-1的第一存储体BANK-0的配置。参考图3,第一存储体BANK-0可以包括例如四个单元阵列区(即,第一到第四单元阵列区cell_array_0、cell_array_1、cell_array_2和cell_array_3)。所述第一到第四单元阵列区cell_array_0、cell_array_1、cell_array_2和cell_array_3可以具有相同的配置。所述第一到第四单元阵列区cell_array_0、cell_array_1、cell_array_2和cell_array_3中的一个可以由单元阵列地址来指明。第一单元阵列区cell_array_0可以具有“00”的单元阵列地址。第二单元阵列区cell_array_1可以具有“01”的单元阵列地址。第三单元阵列区cell_array_2可以具有“10”的单元阵列地址。第四单元阵列区cell_array_3可以具有“11”的单元阵列地址。
图4是一示意性视图,其图示了在图3的第一存储体BANK-0中所包括的第一单元阵列区cell_array_0的配置。参考图4,第一单元阵列区cell_array_0可以包括多个存储单元,所述多个存储单元沿着多个行和多个列以矩阵形式而成阵列。第一单元阵列区cell_array_0可以包括数据存储区和冗余区。数据存储区可以对应于包括主存储单元的单元区,并且冗余区可以是包括用于替换主存储单元之中的故障存储单元的冗余存储单元的单元区。在实施例中,每一行可以具有其自己的行地址,并且每一列可以具有其自己的列地址。因而,各行中的一个可以由行地址指明,并且各列中的一个可以由列地址指明。虽然数据存储区中的主存储单元不与冗余区中的冗余存储单元共享任何行地址,但是数据存储区中的主存储单元可以与冗余区中的冗余存储单元共享列地址。在实施例中,用于选择主存储单元中任一个的行地址可以被配置成具有十三比特位二进制数形式,并且用于选择主存储单元中任一个的列地址可以被配置成具有十比特位二进制数形式。在这样的情况中,第一单元阵列区cell_array_0的数据存储区可以具有一兆字节存储容量。根据实施例可以将第一单元阵列区cell_array_0中的数据存储区和冗余区的配置设置成不同的。
图5是一框图,其图示了在图1的存储模块10中所包括的模块控制器400的配置。参考图5,模块控制器400可以包括:充当模块控制器400与主机20之间的接口的前物理层401-1,以及充当模块控制器400与存储介质30之间的接口的后物理层401-2。在实施例中,存储介质30可以包括被设置在存储模块(图1的10)中的所述多个存储器封装件(图1的100)。模块控制器400可以还包括命令处理电路402、测试电路403以及错误校正码(ECC)电路404。此外,模块控制器400可以还包括单向多路复用器405与双向多路复用器406。
命令处理电路402可以通过前物理层401-1而从主机20接收命令,并且可以通过单向多路复用器405与后物理层401-2而将命令输出到存储介质30。测试电路403可以测试所有存储器封装件100,并且可以根据测试结果而在所测试的存储器封装件100之中选择一个或多个修复目标存储器封装件。测试电路403还可以执行根据测试结果所选择的修复目标存储器封装件的修复操作。另外,测试电路403可以将冗余区的状态存储在存储介质30中并且将修复目标区的地址存储在存储介质30中。测试电路403可以通过单向多路复用器405和双向多路复用器406而被耦接到后物理层401-2。如果从主机20输出的写数据通过前物理层401-1被输入到ECC电路404,则ECC电路404可以执行写数据的ECC编码操作以生成ECC编码的数据,并且可以通过双向多路复用器406和后物理层401-2而将ECC编码的数据输出到存储介质30。如果从存储介质30输出的读数据通过后物理层401-2和双向多路复用器406而被输入到ECC电路404,则ECC电路404可以执行读数据的ECC解码操作以校正读数据的错误位,并且可以通过前物理层401-1而将经校正的读数据输出到主机20。当ECC电路404执行读数据的ECC解码操作的时候,ECC电路404可以在ECC电路404的错误校正能力内校正读数据的错误位。ECC电路404的错误校正能力可以被定义为能够通过ECC编码操作和ECC解码操作被校正的最大错误位(或最大错误符号)的数目。
图6是一框图,其图示了根据本公开内容的实施例的测试电路403的示例。参考图6,测试电路403可以被配置成包括内建自测(BIST)电路410、内建修复分析(BIRA)电路420、测试模式(TM)电路430、内建自修复(BISR)电路440和修复地址寄存器堆(RARF,repairaddress register file)450。测试电路403可以执行所述多个存储器封装件(图1的100)的测试操作以获得故障信息,并且可以通过使用所述故障信息而在所测试的存储器封装件之中选择一个或多个修复目标存储器封装件。可以通过考虑ECC电路404的错误校正能力以及在存储器封装件100的每一个中所包括的冗余区的可用性来选择修复目标存储器封装件。
BIST电路410可以执行所述多个存储器封装件100的测试操作以生成和输出故障信息。可以使用测试算法来对存储器封装件100的每一个中所包括的存储单元执行测试操作。为了使用测试算法来执行测试操作,BIST电路410可以被配置成包括命令生成器411、地址生成器412、数据生成器413和数据比较器414。命令生成器411可以为测试操作生成写命令和读命令。地址生成器412可以生成要通过读操作和写操作而被测试的存储单元的地址。数据生成器413可以生成测试模式(test pattern),所述测试模式被应用到要被测试的存储单元。数据比较器414可以比较从存储单元中读出的数据与被写入到存储单元中的测试模式,以判别存储单元中的每一个是否是故障存储单元,并且可以生成关于故障存储单元的故障信息以将故障信息输出到BIRA电路420。
如果从BIST电路410的数据比较器414所输出的故障信息被输入到BIRA电路420,则BIRA电路420可以分析故障信息以在所测试的存储器封装件100之中选择要被修复的存储器封装件。在这样的情况中,BIRA电路420可以在考虑单元阵列区中的冗余区的状态以及ECC电路404的错误校正能力的情况下进行操作,以最小化修复目标存储器封装件的数目。BIRA电路420可以包括未修复控制(URC)电路421、修复分析(RA)电路422以及修复地址寄存器堆控制(RARFC)电路423。
URC电路421可以分析故障信息以获得故障分布数据,并且可以接收关于存储器封装件100的每一个中所包括的单元阵列的冗余区的状态的信息以确定内建修复分析(BIRA)操作的执行/不执行。由URC电路421所获得的故障分布数据可以由存储器封装件100以故障存储单元的数目的形式存储到URC电路421的第一寄存器中。也就是说,与存储器封装件100的每一个中的所有故障存储单元的数目相对应的二进制数可以被存储到URC电路421的第一寄存器中。URC电路421可以设置被限制在ECC电路404的错误校正能力的范围内的失效基准(FC,failure criterion),以便在URC电路421的操作期间考虑ECC电路404的错误校正能力。在实施例中,如果ECC电路404的错误校正能力是“M”个比特位(或“M”个符号),则失效基准(FC)可以被设置为大于零并且等于或小于“M”的自然数。针对失效基准(FC)的设置值在本文中也被称为失效基准值。
URC电路421可以由存储器封装件100通过TM电路430从存储介质30接收关于单元阵列区中的冗余区的状态的信息(还被称为“冗余区信息”)。被输入到URC电路421的冗余区信息可以被存储到URC电路421的第二寄存器中。URC电路421可以比较具有在存储器封装件100的每一个中的修复过程中不再可用的不可用冗余区的单元阵列区中所包括的所有故障存储单元的数目与失效基准(FC)以确定内建修复分析(BIRA)操作的执行或不执行。所述不可用冗余区可以对应于已经在先前的修复过程中被使用的不具有可用冗余存储单元的冗余区。在实施例中,如果每个存储器封装件中具有不可用冗余区的单元阵列区中所包括的所有故障存储单元的数目等于或大于失效基准(FC),则内建修复分析(BIRA)操作可以终止,因为不能利用不可用冗余区来修复存储器封装件。相反,如果不存在没有不可用冗余区的存储器封装件或每个存储器封装件中具有不可用冗余区的单元阵列区中所包括的所有故障存储单元的数目小于失效基准(FC),则可以继续执行内建修复分析(BIRA)操作。
RA电路422在某个条件下可以终止内建修复分析(BIRA)操作,或可以在由URC电路421执行内建修复分析(BIRA)操作的时候执行用于选择修复目标存储器封装件的操作。例如,如果故障存储单元的数目被更新成具有在从故障存储单元的总数目中减去修复目标存储器封装件中的故障存储单元的数目之后剩余的值并且经更新的故障存储单元数目小于失效基准(FC),则RA电路422可以终止内建修复分析(BIRA)操作。相反,RA电路422可以选择修复目标存储器封装件,使得如果经更新的故障存储单元的数目等于或大于失效基准(FC),则除了修复目标存储器封装件之外的存储器封装件的数目被最大化。为了使RA电路422终止内建修复分析(BIRA)操作或选择修复目标存储器封装件,RA电路422可以通过RARFC电路423从RARF 450接收要被修复的存储器封装件的冗余区的地址信息。
在内建修复分析(BIRA)操作期间,RARFC电路423可以将RARF 450中所存储的关于修复目标存储器封装件与修复目标地址的信息传输到RA电路422。RARFC电路423还可以从RA电路422接收关于在内建修复分析(BIRA)操作期间所选择的修复目标存储器封装件与修复目标地址的信息,并且可以将关于修复目标存储器封装件和修复目标地址的信息输出到RARF 450,以便将关于修复目标存储器封装件和修复目标地址的信息存储到RARF 450,存储到RARF 450中。另外,RARFC电路423可以在选择了修复目标存储器封装件之后判别修复目标存储器封装件中的冗余区是否在修复过程中可用,并且根据判别结果,可以终止内建修复分析(BIRA)操作,可以将关于修复目标存储器封装件和修复目标地址的信息存储到RARF 450中,或可以设置BIST重试标志信号以再次执行内建自修复(BISR)操作。
TM电路430可以从存储介质300获得关于冗余区状态的信息(还被称为“冗余区信息”),并且可以将冗余区信息传输到URC电路421。BISR电路440可以接收被存储在RARF 450中的关于修复目标存储器封装件和修复目标地址的信息,并且可以执行修复目标存储器封装件的修复过程。
图7至9是流程图,其图示了根据本公开内容的实施例的测试方法,并且图10至22图示了在图7和9中所示的测试方法中所包括的各种步骤。在下文中,将参考图7至22来描述根据实施例的测试方法。首先,参考图7,BIST电路(图6的410)可以执行在存储模块(图1的10)中所包括的存储器封装件(图1的100)的测试操作(参见步骤511)。作为在步骤511处执行的测试操作的结果,BIST电路410可以将关于存储器封装件100的故障信息传输到BIRA电路420的URC电路421。在下文中将结合存储模块50来描述本实施例,所述存储模块50包括五个存储器封装件(即第一到第五存储器封装件PKG0~PKG4)(参见图10)。在图10中,省略了模块控制器。另外,将结合如下示例来描述本实施例:在所述示例中,在由内建自测(BIST)电路410执行了内建自测(BIST)操作之后,第一存储器封装件PKG0中具有不可用冗余区的单元阵列区中所包括的故障存储单元的数目(fcn)是四个比特位(或四个符号),第二存储器封装件PKG1中具有不可用冗余区的单元阵列区中所包括的故障存储单元的数目(fcn)是两个比特位(或两个符号),第三存储器封装件PKG2中具有不可用冗余区的单元阵列区中所包括的故障存储单元的数目(fcn)是一个比特位(或一个符号),第四存储器封装件PKG3中具有不可用冗余区的单元阵列区中所包括的故障存储单元的数目(fcn)是一个比特位(或一个符号),以及第五存储器封装件PKG4中具有不可用冗余区的单元阵列区中所包括的故障存储单元的数目(fcn)是零个比特位(或零个符号)。
如图11中所图示的,从BIST电路410传输到BIRA电路420的URC电路421的故障信息可以包括芯片选择信号CS、芯片标识CID、存储体组地址、存储体地址、行地址和针对每个存储器封装件的故障信息(还被称为“针对每个封装件的故障信息”)。在实施例中,芯片选择信号CS可以是两比特位数据,例如“01”的二进制流。在实施例中,芯片标识CID可以是三比特位数据,例如“000”的二进制流。在第一到第五存储器封装件PKG0~PKG4中任一个中所包括的存储芯片之一可以由芯片选择信号CS和芯片标识CID来选择。在实施例中,存储体组地址可以是两比特位数据,例如“01”的二进制流。在所选存储芯片中所包括的存储体组之一可以由存储体组地址来选择。在实施例中,存储体地址可以是两比特位数据,例如“10”的二进制流。在所选存储体组中所包括的存储体之一可以由存储体地址来选择。在实施例中,行地址可以是十八比特位数据,例如“000101010101010101”的二进制流。在实施例中,针对每个封装件的故障信息可以是十五比特位数据,例如“000001001010100”的二进制流。
如图12中所图示的,十八比特位行地址可以包括由十三个最低有效位(LSB)组成的十三比特位行地址、由三个最高有效位(MSB)组成的三比特位列组地址、以及在所述十三比特位行地址与三比特位列组地址之间由两个比特位组成的两比特位单元阵列地址。在本实施例的情况中,在所选存储体中所包括的单元阵列区之中具有“10”的单元阵列地址的单元阵列区可以被选择,以及在所选单元阵列区中所包括的多个行之中具有“1010101010101”行地址的行可以被选择,以及位于所选行中的八个列处的八个存储单元可以由“000”的列组地址选择和测试。在针对每个封装件的故障信息中所包括的比特位的数目可以由每个存储器封装件中的故障存储单元的最大数目确定。在本实施例中,每个存储器封装件中的故障存储单元的最大数目可以是四个比特位。因而,可以通过使用三个比特位来表述每个存储器封装件中的故障存储单元的数目。在本实施例中,由于存储器封装件的数目是五,所以针对每个封装件的故障信息可以由具有十五个比特位的二进制流来表述。在图12中所图示的针对每个封装件的故障信息中,包括LSB的“100”的三比特位低阶数据可以指示第一存储器封装件PKG0中的故障存储单元的数目,在紧挨着“100”的三比特位低阶数据的“010”的三比特位低阶数据可以指示第二存储器封装件PKG1中的故障存储单元的数目,在紧挨着“010”的三比特位低阶数据的“001”的三比特位低阶数据可以指示第三存储器封装件PKG2中的故障存储单元的数目,在紧挨着“001”的三比特位低阶数据的“001”的三比特位低阶数据可以指示第四存储器封装件PKG3中的故障存储单元的数目,以及包括MSB的“000”的三比特位高阶数据可以指示第五存储器封装件PKG4中的故障存储单元的数目。
如图13中所图示的,URC电路421可以分析故障信息以生成故障分布数据,并且将所述故障分布数据存储到URC电路421中所包括的第一寄存器601中(参见图7的步骤512)。第一寄存器601可以包括多个存储区601-1、601-2、601-3和601-4,其数目等于每个存储器封装件中故障存储单元的最大数目。如果每个存储器封装件中故障存储单元的最大数目是四,如同本实施例,则第一寄存器601可以包括四个存储区(即,第一到第四存储区601-1、601-2、601-3和601-4)。第一到第四存储区601-1、601-2、601-3和601-4中的每一个可以具有多个存储元件,其数目等于在存储模块50中所包括的存储器封装件PKG0~PKG4的数目。因此,第一到第四存储区601-1、601-2、601-3和601-4中的每一个可以具有五个存储元件。每个存储区中的五个存储元件可以相应地对应于第一到第五存储器封装件PKG0~PKG4。例如,第一存储器封装件PKG0的故障分布数据可以被存储到与第一到第四存储区601-1、601-2、601-3和601-4的第一LSB相对应的第一存储元件中,第二存储器封装件PKG1的故障分布数据可以被存储到与第一到第四存储区601-1、601-2、601-3和601-4的第二LSB相对应的第二存储元件中,第三存储器封装件PKG2的故障分布数据可以被存储到与第一到第四存储区601-1、601-2、601-3和601-4的第三LSB相对应的第三存储元件中,第四存储器封装件PKG3的故障分布数据可以被存储到与第一到第四存储区601-1、601-2、601-3和601-4的第二MSB相对应的第四存储元件中,以及第五存储器封装件PKG4的故障分布数据可以被存储到与第一到第四存储区601-1、601-2、601-3和601-4的第一MSB相对应的第五存储元件中。
为“1”的数据可以被存储到在第一存储区601-1中所包括的五个存储元件之中的与具有一个故障存储单元(fcn=1)的存储器封装件相对应的存储元件中,以及为“0”的数据可以被存储到在第一存储区601-1中所包括的五个存储元件之中的其它存储元件中。因而,由于第三存储器封装件PKG2的故障存储单元的数目(fcn)和第四存储器封装件PKG3的故障存储单元的数目(fcn)是一,所以为“1”的数据可以被存储到与第一存储区601-1的第三和第四LSB相对应的存储元件中,并且为“0”的数据可以被存储到第一存储区601-1的剩余存储元件中。为“1”的数据可以被存储到在第二存储区601-2中所包括的五个存储元件之中的与具有两个故障存储单元(fcn=2)的存储器封装件相对应的存储元件中,以及为“0”的数据可以被存储到在第二存储区601-2中所包括的五个存储元件之中的其它存储元件中。因而,由于第二存储器封装件PKG1的故障存储单元的数目(fcn)是二,所以为“1”的数据可以被存储到与第二存储区601-2的第二LSB相对应的存储元件中,并且为“0”的数据可以被存储到第二存储区601-2的剩余存储元件中。由于存储模块50中不存在具有三个故障存储单元(fcn=3)的存储器封装件,所以为“0”的数据可以被存储到第三存储区601-3中所包括的所有存储元件中。另外,由于第一存储器封装件PKG0具有四个故障存储单元(fcn=4),所以为“1”的数据可以被存储到与第四存储区601-4的第一LSB相对应的存储元件中,并且为“0”的数据可以被存储到第四存储区601-4的剩余存储元件中。
如图14中所图示的,在关于存储器封装件PKG0~PKG4中的每一个的冗余区信息被存储到URC电路421的第二寄存器602中之后,判别存储器封装件PKG0~PKG4中的每一个是否具有不可用的冗余区(参见图7的步骤513)。特别地,URC电路421可以通过TM电路430而从存储器封装件PKG0~PKG4接收关于存储器封装件PKG0~PKG4中的每一个的冗余区信息。冗余区信息可以包括关于以下的信息:存储器封装件PKG0~PKG4中的每一个是否具有可用冗余区。例如,可以使用为“1”的数据来表述包括已经在先前的修复过程中被使用的不可用冗余区的存储器封装件不具有可用冗余存储单元。相反,可以使用为“0”的数据来表述包括可用冗余区的存储器封装件具有可用冗余存储单元。
存储冗余区信息的第二寄存器602可以具有26个存储区(即第一到第六十四存储区602-1、……和602-64)。因而,可以由六比特位地址来选择第一到第六十四存储区602-1、……和602-64中的每一个。在实施例中,第二寄存器602的第一存储区602-1可以具有“000000”的地址。第二寄存器602的第六十四存储区602-64可以具有“111111”的地址。第一到第六十四存储区602-1、……和602-64中任一个的六比特位地址中的第一和第二LSB可以与如下两个比特位相同:所述两个比特位指示在构成参考图12所描述的行地址的十八个比特位之中的单元阵列地址。第一到第六十四存储区602-1、……、和602-64中任一个的六比特位地址中的第三和第四LSB可以与构成存储体地址的两个比特位相同。第一到第六十四存储区602-1、……和602-64中任一个的六比特位地址中的第五和第六个(即第一和第二MSB)可以与构成存储体组地址的两个比特位相同。因此,具有地址“000000”的第一存储区602-1可以对应于具有存储体组地址“00”、存储体地址“00”以及单元阵列地址“00”的单元阵列区。类似地,具有地址“111111”的第六十四存储区602-64可以对应于具有存储体组地址“11”、存储体地址“11”以及单元阵列地址“11”的单元阵列区。
第一到第六十四存储区602-1、……和602-64中的每一个可以具有多个存储元件,其数目与在存储模块50中所包括的存储器封装件的数目相同。如果存储模块50包括五个存储器封装件PKG0~PKG4,如同本实施例,则第一到第六十四存储区602-1、……和602-64中的每一个可以具有五个存储元件。所述五个存储元件可以相应地对应于五个存储器封装件PKG0~PKG4。例如,关于第一存储器封装件PKG0的冗余区信息可以被存储到与第一到第六十四存储区602-1、……和602-64的第一LSB相对应的第一存储元件中,关于第二存储器封装件PKG1的冗余区信息可以被存储到与第一到第六十四存储区602-1、……和602-64的第二LSB相对应的第二存储元件中,关于第三存储器封装件PKG2的冗余区信息可以被存储到与第一到第六十四存储区602-1、……和602-64的第三LSB相对应的第三存储元件中,关于第四存储器封装件PKG3的冗余区信息可以被存储到与第一到第六十四存储区602-1、……和602-64的第四LSB(即第二MSB)相对应的第四存储元件中,并且关于第五存储器封装件PKG4的冗余区信息可以被存储到与第一到第六十四存储区602-1、……和602-64的第一MSB相对应的第五存储元件中。如图14中所图示的,如果“0”、“0”、“1”、“1”和“0”的二进制数据相应地被存储在第一存储区602-1的存储元件中,则在第二和第三存储器封装件PKG1和PKG2的单元阵列区之中的通过存储体组地址“00”、存储体地址“00”和单元阵列地址“00”所选择的单元阵列区的冗余区可以意指在修复过程中不再可用的不可用冗余区,并且剩余存储器封装件(即第一、第四和第五存储器封装件PKG0、PKG3和PKG4)的冗余区可以意指具有在修复过程中可获得的冗余存储单元的可用冗余区。另外,如果“0”、“0”、“1”、“0”和“0”的二进制数据相应地被存储在第六十四存储区602-64的存储元件中,则在第三存储器封装件PKG2的单元阵列区之中的通过存储体组地址“11”、存储体地址“11”和单元阵列地址“11”所选择的单元阵列区的冗余区可以意指在修复过程中不再可用的不可用冗余区,并且剩余存储器封装件(即第一、第二、第四和第五存储器封装件PKG0、PKG1、PKG3和PKG4)的冗余区可以意指具有在修复过程中可获得的冗余存储单元的可用冗余区。
如果在步骤513处不存在具有不可用冗余区的存储器封装件,则可以执行图8的步骤517。如果在步骤513处存在具有不可用冗余区的存储器封装件,则在存储器封装件中具有不可用冗余区的单元阵列区中所包括的故障存储单元的数目(fcn)可以被计算,并且该数目(fcn)可以与失效基准(FC)相比较(参见图7的步骤514)。如果在步骤514处该数目(fcn)等于或大于失效基准(FC),则可以执行图7的步骤515。如果在步骤514处该数目(fcn)小于失效基准(FC),则可以执行图7的步骤516。可以使用被存储在URC电路421的第一寄存器601中的故障分布数据以及被存储在URC电路421的第二寄存器602中的冗余区信息来执行步骤514,如图15和16中所图示的。被存储在第一寄存器601中的故障分布数据可以对应于关于存储器封装件PKG0~PKG4的每一个中具有不可用冗余区的单元阵列区中所包括的故障存储单元的数目(fcn)的信息。被存储在第二寄存器602中的冗余区信息可以对应于关于以下的信息:存储器封装件PKG0~PKG4的每一个中的冗余区是否在修复过程中可用。因而,可以首先判别在存储器封装件PKG0~PKG4中所包括的冗余区中的每一个是否在修复过程中可用以执行步骤514。
图15图示了当通过内建修复分析(BIRA)操作来测试具有存储体组地址“01”、存储体地址“10”和单元阵列地址“10”的测试目标单元阵列区的时候的步骤514。在这样的情况中,在由被存储在第二寄存器602的第二十五存储区602-25中的数据“1”所指示的第一和第二存储器封装件PKG0和PKG1中没有可用冗余区。相反,被包括在第三到第五存储器封装件PKG2、PKG3和PKG4中的冗余区可以在修复过程中可用。接下来,具有不可用冗余区的存储器封装件(即第一和第二存储器封装件PKG0和PKG1)中的所有故障存储单元的总数目可以被计算。根据第一寄存器601,第一存储器封装件PKG0具有四个故障存储单元(fcn=4),并且第二存储器封装件PKG1具有两个故障存储单元(fcn=2)。因而,第一和第二存储器封装件PKG0和PKG1中的故障存储单元的总数目可以是六。在这样的情况中,由于在第一和第二存储器封装件PKG0和PKG1中的故障存储单元的总数目大于为四的失效基准(FC),所以可以执行图7的步骤515。
因而,如果第一和第二存储器封装件PKG0和PKG1中的故障存储单元的总数目大于为四的失效基准(FC),则可以执行步骤515以设置内建修复分析(BIRA)故障标志(参见图7的步骤515)。内建修复分析(BIRA)故障标志可以具有逻辑“高”电平或逻辑“低”电平。具有不可用冗余区的存储器封装件中的故障存储单元的总数目大于失效基准(FC)的这一情况可以意指在测试目标单元阵列区中的故障存储单元不能使用冗余区来修复,并且也不能使用ECC电路404所执行的ECC操作来校正。在这样的情况中,可能没有必要继续执行内建修复分析(BIRA)操作。因而,可以设置内建修复分析(BIRA)故障标志来停止内建修复分析(BIRA)操作。在实施例中,如果具有不可用冗余区的存储器封装件中的故障存储单元的总数目大于失效基准(FC),则内建修复分析(BIRA)故障标志可以被设置成具有逻辑“高”电平。也就是说,如果内建修复分析(BIRA)故障标志被设置成具有逻辑“高”电平,则内建修复分析(BIRA)操作可以终止。
图16图示了当通过内建修复分析(BIRA)操作来测试具有存储体组地址“00”、存储体地址“00”和单元阵列地址“00”的测试目标单元阵列区的时候的步骤514。在这样的情况中,在由被存储在第二寄存器602的第一存储区602-1中的数据“1”所指示的第二和第三存储器封装件PKG1和PKG2中没有可用冗余区。相反,被包括在第一、第四和第五存储器封装件PKG0、PKG3和PKG4中的冗余区可以在修复过程中可用。接下来,具有不可用冗余区的存储器封装件(即第二和第三存储器封装件PKG1和PKG2)中的所有故障存储单元的总数目可以被计算。根据第一寄存器601,第二存储器封装件PKG1具有两个故障存储单元(fcn=2),并且第三存储器封装件PKG2具有一个故障存储单元(fcn=1)。因而,第二和第三存储器封装件PKG1和PKG2中的故障存储单元的总数目可以是三。在这样的情况中,由于在第二和第三存储器封装件PKG1和PKG2中的故障存储单元的总数目小于为四的失效基准(FC),所以可以执行图7的步骤516。
如果在步骤514处在具有不可用冗余区的存储器封装件中的故障存储单元的总数目小于失效基准(FC),则经更新的失效基准(uFC)可以被计算(参见步骤516)。经更新的失效基准(uFC)可以通过如下来被计算:从失效基准(FC)中减去在具有不可用冗余区的存储器封装件中的故障存储单元的总数目。如图16中所图示的,由于具有不可用冗余区的第二和第三存储器封装件PKG1和PKG2中的故障存储单元的总数目是三,所以经更新的失效基准(uFC)可以通过如下来被计算:从四中减去三以得到一。这意味着在具有不可用冗余区的第二和第三存储器封装件PKG1和PKG2中的三个故障存储单元需要使用ECC电路404来被校正,因为所述三个故障存储单元不能通过不可用冗余区来被修复。因而,在这样的情况中,在与失效基准“四”对应的四个比特位之中的三个比特位可以被指派给在具有不可用冗余区的存储器封装件中的故障存储单元(即三个故障存储单元)的校正,并且仅仅剩余的一个比特位可以在后续步骤中被用作失效基准(FC)。
如果在步骤513处不存在具有不可用冗余区的存储器封装件,或者由于在步骤514处在具有不可用冗余区的存储器封装件中的故障存储单元的总数目小于失效基准(FC)而在步骤516处计算经更新的失效基准(uFC),则RARFC电路423可以判别故障行地址是否存在于RARF 450中(参见图8的步骤517)。故障行地址可以被定义为当前被测试的(包括故障存储单元的)单元阵列区的行地址。因而,如果故障行地址被存储在RARF450中,则它意味着当前被测试的单元阵列区对应于修复目标单元阵列区。RARFC电路423可以验证故障行地址是否存在于RARF 450中,并且可以将验证结果传输到RA电路422。在实施例中,如果故障行地址存在于RARF 450中,则RARFC电路423可以将为“1”的数据传输到RA电路422,并且如果没有故障行地址存在于RARF 450中,则RARFC电路423可以将为“0”的数据传输到RA电路422。
如图17中所图示的,RA电路422可以将从RARFC电路423输出的验证结果存储到被包括在RA电路422中的第三寄存器603中。第三寄存器603可以具有多个存储元件。在第三寄存器603中所包括的存储元件的数目可以与存储器封装件PKG0~PKG4的数目相同。关于故障行地址是否存在于第一到第五存储器封装件PKG0~PKG4中的五个数据可以相应地被存储在第三寄存器603的第一到第五存储元件中。如图17中所图示的,如果“0”、“0”、“0”、“0”和“1”的数据相应地被存储在第三寄存器603的存储元件中,则它意味着仅第一存储器封装件PKG0的故障行地址存在于RARF 450中,并且第二到第五存储器封装件PKG1~PKG4的故障行地址不存在于RARF 450中。
如果在步骤517处故障行地址存在于RARF 450中,则在存储器封装件中具有不可用冗余区的单元阵列区中所包括的故障存储单元的数目(fcn)的总和(∑fcn)可以被计算,并且被存储在URC电路421的第一寄存器601中的关于故障分布数据的信息可以被改变(参见图8的步骤518)。因而,在被存储在URC电路421的第一寄存器601中的故障分布数据之中与存在于RARF 450中的故障行地址有关的存储器封装件(即第一存储器封装件PKG0)的故障分布数据可以被重置为零。由于为“1”的数据被存储在RA电路422的第三寄存器603的存储元件之中与第一存储器封装件PKG0相对应的存储元件中,所以被存储在第一寄存器601的存储元件之中的第四存储区601-4(其被提供用来存储第一存储器封装件PKG0中的故障存储单元的数目(fcn=4))的LSB中的数据“1”可以被重置为零,如图18中所图示的。另外,被存储在第一寄存器601中的数目(fcn)的总和(∑fcn)可以被更新。在本实施例中,由于被存储在第一寄存器601中的数目(fcn)的总和(∑fcn)是八,并且第一存储器封装件PKG0中故障存储单元的数目(fcn=4)被重置为零,所以故障存储单元的数目(fcn)的经更新的总和(∑fcn)可以是四。因而,故障存储单元的数目(fcn)的经更新的总和(∑fcn)可以通过如下来被计算:从所有存储器封装件PKG0~PKG4中的故障存储单元的数目(fcn)的总和(∑fcn)中减去具有存在于RARF 450中的故障行地址的存储器封装件中的故障存储单元的数目。
在计算了故障存储单元的数目(fcn)的经更新的总和(∑fcn)之后,将故障存储单元的数目(fcn)的经更新的总和(∑fcn)与经更新的失效基准(uFC)相比较(参见步骤519)。可以由RA电路422来执行步骤519。在步骤519处,根据在图7的步骤513处是否存在具有不可用冗余区的存储器封装件,故障存储单元的数目(fcn)的经更新的总和(∑fcn)的比较目标可以不同。例如,如果在图7的步骤513处不存在具有不可用冗余区的存储器封装件,则在图8的步骤519处可以将故障存储单元的数目(fcn)的经更新的总和(∑fcn)与失效基准(FC)进行比较。相反,如果在图7的步骤513处存在具有不可用冗余区的存储器封装件,则在图8的步骤519处可以将故障存储单元的数目(fcn)的经更新的总和(∑fcn)与经更新的失效基准(uFC)进行比较。如果在步骤519处故障存储单元的数目(fcn)的经更新的总和(∑fcn)等于或大于失效基准(FC)或经更新的失效基准(uFC),则可以执行图8的步骤520。在步骤519处故障存储单元的数目(fcn)的经更新的总和(∑fcn)小于失效基准(FC)或经更新的失效基准(uFC)的这一情况意指能够使用ECC电路404所执行的ECC操作而被校正的故障存储单元的数目大于要被修复的故障存储单元的数目。因此,如果在步骤519处故障存储单元的数目(fcn)的经更新的总和(∑fcn)小于失效基准(FC)或经更新的失效基准(uFC),则内建修复分析(BIRA)操作可以终止,因为没有必要执行具有故障存储单元的存储器封装件的修复过程。
如果在步骤517处没有故障行地址存在于RARF 450中,或者在步骤519处故障存储单元的数目(fcn)的经更新的总和(∑fcn)等于或大于失效基准(FC)或经更新的失效基准(uFC),则可以选择修复目标存储器封装件(参见步骤520)。选择修复目标存储器封装件的该步骤520可以在某个规则下被执行:所述规则用于最大化要使用ECC电路404所执行的ECC操作来被校正的存储器封装件的数目以及最小化要被修复的存储器封装件的数目。可以在某个规则下通过使用各种方法之一来选择修复目标存储器封装件。将在下文中参考图19中所图示的流程图来描述用于选择修复目标存储器封装件的各种方法之一。根据用于选择修复目标存储器封装件的以下描述,具有最大数目(fcn)的故障存储单元(或最大经更新的数目(ufcn)的故障存储单元)的存储器封装件可以被选为修复目标存储器封装件,并且于是可以从具有最小数目(fcn)的故障存储单元的存储器封装件按故障存储单元的数目(fcn)(或故障存储单元的经更新的数目(ufcn))的次序来选择具有故障存储单元的其它存储器封装件以作为修复目标存储器封装件。
在用于选择修复目标存储器封装件的步骤520的示例中,如果步骤517的比较结果是“N(否)”,则故障存储单元的数目(fcn)可能不被改变,但是如果步骤517的比较结果是“Y(是)”,则所述数目(fcn)通过步骤518来改变。另外,失效基准(FC)可以由步骤516更新以提供经更新的失效基准(uFC),或者可能不被更新。如果在图7的步骤513处不存在具有不可用冗余区的存储器封装件(对应于步骤513的“N”),则在步骤520处,故障存储单元的数目(fcn)与失效基准(FC)可以具有未经更新的值。相反,如果在步骤514处具有不可用冗余区的单元阵列区中的故障存储单元的数目(fcn)小于失效基准(FC)(对应于步骤514的“N”),并且在图8的步骤517处没有故障行地址存在于RARF 450中(对应于步骤517的“N”),则仅仅可以更新失效基准(FC)。因此,在这样的情况中,经更新的失效基准(uFC)可以被应用于以下步骤,而不是失效基准(FC)。如果在步骤514处具有不可用冗余区的单元阵列区中的故障存储单元的数目(fcn)小于失效基准(FC)(对应于步骤514的“N”),并且在图8的步骤517处故障行地址存在于RARF 450中(对应于步骤517的“Y”),则可以更新故障存储单元的数目(fcn)与失效基准(FC)二者。因而,在这样的情况中,故障存储单元的经更新的数目(ufcn)和经更新的失效基准(uFC)可以被应用于以下步骤,而不是故障存储单元的数目(fcn)和失效基准(FC)。可以结合在其中故障存储单元的数目(fcn)和失效基准(FC)没有被更新的示例来展开以下描述。
可以由RA电路422来执行用于选择修复目标存储器封装件的步骤520。RA电路422可以访问到URC电路421的第一寄存器601。将在下文中参考结合图20、21和22中所图示的三个示例的图19来描述用于选择修复目标存储器封装件的方法。图20图示了与如下示例对应的第一寄存器601A,在所述示例中,第一存储器封装件PKG0具有四个故障存储单元(fcn=4),第二和第三存储器封装件PKG1和PKG2中的每一个具有两个故障存储单元(fcn=2),第四存储器封装件PKG3具有一个故障存储单元(fcn=1),并且第五存储器封装件PKG4具有三个故障存储单元(fcn=3)。图21图示了与如下另一示例对应的第一寄存器601B,在所述另一示例中,第一存储器封装件PKG0具有四个故障存储单元(fcn=4),第二存储器封装件PKG1具有两个故障存储单元(fcn=2),第三和第四存储器封装件PKG2和PKG3中的每一个具有一个故障存储单元(fcn=1),并且第五存储器封装件PKG4没有故障存储单元(fcn=0)。图22图示了与又一示例对应的第一寄存器601C,在所述又一示例中,第一存储器封装件PKG0具有四个故障存储单元(fcn=4),并且第二到第五存储器封装件PKG1~PKG4中的每一个具有一个故障存储单元(fcn=1)。
如图19中所图示的,针对故障存储单元的数目(fcn)中的每一个的逻辑“或”运算可以被执行以获得修复目标存储器封装件的故障分布数据(参见步骤520-1)。步骤520-1可以通过RA电路422访问到URC电路421的第一寄存器601来被实现。可以假定存储器封装件PKG0~PKG4的每一个中的故障存储单元的最大可允许数目是“K”(其中“K”是自然数)。在这样的情况中,修复目标存储器封装件的故障分布数据可以通过如下来被表示:按从“K”到1的故障存储单元的数目(fcn)的次序,将具有对应数目的故障存储单元的存储器封装件的存在/不存在表述为“1”或“0”的逻辑电平。如果存储器封装件PKG0~PKG4的每一个中的故障存储单元的最大可允许数目是四,如本实施例中所描述的,则可以用如下形式来提供修复目标存储器封装件的故障分布数据:{具有四个故障存储单元(fcn=4)的存储器封装件的存在/不存在,具有三个故障存储单元(fcn=3)的存储器封装件的存在/不存在,具有两个故障存储单元(fcn=2)的存储器封装件的存在/不存在,具有一个故障存储单元(fcn=1)的存储器封装件的存在/不存在}。
具有四个故障存储单元(fcn=4)的存储器封装件的存在/不存在可以通过如下来被确定:执行逻辑“或”运算以用于将第一寄存器601的第四存储区601-4的存储元件中所存储的所有值相加。具有三个故障存储单元(fcn=3)的存储器封装件的存在/不存在可以通过如下来被确定:执行逻辑“或”运算以用于将第一寄存器601的第三存储区601-3的存储元件中所存储的所有值相加。具有两个故障存储单元(fcn=2)的存储器封装件的存在/不存在可以通过如下来被确定:执行逻辑“或”运算以用于将第一寄存器601的第二存储区601-2的存储元件中所存储的所有值相加。具有一个故障存储单元(fcn=1)的存储器封装件的存在/不存在可以通过如下来被确定:执行逻辑“或”运算以用于将第一寄存器601的第一存储区601-1的存储元件中所存储的所有值相加。因此,在图20中所图示的示例的情况中,修复目标存储器封装件的故障分布数据可以被表示为{1,1,1,1}。这意味着具有四个故障存储单元(fcn=4)、三个故障存储单元(fcn=3)、两个故障存储单元(fcn=2)以及一个故障存储单元(fcn=1)的所有存储器封装件都存在于存储模块50中。在图21中所图示的示例的情况中,修复目标存储器封装件的故障分布数据可以被表示为{1,0,1,1}。这意味着具有四个故障存储单元(fcn=4)、两个故障存储单元(fcn=2)以及一个故障存储单元(fcn=1)的所有存储器封装件都存在于存储模块50中,并且没有具有三个故障存储单元(fcn=3)的存储器封装件存在于存储模块50中。在图22中所图示的示例的情况中,修复目标存储器封装件的故障分布数据可以被表示为{1,0,0,1}。这意味着具有四个故障存储单元(fcn=4)以及一个故障存储单元(fcn=1)的存储器封装件存在于存储模块50中,并且没有具有两个故障存储单元(fcn=2)和三个故障存储单元(fcn=3)的存储器封装件存在于存储模块50中。
接下来,故障存储单元的最大数目(fcn_max)可以与失效基准(FC)相比较以判别故障存储单元的最大数目(fcn_max)是否小于失效基准(FC)(参见步骤520-2)。这是因为具有最大数目(fcn_max)的故障存储单元的存储器封装件被选为修复目标存储器封装件的可能性最高。如果在步骤520-2处故障存储单元的最大数目(fcn_max)等于或大于失效基准(FC)(对应于步骤520-2的“Y”),则具有最大数目(fcn_max)的故障存储单元的所有存储器封装件可以被选为修复目标存储器封装件,因为具有最大数目(fcn_max)的故障存储单元的存储器封装件不能通过ECC电路404所执行的ECC操作来被校正(参见步骤520-3)。在图20、21和22中所图示的示例中,故障存储单元的最大数目(fcn_max)是四,并且值四等于失效基准(FC)。因而,具有四个故障存储单元(fcn=4)的第一存储器封装件PKG0可以被选为修复目标存储器封装件。
如果在步骤520-2处故障存储单元的最大数目(fcn_max)小于失效基准(FC)(对应于步骤520-2的“N”),或在执行了步骤520-3之后,参数“X”可以被设置成一(参见步骤520-4)。参数“X”表示故障存储单元的数目。因而,如果参数“X”是一,则它意味着故障存储单元的数目是一。也就是说,在考虑到故障存储单元的最大数目(fcn_max)而选择了修复目标存储器封装件之后,另外可以在考虑故障存储单元的最小数据(fcn_min)(即fcn=1)的情况下选择另一修复目标存储器封装件。接下来,可以判别是否存在具有与参数“fcn_x”对应的故障存储单元的数目的存储器封装件(参见步骤520-5)。由于在步骤520-4处将参数“x”设置成一,所以可以在步骤520-5处判别是否存在具有一个故障存储单元(即“fcn_1”)的存储器封装件。如果不存在具有一个故障存储单元(即“fcn_1”)的存储器封装件(对应于步骤520-5的“N”),则可以执行步骤520-9。如果存在具有一个故障存储单元(即“fcn_1”)的存储器封装件(对应于步骤520-5的“Y”),则将故障存储单元的数目(fcn_1)的总和(∑fcn_1)与失效基准(FC)相比较,以判别故障存储单元的数目(fcn_1)的总和(∑fcn_1)是否小于失效基准(FC)(参见步骤520-6)。
如果在步骤520-6处故障存储单元的数目(fcn_1)的总和(∑fcn_1)小于失效基准(FC)(对应于步骤520-6的“N”),则可以从修复目标存储器封装件中排除具有一个故障存储单元(fcn_1)的存储器封装件(参见步骤520-7)。因而,具有一个故障存储单元(fcn_1)的存储器封装件可能不使用冗余区来被修复,而是使用ECC电路404所执行的ECC操作来被校正。在图20的示例中,由于故障存储单元的数目(fcn_1)的总和(∑fcn_1)是一,所以故障存储单元的数目(fcn_1)的总和(∑fcn_1)可以小于为四的失效基准(FC)。因而,具有一个故障存储单元(fcn_1)的第四存储器封装件PKG3可以从修复目标存储器封装件中被排除。类似地,在图21的示例中,由于故障存储单元的数目(fcn_1)的总和(∑fcn_1)是二,所以故障存储单元的数目(fcn_1)的总和(∑fcn_1)可以小于为四的失效基准(FC)。因而,具有一个故障存储单元(fcn=1)的第三存储器封装件PKG2和第四存储器封装件PKG3可以从修复目标存储器封装件中被排除。
如果在步骤520-6处故障存储单元的数目(fcn_1)的总和(∑fcn_1)等于或大于失效基准(FC)(对应于步骤520-6的“Y”),则可以从修复目标存储器封装件中排除在具有一个故障存储单元(fcn_1)的存储器封装件之中的与小于失效基准(FC)的值相同的数目的存储器封装件,并且具有一个故障存储单元(fcn_1)的剩余存储器封装件可以被选为修复目标存储器封装件(参见步骤520-8)。因而,从修复目标存储器封装件中被排除的具有一个故障存储单元(fcn_1)的存储器封装件可以在不使用冗余区的情况下通过使用ECC电路404所执行的ECC操作来被校正。在图22的示例中,由于故障存储单元的数目(fcn_1)的总和(∑fcn_1)是四,所以故障存储单元的数目(fcn_1)的总和(∑fcn_1)可以等于为四的失效基准(FC)。因而,在这样的情况中,可以从修复目标存储器封装件中排除第二到第五存储器封装件PKG1~PKG4中的三个,并且第二到第五存储器封装件PKG1~PKG4中剩余的一个存储器封装件可以被选为修复目标存储器封装件。在具有相同数目的故障存储单元的存储器封装件中的至少一个被选为修复目标存储器封装件的情况中,所述至少一个存储器封装件可以在某个规则下被选为修复目标存储器封装件。例如,根据某个规则,可以首先从修复目标存储器封装件中排除与具有最低权重的存储元件相对应的存储器封装件。在图22的示例中,可以从修复目标存储器封装件中排除在具有一个故障存储单元(fcn_1)的存储器封装件之中的第二到第四存储器封装件PKG1、PKG2和PKG3,并且第五存储器封装件PKG4可以被选为修复目标存储器封装件。
在执行了步骤520-7或步骤520-8之后,失效基准(FC)可以被设置为具有在从当前失效基准(FC)中减去从修复目标存储器封装件中所排除的存储器封装件的故障存储单元的数目(fcn_1)的总和(∑fcn_1)之后剩余的值(参见步骤520-9)。在图20的示例中,在步骤520-7之后,从修复目标存储器封装件中排除的存储器封装件的故障存储单元的数目(fcn_1)的总和(∑fcn_1)可以是一。因而,失效基准(FC)可以被设置为三,其通过从为四的当前失效基准(FC)中减去一而获得。类似地,在图21的示例中,在步骤520-7之后,从修复目标存储器封装件中排除的存储器封装件的故障存储单元的数目(fcn_1)的总和(∑fcn_1)可以是二。因而,失效基准(FC)可以被设置为二,其通过从为四的当前失效基准(FC)中减去二而获得。在图22的示例中,在步骤520-8之后,从修复目标存储器封装件中排除的存储器封装件的故障存储单元的数目(fcn_1)的总和(∑fcn_1)可以是三。因而,失效基准(FC)可以被设置为一,其通过从为四的当前失效基准(FC)中减去三而获得。在执行了步骤520-9之后,参数“X”可以被设置为“(X+1)”(参见步骤520-10)。因而,于是可以验证具有两个故障存储单元(fcn_2)的存储器封装件以选择修复目标存储器封装件。接下来,判别参数“X”是否具有最大值(参见步骤520-11)。参数“X”的最大值意指每个存储器封装件中的故障存储单元的最大可允许数目(fcn_max)。如果在步骤520-11处参数“X”具有小于最大值的二,则可以再次迭代地执行步骤520-5到520-10。如果在步骤520-11处参数“X”具有最大值(即最大可允许数(fcn_max)),则用于选择修复目标存储器封装件的操作可以终止,因为首先执行针对最大可允许数目(fcn_max)的情况的用于选择修复目标存储器封装件的操作。
在图20的示例中,如果参数“X”具有二,则存储器封装件的故障存储单元的数目(fcn_2)的总和(∑fcn_2)可以是四,其大于新设置的为二的失效基准(FC)(参见步骤520-5和520-6)。因而,可以执行步骤520-8。由于在步骤520-8处不存在其故障存储单元的数目小于为二的失效基准(FC)的存储器封装件,所以第二存储器封装件PKG1可以被选为修复目标存储器封装件。在图21的示例中,如果参数“X”具有二,则存储器封装件的故障存储单元的数目(fcn_2)的总和(∑fcn_2)可以是二,其等于新设置的为二的失效基准(FC)(参见步骤520-5和520-6)。因而,可以执行步骤520-8。在步骤520-8处,与具有等于为2的失效基准(FC)的两个故障存储单元(fcn_2)的存储元件相对应的第二存储器封装件PKG1可以被选为修复目标存储器封装件。在这样的情况中,从修复目标存储器封装件中排除的存储器封装件的故障存储单元的数目的总和(∑fcn_2)可以是零。因此,在步骤520-9处,失效基准(FC)仍可以维持为二的值。
在执行了上述图8的步骤520之后,可以判别修复目标存储器封装件中的冗余区是否是可用冗余区(参见图9的步骤521)。可以由RARFC电路423来执行步骤521。步骤521的结果可以取决于RARF 450是否具有能够存储修复目标存储器封装件中冗余区的地址的存储空间。例如,RARFC电路423可以从RA电路422接收关于被选为修复目标存储器封装件的存储器封装件的信息。另外,可以验证RARF 450是否具有能够存储修复目标存储器封装件中冗余区的地址的存储空间。如果在步骤521处在RARF 450中没有能够存储修复目标存储器封装件中的任一个中的冗余区的地址的存储空间(对应于步骤521的“N”),则BIST重试标志信号可以被设置以再次执行内建自测(BIST)操作(参见图9的步骤523)。可替换地,如果在后续步骤中通过预确定的计划(schedule)而执行了内建自测(BIST)操作,则可以省略图9的步骤523。如果在步骤521处能够存储修复目标存储器封装件中的冗余区的地址的存储空间在RARF 450中(对应于步骤521的“Y”),则RARFC电路423可以将修复目标存储器封装件中的冗余区的地址存储到RARF 450中(参见步骤522)。
如在本文中关于参数所使用的词语“预确定的”(诸如预确定的计划)意指在过程或算法中使用参数之前确定针对参数的值。对于一些实施例,在过程或算法开始之前确定针对参数的值。在其它实施例中,在过程或算法期间、但是在过程或算法中使用参数之前确定针对参数的值。
在图20的示例中,如果上述测试操作终止,则可以通过使用被设置在第一、第五和第三存储器封装件PKG0、PKG4和PKG2中的冗余区来执行针对以下各项的修复过程:具有四个故障存储单元(fcn4)的第一存储器封装件PKG0、具有三个故障存储单元(fcn3)的第五存储器封装件PKG4、以及具有两个故障存储单元(fcn2)的第三存储器封装件PKG2。可以从修复目标存储器封装件中排除具有两个故障存储单元(fcn2)的第二存储器封装件PKG1和具有一个故障存储单元(fcn1)的第四存储器封装件PKG3。也就是说,具有两个故障存储单元(fcn2)的第二存储器封装件PKG1和具有一个故障存储单元(fcn1)的第四存储器封装件PKG3的错误数据可以通过使用ECC操作来被校正。在图21的示例中,如果上述测试操作终止,则可以通过使用被设置在第一和第二存储器封装件PKG0和PKG1中的冗余区来执行针对以下各项的修复过程:具有四个故障存储单元(fcn4)的第一存储器封装件PKG0、以及具有两个故障存储单元(fcn2)的第二存储器封装件PKG1。可以从修复目标存储器封装件中排除具有一个故障存储单元(fcn1)的第三和第四存储器封装件PKG2和PKG3。也就是说,具有一个故障存储单元(fcn1)的第三和第四存储器封装件PKG2和PKG3的错误数据可以通过使用ECC操作来被校正。在图22的示例中,如果上述测试操作终止,则可以通过使用被设置在第一存储器封装件PKG0中的冗余区来执行针对以下的修复过程:具有四个故障存储单元(fcn4)的第一存储器封装件PKG0。另外,还可以通过使用被设置在第五存储器封装件PKG4中的冗余区来修复具有一个故障存储单元(fcn1)的第五存储器封装件PKG4。可以从修复目标存储器封装件中排除具有一个故障存储单元(fcn1)的第二、第三和第四存储器封装件PKG1、PKG2和PKG3。也就是说,具有一个故障存储单元(fcn1)的第二、第三和第四存储器封装件PKG1、PKG2和PKG3的错误数据可以通过使用ECC操作来被校正。
已经在以上为了说明性目的而公开了本公开内容的实施例。本领域普通技术人员将领会到在不偏离如在所附权利要求中所公开的本公开内容的范围和精神的情况下,各种修改、添加和置换是可能的。

Claims (28)

1.一种测试电路,包括:
内建自测BIST电路,其被配置成对多个存储器封装件执行测试操作,以生成故障信息;以及
内建修复分析BIRA电路,其被配置成从BIST电路接收故障信息,以将所述多个存储器封装件中的至少一个选择作为修复目标存储器封装件,
其中,所述修复目标存储器封装件是通过考虑错误校正码ECC电路的错误校正能力以及被包括在所述多个存储器封装件中的每一个中的冗余区的可用性来选择的,以及
其中,如果在具有故障存储单元的存储器封装件之中没有可用冗余区的存储器封装件中的故障存储单元的数目的总和等于或大于失效基准值,则所述内建修复分析BIRA电路终止所述测试操作。
2.根据权利要求1所述的测试电路,其中,所述失效基准值被设置为等于或小于所述错误校正能力的自然数。
3.根据权利要求2所述的测试电路,其中,如果在具有所述故障存储单元的存储器封装件中不存在没有可用冗余区的存储器封装件并且在具有所述故障存储单元的存储器封装件中不存在要被修复的存储器封装件,则所述内建修复分析BIRA电路执行选择所述修复目标存储器封装件的操作。
4.根据权利要求3所述的测试电路,其中,所述内建修复分析BIRA电路将具有比所述失效基准值更大的数目的所述故障存储单元的所有存储器封装件选择作为所述修复目标存储器封装件。
5.根据权利要求4所述的测试电路,
其中,所述内建修复分析BIRA电路从所述修复目标存储器封装件中排除一些存储器封装件;
其中,被排除的存储器封装件是从具有所述故障存储单元的存储器封装件中的具有的所述故障存储单元的数目等于或小于所述失效基准值的存储器封装件之中的具有最少故障存储单元的所述存储器封装件中,按所述故障存储单元的数目的次序选择的;以及
其中,从所述修复目标存储器封装件中排除的所述存储器封装件中的所述故障存储单元的数目的总和等于或小于所述失效基准值。
6.根据权利要求2所述的测试电路,
其中,如果在具有所述故障存储单元的存储器封装件中不存在没有可用冗余区的存储器封装件并且在具有所述故障存储单元的存储器封装件中存在要被修复的存储器封装件,则所述内建修复分析BIRA电路通过如下操作来计算所述故障存储单元的数目的经更新的总和:从具有所述故障存储单元的存储器封装件中的所述故障存储单元的数目的总和中减去所述要被修复的存储器封装件中的所述故障存储单元的数目的总和;
其中,如果所述故障存储单元的数目的经更新的总和小于所述失效基准值,则所述内建修复分析BIRA电路终止所述测试操作;以及
其中,如果所述故障存储单元的数目的经更新的总和等于或大于所述失效基准值,则所述内建修复分析BIRA电路执行选择所述修复目标存储器封装件的操作。
7.根据权利要求6所述的测试电路,其中,所述内建修复分析BIRA电路在从具有所述故障存储单元的存储器封装件中排除了要被修复的存储器封装件之后剩余的存储器封装件之中选择具有比所述失效基准值更大的数目的所述故障存储单元的所有存储器封装件来作为所述修复目标存储器封装件。
8.根据权利要求7所述的测试电路,
其中,所述内建修复分析BIRA电路从所述修复目标存储器封装件中排除一些存储器封装件;
其中,所排除的存储器封装件是从在从具有所述故障存储单元的存储器封装件中排除了要被修复的存储器封装件之后剩余的存储器封装件之中的具有最少故障存储单元的存储器封装件中,按所述故障存储单元的数目的次序选择的;以及
其中,从所述修复目标存储器封装件中排除的所述存储器封装件中的所述故障存储单元的数目的总和等于或小于所述失效基准值。
9.根据权利要求2所述的测试电路,其中,如果在具有所述故障存储单元的存储器封装件之中没有可用冗余区的所述存储器封装件中的所述故障存储单元的数目的总和小于所述失效基准值,则所述内建修复分析BIRA电路计算经更新的失效基准值,该经更新的失效基准值是通过从所述失效基准值中减去没有可用冗余区的所述存储器封装件中的所述故障存储单元的数目的总和而获得的。
10.根据权利要求9所述的测试电路,其中,如果在具有所述故障存储单元的存储器封装件中不存在所述要被修复的存储器封装件,则所述内建修复分析BIRA电路执行选择所述修复目标存储器封装件的操作。
11.根据权利要求10所述的测试电路,其中,所述内建修复分析BIRA电路将具有比经更新的失效基准值更大的数目的所述故障存储单元的所有存储器封装件选择作为所述修复目标存储器封装件。
12.根据权利要求11所述的测试电路,
其中,所述内建修复分析BIRA电路从所述修复目标存储器封装件中排除一些存储器封装件;
其中,所排除的存储器封装件是从具有所述故障存储单元的存储器封装件中的具有的所述故障存储单元的数目等于或小于所述经更新的失效基准值的存储器封装件之中的具有最少故障存储单元的所述存储器封装件中,按所述故障存储单元的数目的次序选择的;以及
其中,从所述修复目标存储器封装件中排除的所述存储器封装件中的所述故障存储单元的数目的总和等于或小于所述经更新的失效基准值。
13.根据权利要求9所述的测试电路,
其中,如果在具有所述故障存储单元的存储器封装件中存在要被修复的存储器封装件,则所述内建修复分析BIRA电路通过如下操作来计算所述故障存储单元的数目的经更新的总和:从具有所述故障存储单元的存储器封装件中的所述故障存储单元的数目的总和中减去所述要被修复的存储器封装件中的所述故障存储单元的数目的总和;
其中,如果所述故障存储单元的数目的经更新的总和小于所述经更新的失效基准值,则所述内建修复分析BIRA电路终止所述测试操作;以及
其中,如果所述故障存储单元的数目的经更新的总和等于或大于所述经更新的失效基准值,则所述内建修复分析BIRA电路执行选择所述修复目标存储器封装件的操作。
14.根据权利要求13所述的测试电路,其中,所述内建修复分析BIRA电路从在具有所述故障存储单元的存储器封装件中排除了要被修复的存储器封装件之后剩余的存储器封装件之中选择具有比所述经更新的失效基准值更大的数目的所述故障存储单元的所有存储器封装件来作为所述修复目标存储器封装件。
15.根据权利要求14所述的测试电路,
其中,所述内建修复分析BIRA电路从所述修复目标存储器封装件中排除一些存储器封装件;
其中,所排除的存储器封装件是从在从具有所述故障存储单元的存储器封装件中排除了要被修复的存储器封装件之后剩余的存储器封装件中的具有的所述故障存储单元的数目等于或小于所述经更新的失效基准值的存储器封装件之中的具有最少故障存储单元的存储器封装件中,按所述故障存储单元的数目的次序选择的;以及
其中,从所述修复目标存储器封装件中排除的存储器封装件中的所述故障存储单元的数目的总和等于或小于所述经更新的失效基准值。
16.一种存储模块,包括:
多个存储器封装件;以及
模块控制器,其被配置成控制所述多个存储器封装件的操作,
其中,所述模块控制器包括错误校正码ECC电路和测试电路,以及
其中,所述测试电路包括:
内建自测BIST电路,其被配置成对所述多个存储器封装件执行测试操作,以生成故障信息;以及
内建修复分析BIRA电路,其被配置成从所述BIST电路接收所述故障信息,以将所述多个存储器封装件中的至少一个选择作为修复目标存储器封装件,
其中,所述修复目标存储器封装件是通过考虑所述错误校正码ECC电路的错误校正能力以及被包括在所述多个存储器封装件中每一个中的冗余区的可用性来选择的,以及
其中,如果在具有故障存储单元的存储器封装件之中没有可用冗余区的存储器封装件中的故障存储单元的数目的总和等于或大于失效基准值,则所述内建修复分析BIRA电路终止所述测试操作。
17.根据权利要求16所述的存储模块,其中,所述内建修复分析BIRA电路包括:
未修复控制URC电路,其被配置成分析所述故障信息以根据在具有故障存储单元的存储器封装件中是否存在没有可用冗余区的存储器封装件来确定内建修复分析BIRA操作的执行或不执行;
修复地址寄存器堆RARF,其被配置成存储所述存储器封装件中的每一个的故障行地址;
修复分析RA电路,其被配置成根据具有所述故障存储单元的存储器封装件之中的要被修复的存储器封装件的冗余区的地址是否被存储在所述修复地址寄存器堆RARF中而终止所述内建修复分析BIRA操作或选择所述修复目标存储器封装件;以及
修复地址寄存器堆控制RARFC电路,其被配置成将被存储在所述修复地址寄存器堆RARF中的地址传输到所述修复分析RA电路。
18.根据权利要求17所述的存储模块,其中所述未修复控制URC电路包括:
第一寄存器,其被配置成存储关于具有所述故障存储单元的存储器封装件中的每一个中的所述故障存储单元的数目的信息;以及
第二寄存器,其被配置成存储关于具有所述故障存储单元的存储器封装件中的每一个中的所述冗余区的可用性的信息。
19.根据权利要求18所述的存储模块,还包括测试模式TM电路,其被配置成将关于所述冗余区的可用性的信息传输到所述未修复控制URC电路。
20.根据权利要求18所述的存储模块,其中,所述未修复控制URC电路比较被存储在所述第一寄存器中的信息与被存储在所述第二寄存器中的信息,以通过如下操作来计算经更新的失效基准值:如果在具有所述故障存储单元的存储器封装件中不存在没有可用冗余区的存储器封装件或没有可用冗余区的存储器封装件中的所述故障存储单元的数目的总和小于失效基准值,则从所述失效基准值中减去没有可用冗余区的存储器封装件中的所述故障存储单元的数目的总和。
21.根据权利要求20所述的存储模块,其中,所述失效基准值被设置为等于或小于所述错误校正能力的自然数。
22.根据权利要求21所述的存储模块,其中,所述未修复控制URC电路比较被存储在所述第一寄存器中的信息与被存储在所述第二寄存器中的信息,如果没有可用冗余区的存储器封装件中的故障存储单元的数目的总和等于或大于所述失效基准值,则终止所述测试操作。
23.根据权利要求21所述的存储模块,其中,所述修复地址寄存器堆控制RARFC电路将被存储在所述修复地址寄存器堆RARF中的关于具有所述故障存储单元的存储器封装件的故障行地址的信息传输到所述修复分析RA电路。
24.根据权利要求23所述的存储模块,其中,所述修复分析RA电路包括第三寄存器,所述第三寄存器存储关于从所述修复地址寄存器堆控制RARFC电路所输出的所述故障行地址的信息。
25.根据权利要求24所述的存储模块,
其中,所述修复分析RA电路比较被存储在所述第一寄存器中的信息与被存储在所述第三寄存器中的信息中的信息以通过如下操作来计算所述故障存储单元的数目的经更新的总和:从具有所述故障存储单元的存储器封装件中的所述故障存储单元的数目的总和中减去要被修复的存储器封装件中的所述故障存储单元的数目的总和;
其中,如果所述故障存储单元的数目的经更新的总和小于所述失效基准值或所述经更新的失效基准值,则所述修复分析RA电路终止所述测试操作;以及
其中,如果所述故障存储单元的数目的经更新的总和等于或大于所述失效基准值或所述经更新的失效基准值,则所述修复分析RA电路执行选择所述修复目标存储器封装件的操作。
26.根据权利要求25所述的存储模块,其中,所述修复分析RA电路在从具有所述故障存储单元的存储器封装件中排除了要被修复的存储器封装件之后剩余的存储器封装件之中选择具有比所述失效基准值或所述经更新的失效基准值更大的数目的所述故障存储单元的所有存储器封装件来作为所述修复目标存储器封装件。
27.根据权利要求26所述的存储模块,
其中,所述修复分析RA电路从所述修复目标存储器封装件中排除一些存储器封装件;
其中,从在从具有所述故障存储单元的存储器封装件中排除了要被修复的存储器封装件之后剩余的存储器封装件中的具有的所述故障存储单元的数目等于或小于所述经更新的失效基准值的存储器封装件之中的具有最少故障存储单元的存储器封装件中,按所述故障存储单元的数目的次序选择所述被排除的存储器封装件;以及
其中,从所述修复目标存储器封装件中排除的所述存储器封装件中的所述故障存储单元的数目的总和等于或小于所述经更新的失效基准值。
28.根据权利要求27所述的存储模块,其中,所述修复地址寄存器堆控制RARFC电路被配置成如果在所述修复地址寄存器堆RARF中存在能够存储所述修复目标存储器封装件的冗余区的地址的存储空间则将所述修复目标存储器封装件中的所述冗余区的地址存储到所述修复地址寄存器堆RARF中,并且被配置成如果在所述修复地址寄存器堆RARF中没有能够存储所述修复目标存储器封装件的冗余区的地址的存储空间,则终止所述测试操作。
CN201811474347.4A 2018-04-18 2018-12-04 用于存储器件的模块控制器和包括模块控制器的存储模块 Active CN110390993B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0045080 2018-04-18
KR1020180045080A KR102573833B1 (ko) 2018-04-18 2018-04-18 메모리에 대한 테스트 회로 및 이를 포함하는 메모리 모듈

Publications (2)

Publication Number Publication Date
CN110390993A CN110390993A (zh) 2019-10-29
CN110390993B true CN110390993B (zh) 2023-02-17

Family

ID=68238220

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811474347.4A Active CN110390993B (zh) 2018-04-18 2018-12-04 用于存储器件的模块控制器和包括模块控制器的存储模块

Country Status (4)

Country Link
US (1) US10861577B2 (zh)
KR (1) KR102573833B1 (zh)
CN (1) CN110390993B (zh)
TW (1) TWI787404B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
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
KR20210147523A (ko) 2020-05-29 2021-12-07 에스케이하이닉스 주식회사 리던던시 분석 회로 및 이를 포함하는 메모리 시스템
US11783884B2 (en) 2020-12-10 2023-10-10 SK Hynix Inc. Semiconductor memory device and memory system including the same
US11749371B2 (en) 2020-12-14 2023-09-05 SK Hynix Inc. Memory system including memory device performing target refresh
EP4084005B1 (en) * 2021-03-19 2023-06-07 Changxin Memory Technologies, Inc. Memory device repair method and system
TWI794967B (zh) 2021-09-10 2023-03-01 臺灣發展軟體科技股份有限公司 資料處理電路及故障修補方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5655113A (en) * 1994-07-05 1997-08-05 Monolithic System Technology, Inc. Resynchronization circuit for a memory system and method of operating same
CN101329918A (zh) * 2008-07-30 2008-12-24 中国科学院计算技术研究所 存储器内建自修复系统及自修复方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6304989B1 (en) 1999-07-21 2001-10-16 Credence Systems Corporation Built-in spare row and column replacement analysis system for embedded memories
KR100374636B1 (ko) * 2000-10-18 2003-03-04 삼성전자주식회사 결함 테스트 및 분석 회로를 구비하는 반도체 장치 및 결함 분석 방법
KR20020068768A (ko) * 2001-02-22 2002-08-28 삼성전자 주식회사 내장 메모리를 위한 빌트 인 셀프 리페어 회로를 구비하는반도체 장치
TWI252397B (en) * 2004-09-17 2006-04-01 Ind Tech Res Inst Method and apparatus of built-in self-diagnosis and repair in a memory with syndrome identification
US7536614B1 (en) * 2006-06-28 2009-05-19 Integrated Device Technology, Inc Built-in-redundancy analysis using RAM
US7757135B2 (en) * 2006-09-11 2010-07-13 Mentor Graphics Corporation Method and apparatus for storing and distributing memory repair information
JP2009163790A (ja) 2007-12-28 2009-07-23 Toshiba Corp オンチップ不良情報解析装置及びオンチップ不良情報解析方法
KR20080045097A (ko) * 2008-04-14 2008-05-22 삼성전자주식회사 멀티 칩 및 그것의 리페어 방법
JP2010225239A (ja) * 2009-03-24 2010-10-07 Toshiba Corp 半導体集積回路およびメモリの機能検証方法
JP4865018B2 (ja) * 2009-09-08 2012-02-01 株式会社東芝 半導体集積回路
CN102420016A (zh) * 2011-11-03 2012-04-18 西安交通大学 一种应用于集成错误校验码的嵌入式存储器的内建修复分析方法
KR101862379B1 (ko) 2013-04-19 2018-07-05 삼성전자주식회사 Ecc 동작과 리던던시 리페어 동작을 공유하는 메모리 장치
US9430324B2 (en) * 2013-05-24 2016-08-30 Rambus Inc. Memory repair method and apparatus based on error code tracking
KR102083266B1 (ko) * 2013-11-29 2020-03-03 삼성전자주식회사 반도체 메모리 장치의 테스트 방법 및 반도체 메모리 시스템
KR102238706B1 (ko) * 2014-11-28 2021-04-09 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5655113A (en) * 1994-07-05 1997-08-05 Monolithic System Technology, Inc. Resynchronization circuit for a memory system and method of operating same
CN101329918A (zh) * 2008-07-30 2008-12-24 中国科学院计算技术研究所 存储器内建自修复系统及自修复方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Cost-efficient built-in repair analysis for embedded memories with on-chip ECC;Hongbin Sun等;《IEEE》;20110731;第95-100页 *

Also Published As

Publication number Publication date
TW201944425A (zh) 2019-11-16
US20190325982A1 (en) 2019-10-24
CN110390993A (zh) 2019-10-29
KR102573833B1 (ko) 2023-09-04
US10861577B2 (en) 2020-12-08
TWI787404B (zh) 2022-12-21
KR20190121585A (ko) 2019-10-28

Similar Documents

Publication Publication Date Title
CN110390993B (zh) 用于存储器件的模块控制器和包括模块控制器的存储模块
US10936455B2 (en) Recovery of data failing due to impairment whose severity depends on bit-significance value
US10020072B2 (en) Detect developed bad blocks in non-volatile memory devices
US9996417B2 (en) Data recovery in memory having multiple failure modes
US9389954B2 (en) Memory redundancy to replace addresses with multiple errors
US7545689B2 (en) Method and apparatus for improving yield in semiconductor devices by guaranteeing health of redundancy information
US9201718B2 (en) Data recovery in a solid state storage system
US9465552B2 (en) Selection of redundant storage configuration based on available memory space
US10409677B2 (en) Enhanced memory reliability in stacked memory devices
US8976609B1 (en) Low-test memory stack for non-volatile storage
US20130318418A1 (en) Adaptive error correction for phase change memory
US11036597B2 (en) Semiconductor memory system and method of repairing the semiconductor memory system
US11348643B2 (en) Identifying failure type in NVM programmed in SLC mode using a single programming pulse with no verification
US11200962B2 (en) Memory devices having spare column remap storages and methods of remapping column addresses in the memory devices
US10229751B2 (en) Storage system and method for bad block recycling
JP2010282369A (ja) メモリシステム
CN103177771A (zh) 可修复的多层存储器芯片堆迭及其方法
JP4121825B2 (ja) フォールトトレラントな隣接排反アドレスロジック
US20200382137A1 (en) Memory systems and methods of correctng errors in the memory systems
US20040141389A1 (en) Solid state storage device and data storage method
CN114187954A (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