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