本發(fā)明是有關(guān)于數(shù)據(jù)寫入,且特別是有關(guān)于一種用于寫入數(shù)據(jù)至數(shù)據(jù)儲存裝置的方法及設(shè)備與儲存媒體。
背景技術(shù):
對于多種永久(persistent)儲存裝置如NAND閃存或相變化存儲器(phase-change memories,PCM),數(shù)據(jù)寫入或讀取是以存取單位而被執(zhí)行。也就是說,不同于隨機存取存儲器中數(shù)據(jù)可以逐位(bit-by-bit)地被寫入,永久儲存裝置有最小尺寸的存取單位。存取單位例如是:NAND頁(page),大小例如是2kB、4kB或8kB;主存儲器頁,大小例如是4kB;或儲存區(qū)塊,大小例如是512B。在此種永久儲存裝置中,寫入操作需以整個存取單位(如頁或區(qū)塊)同時被執(zhí)行,故而小于存取單位的一小筆數(shù)據(jù)不能單獨地被寫入至永久儲存裝置。
在許多應(yīng)用中,永久儲存裝置是伴隨著暫時儲存裝置而被使用,暫時儲存裝置也可稱為快速裝置,如靜態(tài)隨機存取存儲器(static random-access memory,SRAM)。儲存于永久儲存裝置的數(shù)據(jù)可被讀至?xí)簳r儲存裝置,然而在暫時儲存裝置中被處理。在處理過程中,讀入暫時儲存裝置的一部分數(shù)據(jù)可被修改,而此修改的部分可接著需要被寫回至永久儲存裝置中,以更新儲存在永久儲存裝置的數(shù)據(jù)。此一現(xiàn)象中,讀取-修改-寫入過程需被執(zhí)行,如后詳述。
如圖1A所示,數(shù)據(jù)序列102是儲存在永久儲存裝置中。數(shù)據(jù)序列102包含多個數(shù)據(jù)片段,各片段的大小等于永久儲存裝置的存取單位的大小。舉例來說,數(shù)據(jù)片段的一個(例如圖1A的數(shù)據(jù)片段104)包含三個數(shù)據(jù)條目104-1、104-2及104-3。再者,數(shù)據(jù)片段104被讀入暫時儲存裝置,且在暫時儲存裝置之中的處理過程,數(shù)據(jù)條目104-2是被修改,修改后的數(shù)據(jù)條目(也稱為”臟(dirty)數(shù)據(jù)條目”被標示為圖1A的104-2’)。修改后的數(shù)據(jù) 條目104-2’現(xiàn)在需被寫回至永久儲存裝置以更新儲存其中的數(shù)據(jù)條目104-2。如圖1B所示,數(shù)據(jù)條目104-1及104-3是從永久儲存裝置讀至?xí)簳r儲存裝置。包含數(shù)據(jù)條目104-1、104-2’、及104-3的整個數(shù)據(jù)片段104’是接著讀回永久儲存裝置,如圖1C所示。
因而,在上述的讀取-修改-寫入過程,當一筆數(shù)據(jù)需被寫回永久儲存裝置時,額外的讀取步驟是被執(zhí)行。因此,整個系統(tǒng)的效能是降低的。
技術(shù)實現(xiàn)要素:
依據(jù)本發(fā)明,提出一種方法,用于寫入數(shù)據(jù)至一永久(persistent)儲存裝置之中。該方法包括:將儲存在暫時儲存裝置的多個數(shù)據(jù)條目(data entry)組合成一個數(shù)據(jù)單位,以及寫入數(shù)據(jù)單位至永久儲存裝置。數(shù)據(jù)單位的大小等于永久儲存裝置的存取單位。
另依據(jù)本發(fā)明,提出一種設(shè)備,包括:永久儲存裝置,配置以儲存數(shù)據(jù);暫時儲存裝置,配置以暫時儲存數(shù)據(jù);處理器;以及非瞬時計算機可讀取儲存媒體,儲存多個指令。此些指令在被處理器執(zhí)行時使得處理器將儲存在暫時儲存裝置的多個數(shù)據(jù)條目組合成一個數(shù)據(jù)單位,并寫入數(shù)據(jù)單位至永久儲存裝置。數(shù)據(jù)單位的大小等于永久儲存裝置的存取單位。
另依據(jù)本發(fā)明,提出一種非瞬時計算機可讀取儲存媒體,儲存多個指令,此些指令在被處理器執(zhí)行時使得處理器將儲存在暫時儲存裝置的多個數(shù)據(jù)條目組合成一個數(shù)據(jù)單位,并寫入數(shù)據(jù)單位至永久儲存裝置。數(shù)據(jù)單位的大小等于永久儲存裝置的存取單位。
依照本發(fā)明的特征與優(yōu)點將部分地被闡述在下面的說明書中,并且部分從說明書來看是顯而易見的,或可以通過本發(fā)明的實踐而得知。這些特征和優(yōu)點可通過所附權(quán)利要求范圍特別指明的元件與結(jié)合的方式而被實現(xiàn)與取得。
應(yīng)當理解的是,前述的廣義描述和以下的詳細描述都只是示例和說明性的,并不限制如所請求保護的本發(fā)明。
包含在說明書中并構(gòu)成本說明書的一部分的所附圖式,闡示出了本發(fā)明的幾個實施例,并且與本說明書一起用于解釋本發(fā)明的原理。
為了對本發(fā)明的上述及其他方面有更佳的了解,下文特舉較佳實施例, 并配合所附圖式,作詳細說明如下:
附圖說明
圖1A-圖1C繪示依照傳統(tǒng)技術(shù)的數(shù)據(jù)寫入方法的示意圖。
圖2繪示依照一實施范例的設(shè)備的示意圖。
圖3繪示依照一實施范例的數(shù)據(jù)寫入方法的示意圖。
【符號說明】
102:數(shù)據(jù)序列
104、104’:數(shù)據(jù)片段
104-1、104-2、104-2’、104-3:數(shù)據(jù)條目
200:設(shè)備
202:永久儲存裝置
204:暫時儲存裝置
206:處理器
208:非瞬時計算機可讀取儲存媒體
302:連續(xù)儲存空間
304:存取單位
306:儲存單位
308-1、308-2、308-3:數(shù)據(jù)條目
310:數(shù)據(jù)單位
具體實施方式
依據(jù)本發(fā)明的實施例包含用于寫入數(shù)據(jù)的方法、設(shè)備、與儲存媒體。
以下,將參照圖式說明依照本發(fā)明的實施例。若可能,相同的參考數(shù)字會在圖式中用以參照至相同或相似的部件。
圖2繪示依照本發(fā)明實施例的設(shè)備200。此設(shè)備200包含永久儲存裝置202,用以儲存數(shù)據(jù)。永久儲存裝置202可以是非易失性存儲器裝置,例如是閃存(如NAND閃存)、主存儲器、或相變化存儲器(phase-change memory,PCM)。永久儲存裝置202具有最小單位以用于讀取或?qū)懭?,此單位也稱為此處的存取單位。依據(jù)永久儲存裝置的型式,存取單位的大小可 例如為512B、2kB、4kB或8kB。
設(shè)備200也包含暫時儲存裝置204,被配置以暫時地儲存數(shù)據(jù)。暫時儲存裝置204可以是易失性存儲器裝置,例如是靜態(tài)隨機存取存儲器(static random-access memory,SRAM)、轉(zhuǎn)譯后備緩沖區(qū)(translation lookaside buffer,TLB)或快取(cache)。
設(shè)備200更包含處理器206與非瞬時計算機可讀取儲存媒體208。處理器206被配置以控制設(shè)備200的操作,例如是數(shù)據(jù)寫入至永久儲存裝置202或暫時儲存裝置204、或從永久儲存裝置202或暫時儲存裝置204讀取數(shù)據(jù)。儲存媒體208可為不同、獨立的儲存媒體。替代性地,儲存媒體208可為永久儲存裝置202的一部分或暫時儲存裝置204的一部分。儲存媒體208儲存指令,此些指令在被處理器206執(zhí)行時使得處理器執(zhí)行依據(jù)本發(fā)明實施例的方法。
依據(jù)本發(fā)明實施例的方法是參照圖3而被敘述。如圖3所示,永久儲存裝置202具有連續(xù)儲存空間302,連續(xù)儲存空間302包含多個存取單位304。各個存取單位304包含多個儲存單元(cell),此些儲存單元連續(xù)排列成胞數(shù)組。依據(jù)永久儲存裝置202的形式,存取單位304可為不同大小的頁或區(qū)塊。
對應(yīng)地,暫時儲存裝置204具有多個儲存單位306。儲存單位306可包含從永久儲存裝置202讀取的數(shù)據(jù)及儲存在暫時儲存裝置204的數(shù)據(jù)。在此設(shè)備200的操作期間,一部分的此數(shù)據(jù)可被修改。
依據(jù)本發(fā)明實施例,各個儲存單位306的大小等于存取單位304的大小,因而暫時儲存裝置204的一個儲存單位306可一次以一整個單位被寫入至永久儲存裝置202。然而,要注意的是,儲存單位306可代表在暫時儲存裝置204與永久儲存裝置202之間傳送數(shù)據(jù)時,所能管理的儲存在暫時儲存裝置204的一單位的一筆數(shù)據(jù)。這并不表示寫入數(shù)據(jù)至?xí)簳r儲存裝置204及從暫時儲存裝置204讀取數(shù)據(jù)必須以逐一儲存單位而被執(zhí)行。
如圖3所示,各儲存單位306包含可在暫時儲存裝置204中被逐個地(individually)管理的多個數(shù)據(jù)條目。為了說明,圖3所示的儲存單位306的各者具有三個數(shù)據(jù)條目。然而,依據(jù)本發(fā)明,一個儲存單位306可包含更多或更少的數(shù)據(jù)條目。在設(shè)備200的操作期間,一些或所有的數(shù)據(jù)條目 可被修改,而修改后的數(shù)據(jù)條目需接著被寫回至永久儲存裝置202。依據(jù)本發(fā)明實施例,從至少兩個不同儲存單位306的修改后的數(shù)據(jù)條目(也稱為是”臟條目”)是被收集并組合成一個數(shù)據(jù)單位,此數(shù)據(jù)單位的大小等于存取單位的大小,且此數(shù)據(jù)單位是一次以一整個單位被寫入永久儲存裝置202。
舉例來說,圖3的儲存單位306的各者具有已被修改且需被寫回至永久儲存裝置202的數(shù)據(jù)條目308-1、308-2、及308-3。依據(jù)本發(fā)明實施例,數(shù)據(jù)條目308-1、308-2、及308-3是被收集并組合成一個數(shù)據(jù)單位310,此數(shù)據(jù)單位310的大小等于永久儲存裝置202的存取單位的大小。之后,數(shù)據(jù)單位310是一次以一整個單位被寫回至永久儲存裝置202之中。依據(jù)本發(fā)明,數(shù)據(jù)單位310是被寫入永久儲存裝置202的連續(xù)儲存位置中。
依據(jù)本發(fā)明的方法可被使用于寫入任何種類的數(shù)據(jù),此數(shù)據(jù)以一單位被管理、處理或修改,此單位的大小小于永久儲存裝置(如設(shè)備200的永久儲存裝置202)的存取單位的大小。舉例來說,在計算機科技領(lǐng)域,許多不同種類的中介數(shù)據(jù)(metadata)被使用,例如是數(shù)據(jù)映像信息。此數(shù)據(jù)映像信息包含儲存在數(shù)據(jù)儲存裝置(例如是永久儲存裝置202)的數(shù)據(jù)的地址,且可被集體地(collectively)記錄在數(shù)據(jù)映像表。此數(shù)據(jù)映像信息通??梢砸粏挝?也可稱為顆粒(granule))被處理或修改,此單位小于永久儲存裝置202的存取單位的大小。
此數(shù)據(jù)映像表可儲存在永久儲存裝置202。在設(shè)備200的操作期間,一部分的數(shù)據(jù)映像表或整個數(shù)據(jù)映像表是從永久儲存裝置202讀至?xí)簳r儲存裝置204。做為一個映像架構(gòu)的例子,多階映像在現(xiàn)代計算機技藝中是普遍的機制。多階映射表包含復(fù)數(shù)階,各階具有一個或多個映像元件。在最低階(也可稱為“底階”)以外的一階的映像元件表示在低一階的另一階的數(shù)據(jù)位置的地址,而最低階的映像元件指向至儲存在永久儲存裝置202的真實數(shù)據(jù)(非中介數(shù)據(jù))的位置。
在設(shè)備200的操作期間,除了最低階外的此些階的所有映像元件、與最低階的至少一部分的映像元件可被儲存在暫時儲存裝置204中,且可被修改。修改后的映像元件接著需被寫回永久儲存裝置202,以更新永久儲存裝置202中所儲存的數(shù)據(jù)映像信息。由于大小限制,映像元件的寫入至永久儲存裝置202需以一單位被執(zhí)行,此單位的大小等于存取單位的大小。 因此,儲存在暫時儲存裝置204的映像信息也可以一單位(也稱為“映像單位”)而被管理,此單位的大小等于永久儲存裝置202的存取單位的大小。然而,由于映像元件的大小通常小于永久儲存裝置202的存取單位的大小,映像單位通常包含多個映像元件。在設(shè)備20的操作期間,映像信息可以一單位而被修改,此單位小于映像單位。此較小的單位也可被稱為映射條目。各個映射條目可包含一個或多個映像元件,但各個映像條目的大小小于映像單位。一個映像單位例如可包含三個映像條目。也就是說,在設(shè)備200的操作期間,對于一個映像單位,有時只有一些映像元件被修改且需被寫回至永久儲存裝置202。將修改后的映像元件寫回永久儲存裝置202可使用如上所述的方法而被執(zhí)行。
也就是說,包含修改后的映像元件的映像條目(如最低階的映射條目)是從映像單位被收集并組合成一個數(shù)據(jù)單位,此數(shù)據(jù)單位的大小等于永久儲存裝置202的存取單位的大小。待被組合為一個數(shù)據(jù)單位的映像條目的數(shù)量取決于多少映射條目是被包含在一個映像單位中。舉例來說,若一個映像單位包含三個映像條目,則三個映射條目(從至少兩個不同的映像單位)是被組合為一個數(shù)據(jù)單位。此數(shù)據(jù)單位接著一次以一整個單位被寫入永久儲存裝置202,例如是永久儲存裝置202的連續(xù)儲存位置中。
在上述有關(guān)管理映像訊號的范例,參照圖3所述的實施例中,映像單位與映像條目分別對應(yīng)至儲存單位及數(shù)據(jù)條目。若永久儲存裝置202為主存儲器(且對應(yīng)地暫時儲存裝置204為TLB),數(shù)據(jù)映像表例如可包含一頁表,或者,若永久儲存裝置202為閃存(且對應(yīng)地暫時儲存裝置204為控制器的SRAM),數(shù)據(jù)映像表例如可包含一映像頁。
綜上所述,雖然本發(fā)明已以較佳實施例揭露如上,然其并非用以限定本發(fā)明。本發(fā)明所屬技術(shù)領(lǐng)域中具有通常知識者,在不脫離本發(fā)明的精神和范圍內(nèi),當可作各種的更動與潤飾。因此,本發(fā)明的保護范圍當視隨附的權(quán)利要求范圍所界定的為準。