TW200805394A - Memory storage device and the read/write method thereof - Google Patents
Memory storage device and the read/write method thereof Download PDFInfo
- Publication number
- TW200805394A TW200805394A TW095124982A TW95124982A TW200805394A TW 200805394 A TW200805394 A TW 200805394A TW 095124982 A TW095124982 A TW 095124982A TW 95124982 A TW95124982 A TW 95124982A TW 200805394 A TW200805394 A TW 200805394A
- Authority
- TW
- Taiwan
- Prior art keywords
- address
- memory
- page
- data
- block
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
200805394 九、發明說明: 【發明所屬之技術領域】 本發明係涉及一種記憶體儲存裝置及其讀寫方法,特 別係指一種用以提升讀寫效能的記憶體儲存裴置及A方 法。 /、 【先前技術】 ,近年來由於電腦(Computer)、通訊(C⑽municati〇n) 及消費性電子(c〇nsumer E1 ectronics)等3C產業的快速發 展’在各項產品中’透過内建的快閃記憶體或是讀取外部 記憶卡來做為儲存資料的媒介,似乎已是必備的功能之 一二然而隨著使用者存取資料次數的頻繁及存取資料量的 得裝置在讀寫儲存媒介的速度也就成為使用 者廷購產品時茶考的重點。 雖然快閃記憶體擁有體積小、容量大、省電 性t耐震等多項優點,但卻有兩個硬體、 f疋不A直接覆舄和抹除(Erase)次數的限制。* 資料儲存之前,原位置的資料區段必須先被 抹除後,才能讓新資料重新寫入,而抹除運算且 所有記憶單元所需要的時間比讀取或寫入運算的時門:, =SMba〜TH58NVG1S3AFTQ5 2Gblt 為例,其讀取^度 二ns、寫入的速度為200us而抹除時間為—。並且新 的可用自由空間(Available free space,可立 間)必須建立在已預先抹除後的區塊。 、二 ^參考第-圖’係習知技術快閃記憶體存取架構示意 圖如圖所不當代表主機端(H。s t)之外部系統i q送出邏輯 6
200805394 區塊位址(Logical Block Address,LBA)給控制單元20 後,而控制單元20在與快閃記憶體3〇進行溝通時,會透 過-個邏輯/實體位址對應表21來記錄該邏輯區塊位二以 及其對應於快閃記憶體30中的實體位址(physical心冰 Address’ PBA)以避免每次在資料存取時都必須為了取得相 對應的邏輯位址而從頭到尾搜尋一次。請同時來考第二 圖’係習知技術快閃記憶體中實體位址與邏輯位址之關係 不意圖及利用該關係所建立之邏輯/實體位址對應表,邏輯 實體位址對應表21的產生係在系統開機時就建立完成, 亚可例如f計-SRAM來儲存記錄該輯/實體位址對應表 21—,而後續在存取資料時,利用軟體搜尋在s_中的邏輯 /實體位址對應表2卜進而快速得到相對於該邏輯位址的 貫體位址。就快閃記憶體30的讀寫而言,寫入資料所需的 時間比讀取資料的時間來得長,且當資料要寫入快閃記憶 ,30的同時又比需考量其所寫的位址内是否已經有資料 存在^ ’如果該位址已有資料存在時必須將此一由外部系統 10寫=的資料先行寫到一個新的可用自由空間内,並將原 本要寫入白勺區塊如止中之資料搬移到新的區塊中並變更邏 輯/實體健對絲2UX讓下個來自㈣线1()的邏輯位 址能夠對應到實體位址。 然而’在快閃記憶體機制中,由於外部系統1Q存取資 料所需的實齡址及邏輯位址為雜性之對應關係,益法 直接由實體位址推知邏輯位址之所在。因此,當要搬移快 閃錢體30中的資料前’必須先進行搜集的動作以將原本 要寫入的區塊位址中之資料搜集,而在搬移之後才在邏輯/ 貫體位址對應表21進行更新以指定_的實體位址。但在 7 200805394 ;===置中丄上述搜集、搬移及指定位址的過 匕;,便會增加抹除及移動寫入的次數,也 f目對地影響龍體寫人資料的效能,而其中又ί 李:Wind〇ws XP嚷系統下所進行上述的過程會最 繁,因此寫入效能的差異也最大。 θ取為頻 因此’如何在原有快閃記憶體的硬體存取架構下 ί=Γ=少在各種作業系統下讀寫快閃記憶 甚至提升整體效能,這都是目前值得進- 【發明内容】 部系=輸,與外 採用不同的存取方式來進:及藉:::::: 以避免因外部系統時常更新而導致必須頻;地 夕貝料,進而達到提升'_記憶體讀寫效能之目的 為了解決上述問題,根據本發明所 , 體儲存裝置,係適用於與-外部系統間二 昧二、°Λ 14舄人’其包括:―快閃記憶體及-控制單元。 ^己憶體制來物“ f料,1且更包含有複數個記 =塊,母一記憶區塊包括複數個記憶頁,而記憶區塊在 =社可區分為至少—特殊資料管理區域及至少一一 區^而控制單71更進—步包括一區域對應表 百斜:m、區塊的邏輯位址與實體位址,以及複數個 頁對^表’係分別依據每—記憶區塊而產生,用以作為該 ,:己t:頁的逛軏位址與實體位址之關聯。其中,控制單元 係依據區域對絲與相對應之頁對應表並以一 動態偏差值 8 200805394 入貝枓至屬於該特殊資料管理區域之記憶區 疏頁’以及更新相職之該區域對縣 供之後讀寫時的對應使用。 ^表从提 為了解決上述問題,根據本發明所提出之另一 案丄提供-種記憶體儲存裝置之寫人方法,其中該記情二 儲存裝置包含-快閃記憶體,該快閃記憶體包含複數個= 憶區塊,每一該些記憶區塊具有複數個記憶頁,而該1 方法包括:首先邏輯定義該快閃記憶體為至少一特殊資^ 管理區域及至少一一般資料管理區域,並進行接:一二寫 入新資料的一邏輯位址(Logical Address),進而透過_區 域判斷機制來判斷該邏輯位址係位於特殊資料管理區域^ 一般資料管理區域,當邏輯位址係位於特殊資料管理區7或 時,判斷該邏輯位址是否接續一先前寫入資料所處最彳I累 積位址,並且當該邏輯位址係接續該先前寫入資料所處最 後累積位址時,則再進一步判斷所屬的堆疊區塊是否已填 滿,若該堆疊區塊已填滿,便進行整理及擷取該堆疊區塊 中的資料至另一新的堆疊區塊中,並且取得該新的堆疊區 塊之最新累積位址,以將該待寫入新資料依據一區域對應 表與相對應之一頁對應表以一動態偏差值方式接著寫入在 該最新累積位址之後所對應之實體位址;反之若該堆疊區 塊未填滿,則直接將該待寫入新資料依據該區域對應表與 相對應之該頁對應表以該動態偏差值方式直接接著寫入在 該最後累積位址之後所對應之實體位址。 為了解決上述問題,根據本發明所提出之再一種方 案,提供一種記憶體儲存裝置之讀取方法,其中該記憶體 儲存裝置包含一快閃記憶體,該快閃記憶體包含複數個記 200805394 fe區塊,每一該些挹憶區塊具有複數個記憶頁,並且該快 閃圮憶體係定義為至少一特殊資料管理區域及至少—般 資料管理區域,而該讀取方法包括:首先接收一讀取資料 的邏輯位址(Logical Address),並再透過一區域判斷機制 來判斷該邏輯位址係位於特殊資料管理區域或一般資料管 理1域,當邏輯位址係值於特殊資料管理區域時,則判斷 該邏輯位址是否符合-先前寫人資料的最後記憶頁之位 址i右付合該先丽寫入資料的最後記憶頁位址,則再判斷 該邏輯位址在該最後記憶頁位址中是否超過—最後區段位 址’然而若該邏輯健超賴最後區段健,則表示該讀 取資料係位於該邏輯位址所屬的堆疊區塊中之一舊的記憶 ^,而依據一區域對應表與相對應之一頁對應表以取得該 售的記憶頁之實體頁位址,並將該舊的記憶f之實體頁位 址戶^屬之實體區塊中的讀取資料讀出;反之錢邏輯位址 並热超過5亥最後區段位址,則表示該讀取資料已被整理至 :新的記憶頁,而依據該區域對應表與相對應之該頁對庫 表以取得在該新的記憶頁的實體頁位址,並將賴的記憶 頁之實體頁位址所屬之實體區塊中的讀取資料讀出。 以上之概賴接下來的詳細說明及附®,皆是為了能 進:步說明本發明為達成預定目的所採取之方式、手段及 而有關本發明的其他目的及優點,將在後續的說明 及圖式中加以闡述。 【實施方式】 蚀;^ :同守參考第二A圖及第三B圖,係本發明之記憶體 練子j置的,佳實施例方塊圖及本發明應用之快閃記憶 -之木構不思、圖,如第三A圖所示,本發明提供一種記憶 10 200805394 體,存裝置1’適用於與-外部系統1〇間進行資料的讀取 與寫入’其包括:一快閃記憶體3〇及一控制單元4〇。快 閃圯1:¾脰30是作為頊舄資料的儲存,並且快閃記憶體別 中係包含稷數個記憶區塊31,而每一個記憶區塊31具有 複數個記憶頁30卜此外,該些記憶區塊31在邏輯位址上 可區分為,少一特殊資料管理區域及至少一一般資料管理 區域(如弟三圖所示),但實際在快閃記懷體%的實體位 料官理區域與—般資料管理區域中的記憶區 4 合共用,並且兩種資料管職域並非-定的排列 :=r二糊管理區域可例如係用來處理較常被 二的貝# —般#料管理區域則係用來處理較不 而吊被項取或搬移的資料。 而控制單元4〇更可進一步包括· =個頁對應表42及—微處理其==二 對應記億區塊31的邏輯位址與實體 =咖都會對應有各自的頁對應表42,用以:為: 邏輯位址與實體位址之關聯。並且控制單元仙 = 系統端界面44來與外部系統進行資料的 30輸?其中的一記憶體界面45來做為與快閃記憶體 尤苴曰/步4執行讀取、寫入及抹除等相關作業, 41 二里特殊貧料管理區域時除了使用區域對庫表 J ^ I η Μ ^ 42 f£tt ^ 31 ^ mr 匕a r的0己包區塊3ΐ透過頁對廡矣 偏差值寫入,會減少特應表42所進行的動態 f减少扣殊貝科官理區域中的記憶區塊31 200805394 受外部系統10的更新頻繁而需時常整理的次數。 由此可知,控制單元40會依據區域對應表41與相對 應的頁對應表42且以一動態偏差值方式寫入資料到屬於 該特殊資料管理區域之記憶區塊31中的記憶頁301,隨後 便更新相對應的區域對應表41與頁對應表42的位址連結 關係以提供之後讀寫時的對應使用;而在一般資料管理區 域部分’則係僅依據區域對應表41且以一相同偏移值方式 來進行資料寫入,並且隨後進行更新區域對應表41的位址 連結關係。 请再參考第四A圖及第四B圖,係本發明所使用的頁 對應表及利用頁對應表所對應之邏輯頁位址與實體頁位址 之關係示意圖,如圖所示,特殊資料管理區域中,可以係 至少一記憶區塊31為單位來對應一個邏輯區塊,而本發明 係以兩個記憶區塊31為例來說明。在頁對應表42中主要 係分為邏輯頁位址的攔位及實體頁位址的欄位,並且該二 攔位中的連結關係會隨著外部系統1〇所輸出的邏輯位址 的不同而進行更新。而在第四B圖中的實體位址係例如以 兩個圮憶區塊31為說明,分別係第一記憶區塊及第二記憶 區塊,並再依據動態偏差值方式進行資料寫入,先從第一 圯fe區塊舄入,待寫滿之後再寫入第二記憶區塊中,而在 兩個記憶區塊31都寫滿之後便進行整理到另一新的第一 記憶區塊,並且再定義-個新的第二記憶區塊來搭配使 用。由於外部系統10所輸出邏輯位址中的邏輯頁位址可能 會有重複的情形’因此在記憶區塊31中會有相同的資料頁 資料,此時的邏輯頁位址會指定在較新的資料頁資料上, 並且頁對應表42會進行更新_以對應,而在記憶區塊 12 200805394 31整理時便會依據頁對應表42的關聯而僅留下較新的資 料頁資料。 另外’頁對應表42中單一邏輯頁位址並非僅限制於對 應圮憶區塊31的單一實體頁位址,亦可對應複數個實體頁 位址以避免因使用較多頁對應表42時,佔用控制單元4〇 中用以儲存頁對應表42的空間。 請茶考第五圖,係本發明記憶體儲存裝置之寫入方法 的一實施例流程圖,如圖所示,本發明提供一種記憶體儲 存衣置1之舄入方法,其中記憶體儲存裝置1包含一快閃 記,體30 ’而快閃記憶體30包含複數個記憶區塊31,並 且每一記憶區塊31具有複數個記憶頁301,該寫入方法包 括·首先,邏輯定義快閃記憶體30為至少一特殊資料管理 區域及至少一一般資料管理區域(S501),進而接收一待寫 2新資料的一邏輯位址(S503),其中該邏輯位址包含有記 fe區塊位址、記憶頁位址及一記憶區段位址等。接著透過 一區域判斷機制來判斷該邏輯位址係位於特殊資料管理區 f或:般資料管理區域(S505),其中該區域判斷機制係用 X ^對事先已定義特殊資料管理區域及一般資料管理區域 、隹1 Y σ丨位址’以在接收該待寫入新資料的邏輯位址便 於=判^所f管理區域。進而當判斷結果係該邏輯位址位 殊^料官理區域時,便判斷該邏輯位址是否接續一先 丄JO貝處最後累積位址(S5〇7),而若該邏輯位址係 兮二,刚寫入資料所處最後累積位址時,則再進一步判 疊位址所屬的堆疊區塊是否已填滿⑽9),其中堆 填二昉^、系包含至少一έ己丨思區塊31,而當該堆疊區塊已 -/I,則進行整理及操取該堆疊區塊中的資料至另一新 13 200805394 的堆疊區塊中(S511),並且再依據區域對應表41與相對應 之頁對應表42來取得該新的堆疊區塊之最新累積位址 (S512) ’進而將該待寫入新資料以動態偏差值方式接著寫 入在邊最新累積位址之後所對應之實體位址,並更新該區 域對應表41及該頁對應表42(S515)。反之,若該堆疊區 塊未填滿,則直接依據區域對應表41與相對應之頁對應表 42取知最後累積位址(S513),並將該待寫入新資料以動態 偏差值方式直接接著寫入在該最後累積位址之後所對應之 貝脰位址’並更新該區域對應表41及該頁對廡表 42(S515)。 、〜 另外’若在步驟(S507)判斷該邏輯位址是否係接續先 月ίι寫入貢料所處最後累積位址的判斷結果為否時,則表示 忒邏輯位址係指向一新的堆疊區塊,而該先前寫入資料則 相對係位於一舊的堆疊區塊中,進而在舊的堆疊區塊最後 使用記憶頁301所對應之實體頁中,以該邏輯位址的記憶 區段位址為相對位址,將該相對位址之後的資料以區段 (Sector)為單位拷貝至該邏輯位址所指向之新的堆疊區塊 的記憶頁301所對應實體頁的相對位址中(S517),並且取 得新的堆疊區塊的最新累積位址(S519)。此時再進一步判 斷該邏輯位址所指示的記憶頁3〇1是否從該記憶頁3〇1的 第一區段寫入(S521),若判斷結果為是,則將該待寫入新 資料再依據該區域對應表41與相對應之該頁對應表42以 該動態偏差值方式寫入該對應之實體位址中,並更新該區 域對應表41及該頁對應表42(S515);相反的若判斷結果 為否’則在舊的堆疊區塊最後使用記憶頁301所對應之實 體頁中,以該邏輯位址的記憶區段位址為相對位址,將該 14 200805394 相對位址之前的資料以區段為單位拷貝至該邏輯位址所指 向之新的堆疊區塊的記憶頁301所對應實體頁的相對位址 中(3) 並再將§亥待舄入新貢料依據該區域對應表41 與相對應之該頁對應表42以該動態偏差值方式接續寫入 °亥對二之s體位址中’並更新該區域對應表41及該頁對庳 表 42(S515)。 、〜 而若在步驟(S505)判斷管理區域的結果係位於一般資 料官理區域時,則以相同偏移值方式寫入資料至快閃記憶 體30(S525)中。而一般資料管理區域的部份請再參考第六 圖’係本發明記憶體儲存裝置之寫入方法的另一實施例流 程圖,如圖所示主要係本發明針對一般資料管理區域的資 料寫入方法作進一步的說明,其中在步驟(86〇1)至(36〇5) 的部分係與第五圖中的步驟(35〇1)至(85〇5)相同,而在步 驟(S605)判斷管理區域的結果為一般資料管理區域時,則 進行判斷該邏輯位址是否係接續先前寫入資料所處最後位 址(S607),若該邏輯位址係接續先前寫入資料所處最後位 址日守,則依據區域對應表41取得該最後位址對應的實體區 塊位址(S609),並以相同偏移值方式將待寫入新資料寫入 該對應的實體區塊位址,並更新該區域對應表41(S6n)。 此時若步驟(S607)的判斷結果為否,即表示所接收的 邏輯位址並非接續該先前寫入資料所處最後位址,則表示 。玄邏輯位址係指向一新的記憶區塊,而該先前寫入資料則 相對係位於一舊的記憶區塊中,進而在舊的記憶區塊最後 使用記憶頁301所對應之實體頁中,以該邏輯位址的記憶 區I又位址為相對位址,將該相對位址之後的資料以區段為 單位拷貝至該邏輯位址所指向之新的記憶區塊的記憶頁 15 200805394 301所對應實體頁的相對位址中(S613),並且對應區域對 應表41以取得該新的記憶區塊位址對應之新的實體區塊 位址(S615),隨後再進一步判斷邏輯位址所要寫入新的區 塊位址是否從該新的記憶區塊位址的第一記憶頁3〇1開始 舄入(S617) ’若判斷結果為是,則直接將該待寫入新資料 以相同偏移值方式寫入該新的實體區塊位址,並更新該區 域對應表41(S611);相反的若判斷結果為否,則在舊的記 憶區塊最後使用記憶頁301所對應之實體頁中,以^邏輯 位址的記憶區段位址為相對位址,將該相對位址之前的資 料以區段為單位拷貝至該邏輯位址所指向之新的記憶區2 的記憶頁301所對應實體頁的相對位址中(S619),之後再 將忒待舄入新資料以該相同偏移值方式寫入該新的實體區 塊位址,並更新該區域對應表41(S611)。 相同的,若步驟(S605)判斷管理區域的結果為特殊資 料管理區域,·則參考第五圖所示以動態偏差值方式進行資 料寫入至快閃記憶體30中(S621.)。 ' 請參考第七圖,係本發明記憶體儲存裝置之讀取方法 之一實施例流程圖,如圖所示,本發明提供一種記憶體儲 存裝置1之讀取方法,其中記憶體儲存裝置1包含一快閃 §己憶體30,該快閃記憶體30包含複數個記憶區塊Μ,每 一記憶區塊31具有複數個記憶頁301,並且該快閃記憶體 30係邏輯定義為至少一特殊資料管理區域及至少一一般 資料管理區域’而該讀取方法包括:首先接收一讀取資料 的邏輯位址(S701),其中該邏輯位址包含有記憶區塊位 址、記憶頁位址及記憶區段位址。進而透過一區域判斷機 制來判斷該邏輯位址係位於特殊資料管理區域碑一般資料 16 200805394
管理區域(S703),而該區域判斷機制係用以定義特殊資料 官理區域及一般資料管理區域的邏輯分割位址,以在接收 忒待讀取資料的邏輯位址時便進行判斷所屬管理區域。當 該邏輯位址係位於特殊資料管理區域時,則判斷該邏輯位 址是否符合一先前寫入資料的最後記憶頁之位址(s 7 〇 5), 若歧邏輯位址符合先前寫入資料的最後記憶頁位址時,則 再進一步判斷该邏輯位址在該最後記憶頁位址中是否超過 最後區段位址(S707),當該邏輯位址超過該最後區段位 址,=表示該讀取資料係位於該邏輯位址所屬的堆疊區塊 之一舊的記憶頁中,而依據一區域對應表41與相對應之一 頁對應表42以取得該舊的記憶頁之實體頁位址(S7〇9),並 將該舊的記憶胃之實體脉賴狀實體輯巾的讀取資 料讀出(S711);反之若該邏輯位址並無超過該最後區段位 則表示該讀取資料係已被整理至 址 ........一 "入κ丄丄脚屺憶頁中,而依 據該區域對應表41與相對應之該頁對應表拉以取得在該 新的記憶頁的實體頁位址(S 7丨3 ),並將該新的記憶頁的實 體頁位址所屬之貫體區塊中的讀取資料讀 甘 中,該堆疊區塊可例如係包含至少―記憶^^⑴’其 而在步驟⑽5)的判斷結果,該邏輯位址不符人先前 寫入資料的最後記憶頁位址時,則直接依據該區域賴表 41^該頁對絲42以取得該邏輯位輯對應的堆疊區塊 的實體位址(S715),ϋ㈣堆疊區塊對應之實 讀取資料讀出(S711)。 另外,若根據步驟(S703)的判斷結果, 係 位於-般資料管理區域時,則可依據區域對二取二 讀取資料側7),而關於—般資料管理區_部^ = 17 200805394 考第八圖,係本發明記憶體儲存裝置之讀取方法之另一實 施例流程圖,其中在步驟(S801)至(S803)的部分係與第七 圖中的步驟(S701)至(S703)相同,而若在步驟(S803)判斷 管理區域的結果為一般資料管理區域時,則判斷談讀取資 料的邏輯位址是否符合一先前寫入資料的最後記憶區塊位 址(S805),若該邏輯位址符合該先前寫入資料的最後記情 區塊位址時,則再進一步判斷該邏輯位址在該最後記憶區 塊位址中是否超過一隶後A丨思頁位址(S807),若該邏輯位 址超過該最後記憶頁位址,則表示該讀取資料係位於一萑 的記憶區塊中,而依據一區域對應表41以取得對應該舊的 記憶區塊的實體區塊位址(S809),以將該實體區塊位址中 的讀取資料讀出(S811);反之若該邏輯位址並無超過該最 後記憶頁位址’則表示該讀取資料係已在一新的記憶區塊 中,因此依據該區域對應表41以取得對應該新的記憶區塊 的實體區塊位址(S813),以將該實體區塊位址中的讀取資 料讀出(S811)。 ' 此外’若步驟(S805)的判斷結果為否,即表示該邏輯 位址不符合該先前寫入資料的最後邏輯區塊位址,便直接 依據該區域對應表41以取得該邏輯位址所對應的的實體 區塊位址(S815),並將該實體區塊位址中的讀取資料讀出 (S811)。相同的,若步驟(S803)判斷管理區域的結果為特 殊資料管理區域’則參考第五圖所示以依據該區域對應表 41及相對應之頁對應表42讀取該讀取資料(S817)。 附帶一提的是,上述的區域對應表41及頁對應表42 主要係用於對應邏輯位址與實體位址的關聯,若在任何情 形下需取得實體位址時,便會使用到此二對應表。 18 200805394 惟,以上所述,僅為本發明的具體實施例之詳細說明 及圖式而已,並非用以限制本發明,本發明之所有範圍應 以下述之申請專利範圍為準,任何熟悉該項技藝者在本發 明之領域内,可輕易思及之變化或修飾皆可涵蓋在以下本 案所界定之專利範圍。 【圖式簡單說明】 第一圖係習知技術快閃記憶體存取架構示意圖; 第二圖係習知技術快閃記憶體中實體位址與邏輯位址之關 係示意圖及利用該關係所建立之邏輯/實體位址對應表; 第三A圖係本發明之記憶體儲存裝置的一較佳實施例方塊 圖; 第三B圖係本發明應用之快閃記憶體之架構示意圖; 第四A圖係本發明所使用的頁對應表; 第四B圖係本發明利用頁對應表所對應之邏輯頁位址與實 體頁位址之關係示意圖; 第五圖係本發明記憶體儲存裝置之寫入方法的一實施例流 程圖; 第六圖係本發明記憶體儲存裝置之寫入方法的另一實施例 流程圖; 第七圖係本發明記憶體儲存裝置之讀取方法之一實施例流 程圖,及 第八圖係本發明記憶體儲存裝置之讀取方法之另一實施例 流程圖。 【主要元件符號說明】 [習知技術] 19 200805394 外部系統ίο 控制單元20 邏輯/實體位址對應表21 快閃記憶體30 [本發明] - 記憶體儲存裝置1 ' 外部系統10 * 快閃記憶體30 • 記憶區塊31 記憶頁301 控制單元40 區域對應表41 頁對應表42 微處理器43 系統端界面44 記憶體界面4 5
Claims (1)
- 200805394 十、申請專利範圍: L —種記《料裝置,翻於與—外部线間進行資 料的讀取與寫入,包括: 快閃讀體,僥用以儲存讀寫資料,該快閃記憶 體包含複數個記憶區塊,每—該些記憶區塊具有複數 個記憶頁,並且該些記憶區塊在邏輯位址上可區分為至少一特殊資料管理區域及至少一一般資料管理區 域;及 、 —控制單元,更進一步包括: —區域對應表,係用以對應該些記憶區塊的邏輯位 址與實體位址;及 硬數個頁對應表’係分別依據每—該些記憶區塊而 j ·’用以作域些記憶1的邏輯位址與實體位址之 _聯, 百ίΓ,該控制單元係依據該區域對應表與相對應之 =應表以-動態偏差值方式寫人資料至屬於該特殊 理區域之記憶區塊中的記憶頁,以及更新相對 t該區域對應表與頁賴表讀供之後讀寫時的對 愿使用。 如申睛專利範圍第1項所述之記憶體儲存裝置,其中 該控制單元更包含: 1 ’、 系統端界面,係該控制單元與該外部系統間資料 的傳輪·, 日、7 从處理器’係依據該區域對應表及該些頁對應表 以執行讀取、寫入及抹除之相關作業;及 21 200805394 的該控制單元與該快閃記憶體之間 3、 範圍第」項所述之記憶體儲存裝置,其中 物區域及該一般資料管理哪 。己丨思體的實體位址上係混合共用的。 =專利範圍第1項所述之記憶體儲存裝置,其中 里區域及該-般資料管理區域係可依據 域之繁度來作為該兩種資料管理區 5、 6、 8、 儲,,其中 來分別對應-邏輯^了由至少—該些記憶區塊 專利範圍第1項所述之記憶體儲存裝置,盆中 ===;!該控制單元依據該匕 對應表以提供之相對應之該區域 =f裝置’其中 至少一實體位址。 避車耳位址係可對應 裝置之寫入方法,其中該記憶體儲存 憶區^每二 快閃記憶體包含複數個記 入方法包括:" 塊具有複數個記憶頁,該寫 邏輯定義該快閃記憶體為至少一特殊資料管理區域 22 200805394 及至少 般資料管理區域; 接收一待寫入新資料的一邏輯位址(Logi cai Address); 透過區域判辦機制來判斷該邏輯位址係位於該特 殊資料管理區域或該一般資料管理區域; f該邏輯位址係位於該特殊資料管理區域時,判斷 該邂輯位址疋否係接續一先前寫入資料所處最後累積 位址; ' 田孩邏輯位址係接續該先前寫入資料所處最後累積 位址時,則再進一步判斷所屬之一堆疊區塊是否已填 滿; 若5亥堆璺區塊已填滿,便進行整理及擷取該堆疊區 鬼中的資料至另一新的堆豐區塊中,並且依據一區域 ^應表與相對應之一頁對應表取得該新的堆疊區塊之 最新累積位址,進而將該待寫入新資料以一動態偏差 值方式接著寫入該最新累積位址之後所對應之實體位 址中’並更新該區域對應表及該頁對應表;及 若4堆疊區塊未填滿,則直接依據該區域對應表與 相對應之該頁對應表取得最後累積位址,並將該待寫 入新資料以該動態偏差值方式直接接著寫入於該最後 累積位址之後所對應之實體位址中,並更新該區域對 應表及該頁對應表。 如申請專利範圍第8項所述之記憶體儲存裝置之寫入 方去’其中該邏輯位址包含記憶區塊位址、記憶頁位 址及記憶區段位址。 23 200805394 ίο 11 12 13 如申請專利範圍第8項所述之記憶體儲存裝置之寫 ^方法,其中該區域判斷機制係用以比對一事先已定 義該特殊資料管理區域及該-般資料管理區域的邏輯 分割位址。 如申請專利範圍第8項所述之記憶體儲存裝置之寫 入方法,其中該堆疊區塊係包含至少一記憶區塊。 如申請專利範圍第8項所述之記憶體儲存裝置之寫 入f法,其中若該邏輯位址係位於該一般資料管理區 則將該待寫人新資料依據該區域對應表以 同偏移值方式寫人該㈣記憶_實齡址中。 如申請專利範圍第8項所述之記憶贿存裝置 入方法,更包括: 兩 择若該邏輯位址並非接續該先前寫人資料所處最後累 Si:,:將該先前寫入資料所處最後累積位址的 從頁中之後的資料以區段(Sec t 〇 _位址所指示的相對記憶頁中,並且取得 區塊的最新累積位址; 1 段=判斷該邏輯位址所指示的記憶頁是否從第一區 若判斷結果為是,則將該待寫入新f料依區 對應表與相對應之該頁對應表以該動⑽ 入該對應之實體位址中,並更新# 彳方式舄 對應表;纟 域對應表及該頁 ^若判斷結果為否,則以區段為單 _最後累積位址的記憶頁中之前的 24 200805394 輯位址所指示記憶頁的相對位址中,進而再將該待寫 入新資料依據該區域對應表與相對應之該頁對應表以 ϋ亥動恶偏差值方式舄入该對應之實體位址中,並更新 該區域對應表及該頁對應表。 一種記憶體儲存裝置之寫入方法,其中該記憶體儲 存裝置包含一快閃記憶體,該快閃記憶體包含複數個記憶區塊,每一該些記憶區塊具有複數個記憶頁,該 寫入方法包括: 邏輯疋義戎快閃記憶體為至少一特殊資料管理區域 及至少'—般資料管理區域; 接收一待馬入新資料的一邏輯位址(L〇gicai Address); 透過一區域判斷機制來判斷該邏輯位址係位於 殊資料管理區域或該一般資料管理區域; 、 當該邏輯位址係位於該一般資料管理區域時,則判 斷該邏輯位址是否係接續—先前寫人倾所處最後位 址;及 當該邏輯健係接續該先前寫人㈣所處最後位址 時’則依據-區域對絲取得該最後位址對應的實體 區塊位址,並以一相同偏移值方式將該待“ 寫入該最後位址對應的實體區驗址並更新該區域對 應表。 如申請專職®第14項所述之記龍儲钟置之 寫入方法’其巾該邏輯位址包含記憶區塊、 頁位址及記憶區段位址。 25 15 200805394 16 寫°申請專利範圍第14項所述之記憶體儲存裝置之 定^方法’其中該區域判斷機制係用以比對一事先已 〇義读特殊資料管理區域及該一般資料管理區域的邏 車耳分割位址。 17 18 寫如申請專利範圍第14項所述之記憶體儲存裝置之 區〇方法’其中若該邏輯位址係位於該特殊資料管理 捋’則將該待寫入新資料依據該區域對應表與相 播應之—頁對應表以一動態偏差值方式寫入一堆疊區 A的最後累積位址對應之實體位址。 —如申請專利範圍第14項所述之記憶體儲存裝置之 舄入方法,更包括: t該邏輯位址並非接續該先前寫入資料所處最後位 ,則以區段為拷貝單位拷貝該先前寫入資料所處 最後區塊的記憶頁中之後的資料至該邏輯位址 之新的區塊中相對的記憶頁位址,並且對應該區^ 應表以取得該新的實體區塊位址; 進而再該邏輯位址所指示_的區塊位址是 從第一記憶頁開始寫入; 若判斷結果為是,則直接將該待寫入新資料以該相 同偏移值方式寫入該新的實體區塊位址並更新竽7 對應表;及 " 51 若判斷結果為否,則進行拷貝該先前寫人資料所岸 最後區塊的記憶頁中之前的資料至該新的實體區塊2 址中相對的記憶頁位址,並進而再將該待寫入新資料 以該相同偏移值方式寫入該新的實體區塊位址以及= 新該區域對應表。 26 200805394 19、 了種圮憶體儲存裝置之讀取方法,其中該記憶體儲 存裝置包含:快閃記憶體,該快閃記憶體包含複數個 記憶區塊’每一該些記憶區塊具有複數個記憶頁,並 且忒快閃§己憶體係邏輯定義為至少一特殊資料管理區 域及至少 般資料管理區域,該讀取方法包括: 接收一項取資料的邏輯位址(L〇gical Address); 透過一區域判斷機制來判斷該邏輯位址係值於該特殊 資料管理區域或該一般資料管理區域; 當該邏輯位址係位於該特殊資料管理區域時,則判 斷該邏輯位址是否符合一先前寫入資料的最後記憶頁 之位址; 若該邏輯位址符合該先前寫入資料的最後記憶頁位 址,則再判斷該邏輯位址在該最後記憶頁位址中是否 超過一敢後區段位址; 若該邏輯位址超過該最後區段位址,則表示該讀取 資料係位於该逛輯位址所屬的堆疊區塊中之一雈的記 憶頁’而依據一區域對應表與相對應之一頁對應表以 取付遠舊的&己憶頁的實體頁位址,並將該舊的記彳咅頁 所屬之實體區塊中的讀取資料讀出;及 、 右该逛輯位址並無超過該最後區段位址,則表示今 項取資料係已被整理至一新的記憶頁,而依據該區域 對應表與相對應之該頁對應表以取得在該新的記,择頁 的實體頁位址,並將該新的記憶頁之實體頁位址所屬 之實體區塊中的讀取資料讀出。 胃 20、 如申請專利範圍第19項所述之記憶體儲存裝置之 27 200805394 讀取方法,其中該邏輯位址包含記憶區塊位址、記憶 頁位址及記憶區段位址。 21、 ‘· 22、 • 23、 如申請專利範圍第19項所述之記憶體儲存裝置之 讀取方法,其中該區域判斷機制係用以比對一事先已 定義該特殊資料管理區域及該一般資料管理區域的邏 輯分割位址。 如申請專利範圍第19項所述之記憶體儲存裝置之 項取方法’其中該堆疊區塊係包含至少一記憶區塊。 如申請專利範圍第19項所述之記憶體儲存裝置之 讀取方法,其中若該邏輯位址係位於該一般資料管理 區域時,則依據該區域對應表讀取該讀取資料。 如申請專利範圍第19項所述之記憶體儲存裝置之 讀取方法,更包括: 若該邏輯位址不符合該先前寫入資料的最後記憶頁 位址,則直接依據該區域對應表及該頁對應表以取得 ,迦輯位址所對應的堆疊區塊的實體位址,並將該堆 疊區塊對應之實體區塊中的讀取資料讀出。 種^憶體儲存裝置之讀取方法,其中該記憶體儲 存,置包含一快閃記憶體,該快閃記憶體包含複數個 °己丨思區塊’每一該些記憶區塊具有複數個記憶頁,並 且該快閃記憶體係邏輯定義為至少一特殊資料管理區 域及至少一一般資料管理區域,該讀取方法包括: 接收一讀取資料的邏輯位址(Logical Address); 透過一區域判斷機制來判斷該邏輯位址係位於該特殊 貢料管理區域或該一般資料管理區域; 28 200805394 當该遊輯位址係位於該一般資料管理區域時,則判 斷該邏輯位址是否符合一先前寫入資料的最後記憶區 塊位址; 若δ亥逛輯位址付合§亥先兩舄入資料的最後記憶區塊 位址,則再判斷該邏輯位址在該最後記憶區塊 是否超過一最後記憶頁位址; Α若戎邏輯位址超過該最後記憶頁位址,則表示該讀 取資料係位於一舊的記憶區塊中,而依據—區域對應 表以取得對應該舊的記憶區塊的實體區塊位址,以將 该貫體區塊位址中的讀取資料讀出;及 若該邏輯位址並無超過該最後記憶頁位址,則表示 該讀取資料係已在一新的記憶區塊中,而依據該區域 對應表以取得對應該新的記憶區塊的實體區塊位址, 以將該實體區塊位址中的讀取資料讀出。 加、心如申請專利範圍第25項所述之記憶體儲存裝置之 5貝取方法,其中該邏輯位址包含記憶區塊位址、愔 頁位址及記憶區段位址。 °思 27 ^如申請專利範圍第25項所述之記憶體儲存裝置之 貝取方去,其中該區域判斷機制係用以比對一事先 二資料管理區域及該—般㈣管理區域的邏 28 钱如申請專利範圍帛25項所述之記憶體儲存襄置之 =法,其中若該邏輯位址係位於該特殊資料營理 二或蚪,則依據該區域對應表及相對應之一 項取該魏f料。 對應表 29 200805394 29、 如申請專利範圍第25項所述之記憶體儲存裝置之 讀取方法,更包括: 若該邏輯位址不符合該先前寫入資料的最後邏輯區 塊位址,則直接依據該區域對應表以取得該邏輯位址 所對應的的實體區塊位址,並將該實體區塊位址中的 讀取資料讀出。30
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW095124982A TW200805394A (en) | 2006-07-07 | 2006-07-07 | Memory storage device and the read/write method thereof |
US11/581,430 US7516296B2 (en) | 2006-07-07 | 2006-10-17 | Flash memory storage device and read/write method |
JP2006286287A JP2008016003A (ja) | 2006-07-07 | 2006-10-20 | メモリー格納装置及びその読み書き方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW095124982A TW200805394A (en) | 2006-07-07 | 2006-07-07 | Memory storage device and the read/write method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200805394A true TW200805394A (en) | 2008-01-16 |
TWI306263B TWI306263B (zh) | 2009-02-11 |
Family
ID=38920334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW095124982A TW200805394A (en) | 2006-07-07 | 2006-07-07 | Memory storage device and the read/write method thereof |
Country Status (3)
Country | Link |
---|---|
US (1) | US7516296B2 (zh) |
JP (1) | JP2008016003A (zh) |
TW (1) | TW200805394A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI381274B (zh) * | 2008-07-10 | 2013-01-01 | Phison Electronics Corp | 用於快閃記憶體的區塊管理方法、儲存系統與控制器 |
TWI424438B (zh) * | 2009-12-30 | 2014-01-21 | Asolid Technology Co Ltd | 非揮發性記憶體控制裝置及其多階重新排序方法 |
TWI450271B (zh) * | 2009-09-02 | 2014-08-21 | Silicon Motion Inc | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4182993B2 (ja) * | 2006-06-30 | 2008-11-19 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
KR100885783B1 (ko) * | 2007-01-23 | 2009-02-26 | 주식회사 하이닉스반도체 | 플래시 메모리 장치 및 동작 방법 |
US8321652B2 (en) * | 2008-08-01 | 2012-11-27 | Infineon Technologies Ag | Process and method for logical-to-physical address mapping using a volatile memory device in solid state disks |
US20100262979A1 (en) * | 2009-04-08 | 2010-10-14 | Google Inc. | Circular command queues for communication between a host and a data storage device |
US8447918B2 (en) | 2009-04-08 | 2013-05-21 | Google Inc. | Garbage collection for failure prediction and repartitioning |
US20100287217A1 (en) * | 2009-04-08 | 2010-11-11 | Google Inc. | Host control of background garbage collection in a data storage device |
US20100262773A1 (en) * | 2009-04-08 | 2010-10-14 | Google Inc. | Data striping in a flash memory data storage device |
US8527749B2 (en) * | 2009-11-11 | 2013-09-03 | International Business Machines Corporation | User device, computer program product and computer system for system for secure network storage |
TWI417889B (zh) * | 2009-12-30 | 2013-12-01 | Silicon Motion Inc | 快閃記憶體之寫入逾時控制方法及其記憶裝置 |
US8248723B1 (en) * | 2011-01-31 | 2012-08-21 | Oracle International Corporation | System and method for managing errors on a magnetic tape |
KR101329497B1 (ko) * | 2011-03-10 | 2013-11-13 | 한양대학교 산학협력단 | 파티션에 따라서 저장 위치를 물리적으로 구분하는 nvram 기반의 저장 장치 및 상기 저장 장치의 동작 방법 |
TWI546666B (zh) * | 2014-11-03 | 2016-08-21 | 慧榮科技股份有限公司 | 資料儲存裝置以及快閃記憶體控制方法 |
CN105183374B (zh) * | 2015-08-28 | 2018-04-06 | 北京腾凌科技有限公司 | 一种数据读写方法以及主板 |
US10732896B2 (en) * | 2017-06-12 | 2020-08-04 | Western Digital Technologies, Inc. | Method and system for reading data during control sync operations |
US11210173B2 (en) * | 2018-05-09 | 2021-12-28 | Microsoft Technology Licensing, Llc | Fault tolerant device upgrade |
US11599384B2 (en) * | 2019-10-03 | 2023-03-07 | Micron Technology, Inc. | Customized root processes for individual applications |
US11436041B2 (en) | 2019-10-03 | 2022-09-06 | Micron Technology, Inc. | Customized root processes for groups of applications |
US11474828B2 (en) | 2019-10-03 | 2022-10-18 | Micron Technology, Inc. | Initial data distribution for different application processes |
US11429445B2 (en) | 2019-11-25 | 2022-08-30 | Micron Technology, Inc. | User interface based page migration for performance enhancement |
US11366752B2 (en) | 2020-03-19 | 2022-06-21 | Micron Technology, Inc. | Address mapping between shared memory modules and cache sets |
US11836087B2 (en) | 2020-12-23 | 2023-12-05 | Micron Technology, Inc. | Per-process re-configurable caches |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100526188B1 (ko) * | 2003-12-30 | 2005-11-04 | 삼성전자주식회사 | 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리 |
KR100706242B1 (ko) * | 2005-02-07 | 2007-04-11 | 삼성전자주식회사 | 메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법 |
US8307148B2 (en) * | 2006-06-23 | 2012-11-06 | Microsoft Corporation | Flash management techniques |
US20080091901A1 (en) * | 2006-10-12 | 2008-04-17 | Alan David Bennett | Method for non-volatile memory with worst-case control data management |
-
2006
- 2006-07-07 TW TW095124982A patent/TW200805394A/zh unknown
- 2006-10-17 US US11/581,430 patent/US7516296B2/en active Active
- 2006-10-20 JP JP2006286287A patent/JP2008016003A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI381274B (zh) * | 2008-07-10 | 2013-01-01 | Phison Electronics Corp | 用於快閃記憶體的區塊管理方法、儲存系統與控制器 |
TWI450271B (zh) * | 2009-09-02 | 2014-08-21 | Silicon Motion Inc | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 |
TWI424438B (zh) * | 2009-12-30 | 2014-01-21 | Asolid Technology Co Ltd | 非揮發性記憶體控制裝置及其多階重新排序方法 |
Also Published As
Publication number | Publication date |
---|---|
US20080010431A1 (en) | 2008-01-10 |
JP2008016003A (ja) | 2008-01-24 |
TWI306263B (zh) | 2009-02-11 |
US7516296B2 (en) | 2009-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW200805394A (en) | Memory storage device and the read/write method thereof | |
TWI398770B (zh) | 用於快閃記憶體的資料存取方法、儲存系統與控制器 | |
TW573250B (en) | Flash memory system and method of merge of storage data | |
TWI408551B (zh) | 快閃記憶體儲存系統及其控制器與資料處理方法 | |
US11354236B2 (en) | Garbage collection method for data storage device | |
US20120030411A1 (en) | Data protecting method, memory controller and portable memory storage apparatus | |
TW201118877A (en) | Flash memory device, data storage system, and operation method of a data storage system | |
TWI569139B (zh) | 有效資料合併方法、記憶體控制器與記憶體儲存裝置 | |
TW201229754A (en) | Memory system, data storage device, user device and data management method thereof | |
US20080082727A1 (en) | Header blocks for flash memory writes | |
TWI344085B (en) | Storage system for improving efficiency in accessing flash memory and method for the same | |
JP2008242503A (ja) | メモリ管理装置及び方法、並びにプログラム | |
TW200917277A (en) | Adaptive hybrid density memory storage device and control method thereof | |
JP2006221636A (ja) | Run単位アドレスマッピングテーブル及びそれの構成方法 | |
TW200419345A (en) | A flash file system | |
TW201245958A (en) | Flash memory device, memory control device, memory control method, and storage system | |
TW201217968A (en) | Data writing method, memory controller and memory storage apparatus | |
TW201227751A (en) | Data management method, memory controller and memory storage apparatus | |
CN109976664A (zh) | 固态存储设备的日志数据组织 | |
TW201003393A (en) | Data accessing method, and storage system and controller using the same | |
JP2008506298A5 (zh) | ||
US11392436B2 (en) | Advanced file recovery method for flash memory | |
TW201225085A (en) | Data writing method, memory controller and memory storage apparatus | |
TW200941215A (en) | Management method, management apparatus and controller for memory data access | |
TW201621668A (zh) | 資料儲存裝置及其資料寫入方法 |