本發(fā)明涉及過燒寫保護技術(shù)領(lǐng)域,尤其涉及一種片上系統(tǒng)芯片過燒寫保護方法及片上系統(tǒng)芯片。
背景技術(shù):
一次性可編程存儲器的燒寫原理是,MOS(Met al Ox i de S emi conduct or,金屬氧化物半導(dǎo)體場效應(yīng)晶體管)管的柵極被施加燒寫編程電壓后,擊穿晶體管的柵氧化層與襯底或漏極形成導(dǎo)通電路,從而由邏輯0狀態(tài)轉(zhuǎn)化為邏輯1狀態(tài),其中,邏輯0指存儲單元的可讀寫狀態(tài),邏輯1指存儲單元的不可寫狀態(tài)。但是,在實際芯片的測試中發(fā)現(xiàn),如果長時間給晶體管柵極施加編程電壓,柵極與襯底或漏極的導(dǎo)通電路斷開,重新返回邏輯0狀態(tài),導(dǎo)致存儲單元的信息丟失,極大降低存儲單元的安全可靠性。
為了防止一次性可編程存儲器的過燒寫導(dǎo)致的邏輯狀態(tài)變化問題,為一次性可編程存儲器的所有存儲單元提供一個全局寫保護位,所述寫保護位即寫保護程序。當(dāng)一次性可編程存儲器的所有存儲單元均燒寫完成后,全局寫保護位生效,如果應(yīng)用程序向其中的存儲單元寫入程序,此時,處理器調(diào)用寫保護程序,并執(zhí)行寫保護程序?qū)?yīng)的操作,阻止向存儲單元內(nèi)寫入程序。
但是,一次性可編程存儲器包含多個存儲單元,當(dāng)其中一部分燒寫完成,另一部分未燒寫時,依然存在燒寫完成的存儲單元的晶體管柵極被施加編程電壓,導(dǎo)致該存儲單元的邏輯狀態(tài)發(fā)生變化。并且,當(dāng)全局寫保護位生效后,一次性可編程存儲器變?yōu)橹蛔x狀態(tài),導(dǎo)致其使用靈活性降低。
技術(shù)實現(xiàn)要素:
為克服相關(guān)技術(shù)中存在的問題,本發(fā)明提供一種片上系統(tǒng)芯片過燒寫保護方法及片上系統(tǒng)芯片。
根據(jù)本發(fā)明實施例的第一方面,提供一種片上系統(tǒng)芯片,所述片上系統(tǒng)芯片包括一次性可編程存儲器,所述一次性可編程存儲器包括多個存儲單元,包括:上電自動讀取模塊、OTP讀寫控制模塊、寫入模塊、讀取模塊及多個與所述存儲單元對應(yīng)的寫保護控制單元,其中:
多個所述寫保護控制單元分別與所述存儲單元電連接;
所述上電自動讀取模塊與多個所述寫保護控制單元電連接,用于讀取寫保護控制單元對應(yīng)的存儲單元的邏輯狀態(tài)信息;
所述寫入模塊與讀取模塊的一端與所述存儲單元電連接,另一端與所述上電自動讀取模塊電連接;
所述OTP讀寫控制模塊與所述上電自動讀取模塊電連接,用于控制寫入模塊和讀取模塊執(zhí)行寫入和讀取操作。
進一步的,所述寫入模塊包括導(dǎo)通開關(guān),所述導(dǎo)通開關(guān)與所有所述存儲單元電連接,并由不同的編程電壓控制與對應(yīng)的存儲單元導(dǎo)通。
進一步的,所述讀取模塊包括導(dǎo)通開關(guān),所述導(dǎo)通開關(guān)與所有所述存儲單元電連接,并由不同的編程電壓控制與對應(yīng)的存儲單元導(dǎo)通。
第二方面,提供一種片上系統(tǒng)芯片過燒寫保護方法,所述片上系統(tǒng)芯片包括多個存儲單元,包括:
接收存儲單元燒寫指令;
獲取所有存儲單元的邏輯狀態(tài)信息;
根據(jù)所有所述存儲單元的邏輯狀態(tài)信息,判斷所述存儲單元燒寫指令對應(yīng)的存儲單元的邏輯狀態(tài)是否為1;
當(dāng)所述存儲單元燒寫指令對應(yīng)的存儲單元的邏輯狀態(tài)為1時,控制不執(zhí)行所述存儲單元燒寫指令對應(yīng)的操作。
進一步的,所述方法還包括:
當(dāng)所述存儲單元燒寫指令對應(yīng)的存儲單元的邏輯狀態(tài)為0時,控制執(zhí)行所述存儲單元燒寫指令對應(yīng)的操作。
進一步的,所述控制執(zhí)行所述存儲單元燒寫指令,包括:
控制寫入模塊向存儲單元燒寫指令對應(yīng)的存儲單元寫入數(shù)據(jù)。
進一步的,所述方法還包括:
接收片上系統(tǒng)芯片的啟動指令;
根據(jù)所述啟動指令,首先啟動上電自動讀取模塊。
本發(fā)明的實施例提供的技術(shù)方案可以包括以下有益效果:
本發(fā)明實施例提供的方法,接收存儲單元燒寫指令;獲取所有存儲單元的邏輯狀態(tài)信息;根據(jù)所有所述存儲單元的邏輯狀態(tài)信息,判斷所述存儲單元燒寫指令對應(yīng)的存儲單元的邏輯狀態(tài)是否為1;當(dāng)所述存儲單元燒寫指令對應(yīng)的存儲單元的邏輯狀態(tài)為1時,控制不執(zhí)行所述存儲單元燒寫指令對應(yīng)的操作。由上述描述可知,本發(fā)明實施例提供的方法針對每一個存儲單元實施寫保護,既保證避免過燒寫問題,同時保證應(yīng)用的靈活性。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實施例,并與說明書一起用于解釋本發(fā)明的原理。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,對于本領(lǐng)域普通技術(shù)人員而言,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的一種片上系統(tǒng)芯片結(jié)構(gòu)示意圖;
圖2為本發(fā)明實施例提供的一種片上系統(tǒng)芯片過燒寫保護方法流程示意圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本發(fā)明相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
基于邏輯工藝的一次性可編程存儲器的設(shè)計主要采用動態(tài)隨機存儲器結(jié)構(gòu),利用晶體管的柵氧化層的可擊穿性來進行數(shù)據(jù)編程。這種一次性可編程存儲器的每個存儲單元都包括兩個晶體管,其中一個晶體管時用于輸入輸出的后柵氧化層晶體管,另一個晶體管時用于芯片內(nèi)部電路的薄柵氧化層晶體管,由于其柵氧化層較薄,因此很容易在較低電壓下被擊穿形成導(dǎo)通電路。但是,當(dāng)長時間施加電壓后,該導(dǎo)通電路會關(guān)閉,導(dǎo)致存儲單元變?yōu)榭蓪懭氲倪壿嫚顟B(tài),此時,存儲單元內(nèi)存儲的數(shù)據(jù)容易丟失。
本發(fā)明實施例提供了一種片上系統(tǒng)芯片,參見圖1,為本發(fā)明實施例提供的片上系統(tǒng)芯片的結(jié)構(gòu)示意圖。
如圖中所示,片上系統(tǒng)芯片包括多個存儲單元,多個存儲單元分別電連接有寫保護控制單元,所述寫保護控制單元用于讀取存儲單元的寫保護控制位,控制存儲單元的寫權(quán)限。當(dāng)存儲單元的寫保護控制位為邏輯0時,該存儲單元可寫入數(shù)據(jù),當(dāng)寫保護控制位為邏輯1時,該存儲單元不可寫入數(shù)據(jù)。所有存儲單元均設(shè)置有與其電連接的寫保護控制單元,寫保護控制單元用于獲取存儲單元的寫保護控制位。
上電自動讀取模塊與所有的寫保護控制單元電連接,可用于讀取所有存儲單元的寫保護控制位,并將存儲單元的邏輯狀態(tài)存儲在邏輯狀態(tài)寄存器中保存。OTP讀寫控制模塊與上電自動讀取模塊電連接,用于讀取上電自動讀取模塊中保存的各存儲單元的邏輯狀態(tài),并根據(jù)各存儲單元的邏輯狀態(tài)控制寫入模塊和讀取模塊的工作。
寫入模塊和讀取模塊的一端與存儲單元電連接,另一端與OTP讀寫控制模塊電連接,用于根據(jù)讀取的存儲單元的邏輯狀態(tài),控制寫入單元是否寫入數(shù)據(jù),或者根據(jù)讀取指令,控制讀取模塊讀取存儲單元內(nèi)的數(shù)據(jù)。
當(dāng)OTP讀寫控制模塊接收到向存儲單元內(nèi)寫入數(shù)據(jù)數(shù)據(jù)的指令后,OTP讀寫控制模塊讀取上電自動讀取模塊中該存儲單元的邏輯狀態(tài),當(dāng)邏輯狀態(tài)為0時,OTP讀寫控制模塊控制寫入模塊向存儲單元內(nèi)寫入數(shù)據(jù),當(dāng)該存儲單元的邏輯狀態(tài)為1時,OTP讀寫控制模塊不控制寫入模塊寫入數(shù)據(jù),并返回屏蔽指令至處理器中,從而解決多次燒寫導(dǎo)致存儲單元由邏輯狀態(tài)1改為邏輯狀態(tài)0導(dǎo)致的數(shù)據(jù)丟失問題,以及一次性可編程存儲器的不穩(wěn)定性。
本發(fā)明實施例還提供了一種片上系統(tǒng)芯片過燒寫保護方法,參見圖2,圖2為本發(fā)明實施例提供的一種片上系統(tǒng)芯片過燒寫保護方法。
在步驟S100中,接收存儲單元燒寫指令。
當(dāng)存在硬件或燒錄編程器為片上系統(tǒng)芯片進行燒錄時,處理器向片上系統(tǒng)芯片的OTP讀寫控制模塊發(fā)送存儲單元燒寫指令,OTP讀寫控制模塊在接收到存儲單元燒寫指令后,執(zhí)行相應(yīng)的操作。
在本發(fā)明實施例中,OTP讀寫控制模塊接收到存儲單元燒寫指令后,在步驟S200中,獲取所有存儲單元的邏輯狀態(tài)信息。
本發(fā)明實施例提供的方法應(yīng)用在片上系統(tǒng)芯片的OTP讀寫控制模塊中,當(dāng)芯片上電后,上電自動讀取模塊首先執(zhí)行程序,獲取各存儲單元的邏輯狀態(tài),并保存在邏輯狀態(tài)寄存器中,當(dāng)OTP讀寫控制模塊接收到存儲單元燒寫指令后,從邏輯狀態(tài)寄存器中獲取所有存儲單元的邏輯狀態(tài)信息。
在步驟S300中,OTP讀寫控制模塊根據(jù)所有存儲單元的邏輯狀態(tài)信息,判斷存儲單元燒寫指令對應(yīng)的存儲單元的邏輯狀態(tài)是否為1。
邏輯單元燒寫指令中包含有存儲單元燒寫指令對應(yīng)的存儲單元字符,OTP讀寫控制模塊接收到存儲單元燒寫指令后,提取指令中的存儲單元字符,根據(jù)所有存儲單元的邏輯狀態(tài)信息,判斷存儲單元燒寫指令對應(yīng)的存儲單元的邏輯狀態(tài)。
在步驟S400中,當(dāng)存儲單元燒寫指令對應(yīng)的存儲單元的邏輯狀態(tài)為1時,控制不執(zhí)行存儲單元燒寫指令對應(yīng)的操作。
邏輯狀態(tài)為1時,表示此存儲單元處于不可燒寫狀態(tài),邏輯狀態(tài)為1時,表示存儲單元處于可燒寫狀態(tài)。OTP讀寫控制模塊通過判斷存儲單元的邏輯狀態(tài),確定所述存儲單元是否可以燒寫,當(dāng)存儲單元燒寫指令對應(yīng)的存儲單元的邏輯狀態(tài)為1時,此時所述存儲單元處于不可燒寫狀態(tài),為了防止所述存儲單元中的存儲數(shù)據(jù)丟失,OTP讀寫控制模塊將存儲單元燒寫指令屏蔽掉,不控制寫入模塊向存儲單元內(nèi)寫入數(shù)據(jù),并返回屏蔽消息至處理器。
在步驟S500中,當(dāng)存儲單元燒寫指令對應(yīng)的存儲單元的邏輯狀態(tài)為0時,控制執(zhí)行存儲單元燒寫指令。
當(dāng)存儲單元的邏輯狀態(tài)為0時,此存儲單元還未被燒寫程序,此時,OTP讀寫控制模塊控制寫入模塊向存儲單元內(nèi)燒寫程序。
由上述描述可知,本發(fā)明實施例提供的方法,通過在一次性可編程存儲器的每一個存儲單元設(shè)置寫保護控制單元,保證每一個存儲單元可單獨被寫保護控制單元保護,上電自動讀取模塊上電后自動讀取每個存儲單元的邏輯狀態(tài)并保存至寄存器中,OTP讀寫控制模塊在接收到存儲單元燒寫指令后,從寄存器中獲取每個存儲單元的邏輯狀態(tài),判斷存儲單元燒寫指令對應(yīng)的存儲單元是否可燒寫,當(dāng)不可燒寫時,OTP讀寫控制模塊不控制寫入模塊向存儲單元內(nèi)寫入數(shù)據(jù)。本發(fā)明實施例提供的方法可有效保護存儲單元,并防止存儲單元由于過燒寫造成的數(shù)據(jù)丟失,保證了數(shù)據(jù)安全性。另外,每個存儲單元均設(shè)置有寫保護控制單元,防止寫保護位有效后整個存儲器處于只讀狀態(tài)。
本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里發(fā)明的公開后,將容易想到本發(fā)明的其它實施方案。本申請旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。