[發明專利]一種應用于固態硬盤的原子寫入方法及裝置有效
| 申請號: | 201910582406.8 | 申請日: | 2019-06-29 |
| 公開(公告)號: | CN110377230B | 公開(公告)日: | 2022-07-22 |
| 發明(設計)人: | 尹作剛 | 申請(專利權)人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 濟南誠智商標專利事務所有限公司 37105 | 代理人: | 李修杰 |
| 地址: | 215100 江蘇省蘇州市吳*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 應用于 固態 硬盤 原子 寫入 方法 裝置 | ||
本發明提供了一種應用于固態硬盤的原子寫入方法及裝置,屬于存儲技術領域。其技術方案為:包括以下步驟:步驟一:SSD前端從主機的塊設備層接收原子寫命令;步驟二:獲取原子寫命令要訪問的邏輯地址;步驟三:對于該邏輯地址對應的前端表項加鎖;步驟四:通知該邏輯地址對應的后端FTL表項進行原子寫請求;步驟五:后端FTL表項進行原子寫判定。本發明的有益效果為:本發明提供一種應用于固態硬盤的原子寫的實現方法,進而保證存儲應用場合中數據的一致性,并且在異常掉電下能有效的保證數據的完整性,從而在不妥協數據的完整性和可靠性的前提下,降低從主機到SSD的延遲,并延長SSD的使用壽命。
技術領域
本發明涉及存儲技術領域,尤其涉及一種應用于固態硬盤的原子寫入方法及裝置。
背景技術
隨著存儲系統的不斷發展,SSD(固態硬盤)已經被廣泛應用于各種場合。SSD在進行數據寫入時需要通過一系列的固件技術保證數據的原子性。但是,當將一個大的IO數據拆分成若干小數據時,有可能會出現數據讀寫錯誤,導致存儲數據不一致;也可能存在異常掉電導致數據的損壞。某些應用程序,如文件系統或者數據庫,對于數據的完整性需求比較高,如果數據生效的順序得不到保障,會導致數據一致性、可靠性發生問題。
發明內容
本發明針對上述存在的問題,為了克服存儲應用場合中數據不一致或者數據不完整的缺陷,本發明提供一種應用于固態硬盤的原子寫入方法及裝置。
本發明是通過如下措施實現的:一種應用于固態硬盤的原子寫的實現方法,其特征在于,包括以下步驟:
步驟一:SSD前端從主機的塊設備層接收原子寫命令;
步驟二:獲取原子寫命令要訪問的邏輯地址;
步驟三:依據原子寫命令要訪問的邏輯地址,對于該邏輯地址對應的前端表項加鎖;
步驟四:通知該邏輯地址對應的后端FTL表項進行原子寫請求;
步驟五:后端FTL表項進行原子寫判定,若出現寫失敗則進行相應的數據回滾操作,不進行落盤操作,并返回前端呈現錯誤狀態,完成此原子寫過程;若后端FTL表項出現成功則返回前端表項進行相應的解鎖,同時返回主機完成整個原子寫過程。
進一步的,所述原子寫命令為IO請求數據。
進一步的,所述邏輯地址為IO邏輯地址。
進一步的,所述加鎖為平衡二叉樹加鎖。
進一步的,所述原子寫判定定義在控制器級別或者Namespace級別,同時滿足NAWUN/NABSN。
一種應用于固態硬盤的原子寫入裝置,包括用戶空間以及內核空間,所述用戶空間包括應用程序,所述內核空間包括文件系統、塊設備層以及SSD固態硬盤,所述內核空間包括前端和后端,所述前端設置有加鎖模塊以及原子寫判定模塊,所述后端設置有寫操作模塊,所述前端從所述塊設備層接收原子寫命令并對原子寫命令進行加鎖,所述后端對原子寫命令進行寫操作后,對原子寫命令進行處理。
本發明的有益效果為:本發明提供一種應用于固態硬盤的原子寫的實現方法,進而保證存儲應用場合中數據的一致性,并且在異常掉電下能有效的保證數據的完整性,從而在不妥協數據的完整性和可靠性的前提下,降低從主機到SSD的延遲,并延長SSD的使用壽命。
附圖說明
圖1為SSD的數據原子寫的實現方法示意圖。
具體實施方式
為能清楚說明本方案的技術特點,下面通過具體實施方式,對本方案進行闡述。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州浪潮智能科技有限公司,未經蘇州浪潮智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910582406.8/2.html,轉載請聲明來源鉆瓜專利網。





