亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

存儲器裝置的資料存取方法以及存儲器裝置的制作方法

文檔序號:6469387閱讀:151來源:國知局
專利名稱:存儲器裝置的資料存取方法以及存儲器裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明是有關(guān)于一種存儲器裝置的資料存取方法,特別是有關(guān)于一種可增加存儲
器裝置存取效能的資料存取方法。
背景技術(shù)
—般而言,存儲器裝置例如存儲卡或USB閃存盤包括一控制單元以及一閃存,其 中閃存用以儲存資料。閃存應(yīng)用于嵌入式電子系統(tǒng)、個人數(shù)字助理(PDA)、可攜式電腦、數(shù)碼 音頻播放器、數(shù)碼相機與移動電話中。閃存為一種可以被電抹除并且重新寫入的非易失性 存儲器,并且主要是應(yīng)用在存儲卡與USB閃存盤,借以作為一般的儲存與電腦裝置以及數(shù) 字產(chǎn)品之間的資料的傳送。 閃存包括多個存儲區(qū)塊,并且每一存儲區(qū)塊具有多個用以儲存資料的儲存頁面。 閃存的特性為以存儲區(qū)塊為單元進行抹除,而以儲存頁面為單位進行寫入。此外,資料僅可 以被寫入至未儲存資料的儲存頁面或已抹除的儲存頁面。因此,當(dāng)有資料欲寫入至閃存的 一存儲區(qū)塊的一特定儲存頁面中時,必須要先抹除特定儲存頁面中原有的資料。當(dāng)閃存的 資料被抹除時,閃存的一存儲區(qū)塊中的所有儲存頁面都必須要被一起抹除。然而,每次執(zhí)行 完閃存的資料抹除操作時,控制單元需要一段等待時間(例如3毫秒)等待主機準(zhǔn)備完成, 才能繼續(xù)進行下一次的資料抹除操作,使得存儲器裝置的效能降低。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種存儲器裝置的資料存取方法,其中存儲器裝置包括一 資料區(qū)間以及一備用區(qū)間,且資料區(qū)域具有多個資料區(qū)塊以及備用區(qū)間具有多個備用區(qū) 塊。首先,接收來自一主機的一資料。接著,自備用區(qū)間中選擇一備用區(qū)塊。將接收的資料 寫入至備用區(qū)塊。之后,將相應(yīng)資料的一資料區(qū)塊回收至備用區(qū)間。當(dāng)存儲器裝置模組等 待接收由主機發(fā)出的一指令時,清除資料區(qū)塊。 本發(fā)明另提供一種存儲器裝置,包括一非易失性存儲器以及一控制單元。非易失 性存儲器包括一資料區(qū)間以及一備用區(qū)間,其中資料區(qū)間包括多個資料區(qū)塊,并且備用區(qū) 間包括多個備用區(qū)塊??刂茊卧邮諄碜砸恢鳈C的一資料,自備用區(qū)間中選擇一備用區(qū)塊, 將資料寫入至備用區(qū)塊,將一資料區(qū)塊回收至備用區(qū)間,并且于等待接收主機發(fā)出的一指 令時,清除資料區(qū)塊。 本發(fā)明另提供一種存儲器裝置的資料存取方法,其中存儲器裝置包括一非易失性 存儲器,非易失性存儲器具有一資料區(qū)間以及一備用區(qū)間,資料區(qū)間具有多個資料區(qū)塊且 備用區(qū)間具有多個備用區(qū)塊。方法包括下列步驟。首先,將資料寫入至一備用區(qū)塊,其中備 用區(qū)塊是由備用區(qū)間所選出。之后,將相應(yīng)資料的一資料區(qū)塊標(biāo)記,并將標(biāo)記的資料區(qū)塊回 收至備用區(qū)間。于一第一時間周期,清除備用區(qū)間的至少一標(biāo)記的資料區(qū)塊,其中存儲器裝 置是于第一時間周期中等待接收一指令。 本發(fā)明上述方法可以透過程序碼方式收錄于實體媒體中。當(dāng)程序碼被機器載入且執(zhí)行時,機器變成用以實行本發(fā)明的裝置。


為讓本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,以下結(jié)合附圖對本發(fā)明的具 體實施方式作詳細(xì)說明,其中 圖1顯示一依據(jù)本發(fā)明實施例的電腦系統(tǒng)的示意圖。
圖2顯示一依據(jù)本發(fā)明實施例的閃存示意圖。 圖3顯示一依據(jù)本發(fā)明一實施例的應(yīng)用于一存儲器裝置的資料存取方法的流程 圖4顯示一依據(jù)本發(fā)明另一實施例的應(yīng)用于一存儲器裝置的資料存取方法的沒



















圖5A-5D顯示依據(jù)本發(fā)明實施例的資料存取方法的示意圖, 主要元件符號說明
10 -電腦系統(tǒng);
100 存儲器裝置;
110 控制單元;
120 閃存;
122 資料區(qū)間;
124 備用區(qū)間;
DB1--DBM 資料區(qū)塊
SB1--SBN 備用區(qū)塊
130 連接接口;
140 主機;
200 閃存;
210 資料區(qū)間;
220 備用區(qū)間;
S310-S360 執(zhí)行步驟; S410-S480 執(zhí)行步驟;
500 閃存;
530 、540 標(biāo)記區(qū)塊; M 標(biāo)記。
具體實施例方式
圖l顯示一依據(jù)本發(fā)明實施例的電腦系統(tǒng)的示意圖。如圖1所示,電腦系統(tǒng)10包 括至少一存儲器裝置100以及一主機140,其中存儲器裝置100是通過一連接接口 130接收 主機140送出的指令或資料,或通過連接接口 130傳送資料或訊息至主機140。存儲器裝置 100中至少包括了一控制單元110以及一非易失性存儲器單元例如閃存120。舉例來說,非 易失性存儲器單元可為一非易失性的NAND型閃存,但不限于此。閃存120具有一資料區(qū)間 122以及一備用區(qū)間124。資料區(qū)間122包含M個存有資料的資料區(qū)塊DB1 DBM,而備用區(qū)124包含N個備用區(qū)塊SB1 SBN,其中M、N是大于零的整數(shù),且M與N可為相同或不相 同的數(shù)值且備用區(qū)塊SB1 SBN可以直接被寫入,而存有資料的資料區(qū)塊DB1 DBM只有 于清除之后方能再覆寫。 圖2顯示一依據(jù)本發(fā)明的閃存實施例。如圖2所示,閃存200具有一資料區(qū)間210 以及一備用區(qū)間220,其中資料區(qū)間210包含5個存有資料的資料區(qū)塊DB1 DB5,而備用 區(qū)間220包含4個備用區(qū)塊SB1 SB4。如圖所示,位于備用區(qū)間220的最頂端的備用區(qū)塊 (亦即SB1)稱為頂端備用區(qū)塊,而位于最尾端備用區(qū)塊(亦即SB4)下方的區(qū)域則稱為備用 區(qū)間的尾端。于本實施例中,自備用區(qū)間中選擇備用區(qū)塊的步驟是選擇備用區(qū)間的一頂端 備用區(qū)塊,而將資料區(qū)塊回收至備用區(qū)間的步驟是將資料區(qū)塊回收至備用區(qū)間的尾端。當(dāng) 資料區(qū)塊被清除后,清除后的資料區(qū)塊將會被重新設(shè)為一備用區(qū)塊,以當(dāng)作新的備用區(qū)塊 使用。 控制單元IIO可執(zhí)行一電腦程序或固件,用以執(zhí)行一資料存取方法并控制閃存 120的資料存取以增加存儲器裝置100的存取效能??刂茊卧?10可接收來自主機140的 一資料,接著自備用區(qū)間124中選擇(pop) —備用區(qū)塊,將資料寫入(program)至選取到 的備用區(qū)塊,之后,將一資料區(qū)塊回收(push)至備用區(qū)間124,并且于等待接收主機140發(fā) 出的一特定指令時,清除(erase)回收至備用區(qū)間124資料區(qū)塊的內(nèi)容。請注意,主機140 可能傳送一存取存儲器裝置相關(guān)指令例如讀取或?qū)懭腴W存120的指令,以及一非存取閃存 120相關(guān)指令例如一第一指令Test—unit—ready指令、讀取容量指令(read c即acity)或讀 取格式化容量(read format capacity)指令等等至存儲器裝置100。舉例來說,第一指令 Test-unit ready是主機140用以測試存儲器裝置100是否仍存在于電腦系統(tǒng)10中,通常 主機140在傳送待寫入資料后的一段時間內(nèi),將接著發(fā)送Test-皿itready指令以測試存儲 器裝置100。這些指令是用以檢查存儲器裝置是否準(zhǔn)備完成或目前狀態(tài)為何,并不會涉及對 閃存的寫入。于本實施例中,特定指令為非存取/讀寫閃存120的相關(guān)指令。
圖3顯示一依據(jù)本發(fā)明實施例的存儲器裝置的資料存取方法的流程圖,此資料存 取方法可儲存于一電腦程序并且由如圖1所示的存儲器裝置100的控制單元110所執(zhí)行。
首先,當(dāng)主機140欲寫入資料至閃存120時,主機140將欲寫入資料透過一存取存 儲器裝置相關(guān)指令傳送至存儲器裝置120。 于步驟S310,存儲器裝置100的控制單元110于是接收到來自主機140的資料。
接著于步驟S320,控制單元110執(zhí)行一寫入程序,自備用區(qū)間124中選擇一備用區(qū) 塊,以便將由主機140接收到的新資料寫入閃存120。其中,自備用區(qū)間124中選擇備用區(qū) 塊的步驟是選擇備用區(qū)間124的一頂端備用區(qū)塊。舉例來說,控制單元110是于備用區(qū)間 124中選擇位于序列頂端的頂端備用區(qū)塊SB1作為寫入(或儲存)資料的備用區(qū)塊。
于步驟S330,控制單元IIO將接收的資料寫入至選取到的備用區(qū)塊。于此步驟中, 控制單元110會將來自主機且相應(yīng)于第一資料區(qū)塊的資料寫入所選擇的備用區(qū)塊中。
于步驟S340,控制單元110將相應(yīng)資料的第一資料區(qū)塊回收(push)至備用區(qū)間。 舉例來說,將資料區(qū)塊回收至備用區(qū)間的步驟是將資料區(qū)塊回收至備用區(qū)間124的序列尾
丄山順。 于步驟S350,當(dāng)存儲器裝置IOO正在等待接收由主機140發(fā)出的一特定指令時,執(zhí) 行清除資料區(qū)塊的操作,清除被回收的資料區(qū)塊里的內(nèi)容。于此步驟中,控制單元110將備用區(qū)間中一已使用區(qū)塊清除,并且當(dāng)該資料區(qū)塊被清除后,將清除后的該資料區(qū)塊重新設(shè) 為一備用區(qū)塊。 接著,于步驟S360,當(dāng)接收到主機140發(fā)出的特定指令時,回復(fù)相應(yīng)指令的一確認(rèn) 信號至主機140,用以通知主機140存儲器裝置100仍然存在。舉例來說,如果主機發(fā)出的 指令為一檢查指令時,則控制單元110將回復(fù)主機一相應(yīng)檢查指令的確認(rèn)信號,用以告知 主機140,存儲器裝置100仍然存在。 由于本發(fā)明是利用控制單元110于等待主機140送出的特定指令時,再來執(zhí)行清
除備用空間里尚未清除的區(qū)塊,可以省去一段等待時間,進而增加閃存的寫入效能。 于另一實施例中,備用區(qū)間中可包括一個以上的待清除資料區(qū)塊,依據(jù)本發(fā)明的
資料存取方法,可于等待主機送出特定的命令的第一周期間,同時清除多個待清除資料區(qū)塊。 圖4顯示另一依據(jù)本發(fā)明實施例的應(yīng)用于一電腦系統(tǒng)的資料存取方法的流程圖, 此資料存取方法可儲存于一電腦程序并且由如圖1所示的存儲器裝置100的控制單元110 所執(zhí)行。 類似地,于步驟S410,當(dāng)主機140欲寫入資料至閃存120時,主機140透過一讀 寫存儲器裝置相關(guān)指令將欲寫入資料傳送至存儲器裝置,于是存儲器裝置100的控制單元 110接收到主機140傳送的一資料。 接著于步驟S420,執(zhí)行一寫入程序,自備用區(qū)間中選擇一備用區(qū)塊,以便將由主機 140接收到的新資料寫入閃存120。舉例來說,自備用區(qū)間中選擇備用區(qū)塊的步驟是選擇備 用區(qū)間的一頂端備用區(qū)塊,但不限于此。 于步驟S430,將接收的資料寫入至選取到的備用區(qū)塊。接著,于步驟S440,將相應(yīng) 資料的一資料區(qū)塊標(biāo)記,并將標(biāo)記后的區(qū)塊回收至備用區(qū)間。舉例來說,將資料區(qū)塊回收至 備用區(qū)間的步驟是將資料區(qū)塊回收至備用區(qū)間的序列尾端。 于步驟S440中,控制單元110會將來自主機140且相應(yīng)于一第一資料區(qū)塊的資料 寫入所選擇的備用區(qū)塊中,并將所選擇的備用區(qū)塊的實體地址鏈結(jié)至與第一區(qū)塊相關(guān)的第 一邏輯地址。 于步驟S450,存儲器裝置100等待接收由主機140發(fā)出的一特定指令,并于步驟 S460,判斷是否接收到特定的指令。請注意,當(dāng)存儲器裝置等待接收由主機發(fā)出的指令且未 接收到該指令時的這段時間稱為一等待周期。 若于步驟S460中未收到特定的指令(例如TeSt_unit_ready指令)(步驟S460 的否),便執(zhí)行步驟S470,控制單元110將從備用區(qū)間124中選擇一標(biāo)記區(qū)塊進行清除,接 著,再回到步驟S460,檢查是否收到特定的指令。若尚未收到指定的指令,便再執(zhí)行一次步 驟S470,從備用區(qū)間124中選擇另一標(biāo)記區(qū)塊進行清除,直到收到特定的指令。當(dāng)接收到主 機140發(fā)出的特定指令時(步驟S460的是),于步驟S480,控制單元110回復(fù)相應(yīng)特定指 令的一確認(rèn)信號至主機140,用以通知主機140存儲器裝置100仍然存在。
舉例來說,請參見第5A圖至第5D圖,用以輔助說明依據(jù)本發(fā)明的資料存取方法的 運作情形。 圖5A-5D顯示依據(jù)本發(fā)明實施例的資料存取方法的示意圖。如圖5A所示,閃存 500具有資料區(qū)間510以及備用區(qū)間520,其中資料區(qū)間510至少具有資料區(qū)塊DB1-DB4,而備用區(qū)間520中至少具有備用區(qū)塊SB1-SB4以及一標(biāo)記區(qū)塊530,標(biāo)記區(qū)塊530具有一標(biāo)記 M,用以表示其為待清除區(qū)塊。于本實施例中,假設(shè)資料區(qū)塊DB1、DB3以及DB4為已使用區(qū) 塊,即這些資料區(qū)塊已經(jīng)儲存有資料了。當(dāng)控制單元接收到來自主機的寫入指令且準(zhǔn)備將 資料#1寫入資料區(qū)塊DB3時,由于資料區(qū)塊DB3為已使用區(qū)塊,因此便從備用區(qū)間520中 選擇一備用區(qū)塊(例如頂端備用區(qū)塊SBl),并將資料ftl寫入至選取到的備用區(qū)塊SBl。接 著,再把原本的資料區(qū)塊DB3加上一標(biāo)記M,表示為一待清除區(qū)塊,并將標(biāo)記后的資料區(qū)塊 回收至備用區(qū)間例如回收至備用區(qū)間的尾端,亦即標(biāo)記區(qū)塊530之后,如圖5B所示的標(biāo)記 區(qū)塊540。此時,控制單元將進行資料的重整,以使得備用區(qū)塊SB 1與資料區(qū)塊DB3重新地 址映射。 資料重整完成之后,控制單元將等待接收來自主機的一特定指令。在等待接收特 定指令的第一時間周期中,控制單元將持續(xù)判斷是否已接收到特定指令,若否,則由備份區(qū) 間中選擇一標(biāo)記區(qū)塊進行清除。舉例來說,可優(yōu)先消除剛剛回收的標(biāo)記區(qū)塊,亦即置于備份 區(qū)間中較尾端的標(biāo)記區(qū)塊將先被清除,但不限于此。因此,標(biāo)記區(qū)塊540將先被清除,并且 標(biāo)記區(qū)塊540被清除后將被設(shè)為一可使用的備用區(qū)塊SB,以供后續(xù)使用,如圖5C所示。當(dāng) 清除完標(biāo)記區(qū)塊540清除后,再次判斷是否已接收到特定指令。類似地,若發(fā)現(xiàn)尚未接收到 特定指令,則由備份區(qū)間中再選擇另一標(biāo)記區(qū)塊進行清除。因此,標(biāo)記區(qū)塊530將被清除, 并且標(biāo)記區(qū)塊530被清除后將被設(shè)為一可使用的備用區(qū)塊SB,以供后續(xù)使用,如圖5D所示。 若發(fā)現(xiàn)已接收到特定指令,則控制單元將回復(fù)相應(yīng)特定指令的一確認(rèn)信號至主機,以繼續(xù) 后續(xù)的存取動作。 綜上所述,依據(jù)本發(fā)明實施例,存儲器裝置的區(qū)塊消除的動作可在存儲器裝置等 待接收由主機發(fā)出的特定指令且未接收到該特定指令時的等待周期中進行,可同時消除一 個或以上的標(biāo)記待清除區(qū)塊,不僅可消除剛剛回收的資料區(qū)塊,也可消除在備份區(qū)間中尚 未消除的區(qū)塊,省去個別區(qū)塊消除花費的等待時間,同時增加存儲器裝置的整體存取效能。
上述說明提供數(shù)種不同實施例或應(yīng)用本發(fā)明的不同方法。實例中的特定裝置以及 方法是用以幫助闡釋本發(fā)明的主要精神及目的,當(dāng)然本發(fā)明不限于此。 本發(fā)明的方法,或特定型態(tài)或其部份,可以以程序碼的型態(tài)包含于實體媒體,如軟 盤、光盤片、硬盤、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,其中,當(dāng)程序碼被 機器,如電腦載入且執(zhí)行時,此機器變成用以參與本發(fā)明的裝置。本發(fā)明的方法與裝置也可 以以程序碼型態(tài)透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態(tài)進行傳送,其 中,當(dāng)程序碼被機器,如電腦接收、載入且執(zhí)行時,此機器變成用以參與本發(fā)明的裝置。當(dāng)在 一般用途處理器實作時,程序碼結(jié)合處理器提供一操作類似于應(yīng)用特定邏輯電路的獨特裝 置。 雖然本發(fā)明已以較佳實施例揭示如上,然其并非用以限定本發(fā)明,任何本領(lǐng)域技 術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的修改和完善,因此本發(fā)明的保護范 圍當(dāng)以權(quán)利要求書所界定的為準(zhǔn)。
權(quán)利要求
一種存儲器裝置的資料存取方法,其中該存儲器裝置包括一資料區(qū)間以及一備用區(qū)間,該資料區(qū)域具有多個資料區(qū)塊且該備用區(qū)間具有多個備用區(qū)塊,該方法包括下列步驟接收來自一主機的一資料;自該備用區(qū)間中選擇一備用區(qū)塊;將接收的該資料寫入至選取到的該備用區(qū)塊;將相應(yīng)該資料的一資料區(qū)塊回收至該備用區(qū)間;以及當(dāng)該存儲器裝置等待接收由該主機發(fā)出的一特定指令時,清除該資料區(qū)塊。
2. 如權(quán)利要求1所述的資料存取方法,其特征在于,更包括當(dāng)該資料區(qū)塊被清除后,將清除后的該資料區(qū)塊設(shè)為一備用區(qū)塊。
3. 如權(quán)利要求1所述的資料存取方法,其特征在于,該特定指令包括一第一指令,用以測試該存儲器裝置是否存在。
4. 如權(quán)利要求1所述的資料存取方法,其特征在于,該特定指令是用以檢查該存儲器裝置是否準(zhǔn)備完成。
5. 如權(quán)利要求1所述的資料存取方法,其特征在于,該特定指令為一非存取/讀寫該存儲器裝置相關(guān)的指令。
6. —種存儲器裝置,包括一非易失性存儲器,包括一資料區(qū)間以及一備用區(qū)間,其中該資料區(qū)間包括多個資料區(qū)塊,并且該備用區(qū)間包括多個備用區(qū)塊;以及一控制單元,接收來自一主機的一資料,自該備用區(qū)間中選擇一備用區(qū)塊,將該資料寫入至選取到的該備用區(qū)塊,將一資料區(qū)塊回收至該備用區(qū)間,并且于等待接收該主機發(fā)出的一特定指令時,清除該資料區(qū)塊。
7. 如權(quán)利要求6所述的存儲器裝置,其特征在于,該控制單元更于該資料區(qū)塊被回收至該備用區(qū)間之前,將該資料區(qū)塊標(biāo)記為一待清除區(qū)塊。
8. 如權(quán)利要求6所述的存儲器裝置,其特征在于,該控制單元是選擇該備用區(qū)間的一頂端備用區(qū)塊作為該備用區(qū)塊。
9. 如權(quán)利要求6所述的存儲器裝置,其特征在于,該控制單元是將該資料區(qū)塊回收至該備用區(qū)間的尾端。
10. 如權(quán)利要求6所述的存儲器裝置,其特征在于,該特定指令包括一第一指令,用以測試該存儲器裝置是否存在。
11. 如權(quán)利要求6所述的存儲器裝置,其特征在于,該特定指令是為一非存取/讀寫該存儲器裝置相關(guān)的指令。
12. —種存儲器裝置的資料存取方法,其中該存儲器裝置包括一非易失性存儲器單元,該非易失性存儲器單元具有一資料區(qū)間以及一備用區(qū)間,該資料區(qū)間具有多個資料區(qū)塊且該備用區(qū)間具有多個備用區(qū)塊,包括下列步驟將資料寫入至一備用區(qū)塊,其中該備用區(qū)塊系由該備用區(qū)間所選出;將相應(yīng)該資料的一資料區(qū)塊標(biāo)記,并將標(biāo)記的該資料區(qū)塊回收至該備用區(qū)間;以及于一第一時間周期,清除該備用區(qū)間的至少一標(biāo)記的該資料區(qū)塊,其中該存儲器裝置是于該第一時間周期中等待接收一指令。
13.如權(quán)利要求12所述的資料存取方法,其特征在于,該特定指令為一非存取/讀寫該 存儲器裝置相關(guān)的指令。
全文摘要
本發(fā)明提供一種存儲器裝置的資料存取方法,其中存儲器裝置包括一資料區(qū)間以及一備用區(qū)間,且資料區(qū)域具有多個資料區(qū)塊以及備用區(qū)間具有多個備用區(qū)塊。首先,接收來自一主機的一資料。接著,自備用區(qū)間中選擇一備用區(qū)塊,并將接收的資料寫入至備用區(qū)塊。之后,將相應(yīng)資料的一資料區(qū)塊回收至備用區(qū)間。當(dāng)存儲器裝置等待接收由主機發(fā)出的一特定指令時,清除資料區(qū)塊。
文檔編號G06F12/02GK101739219SQ200810202238
公開日2010年6月16日 申請日期2008年11月5日 優(yōu)先權(quán)日2008年11月5日
發(fā)明者郭武吉 申請人:慧國(上海)軟件科技有限公司;慧榮科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1