CN109872763A - 用于提高存储器可靠性的存储系统及其存储器管理方法 - Google Patents
用于提高存储器可靠性的存储系统及其存储器管理方法 Download PDFInfo
- Publication number
- CN109872763A CN109872763A CN201811108029.6A CN201811108029A CN109872763A CN 109872763 A CN109872763 A CN 109872763A CN 201811108029 A CN201811108029 A CN 201811108029A CN 109872763 A CN109872763 A CN 109872763A
- Authority
- CN
- China
- Prior art keywords
- memory
- test
- data
- signal
- storage system
- 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.)
- Granted
Links
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
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/27—Built-in tests
-
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Tests Of Electronic Circuits (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种用于提高存储器可靠性的存储系统及其存储器管理方法,其中存储系统包括第一存储器和第二存储器,每个存储器都被配置为储存数据。存储系统还包括可操作地连接到第一存储器和第二存储器的测试和修复电路。测试和修复电路被配置为接收测试启动信号,并且响应于接收到测试启动信号来对第一存储器和第二存储器中的至少一个执行测试操作。测试和修复电路还被配置为基于测试操作的结果来对第一存储器和第二存储器中的至少一个执行修复操作。
Description
相关申请的交叉引用
本申请要求于2017年12月4日提交的申请号为10-2017-0165333的韩国专利优先权,该申请通过引用整体并入本文。
技术领域
本公开的实施例涉及一种存储系统,并且更具体地,涉及一种用于在同时调节数据带宽时提高存储元件的可靠性的存储系统以及用于该存储系统的存储器管理方法。
背景技术
存储器件对于被配置为执行特定功能的系统是必需的。因此,从系统管理员的角度来看,存储器件的可靠性对于促进系统的使用是重要的。
在用于提高存储器件的可靠性的各种方法中,在系统操作/管理期间必须检测到存储器件中存在或不存在有缺陷的部分或失效的部分,并且还必须快速恢复检测到的有缺陷的部分或失效的部分。
具体地,当使用通过将存储器件和至少一个逻辑电路(例如,存储器控制器)封装到单个芯片中而不是仅将存储器件独立地封装到一个芯片中来实现的系统级封装(SIP)结构时,如果在SIP的存储器件中发生有缺陷的部分或失效的部分,则整个SIP芯片必须用另一个芯片来替换,使得这种存储器件的可靠性改进对系统使用具有更高的重要性。
发明内容
根据本公开的一个实施例是一种存储系统,所述存储系统包括第一存储器和第二存储器,所述第一存储器和所述第二存储器中的每个存储器被配置为储存数据。所述存储系统还包括可操作地连接到所述第一存储器和所述第二存储器的测试和修复电路。所述测试和修复电路被配置为接收测试启动信号,并且响应于接收所述测试启动信号来对所述第一存储器和所述第二存储器中的至少一个执行测试操作。所述测试和修复电路还被配置为基于所述测试操作的结果来对所述第一存储器和所述第二存储器中的至少一个执行修复操作。
还根据本公开的一个实施例的是一种由存储系统执行的存储器管理方法。所述方法包括将数据写入到第一存储器和第二存储器中或从第一存储器和第二存储器读取数据;判断在写入所述数据或读取所述数据期间预设测试条件是否被满足;以及当所述预设测试条件被满足时对所述第一存储器和所述第二存储器中的至少一个执行测试和修复操作。
附图说明
附图与下面的详细描述一起并入说明书中并形成说明书的一部分。附图用于进一步图示包括要求保护的新颖性的构思的实施例,并解释那些实施例的各种原理和优点。
图1示出了图示根据本公开的一个实施例的存储系统的框图。
图2示出了图示根据本公开的一个实施例的图1的存储器控制器的框图。
图3示出了图示根据本公开的一种实施例的存储器管理方法的流程图。
图4示出了图示根据本公开的另一个实施例的存储系统的框图。
具体实施方式
现在将详细参考某些实施例,其示例在附图中示出。在没有包括的定义的情况下,在本公开和权利要求中使用的术语或词语应当被解释为具有基于本领域普通技术人员的理解而与本公开的技术范围和精神一致的含义和概念。说明书中描述的和附图中示出的实施例纯粹是说明性的,并不旨在表示本发明的所有方面。因此,在不脱离所描述和要求保护的本教导的精神的情况下,可以对所呈现的实施例进行各种修改。
本公开的各种实施例涉及提供一种用于提高存储器可靠性的存储系统和用于存储系统的存储器管理方法,其解决由于现有技术中的限制和缺点而导致的一个或更多个问题。这些教导还适用于改善包括根据所述实施例的存储系统的电子设备的性能。
根据本教导,一种存储系统包括第一存储器和第二存储器,第一存储器和第二存储器中的每个存储器被配置为储存数据。存储系统还包括可操作地连接到第一存储器和第二存储器的测试和修复电路。测试和修复电路被配置为接收测试启动信号,并且响应于接收测试启动信号来对第一存储器和第二存储器中的至少一个执行测试操作。测试和修复电路还被配置为基于测试操作的结果来对第一存储器和第二存储器中的至少一个执行修复操作。
在一个实施例中,存储系统还包括可操作地连接到测试和修复电路的存储器控制器。存储器控制器被配置为基于被满足的测试条件来产生测试启动信号并且将测试启动信号发送到测试和修复电路。
在另一个实施例中,测试和修复电路还被配置为同时将数据写入到第一存储器和第二存储器中。测试和修复电路还被配置为同时从第一存储器和第二存储器读取数据。对于另一个实施例,测试和修复电路还被配置为接收写入数据并且将写入数据的第一部分写入到第一存储器中。在将写入数据的第一部分写入到第一存储器中的同时,测试和修复电路被配置为将写入数据的第二部分写入到第二存储器中。
对于一个实施例,测试和修复电路还被配置为同时将数据写入到第一存储器中并从第二存储器读取数据。
在一个实施例中,存储器控制器还被配置为:当针对第一存储器的错误检查和校正(ECC)发生的数量达到第一阈值时产生第一测试启动信号。第一测试启动信号在被测试和修复电路接收到时启动对第一存储器的测试操作。在另一个实施例中,存储器控制器还被配置为:当针对第二存储器的错误检查和校正(ECC)发生的数量达到第二阈值时产生第二测试启动信号。第二测试启动信号在被测试和修复电路接收到时启动对第二存储器的测试操作。
对于一个实施例,存储器控制器被配置为以预定的时间间隔将测试启动信号发送到测试和修复电路。在另一个实施例中,存储器控制器被配置为在第一时间间隔期满时产生第一测试启动信号,其中第一测试启动信号在被测试和修复电路接收到时启动对第一存储器的测试操作。存储器控制器还被配置为在第二时间间隔期满时产生第二测试启动信号,其中第二时间间隔基于第一时间间隔的期满而被启动,并且其中第二测试启动信号在被测试和修复电路接收到时启动对第二存储器的测试操作。
在不同的实施例中,存储器控制器被配置为:当针对存储系统的测量的温度变化大于温度变化阈值时产生测试启动信号。对于另一个实施例,存储器控制器被配置为:基于被满足的测试条件并基于接收掉电信号或上电信号来产生测试启动信号。
在一个实施例中,存储器控制器被配置为:当针对存储系统的测量的温度变化大于温度变化阈值时产生第一测试启动信号,其中第一测试启动信号在被测试和修复电路接收到时启动对第一存储器的测试操作。存储器控制器还被配置为:从测试和修复电路接收指示,该指示指出对第一存储器的测试操作完成。存储器控制器还被配置为:在接收到指示之后产生第二测试启动信号,其中第二测试启动信号在被测试和修复电路接收到时启动对第二存储器的测试操作。
根据本教导,还有一种由存储系统执行的存储器管理方法。该方法除了包括写入到存储器管理系统的第二存储器中和从存储器管理系统的第二存储器读取之外,还包括写入到存储器管理系统的第一存储器中和从存储器管理系统的第一存储器读取。该方法还包括:由存储系统的测试和修复电路接收测试启动信号,以及响应于接收测试启动信号而由测试和修复电路对第一存储器和第二存储器中的至少一个执行测试操作。该方法还包括基于测试操作的结果,由测试和修复电路对第一存储器和第二存储器中的至少一个执行修复操作。
在一个实施例中,该方法还包括:基于被满足的测试条件由存储系统的存储器控制器产生测试启动信号,并且由存储器控制器将测试启动信号发送到测试和修复电路。在另一个实施例中,该方法还包括:由存储器控制器接收测试条件被满足的指示,其中测试条件被满足包括针对第一存储器和第二存储器中的至少一个的错误检查和校正(ECC)发生的数量达到第一阈值。
对于不同的实施例,该方法包括:由存储器控制器接收测试条件被满足的指示,其中测试条件被满足包括预定时间间隔的期满。在可替换实施例中,该方法包括:由存储器控制器接收测试条件被满足的指示,其中测试条件被满足包括针对存储系统的测量的温度变化大于预定的温度变化阈值。在另一个实施例中,该方法包括:由存储器控制器接收测试条件被满足的指示,其中测试条件被满足包括接收掉电信号或上电信号。
对于一些实施例,产生测试启动信号的存储器控制器包括产生第一测试启动信号和第二测试启动信号中的至少一个的存储器控制器。此外,执行修复操作的测试和修复电路包括当测试启动信号包括第一测试启动信号时对第一存储器执行修复操作并且当测试启动信号包括第二测试启动信号时对第二存储器执行修复操作的测试和修复电路。
在一个实施例中,该方法包括:由存储器控制器中止在测试和修复电路对第一存储器执行测试操作的时间段期间将数据写入到第一存储器中,以及在该时间段期间由存储器控制器将数据写入到第一存储器中。该方法还包括:由测试和修复电路产生测试数据,并且由测试和修复电路在该时间段期间将测试数据写入到第一存储器中。
根据一些实施例,第一存储器是正常存储器,而第二存储器是冗余存储器。例如,被写入正常存储器的一些数据或全部数据也被写入到冗余存储器中。在一些情况下,当正常存储器不能最优运行、在给定的参数集内不运行、根本不运行时,或者当正常存储器不被测试和/或修复时,数据被写入到冗余存储器中。在其他实施例中,第一存储器是主存储器,而第二存储器是辅助存储器。
如本文中所使用的,词语“同时地”表示两个或更多个事件和/或操作同时发生或在重叠的时间间隔期间发生。
根据一些实施例,测试操作可以是内建自测试(BIST)操作。根据另外的实施例,修复操作可以是内建自修复(BISR)操作。对于许多实施例,测试和修复电路由BIST/BISR电路来表示。
如本文中所使用的,产生测试启动信号的存储器控制器包括当与存储器控制器连接的或与存储器控制器并置的硬件组件执行与存储器控制器相关或与存储器控制器相关联的功能时由该硬件组件产生测试启动信号的实施例。例如,实施例可以包括具有测试启动信号的多个存储器控制器,其中测试启动信号由这些存储器控制器中的一个或不同组合来产生。
图1示出了图示存储系统100的框图。
参考图1,存储系统100可以包括正常存储器10、冗余存储器20、内建自测试/内建自修复(BIST/BISR)电路30和存储器控制器40。
正常存储器10是存储系统100的主存储器,并且可以储存操作存储系统100所需的数据。响应于控制信号(CONT或B_CONT)和地址信号(ADD或B_ADD),正常存储器10可以将从BIST/BISR电路30接收到的数据(DI或B_DI)储存在存储单元中,或者可以读取储存在存储单元中的数据(DO或B_DO)并将读取的数据(DO或B_DO)输出到BIST/BISR电路30。例如,在正常模式期间,正常存储器10可以响应于控制信号(CONT)和地址信号(ADD)来储存或输出数据(DI/DO)。在测试模式(即,内建自测试(BIST)操作)期间,正常存储器10可以响应于控制信号(B_CONT)和地址信号(B_ADD)来储存或输出测试数据(B_DI/B_DO)。正常存储器10可以包括易失性存储器(例如,DRAM、SRAM等)和/或非易失性存储器(例如,FeRAM、PRAM、ReRAM、MRAM等)。尽管为了便于描述,图1中仅图示了一个正常存储器10,但是也可以使用多个正常存储器。
当在正常存储器10中发生有缺陷的部分或失效的部分或针对正常存储器10的BIST或BISR操作执行时,冗余存储器20可以代替正常存储器10。以与用于正常存储器10相同的方式,在接收控制信号(CONT或B_CONT)和地址信号(ADD或B_ADD)时,冗余存储器20可以将从BIST/BISR电路30接收到的数据(DI或B_DI)储存在存储单元中,或者冗余存储器20可以读取储存在存储单元中的数据(DO或B_DO)并将读取的数据(DO或B_DO)输出到BIST/BISR电路30。冗余存储器20可以与正常存储器10具有相同的结构和功能。尽管为了便于描述,图1中仅图示了一个冗余存储器20,但是也可以使用多个冗余存储器。
BIST/BISR电路30可以设置在存储器控制器40与存储器10和20之间,使得BIST/BISR电路30可以在存储器控制器40与存储器10和20之间执行数据I/O信号(CONT和ADD)和数据(DI和DO)的通信,或者可以对正常存储器10和冗余存储器20执行BIST操作或BISR操作。例如,当存储系统100在正常模式下操作时,BIST/BISR电路30可以将用于从存储器控制器40接收到的数据的输入/输出(I/O)操作的信号(CONT和ADD)传输到存储器10和20,并且同时可以将输入数据(DI)传输到存储器10和20,使得数据可以被写入或者从存储器10和20读取的输出数据(DO)可以被传输到存储器控制器40。即,当存储系统100在正常模式下操作时,BIST/BISR电路30可以将从存储器控制器40接收到的信号(CONT和ADD)和数据(DI)旁路到存储器10和20,并且可以将从存储器10和20接收到的数据(DO)旁路到存储器控制器40。在这种情况下,BIST/BISR电路30可以使用相同的方法或不同的方法来使用存储器10和20。例如,在数据写入操作或数据读取操作期间,BIST/BISR电路30可以同时将相同的数据写入到正常存储器10和冗余存储器20中,或者可以同时从正常存储器10和冗余存储器20读取相同的数据。可选地,在数据写入操作期间,BIST/BISR电路30可以同时将相同的数据写入到正常存储器10和冗余存储器20中。在数据读取操作期间,BIST/BISR电路30可以从正常存储器10和冗余存储器20中的任意一个读取数据。另外,当要被写入的数据的带宽大于正常存储器10的带宽时,BIST/BISR电路30可以执行多通道功能,其中相应的数据被分开写入到正常存储器10和冗余存储器20中。
在从存储器控制器40接收到测试启动信号(N_BIST_EN/R_BIST_EN)时,BIST/BISR电路30可以停止针对正常存储器10或冗余存储器20的数据(DI/DO)的输入/输出(I/O)操作;可以产生测试所需的控制信号(B_CONT)、地址信号(B_ADD)和数据(B_DI);可以将产生的控制信号(B_CONT)、地址信号(B_ADD)和数据(B_DI)传输到相应的存储器10或20;以及可以因此执行BIST操作。在完成BIST操作时,BIST/BISR电路30可以将用于指示测试完成的通知信号(BIST_DONE)和用于指示测试通过或失败的结果通知信号(PASS/FAIL)传输到存储器控制器40。BIST/BISR电路30还可以对有缺陷的存储器或失效的存储器(10和/或20)执行BISR操作。在这种情况下,在针对存储器10或20中的任意一个的BIST或BISR操作期间,BIST/BISR电路30可以将数据写入到另一个存储器20或10中或从该另一个存储器20或10读取数据。换言之,正常存储器10和冗余存储器20可能不会同时被测试或修复,而是可以交替地被测试或修复。对于一些实施例,上述的针对存储器10和/或20的BIST和/或BISR操作可以表示任何传统的自测试操作和/或自修复操作。在完成BISR操作时,BIST/BISR电路30可以将用于指示修复完成的通知信号(BISR_DONE)传输到存储器控制器40。
存储器控制器40可以对存储器10和20执行数据I/O操作和BIST/BISR操作。当存储系统100在正常模式下操作时,存储器控制器40可以根据主机(未示出)的指令消息而产生数据输入/输出所需的信号(CONT和ADD),可以将所产生的信号(CONT和ADD)传输到BIST/BISR电路30,并且可以传输和接收要被输入的数据(DI)以及要被输出到BIST/BISR电路30或从BIST/BISR电路30输出的另一数据(DO)。当预设条件被满足时,存储器控制器40可以产生针对正常存储器10的测试启动信号(N_BIST_EN)和针对冗余存储器20的测试启动信号(R_BIST_EN),并且可以将两个启动信号(N_BIST_EN和R_BIST_EN)输出到BIST/BISR电路30。例如,每当针对正常存储器10或冗余存储器20的ECC(错误检查和校正)发生的数量高于参考次数时,或者每当系统温度的变化高于参考值时,存储器控制器40可以产生测试启动信号(N_BIST_EN或R_BIST_EN)。可选地,存储器控制器40还可以以预定的时间间隔来产生测试启动信号(N_BIST_EN或R_BIST_EN)。当针对存储器10或20的任意一个的BIST或BISR操作完成时,存储器控制器40可以将一个正常操作的存储器中储存的数据复制在另一个被BIST处理的存储器或被BISR处理的存储器中,使得在存储器10和20中储存的数据可以彼此相同。该复制操作也可以称为死复制。
图2更详细地示出了图示存储器控制器(被指示为图1的存储器控制器40)的框图。更具体地,图2图示了用于控制正常存储器10和冗余存储器20的测试的组成元件。
参考图2,存储器控制器40可以包括第一ECC(错误检查和校正)电路41N、第二ECC电路41R、第一ECC计数器42N、第二ECC计数器42R、振荡器43、计数器44、温度传感器45、温度变化传感器46和测试控制器47。ECC电路41N和ECC电路41R也分别称为ECC 41N和ECC 41R。
第一ECC 41N可以使用奇偶校验位来执行要被写入到正常存储器10中或从正常存储器10读取的数据的错误校验和校正(ECC),并且第一ECC 41N可以将用于指示ECC完成的信号(即,第一ECC信号)输出到第一ECC计数器42N。
第二ECC 41R可以使用奇偶校验位来执行要被写入到冗余存储器20中或从冗余存储器20读取的数据的ECC,并且第二ECC 41R可以将用于指示ECC完成的信号(即,第二ECC信号)输出第二ECC计数器42R。
第一ECC计数器42N可以对从第一ECC 41N接收到的第一ECC信号的数量进行计数。当第一ECC信号的计数数量达到预定的参考值(诸如,第一阈值)时,第一ECC计数器42N可以将用于指示第一ECC信号的计数数量已经达到预定的参考值的信号(即,第一ECC结束信号)输出到测试控制器47。在第一ECC计数器42N输出第一ECC结束信号之后,第一ECC计数器42N可以使先前的计数信息初始化,并且可以对第一ECC信号的发生数量进行重新计数。
第二ECC计数器42R可以对从第二ECC 41R接收到的第二ECC信号的数量进行计数。当第二ECC信号的计数数量达到预定的参考值(诸如,第二阈值)时,第二ECC计数器42R可以将用于指示第二ECC信号的计数数量已经达到预定的参考值的信号(即,第二ECC结束信号)输出到测试控制器47。在第二ECC计数器42R输出第二ECC结束信号之后,第二ECC计数器42R可以使先前的计数信息初始化,并且可以对第二ECC信号的发生数量进行重新计数。对于一些实施例,第一阈值可以与第二阈值相同。在其他实施例中,第一阈值和第二阈值具有不同的值。
振荡器43可以以预定时间的间隔来产生并输出振荡信号(例如,脉冲信号)。
计数器44可以对从振荡器43产生的振荡信号的数量进行计数。当振荡信号的计数数量达到预定的参考值时,计数器44可以将用于指示振荡信号的计数数量已经达到预定的参考值的时间信号输出到测试控制器47。换言之,计数器44可以使用振荡器43的输出信号来周期性地输出时间信号。
温度传感器45可以检测存储系统100的温度,并且可以将指示检测到的温度的温度信号输出到温度变化传感器46。
温度变化传感器46可以使用从温度传感器45接收到的温度信号来判断存储系统100的温度变化是否大于预定的参考值(诸如温度变化阈值)。当温度变化大于预定的参考值时,温度变化传感器46可以将指示存储系统100的温度变化大于预定的参考值这个事实的信号(即,温度过大信号)输出到测试控制器47。
测试控制器47可以响应于第一ECC结束信号、第二ECC结束信号、时间信号和温度过大信号来选择性地产生并输出分别用于正常存储器10或冗余存储器20的测试启动信号(N_BIST_EN或R_BIST_EN)。
例如,在接收到第一ECC结束信号时,测试控制器47可以输出用于正常存储器10的测试启动信号(N_BIST_EN)。在接收到第二ECC结束信号时,测试控制器47可以输出用于冗余存储器20的测试启动信号(R_BIST_EN)。
在接收到温度过大信号时,测试控制器47可以连续地测试正常存储器10和冗余存储器20。例如,测试控制器47可以首先输出测试启动信号(N_BIST_EN)并且可以因此测试正常存储器10。在完成对正常存储器10的测试之后,测试控制器47可以输出测试启动信号(R_BIST_EN)并且可以因此测试冗余存储器20。
在接收到时间信号时,测试控制器47可以按照时间信号的发生顺序选择性地输出测试启动信号以交替地测试正常存储器10和冗余存储器20。例如,在接收到第一时间信号时,测试控制器47可以输出用于测试正常存储器10的测试启动信号(N_BIST_EN)。在接收到第二时间信号时,测试控制器47可以输出用于测试冗余存储器20的测试启动信号(R_BIST_EN)。
当测试控制器47连续接收到ECC结束信号、时间信号和温度过大信号时,如果接收到的信号的测试尚未完成(即,如果尚未接收到PASS信号或FAIL信号),或者如果第一接收信号的测试完成(即,接收到BIST_DONE信号)并且从测试完成开始尚未经过预定的参考时间,则测试控制器47可以放弃除了第一接收信号之外的剩余接收信号。
在一些情况下,即使上述测试条件被满足,测试控制器47也不会立即产生测试启动信号。例如,当测试控制器47接收到存储系统100的掉电信号或上电(重启)信号时,测试控制器47可以产生测试启动信号,使得BIST或BISR操作被执行。例如,当存储系统100仅使用正常存储器10和冗余存储器20中的一个操作时,测试控制器47不可能在存储系统100的操作期间执行BIST操作。在这种情况下,即使测试条件被满足,测试控制器47也不可能立即执行BIST操作。测试控制器47可以进入待机模式直到接收到掉电信号或上电(重启)信号,并且然后在接收到掉电信号或上电(重启)信号之后执行BIST操作。
尽管所呈现的实施例公开了使用ECC结束信号、时间信号和温度过大信号执行测试操作,但是本公开的范围或精神不限于此,并且测试操作所需的不同条件组可以根据系统设计者的判断来选择。例如,可以使用ECC、时间和温度条件中的任意一个,或者可以可选地仅使用从ECC、时间和温度条件中选中的两个条件。在其他实施例中,附加或不同的条件可以确定何时执行测试。
图3示出了图示存储器管理方法的流程图。更详细地,图3图示了用于执行BIST操作的方法。
在针对正常存储器10和冗余存储器20的数据写入操作或数据读取操作期间,存储器控制器40可以连续地判断预定的测试条件是否被满足(312)。
当测试条件被满足时,存储器控制器40可以判断正常存储器10和冗余存储器20中的两者还是仅一个被正常使用(314)。
例如,存储器控制器40可以判断由于正常存储器10或冗余存储器20中的有缺陷的部分或失效的部分,当前是否正在使用正常存储器10和冗余存储器20中的仅一个。
当正常存储器10和冗余存储器20两者都被正常使用时,存储器控制器40可以基于测试条件来执行BIST操作。
当测试条件与在步骤316所指示的ECC结束信号的发生相对应时,如步骤318所指示的,存储器控制器40可以基于相应的ECC结束信号来对存储器10或20执行BIST操作(318)。
例如,当第一ECC计数器42N输出第一ECC结束信号时,测试控制器47可以输出针对正常存储器10的测试启动信号(N_BIST_EN)。当第二ECC计数器42R输出第二ECC结束信号时,测试控制器47可以输出针对冗余存储器20的测试启动信号(R_BIST_EN)。因此,BIST/BISR电路30可以根据预设算法来对正常存储器10或冗余存储器20执行BIST操作,并且可以将响应信号(PASS或FAIL)输出到存储器控制器40。
当测试条件与在步骤320所指示的时间信号的发生相对应时,如步骤322指示的,存储器控制器40可以根据时间信号的发生顺序来交替地测试正常存储器10和冗余存储器20(322)。
例如,当由计数器44产生的时间信号是第一信号(例如,奇数信号)时,测试控制器47可以输出针对正常存储器10的测试启动信号(N_BIST_EN)。当由计数器44产生的时间信号是第二信号(例如,偶数信号)时,测试控制器47可以输出针对冗余存储器20的测试启动信号(R_BIST_EN)。
当测试条件与在步骤324所指示的温度过大信号的发生相对应时,存储器控制器40可以顺序地测试正常存储器10和冗余存储器20(326)。
例如,当温度变化传感器46输出温度过大信号时,测试控制器47可以首先输出测试启动信号(N_BIST_EN)以对正常存储器10执行BIST操作。在完成正常存储器10的BIST操作时,测试控制器47可以输出测试启动信号(R_BIST_EN)并且可以因此对冗余存储器10执行BIST操作。
当在步骤314所指示的当前仅使用一个存储器(例如,仅正常存储器10)时,存储器控制器40可以保持待机模式直到如在步骤328所指示的接收到针对存储系统100的掉电信号。
对于一些实施例,BIST操作在正常数据写入/读取操作期间不发生。由于目标存储器要被停止并且必须写入或读取测试所需的数据,使得当存储系统100仅使用正常存储器10正常执行独特功能时不可能测试正常存储器10。因此,尽管测试条件被满足,但是存储器控制器40可以不执行测试直到达到存储系统100不再执行独特功能的预定时间。一个这样的预定时间发生在掉电信号被输入时。
在接收到掉电信号时,存储器控制器40可以通过如在步骤316、320、324所指示的判断来执行如在步骤318、322、326所指示的对正常存储器10的BIST操作。
如果所执行的BIST操作(318、322、326)指示正常存储器10和/或冗余存储器20中的一个或更多个有缺陷的部分和/或失效的部分(332),则BIST/BISR电路30可以执行BISR操作(334)。
图4示出了图示根据本公开的另一个实施例的存储系统400的框图。
对于图1的存储系统100,与测试和/或修复存储器无关的一般数据写入/读取操作涉及BIST/BISR电路30。在正常的写入/读取操作期间,BIST/BISR电路30可以传送从存储器控制器40接收到的信号(CONT和ADD)和数据(DI),并且可以将所传送的信号(CONT和ADD)和数据(DI)输出到正常存储器10和冗余存储器20。此外,BIST/BISR电路30还可以传送从存储器10和20读取的数据(DO),并且可以将数据(DO)输出到存储器控制器40。
相反,对于图4的存储系统400,一般数据写入/读取操作可以利用与正常存储器10和冗余存储器20直接通信的存储器控制器60来执行。例如,由正常存储器10和/或冗余存储器20从存储器控制器60接收到的信号(CONT和ADD)和输入数据(DI)不通过BIST/BISR电路50。类似地,由存储器控制器60从正常存储器10和/或冗余存储器20接收到的输出数据(DO)不通过BIST/BISR电路50。当BIST/BISR电路50从存储器控制器60接收到测试启动信号(N_BIST_EN和R_BIST_EN)时,可以对相应的存储器执行BIST操作和BISR操作。
用于对存储系统400的正常存储器10和/或冗余存储器20执行BIST/BISR操作的方法可以以与上述用于存储系统100的方式相同的方式来执行。
在写入或读取公共数据期间,存储器控制器60可以同时将相同的数据写入到正常存储器10和冗余存储器20中,或者可以同时从正常存储器10和冗余存储器20读取数据。可选地,在数据写入间隔期间,存储器控制器60可以同时将相同的数据写入到正常存储器10和冗余存储器20中。在数据读取间隔期间,存储器控制器60可以从正常存储器10和冗余存储器20中的任意一个读取数据。另外,当要被写入的数据的带宽大于正常存储器10的带宽时,存储器控制器60可以执行数据被分开写入到正常存储器10和冗余存储器20中的多通道功能。当测试条件被满足时,存储器控制器60可以根据满足的条件来选择性地产生测试启动信号(N_BIST_EN或R_BIST_EN),并且可以将所产生的测试启动信号输出到BIST/BISR电路50。
从以上描述显而易见的是,本公开的实施例可以改善针对系统使用的一个或更多个存储器件的可靠性。
本领域技术人员将理解,在不脱离本公开的精神和基本特征的情况下,可以以除了本文中所阐述的方式之外的其他特定方式来实现实施例。因此,上述实施例在所有方面都应被解释为说明性的而非限制性的。本公开的范围应由所附权利要求及其合法等同物来确定,而不是由以上描述来确定。此外,在所附权利要求的含义和等同范围内的所有变化都旨在包含在其中。另外,对于本领域技术人员显而易见的是,在所附权利要求中未明确彼此引用的权利要求可以作为实施例组合地呈现,或者在提交本申请之后通过随后的修改包括为新的权利要求。
尽管已经描述了许多说明性实施例,但是应该理解,本领域技术人员可以设计出许多其他修改和实施例,这些修改和实施例将落入本公开的原理的精神和范围内。特别地,在本公开内容、附图和所附权利要求的范围内的组成部件和/或布置中可以进行多种变化和修改。除了组成部件和/或布置中的变化和修改之外,替代使用对于本领域技术人员而言也是显而易见的。
附图中每个元件的附图标记
10:正常存储器
20:冗余存储器
30:内建自测试/内建自修复(BIST/BISR)电路
40:存储器控制器
41N、41R:ECC(错误检查和校正)电路
42N、42R:ECC计数器
43:振荡器
44:计数器
45:温度传感器
46:温度变化传感器
47:测试控制器
Claims (20)
1.一种存储系统,包括:
第一存储器,其被配置为储存数据;
第二存储器,其被配置为储存数据;以及
测试和修复电路,其可操作地连接到所述第一存储器和所述第二存储器,其中所述测试和修复电路被配置为:
接收测试启动信号;
响应于接收到所述测试启动信号,对所述第一存储器和所述第二存储器中的至少一个执行测试操作;以及
基于所述测试操作的结果,对所述第一存储器和所述第二存储器中的至少一个执行修复操作。
2.根据权利要求1所述的存储系统,还包括可操作地连接到所述测试和修复电路的存储器控制器,其中所述存储器控制器被配置为:
基于被满足的测试条件来产生所述测试启动信号;以及
将所述测试启动信号发送到所述测试和修复电路。
3.根据权利要求1所述的存储系统,其中,所述测试和修复电路还被配置为:
同时将数据写入到所述第一存储器和所述第二存储器中;以及
同时从所述第一存储器和所述第二存储器读取数据。
4.根据权利要求3所述的存储系统,其中,所述测试和修复电路还被配置为:
接收写入数据;
将所述写入数据的第一部分写入到所述第一存储器中;以及
在将所述写入数据的第一部分写入到所述第一存储器中的同时,将所述写入数据的第二部分写入到所述第二存储器中。
5.根据权利要求1所述的存储系统,其中,所述测试和修复电路还被配置为同时将数据写入到所述第一存储器中并从所述第二存储器读取数据。
6.根据权利要求2所述的存储系统,其中,所述存储器控制器还被配置为:当针对所述第一存储器的错误检查和校正ECC发生的数量达到第一阈值时产生第一测试启动信号,其中所述第一测试启动信号在被所述测试和修复电路接收到时启动对所述第一存储器的所述测试操作。
7.根据权利要求6所述的存储系统,其中,所述存储器控制器还被配置为:当针对所述第二存储器的错误检查和校正ECC发生的数量达到第二阈值时产生第二测试启动信号,其中所述第二测试启动信号在被所述测试和修复电路接收到时启动对所述第二存储器的所述测试操作。
8.根据权利要求2所述的存储系统,其中,所述存储器控制器还被配置为以预定的时间间隔将所述测试启动信号发送到所述测试和修复电路。
9.根据权利要求2所述的存储系统,其中,所述存储器控制器还被配置为:
在第一时间间隔期满时产生第一测试启动信号,其中所述第一测试启动信号在被所述测试和修复电路接收到时启动对所述第一存储器的所述测试操作;以及
在第二时间间隔期满时产生第二测试启动信号,其中所述第二时间间隔基于所述第一时间间隔的期满而被启动,并且其中所述第二测试启动信号在被所述测试和修复电路接收到时启动对所述第二存储器的所述测试操作。
10.根据权利要求2所述的存储系统,其中,所述存储器控制器还被配置为:当针对所述存储系统的测量的温度变化大于温度变化阈值时产生所述测试启动信号。
11.根据权利要求2所述的存储系统,其中,所述存储器控制器还被配置为:
当针对所述存储系统的测量的温度变化大于温度变化阈值时产生第一测试启动信号,其中所述第一测试启动信号在被所述测试和修复电路接收到时启动对所述第一存储器的所述测试操作;
从所述测试和修复电路接收指示,所述指示指出对所述第一存储器的所述测试操作完成;以及
在接收到所述指示之后产生第二测试启动信号,其中所述第二测试启动信号在被所述测试和修复电路接收到时启动对所述第二存储器的所述测试操作。
12.根据权利要求2所述的存储系统,其中,所述存储器控制器还被配置为基于被满足的所述测试条件并基于接收到掉电信号或上电信号来产生所述测试启动信号。
13.根据权利要求2所述的存储系统,其中,所述存储器控制器还被配置为:
同时将数据写入到所述第一存储器和所述第二存储器中;以及
同时从所述第一存储器和所述第二存储器读取数据。
14.一种存储系统的存储器管理方法,所述方法包括:
将数据写入到第一存储器和第二存储器中或从第一存储器和第二存储器读取数据;
判断在写入所述数据或读取所述数据期间预设测试条件是否被满足;以及
当所述预设测试条件被满足时,对所述第一存储器和所述第二存储器中的至少一个执行测试和修复操作。
15.根据权利要求14所述的存储器管理方法,其中,写入所述数据或读取所述数据的步骤包括:
同时将数据写入到所述第一存储器和所述第二存储器中;以及
同时从所述第一存储器和所述第二存储器读取数据。
16.根据权利要求14所述的存储器管理方法,其中,写入所述数据或读取所述数据的步骤包括:
同时将数据写入到所述第一存储器和所述第二存储器中;以及
从所述第一存储器和所述第二存储器中的任意一个读取数据。
17.根据权利要求14所述的存储器管理方法,其中,判断所述预设测试条件是否被满足的步骤包括:
判断针对所述第一存储器和所述第二存储器中的至少一个的错误检查和校正ECC发生的数量是否达到第一阈值。
18.根据权利要求14所述的存储器管理方法,其中,判断所述预设测试条件是否被满足的步骤包括:
判断预定的时间间隔是否期满。
19.根据权利要求14所述的存储器管理方法,其中,判断所述预设测试条件是否被满足的步骤包括:
判断测量的温度变化是否大于预定的温度变化阈值。
20.根据权利要求14所述的存储器管理方法,其中,所述测试和修复操作在接收到掉电信号或上电信号之后执行。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170165333A KR102401882B1 (ko) | 2017-12-04 | 2017-12-04 | 메모리의 신뢰성을 향상시킬 수 있는 메모리 시스템 및 그 메모리 관리 방법 |
KR10-2017-0165333 | 2017-12-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109872763A true CN109872763A (zh) | 2019-06-11 |
CN109872763B CN109872763B (zh) | 2023-06-23 |
Family
ID=66659463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811108029.6A Active CN109872763B (zh) | 2017-12-04 | 2018-09-21 | 用于提高存储器可靠性的存储系统及其存储器管理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11037648B2 (zh) |
KR (1) | KR102401882B1 (zh) |
CN (1) | CN109872763B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112309490A (zh) * | 2019-07-26 | 2021-02-02 | 第一检测有限公司 | 内存测试方法 |
WO2021169692A1 (zh) * | 2020-02-24 | 2021-09-02 | 长鑫存储技术(上海)有限公司 | 修复电路、存储器和修复方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210081094A (ko) | 2019-12-23 | 2021-07-01 | 주식회사 실리콘웍스 | 메모리 컨트롤러, 및 이의 동작 방법 |
KR20210081093A (ko) | 2019-12-23 | 2021-07-01 | 주식회사 실리콘웍스 | 메모리 컨트롤러, 및 이의 동작 방법 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6297995B1 (en) * | 1998-11-13 | 2001-10-02 | Siemens Aktiengesellschaft | Circuit configuration with a temperature-dependent semiconductor component test and repair logic circuit |
US20010048625A1 (en) * | 2000-05-25 | 2001-12-06 | Robert Patti | Dynamically configurated storage array with improved data access |
US20110289386A1 (en) * | 2009-06-24 | 2011-11-24 | Magic Technologies, Inc. | Method and apparatus for scrubbing accumulated data errors from a memory system |
US20140146624A1 (en) * | 2012-11-27 | 2014-05-29 | Samsung Electronics Co., Ltd. | Memory modules and memory systems |
US20160284426A1 (en) * | 2015-03-26 | 2016-09-29 | International Business Machines Corporation | Arbitration for memory diagnostics |
KR20170130384A (ko) * | 2015-03-27 | 2017-11-28 | 인텔 코포레이션 | 에러 타입에 기초하는 ecc의 동적 적용 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6237116B1 (en) * | 1998-11-16 | 2001-05-22 | Lockheed Martin Corporation | Testing error correcting code feature in computers that do not have direct hardware features for causing single bit and multi-bit errors |
US6838331B2 (en) * | 2002-04-09 | 2005-01-04 | Micron Technology, Inc. | Method and system for dynamically operating memory in a power-saving error correction mode |
US7184916B2 (en) * | 2003-05-20 | 2007-02-27 | Cray Inc. | Apparatus and method for testing memory cards |
JP4237109B2 (ja) | 2004-06-18 | 2009-03-11 | エルピーダメモリ株式会社 | 半導体記憶装置及びリフレッシュ周期制御方法 |
KR20080048799A (ko) | 2006-11-29 | 2008-06-03 | 프롬써어티 주식회사 | 메모리 테스트 시스템의 자가 진단 장치 |
US7707466B2 (en) * | 2007-02-23 | 2010-04-27 | Freescale Semiconductor, Inc. | Shared latch for memory test/repair and functional operations |
US8010847B2 (en) * | 2008-09-30 | 2011-08-30 | Infineon Technologies Ag | Memory repair |
US9223665B2 (en) * | 2013-03-15 | 2015-12-29 | Micron Technology, Inc. | Apparatuses and methods for memory testing and repair |
KR102083266B1 (ko) * | 2013-11-29 | 2020-03-03 | 삼성전자주식회사 | 반도체 메모리 장치의 테스트 방법 및 반도체 메모리 시스템 |
TWI677876B (zh) * | 2018-10-12 | 2019-11-21 | 慧榮科技股份有限公司 | 應用於快閃記憶體控制器的編碼器自我測試電路及相關的方法 |
-
2017
- 2017-12-04 KR KR1020170165333A patent/KR102401882B1/ko active IP Right Grant
-
2018
- 2018-08-01 US US16/051,796 patent/US11037648B2/en active Active
- 2018-09-21 CN CN201811108029.6A patent/CN109872763B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6297995B1 (en) * | 1998-11-13 | 2001-10-02 | Siemens Aktiengesellschaft | Circuit configuration with a temperature-dependent semiconductor component test and repair logic circuit |
US20010048625A1 (en) * | 2000-05-25 | 2001-12-06 | Robert Patti | Dynamically configurated storage array with improved data access |
US20110289386A1 (en) * | 2009-06-24 | 2011-11-24 | Magic Technologies, Inc. | Method and apparatus for scrubbing accumulated data errors from a memory system |
US20140146624A1 (en) * | 2012-11-27 | 2014-05-29 | Samsung Electronics Co., Ltd. | Memory modules and memory systems |
US20160284426A1 (en) * | 2015-03-26 | 2016-09-29 | International Business Machines Corporation | Arbitration for memory diagnostics |
KR20170130384A (ko) * | 2015-03-27 | 2017-11-28 | 인텔 코포레이션 | 에러 타입에 기초하는 ecc의 동적 적용 |
Non-Patent Citations (1)
Title |
---|
GIAN MAYUGA等: "Reliability-Enhanced ECC-Based Memory Architecture Using In-Field Self-Repair", 《IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112309490A (zh) * | 2019-07-26 | 2021-02-02 | 第一检测有限公司 | 内存测试方法 |
WO2021169692A1 (zh) * | 2020-02-24 | 2021-09-02 | 长鑫存储技术(上海)有限公司 | 修复电路、存储器和修复方法 |
US11972828B2 (en) | 2020-02-24 | 2024-04-30 | Changxin Memory Technologies, Inc. | Repair circuit, memory, and repair method |
Also Published As
Publication number | Publication date |
---|---|
CN109872763B (zh) | 2023-06-23 |
KR20190065805A (ko) | 2019-06-12 |
US11037648B2 (en) | 2021-06-15 |
KR102401882B1 (ko) | 2022-05-26 |
US20190172547A1 (en) | 2019-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109872763A (zh) | 用于提高存储器可靠性的存储系统及其存储器管理方法 | |
US10204698B2 (en) | Method to dynamically inject errors in a repairable memory on silicon and a method to validate built-in-self-repair logic | |
US8112681B2 (en) | Method and apparatus for handling fuse data for repairing faulty elements within an IC | |
KR102467455B1 (ko) | 리던던시 영역을 리페어 하는 반도체 장치 | |
CN112331253A (zh) | 一种芯片的测试方法、终端和存储介质 | |
JP2013182659A (ja) | メモリ装置、テスト装置及びこれらの動作方法並びにメモリシステム及び伝送動作方法 | |
CN108511029B (zh) | 一种fpga中双端口sram阵列的内建自测和修复系统及其方法 | |
JP4777417B2 (ja) | 半導体メモリおよびテストシステム | |
US20120230136A1 (en) | Selectable repair pass masking | |
CN109726141A (zh) | 用于防止对故障地址重复编程的存储装置及其操作方法 | |
CN106816180A (zh) | 存储器件及其操作方法 | |
JP2001243795A (ja) | 半導体記憶装置 | |
KR102182419B1 (ko) | 비휘발성 메모리 및 이를 포함하는 반도체 장치 | |
KR101277479B1 (ko) | 반도체 메모리 장치 | |
KR20160107685A (ko) | 반도체 시스템 및 반도체 장치의 테스트 방법 | |
KR20190086936A (ko) | 메모리 장치 | |
US10802759B2 (en) | Memory system including memory device and memory controller, and operating method thereof | |
US9704597B2 (en) | Apparatuses and methods for outputting addresses of defective memory cells of a semiconductor device including a roll call circuit | |
US9489147B2 (en) | Semiconductor device, memory device, and system including the same | |
JP4782302B2 (ja) | 半導体記憶装置 | |
CN110010188A (zh) | 存储器件及其操作方法 | |
US7719908B1 (en) | Memory having read disturb test mode | |
CN105427895B (zh) | 用于视频云应用的非易失性存储器芯片测试和使用方法 | |
CN204884572U (zh) | 一种用于rram的存储单元片内自测电路 | |
CN101937722A (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 |