使用存储器内置自测的存储器保护电路测试和存储器擦洗的制作方法

文档序号:15619205发布日期:2018-10-09 21:54阅读:219来源:国知局

本公开涉及数据处理系统的领域。更具体地,本公开涉及使用存储器内置自测电路的数据处理系统内的存储器保护电路和存储器擦洗的现场测试。



背景技术:

已知的是,提供了一种数据处理设备(例如,所谓的片上系统(soc)设备),该数据处理设备具有各种不同形式的一个或多个存储器,用于存储待操作的数据值以及用于指定待执行的数据处理操作的程序指令。数据处理操作可以由诸如cpu(中央处理器)之类的所谓ip核心(可作为逻辑电路实现的单独许可的处理操作块)来执行。存储器的形式可以包括:例如主存储器、缓存存储器(包括例如,1级(l1)缓存、2级(l2)缓存等);用于存储指定虚拟-物理存储器地址转换和/或存储器许可数据的数据转换后备缓存器;以及存储用于数据处理系统内的其他用途的数据的存储器,例如用于分支预测的分支历史数据。

已知在数据处理系统内提供存储器内置自测(mbist)电路,用于对数据处理系统内的存储器执行存储器测试操作。这样的存储器内置自测电路可以被用来在数据处理系统的初始制造时执行初始测试和/或在数据处理系统的寿命期间执行连续测试时。识别存储器操作中的错误可以被用来触发适当的响应,例如,使存储器的相关部分不被使用,使得不会整体上损坏或减慢系统的操作。对检测到的错误的许多其他不同形式的响应也是可能的。

在数据处理系统中也已知提供存储器保护电路,其用于在存储器的操作使用期间防止存储器中的错误。例如,可以使用错误校正码电路和/或奇偶校验码电路来存储与存储器内的存储的数据值相关联的错误校正码和/或奇偶校验位。然后可以使用这些错误校正码和/或奇偶校验位来检测在存储器内出现的错误并潜在地校正这些错误。由于粒子罢工引起的软错误可以在其能够破坏整个系统的操作之前被检测并校正,因为这种错误不是存储器内的永久性故障的征兆,因此存储器可以继续其正常操作。术语“存储器保护电路”可以包括存储器错误检查或校正码生成电路、错误检测电路和错误校正电路。这些包括奇偶校验码和错误校正码(ecc)电路。

存储器保护电路本身的测试可以在上电、断电或在操作期间周期性地在现场(也就是说,在操作设备的上下文中而不是在制造阶段)执行。

现场mbist的三种可能的使用模式可以分为:生产测试、离线测试和在线测试。这些使用模型中的任何一个都可用于在上电、断电或在操作期间周期性地测试存储器保护电路。在以下方面中存在权衡:mbist电路支持这些使用模型中的每个使用模型的复杂性、以及测试对由ip核心执行的功能操作的侵入性。

生产测试

在生产测试使用模型中,ip核心的所有功能操作在测试期间停止,存储器中的数据被测试破坏,ip核心内的所有状态都将丢失,并且除了mbist电路以外不会访问ip核心内的存储器。当测试完成时,ip核心被重置,核心中的大部分存储器被初始化。存储器测试是以在制造诸如soc之类的设备时将如何进行的类似方式在现场执行的。通常,生产测试算法可能需要运行很长时间,导致ip核心在相当长的一段时间内不能用于功能性使用。

离线测试

在离线测试使用模型中,待测试的存储器由在ip核心上运行的软件禁用,因此不能用于正常的功能使用。ip核心仍然可以运行,但性能水平降低。例如,如果l1数据缓存离线,则cpu仍然可以访问l2或较低存储器中的数据,但是每次访问可能与访问l1数据缓存相比需要更长的时间。另外,当l1数据缓存离线时,仍然可以访问l1指令缓存。如果l1数据缓存中的数据需要被保留以供在测试之后使用,则在测试开始之前任何脏数据都必须被清理到较低级别的存储器。

除了mbist电路以外,不能访问正在进行测试的存储器。正在进行测试的存储器的内容通常会被测试破坏,并且可能需要在启用功能性使用时重新初始化该存储器。通常情况下,生产测试算法用于测试存储器。ip核心的状态不会由于测试而丢失,并且在测试完成后不需要重置。

在线测试

在在线测试方法中,待测试的存储器的全部或部分被mbist控制器锁定,并且使用短突发在线存储器测试算法,一次只测试存储器的一小部分。所以存储器不可用于功能性使用的时间非常短。如果ip核心希望访问针对测试而被锁定的存储器条目,则功能性访问被停止,直到mbist控制器移除锁定。ip核心仍然可以自由访问所有其他未被锁定以用于测试的存储器和条目。即使对特定存储器的访问停止,ip核心的其他部分仍然可以正常工作。在测试期间修改的存储器条目中的任何值在测试开始时均保存,并在mbist控制器的测试结束时恢复。测试相对ip核心的正常操作是自主进行的,被测试的存储器不需要禁用功能性使用。ip核心的状态不会由于测试而丢失,并且在测试完成后不需要重置。

测试对ip核心的操作或性能几乎没有影响,由于以下原因:核心在测试突发期间可能不需要访问锁定的条目或可能试图通过测试突发访问锁定的存储器部分路径,存储器内容被保存,维持了与其他共享存储器的一致性,测试时间短,测试间隔大。

存储器擦洗(memoryscrubbing)被用来通过检查并(如有必要)校正存储的数据值来减轻来自多个事件干扰的在相同存储器条目中发生的多个软错误。目前的做法是存储器保护电路支持单位错误校正和双位错误检测。因此,如果一个存储器条目包含两个或更多的错误位,那么就不可能校正这些错误,所以数据就会丢失。存储器条目可能不会被长时间读取,因此其可能包括未被检测到的软错误,由此容易受到可能不可挽回地破坏数据的第二软错误事件的影响。因此,可以适当地执行存储器擦洗,以便在发生错误之后立即校正软错误。



技术实现要素:

本公开的至少一些实施例提供了一种用于处理数据的装置,包括:存储器;存储器保护电路,用于提供到所述存储器的操作访问路径并且在所述存储器操作使用期间防止所述存储器中的错误;以及存储器内置自测电路,用于对所述存储器执行测试操作;其中所述存储器内置自测电路提供通过所述存储器保护电路到所述存储器的间接测试访问路径和绕过所述存储器保护电路到所述存储器的直接测试访问路径。

本公开的至少一些实施例提供了一种对存储器进行内置自测的方法,存储器具有存储器保护电路,存储器保护电路提供到所述存储器的操作访问路径并且在所述存储器操作使用期间防止所述存储器中的错误,所述方法包括:使用通过所述存储器保护电路的间接测试访问路径来访问所述存储器;以及使用绕过所述存储器保护电路的直接测试访问路径来访问所述存储器。

本公开的至少一些实施例提供了一种用于对存储器进行内置自测的存储器内置自测设备,存储器具有存储器保护电路,存储器保护电路提供到所述存储器的操作访问路径并且在所述存储器操作使用期间防止所述存储器中的错误,所述存储器内置自测设备包括:存储器接口电路,用于提供通过所述存储器保护电路到所述存储器的间接测试访问路径和绕过所述存储器保护电路到所述存储器的直接测试访问路径。

结合附图阅读说明性实施例的以下详细描述,将明白本公开的上述和其他目的、特征和优点。

附图说明

图1示意性地示出了包括不同类型的多个存储器的数据处理系统,其中一些存储器与存储器保护电路结合,一些存储器具有相关联的存储器内置自测电路;

图2示意性地示出了连接到存储器以及写入侧存储器保护电路和读取侧存储器保护电路两者的存储器内置自测电路;

图3是示意性示出例如用于检测奇偶校验或错误检测/校正码生成电路中的故障的写入侧存储器保护测试的流程图;

图4是示意性地示出用于检测错误检测电路中的故障的读取侧存储器保护测试的流程图;

图5是示意性地示出用于检测并发位(syndrome)值生成电路中的故障的读取侧存储器保护测试的流程图;

图6是示意性地示出用于检测错误校正电路中的故障的读取侧存储器保护测试的流程图;并且

图7是示出存储器擦洗过程的示意性流程图。

具体实施方式

示例配置可以提供一种用于处理数据的装置,包括:存储器;存储器保护电路,用于提供到所述存储器的操作访问路径并且在所述存储器操作使用期间防止所述存储器中的错误;以及存储器内置自测电路,用于对所述存储器执行测试操作;其中所述存储器内置自测电路提供通过所述存储器保护电路到所述存储器的间接测试访问路径和绕过所述存储器保护电路到所述存储器的直接测试访问路径。

在示例性实施例中,mbist控制器也可以使用支持存储器保护电路的测试所需的ip核心中的附加电路来进行存储器擦洗。

可以由mbist控制器使用本技术的示例和已经用于测试存储器保护电路的特征来类似地实现存储器擦洗。

示例布置潜在地可以是低成本的,并且对功率、性能(功能电路时序)和面积(统称为所谓的“ppa”标准)几乎没有影响,因为它们可以利用ip核心内的mbist接口和mbist电路以及已经用于存储器测试的mbist控制器,使得通过少量附加电路来允许测试存储器保护电路。由ip核心支持的存储器核心内置自测使用模型也可以用于测试存储器保护电路。此外,存储器被用来从存储器保护电路中捕获值并向存储器保护电路提供数据值,如在正常功能操作中发生的一样。

现在转到附图,图1示意性地示出了数据处理系统2,例如片上系统集成电路,其包括全部通过互连14连接的第一处理器核心4、第二处理器核心6、图形处理单元8、主存储器10以及外围设备12。第一处理器核心4和第二处理器核心6各自分别包含一级指令缓存16、一级数据缓存18和转换后备缓存器20。为了保持第一处理器核心4与第二处理器核心6内的数据缓存之间的一致性,窥探控制单元22用于发起窥探操作和一致性控制,其中利用窥探过滤器24以及其他电路。窥探控制单元22还包括由第一处理器核心4和第二处理器核心6共享的二级缓存26。dram控制器28设置在互连14与主存储器(dram)10之间。dram控制器28包括用于缓冲在主存储器10内访问的数据的数据缓冲器30,例如,针对在主存储器10内最近访问的多行数据提供缓冲存储器。图形处理单元8包括用于由图形处理单元8执行的图形处理操作的随机存取存储器32。

如图1中的“#”标记所示,图1中的数据处理系统2内的各种不同的存储器16、18、20、24、26、30设置有存储器保护电路。所绘制的示例系统中的图形处理单元8的存储器32不具有存储器保护电路,但是其可以存在于这个或其他图形处理器单元中。存储器保护电路可以采取各种不同的形式,例如,生成与存储在相应存储器内的数据值(其包括要被操纵的数据值和指令两者)相关联的奇偶性值和/或错误校正码值的电路。可以在数据值被写入存储器时由存储器保护电路生成奇偶校验值和/或错误校正码值,然后在从存储器读取数据值时由存储器保护电路读取和检查该奇偶校验值和/或错误校正码值。这样,可以检测到并且潜在地校正存储器操作中的错误(如果不是太严格的话)。可以理解的是,存储器保护电路可以以许多不同的方式工作,并且在处理和存储奇偶校验码和/或错误校正码的开销与它们提供的错误保护和错误校正能力之间通常存在权衡。数据也可能以下列方式在给定存储器内的被访问,其中访问的位值表示多个数据值,每个数据值均具有单独的相关联的奇偶校验码和/或错误校正码,例如,128位的数据可以一起被访问,并且表示两个64位的数据字,每个数据字具有单独的奇偶校验码和/或错误校正码。

图1中的存储器16、18、20、24、26、30、32分别具有相关联的存储器内置自测控制器34(作为存储器内置测试电路的示例),其用于在管理处理器35的控制下在其相应存储器上执行存储器内置自测操作。请注意,没有必要使用单独的管理处理器;管理处理器的作用和功能可以由装置中的另一个(或多于一个)处理器连同一个或多个其他处理器的(一个或多个)其他作用和功能提供。

单独的存储器内置自测控制器34可以专用于对单独的存储器(例如,针对图形处理单元8内的ram存储器32)执行内置自测操作,或可以在多个存储器(例如,针对第一处理器4内的一级指令缓存16、一级数据缓存18和转换后备缓存器20)之间共享。

每个存储器可以由多个子存储器组成(例如,缓存可以包括标签ram和数据ram,并且这些ram中的每一个均可以被细分为多个存储路或存储体)。每个子存储器可以有自己的存储器保护逻辑。多个mbist控制器34可以同时执行测试,因此可以并行测试不同ip核心4、6、8、22、28中的存储器。

当管理处理器35指示存储器内置自测控制器34的一个实例对其各自相关联存储器中的一个进行内置自测操作时,存储器内置自测控制器34用于在待测试的存储器内保留一个或多个条目(由存储器地址表示)。如果相关联的处理电路4、6、8、22、28希望在保留这些存储器位置的同时利用这些存储器位置,则处理电路停止,直到内置自测操作完成并且释放存储器位置。这描述了如上所讨论的在线测试使用模型。也可以使用如上所述的生产测试使用模型(整个设备的操作在测试期间不可用)或离线测试使用模型(在测试期间特定的存储器不可用,在没有使用禁用的存储器的情况下操作以其他方式继续进行)。

如上所述,测试可以布置为对处理器的操作几乎没有影响。在一段延长的时间周期内,管理处理器35指示执行内置自测操作,该操作最终覆盖给定存储器内的所有存储位置,以便检查完整存储器的正确操作。这种测试模式允许在数据处理系统2在现场使用并执行其功能处理操作的同时执行正在进行的内置自测操作。

图2示意性地示出了连接到存储器36(其可以例如是图1的存储器16、18、20、24、26、30中的一个)的存储器内置自测控制器34,其配备有以写入侧存储器保护电路38和读取侧存储器保护电路40的形式存在的存储器保护电路。在该示例实施例中,写入侧存储器保护电路38用于根据存储在存储器36中的数据值52来生成错误校正码50。错误校正码(ecc)包括保护码值,并且所存储的数据值包括保护数据值52。来自mbist控制器的数据总线可以例如足够宽以承载数据和ecc值。更具体地,在存储器36的正常功能操作期间,要写入存储器36的数据值z通过第四多路复用器46被提供给存储器36并且通过第二多路复用器42被提供给写入侧存储器保护电路38。写入侧存储器保护电路38根据保护数据值z生成保护码值y,使得保护码值y可以通过第一复用器44存储到存储器36中,并且与通过第四复用器46被写入的保护数据值z相关联。因此,存储器条目x(至少)包括ecc保护码值50和相应保护数据值52。在正常功能操作期间,用于读取访问和写入访问的功能存储器地址通过第五复用器47被提供给存储器36。在正常的写入操作中,y和z一起被写入。

在功能(非测试)使用中,读取侧存储器保护电路40读取存储器36内的条目的保护数据值52和保护码值50,并一起处理保护码值50和保护数据值52以检测其中的任何错误,并在必要时尝试校正该错误。来自读取侧存储器保护电路40的功能读取数据路径包括:校正数据路径(被保护的数据值52经受必要和可能的任何校正);并发位值,其指示保护数据值52内的一个或多个位位置,读取侧存储器保护电路40在该一个或多个位位置处检测到错误;以及错误检测值,其指示读取侧存储器保护电路40检测到保护数据值52和保护码值50内的错误。

第一复用器44和第二复用器42一起用于提供到存储器36的间接测试访问路径“1”和直接测试访问路径“2”两者,以用于将数据的保护码值y50部分写入存储器36中。间接路径“1”通过写入侧存储器保护电路38,并且直接路径“2”绕过写入侧存储器保护电路38。

在测试期间,mbist控制器34通过直接测试访问路径“7”使用第四多路复用器46将保护数据值z提供给存储器36以供写入访问。因此,对于在测试期间对存储器36的写入访问:

-保护码值y和保护数据值z都由mbist控制器34同时使用路径“2”和“7”提供,或

-保护码值y由写入侧存储器保护电路38提供,保护数据值z由mbist控制器34使用路径“1”和“7”提供。注意,由mbist控制器34提供给路径“1”和“7”的值是相同的。

这是可以实现的,因为第一和第四多路复用器是独立可控的。直接路径“2”和“7”允许存储器内置自测控制器34直接将保护码值50和保护数据值52写入存储器36,而与写入侧存储器保护电路38的操作无关。例如,这有助于以下列方式来仿真保护码值50和保护数据值52内的错误,其中读取侧存储器保护电路40在检测和/或校正这些错误时的正确操作可以被测试。

在测试期间,mbist控制器34通过直接测试访问路径“8”使用第五复用器47将用于读取访问或写入访问的地址提供给存储器36。

第三多路复用器48用于选择连接到存储器内置自测控制器34以及一个或多个不同的读取输出(路径)。读取路径“3”提供直接路径以允许绕过读取侧存储器保护电路40的操作来从存储器36读取保护码值50和保护数据值52。读取路径“4”允许读取由读取侧存储器保护电路40生成的错误检测值。读取路径“5”允许读取由读取侧存储器保护电路40生成的并发位值。读取路径“6”允许读取由读取侧存储器保护电路40生成的校正数据值。

因此,第三多路复用器48针对存储器内置自测控制器34提供直接路径“3”以读取存储在存储器36中的保护码和保护数据值,并且提供通过读取侧存储器保护电路40的间接路径“4”、“5”、“6”以读取存储器36。例如,这允许写入侧存储器保护电路38在针对待测试的给定保护数据值生成适当的保护码值50时的正确操作。

请注意,mbist操作也使用路径“2”、“7”、“8”和“3”来测试存储器本身。

提供分别包括或绕过存储器保护电路38、40的直接测试访问路径和间接测试访问路径允许测试操作被执行,该测试操作包括测试存储器保护电路38、40本身的正确操作的测试操作。

注意,在应用于本文描述的所有存储器保护电路测试时,(a)任何存储器(例如,ram)条目均可以用于测试;(b)如果检测到故障,则必须测试测试中使用的ram条目以检查故障不是源自条目本身的硬错误或软错误;并且(c)可以用不同的数据值重复测试,以全面测试存储器保护电路的所有位。

因此,图1和图2提供了用于处理数据的装置2的示例,包括:存储器36;存储器保护电路(例如,38、40),用于提供到所述存储器的操作访问路径并且在所述存储器操作使用期间防止所述存储器中的错误;以及存储器内置自测电路34,用于对所述存储器执行测试操作;其中所述存储器内置自测电路提供通过所述存储器保护电路到所述存储器的间接测试访问路径(“1”)和绕过所述存储器保护电路到所述存储器的直接测试访问路径(“2”)。mbist控制器34和相关电路可以提供一种用于对存储器进行内置自测的存储器内置自测设备的示例,存储器具有存储器保护电路,存储器保护电路提供到所述存储器的操作访问路径并且在所述存储器操作使用期间防止所述存储器中的错误,所述存储器内置自测设备包括:存储器接口电路,用于提供通过所述存储器保护电路到所述存储器的间接测试访问路径和绕过所述存储器保护电路到所述存储器的直接测试访问路径。

在测试过程开始之前,管理处理器35对用于测试目标存储器和相关存储器保护电路的mbist控制器34进行编程。该编程包括提供关于要访问的存储器(例如,mbist阵列标识符(id))、一个或多个测试数据模式、期望的读取数据以及如下所述要执行的操作的信息。然后,管理处理器34指示mbist控制器34执行存储器保护电路测试。当测试完成时,管理处理器35可以访问mbist控制器34以获得测试的结果,并且如果测试失败则采取适当的行动。mbist控制器34被用来执行测试,因为它可以使用连续(背对背)操作以全功能速度测试存储器保护电路。在示例配置中,提供了快速切换数据位的测试模式,因为老化的影响可能导致电路的操作减慢,导致其以与硬故障类似的方式发生故障。这也允许快速执行测试,因此存储器可以被保留以用于时间尽可能少的测试,这对于在线mbist方法中的使用是重要的。

图3是示意性示出用于测试写入侧存储器保护电路38的正确操作的写入侧存储器保护测试的流程图。

在步骤54的处理开始时,待测试的存储器条目中的值可以由mbist控制器34保存,使得其可以在步骤56的测试结束时得以恢复。该保存和恢复操作也可以针对本文所描述的每个其他形式的示例测试被执行。

该测试使用已知的测试数据值及其倒数(inverse),以利用不同的值来快速激励写入侧存储器保护电路。每个值由mbist控制器34背靠背应用。也可以使用两个不相关的数据值。

在步骤55处,已知的测试数据值的倒数通过路径“1”和路径“7”被写入到存储器36中。在步骤57,写入侧存储器保护电路38生成保护码值50并将其与保护数据值52一起存储在存储器36中。

在步骤58处,通过路径“1”和路径“7”将已知的测试数据值写入存储器36。在步骤60处,写入侧存储器保护电路38生成保护码值50,并将其与保护数据值52一起存储在存储器36中。在步骤62,mbist控制器34用于通过路径“3”从存储器36读取保护码值50,并且将保护码值50存储在其数据寄存器之一中。因此,步骤58和60处的对存储器36的写入使用间接保护码路径“1”和直接保护数据路径“7”,并且步骤62处的从存储器36进行读取是通过直接路径“3”。

在步骤64处,由管理处理器35从mbist控制器34数据寄存器读取在步骤62处读取的保护码值,并将其与由管理处理器35确定的预期保护码值进行比较。步骤66确定这些是否相等。如果读取的保护码值与期望保护码值不相同,则处理进行到步骤68,其中执行基于写入侧存储器保护电路故障的动作。如果读取的保护码值等于预期保护码值,则处理进行到步骤70,其中执行写入侧存储器保护电路测试通过操作。在步骤56处,报告测试结果并且完成测试选项(包括恢复来自存储器36内被测试的存储器位置的原始保存值)。

图4示意性地示出了用于测试错误检测值的正确生成的读取侧存储器保护测试。例如,该值可以指示存储器条目的内容不包括错误、包括可校正的错误、或包括不可校正的错误。

测试使用已知的测试数据值d1和另一个(第二)值d2(可能从第一值d1导出,但是具有相对于第一值d1的一个或多个反转位),以利用不同的值来快速激励读取侧存储器保护电路。一个值包括错误,另一个不包括错误。例如,值d1可以包括错误。每个值d1、d2均被写入不同的条目(a1或a2),然后由mbist控制器34背靠背地读取。因此,每个值激励来自错误检测电路的不同响应。

在步骤70处,测试开始(必要时保存测试使用的条目的原始数据值,使得它们可以在步骤72处在测试结束时恢复)。

在步骤73处,第二保护码值52和数据值50d2通过路径“2”(用于对存储器36进行写入访问的直接保护码值路径)和路径“7”被写入存储器36条目a2中。

在步骤74处,已知的保护码值52和数据值50d1通过路径“2”(用于对存储器36进行写入访问的直接保护码值路径)和路径“7”被写入存储器36条目a1中。针对保护码值和数据值写入的值可以指示或不指示这些值中的错误,这取决于其期望测试读取侧存储器保护电路40内的假阳性还是假阴性。

在步骤75处,由mbist控制器34通过路径“4”从存储器36的条目a2读取针对d2的错误检测值。

在步骤76处,由mbist控制器34通过路径“4”从存储器36条目a1读取针对d1的错误检测值,并将错误检测值存储在其数据寄存器之一中。所读取的值通过包括读取侧存储器保护电路40的间接路径。步骤78将在步骤76处读取的针对d1的错误检测值与期望错误检测值进行比较。步骤80确定这些是否相等。如果错误检测信号的读取值与错误检测信号的期望值不相等,则步骤82用于执行与读取侧检测错误电路40中的错误相关联的处理。相反,如果值相等,则步骤84执行读取侧保护错误检测电路测试通过处理。测试然后在步骤72处结束,将原始值恢复到被测试的存储器条目中。

图5是示意性地示出读取侧存储器保护测试的流程图,该读取侧存储器保护测试用于检测生成并发位值时的错误。

测试使用已知的测试数据值d1和另一个(第二)值d2(可能从第一数据值d1导出,但是具有相对于第一数据值d1的一个或多个反转位),以利用不同的值快速激励读取侧存储器保护电路。一个值包括错误,另一个不包括错误。每个值d1、d2均被写入不同的条目(a1和a2),然后由mbist控制器34背靠背地读取。因此,每个值激励来自并发位电路的不同响应。

步骤86和88分别开始和停止测试的处理,其中保存所使用的条目的原始值,并且然后恢复原始值。

在步骤89处,第二保护码值52和第二数据值50d2通过路径“2”(用于对存储器36进行写入访问的直接保护码值路径)和路径“7”被写入存储器36条目a2中。

在步骤90处,已知的保护码值52和数据值50d1通过对应于直接路径的路径“2”和路径“7”被写入存储器36条目a1中。保护码52和数据值50的值可以包括或不包括一个或多个位错误。

在步骤91处,由mbist控制器通过路径“5”从存储器36的条目a2读取针对d2的并发位值。

在步骤92处,通过路径“5”(通过读取侧存储器保护电路40的间接路径)从存储器36条目a1读取针对d1的并发位值。步骤94将在步骤92处读取的针对d1的并发位值与给定保护码值52和数据值50的并发位值的期望值进行比较,该给定保护码值52和数据值50在步骤90处由mbist控制器34写入存储器36并存储在其数据寄存器之一中。步骤96确定并发位值的预期值与读取值是否相等。如果期望值与读取值不相等,则步骤98触发读取侧并发位电路故障响应。如果值相等,则步骤100触发读取侧并发位电路测试通过响应。步骤88报告测试结果并结束测试处理。

图6是示意性地示出用于测试错误校正的读取侧存储器保护测试的流程图。

测试使用已知的测试数据值d1和另一个(第二)值d2(可能从第一值d1导出,但是具有相对于第一值d1的一个或多个反转位),以利用不同的值来快速激励读取侧存储器保护电路。一个值包括错误,另一个不包括错误。每个值被写入不同的条目(a1和a2),然后由mbist控制器34背靠背地读取。因此,每个值激励来自错误校正电路的不同响应。在一些示例中,这两个值是彼此的倒数。

测试在步骤102处开始,其中在存储器36中保存测试使用的条目的当前值;并且在步骤104处结束,其中报告测试结果,终止测试,并且将这些值恢复到条目中。

在步骤105处,第二保护码值52和第二数据值50d2通过路径“2”和路径“7”被写入存储器36条目a2中。

在步骤106处,已知的保护码值52和数据值50d1通过路径“2”(绕过写入侧存储器保护电路38的直接保护码值访问路径)和路径“7”被写入存储器条目a1中。

在步骤107处,由mbist控制器通过路径“6”从存储器36的条目a2读取针对d2的校正数据值。

在步骤108处,通过路径“6”(通过读取侧存储器保护电路40的间接路径)从存储器条目a1读取针对d1的校正数据值。在步骤110中,由mbist控制器34将在步骤108处读取的针对d1的校正数据值与预期校正数据值进行比较,并将其存储在其数据寄存器之一中。步骤112确定读取值和期望值是否相等。如果这些值不相等,则步骤114用于触发读取侧错误校正电路故障响应。如果这些值相等,则步骤116用来触发读取侧错误校正电路测试通过响应。然后在步骤104结束测试。

图7是示意性地示出针对一个存储器条目使用测试存储器保护电路所需的电路的存储器擦洗过程的流程图。对存储器36内的每个条目均重复该过程,并且可以在正常操作期间周期性地执行该过程。存储器访问是连续执行的,以确保存储器在尽可能短的时间内被锁定。可以一次对多个不同的存储器条目重复该过程,而不需要释放条目之间的锁定。

该过程从步骤700开始,读取存储在由mbist控制器34通过路径“4”存储在存储器36中的条目(图示为任意条目x)中的保护数据值。来自读取侧存储器保护电路40的错误指示值被读取并返回到mbist控制器34。

在步骤705和710处,mbist控制器34检查错误指示值。(注意,为了图中控制流程的路由清晰,这些被显示为单独的步骤,但是可以作为具有三个可能结果的单个检查来实施:无错误、可校正的错误、不可校正的错误)。如果没有指出错误,则控制转到步骤715,在步骤715处,地址被更新以便擦洗下一个条目。如果指示有错误,则控制转到步骤710,在步骤710处,如果指示可校正的错误,则过程继续到步骤720,或者如果不是(也就是说,如果指示不可校正的错误),则控制转到步骤725。

在步骤720处,由mbist控制器34通过路径“6”(通过读取侧存储器保护电路40的间接路径)读取存储器36内正在被擦洗的条目中存储的保护数据值。这具有读取校正数据值的效果。

在步骤730处,mbist控制器34通过路径“1”和路径“7”将该校正值写回到存储器36中正在被擦洗的条目,如上所述路径“1”通过写入侧保护电路以生成保护码值,并且路径“7”用于保护数据值。写入侧存储器保护电路38生成保护码值50并将其与校正的保护数据值52一起存储在存储器36中。

请注意,检测到的错误可能在数据字段或ecc字段中。如果错误在数据字段中,那么ecc逻辑可以在读取时校正数据,并且这个(校正的)数据被写回到存储器,从而校正错误。重新生成ecc字段,但与以前相同。如果错误在ecc字段中,则校正后的读取数据与存储器中存储的值相同。将该值写回存储器,重新生成与以前不同的ecc字段,校正错误。

在步骤735中,由mbist控制器34通过路径“4”再次读取存储器36内正在被擦洗的条目中存储的保护数据值。

在步骤740中,由mbist控制器34检查在步骤735处读取的错误指示值,并且如果指示错误,则过程继续到步骤725。如果不是(如果没有指出错误),则控制转到步骤715,在此步骤(如上所述)处,在mbist控制器中更新存储器地址以指向存储器36中待擦洗的下一个条目,并且过程(关于该存储器地址)结束。

在步骤725中,mbist控制器34向管理处理器35发出警报,以指示被擦洗的条目包含不可恢复的错误或硬错误。管理处理器35然后可以采取缓解措施:例如,它可以测试在存储器36中被擦洗的条目或者重置处理器或采取一些其他行动。

尽管已经参考附图在本文中详细描述了说明性实施例,应该理解的是,权利要求不限于那些明确的实施例,并且本领域技术人员可以在不脱离所附权利要求书的范围和精神的情况下,进行各种改变、添加和修改。例如,从属权利要求的特征的各种组合可以与独立权利要求的特征放在一起。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1