本發(fā)明涉及集成電路技術(shù)領(lǐng)域,更具體的說(shuō),涉及一種數(shù)據(jù)讀取方法、集成電路及芯片。
背景技術(shù):
NVM(NonVolatile Memory,非易失存儲(chǔ)器)是一種具有非易失、按字節(jié)存取、存儲(chǔ)密度高、低能耗、讀寫(xiě)性能接近DRAM(Dynamic Random Access Memory,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)的存儲(chǔ)器,廣泛應(yīng)用于SOC(System on Chip,)設(shè)計(jì)中,用于存儲(chǔ)系統(tǒng)配置信息、數(shù)據(jù)以及可執(zhí)行代碼,擔(dān)當(dāng)著系統(tǒng)不可缺少的角色。
NVM作為存儲(chǔ)邏輯單元,其供電電壓的穩(wěn)定性直接影響從NVM中讀取數(shù)據(jù)的穩(wěn)定性,尤其是當(dāng)NVM的供電電壓低于其規(guī)格書(shū)所要求的最低閾值時(shí),NVM可能會(huì)因?yàn)楣╇婋妷翰蛔銓?dǎo)致讀取的數(shù)據(jù)仍為初始值。例如,OTP(One-time Password,動(dòng)態(tài)口令)單元的初始值是0,成功燒寫(xiě)至NVM后變成1,但是當(dāng)NVM工作在較低供電電壓時(shí),從NVM讀取出的數(shù)據(jù)可能就會(huì)變成0。
綜上,如何提供一種集成電路保證讀取NVM內(nèi)數(shù)據(jù)的穩(wěn)定性,抵御非正常供電電壓所帶來(lái)的讀取數(shù)據(jù)不穩(wěn)定的問(wèn)題是本領(lǐng)域技術(shù)人員亟需解決的技術(shù)問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明公開(kāi)一種數(shù)據(jù)讀取方法、集成電路及芯片,以實(shí)現(xiàn)對(duì)NVM內(nèi)數(shù)據(jù)讀取的穩(wěn)定性,避免因NVM處于非正常供電電壓帶來(lái)的讀取數(shù)據(jù)不穩(wěn)定的問(wèn)題。
一種數(shù)據(jù)讀取方法,所述方法包括:
當(dāng)接收到讀取NVM內(nèi)數(shù)據(jù)請(qǐng)求時(shí),從所述NVM預(yù)先設(shè)置的預(yù)燒區(qū)域讀取預(yù)燒區(qū)域返回值,其中,所述預(yù)燒區(qū)域?yàn)樗鯪VM內(nèi)對(duì)低供電電壓敏感的存儲(chǔ)空間,所述預(yù)燒區(qū)域返回值為從所述預(yù)燒區(qū)域讀取的值;
當(dāng)所述預(yù)燒區(qū)域返回值等于目標(biāo)預(yù)燒值時(shí),生成第一控制信號(hào),并將所述第一控制信號(hào)輸出至NVM控制器,控制所述NVM控制器從所述NVM內(nèi)讀取數(shù)據(jù),其中,所述目標(biāo)預(yù)燒值為預(yù)先燒寫(xiě)到所述預(yù)燒區(qū)域的值。
優(yōu)選的,還包括:
當(dāng)所述預(yù)燒區(qū)域返回值不等于所述目標(biāo)預(yù)燒值時(shí),生成第二控制信號(hào),并將所述第二控制信號(hào)輸出至芯片保護(hù)部件,控制所述芯片保護(hù)部件觸發(fā)芯片進(jìn)入自我保護(hù)模式。
優(yōu)選的,還包括:
當(dāng)所述預(yù)燒區(qū)域返回值不等于所述目標(biāo)預(yù)燒值時(shí),生成第三控制信號(hào),并將所述第三控制信號(hào)輸出至所述NVM控制器,所述第三控制信號(hào)用于控制所述NVM控制器禁止讀取所述NVM內(nèi)的數(shù)據(jù)。
優(yōu)選的,所述控制所述芯片保護(hù)部件觸發(fā)芯片進(jìn)入自我保護(hù)模式包括:
控制所述芯片保護(hù)部件觸發(fā)系統(tǒng)級(jí)芯片SoC復(fù)位;或,
在不觸發(fā)所述SoC復(fù)位的情況下,控制所述芯片進(jìn)入安全模式,以使外部?jī)H能偵測(cè)到NVM低電壓的錯(cuò)誤信息。
一種低電壓檢測(cè)邏輯電路所述低電壓檢測(cè)邏輯電路分別與NVM、NVM控制器以及芯片保護(hù)部件連接,所述低電壓檢測(cè)邏輯電路包括:
讀取單元,用于當(dāng)接收到讀取所述NVM內(nèi)數(shù)據(jù)請(qǐng)求時(shí),從所述NVM預(yù)先設(shè)置的預(yù)燒區(qū)域讀取預(yù)燒區(qū)域返回值,其中,所述預(yù)燒區(qū)域?yàn)樗鯪VM內(nèi)對(duì)低供電電壓敏感的存儲(chǔ)空間,所述預(yù)燒區(qū)域返回值為從所述預(yù)燒區(qū)域讀取的值;
第一控制單元,用于當(dāng)所述預(yù)燒區(qū)域返回值等于目標(biāo)預(yù)燒值時(shí),生成第一控制信號(hào),并將所述第一控制信號(hào)輸出至NVM控制器,控制所述NVM控制器從所述NVM內(nèi)讀取數(shù)據(jù),其中,所述目標(biāo)預(yù)燒值為預(yù)先燒寫(xiě)到所述預(yù)燒區(qū)域的值。
優(yōu)選的,還包括:
第二控制單元,用于當(dāng)所述預(yù)燒區(qū)域返回值不等于所述目標(biāo)預(yù)燒值時(shí),生成第二控制信號(hào),并將所述第二控制信號(hào)輸出至芯片保護(hù)部件,控制所述芯片保護(hù)部件觸發(fā)芯片進(jìn)入自我保護(hù)模式。
優(yōu)選的,還包括:
第三控制單元,用于當(dāng)所述預(yù)燒區(qū)域返回值不等于所述目標(biāo)預(yù)燒值時(shí),生成第三控制信號(hào),并將所述第三控制信號(hào)輸出至所述NVM控制器,所述第三控制信號(hào)用于控制所述NVM控制器禁止讀取所述NVM內(nèi)的數(shù)據(jù)。
優(yōu)選的,所述預(yù)燒區(qū)域?yàn)榕cNVM供電電源的偏移量超過(guò)第一偏移量的存儲(chǔ)空間。
優(yōu)選的,所述預(yù)燒區(qū)域存儲(chǔ)的目標(biāo)預(yù)燒值為與初始值相反的值。
優(yōu)選的,所述預(yù)燒區(qū)域?yàn)?個(gè)或多個(gè)。
一種集成電路,包括:NVM控制器、以及上述所述的低電壓檢測(cè)邏輯電路;
所述NVM控制器的第一輸入端與所述低電壓檢測(cè)邏輯電路的第一信號(hào)控制端連接,所述NVM控制器的第二輸入端與NVM連接,所述NVM控制器用于在所述低電壓檢測(cè)邏輯電路判定從所述NVM預(yù)先設(shè)置的預(yù)燒區(qū)域讀取的預(yù)燒區(qū)域返回值等于目標(biāo)預(yù)燒值時(shí),根據(jù)所述低電壓檢測(cè)邏輯電路生成的第一控制信號(hào),從所述NVM內(nèi)讀取數(shù)據(jù);在所述低電壓檢測(cè)邏輯電路判定所述預(yù)燒區(qū)域返回值不等于所述目標(biāo)預(yù)燒值時(shí),接收所述低電壓檢測(cè)邏輯電路生成的第三控制信號(hào),所述第三控制信號(hào)用于控制所述NVM控制器禁止讀取所述NVM內(nèi)的數(shù)據(jù);
其中,所述目標(biāo)預(yù)燒值為預(yù)先燒寫(xiě)到所述預(yù)燒區(qū)域的值,所述預(yù)燒區(qū)域?yàn)樗鯪VM內(nèi)對(duì)低供電電壓敏感的存儲(chǔ)空間。
優(yōu)選的,還包括:芯片保護(hù)部件;
所述芯片保護(hù)部件的輸入端與所述低電壓檢測(cè)邏輯電路的第二信號(hào)控制端連接,所述芯片保護(hù)部件用于在所述低電壓檢測(cè)邏輯電路判定所述預(yù)燒區(qū)域返回值不等于所述目標(biāo)預(yù)燒值時(shí),根據(jù)所述低電壓檢測(cè)邏輯電路生成的第二控制信號(hào),觸發(fā)芯片進(jìn)入自我保護(hù)模式。
一種芯片,包括:上述所述的集成電路。
一種芯片,包括:上述所述的集成電路,以及與所述集成電路連接的NVM,其中,所述NVM預(yù)先設(shè)置有對(duì)低供電電壓敏感的預(yù)燒區(qū)域,所述預(yù)燒區(qū)域內(nèi)預(yù)先燒寫(xiě)有目標(biāo)預(yù)燒值。
從上述的技術(shù)方案可知,本發(fā)明公開(kāi)了一種數(shù)據(jù)讀取方法、集成電路及芯片,集成電路包括:低電壓檢測(cè)邏輯電路和NVM控制器,在NVM控制器從NVM讀取數(shù)據(jù)之前,低電壓檢測(cè)邏輯電路會(huì)首先從NVM的預(yù)燒區(qū)域讀取預(yù)燒區(qū)域返回值,通過(guò)比較預(yù)燒區(qū)域返回值和預(yù)先燒寫(xiě)到預(yù)燒區(qū)域的目標(biāo)預(yù)燒值是否相等,確定NVM的供電電壓是否正常,并且只有在預(yù)燒區(qū)域返回值和目標(biāo)預(yù)燒值相等時(shí),即NVM的供電電壓正常時(shí),NVM控制器才會(huì)從NVM內(nèi)讀取數(shù)據(jù)。由此可知,本發(fā)明是在確定NVM的供電電壓正常后,才讀取NVM內(nèi)的數(shù)據(jù),因此,能夠有效保證讀取NVM的數(shù)據(jù)的穩(wěn)定性,避免因NVM的供電電壓處于非正常狀態(tài)所帶來(lái)的讀取數(shù)據(jù)不穩(wěn)定的問(wèn)題。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)公開(kāi)的附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例公開(kāi)的一種數(shù)據(jù)讀取方法的方法流程圖;
圖2為本發(fā)明實(shí)施例公開(kāi)的一種NVM中預(yù)燒區(qū)域界定示意圖;
圖3為本發(fā)明實(shí)施例公開(kāi)的另一種數(shù)據(jù)讀取方法的方法流程圖;
圖4為本發(fā)明實(shí)施例公開(kāi)的另一種數(shù)據(jù)讀取方法的方法流程圖;
圖5為本發(fā)明實(shí)施例公開(kāi)的一種低電壓檢測(cè)邏輯電路的結(jié)構(gòu)示意圖;
圖6為本發(fā)明實(shí)施例公開(kāi)的另一種低電壓檢測(cè)邏輯電路的結(jié)構(gòu)示意圖;
圖7為本發(fā)明實(shí)施例公開(kāi)的一種集成電路的電路圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例公開(kāi)了一種數(shù)據(jù)讀取方法、集成電路及芯片,以實(shí)現(xiàn)對(duì)NVM內(nèi)數(shù)據(jù)讀取的穩(wěn)定性,避免因NVM處于非正常供電電壓帶來(lái)的讀取數(shù)據(jù)不穩(wěn)定的問(wèn)題。
參見(jiàn)圖1,本發(fā)明實(shí)施例公開(kāi)的一種數(shù)據(jù)讀取方法的方法流程圖,該方法應(yīng)用于低電壓檢測(cè)邏輯電路,所述方法包括步驟:
步驟S101、當(dāng)接收到讀取NVM內(nèi)數(shù)據(jù)請(qǐng)求時(shí),從所述NVM預(yù)先設(shè)置的預(yù)燒區(qū)域讀取預(yù)燒區(qū)域返回值;
其中,所述預(yù)燒區(qū)域?yàn)樗鯪VM內(nèi)對(duì)低供電電壓敏感的存儲(chǔ)空間。
具體的,NVM(NonVolatile Memory,非易失存儲(chǔ)器)是一種具有非易失、按字節(jié)存取、存儲(chǔ)密度高、低能耗、讀寫(xiě)性能接近DRAM的存儲(chǔ)器,本實(shí)施例中,將NVM存儲(chǔ)單元中對(duì)低供電電壓最為敏感的存儲(chǔ)空間作為預(yù)燒區(qū)域。根據(jù)NVM的存儲(chǔ)特性可知,NVM存儲(chǔ)單元中不同的地址空間對(duì)于供電電壓的敏感程度有所區(qū)別,本專(zhuān)利的申請(qǐng)人經(jīng)過(guò)研究發(fā)現(xiàn),距離NVM的供電電源比較遠(yuǎn)的存儲(chǔ)單元相比距離NVM的供電電源近的存儲(chǔ)單元,更容易在低電壓供電的情況下出現(xiàn)數(shù)據(jù)讀取出錯(cuò)的情況,因此,在實(shí)際應(yīng)用中,可以將與NVM供電電源的偏移量超過(guò)第一偏移量的存儲(chǔ)空間作為預(yù)燒區(qū)域。如圖2所示,斜線部分所示的陣列塊2即為預(yù)燒區(qū)域,而空白區(qū)域所示的陣列塊1表示的普通數(shù)據(jù)存儲(chǔ)區(qū)域則用于存儲(chǔ)數(shù)據(jù),當(dāng)需要對(duì)NVM內(nèi)的數(shù)據(jù)進(jìn)行操作時(shí),可通過(guò)NVM接口以及操作控制邏輯實(shí)現(xiàn)對(duì)數(shù)據(jù)的處理。
需要說(shuō)明的是,預(yù)燒區(qū)域不局限于一個(gè),在不影響NVM性能的情況下,可以在NVM內(nèi)選取多個(gè)低電壓敏感區(qū)域作為預(yù)燒區(qū)域,每個(gè)預(yù)燒區(qū)域均為與NVM供電電源的偏移量超過(guò)第一偏移量的存儲(chǔ)空間,第一偏移量的數(shù)值具體依據(jù)實(shí)際需要而定。
其中,在實(shí)際應(yīng)用中,也可以根據(jù)NVM的研發(fā)人員確定該NVM的預(yù)燒區(qū)域。
為方便理解,本發(fā)明還公開(kāi)了幾種低電壓檢測(cè)邏輯電路接收讀取NVM內(nèi)數(shù)據(jù)請(qǐng)求的應(yīng)用場(chǎng)景,也即觸發(fā)低電壓檢測(cè)邏輯電路檢測(cè)NVM的供電電壓的應(yīng)用場(chǎng)景,包括:
(1)在芯片啟動(dòng)過(guò)程中,當(dāng)芯片中的電路系統(tǒng)需要從NVM中讀取系統(tǒng)配置信息以完成系統(tǒng)的配置時(shí),會(huì)觸發(fā)低電壓檢測(cè)邏輯電路檢測(cè)NVM的供電電壓;
(2)當(dāng)芯片完成啟動(dòng)后,電路系統(tǒng)由于應(yīng)用需求需要觸發(fā)NVM控制器從NVM中讀取敏感信息時(shí),會(huì)觸發(fā)低電壓檢測(cè)邏輯電路檢測(cè)NVM的供電電壓;
(3)假設(shè)芯片中存在加解密模塊,而所有的密鑰存儲(chǔ)于NVM中時(shí),當(dāng)需要從NVM中讀取密鑰時(shí),會(huì)觸發(fā)低電壓檢測(cè)邏輯電路11檢測(cè)NVM的供電電壓。
步驟S102、判斷所述預(yù)燒區(qū)域返回值是否等于目標(biāo)預(yù)燒值,如果是,則執(zhí)行步驟S103;
具體的,目標(biāo)預(yù)燒值為預(yù)先燒寫(xiě)到NVM的預(yù)燒區(qū)域的值,而預(yù)燒區(qū)域返回值為從NVM的預(yù)燒區(qū)域讀取的值,當(dāng)NVM的供電電壓正常時(shí),NVM處于穩(wěn)定狀態(tài),在這種情況下,從NVM的預(yù)燒區(qū)域讀取的預(yù)燒區(qū)域返回值與預(yù)先燒寫(xiě)到預(yù)燒區(qū)域的目標(biāo)燒寫(xiě)值相等;反之,當(dāng)NVM的供電電壓為非正常供電電壓(即NVM11的供電電壓低于最低電壓閾值)時(shí),NVM處于不穩(wěn)定狀態(tài),在這種情況下,從NVM的預(yù)燒區(qū)域讀取的預(yù)燒區(qū)域返回值會(huì)與預(yù)先燒寫(xiě)到預(yù)燒區(qū)域的目標(biāo)燒寫(xiě)值不相等。
其中,目標(biāo)預(yù)燒值的設(shè)定依據(jù)為:目標(biāo)預(yù)燒值的選取基于NVM內(nèi)存儲(chǔ)單元的結(jié)構(gòu)特性,如果存儲(chǔ)單元的結(jié)構(gòu)特性決定了NVM在低供電電壓條件下,無(wú)論存儲(chǔ)值高還是低,都會(huì)被誤認(rèn)為時(shí)初始值,因此,目標(biāo)預(yù)燒值的設(shè)定可選用與初始值相反的值,例如,假設(shè)默認(rèn)的初始值為1‘b0,則目標(biāo)預(yù)燒值可以設(shè)定為1’b1;假設(shè)默認(rèn)的初始值為1‘b1,則目標(biāo)預(yù)燒值可以設(shè)定為1’b0。
步驟S103、生成第一控制信號(hào),并將所述第一控制信號(hào)輸出至NVM控制器,控制所述NVM控制器從所述NVM內(nèi)讀取數(shù)據(jù)。
其中,預(yù)燒區(qū)域返回值相比目標(biāo)燒寫(xiě)值而言,只要出現(xiàn)比特錯(cuò)誤,則判定預(yù)燒區(qū)域返回值不等于目標(biāo)預(yù)燒值。
目標(biāo)預(yù)燒值的字節(jié)總數(shù)包括但不局限于4*N(N≥1)個(gè),在滿(mǎn)足系統(tǒng)性能的前提下,可以選取1~4*N(N≥1)中的任意個(gè)數(shù)。
綜上可知,本發(fā)明公開(kāi)的數(shù)據(jù)讀取方法,在NVM控制器從NVM讀取數(shù)據(jù)之前,低電壓檢測(cè)邏輯電路會(huì)首先從NVM的預(yù)燒區(qū)域讀取預(yù)燒區(qū)域返回值,通過(guò)比較預(yù)燒區(qū)域返回值和預(yù)先燒寫(xiě)到預(yù)燒區(qū)域的目標(biāo)預(yù)燒值是否相等,確定NVM的供電電壓是否正常,并且只有在預(yù)燒區(qū)域返回值和目標(biāo)預(yù)燒值相等時(shí),即NVM的供電電壓正常時(shí),NVM控制器才會(huì)從NVM內(nèi)讀取數(shù)據(jù)。由此可知,本發(fā)明是在確定NVM的供電電壓正常后,才讀取NVM內(nèi)的數(shù)據(jù),因此,能夠有效保證讀取NVM的數(shù)據(jù)的穩(wěn)定性,避免因NVM的供電電壓處于非正常狀態(tài)所帶來(lái)的讀取數(shù)據(jù)不穩(wěn)定的問(wèn)題。
為抵御黑客針對(duì)NVM處于非穩(wěn)定狀態(tài)時(shí)的攻擊,避免黑客繞開(kāi)系統(tǒng)控制對(duì)芯片實(shí)施攻擊,當(dāng)?shù)碗妷簷z測(cè)邏輯電路判定讀取的預(yù)燒區(qū)域返回值不等于目標(biāo)預(yù)燒值時(shí),低電壓檢測(cè)邏輯電路控制所述芯片保護(hù)部件觸發(fā)芯片進(jìn)入自我保護(hù)模式。
因此,為進(jìn)一步優(yōu)化上述實(shí)施例,如圖3所示,本發(fā)明一實(shí)施例公開(kāi)的另一種數(shù)據(jù)讀取方法的方法流程圖,在圖1所示實(shí)施例的基礎(chǔ)上,還包括步驟:
步驟S104、當(dāng)所述預(yù)燒區(qū)域返回值不等于所述目標(biāo)預(yù)燒值時(shí),生成第二控制信號(hào),并將所述第二控制信號(hào)輸出至芯片保護(hù)部件,控制所述芯片保護(hù)部件觸發(fā)芯片進(jìn)入自我保護(hù)模式。
從上述論述可知,當(dāng)芯片保護(hù)部件觸發(fā)芯片進(jìn)入自我保護(hù)模式后,芯片能夠抵御黑客針對(duì)NVM處于非穩(wěn)定狀態(tài)時(shí)的攻擊,而芯片的自我保護(hù)模式在觸發(fā)SoC復(fù)位或是不觸發(fā)SoC復(fù)位的情況下均能實(shí)現(xiàn),因此,上述實(shí)施例中,步驟S104控制所述芯片保護(hù)部件觸發(fā)芯片進(jìn)入自我保護(hù)模式的過(guò)程,具體可以包括:
控制所述芯片保護(hù)部件觸發(fā)SoC(System on Chip,系統(tǒng)級(jí)芯片)復(fù)位;或,
在不觸發(fā)所述SoC復(fù)位的情況下,控制所述芯片進(jìn)入安全模式,以使外部?jī)H能偵測(cè)到NVM低電壓的錯(cuò)誤信息。
為抵御黑客針對(duì)NVM處于非穩(wěn)定狀態(tài)時(shí)的攻擊,避免黑客繞開(kāi)系統(tǒng)控制對(duì)芯片實(shí)施攻擊,當(dāng)?shù)碗妷簷z測(cè)邏輯電路判定讀取的預(yù)燒區(qū)域返回值不等于目標(biāo)預(yù)燒值時(shí),還需控制所述NVM控制器禁止讀取所述NVM內(nèi)數(shù)據(jù)的操作。
因此,為進(jìn)一步優(yōu)化上述實(shí)施例,如圖4所示,本發(fā)明一實(shí)施例公開(kāi)的另一種數(shù)據(jù)讀取方法的方法流程圖,在圖1所示實(shí)施例的基礎(chǔ)上,還包括步驟:
步驟S105、當(dāng)所述預(yù)燒區(qū)域返回值不等于所述目標(biāo)預(yù)燒值時(shí),生成第三控制信號(hào),并將所述第三控制信號(hào)輸出至所述NVM控制器,所述第三控制信號(hào)用于控制所述NVM控制器禁止讀取所述NVM內(nèi)的數(shù)據(jù)。
需要說(shuō)明的是,在實(shí)際應(yīng)用中,為抵御黑客針對(duì)NVM處于非穩(wěn)定狀態(tài)時(shí)的攻擊,避免黑客繞開(kāi)系統(tǒng)控制對(duì)芯片實(shí)施攻擊,當(dāng)?shù)碗妷簷z測(cè)邏輯電路判定讀取的預(yù)燒區(qū)域返回值不等于目標(biāo)預(yù)燒值時(shí),在控制所述芯片保護(hù)部件觸發(fā)芯片進(jìn)入自我保護(hù)模式的同時(shí),還可以控制所述NVM控制器禁止讀取所述NVM內(nèi)的數(shù)據(jù)的操作。
綜上可知,本發(fā)明公開(kāi)的數(shù)據(jù)讀取方法,在NVM控制器從NVM讀取敏感數(shù)據(jù)之前,低電壓檢測(cè)邏輯電路會(huì)首先從NVM的預(yù)燒區(qū)域讀取預(yù)燒區(qū)域返回值,通過(guò)比較預(yù)燒區(qū)域返回值和預(yù)先燒寫(xiě)到預(yù)燒區(qū)域的目標(biāo)預(yù)燒值是否相等,確定NVM的供電電壓是否正常,并且只有在預(yù)燒區(qū)域返回值和目標(biāo)預(yù)燒值相等時(shí),即NVM的供電電壓正常時(shí),NVM控制器才會(huì)從NVM內(nèi)讀取敏感數(shù)據(jù),反之,芯片保護(hù)部件會(huì)觸發(fā)芯片進(jìn)入自我保護(hù)模式,同時(shí)NVM控制器讀取NVM內(nèi)敏感數(shù)據(jù)的操作也會(huì)被禁止。由此可知,本發(fā)明是在確定NVM的供電電壓正常后,才讀取NVM內(nèi)的敏感數(shù)據(jù),因此,能夠有效保證讀取NVM的敏感數(shù)據(jù)的穩(wěn)定性,避免因NVM的供電電壓處于非正常狀態(tài)所帶來(lái)的讀取數(shù)據(jù)不穩(wěn)定的問(wèn)題。
與上述方法實(shí)施例相對(duì)應(yīng),本發(fā)明還公開(kāi)了一種低電壓檢測(cè)邏輯電路。
參見(jiàn)圖5,本發(fā)明實(shí)施例公開(kāi)的一種低電壓檢測(cè)邏輯電路的結(jié)構(gòu)示意圖,低電壓檢測(cè)邏輯電路11分別與NVM10、NVM控制器12連接,低電壓檢測(cè)邏輯電路11包括:
讀取單元111,用于當(dāng)接收到讀取NVM10內(nèi)數(shù)據(jù)請(qǐng)求時(shí),從所述NVM10預(yù)先設(shè)置的預(yù)燒區(qū)域讀取預(yù)燒區(qū)域返回值;
其中,所述預(yù)燒區(qū)域?yàn)樗鯪VM10內(nèi)對(duì)低供電電壓敏感的存儲(chǔ)空間,根據(jù)NVM的存儲(chǔ)特性可知,NVM存儲(chǔ)單元中不同的地址空間對(duì)于供電電壓的敏感程度有所區(qū)別,本專(zhuān)利的申請(qǐng)人經(jīng)過(guò)研究發(fā)現(xiàn),距離NVM的供電電源比較遠(yuǎn)的存儲(chǔ)單元相比距離NVM的供電電源近的存儲(chǔ)單元,更容易在低電壓供電的情況下出現(xiàn)數(shù)據(jù)讀取出錯(cuò)的情況,因此,在實(shí)際應(yīng)用中,可以將與NVM供電電源的偏移量超過(guò)第一偏移量的存儲(chǔ)空間作為預(yù)燒區(qū)域。
需要說(shuō)明的是,預(yù)燒區(qū)域不局限于一個(gè),在不影響NVM性能的情況下,可以在NVM內(nèi)選取多個(gè)低電壓敏感區(qū)域作為預(yù)燒區(qū)域,每個(gè)預(yù)燒區(qū)域均為與NVM供電電源的偏移量超過(guò)第一偏移量的存儲(chǔ)空間,第一偏移量具體數(shù)值依據(jù)實(shí)際需要而定。
其中,在實(shí)際應(yīng)用中,也可以根據(jù)NVM的研發(fā)人員確定該NVM的預(yù)燒區(qū)域。
第一控制單元112,用于當(dāng)所述預(yù)燒區(qū)域返回值等于目標(biāo)預(yù)燒值時(shí),生成第一控制信號(hào),并將所述第一控制信號(hào)輸出至NVM控制器12,控制所述NVM控制器12從所述NVM10內(nèi)讀取數(shù)據(jù)。
其中,NVM控制器12是一種位于芯片內(nèi)部,用于讀取NVM10數(shù)據(jù)的部件。
目標(biāo)預(yù)燒值的設(shè)定依據(jù)為:目標(biāo)預(yù)燒值的選取基于NVM內(nèi)存儲(chǔ)單元的結(jié)構(gòu)特性,如果存儲(chǔ)單元的結(jié)構(gòu)特性決定了NVM在低供電電壓條件下,無(wú)論存儲(chǔ)值高還是低,都會(huì)被誤認(rèn)為時(shí)初始值,因此,目標(biāo)預(yù)燒值的設(shè)定可選用與初始值相反的值,例如,假設(shè)默認(rèn)的初始值為1‘b0,則目標(biāo)預(yù)燒值可以設(shè)定為1’b1;假設(shè)默認(rèn)的初始值為1‘b1,則目標(biāo)預(yù)燒值可以設(shè)定為1’b0。
綜上可知,本發(fā)明公開(kāi)的低電壓檢測(cè)邏輯電路11,在NVM控制器12從NVM10讀取數(shù)據(jù)之前,低電壓檢測(cè)邏輯電路11會(huì)首先從NVM10的預(yù)燒區(qū)域讀取預(yù)燒區(qū)域返回值,通過(guò)比較預(yù)燒區(qū)域返回值和預(yù)先燒寫(xiě)到預(yù)燒區(qū)域的目標(biāo)預(yù)燒值是否相等,確定NVM10的供電電壓是否正常,并且只有在預(yù)燒區(qū)域返回值和目標(biāo)預(yù)燒值相等時(shí),即NVM10的供電電壓正常時(shí),NVM控制器12才會(huì)從NVM10內(nèi)讀取數(shù)據(jù)。由此可知,本發(fā)明是在確定NVM10的供電電壓正常后,才讀取NVM10內(nèi)的數(shù)據(jù),因此,能夠有效保證讀取NVM10的數(shù)據(jù)的穩(wěn)定性,避免因NVM10的供電電壓處于非正常狀態(tài)所帶來(lái)的讀取數(shù)據(jù)不穩(wěn)定的問(wèn)題。
為進(jìn)一步優(yōu)化上述實(shí)施例,參見(jiàn)圖6,本發(fā)明另一實(shí)施例公開(kāi)的一種低電壓檢測(cè)邏輯電路的結(jié)構(gòu)示意圖,在圖5所示實(shí)施例的基礎(chǔ)上,低電壓檢測(cè)邏輯電路還可以包括:
第二控制單元113,用于當(dāng)所述預(yù)燒區(qū)域返回值不等于所述目標(biāo)預(yù)燒值時(shí),生成第二控制信號(hào),并將所述第二控制信號(hào)輸出至芯片保護(hù)部件13,控制所述芯片保護(hù)部件13觸發(fā)芯片進(jìn)入自我保護(hù)模式。
從上述論述可知,當(dāng)芯片保護(hù)部件13觸發(fā)芯片進(jìn)入自我保護(hù)模式后,芯片能夠抵御黑客針對(duì)NVM處于非穩(wěn)定狀態(tài)時(shí)的攻擊,而芯片的自我保護(hù)模式在觸發(fā)SoC復(fù)位或是不觸發(fā)SoC復(fù)位的情況下均能實(shí)現(xiàn),因此,上述實(shí)施例中,第二控制單元53控制所述芯片保護(hù)部件13觸發(fā)芯片進(jìn)入自我保護(hù)模式的過(guò)程,具體可以包括:
控制所述芯片保護(hù)部件13觸發(fā)SoC(System on Chip,系統(tǒng)級(jí)芯片)復(fù)位;或,
在不觸發(fā)所述SoC復(fù)位的情況下,控制所述芯片進(jìn)入安全模式,以使外部?jī)H能偵測(cè)到NVM低電壓的錯(cuò)誤信息。
為抵御黑客針對(duì)NVM處于非穩(wěn)定狀態(tài)時(shí)的攻擊,避免黑客繞開(kāi)系統(tǒng)控制對(duì)芯片實(shí)施攻擊,當(dāng)?shù)碗妷簷z測(cè)邏輯電路11判定讀取的預(yù)燒區(qū)域返回值不等于目標(biāo)預(yù)燒值時(shí),還需控制所述NVM控制器12禁止讀取所述NVM10內(nèi)的數(shù)據(jù)的操作。
因此,低電壓檢測(cè)邏輯電路還可以包括:
第三控制單元114,用于當(dāng)所述預(yù)燒區(qū)域返回值不等于所述目標(biāo)預(yù)燒值時(shí),生成第三控制信號(hào),并將所述第三控制信號(hào)輸出至所述NVM控制器12,所示第三控制信號(hào)用于控制所述NVM控制器12禁止讀取所述NVM10內(nèi)的數(shù)據(jù)。
需要說(shuō)明的是,在實(shí)際應(yīng)用中,為抵御黑客針對(duì)NVM處于非穩(wěn)定狀態(tài)時(shí)的攻擊,避免黑客繞開(kāi)系統(tǒng)控制對(duì)芯片實(shí)施攻擊,當(dāng)?shù)碗妷簷z測(cè)邏輯電路判定讀取的預(yù)燒區(qū)域返回值不等于目標(biāo)預(yù)燒值時(shí),可以同時(shí)控制第二控制單元113控制所述芯片保護(hù)部件觸發(fā)芯片進(jìn)入自我保護(hù)模式,以及第三控制單元114控制所述NVM控制器12禁止讀取所述NVM10內(nèi)的數(shù)據(jù)。
綜上可知,本發(fā)明公開(kāi)的低電壓檢測(cè)邏輯電路11,在NVM控制器12從NVM10讀取數(shù)據(jù)之前,低電壓檢測(cè)邏輯電路11會(huì)首先從NVM10的預(yù)燒區(qū)域讀取預(yù)燒區(qū)域返回值,通過(guò)比較預(yù)燒區(qū)域返回值和預(yù)先燒寫(xiě)到預(yù)燒區(qū)域的目標(biāo)預(yù)燒值是否相等,確定NVM10的供電電壓是否正常,并且只有在預(yù)燒區(qū)域返回值和目標(biāo)預(yù)燒值相等時(shí),即NVM10的供電電壓正常時(shí),NVM控制器12才會(huì)從NVM10內(nèi)讀取數(shù)據(jù),反之,芯片保護(hù)部件13會(huì)觸發(fā)芯片進(jìn)入自我保護(hù)模式,同時(shí)控制NVM控制器12禁止讀取NVM10內(nèi)的數(shù)據(jù)。由此可知,本發(fā)明是在確定NVM10的供電電壓正常后,才讀取NVM10內(nèi)的數(shù)據(jù),因此,能夠有效保證讀取NVM10的數(shù)據(jù)的穩(wěn)定性,避免因NVM10的供電電壓處于非正常狀態(tài)所帶來(lái)的讀取數(shù)據(jù)不穩(wěn)定的問(wèn)題。
為方便理解,本發(fā)明還公開(kāi)了幾種低電壓檢測(cè)邏輯電路11接收讀取NVM10內(nèi)數(shù)據(jù)請(qǐng)求的應(yīng)用場(chǎng)景,也即觸發(fā)低電壓檢測(cè)邏輯電路11檢測(cè)NVM10的供電電壓的應(yīng)用場(chǎng)景,包括:
(1)在芯片啟動(dòng)過(guò)程中,當(dāng)芯片中的電路系統(tǒng)需要從NVM10中讀取系統(tǒng)配置信息以完成系統(tǒng)的配置時(shí),會(huì)觸發(fā)低電壓檢測(cè)邏輯電路11檢測(cè)NVM10的供電電壓;
(2)當(dāng)芯片完成啟動(dòng)后,電路系統(tǒng)由于應(yīng)用需求需要觸發(fā)NVM控制器12從NVM10中讀取敏感信息時(shí),會(huì)觸發(fā)低電壓檢測(cè)邏輯電路11檢測(cè)NVM10的供電電壓;
(3)假設(shè)芯片中存在加解密模塊,而所有的密鑰存儲(chǔ)于NVM10中時(shí),當(dāng)需要從NVM10中讀取密鑰時(shí),會(huì)觸發(fā)低電壓檢測(cè)邏輯電路11檢測(cè)NVM10的供電電壓。
當(dāng)?shù)碗妷簷z測(cè)邏輯電路11在上述三個(gè)情形下觸發(fā)后,首先電路系統(tǒng)進(jìn)入從NVM10中讀取系統(tǒng)配置信息、密鑰或其他敏感信息的預(yù)備狀態(tài);然后低電壓檢測(cè)邏輯電路11從預(yù)燒區(qū)域讀取預(yù)燒區(qū)域返回值,判斷預(yù)燒區(qū)域返回值是否等于目標(biāo)預(yù)燒值;若所述預(yù)燒區(qū)域返回值等于所述目標(biāo)預(yù)燒值,則生成第一控制信號(hào),并將所述第一控制信號(hào)輸出至NVM控制器12,控制所述NVM控制器12從所述NVM內(nèi)讀取系統(tǒng)配置信息、密鑰或其他敏感信息;若所述預(yù)燒區(qū)域返回值不等于所述目標(biāo)預(yù)燒值,則生成第二控制信號(hào)和第三控制信號(hào),并將所述第二控制信號(hào)輸出至芯片保護(hù)部件13,控制所述芯片保護(hù)部件13觸發(fā)芯片進(jìn)入自我保護(hù)模式,將所述第三控制信號(hào)輸出至所述NVM控制器12,所述第三控制信號(hào)用于控制所述NVM控制器12禁止讀取所述NVM內(nèi)的系統(tǒng)配置信息、密鑰或其他敏感信息。
參見(jiàn)圖7,本發(fā)明還公開(kāi)了一種集成電路的電路圖,該集成電路包括:NVM控制器12以及上述的低電壓檢測(cè)邏輯電路11;
所述NVM控制器12的第一輸入端與所述低電壓檢測(cè)邏輯電路11的第一信號(hào)控制端連接,所述NVM控制器12的第二輸入端與NVM10連接,所述NVM控制器12用于在所述低電壓檢測(cè)邏輯電路11判定從所述NVM10預(yù)先設(shè)置的預(yù)燒區(qū)域讀取的預(yù)燒區(qū)域返回值等于目標(biāo)預(yù)燒值時(shí),根據(jù)所述低電壓檢測(cè)邏輯電路生成的第一控制信號(hào),從所述NVM10內(nèi)讀取數(shù)據(jù);在所述低電壓檢測(cè)邏輯電路11判定所述預(yù)燒區(qū)域返回值不等于所述目標(biāo)預(yù)燒值時(shí),接收所述低電壓檢測(cè)邏輯電路11生成的第三控制信號(hào),所述第三控制信號(hào)用于控制所述NVM控制器12禁止讀取所述NVM10內(nèi)的數(shù)據(jù);
其中,所述目標(biāo)預(yù)燒值為預(yù)先燒寫(xiě)到所述預(yù)燒區(qū)域的值,所述預(yù)燒區(qū)域?yàn)樗鯪VM10內(nèi)對(duì)低供電電壓敏感的存儲(chǔ)空間。
需要說(shuō)明的是,低電壓檢測(cè)邏輯電路11的具體工作原理,請(qǐng)參見(jiàn)上述實(shí)施例,此次不再贅述。
為抵御黑客針對(duì)NVM處于非穩(wěn)定狀態(tài)時(shí)的攻擊,避免黑客繞開(kāi)系統(tǒng)控制對(duì)芯片實(shí)施攻擊,當(dāng)?shù)碗妷簷z測(cè)邏輯電路11判定讀取的預(yù)燒區(qū)域返回值不等于目標(biāo)預(yù)燒值時(shí),還可以控制芯片保護(hù)部件13觸發(fā)芯片進(jìn)入自我保護(hù)模式。
因此,為進(jìn)一步優(yōu)化上述實(shí)施例,在上述實(shí)施例的基礎(chǔ)上,集成電路還可以包括:芯片保護(hù)部件13;
所述芯片保護(hù)部件13的輸入端與所述低電壓檢測(cè)邏輯電路11的第二信號(hào)控制端連接,所述芯片保護(hù)部件13用于在所述低電壓檢測(cè)邏輯電路11判定所述預(yù)燒區(qū)域返回值不等于所述目標(biāo)預(yù)燒值時(shí),根據(jù)所述低電壓檢測(cè)邏輯電路11生成的第二控制信號(hào),觸發(fā)芯片進(jìn)入自我保護(hù)模式。
從上述論述可知,當(dāng)芯片保護(hù)部件13觸發(fā)芯片進(jìn)入自我保護(hù)模式后,芯片能夠抵御黑客針對(duì)NVM處于非穩(wěn)定狀態(tài)時(shí)的攻擊,而芯片的自我保護(hù)模式在觸發(fā)SoC復(fù)位或是不觸發(fā)SoC復(fù)位的情況下均能實(shí)現(xiàn),因此,當(dāng)?shù)碗妷簷z測(cè)邏輯電路11控制所述芯片保護(hù)部件13觸發(fā)芯片進(jìn)入自我保護(hù)模式的過(guò)程,具體可以包括:
控制所述芯片保護(hù)部件13觸發(fā)SoC(System on Chip,系統(tǒng)級(jí)芯片)復(fù)位;或,
在不觸發(fā)所述SoC復(fù)位的情況下,控制所述芯片進(jìn)入安全模式,以使外部?jī)H能偵測(cè)到NVM低電壓的錯(cuò)誤信息。
綜上可知,本發(fā)明公開(kāi)的集成電路,在NVM控制器12從NVM10讀取數(shù)據(jù)之前,低電壓檢測(cè)邏輯電路11會(huì)首先從NVM10的預(yù)燒區(qū)域讀取預(yù)燒區(qū)域返回值,通過(guò)比較預(yù)燒區(qū)域返回值和預(yù)先燒寫(xiě)到預(yù)燒區(qū)域的目標(biāo)預(yù)燒值是否相等,確定NVM10的供電電壓是否正常,并且只有在預(yù)燒區(qū)域返回值和目標(biāo)預(yù)燒值相等時(shí),即NVM10的供電電壓正常時(shí),NVM控制器12才會(huì)從NVM10內(nèi)讀取數(shù)據(jù),反之,芯片保護(hù)部件13會(huì)觸發(fā)芯片進(jìn)入自我保護(hù)模式,同時(shí)控制NVM控制器12禁止讀取NVM10內(nèi)的數(shù)據(jù)。由此可知,本發(fā)明是在確定NVM10的供電電壓正常后,才讀取NVM10內(nèi)的數(shù)據(jù),因此,能夠有效保證讀取NVM10的數(shù)據(jù)的穩(wěn)定性,避免因NVM10的供電電壓處于非正常狀態(tài)所帶來(lái)的讀取數(shù)據(jù)不穩(wěn)定的問(wèn)題。
本領(lǐng)域技術(shù)人員可以理解的是,芯片是由集成電路構(gòu)成的,而NVM10既可以位于芯片外部,也可以位于芯片內(nèi)部,因此,在上述實(shí)施例的基礎(chǔ)上,本發(fā)明還提供了兩種芯片,第一種芯片集成有上述實(shí)施例中的集成電路,但并沒(méi)有集成NVM10;第二種芯片同時(shí)集成有上述實(shí)施例中的集成電路和NVM10,其中,NVM10與集成電路連接,NVM10預(yù)先設(shè)置有對(duì)低供電電壓敏感的預(yù)燒區(qū)域,所述預(yù)燒區(qū)域內(nèi)預(yù)先燒寫(xiě)有目標(biāo)預(yù)燒值。
需要說(shuō)明的是,在芯片量產(chǎn)階段或者使測(cè)試階段,通過(guò)NVM專(zhuān)有測(cè)試口將目標(biāo)預(yù)燒值成功燒入到NVM10的預(yù)燒區(qū)域后,還需對(duì)該預(yù)燒區(qū)域加以寫(xiě)保護(hù),避免NVM10在正常的功能模式下,因CPU(Central Processing Unit,中央處理器)的錯(cuò)誤燒寫(xiě)改寫(xiě)預(yù)燒區(qū)域的目標(biāo)預(yù)燒值。
為方便理解,本發(fā)明還提供了幾種觸發(fā)低電壓檢測(cè)邏輯電路11檢測(cè)NVM10的供電電壓的應(yīng)用場(chǎng)景,包括:
(1)在芯片啟動(dòng)過(guò)程中,當(dāng)芯片中的電路系統(tǒng)需要從NVM10中讀取系統(tǒng)配置信息以完成系統(tǒng)的配置時(shí),會(huì)觸發(fā)低電壓檢測(cè)邏輯電路11檢測(cè)NVM10的供電電壓;
(2)當(dāng)芯片完成啟動(dòng)后,電路系統(tǒng)由于應(yīng)用需求需要觸發(fā)NVM控制器12從NVM10中讀取敏感信息時(shí),會(huì)觸發(fā)低電壓檢測(cè)邏輯電路11檢測(cè)NVM10的供電電壓;
(3)假設(shè)芯片中存在加解密模塊,而所有的密鑰存儲(chǔ)于NVM10中時(shí),當(dāng)需要從NVM10中讀取密鑰時(shí),會(huì)觸發(fā)低電壓檢測(cè)邏輯電路11檢測(cè)NVM10的供電電壓。
當(dāng)?shù)碗妷簷z測(cè)邏輯電路11在上述三個(gè)情形下觸發(fā)后,首先電路系統(tǒng)進(jìn)入從NVM10中讀取系統(tǒng)配置信息、密鑰或其他敏感信息的預(yù)備狀態(tài);然后低電壓檢測(cè)邏輯電路11從預(yù)燒區(qū)域讀取預(yù)燒區(qū)域返回值,判斷預(yù)燒區(qū)域返回值是否等于目標(biāo)預(yù)燒值;若所述預(yù)燒區(qū)域返回值等于所述目標(biāo)預(yù)燒值,則生成第一控制信號(hào),并將所述第一控制信號(hào)輸出至NVM控制器,控制所述NVM控制器從所述NVM內(nèi)讀取系統(tǒng)配置信息、密鑰或其他敏感信息;若所述預(yù)燒區(qū)域返回值不等于所述目標(biāo)預(yù)燒值,則生成第二控制信號(hào)和第三控制信號(hào),并將所述第二控制信號(hào)輸出至芯片保護(hù)部件13,控制所述芯片保護(hù)部件13觸發(fā)芯片進(jìn)入自我保護(hù)模式,將所述第三控制信號(hào)輸出至所述NVM控制器12,所述第三控制信號(hào)用于控制所述NVM控制器12禁止讀取所述NVM內(nèi)的系統(tǒng)配置信息、密鑰或其他敏感信息。
最后,還需要說(shuō)明的是,在本文中,諸如第一和第二等之類(lèi)的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說(shuō)明書(shū)中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見(jiàn)即可。
對(duì)所公開(kāi)的實(shí)施例的上述說(shuō)明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專(zhuān)業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開(kāi)的原理和新穎特點(diǎn)相一致的最寬的范圍。