專利名稱:存儲媒體的文件分配表識別方法
技術(shù)領(lǐng)域:
本項發(fā)明是關(guān)于存儲媒體的文件分配表信息識別方法的,這里所指的就是,能正確識別存儲卡(Memory Card)等存儲媒體內(nèi)所記錄的文件分配表(FATFile Allocation Table)的存儲媒體的文件分配表信息識別方法。
背景技術(shù):
近來,將多種存儲媒體接入筆記本電腦等便攜式電腦中來使用的事例急劇增多,比如<圖1>所示,筆記本電腦由CPU10、視頻控制器11、北橋12、主存儲器13、I/O(輸入/輸出)控制器14、南橋15、硬盤16、鍵盤控制器17等組成。
上述筆記本電腦還包括用來將存儲卡100之類的多種存儲媒體(Storage)接入上述筆記本電腦來使用的存儲控制器18,而上述存儲卡可使用FDC(Flexible Disc Cartridge)等。
同時,上述FDC如<圖2>所示,可分成分區(qū)區(qū)域(Partition Area)和正規(guī)區(qū)域(Regular Area),上述正規(guī)區(qū)域可分成系統(tǒng)區(qū)域(System area)和用戶區(qū)域(User Area)。
而且,上述系統(tǒng)區(qū)域又可分成記錄有引導(dǎo)扇區(qū)(Boot Sector)和FDC描述符(Descriptor)等的區(qū)域,以及文件分配表(FATFile Allocation Table)區(qū)域,而上述用戶區(qū)域又可分成記錄有根目錄(Root Directory)和用戶數(shù)據(jù)的區(qū)域。
同時,上述筆記本電腦的操作系統(tǒng)(OSOperating System),如微軟操作系統(tǒng)(Microsoft OS)在連接使用FDC之類的存儲卡100時,將按<圖3>所示,參照FDC描述符內(nèi)的14字節(jié)點所記錄的每簇扇區(qū)數(shù)(Sector PerCluster)和20、21字節(jié)點所記錄的總扇區(qū)數(shù)(Total Sector),計算出簇(群集)的(Cluster)個數(shù)。
而且,根據(jù)上述算出的簇數(shù)來識別文件分配表類型(FAT_Type)是否是FAT12、FAT16、FAT32中的某一種,如果識別結(jié)果是一致的,則將運行用戶所選定的文件。
但是,如果依據(jù)上述簇數(shù)來識別的文件分配表的類型與依據(jù)上述FDC描述符內(nèi)的55-62字節(jié)點所記錄的文件系統(tǒng)類型(File System Type)信息來識別的文件分配表的類型相互不一致,文件運行會發(fā)生錯誤,隨之也會發(fā)生其它電腦系統(tǒng)錯誤識別文件分配表信息的問題。
發(fā)明內(nèi)容因此,本項發(fā)明就是為了解決上述問題而研制出來的,目的在于提供存儲媒體的文件分配表信息識別方法,即如果在識別存儲卡等存儲媒體的文件分配表(FAT)類型時發(fā)生錯誤,將輸出顯示錯誤消息,同時會通過與用戶連接的接口更正文件分配表信息。
為了實現(xiàn)上述目的,本項發(fā)明的存儲媒體的文件分配表信息識別方法包括三個步驟根據(jù)引導(dǎo)扇區(qū)所記錄的簇數(shù)來識別文件分配類型的第一步驟;對上述已識別的文件分配表類型與根據(jù)上述引導(dǎo)扇區(qū)所記錄的文件系統(tǒng)類型信息來識別的文件分配表類型進行相互比較的第2步驟;如果上述比較結(jié)果不一致,則顯示在識別文件分配表的類型時發(fā)生了錯誤這一消息的第3步驟。
具有上述構(gòu)成的本項發(fā)明中有關(guān)存儲媒體的文件分配表信息識別方法是一項非常有價值的發(fā)明,其效果在于根據(jù)存儲卡等之類的存儲媒體內(nèi)引導(dǎo)扇區(qū)所記錄的簇數(shù)來識別文件分配表類型,同時對上述已識別的文件分配表類型與根據(jù)上述引導(dǎo)扇區(qū)內(nèi)所記錄的文件系統(tǒng)類型信息來識別的文件分配表類型進行相互比較,如果相互不一致,將輸出顯示在識別文件分配表的類型時發(fā)生了錯誤這一消息,同時通過與用戶連接的接口更正文件分配表信息,從而不僅能夠防止發(fā)生文件運行錯誤,而且還能夠事先預(yù)防其它電腦系統(tǒng)錯誤識別文件分配表信息。
圖1顯示了一般筆記本電腦的構(gòu)成;圖2顯示了一般FDC(Flexible Disc Cartridge軟盤控制器)的構(gòu)造;圖3顯示了一般FDC引導(dǎo)扇區(qū)內(nèi)所記錄的FDC描述符(descriptor)的實施例;圖4顯示了本發(fā)明適用的引導(dǎo)扇區(qū)內(nèi)所記錄的FDC描述符的實施例;圖5顯示了本項發(fā)明中有關(guān)存儲媒體的文件分配表信息識別方法的操作流程圖;圖6和圖7顯示了依據(jù)本發(fā)明中有關(guān)存儲媒體的文件分配表信息識別方法予以輸出顯示的引導(dǎo)畫面。
具體實施方式下面將參照附圖對本項發(fā)明中有關(guān)存儲媒體的文件分配表信息識別方法的實施例進行詳細說明。
首先,本項發(fā)明中有關(guān)存儲媒體的文件分配表信息識別方法適用于記錄有文件分配表信息的存儲卡等之類的多種類型的存儲媒體,以及連接上述存儲媒體的筆記本電腦等方面。
同時,本項發(fā)明所適用的筆記本電腦的操作系統(tǒng)(OS),如微軟操作系統(tǒng)(Microsoft OS)將按<圖3>所示,參照FDC描述符內(nèi)的14字節(jié)點所記錄的每簇扇區(qū)數(shù)及20、21字節(jié)點所記錄的總扇區(qū)數(shù),計算出簇的個數(shù)。
例如如<圖4>所示,如果FDC描述符內(nèi)的14字節(jié)點按16進制(Hexadecimal)記錄的每簇扇區(qū)數(shù)信息是‘10’的話,則將識別一簇內(nèi)是否記錄有‘16’個扇區(qū),如果按16進制記錄在上述FDC描述符內(nèi)的20、21字節(jié)點的總扇區(qū)數(shù)信息是‘f8、f6’的話,則將算出總扇區(qū)數(shù)是‘63224(=0xf6f8)’。
同時,上述總扇區(qū)數(shù)按小結(jié)尾‘Little Endian’方式使小數(shù)排列在大數(shù)前,按‘0xf6f8’而不是按‘0xf8f6’計算,同時,如上算出的總扇區(qū)數(shù)(63224)除以每簇扇區(qū)數(shù)16,可算出總簇數(shù)是‘3951.5個’。
而且,把上述算出的簇數(shù)與事先設(shè)定的標(biāo)準(zhǔn)簇數(shù)進行比較,如果上述簇數(shù)比4085個小,則按FAT12識別文件分配表類型,相反如果比4085個數(shù)大且比65525個數(shù)小,則按FAT16識別,如是除此以外的個數(shù),則按FAT32識別。所以,將按‘FAT12’來識別上述存儲卡的文件分配表類型。
另外,上述操作系統(tǒng)(OS)將按<圖4>所示,參照上述FDC描述符內(nèi)的55-62字節(jié)點內(nèi)記錄成ASCII(美國信息互換標(biāo)準(zhǔn)代碼)的文件系統(tǒng)類型(FileSystem Type)信息,識別出文件分配表類型是按‘FAT16’記錄的。
而且,對依據(jù)上述簇數(shù)來識別的文件分配表類型‘FAT12’與依據(jù)文件系統(tǒng)類型信息來識別的文件分配表類型‘FAT16’進行相互比較,如果上述類型值相互不一致,則將執(zhí)行向用戶告知(引導(dǎo))已發(fā)生錯誤消息的一系列操作,下面對此進行更加詳細的說明。
圖5是本項發(fā)明中有關(guān)存儲媒體的文件分配表信息識別方法的流程圖,例如筆記本電腦的操作系統(tǒng)(OS)當(dāng)連接使用存儲卡100時,將檢索該存儲卡的引導(dǎo)扇區(qū)S10,當(dāng)按<圖3>、<圖4>所示算出簇數(shù)后,則將識別FAT類型S11。
而且,對依據(jù)上述引導(dǎo)扇區(qū)所記錄的文件系統(tǒng)類型信息來識別的FAT類型與依據(jù)上述簇數(shù)來識別的FAT類型進行比較,判別是否相互一致S12,例如按<圖4>所示,如果相互不一致,則將輸出顯示旨在告知該事實的錯誤消息,同時將確認用戶是否選定哪一種FAT類型S13。
例如,上述錯誤消息如<圖6>所示顯示的是,依據(jù)簇來識別的FAT類型是‘FAT12’,按文件系統(tǒng)類型信息來識別的FAT類型是‘FAT16’,同時邀請用戶選定任意一種FAT類型。
通過上述一系列過程,當(dāng)用戶指定任意的一種FAT類型時,例如,如果選定的是依據(jù)簇來識別的‘FAT12’,上述操作系統(tǒng)則將使用用戶指定的FAT12方式,檢查運行存儲卡內(nèi)所記錄的任意一種文件,并向用戶詢問該運行結(jié)果是否正常S14。
另外,上述操作系統(tǒng)(OS)按<圖7>所示,輸出顯示了向用戶詢問是否要按任意的一種類型如‘FAT12’指定FAT類型的引導(dǎo)消息。此時,如果用戶通過上述引導(dǎo)消息要求更正FAT類型S15,則在‘FAT16’中將上述文件系統(tǒng)類型信息更正成相當(dāng)于‘FAT12’的ASCII(美國信息互換標(biāo)準(zhǔn)代碼)S16。
而且,在讀取上述存儲卡內(nèi)的文件分配表(FAT)區(qū)域所記錄的信息后,將執(zhí)行再次更正記錄的一系列操作,使其與‘FAT12’方式保持一致S17。此后,將執(zhí)行用于運行用戶選定的任意文件的一般操作S18。
可做參考的是,本項發(fā)明既可適用于上述筆記本電腦以外的其它多種電腦,還可以適用于上述存儲卡以外的使用FAT方式的多種存儲媒體。
因為只舉例說明了上述本項發(fā)明的理想實施例,因此相關(guān)工作人員完全可以在不偏離以下專利申請范圍所記載的本項發(fā)明技術(shù)思想及其技術(shù)范圍的情況下,改良、變更、替代或附加其它多種多樣的實施例。
權(quán)利要求
1.存儲媒體的文件分配表信息識別方法,包括三個步驟第一步驟,根據(jù)引導(dǎo)扇區(qū)內(nèi)所記錄的簇數(shù)來識別文件分配類型;第二步驟,對上述已識別的文件分配表類型與根據(jù)上述引導(dǎo)扇區(qū)內(nèi)所記錄的文件系統(tǒng)類型信息來識別出的文件分配表類型進行相互比較;第三步驟,如果上述比較結(jié)果不一致,則顯示在識別文件分配表的類型時發(fā)生了錯誤這一消息。
2.如權(quán)利要求項1所述的存儲媒體的文件分配表信息識別方法,其特征在于,上述第一步驟內(nèi)容包括如果依據(jù)存儲媒體內(nèi)引導(dǎo)扇區(qū)所記錄的每簇扇區(qū)數(shù)信息與總扇區(qū)數(shù)信息算出的簇數(shù)比4085個小,則按FAT12識別文件分配表類型,相反如果比4085個數(shù)大且比65525個數(shù)小,則按FAT16識別,如是除此以外的個數(shù),則按FAT32識別。
3.如權(quán)利要求項1所述的存儲媒體的文件分配表信息識別方法,其特征在于,上述第二步驟是搜索存儲媒體內(nèi)引導(dǎo)扇區(qū)中的55-62字節(jié)點,進而來檢索確認該位置所記錄的文件系統(tǒng)類型。
4.如權(quán)利要求項1所述的存儲媒體的文件分配表信息識別方法,其特征在于,如果上述比較結(jié)果不一致,則運行存儲媒體內(nèi)所記錄的多個文件中的用戶任意選定的文件。
5.如權(quán)利要求項1所述的存儲媒體的文件分配表信息識別方法,其特征在于,上述第3步驟是區(qū)分顯示在識別上述文件分配表類型時發(fā)生了錯誤這一消息以及已識別的不同的文件分配表類型。
6.如權(quán)利要求項1所述的存儲媒體的文件分配表信息識別方法,其特征在于,上述第三步驟完成后,在選擇某一種文件分配表類型后運行任意的一種文件。
7.如權(quán)利要求項6所述的存儲媒體的文件分配表信息識別方法,其特征在于,輸出顯示詢問是否正常運行了上述文件的消息。
8.如權(quán)利要求項1所述的存儲媒體的文件分配表信息識別方法,其特征在于,上述第三步驟完成后,根據(jù)用戶的要求,不僅要將文件分配表區(qū)域的信息更正為與某一種文件分配表類型一致的值,而且還要更正上述引導(dǎo)扇區(qū)內(nèi)所記錄的文件系統(tǒng)類型信息。
9.如權(quán)利要求項8所述的存儲媒體的文件分配表信息識別方法,其特征在于,上述文件分配表區(qū)域的信息與上述文件系統(tǒng)類型信息被更正記錄為與依據(jù)簇數(shù)來識別的文件分配表類型一致的值。
全文摘要
本項發(fā)明是關(guān)于存儲媒體的文件分配表信息識別方法的。此項發(fā)明非常有價值之處在于根據(jù)存儲卡之類的存儲媒體內(nèi)的引導(dǎo)(扇)區(qū)所記錄的的簇(群集)數(shù)來識別文件分配表的類型,同時對上述已識別的文件分配表類型與根據(jù)上述引導(dǎo)扇區(qū)所記錄的文件系統(tǒng)類型信息來識別的文件分配表類型進行互相比較,如果相互不一致,則輸出顯示在文件分配表類型的識別過程中發(fā)生錯誤這一消息,并通過與用戶連接的接口更正文件分配表信息,從而不僅能夠防止發(fā)生文件運行錯誤,而且能夠事先預(yù)防其它計算機系統(tǒng)錯誤識別文件分配表信息。
文檔編號G06F17/30GK1779674SQ200410084609
公開日2006年5月31日 申請日期2004年11月26日 優(yōu)先權(quán)日2004年11月26日
發(fā)明者郭榮璟 申請人:上海樂金廣電電子有限公司