專利名稱:用于自動檢測集成電路鎖存器中的軟錯誤的系統和方法
技術領域:
本發明總體上涉及集成電路中的鎖存電路。更具體的說,本發明涉及用于檢測軟錯誤出現的系統和方法,這些軟錯誤引起鎖存器不正確地改變狀態,并由此發出不正確的數據值。
背景技術:
VLSI芯片的技術形成部分地受相鄰器件之間的平均器件間距(L)尺寸的限定。隨著每個新技術形成,L連續降低了約30%,同時需要器件尺寸縮減。在器件尺寸降低的同時,在電路中開關晶體管器件或保持存儲器件中的電壓所需的電荷量也出現減少。對于存儲信息的電路例如鎖存器、靜態隨機存取存儲器(SRAM)單元、或動態隨機存取存儲器(DRAM)單元來說,在芯片操作期間保持正確信息的能力是極為重要的。例如,目前制造的半導體產品主要包括相繼0.25μm、0.18μm、和0.13μm的技術形成。引人注目的是,在0.25μm技術形成SRAM中代表單個數據位的電荷量比0.13μm形成SRAM中所使用的大大約16倍。隨著這種趨勢的繼續,有必要改善用于感測(“讀出”)、存儲(“寫入”)、和保護存儲器件的裝置和方法。
即使對于0.13μm的技術形成來說,用于開關存儲器件的電荷(開關電荷)的量也足以保證在正常芯片操作下正確地讀出和寫入數據。然而,開關電荷十分低以至于保護鎖存器、SRAM、DRAM和其他存儲器件免受破壞變得至關重要。這部分是由于幾種普通輻射源可以產生超過開關電荷的荷電水平的事實。例如,眾所周知,質子、中子、α粒子(包括兩個質子和兩個中子的原子核)、和周圍環境中的宇宙輻射在撞擊VLSI芯片時會在器件中產生相當多的電荷。在用于制造芯片的材料例如塑料、金屬和玻璃中,常常發現微量的放射性元素,其作為內含雜質自然地存在。因此這類放射性元素可以混入包括VLSI芯片的電路或器件中。當放射性衰變時,這類元素可以發射諸如α粒子之類的輻射,其會在撞擊芯片中的硅之后產生大的移位電荷的痕跡。雖然可以通過仔細監控材料制造來降低放射性雜質的水平,但是需要增加費用。另外,其他的輻射源更難以避免。對VLSI芯片來說宇宙射線是主要的損傷輻射源,并且在周圍環境中到處存在。由于它們起源于宇宙并且它們能穿透物質,因此不能防止宇宙射線撞擊在位于普通辦公大樓、工廠、家庭、車輛和其他公共工作場所中的機器中工作的芯片。
宇宙輻射的單個撞擊事件可以容易地產生可與存儲器件中建立的當前開關電荷水平相比較的電荷量,由此使得它們容易受到數據保存中的錯誤的影響。這種“軟錯誤”并不會對芯片的電路造成永久損傷,但是會破壞保存在器件中的數據,并且使得有必要對器件進行重新編程以校正該錯誤。例如,在輻射撞擊后通過過量的注入電荷無意導通的硅晶體管可能對存儲節點進行放電,其接著將必須被重新充電。
在VLSI芯片中存在可以存儲數據的幾個區域,它們易受軟錯誤的影響,具體來說包括用于保持芯片上熔絲的狀態的鎖存器。芯片上熔絲是一般可以通過斷開熔絲中的導線的破壞性方法來永久地且不可逆轉地設置的器件。當熔絲熔斷時,它變得不導電,因此狀態對應于邏輯1。如果熔絲不熔斷,則邏輯狀態對應于邏輯0。每個熔絲的狀態可以通過該熔絲的輸出線被讀入熔絲鎖存器中。圖1示出了用于存儲一個數據位例如相鄰熔絲的狀態的典型鎖存器。熔絲鎖存器1包括兩個耦接的反相器6和7,其通過線4和負載3連接到熔絲2。當負載3的晶體管導通時,熔絲2的狀態存儲在節點5。例如,如果鎖存器1被預置成節點5等于邏輯1,則熔絲2熔斷,并且當負載3導通時,節點5變成邏輯狀態1。在來自節點5的信號(邏輯1)進入反相器6之后,它在節點8處輸出為邏輯0。隨后,如果通過反相器7輸出節點8,則在節點5處恢復邏輯1值。照這樣,節點5總是讀取邏輯1并且節點8總是讀取邏輯0。
為了保證保存正確的鎖存器狀態,可以在給VLSI芯片加電期間在熔絲鎖存器中執行存取和設置熔絲數據。在芯片操作期間,這可以持續相當于1024個機器周期的間隔,如果軟錯誤出現在給定的鎖存器中,則該鎖存器將在正在進行的芯片操作期間保持錯誤狀態。這樣,在操作期間在熔絲鎖存器中產生的軟錯誤可能保持未校正長達1024個周期,結果導致與鎖存器有關的器件或電路將發生故障的可能性增加。
解決該問題的一種方式是設計鎖存器,其抵抗或避免由諸如宇宙輻射之類的事件影響所引起的轉變。相關技術的實例包括軟錯誤容許鎖存器和鎖存電路,其在美國專利No.6,380,781和6,366,132中被討論。在前一參考中,鎖存電路中晶體管的幾何形狀被修改了,包括摻雜的硅源極/漏極(S/D)區域的相對尺寸減小。在該方法中,打算減小由電離輻射引起軟錯誤的可能性,因為已知S/D區域中的輻射撞擊結果導致產生使器件翻轉的電荷的可能性更高,這例如與多晶硅柵極區域相反。然而,正如本領域的技術人員所公知的,對于給定的電路元件尺寸,S/D區域不能在不對器件或電路性能產生不利影響的情況下急劇地減小,因此實際器件中的S/D區域仍將占據足夠的易受輻射影響的區域。在后一參考中,給出了這樣的實例大量的附加電路加到每個鎖存器上以防止軟錯誤傳送到芯片的外部電路。然而,在許多器件密度高的芯片設計中,可能難以給每個鎖存器增加這樣大量的電路。就DRAM芯片來說尤其如此。
或者,可以通過頻繁讀出鎖存器信息來減小鎖存器中出現的軟錯誤的不利影響,以便使這些錯誤保持未校正的周期最小化。然而,對于可以存取永久寫入的熔絲數據的狀態的熔絲鎖存器來說,頻繁的數據讀出可能會引起過量電流經過包含完整的或未完全熔斷的熔絲的區域。另外,讀操作期間施加的電壓可以改變熔斷的熔絲特性,導致存取數據時出錯的可能性增加。持續地從芯片內熔絲鎖存器中的熔絲中讀出熔絲信息還可能降低芯片性能。鑒于上述問題,將認識到相當需要改進的方法來校正鎖存器中的軟錯誤。
發明內容
本發明的實施例提供用于檢測和校正軟錯誤的電路,尤其是鎖存器中的。這提供及時地校正軟錯誤的可能性,而不需要頻繁地讀取鎖存器。本發明的優選實施例包括鎖存電路,該鎖存電路在軟錯誤出現時產生錯誤信號,并且在這時僅通過外部復位和讀出操作來保持詢問,因此強有力地限制了電流經過熔絲和熔絲鎖存器的必然事件的數量。這可以通過在包含連接熔絲鎖存器的組的電路內嵌入奇偶檢驗位來實現,其提供發信號表示軟錯誤出現的方法。
另外公開的本發明的實施例提供自動復位并且讀出產生軟錯誤的局部鎖存器模塊而不需要讀取整個芯片的所有鎖存器的方法。使用奇偶檢驗位來發信號表示熔絲盒內的軟錯誤允許在不存取芯片內的其他組的情況下執行局部校正操作。
本發明的另一實施例涉及用于使鎖存器中的軟錯誤對整個芯片操作的影響最小化的方法。本發明通過提供下述方法來實現上述在軟錯誤產生時自動檢測軟錯誤、確定該錯誤的熔絲盒位置、以及在軟錯誤出現之后以適當的間隔執行局部讀取以校正錯誤組,這樣鎖存器模塊的重讀取使對其他芯片操作的影響減到最小。
圖1是示出已知的熔絲鎖存電路的相關技術的示意圖。
圖2是示出根據本發明實施例的熔絲鎖存器和比較器的示意圖。
圖3是示出根據本發明實施例的第二熔絲鎖存器和比較器的示意圖。
圖4是示出根據本發明實施例的用于錯誤檢測的熔絲盒奇偶校驗位的示意圖。
圖5示出根據本發明實施例的用于確定奇偶校驗位翻轉的比較器。
圖6是根據本發明實施例的鎖存器模塊電路的示意圖。
圖7是示出根據本發明實施例的事件順序的圖,包括錯誤檢測、鎖存器模塊復位、和重讀取。
圖8示出根據本發明實施例的校正軟錯誤的方法。
圖9示出根據本發明替換實施例的校正軟錯誤的方法。
圖10示出根據本發明另一個實施例的校正軟錯誤的方法。
圖11a和11b示出根據本發明的鎖存電路的替換實施例的示意圖。
具體實施例方式
在詳細描述本發明的一個或多個實施例之前,本領域的技術人員將認識到本發明并不限于以下詳細描述中所列出的或附圖所示的它的結構細節的應用、部件的設置、和步驟設置。本發明可以具有其他實施例并且能夠以多種方式來實施或實現。而且,應當理解這里所用的措詞和術語是為了描述而不應被認為是限制。
本發明的優選實施例包括檢測熔絲鎖存器中的軟錯誤的電路。該電路包括連續的熔絲鎖存單元模塊。每個熔絲鎖存單元又包括在一側上連接到熔絲并且在另一側上連接到比較單元(比較器)的鎖存器。每個鎖存器存儲與它相連的熔絲的狀態,指示該熔絲是熔斷的(邏輯1)還是未熔斷的(邏輯0)。熔絲狀態信號和它的反相信號輸出到鎖存器的比較器。該比較器又將信號輸出到后繼鎖存單元的比較器。給定的熔絲鎖存單元內的比較器的輸出被提供作為后繼鎖存單元的比較器的輸入。最后的熔絲鎖存單元的比較器的輸出代表了鎖存器模塊的奇偶校驗位。奇偶校驗位又發出信號表示鎖存器模塊中熔斷熔絲的總數是奇數還是偶數。當由于軟錯誤引發鎖存器擾動時,存儲的鎖存器狀態被顛倒,例如從1到0。該數據被輸出到附加在擾動鎖存器上的比較器單元。當信號從鎖存器模塊中的最后的比較器單元輸出時,奇偶校驗位翻轉以發出信號表示熔斷熔絲的數目已經從奇數變成偶數(或反之亦然)。該信號可以通過鎖存器模塊外部的檢測器讀取,并用于產生校正鎖存器錯誤的操作。
圖2~6示出本發明的優選實施例。位于芯片中多個區域中的是包含這里所描述的特征的熔絲鎖存器模塊。圖2示出熔絲鎖存單元10,即位于熔絲盒(fuse block)中的多個連續鎖存單元中的一個。熔絲鎖存器11包括如上面參考圖1描述的耦接反相器。熔絲12通過負載13連接到鎖存器節點15,其是晶體管。鎖存器節點15的狀態在節點18處被反相,如以上對鎖存器1的描述。在本發明中,節點15和節點18都輸出到單獨的線上,包括比較器21中的輸入節點15和18。包括晶體管22-29的比較器21從節點30輸出信號并且在節點32輸出它的補信號,其是在從節點30通過反相器31之后獲得的。節點30和32形成圖3所示的相鄰鎖存單元中的后繼比較器52中的輸入。
采用圖3所示的方式,除了第一比較器之外,熔絲盒中的每個比較器都接收來自前一比較器和來自位于相同鎖存單元中的熔絲鎖存器的輸入。如圖3所示,第二熔絲鎖存單元54通過比較器21的信號線30和32連接到熔絲鎖存單元10。在熔絲33熔斷的情況下,熔絲鎖存器40中的節點36呈現邏輯1并且節點39處于邏輯0。包括晶體管41-48的比較器52又將節點50的輸出和節點51的其互補信號發送到連續比較器,其是由經過反相器53得到的。
圖4示出包括晶體管61-68的最后的熔絲鎖存比較器60。來自比較器60的輸出信號是鎖存器模塊奇偶校驗位69、和由經過反相器70形成的反相奇偶校驗位71。如圖4中進一步所示的,可以通過使反相奇偶校驗位71經過包括晶體管81-84的門選反相器72來存儲奇偶校驗位69的值。所得到的節點73是該奇偶校驗位的反相的反相,由此代表該奇偶校驗位值。該奇偶校驗位值使用包括耦接反相器74和75的奇偶檢驗位鎖存器77存儲在節點73中。存儲的奇偶校驗位的反相存儲在節點76處。現在參考圖5,奇偶檢驗位節點69、反相奇偶校驗位節點71、存儲的奇偶校驗位節點73、和反相存儲的奇偶校驗位節點76輸出到最后的比較器,即‘奇偶校驗位比較器’90。比較器90包括晶體管91-98并用于比較奇偶校驗位和存儲的奇偶校驗位。比較器90的輸出99用于發信號表示軟錯誤的出現。
圖6示出上述整個電路和器件組的全局視圖,包括具有內建軟錯誤檢測的熔絲鎖存器模塊100。熔絲鎖存器‘1’和比較器‘1’代表第一個熔絲鎖存單元的部件,而熔絲鎖存器‘N’和比較器‘N’代表最后一個熔絲鎖存單元的部件。比較器‘N’等效于圖4中的比較器60。
已經描述了用于軟錯誤檢測的電路,將要描述軟錯誤從其產生點到節點99處的輸出的電路徑。再次參考圖3,如果例如在節點36附近的電路區域中出現輻射撞擊,那么晶體管可能被放電以便節點39和36的狀態翻轉。例如,如果節點36最初設置在邏輯0,那么它被翻轉成邏輯1,以及節點39被翻轉成邏輯0。接著,節點36的錯誤狀態被輸出到n型場效應晶體管(nFET)48和p型場效應晶體管(pFET)45處的比較器52。類似地,節點39的錯誤狀態被輸出到nFET 43和pFET 41處的比較器52。從圖2所示的前驅比較器21輸出的節點30可能將正確信號發送到nFET 47和pFET 42。類似地,來自比較器21的節點32可能將正確信號輸出到nFET 44和pFET46。然而,結合輸入到晶體管41、43、45和48的錯誤信號,比較器52在節點50處的輸出及其互補51被翻轉,如下面更詳細地描述的。
在正常操作下,如果來自比較器21的節點30處于邏輯1,那么節點32處于邏輯0。節點30在nFET 47和pFET 42處被接收,使前者導通并使后者關斷。類似地,在邏輯零的節點32將使nFET 44關斷并使pFET 46導通。使用上述實例,利用最初設置在邏輯0的節點36,pFET 45導通,而nFET 48關斷。節點39設置在邏輯1,使pFET 41關斷并使nFET 43導通。利用處于電源電壓Vdd的pFET 45的源極,并且pFET 45和46都導通,節點50進入邏輯1狀態(Vdd)。如果軟錯誤記錄在節點36處,使它改變到邏輯1,那么pFET 45關斷并且nFET 48導通。類似地,節點39切換成邏輯0,使pFET 41導通并且使nFET 43關斷。在nFET 47和48現在都導通并且nFET 48源極設置為接地的情況下,節點50處于邏輯0。因此,假定來自比較器21的輸入不改變,那么節點36和39(36/39)處的狀態切換導致了節點50處的切換。
參考圖3中的比較器52,對于本領域的技術人員來說,顯然,無論來自節點30和32(30/32)的輸入狀態如何,36/39的切換都將使節點50切換。類似地,在熔絲鎖存器40不經受錯誤而在位于前一鎖存器中的比較器21(圖2)中產生錯誤的情況下,將發生在節點50處的切換。在后一情況下,節點36和39是穩定的,而在節點30/32處發生切換,這將在節點50處引起切換。
本領域的技術人員將注意到,每個熔絲鎖存比較器執行如下所示的XOR電路功能如果輸入30=39(由此32=36且30≠36且32≠39),那么50為邏輯1,因為或者30=39=邏輯0或者32=36=邏輯0。即,如果pFET對41/42的柵極輸入(對應于輸入30/39)相同,那么pFET對45/46的輸入(對應于輸入32/36)也一定相同,并且nFET對47/48的輸入(對應于輸入30/36)以及對43/44中的那些(對應于輸入30/32)一定不同。由于pFET對30/39或32/36導通,因此節點50通過該導通的對連接到Vdd(邏輯1)。
如果30≠39(由此32≠36且30=36且32=39),那么50為邏輯0,因為或者30=36=邏輯1或者32=39=邏輯1。換句話說,如果pFET對41/42的柵極輸入(對應于輸入30/39)不同,那么pFET對45/46的柵極輸入(對應于輸入32/36)也一定不同,并且nFET對47/48的輸入(對應于輸入30/36)以及對43/44中的那些(對應于輸入30/32)一定相同。不管是對43/44導通還是對47/48導通,節點50都通過該導通的對連接到地(邏輯0)。
如上所述,鎖存器40或比較器21的輸入對中的變化將引起節點50中的切換。這種行為應用于本發明的鎖存器模塊內的每個鎖存單元。這樣,一旦鎖存單元54中的節點50/51切換,那么后續鎖存器將記錄已切換的輸入對,這將引起它的比較器輸出的切換。類似地,鎖存單元54之后的每個后續比較器將從前一鎖存器的比較器接收已切換的輸入,最終導致比較器60中的奇偶校驗位69的翻轉。
圖7示出本發明的示例性實施例,具體地說是檢測和校正鎖存器錯誤的方法。在輻射撞擊引起鎖存器軟錯誤之后,在步驟702,鄰近比較器90放置的檢測器檢測到鎖存器模塊奇偶檢驗位69已經翻轉,表明軟錯誤在該鎖存器模塊中。作為響應,一些類型的信號處理器被觸發。在一個實施例中,用于讀出錯誤熔絲盒的信號在芯片中局部地產生。在檢測到指示奇偶檢驗位錯誤的信號之后,在步驟704,一旦接收到觸發,則向信號發生器發送局部消息和指令復位鎖存器模塊。在步驟706,信號處理器接收觸發以產生復位信號。在步驟708,信號發生器使用圖2中所示的鎖存器11中的復位節點14來復位鎖存器模塊。此時,鎖存器可以通過導通負載14被復位為默認值,例如邏輯1。接著,在步驟710,熔絲12通過對節點13處的晶體管施加適當的電壓而連接到鎖存器節點15,其恢復正常狀態。如果當前的熔絲沒有熔斷,那么鎖存器在重讀取時翻轉。對于模塊中的每個鎖存單元都發生該過程,并且該過程導致所有的錯誤鎖存器復位為它們各自正確的熔絲值。在步驟712的同時,通過nFET81發送信號用以恢復奇偶檢驗位鎖存器77。任選地,存儲的奇偶檢驗位73可以接著在步驟714中被重讀取,以建立奇偶檢驗位和奇偶校驗位鎖存器恢復為它們的正確設置,表明模塊內的所有鎖存器都被正確設置。例如,如果模塊中熔斷熔絲的數目是奇數,并且在軟錯誤之后該數目呈現為偶數,那么在重讀取時奇偶檢驗位和存儲的奇偶校驗位將再次顯示奇數個熔斷熔絲。
本發明的優點在于,在不需要知道軟錯誤的精確位置的情況下,在由模塊限定的多個鎖存器內起作用。即,相同的鎖存器模塊奇偶檢驗位錯誤在比較器90處發信號,而不管模塊內的錯誤鎖存器的位置。而且,在熔絲鎖存器模塊的校正操作期間,復位信號發送到模塊中所有鎖存器共用的線,保證在不知道其精確位置的情況下復位錯誤鎖存器。最后,來自比較器90的鎖存器模塊奇偶檢驗位的重讀取允許保證了在不知道先前的錯誤鎖存器位置的情況下,所有熔絲鎖存器被正確設置。
本發明的另一優點在于錯誤在出現時被自動檢測到,由此消除了對頻繁讀取熔絲盒的需要。由于保證錯誤信號將在適當的鎖存器模塊中產生,因此不必要頻繁地詢問每個鎖存器模塊,以確保可能的鎖存器軟錯誤的檢測。另一優點在于它提供錯誤校正性能的靈活性。由于軟錯誤出現的時間作為奇偶檢驗位翻轉的結果而已知,因此根據與其中存在熔絲盒的芯片或機器的整體操作有關的考慮,錯誤校正可以在軟錯誤產生之后以適當選擇的間隔來執行。
圖8示出本發明的另一個實施例,其中可以在一產生鎖存器錯誤就執行讀出以校正檢測的軟錯誤。在步驟800中,比較器90接收由軟錯誤引起的奇偶檢驗位翻轉的信號,并且隨后將錯誤信號轉發到附近的檢測器。接著在步驟802中,檢測器向信號發生器發送指令,用以復位鎖存器模塊。在這種情況下,信號發生器不等待另外的觸發,而是在步驟804立即發送復位模塊中的所有鎖存器的信號。在步驟806,它發送用以重讀取所有相關熔絲的另一信號,并且在步驟808它復位存儲的奇偶檢驗位,如以上圖7中所描述的。
本發明的其他實施例包括,當包含錯誤鎖存器的器件組空閑時在錯誤產生之后在第一種情況下執行校正讀出。這在圖9中示出,其第一步驟與圖7和圖8中的相同。在步驟900,在檢測器從比較器90接收錯誤信號之后,在步驟902中將信號發送到信號發生器,以指示錯誤熔絲盒中存在鎖存器復位條件。在步驟904,信號發生器詢問包含錯誤熔絲盒的芯片的區域中的電路動作。當熔絲盒電路變得空閑時,在步驟906將該空閑狀態發送到信號發生器,觸發它傳遞用以在步驟908復位鎖存器模塊的信號。在步驟910,它發送用以重讀取相關熔絲的信號。最后,在步驟912中復位存儲的奇偶檢驗位。上述過程例如在芯片用于服務器的情況下是有用的,在該情況中可能需要保證計算機硬件連續工作幾個月或幾年。這樣,可能潛在地影響操作的任何數據錯誤必須被正確校正以避免潛在的災難性后果,例如系統崩潰。而在另外未占據電路的同時當執行復位時,數據鎖存器的正確校正更是必然的。
在替換實施例中,第一熔絲盒可以根據周期性的刷新循環重讀取,這在圖10中示出。在檢測器在步驟1010從比較器90接收錯誤信號之后,在步驟1012將消息發送到信號發生器以在隨后的編程自動刷新操作期間復位錯誤鎖存器模塊。在步驟1014中,在刷新操作期間,信號發生器復位錯誤塊中的所有鎖存器。在步驟1016中,其后是信號發生器將重讀取信號發送到鎖存器模塊的所有相關熔絲以及在步驟1018復位存儲的奇偶檢驗位。這結果引起鎖存器復位,其從錯誤產生時間的延遲由軟錯誤事件和下一編程刷新的時間的接近性來確定。
本領域的技術人員應當理解,可以但不太可能,多于一個的鎖存器可以在軟錯誤事件期間同時翻轉。這可以例如在α粒子撞擊期間發生,其中產生電荷可以足夠大以影響多于一個的鎖存器。如果奇數個鎖存器翻轉,則作用將與如果僅一個鎖存器翻轉相同,并且將記錄奇偶檢驗位錯誤。然而,如果正好兩個(或任意偶數個)鎖存器翻轉,那么來自熔絲盒中的最后一個比較器的輸出信號將由模塊內的兩個(或任意偶數個)鎖存器翻轉產生,它們的作用將互相抵消,結果不在鎖存器模塊的奇偶檢驗位中產生變化,由此沒有檢測到錯誤。
本發明的可以處理這種潛在事件的另外的實施例,包括如圖11a和11b所示那樣交錯的多個鎖存器鏈。每個鏈包括具有各自的比較器的一組鎖存器,類似于圖6中示出的那種。在優選實施例中,每個鏈包含它自己的奇偶校驗位,其將在組內的單個鎖存器經受軟錯誤時翻轉。現在參考圖11a,示出熔絲鎖存電路1100,其包括交錯的鎖存器模塊1110和1210。交錯處理將鎖存器模塊1110的鎖存器1112置于模塊1210的鎖存器1212附近。另外,鎖存器1112和1212放置在它們各自的比較器1114和1214附近。應當注意,鎖存器模塊1110和1210的物理交錯并不用于使這兩個組電互連。然而,如圖11a所示,交錯處理這樣執行,即每個鎖存器由兩個相鄰鎖存器物理地界定,它們兩個屬于對面的鎖存器模塊。這樣,例如,模塊1210的鎖存器1212由來自模塊1110的兩個鎖存器1112和1122界定。當在任一個鎖存器模塊中產生單個錯誤時,出現錯誤的組奇偶校驗位(1180或1280)翻轉,并且饋送到奇偶校驗位比較器(分別是1190或1290)。當在任一個組中檢測到奇偶校驗位翻轉時,連接到這兩個鎖存器模塊的輸出的另一電路1300將錯誤輸出到檢測器。再次參考圖6,對于包括單個鏈的鎖存器模塊的情況,當引起兩個相鄰鎖存器同時翻轉的大翻轉事件發生時,奇偶校驗位將不記錄變化,并且兩個軟錯誤將保持不被檢測。然而,對于圖11a所示的兩個交錯鏈的情況,當翻轉事件引起任何兩個相鄰鎖存器翻轉時,由于這兩個相鄰鎖存器沒有電連接,而是存在于分開的鎖存器模塊中,因此錯誤記錄在分開的鎖存器鏈中。這樣,如果輻射撞擊在相鄰模塊1112和1212中產生軟錯誤時,模塊1110和1210將經歷單個鎖存器翻轉,這接著將在每個相應的鏈中引起奇偶校驗位翻轉。當錯誤產生在三個相鄰鎖存器中時,一個組將經歷一次翻轉并且其他的將經歷兩次翻轉。記錄該一次翻轉的鏈將經歷奇偶校驗位翻轉,這將記錄在電路1300中,并可用于產生包括兩個鏈的鎖存電路的復位。根據上述配置,不能檢測軟錯誤將需要軟錯誤產生在至少四個相鄰(連續的)鎖存器中。在錯誤產生在四個連續的鎖存器中的情況下,兩個鏈將經歷兩個鎖存器的翻轉,這將由于上述原因而不能產生奇偶校驗位翻轉。
圖11b示出電路1350包括N個交錯鏈的實施例。這些鏈以規則的方式交錯,其提供如下所述的物理相鄰的鎖存器序列鎖存器1412(和比較器1414),鎖存器模塊1410的序列中的第一個;鎖存器1512(和比較器1514),鎖存器模塊1510的序列中的第一個;鎖存器N12(和比較器N14),鎖存器模塊N10的序列中的第一個;鎖存器1422,鎖存器模塊1410的序列中的第二個;鎖存器1522,鎖存器模塊1510的序列中的第二個;等等。鎖存器模塊1410末端是奇偶校驗位鎖存器1480和奇偶校驗位比較器1490。類似地,每個鎖存器模塊末端是它自己的奇偶校驗位鎖存器(分別參見鎖存器模塊1510和N10中的1580和N80)和奇偶校驗位比較器(分別參見鎖存器模塊1510和N10中的1590和N90)。任何奇偶校驗位錯誤都記錄在電路1600中。采用上述方式,線中的任何給定的N個鎖存器序列都包含來自所有N個鏈的鎖存器。這樣,為了使來自相同鏈的兩個鎖存器翻轉,軟錯誤事件將必須包括至少N+1個連續的鎖存器。而且,在大鎖存器翻轉的情況下,為了使熔絲鎖存電路1350的電路1600不接收奇偶校驗位錯誤,所有鏈將必須經歷兩個或偶數個鎖存器的翻轉。只有當2N(或2N的整數倍)個連續的鎖存器經受錯誤時才滿足這種條件。例如,在三個交錯鏈的情況下,這需要正好6個、12個、18個等連續的鎖存器同時翻轉,這比一個或兩個連續鎖存器的翻轉的可能性微弱得多。
已經描述了用于自動檢測和校正鎖存器中的軟錯誤的器件和方法的實施例。在上面的描述中,為了解釋,列出了多個具體細節以提供對本發明的全面理解。然而,本領域的技術人員應當理解,本發明在沒有這些具體細節的情況下也可以實施。而且,本領域的技術人員可以容易理解,提供并執行各個方法的具體過程是說明性的,并且認為這些過程可以改變并仍保持在本發明的精神和范圍內。
在上面的詳細描述中,已經參考具體示例性實施例描述了根據本發明的實施例的器件和方法。相應地,本說明書和附圖應被認為是說明性的而不是限制性的。本發明的范圍將由該處所附的權利要求及其等價物來限定。
權利要求
1.一種鎖存器模塊,包括(a)多個級聯的鎖存單元,每個鎖存單元包括鎖存器和比較器;(b)奇偶校驗位鎖存器,其與該多個級聯的鎖存單元的最后一個的比較器連接;和(c)奇偶校驗位比較器,其與奇偶校驗位鎖存器和該多個鎖存單元的最后一個的比較器進行通信。
2.權利要求1的電路,其中每個鎖存單元進一步包括與該鎖存單元內的鎖存器連接的熔絲。
3.權利要求2的電路,其中比較器被配置成按照XOR邏輯功能工作。
4.權利要求2的電路,其中每個鎖存器包括連接到與鎖存器的熔絲串聯的晶體管的復位節點。
5.權利要求2的電路,其中奇偶校驗位鎖存器存儲指示鎖存器內是奇數個還是偶數個熔絲被熔斷的奇偶校驗位。
6.權利要求1的電路,其中奇偶校驗位比較器在奇偶校驗位或奇偶校驗位鎖存器變化的情況下翻轉。
7.權利要求2的電路,其中奇偶校驗位比較器在奇偶校驗位或奇偶校驗位鎖存器變化的情況下翻轉。
8.權利要求6的電路,其中所述多個鎖存單元包括多個N個交錯的鎖存單元鏈,這樣在單個撞擊事件之后,奇偶校驗位翻轉發生在鎖存器模塊內除2N的倍數之外的任意數目的同步鎖存器錯誤之后,所述同步鎖存器錯誤在N個模塊的每一個中分布為2的倍數個鎖存器錯誤。
9.權利要求7的電路,其中所述多個連續的鎖存單元包括多個N個交錯的鎖存單元鏈,這樣在單個撞擊事件之后,奇偶校驗位翻轉發生在鎖存器模塊內除2N的倍數之外的任意數目的同步鎖存器錯誤之后,所述同步鎖存器錯誤在N個模塊的每一個中分布為2的倍數個鎖存器錯誤。
10.一種電路,包括(a)包括多個連續的鎖存單元的鎖存器模塊,每個鎖存單元包括鎖存器和比較器;(b)奇偶校驗位鎖存器,其與該多個級聯的鎖存單元的最后一個的比較器連接;(c)奇偶校驗位比較器,其與奇偶校驗位鎖存器和該多個鎖存單元的最后一個的比較器進行通信;(d)與奇偶校驗位比較器的輸出連接的檢測器;和(e)與檢測器連接的信號發生裝置,其中在檢測到奇偶校驗位翻轉時產生用于復位鎖存器模塊的信號。
11.權利要求9的電路,其中每個鎖存單元進一步包括與該鎖存單元內的鎖存器連接的熔絲元件。
12.權利要求9的電路,其中該多個連續的鎖存單元包括多個N個交錯的鎖存單元鏈,這樣在單個撞擊事件之后,奇偶校驗位翻轉發生在鎖存器模塊內除2N的倍數之外的任意數目的同步鎖存器錯誤之后,所述2N的倍數個同步鎖存器錯誤在N個模塊的每一個中分布為2的倍數個鎖存器錯誤。
13.權利要求10的電路,其中該多個連續的鎖存單元包括多個N個交錯的鎖存單元鏈,這樣奇偶校驗位翻轉發生在鎖存器模塊內的除2N的倍數之外的任意數目的同步鎖存器錯誤之后,所述2N的倍數個同步鎖存器錯誤在N個模塊的每一個中分布為2的倍數個鎖存器錯誤。
14.一種用于自動檢測鎖存器模塊中的鎖存器軟錯誤的方法,包括(a)設置一系列鎖存單元,每個鎖存單元包括鎖存器和比較器,這樣至少一個鎖存單元的比較器接收來自前一鎖存單元的比較器的輸入和來自其相關的鎖存器的輸入;(b)使用奇偶校驗位比較器監控最后的鎖存單元的比較器的輸出;(c)使用奇偶校驗位比較器監控用于存儲最后的鎖存單元的比較器的輸出的鎖存器的輸出;以及(d)通過接收奇偶校驗位比較器的輸出中的變化來檢測奇偶校驗位翻轉。
15.權利要求14的方法,進一步包括(a)將指示奇偶校驗位翻轉的消息發送到信號發生器;(b)響應于所述消息發送用于將鎖存器復位為默認值的信號;(c)復位用于存儲最后的鎖存單元的比較器的輸出的鎖存器;以及(d)重讀取與鎖存單元相關的所有熔絲。
16.權利要求14的方法,進一步包括(a)將鎖存器復位條件通知給信號發生器;(b)詢問與熔絲盒相關的電路中的動作;(c)接收來自與熔絲盒相關的電路的空閑狀態信號;(d)發送用于將鎖存器復位為默認值的信號;(e)復位用于存儲最后的鎖存單元的比較器的輸出的鎖存器;以及(f)重讀取與鎖存單元相關的所有熔絲。
17.權利要求15的方法,其中信號發生器在接收到奇偶校驗位翻轉消息時立即發送用于復位鎖存器的信號。
全文摘要
用于檢測鎖存器中產生的軟錯誤的電路和方法。電路的示例性實施例包括級聯的鎖存器模塊,每個鎖存器具有比較器,并且最后的鎖存器比較器的輸出代表該鎖存器模塊的奇偶校驗位。該電路進一步包括用于存儲組奇偶校驗位的鎖存元件和用于組奇偶校驗位和存儲的奇偶校驗位的比較器。鎖存器軟錯誤通過監控來自奇偶校驗位比較器的輸出來檢測,其當鎖存器模塊奇偶校驗位改變狀態時發信號表示錯誤。
文檔編號G06F11/10GK1890879SQ200480035715
公開日2007年1月3日 申請日期2004年9月24日 優先權日2003年10月1日
發明者R·施奈德爾 申請人:英飛凌科技股份公司