CN105279438B - 互连数据总线中的安全节点 - Google Patents

互连数据总线中的安全节点 Download PDF

Info

Publication number
CN105279438B
CN105279438B CN201510315285.2A CN201510315285A CN105279438B CN 105279438 B CN105279438 B CN 105279438B CN 201510315285 A CN201510315285 A CN 201510315285A CN 105279438 B CN105279438 B CN 105279438B
Authority
CN
China
Prior art keywords
security node
slave
host
affairs
time
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.)
Active
Application number
CN201510315285.2A
Other languages
English (en)
Other versions
CN105279438A (zh
Inventor
J·A·海登
R·F·格拉夫顿
M·普齐
G·张
J·F·伽罗托斯
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.)
Analog Devices Inc
Original Assignee
Analog Devices Inc
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 Analog Devices Inc filed Critical Analog Devices Inc
Publication of CN105279438A publication Critical patent/CN105279438A/zh
Application granted granted Critical
Publication of CN105279438B publication Critical patent/CN105279438B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
    • 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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error 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 the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/4256Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明涉及互连数据总线中的安全节点。在安全关键计算机系统,容错性是一个重要的设计要求。用于这些基于处理器系统的片上互连的数据总线暴露于来自互连本身或任何连接的外围设备引起的危险。为了提供足够的容错性,安全节点被插入到片上总线层级结构或网络的上游主机段和下游从机段之间。安全节点提供可编程的超时监测器用于事务检测超时情况。如果已经发生超时,安全节点传送虚拟响应返回给主机,承担主机的角色,并且等待从机响应。此外,安全节点通过发送虚拟响应给那些后续请求,拒绝上游段任何主机的后续请求,从而使这些主机避免死锁或停转。

Description

互连数据总线中的安全节点
优先权数据
本专利申请受益于或要求提交于2014年6月10日的美国临时申请号62/010,014,题为“互连数据总线中的安全节点”(代理人案号26256。0245-P)的优先权,在此通过引用将其全部内容引入。
技术领域
本公开一般涉及互连数据总线,并且更具体地,涉及用于这些互连数据总线的安全节点。
背景技术
在过去几十年中,越来越多的系统越来越依赖于电子设备提供安全关键功能,如控制。这些电子装置被用在各种安全关键系统,例如能源系统、航空航天系统和汽车系统。多年来电子装置被用在飞机上以控制飞机,并确保各个组件可操作。此外,电子装置被用在许多现代公路车辆用于共同的功能,例如定速控制、防抱制动系统、安全气囊,甚至在今天的道路上更多的电子产品被用于混合动力汽车和电动汽车。
发明内容
在安全关键计算机系统,容错性是一个重要的设计要求。在这些基于处理器的系统的用于片上互连的数据总线暴露于由互连本身或任何一个连接的外围设备引起的故障造成的危险。为提供足够的容错能力,安全节点插入片上总线层次结构或网络的上游主段和下游从段之间。
安全节点提供(可编程)超时监测,用于为事务检测超时条件。如果已经发生超时,安全节点传送或触发预先设置的虚拟响应返回给主段,这将释放上游主段,以避免死锁和执行后续事务。安全节点,然后承担下游段的主机的角色,并等待从机响应。此外,安全节点拒绝接受上游段的任何主段的任何后续请求通过传送或触发这些立即的虚拟响应对这些后续请求,从而使能这些主段以避免死锁或停止。
预先设置的响应可以包括以下的一种或两种(a)总线协议带内响应信令,和/或(b)总线协议外边带响应,如中断。在协议内响应可包括合法从响应,它允许主机在主协议内合法完成当前事务,并且可以是任何一种:错误响应,表示该事务不成功;局部完成响应,表示该事务部分完成而且可能已经被分为完整的部分和不完整的部分;或正常完成响应。如果发出正常完成的带内响应,带内响应可以伴随边带响应(错误中断),使得主机被通知超时。
附图说明
图1是根据本公开的一些实施例的简化的示意图,示出示例性的具有安全节点的基于处理器的系统;
图2是根据本公开的一些实施例的简化的示意图,示出示例性的具有两个安全节点的基于处理器的系统;
图3是根据本公开的一些实施例的简化的示意图,示出示例性的具有安全节点的互连总线层次结构或网络;
图4是根据本公开的一些实施例的简化示意图,示出另一示例性的具有多个安全节点的互连总线层次结构或网络;
图5是根据本公开的一些实施例的简化流程图,示出流程用于通过安全节点监测和存活互连数据总线上的超时;
图6根据本公开的一些实施例示出了示例性的安全节点的控制寄存器;
图7根据本公开的一些实施例示出了示例性的安全节点的状态寄存器;和
图8根据本公开的一些实施例示出了示例性的安全节点的超时计数器寄存器。
具体实施方式
了解容错
计算机系统中的组件和程序,虽然在大部分时间它们是可靠和可操作的,但不可避免地在一个或另一点失灵。失灵可能是由硬件问题或软件错误造成的。容错是使计算机系统继续在系统中的一个或多个故障的情况下正常运行的属性。如果没有容错能力,故障可能会导致彻底崩溃,这可能导致安全关键系统带来灾难性的后果。通常情况下,计算机系统设计者和架构师尝试设计计算机系统,在一个或多个故障的情况下,可以在降低的容量继续操作和/或可以完全降低,使得可以采取恢复操作。
许多这些安全关键计算机系统结合处理器和外围设备提供安全关键功能,如功率和引擎控制。为各行业提供规则和指导如何设计安全设备和系统,国际标准化机构已经制定了标准,例如,IEC 61508,题为“电气/电子/可编程电子安全相关系统的功能安全”和ISO26262,题为“道路车辆-功能安全”。这些标准定义了在电子产品提供了安全关键作用的各种应用的安全关键系统的风险和电子要求规范行为。由于这些电子产品对人类和环境安全是非常重要并且电子产品必然会有故障,容错是这些标准提出的一个特别重要的设计要求。出于这个原因,这些国际标准提供规范和指导,指示安全关键系统应该如何工作,当系统有一个或多个故障的情况下或该系统应如何继续正常运行当系统有一个或多个故障时。
虽然系统设计师和架构师努力满足容错设计要求,为设计师和架构师提供不过于昂贵实现的解决方案是重要的。
互连数据总线故障
在安全关键系统,在基于处理器的系统内,用于片上互连的工业标准和专有数据总线暴露由互连本身或任何连接的外围设备产生的故障所引起的危险。安全关键系统想解决的危险包括:互连中的开路和短路、硬件外围从机的故障、死锁、总线段的交通匮乏或饱和或者较高的通信层编程或协议错误。这些危险会导致超时错误,即,缺乏预期的响应,或延迟预期响应。
这些行业标准和专用总线包括遵循用于片上系统(SoC)的功能模块的连接和管理的开放式标准、片上互连的高级微控制器总线架构(AMBA)规范的总线。通常情况下,这样的总线,如广泛使用的高级外围设备总线(APB)、AMBA高性能总线(AHB、高级可扩展接口(AXI),并没有在过于昂贵的合法IP上明确的超时机制起重要作用并且改进超时。没有适当的超时监测,系统可以容易地停转和崩溃,没有任何方法从超时恢复。
当提供容错总线设计以容忍超时故障,它也是重要的让互连数据总线继续遵从其它特性如原子性、一致性、隔离性和持久性(ACID)以保证即使存在超时故障,事务正在可靠地被处理。
硬件安全节点:处理超时和延迟响应
为了解决安全关键互连数据总线超时的问题,有些总线已经开发了用于飞机和飞机引擎飞行关键功能,其中提供了紧密预定的架构。在这样的时间触发总线结构,响应按照预先分配的时钟周期被预期和调度,以确保可靠性。然后可以检测到超时,如果响应未根据在特定预分配的时钟周期的时间表返回。这个系统有些缺点:总线的吞吐量由时间表严格决定并且时间触发总线的静态调度是相当不灵活的。
为了提供瞬态响应的灵活性,许多行业标准和专有总线允许任意响应潜伏期(事件触发)。然而,任意的响应潜伏期使得了解是否和何时响应被预期范围变成挑战。为解决具有任意响应潜伏期的互连数据总线的超时问题,硬件安全节点插入到片上总线层次结构或网络的两个分区/段间:上游(主)段和下游(从)段。上游段可以连接到至少一个或一个以上主机,而下游段可连接到至少一个或多个从机。安全节点可以仲裁从上游段接收的事务,并为下游段发生的故障提供耐受性。
从广义上讲,总线层次结构或总线网络包括相互连接总线段供主机和/或从机可以付接或连接。取决于实施例或应用,总线层次结构或总线网络可以具有不同的拓扑结构。总线层次结构/网络的上游段可以包括来自安全节点的一个或多个总线段上游,总线层次结构/网络的下游段可以包括来自安全节点的一个或多个总线段的下游。总线层次结构或网络的互连的总线段使一个或多个主机与一个或多个从机进行通信(从总线层次结构或网络拓扑的一个点到总线层次结构或网络拓扑的另一点)。安全节点可以插入在总线层次结构或总线网络任何合适的点的两个区段之间。总线层次结构或总线网络可以包括在总线层次结构或总线网络的不同点上的一个以上的安全节点。
安全节点,在运行期间,转发来自上游段中选定的主机的事务到下游段中的一个从机。处理超时,安全节点提供了(可编程)超时监控,其检测下游段事务是否使用过多的时间来作出响应。在不违反任何子段的协议下,安全节点然后分离连接到转发的事务,并通过返回一个预先设置的虚设/错误响应(或此处被宽称为“预先设置的响应”),允许主机完成其事务。安全节点然后承担主机的角色,并保持在下游段中的事务,直到这样的时间由下游从设备响应,或总线段被重置。虽然下游总线段仍然忙,安全节点拒绝由任何在上游段的任何主机随后的接入请求,与预先设置的响应一起,以这样的方式,以使这些主机避免死锁或失速,并进行其他的处理,如错误处理。措辞不同,通过传送或触发立即哑/错误响应(例如,预先设置的错误响应)到这些后续请求,安全节点拒绝上游段的主机任何后续请求从而使这些主机避免死锁或停机。
通过具有可以同时监控和延续超时情况安全节点,安全节点可以温和地处理在安全关键系统中互连数据总线的超时,并提供了一个容错号(即,来自安全节点,互连数据总线下游的可容忍故障/节点故障的数目)。换句话说,安全节点容忍互连数据总线上的故障的最大数量。此外,安全节点一旦检测到超时将承担主机的角色,代表主机等待事务完成,并拒绝下游发出的进一步的事务,而能够保持一个可靠的事务系统。
该安全节点方案具有能够等待事务的晚的或延迟响应的优点,而不是简单地中止事务或重置系统。此外,安全节点被设计成够模块化足以支持超时功能,使用标准总线而不会影响系统的其它部分,如主机,或要求主机是复杂的总线中断的处理器。
预先设置的响应
实际上,安全节点提供(可编程)用于检测事务超时情况的超时的超时监测。如果已经发生超时,安全节点发送或触发预先设置的(虚拟)响应返回给主机,这将释放上游段主机以避免死锁和进行后续事务。取决于处理器或协议,用于释放主机预先设置响应可以改变。一般说来,到主机的响应可以包括以下一个或多个:在合法总线协议范围内“带内”的响应(这可能包括错误,事务不完整响应)、正常完成的响应,部分完成的响应(正常完成的和“带内”的响应的混合),和不属于总线部分的其他信号引起的“边带”响应,如错误中断。
一些处理器和协议可能不支持带内错误响应,但只支持带外或边带响应(中断)。一些处理器/协议允许“分割”或“部分完成的响应,如突发协议的一部分。这些可能让处理器从有问题的超时事务分离并做其他事。这“部分”响应可以通过编程来预先设置。同样,一些处理器允许“重试”,这可以被认为是“分割”与什么也没有完成,这也可以通过编程预先设置。带内和边带响应可以单独地和/或一起使用。
一般而言,在协议中的响应是合法的从响应,其允许主机在主协议内合法地完成当前事务,并且可以是以下任何之一:错误响应(指示事务不成功)、局部完成响应(指示该事务已部分完成,并可能已被分成一个完整的部分和一个不完整的部分),或正常完成响应。为了满足不同的处理器/协议,安全节点可以进行编程或配置以提供/发送/触发适当的预先设置的响应,例如,用于释放上游主机。预先设置的响应可以包括以下任一种或两种(a)总线协议内的带内响应信令,和(b)总线协议外的边带响应,如中断。例如,如果正常完成的带内响应发出发出(与虚拟响应或事务超时后接收正常响应),带内响应可以伴随边带响应(例如,错误中断),从而使主机被告知超时。
系统概述
图1是一个简化的示意图,示出示例性的具有安全节点的基于处理器的系统,根据本公开的一些实施例。系统100(片上)是包括数字部分102的集成电路,数字部分102可以包括多个主机(处理器),例如,主机104,和主机106,被配置为发出事务给多个从机(外围设备),例如,从机108、从机110、从机112、和从机114。一般来说,主从关系是一种通讯的模型,其中一个设备/部件或进程对一个或多个其他设备/组件具有单向控制。在一些系统中,主机从一组符合条件的设备中选择,其它设备承担从机的角色的。在该说明性示例中,不同的时钟可在数字部分102中被使用。
在一些实施例中,主机104可以是配置以监督(或监测)主机106的操作的微处理器,充当主控制处理器。虽然只示出了主机104和主机106,数字部分102还可以包括更多的主处理器。同样地,虽然只示出了从机108、从机110、从机112和从机114,数字部分102还可以包括更多的从外围设备。
多个主机和从机相互连接在通信链路的网络被称为互连数据总线(例如,示出为具有总线段116a和116b),以使事务能够从任一主机发给选定的从机之一(例如,从机108、从机110、从机112和从机114的任何一个),以及传送从选定从机到发送事务的主机的响应。这些事务通常允许主机,例如,命令从机执行操作、读取/写入存储元件等。此外,从机可以使用表示事务完成的数据或讯息来响应事务。在某些情况下,从机也可以使用错误消息响应事务,表明事务无法完成。在某些情况下,从机也可以使用部分完成消息响应事务,表明事务已部分完成、部分未完成,为响应这,在某些情况下,主机可能被释放,以执行其他任务。在某些情况下,从机可以使用总线协议外部的边带信号响应事务,诸如中断,结合允许主机被释放以执行其他任务的总线协议内的响应。
在这个特定的实例(不意图限制),该系统可以包括模拟部分118(例如,模拟前端(AFE))。模拟部分118可包括模拟电子,例如,AFE120和AFE122,用于在数字部分102和系统100的外部部件之间提供模拟接口(如传感器和系统100外部的其他类型的模拟电路或机械部件)。
最后,数字部分102包括安全节点124。安全节点124可以包括上游部分126、下游部分128、超时监测器132和一个或多个寄存器130。安全节点124被提供以监测和存活互连数据总线上的超时,特别地,来自安全节点,总线段下游的超时。上游部分126可以与(或通信地连接到)连接到一个或多个主机(例如,主机104)总线层次结构或网络(例如,总线段116a)的上游段交界。下游部分128可以与(或通信地连接到)连接到一个或多个从机(例如,从机112和从机114)的总线层次结构或网络的下游段(例如,总线段116b上)交界。
在图1中示出的实施例中,安全节点124作为总线段116b的主机中的一个(另一主机是主机106)。安全节点124监测在总线段116b、从机112和从机114的故障。换句话说,安全节点124提供发生在安全节点124下游的故障保护。主机,例如,从安全节点124上游的总线段116a上的主机104必须先通过安全节点124,在安全节点124上游的主机与安全节点124下游的从机(总线段116b上的从机112和114)通信。在本实例中,主机104被保护以对抗安全节点124下游的故障。注意到主机104仍然是总线段116a上从机108和110的主机,主机104可以与(本地)从机108和110通信,而无需通过安全节点124沟通或干扰主机106。但是从主机104到从机108和从机110通信并没有从安全节点124的保护中受益。
安全节点124,如其中的超时监控132,从上游段的第一主机(例如,主机104)转发第一事务给下游段的第一从机(例如,总线段116b上的从机112和114中的任何一个)。超时监控132可以监测互连数据总线(例如,总线段116b),以确定第一从机是否不会在超时周期内响应。如果第一从机没有在超时周期内响应(例如,超时周期流逝后响应和没收到响应),安全节点(例如,超时监控132)可传送或触发预先设置(虚拟/错误)以响应第一主机(经由上游部分126或另一接口),以允许第一主机完成第一事务并通过等待第一从机响应以保持在下游段中的第一事务。
安全节点124在它的硬件中可以包括一个或多个寄存器130以保持安全节点(通过一个或多个比特或状态)、超时监测器和/或互连数据总线116的状态信息。超时监控器132可以被配置以对至少一些一个或多个寄存器130设置值。例如,一个或多个寄存器可以包括以下的一个或多个:超时监测寄存器,用于指示安全节点是否启用或者未启用以监测互连数据总线的超时;超时中断寄存器,用于指示超时中断信号是有效还是无效;超时错误寄存器,用于指示在互连数据总线上超时是否发生;和超时计数寄存器,用于设置(用户)的超时周期的可编程的长度。一个或多个寄存器130的实例在图6-8的更多详细中予以说明。
除了提供超时监测,安全节点124还可以提供用于可靠的事务的支持,例如每个主机基础上的外围的只写或访问(读/写)保护。例如,安全节点124可以提供写保护寄存器,分配给每个外围设备以禁止给定的主机的写访问,或访问保护寄存器,分配给每个外围设备以禁止给定主机的读访问。安全节点的另一特征可以包括用于锁定写保护寄存器和/或访问保护寄存器的锁。
图1的互连总线层次结构/网络的拓扑结构不是旨在限于本公开。例如,本公开的互连总线层次结构/网络可以包括以其他合适的方式,在互连总线层次结构/网络(图2-4只是示出了一些其他可能性)具有主机和从机的不同布置的总线段。在一些实施例中,安全节点可以是总线段的单一主机(即,安全节点的下游的互连总线层次结构/网络只连接到从机)。在一些实施例中,安全节点可以在多个主机间仲裁到总线段的访问(即,安全节点可以接收,在多个主机之间,目标指向安全节点下游的从机之一的事务)。在一些实施例中,安全节点可以用作总线段的主机中的一个。在一些实施例中,安全节点的上游部分可以被连接到一个以上的总线段(其可以连接到一个以上的主机)。在一些实施例中,安全节点的下游部分可以被连接到一个以上的总线段(其可以连接到一个以上的从机)。
互连总线中的双向安全
如关于图1所述,安全节点124保护安全节点124上游的主机免受发生在总线段116b下游的故障(而不是发生在总线段116a上游的故障)。因此,安全节点124是单向的。为了保护总线层次结构或网络的其他部分,更多安全节点可以被添加到互连总线层次结构/网络。图2是示出具有两个安全节点,示例性的基于处理器的系统的简化示意图:安全节点124和安全节点134。如果主机106被保护免受在总线116a、从机108和从机110上发生的故障,安全节点134可以被提供。
在本实施例中,安全节点134(类似于安全节点124)可以包括上游部分136、下游部分138、超时监测142和一个或多个寄存器140。安全节点134可以监测和存活互连数据总线上的超时,具体地,安全节点134下游的总线段。在这种情况下,安全节点134监测总线段部116a,发生在总线段116a、从机108和从机110上的故障。上游部分136可以与连接到一个或多个主机(例如,主机104)的总线层级结构(例如,总线段116b)相连接(或者通信地连接到)。下游部分138可以与连接到一个或多个从机(例如,从机108、从机110)的总线层次结构(例如,总线段116a)的下游段相连接(或者通信地连接到)。
安全节点134的原理如下。安全节点以与安全节点124类似的方式运作,但是在相反的方向。在图2中示出的本实例中,安全节点134作为主机中的一个(另一个主机是主机104),用于总线段116a以监测在总线段116a、从机108和从机110上的故障。换句话说,安全节点134提供发生在安全节点134下游的故障的保护。主机,例如,在安全节点134的上游的总线段116b上的主机106,在安全节点143上游的主机能够与连接到安全节点134的下游,例如,总线段116a上的从机108和110,从机通信前,必须首先经过安全节点134。在这个实例中,主机106被保护免受安全节点134的下游故障。值得注意的是,主机106仍然是总线段116b上的从机112和114的主机,并且主机106能够不必经过安全节点或者来自主机104的干扰通信,与(本地)从机112和114通信。但是从主机106到从机112和从机114的通信不会从安全节点134的保护中受益。
安全节点134,例如,这里的超时监控142,转发上游部上的第一主机(例如,主机106)的第一事务到下游部的第一从机(例如,总线段116a上的从机108和从机110的任何一个)。超时监测器142能够监测互连数据总线(例如,总线段116a)以确定是否第一从机在超时周期没有响应。如果第一从机在超时周期没有响应,安全节点(例如,超时监测器142)可以发送或者触发预先设置的(虚拟/错误)响应到第一主机(通过上游部分136或者第一主机的其他接口)以允许第一主机完成第一事务,并且通过等待第一从机响应,在下游段保持第一事务。
应当注意,图2用于说明多个安全节点可以被置备以保护总线层次结构或总线网络不同部分的故障。通常,其中使用安全节点的互连总线层次结构/网络的拓扑结构并不限于本文所示的拓扑结构。取决于系统的容错所需的数量,其中容错是必需的,并且总线层次结构或网络,安全节点的布局可以变化。
互连总线段和安全节点的层次结构/网络
在各种层次结构或网络的拓扑结构的基于处理器的系统中,可以提供安全节点。在一个实例中,安全节点可以仲裁从安全节点的上游的多个主机的其中一个到安全节点下游的一个或多个从机的事务。根据本公开的一些实施例,图3是示出具有安全节点,示例性互连总线层次结构或网络的简化示意图。在本实例中,基于处理器的系统包括主机302、主机304、从机306、从机308、从机310、从机312、从机314、从机316和从机318。虽然本实例示出了一定数量的从机,可以设想其他数量的从机可以在此体系结构和层次结构中提供。
总线段320a互连主机302和它的(本地)从机306和从机308。总线段320b互连主机304和它的(本地)从机310和从机312。总线段320c互连安全节点322、从机314、从机316和从机318。在所描述中,安全节点322具有上游段,它与两个总线段相连接(总线段320a和320b)。此外,安全节点322作为从机314、从机316和从机318的单一主机。
在这个层次结构/网络,主机302是总线段320a的主机并且可以发出事务到从机306和从机308,不受来自其他主机或安全节点322的干扰。同样地,主机304是总线段320b的主机并且可以发出事务到从机310和从机312,不受来自其他主机或安全节点322的干扰,但主机304没有由安全节点322保护在从机306和从机308的故障。如果主机302或304的任一个打算发出事务到总线段320c上的从机314、从机316和从机318,该事务必须首先经过安全节点322。以这种方式,安全节点322可以如本文所描述运作以使主机302或主机304任一个免受发生在总线段320c、从机314、从机316和从机318的故障(安全节点322的下游故障)。
扩展图3中所示的拓扑结构,“嵌套”互连层次结构或更复杂的互连总线网络可以想象,示出了安全节点的功能是可扩展的。“嵌套”层次结构可以允许一个或多个安全节点被放置在另一个安全节点的下游,或者允许安全节点被放置在一个或多个安全节点的下游。根据本公开的一些实施例,图4是示出具有多个安全节点的另一个示例性互连总线层次结构或网络的简化示意图。图4的示例示出了安全节点可以以任何合适的方式被置备在互连总线层次结构/网络内,例如,以满足容错要求。通过使用多个安全节点,不同的安全区域可以置备在互连总线层次结构/网络内,并且促进系统的分割。安全区域可以有助于隔离系统内故障,和/或防止故障传播到互连总线层次结构/网络的其他部分,并且增加了容错系统的最低限度的系统的可用性。
在本实例中,基于处理器的系统包括主机402、主机404、主机406、从机408、从机410、从机412、从机414、从机416、从机418、从机420、从机422、从机424、从机426、从428、从机430、从机432、从机434,安全节点436、安全节点438和安全节点440。
总线段442a互连主机402和它的(本地)从机408和从机410。总线段442b互连主机404和它的(本地)从机412和从机414。总线段442c互连主机406和它的(本地)从机416和从机418。在这个层次结构中,主机(即连接到总线段的主机)可以发出事务到它的本地从机,不受系统中的其他主机或安全节点的干扰。但是主机没有免受总线段和它的本地从机的故障。
在此层次结构中,如果主机402或主机404将发出事务到安全节点436下游的任何从机(例如,从机420、从机422、从机430、从机432和从机434),该事务必须首先经过安全节点436。对于由主机402或主机404发出到安全节点440的下游任何(目标)从机(例如,从机430、从机432和从机434)的事务,改事务必须首选经过安全节点436,然后再到达(目标)从机前,经过安全节点440。以这种方式,主机402和主机404由安全节点436保护免受在安全节点436下游(例如,总线段442d、从机420、从机422)发生的故障。凭借具有安全节点436下游的安全节点440,主机402和主机404(通过安全节点436和安全节点440)也免受发生在安全节点440、总线段442f、从机430、从机432和从机434的任何一个下游故障。
此外,如果主机404或者主机406将发出事务到安全节点438下游的任何从机(例如,从机424、从机426和从机428),该事务必须首先经过安全节点438。以这种方式,主机404和主机406由安全节点438免受安全节点438下游发生的故障(即,总线段442e、从机424、从机426和从机428)。
在一个替代实施例中,安全节点440具有与总线段442e相连接的上游部分。这种拓扑结构使得主机404和主机406能够通过安全节点440通信到从机430、从机432和从机434。此外,安全节点440(作为从机430、从机432和从机434的单一主机)将保护主机404和主机406免受安全节点440下游发生的故障。这还显示了许多可能实施例中另一个,其中安全节点可以被放置在互连总线层次结构/网络中以在系统中提供所期望容错性。
方法概要
根据本公开的一些实施例,图5是示出了用于监测和存活互连数据总线上的超时的过程的简化流程图。尤其,用于监测和存活互连数据总线上的超时的方法是由安全节点执行,例如,图1的安全节点。该安全节点可以包括与连接到一个或多个主机的总线层次结构/网络的上游段相连接的上游部分和与连接到一个或多个从机的总线层次结构/网络的下游段相连接的下游部分。
该方法包括在上游段转发来自第一主机的第一事务到下游段的第一从机(框502)。安全节点,正被插入在上游段和下游段之间,用来转发主机和从机间交换的事务和响应。
安全节点监测互连数据总线(框504)以确定第一从机在超时周期是否响应(例如,在菱形506中超时情况的检查)。例如,安全节点在下游部侦听来自第一从机的响应。
在一些实施例中,安全节点具有超时监测寄存器,它用于指示安全节点是否启用或不启用在互连数据总线上的监测(或安全节点的超时监测是否启用或不启用)。因此,安全节点可以根据超时监测寄存器指示的状态,监测互连数据总线。
在一些实施例中,超时周期的长度可以由安全节点的可编程超时计数寄存器来配置。用于超时周期倒计时的时钟可以与超时监测器一起被提供以为超时周期提供定时器。超时周期可以依据时钟周期的数目来定义(例如,存储在超时计数寄存器中的值)。
具有可配置超时周期是有利的,原因有几个。例如,超时计数器可以被编程以表示比总线上的最长的正常等待时间更长的时间,但是比错误情况最小所需系统响应时间短。这个值可以因系统而异,并且在用户控制下是有价值的。在另一个实例中,硬件可以使用多个编程值的其中一个初始化超时计数器,其中选择取决于主机的类型或寻址的从机,例如,用于慢速设备的较长超时和用于较快设备的较短超时。可编程寄存器选项的数量原则上是没有限制的。
如果第一从机在超时周期内响应(“否,响应接收”菱形506的箭头),安全节点通过转发该响应到第一主机(框508),确保正确和正常的运行。
如果第一从机在超时周期内(“是”菱形506箭头)没有响应(或没有响应已被观察到),以下的一个或多个可以发生以指示安全节点(或互连数据总线)已进入超时状态或观察到超时错误。在一些实施例中,安全节点设置超时中断寄存器的值以指示超时中断信号有效(框510)。在一些实施例中,安全节点生成或者提升超时中断信号(例如,除了设置超时中断寄存器的值之外)。在一些实施例中,安全节点设置超时错误寄存器以指示在互连数据总线(框510)上超时已发生。
如果第一从机在超时周期内(菱形506的“是”箭头)没有响应(或者没有响应已被观察到),安全节点发生或触发预先设置(错误或者虚拟)响应到第一从机以允许第一主机完成第一事务(框512)。这确保了第一事务被完成,从第一主机的角度,即使第一主机接收预先设置的响应。
此外,如果第一从机在超时周期内没有响应(或者没有响应被观察到),安全节点承担第一主机的角色并且以第一主机的名义等待响应(框514)。具体而言,安全节点通过等待第一从机响应在下游段保持第一事务。换句话说,安全节点存活在超时后(没有被重置)。在下游段保持第一事务的安全节点的存活方面可以包括等待第一从机响应第一事务直到或者(1)第一从机响应第一事务(菱形516的“是,响应接收”的箭头)或者(2)总线被复位(菱形518的“是”箭头)。
一旦安全节点已进入超时状态,安全节点可以接收,通过与互连数据总线的上游部相连接的上游部分,在上游部来自第二主机的第二事务(或者来自其他主机的事务)。为了防止进一步故障并且确保系统的继续运作,安全节点可以发送或触发,例如,使用超时监测(通过上游部分或者与第二主机相连接的另一些)预先设置(虚拟)响应(例如,包括一个或多个错误、部分、正常、和/或边带中断)到第二主机,响应于第二事务(或者任何其他被发出给从机的事务)(框512)。这允许安全节点在超时错误存在时,拒绝这些下游事务。
一旦安全节点已进入超时状态,如果安全节点接收第一事务的第一响应,通过连接互连数据总线(菱形516的“是,响应接收”箭头)的下游段的下游部分,安全节点报告该响应到第一主机(框520)。因为总线协议只允许每个事务一个并且仅一个响应,安全节点可以向第一主机报告响应,通过总线协议外的一种方式,例如,通过中断和/或寄存器中的状态位,指示下游总线段已恢复。接收到的响应可以在寄存器中被捕获,用于第一主机的后续检查。
此外,安全节点可以清除寄存器以指示该安全节点不再处于超时状态。在一些实施例中,响应于接收第一响应,安全节点重置超时中断寄存器(框522)。在一些实施例中,安全节点,重置超时中断寄存器以清除超时中断信号(框522),其中,超时中断寄存器指示超时中断信号是否有效。在一些实施例中,安全节点,响应于接收第一响应,重置超时错误寄存器(框522)。
当安全节点处于超时状态,未解决的事务将在主机侧的预先设置虚拟响应终止。此后,安全节点上游总线段的总线事务将正常运作。正来自安全节点下游发出的所有其他新的主机接口事务(即,经过安全节点)将理解接收错误响应。如果收到迟来的从机响应,超时错误寄存器被清除,并且主机将被总线协议以外通知。
需要注意的是,如果超时事务是写入,在事务的主机和从机角度之间存在潜在的失配。主机在超时周期的结束接收错误,而从机可以在超时周期到期后,完成写入。必须注意解决这个潜在的失配。有几种方法来处理这种情况。在一个实例中,如果主机尝试写事务但接收到错误响应时,它现在可以执行错误处理程序。该应用程序应该假设写的结果是不确定的,并且采取适当行动来保护系统。在另一实例中,如果写入在超时错误之后完成,安全节点可以使用中断或状态指示(寄存器中位)以通知始发主机。然后用于指示的该处理程序可以采取诊断或纠正措施以确定系统的当前状态并且采取适当的行动以保护系统。请注意,在没有本文所述的安全节点的系统中,没有这些错误处理程序是可能,因为正常的总线协议需要上游的主机永远挂起。
应当注意的是,与图5中所示的布局相关的所述方法并不意在限制。该方法的各个部分可以乱序执行、并行地和/或由该方法的其他合适的实施方式予以取代。
安全节点控制寄存器(多个)
根据本公开的一些实施例,图6是示出了安全节点的示例性的控制寄存器的简图。尤其是,该图示出了一组用于控制安全节点(“安全节点控制寄存器”)示例性的寄存器。该组寄存器包括32位,但是取决于不同的应用和需要,可以使用的其它数目的位。通常情况下,这些控制位是由运行在主机软件(处理器)在系统初始化时配置。用于本公开内容,最相关的控制寄存器是超时监测寄存器602(“TOMON”用于指示安全节点的超时监测功能是否被启用或未启用)。在这个实例中,当值是“1”,则超时监测被启用,并且当值是“0”,则超时监测器未启用。当超时监控寄存器被设定(例如,1位寄存器在位置20专门用于存储控制位),互连数据总线的下游段的总线事务被监测超时错误。
其他的控制寄存器可以包括一个或多个寄存器用于使能:访问保护寄存器锁、写保护寄存器锁、保护冲突中断使能、全局锁字段等。
安全节点状态寄存器(S)
图7是示出了安全节点的示例性的状态寄存器的简图,根据本公开的一些实施例。尤其是,该图示出了一组用于指示安全节点的各种状态的示例性的寄存器(“安全节点状态寄存器”)。该组寄存器包括32位,但根据不同的应用和需要,可以使用其它数目的位。用于本公开,最相关的控制寄存器是超时中断寄存器702(“TIRQ(W1C)”,用于指示超时中断信号是否有效,写入一清除)和超时错误寄存器704(“TOERR(RO),用于指示超时是否发生在互连数据总线上,只读)。
当超时中断寄存器(例如,1位寄存器在位置13专门用于存储状态位)被设置为有效,值“1”表示超时违反已检测并且超时中断信号已被断言(或是有效)。当超时中断寄存器被设置为无效,或已被复位时,值“0”表示超时违反不再存在并且超时中断信号无效。通过设置超时中断寄存器的状态位,安全节点的超时中断信号可以写一清除。
当超时错误寄存器(例如,1位寄存器在位置29专门用于存储状态位)被设置为有效时,值“1”指示在互连数据总线上已经发生超时。超时错误寄存器是只读的,而“1”或有效值指示超时事务正在进行。此状态位(单个)被清除或复位,当超时周期到期检测到后续响应时。
其他的控制寄存器可以包括一个或多个寄存器,用于指示状态:锁定写入错误、寻址错误、全局锁状态、违规中断等。
安全节点超时寄存器
图8是示出了安全节点的示例性超时计数寄存器,根据本公开的一些实施例。安全节点的一个优点是超时周期内的可编程性。超时周期的长度可以由超时计数寄存器802中的值来设置。在此实例中,超时计数寄存器可以包括32位,但也可以使用其它数目位。在这个实例中,16位(计数寄存器的第0至15位)被保留用于存储超时计数值。超时计数寄存器使得系统能够编程的超时周期的长度,例如,依据时钟周期的数量等。
在一些实施例中,如果超时监测寄存器指示安全节点被启用,则产生中断(TIRQ)当在超时计数器到期之前目标端点不响应时。如果超时计数寄存器具有“0”的值,超时中断信号不被产生。从超时计数寄存器读取返回已编程的值。当前计数不能被读取。
系统和方法的应用和变型
本文的所述的安全节点在许多需要容错类型的系统具有广泛的适用性。例如,安全节点可以被放置在两个(或更多)子系统之间的片上系统,其中可以监测操作或彼此的状态(两个子系统可以是不对称或对称的)。通过将安全节点置于这些子系统之间,可以提供保护给一个子系统使之免受发生在另一个子系统中的故障,同时允许两个子系统互相通信故障。在不使用安全节点,系统设计者通常必须隔离彼此通信的两个子系统以提供容错,这会严重地限制系统的功能。
需要良好的容错性的多个子系统在安全关键应用中经常被发现,例如(太阳能)光伏逆变器系统和电机控制系统。例如,功能安全目标可能强加在光伏逆变器系统,需要安全机制能够确保在一定数量的硬件故障(需要非零容错号码)存在期间,系统的正确运作。在太阳能电池板逆变器的实例中,主控制处理器/主机可以执行许多实时任务,同时负责移动周围能量千瓦。如果有故障,故障可以传播到系统的其他部分。工业法规可能需要太阳能电池板逆变器满足特定的安全要求,其中逆变器必须关闭系统或减少硬件故障发生的情况。例如,继电器可能需要断开,如果检测到故障。通过避免死锁或停转,安全节点可以提供了巨大的效用使得主机作出适当的响应(在硬件故障发生时,通过执行补救措施)。
概括地说,这些安全关键系统都需要存活未能达到覆盖的一定比例的一部分并且进行最后防线的安全操作以保护环境、人员、财产、设备等。传统系统可以尝试通过从系统的其他部分隔离所有外围设备以防止故障传播到系统的其他部分来提供容错。但是,这种系统有非常小的功用,因为现代/复杂的电子系统很少允许子系统隔离独立运作。如果使用了安全节点,整个系统可以有效地允许主机和从机中的外围设备和通信受控的共享,同时提供所需的容错能力。
安全节点允许系统安全失败,通过提醒主机超时情况已发生,通过发送或触发预先设置(虚拟/错误)响应并且使得主机开始错误处理程序。
安全节点可以提供允许两个子系统通信,同时保持故障隔离的优点并且提供了故障安全系统。利用安全节点的系统可以从硬件故障恢复(即,具有很大程度的存活能力),同时具有互连的两个系统的好处。
另一个优点是在互连总线层次结构/网络中使用安全节点以减少总线的共因故障(CCF)级分的能力。当存在多个子系统(或处理器)时,可以有许多可能同时影响多个共因故障,由于子系统间共享的逻辑。安全节点可以增加互操作性,同时降低了系统的CCF级分,因为由安全节点提供的隔离可以防止故障在同一时间影响多个主机(从而减少CCF贡献)。工业可以大大从本公开所展望的安全节点的适用性中受益,包括:汽车、电机控制工业、能源输配、太阳能系统、不间断电源、医疗保健、交通运输、公用事业、基础设施、航空航天等。
在本公开和权利要求中,术语“总线层次结构”和术语“总线网络”包括配置在属性结构(其中,没有环存在)的互连总线和配置为网络(其中存在一个或多个环)的互连总线。
在上述实施例的讨论中,这些组件可以容易地被取代、替换或为了适应特定的电路需要另外修改。此外,应该指出的是,使用互补的电子设备、硬件、软件等为实现本公开的教导提供同样地可行选择。
在一个示例实施例中,图1-4的任何数量的电路可以在相关联的电子设备的电路板来实现。该板可以是普通的电路板,可以容纳电子设备的内部电子系统的各种组件。并且进一步为其他外围设备提供连接器。更具体地,该板可以提供的电连接通过它该系统的其它部件可以电通信。任何合适的处理器(包括数字信号处理器、微处理器、支持芯片组等)、计算机可读非临时性存储元件等可以适当地连接到该板,根据特定配置的需求、处理需求、计算机设计等。其他组件,例如外部存储、附加的传感器、用于音频/视频显示器的控制器以及外围设备可以被连接到板,以插入式卡方式、通过电缆或集成到板本身。
在另一示例实施例中,图的电路可以被实现为单独的模块(例如,具有配置以执行特定应用或功能的相关的组件和电路的设备)或实现为插件模块到电子设备的专用硬件。需要注意的是,本公开的具体实施例可以容易地包括在片上系统中(SOC)封装,无论是部分或全部。SOC表示集成了计算机的组件或其它电子系统到单个芯片IC。它可能包含数字、模拟、混合信号并且经常射频功能:所有这些可以设置在单个芯片衬底。其他实施例可以包括多芯片模块(MCM),具有多个位于单一的电子封装内并且通过电子封装,配置以彼此紧密相互作用单独的IC。在各种其他实施例中,扩增的功能可以在特定用途集成电路(ASIC)中一个或多个硅芯上、现场可编程门阵列(FPGA)、和其他的半导体芯片实现。
还必须要注意的是所有的说明书、尺寸以及本文所概述的关系(例如,处理器、逻辑操作等的数目)只被提供用于示例和教导的目的。这样的信息可以变化相当大,而不脱离本公开的精神或所附权利要求的范围。该说明书仅适用于非限制性实例,因此,它们应被解释为这样。在前面的描述,示例实施例已经描述参考特定的处理器和/或部件的安排。各种修改和改变,可以对这样的实施例而不脱离所附权利要求的范围。说明书和附图响应地,应被认为是说明性的而不是限制性的。
请注意,上面参照图(诸如图5)所讨论的活动,适用于涉及基于处理器的电子设备,在主从机间具有互连总线的任何集成电路,尤其是那些能执行专门的软件程序,或者在安全关键应用的算法,其中一些可以与处理数字化的实时数据相关联。某些实施例可以涉及到多DSP信号处理、浮点处理、信号/控制处理、固定功能处理,单片机应用等。
在某些上下文中,本文中讨论的特征可以适用于医疗系统、科学仪器、无线和有线通信、雷达、工业进程控制、音频和视频设备、电流检测、仪表(其可以是高度精确的)和其它数字处理的系统。本公开的安全节点的应用可以涉及汽车技术为安全系统(例如,稳定性控制系统、驾驶员辅助系统、制动系统、信息娱乐以及任何种类的内部应用程序)。
注意,对于本文所提供的许多实施例,相互作用可以在两个、三个、四个或更多个电部件来描述。然而,这项工作已经完成,为清楚起见而仅作为示例。应当理解,该系统可以以任何合适的方式进行合并。沿着类似的设计替代方案,任何示出的组件,模块和图的元件可以以各种可能的配置相组合,所有这些都清楚本说明书的范围之内。在某些情况下,可能会更容易来描述一个或多个一组给定流的功能仅由参考电元件的数量有限。应当理解的是,图1和它的教导的电路是容易可扩展的,并且可以容纳大量的组件,以及更复杂/精密布置和配置。因此,提供了不应该限制其范围或抑制电路的广泛教导的实施例为可能应用于其它结构的无数。
注意,在本说明书中,参照的各种特征(例如,元件、结构、模块、组件、步骤、操作、特性等)包含在“一个实施例”、“示例实施例”,“实施例”、“另一实施例”、“一些实施例”、“各种实施例”,“其他实施例”、“替代实施例”等旨在表示,任何这样的功能都包含在本公开的一个或多个实施例,但可以或可以不以相同的实施例必然进行组合。许多其他改变、替换、变化、改变和修改可确定一个本领域技术人员并且意的是,本公开内容包括所有这样的改变、替换、变化、改变和修改落入所附权利要求的范围内。

Claims (20)

1.一种用于监测和存活集成电路的片上互连数据总线上的超时的所述集成电路内的安全节点,所述安全节点包括:
上游部分,与连接到所述集成电路的一个或多个主机的所述片上互连数据总线的总线网络的上游部交互;和
下游部分,与连接到所述集成电路的一个或多个从机的所述片上互连数据总线的所述总线网络的下游部交互;
其中所述安全节点配置以:
转发来自所述上游部的第一主机的第一事务到所述下游部的第一从机;
监测所述互连数据总线以确定所述第一从机是否在超时周期内没有响应;和
如果所述第一从机在所述超时周期内没有响应,则发送预先设置的响应到所述第一主机以允许所述第一主机完成所述第一事务。
2.如权利要求1所述的安全节点,其中所述安全节点还配置以:
如果所述第一从机在所述超时周期内没有响应,则通过等待所述第一从机响应,在所述下游部保持所述第一事务。
3.如权利要求1所述的安全节点,其中所述安全节点还包括:
超时监测寄存器,用于指示所述安全节点是否启用以监测在所述互连数据总线上的超时。
4.如权利要求1所述的安全节点,其中所述安全节点还包括:
超时中断寄存器,用于指示超时中断信号是否是有效的。
5.如权利要求1所述的安全节点,其中所述安全节点还包括:
超时错误寄存器,用于指示在所述互连数据总线上超时是否已发生。
6.如权利要求1所述的安全节点,其中所述安全节点还包括:
超时计数寄存器,用于设定所述超时周期的可编程长度。
7.如权利要求1所述的安全节点,其中所述安全节点还配置以,如果所述第一从机在所述超时周期内没有响应,则:
通过所述上游部分,接收来自所述上游部上的第二主机的第二事务;和
响应于所述第二事务,发送预先设置的错误响应到所述第二主机。
8.如权利要求1所述的安全节点,其中所述安全节点包容在所述互连数据总线上一个故障的最大数目。
9.一种用于通过集成电路的安全节点监测和存活在片上互连数据总线上的超时的方法,所述安全节点包括与连接到所述集成电路的一个或多个主机的所述片上互连数据总线的总线网络的上游部交互的上游部分和与连接到所述集成电路的一个或多个从机的所述片上互连数据总线的所述总线网络的下游部交互的下游部分,所述方法包括:
通过所述安全节点转发来自所述上游部的第一主机的第一事务到所述下游部的第一从机;
通过所述安全节点监测所述互连数据总线以确定所述第一从机是否在超时周期内没有响应;和
如果所述第一从机在所述超时周期内没有响应,则通过所述安全节点发送预先设置的响应到所述第一主机以允许所述第一主机完成所述第一事务。
10.如权利要求9所述的方法,还包括:
如果所述第一从机在所述超时周期内没有响应,则通过等待所述第一从机响应,在所述下游部保持所述第一事务。
11.如权利要求9所述的方法,还包括,如果所述第一从机在所述超时周期内没有响应,则:
通过所述上游部分,接收来自所述上游部上的第二主机的第二事务;知
响应于所述第二事务,发送预先设置的错误响应到所述第二主机。
12.如权利要求9所述的方法,其中所述超时周期的长度由所述安全节点的可编程超时计数寄存器予以配置。
13.如权利要求9所述的方法,还包括,如果所述第一从机在所述超时周期内没有响应,则:
设定超时中断寄存器的值以指示超时中断信号是有效的。
14.如权利要求13所述的方法,还包括,在所述超时周期后:
通过所述下游部分,接收对所述第一事务的第一响应;
响应于接收到所述第一响应,复位所述超时中断寄存器。
15.如权利要求9所述的方法,还包括,如果所述第一从机在所述超时周期内没有响应,则:
生成超时中断信号。
16.如权利要求15所述的方法,还包括,在所述超时周期后:
通过所述下游部分,接收对所述第一事务的第一响应;
响应于接收到所述第一响应,复位超时中断寄存器以清除所述超时中断信号,其中所述超时中断寄存器指示所述超时中断信号是否是有效的。
17.如权利要求9所述的方法,还包括,如果所述第一从机在所述超时周期内没有响应,则:
设定超时错误寄存器的值以指示在所述互连数据总线上超时已发生。
18.如权利要求17所述的方法,还包括,在所述超时周期后:
通过所述下游部分,接收对所述第一事务的第一响应;
响应于接收到所述第一响应,复位所述超时错误寄存器。
19.如权利要求10所述的方法,其中通过等待所述第一从机响应,在所述下游部保持所述第一事务包括:
等待所述第一从机响应所述第一事务直到所述第一从机响应所述第一事务或总线被复位。
20.一种安全关键系统,包括:
至少集成电路的第一主机处理器和所述集成电路的第二主机处理器;
所述集成电路的一个或多个从机;
所述集成电路的片上互连数据总线,包括连接到至少所述第一主机处理器和所述第二主机处理器的上游部和连接到所述一个或多个从机的下游部;
所述集成电路内的安全节点,具有与上游部交互的上游部分和与所述下游部交互的下游部分,其中所述安全节点配置以:
转发来自所述上游部的所述第一主机处理器的第一事务到在所述下游部上的第一从机;
监测所述片上互连数据总线以确定所述第一从机是否在超时周期内没有响应;和
如果所述第一从机在所述超时周期内没有响应,则触发预先设置的响应到所述第一主机处理器以允许所述第一主机处理器完成所述第一事务。
CN201510315285.2A 2014-06-10 2015-06-10 互连数据总线中的安全节点 Active CN105279438B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201462010014P 2014-06-10 2014-06-10
US62/010,014 2014-06-10
US14/717,894 US9804942B2 (en) 2014-06-10 2015-05-20 Safety node in interconnect data buses
US14/717,894 2015-05-20

Publications (2)

Publication Number Publication Date
CN105279438A CN105279438A (zh) 2016-01-27
CN105279438B true CN105279438B (zh) 2018-06-08

Family

ID=54549021

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510315285.2A Active CN105279438B (zh) 2014-06-10 2015-06-10 互连数据总线中的安全节点

Country Status (3)

Country Link
US (1) US9804942B2 (zh)
CN (1) CN105279438B (zh)
DE (1) DE102015108689B4 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11921715B2 (en) 2014-01-27 2024-03-05 Microstrategy Incorporated Search integration
US11386085B2 (en) 2014-01-27 2022-07-12 Microstrategy Incorporated Deriving metrics from queries
US10635669B1 (en) 2014-01-27 2020-04-28 Microstrategy Incorporated Data engine integration and data refinement
US9952894B1 (en) * 2014-01-27 2018-04-24 Microstrategy Incorporated Parallel query processing
US10255320B1 (en) 2014-01-27 2019-04-09 Microstrategy Incorporated Search integration
JP2016036944A (ja) * 2014-08-06 2016-03-22 シャープ株式会社 画像形成装置
JP6464263B2 (ja) * 2015-06-22 2019-02-06 株式会社日立製作所 フィールドプログラマブルゲートアレイ
JP6600518B2 (ja) * 2015-09-28 2019-10-30 ルネサスエレクトロニクス株式会社 バスシステム
EP3321814B1 (en) 2016-11-10 2020-09-23 NXP USA, Inc. Method and apparatus for handling outstanding interconnect transactions
CN106921547B (zh) * 2017-01-25 2020-05-08 华为技术有限公司 管理设备的装置和方法
US10846318B1 (en) 2017-04-18 2020-11-24 Microstrategy Incorporated Natural language visualizations
KR102385541B1 (ko) * 2017-09-29 2022-04-11 삼성전자주식회사 버스 시스템
US10437773B2 (en) * 2017-12-05 2019-10-08 Marvell World Trade Ltd. SPI devices with multi-master capabilities
US11126578B2 (en) * 2017-12-18 2021-09-21 Intel Corporation Mobile broadband interface model (MBIM) with timeout mechanism
US11195050B2 (en) 2019-02-05 2021-12-07 Microstrategy Incorporated Machine learning to generate and evaluate visualizations
US11614970B2 (en) 2019-12-06 2023-03-28 Microstrategy Incorporated High-throughput parallel data transmission
US11567965B2 (en) 2020-01-23 2023-01-31 Microstrategy Incorporated Enhanced preparation and integration of data sets
US12105666B2 (en) * 2021-04-19 2024-10-01 Advanced Micro Devices, Inc. Master-slave communication with subdomains
CN113190400B (zh) * 2021-04-19 2022-11-04 思澈科技(上海)有限公司 一种适用于ahb协议的总线监控模块与监控方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064817A (zh) * 2012-12-21 2013-04-24 桂林电子科技大学 一种简化两线式串行数据总线传输方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040043198A (ko) 2001-09-27 2004-05-22 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 버스 시스템 및 버스 인터페이스
US8825804B2 (en) * 2005-01-26 2014-09-02 International Business Machines Corporation Method and system for avoiding an unintentional time-out for communications in a client-proxy-server environment
US7917719B2 (en) * 2006-12-04 2011-03-29 Sandisk Corporation Portable module interface with timeout prevention by dummy blocks
US8725946B2 (en) * 2009-03-23 2014-05-13 Ocz Storage Solutions, Inc. Mass storage system and method of using hard disk, solid-state media, PCIe edge connector, and raid controller
ES2656464T3 (es) * 2013-09-11 2018-02-27 Huawei Technologies Co., Ltd. Procedimiento, sistema informático y aparato de procesamiento de fallo
US9910817B2 (en) * 2014-03-04 2018-03-06 Black Diamond Video, Inc. Apparatus, system, and method for allowing USB devices to communicate over a network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064817A (zh) * 2012-12-21 2013-04-24 桂林电子科技大学 一种简化两线式串行数据总线传输方法

Also Published As

Publication number Publication date
CN105279438A (zh) 2016-01-27
US20150355989A1 (en) 2015-12-10
US9804942B2 (en) 2017-10-31
DE102015108689B4 (de) 2023-03-30
DE102015108689A1 (de) 2015-12-10

Similar Documents

Publication Publication Date Title
CN105279438B (zh) 互连数据总线中的安全节点
CN104933370B (zh) 安全意识主机的系统和方法
JP6647289B2 (ja) セーフティサブシステムを有するプログラマブルic
US9342393B2 (en) Early fabric error forwarding
US11774487B2 (en) Electrical and logic isolation for systems on a chip
US11176297B2 (en) Detection and isolation of faults to prevent propagation of faults in a resilient system
WO2009123629A1 (en) Converting resets in shared i/o system
CN106796575B (zh) 具有高操作确定性的片上系统
CN106796541A (zh) 数据处理装置
CN104810808B (zh) 一种多总线保护出口仲裁容错方法
JP7381752B2 (ja) ロックステップで動作するプロセッサのモニタリング
GB2539788A (en) Debug trigger interface for non-debug domain system reset
EP3249532B1 (en) Power supply controller system and semiconductor device
US9552385B2 (en) Centralized peripheral access protection
EP3321814B1 (en) Method and apparatus for handling outstanding interconnect transactions
US20150067385A1 (en) Information processing system and method for processing failure
US10026714B2 (en) Integrated circuit device
CN104484258A (zh) 一种多处理器的同步调试支持电路
US20200210544A1 (en) System and method for reducing silicon area of resilient systems using functional and duplicate logic
US20240176863A1 (en) System-on-chip including a resource isolation system and method for managing the corresponding resource isolation
JP6992295B2 (ja) 電子装置
Azkarate-askasua et al. Suitability of Hypervisor and MPSoC Architectures for the Execution Environment of an Integrated Embedded System
Serdin et al. The special radiation-hardened processors for new highly informative experiments in space
JPH0449461A (ja) バスロック解除方式
Steininger et al. INTEGRAL DESIGN OF HARDWARE AND OPERATING

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