專利名稱:用于改善非揮發(fā)性內(nèi)存器件讀寫速度的方法
技術(shù)領(lǐng)域:
本發(fā)明是利用檔案結(jié)構(gòu)分析程序(Files Structure AnalysisProcedure)并使用”清碟指令”(Clean Disk Vendor Command)請求非揮發(fā)性內(nèi)存控制器直接清除所指定位置的數(shù)據(jù)。
背景技術(shù):
以往操作系統(tǒng)要刪除非揮發(fā)性內(nèi)存器件的數(shù)據(jù),是比照傳統(tǒng)硬盤方式,操作系統(tǒng)告訴硬盤標示數(shù)據(jù)已經(jīng)刪除,不過非揮發(fā)性內(nèi)存控制器為了閃存(NAND Flash Memory)寫入壽命的考慮,會將刪除的Block標示起來,并將數(shù)據(jù)優(yōu)先寫入空的Block,直到空的Block 都用完之后,才會抹除經(jīng)過標示的Block以用來寫入新資料。這種操作模式也造成了非揮發(fā)性內(nèi)存器件內(nèi)的垃圾數(shù)據(jù)愈來愈多,即使將非揮發(fā)性內(nèi)存器件重新格式化后,垃圾數(shù)據(jù)也依然存在,也是導(dǎo)致讀寫入愈來愈慢的主因。由于閃存(NAND Flash Memory)的特性,記憶數(shù)據(jù)的區(qū)塊(Block)必須先抹除原先記憶在上面的數(shù)據(jù),才能再寫入(Program)新的數(shù)據(jù),而早期的操作系統(tǒng)對于數(shù)據(jù)的刪除(Delete)只是更新檔案表頭,而沒有真正抹除區(qū)塊上的數(shù)據(jù),對于內(nèi)存控制器而言,這些無效的數(shù)據(jù)便形成了所謂的垃圾數(shù)據(jù),而垃圾數(shù)據(jù)將對內(nèi)存控制器執(zhí)行讀寫時造成負荷,愈多的垃圾數(shù)據(jù)將使讀寫效能愈低。為了優(yōu)化固態(tài)磁盤的效能,新發(fā)展的操作系統(tǒng)已經(jīng)開始注意并改善這種現(xiàn)象,其中的修剪指令(Trim command)已內(nèi)建在Windows 7、FreeBSD···等操作系統(tǒng)內(nèi),但是修剪指令僅通知非揮發(fā)性內(nèi)存控制器刪除使用者欲刪除的數(shù)據(jù)及應(yīng)用程序臨時性暫存的檔案外, 卻缺乏通過控制器重新掃描非揮發(fā)性內(nèi)存上所有的垃圾數(shù)據(jù)的功能,因此無法確實達到全面改善讀寫速度的目的。因此,為彌補舊有系統(tǒng)的缺點并改善新系統(tǒng)的缺失,發(fā)明人乃集思廣益,反復(fù)研究與驗證,始發(fā)明出本發(fā)明的用于改善非揮發(fā)性內(nèi)存器件讀寫速度的方法。
發(fā)明內(nèi)容
本發(fā)明的一目的是揭露一嶄新的技術(shù)用來全面改善閃存器件讀寫速度的方法。為達成前述目的,本發(fā)明提出一種提升非揮發(fā)性內(nèi)存器件讀寫速度的方法,其包括有下列步驟步驟(A)進行非揮發(fā)性內(nèi)存檔案結(jié)構(gòu)的分析;步驟(B)取得上述分析所得的運作參數(shù);以及步驟(C)將尚未被使用以及已被刪除的檔案位置,通過一個特定的指令告知非揮發(fā)性內(nèi)存控制器對所指定的位置進行數(shù)據(jù)抹除的動作。
圖1為檔案系統(tǒng)的示意圖。圖2為目錄表結(jié)構(gòu)的示意圖。圖3為本發(fā)明實施步驟的流程示意圖。
主要元件符號說明步驟101 通過檔案結(jié)構(gòu)分析算法得出『未被使用』或『已刪除』數(shù)據(jù)的位置參數(shù)步驟201 輸入清碟指令
具體實施例方式一般常見的非揮發(fā)性內(nèi)存器件的檔案格式大致可分為FAT16、FAT32、NTFS, HPFS, LinuxSwp…等。而所述檔案結(jié)構(gòu)分析程序(FilesStructure Analysis Procedure)可依據(jù)各種不同的檔案格式進行快速搜尋并分析非揮發(fā)性內(nèi)存器件上所儲存的數(shù)據(jù)結(jié)構(gòu)來得知尚未被使用或已被刪除的檔案位置并傳送清碟指令(Clean Disk Vendor Command)告知非揮發(fā)性內(nèi)存控制器對所指定的位置進行刪除垃圾數(shù)據(jù)動作。檔案結(jié)構(gòu)分析程序(Files Structure Analysis Procedure)會依據(jù)不同的檔案格式(FAT16、FAT32、NTFS、HPFS、LinuxSwp…等),會有不同算法進行檔案分析。大部分的檔案系統(tǒng)大致上包括四個不同的部份。請參考圖1。1.主啟動區(qū)第一個保留扇區(qū)是啟動區(qū)(分割啟動記錄),通常包括操作系統(tǒng)的啟動呼叫程序代碼。2.文件分配表分割信息的對映表,指示叢集如何儲存。3.目錄表它根目錄中儲存文件和目錄信息的目錄表。4.數(shù)據(jù)區(qū)域?qū)嶋H的文件和目錄數(shù)據(jù)儲存的區(qū)域,它占據(jù)了分割的絕大部份。檔案結(jié)構(gòu)分析程序(Files Structure Analysis Procedure)會依不同檔案系統(tǒng)搜尋目錄表的所在位置,并分析其目錄結(jié)構(gòu),包含文件/目錄名稱、文件擴展名、文件內(nèi)容、 文件/目錄建立的日期和時間與文件/目錄的大小,該程序?qū)⒁啦煌臋n案系統(tǒng)而有所不同,由于此程序為檔案系統(tǒng)軟件工程人員所熟知,在此不再另行贅述。請參考圖2。在分析檔案結(jié)構(gòu)之后,即可得知尚未被使用以及已被刪除的檔案位置,此時『清碟指令』即可告知非揮發(fā)性內(nèi)存控制器對所指定的位置進行垃圾數(shù)據(jù)抹除(Erase)動作。Clean Disk Vendor Command BOOL CSS_CLEAN_DISK_CMD(unsigned_int64 statrAddress, unsigned_int64 endAddress)通過『清碟指令』輸入指定的位置后(Start address and endaddress),非揮發(fā)性內(nèi)存控制器即會抹除所指定位置的數(shù)據(jù)。由于區(qū)塊抹除(Block Erase)的動作大約需要為1 2ms的時間,是閃存(NANDFlash Memory)花費時間最多的程序,因此在使用本發(fā)明的方法后,所有的垃圾數(shù)據(jù)均被刪除,騰出來的空間可以被新的資料直接利用寫入 (Program),而不必再花費多余的時間作區(qū)塊刪除而提高了整體的系統(tǒng)效能。而一般的檔案刪除(Delete)指令,只是清除了 FAT表頭的內(nèi)容,而對內(nèi)存控制器而言,在該FAT對應(yīng)的內(nèi)存區(qū)的實體位置仍然是具有“數(shù)據(jù)數(shù)據(jù)”的,當下一筆數(shù)據(jù)要使用此實體位置作寫入 (Program)時,就必須抹除(Block Erase)該筆“數(shù)據(jù)數(shù)據(jù)”后才能寫入(Program),而延長了寫入(Program)的時間,降低了效能。具體的實施步驟請參考圖3的流程圖,其中步驟101表示通過檔案結(jié)構(gòu)分析程序后,判斷出尚未被使用以及已被刪除的檔案位置,由步驟201輸入欲抹除的『LBA AddressJ 起始位置與終止位置的參數(shù)并由『清碟指令』請求非揮發(fā)性內(nèi)存控制器進行抹除動作,如果該區(qū)塊已被抹除,則不再對該區(qū)作抹除的動作,之后再回到步驟101繼續(xù)執(zhí)行檔案結(jié)構(gòu)分析,直到分析完非揮發(fā)性內(nèi)存器件內(nèi)所有的數(shù)據(jù)。 綜上所陳,本發(fā)明無論就目的、手段與功效,在顯示其迥異于現(xiàn)有的技術(shù)特征,且其首先發(fā)明合于實用,亦在在符合發(fā)明的專利要求。
權(quán)利要求
1.一種提升非揮發(fā)性內(nèi)存器件讀寫速度的方法,其包括有下列步驟 步驟(A)進行非揮發(fā)性內(nèi)存檔案結(jié)構(gòu)的分析;步驟(B)取得上述分析所得的運作參數(shù);以及步驟(C)將尚未被使用以及已被刪除的檔案位置,通過一個特定的指令告知非揮發(fā)性內(nèi)存控制器對所指定的位置進行數(shù)據(jù)抹除的動作。
2.如權(quán)利要求1所述的方法,其特征在于,其中的運作參數(shù)包括未被使用以及已被刪除的檔案位置參數(shù)。
3.如權(quán)利要求1所述的方法,其特征在于,其中的非揮發(fā)性內(nèi)存為閃存。
全文摘要
本發(fā)明是關(guān)于一種用于改善非揮發(fā)性內(nèi)存器件讀寫速度的方法。本發(fā)明乃利用檔案結(jié)構(gòu)分析程序得知非揮發(fā)性內(nèi)存器件上未被使用或已被使用者刪除的檔案位置,并傳送清碟指令告知非揮發(fā)性內(nèi)存控制器對所指定的位置進行刪除垃圾數(shù)據(jù)動作,進而達到改善讀寫速度的目的。
文檔編號G06F12/02GK102262592SQ20101019414
公開日2011年11月30日 申請日期2010年5月28日 優(yōu)先權(quán)日2010年5月28日
發(fā)明者吳文元, 王慶彬 申請人:多利吉科技股份有限公司