[發(fā)明專利]一種基于固態(tài)盤陣列和緩存的數(shù)據(jù)處理方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201710604527.9 | 申請日: | 2017-07-24 |
| 公開(公告)號: | CN107402890B | 公開(公告)日: | 2020-10-02 |
| 發(fā)明(設計)人: | 馮丹;梅林軍;陳儉喜;曾令仿;劉景寧;張曉祎 | 申請(專利權(quán))人: | 華中科技大學 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02;G06F3/06 |
| 代理公司: | 華中科技大學專利中心 42201 | 代理人: | 廖盈春;李智 |
| 地址: | 430074 湖北*** | 國省代碼: | 湖北;42 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 固態(tài) 陣列 緩存 數(shù)據(jù)處理 方法 系統(tǒng) | ||
1.一種基于固態(tài)盤陣列和緩存的數(shù)據(jù)處理方法,其特征在于,包括:
接收寫請求,指示固態(tài)盤和緩存寫入所述寫請求對應的數(shù)據(jù),所述固態(tài)盤包括多個芯片組成的陣列,所述多個芯片用于承載多個條帶,每個條帶包括的多個候選寫入數(shù)據(jù)位置分散在所述多個芯片,每個條帶包括的多個候選寫入數(shù)據(jù)位置的邏輯地址相同,所述固態(tài)盤中前后兩次寫入的邏輯地址相同的數(shù)據(jù)采用異地更新策略寫在不同的芯片中,所述緩存中前后兩次寫入的同一個芯片的數(shù)據(jù)采用本地更新策略寫入相同的位置;
通過哈希表指示所述緩存中存儲的每個芯片最后一次寫入的數(shù)據(jù);
當所述緩存被寫滿時,優(yōu)先替換第一條帶在所述緩存中的數(shù)據(jù)塊,所述第一條帶在所述緩存中的包括的數(shù)據(jù)塊最多,當所述第一條帶被替換時,指示所述多個芯片計算所述第一條帶的校驗信息并將該校驗信息寫入所述多個芯片中;
當有芯片失效時,通過所述哈希表恢復該失效芯片中最后一次寫入的數(shù)據(jù),通過未失效芯片中的數(shù)據(jù)和校驗信息恢復失效芯片中對應邏輯地址上的數(shù)據(jù);
接收寫請求,指示固態(tài)盤和緩存寫入所述寫請求對應的數(shù)據(jù),包括:
步驟(1.1),將用戶寫請求按照條帶進行分解后,掛載到對應的條帶上;
步驟(1.2),對有寫請求的條帶進行處理,首先在哈希表中查找是否有對應的條帶條目,如果有就執(zhí)行步驟(1.4),否則就新增一個條帶條目,填充新增條帶的編號s_num、新增條帶在緩存中數(shù)據(jù)塊的個數(shù)count、新增條帶指向數(shù)據(jù)塊條目的指針p_blk以及指向下一個條帶條目next各個域值后插入哈希表中,繼續(xù)步驟(1.3)所述哈希表用于記錄緩存中數(shù)據(jù)塊在緩存和芯片陣列中邏輯地址;
步驟(1.3),新增一個數(shù)據(jù)塊條目,為數(shù)據(jù)塊在緩存中分配一個位置,并填充數(shù)據(jù)塊在芯片中的邏輯地址LBA、數(shù)據(jù)塊在緩存中的邏輯地址C_LBA以及指向下一個數(shù)據(jù)塊條目next各個閾值后插入到對應的p_blk鏈表中,所述p_blk鏈表指向的數(shù)據(jù)塊條目都屬于該新增條帶中的數(shù)據(jù)塊,執(zhí)行步驟(1.5);
步驟(1.4),判斷要寫的數(shù)據(jù)塊在對應p_blk鏈表中是否存在對應數(shù)據(jù)塊條目,如果有,則將數(shù)據(jù)寫到緩存中C_LBA指向的位置,否則繼續(xù)步驟(1.5);
步驟(1.5),新增一個數(shù)據(jù)塊條目,為數(shù)據(jù)塊在緩存中分配一個位置,并填充數(shù)據(jù)塊中各個域值后插入到對應的p_blk鏈表中;
步驟(1.6),判斷要寫的數(shù)據(jù)塊在地址映射表中是否有對應條目,如果沒有,則在新分配一個物理頁后,在地址映射表中新增一個條目,并填充要寫數(shù)據(jù)塊的邏輯頁號LPN,要寫數(shù)據(jù)塊的物理頁號PPN,邏輯頁對應的校驗信息的物理頁號PPPN,跳轉(zhuǎn)步驟(1.9),如果有對應條目,繼續(xù)步驟(1.7);所述地址映射表用于記錄邏輯頁對應的“無效”數(shù)據(jù)的物理地址;
步驟(1.7),判斷該條目中邏輯頁對應的“無效”數(shù)據(jù)頁的物理頁號Old PPN是否為空,如果為空,則將Old PPN的值設置為PPN的值;
步驟(1.8),為要寫的數(shù)據(jù)塊分配一個物理頁,并修改地址映射表中的PPN;
步驟(1.9),將要寫的數(shù)據(jù)塊寫入到對應的物理頁中。
2.根據(jù)權(quán)利要求1所述的基于固態(tài)盤陣列和緩存的數(shù)據(jù)處理方法,其特征在于,還包括:
當所述緩存失效時,重新計算所述哈希表指向的條帶的校驗信息并在所述芯片中寫入重新計算的校驗信息。
3.根據(jù)權(quán)利要求1所述的基于固態(tài)盤陣列和緩存的數(shù)據(jù)處理方法,其特征在于,所述緩存為非易失內(nèi)存。
4.根據(jù)權(quán)利要求1所述的基于固態(tài)盤陣列和緩存的數(shù)據(jù)處理方法,其特征在于,每個條帶對應一個校驗信息,每個條帶的校驗信息寫入其包括的多個候選寫入數(shù)據(jù)位置中的一個候選寫入數(shù)據(jù)位置。
5.根據(jù)權(quán)利要求1至4任一項所述的基于固態(tài)盤陣列和緩存的數(shù)據(jù)處理方法,其特征在于,所述第一條帶在所述緩存中的包括的數(shù)據(jù)塊最多為:緩存中包括多個條帶的數(shù)據(jù)塊,每個條帶在緩存中包括的數(shù)據(jù)塊的數(shù)目不同,在緩存中包括的數(shù)據(jù)塊的數(shù)目最多的條帶則為第一條帶。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華中科技大學,未經(jīng)華中科技大學許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710604527.9/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





