CN104077375A - 一种cc-numa系统中节点的错误目录的处理方法和节点 - Google Patents

一种cc-numa系统中节点的错误目录的处理方法和节点 Download PDF

Info

Publication number
CN104077375A
CN104077375A CN201410289296.3A CN201410289296A CN104077375A CN 104077375 A CN104077375 A CN 104077375A CN 201410289296 A CN201410289296 A CN 201410289296A CN 104077375 A CN104077375 A CN 104077375A
Authority
CN
China
Prior art keywords
numa system
memory
node
catalog
bit
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
Application number
CN201410289296.3A
Other languages
English (en)
Other versions
CN104077375B (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.)
Xuzhou Bochuang Construction Development Group Co.,Ltd.
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410289296.3A priority Critical patent/CN104077375B/zh
Publication of CN104077375A publication Critical patent/CN104077375A/zh
Priority to PCT/CN2015/081576 priority patent/WO2015196941A1/zh
Priority to US14/746,391 priority patent/US9652407B2/en
Application granted granted Critical
Publication of CN104077375B publication Critical patent/CN104077375B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/128Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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
    • 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
    • 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
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0826Limited pointers directories; State-only directories without pointers
    • 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
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • 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
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0828Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/254Distributed memory
    • G06F2212/2542Non-uniform memory access [NUMA] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements

Landscapes

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

Abstract

本发明提供一种缓存一致性-非对称存储器访问CC-NUMA系统中节点的错误目录的处理方法和节点,涉及计算机技术领域,能够在不进行CC-NUMA系统复位的情况下,清除目录存储器存在的错误比特,有效地降低CC-NUMA系统中目录存储器的错误比特累积导致该系统宕机的可能性。该错误目录的处理方法为:在节点的目录存储器中存储的目录的可纠正错误的比特的数量大于预设阈值时,控制CC-NUMA系统中所有处理器将对应的缓存中的脏数据回写至相应的主存后再清除,和将对应的缓存中的清洁数据直接进行清除,而后,控制CC-NUMA系统进入静默状态,对目录存储器中存储的记录进行清零,并且在清零完成后,控制CC-NUMA系统退出静默状态。

Description

一种CC-NUMA系统中节点的错误目录的处理方法和节点
技术领域
本发明涉及计算机技术领域,尤其涉及一种CC-NUMA系统中节点的错误目录的处理方法和节点。
背景技术
在高性能处理器组建的缓存一致性-非对称存储器访问(CacheCoherence Non-Uniform Memory Access,缩写:CC-NUMA)系统中,由于处理器本身的扩展能力有限,需要将处理器分成多个节点(Node),通过节点控制器(Node Controller,缩写:NC)进行多处理器扩展,以增加并行处理的处理器个数,提升CC-NUMA系统性能。
目前CC-NUMA系统中采用的高性能处理器通常具有大容量内存扩展和较大容量的缓存(Cache),并且可以进行内存扩展,各节点上所有的处理器可以对CC-NUMA系统中其他的处理器的内存进行一致性的访问,因而在每个节点上设计目录(Directory)用于记录该节点中的数据被CC-NUMA系统中除该节点以外其他节点中处理器缓存的情况,包括该数据的状态和访问该数据的处理器的位置,其中该数据的状态包括共享或独占。
一般NC设计中目录都是采用较大容量的存储器实现,而存储器存在由于干扰因素导致的随机错误,包括读错误、或写错误等,所以需要对目录存储器进行错误校验,常见的是采用纠1检2的纠错码(Error Correction Code,缩写:ECC)进行错误处理,即可以纠正1比特错误,检测到2比特错误,但是这种错误处理方法对多比特错误存在不可纠正或不可检测的问题,而目录数据的错误不可恢复将会导致缓存一致性处理错误,即访存时出现错误,从而使整个CC-NUMA系统数据处理错误,导致CC-NUMA系统宕机。另外,单比特错误也可能由于时间的累积,而变成多比特错误,同样可以使得CC-NUMA系统不可用。
发明内容
本发明的实施例提供一种CC-NUMA系统中节点的错误目录的处理方法和节点,能够在不进行CC-NUMA系统复位的情况下,清除目录存储器可能存在的错误比特,有效地降低CC-NUMA系统中目录存储器错误比特的累积导致CC-NUMA系统宕机的可能性。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种CC-NUMA系统中节点的错误目录的处理方法,包括:
在所述节点的目录存储器中存储的目录的可纠正错误的比特的数量大于预设阈值时,控制所述CC-NUMA系统中所有处理器将对应的缓存中的脏数据回写至相应的主存后再清除,和将对应的缓存中的清洁数据直接进行清除;
控制所述CC-NUMA系统进入静默状态,所述静默状态用于指示所述CC-NUMA系统中所有处理器不向所述目录存储器发出请求且接收到全部已发出请求的响应;
对所述目录存储器中存储的记录进行清零,并且在清零完成后,控制所述CC-NUMA系统退出所述静默状态。
结合第一方面,在第一方面的第一种可能实现的方式中,还包括:
从所述节点的可纠正错误计算器中获取所述可纠正错误的比特的数量;
将获取的所述可纠正错误的比特的数量与所述预设阈值进行比较。
结合第一方面或第一方面的第一种可能实现的方式,在第一方面的第二种可能实现的方式中,所述控制所述CC-NUMA系统中所有处理器将对应的缓存中的脏数据回写至相应的主存后再清除,和将对应的缓存中的清洁数据直接进行清除包括:
通过操作系统向所述CC-NUMA系统发送中断指令,所述中断指令用于指示所述CC-NUMA系统中所有处理器将对应的缓存中的脏数据回写至相应的主存后再清除,和将对应的缓存中的清洁数据直接进行清除。
结合第一方面的第二种可能实现的方式,在第一方面的第三种可能实现的方式中,所述控制所述CC-NUMA系统进入静默状态,包括:
通过所述操作系统向所述CC-NUMA系统发送暂停指令,所述暂停指令用于指示所述CC-NUMA系统进入所述静默状态。
结合第一方面至第一方面的第三种可能实现的方式中的任一种可能的方式,在第一方面的第四种可能实现的方式中,所述预设阈值与所述目录存储器的失效率成反比,所述目录存储器的失效率是指在预设时间范围内所述目录存储器存储的目录中错误比特的占比。
第二方面,提供一种缓存一致性-非对称存储器访问CC-NUMA系统中的节点,包括:
目录存储器,用于存储所述节点中的数据被所述CC-NUMA系统中除所述节点以外的节点中处理器缓存的记录;
节点控制器,用于在所述目录存储器中存储的目录的可纠正错误的比特的数量大于预设阈值时,控制所述CC-NUMA系统中所有处理器将对应的缓存中的脏数据回写至相应的主存后再清除和将对应的缓存中的清洁数据直接进行清除;
所述节点控制器,还用于控制所述CC-NUMA系统进入静默状态,所述静默状态用于指示所述CC-NUMA系统中所有处理器不向所述目录存储器发出请求且接收到全部已发出请求的响应;
所述节点控制器,用于对所述目录存储器中存储的记录进行清零,并且在清零完成后,控制所述CC-NUMA系统退出所述静默状态。
结合第二方面,在第二方面的第一种可能实现的方式中,还包括:
可纠正错误计算器,用于计算所述目录存储器中存储的目录的可纠正错误的比特的数量;
所述节点控制器,还用于从所述可纠正错误计算器中获取所述可纠正错误的比特的数量,将获取的所述可纠正错误的比特的数量与所述预设阈值进行比较。
结合第二方面或第二方面的第一种可能实现的方式,在第二方面的第二种可能实现的方式中,所述节点控制器具体用于:
在所述目录存储器中存储的目录的可纠正错误的比特的数量大于预设阈值时,通过操作系统向所述CC-NUMA系统发送中断指令,所述中断指令用于指示所述CC-NUMA系统中所有处理器将对应的缓存中的脏数据回写至相应的主存后再清除,和将对应的缓存中的清洁数据直接进行清除。
结合第二方面的第二种可能实现的方式,在第二方面的第三种可能实现的方式中,所述节点控制器具体用于:
在通过所述操作系统向所述CC-NUMA系统发送中断指令后,通过所述操作系统向所述CC-NUMA系统发送暂停指令,所述暂停指令用于指示所述CC-NUMA系统进入所述静默状态。
结合第二方面至第二方面的第三种可能实现的方式中的任一种,在第二方面的第四种可能实现的方式中,所述预设阈值与所述目录存储器的失效率成反比,所述目录存储器的失效率是指在预设时间范围内所述目录存储器存储的目录中错误比特的占比。
本发明实施例提供一种CC-NUMA系统中节点的错误目录的处理方法和节点,在节点的目录存储器中存储的目录的可纠正错误的比特的数量大于预设阈值时,控制CC-NUMA系统中所有处理器将对应的缓存中的脏数据回写至相应的主存后再清除,和将对应的缓存中的清洁数据直接进行清除,而后,控制CC-NUMA系统进入静默状态,对目录存储器中存储的记录进行清零,并且在清零完成后,控制CC-NUMA系统退出静默状态,该清理方法可以在不进行CC-NUMA系统复位的情况下,清除目录存储器存在的错误比特,有效地降低CC-NUMA系统中目录存储器的错误比特累积导致CC-NUMA系统宕机的可能性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种CC-NUMA结构示意图;
图2为本发明实施例提供的一种CC-NUMA系统中节点的错误目录的处理方法流程示意图;
图3为本发明实施例提供的一种节点结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
高性能处理器组建的CC-NUMA系统,能够解决并行处理系统的可扩展性及可编程性问题。由于处理器本身的扩展能力有限,所以将处理器分成了多个节点,通过NC节点控制器进行多处理器扩展,以增加并行处理的处理器个数,提升CC-NUMA系统性能。一个简单的CC-NUMA系统可以如图1所示。如节点Node0所示,每个节点内有两个或多个处理器,组成一个小的节点,各节点之间通过NC节点控制器进行扩展。
其中,每个处理器都有自己的Cache,并且可以进行内存扩展,各节点上所有的处理器可以对CC-NUMA系统中所有的处理器的内存进行一致性的访问,所以NC上设计有目录,对于跨节点的数据访问,用于记录数据的状态和位置,维护数据的一致性。比如,节点0中的处理器缓存了节点2中的处理器内存上的数据,那么节点2中的NC需要通过目录记录指示出这个数据被节点0缓存,并标示其状态为共享或独占。NC中的目录都是采用较大容量的存储器实现,存储器存在可纠正错误比特或不可纠正错误比特的问题,可能由于时间累积导致CC-NUMA系统宕机。
本发明实施例提供一种CC-NUMA系统中节点的错误目录的处理方法,如图2所示,该实施例具体包括:
101、节点控制器在节点的目录存储器中存储的目录的可纠正错误的比特的数量大于预设阈值时,控制CC-NUMA系统中所有处理器将对应的缓存中的脏数据回写至相应的主存后再清除,和将对应的缓存中的清洁数据直接进行清除。
102、节点控制器控制CC-NUMA系统进入静默状态,静默状态用于指示CC-NUMA系统中所有处理器不向目录存储器发出请求且接收到全部已发出请求的响应。
103、节点控制器对目录存储器中存储的记录进行清零,并且在清零完成后,控制CC-NUMA系统退出静默状态。
其中,目录存储器可以在NC节点控制器的片上或片外,记录节点中的数据被CC-NUMA系统中除本节点以外的其它远端节点缓存的状态和向量。当通过错误检测检测出目录存储器出现错误时,目录存储器中设置的可纠正错误计算器可以统计出可纠正错误比特的数量。
示例性的,采用ECC校验错误时,可以在数据位上额外的位存储一个用数据加密的ECC代码。当数据被写入目录存储器时,相应的ECC代码于此同时也被保存下来,当重新读回刚才存储的数据时,保存下来的ECC代码就会和读数据时产生的ECC代码作比较,如果两个代码不相同,两者会被解码,以确定该数据位是错误的。再确认该位比特的错误是否可纠正,如果是可纠正的错误比特会被标识以可纠正标识,不可纠正的错误比特会被标识以不可纠正标识,这样,目录存储器当中的可纠正错误计算器就会对预设时间段内的可纠正标识进行统计,以获得可纠正错误比特的数量。这里的预设时间段可以为1小时,也可以为其它值,此处不做限定。
这样,在步骤101之前,节点控制器NC从节点的可纠正错误计算器中获取可纠正错误的比特的数量后,节点控制器NC将获取的可纠正错误的比特的数量与预设阈值进行比较,在判断出目录存储器中存储的目录的可纠正错误的比特的数量大于预设阈值时,通过操作系统向CC-NUMA系统发送中断指令,中断指令用于指示CC-NUMA系统中所有处理器将对应的缓存中的脏数据回写至相应的主存后再清除,和将对应的缓存中的清洁数据直接进行清除;或者,可纠正错误计算器获取到可纠正错误的比特的数量后,可纠正错误计算器将获取的可纠正错误的比特的数量与预设阈值进行比较,当可纠正错误计算器判断可纠正错误的比特的数量大于预设阈值的时候,向节点控制器发送通知消息,以通知节点控制器通过操作系统向CC-NUMA系统发送中断指令。
步骤101具体的实现方式可以为:节点控制器NC向本节点的操作系统上报中断请求,启动目录错误清除处理流程,而后通过本节点的操作系统向CC-NUMA系统中所有的处理器发送中断指令,使所有的处理器将处理器缓存中的数据清除(Flush)。由于处理器缓存中的数据包括脏(dirty)数据和清洁(clean)数据,该脏数据是指该处理器对应的主存中的数据的可读可写副本,由于该可读可写副本比主存中原本要新,因此清除该脏数据之前需要将该可读可写副本回写到主存中;清洁数据是指该处理器对应的主存中的数据的只读副本,清除该清洁数据不必回写到主存中,直接清除即可。
这里将所有处理器缓存中的数据进行清除,是为了保证CC-NUMA系统缓存一致性。举例来说,假设节点0处理器要访问节点2中的最新修改数据1’,节点2中目录存储器存有修改数据1’的目录,以便根据节点2目录得到所需修改数据1’,如果节点2目录存储器中的可纠正错误的比特超过预设阈值,步骤103将节点2目录存储器进行了清零操作,且没有将节点2处理器缓存中修改数据1’回写到主存,节点0处理器认为节点2处理器缓存中要获取的新修改数据1’不存在,其节点2对应主存中也没有存储,那么节点0就会维持之前所获得数据1,不能读到最新修改数据1’,对于访问节点0来说,不能得到最新修改数据,数据一致性就会出错。例如应用在铁道部购票系统中时,当1个窗口的处理器不能及时获取其它售票窗口的最新售票情况,售票数据就会不一致,将导致售票数据紊乱。
数据一致性通常指关联数据之间的逻辑关系是否正确和完整。由于CC-NUMA系统中,各节点的处理器都可以对CC-NUMA系统中其它节点处理器进行一致性访问,以保证各处理器随时都可以得到其他节点处理器的最新修改数据,保持数据一致性。因此,当其中一个节点的目录存储器出现问题,需要将整个CC-NUMA系统的处理器缓存都进行了数据清除,以保证CC-NUMA系统的数据一致性。
这样一来,假如节点2中目录存储器的可纠正错误超过预设阈值,由于节点2中的目录存储器的目录存储的是节点2的数据被CC-NUMA系统中除节点2以外的节点中的处理器缓存的记录,当将所有处理器缓存中的数据清除后,节点2的目录存储器中目录项中的信息全部冗余,成为无效信息。
其中,预设阈值与目录存储器的失效率成反比,目录存储器的失效率是指在预设时间范围内目录存储器存储的目录中错误比特的占比。
当通过步骤101使得操作系统将所有处理器缓存中的数据全部清除后,在步骤102中,操作系统向所有的处理器发送暂停指令,使得节点内所有的处理器不向本节点的目录存储器发出请求且接收到全部已发出请求的响应,使CC-NUMA系统进入静默状态。
这里将处理器暂停使得CC-NUMA系统处于静默状态,是由于在执行步骤103对目录存储器进行清零操作之前,使得处理器不向目录存储器发送用于修改目录存储器目录的指令,保证目录存储器的目录不再发生变化。
而后,执行步骤103,对目录存储器中存储的记录进行清零,并且在清零完成后,控制CC-NUMA系统退出静默状态。
具体的,当CC-NUMA系统进入静默状态后,将NC中的目录存储器中存储的记录进行清零操作,以使目录存储器中的全部信息被清除。而后,发生目录清除的节点的通过操作系统向CC-NUMA系统所有处理器发送恢复指令,以控制所有处理器继续运行,CC-NUMA系统退出静默状态。
此外,在上述方法流程中,为了避免未识别到的错误比特由于时间累积导致严重错误,可以预先将目录存储器中的信息进行清零,且该过程不需要进行系统重启。另外,处理器缓存一般只有30MB左右,其数据回写以及目录存储器清0所需要的时间都在ms级,这样就可以利用一个较短的时间来避免错误累积导致CC-NUMA系统宕机的可能。
本发明实施例提供一种CC-NUMA系统中节点的错误目录的处理方法,在节点的目录存储器中存储的目录的可纠正错误的比特的数量大于预设阈值时,控制CC-NUMA系统中所有处理器将对应的缓存中的脏数据回写至相应的主存后再清除,和将对应的缓存中的清洁数据直接进行清除,而后,控制CC-NUMA系统进入静默状态,对目录存储器中存储的记录进行清零,并且在清零完成后,控制CC-NUMA系统退出静默状态,该清理方法可以在不进行CC-NUMA系统复位的情况下,清除目录存储器存在的错误比特,有效地降低CC-NUMA系统中目录存储器的错误比特累积导致CC-NUMA系统宕机的可能性。
本发明实施例提供一种CC-NUMA系统中的节点01,包括主存储器014,如图3所示,还包括节点控制器011、目录存储器012、处理器013、目录存储器012包括可纠正错误计算器0121,
目录存储器012,用于存储节点中的数据被CC-NUMA系统中除节点以外的节点中处理器缓存的记录;
节点控制器011,用于在目录存储器012中存储的目录的可纠正错误的比特的数量大于预设阈值时,控制CC-NUMA系统中所有处理器将对应的缓存中的脏数据回写至相应的主存后再清除和将对应的缓存中的清洁数据直接进行清除;其中,该预设阈值与目录存储器012的失效率成反比,目录存储器012的失效率是指在预设时间范围内目录存储器012存储的目录中错误比特的占比。
节点控制器011,还用于控制CC-NUMA系统进入静默状态,静默状态用于指示CC-NUMA系统中所有处理器不向目录存储器012发出请求且接收到全部已发出请求的响应;
节点控制器011,还用于对目录存储器中存储的记录进行清零,并且在清零完成后,控制CC-NUMA系统退出静默状态。
可选的,该节点01还包括可纠正错误计算器0121,该可纠正错误计算器0121可以用于计算目录存储器012中存储的目录的可纠正错误的比特的数量;
对应地,该节点控制器011,还可以用于从可纠正错误计算器0121中获取可纠正错误的比特的数量,将获取的可纠正错误的比特的数量与预设阈值进行比较。
需要说明的是,示例性地,该可纠正错误计算器0121可以位于目录存储器012中,如图2所示,本发明对于可纠正错误计算器0121是否位于目录存储器012不做限定。
可选的,节点控制器011可以具体用于:
在目录存储器012中存储的目录的可纠正错误的比特的数量大于预设阈值时,通过操作系统向CC-NUMA系统发送中断指令,中断指令用于指示CC-NUMA系统中所有处理器将对应的缓存中的脏数据回写至相应的主存后再清除,和将对应的缓存中的清洁数据直接进行清除。
可选的,节点控制器011可以具体用于:在通过操作系统向CC-NUMA系统发送中断指令后,通过操作系统向CC-NUMA系统发送暂停指令,暂停指令用于指示CC-NUMA系统进入静默状态。
本发明实施例提供一种节点,包括目录存储器和节点控制器,目录存储器,用于存储节点中的数据被CC-NUMA系统中除节点以外的节点中处理器缓存的记录,节点控制器,用于在目录存储器中存储的目录的可纠正错误的比特的数量大于预设阈值时,控制CC-NUMA系统中所有处理器将对应的缓存中的脏数据回写至相应的主存后再清除和将对应的缓存中的清洁数据直接进行清除,而后,控制CC-NUMA系统进入静默状态,对目录存储器中存储的记录进行清零,并且在清零完成后,控制CC-NUMA系统退出静默状态,该清理方法可以在不进行CC-NUMA系统复位的情况下,清除目录存储器存在的错误比特,有效地降低CC-NUMA系统中目录存储器的错误比特累积导致CC-NUMA系统宕机的可能性。
在本申请所提供的几个实施例中,应该理解到,所揭露的节点和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的设备和系统中,各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。且上述的各单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种CC-NUMA系统中节点的错误目录的处理方法,其特征在于,包括:
在所述节点的目录存储器中存储的目录的可纠正错误的比特的数量大于预设阈值时,控制所述CC-NUMA系统中所有处理器将对应的缓存中的脏数据回写至相应的主存后再清除,和将对应的缓存中的清洁数据直接进行清除;
控制所述CC-NUMA系统进入静默状态,所述静默状态用于指示所述CC-NUMA系统中所有处理器不向所述目录存储器发出请求且接收到全部已发出请求的响应;
对所述目录存储器中存储的记录进行清零,并且在清零完成后,控制所述CC-NUMA系统退出所述静默状态。
2.如权利要求1所述的方法,其特征在于,还包括:
从所述节点的可纠正错误计算器中获取所述可纠正错误的比特的数量;
将获取的所述可纠正错误的比特的数量与所述预设阈值进行比较。
3.如权利要求1或2所述的方法,其特征在于,所述控制所述CC-NUMA系统中所有处理器将对应的缓存中的脏数据回写至相应的主存后再清除,和将对应的缓存中的清洁数据直接进行清除包括:
通过操作系统向所述CC-NUMA系统发送中断指令,所述中断指令用于指示所述CC-NUMA系统中所有处理器将对应的缓存中的脏数据回写至相应的主存后再清除,和将对应的缓存中的清洁数据直接进行清除。
4.如权利要求3所述的方法,其特征在于,所述控制所述CC-NUMA系统进入静默状态,包括:
通过所述操作系统向所述CC-NUMA系统发送暂停指令,所述暂停指令用于指示所述CC-NUMA系统进入所述静默状态。
5.如权利要求1-4任一所述的方法,其特征在于,所述预设阈值与所述目录存储器的失效率成反比,所述目录存储器的失效率是指在预设时间范围内所述目录存储器存储的目录中错误比特的占比。
6.一种缓存一致性-非对称存储器访问CC-NUMA系统中的节点,其特征在于,包括:
目录存储器,用于存储所述节点中的数据被所述CC-NUMA系统中除所述节点以外的节点中处理器缓存的记录;
节点控制器,用于在所述目录存储器中存储的目录的可纠正错误的比特的数量大于预设阈值时,控制所述CC-NUMA系统中所有处理器将对应的缓存中的脏数据回写至相应的主存后再清除和将对应的缓存中的清洁数据直接进行清除;
所述节点控制器,还用于控制所述CC-NUMA系统进入静默状态,所述静默状态用于指示所述CC-NUMA系统中所有处理器不向所述目录存储器发出请求且接收到全部已发出请求的响应;
所述节点控制器,还用于对所述目录存储器中存储的记录进行清零,并且在清零完成后,控制所述CC-NUMA系统退出所述静默状态。
7.如权利要求6所述的节点,其特征在于,还包括:
可纠正错误计算器,用于计算所述目录存储器中存储的目录的可纠正错误的比特的数量;
所述节点控制器,还用于从所述可纠正错误计算器中获取所述可纠正错误的比特的数量,将获取的所述可纠正错误的比特的数量与所述预设阈值进行比较。
8.如权利要求6或7任一所述的节点,其特征在于,所述节点控制器具体用于:
在所述目录存储器中存储的目录的可纠正错误的比特的数量大于预设阈值时,通过操作系统向所述CC-NUMA系统发送中断指令,所述中断指令用于指示所述CC-NUMA系统中所有处理器将对应的缓存中的脏数据回写至相应的主存后再清除,和将对应的缓存中的清洁数据直接进行清除。
9.如权利要求8所述的节点,其特征在于,所述节点控制器具体用于:
在通过所述操作系统向所述CC-NUMA系统发送中断指令后,通过所述操作系统向所述CC-NUMA系统发送暂停指令,所述暂停指令用于指示所述CC-NUMA系统进入所述静默状态。
10.如权利要求6-9任一所述的节点,其特征在于,所述预设阈值与所述目录存储器的失效率成反比,所述目录存储器的失效率是指在预设时间范围内所述目录存储器存储的目录中错误比特的占比。
CN201410289296.3A 2014-06-24 2014-06-24 一种cc‑numa系统中节点的错误目录的处理方法和节点 Active CN104077375B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201410289296.3A CN104077375B (zh) 2014-06-24 2014-06-24 一种cc‑numa系统中节点的错误目录的处理方法和节点
PCT/CN2015/081576 WO2015196941A1 (zh) 2014-06-24 2015-06-16 一种cc-numa系统中节点的错误目录的处理方法和节点
US14/746,391 US9652407B2 (en) 2014-06-24 2015-06-22 Method for processing error directory of node in CC-NUMA system, and node

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410289296.3A CN104077375B (zh) 2014-06-24 2014-06-24 一种cc‑numa系统中节点的错误目录的处理方法和节点

Publications (2)

Publication Number Publication Date
CN104077375A true CN104077375A (zh) 2014-10-01
CN104077375B CN104077375B (zh) 2017-09-12

Family

ID=51598629

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410289296.3A Active CN104077375B (zh) 2014-06-24 2014-06-24 一种cc‑numa系统中节点的错误目录的处理方法和节点

Country Status (3)

Country Link
US (1) US9652407B2 (zh)
CN (1) CN104077375B (zh)
WO (1) WO2015196941A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015196941A1 (zh) * 2014-06-24 2015-12-30 华为技术有限公司 一种cc-numa系统中节点的错误目录的处理方法和节点
CN107315694A (zh) * 2016-04-22 2017-11-03 华为技术有限公司 一种缓存一致性管理方法及节点控制器
CN111427827A (zh) * 2015-12-29 2020-07-17 华为技术有限公司 一种cpu及多cpu系统管理方法
WO2024066500A1 (zh) * 2022-09-26 2024-04-04 华为技术有限公司 内存错误处理方法及装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9794889B2 (en) * 2014-05-09 2017-10-17 Huawei Device Co., Ltd. Power adjustment method and apparatus
US9946595B2 (en) * 2015-09-30 2018-04-17 International Business Machines Corporation Reducing uncorrectable errors based on a history of correctable errors
CN109086462A (zh) * 2018-09-21 2018-12-25 郑州云海信息技术有限公司 一种分布式文件系统中元数据的管理方法
CN111124292B (zh) * 2019-12-10 2022-08-19 新华三大数据技术有限公司 一种数据下刷方法、装置、缓存节点及分布式存储系统
CN114238165B (zh) * 2021-12-21 2023-03-24 海光信息技术股份有限公司 数据处理方法、数据处理装置以及存储介质
US11625251B1 (en) * 2021-12-23 2023-04-11 Advanced Micro Devices, Inc. Mechanism for reducing coherence directory controller overhead for near-memory compute elements

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030172328A1 (en) * 2002-03-06 2003-09-11 Wyatt Stewart R. Pausing a transfer of data
US20060156155A1 (en) * 2004-12-29 2006-07-13 Sudhanva Gurumurthi Detecting errors in directory entries
CN103218275A (zh) * 2013-03-28 2013-07-24 华为技术有限公司 数据错误修复方法、装置和设备
CN103544269A (zh) * 2013-10-17 2014-01-29 华为技术有限公司 目录的存储方法、查询方法及节点控制器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8127099B2 (en) * 2006-12-26 2012-02-28 International Business Machines Corporation Resource recovery using borrowed blocks of memory
JP5590022B2 (ja) * 2011-12-28 2014-09-17 富士通株式会社 情報処理装置、制御方法および制御プログラム
CN102681930B (zh) * 2012-05-15 2016-08-17 浪潮电子信息产业股份有限公司 一种芯片级错误记录方法
CN104077375B (zh) * 2014-06-24 2017-09-12 华为技术有限公司 一种cc‑numa系统中节点的错误目录的处理方法和节点

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030172328A1 (en) * 2002-03-06 2003-09-11 Wyatt Stewart R. Pausing a transfer of data
US20060156155A1 (en) * 2004-12-29 2006-07-13 Sudhanva Gurumurthi Detecting errors in directory entries
CN103218275A (zh) * 2013-03-28 2013-07-24 华为技术有限公司 数据错误修复方法、装置和设备
CN103544269A (zh) * 2013-10-17 2014-01-29 华为技术有限公司 目录的存储方法、查询方法及节点控制器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
金丽娜: "CC-NUMA结构计算机含错技术研究", 《长春大学学报》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015196941A1 (zh) * 2014-06-24 2015-12-30 华为技术有限公司 一种cc-numa系统中节点的错误目录的处理方法和节点
US9652407B2 (en) 2014-06-24 2017-05-16 Huawei Technologies Co., Ltd. Method for processing error directory of node in CC-NUMA system, and node
CN111427827A (zh) * 2015-12-29 2020-07-17 华为技术有限公司 一种cpu及多cpu系统管理方法
CN111427827B (zh) * 2015-12-29 2023-03-17 超聚变数字技术有限公司 一种cpu及多cpu系统管理方法
CN107315694A (zh) * 2016-04-22 2017-11-03 华为技术有限公司 一种缓存一致性管理方法及节点控制器
CN107315694B (zh) * 2016-04-22 2020-12-15 华为技术有限公司 一种缓存一致性管理方法及节点控制器
WO2024066500A1 (zh) * 2022-09-26 2024-04-04 华为技术有限公司 内存错误处理方法及装置

Also Published As

Publication number Publication date
US20150370712A1 (en) 2015-12-24
WO2015196941A1 (zh) 2015-12-30
US9652407B2 (en) 2017-05-16
CN104077375B (zh) 2017-09-12

Similar Documents

Publication Publication Date Title
CN104077375A (zh) 一种cc-numa系统中节点的错误目录的处理方法和节点
AU2017228544B2 (en) Nonvolatile media dirty region tracking
CN106776147B (zh) 一种差异数据备份方法和差异数据备份装置
US20150347292A1 (en) Writing an address conversion table for nonvolatile memory wear leveling
US20230251931A1 (en) System and device for data recovery for ephemeral storage
US10649829B2 (en) Tracking errors associated with memory access operations
KR20210137922A (ko) 복구 공간으로 패리티 공간을 사용한 데이터 복구 시스템, 방법 및 장치
KR101548452B1 (ko) 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치
US20230384947A1 (en) Dynamic repartition of memory physical address mapping
JP6677021B2 (ja) 情報処理装置、情報処理方法、プログラム
US20220374310A1 (en) Write request completion notification in response to partial hardening of write data
CN108509295B (zh) 存储器系统的操作方法
KR101545077B1 (ko) 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치
JP6805838B2 (ja) ディスク管理システム、ディスク管理方法、および、ディスク管理プログラム
CN115472210A (zh) 存储性能测试装置的控制方法、终端设备及存储介质
CN117539386A (zh) 磁盘阵列数据的处理方法、装置、设备及存储介质
CN116802735A (zh) 一种数据处理方法及相关装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20201030

Address after: Unit 2414-2416, main building, no.371, Wushan Road, Tianhe District, Guangzhou City, Guangdong Province

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

Effective date of registration: 20201030

Address after: 221300 No. 88 Liaohe West Road, Pizhou Economic Development Zone, Xuzhou City, Jiangsu Province

Patentee after: SU Normal University Semiconductor Materials and Equipment Research Institute (Pizhou) Co.,Ltd.

Address before: Unit 2414-2416, main building, no.371, Wushan Road, Tianhe District, Guangzhou City, Guangdong Province

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211227

Address after: 221300 506, block B, electronic industrial park, Pizhou Economic Development Zone, Xuzhou City, Jiangsu Province

Patentee after: Xuzhou Bochuang Construction Development Group Co.,Ltd.

Address before: No.88 Liaohe West Road, Pizhou Economic Development Zone, Xuzhou City, Jiangsu Province

Patentee before: SU Normal University Semiconductor Materials and Equipment Research Institute (Pizhou) Co.,Ltd.

TR01 Transfer of patent right