TWI306263B - - Google Patents
Download PDFInfo
- Publication number
- TWI306263B TWI306263B TW095124982A TW95124982A TWI306263B TW I306263 B TWI306263 B TW I306263B TW 095124982 A TW095124982 A TW 095124982A TW 95124982 A TW95124982 A TW 95124982A TW I306263 B TWI306263 B TW I306263B
- 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
1306263 九、發明說明: 【發明所屬之技術領域】 /本發明係涉及-種記憶贿存裝置及其讀寫方法,特 別係指一種用以提升讀寫效能的記憶體儲存裝置及其方 法。 【先前技術】 一近年來由於電腦(Computer)、通訊(c〇mmunicati〇n) 及消費性電子(Consumer Electr〇nics)等%產業的快速發 展,在各項產品中,透過内建的快閃記憶體或是讀取外部 記憶卡來做為儲存資料的媒介,似乎已是必備的功能之 一。然而隨著使用者存取資料次數的頻繁及存取資料量的 曰益增加’使縣置在讀寫财齡的速度也就成為使用 者選購產品時參考的重點。 雖然快閃記憶體擁有體積小、容量大、省電、非揮發 性且耐震等多項優點,但卻有兩個硬體電氣上的限制,那 就是不能直接覆寫和抹除(Erase)次數的限制。而不能直接 覆寫係指在新資料儲存之前,原位置的資料區段必須先被 抹除後,才能讓新資料重新寫入,而抹除運算且重新設定 所有記憶單元所需要的時間比讀取或寫入運算的時間=, 以 Toshiba TH58NVG1S3AFT05 2Gbit 為例,^讀取二速度 為50ns、寫入的速度為200ns而抹除時間為2ms。並且新 的可用自由空間(Available free space,可立即使用的空 間)必須建立在已預先抹除後的區塊。 請參考第一圖’係習知技術快閃記憶體存取架構示意 圖,如圖所示當代表主機端(Η 〇 s t)之外部系統丨〇送出邏^ 1306263 區塊位址(Logical Bi〇ck Address,LBA)給控制單元2〇 後,而控制單元20在與快閃記憶體3〇進行溝通時,會透 過一個邏輯/實體位址對應表21來記錄該邏輯區塊位址以 及其對應於快閃記憶體3〇中的實體位址(physical B1〇ck Address ’ PBA)以避免每次在資料存取時都必須為了取得相 對應的邏輯位址而從頭到尾搜尋一次。請同時參考第二 圖丄係習知技術快閃記憶體中實體位址與邏輯位址之關係 不意圖及利用該關係所建立之邏輯/實體位址對應表,邏輯 (實體位址對應表21的產生係在系統開機時就建立完成, 並可例如設計一 SRAM來儲存記錄該邏輯/實體位址對應表 21,而後續在存取資料時,利用軟體搜尋在SRM中的邏輯 /實體位址對絲2卜進而快速得軸對於該邏輯位址的 實體位^。就快閃記憶體30的讀寫而言,寫入資料所需的 時間比讀取資料的時間來得長,且#資料要寫人快閃記憶 體30的同蚪又比需考量其所寫的位址内是否已經有資料 存在,如果該位址已有資料存在時必須將此—由外部系統 10寫入的資料先行寫到一個新的可用自由空間内,並將原 本要^寫入的區塊位址中之資料搬移到新的區塊中並變更邏 輯/實體位址對絲2UX讓下個來自外部彡統1Q的邏輯位 址能夠對應到實體位址。 然而,在快閃記憶體機制中,由於外部系統10存取資 料所而的實體位址及邏輯位址為非線性之對應關係,無法 直接由貫触址推知賴她之所在。·,當要搬移快 間記憶體3G巾的資料前,必縣進行搜集的動作以將原本 ΐ寫入的區塊㈣中之資料搜集,而在搬移之後才在邏輯/ 實體位址對絲21進行更新以蚊到新的實體位址。但在 1306263 快閃記憶體存取裝置中,上述搜集、搬移及指定位址的過 程若運作過於頻繁,便會增加抹除及移動寫入的次數,也 就相對地影響_體寫人資料的效能,而其中又例如在微 軟Windows XP®作業系統下所進行上述的過程會最為頻 繁,因此寫入效能的差異也最大。 因此’如何在原有快閃記憶體的硬體存取架構下,透 過軟體私式的改良來減少在各種作業系統下讀 寫快閃記憶
體效犯的差異’甚至提升整體效能,這都是目前值得進一 步改善的地方。 【發明内容】 有鑑於此,本發明所要解決的技術問題,係針對與外 ,系統間所傳輸的資料分為特殊資料内容及-般資料内容 Γ處理’、並且&用不同的存取方式來進行,藉此特殊資料 二理,域可以避免因外部系統時常更新而導致必須頻繁地 搬移負料,進而達到提升快閃記憶體讀寫效能之目的。 捍也ί 了解亡上述問題’根據本發明所提出之-種方案, 的!ίΐ體儲存裝置’係適用於與-外部系統間進行 二門、Γ取…寫人,其包括:—快閃記憶體及—控制單元。 ;;位址了叮塊包括複數個記憶頁’而記憶區塊在 上可區分為至少1殊資料管理區域及至少-- ==:控制單元更進-步包括-區域對應表 以對應該些㈣區塊的邏輯位址與實體位址, 頁對應表,係分別依據每— 地 些記憶頁的邏輯位址與實體=£塊而產生,用以作為該 係依據區域對應表與相;關聯。其中,控制單元 了愿之頁對應表並以一動態偏差值 1306263 方式寫人資駐屬於該特殊龍管㈣域之記㈣塊中的 兄憶頁’以及更新相對應之職域對絲與頁對應表以 供之後讀寫時的對應使用。
為了解決上述問題,根據本發明所提出之另一種方 案’提供-種記憶贿存裝置之寫人綠,其巾該記憶體 ff存裝置,含―快閃記憶體’該㈣記憶體包含複數個記 L區塊母該些5己憶區塊具有複數個記憶頁,而該寫入 方法包括.首先邏輯定義該快閃記憶體為至少—特 管理區域及至少-—般資料管職域,並進行接收一待寫 入新資料的-邏輯位址(Loglcal Address),進而透過—區 域判斷機制來判斷該邏輯位址係位於特殊資料管理區 士叙貝料官理區域’當邏輯位址係位於特殊資料管理區域 判斷該邏輯位址是否接、續—先前寫人·所處最後累 =址,並,當該邏輯位址係接續該先前寫人資料所處最 ^累積位址w,則再進—步判斷所屬的堆疊區塊是否已填 ^ ’若該堆疊區塊已填滿,便進行整理及擷取該堆叠區塊 t的資料至另—新的堆疊區塊中,並且取得該新的堆疊區 =最新累積位址,以將該待寫人新資料依據—區域對應 ^ 目對應之-頁對應表以—動態偏差值方式接著寫入在 j新累積位址之後所對應之實體位址;反之若該堆疊區 ^填滿’則直接將該待寫人新資料依據龍域對應表與 =應之該頁對應細該動態偏差值枝直接接著寫入在 該最後累積位址之後所對應之實體位址。 為了解決上述問題’根據本發明所提出之再一種方 =提供-種記憶贿存裝置之魏方法,其巾該記憶體 f子裝置包含-快閃記憶體,該快閃記憶體包含複數個記 1306263 憶區塊,每-該些記憶區塊具有複數個記憶頁 閃記憶體係定義為至少-特殊資料管理區域及至+ ―=、 資料管理區域,而該讀取方法包括:首先接收 =邏輯位址a_al Address),並再透過—一_ = 來判斷該·位址純於特殊理區U p 理區域,當邏輯位址係位於特殊#料管理區域時 該邏址是否符合一先前寫入資料的最後記憶頁之 3::符合該先前寫入資料的最後記憶頁位址,;再判斷 該妨位址在該最後記憶頁位址巾是過—最後 址’然岐該賴健超财最後 0 ;資料係位於該邏輯位址所屬的堆疊區塊中之 ί的域對應表與相對應之-頁_ 一新的★㈣百 表喊讀取#料已被整理至 。己隱頁,而依據該區域對 表以取得在該新的娜㈣f㈣ust應之該頁對應 頁之實體頁位址所狀實體位址,並將該新的記憶 以厅屬之只體Μ中的讀取資料讀出。 進-步說來的詳細說明及附圖,皆是為了能 功效。而i==定目的所採取之方式、手段及 及圖式中加以闡述。 夂優點,將在後續的說明 【實施方式】 儲存裝^ = 圖及第三3圖,係本發明之記憶體 體之架構示音:土:2例:塊圖及本發明應用之快閃記憶 構不思圖,如第三A圖所示,本發明提供一種記憶 1306263 $存裝置i,適用於與—外部系統1G間進行資料的讀取 其包括:一快閃記憶體30及—控制單元40。快 體3〇是作為讀寫資料的儲存,並且快閃記憶體3〇 ;i g複數個記憶區塊31,而每一個記憶 =記憶請,此外,該些記憶區塊31在4= 卜为為至少一特殊資料管理區域及至少一— :域(如第三B圖所示),但實際在快閃記憶體3〇的實二位 特殊資料管理區域與—般資料管理區域中的記憶區 係混合共用’並且兩種資料管理區域並非一定的排列 读::ί。而特殊資料管理區域可例如係用來處理較常被 ^或搬移的貧料;—般資料管理區域則_來處理較不 萬吊被讀取或搬移的資料。 制單元4G更可進—步包括:一區域對應表4卜 稷數個頁對絲42及—微處理器43,其中區域對應表41 係用以對應記憶11塊31的邏輯位址與實體位址,而^ 一個 塊31都會對應有各自的頁對應表42,用以作為記 憶頁301的邏輯位址與實體位址之關聯。並且控制單元40 透過其中的-系統端界面44來與外部系統1()進行資料的 It輸。:透,其中的—元憶體界面45來做為與快閃記憶體 志^ 1的貪料傳輸通道’進而微處理器43根據區域對應 士生β 應f 42_來執行讀取、寫入及抹除等相關作業, 疒、疋处理特殊育料管理區域時除了使用區域對應表 > ^ *會利用頁對應表42來做為記憶區塊以在進行 Ζί思頁301動態偏差值寫入時的位址對應,而在特殊資料 管理區^巾的記憶㈣31魏頁對應表 42所進行的動態 偏值馬入’會減少特殊資料管理區域中的記憶區塊31 11
丄306263 又外:系統1G的更新頻繁而需時常整理的次數。 應的頁對‘Π::::,值區A對應表41與相對 , 勒怨偏差值方式寫入資料到屬於 區域對應表41與頁對應表42的位址連結 = 讀料的職制、在—織料管理區 來進二域對應表41且以-相同偏移值方式 遠社^ W寫人,亚且隨後進行更新區域對應表41的位址 運結關係。 ;考第四A圖及第四㈣,係本發明所使用的頁 及利用頁對應表所對應之邏輯頁位址與實體頁位址 之關係示意圖,如圖所示,特殊資料管理區域中,可以係 至少一圮憶區塊31為單位來對應一個邏輯區塊,而本發明 係以兩個記憶區塊31為例來說明。在頁對應表42中主要 係分為邏輯頁位址的欄位及實體頁位址的攔位,並且該二 攔位中的連結關係會隨著外部系統1 〇所輸出的邏輯位址 的不同而進行更新。而在第四B圖中的實體位址係例如以 兩個記憶區塊31為說明,分別係第一記憶區塊及第二記憶 區塊’並再依據動態偏差值方式進行資料寫入,先從第一 記憶區塊寫入,待寫滿之後再寫入第二記憶區塊中,而在 兩個記憶區塊31都寫滿之後便進行整理到另一新的第一 記憶區塊,並且再定義一個新的第二記憶區塊來搭配使 用。由於外部系統10所輸出邏輯位址中的邏輯頁位址可能 會有重複的情形,因此在記憶區塊31中會有相同的資料頁 資料,此時的邏輯頁位址會指定在較新的資料頁資料上, 並且頁對應表42會進行更新關聯以對應,而在記憶區塊 12 1306263 • 31整理時便會依據頁對應表42的關聯而僅留下較新資 料頁資料。 ' 另外’頁對應表42中單一邏輯頁位址並非僅限制於對 應記憶區塊31的單一實體頁位址’亦可對應複數個實體頁 位址以避免因使用較多頁對應表42時,佔用控制單元4〇 中用以儲存頁對應表42的空間。 、|青參考第五圖,係本發明記憶體儲存裝置之寫入方法 的一實施例流程圖,如圖所示,本發明提供一種記憶體儲 • 存裝置1之寫入方法,其中記憶體儲存裝置1包含二快閃 δ己憶體30,而快閃記憶體30包含複數個記憶區塊a〗,並 且每一記憶區塊31具有複數個記憶頁301,該寫入方法包 括:首先,邏輯定義快閃記憶體30為至少一特殊資料管理 區域及至少一一般資料管理區域(S501),進而接收一待寫 入新資料的一邏輯位址(S503),其中該邏輯位址包含有記 憶區塊位址、記憶頁位址及一記憶區段位址等。接著透過 、區域判斷機制來判斷該邏輯位址係位於特殊資料管理區 • 域或—般資料管理區域(聊5),其中該區域判斷機制係用 以比對事先已定義特殊資料管理區域及一般資料管理區域 的邏輯分吾J位址,以在接收該待寫入新資料的邏輯位址便 進行判斷所屬管理區域。進而當判斷結果係該邏輯位址位 $特殊資料管理區域時,便判斷該邏輯位址是否接續一先 前寫入資料所處最後累積位址(S5〇7),而若該邏輯位址係 接續該先前寫入資料所處最後累積位址時,則再進一步判 斷該邏輯位址所屬的堆疊區塊是否已填滿(S509),其中堆 f區塊可以係包含至少—記憶區塊31,而當該堆疊區塊已 '滿時’則進行整理及掏取該堆疊區塊中的資料至另一新 13 1306263 的堆豐區塊中(S511)’並且再依據區域對應表41與相對應 之頁對應表42來取得該新的堆疊區塊之最新累積位址 (S512),進而將該待寫入新資料以動態偏差值方式接著寫 入在邊最新累積位址之後所對應之實體位址,並更新該區 域對應表41及該頁對應表42(S515)。反之,若該堆疊區 塊未填滿’則直接依據區域對應表41與相對應之頁對應表 42取得最後累積位址(S513),並將該待寫入新資料以g態 ,差值方式直接接著寫入在該最後累積位址之後所對應之 實體位址,並更新該區域對應表41及該頁對應 42(S515)。 二另外,若在步驟(S507)判斷該邏輯位址是否係接續先 則寫入貧料所處最後累積位址的判斷結果為否時,則表示 °亥邏輯位址係指向一新的堆疊區塊,而該先前寫入資料則 相對係位於一舊的堆疊區塊中,進而在舊的堆疊區塊最後 ,用記憶頁301所對應之實體頁中,以該邏輯位址的記憶 區段位址為相對位址,將該相對位址之後的資料以區段 (Sector)為單位拷貝至該邏輯位址所指向之新的堆疊區塊 的5己憶頁301所對應實體頁的相對位址中(S517),並且取 得新的堆疊區塊的最新累積位址(S519)。此時再進一步判 ,該邏輯位址所指示的記憶頁3〇1是否從該記憶頁3〇1的 f區#又寫入(S521),若判斷結果為是’則將該待寫入新 ,料再依據該區域對應表41與相對應之該頁對應表42以 该動態偏差值方式寫入該對應之實體位址中,並更新該區 域對應表41及該頁對應表42(S515);相反的若判斷結果 為否’則在舊的堆疊區塊最後使用記憶頁3〇1所對應之實 體頁中’以該邏輯位址的記憶區段位址為相對位址,將該 14 1306263 相對位址之前的資料以區段為單位拷貝至該邏輯位址所指 向之新的堆疊區塊的記憶頁301所對應實體頁的相對位址 中(S523),並再將該待寫入新資料依據該區域對應表41 與相對應之該頁對應表42以該動態偏差值方式接續寫入 該對應之實體位址中,並更新該區域對應表41及該頁 表 42CS515:»。 ’ 而若在步驟(S505)判斷管理區域的結果係位於一般資 = 理區域時,則以相同偏移值方式寫入資料至快閃記憶 體30(S525)中。而-般資料管理區域的部份請再參考第六 圖,係本發明記憶體儲存裝置之寫入方法的另一實施例流 ,圖,如_示主要係本發明針對―織料管理區域的資 2寫入方法作進-步的制,其中在步驟⑽丨)至⑽⑹ 的部分係與第五圖中的步驟(_)至(S505)相同,而在步 T(S6〇5)判斷管理區域的結果為—般資料管理區域時,則 斷該邏輯位址是否係接續先前寫入資料所處最後位 Τ〇7),右該邏輯位址係接續先前寫入資料 址時,則依據區域對齡41取得該最後位輯應的實體區 =址⑽9) ’並以相同偏移值方式將待寫人新資料寫入 應的實體區塊位址,並更新該區域對應表4ι⑽⑴。 此時若步驟⑽7)的_結果為否,即表示所接收的 亚非接續該先前寫人資料所處最後位址,則表亍 使用記憶請所對應之實:頁二==區塊最後 將該相對位址之二資料== 早位拷貝至5㈣触闕指向之新的記憶區塊的記憶^ 1306263 • 301所對應實f頁的相對位址中(s⑽,並且對應區域對 表41以取得§亥新的記憶區塊位址對應之新的實體區塊 位址(S615) ’隨後再進一步判斷邏輯位址所要寫入新的區 塊位址是否從該新的記憶區塊位址的第一記憶頁謝開始 寫入(S617),右判斷結果為是,則直接將該待寫入新資料 卩洲偏移齡式以賴的實體區塊健,並更新該區 域對應表41(S611);相反的若判斷結果為否,則在舊的記 憶區塊最後使用記憶頁301所對應之實體頁中’以該邏輯 | 位址的s己憶區段位址為相對位址,將該相對位址之前的資 料以區段為單位拷貝至該邏輯位址所指向之新的記憶區塊 的記憶頁301所對應實體頁的相對位址中(S619),之後再 將該待寫入新資料以該相同偏移值方式寫入該新的實體區 塊位址,並更新該區域對應表4l(S6U)。 相同的,若步驟(S605)判斷管理區域的結果為特殊資 料管理區域,則參考第五圖所示以動態偏差值方式進行資 料寫入至快閃記憶體30中(S621)。 ' _ 請參考第七圖,係本發明記憶體儲存裝置之讀取方法 之一實施例流程圖,如圖所示,本發明提供一種記憶體儲 存裝置1之讀取方法,其中記憶體儲存裝置1包含一快閃 記憶體30,s玄快閃記憶體30包含複數個記憶區塊μ,每 一記憶區塊31具有複數個記憶頁301,並且該快閃記憶體 30係邏輯定義為至少一特殊資料管理區域及至少--般 資料管理區域’而該讀取方法包括:首先接收一讀取資料 的邏輯位址(S701) ’其中該邏輯位址包含有記憶區塊位 址、記憶頁位址及記憶區段位址。進而透過一區域判斷機 制來判斷該邏輯位址係位於特殊資料管理區域或一般資料 16 1306263 : 〗理區域(S7〇3):而該區域判斷機制係用以定義特殊資料 t理區域般資料管理區域的邏輯分割位址,以在接收 該待5賣取貝料的邏輯位址時便進行判斷所屬管理區域。當 錢輯位址躲於特殊資料f㈣域時,關斷該邏輯位 减否符合-先前寫人資料的最後記憶頁之位址⑽5), 賴賴彳紐符合先前寫人的最後記憶脉址時,則 #進-步_該義她在該最後記憶脉址巾是否超過 -最後區段位址(sm) ’當賴齡址超過該最後區段位 • & ’則表示該讀取資料係位於該邏輯位址所屬的堆疊區塊 之-舊的記憶頁中’而依據一區域對應表41與相對應之一 頁對,表42以取得該舊的記憶頁之實體頁位址(S7〇9),並 將,舊的記憶頁之實體頁位址所屬之實體區塊中的讀取資 料讀出(S711);反之若該邏輯位址並無超過該最後區段位 址,則表示該讀取資料係已被整理至一新記憶頁中,而依 據該區域對應表41與相對應之該頁對應表42以取得在該 新的記憶頁的貫體頁位址(S713),並將該新的記憶頁的實 鲁 體頁位址所屬之貫體區塊中的讀取資料讀出(S7n ),其 中,該堆豐區塊可例如係包含至少一記憶區塊31。 而在步驟(S705)的判斷結果,該邏輯位址不符合先前 寫入資料的最後記憶頁位址時,則直接依據該區域對應表 41及該頁對應表42以取得該邏輯位址所對應的堆疊區塊 的實體位址(S715),並將該堆疊區塊對應之實體區塊中的 讀取資料讀出(S711)。 另外,若根據步驟(S703)的判斷結果,該邏輯位址係 位於一般資料管理區域時,則可依據區域對應表41讀取該 讀取資料(S717),而關於一般資料管理區域的部份請再參 17 1306263 考第八圖’係本發明記憶體儲存裝置之讀取方法之另一實 施例流程圖,其中在步驟(S801)至(S803)的部分係與第七 圖中的步驟(S701)至(S703)相同,而若在步驟(從〇3)判斷 管理區域的結果為一般資料管理區域時,則判斷該讀取資 料的邏輯位址是否符合一先前寫入資料的最後記憶區塊位 址(S805) ’若該邏輯位址符合該先前寫入資料的最後記憶 區塊位址時,則再進一步判斷該邏輯位址在該最後記憶^ 塊位址中是否超過一最後記憶頁位址(58〇7),若該邏^位 址超過該最後記憶頁位址,則表示該讀取資料係位於一舊 的δ己彳思區塊中,而依據一區域對應表4 1以取得對應該舊的 記憶區塊的實體區塊位址(S809),以將該實體區塊位址中 的讀取資料讀出(S811);反之若該邏輯位址並無超過該最 後圮憶頁位址,則表示該讀取資料係已在一新的記憶區塊 中^因此依據該區域對應表41以取得對應該新的記憶區塊 的實體區塊位址(S813),以將該實體區塊位址中的讀取資 料讀出(S811)。 ' 此外,若步驟(S805)的判斷結果為否,即表示該邏輯 位址不付合该先4寫入資料的最後邏輯區塊位址,便直接 依據該區域對應表41以取得該邏輯位址所對應的的實體 區塊位址(S815),並將該實體區塊位址中的讀取資料讀出 (S8^1)。相同的,若步驟(S8〇3)判斷管理區域的結果為特 殊資料管理區域,則參考第五圖所示以依據該區域對應表 41及相對應之頁對應表42讀取該讀取資料(S817)。 附帶一提的是,上述的區域對應表41及頁對應表42 主要係用於對應邏輯位址與實體位址的關聯, 形下需取得實體位址時,便會使用到此二;應:糾 18 1306263 惟,以上所述,僅為本發明的1 及圖式而已,並非用以限制本發明,、本說明 以下述之申請專利範圍為準,任何孰朵ς ^乾圍應 牵㈣—* HU及耗或修飾皆可涵蓋在以下太 案所界定之專利範圍。 山盍在以下本 【圖式簡單說明】 係習知技術快閃記憶體存取架構示意圖; 一圖係習知技術快閃記憶體中 係示意圖及利用該關係所建立與邏輯位址之關 筮二Λ m ,>, 邏轉/實體位址對麻表; ^本發明之記鍾儲錢置的—較佳實施财塊 ^B_本發明應用之㈣記憶體之架構示 四A圖係本發明所使用的頁對應表; 第四B圖係本發明利用頁對庫 體頁位址之圖㈣狀雜頁位址與實 第五圖=發明記憶贿存裝置之寫入方法的一實施例流 第六圖明記憶體儲存裝置之寫入方法的另一實: 第七圖係本發明記憶體儲存裝置之讀取方法之 程圖;及 第八圖係本發明記憶體儲存心之讀取_ 流程圖。 、 7只 【主要元件符號說明】 [習知技術] 19 1306263 外部系統ίο 控制單元20 邏輯/實體位址對應表21 快閃記憶體30 [本發明] 記憶體儲存裝置1 外部系統10 快閃記憶體30 記憶區塊31 記憶頁3 01 控制單元40 區域對應表41 頁對應表42 微處理器43 系統端界面44 k 記憶體界面4 5 20
Claims (1)
1306263 十、申請專利範圍: 】、一種記憶體儲存裝置,適用於與—外部系統間進行資 料的讀取與寫入,包括: 快閃§己憶體,係用以儲存讀寫資料,該快閃記憶 ^包3複數個錢區塊,每—該些記憶區塊具有複數 固頁,並且該些記憶區塊在邏輯位址上可區分為 至少一特殊資料管理區域及至少一一般資料管理區 域;及 一控制單元,更進一步包括: —區域對應表’係用以對應該些記憶區塊的邏輯位 址與實體位址;及 複數個頁對應表,係分別依據每 一該些記憶區塊而 產生’用以作為該些記憶頁的邏輯位址與實體位址之 關聯; 其中’該控制單元係依據該區域對應表與相對應之 I ^對應表以一動態偏差值方式寫入資料至屬於該特殊 貧料管理區域之記憶區塊中的記憶頁’以及更新相對 應之該區域對應表與頁對應表以提供之後讀寫時的對 應使用。 2、如申請專利範圍第1項所述之記憶體儲存裝置,其中 該控制單元更包含: 一系統端界面,係該控制單元與該外部系統間資料 的傳輪; 一微處理器,係依據該區域對應表及該些頁對應表 以執行讀取、寫入及抹除之相關作業;及 21 1306263 一記憶體界面,係該控制單元與該快閃記憶體之間 的資料傳輸通道。 0 如申請專利範圍第1項所述之記憶體儲存裝置,其中 該特殊資料管理區域及該一般資料管理區域在該快閃 記憶體的實體位址上係混合共用的。 4如申請專利範圍第1項所述之記憶體儲存裝置,其中 =特殊資料管理區域及該一般資料管理區域係可依據 資料被讀取或搬移的頻繁度來作為該兩種資料管理區 域之處理分配。 5如申請專利範圍第1項所述之記憶體儲存裝置,其中 在該特殊資料管理區域中,可由至少一該些記憶區塊 來分別對應一邏輯區塊。 6、 如申請專利範圍第丨項所述之記憶體儲存裝置,其中 該—般資料管理區域的寫入係該控制單元依據該區域 對應表以一相同偏移值方式寫入資料至屬於該一般資 料管理區域之記憶區塊中,以及更新相對應之該區域 對應表以提供之後讀寫時的對應使用。 7、 如申請專利範圍第1項所述之記憶體儲存裝置,其中 »亥些頁對應表中每一該些記憶頁的邏輯位址係可對應 至少一實體位址。 〜 8、 -種記憶體儲存裝置之寫人方法,其中該記憶體儲存 ^置包含-快閃記憶體,該快閃記憶體包含複數個記 區塊,母一該些記憶區塊具有複數個記憶頁,該寫 入方法包括: 邏輯疋義该快閃記憶體為至少一特殊資料管理區域 22 \ 1306263 及至少一一般資料管理區域; Adfret:待寫入新資料的-邏輯位址(L〇gical J過:區域3斷機制來判斷該邏輯位址係位於該特 =料官理區域或該一般資料管理區域; 田該邏輯位址係位於該特殊資料管理區域時,判斷 ^輯位址是否係接續—先前“#料所處最後累積 田該邏輯位址係接續該先前寫人資料所處最後累積 =址時,則再進-步判斷所屬之—堆疊區塊是否已填 ?雨, 若該堆噠區塊已填滿,便進行整理及擷取該堆疊區 塊中的貝料至另-新的堆疊區塊中,並且依據一區域 =應表與姆應之-頁對絲取得該㈣堆疊區塊之 s新累積位址’進而將該待寫人新資料以—動態偏差 值方式接著寫人該最㈣触址之後所對應之實體位 址中’並更新該區域對應表及該頁對應表;及 右该堆豐區塊未填滿,則直接依據該區域對應表與 相對應之該頁對應表取得最後累積位址,並將該待寫 入新貝料以該動態偏差值方式直接接著寫入於該最後 累積位址之後所對應之實體位址中,並更新該區域對 應表及該頁對應表。 如申請專利範圍第8項所述之記憶體儲存裝置之寫入 方法’其中該邏輯位址包含記憶區塊位址、記憶頁位 址及記憶區段位址。 9、 1306263 ΙΌ il 12 、如申請專利範圍第8項所述之記憶體儲存裝置之寫 入方法,其中該區域判斷機制係用以比對先已定 資料管理區域及該一般資料管理區域的邏G '如申請專利_第8項所述之記憶體儲存裝置之寫 入方法’其中該堆疊區塊係包含至少—記憶區塊。’ 如申請專利範圍第8項所述之記憶體儲存裝置之寫 入方法,其中若該邏輯位址係位於該一般資料管理區 域時,則將該待寫人新㈣依據該區域對應表以一相 同偏移值方式寫入該快閃記憶體的實體位址中。 如申請專利範圍第8項所述之記憶體儲存裝置之寫 入方法,更包括: ‘ 若該邏輯位址並非接續該先前寫入資料所處最後累 積位址時,則將該先前寫入資料所處最後累積位址的 #’丨思頁中之後的資料以區段(sect〇r)為單位拷貝至該 邏輯位址所指示的相對記憶頁中,並且取得所屬堆疊 區塊的最新累積位址; I 進而判斷該邏輯位址所指示的記憶頁是否從第一區 段寫入; 若判斷結果為是,則將該待寫入新資料依據該區域 對應表與相對應之該頁對應表以該動態偏差值方式寫 入該對應之實體位址中,並更新該區域對應表及該頁 對應表;及 ' 若判斷結果為否,則以區段為單位拷貝該先前寫入 資料所處最後累積位址的記憶頁中之前的資料至該邏 24 1306263 輯位址所指示記憶頁的㈣位址巾,進而再將车 :::料依據該區域對應表與相對 岸:以 :==方式寫入該對應之實體位二= °亥區域對應表及該頁對應表。 14 之寫入方法,其中該 tit:,憶體’該快閃記憶體包含複數個 ;"A母5亥些s己丨思區塊具有複數個記憶頁,嗲 寫入方法包括: ^ 及=定義f快閃記憶體為至少-特殊資料管理區域 及至夕 般資料管理區域; 接收一待寫入新資料的一邏 Address) ; logical 殊Ϊ 機制來判斷該邏輯位址係位於該特 殊貝枓g理區域或該一般資料管理區域; 當该邏輯位址係位於該一般 斷該邏輯位址是否係接# ::^理£域時,則判 切寫人資料所處最後位 址,及 當=位址係接續該先前寫入資料所處最後位址 ^則依據-輯對縣取制最後健對應的實體 塊位址’並以—相同偏移值方式將該待寫入新資料 寫入該最後健對應的實體區塊位址並更新該區域對 應表。 如申請專利範圍第14項所述之記憶體儲存装置之 寫入方法’其中該邏輯位址包含記憶區塊位址、記懷 頁位址及記憶區段位址。 〜 25 15 1306263 i9、 一種記憶體儲存裝置之讀取方法,其中該記憶體儲 存裝置包含一快閃記憶體,該快閃記憶體包含複數個 記憶區塊,每一該些記憶區塊具有複數個記憶頁,並 且該快閃記憶體係邏輯定義為至少一特殊資料管理區 域及至少——般資料管理區域,該讀取方法包括: 接收一讀取資料的邏輯位址(Logical Address); 透過一區域判斷機制來判斷該邏輯位址係位於該特殊 資料管理區域或該一般資料管理區域; 當該邏輯位址係位於該特殊資料管理區域時,則判 斷該邏輯位址是否符合一先前寫入資料的最後記憶頁 之位址; 若該邏輯位址符合該先前寫入資料的最後記憶頁位 址,則再判斷該邏輯位址在該最後記憶頁位址中是否 超過一最後區段位址; 若該邏輯位址超過該最後區段位址,則表示該讀取 資料係位於該邏輯位址所屬的堆疊區塊中之一舊的記 憶頁,而依據一區域對應表與相對應之一頁對應表以 取得該售的記憶頁的貫體頁位址,並將該售的記憶頁 所屬之實體區塊中的讀取資料讀出;及 若該邏輯位址並無超過該最後區段位址,則表示該 讀取資料係已被整理至一新的記憶頁,而依據該區域 對應表與相對應之該頁對應表以取得在該新的記憶頁 的實體頁位址,並將該新的記憶頁之實體頁位址所屬 之實體區塊中的讀取資料讀出。 2-0、 如申請專利範圍第19項所述之記憶體儲存裝置之 27 1306263 讀取方t ’其中該邏輯位址包含記憶區塊位址、記憶 頁位址及記憶區段位址。 21、 如U利範圍第19項所述之記憶體儲存裝置之 讀取方法,其中該區域判斷機制係用以比對一事先已 定義該特殊資料管理區域及該一般資料管理區域的邏 輯分割位址。 22、 如中π專利㈣第19項所述之記憶體儲存裝置之 讀取方法,其中該堆疊區塊係包含至少一記憶區塊。 23、 士如申請專利範圍帛19項所述之記憶體儲存裝置之 „貝取方法,其中若s亥邏輯位址係位於該一般資料管理 區域%,則依據該區域對應表讀取該讀取資料。 24、 如申明專利範圍第19項所述之記憶體儲存裝置之 讀取方法,更包括: 若該邏輯位址不符合該先前寫入資料的最後記憶頁 位址’則直接依據該區域對應表及該頁對應表以取得 該邏輯位址所對應的堆疊區塊的實體位址,並將該堆 豐區塊對應之實體區塊中的讀取資料讀出。 25、 一種記憶體儲存裝置之讀取方法,其中該記憶體儲 存裝置包含一快閃記憶體,該快閃記憶體包含複數個 記憶區塊,每一該些記憶區塊具有複數個記憶頁,並 且該快閃記憶體係邏輯定義為至少一特殊資料管理區 域及至少--般資料管理區域,該讀取方法包括: 接收一 §買取資料的邏輯位址(Logical Address); 透過一區域判斷機制來判斷該邏輯位址係位於該特殊 資料管理區域或該一般資料管理區域; 28 13〇6263 當該邏輯位址係位於該一般資料管理區域時,則判 斷該邏輯位址是否符合一先前寫入資料的最後記憶區 塊位址; 若該邏輯位址符合該先前寫入資料的最後記憶區塊 位址,則再判斷該邏輯位址在該最後記憶區塊位址中 是否超過一最後記憶頁位址; 若該邏輯位址超過該最後記憶頁位址,則表示該讀 取資料係位於一舊的記憶區塊中,而依據一區域對應 表以取得對應該舊的記憶區塊的實體區塊位址,以將 該實體區塊位址中的讀取資料讀出;及 若該邏輯位址並無超過該最後記憶頁位址,則表示 該讀取資料係已在一新的記憶區塊中,而依據該區域 對應表以取得對應該新的記憶區塊的實體區塊位址, 以將該實體區塊位址中的讀取資料讀出。 26、 如申請專利範圍第25項所述之記憶體儲存裝置之 讀取方法’其中該邏輯位址包含記憶區塊位址、記憶 頁位址及記憶區段位址。 27、 如申請專利範圍第25項所述之記憶體儲存裝置之 讀取方法,其中該區域判斷機制係用以比對一事先已 定義該特殊資料管理區域及該一般資料管理區域的邏 輯分割位址。 28、 士如申請專·圍第25項所述之記憶體儲存裝置之 讀取方法,其中若該邏輯位址係位於該特殊資料管理 區域時’則依據該區域對應表及相對應之一頁對應表 讀取該讀取資料。 29 1306263 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 TW200805394A (en) | 2008-01-16 |
TWI306263B true 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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI417889B (zh) * | 2009-12-30 | 2013-12-01 | Silicon Motion Inc | 快閃記憶體之寫入逾時控制方法及其記憶裝置 |
Families Citing this family (23)
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 | 주식회사 하이닉스반도체 | 플래시 메모리 장치 및 동작 방법 |
TWI381274B (zh) * | 2008-07-10 | 2013-01-01 | Phison Electronics Corp | 用於快閃記憶體的區塊管理方法、儲存系統與控制器 |
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 |
US20100287217A1 (en) * | 2009-04-08 | 2010-11-11 | Google Inc. | Host control of background garbage collection in a data storage device |
US8566507B2 (en) * | 2009-04-08 | 2013-10-22 | Google Inc. | Data storage device capable of recognizing and controlling multiple types of memory chips |
US8433845B2 (en) | 2009-04-08 | 2013-04-30 | Google Inc. | Data storage device which serializes memory device ready/busy signals |
TWI450271B (zh) * | 2009-09-02 | 2014-08-21 | Silicon Motion Inc | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 |
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 |
TWI424438B (zh) * | 2009-12-30 | 2014-01-21 | Asolid Technology Co Ltd | 非揮發性記憶體控制裝置及其多階重新排序方法 |
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 |
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 |
US11599384B2 (en) * | 2019-10-03 | 2023-03-07 | Micron Technology, Inc. | Customized root processes for individual applications |
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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI417889B (zh) * | 2009-12-30 | 2013-12-01 | Silicon Motion Inc | 快閃記憶體之寫入逾時控制方法及其記憶裝置 |
Also Published As
Publication number | Publication date |
---|---|
TW200805394A (en) | 2008-01-16 |
JP2008016003A (ja) | 2008-01-24 |
US20080010431A1 (en) | 2008-01-10 |
US7516296B2 (en) | 2009-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI306263B (zh) | ||
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
US6938144B2 (en) | Address conversion unit for memory device | |
US20190220396A1 (en) | Data Storage Device | |
JP4533956B2 (ja) | フラッシュメモリシステムのデータ記憶容量の解放 | |
KR101446832B1 (ko) | 메모리 맵핑 기술 | |
TWI408551B (zh) | 快閃記憶體儲存系統及其控制器與資料處理方法 | |
TW573250B (en) | Flash memory system and method of merge of storage data | |
US11354236B2 (en) | Garbage collection method for data storage device | |
EP2605142A1 (en) | LBA bitmap usage | |
JP2006221636A (ja) | Run単位アドレスマッピングテーブル及びそれの構成方法 | |
JP4415356B2 (ja) | 二重ジャーナリングの保存方法及びその記憶媒体 | |
JPH08137634A (ja) | フラッシュディスクカード | |
TW201814526A (zh) | 記憶體管理方法及使用所述方法的儲存控制器 | |
JP2007241576A (ja) | 不揮発性記憶装置およびそのデータ書込み方法 | |
CN112882650B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
TW201007451A (en) | Block management method for flash memory and storage system and controller using the same | |
US11520698B2 (en) | Data storage device in a key-value storage architecture with data compression, and non-volatile memory control method | |
TW200921385A (en) | Storage system for improving efficiency in accessing flash memory and method for the same | |
CN112882649B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
CN109976664A (zh) | 固态存储设备的日志数据组织 | |
JP2004326165A (ja) | メモリ制御装置およびメモリ制御方法 | |
TW200941215A (en) | Management method, management apparatus and controller for memory data access | |
TW200949536A (en) | Flash memory storage management system and related method | |
CN113448492B (zh) | 数据存储系统以及非挥发式存储器控制方法 |