專利名稱:將嵌入式系統(tǒng)的開機(jī)數(shù)據(jù)文件儲(chǔ)存于不同儲(chǔ)存區(qū)段中的備援系統(tǒng)及其方法
技術(shù)領(lǐng)域:
一種開機(jī)備援系統(tǒng)及其方法,特別是指 一種將嵌入式系統(tǒng)的開機(jī)數(shù)據(jù) 文件儲(chǔ)存于不同儲(chǔ)存區(qū)段中的備援系統(tǒng)及其方法。
背景技術(shù):
嵌入式系統(tǒng),是一種完全嵌入電子裝置內(nèi)部,為特定應(yīng)用設(shè)計(jì)的專用 計(jì)算機(jī)系統(tǒng)。與個(gè)人計(jì)算機(jī)這樣的通用計(jì)算機(jī)系統(tǒng)不同,嵌入式系統(tǒng)通常 執(zhí)行的是帶有特定要求的預(yù)先定義的任務(wù)。在大部分的情況下,嵌入式系 統(tǒng)通常需要能夠長時(shí)間的正確運(yùn)行,所以它們的軟件的開發(fā)和測試都要比 個(gè)人計(jì)算機(jī)上的軟件更為仔細(xì)。
在嵌入式系統(tǒng)中,為了避免無法正常開機(jī),運(yùn)行在嵌入式系統(tǒng)的操作 系統(tǒng)通常都會(huì)有開機(jī)的備援機(jī)制,目前,在不需要依靠額外的裝置進(jìn)行備 援的條件下,嵌入式系統(tǒng)的開機(jī)備援機(jī)制大致上分為兩種, 一種是將備援 的開機(jī)數(shù)據(jù)文件以及一般使用的開機(jī)數(shù)據(jù)文件存放在不同的實(shí)體的儲(chǔ)存 媒體上,例如以內(nèi)存儲(chǔ)存一般使用的開機(jī)數(shù)據(jù)文件,并以其它的儲(chǔ)存媒體 儲(chǔ)存?zhèn)湓拈_機(jī)數(shù)據(jù)文件,備援的開機(jī)數(shù)據(jù)文件在一般使用的開機(jī)數(shù)據(jù)文 件無法開機(jī)時(shí)被讀取,藉以完成開機(jī)程序,使得電子裝置可以順利開機(jī)。
開機(jī)備援的另 一種機(jī)制則是在一個(gè)儲(chǔ)存媒體中同時(shí)儲(chǔ)存一般使用的 開機(jī)數(shù)據(jù)文件以及備援的開機(jī)數(shù)據(jù)文件,在這個(gè)機(jī)制中, 一般使用的開機(jī) 數(shù)據(jù)文件以及備援的開機(jī)數(shù)據(jù)文件可能存放于同一個(gè)扇區(qū),也可能存放于 不同的扇區(qū),但不論一般使用的開機(jī)數(shù)據(jù)文件以及備援的開機(jī)數(shù)據(jù)文件是 否存放在同 一個(gè)扇區(qū)中,在一般使用的開機(jī)數(shù)據(jù)文件無法完成開機(jī)程序 時(shí),嵌入式系統(tǒng)會(huì)直接由備援的開機(jī)數(shù)據(jù)文件所存放在儲(chǔ)存媒體中的地 址,直接將備援的開機(jī)數(shù)據(jù)文件讀取出來,藉以完成開機(jī)程序,使得嵌入 式系統(tǒng)可以順利開^L。雖然目前已經(jīng)有了上述幾種備援的方式,但由于部分特定的嵌入式系 統(tǒng)的操作系統(tǒng)在已公開的官方數(shù)據(jù)中,并沒有辦法使用兩個(gè)以上的扇區(qū), 所以無法將備援的開機(jī)數(shù)據(jù)文件存放在與 一般使用的開機(jī)數(shù)據(jù)文件不同 的扇區(qū),因此,若儲(chǔ)存媒體需要提供給使用者自由使用,則勢必要將備援 的開機(jī)數(shù)據(jù)文件與一般使用的開機(jī)數(shù)據(jù)文件都存放于使用者可以自由存 取的扇區(qū)之中。
由于目前大部分嵌入式系統(tǒng)所使用的儲(chǔ)存媒體為閃存(Flash),而要 存取閃存中的數(shù)據(jù)時(shí),需要以一個(gè)區(qū)塊(block)為單位,也就是說,即使 要存取的數(shù)據(jù)只有一個(gè)字節(jié)(byte),也還是會(huì)對(duì)整個(gè)區(qū)塊進(jìn)行讀寫。若 如圖l所示,假設(shè)閃存100中分為許多個(gè)區(qū)塊,當(dāng)一般使用的開機(jī)數(shù)據(jù)文 件存放在第二區(qū)塊112以及第三區(qū)塊113中時(shí),但第三區(qū)塊113僅有較前 面的區(qū)段113a存放開機(jī)資料文件,若使用者可以自由存取存放有一般使 用的開機(jī)數(shù)據(jù)文件,則使用者的數(shù)據(jù)將有可能被存放在第三區(qū)塊113的較 后面的區(qū)段113b,此時(shí),第三區(qū)塊113中的數(shù)據(jù)會(huì)先被讀取到內(nèi)存中,并 在內(nèi)存中將使用者的數(shù)據(jù)更新,接著第三區(qū)塊113中的數(shù)據(jù)會(huì)被全數(shù)清除, 之后,內(nèi)存中經(jīng)過更新的數(shù)據(jù)會(huì)被寫回第三區(qū)塊113中,藉以完成使用者 的數(shù)據(jù)的寫入。
在上述寫入使用者的數(shù)據(jù)至第三區(qū)塊113的過程中,若在清除第三區(qū) 塊113中的數(shù)據(jù)后,嵌入式系統(tǒng)發(fā)生斷電等異常狀況,使得更新后的數(shù)據(jù) 沒有寫入第三區(qū)塊113中,如此,將會(huì)造成一般使用的開機(jī)數(shù)據(jù)文件不完 整,使得內(nèi)嵌式系統(tǒng)無法正常開機(jī),同樣的,若備援的開機(jī)數(shù)據(jù)文件也存 放在同一個(gè)扇區(qū)中,也會(huì)有開機(jī)數(shù)據(jù)文件不完整的問題,使得一般使用者 開機(jī)數(shù)據(jù)文件以及備援的開機(jī)數(shù)據(jù)文件都無法開機(jī)。
綜上所述,可知先前技術(shù)中長期以來一直存在備援開機(jī)數(shù)據(jù)文件存放 于使用者可以自由存取的儲(chǔ)存區(qū)段時(shí),可能會(huì)被使用者損毀而無法進(jìn)行開 機(jī)備援的問題,因此有必要提出改進(jìn)的技術(shù)手段,來解決此一問題。
發(fā)明內(nèi)容
有鑒于先前技術(shù)存在的備援開機(jī)數(shù)據(jù)文件存放于使用者可以自由存 取的儲(chǔ)存區(qū)段時(shí),可能會(huì)被使用者損毀而無法進(jìn)行開機(jī)備援的問題,本發(fā) 明遂揭露一種將嵌入式系統(tǒng)的開機(jī)數(shù)據(jù)文件儲(chǔ)存于不同儲(chǔ)存區(qū)段中的備
5援系統(tǒng)及其方法,其中
本發(fā)明所揭露的將嵌入式系統(tǒng)的開機(jī)數(shù)據(jù)文件儲(chǔ)存于不同儲(chǔ)存區(qū)段
中的備援系統(tǒng),其包括有閃存;檔案系統(tǒng)生成模塊,用以以對(duì)應(yīng)閃存的 復(fù)數(shù)個(gè)存取范圍參數(shù)執(zhí)行閃存驅(qū)動(dòng)程序(Flash Media Driver, FMD ),藉 以生成分別存取閃存中的不同儲(chǔ)存區(qū)段的檔案系統(tǒng),其中儲(chǔ)存區(qū)段對(duì)應(yīng)于 存取范圍參數(shù);檔案系統(tǒng)定義模塊,用以定義檔案系統(tǒng)其中之一為備援檔 案系統(tǒng),及定義非備援檔案系統(tǒng)的檔案系統(tǒng)為主要檔案系統(tǒng);系統(tǒng)開機(jī)模 塊,用以透過主要檔案系統(tǒng)讀取第一開機(jī)數(shù)據(jù)文件,并以第一開機(jī)數(shù)據(jù)文 件開機(jī),及于偵測到無法以第一開機(jī)數(shù)據(jù)文件正常開機(jī)時(shí),透過備援檔案 系統(tǒng)讀取第二開機(jī)數(shù)據(jù)文件,并以第二開機(jī)數(shù)據(jù)文件開機(jī),其透過檔案系 統(tǒng)生成模塊生成多個(gè)檔案系統(tǒng),并由檔案系統(tǒng)定義模塊定義存放第二開機(jī) 數(shù)據(jù)文件的備援檔案系統(tǒng),來解決先前技術(shù)所存在的問題。
本發(fā)明所揭露的將嵌入式系統(tǒng)的開機(jī)數(shù)據(jù)文件儲(chǔ)存于不同儲(chǔ)存區(qū)段 中的備援方法,其包括有下列步驟以對(duì)應(yīng)閃存的復(fù)數(shù)個(gè)存取范圍參數(shù)執(zhí) 行閃存驅(qū)動(dòng)程序,藉以生成分別存取閃存中的不同儲(chǔ)存區(qū)段的檔案系統(tǒng), 其中儲(chǔ)存區(qū)段對(duì)應(yīng)于存取范圍參數(shù);設(shè)定檔案系統(tǒng)其中之一為備援檔案系 統(tǒng);設(shè)定非備援檔案系統(tǒng)的檔案系統(tǒng)為主要檔案系統(tǒng);透過主要檔案系統(tǒng) 讀取第一開機(jī)數(shù)據(jù)文件,并以第一開機(jī)數(shù)據(jù)文件開機(jī);偵測無法以第一開 機(jī)數(shù)據(jù)文件正常開機(jī)時(shí),透過備援檔案系統(tǒng)讀取第二開機(jī)數(shù)據(jù)文件,并以 第二開機(jī)數(shù)據(jù)文件開機(jī),其透過在生成多個(gè)檔案系統(tǒng)后,設(shè)定存放第二開 機(jī)數(shù)據(jù)文件的備援檔案系統(tǒng),并在無法使用第一開機(jī)數(shù)據(jù)文件開機(jī)時(shí),以 備援檔案系統(tǒng)的第二開機(jī)數(shù)據(jù)文件開機(jī),來解決先前技術(shù)所存在的問題。
本發(fā)明所揭露的系統(tǒng)與方法如上,其與先前技術(shù)之間的差異在于本發(fā) 明可提供內(nèi)嵌式系統(tǒng)生成多個(gè)檔案系統(tǒng),并以定義其中一個(gè)檔案系統(tǒng)為備 援檔案系統(tǒng)存放第二開機(jī)數(shù)據(jù)文件,藉以將備援用的第二開機(jī)數(shù)據(jù)文件與 一般使用的第 一開機(jī)數(shù)據(jù)文件存放于不同檔案系統(tǒng)中。透過上述的技術(shù)手 段,本發(fā)明可以達(dá)成提供特定嵌入式系統(tǒng)以不同的檔案系統(tǒng)儲(chǔ)存多個(gè)開機(jī) 數(shù)據(jù)文件的技術(shù)功效。
圖1為習(xí)知的閃存儲(chǔ)存結(jié)構(gòu)示意6圖2A為本發(fā)明所提的將嵌入式系統(tǒng)的開機(jī)數(shù)據(jù)文件儲(chǔ)存于不同儲(chǔ)存 區(qū)段中的備援系統(tǒng)架構(gòu)圖2B為本發(fā)明所提的將嵌入式系統(tǒng)的開機(jī)數(shù)據(jù)文件儲(chǔ)存于不同儲(chǔ)存 區(qū)段中的備援系統(tǒng)架構(gòu)圖3為本發(fā)明所提的將嵌入式系統(tǒng)的開機(jī)數(shù)據(jù)文件儲(chǔ)存于不同儲(chǔ)存區(qū) 段中的備援方法流程圖。
圖4為本發(fā)明實(shí)施例所提的主要檔案系統(tǒng)與備援檔案系統(tǒng)存取的儲(chǔ)存 區(qū)段示意圖。
主要組件符號(hào)說明
100閃存
110第一儲(chǔ)存區(qū)段
120第二儲(chǔ)存區(qū)段
112第二區(qū)塊
113第三區(qū)塊
113a前區(qū)段
113b后區(qū)賴二
200搡作系統(tǒng)
210檔案系統(tǒng)生成模塊
2111同步單元
220檔案系統(tǒng)定義模塊
230系統(tǒng)開機(jī)才莫塊
步驟511 以對(duì)應(yīng)閃存的存取范圍參數(shù)執(zhí)行閃存驅(qū)動(dòng)程序
步驟512 生成分別存取閃存中的不同儲(chǔ)存區(qū)段的檔案系統(tǒng)
步驟520設(shè)定檔案系統(tǒng)其中之一為備援檔案系統(tǒng)并設(shè)定非備援檔
案系統(tǒng)的檔案系統(tǒng)為主要檔案系統(tǒng)
步驟530透過主要檔案系統(tǒng)讀取第 一開機(jī)數(shù)據(jù)文件并以第 一開機(jī)
數(shù)據(jù)文件開機(jī)
步驟550 偵測第一開機(jī)數(shù)據(jù)文件是否正常開機(jī)
步驟560 透過備援檔案系統(tǒng)讀取第二開機(jī)數(shù)據(jù)文件并以第二開機(jī)
數(shù)據(jù)文件開才幾
具體實(shí)施例方式
以下將配合圖式及實(shí)施例來詳細(xì)說明本發(fā)明的詳細(xì)特征與實(shí)施方式, 內(nèi)容足以使任何熟習(xí)相關(guān)技藝者輕易地理解本發(fā)明解決技術(shù)問題所應(yīng)用 的技術(shù)手段并據(jù)以實(shí)施,及理解實(shí)現(xiàn)本發(fā)明可達(dá)成的功效。
本發(fā)明所提的嵌入式系統(tǒng)包含但不限于車用計(jì)算機(jī)、電視機(jī)上盒(Set Top Box)、生產(chǎn)在線的控制設(shè)備、公共場所的信息站、智能型手機(jī)(Smart Phone)或個(gè)人數(shù)字助理(PDA)等,有些裝置甚至沒有任何人機(jī)接口 。
以下先以圖2A本發(fā)明所提的將嵌入式系統(tǒng)的開機(jī)數(shù)據(jù)文件儲(chǔ)存于不 同儲(chǔ)存區(qū)段中的備援系統(tǒng)的系統(tǒng)架構(gòu)圖來說明本發(fā)明的系統(tǒng)運(yùn)作。如圖2A 所示,本發(fā)明的系統(tǒng)含有閃存100、檔案系統(tǒng)生成模塊210、檔案系統(tǒng)定 義模塊220以及系統(tǒng)開機(jī)模塊230。
閃存100負(fù)責(zé)儲(chǔ)存提供包含有本發(fā)明的操作系統(tǒng)200開機(jī)所需的第一 開機(jī)數(shù)據(jù)文件以及第二開機(jī)數(shù)據(jù)文件。 一般而言,閃存100中還儲(chǔ)存有 Boot loader, Boot loader會(huì)儲(chǔ)存在閃存100的第 一個(gè)區(qū)塊(Block)中。
閃存IOO會(huì)以Hive-Based的技術(shù)儲(chǔ)存第一開機(jī)數(shù)據(jù)文件以及第二開機(jī) 數(shù)據(jù)文件,第 一開機(jī)數(shù)據(jù)文件以及第二開機(jī)數(shù)據(jù)文件是執(zhí)行有本發(fā)明的嵌 入式系統(tǒng)在開機(jī)時(shí)所必須要加載的檔案。
檔案系統(tǒng)生成才莫塊210負(fù)責(zé)執(zhí)行Boot loader中的閃存驅(qū)動(dòng)程序,藉以 生成存取閃存100的檔案系統(tǒng),其中,檔案系統(tǒng)生成模塊210在生成檔案 系統(tǒng)的過程中,會(huì)讀取至少一組存取范圍參數(shù)作為設(shè)定值,藉以限制被生 成的檔案系統(tǒng)在閃存100中所能存取的儲(chǔ)存區(qū)段。
上述的存取范圍參數(shù)用來定義被生成的檔案系統(tǒng)可存取的范圍,包含 但不限于起始地址以及區(qū)段長度,起始地址用來設(shè)定檔案系統(tǒng)可以存取的 起點(diǎn),區(qū)段長度與起始地址相加之后,可以設(shè)定檔案系統(tǒng)可以存取的終點(diǎn)。 例如,某組存取范圍參數(shù)所包含的起始地址為0x380001,區(qū)段長度為512K Bytes,則表示以這組存取范圍參數(shù)所生成的檔案系統(tǒng)所存取的儲(chǔ)存區(qū)段為 閃存100中0x380001至0x400000的地址。本發(fā)明所提的存取范圍參數(shù)并 不以區(qū)段長度與起始地址為限,其它如起始地址與結(jié)束地址等,凡可以設(shè) 定一段區(qū)間的數(shù)據(jù)都可以被本發(fā)明所使用。
在本發(fā)明中,為了要提供備援的機(jī)制,因此檔案系統(tǒng)生成模塊210需要生成兩個(gè)以上的檔案系統(tǒng),藉以在不同檔案系統(tǒng)可存取的儲(chǔ)存區(qū)段中存 放在一般情況下開機(jī)的第一開機(jī)數(shù)據(jù)文件以及備援用的第二開機(jī)數(shù)據(jù)文
件,所以,檔案系統(tǒng)生成模塊210至少兩組所讀取的存取范圍參數(shù)至少會(huì) 有兩組。
若檔案系統(tǒng)生成模塊210所生成的檔案系統(tǒng)超過兩個(gè),則并非所有的 檔案系統(tǒng)可存取的儲(chǔ)存區(qū)段都會(huì)存放開機(jī)數(shù)據(jù)文件,也就是說,本發(fā)明只 需要有兩個(gè)檔案系統(tǒng)可存取的儲(chǔ)存區(qū)段可以分別存放第一開機(jī)資料文件 與第二開機(jī)數(shù)據(jù)文件即可,并不 一定需要在所有的檔案系統(tǒng)可存取的儲(chǔ)存
區(qū)段中都存放開機(jī)數(shù)據(jù)文件。
檔案系統(tǒng)定義模塊220負(fù)責(zé)由檔案系統(tǒng)生成模塊210所生成的檔案系 統(tǒng)中定義其中 一個(gè)檔案系統(tǒng)為備援檔案系統(tǒng),并定義非備援檔案系統(tǒng)的其 它檔案系統(tǒng)為主要檔案系統(tǒng)。其中,檔案系統(tǒng)定義模塊220可以由存取范 圍參數(shù)中的定義、檔案系統(tǒng)所存取的地址、檔案系統(tǒng)所存取的儲(chǔ)存區(qū)段的 大小等方式,判斷檔案系統(tǒng)生成模塊210所生成的檔案系統(tǒng)中,何者需要 被定義為備援檔案系統(tǒng)。 一般而言,存取范圍參數(shù)中會(huì)包含一個(gè)設(shè)定值, 用來定義存取范圍參數(shù)所定義的存取范圍是否為備援檔案系統(tǒng),但本發(fā)明 所提的定義備援檔案系統(tǒng)的方式并不以判斷存取范圍參數(shù)為限。
前述備援檔案系統(tǒng)所能存取的儲(chǔ)存區(qū)段中儲(chǔ)存有提供備援的第二開 機(jī)數(shù)據(jù)文件,由于備援檔案系統(tǒng)是因?yàn)閭湓畽C(jī)制而存在,因此檔案系統(tǒng)定 義模塊220還會(huì)將備援檔案系統(tǒng)的屬性設(shè)定為只讀、隱藏、或只讀并隱藏 等,藉以讓使用者無法使用備援檔案系統(tǒng)而存取備援用的第二開機(jī)數(shù)據(jù)文 件。
前述主要檔案系統(tǒng)則除了提供給使用者自由存取之外,也儲(chǔ)存了一般 開機(jī)時(shí)所使用的第 一開機(jī)數(shù)據(jù)文件。若檔案系統(tǒng)生成模塊210所生成的檔 案系統(tǒng)超過兩個(gè),由于備援檔案系統(tǒng)理論上只需要一個(gè),因此主要檔案系 統(tǒng)將會(huì)有兩個(gè)以上,不過本發(fā)明中只需有其中 一個(gè)主要檔案系統(tǒng)可存取的 儲(chǔ)存區(qū)段中存放有第一開機(jī)數(shù)據(jù)文件,即可提供系統(tǒng)開機(jī)模塊230進(jìn)行開 機(jī)。
系統(tǒng)開機(jī)模塊230負(fù)責(zé)透過主要檔案系統(tǒng)讀取第一開機(jī)數(shù)據(jù)文件,并 使用第 一開機(jī)數(shù)據(jù)文件進(jìn)行開機(jī),而當(dāng)系統(tǒng)開機(jī)模塊230偵測到以第一開
9機(jī)數(shù)據(jù)文件并無法完成正常開機(jī)的程序時(shí),會(huì)透過備援檔案系統(tǒng)讀取第二 開機(jī)數(shù)據(jù)文件,并使用第二開機(jī)數(shù)據(jù)文件進(jìn)行開機(jī)程序,使得備援的機(jī)制 順利完成。
為了讓檔案系統(tǒng)生成模塊210所生成的各個(gè)檔案系統(tǒng)可以同時(shí)運(yùn)行而 不發(fā)生問題,所以需要修改習(xí)知的嵌入式系統(tǒng)的操作系統(tǒng)的部分程序代 碼,也就是說,本發(fā)明會(huì)修改習(xí)知的閃存驅(qū)動(dòng)程序,修改后的閃存驅(qū)動(dòng)程 序中,函式名稱為FMD—Init、 FMD—EraseBlock、 FMD—OEMIoControl以 及FMD—WriteSector等有執(zhí)行數(shù)據(jù)寫入的函式會(huì)被加入同步化 (Synchronization)的程序片段,使得檔案系統(tǒng)生成模塊210所生成的各 個(gè)檔案系統(tǒng)都包含有同步單元2111,如圖2B所示,同步單元2111負(fù)責(zé) 在檔案系統(tǒng)寫入數(shù)據(jù)至該檔案系統(tǒng)可儲(chǔ)存的儲(chǔ)存區(qū)段中時(shí),進(jìn)行寫入鎖定 (write lock)、寫入數(shù)據(jù)、解除寫入鎖定等同步化的處理,藉以避免檔案 系統(tǒng)在存取數(shù)據(jù)時(shí)產(chǎn)生死結(jié)(Dead Lock)或檔案寫入錯(cuò)誤等問題。
接著以一個(gè)實(shí)施例來解說本發(fā)明的運(yùn)作系統(tǒng)與方法,并請參照圖3本 發(fā)明所提的將嵌入式系統(tǒng)的開機(jī)數(shù)據(jù)文件儲(chǔ)存于不同儲(chǔ)存區(qū)段中的備援 方法的方法流程圖。假設(shè)在本實(shí)施例中,閃存的儲(chǔ)存空間為2MBytes。
若使用者所使用的嵌入式系統(tǒng)中包含本發(fā)明,則當(dāng)嵌入式系統(tǒng)在開機(jī) 時(shí),檔案系統(tǒng)生成模塊210會(huì)先加載閃存驅(qū)動(dòng)程序,并讀取所有的存取范 圍參數(shù),例如有第一存取范圍參數(shù)以及第二存取范圍參數(shù)兩組,假設(shè)第一 存取范圍參數(shù)包含起始地址以及區(qū)段長度,其中起始地址為「0x0」、區(qū) 段長度為1792K Bytes;第二存取范圍參數(shù)包含的起始地址為「 0xlC0001 J、 區(qū)段長度為256K Bytes,且第二存取范圍參數(shù)還包含了表示存取范圍為備 援檔案系統(tǒng)的設(shè)定值。
在檔案系統(tǒng)生成模塊210讀取兩組存取范圍參數(shù)之后,檔案系統(tǒng)生成 模塊會(huì)分別以兩組的存取范圍參數(shù)來執(zhí)行閃存驅(qū)動(dòng)程序(步驟511),藉 以生成兩個(gè)檔案系統(tǒng)(步驟512),其中,如圖4所示,依據(jù)第一存取范 圍參數(shù)所生成的檔案系統(tǒng)將可以存取閃存100中的第一儲(chǔ)存區(qū)段110,而 依據(jù)第二存取范圍參數(shù)所生成的檔案系統(tǒng)則僅能夠存取第二儲(chǔ)存區(qū)段 120。
在檔案系統(tǒng)生成模塊210生成檔案系統(tǒng)(步驟512)之后,檔案系統(tǒng)定義模塊220會(huì)依據(jù)第二存取范圍參數(shù)中的設(shè)定值設(shè)定存取第二儲(chǔ)存區(qū)段 120的檔案系統(tǒng)為備援檔案系統(tǒng),并且設(shè)定存取第一儲(chǔ)存區(qū)段110 (也就 是非備援檔案系統(tǒng))的檔案系統(tǒng)為主要檔案系統(tǒng)(步驟520)。
為了避免使用者存取備援檔案系統(tǒng)中的第二開機(jī)數(shù)據(jù)文件而造成備 援用的第二開機(jī)數(shù)據(jù)文件損毀,因此檔案系統(tǒng)定義模塊220在定義出第二 儲(chǔ)存區(qū)段120為備援檔案系統(tǒng)后,更會(huì)將備援檔案系統(tǒng)的屬性為只讀、隱 藏、或只讀并隱藏,使得使用者無法存取第二儲(chǔ)存區(qū)段120,藉以保護(hù)第 二開機(jī)數(shù)據(jù)文件。
在檔案系統(tǒng)定義模塊220將備援檔案系統(tǒng)及主要檔案系統(tǒng)設(shè)定完成 (步驟520)之后,系統(tǒng)開機(jī)模塊230會(huì)透過主要檔案系統(tǒng)讀取儲(chǔ)存在第 一儲(chǔ)存區(qū)段上的第一開機(jī)數(shù)據(jù)文件,并使用第一開機(jī)數(shù)據(jù)文件開機(jī)(步驟 530)。同時(shí),系統(tǒng)開機(jī)模塊230會(huì)在使用第一開機(jī)數(shù)據(jù)文件開機(jī)時(shí),偵 測開機(jī)程序是否成功的完成(步驟550)。
假設(shè)系統(tǒng)開機(jī)模塊230無法使用第一開機(jī)數(shù)據(jù)文件完成開機(jī)程序,例 如使用者前次使用嵌入式系統(tǒng)時(shí),在更新第三區(qū)塊113時(shí)斷電,造成第一 開機(jī)數(shù)據(jù)文件損毀,則系統(tǒng)開機(jī)模塊230肯定無法完成開機(jī)程序,因此, 系統(tǒng)開機(jī)模塊240將會(huì)偵測出使用第 一開機(jī)數(shù)據(jù)文件開機(jī)失敗,因此改透 過備援檔案系統(tǒng)讀取儲(chǔ)存在第二儲(chǔ)存區(qū)段120中的第二開機(jī)數(shù)據(jù)文件,并 使用第二開機(jī)數(shù)據(jù)文件開機(jī)(步驟560),藉以順利完成開機(jī)程序。
本發(fā)明的閃存驅(qū)動(dòng)程序中,更可以包含同步單元,使得檔案系統(tǒng)生成 模塊210執(zhí)行閃存驅(qū)動(dòng)程序后所產(chǎn)生的主要檔案系統(tǒng)都可以進(jìn)行寫入的同 步化,也就是在寫入數(shù)據(jù)(更新的第一開機(jī)數(shù)據(jù)文件或是使用者數(shù)據(jù)等) 到第一儲(chǔ)存區(qū)段110中的某個(gè)區(qū)塊時(shí),會(huì)先對(duì)該區(qū)塊進(jìn)行寫入鎖定,之后 才會(huì)將數(shù)據(jù)寫入?yún)^(qū)塊中,在數(shù)據(jù)寫入后才解除寫入鎖定,透過同步化的方 式可以避免主要檔案系統(tǒng)在更新第 一開機(jī)數(shù)據(jù)文件或?qū)懭霐?shù)據(jù)時(shí)產(chǎn)生 Dead Lock或?qū)懭脲e(cuò)誤等問題。同樣的,檔案系統(tǒng)生成模塊210執(zhí)行相同 的閃存驅(qū)動(dòng)程序所生成的備援檔案系統(tǒng)再更新備援的第二開機(jī)數(shù)據(jù)文件 時(shí),也會(huì)進(jìn)行寫入的同步化。
綜上所述,可知本發(fā)明與先前技術(shù)之間的差異在于內(nèi)嵌式系統(tǒng)會(huì)生成 多個(gè)檔案系統(tǒng),并以定義其中 一個(gè)檔案系統(tǒng)為備援檔案系統(tǒng)存放第二開機(jī)數(shù)據(jù)文件,藉以將備援用的第二開機(jī)數(shù)據(jù)文件與一般使用的第一開機(jī)數(shù)據(jù) 文件存放于不同檔案系統(tǒng)中,使得無法以第一開機(jī)數(shù)據(jù)文件開機(jī)時(shí),使用 第二開機(jī)資料文件開機(jī),藉由此一技術(shù)手段可以解決先前技術(shù)所存在的開
機(jī)資料文件存放于使用者可以自由存取的儲(chǔ)存區(qū)段時(shí),可能會(huì)被使用者損 毀而無法進(jìn)行開機(jī)備援的問題,進(jìn)而達(dá)成提供特定嵌入式系統(tǒng)以不同的檔 案系統(tǒng)儲(chǔ)存多個(gè)開機(jī)數(shù)據(jù)文件的功效。
再者,本發(fā)明的將開機(jī)數(shù)據(jù)文件儲(chǔ)存于不同儲(chǔ)存區(qū)段中的備援方法, 可實(shí)現(xiàn)于硬件、軟件或》更件與軟件的組合中。
雖然本發(fā)明所揭露的實(shí)施方式如上,惟所述的內(nèi)容并非用以直接限定 本發(fā)明的專利保護(hù)范圍。任何本發(fā)明所屬技術(shù)領(lǐng)域中具有通常知識(shí)者,在 不脫離本發(fā)明所揭露的精神和范圍之內(nèi),在實(shí)施的形式上及細(xì)節(jié)上所為的 更動(dòng)或潤飾,均屬本發(fā)明的專利保護(hù)范圍。因此本發(fā)明的專利保護(hù)范圍仍 須以本說明書所附的權(quán)利要求范圍所界定者為準(zhǔn)。
權(quán)利要求
1.一種將嵌入式系統(tǒng)的開機(jī)數(shù)據(jù)文件儲(chǔ)存于不同儲(chǔ)存區(qū)段中的備援方法,應(yīng)用于一嵌入式系統(tǒng)上,該備援方法包含下列步驟以對(duì)應(yīng)一閃存(Flash)的復(fù)數(shù)個(gè)存取范圍參數(shù)執(zhí)行一閃存驅(qū)動(dòng)程序(Flash Media Driver,F(xiàn)MD);生成分別存取該閃存中的不同儲(chǔ)存區(qū)段的各檔案系統(tǒng),其中該些儲(chǔ)存區(qū)段對(duì)應(yīng)于該些存取范圍參數(shù);設(shè)定該些檔案系統(tǒng)其中之一為一備援檔案系統(tǒng);設(shè)定非該備援檔案系統(tǒng)的該些檔案系統(tǒng)為主要檔案系統(tǒng);透過該主要檔案系統(tǒng)讀取一第一開機(jī)數(shù)據(jù)文件,并以該第一開機(jī)數(shù)據(jù)文件開機(jī);及偵測無法以該第一開機(jī)數(shù)據(jù)文件正常開機(jī)時(shí),透過該備援檔案系統(tǒng)讀取一第二開機(jī)數(shù)據(jù)文件,并以該第二開機(jī)數(shù)據(jù)文件開機(jī)。
2. 如權(quán)利要求1所述的將嵌入式系統(tǒng)的開機(jī)數(shù)據(jù)文件儲(chǔ)存于不同儲(chǔ) 存區(qū)段中的備援方法,其中該生成各該檔案系統(tǒng)的步驟是分別依據(jù)該些存 取范圍參數(shù)所包含的 一起始地址及一 區(qū)段長度生成存取該些儲(chǔ)存區(qū)段的該 些檔案系統(tǒng)。
3. 如權(quán)利要求1所述的將嵌入式系統(tǒng)的開機(jī)數(shù)據(jù)文件儲(chǔ)存于不同儲(chǔ) 存區(qū)段中的備援方法,其中該設(shè)定該些檔案系統(tǒng)其中之一為該備援檔案系 統(tǒng)的步驟更包含設(shè)定該備援檔案系統(tǒng)的屬性為只讀、隱藏、或只讀并隱藏 的步驟。
4. 一種將嵌入式系統(tǒng)的開機(jī)數(shù)據(jù)文件儲(chǔ)存于不同儲(chǔ)存區(qū)段中的備援 系統(tǒng),應(yīng)用于一嵌入式系統(tǒng)上,該備援系統(tǒng)包含一閃存;一檔案系統(tǒng)生成模塊,用以以對(duì)應(yīng)該閃存的復(fù)數(shù)個(gè)存取范圍參數(shù)執(zhí)行 一閃存驅(qū)動(dòng)程序,藉以生成分別存取該閃存中的不同儲(chǔ)存區(qū)段的各檔案系 統(tǒng),其中該些儲(chǔ)存區(qū)段對(duì)應(yīng)于該些存取范圍參數(shù);一檔案系統(tǒng)定義模塊,用以定義該些檔案系統(tǒng)其中之一 為 一備援檔案 系統(tǒng),及定義非該備援檔案系統(tǒng)的該些檔案系統(tǒng)為主要檔案系統(tǒng);及一系統(tǒng)開機(jī)模塊,用以透過該主要檔案系統(tǒng)讀取一第 一開機(jī)數(shù)據(jù)文 件,并以該第一開機(jī)數(shù)據(jù)文件開機(jī),及于偵測到無法以該第一開機(jī)數(shù)據(jù)文 件正常開機(jī)時(shí),透過該備援檔案系統(tǒng)讀取一第二開機(jī)數(shù)據(jù)文件,并以該第 二開機(jī)數(shù)據(jù)文件開才幾。
5. 如權(quán)利要求4所述的將嵌入式系統(tǒng)的開機(jī)數(shù)據(jù)文件儲(chǔ)存于不同儲(chǔ) 存區(qū)段中的備援系統(tǒng),其中該些存取范圍參數(shù)包含一起始位置及一 區(qū)段長 度。
6. 如權(quán)利要求4所述的將嵌入式系統(tǒng)的開機(jī)數(shù)據(jù)文件儲(chǔ)存于不同儲(chǔ) 存區(qū)段中的備援系統(tǒng),其中該檔案系統(tǒng)定義模塊更用以將該備援檔案系統(tǒng) 的屬性設(shè)定為只讀、隱藏、或只讀并隱藏。
7. 如權(quán)利要求4所述的將嵌入式系統(tǒng)的開機(jī)數(shù)據(jù)文件儲(chǔ)存于不同儲(chǔ) 存區(qū)段中的備援系統(tǒng),其中該第 一開機(jī)數(shù)據(jù)文件及該第二開機(jī)數(shù)據(jù)文件是 以Hive-Based的4支術(shù)4諸存于該閃存中。
8. 如權(quán)利要求4所述的將嵌入式系統(tǒng)的開機(jī)數(shù)據(jù)文件儲(chǔ)存于不同儲(chǔ) 存區(qū)段中的備援系統(tǒng),其中該閃存驅(qū)動(dòng)程序更包含一同步單元,用以提供 該主要檔案系統(tǒng)/該備援檔案系統(tǒng)同步化寫入數(shù)據(jù)至該閃存中。
全文摘要
一種將嵌入式系統(tǒng)的開機(jī)數(shù)據(jù)文件儲(chǔ)存于不同儲(chǔ)存區(qū)段中的備援系統(tǒng)及其方法,其透過生成多個(gè)檔案系統(tǒng),并在定義其中一個(gè)檔案系統(tǒng)為備援檔案系統(tǒng)后,將備援的開機(jī)數(shù)據(jù)文件存放于備援檔案系統(tǒng)中,當(dāng)無法以一般使用的開機(jī)數(shù)據(jù)文件開機(jī)時(shí),使用備援的開機(jī)資料文件開機(jī),可以解決先前技術(shù)中所存在的備援的開機(jī)資料文件存放于使用者可以自由存取的檔案系統(tǒng)時(shí),可能會(huì)被使用者損毀的問題,藉此可以達(dá)成提供特定嵌入式系統(tǒng)以不同的檔案系統(tǒng)儲(chǔ)存多個(gè)開機(jī)數(shù)據(jù)文件的技術(shù)功效。
文檔編號(hào)G06F11/14GK101650676SQ20081013468
公開日2010年2月17日 申請日期2008年8月15日 優(yōu)先權(quán)日2008年8月15日
發(fā)明者廖本儒 申請人:四零四科技股份有限公司