本實用新型涉及存儲器領域,具體而言,涉及一種從存儲器中讀取配置信息的控制系統(tǒng)及芯片。
背景技術:
在本領域,隨著集成電路設計技術和半導體制造工藝的進步,越來越多的電路可以集成在一塊芯片上,大幅降低了系統(tǒng)的成本,并提高了系統(tǒng)的可靠性。在芯片設計中,系統(tǒng)配置信息用于區(qū)分產品方向、特性等以適用于不同的應用場景,這些系統(tǒng)配置信息通常存儲在非易失存儲器(NVM,Non-Volatile Memory)中。由于其中有一些配置信息用于作為芯片特殊功能開啟或者關閉的條件,如果這些特殊功能是受保護的,則容易被黑客關注,那么這些配置信息可以稱之為敏感配置信息。系統(tǒng)配置信息可以在上電啟動的過程中有硬件自動從NVM中讀取,也可能在系統(tǒng)正常運行之后由軟件觸發(fā)從NVM中讀取??傊到y(tǒng)的正常運行要求在獲取系統(tǒng)配置信息的過程中是穩(wěn)定可靠的。
NVM作為存儲邏輯單元,供電電壓的穩(wěn)定性能夠直接影響到從NVM中讀取數(shù)據(jù)的穩(wěn)定性。對于常見的NVM的器件(例如,OTP、eFuse、eFlash和EEPROM等),如果供電電壓低于其規(guī)格書所要求的最低閾值時,NVM的存儲單元由于供電電流不足導致讀出來的有可能還是初始值,即燒寫前的狀態(tài)。例如,OTP單元的初始值是0,經過成功燒寫后變成1,但是在較低供電電壓的工作狀況下,讀回來的值就可能變成0。
通常,在SOC(System on Chip)架構中,NVM作為一個內嵌IP(Intellectual Properties)模塊存在于SOC中,是一個Hard Macro來自于第三方,由于IP本身不涵蓋低電壓檢測及保護功能,因而,來自黑客的低電壓攻擊會導致NVM中的數(shù)據(jù)讀取不正常,NVM中的系統(tǒng)配置信息(特別是敏感的配置信息)同樣會受到低電壓攻擊,使得系統(tǒng)變得薄弱,導致一些待保護的信息或者模塊就在黑客面前暴露無遺。
針對上述現(xiàn)有技術在從NVM(非易失存儲器)中讀取系統(tǒng)配置信息的過程中無法抵御低電壓攻擊的問題,目前尚未提出有效的解決方案。
技術實現(xiàn)要素:
本實用新型實施例提供了一種從存儲器中讀取配置信息的控制系統(tǒng)及芯片,以至少解決現(xiàn)有技術在從NVM(非易失存儲器)中讀取系統(tǒng)配置信息的過程中無法抵御低電壓攻擊的技術問題。
根據(jù)本實用新型實施例的另一方面,提供了一種從存儲器中讀取配置信息的控制系統(tǒng),包括:第一存儲單元,用于存儲預燒值;第二存儲單元,用于存儲配置信息;第一寄存器,與第一存儲單元連接,用于鎖存從第一存儲單元中讀取到的第一存儲值;第二寄存器,與第二存儲單元連接,用于鎖存從第二存儲單元中讀取到的第二存儲值;控制電路,用于判斷第一存儲值是否等于預燒值,并在第一存儲值等于預燒值的情況下,根據(jù)第二存儲值與存儲器的初始狀態(tài)值確定輸出的配置信息的狀態(tài)值,其中,狀態(tài)值用于表征配置信息是否有效;其中,預燒值為預先在第一存儲單元燒錄的與存儲器的初始狀態(tài)值相反的一個值。
根據(jù)本實用新型實施例的另一方面,還提供了一種芯片,包括:上述所述的從存儲器中讀取配置信息的控制系統(tǒng)。
在本實用新型實施例中,通過在第一存儲單元中預先燒錄一個與該存儲器的初始狀態(tài)相反的一個值(即預燒值),當需要從第二存儲單元中讀取配置信息時,首先通過第一寄存器從第一存儲單元中讀取到的第一存儲值,并傳輸至控制電路,控制電路比較從第一存儲單元1讀取的存儲值是否與預先燒錄的預燒值相等,并在從第一存儲單元1讀取的存儲值等于預燒值的情況下,根據(jù)從存儲器的第二存儲單元2讀取的第二存儲值(配置信息)和該存儲器的初始狀態(tài)值確定最終輸出用于表征配置信息是否有效的狀態(tài)值,達到了依據(jù)存儲器預燒區(qū)域讀取的存儲值來判斷存儲器當前是否處于異常低電壓,并根據(jù)判斷結果來確定從該存儲器中讀取的系統(tǒng)配置信息是否有效的目的,從而實現(xiàn)了防止低供電電壓攻擊從存儲器中讀取系統(tǒng)配置信息的技術效果,進而解決了現(xiàn)有技術在從NVM(非易失存儲器)中讀取系統(tǒng)配置信息的過程中無法抵御低電壓攻擊的技術問題。
附圖說明
此處所說明的附圖用來提供對本實用新型的進一步理解,構成本申請的一部分,本實用新型的示意性實施例及其說明用于解釋本實用新型,并不構成對本實用新型的不當限定。在附圖中:
圖1是根據(jù)本實用新型實施例的一種從存儲器中讀取配置信息的控制系統(tǒng)示意圖;
圖2是根據(jù)本實用新型實施例的一種可選的從存儲器中讀取配置信息的控制系統(tǒng)示意圖;以及
圖3是根據(jù)本實用新型實施例的一種從存儲器中讀取配置信息工作原理示意圖。
具體實施方式
為了使本技術領域的人員更好地理解本實用新型方案,下面將結合本實用新型實施例中的附圖,對本實用新型實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本實用新型一部分的實施例,而不是全部的實施例?;诒緦嵱眯滦椭械膶嵤├绢I域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本實用新型保護的范圍。
需要說明的是,本實用新型的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本實用新型的實施例能夠以除了在這里圖示或描述的那些以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列單元的存儲器、產品或設備不必限于清楚地列出的那些單元,而是可包括沒有清楚地列出的或對于這些產品或設備固有的其它單元。
根據(jù)本實用新型實施例,提供了一種從存儲器中讀取配置信息的控制系統(tǒng)實施例。
圖1是根據(jù)本實用新型實施例的一種從存儲器中讀取配置信息的控制系統(tǒng)示意圖,如圖1所示,該控制系統(tǒng)包括:第一存儲單元1、第二存儲單元2、第一寄存器3、第二寄存器4和控制電路5。
其中,第一存儲單元1,用于存儲預燒值;
第二存儲單元2,用于存儲配置信息;
第一寄存器3,與第一存儲單元1連接,用于鎖存從第一存儲單元中讀取到的第一存儲值;
第二寄存器4,與第二存儲單元2連接,用于鎖存從第二存儲單元中讀取到的第二存儲值;
控制電路5,與第一寄存器3和第二寄存器4連接,用于判斷第一存儲值是否等于預燒值,并在第一存儲值等于預燒值的情況下,根據(jù)第二存儲值與初始狀態(tài)值確定輸出的配置信息的狀態(tài)值,其中,狀態(tài)值用于表征配置信息是否有效;
其中,預燒值為預先在存儲器的第一存儲單元1燒錄的與存儲器的初始狀態(tài)值相反的一個值。
具體地,上述存儲器可以為用于存儲芯片上各種系統(tǒng)配置信息和其他信息的非易失性存儲器,包括:可編程只讀存儲器(PROM)、可擦可編程只讀存儲器(EPROM)、電可擦除只讀存儲器(EEPROM)和電子閃存(eFlash)等;一種可選的實施方案中,上述存儲器也可以為電池供電的隨機存儲存器(RAM)。上述第一存儲單元1和第二存儲單元2可以為存儲器中按照預定規(guī)則劃分的不同存儲區(qū)域的存儲單元,其中,第一存儲單元1用于存儲預燒值,第二存儲單元2用于存儲系統(tǒng)的配置信息,一種可選的實施方案中,該配置信息可以作為開啟或者關閉芯片特殊功能的敏感配置信號。上述預燒值可以為預先燒錄在存儲器的第一存儲單元的一個狀態(tài)值。上述第一寄存器3和第二寄存器4可以是寄存器組,包括至少一個寄存器。上述控制電路5與第一寄存器3和第二寄存器4連接,可以接收第一寄存器3從第一存儲單元1中讀取的第一存儲值,以及第二寄存器4從第二存儲單元2中讀取的第二存儲值(配置信息),通過判斷從存儲器的第一存儲單元1讀取到的第一存儲值是否等于預先在該第一存儲單元1中存儲的預燒值,進而根據(jù)判斷結果確定該存儲器是否處于異常低電壓的工作環(huán)境。
作為一種可選的實施方案,在從存儲器的第一存儲單元1讀取到第一存儲值后,如果從存儲器的第一存儲單元1讀取到的第一存儲值等于預先在該第一存儲單元1燒錄的預燒值,則可以確定該存儲器當前讀取數(shù)據(jù)的供電電壓正常,即,該供電電壓可以滿足從該存儲器的第二存儲單元2讀取配置信息(第二存儲值)的電壓,然后根據(jù)該第二存儲值與該存儲器的初始狀態(tài)值確定最終輸出的狀態(tài)值,該狀態(tài)值可以用于表征該配置信息是否有效,以進一步確定是否允許系統(tǒng)執(zhí)行該配置信息。
一種可選的實施例中,可以充分利用NVM存儲單元的邏輯特性,選取對電壓更為敏感的存儲空間作為預燒區(qū)域(即上述第一存儲單元1),預燒區(qū)域是指NVM中用于提前燒寫的特定區(qū)域。選取的原則是該區(qū)域存儲的值在異常的低電壓工作下讀出來出現(xiàn)變化的概率最大。如發(fā)現(xiàn)讀回來的預燒值不一致則判斷NVM供電電壓異常。通過選定輔助檢測NVM工作環(huán)境是否正常的預燒區(qū)域,無需定制額外的NVM存儲邏輯或者相關檢測電路,降低了系統(tǒng)復雜度,節(jié)約了硬件成本。
需要說明的是,上述實施例中,由于選取的第一存儲單元1(即預燒區(qū)域)為存儲器中對低供電電壓最為敏感的存儲空間,則如果從第一存儲單元1讀取的存儲值等于預燒值,則可以確定當前存儲器的供電電壓可以滿足從第二存儲單元2讀取數(shù)據(jù)的供電電壓,即可以表明從第二存儲單元2讀取的存儲值是正常供電電壓下讀取的。
此處還需要說明的是,由于NVM基本存儲單元的結構特性,一般來說在異常的低壓工作條件下,無論NVM中的存儲值是高還是低,都會被誤認為是初始值,因而,一種可選的實施方案中,可以選定預燒值為與初始值相反的一個值。以eFlash為例,因其初始值為32’hFFFFFFF,則選定預燒值為32’h00000000。
在一種可選的實施例中,如圖2所示,上述控制電路5可以包括:
第一比較邏輯電路51,與第一寄存器3連接,用于比較第一存儲值是否等于預燒值,輸出比較結果;
位判斷電路52,與第二寄存器4連接,用于根據(jù)第二存儲值與初始狀態(tài)值確定輸出的配置信息的狀態(tài)值。
具體地,上述第一比較邏輯電路51與第一寄存器3連接,接收來自第一寄存器3從存儲器的第一存儲單元1讀取到的第一存儲值,并判斷第一存儲值是否等于預先在該第一存儲單元1中存儲的預燒值,并將比較結果輸出,該比較結果可以用于確定該存儲器是否處于異常低電壓的工作環(huán)境。上述位判斷電路52,與第二寄存器4連接,接收來自第二寄存器4從存儲器的第二存儲單元2讀取到的第二存儲值(配置信息),并判斷第二存儲值是否等于該存儲器中存儲單元的初始值。
需要說明的是,由于在存儲器供電電壓異常的情況下,從存儲器中讀取的存儲值可能還是初始值,因而,為了強化敏感配置生效機制,可以增加冗余比特來重構配置信息,如果配置信息的二進制比特中所有比特都為初始狀態(tài),則判定從第二存儲單元2讀取的配置信息無效;如果配置信息的二進制比特中至少有一個比特是與初始狀態(tài)相反的值,則認為該配置信息有效。
容易注意的是,可以根據(jù)NVM的讀寫特性或者系統(tǒng)性能來確定為配置信號增加的冗余位數(shù)。例如,假設一個敏感配置信號(配置信息)用于關閉調試口,在NVM中規(guī)劃32-bit作為該敏感配置信號有效比特(bit),其中31-bit為冗余位,重新定義該配置信號為DBG_DIS,如果這32-bit都為初始狀態(tài),則認為DBG_DIS無效;而如果32比特中只要有一個比特被燒成與初始狀態(tài)相反的值,則認為DBG_DIS有效。
通過上述實施例,增加冗余位來重構配置信息,可以最大限度地減少敏感配置信號在非安全模式下對應的狀態(tài),從而可以實現(xiàn)增強敏感配置信號的生效機制的目的。
作為一種可選的實施例,上述位判斷電路52可以在接收到來自第二寄存器4從存儲器的第二存儲單元2讀取到的第二存儲值(配置信息)后,判斷第二存儲值的所有比特是否都等于初始狀態(tài)值;如果第二存儲值的所有比特都等于初始狀態(tài)值,則輸出第一狀態(tài)值,該第一狀態(tài)值用于表征配置信息無效;如果第二存儲值的所有比特中的任意一個比特不等于初始狀態(tài)值,則輸出第二狀態(tài)值,該第二狀態(tài)值用于表征配置信息有效。
具體地,在上述實施例中,第二存儲值為從存儲器的第二存儲單元2讀取到的用于表示配置信息的二進制數(shù)值;初始狀態(tài)值為該存儲器中存儲單元的初始值,在增加冗余位重構配置信息后,從存儲器的第二存儲單元2讀取的第二存儲值也是包含了多個冗余比特的值,在根據(jù)第二存儲值與初始狀態(tài)值確定輸出的配置信息的狀態(tài)值的過程中,判斷從存儲器的第二存儲單元2讀取的第二存儲值的所有比特是否都等于該存儲器的初始狀態(tài)值(例如,“0”比特),如果第二存儲值的所有比特都等于該存儲器的初始狀態(tài)值,則認為該第二存儲值表示的配置信息無效,輸出第一狀態(tài)值;如果第二存儲值的所有比特中至少有一個不等于該存儲器的初始狀態(tài)值,則認為配置信息有效,輸出第二狀態(tài)值。
一種可選的實施例中,可以設置第一狀態(tài)值為0,第二狀態(tài)值為1。
一種可選的實施方式中,在存儲器中存儲單元的初始狀態(tài)值為1的情況下,判斷從該存儲器的第二存儲單元2讀取到的第二存儲值的所有比特是否等于1,如果第二存儲值的所有比特全為1,則輸出第一狀態(tài)值0;如果第二存儲值的所有比特不全為1,則輸出第二狀態(tài)值1。
另一種可選的實施方式中,在存儲器中存儲單元的初始狀態(tài)值為0的情況下,判斷從該存儲器的第二存儲單元2讀取到的第二存儲值的所有比特是否等于0,如果第二存儲值的所有比特全為0,則輸出第一狀態(tài)值0;如果第二存儲值的所有比特不全為1,則輸出第二狀態(tài)值1。
通過上述實施例,實現(xiàn)了以數(shù)字邏輯來判斷從存儲器中讀取的配置信息是否處于安全狀態(tài)的目的,具有如下優(yōu)先:邏輯結構簡單占用資源少,電路可靠性非常高,適用范圍廣。
在一種可選的實施例中,如圖2所示,上述控制電路5控制電路還可以包括:
第二比較邏輯電路53,與第一比較邏輯電路51和位判斷電路52連接,用于根據(jù)第一比較邏輯電路輸出的比較結果與位判斷電路輸出的狀態(tài)值確定輸出的配置信息的狀態(tài)值。
具體地,在上述實施例中,第二比較邏輯電路53,與第一比較邏輯電路51和位判斷電路52連接,接收來自第一比較邏輯電路51的比較結果,進行綜合處理最終向下一級輸出最終的敏感配置有效狀態(tài)值。其中,在預燒值讀取錯誤的情況下,第二比較邏輯電路53將敏感配置信號變成安全狀態(tài),輸出安全狀態(tài)值,安全狀態(tài)值可以為預先配置的一個狀態(tài)值,該狀態(tài)值可以用于表征從存儲器的第二存儲單元2讀取到的配置信息(第二存儲值)無效。在預燒值讀取正確的情況下,第二比較邏輯電路53輸出的敏感配置信號的狀態(tài)值為位判斷電路輸出的狀態(tài)值,如果位判斷電路52輸出的是輸出第一狀態(tài)值,則輸出第一狀態(tài)值;如果位判斷電路52輸出的是輸出第二狀態(tài)值,則輸出第二狀態(tài)值。
需要說明的是,在從存儲器的第一存儲單元讀取到第一存儲值后,如果從存儲器的第一存儲單元讀取到的第一存儲值不等于預先在該第一存儲單元燒錄的預燒值,則可以確定該存儲器當前讀取數(shù)據(jù)的供電電壓異常,即,該供電電壓不能夠滿足從該存儲器的第二存儲單元讀取配置信息(第二存儲值)的電壓,將輸出的該配置信息的狀態(tài)值為預先配置的安全狀態(tài)值,以表征從第二存儲單元讀取的配置信息無效,從而禁止用戶訪問系統(tǒng)的某些特殊功能。
通過上述實施例,達到了禁止執(zhí)行存儲器在供電電壓異常的情況下讀取出的配置信息的目的,從而使得芯片進入一個安全的模式。
在一種可選的實施例中,上述控制系統(tǒng)還包括:輸出接口,與第二比較邏輯電路53連接,用于輸出狀態(tài)值。
在一種可選的實施例中,上述控制電路為讀寫控制電路,用于完成對NVM燒寫、擦除、讀等動作。
在一種可選的實施例中,上述第二存儲單元包括:用于存儲配置信息的冗余比特的至少一個存儲單元。
在一種可選的實施例中,上述控制系統(tǒng)還包括:專用測試接口,用于將預燒值燒錄至第一存儲單元。
具體地,在上述實施例中,對于預燒值的設定,主要根據(jù)NVM基本存儲單元的結構特性,總的原則是選定的值在會異常的低電壓工作下讀出來是出現(xiàn)變化的概率最大,檢測電路更準確地確定NVM供電電壓異常。根據(jù)NVM基本存儲單元的結構特性,經過燒寫之后的單元是通常是基于存儲的電荷進行信息存儲,然而一旦供電電壓過低,從NVM讀出來的值會出現(xiàn)概率性地翻轉,這翻轉概率會有所區(qū)別,例如有的eflash 1->0的概率不到5%,然后0->1概率卻超過95%,那么選用0作為該單元的預燒值
一種可選的實施方案中,在芯片量產階段或者測試階段,可以通過存儲器(NVM)的專有測試口將預燒值燒入到預燒區(qū)域,這樣能夠對于該區(qū)域加以保護,避免在正常的功能模式下因CPU的錯誤操作而改寫該區(qū)域的值。
在一種可選的實施例中,上述控制系統(tǒng)包括:電源接口,用于接通電源。
可選地,上述存儲器可以為非易失存儲器,包括:可編程只讀存儲器(PROM)、可擦可編程只讀存儲器(EPROM)、電可擦除只讀存儲器(EEPROM)和電子閃存(eFlash)等。
需要說明的是,本實用新型任意一項可選的或優(yōu)選的控制系統(tǒng),可以是上述任何一種非易失存儲器的控制系統(tǒng)。
作為一種優(yōu)選的實施例,下面結合圖3來說明本申請上述實施例,圖3是根據(jù)本實用新型實施例的一種優(yōu)選的從存儲器中讀取配置信息工作原理示意圖;如圖3所示,NVM為用于存儲系統(tǒng)配置信息和其他信息的非易失存儲器,在NVM中選取存儲單元中對低供電電壓最為敏感的存儲空間作為預燒區(qū)域(即第一存儲單元1),一種可選的實施方式中,可以選擇連續(xù)4個字節(jié)作為預燒區(qū)域并且方便一次讀操作可完成預燒區(qū)域的讀取。
在選取預燒區(qū)域后,將把預燒值燒入到預燒區(qū)域,該預燒值為與NVM的初始值相反的一個值,例如,NVM存儲單元的初始值為0,則選定的預燒值為1。
當需要從NVM中讀取敏感配置信號時,NVM讀寫控制電路被觸發(fā)依次從NVM中讀取預燒區(qū)域和系統(tǒng)配置區(qū)域,并分別將從預燒區(qū)域(即第一存儲單元1)和系統(tǒng)配置區(qū)域(即第二存儲單元2)讀取到的存儲值存放到M1和M2中。其中,NVM讀寫控制電路是芯片中專門為NVM設計的讀寫控制電路,用于完成對NVM燒寫、擦除、讀等動作;M1是寄存器組,用于鎖存NVM讀寫控制電路從NVM預燒區(qū)域讀出來的數(shù)據(jù);M2也是寄存器組,用于鎖存NVM讀寫控制電路從NVM系統(tǒng)控制區(qū)域讀出來的配置信息。
在將從預燒區(qū)域讀取的值存儲在M1寄存器組中后,通過M3將M1寄存器組的值與固化在芯片中的目標預燒值作比較,并將比較結果輸出。其中,M3是一個比較邏輯,通過比較從預燒區(qū)域讀取的值與目標預燒值,可以判斷預燒值讀取是否正確,如果相等則輸出0,否則輸出1。
在將從系統(tǒng)配置區(qū)域讀取的值存儲在M2是寄存器組中后,通過M4位判斷模塊判斷M2寄存器組的配置信息是否全為1或者是否全為0。具體地,當NVM存儲單元的初始狀態(tài)為1時,M4則負責判讀配置信息所有比特是否全為1,如果全為1則輸出結果為0至下一級,否則輸出1至下一級;當NVM存儲單元的初始狀態(tài)為0時,M4則負責判讀配置信息所有比特是否全為0,如果全為0則輸出結果為0至下一級,否則輸出1至下一級。
最后,M5負責將M3與M4的結果進行綜合處理最終向下一級IP(Intellectual Properties)模塊輸出敏感配置有效值。在預燒值讀取錯誤的情況下,M5將敏感配置信號變成安全狀態(tài)。在預燒值讀取正確的情況下,敏感配置信號的狀態(tài)則依賴于M4位判斷模塊的結果。對于M5模塊,框內所示只是示例實現(xiàn)方式,總的原則依照M5的功能要求。其中,IP模塊是指具有知識產權的模塊,包括軟IP、固化IP和硬IP三種類型,隨著IC的發(fā)展和SoC復雜度的提高,IP已成為SoC設計的基礎。
此處需要說明的是,M3、M4和M5構成一個邏輯關系如下所示:
“if(M2==’initial value’&&M1==’Pre-program value’)
Sensitive configuration is disabled
else
Sensitive configuration is enabled”
其中initial value指代的是NVM的初始狀態(tài)值,而pre-program value則是預燒值。只有M2中存儲值恒等于初始值且M1中的存儲值恒等于預燒值的情況下,從系統(tǒng)配置區(qū)域讀取的配置信息是無效的,即禁止執(zhí)行該配置信息;其他情況下,從系統(tǒng)配置區(qū)域讀取的配置信息是有效的。
作為一種優(yōu)選的實施方式,以eFlash為例來進行說明如何本申請實施例如何抵御低電壓攻擊。在eFlash中,如果要設計一個敏感配置信號(DBG_DIS)用于關閉調試口,假設eFlash存儲單元的初始狀態(tài)為1,規(guī)劃32比特作為關閉調試口的控制信息,其中31比特是冗余位。具體應用情形如下:
(1)當允許調試口開通,則此配置區(qū)域無需燒寫為0,保持初始值全為1。
在NVM正常供電的情況下,NVM控制電路從NVM讀出來的預燒值和控制信息都是正確的,M3判定預燒區(qū)域讀取正確,M4判定M2所有比特都為1,那么同時符合“M2等于NVM初始值”和“M3等于預燒值”這兩個條件,所以最終輸出允許調試口開通。
在NVM遇到低電壓攻擊的情況下,NVM控制電路從NVM讀出來的預燒值是錯的,控制信息可能是錯的,M3判定預燒區(qū)域讀取錯誤,那么無法同時符合“M2等于NVM初始值”和“M3等于預燒值”這兩個條件,所以最終輸出將調試口關閉,將芯片進入一個更為安全模式以達到自我保護的目的。
(2)當關閉調試口,則此配置區(qū)域內為DBG_DIS定義的所有比特都應燒為0.
在NVM正常供電的情況下,NVM控制電路從NVM讀出來的預燒值和控制信息都是正確的,M3判定預燒區(qū)域讀取正確,M4判定M2所有比特都為0,那么M2不等于NVM初始值,根據(jù)判斷邏輯所以最終輸出將調試口關閉,達到預期目的。
在NVM遇到低電壓攻擊的情況下,NVM控制電路從NVM讀出來的預燒值是錯的,控制信息可能是錯的,M3判定預燒區(qū)域讀取錯誤,那么M3不等于預燒值,根據(jù)判斷邏輯所以最終輸出將調試口關閉,將芯片進入一個更為安全模式以達到自我保護的目的。
在上述實施例方式中,敏感配置信號(DBG_DIS)在遇到低電壓攻擊的時候均會強制使能,使得芯片進入更為安全的模式,不存在DBG_DIS從有效狀態(tài)退回無效的情況。
通過本申請上述實施例,可以實現(xiàn)針對任何IC設計中對敏感配置信號的保護以抵御針對NVM的低電壓攻擊。具體可以實現(xiàn)如下技術效果:
(1)充分利用NVM存儲單元的邏輯特性,選取對電壓更為敏感的區(qū)域作為預燒區(qū)域,輔助檢測NVM工作環(huán)境是否正常,無需定制額外的NVM存儲邏輯或者相關檢測電路;
(2)為原本單一控制信號增加冗余比特,強化敏感配置生效機制,增加敏感配置信號的冗余位,最大限度地減少敏感配置信號在非安全模式下對應的狀態(tài);
(3)以數(shù)字邏輯實現(xiàn)NVM異常檢測確保敏感配置信號處于安全狀態(tài),邏輯結構簡單占用資源少,電路可靠性非常高,適用范圍廣。
根據(jù)本實用新型實施例的另一方面,還提供了一種芯片,包括:上述任意一項可選的或優(yōu)選的從存儲器中讀取配置信息的控制系統(tǒng)。
上述本實用新型實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
以上所述僅是本實用新型的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本實用新型原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本實用新型的保護范圍。