【技術(shù)實現(xiàn)步驟摘要】
本專利技術(shù)涉及存儲
,尤其涉及一種通過閃存轉(zhuǎn)換層識別上層應(yīng)用的方法及其系統(tǒng)。
技術(shù)介紹
NAND Flash是Flash內(nèi)存的一種,屬于非易失性、抗振動、存儲速度快、功耗低的特性,使其廣泛應(yīng)用于手機、數(shù)碼相機等便攜式移動設(shè)備。但是NANDFlash存在一個限制條件需要先擦除再寫入,數(shù)據(jù)讀寫單位為page,擦除的單位為block,而且block的擦除次數(shù)有限;因此,文件系統(tǒng)不能直接訪問它。FTL(Flash Translation Layer閃存轉(zhuǎn)換層)是文件系統(tǒng)和NAND Flash之間的轉(zhuǎn)換層,使文件系統(tǒng)可以像磁盤一樣訪問NAND Flash。文件系統(tǒng)與FTL的層次關(guān)系如圖1所示FTL由三個核心功能組成地址映射、垃圾回收、均衡磨損。FTL地址映射通常分為塊映射、頁映射、塊頁混合映射三類。塊頁混合映射一般是多級映射,第一級塊映射,第二級塊內(nèi)頁映射。目前FTL多采用塊頁混合映射,而且采用日志系統(tǒng)原理,將數(shù)據(jù)的更新記錄在日志塊上。這種日志式混合映射類型的FTL通常將Flash塊分成兩類數(shù)據(jù)塊和日志塊,數(shù)據(jù)塊和日志塊的對應(yīng)關(guān)系一對一,或者多對多。垃圾回收的代價主要來源于擦除操作,其次是復制有效數(shù)據(jù)。因此,對于順序?qū)懀捎脡K映射可以節(jié)約內(nèi)存空間,數(shù)據(jù)塊和日志塊采用一一對應(yīng)的關(guān)系,垃圾回收效率較高;對于隨機寫,一般采用頁映射,日志塊對應(yīng)多個數(shù)據(jù)塊,提高日志塊的利用率,但是垃圾回收的效率不高。當前常見FTL算法只提供一種數(shù)據(jù)塊和日志塊的對應(yīng)關(guān)系,而且鮮見有區(qū)分上層應(yīng)用的機制,因此,不能滿足如圖1所示的通用計算機系統(tǒng)的復雜應(yīng)用。綜上可知,現(xiàn)有閃存轉(zhuǎn)換層識別上層應(yīng) ...
【技術(shù)保護點】
一種通過閃存轉(zhuǎn)換層識別上層應(yīng)用的方法,其特征在于,所述方法包括如下步驟:在閃存轉(zhuǎn)換層建立順序?qū)懞Y選列表,所述順序?qū)懞Y選列表記錄上層應(yīng)用的下一個寫命令的邏輯塊尋址;在所述閃存轉(zhuǎn)換層建立順序?qū)懞蜻x列表,所述順序?qū)懞蜻x列表記錄所述上層應(yīng)用下發(fā)的寫命令;在所述上層應(yīng)用下發(fā)寫命令時,根據(jù)所述順序?qū)懞Y選列表和順序?qū)懞蜻x列表的記錄判斷所述上層應(yīng)用下發(fā)的所述寫命令的類型。
【技術(shù)特征摘要】
1.一種通過閃存轉(zhuǎn)換層識別上層應(yīng)用的方法,其特征在于,所述方法包括如下步驟 在閃存轉(zhuǎn)換層建立順序?qū)懞Y選列表,所述順序?qū)懞Y選列表記錄上層應(yīng)用的下一個寫命令的邏輯塊尋址; 在所述閃存轉(zhuǎn)換層建立順序?qū)懞蜻x列表,所述順序?qū)懞蜻x列表記錄所述上層應(yīng)用下發(fā)的與命令; 在所述上層應(yīng)用下發(fā)寫命令時,根據(jù)所述順序?qū)懞Y選列表和順序?qū)懞蜻x列表的記錄判斷所述上層應(yīng)用下發(fā)的所述寫命令的類型。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述在閃存轉(zhuǎn)換層建立順序?qū)懞Y選列表的步驟之前包括 將閃存存儲塊劃分為日志塊、數(shù)據(jù)塊以及空白塊; 所述日志塊分為順序?qū)懭罩緣K和隨機寫日志塊;所述順序日志塊對應(yīng)一個所述數(shù)據(jù)塊,所述隨機日志塊對應(yīng)多個所述數(shù)據(jù)塊;并且分別設(shè)置所述順序?qū)懭罩緣K和隨機寫日志塊的上下限的數(shù)目; 在所述根據(jù)所述順序?qū)懞Y選列表和順序?qū)懞蜻x列表的記錄判斷所述上層應(yīng)用下發(fā)的所述寫命令的類型的步驟之后包括 根據(jù)所述寫命令的類型以及當前所述順序?qū)懭罩緣K和隨機寫日志塊的情況,執(zhí)行相應(yīng)的操作處理。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述上層應(yīng)用下發(fā)寫命令時,根據(jù)所述順序?qū)懞Y選列表和順序?qū)懞蜻x列表的記錄判斷所述上層應(yīng)用下發(fā)的所述寫命令的類型的步驟包括 在所述上層應(yīng)用下發(fā)寫命令時,檢查所述寫命令是否在所述順序?qū)懞Y選列表中有記錄; 在所述寫命令所述順序?qū)懞Y選列表中沒有記錄時,則在所述順序?qū)懞Y選列表中增加一個所述寫命令的數(shù)目及長度的記錄; 在所述寫命令所述順序?qū)懞Y選列表中有記錄時,則檢查所述寫命令是否在所述順序?qū)懞蜻x列表中有記錄 在所述順序?qū)懞蜻x列表中沒有記錄時,則在所述順序?qū)懞蜻x列表中增加所述寫命令的數(shù)目及長度的記錄; 在所述順序?qū)懞蜻x列表中有記錄時,則更新所述順序?qū)懞蜻x列表中所述寫命令的數(shù)目及總長度記錄; 在所述順序?qū)懞蜻x列表中記錄所述寫命令的總長度大于所述數(shù)據(jù)塊大小,則標記該次所述寫命令為順序?qū)懨睿駝t標記為隨機寫命令。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述寫命令的類型以及當前所述順序?qū)懭罩緣K和隨機寫日志塊的情況,執(zhí)行相應(yīng)的操作處理的步驟包括 在所述寫命令標記為順序?qū)懨顣r,則所述閃存轉(zhuǎn)換層的地址映射按照塊映射,為一個所述數(shù)據(jù)塊分配一個所述順序日志塊; 當所述數(shù)據(jù)塊上的數(shù)據(jù)都無效或者當所述順序日志塊用完或者達到所述順序日志塊數(shù)目的上限時,則執(zhí)行垃圾回收; 在所述寫命令標記為隨機寫命令時,則所述閃存轉(zhuǎn)換層的地址映射按照頁映射,每個所述數(shù)據(jù)塊上頁數(shù)據(jù)更新可以存放在不同的所述隨機日志塊上;當所有的所述隨機日志塊用完或者達到所述隨機日志塊數(shù)目的上限時,則執(zhí)行垃圾回收。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述寫命令的類型以及當前所述順序?qū)懭罩緣K和隨機寫日志塊的情況,執(zhí)行相應(yīng)的操作處理的步驟還包括 在所述順序?qū)懨詈碗S機寫命令交替下發(fā)到所述數(shù)據(jù)塊時,則若是所述順序?qū)懨睿鰯?shù)據(jù)塊有頁映射表,或者已經(jīng)關(guān)聯(lián)了隨機日志塊,但是沒有關(guān)聯(lián)順序日志塊,則給所述數(shù)據(jù)塊分配一個順序日志塊,當垃圾回收時釋放頁映射表; 若是所述隨機寫命令,所述數(shù)據(jù)塊沒有頁映射表,但是具有順序日志塊,則構(gòu)建頁映射表,并且將所述數(shù)據(jù)塊的順序日志塊轉(zhuǎn)換成...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:張雷,
申請(專利權(quán))人:記憶科技深圳有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。