CN115917972A - 用于单粒子翻转防止的互补2(n)位冗余 - Google Patents

用于单粒子翻转防止的互补2(n)位冗余 Download PDF

Info

Publication number
CN115917972A
CN115917972A CN202180006589.4A CN202180006589A CN115917972A CN 115917972 A CN115917972 A CN 115917972A CN 202180006589 A CN202180006589 A CN 202180006589A CN 115917972 A CN115917972 A CN 115917972A
Authority
CN
China
Prior art keywords
data storage
storage element
bit
data
logic
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.)
Pending
Application number
CN202180006589.4A
Other languages
English (en)
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN115917972A publication Critical patent/CN115917972A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • H03K19/23Majority or minority circuits, i.e. giving output having the state of the majority or the minority of the inputs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • H03K19/0033Radiation hardening
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits
    • H03K3/0375Bistable circuits provided with means for increasing reliability; for protection; for ensuring a predetermined initial state when the supply voltage has been applied; for storing the actual state when the supply voltage fails

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

本公开描述用于单粒子翻转(SEU)防止的互补2(N)位冗余的各种方面。在一些方面中,集成电路(104)包括用于存储数据值的数据存储元件(206)、用于存储互补数据值的另一数据存储元件(202)、用于存储数据值和互补数据值两者的多位数据存储元件(例如,2位存储元件(204)),以及表决逻辑(124),表决逻辑可以启用具有用于防止SEU的电路间冗余的互补数据存储方案。另外,集成电路的表决逻辑可以实现数据值错误的检测和校正和/或实现表决逻辑标准的编程,这可以基于检测或校正的SEU故障的类型动态地实施。

Description

用于单粒子翻转防止的互补2(N)位冗余
背景技术
如果没有保护措施,集成电路在某些环境条件下——诸如当暴露于太阳辐射时——通常很脆弱。例如,带电的太阳粒子可能撞击集成电路的节点,从而导致电压的突然尖峰。这种现象称为单粒子瞬变(SET)。当SET在锁存电路的建立/保持窗口期间发生在寄存器输入或传播到寄存器输入时,存在SET由电路系统捕获的风险。当SET由锁存电路捕获时,SET导致可能影响锁存电路的输出值的单粒子翻转(SEU)。因此,SEU可能通过将位值从预期的“1”值改变为不正确的“0”值或从预期的“0”值改变为不正确的“1”值在逻辑元件的节点中产生错误而导致重大故障。这些电路级错误可能不利地影响许多类型的安全或包括飞机、表决机器、医疗装置、卫星等的关键任务装置的操作。因此,将电路的SEU漏洞和可能影响各种类型的电子装置的操作的相关问题最小化具有重要意义。
先前的SEU防止技术试图通过在集成电路内创建硬件冗余来降低SEU的可能性。这些冗余元素通过特定于技术的距离进行分离,以抵消自然发生的SEU影响所有冗余元素的风险。例如,三重模块冗余(TMR)复制每个关键锁存器/触发器,要求三次符合SEU容差。然而,这些冗余没有解决故意攻击的固有漏洞。当攻击者知道冗余电路元件之间的大致距离时,这种攻击可以很容易地执行,并且由于冗余元件相同,因此对一个元件有效的攻击将对另一元件有效。因此,先前的SEU防止技术可能不足以防御恶意行为者或在其它情况下发生的SET。
发明内容
本公开描述用于防止单粒子翻转(SEU)的互补2(N)位冗余的设备和技术。在一些方面中,集成电路包括用于存储数据值的数据存储元件、用于存储互补数据值的另一数据存储元件、用于存储数据值和互补数据值两者的多位数据存储元件(例如,2位存储元件),以及表决逻辑,所述表决逻辑可以启用具有用于SEU防止的电路间冗余的互补数据存储方案。另外,集成电路的表决逻辑可以实现数据值错误的检测和校正和/或实现表决逻辑标准的编程,这可以基于检测或校正的SEU故障的类型动态地实施。
在一个方面中,用于SEU防止的互补2(N)位冗余的集成电路包括输入节点,其用于接收数据值;以及第一数据存储元件,其具有可操作地耦合到输入节点的输入,所述第一数据存储元件被配置成存储数据值。集成电路还包括至少一个反相器,其可操作地耦合到输入节点以提供互补数据值;以及第二数据存储元件,其具有可操作地耦合到至少一个反相器的输入,所述第二数据存储元件被配置成存储互补数据值。集成电路的多位数据存储元件具有第一输入,其可操作地耦合到输入节点;以及第二输入,其可操作地耦合到至少一个反相器。多位数据存储元件被配置成将数据值和互补数据值存储为单独值。集成电路包括表决器逻辑,所述表决器逻辑具有输出,其耦合到集成电路的输出节点;以及第一输入,其可操作地耦合到第一数据存储元件的输出以基于由第一数据存储元件存储的数据值接收第一逻辑值。表决逻辑还包括第二输入,其可操作地耦合到第二数据存储元件的输出以基于由第二数据存储元件存储的互补数据值接收第二逻辑值;第三输入,其耦合到多位数据存储元件的第一输出以基于由多位数据存储元件存储的数据值接收第三逻辑值;以及第四输入,其耦合到多位数据存储元件的第二输出以基于由多位数据存储元件存储的互补数据值接收第四逻辑值。在各方面中,表决器逻辑被配置成基于第一逻辑值、第二逻辑值、第三逻辑值和第四逻辑值中的至少三个的相应逻辑值集合将输出数据值提供到集成电路的输出节点。通过这样做,集成电路可以根据一个或多个方面实施互补2(N)位冗余,这可以SEU防止或其它相关错误影响由电路存储的数据。
在附图和以下具体实施方式中阐述用于SEU防止的互补2(N)位冗余的一个或多个实施方案的细节。其它特征和优点将从具体实施方式、附图和权利要求书变得显而易见。提供本概述以介绍在具体实施方式和附图中进一步描述的主题。因此,本发明内容不应被视为描述基本特征,也不用于限制所附权利要求的主题范围。
附图说明
本公开参考以下附图描述用于SEU防止的互补2(N)位冗余的设备和技术:
图1说明示例操作环境,所述操作环境包括计算装置,所述计算装置具有根据用于SEU防止的互补2(N)位冗余的一个或多个方面实施的电路系统;
图2说明用于SEU防止的互补2(N)位冗余电路的示例配置;
图3说明具有用于实施互补2(N)位冗余的一个或多个方面的可配置逻辑的表决逻辑的示例配置;
图4说明根据一个或多个方面的用于操作互补2(N)位冗余电路的示例方法;
图5说明用于互补2(N)位冗余电路可以实施的错误检测和/或校正的示例方法;
图6说明根据各个方面的用于制造和编程互补2(N)位冗余电路的表决逻辑的示例方法;
图7说明其中可以实施互补2(N)位冗余的方面的示例电子装置;以及
图8说明其中可以实施互补2(N)位冗余电路系统的方面的示例片上系统(SoC)环境。
在整个描述和附图中使用相同或相似的附图标记可以指示相似的特征或组件。
具体实施方式
解决单粒子翻转(SEU)的先前技术通常试图通过在集成电路内创建硬件冗余来降低SEU的可能性。这些冗余元素通过特定于技术的距离进行分离,以抵消自然发生的SEU影响所有冗余元素的风险。例如,三重模块冗余(TMR)复制每个关键锁存器/触发器,要求三次符合SEU容差。然而,这些冗余没有解决故意攻击的固有漏洞。当攻击者知道冗余电路元件之间的大致距离时,这种攻击可以很容易地执行,并且由于冗余元件相同,因此对一个元件有效的攻击将对另一元件有效。因此,先前的SEU防止技术可能不足以防御恶意行为者或在其它情况下发生的单粒子瞬变(SET)。
与前述技术相比,本公开描述用于防止单粒子翻转(SEU)的互补2(N)位冗余的方面。在所描述的方面中,计算装置的电路可以被配置成通过将互补逻辑状态存储在复制单元中来控制或最小化由于存储状态而导致的漏洞复制。所描述的数据存储元件可以实施为单个锁存器、主从触发器寄存器或可以存储数据的电路,使得数据作为互补值存储在单个单元中以避免攻击精度。作为示例,考虑根据互补2(N)位冗余的方面实施的电路,电路包括第一寄存器,其被配置成存储互补值(R2);以及第二寄存器,其被配置成存储原始数据值(R1)。换句话说,这些寄存器存储不同值或具有不同电压,并且因此对应节点值也不同且具有互补的漏洞。因此,SEU不太可能发生在两个复制的寄存器单元上,这导致电压R1和R2都改变状态。因此,恶意行为者不太可能导致SEU,因为除非恶意行为者能够将R1和R2两者的相应状态更改为它们的互补状态,否则电路的输出不受影响。另外,电路可以包括表决逻辑,所述表决逻辑可被配置成从一个或多个互补逻辑路径(例如,R1B和/或R2B)启用表决功能。如本文所描述,互补2(N)位冗余的方面可以SEU防止影响由电路的复制单元存储的数据,并且还可以启用错误检测和/或可重新配置的表决逻辑来解决检测到的错误。
在一些方面中,用于SEU防止的互补2(N)位冗余的集成电路包括输入节点,其用于接收数据值;以及第一寄存器,其具有可操作地耦合到输入节点的输入,第一寄存器被配置成存储数据值。集成电路还包括至少一个反相器,其可操作地耦合到输入节点以提供互补数据值;以及第二寄存器,其具有可操作地耦合到至少一个反相器的输入,第二寄存器被配置成存储互补数据值。互补数据值可以是数据值的反相版本。第二寄存器的输入可以耦合到至少一个反相器的输出。集成电路的多位寄存器具有可操作地耦合到输入节点的第一输入以及可操作地耦合到至少一个反相器(例如,至少一个反相器的输出)的第二输入。多位寄存器被配置成将数据值和互补数据值存储为单独值。集成电路包括表决器逻辑,表决器逻辑具有输出,其耦合到集成电路的输出节点;以及第一输入,其可操作地耦合到第一寄存器的输出以基于由第一寄存器存储的数据值接收第一逻辑值。表决逻辑还包括第二输入,其可操作地耦合到第二寄存器的输出以基于由第二寄存器存储的互补数据值接收第二逻辑值;第三输入,其耦合到多位寄存器的第一输出以基于由多位寄存器存储的数据值接收第三逻辑值;以及第四输入,其耦合到多位寄存器的第二输出以基于由多位寄存器存储的互补数据值接收第四逻辑值。在各方面中,表决器逻辑被配置成基于第一逻辑值、第二逻辑值、第三逻辑值和第四逻辑值中的至少三个的相应逻辑值集合将输出数据值提供到集成电路的输出节点。通过这样做,集成电路可以根据一个或多个方面实施互补2(N)位冗余,这可以防止SEU或其它相关错误影响由电路存储的数据。这些只是用于防止SEU的互补2(N)位冗余的几个示例,其它示例在整个公开中进行描述。
以下讨论描述操作环境、可以在操作环境中采用的技术,以及可以在其中体现操作环境的组件的各种装置或系统。在本公开的上下文中,仅以示例的方式提及操作环境。
示例环境
图1在100处说明其中可以实施用于SEU防止的互补2(N)位冗余的方面的电子装置102。计算装置102可以包括为了简洁起见从图1省略的额外组件和接口。如图1中所示,计算装置102可以实施为各种消费电子装置。作为非限制性示例,计算装置102可以是移动电话102-1、平板装置102-2、膝上型计算机102-3、台式计算机102-4、计算机化手表102-5、可穿戴计算机102-6、视频游戏控制台102-7或语音辅助系统102-8。尽管示出,但是计算装置102也可以实施为其它类型的系统或装置,其可以包括健康监测装置、多媒体加密狗、机顶盒、基于车辆的计算系统、导航装置、航空计算系统、家庭自动化装置、安全系统控制器等中的任一个。应注意,计算装置可以是可穿戴的、不可穿戴的,但可移动或相对固定(例如,宽带路由器、移动热点或智能设备)。
如图1中所示,计算装置102包括至少一个集成电路104,所述至少一个集成电路启用计算装置的一个或多个功能。在此示例中,集成电路104可以被实施为处理器106、计算机可读存储介质108、通信接口110和/或计算装置102的输入/输出(I/O)控制逻辑112或其一部分。尽管未示出,但是集成电路104可以被实施为或包括其它组件,包括通信单元(例如,调制解调器)、输入/输出控制器和计算装置102的系统接口。
处理器106可以实施为(例如,多核中央处理单元(CPU)或应用处理器(AP)的)通用处理器、专用集成电路(ASIC)或片上系统(SoC),其中计算装置102的其它组件集成在其中。计算机可读介质108可以包括任何合适类型的存储器介质或存储介质,诸如只读存储器(ROM)、可编程ROM(PROM)、随机存取存储器(RAM)、动态RAM(DRAM)、静态RAM(SRAM)或快闪存储器。在此讨论的上下文中,计算装置102的计算机可读介质108被实施为不包括瞬态信号或载波的至少一个基于硬件或物理存储装置。计算装置102的应用、固件和/或操作系统(未示出)可以作为处理器可执行指令体现在计算机可读介质108上,这些指令可以由处理器106执行以提供本文所述的各种功能。计算机可读介质108还可以存储信息和数据,诸如可通过计算装置102的应用、固件或操作系统访问的用户数据或用户介质。
通信接口110实现装置数据的有线和/或无线通信,所述装置数据诸如所接收的数据、所传输的数据或本文所描述的其它信息。示例通信接口110包括符合各种IEEE 802.15标准的无线个域网(WPAN)无线电、符合各种IEEE 802.11标准中的任一个的无线局域网(WLAN)无线电、用于蜂窝电话的无线广域网(WWAN,例如符合3GPP)无线电、符合各种IEEE802.16标准的无线城域网(WMAN)无线电,以及有线局域网(LAN)以太网收发器。I/O控制逻辑可以被配置为一个或多个数据输入/输出端口(数据I/O端口),通过数据I/O端口可以接收任何类型的数据、媒体内容和/或其它输入,诸如用户可选择的输入、消息、应用、音乐、电视内容、录制的视频内容,以及从任何内容和/或数据源接收的任何其它类型的音频、视频和/或图像数据。在各方面中,集成电路104以及其组件可以被实施为包括处理器106、计算机可读存储介质108(CRM 108)、通信接口110、或I/O控制逻辑112的计算装置102的任何合适电路或其一部分。
作为非限制性示例,集成电路104可以包括片上系统(SoC)、中央处理单元、图形处理单元、ASIC、现场可编程门阵列(FPGA)、媒体控制器、存储器控制器、张量处理单元,或包括数据存储能力的任何其它硬件电路。在此示例中,集成电路104包括未受保护的电路系统114和受保护的电路系统116,受保护的电路系统116包括互补2(N)位冗余电路系统118。在各方面中,集成电路104的受保护的电路系统116提供某种程度的故障防止或容错,诸如保护SET或SEU,以增加在集成电路104内和由集成电路104实施的数字系统的可靠性。集成电路104的未受保护的电路系统114可以包括集成电路104的不提出或不提供故障防止或容错的其它电路系统。因此,集成电路104的关键或敏感电子电路系统可以作为受保护的电路系统116的一部分并且根据用于SEU防止的互补2(N)位冗余的一个或多个方面实施。
在图1的示例中,受保护的电路系统116包括互补2(N)位冗余电路系统118的示例,所述互补2(N)位冗余电路系统用多位补充存储装置120、数据反相逻辑122和表决逻辑124实施。多位补充存储装置120可以包括接收并存储数据值和补充数据值的两位寄存器(例如,一对双互锁单元(DICE)触发器)或锁存电路。数据反相逻辑122包括任何合适类型的反相逻辑、反相节点或反相门,以基于数据值输入(例如1)提供补充(例如,反相)数据值(例如0)。在各方面中,表决逻辑124可操作地耦合到多位补充存储装置120、未补充存储元件和一位补充存储元件。如本文所描述,存储元件可以包括锁存器、双稳态锁存器、置位-复位锁存器(SR锁存器)、主从锁存器、D锁存器、触发器、D触发器、T触发器、JK触发器、主从触发器、1位寄存器、多位寄存器、数据存储电路、逻辑存储单元、电荷存储单元等中的一个或多个。一般来说,表决逻辑124可被配置为基于来自多位补充存储装置120、未补充存储元件和一位补充存储元件的至少三个输入数据值来提供输出数据值。表决逻辑124可以在一个或多个生命周期状态下,诸如在制作期间(例如,物理硬编码)、制造期间(例如,熔丝编程)或在现场(例如,自校正逻辑更改)配置。如本文所描述,多位补充存储装置120、数据反相逻辑122和表决逻辑124可以用各种方式实施,以影响由互补2(N)位冗余电路系统118存储的数据。
图2在200处说明互补2(N)位冗余电路系统118和能够实施用于SEU防止的互补2(N)位冗余的方面的组件的示例配置。下文图2和图3的所说明组件和架构呈现为可以实施用于SEU防止的互补2(N)位冗余的方式的非限制性示例。因此,本文所描述的方面可以应用于或扩展到任何合适的数据存储电路,以实施用于SEU防止的互补2(N)位冗余的各种特征。此外,各种组件之间的任何耦合或连接可以是直接的或间接的,诸如通过一个或多个中间组件进行。为了视觉简洁和/或清晰,一些不相关或冗余的组件(例如,逻辑门或互补数据路径)或电路系统也可以从此电路图或其它电路图中省略。这种省略不应被解释为限制性的,而是作为可以使用或应用所描述电路系统的各个方面来实施用于SEU防止的互补2(N)位冗余的许多方式的一个示例。换句话说,本文所描述的方面(例如,电路系统)也可以用任何合适数目或组合的逻辑门、数据路径和/或附加或分离的冗余或复制单元实施。
在各方面中,可以如图2中所示实施互补2(N)位冗余电路系统118,图2说明具有用于两级或三级表决逻辑124的选项的多寄存器冗余存储模块。在此示例中,互补2(N)位冗余电路系统118包括用相应锁存电路(例如,置位-复位触发器)实施以存储数据值的第一1位R1寄存器202、作为多位补充存储装置120的第二双二位寄存器R2 204和第三1位寄存器R3206。在各方面中,包括R1、R2和/或R3的任何数据存储元件(例如,1位或2位存储元件)可以被实施为锁存器(单个锁存器)、双稳态锁存器、置位-复位锁存器(SR锁存器)、主从锁存器、D锁存器、触发器、D触发器、T触发器、JK触发器、主从触发器、1位寄存器、多位寄存器、数据存储电路等。因此,当被实施为参考图2所示出和描述的那些数据存储元件的替代数据存储元件(例如,单个锁存器或其它类型的触发器)时,本文所描述的方面可以应用于R1、R2或R3第一R1寄存器202包括主要锁存器208(例如,主锁存器)和辅助锁存器210,并且被配置成存储补充数据值(R1B)。第二R2寄存器包括具有主要锁存器212(例如,主锁存器)和辅助锁存器214的第一锁存电路,并且被配置成存储原始或未补充数据值(R2)。R2寄存器204的第二锁存电路包括主要锁存器216(例如,主锁存器)和辅助锁存器218,并且被配置成存储补充数据值(R2B)。在各方面中,R2寄存器204包括共享逻辑220,第一锁存电路和第二锁存电路使用公共时钟和门控信号操作所述共享逻辑。第三R3寄存器206包括主要锁存器222(例如,主锁存器)和辅助锁存器224,并且被配置成存储原始数据值或未补充位值。寄存器202、204和206的相应输入可以直接地或通过数据反相逻辑122耦合到互补2(N)位冗余电路系统118的数据输入226以接收数据值或补充数据值。寄存器202、204和206的相应输出可以直接地或通过数据反相逻辑122的另一示例耦合到表决逻辑124,以将数据值或补充数据值提供到表决逻辑124,表决逻辑124可以如本文所描述(例如,参考图3)配置成将输出数据值提供到互补2(N)位冗余电路系统118的数据输出228。
一般来说,寄存器202、204和206可以被配置成实施具有如本文所述的用于SEU防止的互补2(N)位冗余电路系统118的附加方面或特征的三重模块冗余(TMR)。例如,1位R1寄存器202可以被配置成存储NOT(R1)或R1B的互补逻辑值。如图所示,数据输入D和数据输出Q用数据反相逻辑122来反相,数据反相逻辑122包括不提供逻辑等效性变化的外部NOT门230和232。第二寄存器R2 204可以实施为双触发器或用于2位冗余的2位存储元件,其中第一触发器或数据存储元件(例如,第1位)被配置成存储原始数据值或未补充数据值(R2)。第二触发器或数据存储元件(例如,第二位)被配置成存储补充数据值R2B。此处,第二寄存器R2204的第二数据存储元件的数据输入D和数据输出Q用数据反相逻辑122来反相,数据反相逻辑122包括不提供逻辑等效性变化的外部NOT门234和236。类似于寄存器R2 204的第一数据存储元件,第三寄存器R3耦合到数据输入226并且可以被配置成存储原始数据值或未补充数据值(R3)。
表决逻辑124可以直接地或通过数据反相逻辑122耦合到寄存器202、204和206的相应输出。一般来说,表决逻辑124可以提供自适应或可配置的多数表决器函数,以基于由寄存器202、204和/或206存储的相应数据值和/或互补数据值的各种组合来生成输出数据值。表决逻辑124、寄存器202、204和/或206,或其它组件可以根据互补2(N)位冗余的方面以各种方式实现以防止单粒子翻转。在各方面中,表决逻辑124可以包括可以针对广泛的优化进行调整的多数表决器函数。例如,多数表决器函数可以从——诸如R1B、R2和R3;或R1B、R2B和R3——至少三个寄存器输出中计算多数。作为另一示例,多数表决器函数可以选择不反相R1B输出,而是计算R1、R2和R3的多数(例如,类似于TMR配置)。作为又另一示例,多数表决器函数可以被实施用于可编程表决和/或执行循环表决。在其它情况下,表决逻辑124可以包括XOR电路,XOR电路接收和评估互补对(例如,R1B/R2或R2B/R3)以检测远程或本地寄存器故障。通过这样做,表决逻辑124可以检测R1或R2级中的一个是否发生故障,并使用另一级作为虚拟替代,从而使互补2(N)位冗余电路系统118能够实施错误检测和校正。
在各方面中,互补2(N)位冗余电路系统118可以被配置成通过将互补逻辑状态存储在复制寄存器或单元中来控制或最小化由于存储状态而导致的漏洞复制。如图3中所示,在R1和R2处的电压值不同,因此节点值也不同并且具有互补漏洞。换句话说,SEU不太可能发生在两个复制的单元上,这导致电压R1和R2都改变状态。因此,恶意行为者不太可能导致SEU,因为除非恶意行为者能够将R1和R2两者的相应状态更改为它们的互补状态,否则电路的输出不受影响。如图3中进一步说明,修改多数表决逻辑以允许从一个或多个互补逻辑路径(例如,R1B和/或R2B)校正表决功能。实施方案的多种变体可以用于权衡可靠性与功率、性能和面积(PPA)成本和开销。
图3在300处说明具有用于实施互补2(N)位冗余的一个或多个方面的可配置逻辑的表决逻辑124的示例配置。如前所述,图3的组件和架构被呈现为可以实施用于SEU防止的互补2(N)位冗余的方式的非限制性示例。因此,本文所描述的方面可以应用于或扩展到任何合适的数据存储电路,以实施用于SEU防止的互补2(N)位冗余的各种特征。参考图3描述的各种组件可以实施为单独的基于硬件或软件的模块,诸如数据存储元件和可配置表决逻辑的块或模块。因此,本文所描述的任何结构或功能可以由数据存储模块的处理器核心通过熔丝编程和/或执行指令来提供或配置(例如,用于不同表决算法)。
如图3中所示,表决逻辑可以用可以包括可编程熔丝304的可配置表决逻辑302实施。替代地或另外,表决逻辑124包括异或(XOR)电路306或与异或(XOR)电路306相关联,XOR电路能够接收、监测和/或评估互补对(例如,R1B/R2、R2B/R3)以检测远程或本地寄存器故障。如本文所描述,表决逻辑124可以提供自适应或可配置的多数表决器函数,以基于由寄存器202、204和/或206存储和/或从寄存器输出的相应数据值R2、R3和/或互补数据值R1B、R2B的各种组合生成输出数据值。表决逻辑124、可配置表决逻辑302和/或可编程熔丝304可以根据用于防止单粒子翻转的互补2(N)位冗余的方面以各种方式实施。在各方面中,表决逻辑124可以包括多数表决器函数,多数表决器函数可以经由可配置表决逻辑302调整或改变以进行广泛优化。例如,多数表决器函数可以从至少三个寄存器输出,诸如R1B、R2和R3或R1B、R2B和R3计算多数。作为另一示例,多数表决器函数可以选择不反相R1B输出,而是计算R1、R2和R3的多数(例如,类似于TMR配置)。作为又另一示例,多数表决器函数可以被实施用于可编程表决和/或执行循环表决。
在各方面中,可以在实施2(N)位冗余电路系统118的芯片或装置的不同生命周期阶段改变、设置或重新配置可配置表决逻辑302。例如,芯片设计者可以用不同的相应表决配置在芯片中配置2(N)位冗余电路系统118的多个示例,以减轻恶意行为者攻击的风险。在其它情况下,装置制造商可以通过燃烧可编程熔丝304来设置可配置表决票逻辑,以实施在制造的装置之间不同的定制或加扰表决逻辑。替代地或另外,2(N)位冗余电路系统118的自校正实施方案可以检测故障寄存器或数据反相组件,并且重新配置可配置表决逻辑302(例如,通过燃烧额外熔丝)以从多数表决函数或表决算法中排除故障寄存器。例如,表决逻辑124可以包括XOR电路,XOR电路接收和评估互补对(例如,R1B/R2或R2B/R3)以检测远程或本地寄存器故障。通过这样做,表决逻辑124可以检测R1或R2级中的一个是否故障,并使用另一级作为虚拟替代,从而使互补2(N)位冗余电路系统118能够实施错误检测和校正。
示例方法
根据用于SEU防止的互补2(N)位冗余的一个或多个方面分别参考图4、图5和图6描述示例方法400、500和600。一般来说,方法400、500和600说明可以按,但不必限于,本文示出操作的顺序或组合执行的操作(或动作)的集合。此外,可以重复、组合、重组、跳过或链接任何一个或多个操作,以提供各种各样的附加和/或替代方法。在以下讨论的部分中,可以参考仅作为示例参考的图1的示例环境100、图2和/或图3的电路、组件或配置、图7或图8的装置或系统,和/或图1或其它图中详述的实体。本公开中描述的技术和设备不限于一个电路或参考附图描述的那些电路的组件或配置的实施例或性能。
图4说明根据一个或多个方面的用于操作互补2(N)位冗余电路的示例方法400。在一些方面中,可以实施方法400的操作以通过保护不受由单粒子翻转引起改变的方式存储数据值。
在402处,在互补多位冗余电路的输入处接收数据值。数据值可以具有对应于数据值的二进制值的电压或逻辑状态,二进制值可以包括零(0)或一(1)值。在方法400的上下文中,假设在互补多位冗余电路的输入节点处接收到的数据值为1或逻辑高值。
在404处,将数据值存储到互补多位冗余电路的第一寄存器。例如,将数据值(例如,1)存储到互补多位冗余电路的第一1位寄存器。
在406处,基于数据值生成互补数据值。一般来说,与互补多位冗余电路的数据存储元件分离或在互补多位冗余电路的数据存储元件外部的数据反相逻辑或数据反相门提供补充或反相数据值,数据值具有与原始或未修改数据值的逻辑状态相反的逻辑状态。继续本示例,互补多位冗余电路的数据反相逻辑提供补充数据值0。
在408处,将互补数据值存储在互补多位冗余电路的第二寄存器中。例如,将补充或反相数据值(例如,0)存储到互补多位冗余电路的第二1位寄存器。
在410处,将数据值和互补数据值存储到互补多位冗余电路的多位寄存器的相应存储元件。可以使用在多位寄存器内部的相同时钟或门控电路系统对互补多位冗余电路的相应存储元件(例如,锁存器或双互锁单元(DICE)触发器)进行定时或门控。在本示例的上下文中,将数据值(例如1)存储到多位寄存器的第一存储元件,并且将补充或反相数据值(例如0)存储到多位寄存器的第二存储元件以使用多位或2位寄存器提供互补多位冗余。
在412处,使用基于互补多位冗余电路的表决逻辑生成输出数据值。作为输入,表决逻辑使用第一寄存器的数据值、第二寄存器的互补数据值以及多位寄存器的数据值和互补值中的至少三个来生成输出数据值。例如,表决逻辑可以基于来自至少三个寄存器输出——诸如,如本文所描述的R1B、R2和R3,或R1B、R2B和R3——的多数提供输出数据1值。总结本示例,在414处,基于R1B(0)、R2(1)和R3(1)的投票多数逻辑在互补多位冗余电路的输出处提供输出数据值1。
图5说明用于互补2(N)位冗余电路可以实施的错误检测和/或校正的示例方法500。在一些方面中,可以实施方法500的操作以检测和校正与互补2(N)位冗余电路系统的存储元件相关联的错误。
在502处,监测来自第一寄存器的数据值和来自第二寄存器的互补数据值的互补对。在504处,基于数据值和互补数据值的相应值检测第一寄存器或第二寄存器的故障。例如,可以将数据值和互补值的互补对提供到XOR电路,XOR电路在相应值匹配时生成错误,指示寄存器中的一个已经遭受位翻动。
在506处,改变表决逻辑以从用于提供输出数据值的表决标准中排除第一寄存器或第二寄存器。基于检测到的错误,表决逻辑可以基于至少两个其它所存储数据值而确定哪个寄存器提供不正确值并且从表决逻辑排除故障寄存器以防止数据错误的传播。
在508处,改变表决逻辑以将来自第三寄存器的数据值或互补数据值包括在表决标准中。换句话说,可以改变表决逻辑以引入或添加先前未使用的寄存器输出,作为由互补2(N)位冗余电路系统实施的错误自检测和校正方案的一部分。在510处,基于来自互补对的至少一个数据值和来自第三寄存器的数据值或互补数据值使用改变的表决逻辑生成输出数据值,诸如提供校正的数据值。
图6说明根据各个方面的用于制造和编程互补2(N)位冗余电路的表决逻辑的示例方法600。在一些方面中,可以实施方法600的操作以提供具有各种表决标准的互补2(N)位冗余电路系统或当在互补2(N)位冗余电路系统中检测到错误时解决错误。在一些情况下,互补2(N)位冗余和相关联组件的所描述制造可能偏向设计/技术中的“高”/“低”逻辑值的噪声容限。
在602处,将互补2(N)位冗余电路制造为具有用于存储数据值的第一寄存器、用于存储互补数据值的第二寄存器,以及用于存储数据值和互补数据值的多位寄存器。
在604处,制造表决逻辑,表决逻辑可操作地耦合到第一寄存器、第二寄存器和多位寄存器的相应输出。表决逻辑可以直接耦合到寄存器的输出或通过其它制造的或添加的组件耦合,这些组件可以包括数据反相逻辑或门。在各方面中,互补2(N)位冗余电路可以用表决逻辑制造或包括表决逻辑,使得操作602和604一起或同时执行,以向互补2(N)位冗余电路提供表决逻辑。在各方面中,使用如所描述的多位(Mbit)/2位寄存器可以防止在5到7纳米节点技术中的精度低于约10到15纳米的攻击,所述攻击将导致不正确地翻动数据。因此,对于不太精确的攻击,原始数据值和补充数据值都将翻动,从而抵消由位翻动引起的任何数据值变化。这也可以为设计人员提供诸如跨芯片或在不同的硅区域中对随机表决器函数进行编码的选项,以检测攻击/翻动是本地SEU还是全局攻击。换句话说,互补存储装置确保翻动相同位的全局攻击在确定翻动或不翻动哪些位时需要非常精确,有效地将任何数据错误传播到所描述的电路之外。
在606处,基于由第一寄存器存储的数据值、由第二寄存器存储的互补数据值以及由多位寄存器存储的数据值和互补数据值中的至少三个而为提供数据输出值的表决逻辑确定表决标准。在608处,对表决逻辑的熔丝进行编程以用所确定表决标准配置表决逻辑。
从操作608,方法600可以返回到操作之前的操作(操作606)以执行方法600的一个或多个操作的另一迭代,向额外互补2(N)位冗余电路提供相同或不同表决标准。或者,当互补2(N)位冗余电路开始操作时,方法600可以前进到操作610以实施错误检测和/或错误校正。
在610处,基于寄存器的相应输出在第一寄存器、第二寄存器或多位寄存器中的一个中检测到错误。例如,可以将来自寄存器的数据值和互补值的互补对提供到XOR电路,XOR电路在相应值匹配时生成错误,指示寄存器中的一个已经遭受位翻动。
在612处,表决逻辑被重新配置成排除故障寄存器,以校正由表决逻辑提供的数据输出值。基于检测到的寄存器错误,表决逻辑可以基于至少两个其它所存储数据值确定哪个寄存器提供不正确值并且从表决逻辑排除故障寄存器以防止数据错误的传播。替代地或另外,可以改变表决逻辑以将来自第三寄存器(例如,先前未使用)的数据值或互补数据值包括在表决标准中。换句话说,可以改变表决逻辑以引入或添加先前未使用的寄存器输出,作为由互补2(N)位冗余电路系统实施的错误自检测和校正方案的一部分。
示例装置和系统
图7说明示例电子装置700的各种组件,电子装置700根据如参考先前图1到6中任一个描述的一个或多个方面实施用于SEU防止的互补2(N)位冗余。电子装置700可以以任何形式的消费装置、计算装置、便携式装置、用户装置、用户设备、服务器、通信装置、电话、导航装置、游戏装置、媒体装置、消息传送装置、媒体播放器和/或其它类型的电子装置或支持无线的装置实施为固定或移动装置中的任一个或组合。例如,电子装置700可以被实施为智能手机、手机平板(平板手机)、膝上型计算机、机顶盒、无线无人机、计算眼镜、基于车辆的计算系统或无线宽带路由器。
电子装置700包括通信收发器702,通信收发器702启用装置数据704的有线和/或无线通信,装置数据704是诸如所接收的数据、所传输的数据,或如上文所描述的其它信息。示例通信收发器702包括近场通信(NFC)收发器、符合各种IEEE 802.15标准的WPAN无线电、符合各种IEEE802.11标准中的任一个的WLAN无线电、用于蜂窝电话的WWAN(符合3GPP)无线电、符合各种IEEE 802.16标准的WMAN无线电,以及有线局域网(LAN)以太网收发器。
电子装置700还可以包括一个或多个数据输入/输出端口706(数据I/O端口706),可以经由所述数据输入/输出端口接收任何类型的数据、媒体内容和/或其它输入,诸如用户可选择输入、消息、应用、音乐、电视内容、录制的视频内容,以及从任何内容和/或数据源接收到的任何其它类型的音频、视频和/或图像数据。数据I/O端口706可以包括通用串行总线(USB)端口、同轴电缆端口,以及用于闪存存储器、DVD、CD等的其它串行或并行连接器(包括内部连接器)。这些数据I/O端口706可以用于将电子装置耦合到组件、外围设备或附件,诸如键盘、麦克风或相机。
此示例的电子装置700包括至少一个处理器708(例如,一个或多个应用处理器、处理器核心微处理器、数字信号处理器(DSP)、控制器等),所述处理器可以包括组合的处理器和存储器系统,其执行存储在计算机可读媒体上的计算机可执行指令以控制操作或实施装置的功能。一般来说,处理器或处理系统可以至少部分地在硬件中实施,所述硬件可以包括集成电路或片上系统的组件、DSP、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂的可编程逻辑装置(CPLD)以及硅片和/或其它硬件中的其它实施方案。
替代地或另外,电子装置700可以用电子电路系统710中的任何一个或组合实施,所述电子电路系统可以包括结合处理和控制电路实施的硬件、固定逻辑电路系统或物理互连件(例如,迹线或连接器)。此电子电路系统710可以通过诸如FPGA或CPLD的逻辑电路系统和/或硬件来实施可执行的或基于硬件的模块(未示出)。虽然未示出,但是电子装置700还可以包括耦合装置内的各种组件的系统总线、互连结构、交叉开关或数据传递系统。系统总线或互连结构可以包括不同总线结构或IP块中的任何一种或组合,诸如存储器总线、存储器控制器、外围总线、通用串行总线、互连节点和/或利用各种总线架构中的任一个的处理器或本地总线。
电子装置700还包括实现数据存储的一个或多个存储器装置712,存储器装置的示例包括随机存取存储器(RAM)、非易失性存储器(例如,只读存储器(ROM)、闪存存储器、EPROM和EEPROM)和磁盘存储装置。任何或所有存储器装置712可以实现信息、数据或代码的持久性和/或非暂时性存储,因此在本公开的一般上下文中不包括瞬态信号或载波。例如,存储器装置712提供数据存储机制来存储装置数据704和其它类型的数据(例如,用户数据)。存储器装置712还可以将电子装置的操作系统714、固件和/或装置应用716存储为指令、代码或信息。这些指令或代码可以由处理器708执行以实施电子装置的各种功能,诸如提供用户界面、启用数据访问或管理与无线网络的连接。在各方面中,存储器装置712还存储处理器可执行代码或指令,以用于提供与用于SEU防止的互补2(N)位冗余相关的功能,诸如,诸如参考图1到6所描述的错误检测、错误校正和/或表决逻辑配置或重新配置。
如图7中所示,电子装置700可以包括音频和/或视频处理系统718,以用于处理音频数据和/或将音频和视频数据传递到音频系统720和/或显示系统722(例如,视频缓冲器或装置屏幕)。音频系统720和/或显示系统722可以包括处理、显示和/或以其它方式呈现音频、视频、图形和/或图像数据的任何装置。可以经由射频(RF)链路、超级视频链路、HDMI(高清多媒体接口)、显示端口、复合视频链路、分量视频链路、DVI(数字视频接口)、模拟音频连接,或诸如媒体数据端口724的其它类似通信链路将显示数据和音频信号传送到音频组件和/或显示组件。在一些实施方案中,音频系统720和/或显示系统722是电子装置700的外部或单独组件。替代地,显示系统722可以是示例电子装置700的集成组件,诸如具有触摸界面的集成显示器的一部分。
在各方面中,电子装置700的任一组件可以包括互补2(N)位冗余电路系统118或用互补2(N)位冗余电路系统118实施,所述互补2(N)位冗余电路系统诸如用于SEU防止或用于防止恶意行为者影响由电子装置存储的数据。替代地或另外,电子装置700可以表示如在整个本公开中描述的计算机装置102的示例实施方案。因此,在一些情况下,处理器708是处理器106(未示出)的示例,和/或存储器装置712是用于存储用于实施多样性控制器或其它应用的各种数据、指令或代码的计算机可读存储媒体108(未示出)的示例。因此,如本文所描述的用于SEU防止的互补2(N)位冗余的方面可以由图7的电子装置700的组件或模块或结合所述组件或模块实施。
图8说明可以实施用于SEU防止的互补2(N)位冗余的方面的示例片上系统(SoC)。SoC 800可以体现为如参考图1到7所描述的任何类型的计算装置102、用户设备、设备、其它装置或系统,或在其内体现,以实施用于SEU防止的互补2(N)位冗余。尽管参考基于芯片的封装描述,但是图8中所示的组件还可以体现为其它系统或组件配置,诸如但不限于现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、数字信号处理器(DSP)、复杂可编程逻辑装置(CPLD)、系统级封装(SiP)、封装级封装(PoP)、处理和通信芯片组、通信协处理器、传感器协处理器等。
在此示例中,SoC 800包括通信收发器802和无线调制解调器804,它们启用数据806(例如,所接收数据、正接收的数据、调度用于广播的数据、打包的数据等)的有线或无线通信。在一些方面中,无线调制解调器804是多模式多频带调制解调器或基带处理器,其可配置成根据各种通信协议和/或在不同频带——诸如在整个本公开中描述的那些协议或频带——中进行通信。无线调制解调器804可以包括用于与收发器电路系统传送编码或调制信号的收发器接口(未示出)。
数据806或其它系统内容可以包括系统或各种组件的配置设置(例如,表决函数或表决逻辑配置)、由系统存储的媒体内容,和/或与系统的用户相关联的信息。存储在片上系统800上的媒体内容可以包括任何类型的音频、视频和/或图像数据。片上系统800还包括一个或多个数据输入808,可以经由一个或多个数据输入808接收任何类型的数据、媒体内容和/或输入,诸如用户输入、用户可选择输入(显式或隐式),或从内容和/或数据源接收的任何其它类型的音频、视频和/或图像数据。替代地或另外,数据输入808可以包括各种数据接口,所述数据接口可以被实施为串行和/或并行接口、无线接口、网络接口中的任何一个或多个,并且被实施为实现与其它装置或系统的通信的任何其它类型的通信接口。
片上系统800包括一个或多个处理器核心810,一个或多个处理器核心810处理各种计算机可执行指令以控制片上系统800的操作。替代地或另外,片上系统800可以用结合通常在812处示出的处理和控制电路实施的硬件、固件或固定逻辑电路系统中的任何一个或组合来实施。虽然未示出,但是片上系统800还可以包括总耦合系统内的各种组件的线、互连件、交叉开关或结构。
片上系统800还包括存储器814(例如,计算机可读媒体),诸如实现持久性和/或非暂时性数据存储且因此不包括瞬态信号或载波的一个或多个存储器电路。存储器814的示例包括RAM、非暂时性存储器(例如,只读存储器(ROM)、EPROM、EEPROM等),或闪存存储器。存储器814为系统数据806以及固件816、应用818和与片上系统800的操作方面相关的任何其它类型的信息和/或数据提供数据存储。例如,固件816可以作为操作系统(例如,实时OS)的处理器可执行指令保持在存储器814内并且在一个或多个处理器核心810上执行。
应用818可以包括系统管理器,诸如任何形式的控制应用、软件应用、信号处理和控制模块、特定系统的本地代码、抽象模块或手势模块等。存储器814还可以存储用于实施用于SEU防止的互补2(N)位冗余的方面的系统组件或实用程序,系统组件或实用程序可以包括用于表决逻辑的表决算法和/或表决配置。这些实体可以体现为组合或单独组件,这些组件的示例参考如在图1到7中所描述的对应实体或功能描述。
在一些方面中,片上系统800还包括额外处理器或协处理器以启用其它功能,诸如图形处理器820、音频处理器822和图像传感器处理器824。图形处理器820可以呈现与片上系统800的用户界面、操作系统或应用相关联的图形内容。在一些情况下,音频处理器822对音频数据和信号,诸如音频信号和与语音呼叫相关联的信息,或用于回放的编码音频数据进行编码或解码。图像传感器处理器824可以耦合到图像传感器并且提供图像数据处理、视频捕获和其它视觉媒体调节和处理功能。
片上系统800还可以包括安全处理器826以支持各种安全、加密和密码操作,诸如提供安全通信协议和加密数据存储。尽管未示出,但是安全处理器826可以包括一个或多个密码引擎、密码库、散列模块或随机数生成器,以支持片上系统800(SoC 800)的信息或通信的加密和密码处理。替代地或另外,片上系统800可以包括定位和位置引擎828以及传感器接口830。通常,定位和位置引擎828可以通过处理全球导航卫星系统(GNSS)的信号和/或其它运动或惯性传感器数据(例如,航位推算导航)来提供定位或位置数据。传感器接口830使片上系统800能够从诸如电容和运动传感器的各种传感器接收数据。在一些方面中,SoC800的组件或功能块中的任一个可以包括互补2(N)位冗余电路系统118或用互补2(N)位冗余电路系统118实施,所述互补2(N)位冗余电路系统诸如用于SEU防止或用于防止恶意行为者影响由电子装置存储的数据。
变型
尽管上述设备和方法在可访问一个或多个基站的无线网络中的用于SEU防止的互补2(N)位冗余的上下文中描述,但是所描述装置、系统和方法是非限制的并且可以应用于其它上下文、用户设备部署,或无线通信环境。
通常,本文所描述的组件、模块、方法和操作可以使用软件、固件、硬件(例如,固定逻辑电路系统)、手动处理或其任何组合来实施。可以在存储在计算机处理系统本地和/或远程的计算机可读存储存储器上的可执行指令的一般上下文中描述示例方法的一些操作,并且实施方案可以包括软件应用、程序、功能等。替代地或另外,本文描述的任何功能可以至少部分地由一个或多个硬件逻辑组件执行,诸如但不限于FPGA、ASIC、ASSP、SoC、CPLD、协处理器、上下文集线器、运动协处理器、传感器协处理器等。
在下文中描述一些示例:
示例1:一种集成电路,包括:输入节点,所述输入节点用于接收数据值;第一寄存器,其具有可操作地耦合到所述输入节点的输入,所述寄存器被配置成存储所述数据值;至少一个反相器,其可操作地耦合到所述输入节点以提供互补数据值;第二寄存器,其具有可操作地耦合到所述至少一个反相器的输入,所述第二寄存器被配置成存储所述互补数据值;多位寄存器,其具有可操作地耦合到所述输入节点的第一输入和可操作地耦合到所述至少一个反相器的第二输入,所述多位寄存器被配置成将所述数据值和所述互补数据值存储为单独值;以及表决器逻辑,所述表决器逻辑包括:输出,其耦合到所述集成电路的输出节点;第一输入,其可操作地耦合到所述第一寄存器的输出以基于由所述第一寄存器存储的所述数据值接收第一逻辑值;第二输入,其可操作地耦合到所述第二寄存器的输出以基于由所述第二寄存器存储的所述互补数据值接收第二逻辑值;第三输入,其耦合到所述多位寄存器的第一输出以基于由所述多位寄存器存储的所述数据值接收第三逻辑值;以及第四输入,其耦合到所述多位寄存器的第二输出以基于由所述多位寄存器存储的所述互补数据值接收第四逻辑值,所述表决器逻辑被配置成基于所述第一逻辑值、第二逻辑值、第三逻辑值和所述第四逻辑值中的至少三个的相应逻辑值集合将输出数据值提供到所述集成电路的所述输出节点。
示例2:如示例1所述的集成电路,其中可操作地耦合到所述输入节点的所述至少一个反相器包括:第一反相器,其可操作地耦合在所述输入节点与所述第二寄存器的所述输入之间;以及第二反相器,其可操作地耦合在所述输入节点与所述多位寄存器的所述第二输入之间。
示例3:如示例1所述的集成电路,其中可操作地耦合到所述输入节点的所述至少一个反相器包括第一反相器,并且所述集成电路还包括以下项中的至少一个:第二反相器,其可操作地耦合在所述第二寄存器的所述输出与表决逻辑的所述第二输入之间;或第三反相器,其可操作地耦合在所述多位寄存器的所述第二输出与所述表决逻辑的所述第四输入之间。
示例4:如示例3所述的集成电路,其中所述第一反相器、所述第二反相器和所述第三反相器中的至少一个包括反相逻辑门,所述反相逻辑门在所述第一寄存器、所述第二寄存器和所述多位寄存器外部实施。
示例5:如示例1至4中任一项所述的集成电路,其中所述多位寄存器还包括:第一锁存电路,其被配置成存储所述数据值;第二锁存电路,其被配置成存储所述互补数据值;以及共享时钟电路,其可操作地耦合到所述第一锁存电路和所述第二锁存电路。
示例6:如示例5所述的集成电路,其中:所述第一锁存电路包括第一触发器或所述多位寄存器的第一1位存储元件中的至少一个;并且所述第二锁存电路包括第二触发器或所述多位寄存器的第二1位存储元件中的至少一个。
示例7:如示例1至6中任一项所述的集成电路,其中:所述表决逻辑被配置成基于以下项使用多数表决函数提供所述输出数据值:基于由所述第一寄存器存储的所述数据值的所述第一逻辑值;基于由所述第二寄存器存储的所述互补数据值的所述第二逻辑值;以及基于由所述多位寄存器存储的所述数据值的所述第三逻辑值。
示例8:如示例1至6中任一项所述的集成电路,所述表决逻辑被配置成基于以下项使用多数表决函数提供所述输出数据值:基于由所述第一寄存器存储的所述数据值的所述第一逻辑值;基于由所述第二寄存器存储的所述互补数据值的所述第二逻辑值;以及基于由所述多位寄存器存储的所述互补数据值的所述第四逻辑值。
示例9:如示例1至6中任一项所述的集成电路,其中所述表决逻辑被配置成基于以下项使用多数表决函数提供所述输出数据值:基于由所述第一寄存器存储的所述数据值的所述第一逻辑值;基于由所述第二寄存器存储的所述互补数据值的非反相版本的所述第二逻辑值;以及基于由所述多位寄存器存储的所述数据值的所述第三逻辑值。
示例10:如示例1至9中任一项所述的集成电路,其中:所述表决逻辑基于其提供所述输出数据值的所述相应逻辑值集合是第一相应逻辑值集合;并且所述表决逻辑进一步被配置成:基于所述第一逻辑值、所述第二逻辑值、所述第三逻辑值和所述第四逻辑值中的所述至少三个检测单粒子翻转(SEU);以及响应于检测到所述SEU,改变所述表决逻辑的可配置逻辑以使用所述第一逻辑值、第二逻辑值、第三逻辑值和所述第三逻辑值中的至少三个的第二相应逻辑值集合来提供所述输出数据值,所述第一相应逻辑值集合不同于所述第二相应逻辑值集合。
示例11:如示例10所述的集成电路,其中所述表决逻辑还包括所述第一逻辑值、第二逻辑值、第三逻辑值和所述第四逻辑值的互补对的相应异或电路,所述异或电路被配置成检测所述SEU。
示例12:如示例10或11所述的集成电路,其中所述表决逻辑还被配置成响应于检测到所述SEU改变所述表决逻辑的所述可配置逻辑以实施三重模块冗余(TMR)模式,在所述TMR模式中,所述表决逻辑基于以下项实施表决函数:基于由所述第一寄存器存储的所述数据值的所述第一逻辑值;基于由所述第二寄存器存储的所述互补数据值的非反相版本的所述第二逻辑值;以及基于由所述多位寄存器存储的所述数据值的所述第三逻辑值。
示例13:一种由如示例1至12中任一项所述的集成电路执行的用于将数据存储在互补多位冗余电路中的方法,所述方法包括:在互补多位冗余电路的输入处接收数据值;将所述数据值存储到所述互补多位冗余电路的第一1位寄存器;经由数据反相电路系统基于所述数据值生成互补数据值,所述互补数据值具有与所述数据值的逻辑状态相反的逻辑状态;将所述互补数据值从所述数据反相电路系统存储到所述互补多位冗余电路的第二1位寄存器;将所述数据值存储到所述互补多位冗余电路的多位寄存器的第一存储元件;将所述互补数据值从所述数据反相电路系统存储到所述互补多位冗余电路的所述多位寄存器的第二存储元件;以及使用所述互补多位冗余电路的表决逻辑基于以下项中的至少三个生成输出数据值:由所述第一1位寄存器存储的所述数据值、由所述第二1位寄存器存储的所述互补数据值、存储到所述多位寄存器的所述第一存储元件的所述数据值,以及存储到所述多位寄存器的所述第二存储元件的所述互补数据值。
示例14:如示例13所述的方法,还包括:监测互补数据值对,所述互补数据值对包括由所述第一1位寄存器或所述多位寄存器的所述第一存储元件存储的所述数据值中的一个,以及由所述第二1位寄存器和所述多位寄存器的所述第二存储元件存储的所述互补数据值中的一个;基于所述互补数据值对检测所述第一1位寄存器、所述第二1位寄存器、所述多位寄存器的所述第一存储元件,或所述多位寄存器的所述第二存储元件中的一个的故障;以及改变所述表决逻辑以排除所故障的1位寄存器或所述多位寄存器的存储元件。
示例15:如示例14所述的方法,其中:所述表决逻辑不使用所述第一1位寄存器、所述第二1位寄存器、所述多位寄存器的所述第一存储元件,或所述多位寄存器的所述第二存储元件中的一个的相应数据值或互补数据值来提供所述输出数据值,并且所述方法还包括:改变所述表决逻辑,以包括所述表决逻辑先前未用于提供所述数据值的所述第一1位寄存器、所述第二1位寄存器、所述多位寄存器的所述第一存储元件,或所述多位寄存器的所述第二存储元件的所述相应数据值或互补数据值。

Claims (15)

1.一种集成电路,包括:
输入节点(226),所述输入节点(226)用于接收数据值;
第一数据存储元件(206),所述第一数据存储元件(206)具有能够操作地耦合到所述输入节点的输入,所述第一数据存储元件被配置成存储所述数据值;
至少一个反相器(230),所述至少一个反相器(230)能够操作地耦合到所述输入节点以提供互补数据值;
第二数据存储元件(202),所述第二数据存储元件(202)具有能够操作地耦合到所述至少一个反相器的输入,所述第二数据存储元件被配置成存储所述互补数据值;
多位数据存储元件(204),所述多位数据存储元件(204)具有能够操作地耦合到所述输入节点的第一输入和能够操作地耦合到所述至少一个反相器的第二输入,所述多位数据存储元件被配置成将所述数据值和所述互补数据值存储为单独值;以及
表决器逻辑(124),所述表决器逻辑(124)包括:
输出,所述输出耦合到所述集成电路的输出节点(228);
所述表决器逻辑的第一输入,所述表决器逻辑的所述第一输入能够操作地耦合到所述第一数据存储元件(206)的输出以基于由所述第一数据存储元件存储的所述数据值接收第一逻辑值;
所述表决器逻辑的第二输入,所述表决器逻辑的所述第二输入能够操作地耦合到所述第二数据存储元件(202)的输出以基于由所述第二数据存储元件存储的所述互补数据值接收第二逻辑值;
所述表决器逻辑的第三输入,所述表决器逻辑的所述第三输入耦合到所述多位数据存储元件(204)的第一输出以基于由所述多位数据存储元件存储的所述数据值接收第三逻辑值;以及
所述表决器逻辑的第四输入,所述表决器逻辑的所述第四输入耦合到所述多位数据存储元件(204)的第二输出以基于由所述多位数据存储元件存储的所述互补数据值接收第四逻辑值,
所述表决器逻辑被配置成基于所述第一逻辑值、第二逻辑值、第三逻辑值和所述第四逻辑值中的至少三个的相应逻辑值集合将输出数据值提供到所述集成电路的所述输出节点。
2.根据权利要求1所述的集成电路,其中,能够操作地耦合到所述输入节点的所述至少一个反相器包括:
第一反相器,所述第一反相器能够操作地耦合在所述输入节点与所述第二数据存储元件的所述输入之间;以及
第二反相器,所述第二反相器能够操作地耦合在所述输入节点与所述多位数据存储元件的所述第二输入之间。
3.根据权利要求1所述的集成电路,其中,能够操作地耦合到所述输入节点的所述至少一个反相器包括第一反相器,并且所述集成电路还包括以下项中的至少一个:
第二反相器,所述第二反相器能够操作地耦合在所述第二数据存储元件的所述输出与表决逻辑的所述第二输入之间;或
第三反相器,所述第三反相器能够操作地耦合在所述多位数据存储元件的所述第二输出与所述表决逻辑的所述第四输入之间。
4.根据权利要求3所述的集成电路,其中,所述第一反相器、所述第二反相器或所述第三反相器中的至少一个包括反相逻辑门,所述反相逻辑门在所述第一数据存储元件、所述第二数据存储元件和所述多位数据存储元件外部实施。
5.根据权利要求1至4中任一项所述的集成电路,其中,所述多位数据存储元件还包括:
第一锁存电路,所述第一锁存电路被配置成存储所述数据值;
第二锁存电路,所述第二锁存电路被配置成存储所述互补数据值;以及
共享时钟逻辑,所述共享时钟逻辑能够操作地耦合到所述第一锁存电路和所述第二锁存电路。
6.根据权利要求5所述的集成电路,其中:
所述第一锁存电路包括第一触发器或所述多位数据存储元件的第一1位存储元件中的至少一个;
所述第二锁存电路包括第二触发器或所述多位数据存储元件的第二1位存储元件中的至少一个。
7.根据权利要求1至6中任一项所述的集成电路,其中:
所述表决逻辑被配置成基于以下项使用多数表决函数提供所述输出数据值:
基于由所述第一数据存储元件存储的所述数据值的所述第一逻辑值;
基于由所述第二数据存储元件存储的所述互补数据值的所述第二逻辑值;以及
基于由所述多位数据存储元件存储的所述数据值的所述第三逻辑值;或
所述表决逻辑被配置成基于以下项使用多数表决函数提供所述输出数据值:
基于由所述第一数据存储元件存储的所述数据值的所述第一逻辑值;
基于由所述第二数据存储元件存储的所述互补数据值的所述第二逻辑值;以及
基于由所述多位数据存储元件存储的所述互补数据值的所述第四逻辑值。
8.根据权利要求1至6中任一项所述的集成电路,其中:
所述表决逻辑被配置成基于以下项使用多数表决函数提供所述输出数据值:
基于由所述第一数据存储元件存储的所述数据值的所述第一逻辑值;
基于由所述第二数据存储元件存储的所述互补数据值的非反相版本的所述第二逻辑值;以及
基于由所述多位数据存储元件存储的所述数据值的所述第三逻辑值。
9.根据权利要求1至6中任一项所述的集成电路,其中:
所述表决逻辑基于所述相应逻辑值集合提供所述输出数据值的所述相应逻辑值集合是第一相应逻辑值集合;并且
所述表决逻辑进一步被配置成:
基于所述第一逻辑值、所述第二逻辑值、所述第三逻辑值和所述第四逻辑值中的所述至少三个检测单粒子翻转SEU;以及
响应于检测到所述SEU,改变所述表决逻辑的可配置逻辑以使用所述第一逻辑值、所述第二逻辑值、所述第三逻辑值和所述第四逻辑值中的至少三个的第二相应逻辑值集合来提供所述输出数据值,所述第一相应逻辑值集合不同于所述第二相应逻辑值集合。
10.根据权利要求1至9中任一项所述的集成电路,其中:
所述表决逻辑还包括所述第一逻辑值、所述第二逻辑值、所述第三逻辑值和所述第四逻辑值的互补对的相应异或电路,所述异或电路被配置成检测所述SEU。
11.根据权利要求10所述的集成电路,其中:
所述表决逻辑还被配置成响应于检测到所述SEU而改变所述表决逻辑的所述可配置逻辑以实施三重模块冗余TMR模式,在所述TMR模式中,所述表决逻辑基于以下项实施表决函数:
基于由所述第一数据存储元件存储的所述数据值的所述第一逻辑值;
基于由所述第二数据存储元件存储的所述互补数据值的非反相版本的所述第二逻辑值;以及
基于由所述多位数据存储元件存储的所述数据值的所述第三逻辑值。
12.根据权利要求1至11中任一项所述的集成电路,其中,所述第一数据存储元件、所述第二数据存储元件或所述多位数据存储元件被实施为以下项中的一个或多个:
锁存器、双稳态锁存器、置位-复位锁存器(SR锁存器)、主从锁存器、D锁存器、触发器、D触发器、T触发器、JK触发器、主从触发器、1位寄存器、多位寄存器、逻辑存储单元、电荷存储单元或时钟数据存储电路。
13.一种由根据权利要求1至12中任一项所述的集成电路执行的方法,所述方法包括:
在互补多位冗余电路的输入处接收数据值;
将所述数据值存储到所述互补多位冗余电路的第一1位数据存储元件;
经由数据反相电路系统基于所述数据值生成互补数据值,所述互补数据值具有与所述数据值的逻辑状态相反的逻辑状态;
将所述互补数据值从所述数据反相电路系统存储到所述互补多位冗余电路的第二1位数据存储元件;
将所述数据值存储到所述互补多位冗余电路的多位数据存储元件的第一存储元件;
将所述互补数据值从所述数据反相电路系统存储到所述互补多位冗余电路的所述多位数据存储元件的第二存储元件;以及
使用所述互补多位冗余电路的表决逻辑基于以下项中的至少三个生成输出数据值:由所述第一1位数据存储元件存储的所述数据值、由所述第二1位数据存储元件存储的所述互补数据值、存储到所述多位数据存储元件的所述第一存储元件的所述数据值以及存储到所述多位数据存储元件的所述第二存储元件的所述互补数据值。
14.根据权利要求13所述的方法,所述方法包括:
监测互补数据值对,所述互补数据值对包括:由所述第一1位数据存储元件或所述多位数据存储元件的所述第一存储元件存储的所述数据值中的一个,以及由所述第二1位数据存储元件和所述多位数据存储元件的所述第二存储元件存储的所述互补数据值中的一个;
基于所述互补数据值对检测所述第一1位数据存储元件、所述第二1位数据存储元件、所述多位数据存储元件的所述第一存储元件或所述多位数据存储元件的所述第二存储元件中的一个的故障;以及
改变所述表决逻辑以排除故障的1位数据存储元件或所述多位数据存储元件的存储元件。
15.根据权利要求14所述的方法,其中,所述第一1位数据存储元件、所述第二1位数据存储元件、所述多位数据存储元件的所述第一存储元件或所述多位数据存储元件的所述第二存储元件中的一个的相应数据值或互补数据值未被所述表决逻辑使用来提供所述输出数据值,并且所述方法还包括:
改变所述表决逻辑以包括先前未被所述表决逻辑使用来提供所述输出数据值的所述第一1位数据存储元件、所述第二1位数据存储元件、所述多位数据存储元件的所述第一存储元件或所述多位数据存储元件的所述第二存储元件的所述相应数据值或互补数据值。
CN202180006589.4A 2021-06-21 2021-06-21 用于单粒子翻转防止的互补2(n)位冗余 Pending CN115917972A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2021/038250 WO2022271144A1 (en) 2021-06-21 2021-06-21 Complementary 2(n)-bit redundancy for single event upset prevention

Publications (1)

Publication Number Publication Date
CN115917972A true CN115917972A (zh) 2023-04-04

Family

ID=77168381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180006589.4A Pending CN115917972A (zh) 2021-06-21 2021-06-21 用于单粒子翻转防止的互补2(n)位冗余

Country Status (5)

Country Link
US (2) US12028067B2 (zh)
EP (1) EP4173138A1 (zh)
CN (1) CN115917972A (zh)
TW (1) TWI783653B (zh)
WO (1) WO2022271144A1 (zh)

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE9702176L (sv) 1997-06-06 1998-12-07 Ericsson Telefon Ab L M En maskinvarukonstruktion för majoritetsval, samt test och underhåll av majoritetsval
US6127864A (en) * 1998-08-19 2000-10-03 Mission Research Corporation Temporally redundant latch for preventing single event disruptions in sequential integrated circuits
EP1203450A1 (en) 1999-07-28 2002-05-08 Lockheed Martin Corporation Enhanced single event upset immune latch circuit
US6504411B2 (en) * 2000-11-02 2003-01-07 Intersil Americas Inc. Redundant latch circuit and associated methods
US7142004B2 (en) 2004-01-15 2006-11-28 Honeywell International Inc. Radiation hardening of logic circuitry using a cross enabled, interlocked logic system and method
US7619455B2 (en) 2007-04-19 2009-11-17 Honeywell International Inc. Digital single event transient hardened register using adaptive hold
US8191021B2 (en) * 2008-01-28 2012-05-29 Actel Corporation Single event transient mitigation and measurement in integrated circuits
US8049529B2 (en) * 2008-07-30 2011-11-01 Raytheon Company Fault triggerred automatic redundancy scrubber
US8489919B2 (en) 2008-11-26 2013-07-16 Arizona Board Of Regents Circuits and methods for processors with multiple redundancy techniques for mitigating radiation errors
WO2013057707A1 (en) 2011-10-21 2013-04-25 Nelson Mandela Metropolitan University A method and circuit structure for suppressing single event transients or glitches in digital electronic circuits
US20150089245A1 (en) 2013-09-26 2015-03-26 Asher M. Altman Data storage in persistent memory
WO2015056314A1 (ja) 2013-10-16 2015-04-23 株式会社日立製作所 半導体装置
CN103746678B (zh) * 2014-01-10 2016-08-17 电子科技大学 基于保护门替代电路的set加固结构
EP3513293A4 (en) * 2016-09-16 2020-05-20 University Of Southern California SYSTEMS AND METHODS FOR REDUCING ERRORS IN COMBINATIVE LOGIC
CN107634751A (zh) * 2017-09-26 2018-01-26 安庆师范大学 一种基于多路锁存的抗辐射锁存器电路
US11069683B2 (en) 2018-10-05 2021-07-20 Ics Llc Self restoring logic structures
US11296700B1 (en) * 2020-10-07 2022-04-05 Qualcomm Incorporated Triple modular redundancy flip-flop with improved power performance area and design for testability

Also Published As

Publication number Publication date
TW202305800A (zh) 2023-02-01
US20240305300A1 (en) 2024-09-12
TWI783653B (zh) 2022-11-11
WO2022271144A1 (en) 2022-12-29
US12028067B2 (en) 2024-07-02
US20240171179A1 (en) 2024-05-23
TW202301351A (zh) 2023-01-01
EP4173138A1 (en) 2023-05-03

Similar Documents

Publication Publication Date Title
US9736181B2 (en) Hardening data transmissions against power side channel analysis
US9118351B2 (en) System and method for signature-based redundancy comparison
CN113557515A (zh) 外围设备与安全电路系统的兼容性
US10146964B1 (en) Security policy management for a plurality of dies in a system-on-chip
US12028067B2 (en) Complementary 2(N)-bit redundancy for single event upset prevention
US11216593B2 (en) Data protection circuit of chip, chip, and electronic device
TWI807766B (zh) 安全之全晶片通信
US20240361923A1 (en) Read-Only Memory (ROM) Security
US20240184932A1 (en) Read-Only Memory (ROM) Security
Taube et al. Fault tolerant implementation of a SpaceWire interface
TWI821971B (zh) 安全加密協同處理器
TW202240591A (zh) 唯讀記憶體(rom)安全性
Ali et al. Low-overhead Solutions For Preventing Information Leakage Due To Hardware Trojan Horses
CN118302960A (zh) 经稀疏编码的信号的安全多轨控制
CN116361866A (zh) 一种功能安全芯片及其数据通路保护方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination