專(zhuān)利名稱(chēng):基于位電平錯(cuò)誤計(jì)數(shù)的錯(cuò)誤抑制的選擇性激活的制作方法
技術(shù)領(lǐng)域:
本公開(kāi)涉及數(shù)據(jù)處理領(lǐng)域,并且尤其涉及數(shù)據(jù)處理裝置中的
錯(cuò)誤抑制領(lǐng)域。
背景技術(shù):
由于集成電路制造技術(shù)中的改進(jìn)繼續(xù)提供較小尺寸和較低 工作電壓的微處理器和其它的數(shù)據(jù)處理裝置,所以這些設(shè)備的制造者 和使用者變得越來(lái)越關(guān)注軟錯(cuò)誤的現(xiàn)象。當(dāng)a粒子和高能中子撞擊集 成電路并且改變電路節(jié)點(diǎn)上存儲(chǔ)的電荷時(shí)就會(huì)出現(xiàn)軟錯(cuò)誤。如果電荷 改變足夠大,則結(jié)點(diǎn)上的電壓會(huì)從表示一個(gè)邏輯狀態(tài)的電平改變?yōu)楸?示不同邏輯狀態(tài)的電平,在這種情況下,存儲(chǔ)在該結(jié)點(diǎn)上的信息被破 壞。通常,軟錯(cuò)誤率("SER")隨著電路尺寸的減小而增大,這是因 為當(dāng)電路密度增大時(shí),撞擊粒子擊中電壓結(jié)點(diǎn)的可能性會(huì)增大。同樣 地,當(dāng)工作電壓減小時(shí),表示不同的邏輯狀態(tài)的電壓電平之間的差也 減小,所以需要更少的能量來(lái)改變電路節(jié)點(diǎn)上的邏輯狀態(tài),因此出現(xiàn) 更多的軟錯(cuò)誤。 阻滯引起軟錯(cuò)誤的粒子是非常困難的,因此,數(shù)據(jù)處理裝置 常常包括用于檢測(cè)以及間或糾正軟錯(cuò)誤的技術(shù)。這些錯(cuò)誤抑制技術(shù)包 括使用糾錯(cuò)碼("ECC"),清理高速緩存,以及以鎖步(lockstep)的 方式運(yùn)行處理器。然而,錯(cuò)誤抑制技術(shù)的使用會(huì)降低性能并且增大功 耗。此外,使用錯(cuò)誤抑制的必要性或合意性會(huì)根據(jù)使用設(shè)備的時(shí)間和 地點(diǎn)而改變,這是因?yàn)橹T如海拔、磁場(chǎng)強(qiáng)度和方向、太陽(yáng)活動(dòng)之類(lèi)的 環(huán)境因素會(huì)影響SER。因此,人們希望可以有選擇性地激活錯(cuò)誤抑制。
通過(guò)示例來(lái)描述本發(fā)明,并且本發(fā)明不受限于附圖。圖1示出了處理器中的本發(fā)明的實(shí)施例;圖2示出了根據(jù)本發(fā)明實(shí)施例的多核處理器;圖3示出了根據(jù)本發(fā)明實(shí)施例的系統(tǒng);圖4示出了本發(fā)明的、基于位電平(bit level)錯(cuò)誤計(jì)數(shù)來(lái)
有選擇地激活錯(cuò)誤抑制的方法的實(shí)施例。
具體實(shí)施例方式以下描述基于位電平錯(cuò)誤計(jì)數(shù)來(lái)有選擇地激活錯(cuò)誤抑制的
實(shí)施例。在下面的描述中,可以闡述諸如部件和系統(tǒng)配置之類(lèi)的許多 的具體細(xì)節(jié),以便更徹底地理解本發(fā)明。然而,應(yīng)該知道,對(duì)于本領(lǐng) 域技術(shù)人員來(lái)講,可以在不使用這些具體細(xì)節(jié)的情況下實(shí)踐本發(fā)明。 另外,沒(méi)有詳細(xì)地描述一些公知的結(jié)構(gòu)、電路、技術(shù)等等,以避免不 必要地使本發(fā)明不清楚。由于導(dǎo)致軟錯(cuò)誤的粒子通量的隨機(jī)特性,對(duì)SER的合理評(píng) 估會(huì)需要相對(duì)較大的面積用于錯(cuò)誤檢測(cè)。本發(fā)明會(huì)是可取的,因?yàn)樗?提供了使用諸如高速緩沖存儲(chǔ)器和掃描單元之類(lèi)的、已經(jīng)占有許多處 理器和其它設(shè)備的晶模(die)尺寸的重要部分的結(jié)構(gòu)用于錯(cuò)誤檢測(cè)。 因此,可以在不需要會(huì)顯著增加晶模尺寸及由此造成的成本的、額外 的錯(cuò)誤檢測(cè)結(jié)構(gòu)的情況下來(lái)實(shí)現(xiàn)本發(fā)明。 圖1示出了處理器100中的本發(fā)明的實(shí)施例。處理器100可 以是各種不同類(lèi)型的處理器中的任何一種,例如英特爾公司的 Pentium⑧處理器系列的處理器,Itanium 處理器系列的處理器或其 它處理器系列的處理器,或者來(lái)自另一個(gè)公司的處理器。本發(fā)明還可 以體現(xiàn)為除了處理器以外的裝置,例如存儲(chǔ)設(shè)備。處理器100包括存 儲(chǔ)器陣列110、存儲(chǔ)器錯(cuò)誤計(jì)數(shù)單元120和存儲(chǔ)器錯(cuò)誤抑制單元130。
存儲(chǔ)器陣列110可以是任意數(shù)量的行和任意數(shù)量的列的任 意類(lèi)型的存儲(chǔ)單元(例如靜態(tài)隨機(jī)存取存儲(chǔ)單元),所述存儲(chǔ)單元可 以用于諸如高速緩沖存儲(chǔ)器之類(lèi)的任何功能。存儲(chǔ)器陣列110包括錯(cuò)
誤檢測(cè)電路111,以使用諸如奇偶校驗(yàn)或者ECC之類(lèi)的任何已知的技 術(shù)來(lái)檢測(cè)存儲(chǔ)器陣列110中的位電平錯(cuò)誤。許多處理器和其它的設(shè)備 設(shè)計(jì)包括用于高速緩存或其它存儲(chǔ)器陣列的相對(duì)較大的面積,并且這 些陣列中的許多已經(jīng)包括奇偶校驗(yàn)或者ECC。因此,晶模的主要面 積可以低成本用于根據(jù)本發(fā)明的錯(cuò)誤檢測(cè)。 存儲(chǔ)器錯(cuò)誤計(jì)數(shù)單元120包括陣列錯(cuò)誤計(jì)數(shù)器121、陣列讀 取計(jì)數(shù)器122和陣列計(jì)數(shù)控制模塊123。陣列錯(cuò)誤計(jì)數(shù)器121可以是 同步的或異步的、并且具有計(jì)數(shù)輸入端、計(jì)數(shù)輸出端和重置的任何已 知的計(jì)數(shù)器電路。陣列錯(cuò)誤計(jì)數(shù)器121的計(jì)數(shù)輸入端耦合到錯(cuò)誤檢測(cè) 電路111以接收指示在讀取存儲(chǔ)器陣列110時(shí)檢測(cè)到位電平錯(cuò)誤的信 號(hào),從而使得陣列錯(cuò)誤計(jì)數(shù)器121的計(jì)數(shù)輸出端指示在讀取存儲(chǔ)器陣 列IIO時(shí)檢測(cè)到的位電平錯(cuò)誤的總數(shù),這是因?yàn)殛嚵绣e(cuò)誤計(jì)數(shù)器121 已經(jīng)被重置。 陣列讀取計(jì)數(shù)器122也可以是同步的或異步的、并且具有計(jì) 數(shù)輸入端、計(jì)數(shù)輸出端和重置的任何己知的計(jì)數(shù)器電路。陣列讀取計(jì) 數(shù)器122的輸入端耦合到存儲(chǔ)器陣列110以接收指示正在讀取存儲(chǔ)器 陣列110的信號(hào),從而使得陣列讀取計(jì)數(shù)器122的計(jì)數(shù)輸出指示已經(jīng) 讀取存儲(chǔ)器陣列110的總次數(shù),這是因?yàn)殛嚵凶x取計(jì)數(shù)器122已經(jīng)被 重置。 在該實(shí)施例中,無(wú)論何時(shí)由陣列讀取計(jì)數(shù)器122計(jì)數(shù)的存儲(chǔ) 器陣列110的讀取次數(shù)達(dá)到某一限度(例如每1,000次讀取),陣列 錯(cuò)誤計(jì)數(shù)器121和陣列讀取計(jì)數(shù)器122將都被重置。該陣列讀取限度 值可以是固定的或可編程的'??梢曰诖鎯?chǔ)器陣列iio的尺寸、位數(shù) 和面積,合理地精確測(cè)定SER所需的讀取的預(yù)期數(shù)量以及任何其它 的因素來(lái)選擇適當(dāng)?shù)年嚵凶x取限度值。在特定的時(shí)間(例如按秒計(jì)量 的時(shí)間)過(guò)去之后,陣列錯(cuò)誤計(jì)數(shù)器121和陣列讀取計(jì)數(shù)器122也被 重置,因此即使存儲(chǔ)器陣列110是相對(duì)不活躍的,也可以檢測(cè)到SER 中的改變。在其它的實(shí)施例中,也可以或替代性地根據(jù)任何其它的事
^i^或信號(hào)重置計(jì)數(shù)器。在此實(shí)施例中,陣列錯(cuò)誤計(jì)數(shù)器121的輸出端耦合到陣列計(jì) 數(shù)控制模塊123,以使得無(wú)論何時(shí)陣列錯(cuò)誤計(jì)數(shù)器121和陣列讀取計(jì) 數(shù)器122被重置,陣列計(jì)數(shù)控制模塊123都接收該次達(dá)到陣列讀取限 度值時(shí)的位電平錯(cuò)誤的數(shù)量。在其它的實(shí)施例中,可以將位電平錯(cuò)誤 的數(shù)量持續(xù)提供給陣列計(jì)數(shù)控制模塊123,或者可以基于任何其它的 事件或信號(hào)而將位電平錯(cuò)誤的數(shù)量發(fā)送到陣列計(jì)數(shù)控制模塊123。
陣列計(jì)數(shù)控制模塊123還包括陣列錯(cuò)誤閾值寄存器124,其 可以被編程以保存陣列錯(cuò)誤閾值。在其它的實(shí)施例中,陣列錯(cuò)誤閾值 可以是固定的。如果位電平錯(cuò)誤的數(shù)量超過(guò)了陣列錯(cuò)誤閾值,則將激 活或增強(qiáng)錯(cuò)誤抑制??梢曰谂c合意的SER閾值相對(duì)應(yīng)的每次達(dá)到 陣列讀取限度值時(shí)的位電平錯(cuò)誤的數(shù)量來(lái)選擇適當(dāng)?shù)年嚵绣e(cuò)誤閾值。 其它的實(shí)施例可以包括根據(jù)計(jì)數(shù)器121和122的輸出來(lái)計(jì)算SER的 邏輯??梢允褂弥T如比較器電路之類(lèi)的任何已知的方法來(lái)判斷位電平 錯(cuò)誤的數(shù)量是否超過(guò)了陣列錯(cuò)誤閾值。 陣列計(jì)數(shù)控制模塊123向存儲(chǔ)器錯(cuò)誤抑制單元130指示位電 平錯(cuò)誤的數(shù)量是否超過(guò)了陣列錯(cuò)誤閾值。所述指示可以基于信號(hào)("高 SER"信號(hào))的狀態(tài)或轉(zhuǎn)變,或任何其它的已知的方法。如果陣列計(jì) 數(shù)控制模塊123指示陣列錯(cuò)誤閾值已經(jīng)被超出,則存儲(chǔ)器錯(cuò)誤抑制單 元130通過(guò)多種已知方法中的任意一種或多種來(lái)激活或增強(qiáng)錯(cuò)誤抑 制。例如,存儲(chǔ)器錯(cuò)誤抑制單元130可以激活存儲(chǔ)器陣列110的清理, 或者可以增大周期性清理存儲(chǔ)器陣列110的頻率。
如圖2所示,還可以使用用于錯(cuò)誤檢測(cè)的時(shí)序邏輯代替存儲(chǔ) 器陣列來(lái)實(shí)現(xiàn)本發(fā)明。圖2示出了根據(jù)本發(fā)明實(shí)施例的多核處理器 200。通常,多核處理器是包括多于一個(gè)執(zhí)行內(nèi)核的單個(gè)集成電路。 執(zhí)行內(nèi)核包括用于執(zhí)行指令的邏輯。除執(zhí)行內(nèi)核之外,多核處理器可 以包括本發(fā)明范圍內(nèi)的專(zhuān)用或共享資源的任何組合。專(zhuān)用資源可以是 專(zhuān)用于單個(gè)內(nèi)核的資源,例如專(zhuān)用的一級(jí)高速緩存,或者可以是專(zhuān)用 于多個(gè)內(nèi)核的任何子集的資源。共享資源可以是由所有內(nèi)核共享的資 源,例如共享的二級(jí)高速緩存或者共享的外部總線單元(該外部總線 單元支持多核處理器和另一個(gè)部件之間的接口),或者可以是由多個(gè) 內(nèi)核的任何子集共享的資源。 多核處理器200包括執(zhí)行內(nèi)核201和執(zhí)行內(nèi)核202。執(zhí)行內(nèi) 核201包括掃描鏈210、時(shí)序錯(cuò)誤計(jì)數(shù)單元220以及時(shí)序錯(cuò)誤抑制單 元230。掃描鏈210可以是串聯(lián)布置(例如菊花鏈或移位寄存器布 置)的任何數(shù)量的掃描單元。掃描單元是時(shí)序元件,例如鎖存器或觸 發(fā)器,其被添加到許多集成電路上以提供用于測(cè)試和調(diào)試時(shí)序邏輯的 冗余狀態(tài)信息。所述掃描單元被布置為鏈,其可以用來(lái)順序地將數(shù)據(jù) 移出設(shè)備,或者通過(guò)順序地將數(shù)據(jù)傳輸進(jìn)入設(shè)備來(lái)將設(shè)備設(shè)置為已知 狀態(tài)。 一般地,在設(shè)備離開(kāi)工廠之前禁用掃描單元。
許多處理器設(shè)計(jì)包括掃描單元,并且許多具有"全掃描"能 i,其意味著對(duì)于處理器的所有時(shí)序狀態(tài)存在掃描單元。因此,處理 器晶模的主要面積(其也許大致與處理器的時(shí)序電路的面積相同)可 以低成本用于根據(jù)本發(fā)明的錯(cuò)誤檢測(cè)。為了進(jìn)一步增強(qiáng)檢錯(cuò)能力,可 以改變現(xiàn)有的掃描單元設(shè)計(jì),以增大它們的對(duì)軟錯(cuò)誤的靈敏度。這些 設(shè)計(jì)修改,例如增加或者減少電容以及增加通道長(zhǎng)度,可以在不妨礙 正常掃描操作功能的情況下進(jìn)行,并且可以按照以下方式來(lái)進(jìn)行,即, 對(duì)于正常掃描操作可以禁用它們,并且對(duì)于軟錯(cuò)誤檢測(cè)可以啟用它 們。因此,還可以或替代性地將包含在處理器或其它設(shè)備上的用于測(cè) 試和調(diào)試的掃描單元配置為用于軟錯(cuò)誤檢測(cè)。 可以通過(guò)持續(xù)地將己知的數(shù)據(jù)值移入掃描鏈210的輸入端 并且觀察輸出端來(lái)執(zhí)行錯(cuò)誤檢測(cè)。將由到達(dá)掃描鏈210的輸出端的不 同值來(lái)指示錯(cuò)誤。例如,掃描鏈210的輸入可以被設(shè)置為二進(jìn)制零。 到達(dá)掃描鏈210的輸出端的每個(gè)二進(jìn)制一指示一個(gè)位電平錯(cuò)誤。在 n-阱(n-well)進(jìn)程中,觀察到從零到一、而不是一到零的轉(zhuǎn)變是合 意的,其中,零到一的轉(zhuǎn)變可以由a粒子和中子粒子撞擊所引起,但 是一到零的轉(zhuǎn)變只能由中子所引起。 時(shí)序錯(cuò)誤計(jì)數(shù)單元220包括時(shí)序錯(cuò)誤計(jì)數(shù)器221和時(shí)序計(jì)數(shù) 控制模塊223。時(shí)序錯(cuò)誤計(jì)數(shù)器221可以是同步的或異步的、并且具 有計(jì)數(shù)輸入端、計(jì)數(shù)輸出端和重置的任何己知的計(jì)數(shù)器電路。時(shí)序錯(cuò) 誤計(jì)數(shù)器221的計(jì)數(shù)輸入端耦合到掃描鏈210的輸出端,以使得時(shí)序錯(cuò)誤計(jì)數(shù)器221的計(jì)數(shù)輸出指示由掃描鏈210檢測(cè)到的位電平錯(cuò)誤的 總數(shù),這是因?yàn)闀r(shí)序錯(cuò)誤計(jì)數(shù)器221已經(jīng)被重置。在該實(shí)施例中,在 掃描鏈210的每一個(gè)全位移(flill shift) (g卩,在輸入端注入的值到達(dá) 輸出端所需要的時(shí)鐘周期的數(shù)量)之后重置時(shí)序錯(cuò)誤計(jì)數(shù)器221。在其 它的實(shí)施例中,也可以或可替代地基于任何其它的事件或信號(hào)來(lái)重置 計(jì)數(shù)器。在該實(shí)施例中,時(shí)序錯(cuò)誤計(jì)數(shù)器221的輸出端耦合到時(shí)序計(jì) 數(shù)控制模塊223,以使得無(wú)論何時(shí)時(shí)序錯(cuò)誤計(jì)數(shù)器221被重置,時(shí)序 計(jì)數(shù)控制模塊223都接收該次全掃描的位電平錯(cuò)誤的數(shù)量。在其它的 實(shí)施例中,可以將位電平錯(cuò)誤的數(shù)量持續(xù)提供給時(shí)序計(jì)數(shù)控制模塊 223,或者可以基于任何其它的事件或信號(hào)而將位電平錯(cuò)誤的數(shù)量發(fā) 送到時(shí)序計(jì)數(shù)控制模塊223。時(shí)序計(jì)數(shù)控制模塊223還包括時(shí)序錯(cuò)誤閾值寄存器224,其 可以被編程來(lái)保存時(shí)序錯(cuò)誤閾值。在其它的實(shí)施例中,陣列錯(cuò)誤閾值 可以是固定的。如果位電平錯(cuò)誤的數(shù)量超過(guò)了時(shí)序錯(cuò)誤閾值,貝鵬激 活或增強(qiáng)錯(cuò)誤抑制??梢曰趻呙桄?10中的掃描單元的數(shù)量來(lái)選擇 適當(dāng)?shù)臅r(shí)序錯(cuò)誤閾值。其它的實(shí)施例可以包括對(duì)部分或全掃描數(shù)量進(jìn) 行計(jì)數(shù)的掃描計(jì)數(shù)器,以及根據(jù)錯(cuò)誤計(jì)數(shù)器和掃描計(jì)數(shù)器的輸出來(lái)計(jì) 算SER的邏輯??梢允褂弥T如比較器電路之類(lèi)的任何已知的方法來(lái) 判斷位電平錯(cuò)誤的數(shù)量是否超過(guò)了時(shí)序錯(cuò)誤閾值。 時(shí)序計(jì)數(shù)控制模塊223向時(shí)序錯(cuò)誤抑制單元230指示位電平 錯(cuò)誤的數(shù)量是否超過(guò)了時(shí)序錯(cuò)誤閾值。所述指示可以基于高SER信 號(hào)的狀態(tài)或轉(zhuǎn)變、或任何其它的已知方法。如果時(shí)序計(jì)數(shù)控制模塊 223指示時(shí)序錯(cuò)誤閾值已經(jīng)被超出,則時(shí)序錯(cuò)誤抑制單元230通過(guò)多 種已知方法中的任意一種或多種來(lái)激活或增強(qiáng)錯(cuò)誤抑制。例如,時(shí)序 錯(cuò)誤抑制單元230可以激活執(zhí)行內(nèi)核202以與執(zhí)行內(nèi)核201鎖步的方
式運(yùn)行。 本發(fā)明還可以體現(xiàn)為使用存儲(chǔ)器陣列、掃描鏈,或任何其它 結(jié)構(gòu)的任意組合的裝置,所述其它的結(jié)構(gòu)具有其中檢測(cè)到位電平錯(cuò)誤 的狀態(tài)元件。例如,處理器可以包括兩個(gè)或更多個(gè)存儲(chǔ)器陣列,其中
每個(gè)具有其自己對(duì)應(yīng)的錯(cuò)誤計(jì)數(shù)和抑制單元,或者兩個(gè)或更多個(gè)執(zhí)行 內(nèi)核,其中每個(gè)有其自己對(duì)應(yīng)的掃描鏈以及錯(cuò)誤計(jì)數(shù)和抑制單元。每 一個(gè)錯(cuò)誤計(jì)數(shù)單元可以包括一個(gè)或多個(gè)閾值寄存器,以使閾值得到校 準(zhǔn),所述校準(zhǔn)考慮到了諸如進(jìn)程和結(jié)構(gòu)脆弱性之類(lèi)的因素。閾值寄存 器可以是可編程的,以允許閾值的調(diào)整。 在一些實(shí)施例中,單個(gè)錯(cuò)誤計(jì)數(shù)單元可以包括多個(gè)用于不同 的源或錯(cuò)誤類(lèi)型的計(jì)數(shù)器,并且/或者來(lái)自多個(gè)錯(cuò)誤計(jì)數(shù)單元的高 SER信號(hào)可以一同被處理以確定是否激活何種類(lèi)型以及何種級(jí)別的 錯(cuò)誤抑制。在一個(gè)這樣的實(shí)施例中,高SER信號(hào)可以與OR'd—起。 例如,如果陣列錯(cuò)誤閾值和時(shí)序錯(cuò)誤閾值之一或兩者都已被超出,則 可以激活錯(cuò)誤抑制。在另一個(gè)這樣的實(shí)施例中,可以基于來(lái)自超過(guò)一 個(gè)計(jì)數(shù)器的錯(cuò)誤計(jì)數(shù)的組合來(lái)判斷是否已經(jīng)超出錯(cuò)誤閾值。計(jì)數(shù)可以 被直接加到一起,或者一個(gè)計(jì)數(shù)可以比另一個(gè)權(quán)重更大,這是因?yàn)橐?種類(lèi)型的錯(cuò)誤或錯(cuò)誤源需要更可靠地關(guān)注。在本發(fā)明的范圍內(nèi),其它 形式的處理錯(cuò)誤計(jì)數(shù)和/或高SER信號(hào)也是可能的,例如提供一個(gè)特 定的高SER信號(hào)以否定或覆蓋另一個(gè)特定的高SER信號(hào)。 在這些實(shí)施例中的任何一個(gè)或任何其它的實(shí)施例中,根據(jù)高 SER信號(hào)的源和/或處理可以激活或增強(qiáng)各個(gè)級(jí)別或類(lèi)型的錯(cuò)誤抑 制。例如,在具有用于高速緩存和時(shí)序邏輯的錯(cuò)誤檢測(cè)的實(shí)施例中, 僅來(lái)自高速緩存的高SER信號(hào)可以激活高速緩存清理,僅來(lái)自時(shí)序 邏輯的高SER信號(hào)可以激活鎖步,來(lái)自這兩者的高SER信號(hào)都可以 激活工作電壓的增大。此外,實(shí)施例可以包括用于單個(gè)錯(cuò)誤計(jì)數(shù)單元的多個(gè)錯(cuò)誤閾 值,因此,可以根據(jù)SER的檢測(cè)大小來(lái)選擇錯(cuò)誤抑制的類(lèi)型或級(jí)別。 在一個(gè)這樣的實(shí)施例中,多級(jí)錯(cuò)誤抑制是可用的,例如,不同的高 SER信號(hào)可以用來(lái)指示基于哪一錯(cuò)誤閾值已經(jīng)被超出來(lái)選擇哪一級(jí) 錯(cuò)誤抑制。這些級(jí)可以通過(guò)單一技術(shù)的不同級(jí)別來(lái)區(qū)分,例如高速緩 存清理的變化頻率,或者可以通過(guò)使用多種不同的技術(shù)來(lái)區(qū)分,例如 在一級(jí)中進(jìn)行高速緩存清理并且在另一級(jí)中增加工作電壓。在一個(gè)或 多個(gè)級(jí)中, 一個(gè)或多個(gè)錯(cuò)誤抑制技術(shù)可以是不活躍的或者處于關(guān)閉狀
態(tài)。在其它級(jí)中的每一個(gè)中,相同的錯(cuò)誤抑制狀態(tài)可以是開(kāi)啟的,或 者在單個(gè)或多個(gè)級(jí)別之一上是激活的。 本發(fā)明的實(shí)施例可以包括以上所述的任何組合。實(shí)施例可以 包括多個(gè)錯(cuò)誤計(jì)數(shù)器,其中每個(gè)具有多個(gè)錯(cuò)誤閾值,并且基于高SER 信號(hào)的處理來(lái)選擇多級(jí)錯(cuò)誤抑制??梢詧?zhí)行處理以給予特定類(lèi)型的錯(cuò) 誤或者特定的錯(cuò)誤源更大的權(quán)重。例如,如果來(lái)自大容量存儲(chǔ)器的高 SER信號(hào)被斷言,或者來(lái)自?xún)蓚€(gè)較小存儲(chǔ)器陣列的高SER信號(hào)均被 斷言,則可以進(jìn)入特定級(jí)別的錯(cuò)誤抑制。作為另一個(gè)例子,如果來(lái)自 掃描鏈的高SER信號(hào)被斷言,則可以進(jìn)入特定級(jí)別的錯(cuò)誤抑制,以 及如果來(lái)自存儲(chǔ)器陣列的高SER信號(hào)被斷言,則可以進(jìn)入甚至更高 級(jí)或級(jí)別的錯(cuò)誤抑制,這是因?yàn)榇鎯?chǔ)器陣列表示比掃描鏈更大的晶模 面積部分。 在一些實(shí)施例中,高SER信號(hào)的定時(shí)、計(jì)數(shù)器輸出以及其 它的信號(hào)并不重要,因?yàn)槟繕?biāo)可以是檢測(cè)高SER的持續(xù)周期,而不 是短的尖峰。因此,信號(hào)可以是通過(guò)管線的或者延遲的,并且可以從 不同的單元在不同的時(shí)間到達(dá)。另外,高SER信號(hào)中的滯后現(xiàn)象可 能是合意的,并且/或者在激活、增強(qiáng)、解除激活或減小錯(cuò)誤抑制之 前可以執(zhí)行多次重復(fù)的錯(cuò)誤檢測(cè),以避免錯(cuò)誤抑制模式之間的系統(tǒng)顛 圖3示出了根據(jù)本發(fā)明實(shí)施例的系統(tǒng)300。系統(tǒng)300包括處 理器310、系統(tǒng)控制器320、持久存儲(chǔ)器330和系統(tǒng)存儲(chǔ)器340。處 理器310可以是如上所述的任何處理器,包括功能單元311和錯(cuò)誤計(jì) 數(shù)控制單元312。功能單元311包括存儲(chǔ)器陣列、時(shí)序邏輯或者具有 其中檢測(cè)到位電平錯(cuò)誤的狀態(tài)元件的任何其它的結(jié)構(gòu)。錯(cuò)誤計(jì)數(shù)控制 單元312對(duì)功能單元311中的位電平錯(cuò)誤的數(shù)量進(jìn)行計(jì)數(shù)并且指示功 能單元311中的位電平錯(cuò)誤的數(shù)量是否超過(guò)了錯(cuò)誤閾值。在該實(shí)施例 中,如果功能單元311中的位電平錯(cuò)誤的數(shù)量超過(guò)了錯(cuò)誤閾值,則錯(cuò) 誤計(jì)數(shù)控制單元312斷言高SER信號(hào)313。 系統(tǒng)控制器320可以是任何耦合到處理器310以接收高SER 信號(hào)313的芯片組部件或者其它的部件。在該實(shí)施例中,如果高SER
信號(hào)313被斷言,則系統(tǒng)控制器320激活或者增強(qiáng)錯(cuò)誤抑制。例如, 系統(tǒng)控制器320可以包括或者耦合到電壓控制器,所述電壓控制器將 提高系統(tǒng)、處理器或者其它的電壓電平以抑制軟錯(cuò)誤。
系統(tǒng)控制器320還可以包括或者耦合到持久存儲(chǔ)器330,用 于存儲(chǔ)高SER信號(hào)313的狀態(tài),或者用于保留有關(guān)檢測(cè)到的SER的 信息。持久存儲(chǔ)器330可以是任何能夠在系統(tǒng)300或者處理器310處 于關(guān)閉或其它非活動(dòng)狀態(tài)時(shí)保留信息的存儲(chǔ)器。例如,持久存儲(chǔ)器 330可以是閃速存儲(chǔ)器或非易失性存儲(chǔ)器,或電池支援隨機(jī)存取存儲(chǔ) 器。因此,如果系統(tǒng)300由于軟錯(cuò)誤或其它原因崩潰,當(dāng)重新啟動(dòng)時(shí) 系統(tǒng)控制器320可以讀取持久存儲(chǔ)器330,以確定最近檢測(cè)的SER是 否為高,并且如果是這樣的話,則重新啟動(dòng)系統(tǒng)300,同時(shí)激活錯(cuò)誤 抑制。 系統(tǒng)存儲(chǔ)器340可以是任何類(lèi)型的存儲(chǔ)器,例如靜態(tài)或動(dòng)態(tài) 隨機(jī)存取存儲(chǔ)器、磁盤(pán)存儲(chǔ)器或光盤(pán)存儲(chǔ)器。系統(tǒng)存儲(chǔ)器340可以用 來(lái)存儲(chǔ)將由處理器320執(zhí)行的指令以及將在處理器320上操作的數(shù) 據(jù),或者任何形式的任何信息,例如操作系統(tǒng)軟件、應(yīng)用軟件或用戶(hù) 數(shù)據(jù)。 處理器310、系統(tǒng)控制器320、持久存儲(chǔ)器330以及系統(tǒng)存 儲(chǔ)器340可以使用總線或直接或點(diǎn)對(duì)點(diǎn)的連接的任意組合、通過(guò)任何 其他的部件以任何布置互相耦合。系統(tǒng)300還可以包括圖3中未顯示 的任何總線(例如外圍總線)或部件(例如輸入/輸出設(shè)備)。
圖4示出了本發(fā)明的、基于位電平錯(cuò)誤計(jì)數(shù)來(lái)有選擇地激活 錯(cuò)誤抑制的方法的實(shí)施例。在圖4的實(shí)施例中,錯(cuò)誤抑制可以是兩種 模式(高或低)中的一種。高模式可以是開(kāi)啟模式并且低模式可以是 關(guān)閉模式,或者錯(cuò)誤抑制可以在兩個(gè)模式中為開(kāi)啟,但是在高模式中 比在低模式中工作在更高級(jí)別或頻率下。圖4的實(shí)施例中的錯(cuò)誤抑制 可以包括任何已知的方法。例如,高模式可以包括高速緩存清理,以 鎖步方式運(yùn)行兩個(gè)或更多個(gè)處理器內(nèi)核,或者在兩個(gè)工作電壓中的較 高電壓下運(yùn)行設(shè)備或者設(shè)備的一部分。低模式可以包括較低頻率的高 速緩存清理或者不包括高速緩存清理,單獨(dú)運(yùn)行單個(gè)處理器內(nèi)核或者
不以鎖步方式運(yùn)行兩個(gè)或更多個(gè)處理器內(nèi)核,或者在兩個(gè)工作電壓中 的較低電壓下運(yùn)行設(shè)備。在框410中,將重復(fù)限度編程進(jìn)入重復(fù)限度寄存器,用于處 理器或其它設(shè)備中的功能塊。所述功能塊包括存儲(chǔ)器陣列、時(shí)序邏輯 或任何其它的具有狀態(tài)元件的結(jié)構(gòu)。重復(fù)限度可以基于功能塊中的狀 態(tài)元件的數(shù)量,功能塊的尺寸、面積、配置、結(jié)構(gòu)或功能,用于制造 設(shè)備的工藝技術(shù),設(shè)備的預(yù)期用途或使用設(shè)備的環(huán)境,或任何其它的 因素。在框411中,將錯(cuò)誤閾值編程進(jìn)入功能塊的錯(cuò)誤閾值寄存 器。錯(cuò)誤閾值可以基于與重復(fù)限度相同的因素,以及諸如重復(fù)限度本 身和預(yù)期SER之類(lèi)的附加因素。在框420中,當(dāng)功能塊在使用中時(shí),對(duì)事件重復(fù)的數(shù)量進(jìn)行
計(jì)數(shù)。事件可以是在誤碼率計(jì)算中作為分母而計(jì)數(shù)的任何事件。例如,
事件可以是到存儲(chǔ)器陣列的讀取訪問(wèn),或者對(duì)掃描鏈的全掃描??梢?br>
使用任何類(lèi)型的計(jì)數(shù)器來(lái)對(duì)重復(fù)的數(shù)量進(jìn)行計(jì)數(shù)。在框421,當(dāng)功能塊在使用中時(shí),對(duì)狀態(tài)元件中的位電平錯(cuò)
誤的數(shù)量進(jìn)行計(jì)數(shù)??梢允褂萌魏渭褐募夹g(shù)來(lái)檢測(cè)位電平錯(cuò)誤,例
如用于存儲(chǔ)器陣列的奇偶校驗(yàn)或者將已知值注入掃描鏈的輸入端并
且觀察時(shí)序邏輯的輸出端??梢允褂萌魏晤?lèi)型的計(jì)數(shù)器來(lái)對(duì)位電平錯(cuò)
誤的數(shù)量進(jìn)行計(jì)數(shù)。在框430中,判斷在框420中計(jì)數(shù)的重復(fù)數(shù)量是否已經(jīng)達(dá)到 重復(fù)限度。可以根據(jù)任何已知的方法進(jìn)行判斷,例如將其基于重復(fù)計(jì) 數(shù)器輸出的特定位,或者將重復(fù)計(jì)數(shù)器輸出與重復(fù)限度寄存器的內(nèi)容 進(jìn)行比較。當(dāng)重復(fù)數(shù)量達(dá)到重復(fù)限度時(shí),方法繼續(xù)到框431。然后, 方法繼續(xù)框420。在框431,判斷在框421中計(jì)數(shù)的錯(cuò)誤數(shù)量是否超過(guò)了錯(cuò)誤 閾值??梢愿鶕?jù)任何已知的方法進(jìn)行判斷,例如將錯(cuò)誤計(jì)數(shù)器輸出與 錯(cuò)誤閾值寄存器的內(nèi)容進(jìn)行比較。如果計(jì)數(shù)的錯(cuò)誤數(shù)量超過(guò)閾值,則 方法繼續(xù)到框440。如果未超過(guò),則方法繼續(xù)到框441。
在框440和441中,判斷錯(cuò)誤抑制是在高模式還是在低模式。 如果在低模式,則方法從框440繼續(xù)到框450,或從框441繼續(xù)到框 460。如果在高模式,則方法從框440繼續(xù)到框451,或從框441繼 續(xù)到框460。在框4S0,激活錯(cuò)誤抑制或者從低模式增強(qiáng)到高模式。在框 451 ,解除激活錯(cuò)誤抑制或者從高模式減弱到低模式。從框450和451 , 方法繼續(xù)到框460。在框460,重復(fù)和錯(cuò)誤計(jì)數(shù)被重置。從框460, 方法返回到框420。 在本發(fā)明的范圍內(nèi),可以不同的次序執(zhí)行圖4所示的方法, 可以省略所示出的步驟,添加額外的步驟或者利用重新排序、省略或 附加步驟的組合。例如,在一個(gè)實(shí)施例中,可以省略框410以及對(duì)重 復(fù)計(jì)數(shù)的所有引用,其中,基于通過(guò)掃描鏈的單獨(dú)的全位移來(lái)將錯(cuò)誤 計(jì)數(shù)與閾值進(jìn)行比較。作為另一個(gè)例子,在一個(gè)實(shí)施例中,可以省略 判斷錯(cuò)誤抑制是在高模式還是在低模式中,其中,在停留在高模式的 實(shí)現(xiàn)與從低模式進(jìn)入高模式的實(shí)現(xiàn)之間沒(méi)有差別。此外,本發(fā)明可以 體現(xiàn)在其中可以基于來(lái)自多于一個(gè)功能單元的多于一個(gè)的錯(cuò)誤計(jì)數(shù) 來(lái)判斷是否激活錯(cuò)誤抑制的方法中;或者可以體現(xiàn)在包括多于兩個(gè)錯(cuò) 誤抑制模式的方法中。 根據(jù)本發(fā)明的實(shí)施例設(shè)計(jì)的處理器100、處理器200或任何 其它的部件或部件的部分可以在從創(chuàng)建到仿真到制造的各種階段中 進(jìn)行設(shè)計(jì)。表示設(shè)計(jì)的數(shù)據(jù)可以多種方式表示設(shè)計(jì)。首先,由于在仿 真中有用,硬件可以使用硬件描述語(yǔ)言或其它功能描述語(yǔ)言來(lái)表示。 可附加或可替代地,在設(shè)計(jì)過(guò)程的某些階段上,可以產(chǎn)生具有邏輯和 /或晶體管門(mén)的電路級(jí)模型。此外,大多數(shù)設(shè)計(jì),在某一階段,到達(dá) 一級(jí)別,其中可以利用表示各個(gè)設(shè)備的物理布置的數(shù)據(jù)來(lái)對(duì)它們建 模。在使用傳統(tǒng)的半導(dǎo)體制造技術(shù)的情況中,表示器件布置模型的數(shù) 據(jù)可以是為用于產(chǎn)生集成電路的掩模指定不同的掩膜層上各個(gè)特征 是否存在的數(shù)據(jù)。 在所述設(shè)計(jì)的任何表示中,數(shù)據(jù)可以機(jī)器可讀介質(zhì)的任何形 式存儲(chǔ)。調(diào)制的或其它方式生成的用于傳輸這種信息的光波或電波、 存儲(chǔ)器、磁或光存儲(chǔ)介質(zhì)(例如盤(pán)片)可以是機(jī)器可讀介質(zhì)。任何這
些介質(zhì)中都可以"攜帶"或"指示"設(shè)計(jì)、或者在本發(fā)明的實(shí)施例中 使用的其它信息,例如錯(cuò)誤恢復(fù)例程中的指令。當(dāng)指示或者攜帶信息 的電載波被傳送以執(zhí)行電信號(hào)的復(fù)制、緩沖或者重傳輸時(shí),制成新的 副本。因此,通信提供者或者網(wǎng)絡(luò)提供者的動(dòng)作可以是制造對(duì)象(例 如載波)副本的動(dòng)作,從而體現(xiàn)本發(fā)明的技術(shù)。 以上公開(kāi)了基于位電平錯(cuò)誤計(jì)數(shù)來(lái)有選擇性的激活錯(cuò)誤抑 制。盡管已經(jīng)描述了特定實(shí)施例,并且顯示在附圖中,但是應(yīng)該理解 這種實(shí)施例對(duì)于本發(fā)明的范圍僅僅是說(shuō)明性的而非限制性的,本發(fā)明 不限于這里所顯示和描述的具體的結(jié)構(gòu)和布置,因?yàn)楫?dāng)本領(lǐng)域技術(shù)人 員研究本公開(kāi)后,可以對(duì)其進(jìn)行修改。例如,增強(qiáng)錯(cuò)誤抑制可以包括 從關(guān)閉模式到開(kāi)啟模式增強(qiáng)錯(cuò)誤抑制,以及當(dāng)錯(cuò)誤計(jì)數(shù)超過(guò)錯(cuò)誤閾值 時(shí)增強(qiáng)錯(cuò)誤抑制可以包括當(dāng)錯(cuò)誤計(jì)數(shù)等于或者超過(guò)錯(cuò)誤閾值時(shí)增強(qiáng) 錯(cuò)誤抑制。 在該技術(shù)領(lǐng)域,發(fā)展很快并且難以預(yù)見(jiàn)未來(lái)的進(jìn)步,因此可 以在不脫離本公開(kāi)的原理或者所附權(quán)利要求的范圍的情況下,利用這 些技術(shù)進(jìn)步來(lái)便于顯而易見(jiàn)地在布置以及細(xì)節(jié)上對(duì)所公開(kāi)的實(shí)施例 進(jìn)行修改。
權(quán)利要求
1、一種裝置,包括多個(gè)狀態(tài)元件;錯(cuò)誤計(jì)數(shù)器,用于對(duì)所述多個(gè)狀態(tài)元件中的位電平錯(cuò)誤的數(shù)量進(jìn)行計(jì)數(shù);以及激活邏輯,用于在所述位電平錯(cuò)誤的數(shù)量超過(guò)閾值時(shí)增強(qiáng)錯(cuò)誤抑制。
2、 根據(jù)權(quán)利要求1所述的裝置,其中,所述激活邏輯從關(guān)閉模 式轉(zhuǎn)換到開(kāi)啟模式以增強(qiáng)錯(cuò)誤抑制。
3、 根據(jù)權(quán)利要求1所述的裝置,還包括-可編程寄存器,用于存儲(chǔ)所述閾值。
4、 根據(jù)權(quán)利要求1所述的裝置,其中,所述多個(gè)狀態(tài)元件包括 存儲(chǔ)單元陣列。
5、 根據(jù)權(quán)利要求4所述的裝置,還包括訪問(wèn)計(jì)數(shù)器,用于對(duì)到所述存儲(chǔ)單元陣列的訪問(wèn)進(jìn)行計(jì)數(shù)。
6、 根據(jù)權(quán)利要求5所述的裝置,其中,基于到所述存儲(chǔ)單元陣 列的訪問(wèn)次數(shù)來(lái)重置所述錯(cuò)誤計(jì)數(shù)器。
7、 根據(jù)權(quán)利要求6所述的裝置,其中,還基于時(shí)間來(lái)重置所述 錯(cuò)誤計(jì)數(shù)器。
8、 根據(jù)權(quán)利要求4所述的裝置,還包括-錯(cuò)誤檢測(cè)邏輯,用于檢測(cè)所述存儲(chǔ)單元陣列中的位電平錯(cuò)誤。
9、 根據(jù)權(quán)利要求6所述的裝置,其中,所述錯(cuò)誤檢測(cè)邏輯包括奇偶校驗(yàn)邏輯。
10、 根據(jù)權(quán)利要求4所述的裝置,其中,所述激活邏輯增強(qiáng)所述 存儲(chǔ)單元陣列的清理。
11、 根據(jù)權(quán)利要求1所述的裝置,其中,所述多個(gè)狀態(tài)元件包括 多個(gè)掃描單元。
12、 根據(jù)權(quán)利要求11所述的裝置,其中,配置所述多個(gè)掃描單 元以用于軟錯(cuò)誤檢測(cè)。
13、 根據(jù)權(quán)利要求11所述的裝置,其中,將所述多個(gè)掃描單元 布置在掃描鏈中。
14、 根據(jù)權(quán)利要求13所述的裝置,其中,基于通過(guò)所述掃描鏈 的全位移來(lái)重置所述錯(cuò)誤計(jì)數(shù)器。
15、 一種裝置,包括多個(gè)執(zhí)行內(nèi)核,其中,所述多個(gè)執(zhí)行內(nèi)核中的第一個(gè)包括多個(gè)狀 態(tài)元件;錯(cuò)誤計(jì)數(shù)器,用于對(duì)所述多個(gè)狀態(tài)元件中的位電平錯(cuò)誤的數(shù)量進(jìn) 行計(jì)數(shù);以及激活邏輯,用于在所述位電平錯(cuò)誤的數(shù)量超過(guò)閾值時(shí)激活所述多 個(gè)執(zhí)行內(nèi)核中的第一個(gè)和第二個(gè)執(zhí)行內(nèi)核的鎖步。
16、 一種方法,包括對(duì)多個(gè)狀態(tài)元件中的位電平錯(cuò)誤的數(shù)量進(jìn)行計(jì)數(shù);以及 在所述位電平錯(cuò)誤的數(shù)量超過(guò)閾值時(shí)增強(qiáng)錯(cuò)誤抑制。
17、 根據(jù)權(quán)利要求16所述的方法,其中,增強(qiáng)錯(cuò)誤抑制包括從 關(guān)閉模式轉(zhuǎn)換到開(kāi)啟模式以增強(qiáng)錯(cuò)誤抑制。
18、 根據(jù)權(quán)利要求16所述的方法,還包括將所述閾值存儲(chǔ)在可 編程寄存器中。
19、 根據(jù)權(quán)利要求16所述的方法,其中,所述多個(gè)狀態(tài)元件包 括存儲(chǔ)單元陣列,所述方法還包括對(duì)到所述存儲(chǔ)單元陣列的訪問(wèn)次數(shù)進(jìn)行計(jì)數(shù);以及 基于到所述存儲(chǔ)單元陣列的訪問(wèn)次數(shù)來(lái)重置對(duì)所述位電平錯(cuò)誤 的數(shù)量的計(jì)數(shù)。
20、 根據(jù)權(quán)利要求19所述的方法,其中,增強(qiáng)錯(cuò)誤抑制包括增 強(qiáng)所述存儲(chǔ)單元陣列的清理。
21、 根據(jù)權(quán)利要求16所述的方法,其中,所述多個(gè)狀態(tài)元件包 括掃描單元鏈,所述方法還包括在通過(guò)所述掃描單元鏈的全位移之后 重置對(duì)所述位電平錯(cuò)誤的數(shù)量的計(jì)數(shù)。
22、 一種系統(tǒng),包括 處理器,包括多個(gè)狀態(tài)元件;錯(cuò)誤計(jì)數(shù)器,用于對(duì)所述多個(gè)狀態(tài)元件中的位電平錯(cuò)誤的數(shù) 量進(jìn)行計(jì)數(shù);以及控制邏輯,用于指示所述位電平錯(cuò)誤的數(shù)量是否超過(guò)閾值;以及系統(tǒng)控制器,用于在所述控制邏輯指示所述位電平錯(cuò)誤的數(shù)量超 過(guò)所述閾值時(shí)增強(qiáng)錯(cuò)誤抑制。
23、 根據(jù)權(quán)利要求22所述的系統(tǒng),其中,所述激活邏輯從關(guān)閉模式轉(zhuǎn)換到開(kāi)啟模式以增強(qiáng)錯(cuò)誤抑制。
24、根據(jù)權(quán)利要求22所述的系統(tǒng),還包括持久存儲(chǔ)器,用于存 儲(chǔ)所述位電平錯(cuò)誤的數(shù)量是否超過(guò)所述閾值的指示。
25、 一種系統(tǒng),包括 動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器; 處理器,包括.-多個(gè)狀態(tài)元件;錯(cuò)誤計(jì)數(shù)器,用于對(duì)所述多個(gè)狀態(tài)元件中的位電平錯(cuò)誤的數(shù) 量進(jìn)行計(jì)數(shù);以及控制邏輯,用于指示所述位電平錯(cuò)誤的數(shù)量是否超過(guò)閾值;以及激活邏輯,用于在所述控制邏輯指示所述位電平錯(cuò)誤的數(shù)量超過(guò) 所述閾值時(shí)增強(qiáng)錯(cuò)誤抑制。
全文摘要
本文公開(kāi)了基于位電平錯(cuò)誤計(jì)數(shù)來(lái)選擇性地激活錯(cuò)誤抑制的裝置和方法的實(shí)施例。在一個(gè)實(shí)施例中,一種裝置包括多個(gè)狀態(tài)元件、錯(cuò)誤計(jì)數(shù)器以及激活邏輯。所述錯(cuò)誤計(jì)數(shù)器用于對(duì)狀態(tài)元件中的位電平錯(cuò)誤的數(shù)量進(jìn)行計(jì)數(shù)。所述激活邏輯在所述位電平錯(cuò)誤的數(shù)量超過(guò)閾值時(shí)增強(qiáng)錯(cuò)誤抑制。
文檔編號(hào)G06F11/10GK101198935SQ200680020953
公開(kāi)日2008年6月11日 申請(qǐng)日期2006年6月13日 優(yōu)先權(quán)日2005年6月13日
發(fā)明者A·比斯瓦斯, S·慕克吉, S·拉世基 申請(qǐng)人:英特爾公司