CN100363907C - 用于识别局部损坏存储器的自测试方法和装置 - Google Patents

用于识别局部损坏存储器的自测试方法和装置 Download PDF

Info

Publication number
CN100363907C
CN100363907C CNB2005101291471A CN200510129147A CN100363907C CN 100363907 C CN100363907 C CN 100363907C CN B2005101291471 A CNB2005101291471 A CN B2005101291471A CN 200510129147 A CN200510129147 A CN 200510129147A CN 100363907 C CN100363907 C CN 100363907C
Authority
CN
China
Prior art keywords
computing system
processor
subdivision
cache memory
damage
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.)
Expired - Fee Related
Application number
CNB2005101291471A
Other languages
English (en)
Other versions
CN1786929A (zh
Inventor
W·V·霍特
D·J·伦德
K·H·马茨
B·L·梅希特利
P·帕特尔
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1786929A publication Critical patent/CN1786929A/zh
Application granted granted Critical
Publication of CN100363907C publication Critical patent/CN100363907C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • 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
    • G11C2029/0401Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals in embedded memories
    • 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
    • G11C2029/0407Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals on power on
    • 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
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

提供了一种计算机系统,其包括具有高速缓冲存储器的处理器。该高速缓冲存储器包括多个可独立配置的子部分,每个子部分包括存储器阵列。计算系统的服务单元(SE)可被操作用于使内装自测试(BIST)被执行以便测试该高速缓冲存储器,BIST可被操作用于确定任意子部分是否为损坏的。当确定了由BIST确定损坏的高速缓冲存储器的一个子部分是不可修复的时候,该SE从系统配置中逻辑地删除该损坏子部分,并且该SE可被操作用于允许处理器在不具有所述被逻辑删除子部分的情况下运行。该SE还可被操作用于当损坏子部分的数量超过阈值时确定处理器是损坏的。

Description

用于识别局部损坏存储器的自测试方法和装置
技术领域
本发明涉及计算系统,并更特别地涉及识别和逻辑删除计算系统的高速缓存的损坏子部分的装置和方法。
背景技术
对于许多计算机特别是服务器计算机而言,现在日益增长的依赖计算机的交易已经使保持一天二十四小时的持续运行成为必需。然而,不可避免地,在计算机内部会出现中断该计算机提供的服务的损坏。目前,服务中断或者甚至是计算机提供的服务速度减慢都将导致交易中断,它潜在地使交易所有者付出远远超过修复计算机的成本的代价。或许比起计算机的其他单元来,存储器单元在使用过程中更容易出现损坏。对于某些损坏而言,如果该损坏致使系统无法运行,并需要在系统能够重新运行之前替换存储器单元,那么其对交易的影响会很严重。
工业上解决此问题的一种方式是争取更可靠的存储器设计和产品。然而,随着存储器单元的集成密度和规模的增加,不可避免地将存在某些损坏,其需要替换存储器单元以便进行修复。而仍然需要解决用于修复这类损坏的系统停机时间。关于处理器所使用的高速缓冲存储器的这些问题会被特别强烈地感受到。高速缓冲存储器用于提供对于频繁引用和操作的数据及指令的快速访问。一级(L1)高速缓冲存储器(下文中称为“高速缓冲存储器”)典型地被集成在计算系统的处理器单元中。处理器需要具有某个最小数量的存储单元的高速缓冲存储器,以便达到最好的处理性能。
当高速缓冲存储器由于一种或另一种原因而出现损坏时,传统的方法允许例如字线和列的高速缓冲存储器的单独存储单元被内部删除和/或用冗余单元替换,以便允许处理器在检测到永久性损坏后能重新运行。近年来,改进的测试和内部自修复机制已允许计算机系统自己执行这种类型的修复操作。然而,自修复通常无法用于替换高速缓冲存储器的很大部分。此外,自修复无法修理一种情况,即,高速缓冲存储器的通常可修复的部分出现故障,但由于所有可用的修复操作都已经被使用而不能被修复。当高速缓冲存储器的一部分出现无法由内部机制修复的损坏时,传统的响应是,在给计算机加电的自测步骤期间发现此损坏时声明整个高速缓冲存储器是损坏的。接着这通常需要将使用该高速缓冲存储器的整个处理器脱机,即,从系统配置中移除。在某些情况下,该响应需要将具有多个处理器的整个计算系统断电,而不仅仅是将具有故障高速缓冲存储器的处理器断电。然后计算系统将等候被修理,其通过物理上移除包含故障处理器的系统的一部分,并且用可替换故障的单元(FRU)将其替换。显然,该结果并不理想,因为对于客户而言,它导致系统可用性的降低、或甚至是完全不可用。更理想的结果将是允许计算系统在其配置中保留所述具有高速缓冲存储器的故障子部分的处理器,并持续运行,而且从配置中逻辑地(而不是物理地)移除高速缓冲存储器的故障子部分。
考虑到上述内容,理想地可以提供一种机制,通过该机制,使高速缓冲存储器不可修复的子部分被识别并且从计算系统的配置中逻辑地删除,以便允许所述计算系统持续运行,并具有比此前更好的系统可用性。
发明内容
这里对通过本发明各种实施例所实现的一系列理想目的的列举并不意味着暗示或建议这些目的中的任一个或全部被独立地或共同地呈现作为本发明最普通的实施例中或者任何更特定的实施例中的本质特征。
根据本发明的一方面,提供了一种包括具有高速缓冲存储器的处理器的计算系统。该高速缓冲存储器包括多个可独立配置的子部分,每一子部分包括存储器阵列。该计算系统的服务单元(SE)可被操作用于使内装自测试(BIST)被执行来测试该高速缓冲存储器,该BIST是可被操作用于确定任一子部分是否是损坏的。当确定了高速缓冲存储器被BIST所确定损坏的一个子部分是不可修复的时候,SE从系统配置中逻辑地删除所述损坏子部分,并且该SE可被操作用于允许处理器在没有该逻辑删除的子部分的情况下运行。该SE还可被操作用于确定当损坏子部分的数量超过阈值时该处理器是损坏的。
根据本发明的另一方面,提供了一种方法,其用于在加电时部分识别出计算系统的正常高速缓冲存储器。这种方法包括当加电时在高速缓冲存储器上执行内装自测试,以便确定不同种类的高速缓冲存储器中呈现的损坏子部分的数量。确定无法被芯片上自修复技术所修复的不同类型的损坏子部分的数量。将不可修复的损坏子部分的数量报告给服务单元;并且将该不可修复子部分从计算系统的配置中逻辑删除,以使该计算系统可以在没有该逻辑删除的子部分的情况下加电并正常运行。
附图说明
被认为是本发明的主题在本说明书的结论部分被特别指出并且被明确地要求保护。但是,通过参考以下结合附图的描述,可以最佳地理解本发明关于实践中的结构和方法及其进一步的目的和优点,在附图中:
图1是示意性地说明实现本发明实施例的计算系统的图;
图2是示意性地说明依照本发明实施例的计算系统的内部结构图;以及
图3是说明依照本发明实施例的自测方法的流程图。
具体实施方式
这里描述的本发明的实施例提供了一种系统和方法,该系统和方法在对计算机系统加电时,标识并逻辑地删除例如组部分的高速缓冲存储器的损坏子部分,以便允许该计算系统不管故障子部分的出现而继续运行。这与传统的测试形成对比,此前的测试需要计算系统保持为不运行,或者在没有包含损坏组部分的系统的处理器的情况下运行,直到通过用正常芯片替换包含损坏的组部分的芯片而修复该计算系统。
如图1中所说明的,计算系统100被组织为处理器节点115的群集104。为了便于参考,在系统100中仅仅示出一个群集104。然而,该系统可以包括被链接在一起的多个这种群集,用于处理不同规模的处理任务,所述任务典型地随执行它们所需的特定资源而变化。如图1中所示,群集104包括多个处理器节点115,每个节点都可以包括一个或多个在执行计算任务时一起合作的处理器。每个处理器节点115也典型地包括一个或多个本地或主存储器部件、显示器、打印机、输入输出(I/O)设备或联网在一起的计算机设备。如图所示,通信网络130提供处理器节点115之间以及处理器节点和一个或多个存储单元120之间的通信。该通信网络130可以是简单的,包括很少的链路和节点,或者是较复杂的,具有总线、路由、大容量线路、交换机和/或其他这样的连网单元。存储单元120提供可以在执行任务时由处理器节点115访问的信息的二级和/或三级存储。存储单元120最典型地是由已知为存储器管理器或“数据移动器”的进程所使用。这种数据移动器进程使数据移动进出存储单元120和支持处理器节点115上的任务的用户缓冲器117,该用户缓冲器117提供在执行任务期间由处理器节点115所使用的数据和指令的本地存储。
如图1中进一步说明的,计算系统100包括可编程服务单元(SE)190,其通过通信网络和/或通过诸如扫描接口195的二级接口连接到处理器节点115。该服务单元190的功能是在正常运行和复位期间监视群集104的处理器节点115的运行,包括对群集的加电和断电操作。该服务单元响应于可能发生的反常情况在系统中进行某些修复。该服务单元也管理群集中的硬件和固件的配置,例如处理器的数量和配置在每个节点115上的本地存储器的数量,以及群集104可用的二级存储120的总数。
图2说明了上述群集的处理器节点115的内部结构,该处理器节点通过接口205连接到服务单元190,该接口205可以包括如上文参考图1所述的一部分通信网络130和/或一部分扫描接口195。如图2所示,处理器节点包括多个处理器芯片210。每个芯片210分别是包括两个处理器内核的集成电路。例如,一个芯片210包括两个处理器内核321和322,而另一个芯片210包括其他两个处理器内核323和324。每个处理器内核实现中央处理器(CPU)或群集的其他处理单元的功能。特别地,每个处理器内核执行指令来完成例如数据的操作和/或传输的处理任务。处理器节点115可以包括从一个到许多个这样的芯片210,其配置范围从在一个芯片210上具有一个已配置CPU的“一路处理器节点”到例如在八个这样的芯片210上提供的具有十六个CPU的“16路”处理器节点。
如图2进一步所示,每个处理器内核包括高速缓冲存储器。例如,处理器内核321包括高速缓冲存储器330。该高速缓冲存储器330是N路集联高速缓冲存储器。在图2所示的特定实施例中,处理器内核321、322、323和324的高速缓冲存储器330、340、350和360中的每个分别是四路集联。N路集联高速缓冲存储器有N“组”位置,每个组表示与高速缓冲存储器的其他N-1组相同的地址空间。数字“N”是大概的设计选择,但其优选地是二的倍数,它可以从N=2到大得多的数字而变化,例如N=16。在四路集联的高速缓冲存储器内,对高速缓存控制器(没有示出)呈现了两个地址位,用以选择四组中的哪一组是将被找到的由地址所指定的位置。在系统中使用N路集联高速缓冲存储器,以便通过降低在访问存储在高速缓存中的数据之前转换和/或译码地址所需的时间量而提高高速缓存的存取速度。因此,在这样的高速缓冲存储器中,通常在高速缓存控制器完成对最后两个地址位的转换和/或译码前开始访问存储在四组中的每一组的一个位置中的数据。以这种方式,在已经从所有组的位置中检索的数据中作出最后的选择。
如图2进一步所示,“阵列内装自测试”(ABIST)模块与每个处理器内核相关联。例如,ABIST 371与处理器内核321相关联。理想地,在每个处理器内核上实现ABIST的单独实例。ABIST包括测试单元功能的硬件和软件单元,所述单元诸如以处理器内核上构成的阵列形式来实现的高速缓冲存储器。每个处理器内核也典型地包括“逻辑内装自测试”(LBIST)模块(未示出),它用于测试在处理器内核上实现的诸如运算逻辑单元等的逻辑单元的功能。
在处理器节点115的正常运行期间,每个处理器内核都使用其本身的高速缓冲存储器来执行任务,所述高速缓冲存储器例如由处理器内核321所使用的高速缓冲存储器330。当处理器内核321正常运行时,不调用ABIST 371。而在通电复位期间和在被允许的其他时间例如响应于恢复操作之时调用ABIST。特别地,在每个处理器内核321、322、323和324中,ABIST测试相应的高速缓冲存储器的运行,以便确定当前配置下高速缓冲存储器的所有位置是否都可用。因此,ABIST执行某种测试,诸如将数据模式存储到高速缓冲存储器,并且随后从其中检索数据以确定特定的定址位置都是正常的还是故障的。
ABIST也包括用于确定故障严重性的机制。例如,当在高速缓存的定址位置出现错误时,ABIST将错误的位置记入日志。存储在高速缓冲存储器中的每一位都属于该存储器的特定的可定址“高速缓存线”。“高速缓存线”是数据单元,通常是偶数倍数字节的数据,其被传输进出处理器的寄存器和高速缓冲存储器。尽管按照功能上定义的高速缓存线来执行处理器和高速缓冲存储器之间的数据传输,但是按照字线和列执行高速缓冲存储器中的数据存储,所述字线和列由存储器阵列的物理结构所定义。在字线和列的接合点找到存储在高速缓冲存储器中的每一位。ABIST确定该错误是否属于可修复的类型。通过循环通过高速缓冲存储器的所有位置,ABIST确定哪些位置是损坏的,并且确定最适合用于处理该损坏的操作类型。ABIST确定该损坏是属于可修复的类型还是不可修复的类型。ABIST也给出将要执行的修复类型的建议。这通过示例最佳地进行了说明。可以修复高速缓冲存储器中的单个位的错误,通过:确定该单个位错误位于哪个字线和哪列中,决定是字线或是列损坏,然后用处理器内核上提供的冗余字线或者冗余列替换该损坏的字线或列。所述修复典型地由服务单元190执行,该服务单元190通过扫描接口195提供了将对一损坏字线或列的访问重定向到冗余单元的信号。
另一方面,当ABIST检测到在高速缓冲存储器的相同区域内呈现的多个故障时,ABIST确定高速缓冲存储器的整个区域都需要被修复。这样的区域可以包括含有多个字线的高速缓冲存储器的子部分,或者含有多个列的子部分,或者甚至高速缓冲存储器的更大子部分。
ABIST将测试高速缓冲存储器的结果报告给SE 190。然后SE使用关于损坏的高速缓存单元的报告信息例如字线、列和/或子部分,并且使用它执行冗余替换来修复该高速缓冲存储器。
这里描述的本发明实施例的独特的优点在于,ABIST能够识别高速缓冲存储器的损坏子部分,其是不可修复的,例如由于它们表示了过大的一部分高速缓冲存储器。然而,该ABIST继续进行测试直到测试了高速缓冲存储器的所有部分为止。在诸如通电复位的复位操作期间,ABIST会这样做。
在根据现有技术的系统中,当发现高速缓冲存储器的一部分出现损坏并且不可通过冗余替换修复时,处理该损坏的一种通常方式是从系统配置中移除使用该高速缓冲存储器的处理器,并且试图在没有该处理器的情况下运行计算系统。然而,处理这样的损坏的这种方式并不总是可用的。在某些类型的系统中,整个计算系统将无法加电,除非该计算系统配置了其设计配置的所有处理器。
因此,在本发明的实施例中,在给计算系统加电时即在加电复位时,或者在给计算系统的处理器加电时,ABIST测试高速缓冲存储器中的损坏。在图3中提供说明了依据本发明这样的实施例的操作的流程图。如步骤400所说明的,服务单元(SE)启动给计算系统加电的操作。如步骤410所示,SE使ABIST模块执行对包括计算系统的每个处理器内核的高速缓冲存储器的阵列单元的测试。类似地,LBIST模块测试处理器的逻辑功能。
如420所示,ABIST测试的结果是对故障状态或者可选的无故障状态即“通过”状态的确定。当ABIST确定为“通过”状态时,该结果被提供给SE,然后SE继续对计算系统加电,如步骤490所示。然而,当ABIST确定为故障状态时,该故障必须被处理。可以处理该故障的一种方式是依据步骤425和430。在框425所示的步骤中,ABIST确定该故障是否可以通过芯片上的自修复机制修复。特别地,该故障能被限制于高速缓存的可修复单元,并且表明它本身是高速缓存的字线或列中的一个或多个损坏。在这种情况下,ABIST指明故障的特定单元以及能够修复该故障单元的操作。如果该故障是可修复的,则ABIST将该故障报告给SE,如框430所示。然后该SE能依据报告信息而进行操作,以便替换高速缓存的单元来消除该故障状态。大多数情况下,能通过这样的操作解决故障。然而,偶尔会发生这种情况,即已经用冗余单元替换了太多这样的故障单元。在这种情况下,可能没有SE可用的冗余单元来替换该故障单元。SE把故障单元修复到其能够使用可用冗余单元的程度。在SE完成了修复或者因为不具有所需的资源而确定它不能进行修复之后,SE使得LBIST和ABIST从图3的框410开始重新测试处理器内核。
然而,作为测试结果,ABIST可能确定故障必须用不同于上述的方法来处理,即,当ABIST确定该故障不能使用一种芯片上可用的自修复机制来修复时。在这种情况下,该故障依据框440并结合框445或框450所示的步骤进行处理。当ABIST确定高速缓冲存储器的损坏部分大于用来进行修复的冗余单元的数量时,ABIST可以获得上述结果。例如,当高速缓冲存储器的一部分例如N路集联高速缓存的“组”部分损坏时,ABIST指明该组为损坏的。这可能是以下的情况,或者由于高速缓冲存储器本身的阵列部分中的损坏,或者是由于用来操作该高速缓冲存储器的信号和控制接口中的损坏。ABIST可以确定高速缓冲存储器的“组”部分损坏的另外一种情形是,当所述高速缓冲存储器的特定“组”部分内的故障数目大于阈值时。
然而,在确定一个“组”部分出现故障后,ABIST并不停止测试高速缓冲存储器。ABIST继续进行测试直到测试了整个高速缓冲存储器为止,并且ABIST确定高速缓冲存储器的所有这样的部分的正常或故障状态。那么,ABIST可确定:高速缓冲存储器的“组”部分没有出现故障、一个这样的组部分出现故障、或者两个或多个组部分出现故障。作为这种确定的结果,ABIST也确定计算系统是否能通过SE从系统配置中删除N路集联高速缓冲存储器的一个“组”部分来解决该故障(框440)。这是当一个组部分出现故障但高速缓冲存储器的其他部分被确定为没有故障的情况。
在这种情况下,ABIST把对所述一个故障组的确定以及该故障为可修复的决定报告给SE。在框445中,SE将关于要删除的故障组的信息记入日志。在此步骤中,SE可对芯片的处理器内核执行其他修复,包括对所述高速缓冲存储器的损坏字线或损坏列的替换。在这些修复完成后,优选地,ABIST从框410开始重新测试芯片的整个高速缓冲存储器的状态。有时,对损坏字线或损坏列的修复将高速缓冲存储器该组部分的状态从故障改为正常。在这种情况下,在重新测试后,ABIST确定阵列中不再存在故障的组部分。
当ABIST在重新检测后确定该组部分仍然有故障时,SE从系统配置中删除该故障的组部分,并使具有该删除的组部分的系统重新启动。优选地,接着依照图3的框410到490所说明的步骤重新执行LBIST和ABIST测试。
另一方面,当发现高速缓存的两个或多个组部分出现故障时,ABIST向SE报告此状态为不可修复的。在这种情况下,确定所述包含两个或多个故障组部分的处理器内核为故障的并且是不可修复的。在框450中,SE使用由ABIST报告的数据来从系统配置中“删除”(即移除)包含了故障组部分的处理器内核。在某些计算系统中,提供“备用”的处理器内核作为在一个处理器内核发生故障并且不可由芯片上自修复机制所修复的情况下可使用的单元。在这样的系统中,当一个处理器内核故障时,SE能够用备用处理器内核替换该故障处理器内核。
当从该系统配置中删除了由ABIST报告的计算系统的所有故障组部分和故障处理器内核之后,或者被备用内核替换之后,SE从框400开始重新启动系统加电程序,并且使得ABIST执行测试,其包括执行从框410开始的ABIST测试,以便测试具有被删除的组部分的处理器内核的状态,并且继续进行参照图3的框420到490所说明的步骤。
虽然上述实施例在执行诸如加电复位的复位期间发现了其最大的应用,但本发明不需要仅仅在通电复位之后使用。可以使用本发明的另外一种方式是在计算系统的正常(执行任务)运行期间发生的恢复操作期间。在这种操作期间可以发生大量错误,所述错误被确定是由于高速缓冲存储器的某一区域中的故障,所述故障例如位于高速缓冲存储器的某一组部分中的故障字线。通常,恢复操作允许SE从高速缓冲存储器配置中删除故障字线,以允许该计算系统随后快速恢复执行任务的操作。在此过程的变种中,当确定高速缓冲存储器的特定组部分中的故障单元的数量超过阈值时,SE可以暂时使受影响的处理器内核脱机,并调用ABIST来测试该受影响处理器内核的高速缓冲存储器。如果ABIST确定该高速缓冲存储器的一个组部分出现故障,那么SE可以用以上参照图3所描述的方式从系统配置中删除所述故障的组部分。
虽然在此依据本发明的某些优选实施例详细描述了本发明,但是本领域的技术人员可以实现其中的许多修改和改变。因此,所附的权利要求意于覆盖所有的这些修改和改变,并使其落入本发明的真正精神和范围内。
例如,SE不必非要在系统的单独芯片或单独模块中实现。此外,上述发明无需仅仅在多处理器的系统中使用,而是其可被应用于仅包括单个处理器的计算系统。服务单元的上述功能甚至可以被实现于处理器所在的同一芯片上。在这样的单个处理器计算系统的情况下,当ABIST确定单个处理器系统的高速缓冲存储器的组部分在加电时出现故障时,此处理器的配置逻辑电路可以执行对该故障组部分的删除,以允许该处理器继续加电和运行。

Claims (20)

1.一种具有系统配置的计算系统,所述计算系统包括:
具有高速缓冲存储器的处理器,所述高速缓冲存储器包括多个可独立配置的子部分,每个子部分包括存储器阵列;
服务单元,其可被操作用于使内装自测试得以执行,以测试所述高速缓冲存储器,所述内装自测试可被操作用于确定任何所述子部分是否出现损坏,以便:(a)当所述一个子部分不可被修复之时,所述服务单元可被操作用于逻辑地删除由所述内装自测试确定为损坏的一个所述子部分,并且所述服务单元可被操作用于允许所述处理器在没有所述被逻辑删除的子部分的情况下运行,以及(b)当所述损坏子部分的数量超过阈值时,所述服务单元可被操作用于确定所述处理器为损坏的。
2.如权利要求1所述的计算系统,其中所述服务单元可被操作用于从所述系统配置中移除所述损坏的处理器。
3.如权利要求1所述的计算系统,其中所述高速缓冲存储器是N路集联高速缓冲存储器,并且所述子部分是所述高速缓冲存储器的组。
4.如权利要求3所述的计算系统,其中所述服务单元可被操作用于使所述内装自测试在给所述计算系统加电后执行。
5.如权利要求4所述的计算系统,其中所述服务单元可被操作用于使所述内装自测试在所述计算系统运行期间发生错误之后执行。
6.如权利要求3所述的计算系统,其中所述服务单元可被操作用于无需用户干预而自动删除所述组中的一个损坏组,所述服务单元可被操作用于仅在对所述高速缓冲存储器完成所述内装自测试后逻辑地删除所述损坏组。
7.如权利要求3所述的计算系统,其中所述服务单元可被操作用于在逻辑地删除所述组中的一个损坏组之后完成对所述计算系统加电。
8.如权利要求6所述的计算系统,包括多个所述处理器,其中所述服务单元在所述内装自测试确定一个处理器的两个或多个所述组是损坏的之后可被操作用于从所述系统配置中移除所述的一个损坏处理器。
9.如权利要求8所述的计算系统,其中所述计算系统包括备用处理器,并且所述服务单元可被操作用于用所述备用处理器替换所述计算系统的所述的一个损坏处理器。
10.一种具有系统配置的计算系统,所述计算系统包括:
多个处理器芯片,每个处理器芯片包括一个或多个处理器内核和支持所述一个或多个处理器中的一个的运行的高速缓冲存储器,所述高速缓冲存储器包括多个可独立配置的子部分;
服务单元,其可被操作用于使内装自测试在所述处理器内核上执行,所述内装自测试可被操作用于确定一个或多个所述子部分是否为损坏的,以便对于所述处理器芯片:(a)当所述内装自测试确定所述一个子部分是损坏的之时,所述服务单元可被操作用于从所述系统配置中逻辑地删除一个所述子部分,并且所述服务单元可被操作用于允许所述计算系统在没有所述被逻辑删除的子部分的情况下运行,以及(b)当所述损坏子部分的数量超过阈值时,所述服务单元可被操作用于确定所述处理器内核为损坏的。
11.一种在加电时部分地识别计算系统的正常高速缓冲存储器的方法,所述方法包括:
在所述加电时间在所述高速缓冲存储器上执行内装自测试,以便确定不同类型的所述高速缓冲存储器中所呈现的损坏子部分的数量;
确定不可被芯片上自修复技术修复的所述不同类型的所述损坏子部分的数量;
将所述不可修复的损坏子部分的所述数量报告给服务单元;
从所述计算系统的配置中逻辑地删除所述不可修复损坏部分;以及
在没有所述被逻辑删除的子部分的情况下以正常运行模式加电和运行所述计算系统。
12.如权利要求11所述的方法,其中所述计算系统包括多个处理器,每个处理器具有一个所述高速缓冲存储器,所述存储器还包括:确定所述不可修复的损坏子部分的数量是否超过一个所述处理器的阈值,并且当超过所述阈值时从所述计算系统的所述配置中移除所述一个处理器。
13.如权利要求12所述的方法,其中所述高速缓冲存储器是N路集联存储器,并且子部分的至少一个所述类型是所述高速缓冲存储器的组。
14.如权利要求13所述的方法,还包括在所述计算系统运行期间出现错误之后执行所述内装自测试,并且随后执行所述确定、报告和逻辑删除的步骤。
15.如权利要求14所述的方法,还包括:在所述内装自测试确定一个所述处理器的高速缓冲存储器的所述组没有损坏或者只有一个组损坏之后,允许所述计算系统运行,以及无论何时当确定两个或多个所述组为损坏时阻止所述计算系统运行。
16.如权利要求13所述的方法,其中,仅在对于包括所述不可修复子部分的所述高速缓冲存储器完成所述内装自测试后,无需用户干预而执行所述的逻辑删除所述不可修复的损坏子部分的步骤。
17.如权利要求13所述的方法,还包括:当所述内装自测试确定所述一个处理器的所述高速缓冲存储器的两个或更多所述组为损坏时,从所述系统配置中移除一个损坏处理器.
18.如权利要求17所述的方法,还包括:用所述计算系统中包括的备用处理器替换所述一个损坏处理器,而无需物理上移除所述一个损坏处理器。
19.如权利要求11所述的方法,还包括:确定可被修复的所述损坏子部分的数量,以及通过芯片上自修复技术修复所述可修复损坏子部分中的至少一个。
20.如权利要求19所述的方法,其中所述逻辑删除和修复的步骤由所述计算系统的服务单元来执行。
CNB2005101291471A 2004-12-09 2005-11-14 用于识别局部损坏存储器的自测试方法和装置 Expired - Fee Related CN100363907C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/008,371 US7366953B2 (en) 2004-12-09 2004-12-09 Self test method and apparatus for identifying partially defective memory
US11/008,371 2004-12-09

Publications (2)

Publication Number Publication Date
CN1786929A CN1786929A (zh) 2006-06-14
CN100363907C true CN100363907C (zh) 2008-01-23

Family

ID=36654723

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101291471A Expired - Fee Related CN100363907C (zh) 2004-12-09 2005-11-14 用于识别局部损坏存储器的自测试方法和装置

Country Status (2)

Country Link
US (2) US7366953B2 (zh)
CN (1) CN100363907C (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7555677B1 (en) * 2005-04-22 2009-06-30 Sun Microsystems, Inc. System and method for diagnostic test innovation
US20070022250A1 (en) * 2005-07-19 2007-01-25 International Business Machines Corporation System and method of responding to a cache read error with a temporary cache directory column delete
US7275196B2 (en) 2005-11-23 2007-09-25 M2000 S.A. Runtime reconfiguration of reconfigurable circuits
US7594145B2 (en) * 2006-05-31 2009-09-22 Fujitsu Limited Improving performance of a processor having a defective cache
JP2008152594A (ja) * 2006-12-19 2008-07-03 Hitachi Ltd マルチコアプロセッサ計算機の高信頼化方法
US8095831B2 (en) * 2008-11-18 2012-01-10 Freescale Semiconductor, Inc. Programmable error actions for a cache in a data processing system
US8127184B2 (en) 2008-11-26 2012-02-28 Qualcomm Incorporated System and method including built-in self test (BIST) circuit to test cache memory
US8140763B2 (en) 2009-07-16 2012-03-20 International Business Machines Corporation Techniques for managing data in a write cache of a storage controller
US9203728B2 (en) * 2011-03-09 2015-12-01 lxia Metadata capture for testing TCP connections
US20120260138A1 (en) * 2011-04-05 2012-10-11 Downing Iii Robert L Error logging in a storage device
US8868975B2 (en) 2011-07-26 2014-10-21 International Business Machines Corporation Testing and operating a multiprocessor chip with processor redundancy
CN103514068A (zh) * 2012-06-28 2014-01-15 北京百度网讯科技有限公司 内存故障自动定位方法
US8949659B2 (en) * 2012-10-18 2015-02-03 International Business Machines Corporation Scheduling workloads based on detected hardware errors
US9703661B2 (en) 2015-02-05 2017-07-11 International Business Machines Corporation Eliminate corrupted portions of cache during runtime
KR102649318B1 (ko) 2016-12-29 2024-03-20 삼성전자주식회사 상태 회로를 포함하는 메모리 장치와 그것의 동작 방법
US10437729B2 (en) 2017-04-19 2019-10-08 International Business Machines Corporation Non-disruptive clearing of varying address ranges from cache
DE112018008197T5 (de) * 2018-12-11 2021-09-23 Intel Corporation Laufzeit-Nach-Paket-Reparatur für Speicher
US11042483B2 (en) 2019-04-26 2021-06-22 International Business Machines Corporation Efficient eviction of whole set associated cache or selected range of addresses
CN117783839A (zh) * 2023-12-27 2024-03-29 苏州异格技术有限公司 芯片测试方法、装置、计算机设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835504A (en) * 1997-04-17 1998-11-10 International Business Machines Corporation Soft fuses using bist for cache self test
US6351789B1 (en) * 1998-05-29 2002-02-26 Via-Cyrix, Inc. Built-in self-test circuit and method for validating an associative data array

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4523313A (en) 1982-12-17 1985-06-11 Honeywell Information Systems Inc. Partial defective chip memory support system
JPS6414797A (en) 1987-07-08 1989-01-18 Nec Corp Semiconductor integrated memory
US5070502A (en) * 1989-06-23 1991-12-03 Digital Equipment Corporation Defect tolerant set associative cache
US4992984A (en) 1989-12-28 1991-02-12 International Business Machines Corporation Memory module utilizing partially defective memory chips
EP0632380A1 (en) 1993-06-30 1995-01-04 International Business Machines Corporation A circuit allowing a two-pass fuse blow to memory chips combining abist and redundancy capabilities
US5659551A (en) 1995-05-31 1997-08-19 International Business Machines Corporation Programmable computer system element with built-in self test method and apparatus for repair during power-on
US5805789A (en) 1995-12-14 1998-09-08 International Business Machines Corporation Programmable computer system element with built-in self test method and apparatus for repair during power-on
US5835502A (en) 1996-06-28 1998-11-10 International Business Machines Corporation Method and apparatus for handling variable data word widths and array depths in a serial shared abist scheme
US6008538A (en) 1996-10-08 1999-12-28 Micron Technology, Inc. Method and apparatus providing redundancy for fabricating highly reliable memory modules
US5953745A (en) 1996-11-27 1999-09-14 International Business Machines Corporation Redundant memory array
US6006311A (en) 1997-04-14 1999-12-21 Internatinal Business Machines Corporation Dynamic updating of repair mask used for cache defect avoidance
US5958068A (en) 1997-04-14 1999-09-28 International Business Machines Corporation Cache array defect functional bypassing using repair mask
US6125465A (en) 1998-01-09 2000-09-26 International Business Machines Corporation Isolation/removal of faults during LBIST testing
US6173357B1 (en) 1998-06-30 2001-01-09 Shinemore Technology Corp. External apparatus for combining partially defected synchronous dynamic random access memories
US6222211B1 (en) 1999-11-19 2001-04-24 Han-Ping Chen Memory package method and apparatus
US6671822B1 (en) * 2000-08-31 2003-12-30 Hewlett-Packard Development Company, L.P. Method and system for absorbing defects in high performance microprocessor with a large n-way set associative cache
US6675319B2 (en) 2000-12-27 2004-01-06 Han-Ping Chen Memory access and data control
US6918071B2 (en) * 2001-04-20 2005-07-12 Sun Microsystems, Inc. Yield improvement through probe-based cache size reduction
US6671644B2 (en) 2001-08-15 2003-12-30 International Business Machines Corporation Using clock gating or signal gating to partition a device for fault isolation and diagnostic data collection
KR100481849B1 (ko) * 2001-12-04 2005-04-11 삼성전자주식회사 용량 변경이 가능한 캐쉬 메모리 및 이를 구비한 프로세서칩

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835504A (en) * 1997-04-17 1998-11-10 International Business Machines Corporation Soft fuses using bist for cache self test
US6351789B1 (en) * 1998-05-29 2002-02-26 Via-Cyrix, Inc. Built-in self-test circuit and method for validating an associative data array

Also Published As

Publication number Publication date
US8055960B2 (en) 2011-11-08
CN1786929A (zh) 2006-06-14
US20060156130A1 (en) 2006-07-13
US7366953B2 (en) 2008-04-29
US20090204762A1 (en) 2009-08-13

Similar Documents

Publication Publication Date Title
CN100363907C (zh) 用于识别局部损坏存储器的自测试方法和装置
US6681345B1 (en) Field protection against thread loss in a multithreaded computer processor
US7770067B2 (en) Method for cache correction using functional tests translated to fuse repair
US5437022A (en) Storage controller having additional cache memory and a means for recovering from failure and reconfiguring a control unit thereof in response thereto
KR100388550B1 (ko) 멀티쓰레드 컴퓨터 프로세서의 쓰레드 능력 변경
US6181614B1 (en) Dynamic repair of redundant memory array
US7313717B2 (en) Error management
US7523346B2 (en) Systems and methods for CPU repair
JPH0216640A (ja) デジタルデータ処理システムにおいて複数の構成要素の起こりそうな故障の一つを検出するエキスパートシステム
JP2780372B2 (ja) デイスク制御装置のキヤツシユ組込制御方法
US7607038B2 (en) Systems and methods for CPU repair
CN115640174A (zh) 内存故障预测方法、系统、中央处理单元及计算设备
US7917804B2 (en) Systems and methods for CPU repair
US7546489B2 (en) Real time event logging and analysis in a software system
CN114930457A (zh) 修复存储芯片的方法和装置
CN101529397B (zh) 地址线故障处理装置、地址线故障处理方法、地址线故障处理程序、信息处理装置以及存储器控制器
US7603582B2 (en) Systems and methods for CPU repair
JP2007058873A (ja) 不揮発メモリを使用したディスク制御装置
US20060248313A1 (en) Systems and methods for CPU repair
JP5696492B2 (ja) 故障検出装置、故障検出方法、及び、故障検出プログラム
US8661289B2 (en) Systems and methods for CPU repair
CN117037884B (zh) 在存储阵列中使用的熔断器单元及其处理方法、存储阵列
US20060230255A1 (en) Systems and methods for CPU repair
JP2008217811A (ja) 不揮発メモリを使用したディスク制御装置
JP2821326B2 (ja) キャッシュメモリの故障検出装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080123

Termination date: 20181114