• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    通過閃存轉(zhuǎn)換層識別上層應(yīng)用的方法及其系統(tǒng)技術(shù)方案

    技術(shù)編號:8562942 閱讀:182 留言:0更新日期:2013-04-11 04:35
    本發(fā)明專利技術(shù)適用于存儲技術(shù)領(lǐng)域,提供了一種通過閃存轉(zhuǎn)換層識別上層應(yīng)用的方法及其系統(tǒ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ā)的所述寫命令的類型。借此,本發(fā)明專利技術(shù)使通過閃存轉(zhuǎn)換層可以識別上層應(yīng)用下發(fā)的寫命令的類型。

    【技術(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ù)在實際使用上,顯然存在不便與缺陷,所以有必要加以改進。
    技術(shù)實現(xiàn)思路
    針對上述的缺陷,本專利技術(shù)的目的在于提供一種通過閃存轉(zhuǎn)換層識別上層應(yīng)用的方法及其系統(tǒng),使通過閃存轉(zhuǎn)換層可以識別上層應(yīng)用下發(fā)的寫命令的類型。為了實現(xiàn)上述目的,本專利技術(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ā)的所述寫命令的類型。根據(jù)所述的方法,在所述在閃存轉(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)的操作處理。根據(jù)所述的方法,在所述上層應(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列表中增加所述寫命令的數(shù)目及長度的記錄;在所述順序?qū)懞蜻x列表中有記錄時,則更新所述順序?qū)懞蜻x列表中所述寫命令的數(shù)目及總長度記錄;在所述順序?qū)懞蜻x列表中記錄所述寫命令的總長度大于所述數(shù)據(jù)塊大小,則標記該次所述寫命令為順序?qū)懨睿駝t標記為隨機寫命令。根據(jù)所述的方法,所述根據(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í)行垃圾回收。根據(jù)所述的方法,所述根據(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ù)目的上限時,執(zhí)行垃圾回收。為了實現(xiàn)本專利技術(shù)的另一實施例,本專利技術(shù)提供了一種通過閃存轉(zhuǎn)換層識別上層應(yīng)用的系統(tǒ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ā)的所述寫命令的類型。根據(jù)所述的系統(tǒng),所述系統(tǒng)還包括劃分模塊,用于將閃存存儲塊劃分為日志塊、數(shù)據(jù)塊以及空白塊;所述日志塊分為順序?qū)懭罩緣K和隨機寫日志塊;所述順序日志塊對應(yīng)一個所述數(shù)據(jù)塊,所述隨機日志塊對應(yīng)多個所述數(shù)據(jù)塊;設(shè)置模塊,用于分別設(shè)置所述順序?qū)懭罩緣K和隨機寫日志塊的上下限的數(shù)目;執(zhí)行模塊,用于根據(jù)所述寫命令的類型以及當前所述順序?qū)懭罩緣K和隨機寫日志塊的情況,執(zhí)行相應(yīng)的操作處理。根據(jù)所述的系統(tǒng),所述判斷模塊包括第一檢查子模塊,用于在所述上層應(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標記為隨機寫命令。根據(jù)所述的系統(tǒng),所述執(zhí)行模塊包括分配子模塊,用于在所述寫命令標記為順序?qū)懨顣r,則所述閃存轉(zhuǎn)換層的地址映射按照塊映射,為一個所述數(shù)據(jù)塊分配一個所述順序日志塊;第一執(zhí)行子模塊,用于當所述數(shù)據(jù)塊上的數(shù)據(jù)都無效或者當所述順序日志塊用完或者達到所述順序日志塊數(shù)目的上限時,則執(zhí)行垃圾回收;第二執(zhí)行子模塊,用于在所述寫命令標記為隨機寫命令時,則所述閃存本文檔來自技高網(wǎ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ā)明
    國別省市:

    網(wǎng)友詢問留言 已有0條評論
    • 還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 亚洲日韩精品无码专区加勒比☆| 亚洲AV永久无码精品| 亚洲欧洲精品无码AV| 亚洲av无码久久忘忧草| 无码中文字幕一区二区三区 | 亚洲AV蜜桃永久无码精品| 国产精品无码v在线观看| 无码一区二区三区老色鬼| 无码视频一区二区三区| 亚洲va中文字幕无码久久不卡 | 免费人妻无码不卡中文字幕18禁| 中国无码人妻丰满熟妇啪啪软件 | 日韩国产成人无码av毛片| 五月婷婷无码观看| JAVA性无码HD中文| 亚洲中文久久精品无码ww16| 国产乱人伦中文无无码视频试看| 国产乱人伦Av在线无码| 无码精品人妻一区| 国产成人无码AV片在线观看| 亚洲AV成人无码天堂| 人妻无码αv中文字幕久久琪琪布| 国产亚洲美日韩AV中文字幕无码成人| 亚洲av无码无线在线观看| 免费A级毛片无码A∨免费| 国产亚洲情侣一区二区无码AV| 特级无码a级毛片特黄| 无码粉嫩虎白一线天在线观看| 蜜桃成人无码区免费视频网站| 久久成人无码国产免费播放| 国产亚洲精品无码拍拍拍色欲| 日韩AV无码一区二区三区不卡毛片| 无码人妻丰满熟妇啪啪| MM1313亚洲精品无码久久| 免费无码一区二区| 曰批全过程免费视频在线观看无码 | 亚洲Aⅴ在线无码播放毛片一线天| 久热中文字幕无码视频| 亚洲AV无码专区在线亚| 国产精品无码无片在线观看3D| 成人麻豆日韩在无码视频|