TW484064B - Flash memory management, data linking architecture and algorithm - Google Patents
Flash memory management, data linking architecture and algorithm Download PDFInfo
- Publication number
- TW484064B TW484064B TW88111899A TW88111899A TW484064B TW 484064 B TW484064 B TW 484064B TW 88111899 A TW88111899 A TW 88111899A TW 88111899 A TW88111899 A TW 88111899A TW 484064 B TW484064 B TW 484064B
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- data
- link
- page
- management
- Prior art date
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
484064 五、發明說明(1) :寅算i發:ί出:種ϊγ記憶體的管理、資料連結架構及 二i、:i 輯區塊位址與實際存取位址的映射 保資料連結之完整性,並有斷電的保護措施, 步保護資料連結架構,提高快閃記憶體在使用上的 存: ::3=sh memory)是—種半導體式的儲 ,1 i f匕具有早位岔度記憶容量高,讀寫速度快、方便 攜帶專特性,使其非常適用於強調輕薄短小的通訊器材中 就可以保存資料’所以使得快閃記憶體卡於 應用上·、市%上均迅速成長。伊閃 / % λ iF · /D σ 亦有其缺點,即 i= :=e m)的次數遭受限制。依據快閃 »己匕體的規格書棱到,區塊(B1〇ck,8H2位元, 閃=體抹除動作的最小單位)㈤抹除次數超過二百萬次 ’則無法擔保該區塊依舊可正常操作。 好的:記ϊ體抹除次數的限制,如何設計-良 :區塊,且不影響資料之存取時間及運算速度'刀配-母 存取的完整性。而如何同時達到這多個目標,一 疋^閃e憶體的韌體設計者們所面臨的瓶頸問題。 、,f以,在本實驗室長時間致力於該問題的研究盥設計( =無數次的測試樣品及演算法的改 二』 的精簡,最終發展出本發明所提出的架構。 社加it fί主要s的即是提供一種快閃記憶體之資料連 ⑽木與演算法,以使有效率的使用快閃記憶體。資料連
4g4064 五、發明說明(2) 結是一體的’主要包括有快閃記憶體的規劃 、資料連結架構的建立、備用區塊管理和分 快閃^隱體流程,使得在搜尋資料、寫入資料的時間能有 效的細短,並且達到增長快閃記憶體的使用壽命之目的。 以下將對本發明之結構設計與操作原理, 之 說明,並參閱附呈之圖式,將對本發明之進'一 之瞭解,其中: 又邛旯選7 圖式說明: 第-圖本發明對快閃記憶體出廠前預設規劃的區塊示 圖; 弟一圖係為空的備用區塊堆疊之示意圖; 第三圖係以一未使用的4〇快閃記憶體為例,開 ^ 勃體判別所得到的備用區塊堆鲞示意圖;開 第四圖係備用區塊管理演算法之流程圖; ’ $五圖係本發明之基本區塊之架構示意圖; 第六圖係本發明的資料寫入流程圖; 第七圖係本發明以四個瞧的快閃記憶體元件為實施例說 明之架構示意圖; 第八圖係本發明以兩個4ΜΒ的快閃記憶體元件為例說⑩ :J結區塊、連結分頁及連結表之間的使用方法示 ^圖, =$圓係為本發明連結表内部資料的更新示意圖. 第十圖係連結表資料更新後,連結表區塊、連結區塊、連
484064 五、發明說明(3) ^ 、、’"分頁及備用區塊堆疊的更新示意圖; 第十圖係系統尚未被使用前,啟動後由韌體所建 ^ 案配置表連結表; 疋立的檔 =十=圖係第十一圖資料寫入流程示意圖; 第十一圖係第十二圖資料寫入替代區塊後所進行之 ^ 剩餘資料搬移工作示意圖; ’、4 ,十四圖係搬移索引的值示意圖; $十五圖係寫入索引的值示意圖; ^十/、圖係求得寫入索引之概念圖; ,十七圖係依據第十六圖之概念所建立的資料表; ,十八圖係第十七圖經互斥運所所得的結果值;, 弟十九圖係本發明寫入一個分頁的完整流程圖。 如 叮的區 快閃記 Block) (Spare 顯性和 、連結 是指主 ,主機 從 放主機 出廠前所自 ’本發明將 塊(D a t a 用區塊 區塊可分成 而備用區塊 的顯性區塊 區塊;反之 隱性區塊。 功能乃是存 、連結表區 第一圖所不,係本發明所在快閃記憶體 塊預設規劃圖;於快閃記憶體的管理上 憶y體中可使用的區塊分成四種:/資料區 、連結表 塊(Link-Table Block)、輪 Block)和知區塊(New Block)。這四種 隱性兩大類,資料區塊屬於顯性區塊, 表區塊和新區塊則屬於隱性區塊。所謂 機端可以利用邏輯定址方式直接存取之 端無法以邏輯定址方式存取的區塊則是 顯隱,區塊的定義,可看出資料區塊的 端傳送給快閃記憶體的資料,而新區塊 境和備用區塊 細體所需的資 ,則是為了因應資料連結架構的需要,存放 料。 、食除了第一圖所示的區塊種類,尚存有一種區塊,乃永 ^無法使用,稱之為毀損區塊(Defect Block),只要快閃 思'體中的區塊毁損,四類·區塊中的任何一類,都會被本 明中的毀損區塊演算法標示成毀損區塊,且永遠無法使 除了新區塊之外,其餘的三種區塊,於快閃記憶體被 ^用後,區塊的位置配置就不再如第一圖所示,而是呈現 =的分佈;也就是說,區塊所在位置不侷限於第一圖的 =-彳範圍。如資料區塊會散佈在位址_490〜510(預設規割 I,此區域是屬於備用區塊和連結表區塊的範圍),連社 2 2和備用區塊亦有如此的現卜不過各類區塊的總。數 夕不_改變。唯獨新區塊的數目則會隨著毀損區塊的增 = 少,1只要新區塊一旦成為資料區塊、備用 -龙或連結表區塊之後,就再也無法回復成新區塊。 區塊的管理方式乃建立於備用區塊堆疊區(Spare 尾、堆疊開頭指位器(Head~p〇inter)及堆叠結 區P〇lnter)這三個架構之上。備用區塊堆疊 所^® ί兀組(W〇rdS)空間,存放—顆快閃記憶體中的 ΚΙ/-。堆疊開頭指位器和堆疊結尾指位器則 ΪΪΓ )的堆疊指位11 (SUck 一㈣内,各 彳151 #位70堆疊開頭指位器乃指向備用區塊堆疊區的第 -個備用區塊,該區塊是等待被使用的備用區塊·;堆= 484004 五、發明說明(5) __________ — 尾4日位器指向—处 中所有備用區塊之=的,置,該位置位於備用區塊堆疊區 備用區塊。 ^的第一個空位置,以準備存放新進的 工的備用區输祕田〆 沒有存放任何資^豐係如第二圖所示,其中的16字元組 都指向n 0T1的位置 且堆$開頭指位器和堆疊結尾指位器
弟二圖為一藉本CO 韌體判別所得到的ί使用的4MB快閃記憶體,於開機後經 " 496" ^--497- 備用區塊堆疊,備用區塊的位址分別為 堆疊開頭指位二8”、: 499,,、" 500”、’,5()1"、”5〇2' 向堆疊位址” 7”日ί堆豎區位置” 0",堆疊結尾指位器指 ,以欲找—個備用;四圖主要乃說明備用區塊管理演算法 址在2。。)為例作說;塊:J=::2。0 (_200,表示其位 步驟h U Ϊ:取出由堆疊開頭指位器所指定的備用區塊 ,器的值加’τ'指向下-個等待被取 步驟I:::】,區塊(,°)後’置入堆疊結尾指位器 步驟4. J:: f J :器的值加Τ,指向下-個空的位置, 木竿備存放新的備用區塊。 取出i發:見某個區塊有毀損日寺,則進入毀損區塊管理。先 區塊,從:代成再將該區塊標示成毀損 个丹使用,如此就完成的毀損區塊的管理。
第9頁 484064 五、發明說明(6) 第五圖乃本發明一基本區塊之架構示意圖。一個區塊 共有16個分頁(page),每個分頁有5 12+16位元組,其中左 邊的512位元組是資料區域(j)ata Regi〇n),右邊的ι6位元 組是備用區域(Spare Region)。資料區域所存放的資料有 一般使用者的檔案資料、檔案配置表(File AU〇cated Table,簡稱FAT)和連結表(Link Table),使用者資料和 播案配置表都是主機端寫入快閃記憶體的資料,存放在資 料區塊内;連結表則存放於連結表區塊内,用來記錄邏輯 區塊和實際區塊連結關係。備用區域存放錯誤控制碼 (Error Control Coding)和識別碼;錯誤控制碼可提高資 料的女全性,識別碼的功用乃是為了使韌體能辨別該區塊 疋屬於四種區塊中的哪》種。 本發明依據資料存取的關係,定義有原區塊 (^Original Block)和替代區塊(Substituted B1〇ck)兩個 區塊名稱。忒原區塊(〇B 1 〇ck)係由主機端指定邏輯區塊、 對照連結表發現可存放資料的實際區塊;替代區塊 (SB lock)是從備用區塊堆疊區所提出的區塊,將準備代替 原區塊。
本發明的資料寫入流程如第六圖所示;首先,從連結 表中找出原區塊(步驟61),再由備用區塊堆疊中找出替^ 區塊(步驟62),以代替原區塊儲存主機端傳送過來的資料 (步驟63);等所有主機端的資料都寫入替代區塊後,再將 原區塊内剩餘沒進行更新的分頁資料搬移到替代區塊内 (步驟64);因為邏輯區塊實際對應的區塊已經成為替代區
第10頁 赞明說明(7) 存取,^須f ^連結表内容(步驟65),使主機端在下次的 原區魂的資料。更新連結表的内容之後,便將 6〇。 矛、 備用區塊堆疊内,使能供下次使用(步驟 料兩i發將主機端的資料型態分成播案配置表和一般資 念是相同的兩種資料的連結架構不同,但其架構的基礎概 ,太恭^資料的連結架構是確保資料完整性最重要的一環 —敫H:的特徵就疋將此架構精簡的同時依然維持資料的 )連、、口刀頁(Link Page)及連結表(Link 料搜尋:作、且成、經由此三表的建立’將可快速的完成資 枓搜寸=作,且同時達到資料讀取的完整性。 實際ί ί i ξ ΐ存ί連結表區塊内,戶斤以於快閃記憶體中 、, 、、°表,其功用乃紀錄邏輯位址與實際位# & ^ 、口關 逆、、區塊及連結分頁於開機時,由韌
連節表的實際位址(就是連結表區塊的位址立J 區塊=連結分頁這兩個表,而後儲存於 了 憶體中。 ^附仅的記 連H塊紀錄所有的連結表區塊位址。 ,二刀頁則紀錄連結表位於連結表區塊中的 ’經由“I可以確切;t義連結表在快閃記憶體中的位^ 484064 五、發明說明(8) 以第七圖所揭露之四顆尚未使用的8MB快閃記憶體元 件為例子說明:第七圖之(a)、(b)、(c)、(d)為四顆8MB 的快閃記憶體元件,每個元件内各有1 〇 24個區塊;第七圖 之(e)為連結區塊,因四顆快閃記憶體元件共有四個連結 表區塊,故須以四個字元組、纟己錄;第七圖之(f )為連結分 頁,因單顆元件有1024個區塊’而每個分頁僅有512位元 組,故每顆快閃記憶體元件須四個分頁紀錄1 0 2 4個實際位 址與邏輯位址的連結關係;第七圖之(g)為連結表,其紀 錄的方式乃採用記憶體位址和該位址上的内容之對應概念 ,記憶體位址代表邏輯位址,内容代表實際位址。以第七 圖之(g)為例,邏輯位址-0的實際存取位置為區塊-〇。因 第七圖為尚未使用的快閃記憶體,故連結表區境的位址皆 為1007,連結分頁為〇、1、2、3,而邏輯位址亦等於實際 位址,其連結表即如第七圖之(g)所示。 第八圖以兩顆4MB的快叫記憶體元件說明連結區塊、 連結分頁及連結表之間的使用方法。假設主機端欲存取邏 輯位址-100,經演算法運算後,發現該位址落於元件〇, 分頁位址位於連結分頁中的位置〇 ;對照第七圖之(a)得到 連結表區塊位於區塊-503,由第八圖之(b)元件0的位置1 的内容是指向分頁-0。因此,由連結區塊和連結表分頁, 可定義區塊-100所屬的連結表位於區塊-50 3的分頁-〇,如 第八圖之(c)。對照第八圖之(d )得到邏輯位址_丨〇 〇的資料 儲存於區塊-100。 第九圖為連結表内部資料的更新示意圖。第九圖之
第12頁 4U04 發明說明(9) __ (a)是原來的連結表,當 料時,對照連結表得到資 二4取邏輯位址_丨〇〇的資 塊讀取資料;若主機塊,。,即可到該區 ,(如第九圖之(二出:指位器所指的區塊 _填入連結表中邏輯位址再=:496代替區塊,。’將 再將區塊-i。。置入備用二二(如弟九圖之(C))。最後, 第+ 備用^塊堆疊内(如第九圖之(d)所示。 塊、遠任八W # 、枓更新後,連結表區塊、連結區 為例: = 區意圖。™ 分別在分頁-。和终心!'503擁有兩個資料連結表, 則新的連結表會儲存於八^ ’·分頁-1的、連結表已更新, 後,區塊_5。3中“:;:::該連結表經過7次:更新 次更新該連結表,則會二工十圖之(C)所不。若再-替區塊-503,並將更新德區塊堆疊區取出-個區塊帶 示。 貝抖搬移到區塊-496,如第十圖之(g)所 連姓:鑑:f案配置表採用和-般資料相同的連結架構( 將=::=分頁),則檔案配置表的高更二 連結架構,使其理,並且另設計一更簡易的 此連結架構ΪΪ置表的特性\
Link TaMe)。橋荦有配〜一矣表壶格'樓案配置表連結表⑽ 累配置表連結表負責紀錄邏輯區塊〜〇至
484064 五、發明說明(IQ) 邏輯區塊-15的每個對應的實際區塊。此表格的建立同連 結區塊和連結分頁,乃於系統開機時依據每個區塊中備用 區域所存放的識別碼,以建立檔案配置表連結表。 第十一圖是系統尚未被使用前,啟動後由勃體所建立 的標案配置表連結表。假設年機端欲更新邏輯位址—1(), 由第十一圖對照其資料儲存於區塊—丨0。
如第十二圖所示,第十二圖之(a)為目前備用區塊堆 疊的狀況,所以由備用區塊堆疊中取出區塊_496當替代區 塊來取代區塊-10,並在區塊_496的備用區域中填入識別 碼’將資料都寫入區塊_496後,更新檔案配置表連結,表( 如第十二圖(b)所示),再將區塊-1 0置入備甩虛塊堆疊内 ’最後備用區塊堆疊即如第十二圖之(c )所示。 於上述的資料寫入流程之介紹中,了解到區塊的寫入 完成’必須處理主機端的資料及原區塊内沒被更新的分頁 。是以’原區塊和替代區塊之間的替換,存有一個潛在的 問題:就是原區塊中沒有被更新的分頁,必須於原區塊被 抹除之前寫入替代區塊内,因此新的資料寫入替代區塊後 ’尚要進行原區塊剩餘資料的搬移工作(如第十三圖所示
本發明的演算法會建立搬移索引(Move Index),根據 礙移索引決定原區塊中將搬移至替代區塊内的分頁。搬移 索引的長度為一個1 6位元,每個位元對應一個分頁,根據 位元的值來決定該位元所對應的分頁是否搬移,其中”厂 代表搬移,” 〇 ”代表不搬移。假設已知所欲搬移的分頁為〇
第14頁 484064 五、發明說明(11) 〜5和1 4〜1 5這8個分頁,則搬移索引的值如第十四圖所示 〇 搬移索引的求法之基本概念,乃是利用主機端的資料 (起始位址及資料量),求得欲寫入的所有分頁位置,則其 餘的分頁位置就是須搬移的分頁。本發明稱之為寫入索引 (Write Index),其定義方式相同於搬移索引,”丨n表示將 欲寫入的分頁之對應位元,反之為” 〇”。假設巳知寫入的 分頁有(6〜13),則寫入索引為第十五圖所示,再將寫入索 引反相即可得到搬移索引(第十五圖的反相就是第十四圖 ),第十六圖是求得寫入索引的概念圖。 第十七圖的(a)和(b)分別對應第十六圖的(a)和(b)。 第十七圖的建立方式,乃根據主機端給定的資料(起 始位置、分頁數目)再加上第十六圖的概念建立而成。 假設,寫入資料的起始位置為6,分頁個數等於8,可 求得終止位置等於13,對照第十七圖可以得到〇x〇〇3F和 OxOFFF,再將這兩個值做互斥(χ⑽)運算,得 x〇"xgFFF),謂,如第十八圖所示,可發;第03;五 圖相同,再將之反相可得0xA03F,就是第十四圖。 又’如果所欲傳送的資料數超過1 6個分頁,則表示所 欲寫入資料的位置,是從起始位置到最後一個分頁,故寫 入索引為對照第十七圖後所求得的值之反相。假設,寫二 資料的起始位置為6,資料比數為丨6,則對照第十七圖 (a),得到寫入索引為0xFFA〇,反相後得到搬移索引為 0x003F 〇
第15頁 484064 ί 五、發明說明(12)
包括有 第十九圖是本發明寫入一個分頁的完整流程 下列步驟· 步a 步驟b 當主機欲寫入一筆資料,會判定該筆資 前-筆資料同屬於一個區塊,同屬_區塊= 重新建立搬移索引否則進入步驟i。 “、y、 判別欲寫入的資料數是否等於” 〇”。不等於 進入步驟g。 、 則 步驟c :因主機端欲寫入該區塊的資料已完畢,所以要 別是否有資料要從原區塊搬移至替代區塊。盔^ 料則執行步驟e。 ’、、、貝 步驟d 將搬移索引指定的分頁搬移到替代區塊内。 步驟e :判別寫入的資料是否為檔案配置表。是則結束分 頁寫入動作;否則進入步驟f。 步驟f :更新資料連結表後結束。 步驟g ··寫入資料於指定的分頁内,並將等待寫入的資料 個數減一。 步驟h :判別等待寫入的資料個數是否為” 〇”。完成資料 寫入則進入步驟c ;否則重回步驟g。 步驟i :因欲寫入的區塊,乃是一個新指定的區塊,故必 須先依據主機端的參數,求出欲寫入該區塊的分 頁數目、分貢起始位置及欲搬移之分頁。 步驟j :從備用區塊堆疊中,取出堆疊開頭指位器所指向 的替代區塊,準備寫入主機端的資料及搬移原區 塊的資料於該區塊中。
第16頁 484064 五、發明說明(13) 步驟k :判別欲寫入的邏輯位址,是否為存放檔案配釁表 的位址。是則進入步驟1 ;否則進入步驟m。 步驟1 :更新檔案配置表連結表的内容,以維持資料速結 的完整性,重回步驟b。 步驟m ·因欲寫入的區塊,屬於一般區塊,故須搭配〆般 資料連結架構(連結表、連結區塊和連結分頁)。 此步驟乃判別該邏輯區塊所屬的連結表是否存在缓衝 器中。存在則進入步驟〇。 步驟η :將該邏輯區塊所屬的連結表讀入緩衝器中。 步驟〇:更新存在於緩衝器中的連結表内容,同時亦要更 新連結分頁和連結區塊的内容,重回步驟b。如 果存放連結表的區塊已滿,則找尋—個備用區 ,將連結表填入及搬移到該區塊中,且須 結區塊和連結分頁。 貝叉新遷 ,上所述,本發明所提出之快閃記憶體的管理 連…罙構與演算法,將快閃記憶體内規劃成數 = 功能的資料存取區•,再配合上簡潔的資料问 用區塊管理演算法,使得在搜尋資料、二木構與備 有效的縮Μ,並且達到增長快閃記憶體的使用^ ”間能 ’確實已符合創作專利之申請要件,鳅 叩之目的 ’並惠賜准予專利,以嘉惠民生利國;;;,=審查 唯以上所敘述之技術、圖說、貫感便。·· 僅係本發明較佳實施例之一而已;舉H上制等方法,僅 範圍之技術所作之均等變化或修飾或擷‘:$明申請專利 叫刀功能之雷同
484064
第18頁 484064
第19頁
Claims (1)
- 邮4064 、申請專利範圍 種快閃記憶體的管理、 成數種具有 閃記憶體内規劃 包括有: 一般資料區塊 資料連結 不同功能 備用區塊,係作為一般 址到的一般資料區塊發生 機資料; 放欲寫入的主 可由主機直接存取 賢料區塊 重覆寫入 一連結表區塊,係存放一 機定址的邏輯 實際位置的互 2 ·如申請專利範 連結架構,更包 一新區塊,係 之一區塊後,即 一毁損區塊, ’且永遠無法 3 ·如申請專利範 連結架構,其中 址方式直接存取 4 ·如申請專利範 連結架構,其中 機端無法以邏輯 連結架構的需要 5 ·如申請專利範 位置的對照 換,確保資 圍弟1項所 括有: 作為前述各 無法回復成 前述各區塊 使用。 圍第1項所 該賢料區塊 之顯性區塊 圍第1項所 該備用區境 定址方式存 ’存放動體 圍第1項所 般資料區 表’以有 料的正確 述之快閃 種區塊的 新區塊; 毀損,均 述之快閃 係屬於主 〇 述之快閃 、連結表 取的隱性 所需的資 述之快閃 架構,其主要係將快 的資料存取區塊; 資料; 的備份,於主機所定 的情況時,用以來存 塊内的實際位置與主 效的進行邏輯位置與 性。 5己fe體的管理、資料 延伸 旦併入前述 會被標示成毁損區塊 5己憶體的管理、資料 機端可以利用邏輯定 记憶體的管理、資料 區塊和新區塊係屬主 區塊,為了因應資料 料。 5己憶體的管理、資第20頁 --— I 一·“ 六、申請專利範圍 連結架構> 堆疊區、堆 堆疊開頭指 以等待被使 後的第一個 6 ·如申請專 連結架構, a.自連結 發現可存放 b·再由備 區塊堆疊中 c·代替原 d·所有主 剩餘沒進行 e ·更新連 整的資料; f ·將原區 其中該備 疊開頭指 位器係指 用;該堆 空位置, 利範圍第 其中該資 表中找出 資料的實 用區塊堆 找出替代 區塊儲存 機端的資 更新的分 結表内容 用區塊的管 位為'及維叠 向備用區魏 雙結尾指位 以準備存放 1項所述之 料區塊之資 由主機端指 際區塊的原 疊區所提出 區塊; 主機端傳送 料都寫入替 頁資料搬移 ’使主機端 理方式係 結尾指位 堆疊區的 裔係指向 新進的備 快閃記憶 料寫入流 定邏輯區 區塊; 將準備代 建立於備用區塊 器之架構上;該 第一個備用區塊 所有備用區塊之 用區塊D 體的管理、資料 程包括有: 塊、對照連結表 過來的資 代區塊後 到替代區 在下次的 替原區塊的備用 料; ’再將原區塊内 塊内; 存取,能獲得完 塊抹除置入備用區塊堆疊内,使能供下次使用 7連=專;Ϊ圍^ 1項所述之快閃記憶體的管理、資料 連、,Ό木構,其中,該資料加 貝枓 連結區&,# f ^ ^木構,包括有: i Α矣/ 錄所有的連結表區塊位址; 運結表,係儲存於遠έ士矣 輯位址與實際位址的連:關;免内’於快閃記憶體紀錄邏 連結分頁’係紀錄連結表㈣連結表區塊中的分頁位置 第21頁 六、申請專利範圍 I經由它們,可以確切定義連結表在快閃記憶 經由此三表的建立,將可快谏& 同時達到資料讀取的完整性。、、70貝料搜 8·如申請專利範圍第1項所述之恤 連結架構,其中該更新連結分頁的1 =體的 堆疊區堆疊開頭指位器以及堆最士扣匕括更 9·如申請專利範圍第1項所述之他二 y =構,其中該連結表架構,係利用ί ί;=:儲存在此實際位址内的資料為主 U· 一種備用區塊管理演算法,包 a·從,疊區取出由堆疊開頭指位器所指$定"的1 b ·堆疊開頭指位器的值加” 1 ” 9 、 的備用區塊; 心向下一個 置,抹除欲取代之區塊後,置人堆*結尾指位 d ·將堆疊指位器的值加” 1 ”, 備存放新的備用區塊; 9 °下一個空 藉前述之步驟,可有效的做好 達到平均各一般資料區塊的使用次=用£塊之 11 · 一種快閃記憶體的管理、資料連处架 要是:檔案配置表與一般資料分開處。設; ,該連結架構設有檔案配置表連結表之單一表 體中的位置 尋工作,且 管理、資料 新備用區塊 管理、資料 的實際位址 機所定址到 I : 備用區塊; 專待被取出 斋所指的位 的位置,準 管理,並可 演算法,主 一連結架構 格,該檔案第22頁 ” V3H 六申请專利範圍 酉己 於表連結表負責紀錄每個邏輯區塊對應的實際區塊,乃 以建,開機時依據每個區塊中備用區域所存放的識別碼 12 立檔案配置表連結表。 ’ t申請專利範圍第11項所述之快閃記憶體的管理、 =連結架構與演算法,其中新的資料寫入區塊後, 匕括有原區塊剩餘資料的搬移工作。 請專利範圍第u項所述之快閃記憶體的管理、買 決3架構與演算法,其中搬移索引係根據搬移索引 鼓2原區塊中將搬移至替代區塊内的分頁;其具有複 值央、ί =長度,每個位元對應—個分頁,根據位元的 如决疋該位元所對應的分頁是否搬移。 料項所述之快閃記憶體的管理、資 入索引。/、/貝异法,其中該搬移索引反相後求得寫 要ϊ ί 體的管理 ' 資料連結架構與演算法’主 塊之管理加立起資料存起連結表功能及更新備用區 1判定包括有·· 區塊,同屬L ^的貧料是否和前一筆資料同屬於一個 入i ; 區魏即無須重新建立搬移索引;否則進 b·判別欲寫入的:处 入g ; 八的貝料數是否等於” 0”。不等於,,〇,,則進 料則執行e · 、/要k原區塊搬移至替代區塊;無資 仃e ’ d•將搬移索引指定的分頁搬移到替代區 13· 14· 15資 更 資 第23頁塊内; e·g· 判別寫入的資料是否為檔案 入動作;否則進入f ; 更新資料連結表後結束; 寫入資料於指定的分頁内, 減一; 配置表;是則結東分頁寫 並將等待寫入的資科個數 元成資料寫入 h·判別等待寫入的資料個數是否為π 〇π •則進入c ;否則重回g ; I機端的參數,求出欲寫人該區塊的分 •刀頁起始位置及欲搬移之分頁; 、數目、 ]:::區塊堆疊中’取出堆疊開頭指位器所指向的替 於該區塊中; 而扪貝枓及搬移原區塊的資料 k·判別欲寫入的邏蘇^ 址;是則進七;:;;::否為存放播案配置表的位 m:置表連結表的内容’以維持資料連結的完 m·判別該邏輯區塊所屬的連結表是否存在緩 在則進入〇 ; τ ’存 η·將該邏輯區塊所屬的連結表讀入缓衝器中; 〇·更新存在於缓衝器中的連結表内容,同時亦要更新連結 ^頁和連結區塊=内容;重回步驟b ;如果存放連結表的σ 區塊已滿,則找尋一個備用區塊,將連結表填入及搬移到 該區塊中,且須更新連結區塊和連結分頁。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW88111899A TW484064B (en) | 1999-07-12 | 1999-07-12 | Flash memory management, data linking architecture and algorithm |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW88111899A TW484064B (en) | 1999-07-12 | 1999-07-12 | Flash memory management, data linking architecture and algorithm |
Publications (1)
Publication Number | Publication Date |
---|---|
TW484064B true TW484064B (en) | 2002-04-21 |
Family
ID=21641490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW88111899A TW484064B (en) | 1999-07-12 | 1999-07-12 | Flash memory management, data linking architecture and algorithm |
Country Status (1)
Country | Link |
---|---|
TW (1) | TW484064B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI386803B (zh) * | 2008-07-02 | 2013-02-21 | Silicon Motion Inc | 快閃記憶卡及快閃記憶體預防資料毀損的方法 |
TWI394170B (zh) * | 2008-10-15 | 2013-04-21 | Silicon Motion Inc | 連結表的回復方法 |
US8429326B2 (en) | 2005-09-12 | 2013-04-23 | Mediatek Inc. | Method and system for NAND-flash identification without reading device ID table |
TWI400615B (zh) * | 2008-03-01 | 2013-07-01 | Toshiba Kk | 記憶體系統 |
US8478949B2 (en) | 2008-07-09 | 2013-07-02 | Phison Electronics Corp. | Data accessing method for flash memory storage device having data perturbation module, and storage system and controller using the same |
TWI414940B (zh) * | 2009-12-30 | 2013-11-11 | Phison Electronics Corp | 區塊管理與資料寫入方法、快閃記憶體儲存系統與控制器 |
US9323460B2 (en) | 2013-03-14 | 2016-04-26 | Microsoft Technology Licensing, Llc | Assigning priorities to data for hybrid drives |
US9626126B2 (en) | 2013-04-24 | 2017-04-18 | Microsoft Technology Licensing, Llc | Power saving mode hybrid drive access management |
US9946495B2 (en) | 2013-04-25 | 2018-04-17 | Microsoft Technology Licensing, Llc | Dirty data management for hybrid drives |
-
1999
- 1999-07-12 TW TW88111899A patent/TW484064B/zh not_active IP Right Cessation
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429326B2 (en) | 2005-09-12 | 2013-04-23 | Mediatek Inc. | Method and system for NAND-flash identification without reading device ID table |
TWI400615B (zh) * | 2008-03-01 | 2013-07-01 | Toshiba Kk | 記憶體系統 |
TWI386803B (zh) * | 2008-07-02 | 2013-02-21 | Silicon Motion Inc | 快閃記憶卡及快閃記憶體預防資料毀損的方法 |
US8478949B2 (en) | 2008-07-09 | 2013-07-02 | Phison Electronics Corp. | Data accessing method for flash memory storage device having data perturbation module, and storage system and controller using the same |
TWI394170B (zh) * | 2008-10-15 | 2013-04-21 | Silicon Motion Inc | 連結表的回復方法 |
TWI414940B (zh) * | 2009-12-30 | 2013-11-11 | Phison Electronics Corp | 區塊管理與資料寫入方法、快閃記憶體儲存系統與控制器 |
US9323460B2 (en) | 2013-03-14 | 2016-04-26 | Microsoft Technology Licensing, Llc | Assigning priorities to data for hybrid drives |
US9626126B2 (en) | 2013-04-24 | 2017-04-18 | Microsoft Technology Licensing, Llc | Power saving mode hybrid drive access management |
US9946495B2 (en) | 2013-04-25 | 2018-04-17 | Microsoft Technology Licensing, Llc | Dirty data management for hybrid drives |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10783071B2 (en) | Data storage device and operating method thereof, wherein mapping table for valid data of source block that has not been copied to destination block has a higher priority than mapping information collected by reverse scanning from end of the destination block | |
US8041884B2 (en) | Controller for non-volatile memories and methods of operating the memory controller | |
US7227788B2 (en) | Memory management device and memory device | |
US20190220396A1 (en) | Data Storage Device | |
TW200828014A (en) | Flash memory management method with low RAM utilization | |
US20040085849A1 (en) | Flash memory, and flash memory access method and apparatus | |
US20070288711A1 (en) | Snapshot copy management method used for logic volume manager | |
TW200928736A (en) | A controller for one type of NAND flash memory for emulating another type of NAND flash memory | |
TWI681331B (zh) | 記憶體系統及其控制方法 | |
WO2015096698A1 (zh) | 一种Flash的数据写入和读取方法 | |
CN110457231A (zh) | 用来管理一记忆装置的方法以及其相关的记忆装置 | |
CN109952565B (zh) | 内存访问技术 | |
TW484064B (en) | Flash memory management, data linking architecture and algorithm | |
US9009442B2 (en) | Data writing method, memory controller and memory storage apparatus | |
TW201013682A (en) | One-time-programmable memory emulation | |
CN112084032B (zh) | 一种写优化的持久性内存堆管理方法 | |
CN112988611A (zh) | 非易失性存储器的数据写入方法、终端和可读存储介质 | |
KR20080078129A (ko) | 맵 히스토리 기반의 불휘발성 메모리의 매핑 방법 및 저장장치 | |
CN115269450A (zh) | 内存协同管理系统和方法 | |
CN109669889B (zh) | 一种轻量型Nor Flash闪存控制方法和装置 | |
CN109840218A (zh) | 有效数据管理方法以及存储控制器 | |
TWI808384B (zh) | 儲存裝置、快閃記憶體控制器及其控制方法 | |
CN113641629A (zh) | 一种flash存储器的文件写入和读取方法 | |
US9329994B2 (en) | Memory system | |
CN102521146A (zh) | 一种flash存储器块细分的数据寻址存储方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MK4A | Expiration of patent term of an invention patent |