首页> 中国专利> 用于互连电路的传输控制检查

用于互连电路的传输控制检查

摘要

描述了用于互连电路的传输控制检查。传输控制检查电路将控制检查数据添加到事务响应,事务响应在事务主机处被接收,并在事务主机处与期望数据相比较。具有控制检查数据的期望数据可以是唯一事务标识符。当事务主机生成事务请求时,它生成唯一事务标识符,并将检查事务响应包括该唯一事务标识符。这样,事务传输控制上的错误(例如,错误路由)可以被检测到。

著录项

  • 公开/公告号CN105373441A

    专利类型发明专利

  • 公开/公告日2016-03-02

    原文格式PDF

  • 申请/专利权人 ARM有限公司;

    申请/专利号CN201510484545.9

  • 申请日2015-08-07

  • 分类号G06F11/08;G06F11/10;G06F13/38;

  • 代理机构北京东方亿思知识产权代理有限责任公司;

  • 代理人李晓冬

  • 地址 英国剑桥

  • 入库时间 2023-12-18 14:30:45

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-06-30

    授权

    授权

  • 2017-09-01

    实质审查的生效 IPC(主分类):G06F11/08 申请日:20150807

    实质审查的生效

  • 2016-03-02

    公开

    公开

说明书

技术领域

本公开涉及数据处理系统领域。更具体地,本公开涉及经由一个或多个事务主机(transactionmaster)和一个或多个事务从机(transactionslave)之间的互连电路的事务传输中出现的错误。

背景技术

已知向互连电路提供生成并然后检查错误检测代码(EDC)的机制(例如,奇偶校验),错误检测代码作为事务主机和事务从机之间的事务的一部分被应用到在互连电路上传递的数据和地址。这种错误校正码可以被用于检测(并潜在地校正)所传送的数据和地址值中出现的错误。

这种系统中错误的另一来源是对事务的传输的控制(其不同于事务本身的内容)可能会发生错误。例如,互连电路可以包括许多多路复用器,这种多路复用器的控制信号的一位的扰动可能导致事务被路由到错误的主机或错误的从机。在数据完整性很重要的系统(例如,安全关键系统)中,期望至少应当检测到事务传输控制上的这种错误。

用于处理检测事务传输控制上的错误的一种可能的方法将是提供互连电路的复制实例,并与主互连电路步调一致地操作该复制实例。这将允许对互连电路的两个实例的输出进行比较,并且任何差异将指示互连电路内的错误。这种方法的缺点将是与提供复制互连电路和比较器相关联的额外的开销。这种复制互连电路和比较器将增加数据处理系统的电路面积、成本和功耗。

发明内容

本公开的至少一些示例实施例提供包括以下部分的装置:

用于经由互连电路从一个或多个事务从机中的一个接收事务响应的事务响应接收器,所述事务响应包括有效载荷数据和控制检查数据;和

用于进行以下操作的控制检查电路:

(i)在接收所述事务响应之前,保持与事务传输的正确控制相对应的期望数据,所述事务传输与所述事务响应相关联;

(ii)在接收所述事务响应之后,检查所述控制检查数据是否与所述期望数据相匹配;并且

(iii)如果所述控制检查数据不与所述期望数据相匹配,则触发对所检测到的错误的报告和动作。

本公开的至少一些其它的示例实施例提供包括以下部分的装置:

用于经由互连电路从一个或多个事务主机中特定的事务主机接收读事务请求的事务请求接收器,所述读事务请求包括用于触发对所检测到的错误的报告和动作的控制检查数据;

生成读事务响应的事务响应生成器,读事务响应与所述事务请求相对应,并包括读数据和所述控制检查数据;和

用于将所述事务响应发送到所述特定的事务主机的事务响应发送器。

本公开的至少一些其它的示例实施例提供包括以下部分的装置:

用于经由互连电路从一个或多个事务主机中特定的事务主机接收写事务请求的事务请求接收器,所述写事务请求包括请求控制检查数据;和

用于进行以下操作的写数据接收器:

(i)接收伴随有写数据控制检查数据的写数据;

(ii)通过检查所述写数据控制检查数据与所述请求控制检查数据相匹配来检查所述写数据与所述写事务请求相对应;

(iii)如果所述写数据控制检查数据不与所述请求控制检查数据相匹配,则触发对所检测到的错误的报告和动作。

本公开的至少一些其它的示例实施例提供包括以下部分的装置:

用于经由互连电路接收针对写数据传输序列的写事务请求的事务请求接收器,所述写数据传输中的每个写数据传输包括相应的顺序检查数据;和

用于进行以下操的作写数据接收器:

(i)接收伴随有接收到的顺序检查数据的接收的写数据传输;

(ii)通过检查所述接收到的顺序检查数据与期望的下一顺序检查数据相匹配来检查所述接收到的写数据传输与下一期望的写数据传输相对应;和

(iii)如果所述接收到的写数据传输不与所述下一期望的写数据传输相匹配,则触发对所检测到的错误的报告和动作。

本公开的至少一些其它的示例实施例提供一种用于对数据进行处理的装置,该装置包括经由互连电路连接到一个或多个事务从机的一个或多个事务主机,并包括如上面所陈述的传输控制检查电路。

本公开的至少一些其它的示例实施例提供包括以下步骤的方法:

经由互连电路从一个或多个事务从机中的一个接收事务响应,所述事务响应包括有效载荷数据和控制检查数据;和

在接收所述事务响应之前,保持与事务传输的正确控制相对应的期望数据,所述事务传输与所述事务响应相关联;

在接收所述事务响应之后,检测所述控制检查数据是否与所述期望数据相匹配;并且

如果所述控制检查数据不与所述期望数据相匹配,则触发对所检测到的错误的报告和动作。

从以下对结合附图阅读的说明性实施例的详细描述,上面的目标、特征和优点以及本公开其它的目标、特征和优点将是明显的。

附图说明

图1示意性地示出包括总线主机、总线从机、互连电路和传输控制检查电路的数据处理装置;

图2示意性地示出在图1示例上的变化,其中交换了UTID处理和信号完整性处理的顺序;

图3示意性地示出包括总线主机、总线从机、互连电路和传输控制电路的数据处理装置的另一示例实施例;

图4示意性地示出另一示例实施例,其中UTID(以及物理地址检查)在主机和从机内被执行;

图5示意性地示出事务的一种示例格式,事务包括有效载荷数据和控制检查数据;

图6是流程图,该流程图示意性地示出事务主机检查所接收到的事务响应的正确路由;

图7是流程图,该流程图示意性地示出接收机处的拍顺序检查;

图8是流程图,该流程图示意性地示出事务从机检查写事务的写数据的正确路由;以及

图9是示意性地示出唯一事务标识符的一种示例形式的图示。

具体实施方式

本公开认识到,通过将控制检查数据添加到事务响应,然后将该控制检查数据与接收事务响应的电路已经保持的控制检查数据进行比较,可以检测到通过互连电路的传输的控制中的错误,并且可以触发对检测到错误的适当的报告和动作。本公开认识到,事务请求的始发者可以将控制检查数据添加到事务请求,控制检查数据然后在相关联的事务响应中被反射回事务的源,以检测事务响应是否正确地对应于所发送的事务请求,例如,检查通过互连电路的路由错误。应当领会的是,期望数据可以被存储在控制检查电路本身内或者被远程存储。当控制检查电路需要将事务响应内的控制检查数据与期望数据进行比较时,控制检查电路能够访问期望数据。

本公开的另一方面是事物从机处提供的机制,该机制用于通过将控制检查数据添加到被发送到事务主机的读事务响应来将控制检查数据反射回起始事务主机。

被技术还通过允许事务从机将与写请求相关联的控制检查数据与随后被从机接收到的、声称是为了相应的写数据的控制检查数据进行比较来允许在事务从机处检测错误。如果写数据控制检查数据不与请求控制检查数据相匹配,则这指示写数据没有正确地与所接收到的写请求相对应。

事务从机可以被布置为通过检查伴随所接收到的写数据传输的接收到的顺序检查数据与下一期望的写数据传输相对应来检查它接收的写数据具有期望的顺序。如果这种检查不被通过,则这至少指示写数据传输的排序或生成中的错误。

应当领会的是,上面所讨论的传输控制检查电路可以作为单独的实体向事务主机和事务从机本身提供,例如,作为可以被用于对遗留事务主机和事物从机给予附加的功能的封装器电路而提供。然而,有可能在一些实施例中事务主机和事务从机可以直接包含上述传输控制检查电路。

本公开的至少一些示例实施例的另一方面是提供用于对数据进行处理的装置,该装置包括经由互连电路连接到一个或多个事务从机的一个或多个事务主机,并包括先前所描述的传输控制电路。传输控制电路可以被用于检查所涉及的互连电路上的所有事务传输控制上的错误,或者在一些实施例中,如果需要,可以被用于检查仅在与整个装置的关键部分相对应的潜在路径的子集上发生的传输中的错误。

示例实施例

图1示意性地示出包括事务主机4、事务从机6和互连电路8的数据处理装置2。主机封装器电路10位于事务主机4和互连电路8之间。从机封装器电路12位于事务从机6和互连电路8之间。主机封装器10包括在事务协议的每个信道上的传输控制检查电路。这些信道包括读数据信道RD、读地址信道AR、写地址信道AW、写数据信道WD和写响应信道B。读地址信道AR、写地址信道AW和写数据信道WD从事务主机4传递到事务从机6。读数据信道RD和写响应信道B从事务从机6传递到事务主机4。这些信道中的每个信道包括有效载荷数据(例如,数据、地址、响应等)以及在主机封装器10和从机封装器12内被添加和检查的错误校正码和控制检查数据。

如所示出的,要传输的数据/地址/响应值被传递到错误校正码生成器14,在错误校正码生成器14中错误校正码(ARecc)被添加到要传输的数据/地址/响应值,以允许检测并校正所保护的数据中的一个或多个位区域。应当领会的是,错误校正码仅是信号完整性保护的一种示例形式,其可以被提供给将被传送的数据/地址/响应值。信号完整性保护的其它示例形式包括奇偶校验位。

当有效载荷事务在它的目的地处被接收时,错误校正码检查器16用于读取伴随的错误校正码,并将伴随的错误校正码与所保护的有效载荷进行比较,以检测是否存在任何位错误,并且如果必要并且可能的话,则对位错误进行校正。另一选项是不对错误进行校正(即使可能)并发出错误信号,例如,地址中的错误不太可能被校正。当有效载荷数据通过互连电路10在事务主机4和事务从机8之间传递时,错误校正码生成器14和错误校正码检查器16相应地对有效载荷数据提供信号完整性保护。错误校正码生成器14和错误校正码检查器16不对通过互连电路的传输控制上出现的错误(例如,对事务的错误路由、不适当地重复事务、不适当地改变事务的排序等)提供保护。主机封装器10和从机封装器12内以序号生成器18、序号检查器20、序号插入器22和序号捕获器24的形式提供传输控制检查电路。传输控制检查电路的这些元件一起动作,以提供事务响应接收器和控制检查电路。

例如,考虑事务主机4发出读事务的情况。在读地址信道AR上发送出读事务请求。序号生成器18针对该读事务请求生成唯一事务标识符UTID(图1中被标记为Rutid)。读事务请求被互连电路8路由到事务从机6。应当领会的是,在图1的说明中仅示出单个事务从机6,但在实践中将出现多个不同的事务从机6,并且互连电路8应当将读事务请求路由到这些多个事务从机6中正确的一个事务从机。

当读事务请求到达事务从机6时,则序号捕获器24读取并存储该新事务标识符UTID。接收事务从机6还检查所接收到的事务的物理地址与事务从机6的物理地址相匹配。这检查事务标识符UTID已经被递送到正确的事务从机6(从而例如避免被错误卡住)。可以针对其它类型的事务(例如,写)执行物理地址的检查。当读数据事务响应经由读数据信道RD从事务从机6被返回事务主机4时,则它们通过序号插入器22,在序号插入器22中唯一标识符UTID(如先前所存储的)被添加到数据响应。唯一事务标识符UTID与被包括在边带信道(在事务信号内)内的控制检查数据相对应,并且伴随读事务请求和(一个或多个)读事务响应二者中的事务信号。该唯一事务标识符UTID不影响事务的路由,相反,它被用于检查通过互连电路8的事务传输控制上出现的错误,其不同于有效载荷数据(例如,地址、数据或响应值)内的错误。

当新事务响应在主机封装器10处被接收时,序号检查器20对伴随新事务响应的唯一事务标识符UTID进行检查,并将该唯一事务标识符UTID与唯一事务标识符UTID的副本(期望数据)进行比较,唯一事务标识符UTID的副本先前作为相应的读事务请求的一部分被序号生成器18发送出。如果这两个唯一事务标识符不相匹配,则这指示所接收到的读事务响应不与发送出的读事务请求相对应,并因此指示出现错误,例如,错误路由。如果这种错误被检测到,那么这触发该错误的报告以及针对该错误的动作。例如可以向超管理程序或系统进行报告,并且动作例如可以涉及重复请求、重置系统或不同的故障安全响应。

应当领会的是,主机封装器10包括从事务从机6接收事务响应的事务响应接收器。主机封装器10还包括控制检查电路。序号检查器20和序号生成器18在读请求和读响应信道的情况下实现事务响应接收器和控制检查电路。序号生成器18用作事务标识符生成器,其针对特定的事务主机4生成事务标识符。应当领会的是,在实践中,数据处理系统2可以包括多个事务主机4,每个事务主机4具有相关联的主机封装器10。同样地,潜在的多个事务从机6中的每个事务从机6可以具有它们自己的从机封装器12。在其它实施例中,主机封装器10或从机封装器12内所提供的电路可以分别被合并为事务主机4或事物从机6的一部分。分别提供主机封装器10和从机封装器12可以允许遗留事务主机4和事务从机6使用本技术。应当领会的是,主机封装器10和从机封装器12内的电路可以单独地或相结合地被包括在互连电路8内。然而,分别提供主机封装器10和从机封装器12允许遗留互连电路被使用,在至少一些情况下,这是可取的。

从机封装器10以序号插入器22和序号捕获器24的形式提供事务请求接收器、事务响应生成器和事务响应发送器,输出由事务从机6提供给它的数据。序号捕获器24用作事务请求接收器,因为它接收上面的示例中的新事务请求,并从该新事物请求中捕获唯一事务标识符UTID。该唯一事务标识符UTID被传递到序号插入器22,序号插入器22通过串接所捕获的唯一事务标识符UTID与事务信号的其它部分(例如,将唯一事务标识符UTID添加到事务边带信号内的用户数据)以生成事务响应来用作事务响应生成器。序号插入器22还用作事务响应发送器,因为它然后将该事务响应(包括唯一事务标识符UTID)发送回回事务主机4。

以上示例考虑了读事务请求和读事务响应。应当领会的是,本技术还可以应用于写请求写数据和写响应信道。当从事务主机4发送写事务请求时,则序号生成器18将唯一事务标识符UTID插入到事务的用户数据边带中,以便用作与该写请求事务一起被传递到事务从机6的控制检查数据。使用序号捕获器24形式的写数据接收器来接收写请求的从机封装器12用于从写事务请求读取唯一事务标识符UTID,并将该唯一事务标识符UTID传递到序号检查器20。序号检查器20将所捕获的唯一事务标识符UTID(其伴随写事务请求,并且现在用作由从机封装器12保持的期望数据)与控制检查数据(其伴随从事务主机4被发送到事务从机6的每一拍写数据)进行比较。如果期望数据(具有所捕获的唯一事务标识符UTID的形式)不与和每一拍正确数据一起接收到的控制检查数据相匹配,则这触发对所检测到的错误的报告并触发对所检测到的错误的动作。这种错误将指示所接收到的写数据不与事务从机6期望接收的写请求相对应。这可能是通过互连电路8对数据进行错误路由的结果。

当写事务被完成时,事务从机6在写响应信道BR上生成写响应。该写响应可以在它被传递回事务主机4时,使与相应的写事务请求相对应的唯一事务标识符UTID被添加到该写响应。主机封装器10读取与写响应相对应的唯一事务标识符(控制检查数据),并将该唯一事务标识符与它所期望的唯一事务标识符值进行比较。

在图1中将看到,错误校正码检查器和生成器电路14、16在信号路径中离事务主机4和事物从机6最近。然而,在其它实施例中,传输检查电路20、22、24和错误校正码生成器和检查器14、16可以被交换,使得传输控制检查电路20、22、24邻近事务主机4和事物从机6,而错误校正码生成器14、16在信号路径内邻近互连电路6。

图2示意性地示出在图1示例上的变化,其中交换了UTID处理和信号完整性处理的顺序。

图3是另一示例实施例。在该实施例中,在作为边带信号被提供的用户数据内不单独地传递唯一事务标识符,而是在形成错误校正码数据时将唯一事务标识符与传送的有效载荷数据相混合,即,URID作为ECC生成器功能的输入被包含。因此,当错误校正码与有效载荷数据一起被接收时,则可以在重新计算错误校正码并且判定所接收到的错误校正码是否与新完成的错误校正码相匹配时再次将期望数据与有效载荷数据进行混合,即,从而检查控制检查数据与期望数据相匹配。通过互连电路的传输控制上的错误将意味着期望数据不与控制检查数据相匹配,因此,当对错误校正码进行比较时,将存在失配。这种方法的问题在于,有可能传输控制错误可能不会引起错误校正码失配,因此可能检测不到传输控制错误。错误检测码可以检测数据中的多个扰动。SECDECECC码(通常所使用的)可以检测两个扰动;奇偶校验(又叫做SED)可以检测一个扰动。如果UTID码对之间的Hamming距离大于该位数,则有很大可能ECC将不检测错误。如果UTID“不唯一”(唯一性是更一般的“控制检查数据”概念的扩展),和/或码的错误检测能力更强(例如,更强的CRC码),则将UTID用作ECC生成的一部分可以是合适的。

在图3的实施例中,依赖于唯一事务标识符的错误校正码可以被认为形成控制检查数据,期望数据可以被认为是所计算的错误校正码,所计算的错误校正码将与所接收到的错误校正码比较并且基于期望数据(期望数据是事务请求的唯一事务标识符)被计算。

图4示意性地示出另一示例实施例,其中UTID处理(以及物理地址验证)在主机和从机本身内被执行。

图5示意性地示出信号的一个示例,该信号形成将在图1和图2的数据处理装置上被发送的事务。事务信号包括有效载荷信号(例如,地址、数据等)、错误检测码(或其它信号完整性保护数据)和被添加到用户数据/边带信号的控制检查信号。在英国剑桥的ARMLtd设计的AXI事务协议内提供这些用户数据/边带信号。本技术不限于它们应用到该特定的协议,例如,不同的协议可以具有不同的信道组合。

在读数据信道RD和写数据WD信道的情况下,控制检查数据可以附加地包括如将在下面讨论的偶/奇节拍指示器EOBI。EOBI可以被用于检查所接收到的数据值的顺序(响应于接收事务主机的读或响应于接收事务从机的写)。控制检查数据、错误检测码和有效载荷是在互连电路8上一起被路由的事务的信号。

图6是示意性地示出事务主机4可以如何检查正确路由的流程图。在步骤26处,处理等待,直到事务请求被发送为止。在步骤28处,针对该事务请求的唯一事务标识符被生成。唯一事务标识符具有一个值,该值在这个时间点处的所有未决事务间是唯一的。下面进一步讨论具有这种属性的唯一事务标识符的生成。在步骤30处,发送出包括唯一事务标识符的事务请求。唯一事务标识符还被保持(存储)在事务主机内,使得它可以用作期望数据来验证相对于所接收到的事务响应的正确路由。期望数据的存储位置可以不同。步骤32等待,直到事务响应被接收到为止。在事务主机4的情况下,这可以是读数据或写响应。当事务响应被接收时,步骤34将伴随所接收的事务响应的、唯一事务标识符形式的控制检查数据与步骤28处所存储的、唯一事务标识符形式的期望数据进行比较。如果存在失配,则步骤36触发错误响应,错误响应包括报告所检测到的错误并对所检测到的错误进行动作。报告错误和对错误进行动作可以采用各种不同的形式,例如,重复事务、丢弃事务、触发重置等。如果所接收到的控制检查数据与期望数据相匹配,则处理前进到步骤38,在步骤38处响应被接受。

图7是示意性地示出上面关于图3的EOBI位所讨论的接收机(主机或从机)处的拍顺序检查的流程图。在步骤40处,接收机等待,直到有要接收的数据为止。步骤42将EOBI期望值的初始状态设为0。步骤44等待,直到第一拍数据被接收为止(读数据被返回到主机或写数据被从机接收)。数据的发送器以设为0的EOBI值伴随的第一拍开始它的顺序数据传输。因此,如果所发送的该第一拍是接收到的第一拍,则步骤46处将通过接收到的EOBI值是否与所期望的EOBI值相匹配的判定。如果所期望的EOBI值与步骤46处所检测的接收到的EOBI值之间有失配,则在步骤48处将触发错误响应。这种错误响应可以具有各种形式,如先前所提到的。

如果步骤46处通过EOBI检查,则该拍数据将被接收,步骤50将继续判定该拍数据是否是最后拍。如果该拍数据是最后拍,则过程终止。如果该拍数据不是最后拍,则步骤52判定当前EOBI期望值是否是0。如果当前EOBI期望值是0,则步骤54在将处理返回到步骤44之前将其反转为1,以等待下一拍被接收。如果EOBI期望值当前不是0,则步骤56用于在将处理返回到步骤44之前将EOBI期望值设为0,以等待下一拍数据。

应当领会的是,图5的处理与诸如突发写或突发读之类的突发传输相关联。在这种突发传输中,单个传输请求之后的是多拍数据。这些拍的数据与突发读情况下的读响应事务或突发写情况下的写数据值相对应。这些拍的数据具有期望的顺序,它们以这种顺序被发送,并且被假定为以该相同的顺序被接收。如果这种顺序被改变,则可能出现不正确的操作。如关于图5所讨论的EOBI值的动作确保所接收到的数据拍的顺序具有EOBI值的正确的交替顺序。这在检测错误(例如,拍被重复,并因此使得同一EOBI值被发送两次,这两次彼此相邻,而不是具有交替的顺序)时是有效的。假如这种方式没有导致被误导的拍仍然满足EOBI值相交替的要求,用这种方式还可以检测到误导。

如关于图2所讨论的,EOBI还可以作为ECC生成功能的输入被包含,并因此不被单独传送。由于EOBI是一位(与多位UTID字段相比),EOBI上的错误是有可能被ECC码检测到的一位错误。它甚至可以被更简单的奇偶校验码(对于奇偶校验,它有效地意味着在针对不同拍的数据的偶校验检查和奇校验检查之间切换)检测到。这种方法的优点是不对信号进行路由。(对于UTID,这种方法可能不是适当的,因为错误可以是不太可能被检测到的多位错误。然而,来自UTID的一位可以以这种方式被结合到ECC。对于SECDECECC码,可以移除边带返回数据的全部两位。)

图8是示意性地示出由事务从机6执行的处理的流程图,该处理用于检查对到该从机的写事务的正确路由。事务协议的特征可以是写数据可以在写事务请求之前被接收。然而,图8中所示出的处理能够确认写事务请求唯一事务标识符与所有接收到的写数据拍的唯一事务标识符相匹配,而不管相对于写事务请求被接收到的时间它们什么时候被接收到(之前,同时或之后)。

步骤58判定写事务请求是否已经被接收到。如果写事务请求已经被接收到,则处理前进到步骤59,步骤59中判定是否已经接收到任何写数据拍,而没有与这些写数据拍相对应的写事务请求。如果步骤59处的判定为没有已经接收到的写数据拍,则处理前进到步骤60,在步骤60中,步骤58处接收到的写请求的唯一事务标识符被存储。

如果步骤59处的判定为已经接收到一些写数据拍,则处理前进到步骤61,在步骤61处,在步骤58处接收到的写事务请求的唯一事务标识符与已经接收到的一个或多个数据拍的唯一事务标识符之间进行比较。如果这些唯一事务标识符不匹配,则在步骤62处触发错误响应并且处理终止。如果在步骤61的检查指示唯一事务标识符相匹配,则处理前进到步骤63,在步骤63处判定步骤58处接收到的写事务请求的所有写数据拍本身是否已经被接收到。如果写事务请求的所有写数据拍已经被接收到,则处理终止。

如果步骤63处的判定为所有的数据拍还未被接收或接着步骤58处的判定(即,写事务请求还未被接收到),则处理前进到步骤54,在步骤54处判定数据拍是否已经被接收到。如果数据拍还未被接收到,则处理返回到步骤58。如果步骤64处的判定为数据拍已经被接收,则步骤65处判定写事务请求是否已经被接收。如果写事务请求还未被接收,则步骤66存储数据拍的唯一事务标识符,使得当写事务请求被接收时它随后可以与写事务标识符比较(见步骤61)。步骤66处存储数据拍唯一事务标识符之后,处理返回到步骤58。

如果步骤65处的判定为写事务请求已经被接收,则步骤67判定所接收到的数据拍的唯一事务标识符是否与先前所接收到的写事务请求的唯一事务标识符相匹配。如果没有匹配,则步骤68触发错误响应,然后处理终止。如果步骤67处的判定指示唯一事务标识符相匹配,则步骤69用于判定步骤64处所接收到的数据拍是否是写事务请求的最后数据拍。如果所接收到的数据拍不是最后数据拍,则处理返回到步骤64。如果所接收到的数据拍是最后数据拍,则处理终止。

图9示意性地示出唯一事务标识符的一种示例形式。这可以使用事务主机标识符形式的唯一标识符值78来形成,事务主机标识符对于系统内存在的事务主机间特定的事务主机来说是唯一的。这形成唯一事务标识符的前缀。唯一事务标识符的后缀由序号80来形成,序号80在事务主机内被生成,并且在事务主机所发出的当前未决事务间是唯一的。可以生成序号的一种示例方式是在事务主机内,事务主机包括用于存储未决事务的地址的地址缓冲器。地址缓冲器内存储地址的位置对于与该地址相关联的事务来说将是唯一的。因此,该地址的存储位置可以被重用于形成唯一事务标识符的序号部分(后缀)。

与事务响应的控制检查数据相比较的期望值可以具有各种不同的形式,例如,它可以不直接与控制检查数据相对应,而是可以具有某种形式来允许检查所接收到的控制检查数据至少与期望的控制检查数据一致,例如具有正确的奇偶校验、生成期望的散列值等。然而,在至少一些示例实施例中,期望值可以包括由特定的事务主机发出的事务的事务标识符,其中该事务标识符与它的相关联的事务通过互连电路传播,并且被反射回事务主机以检查事务响应是与最初发送的事务请求相对应的响应。

在一些示例实施例中,传输控制检查电路可以包括事务标识符生成器,事务标识符生成器用于生成针对特定的事务主机的事务标识符。提供这种方式的与事务主机的其它部分相分离的单独的事务标识符生成器简化了针对互连电路内的控制错误来将本公开的附加的保护提供给最初设计时没有考虑这种能力的事务主机,例如,遗留事务主机。

在一些示例实施例中,可以通过以下布置来提高针对通过互连电路的传输控制上的故障的保护:事务标识符是当前用于未决事务的事务标识符间具有唯一值的唯一事务标识符。事务标识符可以随着时间的推移被重用,但是可以被限制为在未决事务间是唯一的,以便可以避免多个事务响应共享事务标识符的情况,从而避免由于事务标识符的重用而使得不正确的事务响应被不适当地标识为与期望数据相匹配。

在至少一些示例实施例中,事务标识符可以形成伴随事务的边带信号的一部分或全部。互连电路可以被配置为独立于边带信号内的事务标识符而对事务进行路由。对边带信号(例如,用户数据)的规定可能已经在现有互连电路协议内被提供,并且可以被用于检测通过互连电路的事务传输控制上的错误这一目的。

应当领会的是,通过互连电路的事务传输控制上的错误可以具有各种不同形式。一种示例形式是错误导致事务响应的误导,该事务响应意图用于除了它被返回到的特定的事务主机之外的事务主机。其它示例错误可以是不适当地重复发送事务响应、事务响应不正确的排序或与传输控制(不同于事务响应本身的内容)有关的其它错误。

可以通过某种方式来形成事务标识符,以确保:通过用针对一个或多个事务主机间特定的事务主机的唯一标识符以及在由该特定的事务主机发出的当前未决的事务间唯一的数字(例如,序号或一组数字中当前未被使用的数字)的组合来形成事务标识符,它在至少一些示例实施例中的未决事务间是唯一的。特定的事务主机的唯一标识符可以被静态地配置,唯一的数字的实施可以由特定的事务主机本身来执行,该数字可以在该特定的事务主机的控制下生成。

在一些实施例中,特定的事务主机可以包括被配置为存储与未决事务相关联的地址的地址缓冲器。在这些实施例中,可能地址缓冲器内与未决事务相对应的地址的存储位置可以被重用以提供序号,该序号形成上面所说明的事务标识符的一部分。已经提供机制来确保地址被存储在地址缓冲器内唯一的位置中,因此这种唯一性行为可以被重用以生成事务标识符的适当的序号部分,从而节省开销。

在一些示例实施例中,所请求的事务可以导致响应序列,响应序列包括多个被返回到特定的事务主机的事务响应,例如,突发读或突发写事务可以导致多拍数据被传送以完成该读或写。这种事务中可能出现的问题是事物响应的排序可以被通过互连电路的传输控制上的错误不适当地改变。因此,在一些示例实施例中,控制检查数据与期望数据的匹配被用于确认响应序列内所期望的下一事物响应的接收。因此,控制检查数据和所期望的数据跟踪事物响应根据它们将按其返回的期望的顺序被接收。

实现可以被用于至少一些示例实施例的这种检查的一种低开销的方式是控制检查数据包括其值随响应序列内每个连续的事务响应而交替的位,虽然更一般地,可以使用拍序号(这对于每拍来说是唯一的,或者可以是可能是唯一的序号的函数,例如,计数码或格雷码)。期望数据因此可以是将被接收的、下一响应的期望的位值,并且如果所接收的位值不正确,则这指示排序中出现不适当的变化,或者出现不适当的被重复的数据拍。利用一位来跟踪拍排序使用低开销、检测重复的、被交换的和缺失的拍,并且可以合并单错误检测码。

应当领会的是,本技术可以以各种不同的方式被应用,以保护在互连电路上进行的事务的不同部分。在至少一些示例实施例中,事务是数据读,事务响应包括读数据。在该示例中本技术用于检查被返回的读数据与控制检查数据相关联,该控制检查数据与随读请求被发送的控制检查数据相对应,被返回的读数据是用于完成该读请求的候选。在多数据拍的情况下,事务标识符可以与多个事务响应(与那些数据拍相对应)中的每个事务响应相关联。

在本公开的至少一些示例实施例中,以上技术(允许至少对事务传输控制上的错误进行检测)可以伴随试图检测作为事务的一部分被发送的数据本身(例如,数据值、地址值、响应值等)内的错误的技术。例如,事务响应可以包括错误检测码(例如,ECC码、奇偶校验位或用于提供信号完整性保护的一些其它形式的码),并且电路还包括使用错误检测码来检测有效载荷数据中的至少一些错误的错误检测电路。取决于所使用的码,错误检测码可以附加地/可选地允许至少一些检测到的错误也被校正。在一些示例实施例中,控制检查数据可以被合并/包括在也被用于检查有效载荷数据的错误检测码中。

尽管本文已经参考附图详细描述了说明性实施例,但是应当理解的是,权利要求不限于那些精确的实施例,本领域技术人员可以在其中实现各种变化、添加和修改,而不背离所附权利要求的范围和精神。例如,可以对从属权利要求的特征与独立权利要求的特征进行各种组合。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号