[發明專利]向緩存寫入數據的方法及裝置有效
| 申請號: | 201510568241.0 | 申請日: | 2015-09-08 |
| 公開(公告)號: | CN105117351B | 公開(公告)日: | 2018-07-03 |
| 發明(設計)人: | 黃福堂 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F12/0802 | 分類號: | G06F12/0802 |
| 代理公司: | 深圳市深佳知識產權代理事務所(普通合伙) 44285 | 代理人: | 王仲凱 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 元數據 寫入 待寫入數據 緩存 寫入數據 元數據塊 元數據組 隊列 全局 | ||
1.一種向緩存Cache中寫入數據的方法,其特征在于,所述Cache的閃存Flash的存儲區域包括多個存儲塊chunk,一個所述chunk包括一個chunk元數據區和一個chunk數據區,所述一個chunk元數據區包括至少一個元數據塊,所述一個chunk數據區包括與所述至少一個元數據塊對應的至少一個數據區,所述元數據塊包括多個元數據,所述數據區包括多個數據塊,所述元數據塊與所述數據區一一對應,所述元數據與所述數據塊一一對應,所述方法包括:
接收寫入IO請求命令,所述寫入IO請求命令包括待寫入數據的元數據;
在全局的伙伴隊列中獲取當前正在處理的伙伴組為第一伙伴組,每個伙伴組包含內存中的多個緩存塊,每個伙伴組屬于一個元數據組,一個所述元數據組對應一個所述元數據塊;
判斷所述第一伙伴組中是否有剩余緩存塊且剩余緩存塊能夠寫入所述待寫入數據的全部元數據;
當所述第一伙伴組中有剩余緩存塊且剩余緩存塊能夠寫入所述待寫入數據的全部元數據時,向所述第一伙伴組的剩余緩存塊中寫入所述待寫入數據的全部元數據,并向與所述第一伙伴組所屬的元數據組對應的元數據塊中寫入所述待寫入數據的全部元數據。
2.根據權利要求1所述的方法,其特征在于,當所述第一伙伴組中沒有剩余緩存塊或剩余緩存塊不能夠寫入所述待寫入數據的全部元數據時,則判斷所述第一伙伴組所屬的元數據組的伙伴隊列中是否有剩余緩存塊能夠寫入所述待寫入數據的全部元數據的第二伙伴組,若有,則在所述第一伙伴組所屬的元數據組的伙伴隊列中獲取所述第二伙伴組,向所述第二伙伴組的剩余緩存塊中寫入所述待寫入數據的全部元數據,并向與所述第二伙伴組所屬的元數據組對應的元數據塊中寫入所述待寫入數據的全部元數據,所述全局的伙伴隊列中包括所有元數據組的伙伴隊列中包括的伙伴組。
3.根據權利要求2所述的方法,其特征在于,當所述第一伙伴組所屬的元數據組的伙伴隊列中沒有剩余緩存塊能夠寫入所述待寫入數據的全部元數據的第二伙伴組時,則判斷所述全局的伙伴隊列中是否有剩余緩存塊能夠寫入所述待寫入數據的全部元數據的第三伙伴組,若有,則在所述全局的伙伴隊列中獲取所述第三伙伴組,向所述第三伙伴組的剩余緩存塊中寫入所述待寫入數據的全部元數據,并向與所述第三伙伴組所屬的元數據組對應的元數據塊中寫入所述待寫入數據的全部元數據。
4.根據權利要求3所述的方法,其特征在于,當所述全局的伙伴隊列中沒有剩余緩存塊能夠寫入所述待寫入數據的全部元數據的第三伙伴組時,則判斷全局的單緩存隊列中是否有足夠數量的剩余緩存塊能夠寫入所述待寫入數據的全部元數據,若有,則在所述全局的單緩存隊列中獲取能夠寫入所述待寫入數據的全部元數據的剩余緩存塊,向所獲取的所述全局的單緩存隊列中的剩余緩存塊中寫入所述待寫入數據的全部元數據,并將所述待寫入數據的全部元數據對應寫入與所述全局的單緩存隊列中的剩余緩存塊所屬的元數據組對應的元數據塊中,所述全局的單緩存隊列中包含所有元數據組的單緩存隊列中中包含的不能與其他緩存塊組成伙伴組的單個緩存塊。
5.根據權利要求1所述的方法,其特征在于,每個伙伴組中包含的緩存塊是按地址連續排列的。
6.根據權利要求1所述的方法,其特征在于,每個伙伴組中包含的剩余緩存塊的個數被同時記錄在所述全局的伙伴隊列及所述元數據組的伙伴隊列中,所述全局的伙伴隊列及所述元數據組的伙伴隊列中各隊列記錄的伙伴組包含的剩余緩存塊的個數是不同的。
7.根據權利要求1至6任一所述的方法,其特征在于,在所述接收寫入IO請求命令之后,在所述全局的伙伴隊列中獲取當前正在處理的伙伴組為第一伙伴組之前,所述方法還包括:
根據所述數據塊的大小,判斷是否需要對所述寫入IO請求命令進行拆分;
若需要進行拆分,則根據所述數據塊的大小,對所述寫入IO請求命令進行拆分,得到多個第一寫入IO請求命令;
對所述多個第一寫入IO請求命令,分別判斷各個第一寫入IO請求命令中包括的待寫入數據的元數據是否已緩存在所述內存中,如果是,則直接進行寫操作,如果否,則執行在所述全局的伙伴隊列中獲取當前正在處理的伙伴組為第一伙伴組的步驟。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510568241.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:分享網頁鏈接的方法、電子設備及系統
- 下一篇:一種制備羥基酯工藝改進系統





