200900929 28516pif.doc 九、發明說明: 【發明所屬之技術領域】 本發明是有關於資料管理系統、方法及電腦程式產 品’以及特別是使用相變隨機存取記憶體(phase-change • rand〇m access memory, PRAM)的資料管理系統、方法及 • 電腦程式產品。 【先前技術】 ρ 近年來,可攜式數位裝置已得到廣泛應用,例如數位 攝像機(digital camera)、動晝專家群(motion picture experts group,MPEG)層 3( MP3 )播放器、行動電話(mobile phone ) 以及個人資料助理(personal data assistant,PDA)。在這 些數位裝置中,經常使用的是能夠儲存大量資料的快閃記 憶體(flash memory )。 快閃記憶體通常電力消耗低,具有非揮發性 (nonvolatile),實體上穩定、可攜帶且效能高。鑒於這 些特性,快閃記憶體被廣泛地用作可攜式數位裝置中的儲 (J 存媒體(st〇rage media)。例如,因為快閃記憶體的容量 增大,所以磁碟(disk)被快閃記憶體所取代。 然而,典型的習知快閃記憶體不像靜態隨機存取記憶 access 體(static random access memory, SRAM )、動態隨機存取 §己憶體(dynamic random access memory, DRAM)、相變 式知_機存取έ己憶體(phase-change random access memory, PRAM)、磁阻式隨機存取記憶體(magnet〇resistive rand〇m memory, MRAM )以及鐵電式隨機存取記憶體 7 Ο Ο 200900929 28516pif.doc (ferroelectric random access memory,FeRAM)之類的記憶 體那樣支援基於位元組(byte-based )的隨機存取。相反地, 快閃§己憶體通常是以頁面(page)為單位來讀取資料。 由於其實體特性,快閃記憶體通常執行寫前抹除 (emse-before-write)操作。也就是說,對快閃記憶體的一 個磁區(sector)執行寫操作之前,要先對此磁區所屬之區 塊(block)進行抹除。因此,與能夠覆寫(〇verwrite)磁 區的硬碟(hard disk)相比,快閃記憶體可能需要較長的 輸入/輸出時間。 、如果典型的習知快閃記憶體的一區塊被抹除的次數接 近大約10(),_纟,那麼此區塊上的記憶元件將會失效 (failure)的機率就會明顯增大。鑒於此特性,當快閃記 憶體的特定砸要被寫人時,典㈣記憶體控·在當前 分配的區塊巾搜尋空白區域,或分配只經歷過較少次 ,區,’亚且對空自區域或所分配的區塊執行寫操作。业 里的是,此操作是用快閃轉換層(flash t麵㈣如灯、 【TL)來控制’快閃轉換層將槽案系统⑽^㈣的邏 軏磁區位址(logicalsect〇radd職 (physical sector address) 〇 ' 體的魏通常取決於使用快_換層的樓宰 就疋U賴存轉㈣統的次 ^ 進而可降低快閃記二效= ,’’、到盾%<的次數,因此㈣記憶體的壽命會迅逮縮 8 Ο ϋ 200900929 28516pif.doc 短 檔案系統的工作負荷大體上可分 戶資料的存取以及處理播案系統之元^理檀^狀用 存取。槽㈣統之元資料_更奸(metadata)的 快閃記憶體。 ^了4致頻繁地隨機存取 然而,對於以區塊為單位來執 演算法以及快閃_,就算用戶執;==料 的變更,通常也要以區塊為單位來執行 以裝置可能會超载(—^。^要重寫的資料,所 支援基於區塊(bloek.based)來進行輪 可改為支援基純元組錢行輸績^ 案糸統 時解決上制題的權宜之計=,但這只能作為臨 做出重大改變。 讀改動可能需要槽案系統 【發明内容】 *本發明的-些實施例提供一種資料管理系統 f理系統包括資料處理器,此資料處·經配置以提二'、 =案系統模組,經配置以區塊為單位來儲存第一資料到快 I己憶體巾’以及過濾、層模組,經配置以從觀 、 =第二資料,且以子區塊(sub姚⑻為單位將第 料儲存到相變隨機存取記憶體中。過濾層模組可經 資料相比較,藉此來識別所接收== 中的差”貝料’且將識別出的差異資料寫入相變隨機存 9 200900929 28516pif.doc 取§己憶體。第二資料可包括檔案元資料(file metadata), 以及第一資料可包括檔案元資料之外的資料。子區塊單位 可以是位元組(byte)單位。 欠在本發明的另一些實施例中,一種資料管理系統包括 資料處理器’ &資料處理器經配置以提供:才當案系統模組, 經配置以區塊為單位來傳送資料;以及過濾層模組,經配 置^彳^檔案系統模組接收一塊資料,與儲存在相變隨機存 取j fe'體中的一塊資料相比較來識別所接收的這塊資料中 的變^資料,以及將識別出的變更資料儲存到相變隨機存 取兄憶體中。過濾層模組可經配置以子區塊為單位來將識 別出的變更資料儲存到相變隨機存取記憶體中。子區塊 位可以是位元組單位。 总本發明的額外實施例提供資料管理方法,在這些資料 ^方法中、i接收要寫人檔案系統中所界定之區塊的—塊 且將這塊資料與儲存在錢隨齡取記憶體中的一 Ο 相比較以朗所接收的這«料中的變更資料,然 ,更賁料儲存到相變隨機存取記憶體中。將變更資料 ㈣相變隨機存取記憶體巾可包括以子區塊為單位來將 =更貝料儲存到相變隨機存取記憶體中。子區塊單 疋位元組單位。 料管又—些實施例提供資料管理方法,在這些資 單^^ 將槽㈣統中所界定的第—資料以區塊為 存到㈣記龍巾,叹«衫統帽界定的第 貝如子區塊為單⑽存到相變隨機存取記憶體中。將 10 200900929 28516pif.doc :塊第一貧料與儲存在相變隨機存取記憶體中的―塊第三 較以識別這塊第二資料中的變更資料,並且將i 別出的父更貧料儲存在相變隨機存取記憶體中,如此—來 弟-㈣可讀存到擔_存取
=案元資料,以及第-資料可包括標案元資料之G Ο Ο 人提供—種在支援基㈣塊來進行資料輸 區塊單位的子區塊為單位來記錄 於^山月的缺點也提供一種在支援基於區塊來進行資料
HfL的裝置巾制相變_存取記憶體來以子區塊 為早=人育料而不用改域㈣統的系統及其方法。 ^本發明的觀點並不侷限於本說明書所列舉的觀 i技ΐ者:::出:t發明的詳細描述’熟悉本發明所屬 :s 士本每明的上述觀點及其他觀點更加瞭解。 發入,㈣—個觀點,提供""種在基於區塊來進行 ^統二次^置中使用相變隨機存取記憶體的資料管理 管理資料=官理系統包括:槽案系統,以區塊為單位來 資料中的第」出;快閃記憶體,以區塊為單位來寫入 位來寫入資料二第相;:f存取記憶體,以子區塊為單 收將第二音粗官貝料,以及過濾層,從檔案系統接 令,以及將第親機存取記憶體之特定區塊的命 定區塊中㈣:·與儲存在相麵齡取記㈣之此特 Α 、弟—貝料之間的差異以子區塊為單位寫入相變 200900929 28516pif.doc 隨機存取記憶_此特定區塊。 根據本發明的另一 輸入/輸出《置中使用域隨^來進行 糸統。此資料管理系統包括讀體的貪料管理 =資:的輸入/輪出;相變隨;存 取記憶體之特定區收將弟::資料寫入相變隨機存 更資料寫入相變隨機存‘::士發适以子區塊為單位將變 變隨機存取記憶體,其中令給相 ::變隨機存取記憶體之此特定區塊;的J二 根據本發明的另一翻 輸入/輸出的裝置巾#’” ”一種在基於區塊來進行 方法。此資^隨機存取記憶體的資料管理 寫入相變隨機存取吃产^胜從槽案系統接收將第一資料 料與儲存在相變产機;^特定區塊的命令;侧第一資 料之間的差里憶體之此特定區塊中的第二資 將變更資料寫入相;料;以及以子區塊為單位來 根據本發二;==體的此特定區塊。 輸入/輸出的穿置中#用/ 一種在基於區塊來進行 方法。此㈣管理方^^麵機存取記憶體的資料管理 寫入相㈣上 包從槽案系統接收將第一資料 位從相機二記:體之特定區塊的命令;以區塊為單 由比較第—次、:„此特定區塊讀取第二資料;藉 貝带與第二貧料來偵測變更資料;以及將變更 200900929 28516pif.doc 資料寫入相變隨機存取記憶體之此特定區塊中的用來存放 變更資料的子區塊。 為讓本發明之上述和其他目的、特徵和優點能更明顯 易懂,下文特舉較佳實施例,益配合所附圖式,作詳細說 ' 明如下。 【實施方式】 下面疋參知Λ所附圖式來更詳細地描述本發明,本發明 Γ) 的實施例繪示於所附圖式中。不過本發明也可繪示為許多 其他形態,而不應侷限於本說明書所列舉之實施例。確切 地說,提供這些實施例是為了使揭露的内容更加透徹更加 完整,且將本發明的範圍更充分地傳遞給熟悉此技藝者。 如本說明書中使用的術語“與/或”包括一個或多個 相關列舉項的任意及全部組合。容易理解的是,當提到一 元件或構件“連接到”與/或“耦接到,,另一元件與/或 構件時,此元件與/或構件可能直接連接與/或耦接到另一 科與/或構件,也可能存在著介人元件與/或構件。相反 U 地,當提到一元件與/或構件“直接連接到”與/或“直接 耦接到”另一元件與/或構件時,則不存在介入元件與/或 構件。 __,,還容f理解的是,雖然本說明書中可使用術語“第 、第二”等來描述各種元件與/或構件,但是這些元 構件不應被這些術語_。仙地說,使用這驗 吾只是為了便於區別—個元件與/或構件與另_元件盘/或 構件。例如,在不脫離本發明之教示的前提下,第一/元件 200900929 28516pif.doc 與/或構件也可稱為第二元件與/或構件。 非音為了描述特殊實施例’而 “:,,'二明。如本制書中使㈣單的術語 非本文中骑純魏形式,除 “包含”、“I右”、更谷易理解的疋,術語“包括,’、 體、步驟、操Ϊ、元2其^體4表示存在著所述特徵、整 ο ο 增加-個或多個其他牛’但並不排除存在與/或 件與/或其族群。、、4 、步驟、操作、元件、構 括科學技術術ir去否則本說明書中使用的全部術語(包 的含義相同:;容悉t發明所屬之技藝者通常理解 那些術語應當按昭本3疋’例如通用字典裡所界定的 義來翻譯,而不;及先前技術中這些術語的含 書中有此明確規定件理想化或過於正式,除非本說明 例。塊;输_述本發明的-些實施 方塊組合可藉由電腦母個方塊以及流程圖中的 可被提供給通用°這些電腦程式指令 裝置中的處理琴^ 腦或其他可程式化資料處理 裝置之處理器來執使或其他可程式化資料處理 之功能的方法執订的指令能夠產生實施流程方塊所指定 體中令也可儲存在電腦可用或電腦可讀媒 了用或電腦可讀媒體可指導電腦或其他可程^ 14 200900929 28516pif.doc 化資料處理裝置按照特殊 :或《可讀記德體中的指令產生一種 料儲;,資料儲存元件、光學資 Ο ο 理裝電腦或其他可程式化資料處 上執行,以產生:1呆3在電月1或其他可程式化裝置 執仃的指令能夠提供可實施流程方塊所 流程圖中的每個方塊可代表石馬模电 部分代竭’其包括—條或多條ϋ吻ent) =指令。值得注意的是心:邏輯功能 ,功能性,兩個連續緣示的方d丁:如’根據有 者有時這兩個方塊可逆序執行。質上可同時執行,或 如本說明書中使用的術語 的構件。例如,模組可使用可=次疋指執行特定任務 y程式化資料處理器經配置以藉^執理器來實施, software )與/或物體(也卿 ^^ ^式碼的軟體 種式碼在可程絲f料處理器,模_任務,當 器來執行模組的任務。例如;導可程式化 ,件導向(object_oriented)軟1^與/或韌體可包 、任務構件、過程、功能、屬性、程序、4二類(class)構件 、一人常式(subroutine )、 15 200900929 285l6piLdoc 程式碼段、驅動程式、勃體、微碼(micr〇c〇(je)、資料、 資料庫、資料結構、表、陣列(array)以及變數。模組的 功能可合併到單一構件中,與/或分佈到多個構件中。更值 得注意的是,模組可使用經配置以執行模組任務的固定資 料處理器來貫施,例如一個或多個閘(gate)陣列或包含 • 執行模組任務的電路的應用特定積體電路(applicati〇n specific integrated circuit, ASIC )。 〇 圖1是依據本發明之一些實施例在基於區塊來進行輸 入/輸出的裝置中使用相變隨機存取記憶體(phase吐肪弘 random access memory, PRAM) 150 的資料管理系統 1〇〇 的方塊圖。此資料管理系統⑽包括應絲式執行模組 110、作業系統模組120、檔案系統模組13〇、過濾層模組 140、快閃轉換層模組(flash translation layer,FTL) 170、 相變隨機存取記憶體150以及快閃記憶體180。 Λ應用程式執行模組110與作業系統模組120配合操作 纟執行應用程式。例如,應用程式執行模組11〇可經配置 U t播放動晝專家群(MPEG)層3 (ΜΡ3)槽案、播放移動 心像檔案、播放遊戲、搜尋内容與/或執行其他類型典用 ' 程式。 , - 作業系統模組12〇可以是用來管理檔案系統模組130 〃 j在硬體(hardware )與使用者之間提供介面(imerface ) 的組程式。作業系統模組12〇可管理處理器、記憶體、 輸入/輸出元件以及通訊元件之類的資源。 檔案系統模組130提供支援檔案讀寫的功能。例如, 16 200900929 28516pif.doc 檔,系統模組130可提供資料搜尋與復原功能,且可支援 大里貝料。檔案系統模組130可減少因儲存媒體的處理 度低於中央處理單元(central processing unit,CPU)之, 2處理f而造成的系統_ ( _eneck),促進槽案處理'' 從而提高整個資料管理系統1〇〇的效能。 Ο ο ☆快閃轉換層模組17〇經配置以將檔案系統模組丨3 ^杈的檔案系統的邏輯磁區位址映射到快閃記憶體18〇 實體磁區位址。為了對快閃記憶體18〇的特定^ 寫 操作’快閃轉換層模組170在當前分配的區塊中搜尋= = =區域,或者分配不常被抹除的區塊,且 對二白£域或所分配的區塊執行寫操作。 槽案純餘13〇是以區塊為單位來輪 塊㈣録元_喊的。區 ^ 換層模組17G的基本輪入/輪出單 二4= 是(例如)512位元組或512位元組 所大小並不侷限於像512或128這樣的數字 的資料塊可採用不同的術語,且表示資料 的輸=輸出單位,例如叢集(duster)、磁區或頁面u 過遽層模組140是用來轉遞(mediate)播案系統模組 寫摔;層模組170對相變隨機存取記憶體150的 尺才小於區翻#料尺相討按此 ^ Ο ο 200900929 28516pif.doc 數來計算。例如,如果區塊的資料尺寸是1024位元組,那 麼子區塊的資料尺寸則可以是512位元組、256位元 組、或1位元組。如果資料輸入/輸出是以位元組為單 位來進行控制,那麼位元組單位則可以是子區塊單位。 .七,援基於區塊來進行輸入/輸出的檔案系統模組13〇 通常是以區塊為單位來對快間記憶體18〇執行寫操作。如 f區塊中的—部分資料發生變更,整個區塊都要重寫。但 是,對於寫速度小於讀速度的相變隨機存取記憶體15〇, 如果整個區塊被重寫’那麼整個資料管理系統觸的速度 就會明顯降低。 ^本發_ —些實施例中,以區塊為單位來執行輸入/ 系統模、组13〇控制著過遽層模組14〇以只將變 声模相變隨機存取記憶體⑼。具體地說,過遽 i收伽^^案錢模組13G或快__模組170 接收對相受鼢機存取記憶體150之特定F ^ 命令,且可以狎Μ〜〈符疋[塊執盯寫祕的 了以子區塊為早位只對相變隨機存取呓#|# 15〇 之此特定區塊_ "分執行寫操作 L體 過濾層模組140是充春^ 組⑽時,可則、於$二=濾層。f使用過遽層模 執行寫操作,而不収動、區塊為早位來對記憶體 播案系統触鼠雜綠储人/輸出的 過濾-區塊以回應於從標幸、^、、且170。過濾層模組140 組170接收的對此區塊執二模組13〇或快閃轉換層模 為單位來對此區塊執行寫^作操作的命令’然後以子區塊 18 200900929 28516pif.doc 相變隨機存取記憶體150也稱為相變記憶體、狀態改 變(state-change)記憶體或相轉變(phase_transiti〇n)記 憶體。相變隨機存取記憶體150具有快閃記憶體與動態隨 機存取記憶體兩者的優點,快閃記憶體即使在斷電時也不 會遺失儲存的資訊,而動態隨機存取記憶體具有較高的處 理速度。蚊,由於其寫操作比其讀操倾,所以當執行 Ο ο 寫操作時,相變隨機存取記憶體15〇會使整個資料管理系 統100的速度慢下來。 、 ’、 士快閃s己憶體丨80是一種非揮發性記憶體,即使在斷電 時也不會遺失它儲存的資訊。可藉由快閃轉換層模組17〇 以區塊為單位來對快閃記憶體18〇進行資料輸入或輪出。 =此,大量資料可從快閃記憶體18〇讀出以及寫入快閃記 憶體180。 圖2繪不為圖丨所示之資料管理系統1〇〇的操 用程式執行· 11Q或作脉祕組m可試圖存取儲 ,相,隨機存取記憶體15G或快閃記憶體18G中的資料。 又’用戶資料是儲存在快閃記憶體⑽中,且 統換組m與/或快閃轉 在^目 3機存,15。中。麵統模二= :::::i料檔案有關的資訊,且快閃轉換層模組17 〇的 ===輯位址與實體位址之間的映射資訊以及實體 ^訊。㈣料通常小於用戶㈣,且變更頻繁。 戶貝料或將用戶資料寫入快閃記憶體18〇。在下 19 200900929 28516pif.doc 用戶資料稱為“第一資料’ 文中 氏冈轉換層模組17〇 = 3〇之邏輯磁區位址所映射的快閃記情 =180之實體磁區位址,並且以區塊為單位來對快閃記ς 體18=的特定磁區執行寫操作或讀操作。 心 ,案系統模組13G或快_換層模組m以區 位來存取相變隨機存取記憶體15 二 存取。己k'體15G中的資料。因此,以區塊為單位來執 Ο
T輸出的權案系統模組130或快閃轉換層模組i7〇在使^ 時可不必改動。 土 。而資料是以子區塊為單位被寫入相變隨機存取記 憶體150。由於檔案系統模組13〇與快閃轉換層模組 =支板,於子區塊的輸入/輸出,所以使用過濾層模組 來以子區塊為單位將資料寫入相變隨機存取記憶體15〇。 為了將資料寫入相變隨機存取記憶體150的特定區 塊,檔案系統模鈕130或快閃轉換層模組17〇要發送將要 寫入資料的邏輯區塊的位址、邏輯區塊的數量以及資料之 ,的資訊給過濾層模組14〇。在下文中,將要被寫入相變 隨機存取記憶體150之特定區塊的資料稱為“第二資 料。第二資料是以區塊為單位來配置的,也就是說,第 二資料是由一個或多個區塊組成的。 過;慮層模組140根據映射資訊來搜尋相變隨機存取記 憶體150中對應於檔案系統模組130或快閃轉換層模組 170之邏輯區塊的區塊。相變隨機存取記憶體150中的此 區塊代表實質上儲存資料的實體媒體。 20 Ο ο 200900929 28516pif.doc 過濾層模組140讀取從相變隨機存取記憶體15〇中找 到的區塊。在下文中,從相變隨機存取記憶體15〇中所找 到的區塊中讀取的資料稱為“第三資料,,。第三資料包括 與第二資料的區塊數量相等的區塊,因此第三資二與^二 資料的尺寸相同。第二貢料可臨時儲存在過濾層模組14〇 的緩沖模組(未繪示)中。 過濾層模組140藉由比較第二資料與第三資料來備測 變更的資料。變更的資料是指第二資料與第三資料之間的 差異。如果第二資料完全不同於第三資料,那 就是變更的資料。如果第二資料的前半部分區塊與三次 料的前半部分區塊相同,那麼第二資料的後半部分區塊二 是變更的資料。變更的資料是由―個❹個子區塊組成的。 過滤層模組140將偵測到的變更資料寫人相變隨機存 取記憶體的此區塊。在此情形下,檔案系統模組13〇或快 閃轉換層模組170命令過濾層模幻4〇以區塊為單位來將 第二資料寫人相變隨機存取記._跡而過濾層模组14〇 卻以子區塊為早位來將變更資料寫人_隨機存取 150的此紐。因此,從外部㈣是叫塊 來购 變隨機存取記憶體15〇執行寫操作,但從内部來看寫^ 卻是以子_為單位純行的。由於=#料只被=相變产 機存取記憶體150的變更部分,所以資料 _ = 新。此外,對相變隨機存取記憶體15〇進行資料=用 改動基於區塊綠行輸人/輪出的㈣_ 快閃轉換層模組170。 、、、 30與/或 200900929 28516pif.doc 如上所述,資料可以區塊為單位來輸入到快閃記憶體 180或從快閃記憶體180輸出。從外部來看,資料可以區 塊為單位來輸入到相變隨機存取記憶體150或從相變隨機 存取記憶體150輸出,但從内部來看,資料可以子區塊為 • 單位來寫入相變隨機存取記憶體150。也就是說,大而變 ' 更少的用戶資料是儲存在快閃記憶體180中,小而變更頻 繁的檔案元資料則是儲存在相變隨機存取記憶體150中。 ^ 如此一來,可有效地管理資料。 〇 此外,過濾層模組140是用來以子區塊為單位來對相 變隨機存取記憶體150進行資料輪入或輸出。因此,不用 改動基於區塊來執行輸入/輸出的檔案系統模組130與/或 快閃轉換層模組170,就能夠對相變隨機存取記憶體15〇 進行資料讀寫。 相變隨機存取記憶體150的寫操作可比其讀操作慢, 且相變隨機存取記憶體150可以子區塊為單位(例如,以 位元組為單位)而不是以區塊為單位來寫資料。利用相變 〇 隨機存取記憶體150的這些特性,可從相變隨機存取記情 體150的變更部分提取資料,並且可以子區塊為單位將新 • 資料寫入相變隨機存取記憶體150的變更部分。如此一 ' 來’快閃記憶體180與相變隨機存取記憶體150可有效地 一起使用。 圖3是依據本發明之額外實施例在基於區塊來進行輸 入/輸出的裝置中使用相變隨機存取記憶體150的資料^ 理系統100的方塊圖。圖4繪示為圖3所示之資料管理^ 22 η ο 記憶體150中的一區塊,那麼此第一資料則被寫入此區 塊。如果將要寫入相變隨機存取記憶體150的第一資料大 於相變隨機存取記憶體150中的一區塊,那麼此第一資料 則被寫入兩個區塊。映射資訊提供模紕210可包括在檔案 系統模絚130或另一種構件中,也可作為獨立的構件來實 200900929 28516pii.doc 統100的操作。 請參照圖3,資料管理系統⑽包括 程式執行模組11〇、作章车 或夕個應用 過滤層減UG以及相變隨機存取記憶體ΐ5()。、、、且13〇、 由於應用程式執行模組11〇 系統模組130、過濟辣紐】仙系糸統桓叙120、襠索 15。已作、‘广=層 M及相變隨機存取記怜辨 150已W如上’所以將省略其詳細描述。過濾 fc發 ^括映射資訊提供模組21〇、資料讀取模組&以及U0 資料提取模組230。 、、 及變更 映射貧訊提供模組2!〇提供槽案系統模板!% 區塊,變隨機存取記憶體15〇之區塊之間的映射資 也就是說,_資訊提賴組21G提供表示相變隨機=。 元憶體150之實體區塊對應於槽案系統模組13〇之邏= 塊的映射#訊。具體地說,如果槽案系統模組⑽區 錄第一資料到狀邏輯區塊上的命令,映射資訊提^榲f 210就會搜尋相變隨機存取記憶體15〇中的、^ 麟形下,“第—㈣”是絲純塊終理&^出, 祂案系統模組13〇用一個或多個區塊組成的。如果將要寫 入相交!^機;存取記憶體150的第一資料小於相變隨機存承 23 200900929 28516pii.doc 施。 Ο Ο 資料讀取模組220讀取從相變隨機存取記憶體15〇中 找到的區塊。在此情形下’資料讀取模組22〇可以子區塊 為單位來讀取從相變隨機存取記憶體15〇中找到的區塊。 例如,如果子區塊單位是位元組單位,那麼資料讀取模組 220則可以位元組為單位來讀取從相變隨機存取記憶體 150中找到的區塊,且將所讀取的區塊中的資料臨時儲存 在^中她(未|會示)+。在下文中,資料讀取模组22〇 所讀取的資料稱為“第二資料”。 變更資料提取模組230藉由比較第一資料鱼第_資料 來提取變更資料。變更資料是指第-資料與第=== 的差異。如果第一資料完全與第二資料不同,那麼第一資 更資料。如果第—資料的前半部分區塊與第二資 部分區塊相同,那麼第—資料的後半部分區塊就 疋&更-貝料。^變更資料是由-個或多個子區塊組成的。 中的所提取的變更㈣小於相變隨機存取記憶體150 中對庳那麼狀相變隨機存取記憶體15G之此區塊 寫。二此ίί貧料的—部分被重寫,而不是整個區塊被重 明顯減麵纟,基於區塊來進行輸人/輪出的裝置的負擔可 150那^且寫速度可提高。如果像相變隨機存取記憶體 如此-/錢低於讀毅,那麼寫操作的頻率可減小。 咬^ ’可以以區塊為單位來有效地寫資料。 作描13圖4,依據本實施綱㈣f理系統_的操 24 200900929 28516pif.doc 標案系統模組130從作業系統模組12〇或應用程式執 行模組110接收儲存第一資料43〇到記憶體的命令。然後, 檔案系統模組130發送將會儲存第一資料43〇的邏輯區塊 的位址、邏輯區塊的數量以及第一資料430之類的資訊給 過濾層模組140。 過濾、層模組140搜尋對應於檔案系統模組13〇之邏輯 區塊的相變隨機存取記憶體15〇之區塊4〇〇。相變隨機存 取§己憶體150的此區塊4〇〇是由多個子區塊41〇組成的。 過濾、層模組140讀取從相變隨機存取記憶體15〇中找到的
Ο 區塊400,且將從找到的區塊4〇〇中讀取的資料臨時儲存 為第二資料450。然後,過濾層模組14〇藉由比較第一資 料430與第二資料45〇來提取變更資料42〇。最後,過濾 層模組140指不相變隨機存取記憶體15〇以子區塊為單位 來寫入所提取的變更資料42〇。 如果受更^料420.對應於子區塊41 〇之一,則只對此 子區塊執行寫刼作,結果是將第一資料43〇寫入相變隨機 存取記憶體150。目此,㈣一有小而鮮_更,就能 得到有效的更新。 ^包含與用戶資料有關的資訊的元資料或包含與快閃記 ,體所儲存之資料有關的資訊的元資料相對來說較,但 =變更,頻繁。這是因為^資料可包含像用戶資料之儲存 =與最後存取時間以及快哺換層之映射資訊之類的可 :貧訊,也可包含用戶資料的唯-資訊,例如用戶資料的 尺寸與屬性。 25 200900929 2B5l6pif.doc 塊來進杆於早位來寫入的元資料的頻繁變更會對基於區 資料中發輪出的裝置施加額外的負擔。此外,當—塊 塊為單㈣ί的變更時,如果因為資料輸入/輪出是以區 費: 執行而要重寫整個區塊,就會造成系統資源浪 Ο ο =而’根據本發明的—些實劇,雜從外部來 二A 來,輸人/輸出,但從内部來看資料卻是以子區 评::來寫入相變隨機存取記憶體150,而不用改動: 塊來執行輸入/輪出的檔案系統模組130。 土 變更ΐ:的因:相變隨機存取刪150的區塊中對應於 錄負料所需的時間可減少。 °己 /、門可不必使用過濾層模組140而以區塊為單位從 她隨機存取記《 150讀取f料。 圖5緣示為依據本發明之_ 行輸入/輸出的裝置中使用相娜基於£塊末進 料管理系射的㈣150的資 的結構。 交現钺存取圮憶體150以及映射表500 請參照圖5,相變隨嬙六 (―,然體⑼被格式化 (initialized) ^ ^ ^ ^ 快閃轉換層模組170相同的势入/认田案糸、德、、且130或 記憶體150在實體上被初始心/1出早位。相變隨機存取 機存取記憶體15〇可由第零個^個,塊。例如,相變隨 ”£塊(P-區塊0)到第η個
取記憶體150中對應於此邏輯區塊的區塊(操作S61〇)。 利用映射資訊從相變隨機存取記憶體150中找到區塊 400之後,儲存在相變隨機存取記憶體15〇的此區塊4〇〇 200900929 28516pii.doc 區塊(P-區塊η)所組成。 夺存取記憶體150的每個區塊_可使用映射 ίί射表500是映射資訊提供模組所創 槽案系統模組或快閃轉換層模組170之 二=^所對應的相變隨機存取記憶體15G之每個區 ‘之位址。映射資訊提供模組210利用映射表5〇〇來 給槽案系統模组13。、快閃轉換層模組二 或過遽層额14〇,且健純馳13G、㈣轉換層模组 =0或^慮層模組14〇可根據此映射資訊來存取相變隨機 存取§己憶體150的每個區塊4〇〇。 圖6是依據本發明之一些實施例在基於區塊來進行輸 入/輸出的裝置中使用相變隨機存取記憶體的資料管理操 作流,圖三作業系統模組12〇或應用程式執行模組則發 送將第一資料寫入相變隨機存取記憶體15〇的命令給檔案 系統模組130或快閃轉換層模組17〇。第一資料是由一個 或多個要更新的區塊組成的。檔案系統模組13〇或快閃轉 換層模組170將此命令遞送到過濾層模組14〇 (操^ S600)。檔案系統模組130或快閃轉換層模組17〇將要寫 入第一資料的邏輯區塊的位址以及第一資料連同命令一起 發送給過濾層模組140。檔案系統模組130、快閃轉換層模 組170或過濾層模組140根據映射資訊來搜尋相變隨機存 27 200900929 28516pif.doc 中的第二資料被讀取。在此情形下,第一資料與第二資料 具有相同尺寸。因此,第一資料與第二資料具有等量的區 塊,且可一對一進行比較。 第二資料被讀取之後,藉由比較第一資料與第二資料 ' 來偵測變更資料(操作S630)。被偵測到的變更資料42〇 . 是由一個或多個子區塊組成的。以子區塊為單位提取儲存 在相變隨機存取記憶體150中的第二資料與第一資料之間 ^ 的差異之後’就得到變更資料420。 偵測到變更資料420之後,以子區塊為單位將此變更 資料420寫入相變隨機存取記憶體150中儲存第二資料的 區塊400 (操作S640)。可假設,子區塊單位是位元組單 位,且一區塊單位是1024位元組。在此情形下,如果第一 資料中的10位元組不同於第二資料,那麼所提取的變更資 料420就是10位元組。所以,不是全部1〇24位元組都被 寫入相變隨機存取記憶體150,而是只有10位元組(即變 更資料420)被寫入相變隨機存取記憶體15〇。如此一來, 〇 寫速度可提高。 如上所述,當資料發生小而頻繁的變更時,只有資料 _ 中的變更部分可被重寫。因此,相變隨機存取記憶體的特 . 性(即,寫速度小於讀速度)可得到有效利用。 此外,由於相變隨機存取記憶體15〇是以子區塊為單 位來執行寫操作,而不用改動基於區塊來進行輸入/輸出的 裝置中的檔案系統模組130或快閃轉換層模組17〇,所以 可有效地更新資料。 28 200900929 28516pif.doc _圖7是依據本發明之另一些實施例在基於區塊來進行 輸入/輸出的装置中使用相變隨機存取記憶體的資料管理 操作流程圖。4當案系統模'组130或快閃轉換層模組17〇從 作業系統模、址12〇或應用程式執行模组11〇接收從相變隨 機存取錢體150讀取資料的命令。觀线模組13〇或 快閃轉,職組170還要接收與要讀取的邏龍塊的位址 Ο
以及要項取的邏輯區塊的數量有關的資訊,且發送讀請求 給過濾層模組140 (操作S700)。 ° 過濾,模組14 0利用映射資訊在相變隨機存取記憶體 150中搜尋要讀取的邏輯區塊所對應的區塊(操作幻1〇)。 在此清$下’過濾、層核組14〇可請求映射資訊提供模組 搜尋相變隨機存取記憶體15〇中的區塊4〇〇。 找到相變隨機存取記憶體150中的區塊4〇〇之後, 存在相變隨機存取記憶體15G的此輯_ _ 读 取(操作S720)。此時,相變隨機存取記憶體15〇的此= 塊400是以子區塊為單位被讀到最後。 °° 過遽層模組140來讀取相變隨機存取 。己丨思肢150中的貝枓,且將所讀取的資料與將要 料相比較來提取變更資料。考慮到相變隨機存取記= 150的項速度大於其寫速度,所以只有相變隨機存取; 體W中的區塊的變更部分被寫人,而不是整個區塊被 ==模組140可快速存取相變隨機存取 雖然本發明已以較佳實施例揭露如上,然其並非用、 29 200900929 28516pif.doc 明,任何熟習此技藝者,在不脫離本發明之精神 ^圍内’當可作些許之更動朗飾,因此本發明之 範圍當視後附之申請專利範圍所界定者為準。 ,、° 【圖式簡單說明】 圖1疋依據本發明之一些實施例在基於區塊來進 入/輸出的裝置中使肋變隨機存取記憶體 = 統的方塊圖。 、^理系 Ο
圖2繪示為依據本發明之一些實施例的圖丨 次 料管理系統的操作。 貝 圖3是依據本發明之額外實施例在基於區塊來進行輪
入/輸出的裝置中使用相變隨機存取記憶體的資 J 統的方塊圖。 、·^理糸 圖4繪示為依據本發明之一些實施例的圖3所示之 料管理系統的操作。 、 、 圖5繪示為依據本發明之另一些實施例在基於區塊來 進仃輪入/輸出的裝置中資料管理系統的相變隨機存取記 憶體以及映射表。 圖6是依據本發明之一些實施例在基於區塊來進行輸 入/輪出的裝置中使用相變隨機存取記憶體的資料管理操 作流程圖。 ' 圖7是依據本發明之額外實施例在基於區塊來進行輸 入/輪出的裴置中使用相變隨機存取記憶體的資料管理操 作流程圖。 、 【主要元件符號說明】 30 200900929 28516pif.doc 100 :資料管理系統 110 :應用程式執行模組 120 :作業系統模組 130 :檔案系統模組 • 140:過濾層模組 - 150 :相變隨機存取記憶體 170 :快閃轉換層模組 180 :快閃記憶體 = 210 :映射資訊提供模組 220 :資料讀取模組 230 :變更資料提取模組 400、P-區塊O^P-區塊η ·區塊 410 :子區塊 420 :變更資料 430、450 :資料 500 :映射表 〇 S600〜S640、S700〜S720 :操作步驟 31