SOC芯片eFuse失效的處理方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種SOC芯片,特別涉及SOC芯片eFuse失效的處理方法及裝置。
【背景技術(shù)】
[0002]在大型安全SOC芯片中,efuse是一種重要的非易失性存儲(chǔ)單元,由熔絲結(jié)構(gòu)構(gòu)成,通過熔絲可以在芯片上編程并存儲(chǔ)信息.常常用于存儲(chǔ)安全相關(guān)的內(nèi)容,比如密鑰、密碼等信息,因此對于芯片的安全系統(tǒng)非常重要。但是由于工藝尺寸的突飛猛進(jìn),efuse作為一種較為脆弱的電路單元,常常在使用過程中由于靜電或者其他原因造成efuse損壞,造成整個(gè)芯片和系統(tǒng)無法工作,只能整機(jī)報(bào)廢,從而導(dǎo)致大量的浪費(fèi)。
[0003]所以如果能有一種能進(jìn)行efuse的自測試和自調(diào)節(jié)的方法或裝置,能將efuse損壞后自動(dòng)降低電路的安全等級,使得原本只能整機(jī)報(bào)廢的機(jī)器,還能夠作為非安全的娛樂設(shè)備繼續(xù)使用,這將是非常有意義的工作。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問題之一,在于提供一種SOC芯片eFuse失效的處理方法,能將efuse損壞后自動(dòng)降低電路的安全等級,使得原本只能整機(jī)報(bào)廢的機(jī)器,還能夠作為非安全的娛樂設(shè)備繼續(xù)使用。
[0005]本發(fā)明要解決的技術(shù)問題之一是這樣實(shí)現(xiàn)的:一種SOC芯片eFuse失效的處理方法,包括
[0006]步驟S1、將SOC芯片的操作系統(tǒng)分為安全操作系統(tǒng)和非安全操作系統(tǒng),所述安全操作系統(tǒng)是有很強(qiáng)安全性的操作系統(tǒng);所述非安全系統(tǒng)是指對安全性能沒有要求的操作系統(tǒng);
[0007]其中,所述安全操作系統(tǒng)所對應(yīng)的安全系統(tǒng)B00T_R0M中的代碼都是經(jīng)過加密的代碼,需要efuse中的密鑰才能解開加密后運(yùn)行;所述非安全操作系統(tǒng)對應(yīng)的非安全系統(tǒng)B00T_R0M中的代碼都是沒有加密的代碼,能直接運(yùn)行;
[0008]步驟S2、每次開機(jī)之前通過讀控制單元對efuse電路進(jìn)行遍歷讀操作,并將讀數(shù)據(jù)送往比較判斷單元;
[0009]步驟S3、比較判斷單元將讀數(shù)據(jù)和期望值進(jìn)行比較,如果讀數(shù)據(jù)和期望值一致說明efuse電路正常,如果不一致說明efuse電路不正常;并將比較結(jié)果送往B00T_R0M映射單元、操作系統(tǒng)選擇單元和安全軟件訪問控制單元;
[0010]步驟S4、所述B00T_R0M映射單元根據(jù)比較結(jié)果進(jìn)行boot_rom地址的映射動(dòng)作,如果efuse電路正常,將映射地址指向安全系統(tǒng)B00T_R0M ;如果efuse電路不正常,則將映射地址指向非安全系統(tǒng)B00T_R0M ;
[0011]所述操作系統(tǒng)選擇單元根據(jù)比較結(jié)果進(jìn)行操作系統(tǒng)選擇動(dòng)作,,如果efuse電路正常,將CPU訪問的操作系統(tǒng)指向安全操作系統(tǒng);如果efuse電路不正常,則將CPU訪問的操作系統(tǒng)指向非安全操作系統(tǒng);
[0012]所述安全軟件訪問控制單元根據(jù)比較結(jié)果控制CPU是否可以訪問運(yùn)行安全軟件,如果efuse電路正常,允許CPU訪問運(yùn)行安全軟件;如果efuse電路不正常,則不允許CPU訪問運(yùn)行安全軟件。
[0013]進(jìn)一步的,所述安全軟件的列表信息預(yù)先存儲(chǔ)在安全軟件列表存儲(chǔ)單元中,所述安全軟件的代碼預(yù)先存儲(chǔ)在安全軟件代碼存儲(chǔ)單元中。
[0014]本發(fā)明要解決的技術(shù)問題之二,在于提供一種SOC芯片eFuse失效的處理裝置,能將efuse損壞后自動(dòng)降低電路的安全等級,使得原本只能整機(jī)報(bào)廢的機(jī)器,還能夠作為非安全的娛樂設(shè)備繼續(xù)使用。
[0015]本發(fā)明要解決的技術(shù)問題之二是這樣實(shí)現(xiàn)的:一種SOC芯片eFuse失效的處理裝置,包括eFuse、讀控制單元、比較判斷單元、CPU、B00T_R0M映射單元、操作系統(tǒng)選擇單元、安全軟件訪問控制單元、安全系統(tǒng)B00T_R0M以及非安全系統(tǒng)B00T_R0M ;所述eFuse、讀控制單元、比較判斷單元依次連接;所述比較判斷單元分別連接所述B00T_R0M映射單元、操作系統(tǒng)選擇單元和安全軟件訪問控制單元,所述B00T_R0M映射單元還分別連接安全系統(tǒng)B00T_R0M以及非安全系統(tǒng)B00T_R0M,安全軟件訪問控制單元;其中,
[0016]每次開機(jī)之前,所述讀控制單元對efuse電路進(jìn)行遍歷讀操作,并將讀數(shù)據(jù)送往比較判斷單元;
[0017]比較判斷單元將讀數(shù)據(jù)和期望值進(jìn)行比較,如果讀數(shù)據(jù)和期望值一致說明efuse電路正常,如果不一致說明efuse電路不正常;并將比較結(jié)果送往B00T_R0M映射單元、操作系統(tǒng)選擇單元和安全軟件訪問控制單元;
[0018]所述B00T_R0M映射單元根據(jù)比較結(jié)果進(jìn)行boot_rom地址的映射動(dòng)作,如果efuse電路正常,將映射地址指向安全系統(tǒng)B00T_R0M ;如果efuse電路不正常,則將映射地址指向非安全系統(tǒng)B00T_R0M ;
[0019]所述操作系統(tǒng)選擇單元根據(jù)比較結(jié)果進(jìn)行操作系統(tǒng)選擇動(dòng)作,,如果efuse電路正常,將CPU訪問的操作系統(tǒng)指向安全操作系統(tǒng);如果efuse電路不正常,則將CPU訪問的操作系統(tǒng)指向非安全操作系統(tǒng);
[0020]所述安全軟件訪問控制單元根據(jù)比較結(jié)果控制CPU是否可以訪問運(yùn)行安全軟件,如果efuse電路正常,允許CPU訪問運(yùn)行安全軟件;如果efuse電路不正常,則不允許CPU訪問運(yùn)行安全軟件。
[0021]進(jìn)一步的,本發(fā)明裝置還包括安全軟件列表存儲(chǔ)單元和安全軟件代碼存儲(chǔ)單元,所述安全軟件的列表信息預(yù)先存儲(chǔ)在該安全軟件列表存儲(chǔ)單元中,所述安全軟件的代碼預(yù)先存儲(chǔ)在該安全軟件代碼存儲(chǔ)單元中。
[0022]本發(fā)明具有如下優(yōu)點(diǎn):
[0023]1.相較于現(xiàn)有技術(shù)中efuse電路損壞就會(huì)造成整機(jī)報(bào)廢,本發(fā)明每次開機(jī)前對efuse進(jìn)行一次自測試,如果測試出efuse損壞,可以自動(dòng)將芯片的啟動(dòng)方式和操作系統(tǒng)切換為沒有安全要求的啟動(dòng)和系統(tǒng),同時(shí)屏蔽CPU對安全軟件的訪問,從而是原來只能因?yàn)闊o法啟動(dòng)而報(bào)廢的設(shè)備應(yīng)用于對安全性能沒有要求的場景中,比如一些純娛樂類消費(fèi)電子產(chǎn)品;
[0024]2.測試流程和方法簡單易行,可以通過篩選結(jié)果引腳直觀的看到efuse的測試結(jié)果并進(jìn)行分類處理。
【附圖說明】
[0025]下面參照附圖結(jié)合實(shí)施例對本發(fā)明作進(jìn)一步的說明。
[0026]圖1為本發(fā)明方法的流程框圖。
[0027]圖2為本發(fā)明裝置的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0028]如圖1所示,本發(fā)明的SOC芯片eFuse失效的處理方法,包括:
[0029]步驟S1、將SOC芯片的操作系統(tǒng)分為安全操作系統(tǒng)和非安全操作系統(tǒng);
[0030]其中,所述安全操作系統(tǒng)是有很強(qiáng)安全性的操作系統(tǒng),需要硬件支持安全的訪問,密鑰的安全存放,安全區(qū)域的劃分等安全需求,當(dāng)efuse不能正常工作時(shí),無法滿足安全操作系統(tǒng)的需求,會(huì)導(dǎo)致安全操作系統(tǒng)無法運(yùn)行;
[0031]所述非安全系統(tǒng)是指對安全性能沒有要求的操作系統(tǒng),通??梢杂糜诩儕蕵奉愋偷南M(fèi)類電子產(chǎn)品;
[0032]所述安全操作系統(tǒng)所對應(yīng)的安全系統(tǒng)B00T_R0M中的代碼都是經(jīng)過加密的代碼,需要efuse中的密鑰才能解開加密后運(yùn)行;
[0033]所述非安全操作系統(tǒng)對應(yīng)的非安全系統(tǒng)B00T_R0M中的代碼都是沒有加密的代碼,能直接運(yùn)行;
[0034]步驟S2、每次開機(jī)之前通過讀控制單元對efuse電路進(jìn)行遍歷讀操作,并將讀數(shù)據(jù)送往比較判斷單元;
[0035]步驟S3、比較判斷單元將讀數(shù)據(jù)和期望值進(jìn)行比較,如果讀數(shù)據(jù)和期望值一致說明efuse電路正常,如果不一致說明efuse電路不正常;并將比較結(jié)果送往BOOT_ROM映射單元、操作系統(tǒng)選擇單元和安全軟件訪問控制單元;
[0036]步驟S4、所述BOOT_ROM映射單元根據(jù)比較結(jié)果進(jìn)行boot_rom地址的映射動(dòng)作,如果efuse電路正常,將映射地址指向安全系統(tǒng)BOOT_ROM ;如果efuse電路不正常,則將映射地址指向非安全系統(tǒng)BOOT_ROM ;
[0037]所述操作系統(tǒng)選擇單元根據(jù)比較結(jié)果進(jìn)