TW202305800A - 用於預防單一事件擾亂之互補2(n)位元冗餘 - Google Patents

用於預防單一事件擾亂之互補2(n)位元冗餘 Download PDF

Info

Publication number
TW202305800A
TW202305800A TW111138221A TW111138221A TW202305800A TW 202305800 A TW202305800 A TW 202305800A TW 111138221 A TW111138221 A TW 111138221A TW 111138221 A TW111138221 A TW 111138221A TW 202305800 A TW202305800 A TW 202305800A
Authority
TW
Taiwan
Prior art keywords
storage element
data storage
bit
complementary
data
Prior art date
Application number
TW111138221A
Other languages
English (en)
Other versions
TWI859597B (zh
Inventor
賽德 沙克 伊克巴爾
Original Assignee
美商谷歌有限責任公司
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 美商谷歌有限責任公司 filed Critical 美商谷歌有限責任公司
Publication of TW202305800A publication Critical patent/TW202305800A/zh
Application granted granted Critical
Publication of TWI859597B publication Critical patent/TWI859597B/zh

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)之先前技術通常試圖藉由在積體電路內產生硬體冗餘來降低一SEU之可能性。此等冗餘元件隔開一技術特定距離以抵消一自然發生SEU影響所有冗餘元件之風險。例如,三重模組冗餘(TMR)將需要SEU容限符合性之各關鍵鎖存器/正反器複製三次。然而,此等冗餘無法解決蓄意攻擊固有之易損性。此一攻擊可易於在攻擊者知道冗餘電路元件之間的一大致距離時執行,且因為冗餘元件係相同的,所以對一者之一有效攻擊將對其他者有效。因此,預防SEU之先前技術可能不足以防禦在其他情境下發生之惡意行動者或單一事件暫態(SET)。
與先前技術相比,本發明描述用於預防單一事件擾亂(SEU)之互補2(N)位元冗餘之態樣。在所描述之態樣中,一運算裝置之電路可經組態以藉由將互補邏輯狀態儲存於經複製單元中來控制或最小化歸因於一儲存狀態之易損性複製。所描述之資料儲存元件可實施為一單一鎖存器、主從正反暫存器或可儲存資料之一電路,使得資料作為互補值儲存於一單一單元中以避免精確攻擊。作為一實例,考量根據互補2(N)位元冗餘之態樣所實施之一電路,其包含經組態以儲存一互補值(R2)之一第一暫存器及經組態以儲存一原始資料值(R1)之一第二暫存器。換言之,此等暫存器儲存不同值或具有不同電壓,因此,對應節點值亦不同且具有互補易損性。因此,一SEU不太可能發生於兩個經複製暫存器單元處以導致電壓R1及R2兩者改變狀態。因而,除非一惡意行動者能夠將R1及R2兩者之各自狀態改變至其互補狀態,否則惡意行動者不太可能引起一SEU,因為電路之一輸出不會受影響。另外,電路可包含可組態以實現來自一或多個互補邏輯路徑(例如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可實施為運算裝置102之一處理器106、電腦可讀儲存媒體108、一通信介面110及/或輸入/輸出(I/O)控制邏輯112或為其等之一部分。儘管圖中未展示,但積體電路104可實施為或包含其他組件,其包含運算裝置102之通信單元(例如數據機)、輸入/輸出控制器及系統介面。
處理器106可實施為一通用處理器(例如屬於一多核心中央處理單元(CPU)或應用處理器(AP))、一專用積體電路(ASIC)或其內整合有運算裝置102之其他組件之一單晶片系統(SoC)。電腦可讀儲存媒體108可包含任何適合類型之記憶體媒體或儲存媒體,諸如唯讀記憶體(ROM)、可程式化ROM (PROM)、隨機存取記憶體(RAM)、動態RAM (DRAM)、靜態RAM (SRAM)或快閃記憶體。在本發明之內文中,運算裝置102之電腦可讀媒體108實施為不包含暫時性信號或載波之至少一個基於硬體或實體儲存裝置。運算裝置102之應用程式、韌體及/或一作業系統(圖中未展示)可作為可由處理器106執行以提供本文中所描述之各種功能之處理器可執行指令體現於電腦可讀媒體108上。電腦可讀媒體108亦可儲存資訊及資料,諸如可透過運算裝置102之應用程式、韌體或作業系統來存取之使用者資料或使用者媒體。
通信介面110實現裝置資料(諸如所接收之資料、所傳輸之資料或本文中所描述之其他資訊)之有線及/或無線通信。實例性通信介面110包含符合各種IEEE 802.15標準之無線個人區域網路(WPAN)無線電、符合各種IEEE 802.11標準之任何者之無線區域網路(WLAN)無線電、用於蜂巢式電話之無線廣域網路(WWAN,例如符合3GPP)、符合各種IEEE 802.16標準之無線都會區域網路(WMAN)無線電及有線區域網路(LAN)以太網路收發器。I/O控制邏輯可組態為可透過其來接收任何類型之資料、媒體內容及/或其他輸入之一或多個資料輸入/輸出埠(資料I/O埠),諸如使用者可選輸入、訊息、應用程式、音樂、電視內容、所記錄之視訊內容及自任何內容及/或資料源接收之任何其他類型之音訊、視訊及/或影像資料。在態樣中,積體電路104及其組件可實施為包含處理器106、電腦可讀儲存媒體108 (CRM 108)、通信介面110或I/O控制邏輯112之運算裝置102之任何適合電路或為其部分。
積體電路104可包含(作為非限制性實例)一單晶片系統(SoC)、一中央處理單元、一圖形處理單元、一ASIC、一場可程式化閘陣列(FPGA)、一媒體控制器、一記憶體控制器、一張量處理單元或包含資料儲存能力之任何其他硬體電路。在此實例中,積體電路104包含未受保護電路系統114及包含互補2(N)位元冗餘電路系統118之受保護電路系統116。在態樣中,積體電路104之受保護電路系統116提供一定程度之故障預防或故障容限(諸如免受SET或SEU)以提高實施於積體電路104內及由積體電路104實施之數位系統之一可靠性。積體電路104之未受保護電路系統114可包含不給予或提供故障預防或故障容限之積體電路104之其他電路系統。因而,積體電路104之關鍵或敏感電子電路系統可實施為受保護電路系統116之部分且根據用於預防SEU之互補2(N)位元冗餘之一或多個態樣。
在圖1之實例中,受保護電路系統116包含實施有一多位元互補儲存器120、資料反相邏輯122及表決邏輯124之互補2(N)位元冗餘電路系統118之一例項。多位元互補儲存器120可包含2位元暫存器(例如一對雙重互鎖單元(DICE)正反器)或接收及儲存一資料值及一互補資料值之鎖存電路。資料反相邏輯122包含適合於基於一資料值輸入(例如1)來提供一互補(例如反相)資料值(例如0)之任何類型之反相邏輯、反相節點或反相閘。在態樣中,表決邏輯124可操作地耦合至多位元互補儲存器120、一非互補儲存元件及一1位元互補儲存元件。如本文中所描述,一儲存元件可包含以下之一或多者:一鎖存器、雙穩態鎖存器、設定-重設鎖存器(SR鎖存器)、主從鎖存器、D鎖存器、正反器、D正反器、T正反器、JK正反器、主從正反器、1位元暫存器、多位元暫存器、資料儲存電路、一邏輯儲存單元、一電荷儲存單元或其類似者。一般而言,表決邏輯124可組態以基於來自多位元互補儲存器120、非互補儲存元件及1位元互補儲存元件之至少三個輸入資料值來提供一輸出資料值。表決邏輯124可依一或多個壽命週期狀態組態,諸如在製造(fabrication)(例如實體硬編碼)、製造(manufacturing)(例如熔絲程式化)期間或現場(例如自校正邏輯更改)。如本文中所描述,多位元互補儲存器120、資料反相邏輯122及表決邏輯124可依各種方式實施以預防一SEU影響由互補2(N)位元冗餘電路系統118儲存之資料。
圖2繪示能夠實施用於預防SEU之互補2(N)位元冗餘之態樣之互補2(N)位元冗餘電路系統118及組件之一實例性組態。圖2及下文圖3之繪示組件及架構呈現為可實施用於預防SEU之互補2(N)位元冗餘之方式之非限制性實例。因而,本文中所描述之態樣可應用於或擴展至任何適合資料儲存電路以實施用於預防SEU之互補2(N)位元冗餘之各種特徵。此外,各種組件之間的任何耦合或連接可為直接或間接的,諸如透過一或多個介入組件形成。為了視覺簡潔及/或清楚,亦可自此或其他電路圖省略一些不相關或冗餘組件(例如邏輯閘或互補資料路徑)或電路系統。此一省略不應被解釋為限制,而是作為所描述之電路系統之各種態樣可用於或應用於實施用於預防SEU之互補2(N)位元冗餘之諸多方式之一個實例。換言之,本文中所描述之態樣(例如電路系統)亦可實施有邏輯閘、資料路徑及/或額外或單獨冗餘或經複製單元之任何適合數目或組合。
在態樣中,互補2(N)位元冗餘電路系統118可如圖2中所展示般實施,圖2繪示具有二級或三級表決邏輯124之一選項之一多暫存器冗餘儲存模組。在此實例中,互補2(N)位元冗餘電路系統118包含一第一1位元R1暫存器202、一第二雙重2位元暫存器R2 204 (作為多位元互補儲存器120之一例項)及一第三1位元暫存器R3 206,其等實施有各自鎖存電路(例如設定-重設正反器)以儲存資料值。在態樣中,包含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之一互補邏輯值。如圖中所展示,資料i/p D及資料o/p Q使用包含外部NOT (「反」)閘230及232之資料反相邏輯122來反相,其不提供邏輯等效性之改變。第二暫存器R2 204可實施為用於2位元冗餘之一雙重正反器或2位元儲存元件,其中一第一正反器或資料儲存元件(例如第一位元)經組態以儲存一原始資料值或非互補資料值(R2)。一第二正反器或資料儲存元件(例如第二位元)經組態以儲存一互補資料值R2B。在此,第二暫存器R2 204之第二資料儲存元件之資料i/p D及資料o/p Q使用包含外部NOT閘234及236之資料反相邏輯122來反相,其不提供邏輯等效性之改變。第三暫存器R3耦合至資料輸入226且可經組態以儲存一原始資料值或非互補資料值(R3),類似於暫存器R2 204之第一資料儲存元件。
表決邏輯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 (「互斥或」)電路,其接收及評估互補對(例如R1B/R2或R2B/R3)以偵測一遠端或本端暫存器失效。藉此,表決邏輯124可偵測R1或R2級之一者是否失效且使用另一級作為一虛設替換以藉此使互補2(N)位元冗餘電路系統118能夠實施錯誤偵測及校正。
在態樣中,互補2(N)位元冗餘電路系統118可經組態以藉由將互補邏輯狀態儲存於經複製暫存器或單元中來控制或最小化歸因於一儲存狀態之易損性之複製。如圖3中所展示,R1及R2處之電壓值不同;因此,節點值亦不同且具有互補易損性。換言之,一SEU不太可能發生於兩個經複製單元處以導致電壓R1及R2兩者改變狀態。因此,除非一惡意行動者能夠將R1及R2兩者之各自狀態改變至其互補狀態,否則惡意行動者不太可能引起一SEU,因為電路之一輸出不會受影響。如圖3中所進一步繪示,多數表決邏輯經修改以允許自互補邏輯路徑(例如R1B及/或R2B)之一或多者校正表決功能。實施方案之多個變體可用於權衡功率、效能及面積(PPA)成本及額外負擔上之可靠性。
圖3以300繪示具有用於實施互補2(N)位元冗餘之一或多個態樣之可組態邏輯之表決邏輯124之一實例性組態。如所提及,圖3之組件及架構呈現為可實施用於預防SEU之互補2(N)位元冗餘之方式之一非限制性實例。因而,本文中所描述之態樣可應用於或擴展至任何適合資料儲存電路以實施用於預防SEU之互補2(N)位元冗餘之各種特徵。參考圖3所描述之各種組件可實施為單獨基於硬體或軟體之模組,諸如資料儲存元件及可組態表決邏輯之區塊或模組。因而,本文中所描述之任何結構或功能可由一資料儲存模組之一處理器核心提供或可透過由一資料儲存模組之一處理器核心熔絲程式化及/或執行指令來組態(例如,用於不同表決演算法)。
如圖3中所展示,表決邏輯可實施有可包含可程式化熔絲304之可組態表決邏輯302。替代地或另外,表決邏輯124包含或相關聯於能夠接收、監測及/或評估互補對(例如R1B/R2、R2B/R3)以偵測一遠端或本端暫存器失效之「互斥或(XOR)」電路306。如本文中所描述,表決邏輯124可提供一適應性或可組態多數表決器功能以基於由暫存器202、204及/或206儲存及/或自暫存器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可包含接收及評估互補對(例如R1B/R2或R2B/R3)以偵測一遠端或本端暫存器失效之XOR電路。藉此,表決邏輯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電路,其在各自值匹配時產生一錯誤以指示暫存器之一者已遭受一位元翻轉。
在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中,程式化表決邏輯之熔絲以使用經判定表決準則來組態表決邏輯。
方法600可自操作608返回至前一操作(操作606)以執行方法600之一或多個操作之另一反覆以提供具有相同或不同表決準則之額外互補2(N)位元冗餘電路。替代地,當互補2(N)位元冗餘電路開始操作時,方法600可進行至操作610以實施錯誤偵測及/或錯誤校正。
在610中,基於暫存器之各自輸出來偵測第一暫存器、第二暫存器或多位元暫存器之一者中之一錯誤。例如,可將來自暫存器之一資料值及一互補值之互補對提供至一XOR電路,其在各自值匹配時產生一錯誤以指示暫存器之一者已遭受一位元翻轉。
在612中,重組態表決邏輯以排除失效暫存器以校正由表決邏輯提供之資料輸出值。基於偵測到之暫存器錯誤,表決邏輯可基於至少兩個其他儲存資料值來判定哪個暫存器提供一不正確值且自表決演算法排除失效暫存器以預防資料錯誤傳播。替代地或另外,可更改表決邏輯以將來自一第三暫存器(例如先前未使用)之一資料值或互補資料值包含於表決準則中。換言之,可更改表決邏輯以引入或添加一先前未使用暫存器輸出作為由互補2(N)位元冗餘電路系統實施之一錯誤自偵測及校正方案之部分。 實例性裝置及系統
圖7繪示根據參考先前圖1至圖6之任何者所描述之一或多個態樣之可實施用於預防SEU之互補2(N)位元冗餘之一實例性電子裝置700之各種組件。電子裝置700可實施為呈以下之任何形式之一固定或行動裝置之任何一者或一組合:一消費性裝置、運算裝置、可攜式裝置、使用者裝置、使用者設備、伺服器、通信裝置、電話、導航裝置、遊戲裝置、媒體裝置、訊息裝置、媒體播放器及/或其他類型之電子裝置或一無線啟用裝置。例如,電子裝置700可實施為一智慧型電話、平板手機(phablet)、膝上型電腦、視訊轉換器、無線無人機、運算眼鏡、基於車輛之運算系統或無線寬頻路由器。
電子裝置700包含實現裝置資料704 (諸如所接收之資料、所傳輸之資料或上述其他資訊)之有線及/或無線通信之通信收發器702。實例性通信收發器702包含近場通信(NFC)收發器、符合各種IEEE 802.15標準之WPAN無線電、符合各種IEEE 802.11標準之任何者之WLAN無線電、用於蜂巢式電話之WWAN (符合3GPP)無線電、符合各種IEEE 802.16標準之WMAN無線電及有線區域網路(LAN)以太網路收發器。
電子裝置700亦可包含可經由其來接收任何類型之資料、媒體內容及/或其他輸入之一或多個資料輸入/輸出埠706 (資料I/O埠706),諸如使用者可選輸入、訊息、應用程式、音樂、電視內容、所記錄之視訊內容及自任何內容及/或資料源接收之任何其他類型之音訊、視訊及/或影像資料。資料I/O埠706可包含用於快閃記憶體、DVD、CD及其類似者之通用串列匯流排(USB)埠、同軸纜線埠及其他串列或並行連接器(其包含內部連接器)。此等資料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)鏈路、S視訊鏈路、HDMI (高清晰度多媒體介面)、顯示埠、複合視訊鏈路、分量視訊鏈路、DVI (數位視訊介面)、類比視訊連接或其他類似通信鏈路(諸如媒體資料埠724)來傳送至一音訊組件及/或一顯示組件。在一些實施方案中,音訊系統720及/或顯示系統722係電子裝置700之外部或單獨組件。替代地,顯示系統722可為實例性電子裝置700之一整合組件,諸如具有一觸控介面之一整合顯示器之部分。
在態樣中,電子裝置700之任何組件可包含或實施有(諸如)用於預防SEU且預防惡意行動者影響由電子裝置儲存之資料之互補2(N)位元冗餘電路系統118。替代地或另外,電子裝置700可表示本發明中所描述之電腦裝置102之一實例性實施方案。因此,在一些情況中,處理器708係處理器106 (圖中未展示)之一實例,及/或記憶體裝置712係用於儲存用於實施一分集控制器或其他應用之各種資料、指令或程式碼之電腦可讀儲存媒體108 (圖中未展示)之一實例。因而,本文中所描述之用於預防SEU之互補2(N)位元冗餘可由或結合圖7之電子裝置700之組件或模組實施。
圖8繪示可實施用於預防SEU之互補2(N)位元冗餘之態樣之一實例性單晶片系統(SoC)。SoC 800可體現為或體現於用於實施用於預防SEU之互補2(N)位元冗餘之參考圖1至圖7所描述之任何類型之運算裝置102、使用者設備、設備、其他裝置或系統內。儘管參考基於晶片之封裝來描述,但圖8中所展示之組件亦可體現為其他系統或組件組態,諸如(但不限於)一場可程式化閘陣列(FPGA)、一專用積體電路(ASIC)、一專用標準產品(ASSP)、一數位信號處理器(DSP)、複雜可程式化邏輯裝置(CPLD)、系統級封裝(SiP)、堆疊式封裝(PoP)、處理及通信晶片組、通信協同處理器、感測器協同處理器或其類似者。
在此實例中,SoC 800包含實現資料806 (例如所接收之資料、在接收之資料、預定用於廣播之資料、封包化或其類似者)之有線或無線通信之通信收發器802及一無線數據機804。在一些態樣中,無線數據機804係可組態以根據各種通信協定及/或依不同頻帶(諸如本發明中所描述之協定或頻帶)通信之一多模式多頻帶數據機或基頻處理器。無線數據機804可包含用於使用收發器電路系統來傳送編碼或調變信號之一收發器介面(圖中未展示)。
資料806或其他系統內容可包含系統或各種組件之組態設定(例如表決功能或表決邏輯組態)、由系統儲存之媒體內容及/或與系統之一使用者相關聯之資訊。儲存於單晶片系統800上之媒體內容可包含任何類型之音訊、視訊及/或影像資料。單晶片系統800亦包含可經由其來接收任何類型之資料、媒體內容及/或輸入之一或多個資料輸入808,諸如使用者輸入、使用者可選輸入(顯性或隱性)或自一內容及/或資料源接收之任何其他類型之音訊、視訊及/或影像資料。替代地或另外,資料輸入808可包含各種資料介面,其可實施為一串列及/或並行介面、一無線介面、一網路介面及能夠與其他裝置或系統通信之任何其他類型之通信介面之任何一或多者。
單晶片系統800包含一或多個處理器核心810,其等處理各種電腦可執行指令以控制單晶片系統800之操作。替代地或另外,單晶片系統800可實施有結合處理及控制電路(其大體上以812展示)實施之硬體、韌體或固定邏輯電路系統之任何一者或組合。儘管圖中未展示,但單晶片系統800亦可包含耦合系統內之各種組件之一匯流排、互連件、交叉開關或網狀架構。
單晶片系統800亦包含一記憶體814 (例如電腦可讀媒體),諸如實現永久性及/或非暫時性資料儲存且因此不包含暫時性信號或載波之一或多個記憶體電路。記憶體814之實例包含RAM、非揮發性記憶體(例如唯讀記憶體(ROM)、EPROM、EEPROM等等)或快閃記憶體。記憶體814提供系統資料806及與單晶片系統800之操作態樣相關之韌體816、應用程式818及任何其他類型之資訊及/或資料之資料儲存。例如,韌體816可維持為記憶體814內一作業系統(例如即時OS)之處理器可執行指令且執行於一或多個處理器核心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能夠自各種感測器(諸如電容及運動感測器)接收資料。在一些態樣中,SoC 800之組件或功能區塊之任何者可包含或實施有(諸如)用於預防SEU且預防惡意行動者影響由電子裝置儲存之資料之互補2(N)位元冗餘電路系統118。 變動
儘管在其中可存取一或多個基地台之一無線網路中在用於預防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)模式,其中該表決邏輯基於以下各者來實施一表決功能:基於由該第一暫存器儲存之該資料值之該第一邏輯值;基於由該第二暫存器儲存之該互補資料值之一非反相版本之該第二邏輯值;及基於由該多位元暫存器儲存之該資料值之該第三邏輯值。 實例13:一種由如實例1至12中任一項之積體電路執行以將資料儲存於一互補多位元冗餘電路中之方法,該方法包括:在該互補多位元冗餘電路之一輸入處接收一資料值;將該資料值儲存至該互補多位元冗餘電路之一第一1位元暫存器;經由資料反相電路系統基於該資料值來產生一互補資料值,該互補資料值具有與該資料值之一邏輯狀態相反之一邏輯狀態;將該互補資料值自該資料反相電路系統儲存至該互補多位元冗餘電路之一第二1位元暫存器;將該資料值儲存至該互補多位元冗餘電路之一多位元暫存器之一第一儲存元件;將該互補資料值自該資料反相電路系統儲存至該互補多位元冗餘電路之該多位元暫存器之一第二儲存元件;及使用該互補多位元冗餘電路之表決邏輯基於由該第一1位元暫存器儲存之該資料值、由該第二1位元暫存器儲存之該互補資料值、儲存至該多位元暫存器之該第一儲存元件之該資料值及儲存至該多位元暫存器之該第二儲存元件之該互補資料值之至少三者來產生一輸出資料值。 實例14:如實例13之方法,其進一步包括:監測一互補資料值對,該互補資料值對包含由該第一1位元暫存器或該多位元暫存器之該第一儲存元件儲存之該等資料值之一者及由該第二1位元暫存器及該多位元暫存器之該第二儲存元件儲存之該等互補資料值之一者;基於該互補資料值對來偵測該第一1位元暫存器、該第二1位元暫存器、該多位元暫存器之該第一儲存元件或該多位元暫存器之該第二儲存元件之一者之一失效;及更改該表決邏輯以排除該失效1位元暫存器或該多位元暫存器之該失效儲存元件。 實例15:如實例14之方法,其中:該第一1位元暫存器、該第二1位元暫存器、該多位元暫存器之該第一儲存元件或該多位元暫存器之該第二儲存元件之一者之該各自資料值或互補資料值不由該表決邏輯用於提供該輸出資料值,且該方法進一步包括:更改該表決邏輯以包含先前未由該表決邏輯用於提供該輸出資料值之該第一1位元暫存器、該第二1位元暫存器、該多位元暫存器之該第一儲存元件或該多位元暫存器之該第二儲存元件之該各自資料值或互補資料值。
100:環境 102:運算裝置 102-1:行動電話 102-2:平板裝置 102-3:膝上型電腦 102-4:桌上型電腦 102-5:電腦化手錶 102-6:穿戴式電腦 102-7:視訊遊戲機 102-8:語音輔助系統 104:積體電路 106:處理器 108:電腦可讀儲存媒體(CRM) 110:通信介面 112:輸入/輸出(I/O)控制邏輯 114:未受保護電路系統 116:受保護電路系統 118:互補2(N)位元冗餘電路系統 120:多位元互補儲存器 122:資料反相邏輯 124:表決邏輯 200:實例性組態 202:第一1位元R1暫存器/第二資料儲存元件 204:第二雙重2位元R2暫存器/多位元資料儲存元件 206:第三1位元R3暫存器/第一資料儲存元件 208:初級鎖存器 210:次級鎖存器 212:初級鎖存器 214:次級鎖存器 216:初級鎖存器 218:次級鎖存器 220:共用邏輯 222:初級鎖存器 224:次級鎖存器 226:資料輸入/輸入節點 228:資料輸出/輸出節點 230:NOT閘/反相器 232:NOT閘 234:NOT閘 236:NOT閘 300:實例性組態 302:可組態表決邏輯 304:可程式化熔絲 306:XOR電路 400:方法 402:在一互補多位元冗餘電路之一輸入處接收一資料值 404:將資料值儲存於一第一暫存器中 406:基於資料值來產生一互補資料值 408:將互補資料值儲存於一第二暫存器中 410:將資料值及互補資料值儲存至一多位元暫存器之各自儲存元件 412:使用表決邏輯基於第一暫存器之資料值、第二暫存器之互補資料值及多位元暫存器之資料值及互補值之至少三者來產生一輸出資料值 414:在互補多位元冗餘電路之一輸出處提供輸出資料值 500:方法 502:監測來自一第一暫存器之一資料值及來自一第二暫存器之一互補資料值之一互補對 504:基於資料值及互補資料值之各自值來偵測第一暫存器或第二暫存器之一失效 506:更改表決邏輯以自用於提供一輸出資料值之表決準則排除第一暫存器或第二暫存器 508:更改表決邏輯以將來自一第三暫存器之一資料值或互補資料值包含於表決準則中 510:使用經更改表決邏輯基於來自互補對之至少一個資料值及來自第三暫存器之資料值或互補資料值來產生輸出資料值 600:方法 602:使用儲存一資料值之一第一暫存器、儲存一互補資料值之一第二暫存器及儲存資料值及互補資料值之一多位元暫存器來製造一互補2(N)位元冗餘電路 604:製造可操作地耦合至第一暫存器、第二暫存器及多位元暫存器之各自輸出之表決邏輯 606:判定表決邏輯之表決準則,表決邏輯基於由第一暫存器儲存之資料值、由第二暫存器儲存之互補資料值及由多位元暫存器儲存之資料值及互補資料值之至少三者來提供一資料輸出值 608:程式化表決邏輯之熔絲以使用經判定表決準則來組態表決邏輯 610:偵測第一暫存器、第二暫存器或多位元暫存器之一者中之一錯誤 612:重組態表決邏輯以排除失效暫存器以校正由表決邏輯提供之資料輸出值 700:電子裝置 702:通信收發器 704:裝置資料 706:資料輸入/輸出(I/O)埠 708:處理器 710:電子電路系統 712:記憶體裝置 714:作業系統 716:裝置應用程式 718:音訊及/或視訊處理系統 720:音訊系統 722:顯示系統 724:媒體資料埠 800:單晶片系統(SoC) 802:通信收發器 804:無線數據機 806:資料 808:資料輸入 810:處理器核心 812:處理及控制電路 814:記憶體 816:韌體 818:應用程式 820:圖形處理器 822:音訊處理器 824:影像感測器處理器 826:安全處理器 828:定位及位置引擎 830:感測器介面 R1:原始資料值 R1B:互補資料值 R2:原始或非互補資料值 R2B:互補資料值 R3:原始資料值/非互補資料值
本發明參考以下圖式來描述用於預防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)環境。 [實施方式]及附圖中使用之相同或類似元件符號可指示相同特徵或組件。
118:互補2(N)位元冗餘電路系統
120:多位元互補儲存器
122:資料反相邏輯
124:表決邏輯
200:實例性組態
202:第一1位元R1暫存器/第二資料儲存元件
204:第二雙重2位元R2暫存器/多位元資料儲存元件
206:第三1位元R3暫存器/第一資料儲存元件
208:初級鎖存器
210:次級鎖存器
212:初級鎖存器
214:次級鎖存器
216:初級鎖存器
218:次級鎖存器
220:共用邏輯
222:初級鎖存器
224:次級鎖存器
226:資料輸入/輸入節點
228:資料輸出/輸出節點
230:NOT閘/反相器
232:NOT閘
234:NOT閘
236:NOT閘
R1:原始資料值
R1B:互補資料值
R2:原始或非互補資料值
R2B:互補資料值
R3:原始資料值/非互補資料值

Claims (15)

  1. 一種積體電路,其包括: 一輸入節點(226),其用於接收一資料值; 一第一資料儲存元件(206),其具有可操作地耦合至該輸入節點之一輸入,該第一資料儲存元件經組態以儲存該資料值; 至少一個反相器(230),其可操作地耦合至該輸入節點以提供一互補資料值; 一第二資料儲存元件(202),其具有可操作地耦合至該至少一個反相器之一輸入,該第二資料儲存元件經組態以儲存該互補資料值; 一多位元資料儲存元件(204),其具有可操作地耦合至該輸入節點之一第一輸入及可操作地耦合至該至少一個反相器之一第二輸入,該多位元資料儲存元件經組態以將該資料值及該互補資料值儲存為單獨值;及 表決邏輯(124),其包括: 一輸出,其耦合至該積體電路之一輸出節點(228); 該表決邏輯之一第一輸入,其可操作地耦合至該第一資料儲存元件(206)之一輸出以基於由該第一資料儲存元件儲存之該資料值來接收一第一邏輯值; 該表決邏輯之一第二輸入,其可操作地耦合至該第二資料儲存元件(202)之一輸出以基於由該第二資料儲存元件儲存之該互補資料值來接收一第二邏輯值; 該表決邏輯之一第三輸入,其耦合至該多位元資料儲存元件(204)之一第一輸出以基於由該多位元資料儲存元件儲存之該資料值來接收一第三邏輯值;及 該表決邏輯之一第四輸入,其耦合至該多位元資料儲存元件(204)之一第二輸出以基於由該多位元資料儲存元件儲存之該互補資料值來接收一第四邏輯值, 該表決邏輯經組態以基於該第一邏輯值、該第二邏輯值、該第三邏輯值及該第四邏輯值之至少三者之一組各自邏輯值來將一輸出資料值提供至該積體電路之該輸出節點。
  2. 如請求項1之積體電路,其中可操作地耦合至該輸入節點之該至少一個反相器包括: 一第一反相器,其可操作地耦合於該輸入節點與該第二資料儲存元件之該輸入之間;及 一第二反相器,其可操作地耦合於該輸入節點與該多位元資料儲存元件之該第二輸入之間。
  3. 如請求項1之積體電路,其中可操作地耦合至該輸入節點之該至少一個反相器包括一第一反相器,且該積體電路進一步包括以下之至少一者: 一第二反相器,其可操作地耦合於該第二資料儲存元件之該輸出與該表決邏輯之該第二輸入之間;或 一第三反相器,其可操作地耦合於該多位元資料儲存元件之該第二輸出與該表決邏輯之該第四輸入之間。
  4. 如請求項3之積體電路,其中該第一反相器、該第二反相器或該第三反相器之至少一者包括實施於該第一資料儲存元件、該第二資料儲存元件及該多位元資料儲存元件外部之一反相邏輯閘。
  5. 如請求項1至4中任一項之積體電路,其中該多位元資料儲存元件進一步包括: 一第一鎖存電路,其經組態以儲存該資料值; 一第二鎖存電路,其經組態以儲存該互補資料值;及 共用時脈邏輯,其可操作地耦合至該第一鎖存電路及該第二鎖存電路。
  6. 如請求項5之積體電路,其中: 該第一鎖存電路包括該多位元資料儲存元件之第一正反器或第一1位元儲存元件之至少一者; 該第二鎖存電路包括該多位元資料儲存元件之第二正反器或一第二1位元儲存元件之至少一者。
  7. 如請求項1至4中任一項之積體電路,其中: 該表決邏輯經組態以基於以下各者使用一多數表決功能來提供該輸出資料值: 基於由該第一資料儲存元件儲存之該資料值之該第一邏輯值; 基於由該第二資料儲存元件儲存之該互補資料值之該第二邏輯值;及 基於由該多位元資料儲存元件儲存之該資料值之該第三邏輯值;或 該表決邏輯經組態以基於以下各者使用一多數表決功能來提供該輸出資料值: 基於由該第一資料儲存元件儲存之該資料值之該第一邏輯值; 基於由該第二資料儲存元件儲存之該互補資料值之該第二邏輯值;及 基於由該多位元資料儲存元件儲存之該互補資料值之該第四邏輯值。
  8. 如請求項1至4中任一項之積體電路,其中: 該表決邏輯經組態以基於以下各者使用一多數表決功能來提供該輸出資料值: 基於由該第一資料儲存元件儲存之該資料值之該第一邏輯值; 基於由該第二資料儲存元件儲存之該互補資料值之一非反相版本之該第二邏輯值;及 基於由該多位元資料儲存元件儲存之該資料值之該第三邏輯值。
  9. 如請求項1至4中任一項之積體電路,其中: 該表決邏輯基於其來提供該輸出資料值之該組各自邏輯值係一第一組各自邏輯值;且 該表決邏輯進一步經組態以: 基於該第一邏輯值、該第二邏輯值、該第三邏輯值及該第四邏輯值之該至少三者來偵測一單一事件擾亂(SEU);及 回應於偵測到該SEU而更改該表決邏輯之可組態邏輯以使用該第一邏輯值、該第二邏輯值、該第三邏輯值及該第四邏輯值之至少三者之一第二組各自邏輯值來提供該輸出資料值,該第一組各自邏輯值不同於該第二組各自邏輯值。
  10. 如請求項1至4中任一項之積體電路,其中: 該表決邏輯進一步包括經組態以偵測該SEU之該第一邏輯值、該第二邏輯值、該第三邏輯值及該第四邏輯值之互補對之各自「互斥或」電路。
  11. 如請求項10之積體電路,其中: 該表決邏輯進一步以經組態以回應於偵測到該SEU而更改該表決邏輯之該可組態邏輯以實施三重模組冗餘(TMR)模式,其中該表決邏輯基於以下各者來實施一表決功能: 基於由該第一資料儲存元件儲存之該資料值之該第一邏輯值; 基於由該第二資料儲存元件儲存之該互補資料值之一非反相版本之該第二邏輯值;及 基於由該多位元資料儲存元件儲存之該資料值之該第三邏輯值。
  12. 如請求項1至4中任一項之積體電路,其中該第一資料儲存元件、該第二資料儲存元件或該多位元資料儲存元件實施為以下之一或多者: 一鎖存器、一雙穩態鎖存器、一設定-重設鎖存器(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位元資料儲存元件、該多位元資料儲存元件之該第一儲存元件或該多位元資料儲存元件之該第二儲存元件之該各自資料值或互補資料值。
TW111138221A 2021-06-21 2021-08-30 用於預防單一事件擾亂之互補2(n)位元冗餘 TWI859597B (zh)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
TW202305800A true TW202305800A (zh) 2023-02-01
TWI859597B TWI859597B (zh) 2024-10-21

Family

ID=

Also Published As

Publication number Publication date
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
CN115917972A (zh) 2023-04-04
EP4173138A1 (en) 2023-05-03

Similar Documents

Publication Publication Date Title
US20220292226A1 (en) Peripheral Device Comportability with Security Circuitry
CN104270141B (zh) 抗单粒子翻转和单粒子瞬态脉冲的锁存器
US20160196179A1 (en) Reconfigurable ecc for memory
US9736181B2 (en) Hardening data transmissions against power side channel analysis
JP2019008781A (ja) 高データインテグリティ処理システム
US20140344643A1 (en) Hybrid memory protection method and apparatus
TWI783653B (zh) 用於預防單一事件擾亂之互補2(n)位元冗餘
JP2009302903A (ja) 半導体集積回路
JP5724408B2 (ja) 半導体装置
Sahoo et al. Fault tolerant implementations of delay-based physically unclonable functions on FPGA
TWI807766B (zh) 安全之全晶片通信
Adetomi Dynamic reconfiguration frameworks for high-performance reliable real-time reconfigurable computing
Taube et al. Fault tolerant implementation of a SpaceWire interface
US20240361923A1 (en) Read-Only Memory (ROM) Security
US20240184932A1 (en) Read-Only Memory (ROM) Security
TWI821971B (zh) 安全加密協同處理器
TW202240591A (zh) 唯讀記憶體(rom)安全性
US20220391540A1 (en) Register File Protection
JP2018142816A (ja) PUF(Physically Unclonable Function)コード生成装置およびPUFコード認証システム
TWI582966B (zh) 多晶胞晶片
JP2008092270A (ja) エラートレラントが可能な半導体集積回路
KR20240108446A (ko) 희소 인코딩된 신호를 위한 보안 멀티 레일 제어
JP2008098688A (ja) 半導体集積回路