本發(fā)明涉及ssd管理技術(shù),更具體地說是指nvme?ssd多命名空間的管理方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著固態(tài)硬盤(solid?state?drive,簡稱ssd)技術(shù)的不斷發(fā)展,ssd已廣泛應(yīng)用于各類數(shù)據(jù)存儲(chǔ)系統(tǒng)中,其高性能和可靠性使其成為現(xiàn)代數(shù)據(jù)存儲(chǔ)的重要解決方案。ssd內(nèi)部通過復(fù)雜的固件管理機(jī)制來實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)、讀取和擦除等操作,其中,關(guān)于命名空間的管理機(jī)制是ssd固件設(shè)計(jì)中的重要一環(huán)。
2、在ssd中,命名空間是一種邏輯上的數(shù)據(jù)組織單位,用于將ssd的物理存儲(chǔ)空間劃分為多個(gè)獨(dú)立的邏輯存儲(chǔ)區(qū)域。ssd固件通過命名空間管理機(jī)制,實(shí)現(xiàn)了不同命名空間邏輯地址到內(nèi)部存儲(chǔ)地址的映射關(guān)系,從而使得用戶可以按照需求靈活地使用ssd的存儲(chǔ)空間。
3、然而,在實(shí)際應(yīng)用中,用戶可能需要在ssd上動(dòng)態(tài)地執(zhí)行命名空間的分配和刪除操作,以適應(yīng)不同的數(shù)據(jù)存儲(chǔ)需求,這種動(dòng)態(tài)操作會(huì)導(dǎo)致ssd內(nèi)部存儲(chǔ)地址與命名空間邏輯地址映射關(guān)系的碎片化。具體來說,當(dāng)在ssd上頻繁地分配和刪除不同大小范圍的命名空間時(shí),原本連續(xù)的存儲(chǔ)地址空間會(huì)被分割成多個(gè)不連續(xù)的小塊,使得ssd固件需要實(shí)現(xiàn)更加復(fù)雜的映射管理邏輯來維護(hù)這些分散的映射關(guān)系。
4、此外,這種映射關(guān)系的碎片化還會(huì)導(dǎo)致ssd存儲(chǔ)容量使用效率的下降以及讀寫性能的降低。一方面,由于映射關(guān)系的復(fù)雜性增加,ssd固件在執(zhí)行讀寫操作時(shí)需要花費(fèi)更多的時(shí)間和資源來查找正確的存儲(chǔ)地址,從而降低了讀寫速度;另一方面,由于存儲(chǔ)地址空間被分割成多個(gè)小塊,ssd的存儲(chǔ)空間無法得到充分利用,導(dǎo)致存儲(chǔ)容量使用效率低下。
5、特別是在需要?jiǎng)討B(tài)分配、刪除和進(jìn)一步分配具有不同大小的多個(gè)命名空間時(shí),問題尤為突出。例如,當(dāng)已刪除的命名空間小于待創(chuàng)建的命名空間時(shí),新創(chuàng)建的命名空間需要在復(fù)用已回收命名空間邏輯地址資源的基礎(chǔ)上,從未分配的地址區(qū)域分配額外的資源予以補(bǔ)充。這種循環(huán)的命名空間創(chuàng)建與釋放過程會(huì)進(jìn)一步加劇映射關(guān)系的碎片化程度,使得ssd的存儲(chǔ)容量使用率和效率進(jìn)一步降低。
6、因此,如何優(yōu)化ssd固件中關(guān)于命名空間的管理機(jī)制,以減少映射關(guān)系的碎片化程度,提高存儲(chǔ)容量使用效率和讀寫性能,是當(dāng)前ssd技術(shù)領(lǐng)域亟待解決的重要問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供nvme?ssd多命名空間的管理方法、裝置、設(shè)備及介質(zhì)。
2、為了解決上述技術(shù)問題,本發(fā)明采用如下技術(shù)方案:
3、第一方面,提供了nvme?ssd多命名空間的管理方法,包括:
4、獲取主機(jī)下發(fā)的命名空間創(chuàng)建命令;
5、根據(jù)命名空間創(chuàng)建命令從三級(jí)塊資源池申請分配可用的用戶數(shù)據(jù)塊鏈中對應(yīng)數(shù)量的邏輯地址塊,以得到命名空間管理結(jié)構(gòu)體;
6、其中,命名空間管理結(jié)構(gòu)體用于管理各命名空間與塊空間的映射關(guān)系。
7、第二方面,提供了nvme?ssd多命名空間的管理裝置,包括:
8、第一獲取單元,用于獲取主機(jī)下發(fā)的命名空間創(chuàng)建命令;
9、分配單元,用于根據(jù)命名空間創(chuàng)建命令從三級(jí)塊資源池申請分配可用的用戶數(shù)據(jù)塊鏈中對應(yīng)數(shù)量的邏輯地址塊,以得到命名空間管理結(jié)構(gòu)體;
10、其中,命名空間管理結(jié)構(gòu)體用于管理各命名空間與塊空間的映射關(guān)系。
11、第三方面,提供了一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、處理器以及存儲(chǔ)在存儲(chǔ)器中并可在處理器上運(yùn)行的計(jì)算機(jī)程序,處理器執(zhí)行計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述nvme?ssd多命名空間的管理方法的步驟。
12、第四方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述nvme?ssd多命名空間的管理方法的步驟。
13、上述nvme?ssd多命名空間的管理方法,通過引入三級(jí)塊資源池管理機(jī)制,在創(chuàng)建命名空間時(shí),能夠根據(jù)主機(jī)下發(fā)的命名空間創(chuàng)建命令,靈活地從資源池中申請分配對應(yīng)數(shù)量的邏輯地址塊,從而構(gòu)建命名空間管理結(jié)構(gòu)體,這一機(jī)制有效避免了因頻繁創(chuàng)建和刪除命名空間而導(dǎo)致的存儲(chǔ)容量碎片化問題,通過預(yù)先規(guī)劃和動(dòng)態(tài)調(diào)整邏輯地址塊的分配,確保了存儲(chǔ)空間的連續(xù)性和高效利用,顯著提升了ssd的整體存儲(chǔ)容量利用率。
14、下面結(jié)合附圖和具體實(shí)施例對本發(fā)明作進(jìn)一步描述。
1.nvme?ssd多命名空間的管理方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的nvme?ssd多命名空間的管理方法,其特征在于,所述獲取主機(jī)下發(fā)的命名空間創(chuàng)建命令步驟之前,還包括:對nvme?ssd的閃存空間按照不同塊級(jí)劃分塊組管理,以建立得到三級(jí)塊資源池。
3.根據(jù)權(quán)利要求1所述的nvme?ssd多命名空間的管理方法,其特征在于,所述根據(jù)命名空間創(chuàng)建命令從三級(jí)塊資源池申請分配可用的用戶數(shù)據(jù)塊鏈中對應(yīng)數(shù)量的邏輯地址塊,以得到命名空間管理結(jié)構(gòu)體步驟之后,還包括:建立命名空間邏輯扇區(qū)地址到三級(jí)塊資源池的映射表,對于主機(jī)命名空間的順序?qū)懭朊顑?yōu)先分配l1級(jí)塊空間和l2級(jí)塊空間,隨機(jī)寫入命令優(yōu)先分配l3級(jí)塊空間。
4.根據(jù)權(quán)利要求3所述的nvme?ssd多命名空間的管理方法,其特征在于,所述建立命名空間邏輯扇區(qū)地址到三級(jí)塊資源池的映射表步驟之后,還包括:
5.nvme?ssd多命名空間的管理裝置,其特征在于,包括:
6.根據(jù)權(quán)利要求5所述的nvme?ssd多命名空間的管理裝置,其特征在于,所述裝置還包括:劃分建立單元,用于對nvme?ssd的閃存空間按照不同塊級(jí)劃分塊組管理,以建立得到三級(jí)塊資源池。
7.根據(jù)權(quán)利要求5所述的nvme?ssd多命名空間的管理裝置,其特征在于,所述裝置還包括:建立分配單元,用于建立命名空間邏輯扇區(qū)地址到三級(jí)塊資源池的映射表,對于主機(jī)命名空間的順序?qū)懭朊顑?yōu)先分配l1級(jí)塊空間和l2級(jí)塊空間,隨機(jī)寫入命令優(yōu)先分配l3級(jí)塊空間。
8.根據(jù)權(quán)利要求7所述的nvme?ssd多命名空間的管理裝置,其特征在于,所述裝置還包括:
9.一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、處理器以及存儲(chǔ)在所述存儲(chǔ)器中并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如權(quán)利要求1至4任一項(xiàng)所述nvme?ssd多命名空間的管理方法的步驟。
10.一種存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至4任一項(xiàng)所述nvme?ssd多命名空間的管理方法的步驟。