[發明專利]一種NVMe擴展的實現方法及固態硬盤有效
| 申請號: | 201810258978.6 | 申請日: | 2018-03-27 |
| 公開(公告)號: | CN108549610B | 公開(公告)日: | 2021-02-23 |
| 發明(設計)人: | 徐偉華;王猛;韓道靜;張健 | 申請(專利權)人: | 深圳憶聯信息系統有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02;G06F3/06 |
| 代理公司: | 廣東廣和律師事務所 44298 | 代理人: | 董紅海 |
| 地址: | 518057 廣東省深圳市南山區*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 nvme 擴展 實現 方法 固態 硬盤 | ||
1.一種NVMe擴展的實現方法,其特征在于SSD接收到主機端讀命令后,按照該命令的邏輯空間查詢SSD內部的無映射管理表,判斷該命令是否為無映射命令,如果是則直接將完成隊列條目中用于標識是否為無映射的映射狀態位設置為1,并直接結束該命令,并返回主機;否則根據該命令的邏輯空間地址讀取數據,讀完成后,將映射狀態位設置為0,再返回主機;主機接收到完成隊列條目后先判讀映射狀態位是否為1,如果是則直接由主機端將該命令對應的緩存置0后返回應用或直接返回應用;將NVMe標準協議的完成隊列條目的狀態字的bit28作為映射狀態位;判斷該命令是否為無映射命令,增加無映射檢查模塊,SSD的前端模塊中的命令接收模塊負責命令解析和邏輯地址空間提取,完成后將命令提交給無映射檢查模塊,所述無映射檢查模塊根據主機提交的讀命令的邏輯地址空間判斷當前讀取的空間是否屬于無映射no-map,如果屬于則直接構建狀態字Bit 28為1的條目到完成隊列中,而不需要進行數據傳輸;包括no-map加速模塊和no-map映射表,所述no-map映射表記錄了當前固態硬盤中處于no-map的地址信息,所述no-map映射表維護兩種顆粒度的兩級映射表,所述無映射檢查模塊根據主機提交的讀命令的邏輯地址空間查找no-map映射表,判斷該讀命令上的地址空間是否都為無映射狀態,如果是則直接提交給no-map加速模塊,no-map加速模塊直接構建狀態字Bit 28為1的條目到完成隊列中,而不需要進行數據傳輸;所述無映射檢查模塊根據主機提交的讀命令的邏輯地址空間判斷當前讀取的空間存在非無映射no-map時,將該讀命令提交讀寫緩沖區管理模塊,讀寫緩沖區管理模塊按照LPA映射顆粒度(4KB)切分成連續的控制請求,提交到映射表管理模塊;映射表管理模塊,對于每個4KB的控制請求,分別查詢邏輯物理映射表;如果為no-map的,則標志該4KB為no-map,后端模塊獲取到該命令一系列的4KB讀控制請求后,查詢其狀態標志,如果是no-map的,則不再往后繼模塊提交NAND讀寫請求,而是直接提交到no-map加速模塊,no-map加速模塊的no-map數據傳輸模塊直接構建NVMe傳輸命令,將預先格式化好的數據發送給主機。
2.一種固態硬盤,其特征在于主機和SSD控制器之間通過NVMe協議進行通信,SSD接收到主機端讀命令后,按照該命令的邏輯空間查詢SSD內部的無映射管理表,判斷該命令是否為無映射命令,如果是則直接將完成隊列條目中用于標識是否為無映射的映射狀態位設置為1,并直接結束該命令,并返回主機;否則根據該命令的邏輯空間地址讀取數據,讀完成后,將映射狀態位設置為0,再返回主機;主機接收到完成隊列條目后先判讀映射狀態位是否為1,如果是則直接由主機端將該命令對應的緩存置0后返回應用或直接返回應用;將NVMe標準協議的完成隊列條目的狀態字的bit 28作為映射狀態位;判斷該命令是否為無映射命令,增加無映射檢查模塊,SSD的前端模塊中的命令接收模塊負責命令解析和邏輯地址空間提取,完成后將命令提交給無映射檢查模塊,所述無映射檢查模塊根據主機提交的讀命令的邏輯地址空間判斷當前讀取的空間是否屬于無映射no-map,如果屬于則直接構建狀態字Bit 28為1的條目到完成隊列中,而不需要進行數據傳輸;包括no-map加速模塊和no-map映射表,所述no-map映射表記錄了當前固態硬盤中處于no-map的地址信息,所述no-map映射表維護兩種顆粒度的兩級映射表,所述無映射檢查模塊根據主機提交的讀命令的邏輯地址空間查找no-map映射表,判斷該讀命令上的地址空間是否都為無映射狀態,如果是則直接提交給no-map加速模塊,no-map加速模塊直接構建狀態字Bit 28為1的條目到完成隊列中,而不需要進行數據傳輸;所述無映射檢查模塊根據主機提交的讀命令的邏輯地址空間判斷當前讀取的空間存在非無映射no-map時,將該讀命令提交讀寫緩沖區管理模塊,讀寫緩沖區管理模塊按照LPA映射顆粒度(4KB)切分成連續的控制請求,提交到映射表管理模塊;映射表管理模塊,對于每個4KB的控制請求,分別查詢邏輯物理映射表;如果為no-map的,則標志該4KB為no-map,后端模塊獲取到該命令一系列的4KB讀控制請求后,查詢其狀態標志,如果是no-map的,則不再往后繼模塊提交NAND讀寫請求,而是直接提交到no-map加速模塊,no-map加速模塊的no-map數據傳輸模塊直接構建NVMe傳輸命令,將預先格式化好的數據發送給主機。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳憶聯信息系統有限公司,未經深圳憶聯信息系統有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810258978.6/1.html,轉載請聲明來源鉆瓜專利網。





