亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種讀寫存儲(chǔ)卡的方法及裝置的制作方法

文檔序號(hào):6582408閱讀:172來源:國(guó)知局
專利名稱:一種讀寫存儲(chǔ)卡的方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及嵌入式系統(tǒng)開發(fā)領(lǐng)域,特別涉及一種讀寫存儲(chǔ)卡的方法及裝置。
背景技術(shù)
存儲(chǔ)卡作為一類通用大容量存儲(chǔ)介質(zhì)在很多嵌入式設(shè)備中都有所應(yīng)用,例如CF卡(Compact Flash Card )、 SD卡(Secure Digital Memory Card)、 TF卡 TransFLashCard)等。存儲(chǔ)卡一般由卡控制器和Flash單元兩部分組成,其中的 Flash都是采用NAND Flash (與非型Flash),有讀寫次數(shù)限制,也就是使用壽 命的限制, 一般在1-10萬次左右。在對(duì)穩(wěn)定性要求很高的通訊系統(tǒng)設(shè)備上, CF卡的應(yīng)用很廣泛,在便攜設(shè)備中,SD卡和TF卡等應(yīng)用比較廣泛。存儲(chǔ)卡普遍的應(yīng)用方法包括在卡上使用某種文件系統(tǒng),例如pfflLE、 FAT、 FAT32、 ext2、 ext3等,尤其以FAT32應(yīng)用最為廣泛。軟件以文件的形 式讀寫存儲(chǔ)卡,因?yàn)榇鎯?chǔ)卡的容量遠(yuǎn)遠(yuǎn)小于硬盤,所以存儲(chǔ)卡上一般只有一個(gè) 分區(qū)。這種實(shí)現(xiàn)方案管理很方便,但對(duì)于某種應(yīng)用場(chǎng)合存在下面的缺陷(1) 文件訪問過程中,多個(gè)扇區(qū)被頻繁讀寫,頻繁讀寫的扇區(qū)最容易損壞,例如 在FAT32文件系統(tǒng)中,位于DBR、 FAT1、 FAT2、目錄區(qū)中的扇區(qū)因其會(huì)被頻 繁讀寫,所以最容易損壞。當(dāng)頻繁讀寫扇區(qū)發(fā)生損壞時(shí),導(dǎo)致存儲(chǔ)卡訪問失敗, 從而嵌入式設(shè)備中單板運(yùn)行異常。(2)由于沒有完善的告警機(jī)制,導(dǎo)致存儲(chǔ)卡 損壞后系統(tǒng)立即癱瘓,維護(hù)人員沒有足夠的處理時(shí)間。為了提高存儲(chǔ)卡的容錯(cuò)性能,增強(qiáng)系統(tǒng)的健壯性,目前,如下解決方法 (1)采用備份單板。由于一個(gè)板的一張存儲(chǔ)卡不可用而導(dǎo)致嵌入式設(shè)備中整 張板不可用,因此,采用備份單板,但成本太高。(2)采用一個(gè)單板雙存儲(chǔ)卡,這種方案較之于第一種方案節(jié)省了成本,但必須應(yīng)用兩張卡,從單板尺寸到材 料,成本依然很高。而且對(duì)于目前很多在用的只有單存儲(chǔ)卡的單板則無法通過升級(jí)軟件實(shí)現(xiàn)容錯(cuò)保護(hù)。(3 )采用文件系統(tǒng)關(guān)鍵信息段設(shè)置讀寫權(quán)限或者凍結(jié) 某些信息區(qū)的方法,這樣,減少存儲(chǔ)卡關(guān)鍵信息區(qū)的讀寫頻率,進(jìn)而減小存儲(chǔ) 卡的損壞概率。但這種方法對(duì)應(yīng)用場(chǎng)合有嚴(yán)格的限制,不具有通用性。而且沒 有完善的告警輔助機(jī)制,對(duì)于設(shè)備的可維護(hù)性依然沒有很好的改善。發(fā)明內(nèi)容本發(fā)明實(shí)施例提供一種讀寫存儲(chǔ)卡的方法及裝置,用以解決現(xiàn)有技術(shù)中存 儲(chǔ)卡容錯(cuò)性低、從而導(dǎo)致嵌入式系統(tǒng)不穩(wěn)定問題。本發(fā)明實(shí)施例提供一種讀寫存儲(chǔ)卡的方法,所述存儲(chǔ)卡包括 一個(gè)主用分 區(qū)和至少一個(gè)備用分區(qū),該方法包括讀寫裝置將第一文件寫入所述存儲(chǔ)卡時(shí),將所述第一文件寫入所述主用分 區(qū)后,將所述第一文件寫入所述至少一個(gè)備用分區(qū);所述讀寫裝置從所述存儲(chǔ)卡中讀取第二文件時(shí),從所述至少 一個(gè)備用分區(qū) 讀取第二文件,當(dāng)從備用分區(qū)讀取第二文件出錯(cuò)時(shí),從所述主用分區(qū)讀取所述 第二文件。本發(fā)明實(shí)施例提供一種讀寫存儲(chǔ)卡的裝置,所述存儲(chǔ)卡包括 一個(gè)主用分 區(qū)和至少一個(gè)備用分區(qū),該裝置包括寫入單元,用于將第一文件寫入所述主用分區(qū)后,將所述第一文件寫入所 述至少一個(gè)備用分區(qū);讀取單元,用于從所述至少一個(gè)備用分區(qū)讀取第二文件,當(dāng)從備用分區(qū)讀 取第二文件出錯(cuò)時(shí),從所述主用分區(qū)讀取所述第二文件。本發(fā)明實(shí)施例中,存儲(chǔ)卡被分為一個(gè)主用分區(qū)和至少一個(gè)備用分區(qū),這樣, 讀寫裝置將第一文件寫入所述存儲(chǔ)卡時(shí),將所述第一文件寫入所述主用分區(qū) 后,將所述第一文件寫入所述至少一個(gè)備用分區(qū),從而,主用分區(qū)和備用分區(qū)上有相同的數(shù)據(jù),起到了*保護(hù)的作用。讀寫裝置從所述存儲(chǔ)卡中讀取第二 文件時(shí),從所述至少一個(gè)備用分區(qū)讀取第二文件,當(dāng)從備用分區(qū)讀取第二文件 出錯(cuò)時(shí),從所述主用分區(qū)讀取所述第二文件,保證系統(tǒng)能夠正常運(yùn)行,提高了 系統(tǒng)的穩(wěn)定性。


圖1為本發(fā)明實(shí)施例中存儲(chǔ)卡格式化分區(qū)的示意圖; 圖2為本發(fā)明第一實(shí)施例中向存儲(chǔ)卡寫入文件的示意圖; 圖3為本發(fā)明第二實(shí)施例中從存儲(chǔ)卡中讀取文件的示意圖; 圖4為本發(fā)明第三實(shí)施例中從存儲(chǔ)卡中讀取文件的示意圖; 圖5為本發(fā)明實(shí)施例中存讀寫存儲(chǔ)卡的裝置示意圖。
具體實(shí)施方式
本發(fā)明實(shí)施例中,對(duì)于僅有一張存儲(chǔ)卡的單板或系統(tǒng),在對(duì)該存儲(chǔ)卡進(jìn)行 格式化分區(qū)過程中,將存儲(chǔ)卡劃分為多個(gè)區(qū)域,可以包括一個(gè)主用分區(qū)和一個(gè) 備用分區(qū),也可以包括一個(gè)主用分區(qū)和多個(gè)備用分區(qū),其中,主用分區(qū)和備用 分區(qū)的容量大小可以一致,也可以不一致。這樣,對(duì)于4又有一張存儲(chǔ)卡的單板或系統(tǒng),該存儲(chǔ)卡中包括一個(gè)主用分區(qū) 和一個(gè)備用分區(qū),則讀寫裝置在向存儲(chǔ)卡寫入第一文件時(shí),按照先主用分區(qū)后 備用分區(qū)的順序把第一文件先后寫入存儲(chǔ)卡,即讀寫裝置將第一文件寫入所述 主用分區(qū)后,將所述第一文件寫入所述備用分區(qū)。這里,當(dāng)主用分區(qū)和備用分 區(qū)的容量大小一致,向主用分區(qū)寫入第一文件的過程與向備用分區(qū)寫入第一文 件的過程可以是一致的;當(dāng)主用分區(qū)和備用分區(qū)的容量大小不一致時(shí),例如備 用分區(qū)的容量小一些,這樣,可以先將第一文件進(jìn)行壓縮,然后將壓縮后的第 一文件寫入備用分區(qū)中。在寫入的過程中,如果主用分區(qū)和備用分區(qū)寫入過程中均未發(fā)生硬件錯(cuò)誤,則正常結(jié)束。如果主用分區(qū)和備用分區(qū)中有一個(gè)分區(qū)發(fā)生硬件錯(cuò)誤,則只 能有一個(gè)分區(qū)的寫入過程正常結(jié)束,需向網(wǎng)管上報(bào)普通告警信息。如果主用分 區(qū)和備用分區(qū)均發(fā)生硬件錯(cuò)誤,則兩個(gè)分區(qū)都不能正常寫入第一文件,需上報(bào) 嚴(yán)重告警信息。其中,普通告警信息,用于提醒維護(hù)人員,存儲(chǔ)卡中主用分區(qū) 或備用分區(qū)有一個(gè)已經(jīng)損壞,需近期更換存儲(chǔ)卡。嚴(yán)重告警信息,用于提醒維 護(hù)人員,存儲(chǔ)卡中主用分區(qū)和備用分區(qū)都已損壞,需立刻更換存儲(chǔ)卡。硬件錯(cuò) 誤包括由于存儲(chǔ)卡的某個(gè)或某些扇區(qū)損壞,導(dǎo)致讀寫存儲(chǔ)卡時(shí),存儲(chǔ)卡的控制 器返回硬件錯(cuò)誤指示,還包括存儲(chǔ)卡的控制器出現(xiàn)故障。而本發(fā)明實(shí)施例中,讀寫裝置從存儲(chǔ)卡讀出第二文件時(shí),先從備用分區(qū)讀 取第二文件,當(dāng)能正常從備用分區(qū)讀取第二文件時(shí),則讀取過程正常結(jié)束。當(dāng) 從備用分區(qū)讀取第二文件出錯(cuò)時(shí),則從主用分區(qū)讀取所述第二文件。其中,從備用分區(qū)讀取第二文件出錯(cuò)包括硬件錯(cuò)誤或軟件錯(cuò)誤。這樣,當(dāng)從所述備用分區(qū)讀取第二文件,備用分區(qū)發(fā)生硬件錯(cuò)誤時(shí),向網(wǎng) 管上報(bào)普通告警信息,并從主用分區(qū)讀取第二文件。當(dāng)能正常從主用分區(qū)讀取 第二文件時(shí),則讀取過程正常結(jié)束,當(dāng)從不能從主用分區(qū)讀取第二文件,即主 用分區(qū)發(fā)生硬件錯(cuò)誤時(shí),上報(bào)嚴(yán)重告警信息。當(dāng)從所述備用分區(qū)讀取第二文件,發(fā)生軟件錯(cuò)誤時(shí),從主用分區(qū)讀取第二 文件,當(dāng)能正常從主用分區(qū)讀取第二文件時(shí),將該第二文件從主用分區(qū)備份到 所述備用分區(qū),讀取過程正常結(jié)束。其中,軟件錯(cuò)誤包括讀出第二文件后的 第二文件關(guān)鍵字段校驗(yàn)錯(cuò)誤,以及讀不到第二文件等。軟件錯(cuò)誤的優(yōu)先級(jí)要低 于硬件錯(cuò)誤。下面結(jié)合"^兌明書附圖對(duì)本發(fā)明實(shí)施例作進(jìn)一步詳細(xì)描述。 本發(fā)明實(shí)施例中,存儲(chǔ)卡被格式化成FAT32文件系統(tǒng),如圖l所示,在存 儲(chǔ)卡上格式化出多個(gè)扇區(qū),其中,包括兩個(gè)大小一樣的分區(qū),格式化后的存儲(chǔ) 卡從下向上的第一個(gè)扇區(qū)到最后一個(gè)扇區(qū)分別是主引導(dǎo)扇區(qū)(MBR)、保留 扇區(qū)、主用分區(qū)、備用分區(qū)和未使用保留扇區(qū)。其中,主用分區(qū)和備用分區(qū)的容量和功能單元分配都是一致的。這里,由于存儲(chǔ)卡的容量有限,因此,存儲(chǔ) 卡上格式化出的多個(gè)扇區(qū)中只包括了 一個(gè)主用分區(qū),以及一個(gè)備用分區(qū)。這樣,整個(gè)存儲(chǔ)卡上只有一份的區(qū)域未使用保留扇區(qū)、MBR和保留扇 區(qū);主用分區(qū)和備用分區(qū)都有一份的區(qū)域操作系統(tǒng)引導(dǎo)扇區(qū)(DBR), DBR 后的第一個(gè)扇區(qū),保留扇區(qū),主文件分配表(FAT1 ),備份的文件分配表(FAT2 ), 目錄區(qū)和數(shù)據(jù)區(qū)。其中,DBR后的第一個(gè)扇區(qū)用于記錄磁盤剩余容量和下一個(gè) 空閑簇的起始地址;目錄區(qū)用于存儲(chǔ)^^目錄。實(shí)施例一,通信設(shè)備中的嵌入式單板包括了如圖l所述的存儲(chǔ)卡,參見圖 2,向該存儲(chǔ)卡寫入文件的過程如下,包括步驟201:向主用分區(qū)寫入文件。進(jìn)入寫入流程時(shí),讀寫裝置先向主用分區(qū)寫入文件。步驟202:判斷主用分區(qū)是否出現(xiàn)硬件錯(cuò)誤,當(dāng)出現(xiàn)硬件錯(cuò)誤,執(zhí)行步驟 206,沒有出現(xiàn)硬件錯(cuò)誤,則文件正常寫入主用分區(qū),執(zhí)行步驟203。當(dāng)讀寫裝置在向主用分區(qū)寫入文件過程中,由于主用分區(qū)出現(xiàn)硬件錯(cuò)誤, 不能正常將文件寫入主用分區(qū)中,則執(zhí)行步驟206。否則文件正常寫入主用分 區(qū),執(zhí)行步驟203。其中,出現(xiàn)硬件錯(cuò)誤的原因,可能是通信設(shè)備突然復(fù)位, 斷電,或者存儲(chǔ)卡的寫入次數(shù)超過了 Flash的使用壽命上限等等。步驟203:向備用分區(qū)寫入文件,轉(zhuǎn)入步驟204。步驟204:判斷備用分區(qū)是否出現(xiàn)硬件錯(cuò)誤,當(dāng)出現(xiàn)硬件錯(cuò)誤,不能正常 將文件寫入備用分區(qū)中,執(zhí)行步驟205,沒有出現(xiàn)硬件錯(cuò)誤,則文件正常寫入 備用分區(qū),寫文件流程也正常完成。步驟205:向網(wǎng)管上報(bào)普通告警信息,即提醒維護(hù)人員,存儲(chǔ)卡中備用分 區(qū)已經(jīng)損壞,需近期更換存儲(chǔ)卡。雖然備用分區(qū)出現(xiàn)硬件錯(cuò)誤,但是文件已正常寫入主用分區(qū)了,因此,寫 文件流程也正常完成了。步驟206:向網(wǎng)管上報(bào)普通告警信息,即提醒維護(hù)人員,存儲(chǔ)卡中主用分區(qū)已經(jīng)損壞,需近期更換存儲(chǔ)卡。步驟207:向備用分區(qū)寫入文件,轉(zhuǎn)入步驟208。步驟208:判斷備用分區(qū)是否出現(xiàn)硬件錯(cuò)誤,當(dāng)出現(xiàn)硬件錯(cuò)誤,不能正常 將文件寫入備用分區(qū)中,執(zhí)行步驟209,沒有出現(xiàn)硬件錯(cuò)誤,則文件正常寫入 備用分區(qū),寫文件流程正常完成。這里,當(dāng)備用分區(qū)也出現(xiàn)硬件錯(cuò)誤時(shí),則主用分區(qū)和備用分區(qū)都同時(shí)出現(xiàn) 問題了,文件既不能寫入主用分區(qū)也不能寫入備用分區(qū),因此,執(zhí)行步驟209。當(dāng)備用分區(qū)沒有出現(xiàn)硬件錯(cuò)誤時(shí),文件雖然不能正常寫入主用分區(qū),但是 可以寫入備用分區(qū),因此,寫文件流程也正常完成了。步驟209:向網(wǎng)管上報(bào)嚴(yán)重告警信息,即提醒維護(hù)人員,存儲(chǔ)卡中主用分 區(qū)和備用分區(qū)都已經(jīng)損壞,需立刻更換存儲(chǔ)卡。文件既不能寫入主用分區(qū)也不能寫入備用分區(qū),因此,寫文件流程異常完成。實(shí)施例二,通信設(shè)備中的嵌入式單板包括了如圖l所述的存儲(chǔ)卡,參見圖 3,從該存儲(chǔ)卡讀取文件的過程如下,其中,從該存儲(chǔ)卡讀取文件出錯(cuò)為硬件 出錯(cuò),包括步驟301:從備用分區(qū)讀取文件。進(jìn)入讀取流程,讀寫裝置先從備用分區(qū)讀取文件。步驟302:判斷備用分區(qū)是否出現(xiàn)硬件錯(cuò)誤,當(dāng)出現(xiàn)硬件錯(cuò)誤,不能從備 用分區(qū)讀取文件,執(zhí)行步驟303,沒有出現(xiàn)硬件錯(cuò)誤,則正常從備用分區(qū)讀取 文件,讀文件流程正常結(jié)束。步驟303:向網(wǎng)管上報(bào)普通告警信息,即提醒維護(hù)人員,存儲(chǔ)卡中備用分 區(qū)已經(jīng)損壞,需近期更換存儲(chǔ)卡。步驟304:從主用分區(qū)中讀取文件,進(jìn)入步驟305。步驟305:判斷主用分區(qū)是否出現(xiàn)硬件錯(cuò)誤,當(dāng)出現(xiàn)硬件錯(cuò)誤,不能從主 用分區(qū)讀取文件,執(zhí)行步驟306。沒有出現(xiàn)硬件錯(cuò)誤,則,能從主用分區(qū)讀取文件,讀文件流程正常完成。這里,當(dāng)主用分區(qū)出現(xiàn)硬件錯(cuò)誤時(shí),則主用分區(qū)和備用分區(qū)都同時(shí)出現(xiàn)問題了,既不能從主用分區(qū)也不能從備用分區(qū)讀取文件,因此,執(zhí)行步驟306。 當(dāng)主用分區(qū)沒有出現(xiàn)錯(cuò)誤時(shí),雖然不能正常從備用分區(qū)讀取文件,但是可以從主用分區(qū)讀取文件,因此,讀文件流程也正常完成了。步驟306:向網(wǎng)管上報(bào)嚴(yán)重告警信息,即提醒維護(hù)人員,存儲(chǔ)卡中主用分區(qū)和備用分區(qū)都已經(jīng)損壞,需立刻更換存儲(chǔ)卡。既不能從主用分區(qū)也不能從備用分區(qū)讀取文件,因此,讀文件流程異常完成。實(shí)施例三,讀取文件時(shí),硬件錯(cuò)誤的優(yōu)先級(jí)高于軟件錯(cuò)誤,因此,本發(fā)明 實(shí)施例作為實(shí)施例二的一個(gè)子流程,假設(shè)讀取文件的過程中,沒有發(fā)生硬件4晉 誤。參見圖4,從如圖1所示的存儲(chǔ)卡讀取文件的過程如下,包括步驟401:從備用分區(qū)讀取文件。進(jìn)入讀取流程,讀寫裝置先從備用分區(qū)讀取文件。步驟402:判斷讀取的過程是否發(fā)生軟件錯(cuò)誤,當(dāng)出現(xiàn)軟件錯(cuò)誤時(shí),不能 正常從備用分區(qū)讀取文件,執(zhí)行步驟403,沒有出現(xiàn)軟件件錯(cuò)誤,則正常從備 用分區(qū)讀取文件,讀文件流程正常結(jié)束。在從備用分區(qū)讀取文件的過程中,有可能會(huì)出現(xiàn)讀不到文件,或者讀出文 件后,該文件的關(guān)鍵字段校驗(yàn)錯(cuò)誤,那么表明軟件錯(cuò)誤,因此,不能正常從備 用分區(qū)讀取文件,執(zhí)行步驟403。步驟403:從主用分區(qū)中讀取文件,進(jìn)入步驟404。步驟404:判斷讀取的過程是否發(fā)生軟件錯(cuò)誤,當(dāng)出現(xiàn)軟件錯(cuò)誤時(shí),不能 正常從主用分區(qū)讀取文件,執(zhí)行步驟405,沒有出現(xiàn)軟件件錯(cuò)誤,則正常從備 用分區(qū)讀取文件,執(zhí)行步驟406。步驟405:讀取文件失敗,調(diào)用重新寫入該文件的流程。這里,既不能從主用分區(qū)也不能從備用分區(qū)讀取文件,因此,讀文件流程異常咒成。步驟406:將該文件從主用分區(qū)備分到備用分區(qū)。從主用分區(qū)正常讀取文件后,因備用分區(qū)出現(xiàn)了軟件錯(cuò)誤,因此,將該文 件從主用分區(qū)備分到備用分區(qū),這樣保證了備用分區(qū)中該文件也是完好的,以 便下次進(jìn)行讀取。雖然不能正常從備用分區(qū)讀取文件,但是可以從主用分區(qū)讀取文件,因此, 讀文件流程也正常完成了 。上述三個(gè)實(shí)施例中,讀寫存儲(chǔ)卡的過程中采用寫文件時(shí)先寫主用分區(qū)后寫 備用分區(qū),讀文件時(shí)先讀備用分區(qū)后讀主用分區(qū)的策略。這樣,由于寫的時(shí)候先主用分區(qū)后備用分區(qū),當(dāng)系統(tǒng)突然斷電或復(fù)位等情 況發(fā)生時(shí),可能出現(xiàn)主用分區(qū)寫完而備用分區(qū)沒來得及寫或者沒有寫完的情 況。此時(shí),如果采取先讀主用分區(qū)后讀備用分區(qū)的方法,則由于主用分區(qū)一直 讀取正確,因此,程序正常返回,這樣就不能確定備用分區(qū)的當(dāng)前文件是否存 在或正確,這樣積累下去,備用分區(qū)就可能遺留^f艮多不存在或不正確的文件。 當(dāng)主用分區(qū)出現(xiàn)問題時(shí),由于文件整體切換到備用分區(qū),而備用分區(qū)的遺留錯(cuò) 誤文件會(huì)導(dǎo)致備用分區(qū)使用異常。如果試圖通過整個(gè)主備用分區(qū)的同步來解決 這個(gè)問題,則由于文件過多,大大降低了系統(tǒng)的效率。如果采用每次讀完主用 分區(qū)再檢驗(yàn)一下備用分區(qū)的方式,則由于每個(gè)文件都需要檢驗(yàn),同樣降低了系 統(tǒng)的效率。而采用本發(fā)明實(shí)施例中先讀備用分區(qū)后讀主用分區(qū)的方式時(shí),當(dāng)讀備用分 區(qū)時(shí),沒有發(fā)現(xiàn)文件或校l^文件錯(cuò)誤,轉(zhuǎn)而去讀主用分區(qū),如果主用分區(qū)讀出 正確,此時(shí)將該文件做一個(gè)從主用分區(qū)到備用分區(qū)的同步動(dòng)作,以保證主備用 分區(qū)是同步的,即保證主備用分區(qū)存儲(chǔ)的都是可用的文件,這樣發(fā)生切換后出 現(xiàn)異常的幾率大大降低。并且,僅僅同步了一個(gè)確定有問題的文件,較之于全 盤備份方案大大節(jié)約了時(shí)間,提高了效率。本發(fā)明實(shí)施例中,當(dāng)存儲(chǔ)卡的容量足夠大時(shí),存儲(chǔ)卡還可以包括一個(gè)主用分區(qū),多個(gè)備用分區(qū),例如存儲(chǔ)卡包括主用分區(qū),第一備用分區(qū)和第二備 用分區(qū)。這樣,向存儲(chǔ)卡寫文件時(shí),先寫主用分區(qū),然后寫第一備用分區(qū),最 后寫第二備用分區(qū);從存儲(chǔ)卡讀文件時(shí),先讀第一備用分區(qū),當(dāng)不能從第一備 用分區(qū)讀取文件時(shí),則可以從第二備用分區(qū)讀取文件,當(dāng)仍然不能從第二備用 分區(qū)讀取文件時(shí),最后從主用分區(qū)讀取文件。其中,第一備用分區(qū)與第二備用 分區(qū)可以互換。
這里,向存儲(chǔ)卡寫文件時(shí),首先向主用分區(qū)寫文件,當(dāng)主用分區(qū)發(fā)生硬件 錯(cuò)誤時(shí),上報(bào)普通告警信息,然后向第一備用分區(qū)寫文件,當(dāng)?shù)谝粋溆梅謪^(qū)發(fā) 生硬件錯(cuò)誤時(shí),上報(bào)普通告警信息,最后向第二備用分區(qū)寫文件,當(dāng)?shù)诙溆?分區(qū)也發(fā)生硬件錯(cuò)誤時(shí),則上報(bào)嚴(yán)重告警信息,不能向存儲(chǔ)卡中寫入文件。
從存儲(chǔ)卡讀取文件時(shí),從第一備用分區(qū)讀取文件,當(dāng)?shù)谝粋溆梅謪^(qū)發(fā)生硬 件錯(cuò)誤時(shí),上報(bào)普通告警信息,然后從第二備用分區(qū)讀取文件,當(dāng)?shù)诙溆梅?區(qū)發(fā)生硬件錯(cuò)誤時(shí),仍需上報(bào)普通告警信息,最后從主用分區(qū)讀取文件,當(dāng)主 用分區(qū)發(fā)生硬件錯(cuò)誤時(shí),則上報(bào)嚴(yán)重告警信息,不能從存儲(chǔ)卡中讀取文件。
當(dāng)讀取文件,存儲(chǔ)卡硬件正常,若從第一備用分區(qū)讀取文件,發(fā)生軟件錯(cuò) 誤時(shí),從第二備用分區(qū)讀取文件,當(dāng)從第二備用分區(qū)能讀取文件,則讀取文件 后,將該文件備份到第一備用分區(qū)中,讀取流程結(jié)束;當(dāng)從第二備用分區(qū)讀取 文件,也發(fā)生軟件錯(cuò)誤時(shí),則還需從主用分區(qū)中讀取文件,當(dāng)從主用分區(qū)能讀 取文件,則讀取文件后,將該文件備盼到第一備用分區(qū)以及第二備用分區(qū)中, 或者將該文件備份到第 一備用分區(qū)或第二備用分區(qū)中,讀取流程結(jié)束。
當(dāng)然,上述實(shí)施例中,若存儲(chǔ)卡中主用分區(qū),第一備用分區(qū)和第二備用分 區(qū)的容量大小不一樣時(shí),可以在寫入文件的過程中,將文件1、 2、 5、 6寫入 主用分區(qū)后,再將文件l、 2、 5、 6寫入第一備用分區(qū),將文件3、 4、 7、 8寫 入主用分區(qū)后,再將文件3、 4、 7、 8寫入第二備用分區(qū)。這樣,在讀取文件 的過程中,先從第一或第二備用分區(qū)中讀取文件,當(dāng)不能讀取到文件時(shí),則從 主用分區(qū)讀取文件。例如讀取文件7時(shí),可以先從第一備用分區(qū)中讀取文件7,當(dāng)沒有讀取文件7時(shí),則從第二備用分區(qū)中讀取文件7,當(dāng)能讀取文件7時(shí), 流程結(jié)束,否則,從主用分區(qū)中讀取文件7。
當(dāng)然,本發(fā)明實(shí)施例中,存儲(chǔ)卡也可以被格式化成pHILE、 FAT、 ext2、 ext3等文件系統(tǒng),其中,存儲(chǔ)卡中至少包括兩個(gè)容量、格式都一樣的分區(qū)。并 且,主用分區(qū)可以與備用分區(qū)進(jìn)行交換,即讀寫存儲(chǔ)卡的過程中也可以采用寫 文件時(shí)先寫備用分區(qū)后寫主用分區(qū),讀文件時(shí)先讀主用分區(qū)后讀備用分區(qū)的策 略。具體的讀寫過程就不再累述了。
根據(jù)上述讀寫存儲(chǔ)卡的方法,可以構(gòu)造一種讀寫存儲(chǔ)卡的裝置,該裝置可 以是通信設(shè)備上嵌入式單板或系統(tǒng)中的一個(gè)模塊,例如中央處理器CPU存儲(chǔ) 單元。通信設(shè)備上嵌入式單板或系統(tǒng)中的存儲(chǔ)卡在進(jìn)行格式化分區(qū)時(shí),已包括 一個(gè)主用分區(qū)和至少一個(gè)備用分區(qū)。參見圖5,讀寫該存儲(chǔ)卡的裝置包括寫 入單元100和讀取單元200。
寫入單元IOO,用于先將第一文件寫入所述主用分區(qū),后將所述第一文件 寫入所述至少一個(gè)備用分區(qū)。
讀取單元200,用于從所述至少一個(gè)備用分區(qū)讀取第二文件,當(dāng)從備用分 區(qū)讀取第二文件出錯(cuò)時(shí),從所述主用分區(qū)讀取所述第二文件。
其中,寫入單元100在向主用分區(qū)寫入第一文件的過程中,檢查主用分區(qū) 是否發(fā)生硬件錯(cuò)誤,當(dāng)所述主用分區(qū)發(fā)生硬件錯(cuò)誤時(shí),上報(bào)普通告警信息;在 向備用分區(qū)寫入第一文件的過程中,也要檢查備用分區(qū)是否發(fā)生硬件錯(cuò)誤,如 果只有備用分區(qū)一個(gè)發(fā)生硬件錯(cuò)誤時(shí),上報(bào)普通告警信息,如果備用分區(qū)和主 用分區(qū)都發(fā)生了錯(cuò)誤,則上報(bào)嚴(yán)重告警信息。當(dāng)存儲(chǔ)卡包括多個(gè)備用分區(qū)時(shí), 寫入單元IOO可以向其中一個(gè)備用分區(qū),或者多個(gè)備用分區(qū)寫入第一文件,每 寫入一個(gè)備用分區(qū),都要檢查該備用分區(qū)是否發(fā)生硬件錯(cuò)誤,如果只有單獨(dú)備 用分區(qū)發(fā)生硬件錯(cuò)誤時(shí),上l艮普通告警信息,如果所有備用分區(qū)和主用分區(qū)都 發(fā)生了錯(cuò)誤,則上報(bào)嚴(yán)重告警信息。
當(dāng)讀取單元200從存儲(chǔ)卡讀取第二文件過程中出現(xiàn)的是硬件錯(cuò)誤,則,讀取單元200從備用分區(qū)讀取第二文件的過程中,檢查備用分區(qū)是否發(fā)生硬件錯(cuò) 誤,當(dāng)所述備用分區(qū)沒有發(fā)生錯(cuò)誤時(shí),從所述備用分區(qū)讀取第二文件。當(dāng)所述 備用分區(qū)發(fā)生硬件錯(cuò)-誤時(shí),上報(bào)普通告警信息,并從主用分區(qū)讀取第二文件。 其從主用分區(qū)讀取第二文件的過程中,同樣需檢查主用分區(qū)是否發(fā)生硬件錯(cuò) 誤,當(dāng)所述主用分區(qū)沒有發(fā)生錯(cuò)誤時(shí),.從所述主用分區(qū)讀取第二文件。當(dāng)所述 主用分區(qū)也發(fā)生錯(cuò)誤時(shí),則上報(bào)嚴(yán)重告警信息。當(dāng)存儲(chǔ)卡包括多個(gè)備用分區(qū)時(shí), 讀取單元200可以先從其中 一個(gè)備用分區(qū)讀取第二文件,當(dāng)該備用分區(qū)發(fā)生硬 件錯(cuò)誤時(shí),上報(bào)普通告警信息,然后從其他備用分區(qū)讀取第二文件,當(dāng)其他備 用分區(qū)也發(fā)生硬件錯(cuò)誤時(shí),上報(bào)普通告警信息,并從主用分區(qū)讀取第二文件。 當(dāng)所述主用分區(qū)沒有發(fā)生錯(cuò)誤時(shí),從所述主用分區(qū)讀取第二文件。當(dāng)所述主用 分區(qū)也發(fā)生錯(cuò)誤時(shí),則上報(bào)嚴(yán)重告警信息。
當(dāng)讀取單元200從存儲(chǔ)卡讀取第二文件過程中出現(xiàn)的是軟件錯(cuò)誤,則,讀 取單元200從備用分區(qū)讀取第二文件的過程中出現(xiàn)軟件4晉誤,從所述主用分區(qū) 讀取第二文件。并且,從所述主用分區(qū)讀取所述第二文件之后,將所述第二文 件從所述主用分區(qū)備份到所述備用分區(qū)。當(dāng)存儲(chǔ)卡包括多個(gè)備用分區(qū)時(shí),讀取 單元200從其中一個(gè)備用分區(qū)讀取第二文件的過程中出現(xiàn)軟件錯(cuò)誤,則可以從 其他備用分區(qū)讀取第二文件,并且,從笫二備用分區(qū)讀取所述第二文件之后, 將所述第二文件備份到第一備用分區(qū)。若讀取單元200也不能從其他備用分區(qū) 讀取第二文件,則從所述主用分區(qū)讀取第二文件。并且,從所述主用分區(qū)讀取 所述第二文件之后,將所述第二文件從所述主用分區(qū)備份到至少一個(gè)備用分 區(qū)。
綜上所述,本發(fā)明實(shí)施例中,在存儲(chǔ)卡上格式化出一個(gè)主用分區(qū)和至少一 個(gè)備用分區(qū),這樣,向存儲(chǔ)卡寫入文件時(shí),在主備用分區(qū)都寫一份,從而,文 件系統(tǒng)會(huì)自動(dòng)創(chuàng)建兩份一模一樣的頻繁讀寫區(qū),同時(shí)數(shù)據(jù)區(qū)也有兩份,因此, 起到了M保護(hù)作用。在讀M儲(chǔ)卡上的文件時(shí),當(dāng)備用分區(qū)由于某種原因出 現(xiàn)故障,發(fā)生了錯(cuò)誤,馬上切換到主用分區(qū),讀取主用分區(qū)的數(shù)據(jù),保證系統(tǒng)能夠正常運(yùn)行。同時(shí),在讀寫存儲(chǔ)卡的過程中,當(dāng)主用分區(qū)和備用分區(qū)中有一 個(gè)分區(qū)發(fā)生硬件錯(cuò)誤時(shí),向網(wǎng)管上報(bào)告警,提醒維護(hù)人員近期及時(shí)更換存儲(chǔ)卡。 如果主用分區(qū)和所有備用分區(qū)都發(fā)生硬件錯(cuò)誤,則直接上報(bào)嚴(yán)重告警,提醒維 護(hù)人員馬上更換存儲(chǔ)卡。從而,提高了系統(tǒng)的可維護(hù)性和健壯性
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā) 明的精神和范圍。這樣,倘若對(duì)本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求 及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1、一種讀寫存儲(chǔ)卡的方法,其特征在于,所述存儲(chǔ)卡包括一個(gè)主用分區(qū)和至少一個(gè)備用分區(qū),該方法包括讀寫裝置將第一文件寫入所述存儲(chǔ)卡時(shí),將所述第一文件寫入所述主用分區(qū)后,將所述第一文件寫入所述至少一個(gè)備用分區(qū);所述讀寫裝置從所述存儲(chǔ)卡中讀取第二文件時(shí),從所述至少一個(gè)備用分區(qū)讀取第二文件,當(dāng)從備用分區(qū)讀取第二文件出錯(cuò)時(shí),從所述主用分區(qū)讀取所述第二文件。
2、 如權(quán)利要求1所述的方法,其特征在于,所述將所述第一文件寫入所 述主用分區(qū)包括當(dāng)所述主用分區(qū)發(fā)生硬件錯(cuò)誤時(shí),上報(bào)普通告警信息。
3、 如權(quán)利要求2所述的方法,其特征在于,所述將所述第一文件寫入所 述至少一個(gè)備用分區(qū)包括當(dāng)備用分區(qū)發(fā)生硬件錯(cuò)誤時(shí),上報(bào)嚴(yán)重告警信息。
4、 如權(quán)利要求1所述的方法,其特征在于,當(dāng)從備用分區(qū)讀取第二文件 發(fā)生硬件錯(cuò)誤時(shí),從所述主用分區(qū)讀取所述第二文件之前,該方法還包括上報(bào)普通告警信息。
5、 如權(quán)利要求1所述的方法,其特征在于,當(dāng)從備用分區(qū)讀取第二文件 發(fā)生硬件錯(cuò)誤時(shí),從所述主用分區(qū)讀取所述第二文件包括當(dāng)從所述主用分區(qū)讀取第二文件,發(fā)生硬件錯(cuò)誤時(shí),上報(bào)嚴(yán)重告警信息。
6、 如權(quán)利要求1所述的方法,其特征在于,當(dāng)從備用分區(qū)讀取第二文件 發(fā)生軟件錯(cuò)誤時(shí),從所述主用分區(qū)讀取所述第二文件之后,該方法還包括將所述第二文件從所述主用分區(qū)備份到所述至少 一個(gè)備用分區(qū)。
7、 一種讀寫存儲(chǔ)卡的裝置,其特征在于,所述存儲(chǔ)卡包括 一個(gè)主用分 區(qū)和至少一個(gè)備用分區(qū),該裝置包括寫入單元,用于將第一文件寫入所述主用分區(qū)后,將所述第一文件寫入所述至少一個(gè)備用分區(qū);讀取單元,用于從所述至少一個(gè)備用分區(qū)讀取第二文件,當(dāng)從備用分區(qū)讀 取第二文件出錯(cuò)時(shí),從所述主用分區(qū)讀取所述第二文件。
8、 如權(quán)利要求7所述的裝置,其特征在于,所述寫入單元包括 第一檢查子單元,用于寫入第一文件時(shí),檢查主用分區(qū)和至少一個(gè)備用分區(qū)是否發(fā)生硬件錯(cuò)誤;第一上報(bào)子單元,用于寫入第一文件時(shí),所述主用分區(qū)或至少一個(gè)備用分 區(qū)發(fā)生硬件錯(cuò)誤時(shí),上報(bào)普通告警信息;第二上報(bào)子單元,用于寫入第一文件時(shí),所述主用分區(qū)發(fā)生硬件錯(cuò)誤,以 及所述備用分區(qū)發(fā)生硬件錯(cuò)誤時(shí),上報(bào)嚴(yán)重告警信息。
9、 如權(quán)利要求7所述的裝置,其特征在于,所述讀取單元包括 第二檢查子單元,用于讀取第二文件時(shí),檢查至少一個(gè)備用分區(qū)和/或主用分區(qū)是否發(fā)生硬件錯(cuò)誤;第三上凈艮子單元,用于讀取第二文件,所述至少一個(gè)備用分區(qū)或主用分區(qū) 發(fā)生硬件錯(cuò)誤時(shí),上報(bào)普通告警信息;第四上報(bào)子單元,用于讀取第二文件,所述備用分區(qū)發(fā)生硬件錯(cuò)誤,以及 所述主用分區(qū)發(fā)生硬件錯(cuò)誤時(shí),上報(bào)嚴(yán)重告警信息。
10、 如權(quán)利要求7所述的裝置,其特征在于,所述讀取單元還包括 備份子單元,用于從所述備用分區(qū)讀取第二文件,發(fā)生軟件錯(cuò)誤時(shí),將所述第二文件從所述主用分區(qū)備份到所述至少 一個(gè)備用分區(qū)。
全文摘要
本發(fā)明公開了一種讀寫存儲(chǔ)卡的方法及裝置,用以解決現(xiàn)有技術(shù)中存儲(chǔ)卡容錯(cuò)性低、從而導(dǎo)致嵌入式系統(tǒng)不穩(wěn)定問題。存儲(chǔ)卡包括一個(gè)主用分區(qū)和至少一個(gè)備用分區(qū),該方法包括讀寫裝置將第一文件寫入所述存儲(chǔ)卡時(shí),將所述第一文件寫入所述主用分區(qū)后,將所述第一文件寫入所述至少一個(gè)備用分區(qū);所述讀寫裝置從所述存儲(chǔ)卡中讀取第二文件時(shí),從所述至少一個(gè)備用分區(qū)讀取第二文件,當(dāng)從備用分區(qū)讀取第二文件出錯(cuò)時(shí),從所述主用分區(qū)讀取所述第二文件。
文檔編號(hào)G06K19/073GK101576966SQ20091020327
公開日2009年11月11日 申請(qǐng)日期2009年6月2日 優(yōu)先權(quán)日2009年6月2日
發(fā)明者孫士友 申請(qǐng)人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1