無
背景技術(shù):
靜態(tài)隨機存取存儲器(SRAM)利用晶體管來在存儲器陣列中保持數(shù)據(jù)位。為了保持數(shù)據(jù)位,向SRAM施加電壓。傳統(tǒng)上,精確保持數(shù)據(jù)位并補償SRAM漏泄所需的最小電壓量被稱作數(shù)據(jù)保持電壓(DRV)。在低功率器件中,給定SRAM漏泄所需的DRV可能會明顯增加該器件的總功耗。
技術(shù)實現(xiàn)要素:
根據(jù)本發(fā)明的實施例,公開了一種集成電路(IC)器件。在該實施例中,IC器件包括SRAM模塊、耦合至該SRAM模塊的包裝器邏輯、情境源以及耦合至該情境源并耦合至該包裝器邏輯的ECC配置文件控制器,該ECC配置文件控制器被配置成響應于從該情境源接收到的情境信息來選擇ECC配置文件以供該包裝器邏輯使用。
在另一實施例中,該情境源被配置成檢測過程溫度狀況,并且該ECC配置文件控制器被配置成響應于所檢測到的過程溫度狀況來選擇ECC配置文件。
在另一實施例中,該情境源被配置成檢測數(shù)據(jù)保持時間,并且該ECC配置文件控制器被配置成響應于所檢測到的數(shù)據(jù)保持時間來選擇ECC配置文件。
在另一實施例中,該情境源被配置成確定延遲和處理量要求,并且該ECC配置文件控制器被配置成響應于所確定的延遲和處理量要求來選擇ECC配置文件。
在另一實施例中,情境源被配置成基于在IC器件上運行的應用程序的誤差靈敏度水平來確定誤差靈敏度水平,并且ECC配置文件控制器被配置成響應于所確定的誤差靈敏度水平來選擇ECC配置文件。
在另一實施例中,情境源的輸出由用戶手動配置。
在另一實施例中,ECC解碼器被另外耦合至在SRAM模塊中的誤差圖,并且ECC解碼器可以向該誤差圖回寫解碼信息。
在另一實施例中,SRAM模塊被耦合至包裝器邏輯,使得該SRAM模塊可以使該包裝器邏輯從數(shù)據(jù)流選擇性旁路。
在另一實施例中,包裝器邏輯被耦合至SRAM模塊,使得該SRAM模塊可以獨立于該包裝器邏輯操作。
在另一實施例中,公開了一種用于向IC器件中的SRAM存儲器應用誤差校正的方法。在該實施例中,該方法包括獲得情境信息、基于該情境信息選擇ECC配置文件、根據(jù)所選擇的ECC配置文件調(diào)度ECC編碼并根據(jù)所選擇的ECC配置文件調(diào)度ECC解碼。
在另一實施例中,情境信息包括過程溫度,并且ECC配置文件基于該過程溫度來選擇。
在另一實施例中,情境信息包括在SRAM模塊內(nèi)的數(shù)據(jù)保持時間,并且ECC配置文件基于在該SRAM模塊內(nèi)的數(shù)據(jù)保持時間來選擇。
在另一實施例中,情境信息包括應用程序的延遲和處理量要求,并且ECC配置文件基于該應用程序的延遲和處理量要求來選擇。
在另一實施例中,其中,情境信息包括多個允許的奇偶校驗位和待用的ECC算法,并且ECC配置文件基于所允許的奇偶校驗位的數(shù)量和待用的ECC算法來選擇。
在另一實施例中,情境信息包括關(guān)于該應用程序的誤差靈敏度的信息,并且ECC配置文件基于該應用程序的誤差靈敏度來選擇。
在另一實施例中,情境信息從在IC器件內(nèi)的情境源接收。
在另一實施例中,公開了一種IC器件。在該實施例中,該IC器件包括:SRAM模塊,所述SRAM模塊包括至少一個晶體管;耦合至所述SRAM模塊的包裝器邏輯,所述包裝器邏輯包括:耦合至所述SRAM模塊的誤差校正碼(ECC)編碼器,其中,所述ECC編碼器被配置成:根據(jù)給定所選擇的誤差校正模式的ECC類型來編碼輸入數(shù)據(jù);以及向所述SRAM模塊輸出所述所編碼的輸入數(shù)據(jù);耦合至所述SRAM模塊的ECC解碼器,其中,所述ECC解碼器被配置成:解碼從所述SRAM模塊接收的輸出數(shù)據(jù);輸出所述所解碼的輸出數(shù)據(jù);并且向所述SRAM模塊回寫解碼信息;耦合至所述ECC解碼器的誤差控制器,所述誤差控制器被配置成根據(jù)給定所選擇的誤差校正模式的所述ECC類型來控制所述ECC解碼器;以及耦合至所述誤差控制器和所述ECC編碼器的中央控制器,其中,所述中央控制器被配置成控制在所述包裝器和所述SRAM模塊的元件之間的操作;被配置成輸出情境信息的情境源;以及耦合在所述包裝器邏輯和所述情境源之間的ECC配置文件控制器,所述ECC配置文件控制器被配置成基于來自所述情境源的所述情境信息選擇ECC配置文件以由所述ECC編碼器和解碼器使用。
在另一實施例中,情境源被配置成檢測過程溫度狀況、數(shù)據(jù)保持時間、延遲和處理量要求以及在IC器件上運行的應用程序的誤差靈敏度水平中的至少一項。
在另一實施例中,ECC解碼器另外耦合至在SRAM模塊中的誤差圖,并且ECC解碼器可以向該誤差圖回寫解碼信息。
在另一實施例中,ECC編碼器另外耦合至在SRAM模塊中的奇偶校驗單元,其中,該ECC編碼器可以存儲與輸入數(shù)據(jù)的存儲器字對應的誤差校正碼。
通過以下結(jié)合附圖的詳細描述,本發(fā)明的實施例的其它方面和優(yōu)點將變得顯而易見。
附圖說明
圖1示出了SRAM模塊的配置。
圖2繪出了在SRAM模塊中的單元的電路圖。
圖3繪出了根據(jù)本發(fā)明的實施例的IC器件,該IC器件包括處理器、接口、SRAM模塊和包裝器邏輯。
圖4為在DRV范圍內(nèi)測量的存儲數(shù)據(jù)的誤碼率(BER)的曲線圖。
圖5A繪出了IC器件的實施例,該IC器件包括SRAM模塊、包裝器邏輯、ECC配置文件控制器和情境源。
圖5B示出了在操作中的圖5A的SRAM模塊和包裝器邏輯。
圖6繪出了ECC配置文件控制器的實施例。
圖7示出了在ECC配置文件基于情境信息被調(diào)適時性能變化的例子。
圖8為根據(jù)本發(fā)明的實施例的用于向IC器件中的SRAM存儲器應用誤差校正的方法的過程流程圖。
在整個說明書中,可以使用類似的附圖標記來表示類似的要素。
具體實施方式
應容易理解,如本文中大體描述且在附圖中示出的實施例的部件可以用各種各樣不同的配置來布置和設(shè)計。因此,如圖中所表示的各種實施例的以下更詳細描述并非意圖限制本公開的范圍,而僅僅是表示各種實施例。雖然在附圖中呈現(xiàn)了實施例的各個方面,但是除非特別說明,否則附圖未必按比例繪制。
在不脫離本發(fā)明精神或基本特性的情況下,可以其它特定形式實施本發(fā)明。所描述的實施例應視為在所有方面均僅為說明性而非限制性的。因此,本發(fā)明的范圍由所附權(quán)利要求書而不是由此具體實施方式來指示。在權(quán)利要求書的等效性的含義和范圍內(nèi)的所有變化均涵蓋在權(quán)利要求書的范圍內(nèi)。
貫穿本說明書對特征、優(yōu)點或類似語言的引用并不暗示可通過本發(fā)明實現(xiàn)的所有特征和優(yōu)點應在或在本發(fā)明的任何單一實施例中。相反,涉及特征和優(yōu)點的語言應理解成意指結(jié)合實施例描述的特定特征、優(yōu)點或特性包括在本發(fā)明的至少一個實施例中。因此,貫穿本說明書對特征和優(yōu)點的論述以及類似語言可(但未必)涉及同一實施例。
此外,本發(fā)明的所描述的特征、優(yōu)點和特性可以用任何合適方式在一或多個實施例中組合。相關(guān)領(lǐng)域的技術(shù)人員應認識到,鑒于本文中的描述,本發(fā)明可在無特定實施例的特定特征或優(yōu)點中的一或多個特征或優(yōu)點的情況下實施。在其它情況下,可在某些實施例中辨識可能不是存在于本發(fā)明的所有實施例中的額外特征和優(yōu)點。
貫穿本說明書對“一個實施例”、“一實施例”或類似語言的引用意味著結(jié)合所指示實施例描述的特定特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一個實施例中。因此,貫穿本說明書的短語“在一個實施例中”、“在實施例中”和類似語言可以(但未必)全部指的是同一個實施例。
圖1示出了SRAM模塊100的配置。該SRAM模塊包括控制電路102、電荷源104(“預充電/EQ”)、存儲器陣列106、行解碼器108、列多路復用器110和感測放大器112。該控制電路被配置成確定數(shù)據(jù)是否正被寫入至該存儲器陣列或從該存儲器陣列讀出。在實施例中,該存儲器陣列為六晶體管SRAM單元的陣列。為了從該存儲器陣列中的單元讀出或?qū)懭胫猎搯卧?,該電荷源對每個單元內(nèi)的一或多個位線預充電。該行解碼器用于選擇待寫入的單元并且結(jié)合該列多路復用器從選擇單元讀出存儲數(shù)據(jù)。不同于DRAM,只要保持可供存儲器陣列使用的充足電力,存儲在SRAM模塊的每個單元中的數(shù)據(jù)可以被維持而無需有規(guī)律地刷新該數(shù)據(jù)。在實施例中,足以在SRAM中維持數(shù)據(jù)的最小電力被稱作數(shù)據(jù)保持電壓(DRV)。
圖2繪出在SRAM模塊中的單元200的電路圖。在該單元內(nèi)的存儲電荷的操作中,晶體管M1-M6可以被斷開或閉合。只要提供給SRAM模塊的電源電壓保持在DRV之上,存儲在SRAM模塊的單元內(nèi)的電荷就可以可靠地維持。如果電源電壓下降到低于DRV,則SRAM模塊內(nèi)的電荷可改變并且存儲在該SRAM模塊的單元內(nèi)的電荷可能變?yōu)椴豢煽康摹R虼?,SRAM模塊在數(shù)據(jù)保持模式期間的電力需求很大程度上由DRV確定。在實施例中,DRV受漏泄(從晶體管內(nèi)的充電電容器損失能量)影響,如由虛線箭頭202所指示,該漏泄可能形成大的電力需求,并因此需要高的DRV。低于DRV的電壓可以被施加至SRAM存儲器,但是這樣做增大了存儲電荷(以及由存儲電荷表示的數(shù)據(jù))變?yōu)椴豢煽康目赡苄浴?/p>
為了利用低于DRV的電源電壓,可以對從SRAM模塊讀出的數(shù)據(jù)應用誤差校正。然而,“現(xiàn)成的”SRAM模塊設(shè)計(通常被稱為“存儲器IP”)往往購自第三方并且按原樣合并到IC器件中。這些“現(xiàn)成的”SRAM模塊設(shè)計并不按慣例包括誤差校正功能并且不易于改動以支持此額外功能。圖3繪出了根據(jù)本發(fā)明的實施例的IC器件310,該IC器件310包括處理器302、接口304、SRAM模塊300和包裝器邏輯308。在實施例中,該IC器件為具有ARM處理器和串行接口的微控制器,該串行接口可為例如I2C接口,雖然包括無線接口的其它接口也是可能的。在實施例中,該接口具有三個主輸入端(例如,地址、數(shù)據(jù)輸入和模式)并被耦合至處理器,并且該處理器被耦合至SRAM模塊和耦合至包裝器邏輯。在實施例中,SRAM模塊可以被配置成包括該SRAM模塊內(nèi)的包裝器邏輯的功能。在實施例中,在數(shù)據(jù)有待于被存儲在SRAM模塊中時,地址、模式信號(例如,動態(tài)模式或待用模式或應使用的ECC類型)以及數(shù)據(jù)(例如,為單值或為個別值)由該接口接收、被傳送給處理器且接著被傳送給包裝器邏輯和/或SRAM模塊。在實施例中,多個SRAM模塊可以與單一包裝器邏輯相關(guān)聯(lián)。響應于該模式信號,該系統(tǒng)以適當方式配置包裝器邏輯和/或SRAM模塊并執(zhí)行數(shù)據(jù)編碼,并向該SRAM模塊傳送該數(shù)據(jù)以在該地址存儲,根據(jù)由模式信號所指示的模式,該數(shù)據(jù)可被編碼或未編碼。在數(shù)據(jù)需要被訪問時,SRAM模塊將該數(shù)據(jù)從該SRAM模塊傳送至包裝器邏輯并且該包裝器邏輯解碼該數(shù)據(jù)(如果需要)、執(zhí)行誤差校正(如果可能)并且向接口輸出該數(shù)據(jù)以供在該IC器件的外部進一步使用(例如,由使用SRAM模塊進行數(shù)據(jù)存儲的應用程序使用)。在另一實施例中,地址、模式信號和數(shù)據(jù)可以來源于IC器件內(nèi)并且向處理器傳送,而非首先由該接口接收,并且該數(shù)據(jù)可以被輸出至該IC器件內(nèi)的另一部件而非輸出至該接口。因此,通過使用包裝器邏輯,誤差校正可以被應用至“現(xiàn)成的”存儲器IP的SRAM模塊中的數(shù)據(jù)。在實施例中,包裝器邏輯和SRAM模塊彼此獨立操作。因此,包裝器邏輯可以被從數(shù)據(jù)流旁路(例如,通過斷開或閉合開關(guān)以經(jīng)由替代電路系統(tǒng)繞著該包裝器邏輯路由信號)并且SRAM模塊可以被寫入或讀出而無需利用該包裝器邏輯。例如,數(shù)據(jù)可以被存儲在SRAM模塊中并且從該SRAM模塊訪問而無需向包裝器邏輯供電。
向從SRAM模塊讀出的數(shù)據(jù)應用誤差校正允許使用較低的DRV,而仍然保持數(shù)據(jù)完整性。圖4為在DRV范圍內(nèi)測量的存儲數(shù)據(jù)的誤碼率(BER)的曲線圖400。該曲線圖指示在未使用誤差校正時的曲線402、在使用誤差校正時的曲線404以及閾值BER 306,數(shù)據(jù)必須保持在該閾值BER 306下以便為可靠的。如該曲線圖所指示,在未使用誤差校正時,DRV必須保持比使用誤差校正時更高以將BER保持在閾值之上。因此,通過利用誤差校正,可以降低DRV并且將需要向SRAM模塊施加較小的電壓以在SRAM單元中維持可靠電荷。
然而,使用誤差校正碼通常對讀/寫請求的性能產(chǎn)生不利影響,并且代碼越復雜(并因此校正誤差越有效),影響就越大。例如,各種誤差校正碼在延遲(例如,讀/寫請求所需的時間)和代碼的復雜程度之間具有如下面的表1所建議的折衷:
*+符號指示從低(+)到高(++++)的量值程度
表1
根據(jù)表1,誤差校正碼越復雜(并因此校正誤差越有效),該誤差校正碼對性能(例如,讀/寫請求)的影響就越大。具體地說,表1包括誤差校正性能列、代碼塊大小列、編碼器/解碼器復雜度列和編碼器/解碼器延遲列。誤差校正性能列指示ECC類型校正代碼中的誤差的能力(例如,更好的性能允許更多的誤差被校正),代碼塊大小列指示執(zhí)行ECC類型所需的代碼塊的大小,編碼器/解碼器復雜度列指示ECC類型的復雜度(例如,通過ECC類型執(zhí)行的操控的復雜度),并且該編碼器/解碼器延遲列指示由ECC類型所引起的延遲(例如,由于使用ECC類型,在處理量中引入多少延遲)。
另外,誤差校正的模式可以另外影響性能。例如,在下面的表2中鑒別出的模式可以對性能(例如,處理量或延遲)有不同程度的影響。
*+符號指示無(0)處理量/延遲到良好的(++++)處理量/延遲程度
表2
ECC類型可以與誤差校正模式以及其它配置配對以形成ECC配置文件。例如,給定上述的表1和表2,第一ECC配置文件可使?jié)h明式ECC與模式2a配對,或第二ECC配置文件可被配置成不結(jié)合模式1使用任何ECC類型。在結(jié)合SRAM模塊利用ECC的常規(guī)IC器件中,ECC配置文件被固定并用于存儲在SRAM模塊中的所有數(shù)據(jù)。然而,所有數(shù)據(jù)對誤差靈敏度和處理量的需求并不是相同的。
根據(jù)本發(fā)明的實施例,公開了一種集成電路(IC)器件。在該實施例中,IC器件包括SRAM模塊、耦合至該SRAM模塊的包裝器邏輯、情境源與耦合至該情境源和該包裝器邏輯的ECC配置文件控制器。ECC配置文件控制器被配置成響應于從情境源接收的情境信息選擇ECC配置文件以供包裝器邏輯使用。在實施例中,情境源向ECC配置文件控制器輸出情境信息(例如,傳感器讀數(shù)或用戶定義策略),并且ECC配置文件控制器基于該情境信息選擇待使用的ECC配置文件(例如,使用渦輪碼式ECC的模式3b)。在實施例中,該情境信息包括例如應用程序正生成讀/寫請求或可以使用多少奇偶校驗位等的信息,并且該情境信息被用于在操作IC器件期間(例如,在數(shù)據(jù)被讀出/寫入時)實時調(diào)適該ECC配置文件。通常,不使用較新或較復雜的ECC代碼(例如,渦輪碼或LDPC碼),因為較新或較復雜的ECC代碼對處理量產(chǎn)生不利影響。然而,因為ECC配置文件可以基于情境信息實時調(diào)適,所以較新或較復雜的ECC可以在最適合該情形時使用,但不需要用于所有讀/寫請求。因此,在選擇情況中使用較新或較復雜的ECC時,可以保持較高的平均處理量。
圖5A繪出了IC器件510的實施例,該IC器件510包括SRAM模塊500、包裝器邏輯508、ECC配置文件控制器528和情境源526。在實施例中,該IC器件另外包括接口和處理器(未示出),并且該ECC配置文件控制器和情境源可以至少部分通過該處理器實施。在圖5A的實施例中,包裝器邏輯包括ECC編碼器512、ECC解碼器514、誤差控制器516和中央控制器518。在實施例中,ECC編碼器、ECC解碼器、誤差控制器和中央控制器通過IC器件的執(zhí)行單元內(nèi)的基于簡單標準邏輯的設(shè)計塊(例如,算術(shù)邏輯單元(ALU)或可編程處理器)來實施。在實施例中,SRAM模塊包括存儲器陣列506,并且可選地可以另外包括奇偶校驗單元520、內(nèi)置式自測試(BIST)模塊522和誤差圖524。在實施例中,ECC編碼器被耦合至SRAM模塊(例如,存儲器陣列),SRAM模塊被另外連接至ECC解碼器,并且ECC解碼器被另外耦合至誤差控制器。中央控制器被耦合至ECC編碼器、誤差控制器和SRAM模塊并且控制該ECC編碼器、該誤差控制器和該SRAM模塊。情境源被連接至ECC配置文件控制器,并且ECC配置文件控制器被另外連接至中央控制器。在實施例中,ECC配置文件控制器包括如圖6所示的部件。
圖6繪出了ECC配置文件控制器的實施例。ECC配置文件控制器包括情境信息解譯器602、ECC配置文件選擇邏輯604和ECC配置文件數(shù)據(jù)庫606。在實施例中,情境信息解譯器被配置成從情境源接收情境信息并使用ECC配置文件選擇邏輯來處理該信息,以從ECC配置文件數(shù)據(jù)庫選擇對應于經(jīng)過處理的情境信息的ECC配置文件。在實施例中,ECC配置文件數(shù)據(jù)庫包括輸出至中央控制器以用于實施的編碼調(diào)度和其它配置設(shè)置(例如,ECC類型和校正模式)。
圖5B示出了在操作中的圖5A的SRAM模塊500和包裝器邏輯508。在實施例中,情境源526輸出與例如利用SRAM模塊的應用程序的操作或IC器件510的狀態(tài)(例如,溫度)有關(guān)的情境信息。在實施例中,情境源可為被配置成輸出供ECC配置文件控制器使用的情境信息的硬件和/或軟件部件。情境信息可包括例如過程溫度狀況、數(shù)據(jù)保持時間、延遲和處理量要求、應用程序的誤差靈敏度、SRAM模塊中用于奇偶校驗位的空間的可用性和SRAM模塊的質(zhì)量(例如,該SRAM模塊能夠在多大程度上存儲數(shù)據(jù)且無訛誤)等信息。在實施例中,情境信息可以通過定位在情境源內(nèi)或外部的傳感器或通過由用戶手動定義的系統(tǒng)策略來確定。例如,如果情境源配備有指示與該情境源相關(guān)聯(lián)的系統(tǒng)可以以更快速度操作的溫度傳感器、過程傳感器和電壓源傳感器,則ECC可以被選擇以利用該更快速度。另選地,如果情境源指示應利用更慢的速度,則ECC可被簡化或旁路。在實施例中,傳感器可以經(jīng)由環(huán)形振蕩器來實施。在另一實施例中,用戶策略可以通過手動用戶配置或通過自適應學習來實施(例如,音頻處理需要更快運行,因此系統(tǒng)學習對于音頻處理使ECC旁路)。情境源向ECC配置文件控制器傳送情境信息,響應于所接收到的情境信息,ECC配置文件控制器確定ECC配置文件(例如,要使用的ECC類型、ECC編碼調(diào)度、ECC解碼調(diào)度和執(zhí)行ECC迭代的次數(shù))并向中央控制器518傳送該確定以用于實施(例如,ECC編碼器和ECC解碼器的調(diào)度)。在實施例中,ECC解碼器和/或ECC編碼器的調(diào)度(如通過中央控制器確定)另外涉及誤差控制器,該誤差控制器被配置成提供關(guān)于ECC過程的另外信息至中央控制器。例如,誤差控制器可以被配置成在執(zhí)行ECC時傳送哪些位需要校正。如果特定位需要定期校正,則該位可被標記為有缺陷的以防止將來使用該位。
通過使用被配置成用于情境感知的ECC調(diào)適的SRAM模塊和包裝器邏輯,可以減小誤差校正(以及使用ECC編碼和解碼數(shù)據(jù))對處理量的影響。圖7示出了根據(jù)基于情境信息所選擇的ECC配置文件調(diào)度ECC編碼和調(diào)度ECC解碼的例子。在該例子中,該系統(tǒng)通過在若干ECC配置文件之間轉(zhuǎn)換并按需要調(diào)度ECC編碼和ECC解碼以實施該轉(zhuǎn)換來調(diào)適。圖7標記有上面在表2中描述的誤差校正模式和如在下面的表3中描述的轉(zhuǎn)換類型:
表3
在圖7中,系統(tǒng)通過對應于模式3a 702以及用于編碼和解碼存儲器數(shù)據(jù)的簡單ECC類型(例如,漢明碼或蕭氏碼)的第一ECC配置文件開始。根據(jù)第一ECC配置文件,ECC編碼器被調(diào)度以編碼被寫入SRAM模塊的數(shù)據(jù),并且ECC解碼器被調(diào)度以解碼從SRAM模塊讀出的數(shù)據(jù)。因為使用了簡單的ECC類型,所以降低了處理量,但是不如使用更復雜的ECC類型那么明顯。然后,例如,情境源輸出SRAM模塊將由音頻應用程序使用以存儲音頻數(shù)據(jù)的情境信息。該音頻應用程序相比于低電源電壓(需要使用ECC)更偏好高處理量,因此,ECC配置文件控制器選擇對應于模式1 706的第二ECC配置文件,在該模式中,不具有ECC并且中央控制器引發(fā)轉(zhuǎn)換“Φ”704,致使系統(tǒng)轉(zhuǎn)換至第二ECC配置文件,在該第二ECC配置文件中,包裝器邏輯被旁路。在ECC編碼被暫時中止時,根據(jù)第二ECC配置文件,可以實現(xiàn)高處理量。在實施例中,轉(zhuǎn)換“Φ”為快速轉(zhuǎn)換,在該轉(zhuǎn)換中,ECC編碼和ECC解碼的調(diào)度禁用ECC編碼和ECC解碼,并因此,該轉(zhuǎn)換只簡單禁用ECC編碼器和ECC解碼器(例如,使該包裝器旁路)。接下來,情境源輸出SRAM模塊將用于存儲控制信號數(shù)據(jù)并將進入待用模式的情境信息。在待用模式中,數(shù)據(jù)流被暫停(因此處理量為無關(guān)的)并且使用低電源電壓,這使得更可能出現(xiàn)誤碼。因此,在進入待用模式之前,數(shù)據(jù)應被ECC編碼并且降低電源電壓。響應于情境信息,ECC配置文件控制器選擇對應于模式4b710的第三ECC配置文件(帶有低電源電壓的模式,在該模式中,ECC編碼器和ECC解碼器被禁用)并且中央控制器引發(fā)轉(zhuǎn)換“σ”708,從而致使系統(tǒng)轉(zhuǎn)換至第三ECC配置文件。在實施例中,轉(zhuǎn)換“σ”為慢速轉(zhuǎn)換,因為ECC編碼應被調(diào)度以應用于存儲在SRAM模塊中的數(shù)據(jù),但是能夠使用低電源電壓的折衷值得該慢速轉(zhuǎn)換。在模式4b中,低電源電壓被應用以在SRAM模塊中保持數(shù)據(jù),但是不執(zhí)行ECC編碼或解碼。在實施例中,在情境源輸出指示良好的過程狀況(例如,低輻射水平或恒定溫度)的情境信息的情況下或在帶有低誤差靈敏度的數(shù)據(jù)被存儲在SRAM模塊中時,利用模式4b。接下來,該情境源輸出情境信息,該情境信息指示SRAM模塊將由音頻應用程序使用以存儲音頻數(shù)據(jù),并因此,ECC配置文件控制器再次選擇對應于不具有ECC的模式1并引發(fā)轉(zhuǎn)換“Ω”712的第二ECC配置文件,從而致使系統(tǒng)轉(zhuǎn)換至該第二ECC配置文件。在實施例中,轉(zhuǎn)換“Ω”也為慢速轉(zhuǎn)換,因為ECC解碼必須被調(diào)度以對存儲在SRAM模塊中的數(shù)據(jù)執(zhí)行,以校正在SRAM模塊處于待用模式時可能出現(xiàn)的誤差。接下來,情境源輸出指示帶有低誤差靈敏度的應用程序?qū)⑹褂肧RAM模塊來存儲數(shù)據(jù)的信息。在實施例中,非常低電源電壓可以與具有低誤差靈敏度的應用程序一起使用,因為如果數(shù)據(jù)中出現(xiàn)誤差,則該出現(xiàn)對該應用程序的操作的影響將極小。因此,ECC配置文件控制器選擇對應于模式4a 716的第四ECC配置文件,在該模式中,使用低電源電壓并且包裝器邏輯被旁路,并且中央控制器引發(fā)轉(zhuǎn)換“η”714,從而致使系統(tǒng)轉(zhuǎn)換至第四ECC配置文件。在實施例中,轉(zhuǎn)換“η”為慢速轉(zhuǎn)換(由于必須類似于轉(zhuǎn)換“σ”被調(diào)度的ECC編碼)。在模式4a中,非常低的電源電壓(例如,比在模式4b中施加的電源電壓更低的電源電壓)被施加以在SRAM模塊中保持數(shù)據(jù)。最后,情境源輸出信息,該信息指示應用程序?qū)⒁褂肧RAM模塊來存儲音頻數(shù)據(jù),并且ECC配置文件控制器再次選擇第二ECC配置文件并且中央控制器引發(fā)轉(zhuǎn)換“α”718,從而致使系統(tǒng)返回到對應于不具有ECC的模式1的第二ECC配置文件。在實施例中,轉(zhuǎn)換“α”為類似于轉(zhuǎn)換“Ω”的慢速轉(zhuǎn)換,因為ECC解碼必須被調(diào)度以校正在SRAM模塊處于模式4a時可能出現(xiàn)的誤差。
圖8為根據(jù)本發(fā)明的實施例的用于向IC器件中的SRAM存儲器應用誤差校正的方法的過程流程圖。在框802,獲得情境信息。在實施例中,獲得情境信息包括處理信息并且從情境源向ECC配置文件控制器輸出結(jié)果,該信息關(guān)于例如利用SRAM模塊的應用程序的操作(例如,該應用程序為利用SRAM模塊來存儲音頻數(shù)據(jù)的音頻應用程序)或IC器件的狀態(tài)(例如,該IC器件的溫度)。在實施例中,情境信息可以被情境源經(jīng)由例如溫度傳感器或輻射傳感器檢測,或該情境信息可以由用戶提供(例如,數(shù)據(jù)必須被保持在SRAM模塊中的用戶所確定的時間,或處理量要求)。在框804,選擇ECC配置文件。在實施例中,ECC配置文件由ECC配置文件控制器基于從情境源向該ECC配置文件控制器傳送的情境信息來選擇。例如,如果情境信息指示音頻應用程序?qū)⑹褂肧RAM模塊,則可選擇帶有高處理量的配置文件。在框806,ECC編碼被調(diào)度。在實施例中,ECC配置文件控制器基于接收到的情境信息來確定ECC編碼的調(diào)度并且中央控制器實施該調(diào)度。例如,如果該應用程序為利用SRAM模塊來存儲音頻數(shù)據(jù)的音頻應用程序,則該ECC配置文件控制器將調(diào)度ECC編碼器不執(zhí)行ECC編碼(例如,禁用ECC編碼),以便保持該音頻應用程序所需的高處理量,因此,該中央控制器將禁用包裝器邏輯并允許數(shù)據(jù)通過該包裝器邏輯(例如,無需執(zhí)行操控或以其他方式改動數(shù)據(jù))。在框808,ECC解碼被調(diào)度。在實施例中,ECC配置文件控制器基于接收到的情境信息來確定ECC解碼的調(diào)度并且中央控制器實施該調(diào)度。例如,如果由ECC配置文件控制器選擇的ECC配置文件確定應執(zhí)行ECC解碼,則在從SRAM模塊讀出數(shù)據(jù)時,中央控制器將實施ECC解碼。
盡管以特定次序示出和描述了本文中的一或多種方法的操作,但是可以更改每種方法的操作次序,使得可以逆序執(zhí)行某些操作,或使得可以至少部分地與其它操作同時執(zhí)行某些操作。在另一實施例中,可以間斷的和/或交替的方式實施不同操作的指令或子操作。
還應指出的是,可以使用存儲在計算機可用存儲媒體上以用于由計算機執(zhí)行的軟件指令實施該方法的操作中的至少一些操作。舉例來說,計算機程序產(chǎn)品的實施例包括存儲計算機可讀程序的計算機可用存儲媒體,當在計算機上執(zhí)行該計算機可讀程序時,致使計算機執(zhí)行如本文所描述的操作。
此外,本發(fā)明的至少部分的實施例可以采用可從計算機可用或計算機可讀媒體存取的計算機程序產(chǎn)品的形式,該計算機可用或計算機可讀媒體提供程序代碼以供計算機或任何指令執(zhí)行系統(tǒng)使用或結(jié)合計算機或任何指令執(zhí)行系統(tǒng)使用。出于此描述的目的,計算機可用或計算機可讀媒體可以為可以含有、存儲、傳達、傳播或傳送供指令執(zhí)行系統(tǒng)、裝置或器件使用或結(jié)合指令執(zhí)行系統(tǒng)、裝置或器件使用的程序的任何裝置。
計算機可用或計算機可讀媒體可以為電子、磁性、光學、電磁、紅外或半導體系統(tǒng)(或裝置或器件)或傳播媒體。計算機可讀媒體的例子包括半導體或固態(tài)存儲器、磁帶、可移除計算機磁盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、硬磁盤和光盤。目前的光盤例子包括帶有只讀存儲器的壓縮光盤(CD-ROM)、帶有讀/寫的壓縮光盤(CD-R/W)、數(shù)字視頻光盤(DVD)和藍光光盤。
在以上描述中,提供各種實施例的具體細節(jié)。然而,可以在并沒有這些具體細節(jié)的全部細節(jié)的情況下實施一些實施例。在其它情況下,為了簡潔和清晰起見,除了本發(fā)明的各種實施例之外不再詳細描述某些方法、過程、部件、結(jié)構(gòu)和/或功能。
盡管已經(jīng)描述和示出了本發(fā)明的具體實施例,但是本發(fā)明不限于如此描述和示出的部分的特定形式或布置。本發(fā)明的范圍將由在此所附的權(quán)利要求書及其等效物限定。