【19】中華民國 【12】專利公報 (B)
【11】證書號數:I643067
【45】公告日: 中華民國 107 (2018) 年 12 月 01 日
【51】Int. Cl.: G06F12/06 (2006.01) G06F12/0882(2016.01)
發明 全 20 頁
【54】名 稱:三維非及閘快閃記憶體及其記憶體管理方法
THREE-DIMENSION NAND FLASH MEMORY AND MANAGEMENT METHOD
【21】申請案號:106112592 【22】申請日: 中華民國 106 (2017) 年 04 月 14 日
【11】公開編號:201837714 【43】公開日期: 中華民國 107 (2018) 年 10 月 16 日
【72】發 明 人: 吳晋賢 (TW) WU, CHIN-HSIEN;周煜 (TW) CHOU, YU
【71】申 請 人: 國立臺灣科技大學 NATIONAL TAIWAN UNIVERSITY OF SCIENCE AND TECHNOLOGY
臺北市大安區基隆路 4 段 43 號
【74】代 理 人: 賴安國;王立成
【56】參考文獻:
TW 201229754A TW 201612908A TW 201706855A US 2010/0223420A1 US 2014/0208004A1
TW 201510723A TW 201633138A CN 102224489A US 2013/0339572A1 審查人員:馮聖原
【57】申請專利範圍
1. 一種能提高空間使用率之三維非及閘快閃記憶體,包括:一快閃記憶體轉換層,用以接 收一主機系統傳送來的一邏輯位址,將該邏輯位址映射至一實體位址,以進行資料之寫 入或讀取;一寫入緩衝器,連接至該快閃記憶體轉換層;一實體記憶體區塊層,具有複 數個通道,每個通道係連接至複數個實體記憶體區塊,且每個實體記憶體區塊具有複數 個實體記憶體分頁;以及一虛擬記憶體區塊層,具有複數個虛擬記憶體區塊,且每個虛 擬記憶體區塊具有複數個虛擬記憶體分頁;其中,該虛擬記憶體區塊中的該些虛擬記憶 體分頁係分別平均地對應至各通道之該實體記憶體區塊中的該實體記憶體分頁,且該實 體位址係對應至該虛擬記憶體區塊層中之該複數個虛擬記憶體區塊之一;於該實體記憶 體區塊層中,每個通道下每個實體記憶體區塊中不相鄰之四個該實體記憶體分頁組成一 記憶體分割區塊,且當其中一個該記憶體分割區塊被使用時,與被使用之該記憶體分割 區塊相鄰之兩個該記憶體分割區塊不允許被使用;透過該實體位址與對應之該複數個虛 擬記憶體區塊之一,該快閃記憶體轉換層將資料平均且同時地寫入至不同通道下之該實 體記憶體區塊中的該實體記憶體分頁,或將資料平均且同時地由不同通道下之該實體記 憶體區塊中的該實體記憶體分頁讀取;若該寫入緩衝器的資料存在於該實體記憶體區塊 層,則該三維非及閘快閃記憶體將該實體記憶體區塊層相對應的有效頁面標示為無效狀 態。
2. 一種能提高空間使用率之記憶體管理方法,適用於一三維非及閘快閃記憶體,該三維非 及閘快閃記憶體包括一快閃記憶體轉換層、一寫入緩衝器、一實體記憶體區塊層與一虛 擬記憶體區塊層,其中該實體記憶體區塊層具有複數個通道,每個通道係連接至複數個 實體記憶體區塊,每個實體記憶體區塊具有複數個實體記憶體分頁,且於該實體記憶體
- 6512 -
區塊層中,每個通道下每個實體記憶體區塊中不相鄰之四個該實體記憶體分頁組成一記 憶體分割區塊,以使每個實體記憶體區塊具有四個該記憶體分割區塊,該記憶體管理方 法包括:步驟 A:判斷是否存在已使用空間大於 50%之該實體記憶體區塊,且優先選擇 已使用空間大於 50%之該實體記憶體區塊來進行資料的抹除或移動;步驟 B:若不存在 已使用空間大於 50%之該實體記憶體區塊,則判斷是否存在已使用空間等於 50%之該實 體記憶體區塊,且優先選擇已使用空間等於 50%之該實體記憶體區塊來進行資料的抹除 或移動;以及步驟 C:若不存在已使用空間等於 50%之該實體記憶體區塊,則選擇已使 用空間小於 50%之該實體記憶體區塊來進行資料的抹除或移動;其中,於步驟 A~C 中,
根據有效之該實體記憶體分頁的占有比例與各通道中空閒之該實體記憶體區塊的占有比 例來進行資料的抹除或移動;其中當其中一個該記憶體分割區塊被使用時,與被使用之 該記憶體分割區塊相鄰之兩個該記憶體分割區塊不允許被使用;若該寫入緩衝器的資料 存在於該實體記憶體區塊層,則將該實體記憶體區塊層相對應的有效頁面標示為無效狀 態。
3. 如請求項 2 所述之記憶體管理方法,其中步驟 A 還包括以下步驟:步驟 A-1:判斷該實 體記憶體區塊中的該些實體記憶體分頁是否均無效;以及步驟 A-1’:若該實體記憶體 區塊中的該些實體記憶體分頁均無效,則將該實體記憶體區塊整個抹除。
4. 如請求項 3 所述之記憶體管理方法,其中步驟 A 還包括以下步驟:步驟 A-2:判斷有效 之該實體記憶體分頁是否僅存在於該實體記憶體區塊之其中一個該記憶體分割區塊;以 及步驟 A-2’:若有效之該實體記憶體分頁僅存在於該實體記憶體區塊之其中一個該記 憶體分割區塊,則將該記憶體分割區塊中的資料複製並移動至同一通道下另一實體記憶 體區塊之其中一記憶體分割區塊中,且將該實體記憶體區塊整個抹除。
5. 如請求項 4 所述之記憶體管理方法,其中步驟 A 還包括以下步驟:步驟 A-3:判斷該實 體記憶體區塊之其中兩個該記憶體分割區塊中是否均存在有效之該實體記憶體分頁,且 判斷該快閃記憶體轉換層所使用之映射方式是否為分頁映射;步驟 A-3’:若於該實體 記憶體區塊之其中兩個該記憶體分割區塊中均存在有效之該實體記憶體分頁,且該快閃 記憶體轉換層所使用之映射方式為分頁映射,則於該快閃記憶體轉換層以分頁映射的方 式將有效之該實體記憶體分頁中的資料進行複製後,將該實體記憶體區塊整個抹除;以 及步驟 A-3”:若於該實體記憶體區塊之兩個該記憶體分割區塊中均存在有效之該實體 記憶體分頁,但該快閃記憶體轉換層所使用之映射方式為區塊映射或混和映射,則將該 記憶體分割區塊中的資料複製並移動至同一通道下另一實體記憶體區塊中的一記憶體分 割區塊中,且將該實體記憶體區塊整個抹除。
6. 如請求項 2 所述之記憶體管理方法,其中步驟 B 還包括以下步驟:步驟 B-1:判斷有效 之該實體記憶體分頁是否僅存在於該實體記憶體區塊之其中一個該記憶體分割區塊;以 及步驟 B-1’:若有效之該實體記憶體分頁僅存在於該實體記憶體區塊中的一個該記憶 體分割區塊,則將該記憶體分割區塊中的資料複製並移動至同一實體記憶體區塊中其它 空閒之記憶體分割區塊。
7. 如請求項 6 所述之記憶體管理方法,其中步驟 B 還包括以下步驟:步驟 B-2:判斷該實 體記憶體區塊中的兩個該記憶體分割區塊中是否均存在有效之該實體記憶體分頁,且判 斷該快閃記憶體轉換層所使用之映射方式是否為分頁映射;步驟 B-2’:若該實體記憶 體區塊中的兩個該記憶體分割區塊中均存在有效之該實體記憶體分頁,且該快閃記憶體 轉換層所使用之映射方式為分頁映射,則該快閃記憶體轉換層以分頁映射的方式將有效 之該實體記憶體分頁中的資料進行複製;以及步驟 B-2”:若該實體記憶體區塊中的兩 個該記憶體分割區塊中均存在有效之該實體記憶體分頁,但該快閃記憶體轉換層所使用
(2)
- 6513 -
之映射方式為區塊映射或混和映射,則將兩個該記憶體分割區塊中的資料複製並移動至 同一實體記憶體區塊中其他空閒之該記憶體分割區塊。
8. 如請求項 2 所述之記憶體管理方法,其中步驟 C 還包括以下步驟:步驟 C-1:判斷該實 體記憶體區塊是否僅存在無效與空閒之該實體記憶體分頁;以及步驟 C-1’:若該實體 記憶體區塊僅存在無效與空閒之該實體記憶體分頁,則將該實體記憶體區塊中被使用之 該記憶體分割區塊中空閒的該實體記憶體分頁標示為無效。
9. 如請求項 8 所述之記憶體管理方法,其中步驟 C 還包括以下步驟:步驟 C-2:判斷有效 之該實體記憶體分頁是否僅存在於一個該記憶體分割區塊,且判斷位於該記憶體分割區 塊之邊界位置的該實體記憶體分頁是否皆為無效;以及步驟 C-2’:若有效之該實體記 憶體分頁僅存在於一個該記憶體分割區塊,且位於該記憶體分割區塊之邊界位置的該實 體記憶體分頁皆為無效,則將該實體記憶體區塊中被使用之該記憶體分割區塊中空閒的 該實體記憶體分頁標示為無效。
10. 如請求項 9 所述之記憶體管理方法,其中步驟 C 還包括以下步驟:步驟 C-3:再次判斷 有效之該實體記憶體分頁是否僅存在於一個該記憶體分割區塊;以及步驟 C-3’:經再 次判斷,若有效之該實體記憶體分頁僅存在於一個該記憶體分割區塊,則將該記憶體分 割區塊中的資料複製並移動至同一實體記憶體區塊中其他空閒之記憶體分割區塊,且將 該實體記憶體區塊中被使用之該記憶體分割區塊中空閒的該實體記憶體分頁標示為無效。
11. 如請求項 10 所述之記憶體管理方法,其中步驟 C 還包括以下步驟:步驟 C-4:判斷該實 體記憶體區塊中的兩個該記憶體分割區塊中是否均存在有效之該實體記憶體分頁,且判 斷該快閃記憶體轉換層所使用之映射方式是否為分頁映射;步驟 C-4’:若該實體記憶 體區塊中的兩個該記憶體分割區塊中均存在有效之該實體記憶體分頁,且該快閃記憶體 轉換層所使用之映射方式為分頁映射,則於該快閃記憶體轉換層以分頁映射的方式將有 效之該實體記憶體分頁中的資料進行複製後,將該兩個記憶體分割區塊中空閒的該實體 記憶體分頁標示為無效;以及步驟 C-4”:若該實體記憶體區塊中的兩個該記憶體分割 區塊中均存在有效之該實體記憶體分頁,但該快閃記憶體轉換層所使用之映射方式為區 塊映射或混和映射,則將該兩個記憶體分割區塊中的資料複製並移動至同一通道下另一 實體記憶體區塊中的另兩個記憶體分割區塊中,且將該兩個記憶體分割區塊中空閒之該 實體記憶體分頁標示為無效。
圖式簡單說明
〔圖 1〕係為根據本發明例示性實施例所繪示之能提高空間使用率之三維非及閘快閃記憶 體的示意圖。
〔圖 2A~圖 2C〕係為根據本發明例示性實施例所繪示之能提高空間使用率之記憶體管理方 法的流程圖。
〔圖 3A〕係為圖 2A 所繪示之能提高空間使用率之記憶體管理方法中步驟 A-1 與 A-1’的 示意圖。
〔圖 3B〕係為圖 2A 所繪示之能提高空間使用率之記憶體管理方法中步驟 A-2 與 A-2’的 示意圖。
〔圖 3C〕係為圖 2A 所繪示之能提高空間使用率之記憶體管理方法中步驟 A-3 與 A-3’的 示意圖。
〔圖 3D〕係為圖 2A 所繪示之能提高空間使用率之記憶體管理方法中步驟 A-3”的示意 圖。
〔圖 4A〕係為圖 2B 所繪示之能提高空間使用率之記憶體管理方法中步驟 B-1 與 B-1’的 示意圖。
(3)
- 6514 -
〔圖 4B〕係為圖 2B 所繪示之能提高空間使用率之記憶體管理方法中步驟 B-2 與 B-2’的 示意圖。
〔圖 4C〕係為圖 2B 所繪示之能提高空間使用率之記憶體管理方法中步驟 B-2”的示意圖。
〔圖 5A〕係為圖 2C 所繪示之能提高空間使用率之記憶體管理方法中步驟 C-1 與 C-1’的 示意圖。
〔圖 5B〕係為圖 2C 所繪示之能提高空間使用率之記憶體管理方法中步驟 C-2 與 C-2’的 示意圖。
〔圖 5C〕係為圖 2C 所繪示之能提高空間使用率之記憶體管理方法中步驟 C-3 與 C-3’的 示意圖。
〔圖 5D〕係為圖 2C 所繪示之能提高空間使用率之記憶體管理方法中步驟 C-4 與 C-4’的 示意圖。
〔圖 5E〕係為圖 2C 所繪示之能提高空間使用率之記憶體管理方法中步驟 C-4”的示意圖。
(4)
- 6515 -
(5)
- 6516 -
(6)
- 6517 -
(7)
- 6518 -
(8)
- 6519 -
(9)
- 6520 -
(10)
- 6521 -
(11)
- 6522 -
(12)
- 6523 -
(13)
- 6524 -
(14)
- 6525 -
(15)
- 6526 -
(16)
- 6527 -
(17)
- 6528 -
(18)
- 6529 -
(19)
- 6530 -
(20)
- 6531 -