[發明專利]一種基于非易失內存的日志文件系統的小寫優化方法有效
| 申請號: | 201711149326.0 | 申請日: | 2017-11-18 |
| 公開(公告)號: | CN107784121B | 公開(公告)日: | 2020-04-24 |
| 發明(設計)人: | 肖儂;李陽;劉芳 | 申請(專利權)人: | 中國人民解放軍國防科技大學 |
| 主分類號: | G06F16/18 | 分類號: | G06F16/18;G06F16/13;G06F16/17;G06F16/14 |
| 代理公司: | 湖南省國防科技工業局專利中心 43102 | 代理人: | 馮青 |
| 地址: | 410073 *** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 非易失 內存 日志 文件系統 小寫 優化 方法 | ||
1.一種基于非易失內存的日志文件系統的小寫優化方法,其特征在于,將NVM與DRAM連接到CPU內存總線上,對小數據更新使用原地寫從而最小化內存占用,利用小數據日志對要更新的數據進行細粒度的備份,記錄下文件最新的所要更改的數據信息;通過一個循環緩沖區,存放全局哈希表,記錄下每個更新數據頁的起始地址,用于下一次原地寫更新時對這個數據頁的快速索引;數據寫入完成后,通過更新元數據指向數據塊的指針,更新日志尾對這次寫進行提交,作為此次操作完成的標記;具體包括以下步驟:
第一步,系統將NVM與DRAM并列,直接連接到CPU內存總線上,CPU使用載入和存儲來訪問NVM,使得NVM存在于內存層次而不是塊設備層次;
第二步,系統將數據和元數據分別以鏈表結構存放于NVM,每個索引節點使用單獨的日志以支持并發訪問,將元數據索引以Radix樹形式存放于DRAM支持快速查找,數據基于頁分配,默認一個數據頁的大小為4096字節;
第三步,當數據有更新操作時,首先計算此次更新所涉及的數據頁數量,當更新大于日志文件系統的一個數據頁大小時,直接跳到第七步;
第四步,當更新小于一個數據頁大小時,先將元數據記錄添加到日志,在DRAM中,有一個可循環寫入的全局哈希表,當首次寫單個數據頁時,分配一個新的頁,在哈希表中記錄數據頁的塊號和起始地址,當下一次再寫此數據頁時通過哈希表快速索引到數據頁的起始地址;
第五步,先對要更新的數據進行細粒度的備份,如果是首次寫,即通過塊號無法在哈希表中查到數據頁起始地址,則先將原始數據復制到新頁,再寫入更新數據;若哈希表中直接索引到數據頁起始地址,則將文件最新的所要更改的數據信息記錄到小數據日志備份,然后對數據頁進行原地的寫更新;
第六步,更新結束后,更新元數據指向數據塊的指針,更新日志尾對這次寫進行提交,表示此次更新完成,最后更新元數據索引的指針;
第七步,對于多個數據頁的寫更新,先在新分配的空間寫入更改部分的數據,再把未更改的原數據復制到新的頁面,數據寫入結束后,我們更新元數據并將相應的日志條目指向新頁面,更新日志尾進行提交,表示此次更新的完成,最后更新元數據索引的指針。
2.根據權利要求1所述的一種基于非易失內存的日志文件系統的小寫優化方法,其特征在于,在所述的第二步,其具體為:
對于元數據來說,選用的日志結構的文件系統使用日志來記錄元數據的每一次操作,元數據的每次更新都會添加一個日志條目,在更新之后我們通過改變日志尾到最新的日志條目來提交更新。
3.根據權利要求1所述的一種基于非易失內存的日志文件系統的小寫優化方法,其特征在于,所述的第四步:
當判斷更新在一個數據頁大小之內時,先將元數據記錄添加到日志,在DRAM中,有一個可循環寫入的全局哈希表,利用有限空間存儲最近更新的數據頁起始地址,當此數據頁為首次更新時,分配一個新的頁,在哈希表中記錄數據頁的塊號和起始地址,當下一次再寫此頁時通過哈希表快速索引到其起始地址。
4.根據權利要求1所述的一種基于非易失內存的日志文件系統的小寫優化方法,其特征在于,在所述的第五步、第六步過程中,還包括:
在寫數據之前,每一個索引節點都會有最新更新的數據記錄,其中包括更改數據的頁內偏移量和長度記錄,對于哈希表中找到的數據頁,分配一個固定的小數據日志對每次的更新數據記錄進行細粒度的備份,使用clflush指令和內存屏障mfence來將數據從CPU緩存刷出進行持久化,然后再對數據頁進行原地的寫更新,在系統崩潰或斷電后,讀取小數據日志中的數據進行重做,從而完成未提交的操作。
5.根據權利要求1所述的一種基于非易失內存的日志文件系統的小寫優化方法,其特征在于,在所述的第七步,其具體為:
當判斷數據更新涉及多個頁,在新分配的空間寫入更改部分的數據,再把未更改的原數據復制到新的頁面,更新元數據以及日志條目指向新頁面的指針,更新日志尾進行此次更新的提交,保證系統一旦在更新期間崩潰,只要元數據日志尾沒有提交,仍然可根據舊的元數據找到原先的數據頁。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國人民解放軍國防科技大學,未經中國人民解放軍國防科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711149326.0/1.html,轉載請聲明來源鉆瓜專利網。





