TWI329805B - - Google Patents

Download PDF

Info

Publication number
TWI329805B
TWI329805B TW094125951A TW94125951A TWI329805B TW I329805 B TWI329805 B TW I329805B TW 094125951 A TW094125951 A TW 094125951A TW 94125951 A TW94125951 A TW 94125951A TW I329805 B TWI329805 B TW I329805B
Authority
TW
Taiwan
Prior art keywords
cluster
memory
block
flash memory
area
Prior art date
Application number
TW094125951A
Other languages
English (en)
Other versions
TW200705180A (en
Inventor
Hsiang Chi Hsieh
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 filed Critical
Priority to TW094125951A priority Critical patent/TW200705180A/zh
Priority to US11/490,049 priority patent/US7461198B2/en
Publication of TW200705180A publication Critical patent/TW200705180A/zh
Priority to US12/155,566 priority patent/US7861028B2/en
Application granted granted Critical
Publication of TWI329805B publication Critical patent/TWI329805B/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

Description

九、發明說明: 【發明所屬之技術領域】 本創作係有關於-射調式快閃記憶體管理纽及方法,尤f 一種應用於_記·㈣讀、寫管理,及以重新規败義之:倾 讀寫基本控制單元進行資料讀寫之系統、方法。 【先前技術】 按’快閃記賊叙制於乡媒體龍之儲存與記錄,例如:數 位〜像或聲音資料之儲存及記錄,皆需仰賴於快閃記紐之應用。然 而s知之快閃記憶體之資料讀寫控制及管理方式的兩種方法為: 一、-種方法為糊-個記憶體f求量很大的對映表,表中記錄每個 邏輯區塊位址(Logical Block Address,⑽目前對映到哪個實 體位址。職的作法可錄錄能得知某—邏龍齡址對映到 哪個實體位址,因此讀跟寫的效率就會很好。但缺點是它需要去 維持-個記憶體需求量很大的對映表,所以會消耗大量的實體記 憶體空間,舉例來說,對—個512百萬位元组⑽)的快閃記憶 體來說,若-健塊的大小是512位元組(Bytes>則會有1 048, 576個邏輯區塊位址;假設系統需要4個位元組來表示一個實體 位址’則此方法需要4百萬位元組的實體記憶體空間。 二、二種絲也是類-娜絲,但射只記縣倾輯抹除單元 (logical e騰unit)對映到哪個實體抹除單元(咖㈣沈脱 unit)。當要從邏魄塊位址轉換成實體位址,它先將邏輯區塊 1329805 位址分成兩部份,一部份是邏輯抹除單元位址,另一部份是抹除 單兀内的偏移量(offset)。假設—個抹除單元可以儲存犯個邏 輯區塊的㈣’騎難料核讀等祕區齡址除以 32之商,而抹除單元内的偏移量便等於邏輯區塊位址除以犯之 餘數。然後它再將所雜抹除單植址對麟述所提的對映 表得到實體絲單元紐,此實體抹除單元錄與抹除單元 内的偏移量相加後所得的結果便是實體位址。此種方法雖然可以 大幅減少記憶體㈣的雜,但它㈣料寫人的效率卻會很差, 因為當它要寫入的位置已經被寫過時,它便需將該抹除單元内的 資料(除了目前要寫的這段範圍外)全部複製(c〇py)到一個空的 抹除單元’然後將要寫的資料寫到新的抹除單元中對應的位置, 再將舊的絲單元絲(e聰)掉。由於記㈣寫入與株除 的速度都㈣較慢,此種方法,會㈣相當多的_在複製資料 與抹除動作上,所以資料寫入效率大打折扣。 另外,在相關之先前專利文獻方面,例如:美國發明專利第5,咖, 425號案,此種作法是上述習知第二種方法之變形方法,即贱方法, 在美國前案之_方法中一個邏輯抹除單元會對映到—個或一個 以上的實體抹除單元’而所有對映到同—個邏輯抹除單元的實體 單:會形成一個連結串列〇1_咖當它要寫入一個心 的資料,它便會用前段所述的方法得知該邏雛塊是胁哪_個邏輯 抹除單元,雌再到其對應的連結串列,從第—個實體抹除單元壯 往後’檢纽恤是寫過,若财過職下—個實_除單元 6 當找到第一個沒被寫過的位址,它便將資料寫在該位址;若已經找過 所有在連結串列上的實體抹除單元還是找不到可寫的位址,那麼它便 將個空的實體抹除單元加到該連結串列後,並把資料寫到正確位 置。若要讀取一個邏輯區塊的資料,它也是先得到對應的連結串列, 然後從頭開始找,找到最後—個有寫過的位址(代表其所存的資料是 最新的)’再將其讀t在此·方法巾,不論是雜讀或寫,都要 做搜尋的動作,而且若其對應的連結串列很長,搜尋的時間將會很長, 如此皆會使資料讀寫效率下降。 a由上述之習知鋼記賴之資料讀寫管理方法及蝴方式可知 •之各方法會有兩讎端,—個是效率很好但㈣耗太多快閃記 量另倘疋请耗記憶體容量报小但效率卻變得报差。本發明 出—峨財嫩罐㈣,@職街觸寫之基 工制早4數可以在效顿記憶财量使用量之辦調整。 發明之主要目的,枚缺供—種可赋㈣記憶崩 輯巴塊包括―_讀體、趣記魅及—記憶娜 鮮蝴爛,使糊記憶體、肩 擬讀Q及-讀體_輯 制,可.繼嫩軸 可以達到減錢職_卿峨^=刪寫 本發明之再-目的即是在於提供— 及方法記碰、雜記,㈣ ;、A記細官理系統 紅及—記憶體邏輯區塊區内分別規 劃有若干實·除單元、區段、框架、、虚擬抹除單元、區域、 ㈣邏雛似錢料料輕基本控卿元,心射各基本控制 單元間之婦,祕-步婦及管__峨體諸讀寫控制所需 之記憶體容量及資_寫效率,使該記憶體容量及資_寫效率可以 被調整至最佳之狀態。 為達上述之目的,本發明之可調式快閃記憶體管理系統,係包括 一快閃記龍、虛擬記舰及-記題邏魅舰,其巾,該快閃記 隐體内規財若干實體抹除單元,每—實體抹除單元_設有至少一 又母㈣又規劃3又有至少一框架,該框架包括至少一個連續之記 憶頁’該虛擬記憶區内規劃有若干個區域,每個區域規劃設有至少一 虛擬抹除單元,該記憶體邏輯區塊區規劃設有若干叢集,每一個叢集 包括至少一記憶邏輯區塊,藉由該實體抹除單元、區段、框架、記憶 頁、虛擬抹除單元、區域、記憶邏輯區塊及叢集間之關係形成對應的 資料讀寫關係,以控制快閃記憶體内之資料讀寫,藉以達到調整快閃 記憶體讀寫蝴所需織體容量及資料讀寫鱗之雙重功效。 本發明之可調式快閃記憶體管理方法,係包括下列步驟: (a) 根據快閃記憶體寫入要求所對應的邏輯區塊錄定義一快閃記憶 體、虛擬記憶區及一記憶體邏輯區塊關係; (b) 定義快閃記憶體内之實體抹除單元、區段、框架、記憶頁之資料 讀寫基本控制單元; (c) 疋義虛擬記憶區内之虛擬抹除單元、區域之資料讀寫基本控制單 元; 8 1329805 制單 ⑷定義記‘轉_塊狀絲及邏輯記贿塊資_寫基本控 元; ⑹依據實觀除單元、區段、框架、記‘_、虛擬抹除單元、區域 及記憶邏輯區塊及叢集間之關係分別建立抹除單元表(e聰咖 table)、叢集表(cluster table)與空區段表(㈣聊邮 table); 閃記憶 ⑴依據抹除單疋表、叢集表與空區段表間之對應關係進行快 體之資料讀寫運算處理。 2由上述可調式_記憶體管理方法之步驟,使該記憶體之資料 艰寫控制’可使快閃記紐資料讀寫時之所需記憶體容量及讀寫效率 調整達到兩者兼顧之最佳狀態。 【實施方式】 首先請參圖卿,為本發明之可調式,_記髓管理系統 謂之系統方塊圖,該管理系統⑽係'包括—快閃記憶體1〇、虛擬記 ^區20及-記憶姻輯區塊區3〇,其中,該快閃記憶體1〇内定義規 劃設有若干個實雜除單元u ’該實體抹除單元u規劃設有至少一 連續之區段12 ’該每-區段12規劃設有至少—連續之框架13,該框 架^規劃設有至少-連續之記憶f 14,該實體抹除單元^及記憶頁 14為快閃記憶體1G内原有之資料讀寫的基本單元,該區段12及框架 13為重新定義細之_記賴1G將讀寫的基本鋪單位,可於 該快閃記《 1G進行料狀練巾進行賴,g卩該隨12及框架 9 1329805 13之格式及單減财式可納讀閃記憶體1()之格式錄體或讀寫 _ 控制硬體中,例如:讀卡器。 上述之虛擬記憶區20為存在於快閃記憶體1〇之讀寫控制軟體或 硬體中,例如:位於電子設備主機之讀卡控制軟體或讀卡機内,該虛 擬記憶區20内賴設有若干麵域2卜每—個區域21喊劃設有至 , 少一虛擬抹除單元22,該區域21及虛擬抹除單元22為重新定義規劃 • 之快閃記憶體10資料讀寫的基本控制單位,可於該快閃記憶體1〇進 • 彳了料化之棘巾断闕,納人快閃記紐1G之格纽軟體或讀 寫控制硬體中,例如:讀卡器。 上述之記憶體邏輯區塊區3Q,即為快閃記碰1()資料讀寫之邏 輯區塊位址,該記賴邏龍塊區3Q __有若干叢集31,該叢 集31包括至少-連續之邏輯記憶區塊犯,該叢集31為重新定義規劃 之快閃記M 1G資_寫的基本㈣單位,可於該快閃記憶體1〇進 行格式化之過程中進行規劃,納入快閃記憶體1〇之格式化軟體或讀 鲁 寫控制硬體中,例如:讀卡器β 上述之快閃3己憶體1〇、虛擬記憶區2〇及一記憶體邏輯區塊區3〇 間之對應關係’可由第—圖來加以顯示說明,惟該對應關係並非以第 圖之對應關係為限,舉凡是其他等效之對應關係規劃,當不脫本創 作之範可。其中’該記憶體邏輯區塊區30内之-叢集31係對應虛擬 。己tt區20之-區域21内之—虛擬抹除單元22内容,該每—區域μ 内之虛擬抹除單凡22係對應於快閃記憶體1〇之每一實體抹除單元 11再藉由上述的快閃記憶體1〇、虛擬記憶區2〇及一記憶體邏輯區 10 1329805 塊區3〇崎觸設置縣本控制單元,如實體抹除單元U、⑺2 框架13、記憶頁14、區域2卜虛擬抹除單元以 又。 憶區塊32間之關係,使該對應記億體邏輯區塊區%内、3== ,卿物_咖!= 實體的δ己憶頁14内進行資料讀出或寫入之動 … 制單元,例如:實體抹除單元u、區段12、框架η各個基本控 域21、虛擬抹除單元22、叢隼31 〇 °己…頁14、區 9
最集31及邏輯記憶區塊犯等容 規劃調整,相韻快_髓1G於進㈣料讀寫㈣ 憶體容量及資_寫效衬以被適當輕。 請桃合第二圖所示,為本發明之可調式快閃記憶體管理方法之 系統流程圖,其中,該方法之步驟包括·· (200)根據快閃記憶體寫入要求所對應的邏輯區塊位址定義—快閃記 憶體、虛擬記憶區及一記憶體邏輯區塊關係。即依據上述二 圖所示之系統方塊圖予以定義規劃該快閃記憶體ι〇、虛擬記憶 區20及記憶體邏輯區塊區。 ⑽)定義快閃記憶體内之實體抹除單元、區段、框架、記憶頁之資 料讀寫基本控制單元。即依據第一圖中之快閃記憶體10之内容 結構予以定魏_實麟除單元11、區段12、轉13及記 憶頁14等基本控制單元。 (22〇)絲虛擬記憶區内之虛擬抹除單元、區域之資料讀寫基本控制 早凡。即依據第-圖中之虛擬記憶區2〇之内容結構予以定義規 11 1329805 劃出區域21、虛擬抹除單元22等基本控制單元。 (230)定義記憶邏輯區塊内之叢餘邏輯記魅塊f_寫基 單元。即依據第一圖中之2G之記憶體邏輯區塊區30内容2 予以定義規劃出叢集31及邏輯記憶區塊32等基本控制單元
(240)依據實體抹除單元、區段、框架、記憶頁、虛擬抹除單元、品 域及記憶邏輯區塊及叢集間之關係分別建立抹除單元表區 表與空區段表。即根據第i所示之實觀除單元丨卜區段=集 框架13、記憶頁14、區域21、虛擬抹除單元22、 取·果di及邏 輯記憶區塊32間之關係分別建立一抹除單元表4〇、叢集表% 及空區段表60(如第三圖及第四圖所示)。 (250)依據抹除單元表、叢集表與空區段表間之對應關係進行快閃記 憶體之資料讀寫運算處理。即根據步驟24〇進行將記憶體邏輯 區塊區30内之各邏輯記憶區塊32之資料讀出或寫入要求,可
以在對應於_記紐1G之對應實體的記,随14魄行資料 讀出或寫入之動作。 即藉由上述方法之各步驟使該快閃記憶體10在接受到一個資料 讀出或寫人要树,得簡對應記鐘邏輯區塊魏之轉記憶區塊 32之資料讀出或寫人要求,對應至實體·閃記紐iq之實體記憶 頁14中進行資料讀出或寫入動作,而上述之步驟咖〜咖可以是預 先儲存於連結快閃記憶體1()作為㈣讀寫控制之電子主機硬體設備 内之4寫控制軟體’例如:個人細域,或者是預先燒錄於快閃記 12 憶體10資料讀寫硬體設備内之控制程式,例如:讀卡機之微處理器 或控制電路内之控制程式β 請再參閱第三圖及第四圖所示,為上述本發明方法中之步驟240 之抹除單元表4〇、叢集表5〇及空區段表6〇間在快閃記憶體iq之資料讀 出及寫入的實際運算對應關係圖,其中,該抹除單元表4〇中記錄了該 虛擬記憶區20中之每個區域21中的每個虛擬抹除單元22目前對映到哪 一個快閃記憶體10中之實體抹除單元U ;叢集表5〇中記錄了記憶體邏 輯區塊區30中每個叢集31目前儲存在其所屬的區域21中的哪一個虛擬 抹除單元22裡對應的哪一個區段12 ^由於每個叢集31屬於哪一個區域 21可用區域21編號(region number)=叢集31編號(ciuster number) 除以區域21的個數所得之餘數轉換算出,因此只需知道一個叢集幻是 存在其所屬的區域21中的哪一個虛擬抹除單元22對應的哪一個區段 12,便可透過轉換公式與抹除單元表4〇得知該叢集31是儲存在快閃記 憶體10中之哪一段實體位址範圍;該空區段表60中記錄了每個區域21 中那個虛擬抹除單元22對應的哪一個區段12至少有一個空的框架 13,該空的框架13可用來儲存新的資料,利用空區段表6〇可以很快找 到空的框架13來寫入新的資料。 第三圖所示為藉由抹除單元_、表5晴應以讀出快閃記憶 體10内對應之s己憶體邏輯區塊位址之邏輯記憶區塊32之實體的快閃記 憶體10之區段13内容之運算對射法,即由該記紐邏㈣塊區3〇之 邏輯區塊位址’透過抹料元細及叢集細,制其資料儲存在快 閃記憶體10哪-區段12之實難址,其巾,代表該邏輯記憶區塊 13 1329805 32之邏輯區塊位址LBA之值為2〇93,記憶邏輯區塊個數α代表一個叢集 31包含多少個邏輯記憶區塊32數量,在本發明中係列舉該記憶邏輯區 塊個數α為4 ’叢集值;9為該邏輯區塊位址LBA除以記憶邏輯區塊個數〇1 之商值’如第三圖所列舉之實施例中,該邏輯區塊位址LBA與叢集表5〇 間則連結一除法器f,得到叢集值々為523,該除法器f可以是一個軟 . 體或硬體之除法單元’該叢集表50之叢集表值石(〇)〜石(N),每個 ♦ 叢集表值〜石(N)儲存有對應抹除單元表4〇之位元組值ω0〜ω 該快閃記憶體之實體抹除單元11之區段值,該位元組值ω0〜ω _ Ν為第三圖所示之抹除單元表40之橫向座標值,如該叢集表值点(523) 内容值為(3 ’ 1),納容值第—元素”3,,即指向錄元組值⑹,内容 值第二兀素”1”即指向實體抹除單元u之第一個區段12(如第三圖中標 示灰階者)。 上述之除法器f與抹除單元表40間則連結一模數器m,該模數器〇 之兩個輸入端分別連結上述之除法器f輸出之叢集歸及虛擬記憶區 • 2G之區域21之區域總數量μ,即該叢集值赠以區域總數量μ取餘數即 得到抹除單元表值γ,如第三圖所示之例,該叢集值錄烈除以區域 總數量μ為512取餘數,而得到區域值_,該區域值丫即為對應抹除 單絲歡抹料元·γ⑻〜γ(Ν)巾之γ(⑴,再齡±述所得之 位元組值ω3,可對應到抹除單元表值γ(η)中之位元組值⑽内容值為 73 ’該内容值即胁_記憶龍之㈣個實體抹除單元u,再配合 上述之第-個隨2位址指向,即可在該快閃記憶_之細固實體 抹除單元11之第-個區段12内的框架13中__叢集⑽ 14 儲存資料,而可將該資料作讀出之動作β 同理在第四圖中係顯示藉由抹除單元表40及空區段表60找出快閃 記憶體1G㈣應之記舰邏輯區塊位址之賴記縣之實體的快 閃記憶體10之區段12的空轉13供資料寫人,其巾,除法^及模數 器m依序串接於該邏輯記憶區塊32之邏輯區塊位址LM與抹除單元表 40、空區段^:60之間’該邏輯區塊位址LBA之值為2〇93 ;區域總數量μ 為512 ;記憶邏輯區塊個數{1為4 ;在模數器111輸出端得到一空區段值 5及區域值γ均為U,該空區段值占即指向該空區段表6〇之空區段表 值5⑻〜5⑻中之5(11)内容值’該空區段表值5(11)之值為(2, 〇)同樣地’該第-元素值”2”指向如同第三圖之抹除單元表之位 το組值ω2及Θ容值帛二元素,,〇’,麟向龍抹料元u之第零個區段 12(如第三圖中標示灰階者)。 另外’該區離γ翻向抹除單元表4〇之抹除單元練γ⑻〜γ( n ) 中之γ(11),再配合上述得到之抹除單元表4〇之位元組值ω2,得到該 抹除單元表值γ(11)之位元組值ω2之值為133,即指向該快閃記憶體1〇 之第133個實體抹除單元u ’ g&合上述之第零健段12,即可在該快 閃S己憶體10之第133個實體抹除單元^之第零個區段12内找到空的框 架13供資料寫入之用。 請再參閱第五圖所示,為上述之步驟25〇之快閃記憶體1〇之資料 讀寫控制之詳細流程® ’其中’係在㈣記髓1Q中建立—叢集暫存 器,其步驟更包含: 1329805 (_區塊誠寫請求。料㈣者料糾蝴記龍 控制之電子裝置主機設備之讀或寫請求命令,例如=讀寫 機或讀卡機。 卿人電腦主 (_判斷是讀或寫請求?如為讀取請求則進行步驟卿; 求則進行步驟330。 马寫入凊 («塊所屬的叢集是否跟目前在叢集暫存器中的麵
斷該邏輯記《塊32所屬之叢細㈣集暫存㈣隹·判 相同,如果是則進行步職,如果不是則進行步驟321是否 (321) 目前在叢集暫存器中的叢集之資料是否被修改過?如果β 行步驟322 ;如果不是則進行步驟323。 疋則進 (322) 將存在叢集暫辆巾的叢#之資料寫回快閃記憶體。 (323) 將該區塊所屬的叢集之資料從快閃記紐複製到叢集暫存器。 (324) 從叢集暫存器中讀出該區塊的資料。
(325) 結束。 (330) 該區麟制叢集是否跟目前在叢集暫存器巾的叢集—樣?判 斷該賴記麵塊32之叢集31與鶴暫存器内之絲是否相同, 如果是則進行步獅4 ’如果不是_行步驟33卜 (331) 目則在叢集暫存器中的叢集之資料是否被修改過?如果是則進 行步驟332 ;如果不是則進行步驟333。 (332) 將存在叢集暫存H中的叢集資料寫回㈣記憶體。 1329805 (333) 將該區塊所屬的叢集之資料從快閃記憶體複製到叢集暫存器。 (334) 將要寫入的資料覆寫到叢集暫存器中。 (335) 該區塊寫人請求是否為請树列中最後—個區塊讀寫請求?如 果疋則進行步驟336,如果不是進行步驟325。 (336) 將存在叢錢存器巾的叢#資料寫雜閃記紐。返回執行步 驟(325) 〇 即經由上述之步驟300〜336得以使該快閃記憶體1〇在接受到資 料讀出或寫人請求時,得以藉由該叢集暫存器之建立,可以較第三圖 及第四圖所7F之讀寫控制方式更加驗運算及處理時間,可以進—步 提昇快閃記憶體10之資料讀寫控制效率。 請再配合第六圖及第七圖所示,該第六圖為第五圖中之步驟呦 及333之詳細流程圖,即將對應快閃記憶體1〇之邏輯記憶區塊犯資 料複製到叢集暫存器的方法,其步驟包含: (323Α)在’關記憶體巾找到該叢集最新且有效的資料。 (323Β)是否有找到資料?如果是則進行步職%,如果不是進行步驟 323D。 (323C)將該資料讀入叢集暫存器中。 (323D)將叢集暫存器中每個位元Qjit)都設成〇。 該第七圖為第五針之步驟322、微及咖之詳細流程圖,即將 存在叢集暫存H中的叢細龍寫回㈣記憶體10之方法,其步驟包 17 1329805 含: 帽該叢集是否已存在?如是進行步驟綱;如不 336C。 咬仃步騍 (336B)將該叢集舊的資料設成無效 ,至少有一 空框架的 (336C)透過空區段表,找到該叢1 區段。
(336D)在該區段中找一空框架。 (讓)是奸制空框架?如果是進行步驟·; 336F。 如不是則進行步 驟 ⑽F)在該叢集所屬·域中找—個至少有—空框架的區段。 (33⑹是否有找到區段?如果是進行步驟·;如果不是則進行步驟 336H。 ^
(336H)做垃圾收集以得到一個至少有一空框架的區段。 (3361)將叢集暫存器中的資料寫入找到的空框架内。
由以上第一圖〜第七圖所示及敘述,在快閃記憶體1〇的容量固 定的前提下,若將框架13容量大小設的越大(這也表示叢集31的容 量大小會同時變大),則叢集31的總數會變少,這也使得叢集表5〇 的叢集表值々(0)〜yg(N)之個數便會減少,也就表示叢集表50的容 量大小會變小;若將區域21的容量大小設的越大,則區域21的總數 會變少’這也使得空區段表60的空區段表值d(0)〜6(N)之個數會 18 1329805 減少’也就表示空區段表60的容量大小會變小;若將區段a的容量 大小設越大或區域21的容量大小設越小,則—個區域21所包含的= 段總數會變少,這也使得叢絲5〇或雜縣6Q中每崎集^^ (〇)〜召(N)及空區段表值的容量大 _ 小,也就表 不叢集表50及空區段表60的容量大小會變小,而兹 而藉由此種可調整的 系統’使快閃記憶體10於讀寫控制過針可以調整所需佔用^ 體容量及讀冑麟。
另外’由檔案系統(file system)的角度來分析,它—次的請求 (request)是讀或寫-_輯記憶輯32,但在本發_作法中%最 少要讀寫-個叢集3卜且記憶邏輯區塊32容量通常比叢集&小,如 此’便會造成職只要韻-㈣輯錄區塊32,但實際上卻讀寫了 —個叢集3卜這制;但雜料空間(因為多寫與料需要的資料到 快閃記憶體1G中),也浪費許多_ (多花許多時岐讀寫),所以 在上述第五圖〜第七圖中本發明在快閃記憶體1Q中建—個叢集暫存 器(cluster buffer),所有讀與寫的動作會先經過叢集暫存器',可以 再加速快閃記憶體10之讀寫速率及效率。 在以上第-圖〜第七圖中所示本發明之可調式快閃記憶體管理系 統及方法,其巾所揭補糊制及圖式,健為便於義本發明的 技術内容及技術手段,所揭示較佳實施例之一隅,並不而限制其範嘴, 並且’舉凡針對本發明之細部結構或元件、技術内容及技術手段之等 效替代修飾,皆不脫本發明之發明精神及麟,其細將由以下的申 請專利範圍來界定之。 1329805 【圖式簡單說明】 第一圖係本發明之系統方塊圖; 第二圖係本發明之方法流程圖; 第三圖係本侧之方法t的抹除單元表及叢集表間之對應關係圖; 第四圖係係本發明之方法中的抹除單元表及空區段表狀對應關係 圖;
第五圖係本發财之,_記憶體資_寫運算處理步驟之詳細流程 圖; 第六圖係第五圖中之由叢集暫存器讀出區塊資料步驟之詳細流程圖; 第七圖係第增之將叢集暫存器中的資料以找到的空框架步驟之 洋細流程圖。
【主要元件符號說明】 1〇〇可調式快閃記憶體管理系統 11實體抹除單元 13框架 20虛擬記憶區 22虛擬抹除單元 31叢集 40抹除單元表 10快閃記憶體 12區段 14記憶頁 21區域 30記憶體邏輯區塊區 32邏輯記憶區塊 50叢集表 20 1329805 6〇空區段表 LBA邏輯區塊位址 召叢集值 α記憶邏輯區塊個數 f除法器 〜ω N位元組值 m 模數(modulus)器 γ區域值 5空區段值 Η區域總數量 γ(0)〜γ(Ν)抹除單元表值 <5⑼〜<5 (Ν)空區段表值 200根據快閃記憶體寫入要求所對應的邏輯區塊位址定義一快閃記情 體、虛擬記憶區及一記憶體邏輯區塊關係 21〇定義快閃記憶體内之實體抹除單元、區段、框架、記憶頁之資料 讀寫基本控制單元 22〇定義虛擬記憶區内之虛擬抹除單元、區域之資料讀寫基本控制單
230定義記憶邏輯區塊内
及記憶邏輯區歧叢制之_分別建立抹除單元表、叢集表與 空區段表 250依據抹除單元表、叢集表與空區段表間之對應關係進行快閃記憶 21 1329805 體之資料讀寫運算處理 300區塊讀或寫請求 310判斷是讀或寫請求 320該區塊所屬的叢集是否跟目前在叢集暫存器中的叢集一樣 321目前在叢集暫存器中的叢集之資料是否被修改過 322將存在叢集暫存器中的叢集之資料寫回快閃記憶體 323將該區塊所屬的叢集之資料從快閃記憶體複製到叢集暫存器 324從叢集暫存器中讀出該區塊的資料 325結束 324A在快閃s己憶體中找到該叢集最新且有效的資料 324B否有找到資料 324C該資料讀入叢集暫存器中 324D叢集暫存器中每個位元(bit)都設成〇 33〇該區塊所屬的叢集是否跟目前在叢集暫存器中的叢集一樣 331目前在叢集暫存器中的叢集之資料是否被修改過 332將存在叢集暫存器中的叢集資料寫回快閃記憶體 333將該區塊所屬的叢集之資料從快閃記憶體複製到叢集暫存器 334將要寫入的資料覆寫到叢集暫存器中 335該區塊寫入請求是否為請求件列中最後一個區塊讀寫請求 336將存在叢集暫存器中的叢集資料寫回快閃記憶體 22 1329805 336A該叢集是否已存在 336B將該叢集舊的資料設成無效 336C透過空區段表,找到該叢集所屬的區域中,至少有一空框架的 區段 336D在該區段中找一空框架 0 336E是否有找到空框架 φ 336F在該叢集所屬的區域中找一個至少有一空框架的區段 336G是否有找到區段 336H做垃圾收集以得到一個至少有一空框架的區段 3361將叢集暫存器中的資料寫入找到的空框架内 23

Claims (1)

  1. ^29805 十、申請專利範圍: 1 · 種可調式快閃記憶體管理系統,係包含: 一快閃記憶體,内部定義規劃設有若干個實體抹除單元,該實體抹除 單元規劃設有至少-連續之區段,該每-區段規劃設有至少一連續 之框架’雜架賴設有至少-連續之記㈣,祕段及框架為重 新定義規劃之快閃記憶體資料讀寫基本控制單位; ^ —趣記顏,職触有若干舰域,每—舰_規劃設有至 ' 虛擬抹除單元,該區域及虛擬抹除單元為重新定義規劃之快閃 記憶體資觸寫基核解位;及—記髓邏輯區舰,為快閃記 憶體資料讀寫之邏輯區塊位址,1¾記憶體邏輯區塊區内規劃設有若 干叢集,該叢集包括至少-連續之邏輯記憶區塊,該叢集為重新定 義規劃之快閃記憶體資料讀寫基本控制單位; 其中’齡該快閃記憶體之實體抹除單元、區段、框架 '記憶頁 > 肖虛擬記憶區之區域、虛擬抹除單讀記憶體邏輯區塊區之叢集、邏 輯記憶區塊間之對應_,_整各實體抹除單元、區段、框架、區 域、虛擬抹除單元、叢集、邏輯記憶區塊間容量大小之調整,以調整 • ‘㈣記憶體讀寫控制所祕用之記_容量及讀寫效率。 ' 2第1項所述之可調錢閃記,瞻理緖,斗兮 2記髓之腿段及轉__錢體進行格式化之過程中餅 3.如申請專利範圍第1項所述之可調式快閃記憶體管理系統,其中,該 24 4 . 4 . 虛擬記憶區之該區域及虛 程中進行規劃。 擬抹除單元於該賴記舰進行格式化之過 如申請專利咖1項所一吻嶋細純,其中,該 魏體邏輯區塊_叢集於該快閃記纖行格式化之過程中進行 •-種可财,_記憶鮮理妓,其辣係包含: (雜據快閃記憶體寫人要求所對應的邏輯區塊位址定義—快閃記憶 體、虛擬記憶區及-記憶體邏輯區塊區關係; (b)定義快閃記憶體内之實體抹除單元、區段、框架、記憶頁之資料讀 寫基本控制單元,將步驟⑷之快閃記憶體之内容結構予以定義規劃 出實體抹除單元、區段、框架及記憶頁等基本控制單元; 義虛擬。己隐區内之虛擬抹除單元、區域之資料讀寫基本控制單元, 將步驟⑷之虛擬_之_構予以定義_區域、虛擬抹除單 凡等基本控制單元; ⑷定義記憶邏輯區塊内之叢#及邏輯記憶顧資料讀寫基本控制翠 二將步驟⑷之記憶體邏輯區塊區内容結構予以定義規劃出叢集及 邏輯記憶區塊等基本控制單元; ⑹依據實體抹除單元、隨、絲、記憶頁、虛擬抹料元、區域及邏 輯記憶區塊及叢集間之關係分別建立抹除單元表、叢集表與空區段 表,即根據步驟(b)之實體抹除單元、區段、框架、記憶頁步驟(〇 之區域及虛擬抹除單元、步驟⑷之叢集及邏輯記憶區塊間之關係分
    25 1329805 1329805 別建立一抹除單元表、叢集表及空區段表; 元表,雜细_之__行_記憶體之 -貝料讀寫運算處理,即根據步驟(e)所建立之抹除㈣、叢华表及 ^表伽繼咖叫__叙細 2縣,心娜娜觸掀樹崎‘咖進行資料 讀出或寫入之動作 6. =料瓣5項敝爛,_贿物,其中,該 之_及叢觸料叢料齡叫域個數 之餘數。 7. 如申請專利範圍第5項所述之可調式快閃記憶體管理方法,其中,該 步驟(Ο之邏輯記舰塊之記_ 連塊紐LBA與叢集表間則 ,…、&,及在該抹除單元表及除法⑽連結—模數器。 =專利範圍第5項所述之可調式快閃記憶體管理方法,該 步驟⑷之邏輯記憶區塊之邏輯區塊位址與抹 、 之間依序串接-除法ϋ及模姉。 衣工£段表 9 ^申請專利範圍第5項所述之可調式快閃記憶體管理方法, =⑺之快閃記憶體之對應實體的記憶頁 二 動作,係在快閃記憶體建立一叢集暫存器,其步驟係包含 (fi)區塊讀或寫請求; 進行步驟(β);如為寫入請求 ⑼判斷是讀或寫請求?如為讀取請求則 則進行步驟(f9); 26 1329805 ⑼該區塊所屬的叢集是祕目前在叢集暫存器㈣叢集—樣?判斷該 邏輯記憶區塊之叢集與叢集暫存器内之叢集是否相同,如果是則進 行步驟(f7) ’如果不是則進行步驟讲); ⑻目前在叢㈣存財的錢之轉是碰修改過?如果是則進行步 驟(f5);如果不是則進行步驟(f6); ⑼將存在叢鱗存財的叢集之資料寫回快閃記憶體; ⑽將《塊關的叢集之:祕從記髓複翻叢集暫存器; (Π)從叢集暫存器中讀出該區塊的資料; (f8)結束; ㈣該區塊所屬的叢集是否跟目前在叢集暫存器中的叢集—樣?判斷該 邏輯記憶區塊之叢集與叢集暫存器内之叢集是否相同,如果是則進 行步驟(fl3),如果不是則進行步驟(fl〇); (flO)目前在叢集暫存器巾的叢集之魏是碰修改過? #果是則進 行步驟(fll);如果不是則進行步驟(fl2); (fll)將存在叢集暫存n巾的叢集資料寫回㈣記憶體; (fl2)將該區塊所屬的叢集之資料從快閃記憶體複製到叢集暫存器; (Π3)將要寫入的資料覆寫到叢集暫存器中; (fl4)該區塊寫入請求是否為請求佇列中最後一個區塊讀寫請求?如果 是則進行步驟(fl5),如果不是進行步驟(fg);
    27 1329805 剛將存在叢集暫存器中的叢集㈣寫回快閃記憶體返回執行 (fB)。 〇 .如申請專利範圍第9項所述之可調式快閃記憶體管理方法,龙中 該步驟⑻及(叫之從叢集暫存器中讀出舰塊的資料,复 步驟更包含: 〃 (f6a)在快閃記憶體中找到該叢集最新且有效的資料; 驟 _是否有找到資料?如果是則進行步驟㈣,如果不是進行 (f6d); ’ (f6c)將該資料讀入叢集暫存器中; (f6d)將叢集暫存器中每個位元都設成〇。 1 1 ·如申請專利顧第9項所述之可調式快閃記憶體管理方法, 該步驟⑹、㈤)*⑻)之將存在叢集暫存器中年、 寫回快閃記憶體,其步驟更包含: 集貝料 即樹集是否已存在?如是進行步娜的;如不是進行步 (fl5c); 驟 (fl5b)將該叢集舊的資料設成無效; 隊過空區段表,找到該叢集所屬的區域中,至少有 的區段; (fl5d)在該區段中找一空框架; (fl5e)是否有找到空框架?如 果疋進行步驟如不是則進行步 1329805 (fl5f)在該叢集所屬的區域中找—個至少有—空框架的區段; (fl5g)是否有找到區段?如果是進行步驟阐;如果不是則進〇 驟(fl5h) ; (fl5h)做域收集以铜—個至少有—空购的區段; (f!5i)將叢集暫存器巾的資料寫人找觸空框架内。 29
TW094125951A 2005-07-29 2005-07-29 Adjustable flash memory management system and method TW200705180A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW094125951A TW200705180A (en) 2005-07-29 2005-07-29 Adjustable flash memory management system and method
US11/490,049 US7461198B2 (en) 2005-07-29 2006-07-21 System and method for configuration and management of flash memory
US12/155,566 US7861028B2 (en) 2005-07-29 2008-06-06 System and method for configuration and management of flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW094125951A TW200705180A (en) 2005-07-29 2005-07-29 Adjustable flash memory management system and method

Publications (2)

Publication Number Publication Date
TW200705180A TW200705180A (en) 2007-02-01
TWI329805B true TWI329805B (zh) 2010-09-01

Family

ID=37743876

Family Applications (1)

Application Number Title Priority Date Filing Date
TW094125951A TW200705180A (en) 2005-07-29 2005-07-29 Adjustable flash memory management system and method

Country Status (2)

Country Link
US (2) US7461198B2 (zh)
TW (1) TW200705180A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI674505B (zh) * 2017-11-30 2019-10-11 宜鼎國際股份有限公司 資料存取效率的預估方法

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7660941B2 (en) * 2003-09-10 2010-02-09 Super Talent Electronics, Inc. Two-level RAM lookup table for block and page allocation and wear-leveling in limited-write flash-memories
US8015606B1 (en) 2005-07-14 2011-09-06 Ironkey, Inc. Storage device with website trust indication
US8335920B2 (en) * 2005-07-14 2012-12-18 Imation Corp. Recovery of data access for a locked secure storage device
US8321953B2 (en) * 2005-07-14 2012-11-27 Imation Corp. Secure storage device with offline code entry
US8438647B2 (en) * 2005-07-14 2013-05-07 Imation Corp. Recovery of encrypted data from a secure storage device
US20070067620A1 (en) * 2005-09-06 2007-03-22 Ironkey, Inc. Systems and methods for third-party authentication
US8639873B1 (en) 2005-12-22 2014-01-28 Imation Corp. Detachable storage device with RAM cache
US8266378B1 (en) 2005-12-22 2012-09-11 Imation Corp. Storage device with accessible partitions
US20070300031A1 (en) * 2006-06-22 2007-12-27 Ironkey, Inc. Memory data shredder
KR100885181B1 (ko) * 2007-02-06 2009-02-23 삼성전자주식회사 그룹 맵핑 동작을 수행하는 메모리 시스템 및 그것의어드레스 맵핑 방법
US8397015B2 (en) * 2007-05-10 2013-03-12 Panasonic Corporation Memory controller, semiconductor recording device, and method for notifying the number of times of rewriting
JP4535117B2 (ja) * 2007-11-06 2010-09-01 ソニー株式会社 メモリ装置、メモリ管理方法、およびプログラム
WO2009135196A1 (en) * 2008-05-02 2009-11-05 Ironkey, Inc. Enterprise device policy management
US8527690B2 (en) * 2008-06-26 2013-09-03 Microsoft Corporation Optimization of non-volatile solid-state memory by moving data based on data generation and memory wear
US20100228906A1 (en) * 2009-03-06 2010-09-09 Arunprasad Ramiya Mothilal Managing Data in a Non-Volatile Memory System
US8065469B2 (en) 2009-04-20 2011-11-22 Imation Corp. Static wear leveling
US8176295B2 (en) 2009-04-20 2012-05-08 Imation Corp. Logical-to-physical address translation for a removable data storage device
US8745365B2 (en) * 2009-08-06 2014-06-03 Imation Corp. Method and system for secure booting a computer by booting a first operating system from a secure peripheral device and launching a second operating system stored a secure area in the secure peripheral device on the first operating system
US8683088B2 (en) 2009-08-06 2014-03-25 Imation Corp. Peripheral device data integrity
TWI587136B (zh) * 2011-05-06 2017-06-11 創惟科技股份有限公司 快閃記憶體系統及其快閃記憶體無效資料頁資訊之管理方法與回收方法
TWI545588B (zh) * 2013-02-06 2016-08-11 群聯電子股份有限公司 控制方法、連接器與記憶體儲存裝置
CN104008072B (zh) * 2013-02-22 2018-06-15 群联电子股份有限公司 控制方法、连接器与存储器存储装置
US9430366B2 (en) * 2014-08-14 2016-08-30 Oracle International Corporation Distributed logical track layout in optical storage tape
US10095413B2 (en) * 2016-01-28 2018-10-09 Toshiba Memory Corporation Memory system with address translation between a logical address and a physical address
KR102585214B1 (ko) * 2016-09-22 2023-10-05 삼성전자주식회사 가변 소거 유닛 크기를 가지는 스토리지 디바이스 및 이를 포함하는 레이드 스토리지 시스템
TWI601060B (zh) * 2017-01-17 2017-10-01 群聯電子股份有限公司 資料傳輸方法、記憶體儲存裝置及記憶體控制電路單元
US10579471B2 (en) * 2017-03-02 2020-03-03 Toshiba Memory Corporation Storage device and error correction method for storage device
TWI717816B (zh) * 2019-08-28 2021-02-01 群聯電子股份有限公司 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3078946B2 (ja) * 1993-03-11 2000-08-21 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 一括消去型不揮発性メモリの管理方法及び半導体ディスク装置
US5937425A (en) * 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
WO2001008014A1 (en) * 1999-07-28 2001-02-01 Sony Corporation Recording system, data recording device, memory device, and data recording method
JP4842417B2 (ja) * 1999-12-16 2011-12-21 ソニー株式会社 記録装置
US6591330B2 (en) * 2001-06-18 2003-07-08 M-Systems Flash Disk Pioneers Ltd. System and method for flexible flash file
JP2003076605A (ja) * 2001-08-31 2003-03-14 Mitsubishi Electric Corp ブロック消去型不揮発メモリを搭載した半導体記憶装置とそのデータの書込み・読出し方法
EP1538507A1 (fr) * 2003-12-02 2005-06-08 Axalto S.A. Procédé de contrôle d'acces dans une memoire flash et systeme pour la mise en oeuvre d'un tel procédé
US20060136694A1 (en) * 2004-12-17 2006-06-22 Robert Hasbun Techniques to partition physical memory
US20060253682A1 (en) * 2005-05-05 2006-11-09 International Business Machines Corporation Managing computer memory in a computing environment with dynamic logical partitioning

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI674505B (zh) * 2017-11-30 2019-10-11 宜鼎國際股份有限公司 資料存取效率的預估方法

Also Published As

Publication number Publication date
US7861028B2 (en) 2010-12-28
US7461198B2 (en) 2008-12-02
TW200705180A (en) 2007-02-01
US20070038802A1 (en) 2007-02-15
US20080244166A1 (en) 2008-10-02

Similar Documents

Publication Publication Date Title
TWI329805B (zh)
TW573250B (en) Flash memory system and method of merge of storage data
TWI398770B (zh) 用於快閃記憶體的資料存取方法、儲存系統與控制器
CN104298610B (zh) 资料储存系统及其管理方法
TWI385669B (zh) 用於快閃記憶體的平均磨損方法、儲存系統與控制器
KR101446832B1 (ko) 메모리 맵핑 기술
TW201007449A (en) Flash memory storage system and data writing method thereof
US7702845B2 (en) Method and apparatus for managing blocks according to update type of data in block-type memory
TW201245960A (en) Flash memory system and managing and collection methods for flash memory with invalid page information thereof
TWI344085B (en) Storage system for improving efficiency in accessing flash memory and method for the same
TW200917031A (en) Methods and apparatus for file management using partitioned file metadata
TW200839773A (en) Wear-leveling management and file distribution management of hybrid density memory
JPH04141867A (ja) ファイル管理方法
CN110515550B (zh) 一种sata固态硬盘冷热数据分离的方法及其装置
CN105260139B (zh) 一种磁盘管理方法以及系统
CN107908358A (zh) 一种降低NVMe固态硬盘写放大的方法
JP2001147855A (ja) 不揮発性メモリへのデータ書き込み方法および情報処理装置ならびに記録媒体
CN101201774A (zh) 磁盘快照的方法
TW477932B (en) Memory defragmentation in chipcards
TWI413984B (zh) 快閃記憶體裝置以及資料更新方法
TWI379197B (en) Flash memory storage management system and related method
TW561339B (en) Non-volatile memory based storage system capable of directly overwriting without using redundancy and the method thereof
JP2006323462A (ja) ファイルコピー装置およびファイルコピー方法
US7715133B2 (en) Method for duplicating data
TWI223145B (en) Method for detecting logical address of non-volatile storage medium