[發明專利]數據緩存方法及裝置有效
| 申請號: | 202011475299.8 | 申請日: | 2020-12-14 |
| 公開(公告)號: | CN112559388B | 公開(公告)日: | 2022-07-12 |
| 發明(設計)人: | 上官應蘭 | 申請(專利權)人: | 杭州宏杉科技股份有限公司 |
| 主分類號: | G06F12/06 | 分類號: | G06F12/06;G06F12/0877 |
| 代理公司: | 北京博思佳知識產權代理有限公司 11415 | 代理人: | 楊春香 |
| 地址: | 310053 浙江省杭州市濱江*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據 緩存 方法 裝置 | ||
本申請提供一種數據緩存方法及裝置,應用于緩存模塊,該緩存模塊用于對存儲設備包括的緩存進行管理。緩存模塊接收到寫命令時,對寫命令中包括的待寫入數據進行識別,如果該待寫入數據由多個重復數據組成,則僅為其中一份重復數據分配預設大小的緩存空間,該緩存空間大小遠遠小于寫命令對應邏輯空間大小,因此,可有效節約緩存資源,提升緩存利用率,提升存儲設備的整體性能。
技術領域
本申請涉及存儲技術領域,尤其涉及一種數據緩存方法及裝置。
背景技術
為了提升存儲設備的響應速度,通常利用緩存來終結邏輯單元號(英文:LogicalUnit Number,縮寫:LUN)的寫命令。即,在數據寫入緩存后,先向LUN返回執行結果,然后,再根據預設策略將緩存中的數據刷盤到磁盤中。
在向緩存中寫入數據時,通常按照寫命令對應邏輯空間(數據待寫入的邏輯空間)大小分配緩存空間。在一些特殊的應用場景中,比如,銷毀LUN時,一個寫命令中會攜帶多個重復的銷毀數據,如果仍然按照寫命令對應邏輯空間分配緩存空間,則緩存中會存在大量重復數據,導致緩存利用率不高。
發明內容
有鑒于此,本申請提出一種數據緩存方法及裝置,用以提升緩存利用率,提升存儲設備的整體性能。
為實現上述申請目的,本申請提供了如下技術方案:
第一方面,本申請提供一種數據緩存方法,應用于緩存模塊,所述緩存模塊用于對存儲設備包括的緩存進行管理,所述緩存包括第一緩存區和第二緩存區,所述第一緩存區中緩存塊的大小大于所述第二緩存區中緩存塊的大小,同一緩存區中緩存塊的大小相同,每一個緩存塊對應有管理數據,所述管理數據包括緩存塊中用戶數據所屬LUN的標識以及在LUN中對應的地址段,所述方法包括:
接收針對目標LUN的寫命令,所述寫命令包括待寫入數據以及在所述目標LUN中對應的待寫入地址段;
判斷所述第一緩存區中是否存在第一緩存塊,所述第一緩存塊對應地址段與所述待寫入地址段存在重疊;
如果不存在所述第一緩存塊,判斷所述待寫入數據是否由多個相同的目標數據組成;
如果所述待寫入數據由多個相同的目標數據組成,判斷所述第二緩存區中是否存在第二緩存塊,所述第二緩存塊對應地址段與所述待寫入地址段存在重疊;
如果不存在所述第二緩存塊,從所述第二緩存區中為所述目標數據分配第三緩存塊,將所述目標數據寫入所述第三緩存塊,并設置所述第三緩存塊對應地址段為所述待寫入地址段。
可選的,所述方法還包括:
如果存在所述第二緩存塊,判斷所述第二緩存塊中的數據與所述目標數據是否相同;
如果不同,從所述第二緩存區中為所述目標數據分配第三緩存塊,將所述目標數據寫入所述第三緩存塊,并設置所述第三緩存塊對應地址段為所述待寫入地址段;更新所述第二緩存塊對應地址段為第一地址段,所述第一地址段為所述第二緩存塊對應原地址段剔除與所述待寫入地址段重疊的部分;
如果相同,更新所述第二緩存塊對應地址段為第二地址段,所述第二地址段為所述第二緩存塊對應原地址段與所述待寫入地址段的合集。
可選的,所述方法還包括:
如果存在所述第一緩存塊,或者,不存在所述第一緩存塊且所述待寫入數據不是由多個相同的目標數據組成,將所述待寫入數據寫入所述第一緩存區對應緩存塊;
判斷所述第二緩存區中是否存在第二緩存塊;
如果存在第二緩存塊,更新所述第二緩存塊對應地址段為第一地址段,所述第一地址段為所述第二緩存塊對應原地址段剔除與所述待寫入地址段重疊的部分。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州宏杉科技股份有限公司,未經杭州宏杉科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011475299.8/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





