專利名稱:一種文件目錄表的使用方法、文件寫入方法及應(yīng)用的主電路板、cpu和外部存儲器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機和智能終端設(shè)備軟硬件領(lǐng)域,尤其涉及計算機操作系統(tǒng)中對外部存儲器中文件目錄表的使用方法、文件寫入方法,以及計算機硬件中主電路板和外部存儲器。
背景技術(shù):
計算機和智能設(shè)備在讀寫和操作硬盤、固態(tài)硬盤、U盤、移動硬盤等外部存儲器中的文件時,都要經(jīng)過對外部存儲器中文件目錄表查詢,找到文件的屬性及物理位置,進行訪 問和操作。由于文件目錄表也稱文件目錄文件存儲于外部存儲器中,現(xiàn)有的操作系統(tǒng)在運行中,需要經(jīng)常訪問外部存儲器,來對文件進行“尋址”,需要花費大量的時間,效率很低,實際運行速度很慢。計算機的內(nèi)存,也稱內(nèi)部存儲器、隨機存儲器RAM,現(xiàn)在主流為DDR3型,它的存取速度比外部存儲器快很多倍。緩存Cache它的存取速度比內(nèi)存更快,緩存常存在于CPU內(nèi)部、內(nèi)存條中、硬盤的電路板上等,需要存放臨時數(shù)據(jù)的地方。內(nèi)存和緩存在斷電時,存儲內(nèi)容便會消失?,F(xiàn)有的計算機操作系統(tǒng)在向外部存儲器中寫入文件時,是不檢查外部存儲器中非相同目錄下是否有相同文件的,這樣就造成有大量的重復(fù)文件存在。固態(tài)硬盤與老式機械硬盤相比有很大的優(yōu)點,比如讀取速度快,體積小容易攜帶等等,是未來硬盤主要的發(fā)展趨向。但是因為固態(tài)硬盤的寫入需要對FLASH芯片進行擦寫,為此造成了固態(tài)硬盤的寫入次數(shù)有限,以及容量小價格高使得固態(tài)硬盤不能得以廣泛應(yīng)用。以下是以NTFS格式文件為例,來分析現(xiàn)有外部存儲操作系統(tǒng)是如何對外部存儲中的文件進行操作的I. NTFS中$MFT的文件解釋NTFS中,卷中所有存放的數(shù)據(jù)均在一個叫$MFT的文件中,叫主文件表(MasterFile Table)。而$MFT則由文件記錄(File Record)數(shù)組構(gòu)成。File Record的大小一般是固定的,通常情況下均為1KB,這個概念相當于Linux中的inode。File Record在$MFT文件中物理上是連續(xù)的,且從O開始編號。$MFT僅供FileSystem本身組織、架構(gòu)文件系統(tǒng)使用,這在NTFS中稱為元數(shù)據(jù)(Metadata)。在NTFS文件系統(tǒng)里面,外部存儲上的所有東西都以文件的形式出現(xiàn)。即使是元數(shù)據(jù)也是以一組文件的形式存儲的。主文件表(MFT)是這個卷上每一個文件的索引。MFT為每一個文件保存著一組稱為“屬性”的記錄,每個屬性存儲了不同類型的信息。為主文件表(MFT)保留適當?shù)目臻g。MFT在NTFS卷中扮演著重要的角色,對其性能的影響很大,系統(tǒng)空間分配、讀寫外部存儲時會頻繁地訪問MFT,因此MFT對NTFS的卷的性能有著至關(guān)重要的影響。NTFS文件系統(tǒng)的開發(fā)者在MFT附近預(yù)留著一個特定區(qū)域,用來減少MFT中的碎片,缺省狀態(tài)下,這一區(qū)域占整個卷大小的12. 5%,盡管這個區(qū)域能使得MFT中的碎片最少,但它并非總是合適的。2.文件的讀取找某一個文件的內(nèi)容(如要讀取文件F:\WIND0WS\SYSTEM32\abc. exe,具體步驟如下(I)讀取分區(qū)表/分區(qū)鏈表信息,找到外部存儲F的起始扇區(qū)。(2)讀取F盤的第一個扇區(qū)(分區(qū)的B00TSET0R)取得分區(qū)的每簇大小,MFT表起
始簇號等信息。(3)讀取MFT表的第五個記錄(根目錄)找到目錄索引所在簇號。 (4)讀取根目錄索引,查找WINDOWS目錄所在的MFT記錄號(5)讀取WINDOWS目錄的MFT記錄,找到目錄索引所在簇號。(6)讀取WINDOWS目錄的索引,查找SYTEM32目錄所在MFT記錄號(7)讀取SYTEM32目錄的MFT記錄,找到目錄索引所在簇號。(8)讀取SYTEM32目錄的索引,查找abc. exe所在MFT記錄號(9)讀取abc. exe文件的MFT記錄,找到它的DATA屬性。(10)根據(jù)DATA屬性中指定的文件數(shù)據(jù)存放位置讀取出abc. exe文件的數(shù)據(jù)。3. NTFS文件系統(tǒng)中創(chuàng)建一個文件的基本步驟假設(shè)我們要在NTFS文件系統(tǒng)下建立一個文件“\子目錄txt”,假設(shè)目錄“子目錄I”已經(jīng)存在于根目錄下。要建立的文件大小為7000個字節(jié),每簇大小4096個字節(jié)。步驟I :讀取文件系統(tǒng)第一個扇區(qū)的引導(dǎo)扇區(qū),獲取簇大小、MFT起始位置以及每個MFT項的大小。步驟2 :讀取第一個MFT項,即$MFT文件的MFT項,由它的$DATA屬性獲取其他MFT的位置。步驟3 :首先為準備新建的文件建立MFT項——訪問$MFT文件的$BITMAP屬性,找到一個未分配的項。第一個空閑項為400號,把它分配給新文件,并將$BITMAP中的相應(yīng)位設(shè)置為I。步驟4 :初始化MFT項——跳轉(zhuǎn)到400號MFT項的位置,將其中的內(nèi)容清除。建立標準信息屬性($STANDARD_INF0RMATI0N)和文件名屬性[$FILE_NAME),時間值設(shè)置為當前時。在MFT項頭中設(shè)置使用中標記。步驟5 :下面需要從使用6號MFT項的$Bitmap文件中為文件的$DATA屬性尋找并分配兩個簇,因為文件需要兩個簇的空間。使用最佳分配策略找到兩個連續(xù)的空閑簇722和723號簇,將其相應(yīng)的bit設(shè)置為I。將文件內(nèi)容寫入簇中,更新$DATA屬性中的簇地址。修改了 MFT項,所以更新文件的最后修改時間值。步驟6 :下一步為其添加文件名項。訪問使用5號MFT項的根目錄,定位“子目錄I”。讀取索引根屬性($INDEX_R00T)和索引分配屬性($INDEX_ALL0CATI0N),在倒置樹中分類尋找,找到“子目錄I”的索引項,它的MFT項地址為200,更新目錄的最后訪問時間。步驟7 :跳轉(zhuǎn)到200號MFT項,訪問它的索引根屬性($ INDEX_R00T),尋找將為file, txt分配的空間。為其建立一個新的索引項,重新對倒置樹進行分類。新索引項的文件參考號地址是400號MFT項。設(shè)置相應(yīng)的時間值和標志。更新目錄的最后寫入、最后修改、最后訪問時間值。步驟8 :在前面的每一步中,在文件系統(tǒng)日志中建立項并將改變記入\$Extend\$Usrjrnl。如果設(shè)置了配額管理,新文件的大小將記入用戶的配額中(\$Extend\$Quota)。這樣就在NTFS文件系統(tǒng)下建立了一個文件。4.在NTFS文件系統(tǒng)下刪除一個文件的步驟在NTFS文件系統(tǒng)下要如何刪除一個文件呢?我們來看看刪除“\子目錄l\nle.txt”文件的過程。步驟I :讀取文件系統(tǒng)的第一個扇區(qū)的引導(dǎo)扇區(qū),獲取簇大小、MFT起始位置、每MFT項的大小等信息。 步驟2 :讀取$MFT文件的第I項,通過它的$DATA屬性得到其他MFT的位置。步驟3 :訪問5號MFT項,即根目錄,通過索引根屬性($INDEX_R00T)和索引分配屬性($INDEX-ALL0CATI0N)找到“子目錄I”項,它的MFT項為200號,更新目錄的最后訪問時間。步驟4 :訪問200號MFT項的索引根屬性($INDEX_R00T)并尋找file,txt的條目,找到它的MFT項為400號。步驟5 :從索引中移除文件的項,移動節(jié)點中的項覆蓋了原來的項,更新目錄的最后與入時間、最后修改時間和最后訪問時間。步驟6 :通過清除使用中標志取消400號MFT項的分配。訪問$Bitmap文件的$DATA屬性,將該項的相應(yīng)位設(shè)置為O。步驟7 :訪問400號MFT項的非常駐屬性,從$DATA屬性中得到數(shù)據(jù)內(nèi)容所在簇號,將$Bitmap文件中相應(yīng)簇的bit設(shè)置為0,即取消對722、723號簇的分配。步驟8 :前面的每一步,都將在文件系統(tǒng)日志$LogFile中產(chǎn)生項并將改變記入到\$Extend\$Usrjrnl。如果設(shè)置了外部存儲配額管理,將在\$Extend\$Quota中,把回收的容量從用戶已使用的外部存儲空間量中減去。這樣就可以在NTFS文件系統(tǒng)下刪除一個文件了。5.對現(xiàn)有操作系統(tǒng)的分析通過對以上過程的分析,我們可以看到文件的讀取查找過程非常麻煩,“尋址”需要花費大量的時間,效率很低,實際運行速度很慢;文件重復(fù)的數(shù)量龐大,占用大量的存儲空間;文件的寫入過程需要在外部存儲中多處進行信息的寫入,其實際寫入文件需要更多的時間;文件的引導(dǎo)區(qū)與目錄區(qū)等由于頻繁使用,易損壞,該操作系統(tǒng)若應(yīng)用到固態(tài)硬盤上,會嚴重影響固態(tài)硬盤的使用壽命。
發(fā)明內(nèi)容
本發(fā)明的主要內(nèi)容是計算機開機時,將記載外部存儲器中,所有文件的名稱、物理位置、邏輯位置等信息的文件目錄表,一次性讀入到系統(tǒng)指定的存儲裝置中;計算機運行中對外部存儲器中文件操作時,無需訪問外部存儲器中內(nèi)部的文件目錄表,而只需對存儲裝置中的文件目錄表進行訪問和修改;計算機退出運行時,存儲裝置中的文件目錄表再存回外部存儲中。“計算機”是廣義泛指由中央處理器為核心的智能設(shè)備也包括智能手機、智能控制設(shè)備、智能終端等。外部存儲器主要是指硬盤、固態(tài)硬盤、U盤、移動硬盤等設(shè)備。這里“系統(tǒng)指定的存儲裝置”,主要是指計算機的內(nèi)存、位于外部存儲器的緩存、主板上的存儲芯片、CPU內(nèi)部的存儲區(qū)域、系統(tǒng)指定的其他存儲裝置等。通過上述方法,大大減少了系統(tǒng)對外部存儲的訪問次數(shù),由于內(nèi)存、緩存等讀寫速度比硬盤、固態(tài)硬盤、U盤、移動硬盤等設(shè)備快許多倍,從而大大提高了計算機運行速度,延長了硬盤的使用壽命。外部存儲器文件目錄表存回外部存儲中時,每次存入的物理位置 可以不相同,其物理位置不是固定的,這樣可以避免頻繁使用某些部位,延長硬盤的使用壽命O為保證外部存儲器文件目錄表的安全性,本發(fā)明還設(shè)計了具備應(yīng)急電源供電的功能的主電路板,在突然斷電時,能夠?qū)⑽募夸洷砗推渌杏眯畔?,存回到外部存儲中或其他物理介質(zhì)中保存下來。帶應(yīng)急電源供電的主電路板,應(yīng)急電源可以由充電電池供電。開機時,即檢查應(yīng)急電源的工作狀態(tài),保證它可正常工作,再進行對文件目錄表的操作。充電電池是可以更換的,必要時可以進行更換。同樣,為保證外部存儲器文件目錄表的安全性,本發(fā)明還設(shè)計了具備應(yīng)急電源供電的功能的外部存儲器;在突然斷電時,能夠?qū)⑼獠看鎯ζ魑募夸洷砗推渌杏眯畔?,存回到外部存儲中或其他物理介質(zhì)中保存下來。帶應(yīng)急電源供電的外部存儲器,應(yīng)急電源可以由充電電池供電。開機時,即檢查應(yīng)急電源的工作狀態(tài),保證它可正常工作,再進行對文件目錄表的操作。充電電池是可以更換的,必要時可以進行更換。本發(fā)明還創(chuàng)造了一種全新的外部存儲文件寫入方法,該方法利用在內(nèi)存中的文件目錄表進行屬性比對,避免了文件的重復(fù)寫入,提高了寫入速度,節(jié)約了外部存儲空間、提高了硬盤利用率、延長了硬盤使用壽命。具體方法是文件在寫入外部存儲器時,先檢索查詢外部存儲器中是否有重復(fù)文件,若有重復(fù)文件,只需在外部存儲器文件目錄表中,增加一條文件信息,標明新增文件的邏輯位置關(guān)系,物理位置與原文件相同,而不需要將重復(fù)文件的具體內(nèi)容寫入到外部存儲器中。文件在寫入外部存儲器時,檢索查詢外部存儲器中是否有重復(fù)文件的方法可以是先檢索查詢外部存儲器文件目錄表中是否有屬性相同文件,若沒有屬性相同文件,則沒有重復(fù)文件;若有屬性相同文件,則再對比兩文件的具體內(nèi)容,遇到不同之處,則判定不是重復(fù)文件;若具體內(nèi)容相同,則判定有重復(fù)文件。本發(fā)明還設(shè)計了一種帶存儲文件目錄表芯片的主電路板,主電路板設(shè)有特定的存儲芯片,用來存儲文件目錄表。本發(fā)明還設(shè)計了一種帶存儲文件目錄表芯片的外部存儲器,該外部存儲器設(shè)有特定的存儲芯片,用來存儲文件目錄表。本發(fā)明還設(shè)計了一種帶存儲文件目錄表芯片的CPU,該CPU內(nèi)部設(shè)有特定的存儲區(qū)域,用來存儲文件目錄表。
計算機在運行中,如有外部存儲器插入聯(lián)接到本計算機系統(tǒng),可以將該外部存儲器中的文件目錄表一次性讀入到系統(tǒng)指定的存儲裝置中;計算機運行中對該外部存儲器中文件操作時,無需訪問外部存儲器內(nèi)部的文件目錄表,而只需對存儲裝置中的文件目錄表進行訪問和修改;該外部存儲器斷開連接或計算機退出運行時,存儲裝置中的文件目錄表再存回外部存儲中。
具體實施例方式為了更加詳細的說明本發(fā)明的技術(shù)特征和技術(shù)優(yōu)勢,以下舉例說明,舉例僅為實現(xiàn)本發(fā)明的一種形式,不構(gòu)成對本發(fā)明的限定。實施例一本例中使用一種帶應(yīng)急電源的主電路板,該主電路板具備應(yīng)急電源供電的功能;在突然斷電時,能夠?qū)?nèi)存中的文件目錄表和其他有用信息,保存硬盤中。計算機開機時, 計算機操作系統(tǒng)將記載硬盤中,所有文件的名稱、物理位置、邏輯位置等信息的文件目錄表,一次性讀入到計算機內(nèi)存中;計算機運行中對硬盤中文件操作時,無需訪問硬盤中內(nèi)部的文件目錄表,而只需對內(nèi)存中的文件目錄表進行訪問和修改;計算機退出運行時,內(nèi)存中的文件目錄表再存回硬盤中。當有文件需要寫入硬盤時,計算機操作系統(tǒng)先檢索查詢內(nèi)存中的文件目錄表中是否有屬性相同文件,若沒有屬性相同文件,則沒有重復(fù)文件;若有屬性相同文件,則讀出硬盤中的屬性相同文件,對比兩文件的具體內(nèi)容,遇到不同之處,則判定不是重復(fù)文件;若具體內(nèi)容相同,則判定有重復(fù)文件。若有重復(fù)文件,只需在文件目錄表中,增加一條文件信息,標明新增文件的邏輯位置關(guān)系,物理位置與原文件相同,而不需要將重復(fù)文件的具體內(nèi)容寫入到硬盤中。若沒有重復(fù)文件,則在文件目錄表中,增加一條文件信息,標明新增文件的邏輯位置關(guān)系及物理位置,文件的具體內(nèi)容寫入到硬盤中。本發(fā)明在本實施例中,使文件的操作非常方便快捷,只需一次性讀取和寫入磁盤文件目錄表,從而減少了絕大多數(shù)計算機運行中對外部存儲的訪問,根本性提高了計算機運行速度,延長了硬盤的使用壽命。同時避免了文件的重復(fù)寫入,節(jié)約了外部存儲空間。實施例二 本例中使用一種帶應(yīng)急電源和帶存儲文件目錄表的隨機存儲器RAM芯片的移動硬盤,當它聯(lián)接到計算機系統(tǒng),開始工作時,它可以將硬盤中的文件目錄表一次性讀入到隨機存儲器RAM芯片中;計算機運行中對該硬盤中文件操作時,無需訪問硬盤內(nèi)部的文件目錄表,而只需對存儲裝置中的文件目錄表進行訪問和修改;該移動硬盤斷開連接時,移動硬盤中的應(yīng)急電源開始工作,將RAM芯片中的文件目錄表再存回硬盤中。由于隨機存儲器RAM芯片的讀寫速度比機械硬盤、固態(tài)硬盤快許多倍,大大提高了移動硬盤存取速度,延長了硬盤的使用壽命。
權(quán)利要求
1.一種文件目錄表的使用方法,其特征在于計算機開機時,將記載外部存儲器中,所有文件的名稱、物理位置、邏輯位置等信息的文件目錄表,一次性讀入到系統(tǒng)指定的存儲裝置中;計算機運行中對外部存儲器中文件操作時,無需訪問外部存儲器中內(nèi)部的文件目錄表,而只需對存儲裝置中的文件目錄表進行訪問和修改;計算機退出運行時,存儲裝置中的文件目錄表再存回外部存儲中。
2.根據(jù)權(quán)利要求I所述文件目錄表的使用方法,其特征在于權(quán)利要求I中所述“系統(tǒng)指定的存儲裝置”可以是下列之一 計算機的內(nèi)存; 位于外部存儲器的緩存; 主板上的存儲芯片; CPU內(nèi)部的存儲區(qū)域; 系統(tǒng)指定的其他存儲裝置。
3.根據(jù)權(quán)利要求I所述文件目錄表的使用方法,其特征在于外部存儲器文件目錄表存回外部存儲中時,每次存入的物理位置可以不相同,其物理位置不是固定的。
4.根據(jù)權(quán)利要求I所述文件目錄表的使用方法,其特征在于存儲外部存儲器文件目錄表的內(nèi)存或位于外部存儲的緩存所在的主電路板或外部存儲器,具備應(yīng)急電源供電的功能;在突然斷電時,能夠?qū)⒋鎯υ趦?nèi)存或位于外部存儲的緩存中的外部存儲器文件目錄表和其他有用信息,保存下來。
5.一種文件寫入方法,其特征在于文件在寫入外部存儲器時,先檢索查詢外部存儲器中是否有重復(fù)文件,若有重復(fù)文件,只需在外部存儲器文件目錄表中,增加一條文件信息,標明新增文件的邏輯位置關(guān)系,物理位置與原文件相同,而不需要將重復(fù)文件的具體內(nèi)容寫入到外部存儲器中。
6.根據(jù)權(quán)利要求6所述文件寫入方法,其特征在于文件在寫入外部存儲器時,檢索查詢外部存儲器中是否有重復(fù)文件的方法可以是先檢索查詢外部存儲器文件目錄表中是否有屬性相同文件,若沒有屬性相同文件,則沒有重復(fù)文件;若有屬性相同文件,則再對比兩文件的具體內(nèi)容,遇到不同之處,則判定不是重復(fù)文件;若具體內(nèi)容相同,則判定有重復(fù)文件。
7.—種帶應(yīng)急電源的主電路板,其特征在于主電路板具備應(yīng)急電源供電的功能;在突然斷電時,能夠?qū)⑼獠看鎯ζ魑募夸洷砗推渌杏眯畔?,保存下來?br>
8.—種帶應(yīng)急電源的外部存儲器,其特征在于該外部存儲器具備應(yīng)急電源供電的功能;在突然斷電時,能夠?qū)⑼獠看鎯ζ魑募夸洷砗推渌杏眯畔?,保存下來?br>
9.一種帶存儲文件目錄表芯片的主電路板,其特征在于主電路板設(shè)有特定的存儲芯片,用來存儲文件目錄表。
10.一種帶存儲文件目錄表芯片的外部存儲器,其特征在于該外部存儲器設(shè)有特定的存儲芯片,用來存儲文件目錄表。
11.一種帶存儲文件目錄表芯片的CPU,其特征在于該CPU內(nèi)部設(shè)有特定的存儲區(qū)域,用來存儲文件目錄表。
12.根據(jù)權(quán)利要求I所述文件目錄表的使用方法,其特征在于計算機在運行中,如有外部存儲器插入聯(lián)接到本計算機系統(tǒng),可以將該外部存儲器中的文件目錄表一次性讀入到系統(tǒng)指定的存儲裝置中;計算機運行中對該外部存儲器中文件操作時,無需訪問外部存儲器內(nèi)部的文件目錄表,而只需對存儲裝置中的文件目錄表進行訪問和修改;該外部存儲器斷開連接或計算機退出運行時,存儲裝置中的文件目錄表再存回外部存儲中?!?br>
全文摘要
本發(fā)明涉及計算機和智能終端設(shè)備軟硬件領(lǐng)域,主要內(nèi)容是計算機開機時,將記載外部存儲器中所有文件的文件目錄表,一次性讀入到系統(tǒng)指定的存儲裝置中;計算機運行中對外部存儲器中文件操作時,無需訪問外部存儲器中內(nèi)部的文件目錄表,而只需對存儲裝置中的文件目錄表進行訪問和修改;計算機退出運行時,存儲裝置中的文件目錄表再存回外部存儲中。本發(fā)明還創(chuàng)造了一種文件寫入的方法,避免了文件的重復(fù)寫入,節(jié)約了外部存儲空間、提高了硬盤利用率、延長了硬盤使用壽命。本發(fā)明還設(shè)計了具備應(yīng)急電源供電的功能的主電路板和外部存儲器,以及帶存儲文件目錄表芯片的主電路板、外部存儲器和CPU。
文檔編號G06F17/30GK102955787SQ201110241368
公開日2013年3月6日 申請日期2011年8月22日 優(yōu)先權(quán)日2011年8月22日
發(fā)明者陳思達 申請人:陳思達