在一个实施例中,一种方法提供了确定事件的发生和未发生中之一,所述发生和未发生中之一导致事件确定,以及处理具有事件比特的码,所述处理根据所述确定和所述码通过如下方式进行:确定所述事件比特是否对应于所述事件确定,以及如果所述事件比特不对应于所述事件确定,则编码所述码以产生对应于所述事件确定的抑制比特。
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术的实施例涉及抑制比特错误校验码方案。
技术介绍
当数据进出存储器时,会发生各种类型的错误。更普遍的,它们是单个比特错误, 但是2比特以及其它类型的错误也可能发生。错误校验一般用于在将数据写入存储器或从存储器读出时校验数据的完整性。错误校验可以包括错误检测和/或错误校正。错误检测是检测存在由传输期间的噪声或其它故障引起的错误的能力。错误校正是重建初始的、无错数据的附加能力。有很多可用的方案。错误校正码(ECC)是错误校验方案(特别是错误校正)的一个例子。在ECC中, 例如,当通过存储器总线发送数据时,ECC产生逻辑(例如,异或算法)对该数据进行计算以产生ECC。然后将该数据和ECC —起存储在存储器中。当随后从存储器访问数据时(与 ECC 一起),将ECC错误解码逻辑应用到该数据以产生错误检测和校正信息。然后能够使用该信息来校正该数据。附图说明通过示例的方式,而不是通过限制的方式在附图的图形中说明了本专利技术的实施例,其中相似的标记数字指代类似的元素,并且其中附图1说明了依照本专利技术的实施例的系统。附图2说明了根据本专利技术的实施例的方法。附图3说明了依照本专利技术的实施例的方法。附图4说明了依照本专利技术的实施例的状态图。具体实施例方式下文描述的示例仅为说明的目的,并且决不意图限制本专利技术的实施例。因此,对于详细描述了示例的地方,或者提供了一个或多个示例的地方,需要理解的是该示例不被解释为穷举的,并且不应将本专利技术的实施例限制为所描述和/或说明的示例。附图1是说明了根据实施例的计算系统100的框图。在一些实施例中,计算系统 100可包括多个处理器102A、102B、102C,直到N个处理器。如本文使用的,处理器102A、 102B、102C中任意给定的一个可以被称作102N。本文讨论的“处理器”涉及用于完成计算任务的硬件和软件资源的任意组合。例如,处理器可包括中央处理单元(CPU)或微控制器来执行用于根据预定义的指令集处理数据的机器可读指令。处理器可以包括具有多个处理核的多核处理器,并且处理器可替代地指代可以包括在多核处理器中的处理核,其中操作系统可将该处理核感知为具有全套执行资源的分立的处理器。存在其它可能。系统100可另外包括存储器106。存储器106可存储能够被执行的机器可执行指令132,和/或能够被访问、在其上运算、和/或操作的数据。本文提到的“机器可执行”指5令涉及可被一个或多个机器理解的用于执行一个或多个逻辑操作的表达。例如,机器可执行指令132可包括可由处理器编译器解释的用于在一个或多个数据对象上执行一个或多个操作的指令。然而,这只是机器可执行指令的示例,并且本专利技术的实施例并不限于此方面。存储器106可包括,例如,只读、海量存储、随机存取存储器、非易失性存储器、和/或一个或多个其它类型的机器可访问存储器。在多处理器系统中,其中存储器是共享的并且使用本地高速缓存104A、104B、104C(处理器本地的高速缓存)进行同步,存储器中存储的数据可被称为高速缓存行(cache line)。逻辑130可包括在系统100的任意部分上或其中。逻辑130可包括硬件、软件、或硬件和软件的组合(例如固件)。例如,逻辑130可包括电路(即,一个或多个电路)来执行本文描述的操作。例如,逻辑130可包括一个或多个数字电路、一个或多个模拟电路、一个或多个状态机、可编程逻辑、和/或一个或多个ASIC(专用集成电路)。逻辑130可以是硬布线的以执行一个或多个操作。可选地或附加地,逻辑130可体现在存储在存储器(例如存储器106)中的机器可执行指令132中,以执行这些操作。可选地或附加地,逻辑130 可体现在固件中。逻辑可包括在系统100的各种部件中,例如在存储器控制器114中。尽管逻辑130被示出为存储器控制器114中的分离的框,但本领域的普通技术人员可以理解, 存储器控制器114和逻辑130可另外包括在同一框中。一般而言,逻辑130可用于通过本文描述的各种部件来执行各种功能。集线器控制器108可包括主机桥/集线器系统,其可将处理核102A、102B、102C中的每一个与存储器106相互耦合。集线器控制器108可包括一个或多个集成电路芯片,例如从可从Intel 公司商业获得的集成电路芯片组(例如,图形、存储器和I/O控制器集线器芯片组)中选择的那些,然而其他一个或多个集成电路芯片也可以被使用,或可以替代地被使用。例如,集线器控制器108可包括输入/输出控制集线器(ICH)、存储器控制集线器 (MCH)、或图形/存储器控制集线器(GMCH)。系统100可包括两个集线器控制器,例如ICH 和MCH,或仅单个集线器控制器,然而本专利技术的实施例不被系统100中的集线器控制器的数目所限制。集线器控制器108可通过存储器总线112与存储器106进行通信,以及通过系统总线Iio与处理器102A、102B、102C进行通信。集线器控制器108可包括存储器控制器114 来管理处理器102A、102B、102C和存储器106以及系统100中的其它设备(未示出)之间的数据移动。可选择地,存储器控制器114可与处理器102A、102B、102C中的一个或多个集成在管芯(die)上。系统100还可包括目录高速缓存116。目录高速缓存116可保持关于每一块存储器或高速缓存行的信息。例如,目录高速缓存116可指示每一块存储器的状态,例如,共享的、非高速缓存的、或独占的;本地高速缓存(对应于处理器102A、102B、102C中的一个)具有给定高速缓存行的拷贝;并且不管该高速缓存行是否为脏。例如,在一个实施例中,每一个对数据的请求被发送到目录高速缓存116。目录高速缓存116然后可将该对数据的请求转发到任意数目的处理器102A、102B和102C,目录高速缓存116指示这些处理器已经将数据存储在其本地高速缓存中。作为示例,目录高速缓存116可为N个节点维护N比特向量图,其中每一个比特指示相应的节点是否维护给定高速缓存行的高速缓存的拷贝。处理器102A、102B、102C、存储器106以及总线110、112可包括在单电路板中,诸如,例如系统主板118,但是本专利技术的实施例不限于此方面。附图2说明了根据本专利技术的实施例的方法。附图2的方法可开始于框200,并继续到框202,在框202,该方法可包括确定事件的发生和未发生中之一,该发生和未发生中之一导致事件确定。事件可包括,例如,数据被高速缓存。例如,在一个实施例中,处理器102N可修改数据,将它高速缓存到其本地高速缓存中,并且然后将该数据写回到存储器,例如存储器 106。在这个示例中,当数据被存储在本地高速缓存中时可确定事件发生。作为另一个示例, 事件可包括存储消息。例如,在某些系统(诸如超级计算机)中,运行在系统中各微处理器上的进程可相互传递消息。在这个示例中,当一个进程为另一个进程产生并存储了消息,可确定事件发生。在框204,该方法可包括处理具有事件比特的码,该处理根据所述事件确定和所述码。“事件比特”是指码中的比特,其可被设置以指示事件的发生或未发生。事件比特可包括静态比特位置,例如,比特位置0,或者它可包括动态比特位置,例如,比特位置3,以指示特定处理器已经产生了事件。因此,如果确定已经发生了事件本文档来自技高网...
【技术保护点】
1.一种用于抑制至少一个比特的装置,所述装置包括逻辑,所述逻辑用于:产生与要存储在共享存储器中的高速缓存行对应的ECC(错误校正码),所述ECC具有事件比特;确定事件的发生和未发生中之一,以产生事件确定;根据所述事件比特和所述事件确定来处理所述ECC码;将处理后的ECC码和对应的高速缓存行存储于存储器中。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:R·阿加瓦尔,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。