TW200900929A - Data management systems, methods and computer program products using a phase-change random access memory for selective data maintenance - Google Patents

Data management systems, methods and computer program products using a phase-change random access memory for selective data maintenance Download PDF

Info

Publication number
TW200900929A
TW200900929A TW097123180A TW97123180A TW200900929A TW 200900929 A TW200900929 A TW 200900929A TW 097123180 A TW097123180 A TW 097123180A TW 97123180 A TW97123180 A TW 97123180A TW 200900929 A TW200900929 A TW 200900929A
Authority
TW
Taiwan
Prior art keywords
data
random access
access memory
block
phase change
Prior art date
Application number
TW097123180A
Other languages
English (en)
Inventor
Jin-Kyu Kim
Kyoung-Il Bang
Hyung-Gyu Lee
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of TW200900929A publication Critical patent/TW200900929A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

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

Claims (1)

  1. 200900929 28516pif.doc 十、申請專利範園: 包括資料處理器,所述資料處 1. 一種資料管理系統 理器經配置以提供: 播案糸統模組,經配置以 到快閃記憶體中;以及 區塊為單位來儲存第一資料 過濾層模組,經配置以 資料,且以子區塊為單位將 存取記憶體中。
    2.如申π專利範圍第丨項所述之資料管理系統,其中 所述過滤^模組經配置⑽較從所賴㈣統模組接收的 所述第一ΐ料與儲存在所述相變隨機存取記憶體中的第二 資料,藉此來識別所接收的所述第二資料中的差異資料, 並且將識別出的所述差異資料寫入所述相變隨機存取記憶 u 從所述檔案系統模組接收第二 所述第二資料儲存到相變隨機 3. 如申請專利範圍第1項所述之資料管理系統,其中 所述第二資料包括檔案元資料,以及其中所述第一資料包 括楼案元貧料之外的資料。 4. 如申請專利範圍第1項所述之資料管理系统,其中 所述子區塊單位是位元組單位。 5. 如申請專利範圍第1項所述之資料管理系統,其中 所述過濾層模組更經配置以將所述相變隨機存取記憶體中 的區塊映射到所述檔案系統模組所支援的檔案系統中的邏 輯區塊。 6. 如申請專利範圍第1項所述之資料管理系统,更包 32 200900929 28516pif.doc 括所述相變隨機存取記憶體與/或所述快閃記憶體。 7·一種資料管理系統,包括資料處理器,所述資料處 理器經配置以提供: 檔案系統模組,經配置以區塊為單位來傳送資料;以 及 f Ο —過濾層模組,經配置以從所述檔案系統模組接收一塊 資料’與儲存在相變隨機存取記《巾的-塊資料相比較 «別所接㈣it塊資料中的變更㈣,以及將識別出的 所遍晏更貞料儲相所述彳目變賴存取記憶體中。 8.如申請專利範圍第7項所述之資料管理系統,其中 戶!=層ί組經配置以子區塊為單位來將識別出的所述 k更貝料儲存到所述相變隨機存取記憶體中。 9·如申請專鄕_ δ 所述子區塊單位是位元組單位。其中 ,10.、=申請專利範圍第7項所述之資料管 所述過濾層模組經配 。、 系、'先/、 機存取記憶體。 °°鬼為早絲格式化所述相變隨 η.如申請專利範圍第7項所 / 所述過濾層模組更奴 、 ' 4 g理系統,其中 :=射到所述_'-:=:::二 12.—種資料管理方法, 料管理方法包括: 貝枓處理器來執行,所述資 接收一塊資料,這塊 貝枓要破寫人權案系统中界定的 200900929 28516pif.doc 邏輯區塊; 將接收到的這塊資料與儲存在相變隨機存取記憶體中 的一塊資料相比較’以識別接收到的這塊資料中的變更資 料,以及 將所述變更資料儲存到所述相變隨機存取記憶體中。 13. 如申請專利範圍第12項所述之資料管理方法,其 中將所述交更=貝料儲存到所述相變隨機存取記憶體中包括 Ο ο 以子區塊為單位將所述變更㈣儲存酬述隨機存取 記憶體中。 14. 如申請專利範圍第12項所述之資料管理方法,其 中所述子區塊單位是位元組單位。 15. 如申請專利範圍第12項所述之資料管理方法,更 包括以區塊為單位來格式化所述相變隨機存取記憶體。 16·-種電腦可讀媒體,包括電腦程柄,所述電腦程 i = 執行申請專利範圍…所㈣料 料管理方法,㈣料處理器來執行,所述資 閃記Si為::將檔案系統中界定的第-資料儲存到快 乂子11塊為單位將所述槽案系 存到相變隨機存取記憶體中。Τ界(的弟一貝枓儲 从如申請專利範圍第π 中以子區塊為單位將所述槽案系統中界;儲; 34 200900929 28516pif.doc 到相變隨機存取記憶體中包括: 將一塊所述第二資料與儲存在所述相變隨 體中的H資料相比較,以識別這塊第 5己憶 更資料;以及 貝科中的變 憶體:識別出的所述變更資料儲存到所述相變隨機存取記 Ο 如申請專利範圍第17項所述 中所述第二資料包括财元w 理方去,其 包括㈣- 茶讀’以及其中所述第〜資料 ^純案凡資料之外的資料。 貝科 20·一種電腦可讀媒髀,4 k〜 式碼包括經配置吨行腦程4,所述電腦程 管理方法的程式碼。#專利乾圍第π項所述之資料
    35
TW097123180A 2007-06-20 2008-06-20 Data management systems, methods and computer program products using a phase-change random access memory for selective data maintenance TW200900929A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US94512807P 2007-06-20 2007-06-20
KR1020070104215A KR101270777B1 (ko) 2007-06-20 2007-10-16 블록 단위 입출력 디바이스에서 피램을 이용한 데이터 기록시스템 및 방법

Publications (1)

Publication Number Publication Date
TW200900929A true TW200900929A (en) 2009-01-01

Family

ID=40370096

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097123180A TW200900929A (en) 2007-06-20 2008-06-20 Data management systems, methods and computer program products using a phase-change random access memory for selective data maintenance

Country Status (2)

Country Link
KR (1) KR101270777B1 (zh)
TW (1) TW200900929A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8683173B2 (en) 2009-01-21 2014-03-25 Micron Technology, Inc. Logical address offset in response to detecting a memory formatting operation

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110048304A (ko) 2009-11-02 2011-05-11 삼성전자주식회사 솔더 리플로우에서 코드 데이터의 손실을 방지할 수 있는 방법과 그 장치들

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100484147B1 (ko) 2002-07-26 2005-04-18 삼성전자주식회사 플래시 메모리 관리 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8683173B2 (en) 2009-01-21 2014-03-25 Micron Technology, Inc. Logical address offset in response to detecting a memory formatting operation
US8930671B2 (en) 2009-01-21 2015-01-06 Micron Technology, Inc. Logical address offset in response to detecting a memory formatting operation

Also Published As

Publication number Publication date
KR20080112069A (ko) 2008-12-24
KR101270777B1 (ko) 2013-05-31

Similar Documents

Publication Publication Date Title
US8838875B2 (en) Systems, methods and computer program products for operating a data processing system in which a file delete command is sent to an external storage device for invalidating data thereon
TW201229754A (en) Memory system, data storage device, user device and data management method thereof
TW201222549A (en) Concurrent read and write memory operations in a serial interface memory
TW201248405A (en) Selective data storage in LSB and MSB pages
KR102663304B1 (ko) 구역 네임스페이스 디바이스들에서의 판독 처리
TWI344085B (en) Storage system for improving efficiency in accessing flash memory and method for the same
TWI771383B (zh) 固態驅動機、其方法及物品
TW201145022A (en) Virtualization of storage devices
TW201040830A (en) Optimizing access time of files stored on storages
TW201732597A (zh) 資料儲存裝置和其操作方法
TW201017405A (en) Improved hybrid drive
CN102890620A (zh) 非易失性临时数据处理
US9710283B2 (en) System and method for pre-storing small data files into a page-cache and performing reading and writing to the page cache during booting
TW200846906A (en) Unified support for solid state storage
US8332575B2 (en) Data management systems, methods and computer program products using a phase-change random access memory for selective data maintenance
US20170357462A1 (en) Method and apparatus for improving performance of sequential logging in a storage device
US20160274819A1 (en) Memory system including host and a plurality of storage devices and data migration method thereof
CN107408079A (zh) 带有一致单元的多级别系统存储器的存储器控制器
KR20170109133A (ko) 하이브리드 메모리 장치 및 그의 데이터 관리 방법
CN103678166A (zh) 一种采用固态硬盘作为计算机高速缓存的实现方法及系统
TW201111987A (en) Memory system
US11347420B2 (en) Attribute mapping in multiprotocol devices
TW201003393A (en) Data accessing method, and storage system and controller using the same
WO2020103468A1 (zh) 基于闪存的垃圾处理的方法、固态硬盘以及存储装置
TW200900929A (en) Data management systems, methods and computer program products using a phase-change random access memory for selective data maintenance