專利名稱:將數(shù)據(jù)寫入芯片內(nèi)存儲器的方法及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是提供有關(guān)將數(shù)據(jù)寫入芯片內(nèi)存儲器的方法及其系統(tǒng),尤指一種
利用固件將微電溶絲(eFuse)數(shù)據(jù)寫入芯片內(nèi)第一儲存器的方法及數(shù)據(jù)編程 系統(tǒng)。
背景技術(shù):
數(shù)字版權(quán)管理(digital right management, DRM)著重在保護與加密,可 視為一種解決數(shù)據(jù)非法拷貝問題的方法;即保護內(nèi)容以及限制數(shù)據(jù)的傳播, 僅讓付費者可以使用。因此,數(shù)字版權(quán)管理一般需要電子裝置具有獨特的證 書以及相應(yīng)的私有密鑰。傳統(tǒng)的方法是通過外部的引腳連接來將私有密鑰記 錄在芯片內(nèi)的可一次編程存儲器(on-chip one-time-programmable storage)中, 例如所述的裝置的微電溶絲(eFuse)。舉例來說,在集成電路(IC)測試機 或生產(chǎn)線上通過芯片外部的引腳連接將私有密鑰編程(progmm)入芯片內(nèi)的可 一次編程存儲器中。然而,通過外部的引腳連接來記錄私有密鑰會使私有密 鑰暴露在外在的環(huán)境之下而造成可能的數(shù)據(jù)保護漏洞,因為黑客(hacker)非 常有可能通過這些外部的引腳連接從存儲器中取得私有密鑰。通常,由于在 生產(chǎn)制造過程中,私有密鑰并未受到任何加密方法的保護,因此私有密鑰有 被集成電路測試機或生產(chǎn)線的操作員竊取的風(fēng)險。
發(fā)明內(nèi)容
本發(fā)明提供一種利用存儲于芯片內(nèi)存儲器的固件來將數(shù)據(jù)(例如微電溶 絲數(shù)據(jù))寫入另一芯片內(nèi)存儲器的方法及數(shù)據(jù)編程系統(tǒng)。
提供一種將數(shù)據(jù)寫入芯片內(nèi)第一存儲器的方法,所述的方法包含有將 初始固件存入芯片內(nèi)第二存儲器;利用所述的初始固件依據(jù)特定數(shù)據(jù)對第一存儲器進行編程;以及在所述的特定數(shù)據(jù)被成功存入第一存儲器后,阻斷對 所述的特定數(shù)據(jù)的至少一部分執(zhí)行更進一步的編程操作。
再提供一種將數(shù)據(jù)寫入芯片內(nèi)第一存儲器的方法,所述的方法包含有 將初始固件存入所述的芯片內(nèi)的第二存儲器;以及利用所述的初始固件依據(jù) 微電溶絲數(shù)據(jù)對所述的第一存儲器進行編程。
又提供一種數(shù)據(jù)編程系統(tǒng),所述的系統(tǒng)包含有芯片內(nèi)第一存儲器;芯
片內(nèi)第二存儲器,用來存儲初始固件;以及耦接至所述的第一存儲器及所述
的第二存儲器的控制模塊,其中所述的控制模塊利用初始固件依據(jù)特定數(shù)據(jù) 對第一存儲器進行編程,且在所述的特定數(shù)據(jù)成功存入第一存儲器后,阻斷 對所述的特定數(shù)據(jù)的至少一部分執(zhí)行更進一步的編程操作。
另提供一種數(shù)據(jù)編程系統(tǒng),所述的系統(tǒng)包含有第一存儲器,位于芯片 中;第二存儲器,位于所述的芯片中,用來存儲初始固件;以及控制模塊, 位于所述的芯片中,并耦接至所述的第一存儲器及所述的第二存儲器;所述 的控制模塊利用所述的初始固件依據(jù)微電溶絲數(shù)據(jù)對所述的第一存儲器進行 編程。
本發(fā)明提供的有關(guān)將數(shù)據(jù)寫入芯片內(nèi)存儲器的方法及數(shù)據(jù)編程系統(tǒng),能 夠節(jié)省芯片的外部引腳連接并防止計算機黑客利用一些外部工具存取或改變 存儲器的內(nèi)容(例如燒錄在微電溶絲內(nèi)的私有密鑰)。
圖1所示為依據(jù)本發(fā)明對芯片內(nèi)存儲器做數(shù)據(jù)編程的系統(tǒng)的一個實施方 式的功能方塊示意圖。
圖2所示為依據(jù)本發(fā)明對芯片內(nèi)存儲器做數(shù)據(jù)編程的一個實施方式的流 程圖。
圖3所示為依據(jù)本發(fā)明對芯片內(nèi)存儲器做數(shù)據(jù)編程的另一個實施方式的 流程圖。
具體實施例方式
在說明書及權(quán)利要求書當(dāng)中使用了某些詞匯來指稱特定的組件。本領(lǐng)域 的技術(shù)人員應(yīng)可理解,硬件制造商可能會用不同的名詞來稱呼同樣的組件。 本說明書及權(quán)利要求書并不以名稱的差異作為區(qū)分組件的方式,而是以組件 在功能上的差異作為區(qū)分的準則。在通篇說明書及權(quán)利要求當(dāng)中所提及的"包 含"是為開放式的用語,故應(yīng)解釋成"包含但不限定于"。另外,"耦接" 一詞在此是包含任何直接及間接的電氣連接手段。因此,若文中描述第一裝 置耦接至第二裝置,則代表所述的第一裝置可直接電氣連接于所述的第二裝 置,或通過其它裝置或連接手段間接地電氣連接至所述的第二裝置。
為了節(jié)省芯片的引腳連接以及防止計算機黑客從外部存取或改變芯片內(nèi) 的可一次編程存儲器(如微電溶絲)的內(nèi)容,本發(fā)明利用固件依據(jù)特定數(shù)據(jù) 對所述的存儲器進行編程,接著在所述的特定數(shù)據(jù)被成功存入之后,阻斷對 所述的特定數(shù)據(jù)的至少一部分執(zhí)行更進一步的編程操作。圖1所示為依據(jù)本 發(fā)明對芯片內(nèi)存儲器做數(shù)據(jù)編程的系統(tǒng)的一個實施方式的功能方塊示意圖。
如圖1所示,系統(tǒng)100包含有芯片系統(tǒng)(system-on-chip, SoC) 10以及主機 (host) 20,其中芯片系統(tǒng)10以及主機20彼此經(jīng)由符合IDE或SATA規(guī)格 的物理通信信道30連結(jié)。芯片系統(tǒng)10包含有第一芯片內(nèi)存儲器(on-chip storage)、第二芯片內(nèi)存儲器,以及耦接至第一芯片內(nèi)存儲器及第二芯片內(nèi)存 儲器的控制模塊16,其中上述這些組件均位于同一顆芯片內(nèi)??刂颇K16包 含有控制芯片系統(tǒng)10全部運作所需的任何硬件。例如圖1所示的實施方式中, 控制模塊16包含有微處理器(未顯示),所述的微處理器用來執(zhí)行芯片系統(tǒng) 10的固件,例如下述的初始固件(initial firmware)與最終固件(production firmware),且另包含有用來編程及/或消除(program and/or erase)芯片內(nèi) 存儲器的電路(未顯示)。請注意,為簡單起見,圖1僅顯示與本發(fā)明相關(guān) 的組件。在本實施方式中,第二芯片內(nèi)存儲器是通過閃存只讀存儲器(flash ROM ) 14來實現(xiàn),而第一芯片內(nèi)存儲器則通過可一次編程
(one-time-programmable, OTP)存儲器12來實現(xiàn);然而,這僅作為說明之 用,并非作為本發(fā)明的限制條件。例如,在本發(fā)明的其它實施方式中,閃存 只讀存儲器14可由任何其它可重復(fù)編程(re-programmable)的存儲器取代。
在本實施方式中,閃存只讀存儲器14被配置成可至少存儲初始固件,而 控制模塊16則利用由閃存只讀存儲器14所讀出的初始固件依據(jù)特定數(shù)據(jù)對 可一次編程存儲器12進行編程。在所述的特定數(shù)據(jù)被成功存入可一次編程存 儲器12之后,控制模塊16會阻斷對所述的特定數(shù)據(jù)的至少一部分執(zhí)行更進 一步的編程操作。換句話說,當(dāng)特定數(shù)據(jù)被寫入可一次編程存儲器12時,依 據(jù)特定數(shù)據(jù)的1或0來決定可一次編程存儲器12內(nèi)存儲的比特要被編程還是 維持不變。在特定數(shù)據(jù)被存入后,可一次編程存儲器12內(nèi)還未被編程的比特 仍可以進行編程,然而本實施方式會使用保護機制來防止此操作的發(fā)生,而 所述的保護機制將在后段詳述。
系統(tǒng)100能夠被用來記錄裝置內(nèi)微電溶絲中的私有密鑰,其中第一芯片 內(nèi)存儲器(即可一次編程存儲器12)被當(dāng)作是微電溶絲,特定數(shù)據(jù)為對應(yīng)于 私有密鑰的微電溶絲數(shù)據(jù),且所述的私有密鑰是用來解密及/或驗證芯片系統(tǒng) IO的最終固件的。若以光驅(qū)為例,芯片系統(tǒng)IO會配置于光驅(qū)中,而主機20 則代表個人計算機等相關(guān)裝置。因為微電溶絲數(shù)據(jù)可被利用來解密及/或驗 證固件,所以初始固件(或稱為初始固件圖像文件(initial firmware image)) 可用預(yù)設(shè)的密鑰設(shè)定來進行加密或簽名。在本實施方式中,預(yù)設(shè)的密鑰設(shè)定 嵌入在芯片系統(tǒng)10當(dāng)中,例如,控制模塊16被設(shè)計成具有預(yù)設(shè)的密鑰設(shè)定, 以進行解密及/或驗證加密過的初始固件;或者可將可一次編程存儲器12當(dāng) 中尚未被編程的初始內(nèi)容當(dāng)作預(yù)設(shè)的密鑰設(shè)定來使用,即可一次編程存儲器 12當(dāng)中的所有比特均存有相同的初始邏輯值(0或1)。 一開始,閃存只讀存 儲器14當(dāng)中并沒有存儲任何固件,也無需對固件進行更新,因此,可利用任 何已知的方法將初始固件存儲于閃存只讀存儲器14中,例如,引腳連接即可 用來將初始固件存儲于閃存只讀存儲器14中。
初始固件本身包含有特定數(shù)據(jù),或是主機20可在初始固件開始執(zhí)行后另 外傳送特定數(shù)據(jù)至芯片系統(tǒng)10中,全視設(shè)計需求而定。為使信息外泄的風(fēng)險 降至最低,主機20會在特定數(shù)據(jù)被送至芯片系統(tǒng)10之前,對特定數(shù)據(jù)進行 加密。在初始固件本身包含有特定數(shù)據(jù)的情況下,特定數(shù)據(jù)會借著預(yù)設(shè)的密 鑰設(shè)定隨著初始固件被加密而跟著一起被加密。當(dāng)加密過的初始固件被存入 閃存只讀存儲器14之后,芯片系統(tǒng)10便會啟動。接著,控制模塊16會利用 嵌入的預(yù)設(shè)的密鑰設(shè)定對存儲于閃存只讀存儲器14中的加密過的初始固件進 行驗證并解密,由此取得所述的初始固件以及包含在其中的特定數(shù)據(jù)。若是 通過完整性檢查(integrity check)的話,控制模塊16便開始執(zhí)行所述的初始固 件。當(dāng)芯片系統(tǒng)10通過物理通信信道30收到主機20所下的主機指令時,控 制模塊16便利用初始固件依據(jù)現(xiàn)有的特定數(shù)據(jù)對可一次編程存儲器12(即微 電溶絲)進行編程,并由主機20選擇性地(optionally)下載最終固件以及其它 特定光驅(qū)數(shù)據(jù)(例如光驅(qū)的激光功率曲線)至閃存只讀存儲器14中。主機20 在傳送最終固件以及其它特定光驅(qū)數(shù)據(jù)至芯片系統(tǒng)10之前,會根據(jù)微電溶絲 數(shù)據(jù)(即私有密鑰)對最終固件以及其它特定光驅(qū)數(shù)據(jù)進行加密,當(dāng)下次芯 片系統(tǒng)10重新啟動時,微電溶絲12被編程過的部分就會發(fā)揮功效(唯有在 重新啟動芯片系統(tǒng)10時才會發(fā)揮功效)??刂颇K16此時會依據(jù)微電溶絲 12中存儲的內(nèi)容對存儲于閃存只讀存儲器14中的加密過的最終固件進行驗證 并解密,然后,若是通過完整性檢査的話,則執(zhí)行最終固件以進行芯片系統(tǒng) 10所定義的正常功能,而最終固件可依據(jù)主機指令來進一步做自我更新,此 已為熟知所述的項技術(shù)人員所熟悉。
上述內(nèi)容可用圖2所示的流程圖說明。在結(jié)果大致相同的前提之下,流 程的步驟并不限于圖2所示的順序。此流程是由圖1所示的系統(tǒng)100來執(zhí)行, 其步驟如下:
步驟200:開始。
步驟202:用預(yù)設(shè)的密鑰設(shè)定對含有特定數(shù)據(jù)的初始固件進行加密以及簽名。
步驟204:將含有加密過的特定數(shù)據(jù)的加密過的初始固件存入第二芯片內(nèi)
存儲器。
步驟206:啟動芯片系統(tǒng),其具有第二芯片內(nèi)存儲器,且所述的第二芯片
內(nèi)存儲器中存儲有加密過的初始固件。
步驟208:對含有加密過的特定數(shù)據(jù)的加密過的初始固件進行驗證并解密。
步驟210:是否通過完整性檢查?若是,則跳至步驟212;否則,跳至步
驟220。
步驟212:是否收到主機指令?若是,則跳至步驟214;否則,繼續(xù)執(zhí)行 步驟212來監(jiān)控是否收到主機指令。
步驟214:執(zhí)行初始固件依據(jù)所述的特定數(shù)據(jù)對芯片系統(tǒng)的第一芯片內(nèi)存
儲器進行編程。
步驟216:通過初始固件或其它可行方法下載芯片系統(tǒng)的最終固件至第二
芯片內(nèi)存儲器。
步驟218:從第二芯片內(nèi)存儲器刪除初始固件。 步驟220:結(jié)束。
因為上文已詳述圖2所示的步驟,掌握此技術(shù)人員應(yīng)能通過以上的敘述
迅速理解流程運作,因此細節(jié)部分在此便不再詳述。
在特定數(shù)據(jù)不會隨著初始固件一并傳送的情況下,芯片系統(tǒng)io會在加密
過的初始固件存入閃存只讀存儲器14之后啟動,接著,控制模塊16會用嵌 入的預(yù)設(shè)的密鑰設(shè)定對存儲于閃存只讀存儲器14中的加密過的初始固件進行
驗證并解密,由此取得所述的初始固件。若是通過完整性檢查的話,控制模
塊16便開始執(zhí)行所述的初始固件。當(dāng)芯片系統(tǒng)10通過物理通信信道30收到 主機20所下的主機指令時,控制模塊16便通過物理通信信道30收到由主機 20傳來的加密過的特定數(shù)據(jù),其中主機20會根據(jù)某一算法以及某密鑰設(shè)定對
特定數(shù)據(jù)進行加密,而所述的算法以及所述的密鑰設(shè)定是在控制模塊16或初 始固件中加以實現(xiàn),而在收到加密過的特定數(shù)據(jù)后,控制模塊16會執(zhí)行初始 固件以對加密過的特定數(shù)據(jù)進行解密,由此取得將要存儲在可一次編程存儲 器中的特定數(shù)據(jù)??刂颇K16進一步會執(zhí)行初始固件以依據(jù)現(xiàn)有的特定數(shù)據(jù) 對微電溶絲12進行編程,并由主機20選擇性地下載最終固件以及其它特定 光驅(qū)數(shù)據(jù)(例如光驅(qū)的激光功率曲線)至閃存只讀存儲器14中。主機20在 傳送最終固件以及其它特定光驅(qū)的數(shù)據(jù)至芯片系統(tǒng)IO之前,會根據(jù)微電溶絲 數(shù)據(jù)(即私有密鑰)對最終固件以及其它特定光驅(qū)數(shù)據(jù)進行加密。當(dāng)下次芯 片系統(tǒng)10重新啟動時,微電溶絲12中被編程過的部分就會發(fā)揮功效(唯有 在重新啟動芯片系統(tǒng)10時才會發(fā)揮功效)??刂颇K16會依據(jù)微電溶絲12 所存儲的內(nèi)容對存儲于閃存只讀存儲器14中的最終固件進行驗證并解密,然 后,若是通過完整性檢查的話,則執(zhí)行最終固件以執(zhí)行芯片系統(tǒng)10所定義的 正常功能,而最終固件可依據(jù)主機指令來進一步做自我更新,此已為熟知所 述的項技術(shù)人員所熟悉。
雖然在上述實施方式中,控制模塊16是在芯片系統(tǒng)10重新啟動前利用 初始固件下載最終固件,但最終固件還可以通過其它方式由主機20進行下載, 也就是說,任何將最終固件編程寫入閃存只讀存儲器14的傳統(tǒng)方法都可被采 用。簡而言之,在較佳的實施方式中,初始固件是通過將微電溶絲數(shù)據(jù)編程 寫入可一次編程存儲器12并將芯片系統(tǒng)10的最終固件編程寫入閃存只讀存 儲器14,然而,這并非本發(fā)明的限制條件,只要是使用固件將微電溶絲數(shù)據(jù) 編程寫入芯片內(nèi)存儲器的系統(tǒng)均符合本發(fā)明精神,即屬于本發(fā)明的范圍。
上述所揭露的內(nèi)容可用圖3所示的流程圖說明。在結(jié)果大致相同的前提 下,流程的步驟并不限于要依照圖3所示的順序。此流程是由圖1所示的系 統(tǒng)100來加以執(zhí)行,其步驟如下
步驟300:開始。
步驟302:利用預(yù)設(shè)的密鑰設(shè)定對初始固件進行加密以及簽名。
步驟304:將加密過的初始固件存入第二芯片內(nèi)存儲器。
步驟306:啟動芯片系統(tǒng),其具有第二芯片內(nèi)存儲器,且所述的第二芯片
內(nèi)存儲器中存儲有加密過的初始固件。
步驟308:對加密過的初始固件進行驗證并解密。
步驟310:是否通過完整性檢查?若是,則跳至步驟312;否則,跳至步
驟322。
步驟312:是否收到主機指令?若是,則跳至步驟314;否則,繼續(xù)執(zhí)行
步驟312來監(jiān)控是否收到主機指令。
步驟314:存儲特定數(shù)據(jù)。
步驟316:執(zhí)行初始固件以依據(jù)特定數(shù)據(jù)對芯片系統(tǒng)的第一芯片內(nèi)存儲器
進行編程。
步驟318:通過初始固件或其它可行方法下載芯片系統(tǒng)的最終固件至第二
芯片內(nèi)存儲器。
步驟320:從第二芯片內(nèi)存儲器中刪除初始固件。
步驟322:結(jié)束。
因為上文已詳述圖3所示的步驟,掌握此技術(shù)人員應(yīng)能通過以上的敘述
迅速理解流程的運作,因此細節(jié)部分在此便不再詳述。
如上所述,通過將預(yù)設(shè)的微電溶絲內(nèi)容配置成嵌入在芯片系統(tǒng)10中已知
的預(yù)設(shè)設(shè)定,由于微電溶絲控制硬件如何對固件進行驗證與解密而產(chǎn)生的存 在于固件與微電溶絲內(nèi)容之間的潛在干擾就可避免。簡而言之,通過預(yù)設(shè)的 微電溶絲內(nèi)容便可以不受干擾地結(jié)合固件加密與完整性檢查。
上文已詳述控制模塊16利用初始固件對第一芯片內(nèi)存儲器12編程的過 程,以下內(nèi)容將說明本發(fā)明如何保護可一次編程存儲器12不被進一步地修改。 在特定數(shù)據(jù)成功存入可一次編程存儲器12之后,控制模塊16會從閃存只讀 存儲器14中刪除初始固件以防止初始固件對存儲于可一次編程存儲器12的 內(nèi)容做進一步地修改。如果沒有初始固件,消費者或黑客便很難破壞裝置的
保護機制以拷貝或修改可一次編程存儲器12中的內(nèi)容,因此,存儲于微電溶
絲(即可一次編程存儲器12)當(dāng)中的私有密鑰便能得到適當(dāng)?shù)谋Wo,此外, 由于可一次編程存儲器12固有的特性,可一次編程存儲器12的任一比特僅 能被修改(編程)一次,若是特定數(shù)據(jù)(即微電溶絲數(shù)據(jù))已被存入,可以 設(shè)定保護比特或比特組合來防止第一芯片內(nèi)存儲器中尚未被編程的比特受到 編程操作,因此,當(dāng)黑客下指令要求控制模塊16改變可一次編程存儲器12 的內(nèi)容時,控制模塊16便會檢查所述的保護比特或比特組合以避免進入寫入 模式而修改了可一次編程存儲器12中尚未被編程的比特。在另外的變化設(shè)計 中,控制模塊16可以屏蔽(mask)輸出至可一次編程存儲器12的寫入信號以防 止可一次編程存儲器12被修改。
以上所述僅為本發(fā)明的較佳實施方式,凡依本發(fā)明權(quán)利要求所做的均等 變化與修飾,都應(yīng)屬于本發(fā)明的涵蓋范圍。
權(quán)利要求
1.一種將數(shù)據(jù)寫入芯片內(nèi)第一存儲器的方法,其特征在于,所述的方法包含有將初始固件存入所述的芯片內(nèi)的第二存儲器;利用所述的初始固件依據(jù)特定數(shù)據(jù)對所述的第一存儲器進行編程;以及在所述的特定數(shù)據(jù)被成功存入所述的第一存儲器后,阻斷對所述的特定數(shù)據(jù)的至少一部分執(zhí)行更進一步的編程操作。
2. 根據(jù)權(quán)利要求1所述的將數(shù)據(jù)寫入芯片內(nèi)第一存儲器的方法,其特征 在于,所述的阻斷對所述的特定數(shù)據(jù)的至少一部分執(zhí)行更進一步的編程操作 的步驟包含有防止所述的初始固件修改所述的第一存儲器的內(nèi)容。
3. 根據(jù)權(quán)利要求2所述的將數(shù)據(jù)寫入芯片內(nèi)第一存儲器的方法,其特征 在于,所述的防止所述的初始固件修改所述的第一存儲器的內(nèi)容的步驟包含 有將所述的初始固件從所述的第二存儲器中刪除。
4. 根據(jù)權(quán)利要求1所述的將數(shù)據(jù)寫入芯片內(nèi)第一存儲器的方法,其特征在于,所述的阻斷對所述的特定數(shù)據(jù)的至少一部分執(zhí)行更進一步的編程操作的步驟包含有設(shè)定保護比特或比特組合以防止所述的第一存儲器被編程。
5. 根據(jù)權(quán)利要求4所述的將數(shù)據(jù)寫入芯片內(nèi)第一存儲器的方法,其特征在于,所述的第一存儲器為可一次編程存儲器,而所述的保護比特或比特組 合是防止所述的可一次編程存儲器內(nèi)的尚未被編程的比特被編程。
6. 根據(jù)權(quán)利要求1所述的將數(shù)據(jù)寫入芯片內(nèi)第一存儲器的方法,其特征 在于,所述的阻斷對所述的特定數(shù)據(jù)的至少一部分執(zhí)行更進一步的編程操作 的步驟包含有屏蔽輸出至所述的第一存儲器的寫入信號。
7. 根據(jù)權(quán)利要求1所述的將數(shù)據(jù)寫入芯片內(nèi)第一存儲器的方法,其特征 在于,存儲所述的初始固件的步驟包含有用預(yù)設(shè)的密鑰設(shè)定對所述的初始固件進行加密或簽名以產(chǎn)生加密過的初始固件,并將所述的加密過的初始固件存入所述的第二存儲器;以及對所述的第一存儲器編程的步驟包含有用所述的預(yù)設(shè)的密鑰設(shè)定對所述的加密過的初始固件進行解密,并利用 所述的初始固件依據(jù)特定數(shù)據(jù)對所述的第一存儲器進行編程。
8. 根據(jù)權(quán)利要求1所述的將數(shù)據(jù)寫入芯片內(nèi)第一存儲器的方法,其特征 在于,所述的對所述的第一存儲器進行編程的步驟另包含有-通過物理通信信道由主機接收所述的特定數(shù)據(jù)。
9. 根據(jù)權(quán)利要求8所述的將數(shù)據(jù)寫入芯片內(nèi)第一存儲器的方法,其特征 在于,所述的芯片設(shè)置于光驅(qū)中,且所述的物理通信信道符合IDE或SATA 規(guī)格。
10. 根據(jù)權(quán)利要求8所述的將數(shù)據(jù)寫入芯片內(nèi)第一存儲器的方法,其特征 在于,所述的對所述的第一存儲器進行編程的步驟另包含有在所述的特定數(shù)據(jù)被送至所述的芯片之前,通過所述的主機對所述的特 定數(shù)據(jù)進行加密以產(chǎn)生加密過的特定數(shù)據(jù);以及當(dāng)所述的芯片由主機收到所述的加密過的特定數(shù)據(jù)時,通過所述的初始 固件對所述的加密過的特定數(shù)據(jù)進行解密。
11. 根據(jù)權(quán)利要求1所述的將數(shù)據(jù)寫入芯片內(nèi)第一存儲器的方法,其特征 在于,所述的特定數(shù)據(jù)嵌入在所述的初始固件中。
12. 根據(jù)權(quán)利要求1所述的將數(shù)據(jù)寫入芯片內(nèi)第一存儲器的方法,其特征 在于,所述的特定數(shù)據(jù)是用來對芯片的最終固件進行解密或驗證的微電溶絲 數(shù)據(jù),而所述的方法另包含有存儲所述的最終固件至所述的第二存儲器。
13. 根據(jù)權(quán)利要求12所述的將數(shù)據(jù)寫入芯片內(nèi)第一存儲器的方法,其特 征在于,所述的存儲所述的最終固件的步驟包含有利用所述的初始固件將 所述的最終固件存入所述的第二存儲器。
14. 一種將數(shù)據(jù)寫入芯片內(nèi)第一存儲器的方法,其特征在于,所述的方法包含有將初始固件存入所述的芯片內(nèi)的第二存儲器;以及利用所述的初始固件依據(jù)微電溶絲數(shù)據(jù)對所述的第一存儲器進行編程。
15. —種數(shù)據(jù)編程系統(tǒng),其特征在于,所述的數(shù)據(jù)編程系統(tǒng)包含有 第一存儲器,位于芯片中;第二存儲器,位于所述的芯片中,用來存儲初始固件;以及 控制模塊,位于所述的芯片中,并耦接至所述的第一存儲器及所述的第 二存儲器;所述的控制模塊利用所述的初始固件依據(jù)特定數(shù)據(jù)對所述的第一 存儲器進行編程,且在所述的特定數(shù)據(jù)成功存入所述的第一存儲器后,阻斷 對所述的特定數(shù)據(jù)的至少一部分執(zhí)行更進一步的編程操作。
16. 根據(jù)權(quán)利要求15所述的數(shù)據(jù)編程系統(tǒng),其特征在于,所述的控制模 塊是通過防止所述的初始固件修改存儲于所述的第一存儲器的內(nèi)容來阻斷對 所述的特定數(shù)據(jù)的至少一部分執(zhí)行更進一步的編程操作。
17. 根據(jù)權(quán)利要求16所述的數(shù)據(jù)編程系統(tǒng),其特征在于,所述的控制模 塊是通過從所述的第二存儲器刪除所述的初始固件來防止所述的初始固件修 改存儲于所述的第一存儲器的內(nèi)容。
18. 根據(jù)權(quán)利要求15所述的數(shù)據(jù)編程系統(tǒng),其特征在于,所述的控制模 塊通過設(shè)定保護比特或比特組合來防止所述的第一存儲器被編程,以阻斷對 所述的特定數(shù)據(jù)的至少一部分執(zhí)行更進一步的編程操作。
19. 根據(jù)權(quán)利要求18所述的數(shù)據(jù)編程系統(tǒng),其特征在于,所述的第一存 儲器為可一次編程存儲器,而所述的保護比特或比特組合可防止所述的可一 次編程存儲器內(nèi)的尚未被編程的比特被編程。
20. 根據(jù)權(quán)利要求15所述的數(shù)據(jù)編程系統(tǒng),其特征在于,所述的控制模 塊通過屏蔽輸出至所述的第一存儲器的寫入信號來阻斷對所述的特定數(shù)據(jù)的 至少一部分執(zhí)行更進一步的編程操作。
21. 根據(jù)權(quán)利要求15所述的數(shù)據(jù)編程系統(tǒng),其特征在于,所述的初始固 件是用預(yù)設(shè)的密鑰設(shè)定進行加密或簽名以產(chǎn)生加密過的初始固件;以及所述的控制模塊利用所述的密鑰設(shè)定對所述的加密過的初始固件進行解 密,并利用所述的初始固件依據(jù)所述的特定數(shù)據(jù)對所述的第一存儲器進行編 程。
22. 根據(jù)權(quán)利要求15所述的數(shù)據(jù)編程系統(tǒng),其特征在于,所述的數(shù)據(jù)編 程系統(tǒng)另包含主機,通過物理通信信道耦接至所述的芯片;其中所述的特定數(shù)據(jù)是經(jīng)由所述的物理通信信道從所述的主機接收。
23. 根據(jù)權(quán)利要求22所述的數(shù)據(jù)編程系統(tǒng),其特征在于,所述的芯片是 設(shè)置于光驅(qū)中,且所述的物理通信信道符合IDE或SATA規(guī)格。
24. 根據(jù)權(quán)利要求22所述的數(shù)據(jù)編程系統(tǒng),其特征在于,在所述的特定 數(shù)據(jù)被送至所述的芯片之前,由所述的主機對所述的特定數(shù)據(jù)進行加密以產(chǎn) 生加密過的特定數(shù)據(jù);以及當(dāng)所述的芯片接收到來自所述的主機的所述的加 密過的特定數(shù)據(jù)時,由所述的控制模塊控制所述的初始固件對所述的加密過 的特定數(shù)據(jù)進行解密。
25. 根據(jù)權(quán)利要求15所述的數(shù)據(jù)編程系統(tǒng),其特征在于,所述的特定數(shù) 據(jù)是嵌入在所述的初始固件中。
26. 根據(jù)權(quán)利要求15所述的數(shù)據(jù)編程系統(tǒng),其特征在于,所述的特定數(shù) 據(jù)是用來對所述的芯片的最終固件進行解密或驗證的微電溶絲數(shù)據(jù),并且所 述的最終固件存儲于所述的第二存儲器。
27. 根據(jù)權(quán)利要求26所述的數(shù)據(jù)編程系統(tǒng),其特征在于,所述的控制模 塊利用所述的初始固件將所述的最終固件存入所述的第二存儲器。
28. —種數(shù)據(jù)編程系統(tǒng),其特征在于,所述的數(shù)據(jù)編程系統(tǒng)包含有: 第一存儲器,位于芯片中; 第二存儲器,位于所述的芯片中,用來存儲初始固件;以及控制模塊,位于所述的芯片中,并耦接至所述的第一存儲器及所述的第二存儲器;所述的控制模塊利用所述的初始固件依據(jù)微電溶絲數(shù)據(jù)對所述的 第一存儲器進行編程。
全文摘要
本發(fā)明提供一種將數(shù)據(jù)寫入芯片內(nèi)存儲器的方法及其系統(tǒng)。所述的方法包含有將起始固件存入第二芯片內(nèi)存儲器;利用所述的起始固件依據(jù)特定數(shù)據(jù)對第一芯片內(nèi)存儲器進行編程;以及在所述的特定數(shù)據(jù)被成功存入第一芯片內(nèi)存儲器后,阻斷對所述的特定數(shù)據(jù)的至少一部分執(zhí)行更進一步的編程操作。因此,本發(fā)明能夠節(jié)省芯片的外部引腳連接,防止計算機黑客存取或改變存儲器的內(nèi)容。
文檔編號G06F12/14GK101349997SQ20071016753
公開日2009年1月21日 申請日期2007年10月26日 優(yōu)先權(quán)日2007年7月20日
發(fā)明者張堯敦, 王良耘, 趙銘陽, 陳炳盛 申請人:聯(lián)發(fā)科技股份有限公司