專利名稱:非揮發(fā)性存儲器存取系統(tǒng)及其循環(huán)使用存取空間方法
技術(shù)領(lǐng)域:
本發(fā)明涉及非揮發(fā)性存儲的技術(shù)領(lǐng)域,尤指一種非揮發(fā)性存儲器存取系統(tǒng)及其循環(huán)使用存取空間方法。
背景技術(shù):
隨著可攜式電子產(chǎn)品的風(fēng)行,閃存(Flash Memory)已廣泛地應(yīng)用在可攜式電子產(chǎn)品及其相關(guān)的微型儲存裝置中。在現(xiàn)有的商用產(chǎn)品中,最常見的閃存主要為與非型(NAND Type)閃存與或非型(NOR Type)閃存。與非型閃存其在進(jìn)行讀取(Read)、寫入(Write)以及抹除(Erase)動作時,是以區(qū)塊(Block)作為基本處理單位,且價格便宜,基于此種特性,使得該類型閃存大量地應(yīng)用在儲存媒體(Storage Medium)上。
然而,或非型閃存的價格則較為昂貴,其在進(jìn)行寫入與讀取動作時是以字節(jié)(Byte)為基本處理單位,在進(jìn)行抹除動作時則以區(qū)塊作為基本處理單位,故或非型閃存較適合用來儲存程序執(zhí)行碼,而不適合應(yīng)用于一般的可攜式儲存裝置(例如隨身碟)。
又,或非型閃存出廠時具有一定的規(guī)格,例如16兆字節(jié)(MB),32MB或64MB等,若欲存放的程序執(zhí)行碼僅需要25MB,則必須使用32MB的模塊,因此將會有7MB的空間將無法有效利用。若將或非型閃存剩余的部分作為儲存媒體(即用來儲存一般性資料或檔案系統(tǒng)),則可有效地利用存儲器。但,或非型閃存資料寫入與讀取動作時與抹除動作的基本處理單位不同,且不能對或非型閃存同時進(jìn)行讀取與寫入動作,使得或非型閃存同時用來儲存程序代碼與檔案系統(tǒng)時,其運(yùn)作效能將會很低。
發(fā)明內(nèi)容
本發(fā)明的主要目的是在提供一種非揮發(fā)性存儲器存取系統(tǒng)及其循環(huán)使用存取空間方法,使能提高同時用來儲存資料與程序的非揮發(fā)性存儲器的存取效率,并有效回收抹除的區(qū)塊。
本發(fā)明的另一目的是在提供一種非揮發(fā)性存儲器存取系統(tǒng)及其循環(huán)使用存取空間方法,使能使得非揮發(fā)性存儲器同時用來儲存資料與程序代碼。
本發(fā)明的上述目的是由如下技術(shù)方案來實(shí)現(xiàn)的。
一種非揮發(fā)性存儲器存取系統(tǒng),是架構(gòu)于一可攜式電子裝置中,其特征是包括一非揮發(fā)性存儲裝置,其是以字節(jié)為基本處理單位來進(jìn)行讀取與寫入,并以區(qū)塊為基本處理單位來進(jìn)行抹除,其包括一第一區(qū)域與一第二區(qū)域,該第一區(qū)域用以儲存程序代碼,該第二區(qū)域用以存取資料,該第二區(qū)域是經(jīng)由一格式化處理,以使每一區(qū)塊形成具有多個頁次,每一頁次具有至少一字節(jié),且對該等頁次注記有一第一注記、一第二注記及一第三注記的其中一種注記,使供通過該等頁次及其注記存取該第二區(qū)域的資料;一存儲單元;以及一中央處理單元,其是通過該存儲單元讀寫該等頁次,并在寫入數(shù)據(jù)于該等頁次后對其注記該第一注記,其中,當(dāng)該中央處理單元抹除一區(qū)塊時,是將該區(qū)塊中頁次注記為該第一注記的數(shù)據(jù),先寫入該存儲單元中,使供通過該存儲單元寫入其它無數(shù)據(jù)的頁次,并在寫入完成后,對該寫入的每一頁次注記該第一注記,且對該原本注記為該第一注記的至少一頁次更改注記為該第二注記,使當(dāng)該區(qū)塊中所有頁次皆注記為該第二注記時,則抹除該區(qū)塊,并將該抹除后區(qū)塊的頁次注記變更為第三注記,以達(dá)成一區(qū)塊回收機(jī)制。
所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是當(dāng)該中央處理單元進(jìn)行該第二區(qū)域的抹除時,是由該等區(qū)塊的第一個區(qū)塊進(jìn)行抹除,并依序抹除下一個區(qū)塊,直到抹除完最后一個區(qū)塊為止。
所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是該非揮發(fā)性存儲裝置的第二區(qū)域是規(guī)劃包含一般存取區(qū)及備援區(qū)。
所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是當(dāng)該中央處理單元寫入資料于該等備援區(qū)的頁次時,則觸發(fā)抹除動作。
所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是該中央處理單元寫入資料方式,是由該等區(qū)塊的第一個區(qū)塊第一個頁次依序接續(xù)寫入,當(dāng)寫至最后一個區(qū)塊最后一個頁次后,則再接續(xù)寫入第一個區(qū)塊第一個頁次。
所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是該中央處理單元每次寫入資料時是先判斷于預(yù)寫入的目標(biāo)頁次內(nèi)容,若該頁次已有資料,則該中央處理單元發(fā)出存儲器空間不足的警示訊息。
所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是該中央處理單元是藉由該目標(biāo)頁次的注記來進(jìn)行判斷,若該注記非為第三注記,則發(fā)出該警示訊息。
所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是該一般存取區(qū)的區(qū)塊與該備援區(qū)的區(qū)塊的數(shù)量是二比一。
所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是該中央處理單元是以背景抹除方式進(jìn)行抹除。
所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是該中央處理單元是經(jīng)由至少一次分批并依序地寫入資料,且在寫入資料時該中央處理單元關(guān)閉其中斷要求,寫入資料完成后打開其中斷要求。
所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是當(dāng)該中央處理單元寫入一修改資料于一頁次時,該中央處理單元將該修改資料接續(xù)寫入于其它無數(shù)據(jù)的頁次,并在寫入完成后,對該寫入的頁次注記該第一注記,且對該修改數(shù)據(jù)的原本頁次注記該第二注記。
所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是該中央處理單元具有一緩存器,且該緩存器具有一控制旗標(biāo),以通過該控制旗標(biāo)開啟中斷要求或關(guān)閉中斷要求。
所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是該可攜式電子裝置是個人數(shù)字助理。
所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是該可攜式電子裝置是口袋型計算機(jī)。
所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是該非揮發(fā)性存儲裝置是或非型閃存。
本發(fā)明還提供一種用于上述存取系統(tǒng)的非揮發(fā)性存儲器的循環(huán)使用存取空間方法。
一種非揮發(fā)性存儲器的循環(huán)使用存取空間方法,是配合一具有在讀取與寫入動作時以字節(jié)作為基本處理單位,且在進(jìn)行抹除動作時以區(qū)塊為基本處理單位的特性的非揮發(fā)性存儲裝置,該非揮發(fā)性存儲裝置包括一第一區(qū)域與一第二區(qū)域,該第一區(qū)域用以儲存程序代碼,該第二區(qū)域用以存取資料,該第二區(qū)域是經(jīng)格式化而使每一個區(qū)塊皆具有多個頁次,且每一頁次具有至少一字節(jié),其中,該等頁次是注記有一第一注記、一第二注記及一第三注記的其中一種注記,使供通過該等頁次及其注記存取該第二區(qū)域的資料,該方法主要包括下述步驟一讀取注記步驟,是讀取一區(qū)塊的一頁次的注記;一數(shù)據(jù)搬移步驟,若讀取的頁次注記為該第一注記,則將該頁次的數(shù)據(jù)寫入其它無數(shù)據(jù)的頁次,并在寫入數(shù)據(jù)后對該寫入的頁次注記該第一注記,且對該原本的頁次注記為該第二注記;以及一抹除區(qū)塊步驟,若該區(qū)塊的每一頁次皆注記為該第二注記,則對該區(qū)塊進(jìn)行抹除,并對其頁次注記該第三注記,繼而重復(fù)執(zhí)行該讀取注記步驟、該資料搬移步驟及該抹除區(qū)塊步驟,直到該第二區(qū)域的該等區(qū)塊皆抹除完成。
所述的循環(huán)使用存取空間方法,其特征是該第二區(qū)域的該等區(qū)塊是規(guī)劃為一般存取區(qū)與備援區(qū)。
所述的循環(huán)使用存取空間方法,其特征是該一般存取區(qū)與該備援區(qū)的區(qū)塊的數(shù)量是二比一。
所述的循環(huán)使用存取空間方法,其特征是于該抹除區(qū)塊步驟中,是以背景抹除方式進(jìn)行抹除。
所述的循環(huán)使用存取空間方法,其特征是于該資料搬移步驟中,是接續(xù)上一次寫入完成的頁次開始寫入資料,并在資料寫入時關(guān)閉中斷要求,資料寫入完成后打開中斷要求。
所述的循環(huán)使用存取空間方法,其特征是于該資料搬移步驟中,當(dāng)寫入數(shù)據(jù)于一儲存區(qū)塊的頁次時,若該儲存區(qū)塊的頁次已有資料,則代表該第二區(qū)域空間不足。
所述的循環(huán)使用存取空間方法,其特征是其是由該第二區(qū)域的第一個區(qū)塊開始進(jìn)行該讀取注記步驟、該資料搬移步驟以及該抹除區(qū)塊步驟,直到該第二區(qū)域的最末區(qū)塊完成該抹除區(qū)塊步驟為止。
所述的循環(huán)使用存取空間方法,其特征是該非揮發(fā)性存儲裝置是或非型閃存。
依據(jù)本發(fā)明的一特色,所提供的高效率非揮發(fā)性存儲器存取系統(tǒng)是架構(gòu)于一可攜式電子裝置中,該高效率非揮發(fā)性存儲器存取系統(tǒng)主要包括一非揮發(fā)性存儲裝置,其是以字節(jié)為基本處理單位來進(jìn)行讀取與寫入,并以區(qū)塊為基本處理單位來進(jìn)行抹除,其包括一第一區(qū)域與一第二區(qū)域,該第一區(qū)域用以儲存程序代碼,該第二區(qū)域用以存取資料,該第二區(qū)域是經(jīng)由一格式化處理,使每一區(qū)塊皆具有多個頁次,每一頁次具有至少一字節(jié),且該等頁次注記有一第一注記、一第二注記及一第三注記的其中一種注記,使供通過該等頁次及其注記存取該第二區(qū)域的資料;一存儲單元;以及一中央處理單元,其是通過該存儲單元讀寫該等頁次,并在寫入數(shù)據(jù)于該等頁次后對其注記該第一注記,其中,當(dāng)該中央處理單元抹除一存取區(qū)塊時,是將該存取區(qū)塊中注記為該第一注記的至少一頁次的數(shù)據(jù),先寫入該存儲單元中,使供通過該存儲單元寫入其它無數(shù)據(jù)的頁次,并在寫入完成后,對該寫入的每一頁次注記該第一注記,且對該原本注記為該第一注記的至少一頁次更改注記為該第二注記,使當(dāng)該存取區(qū)塊中所有頁次皆注記為該第二注記時,則抹除該存取區(qū)塊,接著抹除下一個區(qū)塊,直至該等區(qū)塊抹除完成,以達(dá)成一區(qū)塊回收機(jī)制。
依據(jù)本發(fā)明的另一特色,所提供的非揮發(fā)性存儲器的循環(huán)使用存取空間方法是配合一具有在讀取與寫入動作時以字節(jié)作為基本處理單位、且在進(jìn)行抹除動作時以區(qū)塊為基本處理單位的特性的非揮發(fā)性存儲裝置,該非揮發(fā)性存儲裝置包括一第一區(qū)域與一第二區(qū)域,該第一區(qū)域用以儲存程序代碼,該第二區(qū)域用以存取資料,該第二區(qū)域是經(jīng)格式化而形成每一區(qū)塊皆具有多個頁次,且每一頁次具有至少一字節(jié),其中,該等頁次是注記有一第一注記、一第二注記及一第三注記的其中一種注記,使供通過該等頁次及其注記存取該第二區(qū)域的資料,該循環(huán)使用存取空間方法主要包括下述步驟一讀取注記步驟,是讀取一存取區(qū)塊或一備援區(qū)塊的每一頁次的注記;一數(shù)據(jù)搬移步驟,若讀取的頁次注記為該第一注記,則將該頁次的數(shù)據(jù)寫入其它無數(shù)據(jù)的頁次,并在寫入數(shù)據(jù)后對該寫入的頁次注記該第一注記,且對該原本的頁次注記為該第二注記;以及一抹除區(qū)塊步驟,若該存取區(qū)塊的每一頁次皆注記為該第二注記,則對該存取區(qū)塊或該備援區(qū)塊進(jìn)行抹除,并對其頁次注記該第三注記,繼而重復(fù)執(zhí)行該讀取注記步驟、該資料搬移步驟及該抹除區(qū)塊步驟,直到該等區(qū)塊皆抹除完成。
本發(fā)明的優(yōu)點(diǎn)在于本發(fā)明同時為有效利用或非型非揮發(fā)性存儲器及解決或非型非揮發(fā)性存儲器以字節(jié)為儲存單位,區(qū)塊為抹除單位的特性,于儲存數(shù)據(jù)文件的空間是先經(jīng)過格式化處理,首先,以頁次為存取單位,并且利用注記方式來了解各頁次內(nèi)資料的狀態(tài);再者,規(guī)劃有多個存取區(qū)塊與備援區(qū)塊,以寫入動作進(jìn)入備援區(qū)塊作為一個激活抹除回收資料狀態(tài)為不使用(無效)頁次的觸發(fā)點(diǎn),利用備援區(qū)塊作為一個緩沖空間,使可確保在無資料遺失的狀態(tài)下進(jìn)行抹除回收區(qū)塊,來達(dá)成同時儲存資料與程序代碼的目的;再者,設(shè)計依序?qū)懭肽J?,即便是修改資料時亦不直接寫入覆蓋,因此可確保非發(fā)揮性存儲器的第二區(qū)域中的頁次不會被重復(fù)寫入資料,而造成資料錯誤的情況產(chǎn)生;另外,利用分批寫入資料與暫時關(guān)閉中斷要求的方法,來達(dá)成提高同時用來儲存資料與程序的非揮發(fā)性存儲器的存取效率。
為對本發(fā)明的特征、功效有進(jìn)一步了解,茲列舉具體實(shí)施例并結(jié)合附圖詳細(xì)說明如下
圖1是本發(fā)明一較佳實(shí)施例的系統(tǒng)架構(gòu)示意圖。
圖2a是本發(fā)明一較佳實(shí)施例的讀取及寫入數(shù)據(jù)流程圖。
圖2b是本發(fā)明一較佳實(shí)施例的修改資料寫入流程圖。
圖3是本發(fā)明一較佳實(shí)施例的寫入示意圖。
圖4是本發(fā)明一較佳實(shí)施例的資料抹除流程圖。
具體實(shí)施例方式
有關(guān)本發(fā)明的較佳實(shí)施例,是以一可攜式電子裝置中的非揮發(fā)性存儲器存取系統(tǒng)來舉例說明,于本實(shí)施例中,可攜式電子裝置較佳為個人數(shù)字助理(PDA)或口袋型計算機(jī)(Pocket PC)。
圖1顯示本發(fā)明的系統(tǒng)架構(gòu)示意圖,其主要包含中央處理單元(CPU)1、存儲單元2以及非揮發(fā)性存儲裝置3,其中,中央處理單元1具有至少一緩存器11,其是用來暫存多個中斷要求(例如可暫存32個中斷要求)以及一中斷要求控制旗標(biāo)111,非揮發(fā)性存儲裝置3至少被分為第一區(qū)域31及第二區(qū)域32,第一區(qū)域31用以儲存可攜式電子裝置的操作系統(tǒng)的執(zhí)行程序代碼,第二區(qū)域32用以作為儲存媒體,使儲存一般的數(shù)據(jù)文件。當(dāng)然,非揮發(fā)性存儲裝置3更可包含第三區(qū)域,以用來儲存系統(tǒng)開機(jī)程序或測試程序。
于本實(shí)施例中,非揮發(fā)性存儲裝置3為一種具有在讀取與寫入時以字節(jié)為基本處理單位,且在進(jìn)行抹除(Erase)時以區(qū)塊為基本處理單位的特性,非揮發(fā)性存儲裝置3較佳為或非型(NOR Type)閃存,存儲單元2較佳為隨機(jī)存取存儲器(RAM)。上述的中央處理單元1是藉由存儲單元2來存非揮發(fā)性存儲裝置3的第二區(qū)域32中的資料,下述將說明中央處理單元1存取第二區(qū)域32的資料的動作流程圖。
請一并參照圖1、圖2a與圖3顯示的流程圖以及示意圖。首先,在非揮發(fā)性存儲裝置3的第二區(qū)域32作為儲存媒體之前(例如PDA第一次開機(jī)時),必須先對第二區(qū)域32進(jìn)行格式化處理(步驟S201),使供在第二區(qū)域32形成多個儲存區(qū)塊,其中,每一儲存區(qū)塊皆具有多個頁次(Page),且該第二區(qū)域32再規(guī)劃多個存取區(qū)塊321以及多個備援區(qū)塊(Buffer Blocks)323,該等存取區(qū)塊321與該等備援區(qū)塊323的區(qū)塊數(shù)量比較佳地為二比一,于本實(shí)施例中,該等頁次的數(shù)目較佳為四個(如圖3所示編號為3211,3212,3213,3214),當(dāng)然每一頁次是由多個字節(jié)331組成,使供中央處理單元1讀取或?qū)懭氲诙^(qū)域32的資料時,是以頁次作為基本存取單位。
完成格式化之后,中央處理單元1便可對第二區(qū)域32進(jìn)行資料存取。中央處理單元1在存取第二區(qū)域32之前會先判斷目前所進(jìn)行的動作為何,若為讀取動作,則中央處理單元1將其緩存器11的中斷要求控制旗標(biāo)111設(shè)定為高位準(zhǔn)狀態(tài),以開啟中斷要求動作,亦即其它裝置可向中央處理單元1發(fā)出中斷要求(步驟S202),繼而,中央處理單元1開始對第二區(qū)域32中的該等存取區(qū)塊321或備援區(qū)塊323進(jìn)行資料讀取(步驟S203)。
若為寫入動作,則中央處理單元1將待寫入資料暫時寫入存儲單元2所包含的多個存取區(qū)段(Sections)21的其中至少一區(qū)段,以將待寫入資料寫入第二區(qū)域32(步驟204)。于本實(shí)施例中,寫入資料的方式是依序地寫入資料于第二區(qū)域32,亦即每次寫入資料的起始頁次是接續(xù)前次寫入數(shù)據(jù)完成后的頁次,例如前次寫入數(shù)據(jù)至存取區(qū)321的頁次3211及3212,則下次寫入數(shù)據(jù)時,便由存取塊321的頁次3213開始寫入數(shù)據(jù)。除此之外,當(dāng)?shù)诙^(qū)域32的最后一個頁次(備援區(qū)塊323中的頁次)數(shù)據(jù)寫入完成時,則再由第二區(qū)域32的第一個頁次(存取區(qū)塊321的頁次3211)繼續(xù)寫入數(shù)據(jù)。有關(guān)資料寫入的方式將于下述說明。
在寫入資料前,中央處理單元1會先判斷是否為建立寫入新資料,若否則為修改資料動作,有關(guān)其動作,容后說明。若為建立寫入新資料,則再判斷欲寫入的目標(biāo)頁次是否有資料存在,若該頁次已有資料,則表示資料量已超過第二區(qū)域32的存儲器容量,停止寫入動作并警示使用者(步驟209)。
若該頁次并無資料存在,則中央處理單元1將其緩存器11的中斷要求控制旗標(biāo)111設(shè)定為低位狀態(tài),以關(guān)閉所有的中斷要求動作,亦即此時中央處理單元1不受理其它裝置的中斷要求(步驟S205),并開始將存儲單元2中的資料寫入第二區(qū)域32。
由于寫入非揮發(fā)性存儲裝置3的速度比較慢,且又暫時關(guān)閉中央處理單元1的中斷要求,因此若一次將所有資料寫入非揮發(fā)性存儲裝置3將使得整個系統(tǒng)資源降低,故中央處理單元1每次寫入資料于非揮發(fā)性存儲器3是以存儲單元中的至少一區(qū)段21為主,來分批寫入資料于第二區(qū)域32的目標(biāo)頁次,其中,存儲單元2的每一區(qū)段21的大小等于該等區(qū)塊中的每一頁次大小。
若該次寫入資料動作為該第二區(qū)域32格式化后第一次寫入資料,則當(dāng)然是由第一個頁次3211開始依序?qū)懭?,中央處理單?并在寫入完成后,對該頁次予以注記為“使用中(using)”(步驟S206)。
接著,中央處理單元1判斷待寫入資料是否已寫入完成,若待寫入資料已寫入完成,則結(jié)束此次寫入動作。若尚有多筆資料尚未寫入,則中央處理單元1打開中斷要求(將中斷要求控制旗標(biāo)111設(shè)定為高位狀態(tài))(步驟S207),以接收其它裝置的中斷要求,若其它裝置并無請求中斷要求,則中央處理單元1繼續(xù)寫入下一筆資料(步驟S208),并繼續(xù)重復(fù)執(zhí)行步驟S205、步驟S206、步驟S207以及步驟S208,直到資料寫入完成。
有時候使用者會在讀取資料后,修改其所讀取的資料,此時則發(fā)生資料修改的情形,有關(guān)中央處理單元1修改資料的詳細(xì)說明,敬請一并參照圖1、圖2b及圖3顯示的流程圖及示意圖,中央處理單元1將待寫入資料寫入存儲單元2后,是先判斷待寫入目標(biāo)頁次是否有資料存在,其中,在此所指的待寫入目標(biāo)頁次是接續(xù)前次寫入資料動作的頁次,以避免資料錯誤的情形產(chǎn)生,亦即,欲修改的資料并沒有直接寫入其原本的地址,而是將待修改的資料依上述寫入資料方式寫入。
若待寫入目標(biāo)頁次已有資料存在,則停止寫入動作并警示使用者存儲器空間不足(步驟S214)。若待寫入目標(biāo)頁次無資料存在,則中央處理單元1關(guān)閉其中斷要求(步驟S210),以開始寫入資料于目標(biāo)頁次,中央處理單元1在寫入資料于該目標(biāo)頁次完成時,并對該目標(biāo)頁次注記為“使用中”,且對原本舊數(shù)據(jù)存放的頁次注記為“不使用(nouse)”(步驟S211)。
之后,中央處理單元1判斷修改的資料是否已全部寫入完成,若已全部寫入完成,則完成此次修改資料動作。若尚有其它修改資料尚未寫入第二區(qū)域32,則中央處理單元1打開中斷要求,以服務(wù)其它發(fā)出中斷要求的裝置,繼而開始進(jìn)行寫入下一筆資料于下一個目標(biāo)頁次(步驟S213),并繼續(xù)重復(fù)執(zhí)行步驟S210、步驟S211、步驟S212以及步驟S213,直到修改資料寫入完成。
當(dāng)待寫入資料開始寫入第二區(qū)域的備援區(qū)塊323,亦即存取區(qū)塊321的最后一個頁次被寫入資料,而寫入動作必須進(jìn)入備援區(qū)塊323時,將觸發(fā)一區(qū)塊回收動作(即開始進(jìn)行抹除動作),使供回收儲存區(qū)塊,以使得第二區(qū)域32的空間能有效利用。
有關(guān)儲存區(qū)塊的循環(huán)使用機(jī)制,敬請一并參照圖1、圖3及圖4顯示的示意圖及流程圖,由于非揮發(fā)性存儲裝置3是或非型閃存,故其進(jìn)行抹除動作時是以一個區(qū)塊為單位,然而,在該等存取區(qū)塊321或該等備援區(qū)塊323中,其部分頁次有可能注記為“使用中”,其它頁次則可能注記為“不使用”,因此若貿(mào)然對注記為“使用中”的頁次予以抹除,則將會產(chǎn)生資料錯誤的情形。所以,若要有效地回收該等存取區(qū)塊321及該等備援區(qū)塊323且不發(fā)生資料錯誤的情形下,則必須執(zhí)行下述循環(huán)使用存取空間方法的步驟。
在進(jìn)行區(qū)塊抹除動作前,是先讀取該第二區(qū)域32的第一個儲存區(qū)塊中的頁次狀態(tài),亦即讀取第一個存取區(qū)塊321中每一頁次3211,3212,3213,3214的注記,若讀取到的頁次3211是注記為“使用中”,則將該頁次3211中的數(shù)據(jù)先寫入存儲單元2,以通過存儲單元2來將注記為“使用中”的頁次的數(shù)據(jù)搬移至其它無數(shù)據(jù)的頁次(步驟S401)。
接著,將該筆資料依序地(接續(xù))寫入上次寫入動作完成后接續(xù)的頁次中,其寫入方式與上述修改資料方式相類似,是重復(fù)執(zhí)行步驟S402、步驟S403、步驟S404以及步驟S405或步驟S406。若暫時寫入存儲單元2中的數(shù)據(jù)皆寫入至其它頁次時,亦即該存取區(qū)塊321中的每一頁次皆注記為“不使用”,則開始對該存取區(qū)塊321進(jìn)行抹除動作,并在抹除完成后對其每一頁次注記為“空的(free)”(步驟407)。
繼而,進(jìn)行下一個存取區(qū)塊322回收處理,直到最后一個儲存區(qū)塊(最后一個備援區(qū)塊323)皆被回收處理(步驟408)。因此,所有寫入于第二區(qū)域32的資料將被重新緊密地排在一起,而有效地回收該等多余的空間(即注記為“不使用”的該等頁次)。
由于抹除非揮發(fā)性存儲裝置3區(qū)塊中的資料需要比較長的時間,因此,中央處理單元1在進(jìn)行區(qū)塊抹除動作時是通過背景抹除方式來進(jìn)行,亦即中央處理單元1在處理其它運(yùn)算或處理其它動作時(包括對非揮發(fā)性存儲器第二區(qū)域進(jìn)行資料讀寫),同時對該區(qū)塊進(jìn)行抹除,以提高本系統(tǒng)的效能且能有效地回收該等儲存區(qū)塊。
上述頁次的注記可在存儲單元2中建立一注記表4,其是包含多個字段41,以用來注記不使用、使用中或空的,當(dāng)然,亦可直接在非揮發(fā)性存儲器中注記。且判斷頁次內(nèi)是否有資料存在,可藉助注記內(nèi)容判斷的。
上述實(shí)施例僅是為了方便說明而舉例而已,本發(fā)明所主張的權(quán)利范圍自應(yīng)以申請專利范圍所述為準(zhǔn),而非僅限于上述實(shí)施例。
權(quán)利要求
1.一種非揮發(fā)性存儲器存取系統(tǒng),是架構(gòu)于一可攜式電子裝置中,其特征是包括一非揮發(fā)性存儲裝置,其是以字節(jié)為基本處理單位來進(jìn)行讀取與寫入,并以區(qū)塊為基本處理單位來進(jìn)行抹除,其包括一第一區(qū)域與一第二區(qū)域,該第一區(qū)域用以儲存程序代碼,該第二區(qū)域用以存取資料,該第二區(qū)域是經(jīng)由一格式化處理,以使每一區(qū)塊形成具有多個頁次,每一頁次具有至少一字節(jié),且對該等頁次注記有一第一注記、一第二注記及一第三注記的其中一種注記,使供通過該等頁次及其注記存取該第二區(qū)域的資料;一存儲單元;以及一中央處理單元,其是通過該存儲單元讀寫該等頁次,并在寫入數(shù)據(jù)于該等頁次后對其注記該第一注記,其中,當(dāng)該中央處理單元抹除一區(qū)塊時,是將該區(qū)塊中頁次注記為該第一注記的數(shù)據(jù),先寫入該存儲單元中,使供通過該存儲單元寫入其它無數(shù)據(jù)的頁次,并在寫入完成后,對該寫入的每一頁次注記該第一注記,且對該原本注記為該第一注記的至少一頁次更改注記為該第二注記,使當(dāng)該區(qū)塊中所有頁次皆注記為該第二注記時,則抹除該區(qū)塊,并將該抹除后區(qū)塊的頁次注記變更為第三注記,以達(dá)成一區(qū)塊回收機(jī)制。
2.根據(jù)權(quán)利要求1所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是當(dāng)該中央處理單元進(jìn)行該第二區(qū)域的抹除時,是由該等區(qū)塊的第一個區(qū)塊進(jìn)行抹除,并依序抹除下一個區(qū)塊,直到抹除完最后一個區(qū)塊為止。
3.根據(jù)權(quán)利要求1所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是該非揮發(fā)性存儲裝置的第二區(qū)域是規(guī)劃包含一般存取區(qū)及備援區(qū)。
4.根據(jù)權(quán)利要求3所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是當(dāng)該中央處理單元寫入資料于該等備援區(qū)的頁次時,則觸發(fā)抹除動作。
5.根據(jù)權(quán)利要求3所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是該中央處理單元寫入資料方式,是由該等區(qū)塊的第一個區(qū)塊第一個頁次依序接續(xù)寫入,當(dāng)寫至最后一個區(qū)塊最后一個頁次后,則再接續(xù)寫入第一個區(qū)塊第一個頁次。
6.根據(jù)權(quán)利要求5所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是該中央處理單元每次寫入資料時是先判斷于預(yù)寫入的目標(biāo)頁次內(nèi)容,若該頁次已有資料,則該中央處理單元發(fā)出存儲器空間不足的警示訊息。
7.根據(jù)權(quán)利要求6所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是該中央處理單元是藉由該目標(biāo)頁次的注記來進(jìn)行判斷,若該注記非為第三注記,則發(fā)出該警示訊息。
8.根據(jù)權(quán)利要求3所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是該一般存取區(qū)的區(qū)塊與該備援區(qū)的區(qū)塊的數(shù)量是二比一。
9.根據(jù)權(quán)利要求1所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是該中央處理單元是以背景抹除方式進(jìn)行抹除。
10.根據(jù)權(quán)利要求1所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是該中央處理單元是經(jīng)由至少一次分批并依序地寫入資料,且在寫入資料時該中央處理單元關(guān)閉其中斷要求,寫入資料完成后打開其中斷要求。
11.根據(jù)權(quán)利要求1所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是當(dāng)該中央處理單元寫入一修改資料于一頁次時,該中央處理單元將該修改資料接續(xù)寫入于其它無數(shù)據(jù)的頁次,并在寫入完成后,對該寫入的頁次注記該第一注記,且對該修改數(shù)據(jù)的原本頁次注記該第二注記。
12.根據(jù)權(quán)利要求1所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是該中央處理單元具有一緩存器,且該緩存器具有一控制旗標(biāo),以通過該控制旗標(biāo)開啟中斷要求或關(guān)閉中斷要求。
13.根據(jù)權(quán)利要求1所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是該可攜式電子裝置是個人數(shù)字助理。
14.根據(jù)權(quán)利要求1所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是該可攜式電子裝置是口袋型計算機(jī)。
15.根據(jù)權(quán)利要求1所述的非揮發(fā)性存儲器存取系統(tǒng),其特征是該非揮發(fā)性存儲裝置是或非型閃存。
16.一種非揮發(fā)性存儲器的循環(huán)使用存取空間方法,是配合一具有在讀取與寫入動作時以字節(jié)作為基本處理單位,且在進(jìn)行抹除動作時以區(qū)塊為基本處理單位的特性的非揮發(fā)性存儲裝置,該非揮發(fā)性存儲裝置包括一第一區(qū)域與一第二區(qū)域,該第一區(qū)域用以儲存程序代碼,該第二區(qū)域用以存取資料,該第二區(qū)域是經(jīng)格式化而使每一個區(qū)塊皆具有多個頁次,且每一頁次具有至少一字節(jié),其中,該等頁次是注記有一第一注記、一第二注記及一第三注記的其中一種注記,使供通過該等頁次及其注記存取該第二區(qū)域的資料,該方法主要包括下述步驟一讀取注記步驟,是讀取一區(qū)塊的一頁次的注記;一數(shù)據(jù)搬移步驟,若讀取的頁次注記為該第一注記,則將該頁次的數(shù)據(jù)寫入其它無數(shù)據(jù)的頁次,并在寫入數(shù)據(jù)后對該寫入的頁次注記該第一注記,且對該原本的頁次注記為該第二注記;以及一抹除區(qū)塊步驟,若該區(qū)塊的每一頁次皆注記為該第二注記,則對該區(qū)塊進(jìn)行抹除,并對其頁次注記該第三注記,繼而重復(fù)執(zhí)行該讀取注記步驟、該資料搬移步驟及該抹除區(qū)塊步驟,直到該第二區(qū)域的該等區(qū)塊皆抹除完成。
17.根據(jù)權(quán)利要求16所述的循環(huán)使用存取空間方法,其特征是該第二區(qū)域的該等區(qū)塊是規(guī)劃為一般存取區(qū)與備援區(qū)。
18.根據(jù)權(quán)利要求16所述的循環(huán)使用存取空間方法,其特征是該一般存取區(qū)與該備援區(qū)的區(qū)塊的數(shù)量是二比一。
19.根據(jù)權(quán)利要求16所述的循環(huán)使用存取空間方法,其特征是于該抹除區(qū)塊步驟中,是以背景抹除方式進(jìn)行抹除。
20.根據(jù)權(quán)利要求16所述的循環(huán)使用存取空間方法,其特征是于該資料搬移步驟中,是接續(xù)上一次寫入完成的頁次開始寫入資料,并在資料寫入時關(guān)閉中斷要求,資料寫入完成后打開中斷要求。
21.根據(jù)權(quán)利要求16所述的循環(huán)使用存取空間方法,其特征是于該資料搬移步驟中,當(dāng)寫入數(shù)據(jù)于一儲存區(qū)塊的頁次時,若該儲存區(qū)塊的頁次已有資料,則代表該第二區(qū)域空間不足。
22.根據(jù)權(quán)利要求16所述的循環(huán)使用存取空間方法,其特征是其是由該第二區(qū)域的第一個區(qū)塊開始進(jìn)行該讀取注記步驟、該資料搬移步驟以及該抹除區(qū)塊步驟,直到該第二區(qū)域的最末區(qū)塊完成該抹除區(qū)塊步驟為止。
23.根據(jù)權(quán)利要求16所述的循環(huán)使用存取空間方法,其特征是該非揮發(fā)性存儲裝置是或非型閃存。
全文摘要
本發(fā)明是有關(guān)于一種非揮發(fā)性存儲器存取系統(tǒng)及其循環(huán)使用存取空間方法,其主要將非揮發(fā)性存儲裝置區(qū)分為第一區(qū)域與第二區(qū)域,第一區(qū)域用以儲存程序代碼,第二區(qū)域用以儲存數(shù)據(jù)文件,其中,第二區(qū)域經(jīng)過格式化處理,以形成多個存取區(qū)塊與備援區(qū)塊,且每一存取區(qū)塊與每一備援區(qū)塊皆具有多個頁次,使供以頁次作為存取的基本單位,當(dāng)寫入資料于備援區(qū)塊時,則觸發(fā)一區(qū)塊回收機(jī)制,使供通過抹除區(qū)塊來回收不使用的空間。
文檔編號G11C16/10GK1485860SQ0315318
公開日2004年3月31日 申請日期2003年8月8日 優(yōu)先權(quán)日2003年8月8日
發(fā)明者張志遠(yuǎn), 吳孟璁 申請人:倚天資訊股份有限公司