專利名稱:一種閃速存儲器的控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及閃速存儲器,特別涉及一種閃速存儲器的控制方法。
背景技術(shù):
閃速存儲器通常由控制芯片、閃存(flash)芯片及外圍電路組成。 控制芯片中存儲有控制程序,控制芯片利用該控制程序進行閃存芯片 的讀寫操作控制以及與其他設(shè)備通過USB (通用串行總線)接口進行 通信的控制等。在控制芯片的制造過程中,為了降低制造成本,通常 采用掩膜的方式將控制程序固化在控制芯片內(nèi)。由于以這種方式制作 的控制芯片內(nèi)的固化程序不可更改,因此當(dāng)出現(xiàn)了原固化程序不能支 持的閃存芯片后,原有的控制芯片與新的閃存芯片將無法兼容。此時 只能重新設(shè)計新的控制芯片并進行掩膜制作,以支持新的閃存芯片, 從而造成了資源的浪費和成本的大幅提高。
由于閃存芯片的制造工藝日新月異,新的閃存芯片不斷涌現(xiàn),因 此迫切需要對原有采用掩膜技術(shù)制作的、控制程序被固化且不可更改 的控制芯片進行改進,提供一種無需重新掩膜制作、只需加載修補軟 件即可使原控制芯片與新型閃存芯片兼容的方法。
發(fā)明內(nèi)容
因此,本發(fā)明的目的是在閃速存儲器控制芯片內(nèi)的固化程序不可 直接更改的情況下,通過加載修補軟件來對原有固化程序進行升級, 從而使得原控制芯片可適用于新的閃存芯片。
為了實現(xiàn)上述目的,本發(fā)明提供了一種閃速存儲器的控制方法, 所述閃速存儲器包括控制芯片和閃存芯片,在控制芯片內(nèi)固化有控制 程序,所述方法包括1 )在閃速存儲器內(nèi)設(shè)置修補區(qū);2)在修補區(qū) 內(nèi)加載修補代碼;3)掃描修補區(qū),如果修補區(qū)內(nèi)存儲有修補代碼,則執(zhí)行所述修補代碼;以及4)執(zhí)行所述固化的控制程序。
其中,在修補區(qū)內(nèi)加載修補代碼的步驟包括2-l)在閃存芯片內(nèi) 劃分預(yù)留塊;2-2)將修補代碼由外部設(shè)備寫入預(yù)留塊內(nèi);以及2-3) 將預(yù)留塊內(nèi)的數(shù)據(jù)讀取到修補區(qū)。
由此,當(dāng)用戶更換新的閃存芯片后,通過將修補代碼傳送到閃存芯 片的預(yù)留塊內(nèi),即可實現(xiàn)控制芯片的軟件更新。根據(jù)本發(fā)明的方法, 閃速存儲器在使用時,預(yù)留塊內(nèi)的修補代碼首先被寫入設(shè)置在控制芯 片RAM內(nèi)的修補區(qū),并被執(zhí)行,由此實現(xiàn)對原固化程序進行升級的 目的,從而使得原控制芯片可支持新型閃存芯片,而無需重新設(shè)計制 作控制芯片。
圖1是現(xiàn)有閃速存儲器內(nèi)部控制芯片與閃存芯片設(shè)置示意圖2是一個簡單狀態(tài)機的示意圖3是根據(jù)本發(fā)明方法的閃速存儲器內(nèi)部控制芯片與閃存芯片設(shè) 置的示意圖4是根據(jù)本發(fā)明方法的閃速存儲器修補代碼加載流程圖5是根據(jù)本發(fā)明方法的閃速存儲器工作流程圖; 圖6是根據(jù)本發(fā)明方法的升級后的狀態(tài)機的示意圖。
具體實施例方式
以下將結(jié)合附圖詳細(xì)介紹本發(fā)明,附圖僅用于說明,而并非對本 發(fā)明專利保護范圍的限制。
圖1為現(xiàn)有閃速存儲器內(nèi)部控制芯片與閃存芯片設(shè)置示意圖。如 圖所示,控制芯片通過I/0接口與閃存芯片連接,通過USB接口與外 部設(shè)備連接,控制芯片通過其內(nèi)固化的控制程序?qū)﹂W存芯片的讀寫操 作以及與其他設(shè)備的USB通信進行控制。其中的固化程序可以認(rèn)為是 一個狀態(tài)機,其由各個獨立的原子狀態(tài)組成,圖2為一個簡單狀態(tài)機 的示意圖。在現(xiàn)有通過掩膜的方式固化有控制程序的控制芯片中,由 于固化程序不可更改,因此當(dāng)原有固化程序不能支持新的閃存芯片時,無法通過對固化程序進行直接更新,來使其適用于控制新的閃存芯片。 由此,本發(fā)明提出了一種在控制芯片內(nèi)設(shè)置修補區(qū),并且在固化程序 內(nèi)預(yù)先設(shè)計接口的方法,來對固化程序進行升級。
圖3是根據(jù)本發(fā)明方法的閃速存儲器內(nèi)部控制芯片與閃存芯片設(shè) 置的示意圖。如圖所示,控制芯片中具有RAM (隨機存取內(nèi)存)區(qū), 根據(jù)本發(fā)明的方法,將該RAM區(qū)內(nèi)的部分空間劃分出來作為修補區(qū), 同時在閃存芯片中劃分一部分空間作為預(yù)留塊,用于存儲修補代碼。 另外,在對固化程序進行設(shè)計時,在其內(nèi)增加兩個功能1)當(dāng)執(zhí)行常 規(guī)的閃速存儲器格式化時,閃存芯片預(yù)留塊將不進行格式化;2)固化 程序內(nèi)的某些原子狀態(tài)預(yù)先留有接口可以執(zhí)行修補區(qū)內(nèi)的代碼。
圖4是根據(jù)本發(fā)明方法的閃速存儲器修補代碼加載流程圖。如圖 4所示,在更換了新的閃存芯片后,根據(jù)本發(fā)明的方法,按照如下流 程對閃速存儲器進行處理首先,將閃速存儲器上電(步驟101);然 后,將閃速存儲器與存儲有修補代碼的裝置(如電腦)相連,通過USB 接口將修補代碼發(fā)送給閃速存儲器,并寫入閃存芯片的預(yù)留塊內(nèi)(步驟102);最后,對已存儲有修補代碼的閃速存儲器進行格式化(步驟 103 ),該格式化步驟與現(xiàn)有技術(shù)中閃速存儲器通常執(zhí)行的格式化相同, 在格式化過程中,預(yù)留塊內(nèi)存儲的代碼被保留。
圖5是根據(jù)本發(fā)明方法的閃速存儲器工作流程圖。如圖所示,當(dāng) 閃速存儲器上電后,首先將閃存芯片預(yù)留塊內(nèi)存儲的數(shù)據(jù)讀取到修補 區(qū)(步驟202),此時,若該閃速存儲器已經(jīng)進行了如圖4所示的軟件 加載操作,則預(yù)留塊內(nèi)已存儲有修補代碼,該修補代碼將被讀取到修 補區(qū);如閃速存儲器未進行上述軟件加載,則預(yù)留塊為空,此時沒有 代碼被讀取到修補區(qū)。然后,繼續(xù)對閃速存儲器進行其他常規(guī)初始化 操作(步驟203 ),當(dāng)初始化操作完成后,執(zhí)行原始固化程序(即進入(步驟204),若沒有,則順序執(zhí)行固化程序內(nèi)的原有步驟(步驟206), 若修補區(qū)內(nèi)存儲有代碼,則執(zhí)行修補區(qū)內(nèi)的代碼(步驟205 ),然后執(zhí) 行固化程序內(nèi)的原有步驟(步驟206)。
即,根據(jù)本發(fā)明的方法,閃速存儲器在應(yīng)用時,首先將閃存芯片 預(yù)留塊內(nèi)的修補代碼讀取到修補區(qū),然后通過原始固化程序判斷{奮補 區(qū)內(nèi)是否存在修補代碼,若存在,則將修補代碼讀取到修補區(qū)并執(zhí)行 該代碼,若不存在,則按照原有程序執(zhí)行。
修補區(qū)內(nèi)的修補代碼可以為用于替換控制芯片內(nèi)原有固化程序一 部分的程序,也可為用于改變原有固化程序狀態(tài)的狀態(tài)位。根據(jù)本發(fā) 明的 一個實施方案,修補代碼是用于改變原有固化程序狀態(tài)的狀態(tài)位。
以圖2所示的狀態(tài)機為例,當(dāng)檢查到存在修補代碼并執(zhí)行了修補區(qū)內(nèi) 的程序后,原有狀態(tài)機的狀態(tài)變遷機制被改變,程序由原子狀態(tài)2跳 到狀態(tài)3,而并非狀態(tài)4,如圖6所示。由此,可通過改變原子狀態(tài)關(guān) 系來修改整個狀態(tài)機。根據(jù)本發(fā)明的另一個實施方案,修補代碼是用 于替換原有狀態(tài)機內(nèi)某一個或多個原子狀態(tài)的新的原子狀態(tài),這樣, 可通過改變原子狀態(tài)本身來修改整個狀態(tài)機。
綜上所述,通過采用本發(fā)明的方法(即,將修補代碼傳送到閃存 芯片的預(yù)留塊內(nèi),并在控制芯片的RAM內(nèi)設(shè)置修補區(qū),閃速存儲器 在使用時,固化程序首先將預(yù)留塊內(nèi)的修補代碼寫入修補區(qū)并執(zhí)行該 代碼),可實現(xiàn)對原固化程序進行升級的目的,從而使得原有控制芯片 可以支持新的閃存芯片。
由此,利用本發(fā)明可對釆用掩膜方式制造的、其內(nèi)固化程序不可 修改的控制芯片進行升級,使其可適用于新型的閃存芯片,從而無需 制作新的控制芯片,大大降低生產(chǎn)成本。
以上所述僅為本發(fā)明的優(yōu)選實施方式,本領(lǐng)域技術(shù)人員可以理解,
這些實施方案不應(yīng)構(gòu)成對本發(fā)明專利保護范圍的限制,凡在本發(fā)明的 說明書及附圖所公開內(nèi)容的基礎(chǔ)上進行的等效結(jié)構(gòu)變換,都包括在本 發(fā)明的權(quán)利要求書所限定的本發(fā)明的專利保護范圍內(nèi)。
權(quán)利要求
1. 一種閃速存儲器的控制方法,所述閃速存儲器內(nèi)設(shè)置有控制程序,所述方法包括1)在所述閃速存儲器內(nèi)設(shè)置修補區(qū);2)在所述修補區(qū)內(nèi)加載修補代碼;3)掃描修補區(qū),如果修補區(qū)內(nèi)存儲有修補代碼,則執(zhí)行所述修補代碼;以及4)執(zhí)行所述控制程序。
2. 如權(quán)利要求l所述的方法,其中所述閃速存儲器包括控制芯片 和閃存芯片。
3. 如權(quán)利要求2所述的方法,其中所述修補區(qū)設(shè)置在所述控制芯 片的RAM區(qū)內(nèi)。
4. 如權(quán)利要求2或3所述的方法,其中,步驟2)中在所述修補 區(qū)內(nèi)加載修補代碼的步驟包括2-1)在所述閃存芯片內(nèi)劃分預(yù)留塊;2-2)將所述修補代碼由外部設(shè)備寫入所述預(yù)留塊內(nèi);以及 2-3 )將所述預(yù)留塊內(nèi)的數(shù)據(jù)讀取到所述修補區(qū)。
5. 如權(quán)利要求4所述的方法,其中當(dāng)執(zhí)行常規(guī)的閃速存儲器格式 化時,所述閃存芯片預(yù)留塊將不進行格式化。
6. 如權(quán)利要求l所述的方法,其中所述控制程序是由多個原子狀 態(tài)組成的狀態(tài)才幾。
7. 如權(quán)利要求6所述的方法,其中在執(zhí)行所述修補代碼的情況下, 某些原始的原子狀態(tài)由新的原子狀態(tài)所替換。
8.如權(quán)利要求6所述的方法,其中在執(zhí)行所述修補代碼的情況下 原有狀態(tài)機的狀態(tài)變遷機制被改變。
全文摘要
本發(fā)明公開了一種新的閃速存儲器的控制方法,用以克服現(xiàn)有技術(shù)中控制芯片內(nèi)的固化程序不可更改,從而無法支持新的閃存芯片的問題。本發(fā)明的方法包括,將修補代碼傳送到設(shè)置在閃存芯片內(nèi)的預(yù)留塊內(nèi),并在控制芯片的RAM內(nèi)設(shè)置修補區(qū),閃速存儲器在使用時,固化程序首先將預(yù)留塊內(nèi)的修補代碼寫入修補區(qū)并執(zhí)行該代碼。由此,可實現(xiàn)通過執(zhí)行修補區(qū)代碼而對固化程序進行升級的目的,從而使得原控制芯片可支持新型閃存芯片,而無需重新設(shè)計制作控制芯片。
文檔編號G11C29/04GK101206924SQ200610167869
公開日2008年6月25日 申請日期2006年12月20日 優(yōu)先權(quán)日2006年12月20日
發(fā)明者萬紅波 申請人:深圳市朗科科技有限公司