[發明專利]一種處理多命名空間LBA的方法及裝置在審
| 申請號: | 201710656115.X | 申請日: | 2017-08-03 |
| 公開(公告)號: | CN107391394A | 公開(公告)日: | 2017-11-24 |
| 發明(設計)人: | 劉子明 | 申請(專利權)人: | 鄭州云海信息技術有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02;G06F3/06 |
| 代理公司: | 北京集佳知識產權代理有限公司11227 | 代理人: | 羅滿 |
| 地址: | 450018 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 處理 命名 空間 lba 方法 裝置 | ||
技術領域
本發明涉及數據處理技術領域,更具體地說,涉及一種處理多命名空間LBA的方法及裝置。
背景技術
對于一個企業而言,可能會有大量的不同種類的數據,因而其存儲設備(例如固態硬盤)的容量會很大,為了提高不同種類數據間的安全性和獨立性,通常需要把不同類型的數據放在相對獨立的邏輯空間內。在對存儲設備的邏輯空間劃分的時候,引入命名空間(namespace)這一概念,每個命名空間由若干段獨立的LBA(Logical Block Address,邏輯塊地址)組成。
當主機下發I/O(I/O,Input/Output,輸入/輸出)指令時,需要把主機指令對應的主機LBA轉化成命令空間中的固件LBA,以便實現主機對固態硬盤的IO操作。現有的固態硬盤可以支持多命名空間,由于存在用戶反復創建、刪除或合并命名空間的可能,固件LBA可能會出現碎片化,即整個命名空間中的LBA可能會不連續,因此將指令對應的主機LBA轉換成命名空間中的固件LBA就十分困難。
綜上所述,如何提供一種簡單易行的將主機LBA轉換成命名空間中的固件LBA的方法,是目前本領域技術人員亟待解決的問題。
發明內容
本發明的目的是提供一種處理多命名空間LBA的方法及裝置,使得將主機LBA轉換為固件LBA的過程簡單,便于主機定位到固件LBA后執行指令。
為了實現上述目的,本發明提供如下技術方案:
一種處理多命名空間LBA的方法,包括:
接收主機發送的指令,所述指令指定多個命名空間中的一個命名空間,每個所述命名空間中包括多個固件LBA段,每個所述固件LBA段具有對應的段號,且每個所述固件LBA段包括多個固件LBA;
計算所述指令對應的主機LBA在所述指令指定的命名空間中對應的固件LBA段的段號,在該段號對應的固件LBA段中確定出所述主機LBA對應的固件LBA的位置,以供主機基于該位置對應的固件LBA執行所述指令。
優選的,計算所述指令對應的主機LBA在所述指令指定的命名空間中對應的固件LBA段的段號及對應的固件LBA的位置,包括:
如果所述指令指定的命名空間中每個所述固件LBA段包含的固件LBA數量相等,將所述主機LBA作為被除數,每個所述固件LBA段中包含的固件LBA的個數作為除數,得到對應的整數商和余數,確定所述整數商為所述主機LBA在所述指令指定命名空間中對應的固件LBA段的段號,確定所述余數為所述主機LBA在所述指令指定命名空間中對應的固件LBA的位置。
優選的,確定所述余數為所述主機LBA在所述指令指定命名空間中對應的固件LBA的位置后,還包括:
如果所述指令指定的命名空間中的固件LBA是連續的,確定所述主機LBA對應的段號對應的固件LBA段的首地址,確定表示所述主機LBA對應的固件LBA位置的所述余數與所述首地址的和為與所述主機LBA對應的固件LBA,并將該固件LBA返回給所述主機。
優選的,所述確定所述主機LBA對應的段號對應的固件LBA段的首地址,包括:
按照下列公式確定與所述主機LBA對應的段號對應的固件LBA段的所述首地址:
所述主機LBA對應的固件LBA端的首地址=所述主機LBA對應的段號×所述指令指定的命名空間中每個所述固件LBA段包含的固件LBA的個數。
優選的,在接收主機發送的指令之后,計算所述指令對應的主機LBA在所述指令指定的命名空間中對應的固件LBA段的段號之前,還包括:
判斷所述主機LBA是否大于所述指令指定的命名空間中固件LBA的總個數,如果判斷結果為否,則執行所述計算所述指令對應的主機LBA在所述指令指定的命名空間中對應的固件LBA段的段號的步驟;如果判斷結果為是,則向主機返回主機LBA錯誤的提示消息。
一種處理多命名空間LBA的裝置,包括:
接收單元,用于:接收主機發送的指令,所述指令指定多個命名空間中的一個命名空間,每個所述命名空間中包括多個固件LBA段,每個所述固件LBA段具有對應的段號,且每個所述固件LBA段包括多個固件LBA;
計算單元,用于:計算所述指令對應的主機LBA在所述指令指定的命名空間中對應的固件LBA段的段號,在該段號對應的固件LBA段中確定出所述主機LBA對應的固件LBA的位置,以供主機基于該位置對應的固件LBA執行所述指令。
優選的,所述計算單元包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州云海信息技術有限公司,未經鄭州云海信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710656115.X/2.html,轉載請聲明來源鉆瓜專利網。





