專利名稱:加快讀寫非揮發(fā)性儲(chǔ)存媒體的方法
技術(shù)領(lǐng)域:
本發(fā)明是有關(guān)一種讀寫儲(chǔ)存媒體的方法,特別是指一種加快讀寫非揮發(fā)性儲(chǔ)存媒體的方法。
背景技術(shù):
在計(jì)算機(jī)信息產(chǎn)品發(fā)達(dá)的今天,快閃存儲(chǔ)器(Flash Memory)由于具備有電性編寫和抹除資料的非揮發(fā)性存儲(chǔ)器功能,所以被廣泛使用于諸如筆記型計(jì)算機(jī)、數(shù)字相機(jī)等小型化、攜帶方便的電子產(chǎn)品上。
在非揮發(fā)性儲(chǔ)存媒體中是以復(fù)數(shù)位元組(Byte)組成的區(qū)塊(Block)為單位進(jìn)行資料儲(chǔ)存及讀取使用,目前一區(qū)塊通常是分成16或32個(gè)頁(yè)(page),每一頁(yè)中具有復(fù)數(shù)個(gè)位元組,通常是有512個(gè)位元組。公知資料儲(chǔ)存于一非揮發(fā)性儲(chǔ)存媒體10中,示意圖如所圖1所示,非揮發(fā)性存儲(chǔ)媒體10是分成復(fù)數(shù)區(qū)塊12;由于在寫入資料于非揮發(fā)性儲(chǔ)存媒體10時(shí),不一定從區(qū)塊12的第一頁(yè)開始寫入,使得不同檔案的資料經(jīng)常是跨區(qū)塊12儲(chǔ)存,如圖中所示,檔案A、檔案B及檔案C是分別占用二區(qū)塊12;當(dāng)主機(jī)端(Host)欲將檔案B更新為檔案B’時(shí),受限于非揮發(fā)性儲(chǔ)存媒體10的先天格式限制,無(wú)法對(duì)已有資料的區(qū)塊12直接覆寫,主機(jī)端必須先找到一個(gè)空的區(qū)塊14,如圖2(a)所示將更新的檔案B’的前半段資料先寫入空的區(qū)塊14,接著如圖2(b)所示,將原區(qū)塊中檔案A的資料移至此新的區(qū)塊14上再找出另一個(gè)空的區(qū)塊16,將更新的檔案B’的后半段寫入?yún)^(qū)塊16形成如圖2(c)所示態(tài)樣而后如圖2(d)所示,將原區(qū)塊中檔案C的資料移至此新的區(qū)塊16上,最后當(dāng)資料搬移完成則將原檔案B所占的二區(qū)塊清除(erase)使之成為空區(qū)塊。此種方式因每次要更新資料時(shí)都必須先找到數(shù)個(gè)新的空區(qū)塊,除了將更新的檔案B’寫入空區(qū)塊外,這必須將原資料中與檔案B前、后半段同一區(qū)塊的檔案A及檔案C的資料重新搬移至新的空區(qū)塊,造成寫入時(shí)間拉長(zhǎng),且由于檔案B是跨二區(qū)塊儲(chǔ)存,故在讀出時(shí)因受限于非揮發(fā)性儲(chǔ)存媒體10的先天格式限制而必須下達(dá)二次讀出命令,使得存儲(chǔ)器存取資料的速度相當(dāng)慢。
發(fā)明內(nèi)容
本發(fā)明的主要目的,是在提供一種加快讀寫非揮發(fā)性儲(chǔ)存媒體的方法,能夠快速讀取信息,有效地提升系統(tǒng)的效能。
為實(shí)現(xiàn)上述目的,本發(fā)明提供的一種加快讀寫非揮發(fā)性儲(chǔ)存媒體的方法,包括下列步驟在一非揮發(fā)性儲(chǔ)存媒體于系統(tǒng)規(guī)劃/格式化時(shí),調(diào)整其檔案系統(tǒng)內(nèi)各系統(tǒng)參數(shù)區(qū)的大小、位置及檔案最小單位(Cluster);當(dāng)一主機(jī)端每次儲(chǔ)存資料于該非揮發(fā)性儲(chǔ)存媒體的復(fù)數(shù)區(qū)塊內(nèi)時(shí),是從其中一該區(qū)塊的起始位置開始寫入。
所述的加快讀寫非揮發(fā)性儲(chǔ)存媒體的方法,是通過(guò)一軟件調(diào)整這些系統(tǒng)參數(shù)區(qū)的檔案大小,位置及檔案最小單位。
所述的加快讀寫非揮發(fā)性儲(chǔ)存媒體的方法,其中調(diào)整這些系統(tǒng)參數(shù)區(qū)的大小、位置及檔案最小單位的方法更包括下列步驟該主機(jī)端詢問該非揮發(fā)性儲(chǔ)存媒體而得知其容量及區(qū)塊大小,以根據(jù)該容量及區(qū)塊大小的值計(jì)算出每一該系統(tǒng)參數(shù)區(qū)的大小、位置及檔案最小單位;利用這些系統(tǒng)參數(shù)區(qū)的大小、位置及檔案最小單位的計(jì)算值修改這些系統(tǒng)參數(shù)區(qū)的參數(shù)以及該主機(jī)端下達(dá)資料寫入命令將這些系統(tǒng)參數(shù)區(qū)內(nèi)的資料寫入該非揮發(fā)性儲(chǔ)存媒體中,以完成系統(tǒng)規(guī)劃/格式化的動(dòng)作,使后續(xù)每次寫入資料時(shí)皆是從其中一該區(qū)塊的起始位置開始寫入。
所述的加快讀寫非揮發(fā)性儲(chǔ)存媒體的方法,其特征在于,其中該主機(jī)端詢問該非揮發(fā)性儲(chǔ)存媒體的容量及區(qū)塊大小的步驟,是以命令的方式進(jìn)行。
所述的加快讀寫非揮發(fā)性儲(chǔ)存媒體的方法,其中這些系統(tǒng)參數(shù)區(qū)是包括主開機(jī)區(qū)(Master Boot Record)、系統(tǒng)開機(jī)參數(shù)區(qū)(BIOS Parameter Block)、檔案位置表(File Allocation Table)及根目錄區(qū)(Root Directory)。
所述的加快讀寫非揮發(fā)性儲(chǔ)存媒體的方法,其中修改這些系統(tǒng)參數(shù)區(qū)的參數(shù)的步驟,是修改該主開機(jī)區(qū)及該系統(tǒng)開機(jī)參數(shù)區(qū)的參數(shù)。
所述的加快讀寫非揮發(fā)性儲(chǔ)存媒體的方法,其中通過(guò)人工操作來(lái)調(diào)整這些系統(tǒng)參數(shù)區(qū)的大小、位置及檔案的最小單位。
所述的加快讀寫非揮發(fā)性儲(chǔ)存媒體的方法,其中該檔案最小單位是為叢集。
故本發(fā)明可達(dá)到加快讀出及寫入資料于非揮發(fā)性存儲(chǔ)器的功效,進(jìn)而有故提升系統(tǒng)的效能。
圖1為公知資料儲(chǔ)存于一非揮發(fā)性儲(chǔ)存媒體中的示意圖;圖2(a)至圖2(d)為公知更新一檔案資料而搬動(dòng)資料的連續(xù)動(dòng)作示意圖;圖3為本發(fā)明的非揮發(fā)性儲(chǔ)存媒體內(nèi)區(qū)塊及頁(yè)的關(guān)系示意圖;圖4為本發(fā)明的非揮發(fā)性儲(chǔ)存媒體內(nèi)的各系統(tǒng)參數(shù)區(qū)示意圖;圖5為本發(fā)明的非揮發(fā)性儲(chǔ)存媒體與一主機(jī)端連接的示意圖;圖6為本發(fā)明于調(diào)整參數(shù)后資料儲(chǔ)存于非揮發(fā)性儲(chǔ)存媒體中的示意圖;圖7為本發(fā)明更新一檔案資料而搬動(dòng)資料的動(dòng)作示意圖。
具體實(shí)施例方式
下面結(jié)合具體實(shí)施例配合
本發(fā)明的目的、技術(shù)內(nèi)容、特點(diǎn)及其所達(dá)成的功效。
本發(fā)明是使一非揮發(fā)性儲(chǔ)存媒體于系統(tǒng)規(guī)劃/格式化時(shí),調(diào)整其檔豐系統(tǒng)內(nèi)各系統(tǒng)參數(shù)區(qū)的大小、位置及檔案最小單位,以使后續(xù)主機(jī)端在每次儲(chǔ)存資料于該非揮發(fā)性儲(chǔ)存媒體的復(fù)數(shù)區(qū)塊內(nèi)時(shí),皆是從其中一區(qū)塊的起始位置開始寫入,以減少資科搬移的動(dòng)作。
本發(fā)明如圖3所示,一非揮發(fā)性儲(chǔ)存媒體20是定義成復(fù)數(shù)個(gè)區(qū)塊(Block)22,以區(qū)塊22為單位進(jìn)行資料儲(chǔ)存及讀取的使用,亦即區(qū)塊22是為進(jìn)行資料清除(Erase)時(shí)的單位;而每一個(gè)可供資料存取的區(qū)塊22是含有16或32個(gè)頁(yè)(page),每一頁(yè)中具有復(fù)數(shù)個(gè)位元組(byte),通常是有512個(gè)位元組,此非揮發(fā)性儲(chǔ)存媒體20常見的方式是為快閃存儲(chǔ)器。
如圖4所示,非揮發(fā)性儲(chǔ)存媒體20內(nèi)的檔案系統(tǒng)通常是包括有數(shù)個(gè)系統(tǒng)參數(shù)區(qū)24,分別為主開機(jī)區(qū)(Master Boot Record,MBR)、系統(tǒng)開機(jī)參數(shù)區(qū)(BIOS Parameter Block,BPB)、檔案位置表(File Allocation Table,F(xiàn)AT)、根目錄區(qū)(RootDirectory),每一系統(tǒng)參數(shù)區(qū)24各具有其大小及在非揮發(fā)性儲(chǔ)存媒體20中的位置。一般而言,一個(gè)從未使用的儲(chǔ)存媒體在安裝于一主機(jī)系統(tǒng)以提供資料儲(chǔ)存使用時(shí),通常必須先將此新的儲(chǔ)存媒體完成系統(tǒng)規(guī)劃(FDISK)及格式化(FORMATE)的動(dòng)作后才能使用,利用此原則,本發(fā)明是將非揮發(fā)性儲(chǔ)存媒體20于首次使用或重新系統(tǒng)規(guī)劃/格式化時(shí),調(diào)整其檔案系統(tǒng)內(nèi)各系統(tǒng)參數(shù)區(qū)24的大小、位置及檔案最小單位,此檔案最小單位是為叢集(Cluster),以便使每一檔案的起始位置皆在區(qū)塊12的起始位置。
其中,本發(fā)明調(diào)整這些系統(tǒng)參數(shù)區(qū)24的大小、位置及檔案最小單位的方法通常是通過(guò)人工操作的方式來(lái)進(jìn)行,包括下列步驟請(qǐng)參閱圖5并配合上述構(gòu)造,在非揮發(fā)性儲(chǔ)存媒體20于安裝至一主機(jī)端30上且于系統(tǒng)規(guī)劃及格式化時(shí),主機(jī)端30以命令(Command)的方式詢問此非揮發(fā)性儲(chǔ)存媒體20以得知其容量及區(qū)塊22大小,進(jìn)而根據(jù)容量及區(qū)塊22大小的值計(jì)算出每一系統(tǒng)參數(shù)區(qū)24的大小位置及檔案最小單位;而后主機(jī)端30旋即利用這些系統(tǒng)參數(shù)區(qū)24的大小、位置及檔案最小單位的計(jì)算值來(lái)修改主開機(jī)區(qū)(MBR)及系統(tǒng)開機(jī)參數(shù)區(qū)(BPB)的參數(shù);接著,主機(jī)端下達(dá)一資料寫入命令(Write Command)依序?qū)⒅鏖_機(jī)區(qū)(MBR)、系統(tǒng)開機(jī)參數(shù)表(BPB)、檔案位置表(TAT)、根目錄區(qū)(FDB)等系統(tǒng)參數(shù)區(qū)24內(nèi)的資料寫入此非揮發(fā)性儲(chǔ)存媒體10中,以完成系統(tǒng)規(guī)劃及格式化的動(dòng)作,使后續(xù)在使用此非揮發(fā)性儲(chǔ)存媒體20時(shí),每次寫入資料都是從其中一區(qū)塊22的起始位置開始寫入。
上述調(diào)整系統(tǒng)參數(shù)區(qū)24的大小、位置及檔案最小單位的方法的具體實(shí)施態(tài)樣即為軟件,通常稱為應(yīng)用程序(Application Program,AP)或軟件工具(tool)。
前述軟件通常是建立在主機(jī)端30內(nèi);此外,本發(fā)明的調(diào)整系統(tǒng)參數(shù)區(qū)的方法中,在非揮發(fā)性儲(chǔ)存媒體20與主機(jī)端30之間更可連接有一控制器,由控制器作為訊號(hào)傳輸?shù)拿浇?,則前述軟件除了可建構(gòu)在主機(jī)端30內(nèi),使用者亦可將此軟件建構(gòu)在該控制器內(nèi),以便通過(guò)主機(jī)端30或該控制器上的軟件來(lái)進(jìn)行操作。
因此,使用者由本發(fā)明的軟件及方法調(diào)整一非揮發(fā)性儲(chǔ)存媒體10的系統(tǒng)參數(shù)區(qū)24的大小、位置及檔案最小單位之后,則主機(jī)端30儲(chǔ)存資料于非揮發(fā)性儲(chǔ)存媒體20中的情形如圖6所示,使每一檔案的起始位置皆在區(qū)塊的起始位置,則當(dāng)主機(jī)端30欲讀出其中一檔案如檔案B時(shí),由于其是儲(chǔ)存在同一區(qū)塊內(nèi),故只需下達(dá)一次讀出命令,即可讀出檔案B,而當(dāng)主機(jī)端30欲將檔案B的資料更新為檔案B’時(shí),請(qǐng)參圖7所示;只需在非揮發(fā)性儲(chǔ)存媒體20中找到一空區(qū)塊26,并將檔案B’的資料直接寫入空區(qū)塊26內(nèi)即可,且是從區(qū)塊26的起始位置開始寫入,而無(wú)須如公知技術(shù)一樣必須搬移檔案A及檔案C的資料,因此可減少資料搬移的動(dòng)作。
以上所述是由實(shí)施例說(shuō)明本發(fā)明的特點(diǎn),其目的在使熟悉該技術(shù)者能了解本發(fā)明的內(nèi)容并據(jù)以實(shí)施,而非限定本發(fā)明的專利范因,凡其他未脫離本發(fā)明所揭示的精神所完成的同等修飾或修改,仍應(yīng)包含在以下所述的申請(qǐng)專利范圍中。
權(quán)利要求
1.一種加快讀寫非揮發(fā)性儲(chǔ)存媒體的方法,其特征在于,包括下列步驟在一非揮發(fā)性儲(chǔ)存媒體于系統(tǒng)規(guī)劃/格式化時(shí),調(diào)整其檔案系統(tǒng)內(nèi)各系統(tǒng)參數(shù)區(qū)的大小、位置及檔案最小單位;當(dāng)一主機(jī)端每次儲(chǔ)存資料于該非揮發(fā)性儲(chǔ)存媒體的復(fù)數(shù)區(qū)塊內(nèi)時(shí),是從其中一該區(qū)塊的起始位置開始寫入。
2.根據(jù)權(quán)利要求1所述的加快讀寫非揮發(fā)性儲(chǔ)存媒體的方法,其特征在于,是通過(guò)一軟件調(diào)整這些系統(tǒng)參數(shù)區(qū)的檔案大小,位置及檔案最小單位。
3.根據(jù)權(quán)利要求1所述的加快讀寫非揮發(fā)性儲(chǔ)存媒體的方法,其特征在于,其中調(diào)整這些系統(tǒng)參數(shù)區(qū)的大小、位置及檔案最小單位的方法更包括下列步驟該主機(jī)端詢問該非揮發(fā)性儲(chǔ)存媒體而得知其容量及區(qū)塊大小,以根據(jù)該容量及區(qū)塊大小的值計(jì)算出每一該系統(tǒng)參數(shù)區(qū)的大小、位置及檔案最小單位;利用這些系統(tǒng)參數(shù)區(qū)的大小、位置及檔案最小單位的計(jì)算值修改這些系統(tǒng)參數(shù)區(qū)的參數(shù)以及該主機(jī)端下達(dá)資料寫入命令將這些系統(tǒng)參數(shù)區(qū)內(nèi)的資料寫入該非揮發(fā)性儲(chǔ)存媒體中,以完成系統(tǒng)規(guī)劃/格式化的動(dòng)作,使后續(xù)每次寫入資料時(shí)皆是從其中一該區(qū)塊的起始位置開始寫入。
4.根據(jù)權(quán)利要求3所述的加快讀寫非揮發(fā)性儲(chǔ)存媒體的方法,其特征在于,其中該主機(jī)端詢問該非揮發(fā)性儲(chǔ)存媒體的容量及區(qū)塊大小的步驟,是以命令的方式進(jìn)行。
5.根據(jù)權(quán)利要求3所述的加快讀寫非揮發(fā)性儲(chǔ)存媒體的方法,其特征在于,其中這些系統(tǒng)參數(shù)區(qū)是包括主開機(jī)區(qū)、系統(tǒng)開機(jī)參數(shù)區(qū)、檔案位置表及根目錄區(qū)。
6.根據(jù)權(quán)利要求5所述的加快讀寫非揮發(fā)性儲(chǔ)存媒體的方法,其特征在于,其中修改這些系統(tǒng)參數(shù)區(qū)的參數(shù)的步驟,是修改該主開機(jī)區(qū)及該系統(tǒng)開機(jī)參數(shù)區(qū)的參數(shù)。
7.根據(jù)權(quán)利要求1所述的加快讀寫非揮發(fā)性儲(chǔ)存媒體的方法,其特征在于,其中通過(guò)人工操作來(lái)調(diào)整這些系統(tǒng)參數(shù)區(qū)的大小、位置及檔案的最小單位。
8.根據(jù)權(quán)利要求1所述的加快讀寫非揮發(fā)性儲(chǔ)存媒體的方法,其特征在于,其中該檔案最小單位是為叢集。
全文摘要
本發(fā)明提供一種加快讀寫非揮發(fā)性儲(chǔ)存媒體的方法,其是在一非揮發(fā)性儲(chǔ)存媒體于系統(tǒng)規(guī)劃或格式化時(shí),依其容量及區(qū)塊大小來(lái)調(diào)整各系統(tǒng)參數(shù)區(qū)的大小、位置及檔案最小單位,以在完成系統(tǒng)規(guī)劃/格式化后,當(dāng)主機(jī)端每次儲(chǔ)存資料時(shí),都是從非揮發(fā)性儲(chǔ)存媒體中的一區(qū)塊的起始位置開始寫入。因此本發(fā)明可減少資料搬移的動(dòng)作,且有效提升系統(tǒng)的效能。
文檔編號(hào)G06F12/06GK1549132SQ03136900
公開日2004年11月24日 申請(qǐng)日期2003年5月23日 優(yōu)先權(quán)日2003年5月23日
發(fā)明者謝盛忠 申請(qǐng)人:笙泉科技股份有限公司